{"version":3,"file":"script_main._G08AZ2n.mjs","names":["clamp","t","e","i","damp","lerp","s","r","l","h","c","u","d","p","g","w","S","o","n","a","useRef","i","e","fonts","css","className","fonts","css","className","mask","SVG","getProps","Icon","className","mask","SVG","getProps","Icon","className","mask","SVG","getProps","Icon","className","Button","GitHubFonts","GitHub","serializationHash","variantClassNames","matchVariant","t","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","React.useRef","className","SVG","Menu","Close","RichText","_Fragment","ArrowRight","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","e","t","r","An","i","Ln","Cn","Rn","s","l","c","u","h","d","p","f","a","Yn","fi","n","ii","si","ai","ti","ni","ri","oi","li","ci","pi","ui","hi","di","g","y","oe","$a","o","x","b","_","se","ae","ie","to","io","eo","ro","no","ao","Xt","Ne","Le","_o","Mo","To","So","wo","yo","xo","bo","vo","Eo","Jt","K","$","ee","te","Lo","Qa","Ro","Co","le","X","Y","Z","Ve","En","M","w","S","Me","m","T","E","A","L","C","R","P","I","Kt","Qt","mi","Ka","Zt","Do","Bo","ye","de","G","F","O","k","W","j","q","J","Q","ne","re","ce","ue","he","pe","fe","me","ge","ve","z","N","U","V","be","Ce","Ae","De","Ge","Te","Fe","Re","Pe","Ie","we","Se","Ee","Be","Ue","ze","Oe","He","ke","We","je","qe","Xe","Je","Ye","Ze","Qe","Ke","$e","et","tt","nt","rt","it","at","ct","ut","ht","dt","pt","ft","mt","gt","yt","xt","bt","_t","Mt","wt","St","Tt","Et","At","Ct","Rt","Pt","It","vt","D","B","H","xe","_e","Oo","Ho","ko","yl","Dt","Bt","Vt","Nt","Ut","zt","Gt","Ft","Ht","kt","Wt","Yt","en","mn","gn","yn","Pn","Dn","Bn","Nn","Vn","zn","Gn","qn","On","Fn","Hn","kn","Wn","jn","Xn","Jn","Un","Zn","Qn","Kn","$n","er","tr","nr","rr","ir","sr","ar","or","cr","ur","pr","hr","dr","lr","fr","mr","gr","yr","vr","xr","br","_r","Mr","wr","Sr","Tr","Er","Ar","Lr","Cr","Rr","Pr","Ir","Dr","Br","Vr","Nr","Ur","zr","Gr","Fr","Or","Hr","kr","Wr","jr","qr","Xr","Jr","Yr","Zr","Qr","Kr","$r","ei","gi","yi","vi","xi","bi","_i","Mi","wi","Si","so","oo","lo","co","uo","ho","po","fo","mo","go","Ao","Po","Io","Vo","No","zo","Go","Fo","Wo","jo","qo","Xo","Jo","Yo","Uo","Zo","Qo","Ko","$o","el","tl","nl","rl","il","sl","al","ol","ll","cl","ul","hl","dl","pl","fl","ml","gl","vl","xl","bl","_l","Ml","wl","Sl","Tl","El","Al","Ll","Cl","Rl","Pl","Il","Dl","Bl","Vl","Nl","Ul","zl","Gl","Fl","Ol","Hl","Xl","ql","Jl","Yl","Zl","Ql","Kl","$l","ec","tc","nc","rc","ic","sc","ac","oc","lc","cc","uc","hc","dc","pc","fc","mc","gc","vc","xc","_c","Mc","Sc","Tc","Ec","Ac","Lc","Cc","Rc","Pc","Bc","Vc","Bu","t","h","an","Na","ze","ac","e","X","Va","Ea","i","V","ha","s","Ou","Eu","Vu","qu","Ze","Gu","Hu","r","l","c","u","d","p","f","Ra","Wa","qn","Xn","tr","rd","St","fe","_s","cd","zs","pe","De","Ds","mn","pr","Ih","cc","g","y","oo","x","b","w","dc","Uh","ca","fc","ua","nc","Fi","ki","Be","ia","mc","rt","wa","_a","va","tf","af","hf","sa","lf","uf","pf","yf","xf","Nn","Sc","Cc","Bc","Oc","Ec","Nc","Dc","sc","qc","Jc","Gc","Hc","$c","jc","Qc","tu","eu","su","ru","au","lu","cu","mu","gu","Au","zu","nn","aa","If","Oi","Bf","Rf","ei","Ef","Nf","Vf","Df","Lf","Hf","$f","jf","Kf","ee","_","A","Wn","Bt","ii","$u","me","ju","Jn","S","qa","Qu","zt","T","I","F","O","D","H","L","et","ot","Lt","it","at","st","Ga","td","ni","id","Za","Ya","ja","ri","Gn","Y","nd","hc","Me","yt","he","Hn","oi","Ka","Yn","jn","li","_e","Re","ih","Er","oh","hd","ir","ui","Ui","Ms","ah","sr","ue","nr","rr","or","ch","Ee","Ts","ar","Fs","fh","mh","hr","lr","dd","$e","Ur","cr","fd","Ie","qr","Mh","Jr","Vs","xe","Sh","Th","Zr","Ch","Ph","$r","Ut","Ot","ti","jr","xn","je","Kr","fr","io","wn","so","Mn","An","z","B","P","E","R","Z","J","Q","K","lt","It","Pe","Ct","ma","ga","bc","wc","ne","gc","yc","fa","re","oe","xc","co","Tn","po","fo","go","bo","vo","Fo","Fn","Rt","Pi","ye","de","Ri","Zs","tl","el","Lo","qo","Jo","Xo","On","Yo","$o","En","hl","bi","Ue","Mr","dl","Je","fl","Ko","da","$","wl","Ml","Sl","Tl","Il","Cl","Fl","wi","Rl","Ol","js","Nl","Dl","Ll","Wl","Xl","Yl","Ql","Kl","Kr","e","t","i","l","u","Bt","tr","C","R","k","U","p","E","D","G","c","s","h","M","A","_","I","d","y","H","Rn","vn","wt","Ct","An","Kt","vc","It","bn","Dt","Sc","Vt","Fe","Ue","je","Oe","mt","At","pt","mn","Qt","Yr","rn","Cr","Bn","Gn","Hn","Vn","_c","Mn","cn","Jt","vt","Gt","Ut","Pr","gn","bt","ii","la","St","Qe","He","Cc","Or","Fr","yr","Nr","Ir","wr","Dr","qr","ma","qn","fn","Zr","Ur","$r","ha","Qr","Lr","fr","Mf","_n","If","Sn","on","yf","Of","Gf","va","ga","_a","an","Wn","ti","Xr","Ar","Eo","ht","T","B","xo","$","Y","ce","K","On","N","te","F","O","we","Me","be","Zt","en","dn","Wt","Te","Rt","Q","de","ve","et","Ne","ke","Je","Ie","lt","tt","_t","S","ct","ye","qe","ae","it","f","r","Ae","xe","Mo","Ve","Ye","Jr","Tt","_t","t","e","r","i","s","si","rn","sn","ai","Yr","l","c","f","u","h","d","p","E","x","U","D","ci","_c","ue","N","G","H","B","te","re","_","Z","M","be","tt","C","Ti","pi","Nt","Mt","Gt","xi","Ai","gi","Di","mi","Ei","Ii","Le","Mi","Bi","Si","Ht","Ci","kt","yi","ie","Ft","ve","hi","fi","vi","di","Ot","Lt","Li","Vt","Oe","Fe","Gi","Ni","Hi","st","zi","_i","Bs","Qt","Ps","ys","Rs","Is","Ls","Us","bs","nt","Ss","ws","Cs","ks","Xt","Ne","Hs","Gs","Ns","ot","Ks","Xs","Ge","Ys","Ws","Qs","ta","Zt","ra","ea","oa","He","la","na","$s","qs","Js","Kt","Yt","Os","Wt","ke","jt","pa","Aa","xa","Ta","Da","Jt","Ca","ya","se","Ua","Pa","Ga","Oa","j","La","ba","Fa","ka","lt","Ha","za","Qa","Ma","pe","Ia","Sa","Ba","ge","qt","Xa","Ja","tn","ne","ae","$t","$a","en","pn","J","gn","ct","dn","cn","fn","un","hn","er","ln","vn","on","Ve","rr","ir","sr","Dn","vf","ut","Qe","Bn","Cn","Sn","ni","Un","qe","bn","q","dt","We","ht","lr","ur","cr","Ln","Rn","yn","Ae","or","In","Pn","ft","ar","nr","ye","Qn","vt","_n","vr","Vn","Zn","pr","gr","Kn","eo","to","ro","mr","$n","Q","Ye","dr","kn","zn","Ar","no","ao","k","lo","xr","uo","bt","W","ho","Uo","Xe","Ro","Io","Cr","wr","Mo","To","wo","Po","Bo","So","Co","yo","Ao","Eo","Dr","Do","xo","mo","Tr","gt","pt","Qo","Wo","Vo","Ke","_o","zo","jo","Ir","Te","Zo","Pt","Ho","ko","No","Go","Mr","Br","Sr","Oo","ul","b","Pr","le","ll","ol","cl","xl","mt","El","Al","ml","pl","yr","gl","vl","oe","nl","al","sl","il","rl","At","Bl","bl","Et","yl","Ul","xt","br","Pl","Rr","Vl","Ce","_l","zl","Lr","we","kl","Gl","Hl","Fr","jl","Or","Zl","ql","Nr","Jl","Gr","$l","ec","ic","ce","Hr","tc","rc","cc","kr","uc","lc","oc","Ac","mc","Y","zr","gc","vc","pc","wc","Se","_r","Tc","Vr","Mc","Ic","Dt","Wr","Fc","Lc","bc","Qr","Rc","Uc","zc","Vc","Yc","Wc","wt","Kc","Xc","Zc","Xr","iu","useRef","THREE.WebGLRenderer","THREE.Vector2","THREE.Color","THREE.Scene","THREE.OrthographicCamera","THREE.ShaderMaterial","THREE.GLSL3","THREE.PlaneGeometry","THREE.Mesh","THREE.Clock","w","h","ro","io","EffectComposer","RenderPass","EffectPass","Effect","THREE.Uniform","e","now","p","u","t","i","c","THREE.Texture","THREE.LinearFilter","dd","d","f","useState","css","mask","SVG","getProps","Icon","className","mask","SVG","getProps","Icon","className","getProps","className","SmoothScroll","Nav","ListBox","GitHub","Linkedin","X","isBrowser","sharedStyle.css","sharedStyle1.css","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","PropertyOverrides","Image1","RichText","React.Fragment","sharedStyle.fonts","sharedStyle1.fonts","React.createElement","Template1","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","e","routeData","Framer.inferInitialRouteFromPath","id","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/ga.jspm.io/npm:lenis@1.1.2/dist/lenis.mjs","https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/PGrowqBrgWCViHduGfsA/SmoothScroll_Prod.js","https:/framerusercontent.com/modules/4YY1JaYUGEg9sQIN1jE4/PxAGuRqprUXl0sWdmkJC/I_GA9EMpu.js","https:/framerusercontent.com/modules/Flhxm7ox6VZ5fwr3vrlI/P9DcXkJN1hJYrlYXYBHm/UQ9EnUTON.js","https:/framerusercontent.com/modules/7N91vurwXEUR4r6tolTX/R0Eif5ob1bvt1Xd21NjT/jFNZf2m0W.js","https:/framerusercontent.com/modules/zJZGSaE47MPnr2aIqQ3Z/l9ng0r2pH5eS8TyS1f4L/xlAlSL3nr.js","https:/framerusercontent.com/modules/h6wtRFHMXuVxq3nOz8wS/NyDYxpyBPjHH9mE1ryes/YelqZriZe.js","https:/framerusercontent.com/modules/ylhmiYyEjlXdTFy5UHUe/C2rf3OHfYlpf8cDopY9b/mFuTTjBwU.js","https:/ga.jspm.io/npm:three@0.136.0/build/three.module.js","https:/esm.sh/three@0.184.0/es2022/build/three.core.mjs","https:/esm.sh/three@0.184.0/es2022/three.mjs","https:/esm.sh/three@%3E=%200.168.0%20%3C%200.185.0?target=es2022","https:/esm.sh/postprocessing@6.39.1/es2022/postprocessing.mjs","https:/esm.sh/postprocessing","https:/framerusercontent.com/modules/zqTT6Nb4vQdAzYIDfXiR/IYVL0TJEG5mGtuLVgNee/Tadata_PixelBlast.js","https:/framerusercontent.com/modules/wobWBfwNvzpeRlPAdDyn/Z5dnlcaLSRwLL2NvuqzD/CopyrightLabel_2.js","https:/framerusercontent.com/modules/wVEoZEExb3fhoej9evCA/dWPXHXkgKU1CZp6BGkba/nF1Yf2A49.js","https:/framerusercontent.com/modules/wtLN4h1iIQ0qTEoN3cnB/wqHJrO6Y7fRIVB6L3v92/BcNOLBYGv.js","https:/framerusercontent.com/modules/DZs1ZGnalvPgIWKaJ0GY/zptwancDSAXECkVDASlN/jYygt77pV.js","https:/framerusercontent.com/modules/FuMjLcvst0wl4q7jNsbu/iMiggSF69aDBSZ0haN0e/Lg3EUEYSK.js","https:/framerusercontent.com/modules/9mbvjVpyVaLiXUcqaWJC/PC9fpFtxAUmbtnFDxtpC/RcZaq01gc.js","framer:toplevel/main"],"sourcesContent":["function clamp(t,e,i){return Math.max(t,Math.min(e,i))}class Animate{advance(t){if(!this.isRunning)return;let e=!1;if(this.lerp)this.value=function damp(t,e,i,s){return function lerp(t,e,i){return(1-i)*t+i*e}(t,e,1-Math.exp(-i*s))}(this.value,this.to,60*this.lerp,t),Math.round(this.value)===this.to&&(this.value=this.to,e=!0);else{this.currentTime+=t;const i=clamp(0,this.currentTime/this.duration,1);e=i>=1;const s=e?1:this.easing(i);this.value=this.from+(this.to-this.from)*s}e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(t,e,{lerp:i=.1,duration:s=1,easing:o=(t=>t),onStart:n,onUpdate:r}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=r}}class Dimensions{constructor({wrapper:t,content:e,autoResize:i=!0,debounce:s=250}={}){this.wrapper=t,this.content=e,i&&(this.debouncedResize=function debounce(t,e){let i;return function(){let s=arguments,o=this;clearTimeout(i),i=setTimeout((function(){t.apply(o,s)}),e)}}(this.resize,s),this.wrapper===window?window.addEventListener(\"resize\",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),window.removeEventListener(\"resize\",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={}}emit(t,...e){let i=this.events[t]||[];for(let t=0,s=i.length;t<s;t++)i[t](...e)}on(t,e){return this.events[t]?.push(e)||(this.events[t]=[e]),()=>{this.events[t]=this.events[t]?.filter((t=>e!==t))}}off(t,e){this.events[t]=this.events[t]?.filter((t=>e!==t))}destroy(){this.events={}}}const t=100/6;class VirtualScroll{constructor(t,{wheelMultiplier:e=1,touchMultiplier:i=1}){this.element=t,this.wheelMultiplier=e,this.touchMultiplier=i,this.touchStart={x:null,y:null},this.emitter=new Emitter,window.addEventListener(\"resize\",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.addEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.addEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.addEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener(\"resize\",this.onWindowResize,!1),this.element.removeEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.removeEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.removeEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.removeEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}onTouchStart=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit(\"scroll\",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,s=-(e-this.touchStart.x)*this.touchMultiplier,o=-(i-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:s,y:o},this.emitter.emit(\"scroll\",{deltaX:s,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit(\"scroll\",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=e=>{let{deltaX:i,deltaY:s,deltaMode:o}=e;i*=1===o?t:2===o?this.windowWidth:1,s*=1===o?t:2===o?this.windowHeight:1,i*=this.wheelMultiplier,s*=this.wheelMultiplier,this.emitter.emit(\"scroll\",{deltaX:i,deltaY:s,event:e})};onWindowResize=()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight}}class Lenis{constructor({wrapper:t=window,content:e=document.documentElement,wheelEventsTarget:i=t,eventsTarget:s=i,smoothWheel:o=!0,syncTouch:n=!1,syncTouchLerp:r=.075,touchInertiaMultiplier:l=35,duration:h,easing:a=(t=>Math.min(1,1.001-Math.pow(2,-10*t))),lerp:c=!h&&.1,infinite:u=!1,orientation:d=\"vertical\",gestureOrientation:p=\"vertical\",touchMultiplier:m=1,wheelMultiplier:v=1,autoResize:g=!0,prevent:w=!1,__experimental__naiveDimensions:S=!1}={}){this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.onVirtualScroll=({deltaX:t,deltaY:e,event:i})=>{if(i.ctrlKey)return;const s=i.type.includes(\"touch\"),o=i.type.includes(\"wheel\");this.isTouching=\"touchstart\"===i.type||\"touchmove\"===i.type;if(this.options.syncTouch&&s&&\"touchstart\"===i.type&&!this.isStopped&&!this.isLocked)return void this.reset();const n=0===t&&0===e,r=\"vertical\"===this.options.gestureOrientation&&0===e||\"horizontal\"===this.options.gestureOrientation&&0===t;if(n||r)return;let l=i.composedPath();l=l.slice(0,l.indexOf(this.rootElement));const h=this.options.prevent;if(l.find((t=>{var e,i,n,r,l;return(\"function\"==typeof h?null==h?void 0:h(t):h)||(null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,\"data-lenis-prevent\"))||s&&(null===(i=t.hasAttribute)||void 0===i?void 0:i.call(t,\"data-lenis-prevent-touch\"))||o&&(null===(n=t.hasAttribute)||void 0===n?void 0:n.call(t,\"data-lenis-prevent-wheel\"))||(null===(r=t.classList)||void 0===r?void 0:r.contains(\"lenis\"))&&!(null===(l=t.classList)||void 0===l?void 0:l.contains(\"lenis-stopped\"))})))return;if(this.isStopped||this.isLocked)return void i.preventDefault();if(!(this.options.syncTouch&&s||this.options.smoothWheel&&o))return this.isScrolling=\"native\",void this.animate.stop();i.preventDefault();let a=e;\"both\"===this.options.gestureOrientation?a=Math.abs(e)>Math.abs(t)?e:t:\"horizontal\"===this.options.gestureOrientation&&(a=t);const c=s&&this.options.syncTouch,u=s&&\"touchend\"===i.type&&Math.abs(a)>5;u&&(a=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+a,Object.assign({programmatic:!1},c?{lerp:u?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}))},this.onNativeScroll=()=>{if(clearTimeout(this.__resetVelocityTimeout),delete this.__resetVelocityTimeout,this.__preventNextNativeScrollEvent)delete this.__preventNextNativeScrollEvent;else if(!1===this.isScrolling||\"native\"===this.isScrolling){const t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-t,this.direction=Math.sign(this.animatedScroll-t),this.isScrolling=\"native\",this.emit(),0!==this.velocity&&(this.__resetVelocityTimeout=setTimeout((()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()}),400))}},window.lenisVersion=\"1.1.2\",t!==document.documentElement&&t!==document.body||(t=window),this.options={wrapper:t,content:e,wheelEventsTarget:i,eventsTarget:s,smoothWheel:o,syncTouch:n,syncTouchLerp:r,touchInertiaMultiplier:l,duration:h,easing:a,lerp:c,infinite:u,gestureOrientation:p,orientation:d,touchMultiplier:m,wheelMultiplier:v,autoResize:g,prevent:w,__experimental__naiveDimensions:S},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:t,content:e,autoResize:g}),this.updateClassName(),this.userData={},this.time=0,this.velocity=this.lastVelocity=0,this.isLocked=!1,this.isStopped=!1,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener(\"scroll\",this.onNativeScroll,!1),this.virtualScroll=new VirtualScroll(s,{touchMultiplier:m,wheelMultiplier:v}),this.virtualScroll.on(\"scroll\",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener(\"scroll\",this.onNativeScroll,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName()}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}setScroll(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t}resize(){this.dimensions.resize()}emit({userData:t={}}={}){this.userData=t,this.emitter.emit(\"scroll\",this),this.userData={}}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.isStopped=!1,this.reset())}stop(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset())}raf(t){const e=t-(this.time||t);this.time=t,this.animate.advance(.001*e)}scrollTo(t,{offset:e=0,immediate:i=!1,lock:s=!1,duration:o=this.options.duration,easing:n=this.options.easing,lerp:r=!o&&this.options.lerp,onStart:l,onComplete:h,force:a=!1,programmatic:c=!0,userData:u={}}={}){if(!this.isStopped&&!this.isLocked||a){if([\"top\",\"left\",\"start\"].includes(t))t=0;else if([\"bottom\",\"right\",\"end\"].includes(t))t=this.limit;else{let i;if(\"string\"==typeof t?i=document.querySelector(t):(null==t?void 0:t.nodeType)&&(i=t),i){if(this.options.wrapper!==window){const t=this.options.wrapper.getBoundingClientRect();e-=this.isHorizontal?t.left:t.top}const s=i.getBoundingClientRect();t=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if(\"number\"==typeof t){if(t+=e,t=Math.round(t),this.options.infinite?c&&(this.targetScroll=this.animatedScroll=this.scroll):t=clamp(0,t,this.limit),i)return this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),void(null==h||h(this));t!==this.targetScroll&&(c||(this.targetScroll=t),this.animate.fromTo(this.animatedScroll,t,{duration:o,easing:n,lerp:r,onStart:()=>{s&&(this.isLocked=!0),this.isScrolling=\"smooth\",null==l||l(this)},onUpdate:(t,e)=>{this.isScrolling=\"smooth\",this.lastVelocity=this.velocity,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),c&&(this.targetScroll=t),e||this.emit({userData:u}),e&&(this.reset(),this.emit({userData:u}),null==h||h(this),this.__preventNextNativeScrollEvent=!0)}}))}}}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?\"x\":\"y\"]}get isHorizontal(){return\"horizontal\"===this.options.orientation}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?function modulo(t,e){return(t%e+e)%e}(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this.__isScrolling}set isScrolling(t){this.__isScrolling!==t&&(this.__isScrolling=t,this.updateClassName())}get isStopped(){return this.__isStopped}set isStopped(t){this.__isStopped!==t&&(this.__isStopped=t,this.updateClassName())}get isLocked(){return this.__isLocked}set isLocked(t){this.__isLocked!==t&&(this.__isLocked=t,this.updateClassName())}get isSmooth(){return\"smooth\"===this.isScrolling}get className(){let t=\"lenis\";return this.isStopped&&(t+=\" lenis-stopped\"),this.isLocked&&(t+=\" lenis-locked\"),this.isScrolling&&(t+=\" lenis-scrolling\"),\"smooth\"===this.isScrolling&&(t+=\" lenis-smooth\"),t}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\\w+)?/g,\"\").trim()}}export{Lenis as default};\n//# sourceMappingURL=lenis.mjs.map\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,withCSS}from\"framer\";import Lenis from\"lenis\";import{useEffect,useRef}from\"react\";function SmoothScrollComponent(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current){try{lenis.current.scrollTo(0,{immediate:true});}catch(error){console.error(\"Error scrolling to top:\",error);}}},[lenis]);// Watch for stop scroll elements\nuseEffect(()=>{const checkForStopScroll=()=>{try{const stopScrollElement=document.querySelector(\"[data-frameruni-stop-scroll]\");const htmlElement=document.documentElement;const hasHiddenOverflow=htmlElement&&htmlElement.style&&htmlElement.style.overflow===\"hidden\";if(lenis.current){if(stopScrollElement||hasHiddenOverflow){lenis.current.stop();}else{lenis.current.start();}}}catch(error){console.error(\"Error in checkForStopScroll:\",error);}};// Initial check\ncheckForStopScroll();// Set up observers\nlet stopScrollObserver;let htmlStyleObserver;try{stopScrollObserver=new MutationObserver(checkForStopScroll);htmlStyleObserver=new MutationObserver(checkForStopScroll);// Observe document for data-frameruni-stop-scroll attribute\nif(document&&document.documentElement){stopScrollObserver.observe(document.documentElement,{childList:true,subtree:true,attributes:true,attributeFilter:[\"data-frameruni-stop-scroll\"]});// Observe only the HTML element for style changes\nhtmlStyleObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\"]});}}catch(error){console.error(\"Error setting up observers:\",error);}return()=>{try{if(stopScrollObserver)stopScrollObserver.disconnect();if(htmlStyleObserver)htmlStyleObserver.disconnect();}catch(error){console.error(\"Error disconnecting observers:\",error);}};},[]);useEffect(()=>{try{if(!document)return;const allElements=document.getElementsByTagName(\"*\");for(let i=0;i<allElements.length;i++){const element=allElements[i];if(!element)continue;try{const computedStyle=window.getComputedStyle(element);if(computedStyle&&computedStyle.getPropertyValue(\"overflow\")===\"auto\"){element.setAttribute(\"data-lenis-prevent\",\"true\");}}catch(styleError){console.error(\"Error getting computed style:\",styleError);}}}catch(error){console.error(\"Error in overflow detection:\",error);}},[]);useEffect(()=>{try{if(typeof Lenis!==\"function\"){console.error(\"Lenis is not available\");return;}lenis.current=new Lenis({duration:(intensity||10)/10});const raf=time=>{if(lenis.current){try{lenis.current.raf(time);requestAnimationFrame(raf);}catch(error){console.error(\"Error in animation frame:\",error);}}};const animationId=requestAnimationFrame(raf);return()=>{cancelAnimationFrame(animationId);if(lenis.current){try{lenis.current.destroy();lenis.current=null;}catch(error){console.error(\"Error destroying Lenis:\",error);}}};}catch(error){console.error(\"Error initializing Lenis:\",error);return()=>{};}},[intensity]);//https://github.com/darkroomengineering/lenis?tab=readme-ov-file#anchor-links\nuseEffect(()=>{try{if(!document||!lenis.current)return;// Get all anchor links and store click handlers with their targets\nconst anchorLinksData=Array.from(document.querySelectorAll(\"a[href]\")||[]).filter(element=>{if(!element)return false;const anchor=element;if(!anchor.href)return false;// Only handle internal anchor links\nconst isInternalLink=anchor.href.startsWith(window.location.origin)||anchor.href.startsWith(\"./\")||anchor.href.startsWith(\"/\");const hasHash=anchor.href.includes(\"#\");return isInternalLink&&hasHash;}).map(anchor=>{try{const anchorElement=anchor;const href=anchorElement.href.includes(\"#\")?`#${anchorElement.href.split(\"#\").pop()}`:\"\";const decodedHref=href?decodeURIComponent(href):\"\";let scrollMargin=0;try{if(decodedHref){const targetElement=document.querySelector(decodedHref);if(targetElement){const marginStyle=window.getComputedStyle(targetElement).scrollMarginTop;scrollMargin=marginStyle?parseInt(marginStyle)||0:0;}}}catch(targetError){console.error(\"Error finding target element:\",targetError);}return{href,scrollMargin,anchorElement:anchorElement};}catch(anchorError){console.error(\"Error processing anchor:\",anchorError);return null;}}).filter(Boolean);const handleClick=(e,href,scrollMargin)=>{try{if(e&&e.preventDefault)e.preventDefault();if(lenis.current&&href){lenis.current.scrollTo(href,{offset:-(scrollMargin||0)});}}catch(error){console.error(\"Error in anchor click handler:\",error);}};const handlers=anchorLinksData.map(({href,scrollMargin})=>e=>handleClick(e,href,scrollMargin));anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.addEventListener(\"click\",handlers[index]);}});return()=>{anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.removeEventListener(\"click\",handlers[index]);}});};}catch(error){console.error(\"Error setting up anchor links:\",error);return()=>{};}},[lenis]);return /*#__PURE__*/_jsx(\"div\",{style:props.style});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */const SmoothScroll=withCSS(SmoothScrollComponent,[\"html.lenis { height: auto; }\",\".lenis.lenis-smooth { scroll-behavior: auto !important; }\",\".lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }\",\".lenis.lenis-stopped { overflow: hidden; }\",\".lenis.lenis-scrolling iframe { pointer-events: none; }\"],\"\");export default SmoothScroll;SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,min:0,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map","// Generated by Framer (4c8a172)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-VLk0e .framer-styles-preset-1g8wuvs:not(.rich-text-wrapper), .framer-VLk0e .framer-styles-preset-1g8wuvs.rich-text-wrapper a { --framer-link-hover-text-color: var(--token-935c01e9-3fe4-4580-9991-9227e80b0d12, #666666); --framer-link-text-color: var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, #1a1a1a); }\"];export const className=\"framer-VLk0e\";\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 (aabb2d2)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Funnel Display-500\",\"GF;Funnel Display-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Funnel Display\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Funnel Display\",url:\"https://fonts.gstatic.com/s/funneldisplay/v3/B50bF7FGv37QNVWgE0ga--4PbZSRJXrOHcLHLoAYqGPXXcVwIZDKFA.woff2\",weight:\"500\"},{cssFamilyName:\"Funnel Display\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Funnel Display\",url:\"https://fonts.gstatic.com/s/funneldisplay/v3/B50bF7FGv37QNVWgE0ga--4PbZSRJXrOHcLHLoAYfWTXXcVwIZDKFA.woff2\",weight:\"700\"}]}];export const css=['.framer-3aqku .framer-styles-preset-1jxwe61:not(.rich-text-wrapper), .framer-3aqku .framer-styles-preset-1jxwe61.rich-text-wrapper h3 { --framer-font-family: \"Funnel Display\", sans-serif; --framer-font-family-bold: \"Funnel Display\", sans-serif; --framer-font-open-type-features: \\'ss01\\' on; --framer-font-size: 28px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: 0em; --framer-line-height: 32px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, #1a1a1a); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1023px) and (min-width: 0px) { .framer-3aqku .framer-styles-preset-1jxwe61:not(.rich-text-wrapper), .framer-3aqku .framer-styles-preset-1jxwe61.rich-text-wrapper h3 { --framer-font-family: \"Funnel Display\", sans-serif; --framer-font-family-bold: \"Funnel Display\", sans-serif; --framer-font-open-type-features: \\'ss01\\' on; --framer-font-size: 22px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: 0em; --framer-line-height: 32px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, #1a1a1a); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-3aqku\";\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 (aabb2d2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const jcOHzis3X=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 13.51 20.75 L 13.51 16.75 C 13.51 16.722 13.511 16.695 13.514 16.667 C 13.632 15.61 13.329 14.549 12.67 13.714 C 12.493 13.488 12.46 13.181 12.585 12.922 C 12.711 12.664 12.973 12.5 13.26 12.5 C 15.98 12.5 18.51 10.713 18.51 7.75 L 18.511 7.702 C 18.582 6.628 18.278 5.562 17.65 4.687 C 17.523 4.509 17.48 4.284 17.532 4.072 C 17.722 3.288 17.767 2.478 17.668 1.681 C 17.24 1.854 16.588 2.191 15.71 2.85 C 15.542 2.976 15.328 3.026 15.12 2.987 C 12.57 2.505 9.951 2.505 7.4 2.987 C 7.193 3.026 6.979 2.976 6.81 2.85 C 5.926 2.186 5.27 1.849 4.841 1.677 C 4.734 2.474 4.783 3.283 4.986 4.061 C 5.043 4.277 5 4.506 4.87 4.687 C 4.233 5.575 3.929 6.66 4.01 7.75 C 4.01 10.714 6.54 12.5 9.26 12.5 C 9.548 12.5 9.811 12.665 9.936 12.924 C 10.061 13.184 10.027 13.492 9.847 13.717 C 9.183 14.547 8.88 15.61 9.005 16.666 C 9.009 16.694 9.01 16.722 9.01 16.75 L 9.01 20.75 C 9.01 21.164 8.675 21.5 8.26 21.5 C 7.846 21.5 7.51 21.164 7.51 20.75 L 7.51 18.157 C 6.53 18.518 5.686 18.623 4.937 18.524 C 4.047 18.407 3.375 18.014 2.84 17.585 C 2.594 17.385 2.358 17.172 2.133 16.949 C 1.917 16.74 1.741 16.565 1.563 16.411 C 1.208 16.104 0.976 16 0.75 16 C 0.336 16 0 15.664 0 15.25 C 0 14.836 0.336 14.5 0.75 14.5 C 1.524 14.5 2.104 14.896 2.544 15.276 C 2.764 15.466 2.981 15.682 3.177 15.871 C 3.38 16.068 3.573 16.251 3.777 16.415 C 4.178 16.736 4.6 16.968 5.133 17.038 C 5.671 17.109 6.407 17.025 7.446 16.564 C 7.461 16.557 7.476 16.551 7.491 16.546 C 7.452 15.923 7.519 15.297 7.688 14.695 C 7.767 14.419 7.867 14.15 7.988 13.89 C 5.155 13.4 2.535 11.285 2.511 7.799 L 2.501 7.533 C 2.475 6.321 2.807 5.127 3.456 4.103 C 3.206 2.932 3.233 1.719 3.535 0.561 L 3.577 0.441 C 3.699 0.173 3.966 0 4.26 0 L 4.28 0 C 4.313 0.001 4.345 0.003 4.376 0.006 C 4.431 0.011 4.501 0.02 4.586 0.036 C 4.755 0.068 4.984 0.127 5.273 0.236 C 5.8 0.433 6.523 0.796 7.443 1.456 C 9.969 1.016 12.552 1.016 15.077 1.456 C 15.997 0.795 16.719 0.433 17.247 0.236 C 17.535 0.127 17.764 0.068 17.934 0.036 C 18.036 0.017 18.138 0.005 18.24 0 L 18.26 0 C 18.606 0 18.907 0.236 18.989 0.572 C 19.27 1.727 19.294 2.93 19.059 4.096 C 19.752 5.184 20.084 6.462 20.01 7.75 L 20 8.123 C 19.82 11.419 17.272 13.418 14.525 13.891 C 14.939 14.785 15.11 15.781 15.01 16.776 L 15.01 20.75 C 15.01 21.164 14.675 21.5 14.26 21.5 C 13.846 21.5 13.51 21.164 13.51 20.75 Z\" fill=\"var(--1xigtmo, var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)))\" height=\"21.50000012397091px\" id=\"r2UaNLIJK\" transform=\"translate(1.5 1)\" width=\"20.02062218802108px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,jcOHzis3X:fill??props.jcOHzis3X??\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,jcOHzis3X,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-NlRFO\",className),layoutId:layoutId,ref:ref,style:{\"--1xigtmo\":jcOHzis3X,...style}});});const css=[`.framer-NlRFO { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1xigtmo); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"jcOHzis3X\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"GitHub\",\"color\":{\"type\":\"variable\",\"value\":\"1xigtmo\"},\"set\":{\"localId\":\"vectorSet/AkWtT8fhQ\",\"id\":\"AkWtT8fhQ\",\"moduleId\":\"rCOBuSqaht5LB7a1uevC\"}}\n */const Icon=withCSS(Component,css,\"framer-NlRFO\");Icon.displayName=\"GitHub\";export default Icon;addPropertyControls(Icon,{jcOHzis3X:{defaultValue:'var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)) /* {\"name\":\"Strong\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"jcOHzis3X\\\":\\\"fill\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"GitHub\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1xigtmo\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/AkWtT8fhQ\\\",\\\"id\\\":\\\"AkWtT8fhQ\\\",\\\"moduleId\\\":\\\"rCOBuSqaht5LB7a1uevC\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (aabb2d2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const jcOHzis3X=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 16 0 L 16 2 L 0 2 Z M 0 5 L 16 5 L 16 7 L 0 7 Z M 16 12 L 0 12 L 0 10 L 16 10 Z\" fill=\"var(--1xigtmo, var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)))\" height=\"12px\" id=\"iqgcjdCdG\" transform=\"translate(4 6)\" width=\"16px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,jcOHzis3X:fill??props.jcOHzis3X??\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,jcOHzis3X,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-IbZF4\",className),layoutId:layoutId,ref:ref,style:{\"--1xigtmo\":jcOHzis3X,...style}});});const css=[`.framer-IbZF4 { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1xigtmo); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"jcOHzis3X\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Menu\",\"color\":{\"type\":\"variable\",\"value\":\"1xigtmo\"},\"set\":{\"localId\":\"vectorSet/AkWtT8fhQ\",\"id\":\"AkWtT8fhQ\",\"moduleId\":\"rCOBuSqaht5LB7a1uevC\"}}\n */const Icon=withCSS(Component,css,\"framer-IbZF4\");Icon.displayName=\"Menu\";export default Icon;addPropertyControls(Icon,{jcOHzis3X:{defaultValue:'var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)) /* {\"name\":\"Strong\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Menu\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1xigtmo\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/AkWtT8fhQ\\\",\\\"id\\\":\\\"AkWtT8fhQ\\\",\\\"moduleId\\\":\\\"rCOBuSqaht5LB7a1uevC\\\"}}\",\"framerVariables\":\"{\\\"jcOHzis3X\\\":\\\"fill\\\"}\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (aabb2d2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const jcOHzis3X=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 2 0 L 2 2 L 0 2 Z M 4 4 L 2 4 L 2 2 L 4 2 Z M 6 6 L 4 6 L 4 4 L 6 4 Z M 8 8 L 10 8 L 10 10 L 12 10 L 12 12 L 14 12 L 14 14 L 12 14 L 12 12 L 10 12 L 10 10 L 8 10 L 8 8 L 6 8 L 6 10 L 4 10 L 4 12 L 2 12 L 2 14 L 0 14 L 0 12 L 2 12 L 2 10 L 4 10 L 4 8 L 6 8 L 6 6 L 8 6 Z M 10 4 L 10 6 L 8 6 L 8 4 Z M 12 2 L 12 4 L 10 4 L 10 2 Z M 12 2 L 12 0 L 14 0 L 14 2 Z\" fill=\"var(--1xigtmo, var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)))\" height=\"14px\" id=\"LDrhQJrcR\" transform=\"translate(5 5)\" width=\"14px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,jcOHzis3X:fill??props.jcOHzis3X??\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,jcOHzis3X,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-yfksE\",className),layoutId:layoutId,ref:ref,style:{\"--1xigtmo\":jcOHzis3X,...style}});});const css=[`.framer-yfksE { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1xigtmo); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"jcOHzis3X\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Close\",\"color\":{\"type\":\"variable\",\"value\":\"1xigtmo\"},\"set\":{\"localId\":\"vectorSet/AkWtT8fhQ\",\"id\":\"AkWtT8fhQ\",\"moduleId\":\"rCOBuSqaht5LB7a1uevC\"}}\n */const Icon=withCSS(Component,css,\"framer-yfksE\");Icon.displayName=\"Close\";export default Icon;addPropertyControls(Icon,{jcOHzis3X:{defaultValue:'var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)) /* {\"name\":\"Strong\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Close\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1xigtmo\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/AkWtT8fhQ\\\",\\\"id\\\":\\\"AkWtT8fhQ\\\",\\\"moduleId\\\":\\\"rCOBuSqaht5LB7a1uevC\\\"}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"jcOHzis3X\\\":\\\"fill\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ca8ceca)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,Floating,forwardLoader,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOverlayState,useVariantState,withCSS,withFX}from\"framer\";import{AnimatePresence,LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Burst from\"https://framerusercontent.com/modules/eaQPZgPlnhUu4BX0T5TP/kW0AFYWzw4KEnGA9K1kQ/Burst.js\";import*as sharedStyle4 from\"https://framerusercontent.com/modules/y2Qrlb28ZGejqYFIaPV5/IsPHrbH1WWHlwkw1WDOS/CexzoFi8t.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/nHhCTmpjKPjK0wg4NXmN/SecnwbyLaTMqmuyt13Eh/gZDnsOKGi.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/4YY1JaYUGEg9sQIN1jE4/PxAGuRqprUXl0sWdmkJC/I_GA9EMpu.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/7RR8ksaGJ1QiTGe8RPlo/KjljQKgk5jglFpwUY51K/QcG9uKTSA.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/Flhxm7ox6VZ5fwr3vrlI/P9DcXkJN1hJYrlYXYBHm/UQ9EnUTON.js\";import GitHub from\"https://framerusercontent.com/modules/7N91vurwXEUR4r6tolTX/R0Eif5ob1bvt1Xd21NjT/jFNZf2m0W.js\";import ArrowRight from\"https://framerusercontent.com/modules/5s0fuEnZ6KTDa8AGmDX1/ac6nu4J4WxJUhejjwV09/ndfHQobFO.js\";import Menu from\"https://framerusercontent.com/modules/zJZGSaE47MPnr2aIqQ3Z/l9ng0r2pH5eS8TyS1f4L/xlAlSL3nr.js\";import Close from\"https://framerusercontent.com/modules/h6wtRFHMXuVxq3nOz8wS/NyDYxpyBPjHH9mE1ryes/YelqZriZe.js\";import Button from\"https://framerusercontent.com/modules/ntVyPebmkMfLSeR7Wpk6/mAyqYfHXyfDbg7uVXttx/RwU9XywXz.js\";const ButtonFonts=getFonts(Button);const MotionDivWithFX=withFX(motion.div);const GitHubFonts=getFonts(GitHub);const BurstFonts=getFonts(Burst);const MotionHeaderWithFX=withFX(motion.header);const cycleOrder=[\"S0BMMsjon\",\"VjahK9LIb\",\"fVOs0qVuX\"];const serializationHash=\"framer-DniT7\";const variantClassNames={fVOs0qVuX:\"framer-v-ye1iit\",S0BMMsjon:\"framer-v-dpic5w\",VjahK9LIb:\"framer-v-6y890f\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition1={bounce:.2,delay:1.5,duration:1,type:\"spring\"};const animation1={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const transition2={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const animation2={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation3={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const Overlay=({children,blockDocumentScrolling,dismissWithEsc,enabled=true})=>{const[visible,setVisible]=useOverlayState({blockDocumentScrolling,dismissWithEsc:enabled&&dismissWithEsc});return children({hide:()=>setVisible(false),show:()=>setVisible(true),toggle:()=>setVisible(!visible),visible:enabled&&visible});};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;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={\"Tablet・Close\":\"fVOs0qVuX\",\"Tablet・Open\":\"VjahK9LIb\",Desktop:\"S0BMMsjon\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"S0BMMsjon\"};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"S0BMMsjon\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const gPQAGDMIbow6unl=activeVariantCallback(async(...args)=>{setVariant(\"fVOs0qVuX\");});const gPQAGDMIbs9e12o=activeVariantCallback(async(...args)=>{setVariant(\"VjahK9LIb\");});const onMouseEnter13elrgn=({overlay})=>activeVariantCallback(async(...args)=>{overlay.show();});const onTapow6unl=activeVariantCallback(async(...args)=>{setVariant(\"fVOs0qVuX\");});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"VjahK9LIb\",\"fVOs0qVuX\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"fVOs0qVuX\")return false;return true;};const ref1=React.useRef(null);const ref2=React.useRef(null);const isDisplayed2=()=>{if(baseVariant===\"VjahK9LIb\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsxs(MotionHeaderWithFX,{...restProps,...gestureHandlers,__framer__animate:{transition:transition1},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:cx(scopingClassNames,\"framer-dpic5w\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"S0BMMsjon\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-63dbc987-d4ac-4ce7-998d-918af6444c9d, rgba(0, 0, 0, 0.06))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-d884629f-6ab2-405d-9f0b-63245a63cdd2, rgb(255, 255, 255))\",...style},...addPropertyOverrides({fVOs0qVuX:{\"data-framer-name\":\"Tablet・Close\"},VjahK9LIb:{\"data-framer-name\":\"Tablet・Open\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-9bd3yp\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"x5ZxTQVRk\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-iav51b\",\"data-framer-name\":\"Start\",layoutDependency:layoutDependency,layoutId:\"v_0eAID62\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"nDTH_EdpN\",openInNewTab:false,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-3wofu1 framer-12uiyei\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"nDTH_EdpN\",children:/*#__PURE__*/_jsxs(SVG,{className:\"framer-12s22f9\",\"data-framer-name\":\"Tadata Logo\",layoutDependency:layoutDependency,layoutId:\"V_l3kjNfV\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 125 18.875\" overflow=\"visible\"><path d=\"M 12.331 0.064 L 6.166 0.064 L 6.166 6.334 L 12.331 6.334 Z M 6.166 6.334 L 0 6.334 L 0 12.605 L 6.166 12.605 Z M 18.541 6.334 L 12.375 6.334 L 12.375 12.605 L 18.541 12.605 Z M 12.331 12.598 L 6.166 12.598 L 6.166 18.869 L 12.331 18.869 Z M 28.444 18.645 L 28.444 4.472 L 24.134 4.472 L 24.134 0 L 39.24 0 L 39.24 4.472 L 34.931 4.472 L 34.931 18.645 Z M 103.162 18.869 C 101.847 18.869 100.771 18.645 99.947 18.19 C 99.123 17.736 98.525 17.128 98.154 16.354 C 97.783 15.58 97.601 14.716 97.601 13.75 L 97.601 7.979 L 95.82 7.979 L 95.82 4.472 L 98.016 4.472 L 100.601 0 L 103.464 0 L 103.464 4.472 L 106.692 4.472 L 106.692 7.979 L 103.464 7.979 L 103.464 12.931 C 103.464 13.366 103.602 13.699 103.879 13.935 C 104.156 14.172 104.521 14.287 104.961 14.287 C 105.402 14.287 105.849 14.172 106.295 13.948 L 106.711 17.883 C 106.264 18.203 105.697 18.446 105.012 18.619 C 104.326 18.785 103.703 18.875 103.149 18.875 Z M 49.999 4.472 L 49.999 7.556 C 49.533 6.386 48.879 5.547 48.023 5.035 C 47.168 4.524 46.287 4.274 45.381 4.274 C 44.104 4.274 42.939 4.581 41.901 5.195 C 40.864 5.81 40.039 6.654 39.442 7.729 C 38.838 8.804 38.536 10.058 38.536 11.491 C 38.536 12.925 38.838 14.198 39.442 15.311 C 40.046 16.424 40.864 17.295 41.901 17.928 C 42.939 18.562 44.098 18.875 45.381 18.875 C 46.494 18.875 47.419 18.632 48.162 18.139 C 48.904 17.647 49.496 16.943 49.942 16.015 L 49.942 18.645 L 55.787 18.645 L 55.787 4.472 Z M 49.974 14.518 L 43.997 14.518 L 43.997 8.439 L 49.974 8.439 Z M 69.226 0 L 69.226 7.441 C 68.817 6.328 68.194 5.522 67.351 5.023 C 66.508 4.524 65.633 4.274 64.721 4.274 C 63.444 4.274 62.28 4.581 61.242 5.195 C 60.204 5.81 59.379 6.654 58.782 7.729 C 58.178 8.804 57.876 10.058 57.876 11.491 C 57.876 12.925 58.178 14.198 58.782 15.311 C 59.386 16.424 60.204 17.295 61.242 17.928 C 62.28 18.561 63.438 18.875 64.721 18.875 C 65.834 18.875 66.759 18.632 67.502 18.139 C 68.244 17.646 68.836 16.943 69.283 16.015 L 69.283 18.645 L 75.096 18.645 L 75.096 0 Z M 69.295 14.518 L 63.318 14.518 L 63.318 8.439 L 69.295 8.439 Z M 88.641 4.472 L 88.641 7.556 C 88.176 6.386 87.521 5.547 86.666 5.035 C 85.81 4.524 84.929 4.274 84.023 4.274 C 82.746 4.274 81.582 4.581 80.544 5.195 C 79.506 5.81 78.682 6.654 78.084 7.729 C 77.48 8.804 77.178 10.058 77.178 11.491 C 77.178 12.925 77.48 14.198 78.084 15.311 C 78.688 16.424 79.506 17.295 80.544 17.928 C 81.582 18.562 82.74 18.875 84.023 18.875 C 85.137 18.875 86.062 18.632 86.804 18.139 C 87.547 17.647 88.138 16.943 88.584 16.015 L 88.584 18.645 L 94.429 18.645 L 94.429 4.472 Z M 88.616 14.518 L 82.639 14.518 L 82.639 8.439 L 88.616 8.439 Z M 119.212 4.472 L 119.212 7.556 C 118.746 6.386 118.092 5.547 117.236 5.035 C 116.381 4.524 115.5 4.274 114.594 4.274 C 113.317 4.274 112.153 4.581 111.114 5.195 C 110.076 5.81 109.253 6.654 108.654 7.729 C 108.051 8.804 107.749 10.058 107.749 11.491 C 107.749 12.925 108.051 14.198 108.654 15.311 C 109.259 16.424 110.076 17.295 111.114 17.928 C 112.153 18.562 113.311 18.875 114.594 18.875 C 115.708 18.875 116.633 18.632 117.374 18.139 C 118.117 17.647 118.709 16.943 119.155 16.015 L 119.155 18.645 L 125 18.645 L 125 4.472 Z M 119.281 14.518 L 113.304 14.518 L 113.304 8.439 L 119.281 8.439 Z\" fill=\"rgb(0,0,0)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1g8vck3\",layoutDependency:layoutDependency,layoutId:\"Eny8o3BTc\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 6.166 6.27\" overflow=\"visible\"><path d=\"M 6.166 0 L 0 0 L 0 6.27 L 6.166 6.27 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1xpcdhi\",layoutDependency:layoutDependency,layoutId:\"wQ0aNg9sp\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 6.166 6.27\" overflow=\"visible\"><path d=\"M 6.166 0 L 0 0 L 0 6.27 L 6.166 6.27 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-13nnecd\",layoutDependency:layoutDependency,layoutId:\"m3gvBGQs6\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 6.166 6.27\" overflow=\"visible\"><path d=\"M 6.166 0 L 0 0 L 0 6.27 L 6.166 6.27 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-100gjox\",layoutDependency:layoutDependency,layoutId:\"RERVZf01H\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 6.166 6.27\" overflow=\"visible\"><path d=\"M 6.166 0 L 0 0 L 0 6.27 L 6.166 6.27 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-14ohgri\",layoutDependency:layoutDependency,layoutId:\"mWnzlSf8N\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 15.106 18.645\" overflow=\"visible\"><path d=\"M 4.31 18.645 L 4.31 4.472 L 0 4.472 L 0 0 L 15.106 0 L 15.106 4.472 L 10.796 4.472 L 10.796 18.645 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1db2e7l\",layoutDependency:layoutDependency,layoutId:\"I1f_Sr7uU\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10.891 18.875\" overflow=\"visible\"><path d=\"M 7.342 18.869 C 6.028 18.869 4.951 18.645 4.127 18.19 C 3.303 17.736 2.705 17.128 2.334 16.354 C 1.963 15.58 1.781 14.716 1.781 13.75 L 1.781 7.979 L 0 7.979 L 0 4.472 L 2.196 4.472 L 4.781 0 L 7.644 0 L 7.644 4.472 L 10.872 4.472 L 10.872 7.979 L 7.644 7.979 L 7.644 12.931 C 7.644 13.366 7.782 13.699 8.059 13.935 C 8.336 14.172 8.701 14.287 9.141 14.287 C 9.582 14.287 10.029 14.172 10.475 13.948 L 10.891 17.883 C 10.444 18.203 9.877 18.446 9.192 18.619 C 8.506 18.785 7.883 18.875 7.329 18.875 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1wg5mb6\",layoutDependency:layoutDependency,layoutId:\"tP2RbBBUH\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 17.251 14.601\" overflow=\"visible\"><path d=\"M 11.463 0.198 L 11.463 3.282 C 10.998 2.111 10.343 1.273 9.487 0.761 C 8.632 0.25 7.751 0 6.845 0 C 5.568 0 4.404 0.307 3.366 0.921 C 2.328 1.536 1.504 2.38 0.906 3.455 C 0.302 4.53 0 5.784 0 7.217 C 0 8.65 0.302 9.924 0.906 11.037 C 1.51 12.15 2.328 13.021 3.366 13.654 C 4.404 14.287 5.562 14.601 6.845 14.601 C 7.959 14.601 8.884 14.358 9.626 13.865 C 10.368 13.372 10.96 12.669 11.406 11.741 L 11.406 14.371 L 17.251 14.371 L 17.251 0.198 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1xyodzy\",layoutDependency:layoutDependency,layoutId:\"dOw_aOQVs\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.977 6.078\" overflow=\"visible\"><path d=\"M 5.977 6.078 L 0 6.078 L 0 0 L 5.977 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-fwuow5\",layoutDependency:layoutDependency,layoutId:\"OIRyEr0ik\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 17.22 18.875\" overflow=\"visible\"><path d=\"M 11.35 0 L 11.35 7.441 C 10.941 6.328 10.318 5.522 9.475 5.023 C 8.632 4.524 7.757 4.274 6.845 4.274 C 5.568 4.274 4.404 4.581 3.366 5.195 C 2.328 5.81 1.504 6.654 0.906 7.729 C 0.302 8.804 0 10.058 0 11.491 C 0 12.925 0.302 14.198 0.906 15.311 C 1.51 16.424 2.328 17.295 3.366 17.928 C 4.404 18.561 5.562 18.875 6.845 18.875 C 7.959 18.875 8.884 18.632 9.626 18.139 C 10.369 17.646 10.96 16.943 11.407 16.015 L 11.407 18.645 L 17.22 18.645 L 17.22 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1t6udfh\",layoutDependency:layoutDependency,layoutId:\"iD0aCg57U\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.977 6.078\" overflow=\"visible\"><path d=\"M 5.977 6.078 L 0 6.078 L 0 0 L 5.977 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1bnznii\",layoutDependency:layoutDependency,layoutId:\"ELByguxKV\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 17.251 14.601\" overflow=\"visible\"><path d=\"M 11.463 0.198 L 11.463 3.282 C 10.998 2.111 10.343 1.273 9.487 0.761 C 8.632 0.25 7.751 0 6.845 0 C 5.568 0 4.404 0.307 3.366 0.921 C 2.328 1.536 1.504 2.38 0.906 3.455 C 0.302 4.53 0 5.784 0 7.217 C 0 8.65 0.302 9.924 0.906 11.037 C 1.51 12.15 2.328 13.021 3.366 13.654 C 4.404 14.287 5.562 14.601 6.845 14.601 C 7.959 14.601 8.884 14.358 9.626 13.865 C 10.369 13.372 10.96 12.669 11.406 11.741 L 11.406 14.371 L 17.251 14.371 L 17.251 0.198 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1anjps3\",layoutDependency:layoutDependency,layoutId:\"AT2pXeRjs\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.977 6.078\" overflow=\"visible\"><path d=\"M 5.977 6.078 L 0 6.078 L 0 0 L 5.977 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1nv7yyl\",layoutDependency:layoutDependency,layoutId:\"ryaliUqNP\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 17.251 14.601\" overflow=\"visible\"><path d=\"M 11.463 0.198 L 11.463 3.282 C 10.998 2.111 10.343 1.273 9.488 0.761 C 8.632 0.25 7.751 0 6.845 0 C 5.568 0 4.404 0.307 3.366 0.921 C 2.328 1.536 1.504 2.38 0.906 3.455 C 0.302 4.53 0 5.784 0 7.217 C 0 8.65 0.302 9.924 0.906 11.037 C 1.51 12.15 2.328 13.021 3.366 13.654 C 4.404 14.287 5.562 14.601 6.845 14.601 C 7.959 14.601 8.884 14.358 9.626 13.865 C 10.368 13.372 10.96 12.669 11.406 11.741 L 11.406 14.371 L 17.251 14.371 L 17.251 0.198 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-kklb8i\",layoutDependency:layoutDependency,layoutId:\"bwakJTrTp\",requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 5.978 6.078\" overflow=\"visible\"><path d=\"M 5.978 6.078 L 0 6.078 L 0 0 L 5.978 0 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]})})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-4oca24\",\"data-framer-name\":\"End\",layoutDependency:layoutDependency,layoutId:\"JVKQAABV0\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,...addPropertyOverrides({fVOs0qVuX:{y:(componentViewport?.y||0)+0+(((componentViewport?.height||200)-0-80)/2+0+0)+0+0+22+0},VjahK9LIb:{y:(componentViewport?.y||0)+0+(((componentViewport?.height||464)-0-456)/2+0+0)+0+0+22+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1btv0yl-container\",layoutDependency:layoutDependency,layoutId:\"KyfQUYjKz-container\",nodeId:\"KyfQUYjKz\",rendersWithMotion:true,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsx(Button,{a23gpLGoN:true,h_yv0gxkm:\"\",height:\"100%\",id:\"KyfQUYjKz\",layoutId:\"KyfQUYjKz\",RRiCEwQSe:\"\",spat53KHH:GitHub,tBlbOQU_0:\"11.1K\",tpuF4NK90:\"https://github.com/tadata-org/fastapi_mcp\",variant:matchVariant(\"Y7oa_PgdA\"),width:\"100%\",YocCODOB7:true})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,...addPropertyOverrides({fVOs0qVuX:{y:(componentViewport?.y||0)+0+(((componentViewport?.height||200)-0-80)/2+0+0)+0+0+22+0},VjahK9LIb:{y:(componentViewport?.y||0)+0+(((componentViewport?.height||464)-0-456)/2+0+0)+0+0+22+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-4bpvk6-container\",layoutDependency:layoutDependency,layoutId:\"b8hIvjQDQ-container\",nodeId:\"b8hIvjQDQ\",rendersWithMotion:true,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsx(Button,{a23gpLGoN:true,h_yv0gxkm:\"\",height:\"100%\",id:\"b8hIvjQDQ\",layoutId:\"b8hIvjQDQ\",RRiCEwQSe:\"\",spat53KHH:Menu,tBlbOQU_0:\"\",variant:matchVariant(\"EtkPYlnBD\"),width:\"100%\",YocCODOB7:false,...addPropertyOverrides({fVOs0qVuX:{gPQAGDMIb:gPQAGDMIbs9e12o},VjahK9LIb:{gPQAGDMIb:gPQAGDMIbow6unl,spat53KHH:Close}},baseVariant,gestureVariant)})})})]})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qpdh8f\",\"data-framer-name\":\"Mobile Wrapper\",layoutDependency:layoutDependency,layoutId:\"Qq1oeDf3f\",children:[/*#__PURE__*/_jsxs(motion.nav,{className:\"framer-9x7alq\",\"data-framer-name\":\"Center\",layoutDependency:layoutDependency,layoutId:\"J4bTRdu0G\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://app.tadata.com/connectors\",motionChild:true,nodeId:\"pbb7XYpyD\",openInNewTab:true,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Connectors\"})})})}),className:\"framer-18x2356\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"pbb7XYpyD\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({VjahK9LIb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-1jxwe61\",\"data-styles-preset\":\"UQ9EnUTON\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"https://app.tadata.com/connectors\",motionChild:true,nodeId:\"pbb7XYpyD\",openInNewTab:true,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Connectors\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,children:overlay=>/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:\"Agents\"})}),className:\"framer-tcsfq\",\"data-highlight\":true,fonts:[\"Inter\"],id:`${layoutId}-tcsfq`,layoutDependency:layoutDependency,layoutId:\"o2T9e0Elt\",onMouseEnter:onMouseEnter13elrgn({overlay}),ref:ref1,style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({VjahK9LIb:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-1jxwe61\",\"data-styles-preset\":\"UQ9EnUTON\",dir:\"auto\",children:\"Agents\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref1,className:cx(scopingClassNames,classNames),collisionDetection:false,\"data-framer-portal-id\":`${layoutId}-tcsfq`,offsetX:0,offsetY:10,onDismiss:overlay.hide,placement:\"bottom\",safeArea:true,zIndex:11,...addPropertyOverrides({VjahK9LIb:{offsetX:20}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation3,className:\"framer-1tekdvd\",\"data-border\":true,\"data-framer-name\":\"Menu\",exit:animation2,initial:animation,layoutDependency:layoutDependency,layoutId:\"pzghMZtNm\",ref:ref2,role:\"dialog\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(238, 238, 238)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(255, 255, 255)\"},children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"k7gQ5CxE4\"},motionChild:true,nodeId:\"hLbbw0sfY\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-k39nqw\",\"data-styles-preset\":\"gZDnsOKGi\",children:\"Sales Playbook\"})})})}),className:\"framer-1v63dl0\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"hLbbw0sfY\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"CpDRRIW8O\"},motionChild:true,nodeId:\"WcbGuz0If\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-k39nqw\",\"data-styles-preset\":\"gZDnsOKGi\",children:\"Scout (Conference Prep)\"})})})}),className:\"framer-1oki6v2\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"WcbGuz0If\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"LsM7rLgl7\"},motionChild:true,nodeId:\"Ac5hOm_WC\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-k39nqw\",\"data-styles-preset\":\"gZDnsOKGi\",children:\"Tango (Calendar Sync)\"})})})}),className:\"framer-gj725v\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Ac5hOm_WC\",style:{\"--framer-paragraph-spacing\":\"0px\"},verticalAlignment:\"top\",withExternalLayout:true})]})})})]})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:\"docs.tadata.com\",motionChild:true,nodeId:\"syMoFZFHC\",openInNewTab:true,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Docs\"})})})}),className:\"framer-pilwgz\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"syMoFZFHC\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({VjahK9LIb:{\"data-highlight\":true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-10cfy06\",\"data-styles-preset\":\"CexzoFi8t\",children:/*#__PURE__*/_jsx(Link,{href:\"docs.tadata.com\",motionChild:true,nodeId:\"syMoFZFHC\",openInNewTab:true,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Docs\"})})})}),onTap:onTapow6unl}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"soGKRHha6\"},motionChild:true,nodeId:\"euMPtl7Ab\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Pricing\"})})})}),className:\"framer-1sx1cm3\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"euMPtl7Ab\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({VjahK9LIb:{\"data-highlight\":true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-10cfy06\",\"data-styles-preset\":\"CexzoFi8t\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"soGKRHha6\"},motionChild:true,nodeId:\"euMPtl7Ab\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Pricing\"})})})}),onTap:onTapow6unl}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"fyVodRYr_\"},motionChild:true,nodeId:\"Z66PFkzbv\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Blog\"})})})}),className:\"framer-1fv5p2f\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Z66PFkzbv\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({VjahK9LIb:{\"data-highlight\":true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-10cfy06\",\"data-styles-preset\":\"CexzoFi8t\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"fyVodRYr_\"},motionChild:true,nodeId:\"Z66PFkzbv\",openInNewTab:false,relValues:[],scopeId:\"mFuTTjBwU\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1g8wuvs\",\"data-styles-preset\":\"I_GA9EMpu\",children:\"Blog\"})})})}),onTap:onTapow6unl}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1h3llxw\",\"data-framer-name\":\"End\",layoutDependency:layoutDependency,layoutId:\"HzwxhYbBY\",children:[isDisplayed2()&&/*#__PURE__*/_jsx(Link,{href:\"https://github.com/tadata-org/fastapi_mcp\",motionChild:true,nodeId:\"iV9pSYtl0\",openInNewTab:true,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-9fus1o framer-12uiyei\",\"data-framer-name\":\"Button\",layoutDependency:layoutDependency,layoutId:\"iV9pSYtl0\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-zk2eba\",\"data-framer-name\":\"Inner Wrapper\",layoutDependency:layoutDependency,layoutId:\"O8VW5NPCW\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1wk7svr\",\"data-framer-name\":\"Icon Wrapper\",layoutDependency:layoutDependency,layoutId:\"R8TTSNTf0\",children:/*#__PURE__*/_jsx(GitHub,{animated:true,className:\"framer-zfe3zf\",layoutDependency:layoutDependency,layoutId:\"PauFDaclU\",style:{\"--1xigtmo\":\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"},transformTemplate:transformTemplate1})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-wg3fxq\",\"data-framer-name\":\"Caption Wrapper\",layoutDependency:layoutDependency,layoutId:\"oo9KUXknW\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-935c01e9-3fe4-4580-9991-9227e80b0d12, rgb(102, 102, 102)))\"},children:\"11.9K\"})}),className:\"framer-55xoe1\",\"data-framer-name\":\"Caption\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"W_XS96QtN\",style:{\"--extracted-r6o4lv\":\"var(--token-935c01e9-3fe4-4580-9991-9227e80b0d12, rgb(102, 102, 102))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-25qdz0-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"mcmbJXv8l-container\",nodeId:\"mcmbJXv8l\",rendersWithMotion:true,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsx(Burst,{colors:[\"var(--token-44a875a0-c68f-4f46-9086-fee6fb2987ec, rgb(254, 206, 96))\",\"var(--token-53ea9e03-05bd-4a09-970d-9a96e66e68ef, rgb(245, 76, 111))\",\"var(--token-a69b4ccd-5e1e-47ed-9ff2-bfb85529b483, rgb(0, 0, 0))\",\"var(--token-19563aec-4515-4673-8d78-9e212fd5280e, rgb(255, 181, 2))\",\"var(--token-15412c80-a3a1-4520-a796-12118002d191, rgb(255, 205, 220))\",\"var(--token-b39b0968-6418-4579-9fba-2e7c5859d986, rgb(255, 138, 20))\"],density:100,height:\"100%\",id:\"mcmbJXv8l\",layoutId:\"mcmbJXv8l\",speed:5,squareSize:9,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,y:(componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+22+0+0,...addPropertyOverrides({VjahK9LIb:{y:(componentViewport?.y||0)+0+(((componentViewport?.height||464)-0-456)/2+0+0)+0+80+0+280+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1redaub-container\",layoutDependency:layoutDependency,layoutId:\"Rq8m3YbCH-container\",nodeId:\"Rq8m3YbCH\",rendersWithMotion:true,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsx(Button,{a23gpLGoN:false,h_yv0gxkm:\"Sign In\",height:\"100%\",id:\"Rq8m3YbCH\",layoutId:\"Rq8m3YbCH\",RRiCEwQSe:\"\",spat53KHH:ArrowRight,tBlbOQU_0:\"\",tpuF4NK90:\"https://app.tadata.com/login\",variant:matchVariant(\"Y7oa_PgdA\"),width:\"100%\",YocCODOB7:false})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,y:(componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+22+0+0,...addPropertyOverrides({VjahK9LIb:{y:(componentViewport?.y||0)+0+(((componentViewport?.height||464)-0-456)/2+0+0)+0+80+0+280+0+44}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-mrqgv-container\",layoutDependency:layoutDependency,layoutId:\"D9UL_PO4S-container\",nodeId:\"D9UL_PO4S\",rendersWithMotion:true,scopeId:\"mFuTTjBwU\",children:/*#__PURE__*/_jsx(Button,{a23gpLGoN:false,h_yv0gxkm:\"Sign Up\",height:\"100%\",id:\"D9UL_PO4S\",layoutId:\"D9UL_PO4S\",RRiCEwQSe:\"S\",spat53KHH:ArrowRight,tBlbOQU_0:\"\",tpuF4NK90:\"https://app.tadata.com/login\",variant:matchVariant(\"gTqU422LW\"),width:\"100%\",YocCODOB7:false,...addPropertyOverrides({VjahK9LIb:{RRiCEwQSe:\"\",variant:matchVariant(\"rBjmYZYQZ\")}},baseVariant,gestureVariant)})})})]})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1unztaa\",\"data-framer-name\":\"Outline\",layoutDependency:layoutDependency,layoutId:\"iltwf5erL\"}),isDisplayed2()&&/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:false,__framer__scrollDirection:{direction:\"down\",target:animation},__framer__styleAppearEffectEnabled:true,__framer__threshold:0,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-gq79sj\",\"data-framer-name\":\"Border Hide\",layoutDependency:layoutDependency,layoutId:\"JsmGlZu0X\",style:{backgroundColor:\"var(--token-d884629f-6ab2-405d-9f0b-63245a63cdd2, rgb(255, 255, 255))\"}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-DniT7.framer-12uiyei, .framer-DniT7 .framer-12uiyei { display: block; }\",\".framer-DniT7.framer-dpic5w { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; overflow: visible; padding: 0px 32px 0px 32px; position: relative; width: 1280px; }\",\".framer-DniT7 .framer-9bd3yp { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1376px; overflow: visible; padding: 0px 24px 0px 24px; position: relative; width: 1px; }\",\".framer-DniT7 .framer-iav51b { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; min-height: 80px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-DniT7 .framer-3wofu1 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-DniT7 .framer-12s22f9 { height: 19px; position: relative; width: 125px; }\",\".framer-DniT7 .framer-1g8vck3 { height: 7px; left: 6px; position: absolute; top: 0px; width: 6px; }\",\".framer-DniT7 .framer-1xpcdhi { height: 7px; left: 0px; position: absolute; top: 7px; width: 6px; }\",\".framer-DniT7 .framer-13nnecd { height: 7px; left: 13px; position: absolute; top: 7px; width: 6px; }\",\".framer-DniT7 .framer-100gjox { height: 7px; left: 6px; position: absolute; top: 13px; width: 6px; }\",\".framer-DniT7 .framer-14ohgri { height: 19px; left: 24px; position: absolute; top: 0px; width: 15px; }\",\".framer-DniT7 .framer-1db2e7l { height: 19px; left: 96px; position: absolute; top: 0px; width: 11px; }\",\".framer-DniT7 .framer-1wg5mb6 { height: 15px; left: 39px; position: absolute; top: 5px; width: 18px; }\",\".framer-DniT7 .framer-1xyodzy { height: 6px; left: 44px; position: absolute; top: 9px; width: 6px; }\",\".framer-DniT7 .framer-fwuow5 { height: 19px; left: 58px; position: absolute; top: 0px; width: 17px; }\",\".framer-DniT7 .framer-1t6udfh { height: 6px; left: 64px; position: absolute; top: 9px; width: 6px; }\",\".framer-DniT7 .framer-1bnznii { height: 15px; left: 77px; position: absolute; top: 5px; width: 18px; }\",\".framer-DniT7 .framer-1anjps3 { height: 6px; left: 83px; position: absolute; top: 9px; width: 6px; }\",\".framer-DniT7 .framer-1nv7yyl { height: 15px; left: 108px; position: absolute; top: 5px; width: 18px; }\",\".framer-DniT7 .framer-kklb8i { height: 6px; left: 114px; position: absolute; top: 9px; width: 6px; }\",\".framer-DniT7 .framer-4oca24, .framer-DniT7 .framer-1h3llxw { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-end; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-DniT7 .framer-1btv0yl-container, .framer-DniT7 .framer-4bpvk6-container, .framer-DniT7 .framer-1redaub-container, .framer-DniT7 .framer-mrqgv-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-DniT7 .framer-1qpdh8f { align-content: center; align-items: center; display: flex; flex: 2 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-DniT7 .framer-9x7alq { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-DniT7 .framer-18x2356, .framer-DniT7 .framer-tcsfq, .framer-DniT7 .framer-pilwgz, .framer-DniT7 .framer-1sx1cm3, .framer-DniT7 .framer-1fv5p2f, .framer-DniT7 .framer-55xoe1 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-DniT7 .framer-1tekdvd { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 5px; height: 155px; justify-content: flex-start; padding: 15px; position: relative; width: 150px; }\",\".framer-DniT7 .framer-1v63dl0, .framer-DniT7 .framer-1oki6v2, .framer-DniT7 .framer-gj725v { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-DniT7 .framer-9fus1o { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-DniT7 .framer-zk2eba { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 8px; position: relative; width: min-content; }\",\".framer-DniT7 .framer-1wk7svr { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 20px); overflow: visible; position: relative; width: 20px; z-index: 1; }\",\".framer-DniT7 .framer-zfe3zf { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 24px); left: 50%; position: absolute; top: 50%; width: 24px; }\",\".framer-DniT7 .framer-wg3fxq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px 4px 0px 4px; position: relative; width: min-content; z-index: 1; }\",\".framer-DniT7 .framer-25qdz0-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 2; }\",\".framer-DniT7 .framer-1unztaa { -webkit-user-select: none; align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; justify-content: center; left: 0px; overflow: visible; padding: 0px 32px 0px 32px; pointer-events: none; position: absolute; right: 0px; top: 0px; user-select: none; z-index: 1; }\",\".framer-DniT7 .framer-gq79sj { bottom: 0px; flex: none; height: 1px; left: 0px; overflow: var(--overflow-clip-fallback, clip); position: absolute; right: 0px; z-index: 1; }\",\".framer-DniT7.framer-v-6y890f.framer-dpic5w, .framer-DniT7.framer-v-ye1iit.framer-dpic5w { flex-direction: column; padding: 0px 16px 0px 16px; width: 810px; }\",\".framer-DniT7.framer-v-6y890f .framer-9bd3yp, .framer-DniT7.framer-v-ye1iit .framer-9bd3yp { flex: none; flex-direction: column; padding: 0px 16px 0px 16px; width: 100%; }\",\".framer-DniT7.framer-v-6y890f .framer-iav51b, .framer-DniT7.framer-v-ye1iit .framer-iav51b { flex: none; width: 100%; }\",\".framer-DniT7.framer-v-6y890f .framer-1qpdh8f { flex: none; flex-direction: column; width: 100%; z-index: 1; }\",\".framer-DniT7.framer-v-6y890f .framer-9x7alq { align-content: flex-start; align-items: flex-start; flex: none; flex-direction: column; gap: 24px; order: 0; width: 100%; }\",\".framer-DniT7.framer-v-6y890f .framer-pilwgz, .framer-DniT7.framer-v-6y890f .framer-1sx1cm3, .framer-DniT7.framer-v-6y890f .framer-1fv5p2f { cursor: pointer; }\",\".framer-DniT7.framer-v-6y890f .framer-1h3llxw { align-content: flex-start; align-items: flex-start; flex: none; flex-direction: column; order: 1; padding: 0px 0px 16px 0px; width: 100%; }\",\".framer-DniT7.framer-v-6y890f .framer-1unztaa, .framer-DniT7.framer-v-ye1iit .framer-1unztaa { padding: 0px 16px 0px 16px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,'.framer-DniT7[data-border=\"true\"]::after, .framer-DniT7 [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 80\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"VjahK9LIb\":{\"layout\":[\"fixed\",\"auto\"]},\"fVOs0qVuX\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramermFuTTjBwU=withCSS(Component,css,\"framer-DniT7\");export default FramermFuTTjBwU;FramermFuTTjBwU.displayName=\"Nav\";FramermFuTTjBwU.defaultProps={height:80,width:1280};addPropertyControls(FramermFuTTjBwU,{variant:{options:[\"S0BMMsjon\",\"VjahK9LIb\",\"fVOs0qVuX\"],optionTitles:[\"Desktop\",\"Tablet・Open\",\"Tablet・Close\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramermFuTTjBwU,[{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\"}]},...ButtonFonts,...GitHubFonts,...BurstFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts)],{supportsExplicitInterCodegen:true});FramermFuTTjBwU.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Button,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramermFuTTjBwU\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"80\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1280\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"VjahK9LIb\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"fVOs0qVuX\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mFuTTjBwU.map","/**\n * @license\n * Copyright 2010-2021 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nconst e=\"136\";const t={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2};const n={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3};const r=0;const i=1;const s=2;const a=3;const o=0;const l=1;const c=2;const u=3;const h=0;const d=1;const p=2;const f=1;const m=2;const g=0;const y=1;const x=2;const b=3;const _=4;const M=5;const w=100;const S=101;const T=102;const E=103;const A=104;const L=200;const C=201;const R=202;const P=203;const I=204;const D=205;const B=206;const V=207;const N=208;const U=209;const z=210;const G=0;const F=1;const O=2;const H=3;const k=4;const W=5;const j=6;const q=7;const X=0;const J=1;const Y=2;const Z=0;const Q=1;const K=2;const $=3;const ee=4;const te=5;const ne=300;const re=301;const ie=302;const se=303;const ae=304;const oe=306;const le=307;const ce=1e3;const ue=1001;const he=1002;const de=1003;const pe=1004;const fe=1004;const me=1005;const ge=1005;const ye=1006;const ve=1007;const xe=1007;const be=1008;const _e=1008;const Me=1009;const we=1010;const Se=1011;const Te=1012;const Ee=1013;const Ae=1014;const Le=1015;const Ce=1016;const Re=1017;const Pe=1018;const Ie=1019;const De=1020;const Be=1021;const Ve=1022;const Ne=1023;const Ue=1024;const ze=1025;const Ge=1026;const Fe=1027;const Oe=1028;const He=1029;const ke=1030;const We=1031;const je=1032;const qe=1033;const Xe=33776;const Je=33777;const Ye=33778;const Ze=33779;const Qe=35840;const Ke=35841;const $e=35842;const et=35843;const tt=36196;const nt=37492;const rt=37496;const it=37808;const st=37809;const at=37810;const ot=37811;const lt=37812;const ct=37813;const ut=37814;const ht=37815;const dt=37816;const pt=37817;const ft=37818;const mt=37819;const gt=37820;const yt=37821;const vt=36492;const xt=37840;const bt=37841;const _t=37842;const Mt=37843;const wt=37844;const St=37845;const Tt=37846;const Et=37847;const At=37848;const Lt=37849;const Ct=37850;const Rt=37851;const Pt=37852;const It=37853;const Dt=2200;const Bt=2201;const Vt=2202;const Nt=2300;const Ut=2301;const zt=2302;const Gt=2400;const Ft=2401;const Ot=2402;const Ht=2500;const kt=2501;const Wt=0;const jt=1;const qt=2;const Xt=3e3;const Jt=3001;const Yt=3200;const Zt=3201;const Qt=0;const Kt=1;const $t=0;const en=7680;const tn=7681;const nn=7682;const rn=7683;const sn=34055;const an=34056;const on=5386;const ln=512;const cn=513;const un=514;const hn=515;const dn=516;const pn=517;const fn=518;const mn=519;const gn=35044;const yn=35048;const vn=35040;const xn=35045;const bn=35049;const _n=35041;const Mn=35046;const wn=35050;const Sn=35042;const Tn=\"100\";const En=\"300 es\";class EventDispatcher{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]);-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return false;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners;const r=n[e];if(void 0!==r){const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners;const n=t[e.type];if(void 0!==n){e.target=this;const t=n.slice(0);for(let n=0,r=t.length;n<r;n++)t[n].call(this,e);e.target=null}}}const An=[];for(let e=0;e<256;e++)An[e]=(e<16?\"0\":\"\")+e.toString(16);let Ln=1234567;const Cn=Math.PI/180;const Rn=180/Math.PI;function generateUUID(){const e=4294967295*Math.random()|0;const t=4294967295*Math.random()|0;const n=4294967295*Math.random()|0;const r=4294967295*Math.random()|0;const i=An[255&e]+An[e>>8&255]+An[e>>16&255]+An[e>>24&255]+\"-\"+An[255&t]+An[t>>8&255]+\"-\"+An[t>>16&15|64]+An[t>>24&255]+\"-\"+An[63&n|128]+An[n>>8&255]+\"-\"+An[n>>16&255]+An[n>>24&255]+An[255&r]+An[r>>8&255]+An[r>>16&255]+An[r>>24&255];return i.toUpperCase()}function clamp(e,t,n){return Math.max(t,Math.min(n,e))}function euclideanModulo(e,t){return(e%t+t)%t}function mapLinear(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function inverseLerp(e,t,n){return e!==t?(n-e)/(t-e):0}function lerp(e,t,n){return(1-n)*e+n*t}function damp(e,t,n,r){return lerp(e,t,1-Math.exp(-n*r))}function pingpong(e,t=1){return t-Math.abs(euclideanModulo(e,2*t)-t)}function smoothstep(e,t,n){if(e<=t)return 0;if(e>=n)return 1;e=(e-t)/(n-t);return e*e*(3-2*e)}function smootherstep(e,t,n){if(e<=t)return 0;if(e>=n)return 1;e=(e-t)/(n-t);return e*e*e*(e*(6*e-15)+10)}function randInt(e,t){return e+Math.floor(Math.random()*(t-e+1))}function randFloat(e,t){return e+Math.random()*(t-e)}function randFloatSpread(e){return e*(.5-Math.random())}function seededRandom(e){void 0!==e&&(Ln=e%2147483647);Ln=16807*Ln%2147483647;return(Ln-1)/2147483646}function degToRad(e){return e*Cn}function radToDeg(e){return e*Rn}function isPowerOfTwo(e){return 0===(e&e-1)&&0!==e}function ceilPowerOfTwo(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function floorPowerOfTwo(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function setQuaternionFromProperEuler(e,t,n,r,i){const s=Math.cos;const a=Math.sin;const o=s(n/2);const l=a(n/2);const c=s((t+r)/2);const u=a((t+r)/2);const h=s((t-r)/2);const d=a((t-r)/2);const p=s((r-t)/2);const f=a((r-t)/2);switch(i){case\"XYX\":e.set(o*u,l*h,l*d,o*c);break;case\"YZY\":e.set(l*d,o*u,l*h,o*c);break;case\"ZXZ\":e.set(l*h,l*d,o*u,o*c);break;case\"XZX\":e.set(o*u,l*f,l*p,o*c);break;case\"YXY\":e.set(l*p,o*u,l*f,o*c);break;case\"ZYZ\":e.set(l*f,l*p,o*u,o*c);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+i)}}var Pn=Object.freeze({__proto__:null,DEG2RAD:Cn,RAD2DEG:Rn,generateUUID:generateUUID,clamp:clamp,euclideanModulo:euclideanModulo,mapLinear:mapLinear,inverseLerp:inverseLerp,lerp:lerp,damp:damp,pingpong:pingpong,smoothstep:smoothstep,smootherstep:smootherstep,randInt:randInt,randFloat:randFloat,randFloatSpread:randFloatSpread,seededRandom:seededRandom,degToRad:degToRad,radToDeg:radToDeg,isPowerOfTwo:isPowerOfTwo,ceilPowerOfTwo:ceilPowerOfTwo,floorPowerOfTwo:floorPowerOfTwo,setQuaternionFromProperEuler:setQuaternionFromProperEuler});class Vector2{constructor(e=0,t=0){this.x=e;this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){this.x=e;this.y=t;return this}setScalar(e){this.x=e;this.y=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){this.x=e.x;this.y=e.y;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;return this}addScalar(e){this.x+=e;this.y+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;return this}subScalar(e){this.x-=e;this.y-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;return this}multiply(e){this.x*=e.x;this.y*=e.y;return this}multiplyScalar(e){this.x*=e;this.y*=e;return this}divide(e){this.x/=e.x;this.y/=e.y;return this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y;const r=e.elements;this.x=r[0]*t+r[3]*n+r[6];this.y=r[1]*t+r[4]*n+r[7];return this}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);return this}negate(){this.x=-this.x;this.y=-this.y;return this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){const e=Math.atan2(-this.y,-this.x)+Math.PI;return e}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;return this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);return this}rotateAround(e,t){const n=Math.cos(t),r=Math.sin(t);const i=this.x-e.x;const s=this.y-e.y;this.x=i*n-s*r+e.x;this.y=i*r+s*n+e.y;return this}random(){this.x=Math.random();this.y=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y}}Vector2.prototype.isVector2=true;class Matrix3{constructor(){this.elements=[1,0,0,0,1,0,0,0,1];arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}set(e,t,n,r,i,s,a,o,l){const c=this.elements;c[0]=e;c[1]=r;c[2]=a;c[3]=t;c[4]=i;c[5]=o;c[6]=n;c[7]=s;c[8]=l;return this}identity(){this.set(1,0,0,0,1,0,0,0,1);return this}copy(e){const t=this.elements;const n=e.elements;t[0]=n[0];t[1]=n[1];t[2]=n[2];t[3]=n[3];t[4]=n[4];t[5]=n[5];t[6]=n[6];t[7]=n[7];t[8]=n[8];return this}extractBasis(e,t,n){e.setFromMatrix3Column(this,0);t.setFromMatrix3Column(this,1);n.setFromMatrix3Column(this,2);return this}setFromMatrix4(e){const t=e.elements;this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]);return this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements;const r=t.elements;const i=this.elements;const s=n[0],a=n[3],o=n[6];const l=n[1],c=n[4],u=n[7];const h=n[2],d=n[5],p=n[8];const f=r[0],m=r[3],g=r[6];const y=r[1],x=r[4],b=r[7];const _=r[2],M=r[5],w=r[8];i[0]=s*f+a*y+o*_;i[3]=s*m+a*x+o*M;i[6]=s*g+a*b+o*w;i[1]=l*f+c*y+u*_;i[4]=l*m+c*x+u*M;i[7]=l*g+c*b+u*w;i[2]=h*f+d*y+p*_;i[5]=h*m+d*x+p*M;i[8]=h*g+d*b+p*w;return this}multiplyScalar(e){const t=this.elements;t[0]*=e;t[3]*=e;t[6]*=e;t[1]*=e;t[4]*=e;t[7]*=e;t[2]*=e;t[5]*=e;t[8]*=e;return this}determinant(){const e=this.elements;const t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8];return t*s*c-t*a*l-n*i*c+n*a*o+r*i*l-r*s*o}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=c*s-a*l,h=a*o-c*i,d=l*i-s*o,p=t*u+n*h+r*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;e[0]=u*f;e[1]=(r*l-c*n)*f;e[2]=(a*n-r*s)*f;e[3]=h*f;e[4]=(c*t-r*o)*f;e[5]=(r*i-a*t)*f;e[6]=d*f;e[7]=(n*o-l*t)*f;e[8]=(s*t-n*i)*f;return this}transpose(){let e;const t=this.elements;e=t[1];t[1]=t[3];t[3]=e;e=t[2];t[2]=t[6];t[6]=e;e=t[5];t[5]=t[7];t[7]=e;return this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;e[0]=t[0];e[1]=t[3];e[2]=t[6];e[3]=t[1];e[4]=t[4];e[5]=t[7];e[6]=t[2];e[7]=t[5];e[8]=t[8];return this}setUvTransform(e,t,n,r,i,s,a){const o=Math.cos(i);const l=Math.sin(i);this.set(n*o,n*l,-n*(o*s+l*a)+s+e,-r*l,r*o,-r*(-l*s+o*a)+a+t,0,0,1);return this}scale(e,t){const n=this.elements;n[0]*=e;n[3]*=e;n[6]*=e;n[1]*=t;n[4]*=t;n[7]*=t;return this}rotate(e){const t=Math.cos(e);const n=Math.sin(e);const r=this.elements;const i=r[0],s=r[3],a=r[6];const o=r[1],l=r[4],c=r[7];r[0]=t*i+n*o;r[3]=t*s+n*l;r[6]=t*a+n*c;r[1]=-n*i+t*o;r[4]=-n*s+t*l;r[7]=-n*a+t*c;return this}translate(e,t){const n=this.elements;n[0]+=e*n[2];n[3]+=e*n[5];n[6]+=e*n[8];n[1]+=t*n[2];n[4]+=t*n[5];n[7]+=t*n[8];return this}equals(e){const t=this.elements;const n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return false;return true}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;e[t]=n[0];e[t+1]=n[1];e[t+2]=n[2];e[t+3]=n[3];e[t+4]=n[4];e[t+5]=n[5];e[t+6]=n[6];e[t+7]=n[7];e[t+8]=n[8];return e}clone(){return(new this.constructor).fromArray(this.elements)}}Matrix3.prototype.isMatrix3=true;function arrayMax(e){if(0===e.length)return-Infinity;let t=e[0];for(let n=1,r=e.length;n<r;++n)e[n]>t&&(t=e[n]);return t}const In={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function getTypedArray(e,t){return new In[e](t)}function createElementNS(e){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",e)}let Dn;class ImageUtils{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if(\"undefined\"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===Dn&&(Dn=createElementNS(\"canvas\"));Dn.width=e.width;Dn.height=e.height;const n=Dn.getContext(\"2d\");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height);t=Dn}if(t.width>2048||t.height>2048){console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\",e);return t.toDataURL(\"image/jpeg\",.6)}return t.toDataURL(\"image/png\")}}let Bn=0;class Texture extends EventDispatcher{constructor(e=Texture.DEFAULT_IMAGE,t=Texture.DEFAULT_MAPPING,n=ue,r=ue,i=ye,s=be,a=Ne,o=Me,l=1,c=Xt){super();Object.defineProperty(this,\"id\",{value:Bn++});this.uuid=generateUUID();this.name=\"\";this.image=e;this.mipmaps=[];this.mapping=t;this.wrapS=n;this.wrapT=r;this.magFilter=i;this.minFilter=s;this.anisotropy=l;this.format=a;this.internalFormat=null;this.type=o;this.offset=new Vector2(0,0);this.repeat=new Vector2(1,1);this.center=new Vector2(0,0);this.rotation=0;this.matrixAutoUpdate=true;this.matrix=new Matrix3;this.generateMipmaps=true;this.premultiplyAlpha=false;this.flipY=true;this.unpackAlignment=4;this.encoding=c;this.userData={};this.version=0;this.onUpdate=null;this.isRenderTargetTexture=false}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name;this.image=e.image;this.mipmaps=e.mipmaps.slice(0);this.mapping=e.mapping;this.wrapS=e.wrapS;this.wrapT=e.wrapT;this.magFilter=e.magFilter;this.minFilter=e.minFilter;this.anisotropy=e.anisotropy;this.format=e.format;this.internalFormat=e.internalFormat;this.type=e.type;this.offset.copy(e.offset);this.repeat.copy(e.repeat);this.center.copy(e.center);this.rotation=e.rotation;this.matrixAutoUpdate=e.matrixAutoUpdate;this.matrix.copy(e.matrix);this.generateMipmaps=e.generateMipmaps;this.premultiplyAlpha=e.premultiplyAlpha;this.flipY=e.flipY;this.unpackAlignment=e.unpackAlignment;this.encoding=e.encoding;this.userData=JSON.parse(JSON.stringify(e.userData));return this}toJSON(e){const t=void 0===e||\"string\"===typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];const n={metadata:{version:4.5,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const r=this.image;void 0===r.uuid&&(r.uuid=generateUUID());if(!t&&void 0===e.images[r.uuid]){let t;if(Array.isArray(r)){t=[];for(let e=0,n=r.length;e<n;e++)r[e].isDataTexture?t.push(serializeImage(r[e].image)):t.push(serializeImage(r[e]))}else t=serializeImage(r);e.images[r.uuid]={uuid:r.uuid,url:t}}n.image=r.uuid}\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData);t||(e.textures[this.uuid]=n);return n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(e){if(this.mapping!==ne)return e;e.applyMatrix3(this.matrix);if(e.x<0||e.x>1)switch(this.wrapS){case ce:e.x=e.x-Math.floor(e.x);break;case ue:e.x=e.x<0?0:1;break;case he:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ce:e.y=e.y-Math.floor(e.y);break;case ue:e.y=e.y<0?0:1;break;case he:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}this.flipY&&(e.y=1-e.y);return e}set needsUpdate(e){true===e&&this.version++}}Texture.DEFAULT_IMAGE=void 0;Texture.DEFAULT_MAPPING=ne;Texture.prototype.isTexture=true;function serializeImage(e){if(\"undefined\"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!==typeof ImageBitmap&&e instanceof ImageBitmap)return ImageUtils.getDataURL(e);if(e.data)return{data:Array.prototype.slice.call(e.data),width:e.width,height:e.height,type:e.data.constructor.name};console.warn(\"THREE.Texture: Unable to serialize Texture.\");return{}}class Vector4{constructor(e=0,t=0,n=0,r=1){this.x=e;this.y=t;this.z=n;this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){this.x=e;this.y=t;this.z=n;this.w=r;return this}setScalar(e){this.x=e;this.y=e;this.z=e;this.w=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setZ(e){this.z=e;return this}setW(e){this.w=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){this.x=e.x;this.y=e.y;this.z=e.z;this.w=void 0!==e.w?e.w:1;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;this.z+=e.z;this.w+=e.w;return this}addScalar(e){this.x+=e;this.y+=e;this.z+=e;this.w+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;this.z=e.z+t.z;this.w=e.w+t.w;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;this.z+=e.z*t;this.w+=e.w*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;this.z-=e.z;this.w-=e.w;return this}subScalar(e){this.x-=e;this.y-=e;this.z-=e;this.w-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;this.z=e.z-t.z;this.w=e.w-t.w;return this}multiply(e){this.x*=e.x;this.y*=e.y;this.z*=e.z;this.w*=e.w;return this}multiplyScalar(e){this.x*=e;this.y*=e;this.z*=e;this.w*=e;return this}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,i=this.w;const s=e.elements;this.x=s[0]*t+s[4]*n+s[8]*r+s[12]*i;this.y=s[1]*t+s[5]*n+s[9]*r+s[13]*i;this.z=s[2]*t+s[6]*n+s[10]*r+s[14]*i;this.w=s[3]*t+s[7]*n+s[11]*r+s[15]*i;return this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);if(t<1e-4){this.x=1;this.y=0;this.z=0}else{this.x=e.x/t;this.y=e.y/t;this.z=e.z/t}return this}setAxisAngleFromRotationMatrix(e){let t,n,r,i;const s=.01,a=.1,o=e.elements,l=o[0],c=o[4],u=o[8],h=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(c-h)<s&&Math.abs(u-f)<s&&Math.abs(p-m)<s){if(Math.abs(c+h)<a&&Math.abs(u+f)<a&&Math.abs(p+m)<a&&Math.abs(l+d+g-3)<a){this.set(1,0,0,0);return this}t=Math.PI;const e=(l+1)/2;const o=(d+1)/2;const y=(g+1)/2;const x=(c+h)/4;const b=(u+f)/4;const _=(p+m)/4;if(e>o&&e>y)if(e<s){n=0;r=.707106781;i=.707106781}else{n=Math.sqrt(e);r=x/n;i=b/n}else if(o>y)if(o<s){n=.707106781;r=0;i=.707106781}else{r=Math.sqrt(o);n=x/r;i=_/r}else if(y<s){n=.707106781;r=.707106781;i=0}else{i=Math.sqrt(y);n=b/i;r=_/i}this.set(n,r,i,t);return this}let y=Math.sqrt((m-p)*(m-p)+(u-f)*(u-f)+(h-c)*(h-c));Math.abs(y)<.001&&(y=1);this.x=(m-p)/y;this.y=(u-f)/y;this.z=(h-c)/y;this.w=Math.acos((l+d+g-1)/2);return this}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);this.z=Math.min(this.z,e.z);this.w=Math.min(this.w,e.w);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);this.z=Math.max(this.z,e.z);this.w=Math.max(this.w,e.w);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));this.z=Math.max(e.z,Math.min(t.z,this.z));this.w=Math.max(e.w,Math.min(t.w,this.w));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));this.z=Math.max(e,Math.min(t,this.z));this.w=Math.max(e,Math.min(t,this.w));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z);this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;this.z+=(e.z-this.z)*t;this.w+=(e.w-this.w)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;this.z=e.z+(t.z-e.z)*n;this.w=e.w+(t.w-e.w)*n;return this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];this.z=e[t+2];this.w=e[t+3];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;e[t+2]=this.z;e[t+3]=this.w;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);this.z=e.getZ(t);this.w=e.getW(t);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();this.w=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z;yield this.w}}Vector4.prototype.isVector4=true;class WebGLRenderTarget extends EventDispatcher{constructor(e,t,n={}){super();this.width=e;this.height=t;this.depth=1;this.scissor=new Vector4(0,0,e,t);this.scissorTest=false;this.viewport=new Vector4(0,0,e,t);this.texture=new Texture(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding);this.texture.isRenderTargetTexture=true;this.texture.image={width:e,height:t,depth:1};this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps;this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null;this.texture.minFilter=void 0!==n.minFilter?n.minFilter:ye;this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer;this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer;this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth};this.texture=e}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e;this.height=t;this.depth=n;this.texture.image.width=e;this.texture.image.height=t;this.texture.image.depth=n;this.dispose()}this.viewport.set(0,0,e,t);this.scissor.set(0,0,e,t)}clone(){return(new this.constructor).copy(this)}copy(e){this.width=e.width;this.height=e.height;this.depth=e.depth;this.viewport.copy(e.viewport);this.texture=e.texture.clone();this.texture.image={...this.texture.image};this.depthBuffer=e.depthBuffer;this.stencilBuffer=e.stencilBuffer;this.depthTexture=e.depthTexture;return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}WebGLRenderTarget.prototype.isWebGLRenderTarget=true;class WebGLMultipleRenderTargets extends WebGLRenderTarget{constructor(e,t,n){super(e,t);const r=this.texture;this.texture=[];for(let e=0;e<n;e++)this.texture[e]=r.clone()}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e;this.height=t;this.depth=n;for(let r=0,i=this.texture.length;r<i;r++){this.texture[r].image.width=e;this.texture[r].image.height=t;this.texture[r].image.depth=n}this.dispose()}this.viewport.set(0,0,e,t);this.scissor.set(0,0,e,t);return this}copy(e){this.dispose();this.width=e.width;this.height=e.height;this.depth=e.depth;this.viewport.set(0,0,this.width,this.height);this.scissor.set(0,0,this.width,this.height);this.depthBuffer=e.depthBuffer;this.stencilBuffer=e.stencilBuffer;this.depthTexture=e.depthTexture;this.texture.length=0;for(let t=0,n=e.texture.length;t<n;t++)this.texture[t]=e.texture[t].clone();return this}}WebGLMultipleRenderTargets.prototype.isWebGLMultipleRenderTargets=true;class WebGLMultisampleRenderTarget extends WebGLRenderTarget{constructor(e,t,n={}){super(e,t,n);this.samples=4;this.ignoreDepthForMultisampleCopy=void 0===n.ignoreDepth||n.ignoreDepth;this.useRenderToTexture=void 0!==n.useRenderToTexture&&n.useRenderToTexture;this.useRenderbuffer=false===this.useRenderToTexture}copy(e){super.copy.call(this,e);this.samples=e.samples;this.useRenderToTexture=e.useRenderToTexture;this.useRenderbuffer=e.useRenderbuffer;return this}}WebGLMultisampleRenderTarget.prototype.isWebGLMultisampleRenderTarget=true;class Quaternion{constructor(e=0,t=0,n=0,r=1){this._x=e;this._y=t;this._z=n;this._w=r}static slerp(e,t,n,r){console.warn(\"THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.\");return n.slerpQuaternions(e,t,r)}static slerpFlat(e,t,n,r,i,s,a){let o=n[r+0],l=n[r+1],c=n[r+2],u=n[r+3];const h=i[s+0],d=i[s+1],p=i[s+2],f=i[s+3];if(0!==a)if(1!==a){if(u!==f||o!==h||l!==d||c!==p){let e=1-a;const t=o*h+l*d+c*p+u*f,n=t>=0?1:-1,r=1-t*t;if(r>Number.EPSILON){const i=Math.sqrt(r),s=Math.atan2(i,t*n);e=Math.sin(e*s)/i;a=Math.sin(a*s)/i}const i=a*n;o=o*e+h*i;l=l*e+d*i;c=c*e+p*i;u=u*e+f*i;if(e===1-a){const e=1/Math.sqrt(o*o+l*l+c*c+u*u);o*=e;l*=e;c*=e;u*=e}}e[t]=o;e[t+1]=l;e[t+2]=c;e[t+3]=u}else{e[t+0]=h;e[t+1]=d;e[t+2]=p;e[t+3]=f}else{e[t+0]=o;e[t+1]=l;e[t+2]=c;e[t+3]=u}}static multiplyQuaternionsFlat(e,t,n,r,i,s){const a=n[r];const o=n[r+1];const l=n[r+2];const c=n[r+3];const u=i[s];const h=i[s+1];const d=i[s+2];const p=i[s+3];e[t]=a*p+c*u+o*d-l*h;e[t+1]=o*p+c*h+l*u-a*d;e[t+2]=l*p+c*d+a*h-o*u;e[t+3]=c*p-a*u-o*h-l*d;return e}get x(){return this._x}set x(e){this._x=e;this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e;this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e;this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e;this._onChangeCallback()}set(e,t,n,r){this._x=e;this._y=t;this._z=n;this._w=r;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){this._x=e.x;this._y=e.y;this._z=e.z;this._w=e.w;this._onChangeCallback();return this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");const n=e._x,r=e._y,i=e._z,s=e._order;const a=Math.cos;const o=Math.sin;const l=a(n/2);const c=a(r/2);const u=a(i/2);const h=o(n/2);const d=o(r/2);const p=o(i/2);switch(s){case\"XYZ\":this._x=h*c*u+l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u-h*d*p;break;case\"YXZ\":this._x=h*c*u+l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u+h*d*p;break;case\"ZXY\":this._x=h*c*u-l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u-h*d*p;break;case\"ZYX\":this._x=h*c*u-l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u+h*d*p;break;case\"YZX\":this._x=h*c*u+l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u-h*d*p;break;case\"XZY\":this._x=h*c*u-l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u+h*d*p;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+s)}false!==t&&this._onChangeCallback();return this}setFromAxisAngle(e,t){const n=t/2,r=Math.sin(n);this._x=e.x*r;this._y=e.y*r;this._z=e.z*r;this._w=Math.cos(n);this._onChangeCallback();return this}setFromRotationMatrix(e){const t=e.elements,n=t[0],r=t[4],i=t[8],s=t[1],a=t[5],o=t[9],l=t[2],c=t[6],u=t[10],h=n+a+u;if(h>0){const e=.5/Math.sqrt(h+1);this._w=.25/e;this._x=(c-o)*e;this._y=(i-l)*e;this._z=(s-r)*e}else if(n>a&&n>u){const e=2*Math.sqrt(1+n-a-u);this._w=(c-o)/e;this._x=.25*e;this._y=(r+s)/e;this._z=(i+l)/e}else if(a>u){const e=2*Math.sqrt(1+a-n-u);this._w=(i-l)/e;this._x=(r+s)/e;this._y=.25*e;this._z=(o+c)/e}else{const e=2*Math.sqrt(1+u-n-a);this._w=(s-r)/e;this._x=(i+l)/e;this._y=(o+c)/e;this._z=.25*e}this._onChangeCallback();return this}setFromUnitVectors(e,t){let n=e.dot(t)+1;if(n<Number.EPSILON){n=0;if(Math.abs(e.x)>Math.abs(e.z)){this._x=-e.y;this._y=e.x;this._z=0;this._w=n}else{this._x=0;this._y=-e.z;this._z=e.y;this._w=n}}else{this._x=e.y*t.z-e.z*t.y;this._y=e.z*t.x-e.x*t.z;this._z=e.x*t.y-e.y*t.x;this._w=n}return this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(clamp(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const r=Math.min(1,t/n);this.slerp(e,r);return this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){this._x*=-1;this._y*=-1;this._z*=-1;this._onChangeCallback();return this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();if(0===e){this._x=0;this._y=0;this._z=0;this._w=1}else{e=1/e;this._x=this._x*e;this._y=this._y*e;this._z=this._z*e;this._w=this._w*e}this._onChangeCallback();return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\");return this.multiplyQuaternions(e,t)}return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,r=e._y,i=e._z,s=e._w;const a=t._x,o=t._y,l=t._z,c=t._w;this._x=n*c+s*a+r*l-i*o;this._y=r*c+s*o+i*a-n*l;this._z=i*c+s*l+n*o-r*a;this._w=s*c-n*a-r*o-i*l;this._onChangeCallback();return this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,r=this._y,i=this._z,s=this._w;let a=s*e._w+n*e._x+r*e._y+i*e._z;if(a<0){this._w=-e._w;this._x=-e._x;this._y=-e._y;this._z=-e._z;a=-a}else this.copy(e);if(a>=1){this._w=s;this._x=n;this._y=r;this._z=i;return this}const o=1-a*a;if(o<=Number.EPSILON){const e=1-t;this._w=e*s+t*this._w;this._x=e*n+t*this._x;this._y=e*r+t*this._y;this._z=e*i+t*this._z;this.normalize();this._onChangeCallback();return this}const l=Math.sqrt(o);const c=Math.atan2(l,a);const u=Math.sin((1-t)*c)/l,h=Math.sin(t*c)/l;this._w=s*u+this._w*h;this._x=n*u+this._x*h;this._y=r*u+this._y*h;this._z=i*u+this._z*h;this._onChangeCallback();return this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}random(){const e=Math.random();const t=Math.sqrt(1-e);const n=Math.sqrt(e);const r=2*Math.PI*Math.random();const i=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(i),n*Math.cos(i),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){this._x=e[t];this._y=e[t+1];this._z=e[t+2];this._w=e[t+3];this._onChangeCallback();return this}toArray(e=[],t=0){e[t]=this._x;e[t+1]=this._y;e[t+2]=this._z;e[t+3]=this._w;return e}fromBufferAttribute(e,t){this._x=e.getX(t);this._y=e.getY(t);this._z=e.getZ(t);this._w=e.getW(t);return this}_onChange(e){this._onChangeCallback=e;return this}_onChangeCallback(){}}Quaternion.prototype.isQuaternion=true;class Vector3{constructor(e=0,t=0,n=0){this.x=e;this.y=t;this.z=n}set(e,t,n){void 0===n&&(n=this.z);this.x=e;this.y=t;this.z=n;return this}setScalar(e){this.x=e;this.y=e;this.z=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setZ(e){this.z=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){this.x=e.x;this.y=e.y;this.z=e.z;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;this.z+=e.z;return this}addScalar(e){this.x+=e;this.y+=e;this.z+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;this.z=e.z+t.z;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;this.z+=e.z*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;this.z-=e.z;return this}subScalar(e){this.x-=e;this.y-=e;this.z-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;this.z=e.z-t.z;return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\");return this.multiplyVectors(e,t)}this.x*=e.x;this.y*=e.y;this.z*=e.z;return this}multiplyScalar(e){this.x*=e;this.y*=e;this.z*=e;return this}multiplyVectors(e,t){this.x=e.x*t.x;this.y=e.y*t.y;this.z=e.z*t.z;return this}applyEuler(e){e&&e.isEuler||console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\");return this.applyQuaternion(Nn.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Nn.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;this.x=i[0]*t+i[3]*n+i[6]*r;this.y=i[1]*t+i[4]*n+i[7]*r;this.z=i[2]*t+i[5]*n+i[8]*r;return this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;const s=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*s;this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*s;this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*s;return this}applyQuaternion(e){const t=this.x,n=this.y,r=this.z;const i=e.x,s=e.y,a=e.z,o=e.w;const l=o*t+s*r-a*n;const c=o*n+a*t-i*r;const u=o*r+i*n-s*t;const h=-i*t-s*n-a*r;this.x=l*o+h*-i+c*-a-u*-s;this.y=c*o+h*-s+u*-i-l*-a;this.z=u*o+h*-a+l*-s-c*-i;return this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;this.x=i[0]*t+i[4]*n+i[8]*r;this.y=i[1]*t+i[5]*n+i[9]*r;this.z=i[2]*t+i[6]*n+i[10]*r;return this.normalize()}divide(e){this.x/=e.x;this.y/=e.y;this.z/=e.z;return this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);this.z=Math.min(this.z,e.z);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);this.z=Math.max(this.z,e.z);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));this.z=Math.max(e.z,Math.min(t.z,this.z));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));this.z=Math.max(e,Math.min(t,this.z));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;this.z+=(e.z-this.z)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;this.z=e.z+(t.z-e.z)*n;return this}cross(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\");return this.crossVectors(e,t)}return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,r=e.y,i=e.z;const s=t.x,a=t.y,o=t.z;this.x=r*o-i*a;this.y=i*s-n*o;this.z=n*a-r*s;return this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){Vn.copy(this).projectOnVector(e);return this.sub(Vn)}reflect(e){return this.sub(Vn.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(clamp(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const r=Math.sin(t)*e;this.x=r*Math.sin(n);this.y=Math.cos(t)*e;this.z=r*Math.cos(n);return this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){this.x=e*Math.sin(t);this.y=n;this.z=e*Math.cos(t);return this}setFromMatrixPosition(e){const t=e.elements;this.x=t[12];this.y=t[13];this.z=t[14];return this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length();const n=this.setFromMatrixColumn(e,1).length();const r=this.setFromMatrixColumn(e,2).length();this.x=t;this.y=n;this.z=r;return this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];this.z=e[t+2];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;e[t+2]=this.z;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);this.z=e.getZ(t);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();return this}randomDirection(){const e=2*(Math.random()-.5);const t=Math.random()*Math.PI*2;const n=Math.sqrt(1-e**2);this.x=n*Math.cos(t);this.y=n*Math.sin(t);this.z=e;return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z}}Vector3.prototype.isVector3=true;const Vn=new Vector3;const Nn=new Quaternion;class Box3{constructor(e=new Vector3(Infinity,Infinity,Infinity),t=new Vector3(-Infinity,-Infinity,-Infinity)){this.min=e;this.max=t}set(e,t){this.min.copy(e);this.max.copy(t);return this}setFromArray(e){let t=Infinity;let n=Infinity;let r=Infinity;let i=-Infinity;let s=-Infinity;let a=-Infinity;for(let o=0,l=e.length;o<l;o+=3){const l=e[o];const c=e[o+1];const u=e[o+2];l<t&&(t=l);c<n&&(n=c);u<r&&(r=u);l>i&&(i=l);c>s&&(s=c);u>a&&(a=u)}this.min.set(t,n,r);this.max.set(i,s,a);return this}setFromBufferAttribute(e){let t=Infinity;let n=Infinity;let r=Infinity;let i=-Infinity;let s=-Infinity;let a=-Infinity;for(let o=0,l=e.count;o<l;o++){const l=e.getX(o);const c=e.getY(o);const u=e.getZ(o);l<t&&(t=l);c<n&&(n=c);u<r&&(r=u);l>i&&(i=l);c>s&&(s=c);u>a&&(a=u)}this.min.set(t,n,r);this.max.set(i,s,a);return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=zn.copy(t).multiplyScalar(.5);this.min.copy(e).sub(n);this.max.copy(e).add(n);return this}setFromObject(e){this.makeEmpty();return this.expandByObject(e)}clone(){return(new this.constructor).copy(this)}copy(e){this.min.copy(e.min);this.max.copy(e.max);return this}makeEmpty(){this.min.x=this.min.y=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){this.min.min(e);this.max.max(e);return this}expandByVector(e){this.min.sub(e);this.max.add(e);return this}expandByScalar(e){this.min.addScalar(-e);this.max.addScalar(e);return this}expandByObject(e){e.updateWorldMatrix(false,false);const t=e.geometry;if(void 0!==t){null===t.boundingBox&&t.computeBoundingBox();Gn.copy(t.boundingBox);Gn.applyMatrix4(e.matrixWorld);this.union(Gn)}const n=e.children;for(let e=0,t=n.length;e<t;e++)this.expandByObject(n[e]);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){this.clampPoint(e.center,zn);return zn.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;if(e.normal.x>0){t=e.normal.x*this.min.x;n=e.normal.x*this.max.x}else{t=e.normal.x*this.max.x;n=e.normal.x*this.min.x}if(e.normal.y>0){t+=e.normal.y*this.min.y;n+=e.normal.y*this.max.y}else{t+=e.normal.y*this.max.y;n+=e.normal.y*this.min.y}if(e.normal.z>0){t+=e.normal.z*this.min.z;n+=e.normal.z*this.max.z}else{t+=e.normal.z*this.max.z;n+=e.normal.z*this.min.z}return t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return false;this.getCenter(qn);Xn.subVectors(this.max,qn);Fn.subVectors(e.a,qn);On.subVectors(e.b,qn);Hn.subVectors(e.c,qn);kn.subVectors(On,Fn);Wn.subVectors(Hn,On);jn.subVectors(Fn,Hn);let t=[0,-kn.z,kn.y,0,-Wn.z,Wn.y,0,-jn.z,jn.y,kn.z,0,-kn.x,Wn.z,0,-Wn.x,jn.z,0,-jn.x,-kn.y,kn.x,0,-Wn.y,Wn.x,0,-jn.y,jn.x,0];if(!satForAxes(t,Fn,On,Hn,Xn))return false;t=[1,0,0,0,1,0,0,0,1];if(!satForAxes(t,Fn,On,Hn,Xn))return false;Jn.crossVectors(kn,Wn);t=[Jn.x,Jn.y,Jn.z];return satForAxes(t,Fn,On,Hn,Xn)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){const t=zn.copy(e).clamp(this.min,this.max);return t.sub(e).length()}getBoundingSphere(e){this.getCenter(e.center);e.radius=.5*this.getSize(zn).length();return e}intersect(e){this.min.max(e.min);this.max.min(e.max);this.isEmpty()&&this.makeEmpty();return this}union(e){this.min.min(e.min);this.max.max(e.max);return this}applyMatrix4(e){if(this.isEmpty())return this;Un[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e);Un[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e);Un[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e);Un[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e);Un[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e);Un[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e);Un[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e);Un[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e);this.setFromPoints(Un);return this}translate(e){this.min.add(e);this.max.add(e);return this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}Box3.prototype.isBox3=true;const Un=[new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3];const zn=new Vector3;const Gn=new Box3;const Fn=new Vector3;const On=new Vector3;const Hn=new Vector3;const kn=new Vector3;const Wn=new Vector3;const jn=new Vector3;const qn=new Vector3;const Xn=new Vector3;const Jn=new Vector3;const Yn=new Vector3;function satForAxes(e,t,n,r,i){for(let s=0,a=e.length-3;s<=a;s+=3){Yn.fromArray(e,s);const a=i.x*Math.abs(Yn.x)+i.y*Math.abs(Yn.y)+i.z*Math.abs(Yn.z);const o=t.dot(Yn);const l=n.dot(Yn);const c=r.dot(Yn);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return false}return true}const Zn=new Box3;const Qn=new Vector3;const Kn=new Vector3;const $n=new Vector3;class Sphere{constructor(e=new Vector3,t=-1){this.center=e;this.radius=t}set(e,t){this.center.copy(e);this.radius=t;return this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):Zn.setFromPoints(e).getCenter(n);let r=0;for(let t=0,i=e.length;t<i;t++)r=Math.max(r,n.distanceToSquared(e[t]));this.radius=Math.sqrt(r);return this}copy(e){this.center.copy(e.center);this.radius=e.radius;return this}isEmpty(){return this.radius<0}makeEmpty(){this.center.set(0,0,0);this.radius=-1;return this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const n=this.center.distanceToSquared(e);t.copy(e);if(n>this.radius*this.radius){t.sub(this.center).normalize();t.multiplyScalar(this.radius).add(this.center)}return t}getBoundingBox(e){if(this.isEmpty()){e.makeEmpty();return e}e.set(this.center,this.center);e.expandByScalar(this.radius);return e}applyMatrix4(e){this.center.applyMatrix4(e);this.radius=this.radius*e.getMaxScaleOnAxis();return this}translate(e){this.center.add(e);return this}expandByPoint(e){$n.subVectors(e,this.center);const t=$n.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t);const n=.5*(e-this.radius);this.center.add($n.multiplyScalar(n/e));this.radius+=n}return this}union(e){true===this.center.equals(e.center)?Kn.set(0,0,1).multiplyScalar(e.radius):Kn.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius);this.expandByPoint(Qn.copy(e.center).add(Kn));this.expandByPoint(Qn.copy(e.center).sub(Kn));return this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const er=new Vector3;const tr=new Vector3;const nr=new Vector3;const rr=new Vector3;const ir=new Vector3;const sr=new Vector3;const ar=new Vector3;class Ray{constructor(e=new Vector3,t=new Vector3(0,0,-1)){this.origin=e;this.direction=t}set(e,t){this.origin.copy(e);this.direction.copy(t);return this}copy(e){this.origin.copy(e.origin);this.direction.copy(e.direction);return this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){this.direction.copy(e).sub(this.origin).normalize();return this}recast(e){this.origin.copy(this.at(e,er));return this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=er.subVectors(e,this.origin).dot(this.direction);if(t<0)return this.origin.distanceToSquared(e);er.copy(this.direction).multiplyScalar(t).add(this.origin);return er.distanceToSquared(e)}distanceSqToSegment(e,t,n,r){tr.copy(e).add(t).multiplyScalar(.5);nr.copy(t).sub(e).normalize();rr.copy(this.origin).sub(tr);const i=.5*e.distanceTo(t);const s=-this.direction.dot(nr);const a=rr.dot(this.direction);const o=-rr.dot(nr);const l=rr.lengthSq();const c=Math.abs(1-s*s);let u,h,d,p;if(c>0){u=s*o-a;h=s*a-o;p=i*c;if(u>=0)if(h>=-p)if(h<=p){const e=1/c;u*=e;h*=e;d=u*(u+s*h+2*a)+h*(s*u+h+2*o)+l}else{h=i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}else{h=-i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}else if(h<=-p){u=Math.max(0,-(-s*i+a));h=u>0?-i:Math.min(Math.max(-i,-o),i);d=-u*u+h*(h+2*o)+l}else if(h<=p){u=0;h=Math.min(Math.max(-i,-o),i);d=h*(h+2*o)+l}else{u=Math.max(0,-(s*i+a));h=u>0?i:Math.min(Math.max(-i,-o),i);d=-u*u+h*(h+2*o)+l}}else{h=s>0?-i:i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}n&&n.copy(this.direction).multiplyScalar(u).add(this.origin);r&&r.copy(nr).multiplyScalar(h).add(tr);return d}intersectSphere(e,t){er.subVectors(e.center,this.origin);const n=er.dot(this.direction);const r=er.dot(er)-n*n;const i=e.radius*e.radius;if(r>i)return null;const s=Math.sqrt(i-r);const a=n-s;const o=n+s;return a<0&&o<0?null:a<0?this.at(o,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);if(0===t)return true;const n=e.normal.dot(this.direction);return n*t<0}intersectBox(e,t){let n,r,i,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z;const h=this.origin;if(l>=0){n=(e.min.x-h.x)*l;r=(e.max.x-h.x)*l}else{n=(e.max.x-h.x)*l;r=(e.min.x-h.x)*l}if(c>=0){i=(e.min.y-h.y)*c;s=(e.max.y-h.y)*c}else{i=(e.max.y-h.y)*c;s=(e.min.y-h.y)*c}if(n>s||i>r)return null;(i>n||n!==n)&&(n=i);(s<r||r!==r)&&(r=s);if(u>=0){a=(e.min.z-h.z)*u;o=(e.max.z-h.z)*u}else{a=(e.max.z-h.z)*u;o=(e.min.z-h.z)*u}if(n>o||a>r)return null;(a>n||n!==n)&&(n=a);(o<r||r!==r)&&(r=o);return r<0?null:this.at(n>=0?n:r,t)}intersectsBox(e){return null!==this.intersectBox(e,er)}intersectTriangle(e,t,n,r,i){ir.subVectors(t,e);sr.subVectors(n,e);ar.crossVectors(ir,sr);let s=this.direction.dot(ar);let a;if(s>0){if(r)return null;a=1}else{if(!(s<0))return null;a=-1;s=-s}rr.subVectors(this.origin,e);const o=a*this.direction.dot(sr.crossVectors(rr,sr));if(o<0)return null;const l=a*this.direction.dot(ir.cross(rr));if(l<0)return null;if(o+l>s)return null;const c=-a*rr.dot(ar);return c<0?null:this.at(c/s,i)}applyMatrix4(e){this.origin.applyMatrix4(e);this.direction.transformDirection(e);return this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Matrix4{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];arguments.length>0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}set(e,t,n,r,i,s,a,o,l,c,u,h,d,p,f,m){const g=this.elements;g[0]=e;g[4]=t;g[8]=n;g[12]=r;g[1]=i;g[5]=s;g[9]=a;g[13]=o;g[2]=l;g[6]=c;g[10]=u;g[14]=h;g[3]=d;g[7]=p;g[11]=f;g[15]=m;return this}identity(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this}clone(){return(new Matrix4).fromArray(this.elements)}copy(e){const t=this.elements;const n=e.elements;t[0]=n[0];t[1]=n[1];t[2]=n[2];t[3]=n[3];t[4]=n[4];t[5]=n[5];t[6]=n[6];t[7]=n[7];t[8]=n[8];t[9]=n[9];t[10]=n[10];t[11]=n[11];t[12]=n[12];t[13]=n[13];t[14]=n[14];t[15]=n[15];return this}copyPosition(e){const t=this.elements,n=e.elements;t[12]=n[12];t[13]=n[13];t[14]=n[14];return this}setFromMatrix3(e){const t=e.elements;this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1);return this}extractBasis(e,t,n){e.setFromMatrixColumn(this,0);t.setFromMatrixColumn(this,1);n.setFromMatrixColumn(this,2);return this}makeBasis(e,t,n){this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1);return this}extractRotation(e){const t=this.elements;const n=e.elements;const r=1/or.setFromMatrixColumn(e,0).length();const i=1/or.setFromMatrixColumn(e,1).length();const s=1/or.setFromMatrixColumn(e,2).length();t[0]=n[0]*r;t[1]=n[1]*r;t[2]=n[2]*r;t[3]=0;t[4]=n[4]*i;t[5]=n[5]*i;t[6]=n[6]*i;t[7]=0;t[8]=n[8]*s;t[9]=n[9]*s;t[10]=n[10]*s;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return this}makeRotationFromEuler(e){e&&e.isEuler||console.error(\"THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");const t=this.elements;const n=e.x,r=e.y,i=e.z;const s=Math.cos(n),a=Math.sin(n);const o=Math.cos(r),l=Math.sin(r);const c=Math.cos(i),u=Math.sin(i);if(\"XYZ\"===e.order){const e=s*c,n=s*u,r=a*c,i=a*u;t[0]=o*c;t[4]=-o*u;t[8]=l;t[1]=n+r*l;t[5]=e-i*l;t[9]=-a*o;t[2]=i-e*l;t[6]=r+n*l;t[10]=s*o}else if(\"YXZ\"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e+i*a;t[4]=r*a-n;t[8]=s*l;t[1]=s*u;t[5]=s*c;t[9]=-a;t[2]=n*a-r;t[6]=i+e*a;t[10]=s*o}else if(\"ZXY\"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e-i*a;t[4]=-s*u;t[8]=r+n*a;t[1]=n+r*a;t[5]=s*c;t[9]=i-e*a;t[2]=-s*l;t[6]=a;t[10]=s*o}else if(\"ZYX\"===e.order){const e=s*c,n=s*u,r=a*c,i=a*u;t[0]=o*c;t[4]=r*l-n;t[8]=e*l+i;t[1]=o*u;t[5]=i*l+e;t[9]=n*l-r;t[2]=-l;t[6]=a*o;t[10]=s*o}else if(\"YZX\"===e.order){const e=s*o,n=s*l,r=a*o,i=a*l;t[0]=o*c;t[4]=i-e*u;t[8]=r*u+n;t[1]=u;t[5]=s*c;t[9]=-a*c;t[2]=-l*c;t[6]=n*u+r;t[10]=e-i*u}else if(\"XZY\"===e.order){const e=s*o,n=s*l,r=a*o,i=a*l;t[0]=o*c;t[4]=-u;t[8]=l*c;t[1]=e*u+i;t[5]=s*c;t[9]=n*u-r;t[2]=r*u-n;t[6]=a*c;t[10]=i*u+e}t[3]=0;t[7]=0;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return this}makeRotationFromQuaternion(e){return this.compose(cr,e,ur)}lookAt(e,t,n){const r=this.elements;pr.subVectors(e,t);0===pr.lengthSq()&&(pr.z=1);pr.normalize();hr.crossVectors(n,pr);if(0===hr.lengthSq()){1===Math.abs(n.z)?pr.x+=1e-4:pr.z+=1e-4;pr.normalize();hr.crossVectors(n,pr)}hr.normalize();dr.crossVectors(pr,hr);r[0]=hr.x;r[4]=dr.x;r[8]=pr.x;r[1]=hr.y;r[5]=dr.y;r[9]=pr.y;r[2]=hr.z;r[6]=dr.z;r[10]=pr.z;return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\");return this.multiplyMatrices(e,t)}return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements;const r=t.elements;const i=this.elements;const s=n[0],a=n[4],o=n[8],l=n[12];const c=n[1],u=n[5],h=n[9],d=n[13];const p=n[2],f=n[6],m=n[10],g=n[14];const y=n[3],x=n[7],b=n[11],_=n[15];const M=r[0],w=r[4],S=r[8],T=r[12];const E=r[1],A=r[5],L=r[9],C=r[13];const R=r[2],P=r[6],I=r[10],D=r[14];const B=r[3],V=r[7],N=r[11],U=r[15];i[0]=s*M+a*E+o*R+l*B;i[4]=s*w+a*A+o*P+l*V;i[8]=s*S+a*L+o*I+l*N;i[12]=s*T+a*C+o*D+l*U;i[1]=c*M+u*E+h*R+d*B;i[5]=c*w+u*A+h*P+d*V;i[9]=c*S+u*L+h*I+d*N;i[13]=c*T+u*C+h*D+d*U;i[2]=p*M+f*E+m*R+g*B;i[6]=p*w+f*A+m*P+g*V;i[10]=p*S+f*L+m*I+g*N;i[14]=p*T+f*C+m*D+g*U;i[3]=y*M+x*E+b*R+_*B;i[7]=y*w+x*A+b*P+_*V;i[11]=y*S+x*L+b*I+_*N;i[15]=y*T+x*C+b*D+_*U;return this}multiplyScalar(e){const t=this.elements;t[0]*=e;t[4]*=e;t[8]*=e;t[12]*=e;t[1]*=e;t[5]*=e;t[9]*=e;t[13]*=e;t[2]*=e;t[6]*=e;t[10]*=e;t[14]*=e;t[3]*=e;t[7]*=e;t[11]*=e;t[15]*=e;return this}determinant(){const e=this.elements;const t=e[0],n=e[4],r=e[8],i=e[12];const s=e[1],a=e[5],o=e[9],l=e[13];const c=e[2],u=e[6],h=e[10],d=e[14];const p=e[3],f=e[7],m=e[11],g=e[15];return p*(+i*o*u-r*l*u-i*a*h+n*l*h+r*a*d-n*o*d)+f*(+t*o*d-t*l*h+i*s*h-r*s*d+r*l*c-i*o*c)+m*(+t*l*u-t*a*d-i*s*u+n*s*d+i*a*c-n*l*c)+g*(-r*a*c-t*o*u+t*a*h+r*s*u-n*s*h+n*o*c)}transpose(){const e=this.elements;let t;t=e[1];e[1]=e[4];e[4]=t;t=e[2];e[2]=e[8];e[8]=t;t=e[6];e[6]=e[9];e[9]=t;t=e[3];e[3]=e[12];e[12]=t;t=e[7];e[7]=e[13];e[13]=t;t=e[11];e[11]=e[14];e[14]=t;return this}setPosition(e,t,n){const r=this.elements;if(e.isVector3){r[12]=e.x;r[13]=e.y;r[14]=e.z}else{r[12]=e;r[13]=t;r[14]=n}return this}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11],p=e[12],f=e[13],m=e[14],g=e[15],y=u*m*l-f*h*l+f*o*d-a*m*d-u*o*g+a*h*g,x=p*h*l-c*m*l-p*o*d+s*m*d+c*o*g-s*h*g,b=c*f*l-p*u*l+p*a*d-s*f*d-c*a*g+s*u*g,_=p*u*o-c*f*o-p*a*h+s*f*h+c*a*m-s*u*m;const M=t*y+n*x+r*b+i*_;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const w=1/M;e[0]=y*w;e[1]=(f*h*i-u*m*i-f*r*d+n*m*d+u*r*g-n*h*g)*w;e[2]=(a*m*i-f*o*i+f*r*l-n*m*l-a*r*g+n*o*g)*w;e[3]=(u*o*i-a*h*i-u*r*l+n*h*l+a*r*d-n*o*d)*w;e[4]=x*w;e[5]=(c*m*i-p*h*i+p*r*d-t*m*d-c*r*g+t*h*g)*w;e[6]=(p*o*i-s*m*i-p*r*l+t*m*l+s*r*g-t*o*g)*w;e[7]=(s*h*i-c*o*i+c*r*l-t*h*l-s*r*d+t*o*d)*w;e[8]=b*w;e[9]=(p*u*i-c*f*i-p*n*d+t*f*d+c*n*g-t*u*g)*w;e[10]=(s*f*i-p*a*i+p*n*l-t*f*l-s*n*g+t*a*g)*w;e[11]=(c*a*i-s*u*i-c*n*l+t*u*l+s*n*d-t*a*d)*w;e[12]=_*w;e[13]=(c*f*r-p*u*r+p*n*h-t*f*h-c*n*m+t*u*m)*w;e[14]=(p*a*r-s*f*r-p*n*o+t*f*o+s*n*m-t*a*m)*w;e[15]=(s*u*r-c*a*r+c*n*o-t*u*o-s*n*h+t*a*h)*w;return this}scale(e){const t=this.elements;const n=e.x,r=e.y,i=e.z;t[0]*=n;t[4]*=r;t[8]*=i;t[1]*=n;t[5]*=r;t[9]*=i;t[2]*=n;t[6]*=r;t[10]*=i;t[3]*=n;t[7]*=r;t[11]*=i;return this}getMaxScaleOnAxis(){const e=this.elements;const t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];const n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6];const r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1);return this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1);return this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1);return this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1);return this}makeRotationAxis(e,t){const n=Math.cos(t);const r=Math.sin(t);const i=1-n;const s=e.x,a=e.y,o=e.z;const l=i*s,c=i*a;this.set(l*s+n,l*a-r*o,l*o+r*a,0,l*a+r*o,c*a+n,c*o-r*s,0,l*o-r*a,c*o+r*s,i*o*o+n,0,0,0,0,1);return this}makeScale(e,t,n){this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1);return this}makeShear(e,t,n,r,i,s){this.set(1,n,i,0,e,1,s,0,t,r,1,0,0,0,0,1);return this}compose(e,t,n){const r=this.elements;const i=t._x,s=t._y,a=t._z,o=t._w;const l=i+i,c=s+s,u=a+a;const h=i*l,d=i*c,p=i*u;const f=s*c,m=s*u,g=a*u;const y=o*l,x=o*c,b=o*u;const _=n.x,M=n.y,w=n.z;r[0]=(1-(f+g))*_;r[1]=(d+b)*_;r[2]=(p-x)*_;r[3]=0;r[4]=(d-b)*M;r[5]=(1-(h+g))*M;r[6]=(m+y)*M;r[7]=0;r[8]=(p+x)*w;r[9]=(m-y)*w;r[10]=(1-(h+f))*w;r[11]=0;r[12]=e.x;r[13]=e.y;r[14]=e.z;r[15]=1;return this}decompose(e,t,n){const r=this.elements;let i=or.set(r[0],r[1],r[2]).length();const s=or.set(r[4],r[5],r[6]).length();const a=or.set(r[8],r[9],r[10]).length();const o=this.determinant();o<0&&(i=-i);e.x=r[12];e.y=r[13];e.z=r[14];lr.copy(this);const l=1/i;const c=1/s;const u=1/a;lr.elements[0]*=l;lr.elements[1]*=l;lr.elements[2]*=l;lr.elements[4]*=c;lr.elements[5]*=c;lr.elements[6]*=c;lr.elements[8]*=u;lr.elements[9]*=u;lr.elements[10]*=u;t.setFromRotationMatrix(lr);n.x=i;n.y=s;n.z=a;return this}makePerspective(e,t,n,r,i,s){void 0===s&&console.warn(\"THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.\");const a=this.elements;const o=2*i/(t-e);const l=2*i/(n-r);const c=(t+e)/(t-e);const u=(n+r)/(n-r);const h=-(s+i)/(s-i);const d=-2*s*i/(s-i);a[0]=o;a[4]=0;a[8]=c;a[12]=0;a[1]=0;a[5]=l;a[9]=u;a[13]=0;a[2]=0;a[6]=0;a[10]=h;a[14]=d;a[3]=0;a[7]=0;a[11]=-1;a[15]=0;return this}makeOrthographic(e,t,n,r,i,s){const a=this.elements;const o=1/(t-e);const l=1/(n-r);const c=1/(s-i);const u=(t+e)*o;const h=(n+r)*l;const d=(s+i)*c;a[0]=2*o;a[4]=0;a[8]=0;a[12]=-u;a[1]=0;a[5]=2*l;a[9]=0;a[13]=-h;a[2]=0;a[6]=0;a[10]=-2*c;a[14]=-d;a[3]=0;a[7]=0;a[11]=0;a[15]=1;return this}equals(e){const t=this.elements;const n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return false;return true}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;e[t]=n[0];e[t+1]=n[1];e[t+2]=n[2];e[t+3]=n[3];e[t+4]=n[4];e[t+5]=n[5];e[t+6]=n[6];e[t+7]=n[7];e[t+8]=n[8];e[t+9]=n[9];e[t+10]=n[10];e[t+11]=n[11];e[t+12]=n[12];e[t+13]=n[13];e[t+14]=n[14];e[t+15]=n[15];return e}}Matrix4.prototype.isMatrix4=true;const or=new Vector3;const lr=new Matrix4;const cr=new Vector3(0,0,0);const ur=new Vector3(1,1,1);const hr=new Vector3;const dr=new Vector3;const pr=new Vector3;const fr=new Matrix4;const mr=new Quaternion;class Euler{constructor(e=0,t=0,n=0,r=Euler.DefaultOrder){this._x=e;this._y=t;this._z=n;this._order=r}get x(){return this._x}set x(e){this._x=e;this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e;this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e;this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e;this._onChangeCallback()}set(e,t,n,r=this._order){this._x=e;this._y=t;this._z=n;this._order=r;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){this._x=e._x;this._y=e._y;this._z=e._z;this._order=e._order;this._onChangeCallback();return this}setFromRotationMatrix(e,t=this._order,n=true){const r=e.elements;const i=r[0],s=r[4],a=r[8];const o=r[1],l=r[5],c=r[9];const u=r[2],h=r[6],d=r[10];switch(t){case\"XYZ\":this._y=Math.asin(clamp(a,-1,1));if(Math.abs(a)<.9999999){this._x=Math.atan2(-c,d);this._z=Math.atan2(-s,i)}else{this._x=Math.atan2(h,l);this._z=0}break;case\"YXZ\":this._x=Math.asin(-clamp(c,-1,1));if(Math.abs(c)<.9999999){this._y=Math.atan2(a,d);this._z=Math.atan2(o,l)}else{this._y=Math.atan2(-u,i);this._z=0}break;case\"ZXY\":this._x=Math.asin(clamp(h,-1,1));if(Math.abs(h)<.9999999){this._y=Math.atan2(-u,d);this._z=Math.atan2(-s,l)}else{this._y=0;this._z=Math.atan2(o,i)}break;case\"ZYX\":this._y=Math.asin(-clamp(u,-1,1));if(Math.abs(u)<.9999999){this._x=Math.atan2(h,d);this._z=Math.atan2(o,i)}else{this._x=0;this._z=Math.atan2(-s,l)}break;case\"YZX\":this._z=Math.asin(clamp(o,-1,1));if(Math.abs(o)<.9999999){this._x=Math.atan2(-c,l);this._y=Math.atan2(-u,i)}else{this._x=0;this._y=Math.atan2(a,d)}break;case\"XZY\":this._z=Math.asin(-clamp(s,-1,1));if(Math.abs(s)<.9999999){this._x=Math.atan2(h,l);this._y=Math.atan2(a,i)}else{this._x=Math.atan2(-c,d);this._y=0}break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+t)}this._order=t;true===n&&this._onChangeCallback();return this}setFromQuaternion(e,t,n){fr.makeRotationFromQuaternion(e);return this.setFromRotationMatrix(fr,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){mr.setFromEuler(this);return this.setFromQuaternion(mr,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){this._x=e[0];this._y=e[1];this._z=e[2];void 0!==e[3]&&(this._order=e[3]);this._onChangeCallback();return this}toArray(e=[],t=0){e[t]=this._x;e[t+1]=this._y;e[t+2]=this._z;e[t+3]=this._order;return e}toVector3(e){return e?e.set(this._x,this._y,this._z):new Vector3(this._x,this._y,this._z)}_onChange(e){this._onChangeCallback=e;return this}_onChangeCallback(){}}Euler.prototype.isEuler=true;Euler.DefaultOrder=\"XYZ\";Euler.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"];class Layers{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return 0!==(this.mask&e.mask)}isEnabled(e){return 0!==(this.mask&(1<<e|0))}}let gr=0;const yr=new Vector3;const vr=new Quaternion;const xr=new Matrix4;const br=new Vector3;const _r=new Vector3;const Mr=new Vector3;const wr=new Quaternion;const Sr=new Vector3(1,0,0);const Tr=new Vector3(0,1,0);const Er=new Vector3(0,0,1);const Ar={type:\"added\"};const Lr={type:\"removed\"};class Object3D extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:gr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Object3D\";this.parent=null;this.children=[];this.up=Object3D.DefaultUp.clone();const e=new Vector3;const t=new Euler;const n=new Quaternion;const r=new Vector3(1,1,1);function onRotationChange(){n.setFromEuler(t,false)}function onQuaternionChange(){t.setFromQuaternion(n,void 0,false)}t._onChange(onRotationChange);n._onChange(onQuaternionChange);Object.defineProperties(this,{position:{configurable:true,enumerable:true,value:e},rotation:{configurable:true,enumerable:true,value:t},quaternion:{configurable:true,enumerable:true,value:n},scale:{configurable:true,enumerable:true,value:r},modelViewMatrix:{value:new Matrix4},normalMatrix:{value:new Matrix3}});this.matrix=new Matrix4;this.matrixWorld=new Matrix4;this.matrixAutoUpdate=Object3D.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=false;this.layers=new Layers;this.visible=true;this.castShadow=false;this.receiveShadow=false;this.frustumCulled=true;this.renderOrder=0;this.animations=[];this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix();this.matrix.premultiply(e);this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){this.quaternion.premultiply(e);return this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,true)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){vr.setFromAxisAngle(e,t);this.quaternion.multiply(vr);return this}rotateOnWorldAxis(e,t){vr.setFromAxisAngle(e,t);this.quaternion.premultiply(vr);return this}rotateX(e){return this.rotateOnAxis(Sr,e)}rotateY(e){return this.rotateOnAxis(Tr,e)}rotateZ(e){return this.rotateOnAxis(Er,e)}translateOnAxis(e,t){yr.copy(e).applyQuaternion(this.quaternion);this.position.add(yr.multiplyScalar(t));return this}translateX(e){return this.translateOnAxis(Sr,e)}translateY(e){return this.translateOnAxis(Tr,e)}translateZ(e){return this.translateOnAxis(Er,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(xr.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?br.copy(e):br.set(e,t,n);const r=this.parent;this.updateWorldMatrix(true,false);_r.setFromMatrixPosition(this.matrixWorld);this.isCamera||this.isLight?xr.lookAt(_r,br,this.up):xr.lookAt(br,_r,this.up);this.quaternion.setFromRotationMatrix(xr);if(r){xr.extractRotation(r.matrixWorld);vr.setFromRotationMatrix(xr);this.quaternion.premultiply(vr.invert())}}add(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}if(e===this){console.error(\"THREE.Object3D.add: object can't be added as a child of itself.\",e);return this}if(e&&e.isObject3D){null!==e.parent&&e.parent.remove(e);e.parent=this;this.children.push(e);e.dispatchEvent(Ar)}else console.error(\"THREE.Object3D.add: object not an instance of THREE.Object3D.\",e);return this}remove(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}const t=this.children.indexOf(e);if(-1!==t){e.parent=null;this.children.splice(t,1);e.dispatchEvent(Lr)}return this}removeFromParent(){const e=this.parent;null!==e&&e.remove(this);return this}clear(){for(let e=0;e<this.children.length;e++){const t=this.children[e];t.parent=null;t.dispatchEvent(Lr)}this.children.length=0;return this}attach(e){this.updateWorldMatrix(true,false);xr.copy(this.matrixWorld).invert();if(null!==e.parent){e.parent.updateWorldMatrix(true,false);xr.multiply(e.parent.matrixWorld)}e.applyMatrix4(xr);this.add(e);e.updateWorldMatrix(false,true);return this}getObjectById(e){return this.getObjectByProperty(\"id\",e)}getObjectByName(e){return this.getObjectByProperty(\"name\",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,r=this.children.length;n<r;n++){const r=this.children[n];const i=r.getObjectByProperty(e,t);if(void 0!==i)return i}}getWorldPosition(e){this.updateWorldMatrix(true,false);return e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(_r,e,Mr);return e}getWorldScale(e){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(_r,wr,e);return e}getWorldDirection(e){this.updateWorldMatrix(true,false);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverse(e)}traverseVisible(e){if(false===this.visible)return;e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}traverseAncestors(e){const t=this.parent;if(null!==t){e(t);t.traverseAncestors(e)}}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=true}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||e){null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix);this.matrixWorldNeedsUpdate=false;e=true}const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].updateMatrixWorld(e)}updateWorldMatrix(e,t){const n=this.parent;true===e&&null!==n&&n.updateWorldMatrix(true,false);this.matrixAutoUpdate&&this.updateMatrix();null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix);if(true===t){const e=this.children;for(let t=0,n=e.length;t<n;t++)e[t].updateWorldMatrix(false,true)}}toJSON(e){const t=void 0===e||\"string\"===typeof e;const n={};if(t){e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}};n.metadata={version:4.5,type:\"Object\",generator:\"Object3D.toJSON\"}}const r={};r.uuid=this.uuid;r.type=this.type;\"\"!==this.name&&(r.name=this.name);true===this.castShadow&&(r.castShadow=true);true===this.receiveShadow&&(r.receiveShadow=true);false===this.visible&&(r.visible=false);false===this.frustumCulled&&(r.frustumCulled=false);0!==this.renderOrder&&(r.renderOrder=this.renderOrder);\"{}\"!==JSON.stringify(this.userData)&&(r.userData=this.userData);r.layers=this.layers.mask;r.matrix=this.matrix.toArray();false===this.matrixAutoUpdate&&(r.matrixAutoUpdate=false);if(this.isInstancedMesh){r.type=\"InstancedMesh\";r.count=this.count;r.instanceMatrix=this.instanceMatrix.toJSON();null!==this.instanceColor&&(r.instanceColor=this.instanceColor.toJSON())}function serialize(t,n){void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e));return n.uuid}if(this.isScene){this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid));this.environment&&this.environment.isTexture&&(r.environment=this.environment.toJSON(e).uuid)}else if(this.isMesh||this.isLine||this.isPoints){r.geometry=serialize(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t<r;t++){const r=n[t];serialize(e.shapes,r)}else serialize(e.shapes,n)}}if(this.isSkinnedMesh){r.bindMode=this.bindMode;r.bindMatrix=this.bindMatrix.toArray();if(void 0!==this.skeleton){serialize(e.skeletons,this.skeleton);r.skeleton=this.skeleton.uuid}}if(void 0!==this.material)if(Array.isArray(this.material)){const t=[];for(let n=0,r=this.material.length;n<r;n++)t.push(serialize(e.materials,this.material[n]));r.material=t}else r.material=serialize(e.materials,this.material);if(this.children.length>0){r.children=[];for(let t=0;t<this.children.length;t++)r.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let t=0;t<this.animations.length;t++){const n=this.animations[t];r.animations.push(serialize(e.animations,n))}}if(t){const t=extractFromCache(e.geometries);const r=extractFromCache(e.materials);const i=extractFromCache(e.textures);const s=extractFromCache(e.images);const a=extractFromCache(e.shapes);const o=extractFromCache(e.skeletons);const l=extractFromCache(e.animations);t.length>0&&(n.geometries=t);r.length>0&&(n.materials=r);i.length>0&&(n.textures=i);s.length>0&&(n.images=s);a.length>0&&(n.shapes=a);o.length>0&&(n.skeletons=o);l.length>0&&(n.animations=l)}n.object=r;return n;function extractFromCache(e){const t=[];for(const n in e){const r=e[n];delete r.metadata;t.push(r)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=true){this.name=e.name;this.up.copy(e.up);this.position.copy(e.position);this.rotation.order=e.rotation.order;this.quaternion.copy(e.quaternion);this.scale.copy(e.scale);this.matrix.copy(e.matrix);this.matrixWorld.copy(e.matrixWorld);this.matrixAutoUpdate=e.matrixAutoUpdate;this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate;this.layers.mask=e.layers.mask;this.visible=e.visible;this.castShadow=e.castShadow;this.receiveShadow=e.receiveShadow;this.frustumCulled=e.frustumCulled;this.renderOrder=e.renderOrder;this.userData=JSON.parse(JSON.stringify(e.userData));if(true===t)for(let t=0;t<e.children.length;t++){const n=e.children[t];this.add(n.clone())}return this}}Object3D.DefaultUp=new Vector3(0,1,0);Object3D.DefaultMatrixAutoUpdate=true;Object3D.prototype.isObject3D=true;const Cr=new Vector3;const Rr=new Vector3;const Pr=new Vector3;const Ir=new Vector3;const Dr=new Vector3;const Br=new Vector3;const Vr=new Vector3;const Nr=new Vector3;const Ur=new Vector3;const zr=new Vector3;class Triangle{constructor(e=new Vector3,t=new Vector3,n=new Vector3){this.a=e;this.b=t;this.c=n}static getNormal(e,t,n,r){r.subVectors(n,t);Cr.subVectors(e,t);r.cross(Cr);const i=r.lengthSq();return i>0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){Cr.subVectors(r,t);Rr.subVectors(n,t);Pr.subVectors(e,t);const s=Cr.dot(Cr);const a=Cr.dot(Rr);const o=Cr.dot(Pr);const l=Rr.dot(Rr);const c=Rr.dot(Pr);const u=s*l-a*a;if(0===u)return i.set(-2,-1,-1);const h=1/u;const d=(l*o-a*c)*h;const p=(s*c-a*o)*h;return i.set(1-d-p,p,d)}static containsPoint(e,t,n,r){this.getBarycoord(e,t,n,r,Ir);return Ir.x>=0&&Ir.y>=0&&Ir.x+Ir.y<=1}static getUV(e,t,n,r,i,s,a,o){this.getBarycoord(e,t,n,r,Ir);o.set(0,0);o.addScaledVector(i,Ir.x);o.addScaledVector(s,Ir.y);o.addScaledVector(a,Ir.z);return o}static isFrontFacing(e,t,n,r){Cr.subVectors(n,t);Rr.subVectors(e,t);return Cr.cross(Rr).dot(r)<0}set(e,t,n){this.a.copy(e);this.b.copy(t);this.c.copy(n);return this}setFromPointsAndIndices(e,t,n,r){this.a.copy(e[t]);this.b.copy(e[n]);this.c.copy(e[r]);return this}setFromAttributeAndIndices(e,t,n,r){this.a.fromBufferAttribute(e,t);this.b.fromBufferAttribute(e,n);this.c.fromBufferAttribute(e,r);return this}clone(){return(new this.constructor).copy(this)}copy(e){this.a.copy(e.a);this.b.copy(e.b);this.c.copy(e.c);return this}getArea(){Cr.subVectors(this.c,this.b);Rr.subVectors(this.a,this.b);return.5*Cr.cross(Rr).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Triangle.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Triangle.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,i){return Triangle.getUV(e,this.a,this.b,this.c,t,n,r,i)}containsPoint(e){return Triangle.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Triangle.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,r=this.b,i=this.c;let s,a;Dr.subVectors(r,n);Br.subVectors(i,n);Nr.subVectors(e,n);const o=Dr.dot(Nr);const l=Br.dot(Nr);if(o<=0&&l<=0)return t.copy(n);Ur.subVectors(e,r);const c=Dr.dot(Ur);const u=Br.dot(Ur);if(c>=0&&u<=c)return t.copy(r);const h=o*u-c*l;if(h<=0&&o>=0&&c<=0){s=o/(o-c);return t.copy(n).addScaledVector(Dr,s)}zr.subVectors(e,i);const d=Dr.dot(zr);const p=Br.dot(zr);if(p>=0&&d<=p)return t.copy(i);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0){a=l/(l-p);return t.copy(n).addScaledVector(Br,a)}const m=c*p-d*u;if(m<=0&&u-c>=0&&d-p>=0){Vr.subVectors(i,r);a=(u-c)/(u-c+(d-p));return t.copy(r).addScaledVector(Vr,a)}const g=1/(m+f+h);s=f*g;a=h*g;return t.copy(n).addScaledVector(Dr,s).addScaledVector(Br,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let Gr=0;class Material extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:Gr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Material\";this.fog=true;this.blending=y;this.side=h;this.vertexColors=false;this.opacity=1;this.format=Ne;this.transparent=false;this.blendSrc=I;this.blendDst=D;this.blendEquation=w;this.blendSrcAlpha=null;this.blendDstAlpha=null;this.blendEquationAlpha=null;this.depthFunc=H;this.depthTest=true;this.depthWrite=true;this.stencilWriteMask=255;this.stencilFunc=mn;this.stencilRef=0;this.stencilFuncMask=255;this.stencilFail=en;this.stencilZFail=en;this.stencilZPass=en;this.stencilWrite=false;this.clippingPlanes=null;this.clipIntersection=false;this.clipShadows=false;this.shadowSide=null;this.colorWrite=true;this.precision=null;this.polygonOffset=false;this.polygonOffsetFactor=0;this.polygonOffsetUnits=0;this.dithering=false;this.alphaToCoverage=false;this.premultipliedAlpha=false;this.visible=true;this.toneMapped=true;this.userData={};this.version=0;this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!==e>0&&this.version++;this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(\"THREE.Material: '\"+t+\"' parameter is undefined.\");continue}if(\"shading\"===t){console.warn(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\");this.flatShading=n===f;continue}const r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n:console.warn(\"THREE.\"+this.type+\": '\"+t+\"' is not a property of this material.\")}}toJSON(e){const t=void 0===e||\"string\"===typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:\"Material\",generator:\"Material.toJSON\"}};n.uuid=this.uuid;n.type=this.type;\"\"!==this.name&&(n.name=this.name);this.color&&this.color.isColor&&(n.color=this.color.getHex());void 0!==this.roughness&&(n.roughness=this.roughness);void 0!==this.metalness&&(n.metalness=this.metalness);void 0!==this.sheen&&(n.sheen=this.sheen);this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex());void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness);this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex());this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity);this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex());void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity);this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex());void 0!==this.shininess&&(n.shininess=this.shininess);void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat);void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness);this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid);this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid);if(this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture){n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid;n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()}this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid);this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid);this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid);if(this.lightMap&&this.lightMap.isTexture){n.lightMap=this.lightMap.toJSON(e).uuid;n.lightMapIntensity=this.lightMapIntensity}if(this.aoMap&&this.aoMap.isTexture){n.aoMap=this.aoMap.toJSON(e).uuid;n.aoMapIntensity=this.aoMapIntensity}if(this.bumpMap&&this.bumpMap.isTexture){n.bumpMap=this.bumpMap.toJSON(e).uuid;n.bumpScale=this.bumpScale}if(this.normalMap&&this.normalMap.isTexture){n.normalMap=this.normalMap.toJSON(e).uuid;n.normalMapType=this.normalMapType;n.normalScale=this.normalScale.toArray()}if(this.displacementMap&&this.displacementMap.isTexture){n.displacementMap=this.displacementMap.toJSON(e).uuid;n.displacementScale=this.displacementScale;n.displacementBias=this.displacementBias}this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid);this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid);this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid);this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid);this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid);this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid);if(this.envMap&&this.envMap.isTexture){n.envMap=this.envMap.toJSON(e).uuid;void 0!==this.combine&&(n.combine=this.combine)}void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity);void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity);void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio);this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid);void 0!==this.transmission&&(n.transmission=this.transmission);this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid);void 0!==this.thickness&&(n.thickness=this.thickness);this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid);void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance);void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex());void 0!==this.size&&(n.size=this.size);null!==this.shadowSide&&(n.shadowSide=this.shadowSide);void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation);this.blending!==y&&(n.blending=this.blending);this.side!==h&&(n.side=this.side);this.vertexColors&&(n.vertexColors=true);this.opacity<1&&(n.opacity=this.opacity);this.format!==Ne&&(n.format=this.format);true===this.transparent&&(n.transparent=this.transparent);n.depthFunc=this.depthFunc;n.depthTest=this.depthTest;n.depthWrite=this.depthWrite;n.colorWrite=this.colorWrite;n.stencilWrite=this.stencilWrite;n.stencilWriteMask=this.stencilWriteMask;n.stencilFunc=this.stencilFunc;n.stencilRef=this.stencilRef;n.stencilFuncMask=this.stencilFuncMask;n.stencilFail=this.stencilFail;n.stencilZFail=this.stencilZFail;n.stencilZPass=this.stencilZPass;this.rotation&&0!==this.rotation&&(n.rotation=this.rotation);true===this.polygonOffset&&(n.polygonOffset=true);0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits);this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth);void 0!==this.dashSize&&(n.dashSize=this.dashSize);void 0!==this.gapSize&&(n.gapSize=this.gapSize);void 0!==this.scale&&(n.scale=this.scale);true===this.dithering&&(n.dithering=true);this.alphaTest>0&&(n.alphaTest=this.alphaTest);true===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage);true===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha);true===this.wireframe&&(n.wireframe=this.wireframe);this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth);\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap);\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin);true===this.flatShading&&(n.flatShading=this.flatShading);false===this.visible&&(n.visible=false);false===this.toneMapped&&(n.toneMapped=false);\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData);function extractFromCache(e){const t=[];for(const n in e){const r=e[n];delete r.metadata;t.push(r)}return t}if(t){const t=extractFromCache(e.textures);const r=extractFromCache(e.images);t.length>0&&(n.textures=t);r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name;this.fog=e.fog;this.blending=e.blending;this.side=e.side;this.vertexColors=e.vertexColors;this.opacity=e.opacity;this.format=e.format;this.transparent=e.transparent;this.blendSrc=e.blendSrc;this.blendDst=e.blendDst;this.blendEquation=e.blendEquation;this.blendSrcAlpha=e.blendSrcAlpha;this.blendDstAlpha=e.blendDstAlpha;this.blendEquationAlpha=e.blendEquationAlpha;this.depthFunc=e.depthFunc;this.depthTest=e.depthTest;this.depthWrite=e.depthWrite;this.stencilWriteMask=e.stencilWriteMask;this.stencilFunc=e.stencilFunc;this.stencilRef=e.stencilRef;this.stencilFuncMask=e.stencilFuncMask;this.stencilFail=e.stencilFail;this.stencilZFail=e.stencilZFail;this.stencilZPass=e.stencilZPass;this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}this.clippingPlanes=n;this.clipIntersection=e.clipIntersection;this.clipShadows=e.clipShadows;this.shadowSide=e.shadowSide;this.colorWrite=e.colorWrite;this.precision=e.precision;this.polygonOffset=e.polygonOffset;this.polygonOffsetFactor=e.polygonOffsetFactor;this.polygonOffsetUnits=e.polygonOffsetUnits;this.dithering=e.dithering;this.alphaTest=e.alphaTest;this.alphaToCoverage=e.alphaToCoverage;this.premultipliedAlpha=e.premultipliedAlpha;this.visible=e.visible;this.toneMapped=e.toneMapped;this.userData=JSON.parse(JSON.stringify(e.userData));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(e){true===e&&this.version++}}Material.prototype.isMaterial=true;const Fr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};const Or={h:0,s:0,l:0};const Hr={h:0,s:0,l:0};function hue2rgb(e,t,n){n<0&&(n+=1);n>1&&(n-=1);return n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}function SRGBToLinear(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function LinearToSRGB(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}class Color{constructor(e,t,n){return void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){e&&e.isColor?this.copy(e):\"number\"===typeof e?this.setHex(e):\"string\"===typeof e&&this.setStyle(e);return this}setScalar(e){this.r=e;this.g=e;this.b=e;return this}setHex(e){e=Math.floor(e);this.r=(e>>16&255)/255;this.g=(e>>8&255)/255;this.b=(255&e)/255;return this}setRGB(e,t,n){this.r=e;this.g=t;this.b=n;return this}setHSL(e,t,n){e=euclideanModulo(e,1);t=clamp(t,0,1);n=clamp(n,0,1);if(0===t)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+t):n+t-n*t;const i=2*n-r;this.r=hue2rgb(i,r,e+1/3);this.g=hue2rgb(i,r,e);this.b=hue2rgb(i,r,e-1/3)}return this}setStyle(e){function handleAlpha(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}let t;if(t=/^((?:rgb|hsl)a?)\\(([^\\)]*)\\)/.exec(e)){let e;const n=t[1];const r=t[2];switch(n){case\"rgb\":case\"rgba\":if(e=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){this.r=Math.min(255,parseInt(e[1],10))/255;this.g=Math.min(255,parseInt(e[2],10))/255;this.b=Math.min(255,parseInt(e[3],10))/255;handleAlpha(e[4]);return this}if(e=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){this.r=Math.min(100,parseInt(e[1],10))/100;this.g=Math.min(100,parseInt(e[2],10))/100;this.b=Math.min(100,parseInt(e[3],10))/100;handleAlpha(e[4]);return this}break;case\"hsl\":case\"hsla\":if(e=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){const t=parseFloat(e[1])/360;const n=parseInt(e[2],10)/100;const r=parseInt(e[3],10)/100;handleAlpha(e[4]);return this.setHSL(t,n,r)}break}}else if(t=/^\\#([A-Fa-f\\d]+)$/.exec(e)){const e=t[1];const n=e.length;if(3===n){this.r=parseInt(e.charAt(0)+e.charAt(0),16)/255;this.g=parseInt(e.charAt(1)+e.charAt(1),16)/255;this.b=parseInt(e.charAt(2)+e.charAt(2),16)/255;return this}if(6===n){this.r=parseInt(e.charAt(0)+e.charAt(1),16)/255;this.g=parseInt(e.charAt(2)+e.charAt(3),16)/255;this.b=parseInt(e.charAt(4)+e.charAt(5),16)/255;return this}}return e&&e.length>0?this.setColorName(e):this}setColorName(e){const t=Fr[e.toLowerCase()];void 0!==t?this.setHex(t):console.warn(\"THREE.Color: Unknown color \"+e);return this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){this.r=e.r;this.g=e.g;this.b=e.b;return this}copySRGBToLinear(e){this.r=SRGBToLinear(e.r);this.g=SRGBToLinear(e.g);this.b=SRGBToLinear(e.b);return this}copyLinearToSRGB(e){this.r=LinearToSRGB(e.r);this.g=LinearToSRGB(e.g);this.b=LinearToSRGB(e.b);return this}convertSRGBToLinear(){this.copySRGBToLinear(this);return this}convertLinearToSRGB(){this.copyLinearToSRGB(this);return this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return(\"000000\"+this.getHex().toString(16)).slice(-6)}getHSL(e){const t=this.r,n=this.g,r=this.b;const i=Math.max(t,n,r);const s=Math.min(t,n,r);let a,o;const l=(s+i)/2;if(s===i){a=0;o=0}else{const e=i-s;o=l<=.5?e/(i+s):e/(2-i-s);switch(i){case t:a=(n-r)/e+(n<r?6:0);break;case n:a=(r-t)/e+2;break;case r:a=(t-n)/e+4;break}a/=6}e.h=a;e.s=o;e.l=l;return e}getStyle(){return\"rgb(\"+(255*this.r|0)+\",\"+(255*this.g|0)+\",\"+(255*this.b|0)+\")\"}offsetHSL(e,t,n){this.getHSL(Or);Or.h+=e;Or.s+=t;Or.l+=n;this.setHSL(Or.h,Or.s,Or.l);return this}add(e){this.r+=e.r;this.g+=e.g;this.b+=e.b;return this}addColors(e,t){this.r=e.r+t.r;this.g=e.g+t.g;this.b=e.b+t.b;return this}addScalar(e){this.r+=e;this.g+=e;this.b+=e;return this}sub(e){this.r=Math.max(0,this.r-e.r);this.g=Math.max(0,this.g-e.g);this.b=Math.max(0,this.b-e.b);return this}multiply(e){this.r*=e.r;this.g*=e.g;this.b*=e.b;return this}multiplyScalar(e){this.r*=e;this.g*=e;this.b*=e;return this}lerp(e,t){this.r+=(e.r-this.r)*t;this.g+=(e.g-this.g)*t;this.b+=(e.b-this.b)*t;return this}lerpColors(e,t,n){this.r=e.r+(t.r-e.r)*n;this.g=e.g+(t.g-e.g)*n;this.b=e.b+(t.b-e.b)*n;return this}lerpHSL(e,t){this.getHSL(Or);e.getHSL(Hr);const n=lerp(Or.h,Hr.h,t);const r=lerp(Or.s,Hr.s,t);const i=lerp(Or.l,Hr.l,t);this.setHSL(n,r,i);return this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){this.r=e[t];this.g=e[t+1];this.b=e[t+2];return this}toArray(e=[],t=0){e[t]=this.r;e[t+1]=this.g;e[t+2]=this.b;return e}fromBufferAttribute(e,t){this.r=e.getX(t);this.g=e.getY(t);this.b=e.getZ(t);if(true===e.normalized){this.r/=255;this.g/=255;this.b/=255}return this}toJSON(){return this.getHex()}}Color.NAMES=Fr;Color.prototype.isColor=true;Color.prototype.r=1;Color.prototype.g=1;Color.prototype.b=1;class MeshBasicMaterial extends Material{constructor(e){super();this.type=\"MeshBasicMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshBasicMaterial.prototype.isMeshBasicMaterial=true;const kr=new Vector3;const Wr=new Vector2;class BufferAttribute{constructor(e,t,n){if(Array.isArray(e))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.name=\"\";this.array=e;this.itemSize=t;this.count=void 0!==e?e.length/t:0;this.normalized=true===n;this.usage=gn;this.updateRange={offset:0,count:-1};this.version=0}onUploadCallback(){}set needsUpdate(e){true===e&&this.version++}setUsage(e){this.usage=e;return this}copy(e){this.name=e.name;this.array=new e.array.constructor(e.array);this.itemSize=e.itemSize;this.count=e.count;this.normalized=e.normalized;this.usage=e.usage;return this}copyAt(e,t,n){e*=this.itemSize;n*=t.itemSize;for(let r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this}copyArray(e){this.array.set(e);return this}copyColorsArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyColorsArray(): color is undefined\",r);i=new Color}t[n++]=i.r;t[n++]=i.g;t[n++]=i.b}return this}copyVector2sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector2sArray(): vector is undefined\",r);i=new Vector2}t[n++]=i.x;t[n++]=i.y}return this}copyVector3sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector3sArray(): vector is undefined\",r);i=new Vector3}t[n++]=i.x;t[n++]=i.y;t[n++]=i.z}return this}copyVector4sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector4sArray(): vector is undefined\",r);i=new Vector4}t[n++]=i.x;t[n++]=i.y;t[n++]=i.z;t[n++]=i.w}return this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,n=this.count;t<n;t++){Wr.fromBufferAttribute(this,t);Wr.applyMatrix3(e);this.setXY(t,Wr.x,Wr.y)}else if(3===this.itemSize)for(let t=0,n=this.count;t<n;t++){kr.fromBufferAttribute(this,t);kr.applyMatrix3(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.applyMatrix4(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.applyNormalMatrix(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.transformDirection(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}set(e,t=0){this.array.set(e,t);return this}getX(e){return this.array[e*this.itemSize]}setX(e,t){this.array[e*this.itemSize]=t;return this}getY(e){return this.array[e*this.itemSize+1]}setY(e,t){this.array[e*this.itemSize+1]=t;return this}getZ(e){return this.array[e*this.itemSize+2]}setZ(e,t){this.array[e*this.itemSize+2]=t;return this}getW(e){return this.array[e*this.itemSize+3]}setW(e,t){this.array[e*this.itemSize+3]=t;return this}setXY(e,t,n){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;return this}setXYZ(e,t,n,r){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;this.array[e+2]=r;return this}setXYZW(e,t,n,r,i){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;this.array[e+2]=r;this.array[e+3]=i;return this}onUpload(e){this.onUploadCallback=e;return this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized};\"\"!==this.name&&(e.name=this.name);this.usage!==gn&&(e.usage=this.usage);0===this.updateRange.offset&&-1===this.updateRange.count||(e.updateRange=this.updateRange);return e}}BufferAttribute.prototype.isBufferAttribute=true;class Int8BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int8Array(e),t,n)}}class Uint8BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint8Array(e),t,n)}}class Uint8ClampedBufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}}class Int16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int16Array(e),t,n)}}class Uint16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint16Array(e),t,n)}}class Int32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int32Array(e),t,n)}}class Uint32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint32Array(e),t,n)}}class Float16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint16Array(e),t,n)}}Float16BufferAttribute.prototype.isFloat16BufferAttribute=true;class Float32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Float32Array(e),t,n)}}class Float64BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Float64Array(e),t,n)}}let jr=0;const qr=new Matrix4;const Xr=new Object3D;const Jr=new Vector3;const Yr=new Box3;const Zr=new Box3;const Qr=new Vector3;class BufferGeometry extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:jr++});this.uuid=generateUUID();this.name=\"\";this.type=\"BufferGeometry\";this.index=null;this.attributes={};this.morphAttributes={};this.morphTargetsRelative=false;this.groups=[];this.boundingBox=null;this.boundingSphere=null;this.drawRange={start:0,count:Infinity};this.userData={}}getIndex(){return this.index}setIndex(e){Array.isArray(e)?this.index=new(arrayMax(e)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(e,1):this.index=e;return this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){this.attributes[e]=t;return this}deleteAttribute(e){delete this.attributes[e];return this}hasAttribute(e){return void 0!==this.attributes[e]}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e;this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;if(void 0!==t){t.applyMatrix4(e);t.needsUpdate=true}const n=this.attributes.normal;if(void 0!==n){const t=(new Matrix3).getNormalMatrix(e);n.applyNormalMatrix(t);n.needsUpdate=true}const r=this.attributes.tangent;if(void 0!==r){r.transformDirection(e);r.needsUpdate=true}null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this}applyQuaternion(e){qr.makeRotationFromQuaternion(e);this.applyMatrix4(qr);return this}rotateX(e){qr.makeRotationX(e);this.applyMatrix4(qr);return this}rotateY(e){qr.makeRotationY(e);this.applyMatrix4(qr);return this}rotateZ(e){qr.makeRotationZ(e);this.applyMatrix4(qr);return this}translate(e,t,n){qr.makeTranslation(e,t,n);this.applyMatrix4(qr);return this}scale(e,t,n){qr.makeScale(e,t,n);this.applyMatrix4(qr);return this}lookAt(e){Xr.lookAt(e);Xr.updateMatrix();this.applyMatrix4(Xr.matrix);return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(Jr).negate();this.translate(Jr.x,Jr.y,Jr.z);return this}setFromPoints(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];t.push(r.x,r.y,r.z||0)}this.setAttribute(\"position\",new Float32BufferAttribute(t,3));return this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Box3);const e=this.attributes.position;const t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".',this);this.boundingBox.set(new Vector3(-Infinity,-Infinity,-Infinity),new Vector3(Infinity,Infinity,Infinity))}else{if(void 0!==e){this.boundingBox.setFromBufferAttribute(e);if(t)for(let e=0,n=t.length;e<n;e++){const n=t[e];Yr.setFromBufferAttribute(n);if(this.morphTargetsRelative){Qr.addVectors(this.boundingBox.min,Yr.min);this.boundingBox.expandByPoint(Qr);Qr.addVectors(this.boundingBox.max,Yr.max);this.boundingBox.expandByPoint(Qr)}else{this.boundingBox.expandByPoint(Yr.min);this.boundingBox.expandByPoint(Yr.max)}}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)}}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new Sphere);const e=this.attributes.position;const t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".',this);this.boundingSphere.set(new Vector3,Infinity)}else if(e){const n=this.boundingSphere.center;Yr.setFromBufferAttribute(e);if(t)for(let e=0,n=t.length;e<n;e++){const n=t[e];Zr.setFromBufferAttribute(n);if(this.morphTargetsRelative){Qr.addVectors(Yr.min,Zr.min);Yr.expandByPoint(Qr);Qr.addVectors(Yr.max,Zr.max);Yr.expandByPoint(Qr)}else{Yr.expandByPoint(Zr.min);Yr.expandByPoint(Zr.max)}}Yr.getCenter(n);let r=0;for(let t=0,i=e.count;t<i;t++){Qr.fromBufferAttribute(e,t);r=Math.max(r,n.distanceToSquared(Qr))}if(t)for(let i=0,s=t.length;i<s;i++){const s=t[i];const a=this.morphTargetsRelative;for(let t=0,i=s.count;t<i;t++){Qr.fromBufferAttribute(s,t);if(a){Jr.fromBufferAttribute(e,t);Qr.add(Jr)}r=Math.max(r,n.distanceToSquared(Qr))}}this.boundingSphere.radius=Math.sqrt(r);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index;const t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv){console.error(\"THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");return}const n=e.array;const r=t.position.array;const i=t.normal.array;const s=t.uv.array;const a=r.length/3;void 0===t.tangent&&this.setAttribute(\"tangent\",new BufferAttribute(new Float32Array(4*a),4));const o=t.tangent.array;const l=[],c=[];for(let e=0;e<a;e++){l[e]=new Vector3;c[e]=new Vector3}const u=new Vector3,h=new Vector3,d=new Vector3,p=new Vector2,f=new Vector2,m=new Vector2,g=new Vector3,y=new Vector3;function handleTriangle(e,t,n){u.fromArray(r,3*e);h.fromArray(r,3*t);d.fromArray(r,3*n);p.fromArray(s,2*e);f.fromArray(s,2*t);m.fromArray(s,2*n);h.sub(u);d.sub(u);f.sub(p);m.sub(p);const i=1/(f.x*m.y-m.x*f.y);if(isFinite(i)){g.copy(h).multiplyScalar(m.y).addScaledVector(d,-f.y).multiplyScalar(i);y.copy(d).multiplyScalar(f.x).addScaledVector(h,-m.x).multiplyScalar(i);l[e].add(g);l[t].add(g);l[n].add(g);c[e].add(y);c[t].add(y);c[n].add(y)}}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let e=0,t=x.length;e<t;++e){const t=x[e];const r=t.start;const i=t.count;for(let e=r,t=r+i;e<t;e+=3)handleTriangle(n[e+0],n[e+1],n[e+2])}const b=new Vector3,_=new Vector3;const M=new Vector3,w=new Vector3;function handleVertex(e){M.fromArray(i,3*e);w.copy(M);const t=l[e];b.copy(t);b.sub(M.multiplyScalar(M.dot(t))).normalize();_.crossVectors(w,t);const n=_.dot(c[e]);const r=n<0?-1:1;o[4*e]=b.x;o[4*e+1]=b.y;o[4*e+2]=b.z;o[4*e+3]=r}for(let e=0,t=x.length;e<t;++e){const t=x[e];const r=t.start;const i=t.count;for(let e=r,t=r+i;e<t;e+=3){handleVertex(n[e+0]);handleVertex(n[e+1]);handleVertex(n[e+2])}}}computeVertexNormals(){const e=this.index;const t=this.getAttribute(\"position\");if(void 0!==t){let n=this.getAttribute(\"normal\");if(void 0===n){n=new BufferAttribute(new Float32Array(3*t.count),3);this.setAttribute(\"normal\",n)}else for(let e=0,t=n.count;e<t;e++)n.setXYZ(e,0,0,0);const r=new Vector3,i=new Vector3,s=new Vector3;const a=new Vector3,o=new Vector3,l=new Vector3;const c=new Vector3,u=new Vector3;if(e)for(let h=0,d=e.count;h<d;h+=3){const d=e.getX(h+0);const p=e.getX(h+1);const f=e.getX(h+2);r.fromBufferAttribute(t,d);i.fromBufferAttribute(t,p);s.fromBufferAttribute(t,f);c.subVectors(s,i);u.subVectors(r,i);c.cross(u);a.fromBufferAttribute(n,d);o.fromBufferAttribute(n,p);l.fromBufferAttribute(n,f);a.add(c);o.add(c);l.add(c);n.setXYZ(d,a.x,a.y,a.z);n.setXYZ(p,o.x,o.y,o.z);n.setXYZ(f,l.x,l.y,l.z)}else for(let e=0,a=t.count;e<a;e+=3){r.fromBufferAttribute(t,e+0);i.fromBufferAttribute(t,e+1);s.fromBufferAttribute(t,e+2);c.subVectors(s,i);u.subVectors(r,i);c.cross(u);n.setXYZ(e+0,c.x,c.y,c.z);n.setXYZ(e+1,c.x,c.y,c.z);n.setXYZ(e+2,c.x,c.y,c.z)}this.normalizeNormals();n.needsUpdate=true}}merge(e,t){if(!(e&&e.isBufferGeometry)){console.error(\"THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.\",e);return}if(void 0===t){t=0;console.warn(\"THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.\")}const n=this.attributes;for(const r in n){if(void 0===e.attributes[r])continue;const i=n[r];const s=i.array;const a=e.attributes[r];const o=a.array;const l=a.itemSize*t;const c=Math.min(o.length,s.length-l);for(let e=0,t=l;e<c;e++,t++)s[t]=o[e]}return this}normalizeNormals(){const e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++){Qr.fromBufferAttribute(e,t);Qr.normalize();e.setXYZ(t,Qr.x,Qr.y,Qr.z)}}toNonIndexed(){function convertBufferAttribute(e,t){const n=e.array;const r=e.itemSize;const i=e.normalized;const s=new n.constructor(t.length*r);let a=0,o=0;for(let i=0,l=t.length;i<l;i++){a=e.isInterleavedBufferAttribute?t[i]*e.data.stride+e.offset:t[i]*r;for(let e=0;e<r;e++)s[o++]=n[a++]}return new BufferAttribute(s,r,i)}if(null===this.index){console.warn(\"THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\");return this}const e=new BufferGeometry;const t=this.index.array;const n=this.attributes;for(const r in n){const i=n[r];const s=convertBufferAttribute(i,t);e.setAttribute(r,s)}const r=this.morphAttributes;for(const n in r){const i=[];const s=r[n];for(let e=0,n=s.length;e<n;e++){const n=s[e];const r=convertBufferAttribute(n,t);i.push(r)}e.morphAttributes[n]=i}e.morphTargetsRelative=this.morphTargetsRelative;const i=this.groups;for(let t=0,n=i.length;t<n;t++){const n=i[t];e.addGroup(n.start,n.count,n.materialIndex)}return e}toJSON(){const e={metadata:{version:4.5,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};e.uuid=this.uuid;e.type=this.type;\"\"!==this.name&&(e.name=this.name);Object.keys(this.userData).length>0&&(e.userData=this.userData);if(void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const r=n[t];e.data.attributes[t]=r.toJSON(e.data)}const r={};let i=false;for(const t in this.morphAttributes){const n=this.morphAttributes[t];const s=[];for(let t=0,r=n.length;t<r;t++){const r=n[t];s.push(r.toJSON(e.data))}if(s.length>0){r[t]=s;i=true}}if(i){e.data.morphAttributes=r;e.data.morphTargetsRelative=this.morphTargetsRelative}const s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;null!==a&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius});return e}clone(){return(new this.constructor).copy(this)}copy(e){this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingBox=null;this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const r=e.attributes;for(const e in r){const n=r[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[];const r=i[e];for(let e=0,i=r.length;e<i;e++)n.push(r[e].clone(t));this.morphAttributes[e]=n}this.morphTargetsRelative=e.morphTargetsRelative;const s=e.groups;for(let e=0,t=s.length;e<t;e++){const t=s[e];this.addGroup(t.start,t.count,t.materialIndex)}const a=e.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=e.boundingSphere;null!==o&&(this.boundingSphere=o.clone());this.drawRange.start=e.drawRange.start;this.drawRange.count=e.drawRange.count;this.userData=e.userData;void 0!==e.parameters&&(this.parameters=Object.assign({},e.parameters));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}BufferGeometry.prototype.isBufferGeometry=true;const Kr=new Matrix4;const $r=new Ray;const ei=new Sphere;const ti=new Vector3;const ni=new Vector3;const ri=new Vector3;const ii=new Vector3;const si=new Vector3;const ai=new Vector3;const oi=new Vector3;const li=new Vector3;const ci=new Vector3;const ui=new Vector2;const hi=new Vector2;const di=new Vector2;const pi=new Vector3;const fi=new Vector3;class Mesh extends Object3D{constructor(e=new BufferGeometry,t=new MeshBasicMaterial){super();this.type=\"Mesh\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice());void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary));this.material=e.material;this.geometry=e.geometry;return this}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}}raycast(e,t){const n=this.geometry;const r=this.material;const i=this.matrixWorld;if(void 0===r)return;null===n.boundingSphere&&n.computeBoundingSphere();ei.copy(n.boundingSphere);ei.applyMatrix4(i);if(false===e.ray.intersectsSphere(ei))return;Kr.copy(i).invert();$r.copy(e.ray).applyMatrix4(Kr);if(null!==n.boundingBox&&false===$r.intersectsBox(n.boundingBox))return;let s;if(n.isBufferGeometry){const i=n.index;const a=n.attributes.position;const o=n.morphAttributes.position;const l=n.morphTargetsRelative;const c=n.attributes.uv;const u=n.attributes.uv2;const h=n.groups;const d=n.drawRange;if(null!==i)if(Array.isArray(r))for(let n=0,p=h.length;n<p;n++){const p=h[n];const f=r[p.materialIndex];const m=Math.max(p.start,d.start);const g=Math.min(i.count,Math.min(p.start+p.count,d.start+d.count));for(let n=m,r=g;n<r;n+=3){const r=i.getX(n);const h=i.getX(n+1);const d=i.getX(n+2);s=checkBufferGeometryIntersection(this,f,e,$r,a,o,l,c,u,r,h,d);if(s){s.faceIndex=Math.floor(n/3);s.face.materialIndex=p.materialIndex;t.push(s)}}}else{const n=Math.max(0,d.start);const h=Math.min(i.count,d.start+d.count);for(let d=n,p=h;d<p;d+=3){const n=i.getX(d);const h=i.getX(d+1);const p=i.getX(d+2);s=checkBufferGeometryIntersection(this,r,e,$r,a,o,l,c,u,n,h,p);if(s){s.faceIndex=Math.floor(d/3);t.push(s)}}}else if(void 0!==a)if(Array.isArray(r))for(let n=0,i=h.length;n<i;n++){const i=h[n];const p=r[i.materialIndex];const f=Math.max(i.start,d.start);const m=Math.min(a.count,Math.min(i.start+i.count,d.start+d.count));for(let n=f,r=m;n<r;n+=3){const r=n;const h=n+1;const d=n+2;s=checkBufferGeometryIntersection(this,p,e,$r,a,o,l,c,u,r,h,d);if(s){s.faceIndex=Math.floor(n/3);s.face.materialIndex=i.materialIndex;t.push(s)}}}else{const n=Math.max(0,d.start);const i=Math.min(a.count,d.start+d.count);for(let h=n,d=i;h<d;h+=3){const n=h;const i=h+1;const d=h+2;s=checkBufferGeometryIntersection(this,r,e,$r,a,o,l,c,u,n,i,d);if(s){s.faceIndex=Math.floor(h/3);t.push(s)}}}}else n.isGeometry&&console.error(\"THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}}Mesh.prototype.isMesh=true;function checkIntersection(e,t,n,r,i,s,a,o){let l;l=t.side===d?r.intersectTriangle(a,s,i,true,o):r.intersectTriangle(i,s,a,t.side!==p,o);if(null===l)return null;fi.copy(o);fi.applyMatrix4(e.matrixWorld);const c=n.ray.origin.distanceTo(fi);return c<n.near||c>n.far?null:{distance:c,point:fi.clone(),object:e}}function checkBufferGeometryIntersection(e,t,n,r,i,s,a,o,l,c,u,h){ti.fromBufferAttribute(i,c);ni.fromBufferAttribute(i,u);ri.fromBufferAttribute(i,h);const d=e.morphTargetInfluences;if(s&&d){oi.set(0,0,0);li.set(0,0,0);ci.set(0,0,0);for(let e=0,t=s.length;e<t;e++){const t=d[e];const n=s[e];if(0!==t){ii.fromBufferAttribute(n,c);si.fromBufferAttribute(n,u);ai.fromBufferAttribute(n,h);if(a){oi.addScaledVector(ii,t);li.addScaledVector(si,t);ci.addScaledVector(ai,t)}else{oi.addScaledVector(ii.sub(ti),t);li.addScaledVector(si.sub(ni),t);ci.addScaledVector(ai.sub(ri),t)}}}ti.add(oi);ni.add(li);ri.add(ci)}if(e.isSkinnedMesh){e.boneTransform(c,ti);e.boneTransform(u,ni);e.boneTransform(h,ri)}const p=checkIntersection(e,t,n,r,ti,ni,ri,pi);if(p){if(o){ui.fromBufferAttribute(o,c);hi.fromBufferAttribute(o,u);di.fromBufferAttribute(o,h);p.uv=Triangle.getUV(pi,ti,ni,ri,ui,hi,di,new Vector2)}if(l){ui.fromBufferAttribute(l,c);hi.fromBufferAttribute(l,u);di.fromBufferAttribute(l,h);p.uv2=Triangle.getUV(pi,ti,ni,ri,ui,hi,di,new Vector2)}const e={a:c,b:u,c:h,normal:new Vector3,materialIndex:0};Triangle.getNormal(ti,ni,ri,e.normal);p.face=e}return p}class BoxGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=1,i=1,s=1){super();this.type=\"BoxGeometry\";this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:s};const a=this;r=Math.floor(r);i=Math.floor(i);s=Math.floor(s);const o=[];const l=[];const c=[];const u=[];let h=0;let d=0;buildPlane(\"z\",\"y\",\"x\",-1,-1,n,t,e,s,i,0);buildPlane(\"z\",\"y\",\"x\",1,-1,n,t,-e,s,i,1);buildPlane(\"x\",\"z\",\"y\",1,1,e,n,t,r,s,2);buildPlane(\"x\",\"z\",\"y\",1,-1,e,n,-t,r,s,3);buildPlane(\"x\",\"y\",\"z\",1,-1,e,t,n,r,i,4);buildPlane(\"x\",\"y\",\"z\",-1,-1,e,t,-n,r,i,5);this.setIndex(o);this.setAttribute(\"position\",new Float32BufferAttribute(l,3));this.setAttribute(\"normal\",new Float32BufferAttribute(c,3));this.setAttribute(\"uv\",new Float32BufferAttribute(u,2));function buildPlane(e,t,n,r,i,s,p,f,m,g,y){const x=s/m;const b=p/g;const _=s/2;const M=p/2;const w=f/2;const S=m+1;const T=g+1;let E=0;let A=0;const L=new Vector3;for(let s=0;s<T;s++){const a=s*b-M;for(let o=0;o<S;o++){const h=o*x-_;L[e]=h*r;L[t]=a*i;L[n]=w;l.push(L.x,L.y,L.z);L[e]=0;L[t]=0;L[n]=f>0?1:-1;c.push(L.x,L.y,L.z);u.push(o/m);u.push(1-s/g);E+=1}}for(let e=0;e<g;e++)for(let t=0;t<m;t++){const n=h+t+S*e;const r=h+t+S*(e+1);const i=h+(t+1)+S*(e+1);const s=h+(t+1)+S*e;o.push(n,r,s);o.push(r,i,s);A+=6}a.addGroup(d,A,y);d+=A;h+=E}}static fromJSON(e){return new BoxGeometry(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function cloneUniforms(e){const t={};for(const n in e){t[n]={};for(const r in e[n]){const i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}}return t}function mergeUniforms(e){const t={};for(let n=0;n<e.length;n++){const r=cloneUniforms(e[n]);for(const e in r)t[e]=r[e]}return t}const mi={clone:cloneUniforms,merge:mergeUniforms};var gi=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\";var yi=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\";class ShaderMaterial extends Material{constructor(e){super();this.type=\"ShaderMaterial\";this.defines={};this.uniforms={};this.vertexShader=gi;this.fragmentShader=yi;this.linewidth=1;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.lights=false;this.clipping=false;this.extensions={derivatives:false,fragDepth:false,drawBuffers:false,shaderTextureLOD:false};this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]};this.index0AttributeName=void 0;this.uniformsNeedUpdate=false;this.glslVersion=null;if(void 0!==e){void 0!==e.attributes&&console.error(\"THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.\");this.setValues(e)}}copy(e){super.copy(e);this.fragmentShader=e.fragmentShader;this.vertexShader=e.vertexShader;this.uniforms=cloneUniforms(e.uniforms);this.defines=Object.assign({},e.defines);this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.lights=e.lights;this.clipping=e.clipping;this.extensions=Object.assign({},e.extensions);this.glslVersion=e.glslVersion;return this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion;t.uniforms={};for(const n in this.uniforms){const r=this.uniforms[n];const i=r.value;i&&i.isTexture?t.uniforms[n]={type:\"t\",value:i.toJSON(e).uuid}:i&&i.isColor?t.uniforms[n]={type:\"c\",value:i.getHex()}:i&&i.isVector2?t.uniforms[n]={type:\"v2\",value:i.toArray()}:i&&i.isVector3?t.uniforms[n]={type:\"v3\",value:i.toArray()}:i&&i.isVector4?t.uniforms[n]={type:\"v4\",value:i.toArray()}:i&&i.isMatrix3?t.uniforms[n]={type:\"m3\",value:i.toArray()}:i&&i.isMatrix4?t.uniforms[n]={type:\"m4\",value:i.toArray()}:t.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(t.defines=this.defines);t.vertexShader=this.vertexShader;t.fragmentShader=this.fragmentShader;const n={};for(const e in this.extensions)true===this.extensions[e]&&(n[e]=true);Object.keys(n).length>0&&(t.extensions=n);return t}}ShaderMaterial.prototype.isShaderMaterial=true;class Camera extends Object3D{constructor(){super();this.type=\"Camera\";this.matrixWorldInverse=new Matrix4;this.projectionMatrix=new Matrix4;this.projectionMatrixInverse=new Matrix4}copy(e,t){super.copy(e,t);this.matrixWorldInverse.copy(e.matrixWorldInverse);this.projectionMatrix.copy(e.projectionMatrix);this.projectionMatrixInverse.copy(e.projectionMatrixInverse);return this}getWorldDirection(e){this.updateWorldMatrix(true,false);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e);this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t);this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}Camera.prototype.isCamera=true;class PerspectiveCamera extends Camera{constructor(e=50,t=1,n=.1,r=2e3){super();this.type=\"PerspectiveCamera\";this.fov=e;this.zoom=1;this.near=n;this.far=r;this.focus=10;this.aspect=t;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}copy(e,t){super.copy(e,t);this.fov=e.fov;this.zoom=e.zoom;this.near=e.near;this.far=e.far;this.focus=e.focus;this.aspect=e.aspect;this.view=null===e.view?null:Object.assign({},e.view);this.filmGauge=e.filmGauge;this.filmOffset=e.filmOffset;return this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*Rn*Math.atan(t);this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*Cn*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*Rn*Math.atan(Math.tan(.5*Cn*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,i,s){this.aspect=e/t;null===this.view&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=e;this.view.fullHeight=t;this.view.offsetX=n;this.view.offsetY=r;this.view.width=i;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*Cn*this.fov)/this.zoom;let n=2*t;let r=this.aspect*n;let i=-.5*r;const s=this.view;if(null!==this.view&&this.view.enabled){const e=s.fullWidth,a=s.fullHeight;i+=s.offsetX*r/e;t-=s.offsetY*n/a;r*=s.width/e;n*=s.height/a}const a=this.filmOffset;0!==a&&(i+=e*a/this.getFilmWidth());this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);t.object.fov=this.fov;t.object.zoom=this.zoom;t.object.near=this.near;t.object.far=this.far;t.object.focus=this.focus;t.object.aspect=this.aspect;null!==this.view&&(t.object.view=Object.assign({},this.view));t.object.filmGauge=this.filmGauge;t.object.filmOffset=this.filmOffset;return t}}PerspectiveCamera.prototype.isPerspectiveCamera=true;const vi=90,xi=1;class CubeCamera extends Object3D{constructor(e,t,n){super();this.type=\"CubeCamera\";if(true!==n.isWebGLCubeRenderTarget){console.error(\"THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.\");return}this.renderTarget=n;const r=new PerspectiveCamera(vi,xi,e,t);r.layers=this.layers;r.up.set(0,-1,0);r.lookAt(new Vector3(1,0,0));this.add(r);const i=new PerspectiveCamera(vi,xi,e,t);i.layers=this.layers;i.up.set(0,-1,0);i.lookAt(new Vector3(-1,0,0));this.add(i);const s=new PerspectiveCamera(vi,xi,e,t);s.layers=this.layers;s.up.set(0,0,1);s.lookAt(new Vector3(0,1,0));this.add(s);const a=new PerspectiveCamera(vi,xi,e,t);a.layers=this.layers;a.up.set(0,0,-1);a.lookAt(new Vector3(0,-1,0));this.add(a);const o=new PerspectiveCamera(vi,xi,e,t);o.layers=this.layers;o.up.set(0,-1,0);o.lookAt(new Vector3(0,0,1));this.add(o);const l=new PerspectiveCamera(vi,xi,e,t);l.layers=this.layers;l.up.set(0,-1,0);l.lookAt(new Vector3(0,0,-1));this.add(l)}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget;const[r,i,s,a,o,l]=this.children;const c=e.xr.enabled;const u=e.getRenderTarget();e.xr.enabled=false;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=false;e.setRenderTarget(n,0);e.render(t,r);e.setRenderTarget(n,1);e.render(t,i);e.setRenderTarget(n,2);e.render(t,s);e.setRenderTarget(n,3);e.render(t,a);e.setRenderTarget(n,4);e.render(t,o);n.texture.generateMipmaps=h;e.setRenderTarget(n,5);e.render(t,l);e.setRenderTarget(u);e.xr.enabled=c}}class CubeTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c){e=void 0!==e?e:[];t=void 0!==t?t:re;super(e,t,n,r,i,s,a,o,l,c);this.flipY=false}get images(){return this.image}set images(e){this.image=e}}CubeTexture.prototype.isCubeTexture=true;class WebGLCubeRenderTarget extends WebGLRenderTarget{constructor(e,t,n){if(Number.isInteger(t)){console.warn(\"THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )\");t=n}super(e,e,t);t=t||{};this.texture=new CubeTexture(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding);this.texture.isRenderTargetTexture=true;this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps;this.texture.minFilter=void 0!==t.minFilter?t.minFilter:ye;this.texture._needsFlipEnvMap=false}fromEquirectangularTexture(e,t){this.texture.type=t.type;this.texture.format=Ne;this.texture.encoding=t.encoding;this.texture.generateMipmaps=t.generateMipmaps;this.texture.minFilter=t.minFilter;this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include <begin_vertex>\\n\\t\\t\\t\\t\\t#include <project_vertex>\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",fragmentShader:\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include <common>\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\"};const r=new BoxGeometry(5,5,5);const i=new ShaderMaterial({name:\"CubemapFromEquirect\",uniforms:cloneUniforms(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:d,blending:g});i.uniforms.tEquirect.value=t;const s=new Mesh(r,i);const a=t.minFilter;t.minFilter===be&&(t.minFilter=ye);const o=new CubeCamera(1,10,this);o.update(e,s);t.minFilter=a;s.geometry.dispose();s.material.dispose();return this}clear(e,t,n,r){const i=e.getRenderTarget();for(let i=0;i<6;i++){e.setRenderTarget(this,i);e.clear(t,n,r)}e.setRenderTarget(i)}}WebGLCubeRenderTarget.prototype.isWebGLCubeRenderTarget=true;const bi=new Vector3;const _i=new Vector3;const Mi=new Matrix3;class Plane{constructor(e=new Vector3(1,0,0),t=0){this.normal=e;this.constant=t}set(e,t){this.normal.copy(e);this.constant=t;return this}setComponents(e,t,n,r){this.normal.set(e,t,n);this.constant=r;return this}setFromNormalAndCoplanarPoint(e,t){this.normal.copy(e);this.constant=-t.dot(this.normal);return this}setFromCoplanarPoints(e,t,n){const r=bi.subVectors(n,t).cross(_i.subVectors(e,t)).normalize();this.setFromNormalAndCoplanarPoint(r,e);return this}copy(e){this.normal.copy(e.normal);this.constant=e.constant;return this}normalize(){const e=1/this.normal.length();this.normal.multiplyScalar(e);this.constant*=e;return this}negate(){this.constant*=-1;this.normal.negate();return this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){const n=e.delta(bi);const r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(n).multiplyScalar(i).add(e.start)}intersectsLine(e){const t=this.distanceToPoint(e.start);const n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Mi.getNormalMatrix(e);const r=this.coplanarPoint(bi).applyMatrix4(e);const i=this.normal.applyMatrix3(n).normalize();this.constant=-r.dot(i);return this}translate(e){this.constant-=e.dot(this.normal);return this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Plane.prototype.isPlane=true;const wi=new Sphere;const Si=new Vector3;class Frustum{constructor(e=new Plane,t=new Plane,n=new Plane,r=new Plane,i=new Plane,s=new Plane){this.planes=[e,t,n,r,i,s]}set(e,t,n,r,i,s){const a=this.planes;a[0].copy(e);a[1].copy(t);a[2].copy(n);a[3].copy(r);a[4].copy(i);a[5].copy(s);return this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes;const n=e.elements;const r=n[0],i=n[1],s=n[2],a=n[3];const o=n[4],l=n[5],c=n[6],u=n[7];const h=n[8],d=n[9],p=n[10],f=n[11];const m=n[12],g=n[13],y=n[14],x=n[15];t[0].setComponents(a-r,u-o,f-h,x-m).normalize();t[1].setComponents(a+r,u+o,f+h,x+m).normalize();t[2].setComponents(a+i,u+l,f+d,x+g).normalize();t[3].setComponents(a-i,u-l,f-d,x-g).normalize();t[4].setComponents(a-s,u-c,f-p,x-y).normalize();t[5].setComponents(a+s,u+c,f+p,x+y).normalize();return this}intersectsObject(e){const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere();wi.copy(t.boundingSphere).applyMatrix4(e.matrixWorld);return this.intersectsSphere(wi)}intersectsSprite(e){wi.center.set(0,0,0);wi.radius=.7071067811865476;wi.applyMatrix4(e.matrixWorld);return this.intersectsSphere(wi)}intersectsSphere(e){const t=this.planes;const n=e.center;const r=-e.radius;for(let e=0;e<6;e++){const i=t[e].distanceToPoint(n);if(i<r)return false}return true}intersectsBox(e){const t=this.planes;for(let n=0;n<6;n++){const r=t[n];Si.x=r.normal.x>0?e.max.x:e.min.x;Si.y=r.normal.y>0?e.max.y:e.min.y;Si.z=r.normal.z>0?e.max.z:e.min.z;if(r.distanceToPoint(Si)<0)return false}return true}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return false;return true}clone(){return(new this.constructor).copy(this)}}function WebGLAnimation(){let e=null;let t=false;let n=null;let r=null;function onAnimationFrame(t,i){n(t,i);r=e.requestAnimationFrame(onAnimationFrame)}return{start:function(){if(true!==t&&null!==n){r=e.requestAnimationFrame(onAnimationFrame);t=true}},stop:function(){e.cancelAnimationFrame(r);t=false},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function WebGLAttributes(e,t){const n=t.isWebGL2;const r=new WeakMap;function createBuffer(t,r){const i=t.array;const s=t.usage;const a=e.createBuffer();e.bindBuffer(r,a);e.bufferData(r,i,s);t.onUploadCallback();let o=5126;i instanceof Float32Array?o=5126:i instanceof Float64Array?console.warn(\"THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.\"):i instanceof Uint16Array?t.isFloat16BufferAttribute?n?o=5131:console.warn(\"THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.\"):o=5123:i instanceof Int16Array?o=5122:i instanceof Uint32Array?o=5125:i instanceof Int32Array?o=5124:i instanceof Int8Array?o=5120:(i instanceof Uint8Array||i instanceof Uint8ClampedArray)&&(o=5121);return{buffer:a,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}function updateBuffer(t,r,i){const s=r.array;const a=r.updateRange;e.bindBuffer(i,t);if(-1===a.count)e.bufferSubData(i,0,s);else{n?e.bufferSubData(i,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):e.bufferSubData(i,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count));a.count=-1}}function get(e){e.isInterleavedBufferAttribute&&(e=e.data);return r.get(e)}function remove(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=r.get(t);if(n){e.deleteBuffer(n.buffer);r.delete(t)}}function update(e,t){if(e.isGLBufferAttribute){const t=r.get(e);(!t||t.version<e.version)&&r.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version});return}e.isInterleavedBufferAttribute&&(e=e.data);const n=r.get(e);if(void 0===n)r.set(e,createBuffer(e,t));else if(n.version<e.version){updateBuffer(n.buffer,e,t);n.version=e.version}}return{get:get,remove:remove,update:update}}class PlaneGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=1){super();this.type=\"PlaneGeometry\";this.parameters={width:e,height:t,widthSegments:n,heightSegments:r};const i=e/2;const s=t/2;const a=Math.floor(n);const o=Math.floor(r);const l=a+1;const c=o+1;const u=e/a;const h=t/o;const d=[];const p=[];const f=[];const m=[];for(let e=0;e<c;e++){const t=e*h-s;for(let n=0;n<l;n++){const r=n*u-i;p.push(r,-t,0);f.push(0,0,1);m.push(n/a);m.push(1-e/o)}}for(let e=0;e<o;e++)for(let t=0;t<a;t++){const n=t+l*e;const r=t+l*(e+1);const i=t+1+l*(e+1);const s=t+1+l*e;d.push(n,r,s);d.push(r,i,s)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}static fromJSON(e){return new PlaneGeometry(e.width,e.height,e.widthSegments,e.heightSegments)}}var Ti=\"#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\\n#endif\";var Ei=\"#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var Ai=\"#ifdef USE_ALPHATEST\\n\\tif ( diffuseColor.a < alphaTest ) discard;\\n#endif\";var Li=\"#ifdef USE_ALPHATEST\\n\\tuniform float alphaTest;\\n#endif\";var Ci=\"#ifdef USE_AOMAP\\n\\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD )\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\\n\\t#endif\\n#endif\";var Ri=\"#ifdef USE_AOMAP\\n\\tuniform sampler2D aoMap;\\n\\tuniform float aoMapIntensity;\\n#endif\";var Pi=\"vec3 transformed = vec3( position );\";var Ii=\"vec3 objectNormal = vec3( normal );\\n#ifdef USE_TANGENT\\n\\tvec3 objectTangent = vec3( tangent.xyz );\\n#endif\";var Di=\"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\";var Bi=\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\\n\\t\\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\\n\\t\\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\";var Vi=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\";var Ni=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\";var Ui=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\";var zi=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\";var Gi=\"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\";var Fi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Oi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Hi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\";var ki=\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat linearToRelativeLuminance( const in vec3 color ) {\\n\\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n\\treturn dot( weights, color.rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\";var Wi=\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_maxMipLevel 8.0\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_maxTileSize 256.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\\n\\t\\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tif ( mipInt < cubeUV_maxMipLevel ) {\\n\\t\\t\\tuv.y += 2.0 * cubeUV_maxTileSize;\\n\\t\\t}\\n\\t\\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\\n\\t\\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\\n\\t\\tuv *= texelSize;\\n\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t}\\n\\t#define r0 1.0\\n\\t#define v0 0.339\\n\\t#define m0 - 2.0\\n\\t#define r1 0.8\\n\\t#define v1 0.276\\n\\t#define m1 - 1.0\\n\\t#define r4 0.4\\n\\t#define v4 0.046\\n\\t#define m4 2.0\\n\\t#define r5 0.305\\n\\t#define v5 0.016\\n\\t#define m5 3.0\\n\\t#define r6 0.21\\n\\t#define v6 0.0038\\n\\t#define m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= r1 ) {\\n\\t\\t\\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\\n\\t\\t} else if ( roughness >= r4 ) {\\n\\t\\t\\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\\n\\t\\t} else if ( roughness >= r5 ) {\\n\\t\\t\\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\\n\\t\\t} else if ( roughness >= r6 ) {\\n\\t\\t\\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\";var ji=\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\";var qi=\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\";var Xi=\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\\n#endif\";var Ji=\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\";var Yi=\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\";var Zi=\"gl_FragColor = linearToOutputTexel( gl_FragColor );\";var Qi=\"vec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\";var Ki=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\";var $i=\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\";var es=\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\";var ts=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\";var ns=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var rs=\"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\";var is=\"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\";var ss=\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\";var as=\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\";var os=\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t#endif\\n}\";var ls=\"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tlightMapIrradiance *= PI;\\n\\t#endif\\n\\treflectedLight.indirectDiffuse += lightMapIrradiance;\\n#endif\";var cs=\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\";var us=\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\nvIndirectFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n\\tvIndirectBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\\n#ifdef DOUBLE_SIDED\\n\\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\\n\\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\";var hs=\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t}\\n\\t\\treturn distanceFalloff;\\n\\t#else\\n\\t\\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\t\\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t#endif\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\";var ds=\"#if defined( USE_ENVMAP )\\n\\t#ifdef ENVMAP_MODE_REFRACTION\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 reflectVec;\\n\\t\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\t\\treflectVec = reflect( - viewDir, normal );\\n\\t\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\treflectVec = refract( - viewDir, normal, refractionRatio );\\n\\t\\t\\t#endif\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\";var ps=\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\";var fs=\"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\\n#define Material_LightProbeLOD( material )\\t(0)\";var ms=\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\";var gs=\"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\";var ys=\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\t#ifdef SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\t\\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\\n\\t#endif\\n#endif\";var vs=\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n};\\nvec3 clearcoatSpecular = vec3( 0.0 );\\nvec3 sheenSpecular = vec3( 0.0 );\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3(    0, 1,    0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\";var xs=\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef USE_CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\";var bs=\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometry.normal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\";var _s=\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\";var Ms=\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\";var ws=\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\";var Ss=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\";var Ts=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\";var Es=\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\";var As=\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\";var Ls=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, uv );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\";var Cs=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tuniform mat3 uvTransform;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var Rs=\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\";var Ps=\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\";var Is=\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\t\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\t\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\t\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n\\t#endif\\n#endif\";var Ds=\"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t\\tuniform sampler2DArray morphTargetsTexture;\\n\\t\\tuniform vec2 morphTargetsTextureSize;\\n\\t\\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\\n\\t\\t\\tfloat texelIndex = float( vertexIndex * stride + offset );\\n\\t\\t\\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\\n\\t\\t\\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\t\\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\\n\\t\\t\\treturn texture( morphTargetsTexture, morphUV ).xyz;\\n\\t\\t}\\n\\t#else\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t\\t#else\\n\\t\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Bs=\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\\n\\t\\t\\t#else\\n\\t\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t#else\\n\\t\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\t\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\t\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\t\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Vs=\"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\t#ifdef USE_TANGENT\\n\\t\\tvec3 tangent = normalize( vTangent );\\n\\t\\tvec3 bitangent = normalize( vBitangent );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\ttangent = tangent * faceDirection;\\n\\t\\t\\tbitangent = bitangent * faceDirection;\\n\\t\\t#endif\\n\\t\\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tmat3 vTBN = mat3( tangent, bitangent, normal );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\";var Ns=\"#ifdef OBJECTSPACE_NORMALMAP\\n\\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( TANGENTSPACE_NORMALMAP )\\n\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tnormal = normalize( vTBN * mapN );\\n\\t#else\\n\\t\\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\\n\\t#endif\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\";var Us=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var zs=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var Gs=\"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\";var Fs=\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef OBJECTSPACE_NORMALMAP\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\\n\\t\\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\\n\\t\\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\\n\\t\\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\\n\\t}\\n#endif\";var Os=\"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\";var Hs=\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\\n\\t#else\\n\\t\\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\\n\\t#endif\\n#endif\";var ks=\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\";var Ws=\"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= transmissionAlpha + 0.1;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\";var js=\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\";var qs=\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\";var Xs=\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\";var Js=\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\";var Ys=\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\";var Zs=\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\";var Qs=\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\";var Ks=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\";var $s=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\";var ea=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\tvec4 shadowWorldPosition;\\n\\t#endif\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\";var ta=\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\";var na=\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\";var ra=\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform highp sampler2D boneTexture;\\n\\t\\tuniform int boneTextureSize;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\";var ia=\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\";var sa=\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\";var aa=\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\";var oa=\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\";var la=\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\";var ca=\"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3(  1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108,  1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605,  1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\";var ua=\"#ifdef USE_TRANSMISSION\\n\\tfloat transmissionAlpha = 1.0;\\n\\tfloat transmissionFactor = transmission;\\n\\tfloat thicknessFactor = thickness;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmission = getIBLVolumeRefraction(\\n\\t\\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\\n\\t\\tattenuationColor, attenuationDistance );\\n\\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\\n\\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\\n#endif\";var ha=\"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( float roughness, float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\\n\\t\\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\\n\\t\\tif ( attenuationDistance == 0.0 ) {\\n\\t\\t\\treturn radiance;\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance * radiance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\\n\\t\\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\\n\\t\\tvec3 attenuationColor, float attenuationDistance ) {\\n\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\trefractionCoords += 1.0;\\n\\t\\trefractionCoords /= 2.0;\\n\\t\\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\\n\\t}\\n#endif\";var da=\"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\\n\\tvarying vec2 vUv;\\n#endif\";var pa=\"#ifdef USE_UV\\n\\t#ifdef UVS_VERTEX_ONLY\\n\\t\\tvec2 vUv;\\n\\t#else\\n\\t\\tvarying vec2 vUv;\\n\\t#endif\\n\\tuniform mat3 uvTransform;\\n#endif\";var fa=\"#ifdef USE_UV\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n#endif\";var ma=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\";var ga=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n\\tuniform mat3 uv2Transform;\\n#endif\";var ya=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\\n#endif\";var va=\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\";const xa=\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\";const ba=\"uniform sampler2D t2D;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const _a=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n\\tgl_Position.z = gl_Position.w;\\n}\";const Ma=\"#include <envmap_common_pars_fragment>\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\n#include <cube_uv_reflection_fragment>\\nvoid main() {\\n\\tvec3 vReflect = vWorldDirection;\\n\\t#include <envmap_fragment>\\n\\tgl_FragColor = envColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const wa=\"#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\";const Sa=\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\";const Ta=\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvWorldPosition = worldPosition.xyz;\\n}\";const Ea=\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main () {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\";const Aa=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n}\";const La=\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tvec4 texColor = texture2D( tEquirect, sampleUV );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const Ca=\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include <color_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ra=\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <color_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Pa=\"#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinbase_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t\\t#include <defaultnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ia=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <fog_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include <aomap_fragment>\\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Da=\"#define LAMBERT\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <lights_lambert_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ba=\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <fog_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <emissivemap_fragment>\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vIndirectFront;\\n\\t#endif\\n\\t#include <lightmap_fragment>\\n\\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Va=\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n}\";const Na=\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t\\tmatcapColor = matcapTexelToLinear( matcapColor );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Ua=\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\";const za=\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\";const Ga=\"#define PHONG\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Fa=\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_phong_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_phong_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Oa=\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\";const Ha=\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <bsdfs>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_physical_pars_fragment>\\n#include <transmission_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <roughnessmap_fragment>\\n\\t#include <metalnessmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <clearcoat_normal_fragment_begin>\\n\\t#include <clearcoat_normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_physical_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include <transmission_fragment>\\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\\n\\t#endif\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const ka=\"#define TOON\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Wa=\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <gradientmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_toon_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_toon_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const ja=\"uniform float size;\\nuniform float scale;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <color_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <fog_vertex>\\n}\";const qa=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <map_particle_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_particle_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphatest_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Xa=\"#include <common>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\nvoid main() {\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ja=\"uniform vec3 color;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\nvoid main() {\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n}\";const Ya=\"uniform float rotation;\\nuniform vec2 center;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Za=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n}\";const Qa={alphamap_fragment:Ti,alphamap_pars_fragment:Ei,alphatest_fragment:Ai,alphatest_pars_fragment:Li,aomap_fragment:Ci,aomap_pars_fragment:Ri,begin_vertex:Pi,beginnormal_vertex:Ii,bsdfs:Di,bumpmap_pars_fragment:Bi,clipping_planes_fragment:Vi,clipping_planes_pars_fragment:Ni,clipping_planes_pars_vertex:Ui,clipping_planes_vertex:zi,color_fragment:Gi,color_pars_fragment:Fi,color_pars_vertex:Oi,color_vertex:Hi,common:ki,cube_uv_reflection_fragment:Wi,defaultnormal_vertex:ji,displacementmap_pars_vertex:qi,displacementmap_vertex:Xi,emissivemap_fragment:Ji,emissivemap_pars_fragment:Yi,encodings_fragment:Zi,encodings_pars_fragment:Qi,envmap_fragment:Ki,envmap_common_pars_fragment:$i,envmap_pars_fragment:es,envmap_pars_vertex:ts,envmap_physical_pars_fragment:ds,envmap_vertex:ns,fog_vertex:rs,fog_pars_vertex:is,fog_fragment:ss,fog_pars_fragment:as,gradientmap_pars_fragment:os,lightmap_fragment:ls,lightmap_pars_fragment:cs,lights_lambert_vertex:us,lights_pars_begin:hs,lights_toon_fragment:ps,lights_toon_pars_fragment:fs,lights_phong_fragment:ms,lights_phong_pars_fragment:gs,lights_physical_fragment:ys,lights_physical_pars_fragment:vs,lights_fragment_begin:xs,lights_fragment_maps:bs,lights_fragment_end:_s,logdepthbuf_fragment:Ms,logdepthbuf_pars_fragment:ws,logdepthbuf_pars_vertex:Ss,logdepthbuf_vertex:Ts,map_fragment:Es,map_pars_fragment:As,map_particle_fragment:Ls,map_particle_pars_fragment:Cs,metalnessmap_fragment:Rs,metalnessmap_pars_fragment:Ps,morphnormal_vertex:Is,morphtarget_pars_vertex:Ds,morphtarget_vertex:Bs,normal_fragment_begin:Vs,normal_fragment_maps:Ns,normal_pars_fragment:Us,normal_pars_vertex:zs,normal_vertex:Gs,normalmap_pars_fragment:Fs,clearcoat_normal_fragment_begin:Os,clearcoat_normal_fragment_maps:Hs,clearcoat_pars_fragment:ks,output_fragment:Ws,packing:js,premultiplied_alpha_fragment:qs,project_vertex:Xs,dithering_fragment:Js,dithering_pars_fragment:Ys,roughnessmap_fragment:Zs,roughnessmap_pars_fragment:Qs,shadowmap_pars_fragment:Ks,shadowmap_pars_vertex:$s,shadowmap_vertex:ea,shadowmask_pars_fragment:ta,skinbase_vertex:na,skinning_pars_vertex:ra,skinning_vertex:ia,skinnormal_vertex:sa,specularmap_fragment:aa,specularmap_pars_fragment:oa,tonemapping_fragment:la,tonemapping_pars_fragment:ca,transmission_fragment:ua,transmission_pars_fragment:ha,uv_pars_fragment:da,uv_pars_vertex:pa,uv_vertex:fa,uv2_pars_fragment:ma,uv2_pars_vertex:ga,uv2_vertex:ya,worldpos_vertex:va,background_vert:xa,background_frag:ba,cube_vert:_a,cube_frag:Ma,depth_vert:wa,depth_frag:Sa,distanceRGBA_vert:Ta,distanceRGBA_frag:Ea,equirect_vert:Aa,equirect_frag:La,linedashed_vert:Ca,linedashed_frag:Ra,meshbasic_vert:Pa,meshbasic_frag:Ia,meshlambert_vert:Da,meshlambert_frag:Ba,meshmatcap_vert:Va,meshmatcap_frag:Na,meshnormal_vert:Ua,meshnormal_frag:za,meshphong_vert:Ga,meshphong_frag:Fa,meshphysical_vert:Oa,meshphysical_frag:Ha,meshtoon_vert:ka,meshtoon_frag:Wa,points_vert:ja,points_frag:qa,shadow_vert:Xa,shadow_frag:Ja,sprite_vert:Ya,sprite_frag:Za};const Ka={common:{diffuse:{value:new Color(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Matrix3},uv2Transform:{value:new Matrix3},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Vector2(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Color(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Color(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Matrix3}},sprite:{diffuse:{value:new Color(16777215)},opacity:{value:1},center:{value:new Vector2(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Matrix3}}};const $a={basic:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.fog]),vertexShader:Qa.meshbasic_vert,fragmentShader:Qa.meshbasic_frag},lambert:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)}}]),vertexShader:Qa.meshlambert_vert,fragmentShader:Qa.meshlambert_frag},phong:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)},specular:{value:new Color(1118481)},shininess:{value:30}}]),vertexShader:Qa.meshphong_vert,fragmentShader:Qa.meshphong_frag},standard:{uniforms:mergeUniforms([Ka.common,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.roughnessmap,Ka.metalnessmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Qa.meshphysical_vert,fragmentShader:Qa.meshphysical_frag},toon:{uniforms:mergeUniforms([Ka.common,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.gradientmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)}}]),vertexShader:Qa.meshtoon_vert,fragmentShader:Qa.meshtoon_frag},matcap:{uniforms:mergeUniforms([Ka.common,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.fog,{matcap:{value:null}}]),vertexShader:Qa.meshmatcap_vert,fragmentShader:Qa.meshmatcap_frag},points:{uniforms:mergeUniforms([Ka.points,Ka.fog]),vertexShader:Qa.points_vert,fragmentShader:Qa.points_frag},dashed:{uniforms:mergeUniforms([Ka.common,Ka.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Qa.linedashed_vert,fragmentShader:Qa.linedashed_frag},depth:{uniforms:mergeUniforms([Ka.common,Ka.displacementmap]),vertexShader:Qa.depth_vert,fragmentShader:Qa.depth_frag},normal:{uniforms:mergeUniforms([Ka.common,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,{opacity:{value:1}}]),vertexShader:Qa.meshnormal_vert,fragmentShader:Qa.meshnormal_frag},sprite:{uniforms:mergeUniforms([Ka.sprite,Ka.fog]),vertexShader:Qa.sprite_vert,fragmentShader:Qa.sprite_frag},background:{uniforms:{uvTransform:{value:new Matrix3},t2D:{value:null}},vertexShader:Qa.background_vert,fragmentShader:Qa.background_frag},cube:{uniforms:mergeUniforms([Ka.envmap,{opacity:{value:1}}]),vertexShader:Qa.cube_vert,fragmentShader:Qa.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Qa.equirect_vert,fragmentShader:Qa.equirect_frag},distanceRGBA:{uniforms:mergeUniforms([Ka.common,Ka.displacementmap,{referencePosition:{value:new Vector3},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Qa.distanceRGBA_vert,fragmentShader:Qa.distanceRGBA_frag},shadow:{uniforms:mergeUniforms([Ka.lights,Ka.fog,{color:{value:new Color(0)},opacity:{value:1}}]),vertexShader:Qa.shadow_vert,fragmentShader:Qa.shadow_frag}};$a.physical={uniforms:mergeUniforms([$a.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Vector2(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new Color(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Vector2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Color(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new Color(1,1,1)},specularColorMap:{value:null}}]),vertexShader:Qa.meshphysical_vert,fragmentShader:Qa.meshphysical_frag};function WebGLBackground(e,t,n,r,i){const s=new Color(0);let a=0;let o;let l;let c=null;let u=0;let p=null;function render(n,i){let f=false;let m=true===i.isScene?i.background:null;m&&m.isTexture&&(m=t.get(m));const g=e.xr;const y=g.getSession&&g.getSession();y&&\"additive\"===y.environmentBlendMode&&(m=null);if(null===m)setClear(s,a);else if(m&&m.isColor){setClear(m,1);f=true}(e.autoClear||f)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil);if(m&&(m.isCubeTexture||m.mapping===oe)){if(void 0===l){l=new Mesh(new BoxGeometry(1,1,1),new ShaderMaterial({name:\"BackgroundCubeMaterial\",uniforms:cloneUniforms($a.cube.uniforms),vertexShader:$a.cube.vertexShader,fragmentShader:$a.cube.fragmentShader,side:d,depthTest:false,depthWrite:false,fog:false}));l.geometry.deleteAttribute(\"normal\");l.geometry.deleteAttribute(\"uv\");l.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)};Object.defineProperty(l.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}});r.update(l)}l.material.uniforms.envMap.value=m;l.material.uniforms.flipEnvMap.value=m.isCubeTexture&&false===m.isRenderTargetTexture?-1:1;if(c!==m||u!==m.version||p!==e.toneMapping){l.material.needsUpdate=true;c=m;u=m.version;p=e.toneMapping}n.unshift(l,l.geometry,l.material,0,0,null)}else if(m&&m.isTexture){if(void 0===o){o=new Mesh(new PlaneGeometry(2,2),new ShaderMaterial({name:\"BackgroundMaterial\",uniforms:cloneUniforms($a.background.uniforms),vertexShader:$a.background.vertexShader,fragmentShader:$a.background.fragmentShader,side:h,depthTest:false,depthWrite:false,fog:false}));o.geometry.deleteAttribute(\"normal\");Object.defineProperty(o.material,\"map\",{get:function(){return this.uniforms.t2D.value}});r.update(o)}o.material.uniforms.t2D.value=m;true===m.matrixAutoUpdate&&m.updateMatrix();o.material.uniforms.uvTransform.value.copy(m.matrix);if(c!==m||u!==m.version||p!==e.toneMapping){o.material.needsUpdate=true;c=m;u=m.version;p=e.toneMapping}n.unshift(o,o.geometry,o.material,0,0,null)}}function setClear(e,t){n.buffers.color.setClear(e.r,e.g,e.b,t,i)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e);a=t;setClear(s,a)},getClearAlpha:function(){return a},setClearAlpha:function(e){a=e;setClear(s,a)},render:render}}function WebGLBindingStates(e,t,n,r){const i=e.getParameter(34921);const s=r.isWebGL2?null:t.get(\"OES_vertex_array_object\");const a=r.isWebGL2||null!==s;const o={};const l=createBindingState(null);let c=l;function setup(t,r,i,s,o){let l=false;if(a){const e=getBindingState(s,i,r);if(c!==e){c=e;bindVertexArrayObject(c.object)}l=needsUpdate(s,o);l&&saveCache(s,o)}else{const e=true===r.wireframe;if(c.geometry!==s.id||c.program!==i.id||c.wireframe!==e){c.geometry=s.id;c.program=i.id;c.wireframe=e;l=true}}true===t.isInstancedMesh&&(l=true);null!==o&&n.update(o,34963);if(l){setupVertexAttributes(t,r,i,s);null!==o&&e.bindBuffer(34963,n.get(o).buffer)}}function createVertexArrayObject(){return r.isWebGL2?e.createVertexArray():s.createVertexArrayOES()}function bindVertexArrayObject(t){return r.isWebGL2?e.bindVertexArray(t):s.bindVertexArrayOES(t)}function deleteVertexArrayObject(t){return r.isWebGL2?e.deleteVertexArray(t):s.deleteVertexArrayOES(t)}function getBindingState(e,t,n){const r=true===n.wireframe;let i=o[e.id];if(void 0===i){i={};o[e.id]=i}let s=i[t.id];if(void 0===s){s={};i[t.id]=s}let a=s[r];if(void 0===a){a=createBindingState(createVertexArrayObject());s[r]=a}return a}function createBindingState(e){const t=[];const n=[];const r=[];for(let e=0;e<i;e++){t[e]=0;n[e]=0;r[e]=0}return{geometry:null,program:null,wireframe:false,newAttributes:t,enabledAttributes:n,attributeDivisors:r,object:e,attributes:{},index:null}}function needsUpdate(e,t){const n=c.attributes;const r=e.attributes;let i=0;for(const e in r){const t=n[e];const s=r[e];if(void 0===t)return true;if(t.attribute!==s)return true;if(t.data!==s.data)return true;i++}return c.attributesNum!==i||c.index!==t}function saveCache(e,t){const n={};const r=e.attributes;let i=0;for(const e in r){const t=r[e];const s={};s.attribute=t;t.data&&(s.data=t.data);n[e]=s;i++}c.attributes=n;c.attributesNum=i;c.index=t}function initAttributes(){const e=c.newAttributes;for(let t=0,n=e.length;t<n;t++)e[t]=0}function enableAttribute(e){enableAttributeAndDivisor(e,0)}function enableAttributeAndDivisor(n,i){const s=c.newAttributes;const a=c.enabledAttributes;const o=c.attributeDivisors;s[n]=1;if(0===a[n]){e.enableVertexAttribArray(n);a[n]=1}if(o[n]!==i){const s=r.isWebGL2?e:t.get(\"ANGLE_instanced_arrays\");s[r.isWebGL2?\"vertexAttribDivisor\":\"vertexAttribDivisorANGLE\"](n,i);o[n]=i}}function disableUnusedAttributes(){const t=c.newAttributes;const n=c.enabledAttributes;for(let r=0,i=n.length;r<i;r++)if(n[r]!==t[r]){e.disableVertexAttribArray(r);n[r]=0}}function vertexAttribPointer(t,n,i,s,a,o){true!==r.isWebGL2||5124!==i&&5125!==i?e.vertexAttribPointer(t,n,i,s,a,o):e.vertexAttribIPointer(t,n,i,a,o)}function setupVertexAttributes(i,s,a,o){if(false===r.isWebGL2&&(i.isInstancedMesh||o.isInstancedBufferGeometry)&&null===t.get(\"ANGLE_instanced_arrays\"))return;initAttributes();const l=o.attributes;const c=a.getAttributes();const u=s.defaultAttributeValues;for(const t in c){const r=c[t];if(r.location>=0){let s=l[t];if(void 0===s){\"instanceMatrix\"===t&&i.instanceMatrix&&(s=i.instanceMatrix);\"instanceColor\"===t&&i.instanceColor&&(s=i.instanceColor)}if(void 0!==s){const t=s.normalized;const a=s.itemSize;const l=n.get(s);if(void 0===l)continue;const c=l.buffer;const u=l.type;const h=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data;const l=n.stride;const d=s.offset;if(n&&n.isInstancedInterleavedBuffer){for(let e=0;e<r.locationSize;e++)enableAttributeAndDivisor(r.location+e,n.meshPerAttribute);true!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let e=0;e<r.locationSize;e++)enableAttribute(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)vertexAttribPointer(r.location+e,a/r.locationSize,u,t,l*h,(d+a/r.locationSize*e)*h)}else{if(s.isInstancedBufferAttribute){for(let e=0;e<r.locationSize;e++)enableAttributeAndDivisor(r.location+e,s.meshPerAttribute);true!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let e=0;e<r.locationSize;e++)enableAttribute(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)vertexAttribPointer(r.location+e,a/r.locationSize,u,t,a*h,a/r.locationSize*e*h)}}else if(void 0!==u){const n=u[t];if(void 0!==n)switch(n.length){case 2:e.vertexAttrib2fv(r.location,n);break;case 3:e.vertexAttrib3fv(r.location,n);break;case 4:e.vertexAttrib4fv(r.location,n);break;default:e.vertexAttrib1fv(r.location,n)}}}}disableUnusedAttributes()}function dispose(){reset();for(const e in o){const t=o[e];for(const e in t){const n=t[e];for(const e in n){deleteVertexArrayObject(n[e].object);delete n[e]}delete t[e]}delete o[e]}}function releaseStatesOfGeometry(e){if(void 0===o[e.id])return;const t=o[e.id];for(const e in t){const n=t[e];for(const e in n){deleteVertexArrayObject(n[e].object);delete n[e]}delete t[e]}delete o[e.id]}function releaseStatesOfProgram(e){for(const t in o){const n=o[t];if(void 0===n[e.id])continue;const r=n[e.id];for(const e in r){deleteVertexArrayObject(r[e].object);delete r[e]}delete n[e.id]}}function reset(){resetDefaultState();if(c!==l){c=l;bindVertexArrayObject(c.object)}}function resetDefaultState(){l.geometry=null;l.program=null;l.wireframe=false}return{setup:setup,reset:reset,resetDefaultState:resetDefaultState,dispose:dispose,releaseStatesOfGeometry:releaseStatesOfGeometry,releaseStatesOfProgram:releaseStatesOfProgram,initAttributes:initAttributes,enableAttribute:enableAttribute,disableUnusedAttributes:disableUnusedAttributes}}function WebGLBufferRenderer(e,t,n,r){const i=r.isWebGL2;let s;function setMode(e){s=e}function render(t,r){e.drawArrays(s,t,r);n.update(r,s,1)}function renderInstances(r,a,o){if(0===o)return;let l,c;if(i){l=e;c=\"drawArraysInstanced\"}else{l=t.get(\"ANGLE_instanced_arrays\");c=\"drawArraysInstancedANGLE\";if(null===l){console.error(\"THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");return}}l[c](s,r,a,o);n.update(a,s,o)}this.setMode=setMode;this.render=render;this.renderInstances=renderInstances}function WebGLCapabilities(e,t,n){let r;function getMaxAnisotropy(){if(void 0!==r)return r;if(true===t.has(\"EXT_texture_filter_anisotropic\")){const n=t.get(\"EXT_texture_filter_anisotropic\");r=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function getMaxPrecision(t){if(\"highp\"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?\"mediump\":\"lowp\"}const i=\"undefined\"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||\"undefined\"!==typeof WebGL2ComputeRenderingContext&&e instanceof WebGL2ComputeRenderingContext;let s=void 0!==n.precision?n.precision:\"highp\";const a=getMaxPrecision(s);if(a!==s){console.warn(\"THREE.WebGLRenderer:\",s,\"not supported, using\",a,\"instead.\");s=a}const o=i||t.has(\"WEBGL_draw_buffers\");const l=true===n.logarithmicDepthBuffer;const c=e.getParameter(34930);const u=e.getParameter(35660);const h=e.getParameter(3379);const d=e.getParameter(34076);const p=e.getParameter(34921);const f=e.getParameter(36347);const m=e.getParameter(36348);const g=e.getParameter(36349);const y=u>0;const x=i||t.has(\"OES_texture_float\");const b=y&&x;const _=i?e.getParameter(36183):0;return{isWebGL2:i,drawBuffers:o,getMaxAnisotropy:getMaxAnisotropy,getMaxPrecision:getMaxPrecision,precision:s,logarithmicDepthBuffer:l,maxTextures:c,maxVertexTextures:u,maxTextureSize:h,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:b,maxSamples:_}}function WebGLClipping(e){const t=this;let n=null,r=0,i=false,s=false;const a=new Plane,o=new Matrix3,l={value:null,needsUpdate:false};this.uniform=l;this.numPlanes=0;this.numIntersection=0;this.init=function(e,t,s){const a=0!==e.length||t||0!==r||i;i=t;n=projectPlanes(e,s,0);r=e.length;return a};this.beginShadows=function(){s=true;projectPlanes(null)};this.endShadows=function(){s=false;resetGlobalState()};this.setState=function(t,a,o){const c=t.clippingPlanes,u=t.clipIntersection,h=t.clipShadows;const d=e.get(t);if(!i||null===c||0===c.length||s&&!h)s?projectPlanes(null):resetGlobalState();else{const e=s?0:r,t=4*e;let i=d.clippingState||null;l.value=i;i=projectPlanes(c,a,t,o);for(let e=0;e!==t;++e)i[e]=n[e];d.clippingState=i;this.numIntersection=u?this.numPlanes:0;this.numPlanes+=e}};function resetGlobalState(){if(l.value!==n){l.value=n;l.needsUpdate=r>0}t.numPlanes=r;t.numIntersection=0}function projectPlanes(e,n,r,i){const s=null!==e?e.length:0;let c=null;if(0!==s){c=l.value;if(true!==i||null===c){const t=r+4*s,i=n.matrixWorldInverse;o.getNormalMatrix(i);(null===c||c.length<t)&&(c=new Float32Array(t));for(let t=0,n=r;t!==s;++t,n+=4){a.copy(e[t]).applyMatrix4(i,o);a.normal.toArray(c,n);c[n+3]=a.constant}}l.value=c;l.needsUpdate=true}t.numPlanes=s;t.numIntersection=0;return c}}function WebGLCubeMaps(e){let t=new WeakMap;function mapTextureMapping(e,t){t===se?e.mapping=re:t===ae&&(e.mapping=ie);return e}function get(n){if(n&&n.isTexture&&false===n.isRenderTargetTexture){const r=n.mapping;if(r===se||r===ae){if(t.has(n)){const e=t.get(n).texture;return mapTextureMapping(e,n.mapping)}{const r=n.image;if(r&&r.height>0){const i=e.getRenderTarget();const s=new WebGLCubeRenderTarget(r.height/2);s.fromEquirectangularTexture(e,n);t.set(n,s);e.setRenderTarget(i);n.addEventListener(\"dispose\",onTextureDispose);return mapTextureMapping(s.texture,n.mapping)}return null}}}return n}function onTextureDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onTextureDispose);const r=t.get(n);if(void 0!==r){t.delete(n);r.dispose()}}function dispose(){t=new WeakMap}return{get:get,dispose:dispose}}class OrthographicCamera extends Camera{constructor(e=-1,t=1,n=1,r=-1,i=.1,s=2e3){super();this.type=\"OrthographicCamera\";this.zoom=1;this.view=null;this.left=e;this.right=t;this.top=n;this.bottom=r;this.near=i;this.far=s;this.updateProjectionMatrix()}copy(e,t){super.copy(e,t);this.left=e.left;this.right=e.right;this.top=e.top;this.bottom=e.bottom;this.near=e.near;this.far=e.far;this.zoom=e.zoom;this.view=null===e.view?null:Object.assign({},e.view);return this}setViewOffset(e,t,n,r,i,s){null===this.view&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=e;this.view.fullHeight=t;this.view.offsetX=n;this.view.offsetY=r;this.view.width=i;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom);const t=(this.top-this.bottom)/(2*this.zoom);const n=(this.right+this.left)/2;const r=(this.top+this.bottom)/2;let i=n-e;let s=n+e;let a=r+t;let o=r-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom;const t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX;s=i+e*this.view.width;a-=t*this.view.offsetY;o=a-t*this.view.height}this.projectionMatrix.makeOrthographic(i,s,a,o,this.near,this.far);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);t.object.zoom=this.zoom;t.object.left=this.left;t.object.right=this.right;t.object.top=this.top;t.object.bottom=this.bottom;t.object.near=this.near;t.object.far=this.far;null!==this.view&&(t.object.view=Object.assign({},this.view));return t}}OrthographicCamera.prototype.isOrthographicCamera=true;class RawShaderMaterial extends ShaderMaterial{constructor(e){super(e);this.type=\"RawShaderMaterial\"}}RawShaderMaterial.prototype.isRawShaderMaterial=true;const eo=4;const to=8;const no=Math.pow(2,to);const ro=[.125,.215,.35,.446,.526,.582];const io=to-eo+1+ro.length;const so=20;const ao={[Xt]:0,[Jt]:1};const oo=new OrthographicCamera;const{_lodPlanes:lo,_sizeLods:co,_sigmas:uo}=_createPlanes();const ho=new Color;let po=null;const fo=(1+Math.sqrt(5))/2;const mo=1/fo;const go=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,fo,mo),new Vector3(0,fo,-mo),new Vector3(mo,0,fo),new Vector3(-mo,0,fo),new Vector3(fo,mo,0),new Vector3(-fo,mo,0)];class PMREMGenerator{constructor(e){this._renderer=e;this._pingPongRenderTarget=null;this._blurMaterial=_getBlurShader(so);this._equirectShader=null;this._cubemapShader=null;this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100){po=this._renderer.getRenderTarget();const i=this._allocateTargets();this._sceneToCubeUV(e,n,r,i);t>0&&this._blur(i,0,0,t);this._applyPMREM(i);this._cleanup(i);return i}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){if(null===this._cubemapShader){this._cubemapShader=_getCubemapShader();this._compileMaterial(this._cubemapShader)}}compileEquirectangularShader(){if(null===this._equirectShader){this._equirectShader=_getEquirectShader();this._compileMaterial(this._equirectShader)}}dispose(){this._blurMaterial.dispose();null!==this._cubemapShader&&this._cubemapShader.dispose();null!==this._equirectShader&&this._equirectShader.dispose();for(let e=0;e<lo.length;e++)lo[e].dispose()}_cleanup(e){this._pingPongRenderTarget.dispose();this._renderer.setRenderTarget(po);e.scissorTest=false;_setViewport(e,0,0,e.width,e.height)}_fromTexture(e){po=this._renderer.getRenderTarget();const t=this._allocateTargets(e);this._textureToCubeUV(e,t);this._applyPMREM(t);this._cleanup(t);return t}_allocateTargets(e){const t={magFilter:ye,minFilter:ye,generateMipmaps:false,type:Ce,format:Ne,encoding:Xt,depthBuffer:false};const n=_createRenderTarget(t);n.depthBuffer=!e;this._pingPongRenderTarget=_createRenderTarget(t);return n}_compileMaterial(e){const t=new Mesh(lo[0],e);this._renderer.compile(t,oo)}_sceneToCubeUV(e,t,n,r){const i=90;const s=1;const a=new PerspectiveCamera(i,s,t,n);const o=[1,-1,1,1,1,1];const l=[1,1,1,-1,-1,-1];const c=this._renderer;const u=c.autoClear;const h=c.toneMapping;c.getClearColor(ho);c.toneMapping=Z;c.autoClear=false;const p=new MeshBasicMaterial({name:\"PMREM.Background\",side:d,depthWrite:false,depthTest:false});const f=new Mesh(new BoxGeometry,p);let m=false;const g=e.background;if(g){if(g.isColor){p.color.copy(g);e.background=null;m=true}}else{p.color.copy(ho);m=true}for(let t=0;t<6;t++){const n=t%3;if(0==n){a.up.set(0,o[t],0);a.lookAt(l[t],0,0)}else if(1==n){a.up.set(0,0,o[t]);a.lookAt(0,l[t],0)}else{a.up.set(0,o[t],0);a.lookAt(0,0,l[t])}_setViewport(r,n*no,t>2?no:0,no,no);c.setRenderTarget(r);m&&c.render(f,a);c.render(e,a)}f.geometry.dispose();f.material.dispose();c.toneMapping=h;c.autoClear=u;e.background=g}_setEncoding(e,t){true===this._renderer.capabilities.isWebGL2&&t.format===Ne&&t.type===Me&&t.encoding===Jt?e.value=ao[Xt]:e.value=ao[t.encoding]}_textureToCubeUV(e,t){const n=this._renderer;const r=e.mapping===re||e.mapping===ie;r?null==this._cubemapShader&&(this._cubemapShader=_getCubemapShader()):null==this._equirectShader&&(this._equirectShader=_getEquirectShader());const i=r?this._cubemapShader:this._equirectShader;const s=new Mesh(lo[0],i);const a=i.uniforms;a.envMap.value=e;r||a.texelSize.value.set(1/e.image.width,1/e.image.height);this._setEncoding(a.inputEncoding,e);_setViewport(t,0,0,3*no,2*no);n.setRenderTarget(t);n.render(s,oo)}_applyPMREM(e){const t=this._renderer;const n=t.autoClear;t.autoClear=false;for(let t=1;t<io;t++){const n=Math.sqrt(uo[t]*uo[t]-uo[t-1]*uo[t-1]);const r=go[(t-1)%go.length];this._blur(e,t-1,t,n,r)}t.autoClear=n}_blur(e,t,n,r,i){const s=this._pingPongRenderTarget;this._halfBlur(e,s,t,n,r,\"latitudinal\",i);this._halfBlur(s,e,n,n,r,\"longitudinal\",i)}_halfBlur(e,t,n,r,i,s,a){const o=this._renderer;const l=this._blurMaterial;\"latitudinal\"!==s&&\"longitudinal\"!==s&&console.error(\"blur direction must be either latitudinal or longitudinal!\");const c=3;const u=new Mesh(lo[r],l);const h=l.uniforms;const d=co[n]-1;const p=isFinite(i)?Math.PI/(2*d):2*Math.PI/(2*so-1);const f=i/p;const m=isFinite(i)?1+Math.floor(c*f):so;m>so&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${so}`);const g=[];let y=0;for(let e=0;e<so;++e){const t=e/f;const n=Math.exp(-t*t/2);g.push(n);0==e?y+=n:e<m&&(y+=2*n)}for(let e=0;e<g.length;e++)g[e]=g[e]/y;h.envMap.value=e.texture;h.samples.value=m;h.weights.value=g;h.latitudinal.value=\"latitudinal\"===s;a&&(h.poleAxis.value=a);h.dTheta.value=p;h.mipInt.value=to-n;const x=co[r];const b=3*Math.max(0,no-2*x);const _=(0===r?0:2*no)+2*x*(r>to-eo?r-to+eo:0);_setViewport(t,b,_,3*x,2*x);o.setRenderTarget(t);o.render(u,oo)}}function _createPlanes(){const e=[];const t=[];const n=[];let r=to;for(let i=0;i<io;i++){const s=Math.pow(2,r);t.push(s);let a=1/s;i>to-eo?a=ro[i-to+eo-1]:0==i&&(a=0);n.push(a);const o=1/(s-1);const l=-o/2;const c=1+o/2;const u=[l,l,c,l,c,c,l,l,c,c,l,c];const h=6;const d=6;const p=3;const f=2;const m=1;const g=new Float32Array(p*d*h);const y=new Float32Array(f*d*h);const x=new Float32Array(m*d*h);for(let e=0;e<h;e++){const t=e%3*2/3-1;const n=e>2?0:-1;const r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];g.set(r,p*d*e);y.set(u,f*d*e);const i=[e,e,e,e,e,e];x.set(i,m*d*e)}const b=new BufferGeometry;b.setAttribute(\"position\",new BufferAttribute(g,p));b.setAttribute(\"uv\",new BufferAttribute(y,f));b.setAttribute(\"faceIndex\",new BufferAttribute(x,m));e.push(b);r>eo&&r--}return{_lodPlanes:e,_sizeLods:t,_sigmas:n}}function _createRenderTarget(e){const t=new WebGLRenderTarget(3*no,3*no,e);t.texture.mapping=oe;t.texture.name=\"PMREM.cubeUv\";t.scissorTest=true;return t}function _setViewport(e,t,n,r,i){e.viewport.set(t,n,r,i);e.scissor.set(t,n,r,i)}function _getBlurShader(e){const t=new Float32Array(e);const n=new Vector3(0,1,0);const r=new RawShaderMaterial({name:\"SphericalGaussianBlur\",defines:{n:e},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:t},latitudinal:{value:false},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include <cube_uv_reflection_fragment>\\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return r}function _getEquirectShader(){const e=new Vector2(1,1);const t=new RawShaderMaterial({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null},texelSize:{value:e},inputEncoding:{value:ao[Xt]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform vec2 texelSize;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\t#include <common>\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tvec2 f = fract( uv / texelSize - 0.5 );\\n\\t\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\t\\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x += texelSize.x;\\n\\t\\t\\t\\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.y += texelSize.y;\\n\\t\\t\\t\\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x -= texelSize.x;\\n\\t\\t\\t\\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\n\\t\\t\\t\\tvec3 tm = mix( tl, tr, f.x );\\n\\t\\t\\t\\tvec3 bm = mix( bl, br, f.x );\\n\\t\\t\\t\\tgl_FragColor.rgb = mix( tm, bm, f.y );\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return t}function _getCubemapShader(){const e=new RawShaderMaterial({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},inputEncoding:{value:ao[Xt]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return e}function _getCommonVertexShader(){return\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute vec3 position;\\n\\t\\tattribute vec2 uv;\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\"}function _getEncodings(){return\"\\n\\n\\t\\tuniform int inputEncoding;\\n\\n\\t\\t#include <encodings_pars_fragment>\\n\\n\\t\\tvec4 inputTexelToLinear( vec4 value ) {\\n\\n\\t\\t\\tif ( inputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn sRGBToLinear( value );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 envMapTexelToLinear( vec4 color ) {\\n\\n\\t\\t\\treturn inputTexelToLinear( color );\\n\\n\\t\\t}\\n\\t\"}function WebGLCubeUVMaps(e){let t=new WeakMap;let n=null;function get(r){if(r&&r.isTexture&&false===r.isRenderTargetTexture){const i=r.mapping;const s=i===se||i===ae;const a=i===re||i===ie;if(s||a){if(t.has(r))return t.get(r).texture;{const i=r.image;if(s&&i&&i.height>0||a&&i&&isCubeTextureComplete(i)){const i=e.getRenderTarget();null===n&&(n=new PMREMGenerator(e));const a=s?n.fromEquirectangular(r):n.fromCubemap(r);t.set(r,a);e.setRenderTarget(i);r.addEventListener(\"dispose\",onTextureDispose);return a.texture}return null}}}return r}function isCubeTextureComplete(e){let t=0;const n=6;for(let r=0;r<n;r++)void 0!==e[r]&&t++;return t===n}function onTextureDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onTextureDispose);const r=t.get(n);if(void 0!==r){t.delete(n);r.dispose()}}function dispose(){t=new WeakMap;if(null!==n){n.dispose();n=null}}return{get:get,dispose:dispose}}function WebGLExtensions(e){const t={};function getExtension(n){if(void 0!==t[n])return t[n];let r;switch(n){case\"WEBGL_depth_texture\":r=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":r=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":r=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":r=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:r=e.getExtension(n)}t[n]=r;return r}return{has:function(e){return null!==getExtension(e)},init:function(e){if(e.isWebGL2)getExtension(\"EXT_color_buffer_float\");else{getExtension(\"WEBGL_depth_texture\");getExtension(\"OES_texture_float\");getExtension(\"OES_texture_half_float\");getExtension(\"OES_texture_half_float_linear\");getExtension(\"OES_standard_derivatives\");getExtension(\"OES_element_index_uint\");getExtension(\"OES_vertex_array_object\");getExtension(\"ANGLE_instanced_arrays\")}getExtension(\"OES_texture_float_linear\");getExtension(\"EXT_color_buffer_half_float\");getExtension(\"WEBGL_multisampled_render_to_texture\")},get:function(e){const t=getExtension(e);null===t&&console.warn(\"THREE.WebGLRenderer: \"+e+\" extension not supported.\");return t}}}function WebGLGeometries(e,t,n,r){const i={};const s=new WeakMap;function onGeometryDispose(e){const a=e.target;null!==a.index&&t.remove(a.index);for(const e in a.attributes)t.remove(a.attributes[e]);a.removeEventListener(\"dispose\",onGeometryDispose);delete i[a.id];const o=s.get(a);if(o){t.remove(o);s.delete(a)}r.releaseStatesOfGeometry(a);true===a.isInstancedBufferGeometry&&delete a._maxInstanceCount;n.memory.geometries--}function get(e,t){if(true===i[t.id])return t;t.addEventListener(\"dispose\",onGeometryDispose);i[t.id]=true;n.memory.geometries++;return t}function update(e){const n=e.attributes;for(const e in n)t.update(n[e],34962);const r=e.morphAttributes;for(const e in r){const n=r[e];for(let e=0,r=n.length;e<r;e++)t.update(n[e],34962)}}function updateWireframeAttribute(e){const n=[];const r=e.index;const i=e.attributes.position;let a=0;if(null!==r){const e=r.array;a=r.version;for(let t=0,r=e.length;t<r;t+=3){const r=e[t+0];const i=e[t+1];const s=e[t+2];n.push(r,i,i,s,s,r)}}else{const e=i.array;a=i.version;for(let t=0,r=e.length/3-1;t<r;t+=3){const e=t+0;const r=t+1;const i=t+2;n.push(e,r,r,i,i,e)}}const o=new(arrayMax(n)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(n,1);o.version=a;const l=s.get(e);l&&t.remove(l);s.set(e,o)}function getWireframeAttribute(e){const t=s.get(e);if(t){const n=e.index;null!==n&&t.version<n.version&&updateWireframeAttribute(e)}else updateWireframeAttribute(e);return s.get(e)}return{get:get,update:update,getWireframeAttribute:getWireframeAttribute}}function WebGLIndexedBufferRenderer(e,t,n,r){const i=r.isWebGL2;let s;function setMode(e){s=e}let a,o;function setIndex(e){a=e.type;o=e.bytesPerElement}function render(t,r){e.drawElements(s,r,a,t*o);n.update(r,s,1)}function renderInstances(r,l,c){if(0===c)return;let u,h;if(i){u=e;h=\"drawElementsInstanced\"}else{u=t.get(\"ANGLE_instanced_arrays\");h=\"drawElementsInstancedANGLE\";if(null===u){console.error(\"THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");return}}u[h](s,l,a,r*o,c);n.update(l,s,c)}this.setMode=setMode;this.setIndex=setIndex;this.render=render;this.renderInstances=renderInstances}function WebGLInfo(e){const t={geometries:0,textures:0};const n={frame:0,calls:0,triangles:0,points:0,lines:0};function update(e,t,r){n.calls++;switch(t){case 4:n.triangles+=r*(e/3);break;case 1:n.lines+=r*(e/2);break;case 3:n.lines+=r*(e-1);break;case 2:n.lines+=r*e;break;case 0:n.points+=r*e;break;default:console.error(\"THREE.WebGLInfo: Unknown draw mode:\",t);break}}function reset(){n.frame++;n.calls=0;n.triangles=0;n.points=0;n.lines=0}return{memory:t,render:n,programs:null,autoReset:true,reset:reset,update:update}}class DataTexture2DArray extends Texture{constructor(e=null,t=1,n=1,r=1){super(null);this.image={data:e,width:t,height:n,depth:r};this.magFilter=de;this.minFilter=de;this.wrapR=ue;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture2DArray.prototype.isDataTexture2DArray=true;function numericalSort(e,t){return e[0]-t[0]}function absNumericalSort(e,t){return Math.abs(t[1])-Math.abs(e[1])}function denormalize(e,t){let n=1;const r=t.isInterleavedBufferAttribute?t.data.array:t.array;r instanceof Int8Array?n=127:r instanceof Int16Array?n=32767:r instanceof Int32Array?n=2147483647:console.error(\"THREE.WebGLMorphtargets: Unsupported morph attribute data type: \",r);e.divideScalar(n)}function WebGLMorphtargets(e,t,n){const r={};const i=new Float32Array(8);const s=new WeakMap;const a=new Vector3;const o=[];for(let e=0;e<8;e++)o[e]=[e,0];function update(l,c,u,h){const d=l.morphTargetInfluences;if(true===t.isWebGL2){const r=c.morphAttributes.position.length;let i=s.get(c);if(void 0===i||i.count!==r){void 0!==i&&i.texture.dispose();const e=void 0!==c.morphAttributes.normal;const n=c.morphAttributes.position;const o=c.morphAttributes.normal||[];const l=c.attributes.position.count;const u=true===e?2:1;let h=l*u;let d=1;if(h>t.maxTextureSize){d=Math.ceil(h/t.maxTextureSize);h=t.maxTextureSize}const p=new Float32Array(h*d*4*r);const f=new DataTexture2DArray(p,h,d,r);f.format=Ne;f.type=Le;f.needsUpdate=true;const m=4*u;for(let t=0;t<r;t++){const r=n[t];const i=o[t];const s=h*d*4*t;for(let t=0;t<r.count;t++){a.fromBufferAttribute(r,t);true===r.normalized&&denormalize(a,r);const n=t*m;p[s+n+0]=a.x;p[s+n+1]=a.y;p[s+n+2]=a.z;p[s+n+3]=0;if(true===e){a.fromBufferAttribute(i,t);true===i.normalized&&denormalize(a,i);p[s+n+4]=a.x;p[s+n+5]=a.y;p[s+n+6]=a.z;p[s+n+7]=0}}}i={count:r,texture:f,size:new Vector2(h,d)};s.set(c,i)}let o=0;for(let e=0;e<d.length;e++)o+=d[e];const l=c.morphTargetsRelative?1:1-o;h.getUniforms().setValue(e,\"morphTargetBaseInfluence\",l);h.getUniforms().setValue(e,\"morphTargetInfluences\",d);h.getUniforms().setValue(e,\"morphTargetsTexture\",i.texture,n);h.getUniforms().setValue(e,\"morphTargetsTextureSize\",i.size)}else{const t=void 0===d?0:d.length;let n=r[c.id];if(void 0===n||n.length!==t){n=[];for(let e=0;e<t;e++)n[e]=[e,0];r[c.id]=n}for(let e=0;e<t;e++){const t=n[e];t[0]=e;t[1]=d[e]}n.sort(absNumericalSort);for(let e=0;e<8;e++)if(e<t&&n[e][1]){o[e][0]=n[e][0];o[e][1]=n[e][1]}else{o[e][0]=Number.MAX_SAFE_INTEGER;o[e][1]=0}o.sort(numericalSort);const s=c.morphAttributes.position;const a=c.morphAttributes.normal;let l=0;for(let e=0;e<8;e++){const t=o[e];const n=t[0];const r=t[1];if(n!==Number.MAX_SAFE_INTEGER&&r){s&&c.getAttribute(\"morphTarget\"+e)!==s[n]&&c.setAttribute(\"morphTarget\"+e,s[n]);a&&c.getAttribute(\"morphNormal\"+e)!==a[n]&&c.setAttribute(\"morphNormal\"+e,a[n]);i[e]=r;l+=r}else{s&&true===c.hasAttribute(\"morphTarget\"+e)&&c.deleteAttribute(\"morphTarget\"+e);a&&true===c.hasAttribute(\"morphNormal\"+e)&&c.deleteAttribute(\"morphNormal\"+e);i[e]=0}}const u=c.morphTargetsRelative?1:1-l;h.getUniforms().setValue(e,\"morphTargetBaseInfluence\",u);h.getUniforms().setValue(e,\"morphTargetInfluences\",i)}}return{update:update}}function WebGLObjects(e,t,n,r){let i=new WeakMap;function update(e){const s=r.render.frame;const a=e.geometry;const o=t.get(e,a);if(i.get(o)!==s){t.update(o);i.set(o,s)}if(e.isInstancedMesh){false===e.hasEventListener(\"dispose\",onInstancedMeshDispose)&&e.addEventListener(\"dispose\",onInstancedMeshDispose);n.update(e.instanceMatrix,34962);null!==e.instanceColor&&n.update(e.instanceColor,34962)}return o}function dispose(){i=new WeakMap}function onInstancedMeshDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onInstancedMeshDispose);n.remove(t.instanceMatrix);null!==t.instanceColor&&n.remove(t.instanceColor)}return{update:update,dispose:dispose}}class DataTexture3D extends Texture{constructor(e=null,t=1,n=1,r=1){super(null);this.image={data:e,width:t,height:n,depth:r};this.magFilter=de;this.minFilter=de;this.wrapR=ue;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture3D.prototype.isDataTexture3D=true;const yo=new Texture;const vo=new DataTexture2DArray;const xo=new DataTexture3D;const bo=new CubeTexture;const _o=[];const Mo=[];const wo=new Float32Array(16);const So=new Float32Array(9);const To=new Float32Array(4);function flatten(e,t,n){const r=e[0];if(r<=0||r>0)return e;const i=t*n;let s=_o[i];if(void 0===s){s=new Float32Array(i);_o[i]=s}if(0!==t){r.toArray(s,0);for(let r=1,i=0;r!==t;++r){i+=n;e[r].toArray(s,i)}}return s}function arraysEqual(e,t){if(e.length!==t.length)return false;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return false;return true}function copyArray(e,t){for(let n=0,r=t.length;n<r;n++)e[n]=t[n]}function allocTexUnits(e,t){let n=Mo[t];if(void 0===n){n=new Int32Array(t);Mo[t]=n}for(let r=0;r!==t;++r)n[r]=e.allocateTextureUnit();return n}function setValueV1f(e,t){const n=this.cache;if(n[0]!==t){e.uniform1f(this.addr,t);n[0]=t}}function setValueV2f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y){e.uniform2f(this.addr,t.x,t.y);n[0]=t.x;n[1]=t.y}}else{if(arraysEqual(n,t))return;e.uniform2fv(this.addr,t);copyArray(n,t)}}function setValueV3f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z){e.uniform3f(this.addr,t.x,t.y,t.z);n[0]=t.x;n[1]=t.y;n[2]=t.z}}else if(void 0!==t.r){if(n[0]!==t.r||n[1]!==t.g||n[2]!==t.b){e.uniform3f(this.addr,t.r,t.g,t.b);n[0]=t.r;n[1]=t.g;n[2]=t.b}}else{if(arraysEqual(n,t))return;e.uniform3fv(this.addr,t);copyArray(n,t)}}function setValueV4f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z||n[3]!==t.w){e.uniform4f(this.addr,t.x,t.y,t.z,t.w);n[0]=t.x;n[1]=t.y;n[2]=t.z;n[3]=t.w}}else{if(arraysEqual(n,t))return;e.uniform4fv(this.addr,t);copyArray(n,t)}}function setValueM2(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix2fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;To.set(r);e.uniformMatrix2fv(this.addr,false,To);copyArray(n,r)}}function setValueM3(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix3fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;So.set(r);e.uniformMatrix3fv(this.addr,false,So);copyArray(n,r)}}function setValueM4(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix4fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;wo.set(r);e.uniformMatrix4fv(this.addr,false,wo);copyArray(n,r)}}function setValueV1i(e,t){const n=this.cache;if(n[0]!==t){e.uniform1i(this.addr,t);n[0]=t}}function setValueV2i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform2iv(this.addr,t);copyArray(n,t)}}function setValueV3i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform3iv(this.addr,t);copyArray(n,t)}}function setValueV4i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform4iv(this.addr,t);copyArray(n,t)}}function setValueV1ui(e,t){const n=this.cache;if(n[0]!==t){e.uniform1ui(this.addr,t);n[0]=t}}function setValueV2ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform2uiv(this.addr,t);copyArray(n,t)}}function setValueV3ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform3uiv(this.addr,t);copyArray(n,t)}}function setValueV4ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform4uiv(this.addr,t);copyArray(n,t)}}function setValueT1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.safeSetTexture2D(t||yo,i)}function setValueT3D1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.setTexture3D(t||xo,i)}function setValueT6(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.safeSetTextureCube(t||bo,i)}function setValueT2DArray1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.setTexture2DArray(t||vo,i)}function getSingularSetter(e){switch(e){case 5126:return setValueV1f;case 35664:return setValueV2f;case 35665:return setValueV3f;case 35666:return setValueV4f;case 35674:return setValueM2;case 35675:return setValueM3;case 35676:return setValueM4;case 5124:case 35670:return setValueV1i;case 35667:case 35671:return setValueV2i;case 35668:case 35672:return setValueV3i;case 35669:case 35673:return setValueV4i;case 5125:return setValueV1ui;case 36294:return setValueV2ui;case 36295:return setValueV3ui;case 36296:return setValueV4ui;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1;case 35679:case 36299:case 36307:return setValueT3D1;case 35680:case 36300:case 36308:case 36293:return setValueT6;case 36289:case 36303:case 36311:case 36292:return setValueT2DArray1}}function setValueV1fArray(e,t){e.uniform1fv(this.addr,t)}function setValueV2fArray(e,t){const n=flatten(t,this.size,2);e.uniform2fv(this.addr,n)}function setValueV3fArray(e,t){const n=flatten(t,this.size,3);e.uniform3fv(this.addr,n)}function setValueV4fArray(e,t){const n=flatten(t,this.size,4);e.uniform4fv(this.addr,n)}function setValueM2Array(e,t){const n=flatten(t,this.size,4);e.uniformMatrix2fv(this.addr,false,n)}function setValueM3Array(e,t){const n=flatten(t,this.size,9);e.uniformMatrix3fv(this.addr,false,n)}function setValueM4Array(e,t){const n=flatten(t,this.size,16);e.uniformMatrix4fv(this.addr,false,n)}function setValueV1iArray(e,t){e.uniform1iv(this.addr,t)}function setValueV2iArray(e,t){e.uniform2iv(this.addr,t)}function setValueV3iArray(e,t){e.uniform3iv(this.addr,t)}function setValueV4iArray(e,t){e.uniform4iv(this.addr,t)}function setValueV1uiArray(e,t){e.uniform1uiv(this.addr,t)}function setValueV2uiArray(e,t){e.uniform2uiv(this.addr,t)}function setValueV3uiArray(e,t){e.uniform3uiv(this.addr,t)}function setValueV4uiArray(e,t){e.uniform4uiv(this.addr,t)}function setValueT1Array(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.safeSetTexture2D(t[e]||yo,i[e])}function setValueT3DArray(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.setTexture3D(t[e]||xo,i[e])}function setValueT6Array(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.safeSetTextureCube(t[e]||bo,i[e])}function setValueT2DArrayArray(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.setTexture2DArray(t[e]||vo,i[e])}function getPureArraySetter(e){switch(e){case 5126:return setValueV1fArray;case 35664:return setValueV2fArray;case 35665:return setValueV3fArray;case 35666:return setValueV4fArray;case 35674:return setValueM2Array;case 35675:return setValueM3Array;case 35676:return setValueM4Array;case 5124:case 35670:return setValueV1iArray;case 35667:case 35671:return setValueV2iArray;case 35668:case 35672:return setValueV3iArray;case 35669:case 35673:return setValueV4iArray;case 5125:return setValueV1uiArray;case 36294:return setValueV2uiArray;case 36295:return setValueV3uiArray;case 36296:return setValueV4uiArray;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1Array;case 35679:case 36299:case 36307:return setValueT3DArray;case 35680:case 36300:case 36308:case 36293:return setValueT6Array;case 36289:case 36303:case 36311:case 36292:return setValueT2DArrayArray}}function SingleUniform(e,t,n){this.id=e;this.addr=n;this.cache=[];this.setValue=getSingularSetter(t.type)}function PureArrayUniform(e,t,n){this.id=e;this.addr=n;this.cache=[];this.size=t.size;this.setValue=getPureArraySetter(t.type)}PureArrayUniform.prototype.updateCache=function(e){const t=this.cache;e instanceof Float32Array&&t.length!==e.length&&(this.cache=new Float32Array(e.length));copyArray(t,e)};function StructuredUniform(e){this.id=e;this.seq=[];this.map={}}StructuredUniform.prototype.setValue=function(e,t,n){const r=this.seq;for(let i=0,s=r.length;i!==s;++i){const s=r[i];s.setValue(e,t[s.id],n)}};const Eo=/(\\w+)(\\])?(\\[|\\.)?/g;function addUniform(e,t){e.seq.push(t);e.map[t.id]=t}function parseUniform(e,t,n){const r=e.name,i=r.length;Eo.lastIndex=0;while(true){const s=Eo.exec(r),a=Eo.lastIndex;let o=s[1];const l=\"]\"===s[2],c=s[3];l&&(o|=0);if(void 0===c||\"[\"===c&&a+2===i){addUniform(n,void 0===c?new SingleUniform(o,e,t):new PureArrayUniform(o,e,t));break}{const e=n.map;let t=e[o];if(void 0===t){t=new StructuredUniform(o);addUniform(n,t)}n=t}}}function WebGLUniforms(e,t){this.seq=[];this.map={};const n=e.getProgramParameter(t,35718);for(let r=0;r<n;++r){const n=e.getActiveUniform(t,r),i=e.getUniformLocation(t,n.name);parseUniform(n,i,this)}}WebGLUniforms.prototype.setValue=function(e,t,n,r){const i=this.map[t];void 0!==i&&i.setValue(e,n,r)};WebGLUniforms.prototype.setOptional=function(e,t,n){const r=t[n];void 0!==r&&this.setValue(e,n,r)};WebGLUniforms.upload=function(e,t,n,r){for(let i=0,s=t.length;i!==s;++i){const s=t[i],a=n[s.id];false!==a.needsUpdate&&s.setValue(e,a.value,r)}};WebGLUniforms.seqWithValue=function(e,t){const n=[];for(let r=0,i=e.length;r!==i;++r){const i=e[r];i.id in t&&n.push(i)}return n};function WebGLShader(e,t,n){const r=e.createShader(t);e.shaderSource(r,n);e.compileShader(r);return r}let Ao=0;function addLineNumbers(e){const t=e.split(\"\\n\");for(let e=0;e<t.length;e++)t[e]=e+1+\": \"+t[e];return t.join(\"\\n\")}function getEncodingComponents(e){switch(e){case Xt:return[\"Linear\",\"( value )\"];case Jt:return[\"sRGB\",\"( value )\"];default:console.warn(\"THREE.WebGLProgram: Unsupported encoding:\",e);return[\"Linear\",\"( value )\"]}}function getShaderErrors(e,t,n){const r=e.getShaderParameter(t,35713);const i=e.getShaderInfoLog(t).trim();return r&&\"\"===i?\"\":n.toUpperCase()+\"\\n\\n\"+i+\"\\n\\n\"+addLineNumbers(e.getShaderSource(t))}function getTexelDecodingFunction(e,t){const n=getEncodingComponents(t);return\"vec4 \"+e+\"( vec4 value ) { return \"+n[0]+\"ToLinear\"+n[1]+\"; }\"}function getTexelEncodingFunction(e,t){const n=getEncodingComponents(t);return\"vec4 \"+e+\"( vec4 value ) { return LinearTo\"+n[0]+n[1]+\"; }\"}function getToneMappingFunction(e,t){let n;switch(t){case Q:n=\"Linear\";break;case K:n=\"Reinhard\";break;case $:n=\"OptimizedCineon\";break;case ee:n=\"ACESFilmic\";break;case te:n=\"Custom\";break;default:console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\",t);n=\"Linear\"}return\"vec3 \"+e+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}function generateExtensions(e){const t=[e.extensionDerivatives||e.envMapCubeUV||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||\"physical\"===e.shaderID?\"#extension GL_OES_standard_derivatives : enable\":\"\",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?\"#extension GL_EXT_frag_depth : enable\":\"\",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?\"#extension GL_EXT_draw_buffers : require\":\"\",(e.extensionShaderTextureLOD||e.envMap||e.transmission)&&e.rendererExtensionShaderTextureLod?\"#extension GL_EXT_shader_texture_lod : enable\":\"\"];return t.filter(filterEmptyLine).join(\"\\n\")}function generateDefines(e){const t=[];for(const n in e){const r=e[n];false!==r&&t.push(\"#define \"+n+\" \"+r)}return t.join(\"\\n\")}function fetchAttributeLocations(e,t){const n={};const r=e.getProgramParameter(t,35721);for(let i=0;i<r;i++){const r=e.getActiveAttrib(t,i);const s=r.name;let a=1;35674===r.type&&(a=2);35675===r.type&&(a=3);35676===r.type&&(a=4);n[s]={type:r.type,location:e.getAttribLocation(t,s),locationSize:a}}return n}function filterEmptyLine(e){return\"\"!==e}function replaceLightNums(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function replaceClippingPlaneNums(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Lo=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function resolveIncludes(e){return e.replace(Lo,includeReplacer)}function includeReplacer(e,t){const n=Qa[t];if(void 0===n)throw new Error(\"Can not resolve #include <\"+t+\">\");return resolveIncludes(n)}const Co=/#pragma unroll_loop[\\s]+?for \\( int i \\= (\\d+)\\; i < (\\d+)\\; i \\+\\+ \\) \\{([\\s\\S]+?)(?=\\})\\}/g;const Ro=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function unrollLoops(e){return e.replace(Ro,loopReplacer).replace(Co,deprecatedLoopReplacer)}function deprecatedLoopReplacer(e,t,n,r){console.warn(\"WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.\");return loopReplacer(e,t,n,r)}function loopReplacer(e,t,n,r){let i=\"\";for(let e=parseInt(t);e<parseInt(n);e++)i+=r.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+e+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,e);return i}function generatePrecision(e){let t=\"precision \"+e.precision+\" float;\\nprecision \"+e.precision+\" int;\";\"highp\"===e.precision?t+=\"\\n#define HIGH_PRECISION\":\"mediump\"===e.precision?t+=\"\\n#define MEDIUM_PRECISION\":\"lowp\"===e.precision&&(t+=\"\\n#define LOW_PRECISION\");return t}function generateShadowMapTypeDefine(e){let t=\"SHADOWMAP_TYPE_BASIC\";e.shadowMapType===l?t=\"SHADOWMAP_TYPE_PCF\":e.shadowMapType===c?t=\"SHADOWMAP_TYPE_PCF_SOFT\":e.shadowMapType===u&&(t=\"SHADOWMAP_TYPE_VSM\");return t}function generateEnvMapTypeDefine(e){let t=\"ENVMAP_TYPE_CUBE\";if(e.envMap)switch(e.envMapMode){case re:case ie:t=\"ENVMAP_TYPE_CUBE\";break;case oe:case le:t=\"ENVMAP_TYPE_CUBE_UV\";break}return t}function generateEnvMapModeDefine(e){let t=\"ENVMAP_MODE_REFLECTION\";if(e.envMap)switch(e.envMapMode){case ie:case le:t=\"ENVMAP_MODE_REFRACTION\";break}return t}function generateEnvMapBlendingDefine(e){let t=\"ENVMAP_BLENDING_NONE\";if(e.envMap)switch(e.combine){case X:t=\"ENVMAP_BLENDING_MULTIPLY\";break;case J:t=\"ENVMAP_BLENDING_MIX\";break;case Y:t=\"ENVMAP_BLENDING_ADD\";break}return t}function WebGLProgram(e,t,n,r){const i=e.getContext();const s=n.defines;let a=n.vertexShader;let o=n.fragmentShader;const l=generateShadowMapTypeDefine(n);const c=generateEnvMapTypeDefine(n);const u=generateEnvMapModeDefine(n);const h=generateEnvMapBlendingDefine(n);const d=n.isWebGL2?\"\":generateExtensions(n);const p=generateDefines(s);const f=i.createProgram();let m,g;let y=n.glslVersion?\"#version \"+n.glslVersion+\"\\n\":\"\";if(n.isRawShaderMaterial){m=[p].filter(filterEmptyLine).join(\"\\n\");m.length>0&&(m+=\"\\n\");g=[d,p].filter(filterEmptyLine).join(\"\\n\");g.length>0&&(g+=\"\\n\")}else{m=[generatePrecision(n),\"#define SHADER_NAME \"+n.shaderName,p,n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define MAX_BONES \"+n.maxBones,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+u:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.displacementMap&&n.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULARINTENSITYMAP\":\"\",n.specularColorMap?\"#define USE_SPECULARCOLORMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEENCOLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEENROUGHNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.useVertexTexture?\"#define BONE_TEXTURE\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&false===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.morphTargets&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE\":\"\",n.morphTargets&&n.isWebGL2?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\\tattribute vec3 color;\",\"#endif\",\"#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\");g=[d,generatePrecision(n),\"#define SHADER_NAME \"+n.shaderName,p,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+c:\"\",n.envMap?\"#define \"+u:\"\",n.envMap?\"#define \"+h:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULARINTENSITYMAP\":\"\",n.specularColorMap?\"#define USE_SPECULARCOLORMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEENCOLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEENROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==Z?\"#define TONE_MAPPING\":\"\",n.toneMapping!==Z?Qa.tonemapping_pars_fragment:\"\",n.toneMapping!==Z?getToneMappingFunction(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.format===Ve?\"#define OPAQUE\":\"\",Qa.encodings_pars_fragment,n.map?getTexelDecodingFunction(\"mapTexelToLinear\",n.mapEncoding):\"\",n.matcap?getTexelDecodingFunction(\"matcapTexelToLinear\",n.matcapEncoding):\"\",n.envMap?getTexelDecodingFunction(\"envMapTexelToLinear\",n.envMapEncoding):\"\",n.emissiveMap?getTexelDecodingFunction(\"emissiveMapTexelToLinear\",n.emissiveMapEncoding):\"\",n.specularColorMap?getTexelDecodingFunction(\"specularColorMapTexelToLinear\",n.specularColorMapEncoding):\"\",n.sheenColorMap?getTexelDecodingFunction(\"sheenColorMapTexelToLinear\",n.sheenColorMapEncoding):\"\",n.lightMap?getTexelDecodingFunction(\"lightMapTexelToLinear\",n.lightMapEncoding):\"\",getTexelEncodingFunction(\"linearToOutputTexel\",n.outputEncoding),n.depthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\")}a=resolveIncludes(a);a=replaceLightNums(a,n);a=replaceClippingPlaneNums(a,n);o=resolveIncludes(o);o=replaceLightNums(o,n);o=replaceClippingPlaneNums(o,n);a=unrollLoops(a);o=unrollLoops(o);if(n.isWebGL2&&true!==n.isRawShaderMaterial){y=\"#version 300 es\\n\";m=[\"precision mediump sampler2DArray;\",\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+m;g=[\"#define varying in\",n.glslVersion===En?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===En?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+g}const x=y+m+a;const b=y+g+o;const _=WebGLShader(i,35633,x);const M=WebGLShader(i,35632,b);i.attachShader(f,_);i.attachShader(f,M);void 0!==n.index0AttributeName?i.bindAttribLocation(f,0,n.index0AttributeName):true===n.morphTargets&&i.bindAttribLocation(f,0,\"position\");i.linkProgram(f);if(e.debug.checkShaderErrors){const e=i.getProgramInfoLog(f).trim();const t=i.getShaderInfoLog(_).trim();const n=i.getShaderInfoLog(M).trim();let r=true;let s=true;if(false===i.getProgramParameter(f,35714)){r=false;const t=getShaderErrors(i,_,\"vertex\");const n=getShaderErrors(i,M,\"fragment\");console.error(\"THREE.WebGLProgram: Shader Error \"+i.getError()+\" - VALIDATE_STATUS \"+i.getProgramParameter(f,35715)+\"\\n\\nProgram Info Log: \"+e+\"\\n\"+t+\"\\n\"+n)}else\"\"!==e?console.warn(\"THREE.WebGLProgram: Program Info Log:\",e):\"\"!==t&&\"\"!==n||(s=false);s&&(this.diagnostics={runnable:r,programLog:e,vertexShader:{log:t,prefix:m},fragmentShader:{log:n,prefix:g}})}i.deleteShader(_);i.deleteShader(M);let w;this.getUniforms=function(){void 0===w&&(w=new WebGLUniforms(i,f));return w};let S;this.getAttributes=function(){void 0===S&&(S=fetchAttributeLocations(i,f));return S};this.destroy=function(){r.releaseStatesOfProgram(this);i.deleteProgram(f);this.program=void 0};this.name=n.shaderName;this.id=Ao++;this.cacheKey=t;this.usedTimes=1;this.program=f;this.vertexShader=_;this.fragmentShader=M;return this}let Po=0;class WebGLShaderCache{constructor(){this.shaderCache=new Map;this.materialCache=new Map}update(e){const t=e.vertexShader;const n=e.fragmentShader;const r=this._getShaderStage(t);const i=this._getShaderStage(n);const s=this._getShaderCacheForMaterial(e);if(false===s.has(r)){s.add(r);r.usedTimes++}if(false===s.has(i)){s.add(i);i.usedTimes++}return this}remove(e){const t=this.materialCache.get(e);for(const e of t){e.usedTimes--;0===e.usedTimes&&this.shaderCache.delete(e)}this.materialCache.delete(e);return this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear();this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;false===t.has(e)&&t.set(e,new Set);return t.get(e)}_getShaderStage(e){const t=this.shaderCache;if(false===t.has(e)){const n=new WebGLShaderStage;t.set(e,n)}return t.get(e)}}class WebGLShaderStage{constructor(){this.id=Po++;this.usedTimes=0}}function WebGLPrograms(e,t,n,r,i,s,a){const o=new Layers;const l=new WebGLShaderCache;const c=[];const u=i.isWebGL2;const h=i.logarithmicDepthBuffer;const f=i.floatVertexTextures;const m=i.maxVertexUniforms;const g=i.vertexTextures;let y=i.precision;const x={MeshDepthMaterial:\"depth\",MeshDistanceMaterial:\"distanceRGBA\",MeshNormalMaterial:\"normal\",MeshBasicMaterial:\"basic\",MeshLambertMaterial:\"lambert\",MeshPhongMaterial:\"phong\",MeshToonMaterial:\"toon\",MeshStandardMaterial:\"physical\",MeshPhysicalMaterial:\"physical\",MeshMatcapMaterial:\"matcap\",LineBasicMaterial:\"basic\",LineDashedMaterial:\"dashed\",PointsMaterial:\"points\",ShadowMaterial:\"shadow\",SpriteMaterial:\"sprite\"};function getMaxBones(e){const t=e.skeleton;const n=t.bones;if(f)return 1024;{const e=m;const t=Math.floor((e-20)/4);const r=Math.min(t,n.length);if(r<n.length){console.warn(\"THREE.WebGLRenderer: Skeleton has \"+n.length+\" bones. This GPU supports \"+r+\".\");return 0}return r}}function getTextureEncodingFromMap(e){let t;if(e&&e.isTexture)t=e.encoding;else if(e&&e.isWebGLRenderTarget){console.warn(\"THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead.\");t=e.texture.encoding}else t=Xt;u&&e&&e.isTexture&&e.format===Ne&&e.type===Me&&e.encoding===Jt&&(t=Xt);return t}function getParameters(s,o,c,m,b){const _=m.fog;const M=s.isMeshStandardMaterial?m.environment:null;const w=(s.isMeshStandardMaterial?n:t).get(s.envMap||M);const S=x[s.type];const T=b.isSkinnedMesh?getMaxBones(b):0;if(null!==s.precision){y=i.getMaxPrecision(s.precision);y!==s.precision&&console.warn(\"THREE.WebGLProgram.getParameters:\",s.precision,\"not supported, using\",y,\"instead.\")}let E,A;let L,C;if(S){const e=$a[S];E=e.vertexShader;A=e.fragmentShader}else{E=s.vertexShader;A=s.fragmentShader;l.update(s);L=l.getVertexShaderID(s);C=l.getFragmentShaderID(s)}const R=e.getRenderTarget();const P=s.alphaTest>0;const I=s.clearcoat>0;const D={isWebGL2:u,shaderID:S,shaderName:s.type,vertexShader:E,fragmentShader:A,defines:s.defines,customVertexShaderID:L,customFragmentShaderID:C,isRawShaderMaterial:true===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:y,instancing:true===b.isInstancedMesh,instancingColor:true===b.isInstancedMesh&&null!==b.instanceColor,supportsVertexTextures:g,outputEncoding:null!==R?getTextureEncodingFromMap(R.texture):e.outputEncoding,map:!!s.map,mapEncoding:getTextureEncodingFromMap(s.map),matcap:!!s.matcap,matcapEncoding:getTextureEncodingFromMap(s.matcap),envMap:!!w,envMapMode:w&&w.mapping,envMapEncoding:getTextureEncodingFromMap(w),envMapCubeUV:!!w&&(w.mapping===oe||w.mapping===le),lightMap:!!s.lightMap,lightMapEncoding:getTextureEncodingFromMap(s.lightMap),aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,emissiveMapEncoding:getTextureEncodingFromMap(s.emissiveMap),bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:s.normalMapType===Kt,tangentSpaceNormalMap:s.normalMapType===Qt,clearcoat:I,clearcoatMap:I&&!!s.clearcoatMap,clearcoatRoughnessMap:I&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:I&&!!s.clearcoatNormalMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularColorMap:!!s.specularColorMap,specularColorMapEncoding:getTextureEncodingFromMap(s.specularColorMap),alphaMap:!!s.alphaMap,alphaTest:P,gradientMap:!!s.gradientMap,sheen:s.sheen>0,sheenColorMap:!!s.sheenColorMap,sheenColorMapEncoding:getTextureEncodingFromMap(s.sheenColorMap),sheenRoughnessMap:!!s.sheenRoughnessMap,transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!b.geometry&&!!b.geometry.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:true===s.vertexColors&&!!b.geometry&&!!b.geometry.attributes.color&&4===b.geometry.attributes.color.itemSize,vertexUvs:!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatMap||!!s.clearcoatRoughnessMap||!!s.clearcoatNormalMap||!!s.displacementMap||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||!!s.sheenColorMap||!!s.sheenRoughnessMap,uvsVertexOnly:!(!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatNormalMap||s.transmission>0||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||s.sheen>0||!!s.sheenColorMap||!!s.sheenRoughnessMap)&&!!s.displacementMap,fog:!!_,useFog:s.fog,fogExp2:_&&_.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:h,skinning:true===b.isSkinnedMesh&&T>0,maxBones:T,useVertexTexture:f,morphTargets:!!b.geometry&&!!b.geometry.morphAttributes.position,morphNormals:!!b.geometry&&!!b.geometry.morphAttributes.normal,morphTargetsCount:!b.geometry||!b.geometry.morphAttributes.position?0:b.geometry.morphAttributes.position.length,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:s.format,dithering:s.dithering,shadowMapEnabled:e.shadowMap.enabled&&c.length>0,shadowMapType:e.shadowMap.type,toneMapping:s.toneMapped?e.toneMapping:Z,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:s.side===p,flipSided:s.side===d,depthPacking:void 0!==s.depthPacking&&s.depthPacking,index0AttributeName:s.index0AttributeName,extensionDerivatives:s.extensions&&s.extensions.derivatives,extensionFragDepth:s.extensions&&s.extensions.fragDepth,extensionDrawBuffers:s.extensions&&s.extensions.drawBuffers,extensionShaderTextureLOD:s.extensions&&s.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||r.has(\"EXT_frag_depth\"),rendererExtensionDrawBuffers:u||r.has(\"WEBGL_draw_buffers\"),rendererExtensionShaderTextureLod:u||r.has(\"EXT_shader_texture_lod\"),customProgramCacheKey:s.customProgramCacheKey()};return D}function getProgramCacheKey(t){const n=[];if(t.shaderID)n.push(t.shaderID);else{n.push(t.customVertexShaderID);n.push(t.customFragmentShaderID)}if(void 0!==t.defines)for(const e in t.defines){n.push(e);n.push(t.defines[e])}if(false===t.isRawShaderMaterial){getProgramCacheKeyParameters(n,t);getProgramCacheKeyBooleans(n,t);n.push(e.outputEncoding)}n.push(t.customProgramCacheKey);return n.join()}function getProgramCacheKeyParameters(e,t){e.push(t.precision);e.push(t.outputEncoding);e.push(t.mapEncoding);e.push(t.matcapEncoding);e.push(t.envMapMode);e.push(t.envMapEncoding);e.push(t.lightMapEncoding);e.push(t.emissiveMapEncoding);e.push(t.combine);e.push(t.vertexUvs);e.push(t.fogExp2);e.push(t.sizeAttenuation);e.push(t.maxBones);e.push(t.morphTargetsCount);e.push(t.numDirLights);e.push(t.numPointLights);e.push(t.numSpotLights);e.push(t.numHemiLights);e.push(t.numRectAreaLights);e.push(t.numDirLightShadows);e.push(t.numPointLightShadows);e.push(t.numSpotLightShadows);e.push(t.shadowMapType);e.push(t.toneMapping);e.push(t.numClippingPlanes);e.push(t.numClipIntersection);e.push(t.format);e.push(t.specularColorMapEncoding);e.push(t.sheenColorMapEncoding)}function getProgramCacheKeyBooleans(e,t){o.disableAll();t.isWebGL2&&o.enable(0);t.supportsVertexTextures&&o.enable(1);t.instancing&&o.enable(2);t.instancingColor&&o.enable(3);t.map&&o.enable(4);t.matcap&&o.enable(5);t.envMap&&o.enable(6);t.envMapCubeUV&&o.enable(7);t.lightMap&&o.enable(8);t.aoMap&&o.enable(9);t.emissiveMap&&o.enable(10);t.bumpMap&&o.enable(11);t.normalMap&&o.enable(12);t.objectSpaceNormalMap&&o.enable(13);t.tangentSpaceNormalMap&&o.enable(14);t.clearcoat&&o.enable(15);t.clearcoatMap&&o.enable(16);t.clearcoatRoughnessMap&&o.enable(17);t.clearcoatNormalMap&&o.enable(18);t.displacementMap&&o.enable(19);t.specularMap&&o.enable(20);t.roughnessMap&&o.enable(21);t.metalnessMap&&o.enable(22);t.gradientMap&&o.enable(23);t.alphaMap&&o.enable(24);t.alphaTest&&o.enable(25);t.vertexColors&&o.enable(26);t.vertexAlphas&&o.enable(27);t.vertexUvs&&o.enable(28);t.vertexTangents&&o.enable(29);t.uvsVertexOnly&&o.enable(30);t.fog&&o.enable(31);e.push(o.mask);o.disableAll();t.useFog&&o.enable(0);t.flatShading&&o.enable(1);t.logarithmicDepthBuffer&&o.enable(2);t.skinning&&o.enable(3);t.useVertexTexture&&o.enable(4);t.morphTargets&&o.enable(5);t.morphNormals&&o.enable(6);t.premultipliedAlpha&&o.enable(7);t.shadowMapEnabled&&o.enable(8);t.physicallyCorrectLights&&o.enable(9);t.doubleSided&&o.enable(10);t.flipSided&&o.enable(11);t.depthPacking&&o.enable(12);t.dithering&&o.enable(13);t.specularIntensityMap&&o.enable(14);t.specularColorMap&&o.enable(15);t.transmission&&o.enable(16);t.transmissionMap&&o.enable(17);t.thicknessMap&&o.enable(18);t.sheen&&o.enable(19);t.sheenColorMap&&o.enable(20);t.sheenRoughnessMap&&o.enable(21);e.push(o.mask)}function getUniforms(e){const t=x[e.type];let n;if(t){const e=$a[t];n=mi.clone(e.uniforms)}else n=e.uniforms;return n}function acquireProgram(t,n){let r;for(let e=0,t=c.length;e<t;e++){const t=c[e];if(t.cacheKey===n){r=t;++r.usedTimes;break}}if(void 0===r){r=new WebGLProgram(e,n,t,s);c.push(r)}return r}function releaseProgram(e){if(0===--e.usedTimes){const t=c.indexOf(e);c[t]=c[c.length-1];c.pop();e.destroy()}}function releaseShaderCache(e){l.remove(e)}function dispose(){l.dispose()}return{getParameters:getParameters,getProgramCacheKey:getProgramCacheKey,getUniforms:getUniforms,acquireProgram:acquireProgram,releaseProgram:releaseProgram,releaseShaderCache:releaseShaderCache,programs:c,dispose:dispose}}function WebGLProperties(){let e=new WeakMap;function get(t){let n=e.get(t);if(void 0===n){n={};e.set(t,n)}return n}function remove(t){e.delete(t)}function update(t,n,r){e.get(t)[n]=r}function dispose(){e=new WeakMap}return{get:get,remove:remove,update:update,dispose:dispose}}function painterSortStable(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function reversePainterSortStable(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function WebGLRenderList(){const e=[];let t=0;const n=[];const r=[];const i=[];function init(){t=0;n.length=0;r.length=0;i.length=0}function getNextRenderItem(n,r,i,s,a,o){let l=e[t];if(void 0===l){l={id:n.id,object:n,geometry:r,material:i,groupOrder:s,renderOrder:n.renderOrder,z:a,group:o};e[t]=l}else{l.id=n.id;l.object=n;l.geometry=r;l.material=i;l.groupOrder=s;l.renderOrder=n.renderOrder;l.z=a;l.group=o}t++;return l}function push(e,t,s,a,o,l){const c=getNextRenderItem(e,t,s,a,o,l);s.transmission>0?r.push(c):true===s.transparent?i.push(c):n.push(c)}function unshift(e,t,s,a,o,l){const c=getNextRenderItem(e,t,s,a,o,l);s.transmission>0?r.unshift(c):true===s.transparent?i.unshift(c):n.unshift(c)}function sort(e,t){n.length>1&&n.sort(e||painterSortStable);r.length>1&&r.sort(t||reversePainterSortStable);i.length>1&&i.sort(t||reversePainterSortStable)}function finish(){for(let n=t,r=e.length;n<r;n++){const t=e[n];if(null===t.id)break;t.id=null;t.object=null;t.geometry=null;t.material=null;t.group=null}}return{opaque:n,transmissive:r,transparent:i,init:init,push:push,unshift:unshift,finish:finish,sort:sort}}function WebGLRenderLists(){let e=new WeakMap;function get(t,n){let r;if(false===e.has(t)){r=new WebGLRenderList;e.set(t,[r])}else if(n>=e.get(t).length){r=new WebGLRenderList;e.get(t).push(r)}else r=e.get(t)[n];return r}function dispose(){e=new WeakMap}return{get:get,dispose:dispose}}function UniformsCache(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={direction:new Vector3,color:new Color};break;case\"SpotLight\":n={position:new Vector3,direction:new Vector3,color:new Color,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Vector3,color:new Color,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Vector3,skyColor:new Color,groundColor:new Color};break;case\"RectAreaLight\":n={color:new Color,position:new Vector3,halfWidth:new Vector3,halfHeight:new Vector3};break}e[t.id]=n;return n}}}function ShadowUniformsCache(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"SpotLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"PointLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2,shadowCameraNear:1,shadowCameraFar:1e3};break}e[t.id]=n;return n}}}let Io=0;function shadowCastingLightsFirst(e,t){return(t.castShadow?1:0)-(e.castShadow?1:0)}function WebGLLights(e,t){const n=new UniformsCache;const r=ShadowUniformsCache();const i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let e=0;e<9;e++)i.probe.push(new Vector3);const s=new Vector3;const a=new Matrix4;const o=new Matrix4;function setup(s,a){let o=0,l=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0;let h=0;let d=0;let p=0;let f=0;let m=0;let g=0;let y=0;s.sort(shadowCastingLightsFirst);const x=true!==a?Math.PI:1;for(let e=0,t=s.length;e<t;e++){const t=s[e];const a=t.color;const b=t.intensity;const _=t.distance;const M=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight){o+=a.r*b*x;l+=a.g*b*x;c+=a.b*b*x}else if(t.isLightProbe)for(let e=0;e<9;e++)i.probe[e].addScaledVector(t.sh.coefficients[e],b);else if(t.isDirectionalLight){const e=n.get(t);e.color.copy(t.color).multiplyScalar(t.intensity*x);if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;i.directionalShadow[u]=n;i.directionalShadowMap[u]=M;i.directionalShadowMatrix[u]=t.shadow.matrix;m++}i.directional[u]=e;u++}else if(t.isSpotLight){const e=n.get(t);e.position.setFromMatrixPosition(t.matrixWorld);e.color.copy(a).multiplyScalar(b*x);e.distance=_;e.coneCos=Math.cos(t.angle);e.penumbraCos=Math.cos(t.angle*(1-t.penumbra));e.decay=t.decay;if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;i.spotShadow[d]=n;i.spotShadowMap[d]=M;i.spotShadowMatrix[d]=t.shadow.matrix;y++}i.spot[d]=e;d++}else if(t.isRectAreaLight){const e=n.get(t);e.color.copy(a).multiplyScalar(b);e.halfWidth.set(.5*t.width,0,0);e.halfHeight.set(0,.5*t.height,0);i.rectArea[p]=e;p++}else if(t.isPointLight){const e=n.get(t);e.color.copy(t.color).multiplyScalar(t.intensity*x);e.distance=t.distance;e.decay=t.decay;if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;n.shadowCameraNear=e.camera.near;n.shadowCameraFar=e.camera.far;i.pointShadow[h]=n;i.pointShadowMap[h]=M;i.pointShadowMatrix[h]=t.shadow.matrix;g++}i.point[h]=e;h++}else if(t.isHemisphereLight){const e=n.get(t);e.skyColor.copy(t.color).multiplyScalar(b*x);e.groundColor.copy(t.groundColor).multiplyScalar(b*x);i.hemi[f]=e;f++}}if(p>0)if(t.isWebGL2){i.rectAreaLTC1=Ka.LTC_FLOAT_1;i.rectAreaLTC2=Ka.LTC_FLOAT_2}else if(true===e.has(\"OES_texture_float_linear\")){i.rectAreaLTC1=Ka.LTC_FLOAT_1;i.rectAreaLTC2=Ka.LTC_FLOAT_2}else if(true===e.has(\"OES_texture_half_float_linear\")){i.rectAreaLTC1=Ka.LTC_HALF_1;i.rectAreaLTC2=Ka.LTC_HALF_2}else console.error(\"THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.\");i.ambient[0]=o;i.ambient[1]=l;i.ambient[2]=c;const b=i.hash;if(b.directionalLength!==u||b.pointLength!==h||b.spotLength!==d||b.rectAreaLength!==p||b.hemiLength!==f||b.numDirectionalShadows!==m||b.numPointShadows!==g||b.numSpotShadows!==y){i.directional.length=u;i.spot.length=d;i.rectArea.length=p;i.point.length=h;i.hemi.length=f;i.directionalShadow.length=m;i.directionalShadowMap.length=m;i.pointShadow.length=g;i.pointShadowMap.length=g;i.spotShadow.length=y;i.spotShadowMap.length=y;i.directionalShadowMatrix.length=m;i.pointShadowMatrix.length=g;i.spotShadowMatrix.length=y;b.directionalLength=u;b.pointLength=h;b.spotLength=d;b.rectAreaLength=p;b.hemiLength=f;b.numDirectionalShadows=m;b.numPointShadows=g;b.numSpotShadows=y;i.version=Io++}}function setupView(e,t){let n=0;let r=0;let l=0;let c=0;let u=0;const h=t.matrixWorldInverse;for(let t=0,d=e.length;t<d;t++){const d=e[t];if(d.isDirectionalLight){const e=i.directional[n];e.direction.setFromMatrixPosition(d.matrixWorld);s.setFromMatrixPosition(d.target.matrixWorld);e.direction.sub(s);e.direction.transformDirection(h);n++}else if(d.isSpotLight){const e=i.spot[l];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);e.direction.setFromMatrixPosition(d.matrixWorld);s.setFromMatrixPosition(d.target.matrixWorld);e.direction.sub(s);e.direction.transformDirection(h);l++}else if(d.isRectAreaLight){const e=i.rectArea[c];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);o.identity();a.copy(d.matrixWorld);a.premultiply(h);o.extractRotation(a);e.halfWidth.set(.5*d.width,0,0);e.halfHeight.set(0,.5*d.height,0);e.halfWidth.applyMatrix4(o);e.halfHeight.applyMatrix4(o);c++}else if(d.isPointLight){const e=i.point[r];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);r++}else if(d.isHemisphereLight){const e=i.hemi[u];e.direction.setFromMatrixPosition(d.matrixWorld);e.direction.transformDirection(h);e.direction.normalize();u++}}}return{setup:setup,setupView:setupView,state:i}}function WebGLRenderState(e,t){const n=new WebGLLights(e,t);const r=[];const i=[];function init(){r.length=0;i.length=0}function pushLight(e){r.push(e)}function pushShadow(e){i.push(e)}function setupLights(e){n.setup(r,e)}function setupLightsView(e){n.setupView(r,e)}const s={lightsArray:r,shadowsArray:i,lights:n};return{init:init,state:s,setupLights:setupLights,setupLightsView:setupLightsView,pushLight:pushLight,pushShadow:pushShadow}}function WebGLRenderStates(e,t){let n=new WeakMap;function get(r,i=0){let s;if(false===n.has(r)){s=new WebGLRenderState(e,t);n.set(r,[s])}else if(i>=n.get(r).length){s=new WebGLRenderState(e,t);n.get(r).push(s)}else s=n.get(r)[i];return s}function dispose(){n=new WeakMap}return{get:get,dispose:dispose}}class MeshDepthMaterial extends Material{constructor(e){super();this.type=\"MeshDepthMaterial\";this.depthPacking=Yt;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.setValues(e)}copy(e){super.copy(e);this.depthPacking=e.depthPacking;this.map=e.map;this.alphaMap=e.alphaMap;this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;return this}}MeshDepthMaterial.prototype.isMeshDepthMaterial=true;class MeshDistanceMaterial extends Material{constructor(e){super();this.type=\"MeshDistanceMaterial\";this.referencePosition=new Vector3;this.nearDistance=1;this.farDistance=1e3;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.fog=false;this.setValues(e)}copy(e){super.copy(e);this.referencePosition.copy(e.referencePosition);this.nearDistance=e.nearDistance;this.farDistance=e.farDistance;this.map=e.map;this.alphaMap=e.alphaMap;this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;return this}}MeshDistanceMaterial.prototype.isMeshDistanceMaterial=true;const Do=\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\";const Bo=\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include <packing>\\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\";function WebGLShadowMap(e,t,n){let r=new Frustum;const i=new Vector2,s=new Vector2,a=new Vector4,o=new MeshDepthMaterial({depthPacking:Zt}),c=new MeshDistanceMaterial,f={},m=n.maxTextureSize;const y={0:d,1:h,2:p};const x=new ShaderMaterial({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vector2},radius:{value:4}},vertexShader:Do,fragmentShader:Bo});const b=x.clone();b.defines.HORIZONTAL_PASS=1;const _=new BufferGeometry;_.setAttribute(\"position\",new BufferAttribute(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new Mesh(_,x);const w=this;this.enabled=false;this.autoUpdate=true;this.needsUpdate=false;this.type=l;this.render=function(t,n,o){if(false===w.enabled)return;if(false===w.autoUpdate&&false===w.needsUpdate)return;if(0===t.length)return;const l=e.getRenderTarget();const c=e.getActiveCubeFace();const h=e.getActiveMipmapLevel();const d=e.state;d.setBlending(g);d.buffers.color.setClear(1,1,1,1);d.buffers.depth.setTest(true);d.setScissorTest(false);for(let l=0,c=t.length;l<c;l++){const c=t[l];const h=c.shadow;if(void 0===h){console.warn(\"THREE.WebGLShadowMap:\",c,\"has no shadow.\");continue}if(false===h.autoUpdate&&false===h.needsUpdate)continue;i.copy(h.mapSize);const p=h.getFrameExtents();i.multiply(p);s.copy(h.mapSize);if(i.x>m||i.y>m){if(i.x>m){s.x=Math.floor(m/p.x);i.x=s.x*p.x;h.mapSize.x=s.x}if(i.y>m){s.y=Math.floor(m/p.y);i.y=s.y*p.y;h.mapSize.y=s.y}}if(null===h.map&&!h.isPointLightShadow&&this.type===u){const e={minFilter:ye,magFilter:ye,format:Ne};h.map=new WebGLRenderTarget(i.x,i.y,e);h.map.texture.name=c.name+\".shadowMap\";h.mapPass=new WebGLRenderTarget(i.x,i.y,e);h.camera.updateProjectionMatrix()}if(null===h.map){const e={minFilter:de,magFilter:de,format:Ne};h.map=new WebGLRenderTarget(i.x,i.y,e);h.map.texture.name=c.name+\".shadowMap\";h.camera.updateProjectionMatrix()}e.setRenderTarget(h.map);e.clear();const f=h.getViewportCount();for(let e=0;e<f;e++){const t=h.getViewport(e);a.set(s.x*t.x,s.y*t.y,s.x*t.z,s.y*t.w);d.viewport(a);h.updateMatrices(c,e);r=h.getFrustum();renderObject(n,o,h.camera,c,this.type)}h.isPointLightShadow||this.type!==u||VSMPass(h,o);h.needsUpdate=false}w.needsUpdate=false;e.setRenderTarget(l,c,h)};function VSMPass(n,r){const i=t.update(M);if(x.defines.VSM_SAMPLES!==n.blurSamples){x.defines.VSM_SAMPLES=n.blurSamples;b.defines.VSM_SAMPLES=n.blurSamples;x.needsUpdate=true;b.needsUpdate=true}x.uniforms.shadow_pass.value=n.map.texture;x.uniforms.resolution.value=n.mapSize;x.uniforms.radius.value=n.radius;e.setRenderTarget(n.mapPass);e.clear();e.renderBufferDirect(r,null,i,x,M,null);b.uniforms.shadow_pass.value=n.mapPass.texture;b.uniforms.resolution.value=n.mapSize;b.uniforms.radius.value=n.radius;e.setRenderTarget(n.map);e.clear();e.renderBufferDirect(r,null,i,b,M,null)}function getDepthMaterial(t,n,r,i,s,a,l){let h=null;const d=true===i.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;h=void 0!==d?d:true===i.isPointLight?c:o;if(e.localClippingEnabled&&true===r.clipShadows&&0!==r.clippingPlanes.length||r.displacementMap&&0!==r.displacementScale||r.alphaMap&&r.alphaTest>0){const e=h.uuid,t=r.uuid;let n=f[e];if(void 0===n){n={};f[e]=n}let i=n[t];if(void 0===i){i=h.clone();n[t]=i}h=i}h.visible=r.visible;h.wireframe=r.wireframe;h.side=l===u?null!==r.shadowSide?r.shadowSide:r.side:null!==r.shadowSide?r.shadowSide:y[r.side];h.alphaMap=r.alphaMap;h.alphaTest=r.alphaTest;h.clipShadows=r.clipShadows;h.clippingPlanes=r.clippingPlanes;h.clipIntersection=r.clipIntersection;h.displacementMap=r.displacementMap;h.displacementScale=r.displacementScale;h.displacementBias=r.displacementBias;h.wireframeLinewidth=r.wireframeLinewidth;h.linewidth=r.linewidth;if(true===i.isPointLight&&true===h.isMeshDistanceMaterial){h.referencePosition.setFromMatrixPosition(i.matrixWorld);h.nearDistance=s;h.farDistance=a}return h}function renderObject(n,i,s,a,o){if(false===n.visible)return;const l=n.layers.test(i.layers);if(l&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===u)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const r=t.update(n);const i=n.material;if(Array.isArray(i)){const t=r.groups;for(let l=0,c=t.length;l<c;l++){const c=t[l];const u=i[c.materialIndex];if(u&&u.visible){const t=getDepthMaterial(n,r,u,a,s.near,s.far,o);e.renderBufferDirect(s,null,r,t,n,c)}}}else if(i.visible){const t=getDepthMaterial(n,r,i,a,s.near,s.far,o);e.renderBufferDirect(s,null,r,t,n,null)}}const c=n.children;for(let e=0,t=c.length;e<t;e++)renderObject(c[e],i,s,a,o)}}function WebGLState(e,t,n){const a=n.isWebGL2;function ColorBuffer(){let t=false;const n=new Vector4;let r=null;const i=new Vector4(0,0,0,0);return{setMask:function(n){if(r!==n&&!t){e.colorMask(n,n,n,n);r=n}},setLocked:function(e){t=e},setClear:function(t,r,s,a,o){if(true===o){t*=a;r*=a;s*=a}n.set(t,r,s,a);if(false===i.equals(n)){e.clearColor(t,r,s,a);i.copy(n)}},reset:function(){t=false;r=null;i.set(-1,0,0,0)}}}function DepthBuffer(){let t=false;let n=null;let r=null;let i=null;return{setTest:function(e){e?enable(2929):disable(2929)},setMask:function(r){if(n!==r&&!t){e.depthMask(r);n=r}},setFunc:function(t){if(r!==t){if(t)switch(t){case G:e.depthFunc(512);break;case F:e.depthFunc(519);break;case O:e.depthFunc(513);break;case H:e.depthFunc(515);break;case k:e.depthFunc(514);break;case W:e.depthFunc(518);break;case j:e.depthFunc(516);break;case q:e.depthFunc(517);break;default:e.depthFunc(515)}else e.depthFunc(515);r=t}},setLocked:function(e){t=e},setClear:function(t){if(i!==t){e.clearDepth(t);i=t}},reset:function(){t=false;n=null;r=null;i=null}}}function StencilBuffer(){let t=false;let n=null;let r=null;let i=null;let s=null;let a=null;let o=null;let l=null;let c=null;return{setTest:function(e){t||(e?enable(2960):disable(2960))},setMask:function(r){if(n!==r&&!t){e.stencilMask(r);n=r}},setFunc:function(t,n,a){if(r!==t||i!==n||s!==a){e.stencilFunc(t,n,a);r=t;i=n;s=a}},setOp:function(t,n,r){if(a!==t||o!==n||l!==r){e.stencilOp(t,n,r);a=t;o=n;l=r}},setLocked:function(e){t=e},setClear:function(t){if(c!==t){e.clearStencil(t);c=t}},reset:function(){t=false;n=null;r=null;i=null;s=null;a=null;o=null;l=null;c=null}}}const o=new ColorBuffer;const l=new DepthBuffer;const c=new StencilBuffer;let u={};let h={};let f=null;let m=false;let X=null;let J=null;let Y=null;let Z=null;let Q=null;let K=null;let $=null;let ee=false;let te=null;let ne=null;let re=null;let ie=null;let se=null;const ae=e.getParameter(35661);let oe=false;let le=0;const ce=e.getParameter(7938);if(-1!==ce.indexOf(\"WebGL\")){le=parseFloat(/^WebGL (\\d)/.exec(ce)[1]);oe=le>=1}else if(-1!==ce.indexOf(\"OpenGL ES\")){le=parseFloat(/^OpenGL ES (\\d)/.exec(ce)[1]);oe=le>=2}let ue=null;let he={};const de=e.getParameter(3088);const pe=e.getParameter(2978);const fe=(new Vector4).fromArray(de);const me=(new Vector4).fromArray(pe);function createTexture(t,n,r){const i=new Uint8Array(4);const s=e.createTexture();e.bindTexture(t,s);e.texParameteri(t,10241,9728);e.texParameteri(t,10240,9728);for(let t=0;t<r;t++)e.texImage2D(n+t,0,6408,1,1,0,6408,5121,i);return s}const ge={};ge[3553]=createTexture(3553,3553,1);ge[34067]=createTexture(34067,34069,6);o.setClear(0,0,0,1);l.setClear(1);c.setClear(0);enable(2929);l.setFunc(H);setFlipSided(false);setCullFace(i);enable(2884);setBlending(g);function enable(t){if(true!==u[t]){e.enable(t);u[t]=true}}function disable(t){if(false!==u[t]){e.disable(t);u[t]=false}}function bindFramebuffer(t,n){if(h[t]!==n){e.bindFramebuffer(t,n);h[t]=n;if(a){36009===t&&(h[36160]=n);36160===t&&(h[36009]=n)}return true}return false}function useProgram(t){if(f!==t){e.useProgram(t);f=t;return true}return false}const ye={[w]:32774,[S]:32778,[T]:32779};if(a){ye[E]=32775;ye[A]=32776}else{const e=t.get(\"EXT_blend_minmax\");if(null!==e){ye[E]=e.MIN_EXT;ye[A]=e.MAX_EXT}}const ve={[L]:0,[C]:1,[R]:768,[I]:770,[z]:776,[N]:774,[B]:772,[P]:769,[D]:771,[U]:775,[V]:773};function setBlending(t,n,r,i,s,a,o,l){if(t!==g){if(false===m){enable(3042);m=true}if(t===M){s=s||n;a=a||r;o=o||i;if(n!==J||s!==Q){e.blendEquationSeparate(ye[n],ye[s]);J=n;Q=s}if(r!==Y||i!==Z||a!==K||o!==$){e.blendFuncSeparate(ve[r],ve[i],ve[a],ve[o]);Y=r;Z=i;K=a;$=o}X=t;ee=null}else if(t!==X||l!==ee){if(J!==w||Q!==w){e.blendEquation(32774);J=w;Q=w}if(l)switch(t){case y:e.blendFuncSeparate(1,771,1,771);break;case x:e.blendFunc(1,1);break;case b:e.blendFuncSeparate(0,0,769,771);break;case _:e.blendFuncSeparate(0,768,0,770);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",t);break}else switch(t){case y:e.blendFuncSeparate(770,771,1,771);break;case x:e.blendFunc(770,1);break;case b:e.blendFunc(0,769);break;case _:e.blendFunc(0,768);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",t);break}Y=null;Z=null;K=null;$=null;X=t;ee=l}}else if(true===m){disable(3042);m=false}}function setMaterial(e,t){e.side===p?disable(2884):enable(2884);let n=e.side===d;t&&(n=!n);setFlipSided(n);e.blending===y&&false===e.transparent?setBlending(g):setBlending(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha);l.setFunc(e.depthFunc);l.setTest(e.depthTest);l.setMask(e.depthWrite);o.setMask(e.colorWrite);const r=e.stencilWrite;c.setTest(r);if(r){c.setMask(e.stencilWriteMask);c.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask);c.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)}setPolygonOffset(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits);true===e.alphaToCoverage?enable(32926):disable(32926)}function setFlipSided(t){if(te!==t){t?e.frontFace(2304):e.frontFace(2305);te=t}}function setCullFace(t){if(t!==r){enable(2884);t!==ne&&(t===i?e.cullFace(1029):t===s?e.cullFace(1028):e.cullFace(1032))}else disable(2884);ne=t}function setLineWidth(t){if(t!==re){oe&&e.lineWidth(t);re=t}}function setPolygonOffset(t,n,r){if(t){enable(32823);if(ie!==n||se!==r){e.polygonOffset(n,r);ie=n;se=r}}else disable(32823)}function setScissorTest(e){e?enable(3089):disable(3089)}function activeTexture(t){void 0===t&&(t=33984+ae-1);if(ue!==t){e.activeTexture(t);ue=t}}function bindTexture(t,n){null===ue&&activeTexture();let r=he[ue];if(void 0===r){r={type:void 0,texture:void 0};he[ue]=r}if(r.type!==t||r.texture!==n){e.bindTexture(t,n||ge[t]);r.type=t;r.texture=n}}function unbindTexture(){const t=he[ue];if(void 0!==t&&void 0!==t.type){e.bindTexture(t.type,null);t.type=void 0;t.texture=void 0}}function compressedTexImage2D(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texSubImage2D(){try{e.texSubImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texSubImage3D(){try{e.texSubImage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function compressedTexSubImage2D(){try{e.compressedTexSubImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texStorage2D(){try{e.texStorage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texStorage3D(){try{e.texStorage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texImage2D(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texImage3D(){try{e.texImage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function scissor(t){if(false===fe.equals(t)){e.scissor(t.x,t.y,t.z,t.w);fe.copy(t)}}function viewport(t){if(false===me.equals(t)){e.viewport(t.x,t.y,t.z,t.w);me.copy(t)}}function reset(){e.disable(3042);e.disable(2884);e.disable(2929);e.disable(32823);e.disable(3089);e.disable(2960);e.disable(32926);e.blendEquation(32774);e.blendFunc(1,0);e.blendFuncSeparate(1,0,1,0);e.colorMask(true,true,true,true);e.clearColor(0,0,0,0);e.depthMask(true);e.depthFunc(513);e.clearDepth(1);e.stencilMask(4294967295);e.stencilFunc(519,0,4294967295);e.stencilOp(7680,7680,7680);e.clearStencil(0);e.cullFace(1029);e.frontFace(2305);e.polygonOffset(0,0);e.activeTexture(33984);e.bindFramebuffer(36160,null);if(true===a){e.bindFramebuffer(36009,null);e.bindFramebuffer(36008,null)}e.useProgram(null);e.lineWidth(1);e.scissor(0,0,e.canvas.width,e.canvas.height);e.viewport(0,0,e.canvas.width,e.canvas.height);u={};ue=null;he={};h={};f=null;m=false;X=null;J=null;Y=null;Z=null;Q=null;K=null;$=null;ee=false;te=null;ne=null;re=null;ie=null;se=null;fe.set(0,0,e.canvas.width,e.canvas.height);me.set(0,0,e.canvas.width,e.canvas.height);o.reset();l.reset();c.reset()}return{buffers:{color:o,depth:l,stencil:c},enable:enable,disable:disable,bindFramebuffer:bindFramebuffer,useProgram:useProgram,setBlending:setBlending,setMaterial:setMaterial,setFlipSided:setFlipSided,setCullFace:setCullFace,setLineWidth:setLineWidth,setPolygonOffset:setPolygonOffset,setScissorTest:setScissorTest,activeTexture:activeTexture,bindTexture:bindTexture,unbindTexture:unbindTexture,compressedTexImage2D:compressedTexImage2D,texImage2D:texImage2D,texImage3D:texImage3D,texStorage2D:texStorage2D,texStorage3D:texStorage3D,texSubImage2D:texSubImage2D,texSubImage3D:texSubImage3D,compressedTexSubImage2D:compressedTexSubImage2D,scissor:scissor,viewport:viewport,reset:reset}}function WebGLTextures(e,t,n,r,i,s,a){const o=i.isWebGL2;const l=i.maxTextures;const c=i.maxCubemapSize;const u=i.maxTextureSize;const h=i.maxSamples;const d=t.has(\"WEBGL_multisampled_render_to_texture\");const p=d?t.get(\"WEBGL_multisampled_render_to_texture\"):void 0;const f=new WeakMap;let m;let g=false;try{g=\"undefined\"!==typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext(\"2d\")}catch(e){}function createCanvas(e,t){return g?new OffscreenCanvas(e,t):createElementNS(\"canvas\")}function resizeImage(e,t,n,r){let i=1;(e.width>r||e.height>r)&&(i=r/Math.max(e.width,e.height));if(i<1||true===t){if(\"undefined\"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!==typeof ImageBitmap&&e instanceof ImageBitmap){const r=t?floorPowerOfTwo:Math.floor;const s=r(i*e.width);const a=r(i*e.height);void 0===m&&(m=createCanvas(s,a));const o=n?createCanvas(s,a):m;o.width=s;o.height=a;const l=o.getContext(\"2d\");l.drawImage(e,0,0,s,a);console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+e.width+\"x\"+e.height+\") to (\"+s+\"x\"+a+\").\");return o}\"data\"in e&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+e.width+\"x\"+e.height+\").\");return e}return e}function isPowerOfTwo$1(e){return isPowerOfTwo(e.width)&&isPowerOfTwo(e.height)}function textureNeedsPowerOfTwo(e){return!o&&(e.wrapS!==ue||e.wrapT!==ue||e.minFilter!==de&&e.minFilter!==ye)}function textureNeedsGenerateMipmaps(e,t){return e.generateMipmaps&&t&&e.minFilter!==de&&e.minFilter!==ye}function generateMipmap(t){e.generateMipmap(t)}function getInternalFormat(n,r,i,s){if(false===o)return r;if(null!==n){if(void 0!==e[n])return e[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let a=r;if(6403===r){5126===i&&(a=33326);5131===i&&(a=33325);5121===i&&(a=33321)}if(6407===r){5126===i&&(a=34837);5131===i&&(a=34843);5121===i&&(a=32849)}if(6408===r){5126===i&&(a=34836);5131===i&&(a=34842);5121===i&&(a=s===Jt?35907:32856)}33325!==a&&33326!==a&&34842!==a&&34836!==a||t.get(\"EXT_color_buffer_float\");return a}function getMipLevels(e,t,n){return true===textureNeedsGenerateMipmaps(e,n)||e.isFramebufferTexture&&e.minFilter!==de&&e.minFilter!==ye?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function filterFallback(e){return e===de||e===pe||e===me?9728:9729}function onTextureDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onTextureDispose);deallocateTexture(t);t.isVideoTexture&&f.delete(t);a.memory.textures--}function onRenderTargetDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onRenderTargetDispose);deallocateRenderTarget(t)}function deallocateTexture(t){const n=r.get(t);if(void 0!==n.__webglInit){e.deleteTexture(n.__webglTexture);r.remove(t)}}function deallocateRenderTarget(t){const n=t.texture;const i=r.get(t);const s=r.get(n);if(t){if(void 0!==s.__webglTexture){e.deleteTexture(s.__webglTexture);a.memory.textures--}t.depthTexture&&t.depthTexture.dispose();if(t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){e.deleteFramebuffer(i.__webglFramebuffer[t]);i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[t])}else{e.deleteFramebuffer(i.__webglFramebuffer);i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer);i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer);i.__webglColorRenderbuffer&&e.deleteRenderbuffer(i.__webglColorRenderbuffer);i.__webglDepthRenderbuffer&&e.deleteRenderbuffer(i.__webglDepthRenderbuffer)}if(t.isWebGLMultipleRenderTargets)for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);if(i.__webglTexture){e.deleteTexture(i.__webglTexture);a.memory.textures--}r.remove(n[t])}r.remove(n);r.remove(t)}}let y=0;function resetTextureUnits(){y=0}function allocateTextureUnit(){const e=y;e>=l&&console.warn(\"THREE.WebGLTextures: Trying to use \"+e+\" texture units while this GPU supports only \"+l);y+=1;return e}function setTexture2D(e,t){const i=r.get(e);e.isVideoTexture&&updateVideoTexture(e);if(e.version>0&&i.__version!==e.version){const n=e.image;if(void 0===n)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\");else{if(false!==n.complete){uploadTexture(i,e,t);return}console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.activeTexture(33984+t);n.bindTexture(3553,i.__webglTexture)}function setTexture2DArray(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(35866,i.__webglTexture)}}function setTexture3D(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(32879,i.__webglTexture)}}function setTextureCube(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadCubeTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(34067,i.__webglTexture)}}const x={[ce]:10497,[ue]:33071,[he]:33648};const b={[de]:9728,[pe]:9984,[me]:9986,[ye]:9729,[ve]:9985,[be]:9987};function setTextureParameters(n,s,a){if(a){e.texParameteri(n,10242,x[s.wrapS]);e.texParameteri(n,10243,x[s.wrapT]);32879!==n&&35866!==n||e.texParameteri(n,32882,x[s.wrapR]);e.texParameteri(n,10240,b[s.magFilter]);e.texParameteri(n,10241,b[s.minFilter])}else{e.texParameteri(n,10242,33071);e.texParameteri(n,10243,33071);32879!==n&&35866!==n||e.texParameteri(n,32882,33071);s.wrapS===ue&&s.wrapT===ue||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\");e.texParameteri(n,10240,filterFallback(s.magFilter));e.texParameteri(n,10241,filterFallback(s.minFilter));s.minFilter!==de&&s.minFilter!==ye&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\")}if(true===t.has(\"EXT_texture_filter_anisotropic\")){const a=t.get(\"EXT_texture_filter_anisotropic\");if(s.type===Le&&false===t.has(\"OES_texture_float_linear\"))return;if(false===o&&s.type===Ce&&false===t.has(\"OES_texture_half_float_linear\"))return;if(s.anisotropy>1||r.get(s).__currentAnisotropy){e.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,i.getMaxAnisotropy()));r.get(s).__currentAnisotropy=s.anisotropy}}}function initTexture(t,n){if(void 0===t.__webglInit){t.__webglInit=true;n.addEventListener(\"dispose\",onTextureDispose);t.__webglTexture=e.createTexture();a.memory.textures++}}function uploadTexture(t,r,i){let a=3553;r.isDataTexture2DArray&&(a=35866);r.isDataTexture3D&&(a=32879);initTexture(t,r);n.activeTexture(33984+i);n.bindTexture(a,t.__webglTexture);e.pixelStorei(37440,r.flipY);e.pixelStorei(37441,r.premultiplyAlpha);e.pixelStorei(3317,r.unpackAlignment);e.pixelStorei(37443,0);const l=textureNeedsPowerOfTwo(r)&&false===isPowerOfTwo$1(r.image);const c=resizeImage(r.image,l,false,u);const h=isPowerOfTwo$1(c)||o,d=s.convert(r.format);let p=s.convert(r.type),f=getInternalFormat(r.internalFormat,d,p,r.encoding);setTextureParameters(a,r,h);let m;const g=r.mipmaps;const y=o&&true!==r.isVideoTexture;const x=void 0===t.__version;const b=getMipLevels(r,c,h);if(r.isDepthTexture){f=6402;o?f=r.type===Le?36012:r.type===Ae?33190:r.type===De?35056:33189:r.type===Le&&console.error(\"WebGLRenderer: Floating point depth texture requires WebGL2.\");if(r.format===Ge&&6402===f&&r.type!==Te&&r.type!==Ae){console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\");r.type=Te;p=s.convert(r.type)}if(r.format===Fe&&6402===f){f=34041;if(r.type!==De){console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\");r.type=De;p=s.convert(r.type)}}y&&x?n.texStorage2D(3553,1,f,c.width,c.height):n.texImage2D(3553,0,f,c.width,c.height,0,d,p,null)}else if(r.isDataTexture)if(g.length>0&&h){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];y?n.texSubImage2D(3553,0,0,0,m.width,m.height,d,p,m.data):n.texImage2D(3553,e,f,m.width,m.height,0,d,p,m.data)}r.generateMipmaps=false}else if(y){x&&n.texStorage2D(3553,b,f,c.width,c.height);n.texSubImage2D(3553,0,0,0,c.width,c.height,d,p,c.data)}else n.texImage2D(3553,0,f,c.width,c.height,0,d,p,c.data);else if(r.isCompressedTexture){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];r.format!==Ne&&r.format!==Ve?null!==d?y?n.compressedTexSubImage2D(3553,e,0,0,m.width,m.height,d,m.data):n.compressedTexImage2D(3553,e,f,m.width,m.height,0,m.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):y?n.texSubImage2D(3553,e,0,0,m.width,m.height,d,p,m.data):n.texImage2D(3553,e,f,m.width,m.height,0,d,p,m.data)}}else if(r.isDataTexture2DArray)if(y){x&&n.texStorage3D(35866,b,f,c.width,c.height,c.depth);n.texSubImage3D(35866,0,0,0,0,c.width,c.height,c.depth,d,p,c.data)}else n.texImage3D(35866,0,f,c.width,c.height,c.depth,0,d,p,c.data);else if(r.isDataTexture3D)if(y){x&&n.texStorage3D(32879,b,f,c.width,c.height,c.depth);n.texSubImage3D(32879,0,0,0,0,c.width,c.height,c.depth,d,p,c.data)}else n.texImage3D(32879,0,f,c.width,c.height,c.depth,0,d,p,c.data);else if(r.isFramebufferTexture)y&&x?n.texStorage2D(3553,b,f,c.width,c.height):n.texImage2D(3553,0,f,c.width,c.height,0,d,p,null);else if(g.length>0&&h){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];y?n.texSubImage2D(3553,e,0,0,d,p,m):n.texImage2D(3553,e,f,d,p,m)}r.generateMipmaps=false}else if(y){x&&n.texStorage2D(3553,b,f,c.width,c.height);n.texSubImage2D(3553,0,0,0,d,p,c)}else n.texImage2D(3553,0,f,d,p,c);textureNeedsGenerateMipmaps(r,h)&&generateMipmap(a);t.__version=r.version;r.onUpdate&&r.onUpdate(r)}function uploadCubeTexture(t,r,i){if(6!==r.image.length)return;initTexture(t,r);n.activeTexture(33984+i);n.bindTexture(34067,t.__webglTexture);e.pixelStorei(37440,r.flipY);e.pixelStorei(37441,r.premultiplyAlpha);e.pixelStorei(3317,r.unpackAlignment);e.pixelStorei(37443,0);const a=r&&(r.isCompressedTexture||r.image[0].isCompressedTexture);const l=r.image[0]&&r.image[0].isDataTexture;const u=[];for(let e=0;e<6;e++)u[e]=a||l?l?r.image[e].image:r.image[e]:resizeImage(r.image[e],false,true,c);const h=u[0],d=isPowerOfTwo$1(h)||o,p=s.convert(r.format),f=s.convert(r.type),m=getInternalFormat(r.internalFormat,p,f,r.encoding);const g=o&&true!==r.isVideoTexture;const y=void 0===t.__version;let x=getMipLevels(r,h,d);setTextureParameters(34067,r,d);let b;if(a){g&&y&&n.texStorage2D(34067,x,m,h.width,h.height);for(let e=0;e<6;e++){b=u[e].mipmaps;for(let t=0;t<b.length;t++){const i=b[t];r.format!==Ne&&r.format!==Ve?null!==p?g?n.compressedTexSubImage2D(34069+e,t,0,0,i.width,i.height,p,i.data):n.compressedTexImage2D(34069+e,t,m,i.width,i.height,0,i.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):g?n.texSubImage2D(34069+e,t,0,0,i.width,i.height,p,f,i.data):n.texImage2D(34069+e,t,m,i.width,i.height,0,p,f,i.data)}}}else{b=r.mipmaps;if(g&&y){b.length>0&&x++;n.texStorage2D(34067,x,m,u[0].width,u[0].height)}for(let e=0;e<6;e++)if(l){g?n.texSubImage2D(34069+e,0,0,0,u[e].width,u[e].height,p,f,u[e].data):n.texImage2D(34069+e,0,m,u[e].width,u[e].height,0,p,f,u[e].data);for(let t=0;t<b.length;t++){const r=b[t];const i=r.image[e].image;g?n.texSubImage2D(34069+e,t+1,0,0,i.width,i.height,p,f,i.data):n.texImage2D(34069+e,t+1,m,i.width,i.height,0,p,f,i.data)}}else{g?n.texSubImage2D(34069+e,0,0,0,p,f,u[e]):n.texImage2D(34069+e,0,m,p,f,u[e]);for(let t=0;t<b.length;t++){const r=b[t];g?n.texSubImage2D(34069+e,t+1,0,0,p,f,r.image[e]):n.texImage2D(34069+e,t+1,m,p,f,r.image[e])}}}textureNeedsGenerateMipmaps(r,d)&&generateMipmap(34067);t.__version=r.version;r.onUpdate&&r.onUpdate(r)}function setupFrameBufferTexture(t,i,a,o,l){const c=s.convert(a.format);const u=s.convert(a.type);const h=getInternalFormat(a.internalFormat,c,u,a.encoding);const d=r.get(i);d.__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,h,i.width,i.height,i.depth,0,c,u,null):n.texImage2D(l,0,h,i.width,i.height,0,c,u,null));n.bindFramebuffer(36160,t);i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,o,l,r.get(a).__webglTexture,0,getRenderTargetSamples(i)):e.framebufferTexture2D(36160,o,l,r.get(a).__webglTexture,0);n.bindFramebuffer(36160,null)}function setupRenderBufferStorage(t,n,r){e.bindRenderbuffer(36161,t);if(n.depthBuffer&&!n.stencilBuffer){let i=33189;if(r||n.useRenderToTexture){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===Le?i=36012:t.type===Ae&&(i=33190));const r=getRenderTargetSamples(n);n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,r,i,n.width,n.height):e.renderbufferStorageMultisample(36161,r,i,n.width,n.height)}else e.renderbufferStorage(36161,i,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=getRenderTargetSamples(n);r&&n.useRenderbuffer?e.renderbufferStorageMultisample(36161,i,35056,n.width,n.height):n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,i,35056,n.width,n.height):e.renderbufferStorage(36161,34041,n.width,n.height);e.framebufferRenderbuffer(36160,33306,36161,t)}else{const t=true===n.isWebGLMultipleRenderTargets?n.texture[0]:n.texture;const i=s.convert(t.format);const a=s.convert(t.type);const o=getInternalFormat(t.internalFormat,i,a,t.encoding);const l=getRenderTargetSamples(n);r&&n.useRenderbuffer?e.renderbufferStorageMultisample(36161,l,o,n.width,n.height):n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,l,o,n.width,n.height):e.renderbufferStorage(36161,o,n.width,n.height)}e.bindRenderbuffer(36161,null)}function setupDepthTexture(t,i){const s=i&&i.isWebGLCubeRenderTarget;if(s)throw new Error(\"Depth Texture with cube render targets is not supported\");n.bindFramebuffer(36160,t);if(!(i.depthTexture&&i.depthTexture.isDepthTexture))throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");if(!r.get(i.depthTexture).__webglTexture||i.depthTexture.image.width!==i.width||i.depthTexture.image.height!==i.height){i.depthTexture.image.width=i.width;i.depthTexture.image.height=i.height;i.depthTexture.needsUpdate=true}setTexture2D(i.depthTexture,0);const a=r.get(i.depthTexture).__webglTexture;const o=getRenderTargetSamples(i);if(i.depthTexture.format===Ge)i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,36096,3553,a,0,o):e.framebufferTexture2D(36160,36096,3553,a,0);else{if(i.depthTexture.format!==Fe)throw new Error(\"Unknown depthTexture format\");i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,33306,3553,a,0,o):e.framebufferTexture2D(36160,33306,3553,a,0)}}function setupDepthRenderbuffer(t){const i=r.get(t);const s=true===t.isWebGLCubeRenderTarget;if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(s)throw new Error(\"target.depthTexture not supported in Cube render targets\");setupDepthTexture(i.__webglFramebuffer,t)}else if(s){i.__webglDepthbuffer=[];for(let r=0;r<6;r++){n.bindFramebuffer(36160,i.__webglFramebuffer[r]);i.__webglDepthbuffer[r]=e.createRenderbuffer();setupRenderBufferStorage(i.__webglDepthbuffer[r],t,false)}}else{n.bindFramebuffer(36160,i.__webglFramebuffer);i.__webglDepthbuffer=e.createRenderbuffer();setupRenderBufferStorage(i.__webglDepthbuffer,t,false)}n.bindFramebuffer(36160,null)}function rebindTextures(e,t,n){const i=r.get(e);void 0!==t&&setupFrameBufferTexture(i.__webglFramebuffer,e,e.texture,36064,3553);void 0!==n&&setupDepthRenderbuffer(e)}function setupRenderTarget(t){const l=t.texture;const c=r.get(t);const u=r.get(l);t.addEventListener(\"dispose\",onRenderTargetDispose);if(true!==t.isWebGLMultipleRenderTargets){void 0===u.__webglTexture&&(u.__webglTexture=e.createTexture());u.__version=l.version;a.memory.textures++}const h=true===t.isWebGLCubeRenderTarget;const d=true===t.isWebGLMultipleRenderTargets;const p=l.isDataTexture3D||l.isDataTexture2DArray;const f=isPowerOfTwo$1(t)||o;if(o&&l.format===Ve&&(l.type===Le||l.type===Ce)){l.format=Ne;console.warn(\"THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.\")}if(h){c.__webglFramebuffer=[];for(let t=0;t<6;t++)c.__webglFramebuffer[t]=e.createFramebuffer()}else{c.__webglFramebuffer=e.createFramebuffer();if(d)if(i.drawBuffers){const n=t.texture;for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);if(void 0===i.__webglTexture){i.__webglTexture=e.createTexture();a.memory.textures++}}}else console.warn(\"THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.\");else if(t.useRenderbuffer)if(o){c.__webglMultisampledFramebuffer=e.createFramebuffer();c.__webglColorRenderbuffer=e.createRenderbuffer();e.bindRenderbuffer(36161,c.__webglColorRenderbuffer);const r=s.convert(l.format);const i=s.convert(l.type);const a=getInternalFormat(l.internalFormat,r,i,l.encoding);const o=getRenderTargetSamples(t);e.renderbufferStorageMultisample(36161,o,a,t.width,t.height);n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);e.framebufferRenderbuffer(36160,36064,36161,c.__webglColorRenderbuffer);e.bindRenderbuffer(36161,null);if(t.depthBuffer){c.__webglDepthRenderbuffer=e.createRenderbuffer();setupRenderBufferStorage(c.__webglDepthRenderbuffer,t,true)}n.bindFramebuffer(36160,null)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")}if(h){n.bindTexture(34067,u.__webglTexture);setTextureParameters(34067,l,f);for(let e=0;e<6;e++)setupFrameBufferTexture(c.__webglFramebuffer[e],t,l,36064,34069+e);textureNeedsGenerateMipmaps(l,f)&&generateMipmap(34067);n.unbindTexture()}else if(d){const e=t.texture;for(let i=0,s=e.length;i<s;i++){const s=e[i];const a=r.get(s);n.bindTexture(3553,a.__webglTexture);setTextureParameters(3553,s,f);setupFrameBufferTexture(c.__webglFramebuffer,t,s,36064+i,3553);textureNeedsGenerateMipmaps(s,f)&&generateMipmap(3553)}n.unbindTexture()}else{let e=3553;if(p)if(o){const t=l.isDataTexture3D;e=t?32879:35866}else console.warn(\"THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.\");n.bindTexture(e,u.__webglTexture);setTextureParameters(e,l,f);setupFrameBufferTexture(c.__webglFramebuffer,t,l,36064,e);textureNeedsGenerateMipmaps(l,f)&&generateMipmap(e);n.unbindTexture()}t.depthBuffer&&setupDepthRenderbuffer(t)}function updateRenderTargetMipmap(e){const t=isPowerOfTwo$1(e)||o;const i=true===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let s=0,a=i.length;s<a;s++){const a=i[s];if(textureNeedsGenerateMipmaps(a,t)){const t=e.isWebGLCubeRenderTarget?34067:3553;const i=r.get(a).__webglTexture;n.bindTexture(t,i);generateMipmap(t);n.unbindTexture()}}}function updateMultisampleRenderTarget(t){if(t.useRenderbuffer)if(o){const i=t.width;const s=t.height;let a=16384;const o=[36064];const l=t.stencilBuffer?33306:36096;t.depthBuffer&&o.push(l);if(!t.ignoreDepthForMultisampleCopy){t.depthBuffer&&(a|=256);t.stencilBuffer&&(a|=1024)}const c=r.get(t);n.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);n.bindFramebuffer(36009,c.__webglFramebuffer);if(t.ignoreDepthForMultisampleCopy){e.invalidateFramebuffer(36008,[l]);e.invalidateFramebuffer(36009,[l])}e.blitFramebuffer(0,0,i,s,0,0,i,s,a,9728);e.invalidateFramebuffer(36008,o);n.bindFramebuffer(36008,null);n.bindFramebuffer(36009,c.__webglMultisampledFramebuffer)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")}function getRenderTargetSamples(e){return o&&(e.useRenderbuffer||e.useRenderToTexture)?Math.min(h,e.samples):0}function updateVideoTexture(e){const t=a.render.frame;if(f.get(e)!==t){f.set(e,t);e.update()}}let _=false;let M=false;function safeSetTexture2D(e,t){if(e&&e.isWebGLRenderTarget){if(false===_){console.warn(\"THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.\");_=true}e=e.texture}setTexture2D(e,t)}function safeSetTextureCube(e,t){if(e&&e.isWebGLCubeRenderTarget){if(false===M){console.warn(\"THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.\");M=true}e=e.texture}setTextureCube(e,t)}this.allocateTextureUnit=allocateTextureUnit;this.resetTextureUnits=resetTextureUnits;this.setTexture2D=setTexture2D;this.setTexture2DArray=setTexture2DArray;this.setTexture3D=setTexture3D;this.setTextureCube=setTextureCube;this.rebindTextures=rebindTextures;this.setupRenderTarget=setupRenderTarget;this.updateRenderTargetMipmap=updateRenderTargetMipmap;this.updateMultisampleRenderTarget=updateMultisampleRenderTarget;this.setupDepthRenderbuffer=setupDepthRenderbuffer;this.setupFrameBufferTexture=setupFrameBufferTexture;this.safeSetTexture2D=safeSetTexture2D;this.safeSetTextureCube=safeSetTextureCube}function WebGLUtils(e,t,n){const r=n.isWebGL2;function convert(e){let n;if(e===Me)return 5121;if(e===Re)return 32819;if(e===Pe)return 32820;if(e===Ie)return 33635;if(e===we)return 5120;if(e===Se)return 5122;if(e===Te)return 5123;if(e===Ee)return 5124;if(e===Ae)return 5125;if(e===Le)return 5126;if(e===Ce){if(r)return 5131;n=t.get(\"OES_texture_half_float\");return null!==n?n.HALF_FLOAT_OES:null}if(e===Be)return 6406;if(e===Ve)return 6407;if(e===Ne)return 6408;if(e===Ue)return 6409;if(e===ze)return 6410;if(e===Ge)return 6402;if(e===Fe)return 34041;if(e===Oe)return 6403;if(e===He)return 36244;if(e===ke)return 33319;if(e===We)return 33320;if(e===je)return 36248;if(e===qe)return 36249;if(e===Xe||e===Je||e===Ye||e===Ze){n=t.get(\"WEBGL_compressed_texture_s3tc\");if(null===n)return null;if(e===Xe)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===Je)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===Ye)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===Ze)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e===Qe||e===Ke||e===$e||e===et){n=t.get(\"WEBGL_compressed_texture_pvrtc\");if(null===n)return null;if(e===Qe)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===Ke)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===$e)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===et)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===tt){n=t.get(\"WEBGL_compressed_texture_etc1\");return null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null}if(e===nt||e===rt){n=t.get(\"WEBGL_compressed_texture_etc\");if(null!==n){if(e===nt)return n.COMPRESSED_RGB8_ETC2;if(e===rt)return n.COMPRESSED_RGBA8_ETC2_EAC}}if(e===it||e===st||e===at||e===ot||e===lt||e===ct||e===ut||e===ht||e===dt||e===pt||e===ft||e===mt||e===gt||e===yt||e===xt||e===bt||e===_t||e===Mt||e===wt||e===St||e===Tt||e===Et||e===At||e===Lt||e===Ct||e===Rt||e===Pt||e===It){n=t.get(\"WEBGL_compressed_texture_astc\");return null!==n?e:null}if(e===vt){n=t.get(\"EXT_texture_compression_bptc\");return null!==n?e:null}if(e===De){if(r)return 34042;n=t.get(\"WEBGL_depth_texture\");return null!==n?n.UNSIGNED_INT_24_8_WEBGL:null}}return{convert:convert}}class ArrayCamera extends PerspectiveCamera{constructor(e=[]){super();this.cameras=e}}ArrayCamera.prototype.isArrayCamera=true;class Group extends Object3D{constructor(){super();this.type=\"Group\"}}Group.prototype.isGroup=true;const Vo={type:\"move\"};class WebXRController{constructor(){this._targetRay=null;this._grip=null;this._hand=null}getHandSpace(){if(null===this._hand){this._hand=new Group;this._hand.matrixAutoUpdate=false;this._hand.visible=false;this._hand.joints={};this._hand.inputState={pinching:false}}return this._hand}getTargetRaySpace(){if(null===this._targetRay){this._targetRay=new Group;this._targetRay.matrixAutoUpdate=false;this._targetRay.visible=false;this._targetRay.hasLinearVelocity=false;this._targetRay.linearVelocity=new Vector3;this._targetRay.hasAngularVelocity=false;this._targetRay.angularVelocity=new Vector3}return this._targetRay}getGripSpace(){if(null===this._grip){this._grip=new Group;this._grip.matrixAutoUpdate=false;this._grip.visible=false;this._grip.hasLinearVelocity=false;this._grip.linearVelocity=new Vector3;this._grip.hasAngularVelocity=false;this._grip.angularVelocity=new Vector3}return this._grip}dispatchEvent(e){null!==this._targetRay&&this._targetRay.dispatchEvent(e);null!==this._grip&&this._grip.dispatchEvent(e);null!==this._hand&&this._hand.dispatchEvent(e);return this}disconnect(e){this.dispatchEvent({type:\"disconnected\",data:e});null!==this._targetRay&&(this._targetRay.visible=false);null!==this._grip&&(this._grip.visible=false);null!==this._hand&&(this._hand.visible=false);return this}update(e,t,n){let r=null;let i=null;let s=null;const a=this._targetRay;const o=this._grip;const l=this._hand;if(e&&\"visible-blurred\"!==t.session.visibilityState){if(null!==a){r=t.getPose(e.targetRaySpace,n);if(null!==r){a.matrix.fromArray(r.transform.matrix);a.matrix.decompose(a.position,a.rotation,a.scale);if(r.linearVelocity){a.hasLinearVelocity=true;a.linearVelocity.copy(r.linearVelocity)}else a.hasLinearVelocity=false;if(r.angularVelocity){a.hasAngularVelocity=true;a.angularVelocity.copy(r.angularVelocity)}else a.hasAngularVelocity=false;this.dispatchEvent(Vo)}}if(l&&e.hand){s=true;for(const r of e.hand.values()){const e=t.getJointPose(r,n);if(void 0===l.joints[r.jointName]){const e=new Group;e.matrixAutoUpdate=false;e.visible=false;l.joints[r.jointName]=e;l.add(e)}const i=l.joints[r.jointName];if(null!==e){i.matrix.fromArray(e.transform.matrix);i.matrix.decompose(i.position,i.rotation,i.scale);i.jointRadius=e.radius}i.visible=null!==e}const r=l.joints[\"index-finger-tip\"];const i=l.joints[\"thumb-tip\"];const a=r.position.distanceTo(i.position);const o=.02;const c=.005;if(l.inputState.pinching&&a>o+c){l.inputState.pinching=false;this.dispatchEvent({type:\"pinchend\",handedness:e.handedness,target:this})}else if(!l.inputState.pinching&&a<=o-c){l.inputState.pinching=true;this.dispatchEvent({type:\"pinchstart\",handedness:e.handedness,target:this})}}else if(null!==o&&e.gripSpace){i=t.getPose(e.gripSpace,n);if(null!==i){o.matrix.fromArray(i.transform.matrix);o.matrix.decompose(o.position,o.rotation,o.scale);if(i.linearVelocity){o.hasLinearVelocity=true;o.linearVelocity.copy(i.linearVelocity)}else o.hasLinearVelocity=false;if(i.angularVelocity){o.hasAngularVelocity=true;o.angularVelocity.copy(i.angularVelocity)}else o.hasAngularVelocity=false}}}null!==a&&(a.visible=null!==r);null!==o&&(o.visible=null!==i);null!==l&&(l.visible=null!==s);return this}}class DepthTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c){c=void 0!==c?c:Ge;if(c!==Ge&&c!==Fe)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===Ge&&(n=Te);void 0===n&&c===Fe&&(n=De);super(null,r,i,s,a,o,c,n,l);this.image={width:e,height:t};this.magFilter=void 0!==a?a:de;this.minFilter=void 0!==o?o:de;this.flipY=false;this.generateMipmaps=false}}DepthTexture.prototype.isDepthTexture=true;class WebXRManager extends EventDispatcher{constructor(e,t){super();const n=this;let r=null;let i=1;let s=null;let a=\"local-floor\";const o=e.extensions.has(\"WEBGL_multisampled_render_to_texture\");let l=null;let c=null;let u=null;let h=null;let d=false;let p=null;const f=t.getContextAttributes();let m=null;let g=null;const y=[];const x=new Map;const b=new PerspectiveCamera;b.layers.enable(1);b.viewport=new Vector4;const _=new PerspectiveCamera;_.layers.enable(2);_.viewport=new Vector4;const M=[b,_];const w=new ArrayCamera;w.layers.enable(1);w.layers.enable(2);let S=null;let T=null;this.cameraAutoUpdate=true;this.enabled=false;this.isPresenting=false;this.getController=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getTargetRaySpace()};this.getControllerGrip=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getGripSpace()};this.getHand=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getHandSpace()};function onSessionEvent(e){const t=x.get(e.inputSource);t&&t.dispatchEvent({type:e.type,data:e.inputSource})}function onSessionEnd(){x.forEach((function(e,t){e.disconnect(t)}));x.clear();S=null;T=null;e.setRenderTarget(m);h=null;u=null;c=null;r=null;g=null;C.stop();n.isPresenting=false;n.dispatchEvent({type:\"sessionend\"})}this.setFramebufferScaleFactor=function(e){i=e;true===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\")};this.setReferenceSpaceType=function(e){a=e;true===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\")};this.getReferenceSpace=function(){return s};this.getBaseLayer=function(){return null!==u?u:h};this.getBinding=function(){return c};this.getFrame=function(){return p};this.getSession=function(){return r};this.setSession=async function(l){r=l;if(null!==r){m=e.getRenderTarget();r.addEventListener(\"select\",onSessionEvent);r.addEventListener(\"selectstart\",onSessionEvent);r.addEventListener(\"selectend\",onSessionEvent);r.addEventListener(\"squeeze\",onSessionEvent);r.addEventListener(\"squeezestart\",onSessionEvent);r.addEventListener(\"squeezeend\",onSessionEvent);r.addEventListener(\"end\",onSessionEnd);r.addEventListener(\"inputsourceschange\",onInputSourcesChange);true!==f.xrCompatible&&await t.makeXRCompatible();if(void 0===r.renderState.layers||false===e.capabilities.isWebGL2){const n={antialias:void 0!==r.renderState.layers||f.antialias,alpha:f.alpha,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(r,t,n);r.updateRenderState({baseLayer:h});g=new WebGLRenderTarget(h.framebufferWidth,h.framebufferHeight,{format:Ne,type:Me,encoding:e.outputEncoding})}else{d=f.antialias;let n=null;let s=null;let a=null;if(f.depth){a=f.stencil?35056:33190;n=f.stencil?Fe:Ge;s=f.stencil?De:Te}const l={colorFormat:f.alpha||d?32856:32849,depthFormat:a,scaleFactor:i};c=new XRWebGLBinding(r,t);u=c.createProjectionLayer(l);r.updateRenderState({layers:[u]});g=d?new WebGLMultisampleRenderTarget(u.textureWidth,u.textureHeight,{format:Ne,type:Me,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,ignoreDepth:u.ignoreDepthValues,useRenderToTexture:o,encoding:e.outputEncoding}):new WebGLRenderTarget(u.textureWidth,u.textureHeight,{format:f.alpha?Ne:Ve,type:Me,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,ignoreDepth:u.ignoreDepthValues,encoding:e.outputEncoding})}this.setFoveation(1);s=await r.requestReferenceSpace(a);C.setContext(r);C.start();n.isPresenting=true;n.dispatchEvent({type:\"sessionstart\"})}};function onInputSourcesChange(e){const t=r.inputSources;for(let e=0;e<y.length;e++)x.set(t[e],y[e]);for(let t=0;t<e.removed.length;t++){const n=e.removed[t];const r=x.get(n);if(r){r.dispatchEvent({type:\"disconnected\",data:n});x.delete(n)}}for(let t=0;t<e.added.length;t++){const n=e.added[t];const r=x.get(n);r&&r.dispatchEvent({type:\"connected\",data:n})}}const E=new Vector3;const A=new Vector3;function setProjectionFromUnion(e,t,n){E.setFromMatrixPosition(t.matrixWorld);A.setFromMatrixPosition(n.matrixWorld);const r=E.distanceTo(A);const i=t.projectionMatrix.elements;const s=n.projectionMatrix.elements;const a=i[14]/(i[10]-1);const o=i[14]/(i[10]+1);const l=(i[9]+1)/i[5];const c=(i[9]-1)/i[5];const u=(i[8]-1)/i[0];const h=(s[8]+1)/s[0];const d=a*u;const p=a*h;const f=r/(-u+h);const m=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale);e.translateX(m);e.translateZ(f);e.matrixWorld.compose(e.position,e.quaternion,e.scale);e.matrixWorldInverse.copy(e.matrixWorld).invert();const g=a+f;const y=o+f;const x=d-m;const b=p+(r-m);const _=l*o/y*g;const M=c*o/y*g;e.projectionMatrix.makePerspective(x,b,_,M,g,y)}function updateCamera(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix);e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===r)return;w.near=_.near=b.near=e.near;w.far=_.far=b.far=e.far;if(S!==w.near||T!==w.far){r.updateRenderState({depthNear:w.near,depthFar:w.far});S=w.near;T=w.far}const t=e.parent;const n=w.cameras;updateCamera(w,t);for(let e=0;e<n.length;e++)updateCamera(n[e],t);w.matrixWorld.decompose(w.position,w.quaternion,w.scale);e.position.copy(w.position);e.quaternion.copy(w.quaternion);e.scale.copy(w.scale);e.matrix.copy(w.matrix);e.matrixWorld.copy(w.matrixWorld);const i=e.children;for(let e=0,t=i.length;e<t;e++)i[e].updateMatrixWorld(true);2===n.length?setProjectionFromUnion(w,b,_):w.projectionMatrix.copy(b.projectionMatrix)};this.getCamera=function(){return w};this.getFoveation=function(){return null!==u?u.fixedFoveation:null!==h?h.fixedFoveation:void 0};this.setFoveation=function(e){null!==u&&(u.fixedFoveation=e);null!==h&&void 0!==h.fixedFoveation&&(h.fixedFoveation=e)};let L=null;function onAnimationFrame(t,n){l=n.getViewerPose(s);p=n;if(null!==l){const t=l.views;if(null!==h){e.setRenderTargetFramebuffer(g,h.framebuffer);e.setRenderTarget(g)}let n=false;if(t.length!==w.cameras.length){w.cameras.length=0;n=true}for(let r=0;r<t.length;r++){const i=t[r];let s=null;if(null!==h)s=h.getViewport(i);else{const t=c.getViewSubImage(u,i);s=t.viewport;if(0===r){e.setRenderTargetTextures(g,t.colorTexture,u.ignoreDepthValues?void 0:t.depthStencilTexture);e.setRenderTarget(g)}}const a=M[r];a.matrix.fromArray(i.transform.matrix);a.projectionMatrix.fromArray(i.projectionMatrix);a.viewport.set(s.x,s.y,s.width,s.height);0===r&&w.matrix.copy(a.matrix);true===n&&w.cameras.push(a)}}const i=r.inputSources;for(let e=0;e<y.length;e++){const t=y[e];const r=i[e];t.update(r,n,s)}L&&L(t,n);p=null}const C=new WebGLAnimation;C.setAnimationLoop(onAnimationFrame);this.setAnimationLoop=function(e){L=e};this.dispose=function(){}}}function WebGLMaterials(e){function refreshFogUniforms(e,t){e.fogColor.value.copy(t.color);if(t.isFog){e.fogNear.value=t.near;e.fogFar.value=t.far}else t.isFogExp2&&(e.fogDensity.value=t.density)}function refreshMaterialUniforms(e,t,n,r,i){if(t.isMeshBasicMaterial)refreshUniformsCommon(e,t);else if(t.isMeshLambertMaterial){refreshUniformsCommon(e,t);refreshUniformsLambert(e,t)}else if(t.isMeshToonMaterial){refreshUniformsCommon(e,t);refreshUniformsToon(e,t)}else if(t.isMeshPhongMaterial){refreshUniformsCommon(e,t);refreshUniformsPhong(e,t)}else if(t.isMeshStandardMaterial){refreshUniformsCommon(e,t);t.isMeshPhysicalMaterial?refreshUniformsPhysical(e,t,i):refreshUniformsStandard(e,t)}else if(t.isMeshMatcapMaterial){refreshUniformsCommon(e,t);refreshUniformsMatcap(e,t)}else if(t.isMeshDepthMaterial){refreshUniformsCommon(e,t);refreshUniformsDepth(e,t)}else if(t.isMeshDistanceMaterial){refreshUniformsCommon(e,t);refreshUniformsDistance(e,t)}else if(t.isMeshNormalMaterial){refreshUniformsCommon(e,t);refreshUniformsNormal(e,t)}else if(t.isLineBasicMaterial){refreshUniformsLine(e,t);t.isLineDashedMaterial&&refreshUniformsDash(e,t)}else if(t.isPointsMaterial)refreshUniformsPoints(e,t,n,r);else if(t.isSpriteMaterial)refreshUniformsSprites(e,t);else if(t.isShadowMaterial){e.color.value.copy(t.color);e.opacity.value=t.opacity}else t.isShaderMaterial&&(t.uniformsNeedUpdate=false)}function refreshUniformsCommon(t,n){t.opacity.value=n.opacity;n.color&&t.diffuse.value.copy(n.color);n.emissive&&t.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity);n.map&&(t.map.value=n.map);n.alphaMap&&(t.alphaMap.value=n.alphaMap);n.specularMap&&(t.specularMap.value=n.specularMap);n.alphaTest>0&&(t.alphaTest.value=n.alphaTest);const r=e.get(n).envMap;if(r){t.envMap.value=r;t.flipEnvMap.value=r.isCubeTexture&&false===r.isRenderTargetTexture?-1:1;t.reflectivity.value=n.reflectivity;t.ior.value=n.ior;t.refractionRatio.value=n.refractionRatio}if(n.lightMap){t.lightMap.value=n.lightMap;t.lightMapIntensity.value=n.lightMapIntensity}if(n.aoMap){t.aoMap.value=n.aoMap;t.aoMapIntensity.value=n.aoMapIntensity}let i;n.map?i=n.map:n.specularMap?i=n.specularMap:n.displacementMap?i=n.displacementMap:n.normalMap?i=n.normalMap:n.bumpMap?i=n.bumpMap:n.roughnessMap?i=n.roughnessMap:n.metalnessMap?i=n.metalnessMap:n.alphaMap?i=n.alphaMap:n.emissiveMap?i=n.emissiveMap:n.clearcoatMap?i=n.clearcoatMap:n.clearcoatNormalMap?i=n.clearcoatNormalMap:n.clearcoatRoughnessMap?i=n.clearcoatRoughnessMap:n.specularIntensityMap?i=n.specularIntensityMap:n.specularColorMap?i=n.specularColorMap:n.transmissionMap?i=n.transmissionMap:n.thicknessMap?i=n.thicknessMap:n.sheenColorMap?i=n.sheenColorMap:n.sheenRoughnessMap&&(i=n.sheenRoughnessMap);if(void 0!==i){i.isWebGLRenderTarget&&(i=i.texture);true===i.matrixAutoUpdate&&i.updateMatrix();t.uvTransform.value.copy(i.matrix)}let s;n.aoMap?s=n.aoMap:n.lightMap&&(s=n.lightMap);if(void 0!==s){s.isWebGLRenderTarget&&(s=s.texture);true===s.matrixAutoUpdate&&s.updateMatrix();t.uv2Transform.value.copy(s.matrix)}}function refreshUniformsLine(e,t){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity}function refreshUniformsDash(e,t){e.dashSize.value=t.dashSize;e.totalSize.value=t.dashSize+t.gapSize;e.scale.value=t.scale}function refreshUniformsPoints(e,t,n,r){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity;e.size.value=t.size*n;e.scale.value=.5*r;t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let i;t.map?i=t.map:t.alphaMap&&(i=t.alphaMap);if(void 0!==i){true===i.matrixAutoUpdate&&i.updateMatrix();e.uvTransform.value.copy(i.matrix)}}function refreshUniformsSprites(e,t){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity;e.rotation.value=t.rotation;t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let n;t.map?n=t.map:t.alphaMap&&(n=t.alphaMap);if(void 0!==n){true===n.matrixAutoUpdate&&n.updateMatrix();e.uvTransform.value.copy(n.matrix)}}function refreshUniformsLambert(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function refreshUniformsPhong(e,t){e.specular.value.copy(t.specular);e.shininess.value=Math.max(t.shininess,1e-4);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsToon(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsStandard(t,n){t.roughness.value=n.roughness;t.metalness.value=n.metalness;n.roughnessMap&&(t.roughnessMap.value=n.roughnessMap);n.metalnessMap&&(t.metalnessMap.value=n.metalnessMap);n.emissiveMap&&(t.emissiveMap.value=n.emissiveMap);if(n.bumpMap){t.bumpMap.value=n.bumpMap;t.bumpScale.value=n.bumpScale;n.side===d&&(t.bumpScale.value*=-1)}if(n.normalMap){t.normalMap.value=n.normalMap;t.normalScale.value.copy(n.normalScale);n.side===d&&t.normalScale.value.negate()}if(n.displacementMap){t.displacementMap.value=n.displacementMap;t.displacementScale.value=n.displacementScale;t.displacementBias.value=n.displacementBias}const r=e.get(n).envMap;r&&(t.envMapIntensity.value=n.envMapIntensity)}function refreshUniformsPhysical(e,t,n){refreshUniformsStandard(e,t);e.ior.value=t.ior;if(t.sheen>0){e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen);e.sheenRoughness.value=t.sheenRoughness;t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap);t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap)}if(t.clearcoat>0){e.clearcoat.value=t.clearcoat;e.clearcoatRoughness.value=t.clearcoatRoughness;t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap);t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap);if(t.clearcoatNormalMap){e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale);e.clearcoatNormalMap.value=t.clearcoatNormalMap;t.side===d&&e.clearcoatNormalScale.value.negate()}}if(t.transmission>0){e.transmission.value=t.transmission;e.transmissionSamplerMap.value=n.texture;e.transmissionSamplerSize.value.set(n.width,n.height);t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap);e.thickness.value=t.thickness;t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap);e.attenuationDistance.value=t.attenuationDistance;e.attenuationColor.value.copy(t.attenuationColor)}e.specularIntensity.value=t.specularIntensity;e.specularColor.value.copy(t.specularColor);t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap);t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap)}function refreshUniformsMatcap(e,t){t.matcap&&(e.matcap.value=t.matcap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsDepth(e,t){if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsDistance(e,t){if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}e.referencePosition.value.copy(t.referencePosition);e.nearDistance.value=t.nearDistance;e.farDistance.value=t.farDistance}function refreshUniformsNormal(e,t){if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}return{refreshFogUniforms:refreshFogUniforms,refreshMaterialUniforms:refreshMaterialUniforms}}function createCanvasElement(){const e=createElementNS(\"canvas\");e.style.display=\"block\";return e}function WebGLRenderer(t={}){const n=void 0!==t.canvas?t.canvas:createCanvasElement(),r=void 0!==t.context?t.context:null,i=void 0!==t.alpha&&t.alpha,s=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,l=void 0===t.premultipliedAlpha||t.premultipliedAlpha,c=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,u=void 0!==t.powerPreference?t.powerPreference:\"default\",f=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let m=null;let g=null;const y=[];const x=[];this.domElement=n;this.debug={\n/**\n\t\t * Enables error checking and reporting when shader programs are being compiled\n\t\t * @type {boolean}\n\t\t */\ncheckShaderErrors:true};this.autoClear=true;this.autoClearColor=true;this.autoClearDepth=true;this.autoClearStencil=true;this.sortObjects=true;this.clippingPlanes=[];this.localClippingEnabled=false;this.outputEncoding=Xt;this.physicallyCorrectLights=false;this.toneMapping=Z;this.toneMappingExposure=1;const b=this;let _=false;let M=0;let w=0;let S=null;let T=-1;let E=null;const A=new Vector4;const L=new Vector4;let C=null;let R=n.width;let P=n.height;let I=1;let D=null;let B=null;const V=new Vector4(0,0,R,P);const N=new Vector4(0,0,R,P);let U=false;const z=[];const G=new Frustum;let F=false;let O=false;let H=null;const k=new Matrix4;const W=new Vector3;const j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:true};function getTargetPixelRatio(){return null===S?I:1}let q=r;function getContext(e,t){for(let r=0;r<e.length;r++){const i=e[r];const s=n.getContext(i,t);if(null!==s)return s}return null}try{const t={alpha:i,depth:s,stencil:a,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:u,failIfMajorPerformanceCaveat:f};\"setAttribute\"in n&&n.setAttribute(\"data-engine\",`three.js r${e}`);n.addEventListener(\"webglcontextlost\",onContextLost,false);n.addEventListener(\"webglcontextrestored\",onContextRestore,false);if(null===q){const e=[\"webgl2\",\"webgl\",\"experimental-webgl\"];true===b.isWebGL1Renderer&&e.shift();q=getContext(e,t);if(null===q)throw getContext(e)?new Error(\"Error creating WebGL context with your selected attributes.\"):new Error(\"Error creating WebGL context.\")}void 0===q.getShaderPrecisionFormat&&(q.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){console.error(\"THREE.WebGLRenderer: \"+e.message);throw e}let X,J,Y,Q;let K,$,ee,te,ne,re,ie;let se,ae,oe,le,ce,he;let pe,fe,me,ge;let ye,ve;function initGLContext(){X=new WebGLExtensions(q);J=new WebGLCapabilities(q,X,t);X.init(J);ye=new WebGLUtils(q,X,J);Y=new WebGLState(q,X,J);z[0]=1029;Q=new WebGLInfo(q);K=new WebGLProperties;$=new WebGLTextures(q,X,Y,K,J,ye,Q);ee=new WebGLCubeMaps(b);te=new WebGLCubeUVMaps(b);ne=new WebGLAttributes(q,J);ve=new WebGLBindingStates(q,X,ne,J);re=new WebGLGeometries(q,ne,Q,ve);ie=new WebGLObjects(q,re,ne,Q);fe=new WebGLMorphtargets(q,J,$);ce=new WebGLClipping(K);se=new WebGLPrograms(b,ee,te,X,J,ve,ce);ae=new WebGLMaterials(K);oe=new WebGLRenderLists;le=new WebGLRenderStates(X,J);pe=new WebGLBackground(b,ee,Y,ie,l);he=new WebGLShadowMap(b,ie,J);me=new WebGLBufferRenderer(q,X,Q,J);ge=new WebGLIndexedBufferRenderer(q,X,Q,J);Q.programs=se.programs;b.capabilities=J;b.extensions=X;b.properties=K;b.renderLists=oe;b.shadowMap=he;b.state=Y;b.info=Q}initGLContext();const xe=new WebXRManager(b,q);this.xr=xe;this.getContext=function(){return q};this.getContextAttributes=function(){return q.getContextAttributes()};this.forceContextLoss=function(){const e=X.get(\"WEBGL_lose_context\");e&&e.loseContext()};this.forceContextRestore=function(){const e=X.get(\"WEBGL_lose_context\");e&&e.restoreContext()};this.getPixelRatio=function(){return I};this.setPixelRatio=function(e){if(void 0!==e){I=e;this.setSize(R,P,false)}};this.getSize=function(e){return e.set(R,P)};this.setSize=function(e,t,r){if(xe.isPresenting)console.warn(\"THREE.WebGLRenderer: Can't change size while VR device is presenting.\");else{R=e;P=t;n.width=Math.floor(e*I);n.height=Math.floor(t*I);if(false!==r){n.style.width=e+\"px\";n.style.height=t+\"px\"}this.setViewport(0,0,e,t)}};this.getDrawingBufferSize=function(e){return e.set(R*I,P*I).floor()};this.setDrawingBufferSize=function(e,t,r){R=e;P=t;I=r;n.width=Math.floor(e*r);n.height=Math.floor(t*r);this.setViewport(0,0,e,t)};this.getCurrentViewport=function(e){return e.copy(A)};this.getViewport=function(e){return e.copy(V)};this.setViewport=function(e,t,n,r){e.isVector4?V.set(e.x,e.y,e.z,e.w):V.set(e,t,n,r);Y.viewport(A.copy(V).multiplyScalar(I).floor())};this.getScissor=function(e){return e.copy(N)};this.setScissor=function(e,t,n,r){e.isVector4?N.set(e.x,e.y,e.z,e.w):N.set(e,t,n,r);Y.scissor(L.copy(N).multiplyScalar(I).floor())};this.getScissorTest=function(){return U};this.setScissorTest=function(e){Y.setScissorTest(U=e)};this.setOpaqueSort=function(e){D=e};this.setTransparentSort=function(e){B=e};this.getClearColor=function(e){return e.copy(pe.getClearColor())};this.setClearColor=function(){pe.setClearColor.apply(pe,arguments)};this.getClearAlpha=function(){return pe.getClearAlpha()};this.setClearAlpha=function(){pe.setClearAlpha.apply(pe,arguments)};this.clear=function(e,t,n){let r=0;(void 0===e||e)&&(r|=16384);(void 0===t||t)&&(r|=256);(void 0===n||n)&&(r|=1024);q.clear(r)};this.clearColor=function(){this.clear(true,false,false)};this.clearDepth=function(){this.clear(false,true,false)};this.clearStencil=function(){this.clear(false,false,true)};this.dispose=function(){n.removeEventListener(\"webglcontextlost\",onContextLost,false);n.removeEventListener(\"webglcontextrestored\",onContextRestore,false);oe.dispose();le.dispose();K.dispose();ee.dispose();te.dispose();ie.dispose();ve.dispose();se.dispose();xe.dispose();xe.removeEventListener(\"sessionstart\",onXRSessionStart);xe.removeEventListener(\"sessionend\",onXRSessionEnd);if(H){H.dispose();H=null}we.stop()};function onContextLost(e){e.preventDefault();console.log(\"THREE.WebGLRenderer: Context Lost.\");_=true}function onContextRestore(){console.log(\"THREE.WebGLRenderer: Context Restored.\");_=false;const e=Q.autoReset;const t=he.enabled;const n=he.autoUpdate;const r=he.needsUpdate;const i=he.type;initGLContext();Q.autoReset=e;he.enabled=t;he.autoUpdate=n;he.needsUpdate=r;he.type=i}function onMaterialDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onMaterialDispose);deallocateMaterial(t)}function deallocateMaterial(e){releaseMaterialProgramReferences(e);K.remove(e)}function releaseMaterialProgramReferences(e){const t=K.get(e).programs;if(void 0!==t){t.forEach((function(e){se.releaseProgram(e)}));e.isShaderMaterial&&se.releaseShaderCache(e)}}this.renderBufferDirect=function(e,t,n,r,i,s){null===t&&(t=j);const a=i.isMesh&&i.matrixWorld.determinant()<0;const o=setProgram(e,t,n,r,i);Y.setMaterial(r,a);let l=n.index;const c=n.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let u=1;if(true===r.wireframe){l=re.getWireframeAttribute(n);u=2}ve.setup(i,r,o,n,l);let h;let d=me;if(null!==l){h=ne.get(l);d=ge;d.setIndex(h)}const p=null!==l?l.count:c.count;const f=n.drawRange.start*u;const m=n.drawRange.count*u;const g=null!==s?s.start*u:0;const y=null!==s?s.count*u:Infinity;const x=Math.max(f,g);const b=Math.min(p,f+m,g+y)-1;const _=Math.max(0,b-x+1);if(0!==_){if(i.isMesh)if(true===r.wireframe){Y.setLineWidth(r.wireframeLinewidth*getTargetPixelRatio());d.setMode(1)}else d.setMode(4);else if(i.isLine){let e=r.linewidth;void 0===e&&(e=1);Y.setLineWidth(e*getTargetPixelRatio());i.isLineSegments?d.setMode(1):i.isLineLoop?d.setMode(2):d.setMode(3)}else i.isPoints?d.setMode(0):i.isSprite&&d.setMode(4);if(i.isInstancedMesh)d.renderInstances(x,_,i.count);else if(n.isInstancedBufferGeometry){const e=Math.min(n.instanceCount,n._maxInstanceCount);d.renderInstances(x,_,e)}else d.render(x,_)}};this.compile=function(e,t){g=le.get(e);g.init();x.push(g);e.traverseVisible((function(e){if(e.isLight&&e.layers.test(t.layers)){g.pushLight(e);e.castShadow&&g.pushShadow(e)}}));g.setupLights(b.physicallyCorrectLights);e.traverse((function(t){const n=t.material;if(n)if(Array.isArray(n))for(let r=0;r<n.length;r++){const i=n[r];getProgram(i,e,t)}else getProgram(n,e,t)}));x.pop();g=null};let _e=null;function onAnimationFrame(e){_e&&_e(e)}function onXRSessionStart(){we.stop()}function onXRSessionEnd(){we.start()}const we=new WebGLAnimation;we.setAnimationLoop(onAnimationFrame);\"undefined\"!==typeof window&&we.setContext(window);this.setAnimationLoop=function(e){_e=e;xe.setAnimationLoop(e);null===e?we.stop():we.start()};xe.addEventListener(\"sessionstart\",onXRSessionStart);xe.addEventListener(\"sessionend\",onXRSessionEnd);this.render=function(e,t){if(void 0!==t&&true!==t.isCamera){console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");return}if(true===_)return;true===e.autoUpdate&&e.updateMatrixWorld();null===t.parent&&t.updateMatrixWorld();if(true===xe.enabled&&true===xe.isPresenting){true===xe.cameraAutoUpdate&&xe.updateCamera(t);t=xe.getCamera()}true===e.isScene&&e.onBeforeRender(b,e,t,S);g=le.get(e,x.length);g.init();x.push(g);k.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);G.setFromProjectionMatrix(k);O=this.localClippingEnabled;F=ce.init(this.clippingPlanes,O,t);m=oe.get(e,y.length);m.init();y.push(m);projectObject(e,t,0,b.sortObjects);m.finish();true===b.sortObjects&&m.sort(D,B);true===F&&ce.beginShadows();const n=g.state.shadowsArray;he.render(n,e,t);true===F&&ce.endShadows();true===this.info.autoReset&&this.info.reset();pe.render(m,e);g.setupLights(b.physicallyCorrectLights);if(t.isArrayCamera){const n=t.cameras;for(let t=0,r=n.length;t<r;t++){const r=n[t];renderScene(m,e,r,r.viewport)}}else renderScene(m,e,t);if(null!==S){$.updateMultisampleRenderTarget(S);$.updateRenderTargetMipmap(S)}true===e.isScene&&e.onAfterRender(b,e,t);Y.buffers.depth.setTest(true);Y.buffers.depth.setMask(true);Y.buffers.color.setMask(true);Y.setPolygonOffset(false);ve.resetDefaultState();T=-1;E=null;x.pop();g=x.length>0?x[x.length-1]:null;y.pop();m=y.length>0?y[y.length-1]:null};function projectObject(e,t,n,r){if(false===e.visible)return;const i=e.layers.test(t.layers);if(i)if(e.isGroup)n=e.renderOrder;else if(e.isLOD)true===e.autoUpdate&&e.update(t);else if(e.isLight){g.pushLight(e);e.castShadow&&g.pushShadow(e)}else if(e.isSprite){if(!e.frustumCulled||G.intersectsSprite(e)){r&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);const t=ie.update(e);const i=e.material;i.visible&&m.push(e,t,i,n,W.z,null)}}else if(e.isMesh||e.isLine||e.isPoints){if(e.isSkinnedMesh&&e.skeleton.frame!==Q.render.frame){e.skeleton.update();e.skeleton.frame=Q.render.frame}if(!e.frustumCulled||G.intersectsObject(e)){r&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);const t=ie.update(e);const i=e.material;if(Array.isArray(i)){const r=t.groups;for(let s=0,a=r.length;s<a;s++){const a=r[s];const o=i[a.materialIndex];o&&o.visible&&m.push(e,t,o,n,W.z,a)}}else i.visible&&m.push(e,t,i,n,W.z,null)}}const s=e.children;for(let e=0,i=s.length;e<i;e++)projectObject(s[e],t,n,r)}function renderScene(e,t,n,r){const i=e.opaque;const s=e.transmissive;const a=e.transparent;g.setupLightsView(n);s.length>0&&renderTransmissionPass(i,t,n);r&&Y.viewport(A.copy(r));i.length>0&&renderObjects(i,t,n);s.length>0&&renderObjects(s,t,n);a.length>0&&renderObjects(a,t,n)}function renderTransmissionPass(e,t,n){if(null===H){const e=true===o&&true===J.isWebGL2;const t=e?WebGLMultisampleRenderTarget:WebGLRenderTarget;H=new t(1024,1024,{generateMipmaps:true,type:null!==ye.convert(Ce)?Ce:Me,minFilter:be,magFilter:de,wrapS:ue,wrapT:ue,useRenderToTexture:X.has(\"WEBGL_multisampled_render_to_texture\")})}const r=b.getRenderTarget();b.setRenderTarget(H);b.clear();const i=b.toneMapping;b.toneMapping=Z;renderObjects(e,t,n);b.toneMapping=i;$.updateMultisampleRenderTarget(H);$.updateRenderTargetMipmap(H);b.setRenderTarget(r)}function renderObjects(e,t,n){const r=true===t.isScene?t.overrideMaterial:null;for(let i=0,s=e.length;i<s;i++){const s=e[i];const a=s.object;const o=s.geometry;const l=null===r?s.material:r;const c=s.group;a.layers.test(n.layers)&&renderObject(a,t,n,o,l,c)}}function renderObject(e,t,n,r,i,s){e.onBeforeRender(b,t,n,r,i,s);e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld);e.normalMatrix.getNormalMatrix(e.modelViewMatrix);i.onBeforeRender(b,t,n,r,e,s);if(true===i.transparent&&i.side===p){i.side=d;i.needsUpdate=true;b.renderBufferDirect(n,t,r,i,e,s);i.side=h;i.needsUpdate=true;b.renderBufferDirect(n,t,r,i,e,s);i.side=p}else b.renderBufferDirect(n,t,r,i,e,s);e.onAfterRender(b,t,n,r,i,s)}function getProgram(e,t,n){true!==t.isScene&&(t=j);const r=K.get(e);const i=g.state.lights;const s=g.state.shadowsArray;const a=i.state.version;const o=se.getParameters(e,i.state,s,t,n);const l=se.getProgramCacheKey(o);let c=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null;r.fog=t.fog;r.envMap=(e.isMeshStandardMaterial?te:ee).get(e.envMap||r.environment);if(void 0===c){e.addEventListener(\"dispose\",onMaterialDispose);c=new Map;r.programs=c}let u=c.get(l);if(void 0!==u){if(r.currentProgram===u&&r.lightsStateVersion===a){updateCommonMaterialProperties(e,o);return u}}else{o.uniforms=se.getUniforms(e);e.onBuild(n,o,b);e.onBeforeCompile(o,b);u=se.acquireProgram(o,l);c.set(l,u);r.uniforms=o.uniforms}const h=r.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&true!==e.clipping||(h.clippingPlanes=ce.uniform);updateCommonMaterialProperties(e,o);r.needsLights=materialNeedsLights(e);r.lightsStateVersion=a;if(r.needsLights){h.ambientLightColor.value=i.state.ambient;h.lightProbe.value=i.state.probe;h.directionalLights.value=i.state.directional;h.directionalLightShadows.value=i.state.directionalShadow;h.spotLights.value=i.state.spot;h.spotLightShadows.value=i.state.spotShadow;h.rectAreaLights.value=i.state.rectArea;h.ltc_1.value=i.state.rectAreaLTC1;h.ltc_2.value=i.state.rectAreaLTC2;h.pointLights.value=i.state.point;h.pointLightShadows.value=i.state.pointShadow;h.hemisphereLights.value=i.state.hemi;h.directionalShadowMap.value=i.state.directionalShadowMap;h.directionalShadowMatrix.value=i.state.directionalShadowMatrix;h.spotShadowMap.value=i.state.spotShadowMap;h.spotShadowMatrix.value=i.state.spotShadowMatrix;h.pointShadowMap.value=i.state.pointShadowMap;h.pointShadowMatrix.value=i.state.pointShadowMatrix}const d=u.getUniforms();const p=WebGLUniforms.seqWithValue(d.seq,h);r.currentProgram=u;r.uniformsList=p;return u}function updateCommonMaterialProperties(e,t){const n=K.get(e);n.outputEncoding=t.outputEncoding;n.instancing=t.instancing;n.skinning=t.skinning;n.morphTargets=t.morphTargets;n.morphNormals=t.morphNormals;n.morphTargetsCount=t.morphTargetsCount;n.numClippingPlanes=t.numClippingPlanes;n.numIntersection=t.numClipIntersection;n.vertexAlphas=t.vertexAlphas;n.vertexTangents=t.vertexTangents;n.toneMapping=t.toneMapping}function setProgram(e,t,n,r,i){true!==t.isScene&&(t=j);$.resetTextureUnits();const s=t.fog;const a=r.isMeshStandardMaterial?t.environment:null;const o=null===S?b.outputEncoding:S.texture.encoding;const l=(r.isMeshStandardMaterial?te:ee).get(r.envMap||a);const c=true===r.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize;const u=!!r.normalMap&&!!n.attributes.tangent;const h=!!n.morphAttributes.position;const d=!!n.morphAttributes.normal;const p=!n.morphAttributes.position?0:n.morphAttributes.position.length;const f=r.toneMapped?b.toneMapping:Z;const m=K.get(r);const y=g.state.lights;if(true===F&&(true===O||e!==E)){const t=e===E&&r.id===T;ce.setState(r,e,t)}let x=false;if(r.version===m.__version)m.needsLights&&m.lightsStateVersion!==y.state.version||m.outputEncoding!==o||i.isInstancedMesh&&false===m.instancing?x=true:i.isInstancedMesh||true!==m.instancing?i.isSkinnedMesh&&false===m.skinning?x=true:i.isSkinnedMesh||true!==m.skinning?m.envMap!==l||r.fog&&m.fog!==s?x=true:void 0===m.numClippingPlanes||m.numClippingPlanes===ce.numPlanes&&m.numIntersection===ce.numIntersection?(m.vertexAlphas!==c||m.vertexTangents!==u||m.morphTargets!==h||m.morphNormals!==d||m.toneMapping!==f||true===J.isWebGL2&&m.morphTargetsCount!==p)&&(x=true):x=true:x=true:x=true;else{x=true;m.__version=r.version}let _=m.currentProgram;true===x&&(_=getProgram(r,t,i));let M=false;let w=false;let A=false;const L=_.getUniforms(),C=m.uniforms;if(Y.useProgram(_.program)){M=true;w=true;A=true}if(r.id!==T){T=r.id;w=true}if(M||E!==e){L.setValue(q,\"projectionMatrix\",e.projectionMatrix);J.logarithmicDepthBuffer&&L.setValue(q,\"logDepthBufFC\",2/(Math.log(e.far+1)/Math.LN2));if(E!==e){E=e;w=true;A=true}if(r.isShaderMaterial||r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshStandardMaterial||r.envMap){const t=L.map.cameraPosition;void 0!==t&&t.setValue(q,W.setFromMatrixPosition(e.matrixWorld))}(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&L.setValue(q,\"isOrthographic\",true===e.isOrthographicCamera);(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial||r.isShadowMaterial||i.isSkinnedMesh)&&L.setValue(q,\"viewMatrix\",e.matrixWorldInverse)}if(i.isSkinnedMesh){L.setOptional(q,i,\"bindMatrix\");L.setOptional(q,i,\"bindMatrixInverse\");const e=i.skeleton;if(e)if(J.floatVertexTextures){null===e.boneTexture&&e.computeBoneTexture();L.setValue(q,\"boneTexture\",e.boneTexture,$);L.setValue(q,\"boneTextureSize\",e.boneTextureSize)}else L.setOptional(q,e,\"boneMatrices\")}!n||void 0===n.morphAttributes.position&&void 0===n.morphAttributes.normal||fe.update(i,n,r,_);if(w||m.receiveShadow!==i.receiveShadow){m.receiveShadow=i.receiveShadow;L.setValue(q,\"receiveShadow\",i.receiveShadow)}if(w){L.setValue(q,\"toneMappingExposure\",b.toneMappingExposure);m.needsLights&&markUniformsLightsNeedsUpdate(C,A);s&&r.fog&&ae.refreshFogUniforms(C,s);ae.refreshMaterialUniforms(C,r,I,P,H);WebGLUniforms.upload(q,m.uniformsList,C,$)}if(r.isShaderMaterial&&true===r.uniformsNeedUpdate){WebGLUniforms.upload(q,m.uniformsList,C,$);r.uniformsNeedUpdate=false}r.isSpriteMaterial&&L.setValue(q,\"center\",i.center);L.setValue(q,\"modelViewMatrix\",i.modelViewMatrix);L.setValue(q,\"normalMatrix\",i.normalMatrix);L.setValue(q,\"modelMatrix\",i.matrixWorld);return _}function markUniformsLightsNeedsUpdate(e,t){e.ambientLightColor.needsUpdate=t;e.lightProbe.needsUpdate=t;e.directionalLights.needsUpdate=t;e.directionalLightShadows.needsUpdate=t;e.pointLights.needsUpdate=t;e.pointLightShadows.needsUpdate=t;e.spotLights.needsUpdate=t;e.spotLightShadows.needsUpdate=t;e.rectAreaLights.needsUpdate=t;e.hemisphereLights.needsUpdate=t}function materialNeedsLights(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&true===e.lights}this.getActiveCubeFace=function(){return M};this.getActiveMipmapLevel=function(){return w};this.getRenderTarget=function(){return S};this.setRenderTargetTextures=function(e,t,n){K.get(e.texture).__webglTexture=t;K.get(e.depthTexture).__webglTexture=n;const r=K.get(e);r.__hasExternalTextures=true;if(r.__hasExternalTextures){r.__autoAllocateDepthBuffer=void 0===n;if(!r.__autoAllocateDepthBuffer&&e.useRenderToTexture){console.warn(\"render-to-texture extension was disabled because an external texture was provided\");e.useRenderToTexture=false;e.useRenderbuffer=true}}};this.setRenderTargetFramebuffer=function(e,t){const n=K.get(e);n.__webglFramebuffer=t;n.__useDefaultFramebuffer=void 0===t};this.setRenderTarget=function(e,t=0,n=0){S=e;M=t;w=n;let r=true;if(e){const t=K.get(e);if(void 0!==t.__useDefaultFramebuffer){Y.bindFramebuffer(36160,null);r=false}else void 0===t.__webglFramebuffer?$.setupRenderTarget(e):t.__hasExternalTextures&&$.rebindTextures(e,K.get(e.texture).__webglTexture,K.get(e.depthTexture).__webglTexture)}let i=null;let s=false;let a=false;if(e){const n=e.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(a=true);const r=K.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget){i=r[t];s=true}else i=e.useRenderbuffer?K.get(e).__webglMultisampledFramebuffer:r;A.copy(e.viewport);L.copy(e.scissor);C=e.scissorTest}else{A.copy(V).multiplyScalar(I).floor();L.copy(N).multiplyScalar(I).floor();C=U}const o=Y.bindFramebuffer(36160,i);if(o&&J.drawBuffers&&r){let t=false;if(e){if(e.isWebGLMultipleRenderTargets){const n=e.texture;if(z.length!==n.length||36064!==z[0]){for(let e=0,t=n.length;e<t;e++)z[e]=36064+e;z.length=n.length;t=true}}else if(1!==z.length||36064!==z[0]){z[0]=36064;z.length=1;t=true}}else if(1!==z.length||1029!==z[0]){z[0]=1029;z.length=1;t=true}t&&(J.isWebGL2?q.drawBuffers(z):X.get(\"WEBGL_draw_buffers\").drawBuffersWEBGL(z))}Y.viewport(A);Y.scissor(L);Y.setScissorTest(C);if(s){const r=K.get(e.texture);q.framebufferTexture2D(36160,36064,34069+t,r.__webglTexture,n)}else if(a){const r=K.get(e.texture);const i=t||0;q.framebufferTextureLayer(36160,36064,r.__webglTexture,n||0,i)}T=-1};this.readRenderTargetPixels=function(e,t,n,r,i,s,a){if(!(e&&e.isWebGLRenderTarget)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");return}let o=K.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]);if(o){Y.bindFramebuffer(36160,o);try{const a=e.texture;const o=a.format;const l=a.type;if(o!==Ne&&ye.convert(o)!==q.getParameter(35739)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");return}const c=l===Ce&&(X.has(\"EXT_color_buffer_half_float\")||J.isWebGL2&&X.has(\"EXT_color_buffer_float\"));if(l!==Me&&ye.convert(l)!==q.getParameter(35738)&&!(l===Le&&(J.isWebGL2||X.has(\"OES_texture_float\")||X.has(\"WEBGL_color_buffer_float\")))&&!c){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");return}36053===q.checkFramebufferStatus(36160)?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&q.readPixels(t,n,r,i,ye.convert(o),ye.convert(l),s):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{const e=null!==S?K.get(S).__webglFramebuffer:null;Y.bindFramebuffer(36160,e)}}};this.copyFramebufferToTexture=function(e,t,n=0){if(true!==t.isFramebufferTexture){console.error(\"THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.\");return}const r=Math.pow(2,-n);const i=Math.floor(t.image.width*r);const s=Math.floor(t.image.height*r);$.setTexture2D(t,0);q.copyTexSubImage2D(3553,n,0,0,e.x,e.y,i,s);Y.unbindTexture()};this.copyTextureToTexture=function(e,t,n,r=0){const i=t.image.width;const s=t.image.height;const a=ye.convert(n.format);const o=ye.convert(n.type);$.setTexture2D(n,0);q.pixelStorei(37440,n.flipY);q.pixelStorei(37441,n.premultiplyAlpha);q.pixelStorei(3317,n.unpackAlignment);t.isDataTexture?q.texSubImage2D(3553,r,e.x,e.y,i,s,a,o,t.image.data):t.isCompressedTexture?q.compressedTexSubImage2D(3553,r,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):q.texSubImage2D(3553,r,e.x,e.y,a,o,t.image);0===r&&n.generateMipmaps&&q.generateMipmap(3553);Y.unbindTexture()};this.copyTextureToTexture3D=function(e,t,n,r,i=0){if(b.isWebGL1Renderer){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.\");return}const s=e.max.x-e.min.x+1;const a=e.max.y-e.min.y+1;const o=e.max.z-e.min.z+1;const l=ye.convert(r.format);const c=ye.convert(r.type);let u;if(r.isDataTexture3D){$.setTexture3D(r,0);u=32879}else{if(!r.isDataTexture2DArray){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");return}$.setTexture2DArray(r,0);u=35866}q.pixelStorei(37440,r.flipY);q.pixelStorei(37441,r.premultiplyAlpha);q.pixelStorei(3317,r.unpackAlignment);const h=q.getParameter(3314);const d=q.getParameter(32878);const p=q.getParameter(3316);const f=q.getParameter(3315);const m=q.getParameter(32877);const g=n.isCompressedTexture?n.mipmaps[0]:n.image;q.pixelStorei(3314,g.width);q.pixelStorei(32878,g.height);q.pixelStorei(3316,e.min.x);q.pixelStorei(3315,e.min.y);q.pixelStorei(32877,e.min.z);if(n.isDataTexture||n.isDataTexture3D)q.texSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,c,g.data);else if(n.isCompressedTexture){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.\");q.compressedTexSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,g.data)}else q.texSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,c,g);q.pixelStorei(3314,h);q.pixelStorei(32878,d);q.pixelStorei(3316,p);q.pixelStorei(3315,f);q.pixelStorei(32877,m);0===i&&r.generateMipmaps&&q.generateMipmap(u);Y.unbindTexture()};this.initTexture=function(e){$.setTexture2D(e,0);Y.unbindTexture()};this.resetState=function(){M=0;w=0;S=null;Y.reset();ve.reset()};\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}WebGLRenderer.prototype.isWebGLRenderer=true;class WebGL1Renderer extends WebGLRenderer{}WebGL1Renderer.prototype.isWebGL1Renderer=true;class FogExp2{constructor(e,t=25e-5){this.name=\"\";this.color=new Color(e);this.density=t}clone(){return new FogExp2(this.color,this.density)}toJSON(){return{type:\"FogExp2\",color:this.color.getHex(),density:this.density}}}FogExp2.prototype.isFogExp2=true;class Fog{constructor(e,t=1,n=1e3){this.name=\"\";this.color=new Color(e);this.near=t;this.far=n}clone(){return new Fog(this.color,this.near,this.far)}toJSON(){return{type:\"Fog\",color:this.color.getHex(),near:this.near,far:this.far}}}Fog.prototype.isFog=true;class Scene extends Object3D{constructor(){super();this.type=\"Scene\";this.background=null;this.environment=null;this.fog=null;this.overrideMaterial=null;this.autoUpdate=true;\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(e,t){super.copy(e,t);null!==e.background&&(this.background=e.background.clone());null!==e.environment&&(this.environment=e.environment.clone());null!==e.fog&&(this.fog=e.fog.clone());null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone());this.autoUpdate=e.autoUpdate;this.matrixAutoUpdate=e.matrixAutoUpdate;return this}toJSON(e){const t=super.toJSON(e);null!==this.fog&&(t.object.fog=this.fog.toJSON());return t}}Scene.prototype.isScene=true;class InterleavedBuffer{constructor(e,t){this.array=e;this.stride=t;this.count=void 0!==e?e.length/t:0;this.usage=gn;this.updateRange={offset:0,count:-1};this.version=0;this.uuid=generateUUID()}onUploadCallback(){}set needsUpdate(e){true===e&&this.version++}setUsage(e){this.usage=e;return this}copy(e){this.array=new e.array.constructor(e.array);this.count=e.count;this.stride=e.stride;this.usage=e.usage;return this}copyAt(e,t,n){e*=this.stride;n*=t.stride;for(let r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e,t=0){this.array.set(e,t);return this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={});void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=generateUUID());void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]);const n=new this.constructor(t,this.stride);n.setUsage(this.usage);return n}onUpload(e){this.onUploadCallback=e;return this}toJSON(e){void 0===e.arrayBuffers&&(e.arrayBuffers={});void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=generateUUID());void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer)));return{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}InterleavedBuffer.prototype.isInterleavedBuffer=true;const No=new Vector3;class InterleavedBufferAttribute{constructor(e,t,n,r=false){this.name=\"\";this.data=e;this.itemSize=t;this.offset=n;this.normalized=true===r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.applyMatrix4(e);this.setXYZ(t,No.x,No.y,No.z)}return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.applyNormalMatrix(e);this.setXYZ(t,No.x,No.y,No.z)}return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.transformDirection(e);this.setXYZ(t,No.x,No.y,No.z)}return this}setX(e,t){this.data.array[e*this.data.stride+this.offset]=t;return this}setY(e,t){this.data.array[e*this.data.stride+this.offset+1]=t;return this}setZ(e,t){this.data.array[e*this.data.stride+this.offset+2]=t;return this}setW(e,t){this.data.array[e*this.data.stride+this.offset+3]=t;return this}getX(e){return this.data.array[e*this.data.stride+this.offset]}getY(e){return this.data.array[e*this.data.stride+this.offset+1]}getZ(e){return this.data.array[e*this.data.stride+this.offset+2]}getW(e){return this.data.array[e*this.data.stride+this.offset+3]}setXY(e,t,n){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;return this}setXYZ(e,t,n,r){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;this.data.array[e+2]=r;return this}setXYZW(e,t,n,r,i){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;this.data.array[e+2]=r;this.data.array[e+3]=i;return this}clone(e){if(void 0===e){console.log(\"THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.\");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new BufferAttribute(new this.array.constructor(e),this.itemSize,this.normalized)}void 0===e.interleavedBuffers&&(e.interleavedBuffers={});void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e));return new InterleavedBufferAttribute(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log(\"THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.\");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}void 0===e.interleavedBuffers&&(e.interleavedBuffers={});void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e));return{isInterleavedBufferAttribute:true,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}InterleavedBufferAttribute.prototype.isInterleavedBufferAttribute=true;class SpriteMaterial extends Material{constructor(e){super();this.type=\"SpriteMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.rotation=0;this.sizeAttenuation=true;this.transparent=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.alphaMap=e.alphaMap;this.rotation=e.rotation;this.sizeAttenuation=e.sizeAttenuation;return this}}SpriteMaterial.prototype.isSpriteMaterial=true;let Uo;const zo=new Vector3;const Go=new Vector3;const Fo=new Vector3;const Oo=new Vector2;const Ho=new Vector2;const ko=new Matrix4;const Wo=new Vector3;const jo=new Vector3;const qo=new Vector3;const Xo=new Vector2;const Jo=new Vector2;const Yo=new Vector2;class Sprite extends Object3D{constructor(e){super();this.type=\"Sprite\";if(void 0===Uo){Uo=new BufferGeometry;const e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);const t=new InterleavedBuffer(e,5);Uo.setIndex([0,1,2,0,2,3]);Uo.setAttribute(\"position\",new InterleavedBufferAttribute(t,3,0,false));Uo.setAttribute(\"uv\",new InterleavedBufferAttribute(t,2,3,false))}this.geometry=Uo;this.material=void 0!==e?e:new SpriteMaterial;this.center=new Vector2(.5,.5)}raycast(e,t){null===e.camera&&console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.');Go.setFromMatrixScale(this.matrixWorld);ko.copy(e.camera.matrixWorld);this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld);Fo.setFromMatrixPosition(this.modelViewMatrix);e.camera.isPerspectiveCamera&&false===this.material.sizeAttenuation&&Go.multiplyScalar(-Fo.z);const n=this.material.rotation;let r,i;if(0!==n){i=Math.cos(n);r=Math.sin(n)}const s=this.center;transformVertex(Wo.set(-.5,-.5,0),Fo,s,Go,r,i);transformVertex(jo.set(.5,-.5,0),Fo,s,Go,r,i);transformVertex(qo.set(.5,.5,0),Fo,s,Go,r,i);Xo.set(0,0);Jo.set(1,0);Yo.set(1,1);let a=e.ray.intersectTriangle(Wo,jo,qo,false,zo);if(null===a){transformVertex(jo.set(-.5,.5,0),Fo,s,Go,r,i);Jo.set(0,1);a=e.ray.intersectTriangle(Wo,qo,jo,false,zo);if(null===a)return}const o=e.ray.origin.distanceTo(zo);o<e.near||o>e.far||t.push({distance:o,point:zo.clone(),uv:Triangle.getUV(zo,Wo,jo,qo,Xo,Jo,Yo,new Vector2),face:null,object:this})}copy(e){super.copy(e);void 0!==e.center&&this.center.copy(e.center);this.material=e.material;return this}}Sprite.prototype.isSprite=true;function transformVertex(e,t,n,r,i,s){Oo.subVectors(e,n).addScalar(.5).multiply(r);if(void 0!==i){Ho.x=s*Oo.x-i*Oo.y;Ho.y=i*Oo.x+s*Oo.y}else Ho.copy(Oo);e.copy(t);e.x+=Ho.x;e.y+=Ho.y;e.applyMatrix4(ko)}const Zo=new Vector3;const Qo=new Vector3;class LOD extends Object3D{constructor(){super();this._currentLevel=0;this.type=\"LOD\";Object.defineProperties(this,{levels:{enumerable:true,value:[]},isLOD:{value:true}});this.autoUpdate=true}copy(e){super.copy(e,false);const t=e.levels;for(let e=0,n=t.length;e<n;e++){const n=t[e];this.addLevel(n.object.clone(),n.distance)}this.autoUpdate=e.autoUpdate;return this}addLevel(e,t=0){t=Math.abs(t);const n=this.levels;let r;for(r=0;r<n.length;r++)if(t<n[r].distance)break;n.splice(r,0,{distance:t,object:e});this.add(e);return this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let n,r;for(n=1,r=t.length;n<r;n++)if(e<t[n].distance)break;return t[n-1].object}return null}raycast(e,t){const n=this.levels;if(n.length>0){Zo.setFromMatrixPosition(this.matrixWorld);const n=e.ray.origin.distanceTo(Zo);this.getObjectForDistance(n).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Zo.setFromMatrixPosition(e.matrixWorld);Qo.setFromMatrixPosition(this.matrixWorld);const n=Zo.distanceTo(Qo)/e.zoom;t[0].object.visible=true;let r,i;for(r=1,i=t.length;r<i;r++){if(!(n>=t[r].distance))break;t[r-1].object.visible=false;t[r].object.visible=true}this._currentLevel=r-1;for(;r<i;r++)t[r].object.visible=false}}toJSON(e){const t=super.toJSON(e);false===this.autoUpdate&&(t.object.autoUpdate=false);t.object.levels=[];const n=this.levels;for(let e=0,r=n.length;e<r;e++){const r=n[e];t.object.levels.push({object:r.object.uuid,distance:r.distance})}return t}}const Ko=new Vector3;const $o=new Vector4;const el=new Vector4;const tl=new Vector3;const nl=new Matrix4;class SkinnedMesh extends Mesh{constructor(e,t){super(e,t);this.type=\"SkinnedMesh\";this.bindMode=\"attached\";this.bindMatrix=new Matrix4;this.bindMatrixInverse=new Matrix4}copy(e){super.copy(e);this.bindMode=e.bindMode;this.bindMatrix.copy(e.bindMatrix);this.bindMatrixInverse.copy(e.bindMatrixInverse);this.skeleton=e.skeleton;return this}bind(e,t){this.skeleton=e;if(void 0===t){this.updateMatrixWorld(true);this.skeleton.calculateInverses();t=this.matrixWorld}this.bindMatrix.copy(t);this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Vector4;const t=this.geometry.attributes.skinWeight;for(let n=0,r=t.count;n<r;n++){e.x=t.getX(n);e.y=t.getY(n);e.z=t.getZ(n);e.w=t.getW(n);const r=1/e.manhattanLength();Infinity!==r?e.multiplyScalar(r):e.set(1,0,0,0);t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e);\"attached\"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():\"detached\"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(\"THREE.SkinnedMesh: Unrecognized bindMode: \"+this.bindMode)}boneTransform(e,t){const n=this.skeleton;const r=this.geometry;$o.fromBufferAttribute(r.attributes.skinIndex,e);el.fromBufferAttribute(r.attributes.skinWeight,e);Ko.copy(t).applyMatrix4(this.bindMatrix);t.set(0,0,0);for(let e=0;e<4;e++){const r=el.getComponent(e);if(0!==r){const i=$o.getComponent(e);nl.multiplyMatrices(n.bones[i].matrixWorld,n.boneInverses[i]);t.addScaledVector(tl.copy(Ko).applyMatrix4(nl),r)}}return t.applyMatrix4(this.bindMatrixInverse)}}SkinnedMesh.prototype.isSkinnedMesh=true;class Bone extends Object3D{constructor(){super();this.type=\"Bone\"}}Bone.prototype.isBone=true;class DataTexture extends Texture{constructor(e=null,t=1,n=1,r,i,s,a,o,l=de,c=de,u,h){super(null,s,a,o,l,c,r,i,u,h);this.image={data:e,width:t,height:n};this.magFilter=l;this.minFilter=c;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture.prototype.isDataTexture=true;const rl=new Matrix4;const il=new Matrix4;class Skeleton{constructor(e=[],t=[]){this.uuid=generateUUID();this.bones=e.slice(0);this.boneInverses=t;this.boneMatrices=null;this.boneTexture=null;this.boneTextureSize=0;this.frame=-1;this.init()}init(){const e=this.bones;const t=this.boneInverses;this.boneMatrices=new Float32Array(16*e.length);if(0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn(\"THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.\");this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new Matrix4)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const t=new Matrix4;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert();this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];if(t){if(t.parent&&t.parent.isBone){t.matrix.copy(t.parent.matrixWorld).invert();t.matrix.multiply(t.matrixWorld)}else t.matrix.copy(t.matrixWorld);t.matrix.decompose(t.position,t.quaternion,t.scale)}}}update(){const e=this.bones;const t=this.boneInverses;const n=this.boneMatrices;const r=this.boneTexture;for(let r=0,i=e.length;r<i;r++){const i=e[r]?e[r].matrixWorld:il;rl.multiplyMatrices(i,t[r]);rl.toArray(n,16*r)}null!==r&&(r.needsUpdate=true)}clone(){return new Skeleton(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(4*this.bones.length);e=ceilPowerOfTwo(e);e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const n=new DataTexture(t,e,e,Ne,Le);n.needsUpdate=true;this.boneMatrices=t;this.boneTexture=n;this.boneTextureSize=e;return this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){const n=this.bones[t];if(n.name===e)return n}}dispose(){if(null!==this.boneTexture){this.boneTexture.dispose();this.boneTexture=null}}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){const r=e.bones[n];let i=t[r];if(void 0===i){console.warn(\"THREE.Skeleton: No bone found with UUID:\",r);i=new Bone}this.bones.push(i);this.boneInverses.push((new Matrix4).fromArray(e.boneInverses[n]))}this.init();return this}toJSON(){const e={metadata:{version:4.5,type:\"Skeleton\",generator:\"Skeleton.toJSON\"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones;const n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){const i=t[r];e.bones.push(i.uuid);const s=n[r];e.boneInverses.push(s.toArray())}return e}}class InstancedBufferAttribute extends BufferAttribute{constructor(e,t,n,r=1){if(\"number\"===typeof n){r=n;n=false;console.error(\"THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.\")}super(e,t,n);this.meshPerAttribute=r}copy(e){super.copy(e);this.meshPerAttribute=e.meshPerAttribute;return this}toJSON(){const e=super.toJSON();e.meshPerAttribute=this.meshPerAttribute;e.isInstancedBufferAttribute=true;return e}}InstancedBufferAttribute.prototype.isInstancedBufferAttribute=true;const sl=new Matrix4;const al=new Matrix4;const ol=[];const ll=new Mesh;class InstancedMesh extends Mesh{constructor(e,t,n){super(e,t);this.instanceMatrix=new InstancedBufferAttribute(new Float32Array(16*n),16);this.instanceColor=null;this.count=n;this.frustumCulled=false}copy(e){super.copy(e);this.instanceMatrix.copy(e.instanceMatrix);null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone());this.count=e.count;return this}getColorAt(e,t){t.fromArray(this.instanceColor.array,3*e)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,16*e)}raycast(e,t){const n=this.matrixWorld;const r=this.count;ll.geometry=this.geometry;ll.material=this.material;if(void 0!==ll.material)for(let i=0;i<r;i++){this.getMatrixAt(i,sl);al.multiplyMatrices(n,sl);ll.matrixWorld=al;ll.raycast(e,ol);for(let e=0,n=ol.length;e<n;e++){const n=ol[e];n.instanceId=i;n.object=this;t.push(n)}ol.length=0}}setColorAt(e,t){null===this.instanceColor&&(this.instanceColor=new InstancedBufferAttribute(new Float32Array(3*this.instanceMatrix.count),3));t.toArray(this.instanceColor.array,3*e)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,16*e)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:\"dispose\"})}}InstancedMesh.prototype.isInstancedMesh=true;class LineBasicMaterial extends Material{constructor(e){super();this.type=\"LineBasicMaterial\";this.color=new Color(16777215);this.linewidth=1;this.linecap=\"round\";this.linejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.linewidth=e.linewidth;this.linecap=e.linecap;this.linejoin=e.linejoin;return this}}LineBasicMaterial.prototype.isLineBasicMaterial=true;const cl=new Vector3;const ul=new Vector3;const hl=new Matrix4;const dl=new Ray;const pl=new Sphere;class Line extends Object3D{constructor(e=new BufferGeometry,t=new LineBasicMaterial){super();this.type=\"Line\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);this.material=e.material;this.geometry=e.geometry;return this}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position;const n=[0];for(let e=1,r=t.count;e<r;e++){cl.fromBufferAttribute(t,e-1);ul.fromBufferAttribute(t,e);n[e]=n[e-1];n[e]+=cl.distanceTo(ul)}e.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");else e.isGeometry&&console.error(\"THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\");return this}raycast(e,t){const n=this.geometry;const r=this.matrixWorld;const i=e.params.Line.threshold;const s=n.drawRange;null===n.boundingSphere&&n.computeBoundingSphere();pl.copy(n.boundingSphere);pl.applyMatrix4(r);pl.radius+=i;if(false===e.ray.intersectsSphere(pl))return;hl.copy(r).invert();dl.copy(e.ray).applyMatrix4(hl);const a=i/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;const l=new Vector3;const c=new Vector3;const u=new Vector3;const h=new Vector3;const d=this.isLineSegments?2:1;if(n.isBufferGeometry){const r=n.index;const i=n.attributes;const a=i.position;if(null!==r){const n=Math.max(0,s.start);const i=Math.min(r.count,s.start+s.count);for(let s=n,p=i-1;s<p;s+=d){const n=r.getX(s);const i=r.getX(s+1);l.fromBufferAttribute(a,n);c.fromBufferAttribute(a,i);const d=dl.distanceSqToSegment(l,c,h,u);if(d>o)continue;h.applyMatrix4(this.matrixWorld);const p=e.ray.origin.distanceTo(h);p<e.near||p>e.far||t.push({distance:p,point:u.clone().applyMatrix4(this.matrixWorld),index:s,face:null,faceIndex:null,object:this})}}else{const n=Math.max(0,s.start);const r=Math.min(a.count,s.start+s.count);for(let i=n,s=r-1;i<s;i+=d){l.fromBufferAttribute(a,i);c.fromBufferAttribute(a,i+1);const n=dl.distanceSqToSegment(l,c,h,u);if(n>o)continue;h.applyMatrix4(this.matrixWorld);const r=e.ray.origin.distanceTo(h);r<e.near||r>e.far||t.push({distance:r,point:u.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error(\"THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}Line.prototype.isLine=true;const fl=new Vector3;const ml=new Vector3;class LineSegments extends Line{constructor(e,t){super(e,t);this.type=\"LineSegments\"}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position;const n=[];for(let e=0,r=t.count;e<r;e+=2){fl.fromBufferAttribute(t,e);ml.fromBufferAttribute(t,e+1);n[e]=0===e?0:n[e-1];n[e+1]=n[e]+fl.distanceTo(ml)}e.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");else e.isGeometry&&console.error(\"THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\");return this}}LineSegments.prototype.isLineSegments=true;class LineLoop extends Line{constructor(e,t){super(e,t);this.type=\"LineLoop\"}}LineLoop.prototype.isLineLoop=true;class PointsMaterial extends Material{constructor(e){super();this.type=\"PointsMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.size=1;this.sizeAttenuation=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.alphaMap=e.alphaMap;this.size=e.size;this.sizeAttenuation=e.sizeAttenuation;return this}}PointsMaterial.prototype.isPointsMaterial=true;const gl=new Matrix4;const yl=new Ray;const vl=new Sphere;const xl=new Vector3;class Points extends Object3D{constructor(e=new BufferGeometry,t=new PointsMaterial){super();this.type=\"Points\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);this.material=e.material;this.geometry=e.geometry;return this}raycast(e,t){const n=this.geometry;const r=this.matrixWorld;const i=e.params.Points.threshold;const s=n.drawRange;null===n.boundingSphere&&n.computeBoundingSphere();vl.copy(n.boundingSphere);vl.applyMatrix4(r);vl.radius+=i;if(false===e.ray.intersectsSphere(vl))return;gl.copy(r).invert();yl.copy(e.ray).applyMatrix4(gl);const a=i/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;if(n.isBufferGeometry){const i=n.index;const a=n.attributes;const l=a.position;if(null!==i){const n=Math.max(0,s.start);const a=Math.min(i.count,s.start+s.count);for(let s=n,c=a;s<c;s++){const n=i.getX(s);xl.fromBufferAttribute(l,n);testPoint(xl,n,o,r,e,t,this)}}else{const n=Math.max(0,s.start);const i=Math.min(l.count,s.start+s.count);for(let s=n,a=i;s<a;s++){xl.fromBufferAttribute(l,s);testPoint(xl,s,o,r,e,t,this)}}}else console.error(\"THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}Points.prototype.isPoints=true;function testPoint(e,t,n,r,i,s,a){const o=yl.distanceSqToPoint(e);if(o<n){const n=new Vector3;yl.closestPointToPoint(e,n);n.applyMatrix4(r);const l=i.ray.origin.distanceTo(n);if(l<i.near||l>i.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:t,face:null,object:a})}}class VideoTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l){super(e,t,n,r,i,s,a,o,l);this.format=void 0!==a?a:Ve;this.minFilter=void 0!==s?s:ye;this.magFilter=void 0!==i?i:ye;this.generateMipmaps=false;const c=this;function updateVideo(){c.needsUpdate=true;e.requestVideoFrameCallback(updateVideo)}\"requestVideoFrameCallback\"in e&&e.requestVideoFrameCallback(updateVideo)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;const t=\"requestVideoFrameCallback\"in e;false===t&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=true)}}VideoTexture.prototype.isVideoTexture=true;class FramebufferTexture extends Texture{constructor(e,t,n){super({width:e,height:t});this.format=n;this.magFilter=de;this.minFilter=de;this.generateMipmaps=false;this.needsUpdate=true}}FramebufferTexture.prototype.isFramebufferTexture=true;class CompressedTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c,u,h){super(null,s,a,o,l,c,r,i,u,h);this.image={width:t,height:n};this.mipmaps=e;this.flipY=false;this.generateMipmaps=false}}CompressedTexture.prototype.isCompressedTexture=true;class CanvasTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l){super(e,t,n,r,i,s,a,o,l);this.needsUpdate=true}}CanvasTexture.prototype.isCanvasTexture=true;class CircleGeometry extends BufferGeometry{constructor(e=1,t=8,n=0,r=2*Math.PI){super();this.type=\"CircleGeometry\";this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r};t=Math.max(3,t);const i=[];const s=[];const a=[];const o=[];const l=new Vector3;const c=new Vector2;s.push(0,0,0);a.push(0,0,1);o.push(.5,.5);for(let i=0,u=3;i<=t;i++,u+=3){const h=n+i/t*r;l.x=e*Math.cos(h);l.y=e*Math.sin(h);s.push(l.x,l.y,l.z);a.push(0,0,1);c.x=(s[u]/e+1)/2;c.y=(s[u+1]/e+1)/2;o.push(c.x,c.y)}for(let e=1;e<=t;e++)i.push(e,e+1,0);this.setIndex(i);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"normal\",new Float32BufferAttribute(a,3));this.setAttribute(\"uv\",new Float32BufferAttribute(o,2))}static fromJSON(e){return new CircleGeometry(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class CylinderGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=8,i=1,s=false,a=0,o=2*Math.PI){super();this.type=\"CylinderGeometry\";this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:s,thetaStart:a,thetaLength:o};const l=this;r=Math.floor(r);i=Math.floor(i);const c=[];const u=[];const h=[];const d=[];let p=0;const f=[];const m=n/2;let g=0;generateTorso();if(false===s){e>0&&generateCap(true);t>0&&generateCap(false)}this.setIndex(c);this.setAttribute(\"position\",new Float32BufferAttribute(u,3));this.setAttribute(\"normal\",new Float32BufferAttribute(h,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateTorso(){const s=new Vector3;const y=new Vector3;let x=0;const b=(t-e)/n;for(let l=0;l<=i;l++){const c=[];const g=l/i;const x=g*(t-e)+e;for(let e=0;e<=r;e++){const t=e/r;const i=t*o+a;const l=Math.sin(i);const f=Math.cos(i);y.x=x*l;y.y=-g*n+m;y.z=x*f;u.push(y.x,y.y,y.z);s.set(l,b,f).normalize();h.push(s.x,s.y,s.z);d.push(t,1-g);c.push(p++)}f.push(c)}for(let e=0;e<r;e++)for(let t=0;t<i;t++){const n=f[t][e];const r=f[t+1][e];const i=f[t+1][e+1];const s=f[t][e+1];c.push(n,r,s);c.push(r,i,s);x+=6}l.addGroup(g,x,0);g+=x}function generateCap(n){const i=p;const s=new Vector2;const f=new Vector3;let y=0;const x=true===n?e:t;const b=true===n?1:-1;for(let e=1;e<=r;e++){u.push(0,m*b,0);h.push(0,b,0);d.push(.5,.5);p++}const _=p;for(let e=0;e<=r;e++){const t=e/r;const n=t*o+a;const i=Math.cos(n);const l=Math.sin(n);f.x=x*l;f.y=m*b;f.z=x*i;u.push(f.x,f.y,f.z);h.push(0,b,0);s.x=.5*i+.5;s.y=.5*l*b+.5;d.push(s.x,s.y);p++}for(let e=0;e<r;e++){const t=i+e;const r=_+e;true===n?c.push(r,r+1,t):c.push(r+1,r,t);y+=3}l.addGroup(g,y,true===n?1:2);g+=y}}static fromJSON(e){return new CylinderGeometry(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class ConeGeometry extends CylinderGeometry{constructor(e=1,t=1,n=8,r=1,i=false,s=0,a=2*Math.PI){super(0,e,t,n,r,i,s,a);this.type=\"ConeGeometry\";this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:s,thetaLength:a}}static fromJSON(e){return new ConeGeometry(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class PolyhedronGeometry extends BufferGeometry{constructor(e=[],t=[],n=1,r=0){super();this.type=\"PolyhedronGeometry\";this.parameters={vertices:e,indices:t,radius:n,detail:r};const i=[];const s=[];subdivide(r);applyRadius(n);generateUVs();this.setAttribute(\"position\",new Float32BufferAttribute(i,3));this.setAttribute(\"normal\",new Float32BufferAttribute(i.slice(),3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));0===r?this.computeVertexNormals():this.normalizeNormals();function subdivide(e){const n=new Vector3;const r=new Vector3;const i=new Vector3;for(let s=0;s<t.length;s+=3){getVertexByIndex(t[s+0],n);getVertexByIndex(t[s+1],r);getVertexByIndex(t[s+2],i);subdivideFace(n,r,i,e)}}function subdivideFace(e,t,n,r){const i=r+1;const s=[];for(let r=0;r<=i;r++){s[r]=[];const a=e.clone().lerp(n,r/i);const o=t.clone().lerp(n,r/i);const l=i-r;for(let e=0;e<=l;e++)s[r][e]=0===e&&r===i?a:a.clone().lerp(o,e/l)}for(let e=0;e<i;e++)for(let t=0;t<2*(i-e)-1;t++){const n=Math.floor(t/2);if(t%2===0){pushVertex(s[e][n+1]);pushVertex(s[e+1][n]);pushVertex(s[e][n])}else{pushVertex(s[e][n+1]);pushVertex(s[e+1][n+1]);pushVertex(s[e+1][n])}}}function applyRadius(e){const t=new Vector3;for(let n=0;n<i.length;n+=3){t.x=i[n+0];t.y=i[n+1];t.z=i[n+2];t.normalize().multiplyScalar(e);i[n+0]=t.x;i[n+1]=t.y;i[n+2]=t.z}}function generateUVs(){const e=new Vector3;for(let t=0;t<i.length;t+=3){e.x=i[t+0];e.y=i[t+1];e.z=i[t+2];const n=azimuth(e)/2/Math.PI+.5;const r=inclination(e)/Math.PI+.5;s.push(n,1-r)}correctUVs();correctSeam()}function correctSeam(){for(let e=0;e<s.length;e+=6){const t=s[e+0];const n=s[e+2];const r=s[e+4];const i=Math.max(t,n,r);const a=Math.min(t,n,r);if(i>.9&&a<.1){t<.2&&(s[e+0]+=1);n<.2&&(s[e+2]+=1);r<.2&&(s[e+4]+=1)}}}function pushVertex(e){i.push(e.x,e.y,e.z)}function getVertexByIndex(t,n){const r=3*t;n.x=e[r+0];n.y=e[r+1];n.z=e[r+2]}function correctUVs(){const e=new Vector3;const t=new Vector3;const n=new Vector3;const r=new Vector3;const a=new Vector2;const o=new Vector2;const l=new Vector2;for(let c=0,u=0;c<i.length;c+=9,u+=6){e.set(i[c+0],i[c+1],i[c+2]);t.set(i[c+3],i[c+4],i[c+5]);n.set(i[c+6],i[c+7],i[c+8]);a.set(s[u+0],s[u+1]);o.set(s[u+2],s[u+3]);l.set(s[u+4],s[u+5]);r.copy(e).add(t).add(n).divideScalar(3);const h=azimuth(r);correctUV(a,u+0,e,h);correctUV(o,u+2,t,h);correctUV(l,u+4,n,h)}}function correctUV(e,t,n,r){r<0&&1===e.x&&(s[t]=e.x-1);0===n.x&&0===n.z&&(s[t]=r/2/Math.PI+.5)}function azimuth(e){return Math.atan2(e.z,-e.x)}function inclination(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}}static fromJSON(e){return new PolyhedronGeometry(e.vertices,e.indices,e.radius,e.details)}}class DodecahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2;const r=1/n;const i=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r];const s=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(i,s,e,t);this.type=\"DodecahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new DodecahedronGeometry(e.radius,e.detail)}}const bl=new Vector3;const _l=new Vector3;const Ml=new Vector3;const wl=new Triangle;class EdgesGeometry extends BufferGeometry{constructor(e=null,t=1){super();this.type=\"EdgesGeometry\";this.parameters={geometry:e,thresholdAngle:t};if(null!==e){const n=4;const r=Math.pow(10,n);const i=Math.cos(Cn*t);const s=e.getIndex();const a=e.getAttribute(\"position\");const o=s?s.count:a.count;const l=[0,0,0];const c=[\"a\",\"b\",\"c\"];const u=new Array(3);const h={};const d=[];for(let e=0;e<o;e+=3){if(s){l[0]=s.getX(e);l[1]=s.getX(e+1);l[2]=s.getX(e+2)}else{l[0]=e;l[1]=e+1;l[2]=e+2}const{a:t,b:n,c:o}=wl;t.fromBufferAttribute(a,l[0]);n.fromBufferAttribute(a,l[1]);o.fromBufferAttribute(a,l[2]);wl.getNormal(Ml);u[0]=`${Math.round(t.x*r)},${Math.round(t.y*r)},${Math.round(t.z*r)}`;u[1]=`${Math.round(n.x*r)},${Math.round(n.y*r)},${Math.round(n.z*r)}`;u[2]=`${Math.round(o.x*r)},${Math.round(o.y*r)},${Math.round(o.z*r)}`;if(u[0]!==u[1]&&u[1]!==u[2]&&u[2]!==u[0])for(let e=0;e<3;e++){const t=(e+1)%3;const n=u[e];const r=u[t];const s=wl[c[e]];const a=wl[c[t]];const o=`${n}_${r}`;const p=`${r}_${n}`;if(p in h&&h[p]){if(Ml.dot(h[p].normal)<=i){d.push(s.x,s.y,s.z);d.push(a.x,a.y,a.z)}h[p]=null}else o in h||(h[o]={index0:l[e],index1:l[t],normal:Ml.clone()})}}for(const e in h)if(h[e]){const{index0:t,index1:n}=h[e];bl.fromBufferAttribute(a,t);_l.fromBufferAttribute(a,n);d.push(bl.x,bl.y,bl.z);d.push(_l.x,_l.y,_l.z)}this.setAttribute(\"position\",new Float32BufferAttribute(d,3))}}}class Curve{constructor(){this.type=\"Curve\";this.arcLengthDivisions=200}getPoint(){console.warn(\"THREE.Curve: .getPoint() not implemented.\");return null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=false;const t=[];let n,r=this.getPoint(0);let i=0;t.push(0);for(let s=1;s<=e;s++){n=this.getPoint(s/e);i+=n.distanceTo(r);t.push(i);r=n}this.cacheArcLengths=t;return t}updateArcLengths(){this.needsUpdate=true;this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let r=0;const i=n.length;let s;s=t||e*n[i-1];let a,o=0,l=i-1;while(o<=l){r=Math.floor(o+(l-o)/2);a=n[r]-s;if(a<0)o=r+1;else{if(!(a>0)){l=r;break}l=r-1}}r=l;if(n[r]===s)return r/(i-1);const c=n[r];const u=n[r+1];const h=u-c;const d=(s-c)/h;const p=(r+d)/(i-1);return p}getTangent(e,t){const n=1e-4;let r=e-n;let i=e+n;r<0&&(r=0);i>1&&(i=1);const s=this.getPoint(r);const a=this.getPoint(i);const o=t||(s.isVector2?new Vector2:new Vector3);o.copy(a).sub(s).normalize();return o}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new Vector3;const r=[];const i=[];const s=[];const a=new Vector3;const o=new Matrix4;for(let t=0;t<=e;t++){const n=t/e;r[t]=this.getTangentAt(n,new Vector3)}i[0]=new Vector3;s[0]=new Vector3;let l=Number.MAX_VALUE;const c=Math.abs(r[0].x);const u=Math.abs(r[0].y);const h=Math.abs(r[0].z);if(c<=l){l=c;n.set(1,0,0)}if(u<=l){l=u;n.set(0,1,0)}h<=l&&n.set(0,0,1);a.crossVectors(r[0],n).normalize();i[0].crossVectors(r[0],a);s[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){i[t]=i[t-1].clone();s[t]=s[t-1].clone();a.crossVectors(r[t-1],r[t]);if(a.length()>Number.EPSILON){a.normalize();const e=Math.acos(clamp(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(o.makeRotationAxis(a,e))}s[t].crossVectors(r[t],i[t])}if(true===t){let t=Math.acos(clamp(i[0].dot(i[e]),-1,1));t/=e;r[0].dot(a.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++){i[n].applyMatrix4(o.makeRotationAxis(r[n],t*n));s[n].crossVectors(r[n],i[n])}}return{tangents:r,normals:i,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(e){this.arcLengthDivisions=e.arcLengthDivisions;return this}toJSON(){const e={metadata:{version:4.5,type:\"Curve\",generator:\"Curve.toJSON\"}};e.arcLengthDivisions=this.arcLengthDivisions;e.type=this.type;return e}fromJSON(e){this.arcLengthDivisions=e.arcLengthDivisions;return this}}class EllipseCurve extends Curve{constructor(e=0,t=0,n=1,r=1,i=0,s=2*Math.PI,a=false,o=0){super();this.type=\"EllipseCurve\";this.aX=e;this.aY=t;this.xRadius=n;this.yRadius=r;this.aStartAngle=i;this.aEndAngle=s;this.aClockwise=a;this.aRotation=o}getPoint(e,t){const n=t||new Vector2;const r=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const s=Math.abs(i)<Number.EPSILON;while(i<0)i+=r;while(i>r)i-=r;i<Number.EPSILON&&(i=s?0:r);true!==this.aClockwise||s||(i===r?i=-r:i-=r);const a=this.aStartAngle+e*i;let o=this.aX+this.xRadius*Math.cos(a);let l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const e=Math.cos(this.aRotation);const t=Math.sin(this.aRotation);const n=o-this.aX;const r=l-this.aY;o=n*e-r*t+this.aX;l=n*t+r*e+this.aY}return n.set(o,l)}copy(e){super.copy(e);this.aX=e.aX;this.aY=e.aY;this.xRadius=e.xRadius;this.yRadius=e.yRadius;this.aStartAngle=e.aStartAngle;this.aEndAngle=e.aEndAngle;this.aClockwise=e.aClockwise;this.aRotation=e.aRotation;return this}toJSON(){const e=super.toJSON();e.aX=this.aX;e.aY=this.aY;e.xRadius=this.xRadius;e.yRadius=this.yRadius;e.aStartAngle=this.aStartAngle;e.aEndAngle=this.aEndAngle;e.aClockwise=this.aClockwise;e.aRotation=this.aRotation;return e}fromJSON(e){super.fromJSON(e);this.aX=e.aX;this.aY=e.aY;this.xRadius=e.xRadius;this.yRadius=e.yRadius;this.aStartAngle=e.aStartAngle;this.aEndAngle=e.aEndAngle;this.aClockwise=e.aClockwise;this.aRotation=e.aRotation;return this}}EllipseCurve.prototype.isEllipseCurve=true;class ArcCurve extends EllipseCurve{constructor(e,t,n,r,i,s){super(e,t,n,n,r,i,s);this.type=\"ArcCurve\"}}ArcCurve.prototype.isArcCurve=true;function CubicPoly(){let e=0,t=0,n=0,r=0;function init(i,s,a,o){e=i;t=a;n=-3*i+3*s-2*a-o;r=2*i-2*s+a+o}return{initCatmullRom:function(e,t,n,r,i){init(t,n,i*(n-e),i*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,i,s,a){let o=(t-e)/i-(n-e)/(i+s)+(n-t)/s;let l=(n-t)/s-(r-t)/(s+a)+(r-n)/a;o*=s;l*=s;init(t,n,o,l)},calc:function(i){const s=i*i;const a=s*i;return e+t*i+n*s+r*a}}}const Sl=new Vector3;const Tl=new CubicPoly,El=new CubicPoly,Al=new CubicPoly;class CatmullRomCurve3 extends Curve{constructor(e=[],t=false,n=\"centripetal\",r=.5){super();this.type=\"CatmullRomCurve3\";this.points=e;this.closed=t;this.curveType=n;this.tension=r}getPoint(e,t=new Vector3){const n=t;const r=this.points;const i=r.length;const s=(i-(this.closed?0:1))*e;let a=Math.floor(s);let o=s-a;if(this.closed)a+=a>0?0:(Math.floor(Math.abs(a)/i)+1)*i;else if(0===o&&a===i-1){a=i-2;o=1}let l,c;if(this.closed||a>0)l=r[(a-1)%i];else{Sl.subVectors(r[0],r[1]).add(r[0]);l=Sl}const u=r[a%i];const h=r[(a+1)%i];if(this.closed||a+2<i)c=r[(a+2)%i];else{Sl.subVectors(r[i-1],r[i-2]).add(r[i-1]);c=Sl}if(\"centripetal\"===this.curveType||\"chordal\"===this.curveType){const e=\"chordal\"===this.curveType?.5:.25;let t=Math.pow(l.distanceToSquared(u),e);let n=Math.pow(u.distanceToSquared(h),e);let r=Math.pow(h.distanceToSquared(c),e);n<1e-4&&(n=1);t<1e-4&&(t=n);r<1e-4&&(r=n);Tl.initNonuniformCatmullRom(l.x,u.x,h.x,c.x,t,n,r);El.initNonuniformCatmullRom(l.y,u.y,h.y,c.y,t,n,r);Al.initNonuniformCatmullRom(l.z,u.z,h.z,c.z,t,n,r)}else if(\"catmullrom\"===this.curveType){Tl.initCatmullRom(l.x,u.x,h.x,c.x,this.tension);El.initCatmullRom(l.y,u.y,h.y,c.y,this.tension);Al.initCatmullRom(l.z,u.z,h.z,c.z,this.tension)}n.set(Tl.calc(o),El.calc(o),Al.calc(o));return n}copy(e){super.copy(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}this.closed=e.closed;this.curveType=e.curveType;this.tension=e.tension;return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}e.closed=this.closed;e.curveType=this.curveType;e.tension=this.tension;return e}fromJSON(e){super.fromJSON(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Vector3).fromArray(n))}this.closed=e.closed;this.curveType=e.curveType;this.tension=e.tension;return this}}CatmullRomCurve3.prototype.isCatmullRomCurve3=true;function CatmullRom(e,t,n,r,i){const s=.5*(r-t);const a=.5*(i-n);const o=e*e;const l=e*o;return(2*n-2*r+s+a)*l+(-3*n+3*r-2*s-a)*o+s*e+n}function QuadraticBezierP0(e,t){const n=1-e;return n*n*t}function QuadraticBezierP1(e,t){return 2*(1-e)*e*t}function QuadraticBezierP2(e,t){return e*e*t}function QuadraticBezier(e,t,n,r){return QuadraticBezierP0(e,t)+QuadraticBezierP1(e,n)+QuadraticBezierP2(e,r)}function CubicBezierP0(e,t){const n=1-e;return n*n*n*t}function CubicBezierP1(e,t){const n=1-e;return 3*n*n*e*t}function CubicBezierP2(e,t){return 3*(1-e)*e*e*t}function CubicBezierP3(e,t){return e*e*e*t}function CubicBezier(e,t,n,r,i){return CubicBezierP0(e,t)+CubicBezierP1(e,n)+CubicBezierP2(e,r)+CubicBezierP3(e,i)}class CubicBezierCurve extends Curve{constructor(e=new Vector2,t=new Vector2,n=new Vector2,r=new Vector2){super();this.type=\"CubicBezierCurve\";this.v0=e;this.v1=t;this.v2=n;this.v3=r}getPoint(e,t=new Vector2){const n=t;const r=this.v0,i=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(e,r.x,i.x,s.x,a.x),CubicBezier(e,r.y,i.y,s.y,a.y));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);this.v3.copy(e.v3);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();e.v3=this.v3.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);this.v3.fromArray(e.v3);return this}}CubicBezierCurve.prototype.isCubicBezierCurve=true;class CubicBezierCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3,n=new Vector3,r=new Vector3){super();this.type=\"CubicBezierCurve3\";this.v0=e;this.v1=t;this.v2=n;this.v3=r}getPoint(e,t=new Vector3){const n=t;const r=this.v0,i=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(e,r.x,i.x,s.x,a.x),CubicBezier(e,r.y,i.y,s.y,a.y),CubicBezier(e,r.z,i.z,s.z,a.z));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);this.v3.copy(e.v3);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();e.v3=this.v3.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);this.v3.fromArray(e.v3);return this}}CubicBezierCurve3.prototype.isCubicBezierCurve3=true;class LineCurve extends Curve{constructor(e=new Vector2,t=new Vector2){super();this.type=\"LineCurve\";this.v1=e;this.v2=t}getPoint(e,t=new Vector2){const n=t;if(1===e)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(e).add(this.v1)}return n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){const n=t||new Vector2;n.copy(this.v2).sub(this.v1).normalize();return n}copy(e){super.copy(e);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}LineCurve.prototype.isLineCurve=true;class LineCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3){super();this.type=\"LineCurve3\";this.isLineCurve3=true;this.v1=e;this.v2=t}getPoint(e,t=new Vector3){const n=t;if(1===e)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(e).add(this.v1)}return n}getPointAt(e,t){return this.getPoint(e,t)}copy(e){super.copy(e);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}class QuadraticBezierCurve extends Curve{constructor(e=new Vector2,t=new Vector2,n=new Vector2){super();this.type=\"QuadraticBezierCurve\";this.v0=e;this.v1=t;this.v2=n}getPoint(e,t=new Vector2){const n=t;const r=this.v0,i=this.v1,s=this.v2;n.set(QuadraticBezier(e,r.x,i.x,s.x),QuadraticBezier(e,r.y,i.y,s.y));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}QuadraticBezierCurve.prototype.isQuadraticBezierCurve=true;class QuadraticBezierCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3,n=new Vector3){super();this.type=\"QuadraticBezierCurve3\";this.v0=e;this.v1=t;this.v2=n}getPoint(e,t=new Vector3){const n=t;const r=this.v0,i=this.v1,s=this.v2;n.set(QuadraticBezier(e,r.x,i.x,s.x),QuadraticBezier(e,r.y,i.y,s.y),QuadraticBezier(e,r.z,i.z,s.z));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}QuadraticBezierCurve3.prototype.isQuadraticBezierCurve3=true;class SplineCurve extends Curve{constructor(e=[]){super();this.type=\"SplineCurve\";this.points=e}getPoint(e,t=new Vector2){const n=t;const r=this.points;const i=(r.length-1)*e;const s=Math.floor(i);const a=i-s;const o=r[0===s?s:s-1];const l=r[s];const c=r[s>r.length-2?r.length-1:s+1];const u=r[s>r.length-3?r.length-1:s+2];n.set(CatmullRom(a,o.x,l.x,c.x,u.x),CatmullRom(a,o.y,l.y,c.y,u.y));return n}copy(e){super.copy(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Vector2).fromArray(n))}return this}}SplineCurve.prototype.isSplineCurve=true;var Ll=Object.freeze({__proto__:null,ArcCurve:ArcCurve,CatmullRomCurve3:CatmullRomCurve3,CubicBezierCurve:CubicBezierCurve,CubicBezierCurve3:CubicBezierCurve3,EllipseCurve:EllipseCurve,LineCurve:LineCurve,LineCurve3:LineCurve3,QuadraticBezierCurve:QuadraticBezierCurve,QuadraticBezierCurve3:QuadraticBezierCurve3,SplineCurve:SplineCurve});class CurvePath extends Curve{constructor(){super();this.type=\"CurvePath\";this.curves=[];this.autoClose=false}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0);const t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new LineCurve(t,e))}getPoint(e,t){const n=e*this.getLength();const r=this.getCurveLengths();let i=0;while(i<r.length){if(r[i]>=n){const e=r[i]-n;const s=this.curves[i];const a=s.getLength();const o=0===a?0:1-e/a;return s.getPointAt(o,t)}i++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=true;this.cacheLengths=null;this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n<r;n++){t+=this.curves[n].getLength();e.push(t)}this.cacheLengths=e;return e}getSpacedPoints(e=40){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));this.autoClose&&t.push(t[0]);return t}getPoints(e=12){const t=[];let n;for(let r=0,i=this.curves;r<i.length;r++){const s=i[r];const a=s&&s.isEllipseCurve?2*e:s&&(s.isLineCurve||s.isLineCurve3)?1:s&&s.isSplineCurve?e*s.points.length:e;const o=s.getPoints(a);for(let e=0;e<o.length;e++){const r=o[e];if(!n||!n.equals(r)){t.push(r);n=r}}}this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]);return t}copy(e){super.copy(e);this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push(n.clone())}this.autoClose=e.autoClose;return this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose;e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){const n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e);this.autoClose=e.autoClose;this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push((new Ll[n.type]).fromJSON(n))}return this}}class Path extends CurvePath{constructor(e){super();this.type=\"Path\";this.currentPoint=new Vector2;e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){this.currentPoint.set(e,t);return this}lineTo(e,t){const n=new LineCurve(this.currentPoint.clone(),new Vector2(e,t));this.curves.push(n);this.currentPoint.set(e,t);return this}quadraticCurveTo(e,t,n,r){const i=new QuadraticBezierCurve(this.currentPoint.clone(),new Vector2(e,t),new Vector2(n,r));this.curves.push(i);this.currentPoint.set(n,r);return this}bezierCurveTo(e,t,n,r,i,s){const a=new CubicBezierCurve(this.currentPoint.clone(),new Vector2(e,t),new Vector2(n,r),new Vector2(i,s));this.curves.push(a);this.currentPoint.set(i,s);return this}splineThru(e){const t=[this.currentPoint.clone()].concat(e);const n=new SplineCurve(t);this.curves.push(n);this.currentPoint.copy(e[e.length-1]);return this}arc(e,t,n,r,i,s){const a=this.currentPoint.x;const o=this.currentPoint.y;this.absarc(e+a,t+o,n,r,i,s);return this}absarc(e,t,n,r,i,s){this.absellipse(e,t,n,n,r,i,s);return this}ellipse(e,t,n,r,i,s,a,o){const l=this.currentPoint.x;const c=this.currentPoint.y;this.absellipse(e+l,t+c,n,r,i,s,a,o);return this}absellipse(e,t,n,r,i,s,a,o){const l=new EllipseCurve(e,t,n,r,i,s,a,o);if(this.curves.length>0){const e=l.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(l);const c=l.getPoint(1);this.currentPoint.copy(c);return this}copy(e){super.copy(e);this.currentPoint.copy(e.currentPoint);return this}toJSON(){const e=super.toJSON();e.currentPoint=this.currentPoint.toArray();return e}fromJSON(e){super.fromJSON(e);this.currentPoint.fromArray(e.currentPoint);return this}}class Shape extends Path{constructor(e){super(e);this.uuid=generateUUID();this.type=\"Shape\";this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e);this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid;e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){const n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e);this.uuid=e.uuid;this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push((new Path).fromJSON(n))}return this}}const Cl={triangulate:function(e,t,n=2){const r=t&&t.length;const i=r?t[0]*n:e.length;let s=linkedList(e,0,i,n,true);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,u,h,d,p;r&&(s=eliminateHoles(e,t,s,n));if(e.length>80*n){o=c=e[0];l=u=e[1];for(let t=n;t<i;t+=n){h=e[t];d=e[t+1];h<o&&(o=h);d<l&&(l=d);h>c&&(c=h);d>u&&(u=d)}p=Math.max(c-o,u-l);p=0!==p?1/p:0}earcutLinked(s,a,n,o,l,p);return a}};function linkedList(e,t,n,r,i){let s,a;if(i===signedArea(e,t,n,r)>0)for(s=t;s<n;s+=r)a=insertNode(s,e[s],e[s+1],a);else for(s=n-r;s>=t;s-=r)a=insertNode(s,e[s],e[s+1],a);if(a&&equals(a,a.next)){removeNode(a);a=a.next}return a}function filterPoints(e,t){if(!e)return e;t||(t=e);let n,r=e;do{n=false;if(r.steiner||!equals(r,r.next)&&0!==area(r.prev,r,r.next))r=r.next;else{removeNode(r);r=t=r.prev;if(r===r.next)break;n=true}}while(n||r!==t);return t}function earcutLinked(e,t,n,r,i,s,a){if(!e)return;!a&&s&&indexCurve(e,r,i,s);let o,l,c=e;while(e.prev!==e.next){o=e.prev;l=e.next;if(s?isEarHashed(e,r,i,s):isEar(e)){t.push(o.i/n);t.push(e.i/n);t.push(l.i/n);removeNode(e);e=l.next;c=l.next}else{e=l;if(e===c){if(a)if(1===a){e=cureLocalIntersections(filterPoints(e),t,n);earcutLinked(e,t,n,r,i,s,2)}else 2===a&&splitEarcut(e,t,n,r,i,s);else earcutLinked(filterPoints(e),t,n,r,i,s,1);break}}}}function isEar(e){const t=e.prev,n=e,r=e.next;if(area(t,n,r)>=0)return false;let i=e.next.next;while(i!==e.prev){if(pointInTriangle(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return false;i=i.next}return true}function isEarHashed(e,t,n,r){const i=e.prev,s=e,a=e.next;if(area(i,s,a)>=0)return false;const o=i.x<s.x?i.x<a.x?i.x:a.x:s.x<a.x?s.x:a.x,l=i.y<s.y?i.y<a.y?i.y:a.y:s.y<a.y?s.y:a.y,c=i.x>s.x?i.x>a.x?i.x:a.x:s.x>a.x?s.x:a.x,u=i.y>s.y?i.y>a.y?i.y:a.y:s.y>a.y?s.y:a.y;const h=zOrder(o,l,t,n,r),d=zOrder(c,u,t,n,r);let p=e.prevZ,f=e.nextZ;while(p&&p.z>=h&&f&&f.z<=d){if(p!==e.prev&&p!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ;if(f!==e.prev&&f!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.nextZ}while(p&&p.z>=h){if(p!==e.prev&&p!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ}while(f&&f.z<=d){if(f!==e.prev&&f!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.nextZ}return true}function cureLocalIntersections(e,t,n){let r=e;do{const i=r.prev,s=r.next.next;if(!equals(i,s)&&intersects(i,r,r.next,s)&&locallyInside(i,s)&&locallyInside(s,i)){t.push(i.i/n);t.push(r.i/n);t.push(s.i/n);removeNode(r);removeNode(r.next);r=e=s}r=r.next}while(r!==e);return filterPoints(r)}function splitEarcut(e,t,n,r,i,s){let a=e;do{let e=a.next.next;while(e!==a.prev){if(a.i!==e.i&&isValidDiagonal(a,e)){let o=splitPolygon(a,e);a=filterPoints(a,a.next);o=filterPoints(o,o.next);earcutLinked(a,t,n,r,i,s);earcutLinked(o,t,n,r,i,s);return}e=e.next}a=a.next}while(a!==e)}function eliminateHoles(e,t,n,r){const i=[];let s,a,o,l,c;for(s=0,a=t.length;s<a;s++){o=t[s]*r;l=s<a-1?t[s+1]*r:e.length;c=linkedList(e,o,l,r,false);c===c.next&&(c.steiner=true);i.push(getLeftmost(c))}i.sort(compareX);for(s=0;s<i.length;s++){eliminateHole(i[s],n);n=filterPoints(n,n.next)}return n}function compareX(e,t){return e.x-t.x}function eliminateHole(e,t){t=findHoleBridge(e,t);if(t){const n=splitPolygon(t,e);filterPoints(t,t.next);filterPoints(n,n.next)}}function findHoleBridge(e,t){let n=t;const r=e.x;const i=e.y;let s,a=-Infinity;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){const e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a){a=e;if(e===r){if(i===n.y)return n;if(i===n.next.y)return n.next}s=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!s)return null;if(r===a)return s;const o=s,l=s.x,c=s.y;let u,h=Infinity;n=s;do{if(r>=n.x&&n.x>=l&&r!==n.x&&pointInTriangle(i<c?r:a,i,l,c,i<c?a:r,i,n.x,n.y)){u=Math.abs(i-n.y)/(r-n.x);if(locallyInside(n,e)&&(u<h||u===h&&(n.x>s.x||n.x===s.x&&sectorContainsSector(s,n)))){s=n;h=u}}n=n.next}while(n!==o);return s}function sectorContainsSector(e,t){return area(e.prev,e,t.prev)<0&&area(t.next,e,e.next)<0}function indexCurve(e,t,n,r){let i=e;do{null===i.z&&(i.z=zOrder(i.x,i.y,t,n,r));i.prevZ=i.prev;i.nextZ=i.next;i=i.next}while(i!==e);i.prevZ.nextZ=null;i.prevZ=null;sortLinked(i)}function sortLinked(e){let t,n,r,i,s,a,o,l,c=1;do{n=e;e=null;s=null;a=0;while(n){a++;r=n;o=0;for(t=0;t<c;t++){o++;r=r.nextZ;if(!r)break}l=c;while(o>0||l>0&&r){if(0!==o&&(0===l||!r||n.z<=r.z)){i=n;n=n.nextZ;o--}else{i=r;r=r.nextZ;l--}s?s.nextZ=i:e=i;i.prevZ=s;s=i}n=r}s.nextZ=null;c*=2}while(a>1);return e}function zOrder(e,t,n,r,i){e=32767*(e-n)*i;t=32767*(t-r)*i;e=16711935&(e|e<<8);e=252645135&(e|e<<4);e=858993459&(e|e<<2);e=1431655765&(e|e<<1);t=16711935&(t|t<<8);t=252645135&(t|t<<4);t=858993459&(t|t<<2);t=1431655765&(t|t<<1);return e|t<<1}function getLeftmost(e){let t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t);t=t.next}while(t!==e);return n}function pointInTriangle(e,t,n,r,i,s,a,o){return(i-a)*(t-o)-(e-a)*(s-o)>=0&&(e-a)*(r-o)-(n-a)*(t-o)>=0&&(n-a)*(s-o)-(i-a)*(r-o)>=0}function isValidDiagonal(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!intersectsPolygon(e,t)&&(locallyInside(e,t)&&locallyInside(t,e)&&middleInside(e,t)&&(area(e.prev,e,t.prev)||area(e,t.prev,t))||equals(e,t)&&area(e.prev,e,e.next)>0&&area(t.prev,t,t.next)>0)}function area(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function equals(e,t){return e.x===t.x&&e.y===t.y}function intersects(e,t,n,r){const i=sign(area(e,t,n));const s=sign(area(e,t,r));const a=sign(area(n,r,e));const o=sign(area(n,r,t));return i!==s&&a!==o||(!(0!==i||!onSegment(e,n,t))||(!(0!==s||!onSegment(e,r,t))||(!(0!==a||!onSegment(n,e,r))||!(0!==o||!onSegment(n,t,r)))))}function onSegment(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function sign(e){return e>0?1:e<0?-1:0}function intersectsPolygon(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&intersects(n,n.next,e,t))return true;n=n.next}while(n!==e);return false}function locallyInside(e,t){return area(e.prev,e,e.next)<0?area(e,t,e.next)>=0&&area(e,e.prev,t)>=0:area(e,t,e.prev)<0||area(e,e.next,t)<0}function middleInside(e,t){let n=e,r=false;const i=(e.x+t.x)/2,s=(e.y+t.y)/2;do{n.y>s!==n.next.y>s&&n.next.y!==n.y&&i<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(r=!r);n=n.next}while(n!==e);return r}function splitPolygon(e,t){const n=new Node(e.i,e.x,e.y),r=new Node(t.i,t.x,t.y),i=e.next,s=t.prev;e.next=t;t.prev=e;n.next=i;i.prev=n;r.next=n;n.prev=r;s.next=r;r.prev=s;return r}function insertNode(e,t,n,r){const i=new Node(e,t,n);if(r){i.next=r.next;i.prev=r;r.next.prev=i;r.next=i}else{i.prev=i;i.next=i}return i}function removeNode(e){e.next.prev=e.prev;e.prev.next=e.next;e.prevZ&&(e.prevZ.nextZ=e.nextZ);e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,t,n){this.i=e;this.x=t;this.y=n;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=false}function signedArea(e,t,n,r){let i=0;for(let s=t,a=n-r;s<n;s+=r){i+=(e[a]-e[s])*(e[s+1]+e[a+1]);a=s}return i}class ShapeUtils{static area(e){const t=e.length;let n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n}static isClockWise(e){return ShapeUtils.area(e)<0}static triangulateShape(e,t){const n=[];const r=[];const i=[];removeDupEndPts(e);addContour(n,e);let s=e.length;t.forEach(removeDupEndPts);for(let e=0;e<t.length;e++){r.push(s);s+=t[e].length;addContour(n,t[e])}const a=Cl.triangulate(n,r);for(let e=0;e<a.length;e+=3)i.push(a.slice(e,e+3));return i}}function removeDupEndPts(e){const t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function addContour(e,t){for(let n=0;n<t.length;n++){e.push(t[n].x);e.push(t[n].y)}}class ExtrudeGeometry extends BufferGeometry{constructor(e=new Shape([new Vector2(.5,.5),new Vector2(-.5,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),t={}){super();this.type=\"ExtrudeGeometry\";this.parameters={shapes:e,options:t};e=Array.isArray(e)?e:[e];const n=this;const r=[];const i=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];addShape(n)}this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"uv\",new Float32BufferAttribute(i,2));this.computeVertexNormals();function addShape(e){const s=[];const a=void 0!==t.curveSegments?t.curveSegments:12;const o=void 0!==t.steps?t.steps:1;let l=void 0!==t.depth?t.depth:1;let c=void 0===t.bevelEnabled||t.bevelEnabled;let u=void 0!==t.bevelThickness?t.bevelThickness:.2;let h=void 0!==t.bevelSize?t.bevelSize:u-.1;let d=void 0!==t.bevelOffset?t.bevelOffset:0;let p=void 0!==t.bevelSegments?t.bevelSegments:3;const f=t.extrudePath;const m=void 0!==t.UVGenerator?t.UVGenerator:Rl;if(void 0!==t.amount){console.warn(\"THREE.ExtrudeBufferGeometry: amount has been renamed to depth.\");l=t.amount}let g,y=false;let x,b,_,M;if(f){g=f.getSpacedPoints(o);y=true;c=false;x=f.computeFrenetFrames(o,false);b=new Vector3;_=new Vector3;M=new Vector3}if(!c){p=0;u=0;h=0;d=0}const w=e.extractPoints(a);let S=w.shape;const T=w.holes;const E=!ShapeUtils.isClockWise(S);if(E){S=S.reverse();for(let e=0,t=T.length;e<t;e++){const t=T[e];ShapeUtils.isClockWise(t)&&(T[e]=t.reverse())}}const A=ShapeUtils.triangulateShape(S,T);const L=S;for(let e=0,t=T.length;e<t;e++){const t=T[e];S=S.concat(t)}function scalePt2(e,t,n){t||console.error(\"THREE.ExtrudeGeometry: vec does not exist\");return t.clone().multiplyScalar(n).add(e)}const C=S.length,R=A.length;function getBevelVec(e,t,n){let r,i,s;const a=e.x-t.x,o=e.y-t.y;const l=n.x-e.x,c=n.y-e.y;const u=a*a+o*o;const h=a*c-o*l;if(Math.abs(h)>Number.EPSILON){const h=Math.sqrt(u);const d=Math.sqrt(l*l+c*c);const p=t.x-o/h;const f=t.y+a/h;const m=n.x-c/d;const g=n.y+l/d;const y=((m-p)*c-(g-f)*l)/(a*c-o*l);r=p+a*y-e.x;i=f+o*y-e.y;const x=r*r+i*i;if(x<=2)return new Vector2(r,i);s=Math.sqrt(x/2)}else{let e=false;a>Number.EPSILON?l>Number.EPSILON&&(e=true):a<-Number.EPSILON?l<-Number.EPSILON&&(e=true):Math.sign(o)===Math.sign(c)&&(e=true);if(e){r=-o;i=a;s=Math.sqrt(u)}else{r=a;i=o;s=Math.sqrt(u/2)}}return new Vector2(r/s,i/s)}const P=[];for(let e=0,t=L.length,n=t-1,r=e+1;e<t;e++,n++,r++){n===t&&(n=0);r===t&&(r=0);P[e]=getBevelVec(L[e],L[n],L[r])}const I=[];let D,B=P.concat();for(let e=0,t=T.length;e<t;e++){const t=T[e];D=[];for(let e=0,n=t.length,r=n-1,i=e+1;e<n;e++,r++,i++){r===n&&(r=0);i===n&&(i=0);D[e]=getBevelVec(t[e],t[r],t[i])}I.push(D);B=B.concat(D)}for(let e=0;e<p;e++){const t=e/p;const n=u*Math.cos(t*Math.PI/2);const r=h*Math.sin(t*Math.PI/2)+d;for(let e=0,t=L.length;e<t;e++){const t=scalePt2(L[e],P[e],r);v(t.x,t.y,-n)}for(let e=0,t=T.length;e<t;e++){const t=T[e];D=I[e];for(let e=0,i=t.length;e<i;e++){const i=scalePt2(t[e],D[e],r);v(i.x,i.y,-n)}}}const V=h+d;for(let e=0;e<C;e++){const t=c?scalePt2(S[e],B[e],V):S[e];if(y){_.copy(x.normals[0]).multiplyScalar(t.x);b.copy(x.binormals[0]).multiplyScalar(t.y);M.copy(g[0]).add(_).add(b);v(M.x,M.y,M.z)}else v(t.x,t.y,0)}for(let e=1;e<=o;e++)for(let t=0;t<C;t++){const n=c?scalePt2(S[t],B[t],V):S[t];if(y){_.copy(x.normals[e]).multiplyScalar(n.x);b.copy(x.binormals[e]).multiplyScalar(n.y);M.copy(g[e]).add(_).add(b);v(M.x,M.y,M.z)}else v(n.x,n.y,l/o*e)}for(let e=p-1;e>=0;e--){const t=e/p;const n=u*Math.cos(t*Math.PI/2);const r=h*Math.sin(t*Math.PI/2)+d;for(let e=0,t=L.length;e<t;e++){const t=scalePt2(L[e],P[e],r);v(t.x,t.y,l+n)}for(let e=0,t=T.length;e<t;e++){const t=T[e];D=I[e];for(let e=0,i=t.length;e<i;e++){const i=scalePt2(t[e],D[e],r);y?v(i.x,i.y+g[o-1].y,g[o-1].x+n):v(i.x,i.y,l+n)}}}buildLidFaces();buildSideFaces();function buildLidFaces(){const e=r.length/3;if(c){let e=0;let t=C*e;for(let e=0;e<R;e++){const n=A[e];f3(n[2]+t,n[1]+t,n[0]+t)}e=o+2*p;t=C*e;for(let e=0;e<R;e++){const n=A[e];f3(n[0]+t,n[1]+t,n[2]+t)}}else{for(let e=0;e<R;e++){const t=A[e];f3(t[2],t[1],t[0])}for(let e=0;e<R;e++){const t=A[e];f3(t[0]+C*o,t[1]+C*o,t[2]+C*o)}}n.addGroup(e,r.length/3-e,0)}function buildSideFaces(){const e=r.length/3;let t=0;sidewalls(L,t);t+=L.length;for(let e=0,n=T.length;e<n;e++){const n=T[e];sidewalls(n,t);t+=n.length}n.addGroup(e,r.length/3-e,1)}function sidewalls(e,t){let n=e.length;while(--n>=0){const r=n;let i=n-1;i<0&&(i=e.length-1);for(let e=0,n=o+2*p;e<n;e++){const n=C*e;const s=C*(e+1);const a=t+r+n,o=t+i+n,l=t+i+s,c=t+r+s;f4(a,o,l,c)}}}function v(e,t,n){s.push(e);s.push(t);s.push(n)}function f3(e,t,i){addVertex(e);addVertex(t);addVertex(i);const s=r.length/3;const a=m.generateTopUV(n,r,s-3,s-2,s-1);addUV(a[0]);addUV(a[1]);addUV(a[2])}function f4(e,t,i,s){addVertex(e);addVertex(t);addVertex(s);addVertex(t);addVertex(i);addVertex(s);const a=r.length/3;const o=m.generateSideWallUV(n,r,a-6,a-3,a-2,a-1);addUV(o[0]);addUV(o[1]);addUV(o[3]);addUV(o[1]);addUV(o[2]);addUV(o[3])}function addVertex(e){r.push(s[3*e+0]);r.push(s[3*e+1]);r.push(s[3*e+2])}function addUV(e){i.push(e.x);i.push(e.y)}}}toJSON(){const e=super.toJSON();const t=this.parameters.shapes;const n=this.parameters.options;return toJSON$1(t,n,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}const r=e.options.extrudePath;void 0!==r&&(e.options.extrudePath=(new Ll[r.type]).fromJSON(r));return new ExtrudeGeometry(n,e.options)}}const Rl={generateTopUV:function(e,t,n,r,i){const s=t[3*n];const a=t[3*n+1];const o=t[3*r];const l=t[3*r+1];const c=t[3*i];const u=t[3*i+1];return[new Vector2(s,a),new Vector2(o,l),new Vector2(c,u)]},generateSideWallUV:function(e,t,n,r,i,s){const a=t[3*n];const o=t[3*n+1];const l=t[3*n+2];const c=t[3*r];const u=t[3*r+1];const h=t[3*r+2];const d=t[3*i];const p=t[3*i+1];const f=t[3*i+2];const m=t[3*s];const g=t[3*s+1];const y=t[3*s+2];return Math.abs(o-u)<Math.abs(a-c)?[new Vector2(a,1-l),new Vector2(c,1-h),new Vector2(d,1-f),new Vector2(m,1-y)]:[new Vector2(o,1-l),new Vector2(u,1-h),new Vector2(p,1-f),new Vector2(g,1-y)]}};function toJSON$1(e,t,n){n.shapes=[];if(Array.isArray(e))for(let t=0,r=e.length;t<r;t++){const r=e[t];n.shapes.push(r.uuid)}else n.shapes.push(e.uuid);void 0!==t.extrudePath&&(n.options.extrudePath=t.extrudePath.toJSON());return n}class IcosahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2;const r=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1];const i=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(r,i,e,t);this.type=\"IcosahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new IcosahedronGeometry(e.radius,e.detail)}}class LatheGeometry extends BufferGeometry{constructor(e=[new Vector2(0,.5),new Vector2(.5,0),new Vector2(0,-.5)],t=12,n=0,r=2*Math.PI){super();this.type=\"LatheGeometry\";this.parameters={points:e,segments:t,phiStart:n,phiLength:r};t=Math.floor(t);r=clamp(r,0,2*Math.PI);const i=[];const s=[];const a=[];const o=[];const l=[];const c=1/t;const u=new Vector3;const h=new Vector2;const d=new Vector3;const p=new Vector3;const f=new Vector3;let m=0;let g=0;for(let t=0;t<=e.length-1;t++)switch(t){case 0:m=e[t+1].x-e[t].x;g=e[t+1].y-e[t].y;d.x=1*g;d.y=-m;d.z=0*g;f.copy(d);d.normalize();o.push(d.x,d.y,d.z);break;case e.length-1:o.push(f.x,f.y,f.z);break;default:m=e[t+1].x-e[t].x;g=e[t+1].y-e[t].y;d.x=1*g;d.y=-m;d.z=0*g;p.copy(d);d.x+=f.x;d.y+=f.y;d.z+=f.z;d.normalize();o.push(d.x,d.y,d.z);f.copy(p)}for(let i=0;i<=t;i++){const d=n+i*c*r;const p=Math.sin(d);const f=Math.cos(d);for(let n=0;n<=e.length-1;n++){u.x=e[n].x*p;u.y=e[n].y;u.z=e[n].x*f;s.push(u.x,u.y,u.z);h.x=i/t;h.y=n/(e.length-1);a.push(h.x,h.y);const r=o[3*n+0]*p;const c=o[3*n+1];const d=o[3*n+0]*f;l.push(r,c,d)}}for(let n=0;n<t;n++)for(let t=0;t<e.length-1;t++){const r=t+n*e.length;const s=r;const a=r+e.length;const o=r+e.length+1;const l=r+1;i.push(s,a,l);i.push(a,o,l)}this.setIndex(i);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"uv\",new Float32BufferAttribute(a,2));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3))}static fromJSON(e){return new LatheGeometry(e.points,e.segments,e.phiStart,e.phiLength)}}class OctahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1];const r=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(n,r,e,t);this.type=\"OctahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new OctahedronGeometry(e.radius,e.detail)}}class RingGeometry extends BufferGeometry{constructor(e=.5,t=1,n=8,r=1,i=0,s=2*Math.PI){super();this.type=\"RingGeometry\";this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:s};n=Math.max(3,n);r=Math.max(1,r);const a=[];const o=[];const l=[];const c=[];let u=e;const h=(t-e)/r;const d=new Vector3;const p=new Vector2;for(let e=0;e<=r;e++){for(let e=0;e<=n;e++){const r=i+e/n*s;d.x=u*Math.cos(r);d.y=u*Math.sin(r);o.push(d.x,d.y,d.z);l.push(0,0,1);p.x=(d.x/t+1)/2;p.y=(d.y/t+1)/2;c.push(p.x,p.y)}u+=h}for(let e=0;e<r;e++){const t=e*(n+1);for(let e=0;e<n;e++){const r=e+t;const i=r;const s=r+n+1;const o=r+n+2;const l=r+1;a.push(i,s,l);a.push(s,o,l)}}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2))}static fromJSON(e){return new RingGeometry(e.innerRadius,e.outerRadius,e.thetaSegments,e.phiSegments,e.thetaStart,e.thetaLength)}}class ShapeGeometry extends BufferGeometry{constructor(e=new Shape([new Vector2(0,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),t=12){super();this.type=\"ShapeGeometry\";this.parameters={shapes:e,curveSegments:t};const n=[];const r=[];const i=[];const s=[];let a=0;let o=0;if(false===Array.isArray(e))addShape(e);else for(let t=0;t<e.length;t++){addShape(e[t]);this.addGroup(a,o,t);a+=o;o=0}this.setIndex(n);this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"normal\",new Float32BufferAttribute(i,3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));function addShape(e){const a=r.length/3;const l=e.extractPoints(t);let c=l.shape;const u=l.holes;false===ShapeUtils.isClockWise(c)&&(c=c.reverse());for(let e=0,t=u.length;e<t;e++){const t=u[e];true===ShapeUtils.isClockWise(t)&&(u[e]=t.reverse())}const h=ShapeUtils.triangulateShape(c,u);for(let e=0,t=u.length;e<t;e++){const t=u[e];c=c.concat(t)}for(let e=0,t=c.length;e<t;e++){const t=c[e];r.push(t.x,t.y,0);i.push(0,0,1);s.push(t.x,t.y)}for(let e=0,t=h.length;e<t;e++){const t=h[e];const r=t[0]+a;const i=t[1]+a;const s=t[2]+a;n.push(r,i,s);o+=3}}}toJSON(){const e=super.toJSON();const t=this.parameters.shapes;return toJSON(t,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}return new ShapeGeometry(n,e.curveSegments)}}function toJSON(e,t){t.shapes=[];if(Array.isArray(e))for(let n=0,r=e.length;n<r;n++){const r=e[n];t.shapes.push(r.uuid)}else t.shapes.push(e.uuid);return t}class SphereGeometry extends BufferGeometry{constructor(e=1,t=32,n=16,r=0,i=2*Math.PI,s=0,a=Math.PI){super();this.type=\"SphereGeometry\";this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:s,thetaLength:a};t=Math.max(3,Math.floor(t));n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[];const u=new Vector3;const h=new Vector3;const d=[];const p=[];const f=[];const m=[];for(let d=0;d<=n;d++){const g=[];const y=d/n;let x=0;0==d&&0==s?x=.5/t:d==n&&o==Math.PI&&(x=-.5/t);for(let n=0;n<=t;n++){const o=n/t;u.x=-e*Math.cos(r+o*i)*Math.sin(s+y*a);u.y=e*Math.cos(s+y*a);u.z=e*Math.sin(r+o*i)*Math.sin(s+y*a);p.push(u.x,u.y,u.z);h.copy(u).normalize();f.push(h.x,h.y,h.z);m.push(o+x,1-y);g.push(l++)}c.push(g)}for(let e=0;e<n;e++)for(let r=0;r<t;r++){const t=c[e][r+1];const i=c[e][r];const a=c[e+1][r];const l=c[e+1][r+1];(0!==e||s>0)&&d.push(t,i,l);(e!==n-1||o<Math.PI)&&d.push(i,a,l)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}static fromJSON(e){return new SphereGeometry(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class TetrahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1];const r=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,r,e,t);this.type=\"TetrahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new TetrahedronGeometry(e.radius,e.detail)}}class TorusGeometry extends BufferGeometry{constructor(e=1,t=.4,n=8,r=6,i=2*Math.PI){super();this.type=\"TorusGeometry\";this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i};n=Math.floor(n);r=Math.floor(r);const s=[];const a=[];const o=[];const l=[];const c=new Vector3;const u=new Vector3;const h=new Vector3;for(let s=0;s<=n;s++)for(let d=0;d<=r;d++){const p=d/r*i;const f=s/n*Math.PI*2;u.x=(e+t*Math.cos(f))*Math.cos(p);u.y=(e+t*Math.cos(f))*Math.sin(p);u.z=t*Math.sin(f);a.push(u.x,u.y,u.z);c.x=e*Math.cos(p);c.y=e*Math.sin(p);h.subVectors(u,c).normalize();o.push(h.x,h.y,h.z);l.push(d/r);l.push(s/n)}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){const n=(r+1)*e+t-1;const i=(r+1)*(e-1)+t-1;const a=(r+1)*(e-1)+t;const o=(r+1)*e+t;s.push(n,i,o);s.push(i,a,o)}this.setIndex(s);this.setAttribute(\"position\",new Float32BufferAttribute(a,3));this.setAttribute(\"normal\",new Float32BufferAttribute(o,3));this.setAttribute(\"uv\",new Float32BufferAttribute(l,2))}static fromJSON(e){return new TorusGeometry(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class TorusKnotGeometry extends BufferGeometry{constructor(e=1,t=.4,n=64,r=8,i=2,s=3){super();this.type=\"TorusKnotGeometry\";this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:s};n=Math.floor(n);r=Math.floor(r);const a=[];const o=[];const l=[];const c=[];const u=new Vector3;const h=new Vector3;const d=new Vector3;const p=new Vector3;const f=new Vector3;const m=new Vector3;const g=new Vector3;for(let a=0;a<=n;++a){const y=a/n*i*Math.PI*2;calculatePositionOnCurve(y,i,s,e,d);calculatePositionOnCurve(y+.01,i,s,e,p);m.subVectors(p,d);g.addVectors(p,d);f.crossVectors(m,g);g.crossVectors(f,m);f.normalize();g.normalize();for(let e=0;e<=r;++e){const i=e/r*Math.PI*2;const s=-t*Math.cos(i);const p=t*Math.sin(i);u.x=d.x+(s*g.x+p*f.x);u.y=d.y+(s*g.y+p*f.y);u.z=d.z+(s*g.z+p*f.z);o.push(u.x,u.y,u.z);h.subVectors(u,d).normalize();l.push(h.x,h.y,h.z);c.push(a/n);c.push(e/r)}}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1);const i=(r+1)*e+(t-1);const s=(r+1)*e+t;const o=(r+1)*(e-1)+t;a.push(n,i,o);a.push(i,s,o)}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2));function calculatePositionOnCurve(e,t,n,r,i){const s=Math.cos(e);const a=Math.sin(e);const o=n/t*e;const l=Math.cos(o);i.x=r*(2+l)*.5*s;i.y=r*(2+l)*a*.5;i.z=r*Math.sin(o)*.5}}static fromJSON(e){return new TorusKnotGeometry(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}}class TubeGeometry extends BufferGeometry{constructor(e=new QuadraticBezierCurve3(new Vector3(-1,-1,0),new Vector3(-1,1,0),new Vector3(1,1,0)),t=64,n=1,r=8,i=false){super();this.type=\"TubeGeometry\";this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i};const s=e.computeFrenetFrames(t,i);this.tangents=s.tangents;this.normals=s.normals;this.binormals=s.binormals;const a=new Vector3;const o=new Vector3;const l=new Vector2;let c=new Vector3;const u=[];const h=[];const d=[];const p=[];generateBufferData();this.setIndex(p);this.setAttribute(\"position\",new Float32BufferAttribute(u,3));this.setAttribute(\"normal\",new Float32BufferAttribute(h,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateBufferData(){for(let e=0;e<t;e++)generateSegment(e);generateSegment(false===i?t:0);generateUVs();generateIndices()}function generateSegment(i){c=e.getPointAt(i/t,c);const l=s.normals[i];const d=s.binormals[i];for(let e=0;e<=r;e++){const t=e/r*Math.PI*2;const i=Math.sin(t);const s=-Math.cos(t);o.x=s*l.x+i*d.x;o.y=s*l.y+i*d.y;o.z=s*l.z+i*d.z;o.normalize();h.push(o.x,o.y,o.z);a.x=c.x+n*o.x;a.y=c.y+n*o.y;a.z=c.z+n*o.z;u.push(a.x,a.y,a.z)}}function generateIndices(){for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1);const i=(r+1)*e+(t-1);const s=(r+1)*e+t;const a=(r+1)*(e-1)+t;p.push(n,i,a);p.push(i,s,a)}}function generateUVs(){for(let e=0;e<=t;e++)for(let n=0;n<=r;n++){l.x=e/t;l.y=n/r;d.push(l.x,l.y)}}}toJSON(){const e=super.toJSON();e.path=this.parameters.path.toJSON();return e}static fromJSON(e){return new TubeGeometry((new Ll[e.path.type]).fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class WireframeGeometry extends BufferGeometry{constructor(e=null){super();this.type=\"WireframeGeometry\";this.parameters={geometry:e};if(null!==e){const t=[];const n=new Set;const r=new Vector3;const i=new Vector3;if(null!==e.index){const s=e.attributes.position;const a=e.index;let o=e.groups;0===o.length&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let e=0,l=o.length;e<l;++e){const l=o[e];const c=l.start;const u=l.count;for(let e=c,o=c+u;e<o;e+=3)for(let o=0;o<3;o++){const l=a.getX(e+o);const c=a.getX(e+(o+1)%3);r.fromBufferAttribute(s,l);i.fromBufferAttribute(s,c);if(true===isUniqueEdge(r,i,n)){t.push(r.x,r.y,r.z);t.push(i.x,i.y,i.z)}}}}else{const s=e.attributes.position;for(let e=0,a=s.count/3;e<a;e++)for(let a=0;a<3;a++){const o=3*e+a;const l=3*e+(a+1)%3;r.fromBufferAttribute(s,o);i.fromBufferAttribute(s,l);if(true===isUniqueEdge(r,i,n)){t.push(r.x,r.y,r.z);t.push(i.x,i.y,i.z)}}}this.setAttribute(\"position\",new Float32BufferAttribute(t,3))}}}function isUniqueEdge(e,t,n){const r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;const i=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`;if(true===n.has(r)||true===n.has(i))return false;n.add(r,i);return true}var Pl=Object.freeze({__proto__:null,BoxGeometry:BoxGeometry,BoxBufferGeometry:BoxGeometry,CircleGeometry:CircleGeometry,CircleBufferGeometry:CircleGeometry,ConeGeometry:ConeGeometry,ConeBufferGeometry:ConeGeometry,CylinderGeometry:CylinderGeometry,CylinderBufferGeometry:CylinderGeometry,DodecahedronGeometry:DodecahedronGeometry,DodecahedronBufferGeometry:DodecahedronGeometry,EdgesGeometry:EdgesGeometry,ExtrudeGeometry:ExtrudeGeometry,ExtrudeBufferGeometry:ExtrudeGeometry,IcosahedronGeometry:IcosahedronGeometry,IcosahedronBufferGeometry:IcosahedronGeometry,LatheGeometry:LatheGeometry,LatheBufferGeometry:LatheGeometry,OctahedronGeometry:OctahedronGeometry,OctahedronBufferGeometry:OctahedronGeometry,PlaneGeometry:PlaneGeometry,PlaneBufferGeometry:PlaneGeometry,PolyhedronGeometry:PolyhedronGeometry,PolyhedronBufferGeometry:PolyhedronGeometry,RingGeometry:RingGeometry,RingBufferGeometry:RingGeometry,ShapeGeometry:ShapeGeometry,ShapeBufferGeometry:ShapeGeometry,SphereGeometry:SphereGeometry,SphereBufferGeometry:SphereGeometry,TetrahedronGeometry:TetrahedronGeometry,TetrahedronBufferGeometry:TetrahedronGeometry,TorusGeometry:TorusGeometry,TorusBufferGeometry:TorusGeometry,TorusKnotGeometry:TorusKnotGeometry,TorusKnotBufferGeometry:TorusKnotGeometry,TubeGeometry:TubeGeometry,TubeBufferGeometry:TubeGeometry,WireframeGeometry:WireframeGeometry});class ShadowMaterial extends Material{constructor(e){super();this.type=\"ShadowMaterial\";this.color=new Color(0);this.transparent=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);return this}}ShadowMaterial.prototype.isShadowMaterial=true;class MeshStandardMaterial extends Material{constructor(e){super();this.defines={STANDARD:\"\"};this.type=\"MeshStandardMaterial\";this.color=new Color(16777215);this.roughness=1;this.metalness=0;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.roughnessMap=null;this.metalnessMap=null;this.alphaMap=null;this.envMap=null;this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.defines={STANDARD:\"\"};this.color.copy(e.color);this.roughness=e.roughness;this.metalness=e.metalness;this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.roughnessMap=e.roughnessMap;this.metalnessMap=e.metalnessMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.envMapIntensity=e.envMapIntensity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;this.flatShading=e.flatShading;return this}}MeshStandardMaterial.prototype.isMeshStandardMaterial=true;class MeshPhysicalMaterial extends MeshStandardMaterial{constructor(e){super();this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.type=\"MeshPhysicalMaterial\";this.clearcoatMap=null;this.clearcoatRoughness=0;this.clearcoatRoughnessMap=null;this.clearcoatNormalScale=new Vector2(1,1);this.clearcoatNormalMap=null;this.ior=1.5;Object.defineProperty(this,\"reflectivity\",{get:function(){return clamp(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}});this.sheenColor=new Color(0);this.sheenColorMap=null;this.sheenRoughness=1;this.sheenRoughnessMap=null;this.transmissionMap=null;this.thickness=0;this.thicknessMap=null;this.attenuationDistance=0;this.attenuationColor=new Color(1,1,1);this.specularIntensity=1;this.specularIntensityMap=null;this.specularColor=new Color(1,1,1);this.specularColorMap=null;this._sheen=0;this._clearcoat=0;this._transmission=0;this.setValues(e)}get sheen(){return this._sheen}set sheen(e){this._sheen>0!==e>0&&this.version++;this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!==e>0&&this.version++;this._clearcoat=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!==e>0&&this.version++;this._transmission=e}copy(e){super.copy(e);this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.clearcoat=e.clearcoat;this.clearcoatMap=e.clearcoatMap;this.clearcoatRoughness=e.clearcoatRoughness;this.clearcoatRoughnessMap=e.clearcoatRoughnessMap;this.clearcoatNormalMap=e.clearcoatNormalMap;this.clearcoatNormalScale.copy(e.clearcoatNormalScale);this.ior=e.ior;this.sheen=e.sheen;this.sheenColor.copy(e.sheenColor);this.sheenColorMap=e.sheenColorMap;this.sheenRoughness=e.sheenRoughness;this.sheenRoughnessMap=e.sheenRoughnessMap;this.transmission=e.transmission;this.transmissionMap=e.transmissionMap;this.thickness=e.thickness;this.thicknessMap=e.thicknessMap;this.attenuationDistance=e.attenuationDistance;this.attenuationColor.copy(e.attenuationColor);this.specularIntensity=e.specularIntensity;this.specularIntensityMap=e.specularIntensityMap;this.specularColor.copy(e.specularColor);this.specularColorMap=e.specularColorMap;return this}}MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial=true;class MeshPhongMaterial extends Material{constructor(e){super();this.type=\"MeshPhongMaterial\";this.color=new Color(16777215);this.specular=new Color(1118481);this.shininess=30;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.specular.copy(e.specular);this.shininess=e.shininess;this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;this.flatShading=e.flatShading;return this}}MeshPhongMaterial.prototype.isMeshPhongMaterial=true;class MeshToonMaterial extends Material{constructor(e){super();this.defines={TOON:\"\"};this.type=\"MeshToonMaterial\";this.color=new Color(16777215);this.map=null;this.gradientMap=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.gradientMap=e.gradientMap;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.alphaMap=e.alphaMap;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshToonMaterial.prototype.isMeshToonMaterial=true;class MeshNormalMaterial extends Material{constructor(e){super();this.type=\"MeshNormalMaterial\";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.flatShading=e.flatShading;return this}}MeshNormalMaterial.prototype.isMeshNormalMaterial=true;class MeshLambertMaterial extends Material{constructor(e){super();this.type=\"MeshLambertMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshLambertMaterial.prototype.isMeshLambertMaterial=true;class MeshMatcapMaterial extends Material{constructor(e){super();this.defines={MATCAP:\"\"};this.type=\"MeshMatcapMaterial\";this.color=new Color(16777215);this.matcap=null;this.map=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.defines={MATCAP:\"\"};this.color.copy(e.color);this.matcap=e.matcap;this.map=e.map;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.alphaMap=e.alphaMap;this.flatShading=e.flatShading;return this}}MeshMatcapMaterial.prototype.isMeshMatcapMaterial=true;class LineDashedMaterial extends LineBasicMaterial{constructor(e){super();this.type=\"LineDashedMaterial\";this.scale=1;this.dashSize=3;this.gapSize=1;this.setValues(e)}copy(e){super.copy(e);this.scale=e.scale;this.dashSize=e.dashSize;this.gapSize=e.gapSize;return this}}LineDashedMaterial.prototype.isLineDashedMaterial=true;var Il=Object.freeze({__proto__:null,ShadowMaterial:ShadowMaterial,SpriteMaterial:SpriteMaterial,RawShaderMaterial:RawShaderMaterial,ShaderMaterial:ShaderMaterial,PointsMaterial:PointsMaterial,MeshPhysicalMaterial:MeshPhysicalMaterial,MeshStandardMaterial:MeshStandardMaterial,MeshPhongMaterial:MeshPhongMaterial,MeshToonMaterial:MeshToonMaterial,MeshNormalMaterial:MeshNormalMaterial,MeshLambertMaterial:MeshLambertMaterial,MeshDepthMaterial:MeshDepthMaterial,MeshDistanceMaterial:MeshDistanceMaterial,MeshBasicMaterial:MeshBasicMaterial,MeshMatcapMaterial:MeshMatcapMaterial,LineDashedMaterial:LineDashedMaterial,LineBasicMaterial:LineBasicMaterial,Material:Material});const Dl={arraySlice:function(e,t,n){return Dl.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:\"number\"===typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function compareTime(t,n){return e[t]-e[n]}const t=e.length;const n=new Array(t);for(let e=0;e!==t;++e)n[e]=e;n.sort(compareTime);return n},sortedArray:function(e,t,n){const r=e.length;const i=new e.constructor(r);for(let s=0,a=0;a!==r;++s){const r=n[s]*t;for(let n=0;n!==t;++n)i[a++]=e[r+n]}return i},flattenJSON:function(e,t,n,r){let i=1,s=e[0];while(void 0!==s&&void 0===s[r])s=e[i++];if(void 0===s)return;let a=s[r];if(void 0!==a)if(Array.isArray(a))do{a=s[r];if(void 0!==a){t.push(s.time);n.push.apply(n,a)}s=e[i++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[r];if(void 0!==a){t.push(s.time);a.toArray(n,n.length)}s=e[i++]}while(void 0!==s);else do{a=s[r];if(void 0!==a){t.push(s.time);n.push(a)}s=e[i++]}while(void 0!==s)},subclip:function(e,t,n,r,i=30){const s=e.clone();s.name=t;const a=[];for(let e=0;e<s.tracks.length;++e){const t=s.tracks[e];const o=t.getValueSize();const l=[];const c=[];for(let e=0;e<t.times.length;++e){const s=t.times[e]*i;if(!(s<n||s>=r)){l.push(t.times[e]);for(let n=0;n<o;++n)c.push(t.values[e*o+n])}}if(0!==l.length){t.times=Dl.convertArray(l,t.times.constructor);t.values=Dl.convertArray(c,t.values.constructor);a.push(t)}}s.tracks=a;let o=Infinity;for(let e=0;e<s.tracks.length;++e)o>s.tracks[e].times[0]&&(o=s.tracks[e].times[0]);for(let e=0;e<s.tracks.length;++e)s.tracks[e].shift(-1*o);s.resetDuration();return s},makeClipAdditive:function(e,t=0,n=e,r=30){r<=0&&(r=30);const i=n.tracks.length;const s=t/r;for(let t=0;t<i;++t){const r=n.tracks[t];const i=r.ValueTypeName;if(\"bool\"===i||\"string\"===i)continue;const a=e.tracks.find((function(e){return e.name===r.name&&e.ValueTypeName===i}));if(void 0===a)continue;let o=0;const l=r.getValueSize();r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const u=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=u/3);const h=r.times.length-1;let d;if(s<=r.times[0]){const e=o;const t=l-o;d=Dl.arraySlice(r.values,e,t)}else if(s>=r.times[h]){const e=h*l+o;const t=e+l-o;d=Dl.arraySlice(r.values,e,t)}else{const e=r.createInterpolant();const t=o;const n=l-o;e.evaluate(s);d=Dl.arraySlice(e.resultBuffer,t,n)}if(\"quaternion\"===i){const e=(new Quaternion).fromArray(d).normalize().conjugate();e.toArray(d)}const p=a.times.length;for(let e=0;e<p;++e){const t=e*u+c;if(\"quaternion\"===i)Quaternion.multiplyQuaternionsFlat(a.values,t,d,0,a.values,t);else{const e=u-2*c;for(let n=0;n<e;++n)a.values[t+n]-=d[n]}}}e.blendMode=kt;return e}};class Interpolant{constructor(e,t,n,r){this.parameterPositions=e;this._cachedIndex=0;this.resultBuffer=void 0!==r?r:new t.constructor(n);this.sampleValues=t;this.valueSize=n;this.settings=null;this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{let s;n:{r:if(!(e<r)){for(let s=n+2;;){if(void 0===r){if(e<i)break r;n=t.length;this._cachedIndex=n;return this.afterEnd_(n-1,e,i)}if(n===s)break;i=r;r=t[++n];if(e<r)break t}s=t.length;break n}if(e>=i)break e;{const a=t[1];if(e<a){n=2;i=a}for(let s=n-2;;){if(void 0===i){this._cachedIndex=0;return this.beforeStart_(0,e,r)}if(n===s)break;r=i;i=t[--n-1];if(e>=i)break t}s=n;n=0}}while(n<s){const r=n+s>>>1;e<t[r]?s=r:n=r+1}r=t[n];i=t[n-1];if(void 0===i){this._cachedIndex=0;return this.beforeStart_(0,e,r)}if(void 0===r){n=t.length;this._cachedIndex=n;return this.afterEnd_(n-1,i,e)}}this._cachedIndex=n;this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let e=0;e!==r;++e)t[e]=n[i+e];return t}interpolate_(){throw new Error(\"call to abstract method\")}intervalChanged_(){}}Interpolant.prototype.beforeStart_=Interpolant.prototype.copySampleValue_;Interpolant.prototype.afterEnd_=Interpolant.prototype.copySampleValue_;class CubicInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r);this._weightPrev=-0;this._offsetPrev=-0;this._weightNext=-0;this._offsetNext=-0;this.DefaultSettings_={endingStart:Gt,endingEnd:Gt}}intervalChanged_(e,t,n){const r=this.parameterPositions;let i=e-2,s=e+1,a=r[i],o=r[s];if(void 0===a)switch(this.getSettings_().endingStart){case Ft:i=e;a=2*t-n;break;case Ot:i=r.length-2;a=t+r[i]-r[i+1];break;default:i=e;a=n}if(void 0===o)switch(this.getSettings_().endingEnd){case Ft:s=e;o=2*n-t;break;case Ot:s=1;o=n+r[1]-r[0];break;default:s=e-1;o=t}const l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-a);this._weightNext=l/(o-n);this._offsetPrev=i*c;this._offsetNext=s*c}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=e*a,l=o-a,c=this._offsetPrev,u=this._offsetNext,h=this._weightPrev,d=this._weightNext,p=(n-t)/(r-t),f=p*p,m=f*p;const g=-h*m+2*h*f-h*p;const y=(1+h)*m+(-1.5-2*h)*f+(-.5+h)*p+1;const x=(-1-d)*m+(1.5+d)*f+.5*p;const b=d*m-d*f;for(let e=0;e!==a;++e)i[e]=g*s[c+e]+y*s[l+e]+x*s[o+e]+b*s[u+e];return i}}class LinearInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=e*a,l=o-a,c=(n-t)/(r-t),u=1-c;for(let e=0;e!==a;++e)i[e]=s[l+e]*u+s[o+e]*c;return i}}class DiscreteInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class KeyframeTrack{constructor(e,t,n,r){if(void 0===e)throw new Error(\"THREE.KeyframeTrack: track name is undefined\");if(void 0===t||0===t.length)throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \"+e);this.name=e;this.times=Dl.convertArray(t,this.TimeBufferType);this.values=Dl.convertArray(n,this.ValueBufferType);this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:Dl.convertArray(e.times,Array),values:Dl.convertArray(e.values,Array)};const t=e.getInterpolation();t!==e.DefaultInterpolation&&(n.interpolation=t)}n.type=e.ValueTypeName;return n}InterpolantFactoryMethodDiscrete(e){return new DiscreteInterpolant(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new LinearInterpolant(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new CubicInterpolant(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Nt:t=this.InterpolantFactoryMethodDiscrete;break;case Ut:t=this.InterpolantFactoryMethodLinear;break;case zt:t=this.InterpolantFactoryMethodSmooth;break}if(void 0===t){const t=\"unsupported interpolation for \"+this.ValueTypeName+\" keyframe track named \"+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}console.warn(\"THREE.KeyframeTrack:\",t);return this}this.createInterpolant=t;return this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Nt;case this.InterpolantFactoryMethodLinear:return Ut;case this.InterpolantFactoryMethodSmooth:return zt}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(1!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){const n=this.times,r=n.length;let i=0,s=r-1;while(i!==r&&n[i]<e)++i;while(-1!==s&&n[s]>t)--s;++s;if(0!==i||s!==r){if(i>=s){s=Math.max(s,1);i=s-1}const e=this.getValueSize();this.times=Dl.arraySlice(n,i,s);this.values=Dl.arraySlice(this.values,i*e,s*e)}return this}validate(){let e=true;const t=this.getValueSize();if(t-Math.floor(t)!==0){console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this);e=false}const n=this.times,r=this.values,i=n.length;if(0===i){console.error(\"THREE.KeyframeTrack: Track is empty.\",this);e=false}let s=null;for(let t=0;t!==i;t++){const r=n[t];if(\"number\"===typeof r&&isNaN(r)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,t,r);e=false;break}if(null!==s&&s>r){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,t,r,s);e=false;break}s=r}if(void 0!==r&&Dl.isTypedArray(r))for(let t=0,n=r.length;t!==n;++t){const n=r[t];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,t,n);e=false;break}}return e}optimize(){const e=Dl.arraySlice(this.times),t=Dl.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===zt,i=e.length-1;let s=1;for(let a=1;a<i;++a){let i=false;const o=e[a];const l=e[a+1];if(o!==l&&(1!==a||o!==e[0]))if(r)i=true;else{const e=a*n,r=e-n,s=e+n;for(let a=0;a!==n;++a){const n=t[e+a];if(n!==t[r+a]||n!==t[s+a]){i=true;break}}}if(i){if(a!==s){e[s]=e[a];const r=a*n,i=s*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++s}}if(i>0){e[s]=e[i];for(let e=i*n,r=s*n,a=0;a!==n;++a)t[r+a]=t[e+a];++s}if(s!==e.length){this.times=Dl.arraySlice(e,0,s);this.values=Dl.arraySlice(t,0,s*n)}else{this.times=e;this.values=t}return this}clone(){const e=Dl.arraySlice(this.times,0);const t=Dl.arraySlice(this.values,0);const n=this.constructor;const r=new n(this.name,e,t);r.createInterpolant=this.createInterpolant;return r}}KeyframeTrack.prototype.TimeBufferType=Float32Array;KeyframeTrack.prototype.ValueBufferType=Float32Array;KeyframeTrack.prototype.DefaultInterpolation=Ut;class BooleanKeyframeTrack extends KeyframeTrack{}BooleanKeyframeTrack.prototype.ValueTypeName=\"bool\";BooleanKeyframeTrack.prototype.ValueBufferType=Array;BooleanKeyframeTrack.prototype.DefaultInterpolation=Nt;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class ColorKeyframeTrack extends KeyframeTrack{}ColorKeyframeTrack.prototype.ValueTypeName=\"color\";class NumberKeyframeTrack extends KeyframeTrack{}NumberKeyframeTrack.prototype.ValueTypeName=\"number\";class QuaternionLinearInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-t)/(r-t);let l=e*a;for(let e=l+a;l!==e;l+=4)Quaternion.slerpFlat(i,0,s,l-a,s,l,o);return i}}class QuaternionKeyframeTrack extends KeyframeTrack{InterpolantFactoryMethodLinear(e){return new QuaternionLinearInterpolant(this.times,this.values,this.getValueSize(),e)}}QuaternionKeyframeTrack.prototype.ValueTypeName=\"quaternion\";QuaternionKeyframeTrack.prototype.DefaultInterpolation=Ut;QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class StringKeyframeTrack extends KeyframeTrack{}StringKeyframeTrack.prototype.ValueTypeName=\"string\";StringKeyframeTrack.prototype.ValueBufferType=Array;StringKeyframeTrack.prototype.DefaultInterpolation=Nt;StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class VectorKeyframeTrack extends KeyframeTrack{}VectorKeyframeTrack.prototype.ValueTypeName=\"vector\";class AnimationClip{constructor(e,t=-1,n,r=Ht){this.name=e;this.tracks=n;this.duration=t;this.blendMode=r;this.uuid=generateUUID();this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(parseKeyframeTrack(n[e]).scale(r));const i=new this(e.name,e.duration,t,e.blendMode);i.uuid=e.uuid;return i}static toJSON(e){const t=[],n=e.tracks;const r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(KeyframeTrack.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){const i=t.length;const s=[];for(let e=0;e<i;e++){let a=[];let o=[];a.push((e+i-1)%i,e,(e+1)%i);o.push(0,1,0);const l=Dl.getKeyframeOrder(a);a=Dl.sortedArray(a,1,l);o=Dl.sortedArray(o,1,l);if(!r&&0===a[0]){a.push(i);o.push(o[0])}s.push(new NumberKeyframeTrack(\".morphTargetInfluences[\"+t[e].name+\"]\",a,o).scale(1/n))}return new this(e,-1,s)}static findByName(e,t){let n=e;if(!Array.isArray(e)){const t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let e=0;e<n.length;e++)if(n[e].name===t)return n[e];return null}static CreateClipsFromMorphTargetSequences(e,t,n){const r={};const i=/^([\\w-]*?)([\\d]+)$/;for(let t=0,n=e.length;t<n;t++){const n=e[t];const s=n.name.match(i);if(s&&s.length>1){const e=s[1];let t=r[e];t||(r[e]=t=[]);t.push(n)}}const s=[];for(const e in r)s.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return s}static parseAnimation(e,t){if(!e){console.error(\"THREE.AnimationClip: No animation in JSONLoader data.\");return null}const addNonemptyTrack=function(e,t,n,r,i){if(0!==n.length){const s=[];const a=[];Dl.flattenJSON(n,s,a,r);0!==s.length&&i.push(new e(t,s,a))}};const n=[];const r=e.name||\"default\";const i=e.fps||30;const s=e.blendMode;let a=e.length||-1;const o=e.hierarchy||[];for(let e=0;e<o.length;e++){const r=o[e].keys;if(r&&0!==r.length)if(r[0].morphTargets){const e={};let t;for(t=0;t<r.length;t++)if(r[t].morphTargets)for(let n=0;n<r[t].morphTargets.length;n++)e[r[t].morphTargets[n]]=-1;for(const i in e){const e=[];const s=[];for(let n=0;n!==r[t].morphTargets.length;++n){const n=r[t];e.push(n.time);s.push(n.morphTarget===i?1:0)}n.push(new NumberKeyframeTrack(\".morphTargetInfluence[\"+i+\"]\",e,s))}a=e.length*(i||1)}else{const i=\".bones[\"+t[e].name+\"]\";addNonemptyTrack(VectorKeyframeTrack,i+\".position\",r,\"pos\",n);addNonemptyTrack(QuaternionKeyframeTrack,i+\".quaternion\",r,\"rot\",n);addNonemptyTrack(VectorKeyframeTrack,i+\".scale\",r,\"scl\",n)}}if(0===n.length)return null;const l=new this(r,a,n,s);return l}resetDuration(){const e=this.tracks;let t=0;for(let n=0,r=e.length;n!==r;++n){const e=this.tracks[n];t=Math.max(t,e.times[e.times.length-1])}this.duration=t;return this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=true;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function getTrackTypeForValueTypeName(e){switch(e.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return NumberKeyframeTrack;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return VectorKeyframeTrack;case\"color\":return ColorKeyframeTrack;case\"quaternion\":return QuaternionKeyframeTrack;case\"bool\":case\"boolean\":return BooleanKeyframeTrack;case\"string\":return StringKeyframeTrack}throw new Error(\"THREE.KeyframeTrack: Unsupported typeName: \"+e)}function parseKeyframeTrack(e){if(void 0===e.type)throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");const t=getTrackTypeForValueTypeName(e.type);if(void 0===e.times){const t=[],n=[];Dl.flattenJSON(e.keys,t,n,\"value\");e.times=t;e.values=n}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}const Bl={enabled:false,files:{},add:function(e,t){false!==this.enabled&&(this.files[e]=t)},get:function(e){if(false!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class LoadingManager{constructor(e,t,n){const r=this;let i=false;let s=0;let a=0;let o;const l=[];this.onStart=void 0;this.onLoad=e;this.onProgress=t;this.onError=n;this.itemStart=function(e){a++;false===i&&void 0!==r.onStart&&r.onStart(e,s,a);i=true};this.itemEnd=function(e){s++;void 0!==r.onProgress&&r.onProgress(e,s,a);if(s===a){i=false;void 0!==r.onLoad&&r.onLoad()}};this.itemError=function(e){void 0!==r.onError&&r.onError(e)};this.resolveURL=function(e){return o?o(e):e};this.setURLModifier=function(e){o=e;return this};this.addHandler=function(e,t){l.push(e,t);return this};this.removeHandler=function(e){const t=l.indexOf(e);-1!==t&&l.splice(t,2);return this};this.getHandler=function(e){for(let t=0,n=l.length;t<n;t+=2){const n=l[t];const r=l[t+1];n.global&&(n.lastIndex=0);if(n.test(e))return r}return null}}}const Vl=new LoadingManager;class Loader{constructor(e){this.manager=void 0!==e?e:Vl;this.crossOrigin=\"anonymous\";this.withCredentials=false;this.path=\"\";this.resourcePath=\"\";this.requestHeader={}}load(){}loadAsync(e,t){const n=this;return new Promise((function(r,i){n.load(e,r,t,i)}))}parse(){}setCrossOrigin(e){this.crossOrigin=e;return this}setWithCredentials(e){this.withCredentials=e;return this}setPath(e){this.path=e;return this}setResourcePath(e){this.resourcePath=e;return this}setRequestHeader(e){this.requestHeader=e;return this}}const Nl={};class FileLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){void 0===e&&(e=\"\");void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=Bl.get(e);if(void 0!==i){this.manager.itemStart(e);setTimeout((()=>{t&&t(i);this.manager.itemEnd(e)}),0);return i}if(void 0!==Nl[e]){Nl[e].push({onLoad:t,onProgress:n,onError:r});return}Nl[e]=[];Nl[e].push({onLoad:t,onProgress:n,onError:r});const s=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?\"include\":\"same-origin\"});fetch(s).then((t=>{if(200===t.status||0===t.status){0===t.status&&console.warn(\"THREE.FileLoader: HTTP Status 0 received.\");if(\"undefined\"===typeof ReadableStream||void 0===t.body.getReader)return t;const n=Nl[e];const r=t.body.getReader();const i=t.headers.get(\"Content-Length\");const s=i?parseInt(i):0;const a=0!==s;let o=0;const l=new ReadableStream({start(e){readData();function readData(){r.read().then((({done:t,value:r})=>{if(t)e.close();else{o+=r.byteLength;const t=new ProgressEvent(\"progress\",{lengthComputable:a,loaded:o,total:s});for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onProgress&&r.onProgress(t)}e.enqueue(r);readData()}}))}}});return new Response(l)}throw Error(`fetch for \"${t.url}\" responded with ${t.status}: ${t.statusText}`)})).then((e=>{switch(this.responseType){case\"arraybuffer\":return e.arrayBuffer();case\"blob\":return e.blob();case\"document\":return e.text().then((e=>{const t=new DOMParser;return t.parseFromString(e,this.mimeType)}));case\"json\":return e.json();default:return e.text()}})).then((t=>{Bl.add(e,t);const n=Nl[e];delete Nl[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onLoad&&r.onLoad(t)}})).catch((t=>{const n=Nl[e];if(void 0===n){this.manager.itemError(e);throw t}delete Nl[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)})).finally((()=>{this.manager.itemEnd(e)}));this.manager.itemStart(e)}setResponseType(e){this.responseType=e;return this}setMimeType(e){this.mimeType=e;return this}}class AnimationLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(this.manager);s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t=[];for(let n=0;n<e.length;n++){const r=AnimationClip.parse(e[n]);t.push(r)}return t}}class CompressedTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=[];const a=new CompressedTexture;const o=new FileLoader(this.manager);o.setPath(this.path);o.setResponseType(\"arraybuffer\");o.setRequestHeader(this.requestHeader);o.setWithCredentials(i.withCredentials);let l=0;function loadTexture(c){o.load(e[c],(function(e){const n=i.parse(e,true);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps};l+=1;if(6===l){1===n.mipmapCount&&(a.minFilter=ye);a.image=s;a.format=n.format;a.needsUpdate=true;t&&t(a)}}),n,r)}if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)loadTexture(t);else o.load(e,(function(e){const n=i.parse(e,true);if(n.isCubemap){const e=n.mipmaps.length/n.mipmapCount;for(let t=0;t<e;t++){s[t]={mipmaps:[]};for(let e=0;e<n.mipmapCount;e++){s[t].mipmaps.push(n.mipmaps[t*n.mipmapCount+e]);s[t].format=n.format;s[t].width=n.width;s[t].height=n.height}}a.image=s}else{a.image.width=n.width;a.image.height=n.height;a.mipmaps=n.mipmaps}1===n.mipmapCount&&(a.minFilter=ye);a.format=n.format;a.needsUpdate=true;t&&t(a)}),n,r);return a}}class ImageLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=this;const s=Bl.get(e);if(void 0!==s){i.manager.itemStart(e);setTimeout((function(){t&&t(s);i.manager.itemEnd(e)}),0);return s}const a=createElementNS(\"img\");function onImageLoad(){removeEventListeners();Bl.add(e,this);t&&t(this);i.manager.itemEnd(e)}function onImageError(t){removeEventListeners();r&&r(t);i.manager.itemError(e);i.manager.itemEnd(e)}function removeEventListeners(){a.removeEventListener(\"load\",onImageLoad,false);a.removeEventListener(\"error\",onImageError,false)}a.addEventListener(\"load\",onImageLoad,false);a.addEventListener(\"error\",onImageError,false);\"data:\"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin);i.manager.itemStart(e);a.src=e;return a}}class CubeTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=new CubeTexture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);let a=0;function loadTexture(n){s.load(e[n],(function(e){i.images[n]=e;a++;if(6===a){i.needsUpdate=true;t&&t(i)}}),void 0,r)}for(let t=0;t<e.length;++t)loadTexture(t);return i}}class DataTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new DataTexture;const a=new FileLoader(this.manager);a.setResponseType(\"arraybuffer\");a.setRequestHeader(this.requestHeader);a.setPath(this.path);a.setWithCredentials(i.withCredentials);a.load(e,(function(e){const n=i.parse(e);if(n){if(void 0!==n.image)s.image=n.image;else if(void 0!==n.data){s.image.width=n.width;s.image.height=n.height;s.image.data=n.data}s.wrapS=void 0!==n.wrapS?n.wrapS:ue;s.wrapT=void 0!==n.wrapT?n.wrapT:ue;s.magFilter=void 0!==n.magFilter?n.magFilter:ye;s.minFilter=void 0!==n.minFilter?n.minFilter:ye;s.anisotropy=void 0!==n.anisotropy?n.anisotropy:1;void 0!==n.encoding&&(s.encoding=n.encoding);void 0!==n.flipY&&(s.flipY=n.flipY);void 0!==n.format&&(s.format=n.format);void 0!==n.type&&(s.type=n.type);if(void 0!==n.mipmaps){s.mipmaps=n.mipmaps;s.minFilter=be}1===n.mipmapCount&&(s.minFilter=ye);void 0!==n.generateMipmaps&&(s.generateMipmaps=n.generateMipmaps);s.needsUpdate=true;t&&t(s,n)}}),n,r);return s}}class TextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=new Texture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);s.load(e,(function(e){i.image=e;i.needsUpdate=true;void 0!==t&&t(i)}),n,r);return i}}class Light extends Object3D{constructor(e,t=1){super();this.type=\"Light\";this.color=new Color(e);this.intensity=t}dispose(){}copy(e){super.copy(e);this.color.copy(e.color);this.intensity=e.intensity;return this}toJSON(e){const t=super.toJSON(e);t.object.color=this.color.getHex();t.object.intensity=this.intensity;void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex());void 0!==this.distance&&(t.object.distance=this.distance);void 0!==this.angle&&(t.object.angle=this.angle);void 0!==this.decay&&(t.object.decay=this.decay);void 0!==this.penumbra&&(t.object.penumbra=this.penumbra);void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON());return t}}Light.prototype.isLight=true;class HemisphereLight extends Light{constructor(e,t,n){super(e,n);this.type=\"HemisphereLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.groundColor=new Color(t)}copy(e){Light.prototype.copy.call(this,e);this.groundColor.copy(e.groundColor);return this}}HemisphereLight.prototype.isHemisphereLight=true;const Ul=new Matrix4;const zl=new Vector3;const Gl=new Vector3;class LightShadow{constructor(e){this.camera=e;this.bias=0;this.normalBias=0;this.radius=1;this.blurSamples=8;this.mapSize=new Vector2(512,512);this.map=null;this.mapPass=null;this.matrix=new Matrix4;this.autoUpdate=true;this.needsUpdate=false;this._frustum=new Frustum;this._frameExtents=new Vector2(1,1);this._viewportCount=1;this._viewports=[new Vector4(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera;const n=this.matrix;zl.setFromMatrixPosition(e.matrixWorld);t.position.copy(zl);Gl.setFromMatrixPosition(e.target.matrixWorld);t.lookAt(Gl);t.updateMatrixWorld();Ul.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Ul);n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);n.multiply(t.projectionMatrix);n.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose();this.mapPass&&this.mapPass.dispose()}copy(e){this.camera=e.camera.clone();this.bias=e.bias;this.radius=e.radius;this.mapSize.copy(e.mapSize);return this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};0!==this.bias&&(e.bias=this.bias);0!==this.normalBias&&(e.normalBias=this.normalBias);1!==this.radius&&(e.radius=this.radius);512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray());e.camera=this.camera.toJSON(false).object;delete e.camera.matrix;return e}}class SpotLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(50,1,.5,500));this.focus=1}updateMatrices(e){const t=this.camera;const n=2*Rn*e.angle*this.focus;const r=this.mapSize.width/this.mapSize.height;const i=e.distance||t.far;if(n!==t.fov||r!==t.aspect||i!==t.far){t.fov=n;t.aspect=r;t.far=i;t.updateProjectionMatrix()}super.updateMatrices(e)}copy(e){super.copy(e);this.focus=e.focus;return this}}SpotLightShadow.prototype.isSpotLightShadow=true;class SpotLight extends Light{constructor(e,t,n=0,r=Math.PI/3,i=0,s=1){super(e,t);this.type=\"SpotLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.target=new Object3D;this.distance=n;this.angle=r;this.penumbra=i;this.decay=s;this.shadow=new SpotLightShadow}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.distance=e.distance;this.angle=e.angle;this.penumbra=e.penumbra;this.decay=e.decay;this.target=e.target.clone();this.shadow=e.shadow.clone();return this}}SpotLight.prototype.isSpotLight=true;const Fl=new Matrix4;const Ol=new Vector3;const Hl=new Vector3;class PointLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(90,1,.5,500));this._frameExtents=new Vector2(4,2);this._viewportCount=6;this._viewports=[new Vector4(2,1,1,1),new Vector4(0,1,1,1),new Vector4(3,1,1,1),new Vector4(1,1,1,1),new Vector4(3,0,1,1),new Vector4(1,0,1,1)];this._cubeDirections=[new Vector3(1,0,0),new Vector3(-1,0,0),new Vector3(0,0,1),new Vector3(0,0,-1),new Vector3(0,1,0),new Vector3(0,-1,0)];this._cubeUps=[new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,0,1),new Vector3(0,0,-1)]}updateMatrices(e,t=0){const n=this.camera;const r=this.matrix;const i=e.distance||n.far;if(i!==n.far){n.far=i;n.updateProjectionMatrix()}Ol.setFromMatrixPosition(e.matrixWorld);n.position.copy(Ol);Hl.copy(n.position);Hl.add(this._cubeDirections[t]);n.up.copy(this._cubeUps[t]);n.lookAt(Hl);n.updateMatrixWorld();r.makeTranslation(-Ol.x,-Ol.y,-Ol.z);Fl.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Fl)}}PointLightShadow.prototype.isPointLightShadow=true;class PointLight extends Light{constructor(e,t,n=0,r=1){super(e,t);this.type=\"PointLight\";this.distance=n;this.decay=r;this.shadow=new PointLightShadow}get power(){return 4*this.intensity*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.distance=e.distance;this.decay=e.decay;this.shadow=e.shadow.clone();return this}}PointLight.prototype.isPointLight=true;class DirectionalLightShadow extends LightShadow{constructor(){super(new OrthographicCamera(-5,5,5,-5,.5,500))}}DirectionalLightShadow.prototype.isDirectionalLightShadow=true;class DirectionalLight extends Light{constructor(e,t){super(e,t);this.type=\"DirectionalLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.target=new Object3D;this.shadow=new DirectionalLightShadow}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.target=e.target.clone();this.shadow=e.shadow.clone();return this}}DirectionalLight.prototype.isDirectionalLight=true;class AmbientLight extends Light{constructor(e,t){super(e,t);this.type=\"AmbientLight\"}}AmbientLight.prototype.isAmbientLight=true;class RectAreaLight extends Light{constructor(e,t,n=10,r=10){super(e,t);this.type=\"RectAreaLight\";this.width=n;this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){super.copy(e);this.width=e.width;this.height=e.height;return this}toJSON(e){const t=super.toJSON(e);t.object.width=this.width;t.object.height=this.height;return t}}RectAreaLight.prototype.isRectAreaLight=true;class SphericalHarmonics3{constructor(){this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new Vector3)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const n=e.x,r=e.y,i=e.z;const s=this.coefficients;t.copy(s[0]).multiplyScalar(.282095);t.addScaledVector(s[1],.488603*r);t.addScaledVector(s[2],.488603*i);t.addScaledVector(s[3],.488603*n);t.addScaledVector(s[4],n*r*1.092548);t.addScaledVector(s[5],r*i*1.092548);t.addScaledVector(s[6],.315392*(3*i*i-1));t.addScaledVector(s[7],n*i*1.092548);t.addScaledVector(s[8],.546274*(n*n-r*r));return t}getIrradianceAt(e,t){const n=e.x,r=e.y,i=e.z;const s=this.coefficients;t.copy(s[0]).multiplyScalar(.886227);t.addScaledVector(s[1],1.023328*r);t.addScaledVector(s[2],1.023328*i);t.addScaledVector(s[3],1.023328*n);t.addScaledVector(s[4],.858086*n*r);t.addScaledVector(s[5],.858086*r*i);t.addScaledVector(s[6],.743125*i*i-.247708);t.addScaledVector(s[7],.858086*n*i);t.addScaledVector(s[8],.429043*(n*n-r*r));return t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return false;return true}copy(e){return this.set(e.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(e,t=0){const n=this.coefficients;for(let r=0;r<9;r++)n[r].fromArray(e,t+3*r);return this}toArray(e=[],t=0){const n=this.coefficients;for(let r=0;r<9;r++)n[r].toArray(e,t+3*r);return e}static getBasisAt(e,t){const n=e.x,r=e.y,i=e.z;t[0]=.282095;t[1]=.488603*r;t[2]=.488603*i;t[3]=.488603*n;t[4]=1.092548*n*r;t[5]=1.092548*r*i;t[6]=.315392*(3*i*i-1);t[7]=1.092548*n*i;t[8]=.546274*(n*n-r*r)}}SphericalHarmonics3.prototype.isSphericalHarmonics3=true;class LightProbe extends Light{constructor(e=new SphericalHarmonics3,t=1){super(void 0,t);this.sh=e}copy(e){super.copy(e);this.sh.copy(e.sh);return this}fromJSON(e){this.intensity=e.intensity;this.sh.fromArray(e.sh);return this}toJSON(e){const t=super.toJSON(e);t.object.sh=this.sh.toArray();return t}}LightProbe.prototype.isLightProbe=true;class MaterialLoader extends Loader{constructor(e){super(e);this.textures={}}load(e,t,n,r){const i=this;const s=new FileLoader(i.manager);s.setPath(i.path);s.setRequestHeader(i.requestHeader);s.setWithCredentials(i.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t=this.textures;function getTexture(e){void 0===t[e]&&console.warn(\"THREE.MaterialLoader: Undefined texture\",e);return t[e]}const n=new Il[e.type];void 0!==e.uuid&&(n.uuid=e.uuid);void 0!==e.name&&(n.name=e.name);void 0!==e.color&&void 0!==n.color&&n.color.setHex(e.color);void 0!==e.roughness&&(n.roughness=e.roughness);void 0!==e.metalness&&(n.metalness=e.metalness);void 0!==e.sheen&&(n.sheen=e.sheen);void 0!==e.sheenColor&&(n.sheenColor=(new Color).setHex(e.sheenColor));void 0!==e.sheenRoughness&&(n.sheenRoughness=e.sheenRoughness);void 0!==e.emissive&&void 0!==n.emissive&&n.emissive.setHex(e.emissive);void 0!==e.specular&&void 0!==n.specular&&n.specular.setHex(e.specular);void 0!==e.specularIntensity&&(n.specularIntensity=e.specularIntensity);void 0!==e.specularColor&&void 0!==n.specularColor&&n.specularColor.setHex(e.specularColor);void 0!==e.shininess&&(n.shininess=e.shininess);void 0!==e.clearcoat&&(n.clearcoat=e.clearcoat);void 0!==e.clearcoatRoughness&&(n.clearcoatRoughness=e.clearcoatRoughness);void 0!==e.transmission&&(n.transmission=e.transmission);void 0!==e.thickness&&(n.thickness=e.thickness);void 0!==e.attenuationDistance&&(n.attenuationDistance=e.attenuationDistance);void 0!==e.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(e.attenuationColor);void 0!==e.fog&&(n.fog=e.fog);void 0!==e.flatShading&&(n.flatShading=e.flatShading);void 0!==e.blending&&(n.blending=e.blending);void 0!==e.combine&&(n.combine=e.combine);void 0!==e.side&&(n.side=e.side);void 0!==e.shadowSide&&(n.shadowSide=e.shadowSide);void 0!==e.opacity&&(n.opacity=e.opacity);void 0!==e.format&&(n.format=e.format);void 0!==e.transparent&&(n.transparent=e.transparent);void 0!==e.alphaTest&&(n.alphaTest=e.alphaTest);void 0!==e.depthTest&&(n.depthTest=e.depthTest);void 0!==e.depthWrite&&(n.depthWrite=e.depthWrite);void 0!==e.colorWrite&&(n.colorWrite=e.colorWrite);void 0!==e.stencilWrite&&(n.stencilWrite=e.stencilWrite);void 0!==e.stencilWriteMask&&(n.stencilWriteMask=e.stencilWriteMask);void 0!==e.stencilFunc&&(n.stencilFunc=e.stencilFunc);void 0!==e.stencilRef&&(n.stencilRef=e.stencilRef);void 0!==e.stencilFuncMask&&(n.stencilFuncMask=e.stencilFuncMask);void 0!==e.stencilFail&&(n.stencilFail=e.stencilFail);void 0!==e.stencilZFail&&(n.stencilZFail=e.stencilZFail);void 0!==e.stencilZPass&&(n.stencilZPass=e.stencilZPass);void 0!==e.wireframe&&(n.wireframe=e.wireframe);void 0!==e.wireframeLinewidth&&(n.wireframeLinewidth=e.wireframeLinewidth);void 0!==e.wireframeLinecap&&(n.wireframeLinecap=e.wireframeLinecap);void 0!==e.wireframeLinejoin&&(n.wireframeLinejoin=e.wireframeLinejoin);void 0!==e.rotation&&(n.rotation=e.rotation);1!==e.linewidth&&(n.linewidth=e.linewidth);void 0!==e.dashSize&&(n.dashSize=e.dashSize);void 0!==e.gapSize&&(n.gapSize=e.gapSize);void 0!==e.scale&&(n.scale=e.scale);void 0!==e.polygonOffset&&(n.polygonOffset=e.polygonOffset);void 0!==e.polygonOffsetFactor&&(n.polygonOffsetFactor=e.polygonOffsetFactor);void 0!==e.polygonOffsetUnits&&(n.polygonOffsetUnits=e.polygonOffsetUnits);void 0!==e.dithering&&(n.dithering=e.dithering);void 0!==e.alphaToCoverage&&(n.alphaToCoverage=e.alphaToCoverage);void 0!==e.premultipliedAlpha&&(n.premultipliedAlpha=e.premultipliedAlpha);void 0!==e.visible&&(n.visible=e.visible);void 0!==e.toneMapped&&(n.toneMapped=e.toneMapped);void 0!==e.userData&&(n.userData=e.userData);void 0!==e.vertexColors&&(\"number\"===typeof e.vertexColors?n.vertexColors=e.vertexColors>0:n.vertexColors=e.vertexColors);if(void 0!==e.uniforms)for(const t in e.uniforms){const r=e.uniforms[t];n.uniforms[t]={};switch(r.type){case\"t\":n.uniforms[t].value=getTexture(r.value);break;case\"c\":n.uniforms[t].value=(new Color).setHex(r.value);break;case\"v2\":n.uniforms[t].value=(new Vector2).fromArray(r.value);break;case\"v3\":n.uniforms[t].value=(new Vector3).fromArray(r.value);break;case\"v4\":n.uniforms[t].value=(new Vector4).fromArray(r.value);break;case\"m3\":n.uniforms[t].value=(new Matrix3).fromArray(r.value);break;case\"m4\":n.uniforms[t].value=(new Matrix4).fromArray(r.value);break;default:n.uniforms[t].value=r.value}}void 0!==e.defines&&(n.defines=e.defines);void 0!==e.vertexShader&&(n.vertexShader=e.vertexShader);void 0!==e.fragmentShader&&(n.fragmentShader=e.fragmentShader);if(void 0!==e.extensions)for(const t in e.extensions)n.extensions[t]=e.extensions[t];void 0!==e.shading&&(n.flatShading=1===e.shading);void 0!==e.size&&(n.size=e.size);void 0!==e.sizeAttenuation&&(n.sizeAttenuation=e.sizeAttenuation);void 0!==e.map&&(n.map=getTexture(e.map));void 0!==e.matcap&&(n.matcap=getTexture(e.matcap));void 0!==e.alphaMap&&(n.alphaMap=getTexture(e.alphaMap));void 0!==e.bumpMap&&(n.bumpMap=getTexture(e.bumpMap));void 0!==e.bumpScale&&(n.bumpScale=e.bumpScale);void 0!==e.normalMap&&(n.normalMap=getTexture(e.normalMap));void 0!==e.normalMapType&&(n.normalMapType=e.normalMapType);if(void 0!==e.normalScale){let t=e.normalScale;false===Array.isArray(t)&&(t=[t,t]);n.normalScale=(new Vector2).fromArray(t)}void 0!==e.displacementMap&&(n.displacementMap=getTexture(e.displacementMap));void 0!==e.displacementScale&&(n.displacementScale=e.displacementScale);void 0!==e.displacementBias&&(n.displacementBias=e.displacementBias);void 0!==e.roughnessMap&&(n.roughnessMap=getTexture(e.roughnessMap));void 0!==e.metalnessMap&&(n.metalnessMap=getTexture(e.metalnessMap));void 0!==e.emissiveMap&&(n.emissiveMap=getTexture(e.emissiveMap));void 0!==e.emissiveIntensity&&(n.emissiveIntensity=e.emissiveIntensity);void 0!==e.specularMap&&(n.specularMap=getTexture(e.specularMap));void 0!==e.specularIntensityMap&&(n.specularIntensityMap=getTexture(e.specularIntensityMap));void 0!==e.specularColorMap&&(n.specularColorMap=getTexture(e.specularColorMap));void 0!==e.envMap&&(n.envMap=getTexture(e.envMap));void 0!==e.envMapIntensity&&(n.envMapIntensity=e.envMapIntensity);void 0!==e.reflectivity&&(n.reflectivity=e.reflectivity);void 0!==e.refractionRatio&&(n.refractionRatio=e.refractionRatio);void 0!==e.lightMap&&(n.lightMap=getTexture(e.lightMap));void 0!==e.lightMapIntensity&&(n.lightMapIntensity=e.lightMapIntensity);void 0!==e.aoMap&&(n.aoMap=getTexture(e.aoMap));void 0!==e.aoMapIntensity&&(n.aoMapIntensity=e.aoMapIntensity);void 0!==e.gradientMap&&(n.gradientMap=getTexture(e.gradientMap));void 0!==e.clearcoatMap&&(n.clearcoatMap=getTexture(e.clearcoatMap));void 0!==e.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=getTexture(e.clearcoatRoughnessMap));void 0!==e.clearcoatNormalMap&&(n.clearcoatNormalMap=getTexture(e.clearcoatNormalMap));void 0!==e.clearcoatNormalScale&&(n.clearcoatNormalScale=(new Vector2).fromArray(e.clearcoatNormalScale));void 0!==e.transmissionMap&&(n.transmissionMap=getTexture(e.transmissionMap));void 0!==e.thicknessMap&&(n.thicknessMap=getTexture(e.thicknessMap));void 0!==e.sheenColorMap&&(n.sheenColorMap=getTexture(e.sheenColorMap));void 0!==e.sheenRoughnessMap&&(n.sheenRoughnessMap=getTexture(e.sheenRoughnessMap));return n}setTextures(e){this.textures=e;return this}}class LoaderUtils{static decodeText(e){if(\"undefined\"!==typeof TextDecoder)return(new TextDecoder).decode(e);let t=\"\";for(let n=0,r=e.length;n<r;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch(e){return t}}static extractUrlBase(e){const t=e.lastIndexOf(\"/\");return-1===t?\"./\":e.substr(0,t+1)}static resolveURL(e,t){if(\"string\"!==typeof e||\"\"===e)return\"\";/^https?:\\/\\//i.test(t)&&/^\\//.test(e)&&(t=t.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\"));return/^(https?:)?\\/\\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e}}class InstancedBufferGeometry extends BufferGeometry{constructor(){super();this.type=\"InstancedBufferGeometry\";this.instanceCount=Infinity}copy(e){super.copy(e);this.instanceCount=e.instanceCount;return this}clone(){return(new this.constructor).copy(this)}toJSON(){const e=super.toJSON(this);e.instanceCount=this.instanceCount;e.isInstancedBufferGeometry=true;return e}}InstancedBufferGeometry.prototype.isInstancedBufferGeometry=true;class BufferGeometryLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(i.manager);s.setPath(i.path);s.setRequestHeader(i.requestHeader);s.setWithCredentials(i.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t={};const n={};function getInterleavedBuffer(e,n){if(void 0!==t[n])return t[n];const r=e.interleavedBuffers;const i=r[n];const s=getArrayBuffer(e,i.buffer);const a=getTypedArray(i.type,s);const o=new InterleavedBuffer(a,i.stride);o.uuid=i.uuid;t[n]=o;return o}function getArrayBuffer(e,t){if(void 0!==n[t])return n[t];const r=e.arrayBuffers;const i=r[t];const s=new Uint32Array(i).buffer;n[t]=s;return s}const r=e.isInstancedBufferGeometry?new InstancedBufferGeometry:new BufferGeometry;const i=e.data.index;if(void 0!==i){const e=getTypedArray(i.type,i.array);r.setIndex(new BufferAttribute(e,1))}const s=e.data.attributes;for(const t in s){const n=s[t];let i;if(n.isInterleavedBufferAttribute){const t=getInterleavedBuffer(e.data,n.data);i=new InterleavedBufferAttribute(t,n.itemSize,n.offset,n.normalized)}else{const e=getTypedArray(n.type,n.array);const t=n.isInstancedBufferAttribute?InstancedBufferAttribute:BufferAttribute;i=new t(e,n.itemSize,n.normalized)}void 0!==n.name&&(i.name=n.name);void 0!==n.usage&&i.setUsage(n.usage);if(void 0!==n.updateRange){i.updateRange.offset=n.updateRange.offset;i.updateRange.count=n.updateRange.count}r.setAttribute(t,i)}const a=e.data.morphAttributes;if(a)for(const t in a){const n=a[t];const i=[];for(let t=0,r=n.length;t<r;t++){const r=n[t];let s;if(r.isInterleavedBufferAttribute){const t=getInterleavedBuffer(e.data,r.data);s=new InterleavedBufferAttribute(t,r.itemSize,r.offset,r.normalized)}else{const e=getTypedArray(r.type,r.array);s=new BufferAttribute(e,r.itemSize,r.normalized)}void 0!==r.name&&(s.name=r.name);i.push(s)}r.morphAttributes[t]=i}const o=e.data.morphTargetsRelative;o&&(r.morphTargetsRelative=true);const l=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==l)for(let e=0,t=l.length;e!==t;++e){const t=l[e];r.addGroup(t.start,t.count,t.materialIndex)}const c=e.data.boundingSphere;if(void 0!==c){const e=new Vector3;void 0!==c.center&&e.fromArray(c.center);r.boundingSphere=new Sphere(e,c.radius)}e.name&&(r.name=e.name);e.userData&&(r.userData=e.userData);return r}}class ObjectLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=\"\"===this.path?LoaderUtils.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||s;const a=new FileLoader(this.manager);a.setPath(this.path);a.setRequestHeader(this.requestHeader);a.setWithCredentials(this.withCredentials);a.load(e,(function(n){let s=null;try{s=JSON.parse(n)}catch(t){void 0!==r&&r(t);console.error(\"THREE:ObjectLoader: Can't parse \"+e+\".\",t.message);return}const a=s.metadata;void 0!==a&&void 0!==a.type&&\"geometry\"!==a.type.toLowerCase()?i.parse(s,t):console.error(\"THREE.ObjectLoader: Can't load \"+e)}),n,r)}async loadAsync(e,t){const n=this;const r=\"\"===this.path?LoaderUtils.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||r;const i=new FileLoader(this.manager);i.setPath(this.path);i.setRequestHeader(this.requestHeader);i.setWithCredentials(this.withCredentials);const s=await i.loadAsync(e,t);const a=JSON.parse(s);const o=a.metadata;if(void 0===o||void 0===o.type||\"geometry\"===o.type.toLowerCase())throw new Error(\"THREE.ObjectLoader: Can't load \"+e);return await n.parseAsync(a)}parse(e,t){const n=this.parseAnimations(e.animations);const r=this.parseShapes(e.shapes);const i=this.parseGeometries(e.geometries,r);const s=this.parseImages(e.images,(function(){void 0!==t&&t(l)}));const a=this.parseTextures(e.textures,s);const o=this.parseMaterials(e.materials,a);const l=this.parseObject(e.object,i,o,a,n);const c=this.parseSkeletons(e.skeletons,l);this.bindSkeletons(l,c);if(void 0!==t){let e=false;for(const t in s)if(s[t]instanceof HTMLImageElement){e=true;break}false===e&&t(l)}return l}async parseAsync(e){const t=this.parseAnimations(e.animations);const n=this.parseShapes(e.shapes);const r=this.parseGeometries(e.geometries,n);const i=await this.parseImagesAsync(e.images);const s=this.parseTextures(e.textures,i);const a=this.parseMaterials(e.materials,s);const o=this.parseObject(e.object,r,a,s,t);const l=this.parseSkeletons(e.skeletons,o);this.bindSkeletons(o,l);return o}parseShapes(e){const t={};if(void 0!==e)for(let n=0,r=e.length;n<r;n++){const r=(new Shape).fromJSON(e[n]);t[r.uuid]=r}return t}parseSkeletons(e,t){const n={};const r={};t.traverse((function(e){e.isBone&&(r[e.uuid]=e)}));if(void 0!==e)for(let t=0,i=e.length;t<i;t++){const i=(new Skeleton).fromJSON(e[t],r);n[i.uuid]=i}return n}parseGeometries(e,t){const n={};if(void 0!==e){const r=new BufferGeometryLoader;for(let i=0,s=e.length;i<s;i++){let s;const a=e[i];switch(a.type){case\"BufferGeometry\":case\"InstancedBufferGeometry\":s=r.parse(a);break;case\"Geometry\":console.error(\"THREE.ObjectLoader: The legacy Geometry type is no longer supported.\");break;default:a.type in Pl?s=Pl[a.type].fromJSON(a,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type \"${a.type}\"`)}s.uuid=a.uuid;void 0!==a.name&&(s.name=a.name);true===s.isBufferGeometry&&void 0!==a.userData&&(s.userData=a.userData);n[a.uuid]=s}}return n}parseMaterials(e,t){const n={};const r={};if(void 0!==e){const i=new MaterialLoader;i.setTextures(t);for(let t=0,s=e.length;t<s;t++){const s=e[t];if(\"MultiMaterial\"===s.type){const e=[];for(let t=0;t<s.materials.length;t++){const r=s.materials[t];void 0===n[r.uuid]&&(n[r.uuid]=i.parse(r));e.push(n[r.uuid])}r[s.uuid]=e}else{void 0===n[s.uuid]&&(n[s.uuid]=i.parse(s));r[s.uuid]=n[s.uuid]}}}return r}parseAnimations(e){const t={};if(void 0!==e)for(let n=0;n<e.length;n++){const r=e[n];const i=AnimationClip.parse(r);t[i.uuid]=i}return t}parseImages(e,t){const n=this;const r={};let i;function loadImage(e){n.manager.itemStart(e);return i.load(e,(function(){n.manager.itemEnd(e)}),void 0,(function(){n.manager.itemError(e);n.manager.itemEnd(e)}))}function deserializeImage(e){if(\"string\"===typeof e){const t=e;const r=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(t)?t:n.resourcePath+t;return loadImage(r)}return e.data?{data:getTypedArray(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){const n=new LoadingManager(t);i=new ImageLoader(n);i.setCrossOrigin(this.crossOrigin);for(let t=0,n=e.length;t<n;t++){const n=e[t];const i=n.url;if(Array.isArray(i)){r[n.uuid]=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];const s=deserializeImage(t);null!==s&&(s instanceof HTMLImageElement?r[n.uuid].push(s):r[n.uuid].push(new DataTexture(s.data,s.width,s.height)))}}else{const e=deserializeImage(n.url);null!==e&&(r[n.uuid]=e)}}}return r}async parseImagesAsync(e){const t=this;const n={};let r;async function deserializeImage(e){if(\"string\"===typeof e){const n=e;const i=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(n)?n:t.resourcePath+n;return await r.loadAsync(i)}return e.data?{data:getTypedArray(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){r=new ImageLoader(this.manager);r.setCrossOrigin(this.crossOrigin);for(let t=0,r=e.length;t<r;t++){const r=e[t];const i=r.url;if(Array.isArray(i)){n[r.uuid]=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];const s=await deserializeImage(t);null!==s&&(s instanceof HTMLImageElement?n[r.uuid].push(s):n[r.uuid].push(new DataTexture(s.data,s.width,s.height)))}}else{const e=await deserializeImage(r.url);null!==e&&(n[r.uuid]=e)}}}return n}parseTextures(e,t){function parseConstant(e,t){if(\"number\"===typeof e)return e;console.warn(\"THREE.ObjectLoader.parseTexture: Constant should be in numeric form.\",e);return t[e]}const n={};if(void 0!==e)for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===i.image&&console.warn('THREE.ObjectLoader: No \"image\" specified for',i.uuid);void 0===t[i.image]&&console.warn(\"THREE.ObjectLoader: Undefined image\",i.image);let s;const a=t[i.image];if(Array.isArray(a)){s=new CubeTexture(a);6===a.length&&(s.needsUpdate=true)}else{s=a&&a.data?new DataTexture(a.data,a.width,a.height):new Texture(a);a&&(s.needsUpdate=true)}s.uuid=i.uuid;void 0!==i.name&&(s.name=i.name);void 0!==i.mapping&&(s.mapping=parseConstant(i.mapping,kl));void 0!==i.offset&&s.offset.fromArray(i.offset);void 0!==i.repeat&&s.repeat.fromArray(i.repeat);void 0!==i.center&&s.center.fromArray(i.center);void 0!==i.rotation&&(s.rotation=i.rotation);if(void 0!==i.wrap){s.wrapS=parseConstant(i.wrap[0],Wl);s.wrapT=parseConstant(i.wrap[1],Wl)}void 0!==i.format&&(s.format=i.format);void 0!==i.type&&(s.type=i.type);void 0!==i.encoding&&(s.encoding=i.encoding);void 0!==i.minFilter&&(s.minFilter=parseConstant(i.minFilter,jl));void 0!==i.magFilter&&(s.magFilter=parseConstant(i.magFilter,jl));void 0!==i.anisotropy&&(s.anisotropy=i.anisotropy);void 0!==i.flipY&&(s.flipY=i.flipY);void 0!==i.premultiplyAlpha&&(s.premultiplyAlpha=i.premultiplyAlpha);void 0!==i.unpackAlignment&&(s.unpackAlignment=i.unpackAlignment);void 0!==i.userData&&(s.userData=i.userData);n[i.uuid]=s}return n}parseObject(e,t,n,r,i){let s;function getGeometry(e){void 0===t[e]&&console.warn(\"THREE.ObjectLoader: Undefined geometry\",e);return t[e]}function getMaterial(e){if(void 0!==e){if(Array.isArray(e)){const t=[];for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===n[i]&&console.warn(\"THREE.ObjectLoader: Undefined material\",i);t.push(n[i])}return t}void 0===n[e]&&console.warn(\"THREE.ObjectLoader: Undefined material\",e);return n[e]}}function getTexture(e){void 0===r[e]&&console.warn(\"THREE.ObjectLoader: Undefined texture\",e);return r[e]}let a,o;switch(e.type){case\"Scene\":s=new Scene;void 0!==e.background&&(Number.isInteger(e.background)?s.background=new Color(e.background):s.background=getTexture(e.background));void 0!==e.environment&&(s.environment=getTexture(e.environment));void 0!==e.fog&&(\"Fog\"===e.fog.type?s.fog=new Fog(e.fog.color,e.fog.near,e.fog.far):\"FogExp2\"===e.fog.type&&(s.fog=new FogExp2(e.fog.color,e.fog.density)));break;case\"PerspectiveCamera\":s=new PerspectiveCamera(e.fov,e.aspect,e.near,e.far);void 0!==e.focus&&(s.focus=e.focus);void 0!==e.zoom&&(s.zoom=e.zoom);void 0!==e.filmGauge&&(s.filmGauge=e.filmGauge);void 0!==e.filmOffset&&(s.filmOffset=e.filmOffset);void 0!==e.view&&(s.view=Object.assign({},e.view));break;case\"OrthographicCamera\":s=new OrthographicCamera(e.left,e.right,e.top,e.bottom,e.near,e.far);void 0!==e.zoom&&(s.zoom=e.zoom);void 0!==e.view&&(s.view=Object.assign({},e.view));break;case\"AmbientLight\":s=new AmbientLight(e.color,e.intensity);break;case\"DirectionalLight\":s=new DirectionalLight(e.color,e.intensity);break;case\"PointLight\":s=new PointLight(e.color,e.intensity,e.distance,e.decay);break;case\"RectAreaLight\":s=new RectAreaLight(e.color,e.intensity,e.width,e.height);break;case\"SpotLight\":s=new SpotLight(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case\"HemisphereLight\":s=new HemisphereLight(e.color,e.groundColor,e.intensity);break;case\"LightProbe\":s=(new LightProbe).fromJSON(e);break;case\"SkinnedMesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);s=new SkinnedMesh(a,o);void 0!==e.bindMode&&(s.bindMode=e.bindMode);void 0!==e.bindMatrix&&s.bindMatrix.fromArray(e.bindMatrix);void 0!==e.skeleton&&(s.skeleton=e.skeleton);break;case\"Mesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);s=new Mesh(a,o);break;case\"InstancedMesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);const t=e.count;const n=e.instanceMatrix;const r=e.instanceColor;s=new InstancedMesh(a,o,t);s.instanceMatrix=new InstancedBufferAttribute(new Float32Array(n.array),16);void 0!==r&&(s.instanceColor=new InstancedBufferAttribute(new Float32Array(r.array),r.itemSize));break;case\"LOD\":s=new LOD;break;case\"Line\":s=new Line(getGeometry(e.geometry),getMaterial(e.material));break;case\"LineLoop\":s=new LineLoop(getGeometry(e.geometry),getMaterial(e.material));break;case\"LineSegments\":s=new LineSegments(getGeometry(e.geometry),getMaterial(e.material));break;case\"PointCloud\":case\"Points\":s=new Points(getGeometry(e.geometry),getMaterial(e.material));break;case\"Sprite\":s=new Sprite(getMaterial(e.material));break;case\"Group\":s=new Group;break;case\"Bone\":s=new Bone;break;default:s=new Object3D}s.uuid=e.uuid;void 0!==e.name&&(s.name=e.name);if(void 0!==e.matrix){s.matrix.fromArray(e.matrix);void 0!==e.matrixAutoUpdate&&(s.matrixAutoUpdate=e.matrixAutoUpdate);s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)}else{void 0!==e.position&&s.position.fromArray(e.position);void 0!==e.rotation&&s.rotation.fromArray(e.rotation);void 0!==e.quaternion&&s.quaternion.fromArray(e.quaternion);void 0!==e.scale&&s.scale.fromArray(e.scale)}void 0!==e.castShadow&&(s.castShadow=e.castShadow);void 0!==e.receiveShadow&&(s.receiveShadow=e.receiveShadow);if(e.shadow){void 0!==e.shadow.bias&&(s.shadow.bias=e.shadow.bias);void 0!==e.shadow.normalBias&&(s.shadow.normalBias=e.shadow.normalBias);void 0!==e.shadow.radius&&(s.shadow.radius=e.shadow.radius);void 0!==e.shadow.mapSize&&s.shadow.mapSize.fromArray(e.shadow.mapSize);void 0!==e.shadow.camera&&(s.shadow.camera=this.parseObject(e.shadow.camera))}void 0!==e.visible&&(s.visible=e.visible);void 0!==e.frustumCulled&&(s.frustumCulled=e.frustumCulled);void 0!==e.renderOrder&&(s.renderOrder=e.renderOrder);void 0!==e.userData&&(s.userData=e.userData);void 0!==e.layers&&(s.layers.mask=e.layers);if(void 0!==e.children){const a=e.children;for(let e=0;e<a.length;e++)s.add(this.parseObject(a[e],t,n,r,i))}if(void 0!==e.animations){const t=e.animations;for(let e=0;e<t.length;e++){const n=t[e];s.animations.push(i[n])}}if(\"LOD\"===e.type){void 0!==e.autoUpdate&&(s.autoUpdate=e.autoUpdate);const t=e.levels;for(let e=0;e<t.length;e++){const n=t[e];const r=s.getObjectByProperty(\"uuid\",n.object);void 0!==r&&s.addLevel(r,n.distance)}}return s}bindSkeletons(e,t){0!==Object.keys(t).length&&e.traverse((function(e){if(true===e.isSkinnedMesh&&void 0!==e.skeleton){const n=t[e.skeleton];void 0===n?console.warn(\"THREE.ObjectLoader: No skeleton found with UUID:\",e.skeleton):e.bind(n,e.bindMatrix)}}))}setTexturePath(e){console.warn(\"THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().\");return this.setResourcePath(e)}}const kl={UVMapping:ne,CubeReflectionMapping:re,CubeRefractionMapping:ie,EquirectangularReflectionMapping:se,EquirectangularRefractionMapping:ae,CubeUVReflectionMapping:oe,CubeUVRefractionMapping:le};const Wl={RepeatWrapping:ce,ClampToEdgeWrapping:ue,MirroredRepeatWrapping:he};const jl={NearestFilter:de,NearestMipmapNearestFilter:pe,NearestMipmapLinearFilter:me,LinearFilter:ye,LinearMipmapNearestFilter:ve,LinearMipmapLinearFilter:be};class ImageBitmapLoader extends Loader{constructor(e){super(e);\"undefined\"===typeof createImageBitmap&&console.warn(\"THREE.ImageBitmapLoader: createImageBitmap() not supported.\");\"undefined\"===typeof fetch&&console.warn(\"THREE.ImageBitmapLoader: fetch() not supported.\");this.options={premultiplyAlpha:\"none\"}}setOptions(e){this.options=e;return this}load(e,t,n,r){void 0===e&&(e=\"\");void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=this;const s=Bl.get(e);if(void 0!==s){i.manager.itemStart(e);setTimeout((function(){t&&t(s);i.manager.itemEnd(e)}),0);return s}const a={};a.credentials=\"anonymous\"===this.crossOrigin?\"same-origin\":\"include\";a.headers=this.requestHeader;fetch(e,a).then((function(e){return e.blob()})).then((function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:\"none\"}))})).then((function(n){Bl.add(e,n);t&&t(n);i.manager.itemEnd(e)})).catch((function(t){r&&r(t);i.manager.itemError(e);i.manager.itemEnd(e)}));i.manager.itemStart(e)}}ImageBitmapLoader.prototype.isImageBitmapLoader=true;let ql;const Xl={getContext:function(){void 0===ql&&(ql=new(window.AudioContext||window.webkitAudioContext));return ql},setContext:function(e){ql=e}};class AudioLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(this.manager);s.setResponseType(\"arraybuffer\");s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(e,(function(n){try{const e=n.slice(0);const r=Xl.getContext();r.decodeAudioData(e,(function(e){t(e)}))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}}class HemisphereLightProbe extends LightProbe{constructor(e,t,n=1){super(void 0,n);const r=(new Color).set(e);const i=(new Color).set(t);const s=new Vector3(r.r,r.g,r.b);const a=new Vector3(i.r,i.g,i.b);const o=Math.sqrt(Math.PI);const l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o);this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}}HemisphereLightProbe.prototype.isHemisphereLightProbe=true;class AmbientLightProbe extends LightProbe{constructor(e,t=1){super(void 0,t);const n=(new Color).set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}}AmbientLightProbe.prototype.isAmbientLightProbe=true;const Jl=new Matrix4;const Yl=new Matrix4;const Zl=new Matrix4;class StereoCamera{constructor(){this.type=\"StereoCamera\";this.aspect=1;this.eyeSep=.064;this.cameraL=new PerspectiveCamera;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=false;this.cameraR=new PerspectiveCamera;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=false;this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;const n=t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep;if(n){t.focus=e.focus;t.fov=e.fov;t.aspect=e.aspect*this.aspect;t.near=e.near;t.far=e.far;t.zoom=e.zoom;t.eyeSep=this.eyeSep;Zl.copy(e.projectionMatrix);const n=t.eyeSep/2;const r=n*t.near/t.focus;const i=t.near*Math.tan(Cn*t.fov*.5)/t.zoom;let s,a;Yl.elements[12]=-n;Jl.elements[12]=n;s=-i*t.aspect+r;a=i*t.aspect+r;Zl.elements[0]=2*t.near/(a-s);Zl.elements[8]=(a+s)/(a-s);this.cameraL.projectionMatrix.copy(Zl);s=-i*t.aspect-r;a=i*t.aspect-r;Zl.elements[0]=2*t.near/(a-s);Zl.elements[8]=(a+s)/(a-s);this.cameraR.projectionMatrix.copy(Zl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Yl);this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Jl)}}class Clock{constructor(e=true){this.autoStart=e;this.startTime=0;this.oldTime=0;this.elapsedTime=0;this.running=false}start(){this.startTime=now();this.oldTime=this.startTime;this.elapsedTime=0;this.running=true}stop(){this.getElapsedTime();this.running=false;this.autoStart=false}getElapsedTime(){this.getDelta();return this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running){this.start();return 0}if(this.running){const t=now();e=(t-this.oldTime)/1e3;this.oldTime=t;this.elapsedTime+=e}return e}}function now(){return(\"undefined\"===typeof performance?Date:performance).now()}const Ql=new Vector3;const Kl=new Quaternion;const $l=new Vector3;const ec=new Vector3;class AudioListener extends Object3D{constructor(){super();this.type=\"AudioListener\";this.context=Xl.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0;this._clock=new Clock}getInput(){return this.gain}removeFilter(){if(null!==this.filter){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination);this.gain.connect(this.context.destination);this.filter=null}return this}getFilter(){return this.filter}setFilter(e){if(null!==this.filter){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination)}else this.gain.disconnect(this.context.destination);this.filter=e;this.gain.connect(this.filter);this.filter.connect(this.context.destination);return this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01);return this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;const n=this.up;this.timeDelta=this._clock.getDelta();this.matrixWorld.decompose(Ql,Kl,$l);ec.set(0,0,-1).applyQuaternion(Kl);if(t.positionX){const e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Ql.x,e);t.positionY.linearRampToValueAtTime(Ql.y,e);t.positionZ.linearRampToValueAtTime(Ql.z,e);t.forwardX.linearRampToValueAtTime(ec.x,e);t.forwardY.linearRampToValueAtTime(ec.y,e);t.forwardZ.linearRampToValueAtTime(ec.z,e);t.upX.linearRampToValueAtTime(n.x,e);t.upY.linearRampToValueAtTime(n.y,e);t.upZ.linearRampToValueAtTime(n.z,e)}else{t.setPosition(Ql.x,Ql.y,Ql.z);t.setOrientation(ec.x,ec.y,ec.z,n.x,n.y,n.z)}}}class Audio extends Object3D{constructor(e){super();this.type=\"Audio\";this.listener=e;this.context=e.context;this.gain=this.context.createGain();this.gain.connect(e.getInput());this.autoplay=false;this.buffer=null;this.detune=0;this.loop=false;this.loopStart=0;this.loopEnd=0;this.offset=0;this.duration=void 0;this.playbackRate=1;this.isPlaying=false;this.hasPlaybackControl=true;this.source=null;this.sourceType=\"empty\";this._startedAt=0;this._progress=0;this._connected=false;this.filters=[]}getOutput(){return this.gain}setNodeSource(e){this.hasPlaybackControl=false;this.sourceType=\"audioNode\";this.source=e;this.connect();return this}setMediaElementSource(e){this.hasPlaybackControl=false;this.sourceType=\"mediaNode\";this.source=this.context.createMediaElementSource(e);this.connect();return this}setMediaStreamSource(e){this.hasPlaybackControl=false;this.sourceType=\"mediaStreamNode\";this.source=this.context.createMediaStreamSource(e);this.connect();return this}setBuffer(e){this.buffer=e;this.sourceType=\"buffer\";this.autoplay&&this.play();return this}play(e=0){if(true===this.isPlaying){console.warn(\"THREE.Audio: Audio is already playing.\");return}if(false===this.hasPlaybackControl){console.warn(\"THREE.Audio: this Audio has no playback control.\");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();t.buffer=this.buffer;t.loop=this.loop;t.loopStart=this.loopStart;t.loopEnd=this.loopEnd;t.onended=this.onEnded.bind(this);t.start(this._startedAt,this._progress+this.offset,this.duration);this.isPlaying=true;this.source=t;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}pause(){if(false!==this.hasPlaybackControl){if(true===this.isPlaying){this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate;true===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration));this.source.stop();this.source.onended=null;this.isPlaying=false}return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}stop(){if(false!==this.hasPlaybackControl){this._progress=0;this.source.stop();this.source.onended=null;this.isPlaying=false;return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());this._connected=true;return this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());this._connected=false;return this}getFilters(){return this.filters}setFilters(e){e||(e=[]);if(true===this._connected){this.disconnect();this.filters=e.slice();this.connect()}else this.filters=e.slice();return this}setDetune(e){this.detune=e;if(void 0!==this.source.detune){true===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01);return this}}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(false!==this.hasPlaybackControl){this.playbackRate=e;true===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=false}getLoop(){if(false===this.hasPlaybackControl){console.warn(\"THREE.Audio: this Audio has no playback control.\");return false}return this.loop}setLoop(e){if(false!==this.hasPlaybackControl){this.loop=e;true===this.isPlaying&&(this.source.loop=this.loop);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}setLoopStart(e){this.loopStart=e;return this}setLoopEnd(e){this.loopEnd=e;return this}getVolume(){return this.gain.gain.value}setVolume(e){this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01);return this}}const tc=new Vector3;const nc=new Quaternion;const rc=new Vector3;const ic=new Vector3;class PositionalAudio extends Audio{constructor(e){super(e);this.panner=this.context.createPanner();this.panner.panningModel=\"HRTF\";this.panner.connect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){this.panner.refDistance=e;return this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){this.panner.rolloffFactor=e;return this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){this.panner.distanceModel=e;return this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){this.panner.maxDistance=e;return this}setDirectionalCone(e,t,n){this.panner.coneInnerAngle=e;this.panner.coneOuterAngle=t;this.panner.coneOuterGain=n;return this}updateMatrixWorld(e){super.updateMatrixWorld(e);if(true===this.hasPlaybackControl&&false===this.isPlaying)return;this.matrixWorld.decompose(tc,nc,rc);ic.set(0,0,1).applyQuaternion(nc);const t=this.panner;if(t.positionX){const e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(tc.x,e);t.positionY.linearRampToValueAtTime(tc.y,e);t.positionZ.linearRampToValueAtTime(tc.z,e);t.orientationX.linearRampToValueAtTime(ic.x,e);t.orientationY.linearRampToValueAtTime(ic.y,e);t.orientationZ.linearRampToValueAtTime(ic.z,e)}else{t.setPosition(tc.x,tc.y,tc.z);t.setOrientation(ic.x,ic.y,ic.z)}}}class AudioAnalyser{constructor(e,t=2048){this.analyser=e.context.createAnalyser();this.analyser.fftSize=t;this.data=new Uint8Array(this.analyser.frequencyBinCount);e.getOutput().connect(this.analyser)}getFrequencyData(){this.analyser.getByteFrequencyData(this.data);return this.data}getAverageFrequency(){let e=0;const t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}}class PropertyMixer{constructor(e,t,n){this.binding=e;this.valueSize=n;let r,i,s;switch(t){case\"quaternion\":r=this._slerp;i=this._slerpAdditive;s=this._setAdditiveIdentityQuaternion;this.buffer=new Float64Array(6*n);this._workIndex=5;break;case\"string\":case\"bool\":r=this._select;i=this._select;s=this._setAdditiveIdentityOther;this.buffer=new Array(5*n);break;default:r=this._lerp;i=this._lerpAdditive;s=this._setAdditiveIdentityNumeric;this.buffer=new Float64Array(5*n)}this._mixBufferRegion=r;this._mixBufferRegionAdditive=i;this._setIdentity=s;this._origIndex=3;this._addIndex=4;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;this.useCount=0;this.referenceCount=0}accumulate(e,t){const n=this.buffer,r=this.valueSize,i=e*r+r;let s=this.cumulativeWeight;if(0===s){for(let e=0;e!==r;++e)n[i+e]=n[e];s=t}else{s+=t;const e=t/s;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=s}accumulateAdditive(e){const t=this.buffer,n=this.valueSize,r=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity();this._mixBufferRegionAdditive(t,r,0,e,n);this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;if(i<1){const e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}s>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let e=t,i=t+t;e!==i;++e)if(n[e]!==n[e+t]){a.setValue(n,r);break}}saveOriginalState(){const e=this.binding;const t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let e=n,i=r;e!==i;++e)t[e]=t[r+e%n];this._setIdentity();this.cumulativeWeight=0;this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=3*this.valueSize;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize;const t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric();this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const e=this._origIndex*this.valueSize;const t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,r,i){if(r>=.5)for(let r=0;r!==i;++r)e[t+r]=e[n+r]}_slerp(e,t,n,r){Quaternion.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){const s=this._workIndex*i;Quaternion.multiplyQuaternionsFlat(e,s,e,t,e,n);Quaternion.slerpFlat(e,t,e,t,e,s,r)}_lerp(e,t,n,r,i){const s=1-r;for(let a=0;a!==i;++a){const i=t+a;e[i]=e[i]*s+e[n+a]*r}}_lerpAdditive(e,t,n,r,i){for(let s=0;s!==i;++s){const i=t+s;e[i]=e[i]+e[n+s]*r}}}const sc=\"\\\\[\\\\]\\\\.:\\\\/\";const ac=new RegExp(\"[\"+sc+\"]\",\"g\");const oc=\"[^\"+sc+\"]\";const lc=\"[^\"+sc.replace(\"\\\\.\",\"\")+\"]\";const cc=/((?:WC+[\\/:])*)/.source.replace(\"WC\",oc);const uc=/(WCOD+)?/.source.replace(\"WCOD\",lc);const hc=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",oc);const dc=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",oc);const pc=new RegExp(\"^\"+cc+uc+hc+dc+\"$\");const fc=[\"material\",\"materials\",\"bones\"];class Composite{constructor(e,t,n){const r=n||PropertyBinding.parseTrackName(t);this._targetGroup=e;this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class PropertyBinding{constructor(e,t,n){this.path=t;this.parsedPath=n||PropertyBinding.parseTrackName(t);this.node=PropertyBinding.findNode(e,this.parsedPath.nodeName)||e;this.rootNode=e;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new PropertyBinding.Composite(e,t,n):new PropertyBinding(e,t,n)}\n/**\n\t * Replaces spaces with underscores and removes unsupported characters from\n\t * node names, to ensure compatibility with parseTrackName().\n\t *\n\t * @param {string} name Node name to be sanitized.\n\t * @return {string}\n\t */static sanitizeNodeName(e){return e.replace(/\\s/g,\"_\").replace(ac,\"\")}static parseTrackName(e){const t=pc.exec(e);if(!t)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]};const r=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==r&&-1!==r){const e=n.nodeName.substring(r+1);if(-1!==fc.indexOf(e)){n.nodeName=n.nodeName.substring(0,r);n.objectName=e}}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+e);return n}static findNode(e,t){if(!t||\"\"===t||\".\"===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const searchNodeSubtree=function(e){for(let n=0;n<e.length;n++){const r=e[n];if(r.name===t||r.uuid===t)return r;const i=searchNodeSubtree(r.children);if(i)return i}return null};const n=searchNodeSubtree(e.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t];this.targetObject.needsUpdate=true}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=true}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t];this.targetObject.needsUpdate=true}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t);this.targetObject.needsUpdate=true}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t);this.targetObject.matrixWorldNeedsUpdate=true}_getValue_unbound(e,t){this.bind();this.getValue(e,t)}_setValue_unbound(e,t){this.bind();this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath;const n=t.objectName;const r=t.propertyName;let i=t.propertyIndex;if(!e){e=PropertyBinding.findNode(this.rootNode,t.nodeName)||this.rootNode;this.node=e}this.getValue=this._getValue_unavailable;this.setValue=this._setValue_unavailable;if(!e){console.error(\"THREE.PropertyBinding: Trying to update node for track: \"+this.path+\" but it wasn't found.\");return}if(n){let r=t.objectIndex;switch(n){case\"materials\":if(!e.material){console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!e.material.materials){console.error(\"THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\",this);return}e=e.material.materials;break;case\"bones\":if(!e.skeleton){console.error(\"THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.\",this);return}e=e.skeleton.bones;for(let t=0;t<e.length;t++)if(e[t].name===r){r=t;break}break;default:if(void 0===e[n]){console.error(\"THREE.PropertyBinding: Can not bind to objectName of node undefined.\",this);return}e=e[n]}if(void 0!==r){if(void 0===e[r]){console.error(\"THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\",this,e);return}e=e[r]}}const s=e[r];if(void 0===s){const n=t.nodeName;console.error(\"THREE.PropertyBinding: Trying to update property for track: \"+n+\".\"+r+\" but it wasn't found.\",e);return}let a=this.Versioning.None;this.targetObject=e;void 0!==e.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==i){if(\"morphTargetInfluences\"===r){if(!e.geometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\",this);return}if(!e.geometry.isBufferGeometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.\",this);return}if(!e.geometry.morphAttributes){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\",this);return}void 0!==e.morphTargetDictionary[i]&&(i=e.morphTargetDictionary[i])}o=this.BindingType.ArrayElement;this.resolvedProperty=s;this.propertyIndex=i}else if(void 0!==s.fromArray&&void 0!==s.toArray){o=this.BindingType.HasFromToArray;this.resolvedProperty=s}else if(Array.isArray(s)){o=this.BindingType.EntireArray;this.resolvedProperty=s}else this.propertyName=r;this.getValue=this.GetterByBindingType[o];this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}}PropertyBinding.Composite=Composite;PropertyBinding.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};PropertyBinding.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};PropertyBinding.prototype.GetterByBindingType=[PropertyBinding.prototype._getValue_direct,PropertyBinding.prototype._getValue_array,PropertyBinding.prototype._getValue_arrayElement,PropertyBinding.prototype._getValue_toArray];PropertyBinding.prototype.SetterByBindingTypeAndVersioning=[[PropertyBinding.prototype._setValue_direct,PropertyBinding.prototype._setValue_direct_setNeedsUpdate,PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_array,PropertyBinding.prototype._setValue_array_setNeedsUpdate,PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_arrayElement,PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate,PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_fromArray,PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate,PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class AnimationObjectGroup{constructor(){this.uuid=generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};const t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){const e=this._objects,t=this._indicesByUUID,n=this._paths,r=this._parsedPaths,i=this._bindings,s=i.length;let a,o=e.length,l=this.nCachedObjects_;for(let c=0,u=arguments.length;c!==u;++c){const u=arguments[c],h=u.uuid;let d=t[h];if(void 0===d){d=o++;t[h]=d;e.push(u);for(let e=0,t=s;e!==t;++e)i[e].push(new PropertyBinding(u,n[e],r[e]))}else if(d<l){a=e[d];const o=--l,c=e[o];t[c.uuid]=d;e[d]=c;t[h]=o;e[o]=u;for(let e=0,t=s;e!==t;++e){const t=i[e],s=t[o];let a=t[d];t[d]=s;void 0===a&&(a=new PropertyBinding(u,n[e],r[e]));t[o]=a}}else e[d]!==a&&console.error(\"THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.\")}this.nCachedObjects_=l}remove(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=t[o];if(void 0!==l&&l>=i){const s=i++,c=e[s];t[c.uuid]=l;e[l]=c;t[o]=s;e[s]=a;for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[s],i=t[l];t[l]=r;t[s]=i}}}this.nCachedObjects_=i}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_,s=e.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a],l=o.uuid,c=t[l];if(void 0!==c){delete t[l];if(c<i){const a=--i,o=e[a],l=--s,u=e[l];t[o.uuid]=c;e[c]=o;t[u.uuid]=a;e[a]=u;e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[a],i=t[l];t[c]=r;t[a]=i;t.pop()}}else{const i=--s,a=e[i];i>0&&(t[a.uuid]=c);e[c]=a;e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e];t[c]=t[i];t.pop()}}}}this.nCachedObjects_=i}subscribe_(e,t){const n=this._bindingsIndicesByPath;let r=n[e];const i=this._bindings;if(void 0!==r)return i[r];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,u=new Array(l);r=i.length;n[e]=r;s.push(e);a.push(t);i.push(u);for(let n=c,r=o.length;n!==r;++n){const r=o[n];u[n]=new PropertyBinding(r,e,t)}return u}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){const r=this._paths,i=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a],l=e[a];t[l]=n;s[n]=o;s.pop();i[n]=i[a];i.pop();r[n]=r[a];r.pop()}}}AnimationObjectGroup.prototype.isAnimationObjectGroup=true;class AnimationAction{constructor(e,t,n=null,r=t.blendMode){this._mixer=e;this._clip=t;this._localRoot=n;this.blendMode=r;const i=t.tracks,s=i.length,a=new Array(s);const o={endingStart:Gt,endingEnd:Gt};for(let e=0;e!==s;++e){const t=i[e].createInterpolant(null);a[e]=t;t.settings=o}this._interpolantSettings=o;this._interpolants=a;this._propertyBindings=new Array(s);this._cacheIndex=null;this._byClipCacheIndex=null;this._timeScaleInterpolant=null;this._weightInterpolant=null;this.loop=Bt;this._loopCount=-1;this._startTime=null;this.time=0;this.timeScale=1;this._effectiveTimeScale=1;this.weight=1;this._effectiveWeight=1;this.repetitions=Infinity;this.paused=false;this.enabled=true;this.clampWhenFinished=false;this.zeroSlopeAtStart=true;this.zeroSlopeAtEnd=true}play(){this._mixer._activateAction(this);return this}stop(){this._mixer._deactivateAction(this);return this.reset()}reset(){this.paused=false;this.enabled=true;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){this._startTime=e;return this}setLoop(e,t){this.loop=e;this.repetitions=t;return this}setEffectiveWeight(e){this.weight=e;this._effectiveWeight=this.enabled?e:0;return this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){e.fadeOut(t);this.fadeIn(t);if(n){const n=this._clip.duration,r=e._clip.duration,i=r/n,s=n/r;e.warp(1,i,t);this.warp(s,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;if(null!==e){this._weightInterpolant=null;this._mixer._takeBackControlInterpolant(e)}return this}setEffectiveTimeScale(e){this.timeScale=e;this._effectiveTimeScale=this.paused?0:e;return this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){this.timeScale=this._clip.duration/e;return this.stopWarping()}syncWith(e){this.time=e.time;this.timeScale=e.timeScale;return this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const r=this._mixer,i=r.time,s=this.timeScale;let a=this._timeScaleInterpolant;if(null===a){a=r._lendControlInterpolant();this._timeScaleInterpolant=a}const o=a.parameterPositions,l=a.sampleValues;o[0]=i;o[1]=i+n;l[0]=e/s;l[1]=t/s;return this}stopWarping(){const e=this._timeScaleInterpolant;if(null!==e){this._timeScaleInterpolant=null;this._mixer._takeBackControlInterpolant(e)}return this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}const i=this._startTime;if(null!==i){const r=(e-i)*n;if(r<0||0===n)return;this._startTime=null;t=n*r}t*=this._updateTimeScale(e);const s=this._updateTime(t);const a=this._updateWeight(e);if(a>0){const e=this._interpolants;const t=this._propertyBindings;switch(this.blendMode){case kt:for(let n=0,r=e.length;n!==r;++n){e[n].evaluate(s);t[n].accumulateAdditive(a)}break;case Ht:default:for(let n=0,i=e.length;n!==i;++n){e[n].evaluate(s);t[n].accumulate(r,a)}}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r;if(e>n.parameterPositions[1]){this.stopFading();0===r&&(this.enabled=false)}}}this._effectiveWeight=t;return t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r;if(e>n.parameterPositions[1]){this.stopWarping();0===t?this.paused=true:this.timeScale=t}}}this._effectiveTimeScale=t;return t}_updateTime(e){const t=this._clip.duration;const n=this.loop;let r=this.time+e;let i=this._loopCount;const s=n===Vt;if(0===e)return-1===i?r:s&&1===(1&i)?t-r:r;if(n===Dt){if(-1===i){this._loopCount=0;this._setEndings(true,true,false)}e:{if(r>=t)r=t;else{if(!(r<0)){this.time=r;break e}r=0}this.clampWhenFinished?this.paused=true:this.enabled=false;this.time=r;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e<0?-1:1})}}else{if(-1===i)if(e>=0){i=0;this._setEndings(true,0===this.repetitions,s)}else this._setEndings(0===this.repetitions,true,s);if(r>=t||r<0){const n=Math.floor(r/t);r-=t*n;i+=Math.abs(n);const a=this.repetitions-i;if(a<=0){this.clampWhenFinished?this.paused=true:this.enabled=false;r=e>0?t:0;this.time=r;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e>0?1:-1})}else{if(1===a){const t=e<0;this._setEndings(t,!t,s)}else this._setEndings(false,false,s);this._loopCount=i;this.time=r;this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:n})}}else this.time=r;if(s&&1===(1&i))return t-r}return r}_setEndings(e,t,n){const r=this._interpolantSettings;if(n){r.endingStart=Ft;r.endingEnd=Ft}else{r.endingStart=e?this.zeroSlopeAtStart?Ft:Gt:Ot;r.endingEnd=t?this.zeroSlopeAtEnd?Ft:Gt:Ot}}_scheduleFading(e,t,n){const r=this._mixer,i=r.time;let s=this._weightInterpolant;if(null===s){s=r._lendControlInterpolant();this._weightInterpolant=s}const a=s.parameterPositions,o=s.sampleValues;a[0]=i;o[0]=t;a[1]=i+e;o[1]=n;return this}}class AnimationMixer extends EventDispatcher{constructor(e){super();this._root=e;this._initMemoryManager();this._accuIndex=0;this.time=0;this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,s=e._propertyBindings,a=e._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];if(void 0===c){c={};l[o]=c}for(let e=0;e!==i;++e){const i=r[e],l=i.name;let u=c[l];if(void 0!==u)s[e]=u;else{u=s[e];if(void 0!==u){if(null===u._cacheIndex){++u.referenceCount;this._addInactiveBinding(u,o,l)}continue}const r=t&&t._propertyBindings[e].binding.parsedPath;u=new PropertyMixer(PropertyBinding.create(n,l,r),i.ValueTypeName,i.getValueSize());++u.referenceCount;this._addInactiveBinding(u,o,l);s[e]=u}a[e].resultBuffer=u.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){const t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]);this._addInactiveAction(e,n,t)}const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];if(0===n.useCount++){this._lendBinding(n);n.saveOriginalState()}}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];if(0===--n.useCount){n.restoreOriginalState();this._takeBackBinding(n)}}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return null!==t&&t<this._nActiveActions}_addInactiveAction(e,t,n){const r=this._actions,i=this._actionsByClip;let s=i[t];if(void 0===s){s={knownActions:[e],actionByRoot:{}};e._byClipCacheIndex=0;i[t]=s}else{const t=s.knownActions;e._byClipCacheIndex=t.length;t.push(e)}e._cacheIndex=r.length;r.push(e);s.actionByRoot[n]=e}_removeInactiveAction(e){const t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r;t[r]=n;t.pop();e._cacheIndex=null;const i=e._clip.uuid,s=this._actionsByClip,a=s[i],o=a.knownActions,l=o[o.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c;o[c]=l;o.pop();e._byClipCacheIndex=null;const u=a.actionByRoot,h=(e._localRoot||this._root).uuid;delete u[h];0===o.length&&delete s[i];this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];0===--n.referenceCount&&this._removeInactiveBinding(n)}}_lendAction(e){const t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_takeBackAction(e){const t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_addInactiveBinding(e,t,n){const r=this._bindingsByRootAndName,i=this._bindings;let s=r[t];if(void 0===s){s={};r[t]=s}s[n]=e;e._cacheIndex=i.length;i.push(e)}_removeInactiveBinding(e){const t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,s=this._bindingsByRootAndName,a=s[r],o=t[t.length-1],l=e._cacheIndex;o._cacheIndex=l;t[l]=o;t.pop();delete a[i];0===Object.keys(a).length&&delete s[r]}_lendBinding(e){const t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_takeBackBinding(e){const t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let n=e[t];if(void 0===n){n=new LinearInterpolant(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer);n.__cacheIndex=t;e[t]=n}return n}_takeBackControlInterpolant(e){const t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r;t[r]=e;i.__cacheIndex=n;t[n]=i}clipAction(e,t,n){const r=t||this._root,i=r.uuid;let s=\"string\"===typeof e?AnimationClip.findByName(r,e):e;const a=null!==s?s.uuid:e;const o=this._actionsByClip[a];let l=null;void 0===n&&(n=null!==s?s.blendMode:Ht);if(void 0!==o){const e=o.actionByRoot[i];if(void 0!==e&&e.blendMode===n)return e;l=o.knownActions[0];null===s&&(s=l._clip)}if(null===s)return null;const c=new AnimationAction(this,s,t,n);this._bindAction(c,l);this._addInactiveAction(c,a,i);return c}existingAction(e,t){const n=t||this._root,r=n.uuid,i=\"string\"===typeof e?AnimationClip.findByName(n,e):e,s=i?i.uuid:e,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[r]||null}stopAllAction(){const e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),s=this._accuIndex^=1;for(let a=0;a!==n;++a){const n=t[a];n._update(r,e,i,s)}const a=this._bindings,o=this._nActiveBindings;for(let e=0;e!==o;++e)a[e].apply(s);return this}setTime(e){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){const t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){const e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){const r=e[n];this._deactivateAction(r);const i=r._cacheIndex,s=t[t.length-1];r._cacheIndex=null;r._byClipCacheIndex=null;s._cacheIndex=i;t[i]=s;t.pop();this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){const t=e.uuid,n=this._actionsByClip;for(const e in n){const r=n[e].actionByRoot,i=r[t];if(void 0!==i){this._deactivateAction(i);this._removeInactiveAction(i)}}const r=this._bindingsByRootAndName,i=r[t];if(void 0!==i)for(const e in i){const t=i[e];t.restoreOriginalState();this._removeInactiveBinding(t)}}uncacheAction(e,t){const n=this.existingAction(e,t);if(null!==n){this._deactivateAction(n);this._removeInactiveAction(n)}}}AnimationMixer.prototype._controlInterpolantsResultBuffer=new Float32Array(1);class Uniform{constructor(e){if(\"string\"===typeof e){console.warn(\"THREE.Uniform: Type parameter is no longer needed.\");e=arguments[1]}this.value=e}clone(){return new Uniform(void 0===this.value.clone?this.value:this.value.clone())}}class InstancedInterleavedBuffer extends InterleavedBuffer{constructor(e,t,n=1){super(e,t);this.meshPerAttribute=n}copy(e){super.copy(e);this.meshPerAttribute=e.meshPerAttribute;return this}clone(e){const t=super.clone(e);t.meshPerAttribute=this.meshPerAttribute;return t}toJSON(e){const t=super.toJSON(e);t.isInstancedInterleavedBuffer=true;t.meshPerAttribute=this.meshPerAttribute;return t}}InstancedInterleavedBuffer.prototype.isInstancedInterleavedBuffer=true;class GLBufferAttribute{constructor(e,t,n,r,i){this.buffer=e;this.type=t;this.itemSize=n;this.elementSize=r;this.count=i;this.version=0}set needsUpdate(e){true===e&&this.version++}setBuffer(e){this.buffer=e;return this}setType(e,t){this.type=e;this.elementSize=t;return this}setItemSize(e){this.itemSize=e;return this}setCount(e){this.count=e;return this}}GLBufferAttribute.prototype.isGLBufferAttribute=true;class Raycaster{constructor(e,t,n=0,r=Infinity){this.ray=new Ray(e,t);this.near=n;this.far=r;this.camera=null;this.layers=new Layers;this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){if(t&&t.isPerspectiveCamera){this.ray.origin.setFromMatrixPosition(t.matrixWorld);this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize();this.camera=t}else if(t&&t.isOrthographicCamera){this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t);this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld);this.camera=t}else console.error(\"THREE.Raycaster: Unsupported camera type: \"+t.type)}intersectObject(e,t=true,n=[]){intersectObject(e,this,n,t);n.sort(ascSort);return n}intersectObjects(e,t=true,n=[]){for(let r=0,i=e.length;r<i;r++)intersectObject(e[r],this,n,t);n.sort(ascSort);return n}}function ascSort(e,t){return e.distance-t.distance}function intersectObject(e,t,n,r){e.layers.test(t.layers)&&e.raycast(t,n);if(true===r){const r=e.children;for(let e=0,i=r.length;e<i;e++)intersectObject(r[e],t,n,true)}}class Spherical{constructor(e=1,t=0,n=0){this.radius=e;this.phi=t;this.theta=n;return this}set(e,t,n){this.radius=e;this.phi=t;this.theta=n;return this}copy(e){this.radius=e.radius;this.phi=e.phi;this.theta=e.theta;return this}makeSafe(){const e=1e-6;this.phi=Math.max(e,Math.min(Math.PI-e,this.phi));return this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){this.radius=Math.sqrt(e*e+t*t+n*n);if(0===this.radius){this.theta=0;this.phi=0}else{this.theta=Math.atan2(e,n);this.phi=Math.acos(clamp(t/this.radius,-1,1))}return this}clone(){return(new this.constructor).copy(this)}}class Cylindrical{constructor(e=1,t=0,n=0){this.radius=e;this.theta=t;this.y=n;return this}set(e,t,n){this.radius=e;this.theta=t;this.y=n;return this}copy(e){this.radius=e.radius;this.theta=e.theta;this.y=e.y;return this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){this.radius=Math.sqrt(e*e+n*n);this.theta=Math.atan2(e,n);this.y=t;return this}clone(){return(new this.constructor).copy(this)}}const mc=new Vector2;class Box2{constructor(e=new Vector2(Infinity,Infinity),t=new Vector2(-Infinity,-Infinity)){this.min=e;this.max=t}set(e,t){this.min.copy(e);this.max.copy(t);return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=mc.copy(t).multiplyScalar(.5);this.min.copy(e).sub(n);this.max.copy(e).add(n);return this}clone(){return(new this.constructor).copy(this)}copy(e){this.min.copy(e.min);this.max.copy(e.max);return this}makeEmpty(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){this.min.min(e);this.max.max(e);return this}expandByVector(e){this.min.sub(e);this.max.add(e);return this}expandByScalar(e){this.min.addScalar(-e);this.max.addScalar(e);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){const t=mc.copy(e).clamp(this.min,this.max);return t.sub(e).length()}intersect(e){this.min.max(e.min);this.max.min(e.max);return this}union(e){this.min.min(e.min);this.max.max(e.max);return this}translate(e){this.min.add(e);this.max.add(e);return this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}Box2.prototype.isBox2=true;const gc=new Vector3;const yc=new Vector3;class Line3{constructor(e=new Vector3,t=new Vector3){this.start=e;this.end=t}set(e,t){this.start.copy(e);this.end.copy(t);return this}copy(e){this.start.copy(e.start);this.end.copy(e.end);return this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){gc.subVectors(e,this.start);yc.subVectors(this.end,this.start);const n=yc.dot(yc);const r=yc.dot(gc);let i=r/n;t&&(i=clamp(i,0,1));return i}closestPointToPoint(e,t,n){const r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){this.start.applyMatrix4(e);this.end.applyMatrix4(e);return this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const vc=new Vector3;class SpotLightHelper extends Object3D{constructor(e,t){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=t;const n=new BufferGeometry;const r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let e=0,t=1,n=32;e<n;e++,t++){const i=e/n*Math.PI*2;const s=t/n*Math.PI*2;r.push(Math.cos(i),Math.sin(i),1,Math.cos(s),Math.sin(s),1)}n.setAttribute(\"position\",new Float32BufferAttribute(r,3));const i=new LineBasicMaterial({fog:false,toneMapped:false});this.cone=new LineSegments(n,i);this.add(this.cone);this.update()}dispose(){this.cone.geometry.dispose();this.cone.material.dispose()}update(){this.light.updateMatrixWorld();const e=this.light.distance?this.light.distance:1e3;const t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e);vc.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(vc);void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const xc=new Vector3;const bc=new Matrix4;const _c=new Matrix4;class SkeletonHelper extends LineSegments{constructor(e){const t=getBoneList(e);const n=new BufferGeometry;const r=[];const i=[];const s=new Color(0,0,1);const a=new Color(0,1,0);for(let e=0;e<t.length;e++){const n=t[e];if(n.parent&&n.parent.isBone){r.push(0,0,0);r.push(0,0,0);i.push(s.r,s.g,s.b);i.push(a.r,a.g,a.b)}}n.setAttribute(\"position\",new Float32BufferAttribute(r,3));n.setAttribute(\"color\",new Float32BufferAttribute(i,3));const o=new LineBasicMaterial({vertexColors:true,depthTest:false,depthWrite:false,toneMapped:false,transparent:true});super(n,o);this.type=\"SkeletonHelper\";this.isSkeletonHelper=true;this.root=e;this.bones=t;this.matrix=e.matrixWorld;this.matrixAutoUpdate=false}updateMatrixWorld(e){const t=this.bones;const n=this.geometry;const r=n.getAttribute(\"position\");_c.copy(this.root.matrixWorld).invert();for(let e=0,n=0;e<t.length;e++){const i=t[e];if(i.parent&&i.parent.isBone){bc.multiplyMatrices(_c,i.matrixWorld);xc.setFromMatrixPosition(bc);r.setXYZ(n,xc.x,xc.y,xc.z);bc.multiplyMatrices(_c,i.parent.matrixWorld);xc.setFromMatrixPosition(bc);r.setXYZ(n+1,xc.x,xc.y,xc.z);n+=2}}n.getAttribute(\"position\").needsUpdate=true;super.updateMatrixWorld(e)}}function getBoneList(e){const t=[];e&&e.isBone&&t.push(e);for(let n=0;n<e.children.length;n++)t.push.apply(t,getBoneList(e.children[n]));return t}class PointLightHelper extends Mesh{constructor(e,t,n){const r=new SphereGeometry(t,4,2);const i=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});super(r,i);this.light=e;this.light.updateMatrixWorld();this.color=n;this.type=\"PointLightHelper\";this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=false;this.update()}dispose(){this.geometry.dispose();this.material.dispose()}update(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const Mc=new Vector3;const wc=new Color;const Sc=new Color;class HemisphereLightHelper extends Object3D{constructor(e,t,n){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=n;const r=new OctahedronGeometry(t);r.rotateY(.5*Math.PI);this.material=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});void 0===this.color&&(this.material.vertexColors=true);const i=r.getAttribute(\"position\");const s=new Float32Array(3*i.count);r.setAttribute(\"color\",new BufferAttribute(s,3));this.add(new Mesh(r,this.material));this.update()}dispose(){this.children[0].geometry.dispose();this.children[0].material.dispose()}update(){const e=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const t=e.geometry.getAttribute(\"color\");wc.copy(this.light.color);Sc.copy(this.light.groundColor);for(let e=0,n=t.count;e<n;e++){const r=e<n/2?wc:Sc;t.setXYZ(e,r.r,r.g,r.b)}t.needsUpdate=true}e.lookAt(Mc.setFromMatrixPosition(this.light.matrixWorld).negate())}}class GridHelper extends LineSegments{constructor(e=10,t=10,n=4473924,r=8947848){n=new Color(n);r=new Color(r);const i=t/2;const s=e/t;const a=e/2;const o=[],l=[];for(let e=0,c=0,u=-a;e<=t;e++,u+=s){o.push(-a,0,u,a,0,u);o.push(u,0,-a,u,0,a);const t=e===i?n:r;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3}const c=new BufferGeometry;c.setAttribute(\"position\",new Float32BufferAttribute(o,3));c.setAttribute(\"color\",new Float32BufferAttribute(l,3));const u=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(c,u);this.type=\"GridHelper\"}}class PolarGridHelper extends LineSegments{constructor(e=10,t=16,n=8,r=64,i=4473924,s=8947848){i=new Color(i);s=new Color(s);const a=[];const o=[];for(let n=0;n<=t;n++){const r=n/t*(2*Math.PI);const l=Math.sin(r)*e;const c=Math.cos(r)*e;a.push(0,0,0);a.push(l,0,c);const u=1&n?i:s;o.push(u.r,u.g,u.b);o.push(u.r,u.g,u.b)}for(let t=0;t<=n;t++){const l=1&t?i:s;const c=e-e/n*t;for(let e=0;e<r;e++){let t=e/r*(2*Math.PI);let n=Math.sin(t)*c;let i=Math.cos(t)*c;a.push(n,0,i);o.push(l.r,l.g,l.b);t=(e+1)/r*(2*Math.PI);n=Math.sin(t)*c;i=Math.cos(t)*c;a.push(n,0,i);o.push(l.r,l.g,l.b)}}const l=new BufferGeometry;l.setAttribute(\"position\",new Float32BufferAttribute(a,3));l.setAttribute(\"color\",new Float32BufferAttribute(o,3));const c=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(l,c);this.type=\"PolarGridHelper\"}}const Tc=new Vector3;const Ec=new Vector3;const Ac=new Vector3;class DirectionalLightHelper extends Object3D{constructor(e,t,n){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=n;void 0===t&&(t=1);let r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const i=new LineBasicMaterial({fog:false,toneMapped:false});this.lightPlane=new Line(r,i);this.add(this.lightPlane);r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,0,1],3));this.targetLine=new Line(r,i);this.add(this.targetLine);this.update()}dispose(){this.lightPlane.geometry.dispose();this.lightPlane.material.dispose();this.targetLine.geometry.dispose();this.targetLine.material.dispose()}update(){Tc.setFromMatrixPosition(this.light.matrixWorld);Ec.setFromMatrixPosition(this.light.target.matrixWorld);Ac.subVectors(Ec,Tc);this.lightPlane.lookAt(Ec);if(void 0!==this.color){this.lightPlane.material.color.set(this.color);this.targetLine.material.color.set(this.color)}else{this.lightPlane.material.color.copy(this.light.color);this.targetLine.material.color.copy(this.light.color)}this.targetLine.lookAt(Ec);this.targetLine.scale.z=Ac.length()}}const Lc=new Vector3;const Cc=new Camera;class CameraHelper extends LineSegments{constructor(e){const t=new BufferGeometry;const n=new LineBasicMaterial({color:16777215,vertexColors:true,toneMapped:false});const r=[];const i=[];const s={};const a=new Color(16755200);const o=new Color(16711680);const l=new Color(43775);const c=new Color(16777215);const u=new Color(3355443);addLine(\"n1\",\"n2\",a);addLine(\"n2\",\"n4\",a);addLine(\"n4\",\"n3\",a);addLine(\"n3\",\"n1\",a);addLine(\"f1\",\"f2\",a);addLine(\"f2\",\"f4\",a);addLine(\"f4\",\"f3\",a);addLine(\"f3\",\"f1\",a);addLine(\"n1\",\"f1\",a);addLine(\"n2\",\"f2\",a);addLine(\"n3\",\"f3\",a);addLine(\"n4\",\"f4\",a);addLine(\"p\",\"n1\",o);addLine(\"p\",\"n2\",o);addLine(\"p\",\"n3\",o);addLine(\"p\",\"n4\",o);addLine(\"u1\",\"u2\",l);addLine(\"u2\",\"u3\",l);addLine(\"u3\",\"u1\",l);addLine(\"c\",\"t\",c);addLine(\"p\",\"c\",u);addLine(\"cn1\",\"cn2\",u);addLine(\"cn3\",\"cn4\",u);addLine(\"cf1\",\"cf2\",u);addLine(\"cf3\",\"cf4\",u);function addLine(e,t,n){addPoint(e,n);addPoint(t,n)}function addPoint(e,t){r.push(0,0,0);i.push(t.r,t.g,t.b);void 0===s[e]&&(s[e]=[]);s[e].push(r.length/3-1)}t.setAttribute(\"position\",new Float32BufferAttribute(r,3));t.setAttribute(\"color\",new Float32BufferAttribute(i,3));super(t,n);this.type=\"CameraHelper\";this.camera=e;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.pointMap=s;this.update()}update(){const e=this.geometry;const t=this.pointMap;const n=1,r=1;Cc.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);setPoint(\"c\",t,e,Cc,0,0,-1);setPoint(\"t\",t,e,Cc,0,0,1);setPoint(\"n1\",t,e,Cc,-n,-r,-1);setPoint(\"n2\",t,e,Cc,n,-r,-1);setPoint(\"n3\",t,e,Cc,-n,r,-1);setPoint(\"n4\",t,e,Cc,n,r,-1);setPoint(\"f1\",t,e,Cc,-n,-r,1);setPoint(\"f2\",t,e,Cc,n,-r,1);setPoint(\"f3\",t,e,Cc,-n,r,1);setPoint(\"f4\",t,e,Cc,n,r,1);setPoint(\"u1\",t,e,Cc,.7*n,1.1*r,-1);setPoint(\"u2\",t,e,Cc,.7*-n,1.1*r,-1);setPoint(\"u3\",t,e,Cc,0,2*r,-1);setPoint(\"cf1\",t,e,Cc,-n,0,1);setPoint(\"cf2\",t,e,Cc,n,0,1);setPoint(\"cf3\",t,e,Cc,0,-r,1);setPoint(\"cf4\",t,e,Cc,0,r,1);setPoint(\"cn1\",t,e,Cc,-n,0,-1);setPoint(\"cn2\",t,e,Cc,n,0,-1);setPoint(\"cn3\",t,e,Cc,0,-r,-1);setPoint(\"cn4\",t,e,Cc,0,r,-1);e.getAttribute(\"position\").needsUpdate=true}dispose(){this.geometry.dispose();this.material.dispose()}}function setPoint(e,t,n,r,i,s,a){Lc.set(i,s,a).unproject(r);const o=t[e];if(void 0!==o){const e=n.getAttribute(\"position\");for(let t=0,n=o.length;t<n;t++)e.setXYZ(o[t],Lc.x,Lc.y,Lc.z)}}const Rc=new Box3;class BoxHelper extends LineSegments{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const r=new Float32Array(24);const i=new BufferGeometry;i.setIndex(new BufferAttribute(n,1));i.setAttribute(\"position\",new BufferAttribute(r,3));super(i,new LineBasicMaterial({color:t,toneMapped:false}));this.object=e;this.type=\"BoxHelper\";this.matrixAutoUpdate=false;this.update()}update(e){void 0!==e&&console.warn(\"THREE.BoxHelper: .update() has no longer arguments.\");void 0!==this.object&&Rc.setFromObject(this.object);if(Rc.isEmpty())return;const t=Rc.min;const n=Rc.max;const r=this.geometry.attributes.position;const i=r.array;i[0]=n.x;i[1]=n.y;i[2]=n.z;i[3]=t.x;i[4]=n.y;i[5]=n.z;i[6]=t.x;i[7]=t.y;i[8]=n.z;i[9]=n.x;i[10]=t.y;i[11]=n.z;i[12]=n.x;i[13]=n.y;i[14]=t.z;i[15]=t.x;i[16]=n.y;i[17]=t.z;i[18]=t.x;i[19]=t.y;i[20]=t.z;i[21]=n.x;i[22]=t.y;i[23]=t.z;r.needsUpdate=true;this.geometry.computeBoundingSphere()}setFromObject(e){this.object=e;this.update();return this}copy(e){LineSegments.prototype.copy.call(this,e);this.object=e.object;return this}}class Box3Helper extends LineSegments{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const r=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1];const i=new BufferGeometry;i.setIndex(new BufferAttribute(n,1));i.setAttribute(\"position\",new Float32BufferAttribute(r,3));super(i,new LineBasicMaterial({color:t,toneMapped:false}));this.box=e;this.type=\"Box3Helper\";this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;if(!t.isEmpty()){t.getCenter(this.position);t.getSize(this.scale);this.scale.multiplyScalar(.5);super.updateMatrixWorld(e)}}}class PlaneHelper extends Line{constructor(e,t=1,n=16776960){const r=n;const i=[1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,0,0,1,0,0,0];const s=new BufferGeometry;s.setAttribute(\"position\",new Float32BufferAttribute(i,3));s.computeBoundingSphere();super(s,new LineBasicMaterial({color:r,toneMapped:false}));this.type=\"PlaneHelper\";this.plane=e;this.size=t;const a=[1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1];const o=new BufferGeometry;o.setAttribute(\"position\",new Float32BufferAttribute(a,3));o.computeBoundingSphere();this.add(new Mesh(o,new MeshBasicMaterial({color:r,opacity:.2,transparent:true,depthWrite:false,toneMapped:false})))}updateMatrixWorld(e){let t=-this.plane.constant;Math.abs(t)<1e-8&&(t=1e-8);this.scale.set(.5*this.size,.5*this.size,t);this.children[0].material.side=t<0?d:h;this.lookAt(this.plane.normal);super.updateMatrixWorld(e)}}const Pc=new Vector3;let Ic,Dc;class ArrowHelper extends Object3D{constructor(e=new Vector3(0,0,1),t=new Vector3(0,0,0),n=1,r=16776960,i=.2*n,s=.2*i){super();this.type=\"ArrowHelper\";if(void 0===Ic){Ic=new BufferGeometry;Ic.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,1,0],3));Dc=new CylinderGeometry(0,.5,1,5,1);Dc.translate(0,-.5,0)}this.position.copy(t);this.line=new Line(Ic,new LineBasicMaterial({color:r,toneMapped:false}));this.line.matrixAutoUpdate=false;this.add(this.line);this.cone=new Mesh(Dc,new MeshBasicMaterial({color:r,toneMapped:false}));this.cone.matrixAutoUpdate=false;this.add(this.cone);this.setDirection(e);this.setLength(n,i,s)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Pc.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Pc,t)}}setLength(e,t=.2*e,n=.2*t){this.line.scale.set(1,Math.max(1e-4,e-t),1);this.line.updateMatrix();this.cone.scale.set(n,t,n);this.cone.position.y=e;this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e);this.cone.material.color.set(e)}copy(e){super.copy(e,false);this.line.copy(e.line);this.cone.copy(e.cone);return this}}class AxesHelper extends LineSegments{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e];const n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1];const r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute(t,3));r.setAttribute(\"color\",new Float32BufferAttribute(n,3));const i=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(r,i);this.type=\"AxesHelper\"}setColors(e,t,n){const r=new Color;const i=this.geometry.attributes.color.array;r.set(e);r.toArray(i,0);r.toArray(i,3);r.set(t);r.toArray(i,6);r.toArray(i,9);r.set(n);r.toArray(i,12);r.toArray(i,15);this.geometry.attributes.color.needsUpdate=true;return this}dispose(){this.geometry.dispose();this.material.dispose()}}class ShapePath{constructor(){this.type=\"ShapePath\";this.color=new Color;this.subPaths=[];this.currentPath=null}moveTo(e,t){this.currentPath=new Path;this.subPaths.push(this.currentPath);this.currentPath.moveTo(e,t);return this}lineTo(e,t){this.currentPath.lineTo(e,t);return this}quadraticCurveTo(e,t,n,r){this.currentPath.quadraticCurveTo(e,t,n,r);return this}bezierCurveTo(e,t,n,r,i,s){this.currentPath.bezierCurveTo(e,t,n,r,i,s);return this}splineThru(e){this.currentPath.splineThru(e);return this}toShapes(e,t){function toShapesNoHoles(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];const i=new Shape;i.curves=r.curves;t.push(i)}return t}function isPointInsidePolygon(e,t){const n=t.length;let r=false;for(let i=n-1,s=0;s<n;i=s++){let n=t[i];let a=t[s];let o=a.x-n.x;let l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0){n=t[s];o=-o;a=t[i];l=-l}if(e.y<n.y||e.y>a.y)continue;if(e.y===n.y){if(e.x===n.x)return true}else{const t=l*(e.x-n.x)-o*(e.y-n.y);if(0===t)return true;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(a.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=a.x)return true}}return r}const n=ShapeUtils.isClockWise;const r=this.subPaths;if(0===r.length)return[];if(true===t)return toShapesNoHoles(r);let i,s,a;const o=[];if(1===r.length){s=r[0];a=new Shape;a.curves=s.curves;o.push(a);return o}let l=!n(r[0].getPoints());l=e?!l:l;const c=[];const u=[];let h=[];let d=0;let p;u[d]=void 0;h[d]=[];for(let t=0,a=r.length;t<a;t++){s=r[t];p=s.getPoints();i=n(p);i=e?!i:i;if(i){!l&&u[d]&&d++;u[d]={s:new Shape,p:p};u[d].s.curves=s.curves;l&&d++;h[d]=[]}else h[d].push({h:s,p:p[0]})}if(!u[0])return toShapesNoHoles(r);if(u.length>1){let e=false;const t=[];for(let e=0,t=u.length;e<t;e++)c[e]=[];for(let n=0,r=u.length;n<r;n++){const r=h[n];for(let i=0;i<r.length;i++){const s=r[i];let a=true;for(let r=0;r<u.length;r++)if(isPointInsidePolygon(s.p,u[r].p)){n!==r&&t.push({froms:n,tos:r,hole:i});if(a){a=false;c[r].push(s)}else e=true}a&&c[n].push(s)}}t.length>0&&(e||(h=c))}let f;for(let e=0,t=u.length;e<t;e++){a=u[e].s;o.push(a);f=h[e];for(let e=0,t=f.length;e<t;e++)a.holes.push(f[e].h)}return o}}const Bc=new Float32Array(1);const Vc=new Int32Array(Bc.buffer);class DataUtils{static toHalfFloat(e){if(e>65504){console.warn(\"THREE.DataUtils.toHalfFloat(): value exceeds 65504.\");e=65504}Bc[0]=e;const t=Vc[0];let n=t>>16&32768;let r=t>>12&2047;const i=t>>23&255;if(i<103)return n;if(i>142){n|=31744;n|=(255==i?0:1)&&8388607&t;return n}if(i<113){r|=2048;n|=(r>>114-i)+(r>>113-i&1);return n}n|=i-112<<10|r>>1;n+=1&r;return n}}const Nc=0;const Uc=1;const zc=0;const Gc=1;const Fc=2;function MeshFaceMaterial(e){console.warn(\"THREE.MeshFaceMaterial has been removed. Use an Array instead.\");return e}function MultiMaterial(e=[]){console.warn(\"THREE.MultiMaterial has been removed. Use an Array instead.\");e.isMultiMaterial=true;e.materials=e;e.clone=function(){return e.slice()};return e}function PointCloud(e,t){console.warn(\"THREE.PointCloud has been renamed to THREE.Points.\");return new Points(e,t)}function Particle(e){console.warn(\"THREE.Particle has been renamed to THREE.Sprite.\");return new Sprite(e)}function ParticleSystem(e,t){console.warn(\"THREE.ParticleSystem has been renamed to THREE.Points.\");return new Points(e,t)}function PointCloudMaterial(e){console.warn(\"THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function ParticleBasicMaterial(e){console.warn(\"THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function ParticleSystemMaterial(e){console.warn(\"THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function Vertex(e,t,n){console.warn(\"THREE.Vertex has been removed. Use THREE.Vector3 instead.\");return new Vector3(e,t,n)}function DynamicBufferAttribute(e,t){console.warn(\"THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.\");return new BufferAttribute(e,t).setUsage(yn)}function Int8Attribute(e,t){console.warn(\"THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.\");return new Int8BufferAttribute(e,t)}function Uint8Attribute(e,t){console.warn(\"THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.\");return new Uint8BufferAttribute(e,t)}function Uint8ClampedAttribute(e,t){console.warn(\"THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.\");return new Uint8ClampedBufferAttribute(e,t)}function Int16Attribute(e,t){console.warn(\"THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.\");return new Int16BufferAttribute(e,t)}function Uint16Attribute(e,t){console.warn(\"THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.\");return new Uint16BufferAttribute(e,t)}function Int32Attribute(e,t){console.warn(\"THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.\");return new Int32BufferAttribute(e,t)}function Uint32Attribute(e,t){console.warn(\"THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.\");return new Uint32BufferAttribute(e,t)}function Float32Attribute(e,t){console.warn(\"THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.\");return new Float32BufferAttribute(e,t)}function Float64Attribute(e,t){console.warn(\"THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.\");return new Float64BufferAttribute(e,t)}Curve.create=function(e,t){console.log(\"THREE.Curve.create() has been deprecated\");e.prototype=Object.create(Curve.prototype);e.prototype.constructor=e;e.prototype.getPoint=t;return e};Path.prototype.fromPoints=function(e){console.warn(\"THREE.Path: .fromPoints() has been renamed to .setFromPoints().\");return this.setFromPoints(e)};function AxisHelper(e){console.warn(\"THREE.AxisHelper has been renamed to THREE.AxesHelper.\");return new AxesHelper(e)}function BoundingBoxHelper(e,t){console.warn(\"THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.\");return new BoxHelper(e,t)}function EdgesHelper(e,t){console.warn(\"THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.\");return new LineSegments(new EdgesGeometry(e.geometry),new LineBasicMaterial({color:void 0!==t?t:16777215}))}GridHelper.prototype.setColors=function(){console.error(\"THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.\")};SkeletonHelper.prototype.update=function(){console.error(\"THREE.SkeletonHelper: update() no longer needs to be called.\")};function WireframeHelper(e,t){console.warn(\"THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.\");return new LineSegments(new WireframeGeometry(e.geometry),new LineBasicMaterial({color:void 0!==t?t:16777215}))}Loader.prototype.extractUrlBase=function(e){console.warn(\"THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.\");return LoaderUtils.extractUrlBase(e)};Loader.Handlers={add:function(){console.error(\"THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.\")},get:function(){console.error(\"THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.\")}};function XHRLoader(e){console.warn(\"THREE.XHRLoader has been renamed to THREE.FileLoader.\");return new FileLoader(e)}function BinaryTextureLoader(e){console.warn(\"THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.\");return new DataTextureLoader(e)}Box2.prototype.center=function(e){console.warn(\"THREE.Box2: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Box2.prototype.empty=function(){console.warn(\"THREE.Box2: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Box2.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Box2.prototype.size=function(e){console.warn(\"THREE.Box2: .size() has been renamed to .getSize().\");return this.getSize(e)};Box3.prototype.center=function(e){console.warn(\"THREE.Box3: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Box3.prototype.empty=function(){console.warn(\"THREE.Box3: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Box3.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Box3.prototype.isIntersectionSphere=function(e){console.warn(\"THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().\");return this.intersectsSphere(e)};Box3.prototype.size=function(e){console.warn(\"THREE.Box3: .size() has been renamed to .getSize().\");return this.getSize(e)};Sphere.prototype.empty=function(){console.warn(\"THREE.Sphere: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Frustum.prototype.setFromMatrix=function(e){console.warn(\"THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().\");return this.setFromProjectionMatrix(e)};Line3.prototype.center=function(e){console.warn(\"THREE.Line3: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Matrix3.prototype.flattenToArrayOffset=function(e,t){console.warn(\"THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.\");return this.toArray(e,t)};Matrix3.prototype.multiplyVector3=function(e){console.warn(\"THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.\");return e.applyMatrix3(this)};Matrix3.prototype.multiplyVector3Array=function(){console.error(\"THREE.Matrix3: .multiplyVector3Array() has been removed.\")};Matrix3.prototype.applyToBufferAttribute=function(e){console.warn(\"THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.\");return e.applyMatrix3(this)};Matrix3.prototype.applyToVector3Array=function(){console.error(\"THREE.Matrix3: .applyToVector3Array() has been removed.\")};Matrix3.prototype.getInverse=function(e){console.warn(\"THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.\");return this.copy(e).invert()};Matrix4.prototype.extractPosition=function(e){console.warn(\"THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().\");return this.copyPosition(e)};Matrix4.prototype.flattenToArrayOffset=function(e,t){console.warn(\"THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.\");return this.toArray(e,t)};Matrix4.prototype.getPosition=function(){console.warn(\"THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.\");return(new Vector3).setFromMatrixColumn(this,3)};Matrix4.prototype.setRotationFromQuaternion=function(e){console.warn(\"THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().\");return this.makeRotationFromQuaternion(e)};Matrix4.prototype.multiplyToArray=function(){console.warn(\"THREE.Matrix4: .multiplyToArray() has been removed.\")};Matrix4.prototype.multiplyVector3=function(e){console.warn(\"THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.multiplyVector4=function(e){console.warn(\"THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.multiplyVector3Array=function(){console.error(\"THREE.Matrix4: .multiplyVector3Array() has been removed.\")};Matrix4.prototype.rotateAxis=function(e){console.warn(\"THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.\");e.transformDirection(this)};Matrix4.prototype.crossVector=function(e){console.warn(\"THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.translate=function(){console.error(\"THREE.Matrix4: .translate() has been removed.\")};Matrix4.prototype.rotateX=function(){console.error(\"THREE.Matrix4: .rotateX() has been removed.\")};Matrix4.prototype.rotateY=function(){console.error(\"THREE.Matrix4: .rotateY() has been removed.\")};Matrix4.prototype.rotateZ=function(){console.error(\"THREE.Matrix4: .rotateZ() has been removed.\")};Matrix4.prototype.rotateByAxis=function(){console.error(\"THREE.Matrix4: .rotateByAxis() has been removed.\")};Matrix4.prototype.applyToBufferAttribute=function(e){console.warn(\"THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.applyToVector3Array=function(){console.error(\"THREE.Matrix4: .applyToVector3Array() has been removed.\")};Matrix4.prototype.makeFrustum=function(e,t,n,r,i,s){console.warn(\"THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.\");return this.makePerspective(e,t,r,n,i,s)};Matrix4.prototype.getInverse=function(e){console.warn(\"THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.\");return this.copy(e).invert()};Plane.prototype.isIntersectionLine=function(e){console.warn(\"THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().\");return this.intersectsLine(e)};Quaternion.prototype.multiplyVector3=function(e){console.warn(\"THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.\");return e.applyQuaternion(this)};Quaternion.prototype.inverse=function(){console.warn(\"THREE.Quaternion: .inverse() has been renamed to invert().\");return this.invert()};Ray.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Ray.prototype.isIntersectionPlane=function(e){console.warn(\"THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().\");return this.intersectsPlane(e)};Ray.prototype.isIntersectionSphere=function(e){console.warn(\"THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().\");return this.intersectsSphere(e)};Triangle.prototype.area=function(){console.warn(\"THREE.Triangle: .area() has been renamed to .getArea().\");return this.getArea()};Triangle.prototype.barycoordFromPoint=function(e,t){console.warn(\"THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().\");return this.getBarycoord(e,t)};Triangle.prototype.midpoint=function(e){console.warn(\"THREE.Triangle: .midpoint() has been renamed to .getMidpoint().\");return this.getMidpoint(e)};Triangle.prototypenormal=function(e){console.warn(\"THREE.Triangle: .normal() has been renamed to .getNormal().\");return this.getNormal(e)};Triangle.prototype.plane=function(e){console.warn(\"THREE.Triangle: .plane() has been renamed to .getPlane().\");return this.getPlane(e)};Triangle.barycoordFromPoint=function(e,t,n,r,i){console.warn(\"THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().\");return Triangle.getBarycoord(e,t,n,r,i)};Triangle.normal=function(e,t,n,r){console.warn(\"THREE.Triangle: .normal() has been renamed to .getNormal().\");return Triangle.getNormal(e,t,n,r)};Shape.prototype.extractAllPoints=function(e){console.warn(\"THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.\");return this.extractPoints(e)};Shape.prototype.extrude=function(e){console.warn(\"THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.\");return new ExtrudeGeometry(this,e)};Shape.prototype.makeGeometry=function(e){console.warn(\"THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.\");return new ShapeGeometry(this,e)};Vector2.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector2.prototype.distanceToManhattan=function(e){console.warn(\"THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().\");return this.manhattanDistanceTo(e)};Vector2.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Vector3.prototype.setEulerFromRotationMatrix=function(){console.error(\"THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.\")};Vector3.prototype.setEulerFromQuaternion=function(){console.error(\"THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.\")};Vector3.prototype.getPositionFromMatrix=function(e){console.warn(\"THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().\");return this.setFromMatrixPosition(e)};Vector3.prototype.getScaleFromMatrix=function(e){console.warn(\"THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().\");return this.setFromMatrixScale(e)};Vector3.prototype.getColumnFromMatrix=function(e,t){console.warn(\"THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().\");return this.setFromMatrixColumn(t,e)};Vector3.prototype.applyProjection=function(e){console.warn(\"THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.\");return this.applyMatrix4(e)};Vector3.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector3.prototype.distanceToManhattan=function(e){console.warn(\"THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().\");return this.manhattanDistanceTo(e)};Vector3.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Vector4.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector4.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Object3D.prototype.getChildByName=function(e){console.warn(\"THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().\");return this.getObjectByName(e)};Object3D.prototype.renderDepth=function(){console.warn(\"THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.\")};Object3D.prototype.translate=function(e,t){console.warn(\"THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.\");return this.translateOnAxis(t,e)};Object3D.prototype.getWorldRotation=function(){console.error(\"THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.\")};Object3D.prototype.applyMatrix=function(e){console.warn(\"THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().\");return this.applyMatrix4(e)};Object.defineProperties(Object3D.prototype,{eulerOrder:{get:function(){console.warn(\"THREE.Object3D: .eulerOrder is now .rotation.order.\");return this.rotation.order},set:function(e){console.warn(\"THREE.Object3D: .eulerOrder is now .rotation.order.\");this.rotation.order=e}},useQuaternion:{get:function(){console.warn(\"THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.\")},set:function(){console.warn(\"THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.\")}}});Mesh.prototype.setDrawMode=function(){console.error(\"THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.\")};Object.defineProperties(Mesh.prototype,{drawMode:{get:function(){console.error(\"THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.\");return Wt},set:function(){console.error(\"THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.\")}}});SkinnedMesh.prototype.initBones=function(){console.error(\"THREE.SkinnedMesh: initBones() has been removed.\")};PerspectiveCamera.prototype.setLens=function(e,t){console.warn(\"THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.\");void 0!==t&&(this.filmGauge=t);this.setFocalLength(e)};Object.defineProperties(Light.prototype,{onlyShadow:{set:function(){console.warn(\"THREE.Light: .onlyShadow has been removed.\")}},shadowCameraFov:{set:function(e){console.warn(\"THREE.Light: .shadowCameraFov is now .shadow.camera.fov.\");this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn(\"THREE.Light: .shadowCameraLeft is now .shadow.camera.left.\");this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn(\"THREE.Light: .shadowCameraRight is now .shadow.camera.right.\");this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn(\"THREE.Light: .shadowCameraTop is now .shadow.camera.top.\");this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn(\"THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.\");this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn(\"THREE.Light: .shadowCameraNear is now .shadow.camera.near.\");this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn(\"THREE.Light: .shadowCameraFar is now .shadow.camera.far.\");this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn(\"THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.\")}},shadowBias:{set:function(e){console.warn(\"THREE.Light: .shadowBias is now .shadow.bias.\");this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn(\"THREE.Light: .shadowDarkness has been removed.\")}},shadowMapWidth:{set:function(e){console.warn(\"THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.\");this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn(\"THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.\");this.shadow.mapSize.height=e}}});Object.defineProperties(BufferAttribute.prototype,{length:{get:function(){console.warn(\"THREE.BufferAttribute: .length has been deprecated. Use .count instead.\");return this.array.length}},dynamic:{get:function(){console.warn(\"THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.\");return this.usage===yn},set:function(){console.warn(\"THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.\");this.setUsage(yn)}}});BufferAttribute.prototype.setDynamic=function(e){console.warn(\"THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.\");this.setUsage(true===e?yn:gn);return this};BufferAttribute.prototype.copyIndicesArray=function(){console.error(\"THREE.BufferAttribute: .copyIndicesArray() has been removed.\")},BufferAttribute.prototype.setArray=function(){console.error(\"THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers\")};BufferGeometry.prototype.addIndex=function(e){console.warn(\"THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().\");this.setIndex(e)};BufferGeometry.prototype.addAttribute=function(e,t){console.warn(\"THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().\");if(!(t&&t.isBufferAttribute)&&!(t&&t.isInterleavedBufferAttribute)){console.warn(\"THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).\");return this.setAttribute(e,new BufferAttribute(arguments[1],arguments[2]))}if(\"index\"===e){console.warn(\"THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.\");this.setIndex(t);return this}return this.setAttribute(e,t)};BufferGeometry.prototype.addDrawCall=function(e,t,n){void 0!==n&&console.warn(\"THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.\");console.warn(\"THREE.BufferGeometry: .addDrawCall() is now .addGroup().\");this.addGroup(e,t)};BufferGeometry.prototype.clearDrawCalls=function(){console.warn(\"THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().\");this.clearGroups()};BufferGeometry.prototype.computeOffsets=function(){console.warn(\"THREE.BufferGeometry: .computeOffsets() has been removed.\")};BufferGeometry.prototype.removeAttribute=function(e){console.warn(\"THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().\");return this.deleteAttribute(e)};BufferGeometry.prototype.applyMatrix=function(e){console.warn(\"THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().\");return this.applyMatrix4(e)};Object.defineProperties(BufferGeometry.prototype,{drawcalls:{get:function(){console.error(\"THREE.BufferGeometry: .drawcalls has been renamed to .groups.\");return this.groups}},offsets:{get:function(){console.warn(\"THREE.BufferGeometry: .offsets has been renamed to .groups.\");return this.groups}}});InterleavedBuffer.prototype.setDynamic=function(e){console.warn(\"THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.\");this.setUsage(true===e?yn:gn);return this};InterleavedBuffer.prototype.setArray=function(){console.error(\"THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers\")};ExtrudeGeometry.prototype.getArrays=function(){console.error(\"THREE.ExtrudeGeometry: .getArrays() has been removed.\")};ExtrudeGeometry.prototype.addShapeList=function(){console.error(\"THREE.ExtrudeGeometry: .addShapeList() has been removed.\")};ExtrudeGeometry.prototype.addShape=function(){console.error(\"THREE.ExtrudeGeometry: .addShape() has been removed.\")};Scene.prototype.dispose=function(){console.error(\"THREE.Scene: .dispose() has been removed.\")};Uniform.prototype.onUpdate=function(){console.warn(\"THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.\");return this};Object.defineProperties(Material.prototype,{wrapAround:{get:function(){console.warn(\"THREE.Material: .wrapAround has been removed.\")},set:function(){console.warn(\"THREE.Material: .wrapAround has been removed.\")}},overdraw:{get:function(){console.warn(\"THREE.Material: .overdraw has been removed.\")},set:function(){console.warn(\"THREE.Material: .overdraw has been removed.\")}},wrapRGB:{get:function(){console.warn(\"THREE.Material: .wrapRGB has been removed.\");return new Color}},shading:{get:function(){console.error(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\")},set:function(e){console.warn(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\");this.flatShading=e===f}},stencilMask:{get:function(){console.warn(\"THREE.\"+this.type+\": .stencilMask has been removed. Use .stencilFuncMask instead.\");return this.stencilFuncMask},set:function(e){console.warn(\"THREE.\"+this.type+\": .stencilMask has been removed. Use .stencilFuncMask instead.\");this.stencilFuncMask=e}},vertexTangents:{get:function(){console.warn(\"THREE.\"+this.type+\": .vertexTangents has been removed.\")},set:function(){console.warn(\"THREE.\"+this.type+\": .vertexTangents has been removed.\")}}});Object.defineProperties(ShaderMaterial.prototype,{derivatives:{get:function(){console.warn(\"THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.\");return this.extensions.derivatives},set:function(e){console.warn(\"THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.\");this.extensions.derivatives=e}}});WebGLRenderer.prototype.clearTarget=function(e,t,n,r){console.warn(\"THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.\");this.setRenderTarget(e);this.clear(t,n,r)};WebGLRenderer.prototype.animate=function(e){console.warn(\"THREE.WebGLRenderer: .animate() is now .setAnimationLoop().\");this.setAnimationLoop(e)};WebGLRenderer.prototype.getCurrentRenderTarget=function(){console.warn(\"THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().\");return this.getRenderTarget()};WebGLRenderer.prototype.getMaxAnisotropy=function(){console.warn(\"THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().\");return this.capabilities.getMaxAnisotropy()};WebGLRenderer.prototype.getPrecision=function(){console.warn(\"THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.\");return this.capabilities.precision};WebGLRenderer.prototype.resetGLState=function(){console.warn(\"THREE.WebGLRenderer: .resetGLState() is now .state.reset().\");return this.state.reset()};WebGLRenderer.prototype.supportsFloatTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).\");return this.extensions.get(\"OES_texture_float\")};WebGLRenderer.prototype.supportsHalfFloatTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).\");return this.extensions.get(\"OES_texture_half_float\")};WebGLRenderer.prototype.supportsStandardDerivatives=function(){console.warn(\"THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).\");return this.extensions.get(\"OES_standard_derivatives\")};WebGLRenderer.prototype.supportsCompressedTextureS3TC=function(){console.warn(\"THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).\");return this.extensions.get(\"WEBGL_compressed_texture_s3tc\")};WebGLRenderer.prototype.supportsCompressedTexturePVRTC=function(){console.warn(\"THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).\");return this.extensions.get(\"WEBGL_compressed_texture_pvrtc\")};WebGLRenderer.prototype.supportsBlendMinMax=function(){console.warn(\"THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).\");return this.extensions.get(\"EXT_blend_minmax\")};WebGLRenderer.prototype.supportsVertexTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.\");return this.capabilities.vertexTextures};WebGLRenderer.prototype.supportsInstancedArrays=function(){console.warn(\"THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).\");return this.extensions.get(\"ANGLE_instanced_arrays\")};WebGLRenderer.prototype.enableScissorTest=function(e){console.warn(\"THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().\");this.setScissorTest(e)};WebGLRenderer.prototype.initMaterial=function(){console.warn(\"THREE.WebGLRenderer: .initMaterial() has been removed.\")};WebGLRenderer.prototype.addPrePlugin=function(){console.warn(\"THREE.WebGLRenderer: .addPrePlugin() has been removed.\")};WebGLRenderer.prototype.addPostPlugin=function(){console.warn(\"THREE.WebGLRenderer: .addPostPlugin() has been removed.\")};WebGLRenderer.prototype.updateShadowMap=function(){console.warn(\"THREE.WebGLRenderer: .updateShadowMap() has been removed.\")};WebGLRenderer.prototype.setFaceCulling=function(){console.warn(\"THREE.WebGLRenderer: .setFaceCulling() has been removed.\")};WebGLRenderer.prototype.allocTextureUnit=function(){console.warn(\"THREE.WebGLRenderer: .allocTextureUnit() has been removed.\")};WebGLRenderer.prototype.setTexture=function(){console.warn(\"THREE.WebGLRenderer: .setTexture() has been removed.\")};WebGLRenderer.prototype.setTexture2D=function(){console.warn(\"THREE.WebGLRenderer: .setTexture2D() has been removed.\")};WebGLRenderer.prototype.setTextureCube=function(){console.warn(\"THREE.WebGLRenderer: .setTextureCube() has been removed.\")};WebGLRenderer.prototype.getActiveMipMapLevel=function(){console.warn(\"THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().\");return this.getActiveMipmapLevel()};Object.defineProperties(WebGLRenderer.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn(\"THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.\");this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn(\"THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.\");this.shadowMap.type=e}},shadowMapCullFace:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.\")}},context:{get:function(){console.warn(\"THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.\");return this.getContext()}},vr:{get:function(){console.warn(\"THREE.WebGLRenderer: .vr has been renamed to .xr\");return this.xr}},gammaInput:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.\");return false},set:function(){console.warn(\"THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.\")}},gammaOutput:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.\");return false},set:function(e){console.warn(\"THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.\");this.outputEncoding=true===e?Jt:Xt}},toneMappingWhitePoint:{get:function(){console.warn(\"THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.\");return 1},set:function(){console.warn(\"THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.\")}},gammaFactor:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaFactor has been removed.\");return 2},set:function(){console.warn(\"THREE.WebGLRenderer: .gammaFactor has been removed.\")}}});Object.defineProperties(WebGLShadowMap.prototype,{cullFace:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.\")}},renderReverseSided:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.\")}},renderSingleSided:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.\")}}});function WebGLRenderTargetCube(e,t,n){console.warn(\"THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).\");return new WebGLCubeRenderTarget(e,n)}Object.defineProperties(WebGLRenderTarget.prototype,{wrapS:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.\");return this.texture.wrapS},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.\");this.texture.wrapS=e}},wrapT:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.\");return this.texture.wrapT},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.\");this.texture.wrapT=e}},magFilter:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.\");return this.texture.magFilter},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.\");this.texture.magFilter=e}},minFilter:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.\");return this.texture.minFilter},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.\");this.texture.minFilter=e}},anisotropy:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.\");return this.texture.anisotropy},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.\");this.texture.anisotropy=e}},offset:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .offset is now .texture.offset.\");return this.texture.offset},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .offset is now .texture.offset.\");this.texture.offset=e}},repeat:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .repeat is now .texture.repeat.\");return this.texture.repeat},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .repeat is now .texture.repeat.\");this.texture.repeat=e}},format:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .format is now .texture.format.\");return this.texture.format},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .format is now .texture.format.\");this.texture.format=e}},type:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .type is now .texture.type.\");return this.texture.type},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .type is now .texture.type.\");this.texture.type=e}},generateMipmaps:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.\");return this.texture.generateMipmaps},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.\");this.texture.generateMipmaps=e}}});Audio.prototype.load=function(e){console.warn(\"THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.\");const t=this;const n=new AudioLoader;n.load(e,(function(e){t.setBuffer(e)}));return this};AudioAnalyser.prototype.getData=function(){console.warn(\"THREE.AudioAnalyser: .getData() is now .getFrequencyData().\");return this.getFrequencyData()};CubeCamera.prototype.updateCubeMap=function(e,t){console.warn(\"THREE.CubeCamera: .updateCubeMap() is now .update().\");return this.update(e,t)};CubeCamera.prototype.clear=function(e,t,n,r){console.warn(\"THREE.CubeCamera: .clear() is now .renderTarget.clear().\");return this.renderTarget.clear(e,t,n,r)};ImageUtils.crossOrigin=void 0;ImageUtils.loadTexture=function(e,t,n,r){console.warn(\"THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.\");const i=new TextureLoader;i.setCrossOrigin(this.crossOrigin);const s=i.load(e,n,void 0,r);t&&(s.mapping=t);return s};ImageUtils.loadTextureCube=function(e,t,n,r){console.warn(\"THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.\");const i=new CubeTextureLoader;i.setCrossOrigin(this.crossOrigin);const s=i.load(e,n,void 0,r);t&&(s.mapping=t);return s};ImageUtils.loadCompressedTexture=function(){console.error(\"THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.\")};ImageUtils.loadCompressedTextureCube=function(){console.error(\"THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.\")};function CanvasRenderer(){console.error(\"THREE.CanvasRenderer has been removed\")}function JSONLoader(){console.error(\"THREE.JSONLoader has been removed.\")}const Oc={createMultiMaterialObject:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")},detach:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")},attach:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")}};function LensFlare(){console.error(\"THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js\")}function ParametricGeometry(){console.error(\"THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js\");return new BufferGeometry}function TextGeometry(){console.error(\"THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js\");return new BufferGeometry}function FontLoader(){console.error(\"THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js\")}function Font(){console.error(\"THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js\")}function ImmediateRenderObject(){console.error(\"THREE.ImmediateRenderObject has been removed.\")}\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:e}}));\"undefined\"!==typeof window&&(window.__THREE__?console.warn(\"WARNING: Multiple instances of Three.js being imported.\"):window.__THREE__=e);export{ee as ACESFilmicToneMapping,w as AddEquation,Y as AddOperation,kt as AdditiveAnimationBlendMode,x as AdditiveBlending,Be as AlphaFormat,F as AlwaysDepth,mn as AlwaysStencilFunc,AmbientLight,AmbientLightProbe,AnimationClip,AnimationLoader,AnimationMixer,AnimationObjectGroup,Dl as AnimationUtils,ArcCurve,ArrayCamera,ArrowHelper,Audio,AudioAnalyser,Xl as AudioContext,AudioListener,AudioLoader,AxesHelper,AxisHelper,d as BackSide,Yt as BasicDepthPacking,o as BasicShadowMap,BinaryTextureLoader,Bone,BooleanKeyframeTrack,BoundingBoxHelper,Box2,Box3,Box3Helper,BoxGeometry as BoxBufferGeometry,BoxGeometry,BoxHelper,BufferAttribute,BufferGeometry,BufferGeometryLoader,we as ByteType,Bl as Cache,Camera,CameraHelper,CanvasRenderer,CanvasTexture,CatmullRomCurve3,$ as CineonToneMapping,CircleGeometry as CircleBufferGeometry,CircleGeometry,ue as ClampToEdgeWrapping,Clock,Color,ColorKeyframeTrack,CompressedTexture,CompressedTextureLoader,ConeGeometry as ConeBufferGeometry,ConeGeometry,CubeCamera,re as CubeReflectionMapping,ie as CubeRefractionMapping,CubeTexture,CubeTextureLoader,oe as CubeUVReflectionMapping,le as CubeUVRefractionMapping,CubicBezierCurve,CubicBezierCurve3,CubicInterpolant,i as CullFaceBack,s as CullFaceFront,a as CullFaceFrontBack,r as CullFaceNone,Curve,CurvePath,M as CustomBlending,te as CustomToneMapping,CylinderGeometry as CylinderBufferGeometry,CylinderGeometry,Cylindrical,DataTexture,DataTexture2DArray,DataTexture3D,DataTextureLoader,DataUtils,rn as DecrementStencilOp,an as DecrementWrapStencilOp,Vl as DefaultLoadingManager,Ge as DepthFormat,Fe as DepthStencilFormat,DepthTexture,DirectionalLight,DirectionalLightHelper,DiscreteInterpolant,DodecahedronGeometry as DodecahedronBufferGeometry,DodecahedronGeometry,p as DoubleSide,B as DstAlphaFactor,N as DstColorFactor,DynamicBufferAttribute,wn as DynamicCopyUsage,yn as DynamicDrawUsage,bn as DynamicReadUsage,EdgesGeometry,EdgesHelper,EllipseCurve,k as EqualDepth,un as EqualStencilFunc,se as EquirectangularReflectionMapping,ae as EquirectangularRefractionMapping,Euler,EventDispatcher,ExtrudeGeometry as ExtrudeBufferGeometry,ExtrudeGeometry,Gc as FaceColors,FileLoader,f as FlatShading,Float16BufferAttribute,Float32Attribute,Float32BufferAttribute,Float64Attribute,Float64BufferAttribute,Le as FloatType,Fog,FogExp2,Font,FontLoader,FramebufferTexture,h as FrontSide,Frustum,GLBufferAttribute,Tn as GLSL1,En as GLSL3,j as GreaterDepth,W as GreaterEqualDepth,fn as GreaterEqualStencilFunc,dn as GreaterStencilFunc,GridHelper,Group,Ce as HalfFloatType,HemisphereLight,HemisphereLightHelper,HemisphereLightProbe,IcosahedronGeometry as IcosahedronBufferGeometry,IcosahedronGeometry,ImageBitmapLoader,ImageLoader,ImageUtils,ImmediateRenderObject,nn as IncrementStencilOp,sn as IncrementWrapStencilOp,InstancedBufferAttribute,InstancedBufferGeometry,InstancedInterleavedBuffer,InstancedMesh,Int16Attribute,Int16BufferAttribute,Int32Attribute,Int32BufferAttribute,Int8Attribute,Int8BufferAttribute,Ee as IntType,InterleavedBuffer,InterleavedBufferAttribute,Interpolant,Nt as InterpolateDiscrete,Ut as InterpolateLinear,zt as InterpolateSmooth,on as InvertStencilOp,JSONLoader,en as KeepStencilOp,KeyframeTrack,LOD,LatheGeometry as LatheBufferGeometry,LatheGeometry,Layers,LensFlare,O as LessDepth,H as LessEqualDepth,hn as LessEqualStencilFunc,cn as LessStencilFunc,Light,LightProbe,Line,Line3,LineBasicMaterial,LineCurve,LineCurve3,LineDashedMaterial,LineLoop,Uc as LinePieces,LineSegments,Nc as LineStrip,Xt as LinearEncoding,ye as LinearFilter,LinearInterpolant,_e as LinearMipMapLinearFilter,xe as LinearMipMapNearestFilter,be as LinearMipmapLinearFilter,ve as LinearMipmapNearestFilter,Q as LinearToneMapping,Loader,LoaderUtils,LoadingManager,Dt as LoopOnce,Vt as LoopPingPong,Bt as LoopRepeat,ze as LuminanceAlphaFormat,Ue as LuminanceFormat,t as MOUSE,Material,MaterialLoader,Pn as Math,Pn as MathUtils,Matrix3,Matrix4,A as MaxEquation,Mesh,MeshBasicMaterial,MeshDepthMaterial,MeshDistanceMaterial,MeshFaceMaterial,MeshLambertMaterial,MeshMatcapMaterial,MeshNormalMaterial,MeshPhongMaterial,MeshPhysicalMaterial,MeshStandardMaterial,MeshToonMaterial,E as MinEquation,he as MirroredRepeatWrapping,J as MixOperation,MultiMaterial,_ as MultiplyBlending,X as MultiplyOperation,de as NearestFilter,ge as NearestMipMapLinearFilter,fe as NearestMipMapNearestFilter,me as NearestMipmapLinearFilter,pe as NearestMipmapNearestFilter,G as NeverDepth,ln as NeverStencilFunc,g as NoBlending,zc as NoColors,Z as NoToneMapping,Ht as NormalAnimationBlendMode,y as NormalBlending,q as NotEqualDepth,pn as NotEqualStencilFunc,NumberKeyframeTrack,Object3D,ObjectLoader,Kt as ObjectSpaceNormalMap,OctahedronGeometry as OctahedronBufferGeometry,OctahedronGeometry,C as OneFactor,V as OneMinusDstAlphaFactor,U as OneMinusDstColorFactor,D as OneMinusSrcAlphaFactor,P as OneMinusSrcColorFactor,OrthographicCamera,l as PCFShadowMap,c as PCFSoftShadowMap,PMREMGenerator,ParametricGeometry,Particle,ParticleBasicMaterial,ParticleSystem,ParticleSystemMaterial,Path,PerspectiveCamera,Plane,PlaneGeometry as PlaneBufferGeometry,PlaneGeometry,PlaneHelper,PointCloud,PointCloudMaterial,PointLight,PointLightHelper,Points,PointsMaterial,PolarGridHelper,PolyhedronGeometry as PolyhedronBufferGeometry,PolyhedronGeometry,PositionalAudio,PropertyBinding,PropertyMixer,QuadraticBezierCurve,QuadraticBezierCurve3,Quaternion,QuaternionKeyframeTrack,QuaternionLinearInterpolant,e as REVISION,Zt as RGBADepthPacking,Ne as RGBAFormat,qe as RGBAIntegerFormat,mt as RGBA_ASTC_10x10_Format,dt as RGBA_ASTC_10x5_Format,pt as RGBA_ASTC_10x6_Format,ft as RGBA_ASTC_10x8_Format,gt as RGBA_ASTC_12x10_Format,yt as RGBA_ASTC_12x12_Format,it as RGBA_ASTC_4x4_Format,st as RGBA_ASTC_5x4_Format,at as RGBA_ASTC_5x5_Format,ot as RGBA_ASTC_6x5_Format,lt as RGBA_ASTC_6x6_Format,ct as RGBA_ASTC_8x5_Format,ut as RGBA_ASTC_8x6_Format,ht as RGBA_ASTC_8x8_Format,vt as RGBA_BPTC_Format,rt as RGBA_ETC2_EAC_Format,et as RGBA_PVRTC_2BPPV1_Format,$e as RGBA_PVRTC_4BPPV1_Format,Je as RGBA_S3TC_DXT1_Format,Ye as RGBA_S3TC_DXT3_Format,Ze as RGBA_S3TC_DXT5_Format,Ve as RGBFormat,je as RGBIntegerFormat,tt as RGB_ETC1_Format,nt as RGB_ETC2_Format,Ke as RGB_PVRTC_2BPPV1_Format,Qe as RGB_PVRTC_4BPPV1_Format,Xe as RGB_S3TC_DXT1_Format,ke as RGFormat,We as RGIntegerFormat,RawShaderMaterial,Ray,Raycaster,RectAreaLight,Oe as RedFormat,He as RedIntegerFormat,K as ReinhardToneMapping,ce as RepeatWrapping,tn as ReplaceStencilOp,T as ReverseSubtractEquation,RingGeometry as RingBufferGeometry,RingGeometry,Rt as SRGB8_ALPHA8_ASTC_10x10_Format,At as SRGB8_ALPHA8_ASTC_10x5_Format,Lt as SRGB8_ALPHA8_ASTC_10x6_Format,Ct as SRGB8_ALPHA8_ASTC_10x8_Format,Pt as SRGB8_ALPHA8_ASTC_12x10_Format,It as SRGB8_ALPHA8_ASTC_12x12_Format,xt as SRGB8_ALPHA8_ASTC_4x4_Format,bt as SRGB8_ALPHA8_ASTC_5x4_Format,_t as SRGB8_ALPHA8_ASTC_5x5_Format,Mt as SRGB8_ALPHA8_ASTC_6x5_Format,wt as SRGB8_ALPHA8_ASTC_6x6_Format,St as SRGB8_ALPHA8_ASTC_8x5_Format,Tt as SRGB8_ALPHA8_ASTC_8x6_Format,Et as SRGB8_ALPHA8_ASTC_8x8_Format,Scene,Oc as SceneUtils,Qa as ShaderChunk,$a as ShaderLib,ShaderMaterial,ShadowMaterial,Shape,ShapeGeometry as ShapeBufferGeometry,ShapeGeometry,ShapePath,ShapeUtils,Se as ShortType,Skeleton,SkeletonHelper,SkinnedMesh,m as SmoothShading,Sphere,SphereGeometry as SphereBufferGeometry,SphereGeometry,Spherical,SphericalHarmonics3,SplineCurve,SpotLight,SpotLightHelper,Sprite,SpriteMaterial,I as SrcAlphaFactor,z as SrcAlphaSaturateFactor,R as SrcColorFactor,Mn as StaticCopyUsage,gn as StaticDrawUsage,xn as StaticReadUsage,StereoCamera,Sn as StreamCopyUsage,vn as StreamDrawUsage,_n as StreamReadUsage,StringKeyframeTrack,S as SubtractEquation,b as SubtractiveBlending,n as TOUCH,Qt as TangentSpaceNormalMap,TetrahedronGeometry as TetrahedronBufferGeometry,TetrahedronGeometry,TextGeometry,Texture,TextureLoader,TorusGeometry as TorusBufferGeometry,TorusGeometry,TorusKnotGeometry as TorusKnotBufferGeometry,TorusKnotGeometry,Triangle,qt as TriangleFanDrawMode,jt as TriangleStripDrawMode,Wt as TrianglesDrawMode,TubeGeometry as TubeBufferGeometry,TubeGeometry,ne as UVMapping,Uint16Attribute,Uint16BufferAttribute,Uint32Attribute,Uint32BufferAttribute,Uint8Attribute,Uint8BufferAttribute,Uint8ClampedAttribute,Uint8ClampedBufferAttribute,Uniform,Ka as UniformsLib,mi as UniformsUtils,Me as UnsignedByteType,De as UnsignedInt248Type,Ae as UnsignedIntType,Re as UnsignedShort4444Type,Pe as UnsignedShort5551Type,Ie as UnsignedShort565Type,Te as UnsignedShortType,u as VSMShadowMap,Vector2,Vector3,Vector4,VectorKeyframeTrack,Vertex,Fc as VertexColors,VideoTexture,WebGL1Renderer,WebGLCubeRenderTarget,WebGLMultipleRenderTargets,WebGLMultisampleRenderTarget,WebGLRenderTarget,WebGLRenderTargetCube,WebGLRenderer,WebGLUtils,WireframeGeometry,WireframeHelper,Ot as WrapAroundEnding,XHRLoader,Gt as ZeroCurvatureEnding,L as ZeroFactor,Ft as ZeroSlopeEnding,$t as ZeroStencilOp,Jt as sRGBEncoding};\n\n//# sourceMappingURL=three.module.js.map","/* esm.sh - three@0.184.0/build/three.core */\nvar Ip=\"184\",Cp={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},zp={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Fp=0,Bp=1,kp=2,Pp=3,Rp=0,Op=1,Ep=2,Np=3,Ar=0,Mc=1,Vp=2,Dp=0,wa=1,Lp=2,Up=3,Wp=4,qp=5,Jp=6,Ma=100,Gp=101,Xp=102,Hp=103,Zp=104,Yp=200,$p=201,jp=202,Qp=203,_a=204,va=205,Kp=206,tf=207,ef=208,sf=209,nf=210,rf=211,of=212,af=213,hf=214,Sa=0,Aa=1,Ta=2,sn=3,Ia=4,Ca=5,za=6,Fa=7,sa=0,lf=1,cf=2,uf=0,df=1,pf=2,ff=3,mf=4,yf=5,gf=6,xf=7,Ba=\"attached\",_c=\"detached\",na=300,Nn=301,vc=302,Sc=303,Ac=304,Tc=306,Tr=1e3,Qt=1001,Ir=1002,Pt=1003,Ic=1004,bf=1004,Cc=1005,wf=1005,Gt=1006,zc=1007,Mf=1007,ra=1008,_f=1008,oa=1009,Fc=1010,Bc=1011,kc=1012,Pc=1013,Vn=1014,Ti=1015,Rc=1016,Oc=1017,Ec=1018,vf=1020,Nc=35902,Vc=35899,Dc=1021,Lc=1022,ts=1023,Cr=1026,Uc=1027,ic=1028,sc=1029,Wc=1030,qc=1031,Sf=1032,Jc=1033,Gc=33776,Xc=33777,Hc=33778,Zc=33779,Yc=35840,$c=35841,jc=35842,Qc=35843,Kc=36196,tu=37492,eu=37496,iu=37488,su=37489,nu=37490,ru=37491,ou=37808,au=37809,hu=37810,lu=37811,cu=37812,uu=37813,du=37814,pu=37815,fu=37816,mu=37817,yu=37818,gu=37819,xu=37820,bu=37821,wu=36492,Mu=36494,_u=36495,vu=36283,Su=36284,Au=36285,Tu=36286,Iu=2200,Cu=2201,zu=2202,nn=2300,zr=2301,Dn=2302,ka=2303,_i=2400,vi=2401,rn=2402,aa=2500,nc=2501,Af=0,Tf=1,If=2,Fu=3200,Cf=3201,zf=3202,Ff=3203,Oi=0,Bf=1,rc=\"\",Nt=\"srgb\",Pa=\"srgb-linear\",Ra=\"linear\",Ln=\"srgb\",kf=\"\",Pf=\"rg\",Rf=\"ga\",Of=0,ei=7680,Ef=7681,Nf=7682,Vf=7683,Df=34055,Lf=34056,Uf=5386,Wf=512,qf=513,Jf=514,Gf=515,Xf=516,Hf=517,Zf=518,Oa=519,Yf=512,$f=513,jf=514,Qf=515,Kf=516,tm=517,em=518,im=519,on=35044,sm=35048,nm=35040,rm=35045,om=35049,am=35041,hm=35046,lm=35050,cm=35042,um=\"100\",dm=\"300 es\",Kt=2e3,Ii=2001,pm={COMPUTE:\"compute\",RENDER:\"render\"},fm={PERSPECTIVE:\"perspective\",LINEAR:\"linear\",FLAT:\"flat\"},mm={NORMAL:\"normal\",CENTROID:\"centroid\",SAMPLE:\"sample\",FIRST:\"first\",EITHER:\"either\"},ym={TEXTURE_COMPARE:\"depthTextureCompare\"};function Bu(h){for(let t=h.length-1;t>=0;--t)if(h[t]>=65535)return!0;return!1}var ku={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Si(h,t){return new ku[h](t)}function oc(h){return ArrayBuffer.isView(h)&&!(h instanceof DataView)}function an(h){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",h)}function gm(){let h=an(\"canvas\");return h.style.display=\"block\",h}var Ea={},ze=null;function xm(h){ze=h}function bm(){return ze}function Na(...h){let t=\"THREE.\"+h.shift();ze?ze(\"log\",t,...h):console.log(t,...h)}function ac(h){let t=h[0];if(typeof t==\"string\"&&t.startsWith(\"TSL:\")){let e=h[1];e&&e.isStackTrace?h[0]+=\" \"+e.getLocation():h[1]='Stack trace not available. Enable \"THREE.Node.captureStackTrace\" to capture stack traces.'}return h}function N(...h){h=ac(h);let t=\"THREE.\"+h.shift();if(ze)ze(\"warn\",t,...h);else{let e=h[0];e&&e.isStackTrace?console.warn(e.getError(t)):console.warn(t,...h)}}function X(...h){h=ac(h);let t=\"THREE.\"+h.shift();if(ze)ze(\"error\",t,...h);else{let e=h[0];e&&e.isStackTrace?console.error(e.getError(t)):console.error(t,...h)}}function Va(...h){let t=h.join(\" \");t in Ea||(Ea[t]=!0,N(...h))}function wm(){return typeof self<\"u\"&&typeof self.scheduler<\"u\"&&typeof self.scheduler.yield<\"u\"?self.scheduler.yield():new Promise(h=>{requestAnimationFrame(h)})}function Mm(h,t,e){return new Promise(function(i,s){function n(){switch(h.clientWaitSync(t,h.SYNC_FLUSH_COMMANDS_BIT,0)){case h.WAIT_FAILED:s();break;case h.TIMEOUT_EXPIRED:setTimeout(n,e);break;default:i()}}setTimeout(n,e)})}var _m={[Sa]:Aa,[Ta]:za,[Ia]:Fa,[sn]:Ca,[Aa]:Sa,[za]:Ta,[Fa]:Ia,[Ca]:sn},Ht=class{addEventListener(t,e){this._listeners===void 0&&(this._listeners={});let i=this._listeners;i[t]===void 0&&(i[t]=[]),i[t].indexOf(e)===-1&&i[t].push(e)}hasEventListener(t,e){let i=this._listeners;return i===void 0?!1:i[t]!==void 0&&i[t].indexOf(e)!==-1}removeEventListener(t,e){let i=this._listeners;if(i===void 0)return;let s=i[t];if(s!==void 0){let n=s.indexOf(e);n!==-1&&s.splice(n,1)}}dispatchEvent(t){let e=this._listeners;if(e===void 0)return;let i=e[t.type];if(i!==void 0){t.target=this;let s=i.slice(0);for(let n=0,r=s.length;n<r;n++)s[n].call(this,t);t.target=null}}},mt=[\"00\",\"01\",\"02\",\"03\",\"04\",\"05\",\"06\",\"07\",\"08\",\"09\",\"0a\",\"0b\",\"0c\",\"0d\",\"0e\",\"0f\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"1a\",\"1b\",\"1c\",\"1d\",\"1e\",\"1f\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\",\"26\",\"27\",\"28\",\"29\",\"2a\",\"2b\",\"2c\",\"2d\",\"2e\",\"2f\",\"30\",\"31\",\"32\",\"33\",\"34\",\"35\",\"36\",\"37\",\"38\",\"39\",\"3a\",\"3b\",\"3c\",\"3d\",\"3e\",\"3f\",\"40\",\"41\",\"42\",\"43\",\"44\",\"45\",\"46\",\"47\",\"48\",\"49\",\"4a\",\"4b\",\"4c\",\"4d\",\"4e\",\"4f\",\"50\",\"51\",\"52\",\"53\",\"54\",\"55\",\"56\",\"57\",\"58\",\"59\",\"5a\",\"5b\",\"5c\",\"5d\",\"5e\",\"5f\",\"60\",\"61\",\"62\",\"63\",\"64\",\"65\",\"66\",\"67\",\"68\",\"69\",\"6a\",\"6b\",\"6c\",\"6d\",\"6e\",\"6f\",\"70\",\"71\",\"72\",\"73\",\"74\",\"75\",\"76\",\"77\",\"78\",\"79\",\"7a\",\"7b\",\"7c\",\"7d\",\"7e\",\"7f\",\"80\",\"81\",\"82\",\"83\",\"84\",\"85\",\"86\",\"87\",\"88\",\"89\",\"8a\",\"8b\",\"8c\",\"8d\",\"8e\",\"8f\",\"90\",\"91\",\"92\",\"93\",\"94\",\"95\",\"96\",\"97\",\"98\",\"99\",\"9a\",\"9b\",\"9c\",\"9d\",\"9e\",\"9f\",\"a0\",\"a1\",\"a2\",\"a3\",\"a4\",\"a5\",\"a6\",\"a7\",\"a8\",\"a9\",\"aa\",\"ab\",\"ac\",\"ad\",\"ae\",\"af\",\"b0\",\"b1\",\"b2\",\"b3\",\"b4\",\"b5\",\"b6\",\"b7\",\"b8\",\"b9\",\"ba\",\"bb\",\"bc\",\"bd\",\"be\",\"bf\",\"c0\",\"c1\",\"c2\",\"c3\",\"c4\",\"c5\",\"c6\",\"c7\",\"c8\",\"c9\",\"ca\",\"cb\",\"cc\",\"cd\",\"ce\",\"cf\",\"d0\",\"d1\",\"d2\",\"d3\",\"d4\",\"d5\",\"d6\",\"d7\",\"d8\",\"d9\",\"da\",\"db\",\"dc\",\"dd\",\"de\",\"df\",\"e0\",\"e1\",\"e2\",\"e3\",\"e4\",\"e5\",\"e6\",\"e7\",\"e8\",\"e9\",\"ea\",\"eb\",\"ec\",\"ed\",\"ee\",\"ef\",\"f0\",\"f1\",\"f2\",\"f3\",\"f4\",\"f5\",\"f6\",\"f7\",\"f8\",\"f9\",\"fa\",\"fb\",\"fc\",\"fd\",\"fe\",\"ff\"],Da=1234567,Ze=Math.PI/180,es=180/Math.PI;function kt(){let h=Math.random()*4294967295|0,t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(mt[h&255]+mt[h>>8&255]+mt[h>>16&255]+mt[h>>24&255]+\"-\"+mt[t&255]+mt[t>>8&255]+\"-\"+mt[t>>16&15|64]+mt[t>>24&255]+\"-\"+mt[e&63|128]+mt[e>>8&255]+\"-\"+mt[e>>16&255]+mt[e>>24&255]+mt[i&255]+mt[i>>8&255]+mt[i>>16&255]+mt[i>>24&255]).toLowerCase()}function V(h,t,e){return Math.max(t,Math.min(e,h))}function ha(h,t){return(h%t+t)%t}function Pu(h,t,e,i,s){return i+(h-t)*(s-i)/(e-t)}function Ru(h,t,e){return h!==t?(e-h)/(t-h):0}function ji(h,t,e){return(1-e)*h+e*t}function Ou(h,t,e,i){return ji(h,t,1-Math.exp(-e*i))}function Eu(h,t=1){return t-Math.abs(ha(h,t*2)-t)}function Nu(h,t,e){return h<=t?0:h>=e?1:(h=(h-t)/(e-t),h*h*(3-2*h))}function Vu(h,t,e){return h<=t?0:h>=e?1:(h=(h-t)/(e-t),h*h*h*(h*(h*6-15)+10))}function Du(h,t){return h+Math.floor(Math.random()*(t-h+1))}function Lu(h,t){return h+Math.random()*(t-h)}function Uu(h){return h*(.5-Math.random())}function Wu(h){h!==void 0&&(Da=h);let t=Da+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function qu(h){return h*Ze}function Ju(h){return h*es}function Gu(h){return(h&h-1)===0&&h!==0}function Xu(h){return Math.pow(2,Math.ceil(Math.log(h)/Math.LN2))}function Hu(h){return Math.pow(2,Math.floor(Math.log(h)/Math.LN2))}function Zu(h,t,e,i,s){let n=Math.cos,r=Math.sin,o=n(e/2),a=r(e/2),l=n((t+i)/2),c=r((t+i)/2),u=n((t-i)/2),d=r((t-i)/2),p=n((i-t)/2),f=r((i-t)/2);switch(s){case\"XYX\":h.set(o*c,a*u,a*d,o*l);break;case\"YZY\":h.set(a*d,o*c,a*u,o*l);break;case\"ZXZ\":h.set(a*u,a*d,o*c,o*l);break;case\"XZX\":h.set(o*c,a*f,a*p,o*l);break;case\"YXY\":h.set(a*p,o*c,a*f,o*l);break;case\"ZYZ\":h.set(a*f,a*p,o*c,o*l);break;default:N(\"MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+s)}}function Mt(h,t){switch(t.constructor){case Float32Array:return h;case Uint32Array:return h/4294967295;case Uint16Array:return h/65535;case Uint8Array:return h/255;case Int32Array:return Math.max(h/2147483647,-1);case Int16Array:return Math.max(h/32767,-1);case Int8Array:return Math.max(h/127,-1);default:throw new Error(\"Invalid component type.\")}}function W(h,t){switch(t.constructor){case Float32Array:return h;case Uint32Array:return Math.round(h*4294967295);case Uint16Array:return Math.round(h*65535);case Uint8Array:return Math.round(h*255);case Int32Array:return Math.round(h*2147483647);case Int16Array:return Math.round(h*32767);case Int8Array:return Math.round(h*127);default:throw new Error(\"Invalid component type.\")}}var vm={DEG2RAD:Ze,RAD2DEG:es,generateUUID:kt,clamp:V,euclideanModulo:ha,mapLinear:Pu,inverseLerp:Ru,lerp:ji,damp:Ou,pingpong:Eu,smoothstep:Nu,smootherstep:Vu,randInt:Du,randFloat:Lu,randFloatSpread:Uu,seededRandom:Wu,degToRad:qu,radToDeg:Ju,isPowerOfTwo:Gu,ceilPowerOfTwo:Xu,floorPowerOfTwo:Hu,setQuaternionFromProperEuler:Zu,normalize:W,denormalize:Mt},C=class h{static{h.prototype.isVector2=!0}constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){let e=this.x,i=this.y,s=t.elements;return this.x=s[0]*e+s[3]*i+s[6],this.y=s[1]*e+s[4]*i+s[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=V(this.x,t.x,e.x),this.y=V(this.y,t.y,e.y),this}clampScalar(t,e){return this.x=V(this.x,t,e),this.y=V(this.y,t,e),this}clampLength(t,e){let i=this.length();return this.divideScalar(i||1).multiplyScalar(V(i,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){let e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;let i=this.dot(t)/e;return Math.acos(V(i,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){let e=this.x-t.x,i=this.y-t.y;return e*e+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){let i=Math.cos(e),s=Math.sin(e),n=this.x-t.x,r=this.y-t.y;return this.x=n*i-r*s+t.x,this.y=n*s+r*i+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},xt=class{constructor(t=0,e=0,i=0,s=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=i,this._w=s}static slerpFlat(t,e,i,s,n,r,o){let a=i[s+0],l=i[s+1],c=i[s+2],u=i[s+3],d=n[r+0],p=n[r+1],f=n[r+2],m=n[r+3];if(u!==m||a!==d||l!==p||c!==f){let g=a*d+l*p+c*f+u*m;g<0&&(d=-d,p=-p,f=-f,m=-m,g=-g);let y=1-o;if(g<.9995){let x=Math.acos(g),b=Math.sin(x);y=Math.sin(y*x)/b,o=Math.sin(o*x)/b,a=a*y+d*o,l=l*y+p*o,c=c*y+f*o,u=u*y+m*o}else{a=a*y+d*o,l=l*y+p*o,c=c*y+f*o,u=u*y+m*o;let x=1/Math.sqrt(a*a+l*l+c*c+u*u);a*=x,l*=x,c*=x,u*=x}}t[e]=a,t[e+1]=l,t[e+2]=c,t[e+3]=u}static multiplyQuaternionsFlat(t,e,i,s,n,r){let o=i[s],a=i[s+1],l=i[s+2],c=i[s+3],u=n[r],d=n[r+1],p=n[r+2],f=n[r+3];return t[e]=o*f+c*u+a*p-l*d,t[e+1]=a*f+c*d+l*u-o*p,t[e+2]=l*f+c*p+o*d-a*u,t[e+3]=c*f-o*u-a*d-l*p,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,i,s){return this._x=t,this._y=e,this._z=i,this._w=s,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){let i=t._x,s=t._y,n=t._z,r=t._order,o=Math.cos,a=Math.sin,l=o(i/2),c=o(s/2),u=o(n/2),d=a(i/2),p=a(s/2),f=a(n/2);switch(r){case\"XYZ\":this._x=d*c*u+l*p*f,this._y=l*p*u-d*c*f,this._z=l*c*f+d*p*u,this._w=l*c*u-d*p*f;break;case\"YXZ\":this._x=d*c*u+l*p*f,this._y=l*p*u-d*c*f,this._z=l*c*f-d*p*u,this._w=l*c*u+d*p*f;break;case\"ZXY\":this._x=d*c*u-l*p*f,this._y=l*p*u+d*c*f,this._z=l*c*f+d*p*u,this._w=l*c*u-d*p*f;break;case\"ZYX\":this._x=d*c*u-l*p*f,this._y=l*p*u+d*c*f,this._z=l*c*f-d*p*u,this._w=l*c*u+d*p*f;break;case\"YZX\":this._x=d*c*u+l*p*f,this._y=l*p*u+d*c*f,this._z=l*c*f-d*p*u,this._w=l*c*u-d*p*f;break;case\"XZY\":this._x=d*c*u-l*p*f,this._y=l*p*u-d*c*f,this._z=l*c*f+d*p*u,this._w=l*c*u+d*p*f;break;default:N(\"Quaternion: .setFromEuler() encountered an unknown order: \"+r)}return e===!0&&this._onChangeCallback(),this}setFromAxisAngle(t,e){let i=e/2,s=Math.sin(i);return this._x=t.x*s,this._y=t.y*s,this._z=t.z*s,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(t){let e=t.elements,i=e[0],s=e[4],n=e[8],r=e[1],o=e[5],a=e[9],l=e[2],c=e[6],u=e[10],d=i+o+u;if(d>0){let p=.5/Math.sqrt(d+1);this._w=.25/p,this._x=(c-a)*p,this._y=(n-l)*p,this._z=(r-s)*p}else if(i>o&&i>u){let p=2*Math.sqrt(1+i-o-u);this._w=(c-a)/p,this._x=.25*p,this._y=(s+r)/p,this._z=(n+l)/p}else if(o>u){let p=2*Math.sqrt(1+o-i-u);this._w=(n-l)/p,this._x=(s+r)/p,this._y=.25*p,this._z=(a+c)/p}else{let p=2*Math.sqrt(1+u-i-o);this._w=(r-s)/p,this._x=(n+l)/p,this._y=(a+c)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let i=t.dot(e)+1;return i<1e-8?(i=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=i):(this._x=0,this._y=-t.z,this._z=t.y,this._w=i)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=i),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(V(this.dot(t),-1,1)))}rotateTowards(t,e){let i=this.angleTo(t);if(i===0)return this;let s=Math.min(1,e/i);return this.slerp(t,s),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return t===0?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){let i=t._x,s=t._y,n=t._z,r=t._w,o=e._x,a=e._y,l=e._z,c=e._w;return this._x=i*c+r*o+s*l-n*a,this._y=s*c+r*a+n*o-i*l,this._z=n*c+r*l+i*a-s*o,this._w=r*c-i*o-s*a-n*l,this._onChangeCallback(),this}slerp(t,e){let i=t._x,s=t._y,n=t._z,r=t._w,o=this.dot(t);o<0&&(i=-i,s=-s,n=-n,r=-r,o=-o);let a=1-e;if(o<.9995){let l=Math.acos(o),c=Math.sin(l);a=Math.sin(a*l)/c,e=Math.sin(e*l)/c,this._x=this._x*a+i*e,this._y=this._y*a+s*e,this._z=this._z*a+n*e,this._w=this._w*a+r*e,this._onChangeCallback()}else this._x=this._x*a+i*e,this._y=this._y*a+s*e,this._z=this._z*a+n*e,this._w=this._w*a+r*e,this.normalize();return this}slerpQuaternions(t,e,i){return this.copy(t).slerp(e,i)}random(){let t=2*Math.PI*Math.random(),e=2*Math.PI*Math.random(),i=Math.random(),s=Math.sqrt(1-i),n=Math.sqrt(i);return this.set(s*Math.sin(t),s*Math.cos(t),n*Math.sin(e),n*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},M=class h{static{h.prototype.isVector3=!0}constructor(t=0,e=0,i=0){this.x=t,this.y=e,this.z=i}set(t,e,i){return i===void 0&&(i=this.z),this.x=t,this.y=e,this.z=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(La.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(La.setFromAxisAngle(t,e))}applyMatrix3(t){let e=this.x,i=this.y,s=this.z,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6]*s,this.y=n[1]*e+n[4]*i+n[7]*s,this.z=n[2]*e+n[5]*i+n[8]*s,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){let e=this.x,i=this.y,s=this.z,n=t.elements,r=1/(n[3]*e+n[7]*i+n[11]*s+n[15]);return this.x=(n[0]*e+n[4]*i+n[8]*s+n[12])*r,this.y=(n[1]*e+n[5]*i+n[9]*s+n[13])*r,this.z=(n[2]*e+n[6]*i+n[10]*s+n[14])*r,this}applyQuaternion(t){let e=this.x,i=this.y,s=this.z,n=t.x,r=t.y,o=t.z,a=t.w,l=2*(r*s-o*i),c=2*(o*e-n*s),u=2*(n*i-r*e);return this.x=e+a*l+r*u-o*c,this.y=i+a*c+o*l-n*u,this.z=s+a*u+n*c-r*l,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){let e=this.x,i=this.y,s=this.z,n=t.elements;return this.x=n[0]*e+n[4]*i+n[8]*s,this.y=n[1]*e+n[5]*i+n[9]*s,this.z=n[2]*e+n[6]*i+n[10]*s,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=V(this.x,t.x,e.x),this.y=V(this.y,t.y,e.y),this.z=V(this.z,t.z,e.z),this}clampScalar(t,e){return this.x=V(this.x,t,e),this.y=V(this.y,t,e),this.z=V(this.z,t,e),this}clampLength(t,e){let i=this.length();return this.divideScalar(i||1).multiplyScalar(V(i,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this.z=t.z+(e.z-t.z)*i,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){let i=t.x,s=t.y,n=t.z,r=e.x,o=e.y,a=e.z;return this.x=s*a-n*o,this.y=n*r-i*a,this.z=i*o-s*r,this}projectOnVector(t){let e=t.lengthSq();if(e===0)return this.set(0,0,0);let i=t.dot(this)/e;return this.copy(t).multiplyScalar(i)}projectOnPlane(t){return Un.copy(this).projectOnVector(t),this.sub(Un)}reflect(t){return this.sub(Un.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){let e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;let i=this.dot(t)/e;return Math.acos(V(i,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){let e=this.x-t.x,i=this.y-t.y,s=this.z-t.z;return e*e+i*i+s*s}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,i){let s=Math.sin(e)*t;return this.x=s*Math.sin(i),this.y=Math.cos(e)*t,this.z=s*Math.cos(i),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,i){return this.x=t*Math.sin(e),this.y=i,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){let e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){let e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),s=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=s,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let t=Math.random()*Math.PI*2,e=Math.random()*2-1,i=Math.sqrt(1-e*e);return this.x=i*Math.cos(t),this.y=e,this.z=i*Math.sin(t),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},Un=new M,La=new xt,ee=class h{static{h.prototype.isMatrix3=!0}constructor(t,e,i,s,n,r,o,a,l){this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,e,i,s,n,r,o,a,l)}set(t,e,i,s,n,r,o,a,l){let c=this.elements;return c[0]=t,c[1]=s,c[2]=o,c[3]=e,c[4]=n,c[5]=a,c[6]=i,c[7]=r,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){let e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}extractBasis(t,e,i){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(t){let e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){let i=t.elements,s=e.elements,n=this.elements,r=i[0],o=i[3],a=i[6],l=i[1],c=i[4],u=i[7],d=i[2],p=i[5],f=i[8],m=s[0],g=s[3],y=s[6],x=s[1],b=s[4],w=s[7],_=s[2],v=s[5],A=s[8];return n[0]=r*m+o*x+a*_,n[3]=r*g+o*b+a*v,n[6]=r*y+o*w+a*A,n[1]=l*m+c*x+u*_,n[4]=l*g+c*b+u*v,n[7]=l*y+c*w+u*A,n[2]=d*m+p*x+f*_,n[5]=d*g+p*b+f*v,n[8]=d*y+p*w+f*A,this}multiplyScalar(t){let e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){let t=this.elements,e=t[0],i=t[1],s=t[2],n=t[3],r=t[4],o=t[5],a=t[6],l=t[7],c=t[8];return e*r*c-e*o*l-i*n*c+i*o*a+s*n*l-s*r*a}invert(){let t=this.elements,e=t[0],i=t[1],s=t[2],n=t[3],r=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=c*r-o*l,d=o*a-c*n,p=l*n-r*a,f=e*u+i*d+s*p;if(f===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/f;return t[0]=u*m,t[1]=(s*l-c*i)*m,t[2]=(o*i-s*r)*m,t[3]=d*m,t[4]=(c*e-s*a)*m,t[5]=(s*n-o*e)*m,t[6]=p*m,t[7]=(i*a-l*e)*m,t[8]=(r*e-i*n)*m,this}transpose(){let t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){let e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,i,s,n,r,o){let a=Math.cos(n),l=Math.sin(n);return this.set(i*a,i*l,-i*(a*r+l*o)+r+t,-s*l,s*a,-s*(-l*r+a*o)+o+e,0,0,1),this}scale(t,e){return this.premultiply(Wn.makeScale(t,e)),this}rotate(t){return this.premultiply(Wn.makeRotation(-t)),this}translate(t,e){return this.premultiply(Wn.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){let e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,i,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){let e=this.elements,i=t.elements;for(let s=0;s<9;s++)if(e[s]!==i[s])return!1;return!0}fromArray(t,e=0){for(let i=0;i<9;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){let i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t}clone(){return new this.constructor().fromArray(this.elements)}},Wn=new ee,Ua=new ee().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Wa=new ee().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Yu(){let h={enabled:!0,workingColorSpace:Pa,spaces:{},convert:function(s,n,r){return this.enabled===!1||n===r||!n||!r||(this.spaces[n].transfer===Ln&&(s.r=ge(s.r),s.g=ge(s.g),s.b=ge(s.b)),this.spaces[n].primaries!==this.spaces[r].primaries&&(s.applyMatrix3(this.spaces[n].toXYZ),s.applyMatrix3(this.spaces[r].fromXYZ)),this.spaces[r].transfer===Ln&&(s.r=Ai(s.r),s.g=Ai(s.g),s.b=Ai(s.b))),s},workingToColorSpace:function(s,n){return this.convert(s,this.workingColorSpace,n)},colorSpaceToWorking:function(s,n){return this.convert(s,n,this.workingColorSpace)},getPrimaries:function(s){return this.spaces[s].primaries},getTransfer:function(s){return s===rc?Ra:this.spaces[s].transfer},getToneMappingMode:function(s){return this.spaces[s].outputColorSpaceConfig.toneMappingMode||\"standard\"},getLuminanceCoefficients:function(s,n=this.workingColorSpace){return s.fromArray(this.spaces[n].luminanceCoefficients)},define:function(s){Object.assign(this.spaces,s)},_getMatrix:function(s,n,r){return s.copy(this.spaces[n].toXYZ).multiply(this.spaces[r].fromXYZ)},_getDrawingBufferColorSpace:function(s){return this.spaces[s].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(s=this.workingColorSpace){return this.spaces[s].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(s,n){return Va(\"ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().\"),h.workingToColorSpace(s,n)},toWorkingColorSpace:function(s,n){return Va(\"ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().\"),h.colorSpaceToWorking(s,n)}},t=[.64,.33,.3,.6,.15,.06],e=[.2126,.7152,.0722],i=[.3127,.329];return h.define({[Pa]:{primaries:t,whitePoint:i,transfer:Ra,toXYZ:Ua,fromXYZ:Wa,luminanceCoefficients:e,workingColorSpaceConfig:{unpackColorSpace:Nt},outputColorSpaceConfig:{drawingBufferColorSpace:Nt}},[Nt]:{primaries:t,whitePoint:i,transfer:Ln,toXYZ:Ua,fromXYZ:Wa,luminanceCoefficients:e,outputColorSpaceConfig:{drawingBufferColorSpace:Nt}}}),h}var Bt=Yu();function ge(h){return h<.04045?h*.0773993808:Math.pow(h*.9478672986+.0521327014,2.4)}function Ai(h){return h<.0031308?h*12.92:1.055*Math.pow(h,.41666)-.055}var ii,Fr=class{static getDataURL(t,e=\"image/png\"){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement>\"u\")return t.src;let i;if(t instanceof HTMLCanvasElement)i=t;else{ii===void 0&&(ii=an(\"canvas\")),ii.width=t.width,ii.height=t.height;let s=ii.getContext(\"2d\");t instanceof ImageData?s.putImageData(t,0,0):s.drawImage(t,0,0,t.width,t.height),i=ii}return i.toDataURL(e)}static sRGBToLinear(t){if(typeof HTMLImageElement<\"u\"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement<\"u\"&&t instanceof HTMLCanvasElement||typeof ImageBitmap<\"u\"&&t instanceof ImageBitmap){let e=an(\"canvas\");e.width=t.width,e.height=t.height;let i=e.getContext(\"2d\");i.drawImage(t,0,0,t.width,t.height);let s=i.getImageData(0,0,t.width,t.height),n=s.data;for(let r=0;r<n.length;r++)n[r]=ge(n[r]/255)*255;return i.putImageData(s,0,0),e}else if(t.data){let e=t.data.slice(0);for(let i=0;i<e.length;i++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[i]=Math.floor(ge(e[i]/255)*255):e[i]=ge(e[i]);return{data:e,width:t.width,height:t.height}}else return N(\"ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.\"),t}},$u=0,me=class{constructor(t=null){this.isSource=!0,Object.defineProperty(this,\"id\",{value:$u++}),this.uuid=kt(),this.data=t,this.dataReady=!0,this.version=0}getSize(t){let e=this.data;return typeof HTMLVideoElement<\"u\"&&e instanceof HTMLVideoElement?t.set(e.videoWidth,e.videoHeight,0):typeof VideoFrame<\"u\"&&e instanceof VideoFrame?t.set(e.displayWidth,e.displayHeight,0):e!==null?t.set(e.width,e.height,e.depth||0):t.set(0,0,0),t}set needsUpdate(t){t===!0&&this.version++}toJSON(t){let e=t===void 0||typeof t==\"string\";if(!e&&t.images[this.uuid]!==void 0)return t.images[this.uuid];let i={uuid:this.uuid,url:\"\"},s=this.data;if(s!==null){let n;if(Array.isArray(s)){n=[];for(let r=0,o=s.length;r<o;r++)s[r].isDataTexture?n.push(qn(s[r].image)):n.push(qn(s[r]))}else n=qn(s);i.url=n}return e||(t.images[this.uuid]=i),i}};function qn(h){return typeof HTMLImageElement<\"u\"&&h instanceof HTMLImageElement||typeof HTMLCanvasElement<\"u\"&&h instanceof HTMLCanvasElement||typeof ImageBitmap<\"u\"&&h instanceof ImageBitmap?Fr.getDataURL(h):h.data?{data:Array.from(h.data),width:h.width,height:h.height,type:h.data.constructor.name}:(N(\"Texture: Unable to serialize Texture.\"),{})}var ju=0,Jn=new M,ct=class h extends Ht{constructor(t=h.DEFAULT_IMAGE,e=h.DEFAULT_MAPPING,i=Qt,s=Qt,n=Gt,r=ra,o=ts,a=oa,l=h.DEFAULT_ANISOTROPY,c=rc){super(),this.isTexture=!0,Object.defineProperty(this,\"id\",{value:ju++}),this.uuid=kt(),this.name=\"\",this.source=new me(t),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=i,this.wrapT=s,this.magFilter=n,this.minFilter=r,this.anisotropy=l,this.format=o,this.internalFormat=null,this.type=a,this.offset=new C(0,0),this.repeat=new C(1,1),this.center=new C(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new ee,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=c,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=!!(t&&t.depth&&t.depth>1),this.pmremVersion=0,this.normalized=!1}get width(){return this.source.getSize(Jn).x}get height(){return this.source.getSize(Jn).y}get depth(){return this.source.getSize(Jn).z}get image(){return this.source.data}set image(t){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.channel=t.channel,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.normalized=t.normalized,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.colorSpace=t.colorSpace,this.renderTarget=t.renderTarget,this.isRenderTargetTexture=t.isRenderTargetTexture,this.isArrayTexture=t.isArrayTexture,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}setValues(t){for(let e in t){let i=t[e];if(i===void 0){N(`Texture.setValues(): parameter '${e}' has value of undefined.`);continue}let s=this[e];if(s===void 0){N(`Texture.setValues(): property '${e}' does not exist.`);continue}s&&i&&s.isVector2&&i.isVector2||s&&i&&s.isVector3&&i.isVector3||s&&i&&s.isMatrix3&&i.isMatrix3?s.copy(i):this[e]=i}}toJSON(t){let e=t===void 0||typeof t==\"string\";if(!e&&t.textures[this.uuid]!==void 0)return t.textures[this.uuid];let i={metadata:{version:4.7,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,normalized:this.normalized,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(i.userData=this.userData),e||(t.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(t){if(this.mapping!==na)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case Tr:t.x=t.x-Math.floor(t.x);break;case Qt:t.x=t.x<0?0:1;break;case Ir:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case Tr:t.y=t.y-Math.floor(t.y);break;case Qt:t.y=t.y<0?0:1;break;case Ir:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){t===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(t){t===!0&&this.pmremVersion++}};ct.DEFAULT_IMAGE=null;ct.DEFAULT_MAPPING=na;ct.DEFAULT_ANISOTROPY=1;var Tt=class h{static{h.prototype.isVector4=!0}constructor(t=0,e=0,i=0,s=1){this.x=t,this.y=e,this.z=i,this.w=s}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,i,s){return this.x=t,this.y=e,this.z=i,this.w=s,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w!==void 0?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){let e=this.x,i=this.y,s=this.z,n=this.w,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*s+r[12]*n,this.y=r[1]*e+r[5]*i+r[9]*s+r[13]*n,this.z=r[2]*e+r[6]*i+r[10]*s+r[14]*n,this.w=r[3]*e+r[7]*i+r[11]*s+r[15]*n,this}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);let e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,i,s,n,a=t.elements,l=a[0],c=a[4],u=a[8],d=a[1],p=a[5],f=a[9],m=a[2],g=a[6],y=a[10];if(Math.abs(c-d)<.01&&Math.abs(u-m)<.01&&Math.abs(f-g)<.01){if(Math.abs(c+d)<.1&&Math.abs(u+m)<.1&&Math.abs(f+g)<.1&&Math.abs(l+p+y-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;let b=(l+1)/2,w=(p+1)/2,_=(y+1)/2,v=(c+d)/4,A=(u+m)/4,S=(f+g)/4;return b>w&&b>_?b<.01?(i=0,s=.707106781,n=.707106781):(i=Math.sqrt(b),s=v/i,n=A/i):w>_?w<.01?(i=.707106781,s=0,n=.707106781):(s=Math.sqrt(w),i=v/s,n=S/s):_<.01?(i=.707106781,s=.707106781,n=0):(n=Math.sqrt(_),i=A/n,s=S/n),this.set(i,s,n,e),this}let x=Math.sqrt((g-f)*(g-f)+(u-m)*(u-m)+(d-c)*(d-c));return Math.abs(x)<.001&&(x=1),this.x=(g-f)/x,this.y=(u-m)/x,this.z=(d-c)/x,this.w=Math.acos((l+p+y-1)/2),this}setFromMatrixPosition(t){let e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this.w=e[15],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=V(this.x,t.x,e.x),this.y=V(this.y,t.y,e.y),this.z=V(this.z,t.z,e.z),this.w=V(this.w,t.w,e.w),this}clampScalar(t,e){return this.x=V(this.x,t,e),this.y=V(this.y,t,e),this.z=V(this.z,t,e),this.w=V(this.w,t,e),this}clampLength(t,e){let i=this.length();return this.divideScalar(i||1).multiplyScalar(V(i,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this.z=t.z+(e.z-t.z)*i,this.w=t.w+(e.w-t.w)*i,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}},hn=class extends Ht{constructor(t=1,e=1,i={}){super(),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Gt,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},i),this.isRenderTarget=!0,this.width=t,this.height=e,this.depth=i.depth,this.scissor=new Tt(0,0,t,e),this.scissorTest=!1,this.viewport=new Tt(0,0,t,e),this.textures=[];let s={width:t,height:e,depth:i.depth},n=new ct(s),r=i.count;for(let o=0;o<r;o++)this.textures[o]=n.clone(),this.textures[o].isRenderTargetTexture=!0,this.textures[o].renderTarget=this;this._setTextureOptions(i),this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.resolveDepthBuffer=i.resolveDepthBuffer,this.resolveStencilBuffer=i.resolveStencilBuffer,this._depthTexture=null,this.depthTexture=i.depthTexture,this.samples=i.samples,this.multiview=i.multiview}_setTextureOptions(t={}){let e={minFilter:Gt,generateMipmaps:!1,flipY:!1,internalFormat:null};t.mapping!==void 0&&(e.mapping=t.mapping),t.wrapS!==void 0&&(e.wrapS=t.wrapS),t.wrapT!==void 0&&(e.wrapT=t.wrapT),t.wrapR!==void 0&&(e.wrapR=t.wrapR),t.magFilter!==void 0&&(e.magFilter=t.magFilter),t.minFilter!==void 0&&(e.minFilter=t.minFilter),t.format!==void 0&&(e.format=t.format),t.type!==void 0&&(e.type=t.type),t.anisotropy!==void 0&&(e.anisotropy=t.anisotropy),t.colorSpace!==void 0&&(e.colorSpace=t.colorSpace),t.flipY!==void 0&&(e.flipY=t.flipY),t.generateMipmaps!==void 0&&(e.generateMipmaps=t.generateMipmaps),t.internalFormat!==void 0&&(e.internalFormat=t.internalFormat);for(let i=0;i<this.textures.length;i++)this.textures[i].setValues(e)}get texture(){return this.textures[0]}set texture(t){this.textures[0]=t}set depthTexture(t){this._depthTexture!==null&&(this._depthTexture.renderTarget=null),t!==null&&(t.renderTarget=this),this._depthTexture=t}get depthTexture(){return this._depthTexture}setSize(t,e,i=1){if(this.width!==t||this.height!==e||this.depth!==i){this.width=t,this.height=e,this.depth=i;for(let s=0,n=this.textures.length;s<n;s++)this.textures[s].image.width=t,this.textures[s].image.height=e,this.textures[s].image.depth=i,this.textures[s].isData3DTexture!==!0&&(this.textures[s].isArrayTexture=this.textures[s].image.depth>1);this.dispose()}this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return new this.constructor().copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.scissor.copy(t.scissor),this.scissorTest=t.scissorTest,this.viewport.copy(t.viewport),this.textures.length=0;for(let e=0,i=t.textures.length;e<i;e++){this.textures[e]=t.textures[e].clone(),this.textures[e].isRenderTargetTexture=!0,this.textures[e].renderTarget=this;let s=Object.assign({},t.textures[e].image);this.textures[e].source=new me(s)}return this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.resolveDepthBuffer=t.resolveDepthBuffer,this.resolveStencilBuffer=t.resolveStencilBuffer,t.depthTexture!==null&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this.multiview=t.multiview,this}dispose(){this.dispatchEvent({type:\"dispose\"})}},ln=class extends hn{constructor(t=1,e=1,i={}){super(t,e,i),this.isWebGLRenderTarget=!0}},Br=class extends ct{constructor(t=null,e=1,i=1,s=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:i,depth:s},this.magFilter=Pt,this.minFilter=Pt,this.wrapR=Qt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(t){this.layerUpdates.add(t)}clearLayerUpdates(){this.layerUpdates.clear()}},qa=class extends ln{constructor(t=1,e=1,i=1,s={}){super(t,e,s),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Br(null,t,e,i),this._setTextureOptions(s),this.texture.isRenderTargetTexture=!0}},cn=class extends ct{constructor(t=null,e=1,i=1,s=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:i,depth:s},this.magFilter=Pt,this.minFilter=Pt,this.wrapR=Qt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},Ja=class extends ln{constructor(t=1,e=1,i=1,s={}){super(t,e,s),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new cn(null,t,e,i),this._setTextureOptions(s),this.texture.isRenderTargetTexture=!0}},q=class h{static{h.prototype.isMatrix4=!0}constructor(t,e,i,s,n,r,o,a,l,c,u,d,p,f,m,g){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,e,i,s,n,r,o,a,l,c,u,d,p,f,m,g)}set(t,e,i,s,n,r,o,a,l,c,u,d,p,f,m,g){let y=this.elements;return y[0]=t,y[4]=e,y[8]=i,y[12]=s,y[1]=n,y[5]=r,y[9]=o,y[13]=a,y[2]=l,y[6]=c,y[10]=u,y[14]=d,y[3]=p,y[7]=f,y[11]=m,y[15]=g,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new h().fromArray(this.elements)}copy(t){let e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}copyPosition(t){let e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this}setFromMatrix3(t){let e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,i){return this.determinant()===0?(t.set(1,0,0),e.set(0,1,0),i.set(0,0,1),this):(t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this)}makeBasis(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this}extractRotation(t){if(t.determinant()===0)return this.identity();let e=this.elements,i=t.elements,s=1/si.setFromMatrixColumn(t,0).length(),n=1/si.setFromMatrixColumn(t,1).length(),r=1/si.setFromMatrixColumn(t,2).length();return e[0]=i[0]*s,e[1]=i[1]*s,e[2]=i[2]*s,e[3]=0,e[4]=i[4]*n,e[5]=i[5]*n,e[6]=i[6]*n,e[7]=0,e[8]=i[8]*r,e[9]=i[9]*r,e[10]=i[10]*r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){let e=this.elements,i=t.x,s=t.y,n=t.z,r=Math.cos(i),o=Math.sin(i),a=Math.cos(s),l=Math.sin(s),c=Math.cos(n),u=Math.sin(n);if(t.order===\"XYZ\"){let d=r*c,p=r*u,f=o*c,m=o*u;e[0]=a*c,e[4]=-a*u,e[8]=l,e[1]=p+f*l,e[5]=d-m*l,e[9]=-o*a,e[2]=m-d*l,e[6]=f+p*l,e[10]=r*a}else if(t.order===\"YXZ\"){let d=a*c,p=a*u,f=l*c,m=l*u;e[0]=d+m*o,e[4]=f*o-p,e[8]=r*l,e[1]=r*u,e[5]=r*c,e[9]=-o,e[2]=p*o-f,e[6]=m+d*o,e[10]=r*a}else if(t.order===\"ZXY\"){let d=a*c,p=a*u,f=l*c,m=l*u;e[0]=d-m*o,e[4]=-r*u,e[8]=f+p*o,e[1]=p+f*o,e[5]=r*c,e[9]=m-d*o,e[2]=-r*l,e[6]=o,e[10]=r*a}else if(t.order===\"ZYX\"){let d=r*c,p=r*u,f=o*c,m=o*u;e[0]=a*c,e[4]=f*l-p,e[8]=d*l+m,e[1]=a*u,e[5]=m*l+d,e[9]=p*l-f,e[2]=-l,e[6]=o*a,e[10]=r*a}else if(t.order===\"YZX\"){let d=r*a,p=r*l,f=o*a,m=o*l;e[0]=a*c,e[4]=m-d*u,e[8]=f*u+p,e[1]=u,e[5]=r*c,e[9]=-o*c,e[2]=-l*c,e[6]=p*u+f,e[10]=d-m*u}else if(t.order===\"XZY\"){let d=r*a,p=r*l,f=o*a,m=o*l;e[0]=a*c,e[4]=-u,e[8]=l*c,e[1]=d*u+m,e[5]=r*c,e[9]=p*u-f,e[2]=f*u-p,e[6]=o*c,e[10]=m*u+d}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Qu,t,Ku)}lookAt(t,e,i){let s=this.elements;return zt.subVectors(t,e),zt.lengthSq()===0&&(zt.z=1),zt.normalize(),we.crossVectors(i,zt),we.lengthSq()===0&&(Math.abs(i.z)===1?zt.x+=1e-4:zt.z+=1e-4,zt.normalize(),we.crossVectors(i,zt)),we.normalize(),ps.crossVectors(zt,we),s[0]=we.x,s[4]=ps.x,s[8]=zt.x,s[1]=we.y,s[5]=ps.y,s[9]=zt.y,s[2]=we.z,s[6]=ps.z,s[10]=zt.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){let i=t.elements,s=e.elements,n=this.elements,r=i[0],o=i[4],a=i[8],l=i[12],c=i[1],u=i[5],d=i[9],p=i[13],f=i[2],m=i[6],g=i[10],y=i[14],x=i[3],b=i[7],w=i[11],_=i[15],v=s[0],A=s[4],S=s[8],T=s[12],I=s[1],F=s[5],O=s[9],D=s[13],H=s[2],L=s[6],et=s[10],ot=s[14],Lt=s[3],it=s[7],at=s[11],st=s[15];return n[0]=r*v+o*I+a*H+l*Lt,n[4]=r*A+o*F+a*L+l*it,n[8]=r*S+o*O+a*et+l*at,n[12]=r*T+o*D+a*ot+l*st,n[1]=c*v+u*I+d*H+p*Lt,n[5]=c*A+u*F+d*L+p*it,n[9]=c*S+u*O+d*et+p*at,n[13]=c*T+u*D+d*ot+p*st,n[2]=f*v+m*I+g*H+y*Lt,n[6]=f*A+m*F+g*L+y*it,n[10]=f*S+m*O+g*et+y*at,n[14]=f*T+m*D+g*ot+y*st,n[3]=x*v+b*I+w*H+_*Lt,n[7]=x*A+b*F+w*L+_*it,n[11]=x*S+b*O+w*et+_*at,n[15]=x*T+b*D+w*ot+_*st,this}multiplyScalar(t){let e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){let t=this.elements,e=t[0],i=t[4],s=t[8],n=t[12],r=t[1],o=t[5],a=t[9],l=t[13],c=t[2],u=t[6],d=t[10],p=t[14],f=t[3],m=t[7],g=t[11],y=t[15],x=a*p-l*d,b=o*p-l*u,w=o*d-a*u,_=r*p-l*c,v=r*d-a*c,A=r*u-o*c;return e*(m*x-g*b+y*w)-i*(f*x-g*_+y*v)+s*(f*b-m*_+y*A)-n*(f*w-m*v+g*A)}transpose(){let t=this.elements,e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,i){let s=this.elements;return t.isVector3?(s[12]=t.x,s[13]=t.y,s[14]=t.z):(s[12]=t,s[13]=e,s[14]=i),this}invert(){let t=this.elements,e=t[0],i=t[1],s=t[2],n=t[3],r=t[4],o=t[5],a=t[6],l=t[7],c=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],g=t[14],y=t[15],x=e*o-i*r,b=e*a-s*r,w=e*l-n*r,_=i*a-s*o,v=i*l-n*o,A=s*l-n*a,S=c*m-u*f,T=c*g-d*f,I=c*y-p*f,F=u*g-d*m,O=u*y-p*m,D=d*y-p*g,H=x*D-b*O+w*F+_*I-v*T+A*S;if(H===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let L=1/H;return t[0]=(o*D-a*O+l*F)*L,t[1]=(s*O-i*D-n*F)*L,t[2]=(m*A-g*v+y*_)*L,t[3]=(d*v-u*A-p*_)*L,t[4]=(a*I-r*D-l*T)*L,t[5]=(e*D-s*I+n*T)*L,t[6]=(g*w-f*A-y*b)*L,t[7]=(c*A-d*w+p*b)*L,t[8]=(r*O-o*I+l*S)*L,t[9]=(i*I-e*O-n*S)*L,t[10]=(f*v-m*w+y*x)*L,t[11]=(u*w-c*v-p*x)*L,t[12]=(o*T-r*F-a*S)*L,t[13]=(e*F-i*T+s*S)*L,t[14]=(m*b-f*_-g*x)*L,t[15]=(c*_-u*b+d*x)*L,this}scale(t){let e=this.elements,i=t.x,s=t.y,n=t.z;return e[0]*=i,e[4]*=s,e[8]*=n,e[1]*=i,e[5]*=s,e[9]*=n,e[2]*=i,e[6]*=s,e[10]*=n,e[3]*=i,e[7]*=s,e[11]*=n,this}getMaxScaleOnAxis(){let t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],s=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,i,s))}makeTranslation(t,e,i){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this}makeRotationX(t){let e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this}makeRotationY(t){let e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this}makeRotationZ(t){let e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){let i=Math.cos(e),s=Math.sin(e),n=1-i,r=t.x,o=t.y,a=t.z,l=n*r,c=n*o;return this.set(l*r+i,l*o-s*a,l*a+s*o,0,l*o+s*a,c*o+i,c*a-s*r,0,l*a-s*o,c*a+s*r,n*a*a+i,0,0,0,0,1),this}makeScale(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this}makeShear(t,e,i,s,n,r){return this.set(1,i,n,0,t,1,r,0,e,s,1,0,0,0,0,1),this}compose(t,e,i){let s=this.elements,n=e._x,r=e._y,o=e._z,a=e._w,l=n+n,c=r+r,u=o+o,d=n*l,p=n*c,f=n*u,m=r*c,g=r*u,y=o*u,x=a*l,b=a*c,w=a*u,_=i.x,v=i.y,A=i.z;return s[0]=(1-(m+y))*_,s[1]=(p+w)*_,s[2]=(f-b)*_,s[3]=0,s[4]=(p-w)*v,s[5]=(1-(d+y))*v,s[6]=(g+x)*v,s[7]=0,s[8]=(f+b)*A,s[9]=(g-x)*A,s[10]=(1-(d+m))*A,s[11]=0,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=1,this}decompose(t,e,i){let s=this.elements;t.x=s[12],t.y=s[13],t.z=s[14];let n=this.determinant();if(n===0)return i.set(1,1,1),e.identity(),this;let r=si.set(s[0],s[1],s[2]).length(),o=si.set(s[4],s[5],s[6]).length(),a=si.set(s[8],s[9],s[10]).length();n<0&&(r=-r),Wt.copy(this);let l=1/r,c=1/o,u=1/a;return Wt.elements[0]*=l,Wt.elements[1]*=l,Wt.elements[2]*=l,Wt.elements[4]*=c,Wt.elements[5]*=c,Wt.elements[6]*=c,Wt.elements[8]*=u,Wt.elements[9]*=u,Wt.elements[10]*=u,e.setFromRotationMatrix(Wt),i.x=r,i.y=o,i.z=a,this}makePerspective(t,e,i,s,n,r,o=Kt,a=!1){let l=this.elements,c=2*n/(e-t),u=2*n/(i-s),d=(e+t)/(e-t),p=(i+s)/(i-s),f,m;if(a)f=n/(r-n),m=r*n/(r-n);else if(o===Kt)f=-(r+n)/(r-n),m=-2*r*n/(r-n);else if(o===Ii)f=-r/(r-n),m=-r*n/(r-n);else throw new Error(\"THREE.Matrix4.makePerspective(): Invalid coordinate system: \"+o);return l[0]=c,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=u,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=f,l[14]=m,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(t,e,i,s,n,r,o=Kt,a=!1){let l=this.elements,c=2/(e-t),u=2/(i-s),d=-(e+t)/(e-t),p=-(i+s)/(i-s),f,m;if(a)f=1/(r-n),m=r/(r-n);else if(o===Kt)f=-2/(r-n),m=-(r+n)/(r-n);else if(o===Ii)f=-1/(r-n),m=-n/(r-n);else throw new Error(\"THREE.Matrix4.makeOrthographic(): Invalid coordinate system: \"+o);return l[0]=c,l[4]=0,l[8]=0,l[12]=d,l[1]=0,l[5]=u,l[9]=0,l[13]=p,l[2]=0,l[6]=0,l[10]=f,l[14]=m,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(t){let e=this.elements,i=t.elements;for(let s=0;s<16;s++)if(e[s]!==i[s])return!1;return!0}fromArray(t,e=0){for(let i=0;i<16;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){let i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t}},si=new M,Wt=new q,Qu=new M(0,0,0),Ku=new M(1,1,1),we=new M,ps=new M,zt=new M,Ga=new q,Xa=new xt,ie=class h{constructor(t=0,e=0,i=0,s=h.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=i,this._order=s}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,i,s=this._order){return this._x=t,this._y=e,this._z=i,this._order=s,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,i=!0){let s=t.elements,n=s[0],r=s[4],o=s[8],a=s[1],l=s[5],c=s[9],u=s[2],d=s[6],p=s[10];switch(e){case\"XYZ\":this._y=Math.asin(V(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,p),this._z=Math.atan2(-r,n)):(this._x=Math.atan2(d,l),this._z=0);break;case\"YXZ\":this._x=Math.asin(-V(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(o,p),this._z=Math.atan2(a,l)):(this._y=Math.atan2(-u,n),this._z=0);break;case\"ZXY\":this._x=Math.asin(V(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,p),this._z=Math.atan2(-r,l)):(this._y=0,this._z=Math.atan2(a,n));break;case\"ZYX\":this._y=Math.asin(-V(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(a,n)):(this._x=0,this._z=Math.atan2(-r,l));break;case\"YZX\":this._z=Math.asin(V(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-u,n)):(this._x=0,this._y=Math.atan2(o,p));break;case\"XZY\":this._z=Math.asin(-V(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(o,n)):(this._x=Math.atan2(-c,p),this._y=0);break;default:N(\"Euler: .setFromRotationMatrix() encountered an unknown order: \"+e)}return this._order=e,i===!0&&this._onChangeCallback(),this}setFromQuaternion(t,e,i){return Ga.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Ga,e,i)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Xa.setFromEuler(this),this.setFromQuaternion(Xa,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};ie.DEFAULT_ORDER=\"XYZ\";var un=class{constructor(){this.mask=1}set(t){this.mask=(1<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return(this.mask&t.mask)!==0}isEnabled(t){return(this.mask&(1<<t|0))!==0}},td=0,Ha=new M,ni=new xt,ae=new q,fs=new M,Ni=new M,ed=new M,id=new xt,Za=new M(1,0,0),Ya=new M(0,1,0),$a=new M(0,0,1),ja={type:\"added\"},sd={type:\"removed\"},ri={type:\"childadded\",child:null},Gn={type:\"childremoved\",child:null},Y=class h extends Ht{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,\"id\",{value:td++}),this.uuid=kt(),this.name=\"\",this.type=\"Object3D\",this.parent=null,this.children=[],this.up=h.DEFAULT_UP.clone();let t=new M,e=new ie,i=new xt,s=new M(1,1,1);function n(){i.setFromEuler(e,!1)}function r(){e.setFromQuaternion(i,void 0,!1)}e._onChange(n),i._onChange(r),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:s},modelViewMatrix:{value:new q},normalMatrix:{value:new ee}}),this.matrix=new q,this.matrixWorld=new q,this.matrixAutoUpdate=h.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=h.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new un,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.customDepthMaterial=void 0,this.customDistanceMaterial=void 0,this.static=!1,this.userData={},this.pivot=null}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return ni.setFromAxisAngle(t,e),this.quaternion.multiply(ni),this}rotateOnWorldAxis(t,e){return ni.setFromAxisAngle(t,e),this.quaternion.premultiply(ni),this}rotateX(t){return this.rotateOnAxis(Za,t)}rotateY(t){return this.rotateOnAxis(Ya,t)}rotateZ(t){return this.rotateOnAxis($a,t)}translateOnAxis(t,e){return Ha.copy(t).applyQuaternion(this.quaternion),this.position.add(Ha.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(Za,t)}translateY(t){return this.translateOnAxis(Ya,t)}translateZ(t){return this.translateOnAxis($a,t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(ae.copy(this.matrixWorld).invert())}lookAt(t,e,i){t.isVector3?fs.copy(t):fs.set(t,e,i);let s=this.parent;this.updateWorldMatrix(!0,!1),Ni.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?ae.lookAt(Ni,fs,this.up):ae.lookAt(fs,Ni,this.up),this.quaternion.setFromRotationMatrix(ae),s&&(ae.extractRotation(s.matrixWorld),ni.setFromRotationMatrix(ae),this.quaternion.premultiply(ni.invert()))}add(t){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?(X(\"Object3D.add: object can't be added as a child of itself.\",t),this):(t&&t.isObject3D?(t.removeFromParent(),t.parent=this,this.children.push(t),t.dispatchEvent(ja),ri.child=t,this.dispatchEvent(ri),ri.child=null):X(\"Object3D.add: object not an instance of THREE.Object3D.\",t),this)}remove(t){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}let e=this.children.indexOf(t);return e!==-1&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(sd),Gn.child=t,this.dispatchEvent(Gn),Gn.child=null),this}removeFromParent(){let t=this.parent;return t!==null&&t.remove(this),this}clear(){return this.remove(...this.children)}attach(t){return this.updateWorldMatrix(!0,!1),ae.copy(this.matrixWorld).invert(),t.parent!==null&&(t.parent.updateWorldMatrix(!0,!1),ae.multiply(t.parent.matrixWorld)),t.applyMatrix4(ae),t.removeFromParent(),t.parent=this,this.children.push(t),t.updateWorldMatrix(!1,!0),t.dispatchEvent(ja),ri.child=t,this.dispatchEvent(ri),ri.child=null,this}getObjectById(t){return this.getObjectByProperty(\"id\",t)}getObjectByName(t){return this.getObjectByProperty(\"name\",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let i=0,s=this.children.length;i<s;i++){let r=this.children[i].getObjectByProperty(t,e);if(r!==void 0)return r}}getObjectsByProperty(t,e,i=[]){this[t]===e&&i.push(this);let s=this.children;for(let n=0,r=s.length;n<r;n++)s[n].getObjectsByProperty(t,e,i);return i}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Ni,t,ed),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Ni,id,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);let e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);let e=this.children;for(let i=0,s=e.length;i<s;i++)e[i].traverse(t)}traverseVisible(t){if(this.visible===!1)return;t(this);let e=this.children;for(let i=0,s=e.length;i<s;i++)e[i].traverseVisible(t)}traverseAncestors(t){let e=this.parent;e!==null&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale);let t=this.pivot;if(t!==null){let e=t.x,i=t.y,s=t.z,n=this.matrix.elements;n[12]+=e-n[0]*e-n[4]*i-n[8]*s,n[13]+=i-n[1]*e-n[5]*i-n[9]*s,n[14]+=s-n[2]*e-n[6]*i-n[10]*s}this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,t=!0);let e=this.children;for(let i=0,s=e.length;i<s;i++)e[i].updateMatrixWorld(t)}updateWorldMatrix(t,e){let i=this.parent;if(t===!0&&i!==null&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),e===!0){let s=this.children;for(let n=0,r=s.length;n<r;n++)s[n].updateWorldMatrix(!1,!0)}}toJSON(t){let e=t===void 0||typeof t==\"string\",i={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.7,type:\"Object\",generator:\"Object3D.toJSON\"});let s={};s.uuid=this.uuid,s.type=this.type,this.name!==\"\"&&(s.name=this.name),this.castShadow===!0&&(s.castShadow=!0),this.receiveShadow===!0&&(s.receiveShadow=!0),this.visible===!1&&(s.visible=!1),this.frustumCulled===!1&&(s.frustumCulled=!1),this.renderOrder!==0&&(s.renderOrder=this.renderOrder),this.static!==!1&&(s.static=this.static),Object.keys(this.userData).length>0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),this.pivot!==null&&(s.pivot=this.pivot.toArray()),this.matrixAutoUpdate===!1&&(s.matrixAutoUpdate=!1),this.morphTargetDictionary!==void 0&&(s.morphTargetDictionary=Object.assign({},this.morphTargetDictionary)),this.morphTargetInfluences!==void 0&&(s.morphTargetInfluences=this.morphTargetInfluences.slice()),this.isInstancedMesh&&(s.type=\"InstancedMesh\",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(s.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(s.type=\"BatchedMesh\",s.perObjectFrustumCulled=this.perObjectFrustumCulled,s.sortObjects=this.sortObjects,s.drawRanges=this._drawRanges,s.reservedRanges=this._reservedRanges,s.geometryInfo=this._geometryInfo.map(o=>({...o,boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),s.instanceInfo=this._instanceInfo.map(o=>({...o})),s.availableInstanceIds=this._availableInstanceIds.slice(),s.availableGeometryIds=this._availableGeometryIds.slice(),s.nextIndexStart=this._nextIndexStart,s.nextVertexStart=this._nextVertexStart,s.geometryCount=this._geometryCount,s.maxInstanceCount=this._maxInstanceCount,s.maxVertexCount=this._maxVertexCount,s.maxIndexCount=this._maxIndexCount,s.geometryInitialized=this._geometryInitialized,s.matricesTexture=this._matricesTexture.toJSON(t),s.indirectTexture=this._indirectTexture.toJSON(t),this._colorsTexture!==null&&(s.colorsTexture=this._colorsTexture.toJSON(t)),this.boundingSphere!==null&&(s.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(s.boundingBox=this.boundingBox.toJSON()));function n(o,a){return o[a.uuid]===void 0&&(o[a.uuid]=a.toJSON(t)),a.uuid}if(this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(s.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=n(t.geometries,this.geometry);let o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){let a=o.shapes;if(Array.isArray(a))for(let l=0,c=a.length;l<c;l++){let u=a[l];n(t.shapes,u)}else n(t.shapes,a)}}if(this.isSkinnedMesh&&(s.bindMode=this.bindMode,s.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(n(t.skeletons,this.skeleton),s.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){let o=[];for(let a=0,l=this.material.length;a<l;a++)o.push(n(t.materials,this.material[a]));s.material=o}else s.material=n(t.materials,this.material);if(this.children.length>0){s.children=[];for(let o=0;o<this.children.length;o++)s.children.push(this.children[o].toJSON(t).object)}if(this.animations.length>0){s.animations=[];for(let o=0;o<this.animations.length;o++){let a=this.animations[o];s.animations.push(n(t.animations,a))}}if(e){let o=r(t.geometries),a=r(t.materials),l=r(t.textures),c=r(t.images),u=r(t.shapes),d=r(t.skeletons),p=r(t.animations),f=r(t.nodes);o.length>0&&(i.geometries=o),a.length>0&&(i.materials=a),l.length>0&&(i.textures=l),c.length>0&&(i.images=c),u.length>0&&(i.shapes=u),d.length>0&&(i.skeletons=d),p.length>0&&(i.animations=p),f.length>0&&(i.nodes=f)}return i.object=s,i;function r(o){let a=[];for(let l in o){let c=o[l];delete c.metadata,a.push(c)}return a}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.pivot=t.pivot!==null?t.pivot.clone():null,this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.static=t.static,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(let i=0;i<t.children.length;i++){let s=t.children[i];this.add(s.clone())}return this}};Y.DEFAULT_UP=new M(0,1,0);Y.DEFAULT_MATRIX_AUTO_UPDATE=!0;Y.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var Xe=class extends Y{constructor(){super(),this.isGroup=!0,this.type=\"Group\"}},nd={type:\"move\"},Qa=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Xe,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Xe,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new M,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new M),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Xe,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new M,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new M,this._grip.eventsEnabled=!1),this._grip}dispatchEvent(t){return this._targetRay!==null&&this._targetRay.dispatchEvent(t),this._grip!==null&&this._grip.dispatchEvent(t),this._hand!==null&&this._hand.dispatchEvent(t),this}connect(t){if(t&&t.hand){let e=this._hand;if(e)for(let i of t.hand.values())this._getHandJoint(e,i)}return this.dispatchEvent({type:\"connected\",data:t}),this}disconnect(t){return this.dispatchEvent({type:\"disconnected\",data:t}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(t,e,i){let s=null,n=null,r=null,o=this._targetRay,a=this._grip,l=this._hand;if(t&&e.session.visibilityState!==\"visible-blurred\"){if(l&&t.hand){r=!0;for(let m of t.hand.values()){let g=e.getJointPose(m,i),y=this._getHandJoint(l,m);g!==null&&(y.matrix.fromArray(g.transform.matrix),y.matrix.decompose(y.position,y.rotation,y.scale),y.matrixWorldNeedsUpdate=!0,y.jointRadius=g.radius),y.visible=g!==null}let c=l.joints[\"index-finger-tip\"],u=l.joints[\"thumb-tip\"],d=c.position.distanceTo(u.position),p=.02,f=.005;l.inputState.pinching&&d>p+f?(l.inputState.pinching=!1,this.dispatchEvent({type:\"pinchend\",handedness:t.handedness,target:this})):!l.inputState.pinching&&d<=p-f&&(l.inputState.pinching=!0,this.dispatchEvent({type:\"pinchstart\",handedness:t.handedness,target:this}))}else a!==null&&t.gripSpace&&(n=e.getPose(t.gripSpace,i),n!==null&&(a.matrix.fromArray(n.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,n.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(n.linearVelocity)):a.hasLinearVelocity=!1,n.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(n.angularVelocity)):a.hasAngularVelocity=!1,a.eventsEnabled&&a.dispatchEvent({type:\"gripUpdated\",data:t,target:this})));o!==null&&(s=e.getPose(t.targetRaySpace,i),s===null&&n!==null&&(s=n),s!==null&&(o.matrix.fromArray(s.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,s.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(s.linearVelocity)):o.hasLinearVelocity=!1,s.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(s.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(nd)))}return o!==null&&(o.visible=s!==null),a!==null&&(a.visible=n!==null),l!==null&&(l.visible=r!==null),this}_getHandJoint(t,e){if(t.joints[e.jointName]===void 0){let i=new Xe;i.matrixAutoUpdate=!1,i.visible=!1,t.joints[e.jointName]=i,t.add(i)}return t.joints[e.jointName]}},hc={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Me={h:0,s:0,l:0},ms={h:0,s:0,l:0};function Xn(h,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?h+(t-h)*6*e:e<1/2?t:e<2/3?h+(t-h)*6*(2/3-e):h}var U=class{constructor(t,e,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,i)}set(t,e,i){if(e===void 0&&i===void 0){let s=t;s&&s.isColor?this.copy(s):typeof s==\"number\"?this.setHex(s):typeof s==\"string\"&&this.setStyle(s)}else this.setRGB(t,e,i);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=Nt){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,Bt.colorSpaceToWorking(this,e),this}setRGB(t,e,i,s=Bt.workingColorSpace){return this.r=t,this.g=e,this.b=i,Bt.colorSpaceToWorking(this,s),this}setHSL(t,e,i,s=Bt.workingColorSpace){if(t=ha(t,1),e=V(e,0,1),i=V(i,0,1),e===0)this.r=this.g=this.b=i;else{let n=i<=.5?i*(1+e):i+e-i*e,r=2*i-n;this.r=Xn(r,n,t+1/3),this.g=Xn(r,n,t),this.b=Xn(r,n,t-1/3)}return Bt.colorSpaceToWorking(this,s),this}setStyle(t,e=Nt){function i(n){n!==void 0&&parseFloat(n)<1&&N(\"Color: Alpha component of \"+t+\" will be ignored.\")}let s;if(s=/^(\\w+)\\(([^\\)]*)\\)/.exec(t)){let n,r=s[1],o=s[2];switch(r){case\"rgb\":case\"rgba\":if(n=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(o))return i(n[4]),this.setRGB(Math.min(255,parseInt(n[1],10))/255,Math.min(255,parseInt(n[2],10))/255,Math.min(255,parseInt(n[3],10))/255,e);if(n=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(o))return i(n[4]),this.setRGB(Math.min(100,parseInt(n[1],10))/100,Math.min(100,parseInt(n[2],10))/100,Math.min(100,parseInt(n[3],10))/100,e);break;case\"hsl\":case\"hsla\":if(n=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(o))return i(n[4]),this.setHSL(parseFloat(n[1])/360,parseFloat(n[2])/100,parseFloat(n[3])/100,e);break;default:N(\"Color: Unknown color model \"+t)}}else if(s=/^\\#([A-Fa-f\\d]+)$/.exec(t)){let n=s[1],r=n.length;if(r===3)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,e);if(r===6)return this.setHex(parseInt(n,16),e);N(\"Color: Invalid hex color \"+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Nt){let i=hc[t.toLowerCase()];return i!==void 0?this.setHex(i,e):N(\"Color: Unknown color \"+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=ge(t.r),this.g=ge(t.g),this.b=ge(t.b),this}copyLinearToSRGB(t){return this.r=Ai(t.r),this.g=Ai(t.g),this.b=Ai(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=Nt){return Bt.workingToColorSpace(yt.copy(this),t),Math.round(V(yt.r*255,0,255))*65536+Math.round(V(yt.g*255,0,255))*256+Math.round(V(yt.b*255,0,255))}getHexString(t=Nt){return(\"000000\"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=Bt.workingColorSpace){Bt.workingToColorSpace(yt.copy(this),e);let i=yt.r,s=yt.g,n=yt.b,r=Math.max(i,s,n),o=Math.min(i,s,n),a,l,c=(o+r)/2;if(o===r)a=0,l=0;else{let u=r-o;switch(l=c<=.5?u/(r+o):u/(2-r-o),r){case i:a=(s-n)/u+(s<n?6:0);break;case s:a=(n-i)/u+2;break;case n:a=(i-s)/u+4;break}a/=6}return t.h=a,t.s=l,t.l=c,t}getRGB(t,e=Bt.workingColorSpace){return Bt.workingToColorSpace(yt.copy(this),e),t.r=yt.r,t.g=yt.g,t.b=yt.b,t}getStyle(t=Nt){Bt.workingToColorSpace(yt.copy(this),t);let e=yt.r,i=yt.g,s=yt.b;return t!==Nt?`color(${t} ${e.toFixed(3)} ${i.toFixed(3)} ${s.toFixed(3)})`:`rgb(${Math.round(e*255)},${Math.round(i*255)},${Math.round(s*255)})`}offsetHSL(t,e,i){return this.getHSL(Me),this.setHSL(Me.h+t,Me.s+e,Me.l+i)}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,i){return this.r=t.r+(e.r-t.r)*i,this.g=t.g+(e.g-t.g)*i,this.b=t.b+(e.b-t.b)*i,this}lerpHSL(t,e){this.getHSL(Me),t.getHSL(ms);let i=ji(Me.h,ms.h,e),s=ji(Me.s,ms.s,e),n=ji(Me.l,ms.l,e);return this.setHSL(i,s,n),this}setFromVector3(t){return this.r=t.x,this.g=t.y,this.b=t.z,this}applyMatrix3(t){let e=this.r,i=this.g,s=this.b,n=t.elements;return this.r=n[0]*e+n[3]*i+n[6]*s,this.g=n[1]*e+n[4]*i+n[7]*s,this.b=n[2]*e+n[5]*i+n[8]*s,this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}},yt=new U;U.NAMES=hc;var kr=class h{constructor(t,e=25e-5){this.isFogExp2=!0,this.name=\"\",this.color=new U(t),this.density=e}clone(){return new h(this.color,this.density)}toJSON(){return{type:\"FogExp2\",name:this.name,color:this.color.getHex(),density:this.density}}},Pr=class h{constructor(t,e=1,i=1e3){this.isFog=!0,this.name=\"\",this.color=new U(t),this.near=e,this.far=i}clone(){return new h(this.color,this.near,this.far)}toJSON(){return{type:\"Fog\",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}},Rr=class extends Y{constructor(){super(),this.isScene=!0,this.type=\"Scene\",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new ie,this.environmentIntensity=1,this.environmentRotation=new ie,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(t,e){return super.copy(t,e),t.background!==null&&(this.background=t.background.clone()),t.environment!==null&&(this.environment=t.environment.clone()),t.fog!==null&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,this.backgroundRotation.copy(t.backgroundRotation),this.environmentIntensity=t.environmentIntensity,this.environmentRotation.copy(t.environmentRotation),t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){let e=super.toJSON(t);return this.fog!==null&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(e.object.backgroundIntensity=this.backgroundIntensity),e.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(e.object.environmentIntensity=this.environmentIntensity),e.object.environmentRotation=this.environmentRotation.toArray(),e}},qt=new M,he=new M,Hn=new M,le=new M,oi=new M,ai=new M,Ka=new M,Zn=new M,Yn=new M,$n=new M,jn=new Tt,Qn=new Tt,Kn=new Tt,pe=class h{constructor(t=new M,e=new M,i=new M){this.a=t,this.b=e,this.c=i}static getNormal(t,e,i,s){s.subVectors(i,e),qt.subVectors(t,e),s.cross(qt);let n=s.lengthSq();return n>0?s.multiplyScalar(1/Math.sqrt(n)):s.set(0,0,0)}static getBarycoord(t,e,i,s,n){qt.subVectors(s,e),he.subVectors(i,e),Hn.subVectors(t,e);let r=qt.dot(qt),o=qt.dot(he),a=qt.dot(Hn),l=he.dot(he),c=he.dot(Hn),u=r*l-o*o;if(u===0)return n.set(0,0,0),null;let d=1/u,p=(l*a-o*c)*d,f=(r*c-o*a)*d;return n.set(1-p-f,f,p)}static containsPoint(t,e,i,s){return this.getBarycoord(t,e,i,s,le)===null?!1:le.x>=0&&le.y>=0&&le.x+le.y<=1}static getInterpolation(t,e,i,s,n,r,o,a){return this.getBarycoord(t,e,i,s,le)===null?(a.x=0,a.y=0,\"z\"in a&&(a.z=0),\"w\"in a&&(a.w=0),null):(a.setScalar(0),a.addScaledVector(n,le.x),a.addScaledVector(r,le.y),a.addScaledVector(o,le.z),a)}static getInterpolatedAttribute(t,e,i,s,n,r){return jn.setScalar(0),Qn.setScalar(0),Kn.setScalar(0),jn.fromBufferAttribute(t,e),Qn.fromBufferAttribute(t,i),Kn.fromBufferAttribute(t,s),r.setScalar(0),r.addScaledVector(jn,n.x),r.addScaledVector(Qn,n.y),r.addScaledVector(Kn,n.z),r}static isFrontFacing(t,e,i,s){return qt.subVectors(i,e),he.subVectors(t,e),qt.cross(he).dot(s)<0}set(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this}setFromPointsAndIndices(t,e,i,s){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[s]),this}setFromAttributeAndIndices(t,e,i,s){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,i),this.c.fromBufferAttribute(t,s),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return qt.subVectors(this.c,this.b),he.subVectors(this.a,this.b),qt.cross(he).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return h.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return h.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,i,s,n){return h.getInterpolation(t,this.a,this.b,this.c,e,i,s,n)}containsPoint(t){return h.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return h.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){let i=this.a,s=this.b,n=this.c,r,o;oi.subVectors(s,i),ai.subVectors(n,i),Zn.subVectors(t,i);let a=oi.dot(Zn),l=ai.dot(Zn);if(a<=0&&l<=0)return e.copy(i);Yn.subVectors(t,s);let c=oi.dot(Yn),u=ai.dot(Yn);if(c>=0&&u<=c)return e.copy(s);let d=a*u-c*l;if(d<=0&&a>=0&&c<=0)return r=a/(a-c),e.copy(i).addScaledVector(oi,r);$n.subVectors(t,n);let p=oi.dot($n),f=ai.dot($n);if(f>=0&&p<=f)return e.copy(n);let m=p*l-a*f;if(m<=0&&l>=0&&f<=0)return o=l/(l-f),e.copy(i).addScaledVector(ai,o);let g=c*f-p*u;if(g<=0&&u-c>=0&&p-f>=0)return Ka.subVectors(n,s),o=(u-c)/(u-c+(p-f)),e.copy(s).addScaledVector(Ka,o);let y=1/(g+m+d);return r=m*y,o=d*y,e.copy(i).addScaledVector(oi,r).addScaledVector(ai,o)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}},pt=class{constructor(t=new M(1/0,1/0,1/0),e=new M(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,i=t.length;e<i;e+=3)this.expandByPoint(Jt.fromArray(t,e));return this}setFromBufferAttribute(t){this.makeEmpty();for(let e=0,i=t.count;e<i;e++)this.expandByPoint(Jt.fromBufferAttribute(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){let i=Jt.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this}setFromObject(t,e=!1){return this.makeEmpty(),this.expandByObject(t,e)}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t,e=!1){t.updateWorldMatrix(!1,!1);let i=t.geometry;if(i!==void 0){let n=i.getAttribute(\"position\");if(e===!0&&n!==void 0&&t.isInstancedMesh!==!0)for(let r=0,o=n.count;r<o;r++)t.isMesh===!0?t.getVertexPosition(r,Jt):Jt.fromBufferAttribute(n,r),Jt.applyMatrix4(t.matrixWorld),this.expandByPoint(Jt);else t.boundingBox!==void 0?(t.boundingBox===null&&t.computeBoundingBox(),ys.copy(t.boundingBox)):(i.boundingBox===null&&i.computeBoundingBox(),ys.copy(i.boundingBox)),ys.applyMatrix4(t.matrixWorld),this.union(ys)}let s=t.children;for(let n=0,r=s.length;n<r;n++)this.expandByObject(s[n],e);return this}containsPoint(t){return t.x>=this.min.x&&t.x<=this.max.x&&t.y>=this.min.y&&t.y<=this.max.y&&t.z>=this.min.z&&t.z<=this.max.z}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return t.max.x>=this.min.x&&t.min.x<=this.max.x&&t.max.y>=this.min.y&&t.min.y<=this.max.y&&t.max.z>=this.min.z&&t.min.z<=this.max.z}intersectsSphere(t){return this.clampPoint(t.center,Jt),Jt.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=-t.constant&&i>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(Vi),gs.subVectors(this.max,Vi),hi.subVectors(t.a,Vi),li.subVectors(t.b,Vi),ci.subVectors(t.c,Vi),_e.subVectors(li,hi),ve.subVectors(ci,li),Re.subVectors(hi,ci);let e=[0,-_e.z,_e.y,0,-ve.z,ve.y,0,-Re.z,Re.y,_e.z,0,-_e.x,ve.z,0,-ve.x,Re.z,0,-Re.x,-_e.y,_e.x,0,-ve.y,ve.x,0,-Re.y,Re.x,0];return!tr(e,hi,li,ci,gs)||(e=[1,0,0,0,1,0,0,0,1],!tr(e,hi,li,ci,gs))?!1:(xs.crossVectors(_e,ve),e=[xs.x,xs.y,xs.z],tr(e,hi,li,ci,gs))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Jt).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=this.getSize(Jt).length()*.5),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()?this:(ce[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),ce[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),ce[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),ce[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),ce[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),ce[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),ce[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),ce[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(ce),this)}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(t){return this.min.fromArray(t.min),this.max.fromArray(t.max),this}},ce=[new M,new M,new M,new M,new M,new M,new M,new M],Jt=new M,ys=new pt,hi=new M,li=new M,ci=new M,_e=new M,ve=new M,Re=new M,Vi=new M,gs=new M,xs=new M,Oe=new M;function tr(h,t,e,i,s){for(let n=0,r=h.length-3;n<=r;n+=3){Oe.fromArray(h,n);let o=s.x*Math.abs(Oe.x)+s.y*Math.abs(Oe.y)+s.z*Math.abs(Oe.z),a=t.dot(Oe),l=e.dot(Oe),c=i.dot(Oe);if(Math.max(-Math.max(a,l,c),Math.min(a,l,c))>o)return!1}return!0}var fe=rd();function rd(){let h=new ArrayBuffer(4),t=new Float32Array(h),e=new Uint32Array(h),i=new Uint32Array(512),s=new Uint32Array(512);for(let a=0;a<256;++a){let l=a-127;l<-27?(i[a]=0,i[a|256]=32768,s[a]=24,s[a|256]=24):l<-14?(i[a]=1024>>-l-14,i[a|256]=1024>>-l-14|32768,s[a]=-l-1,s[a|256]=-l-1):l<=15?(i[a]=l+15<<10,i[a|256]=l+15<<10|32768,s[a]=13,s[a|256]=13):l<128?(i[a]=31744,i[a|256]=64512,s[a]=24,s[a|256]=24):(i[a]=31744,i[a|256]=64512,s[a]=13,s[a|256]=13)}let n=new Uint32Array(2048),r=new Uint32Array(64),o=new Uint32Array(64);for(let a=1;a<1024;++a){let l=a<<13,c=0;for(;(l&8388608)===0;)l<<=1,c-=8388608;l&=-8388609,c+=947912704,n[a]=l|c}for(let a=1024;a<2048;++a)n[a]=939524096+(a-1024<<13);for(let a=1;a<31;++a)r[a]=a<<23;r[31]=1199570944,r[32]=2147483648;for(let a=33;a<63;++a)r[a]=2147483648+(a-32<<23);r[63]=3347054592;for(let a=1;a<64;++a)a!==32&&(o[a]=1024);return{floatView:t,uint32View:e,baseTable:i,shiftTable:s,mantissaTable:n,exponentTable:r,offsetTable:o}}function St(h){Math.abs(h)>65504&&N(\"DataUtils.toHalfFloat(): Value out of range.\"),h=V(h,-65504,65504),fe.floatView[0]=h;let t=fe.uint32View[0],e=t>>23&511;return fe.baseTable[e]+((t&8388607)>>fe.shiftTable[e])}function Yi(h){let t=h>>10;return fe.uint32View[0]=fe.mantissaTable[fe.offsetTable[t]+(h&1023)]+fe.exponentTable[t],fe.floatView[0]}var th=class{static toHalfFloat(t){return St(t)}static fromHalfFloat(t){return Yi(t)}},ht=new M,bs=new C,od=0,j=class extends Ht{constructor(t,e,i=!1){if(super(),Array.isArray(t))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.isBufferAttribute=!0,Object.defineProperty(this,\"id\",{value:od++}),this.name=\"\",this.array=t,this.itemSize=e,this.count=t!==void 0?t.length/e:0,this.normalized=i,this.usage=on,this.updateRanges=[],this.gpuType=Ti,this.version=0}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,i){t*=this.itemSize,i*=e.itemSize;for(let s=0,n=this.itemSize;s<n;s++)this.array[t+s]=e.array[i+s];return this}copyArray(t){return this.array.set(t),this}applyMatrix3(t){if(this.itemSize===2)for(let e=0,i=this.count;e<i;e++)bs.fromBufferAttribute(this,e),bs.applyMatrix3(t),this.setXY(e,bs.x,bs.y);else if(this.itemSize===3)for(let e=0,i=this.count;e<i;e++)ht.fromBufferAttribute(this,e),ht.applyMatrix3(t),this.setXYZ(e,ht.x,ht.y,ht.z);return this}applyMatrix4(t){for(let e=0,i=this.count;e<i;e++)ht.fromBufferAttribute(this,e),ht.applyMatrix4(t),this.setXYZ(e,ht.x,ht.y,ht.z);return this}applyNormalMatrix(t){for(let e=0,i=this.count;e<i;e++)ht.fromBufferAttribute(this,e),ht.applyNormalMatrix(t),this.setXYZ(e,ht.x,ht.y,ht.z);return this}transformDirection(t){for(let e=0,i=this.count;e<i;e++)ht.fromBufferAttribute(this,e),ht.transformDirection(t),this.setXYZ(e,ht.x,ht.y,ht.z);return this}set(t,e=0){return this.array.set(t,e),this}getComponent(t,e){let i=this.array[t*this.itemSize+e];return this.normalized&&(i=Mt(i,this.array)),i}setComponent(t,e,i){return this.normalized&&(i=W(i,this.array)),this.array[t*this.itemSize+e]=i,this}getX(t){let e=this.array[t*this.itemSize];return this.normalized&&(e=Mt(e,this.array)),e}setX(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize]=e,this}getY(t){let e=this.array[t*this.itemSize+1];return this.normalized&&(e=Mt(e,this.array)),e}setY(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize+1]=e,this}getZ(t){let e=this.array[t*this.itemSize+2];return this.normalized&&(e=Mt(e,this.array)),e}setZ(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize+2]=e,this}getW(t){let e=this.array[t*this.itemSize+3];return this.normalized&&(e=Mt(e,this.array)),e}setW(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize+3]=e,this}setXY(t,e,i){return t*=this.itemSize,this.normalized&&(e=W(e,this.array),i=W(i,this.array)),this.array[t+0]=e,this.array[t+1]=i,this}setXYZ(t,e,i,s){return t*=this.itemSize,this.normalized&&(e=W(e,this.array),i=W(i,this.array),s=W(s,this.array)),this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=s,this}setXYZW(t,e,i,s,n){return t*=this.itemSize,this.normalized&&(e=W(e,this.array),i=W(i,this.array),s=W(s,this.array),n=W(n,this.array)),this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=s,this.array[t+3]=n,this}onUpload(t){return this.onUploadCallback=t,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){let t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==\"\"&&(t.name=this.name),this.usage!==on&&(t.usage=this.usage),t}dispose(){this.dispatchEvent({type:\"dispose\"})}},eh=class extends j{constructor(t,e,i){super(new Int8Array(t),e,i)}},ih=class extends j{constructor(t,e,i){super(new Uint8Array(t),e,i)}},sh=class extends j{constructor(t,e,i){super(new Uint8ClampedArray(t),e,i)}},nh=class extends j{constructor(t,e,i){super(new Int16Array(t),e,i)}},Or=class extends j{constructor(t,e,i){super(new Uint16Array(t),e,i)}},rh=class extends j{constructor(t,e,i){super(new Int32Array(t),e,i)}},Er=class extends j{constructor(t,e,i){super(new Uint32Array(t),e,i)}},oh=class extends j{constructor(t,e,i){super(new Uint16Array(t),e,i),this.isFloat16BufferAttribute=!0}getX(t){let e=Yi(this.array[t*this.itemSize]);return this.normalized&&(e=Mt(e,this.array)),e}setX(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize]=St(e),this}getY(t){let e=Yi(this.array[t*this.itemSize+1]);return this.normalized&&(e=Mt(e,this.array)),e}setY(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize+1]=St(e),this}getZ(t){let e=Yi(this.array[t*this.itemSize+2]);return this.normalized&&(e=Mt(e,this.array)),e}setZ(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize+2]=St(e),this}getW(t){let e=Yi(this.array[t*this.itemSize+3]);return this.normalized&&(e=Mt(e,this.array)),e}setW(t,e){return this.normalized&&(e=W(e,this.array)),this.array[t*this.itemSize+3]=St(e),this}setXY(t,e,i){return t*=this.itemSize,this.normalized&&(e=W(e,this.array),i=W(i,this.array)),this.array[t+0]=St(e),this.array[t+1]=St(i),this}setXYZ(t,e,i,s){return t*=this.itemSize,this.normalized&&(e=W(e,this.array),i=W(i,this.array),s=W(s,this.array)),this.array[t+0]=St(e),this.array[t+1]=St(i),this.array[t+2]=St(s),this}setXYZW(t,e,i,s,n){return t*=this.itemSize,this.normalized&&(e=W(e,this.array),i=W(i,this.array),s=W(s,this.array),n=W(n,this.array)),this.array[t+0]=St(e),this.array[t+1]=St(i),this.array[t+2]=St(s),this.array[t+3]=St(n),this}},k=class extends j{constructor(t,e,i){super(new Float32Array(t),e,i)}},ad=new pt,Di=new M,er=new M,dt=class{constructor(t=new M,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){let i=this.center;e!==void 0?i.copy(e):ad.setFromPoints(t).getCenter(i);let s=0;for(let n=0,r=t.length;n<r;n++)s=Math.max(s,i.distanceToSquared(t[n]));return this.radius=Math.sqrt(s),this}copy(t){return this.center.copy(t.center),this.radius=t.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){let e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){let i=this.center.distanceToSquared(t);return e.copy(t),i>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;Di.subVectors(t,this.center);let e=Di.lengthSq();if(e>this.radius*this.radius){let i=Math.sqrt(e),s=(i-this.radius)*.5;this.center.addScaledVector(Di,s/i),this.radius+=s}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(this.center.equals(t.center)===!0?this.radius=Math.max(this.radius,t.radius):(er.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(Di.copy(t.center).add(er)),this.expandByPoint(Di.copy(t.center).sub(er))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(t){return this.radius=t.radius,this.center.fromArray(t.center),this}},hd=0,Et=new q,ir=new Y,ui=new M,Ft=new pt,Li=new pt,ut=new M,G=class h extends Ht{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,\"id\",{value:hd++}),this.uuid=kt(),this.name=\"\",this.type=\"BufferGeometry\",this.index=null,this.indirect=null,this.indirectOffset=0,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(Bu(t)?Er:Or)(t,1):this.index=t,this}setIndirect(t,e=0){return this.indirect=t,this.indirectOffset=e,this}getIndirect(){return this.indirect}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return this.attributes[t]!==void 0}addGroup(t,e,i=0){this.groups.push({start:t,count:e,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){let e=this.attributes.position;e!==void 0&&(e.applyMatrix4(t),e.needsUpdate=!0);let i=this.attributes.normal;if(i!==void 0){let n=new ee().getNormalMatrix(t);i.applyNormalMatrix(n),i.needsUpdate=!0}let s=this.attributes.tangent;return s!==void 0&&(s.transformDirection(t),s.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(t){return Et.makeRotationFromQuaternion(t),this.applyMatrix4(Et),this}rotateX(t){return Et.makeRotationX(t),this.applyMatrix4(Et),this}rotateY(t){return Et.makeRotationY(t),this.applyMatrix4(Et),this}rotateZ(t){return Et.makeRotationZ(t),this.applyMatrix4(Et),this}translate(t,e,i){return Et.makeTranslation(t,e,i),this.applyMatrix4(Et),this}scale(t,e,i){return Et.makeScale(t,e,i),this.applyMatrix4(Et),this}lookAt(t){return ir.lookAt(t),ir.updateMatrix(),this.applyMatrix4(ir.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(ui).negate(),this.translate(ui.x,ui.y,ui.z),this}setFromPoints(t){let e=this.getAttribute(\"position\");if(e===void 0){let i=[];for(let s=0,n=t.length;s<n;s++){let r=t[s];i.push(r.x,r.y,r.z||0)}this.setAttribute(\"position\",new k(i,3))}else{let i=Math.min(t.length,e.count);for(let s=0;s<i;s++){let n=t[s];e.setXYZ(s,n.x,n.y,n.z||0)}t.length>e.count&&N(\"BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.\"),e.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pt);let t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute){X(\"BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.\",this),this.boundingBox.set(new M(-1/0,-1/0,-1/0),new M(1/0,1/0,1/0));return}if(t!==void 0){if(this.boundingBox.setFromBufferAttribute(t),e)for(let i=0,s=e.length;i<s;i++){let n=e[i];Ft.setFromBufferAttribute(n),this.morphTargetsRelative?(ut.addVectors(this.boundingBox.min,Ft.min),this.boundingBox.expandByPoint(ut),ut.addVectors(this.boundingBox.max,Ft.max),this.boundingBox.expandByPoint(ut)):(this.boundingBox.expandByPoint(Ft.min),this.boundingBox.expandByPoint(Ft.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&X('BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new dt);let t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute){X(\"BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.\",this),this.boundingSphere.set(new M,1/0);return}if(t){let i=this.boundingSphere.center;if(Ft.setFromBufferAttribute(t),e)for(let n=0,r=e.length;n<r;n++){let o=e[n];Li.setFromBufferAttribute(o),this.morphTargetsRelative?(ut.addVectors(Ft.min,Li.min),Ft.expandByPoint(ut),ut.addVectors(Ft.max,Li.max),Ft.expandByPoint(ut)):(Ft.expandByPoint(Li.min),Ft.expandByPoint(Li.max))}Ft.getCenter(i);let s=0;for(let n=0,r=t.count;n<r;n++)ut.fromBufferAttribute(t,n),s=Math.max(s,i.distanceToSquared(ut));if(e)for(let n=0,r=e.length;n<r;n++){let o=e[n],a=this.morphTargetsRelative;for(let l=0,c=o.count;l<c;l++)ut.fromBufferAttribute(o,l),a&&(ui.fromBufferAttribute(t,l),ut.add(ui)),s=Math.max(s,i.distanceToSquared(ut))}this.boundingSphere.radius=Math.sqrt(s),isNaN(this.boundingSphere.radius)&&X('BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.',this)}}computeTangents(){let t=this.index,e=this.attributes;if(t===null||e.position===void 0||e.normal===void 0||e.uv===void 0){X(\"BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");return}let i=e.position,s=e.normal,n=e.uv;this.hasAttribute(\"tangent\")===!1&&this.setAttribute(\"tangent\",new j(new Float32Array(4*i.count),4));let r=this.getAttribute(\"tangent\"),o=[],a=[];for(let S=0;S<i.count;S++)o[S]=new M,a[S]=new M;let l=new M,c=new M,u=new M,d=new C,p=new C,f=new C,m=new M,g=new M;function y(S,T,I){l.fromBufferAttribute(i,S),c.fromBufferAttribute(i,T),u.fromBufferAttribute(i,I),d.fromBufferAttribute(n,S),p.fromBufferAttribute(n,T),f.fromBufferAttribute(n,I),c.sub(l),u.sub(l),p.sub(d),f.sub(d);let F=1/(p.x*f.y-f.x*p.y);isFinite(F)&&(m.copy(c).multiplyScalar(f.y).addScaledVector(u,-p.y).multiplyScalar(F),g.copy(u).multiplyScalar(p.x).addScaledVector(c,-f.x).multiplyScalar(F),o[S].add(m),o[T].add(m),o[I].add(m),a[S].add(g),a[T].add(g),a[I].add(g))}let x=this.groups;x.length===0&&(x=[{start:0,count:t.count}]);for(let S=0,T=x.length;S<T;++S){let I=x[S],F=I.start,O=I.count;for(let D=F,H=F+O;D<H;D+=3)y(t.getX(D+0),t.getX(D+1),t.getX(D+2))}let b=new M,w=new M,_=new M,v=new M;function A(S){_.fromBufferAttribute(s,S),v.copy(_);let T=o[S];b.copy(T),b.sub(_.multiplyScalar(_.dot(T))).normalize(),w.crossVectors(v,T);let F=w.dot(a[S])<0?-1:1;r.setXYZW(S,b.x,b.y,b.z,F)}for(let S=0,T=x.length;S<T;++S){let I=x[S],F=I.start,O=I.count;for(let D=F,H=F+O;D<H;D+=3)A(t.getX(D+0)),A(t.getX(D+1)),A(t.getX(D+2))}}computeVertexNormals(){let t=this.index,e=this.getAttribute(\"position\");if(e!==void 0){let i=this.getAttribute(\"normal\");if(i===void 0)i=new j(new Float32Array(e.count*3),3),this.setAttribute(\"normal\",i);else for(let d=0,p=i.count;d<p;d++)i.setXYZ(d,0,0,0);let s=new M,n=new M,r=new M,o=new M,a=new M,l=new M,c=new M,u=new M;if(t)for(let d=0,p=t.count;d<p;d+=3){let f=t.getX(d+0),m=t.getX(d+1),g=t.getX(d+2);s.fromBufferAttribute(e,f),n.fromBufferAttribute(e,m),r.fromBufferAttribute(e,g),c.subVectors(r,n),u.subVectors(s,n),c.cross(u),o.fromBufferAttribute(i,f),a.fromBufferAttribute(i,m),l.fromBufferAttribute(i,g),o.add(c),a.add(c),l.add(c),i.setXYZ(f,o.x,o.y,o.z),i.setXYZ(m,a.x,a.y,a.z),i.setXYZ(g,l.x,l.y,l.z)}else for(let d=0,p=e.count;d<p;d+=3)s.fromBufferAttribute(e,d+0),n.fromBufferAttribute(e,d+1),r.fromBufferAttribute(e,d+2),c.subVectors(r,n),u.subVectors(s,n),c.cross(u),i.setXYZ(d+0,c.x,c.y,c.z),i.setXYZ(d+1,c.x,c.y,c.z),i.setXYZ(d+2,c.x,c.y,c.z);this.normalizeNormals(),i.needsUpdate=!0}}normalizeNormals(){let t=this.attributes.normal;for(let e=0,i=t.count;e<i;e++)ut.fromBufferAttribute(t,e),ut.normalize(),t.setXYZ(e,ut.x,ut.y,ut.z)}toNonIndexed(){function t(o,a){let l=o.array,c=o.itemSize,u=o.normalized,d=new l.constructor(a.length*c),p=0,f=0;for(let m=0,g=a.length;m<g;m++){o.isInterleavedBufferAttribute?p=a[m]*o.data.stride+o.offset:p=a[m]*c;for(let y=0;y<c;y++)d[f++]=l[p++]}return new j(d,c,u)}if(this.index===null)return N(\"BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\"),this;let e=new h,i=this.index.array,s=this.attributes;for(let o in s){let a=s[o],l=t(a,i);e.setAttribute(o,l)}let n=this.morphAttributes;for(let o in n){let a=[],l=n[o];for(let c=0,u=l.length;c<u;c++){let d=l[c],p=t(d,i);a.push(p)}e.morphAttributes[o]=a}e.morphTargetsRelative=this.morphTargetsRelative;let r=this.groups;for(let o=0,a=r.length;o<a;o++){let l=r[o];e.addGroup(l.start,l.count,l.materialIndex)}return e}toJSON(){let t={metadata:{version:4.7,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};if(t.uuid=this.uuid,t.type=this.type,this.name!==\"\"&&(t.name=this.name),Object.keys(this.userData).length>0&&(t.userData=this.userData),this.parameters!==void 0){let a=this.parameters;for(let l in a)a[l]!==void 0&&(t[l]=a[l]);return t}t.data={attributes:{}};let e=this.index;e!==null&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});let i=this.attributes;for(let a in i){let l=i[a];t.data.attributes[a]=l.toJSON(t.data)}let s={},n=!1;for(let a in this.morphAttributes){let l=this.morphAttributes[a],c=[];for(let u=0,d=l.length;u<d;u++){let p=l[u];c.push(p.toJSON(t.data))}c.length>0&&(s[a]=c,n=!0)}n&&(t.data.morphAttributes=s,t.data.morphTargetsRelative=this.morphTargetsRelative);let r=this.groups;r.length>0&&(t.data.groups=JSON.parse(JSON.stringify(r)));let o=this.boundingSphere;return o!==null&&(t.data.boundingSphere=o.toJSON()),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let e={};this.name=t.name;let i=t.index;i!==null&&this.setIndex(i.clone());let s=t.attributes;for(let l in s){let c=s[l];this.setAttribute(l,c.clone(e))}let n=t.morphAttributes;for(let l in n){let c=[],u=n[l];for(let d=0,p=u.length;d<p;d++)c.push(u[d].clone(e));this.morphAttributes[l]=c}this.morphTargetsRelative=t.morphTargetsRelative;let r=t.groups;for(let l=0,c=r.length;l<c;l++){let u=r[l];this.addGroup(u.start,u.count,u.materialIndex)}let o=t.boundingBox;o!==null&&(this.boundingBox=o.clone());let a=t.boundingSphere;return a!==null&&(this.boundingSphere=a.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this}dispose(){this.dispatchEvent({type:\"dispose\"})}},is=class{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=on,this.updateRanges=[],this.version=0,this.uuid=kt()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,i){t*=this.stride,i*=e.stride;for(let s=0,n=this.stride;s<n;s++)this.array[t+s]=e.array[i+s];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=kt()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(e,this.stride);return i.setUsage(this.usage),i}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=kt()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},wt=new M,Ci=class h{constructor(t,e,i,s=!1){this.isInterleavedBufferAttribute=!0,this.name=\"\",this.data=t,this.itemSize=e,this.offset=i,this.normalized=s}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,i=this.data.count;e<i;e++)wt.fromBufferAttribute(this,e),wt.applyMatrix4(t),this.setXYZ(e,wt.x,wt.y,wt.z);return this}applyNormalMatrix(t){for(let e=0,i=this.count;e<i;e++)wt.fromBufferAttribute(this,e),wt.applyNormalMatrix(t),this.setXYZ(e,wt.x,wt.y,wt.z);return this}transformDirection(t){for(let e=0,i=this.count;e<i;e++)wt.fromBufferAttribute(this,e),wt.transformDirection(t),this.setXYZ(e,wt.x,wt.y,wt.z);return this}getComponent(t,e){let i=this.array[t*this.data.stride+this.offset+e];return this.normalized&&(i=Mt(i,this.array)),i}setComponent(t,e,i){return this.normalized&&(i=W(i,this.array)),this.data.array[t*this.data.stride+this.offset+e]=i,this}setX(t,e){return this.normalized&&(e=W(e,this.array)),this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.normalized&&(e=W(e,this.array)),this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.normalized&&(e=W(e,this.array)),this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.normalized&&(e=W(e,this.array)),this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];return this.normalized&&(e=Mt(e,this.array)),e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];return this.normalized&&(e=Mt(e,this.array)),e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];return this.normalized&&(e=Mt(e,this.array)),e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];return this.normalized&&(e=Mt(e,this.array)),e}setXY(t,e,i){return t=t*this.data.stride+this.offset,this.normalized&&(e=W(e,this.array),i=W(i,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this}setXYZ(t,e,i,s){return t=t*this.data.stride+this.offset,this.normalized&&(e=W(e,this.array),i=W(i,this.array),s=W(s,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=s,this}setXYZW(t,e,i,s,n){return t=t*this.data.stride+this.offset,this.normalized&&(e=W(e,this.array),i=W(i,this.array),s=W(s,this.array),n=W(n,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=s,this.data.array[t+3]=n,this}clone(t){if(t===void 0){Na(\"InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.\");let e=[];for(let i=0;i<this.count;i++){let s=i*this.data.stride+this.offset;for(let n=0;n<this.itemSize;n++)e.push(this.data.array[s+n])}return new j(new this.array.constructor(e),this.itemSize,this.normalized)}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new h(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(t===void 0){Na(\"InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.\");let e=[];for(let i=0;i<this.count;i++){let s=i*this.data.stride+this.offset;for(let n=0;n<this.itemSize;n++)e.push(this.data.array[s+n])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},ld=0,ft=class extends Ht{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,\"id\",{value:ld++}),this.uuid=kt(),this.name=\"\",this.type=\"Material\",this.blending=wa,this.side=Ar,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=_a,this.blendDst=va,this.blendEquation=Ma,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new U(0,0,0),this.blendAlpha=0,this.depthFunc=sn,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=Oa,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=ei,this.stencilZFail=ei,this.stencilZPass=ei,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.allowOverride=!0,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(t!==void 0)for(let e in t){let i=t[e];if(i===void 0){N(`Material: parameter '${e}' has value of undefined.`);continue}let s=this[e];if(s===void 0){N(`Material: '${e}' is not a property of THREE.${this.type}.`);continue}s&&s.isColor?s.set(i):s&&s.isVector3&&i&&i.isVector3?s.copy(i):this[e]=i}}toJSON(t){let e=t===void 0||typeof t==\"string\";e&&(t={textures:{},images:{}});let i={metadata:{version:4.7,type:\"Material\",generator:\"Material.toJSON\"}};i.uuid=this.uuid,i.type=this.type,this.name!==\"\"&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(i.sheenColorMap=this.sheenColorMap.toJSON(t).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(i.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(t).uuid),this.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(t).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(t).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(t).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(t).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(t).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(t).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(t).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(t).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(t).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==wa&&(i.blending=this.blending),this.side!==Ar&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==_a&&(i.blendSrc=this.blendSrc),this.blendDst!==va&&(i.blendDst=this.blendDst),this.blendEquation!==Ma&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==sn&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Oa&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ei&&(i.stencilFail=this.stencilFail),this.stencilZFail!==ei&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==ei&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.allowOverride===!1&&(i.allowOverride=!1),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!==\"round\"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!==\"round\"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function s(n){let r=[];for(let o in n){let a=n[o];delete a.metadata,r.push(a)}return r}if(e){let n=s(t.textures),r=s(t.images);n.length>0&&(i.textures=n),r.length>0&&(i.images=r)}return i}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;let e=t.clippingPlanes,i=null;if(e!==null){let s=e.length;i=new Array(s);for(let n=0;n!==s;++n)i[n]=e[n].clone()}return this.clippingPlanes=i,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.allowOverride=t.allowOverride,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(t){t===!0&&this.version++}},dn=class extends ft{constructor(t){super(),this.isSpriteMaterial=!0,this.type=\"SpriteMaterial\",this.color=new U(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}},di,Ui=new M,pi=new M,fi=new M,mi=new C,Wi=new C,lc=new q,ws=new M,qi=new M,Ms=new M,ah=new C,sr=new C,hh=new C,Nr=class extends Y{constructor(t=new dn){if(super(),this.isSprite=!0,this.type=\"Sprite\",di===void 0){di=new G;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new is(e,5);di.setIndex([0,1,2,0,2,3]),di.setAttribute(\"position\",new Ci(i,3,0,!1)),di.setAttribute(\"uv\",new Ci(i,2,3,!1))}this.geometry=di,this.material=t,this.center=new C(.5,.5),this.count=1}raycast(t,e){t.camera===null&&X('Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.'),pi.setFromMatrixScale(this.matrixWorld),lc.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),fi.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&pi.multiplyScalar(-fi.z);let i=this.material.rotation,s,n;i!==0&&(n=Math.cos(i),s=Math.sin(i));let r=this.center;_s(ws.set(-.5,-.5,0),fi,r,pi,s,n),_s(qi.set(.5,-.5,0),fi,r,pi,s,n),_s(Ms.set(.5,.5,0),fi,r,pi,s,n),ah.set(0,0),sr.set(1,0),hh.set(1,1);let o=t.ray.intersectTriangle(ws,qi,Ms,!1,Ui);if(o===null&&(_s(qi.set(-.5,.5,0),fi,r,pi,s,n),sr.set(0,1),o=t.ray.intersectTriangle(ws,Ms,qi,!1,Ui),o===null))return;let a=t.ray.origin.distanceTo(Ui);a<t.near||a>t.far||e.push({distance:a,point:Ui.clone(),uv:pe.getInterpolation(Ui,ws,qi,Ms,ah,sr,hh,new C),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}};function _s(h,t,e,i,s,n){mi.subVectors(h,e).addScalar(.5).multiply(i),s!==void 0?(Wi.x=n*mi.x-s*mi.y,Wi.y=s*mi.x+n*mi.y):Wi.copy(mi),h.copy(t),h.x+=Wi.x,h.y+=Wi.y,h.applyMatrix4(lc)}var vs=new M,lh=new M,Vr=class extends Y{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);let e=t.levels;for(let i=0,s=e.length;i<s;i++){let n=e[i];this.addLevel(n.object.clone(),n.distance,n.hysteresis)}return this.autoUpdate=t.autoUpdate,this}addLevel(t,e=0,i=0){e=Math.abs(e);let s=this.levels,n;for(n=0;n<s.length&&!(e<s[n].distance);n++);return s.splice(n,0,{distance:e,hysteresis:i,object:t}),this.add(t),this}removeLevel(t){let e=this.levels;for(let i=0;i<e.length;i++)if(e[i].distance===t){let s=e.splice(i,1);return this.remove(s[0].object),!0}return!1}getCurrentLevel(){return this._currentLevel}getObjectForDistance(t){let e=this.levels;if(e.length>0){let i,s;for(i=1,s=e.length;i<s;i++){let n=e[i].distance;if(e[i].object.visible&&(n-=n*e[i].hysteresis),t<n)break}return e[i-1].object}return null}raycast(t,e){if(this.levels.length>0){vs.setFromMatrixPosition(this.matrixWorld);let s=t.ray.origin.distanceTo(vs);this.getObjectForDistance(s).raycast(t,e)}}update(t){let e=this.levels;if(e.length>1){vs.setFromMatrixPosition(t.matrixWorld),lh.setFromMatrixPosition(this.matrixWorld);let i=vs.distanceTo(lh)/t.zoom;e[0].object.visible=!0;let s,n;for(s=1,n=e.length;s<n;s++){let r=e[s].distance;if(e[s].object.visible&&(r-=r*e[s].hysteresis),i>=r)e[s-1].object.visible=!1,e[s].object.visible=!0;else break}for(this._currentLevel=s-1;s<n;s++)e[s].object.visible=!1}}toJSON(t){let e=super.toJSON(t);this.autoUpdate===!1&&(e.object.autoUpdate=!1),e.object.levels=[];let i=this.levels;for(let s=0,n=i.length;s<n;s++){let r=i[s];e.object.levels.push({object:r.object.uuid,distance:r.distance,hysteresis:r.hysteresis})}return e}},ue=new M,nr=new M,Ss=new M,Se=new M,rr=new M,As=new M,or=new M,Ye=class{constructor(t=new M,e=new M(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,ue)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);let i=e.dot(this.direction);return i<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){let e=ue.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(ue.copy(this.origin).addScaledVector(this.direction,e),ue.distanceToSquared(t))}distanceSqToSegment(t,e,i,s){nr.copy(t).add(e).multiplyScalar(.5),Ss.copy(e).sub(t).normalize(),Se.copy(this.origin).sub(nr);let n=t.distanceTo(e)*.5,r=-this.direction.dot(Ss),o=Se.dot(this.direction),a=-Se.dot(Ss),l=Se.lengthSq(),c=Math.abs(1-r*r),u,d,p,f;if(c>0)if(u=r*a-o,d=r*o-a,f=n*c,u>=0)if(d>=-f)if(d<=f){let m=1/c;u*=m,d*=m,p=u*(u+r*d+2*o)+d*(r*u+d+2*a)+l}else d=n,u=Math.max(0,-(r*d+o)),p=-u*u+d*(d+2*a)+l;else d=-n,u=Math.max(0,-(r*d+o)),p=-u*u+d*(d+2*a)+l;else d<=-f?(u=Math.max(0,-(-r*n+o)),d=u>0?-n:Math.min(Math.max(-n,-a),n),p=-u*u+d*(d+2*a)+l):d<=f?(u=0,d=Math.min(Math.max(-n,-a),n),p=d*(d+2*a)+l):(u=Math.max(0,-(r*n+o)),d=u>0?n:Math.min(Math.max(-n,-a),n),p=-u*u+d*(d+2*a)+l);else d=r>0?-n:n,u=Math.max(0,-(r*d+o)),p=-u*u+d*(d+2*a)+l;return i&&i.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy(nr).addScaledVector(Ss,d),p}intersectSphere(t,e){ue.subVectors(t.center,this.origin);let i=ue.dot(this.direction),s=ue.dot(ue)-i*i,n=t.radius*t.radius;if(s>n)return null;let r=Math.sqrt(n-s),o=i-r,a=i+r;return a<0?null:o<0?this.at(a,e):this.at(o,e)}intersectsSphere(t){return t.radius<0?!1:this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){let e=t.normal.dot(this.direction);if(e===0)return t.distanceToPoint(this.origin)===0?0:null;let i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null}intersectPlane(t,e){let i=this.distanceToPlane(t);return i===null?null:this.at(i,e)}intersectsPlane(t){let e=t.distanceToPoint(this.origin);return e===0||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let i,s,n,r,o,a,l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,d=this.origin;return l>=0?(i=(t.min.x-d.x)*l,s=(t.max.x-d.x)*l):(i=(t.max.x-d.x)*l,s=(t.min.x-d.x)*l),c>=0?(n=(t.min.y-d.y)*c,r=(t.max.y-d.y)*c):(n=(t.max.y-d.y)*c,r=(t.min.y-d.y)*c),i>r||n>s||((n>i||isNaN(i))&&(i=n),(r<s||isNaN(s))&&(s=r),u>=0?(o=(t.min.z-d.z)*u,a=(t.max.z-d.z)*u):(o=(t.max.z-d.z)*u,a=(t.min.z-d.z)*u),i>a||o>s)||((o>i||i!==i)&&(i=o),(a<s||s!==s)&&(s=a),s<0)?null:this.at(i>=0?i:s,e)}intersectsBox(t){return this.intersectBox(t,ue)!==null}intersectTriangle(t,e,i,s,n){rr.subVectors(e,t),As.subVectors(i,t),or.crossVectors(rr,As);let r=this.direction.dot(or),o;if(r>0){if(s)return null;o=1}else if(r<0)o=-1,r=-r;else return null;Se.subVectors(this.origin,t);let a=o*this.direction.dot(As.crossVectors(Se,As));if(a<0)return null;let l=o*this.direction.dot(rr.cross(Se));if(l<0||a+l>r)return null;let c=-o*Se.dot(or);return c<0?null:this.at(c/r,n)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}},Fe=class extends ft{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type=\"MeshBasicMaterial\",this.color=new U(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ie,this.combine=sa,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}},ch=new q,Ee=new Ye,Ts=new dt,uh=new M,Is=new M,Cs=new M,zs=new M,ar=new M,Fs=new M,dh=new M,Bs=new M,Vt=class extends Y{constructor(t=new G,e=new Fe){super(),this.isMesh=!0,this.type=\"Mesh\",this.geometry=t,this.material=e,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.count=1,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),t.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),t.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=Array.isArray(t.material)?t.material.slice():t.material,this.geometry=t.geometry,this}updateMorphTargets(){let e=this.geometry.morphAttributes,i=Object.keys(e);if(i.length>0){let s=e[i[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,r=s.length;n<r;n++){let o=s[n].name||String(n);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=n}}}}getVertexPosition(t,e){let i=this.geometry,s=i.attributes.position,n=i.morphAttributes.position,r=i.morphTargetsRelative;e.fromBufferAttribute(s,t);let o=this.morphTargetInfluences;if(n&&o){Fs.set(0,0,0);for(let a=0,l=n.length;a<l;a++){let c=o[a],u=n[a];c!==0&&(ar.fromBufferAttribute(u,t),r?Fs.addScaledVector(ar,c):Fs.addScaledVector(ar.sub(e),c))}e.add(Fs)}return e}raycast(t,e){let i=this.geometry,s=this.material,n=this.matrixWorld;s!==void 0&&(i.boundingSphere===null&&i.computeBoundingSphere(),Ts.copy(i.boundingSphere),Ts.applyMatrix4(n),Ee.copy(t.ray).recast(t.near),!(Ts.containsPoint(Ee.origin)===!1&&(Ee.intersectSphere(Ts,uh)===null||Ee.origin.distanceToSquared(uh)>(t.far-t.near)**2))&&(ch.copy(n).invert(),Ee.copy(t.ray).applyMatrix4(ch),!(i.boundingBox!==null&&Ee.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(t,e,Ee)))}_computeIntersections(t,e,i){let s,n=this.geometry,r=this.material,o=n.index,a=n.attributes.position,l=n.attributes.uv,c=n.attributes.uv1,u=n.attributes.normal,d=n.groups,p=n.drawRange;if(o!==null)if(Array.isArray(r))for(let f=0,m=d.length;f<m;f++){let g=d[f],y=r[g.materialIndex],x=Math.max(g.start,p.start),b=Math.min(o.count,Math.min(g.start+g.count,p.start+p.count));for(let w=x,_=b;w<_;w+=3){let v=o.getX(w),A=o.getX(w+1),S=o.getX(w+2);s=ks(this,y,t,i,l,c,u,v,A,S),s&&(s.faceIndex=Math.floor(w/3),s.face.materialIndex=g.materialIndex,e.push(s))}}else{let f=Math.max(0,p.start),m=Math.min(o.count,p.start+p.count);for(let g=f,y=m;g<y;g+=3){let x=o.getX(g),b=o.getX(g+1),w=o.getX(g+2);s=ks(this,r,t,i,l,c,u,x,b,w),s&&(s.faceIndex=Math.floor(g/3),e.push(s))}}else if(a!==void 0)if(Array.isArray(r))for(let f=0,m=d.length;f<m;f++){let g=d[f],y=r[g.materialIndex],x=Math.max(g.start,p.start),b=Math.min(a.count,Math.min(g.start+g.count,p.start+p.count));for(let w=x,_=b;w<_;w+=3){let v=w,A=w+1,S=w+2;s=ks(this,y,t,i,l,c,u,v,A,S),s&&(s.faceIndex=Math.floor(w/3),s.face.materialIndex=g.materialIndex,e.push(s))}}else{let f=Math.max(0,p.start),m=Math.min(a.count,p.start+p.count);for(let g=f,y=m;g<y;g+=3){let x=g,b=g+1,w=g+2;s=ks(this,r,t,i,l,c,u,x,b,w),s&&(s.faceIndex=Math.floor(g/3),e.push(s))}}}};function cd(h,t,e,i,s,n,r,o){let a;if(t.side===Mc?a=i.intersectTriangle(r,n,s,!0,o):a=i.intersectTriangle(s,n,r,t.side===Ar,o),a===null)return null;Bs.copy(o),Bs.applyMatrix4(h.matrixWorld);let l=e.ray.origin.distanceTo(Bs);return l<e.near||l>e.far?null:{distance:l,point:Bs.clone(),object:h}}function ks(h,t,e,i,s,n,r,o,a,l){h.getVertexPosition(o,Is),h.getVertexPosition(a,Cs),h.getVertexPosition(l,zs);let c=cd(h,t,e,i,Is,Cs,zs,dh);if(c){let u=new M;pe.getBarycoord(dh,Is,Cs,zs,u),s&&(c.uv=pe.getInterpolatedAttribute(s,o,a,l,u,new C)),n&&(c.uv1=pe.getInterpolatedAttribute(n,o,a,l,u,new C)),r&&(c.normal=pe.getInterpolatedAttribute(r,o,a,l,u,new M),c.normal.dot(i.direction)>0&&c.normal.multiplyScalar(-1));let d={a:o,b:a,c:l,normal:new M,materialIndex:0};pe.getNormal(Is,Cs,zs,d.normal),c.face=d,c.barycoord=u}return c}var Ji=new Tt,ph=new Tt,fh=new Tt,ud=new Tt,mh=new q,Ps=new M,hr=new dt,yh=new q,lr=new Ye,Dr=class extends Vt{constructor(t,e){super(t,e),this.isSkinnedMesh=!0,this.type=\"SkinnedMesh\",this.bindMode=Ba,this.bindMatrix=new q,this.bindMatrixInverse=new q,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){let t=this.geometry;this.boundingBox===null&&(this.boundingBox=new pt),this.boundingBox.makeEmpty();let e=t.getAttribute(\"position\");for(let i=0;i<e.count;i++)this.getVertexPosition(i,Ps),this.boundingBox.expandByPoint(Ps)}computeBoundingSphere(){let t=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new dt),this.boundingSphere.makeEmpty();let e=t.getAttribute(\"position\");for(let i=0;i<e.count;i++)this.getVertexPosition(i,Ps),this.boundingSphere.expandByPoint(Ps)}copy(t,e){return super.copy(t,e),this.bindMode=t.bindMode,this.bindMatrix.copy(t.bindMatrix),this.bindMatrixInverse.copy(t.bindMatrixInverse),this.skeleton=t.skeleton,t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone()),t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone()),this}raycast(t,e){let i=this.material,s=this.matrixWorld;i!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),hr.copy(this.boundingSphere),hr.applyMatrix4(s),t.ray.intersectsSphere(hr)!==!1&&(yh.copy(s).invert(),lr.copy(t.ray).applyMatrix4(yh),!(this.boundingBox!==null&&lr.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(t,e,lr)))}getVertexPosition(t,e){return super.getVertexPosition(t,e),this.applyBoneTransform(t,e),e}bind(t,e){this.skeleton=t,e===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){let t=new Tt,e=this.geometry.attributes.skinWeight;for(let i=0,s=e.count;i<s;i++){t.fromBufferAttribute(e,i);let n=1/t.manhattanLength();n!==1/0?t.multiplyScalar(n):t.set(1,0,0,0),e.setXYZW(i,t.x,t.y,t.z,t.w)}}updateMatrixWorld(t){super.updateMatrixWorld(t),this.bindMode===Ba?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===_c?this.bindMatrixInverse.copy(this.bindMatrix).invert():N(\"SkinnedMesh: Unrecognized bindMode: \"+this.bindMode)}applyBoneTransform(t,e){let i=this.skeleton,s=this.geometry;ph.fromBufferAttribute(s.attributes.skinIndex,t),fh.fromBufferAttribute(s.attributes.skinWeight,t),e.isVector4?(Ji.copy(e),e.set(0,0,0,0)):(Ji.set(...e,1),e.set(0,0,0)),Ji.applyMatrix4(this.bindMatrix);for(let n=0;n<4;n++){let r=fh.getComponent(n);if(r!==0){let o=ph.getComponent(n);mh.multiplyMatrices(i.bones[o].matrixWorld,i.boneInverses[o]),e.addScaledVector(ud.copy(Ji).applyMatrix4(mh),r)}}return e.isVector4&&(e.w=Ji.w),e.applyMatrix4(this.bindMatrixInverse)}},pn=class extends Y{constructor(){super(),this.isBone=!0,this.type=\"Bone\"}},Xt=class extends ct{constructor(t=null,e=1,i=1,s,n,r,o,a,l=Pt,c=Pt,u,d){super(null,r,o,a,l,c,s,n,u,d),this.isDataTexture=!0,this.image={data:t,width:e,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},gh=new q,dd=new q,Lr=class h{constructor(t=[],e=[]){this.uuid=kt(),this.bones=t.slice(0),this.boneInverses=e,this.boneMatrices=null,this.previousBoneMatrices=null,this.boneTexture=null,this.init()}init(){let t=this.bones,e=this.boneInverses;if(this.boneMatrices=new Float32Array(t.length*16),e.length===0)this.calculateInverses();else if(t.length!==e.length){N(\"Skeleton: Number of inverse bone matrices does not match amount of bones.\"),this.boneInverses=[];for(let i=0,s=this.bones.length;i<s;i++)this.boneInverses.push(new q)}}calculateInverses(){this.boneInverses.length=0;for(let t=0,e=this.bones.length;t<e;t++){let i=new q;this.bones[t]&&i.copy(this.bones[t].matrixWorld).invert(),this.boneInverses.push(i)}}pose(){for(let t=0,e=this.bones.length;t<e;t++){let i=this.bones[t];i&&i.matrixWorld.copy(this.boneInverses[t]).invert()}for(let t=0,e=this.bones.length;t<e;t++){let i=this.bones[t];i&&(i.parent&&i.parent.isBone?(i.matrix.copy(i.parent.matrixWorld).invert(),i.matrix.multiply(i.matrixWorld)):i.matrix.copy(i.matrixWorld),i.matrix.decompose(i.position,i.quaternion,i.scale))}}update(){let t=this.bones,e=this.boneInverses,i=this.boneMatrices,s=this.boneTexture;for(let n=0,r=t.length;n<r;n++){let o=t[n]?t[n].matrixWorld:dd;gh.multiplyMatrices(o,e[n]),gh.toArray(i,n*16)}s!==null&&(s.needsUpdate=!0)}clone(){return new h(this.bones,this.boneInverses)}computeBoneTexture(){let t=Math.sqrt(this.bones.length*4);t=Math.ceil(t/4)*4,t=Math.max(t,4);let e=new Float32Array(t*t*4);e.set(this.boneMatrices);let i=new Xt(e,t,t,ts,Ti);return i.needsUpdate=!0,this.boneMatrices=e,this.boneTexture=i,this}getBoneByName(t){for(let e=0,i=this.bones.length;e<i;e++){let s=this.bones[e];if(s.name===t)return s}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(t,e){this.uuid=t.uuid;for(let i=0,s=t.bones.length;i<s;i++){let n=t.bones[i],r=e[n];r===void 0&&(N(\"Skeleton: No bone found with UUID:\",n),r=new pn),this.bones.push(r),this.boneInverses.push(new q().fromArray(t.boneInverses[i]))}return this.init(),this}toJSON(){let t={metadata:{version:4.7,type:\"Skeleton\",generator:\"Skeleton.toJSON\"},bones:[],boneInverses:[]};t.uuid=this.uuid;let e=this.bones,i=this.boneInverses;for(let s=0,n=e.length;s<n;s++){let r=e[s];t.bones.push(r.uuid);let o=i[s];t.boneInverses.push(o.toArray())}return t}},$e=class extends j{constructor(t,e,i,s=1){super(t,e,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=s}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}toJSON(){let t=super.toJSON();return t.meshPerAttribute=this.meshPerAttribute,t.isInstancedBufferAttribute=!0,t}},yi=new q,xh=new q,Rs=[],bh=new pt,pd=new q,Gi=new Vt,Xi=new dt,Ur=class extends Vt{constructor(t,e,i){super(t,e),this.isInstancedMesh=!0,this.instanceMatrix=new $e(new Float32Array(i*16),16),this.previousInstanceMatrix=null,this.instanceColor=null,this.morphTexture=null,this.count=i,this.boundingBox=null,this.boundingSphere=null;for(let s=0;s<i;s++)this.setMatrixAt(s,pd)}computeBoundingBox(){let t=this.geometry,e=this.count;this.boundingBox===null&&(this.boundingBox=new pt),t.boundingBox===null&&t.computeBoundingBox(),this.boundingBox.makeEmpty();for(let i=0;i<e;i++)this.getMatrixAt(i,yi),bh.copy(t.boundingBox).applyMatrix4(yi),this.boundingBox.union(bh)}computeBoundingSphere(){let t=this.geometry,e=this.count;this.boundingSphere===null&&(this.boundingSphere=new dt),t.boundingSphere===null&&t.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let i=0;i<e;i++)this.getMatrixAt(i,yi),Xi.copy(t.boundingSphere).applyMatrix4(yi),this.boundingSphere.union(Xi)}copy(t,e){return super.copy(t,e),this.instanceMatrix.copy(t.instanceMatrix),t.previousInstanceMatrix!==null&&(this.previousInstanceMatrix=t.previousInstanceMatrix.clone()),t.morphTexture!==null&&(this.morphTexture=t.morphTexture.clone()),t.instanceColor!==null&&(this.instanceColor=t.instanceColor.clone()),this.count=t.count,t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone()),t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone()),this}getColorAt(t,e){return this.instanceColor===null?e.setRGB(1,1,1):e.fromArray(this.instanceColor.array,t*3)}getMatrixAt(t,e){return e.fromArray(this.instanceMatrix.array,t*16)}getMorphAt(t,e){let i=e.morphTargetInfluences,s=this.morphTexture.source.data.data,n=i.length+1,r=t*n+1;for(let o=0;o<i.length;o++)i[o]=s[r+o]}raycast(t,e){let i=this.matrixWorld,s=this.count;if(Gi.geometry=this.geometry,Gi.material=this.material,Gi.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),Xi.copy(this.boundingSphere),Xi.applyMatrix4(i),t.ray.intersectsSphere(Xi)!==!1))for(let n=0;n<s;n++){this.getMatrixAt(n,yi),xh.multiplyMatrices(i,yi),Gi.matrixWorld=xh,Gi.raycast(t,Rs);for(let r=0,o=Rs.length;r<o;r++){let a=Rs[r];a.instanceId=n,a.object=this,e.push(a)}Rs.length=0}}setColorAt(t,e){return this.instanceColor===null&&(this.instanceColor=new $e(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),e.toArray(this.instanceColor.array,t*3),this}setMatrixAt(t,e){return e.toArray(this.instanceMatrix.array,t*16),this}setMorphAt(t,e){let i=e.morphTargetInfluences,s=i.length+1;this.morphTexture===null&&(this.morphTexture=new Xt(new Float32Array(s*this.count),s,this.count,ic,Ti));let n=this.morphTexture.source.data.data,r=0;for(let l=0;l<i.length;l++)r+=i[l];let o=this.geometry.morphTargetsRelative?1:1-r,a=s*t;return n[a]=o,n.set(i,a+1),this}updateMorphTargets(){}dispose(){this.dispatchEvent({type:\"dispose\"}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null)}},cr=new M,fd=new M,md=new ee,Ie=class{constructor(t=new M(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,i,s){return this.normal.set(t,e,i),this.constant=s,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,i){let s=cr.subVectors(i,e).cross(fd.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(s,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){let t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e,i=!0){let s=t.delta(cr),n=this.normal.dot(s);if(n===0)return this.distanceToPoint(t.start)===0?e.copy(t.start):null;let r=-(t.start.dot(this.normal)+this.constant)/n;return i===!0&&(r<0||r>1)?null:e.copy(t.start).addScaledVector(s,r)}intersectsLine(t){let e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){let i=e||md.getNormalMatrix(t),s=this.coplanarPoint(cr).applyMatrix4(t),n=this.normal.applyMatrix3(i).normalize();return this.constant=-s.dot(n),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}},Ne=new dt,yd=new C(.5,.5),Os=new M,ss=class{constructor(t=new Ie,e=new Ie,i=new Ie,s=new Ie,n=new Ie,r=new Ie){this.planes=[t,e,i,s,n,r]}set(t,e,i,s,n,r){let o=this.planes;return o[0].copy(t),o[1].copy(e),o[2].copy(i),o[3].copy(s),o[4].copy(n),o[5].copy(r),this}copy(t){let e=this.planes;for(let i=0;i<6;i++)e[i].copy(t.planes[i]);return this}setFromProjectionMatrix(t,e=Kt,i=!1){let s=this.planes,n=t.elements,r=n[0],o=n[1],a=n[2],l=n[3],c=n[4],u=n[5],d=n[6],p=n[7],f=n[8],m=n[9],g=n[10],y=n[11],x=n[12],b=n[13],w=n[14],_=n[15];if(s[0].setComponents(l-r,p-c,y-f,_-x).normalize(),s[1].setComponents(l+r,p+c,y+f,_+x).normalize(),s[2].setComponents(l+o,p+u,y+m,_+b).normalize(),s[3].setComponents(l-o,p-u,y-m,_-b).normalize(),i)s[4].setComponents(a,d,g,w).normalize(),s[5].setComponents(l-a,p-d,y-g,_-w).normalize();else if(s[4].setComponents(l-a,p-d,y-g,_-w).normalize(),e===Kt)s[5].setComponents(l+a,p+d,y+g,_+w).normalize();else if(e===Ii)s[5].setComponents(a,d,g,w).normalize();else throw new Error(\"THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: \"+e);return this}intersectsObject(t){if(t.boundingSphere!==void 0)t.boundingSphere===null&&t.computeBoundingSphere(),Ne.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{let e=t.geometry;e.boundingSphere===null&&e.computeBoundingSphere(),Ne.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Ne)}intersectsSprite(t){Ne.center.set(0,0,0);let e=yd.distanceTo(t.center);return Ne.radius=.7071067811865476+e,Ne.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ne)}intersectsSphere(t){let e=this.planes,i=t.center,s=-t.radius;for(let n=0;n<6;n++)if(e[n].distanceToPoint(i)<s)return!1;return!0}intersectsBox(t){let e=this.planes;for(let i=0;i<6;i++){let s=e[i];if(Os.x=s.normal.x>0?t.max.x:t.min.x,Os.y=s.normal.y>0?t.max.y:t.min.y,Os.z=s.normal.z>0?t.max.z:t.min.z,s.distanceToPoint(Os)<0)return!1}return!0}containsPoint(t){let e=this.planes;for(let i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}},Yt=new q,$t=new ss,Wr=class h{constructor(){this.coordinateSystem=Kt}intersectsObject(t,e){if(!e.isArrayCamera||e.cameras.length===0)return!1;for(let i=0;i<e.cameras.length;i++){let s=e.cameras[i];if(Yt.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),$t.setFromProjectionMatrix(Yt,s.coordinateSystem,s.reversedDepth),$t.intersectsObject(t))return!0}return!1}intersectsSprite(t,e){if(!e||!e.cameras||e.cameras.length===0)return!1;for(let i=0;i<e.cameras.length;i++){let s=e.cameras[i];if(Yt.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),$t.setFromProjectionMatrix(Yt,s.coordinateSystem,s.reversedDepth),$t.intersectsSprite(t))return!0}return!1}intersectsSphere(t,e){if(!e||!e.cameras||e.cameras.length===0)return!1;for(let i=0;i<e.cameras.length;i++){let s=e.cameras[i];if(Yt.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),$t.setFromProjectionMatrix(Yt,s.coordinateSystem,s.reversedDepth),$t.intersectsSphere(t))return!0}return!1}intersectsBox(t,e){if(!e||!e.cameras||e.cameras.length===0)return!1;for(let i=0;i<e.cameras.length;i++){let s=e.cameras[i];if(Yt.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),$t.setFromProjectionMatrix(Yt,s.coordinateSystem,s.reversedDepth),$t.intersectsBox(t))return!0}return!1}containsPoint(t,e){if(!e||!e.cameras||e.cameras.length===0)return!1;for(let i=0;i<e.cameras.length;i++){let s=e.cameras[i];if(Yt.multiplyMatrices(s.projectionMatrix,s.matrixWorldInverse),$t.setFromProjectionMatrix(Yt,s.coordinateSystem,s.reversedDepth),$t.containsPoint(t))return!0}return!1}clone(){return new h}};function ur(h,t){return h-t}function gd(h,t){return h.z-t.z}function xd(h,t){return t.z-h.z}var qr=class{constructor(){this.index=0,this.pool=[],this.list=[]}push(t,e,i,s){let n=this.pool,r=this.list;this.index>=n.length&&n.push({start:-1,count:-1,z:-1,index:-1});let o=n[this.index];r.push(o),this.index++,o.start=t,o.count=e,o.z=i,o.index=s}reset(){this.list.length=0,this.index=0}},vt=new q,bd=new U(1,1,1),wh=new ss,wd=new Wr,Es=new pt,Ve=new dt,Hi=new M,Mh=new M,Md=new M,dr=new qr,gt=new Vt,Ns=[];function _d(h,t,e=0){let i=t.itemSize;if(h.isInterleavedBufferAttribute||h.array.constructor!==t.array.constructor){let s=h.count;for(let n=0;n<s;n++)for(let r=0;r<i;r++)t.setComponent(n+e,r,h.getComponent(n,r))}else t.array.set(h.array,e*i);t.needsUpdate=!0}function De(h,t){if(h.constructor!==t.constructor){let e=Math.min(h.length,t.length);for(let i=0;i<e;i++)t[i]=h[i]}else{let e=Math.min(h.length,t.length);t.set(new h.constructor(h.buffer,0,e))}}var Jr=class extends Vt{constructor(t,e,i=e*2,s){super(new G,s),this.isBatchedMesh=!0,this.perObjectFrustumCulled=!0,this.sortObjects=!0,this.boundingBox=null,this.boundingSphere=null,this.customSort=null,this._instanceInfo=[],this._geometryInfo=[],this._availableInstanceIds=[],this._availableGeometryIds=[],this._nextIndexStart=0,this._nextVertexStart=0,this._geometryCount=0,this._visibilityChanged=!0,this._geometryInitialized=!1,this._maxInstanceCount=t,this._maxVertexCount=e,this._maxIndexCount=i,this._multiDrawCounts=new Int32Array(t),this._multiDrawStarts=new Int32Array(t),this._multiDrawCount=0,this._matricesTexture=null,this._indirectTexture=null,this._colorsTexture=null,this._initMatricesTexture(),this._initIndirectTexture()}get maxInstanceCount(){return this._maxInstanceCount}get instanceCount(){return this._instanceInfo.length-this._availableInstanceIds.length}get unusedVertexCount(){return this._maxVertexCount-this._nextVertexStart}get unusedIndexCount(){return this._maxIndexCount-this._nextIndexStart}_initMatricesTexture(){let t=Math.sqrt(this._maxInstanceCount*4);t=Math.ceil(t/4)*4,t=Math.max(t,4);let e=new Float32Array(t*t*4),i=new Xt(e,t,t,ts,Ti);this._matricesTexture=i}_initIndirectTexture(){let t=Math.sqrt(this._maxInstanceCount);t=Math.ceil(t);let e=new Uint32Array(t*t),i=new Xt(e,t,t,sc,Vn);this._indirectTexture=i}_initColorsTexture(){let t=Math.sqrt(this._maxInstanceCount);t=Math.ceil(t);let e=new Float32Array(t*t*4).fill(1),i=new Xt(e,t,t,ts,Ti);i.colorSpace=Bt.workingColorSpace,this._colorsTexture=i}_initializeGeometry(t){let e=this.geometry,i=this._maxVertexCount,s=this._maxIndexCount;if(this._geometryInitialized===!1){for(let n in t.attributes){let r=t.getAttribute(n),{array:o,itemSize:a,normalized:l}=r,c=new o.constructor(i*a),u=new j(c,a,l);e.setAttribute(n,u)}if(t.getIndex()!==null){let n=i>65535?new Uint32Array(s):new Uint16Array(s);e.setIndex(new j(n,1))}this._geometryInitialized=!0}}_validateGeometry(t){let e=this.geometry;if(!!t.getIndex()!=!!e.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have \"index\".');for(let i in e.attributes){if(!t.hasAttribute(i))throw new Error(`THREE.BatchedMesh: Added geometry missing \"${i}\". All geometries must have consistent attributes.`);let s=t.getAttribute(i),n=e.getAttribute(i);if(s.itemSize!==n.itemSize||s.normalized!==n.normalized)throw new Error(\"THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.\")}}validateInstanceId(t){let e=this._instanceInfo;if(t<0||t>=e.length||e[t].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${t}. Instance is either out of range or has been deleted.`)}validateGeometryId(t){let e=this._geometryInfo;if(t<0||t>=e.length||e[t].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${t}. Geometry is either out of range or has been deleted.`)}setCustomSort(t){return this.customSort=t,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pt);let t=this.boundingBox,e=this._instanceInfo;t.makeEmpty();for(let i=0,s=e.length;i<s;i++){if(e[i].active===!1)continue;let n=e[i].geometryIndex;this.getMatrixAt(i,vt),this.getBoundingBoxAt(n,Es).applyMatrix4(vt),t.union(Es)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new dt);let t=this.boundingSphere,e=this._instanceInfo;t.makeEmpty();for(let i=0,s=e.length;i<s;i++){if(e[i].active===!1)continue;let n=e[i].geometryIndex;this.getMatrixAt(i,vt),this.getBoundingSphereAt(n,Ve).applyMatrix4(vt),t.union(Ve)}}addInstance(t){if(this._instanceInfo.length>=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error(\"THREE.BatchedMesh: Maximum item count reached.\");let i={visible:!0,active:!0,geometryIndex:t},s=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(ur),s=this._availableInstanceIds.shift(),this._instanceInfo[s]=i):(s=this._instanceInfo.length,this._instanceInfo.push(i));let n=this._matricesTexture;vt.identity().toArray(n.image.data,s*16),n.needsUpdate=!0;let r=this._colorsTexture;return r&&(bd.toArray(r.image.data,s*4),r.needsUpdate=!0),this._visibilityChanged=!0,s}addGeometry(t,e=-1,i=-1){this._initializeGeometry(t),this._validateGeometry(t);let s={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},n=this._geometryInfo;s.vertexStart=this._nextVertexStart,s.reservedVertexCount=e===-1?t.getAttribute(\"position\").count:e;let r=t.getIndex();if(r!==null&&(s.indexStart=this._nextIndexStart,s.reservedIndexCount=i===-1?r.count:i),s.indexStart!==-1&&s.indexStart+s.reservedIndexCount>this._maxIndexCount||s.vertexStart+s.reservedVertexCount>this._maxVertexCount)throw new Error(\"THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.\");let a;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(ur),a=this._availableGeometryIds.shift(),n[a]=s):(a=this._geometryCount,this._geometryCount++,n.push(s)),this.setGeometryAt(a,t),this._nextIndexStart=s.indexStart+s.reservedIndexCount,this._nextVertexStart=s.vertexStart+s.reservedVertexCount,a}setGeometryAt(t,e){if(t>=this._geometryCount)throw new Error(\"THREE.BatchedMesh: Maximum geometry count reached.\");this._validateGeometry(e);let i=this.geometry,s=i.getIndex()!==null,n=i.getIndex(),r=e.getIndex(),o=this._geometryInfo[t];if(s&&r.count>o.reservedIndexCount||e.attributes.position.count>o.reservedVertexCount)throw new Error(\"THREE.BatchedMesh: Reserved space not large enough for provided geometry.\");let a=o.vertexStart,l=o.reservedVertexCount;o.vertexCount=e.getAttribute(\"position\").count;for(let c in i.attributes){let u=e.getAttribute(c),d=i.getAttribute(c);_d(u,d,a);let p=u.itemSize;for(let f=u.count,m=l;f<m;f++){let g=a+f;for(let y=0;y<p;y++)d.setComponent(g,y,0)}d.needsUpdate=!0,d.addUpdateRange(a*p,l*p)}if(s){let c=o.indexStart,u=o.reservedIndexCount;o.indexCount=e.getIndex().count;for(let d=0;d<r.count;d++)n.setX(c+d,a+r.getX(d));for(let d=r.count,p=u;d<p;d++)n.setX(c+d,a);n.needsUpdate=!0,n.addUpdateRange(c,o.reservedIndexCount)}return o.start=s?o.indexStart:o.vertexStart,o.count=s?o.indexCount:o.vertexCount,o.boundingBox=null,e.boundingBox!==null&&(o.boundingBox=e.boundingBox.clone()),o.boundingSphere=null,e.boundingSphere!==null&&(o.boundingSphere=e.boundingSphere.clone()),this._visibilityChanged=!0,t}deleteGeometry(t){let e=this._geometryInfo;if(t>=e.length||e[t].active===!1)return this;let i=this._instanceInfo;for(let s=0,n=i.length;s<n;s++)i[s].active&&i[s].geometryIndex===t&&this.deleteInstance(s);return e[t].active=!1,this._availableGeometryIds.push(t),this._visibilityChanged=!0,this}deleteInstance(t){return this.validateInstanceId(t),this._instanceInfo[t].active=!1,this._availableInstanceIds.push(t),this._visibilityChanged=!0,this}optimize(){let t=0,e=0,i=this._geometryInfo,s=i.map((r,o)=>o).sort((r,o)=>i[r].vertexStart-i[o].vertexStart),n=this.geometry;for(let r=0,o=i.length;r<o;r++){let a=s[r],l=i[a];if(l.active!==!1){if(n.index!==null){if(l.indexStart!==e){let{indexStart:c,vertexStart:u,reservedIndexCount:d}=l,p=n.index,f=p.array,m=t-u;for(let g=c;g<c+d;g++)f[g]=f[g]+m;p.array.copyWithin(e,c,c+d),p.addUpdateRange(e,d),p.needsUpdate=!0,l.indexStart=e}e+=l.reservedIndexCount}if(l.vertexStart!==t){let{vertexStart:c,reservedVertexCount:u}=l,d=n.attributes;for(let p in d){let f=d[p],{array:m,itemSize:g}=f;m.copyWithin(t*g,c*g,(c+u)*g),f.addUpdateRange(t*g,u*g),f.needsUpdate=!0}l.vertexStart=t}t+=l.reservedVertexCount,l.start=n.index?l.indexStart:l.vertexStart}}return this._nextIndexStart=e,this._nextVertexStart=t,this._visibilityChanged=!0,this}getBoundingBoxAt(t,e){if(t>=this._geometryCount)return null;let i=this.geometry,s=this._geometryInfo[t];if(s.boundingBox===null){let n=new pt,r=i.index,o=i.attributes.position;for(let a=s.start,l=s.start+s.count;a<l;a++){let c=a;r&&(c=r.getX(c)),n.expandByPoint(Hi.fromBufferAttribute(o,c))}s.boundingBox=n}return e.copy(s.boundingBox),e}getBoundingSphereAt(t,e){if(t>=this._geometryCount)return null;let i=this.geometry,s=this._geometryInfo[t];if(s.boundingSphere===null){let n=new dt;this.getBoundingBoxAt(t,Es),Es.getCenter(n.center);let r=i.index,o=i.attributes.position,a=0;for(let l=s.start,c=s.start+s.count;l<c;l++){let u=l;r&&(u=r.getX(u)),Hi.fromBufferAttribute(o,u),a=Math.max(a,n.center.distanceToSquared(Hi))}n.radius=Math.sqrt(a),s.boundingSphere=n}return e.copy(s.boundingSphere),e}setMatrixAt(t,e){this.validateInstanceId(t);let i=this._matricesTexture,s=this._matricesTexture.image.data;return e.toArray(s,t*16),i.needsUpdate=!0,this}getMatrixAt(t,e){return this.validateInstanceId(t),e.fromArray(this._matricesTexture.image.data,t*16)}setColorAt(t,e){return this.validateInstanceId(t),this._colorsTexture===null&&this._initColorsTexture(),e.toArray(this._colorsTexture.image.data,t*4),this._colorsTexture.needsUpdate=!0,this}getColorAt(t,e){return this.validateInstanceId(t),this._colorsTexture===null?e.isVector4?e.set(1,1,1,1):e.setRGB(1,1,1):e.fromArray(this._colorsTexture.image.data,t*4)}setVisibleAt(t,e){return this.validateInstanceId(t),this._instanceInfo[t].visible===e?this:(this._instanceInfo[t].visible=e,this._visibilityChanged=!0,this)}getVisibleAt(t){return this.validateInstanceId(t),this._instanceInfo[t].visible}setGeometryIdAt(t,e){return this.validateInstanceId(t),this.validateGeometryId(e),this._instanceInfo[t].geometryIndex=e,this}getGeometryIdAt(t){return this.validateInstanceId(t),this._instanceInfo[t].geometryIndex}getGeometryRangeAt(t,e={}){this.validateGeometryId(t);let i=this._geometryInfo[t];return e.vertexStart=i.vertexStart,e.vertexCount=i.vertexCount,e.reservedVertexCount=i.reservedVertexCount,e.indexStart=i.indexStart,e.indexCount=i.indexCount,e.reservedIndexCount=i.reservedIndexCount,e.start=i.start,e.count=i.count,e}setInstanceCount(t){let e=this._availableInstanceIds,i=this._instanceInfo;for(e.sort(ur);e[e.length-1]===i.length-1;)i.pop(),e.pop();if(t<i.length)throw new Error(`BatchedMesh: Instance ids outside the range ${t} are being used. Cannot shrink instance count.`);let s=new Int32Array(t),n=new Int32Array(t);De(this._multiDrawCounts,s),De(this._multiDrawStarts,n),this._multiDrawCounts=s,this._multiDrawStarts=n,this._maxInstanceCount=t;let r=this._indirectTexture,o=this._matricesTexture,a=this._colorsTexture;r.dispose(),this._initIndirectTexture(),De(r.image.data,this._indirectTexture.image.data),o.dispose(),this._initMatricesTexture(),De(o.image.data,this._matricesTexture.image.data),a&&(a.dispose(),this._initColorsTexture(),De(a.image.data,this._colorsTexture.image.data))}setGeometrySize(t,e){let i=[...this._geometryInfo].filter(o=>o.active);if(Math.max(...i.map(o=>o.vertexStart+o.reservedVertexCount))>t)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${e}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...i.map(a=>a.indexStart+a.reservedIndexCount))>e)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${e}. Cannot shrink further.`);let n=this.geometry;n.dispose(),this._maxVertexCount=t,this._maxIndexCount=e,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new G,this._initializeGeometry(n));let r=this.geometry;n.index&&De(n.index.array,r.index.array);for(let o in n.attributes)De(n.attributes[o].array,r.attributes[o].array)}raycast(t,e){let i=this._instanceInfo,s=this._geometryInfo,n=this.matrixWorld,r=this.geometry;gt.material=this.material,gt.geometry.index=r.index,gt.geometry.attributes=r.attributes,gt.geometry.boundingBox===null&&(gt.geometry.boundingBox=new pt),gt.geometry.boundingSphere===null&&(gt.geometry.boundingSphere=new dt);for(let o=0,a=i.length;o<a;o++){if(!i[o].visible||!i[o].active)continue;let l=i[o].geometryIndex,c=s[l];gt.geometry.setDrawRange(c.start,c.count),this.getMatrixAt(o,gt.matrixWorld).premultiply(n),this.getBoundingBoxAt(l,gt.geometry.boundingBox),this.getBoundingSphereAt(l,gt.geometry.boundingSphere),gt.raycast(t,Ns);for(let u=0,d=Ns.length;u<d;u++){let p=Ns[u];p.object=this,p.batchId=o,e.push(p)}Ns.length=0}gt.material=null,gt.geometry.index=null,gt.geometry.attributes={},gt.geometry.setDrawRange(0,1/0)}copy(t){return super.copy(t),this.geometry=t.geometry.clone(),this.perObjectFrustumCulled=t.perObjectFrustumCulled,this.sortObjects=t.sortObjects,this.boundingBox=t.boundingBox!==null?t.boundingBox.clone():null,this.boundingSphere=t.boundingSphere!==null?t.boundingSphere.clone():null,this._geometryInfo=t._geometryInfo.map(e=>({...e,boundingBox:e.boundingBox!==null?e.boundingBox.clone():null,boundingSphere:e.boundingSphere!==null?e.boundingSphere.clone():null})),this._instanceInfo=t._instanceInfo.map(e=>({...e})),this._availableInstanceIds=t._availableInstanceIds.slice(),this._availableGeometryIds=t._availableGeometryIds.slice(),this._nextIndexStart=t._nextIndexStart,this._nextVertexStart=t._nextVertexStart,this._geometryCount=t._geometryCount,this._maxInstanceCount=t._maxInstanceCount,this._maxVertexCount=t._maxVertexCount,this._maxIndexCount=t._maxIndexCount,this._geometryInitialized=t._geometryInitialized,this._multiDrawCounts=t._multiDrawCounts.slice(),this._multiDrawStarts=t._multiDrawStarts.slice(),this._indirectTexture=t._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=t._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=t._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(t,e,i,s,n){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;let r=s.getIndex(),o=r===null?1:r.array.BYTES_PER_ELEMENT,a=1;n.wireframe&&(a=2,o=s.attributes.position.count>65535?4:2);let l=this._instanceInfo,c=this._multiDrawStarts,u=this._multiDrawCounts,d=this._geometryInfo,p=this.perObjectFrustumCulled,f=this._indirectTexture,m=f.image.data,g=i.isArrayCamera?wd:wh;p&&!i.isArrayCamera&&(vt.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),wh.setFromProjectionMatrix(vt,i.coordinateSystem,i.reversedDepth));let y=0;if(this.sortObjects){vt.copy(this.matrixWorld).invert(),Hi.setFromMatrixPosition(i.matrixWorld).applyMatrix4(vt),Mh.set(0,0,-1).transformDirection(i.matrixWorld).transformDirection(vt);for(let w=0,_=l.length;w<_;w++)if(l[w].visible&&l[w].active){let v=l[w].geometryIndex;this.getMatrixAt(w,vt),this.getBoundingSphereAt(v,Ve).applyMatrix4(vt);let A=!1;if(p&&(A=!g.intersectsSphere(Ve,i)),!A){let S=d[v],T=Md.subVectors(Ve.center,Hi).dot(Mh);dr.push(S.start,S.count,T,w)}}let x=dr.list,b=this.customSort;b===null?x.sort(n.transparent?xd:gd):b.call(this,x,i);for(let w=0,_=x.length;w<_;w++){let v=x[w];c[y]=v.start*o*a,u[y]=v.count*a,m[y]=v.index,y++}dr.reset()}else for(let x=0,b=l.length;x<b;x++)if(l[x].visible&&l[x].active){let w=l[x].geometryIndex,_=!1;if(p&&(this.getMatrixAt(x,vt),this.getBoundingSphereAt(w,Ve).applyMatrix4(vt),_=!g.intersectsSphere(Ve,i)),!_){let v=d[w];c[y]=v.start*o*a,u[y]=v.count*a,m[y]=x,y++}}f.needsUpdate=!0,this._multiDrawCount=y,this._visibilityChanged=!1}onBeforeShadow(t,e,i,s,n,r){this.onBeforeRender(t,null,s,n,r)}},bt=class extends ft{constructor(t){super(),this.isLineBasicMaterial=!0,this.type=\"LineBasicMaterial\",this.color=new U(16777215),this.map=null,this.linewidth=1,this.linecap=\"round\",this.linejoin=\"round\",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this.fog=t.fog,this}},fn=new M,mn=new M,_h=new q,Zi=new Ye,Vs=new dt,pr=new M,vh=new M,xe=class extends Y{constructor(t=new G,e=new bt){super(),this.isLine=!0,this.type=\"Line\",this.geometry=t,this.material=e,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=Array.isArray(t.material)?t.material.slice():t.material,this.geometry=t.geometry,this}computeLineDistances(){let t=this.geometry;if(t.index===null){let e=t.attributes.position,i=[0];for(let s=1,n=e.count;s<n;s++)fn.fromBufferAttribute(e,s-1),mn.fromBufferAttribute(e,s),i[s]=i[s-1],i[s]+=fn.distanceTo(mn);t.setAttribute(\"lineDistance\",new k(i,1))}else N(\"Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");return this}raycast(t,e){let i=this.geometry,s=this.matrixWorld,n=t.params.Line.threshold,r=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),Vs.copy(i.boundingSphere),Vs.applyMatrix4(s),Vs.radius+=n,t.ray.intersectsSphere(Vs)===!1)return;_h.copy(s).invert(),Zi.copy(t.ray).applyMatrix4(_h);let o=n/((this.scale.x+this.scale.y+this.scale.z)/3),a=o*o,l=this.isLineSegments?2:1,c=i.index,d=i.attributes.position;if(c!==null){let p=Math.max(0,r.start),f=Math.min(c.count,r.start+r.count);for(let m=p,g=f-1;m<g;m+=l){let y=c.getX(m),x=c.getX(m+1),b=Ds(this,t,Zi,a,y,x,m);b&&e.push(b)}if(this.isLineLoop){let m=c.getX(f-1),g=c.getX(p),y=Ds(this,t,Zi,a,m,g,f-1);y&&e.push(y)}}else{let p=Math.max(0,r.start),f=Math.min(d.count,r.start+r.count);for(let m=p,g=f-1;m<g;m+=l){let y=Ds(this,t,Zi,a,m,m+1,m);y&&e.push(y)}if(this.isLineLoop){let m=Ds(this,t,Zi,a,f-1,p,f-1);m&&e.push(m)}}}updateMorphTargets(){let e=this.geometry.morphAttributes,i=Object.keys(e);if(i.length>0){let s=e[i[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,r=s.length;n<r;n++){let o=s[n].name||String(n);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=n}}}}};function Ds(h,t,e,i,s,n,r){let o=h.geometry.attributes.position;if(fn.fromBufferAttribute(o,s),mn.fromBufferAttribute(o,n),e.distanceSqToSegment(fn,mn,pr,vh)>i)return;pr.applyMatrix4(h.matrixWorld);let l=t.ray.origin.distanceTo(pr);if(!(l<t.near||l>t.far))return{distance:l,point:vh.clone().applyMatrix4(h.matrixWorld),index:r,face:null,faceIndex:null,barycoord:null,object:h}}var Sh=new M,Ah=new M,Zt=class extends xe{constructor(t,e){super(t,e),this.isLineSegments=!0,this.type=\"LineSegments\"}computeLineDistances(){let t=this.geometry;if(t.index===null){let e=t.attributes.position,i=[];for(let s=0,n=e.count;s<n;s+=2)Sh.fromBufferAttribute(e,s),Ah.fromBufferAttribute(e,s+1),i[s]=s===0?0:i[s-1],i[s+1]=i[s]+Sh.distanceTo(Ah);t.setAttribute(\"lineDistance\",new k(i,1))}else N(\"LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");return this}},Gr=class extends xe{constructor(t,e){super(t,e),this.isLineLoop=!0,this.type=\"LineLoop\"}},yn=class extends ft{constructor(t){super(),this.isPointsMaterial=!0,this.type=\"PointsMaterial\",this.color=new U(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}},Th=new q,Xr=new Ye,Ls=new dt,Us=new M,Hr=class extends Y{constructor(t=new G,e=new yn){super(),this.isPoints=!0,this.type=\"Points\",this.geometry=t,this.material=e,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=Array.isArray(t.material)?t.material.slice():t.material,this.geometry=t.geometry,this}raycast(t,e){let i=this.geometry,s=this.matrixWorld,n=t.params.Points.threshold,r=i.drawRange;if(i.boundingSphere===null&&i.computeBoundingSphere(),Ls.copy(i.boundingSphere),Ls.applyMatrix4(s),Ls.radius+=n,t.ray.intersectsSphere(Ls)===!1)return;Th.copy(s).invert(),Xr.copy(t.ray).applyMatrix4(Th);let o=n/((this.scale.x+this.scale.y+this.scale.z)/3),a=o*o,l=i.index,u=i.attributes.position;if(l!==null){let d=Math.max(0,r.start),p=Math.min(l.count,r.start+r.count);for(let f=d,m=p;f<m;f++){let g=l.getX(f);Us.fromBufferAttribute(u,g),Ih(Us,g,a,s,t,e,this)}}else{let d=Math.max(0,r.start),p=Math.min(u.count,r.start+r.count);for(let f=d,m=p;f<m;f++)Us.fromBufferAttribute(u,f),Ih(Us,f,a,s,t,e,this)}}updateMorphTargets(){let e=this.geometry.morphAttributes,i=Object.keys(e);if(i.length>0){let s=e[i[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,r=s.length;n<r;n++){let o=s[n].name||String(n);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=n}}}}};function Ih(h,t,e,i,s,n,r){let o=Xr.distanceSqToPoint(h);if(o<e){let a=new M;Xr.closestPointToPoint(h,a),a.applyMatrix4(i);let l=s.ray.origin.distanceTo(a);if(l<s.near||l>s.far)return;n.push({distance:l,distanceToRay:Math.sqrt(o),point:a,index:t,face:null,faceIndex:null,barycoord:null,object:r})}}var Zr=class extends ct{constructor(t,e,i,s,n=Gt,r=Gt,o,a,l){super(t,e,i,s,n,r,o,a,l),this.isVideoTexture=!0,this.generateMipmaps=!1,this._requestVideoFrameCallbackId=0;let c=this;function u(){c.needsUpdate=!0,c._requestVideoFrameCallbackId=t.requestVideoFrameCallback(u)}\"requestVideoFrameCallback\"in t&&(this._requestVideoFrameCallbackId=t.requestVideoFrameCallback(u))}clone(){return new this.constructor(this.image).copy(this)}update(){let t=this.image;\"requestVideoFrameCallback\"in t===!1&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}dispose(){this._requestVideoFrameCallbackId!==0&&(this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),this._requestVideoFrameCallbackId=0),super.dispose()}},Ch=class extends Zr{constructor(t,e,i,s,n,r,o,a){super({},t,e,i,s,n,r,o,a),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(t){this.image=t,this.needsUpdate=!0}},zh=class extends ct{constructor(t,e){super({width:t,height:e}),this.isFramebufferTexture=!0,this.magFilter=Pt,this.minFilter=Pt,this.generateMipmaps=!1,this.needsUpdate=!0}},ns=class extends ct{constructor(t,e,i,s,n,r,o,a,l,c,u,d){super(null,r,o,a,l,c,s,n,u,d),this.isCompressedTexture=!0,this.image={width:e,height:i},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}},Fh=class extends ns{constructor(t,e,i,s,n,r){super(t,e,i,n,r),this.isCompressedArrayTexture=!0,this.image.depth=s,this.wrapR=Qt,this.layerUpdates=new Set}addLayerUpdate(t){this.layerUpdates.add(t)}clearLayerUpdates(){this.layerUpdates.clear()}},Bh=class extends ns{constructor(t,e,i){super(void 0,t[0].width,t[0].height,e,i,Nn),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=t}},gn=class extends ct{constructor(t=[],e=Nn,i,s,n,r,o,a,l,c){super(t,e,i,s,n,r,o,a,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}},kh=class extends ct{constructor(t,e,i,s,n,r,o,a,l){super(t,e,i,s,n,r,o,a,l),this.isCanvasTexture=!0,this.needsUpdate=!0}},Ph=class extends ct{constructor(t,e,i,s,n,r,o,a,l){super(t,e,i,s,n,r,o,a,l),this.isHTMLTexture=!0,this.generateMipmaps=!1,this.needsUpdate=!0;let c=t?t.parentNode:null;c!==null&&\"requestPaint\"in c&&(c.onpaint=()=>{this.needsUpdate=!0},c.requestPaint())}dispose(){let t=this.image?this.image.parentNode:null;t!==null&&\"onpaint\"in t&&(t.onpaint=null),super.dispose()}},Yr=class extends ct{constructor(t,e,i=Vn,s,n,r,o=Pt,a=Pt,l,c=Cr,u=1){if(c!==Cr&&c!==Uc)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");let d={width:t,height:e,depth:u};super(d,s,n,r,o,a,c,i,l),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(t){return super.copy(t),this.source=new me(Object.assign({},t.image)),this.compareFunction=t.compareFunction,this}toJSON(t){let e=super.toJSON(t);return this.compareFunction!==null&&(e.compareFunction=this.compareFunction),e}},Rh=class extends Yr{constructor(t,e=Vn,i=Nn,s,n,r=Pt,o=Pt,a,l=Cr){let c={width:t,height:t,depth:1},u=[c,c,c,c,c,c];super(t,t,e,i,s,n,r,o,a,l),this.image=u,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(t){this.image=t}},Oh=class extends ct{constructor(t=null){super(),this.sourceTexture=t,this.isExternalTexture=!0}copy(t){return super.copy(t),this.sourceTexture=t.sourceTexture,this}},$r=class h extends G{constructor(t=1,e=1,i=1,s=1,n=1,r=1){super(),this.type=\"BoxGeometry\",this.parameters={width:t,height:e,depth:i,widthSegments:s,heightSegments:n,depthSegments:r};let o=this;s=Math.floor(s),n=Math.floor(n),r=Math.floor(r);let a=[],l=[],c=[],u=[],d=0,p=0;f(\"z\",\"y\",\"x\",-1,-1,i,e,t,r,n,0),f(\"z\",\"y\",\"x\",1,-1,i,e,-t,r,n,1),f(\"x\",\"z\",\"y\",1,1,t,i,e,s,r,2),f(\"x\",\"z\",\"y\",1,-1,t,i,-e,s,r,3),f(\"x\",\"y\",\"z\",1,-1,t,e,i,s,n,4),f(\"x\",\"y\",\"z\",-1,-1,t,e,-i,s,n,5),this.setIndex(a),this.setAttribute(\"position\",new k(l,3)),this.setAttribute(\"normal\",new k(c,3)),this.setAttribute(\"uv\",new k(u,2));function f(m,g,y,x,b,w,_,v,A,S,T){let I=w/A,F=_/S,O=w/2,D=_/2,H=v/2,L=A+1,et=S+1,ot=0,Lt=0,it=new M;for(let at=0;at<et;at++){let st=at*F-D;for(let Ut=0;Ut<L;Ut++){let Ot=Ut*I-O;it[m]=Ot*x,it[g]=st*b,it[y]=H,l.push(it.x,it.y,it.z),it[m]=0,it[g]=0,it[y]=v>0?1:-1,c.push(it.x,it.y,it.z),u.push(Ut/A),u.push(1-at/S),ot+=1}}for(let at=0;at<S;at++)for(let st=0;st<A;st++){let Ut=d+st+L*at,Ot=d+st+L*(at+1),ti=d+(st+1)+L*(at+1),Ei=d+(st+1)+L*at;a.push(Ut,Ot,Ei),a.push(Ot,ti,Ei),Lt+=6}o.addGroup(p,Lt,T),p+=Lt,d+=ot}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}},jr=class h extends G{constructor(t=1,e=1,i=4,s=8,n=1){super(),this.type=\"CapsuleGeometry\",this.parameters={radius:t,height:e,capSegments:i,radialSegments:s,heightSegments:n},e=Math.max(0,e),i=Math.max(1,Math.floor(i)),s=Math.max(3,Math.floor(s)),n=Math.max(1,Math.floor(n));let r=[],o=[],a=[],l=[],c=e/2,u=Math.PI/2*t,d=e,p=2*u+d,f=i*2+n,m=s+1,g=new M,y=new M;for(let x=0;x<=f;x++){let b=0,w=0,_=0,v=0;if(x<=i){let T=x/i,I=T*Math.PI/2;w=-c-t*Math.cos(I),_=t*Math.sin(I),v=-t*Math.cos(I),b=T*u}else if(x<=i+n){let T=(x-i)/n;w=-c+T*e,_=t,v=0,b=u+T*d}else{let T=(x-i-n)/i,I=T*Math.PI/2;w=c+t*Math.sin(I),_=t*Math.cos(I),v=t*Math.sin(I),b=u+d+T*u}let A=Math.max(0,Math.min(1,b/p)),S=0;x===0?S=.5/s:x===f&&(S=-.5/s);for(let T=0;T<=s;T++){let I=T/s,F=I*Math.PI*2,O=Math.sin(F),D=Math.cos(F);y.x=-_*D,y.y=w,y.z=_*O,o.push(y.x,y.y,y.z),g.set(-_*D,v,_*O),g.normalize(),a.push(g.x,g.y,g.z),l.push(I+S,A)}if(x>0){let T=(x-1)*m;for(let I=0;I<s;I++){let F=T+I,O=T+I+1,D=x*m+I,H=x*m+I+1;r.push(F,O,D),r.push(O,H,D)}}}this.setIndex(r),this.setAttribute(\"position\",new k(o,3)),this.setAttribute(\"normal\",new k(a,3)),this.setAttribute(\"uv\",new k(l,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.radius,t.height,t.capSegments,t.radialSegments,t.heightSegments)}},Qr=class h extends G{constructor(t=1,e=32,i=0,s=Math.PI*2){super(),this.type=\"CircleGeometry\",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:s},e=Math.max(3,e);let n=[],r=[],o=[],a=[],l=new M,c=new C;r.push(0,0,0),o.push(0,0,1),a.push(.5,.5);for(let u=0,d=3;u<=e;u++,d+=3){let p=i+u/e*s;l.x=t*Math.cos(p),l.y=t*Math.sin(p),r.push(l.x,l.y,l.z),o.push(0,0,1),c.x=(r[d]/t+1)/2,c.y=(r[d+1]/t+1)/2,a.push(c.x,c.y)}for(let u=1;u<=e;u++)n.push(u,u+1,0);this.setIndex(n),this.setAttribute(\"position\",new k(r,3)),this.setAttribute(\"normal\",new k(o,3)),this.setAttribute(\"uv\",new k(a,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.radius,t.segments,t.thetaStart,t.thetaLength)}},xn=class h extends G{constructor(t=1,e=1,i=1,s=32,n=1,r=!1,o=0,a=Math.PI*2){super(),this.type=\"CylinderGeometry\",this.parameters={radiusTop:t,radiusBottom:e,height:i,radialSegments:s,heightSegments:n,openEnded:r,thetaStart:o,thetaLength:a};let l=this;s=Math.floor(s),n=Math.floor(n);let c=[],u=[],d=[],p=[],f=0,m=[],g=i/2,y=0;x(),r===!1&&(t>0&&b(!0),e>0&&b(!1)),this.setIndex(c),this.setAttribute(\"position\",new k(u,3)),this.setAttribute(\"normal\",new k(d,3)),this.setAttribute(\"uv\",new k(p,2));function x(){let w=new M,_=new M,v=0,A=(e-t)/i;for(let S=0;S<=n;S++){let T=[],I=S/n,F=I*(e-t)+t;for(let O=0;O<=s;O++){let D=O/s,H=D*a+o,L=Math.sin(H),et=Math.cos(H);_.x=F*L,_.y=-I*i+g,_.z=F*et,u.push(_.x,_.y,_.z),w.set(L,A,et).normalize(),d.push(w.x,w.y,w.z),p.push(D,1-I),T.push(f++)}m.push(T)}for(let S=0;S<s;S++)for(let T=0;T<n;T++){let I=m[T][S],F=m[T+1][S],O=m[T+1][S+1],D=m[T][S+1];(t>0||T!==0)&&(c.push(I,F,D),v+=3),(e>0||T!==n-1)&&(c.push(F,O,D),v+=3)}l.addGroup(y,v,0),y+=v}function b(w){let _=f,v=new C,A=new M,S=0,T=w===!0?t:e,I=w===!0?1:-1;for(let O=1;O<=s;O++)u.push(0,g*I,0),d.push(0,I,0),p.push(.5,.5),f++;let F=f;for(let O=0;O<=s;O++){let H=O/s*a+o,L=Math.cos(H),et=Math.sin(H);A.x=T*et,A.y=g*I,A.z=T*L,u.push(A.x,A.y,A.z),d.push(0,I,0),v.x=L*.5+.5,v.y=et*.5*I+.5,p.push(v.x,v.y),f++}for(let O=0;O<s;O++){let D=_+O,H=F+O;w===!0?c.push(H,H+1,D):c.push(H+1,H,D),S+=3}l.addGroup(y,S,w===!0?1:2),y+=S}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},bn=class h extends xn{constructor(t=1,e=1,i=32,s=1,n=!1,r=0,o=Math.PI*2){super(0,t,e,i,s,n,r,o),this.type=\"ConeGeometry\",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:s,openEnded:n,thetaStart:r,thetaLength:o}}static fromJSON(t){return new h(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}},je=class h extends G{constructor(t=[],e=[],i=1,s=0){super(),this.type=\"PolyhedronGeometry\",this.parameters={vertices:t,indices:e,radius:i,detail:s};let n=[],r=[];o(s),l(i),c(),this.setAttribute(\"position\",new k(n,3)),this.setAttribute(\"normal\",new k(n.slice(),3)),this.setAttribute(\"uv\",new k(r,2)),s===0?this.computeVertexNormals():this.normalizeNormals();function o(x){let b=new M,w=new M,_=new M;for(let v=0;v<e.length;v+=3)p(e[v+0],b),p(e[v+1],w),p(e[v+2],_),a(b,w,_,x)}function a(x,b,w,_){let v=_+1,A=[];for(let S=0;S<=v;S++){A[S]=[];let T=x.clone().lerp(w,S/v),I=b.clone().lerp(w,S/v),F=v-S;for(let O=0;O<=F;O++)O===0&&S===v?A[S][O]=T:A[S][O]=T.clone().lerp(I,O/F)}for(let S=0;S<v;S++)for(let T=0;T<2*(v-S)-1;T++){let I=Math.floor(T/2);T%2===0?(d(A[S][I+1]),d(A[S+1][I]),d(A[S][I])):(d(A[S][I+1]),d(A[S+1][I+1]),d(A[S+1][I]))}}function l(x){let b=new M;for(let w=0;w<n.length;w+=3)b.x=n[w+0],b.y=n[w+1],b.z=n[w+2],b.normalize().multiplyScalar(x),n[w+0]=b.x,n[w+1]=b.y,n[w+2]=b.z}function c(){let x=new M;for(let b=0;b<n.length;b+=3){x.x=n[b+0],x.y=n[b+1],x.z=n[b+2];let w=g(x)/2/Math.PI+.5,_=y(x)/Math.PI+.5;r.push(w,1-_)}f(),u()}function u(){for(let x=0;x<r.length;x+=6){let b=r[x+0],w=r[x+2],_=r[x+4],v=Math.max(b,w,_),A=Math.min(b,w,_);v>.9&&A<.1&&(b<.2&&(r[x+0]+=1),w<.2&&(r[x+2]+=1),_<.2&&(r[x+4]+=1))}}function d(x){n.push(x.x,x.y,x.z)}function p(x,b){let w=x*3;b.x=t[w+0],b.y=t[w+1],b.z=t[w+2]}function f(){let x=new M,b=new M,w=new M,_=new M,v=new C,A=new C,S=new C;for(let T=0,I=0;T<n.length;T+=9,I+=6){x.set(n[T+0],n[T+1],n[T+2]),b.set(n[T+3],n[T+4],n[T+5]),w.set(n[T+6],n[T+7],n[T+8]),v.set(r[I+0],r[I+1]),A.set(r[I+2],r[I+3]),S.set(r[I+4],r[I+5]),_.copy(x).add(b).add(w).divideScalar(3);let F=g(_);m(v,I+0,x,F),m(A,I+2,b,F),m(S,I+4,w,F)}}function m(x,b,w,_){_<0&&x.x===1&&(r[b]=x.x-1),w.x===0&&w.z===0&&(r[b]=_/2/Math.PI+.5)}function g(x){return Math.atan2(x.z,-x.x)}function y(x){return Math.atan2(-x.y,Math.sqrt(x.x*x.x+x.z*x.z))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.vertices,t.indices,t.radius,t.detail)}},Kr=class h extends je{constructor(t=1,e=0){let i=(1+Math.sqrt(5))/2,s=1/i,n=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-s,-i,0,-s,i,0,s,-i,0,s,i,-s,-i,0,-s,i,0,s,-i,0,s,i,0,-i,0,-s,i,0,-s,-i,0,s,i,0,s],r=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(n,r,t,e),this.type=\"DodecahedronGeometry\",this.parameters={radius:t,detail:e}}static fromJSON(t){return new h(t.radius,t.detail)}},Ws=new M,qs=new M,fr=new M,Js=new pe,to=class extends G{constructor(t=null,e=1){if(super(),this.type=\"EdgesGeometry\",this.parameters={geometry:t,thresholdAngle:e},t!==null){let s=Math.pow(10,4),n=Math.cos(Ze*e),r=t.getIndex(),o=t.getAttribute(\"position\"),a=r?r.count:o.count,l=[0,0,0],c=[\"a\",\"b\",\"c\"],u=new Array(3),d={},p=[];for(let f=0;f<a;f+=3){r?(l[0]=r.getX(f),l[1]=r.getX(f+1),l[2]=r.getX(f+2)):(l[0]=f,l[1]=f+1,l[2]=f+2);let{a:m,b:g,c:y}=Js;if(m.fromBufferAttribute(o,l[0]),g.fromBufferAttribute(o,l[1]),y.fromBufferAttribute(o,l[2]),Js.getNormal(fr),u[0]=`${Math.round(m.x*s)},${Math.round(m.y*s)},${Math.round(m.z*s)}`,u[1]=`${Math.round(g.x*s)},${Math.round(g.y*s)},${Math.round(g.z*s)}`,u[2]=`${Math.round(y.x*s)},${Math.round(y.y*s)},${Math.round(y.z*s)}`,!(u[0]===u[1]||u[1]===u[2]||u[2]===u[0]))for(let x=0;x<3;x++){let b=(x+1)%3,w=u[x],_=u[b],v=Js[c[x]],A=Js[c[b]],S=`${w}_${_}`,T=`${_}_${w}`;T in d&&d[T]?(fr.dot(d[T].normal)<=n&&(p.push(v.x,v.y,v.z),p.push(A.x,A.y,A.z)),d[T]=null):S in d||(d[S]={index0:l[x],index1:l[b],normal:fr.clone()})}}for(let f in d)if(d[f]){let{index0:m,index1:g}=d[f];Ws.fromBufferAttribute(o,m),qs.fromBufferAttribute(o,g),p.push(Ws.x,Ws.y,Ws.z),p.push(qs.x,qs.y,qs.z)}this.setAttribute(\"position\",new k(p,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}},Dt=class{constructor(){this.type=\"Curve\",this.arcLengthDivisions=200,this.needsUpdate=!1,this.cacheArcLengths=null}getPoint(){N(\"Curve: .getPoint() not implemented.\")}getPointAt(t,e){let i=this.getUtoTmapping(t);return this.getPoint(i,e)}getPoints(t=5){let e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return e}getSpacedPoints(t=5){let e=[];for(let i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e}getLength(){let t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let e=[],i,s=this.getPoint(0),n=0;e.push(0);for(let r=1;r<=t;r++)i=this.getPoint(r/t),n+=i.distanceTo(s),e.push(n),s=i;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e=null){let i=this.getLengths(),s=0,n=i.length,r;e?r=e:r=t*i[n-1];let o=0,a=n-1,l;for(;o<=a;)if(s=Math.floor(o+(a-o)/2),l=i[s]-r,l<0)o=s+1;else if(l>0)a=s-1;else{a=s;break}if(s=a,i[s]===r)return s/(n-1);let c=i[s],d=i[s+1]-c,p=(r-c)/d;return(s+p)/(n-1)}getTangent(t,e){let s=t-1e-4,n=t+1e-4;s<0&&(s=0),n>1&&(n=1);let r=this.getPoint(s),o=this.getPoint(n),a=e||(r.isVector2?new C:new M);return a.copy(o).sub(r).normalize(),a}getTangentAt(t,e){let i=this.getUtoTmapping(t);return this.getTangent(i,e)}computeFrenetFrames(t,e=!1){let i=new M,s=[],n=[],r=[],o=new M,a=new q;for(let p=0;p<=t;p++){let f=p/t;s[p]=this.getTangentAt(f,new M)}n[0]=new M,r[0]=new M;let l=Number.MAX_VALUE,c=Math.abs(s[0].x),u=Math.abs(s[0].y),d=Math.abs(s[0].z);c<=l&&(l=c,i.set(1,0,0)),u<=l&&(l=u,i.set(0,1,0)),d<=l&&i.set(0,0,1),o.crossVectors(s[0],i).normalize(),n[0].crossVectors(s[0],o),r[0].crossVectors(s[0],n[0]);for(let p=1;p<=t;p++){if(n[p]=n[p-1].clone(),r[p]=r[p-1].clone(),o.crossVectors(s[p-1],s[p]),o.length()>Number.EPSILON){o.normalize();let f=Math.acos(V(s[p-1].dot(s[p]),-1,1));n[p].applyMatrix4(a.makeRotationAxis(o,f))}r[p].crossVectors(s[p],n[p])}if(e===!0){let p=Math.acos(V(n[0].dot(n[t]),-1,1));p/=t,s[0].dot(o.crossVectors(n[0],n[t]))>0&&(p=-p);for(let f=1;f<=t;f++)n[f].applyMatrix4(a.makeRotationAxis(s[f],p*f)),r[f].crossVectors(s[f],n[f])}return{tangents:s,normals:n,binormals:r}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){let t={metadata:{version:4.7,type:\"Curve\",generator:\"Curve.toJSON\"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}},rs=class extends Dt{constructor(t=0,e=0,i=1,s=1,n=0,r=Math.PI*2,o=!1,a=0){super(),this.isEllipseCurve=!0,this.type=\"EllipseCurve\",this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=s,this.aStartAngle=n,this.aEndAngle=r,this.aClockwise=o,this.aRotation=a}getPoint(t,e=new C){let i=e,s=Math.PI*2,n=this.aEndAngle-this.aStartAngle,r=Math.abs(n)<Number.EPSILON;for(;n<0;)n+=s;for(;n>s;)n-=s;n<Number.EPSILON&&(r?n=0:n=s),this.aClockwise===!0&&!r&&(n===s?n=-s:n=n-s);let o=this.aStartAngle+t*n,a=this.aX+this.xRadius*Math.cos(o),l=this.aY+this.yRadius*Math.sin(o);if(this.aRotation!==0){let c=Math.cos(this.aRotation),u=Math.sin(this.aRotation),d=a-this.aX,p=l-this.aY;a=d*c-p*u+this.aX,l=d*u+p*c+this.aY}return i.set(a,l)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){let t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}},eo=class extends rs{constructor(t,e,i,s,n,r){super(t,e,i,i,s,n,r),this.isArcCurve=!0,this.type=\"ArcCurve\"}};function la(){let h=0,t=0,e=0,i=0;function s(n,r,o,a){h=n,t=o,e=-3*n+3*r-2*o-a,i=2*n-2*r+o+a}return{initCatmullRom:function(n,r,o,a,l){s(r,o,l*(o-n),l*(a-r))},initNonuniformCatmullRom:function(n,r,o,a,l,c,u){let d=(r-n)/l-(o-n)/(l+c)+(o-r)/c,p=(o-r)/c-(a-r)/(c+u)+(a-o)/u;d*=c,p*=c,s(r,o,d,p)},calc:function(n){let r=n*n,o=r*n;return h+t*n+e*r+i*o}}}var Eh=new M,Nh=new M,mr=new la,yr=new la,gr=new la,io=class extends Dt{constructor(t=[],e=!1,i=\"centripetal\",s=.5){super(),this.isCatmullRomCurve3=!0,this.type=\"CatmullRomCurve3\",this.points=t,this.closed=e,this.curveType=i,this.tension=s}getPoint(t,e=new M){let i=e,s=this.points,n=s.length,r=(n-(this.closed?0:1))*t,o=Math.floor(r),a=r-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/n)+1)*n:a===0&&o===n-1&&(o=n-2,a=1);let l,c;this.closed||o>0?l=s[(o-1)%n]:(Nh.subVectors(s[0],s[1]).add(s[0]),l=Nh);let u=s[o%n],d=s[(o+1)%n];if(this.closed||o+2<n?c=s[(o+2)%n]:(Eh.subVectors(s[n-1],s[n-2]).add(s[n-1]),c=Eh),this.curveType===\"centripetal\"||this.curveType===\"chordal\"){let p=this.curveType===\"chordal\"?.5:.25,f=Math.pow(l.distanceToSquared(u),p),m=Math.pow(u.distanceToSquared(d),p),g=Math.pow(d.distanceToSquared(c),p);m<1e-4&&(m=1),f<1e-4&&(f=m),g<1e-4&&(g=m),mr.initNonuniformCatmullRom(l.x,u.x,d.x,c.x,f,m,g),yr.initNonuniformCatmullRom(l.y,u.y,d.y,c.y,f,m,g),gr.initNonuniformCatmullRom(l.z,u.z,d.z,c.z,f,m,g)}else this.curveType===\"catmullrom\"&&(mr.initCatmullRom(l.x,u.x,d.x,c.x,this.tension),yr.initCatmullRom(l.y,u.y,d.y,c.y,this.tension),gr.initCatmullRom(l.z,u.z,d.z,c.z,this.tension));return i.set(mr.calc(a),yr.calc(a),gr.calc(a)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(s.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){let t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){let s=this.points[e];t.points.push(s.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(new M().fromArray(s))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}};function Vh(h,t,e,i,s){let n=(i-t)*.5,r=(s-e)*.5,o=h*h,a=h*o;return(2*e-2*i+n+r)*a+(-3*e+3*i-2*n-r)*o+n*h+e}function vd(h,t){let e=1-h;return e*e*t}function Sd(h,t){return 2*(1-h)*h*t}function Ad(h,t){return h*h*t}function Qi(h,t,e,i){return vd(h,t)+Sd(h,e)+Ad(h,i)}function Td(h,t){let e=1-h;return e*e*e*t}function Id(h,t){let e=1-h;return 3*e*e*h*t}function Cd(h,t){return 3*(1-h)*h*h*t}function zd(h,t){return h*h*h*t}function Ki(h,t,e,i,s){return Td(h,t)+Id(h,e)+Cd(h,i)+zd(h,s)}var wn=class extends Dt{constructor(t=new C,e=new C,i=new C,s=new C){super(),this.isCubicBezierCurve=!0,this.type=\"CubicBezierCurve\",this.v0=t,this.v1=e,this.v2=i,this.v3=s}getPoint(t,e=new C){let i=e,s=this.v0,n=this.v1,r=this.v2,o=this.v3;return i.set(Ki(t,s.x,n.x,r.x,o.x),Ki(t,s.y,n.y,r.y,o.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}},so=class extends Dt{constructor(t=new M,e=new M,i=new M,s=new M){super(),this.isCubicBezierCurve3=!0,this.type=\"CubicBezierCurve3\",this.v0=t,this.v1=e,this.v2=i,this.v3=s}getPoint(t,e=new M){let i=e,s=this.v0,n=this.v1,r=this.v2,o=this.v3;return i.set(Ki(t,s.x,n.x,r.x,o.x),Ki(t,s.y,n.y,r.y,o.y),Ki(t,s.z,n.z,r.z,o.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}},Mn=class extends Dt{constructor(t=new C,e=new C){super(),this.isLineCurve=!0,this.type=\"LineCurve\",this.v1=t,this.v2=e}getPoint(t,e=new C){let i=e;return t===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new C){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},no=class extends Dt{constructor(t=new M,e=new M){super(),this.isLineCurve3=!0,this.type=\"LineCurve3\",this.v1=t,this.v2=e}getPoint(t,e=new M){let i=e;return t===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new M){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},_n=class extends Dt{constructor(t=new C,e=new C,i=new C){super(),this.isQuadraticBezierCurve=!0,this.type=\"QuadraticBezierCurve\",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new C){let i=e,s=this.v0,n=this.v1,r=this.v2;return i.set(Qi(t,s.x,n.x,r.x),Qi(t,s.y,n.y,r.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},vn=class extends Dt{constructor(t=new M,e=new M,i=new M){super(),this.isQuadraticBezierCurve3=!0,this.type=\"QuadraticBezierCurve3\",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new M){let i=e,s=this.v0,n=this.v1,r=this.v2;return i.set(Qi(t,s.x,n.x,r.x),Qi(t,s.y,n.y,r.y),Qi(t,s.z,n.z,r.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Sn=class extends Dt{constructor(t=[]){super(),this.isSplineCurve=!0,this.type=\"SplineCurve\",this.points=t}getPoint(t,e=new C){let i=e,s=this.points,n=(s.length-1)*t,r=Math.floor(n),o=n-r,a=s[r===0?r:r-1],l=s[r],c=s[r>s.length-2?s.length-1:r+1],u=s[r>s.length-3?s.length-1:r+2];return i.set(Vh(o,a.x,l.x,c.x,u.x),Vh(o,a.y,l.y,c.y,u.y)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(s.clone())}return this}toJSON(){let t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){let s=this.points[e];t.points.push(s.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(new C().fromArray(s))}return this}},An=Object.freeze({__proto__:null,ArcCurve:eo,CatmullRomCurve3:io,CubicBezierCurve:wn,CubicBezierCurve3:so,EllipseCurve:rs,LineCurve:Mn,LineCurve3:no,QuadraticBezierCurve:_n,QuadraticBezierCurve3:vn,SplineCurve:Sn}),ro=class extends Dt{constructor(){super(),this.type=\"CurvePath\",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){let t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);if(!t.equals(e)){let i=t.isVector2===!0?\"LineCurve\":\"LineCurve3\";this.curves.push(new An[i](e,t))}return this}getPoint(t,e){let i=t*this.getLength(),s=this.getCurveLengths(),n=0;for(;n<s.length;){if(s[n]>=i){let r=s[n]-i,o=this.curves[n],a=o.getLength(),l=a===0?0:1-r/a;return o.getPointAt(l,e)}n++}return null}getLength(){let t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let t=[],e=0;for(let i=0,s=this.curves.length;i<s;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){let e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){let e=[],i;for(let s=0,n=this.curves;s<n.length;s++){let r=n[s],o=r.isEllipseCurve?t*2:r.isLineCurve||r.isLineCurve3?1:r.isSplineCurve?t*r.points.length:t,a=r.getPoints(o);for(let l=0;l<a.length;l++){let c=a[l];i&&i.equals(c)||(e.push(c),i=c)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){let s=t.curves[e];this.curves.push(s.clone())}return this.autoClose=t.autoClose,this}toJSON(){let t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,i=this.curves.length;e<i;e++){let s=this.curves[e];t.curves.push(s.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){let s=t.curves[e];this.curves.push(new An[s.type]().fromJSON(s))}return this}},os=class extends ro{constructor(t){super(),this.type=\"Path\",this.currentPoint=new C,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){let i=new Mn(this.currentPoint.clone(),new C(t,e));return this.curves.push(i),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,i,s){let n=new _n(this.currentPoint.clone(),new C(t,e),new C(i,s));return this.curves.push(n),this.currentPoint.set(i,s),this}bezierCurveTo(t,e,i,s,n,r){let o=new wn(this.currentPoint.clone(),new C(t,e),new C(i,s),new C(n,r));return this.curves.push(o),this.currentPoint.set(n,r),this}splineThru(t){let e=[this.currentPoint.clone()].concat(t),i=new Sn(e);return this.curves.push(i),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,i,s,n,r){let o=this.currentPoint.x,a=this.currentPoint.y;return this.absarc(t+o,e+a,i,s,n,r),this}absarc(t,e,i,s,n,r){return this.absellipse(t,e,i,i,s,n,r),this}ellipse(t,e,i,s,n,r,o,a){let l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(t+l,e+c,i,s,n,r,o,a),this}absellipse(t,e,i,s,n,r,o,a){let l=new rs(t,e,i,s,n,r,o,a);if(this.curves.length>0){let u=l.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(l);let c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){let t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}},Ce=class extends os{constructor(t){super(t),this.uuid=kt(),this.type=\"Shape\",this.holes=[]}getPointsHoles(t){let e=[];for(let i=0,s=this.holes.length;i<s;i++)e[i]=this.holes[i].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){let s=t.holes[e];this.holes.push(s.clone())}return this}toJSON(){let t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,i=this.holes.length;e<i;e++){let s=this.holes[e];t.holes.push(s.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){let s=t.holes[e];this.holes.push(new os().fromJSON(s))}return this}};function Fd(h,t,e=2){let i=t&&t.length,s=i?t[0]*e:h.length,n=cc(h,0,s,e,!0),r=[];if(!n||n.next===n.prev)return r;let o,a,l;if(i&&(n=Od(h,t,n,e)),h.length>80*e){o=h[0],a=h[1];let c=o,u=a;for(let d=e;d<s;d+=e){let p=h[d],f=h[d+1];p<o&&(o=p),f<a&&(a=f),p>c&&(c=p),f>u&&(u=f)}l=Math.max(c-o,u-a),l=l!==0?32767/l:0}return as(n,r,e,o,a,l,0),r}function cc(h,t,e,i,s){let n;if(s===Xd(h,t,e,i)>0)for(let r=t;r<e;r+=i)n=Dh(r/i|0,h[r],h[r+1],n);else for(let r=e-i;r>=t;r-=i)n=Dh(r/i|0,h[r],h[r+1],n);return n&&zi(n,n.next)&&(ls(n),n=n.next),n}function Qe(h,t){if(!h)return h;t||(t=h);let e=h,i;do if(i=!1,!e.steiner&&(zi(e,e.next)||tt(e.prev,e,e.next)===0)){if(ls(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function as(h,t,e,i,s,n,r){if(!h)return;!r&&n&&Ld(h,i,s,n);let o=h;for(;h.prev!==h.next;){let a=h.prev,l=h.next;if(n?kd(h,i,s,n):Bd(h)){t.push(a.i,h.i,l.i),ls(h),h=l.next,o=l.next;continue}if(h=l,h===o){r?r===1?(h=Pd(Qe(h),t),as(h,t,e,i,s,n,2)):r===2&&Rd(h,t,e,i,s,n):as(Qe(h),t,e,i,s,n,1);break}}}function Bd(h){let t=h.prev,e=h,i=h.next;if(tt(t,e,i)>=0)return!1;let s=t.x,n=e.x,r=i.x,o=t.y,a=e.y,l=i.y,c=Math.min(s,n,r),u=Math.min(o,a,l),d=Math.max(s,n,r),p=Math.max(o,a,l),f=i.next;for(;f!==t;){if(f.x>=c&&f.x<=d&&f.y>=u&&f.y<=p&&$i(s,o,n,a,r,l,f.x,f.y)&&tt(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function kd(h,t,e,i){let s=h.prev,n=h,r=h.next;if(tt(s,n,r)>=0)return!1;let o=s.x,a=n.x,l=r.x,c=s.y,u=n.y,d=r.y,p=Math.min(o,a,l),f=Math.min(c,u,d),m=Math.max(o,a,l),g=Math.max(c,u,d),y=oo(p,f,t,e,i),x=oo(m,g,t,e,i),b=h.prevZ,w=h.nextZ;for(;b&&b.z>=y&&w&&w.z<=x;){if(b.x>=p&&b.x<=m&&b.y>=f&&b.y<=g&&b!==s&&b!==r&&$i(o,c,a,u,l,d,b.x,b.y)&&tt(b.prev,b,b.next)>=0||(b=b.prevZ,w.x>=p&&w.x<=m&&w.y>=f&&w.y<=g&&w!==s&&w!==r&&$i(o,c,a,u,l,d,w.x,w.y)&&tt(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;b&&b.z>=y;){if(b.x>=p&&b.x<=m&&b.y>=f&&b.y<=g&&b!==s&&b!==r&&$i(o,c,a,u,l,d,b.x,b.y)&&tt(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;w&&w.z<=x;){if(w.x>=p&&w.x<=m&&w.y>=f&&w.y<=g&&w!==s&&w!==r&&$i(o,c,a,u,l,d,w.x,w.y)&&tt(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function Pd(h,t){let e=h;do{let i=e.prev,s=e.next.next;!zi(i,s)&&dc(i,e,e.next,s)&&hs(i,s)&&hs(s,i)&&(t.push(i.i,e.i,s.i),ls(e),ls(e.next),e=h=s),e=e.next}while(e!==h);return Qe(e)}function Rd(h,t,e,i,s,n){let r=h;do{let o=r.next.next;for(;o!==r.prev;){if(r.i!==o.i&&qd(r,o)){let a=pc(r,o);r=Qe(r,r.next),a=Qe(a,a.next),as(r,t,e,i,s,n,0),as(a,t,e,i,s,n,0);return}o=o.next}r=r.next}while(r!==h)}function Od(h,t,e,i){let s=[];for(let n=0,r=t.length;n<r;n++){let o=t[n]*i,a=n<r-1?t[n+1]*i:h.length,l=cc(h,o,a,i,!1);l===l.next&&(l.steiner=!0),s.push(Wd(l))}s.sort(Ed);for(let n=0;n<s.length;n++)e=Nd(s[n],e);return e}function Ed(h,t){let e=h.x-t.x;if(e===0&&(e=h.y-t.y,e===0)){let i=(h.next.y-h.y)/(h.next.x-h.x),s=(t.next.y-t.y)/(t.next.x-t.x);e=i-s}return e}function Nd(h,t){let e=Vd(h,t);if(!e)return t;let i=pc(e,h);return Qe(i,i.next),Qe(e,e.next)}function Vd(h,t){let e=t,i=h.x,s=h.y,n=-1/0,r;if(zi(h,e))return e;do{if(zi(h,e.next))return e.next;if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){let u=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(u<=i&&u>n&&(n=u,r=e.x<e.next.x?e:e.next,u===i))return r}e=e.next}while(e!==t);if(!r)return null;let o=r,a=r.x,l=r.y,c=1/0;e=r;do{if(i>=e.x&&e.x>=a&&i!==e.x&&uc(s<l?i:n,s,a,l,s<l?n:i,s,e.x,e.y)){let u=Math.abs(s-e.y)/(i-e.x);hs(e,h)&&(u<c||u===c&&(e.x>r.x||e.x===r.x&&Dd(r,e)))&&(r=e,c=u)}e=e.next}while(e!==o);return r}function Dd(h,t){return tt(h.prev,h,t.prev)<0&&tt(t.next,h,h.next)<0}function Ld(h,t,e,i){let s=h;do s.z===0&&(s.z=oo(s.x,s.y,t,e,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==h);s.prevZ.nextZ=null,s.prevZ=null,Ud(s)}function Ud(h){let t,e=1;do{let i=h,s;h=null;let n=null;for(t=0;i;){t++;let r=i,o=0;for(let l=0;l<e&&(o++,r=r.nextZ,!!r);l++);let a=e;for(;o>0||a>0&&r;)o!==0&&(a===0||!r||i.z<=r.z)?(s=i,i=i.nextZ,o--):(s=r,r=r.nextZ,a--),n?n.nextZ=s:h=s,s.prevZ=n,n=s;i=r}n.nextZ=null,e*=2}while(t>1);return h}function oo(h,t,e,i,s){return h=(h-e)*s|0,t=(t-i)*s|0,h=(h|h<<8)&16711935,h=(h|h<<4)&252645135,h=(h|h<<2)&858993459,h=(h|h<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,h|t<<1}function Wd(h){let t=h,e=h;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==h);return e}function uc(h,t,e,i,s,n,r,o){return(s-r)*(t-o)>=(h-r)*(n-o)&&(h-r)*(i-o)>=(e-r)*(t-o)&&(e-r)*(n-o)>=(s-r)*(i-o)}function $i(h,t,e,i,s,n,r,o){return!(h===r&&t===o)&&uc(h,t,e,i,s,n,r,o)}function qd(h,t){return h.next.i!==t.i&&h.prev.i!==t.i&&!Jd(h,t)&&(hs(h,t)&&hs(t,h)&&Gd(h,t)&&(tt(h.prev,h,t.prev)||tt(h,t.prev,t))||zi(h,t)&&tt(h.prev,h,h.next)>0&&tt(t.prev,t,t.next)>0)}function tt(h,t,e){return(t.y-h.y)*(e.x-t.x)-(t.x-h.x)*(e.y-t.y)}function zi(h,t){return h.x===t.x&&h.y===t.y}function dc(h,t,e,i){let s=Xs(tt(h,t,e)),n=Xs(tt(h,t,i)),r=Xs(tt(e,i,h)),o=Xs(tt(e,i,t));return!!(s!==n&&r!==o||s===0&&Gs(h,e,t)||n===0&&Gs(h,i,t)||r===0&&Gs(e,h,i)||o===0&&Gs(e,t,i))}function Gs(h,t,e){return t.x<=Math.max(h.x,e.x)&&t.x>=Math.min(h.x,e.x)&&t.y<=Math.max(h.y,e.y)&&t.y>=Math.min(h.y,e.y)}function Xs(h){return h>0?1:h<0?-1:0}function Jd(h,t){let e=h;do{if(e.i!==h.i&&e.next.i!==h.i&&e.i!==t.i&&e.next.i!==t.i&&dc(e,e.next,h,t))return!0;e=e.next}while(e!==h);return!1}function hs(h,t){return tt(h.prev,h,h.next)<0?tt(h,t,h.next)>=0&&tt(h,h.prev,t)>=0:tt(h,t,h.prev)<0||tt(h,h.next,t)<0}function Gd(h,t){let e=h,i=!1,s=(h.x+t.x)/2,n=(h.y+t.y)/2;do e.y>n!=e.next.y>n&&e.next.y!==e.y&&s<(e.next.x-e.x)*(n-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==h);return i}function pc(h,t){let e=ao(h.i,h.x,h.y),i=ao(t.i,t.x,t.y),s=h.next,n=t.prev;return h.next=t,t.prev=h,e.next=s,s.prev=e,i.next=e,e.prev=i,n.next=i,i.prev=n,i}function Dh(h,t,e,i){let s=ao(h,t,e);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function ls(h){h.next.prev=h.prev,h.prev.next=h.next,h.prevZ&&(h.prevZ.nextZ=h.nextZ),h.nextZ&&(h.nextZ.prevZ=h.prevZ)}function ao(h,t,e){return{i:h,x:t,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Xd(h,t,e,i){let s=0;for(let n=t,r=e-i;n<e;n+=i)s+=(h[r]-h[n])*(h[n+1]+h[r+1]),r=n;return s}var ho=class{static triangulate(t,e,i=2){return Fd(t,e,i)}},te=class h{static area(t){let e=t.length,i=0;for(let s=e-1,n=0;n<e;s=n++)i+=t[s].x*t[n].y-t[n].x*t[s].y;return i*.5}static isClockWise(t){return h.area(t)<0}static triangulateShape(t,e){let i=[],s=[],n=[];Lh(t),Uh(i,t);let r=t.length;e.forEach(Lh);for(let a=0;a<e.length;a++)s.push(r),r+=e[a].length,Uh(i,e[a]);let o=ho.triangulate(i,s);for(let a=0;a<o.length;a+=3)n.push(o.slice(a,a+3));return n}};function Lh(h){let t=h.length;t>2&&h[t-1].equals(h[0])&&h.pop()}function Uh(h,t){for(let e=0;e<t.length;e++)h.push(t[e].x),h.push(t[e].y)}var lo=class h extends G{constructor(t=new Ce([new C(.5,.5),new C(-.5,.5),new C(-.5,-.5),new C(.5,-.5)]),e={}){super(),this.type=\"ExtrudeGeometry\",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];let i=this,s=[],n=[];for(let o=0,a=t.length;o<a;o++){let l=t[o];r(l)}this.setAttribute(\"position\",new k(s,3)),this.setAttribute(\"uv\",new k(n,2)),this.computeVertexNormals();function r(o){let a=[],l=e.curveSegments!==void 0?e.curveSegments:12,c=e.steps!==void 0?e.steps:1,u=e.depth!==void 0?e.depth:1,d=e.bevelEnabled!==void 0?e.bevelEnabled:!0,p=e.bevelThickness!==void 0?e.bevelThickness:.2,f=e.bevelSize!==void 0?e.bevelSize:p-.1,m=e.bevelOffset!==void 0?e.bevelOffset:0,g=e.bevelSegments!==void 0?e.bevelSegments:3,y=e.extrudePath,x=e.UVGenerator!==void 0?e.UVGenerator:Hd,b,w=!1,_,v,A,S;if(y){b=y.getSpacedPoints(c),w=!0,d=!1;let z=y.isCatmullRomCurve3?y.closed:!1;_=y.computeFrenetFrames(c,z),v=new M,A=new M,S=new M}d||(g=0,p=0,f=0,m=0);let T=o.extractPoints(l),I=T.shape,F=T.holes;if(!te.isClockWise(I)){I=I.reverse();for(let z=0,B=F.length;z<B;z++){let P=F[z];te.isClockWise(P)&&(F[z]=P.reverse())}}function D(z){let P=10000000000000001e-36,E=z[0];for(let R=1;R<=z.length;R++){let Z=R%z.length,J=z[Z],Q=J.x-E.x,K=J.y-E.y,lt=Q*Q+K*K,It=Math.max(Math.abs(J.x),Math.abs(J.y),Math.abs(E.x),Math.abs(E.y)),Pe=P*It*It;if(lt<=Pe){z.splice(Z,1),R--;continue}E=J}}D(I),F.forEach(D);let H=F.length,L=I;for(let z=0;z<H;z++){let B=F[z];I=I.concat(B)}function et(z,B,P){return B||X(\"ExtrudeGeometry: vec does not exist\"),z.clone().addScaledVector(B,P)}let ot=I.length;function Lt(z,B,P){let E,R,Z,J=z.x-B.x,Q=z.y-B.y,K=P.x-z.x,lt=P.y-z.y,It=J*J+Q*Q,Pe=J*lt-Q*K;if(Math.abs(Pe)>Number.EPSILON){let Ct=Math.sqrt(It),ma=Math.sqrt(K*K+lt*lt),ya=B.x-Q/Ct,ga=B.y+J/Ct,bc=P.x-lt/ma,wc=P.y+K/ma,xa=((bc-ya)*lt-(wc-ga)*K)/(J*lt-Q*K);E=ya+J*xa-z.x,R=ga+Q*xa-z.y;let ba=E*E+R*R;if(ba<=2)return new C(E,R);Z=Math.sqrt(ba/2)}else{let Ct=!1;J>Number.EPSILON?K>Number.EPSILON&&(Ct=!0):J<-Number.EPSILON?K<-Number.EPSILON&&(Ct=!0):Math.sign(Q)===Math.sign(lt)&&(Ct=!0),Ct?(E=-Q,R=J,Z=Math.sqrt(It)):(E=J,R=Q,Z=Math.sqrt(It/2))}return new C(E/Z,R/Z)}let it=[];for(let z=0,B=L.length,P=B-1,E=z+1;z<B;z++,P++,E++)P===B&&(P=0),E===B&&(E=0),it[z]=Lt(L[z],L[P],L[E]);let at=[],st,Ut=it.concat();for(let z=0,B=H;z<B;z++){let P=F[z];st=[];for(let E=0,R=P.length,Z=R-1,J=E+1;E<R;E++,Z++,J++)Z===R&&(Z=0),J===R&&(J=0),st[E]=Lt(P[E],P[Z],P[J]);at.push(st),Ut=Ut.concat(st)}let Ot;if(g===0)Ot=te.triangulateShape(L,F);else{let z=[],B=[];for(let P=0;P<g;P++){let E=P/g,R=p*Math.cos(E*Math.PI/2),Z=f*Math.sin(E*Math.PI/2)+m;for(let J=0,Q=L.length;J<Q;J++){let K=et(L[J],it[J],Z);ne(K.x,K.y,-R),E===0&&z.push(K)}for(let J=0,Q=H;J<Q;J++){let K=F[J];st=at[J];let lt=[];for(let It=0,Pe=K.length;It<Pe;It++){let Ct=et(K[It],st[It],Z);ne(Ct.x,Ct.y,-R),E===0&&lt.push(Ct)}E===0&&B.push(lt)}}Ot=te.triangulateShape(z,B)}let ti=Ot.length,Ei=f+m;for(let z=0;z<ot;z++){let B=d?et(I[z],Ut[z],Ei):I[z];w?(A.copy(_.normals[0]).multiplyScalar(B.x),v.copy(_.binormals[0]).multiplyScalar(B.y),S.copy(b[0]).add(A).add(v),ne(S.x,S.y,S.z)):ne(B.x,B.y,0)}for(let z=1;z<=c;z++)for(let B=0;B<ot;B++){let P=d?et(I[B],Ut[B],Ei):I[B];w?(A.copy(_.normals[z]).multiplyScalar(P.x),v.copy(_.binormals[z]).multiplyScalar(P.y),S.copy(b[z]).add(A).add(v),ne(S.x,S.y,S.z)):ne(P.x,P.y,u/c*z)}for(let z=g-1;z>=0;z--){let B=z/g,P=p*Math.cos(B*Math.PI/2),E=f*Math.sin(B*Math.PI/2)+m;for(let R=0,Z=L.length;R<Z;R++){let J=et(L[R],it[R],E);ne(J.x,J.y,u+P)}for(let R=0,Z=F.length;R<Z;R++){let J=F[R];st=at[R];for(let Q=0,K=J.length;Q<K;Q++){let lt=et(J[Q],st[Q],E);w?ne(lt.x,lt.y+b[c-1].y,b[c-1].x+P):ne(lt.x,lt.y,u+P)}}}yc(),gc();function yc(){let z=s.length/3;if(d){let B=0,P=ot*B;for(let E=0;E<ti;E++){let R=Ot[E];ds(R[2]+P,R[1]+P,R[0]+P)}B=c+g*2,P=ot*B;for(let E=0;E<ti;E++){let R=Ot[E];ds(R[0]+P,R[1]+P,R[2]+P)}}else{for(let B=0;B<ti;B++){let P=Ot[B];ds(P[2],P[1],P[0])}for(let B=0;B<ti;B++){let P=Ot[B];ds(P[0]+ot*c,P[1]+ot*c,P[2]+ot*c)}}i.addGroup(z,s.length/3-z,0)}function gc(){let z=s.length/3,B=0;fa(L,B),B+=L.length;for(let P=0,E=F.length;P<E;P++){let R=F[P];fa(R,B),B+=R.length}i.addGroup(z,s.length/3-z,1)}function fa(z,B){let P=z.length;for(;--P>=0;){let E=P,R=P-1;R<0&&(R=z.length-1);for(let Z=0,J=c+g*2;Z<J;Z++){let Q=ot*Z,K=ot*(Z+1),lt=B+E+Q,It=B+R+Q,Pe=B+R+K,Ct=B+E+K;xc(lt,It,Pe,Ct)}}}function ne(z,B,P){a.push(z),a.push(B),a.push(P)}function ds(z,B,P){re(z),re(B),re(P);let E=s.length/3,R=x.generateTopUV(i,s,E-3,E-2,E-1);oe(R[0]),oe(R[1]),oe(R[2])}function xc(z,B,P,E){re(z),re(B),re(E),re(B),re(P),re(E);let R=s.length/3,Z=x.generateSideWallUV(i,s,R-6,R-3,R-2,R-1);oe(Z[0]),oe(Z[1]),oe(Z[3]),oe(Z[1]),oe(Z[2]),oe(Z[3])}function re(z){s.push(a[z*3+0]),s.push(a[z*3+1]),s.push(a[z*3+2])}function oe(z){n.push(z.x),n.push(z.y)}}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON(),e=this.parameters.shapes,i=this.parameters.options;return Zd(e,i,t)}static fromJSON(t,e){let i=[];for(let n=0,r=t.shapes.length;n<r;n++){let o=e[t.shapes[n]];i.push(o)}let s=t.options.extrudePath;return s!==void 0&&(t.options.extrudePath=new An[s.type]().fromJSON(s)),new h(i,t.options)}},Hd={generateTopUV:function(h,t,e,i,s){let n=t[e*3],r=t[e*3+1],o=t[i*3],a=t[i*3+1],l=t[s*3],c=t[s*3+1];return[new C(n,r),new C(o,a),new C(l,c)]},generateSideWallUV:function(h,t,e,i,s,n){let r=t[e*3],o=t[e*3+1],a=t[e*3+2],l=t[i*3],c=t[i*3+1],u=t[i*3+2],d=t[s*3],p=t[s*3+1],f=t[s*3+2],m=t[n*3],g=t[n*3+1],y=t[n*3+2];return Math.abs(o-c)<Math.abs(r-l)?[new C(r,1-a),new C(l,1-u),new C(d,1-f),new C(m,1-y)]:[new C(o,1-a),new C(c,1-u),new C(p,1-f),new C(g,1-y)]}};function Zd(h,t,e){if(e.shapes=[],Array.isArray(h))for(let i=0,s=h.length;i<s;i++){let n=h[i];e.shapes.push(n.uuid)}else e.shapes.push(h.uuid);return e.options=Object.assign({},t),t.extrudePath!==void 0&&(e.options.extrudePath=t.extrudePath.toJSON()),e}var co=class h extends je{constructor(t=1,e=0){let i=(1+Math.sqrt(5))/2,s=[-1,i,0,1,i,0,-1,-i,0,1,-i,0,0,-1,i,0,1,i,0,-1,-i,0,1,-i,i,0,-1,i,0,1,-i,0,-1,-i,0,1],n=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(s,n,t,e),this.type=\"IcosahedronGeometry\",this.parameters={radius:t,detail:e}}static fromJSON(t){return new h(t.radius,t.detail)}},uo=class h extends G{constructor(t=[new C(0,-.5),new C(.5,0),new C(0,.5)],e=12,i=0,s=Math.PI*2){super(),this.type=\"LatheGeometry\",this.parameters={points:t,segments:e,phiStart:i,phiLength:s},e=Math.floor(e),s=V(s,0,Math.PI*2);let n=[],r=[],o=[],a=[],l=[],c=1/e,u=new M,d=new C,p=new M,f=new M,m=new M,g=0,y=0;for(let x=0;x<=t.length-1;x++)switch(x){case 0:g=t[x+1].x-t[x].x,y=t[x+1].y-t[x].y,p.x=y*1,p.y=-g,p.z=y*0,m.copy(p),p.normalize(),a.push(p.x,p.y,p.z);break;case t.length-1:a.push(m.x,m.y,m.z);break;default:g=t[x+1].x-t[x].x,y=t[x+1].y-t[x].y,p.x=y*1,p.y=-g,p.z=y*0,f.copy(p),p.x+=m.x,p.y+=m.y,p.z+=m.z,p.normalize(),a.push(p.x,p.y,p.z),m.copy(f)}for(let x=0;x<=e;x++){let b=i+x*c*s,w=Math.sin(b),_=Math.cos(b);for(let v=0;v<=t.length-1;v++){u.x=t[v].x*w,u.y=t[v].y,u.z=t[v].x*_,r.push(u.x,u.y,u.z),d.x=x/e,d.y=v/(t.length-1),o.push(d.x,d.y);let A=a[3*v+0]*w,S=a[3*v+1],T=a[3*v+0]*_;l.push(A,S,T)}}for(let x=0;x<e;x++)for(let b=0;b<t.length-1;b++){let w=b+x*t.length,_=w,v=w+t.length,A=w+t.length+1,S=w+1;n.push(_,v,S),n.push(A,S,v)}this.setIndex(n),this.setAttribute(\"position\",new k(r,3)),this.setAttribute(\"uv\",new k(o,2)),this.setAttribute(\"normal\",new k(l,3))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.points,t.segments,t.phiStart,t.phiLength)}},Tn=class h extends je{constructor(t=1,e=0){let i=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],s=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(i,s,t,e),this.type=\"OctahedronGeometry\",this.parameters={radius:t,detail:e}}static fromJSON(t){return new h(t.radius,t.detail)}},po=class h extends G{constructor(t=1,e=1,i=1,s=1){super(),this.type=\"PlaneGeometry\",this.parameters={width:t,height:e,widthSegments:i,heightSegments:s};let n=t/2,r=e/2,o=Math.floor(i),a=Math.floor(s),l=o+1,c=a+1,u=t/o,d=e/a,p=[],f=[],m=[],g=[];for(let y=0;y<c;y++){let x=y*d-r;for(let b=0;b<l;b++){let w=b*u-n;f.push(w,-x,0),m.push(0,0,1),g.push(b/o),g.push(1-y/a)}}for(let y=0;y<a;y++)for(let x=0;x<o;x++){let b=x+l*y,w=x+l*(y+1),_=x+1+l*(y+1),v=x+1+l*y;p.push(b,w,v),p.push(w,_,v)}this.setIndex(p),this.setAttribute(\"position\",new k(f,3)),this.setAttribute(\"normal\",new k(m,3)),this.setAttribute(\"uv\",new k(g,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.width,t.height,t.widthSegments,t.heightSegments)}},fo=class h extends G{constructor(t=.5,e=1,i=32,s=1,n=0,r=Math.PI*2){super(),this.type=\"RingGeometry\",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:s,thetaStart:n,thetaLength:r},i=Math.max(3,i),s=Math.max(1,s);let o=[],a=[],l=[],c=[],u=t,d=(e-t)/s,p=new M,f=new C;for(let m=0;m<=s;m++){for(let g=0;g<=i;g++){let y=n+g/i*r;p.x=u*Math.cos(y),p.y=u*Math.sin(y),a.push(p.x,p.y,p.z),l.push(0,0,1),f.x=(p.x/e+1)/2,f.y=(p.y/e+1)/2,c.push(f.x,f.y)}u+=d}for(let m=0;m<s;m++){let g=m*(i+1);for(let y=0;y<i;y++){let x=y+g,b=x,w=x+i+1,_=x+i+2,v=x+1;o.push(b,w,v),o.push(w,_,v)}}this.setIndex(o),this.setAttribute(\"position\",new k(a,3)),this.setAttribute(\"normal\",new k(l,3)),this.setAttribute(\"uv\",new k(c,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}},mo=class h extends G{constructor(t=new Ce([new C(0,.5),new C(-.5,-.5),new C(.5,-.5)]),e=12){super(),this.type=\"ShapeGeometry\",this.parameters={shapes:t,curveSegments:e};let i=[],s=[],n=[],r=[],o=0,a=0;if(Array.isArray(t)===!1)l(t);else for(let c=0;c<t.length;c++)l(t[c]),this.addGroup(o,a,c),o+=a,a=0;this.setIndex(i),this.setAttribute(\"position\",new k(s,3)),this.setAttribute(\"normal\",new k(n,3)),this.setAttribute(\"uv\",new k(r,2));function l(c){let u=s.length/3,d=c.extractPoints(e),p=d.shape,f=d.holes;te.isClockWise(p)===!1&&(p=p.reverse());for(let g=0,y=f.length;g<y;g++){let x=f[g];te.isClockWise(x)===!0&&(f[g]=x.reverse())}let m=te.triangulateShape(p,f);for(let g=0,y=f.length;g<y;g++){let x=f[g];p=p.concat(x)}for(let g=0,y=p.length;g<y;g++){let x=p[g];s.push(x.x,x.y,0),n.push(0,0,1),r.push(x.x,x.y)}for(let g=0,y=m.length;g<y;g++){let x=m[g],b=x[0]+u,w=x[1]+u,_=x[2]+u;i.push(b,w,_),a+=3}}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON(),e=this.parameters.shapes;return Yd(e,t)}static fromJSON(t,e){let i=[];for(let s=0,n=t.shapes.length;s<n;s++){let r=e[t.shapes[s]];i.push(r)}return new h(i,t.curveSegments)}};function Yd(h,t){if(t.shapes=[],Array.isArray(h))for(let e=0,i=h.length;e<i;e++){let s=h[e];t.shapes.push(s.uuid)}else t.shapes.push(h.uuid);return t}var In=class h extends G{constructor(t=1,e=32,i=16,s=0,n=Math.PI*2,r=0,o=Math.PI){super(),this.type=\"SphereGeometry\",this.parameters={radius:t,widthSegments:e,heightSegments:i,phiStart:s,phiLength:n,thetaStart:r,thetaLength:o},e=Math.max(3,Math.floor(e)),i=Math.max(2,Math.floor(i));let a=Math.min(r+o,Math.PI),l=0,c=[],u=new M,d=new M,p=[],f=[],m=[],g=[];for(let y=0;y<=i;y++){let x=[],b=y/i,w=0;y===0&&r===0?w=.5/e:y===i&&a===Math.PI&&(w=-.5/e);for(let _=0;_<=e;_++){let v=_/e;u.x=-t*Math.cos(s+v*n)*Math.sin(r+b*o),u.y=t*Math.cos(r+b*o),u.z=t*Math.sin(s+v*n)*Math.sin(r+b*o),f.push(u.x,u.y,u.z),d.copy(u).normalize(),m.push(d.x,d.y,d.z),g.push(v+w,1-b),x.push(l++)}c.push(x)}for(let y=0;y<i;y++)for(let x=0;x<e;x++){let b=c[y][x+1],w=c[y][x],_=c[y+1][x],v=c[y+1][x+1];(y!==0||r>0)&&p.push(b,w,v),(y!==i-1||a<Math.PI)&&p.push(w,_,v)}this.setIndex(p),this.setAttribute(\"position\",new k(f,3)),this.setAttribute(\"normal\",new k(m,3)),this.setAttribute(\"uv\",new k(g,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}},yo=class h extends je{constructor(t=1,e=0){let i=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],s=[2,1,0,0,3,2,1,3,0,2,3,1];super(i,s,t,e),this.type=\"TetrahedronGeometry\",this.parameters={radius:t,detail:e}}static fromJSON(t){return new h(t.radius,t.detail)}},go=class h extends G{constructor(t=1,e=.4,i=12,s=48,n=Math.PI*2,r=0,o=Math.PI*2){super(),this.type=\"TorusGeometry\",this.parameters={radius:t,tube:e,radialSegments:i,tubularSegments:s,arc:n,thetaStart:r,thetaLength:o},i=Math.floor(i),s=Math.floor(s);let a=[],l=[],c=[],u=[],d=new M,p=new M,f=new M;for(let m=0;m<=i;m++){let g=r+m/i*o;for(let y=0;y<=s;y++){let x=y/s*n;p.x=(t+e*Math.cos(g))*Math.cos(x),p.y=(t+e*Math.cos(g))*Math.sin(x),p.z=e*Math.sin(g),l.push(p.x,p.y,p.z),d.x=t*Math.cos(x),d.y=t*Math.sin(x),f.subVectors(p,d).normalize(),c.push(f.x,f.y,f.z),u.push(y/s),u.push(m/i)}}for(let m=1;m<=i;m++)for(let g=1;g<=s;g++){let y=(s+1)*m+g-1,x=(s+1)*(m-1)+g-1,b=(s+1)*(m-1)+g,w=(s+1)*m+g;a.push(y,x,w),a.push(x,b,w)}this.setIndex(a),this.setAttribute(\"position\",new k(l,3)),this.setAttribute(\"normal\",new k(c,3)),this.setAttribute(\"uv\",new k(u,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}},xo=class h extends G{constructor(t=1,e=.4,i=64,s=8,n=2,r=3){super(),this.type=\"TorusKnotGeometry\",this.parameters={radius:t,tube:e,tubularSegments:i,radialSegments:s,p:n,q:r},i=Math.floor(i),s=Math.floor(s);let o=[],a=[],l=[],c=[],u=new M,d=new M,p=new M,f=new M,m=new M,g=new M,y=new M;for(let b=0;b<=i;++b){let w=b/i*n*Math.PI*2;x(w,n,r,t,p),x(w+.01,n,r,t,f),g.subVectors(f,p),y.addVectors(f,p),m.crossVectors(g,y),y.crossVectors(m,g),m.normalize(),y.normalize();for(let _=0;_<=s;++_){let v=_/s*Math.PI*2,A=-e*Math.cos(v),S=e*Math.sin(v);u.x=p.x+(A*y.x+S*m.x),u.y=p.y+(A*y.y+S*m.y),u.z=p.z+(A*y.z+S*m.z),a.push(u.x,u.y,u.z),d.subVectors(u,p).normalize(),l.push(d.x,d.y,d.z),c.push(b/i),c.push(_/s)}}for(let b=1;b<=i;b++)for(let w=1;w<=s;w++){let _=(s+1)*(b-1)+(w-1),v=(s+1)*b+(w-1),A=(s+1)*b+w,S=(s+1)*(b-1)+w;o.push(_,v,S),o.push(v,A,S)}this.setIndex(o),this.setAttribute(\"position\",new k(a,3)),this.setAttribute(\"normal\",new k(l,3)),this.setAttribute(\"uv\",new k(c,2));function x(b,w,_,v,A){let S=Math.cos(b),T=Math.sin(b),I=_/w*b,F=Math.cos(I);A.x=v*(2+F)*.5*S,A.y=v*(2+F)*T*.5,A.z=v*Math.sin(I)*.5}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new h(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}},bo=class h extends G{constructor(t=new vn(new M(-1,-1,0),new M(-1,1,0),new M(1,1,0)),e=64,i=1,s=8,n=!1){super(),this.type=\"TubeGeometry\",this.parameters={path:t,tubularSegments:e,radius:i,radialSegments:s,closed:n};let r=t.computeFrenetFrames(e,n);this.tangents=r.tangents,this.normals=r.normals,this.binormals=r.binormals;let o=new M,a=new M,l=new C,c=new M,u=[],d=[],p=[],f=[];m(),this.setIndex(f),this.setAttribute(\"position\",new k(u,3)),this.setAttribute(\"normal\",new k(d,3)),this.setAttribute(\"uv\",new k(p,2));function m(){for(let b=0;b<e;b++)g(b);g(n===!1?e:0),x(),y()}function g(b){c=t.getPointAt(b/e,c);let w=r.normals[b],_=r.binormals[b];for(let v=0;v<=s;v++){let A=v/s*Math.PI*2,S=Math.sin(A),T=-Math.cos(A);a.x=T*w.x+S*_.x,a.y=T*w.y+S*_.y,a.z=T*w.z+S*_.z,a.normalize(),d.push(a.x,a.y,a.z),o.x=c.x+i*a.x,o.y=c.y+i*a.y,o.z=c.z+i*a.z,u.push(o.x,o.y,o.z)}}function y(){for(let b=1;b<=e;b++)for(let w=1;w<=s;w++){let _=(s+1)*(b-1)+(w-1),v=(s+1)*b+(w-1),A=(s+1)*b+w,S=(s+1)*(b-1)+w;f.push(_,v,S),f.push(v,A,S)}}function x(){for(let b=0;b<=e;b++)for(let w=0;w<=s;w++)l.x=b/e,l.y=w/s,p.push(l.x,l.y)}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON();return t.path=this.parameters.path.toJSON(),t}static fromJSON(t){return new h(new An[t.path.type]().fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}},wo=class extends G{constructor(t=null){if(super(),this.type=\"WireframeGeometry\",this.parameters={geometry:t},t!==null){let e=[],i=new Set,s=new M,n=new M;if(t.index!==null){let r=t.attributes.position,o=t.index,a=t.groups;a.length===0&&(a=[{start:0,count:o.count,materialIndex:0}]);for(let l=0,c=a.length;l<c;++l){let u=a[l],d=u.start,p=u.count;for(let f=d,m=d+p;f<m;f+=3)for(let g=0;g<3;g++){let y=o.getX(f+g),x=o.getX(f+(g+1)%3);s.fromBufferAttribute(r,y),n.fromBufferAttribute(r,x),Wh(s,n,i)===!0&&(e.push(s.x,s.y,s.z),e.push(n.x,n.y,n.z))}}}else{let r=t.attributes.position;for(let o=0,a=r.count/3;o<a;o++)for(let l=0;l<3;l++){let c=3*o+l,u=3*o+(l+1)%3;s.fromBufferAttribute(r,c),n.fromBufferAttribute(r,u),Wh(s,n,i)===!0&&(e.push(s.x,s.y,s.z),e.push(n.x,n.y,n.z))}}this.setAttribute(\"position\",new k(e,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}};function Wh(h,t,e){let i=`${h.x},${h.y},${h.z}-${t.x},${t.y},${t.z}`,s=`${t.x},${t.y},${t.z}-${h.x},${h.y},${h.z}`;return e.has(i)===!0||e.has(s)===!0?!1:(e.add(i),e.add(s),!0)}var qh=Object.freeze({__proto__:null,BoxGeometry:$r,CapsuleGeometry:jr,CircleGeometry:Qr,ConeGeometry:bn,CylinderGeometry:xn,DodecahedronGeometry:Kr,EdgesGeometry:to,ExtrudeGeometry:lo,IcosahedronGeometry:co,LatheGeometry:uo,OctahedronGeometry:Tn,PlaneGeometry:po,PolyhedronGeometry:je,RingGeometry:fo,ShapeGeometry:mo,SphereGeometry:In,TetrahedronGeometry:yo,TorusGeometry:go,TorusKnotGeometry:xo,TubeGeometry:bo,WireframeGeometry:wo}),Mo=class extends ft{constructor(t){super(),this.isShadowMaterial=!0,this.type=\"ShadowMaterial\",this.color=new U(0),this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.fog=t.fog,this}};function ca(h){let t={};for(let e in h){t[e]={};for(let i in h[e]){let s=h[e][i];if(Jh(s))s.isRenderTargetTexture?(N(\"UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms().\"),t[e][i]=null):t[e][i]=s.clone();else if(Array.isArray(s))if(Jh(s[0])){let n=[];for(let r=0,o=s.length;r<o;r++)n[r]=s[r].clone();t[e][i]=n}else t[e][i]=s.slice();else t[e][i]=s}}return t}function $d(h){let t={};for(let e=0;e<h.length;e++){let i=ca(h[e]);for(let s in i)t[s]=i[s]}return t}function Jh(h){return h&&(h.isColor||h.isMatrix3||h.isMatrix4||h.isVector2||h.isVector3||h.isVector4||h.isTexture||h.isQuaternion)}function jd(h){let t=[];for(let e=0;e<h.length;e++)t.push(h[e].clone());return t}function Sm(h){let t=h.getRenderTarget();return t===null?h.outputColorSpace:t.isXRRenderTarget===!0?t.texture.colorSpace:Bt.workingColorSpace}var Am={clone:ca,merge:$d},Qd=`void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}`,Kd=`void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}`,Cn=class extends ft{constructor(t){super(),this.isShaderMaterial=!0,this.type=\"ShaderMaterial\",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=Qd,this.fragmentShader=Kd,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,t!==void 0&&this.setValues(t)}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=ca(t.uniforms),this.uniformsGroups=jd(t.uniformsGroups),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.fog=t.fog,this.lights=t.lights,this.clipping=t.clipping,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this.defaultAttributeValues=Object.assign({},t.defaultAttributeValues),this.index0AttributeName=t.index0AttributeName,this.uniformsNeedUpdate=t.uniformsNeedUpdate,this}toJSON(t){let e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(let s in this.uniforms){let r=this.uniforms[s].value;r&&r.isTexture?e.uniforms[s]={type:\"t\",value:r.toJSON(t).uuid}:r&&r.isColor?e.uniforms[s]={type:\"c\",value:r.getHex()}:r&&r.isVector2?e.uniforms[s]={type:\"v2\",value:r.toArray()}:r&&r.isVector3?e.uniforms[s]={type:\"v3\",value:r.toArray()}:r&&r.isVector4?e.uniforms[s]={type:\"v4\",value:r.toArray()}:r&&r.isMatrix3?e.uniforms[s]={type:\"m3\",value:r.toArray()}:r&&r.isMatrix4?e.uniforms[s]={type:\"m4\",value:r.toArray()}:e.uniforms[s]={value:r}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;let i={};for(let s in this.extensions)this.extensions[s]===!0&&(i[s]=!0);return Object.keys(i).length>0&&(e.extensions=i),e}},_o=class extends Cn{constructor(t){super(t),this.isRawShaderMaterial=!0,this.type=\"RawShaderMaterial\"}},zn=class extends ft{constructor(t){super(),this.isMeshStandardMaterial=!0,this.type=\"MeshStandardMaterial\",this.defines={STANDARD:\"\"},this.color=new U(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new U(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Oi,this.normalScale=new C(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ie,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={STANDARD:\"\"},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.envMapIntensity=t.envMapIntensity,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}},vo=class extends zn{constructor(t){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:\"\",PHYSICAL:\"\"},this.type=\"MeshPhysicalMaterial\",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new C(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,\"reflectivity\",{get:function(){return V(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new U(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new U(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new U(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(t)}get anisotropy(){return this._anisotropy}set anisotropy(t){this._anisotropy>0!=t>0&&this.version++,this._anisotropy=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get dispersion(){return this._dispersion}set dispersion(t){this._dispersion>0!=t>0&&this.version++,this._dispersion=t}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:\"\",PHYSICAL:\"\"},this.anisotropy=t.anisotropy,this.anisotropyRotation=t.anisotropyRotation,this.anisotropyMap=t.anisotropyMap,this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.dispersion=t.dispersion,this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}},So=class extends ft{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type=\"MeshPhongMaterial\",this.color=new U(16777215),this.specular=new U(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new U(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Oi,this.normalScale=new C(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ie,this.combine=sa,this.reflectivity=1,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}},Ao=class extends ft{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:\"\"},this.type=\"MeshToonMaterial\",this.color=new U(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new U(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Oi,this.normalScale=new C(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}},To=class extends ft{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type=\"MeshNormalMaterial\",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Oi,this.normalScale=new C(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}},Io=class extends ft{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type=\"MeshLambertMaterial\",this.color=new U(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new U(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Oi,this.normalScale=new C(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new ie,this.combine=sa,this.reflectivity=1,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}},Co=class extends ft{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type=\"MeshDepthMaterial\",this.depthPacking=Fu,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}},zo=class extends ft{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type=\"MeshDistanceMaterial\",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}},Fo=class extends ft{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:\"\"},this.type=\"MeshMatcapMaterial\",this.color=new U(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Oi,this.normalScale=new C(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:\"\"},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this.fog=t.fog,this}},Bo=class extends bt{constructor(t){super(),this.isLineDashedMaterial=!0,this.type=\"LineDashedMaterial\",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}};function He(h,t){return!h||h.constructor===t?h:typeof t.BYTES_PER_ELEMENT==\"number\"?new t(h):Array.prototype.slice.call(h)}function fc(h){function t(s,n){return h[s]-h[n]}let e=h.length,i=new Array(e);for(let s=0;s!==e;++s)i[s]=s;return i.sort(t),i}function ko(h,t,e){let i=h.length,s=new h.constructor(i);for(let n=0,r=0;r!==i;++n){let o=e[n]*t;for(let a=0;a!==t;++a)s[r++]=h[o+a]}return s}function ua(h,t,e,i){let s=1,n=h[0];for(;n!==void 0&&n[i]===void 0;)n=h[s++];if(n===void 0)return;let r=n[i];if(r!==void 0)if(Array.isArray(r))do r=n[i],r!==void 0&&(t.push(n.time),e.push(...r)),n=h[s++];while(n!==void 0);else if(r.toArray!==void 0)do r=n[i],r!==void 0&&(t.push(n.time),r.toArray(e,e.length)),n=h[s++];while(n!==void 0);else do r=n[i],r!==void 0&&(t.push(n.time),e.push(r)),n=h[s++];while(n!==void 0)}function tp(h,t,e,i,s=30){let n=h.clone();n.name=t;let r=[];for(let a=0;a<n.tracks.length;++a){let l=n.tracks[a],c=l.getValueSize(),u=[],d=[];for(let p=0;p<l.times.length;++p){let f=l.times[p]*s;if(!(f<e||f>=i)){u.push(l.times[p]);for(let m=0;m<c;++m)d.push(l.values[p*c+m])}}u.length!==0&&(l.times=He(u,l.times.constructor),l.values=He(d,l.values.constructor),r.push(l))}n.tracks=r;let o=1/0;for(let a=0;a<n.tracks.length;++a)o>n.tracks[a].times[0]&&(o=n.tracks[a].times[0]);for(let a=0;a<n.tracks.length;++a)n.tracks[a].shift(-1*o);return n.resetDuration(),n}function ep(h,t=0,e=h,i=30){i<=0&&(i=30);let s=e.tracks.length,n=t/i;for(let r=0;r<s;++r){let o=e.tracks[r],a=o.ValueTypeName;if(a===\"bool\"||a===\"string\")continue;let l=h.tracks.find(function(y){return y.name===o.name&&y.ValueTypeName===a});if(l===void 0)continue;let c=0,u=o.getValueSize();o.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=u/3);let d=0,p=l.getValueSize();l.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(d=p/3);let f=o.times.length-1,m;if(n<=o.times[0]){let y=c,x=u-c;m=o.values.slice(y,x)}else if(n>=o.times[f]){let y=f*u+c,x=y+u-c;m=o.values.slice(y,x)}else{let y=o.createInterpolant(),x=c,b=u-c;y.evaluate(n),m=y.resultBuffer.slice(x,b)}a===\"quaternion\"&&new xt().fromArray(m).normalize().conjugate().toArray(m);let g=l.times.length;for(let y=0;y<g;++y){let x=y*p+d;if(a===\"quaternion\")xt.multiplyQuaternionsFlat(l.values,x,m,0,l.values,x);else{let b=p-d*2;for(let w=0;w<b;++w)l.values[x+w]-=m[w]}}}return h.blendMode=nc,h}var Gh=class{static convertArray(t,e){return He(t,e)}static isTypedArray(t){return oc(t)}static getKeyframeOrder(t){return fc(t)}static sortedArray(t,e,i){return ko(t,e,i)}static flattenJSON(t,e,i,s){ua(t,e,i,s)}static subclip(t,e,i,s,n=30){return tp(t,e,i,s,n)}static makeClipAdditive(t,e=0,i=t,s=30){return ep(t,e,i,s)}},Ke=class{constructor(t,e,i,s){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=s!==void 0?s:new e.constructor(i),this.sampleValues=e,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,i=this._cachedIndex,s=e[i],n=e[i-1];t:{e:{let r;i:{s:if(!(t<s)){for(let o=i+2;;){if(s===void 0){if(t<n)break s;return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===o)break;if(n=s,s=e[++i],t<s)break e}r=e.length;break i}if(!(t>=n)){let o=e[1];t<o&&(i=2,n=o);for(let a=i-2;;){if(n===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===a)break;if(s=n,n=e[--i-1],t>=n)break e}r=i,i=0;break i}break t}for(;i<r;){let o=i+r>>>1;t<e[o]?r=o:i=o+1}if(s=e[i],n=e[i-1],n===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(s===void 0)return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,n,s)}return this.interpolate_(i,n,t,s)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,i=this.sampleValues,s=this.valueSize,n=t*s;for(let r=0;r!==s;++r)e[r]=i[n+r];return e}interpolate_(){throw new Error(\"call to abstract method\")}intervalChanged_(){}},Po=class extends Ke{constructor(t,e,i,s){super(t,e,i,s),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:_i,endingEnd:_i}}intervalChanged_(t,e,i){let s=this.parameterPositions,n=t-2,r=t+1,o=s[n],a=s[r];if(o===void 0)switch(this.getSettings_().endingStart){case vi:n=t,o=2*e-i;break;case rn:n=s.length-2,o=e+s[n]-s[n+1];break;default:n=t,o=i}if(a===void 0)switch(this.getSettings_().endingEnd){case vi:r=t,a=2*i-e;break;case rn:r=1,a=i+s[1]-s[0];break;default:r=t-1,a=e}let l=(i-e)*.5,c=this.valueSize;this._weightPrev=l/(e-o),this._weightNext=l/(a-i),this._offsetPrev=n*c,this._offsetNext=r*c}interpolate_(t,e,i,s){let n=this.resultBuffer,r=this.sampleValues,o=this.valueSize,a=t*o,l=a-o,c=this._offsetPrev,u=this._offsetNext,d=this._weightPrev,p=this._weightNext,f=(i-e)/(s-e),m=f*f,g=m*f,y=-d*g+2*d*m-d*f,x=(1+d)*g+(-1.5-2*d)*m+(-.5+d)*f+1,b=(-1-p)*g+(1.5+p)*m+.5*f,w=p*g-p*m;for(let _=0;_!==o;++_)n[_]=y*r[c+_]+x*r[l+_]+b*r[a+_]+w*r[u+_];return n}},Fn=class extends Ke{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){let n=this.resultBuffer,r=this.sampleValues,o=this.valueSize,a=t*o,l=a-o,c=(i-e)/(s-e),u=1-c;for(let d=0;d!==o;++d)n[d]=r[l+d]*u+r[a+d]*c;return n}},Ro=class extends Ke{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t){return this.copySampleValue_(t-1)}},Oo=class extends Ke{interpolate_(t,e,i,s){let n=this.resultBuffer,r=this.sampleValues,o=this.valueSize,a=t*o,l=a-o,c=this.settings||this.DefaultSettings_,u=c.inTangents,d=c.outTangents;if(!u||!d){let m=(i-e)/(s-e),g=1-m;for(let y=0;y!==o;++y)n[y]=r[l+y]*g+r[a+y]*m;return n}let p=o*2,f=t-1;for(let m=0;m!==o;++m){let g=r[l+m],y=r[a+m],x=f*p+m*2,b=d[x],w=d[x+1],_=t*p+m*2,v=u[_],A=u[_+1],S=(i-e)/(s-e),T,I,F,O,D;for(let H=0;H<8;H++){T=S*S,I=T*S,F=1-S,O=F*F,D=O*F;let et=D*e+3*O*S*b+3*F*T*v+I*s-i;if(Math.abs(et)<1e-10)break;let ot=3*O*(b-e)+6*F*S*(v-b)+3*T*(s-v);if(Math.abs(ot)<1e-10)break;S=S-et/ot,S=Math.max(0,Math.min(1,S))}n[m]=D*g+3*O*S*w+3*F*T*A+I*y}return n}},Rt=class{constructor(t,e,i,s){if(t===void 0)throw new Error(\"THREE.KeyframeTrack: track name is undefined\");if(e===void 0||e.length===0)throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \"+t);this.name=t,this.times=He(e,this.TimeBufferType),this.values=He(i,this.ValueBufferType),this.setInterpolation(s||this.DefaultInterpolation)}static toJSON(t){let e=t.constructor,i;if(e.toJSON!==this.toJSON)i=e.toJSON(t);else{i={name:t.name,times:He(t.times,Array),values:He(t.values,Array)};let s=t.getInterpolation();s!==t.DefaultInterpolation&&(i.interpolation=s)}return i.type=t.ValueTypeName,i}InterpolantFactoryMethodDiscrete(t){return new Ro(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new Fn(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new Po(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodBezier(t){let e=new Oo(this.times,this.values,this.getValueSize(),t);return this.settings&&(e.settings=this.settings),e}setInterpolation(t){let e;switch(t){case nn:e=this.InterpolantFactoryMethodDiscrete;break;case zr:e=this.InterpolantFactoryMethodLinear;break;case Dn:e=this.InterpolantFactoryMethodSmooth;break;case ka:e=this.InterpolantFactoryMethodBezier;break}if(e===void 0){let i=\"unsupported interpolation for \"+this.ValueTypeName+\" keyframe track named \"+this.name;if(this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return N(\"KeyframeTrack:\",i),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return nn;case this.InterpolantFactoryMethodLinear:return zr;case this.InterpolantFactoryMethodSmooth:return Dn;case this.InterpolantFactoryMethodBezier:return ka}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){let e=this.times;for(let i=0,s=e.length;i!==s;++i)e[i]+=t}return this}scale(t){if(t!==1){let e=this.times;for(let i=0,s=e.length;i!==s;++i)e[i]*=t}return this}trim(t,e){let i=this.times,s=i.length,n=0,r=s-1;for(;n!==s&&i[n]<t;)++n;for(;r!==-1&&i[r]>e;)--r;if(++r,n!==0||r!==s){n>=r&&(r=Math.max(r,1),n=r-1);let o=this.getValueSize();this.times=i.slice(n,r),this.values=this.values.slice(n*o,r*o)}return this}validate(){let t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(X(\"KeyframeTrack: Invalid value size in track.\",this),t=!1);let i=this.times,s=this.values,n=i.length;n===0&&(X(\"KeyframeTrack: Track is empty.\",this),t=!1);let r=null;for(let o=0;o!==n;o++){let a=i[o];if(typeof a==\"number\"&&isNaN(a)){X(\"KeyframeTrack: Time is not a valid number.\",this,o,a),t=!1;break}if(r!==null&&r>a){X(\"KeyframeTrack: Out of order keys.\",this,o,a,r),t=!1;break}r=a}if(s!==void 0&&oc(s))for(let o=0,a=s.length;o!==a;++o){let l=s[o];if(isNaN(l)){X(\"KeyframeTrack: Value is not a valid number.\",this,o,l),t=!1;break}}return t}optimize(){let t=this.times.slice(),e=this.values.slice(),i=this.getValueSize(),s=this.getInterpolation()===Dn,n=t.length-1,r=1;for(let o=1;o<n;++o){let a=!1,l=t[o],c=t[o+1];if(l!==c&&(o!==1||l!==t[0]))if(s)a=!0;else{let u=o*i,d=u-i,p=u+i;for(let f=0;f!==i;++f){let m=e[u+f];if(m!==e[d+f]||m!==e[p+f]){a=!0;break}}}if(a){if(o!==r){t[r]=t[o];let u=o*i,d=r*i;for(let p=0;p!==i;++p)e[d+p]=e[u+p]}++r}}if(n>0){t[r]=t[n];for(let o=n*i,a=r*i,l=0;l!==i;++l)e[a+l]=e[o+l];++r}return r!==t.length?(this.times=t.slice(0,r),this.values=e.slice(0,r*i)):(this.times=t,this.values=e),this}clone(){let t=this.times.slice(),e=this.values.slice(),i=this.constructor,s=new i(this.name,t,e);return s.createInterpolant=this.createInterpolant,s}};Rt.prototype.ValueTypeName=\"\";Rt.prototype.TimeBufferType=Float32Array;Rt.prototype.ValueBufferType=Float32Array;Rt.prototype.DefaultInterpolation=zr;var Be=class extends Rt{constructor(t,e,i){super(t,e,i)}};Be.prototype.ValueTypeName=\"bool\";Be.prototype.ValueBufferType=Array;Be.prototype.DefaultInterpolation=nn;Be.prototype.InterpolantFactoryMethodLinear=void 0;Be.prototype.InterpolantFactoryMethodSmooth=void 0;var Bn=class extends Rt{constructor(t,e,i,s){super(t,e,i,s)}};Bn.prototype.ValueTypeName=\"color\";var Fi=class extends Rt{constructor(t,e,i,s){super(t,e,i,s)}};Fi.prototype.ValueTypeName=\"number\";var Eo=class extends Ke{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){let n=this.resultBuffer,r=this.sampleValues,o=this.valueSize,a=(i-e)/(s-e),l=t*o;for(let c=l+o;l!==c;l+=4)xt.slerpFlat(n,0,r,l-o,r,l,a);return n}},Bi=class extends Rt{constructor(t,e,i,s){super(t,e,i,s)}InterpolantFactoryMethodLinear(t){return new Eo(this.times,this.values,this.getValueSize(),t)}};Bi.prototype.ValueTypeName=\"quaternion\";Bi.prototype.InterpolantFactoryMethodSmooth=void 0;var ke=class extends Rt{constructor(t,e,i){super(t,e,i)}};ke.prototype.ValueTypeName=\"string\";ke.prototype.ValueBufferType=Array;ke.prototype.DefaultInterpolation=nn;ke.prototype.InterpolantFactoryMethodLinear=void 0;ke.prototype.InterpolantFactoryMethodSmooth=void 0;var ki=class extends Rt{constructor(t,e,i,s){super(t,e,i,s)}};ki.prototype.ValueTypeName=\"vector\";var Pi=class{constructor(t=\"\",e=-1,i=[],s=aa){this.name=t,this.tracks=i,this.duration=e,this.blendMode=s,this.uuid=kt(),this.userData={},this.duration<0&&this.resetDuration()}static parse(t){let e=[],i=t.tracks,s=1/(t.fps||1);for(let r=0,o=i.length;r!==o;++r)e.push(sp(i[r]).scale(s));let n=new this(t.name,t.duration,e,t.blendMode);return n.uuid=t.uuid,n.userData=JSON.parse(t.userData||\"{}\"),n}static toJSON(t){let e=[],i=t.tracks,s={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode,userData:JSON.stringify(t.userData)};for(let n=0,r=i.length;n!==r;++n)e.push(Rt.toJSON(i[n]));return s}static CreateFromMorphTargetSequence(t,e,i,s){let n=e.length,r=[];for(let o=0;o<n;o++){let a=[],l=[];a.push((o+n-1)%n,o,(o+1)%n),l.push(0,1,0);let c=fc(a);a=ko(a,1,c),l=ko(l,1,c),!s&&a[0]===0&&(a.push(n),l.push(l[0])),r.push(new Fi(\".morphTargetInfluences[\"+e[o].name+\"]\",a,l).scale(1/i))}return new this(t,-1,r)}static findByName(t,e){let i=t;if(!Array.isArray(t)){let s=t;i=s.geometry&&s.geometry.animations||s.animations}for(let s=0;s<i.length;s++)if(i[s].name===e)return i[s];return null}static CreateClipsFromMorphTargetSequences(t,e,i){let s={},n=/^([\\w-]*?)([\\d]+)$/;for(let o=0,a=t.length;o<a;o++){let l=t[o],c=l.name.match(n);if(c&&c.length>1){let u=c[1],d=s[u];d||(s[u]=d=[]),d.push(l)}}let r=[];for(let o in s)r.push(this.CreateFromMorphTargetSequence(o,s[o],e,i));return r}static parseAnimation(t,e){if(N(\"AnimationClip: parseAnimation() is deprecated and will be removed with r185\"),!t)return X(\"AnimationClip: No animation in JSONLoader data.\"),null;let i=function(u,d,p,f,m){if(p.length!==0){let g=[],y=[];ua(p,g,y,f),g.length!==0&&m.push(new u(d,g,y))}},s=[],n=t.name||\"default\",r=t.fps||30,o=t.blendMode,a=t.length||-1,l=t.hierarchy||[];for(let u=0;u<l.length;u++){let d=l[u].keys;if(!(!d||d.length===0))if(d[0].morphTargets){let p={},f;for(f=0;f<d.length;f++)if(d[f].morphTargets)for(let m=0;m<d[f].morphTargets.length;m++)p[d[f].morphTargets[m]]=-1;for(let m in p){let g=[],y=[];for(let x=0;x!==d[f].morphTargets.length;++x){let b=d[f];g.push(b.time),y.push(b.morphTarget===m?1:0)}s.push(new Fi(\".morphTargetInfluence[\"+m+\"]\",g,y))}a=p.length*r}else{let p=\".bones[\"+e[u].name+\"]\";i(ki,p+\".position\",d,\"pos\",s),i(Bi,p+\".quaternion\",d,\"rot\",s),i(ki,p+\".scale\",d,\"scl\",s)}}return s.length===0?null:new this(n,a,s,o)}resetDuration(){let t=this.tracks,e=0;for(let i=0,s=t.length;i!==s;++i){let n=this.tracks[i];e=Math.max(e,n.times[n.times.length-1])}return this.duration=e,this}trim(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this}validate(){let t=!0;for(let e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t}optimize(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}clone(){let t=[];for(let i=0;i<this.tracks.length;i++)t.push(this.tracks[i].clone());let e=new this.constructor(this.name,this.duration,t,this.blendMode);return e.userData=JSON.parse(JSON.stringify(this.userData)),e}toJSON(){return this.constructor.toJSON(this)}};function ip(h){switch(h.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return Fi;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return ki;case\"color\":return Bn;case\"quaternion\":return Bi;case\"bool\":case\"boolean\":return Be;case\"string\":return ke}throw new Error(\"THREE.KeyframeTrack: Unsupported typeName: \"+h)}function sp(h){if(h.type===void 0)throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");let t=ip(h.type);if(h.times===void 0){let e=[],i=[];ua(h.keys,e,i,\"value\"),h.times=e,h.values=i}return t.parse!==void 0?t.parse(h):new t(h.name,h.times,h.values,h.interpolation)}var ye={enabled:!1,files:{},add:function(h,t){this.enabled!==!1&&(Xh(h)||(this.files[h]=t))},get:function(h){if(this.enabled!==!1&&!Xh(h))return this.files[h]},remove:function(h){delete this.files[h]},clear:function(){this.files={}}};function Xh(h){try{let t=h.slice(h.indexOf(\":\")+1);return new URL(t).protocol===\"blob:\"}catch{return!1}}var kn=class{constructor(t,e,i){let s=this,n=!1,r=0,o=0,a,l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=i,this._abortController=null,this.itemStart=function(c){o++,n===!1&&s.onStart!==void 0&&s.onStart(c,r,o),n=!0},this.itemEnd=function(c){r++,s.onProgress!==void 0&&s.onProgress(c,r,o),r===o&&(n=!1,s.onLoad!==void 0&&s.onLoad())},this.itemError=function(c){s.onError!==void 0&&s.onError(c)},this.resolveURL=function(c){return a?a(c):c},this.setURLModifier=function(c){return a=c,this},this.addHandler=function(c,u){return l.push(c,u),this},this.removeHandler=function(c){let u=l.indexOf(c);return u!==-1&&l.splice(u,2),this},this.getHandler=function(c){for(let u=0,d=l.length;u<d;u+=2){let p=l[u],f=l[u+1];if(p.global&&(p.lastIndex=0),p.test(c))return f}return null},this.abort=function(){return this.abortController.abort(),this._abortController=null,this}}get abortController(){return this._abortController||(this._abortController=new AbortController),this._abortController}},np=new kn,_t=class{constructor(t){this.manager=t!==void 0?t:np,this.crossOrigin=\"anonymous\",this.withCredentials=!1,this.path=\"\",this.resourcePath=\"\",this.requestHeader={},typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}load(){}loadAsync(t,e){let i=this;return new Promise(function(s,n){i.load(t,s,e,n)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}abort(){return this}};_t.DEFAULT_MATERIAL_NAME=\"__DEFAULT\";var de={},No=class extends Error{constructor(t,e){super(t),this.response=e}},se=class extends _t{constructor(t){super(t),this.mimeType=\"\",this.responseType=\"\",this._abortController=new AbortController}load(t,e,i,s){t===void 0&&(t=\"\"),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);let n=ye.get(`file:${t}`);if(n!==void 0){this.manager.itemStart(t),setTimeout(()=>{e&&e(n),this.manager.itemEnd(t)},0);return}if(de[t]!==void 0){de[t].push({onLoad:e,onProgress:i,onError:s});return}de[t]=[],de[t].push({onLoad:e,onProgress:i,onError:s});let r=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?\"include\":\"same-origin\",signal:typeof AbortSignal.any==\"function\"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),o=this.mimeType,a=this.responseType;fetch(r).then(l=>{if(l.status===200||l.status===0){if(l.status===0&&N(\"FileLoader: HTTP Status 0 received.\"),typeof ReadableStream>\"u\"||l.body===void 0||l.body.getReader===void 0)return l;let c=de[t],u=l.body.getReader(),d=l.headers.get(\"X-File-Size\")||l.headers.get(\"Content-Length\"),p=d?parseInt(d):0,f=p!==0,m=0,g=new ReadableStream({start(y){x();function x(){u.read().then(({done:b,value:w})=>{if(b)y.close();else{m+=w.byteLength;let _=new ProgressEvent(\"progress\",{lengthComputable:f,loaded:m,total:p});for(let v=0,A=c.length;v<A;v++){let S=c[v];S.onProgress&&S.onProgress(_)}y.enqueue(w),x()}},b=>{y.error(b)})}}});return new Response(g)}else throw new No(`fetch for \"${l.url}\" responded with ${l.status}: ${l.statusText}`,l)}).then(l=>{switch(a){case\"arraybuffer\":return l.arrayBuffer();case\"blob\":return l.blob();case\"document\":return l.text().then(c=>new DOMParser().parseFromString(c,o));case\"json\":return l.json();default:if(o===\"\")return l.text();{let u=/charset=\"?([^;\"\\s]*)\"?/i.exec(o),d=u&&u[1]?u[1].toLowerCase():void 0,p=new TextDecoder(d);return l.arrayBuffer().then(f=>p.decode(f))}}}).then(l=>{ye.add(`file:${t}`,l);let c=de[t];delete de[t];for(let u=0,d=c.length;u<d;u++){let p=c[u];p.onLoad&&p.onLoad(l)}}).catch(l=>{let c=de[t];if(c===void 0)throw this.manager.itemError(t),l;delete de[t];for(let u=0,d=c.length;u<d;u++){let p=c[u];p.onError&&p.onError(l)}this.manager.itemError(t)}).finally(()=>{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}},Hh=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=this,r=new se(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(t,function(o){try{e(n.parse(JSON.parse(o)))}catch(a){s?s(a):X(a),n.manager.itemError(t)}},i,s)}parse(t){let e=[];for(let i=0;i<t.length;i++){let s=Pi.parse(t[i]);e.push(s)}return e}},Zh=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=this,r=[],o=new ns,a=new se(this.manager);a.setPath(this.path),a.setResponseType(\"arraybuffer\"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(n.withCredentials);let l=0;function c(u){a.load(t[u],function(d){let p=n.parse(d,!0);r[u]={width:p.width,height:p.height,format:p.format,mipmaps:p.mipmaps},l+=1,l===6&&(p.mipmapCount===1&&(o.minFilter=Gt),o.image=r,o.format=p.format,o.needsUpdate=!0,e&&e(o))},i,s)}if(Array.isArray(t))for(let u=0,d=t.length;u<d;++u)c(u);else a.load(t,function(u){let d=n.parse(u,!0);if(d.isCubemap){let p=d.mipmaps.length/d.mipmapCount;for(let f=0;f<p;f++){r[f]={mipmaps:[]};for(let m=0;m<d.mipmapCount;m++)r[f].mipmaps.push(d.mipmaps[f*d.mipmapCount+m]),r[f].format=d.format,r[f].width=d.width,r[f].height=d.height}o.image=r}else o.image.width=d.width,o.image.height=d.height,o.mipmaps=d.mipmaps;d.mipmapCount===1&&(o.minFilter=Gt),o.format=d.format,o.needsUpdate=!0,e&&e(o)},i,s);return o}},gi=new WeakMap,Ri=class extends _t{constructor(t){super(t)}load(t,e,i,s){this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);let n=this,r=ye.get(`image:${t}`);if(r!==void 0){if(r.complete===!0)n.manager.itemStart(t),setTimeout(function(){e&&e(r),n.manager.itemEnd(t)},0);else{let u=gi.get(r);u===void 0&&(u=[],gi.set(r,u)),u.push({onLoad:e,onError:s})}return r}let o=an(\"img\");function a(){c(),e&&e(this);let u=gi.get(this)||[];for(let d=0;d<u.length;d++){let p=u[d];p.onLoad&&p.onLoad(this)}gi.delete(this),n.manager.itemEnd(t)}function l(u){c(),s&&s(u),ye.remove(`image:${t}`);let d=gi.get(this)||[];for(let p=0;p<d.length;p++){let f=d[p];f.onError&&f.onError(u)}gi.delete(this),n.manager.itemError(t),n.manager.itemEnd(t)}function c(){o.removeEventListener(\"load\",a,!1),o.removeEventListener(\"error\",l,!1)}return o.addEventListener(\"load\",a,!1),o.addEventListener(\"error\",l,!1),t.slice(0,5)!==\"data:\"&&this.crossOrigin!==void 0&&(o.crossOrigin=this.crossOrigin),ye.add(`image:${t}`,o),n.manager.itemStart(t),o.src=t,o}},Yh=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=new gn;n.colorSpace=Nt;let r=new Ri(this.manager);r.setCrossOrigin(this.crossOrigin),r.setPath(this.path);let o=0;function a(l){r.load(t[l],function(c){n.images[l]=c,o++,o===6&&(n.needsUpdate=!0,e&&e(n))},void 0,s)}for(let l=0;l<t.length;++l)a(l);return n}},$h=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=this,r=new Xt,o=new se(this.manager);return o.setResponseType(\"arraybuffer\"),o.setRequestHeader(this.requestHeader),o.setPath(this.path),o.setWithCredentials(n.withCredentials),o.load(t,function(a){let l;try{l=n.parse(a)}catch(c){s!==void 0?s(c):X(c);return}l.image!==void 0?r.image=l.image:l.data!==void 0&&(r.image.width=l.width,r.image.height=l.height,r.image.data=l.data),r.wrapS=l.wrapS!==void 0?l.wrapS:Qt,r.wrapT=l.wrapT!==void 0?l.wrapT:Qt,r.magFilter=l.magFilter!==void 0?l.magFilter:Gt,r.minFilter=l.minFilter!==void 0?l.minFilter:Gt,r.anisotropy=l.anisotropy!==void 0?l.anisotropy:1,l.colorSpace!==void 0&&(r.colorSpace=l.colorSpace),l.flipY!==void 0&&(r.flipY=l.flipY),l.format!==void 0&&(r.format=l.format),l.type!==void 0&&(r.type=l.type),l.mipmaps!==void 0&&(r.mipmaps=l.mipmaps,r.minFilter=ra),l.mipmapCount===1&&(r.minFilter=Gt),l.generateMipmaps!==void 0&&(r.generateMipmaps=l.generateMipmaps),r.needsUpdate=!0,e&&e(r,l)},i,s),r}},jh=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=new ct,r=new Ri(this.manager);return r.setCrossOrigin(this.crossOrigin),r.setPath(this.path),r.load(t,function(o){n.image=o,n.needsUpdate=!0,e!==void 0&&e(n)},i,s),n}},be=class extends Y{constructor(t,e=1){super(),this.isLight=!0,this.type=\"Light\",this.color=new U(t),this.intensity=e}dispose(){this.dispatchEvent({type:\"dispose\"})}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){let e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,e}},Vo=class extends be{constructor(t,e,i){super(t,i),this.isHemisphereLight=!0,this.type=\"HemisphereLight\",this.position.copy(Y.DEFAULT_UP),this.updateMatrix(),this.groundColor=new U(e)}copy(t,e){return super.copy(t,e),this.groundColor.copy(t.groundColor),this}toJSON(t){let e=super.toJSON(t);return e.object.groundColor=this.groundColor.getHex(),e}},xr=new q,Qh=new M,Kh=new M,cs=class{constructor(t){this.camera=t,this.intensity=1,this.bias=0,this.biasNode=null,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new C(512,512),this.mapType=oa,this.map=null,this.mapPass=null,this.matrix=new q,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new ss,this._frameExtents=new C(1,1),this._viewportCount=1,this._viewports=[new Tt(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){let e=this.camera,i=this.matrix;Qh.setFromMatrixPosition(t.matrixWorld),e.position.copy(Qh),Kh.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(Kh),e.updateMatrixWorld(),xr.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(xr,e.coordinateSystem,e.reversedDepth),e.coordinateSystem===Ii||e.reversedDepth?i.set(.5,0,0,.5,0,.5,0,.5,0,0,1,0,0,0,0,1):i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(xr)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.intensity=t.intensity,this.bias=t.bias,this.radius=t.radius,this.autoUpdate=t.autoUpdate,this.needsUpdate=t.needsUpdate,this.normalBias=t.normalBias,this.blurSamples=t.blurSamples,this.mapSize.copy(t.mapSize),this.biasNode=t.biasNode,this}clone(){return new this.constructor().copy(this)}toJSON(){let t={};return this.intensity!==1&&(t.intensity=this.intensity),this.bias!==0&&(t.bias=this.bias),this.normalBias!==0&&(t.normalBias=this.normalBias),this.radius!==1&&(t.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}},Hs=new M,Zs=new xt,jt=new M,us=class extends Y{constructor(){super(),this.isCamera=!0,this.type=\"Camera\",this.matrixWorldInverse=new q,this.projectionMatrix=new q,this.projectionMatrixInverse=new q,this.coordinateSystem=Kt,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorld.decompose(Hs,Zs,jt),jt.x===1&&jt.y===1&&jt.z===1?this.matrixWorldInverse.copy(this.matrixWorld).invert():this.matrixWorldInverse.compose(Hs,Zs,jt.set(1,1,1)).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorld.decompose(Hs,Zs,jt),jt.x===1&&jt.y===1&&jt.z===1?this.matrixWorldInverse.copy(this.matrixWorld).invert():this.matrixWorldInverse.compose(Hs,Zs,jt.set(1,1,1)).invert()}clone(){return new this.constructor().copy(this)}},Ae=new M,tl=new C,el=new C,At=class extends us{constructor(t=50,e=1,i=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type=\"PerspectiveCamera\",this.fov=t,this.zoom=1,this.near=i,this.far=s,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=t.view===null?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){let e=.5*this.getFilmHeight()/t;this.fov=es*2*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){let t=Math.tan(Ze*.5*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return es*2*Math.atan(Math.tan(Ze*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,i){Ae.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(Ae.x,Ae.y).multiplyScalar(-t/Ae.z),Ae.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Ae.x,Ae.y).multiplyScalar(-t/Ae.z)}getViewSize(t,e){return this.getViewBounds(t,tl,el),e.subVectors(el,tl)}setViewOffset(t,e,i,s,n,r){this.aspect=t/e,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=s,this.view.width=n,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let t=this.near,e=t*Math.tan(Ze*.5*this.fov)/this.zoom,i=2*e,s=this.aspect*i,n=-.5*s,r=this.view;if(this.view!==null&&this.view.enabled){let a=r.fullWidth,l=r.fullHeight;n+=r.offsetX*s/a,e-=r.offsetY*i/l,s*=r.width/a,i*=r.height/l}let o=this.filmOffset;o!==0&&(n+=t*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(n,n+s,e,e-i,t,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){let e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,this.view!==null&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}},Do=class extends cs{constructor(){super(new At(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(t){let e=this.camera,i=es*2*t.angle*this.focus,s=this.mapSize.width/this.mapSize.height*this.aspect,n=t.distance||e.far;(i!==e.fov||s!==e.aspect||n!==e.far)&&(e.fov=i,e.aspect=s,e.far=n,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}},Lo=class extends be{constructor(t,e,i=0,s=Math.PI/3,n=0,r=2){super(t,e),this.isSpotLight=!0,this.type=\"SpotLight\",this.position.copy(Y.DEFAULT_UP),this.updateMatrix(),this.target=new Y,this.distance=i,this.angle=s,this.penumbra=n,this.decay=r,this.map=null,this.shadow=new Do}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){super.dispose(),this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.map=t.map,this.shadow=t.shadow.clone(),this}toJSON(t){let e=super.toJSON(t);return e.object.distance=this.distance,e.object.angle=this.angle,e.object.decay=this.decay,e.object.penumbra=this.penumbra,e.object.target=this.target.uuid,this.map&&this.map.isTexture&&(e.object.map=this.map.toJSON(t).uuid),e.object.shadow=this.shadow.toJSON(),e}},Uo=class extends cs{constructor(){super(new At(90,1,.5,500)),this.isPointLightShadow=!0}},Wo=class extends be{constructor(t,e,i=0,s=2){super(t,e),this.isPointLight=!0,this.type=\"PointLight\",this.distance=i,this.decay=s,this.shadow=new Uo}get power(){return this.intensity*4*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){super.dispose(),this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}toJSON(t){let e=super.toJSON(t);return e.object.distance=this.distance,e.object.decay=this.decay,e.object.shadow=this.shadow.toJSON(),e}},Pn=class extends us{constructor(t=-1,e=1,i=1,s=-1,n=.1,r=2e3){super(),this.isOrthographicCamera=!0,this.type=\"OrthographicCamera\",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=i,this.bottom=s,this.near=n,this.far=r,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=t.view===null?null:Object.assign({},t.view),this}setViewOffset(t,e,i,s,n,r){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=s,this.view.width=n,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,s=(this.top+this.bottom)/2,n=i-t,r=i+t,o=s+e,a=s-e;if(this.view!==null&&this.view.enabled){let l=(this.right-this.left)/this.view.fullWidth/this.zoom,c=(this.top-this.bottom)/this.view.fullHeight/this.zoom;n+=l*this.view.offsetX,r=n+l*this.view.width,o-=c*this.view.offsetY,a=o-c*this.view.height}this.projectionMatrix.makeOrthographic(n,r,o,a,this.near,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){let e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,this.view!==null&&(e.object.view=Object.assign({},this.view)),e}},qo=class extends cs{constructor(){super(new Pn(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},Jo=class extends be{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type=\"DirectionalLight\",this.position.copy(Y.DEFAULT_UP),this.updateMatrix(),this.target=new Y,this.shadow=new qo}dispose(){super.dispose(),this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}toJSON(t){let e=super.toJSON(t);return e.object.shadow=this.shadow.toJSON(),e.object.target=this.target.uuid,e}},Go=class extends be{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type=\"AmbientLight\"}},Xo=class extends be{constructor(t,e,i=10,s=10){super(t,e),this.isRectAreaLight=!0,this.type=\"RectAreaLight\",this.width=i,this.height=s}get power(){return this.intensity*this.width*this.height*Math.PI}set power(t){this.intensity=t/(this.width*this.height*Math.PI)}copy(t){return super.copy(t),this.width=t.width,this.height=t.height,this}toJSON(t){let e=super.toJSON(t);return e.object.width=this.width,e.object.height=this.height,e}},Rn=class{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new M)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){let i=t.x,s=t.y,n=t.z,r=this.coefficients;return e.copy(r[0]).multiplyScalar(.282095),e.addScaledVector(r[1],.488603*s),e.addScaledVector(r[2],.488603*n),e.addScaledVector(r[3],.488603*i),e.addScaledVector(r[4],1.092548*(i*s)),e.addScaledVector(r[5],1.092548*(s*n)),e.addScaledVector(r[6],.315392*(3*n*n-1)),e.addScaledVector(r[7],1.092548*(i*n)),e.addScaledVector(r[8],.546274*(i*i-s*s)),e}getIrradianceAt(t,e){let i=t.x,s=t.y,n=t.z,r=this.coefficients;return e.copy(r[0]).multiplyScalar(.886227),e.addScaledVector(r[1],2*.511664*s),e.addScaledVector(r[2],2*.511664*n),e.addScaledVector(r[3],2*.511664*i),e.addScaledVector(r[4],2*.429043*i*s),e.addScaledVector(r[5],2*.429043*s*n),e.addScaledVector(r[6],.743125*n*n-.247708),e.addScaledVector(r[7],2*.429043*i*n),e.addScaledVector(r[8],.429043*(i*i-s*s)),e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let i=0;i<9;i++)this.coefficients[i].addScaledVector(t.coefficients[i],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let i=0;i<9;i++)this.coefficients[i].lerp(t.coefficients[i],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return!1;return!0}copy(t){return this.set(t.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(t,e=0){let i=this.coefficients;for(let s=0;s<9;s++)i[s].fromArray(t,e+s*3);return this}toArray(t=[],e=0){let i=this.coefficients;for(let s=0;s<9;s++)i[s].toArray(t,e+s*3);return t}static getBasisAt(t,e){let i=t.x,s=t.y,n=t.z;e[0]=.282095,e[1]=.488603*s,e[2]=.488603*n,e[3]=.488603*i,e[4]=1.092548*i*s,e[5]=1.092548*s*n,e[6]=.315392*(3*n*n-1),e[7]=1.092548*i*n,e[8]=.546274*(i*i-s*s)}},Ho=class extends be{constructor(t=new Rn,e=1){super(void 0,e),this.isLightProbe=!0,this.sh=t}copy(t){return super.copy(t),this.sh.copy(t.sh),this}toJSON(t){let e=super.toJSON(t);return e.object.sh=this.sh.toArray(),e}},Zo=class h extends _t{constructor(t){super(t),this.textures={}}load(t,e,i,s){let n=this,r=new se(n.manager);r.setPath(n.path),r.setRequestHeader(n.requestHeader),r.setWithCredentials(n.withCredentials),r.load(t,function(o){try{e(n.parse(JSON.parse(o)))}catch(a){s?s(a):X(a),n.manager.itemError(t)}},i,s)}parse(t){let e=this.textures;function i(n){return e[n]===void 0&&N(\"MaterialLoader: Undefined texture\",n),e[n]}let s=this.createMaterialFromType(t.type);if(t.uuid!==void 0&&(s.uuid=t.uuid),t.name!==void 0&&(s.name=t.name),t.color!==void 0&&s.color!==void 0&&s.color.setHex(t.color),t.roughness!==void 0&&(s.roughness=t.roughness),t.metalness!==void 0&&(s.metalness=t.metalness),t.sheen!==void 0&&(s.sheen=t.sheen),t.sheenColor!==void 0&&(s.sheenColor=new U().setHex(t.sheenColor)),t.sheenRoughness!==void 0&&(s.sheenRoughness=t.sheenRoughness),t.emissive!==void 0&&s.emissive!==void 0&&s.emissive.setHex(t.emissive),t.specular!==void 0&&s.specular!==void 0&&s.specular.setHex(t.specular),t.specularIntensity!==void 0&&(s.specularIntensity=t.specularIntensity),t.specularColor!==void 0&&s.specularColor!==void 0&&s.specularColor.setHex(t.specularColor),t.shininess!==void 0&&(s.shininess=t.shininess),t.clearcoat!==void 0&&(s.clearcoat=t.clearcoat),t.clearcoatRoughness!==void 0&&(s.clearcoatRoughness=t.clearcoatRoughness),t.dispersion!==void 0&&(s.dispersion=t.dispersion),t.iridescence!==void 0&&(s.iridescence=t.iridescence),t.iridescenceIOR!==void 0&&(s.iridescenceIOR=t.iridescenceIOR),t.iridescenceThicknessRange!==void 0&&(s.iridescenceThicknessRange=t.iridescenceThicknessRange),t.transmission!==void 0&&(s.transmission=t.transmission),t.thickness!==void 0&&(s.thickness=t.thickness),t.attenuationDistance!==void 0&&(s.attenuationDistance=t.attenuationDistance),t.attenuationColor!==void 0&&s.attenuationColor!==void 0&&s.attenuationColor.setHex(t.attenuationColor),t.anisotropy!==void 0&&(s.anisotropy=t.anisotropy),t.anisotropyRotation!==void 0&&(s.anisotropyRotation=t.anisotropyRotation),t.fog!==void 0&&(s.fog=t.fog),t.flatShading!==void 0&&(s.flatShading=t.flatShading),t.blending!==void 0&&(s.blending=t.blending),t.combine!==void 0&&(s.combine=t.combine),t.side!==void 0&&(s.side=t.side),t.shadowSide!==void 0&&(s.shadowSide=t.shadowSide),t.opacity!==void 0&&(s.opacity=t.opacity),t.transparent!==void 0&&(s.transparent=t.transparent),t.alphaTest!==void 0&&(s.alphaTest=t.alphaTest),t.alphaHash!==void 0&&(s.alphaHash=t.alphaHash),t.depthFunc!==void 0&&(s.depthFunc=t.depthFunc),t.depthTest!==void 0&&(s.depthTest=t.depthTest),t.depthWrite!==void 0&&(s.depthWrite=t.depthWrite),t.colorWrite!==void 0&&(s.colorWrite=t.colorWrite),t.blendSrc!==void 0&&(s.blendSrc=t.blendSrc),t.blendDst!==void 0&&(s.blendDst=t.blendDst),t.blendEquation!==void 0&&(s.blendEquation=t.blendEquation),t.blendSrcAlpha!==void 0&&(s.blendSrcAlpha=t.blendSrcAlpha),t.blendDstAlpha!==void 0&&(s.blendDstAlpha=t.blendDstAlpha),t.blendEquationAlpha!==void 0&&(s.blendEquationAlpha=t.blendEquationAlpha),t.blendColor!==void 0&&s.blendColor!==void 0&&s.blendColor.setHex(t.blendColor),t.blendAlpha!==void 0&&(s.blendAlpha=t.blendAlpha),t.stencilWriteMask!==void 0&&(s.stencilWriteMask=t.stencilWriteMask),t.stencilFunc!==void 0&&(s.stencilFunc=t.stencilFunc),t.stencilRef!==void 0&&(s.stencilRef=t.stencilRef),t.stencilFuncMask!==void 0&&(s.stencilFuncMask=t.stencilFuncMask),t.stencilFail!==void 0&&(s.stencilFail=t.stencilFail),t.stencilZFail!==void 0&&(s.stencilZFail=t.stencilZFail),t.stencilZPass!==void 0&&(s.stencilZPass=t.stencilZPass),t.stencilWrite!==void 0&&(s.stencilWrite=t.stencilWrite),t.wireframe!==void 0&&(s.wireframe=t.wireframe),t.wireframeLinewidth!==void 0&&(s.wireframeLinewidth=t.wireframeLinewidth),t.wireframeLinecap!==void 0&&(s.wireframeLinecap=t.wireframeLinecap),t.wireframeLinejoin!==void 0&&(s.wireframeLinejoin=t.wireframeLinejoin),t.rotation!==void 0&&(s.rotation=t.rotation),t.linewidth!==void 0&&(s.linewidth=t.linewidth),t.dashSize!==void 0&&(s.dashSize=t.dashSize),t.gapSize!==void 0&&(s.gapSize=t.gapSize),t.scale!==void 0&&(s.scale=t.scale),t.polygonOffset!==void 0&&(s.polygonOffset=t.polygonOffset),t.polygonOffsetFactor!==void 0&&(s.polygonOffsetFactor=t.polygonOffsetFactor),t.polygonOffsetUnits!==void 0&&(s.polygonOffsetUnits=t.polygonOffsetUnits),t.dithering!==void 0&&(s.dithering=t.dithering),t.alphaToCoverage!==void 0&&(s.alphaToCoverage=t.alphaToCoverage),t.premultipliedAlpha!==void 0&&(s.premultipliedAlpha=t.premultipliedAlpha),t.forceSinglePass!==void 0&&(s.forceSinglePass=t.forceSinglePass),t.allowOverride!==void 0&&(s.allowOverride=t.allowOverride),t.visible!==void 0&&(s.visible=t.visible),t.toneMapped!==void 0&&(s.toneMapped=t.toneMapped),t.userData!==void 0&&(s.userData=t.userData),t.vertexColors!==void 0&&(typeof t.vertexColors==\"number\"?s.vertexColors=t.vertexColors>0:s.vertexColors=t.vertexColors),t.uniforms!==void 0)for(let n in t.uniforms){let r=t.uniforms[n];switch(s.uniforms[n]={},r.type){case\"t\":s.uniforms[n].value=i(r.value);break;case\"c\":s.uniforms[n].value=new U().setHex(r.value);break;case\"v2\":s.uniforms[n].value=new C().fromArray(r.value);break;case\"v3\":s.uniforms[n].value=new M().fromArray(r.value);break;case\"v4\":s.uniforms[n].value=new Tt().fromArray(r.value);break;case\"m3\":s.uniforms[n].value=new ee().fromArray(r.value);break;case\"m4\":s.uniforms[n].value=new q().fromArray(r.value);break;default:s.uniforms[n].value=r.value}}if(t.defines!==void 0&&(s.defines=t.defines),t.vertexShader!==void 0&&(s.vertexShader=t.vertexShader),t.fragmentShader!==void 0&&(s.fragmentShader=t.fragmentShader),t.glslVersion!==void 0&&(s.glslVersion=t.glslVersion),t.extensions!==void 0)for(let n in t.extensions)s.extensions[n]=t.extensions[n];if(t.lights!==void 0&&(s.lights=t.lights),t.clipping!==void 0&&(s.clipping=t.clipping),t.size!==void 0&&(s.size=t.size),t.sizeAttenuation!==void 0&&(s.sizeAttenuation=t.sizeAttenuation),t.map!==void 0&&(s.map=i(t.map)),t.matcap!==void 0&&(s.matcap=i(t.matcap)),t.alphaMap!==void 0&&(s.alphaMap=i(t.alphaMap)),t.bumpMap!==void 0&&(s.bumpMap=i(t.bumpMap)),t.bumpScale!==void 0&&(s.bumpScale=t.bumpScale),t.normalMap!==void 0&&(s.normalMap=i(t.normalMap)),t.normalMapType!==void 0&&(s.normalMapType=t.normalMapType),t.normalScale!==void 0){let n=t.normalScale;Array.isArray(n)===!1&&(n=[n,n]),s.normalScale=new C().fromArray(n)}return t.displacementMap!==void 0&&(s.displacementMap=i(t.displacementMap)),t.displacementScale!==void 0&&(s.displacementScale=t.displacementScale),t.displacementBias!==void 0&&(s.displacementBias=t.displacementBias),t.roughnessMap!==void 0&&(s.roughnessMap=i(t.roughnessMap)),t.metalnessMap!==void 0&&(s.metalnessMap=i(t.metalnessMap)),t.emissiveMap!==void 0&&(s.emissiveMap=i(t.emissiveMap)),t.emissiveIntensity!==void 0&&(s.emissiveIntensity=t.emissiveIntensity),t.specularMap!==void 0&&(s.specularMap=i(t.specularMap)),t.specularIntensityMap!==void 0&&(s.specularIntensityMap=i(t.specularIntensityMap)),t.specularColorMap!==void 0&&(s.specularColorMap=i(t.specularColorMap)),t.envMap!==void 0&&(s.envMap=i(t.envMap)),t.envMapRotation!==void 0&&s.envMapRotation.fromArray(t.envMapRotation),t.envMapIntensity!==void 0&&(s.envMapIntensity=t.envMapIntensity),t.reflectivity!==void 0&&(s.reflectivity=t.reflectivity),t.refractionRatio!==void 0&&(s.refractionRatio=t.refractionRatio),t.lightMap!==void 0&&(s.lightMap=i(t.lightMap)),t.lightMapIntensity!==void 0&&(s.lightMapIntensity=t.lightMapIntensity),t.aoMap!==void 0&&(s.aoMap=i(t.aoMap)),t.aoMapIntensity!==void 0&&(s.aoMapIntensity=t.aoMapIntensity),t.gradientMap!==void 0&&(s.gradientMap=i(t.gradientMap)),t.clearcoatMap!==void 0&&(s.clearcoatMap=i(t.clearcoatMap)),t.clearcoatRoughnessMap!==void 0&&(s.clearcoatRoughnessMap=i(t.clearcoatRoughnessMap)),t.clearcoatNormalMap!==void 0&&(s.clearcoatNormalMap=i(t.clearcoatNormalMap)),t.clearcoatNormalScale!==void 0&&(s.clearcoatNormalScale=new C().fromArray(t.clearcoatNormalScale)),t.iridescenceMap!==void 0&&(s.iridescenceMap=i(t.iridescenceMap)),t.iridescenceThicknessMap!==void 0&&(s.iridescenceThicknessMap=i(t.iridescenceThicknessMap)),t.transmissionMap!==void 0&&(s.transmissionMap=i(t.transmissionMap)),t.thicknessMap!==void 0&&(s.thicknessMap=i(t.thicknessMap)),t.anisotropyMap!==void 0&&(s.anisotropyMap=i(t.anisotropyMap)),t.sheenColorMap!==void 0&&(s.sheenColorMap=i(t.sheenColorMap)),t.sheenRoughnessMap!==void 0&&(s.sheenRoughnessMap=i(t.sheenRoughnessMap)),s}setTextures(t){return this.textures=t,this}createMaterialFromType(t){return h.createMaterialFromType(t)}static createMaterialFromType(t){let e={ShadowMaterial:Mo,SpriteMaterial:dn,RawShaderMaterial:_o,ShaderMaterial:Cn,PointsMaterial:yn,MeshPhysicalMaterial:vo,MeshStandardMaterial:zn,MeshPhongMaterial:So,MeshToonMaterial:Ao,MeshNormalMaterial:To,MeshLambertMaterial:Io,MeshDepthMaterial:Co,MeshDistanceMaterial:zo,MeshBasicMaterial:Fe,MeshMatcapMaterial:Fo,LineDashedMaterial:Bo,LineBasicMaterial:bt,Material:ft};return new e[t]}},On=class{static extractUrlBase(t){let e=t.lastIndexOf(\"/\");return e===-1?\"./\":t.slice(0,e+1)}static resolveURL(t,e){return typeof t!=\"string\"||t===\"\"?\"\":(/^https?:\\/\\//i.test(e)&&/^\\//.test(t)&&(e=e.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\")),/^(https?:)?\\/\\//i.test(t)||/^data:.*,.*$/i.test(t)||/^blob:.*$/i.test(t)?t:e+t)}},Yo=class extends G{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type=\"InstancedBufferGeometry\",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}toJSON(){let t=super.toJSON();return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}},$o=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=this,r=new se(n.manager);r.setPath(n.path),r.setRequestHeader(n.requestHeader),r.setWithCredentials(n.withCredentials),r.load(t,function(o){try{e(n.parse(JSON.parse(o)))}catch(a){s?s(a):X(a),n.manager.itemError(t)}},i,s)}parse(t){let e={},i={};function s(p,f){if(e[f]!==void 0)return e[f];let g=p.interleavedBuffers[f],y=n(p,g.buffer),x=Si(g.type,y),b=new is(x,g.stride);return b.uuid=g.uuid,e[f]=b,b}function n(p,f){if(i[f]!==void 0)return i[f];let g=p.arrayBuffers[f],y=new Uint32Array(g).buffer;return i[f]=y,y}let r=t.isInstancedBufferGeometry?new Yo:new G,o=t.data.index;if(o!==void 0){let p=Si(o.type,o.array);r.setIndex(new j(p,1))}let a=t.data.attributes;for(let p in a){let f=a[p],m;if(f.isInterleavedBufferAttribute){let g=s(t.data,f.data);m=new Ci(g,f.itemSize,f.offset,f.normalized)}else{let g=Si(f.type,f.array),y=f.isInstancedBufferAttribute?$e:j;m=new y(g,f.itemSize,f.normalized)}f.name!==void 0&&(m.name=f.name),f.usage!==void 0&&m.setUsage(f.usage),r.setAttribute(p,m)}let l=t.data.morphAttributes;if(l)for(let p in l){let f=l[p],m=[];for(let g=0,y=f.length;g<y;g++){let x=f[g],b;if(x.isInterleavedBufferAttribute){let w=s(t.data,x.data);b=new Ci(w,x.itemSize,x.offset,x.normalized)}else{let w=Si(x.type,x.array);b=new j(w,x.itemSize,x.normalized)}x.name!==void 0&&(b.name=x.name),m.push(b)}r.morphAttributes[p]=m}t.data.morphTargetsRelative&&(r.morphTargetsRelative=!0);let u=t.data.groups||t.data.drawcalls||t.data.offsets;if(u!==void 0)for(let p=0,f=u.length;p!==f;++p){let m=u[p];r.addGroup(m.start,m.count,m.materialIndex)}let d=t.data.boundingSphere;return d!==void 0&&(r.boundingSphere=new dt().fromJSON(d)),t.name&&(r.name=t.name),t.userData&&(r.userData=t.userData),r}},br={},il=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=this,r=this.path===\"\"?On.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||r;let o=new se(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(t,function(a){let l=null;try{l=JSON.parse(a)}catch(u){s!==void 0&&s(u),X(\"ObjectLoader: Can't parse \"+t+\".\",u.message);return}let c=l.metadata;if(c===void 0||c.type===void 0||c.type.toLowerCase()===\"geometry\"){s!==void 0&&s(new Error(\"THREE.ObjectLoader: Can't load \"+t)),X(\"ObjectLoader: Can't load \"+t);return}n.parse(l,e)},i,s)}async loadAsync(t,e){let i=this,s=this.path===\"\"?On.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||s;let n=new se(this.manager);n.setPath(this.path),n.setRequestHeader(this.requestHeader),n.setWithCredentials(this.withCredentials);let r=await n.loadAsync(t,e),o;try{o=JSON.parse(r)}catch(l){throw new Error(\"ObjectLoader: Can't parse \"+t+\". \"+l.message)}let a=o.metadata;if(a===void 0||a.type===void 0||a.type.toLowerCase()===\"geometry\")throw new Error(\"THREE.ObjectLoader: Can't load \"+t);return await i.parseAsync(o)}parse(t,e){let i=this.parseAnimations(t.animations),s=this.parseShapes(t.shapes),n=this.parseGeometries(t.geometries,s),r=this.parseImages(t.images,function(){e!==void 0&&e(l)}),o=this.parseTextures(t.textures,r),a=this.parseMaterials(t.materials,o),l=this.parseObject(t.object,n,a,o,i),c=this.parseSkeletons(t.skeletons,l);if(this.bindSkeletons(l,c),this.bindLightTargets(l),e!==void 0){let u=!1;for(let d in r)if(r[d].data instanceof HTMLImageElement){u=!0;break}u===!1&&e(l)}return l}async parseAsync(t){let e=this.parseAnimations(t.animations),i=this.parseShapes(t.shapes),s=this.parseGeometries(t.geometries,i),n=await this.parseImagesAsync(t.images),r=this.parseTextures(t.textures,n),o=this.parseMaterials(t.materials,r),a=this.parseObject(t.object,s,o,r,e),l=this.parseSkeletons(t.skeletons,a);return this.bindSkeletons(a,l),this.bindLightTargets(a),a}static registerGeometry(t,e){br[t]=e}parseShapes(t){let e={};if(t!==void 0)for(let i=0,s=t.length;i<s;i++){let n=new Ce().fromJSON(t[i]);e[n.uuid]=n}return e}parseSkeletons(t,e){let i={},s={};if(e.traverse(function(n){n.isBone&&(s[n.uuid]=n)}),t!==void 0)for(let n=0,r=t.length;n<r;n++){let o=new Lr().fromJSON(t[n],s);i[o.uuid]=o}return i}parseGeometries(t,e){let i={};if(t!==void 0){let s=new $o;for(let n=0,r=t.length;n<r;n++){let o,a=t[n];switch(a.type){case\"BufferGeometry\":case\"InstancedBufferGeometry\":o=s.parse(a);break;default:a.type in qh?o=qh[a.type].fromJSON(a,e):a.type in br?o=br[a.type].fromJSON(a,e):N(`ObjectLoader: Unknown geometry type \"${a.type}\". Use .registerGeometry() before starting the deserialization process.`)}o.uuid=a.uuid,a.name!==void 0&&(o.name=a.name),a.userData!==void 0&&(o.userData=a.userData),i[a.uuid]=o}}return i}parseMaterials(t,e){let i={},s={};if(t!==void 0){let n=new Zo;n.setTextures(e);for(let r=0,o=t.length;r<o;r++){let a=t[r];i[a.uuid]===void 0&&(i[a.uuid]=n.parse(a)),s[a.uuid]=i[a.uuid]}}return s}parseAnimations(t){let e={};if(t!==void 0)for(let i=0;i<t.length;i++){let s=t[i],n=Pi.parse(s);e[n.uuid]=n}return e}parseImages(t,e){let i=this,s={},n;function r(a){return i.manager.itemStart(a),n.load(a,function(){i.manager.itemEnd(a)},void 0,function(){i.manager.itemError(a),i.manager.itemEnd(a)})}function o(a){if(typeof a==\"string\"){let l=a,c=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(l)?l:i.resourcePath+l;return r(c)}else return a.data?{data:Si(a.type,a.data),width:a.width,height:a.height}:null}if(t!==void 0&&t.length>0){let a=new kn(e);n=new Ri(a),n.setCrossOrigin(this.crossOrigin);for(let l=0,c=t.length;l<c;l++){let u=t[l],d=u.url;if(Array.isArray(d)){let p=[];for(let f=0,m=d.length;f<m;f++){let g=d[f],y=o(g);y!==null&&(y instanceof HTMLImageElement?p.push(y):p.push(new Xt(y.data,y.width,y.height)))}s[u.uuid]=new me(p)}else{let p=o(u.url);s[u.uuid]=new me(p)}}}return s}async parseImagesAsync(t){let e=this,i={},s;async function n(r){if(typeof r==\"string\"){let o=r,a=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(o)?o:e.resourcePath+o;return await s.loadAsync(a)}else return r.data?{data:Si(r.type,r.data),width:r.width,height:r.height}:null}if(t!==void 0&&t.length>0){s=new Ri(this.manager),s.setCrossOrigin(this.crossOrigin);for(let r=0,o=t.length;r<o;r++){let a=t[r],l=a.url;if(Array.isArray(l)){let c=[];for(let u=0,d=l.length;u<d;u++){let p=l[u],f=await n(p);f!==null&&(f instanceof HTMLImageElement?c.push(f):c.push(new Xt(f.data,f.width,f.height)))}i[a.uuid]=new me(c)}else{let c=await n(a.url);i[a.uuid]=new me(c)}}}return i}parseTextures(t,e){function i(n,r){return typeof n==\"number\"?n:(N(\"ObjectLoader.parseTexture: Constant should be in numeric form.\",n),r[n])}let s={};if(t!==void 0)for(let n=0,r=t.length;n<r;n++){let o=t[n];o.image===void 0&&N('ObjectLoader: No \"image\" specified for',o.uuid),e[o.image]===void 0&&N(\"ObjectLoader: Undefined image\",o.image);let a=e[o.image],l=a.data,c;Array.isArray(l)?(c=new gn,l.length===6&&(c.needsUpdate=!0)):(l&&l.data?c=new Xt:c=new ct,l&&(c.needsUpdate=!0)),c.source=a,c.uuid=o.uuid,o.name!==void 0&&(c.name=o.name),o.mapping!==void 0&&(c.mapping=i(o.mapping,rp)),o.channel!==void 0&&(c.channel=o.channel),o.offset!==void 0&&c.offset.fromArray(o.offset),o.repeat!==void 0&&c.repeat.fromArray(o.repeat),o.center!==void 0&&c.center.fromArray(o.center),o.rotation!==void 0&&(c.rotation=o.rotation),o.wrap!==void 0&&(c.wrapS=i(o.wrap[0],sl),c.wrapT=i(o.wrap[1],sl)),o.format!==void 0&&(c.format=o.format),o.internalFormat!==void 0&&(c.internalFormat=o.internalFormat),o.type!==void 0&&(c.type=o.type),o.colorSpace!==void 0&&(c.colorSpace=o.colorSpace),o.minFilter!==void 0&&(c.minFilter=i(o.minFilter,nl)),o.magFilter!==void 0&&(c.magFilter=i(o.magFilter,nl)),o.anisotropy!==void 0&&(c.anisotropy=o.anisotropy),o.flipY!==void 0&&(c.flipY=o.flipY),o.generateMipmaps!==void 0&&(c.generateMipmaps=o.generateMipmaps),o.premultiplyAlpha!==void 0&&(c.premultiplyAlpha=o.premultiplyAlpha),o.unpackAlignment!==void 0&&(c.unpackAlignment=o.unpackAlignment),o.compareFunction!==void 0&&(c.compareFunction=o.compareFunction),o.normalized!==void 0&&(c.normalized=o.normalized),o.userData!==void 0&&(c.userData=o.userData),s[o.uuid]=c}return s}parseObject(t,e,i,s,n){let r;function o(d){return e[d]===void 0&&N(\"ObjectLoader: Undefined geometry\",d),e[d]}function a(d){if(d!==void 0){if(Array.isArray(d)){let p=[];for(let f=0,m=d.length;f<m;f++){let g=d[f];i[g]===void 0&&N(\"ObjectLoader: Undefined material\",g),p.push(i[g])}return p}return i[d]===void 0&&N(\"ObjectLoader: Undefined material\",d),i[d]}}function l(d){return s[d]===void 0&&N(\"ObjectLoader: Undefined texture\",d),s[d]}let c,u;switch(t.type){case\"Scene\":r=new Rr,t.background!==void 0&&(Number.isInteger(t.background)?r.background=new U(t.background):r.background=l(t.background)),t.environment!==void 0&&(r.environment=l(t.environment)),t.fog!==void 0&&(t.fog.type===\"Fog\"?r.fog=new Pr(t.fog.color,t.fog.near,t.fog.far):t.fog.type===\"FogExp2\"&&(r.fog=new kr(t.fog.color,t.fog.density)),t.fog.name!==\"\"&&(r.fog.name=t.fog.name)),t.backgroundBlurriness!==void 0&&(r.backgroundBlurriness=t.backgroundBlurriness),t.backgroundIntensity!==void 0&&(r.backgroundIntensity=t.backgroundIntensity),t.backgroundRotation!==void 0&&r.backgroundRotation.fromArray(t.backgroundRotation),t.environmentIntensity!==void 0&&(r.environmentIntensity=t.environmentIntensity),t.environmentRotation!==void 0&&r.environmentRotation.fromArray(t.environmentRotation);break;case\"PerspectiveCamera\":r=new At(t.fov,t.aspect,t.near,t.far),t.focus!==void 0&&(r.focus=t.focus),t.zoom!==void 0&&(r.zoom=t.zoom),t.filmGauge!==void 0&&(r.filmGauge=t.filmGauge),t.filmOffset!==void 0&&(r.filmOffset=t.filmOffset),t.view!==void 0&&(r.view=Object.assign({},t.view));break;case\"OrthographicCamera\":r=new Pn(t.left,t.right,t.top,t.bottom,t.near,t.far),t.zoom!==void 0&&(r.zoom=t.zoom),t.view!==void 0&&(r.view=Object.assign({},t.view));break;case\"AmbientLight\":r=new Go(t.color,t.intensity);break;case\"DirectionalLight\":r=new Jo(t.color,t.intensity),r.target=t.target||\"\";break;case\"PointLight\":r=new Wo(t.color,t.intensity,t.distance,t.decay);break;case\"RectAreaLight\":r=new Xo(t.color,t.intensity,t.width,t.height);break;case\"SpotLight\":r=new Lo(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay),r.target=t.target||\"\";break;case\"HemisphereLight\":r=new Vo(t.color,t.groundColor,t.intensity);break;case\"LightProbe\":let d=new Rn().fromArray(t.sh);r=new Ho(d,t.intensity);break;case\"SkinnedMesh\":c=o(t.geometry),u=a(t.material),r=new Dr(c,u),t.bindMode!==void 0&&(r.bindMode=t.bindMode),t.bindMatrix!==void 0&&r.bindMatrix.fromArray(t.bindMatrix),t.skeleton!==void 0&&(r.skeleton=t.skeleton);break;case\"Mesh\":c=o(t.geometry),u=a(t.material),r=new Vt(c,u);break;case\"InstancedMesh\":c=o(t.geometry),u=a(t.material);let p=t.count,f=t.instanceMatrix,m=t.instanceColor;r=new Ur(c,u,p),r.instanceMatrix=new $e(new Float32Array(f.array),16),m!==void 0&&(r.instanceColor=new $e(new Float32Array(m.array),m.itemSize));break;case\"BatchedMesh\":c=o(t.geometry),u=a(t.material),r=new Jr(t.maxInstanceCount,t.maxVertexCount,t.maxIndexCount,u),r.geometry=c,r.perObjectFrustumCulled=t.perObjectFrustumCulled,r.sortObjects=t.sortObjects,r._drawRanges=t.drawRanges,r._reservedRanges=t.reservedRanges,r._geometryInfo=t.geometryInfo.map(g=>{let y=null,x=null;return g.boundingBox!==void 0&&(y=new pt().fromJSON(g.boundingBox)),g.boundingSphere!==void 0&&(x=new dt().fromJSON(g.boundingSphere)),{...g,boundingBox:y,boundingSphere:x}}),r._instanceInfo=t.instanceInfo,r._availableInstanceIds=t._availableInstanceIds,r._availableGeometryIds=t._availableGeometryIds,r._nextIndexStart=t.nextIndexStart,r._nextVertexStart=t.nextVertexStart,r._geometryCount=t.geometryCount,r._maxInstanceCount=t.maxInstanceCount,r._maxVertexCount=t.maxVertexCount,r._maxIndexCount=t.maxIndexCount,r._geometryInitialized=t.geometryInitialized,r._matricesTexture=l(t.matricesTexture.uuid),r._indirectTexture=l(t.indirectTexture.uuid),t.colorsTexture!==void 0&&(r._colorsTexture=l(t.colorsTexture.uuid)),t.boundingSphere!==void 0&&(r.boundingSphere=new dt().fromJSON(t.boundingSphere)),t.boundingBox!==void 0&&(r.boundingBox=new pt().fromJSON(t.boundingBox));break;case\"LOD\":r=new Vr;break;case\"Line\":r=new xe(o(t.geometry),a(t.material));break;case\"LineLoop\":r=new Gr(o(t.geometry),a(t.material));break;case\"LineSegments\":r=new Zt(o(t.geometry),a(t.material));break;case\"PointCloud\":case\"Points\":r=new Hr(o(t.geometry),a(t.material));break;case\"Sprite\":r=new Nr(a(t.material));break;case\"Group\":r=new Xe;break;case\"Bone\":r=new pn;break;default:r=new Y}if(r.uuid=t.uuid,t.name!==void 0&&(r.name=t.name),t.matrix!==void 0?(r.matrix.fromArray(t.matrix),t.matrixAutoUpdate!==void 0&&(r.matrixAutoUpdate=t.matrixAutoUpdate),r.matrixAutoUpdate&&r.matrix.decompose(r.position,r.quaternion,r.scale)):(t.position!==void 0&&r.position.fromArray(t.position),t.rotation!==void 0&&r.rotation.fromArray(t.rotation),t.quaternion!==void 0&&r.quaternion.fromArray(t.quaternion),t.scale!==void 0&&r.scale.fromArray(t.scale)),t.up!==void 0&&r.up.fromArray(t.up),t.pivot!==void 0&&(r.pivot=new M().fromArray(t.pivot)),t.morphTargetDictionary!==void 0&&(r.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),t.morphTargetInfluences!==void 0&&(r.morphTargetInfluences=t.morphTargetInfluences.slice()),t.castShadow!==void 0&&(r.castShadow=t.castShadow),t.receiveShadow!==void 0&&(r.receiveShadow=t.receiveShadow),t.shadow&&(t.shadow.intensity!==void 0&&(r.shadow.intensity=t.shadow.intensity),t.shadow.bias!==void 0&&(r.shadow.bias=t.shadow.bias),t.shadow.normalBias!==void 0&&(r.shadow.normalBias=t.shadow.normalBias),t.shadow.radius!==void 0&&(r.shadow.radius=t.shadow.radius),t.shadow.mapSize!==void 0&&r.shadow.mapSize.fromArray(t.shadow.mapSize),t.shadow.camera!==void 0&&(r.shadow.camera=this.parseObject(t.shadow.camera))),t.visible!==void 0&&(r.visible=t.visible),t.frustumCulled!==void 0&&(r.frustumCulled=t.frustumCulled),t.renderOrder!==void 0&&(r.renderOrder=t.renderOrder),t.static!==void 0&&(r.static=t.static),t.userData!==void 0&&(r.userData=t.userData),t.layers!==void 0&&(r.layers.mask=t.layers),t.children!==void 0){let d=t.children;for(let p=0;p<d.length;p++)r.add(this.parseObject(d[p],e,i,s,n))}if(t.animations!==void 0){let d=t.animations;for(let p=0;p<d.length;p++){let f=d[p];r.animations.push(n[f])}}if(t.type===\"LOD\"){t.autoUpdate!==void 0&&(r.autoUpdate=t.autoUpdate);let d=t.levels;for(let p=0;p<d.length;p++){let f=d[p],m=r.getObjectByProperty(\"uuid\",f.object);m!==void 0&&r.addLevel(m,f.distance,f.hysteresis)}}return r}bindSkeletons(t,e){Object.keys(e).length!==0&&t.traverse(function(i){if(i.isSkinnedMesh===!0&&i.skeleton!==void 0){let s=e[i.skeleton];s===void 0?N(\"ObjectLoader: No skeleton found with UUID:\",i.skeleton):i.bind(s,i.bindMatrix)}})}bindLightTargets(t){t.traverse(function(e){if(e.isDirectionalLight||e.isSpotLight){let i=e.target,s=t.getObjectByProperty(\"uuid\",i);s!==void 0?e.target=s:e.target=new Y}})}},rp={UVMapping:na,CubeReflectionMapping:Nn,CubeRefractionMapping:vc,EquirectangularReflectionMapping:Sc,EquirectangularRefractionMapping:Ac,CubeUVReflectionMapping:Tc},sl={RepeatWrapping:Tr,ClampToEdgeWrapping:Qt,MirroredRepeatWrapping:Ir},nl={NearestFilter:Pt,NearestMipmapNearestFilter:Ic,NearestMipmapLinearFilter:Cc,LinearFilter:Gt,LinearMipmapNearestFilter:zc,LinearMipmapLinearFilter:ra},wr=new WeakMap,rl=class extends _t{constructor(t){super(t),this.isImageBitmapLoader=!0,typeof createImageBitmap>\"u\"&&N(\"ImageBitmapLoader: createImageBitmap() not supported.\"),typeof fetch>\"u\"&&N(\"ImageBitmapLoader: fetch() not supported.\"),this.options={premultiplyAlpha:\"none\"},this._abortController=new AbortController}setOptions(t){return this.options=t,this}load(t,e,i,s){t===void 0&&(t=\"\"),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);let n=this,r=ye.get(`image-bitmap:${t}`);if(r!==void 0){if(n.manager.itemStart(t),r.then){r.then(l=>{wr.has(r)===!0?(s&&s(wr.get(r)),n.manager.itemError(t),n.manager.itemEnd(t)):(e&&e(l),n.manager.itemEnd(t))});return}setTimeout(function(){e&&e(r),n.manager.itemEnd(t)},0);return}let o={};o.credentials=this.crossOrigin===\"anonymous\"?\"same-origin\":\"include\",o.headers=this.requestHeader,o.signal=typeof AbortSignal.any==\"function\"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;let a=fetch(t,o).then(function(l){return l.blob()}).then(function(l){return createImageBitmap(l,Object.assign(n.options,{colorSpaceConversion:\"none\"}))}).then(function(l){ye.add(`image-bitmap:${t}`,l),e&&e(l),n.manager.itemEnd(t)}).catch(function(l){s&&s(l),wr.set(a,l),ye.remove(`image-bitmap:${t}`),n.manager.itemError(t),n.manager.itemEnd(t)});ye.add(`image-bitmap:${t}`,a),n.manager.itemStart(t)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}},Ys,En=class{static getContext(){return Ys===void 0&&(Ys=new(window.AudioContext||window.webkitAudioContext)),Ys}static setContext(t){Ys=t}},ol=class extends _t{constructor(t){super(t)}load(t,e,i,s){let n=this,r=new se(this.manager);r.setResponseType(\"arraybuffer\"),r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(t,function(a){try{let l=a.slice(0),c=En.getContext(),u=t+\"#decode\";n.manager.itemStart(u),c.decodeAudioData(l,function(d){e(d),n.manager.itemEnd(u)}).catch(function(d){o(d),n.manager.itemEnd(u)})}catch(l){o(l)}},i,s);function o(a){s?s(a):X(a),n.manager.itemError(t)}}},al=new q,hl=new q,Le=new q,ll=class{constructor(){this.type=\"StereoCamera\",this.aspect=1,this.eyeSep=.064,this.cameraL=new At,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new At,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){let e=this._cache;if(e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep){e.focus=t.focus,e.fov=t.fov,e.aspect=t.aspect*this.aspect,e.near=t.near,e.far=t.far,e.zoom=t.zoom,e.eyeSep=this.eyeSep,Le.copy(t.projectionMatrix);let s=e.eyeSep/2,n=s*e.near/e.focus,r=e.near*Math.tan(Ze*e.fov*.5)/e.zoom,o,a;hl.elements[12]=-s,al.elements[12]=s,o=-r*e.aspect+n,a=r*e.aspect+n,Le.elements[0]=2*e.near/(a-o),Le.elements[8]=(a+o)/(a-o),this.cameraL.projectionMatrix.copy(Le),o=-r*e.aspect-n,a=r*e.aspect-n,Le.elements[0]=2*e.near/(a-o),Le.elements[8]=(a+o)/(a-o),this.cameraR.projectionMatrix.copy(Le)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(hl),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(al)}},xi=-90,bi=1,cl=class extends Y{constructor(t,e,i){super(),this.type=\"CubeCamera\",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;let s=new At(xi,bi,t,e);s.layers=this.layers,this.add(s);let n=new At(xi,bi,t,e);n.layers=this.layers,this.add(n);let r=new At(xi,bi,t,e);r.layers=this.layers,this.add(r);let o=new At(xi,bi,t,e);o.layers=this.layers,this.add(o);let a=new At(xi,bi,t,e);a.layers=this.layers,this.add(a);let l=new At(xi,bi,t,e);l.layers=this.layers,this.add(l)}updateCoordinateSystem(){let t=this.coordinateSystem,e=this.children.concat(),[i,s,n,r,o,a]=e;for(let l of e)this.remove(l);if(t===Kt)i.up.set(0,1,0),i.lookAt(1,0,0),s.up.set(0,1,0),s.lookAt(-1,0,0),n.up.set(0,0,-1),n.lookAt(0,1,0),r.up.set(0,0,1),r.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),a.up.set(0,1,0),a.lookAt(0,0,-1);else if(t===Ii)i.up.set(0,-1,0),i.lookAt(-1,0,0),s.up.set(0,-1,0),s.lookAt(1,0,0),n.up.set(0,0,1),n.lookAt(0,1,0),r.up.set(0,0,-1),r.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),a.up.set(0,-1,0),a.lookAt(0,0,-1);else throw new Error(\"THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: \"+t);for(let l of e)this.add(l),l.updateMatrixWorld()}update(t,e){this.parent===null&&this.updateMatrixWorld();let{renderTarget:i,activeMipmapLevel:s}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());let[n,r,o,a,l,c]=this.children,u=t.getRenderTarget(),d=t.getActiveCubeFace(),p=t.getActiveMipmapLevel(),f=t.xr.enabled;t.xr.enabled=!1;let m=i.texture.generateMipmaps;i.texture.generateMipmaps=!1;let g=!1;t.isWebGLRenderer===!0?g=t.state.buffers.depth.getReversed():g=t.reversedDepthBuffer,t.setRenderTarget(i,0,s),g&&t.autoClear===!1&&t.clearDepth(),t.render(e,n),t.setRenderTarget(i,1,s),g&&t.autoClear===!1&&t.clearDepth(),t.render(e,r),t.setRenderTarget(i,2,s),g&&t.autoClear===!1&&t.clearDepth(),t.render(e,o),t.setRenderTarget(i,3,s),g&&t.autoClear===!1&&t.clearDepth(),t.render(e,a),t.setRenderTarget(i,4,s),g&&t.autoClear===!1&&t.clearDepth(),t.render(e,l),i.texture.generateMipmaps=m,t.setRenderTarget(i,5,s),g&&t.autoClear===!1&&t.clearDepth(),t.render(e,c),t.setRenderTarget(u,d,p),t.xr.enabled=f,i.texture.needsPMREMUpdate=!0}},ul=class extends At{constructor(t=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=t}},jo=class{constructor(){this._previousTime=0,this._currentTime=0,this._startTime=performance.now(),this._delta=0,this._elapsed=0,this._timescale=1,this._document=null,this._pageVisibilityHandler=null}connect(t){this._document=t,t.hidden!==void 0&&(this._pageVisibilityHandler=op.bind(this),t.addEventListener(\"visibilitychange\",this._pageVisibilityHandler,!1))}disconnect(){this._pageVisibilityHandler!==null&&(this._document.removeEventListener(\"visibilitychange\",this._pageVisibilityHandler),this._pageVisibilityHandler=null),this._document=null}getDelta(){return this._delta/1e3}getElapsed(){return this._elapsed/1e3}getTimescale(){return this._timescale}setTimescale(t){return this._timescale=t,this}reset(){return this._currentTime=performance.now()-this._startTime,this}dispose(){this.disconnect()}update(t){return this._pageVisibilityHandler!==null&&this._document.hidden===!0?this._delta=0:(this._previousTime=this._currentTime,this._currentTime=(t!==void 0?t:performance.now())-this._startTime,this._delta=(this._currentTime-this._previousTime)*this._timescale,this._elapsed+=this._delta),this}};function op(){this._document.hidden===!1&&this.reset()}var Ue=new M,Mr=new xt,ap=new M,We=new M,qe=new M,dl=class extends Y{constructor(){super(),this.type=\"AudioListener\",this.context=En.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._timer=new jo}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t),this._timer.update();let e=this.context.listener;if(this.timeDelta=this._timer.getDelta(),this.matrixWorld.decompose(Ue,Mr,ap),We.set(0,0,-1).applyQuaternion(Mr),qe.set(0,1,0).applyQuaternion(Mr),e.positionX){let i=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Ue.x,i),e.positionY.linearRampToValueAtTime(Ue.y,i),e.positionZ.linearRampToValueAtTime(Ue.z,i),e.forwardX.linearRampToValueAtTime(We.x,i),e.forwardY.linearRampToValueAtTime(We.y,i),e.forwardZ.linearRampToValueAtTime(We.z,i),e.upX.linearRampToValueAtTime(qe.x,i),e.upY.linearRampToValueAtTime(qe.y,i),e.upZ.linearRampToValueAtTime(qe.z,i)}else e.setPosition(Ue.x,Ue.y,Ue.z),e.setOrientation(We.x,We.y,We.z,qe.x,qe.y,qe.z)}},Qo=class extends Y{constructor(t){super(),this.type=\"Audio\",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType=\"empty\",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType=\"audioNode\",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType=\"mediaNode\",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType=\"mediaStreamNode\",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType=\"buffer\",this.autoplay&&this.play(),this}play(t=0){if(this.isPlaying===!0){N(\"Audio: Audio is already playing.\");return}if(this.hasPlaybackControl===!1){N(\"Audio: this Audio has no playback control.\");return}this._startedAt=this.context.currentTime+t;let e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){N(\"Audio: this Audio has no playback control.\");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(t=0){if(this.hasPlaybackControl===!1){N(\"Audio: this Audio has no playback control.\");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+t),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this._connected!==!1){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}}getFilters(){return this.filters}setFilters(t){return t||(t=[]),this._connected===!0?(this.disconnect(),this.filters=t.slice(),this.connect()):this.filters=t.slice(),this}setDetune(t){return this.detune=t,this.isPlaying===!0&&this.source.detune!==void 0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(t){return this.setFilters(t?[t]:[])}setPlaybackRate(t){if(this.hasPlaybackControl===!1){N(\"Audio: this Audio has no playback control.\");return}return this.playbackRate=t,this.isPlaying===!0&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1,this._progress=0}getLoop(){return this.hasPlaybackControl===!1?(N(\"Audio: this Audio has no playback control.\"),!1):this.loop}setLoop(t){if(this.hasPlaybackControl===!1){N(\"Audio: this Audio has no playback control.\");return}return this.loop=t,this.isPlaying===!0&&(this.source.loop=this.loop),this}setLoopStart(t){return this.loopStart=t,this}setLoopEnd(t){return this.loopEnd=t,this}getVolume(){return this.gain.gain.value}setVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}copy(t,e){return super.copy(t,e),t.sourceType!==\"buffer\"?(N(\"Audio: Audio source type cannot be copied.\"),this):(this.autoplay=t.autoplay,this.buffer=t.buffer,this.detune=t.detune,this.loop=t.loop,this.loopStart=t.loopStart,this.loopEnd=t.loopEnd,this.offset=t.offset,this.duration=t.duration,this.playbackRate=t.playbackRate,this.hasPlaybackControl=t.hasPlaybackControl,this.sourceType=t.sourceType,this.filters=t.filters.slice(),this)}clone(t){return new this.constructor(this.listener).copy(this,t)}},Je=new M,pl=new xt,hp=new M,Ge=new M,fl=class extends Qo{constructor(t){super(t),this.panner=this.context.createPanner(),this.panner.panningModel=\"HRTF\",this.panner.connect(this.gain)}connect(){return super.connect(),this.panner.connect(this.gain),this}disconnect(){return super.disconnect(),this.panner.disconnect(this.gain),this}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(t){return this.panner.refDistance=t,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(t){return this.panner.rolloffFactor=t,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(t){return this.panner.distanceModel=t,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(t){return this.panner.maxDistance=t,this}setDirectionalCone(t,e,i){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=i,this}updateMatrixWorld(t){if(super.updateMatrixWorld(t),this.hasPlaybackControl===!0&&this.isPlaying===!1)return;this.matrixWorld.decompose(Je,pl,hp),Ge.set(0,0,1).applyQuaternion(pl);let e=this.panner;if(e.positionX){let i=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(Je.x,i),e.positionY.linearRampToValueAtTime(Je.y,i),e.positionZ.linearRampToValueAtTime(Je.z,i),e.orientationX.linearRampToValueAtTime(Ge.x,i),e.orientationY.linearRampToValueAtTime(Ge.y,i),e.orientationZ.linearRampToValueAtTime(Ge.z,i)}else e.setPosition(Je.x,Je.y,Je.z),e.setOrientation(Ge.x,Ge.y,Ge.z)}},ml=class{constructor(t,e=2048){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let t=0,e=this.getFrequencyData();for(let i=0;i<e.length;i++)t+=e[i];return t/e.length}},Ko=class{constructor(t,e,i){this.binding=t,this.valueSize=i;let s,n,r;switch(e){case\"quaternion\":s=this._slerp,n=this._slerpAdditive,r=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(i*6),this._workIndex=5;break;case\"string\":case\"bool\":s=this._select,n=this._select,r=this._setAdditiveIdentityOther,this.buffer=new Array(i*5);break;default:s=this._lerp,n=this._lerpAdditive,r=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(i*5)}this._mixBufferRegion=s,this._mixBufferRegionAdditive=n,this._setIdentity=r,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(t,e){let i=this.buffer,s=this.valueSize,n=t*s+s,r=this.cumulativeWeight;if(r===0){for(let o=0;o!==s;++o)i[n+o]=i[o];r=e}else{r+=e;let o=e/r;this._mixBufferRegion(i,n,0,o,s)}this.cumulativeWeight=r}accumulateAdditive(t){let e=this.buffer,i=this.valueSize,s=i*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(e,s,0,t,i),this.cumulativeWeightAdditive+=t}apply(t){let e=this.valueSize,i=this.buffer,s=t*e+e,n=this.cumulativeWeight,r=this.cumulativeWeightAdditive,o=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,n<1){let a=e*this._origIndex;this._mixBufferRegion(i,s,a,1-n,e)}r>0&&this._mixBufferRegionAdditive(i,s,this._addIndex*e,1,e);for(let a=e,l=e+e;a!==l;++a)if(i[a]!==i[a+e]){o.setValue(i,s);break}}saveOriginalState(){let t=this.binding,e=this.buffer,i=this.valueSize,s=i*this._origIndex;t.getValue(e,s);for(let n=i,r=s;n!==r;++n)e[n]=e[s+n%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let t=this.valueSize*3;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){let t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let i=t;i<e;i++)this.buffer[i]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){let t=this._origIndex*this.valueSize,e=this._addIndex*this.valueSize;for(let i=0;i<this.valueSize;i++)this.buffer[e+i]=this.buffer[t+i]}_select(t,e,i,s,n){if(s>=.5)for(let r=0;r!==n;++r)t[e+r]=t[i+r]}_slerp(t,e,i,s){xt.slerpFlat(t,e,t,e,t,i,s)}_slerpAdditive(t,e,i,s,n){let r=this._workIndex*n;xt.multiplyQuaternionsFlat(t,r,t,e,t,i),xt.slerpFlat(t,e,t,e,t,r,s)}_lerp(t,e,i,s,n){let r=1-s;for(let o=0;o!==n;++o){let a=e+o;t[a]=t[a]*r+t[i+o]*s}}_lerpAdditive(t,e,i,s,n){for(let r=0;r!==n;++r){let o=e+r;t[o]=t[o]+t[i+r]*s}}},da=\"\\\\[\\\\]\\\\.:\\\\/\",lp=new RegExp(\"[\"+da+\"]\",\"g\"),pa=\"[^\"+da+\"]\",cp=\"[^\"+da.replace(\"\\\\.\",\"\")+\"]\",up=/((?:WC+[\\/:])*)/.source.replace(\"WC\",pa),dp=/(WCOD+)?/.source.replace(\"WCOD\",cp),pp=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",pa),fp=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",pa),mp=new RegExp(\"^\"+up+dp+pp+fp+\"$\"),yp=[\"material\",\"materials\",\"bones\",\"map\"],ta=class{constructor(t,e,i){let s=i||$.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,s)}getValue(t,e){this.bind();let i=this._targetGroup.nCachedObjects_,s=this._bindings[i];s!==void 0&&s.getValue(t,e)}setValue(t,e){let i=this._bindings;for(let s=this._targetGroup.nCachedObjects_,n=i.length;s!==n;++s)i[s].setValue(t,e)}bind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()}unbind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}},$=class h{constructor(t,e,i){this.path=e,this.parsedPath=i||h.parseTrackName(e),this.node=h.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,i){return t&&t.isAnimationObjectGroup?new h.Composite(t,e,i):new h(t,e,i)}static sanitizeNodeName(t){return t.replace(/\\s/g,\"_\").replace(lp,\"\")}static parseTrackName(t){let e=mp.exec(t);if(e===null)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+t);let i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},s=i.nodeName&&i.nodeName.lastIndexOf(\".\");if(s!==void 0&&s!==-1){let n=i.nodeName.substring(s+1);yp.indexOf(n)!==-1&&(i.nodeName=i.nodeName.substring(0,s),i.objectName=n)}if(i.propertyName===null||i.propertyName.length===0)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+t);return i}static findNode(t,e){if(e===void 0||e===\"\"||e===\".\"||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){let i=t.skeleton.getBoneByName(e);if(i!==void 0)return i}if(t.children){let i=function(n){for(let r=0;r<n.length;r++){let o=n[r];if(o.name===e||o.uuid===e)return o;let a=i(o.children);if(a)return a}return null},s=i(t.children);if(s)return s}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){let i=this.resolvedProperty;for(let s=0,n=i.length;s!==n;++s)t[e++]=i[s]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){let i=this.resolvedProperty;for(let s=0,n=i.length;s!==n;++s)i[s]=t[e++]}_setValue_array_setNeedsUpdate(t,e){let i=this.resolvedProperty;for(let s=0,n=i.length;s!==n;++s)i[s]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){let i=this.resolvedProperty;for(let s=0,n=i.length;s!==n;++s)i[s]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node,e=this.parsedPath,i=e.objectName,s=e.propertyName,n=e.propertyIndex;if(t||(t=h.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){N(\"PropertyBinding: No target node found for track: \"+this.path+\".\");return}if(i){let l=e.objectIndex;switch(i){case\"materials\":if(!t.material){X(\"PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!t.material.materials){X(\"PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\",this);return}t=t.material.materials;break;case\"bones\":if(!t.skeleton){X(\"PropertyBinding: Can not bind to bones as node does not have a skeleton.\",this);return}t=t.skeleton.bones;for(let c=0;c<t.length;c++)if(t[c].name===l){l=c;break}break;case\"map\":if(\"map\"in t){t=t.map;break}if(!t.material){X(\"PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!t.material.map){X(\"PropertyBinding: Can not bind to material.map as node.material does not have a map.\",this);return}t=t.material.map;break;default:if(t[i]===void 0){X(\"PropertyBinding: Can not bind to objectName of node undefined.\",this);return}t=t[i]}if(l!==void 0){if(t[l]===void 0){X(\"PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\",this,t);return}t=t[l]}}let r=t[s];if(r===void 0){let l=e.nodeName;X(\"PropertyBinding: Trying to update property for track: \"+l+\".\"+s+\" but it wasn't found.\",t);return}let o=this.Versioning.None;this.targetObject=t,t.isMaterial===!0?o=this.Versioning.NeedsUpdate:t.isObject3D===!0&&(o=this.Versioning.MatrixWorldNeedsUpdate);let a=this.BindingType.Direct;if(n!==void 0){if(s===\"morphTargetInfluences\"){if(!t.geometry){X(\"PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\",this);return}if(!t.geometry.morphAttributes){X(\"PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\",this);return}t.morphTargetDictionary[n]!==void 0&&(n=t.morphTargetDictionary[n])}a=this.BindingType.ArrayElement,this.resolvedProperty=r,this.propertyIndex=n}else r.fromArray!==void 0&&r.toArray!==void 0?(a=this.BindingType.HasFromToArray,this.resolvedProperty=r):Array.isArray(r)?(a=this.BindingType.EntireArray,this.resolvedProperty=r):this.propertyName=s;this.getValue=this.GetterByBindingType[a],this.setValue=this.SetterByBindingTypeAndVersioning[a][o]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};$.Composite=ta;$.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};$.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};$.prototype.GetterByBindingType=[$.prototype._getValue_direct,$.prototype._getValue_array,$.prototype._getValue_arrayElement,$.prototype._getValue_toArray];$.prototype.SetterByBindingTypeAndVersioning=[[$.prototype._setValue_direct,$.prototype._setValue_direct_setNeedsUpdate,$.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[$.prototype._setValue_array,$.prototype._setValue_array_setNeedsUpdate,$.prototype._setValue_array_setMatrixWorldNeedsUpdate],[$.prototype._setValue_arrayElement,$.prototype._setValue_arrayElement_setNeedsUpdate,$.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[$.prototype._setValue_fromArray,$.prototype._setValue_fromArray_setNeedsUpdate,$.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var yl=class{constructor(){this.isAnimationObjectGroup=!0,this.uuid=kt(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;let t={};this._indicesByUUID=t;for(let i=0,s=arguments.length;i!==s;++i)t[arguments[i].uuid]=i;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};let e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){let t=this._objects,e=this._indicesByUUID,i=this._paths,s=this._parsedPaths,n=this._bindings,r=n.length,o,a=t.length,l=this.nCachedObjects_;for(let c=0,u=arguments.length;c!==u;++c){let d=arguments[c],p=d.uuid,f=e[p];if(f===void 0){f=a++,e[p]=f,t.push(d);for(let m=0,g=r;m!==g;++m)n[m].push(new $(d,i[m],s[m]))}else if(f<l){o=t[f];let m=--l,g=t[m];e[g.uuid]=f,t[f]=g,e[p]=m,t[m]=d;for(let y=0,x=r;y!==x;++y){let b=n[y],w=b[m],_=b[f];b[f]=w,_===void 0&&(_=new $(d,i[y],s[y])),b[m]=_}}else t[f]!==o&&X(\"AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.\")}this.nCachedObjects_=l}remove(){let t=this._objects,e=this._indicesByUUID,i=this._bindings,s=i.length,n=this.nCachedObjects_;for(let r=0,o=arguments.length;r!==o;++r){let a=arguments[r],l=a.uuid,c=e[l];if(c!==void 0&&c>=n){let u=n++,d=t[u];e[d.uuid]=c,t[c]=d,e[l]=u,t[u]=a;for(let p=0,f=s;p!==f;++p){let m=i[p],g=m[u],y=m[c];m[c]=g,m[u]=y}}}this.nCachedObjects_=n}uncache(){let t=this._objects,e=this._indicesByUUID,i=this._bindings,s=i.length,n=this.nCachedObjects_,r=t.length;for(let o=0,a=arguments.length;o!==a;++o){let l=arguments[o],c=l.uuid,u=e[c];if(u!==void 0)if(delete e[c],u<n){let d=--n,p=t[d],f=--r,m=t[f];e[p.uuid]=u,t[u]=p,e[m.uuid]=d,t[d]=m,t.pop();for(let g=0,y=s;g!==y;++g){let x=i[g],b=x[d],w=x[f];x[u]=b,x[d]=w,x.pop()}}else{let d=--r,p=t[d];d>0&&(e[p.uuid]=u),t[u]=p,t.pop();for(let f=0,m=s;f!==m;++f){let g=i[f];g[u]=g[d],g.pop()}}}this.nCachedObjects_=n}subscribe_(t,e){let i=this._bindingsIndicesByPath,s=i[t],n=this._bindings;if(s!==void 0)return n[s];let r=this._paths,o=this._parsedPaths,a=this._objects,l=a.length,c=this.nCachedObjects_,u=new Array(l);s=n.length,i[t]=s,r.push(t),o.push(e),n.push(u);for(let d=c,p=a.length;d!==p;++d){let f=a[d];u[d]=new $(f,t,e)}return u}unsubscribe_(t){let e=this._bindingsIndicesByPath,i=e[t];if(i!==void 0){let s=this._paths,n=this._parsedPaths,r=this._bindings,o=r.length-1,a=r[o],l=t[o];e[l]=i,r[i]=a,r.pop(),n[i]=n[o],n.pop(),s[i]=s[o],s.pop()}}},ea=class{constructor(t,e,i=null,s=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=i,this.blendMode=s;let n=e.tracks,r=n.length,o=new Array(r),a={endingStart:_i,endingEnd:_i};for(let l=0;l!==r;++l){let c=n[l].createInterpolant(null);o[l]=c,c.settings&&Object.assign(a,c.settings),c.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Cu,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,i=!1){if(t.fadeOut(e),this.fadeIn(e),i===!0){let s=this._clip.duration,n=t._clip.duration,r=n/s,o=s/n;t.warp(1,r,e),this.warp(o,1,e)}return this}crossFadeTo(t,e,i=!1){return t.crossFadeFrom(this,e,i)}stopFading(){let t=this._weightInterpolant;return t!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,i){let s=this._mixer,n=s.time,r=this.timeScale,o=this._timeScaleInterpolant;o===null&&(o=s._lendControlInterpolant(),this._timeScaleInterpolant=o);let a=o.parameterPositions,l=o.sampleValues;return a[0]=n,a[1]=n+i,l[0]=t/r,l[1]=e/r,this}stopWarping(){let t=this._timeScaleInterpolant;return t!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,i,s){if(!this.enabled){this._updateWeight(t);return}let n=this._startTime;if(n!==null){let a=(t-n)*i;a<0||i===0?e=0:(this._startTime=null,e=i*a)}e*=this._updateTimeScale(t);let r=this._updateTime(e),o=this._updateWeight(t);if(o>0){let a=this._interpolants,l=this._propertyBindings;switch(this.blendMode){case nc:for(let c=0,u=a.length;c!==u;++c)a[c].evaluate(r),l[c].accumulateAdditive(o);break;case aa:default:for(let c=0,u=a.length;c!==u;++c)a[c].evaluate(r),l[c].accumulate(s,o)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;let i=this._weightInterpolant;if(i!==null){let s=i.evaluate(t)[0];e*=s,t>i.parameterPositions[1]&&(this.stopFading(),s===0&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;let i=this._timeScaleInterpolant;if(i!==null){let s=i.evaluate(t)[0];e*=s,t>i.parameterPositions[1]&&(this.stopWarping(),e===0?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){let e=this._clip.duration,i=this.loop,s=this.time+t,n=this._loopCount,r=i===zu;if(t===0)return n===-1?s:r&&(n&1)===1?e-s:s;if(i===Iu){n===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(s>=e)s=e;else if(s<0)s=0;else{this.time=s;break t}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=s,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t<0?-1:1})}}else{if(n===-1&&(t>=0?(n=0,this._setEndings(!0,this.repetitions===0,r)):this._setEndings(this.repetitions===0,!0,r)),s>=e||s<0){let o=Math.floor(s/e);s-=e*o,n+=Math.abs(o);let a=this.repetitions-n;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,s=t>0?e:0,this.time=s,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t>0?1:-1});else{if(a===1){let l=t<0;this._setEndings(l,!l,r)}else this._setEndings(!1,!1,r);this._loopCount=n,this.time=s,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:o})}}else this._loopCount=n,this.time=s;if(r&&(n&1)===1)return e-s}return s}_setEndings(t,e,i){let s=this._interpolantSettings;i?(s.endingStart=vi,s.endingEnd=vi):(t?s.endingStart=this.zeroSlopeAtStart?vi:_i:s.endingStart=rn,e?s.endingEnd=this.zeroSlopeAtEnd?vi:_i:s.endingEnd=rn)}_scheduleFading(t,e,i){let s=this._mixer,n=s.time,r=this._weightInterpolant;r===null&&(r=s._lendControlInterpolant(),this._weightInterpolant=r);let o=r.parameterPositions,a=r.sampleValues;return o[0]=n,a[0]=e,o[1]=n+t,a[1]=i,this}},gp=new Float32Array(1),gl=class extends Ht{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1,typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}_bindAction(t,e){let i=t._localRoot||this._root,s=t._clip.tracks,n=s.length,r=t._propertyBindings,o=t._interpolants,a=i.uuid,l=this._bindingsByRootAndName,c=l[a];c===void 0&&(c={},l[a]=c);for(let u=0;u!==n;++u){let d=s[u],p=d.name,f=c[p];if(f!==void 0)++f.referenceCount,r[u]=f;else{if(f=r[u],f!==void 0){f._cacheIndex===null&&(++f.referenceCount,this._addInactiveBinding(f,a,p));continue}let m=e&&e._propertyBindings[u].binding.parsedPath;f=new Ko($.create(i,p,m),d.ValueTypeName,d.getValueSize()),++f.referenceCount,this._addInactiveBinding(f,a,p),r[u]=f}o[u].resultBuffer=f.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(t._cacheIndex===null){let i=(t._localRoot||this._root).uuid,s=t._clip.uuid,n=this._actionsByClip[s];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,s,i)}let e=t._propertyBindings;for(let i=0,s=e.length;i!==s;++i){let n=e[i];n.useCount++===0&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){let e=t._propertyBindings;for(let i=0,s=e.length;i!==s;++i){let n=e[i];--n.useCount===0&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){let e=t._cacheIndex;return e!==null&&e<this._nActiveActions}_addInactiveAction(t,e,i){let s=this._actions,n=this._actionsByClip,r=n[e];if(r===void 0)r={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,n[e]=r;else{let o=r.knownActions;t._byClipCacheIndex=o.length,o.push(t)}t._cacheIndex=s.length,s.push(t),r.actionByRoot[i]=t}_removeInactiveAction(t){let e=this._actions,i=e[e.length-1],s=t._cacheIndex;i._cacheIndex=s,e[s]=i,e.pop(),t._cacheIndex=null;let n=t._clip.uuid,r=this._actionsByClip,o=r[n],a=o.knownActions,l=a[a.length-1],c=t._byClipCacheIndex;l._byClipCacheIndex=c,a[c]=l,a.pop(),t._byClipCacheIndex=null;let u=o.actionByRoot,d=(t._localRoot||this._root).uuid;delete u[d],a.length===0&&delete r[n],this._removeInactiveBindingsForAction(t)}_removeInactiveBindingsForAction(t){let e=t._propertyBindings;for(let i=0,s=e.length;i!==s;++i){let n=e[i];--n.referenceCount===0&&this._removeInactiveBinding(n)}}_lendAction(t){let e=this._actions,i=t._cacheIndex,s=this._nActiveActions++,n=e[s];t._cacheIndex=s,e[s]=t,n._cacheIndex=i,e[i]=n}_takeBackAction(t){let e=this._actions,i=t._cacheIndex,s=--this._nActiveActions,n=e[s];t._cacheIndex=s,e[s]=t,n._cacheIndex=i,e[i]=n}_addInactiveBinding(t,e,i){let s=this._bindingsByRootAndName,n=this._bindings,r=s[e];r===void 0&&(r={},s[e]=r),r[i]=t,t._cacheIndex=n.length,n.push(t)}_removeInactiveBinding(t){let e=this._bindings,i=t.binding,s=i.rootNode.uuid,n=i.path,r=this._bindingsByRootAndName,o=r[s],a=e[e.length-1],l=t._cacheIndex;a._cacheIndex=l,e[l]=a,e.pop(),delete o[n],Object.keys(o).length===0&&delete r[s]}_lendBinding(t){let e=this._bindings,i=t._cacheIndex,s=this._nActiveBindings++,n=e[s];t._cacheIndex=s,e[s]=t,n._cacheIndex=i,e[i]=n}_takeBackBinding(t){let e=this._bindings,i=t._cacheIndex,s=--this._nActiveBindings,n=e[s];t._cacheIndex=s,e[s]=t,n._cacheIndex=i,e[i]=n}_lendControlInterpolant(){let t=this._controlInterpolants,e=this._nActiveControlInterpolants++,i=t[e];return i===void 0&&(i=new Fn(new Float32Array(2),new Float32Array(2),1,gp),i.__cacheIndex=e,t[e]=i),i}_takeBackControlInterpolant(t){let e=this._controlInterpolants,i=t.__cacheIndex,s=--this._nActiveControlInterpolants,n=e[s];t.__cacheIndex=s,e[s]=t,n.__cacheIndex=i,e[i]=n}clipAction(t,e,i){let s=e||this._root,n=s.uuid,r=typeof t==\"string\"?Pi.findByName(s,t):t,o=r!==null?r.uuid:t,a=this._actionsByClip[o],l=null;if(i===void 0&&(r!==null?i=r.blendMode:i=aa),a!==void 0){let u=a.actionByRoot[n];if(u!==void 0&&u.blendMode===i)return u;l=a.knownActions[0],r===null&&(r=l._clip)}if(r===null)return null;let c=new ea(this,r,e,i);return this._bindAction(c,l),this._addInactiveAction(c,o,n),c}existingAction(t,e){let i=e||this._root,s=i.uuid,n=typeof t==\"string\"?Pi.findByName(i,t):t,r=n?n.uuid:t,o=this._actionsByClip[r];return o!==void 0&&o.actionByRoot[s]||null}stopAllAction(){let t=this._actions,e=this._nActiveActions;for(let i=e-1;i>=0;--i)t[i].stop();return this}update(t){t*=this.timeScale;let e=this._actions,i=this._nActiveActions,s=this.time+=t,n=Math.sign(t),r=this._accuIndex^=1;for(let l=0;l!==i;++l)e[l]._update(s,t,n,r);let o=this._bindings,a=this._nActiveBindings;for(let l=0;l!==a;++l)o[l].apply(r);return this}setTime(t){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(t)}getRoot(){return this._root}uncacheClip(t){let e=this._actions,i=t.uuid,s=this._actionsByClip,n=s[i];if(n!==void 0){let r=n.knownActions;for(let o=0,a=r.length;o!==a;++o){let l=r[o];this._deactivateAction(l);let c=l._cacheIndex,u=e[e.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,u._cacheIndex=c,e[c]=u,e.pop(),this._removeInactiveBindingsForAction(l)}delete s[i]}}uncacheRoot(t){let e=t.uuid,i=this._actionsByClip;for(let r in i){let o=i[r].actionByRoot,a=o[e];a!==void 0&&(this._deactivateAction(a),this._removeInactiveAction(a))}let s=this._bindingsByRootAndName,n=s[e];if(n!==void 0)for(let r in n){let o=n[r];o.restoreOriginalState(),this._removeInactiveBinding(o)}}uncacheAction(t,e){let i=this.existingAction(t,e);i!==null&&(this._deactivateAction(i),this._removeInactiveAction(i))}},xl=class extends hn{constructor(t=1,e=1,i=1,s={}){super(t,e,s),this.isRenderTarget3D=!0,this.depth=i,this.texture=new cn(null,t,e,i),this._setTextureOptions(s),this.texture.isRenderTargetTexture=!0}},bl=class h{constructor(t){this.value=t}clone(){return new h(this.value.clone===void 0?this.value:this.value.clone())}},xp=0,wl=class extends Ht{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,\"id\",{value:xp++}),this.name=\"\",this.usage=on,this.uniforms=[]}add(t){return this.uniforms.push(t),this}remove(t){let e=this.uniforms.indexOf(t);return e!==-1&&this.uniforms.splice(e,1),this}setName(t){return this.name=t,this}setUsage(t){return this.usage=t,this}dispose(){this.dispatchEvent({type:\"dispose\"})}copy(t){this.name=t.name,this.usage=t.usage;let e=t.uniforms;this.uniforms.length=0;for(let i=0,s=e.length;i<s;i++){let n=Array.isArray(e[i])?e[i]:[e[i]];for(let r=0;r<n.length;r++)this.uniforms.push(n[r].clone())}return this}clone(){return new this.constructor().copy(this)}},Ml=class extends is{constructor(t,e,i=1){super(t,e),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}clone(t){let e=super.clone(t);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(t){let e=super.toJSON(t);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}},_l=class{constructor(t,e,i,s,n,r=!1){this.isGLBufferAttribute=!0,this.name=\"\",this.buffer=t,this.type=e,this.itemSize=i,this.elementSize=s,this.count=n,this.normalized=r,this.version=0}set needsUpdate(t){t===!0&&this.version++}setBuffer(t){return this.buffer=t,this}setType(t,e){return this.type=t,this.elementSize=e,this}setItemSize(t){return this.itemSize=t,this}setCount(t){return this.count=t,this}},vl=new q,Sl=class{constructor(t,e,i=0,s=1/0){this.ray=new Ye(t,e),this.near=i,this.far=s,this.camera=null,this.layers=new un,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):X(\"Raycaster: Unsupported camera type: \"+e.type)}setFromXRController(t){return vl.identity().extractRotation(t.matrixWorld),this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(vl),this}intersectObject(t,e=!0,i=[]){return ia(t,this,i,e),i.sort(Al),i}intersectObjects(t,e=!0,i=[]){for(let s=0,n=t.length;s<n;s++)ia(t[s],this,i,e);return i.sort(Al),i}};function Al(h,t){return h.distance-t.distance}function ia(h,t,e,i){let s=!0;if(h.layers.test(t.layers)&&h.raycast(t,e)===!1&&(s=!1),s===!0&&i===!0){let n=h.children;for(let r=0,o=n.length;r<o;r++)ia(n[r],t,e,!0)}}var Tl=class{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1,N(\"Clock: This module has been deprecated. Please use THREE.Timer instead.\")}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){let e=performance.now();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}},Il=class{constructor(t=1,e=0,i=0){this.radius=t,this.phi=e,this.theta=i}set(t,e,i){return this.radius=t,this.phi=e,this.theta=i,this}copy(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this}makeSafe(){return this.phi=V(this.phi,1e-6,Math.PI-1e-6),this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,i){return this.radius=Math.sqrt(t*t+e*e+i*i),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,i),this.phi=Math.acos(V(e/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},Cl=class{constructor(t=1,e=0,i=0){this.radius=t,this.theta=e,this.y=i}set(t,e,i){return this.radius=t,this.theta=e,this.y=i,this}copy(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,i){return this.radius=Math.sqrt(t*t+i*i),this.theta=Math.atan2(t,i),this.y=e,this}clone(){return new this.constructor().copy(this)}},zl=class h{static{h.prototype.isMatrix2=!0}constructor(t,e,i,s){this.elements=[1,0,0,1],t!==void 0&&this.set(t,e,i,s)}identity(){return this.set(1,0,0,1),this}fromArray(t,e=0){for(let i=0;i<4;i++)this.elements[i]=t[i+e];return this}set(t,e,i,s){let n=this.elements;return n[0]=t,n[2]=e,n[1]=i,n[3]=s,this}},Fl=new C,Bl=class{constructor(t=new C(1/0,1/0),e=new C(-1/0,-1/0)){this.isBox2=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromPoints(t){this.makeEmpty();for(let e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){let i=Fl.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}containsPoint(t){return t.x>=this.min.x&&t.x<=this.max.x&&t.y>=this.min.y&&t.y<=this.max.y}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return t.max.x>=this.min.x&&t.min.x<=this.max.x&&t.max.y>=this.min.y&&t.min.y<=this.max.y}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Fl).distanceTo(t)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},kl=new M,$s=new M,wi=new M,Mi=new M,_r=new M,bp=new M,wp=new M,Pl=class{constructor(t=new M,e=new M){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){kl.subVectors(t,this.start),$s.subVectors(this.end,this.start);let i=$s.dot($s);if(i===0)return 0;let n=$s.dot(kl)/i;return e&&(n=V(n,0,1)),n}closestPointToPoint(t,e,i){let s=this.closestPointToPointParameter(t,e);return this.delta(i).multiplyScalar(s).add(this.start)}distanceSqToLine3(t,e=bp,i=wp){let s=10000000000000001e-32,n,r,o=this.start,a=t.start,l=this.end,c=t.end;wi.subVectors(l,o),Mi.subVectors(c,a),_r.subVectors(o,a);let u=wi.dot(wi),d=Mi.dot(Mi),p=Mi.dot(_r);if(u<=s&&d<=s)return e.copy(o),i.copy(a),e.sub(i),e.dot(e);if(u<=s)n=0,r=p/d,r=V(r,0,1);else{let f=wi.dot(_r);if(d<=s)r=0,n=V(-f/u,0,1);else{let m=wi.dot(Mi),g=u*d-m*m;g!==0?n=V((m*p-f*d)/g,0,1):n=0,r=(m*n+p)/d,r<0?(r=0,n=V(-f/u,0,1)):r>1&&(r=1,n=V((m-f)/u,0,1))}}return e.copy(o).addScaledVector(wi,n),i.copy(a).addScaledVector(Mi,r),e.distanceToSquared(i)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},Rl=new M,Ol=class extends Y{constructor(t,e){super(),this.light=t,this.matrixAutoUpdate=!1,this.color=e,this.type=\"SpotLightHelper\";let i=new G,s=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let r=0,o=1,a=32;r<a;r++,o++){let l=r/a*Math.PI*2,c=o/a*Math.PI*2;s.push(Math.cos(l),Math.sin(l),1,Math.cos(c),Math.sin(c),1)}i.setAttribute(\"position\",new k(s,3));let n=new bt({fog:!1,toneMapped:!1});this.cone=new Zt(i,n),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),this.parent?(this.parent.updateWorldMatrix(!0),this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld)):this.matrix.copy(this.light.matrixWorld),this.matrixWorld.copy(this.light.matrixWorld);let t=this.light.distance?this.light.distance:1e3,e=t*Math.tan(this.light.angle);this.cone.scale.set(e,e,t),Rl.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Rl),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},Te=new M,js=new q,vr=new q,El=class extends Zt{constructor(t){let e=mc(t),i=new G,s=[],n=[];for(let l=0;l<e.length;l++){let c=e[l];c.parent&&c.parent.isBone&&(s.push(0,0,0),s.push(0,0,0),n.push(0,0,0),n.push(0,0,0))}i.setAttribute(\"position\",new k(s,3)),i.setAttribute(\"color\",new k(n,3));let r=new bt({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});super(i,r),this.isSkeletonHelper=!0,this.type=\"SkeletonHelper\",this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1;let o=new U(255),a=new U(65280);this.setColors(o,a)}updateMatrixWorld(t){let e=this.bones,i=this.geometry,s=i.getAttribute(\"position\");vr.copy(this.root.matrixWorld).invert();for(let n=0,r=0;n<e.length;n++){let o=e[n];o.parent&&o.parent.isBone&&(js.multiplyMatrices(vr,o.matrixWorld),Te.setFromMatrixPosition(js),s.setXYZ(r,Te.x,Te.y,Te.z),js.multiplyMatrices(vr,o.parent.matrixWorld),Te.setFromMatrixPosition(js),s.setXYZ(r+1,Te.x,Te.y,Te.z),r+=2)}i.getAttribute(\"position\").needsUpdate=!0,super.updateMatrixWorld(t)}setColors(t,e){let s=this.geometry.getAttribute(\"color\");for(let n=0;n<s.count;n+=2)s.setXYZ(n,t.r,t.g,t.b),s.setXYZ(n+1,e.r,e.g,e.b);return s.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}};function mc(h){let t=[];h.isBone===!0&&t.push(h);for(let e=0;e<h.children.length;e++)t.push(...mc(h.children[e]));return t}var Nl=class extends Vt{constructor(t,e,i){let s=new In(e,4,2),n=new Fe({wireframe:!0,fog:!1,toneMapped:!1});super(s,n),this.light=t,this.color=i,this.type=\"PointLightHelper\",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},Mp=new M,Vl=new U,Dl=new U,Ll=class extends Y{constructor(t,e,i){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,this.type=\"HemisphereLightHelper\";let s=new Tn(e);s.rotateY(Math.PI*.5),this.material=new Fe({wireframe:!0,fog:!1,toneMapped:!1}),this.color===void 0&&(this.material.vertexColors=!0);let n=s.getAttribute(\"position\"),r=new Float32Array(n.count*3);s.setAttribute(\"color\",new j(r,3)),this.add(new Vt(s,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){let t=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{let e=t.geometry.getAttribute(\"color\");Vl.copy(this.light.color),Dl.copy(this.light.groundColor);for(let i=0,s=e.count;i<s;i++){let n=i<s/2?Vl:Dl;e.setXYZ(i,n.r,n.g,n.b)}e.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),t.lookAt(Mp.setFromMatrixPosition(this.light.matrixWorld).negate())}},Ul=class extends Zt{constructor(t=10,e=10,i=4473924,s=8947848){i=new U(i),s=new U(s);let n=e/2,r=t/e,o=t/2,a=[],l=[];for(let d=0,p=0,f=-o;d<=e;d++,f+=r){a.push(-o,0,f,o,0,f),a.push(f,0,-o,f,0,o);let m=d===n?i:s;m.toArray(l,p),p+=3,m.toArray(l,p),p+=3,m.toArray(l,p),p+=3,m.toArray(l,p),p+=3}let c=new G;c.setAttribute(\"position\",new k(a,3)),c.setAttribute(\"color\",new k(l,3));let u=new bt({vertexColors:!0,toneMapped:!1});super(c,u),this.type=\"GridHelper\"}dispose(){this.geometry.dispose(),this.material.dispose()}},Wl=class extends Zt{constructor(t=10,e=16,i=8,s=64,n=4473924,r=8947848){n=new U(n),r=new U(r);let o=[],a=[];if(e>1)for(let u=0;u<e;u++){let d=u/e*(Math.PI*2),p=Math.sin(d)*t,f=Math.cos(d)*t;o.push(0,0,0),o.push(p,0,f);let m=u&1?n:r;a.push(m.r,m.g,m.b),a.push(m.r,m.g,m.b)}for(let u=0;u<i;u++){let d=u&1?n:r,p=t-t/i*u;for(let f=0;f<s;f++){let m=f/s*(Math.PI*2),g=Math.sin(m)*p,y=Math.cos(m)*p;o.push(g,0,y),a.push(d.r,d.g,d.b),m=(f+1)/s*(Math.PI*2),g=Math.sin(m)*p,y=Math.cos(m)*p,o.push(g,0,y),a.push(d.r,d.g,d.b)}}let l=new G;l.setAttribute(\"position\",new k(o,3)),l.setAttribute(\"color\",new k(a,3));let c=new bt({vertexColors:!0,toneMapped:!1});super(l,c),this.type=\"PolarGridHelper\"}dispose(){this.geometry.dispose(),this.material.dispose()}},ql=new M,Qs=new M,Jl=new M,Gl=class extends Y{constructor(t,e,i){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,this.type=\"DirectionalLightHelper\",e===void 0&&(e=1);let s=new G;s.setAttribute(\"position\",new k([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));let n=new bt({fog:!1,toneMapped:!1});this.lightPlane=new xe(s,n),this.add(this.lightPlane),s=new G,s.setAttribute(\"position\",new k([0,0,0,0,0,1],3)),this.targetLine=new xe(s,n),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),ql.setFromMatrixPosition(this.light.matrixWorld),Qs.setFromMatrixPosition(this.light.target.matrixWorld),Jl.subVectors(Qs,ql),this.lightPlane.lookAt(Qs),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(Qs),this.targetLine.scale.z=Jl.length()}},Ks=new M,nt=new us,Xl=class extends Zt{constructor(t){let e=new G,i=new bt({color:16777215,vertexColors:!0,toneMapped:!1}),s=[],n=[],r={};o(\"n1\",\"n2\"),o(\"n2\",\"n4\"),o(\"n4\",\"n3\"),o(\"n3\",\"n1\"),o(\"f1\",\"f2\"),o(\"f2\",\"f4\"),o(\"f4\",\"f3\"),o(\"f3\",\"f1\"),o(\"n1\",\"f1\"),o(\"n2\",\"f2\"),o(\"n3\",\"f3\"),o(\"n4\",\"f4\"),o(\"p\",\"n1\"),o(\"p\",\"n2\"),o(\"p\",\"n3\"),o(\"p\",\"n4\"),o(\"u1\",\"u2\"),o(\"u2\",\"u3\"),o(\"u3\",\"u1\"),o(\"c\",\"t\"),o(\"p\",\"c\"),o(\"cn1\",\"cn2\"),o(\"cn3\",\"cn4\"),o(\"cf1\",\"cf2\"),o(\"cf3\",\"cf4\");function o(f,m){a(f),a(m)}function a(f){s.push(0,0,0),n.push(0,0,0),r[f]===void 0&&(r[f]=[]),r[f].push(s.length/3-1)}e.setAttribute(\"position\",new k(s,3)),e.setAttribute(\"color\",new k(n,3)),super(e,i),this.type=\"CameraHelper\",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=r,this.update();let l=new U(16755200),c=new U(16711680),u=new U(43775),d=new U(16777215),p=new U(3355443);this.setColors(l,c,u,d,p)}setColors(t,e,i,s,n){let o=this.geometry.getAttribute(\"color\");return o.setXYZ(0,t.r,t.g,t.b),o.setXYZ(1,t.r,t.g,t.b),o.setXYZ(2,t.r,t.g,t.b),o.setXYZ(3,t.r,t.g,t.b),o.setXYZ(4,t.r,t.g,t.b),o.setXYZ(5,t.r,t.g,t.b),o.setXYZ(6,t.r,t.g,t.b),o.setXYZ(7,t.r,t.g,t.b),o.setXYZ(8,t.r,t.g,t.b),o.setXYZ(9,t.r,t.g,t.b),o.setXYZ(10,t.r,t.g,t.b),o.setXYZ(11,t.r,t.g,t.b),o.setXYZ(12,t.r,t.g,t.b),o.setXYZ(13,t.r,t.g,t.b),o.setXYZ(14,t.r,t.g,t.b),o.setXYZ(15,t.r,t.g,t.b),o.setXYZ(16,t.r,t.g,t.b),o.setXYZ(17,t.r,t.g,t.b),o.setXYZ(18,t.r,t.g,t.b),o.setXYZ(19,t.r,t.g,t.b),o.setXYZ(20,t.r,t.g,t.b),o.setXYZ(21,t.r,t.g,t.b),o.setXYZ(22,t.r,t.g,t.b),o.setXYZ(23,t.r,t.g,t.b),o.setXYZ(24,e.r,e.g,e.b),o.setXYZ(25,e.r,e.g,e.b),o.setXYZ(26,e.r,e.g,e.b),o.setXYZ(27,e.r,e.g,e.b),o.setXYZ(28,e.r,e.g,e.b),o.setXYZ(29,e.r,e.g,e.b),o.setXYZ(30,e.r,e.g,e.b),o.setXYZ(31,e.r,e.g,e.b),o.setXYZ(32,i.r,i.g,i.b),o.setXYZ(33,i.r,i.g,i.b),o.setXYZ(34,i.r,i.g,i.b),o.setXYZ(35,i.r,i.g,i.b),o.setXYZ(36,i.r,i.g,i.b),o.setXYZ(37,i.r,i.g,i.b),o.setXYZ(38,s.r,s.g,s.b),o.setXYZ(39,s.r,s.g,s.b),o.setXYZ(40,n.r,n.g,n.b),o.setXYZ(41,n.r,n.g,n.b),o.setXYZ(42,n.r,n.g,n.b),o.setXYZ(43,n.r,n.g,n.b),o.setXYZ(44,n.r,n.g,n.b),o.setXYZ(45,n.r,n.g,n.b),o.setXYZ(46,n.r,n.g,n.b),o.setXYZ(47,n.r,n.g,n.b),o.setXYZ(48,n.r,n.g,n.b),o.setXYZ(49,n.r,n.g,n.b),o.needsUpdate=!0,this}update(){let t=this.geometry,e=this.pointMap,i=1,s=1,n,r;if(nt.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.camera.reversedDepth===!0)n=1,r=0;else if(this.camera.coordinateSystem===Kt)n=-1,r=1;else if(this.camera.coordinateSystem===Ii)n=0,r=1;else throw new Error(\"THREE.CameraHelper.update(): Invalid coordinate system: \"+this.camera.coordinateSystem);rt(\"c\",e,t,nt,0,0,n),rt(\"t\",e,t,nt,0,0,r),rt(\"n1\",e,t,nt,-i,-s,n),rt(\"n2\",e,t,nt,i,-s,n),rt(\"n3\",e,t,nt,-i,s,n),rt(\"n4\",e,t,nt,i,s,n),rt(\"f1\",e,t,nt,-i,-s,r),rt(\"f2\",e,t,nt,i,-s,r),rt(\"f3\",e,t,nt,-i,s,r),rt(\"f4\",e,t,nt,i,s,r),rt(\"u1\",e,t,nt,i*.7,s*1.1,n),rt(\"u2\",e,t,nt,-i*.7,s*1.1,n),rt(\"u3\",e,t,nt,0,s*2,n),rt(\"cf1\",e,t,nt,-i,0,r),rt(\"cf2\",e,t,nt,i,0,r),rt(\"cf3\",e,t,nt,0,-s,r),rt(\"cf4\",e,t,nt,0,s,r),rt(\"cn1\",e,t,nt,-i,0,n),rt(\"cn2\",e,t,nt,i,0,n),rt(\"cn3\",e,t,nt,0,-s,n),rt(\"cn4\",e,t,nt,0,s,n),t.getAttribute(\"position\").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function rt(h,t,e,i,s,n,r){Ks.set(s,n,r).unproject(i);let o=t[h];if(o!==void 0){let a=e.getAttribute(\"position\");for(let l=0,c=o.length;l<c;l++)a.setXYZ(o[l],Ks.x,Ks.y,Ks.z)}}var tn=new pt,Hl=class extends Zt{constructor(t,e=16776960){let i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),s=new Float32Array(24),n=new G;n.setIndex(new j(i,1)),n.setAttribute(\"position\",new j(s,3)),super(n,new bt({color:e,toneMapped:!1})),this.object=t,this.type=\"BoxHelper\",this.matrixAutoUpdate=!1,this.update()}update(){if(this.object!==void 0&&tn.setFromObject(this.object),tn.isEmpty())return;let t=tn.min,e=tn.max,i=this.geometry.attributes.position,s=i.array;s[0]=e.x,s[1]=e.y,s[2]=e.z,s[3]=t.x,s[4]=e.y,s[5]=e.z,s[6]=t.x,s[7]=t.y,s[8]=e.z,s[9]=e.x,s[10]=t.y,s[11]=e.z,s[12]=e.x,s[13]=e.y,s[14]=t.z,s[15]=t.x,s[16]=e.y,s[17]=t.z,s[18]=t.x,s[19]=t.y,s[20]=t.z,s[21]=e.x,s[22]=t.y,s[23]=t.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(t){return this.object=t,this.update(),this}copy(t,e){return super.copy(t,e),this.object=t.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}},Zl=class extends Zt{constructor(t,e=16776960){let i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),s=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],n=new G;n.setIndex(new j(i,1)),n.setAttribute(\"position\",new k(s,3)),super(n,new bt({color:e,toneMapped:!1})),this.box=t,this.type=\"Box3Helper\",this.geometry.computeBoundingSphere()}updateMatrixWorld(t){let e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(t))}dispose(){this.geometry.dispose(),this.material.dispose()}},Yl=class extends xe{constructor(t,e=1,i=16776960){let s=i,n=[1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],r=new G;r.setAttribute(\"position\",new k(n,3)),r.computeBoundingSphere(),super(r,new bt({color:s,toneMapped:!1})),this.type=\"PlaneHelper\",this.plane=t,this.size=e;let o=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],a=new G;a.setAttribute(\"position\",new k(o,3)),a.computeBoundingSphere(),this.add(new Vt(a,new Fe({color:s,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(t){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(t)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}},$l=new M,en,Sr,jl=class extends Y{constructor(t=new M(0,0,1),e=new M(0,0,0),i=1,s=16776960,n=i*.2,r=n*.2){super(),this.type=\"ArrowHelper\",en===void 0&&(en=new G,en.setAttribute(\"position\",new k([0,0,0,0,1,0],3)),Sr=new bn(.5,1,5,1),Sr.translate(0,-.5,0)),this.position.copy(e),this.line=new xe(en,new bt({color:s,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Vt(Sr,new Fe({color:s,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(i,n,r)}setDirection(t){if(t.y>.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{$l.set(t.z,0,-t.x).normalize();let e=Math.acos(t.y);this.quaternion.setFromAxisAngle($l,e)}}setLength(t,e=t*.2,i=e*.2){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},Ql=class extends Zt{constructor(t=1){let e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],s=new G;s.setAttribute(\"position\",new k(e,3)),s.setAttribute(\"color\",new k(i,3));let n=new bt({vertexColors:!0,toneMapped:!1});super(s,n),this.type=\"AxesHelper\"}setColors(t,e,i){let s=new U,n=this.geometry.attributes.color.array;return s.set(t),s.toArray(n,0),s.toArray(n,3),s.set(e),s.toArray(n,6),s.toArray(n,9),s.set(i),s.toArray(n,12),s.toArray(n,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},Kl=class{constructor(){this.type=\"ShapePath\",this.color=new U,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new os,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,i,s){return this.currentPath.quadraticCurveTo(t,e,i,s),this}bezierCurveTo(t,e,i,s,n,r){return this.currentPath.bezierCurveTo(t,e,i,s,n,r),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t){function e(y){let x=[];for(let b=0,w=y.length;b<w;b++){let _=y[b],v=new Ce;v.curves=_.curves,x.push(v)}return x}function i(y,x){let b=x.length,w=!1;for(let _=b-1,v=0;v<b;_=v++){let A=x[_],S=x[v],T=S.x-A.x,I=S.y-A.y;if(Math.abs(I)>Number.EPSILON){if(I<0&&(A=x[v],T=-T,S=x[_],I=-I),y.y<A.y||y.y>S.y)continue;if(y.y===A.y){if(y.x===A.x)return!0}else{let F=I*(y.x-A.x)-T*(y.y-A.y);if(F===0)return!0;if(F<0)continue;w=!w}}else{if(y.y!==A.y)continue;if(S.x<=y.x&&y.x<=A.x||A.x<=y.x&&y.x<=S.x)return!0}}return w}let s=te.isClockWise,n=this.subPaths;if(n.length===0)return[];let r,o,a,l=[];if(n.length===1)return o=n[0],a=new Ce,a.curves=o.curves,l.push(a),l;let c=!s(n[0].getPoints());c=t?!c:c;let u=[],d=[],p=[],f=0,m;d[f]=void 0,p[f]=[];for(let y=0,x=n.length;y<x;y++)o=n[y],m=o.getPoints(),r=s(m),r=t?!r:r,r?(!c&&d[f]&&f++,d[f]={s:new Ce,p:m},d[f].s.curves=o.curves,c&&f++,p[f]=[]):p[f].push({h:o,p:m[0]});if(!d[0])return e(n);if(d.length>1){let y=!1,x=0;for(let b=0,w=d.length;b<w;b++)u[b]=[];for(let b=0,w=d.length;b<w;b++){let _=p[b];for(let v=0;v<_.length;v++){let A=_[v],S=!0;for(let T=0;T<d.length;T++)i(A.p,d[T].p)&&(b!==T&&x++,S?(S=!1,u[T].push(A)):y=!0);S&&u[b].push(A)}}x>0&&y===!1&&(p=u)}let g;for(let y=0,x=d.length;y<x;y++){a=d[y].s,l.push(a),g=p[y];for(let b=0,w=g.length;b<w;b++)a.holes.push(g[b].h)}return l}},tc=class extends Ht{constructor(t,e=null){super(),this.object=t,this.domElement=e,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(t){if(t===void 0){N(\"Controls: connect() now requires an element.\");return}this.domElement!==null&&this.disconnect(),this.domElement=t}disconnect(){}dispose(){}update(){}};function _p(h,t){let e=h.image&&h.image.width?h.image.width/h.image.height:1;return e>t?(h.repeat.x=1,h.repeat.y=e/t,h.offset.x=0,h.offset.y=(1-h.repeat.y)/2):(h.repeat.x=t/e,h.repeat.y=1,h.offset.x=(1-h.repeat.x)/2,h.offset.y=0),h}function vp(h,t){let e=h.image&&h.image.width?h.image.width/h.image.height:1;return e>t?(h.repeat.x=t/e,h.repeat.y=1,h.offset.x=(1-h.repeat.x)/2,h.offset.y=0):(h.repeat.x=1,h.repeat.y=e/t,h.offset.x=0,h.offset.y=(1-h.repeat.y)/2),h}function Sp(h){return h.repeat.x=1,h.repeat.y=1,h.offset.x=0,h.offset.y=0,h}function Ap(h,t,e,i){let s=Tp(i);switch(e){case Dc:return h*t;case ic:return h*t/s.components*s.byteLength;case sc:return h*t/s.components*s.byteLength;case Wc:return h*t*2/s.components*s.byteLength;case qc:return h*t*2/s.components*s.byteLength;case Lc:return h*t*3/s.components*s.byteLength;case ts:return h*t*4/s.components*s.byteLength;case Jc:return h*t*4/s.components*s.byteLength;case Gc:case Xc:return Math.floor((h+3)/4)*Math.floor((t+3)/4)*8;case Hc:case Zc:return Math.floor((h+3)/4)*Math.floor((t+3)/4)*16;case $c:case Qc:return Math.max(h,16)*Math.max(t,8)/4;case Yc:case jc:return Math.max(h,8)*Math.max(t,8)/2;case Kc:case tu:case iu:case su:return Math.floor((h+3)/4)*Math.floor((t+3)/4)*8;case eu:case nu:case ru:return Math.floor((h+3)/4)*Math.floor((t+3)/4)*16;case ou:return Math.floor((h+3)/4)*Math.floor((t+3)/4)*16;case au:return Math.floor((h+4)/5)*Math.floor((t+3)/4)*16;case hu:return Math.floor((h+4)/5)*Math.floor((t+4)/5)*16;case lu:return Math.floor((h+5)/6)*Math.floor((t+4)/5)*16;case cu:return Math.floor((h+5)/6)*Math.floor((t+5)/6)*16;case uu:return Math.floor((h+7)/8)*Math.floor((t+4)/5)*16;case du:return Math.floor((h+7)/8)*Math.floor((t+5)/6)*16;case pu:return Math.floor((h+7)/8)*Math.floor((t+7)/8)*16;case fu:return Math.floor((h+9)/10)*Math.floor((t+4)/5)*16;case mu:return Math.floor((h+9)/10)*Math.floor((t+5)/6)*16;case yu:return Math.floor((h+9)/10)*Math.floor((t+7)/8)*16;case gu:return Math.floor((h+9)/10)*Math.floor((t+9)/10)*16;case xu:return Math.floor((h+11)/12)*Math.floor((t+9)/10)*16;case bu:return Math.floor((h+11)/12)*Math.floor((t+11)/12)*16;case wu:case Mu:case _u:return Math.ceil(h/4)*Math.ceil(t/4)*16;case vu:case Su:return Math.ceil(h/4)*Math.ceil(t/4)*8;case Au:case Tu:return Math.ceil(h/4)*Math.ceil(t/4)*16}throw new Error(`Unable to determine texture byte length for ${e} format.`)}function Tp(h){switch(h){case oa:case Fc:return{byteLength:1,components:1};case kc:case Bc:case Rc:return{byteLength:2,components:1};case Oc:case Ec:return{byteLength:2,components:4};case Vn:case Pc:case Ti:return{byteLength:4,components:1};case Nc:case Vc:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${h}.`)}var ec=class{static contain(t,e){return _p(t,e)}static cover(t,e){return vp(t,e)}static fill(t){return Sp(t)}static getByteLength(t,e,i,s){return Ap(t,e,i,s)}};typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:\"184\"}}));typeof window<\"u\"&&(window.__THREE__?N(\"WARNING: Multiple instances of Three.js being imported.\"):window.__THREE__=\"184\");export{mf as ACESFilmicToneMapping,Ma as AddEquation,cf as AddOperation,nc as AdditiveAnimationBlendMode,Lp as AdditiveBlending,gf as AgXToneMapping,Dc as AlphaFormat,im as AlwaysCompare,Aa as AlwaysDepth,Oa as AlwaysStencilFunc,Go as AmbientLight,ea as AnimationAction,Pi as AnimationClip,Hh as AnimationLoader,gl as AnimationMixer,yl as AnimationObjectGroup,Gh as AnimationUtils,eo as ArcCurve,ul as ArrayCamera,jl as ArrowHelper,Ba as AttachedBindMode,Qo as Audio,ml as AudioAnalyser,En as AudioContext,dl as AudioListener,ol as AudioLoader,Ql as AxesHelper,Mc as BackSide,Fu as BasicDepthPacking,Rp as BasicShadowMap,Jr as BatchedMesh,Oo as BezierInterpolant,pn as Bone,Be as BooleanKeyframeTrack,Bl as Box2,pt as Box3,Zl as Box3Helper,$r as BoxGeometry,Hl as BoxHelper,j as BufferAttribute,G as BufferGeometry,$o as BufferGeometryLoader,Fc as ByteType,ye as Cache,us as Camera,Xl as CameraHelper,kh as CanvasTexture,jr as CapsuleGeometry,io as CatmullRomCurve3,ff as CineonToneMapping,Qr as CircleGeometry,Qt as ClampToEdgeWrapping,Tl as Clock,U as Color,Bn as ColorKeyframeTrack,Bt as ColorManagement,ym as Compatibility,Fh as CompressedArrayTexture,Bh as CompressedCubeTexture,ns as CompressedTexture,Zh as CompressedTextureLoader,bn as ConeGeometry,af as ConstantAlphaFactor,rf as ConstantColorFactor,tc as Controls,cl as CubeCamera,Rh as CubeDepthTexture,Nn as CubeReflectionMapping,vc as CubeRefractionMapping,gn as CubeTexture,Yh as CubeTextureLoader,Tc as CubeUVReflectionMapping,wn as CubicBezierCurve,so as CubicBezierCurve3,Po as CubicInterpolant,Bp as CullFaceBack,kp as CullFaceFront,Pp as CullFaceFrontBack,Fp as CullFaceNone,Dt as Curve,ro as CurvePath,qp as CustomBlending,yf as CustomToneMapping,xn as CylinderGeometry,Cl as Cylindrical,cn as Data3DTexture,Br as DataArrayTexture,Xt as DataTexture,$h as DataTextureLoader,th as DataUtils,Vf as DecrementStencilOp,Lf as DecrementWrapStencilOp,np as DefaultLoadingManager,Cr as DepthFormat,Uc as DepthStencilFormat,Yr as DepthTexture,_c as DetachedBindMode,Jo as DirectionalLight,Gl as DirectionalLightHelper,Ro as DiscreteInterpolant,Kr as DodecahedronGeometry,Vp as DoubleSide,Kp as DstAlphaFactor,ef as DstColorFactor,lm as DynamicCopyUsage,sm as DynamicDrawUsage,om as DynamicReadUsage,to as EdgesGeometry,rs as EllipseCurve,jf as EqualCompare,Ia as EqualDepth,Jf as EqualStencilFunc,Sc as EquirectangularReflectionMapping,Ac as EquirectangularRefractionMapping,ie as Euler,Ht as EventDispatcher,Oh as ExternalTexture,lo as ExtrudeGeometry,se as FileLoader,oh as Float16BufferAttribute,k as Float32BufferAttribute,Ti as FloatType,Pr as Fog,kr as FogExp2,zh as FramebufferTexture,Ar as FrontSide,ss as Frustum,Wr as FrustumArray,_l as GLBufferAttribute,um as GLSL1,dm as GLSL3,Kf as GreaterCompare,za as GreaterDepth,em as GreaterEqualCompare,Ca as GreaterEqualDepth,Zf as GreaterEqualStencilFunc,Xf as GreaterStencilFunc,Ul as GridHelper,Xe as Group,Ph as HTMLTexture,Rc as HalfFloatType,Vo as HemisphereLight,Ll as HemisphereLightHelper,co as IcosahedronGeometry,rl as ImageBitmapLoader,Ri as ImageLoader,Fr as ImageUtils,Nf as IncrementStencilOp,Df as IncrementWrapStencilOp,$e as InstancedBufferAttribute,Yo as InstancedBufferGeometry,Ml as InstancedInterleavedBuffer,Ur as InstancedMesh,nh as Int16BufferAttribute,rh as Int32BufferAttribute,eh as Int8BufferAttribute,Pc as IntType,is as InterleavedBuffer,Ci as InterleavedBufferAttribute,Ke as Interpolant,ka as InterpolateBezier,nn as InterpolateDiscrete,zr as InterpolateLinear,Dn as InterpolateSmooth,mm as InterpolationSamplingMode,fm as InterpolationSamplingType,Uf as InvertStencilOp,ei as KeepStencilOp,Rt as KeyframeTrack,Vr as LOD,uo as LatheGeometry,un as Layers,$f as LessCompare,Ta as LessDepth,Qf as LessEqualCompare,sn as LessEqualDepth,Gf as LessEqualStencilFunc,qf as LessStencilFunc,be as Light,Ho as LightProbe,xe as Line,Pl as Line3,bt as LineBasicMaterial,Mn as LineCurve,no as LineCurve3,Bo as LineDashedMaterial,Gr as LineLoop,Zt as LineSegments,Gt as LinearFilter,Fn as LinearInterpolant,_f as LinearMipMapLinearFilter,Mf as LinearMipMapNearestFilter,ra as LinearMipmapLinearFilter,zc as LinearMipmapNearestFilter,Pa as LinearSRGBColorSpace,df as LinearToneMapping,Ra as LinearTransfer,_t as Loader,On as LoaderUtils,kn as LoadingManager,Iu as LoopOnce,zu as LoopPingPong,Cu as LoopRepeat,Cp as MOUSE,ft as Material,Jp as MaterialBlending,Zo as MaterialLoader,vm as MathUtils,zl as Matrix2,ee as Matrix3,q as Matrix4,Zp as MaxEquation,Vt as Mesh,Fe as MeshBasicMaterial,Co as MeshDepthMaterial,zo as MeshDistanceMaterial,Io as MeshLambertMaterial,Fo as MeshMatcapMaterial,To as MeshNormalMaterial,So as MeshPhongMaterial,vo as MeshPhysicalMaterial,zn as MeshStandardMaterial,Ao as MeshToonMaterial,Hp as MinEquation,Ir as MirroredRepeatWrapping,lf as MixOperation,Wp as MultiplyBlending,sa as MultiplyOperation,Pt as NearestFilter,wf as NearestMipMapLinearFilter,bf as NearestMipMapNearestFilter,Cc as NearestMipmapLinearFilter,Ic as NearestMipmapNearestFilter,xf as NeutralToneMapping,Yf as NeverCompare,Sa as NeverDepth,Wf as NeverStencilFunc,Dp as NoBlending,rc as NoColorSpace,kf as NoNormalPacking,uf as NoToneMapping,aa as NormalAnimationBlendMode,wa as NormalBlending,Rf as NormalGAPacking,Pf as NormalRGPacking,tm as NotEqualCompare,Fa as NotEqualDepth,Hf as NotEqualStencilFunc,Fi as NumberKeyframeTrack,Y as Object3D,il as ObjectLoader,Bf as ObjectSpaceNormalMap,Tn as OctahedronGeometry,$p as OneFactor,hf as OneMinusConstantAlphaFactor,of as OneMinusConstantColorFactor,tf as OneMinusDstAlphaFactor,sf as OneMinusDstColorFactor,va as OneMinusSrcAlphaFactor,Qp as OneMinusSrcColorFactor,Pn as OrthographicCamera,Op as PCFShadowMap,Ep as PCFSoftShadowMap,os as Path,At as PerspectiveCamera,Ie as Plane,po as PlaneGeometry,Yl as PlaneHelper,Wo as PointLight,Nl as PointLightHelper,Hr as Points,yn as PointsMaterial,Wl as PolarGridHelper,je as PolyhedronGeometry,fl as PositionalAudio,$ as PropertyBinding,Ko as PropertyMixer,_n as QuadraticBezierCurve,vn as QuadraticBezierCurve3,xt as Quaternion,Bi as QuaternionKeyframeTrack,Eo as QuaternionLinearInterpolant,iu as R11_EAC_Format,es as RAD2DEG,Au as RED_GREEN_RGTC2_Format,vu as RED_RGTC1_Format,Ip as REVISION,nu as RG11_EAC_Format,Cf as RGBADepthPacking,ts as RGBAFormat,Jc as RGBAIntegerFormat,gu as RGBA_ASTC_10x10_Format,fu as RGBA_ASTC_10x5_Format,mu as RGBA_ASTC_10x6_Format,yu as RGBA_ASTC_10x8_Format,xu as RGBA_ASTC_12x10_Format,bu as RGBA_ASTC_12x12_Format,ou as RGBA_ASTC_4x4_Format,au as RGBA_ASTC_5x4_Format,hu as RGBA_ASTC_5x5_Format,lu as RGBA_ASTC_6x5_Format,cu as RGBA_ASTC_6x6_Format,uu as RGBA_ASTC_8x5_Format,du as RGBA_ASTC_8x6_Format,pu as RGBA_ASTC_8x8_Format,wu as RGBA_BPTC_Format,eu as RGBA_ETC2_EAC_Format,Qc as RGBA_PVRTC_2BPPV1_Format,jc as RGBA_PVRTC_4BPPV1_Format,Xc as RGBA_S3TC_DXT1_Format,Hc as RGBA_S3TC_DXT3_Format,Zc as RGBA_S3TC_DXT5_Format,zf as RGBDepthPacking,Lc as RGBFormat,Sf as RGBIntegerFormat,Mu as RGB_BPTC_SIGNED_Format,_u as RGB_BPTC_UNSIGNED_Format,Kc as RGB_ETC1_Format,tu as RGB_ETC2_Format,$c as RGB_PVRTC_2BPPV1_Format,Yc as RGB_PVRTC_4BPPV1_Format,Gc as RGB_S3TC_DXT1_Format,Ff as RGDepthPacking,Wc as RGFormat,qc as RGIntegerFormat,_o as RawShaderMaterial,Ye as Ray,Sl as Raycaster,Xo as RectAreaLight,ic as RedFormat,sc as RedIntegerFormat,pf as ReinhardToneMapping,hn as RenderTarget,xl as RenderTarget3D,Tr as RepeatWrapping,Ef as ReplaceStencilOp,Xp as ReverseSubtractEquation,_m as ReversedDepthFuncs,fo as RingGeometry,su as SIGNED_R11_EAC_Format,Tu as SIGNED_RED_GREEN_RGTC2_Format,Su as SIGNED_RED_RGTC1_Format,ru as SIGNED_RG11_EAC_Format,Nt as SRGBColorSpace,Ln as SRGBTransfer,Rr as Scene,Cn as ShaderMaterial,Mo as ShadowMaterial,Ce as Shape,mo as ShapeGeometry,Kl as ShapePath,te as ShapeUtils,Bc as ShortType,Lr as Skeleton,El as SkeletonHelper,Dr as SkinnedMesh,me as Source,dt as Sphere,In as SphereGeometry,Il as Spherical,Rn as SphericalHarmonics3,Sn as SplineCurve,Lo as SpotLight,Ol as SpotLightHelper,Nr as Sprite,dn as SpriteMaterial,_a as SrcAlphaFactor,nf as SrcAlphaSaturateFactor,jp as SrcColorFactor,hm as StaticCopyUsage,on as StaticDrawUsage,rm as StaticReadUsage,ll as StereoCamera,cm as StreamCopyUsage,nm as StreamDrawUsage,am as StreamReadUsage,ke as StringKeyframeTrack,Gp as SubtractEquation,Up as SubtractiveBlending,zp as TOUCH,Oi as TangentSpaceNormalMap,yo as TetrahedronGeometry,ct as Texture,jh as TextureLoader,ec as TextureUtils,jo as Timer,pm as TimestampQuery,go as TorusGeometry,xo as TorusKnotGeometry,pe as Triangle,If as TriangleFanDrawMode,Tf as TriangleStripDrawMode,Af as TrianglesDrawMode,bo as TubeGeometry,na as UVMapping,Or as Uint16BufferAttribute,Er as Uint32BufferAttribute,ih as Uint8BufferAttribute,sh as Uint8ClampedBufferAttribute,bl as Uniform,wl as UniformsGroup,Am as UniformsUtils,oa as UnsignedByteType,Vc as UnsignedInt101111Type,vf as UnsignedInt248Type,Nc as UnsignedInt5999Type,Vn as UnsignedIntType,Oc as UnsignedShort4444Type,Ec as UnsignedShort5551Type,kc as UnsignedShortType,Np as VSMShadowMap,C as Vector2,M as Vector3,Tt as Vector4,ki as VectorKeyframeTrack,Ch as VideoFrameTexture,Zr as VideoTexture,Ja as WebGL3DRenderTarget,qa as WebGLArrayRenderTarget,Kt as WebGLCoordinateSystem,ln as WebGLRenderTarget,Ii as WebGPUCoordinateSystem,Qa as WebXRController,wo as WireframeGeometry,rn as WrapAroundEnding,_i as ZeroCurvatureEnding,Yp as ZeroFactor,vi as ZeroSlopeEnding,Of as ZeroStencilOp,ca as cloneUniforms,gm as createCanvasElement,an as createElementNS,X as error,Ap as getByteLength,bm as getConsoleFunction,Sm as getUnlitUniformColorSpace,oc as isTypedArray,Na as log,$d as mergeUniforms,Mm as probeAsync,xm as setConsoleFunction,N as warn,Va as warnOnce,wm as yieldToMain};\n/*! Bundled license information:\n\nthree/build/three.core.js:\n  (**\n   * @license\n   * Copyright 2010-2026 Three.js Authors\n   * SPDX-License-Identifier: MIT\n   *)\n*/\n//# sourceMappingURL=three.core.mjs.map","/* esm.sh - three@0.184.0 */\nimport{Matrix3 as Oe,Vector2 as mt,Color as je,Vector3 as Fe,mergeUniforms as pt,CubeUVReflectionMapping as An,Mesh as wt,BoxGeometry as ii,ShaderMaterial as It,BackSide as St,cloneUniforms as zn,Matrix4 as Qt,ColorManagement as nt,SRGBTransfer as $e,PlaneGeometry as Ar,FrontSide as ln,getUnlitUniformColorSpace as Rr,IntType as br,warn as He,HalfFloatType as Gt,UnsignedByteType as Rt,FloatType as Ot,RGBAFormat as Ut,Plane as sa,CubeReflectionMapping as cn,CubeRefractionMapping as Jt,BufferGeometry as Rn,OrthographicCamera as Cr,PerspectiveCamera as gn,NoToneMapping as bt,MeshBasicMaterial as la,error as Qe,NoBlending as Dt,WebGLRenderTarget as Ct,BufferAttribute as vn,LinearSRGBColorSpace as Pr,LinearFilter as vt,CubeTexture as Lr,LinearMipmapLinearFilter as qt,CubeCamera as ca,EquirectangularReflectionMapping as Un,EquirectangularRefractionMapping as Dn,warnOnce as fa,Uint32BufferAttribute as da,Uint16BufferAttribute as ua,DataArrayTexture as Ur,Vector4 as ht,DepthTexture as fn,Float32BufferAttribute as hi,RawShaderMaterial as pa,CustomToneMapping as Dr,NeutralToneMapping as wr,AgXToneMapping as Ir,ACESFilmicToneMapping as Nr,CineonToneMapping as yr,ReinhardToneMapping as Fr,LinearToneMapping as Or,Data3DTexture as ha,GreaterEqualCompare as ri,LessEqualCompare as ai,Texture as ma,GLSL3 as mi,VSMShadowMap as on,PCFShadowMap as Sn,AddOperation as _a,MixOperation as ga,MultiplyOperation as va,LinearTransfer as Br,UniformsUtils as Sa,DoubleSide as Lt,NormalBlending as En,TangentSpaceNormalMap as _i,ObjectSpaceNormalMap as Ea,Layers as xa,RGFormat as jt,RG11_EAC_Format as Xn,RED_GREEN_RGTC2_Format as Kn,MeshDepthMaterial as Ma,MeshDistanceMaterial as Ta,PCFSoftShadowMap as Aa,DepthFormat as en,NearestFilter as kt,CubeDepthTexture as Ra,UnsignedIntType as Wt,Frustum as Gr,LessEqualDepth as gi,ReverseSubtractEquation as ba,SubtractEquation as Ca,AddEquation as nn,OneMinusConstantAlphaFactor as Pa,ConstantAlphaFactor as La,OneMinusConstantColorFactor as Ua,ConstantColorFactor as Da,OneMinusDstAlphaFactor as wa,OneMinusDstColorFactor as Ia,OneMinusSrcAlphaFactor as Na,OneMinusSrcColorFactor as ya,DstAlphaFactor as Fa,DstColorFactor as Oa,SrcAlphaSaturateFactor as Ba,SrcAlphaFactor as Ga,SrcColorFactor as Ha,OneFactor as Va,ZeroFactor as ka,NotEqualDepth as Wa,GreaterDepth as za,GreaterEqualDepth as Xa,EqualDepth as Ka,LessDepth as Ya,AlwaysDepth as qa,NeverDepth as Za,CullFaceNone as $a,CullFaceBack as vi,CullFaceFront as Qa,CustomBlending as Ja,MultiplyBlending as Si,SubtractiveBlending as Ei,AdditiveBlending as xi,ReversedDepthFuncs as ja,MinEquation as eo,MaxEquation as to,MirroredRepeatWrapping as no,ClampToEdgeWrapping as Yn,RepeatWrapping as io,LinearMipmapNearestFilter as wn,NearestMipmapLinearFilter as hn,NearestMipmapNearestFilter as ro,NotEqualCompare as ao,GreaterCompare as oo,EqualCompare as so,LessCompare as lo,AlwaysCompare as co,NeverCompare as fo,NoColorSpace as Yt,DepthStencilFormat as Zt,getByteLength as Mi,UnsignedInt248Type as dn,UnsignedShortType as xn,createElementNS as uo,UnsignedShort4444Type as Hr,UnsignedShort5551Type as Vr,UnsignedInt5999Type as po,UnsignedInt101111Type as ho,ByteType as mo,ShortType as _o,AlphaFormat as go,RGBFormat as vo,RedFormat as So,RedIntegerFormat as kr,RGIntegerFormat as Wr,RGBAIntegerFormat as zr,RGB_S3TC_DXT1_Format as In,RGBA_S3TC_DXT1_Format as Nn,RGBA_S3TC_DXT3_Format as yn,RGBA_S3TC_DXT5_Format as Fn,RGB_PVRTC_4BPPV1_Format as Ti,RGB_PVRTC_2BPPV1_Format as Ai,RGBA_PVRTC_4BPPV1_Format as Ri,RGBA_PVRTC_2BPPV1_Format as bi,RGB_ETC1_Format as Ci,RGB_ETC2_Format as Pi,RGBA_ETC2_EAC_Format as Li,R11_EAC_Format as Ui,SIGNED_R11_EAC_Format as Di,SIGNED_RG11_EAC_Format as wi,RGBA_ASTC_4x4_Format as Ii,RGBA_ASTC_5x4_Format as Ni,RGBA_ASTC_5x5_Format as yi,RGBA_ASTC_6x5_Format as Fi,RGBA_ASTC_6x6_Format as Oi,RGBA_ASTC_8x5_Format as Bi,RGBA_ASTC_8x6_Format as Gi,RGBA_ASTC_8x8_Format as Hi,RGBA_ASTC_10x5_Format as Vi,RGBA_ASTC_10x6_Format as ki,RGBA_ASTC_10x8_Format as Wi,RGBA_ASTC_10x10_Format as zi,RGBA_ASTC_12x10_Format as Xi,RGBA_ASTC_12x12_Format as Ki,RGBA_BPTC_Format as Yi,RGB_BPTC_SIGNED_Format as qi,RGB_BPTC_UNSIGNED_Format as Zi,RED_RGTC1_Format as $i,SIGNED_RED_RGTC1_Format as Qi,SIGNED_RED_GREEN_RGTC2_Format as Ji,ExternalTexture as Xr,EventDispatcher as Eo,ArrayCamera as xo,WebXRController as On,RAD2DEG as Mo,DataTexture as To,createCanvasElement as Ao,SRGBColorSpace as Ro,REVISION as bo,log as ji,WebGLCoordinateSystem as er,probeAsync as Co}from\"./build/three.core.mjs\";import{AdditiveAnimationBlendMode as Sd,AlwaysStencilFunc as Ed,AmbientLight as xd,AnimationAction as Md,AnimationClip as Td,AnimationLoader as Ad,AnimationMixer as Rd,AnimationObjectGroup as bd,AnimationUtils as Cd,ArcCurve as Pd,ArrowHelper as Ld,AttachedBindMode as Ud,Audio as Dd,AudioAnalyser as wd,AudioContext as Id,AudioListener as Nd,AudioLoader as yd,AxesHelper as Fd,BasicDepthPacking as Od,BasicShadowMap as Bd,BatchedMesh as Gd,BezierInterpolant as Hd,Bone as Vd,BooleanKeyframeTrack as kd,Box2 as Wd,Box3 as zd,Box3Helper as Xd,BoxHelper as Kd,BufferGeometryLoader as Yd,Cache as qd,Camera as Zd,CameraHelper as $d,CanvasTexture as Qd,CapsuleGeometry as Jd,CatmullRomCurve3 as jd,CircleGeometry as eu,Clock as tu,ColorKeyframeTrack as nu,Compatibility as iu,CompressedArrayTexture as ru,CompressedCubeTexture as au,CompressedTexture as ou,CompressedTextureLoader as su,ConeGeometry as lu,Controls as cu,CubeTextureLoader as fu,CubicBezierCurve as du,CubicBezierCurve3 as uu,CubicInterpolant as pu,CullFaceFrontBack as hu,Curve as mu,CurvePath as _u,CylinderGeometry as gu,Cylindrical as vu,DataTextureLoader as Su,DataUtils as Eu,DecrementStencilOp as xu,DecrementWrapStencilOp as Mu,DefaultLoadingManager as Tu,DetachedBindMode as Au,DirectionalLight as Ru,DirectionalLightHelper as bu,DiscreteInterpolant as Cu,DodecahedronGeometry as Pu,DynamicCopyUsage as Lu,DynamicDrawUsage as Uu,DynamicReadUsage as Du,EdgesGeometry as wu,EllipseCurve as Iu,EqualStencilFunc as Nu,Euler as yu,ExtrudeGeometry as Fu,FileLoader as Ou,Float16BufferAttribute as Bu,Fog as Gu,FogExp2 as Hu,FramebufferTexture as Vu,FrustumArray as ku,GLBufferAttribute as Wu,GLSL1 as zu,GreaterEqualStencilFunc as Xu,GreaterStencilFunc as Ku,GridHelper as Yu,Group as qu,HTMLTexture as Zu,HemisphereLight as $u,HemisphereLightHelper as Qu,IcosahedronGeometry as Ju,ImageBitmapLoader as ju,ImageLoader as ep,ImageUtils as tp,IncrementStencilOp as np,IncrementWrapStencilOp as ip,InstancedBufferAttribute as rp,InstancedBufferGeometry as ap,InstancedInterleavedBuffer as op,InstancedMesh as sp,Int16BufferAttribute as lp,Int32BufferAttribute as cp,Int8BufferAttribute as fp,InterleavedBuffer as dp,InterleavedBufferAttribute as up,Interpolant as pp,InterpolateBezier as hp,InterpolateDiscrete as mp,InterpolateLinear as _p,InterpolateSmooth as gp,InterpolationSamplingMode as vp,InterpolationSamplingType as Sp,InvertStencilOp as Ep,KeepStencilOp as xp,KeyframeTrack as Mp,LOD as Tp,LatheGeometry as Ap,LessEqualStencilFunc as Rp,LessStencilFunc as bp,Light as Cp,LightProbe as Pp,Line as Lp,Line3 as Up,LineBasicMaterial as Dp,LineCurve as wp,LineCurve3 as Ip,LineDashedMaterial as Np,LineLoop as yp,LineSegments as Fp,LinearInterpolant as Op,LinearMipMapLinearFilter as Bp,LinearMipMapNearestFilter as Gp,Loader as Hp,LoaderUtils as Vp,LoadingManager as kp,LoopOnce as Wp,LoopPingPong as zp,LoopRepeat as Xp,MOUSE as Kp,Material as Yp,MaterialBlending as qp,MaterialLoader as Zp,MathUtils as $p,Matrix2 as Qp,MeshLambertMaterial as Jp,MeshMatcapMaterial as jp,MeshNormalMaterial as eh,MeshPhongMaterial as th,MeshPhysicalMaterial as nh,MeshStandardMaterial as ih,MeshToonMaterial as rh,NearestMipMapLinearFilter as ah,NearestMipMapNearestFilter as oh,NeverStencilFunc as sh,NoNormalPacking as lh,NormalAnimationBlendMode as ch,NormalGAPacking as fh,NormalRGPacking as dh,NotEqualStencilFunc as uh,NumberKeyframeTrack as ph,Object3D as hh,ObjectLoader as mh,OctahedronGeometry as _h,Path as gh,PlaneHelper as vh,PointLight as Sh,PointLightHelper as Eh,Points as xh,PointsMaterial as Mh,PolarGridHelper as Th,PolyhedronGeometry as Ah,PositionalAudio as Rh,PropertyBinding as bh,PropertyMixer as Ch,QuadraticBezierCurve as Ph,QuadraticBezierCurve3 as Lh,Quaternion as Uh,QuaternionKeyframeTrack as Dh,QuaternionLinearInterpolant as wh,RGBADepthPacking as Ih,RGBDepthPacking as Nh,RGBIntegerFormat as yh,RGDepthPacking as Fh,Ray as Oh,Raycaster as Bh,RectAreaLight as Gh,RenderTarget as Hh,RenderTarget3D as Vh,ReplaceStencilOp as kh,RingGeometry as Wh,Scene as zh,ShadowMaterial as Xh,Shape as Kh,ShapeGeometry as Yh,ShapePath as qh,ShapeUtils as Zh,Skeleton as $h,SkeletonHelper as Qh,SkinnedMesh as Jh,Source as jh,Sphere as em,SphereGeometry as tm,Spherical as nm,SphericalHarmonics3 as im,SplineCurve as rm,SpotLight as am,SpotLightHelper as om,Sprite as sm,SpriteMaterial as lm,StaticCopyUsage as cm,StaticDrawUsage as fm,StaticReadUsage as dm,StereoCamera as um,StreamCopyUsage as pm,StreamDrawUsage as hm,StreamReadUsage as mm,StringKeyframeTrack as _m,TOUCH as gm,TetrahedronGeometry as vm,TextureLoader as Sm,TextureUtils as Em,Timer as xm,TimestampQuery as Mm,TorusGeometry as Tm,TorusKnotGeometry as Am,Triangle as Rm,TriangleFanDrawMode as bm,TriangleStripDrawMode as Cm,TrianglesDrawMode as Pm,TubeGeometry as Lm,UVMapping as Um,Uint8BufferAttribute as Dm,Uint8ClampedBufferAttribute as wm,Uniform as Im,UniformsGroup as Nm,VectorKeyframeTrack as ym,VideoFrameTexture as Fm,VideoTexture as Om,WebGL3DRenderTarget as Bm,WebGLArrayRenderTarget as Gm,WebGPUCoordinateSystem as Hm,WireframeGeometry as Vm,WrapAroundEnding as km,ZeroCurvatureEnding as Wm,ZeroSlopeEnding as zm,ZeroStencilOp as Xm,getConsoleFunction as Km,setConsoleFunction as Ym}from\"./build/three.core.mjs\";function Kr(){let e=null,n=!1,t=null,i=null;function l(a,u){t(a,u),i=e.requestAnimationFrame(l)}return{start:function(){n!==!0&&t!==null&&e!==null&&(i=e.requestAnimationFrame(l),n=!0)},stop:function(){e!==null&&e.cancelAnimationFrame(i),n=!1},setAnimationLoop:function(a){t=a},setContext:function(a){e=a}}}function Po(e){let n=new WeakMap;function t(m,C){let R=m.array,k=m.usage,U=R.byteLength,p=e.createBuffer();e.bindBuffer(C,p),e.bufferData(C,R,k),m.onUploadCallback();let E;if(R instanceof Float32Array)E=e.FLOAT;else if(typeof Float16Array<\"u\"&&R instanceof Float16Array)E=e.HALF_FLOAT;else if(R instanceof Uint16Array)m.isFloat16BufferAttribute?E=e.HALF_FLOAT:E=e.UNSIGNED_SHORT;else if(R instanceof Int16Array)E=e.SHORT;else if(R instanceof Uint32Array)E=e.UNSIGNED_INT;else if(R instanceof Int32Array)E=e.INT;else if(R instanceof Int8Array)E=e.BYTE;else if(R instanceof Uint8Array)E=e.UNSIGNED_BYTE;else if(R instanceof Uint8ClampedArray)E=e.UNSIGNED_BYTE;else throw new Error(\"THREE.WebGLAttributes: Unsupported buffer data format: \"+R);return{buffer:p,type:E,bytesPerElement:R.BYTES_PER_ELEMENT,version:m.version,size:U}}function i(m,C,R){let k=C.array,U=C.updateRanges;if(e.bindBuffer(R,m),U.length===0)e.bufferSubData(R,0,k);else{U.sort((E,D)=>E.start-D.start);let p=0;for(let E=1;E<U.length;E++){let D=U[p],G=U[E];G.start<=D.start+D.count+1?D.count=Math.max(D.count,G.start+G.count-D.start):(++p,U[p]=G)}U.length=p+1;for(let E=0,D=U.length;E<D;E++){let G=U[E];e.bufferSubData(R,G.start*k.BYTES_PER_ELEMENT,k,G.start,G.count)}C.clearUpdateRanges()}C.onUploadCallback()}function l(m){return m.isInterleavedBufferAttribute&&(m=m.data),n.get(m)}function a(m){m.isInterleavedBufferAttribute&&(m=m.data);let C=n.get(m);C&&(e.deleteBuffer(C.buffer),n.delete(m))}function u(m,C){if(m.isInterleavedBufferAttribute&&(m=m.data),m.isGLBufferAttribute){let k=n.get(m);(!k||k.version<m.version)&&n.set(m,{buffer:m.buffer,type:m.type,bytesPerElement:m.elementSize,version:m.version});return}let R=n.get(m);if(R===void 0)n.set(m,t(m,C));else if(R.version<m.version){if(R.size!==m.array.byteLength)throw new Error(\"THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.\");i(R.buffer,m,C),R.version=m.version}}return{get:l,remove:a,update:u}}var Lo=`#ifdef USE_ALPHAHASH\n\tif ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;\n#endif`,Uo=`#ifdef USE_ALPHAHASH\n\tconst float ALPHA_HASH_SCALE = 0.05;\n\tfloat hash2D( vec2 value ) {\n\t\treturn fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );\n\t}\n\tfloat hash3D( vec3 value ) {\n\t\treturn hash2D( vec2( hash2D( value.xy ), value.z ) );\n\t}\n\tfloat getAlphaHashThreshold( vec3 position ) {\n\t\tfloat maxDeriv = max(\n\t\t\tlength( dFdx( position.xyz ) ),\n\t\t\tlength( dFdy( position.xyz ) )\n\t\t);\n\t\tfloat pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );\n\t\tvec2 pixScales = vec2(\n\t\t\texp2( floor( log2( pixScale ) ) ),\n\t\t\texp2( ceil( log2( pixScale ) ) )\n\t\t);\n\t\tvec2 alpha = vec2(\n\t\t\thash3D( floor( pixScales.x * position.xyz ) ),\n\t\t\thash3D( floor( pixScales.y * position.xyz ) )\n\t\t);\n\t\tfloat lerpFactor = fract( log2( pixScale ) );\n\t\tfloat x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;\n\t\tfloat a = min( lerpFactor, 1.0 - lerpFactor );\n\t\tvec3 cases = vec3(\n\t\t\tx * x / ( 2.0 * a * ( 1.0 - a ) ),\n\t\t\t( x - 0.5 * a ) / ( 1.0 - a ),\n\t\t\t1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )\n\t\t);\n\t\tfloat threshold = ( x < ( 1.0 - a ) )\n\t\t\t? ( ( x < a ) ? cases.x : cases.y )\n\t\t\t: cases.z;\n\t\treturn clamp( threshold , 1.0e-6, 1.0 );\n\t}\n#endif`,Do=`#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif`,wo=`#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif`,Io=`#ifdef USE_ALPHATEST\n\t#ifdef ALPHA_TO_COVERAGE\n\tdiffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );\n\tif ( diffuseColor.a == 0.0 ) discard;\n\t#else\n\tif ( diffuseColor.a < alphaTest ) discard;\n\t#endif\n#endif`,No=`#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif`,yo=`#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_CLEARCOAT ) \n\t\tclearcoatSpecularIndirect *= ambientOcclusion;\n\t#endif\n\t#if defined( USE_SHEEN ) \n\t\tsheenSpecularIndirect *= ambientOcclusion;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometryNormal, geometryViewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif`,Fo=`#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif`,Oo=`#ifdef USE_BATCHING\n\t#if ! defined( GL_ANGLE_multi_draw )\n\t#define gl_DrawID _gl_DrawID\n\tuniform int _gl_DrawID;\n\t#endif\n\tuniform highp sampler2D batchingTexture;\n\tuniform highp usampler2D batchingIdTexture;\n\tmat4 getBatchingMatrix( const in float i ) {\n\t\tint size = textureSize( batchingTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\n\t}\n\tfloat getIndirectIndex( const in int i ) {\n\t\tint size = textureSize( batchingIdTexture, 0 ).x;\n\t\tint x = i % size;\n\t\tint y = i / size;\n\t\treturn float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r );\n\t}\n#endif\n#ifdef USE_BATCHING_COLOR\n\tuniform sampler2D batchingColorTexture;\n\tvec4 getBatchingColor( const in float i ) {\n\t\tint size = textureSize( batchingColorTexture, 0 ).x;\n\t\tint j = int( i );\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\treturn texelFetch( batchingColorTexture, ivec2( x, y ), 0 );\n\t}\n#endif`,Bo=`#ifdef USE_BATCHING\n\tmat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );\n#endif`,Go=`vec3 transformed = vec3( position );\n#ifdef USE_ALPHAHASH\n\tvPosition = vec3( position );\n#endif`,Ho=`vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif`,Vo=`float G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n} // validated`,ko=`#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660,  0.0556434,\n\t\t-1.5371385,  1.8760108, -0.2040259,\n\t\t-0.4985314,  0.0415560,  1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\treturn vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif`,Wo=`#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vBumpMapUv );\n\t\tvec2 dSTdy = dFdy( vBumpMapUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) );\n\t\tvec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif`,zo=`#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#ifdef ALPHA_TO_COVERAGE\n\t\tfloat distanceToPlane, distanceGradient;\n\t\tfloat clipOpacity = 1.0;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\tclipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\tif ( clipOpacity == 0.0 ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tfloat unionClipOpacity = 1.0;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\t\tunionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tclipOpacity *= 1.0 - unionClipOpacity;\n\t\t#endif\n\t\tdiffuseColor.a *= clipOpacity;\n\t\tif ( diffuseColor.a == 0.0 ) discard;\n\t#else\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tbool clipped = true;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tif ( clipped ) discard;\n\t\t#endif\n\t#endif\n#endif`,Xo=`#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif`,Ko=`#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif`,Yo=`#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif`,qo=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#endif`,Zo=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#endif`,$o=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\n\tvarying vec4 vColor;\n#endif`,Qo=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\n\tvColor = vec4( 1.0 );\n#endif\n#ifdef USE_COLOR_ALPHA\n\tvColor *= color;\n#elif defined( USE_COLOR )\n\tvColor.rgb *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.rgb *= instanceColor.rgb;\n#endif\n#ifdef USE_BATCHING_COLOR\n\tvColor *= getBatchingColor( getIndirectIndex( gl_DrawID ) );\n#endif`,Jo=`#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated`,jo=`#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif`,es=`vec3 transformedNormal = objectNormal;\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n\tmat3 bm = mat3( batchingMatrix );\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n\ttransformedNormal = bm * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = bm * transformedTangent;\n\t#endif\n#endif\n#ifdef USE_INSTANCING\n\tmat3 im = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n\ttransformedNormal = im * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = im * transformedTangent;\n\t#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif`,ts=`#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif`,ns=`#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif`,is=`#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE_EMISSIVE\n\t\temissiveColor = sRGBTransferEOTF( emissiveColor );\n\t#endif\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif`,rs=`#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif`,as=\"gl_FragColor = linearToOutputTexel( gl_FragColor );\",os=`vec4 LinearTransferOETF( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBTransferEOTF( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 sRGBTransferOETF( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}`,ss=`#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, envMapRotation * reflectVec );\n\t\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t\t#endif\n\t#endif\n#endif`,ls=`#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform mat3 envMapRotation;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n#endif`,cs=`#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif`,fs=`#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif`,ds=`#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif`,us=`#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif`,ps=`#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif`,hs=`#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif`,ms=`#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif`,_s=`#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}`,gs=`#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif`,vs=`LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;`,Ss=`varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert`,Es=`uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n\tuniform vec3 lightProbe[ 9 ];\n#endif\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif ( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometryPosition;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometryPosition;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif\n#include <lightprobes_pars_fragment>`,xs=`#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, pow4( roughness ) ) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\n#endif`,Ms=`ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;`,Ts=`varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon`,As=`BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;`,Rs=`varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong`,bs=`PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.diffuseContribution = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.metalness = metalnessFactor;\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor;\n\tmaterial.specularColorBlended = mix( material.specularColor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = vec3( 0.04 );\n\tmaterial.specularColorBlended = mix( material.specularColor, diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_DISPERSION\n\tmaterial.dispersion = dispersion;\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.0001, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tif( material.anisotropy == 0.0 ) {\n\t\tanisotropyV = vec2( 1.0, 0.0 );\n\t} else {\n\t\tanisotropyV /= material.anisotropy;\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\n\t}\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\n#endif`,Cs=`uniform sampler2D dfgLUT;\nstruct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tvec3 diffuseContribution;\n\tvec3 specularColor;\n\tvec3 specularColorBlended;\n\tfloat roughness;\n\tfloat metalness;\n\tfloat specularF90;\n\tfloat dispersion;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t\tvec3 iridescenceFresnelDielectric;\n\t\tvec3 iridescenceFresnelMetallic;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n    float x2 = x * x;\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\treturn 0.5 / max( gv + gl, EPSILON );\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColorBlended;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transpose( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat rInv = 1.0 / ( roughness + 0.1 );\n\tfloat a = -1.9362 + 1.0678 * roughness + 0.4573 * r2 - 0.8469 * rInv;\n\tfloat b = -0.6014 + 0.5538 * roughness - 0.4670 * r2 - 0.1255 * rInv;\n\tfloat DG = exp( a * dotNV + b );\n\treturn saturate( DG );\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg;\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg;\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nvec3 BRDF_GGX_Multiscatter( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 singleScatter = BRDF_GGX( lightDir, viewDir, normal, material );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 dfgV = texture2D( dfgLUT, vec2( material.roughness, dotNV ) ).rg;\n\tvec2 dfgL = texture2D( dfgLUT, vec2( material.roughness, dotNL ) ).rg;\n\tvec3 FssEss_V = material.specularColorBlended * dfgV.x + material.specularF90 * dfgV.y;\n\tvec3 FssEss_L = material.specularColorBlended * dfgL.x + material.specularF90 * dfgL.y;\n\tfloat Ess_V = dfgV.x + dfgV.y;\n\tfloat Ess_L = dfgL.x + dfgL.y;\n\tfloat Ems_V = 1.0 - Ess_V;\n\tfloat Ems_L = 1.0 - Ess_L;\n\tvec3 Favg = material.specularColorBlended + ( 1.0 - material.specularColorBlended ) * 0.047619;\n\tvec3 Fms = FssEss_V * FssEss_L * Favg / ( 1.0 - Ems_V * Ems_L * Favg + EPSILON );\n\tfloat compensationFactor = Ems_V * Ems_L;\n\tvec3 multiScatter = Fms * compensationFactor;\n\treturn singleScatter + multiScatter;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometryNormal;\n\t\tvec3 viewDir = geometryViewDir;\n\t\tvec3 position = geometryPosition;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColorBlended * t2.x + ( material.specularF90 - material.specularColorBlended ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseContribution * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t\t#ifdef USE_CLEARCOAT\n\t\t\tvec3 Ncc = geometryClearcoatNormal;\n\t\t\tvec2 uvClearcoat = LTC_Uv( Ncc, viewDir, material.clearcoatRoughness );\n\t\t\tvec4 t1Clearcoat = texture2D( ltc_1, uvClearcoat );\n\t\t\tvec4 t2Clearcoat = texture2D( ltc_2, uvClearcoat );\n\t\t\tmat3 mInvClearcoat = mat3(\n\t\t\t\tvec3( t1Clearcoat.x, 0, t1Clearcoat.y ),\n\t\t\t\tvec3(             0, 1,             0 ),\n\t\t\t\tvec3( t1Clearcoat.z, 0, t1Clearcoat.w )\n\t\t\t);\n\t\t\tvec3 fresnelClearcoat = material.clearcoatF0 * t2Clearcoat.x + ( material.clearcoatF90 - material.clearcoatF0 ) * t2Clearcoat.y;\n\t\t\tclearcoatSpecularDirect += lightColor * fresnelClearcoat * LTC_Evaluate( Ncc, viewDir, position, mInvClearcoat, rectCoords );\n\t\t#endif\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n \n \t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n \n \t\tfloat sheenAlbedoV = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n \t\tfloat sheenAlbedoL = IBLSheenBRDF( geometryNormal, directLight.direction, material.sheenRoughness );\n \n \t\tfloat sheenEnergyComp = 1.0 - max3( material.sheenColor ) * max( sheenAlbedoV, sheenAlbedoL );\n \n \t\tirradiance *= sheenEnergyComp;\n \n \t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX_Multiscatter( directLight.direction, geometryViewDir, geometryNormal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseContribution );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 diffuse = irradiance * BRDF_Lambert( material.diffuseContribution );\n\t#ifdef USE_SHEEN\n\t\tfloat sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n\t\tfloat sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo;\n\t\tdiffuse *= sheenEnergyComp;\n\t#endif\n\treflectedLight.indirectDiffuse += diffuse;\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ) * RECIPROCAL_PI;\n \t#endif\n\tvec3 singleScatteringDielectric = vec3( 0.0 );\n\tvec3 multiScatteringDielectric = vec3( 0.0 );\n\tvec3 singleScatteringMetallic = vec3( 0.0 );\n\tvec3 multiScatteringMetallic = vec3( 0.0 );\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnelDielectric, material.roughness, singleScatteringDielectric, multiScatteringDielectric );\n\t\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.iridescence, material.iridescenceFresnelMetallic, material.roughness, singleScatteringMetallic, multiScatteringMetallic );\n\t#else\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScatteringDielectric, multiScatteringDielectric );\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.roughness, singleScatteringMetallic, multiScatteringMetallic );\n\t#endif\n\tvec3 singleScattering = mix( singleScatteringDielectric, singleScatteringMetallic, material.metalness );\n\tvec3 multiScattering = mix( multiScatteringDielectric, multiScatteringMetallic, material.metalness );\n\tvec3 totalScatteringDielectric = singleScatteringDielectric + multiScatteringDielectric;\n\tvec3 diffuse = material.diffuseContribution * ( 1.0 - totalScatteringDielectric );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tvec3 indirectSpecular = radiance * singleScattering;\n\tindirectSpecular += multiScattering * cosineWeightedIrradiance;\n\tvec3 indirectDiffuse = diffuse * cosineWeightedIrradiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n\t\tfloat sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo;\n\t\tindirectSpecular *= sheenEnergyComp;\n\t\tindirectDiffuse *= sheenEnergyComp;\n\t#endif\n\treflectedLight.indirectSpecular += indirectSpecular;\n\treflectedLight.indirectDiffuse += indirectDiffuse;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}`,Ps=`\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n\tgeometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnelDielectric = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceFresnelMetallic = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.diffuseColor );\n\t\tmaterial.iridescenceFresnel = mix( material.iridescenceFresnelDielectric, material.iridescenceFresnelMetallic, material.metalness );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometryPosition, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) && ( defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_BASIC ) )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometryPosition, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if defined( USE_LIGHT_PROBES )\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#ifdef USE_LIGHT_PROBES_GRID\n\t\tvec3 probeWorldPos = ( ( vec4( geometryPosition, 1.0 ) - viewMatrix[ 3 ] ) * viewMatrix ).xyz;\n\t\tvec3 probeWorldNormal = inverseTransformDirection( geometryNormal, viewMatrix );\n\t\tirradiance += getLightProbeGridIrradiance( probeWorldPos, probeWorldNormal );\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif`,Ls=`#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\t#if defined( STANDARD ) || defined( LAMBERT ) || defined( PHONG )\n\t\t\tiblIrradiance += getIBLIrradiance( geometryNormal );\n\t\t#endif\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif`,Us=`#if defined( RE_IndirectDiffuse )\n\t#if defined( LAMBERT ) || defined( PHONG )\n\t\tirradiance += iblIrradiance;\n\t#endif\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif`,Ds=`#ifdef USE_LIGHT_PROBES_GRID\nuniform highp sampler3D probesSH;\nuniform vec3 probesMin;\nuniform vec3 probesMax;\nuniform vec3 probesResolution;\nvec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) {\n\tvec3 res = probesResolution;\n\tvec3 gridRange = probesMax - probesMin;\n\tvec3 resMinusOne = res - 1.0;\n\tvec3 probeSpacing = gridRange / resMinusOne;\n\tvec3 samplePos = worldPos + worldNormal * probeSpacing * 0.5;\n\tvec3 uvw = clamp( ( samplePos - probesMin ) / gridRange, 0.0, 1.0 );\n\tuvw = uvw * resMinusOne / res + 0.5 / res;\n\tfloat nz          = res.z;\n\tfloat paddedSlices = nz + 2.0;\n\tfloat atlasDepth  = 7.0 * paddedSlices;\n\tfloat uvZBase     = uvw.z * nz + 1.0;\n\tvec4 s0 = texture( probesSH, vec3( uvw.xy, ( uvZBase                       ) / atlasDepth ) );\n\tvec4 s1 = texture( probesSH, vec3( uvw.xy, ( uvZBase +       paddedSlices   ) / atlasDepth ) );\n\tvec4 s2 = texture( probesSH, vec3( uvw.xy, ( uvZBase + 2.0 * paddedSlices   ) / atlasDepth ) );\n\tvec4 s3 = texture( probesSH, vec3( uvw.xy, ( uvZBase + 3.0 * paddedSlices   ) / atlasDepth ) );\n\tvec4 s4 = texture( probesSH, vec3( uvw.xy, ( uvZBase + 4.0 * paddedSlices   ) / atlasDepth ) );\n\tvec4 s5 = texture( probesSH, vec3( uvw.xy, ( uvZBase + 5.0 * paddedSlices   ) / atlasDepth ) );\n\tvec4 s6 = texture( probesSH, vec3( uvw.xy, ( uvZBase + 6.0 * paddedSlices   ) / atlasDepth ) );\n\tvec3 c0 = s0.xyz;\n\tvec3 c1 = vec3( s0.w, s1.xy );\n\tvec3 c2 = vec3( s1.zw, s2.x );\n\tvec3 c3 = s2.yzw;\n\tvec3 c4 = s3.xyz;\n\tvec3 c5 = vec3( s3.w, s4.xy );\n\tvec3 c6 = vec3( s4.zw, s5.x );\n\tvec3 c7 = s5.yzw;\n\tvec3 c8 = s6.xyz;\n\tfloat x = worldNormal.x, y = worldNormal.y, z = worldNormal.z;\n\tvec3 result = c0 * 0.886227;\n\tresult += c1 * 2.0 * 0.511664 * y;\n\tresult += c2 * 2.0 * 0.511664 * z;\n\tresult += c3 * 2.0 * 0.511664 * x;\n\tresult += c4 * 2.0 * 0.429043 * x * y;\n\tresult += c5 * 2.0 * 0.429043 * y * z;\n\tresult += c6 * ( 0.743125 * z * z - 0.247708 );\n\tresult += c7 * 2.0 * 0.429043 * x * z;\n\tresult += c8 * 0.429043 * ( x * x - y * y );\n\treturn max( result, vec3( 0.0 ) );\n}\n#endif`,ws=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER )\n\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif`,Is=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif`,Ns=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif`,ys=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER\n\tvFragDepth = 1.0 + gl_Position.w;\n\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n#endif`,Fs=`#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif`,Os=`#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif`,Bs=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif`,Gs=`#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif`,Hs=`float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif`,Vs=`#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif`,ks=`#ifdef USE_INSTANCING_MORPH\n\tfloat morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\tfloat morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\tmorphTargetInfluences[i] =  texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;\n\t}\n#endif`,Ws=`#if defined( USE_MORPHCOLORS )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif`,zs=`#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t}\n#endif`,Xs=`#ifdef USE_MORPHTARGETS\n\t#ifndef USE_INSTANCING_MORPH\n\t\tuniform float morphTargetBaseInfluence;\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t#endif\n\tuniform sampler2DArray morphTargetsTexture;\n\tuniform ivec2 morphTargetsTextureSize;\n\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t}\n#endif`,Ks=`#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t}\n#endif`,Ys=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;`,qs=`#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#if defined( USE_PACKED_NORMALMAP )\n\t\tmapN = vec3( mapN.xy, sqrt( saturate( 1.0 - dot( mapN.xy, mapN.xy ) ) ) );\n\t#endif\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif`,Zs=`#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif`,$s=`#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif`,Qs=`#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif`,Js=`#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif`,js=`#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif`,el=`#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif`,tl=`#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif`,nl=`#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif`,il=`#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );`,rl=`vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.;\nconst float Inv255 = 1. / 255.;\nconst vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 );\nconst vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g );\nconst vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b );\nconst vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a );\nvec4 packDepthToRGBA( const in float v ) {\n\tif( v <= 0.0 )\n\t\treturn vec4( 0., 0., 0., 0. );\n\tif( v >= 1.0 )\n\t\treturn vec4( 1., 1., 1., 1. );\n\tfloat vuf;\n\tfloat af = modf( v * PackFactors.a, vuf );\n\tfloat bf = modf( vuf * ShiftRight8, vuf );\n\tfloat gf = modf( vuf * ShiftRight8, vuf );\n\treturn vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af );\n}\nvec3 packDepthToRGB( const in float v ) {\n\tif( v <= 0.0 )\n\t\treturn vec3( 0., 0., 0. );\n\tif( v >= 1.0 )\n\t\treturn vec3( 1., 1., 1. );\n\tfloat vuf;\n\tfloat bf = modf( v * PackFactors.b, vuf );\n\tfloat gf = modf( vuf * ShiftRight8, vuf );\n\treturn vec3( vuf * Inv255, gf * PackUpscale, bf );\n}\nvec2 packDepthToRG( const in float v ) {\n\tif( v <= 0.0 )\n\t\treturn vec2( 0., 0. );\n\tif( v >= 1.0 )\n\t\treturn vec2( 1., 1. );\n\tfloat vuf;\n\tfloat gf = modf( v * 256., vuf );\n\treturn vec2( vuf * Inv255, gf );\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors4 );\n}\nfloat unpackRGBToDepth( const in vec3 v ) {\n\treturn dot( v, UnpackFactors3 );\n}\nfloat unpackRGToDepth( const in vec2 v ) {\n\treturn v.r * UnpackFactors2.r + v.g * UnpackFactors2.g;\n}\nvec4 pack2HalfToRGBA( const in vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( const in vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\n\t\treturn depth * ( far - near ) - far;\n\t#else\n\t\treturn depth * ( near - far ) - near;\n\t#endif\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\t\n\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\treturn ( near * far ) / ( ( near - far ) * depth - near );\n\t#else\n\t\treturn ( near * far ) / ( ( far - near ) * depth - far );\n\t#endif\n}`,al=`#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif`,ol=`vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_BATCHING\n\tmvPosition = batchingMatrix * mvPosition;\n#endif\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;`,sl=`#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif`,ll=`#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif`,cl=`float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif`,fl=`#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif`,dl=`#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tuniform sampler2DShadow directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\t#else\n\t\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\t#endif\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowIntensity;\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tuniform sampler2DShadow spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\t#else\n\t\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\t#endif\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowIntensity;\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tuniform samplerCubeShadow pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\t#elif defined( SHADOWMAP_TYPE_BASIC )\n\t\t\tuniform samplerCube pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\t#endif\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowIntensity;\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\tfloat interleavedGradientNoise( vec2 position ) {\n\t\t\treturn fract( 52.9829189 * fract( dot( position, vec2( 0.06711056, 0.00583715 ) ) ) );\n\t\t}\n\t\tvec2 vogelDiskSample( int sampleIndex, int samplesCount, float phi ) {\n\t\t\tconst float goldenAngle = 2.399963229728653;\n\t\t\tfloat r = sqrt( ( float( sampleIndex ) + 0.5 ) / float( samplesCount ) );\n\t\t\tfloat theta = float( sampleIndex ) * goldenAngle + phi;\n\t\t\treturn vec2( cos( theta ), sin( theta ) ) * r;\n\t\t}\n\t#endif\n\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\tfloat getShadow( sampler2DShadow shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\t\tfloat shadow = 1.0;\n\t\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\t\tshadowCoord.z += shadowBias;\n\t\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\t\tif ( frustumTest ) {\n\t\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\t\tfloat radius = shadowRadius * texelSize.x;\n\t\t\t\tfloat phi = interleavedGradientNoise( gl_FragCoord.xy ) * PI2;\n\t\t\t\tshadow = (\n\t\t\t\t\ttexture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 0, 5, phi ) * radius, shadowCoord.z ) ) +\n\t\t\t\t\ttexture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 1, 5, phi ) * radius, shadowCoord.z ) ) +\n\t\t\t\t\ttexture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 2, 5, phi ) * radius, shadowCoord.z ) ) +\n\t\t\t\t\ttexture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 3, 5, phi ) * radius, shadowCoord.z ) ) +\n\t\t\t\t\ttexture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 4, 5, phi ) * radius, shadowCoord.z ) )\n\t\t\t\t) * 0.2;\n\t\t\t}\n\t\t\treturn mix( 1.0, shadow, shadowIntensity );\n\t\t}\n\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\t\tfloat shadow = 1.0;\n\t\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\t\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\t\t\tshadowCoord.z -= shadowBias;\n\t\t\t#else\n\t\t\t\tshadowCoord.z += shadowBias;\n\t\t\t#endif\n\t\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\t\tif ( frustumTest ) {\n\t\t\t\tvec2 distribution = texture2D( shadowMap, shadowCoord.xy ).rg;\n\t\t\t\tfloat mean = distribution.x;\n\t\t\t\tfloat variance = distribution.y * distribution.y;\n\t\t\t\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\t\t\t\tfloat hard_shadow = step( mean, shadowCoord.z );\n\t\t\t\t#else\n\t\t\t\t\tfloat hard_shadow = step( shadowCoord.z, mean );\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\tif ( hard_shadow == 1.0 ) {\n\t\t\t\t\tshadow = 1.0;\n\t\t\t\t} else {\n\t\t\t\t\tvariance = max( variance, 0.0000001 );\n\t\t\t\t\tfloat d = shadowCoord.z - mean;\n\t\t\t\t\tfloat p_max = variance / ( variance + d * d );\n\t\t\t\t\tp_max = clamp( ( p_max - 0.3 ) / 0.65, 0.0, 1.0 );\n\t\t\t\t\tshadow = max( hard_shadow, p_max );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mix( 1.0, shadow, shadowIntensity );\n\t\t}\n\t#else\n\t\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\t\tfloat shadow = 1.0;\n\t\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\t\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\t\t\tshadowCoord.z -= shadowBias;\n\t\t\t#else\n\t\t\t\tshadowCoord.z += shadowBias;\n\t\t\t#endif\n\t\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\t\tif ( frustumTest ) {\n\t\t\t\tfloat depth = texture2D( shadowMap, shadowCoord.xy ).r;\n\t\t\t\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\t\t\t\tshadow = step( depth, shadowCoord.z );\n\t\t\t\t#else\n\t\t\t\t\tshadow = step( shadowCoord.z, depth );\n\t\t\t\t#endif\n\t\t\t}\n\t\t\treturn mix( 1.0, shadow, shadowIntensity );\n\t\t}\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#if defined( SHADOWMAP_TYPE_PCF )\n\tfloat getPointShadow( samplerCubeShadow shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tfloat shadow = 1.0;\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\tvec3 absVec = abs( lightToPosition );\n\t\tfloat viewSpaceZ = max( max( absVec.x, absVec.y ), absVec.z );\n\t\tif ( viewSpaceZ - shadowCameraFar <= 0.0 && viewSpaceZ - shadowCameraNear >= 0.0 ) {\n\t\t\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\t\t\tfloat dp = ( shadowCameraNear * ( shadowCameraFar - viewSpaceZ ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );\n\t\t\t\tdp -= shadowBias;\n\t\t\t#else\n\t\t\t\tfloat dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );\n\t\t\t\tdp += shadowBias;\n\t\t\t#endif\n\t\t\tfloat texelSize = shadowRadius / shadowMapSize.x;\n\t\t\tvec3 absDir = abs( bd3D );\n\t\t\tvec3 tangent = absDir.x > absDir.z ? vec3( 0.0, 1.0, 0.0 ) : vec3( 1.0, 0.0, 0.0 );\n\t\t\ttangent = normalize( cross( bd3D, tangent ) );\n\t\t\tvec3 bitangent = cross( bd3D, tangent );\n\t\t\tfloat phi = interleavedGradientNoise( gl_FragCoord.xy ) * PI2;\n\t\t\tvec2 sample0 = vogelDiskSample( 0, 5, phi );\n\t\t\tvec2 sample1 = vogelDiskSample( 1, 5, phi );\n\t\t\tvec2 sample2 = vogelDiskSample( 2, 5, phi );\n\t\t\tvec2 sample3 = vogelDiskSample( 3, 5, phi );\n\t\t\tvec2 sample4 = vogelDiskSample( 4, 5, phi );\n\t\t\tshadow = (\n\t\t\t\ttexture( shadowMap, vec4( bd3D + ( tangent * sample0.x + bitangent * sample0.y ) * texelSize, dp ) ) +\n\t\t\t\ttexture( shadowMap, vec4( bd3D + ( tangent * sample1.x + bitangent * sample1.y ) * texelSize, dp ) ) +\n\t\t\t\ttexture( shadowMap, vec4( bd3D + ( tangent * sample2.x + bitangent * sample2.y ) * texelSize, dp ) ) +\n\t\t\t\ttexture( shadowMap, vec4( bd3D + ( tangent * sample3.x + bitangent * sample3.y ) * texelSize, dp ) ) +\n\t\t\t\ttexture( shadowMap, vec4( bd3D + ( tangent * sample4.x + bitangent * sample4.y ) * texelSize, dp ) )\n\t\t\t) * 0.2;\n\t\t}\n\t\treturn mix( 1.0, shadow, shadowIntensity );\n\t}\n\t#elif defined( SHADOWMAP_TYPE_BASIC )\n\tfloat getPointShadow( samplerCube shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tfloat shadow = 1.0;\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tvec3 absVec = abs( lightToPosition );\n\t\tfloat viewSpaceZ = max( max( absVec.x, absVec.y ), absVec.z );\n\t\tif ( viewSpaceZ - shadowCameraFar <= 0.0 && viewSpaceZ - shadowCameraNear >= 0.0 ) {\n\t\t\tfloat dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );\n\t\t\tdp += shadowBias;\n\t\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t\tfloat depth = textureCube( shadowMap, bd3D ).r;\n\t\t\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\t\t\tdepth = 1.0 - depth;\n\t\t\t#endif\n\t\t\tshadow = step( dp, depth );\n\t\t}\n\t\treturn mix( 1.0, shadow, shadowIntensity );\n\t}\n\t#endif\n\t#endif\n#endif`,ul=`#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowIntensity;\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowIntensity;\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowIntensity;\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif`,pl=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\t#ifdef HAS_NORMAL\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t#else\n\t\tvec3 shadowWorldNormal = vec3( 0.0 );\n\t#endif\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif`,hl=`float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0 && ( defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_BASIC ) )\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}`,ml=`#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif`,_l=`#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tint size = textureSize( boneTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\n\t}\n#endif`,gl=`#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif`,vl=`#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif`,Sl=`float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif`,El=`#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif`,xl=`#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif`,Ml=`#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 CineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n\tvec3( 0.6274, 0.0691, 0.0164 ),\n\tvec3( 0.3293, 0.9195, 0.0880 ),\n\tvec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n\tvec3 x2 = x * x;\n\tvec3 x4 = x2 * x2;\n\treturn + 15.5 * x4 * x2\n\t\t- 40.14 * x4 * x\n\t\t+ 31.96 * x4\n\t\t- 6.868 * x2 * x\n\t\t+ 0.4298 * x2\n\t\t+ 0.1191 * x\n\t\t- 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n\tconst mat3 AgXInsetMatrix = mat3(\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n\t);\n\tconst mat3 AgXOutsetMatrix = mat3(\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n\t);\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\n\tcolor *= toneMappingExposure;\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n\tcolor = AgXInsetMatrix * color;\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n\tcolor = clamp( color, 0.0, 1.0 );\n\tcolor = agxDefaultContrastApprox( color );\n\tcolor = AgXOutsetMatrix * color;\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n\tcolor = clamp( color, 0.0, 1.0 );\n\treturn color;\n}\nvec3 NeutralToneMapping( vec3 color ) {\n\tconst float StartCompression = 0.8 - 0.04;\n\tconst float Desaturation = 0.15;\n\tcolor *= toneMappingExposure;\n\tfloat x = min( color.r, min( color.g, color.b ) );\n\tfloat offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\n\tcolor -= offset;\n\tfloat peak = max( color.r, max( color.g, color.b ) );\n\tif ( peak < StartCompression ) return color;\n\tfloat d = 1. - StartCompression;\n\tfloat newPeak = 1. - d * d / ( peak + d - StartCompression );\n\tcolor *= newPeak / peak;\n\tfloat g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. );\n\treturn mix( color, vec3( newPeak ), g );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }`,Tl=`#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseContribution, material.specularColorBlended, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif`,Al=`#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec4 transmittedLight;\n\t\tvec3 transmittance;\n\t\t#ifdef USE_DISPERSION\n\t\t\tfloat halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;\n\t\t\tvec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );\n\t\t\tfor ( int i = 0; i < 3; i ++ ) {\n\t\t\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );\n\t\t\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\t\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\t\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\t\t\trefractionCoords += 1.0;\n\t\t\t\trefractionCoords /= 2.0;\n\t\t\t\tvec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );\n\t\t\t\ttransmittedLight[ i ] = transmissionSample[ i ];\n\t\t\t\ttransmittedLight.a += transmissionSample.a;\n\t\t\t\ttransmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];\n\t\t\t}\n\t\t\ttransmittedLight.a /= 3.0;\n\t\t#else\n\t\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\t\trefractionCoords += 1.0;\n\t\t\trefractionCoords /= 2.0;\n\t\t\ttransmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\t\ttransmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\t#endif\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif`,Rl=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif`,bl=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif`,Cl=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif`,Pl=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_BATCHING\n\t\tworldPosition = batchingMatrix * worldPosition;\n\t#endif\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif`,Ll=`varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}`,Ul=`uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}`,Dl=`varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}`,wl=`#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nuniform mat3 backgroundRotation;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, backgroundRotation * vWorldDirection );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}`,Il=`varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}`,Nl=`uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}`,yl=`#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <batching_vertex>\n\t#include <skinbase_vertex>\n\t#include <morphinstance_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}`,Fl=`#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <clipping_planes_fragment>\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <logdepthbuf_fragment>\n\t#ifdef USE_REVERSED_DEPTH_BUFFER\n\t\tfloat fragCoordZ = vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ];\n\t#else\n\t\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ] + 0.5;\n\t#endif\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#elif DEPTH_PACKING == 3202\n\t\tgl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 );\n\t#elif DEPTH_PACKING == 3203\n\t\tgl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 );\n\t#endif\n}`,Ol=`#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <batching_vertex>\n\t#include <skinbase_vertex>\n\t#include <morphinstance_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}`,Bl=`#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <clipping_planes_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = vec4( dist, 0.0, 0.0, 1.0 );\n}`,Gl=`varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}`,Hl=`uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n}`,Vl=`uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}`,kl=`uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}`,Wl=`#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <batching_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}`,zl=`uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}`,Xl=`#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}`,Kl=`#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}`,Yl=`#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}`,ql=`#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}`,Zl=`#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}`,$l=`#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( normalize( normal ) * 0.5 + 0.5, diffuseColor.a );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}`,Ql=`#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}`,Jl=`#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}`,jl=`#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}`,ec=`#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_DISPERSION\n\tuniform float dispersion;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n \n\t\toutgoingLight = outgoingLight + sheenSpecularDirect + sheenSpecularIndirect;\n \n \t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n\t#endif\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}`,tc=`#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <batching_pars_vertex>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}`,nc=`#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}`,ic=`uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include <color_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}`,rc=`uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}`,ac=`#include <common>\n#include <batching_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <batching_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphinstance_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}`,oc=`uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <logdepthbuf_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}`,sc=`uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix[ 3 ];\n\tvec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}`,lc=`uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n}`,Ue={alphahash_fragment:Lo,alphahash_pars_fragment:Uo,alphamap_fragment:Do,alphamap_pars_fragment:wo,alphatest_fragment:Io,alphatest_pars_fragment:No,aomap_fragment:yo,aomap_pars_fragment:Fo,batching_pars_vertex:Oo,batching_vertex:Bo,begin_vertex:Go,beginnormal_vertex:Ho,bsdfs:Vo,iridescence_fragment:ko,bumpmap_pars_fragment:Wo,clipping_planes_fragment:zo,clipping_planes_pars_fragment:Xo,clipping_planes_pars_vertex:Ko,clipping_planes_vertex:Yo,color_fragment:qo,color_pars_fragment:Zo,color_pars_vertex:$o,color_vertex:Qo,common:Jo,cube_uv_reflection_fragment:jo,defaultnormal_vertex:es,displacementmap_pars_vertex:ts,displacementmap_vertex:ns,emissivemap_fragment:is,emissivemap_pars_fragment:rs,colorspace_fragment:as,colorspace_pars_fragment:os,envmap_fragment:ss,envmap_common_pars_fragment:ls,envmap_pars_fragment:cs,envmap_pars_vertex:fs,envmap_physical_pars_fragment:xs,envmap_vertex:ds,fog_vertex:us,fog_pars_vertex:ps,fog_fragment:hs,fog_pars_fragment:ms,gradientmap_pars_fragment:_s,lightmap_pars_fragment:gs,lights_lambert_fragment:vs,lights_lambert_pars_fragment:Ss,lights_pars_begin:Es,lights_toon_fragment:Ms,lights_toon_pars_fragment:Ts,lights_phong_fragment:As,lights_phong_pars_fragment:Rs,lights_physical_fragment:bs,lights_physical_pars_fragment:Cs,lights_fragment_begin:Ps,lights_fragment_maps:Ls,lights_fragment_end:Us,lightprobes_pars_fragment:Ds,logdepthbuf_fragment:ws,logdepthbuf_pars_fragment:Is,logdepthbuf_pars_vertex:Ns,logdepthbuf_vertex:ys,map_fragment:Fs,map_pars_fragment:Os,map_particle_fragment:Bs,map_particle_pars_fragment:Gs,metalnessmap_fragment:Hs,metalnessmap_pars_fragment:Vs,morphinstance_vertex:ks,morphcolor_vertex:Ws,morphnormal_vertex:zs,morphtarget_pars_vertex:Xs,morphtarget_vertex:Ks,normal_fragment_begin:Ys,normal_fragment_maps:qs,normal_pars_fragment:Zs,normal_pars_vertex:$s,normal_vertex:Qs,normalmap_pars_fragment:Js,clearcoat_normal_fragment_begin:js,clearcoat_normal_fragment_maps:el,clearcoat_pars_fragment:tl,iridescence_pars_fragment:nl,opaque_fragment:il,packing:rl,premultiplied_alpha_fragment:al,project_vertex:ol,dithering_fragment:sl,dithering_pars_fragment:ll,roughnessmap_fragment:cl,roughnessmap_pars_fragment:fl,shadowmap_pars_fragment:dl,shadowmap_pars_vertex:ul,shadowmap_vertex:pl,shadowmask_pars_fragment:hl,skinbase_vertex:ml,skinning_pars_vertex:_l,skinning_vertex:gl,skinnormal_vertex:vl,specularmap_fragment:Sl,specularmap_pars_fragment:El,tonemapping_fragment:xl,tonemapping_pars_fragment:Ml,transmission_fragment:Tl,transmission_pars_fragment:Al,uv_pars_fragment:Rl,uv_pars_vertex:bl,uv_vertex:Cl,worldpos_vertex:Pl,background_vert:Ll,background_frag:Ul,backgroundCube_vert:Dl,backgroundCube_frag:wl,cube_vert:Il,cube_frag:Nl,depth_vert:yl,depth_frag:Fl,distance_vert:Ol,distance_frag:Bl,equirect_vert:Gl,equirect_frag:Hl,linedashed_vert:Vl,linedashed_frag:kl,meshbasic_vert:Wl,meshbasic_frag:zl,meshlambert_vert:Xl,meshlambert_frag:Kl,meshmatcap_vert:Yl,meshmatcap_frag:ql,meshnormal_vert:Zl,meshnormal_frag:$l,meshphong_vert:Ql,meshphong_frag:Jl,meshphysical_vert:jl,meshphysical_frag:ec,meshtoon_vert:tc,meshtoon_frag:nc,points_vert:ic,points_frag:rc,shadow_vert:ac,shadow_frag:oc,sprite_vert:sc,sprite_frag:lc},oe={common:{diffuse:{value:new je(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Oe},alphaMap:{value:null},alphaMapTransform:{value:new Oe},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Oe}},envmap:{envMap:{value:null},envMapRotation:{value:new Oe},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Oe}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Oe}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Oe},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Oe},normalScale:{value:new mt(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Oe},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Oe}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Oe}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Oe}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new je(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null},probesSH:{value:null},probesMin:{value:new Fe},probesMax:{value:new Fe},probesResolution:{value:new Fe}},points:{diffuse:{value:new je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Oe},alphaTest:{value:0},uvTransform:{value:new Oe}},sprite:{diffuse:{value:new je(16777215)},opacity:{value:1},center:{value:new mt(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Oe},alphaMap:{value:null},alphaMapTransform:{value:new Oe},alphaTest:{value:0}}},At={basic:{uniforms:pt([oe.common,oe.specularmap,oe.envmap,oe.aomap,oe.lightmap,oe.fog]),vertexShader:Ue.meshbasic_vert,fragmentShader:Ue.meshbasic_frag},lambert:{uniforms:pt([oe.common,oe.specularmap,oe.envmap,oe.aomap,oe.lightmap,oe.emissivemap,oe.bumpmap,oe.normalmap,oe.displacementmap,oe.fog,oe.lights,{emissive:{value:new je(0)},envMapIntensity:{value:1}}]),vertexShader:Ue.meshlambert_vert,fragmentShader:Ue.meshlambert_frag},phong:{uniforms:pt([oe.common,oe.specularmap,oe.envmap,oe.aomap,oe.lightmap,oe.emissivemap,oe.bumpmap,oe.normalmap,oe.displacementmap,oe.fog,oe.lights,{emissive:{value:new je(0)},specular:{value:new je(1118481)},shininess:{value:30},envMapIntensity:{value:1}}]),vertexShader:Ue.meshphong_vert,fragmentShader:Ue.meshphong_frag},standard:{uniforms:pt([oe.common,oe.envmap,oe.aomap,oe.lightmap,oe.emissivemap,oe.bumpmap,oe.normalmap,oe.displacementmap,oe.roughnessmap,oe.metalnessmap,oe.fog,oe.lights,{emissive:{value:new je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ue.meshphysical_vert,fragmentShader:Ue.meshphysical_frag},toon:{uniforms:pt([oe.common,oe.aomap,oe.lightmap,oe.emissivemap,oe.bumpmap,oe.normalmap,oe.displacementmap,oe.gradientmap,oe.fog,oe.lights,{emissive:{value:new je(0)}}]),vertexShader:Ue.meshtoon_vert,fragmentShader:Ue.meshtoon_frag},matcap:{uniforms:pt([oe.common,oe.bumpmap,oe.normalmap,oe.displacementmap,oe.fog,{matcap:{value:null}}]),vertexShader:Ue.meshmatcap_vert,fragmentShader:Ue.meshmatcap_frag},points:{uniforms:pt([oe.points,oe.fog]),vertexShader:Ue.points_vert,fragmentShader:Ue.points_frag},dashed:{uniforms:pt([oe.common,oe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ue.linedashed_vert,fragmentShader:Ue.linedashed_frag},depth:{uniforms:pt([oe.common,oe.displacementmap]),vertexShader:Ue.depth_vert,fragmentShader:Ue.depth_frag},normal:{uniforms:pt([oe.common,oe.bumpmap,oe.normalmap,oe.displacementmap,{opacity:{value:1}}]),vertexShader:Ue.meshnormal_vert,fragmentShader:Ue.meshnormal_frag},sprite:{uniforms:pt([oe.sprite,oe.fog]),vertexShader:Ue.sprite_vert,fragmentShader:Ue.sprite_frag},background:{uniforms:{uvTransform:{value:new Oe},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ue.background_vert,fragmentShader:Ue.background_frag},backgroundCube:{uniforms:{envMap:{value:null},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Oe}},vertexShader:Ue.backgroundCube_vert,fragmentShader:Ue.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ue.cube_vert,fragmentShader:Ue.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ue.equirect_vert,fragmentShader:Ue.equirect_frag},distance:{uniforms:pt([oe.common,oe.displacementmap,{referencePosition:{value:new Fe},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ue.distance_vert,fragmentShader:Ue.distance_frag},shadow:{uniforms:pt([oe.lights,oe.fog,{color:{value:new je(0)},opacity:{value:1}}]),vertexShader:Ue.shadow_vert,fragmentShader:Ue.shadow_frag}};At.physical={uniforms:pt([At.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Oe},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Oe},clearcoatNormalScale:{value:new mt(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Oe},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Oe},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Oe},sheen:{value:0},sheenColor:{value:new je(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Oe},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Oe},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Oe},transmissionSamplerSize:{value:new mt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Oe},attenuationDistance:{value:0},attenuationColor:{value:new je(0)},specularColor:{value:new je(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Oe},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Oe},anisotropyVector:{value:new mt},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Oe}}]),vertexShader:Ue.meshphysical_vert,fragmentShader:Ue.meshphysical_frag};var mn={r:0,b:0,g:0},cc=new Qt,Yr=new Oe;Yr.set(-1,0,0,0,1,0,0,0,1);function fc(e,n,t,i,l,a){let u=new je(0),m=l===!0?0:1,C,R,k=null,U=0,p=null;function E(h){let M=h.isScene===!0?h.background:null;if(M&&M.isTexture){let A=h.backgroundBlurriness>0;M=n.get(M,A)}return M}function D(h){let M=!1,A=E(h);A===null?c(u,m):A&&A.isColor&&(c(A,1),M=!0);let H=e.xr.getEnvironmentBlendMode();H===\"additive\"?t.buffers.color.setClear(0,0,0,1,a):H===\"alpha-blend\"&&t.buffers.color.setClear(0,0,0,0,a),(e.autoClear||M)&&(t.buffers.depth.setTest(!0),t.buffers.depth.setMask(!0),t.buffers.color.setMask(!0),e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil))}function G(h,M){let A=E(M);A&&(A.isCubeTexture||A.mapping===An)?(R===void 0&&(R=new wt(new ii(1,1,1),new It({name:\"BackgroundCubeMaterial\",uniforms:zn(At.backgroundCube.uniforms),vertexShader:At.backgroundCube.vertexShader,fragmentShader:At.backgroundCube.fragmentShader,side:St,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),R.geometry.deleteAttribute(\"normal\"),R.geometry.deleteAttribute(\"uv\"),R.onBeforeRender=function(H,_,I){this.matrixWorld.copyPosition(I.matrixWorld)},Object.defineProperty(R.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}}),i.update(R)),R.material.uniforms.envMap.value=A,R.material.uniforms.backgroundBlurriness.value=M.backgroundBlurriness,R.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,R.material.uniforms.backgroundRotation.value.setFromMatrix4(cc.makeRotationFromEuler(M.backgroundRotation)).transpose(),A.isCubeTexture&&A.isRenderTargetTexture===!1&&R.material.uniforms.backgroundRotation.value.premultiply(Yr),R.material.toneMapped=nt.getTransfer(A.colorSpace)!==$e,(k!==A||U!==A.version||p!==e.toneMapping)&&(R.material.needsUpdate=!0,k=A,U=A.version,p=e.toneMapping),R.layers.enableAll(),h.unshift(R,R.geometry,R.material,0,0,null)):A&&A.isTexture&&(C===void 0&&(C=new wt(new Ar(2,2),new It({name:\"BackgroundMaterial\",uniforms:zn(At.background.uniforms),vertexShader:At.background.vertexShader,fragmentShader:At.background.fragmentShader,side:ln,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),C.geometry.deleteAttribute(\"normal\"),Object.defineProperty(C.material,\"map\",{get:function(){return this.uniforms.t2D.value}}),i.update(C)),C.material.uniforms.t2D.value=A,C.material.uniforms.backgroundIntensity.value=M.backgroundIntensity,C.material.toneMapped=nt.getTransfer(A.colorSpace)!==$e,A.matrixAutoUpdate===!0&&A.updateMatrix(),C.material.uniforms.uvTransform.value.copy(A.matrix),(k!==A||U!==A.version||p!==e.toneMapping)&&(C.material.needsUpdate=!0,k=A,U=A.version,p=e.toneMapping),C.layers.enableAll(),h.unshift(C,C.geometry,C.material,0,0,null))}function c(h,M){h.getRGB(mn,Rr(e)),t.buffers.color.setClear(mn.r,mn.g,mn.b,M,a)}function s(){R!==void 0&&(R.geometry.dispose(),R.material.dispose(),R=void 0),C!==void 0&&(C.geometry.dispose(),C.material.dispose(),C=void 0)}return{getClearColor:function(){return u},setClearColor:function(h,M=1){u.set(h),m=M,c(u,m)},getClearAlpha:function(){return m},setClearAlpha:function(h){m=h,c(u,m)},render:D,addToRenderList:G,dispose:s}}function dc(e,n){let t=e.getParameter(e.MAX_VERTEX_ATTRIBS),i={},l=p(null),a=l,u=!1;function m(T,B,$,Y,N){let F=!1,O=U(T,Y,$,B);a!==O&&(a=O,R(a.object)),F=E(T,Y,$,N),F&&D(T,Y,$,N),N!==null&&n.update(N,e.ELEMENT_ARRAY_BUFFER),(F||u)&&(u=!1,A(T,B,$,Y),N!==null&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n.get(N).buffer))}function C(){return e.createVertexArray()}function R(T){return e.bindVertexArray(T)}function k(T){return e.deleteVertexArray(T)}function U(T,B,$,Y){let N=Y.wireframe===!0,F=i[B.id];F===void 0&&(F={},i[B.id]=F);let O=T.isInstancedMesh===!0?T.id:0,Q=F[O];Q===void 0&&(Q={},F[O]=Q);let de=Q[$.id];de===void 0&&(de={},Q[$.id]=de);let ve=de[N];return ve===void 0&&(ve=p(C()),de[N]=ve),ve}function p(T){let B=[],$=[],Y=[];for(let N=0;N<t;N++)B[N]=0,$[N]=0,Y[N]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:B,enabledAttributes:$,attributeDivisors:Y,object:T,attributes:{},index:null}}function E(T,B,$,Y){let N=a.attributes,F=B.attributes,O=0,Q=$.getAttributes();for(let de in Q)if(Q[de].location>=0){let Ae=N[de],xe=F[de];if(xe===void 0&&(de===\"instanceMatrix\"&&T.instanceMatrix&&(xe=T.instanceMatrix),de===\"instanceColor\"&&T.instanceColor&&(xe=T.instanceColor)),Ae===void 0||Ae.attribute!==xe||xe&&Ae.data!==xe.data)return!0;O++}return a.attributesNum!==O||a.index!==Y}function D(T,B,$,Y){let N={},F=B.attributes,O=0,Q=$.getAttributes();for(let de in Q)if(Q[de].location>=0){let Ae=F[de];Ae===void 0&&(de===\"instanceMatrix\"&&T.instanceMatrix&&(Ae=T.instanceMatrix),de===\"instanceColor\"&&T.instanceColor&&(Ae=T.instanceColor));let xe={};xe.attribute=Ae,Ae&&Ae.data&&(xe.data=Ae.data),N[de]=xe,O++}a.attributes=N,a.attributesNum=O,a.index=Y}function G(){let T=a.newAttributes;for(let B=0,$=T.length;B<$;B++)T[B]=0}function c(T){s(T,0)}function s(T,B){let $=a.newAttributes,Y=a.enabledAttributes,N=a.attributeDivisors;$[T]=1,Y[T]===0&&(e.enableVertexAttribArray(T),Y[T]=1),N[T]!==B&&(e.vertexAttribDivisor(T,B),N[T]=B)}function h(){let T=a.newAttributes,B=a.enabledAttributes;for(let $=0,Y=B.length;$<Y;$++)B[$]!==T[$]&&(e.disableVertexAttribArray($),B[$]=0)}function M(T,B,$,Y,N,F,O){O===!0?e.vertexAttribIPointer(T,B,$,N,F):e.vertexAttribPointer(T,B,$,Y,N,F)}function A(T,B,$,Y){G();let N=Y.attributes,F=$.getAttributes(),O=B.defaultAttributeValues;for(let Q in F){let de=F[Q];if(de.location>=0){let ve=N[Q];if(ve===void 0&&(Q===\"instanceMatrix\"&&T.instanceMatrix&&(ve=T.instanceMatrix),Q===\"instanceColor\"&&T.instanceColor&&(ve=T.instanceColor)),ve!==void 0){let Ae=ve.normalized,xe=ve.itemSize,Ve=n.get(ve);if(Ve===void 0)continue;let Ye=Ve.buffer,we=Ve.type,K=Ve.bytesPerElement,ce=we===e.INT||we===e.UNSIGNED_INT||ve.gpuType===br;if(ve.isInterleavedBufferAttribute){let te=ve.data,Me=te.stride,be=ve.offset;if(te.isInstancedInterleavedBuffer){for(let Te=0;Te<de.locationSize;Te++)s(de.location+Te,te.meshPerAttribute);T.isInstancedMesh!==!0&&Y._maxInstanceCount===void 0&&(Y._maxInstanceCount=te.meshPerAttribute*te.count)}else for(let Te=0;Te<de.locationSize;Te++)c(de.location+Te);e.bindBuffer(e.ARRAY_BUFFER,Ye);for(let Te=0;Te<de.locationSize;Te++)M(de.location+Te,xe/de.locationSize,we,Ae,Me*K,(be+xe/de.locationSize*Te)*K,ce)}else{if(ve.isInstancedBufferAttribute){for(let te=0;te<de.locationSize;te++)s(de.location+te,ve.meshPerAttribute);T.isInstancedMesh!==!0&&Y._maxInstanceCount===void 0&&(Y._maxInstanceCount=ve.meshPerAttribute*ve.count)}else for(let te=0;te<de.locationSize;te++)c(de.location+te);e.bindBuffer(e.ARRAY_BUFFER,Ye);for(let te=0;te<de.locationSize;te++)M(de.location+te,xe/de.locationSize,we,Ae,xe*K,xe/de.locationSize*te*K,ce)}}else if(O!==void 0){let Ae=O[Q];if(Ae!==void 0)switch(Ae.length){case 2:e.vertexAttrib2fv(de.location,Ae);break;case 3:e.vertexAttrib3fv(de.location,Ae);break;case 4:e.vertexAttrib4fv(de.location,Ae);break;default:e.vertexAttrib1fv(de.location,Ae)}}}}h()}function H(){v();for(let T in i){let B=i[T];for(let $ in B){let Y=B[$];for(let N in Y){let F=Y[N];for(let O in F)k(F[O].object),delete F[O];delete Y[N]}}delete i[T]}}function _(T){if(i[T.id]===void 0)return;let B=i[T.id];for(let $ in B){let Y=B[$];for(let N in Y){let F=Y[N];for(let O in F)k(F[O].object),delete F[O];delete Y[N]}}delete i[T.id]}function I(T){for(let B in i){let $=i[B];for(let Y in $){let N=$[Y];if(N[T.id]===void 0)continue;let F=N[T.id];for(let O in F)k(F[O].object),delete F[O];delete N[T.id]}}}function d(T){for(let B in i){let $=i[B],Y=T.isInstancedMesh===!0?T.id:0,N=$[Y];if(N!==void 0){for(let F in N){let O=N[F];for(let Q in O)k(O[Q].object),delete O[Q];delete N[F]}delete $[Y],Object.keys($).length===0&&delete i[B]}}}function v(){y(),u=!0,a!==l&&(a=l,R(a.object))}function y(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:m,reset:v,resetDefaultState:y,dispose:H,releaseStatesOfGeometry:_,releaseStatesOfObject:d,releaseStatesOfProgram:I,initAttributes:G,enableAttribute:c,disableUnusedAttributes:h}}function uc(e,n,t){let i;function l(C){i=C}function a(C,R){e.drawArrays(i,C,R),t.update(R,i,1)}function u(C,R,k){k!==0&&(e.drawArraysInstanced(i,C,R,k),t.update(R,i,k))}function m(C,R,k){if(k===0)return;n.get(\"WEBGL_multi_draw\").multiDrawArraysWEBGL(i,C,0,R,0,k);let p=0;for(let E=0;E<k;E++)p+=R[E];t.update(p,i,1)}this.setMode=l,this.render=a,this.renderInstances=u,this.renderMultiDraw=m}function pc(e,n,t,i){let l;function a(){if(l!==void 0)return l;if(n.has(\"EXT_texture_filter_anisotropic\")===!0){let I=n.get(\"EXT_texture_filter_anisotropic\");l=e.getParameter(I.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else l=0;return l}function u(I){return!(I!==Ut&&i.convert(I)!==e.getParameter(e.IMPLEMENTATION_COLOR_READ_FORMAT))}function m(I){let d=I===Gt&&(n.has(\"EXT_color_buffer_half_float\")||n.has(\"EXT_color_buffer_float\"));return!(I!==Rt&&i.convert(I)!==e.getParameter(e.IMPLEMENTATION_COLOR_READ_TYPE)&&I!==Ot&&!d)}function C(I){if(I===\"highp\"){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return\"highp\";I=\"mediump\"}return I===\"mediump\"&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}let R=t.precision!==void 0?t.precision:\"highp\",k=C(R);k!==R&&(He(\"WebGLRenderer:\",R,\"not supported, using\",k,\"instead.\"),R=k);let U=t.logarithmicDepthBuffer===!0,p=t.reversedDepthBuffer===!0&&n.has(\"EXT_clip_control\");t.reversedDepthBuffer===!0&&p===!1&&He(\"WebGLRenderer: Unable to use reversed depth buffer due to missing EXT_clip_control extension. Fallback to default depth buffer.\");let E=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),D=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),G=e.getParameter(e.MAX_TEXTURE_SIZE),c=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),s=e.getParameter(e.MAX_VERTEX_ATTRIBS),h=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),M=e.getParameter(e.MAX_VARYING_VECTORS),A=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),H=e.getParameter(e.MAX_SAMPLES),_=e.getParameter(e.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:C,textureFormatReadable:u,textureTypeReadable:m,precision:R,logarithmicDepthBuffer:U,reversedDepthBuffer:p,maxTextures:E,maxVertexTextures:D,maxTextureSize:G,maxCubemapSize:c,maxAttributes:s,maxVertexUniforms:h,maxVaryings:M,maxFragmentUniforms:A,maxSamples:H,samples:_}}function hc(e){let n=this,t=null,i=0,l=!1,a=!1,u=new sa,m=new Oe,C={value:null,needsUpdate:!1};this.uniform=C,this.numPlanes=0,this.numIntersection=0,this.init=function(U,p){let E=U.length!==0||p||i!==0||l;return l=p,i=U.length,E},this.beginShadows=function(){a=!0,k(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(U,p){t=k(U,p,0)},this.setState=function(U,p,E){let D=U.clippingPlanes,G=U.clipIntersection,c=U.clipShadows,s=e.get(U);if(!l||D===null||D.length===0||a&&!c)a?k(null):R();else{let h=a?0:i,M=h*4,A=s.clippingState||null;C.value=A,A=k(D,p,M,E);for(let H=0;H!==M;++H)A[H]=t[H];s.clippingState=A,this.numIntersection=G?this.numPlanes:0,this.numPlanes+=h}};function R(){C.value!==t&&(C.value=t,C.needsUpdate=i>0),n.numPlanes=i,n.numIntersection=0}function k(U,p,E,D){let G=U!==null?U.length:0,c=null;if(G!==0){if(c=C.value,D!==!0||c===null){let s=E+G*4,h=p.matrixWorldInverse;m.getNormalMatrix(h),(c===null||c.length<s)&&(c=new Float32Array(s));for(let M=0,A=E;M!==G;++M,A+=4)u.copy(U[M]).applyMatrix4(h,m),u.normal.toArray(c,A),c[A+3]=u.constant}C.value=c,C.needsUpdate=!0}return n.numPlanes=G,n.numIntersection=0,c}}var Bt=4,tr=[.125,.215,.35,.446,.526,.582],Vt=20,mc=256,rn=new Cr,nr=new je,Bn=null,Gn=0,Hn=0,Vn=!1,_c=new Fe,Mn=class{constructor(n){this._renderer=n,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null}fromScene(n,t=0,i=.1,l=100,a={}){let{size:u=256,position:m=_c}=a;Bn=this._renderer.getRenderTarget(),Gn=this._renderer.getActiveCubeFace(),Hn=this._renderer.getActiveMipmapLevel(),Vn=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(u);let C=this._allocateTargets();return C.depthBuffer=!0,this._sceneToCubeUV(n,i,l,C,m),t>0&&this._blur(C,0,0,t),this._applyPMREM(C),this._cleanup(C),C}fromEquirectangular(n,t=null){return this._fromTexture(n,t)}fromCubemap(n,t=null){return this._fromTexture(n,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=ar(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=rr(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSize(n){this._lodMax=Math.floor(Math.log2(n)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let n=0;n<this._lodMeshes.length;n++)this._lodMeshes[n].geometry.dispose()}_cleanup(n){this._renderer.setRenderTarget(Bn,Gn,Hn),this._renderer.xr.enabled=Vn,n.scissorTest=!1,Kt(n,0,0,n.width,n.height)}_fromTexture(n,t){n.mapping===cn||n.mapping===Jt?this._setSize(n.image.length===0?16:n.image[0].width||n.image[0].image.width):this._setSize(n.image.width/4),Bn=this._renderer.getRenderTarget(),Gn=this._renderer.getActiveCubeFace(),Hn=this._renderer.getActiveMipmapLevel(),Vn=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;let i=t||this._allocateTargets();return this._textureToCubeUV(n,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){let n=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,i={magFilter:vt,minFilter:vt,generateMipmaps:!1,type:Gt,format:Ut,colorSpace:Pr,depthBuffer:!1},l=ir(n,t,i);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==n||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=ir(n,t,i);let{_lodMax:a}=this;({lodMeshes:this._lodMeshes,sizeLods:this._sizeLods,sigmas:this._sigmas}=gc(a)),this._blurMaterial=Sc(a,n,t),this._ggxMaterial=vc(a,n,t)}return l}_compileMaterial(n){let t=new wt(new Rn,n);this._renderer.compile(t,rn)}_sceneToCubeUV(n,t,i,l,a){let C=new gn(90,1,t,i),R=[1,-1,1,1,1,1],k=[1,1,1,-1,-1,-1],U=this._renderer,p=U.autoClear,E=U.toneMapping;U.getClearColor(nr),U.toneMapping=bt,U.autoClear=!1,U.state.buffers.depth.getReversed()&&(U.setRenderTarget(l),U.clearDepth(),U.setRenderTarget(null)),this._backgroundBox===null&&(this._backgroundBox=new wt(new ii,new la({name:\"PMREM.Background\",side:St,depthWrite:!1,depthTest:!1})));let G=this._backgroundBox,c=G.material,s=!1,h=n.background;h?h.isColor&&(c.color.copy(h),n.background=null,s=!0):(c.color.copy(nr),s=!0);for(let M=0;M<6;M++){let A=M%3;A===0?(C.up.set(0,R[M],0),C.position.set(a.x,a.y,a.z),C.lookAt(a.x+k[M],a.y,a.z)):A===1?(C.up.set(0,0,R[M]),C.position.set(a.x,a.y,a.z),C.lookAt(a.x,a.y+k[M],a.z)):(C.up.set(0,R[M],0),C.position.set(a.x,a.y,a.z),C.lookAt(a.x,a.y,a.z+k[M]));let H=this._cubeSize;Kt(l,A*H,M>2?H:0,H,H),U.setRenderTarget(l),s&&U.render(G,C),U.render(n,C)}U.toneMapping=E,U.autoClear=p,n.background=h}_textureToCubeUV(n,t){let i=this._renderer,l=n.mapping===cn||n.mapping===Jt;l?(this._cubemapMaterial===null&&(this._cubemapMaterial=ar()),this._cubemapMaterial.uniforms.flipEnvMap.value=n.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=rr());let a=l?this._cubemapMaterial:this._equirectMaterial,u=this._lodMeshes[0];u.material=a;let m=a.uniforms;m.envMap.value=n;let C=this._cubeSize;Kt(t,0,0,3*C,2*C),i.setRenderTarget(t),i.render(u,rn)}_applyPMREM(n){let t=this._renderer,i=t.autoClear;t.autoClear=!1;let l=this._lodMeshes.length;for(let a=1;a<l;a++)this._applyGGXFilter(n,a-1,a);t.autoClear=i}_applyGGXFilter(n,t,i){let l=this._renderer,a=this._pingPongRenderTarget,u=this._ggxMaterial,m=this._lodMeshes[i];m.material=u;let C=u.uniforms,R=i/(this._lodMeshes.length-1),k=t/(this._lodMeshes.length-1),U=Math.sqrt(R*R-k*k),p=0+R*1.25,E=U*p,{_lodMax:D}=this,G=this._sizeLods[i],c=3*G*(i>D-Bt?i-D+Bt:0),s=4*(this._cubeSize-G);C.envMap.value=n.texture,C.roughness.value=E,C.mipInt.value=D-t,Kt(a,c,s,3*G,2*G),l.setRenderTarget(a),l.render(m,rn),C.envMap.value=a.texture,C.roughness.value=0,C.mipInt.value=D-i,Kt(n,c,s,3*G,2*G),l.setRenderTarget(n),l.render(m,rn)}_blur(n,t,i,l,a){let u=this._pingPongRenderTarget;this._halfBlur(n,u,t,i,l,\"latitudinal\",a),this._halfBlur(u,n,i,i,l,\"longitudinal\",a)}_halfBlur(n,t,i,l,a,u,m){let C=this._renderer,R=this._blurMaterial;u!==\"latitudinal\"&&u!==\"longitudinal\"&&Qe(\"blur direction must be either latitudinal or longitudinal!\");let k=3,U=this._lodMeshes[l];U.material=R;let p=R.uniforms,E=this._sizeLods[i]-1,D=isFinite(a)?Math.PI/(2*E):2*Math.PI/(2*Vt-1),G=a/D,c=isFinite(a)?1+Math.floor(k*G):Vt;c>Vt&&He(`sigmaRadians, ${a}, is too large and will clip, as it requested ${c} samples when the maximum is set to ${Vt}`);let s=[],h=0;for(let I=0;I<Vt;++I){let d=I/G,v=Math.exp(-d*d/2);s.push(v),I===0?h+=v:I<c&&(h+=2*v)}for(let I=0;I<s.length;I++)s[I]=s[I]/h;p.envMap.value=n.texture,p.samples.value=c,p.weights.value=s,p.latitudinal.value=u===\"latitudinal\",m&&(p.poleAxis.value=m);let{_lodMax:M}=this;p.dTheta.value=D,p.mipInt.value=M-i;let A=this._sizeLods[l],H=3*A*(l>M-Bt?l-M+Bt:0),_=4*(this._cubeSize-A);Kt(t,H,_,3*A,2*A),C.setRenderTarget(t),C.render(U,rn)}};function gc(e){let n=[],t=[],i=[],l=e,a=e-Bt+1+tr.length;for(let u=0;u<a;u++){let m=Math.pow(2,l);n.push(m);let C=1/m;u>e-Bt?C=tr[u-e+Bt-1]:u===0&&(C=0),t.push(C);let R=1/(m-2),k=-R,U=1+R,p=[k,k,U,k,U,U,k,k,U,U,k,U],E=6,D=6,G=3,c=2,s=1,h=new Float32Array(G*D*E),M=new Float32Array(c*D*E),A=new Float32Array(s*D*E);for(let _=0;_<E;_++){let I=_%3*2/3-1,d=_>2?0:-1,v=[I,d,0,I+2/3,d,0,I+2/3,d+1,0,I,d,0,I+2/3,d+1,0,I,d+1,0];h.set(v,G*D*_),M.set(p,c*D*_);let y=[_,_,_,_,_,_];A.set(y,s*D*_)}let H=new Rn;H.setAttribute(\"position\",new vn(h,G)),H.setAttribute(\"uv\",new vn(M,c)),H.setAttribute(\"faceIndex\",new vn(A,s)),i.push(new wt(H,null)),l>Bt&&l--}return{lodMeshes:i,sizeLods:n,sigmas:t}}function ir(e,n,t){let i=new Ct(e,n,t);return i.texture.mapping=An,i.texture.name=\"PMREM.cubeUv\",i.scissorTest=!0,i}function Kt(e,n,t,i,l){e.viewport.set(n,t,i,l),e.scissor.set(n,t,i,l)}function vc(e,n,t){return new It({name:\"PMREMGGXConvolution\",defines:{GGX_SAMPLES:mc,CUBEUV_TEXEL_WIDTH:1/n,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:bn(),fragmentShader:`\n\n\t\t\tprecision highp float;\n\t\t\tprecision highp int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform float roughness;\n\t\t\tuniform float mipInt;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\t#define PI 3.14159265359\n\n\t\t\t// Van der Corput radical inverse\n\t\t\tfloat radicalInverse_VdC(uint bits) {\n\t\t\t\tbits = (bits << 16u) | (bits >> 16u);\n\t\t\t\tbits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u);\n\t\t\t\tbits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u);\n\t\t\t\tbits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u);\n\t\t\t\tbits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u);\n\t\t\t\treturn float(bits) * 2.3283064365386963e-10; // / 0x100000000\n\t\t\t}\n\n\t\t\t// Hammersley sequence\n\t\t\tvec2 hammersley(uint i, uint N) {\n\t\t\t\treturn vec2(float(i) / float(N), radicalInverse_VdC(i));\n\t\t\t}\n\n\t\t\t// GGX VNDF importance sampling (Eric Heitz 2018)\n\t\t\t// \"Sampling the GGX Distribution of Visible Normals\"\n\t\t\t// https://jcgt.org/published/0007/04/01/\n\t\t\tvec3 importanceSampleGGX_VNDF(vec2 Xi, vec3 V, float roughness) {\n\t\t\t\tfloat alpha = roughness * roughness;\n\n\t\t\t\t// Section 4.1: Orthonormal basis\n\t\t\t\tvec3 T1 = vec3(1.0, 0.0, 0.0);\n\t\t\t\tvec3 T2 = cross(V, T1);\n\n\t\t\t\t// Section 4.2: Parameterization of projected area\n\t\t\t\tfloat r = sqrt(Xi.x);\n\t\t\t\tfloat phi = 2.0 * PI * Xi.y;\n\t\t\t\tfloat t1 = r * cos(phi);\n\t\t\t\tfloat t2 = r * sin(phi);\n\t\t\t\tfloat s = 0.5 * (1.0 + V.z);\n\t\t\t\tt2 = (1.0 - s) * sqrt(1.0 - t1 * t1) + s * t2;\n\n\t\t\t\t// Section 4.3: Reprojection onto hemisphere\n\t\t\t\tvec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * V;\n\n\t\t\t\t// Section 3.4: Transform back to ellipsoid configuration\n\t\t\t\treturn normalize(vec3(alpha * Nh.x, alpha * Nh.y, max(0.0, Nh.z)));\n\t\t\t}\n\n\t\t\tvoid main() {\n\t\t\t\tvec3 N = normalize(vOutputDirection);\n\t\t\t\tvec3 V = N; // Assume view direction equals normal for pre-filtering\n\n\t\t\t\tvec3 prefilteredColor = vec3(0.0);\n\t\t\t\tfloat totalWeight = 0.0;\n\n\t\t\t\t// For very low roughness, just sample the environment directly\n\t\t\t\tif (roughness < 0.001) {\n\t\t\t\t\tgl_FragColor = vec4(bilinearCubeUV(envMap, N, mipInt), 1.0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Tangent space basis for VNDF sampling\n\t\t\t\tvec3 up = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);\n\t\t\t\tvec3 tangent = normalize(cross(up, N));\n\t\t\t\tvec3 bitangent = cross(N, tangent);\n\n\t\t\t\tfor(uint i = 0u; i < uint(GGX_SAMPLES); i++) {\n\t\t\t\t\tvec2 Xi = hammersley(i, uint(GGX_SAMPLES));\n\n\t\t\t\t\t// For PMREM, V = N, so in tangent space V is always (0, 0, 1)\n\t\t\t\t\tvec3 H_tangent = importanceSampleGGX_VNDF(Xi, vec3(0.0, 0.0, 1.0), roughness);\n\n\t\t\t\t\t// Transform H back to world space\n\t\t\t\t\tvec3 H = normalize(tangent * H_tangent.x + bitangent * H_tangent.y + N * H_tangent.z);\n\t\t\t\t\tvec3 L = normalize(2.0 * dot(V, H) * H - V);\n\n\t\t\t\t\tfloat NdotL = max(dot(N, L), 0.0);\n\n\t\t\t\t\tif(NdotL > 0.0) {\n\t\t\t\t\t\t// Sample environment at fixed mip level\n\t\t\t\t\t\t// VNDF importance sampling handles the distribution filtering\n\t\t\t\t\t\tvec3 sampleColor = bilinearCubeUV(envMap, L, mipInt);\n\n\t\t\t\t\t\t// Weight by NdotL for the split-sum approximation\n\t\t\t\t\t\t// VNDF PDF naturally accounts for the visible microfacet distribution\n\t\t\t\t\t\tprefilteredColor += sampleColor * NdotL;\n\t\t\t\t\t\ttotalWeight += NdotL;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (totalWeight > 0.0) {\n\t\t\t\t\tprefilteredColor = prefilteredColor / totalWeight;\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = vec4(prefilteredColor, 1.0);\n\t\t\t}\n\t\t`,blending:Dt,depthTest:!1,depthWrite:!1})}function Sc(e,n,t){let i=new Float32Array(Vt),l=new Fe(0,1,0);return new It({name:\"SphericalGaussianBlur\",defines:{n:Vt,CUBEUV_TEXEL_WIDTH:1/n,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:l}},vertexShader:bn(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t`,blending:Dt,depthTest:!1,depthWrite:!1})}function rr(){return new It({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null}},vertexShader:bn(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t`,blending:Dt,depthTest:!1,depthWrite:!1})}function ar(){return new It({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:bn(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t`,blending:Dt,depthTest:!1,depthWrite:!1})}function bn(){return`\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t`}var Tn=class extends Ct{constructor(n=1,t={}){super(n,n,t),this.isWebGLCubeRenderTarget=!0;let i={width:n,height:n,depth:1},l=[i,i,i,i,i,i];this.texture=new Lr(l),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(n,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let i={uniforms:{tEquirect:{value:null}},vertexShader:`\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t`,fragmentShader:`\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t`},l=new ii(5,5,5),a=new It({name:\"CubemapFromEquirect\",uniforms:zn(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:St,blending:Dt});a.uniforms.tEquirect.value=t;let u=new wt(l,a),m=t.minFilter;return t.minFilter===qt&&(t.minFilter=vt),new ca(1,10,this).update(n,u),t.minFilter=m,u.geometry.dispose(),u.material.dispose(),this}clear(n,t=!0,i=!0,l=!0){let a=n.getRenderTarget();for(let u=0;u<6;u++)n.setRenderTarget(this,u),n.clear(t,i,l);n.setRenderTarget(a)}};function Ec(e){let n=new WeakMap,t=new WeakMap,i=null;function l(p,E=!1){return p==null?null:E?u(p):a(p)}function a(p){if(p&&p.isTexture){let E=p.mapping;if(E===Un||E===Dn)if(n.has(p)){let D=n.get(p).texture;return m(D,p.mapping)}else{let D=p.image;if(D&&D.height>0){let G=new Tn(D.height);return G.fromEquirectangularTexture(e,p),n.set(p,G),p.addEventListener(\"dispose\",R),m(G.texture,p.mapping)}else return null}}return p}function u(p){if(p&&p.isTexture){let E=p.mapping,D=E===Un||E===Dn,G=E===cn||E===Jt;if(D||G){let c=t.get(p),s=c!==void 0?c.texture.pmremVersion:0;if(p.isRenderTargetTexture&&p.pmremVersion!==s)return i===null&&(i=new Mn(e)),c=D?i.fromEquirectangular(p,c):i.fromCubemap(p,c),c.texture.pmremVersion=p.pmremVersion,t.set(p,c),c.texture;if(c!==void 0)return c.texture;{let h=p.image;return D&&h&&h.height>0||G&&h&&C(h)?(i===null&&(i=new Mn(e)),c=D?i.fromEquirectangular(p):i.fromCubemap(p),c.texture.pmremVersion=p.pmremVersion,t.set(p,c),p.addEventListener(\"dispose\",k),c.texture):null}}}return p}function m(p,E){return E===Un?p.mapping=cn:E===Dn&&(p.mapping=Jt),p}function C(p){let E=0,D=6;for(let G=0;G<D;G++)p[G]!==void 0&&E++;return E===D}function R(p){let E=p.target;E.removeEventListener(\"dispose\",R);let D=n.get(E);D!==void 0&&(n.delete(E),D.dispose())}function k(p){let E=p.target;E.removeEventListener(\"dispose\",k);let D=t.get(E);D!==void 0&&(t.delete(E),D.dispose())}function U(){n=new WeakMap,t=new WeakMap,i!==null&&(i.dispose(),i=null)}return{get:l,dispose:U}}function xc(e){let n={};function t(i){if(n[i]!==void 0)return n[i];let l=e.getExtension(i);return n[i]=l,l}return{has:function(i){return t(i)!==null},init:function(){t(\"EXT_color_buffer_float\"),t(\"WEBGL_clip_cull_distance\"),t(\"OES_texture_float_linear\"),t(\"EXT_color_buffer_half_float\"),t(\"WEBGL_multisampled_render_to_texture\"),t(\"WEBGL_render_shared_exponent\")},get:function(i){let l=t(i);return l===null&&fa(\"WebGLRenderer: \"+i+\" extension not supported.\"),l}}}function Mc(e,n,t,i){let l={},a=new WeakMap;function u(U){let p=U.target;p.index!==null&&n.remove(p.index);for(let D in p.attributes)n.remove(p.attributes[D]);p.removeEventListener(\"dispose\",u),delete l[p.id];let E=a.get(p);E&&(n.remove(E),a.delete(p)),i.releaseStatesOfGeometry(p),p.isInstancedBufferGeometry===!0&&delete p._maxInstanceCount,t.memory.geometries--}function m(U,p){return l[p.id]===!0||(p.addEventListener(\"dispose\",u),l[p.id]=!0,t.memory.geometries++),p}function C(U){let p=U.attributes;for(let E in p)n.update(p[E],e.ARRAY_BUFFER)}function R(U){let p=[],E=U.index,D=U.attributes.position,G=0;if(D===void 0)return;if(E!==null){let h=E.array;G=E.version;for(let M=0,A=h.length;M<A;M+=3){let H=h[M+0],_=h[M+1],I=h[M+2];p.push(H,_,_,I,I,H)}}else{let h=D.array;G=D.version;for(let M=0,A=h.length/3-1;M<A;M+=3){let H=M+0,_=M+1,I=M+2;p.push(H,_,_,I,I,H)}}let c=new(D.count>=65535?da:ua)(p,1);c.version=G;let s=a.get(U);s&&n.remove(s),a.set(U,c)}function k(U){let p=a.get(U);if(p){let E=U.index;E!==null&&p.version<E.version&&R(U)}else R(U);return a.get(U)}return{get:m,update:C,getWireframeAttribute:k}}function Tc(e,n,t){let i;function l(U){i=U}let a,u;function m(U){a=U.type,u=U.bytesPerElement}function C(U,p){e.drawElements(i,p,a,U*u),t.update(p,i,1)}function R(U,p,E){E!==0&&(e.drawElementsInstanced(i,p,a,U*u,E),t.update(p,i,E))}function k(U,p,E){if(E===0)return;n.get(\"WEBGL_multi_draw\").multiDrawElementsWEBGL(i,p,0,a,U,0,E);let G=0;for(let c=0;c<E;c++)G+=p[c];t.update(G,i,1)}this.setMode=l,this.setIndex=m,this.render=C,this.renderInstances=R,this.renderMultiDraw=k}function Ac(e){let n={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function i(a,u,m){switch(t.calls++,u){case e.TRIANGLES:t.triangles+=m*(a/3);break;case e.LINES:t.lines+=m*(a/2);break;case e.LINE_STRIP:t.lines+=m*(a-1);break;case e.LINE_LOOP:t.lines+=m*a;break;case e.POINTS:t.points+=m*a;break;default:Qe(\"WebGLInfo: Unknown draw mode:\",u);break}}function l(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:n,render:t,programs:null,autoReset:!0,reset:l,update:i}}function Rc(e,n,t){let i=new WeakMap,l=new ht;function a(u,m,C){let R=u.morphTargetInfluences,k=m.morphAttributes.position||m.morphAttributes.normal||m.morphAttributes.color,U=k!==void 0?k.length:0,p=i.get(m);if(p===void 0||p.count!==U){let v=function(){I.dispose(),i.delete(m),m.removeEventListener(\"dispose\",v)};p!==void 0&&p.texture.dispose();let E=m.morphAttributes.position!==void 0,D=m.morphAttributes.normal!==void 0,G=m.morphAttributes.color!==void 0,c=m.morphAttributes.position||[],s=m.morphAttributes.normal||[],h=m.morphAttributes.color||[],M=0;E===!0&&(M=1),D===!0&&(M=2),G===!0&&(M=3);let A=m.attributes.position.count*M,H=1;A>n.maxTextureSize&&(H=Math.ceil(A/n.maxTextureSize),A=n.maxTextureSize);let _=new Float32Array(A*H*4*U),I=new Ur(_,A,H,U);I.type=Ot,I.needsUpdate=!0;let d=M*4;for(let y=0;y<U;y++){let T=c[y],B=s[y],$=h[y],Y=A*H*4*y;for(let N=0;N<T.count;N++){let F=N*d;E===!0&&(l.fromBufferAttribute(T,N),_[Y+F+0]=l.x,_[Y+F+1]=l.y,_[Y+F+2]=l.z,_[Y+F+3]=0),D===!0&&(l.fromBufferAttribute(B,N),_[Y+F+4]=l.x,_[Y+F+5]=l.y,_[Y+F+6]=l.z,_[Y+F+7]=0),G===!0&&(l.fromBufferAttribute($,N),_[Y+F+8]=l.x,_[Y+F+9]=l.y,_[Y+F+10]=l.z,_[Y+F+11]=$.itemSize===4?l.w:1)}}p={count:U,texture:I,size:new mt(A,H)},i.set(m,p),m.addEventListener(\"dispose\",v)}if(u.isInstancedMesh===!0&&u.morphTexture!==null)C.getUniforms().setValue(e,\"morphTexture\",u.morphTexture,t);else{let E=0;for(let G=0;G<R.length;G++)E+=R[G];let D=m.morphTargetsRelative?1:1-E;C.getUniforms().setValue(e,\"morphTargetBaseInfluence\",D),C.getUniforms().setValue(e,\"morphTargetInfluences\",R)}C.getUniforms().setValue(e,\"morphTargetsTexture\",p.texture,t),C.getUniforms().setValue(e,\"morphTargetsTextureSize\",p.size)}return{update:a}}function bc(e,n,t,i,l){let a=new WeakMap;function u(R){let k=l.render.frame,U=R.geometry,p=n.get(R,U);if(a.get(p)!==k&&(n.update(p),a.set(p,k)),R.isInstancedMesh&&(R.hasEventListener(\"dispose\",C)===!1&&R.addEventListener(\"dispose\",C),a.get(R)!==k&&(t.update(R.instanceMatrix,e.ARRAY_BUFFER),R.instanceColor!==null&&t.update(R.instanceColor,e.ARRAY_BUFFER),a.set(R,k))),R.isSkinnedMesh){let E=R.skeleton;a.get(E)!==k&&(E.update(),a.set(E,k))}return p}function m(){a=new WeakMap}function C(R){let k=R.target;k.removeEventListener(\"dispose\",C),i.releaseStatesOfObject(k),t.remove(k.instanceMatrix),k.instanceColor!==null&&t.remove(k.instanceColor)}return{update:u,dispose:m}}var Cc={[Or]:\"LINEAR_TONE_MAPPING\",[Fr]:\"REINHARD_TONE_MAPPING\",[yr]:\"CINEON_TONE_MAPPING\",[Nr]:\"ACES_FILMIC_TONE_MAPPING\",[Ir]:\"AGX_TONE_MAPPING\",[wr]:\"NEUTRAL_TONE_MAPPING\",[Dr]:\"CUSTOM_TONE_MAPPING\"};function Pc(e,n,t,i,l){let a=new Ct(n,t,{type:e,depthBuffer:i,stencilBuffer:l,depthTexture:i?new fn(n,t):void 0}),u=new Ct(n,t,{type:Gt,depthBuffer:!1,stencilBuffer:!1}),m=new Rn;m.setAttribute(\"position\",new hi([-1,3,0,-1,-1,0,3,-1,0],3)),m.setAttribute(\"uv\",new hi([0,2,0,0,2,0],2));let C=new pa({uniforms:{tDiffuse:{value:null}},vertexShader:`\n\t\t\tprecision highp float;\n\n\t\t\tuniform mat4 modelViewMatrix;\n\t\t\tuniform mat4 projectionMatrix;\n\n\t\t\tattribute vec3 position;\n\t\t\tattribute vec2 uv;\n\n\t\t\tvarying vec2 vUv;\n\n\t\t\tvoid main() {\n\t\t\t\tvUv = uv;\n\t\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t\t}`,fragmentShader:`\n\t\t\tprecision highp float;\n\n\t\t\tuniform sampler2D tDiffuse;\n\n\t\t\tvarying vec2 vUv;\n\n\t\t\t#include <tonemapping_pars_fragment>\n\t\t\t#include <colorspace_pars_fragment>\n\n\t\t\tvoid main() {\n\t\t\t\tgl_FragColor = texture2D( tDiffuse, vUv );\n\n\t\t\t\t#ifdef LINEAR_TONE_MAPPING\n\t\t\t\t\tgl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb );\n\t\t\t\t#elif defined( REINHARD_TONE_MAPPING )\n\t\t\t\t\tgl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb );\n\t\t\t\t#elif defined( CINEON_TONE_MAPPING )\n\t\t\t\t\tgl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb );\n\t\t\t\t#elif defined( ACES_FILMIC_TONE_MAPPING )\n\t\t\t\t\tgl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb );\n\t\t\t\t#elif defined( AGX_TONE_MAPPING )\n\t\t\t\t\tgl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );\n\t\t\t\t#elif defined( NEUTRAL_TONE_MAPPING )\n\t\t\t\t\tgl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb );\n\t\t\t\t#elif defined( CUSTOM_TONE_MAPPING )\n\t\t\t\t\tgl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb );\n\t\t\t\t#endif\n\n\t\t\t\t#ifdef SRGB_TRANSFER\n\t\t\t\t\tgl_FragColor = sRGBTransferOETF( gl_FragColor );\n\t\t\t\t#endif\n\t\t\t}`,depthTest:!1,depthWrite:!1}),R=new wt(m,C),k=new Cr(-1,1,1,-1,0,1),U=null,p=null,E=!1,D,G=null,c=[],s=!1;this.setSize=function(h,M){a.setSize(h,M),u.setSize(h,M);for(let A=0;A<c.length;A++){let H=c[A];H.setSize&&H.setSize(h,M)}},this.setEffects=function(h){c=h,s=c.length>0&&c[0].isRenderPass===!0;let M=a.width,A=a.height;for(let H=0;H<c.length;H++){let _=c[H];_.setSize&&_.setSize(M,A)}},this.begin=function(h,M){if(E||h.toneMapping===bt&&c.length===0)return!1;if(G=M,M!==null){let A=M.width,H=M.height;(a.width!==A||a.height!==H)&&this.setSize(A,H)}return s===!1&&h.setRenderTarget(a),D=h.toneMapping,h.toneMapping=bt,!0},this.hasRenderPass=function(){return s},this.end=function(h,M){h.toneMapping=D,E=!0;let A=a,H=u;for(let _=0;_<c.length;_++){let I=c[_];if(I.enabled!==!1&&(I.render(h,H,A,M),I.needsSwap!==!1)){let d=A;A=H,H=d}}if(U!==h.outputColorSpace||p!==h.toneMapping){U=h.outputColorSpace,p=h.toneMapping,C.defines={},nt.getTransfer(U)===$e&&(C.defines.SRGB_TRANSFER=\"\");let _=Cc[p];_&&(C.defines[_]=\"\"),C.needsUpdate=!0}C.uniforms.tDiffuse.value=A.texture,h.setRenderTarget(G),h.render(R,k),G=null,E=!1},this.isCompositing=function(){return E},this.dispose=function(){a.depthTexture&&a.depthTexture.dispose(),a.dispose(),u.dispose(),m.dispose(),C.dispose()}}var qr=new ma,qn=new fn(1,1),Zr=new Ur,$r=new ha,Qr=new Lr,or=[],sr=[],lr=new Float32Array(16),cr=new Float32Array(9),fr=new Float32Array(4);function tn(e,n,t){let i=e[0];if(i<=0||i>0)return e;let l=n*t,a=or[l];if(a===void 0&&(a=new Float32Array(l),or[l]=a),n!==0){i.toArray(a,0);for(let u=1,m=0;u!==n;++u)m+=t,e[u].toArray(a,m)}return a}function ft(e,n){if(e.length!==n.length)return!1;for(let t=0,i=e.length;t<i;t++)if(e[t]!==n[t])return!1;return!0}function dt(e,n){for(let t=0,i=n.length;t<i;t++)e[t]=n[t]}function Cn(e,n){let t=sr[n];t===void 0&&(t=new Int32Array(n),sr[n]=t);for(let i=0;i!==n;++i)t[i]=e.allocateTextureUnit();return t}function Lc(e,n){let t=this.cache;t[0]!==n&&(e.uniform1f(this.addr,n),t[0]=n)}function Uc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y)&&(e.uniform2f(this.addr,n.x,n.y),t[0]=n.x,t[1]=n.y);else{if(ft(t,n))return;e.uniform2fv(this.addr,n),dt(t,n)}}function Dc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y||t[2]!==n.z)&&(e.uniform3f(this.addr,n.x,n.y,n.z),t[0]=n.x,t[1]=n.y,t[2]=n.z);else if(n.r!==void 0)(t[0]!==n.r||t[1]!==n.g||t[2]!==n.b)&&(e.uniform3f(this.addr,n.r,n.g,n.b),t[0]=n.r,t[1]=n.g,t[2]=n.b);else{if(ft(t,n))return;e.uniform3fv(this.addr,n),dt(t,n)}}function wc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y||t[2]!==n.z||t[3]!==n.w)&&(e.uniform4f(this.addr,n.x,n.y,n.z,n.w),t[0]=n.x,t[1]=n.y,t[2]=n.z,t[3]=n.w);else{if(ft(t,n))return;e.uniform4fv(this.addr,n),dt(t,n)}}function Ic(e,n){let t=this.cache,i=n.elements;if(i===void 0){if(ft(t,n))return;e.uniformMatrix2fv(this.addr,!1,n),dt(t,n)}else{if(ft(t,i))return;fr.set(i),e.uniformMatrix2fv(this.addr,!1,fr),dt(t,i)}}function Nc(e,n){let t=this.cache,i=n.elements;if(i===void 0){if(ft(t,n))return;e.uniformMatrix3fv(this.addr,!1,n),dt(t,n)}else{if(ft(t,i))return;cr.set(i),e.uniformMatrix3fv(this.addr,!1,cr),dt(t,i)}}function yc(e,n){let t=this.cache,i=n.elements;if(i===void 0){if(ft(t,n))return;e.uniformMatrix4fv(this.addr,!1,n),dt(t,n)}else{if(ft(t,i))return;lr.set(i),e.uniformMatrix4fv(this.addr,!1,lr),dt(t,i)}}function Fc(e,n){let t=this.cache;t[0]!==n&&(e.uniform1i(this.addr,n),t[0]=n)}function Oc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y)&&(e.uniform2i(this.addr,n.x,n.y),t[0]=n.x,t[1]=n.y);else{if(ft(t,n))return;e.uniform2iv(this.addr,n),dt(t,n)}}function Bc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y||t[2]!==n.z)&&(e.uniform3i(this.addr,n.x,n.y,n.z),t[0]=n.x,t[1]=n.y,t[2]=n.z);else{if(ft(t,n))return;e.uniform3iv(this.addr,n),dt(t,n)}}function Gc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y||t[2]!==n.z||t[3]!==n.w)&&(e.uniform4i(this.addr,n.x,n.y,n.z,n.w),t[0]=n.x,t[1]=n.y,t[2]=n.z,t[3]=n.w);else{if(ft(t,n))return;e.uniform4iv(this.addr,n),dt(t,n)}}function Hc(e,n){let t=this.cache;t[0]!==n&&(e.uniform1ui(this.addr,n),t[0]=n)}function Vc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y)&&(e.uniform2ui(this.addr,n.x,n.y),t[0]=n.x,t[1]=n.y);else{if(ft(t,n))return;e.uniform2uiv(this.addr,n),dt(t,n)}}function kc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y||t[2]!==n.z)&&(e.uniform3ui(this.addr,n.x,n.y,n.z),t[0]=n.x,t[1]=n.y,t[2]=n.z);else{if(ft(t,n))return;e.uniform3uiv(this.addr,n),dt(t,n)}}function Wc(e,n){let t=this.cache;if(n.x!==void 0)(t[0]!==n.x||t[1]!==n.y||t[2]!==n.z||t[3]!==n.w)&&(e.uniform4ui(this.addr,n.x,n.y,n.z,n.w),t[0]=n.x,t[1]=n.y,t[2]=n.z,t[3]=n.w);else{if(ft(t,n))return;e.uniform4uiv(this.addr,n),dt(t,n)}}function zc(e,n,t){let i=this.cache,l=t.allocateTextureUnit();i[0]!==l&&(e.uniform1i(this.addr,l),i[0]=l);let a;this.type===e.SAMPLER_2D_SHADOW?(qn.compareFunction=t.isReversedDepthBuffer()?ri:ai,a=qn):a=qr,t.setTexture2D(n||a,l)}function Xc(e,n,t){let i=this.cache,l=t.allocateTextureUnit();i[0]!==l&&(e.uniform1i(this.addr,l),i[0]=l),t.setTexture3D(n||$r,l)}function Kc(e,n,t){let i=this.cache,l=t.allocateTextureUnit();i[0]!==l&&(e.uniform1i(this.addr,l),i[0]=l),t.setTextureCube(n||Qr,l)}function Yc(e,n,t){let i=this.cache,l=t.allocateTextureUnit();i[0]!==l&&(e.uniform1i(this.addr,l),i[0]=l),t.setTexture2DArray(n||Zr,l)}function qc(e){switch(e){case 5126:return Lc;case 35664:return Uc;case 35665:return Dc;case 35666:return wc;case 35674:return Ic;case 35675:return Nc;case 35676:return yc;case 5124:case 35670:return Fc;case 35667:case 35671:return Oc;case 35668:case 35672:return Bc;case 35669:case 35673:return Gc;case 5125:return Hc;case 36294:return Vc;case 36295:return kc;case 36296:return Wc;case 35678:case 36198:case 36298:case 36306:case 35682:return zc;case 35679:case 36299:case 36307:return Xc;case 35680:case 36300:case 36308:case 36293:return Kc;case 36289:case 36303:case 36311:case 36292:return Yc}}function Zc(e,n){e.uniform1fv(this.addr,n)}function $c(e,n){let t=tn(n,this.size,2);e.uniform2fv(this.addr,t)}function Qc(e,n){let t=tn(n,this.size,3);e.uniform3fv(this.addr,t)}function Jc(e,n){let t=tn(n,this.size,4);e.uniform4fv(this.addr,t)}function jc(e,n){let t=tn(n,this.size,4);e.uniformMatrix2fv(this.addr,!1,t)}function ef(e,n){let t=tn(n,this.size,9);e.uniformMatrix3fv(this.addr,!1,t)}function tf(e,n){let t=tn(n,this.size,16);e.uniformMatrix4fv(this.addr,!1,t)}function nf(e,n){e.uniform1iv(this.addr,n)}function rf(e,n){e.uniform2iv(this.addr,n)}function af(e,n){e.uniform3iv(this.addr,n)}function of(e,n){e.uniform4iv(this.addr,n)}function sf(e,n){e.uniform1uiv(this.addr,n)}function lf(e,n){e.uniform2uiv(this.addr,n)}function cf(e,n){e.uniform3uiv(this.addr,n)}function ff(e,n){e.uniform4uiv(this.addr,n)}function df(e,n,t){let i=this.cache,l=n.length,a=Cn(t,l);ft(i,a)||(e.uniform1iv(this.addr,a),dt(i,a));let u;this.type===e.SAMPLER_2D_SHADOW?u=qn:u=qr;for(let m=0;m!==l;++m)t.setTexture2D(n[m]||u,a[m])}function uf(e,n,t){let i=this.cache,l=n.length,a=Cn(t,l);ft(i,a)||(e.uniform1iv(this.addr,a),dt(i,a));for(let u=0;u!==l;++u)t.setTexture3D(n[u]||$r,a[u])}function pf(e,n,t){let i=this.cache,l=n.length,a=Cn(t,l);ft(i,a)||(e.uniform1iv(this.addr,a),dt(i,a));for(let u=0;u!==l;++u)t.setTextureCube(n[u]||Qr,a[u])}function hf(e,n,t){let i=this.cache,l=n.length,a=Cn(t,l);ft(i,a)||(e.uniform1iv(this.addr,a),dt(i,a));for(let u=0;u!==l;++u)t.setTexture2DArray(n[u]||Zr,a[u])}function mf(e){switch(e){case 5126:return Zc;case 35664:return $c;case 35665:return Qc;case 35666:return Jc;case 35674:return jc;case 35675:return ef;case 35676:return tf;case 5124:case 35670:return nf;case 35667:case 35671:return rf;case 35668:case 35672:return af;case 35669:case 35673:return of;case 5125:return sf;case 36294:return lf;case 36295:return cf;case 36296:return ff;case 35678:case 36198:case 36298:case 36306:case 35682:return df;case 35679:case 36299:case 36307:return uf;case 35680:case 36300:case 36308:case 36293:return pf;case 36289:case 36303:case 36311:case 36292:return hf}}var Zn=class{constructor(n,t,i){this.id=n,this.addr=i,this.cache=[],this.type=t.type,this.setValue=qc(t.type)}},$n=class{constructor(n,t,i){this.id=n,this.addr=i,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=mf(t.type)}},Qn=class{constructor(n){this.id=n,this.seq=[],this.map={}}setValue(n,t,i){let l=this.seq;for(let a=0,u=l.length;a!==u;++a){let m=l[a];m.setValue(n,t[m.id],i)}}},kn=/(\\w+)(\\])?(\\[|\\.)?/g;function dr(e,n){e.seq.push(n),e.map[n.id]=n}function _f(e,n,t){let i=e.name,l=i.length;for(kn.lastIndex=0;;){let a=kn.exec(i),u=kn.lastIndex,m=a[1],C=a[2]===\"]\",R=a[3];if(C&&(m=m|0),R===void 0||R===\"[\"&&u+2===l){dr(t,R===void 0?new Zn(m,e,n):new $n(m,e,n));break}else{let U=t.map[m];U===void 0&&(U=new Qn(m),dr(t,U)),t=U}}}var $t=class{constructor(n,t){this.seq=[],this.map={};let i=n.getProgramParameter(t,n.ACTIVE_UNIFORMS);for(let u=0;u<i;++u){let m=n.getActiveUniform(t,u),C=n.getUniformLocation(t,m.name);_f(m,C,this)}let l=[],a=[];for(let u of this.seq)u.type===n.SAMPLER_2D_SHADOW||u.type===n.SAMPLER_CUBE_SHADOW||u.type===n.SAMPLER_2D_ARRAY_SHADOW?l.push(u):a.push(u);l.length>0&&(this.seq=l.concat(a))}setValue(n,t,i,l){let a=this.map[t];a!==void 0&&a.setValue(n,i,l)}setOptional(n,t,i){let l=t[i];l!==void 0&&this.setValue(n,i,l)}static upload(n,t,i,l){for(let a=0,u=t.length;a!==u;++a){let m=t[a],C=i[m.id];C.needsUpdate!==!1&&m.setValue(n,C.value,l)}}static seqWithValue(n,t){let i=[];for(let l=0,a=n.length;l!==a;++l){let u=n[l];u.id in t&&i.push(u)}return i}};function ur(e,n,t){let i=e.createShader(n);return e.shaderSource(i,t),e.compileShader(i),i}var gf=37297,vf=0;function Sf(e,n){let t=e.split(`\n`),i=[],l=Math.max(n-6,0),a=Math.min(n+6,t.length);for(let u=l;u<a;u++){let m=u+1;i.push(`${m===n?\">\":\" \"} ${m}: ${t[u]}`)}return i.join(`\n`)}var pr=new Oe;function Ef(e){nt._getMatrix(pr,nt.workingColorSpace,e);let n=`mat3( ${pr.elements.map(t=>t.toFixed(4))} )`;switch(nt.getTransfer(e)){case Br:return[n,\"LinearTransferOETF\"];case $e:return[n,\"sRGBTransferOETF\"];default:return He(\"WebGLProgram: Unsupported color space: \",e),[n,\"LinearTransferOETF\"]}}function hr(e,n,t){let i=e.getShaderParameter(n,e.COMPILE_STATUS),a=(e.getShaderInfoLog(n)||\"\").trim();if(i&&a===\"\")return\"\";let u=/ERROR: 0:(\\d+)/.exec(a);if(u){let m=parseInt(u[1]);return t.toUpperCase()+`\n\n`+a+`\n\n`+Sf(e.getShaderSource(n),m)}else return a}function xf(e,n){let t=Ef(n);return[`vec4 ${e}( vec4 value ) {`,`\treturn ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,\"}\"].join(`\n`)}var Mf={[Or]:\"Linear\",[Fr]:\"Reinhard\",[yr]:\"Cineon\",[Nr]:\"ACESFilmic\",[Ir]:\"AgX\",[wr]:\"Neutral\",[Dr]:\"Custom\"};function Tf(e,n){let t=Mf[n];return t===void 0?(He(\"WebGLProgram: Unsupported toneMapping:\",n),\"vec3 \"+e+\"( vec3 color ) { return LinearToneMapping( color ); }\"):\"vec3 \"+e+\"( vec3 color ) { return \"+t+\"ToneMapping( color ); }\"}var _n=new Fe;function Af(){nt.getLuminanceCoefficients(_n);let e=_n.x.toFixed(4),n=_n.y.toFixed(4),t=_n.z.toFixed(4);return[\"float luminance( const in vec3 rgb ) {\",`\tconst vec3 weights = vec3( ${e}, ${n}, ${t} );`,\"\treturn dot( weights, rgb );\",\"}\"].join(`\n`)}function Rf(e){return[e.extensionClipCullDistance?\"#extension GL_ANGLE_clip_cull_distance : require\":\"\",e.extensionMultiDraw?\"#extension GL_ANGLE_multi_draw : require\":\"\"].filter(sn).join(`\n`)}function bf(e){let n=[];for(let t in e){let i=e[t];i!==!1&&n.push(\"#define \"+t+\" \"+i)}return n.join(`\n`)}function Cf(e,n){let t={},i=e.getProgramParameter(n,e.ACTIVE_ATTRIBUTES);for(let l=0;l<i;l++){let a=e.getActiveAttrib(n,l),u=a.name,m=1;a.type===e.FLOAT_MAT2&&(m=2),a.type===e.FLOAT_MAT3&&(m=3),a.type===e.FLOAT_MAT4&&(m=4),t[u]={type:a.type,location:e.getAttribLocation(n,u),locationSize:m}}return t}function sn(e){return e!==\"\"}function mr(e,n){let t=n.numSpotLightShadows+n.numSpotLightMaps-n.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,n.numDirLights).replace(/NUM_SPOT_LIGHTS/g,n.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,n.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,n.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,n.numPointLights).replace(/NUM_HEMI_LIGHTS/g,n.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,n.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,n.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,n.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,n.numPointLightShadows)}function _r(e,n){return e.replace(/NUM_CLIPPING_PLANES/g,n.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,n.numClippingPlanes-n.numClipIntersection)}var Pf=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function Jn(e){return e.replace(Pf,Uf)}var Lf=new Map;function Uf(e,n){let t=Ue[n];if(t===void 0){let i=Lf.get(n);if(i!==void 0)t=Ue[i],He('WebGLRenderer: Shader chunk \"%s\" has been deprecated. Use \"%s\" instead.',n,i);else throw new Error(\"Can not resolve #include <\"+n+\">\")}return Jn(t)}var Df=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function gr(e){return e.replace(Df,wf)}function wf(e,n,t,i){let l=\"\";for(let a=parseInt(n);a<parseInt(t);a++)l+=i.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+a+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,a);return l}function vr(e){let n=`precision ${e.precision} float;\n\tprecision ${e.precision} int;\n\tprecision ${e.precision} sampler2D;\n\tprecision ${e.precision} samplerCube;\n\tprecision ${e.precision} sampler3D;\n\tprecision ${e.precision} sampler2DArray;\n\tprecision ${e.precision} sampler2DShadow;\n\tprecision ${e.precision} samplerCubeShadow;\n\tprecision ${e.precision} sampler2DArrayShadow;\n\tprecision ${e.precision} isampler2D;\n\tprecision ${e.precision} isampler3D;\n\tprecision ${e.precision} isamplerCube;\n\tprecision ${e.precision} isampler2DArray;\n\tprecision ${e.precision} usampler2D;\n\tprecision ${e.precision} usampler3D;\n\tprecision ${e.precision} usamplerCube;\n\tprecision ${e.precision} usampler2DArray;\n\t`;return e.precision===\"highp\"?n+=`\n#define HIGH_PRECISION`:e.precision===\"mediump\"?n+=`\n#define MEDIUM_PRECISION`:e.precision===\"lowp\"&&(n+=`\n#define LOW_PRECISION`),n}var If={[Sn]:\"SHADOWMAP_TYPE_PCF\",[on]:\"SHADOWMAP_TYPE_VSM\"};function Nf(e){return If[e.shadowMapType]||\"SHADOWMAP_TYPE_BASIC\"}var yf={[cn]:\"ENVMAP_TYPE_CUBE\",[Jt]:\"ENVMAP_TYPE_CUBE\",[An]:\"ENVMAP_TYPE_CUBE_UV\"};function Ff(e){return e.envMap===!1?\"ENVMAP_TYPE_CUBE\":yf[e.envMapMode]||\"ENVMAP_TYPE_CUBE\"}var Of={[Jt]:\"ENVMAP_MODE_REFRACTION\"};function Bf(e){return e.envMap===!1?\"ENVMAP_MODE_REFLECTION\":Of[e.envMapMode]||\"ENVMAP_MODE_REFLECTION\"}var Gf={[va]:\"ENVMAP_BLENDING_MULTIPLY\",[ga]:\"ENVMAP_BLENDING_MIX\",[_a]:\"ENVMAP_BLENDING_ADD\"};function Hf(e){return e.envMap===!1?\"ENVMAP_BLENDING_NONE\":Gf[e.combine]||\"ENVMAP_BLENDING_NONE\"}function Vf(e){let n=e.envMapCubeUVHeight;if(n===null)return null;let t=Math.log2(n)-2,i=1/n;return{texelWidth:1/(3*Math.max(Math.pow(2,t),112)),texelHeight:i,maxMip:t}}function kf(e,n,t,i){let l=e.getContext(),a=t.defines,u=t.vertexShader,m=t.fragmentShader,C=Nf(t),R=Ff(t),k=Bf(t),U=Hf(t),p=Vf(t),E=Rf(t),D=bf(a),G=l.createProgram(),c,s,h=t.glslVersion?\"#version \"+t.glslVersion+`\n`:\"\";t.isRawShaderMaterial?(c=[\"#define SHADER_TYPE \"+t.shaderType,\"#define SHADER_NAME \"+t.shaderName,D].filter(sn).join(`\n`),c.length>0&&(c+=`\n`),s=[\"#define SHADER_TYPE \"+t.shaderType,\"#define SHADER_NAME \"+t.shaderName,D].filter(sn).join(`\n`),s.length>0&&(s+=`\n`)):(c=[vr(t),\"#define SHADER_TYPE \"+t.shaderType,\"#define SHADER_NAME \"+t.shaderName,D,t.extensionClipCullDistance?\"#define USE_CLIP_DISTANCE\":\"\",t.batching?\"#define USE_BATCHING\":\"\",t.batchingColor?\"#define USE_BATCHING_COLOR\":\"\",t.instancing?\"#define USE_INSTANCING\":\"\",t.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",t.instancingMorph?\"#define USE_INSTANCING_MORPH\":\"\",t.useFog&&t.fog?\"#define USE_FOG\":\"\",t.useFog&&t.fogExp2?\"#define FOG_EXP2\":\"\",t.map?\"#define USE_MAP\":\"\",t.envMap?\"#define USE_ENVMAP\":\"\",t.envMap?\"#define \"+k:\"\",t.lightMap?\"#define USE_LIGHTMAP\":\"\",t.aoMap?\"#define USE_AOMAP\":\"\",t.bumpMap?\"#define USE_BUMPMAP\":\"\",t.normalMap?\"#define USE_NORMALMAP\":\"\",t.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",t.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",t.displacementMap?\"#define USE_DISPLACEMENTMAP\":\"\",t.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",t.anisotropy?\"#define USE_ANISOTROPY\":\"\",t.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",t.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",t.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",t.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",t.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",t.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",t.specularMap?\"#define USE_SPECULARMAP\":\"\",t.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",t.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",t.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",t.metalnessMap?\"#define USE_METALNESSMAP\":\"\",t.alphaMap?\"#define USE_ALPHAMAP\":\"\",t.alphaHash?\"#define USE_ALPHAHASH\":\"\",t.transmission?\"#define USE_TRANSMISSION\":\"\",t.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",t.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",t.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",t.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",t.mapUv?\"#define MAP_UV \"+t.mapUv:\"\",t.alphaMapUv?\"#define ALPHAMAP_UV \"+t.alphaMapUv:\"\",t.lightMapUv?\"#define LIGHTMAP_UV \"+t.lightMapUv:\"\",t.aoMapUv?\"#define AOMAP_UV \"+t.aoMapUv:\"\",t.emissiveMapUv?\"#define EMISSIVEMAP_UV \"+t.emissiveMapUv:\"\",t.bumpMapUv?\"#define BUMPMAP_UV \"+t.bumpMapUv:\"\",t.normalMapUv?\"#define NORMALMAP_UV \"+t.normalMapUv:\"\",t.displacementMapUv?\"#define DISPLACEMENTMAP_UV \"+t.displacementMapUv:\"\",t.metalnessMapUv?\"#define METALNESSMAP_UV \"+t.metalnessMapUv:\"\",t.roughnessMapUv?\"#define ROUGHNESSMAP_UV \"+t.roughnessMapUv:\"\",t.anisotropyMapUv?\"#define ANISOTROPYMAP_UV \"+t.anisotropyMapUv:\"\",t.clearcoatMapUv?\"#define CLEARCOATMAP_UV \"+t.clearcoatMapUv:\"\",t.clearcoatNormalMapUv?\"#define CLEARCOAT_NORMALMAP_UV \"+t.clearcoatNormalMapUv:\"\",t.clearcoatRoughnessMapUv?\"#define CLEARCOAT_ROUGHNESSMAP_UV \"+t.clearcoatRoughnessMapUv:\"\",t.iridescenceMapUv?\"#define IRIDESCENCEMAP_UV \"+t.iridescenceMapUv:\"\",t.iridescenceThicknessMapUv?\"#define IRIDESCENCE_THICKNESSMAP_UV \"+t.iridescenceThicknessMapUv:\"\",t.sheenColorMapUv?\"#define SHEEN_COLORMAP_UV \"+t.sheenColorMapUv:\"\",t.sheenRoughnessMapUv?\"#define SHEEN_ROUGHNESSMAP_UV \"+t.sheenRoughnessMapUv:\"\",t.specularMapUv?\"#define SPECULARMAP_UV \"+t.specularMapUv:\"\",t.specularColorMapUv?\"#define SPECULAR_COLORMAP_UV \"+t.specularColorMapUv:\"\",t.specularIntensityMapUv?\"#define SPECULAR_INTENSITYMAP_UV \"+t.specularIntensityMapUv:\"\",t.transmissionMapUv?\"#define TRANSMISSIONMAP_UV \"+t.transmissionMapUv:\"\",t.thicknessMapUv?\"#define THICKNESSMAP_UV \"+t.thicknessMapUv:\"\",t.vertexTangents&&t.flatShading===!1?\"#define USE_TANGENT\":\"\",t.vertexNormals?\"#define HAS_NORMAL\":\"\",t.vertexColors?\"#define USE_COLOR\":\"\",t.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",t.vertexUv1s?\"#define USE_UV1\":\"\",t.vertexUv2s?\"#define USE_UV2\":\"\",t.vertexUv3s?\"#define USE_UV3\":\"\",t.pointsUvs?\"#define USE_POINTS_UV\":\"\",t.flatShading?\"#define FLAT_SHADED\":\"\",t.skinning?\"#define USE_SKINNING\":\"\",t.morphTargets?\"#define USE_MORPHTARGETS\":\"\",t.morphNormals&&t.flatShading===!1?\"#define USE_MORPHNORMALS\":\"\",t.morphColors?\"#define USE_MORPHCOLORS\":\"\",t.morphTargetsCount>0?\"#define MORPHTARGETS_TEXTURE_STRIDE \"+t.morphTextureStride:\"\",t.morphTargetsCount>0?\"#define MORPHTARGETS_COUNT \"+t.morphTargetsCount:\"\",t.doubleSided?\"#define DOUBLE_SIDED\":\"\",t.flipSided?\"#define FLIP_SIDED\":\"\",t.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",t.shadowMapEnabled?\"#define \"+C:\"\",t.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",t.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",t.logarithmicDepthBuffer?\"#define USE_LOGARITHMIC_DEPTH_BUFFER\":\"\",t.reversedDepthBuffer?\"#define USE_REVERSED_DEPTH_BUFFER\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\tattribute vec3 instanceColor;\",\"#endif\",\"#ifdef USE_INSTANCING_MORPH\",\"\tuniform sampler2D morphTexture;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_UV1\",\"\tattribute vec2 uv1;\",\"#endif\",\"#ifdef USE_UV2\",\"\tattribute vec2 uv2;\",\"#endif\",\"#ifdef USE_UV3\",\"\tattribute vec2 uv3;\",\"#endif\",\"#ifdef USE_TANGENT\",\"\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\tattribute vec3 color;\",\"#endif\",\"#ifdef USE_SKINNING\",\"\tattribute vec4 skinIndex;\",\"\tattribute vec4 skinWeight;\",\"#endif\",`\n`].filter(sn).join(`\n`),s=[vr(t),\"#define SHADER_TYPE \"+t.shaderType,\"#define SHADER_NAME \"+t.shaderName,D,t.useFog&&t.fog?\"#define USE_FOG\":\"\",t.useFog&&t.fogExp2?\"#define FOG_EXP2\":\"\",t.alphaToCoverage?\"#define ALPHA_TO_COVERAGE\":\"\",t.map?\"#define USE_MAP\":\"\",t.matcap?\"#define USE_MATCAP\":\"\",t.envMap?\"#define USE_ENVMAP\":\"\",t.envMap?\"#define \"+R:\"\",t.envMap?\"#define \"+k:\"\",t.envMap?\"#define \"+U:\"\",p?\"#define CUBEUV_TEXEL_WIDTH \"+p.texelWidth:\"\",p?\"#define CUBEUV_TEXEL_HEIGHT \"+p.texelHeight:\"\",p?\"#define CUBEUV_MAX_MIP \"+p.maxMip+\".0\":\"\",t.lightMap?\"#define USE_LIGHTMAP\":\"\",t.aoMap?\"#define USE_AOMAP\":\"\",t.bumpMap?\"#define USE_BUMPMAP\":\"\",t.normalMap?\"#define USE_NORMALMAP\":\"\",t.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",t.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",t.packedNormalMap?\"#define USE_PACKED_NORMALMAP\":\"\",t.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",t.anisotropy?\"#define USE_ANISOTROPY\":\"\",t.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",t.clearcoat?\"#define USE_CLEARCOAT\":\"\",t.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",t.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",t.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",t.dispersion?\"#define USE_DISPERSION\":\"\",t.iridescence?\"#define USE_IRIDESCENCE\":\"\",t.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",t.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",t.specularMap?\"#define USE_SPECULARMAP\":\"\",t.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",t.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",t.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",t.metalnessMap?\"#define USE_METALNESSMAP\":\"\",t.alphaMap?\"#define USE_ALPHAMAP\":\"\",t.alphaTest?\"#define USE_ALPHATEST\":\"\",t.alphaHash?\"#define USE_ALPHAHASH\":\"\",t.sheen?\"#define USE_SHEEN\":\"\",t.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",t.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",t.transmission?\"#define USE_TRANSMISSION\":\"\",t.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",t.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",t.vertexTangents&&t.flatShading===!1?\"#define USE_TANGENT\":\"\",t.vertexColors||t.instancingColor?\"#define USE_COLOR\":\"\",t.vertexAlphas||t.batchingColor?\"#define USE_COLOR_ALPHA\":\"\",t.vertexUv1s?\"#define USE_UV1\":\"\",t.vertexUv2s?\"#define USE_UV2\":\"\",t.vertexUv3s?\"#define USE_UV3\":\"\",t.pointsUvs?\"#define USE_POINTS_UV\":\"\",t.gradientMap?\"#define USE_GRADIENTMAP\":\"\",t.flatShading?\"#define FLAT_SHADED\":\"\",t.doubleSided?\"#define DOUBLE_SIDED\":\"\",t.flipSided?\"#define FLIP_SIDED\":\"\",t.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",t.shadowMapEnabled?\"#define \"+C:\"\",t.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",t.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",t.numLightProbeGrids>0?\"#define USE_LIGHT_PROBES_GRID\":\"\",t.decodeVideoTexture?\"#define DECODE_VIDEO_TEXTURE\":\"\",t.decodeVideoTextureEmissive?\"#define DECODE_VIDEO_TEXTURE_EMISSIVE\":\"\",t.logarithmicDepthBuffer?\"#define USE_LOGARITHMIC_DEPTH_BUFFER\":\"\",t.reversedDepthBuffer?\"#define USE_REVERSED_DEPTH_BUFFER\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",t.toneMapping!==bt?\"#define TONE_MAPPING\":\"\",t.toneMapping!==bt?Ue.tonemapping_pars_fragment:\"\",t.toneMapping!==bt?Tf(\"toneMapping\",t.toneMapping):\"\",t.dithering?\"#define DITHERING\":\"\",t.opaque?\"#define OPAQUE\":\"\",Ue.colorspace_pars_fragment,xf(\"linearToOutputTexel\",t.outputColorSpace),Af(),t.useDepthPacking?\"#define DEPTH_PACKING \"+t.depthPacking:\"\",`\n`].filter(sn).join(`\n`)),u=Jn(u),u=mr(u,t),u=_r(u,t),m=Jn(m),m=mr(m,t),m=_r(m,t),u=gr(u),m=gr(m),t.isRawShaderMaterial!==!0&&(h=`#version 300 es\n`,c=[E,\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(`\n`)+`\n`+c,s=[\"#define varying in\",t.glslVersion===mi?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",t.glslVersion===mi?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(`\n`)+`\n`+s);let M=h+c+u,A=h+s+m,H=ur(l,l.VERTEX_SHADER,M),_=ur(l,l.FRAGMENT_SHADER,A);l.attachShader(G,H),l.attachShader(G,_),t.index0AttributeName!==void 0?l.bindAttribLocation(G,0,t.index0AttributeName):t.morphTargets===!0&&l.bindAttribLocation(G,0,\"position\"),l.linkProgram(G);function I(T){if(e.debug.checkShaderErrors){let B=l.getProgramInfoLog(G)||\"\",$=l.getShaderInfoLog(H)||\"\",Y=l.getShaderInfoLog(_)||\"\",N=B.trim(),F=$.trim(),O=Y.trim(),Q=!0,de=!0;if(l.getProgramParameter(G,l.LINK_STATUS)===!1)if(Q=!1,typeof e.debug.onShaderError==\"function\")e.debug.onShaderError(l,G,H,_);else{let ve=hr(l,H,\"vertex\"),Ae=hr(l,_,\"fragment\");Qe(\"THREE.WebGLProgram: Shader Error \"+l.getError()+\" - VALIDATE_STATUS \"+l.getProgramParameter(G,l.VALIDATE_STATUS)+`\n\nMaterial Name: `+T.name+`\nMaterial Type: `+T.type+`\n\nProgram Info Log: `+N+`\n`+ve+`\n`+Ae)}else N!==\"\"?He(\"WebGLProgram: Program Info Log:\",N):(F===\"\"||O===\"\")&&(de=!1);de&&(T.diagnostics={runnable:Q,programLog:N,vertexShader:{log:F,prefix:c},fragmentShader:{log:O,prefix:s}})}l.deleteShader(H),l.deleteShader(_),d=new $t(l,G),v=Cf(l,G)}let d;this.getUniforms=function(){return d===void 0&&I(this),d};let v;this.getAttributes=function(){return v===void 0&&I(this),v};let y=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return y===!1&&(y=l.getProgramParameter(G,gf)),y},this.destroy=function(){i.releaseStatesOfProgram(this),l.deleteProgram(G),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=vf++,this.cacheKey=n,this.usedTimes=1,this.program=G,this.vertexShader=H,this.fragmentShader=_,this}var Wf=0,jn=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(n){let t=n.vertexShader,i=n.fragmentShader,l=this._getShaderStage(t),a=this._getShaderStage(i),u=this._getShaderCacheForMaterial(n);return u.has(l)===!1&&(u.add(l),l.usedTimes++),u.has(a)===!1&&(u.add(a),a.usedTimes++),this}remove(n){let t=this.materialCache.get(n);for(let i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(n),this}getVertexShaderID(n){return this._getShaderStage(n.vertexShader).id}getFragmentShaderID(n){return this._getShaderStage(n.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(n){let t=this.materialCache,i=t.get(n);return i===void 0&&(i=new Set,t.set(n,i)),i}_getShaderStage(n){let t=this.shaderCache,i=t.get(n);return i===void 0&&(i=new ei(n),t.set(n,i)),i}},ei=class{constructor(n){this.id=Wf++,this.code=n,this.usedTimes=0}};function zf(e){return e===jt||e===Xn||e===Kn}function Xf(e,n,t,i,l,a){let u=new xa,m=new jn,C=new Set,R=[],k=new Map,U=i.logarithmicDepthBuffer,p=i.precision,E={MeshDepthMaterial:\"depth\",MeshDistanceMaterial:\"distance\",MeshNormalMaterial:\"normal\",MeshBasicMaterial:\"basic\",MeshLambertMaterial:\"lambert\",MeshPhongMaterial:\"phong\",MeshToonMaterial:\"toon\",MeshStandardMaterial:\"physical\",MeshPhysicalMaterial:\"physical\",MeshMatcapMaterial:\"matcap\",LineBasicMaterial:\"basic\",LineDashedMaterial:\"dashed\",PointsMaterial:\"points\",ShadowMaterial:\"shadow\",SpriteMaterial:\"sprite\"};function D(d){return C.add(d),d===0?\"uv\":`uv${d}`}function G(d,v,y,T,B,$){let Y=T.fog,N=B.geometry,F=d.isMeshStandardMaterial||d.isMeshLambertMaterial||d.isMeshPhongMaterial?T.environment:null,O=d.isMeshStandardMaterial||d.isMeshLambertMaterial&&!d.envMap||d.isMeshPhongMaterial&&!d.envMap,Q=n.get(d.envMap||F,O),de=Q&&Q.mapping===An?Q.image.height:null,ve=E[d.type];d.precision!==null&&(p=i.getMaxPrecision(d.precision),p!==d.precision&&He(\"WebGLProgram.getParameters:\",d.precision,\"not supported, using\",p,\"instead.\"));let Ae=N.morphAttributes.position||N.morphAttributes.normal||N.morphAttributes.color,xe=Ae!==void 0?Ae.length:0,Ve=0;N.morphAttributes.position!==void 0&&(Ve=1),N.morphAttributes.normal!==void 0&&(Ve=2),N.morphAttributes.color!==void 0&&(Ve=3);let Ye,we,K,ce;if(ve){let Ce=At[ve];Ye=Ce.vertexShader,we=Ce.fragmentShader}else Ye=d.vertexShader,we=d.fragmentShader,m.update(d),K=m.getVertexShaderID(d),ce=m.getFragmentShaderID(d);let te=e.getRenderTarget(),Me=e.state.buffers.depth.getReversed(),be=B.isInstancedMesh===!0,Te=B.isBatchedMesh===!0,et=!!d.map,Ne=!!d.matcap,ke=!!Q,Je=!!d.aoMap,Ie=!!d.lightMap,lt=!!d.bumpMap,tt=!!d.normalMap,_t=!!d.displacementMap,S=!!d.emissiveMap,ct=!!d.metalnessMap,ye=!!d.roughnessMap,qe=d.anisotropy>0,ae=d.clearcoat>0,it=d.dispersion>0,f=d.iridescence>0,r=d.sheen>0,b=d.transmission>0,z=qe&&!!d.anisotropyMap,Z=ae&&!!d.clearcoatMap,J=ae&&!!d.clearcoatNormalMap,re=ae&&!!d.clearcoatRoughnessMap,V=f&&!!d.iridescenceMap,X=f&&!!d.iridescenceThicknessMap,fe=r&&!!d.sheenColorMap,he=r&&!!d.sheenRoughnessMap,ne=!!d.specularMap,j=!!d.specularColorMap,Re=!!d.specularIntensityMap,Le=b&&!!d.transmissionMap,Ge=b&&!!d.thicknessMap,g=!!d.gradientMap,ee=!!d.alphaMap,W=d.alphaTest>0,ue=!!d.alphaHash,ie=!!d.extensions,q=bt;d.toneMapped&&(te===null||te.isXRRenderTarget===!0)&&(q=e.toneMapping);let ge={shaderID:ve,shaderType:d.type,shaderName:d.name,vertexShader:Ye,fragmentShader:we,defines:d.defines,customVertexShaderID:K,customFragmentShaderID:ce,isRawShaderMaterial:d.isRawShaderMaterial===!0,glslVersion:d.glslVersion,precision:p,batching:Te,batchingColor:Te&&B._colorsTexture!==null,instancing:be,instancingColor:be&&B.instanceColor!==null,instancingMorph:be&&B.morphTexture!==null,outputColorSpace:te===null?e.outputColorSpace:te.isXRRenderTarget===!0?te.texture.colorSpace:nt.workingColorSpace,alphaToCoverage:!!d.alphaToCoverage,map:et,matcap:Ne,envMap:ke,envMapMode:ke&&Q.mapping,envMapCubeUVHeight:de,aoMap:Je,lightMap:Ie,bumpMap:lt,normalMap:tt,displacementMap:_t,emissiveMap:S,normalMapObjectSpace:tt&&d.normalMapType===Ea,normalMapTangentSpace:tt&&d.normalMapType===_i,packedNormalMap:tt&&d.normalMapType===_i&&zf(d.normalMap.format),metalnessMap:ct,roughnessMap:ye,anisotropy:qe,anisotropyMap:z,clearcoat:ae,clearcoatMap:Z,clearcoatNormalMap:J,clearcoatRoughnessMap:re,dispersion:it,iridescence:f,iridescenceMap:V,iridescenceThicknessMap:X,sheen:r,sheenColorMap:fe,sheenRoughnessMap:he,specularMap:ne,specularColorMap:j,specularIntensityMap:Re,transmission:b,transmissionMap:Le,thicknessMap:Ge,gradientMap:g,opaque:d.transparent===!1&&d.blending===En&&d.alphaToCoverage===!1,alphaMap:ee,alphaTest:W,alphaHash:ue,combine:d.combine,mapUv:et&&D(d.map.channel),aoMapUv:Je&&D(d.aoMap.channel),lightMapUv:Ie&&D(d.lightMap.channel),bumpMapUv:lt&&D(d.bumpMap.channel),normalMapUv:tt&&D(d.normalMap.channel),displacementMapUv:_t&&D(d.displacementMap.channel),emissiveMapUv:S&&D(d.emissiveMap.channel),metalnessMapUv:ct&&D(d.metalnessMap.channel),roughnessMapUv:ye&&D(d.roughnessMap.channel),anisotropyMapUv:z&&D(d.anisotropyMap.channel),clearcoatMapUv:Z&&D(d.clearcoatMap.channel),clearcoatNormalMapUv:J&&D(d.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:re&&D(d.clearcoatRoughnessMap.channel),iridescenceMapUv:V&&D(d.iridescenceMap.channel),iridescenceThicknessMapUv:X&&D(d.iridescenceThicknessMap.channel),sheenColorMapUv:fe&&D(d.sheenColorMap.channel),sheenRoughnessMapUv:he&&D(d.sheenRoughnessMap.channel),specularMapUv:ne&&D(d.specularMap.channel),specularColorMapUv:j&&D(d.specularColorMap.channel),specularIntensityMapUv:Re&&D(d.specularIntensityMap.channel),transmissionMapUv:Le&&D(d.transmissionMap.channel),thicknessMapUv:Ge&&D(d.thicknessMap.channel),alphaMapUv:ee&&D(d.alphaMap.channel),vertexTangents:!!N.attributes.tangent&&(tt||qe),vertexNormals:!!N.attributes.normal,vertexColors:d.vertexColors,vertexAlphas:d.vertexColors===!0&&!!N.attributes.color&&N.attributes.color.itemSize===4,pointsUvs:B.isPoints===!0&&!!N.attributes.uv&&(et||ee),fog:!!Y,useFog:d.fog===!0,fogExp2:!!Y&&Y.isFogExp2,flatShading:d.wireframe===!1&&(d.flatShading===!0||N.attributes.normal===void 0&&tt===!1&&(d.isMeshLambertMaterial||d.isMeshPhongMaterial||d.isMeshStandardMaterial||d.isMeshPhysicalMaterial)),sizeAttenuation:d.sizeAttenuation===!0,logarithmicDepthBuffer:U,reversedDepthBuffer:Me,skinning:B.isSkinnedMesh===!0,morphTargets:N.morphAttributes.position!==void 0,morphNormals:N.morphAttributes.normal!==void 0,morphColors:N.morphAttributes.color!==void 0,morphTargetsCount:xe,morphTextureStride:Ve,numDirLights:v.directional.length,numPointLights:v.point.length,numSpotLights:v.spot.length,numSpotLightMaps:v.spotLightMap.length,numRectAreaLights:v.rectArea.length,numHemiLights:v.hemi.length,numDirLightShadows:v.directionalShadowMap.length,numPointLightShadows:v.pointShadowMap.length,numSpotLightShadows:v.spotShadowMap.length,numSpotLightShadowsWithMaps:v.numSpotLightShadowsWithMaps,numLightProbes:v.numLightProbes,numLightProbeGrids:$.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:d.dithering,shadowMapEnabled:e.shadowMap.enabled&&y.length>0,shadowMapType:e.shadowMap.type,toneMapping:q,decodeVideoTexture:et&&d.map.isVideoTexture===!0&&nt.getTransfer(d.map.colorSpace)===$e,decodeVideoTextureEmissive:S&&d.emissiveMap.isVideoTexture===!0&&nt.getTransfer(d.emissiveMap.colorSpace)===$e,premultipliedAlpha:d.premultipliedAlpha,doubleSided:d.side===Lt,flipSided:d.side===St,useDepthPacking:d.depthPacking>=0,depthPacking:d.depthPacking||0,index0AttributeName:d.index0AttributeName,extensionClipCullDistance:ie&&d.extensions.clipCullDistance===!0&&t.has(\"WEBGL_clip_cull_distance\"),extensionMultiDraw:(ie&&d.extensions.multiDraw===!0||Te)&&t.has(\"WEBGL_multi_draw\"),rendererExtensionParallelShaderCompile:t.has(\"KHR_parallel_shader_compile\"),customProgramCacheKey:d.customProgramCacheKey()};return ge.vertexUv1s=C.has(1),ge.vertexUv2s=C.has(2),ge.vertexUv3s=C.has(3),C.clear(),ge}function c(d){let v=[];if(d.shaderID?v.push(d.shaderID):(v.push(d.customVertexShaderID),v.push(d.customFragmentShaderID)),d.defines!==void 0)for(let y in d.defines)v.push(y),v.push(d.defines[y]);return d.isRawShaderMaterial===!1&&(s(v,d),h(v,d),v.push(e.outputColorSpace)),v.push(d.customProgramCacheKey),v.join()}function s(d,v){d.push(v.precision),d.push(v.outputColorSpace),d.push(v.envMapMode),d.push(v.envMapCubeUVHeight),d.push(v.mapUv),d.push(v.alphaMapUv),d.push(v.lightMapUv),d.push(v.aoMapUv),d.push(v.bumpMapUv),d.push(v.normalMapUv),d.push(v.displacementMapUv),d.push(v.emissiveMapUv),d.push(v.metalnessMapUv),d.push(v.roughnessMapUv),d.push(v.anisotropyMapUv),d.push(v.clearcoatMapUv),d.push(v.clearcoatNormalMapUv),d.push(v.clearcoatRoughnessMapUv),d.push(v.iridescenceMapUv),d.push(v.iridescenceThicknessMapUv),d.push(v.sheenColorMapUv),d.push(v.sheenRoughnessMapUv),d.push(v.specularMapUv),d.push(v.specularColorMapUv),d.push(v.specularIntensityMapUv),d.push(v.transmissionMapUv),d.push(v.thicknessMapUv),d.push(v.combine),d.push(v.fogExp2),d.push(v.sizeAttenuation),d.push(v.morphTargetsCount),d.push(v.morphAttributeCount),d.push(v.numDirLights),d.push(v.numPointLights),d.push(v.numSpotLights),d.push(v.numSpotLightMaps),d.push(v.numHemiLights),d.push(v.numRectAreaLights),d.push(v.numDirLightShadows),d.push(v.numPointLightShadows),d.push(v.numSpotLightShadows),d.push(v.numSpotLightShadowsWithMaps),d.push(v.numLightProbes),d.push(v.shadowMapType),d.push(v.toneMapping),d.push(v.numClippingPlanes),d.push(v.numClipIntersection),d.push(v.depthPacking)}function h(d,v){u.disableAll(),v.instancing&&u.enable(0),v.instancingColor&&u.enable(1),v.instancingMorph&&u.enable(2),v.matcap&&u.enable(3),v.envMap&&u.enable(4),v.normalMapObjectSpace&&u.enable(5),v.normalMapTangentSpace&&u.enable(6),v.clearcoat&&u.enable(7),v.iridescence&&u.enable(8),v.alphaTest&&u.enable(9),v.vertexColors&&u.enable(10),v.vertexAlphas&&u.enable(11),v.vertexUv1s&&u.enable(12),v.vertexUv2s&&u.enable(13),v.vertexUv3s&&u.enable(14),v.vertexTangents&&u.enable(15),v.anisotropy&&u.enable(16),v.alphaHash&&u.enable(17),v.batching&&u.enable(18),v.dispersion&&u.enable(19),v.batchingColor&&u.enable(20),v.gradientMap&&u.enable(21),v.packedNormalMap&&u.enable(22),v.vertexNormals&&u.enable(23),d.push(u.mask),u.disableAll(),v.fog&&u.enable(0),v.useFog&&u.enable(1),v.flatShading&&u.enable(2),v.logarithmicDepthBuffer&&u.enable(3),v.reversedDepthBuffer&&u.enable(4),v.skinning&&u.enable(5),v.morphTargets&&u.enable(6),v.morphNormals&&u.enable(7),v.morphColors&&u.enable(8),v.premultipliedAlpha&&u.enable(9),v.shadowMapEnabled&&u.enable(10),v.doubleSided&&u.enable(11),v.flipSided&&u.enable(12),v.useDepthPacking&&u.enable(13),v.dithering&&u.enable(14),v.transmission&&u.enable(15),v.sheen&&u.enable(16),v.opaque&&u.enable(17),v.pointsUvs&&u.enable(18),v.decodeVideoTexture&&u.enable(19),v.decodeVideoTextureEmissive&&u.enable(20),v.alphaToCoverage&&u.enable(21),v.numLightProbeGrids>0&&u.enable(22),d.push(u.mask)}function M(d){let v=E[d.type],y;if(v){let T=At[v];y=Sa.clone(T.uniforms)}else y=d.uniforms;return y}function A(d,v){let y=k.get(v);return y!==void 0?++y.usedTimes:(y=new kf(e,v,d,l),R.push(y),k.set(v,y)),y}function H(d){if(--d.usedTimes===0){let v=R.indexOf(d);R[v]=R[R.length-1],R.pop(),k.delete(d.cacheKey),d.destroy()}}function _(d){m.remove(d)}function I(){m.dispose()}return{getParameters:G,getProgramCacheKey:c,getUniforms:M,acquireProgram:A,releaseProgram:H,releaseShaderCache:_,programs:R,dispose:I}}function Kf(){let e=new WeakMap;function n(u){return e.has(u)}function t(u){let m=e.get(u);return m===void 0&&(m={},e.set(u,m)),m}function i(u){e.delete(u)}function l(u,m,C){e.get(u)[m]=C}function a(){e=new WeakMap}return{has:n,get:t,remove:i,update:l,dispose:a}}function Yf(e,n){return e.groupOrder!==n.groupOrder?e.groupOrder-n.groupOrder:e.renderOrder!==n.renderOrder?e.renderOrder-n.renderOrder:e.material.id!==n.material.id?e.material.id-n.material.id:e.materialVariant!==n.materialVariant?e.materialVariant-n.materialVariant:e.z!==n.z?e.z-n.z:e.id-n.id}function Sr(e,n){return e.groupOrder!==n.groupOrder?e.groupOrder-n.groupOrder:e.renderOrder!==n.renderOrder?e.renderOrder-n.renderOrder:e.z!==n.z?n.z-e.z:e.id-n.id}function Er(){let e=[],n=0,t=[],i=[],l=[];function a(){n=0,t.length=0,i.length=0,l.length=0}function u(p){let E=0;return p.isInstancedMesh&&(E+=2),p.isSkinnedMesh&&(E+=1),E}function m(p,E,D,G,c,s){let h=e[n];return h===void 0?(h={id:p.id,object:p,geometry:E,material:D,materialVariant:u(p),groupOrder:G,renderOrder:p.renderOrder,z:c,group:s},e[n]=h):(h.id=p.id,h.object=p,h.geometry=E,h.material=D,h.materialVariant=u(p),h.groupOrder=G,h.renderOrder=p.renderOrder,h.z=c,h.group=s),n++,h}function C(p,E,D,G,c,s){let h=m(p,E,D,G,c,s);D.transmission>0?i.push(h):D.transparent===!0?l.push(h):t.push(h)}function R(p,E,D,G,c,s){let h=m(p,E,D,G,c,s);D.transmission>0?i.unshift(h):D.transparent===!0?l.unshift(h):t.unshift(h)}function k(p,E){t.length>1&&t.sort(p||Yf),i.length>1&&i.sort(E||Sr),l.length>1&&l.sort(E||Sr)}function U(){for(let p=n,E=e.length;p<E;p++){let D=e[p];if(D.id===null)break;D.id=null,D.object=null,D.geometry=null,D.material=null,D.group=null}}return{opaque:t,transmissive:i,transparent:l,init:a,push:C,unshift:R,finish:U,sort:k}}function qf(){let e=new WeakMap;function n(i,l){let a=e.get(i),u;return a===void 0?(u=new Er,e.set(i,[u])):l>=a.length?(u=new Er,a.push(u)):u=a[l],u}function t(){e=new WeakMap}return{get:n,dispose:t}}function Zf(){let e={};return{get:function(n){if(e[n.id]!==void 0)return e[n.id];let t;switch(n.type){case\"DirectionalLight\":t={direction:new Fe,color:new je};break;case\"SpotLight\":t={position:new Fe,direction:new Fe,color:new je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":t={position:new Fe,color:new je,distance:0,decay:0};break;case\"HemisphereLight\":t={direction:new Fe,skyColor:new je,groundColor:new je};break;case\"RectAreaLight\":t={color:new je,position:new Fe,halfWidth:new Fe,halfHeight:new Fe};break}return e[n.id]=t,t}}}function $f(){let e={};return{get:function(n){if(e[n.id]!==void 0)return e[n.id];let t;switch(n.type){case\"DirectionalLight\":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mt};break;case\"SpotLight\":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mt};break;case\"PointLight\":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new mt,shadowCameraNear:1,shadowCameraFar:1e3};break}return e[n.id]=t,t}}}var Qf=0;function Jf(e,n){return(n.castShadow?2:0)-(e.castShadow?2:0)+(n.map?1:0)-(e.map?1:0)}function jf(e){let n=new Zf,t=$f(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let R=0;R<9;R++)i.probe.push(new Fe);let l=new Fe,a=new Qt,u=new Qt;function m(R){let k=0,U=0,p=0;for(let v=0;v<9;v++)i.probe[v].set(0,0,0);let E=0,D=0,G=0,c=0,s=0,h=0,M=0,A=0,H=0,_=0,I=0;R.sort(Jf);for(let v=0,y=R.length;v<y;v++){let T=R[v],B=T.color,$=T.intensity,Y=T.distance,N=null;if(T.shadow&&T.shadow.map&&(T.shadow.map.texture.format===jt?N=T.shadow.map.texture:N=T.shadow.map.depthTexture||T.shadow.map.texture),T.isAmbientLight)k+=B.r*$,U+=B.g*$,p+=B.b*$;else if(T.isLightProbe){for(let F=0;F<9;F++)i.probe[F].addScaledVector(T.sh.coefficients[F],$);I++}else if(T.isDirectionalLight){let F=n.get(T);if(F.color.copy(T.color).multiplyScalar(T.intensity),T.castShadow){let O=T.shadow,Q=t.get(T);Q.shadowIntensity=O.intensity,Q.shadowBias=O.bias,Q.shadowNormalBias=O.normalBias,Q.shadowRadius=O.radius,Q.shadowMapSize=O.mapSize,i.directionalShadow[E]=Q,i.directionalShadowMap[E]=N,i.directionalShadowMatrix[E]=T.shadow.matrix,h++}i.directional[E]=F,E++}else if(T.isSpotLight){let F=n.get(T);F.position.setFromMatrixPosition(T.matrixWorld),F.color.copy(B).multiplyScalar($),F.distance=Y,F.coneCos=Math.cos(T.angle),F.penumbraCos=Math.cos(T.angle*(1-T.penumbra)),F.decay=T.decay,i.spot[G]=F;let O=T.shadow;if(T.map&&(i.spotLightMap[H]=T.map,H++,O.updateMatrices(T),T.castShadow&&_++),i.spotLightMatrix[G]=O.matrix,T.castShadow){let Q=t.get(T);Q.shadowIntensity=O.intensity,Q.shadowBias=O.bias,Q.shadowNormalBias=O.normalBias,Q.shadowRadius=O.radius,Q.shadowMapSize=O.mapSize,i.spotShadow[G]=Q,i.spotShadowMap[G]=N,A++}G++}else if(T.isRectAreaLight){let F=n.get(T);F.color.copy(B).multiplyScalar($),F.halfWidth.set(T.width*.5,0,0),F.halfHeight.set(0,T.height*.5,0),i.rectArea[c]=F,c++}else if(T.isPointLight){let F=n.get(T);if(F.color.copy(T.color).multiplyScalar(T.intensity),F.distance=T.distance,F.decay=T.decay,T.castShadow){let O=T.shadow,Q=t.get(T);Q.shadowIntensity=O.intensity,Q.shadowBias=O.bias,Q.shadowNormalBias=O.normalBias,Q.shadowRadius=O.radius,Q.shadowMapSize=O.mapSize,Q.shadowCameraNear=O.camera.near,Q.shadowCameraFar=O.camera.far,i.pointShadow[D]=Q,i.pointShadowMap[D]=N,i.pointShadowMatrix[D]=T.shadow.matrix,M++}i.point[D]=F,D++}else if(T.isHemisphereLight){let F=n.get(T);F.skyColor.copy(T.color).multiplyScalar($),F.groundColor.copy(T.groundColor).multiplyScalar($),i.hemi[s]=F,s++}}c>0&&(e.has(\"OES_texture_float_linear\")===!0?(i.rectAreaLTC1=oe.LTC_FLOAT_1,i.rectAreaLTC2=oe.LTC_FLOAT_2):(i.rectAreaLTC1=oe.LTC_HALF_1,i.rectAreaLTC2=oe.LTC_HALF_2)),i.ambient[0]=k,i.ambient[1]=U,i.ambient[2]=p;let d=i.hash;(d.directionalLength!==E||d.pointLength!==D||d.spotLength!==G||d.rectAreaLength!==c||d.hemiLength!==s||d.numDirectionalShadows!==h||d.numPointShadows!==M||d.numSpotShadows!==A||d.numSpotMaps!==H||d.numLightProbes!==I)&&(i.directional.length=E,i.spot.length=G,i.rectArea.length=c,i.point.length=D,i.hemi.length=s,i.directionalShadow.length=h,i.directionalShadowMap.length=h,i.pointShadow.length=M,i.pointShadowMap.length=M,i.spotShadow.length=A,i.spotShadowMap.length=A,i.directionalShadowMatrix.length=h,i.pointShadowMatrix.length=M,i.spotLightMatrix.length=A+H-_,i.spotLightMap.length=H,i.numSpotLightShadowsWithMaps=_,i.numLightProbes=I,d.directionalLength=E,d.pointLength=D,d.spotLength=G,d.rectAreaLength=c,d.hemiLength=s,d.numDirectionalShadows=h,d.numPointShadows=M,d.numSpotShadows=A,d.numSpotMaps=H,d.numLightProbes=I,i.version=Qf++)}function C(R,k){let U=0,p=0,E=0,D=0,G=0,c=k.matrixWorldInverse;for(let s=0,h=R.length;s<h;s++){let M=R[s];if(M.isDirectionalLight){let A=i.directional[U];A.direction.setFromMatrixPosition(M.matrixWorld),l.setFromMatrixPosition(M.target.matrixWorld),A.direction.sub(l),A.direction.transformDirection(c),U++}else if(M.isSpotLight){let A=i.spot[E];A.position.setFromMatrixPosition(M.matrixWorld),A.position.applyMatrix4(c),A.direction.setFromMatrixPosition(M.matrixWorld),l.setFromMatrixPosition(M.target.matrixWorld),A.direction.sub(l),A.direction.transformDirection(c),E++}else if(M.isRectAreaLight){let A=i.rectArea[D];A.position.setFromMatrixPosition(M.matrixWorld),A.position.applyMatrix4(c),u.identity(),a.copy(M.matrixWorld),a.premultiply(c),u.extractRotation(a),A.halfWidth.set(M.width*.5,0,0),A.halfHeight.set(0,M.height*.5,0),A.halfWidth.applyMatrix4(u),A.halfHeight.applyMatrix4(u),D++}else if(M.isPointLight){let A=i.point[p];A.position.setFromMatrixPosition(M.matrixWorld),A.position.applyMatrix4(c),p++}else if(M.isHemisphereLight){let A=i.hemi[G];A.direction.setFromMatrixPosition(M.matrixWorld),A.direction.transformDirection(c),G++}}}return{setup:m,setupView:C,state:i}}function xr(e){let n=new jf(e),t=[],i=[],l=[];function a(p){U.camera=p,t.length=0,i.length=0,l.length=0}function u(p){t.push(p)}function m(p){i.push(p)}function C(p){l.push(p)}function R(){n.setup(t)}function k(p){n.setupView(t,p)}let U={lightsArray:t,shadowsArray:i,lightProbeGridArray:l,camera:null,lights:n,transmissionRenderTarget:{},textureUnits:0};return{init:a,state:U,setupLights:R,setupLightsView:k,pushLight:u,pushShadow:m,pushLightProbeGrid:C}}function ed(e){let n=new WeakMap;function t(l,a=0){let u=n.get(l),m;return u===void 0?(m=new xr(e),n.set(l,[m])):a>=u.length?(m=new xr(e),u.push(m)):m=u[a],m}function i(){n=new WeakMap}return{get:t,dispose:i}}var td=`void main() {\n\tgl_Position = vec4( position, 1.0 );\n}`,nd=`uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ).rg;\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ).r;\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( max( 0.0, squared_mean - mean * mean ) );\n\tgl_FragColor = vec4( mean, std_dev, 0.0, 1.0 );\n}`,id=[new Fe(1,0,0),new Fe(-1,0,0),new Fe(0,1,0),new Fe(0,-1,0),new Fe(0,0,1),new Fe(0,0,-1)],rd=[new Fe(0,-1,0),new Fe(0,-1,0),new Fe(0,0,1),new Fe(0,0,-1),new Fe(0,-1,0),new Fe(0,-1,0)],Mr=new Qt,an=new Fe,Wn=new Fe;function ad(e,n,t){let i=new Gr,l=new mt,a=new mt,u=new ht,m=new Ma,C=new Ta,R={},k=t.maxTextureSize,U={[ln]:St,[St]:ln,[Lt]:Lt},p=new It({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new mt},radius:{value:4}},vertexShader:td,fragmentShader:nd}),E=p.clone();E.defines.HORIZONTAL_PASS=1;let D=new Rn;D.setAttribute(\"position\",new vn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let G=new wt(D,p),c=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Sn;let s=this.type;this.render=function(_,I,d){if(c.enabled===!1||c.autoUpdate===!1&&c.needsUpdate===!1||_.length===0)return;this.type===Aa&&(He(\"WebGLShadowMap: PCFSoftShadowMap has been deprecated. Using PCFShadowMap instead.\"),this.type=Sn);let v=e.getRenderTarget(),y=e.getActiveCubeFace(),T=e.getActiveMipmapLevel(),B=e.state;B.setBlending(Dt),B.buffers.depth.getReversed()===!0?B.buffers.color.setClear(0,0,0,0):B.buffers.color.setClear(1,1,1,1),B.buffers.depth.setTest(!0),B.setScissorTest(!1);let $=s!==this.type;$&&I.traverse(function(Y){Y.material&&(Array.isArray(Y.material)?Y.material.forEach(N=>N.needsUpdate=!0):Y.material.needsUpdate=!0)});for(let Y=0,N=_.length;Y<N;Y++){let F=_[Y],O=F.shadow;if(O===void 0){He(\"WebGLShadowMap:\",F,\"has no shadow.\");continue}if(O.autoUpdate===!1&&O.needsUpdate===!1)continue;l.copy(O.mapSize);let Q=O.getFrameExtents();l.multiply(Q),a.copy(O.mapSize),(l.x>k||l.y>k)&&(l.x>k&&(a.x=Math.floor(k/Q.x),l.x=a.x*Q.x,O.mapSize.x=a.x),l.y>k&&(a.y=Math.floor(k/Q.y),l.y=a.y*Q.y,O.mapSize.y=a.y));let de=e.state.buffers.depth.getReversed();if(O.camera._reversedDepth=de,O.map===null||$===!0){if(O.map!==null&&(O.map.depthTexture!==null&&(O.map.depthTexture.dispose(),O.map.depthTexture=null),O.map.dispose()),this.type===on){if(F.isPointLight){He(\"WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.\");continue}O.map=new Ct(l.x,l.y,{format:jt,type:Gt,minFilter:vt,magFilter:vt,generateMipmaps:!1}),O.map.texture.name=F.name+\".shadowMap\",O.map.depthTexture=new fn(l.x,l.y,Ot),O.map.depthTexture.name=F.name+\".shadowMapDepth\",O.map.depthTexture.format=en,O.map.depthTexture.compareFunction=null,O.map.depthTexture.minFilter=kt,O.map.depthTexture.magFilter=kt}else F.isPointLight?(O.map=new Tn(l.x),O.map.depthTexture=new Ra(l.x,Wt)):(O.map=new Ct(l.x,l.y),O.map.depthTexture=new fn(l.x,l.y,Wt)),O.map.depthTexture.name=F.name+\".shadowMap\",O.map.depthTexture.format=en,this.type===Sn?(O.map.depthTexture.compareFunction=de?ri:ai,O.map.depthTexture.minFilter=vt,O.map.depthTexture.magFilter=vt):(O.map.depthTexture.compareFunction=null,O.map.depthTexture.minFilter=kt,O.map.depthTexture.magFilter=kt);O.camera.updateProjectionMatrix()}let ve=O.map.isWebGLCubeRenderTarget?6:1;for(let Ae=0;Ae<ve;Ae++){if(O.map.isWebGLCubeRenderTarget)e.setRenderTarget(O.map,Ae),e.clear();else{Ae===0&&(e.setRenderTarget(O.map),e.clear());let xe=O.getViewport(Ae);u.set(a.x*xe.x,a.y*xe.y,a.x*xe.z,a.y*xe.w),B.viewport(u)}if(F.isPointLight){let xe=O.camera,Ve=O.matrix,Ye=F.distance||xe.far;Ye!==xe.far&&(xe.far=Ye,xe.updateProjectionMatrix()),an.setFromMatrixPosition(F.matrixWorld),xe.position.copy(an),Wn.copy(xe.position),Wn.add(id[Ae]),xe.up.copy(rd[Ae]),xe.lookAt(Wn),xe.updateMatrixWorld(),Ve.makeTranslation(-an.x,-an.y,-an.z),Mr.multiplyMatrices(xe.projectionMatrix,xe.matrixWorldInverse),O._frustum.setFromProjectionMatrix(Mr,xe.coordinateSystem,xe.reversedDepth)}else O.updateMatrices(F);i=O.getFrustum(),A(I,d,O.camera,F,this.type)}O.isPointLightShadow!==!0&&this.type===on&&h(O,d),O.needsUpdate=!1}s=this.type,c.needsUpdate=!1,e.setRenderTarget(v,y,T)};function h(_,I){let d=n.update(G);p.defines.VSM_SAMPLES!==_.blurSamples&&(p.defines.VSM_SAMPLES=_.blurSamples,E.defines.VSM_SAMPLES=_.blurSamples,p.needsUpdate=!0,E.needsUpdate=!0),_.mapPass===null&&(_.mapPass=new Ct(l.x,l.y,{format:jt,type:Gt})),p.uniforms.shadow_pass.value=_.map.depthTexture,p.uniforms.resolution.value=_.mapSize,p.uniforms.radius.value=_.radius,e.setRenderTarget(_.mapPass),e.clear(),e.renderBufferDirect(I,null,d,p,G,null),E.uniforms.shadow_pass.value=_.mapPass.texture,E.uniforms.resolution.value=_.mapSize,E.uniforms.radius.value=_.radius,e.setRenderTarget(_.map),e.clear(),e.renderBufferDirect(I,null,d,E,G,null)}function M(_,I,d,v){let y=null,T=d.isPointLight===!0?_.customDistanceMaterial:_.customDepthMaterial;if(T!==void 0)y=T;else if(y=d.isPointLight===!0?C:m,e.localClippingEnabled&&I.clipShadows===!0&&Array.isArray(I.clippingPlanes)&&I.clippingPlanes.length!==0||I.displacementMap&&I.displacementScale!==0||I.alphaMap&&I.alphaTest>0||I.map&&I.alphaTest>0||I.alphaToCoverage===!0){let B=y.uuid,$=I.uuid,Y=R[B];Y===void 0&&(Y={},R[B]=Y);let N=Y[$];N===void 0&&(N=y.clone(),Y[$]=N,I.addEventListener(\"dispose\",H)),y=N}if(y.visible=I.visible,y.wireframe=I.wireframe,v===on?y.side=I.shadowSide!==null?I.shadowSide:I.side:y.side=I.shadowSide!==null?I.shadowSide:U[I.side],y.alphaMap=I.alphaMap,y.alphaTest=I.alphaToCoverage===!0?.5:I.alphaTest,y.map=I.map,y.clipShadows=I.clipShadows,y.clippingPlanes=I.clippingPlanes,y.clipIntersection=I.clipIntersection,y.displacementMap=I.displacementMap,y.displacementScale=I.displacementScale,y.displacementBias=I.displacementBias,y.wireframeLinewidth=I.wireframeLinewidth,y.linewidth=I.linewidth,d.isPointLight===!0&&y.isMeshDistanceMaterial===!0){let B=e.properties.get(y);B.light=d}return y}function A(_,I,d,v,y){if(_.visible===!1)return;if(_.layers.test(I.layers)&&(_.isMesh||_.isLine||_.isPoints)&&(_.castShadow||_.receiveShadow&&y===on)&&(!_.frustumCulled||i.intersectsObject(_))){_.modelViewMatrix.multiplyMatrices(d.matrixWorldInverse,_.matrixWorld);let $=n.update(_),Y=_.material;if(Array.isArray(Y)){let N=$.groups;for(let F=0,O=N.length;F<O;F++){let Q=N[F],de=Y[Q.materialIndex];if(de&&de.visible){let ve=M(_,de,v,y);_.onBeforeShadow(e,_,I,d,$,ve,Q),e.renderBufferDirect(d,null,$,ve,_,Q),_.onAfterShadow(e,_,I,d,$,ve,Q)}}}else if(Y.visible){let N=M(_,Y,v,y);_.onBeforeShadow(e,_,I,d,$,N,null),e.renderBufferDirect(d,null,$,N,_,null),_.onAfterShadow(e,_,I,d,$,N,null)}}let B=_.children;for(let $=0,Y=B.length;$<Y;$++)A(B[$],I,d,v,y)}function H(_){_.target.removeEventListener(\"dispose\",H);for(let d in R){let v=R[d],y=_.target.uuid;y in v&&(v[y].dispose(),delete v[y])}}}function od(e,n){function t(){let g=!1,ee=new ht,W=null,ue=new ht(0,0,0,0);return{setMask:function(ie){W!==ie&&!g&&(e.colorMask(ie,ie,ie,ie),W=ie)},setLocked:function(ie){g=ie},setClear:function(ie,q,ge,Ce,at){at===!0&&(ie*=Ce,q*=Ce,ge*=Ce),ee.set(ie,q,ge,Ce),ue.equals(ee)===!1&&(e.clearColor(ie,q,ge,Ce),ue.copy(ee))},reset:function(){g=!1,W=null,ue.set(-1,0,0,0)}}}function i(){let g=!1,ee=!1,W=null,ue=null,ie=null;return{setReversed:function(q){if(ee!==q){let ge=n.get(\"EXT_clip_control\");q?ge.clipControlEXT(ge.LOWER_LEFT_EXT,ge.ZERO_TO_ONE_EXT):ge.clipControlEXT(ge.LOWER_LEFT_EXT,ge.NEGATIVE_ONE_TO_ONE_EXT),ee=q;let Ce=ie;ie=null,this.setClear(Ce)}},getReversed:function(){return ee},setTest:function(q){q?te(e.DEPTH_TEST):Me(e.DEPTH_TEST)},setMask:function(q){W!==q&&!g&&(e.depthMask(q),W=q)},setFunc:function(q){if(ee&&(q=ja[q]),ue!==q){switch(q){case Za:e.depthFunc(e.NEVER);break;case qa:e.depthFunc(e.ALWAYS);break;case Ya:e.depthFunc(e.LESS);break;case gi:e.depthFunc(e.LEQUAL);break;case Ka:e.depthFunc(e.EQUAL);break;case Xa:e.depthFunc(e.GEQUAL);break;case za:e.depthFunc(e.GREATER);break;case Wa:e.depthFunc(e.NOTEQUAL);break;default:e.depthFunc(e.LEQUAL)}ue=q}},setLocked:function(q){g=q},setClear:function(q){ie!==q&&(ie=q,ee&&(q=1-q),e.clearDepth(q))},reset:function(){g=!1,W=null,ue=null,ie=null,ee=!1}}}function l(){let g=!1,ee=null,W=null,ue=null,ie=null,q=null,ge=null,Ce=null,at=null;return{setTest:function(We){g||(We?te(e.STENCIL_TEST):Me(e.STENCIL_TEST))},setMask:function(We){ee!==We&&!g&&(e.stencilMask(We),ee=We)},setFunc:function(We,Pt,xt){(W!==We||ue!==Pt||ie!==xt)&&(e.stencilFunc(We,Pt,xt),W=We,ue=Pt,ie=xt)},setOp:function(We,Pt,xt){(q!==We||ge!==Pt||Ce!==xt)&&(e.stencilOp(We,Pt,xt),q=We,ge=Pt,Ce=xt)},setLocked:function(We){g=We},setClear:function(We){at!==We&&(e.clearStencil(We),at=We)},reset:function(){g=!1,ee=null,W=null,ue=null,ie=null,q=null,ge=null,Ce=null,at=null}}}let a=new t,u=new i,m=new l,C=new WeakMap,R=new WeakMap,k={},U={},p={},E=new WeakMap,D=[],G=null,c=!1,s=null,h=null,M=null,A=null,H=null,_=null,I=null,d=new je(0,0,0),v=0,y=!1,T=null,B=null,$=null,Y=null,N=null,F=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),O=!1,Q=0,de=e.getParameter(e.VERSION);de.indexOf(\"WebGL\")!==-1?(Q=parseFloat(/^WebGL (\\d)/.exec(de)[1]),O=Q>=1):de.indexOf(\"OpenGL ES\")!==-1&&(Q=parseFloat(/^OpenGL ES (\\d)/.exec(de)[1]),O=Q>=2);let ve=null,Ae={},xe=e.getParameter(e.SCISSOR_BOX),Ve=e.getParameter(e.VIEWPORT),Ye=new ht().fromArray(xe),we=new ht().fromArray(Ve);function K(g,ee,W,ue){let ie=new Uint8Array(4),q=e.createTexture();e.bindTexture(g,q),e.texParameteri(g,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(g,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let ge=0;ge<W;ge++)g===e.TEXTURE_3D||g===e.TEXTURE_2D_ARRAY?e.texImage3D(ee,0,e.RGBA,1,1,ue,0,e.RGBA,e.UNSIGNED_BYTE,ie):e.texImage2D(ee+ge,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,ie);return q}let ce={};ce[e.TEXTURE_2D]=K(e.TEXTURE_2D,e.TEXTURE_2D,1),ce[e.TEXTURE_CUBE_MAP]=K(e.TEXTURE_CUBE_MAP,e.TEXTURE_CUBE_MAP_POSITIVE_X,6),ce[e.TEXTURE_2D_ARRAY]=K(e.TEXTURE_2D_ARRAY,e.TEXTURE_2D_ARRAY,1,1),ce[e.TEXTURE_3D]=K(e.TEXTURE_3D,e.TEXTURE_3D,1,1),a.setClear(0,0,0,1),u.setClear(1),m.setClear(0),te(e.DEPTH_TEST),u.setFunc(gi),lt(!1),tt(vi),te(e.CULL_FACE),Je(Dt);function te(g){k[g]!==!0&&(e.enable(g),k[g]=!0)}function Me(g){k[g]!==!1&&(e.disable(g),k[g]=!1)}function be(g,ee){return p[g]!==ee?(e.bindFramebuffer(g,ee),p[g]=ee,g===e.DRAW_FRAMEBUFFER&&(p[e.FRAMEBUFFER]=ee),g===e.FRAMEBUFFER&&(p[e.DRAW_FRAMEBUFFER]=ee),!0):!1}function Te(g,ee){let W=D,ue=!1;if(g){W=E.get(ee),W===void 0&&(W=[],E.set(ee,W));let ie=g.textures;if(W.length!==ie.length||W[0]!==e.COLOR_ATTACHMENT0){for(let q=0,ge=ie.length;q<ge;q++)W[q]=e.COLOR_ATTACHMENT0+q;W.length=ie.length,ue=!0}}else W[0]!==e.BACK&&(W[0]=e.BACK,ue=!0);ue&&e.drawBuffers(W)}function et(g){return G!==g?(e.useProgram(g),G=g,!0):!1}let Ne={[nn]:e.FUNC_ADD,[Ca]:e.FUNC_SUBTRACT,[ba]:e.FUNC_REVERSE_SUBTRACT};Ne[eo]=e.MIN,Ne[to]=e.MAX;let ke={[ka]:e.ZERO,[Va]:e.ONE,[Ha]:e.SRC_COLOR,[Ga]:e.SRC_ALPHA,[Ba]:e.SRC_ALPHA_SATURATE,[Oa]:e.DST_COLOR,[Fa]:e.DST_ALPHA,[ya]:e.ONE_MINUS_SRC_COLOR,[Na]:e.ONE_MINUS_SRC_ALPHA,[Ia]:e.ONE_MINUS_DST_COLOR,[wa]:e.ONE_MINUS_DST_ALPHA,[Da]:e.CONSTANT_COLOR,[Ua]:e.ONE_MINUS_CONSTANT_COLOR,[La]:e.CONSTANT_ALPHA,[Pa]:e.ONE_MINUS_CONSTANT_ALPHA};function Je(g,ee,W,ue,ie,q,ge,Ce,at,We){if(g===Dt){c===!0&&(Me(e.BLEND),c=!1);return}if(c===!1&&(te(e.BLEND),c=!0),g!==Ja){if(g!==s||We!==y){if((h!==nn||H!==nn)&&(e.blendEquation(e.FUNC_ADD),h=nn,H=nn),We)switch(g){case En:e.blendFuncSeparate(e.ONE,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA);break;case xi:e.blendFunc(e.ONE,e.ONE);break;case Ei:e.blendFuncSeparate(e.ZERO,e.ONE_MINUS_SRC_COLOR,e.ZERO,e.ONE);break;case Si:e.blendFuncSeparate(e.DST_COLOR,e.ONE_MINUS_SRC_ALPHA,e.ZERO,e.ONE);break;default:Qe(\"WebGLState: Invalid blending: \",g);break}else switch(g){case En:e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA);break;case xi:e.blendFuncSeparate(e.SRC_ALPHA,e.ONE,e.ONE,e.ONE);break;case Ei:Qe(\"WebGLState: SubtractiveBlending requires material.premultipliedAlpha = true\");break;case Si:Qe(\"WebGLState: MultiplyBlending requires material.premultipliedAlpha = true\");break;default:Qe(\"WebGLState: Invalid blending: \",g);break}M=null,A=null,_=null,I=null,d.set(0,0,0),v=0,s=g,y=We}return}ie=ie||ee,q=q||W,ge=ge||ue,(ee!==h||ie!==H)&&(e.blendEquationSeparate(Ne[ee],Ne[ie]),h=ee,H=ie),(W!==M||ue!==A||q!==_||ge!==I)&&(e.blendFuncSeparate(ke[W],ke[ue],ke[q],ke[ge]),M=W,A=ue,_=q,I=ge),(Ce.equals(d)===!1||at!==v)&&(e.blendColor(Ce.r,Ce.g,Ce.b,at),d.copy(Ce),v=at),s=g,y=!1}function Ie(g,ee){g.side===Lt?Me(e.CULL_FACE):te(e.CULL_FACE);let W=g.side===St;ee&&(W=!W),lt(W),g.blending===En&&g.transparent===!1?Je(Dt):Je(g.blending,g.blendEquation,g.blendSrc,g.blendDst,g.blendEquationAlpha,g.blendSrcAlpha,g.blendDstAlpha,g.blendColor,g.blendAlpha,g.premultipliedAlpha),u.setFunc(g.depthFunc),u.setTest(g.depthTest),u.setMask(g.depthWrite),a.setMask(g.colorWrite);let ue=g.stencilWrite;m.setTest(ue),ue&&(m.setMask(g.stencilWriteMask),m.setFunc(g.stencilFunc,g.stencilRef,g.stencilFuncMask),m.setOp(g.stencilFail,g.stencilZFail,g.stencilZPass)),S(g.polygonOffset,g.polygonOffsetFactor,g.polygonOffsetUnits),g.alphaToCoverage===!0?te(e.SAMPLE_ALPHA_TO_COVERAGE):Me(e.SAMPLE_ALPHA_TO_COVERAGE)}function lt(g){T!==g&&(g?e.frontFace(e.CW):e.frontFace(e.CCW),T=g)}function tt(g){g!==$a?(te(e.CULL_FACE),g!==B&&(g===vi?e.cullFace(e.BACK):g===Qa?e.cullFace(e.FRONT):e.cullFace(e.FRONT_AND_BACK))):Me(e.CULL_FACE),B=g}function _t(g){g!==$&&(O&&e.lineWidth(g),$=g)}function S(g,ee,W){g?(te(e.POLYGON_OFFSET_FILL),(Y!==ee||N!==W)&&(Y=ee,N=W,u.getReversed()&&(ee=-ee),e.polygonOffset(ee,W))):Me(e.POLYGON_OFFSET_FILL)}function ct(g){g?te(e.SCISSOR_TEST):Me(e.SCISSOR_TEST)}function ye(g){g===void 0&&(g=e.TEXTURE0+F-1),ve!==g&&(e.activeTexture(g),ve=g)}function qe(g,ee,W){W===void 0&&(ve===null?W=e.TEXTURE0+F-1:W=ve);let ue=Ae[W];ue===void 0&&(ue={type:void 0,texture:void 0},Ae[W]=ue),(ue.type!==g||ue.texture!==ee)&&(ve!==W&&(e.activeTexture(W),ve=W),e.bindTexture(g,ee||ce[g]),ue.type=g,ue.texture=ee)}function ae(){let g=Ae[ve];g!==void 0&&g.type!==void 0&&(e.bindTexture(g.type,null),g.type=void 0,g.texture=void 0)}function it(){try{e.compressedTexImage2D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function f(){try{e.compressedTexImage3D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function r(){try{e.texSubImage2D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function b(){try{e.texSubImage3D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function z(){try{e.compressedTexSubImage2D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function Z(){try{e.compressedTexSubImage3D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function J(){try{e.texStorage2D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function re(){try{e.texStorage3D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function V(){try{e.texImage2D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function X(){try{e.texImage3D(...arguments)}catch(g){Qe(\"WebGLState:\",g)}}function fe(g){return U[g]!==void 0?U[g]:e.getParameter(g)}function he(g,ee){U[g]!==ee&&(e.pixelStorei(g,ee),U[g]=ee)}function ne(g){Ye.equals(g)===!1&&(e.scissor(g.x,g.y,g.z,g.w),Ye.copy(g))}function j(g){we.equals(g)===!1&&(e.viewport(g.x,g.y,g.z,g.w),we.copy(g))}function Re(g,ee){let W=R.get(ee);W===void 0&&(W=new WeakMap,R.set(ee,W));let ue=W.get(g);ue===void 0&&(ue=e.getUniformBlockIndex(ee,g.name),W.set(g,ue))}function Le(g,ee){let ue=R.get(ee).get(g);C.get(ee)!==ue&&(e.uniformBlockBinding(ee,ue,g.__bindingPointIndex),C.set(ee,ue))}function Ge(){e.disable(e.BLEND),e.disable(e.CULL_FACE),e.disable(e.DEPTH_TEST),e.disable(e.POLYGON_OFFSET_FILL),e.disable(e.SCISSOR_TEST),e.disable(e.STENCIL_TEST),e.disable(e.SAMPLE_ALPHA_TO_COVERAGE),e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ONE,e.ZERO),e.blendFuncSeparate(e.ONE,e.ZERO,e.ONE,e.ZERO),e.blendColor(0,0,0,0),e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.depthMask(!0),e.depthFunc(e.LESS),u.setReversed(!1),e.clearDepth(1),e.stencilMask(4294967295),e.stencilFunc(e.ALWAYS,0,4294967295),e.stencilOp(e.KEEP,e.KEEP,e.KEEP),e.clearStencil(0),e.cullFace(e.BACK),e.frontFace(e.CCW),e.polygonOffset(0,0),e.activeTexture(e.TEXTURE0),e.bindFramebuffer(e.FRAMEBUFFER,null),e.bindFramebuffer(e.DRAW_FRAMEBUFFER,null),e.bindFramebuffer(e.READ_FRAMEBUFFER,null),e.useProgram(null),e.lineWidth(1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.viewport(0,0,e.canvas.width,e.canvas.height),e.pixelStorei(e.PACK_ALIGNMENT,4),e.pixelStorei(e.UNPACK_ALIGNMENT,4),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.BROWSER_DEFAULT_WEBGL),e.pixelStorei(e.PACK_ROW_LENGTH,0),e.pixelStorei(e.PACK_SKIP_PIXELS,0),e.pixelStorei(e.PACK_SKIP_ROWS,0),e.pixelStorei(e.UNPACK_ROW_LENGTH,0),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,0),e.pixelStorei(e.UNPACK_SKIP_PIXELS,0),e.pixelStorei(e.UNPACK_SKIP_ROWS,0),e.pixelStorei(e.UNPACK_SKIP_IMAGES,0),k={},U={},ve=null,Ae={},p={},E=new WeakMap,D=[],G=null,c=!1,s=null,h=null,M=null,A=null,H=null,_=null,I=null,d=new je(0,0,0),v=0,y=!1,T=null,B=null,$=null,Y=null,N=null,Ye.set(0,0,e.canvas.width,e.canvas.height),we.set(0,0,e.canvas.width,e.canvas.height),a.reset(),u.reset(),m.reset()}return{buffers:{color:a,depth:u,stencil:m},enable:te,disable:Me,bindFramebuffer:be,drawBuffers:Te,useProgram:et,setBlending:Je,setMaterial:Ie,setFlipSided:lt,setCullFace:tt,setLineWidth:_t,setPolygonOffset:S,setScissorTest:ct,activeTexture:ye,bindTexture:qe,unbindTexture:ae,compressedTexImage2D:it,compressedTexImage3D:f,texImage2D:V,texImage3D:X,pixelStorei:he,getParameter:fe,updateUBOMapping:Re,uniformBlockBinding:Le,texStorage2D:J,texStorage3D:re,texSubImage2D:r,texSubImage3D:b,compressedTexSubImage2D:z,compressedTexSubImage3D:Z,scissor:ne,viewport:j,reset:Ge}}function sd(e,n,t,i,l,a,u){let m=n.has(\"WEBGL_multisampled_render_to_texture\")?n.get(\"WEBGL_multisampled_render_to_texture\"):null,C=typeof navigator>\"u\"?!1:/OculusBrowser/g.test(navigator.userAgent),R=new mt,k=new WeakMap,U=new Set,p,E=new WeakMap,D=!1;try{D=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")!==null}catch{}function G(f,r){return D?new OffscreenCanvas(f,r):uo(\"canvas\")}function c(f,r,b){let z=1,Z=it(f);if((Z.width>b||Z.height>b)&&(z=b/Math.max(Z.width,Z.height)),z<1)if(typeof HTMLImageElement<\"u\"&&f instanceof HTMLImageElement||typeof HTMLCanvasElement<\"u\"&&f instanceof HTMLCanvasElement||typeof ImageBitmap<\"u\"&&f instanceof ImageBitmap||typeof VideoFrame<\"u\"&&f instanceof VideoFrame){let J=Math.floor(z*Z.width),re=Math.floor(z*Z.height);p===void 0&&(p=G(J,re));let V=r?G(J,re):p;return V.width=J,V.height=re,V.getContext(\"2d\").drawImage(f,0,0,J,re),He(\"WebGLRenderer: Texture has been resized from (\"+Z.width+\"x\"+Z.height+\") to (\"+J+\"x\"+re+\").\"),V}else return\"data\"in f&&He(\"WebGLRenderer: Image in DataTexture is too big (\"+Z.width+\"x\"+Z.height+\").\"),f;return f}function s(f){return f.generateMipmaps}function h(f){e.generateMipmap(f)}function M(f){return f.isWebGLCubeRenderTarget?e.TEXTURE_CUBE_MAP:f.isWebGL3DRenderTarget?e.TEXTURE_3D:f.isWebGLArrayRenderTarget||f.isCompressedArrayTexture?e.TEXTURE_2D_ARRAY:e.TEXTURE_2D}function A(f,r,b,z,Z,J=!1){if(f!==null){if(e[f]!==void 0)return e[f];He(\"WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+f+\"'\")}let re;z&&(re=n.get(\"EXT_texture_norm16\"),re||He(\"WebGLRenderer: Unable to use normalized textures without EXT_texture_norm16 extension\"));let V=r;if(r===e.RED&&(b===e.FLOAT&&(V=e.R32F),b===e.HALF_FLOAT&&(V=e.R16F),b===e.UNSIGNED_BYTE&&(V=e.R8),b===e.UNSIGNED_SHORT&&re&&(V=re.R16_EXT),b===e.SHORT&&re&&(V=re.R16_SNORM_EXT)),r===e.RED_INTEGER&&(b===e.UNSIGNED_BYTE&&(V=e.R8UI),b===e.UNSIGNED_SHORT&&(V=e.R16UI),b===e.UNSIGNED_INT&&(V=e.R32UI),b===e.BYTE&&(V=e.R8I),b===e.SHORT&&(V=e.R16I),b===e.INT&&(V=e.R32I)),r===e.RG&&(b===e.FLOAT&&(V=e.RG32F),b===e.HALF_FLOAT&&(V=e.RG16F),b===e.UNSIGNED_BYTE&&(V=e.RG8),b===e.UNSIGNED_SHORT&&re&&(V=re.RG16_EXT),b===e.SHORT&&re&&(V=re.RG16_SNORM_EXT)),r===e.RG_INTEGER&&(b===e.UNSIGNED_BYTE&&(V=e.RG8UI),b===e.UNSIGNED_SHORT&&(V=e.RG16UI),b===e.UNSIGNED_INT&&(V=e.RG32UI),b===e.BYTE&&(V=e.RG8I),b===e.SHORT&&(V=e.RG16I),b===e.INT&&(V=e.RG32I)),r===e.RGB_INTEGER&&(b===e.UNSIGNED_BYTE&&(V=e.RGB8UI),b===e.UNSIGNED_SHORT&&(V=e.RGB16UI),b===e.UNSIGNED_INT&&(V=e.RGB32UI),b===e.BYTE&&(V=e.RGB8I),b===e.SHORT&&(V=e.RGB16I),b===e.INT&&(V=e.RGB32I)),r===e.RGBA_INTEGER&&(b===e.UNSIGNED_BYTE&&(V=e.RGBA8UI),b===e.UNSIGNED_SHORT&&(V=e.RGBA16UI),b===e.UNSIGNED_INT&&(V=e.RGBA32UI),b===e.BYTE&&(V=e.RGBA8I),b===e.SHORT&&(V=e.RGBA16I),b===e.INT&&(V=e.RGBA32I)),r===e.RGB&&(b===e.UNSIGNED_SHORT&&re&&(V=re.RGB16_EXT),b===e.SHORT&&re&&(V=re.RGB16_SNORM_EXT),b===e.UNSIGNED_INT_5_9_9_9_REV&&(V=e.RGB9_E5),b===e.UNSIGNED_INT_10F_11F_11F_REV&&(V=e.R11F_G11F_B10F)),r===e.RGBA){let X=J?Br:nt.getTransfer(Z);b===e.FLOAT&&(V=e.RGBA32F),b===e.HALF_FLOAT&&(V=e.RGBA16F),b===e.UNSIGNED_BYTE&&(V=X===$e?e.SRGB8_ALPHA8:e.RGBA8),b===e.UNSIGNED_SHORT&&re&&(V=re.RGBA16_EXT),b===e.SHORT&&re&&(V=re.RGBA16_SNORM_EXT),b===e.UNSIGNED_SHORT_4_4_4_4&&(V=e.RGBA4),b===e.UNSIGNED_SHORT_5_5_5_1&&(V=e.RGB5_A1)}return(V===e.R16F||V===e.R32F||V===e.RG16F||V===e.RG32F||V===e.RGBA16F||V===e.RGBA32F)&&n.get(\"EXT_color_buffer_float\"),V}function H(f,r){let b;return f?r===null||r===Wt||r===dn?b=e.DEPTH24_STENCIL8:r===Ot?b=e.DEPTH32F_STENCIL8:r===xn&&(b=e.DEPTH24_STENCIL8,He(\"DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.\")):r===null||r===Wt||r===dn?b=e.DEPTH_COMPONENT24:r===Ot?b=e.DEPTH_COMPONENT32F:r===xn&&(b=e.DEPTH_COMPONENT16),b}function _(f,r){return s(f)===!0||f.isFramebufferTexture&&f.minFilter!==kt&&f.minFilter!==vt?Math.log2(Math.max(r.width,r.height))+1:f.mipmaps!==void 0&&f.mipmaps.length>0?f.mipmaps.length:f.isCompressedTexture&&Array.isArray(f.image)?r.mipmaps.length:1}function I(f){let r=f.target;r.removeEventListener(\"dispose\",I),v(r),r.isVideoTexture&&k.delete(r),r.isHTMLTexture&&U.delete(r)}function d(f){let r=f.target;r.removeEventListener(\"dispose\",d),T(r)}function v(f){let r=i.get(f);if(r.__webglInit===void 0)return;let b=f.source,z=E.get(b);if(z){let Z=z[r.__cacheKey];Z.usedTimes--,Z.usedTimes===0&&y(f),Object.keys(z).length===0&&E.delete(b)}i.remove(f)}function y(f){let r=i.get(f);e.deleteTexture(r.__webglTexture);let b=f.source,z=E.get(b);delete z[r.__cacheKey],u.memory.textures--}function T(f){let r=i.get(f);if(f.depthTexture&&(f.depthTexture.dispose(),i.remove(f.depthTexture)),f.isWebGLCubeRenderTarget)for(let z=0;z<6;z++){if(Array.isArray(r.__webglFramebuffer[z]))for(let Z=0;Z<r.__webglFramebuffer[z].length;Z++)e.deleteFramebuffer(r.__webglFramebuffer[z][Z]);else e.deleteFramebuffer(r.__webglFramebuffer[z]);r.__webglDepthbuffer&&e.deleteRenderbuffer(r.__webglDepthbuffer[z])}else{if(Array.isArray(r.__webglFramebuffer))for(let z=0;z<r.__webglFramebuffer.length;z++)e.deleteFramebuffer(r.__webglFramebuffer[z]);else e.deleteFramebuffer(r.__webglFramebuffer);if(r.__webglDepthbuffer&&e.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&e.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer)for(let z=0;z<r.__webglColorRenderbuffer.length;z++)r.__webglColorRenderbuffer[z]&&e.deleteRenderbuffer(r.__webglColorRenderbuffer[z]);r.__webglDepthRenderbuffer&&e.deleteRenderbuffer(r.__webglDepthRenderbuffer)}let b=f.textures;for(let z=0,Z=b.length;z<Z;z++){let J=i.get(b[z]);J.__webglTexture&&(e.deleteTexture(J.__webglTexture),u.memory.textures--),i.remove(b[z])}i.remove(f)}let B=0;function $(){B=0}function Y(){return B}function N(f){B=f}function F(){let f=B;return f>=l.maxTextures&&He(\"WebGLTextures: Trying to use \"+f+\" texture units while this GPU supports only \"+l.maxTextures),B+=1,f}function O(f){let r=[];return r.push(f.wrapS),r.push(f.wrapT),r.push(f.wrapR||0),r.push(f.magFilter),r.push(f.minFilter),r.push(f.anisotropy),r.push(f.internalFormat),r.push(f.format),r.push(f.type),r.push(f.generateMipmaps),r.push(f.premultiplyAlpha),r.push(f.flipY),r.push(f.unpackAlignment),r.push(f.colorSpace),r.join()}function Q(f,r){let b=i.get(f);if(f.isVideoTexture&&qe(f),f.isRenderTargetTexture===!1&&f.isExternalTexture!==!0&&f.version>0&&b.__version!==f.version){let z=f.image;if(z===null)He(\"WebGLRenderer: Texture marked for update but no image data found.\");else if(z.complete===!1)He(\"WebGLRenderer: Texture marked for update but image is incomplete\");else{Me(b,f,r);return}}else f.isExternalTexture&&(b.__webglTexture=f.sourceTexture?f.sourceTexture:null);t.bindTexture(e.TEXTURE_2D,b.__webglTexture,e.TEXTURE0+r)}function de(f,r){let b=i.get(f);if(f.isRenderTargetTexture===!1&&f.version>0&&b.__version!==f.version){Me(b,f,r);return}else f.isExternalTexture&&(b.__webglTexture=f.sourceTexture?f.sourceTexture:null);t.bindTexture(e.TEXTURE_2D_ARRAY,b.__webglTexture,e.TEXTURE0+r)}function ve(f,r){let b=i.get(f);if(f.isRenderTargetTexture===!1&&f.version>0&&b.__version!==f.version){Me(b,f,r);return}t.bindTexture(e.TEXTURE_3D,b.__webglTexture,e.TEXTURE0+r)}function Ae(f,r){let b=i.get(f);if(f.isCubeDepthTexture!==!0&&f.version>0&&b.__version!==f.version){be(b,f,r);return}t.bindTexture(e.TEXTURE_CUBE_MAP,b.__webglTexture,e.TEXTURE0+r)}let xe={[io]:e.REPEAT,[Yn]:e.CLAMP_TO_EDGE,[no]:e.MIRRORED_REPEAT},Ve={[kt]:e.NEAREST,[ro]:e.NEAREST_MIPMAP_NEAREST,[hn]:e.NEAREST_MIPMAP_LINEAR,[vt]:e.LINEAR,[wn]:e.LINEAR_MIPMAP_NEAREST,[qt]:e.LINEAR_MIPMAP_LINEAR},Ye={[fo]:e.NEVER,[co]:e.ALWAYS,[lo]:e.LESS,[ai]:e.LEQUAL,[so]:e.EQUAL,[ri]:e.GEQUAL,[oo]:e.GREATER,[ao]:e.NOTEQUAL};function we(f,r){if(r.type===Ot&&n.has(\"OES_texture_float_linear\")===!1&&(r.magFilter===vt||r.magFilter===wn||r.magFilter===hn||r.magFilter===qt||r.minFilter===vt||r.minFilter===wn||r.minFilter===hn||r.minFilter===qt)&&He(\"WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.\"),e.texParameteri(f,e.TEXTURE_WRAP_S,xe[r.wrapS]),e.texParameteri(f,e.TEXTURE_WRAP_T,xe[r.wrapT]),(f===e.TEXTURE_3D||f===e.TEXTURE_2D_ARRAY)&&e.texParameteri(f,e.TEXTURE_WRAP_R,xe[r.wrapR]),e.texParameteri(f,e.TEXTURE_MAG_FILTER,Ve[r.magFilter]),e.texParameteri(f,e.TEXTURE_MIN_FILTER,Ve[r.minFilter]),r.compareFunction&&(e.texParameteri(f,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(f,e.TEXTURE_COMPARE_FUNC,Ye[r.compareFunction])),n.has(\"EXT_texture_filter_anisotropic\")===!0){if(r.magFilter===kt||r.minFilter!==hn&&r.minFilter!==qt||r.type===Ot&&n.has(\"OES_texture_float_linear\")===!1)return;if(r.anisotropy>1||i.get(r).__currentAnisotropy){let b=n.get(\"EXT_texture_filter_anisotropic\");e.texParameterf(f,b.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(r.anisotropy,l.getMaxAnisotropy())),i.get(r).__currentAnisotropy=r.anisotropy}}}function K(f,r){let b=!1;f.__webglInit===void 0&&(f.__webglInit=!0,r.addEventListener(\"dispose\",I));let z=r.source,Z=E.get(z);Z===void 0&&(Z={},E.set(z,Z));let J=O(r);if(J!==f.__cacheKey){Z[J]===void 0&&(Z[J]={texture:e.createTexture(),usedTimes:0},u.memory.textures++,b=!0),Z[J].usedTimes++;let re=Z[f.__cacheKey];re!==void 0&&(Z[f.__cacheKey].usedTimes--,re.usedTimes===0&&y(r)),f.__cacheKey=J,f.__webglTexture=Z[J].texture}return b}function ce(f,r,b){return Math.floor(Math.floor(f/b)/r)}function te(f,r,b,z){let J=f.updateRanges;if(J.length===0)t.texSubImage2D(e.TEXTURE_2D,0,0,0,r.width,r.height,b,z,r.data);else{J.sort((he,ne)=>he.start-ne.start);let re=0;for(let he=1;he<J.length;he++){let ne=J[re],j=J[he],Re=ne.start+ne.count,Le=ce(j.start,r.width,4),Ge=ce(ne.start,r.width,4);j.start<=Re+1&&Le===Ge&&ce(j.start+j.count-1,r.width,4)===Le?ne.count=Math.max(ne.count,j.start+j.count-ne.start):(++re,J[re]=j)}J.length=re+1;let V=t.getParameter(e.UNPACK_ROW_LENGTH),X=t.getParameter(e.UNPACK_SKIP_PIXELS),fe=t.getParameter(e.UNPACK_SKIP_ROWS);t.pixelStorei(e.UNPACK_ROW_LENGTH,r.width);for(let he=0,ne=J.length;he<ne;he++){let j=J[he],Re=Math.floor(j.start/4),Le=Math.ceil(j.count/4),Ge=Re%r.width,g=Math.floor(Re/r.width),ee=Le,W=1;t.pixelStorei(e.UNPACK_SKIP_PIXELS,Ge),t.pixelStorei(e.UNPACK_SKIP_ROWS,g),t.texSubImage2D(e.TEXTURE_2D,0,Ge,g,ee,W,b,z,r.data)}f.clearUpdateRanges(),t.pixelStorei(e.UNPACK_ROW_LENGTH,V),t.pixelStorei(e.UNPACK_SKIP_PIXELS,X),t.pixelStorei(e.UNPACK_SKIP_ROWS,fe)}}function Me(f,r,b){let z=e.TEXTURE_2D;(r.isDataArrayTexture||r.isCompressedArrayTexture)&&(z=e.TEXTURE_2D_ARRAY),r.isData3DTexture&&(z=e.TEXTURE_3D);let Z=K(f,r),J=r.source;t.bindTexture(z,f.__webglTexture,e.TEXTURE0+b);let re=i.get(J);if(J.version!==re.__version||Z===!0){if(t.activeTexture(e.TEXTURE0+b),(typeof ImageBitmap<\"u\"&&r.image instanceof ImageBitmap)===!1){let W=nt.getPrimaries(nt.workingColorSpace),ue=r.colorSpace===Yt?null:nt.getPrimaries(r.colorSpace),ie=r.colorSpace===Yt||W===ue?e.NONE:e.BROWSER_DEFAULT_WEBGL;t.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r.flipY),t.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),t.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,ie)}t.pixelStorei(e.UNPACK_ALIGNMENT,r.unpackAlignment);let X=c(r.image,!1,l.maxTextureSize);X=ae(r,X);let fe=a.convert(r.format,r.colorSpace),he=a.convert(r.type),ne=A(r.internalFormat,fe,he,r.normalized,r.colorSpace,r.isVideoTexture);we(z,r);let j,Re=r.mipmaps,Le=r.isVideoTexture!==!0,Ge=re.__version===void 0||Z===!0,g=J.dataReady,ee=_(r,X);if(r.isDepthTexture)ne=H(r.format===Zt,r.type),Ge&&(Le?t.texStorage2D(e.TEXTURE_2D,1,ne,X.width,X.height):t.texImage2D(e.TEXTURE_2D,0,ne,X.width,X.height,0,fe,he,null));else if(r.isDataTexture)if(Re.length>0){Le&&Ge&&t.texStorage2D(e.TEXTURE_2D,ee,ne,Re[0].width,Re[0].height);for(let W=0,ue=Re.length;W<ue;W++)j=Re[W],Le?g&&t.texSubImage2D(e.TEXTURE_2D,W,0,0,j.width,j.height,fe,he,j.data):t.texImage2D(e.TEXTURE_2D,W,ne,j.width,j.height,0,fe,he,j.data);r.generateMipmaps=!1}else Le?(Ge&&t.texStorage2D(e.TEXTURE_2D,ee,ne,X.width,X.height),g&&te(r,X,fe,he)):t.texImage2D(e.TEXTURE_2D,0,ne,X.width,X.height,0,fe,he,X.data);else if(r.isCompressedTexture)if(r.isCompressedArrayTexture){Le&&Ge&&t.texStorage3D(e.TEXTURE_2D_ARRAY,ee,ne,Re[0].width,Re[0].height,X.depth);for(let W=0,ue=Re.length;W<ue;W++)if(j=Re[W],r.format!==Ut)if(fe!==null)if(Le){if(g)if(r.layerUpdates.size>0){let ie=Mi(j.width,j.height,r.format,r.type);for(let q of r.layerUpdates){let ge=j.data.subarray(q*ie/j.data.BYTES_PER_ELEMENT,(q+1)*ie/j.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,W,0,0,q,j.width,j.height,1,fe,ge)}r.clearLayerUpdates()}else t.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,W,0,0,0,j.width,j.height,X.depth,fe,j.data)}else t.compressedTexImage3D(e.TEXTURE_2D_ARRAY,W,ne,j.width,j.height,X.depth,0,j.data,0,0);else He(\"WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\");else Le?g&&t.texSubImage3D(e.TEXTURE_2D_ARRAY,W,0,0,0,j.width,j.height,X.depth,fe,he,j.data):t.texImage3D(e.TEXTURE_2D_ARRAY,W,ne,j.width,j.height,X.depth,0,fe,he,j.data)}else{Le&&Ge&&t.texStorage2D(e.TEXTURE_2D,ee,ne,Re[0].width,Re[0].height);for(let W=0,ue=Re.length;W<ue;W++)j=Re[W],r.format!==Ut?fe!==null?Le?g&&t.compressedTexSubImage2D(e.TEXTURE_2D,W,0,0,j.width,j.height,fe,j.data):t.compressedTexImage2D(e.TEXTURE_2D,W,ne,j.width,j.height,0,j.data):He(\"WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):Le?g&&t.texSubImage2D(e.TEXTURE_2D,W,0,0,j.width,j.height,fe,he,j.data):t.texImage2D(e.TEXTURE_2D,W,ne,j.width,j.height,0,fe,he,j.data)}else if(r.isDataArrayTexture)if(Le){if(Ge&&t.texStorage3D(e.TEXTURE_2D_ARRAY,ee,ne,X.width,X.height,X.depth),g)if(r.layerUpdates.size>0){let W=Mi(X.width,X.height,r.format,r.type);for(let ue of r.layerUpdates){let ie=X.data.subarray(ue*W/X.data.BYTES_PER_ELEMENT,(ue+1)*W/X.data.BYTES_PER_ELEMENT);t.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,ue,X.width,X.height,1,fe,he,ie)}r.clearLayerUpdates()}else t.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,X.width,X.height,X.depth,fe,he,X.data)}else t.texImage3D(e.TEXTURE_2D_ARRAY,0,ne,X.width,X.height,X.depth,0,fe,he,X.data);else if(r.isData3DTexture)Le?(Ge&&t.texStorage3D(e.TEXTURE_3D,ee,ne,X.width,X.height,X.depth),g&&t.texSubImage3D(e.TEXTURE_3D,0,0,0,0,X.width,X.height,X.depth,fe,he,X.data)):t.texImage3D(e.TEXTURE_3D,0,ne,X.width,X.height,X.depth,0,fe,he,X.data);else if(r.isFramebufferTexture){if(Ge)if(Le)t.texStorage2D(e.TEXTURE_2D,ee,ne,X.width,X.height);else{let W=X.width,ue=X.height;for(let ie=0;ie<ee;ie++)t.texImage2D(e.TEXTURE_2D,ie,ne,W,ue,0,fe,he,null),W>>=1,ue>>=1}}else if(r.isHTMLTexture){if(\"texElementImage2D\"in e){let W=e.canvas;if(W.hasAttribute(\"layoutsubtree\")||W.setAttribute(\"layoutsubtree\",\"true\"),X.parentNode!==W){W.appendChild(X),U.add(r),W.onpaint=Ce=>{let at=Ce.changedElements;for(let We of U)at.includes(We.image)&&(We.needsUpdate=!0)},W.requestPaint();return}let ue=0,ie=e.RGBA,q=e.RGBA,ge=e.UNSIGNED_BYTE;e.texElementImage2D(e.TEXTURE_2D,ue,ie,q,ge,X),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}}else if(Re.length>0){if(Le&&Ge){let W=it(Re[0]);t.texStorage2D(e.TEXTURE_2D,ee,ne,W.width,W.height)}for(let W=0,ue=Re.length;W<ue;W++)j=Re[W],Le?g&&t.texSubImage2D(e.TEXTURE_2D,W,0,0,fe,he,j):t.texImage2D(e.TEXTURE_2D,W,ne,fe,he,j);r.generateMipmaps=!1}else if(Le){if(Ge){let W=it(X);t.texStorage2D(e.TEXTURE_2D,ee,ne,W.width,W.height)}g&&t.texSubImage2D(e.TEXTURE_2D,0,0,0,fe,he,X)}else t.texImage2D(e.TEXTURE_2D,0,ne,fe,he,X);s(r)&&h(z),re.__version=J.version,r.onUpdate&&r.onUpdate(r)}f.__version=r.version}function be(f,r,b){if(r.image.length!==6)return;let z=K(f,r),Z=r.source;t.bindTexture(e.TEXTURE_CUBE_MAP,f.__webglTexture,e.TEXTURE0+b);let J=i.get(Z);if(Z.version!==J.__version||z===!0){t.activeTexture(e.TEXTURE0+b);let re=nt.getPrimaries(nt.workingColorSpace),V=r.colorSpace===Yt?null:nt.getPrimaries(r.colorSpace),X=r.colorSpace===Yt||re===V?e.NONE:e.BROWSER_DEFAULT_WEBGL;t.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r.flipY),t.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),t.pixelStorei(e.UNPACK_ALIGNMENT,r.unpackAlignment),t.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,X);let fe=r.isCompressedTexture||r.image[0].isCompressedTexture,he=r.image[0]&&r.image[0].isDataTexture,ne=[];for(let q=0;q<6;q++)!fe&&!he?ne[q]=c(r.image[q],!0,l.maxCubemapSize):ne[q]=he?r.image[q].image:r.image[q],ne[q]=ae(r,ne[q]);let j=ne[0],Re=a.convert(r.format,r.colorSpace),Le=a.convert(r.type),Ge=A(r.internalFormat,Re,Le,r.normalized,r.colorSpace),g=r.isVideoTexture!==!0,ee=J.__version===void 0||z===!0,W=Z.dataReady,ue=_(r,j);we(e.TEXTURE_CUBE_MAP,r);let ie;if(fe){g&&ee&&t.texStorage2D(e.TEXTURE_CUBE_MAP,ue,Ge,j.width,j.height);for(let q=0;q<6;q++){ie=ne[q].mipmaps;for(let ge=0;ge<ie.length;ge++){let Ce=ie[ge];r.format!==Ut?Re!==null?g?W&&t.compressedTexSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge,0,0,Ce.width,Ce.height,Re,Ce.data):t.compressedTexImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge,Ge,Ce.width,Ce.height,0,Ce.data):He(\"WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):g?W&&t.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge,0,0,Ce.width,Ce.height,Re,Le,Ce.data):t.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge,Ge,Ce.width,Ce.height,0,Re,Le,Ce.data)}}}else{if(ie=r.mipmaps,g&&ee){ie.length>0&&ue++;let q=it(ne[0]);t.texStorage2D(e.TEXTURE_CUBE_MAP,ue,Ge,q.width,q.height)}for(let q=0;q<6;q++)if(he){g?W&&t.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,0,0,0,ne[q].width,ne[q].height,Re,Le,ne[q].data):t.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,0,Ge,ne[q].width,ne[q].height,0,Re,Le,ne[q].data);for(let ge=0;ge<ie.length;ge++){let at=ie[ge].image[q].image;g?W&&t.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge+1,0,0,at.width,at.height,Re,Le,at.data):t.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge+1,Ge,at.width,at.height,0,Re,Le,at.data)}}else{g?W&&t.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,0,0,0,Re,Le,ne[q]):t.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,0,Ge,Re,Le,ne[q]);for(let ge=0;ge<ie.length;ge++){let Ce=ie[ge];g?W&&t.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge+1,0,0,Re,Le,Ce.image[q]):t.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+q,ge+1,Ge,Re,Le,Ce.image[q])}}}s(r)&&h(e.TEXTURE_CUBE_MAP),J.__version=Z.version,r.onUpdate&&r.onUpdate(r)}f.__version=r.version}function Te(f,r,b,z,Z,J){let re=a.convert(b.format,b.colorSpace),V=a.convert(b.type),X=A(b.internalFormat,re,V,b.normalized,b.colorSpace),fe=i.get(r),he=i.get(b);if(he.__renderTarget=r,!fe.__hasExternalTextures){let ne=Math.max(1,r.width>>J),j=Math.max(1,r.height>>J);Z===e.TEXTURE_3D||Z===e.TEXTURE_2D_ARRAY?t.texImage3D(Z,J,X,ne,j,r.depth,0,re,V,null):t.texImage2D(Z,J,X,ne,j,0,re,V,null)}t.bindFramebuffer(e.FRAMEBUFFER,f),ye(r)?m.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,z,Z,he.__webglTexture,0,ct(r)):(Z===e.TEXTURE_2D||Z>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&Z<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&e.framebufferTexture2D(e.FRAMEBUFFER,z,Z,he.__webglTexture,J),t.bindFramebuffer(e.FRAMEBUFFER,null)}function et(f,r,b){if(e.bindRenderbuffer(e.RENDERBUFFER,f),r.depthBuffer){let z=r.depthTexture,Z=z&&z.isDepthTexture?z.type:null,J=H(r.stencilBuffer,Z),re=r.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT;ye(r)?m.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,ct(r),J,r.width,r.height):b?e.renderbufferStorageMultisample(e.RENDERBUFFER,ct(r),J,r.width,r.height):e.renderbufferStorage(e.RENDERBUFFER,J,r.width,r.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,re,e.RENDERBUFFER,f)}else{let z=r.textures;for(let Z=0;Z<z.length;Z++){let J=z[Z],re=a.convert(J.format,J.colorSpace),V=a.convert(J.type),X=A(J.internalFormat,re,V,J.normalized,J.colorSpace);ye(r)?m.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,ct(r),X,r.width,r.height):b?e.renderbufferStorageMultisample(e.RENDERBUFFER,ct(r),X,r.width,r.height):e.renderbufferStorage(e.RENDERBUFFER,X,r.width,r.height)}}e.bindRenderbuffer(e.RENDERBUFFER,null)}function Ne(f,r,b){let z=r.isWebGLCubeRenderTarget===!0;if(t.bindFramebuffer(e.FRAMEBUFFER,f),!(r.depthTexture&&r.depthTexture.isDepthTexture))throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");let Z=i.get(r.depthTexture);if(Z.__renderTarget=r,(!Z.__webglTexture||r.depthTexture.image.width!==r.width||r.depthTexture.image.height!==r.height)&&(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),z){if(Z.__webglInit===void 0&&(Z.__webglInit=!0,r.depthTexture.addEventListener(\"dispose\",I)),Z.__webglTexture===void 0){Z.__webglTexture=e.createTexture(),t.bindTexture(e.TEXTURE_CUBE_MAP,Z.__webglTexture),we(e.TEXTURE_CUBE_MAP,r.depthTexture);let fe=a.convert(r.depthTexture.format),he=a.convert(r.depthTexture.type),ne;r.depthTexture.format===en?ne=e.DEPTH_COMPONENT24:r.depthTexture.format===Zt&&(ne=e.DEPTH24_STENCIL8);for(let j=0;j<6;j++)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+j,0,ne,r.width,r.height,0,fe,he,null)}}else Q(r.depthTexture,0);let J=Z.__webglTexture,re=ct(r),V=z?e.TEXTURE_CUBE_MAP_POSITIVE_X+b:e.TEXTURE_2D,X=r.depthTexture.format===Zt?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT;if(r.depthTexture.format===en)ye(r)?m.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,X,V,J,0,re):e.framebufferTexture2D(e.FRAMEBUFFER,X,V,J,0);else if(r.depthTexture.format===Zt)ye(r)?m.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,X,V,J,0,re):e.framebufferTexture2D(e.FRAMEBUFFER,X,V,J,0);else throw new Error(\"Unknown depthTexture format\")}function ke(f){let r=i.get(f),b=f.isWebGLCubeRenderTarget===!0;if(r.__boundDepthTexture!==f.depthTexture){let z=f.depthTexture;if(r.__depthDisposeCallback&&r.__depthDisposeCallback(),z){let Z=()=>{delete r.__boundDepthTexture,delete r.__depthDisposeCallback,z.removeEventListener(\"dispose\",Z)};z.addEventListener(\"dispose\",Z),r.__depthDisposeCallback=Z}r.__boundDepthTexture=z}if(f.depthTexture&&!r.__autoAllocateDepthBuffer)if(b)for(let z=0;z<6;z++)Ne(r.__webglFramebuffer[z],f,z);else{let z=f.texture.mipmaps;z&&z.length>0?Ne(r.__webglFramebuffer[0],f,0):Ne(r.__webglFramebuffer,f,0)}else if(b){r.__webglDepthbuffer=[];for(let z=0;z<6;z++)if(t.bindFramebuffer(e.FRAMEBUFFER,r.__webglFramebuffer[z]),r.__webglDepthbuffer[z]===void 0)r.__webglDepthbuffer[z]=e.createRenderbuffer(),et(r.__webglDepthbuffer[z],f,!1);else{let Z=f.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,J=r.__webglDepthbuffer[z];e.bindRenderbuffer(e.RENDERBUFFER,J),e.framebufferRenderbuffer(e.FRAMEBUFFER,Z,e.RENDERBUFFER,J)}}else{let z=f.texture.mipmaps;if(z&&z.length>0?t.bindFramebuffer(e.FRAMEBUFFER,r.__webglFramebuffer[0]):t.bindFramebuffer(e.FRAMEBUFFER,r.__webglFramebuffer),r.__webglDepthbuffer===void 0)r.__webglDepthbuffer=e.createRenderbuffer(),et(r.__webglDepthbuffer,f,!1);else{let Z=f.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,J=r.__webglDepthbuffer;e.bindRenderbuffer(e.RENDERBUFFER,J),e.framebufferRenderbuffer(e.FRAMEBUFFER,Z,e.RENDERBUFFER,J)}}t.bindFramebuffer(e.FRAMEBUFFER,null)}function Je(f,r,b){let z=i.get(f);r!==void 0&&Te(z.__webglFramebuffer,f,f.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,0),b!==void 0&&ke(f)}function Ie(f){let r=f.texture,b=i.get(f),z=i.get(r);f.addEventListener(\"dispose\",d);let Z=f.textures,J=f.isWebGLCubeRenderTarget===!0,re=Z.length>1;if(re||(z.__webglTexture===void 0&&(z.__webglTexture=e.createTexture()),z.__version=r.version,u.memory.textures++),J){b.__webglFramebuffer=[];for(let V=0;V<6;V++)if(r.mipmaps&&r.mipmaps.length>0){b.__webglFramebuffer[V]=[];for(let X=0;X<r.mipmaps.length;X++)b.__webglFramebuffer[V][X]=e.createFramebuffer()}else b.__webglFramebuffer[V]=e.createFramebuffer()}else{if(r.mipmaps&&r.mipmaps.length>0){b.__webglFramebuffer=[];for(let V=0;V<r.mipmaps.length;V++)b.__webglFramebuffer[V]=e.createFramebuffer()}else b.__webglFramebuffer=e.createFramebuffer();if(re)for(let V=0,X=Z.length;V<X;V++){let fe=i.get(Z[V]);fe.__webglTexture===void 0&&(fe.__webglTexture=e.createTexture(),u.memory.textures++)}if(f.samples>0&&ye(f)===!1){b.__webglMultisampledFramebuffer=e.createFramebuffer(),b.__webglColorRenderbuffer=[],t.bindFramebuffer(e.FRAMEBUFFER,b.__webglMultisampledFramebuffer);for(let V=0;V<Z.length;V++){let X=Z[V];b.__webglColorRenderbuffer[V]=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,b.__webglColorRenderbuffer[V]);let fe=a.convert(X.format,X.colorSpace),he=a.convert(X.type),ne=A(X.internalFormat,fe,he,X.normalized,X.colorSpace,f.isXRRenderTarget===!0),j=ct(f);e.renderbufferStorageMultisample(e.RENDERBUFFER,j,ne,f.width,f.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+V,e.RENDERBUFFER,b.__webglColorRenderbuffer[V])}e.bindRenderbuffer(e.RENDERBUFFER,null),f.depthBuffer&&(b.__webglDepthRenderbuffer=e.createRenderbuffer(),et(b.__webglDepthRenderbuffer,f,!0)),t.bindFramebuffer(e.FRAMEBUFFER,null)}}if(J){t.bindTexture(e.TEXTURE_CUBE_MAP,z.__webglTexture),we(e.TEXTURE_CUBE_MAP,r);for(let V=0;V<6;V++)if(r.mipmaps&&r.mipmaps.length>0)for(let X=0;X<r.mipmaps.length;X++)Te(b.__webglFramebuffer[V][X],f,r,e.COLOR_ATTACHMENT0,e.TEXTURE_CUBE_MAP_POSITIVE_X+V,X);else Te(b.__webglFramebuffer[V],f,r,e.COLOR_ATTACHMENT0,e.TEXTURE_CUBE_MAP_POSITIVE_X+V,0);s(r)&&h(e.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(re){for(let V=0,X=Z.length;V<X;V++){let fe=Z[V],he=i.get(fe),ne=e.TEXTURE_2D;(f.isWebGL3DRenderTarget||f.isWebGLArrayRenderTarget)&&(ne=f.isWebGL3DRenderTarget?e.TEXTURE_3D:e.TEXTURE_2D_ARRAY),t.bindTexture(ne,he.__webglTexture),we(ne,fe),Te(b.__webglFramebuffer,f,fe,e.COLOR_ATTACHMENT0+V,ne,0),s(fe)&&h(ne)}t.unbindTexture()}else{let V=e.TEXTURE_2D;if((f.isWebGL3DRenderTarget||f.isWebGLArrayRenderTarget)&&(V=f.isWebGL3DRenderTarget?e.TEXTURE_3D:e.TEXTURE_2D_ARRAY),t.bindTexture(V,z.__webglTexture),we(V,r),r.mipmaps&&r.mipmaps.length>0)for(let X=0;X<r.mipmaps.length;X++)Te(b.__webglFramebuffer[X],f,r,e.COLOR_ATTACHMENT0,V,X);else Te(b.__webglFramebuffer,f,r,e.COLOR_ATTACHMENT0,V,0);s(r)&&h(V),t.unbindTexture()}f.depthBuffer&&ke(f)}function lt(f){let r=f.textures;for(let b=0,z=r.length;b<z;b++){let Z=r[b];if(s(Z)){let J=M(f),re=i.get(Z).__webglTexture;t.bindTexture(J,re),h(J),t.unbindTexture()}}}let tt=[],_t=[];function S(f){if(f.samples>0){if(ye(f)===!1){let r=f.textures,b=f.width,z=f.height,Z=e.COLOR_BUFFER_BIT,J=f.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,re=i.get(f),V=r.length>1;if(V)for(let fe=0;fe<r.length;fe++)t.bindFramebuffer(e.FRAMEBUFFER,re.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+fe,e.RENDERBUFFER,null),t.bindFramebuffer(e.FRAMEBUFFER,re.__webglFramebuffer),e.framebufferTexture2D(e.DRAW_FRAMEBUFFER,e.COLOR_ATTACHMENT0+fe,e.TEXTURE_2D,null,0);t.bindFramebuffer(e.READ_FRAMEBUFFER,re.__webglMultisampledFramebuffer);let X=f.texture.mipmaps;X&&X.length>0?t.bindFramebuffer(e.DRAW_FRAMEBUFFER,re.__webglFramebuffer[0]):t.bindFramebuffer(e.DRAW_FRAMEBUFFER,re.__webglFramebuffer);for(let fe=0;fe<r.length;fe++){if(f.resolveDepthBuffer&&(f.depthBuffer&&(Z|=e.DEPTH_BUFFER_BIT),f.stencilBuffer&&f.resolveStencilBuffer&&(Z|=e.STENCIL_BUFFER_BIT)),V){e.framebufferRenderbuffer(e.READ_FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.RENDERBUFFER,re.__webglColorRenderbuffer[fe]);let he=i.get(r[fe]).__webglTexture;e.framebufferTexture2D(e.DRAW_FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,he,0)}e.blitFramebuffer(0,0,b,z,0,0,b,z,Z,e.NEAREST),C===!0&&(tt.length=0,_t.length=0,tt.push(e.COLOR_ATTACHMENT0+fe),f.depthBuffer&&f.resolveDepthBuffer===!1&&(tt.push(J),_t.push(J),e.invalidateFramebuffer(e.DRAW_FRAMEBUFFER,_t)),e.invalidateFramebuffer(e.READ_FRAMEBUFFER,tt))}if(t.bindFramebuffer(e.READ_FRAMEBUFFER,null),t.bindFramebuffer(e.DRAW_FRAMEBUFFER,null),V)for(let fe=0;fe<r.length;fe++){t.bindFramebuffer(e.FRAMEBUFFER,re.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+fe,e.RENDERBUFFER,re.__webglColorRenderbuffer[fe]);let he=i.get(r[fe]).__webglTexture;t.bindFramebuffer(e.FRAMEBUFFER,re.__webglFramebuffer),e.framebufferTexture2D(e.DRAW_FRAMEBUFFER,e.COLOR_ATTACHMENT0+fe,e.TEXTURE_2D,he,0)}t.bindFramebuffer(e.DRAW_FRAMEBUFFER,re.__webglMultisampledFramebuffer)}else if(f.depthBuffer&&f.resolveDepthBuffer===!1&&C){let r=f.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT;e.invalidateFramebuffer(e.DRAW_FRAMEBUFFER,[r])}}}function ct(f){return Math.min(l.maxSamples,f.samples)}function ye(f){let r=i.get(f);return f.samples>0&&n.has(\"WEBGL_multisampled_render_to_texture\")===!0&&r.__useRenderToTexture!==!1}function qe(f){let r=u.render.frame;k.get(f)!==r&&(k.set(f,r),f.update())}function ae(f,r){let b=f.colorSpace,z=f.format,Z=f.type;return f.isCompressedTexture===!0||f.isVideoTexture===!0||b!==Pr&&b!==Yt&&(nt.getTransfer(b)===$e?(z!==Ut||Z!==Rt)&&He(\"WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.\"):Qe(\"WebGLTextures: Unsupported texture color space:\",b)),r}function it(f){return typeof HTMLImageElement<\"u\"&&f instanceof HTMLImageElement?(R.width=f.naturalWidth||f.width,R.height=f.naturalHeight||f.height):typeof VideoFrame<\"u\"&&f instanceof VideoFrame?(R.width=f.displayWidth,R.height=f.displayHeight):(R.width=f.width,R.height=f.height),R}this.allocateTextureUnit=F,this.resetTextureUnits=$,this.getTextureUnits=Y,this.setTextureUnits=N,this.setTexture2D=Q,this.setTexture2DArray=de,this.setTexture3D=ve,this.setTextureCube=Ae,this.rebindTextures=Je,this.setupRenderTarget=Ie,this.updateRenderTargetMipmap=lt,this.updateMultisampleRenderTarget=S,this.setupDepthRenderbuffer=ke,this.setupFrameBufferTexture=Te,this.useMultisampledRTT=ye,this.isReversedDepthBuffer=function(){return t.buffers.depth.getReversed()}}function ld(e,n){function t(i,l=Yt){let a,u=nt.getTransfer(l);if(i===Rt)return e.UNSIGNED_BYTE;if(i===Hr)return e.UNSIGNED_SHORT_4_4_4_4;if(i===Vr)return e.UNSIGNED_SHORT_5_5_5_1;if(i===po)return e.UNSIGNED_INT_5_9_9_9_REV;if(i===ho)return e.UNSIGNED_INT_10F_11F_11F_REV;if(i===mo)return e.BYTE;if(i===_o)return e.SHORT;if(i===xn)return e.UNSIGNED_SHORT;if(i===br)return e.INT;if(i===Wt)return e.UNSIGNED_INT;if(i===Ot)return e.FLOAT;if(i===Gt)return e.HALF_FLOAT;if(i===go)return e.ALPHA;if(i===vo)return e.RGB;if(i===Ut)return e.RGBA;if(i===en)return e.DEPTH_COMPONENT;if(i===Zt)return e.DEPTH_STENCIL;if(i===So)return e.RED;if(i===kr)return e.RED_INTEGER;if(i===jt)return e.RG;if(i===Wr)return e.RG_INTEGER;if(i===zr)return e.RGBA_INTEGER;if(i===In||i===Nn||i===yn||i===Fn)if(u===$e)if(a=n.get(\"WEBGL_compressed_texture_s3tc_srgb\"),a!==null){if(i===In)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===Nn)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===yn)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===Fn)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=n.get(\"WEBGL_compressed_texture_s3tc\"),a!==null){if(i===In)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===Nn)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===yn)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===Fn)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===Ti||i===Ai||i===Ri||i===bi)if(a=n.get(\"WEBGL_compressed_texture_pvrtc\"),a!==null){if(i===Ti)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===Ai)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Ri)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===bi)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Ci||i===Pi||i===Li||i===Ui||i===Di||i===Xn||i===wi)if(a=n.get(\"WEBGL_compressed_texture_etc\"),a!==null){if(i===Ci||i===Pi)return u===$e?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(i===Li)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC;if(i===Ui)return a.COMPRESSED_R11_EAC;if(i===Di)return a.COMPRESSED_SIGNED_R11_EAC;if(i===Xn)return a.COMPRESSED_RG11_EAC;if(i===wi)return a.COMPRESSED_SIGNED_RG11_EAC}else return null;if(i===Ii||i===Ni||i===yi||i===Fi||i===Oi||i===Bi||i===Gi||i===Hi||i===Vi||i===ki||i===Wi||i===zi||i===Xi||i===Ki)if(a=n.get(\"WEBGL_compressed_texture_astc\"),a!==null){if(i===Ii)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===Ni)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===yi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===Fi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Oi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===Bi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===Gi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===Hi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===Vi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===ki)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===Wi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===zi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===Xi)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===Ki)return u===$e?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===Yi||i===qi||i===Zi)if(a=n.get(\"EXT_texture_compression_bptc\"),a!==null){if(i===Yi)return u===$e?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===qi)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===Zi)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===$i||i===Qi||i===Kn||i===Ji)if(a=n.get(\"EXT_texture_compression_rgtc\"),a!==null){if(i===$i)return a.COMPRESSED_RED_RGTC1_EXT;if(i===Qi)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===Kn)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===Ji)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===dn?e.UNSIGNED_INT_24_8:e[i]!==void 0?e[i]:null}return{convert:t}}var cd=`\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}`,fd=`\nuniform sampler2DArray depthColor;\nuniform float depthWidth;\nuniform float depthHeight;\n\nvoid main() {\n\n\tvec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );\n\n\tif ( coord.x >= 1.0 ) {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;\n\n\t} else {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;\n\n\t}\n\n}`,ti=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(n,t){if(this.texture===null){let i=new Xr(n.texture);(n.depthNear!==t.depthNear||n.depthFar!==t.depthFar)&&(this.depthNear=n.depthNear,this.depthFar=n.depthFar),this.texture=i}}getMesh(n){if(this.texture!==null&&this.mesh===null){let t=n.cameras[0].viewport,i=new It({vertexShader:cd,fragmentShader:fd,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new wt(new Ar(20,20),i)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}},ni=class extends Eo{constructor(n,t){super();let i=this,l=null,a=1,u=null,m=\"local-floor\",C=1,R=null,k=null,U=null,p=null,E=null,D=null,G=typeof XRWebGLBinding<\"u\",c=new ti,s={},h=t.getContextAttributes(),M=null,A=null,H=[],_=[],I=new mt,d=null,v=new gn;v.viewport=new ht;let y=new gn;y.viewport=new ht;let T=[v,y],B=new xo,$=null,Y=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(K){let ce=H[K];return ce===void 0&&(ce=new On,H[K]=ce),ce.getTargetRaySpace()},this.getControllerGrip=function(K){let ce=H[K];return ce===void 0&&(ce=new On,H[K]=ce),ce.getGripSpace()},this.getHand=function(K){let ce=H[K];return ce===void 0&&(ce=new On,H[K]=ce),ce.getHandSpace()};function N(K){let ce=_.indexOf(K.inputSource);if(ce===-1)return;let te=H[ce];te!==void 0&&(te.update(K.inputSource,K.frame,R||u),te.dispatchEvent({type:K.type,data:K.inputSource}))}function F(){l.removeEventListener(\"select\",N),l.removeEventListener(\"selectstart\",N),l.removeEventListener(\"selectend\",N),l.removeEventListener(\"squeeze\",N),l.removeEventListener(\"squeezestart\",N),l.removeEventListener(\"squeezeend\",N),l.removeEventListener(\"end\",F),l.removeEventListener(\"inputsourceschange\",O);for(let K=0;K<H.length;K++){let ce=_[K];ce!==null&&(_[K]=null,H[K].disconnect(ce))}$=null,Y=null,c.reset();for(let K in s)delete s[K];n.setRenderTarget(M),E=null,p=null,U=null,l=null,A=null,we.stop(),i.isPresenting=!1,n.setPixelRatio(d),n.setSize(I.width,I.height,!1),i.dispatchEvent({type:\"sessionend\"})}this.setFramebufferScaleFactor=function(K){a=K,i.isPresenting===!0&&He(\"WebXRManager: Cannot change framebuffer scale while presenting.\")},this.setReferenceSpaceType=function(K){m=K,i.isPresenting===!0&&He(\"WebXRManager: Cannot change reference space type while presenting.\")},this.getReferenceSpace=function(){return R||u},this.setReferenceSpace=function(K){R=K},this.getBaseLayer=function(){return p!==null?p:E},this.getBinding=function(){return U===null&&G&&(U=new XRWebGLBinding(l,t)),U},this.getFrame=function(){return D},this.getSession=function(){return l},this.setSession=async function(K){if(l=K,l!==null){if(M=n.getRenderTarget(),l.addEventListener(\"select\",N),l.addEventListener(\"selectstart\",N),l.addEventListener(\"selectend\",N),l.addEventListener(\"squeeze\",N),l.addEventListener(\"squeezestart\",N),l.addEventListener(\"squeezeend\",N),l.addEventListener(\"end\",F),l.addEventListener(\"inputsourceschange\",O),h.xrCompatible!==!0&&await t.makeXRCompatible(),d=n.getPixelRatio(),n.getSize(I),G&&\"createProjectionLayer\"in XRWebGLBinding.prototype){let te=null,Me=null,be=null;h.depth&&(be=h.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,te=h.stencil?Zt:en,Me=h.stencil?dn:Wt);let Te={colorFormat:t.RGBA8,depthFormat:be,scaleFactor:a};U=this.getBinding(),p=U.createProjectionLayer(Te),l.updateRenderState({layers:[p]}),n.setPixelRatio(1),n.setSize(p.textureWidth,p.textureHeight,!1),A=new Ct(p.textureWidth,p.textureHeight,{format:Ut,type:Rt,depthTexture:new fn(p.textureWidth,p.textureHeight,Me,void 0,void 0,void 0,void 0,void 0,void 0,te),stencilBuffer:h.stencil,colorSpace:n.outputColorSpace,samples:h.antialias?4:0,resolveDepthBuffer:p.ignoreDepthValues===!1,resolveStencilBuffer:p.ignoreDepthValues===!1})}else{let te={antialias:h.antialias,alpha:!0,depth:h.depth,stencil:h.stencil,framebufferScaleFactor:a};E=new XRWebGLLayer(l,t,te),l.updateRenderState({baseLayer:E}),n.setPixelRatio(1),n.setSize(E.framebufferWidth,E.framebufferHeight,!1),A=new Ct(E.framebufferWidth,E.framebufferHeight,{format:Ut,type:Rt,colorSpace:n.outputColorSpace,stencilBuffer:h.stencil,resolveDepthBuffer:E.ignoreDepthValues===!1,resolveStencilBuffer:E.ignoreDepthValues===!1})}A.isXRRenderTarget=!0,this.setFoveation(C),R=null,u=await l.requestReferenceSpace(m),we.setContext(l),we.start(),i.isPresenting=!0,i.dispatchEvent({type:\"sessionstart\"})}},this.getEnvironmentBlendMode=function(){if(l!==null)return l.environmentBlendMode},this.getDepthTexture=function(){return c.getDepthTexture()};function O(K){for(let ce=0;ce<K.removed.length;ce++){let te=K.removed[ce],Me=_.indexOf(te);Me>=0&&(_[Me]=null,H[Me].disconnect(te))}for(let ce=0;ce<K.added.length;ce++){let te=K.added[ce],Me=_.indexOf(te);if(Me===-1){for(let Te=0;Te<H.length;Te++)if(Te>=_.length){_.push(te),Me=Te;break}else if(_[Te]===null){_[Te]=te,Me=Te;break}if(Me===-1)break}let be=H[Me];be&&be.connect(te)}}let Q=new Fe,de=new Fe;function ve(K,ce,te){Q.setFromMatrixPosition(ce.matrixWorld),de.setFromMatrixPosition(te.matrixWorld);let Me=Q.distanceTo(de),be=ce.projectionMatrix.elements,Te=te.projectionMatrix.elements,et=be[14]/(be[10]-1),Ne=be[14]/(be[10]+1),ke=(be[9]+1)/be[5],Je=(be[9]-1)/be[5],Ie=(be[8]-1)/be[0],lt=(Te[8]+1)/Te[0],tt=et*Ie,_t=et*lt,S=Me/(-Ie+lt),ct=S*-Ie;if(ce.matrixWorld.decompose(K.position,K.quaternion,K.scale),K.translateX(ct),K.translateZ(S),K.matrixWorld.compose(K.position,K.quaternion,K.scale),K.matrixWorldInverse.copy(K.matrixWorld).invert(),be[10]===-1)K.projectionMatrix.copy(ce.projectionMatrix),K.projectionMatrixInverse.copy(ce.projectionMatrixInverse);else{let ye=et+S,qe=Ne+S,ae=tt-ct,it=_t+(Me-ct),f=ke*Ne/qe*ye,r=Je*Ne/qe*ye;K.projectionMatrix.makePerspective(ae,it,f,r,ye,qe),K.projectionMatrixInverse.copy(K.projectionMatrix).invert()}}function Ae(K,ce){ce===null?K.matrixWorld.copy(K.matrix):K.matrixWorld.multiplyMatrices(ce.matrixWorld,K.matrix),K.matrixWorldInverse.copy(K.matrixWorld).invert()}this.updateCamera=function(K){if(l===null)return;let ce=K.near,te=K.far;c.texture!==null&&(c.depthNear>0&&(ce=c.depthNear),c.depthFar>0&&(te=c.depthFar)),B.near=y.near=v.near=ce,B.far=y.far=v.far=te,($!==B.near||Y!==B.far)&&(l.updateRenderState({depthNear:B.near,depthFar:B.far}),$=B.near,Y=B.far),B.layers.mask=K.layers.mask|6,v.layers.mask=B.layers.mask&-5,y.layers.mask=B.layers.mask&-3;let Me=K.parent,be=B.cameras;Ae(B,Me);for(let Te=0;Te<be.length;Te++)Ae(be[Te],Me);be.length===2?ve(B,v,y):B.projectionMatrix.copy(v.projectionMatrix),xe(K,B,Me)};function xe(K,ce,te){te===null?K.matrix.copy(ce.matrixWorld):(K.matrix.copy(te.matrixWorld),K.matrix.invert(),K.matrix.multiply(ce.matrixWorld)),K.matrix.decompose(K.position,K.quaternion,K.scale),K.updateMatrixWorld(!0),K.projectionMatrix.copy(ce.projectionMatrix),K.projectionMatrixInverse.copy(ce.projectionMatrixInverse),K.isPerspectiveCamera&&(K.fov=Mo*2*Math.atan(1/K.projectionMatrix.elements[5]),K.zoom=1)}this.getCamera=function(){return B},this.getFoveation=function(){if(!(p===null&&E===null))return C},this.setFoveation=function(K){C=K,p!==null&&(p.fixedFoveation=K),E!==null&&E.fixedFoveation!==void 0&&(E.fixedFoveation=K)},this.hasDepthSensing=function(){return c.texture!==null},this.getDepthSensingMesh=function(){return c.getMesh(B)},this.getCameraTexture=function(K){return s[K]};let Ve=null;function Ye(K,ce){if(k=ce.getViewerPose(R||u),D=ce,k!==null){let te=k.views;E!==null&&(n.setRenderTargetFramebuffer(A,E.framebuffer),n.setRenderTarget(A));let Me=!1;te.length!==B.cameras.length&&(B.cameras.length=0,Me=!0);for(let Ne=0;Ne<te.length;Ne++){let ke=te[Ne],Je=null;if(E!==null)Je=E.getViewport(ke);else{let lt=U.getViewSubImage(p,ke);Je=lt.viewport,Ne===0&&(n.setRenderTargetTextures(A,lt.colorTexture,lt.depthStencilTexture),n.setRenderTarget(A))}let Ie=T[Ne];Ie===void 0&&(Ie=new gn,Ie.layers.enable(Ne),Ie.viewport=new ht,T[Ne]=Ie),Ie.matrix.fromArray(ke.transform.matrix),Ie.matrix.decompose(Ie.position,Ie.quaternion,Ie.scale),Ie.projectionMatrix.fromArray(ke.projectionMatrix),Ie.projectionMatrixInverse.copy(Ie.projectionMatrix).invert(),Ie.viewport.set(Je.x,Je.y,Je.width,Je.height),Ne===0&&(B.matrix.copy(Ie.matrix),B.matrix.decompose(B.position,B.quaternion,B.scale)),Me===!0&&B.cameras.push(Ie)}let be=l.enabledFeatures;if(be&&be.includes(\"depth-sensing\")&&l.depthUsage==\"gpu-optimized\"&&G){U=i.getBinding();let Ne=U.getDepthInformation(te[0]);Ne&&Ne.isValid&&Ne.texture&&c.init(Ne,l.renderState)}if(be&&be.includes(\"camera-access\")&&G){n.state.unbindTexture(),U=i.getBinding();for(let Ne=0;Ne<te.length;Ne++){let ke=te[Ne].camera;if(ke){let Je=s[ke];Je||(Je=new Xr,s[ke]=Je);let Ie=U.getCameraImage(ke);Je.sourceTexture=Ie}}}}for(let te=0;te<H.length;te++){let Me=_[te],be=H[te];Me!==null&&be!==void 0&&be.update(Me,ce,R||u)}Ve&&Ve(K,ce),ce.detectedPlanes&&i.dispatchEvent({type:\"planesdetected\",data:ce}),D=null}let we=new Kr;we.setAnimationLoop(Ye),this.setAnimationLoop=function(K){Ve=K},this.dispose=function(){}}},dd=new Qt,Jr=new Oe;Jr.set(-1,0,0,0,1,0,0,0,1);function ud(e,n){function t(c,s){c.matrixAutoUpdate===!0&&c.updateMatrix(),s.value.copy(c.matrix)}function i(c,s){s.color.getRGB(c.fogColor.value,Rr(e)),s.isFog?(c.fogNear.value=s.near,c.fogFar.value=s.far):s.isFogExp2&&(c.fogDensity.value=s.density)}function l(c,s,h,M,A){s.isNodeMaterial?s.uniformsNeedUpdate=!1:s.isMeshBasicMaterial?a(c,s):s.isMeshLambertMaterial?(a(c,s),s.envMap&&(c.envMapIntensity.value=s.envMapIntensity)):s.isMeshToonMaterial?(a(c,s),U(c,s)):s.isMeshPhongMaterial?(a(c,s),k(c,s),s.envMap&&(c.envMapIntensity.value=s.envMapIntensity)):s.isMeshStandardMaterial?(a(c,s),p(c,s),s.isMeshPhysicalMaterial&&E(c,s,A)):s.isMeshMatcapMaterial?(a(c,s),D(c,s)):s.isMeshDepthMaterial?a(c,s):s.isMeshDistanceMaterial?(a(c,s),G(c,s)):s.isMeshNormalMaterial?a(c,s):s.isLineBasicMaterial?(u(c,s),s.isLineDashedMaterial&&m(c,s)):s.isPointsMaterial?C(c,s,h,M):s.isSpriteMaterial?R(c,s):s.isShadowMaterial?(c.color.value.copy(s.color),c.opacity.value=s.opacity):s.isShaderMaterial&&(s.uniformsNeedUpdate=!1)}function a(c,s){c.opacity.value=s.opacity,s.color&&c.diffuse.value.copy(s.color),s.emissive&&c.emissive.value.copy(s.emissive).multiplyScalar(s.emissiveIntensity),s.map&&(c.map.value=s.map,t(s.map,c.mapTransform)),s.alphaMap&&(c.alphaMap.value=s.alphaMap,t(s.alphaMap,c.alphaMapTransform)),s.bumpMap&&(c.bumpMap.value=s.bumpMap,t(s.bumpMap,c.bumpMapTransform),c.bumpScale.value=s.bumpScale,s.side===St&&(c.bumpScale.value*=-1)),s.normalMap&&(c.normalMap.value=s.normalMap,t(s.normalMap,c.normalMapTransform),c.normalScale.value.copy(s.normalScale),s.side===St&&c.normalScale.value.negate()),s.displacementMap&&(c.displacementMap.value=s.displacementMap,t(s.displacementMap,c.displacementMapTransform),c.displacementScale.value=s.displacementScale,c.displacementBias.value=s.displacementBias),s.emissiveMap&&(c.emissiveMap.value=s.emissiveMap,t(s.emissiveMap,c.emissiveMapTransform)),s.specularMap&&(c.specularMap.value=s.specularMap,t(s.specularMap,c.specularMapTransform)),s.alphaTest>0&&(c.alphaTest.value=s.alphaTest);let h=n.get(s),M=h.envMap,A=h.envMapRotation;M&&(c.envMap.value=M,c.envMapRotation.value.setFromMatrix4(dd.makeRotationFromEuler(A)).transpose(),M.isCubeTexture&&M.isRenderTargetTexture===!1&&c.envMapRotation.value.premultiply(Jr),c.reflectivity.value=s.reflectivity,c.ior.value=s.ior,c.refractionRatio.value=s.refractionRatio),s.lightMap&&(c.lightMap.value=s.lightMap,c.lightMapIntensity.value=s.lightMapIntensity,t(s.lightMap,c.lightMapTransform)),s.aoMap&&(c.aoMap.value=s.aoMap,c.aoMapIntensity.value=s.aoMapIntensity,t(s.aoMap,c.aoMapTransform))}function u(c,s){c.diffuse.value.copy(s.color),c.opacity.value=s.opacity,s.map&&(c.map.value=s.map,t(s.map,c.mapTransform))}function m(c,s){c.dashSize.value=s.dashSize,c.totalSize.value=s.dashSize+s.gapSize,c.scale.value=s.scale}function C(c,s,h,M){c.diffuse.value.copy(s.color),c.opacity.value=s.opacity,c.size.value=s.size*h,c.scale.value=M*.5,s.map&&(c.map.value=s.map,t(s.map,c.uvTransform)),s.alphaMap&&(c.alphaMap.value=s.alphaMap,t(s.alphaMap,c.alphaMapTransform)),s.alphaTest>0&&(c.alphaTest.value=s.alphaTest)}function R(c,s){c.diffuse.value.copy(s.color),c.opacity.value=s.opacity,c.rotation.value=s.rotation,s.map&&(c.map.value=s.map,t(s.map,c.mapTransform)),s.alphaMap&&(c.alphaMap.value=s.alphaMap,t(s.alphaMap,c.alphaMapTransform)),s.alphaTest>0&&(c.alphaTest.value=s.alphaTest)}function k(c,s){c.specular.value.copy(s.specular),c.shininess.value=Math.max(s.shininess,1e-4)}function U(c,s){s.gradientMap&&(c.gradientMap.value=s.gradientMap)}function p(c,s){c.metalness.value=s.metalness,s.metalnessMap&&(c.metalnessMap.value=s.metalnessMap,t(s.metalnessMap,c.metalnessMapTransform)),c.roughness.value=s.roughness,s.roughnessMap&&(c.roughnessMap.value=s.roughnessMap,t(s.roughnessMap,c.roughnessMapTransform)),s.envMap&&(c.envMapIntensity.value=s.envMapIntensity)}function E(c,s,h){c.ior.value=s.ior,s.sheen>0&&(c.sheenColor.value.copy(s.sheenColor).multiplyScalar(s.sheen),c.sheenRoughness.value=s.sheenRoughness,s.sheenColorMap&&(c.sheenColorMap.value=s.sheenColorMap,t(s.sheenColorMap,c.sheenColorMapTransform)),s.sheenRoughnessMap&&(c.sheenRoughnessMap.value=s.sheenRoughnessMap,t(s.sheenRoughnessMap,c.sheenRoughnessMapTransform))),s.clearcoat>0&&(c.clearcoat.value=s.clearcoat,c.clearcoatRoughness.value=s.clearcoatRoughness,s.clearcoatMap&&(c.clearcoatMap.value=s.clearcoatMap,t(s.clearcoatMap,c.clearcoatMapTransform)),s.clearcoatRoughnessMap&&(c.clearcoatRoughnessMap.value=s.clearcoatRoughnessMap,t(s.clearcoatRoughnessMap,c.clearcoatRoughnessMapTransform)),s.clearcoatNormalMap&&(c.clearcoatNormalMap.value=s.clearcoatNormalMap,t(s.clearcoatNormalMap,c.clearcoatNormalMapTransform),c.clearcoatNormalScale.value.copy(s.clearcoatNormalScale),s.side===St&&c.clearcoatNormalScale.value.negate())),s.dispersion>0&&(c.dispersion.value=s.dispersion),s.iridescence>0&&(c.iridescence.value=s.iridescence,c.iridescenceIOR.value=s.iridescenceIOR,c.iridescenceThicknessMinimum.value=s.iridescenceThicknessRange[0],c.iridescenceThicknessMaximum.value=s.iridescenceThicknessRange[1],s.iridescenceMap&&(c.iridescenceMap.value=s.iridescenceMap,t(s.iridescenceMap,c.iridescenceMapTransform)),s.iridescenceThicknessMap&&(c.iridescenceThicknessMap.value=s.iridescenceThicknessMap,t(s.iridescenceThicknessMap,c.iridescenceThicknessMapTransform))),s.transmission>0&&(c.transmission.value=s.transmission,c.transmissionSamplerMap.value=h.texture,c.transmissionSamplerSize.value.set(h.width,h.height),s.transmissionMap&&(c.transmissionMap.value=s.transmissionMap,t(s.transmissionMap,c.transmissionMapTransform)),c.thickness.value=s.thickness,s.thicknessMap&&(c.thicknessMap.value=s.thicknessMap,t(s.thicknessMap,c.thicknessMapTransform)),c.attenuationDistance.value=s.attenuationDistance,c.attenuationColor.value.copy(s.attenuationColor)),s.anisotropy>0&&(c.anisotropyVector.value.set(s.anisotropy*Math.cos(s.anisotropyRotation),s.anisotropy*Math.sin(s.anisotropyRotation)),s.anisotropyMap&&(c.anisotropyMap.value=s.anisotropyMap,t(s.anisotropyMap,c.anisotropyMapTransform))),c.specularIntensity.value=s.specularIntensity,c.specularColor.value.copy(s.specularColor),s.specularColorMap&&(c.specularColorMap.value=s.specularColorMap,t(s.specularColorMap,c.specularColorMapTransform)),s.specularIntensityMap&&(c.specularIntensityMap.value=s.specularIntensityMap,t(s.specularIntensityMap,c.specularIntensityMapTransform))}function D(c,s){s.matcap&&(c.matcap.value=s.matcap)}function G(c,s){let h=n.get(s).light;c.referencePosition.value.setFromMatrixPosition(h.matrixWorld),c.nearDistance.value=h.shadow.camera.near,c.farDistance.value=h.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:l}}function pd(e,n,t,i){let l={},a={},u=[],m=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function C(h,M){let A=M.program;i.uniformBlockBinding(h,A)}function R(h,M){let A=l[h.id];A===void 0&&(D(h),A=k(h),l[h.id]=A,h.addEventListener(\"dispose\",c));let H=M.program;i.updateUBOMapping(h,H);let _=n.render.frame;a[h.id]!==_&&(p(h),a[h.id]=_)}function k(h){let M=U();h.__bindingPointIndex=M;let A=e.createBuffer(),H=h.__size,_=h.usage;return e.bindBuffer(e.UNIFORM_BUFFER,A),e.bufferData(e.UNIFORM_BUFFER,H,_),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,M,A),A}function U(){for(let h=0;h<m;h++)if(u.indexOf(h)===-1)return u.push(h),h;return Qe(\"WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.\"),0}function p(h){let M=l[h.id],A=h.uniforms,H=h.__cache;e.bindBuffer(e.UNIFORM_BUFFER,M);for(let _=0,I=A.length;_<I;_++){let d=Array.isArray(A[_])?A[_]:[A[_]];for(let v=0,y=d.length;v<y;v++){let T=d[v];if(E(T,_,v,H)===!0){let B=T.__offset,$=Array.isArray(T.value)?T.value:[T.value],Y=0;for(let N=0;N<$.length;N++){let F=$[N],O=G(F);typeof F==\"number\"||typeof F==\"boolean\"?(T.__data[0]=F,e.bufferSubData(e.UNIFORM_BUFFER,B+Y,T.__data)):F.isMatrix3?(T.__data[0]=F.elements[0],T.__data[1]=F.elements[1],T.__data[2]=F.elements[2],T.__data[3]=0,T.__data[4]=F.elements[3],T.__data[5]=F.elements[4],T.__data[6]=F.elements[5],T.__data[7]=0,T.__data[8]=F.elements[6],T.__data[9]=F.elements[7],T.__data[10]=F.elements[8],T.__data[11]=0):ArrayBuffer.isView(F)?T.__data.set(new F.constructor(F.buffer,F.byteOffset,T.__data.length)):(F.toArray(T.__data,Y),Y+=O.storage/Float32Array.BYTES_PER_ELEMENT)}e.bufferSubData(e.UNIFORM_BUFFER,B,T.__data)}}}e.bindBuffer(e.UNIFORM_BUFFER,null)}function E(h,M,A,H){let _=h.value,I=M+\"_\"+A;if(H[I]===void 0)return typeof _==\"number\"||typeof _==\"boolean\"?H[I]=_:ArrayBuffer.isView(_)?H[I]=_.slice():H[I]=_.clone(),!0;{let d=H[I];if(typeof _==\"number\"||typeof _==\"boolean\"){if(d!==_)return H[I]=_,!0}else{if(ArrayBuffer.isView(_))return!0;if(d.equals(_)===!1)return d.copy(_),!0}}return!1}function D(h){let M=h.uniforms,A=0,H=16;for(let I=0,d=M.length;I<d;I++){let v=Array.isArray(M[I])?M[I]:[M[I]];for(let y=0,T=v.length;y<T;y++){let B=v[y],$=Array.isArray(B.value)?B.value:[B.value];for(let Y=0,N=$.length;Y<N;Y++){let F=$[Y],O=G(F),Q=A%H,de=Q%O.boundary,ve=Q+de;A+=de,ve!==0&&H-ve<O.storage&&(A+=H-ve),B.__data=new Float32Array(O.storage/Float32Array.BYTES_PER_ELEMENT),B.__offset=A,A+=O.storage}}}let _=A%H;return _>0&&(A+=H-_),h.__size=A,h.__cache={},this}function G(h){let M={boundary:0,storage:0};return typeof h==\"number\"||typeof h==\"boolean\"?(M.boundary=4,M.storage=4):h.isVector2?(M.boundary=8,M.storage=8):h.isVector3||h.isColor?(M.boundary=16,M.storage=12):h.isVector4?(M.boundary=16,M.storage=16):h.isMatrix3?(M.boundary=48,M.storage=48):h.isMatrix4?(M.boundary=64,M.storage=64):h.isTexture?He(\"WebGLRenderer: Texture samplers can not be part of an uniforms group.\"):ArrayBuffer.isView(h)?(M.boundary=16,M.storage=h.byteLength):He(\"WebGLRenderer: Unsupported uniform value type.\",h),M}function c(h){let M=h.target;M.removeEventListener(\"dispose\",c);let A=u.indexOf(M.__bindingPointIndex);u.splice(A,1),e.deleteBuffer(l[M.id]),delete l[M.id],delete a[M.id]}function s(){for(let h in l)e.deleteBuffer(l[h]);u=[],l={},a={}}return{bind:C,update:R,dispose:s}}var hd=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]),Tt=null;function md(){return Tt===null&&(Tt=new To(hd,16,16,jt,Gt),Tt.name=\"DFG_LUT\",Tt.minFilter=vt,Tt.magFilter=vt,Tt.wrapS=Yn,Tt.wrapT=Yn,Tt.generateMipmaps=!1,Tt.needsUpdate=!0),Tt}var Tr=class{constructor(n={}){let{canvas:t=Ao(),context:i=null,depth:l=!0,stencil:a=!1,alpha:u=!1,antialias:m=!1,premultipliedAlpha:C=!0,preserveDrawingBuffer:R=!1,powerPreference:k=\"default\",failIfMajorPerformanceCaveat:U=!1,reversedDepthBuffer:p=!1,outputBufferType:E=Rt}=n;this.isWebGLRenderer=!0;let D;if(i!==null){if(typeof WebGLRenderingContext<\"u\"&&i instanceof WebGLRenderingContext)throw new Error(\"THREE.WebGLRenderer: WebGL 1 is not supported since r163.\");D=i.getContextAttributes().alpha}else D=u;let G=E,c=new Set([zr,Wr,kr]),s=new Set([Rt,Wt,xn,dn,Hr,Vr]),h=new Uint32Array(4),M=new Int32Array(4),A=new Fe,H=null,_=null,I=[],d=[],v=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=bt,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let y=this,T=!1,B=null;this._outputColorSpace=Ro;let $=0,Y=0,N=null,F=-1,O=null,Q=new ht,de=new ht,ve=null,Ae=new je(0),xe=0,Ve=t.width,Ye=t.height,we=1,K=null,ce=null,te=new ht(0,0,Ve,Ye),Me=new ht(0,0,Ve,Ye),be=!1,Te=new Gr,et=!1,Ne=!1,ke=new Qt,Je=new Fe,Ie=new ht,lt={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},tt=!1;function _t(){return N===null?we:1}let S=i;function ct(o,x){return t.getContext(o,x)}try{let o={alpha:!0,depth:l,stencil:a,antialias:m,premultipliedAlpha:C,preserveDrawingBuffer:R,powerPreference:k,failIfMajorPerformanceCaveat:U};if(\"setAttribute\"in t&&t.setAttribute(\"data-engine\",`three.js r${bo}`),t.addEventListener(\"webglcontextlost\",q,!1),t.addEventListener(\"webglcontextrestored\",ge,!1),t.addEventListener(\"webglcontextcreationerror\",Ce,!1),S===null){let x=\"webgl2\";if(S=ct(x,o),S===null)throw ct(x)?new Error(\"Error creating WebGL context with your selected attributes.\"):new Error(\"Error creating WebGL context.\")}}catch(o){throw Qe(\"WebGLRenderer: \"+o.message),o}let ye,qe,ae,it,f,r,b,z,Z,J,re,V,X,fe,he,ne,j,Re,Le,Ge,g,ee,W;function ue(){ye=new xc(S),ye.init(),g=new ld(S,ye),qe=new pc(S,ye,n,g),ae=new od(S,ye),qe.reversedDepthBuffer&&p&&ae.buffers.depth.setReversed(!0),it=new Ac(S),f=new Kf,r=new sd(S,ye,ae,f,qe,g,it),b=new Ec(y),z=new Po(S),ee=new dc(S,z),Z=new Mc(S,z,it,ee),J=new bc(S,Z,z,ee,it),Re=new Rc(S,qe,r),he=new hc(f),re=new Xf(y,b,ye,qe,ee,he),V=new ud(y,f),X=new qf,fe=new ed(ye),j=new fc(y,b,ae,J,D,C),ne=new ad(y,J,qe),W=new pd(S,it,qe,ae),Le=new uc(S,ye,it),Ge=new Tc(S,ye,it),it.programs=re.programs,y.capabilities=qe,y.extensions=ye,y.properties=f,y.renderLists=X,y.shadowMap=ne,y.state=ae,y.info=it}ue(),G!==Rt&&(v=new Pc(G,t.width,t.height,l,a));let ie=new ni(y,S);this.xr=ie,this.getContext=function(){return S},this.getContextAttributes=function(){return S.getContextAttributes()},this.forceContextLoss=function(){let o=ye.get(\"WEBGL_lose_context\");o&&o.loseContext()},this.forceContextRestore=function(){let o=ye.get(\"WEBGL_lose_context\");o&&o.restoreContext()},this.getPixelRatio=function(){return we},this.setPixelRatio=function(o){o!==void 0&&(we=o,this.setSize(Ve,Ye,!1))},this.getSize=function(o){return o.set(Ve,Ye)},this.setSize=function(o,x,w=!0){if(ie.isPresenting){He(\"WebGLRenderer: Can't change size while VR device is presenting.\");return}Ve=o,Ye=x,t.width=Math.floor(o*we),t.height=Math.floor(x*we),w===!0&&(t.style.width=o+\"px\",t.style.height=x+\"px\"),v!==null&&v.setSize(t.width,t.height),this.setViewport(0,0,o,x)},this.getDrawingBufferSize=function(o){return o.set(Ve*we,Ye*we).floor()},this.setDrawingBufferSize=function(o,x,w){Ve=o,Ye=x,we=w,t.width=Math.floor(o*w),t.height=Math.floor(x*w),this.setViewport(0,0,o,x)},this.setEffects=function(o){if(G===Rt){Qe(\"THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.\");return}if(o){for(let x=0;x<o.length;x++)if(o[x].isOutputPass===!0){He(\"THREE.WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.\");break}}v.setEffects(o||[])},this.getCurrentViewport=function(o){return o.copy(Q)},this.getViewport=function(o){return o.copy(te)},this.setViewport=function(o,x,w,P){o.isVector4?te.set(o.x,o.y,o.z,o.w):te.set(o,x,w,P),ae.viewport(Q.copy(te).multiplyScalar(we).round())},this.getScissor=function(o){return o.copy(Me)},this.setScissor=function(o,x,w,P){o.isVector4?Me.set(o.x,o.y,o.z,o.w):Me.set(o,x,w,P),ae.scissor(de.copy(Me).multiplyScalar(we).round())},this.getScissorTest=function(){return be},this.setScissorTest=function(o){ae.setScissorTest(be=o)},this.setOpaqueSort=function(o){K=o},this.setTransparentSort=function(o){ce=o},this.getClearColor=function(o){return o.copy(j.getClearColor())},this.setClearColor=function(){j.setClearColor(...arguments)},this.getClearAlpha=function(){return j.getClearAlpha()},this.setClearAlpha=function(){j.setClearAlpha(...arguments)},this.clear=function(o=!0,x=!0,w=!0){let P=0;if(o){let L=!1;if(N!==null){let le=N.texture.format;L=c.has(le)}if(L){let le=N.texture.type,me=s.has(le),se=j.getClearColor(),_e=j.getClearAlpha(),Se=se.r,Pe=se.g,De=se.b;me?(h[0]=Se,h[1]=Pe,h[2]=De,h[3]=_e,S.clearBufferuiv(S.COLOR,0,h)):(M[0]=Se,M[1]=Pe,M[2]=De,M[3]=_e,S.clearBufferiv(S.COLOR,0,M))}else P|=S.COLOR_BUFFER_BIT}x&&(P|=S.DEPTH_BUFFER_BIT,this.state.buffers.depth.setMask(!0)),w&&(P|=S.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),P!==0&&S.clear(P)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.setNodesHandler=function(o){o.setRenderer(this),B=o},this.dispose=function(){t.removeEventListener(\"webglcontextlost\",q,!1),t.removeEventListener(\"webglcontextrestored\",ge,!1),t.removeEventListener(\"webglcontextcreationerror\",Ce,!1),j.dispose(),X.dispose(),fe.dispose(),f.dispose(),b.dispose(),J.dispose(),ee.dispose(),W.dispose(),re.dispose(),ie.dispose(),ie.removeEventListener(\"sessionstart\",oi),ie.removeEventListener(\"sessionend\",si),Ht.stop()};function q(o){o.preventDefault(),ji(\"WebGLRenderer: Context Lost.\"),T=!0}function ge(){ji(\"WebGLRenderer: Context Restored.\"),T=!1;let o=it.autoReset,x=ne.enabled,w=ne.autoUpdate,P=ne.needsUpdate,L=ne.type;ue(),it.autoReset=o,ne.enabled=x,ne.autoUpdate=w,ne.needsUpdate=P,ne.type=L}function Ce(o){Qe(\"WebGLRenderer: A WebGL context could not be created. Reason: \",o.statusMessage)}function at(o){let x=o.target;x.removeEventListener(\"dispose\",at),We(x)}function We(o){Pt(o),f.remove(o)}function Pt(o){let x=f.get(o).programs;x!==void 0&&(x.forEach(function(w){re.releaseProgram(w)}),o.isShaderMaterial&&re.releaseShaderCache(o))}this.renderBufferDirect=function(o,x,w,P,L,le){x===null&&(x=lt);let me=L.isMesh&&L.matrixWorld.determinant()<0,se=ta(o,x,w,P,L);ae.setMaterial(P,me);let _e=w.index,Se=1;if(P.wireframe===!0){if(_e=Z.getWireframeAttribute(w),_e===void 0)return;Se=2}let Pe=w.drawRange,De=w.attributes.position,Ee=Pe.start*Se,ze=(Pe.start+Pe.count)*Se;le!==null&&(Ee=Math.max(Ee,le.start*Se),ze=Math.min(ze,(le.start+le.count)*Se)),_e!==null?(Ee=Math.max(Ee,0),ze=Math.min(ze,_e.count)):De!=null&&(Ee=Math.max(Ee,0),ze=Math.min(ze,De.count));let ot=ze-Ee;if(ot<0||ot===1/0)return;ee.setup(L,P,se,w,_e);let rt,Xe=Le;if(_e!==null&&(rt=z.get(_e),Xe=Ge,Xe.setIndex(rt)),L.isMesh)P.wireframe===!0?(ae.setLineWidth(P.wireframeLinewidth*_t()),Xe.setMode(S.LINES)):Xe.setMode(S.TRIANGLES);else if(L.isLine){let ut=P.linewidth;ut===void 0&&(ut=1),ae.setLineWidth(ut*_t()),L.isLineSegments?Xe.setMode(S.LINES):L.isLineLoop?Xe.setMode(S.LINE_LOOP):Xe.setMode(S.LINE_STRIP)}else L.isPoints?Xe.setMode(S.POINTS):L.isSprite&&Xe.setMode(S.TRIANGLES);if(L.isBatchedMesh)if(ye.get(\"WEBGL_multi_draw\"))Xe.renderMultiDraw(L._multiDrawStarts,L._multiDrawCounts,L._multiDrawCount);else{let ut=L._multiDrawStarts,pe=L._multiDrawCounts,gt=L._multiDrawCount,Be=_e?z.get(_e).bytesPerElement:1,Et=f.get(P).currentProgram.getUniforms();for(let Mt=0;Mt<gt;Mt++)Et.setValue(S,\"_gl_DrawID\",Mt),Xe.render(ut[Mt]/Be,pe[Mt])}else if(L.isInstancedMesh)Xe.renderInstances(Ee,ot,L.count);else if(w.isInstancedBufferGeometry){let ut=w._maxInstanceCount!==void 0?w._maxInstanceCount:1/0,pe=Math.min(w.instanceCount,ut);Xe.renderInstances(Ee,ot,pe)}else Xe.render(Ee,ot)};function xt(o,x,w){o.transparent===!0&&o.side===Lt&&o.forceSinglePass===!1?(o.side=St,o.needsUpdate=!0,pn(o,x,w),o.side=ln,o.needsUpdate=!0,pn(o,x,w),o.side=Lt):pn(o,x,w)}this.compile=function(o,x,w=null){w===null&&(w=o),_=fe.get(w),_.init(x),d.push(_),w.traverseVisible(function(L){L.isLight&&L.layers.test(x.layers)&&(_.pushLight(L),L.castShadow&&_.pushShadow(L))}),o!==w&&o.traverseVisible(function(L){L.isLight&&L.layers.test(x.layers)&&(_.pushLight(L),L.castShadow&&_.pushShadow(L))}),_.setupLights();let P=new Set;return o.traverse(function(L){if(!(L.isMesh||L.isPoints||L.isLine||L.isSprite))return;let le=L.material;if(le)if(Array.isArray(le))for(let me=0;me<le.length;me++){let se=le[me];xt(se,w,L),P.add(se)}else xt(le,w,L),P.add(le)}),_=d.pop(),P},this.compileAsync=function(o,x,w=null){let P=this.compile(o,x,w);return new Promise(L=>{function le(){if(P.forEach(function(me){f.get(me).currentProgram.isReady()&&P.delete(me)}),P.size===0){L(o);return}setTimeout(le,10)}ye.get(\"KHR_parallel_shader_compile\")!==null?le():setTimeout(le,10)})};let Pn=null;function jr(o){Pn&&Pn(o)}function oi(){Ht.stop()}function si(){Ht.start()}let Ht=new Kr;Ht.setAnimationLoop(jr),typeof self<\"u\"&&Ht.setContext(self),this.setAnimationLoop=function(o){Pn=o,ie.setAnimationLoop(o),o===null?Ht.stop():Ht.start()},ie.addEventListener(\"sessionstart\",oi),ie.addEventListener(\"sessionend\",si),this.render=function(o,x){if(x!==void 0&&x.isCamera!==!0){Qe(\"WebGLRenderer.render: camera is not an instance of THREE.Camera.\");return}if(T===!0)return;B!==null&&B.renderStart(o,x);let w=ie.enabled===!0&&ie.isPresenting===!0,P=v!==null&&(N===null||w)&&v.begin(y,N);if(o.matrixWorldAutoUpdate===!0&&o.updateMatrixWorld(),x.parent===null&&x.matrixWorldAutoUpdate===!0&&x.updateMatrixWorld(),ie.enabled===!0&&ie.isPresenting===!0&&(v===null||v.isCompositing()===!1)&&(ie.cameraAutoUpdate===!0&&ie.updateCamera(x),x=ie.getCamera()),o.isScene===!0&&o.onBeforeRender(y,o,x,N),_=fe.get(o,d.length),_.init(x),_.state.textureUnits=r.getTextureUnits(),d.push(_),ke.multiplyMatrices(x.projectionMatrix,x.matrixWorldInverse),Te.setFromProjectionMatrix(ke,er,x.reversedDepth),Ne=this.localClippingEnabled,et=he.init(this.clippingPlanes,Ne),H=X.get(o,I.length),H.init(),I.push(H),ie.enabled===!0&&ie.isPresenting===!0){let me=y.xr.getDepthSensingMesh();me!==null&&Ln(me,x,-1/0,y.sortObjects)}Ln(o,x,0,y.sortObjects),H.finish(),y.sortObjects===!0&&H.sort(K,ce),tt=ie.enabled===!1||ie.isPresenting===!1||ie.hasDepthSensing()===!1,tt&&j.addToRenderList(H,o),this.info.render.frame++,et===!0&&he.beginShadows();let L=_.state.shadowsArray;if(ne.render(L,o,x),et===!0&&he.endShadows(),this.info.autoReset===!0&&this.info.reset(),(P&&v.hasRenderPass())===!1){let me=H.opaque,se=H.transmissive;if(_.setupLights(),x.isArrayCamera){let _e=x.cameras;if(se.length>0)for(let Se=0,Pe=_e.length;Se<Pe;Se++){let De=_e[Se];ci(me,se,o,De)}tt&&j.render(o);for(let Se=0,Pe=_e.length;Se<Pe;Se++){let De=_e[Se];li(H,o,De,De.viewport)}}else se.length>0&&ci(me,se,o,x),tt&&j.render(o),li(H,o,x)}N!==null&&Y===0&&(r.updateMultisampleRenderTarget(N),r.updateRenderTargetMipmap(N)),P&&v.end(y),o.isScene===!0&&o.onAfterRender(y,o,x),ee.resetDefaultState(),F=-1,O=null,d.pop(),d.length>0?(_=d[d.length-1],r.setTextureUnits(_.state.textureUnits),et===!0&&he.setGlobalState(y.clippingPlanes,_.state.camera)):_=null,I.pop(),I.length>0?H=I[I.length-1]:H=null,B!==null&&B.renderEnd()};function Ln(o,x,w,P){if(o.visible===!1)return;if(o.layers.test(x.layers)){if(o.isGroup)w=o.renderOrder;else if(o.isLOD)o.autoUpdate===!0&&o.update(x);else if(o.isLightProbeGrid)_.pushLightProbeGrid(o);else if(o.isLight)_.pushLight(o),o.castShadow&&_.pushShadow(o);else if(o.isSprite){if(!o.frustumCulled||Te.intersectsSprite(o)){P&&Ie.setFromMatrixPosition(o.matrixWorld).applyMatrix4(ke);let me=J.update(o),se=o.material;se.visible&&H.push(o,me,se,w,Ie.z,null)}}else if((o.isMesh||o.isLine||o.isPoints)&&(!o.frustumCulled||Te.intersectsObject(o))){let me=J.update(o),se=o.material;if(P&&(o.boundingSphere!==void 0?(o.boundingSphere===null&&o.computeBoundingSphere(),Ie.copy(o.boundingSphere.center)):(me.boundingSphere===null&&me.computeBoundingSphere(),Ie.copy(me.boundingSphere.center)),Ie.applyMatrix4(o.matrixWorld).applyMatrix4(ke)),Array.isArray(se)){let _e=me.groups;for(let Se=0,Pe=_e.length;Se<Pe;Se++){let De=_e[Se],Ee=se[De.materialIndex];Ee&&Ee.visible&&H.push(o,me,Ee,w,Ie.z,De)}}else se.visible&&H.push(o,me,se,w,Ie.z,null)}}let le=o.children;for(let me=0,se=le.length;me<se;me++)Ln(le[me],x,w,P)}function li(o,x,w,P){let{opaque:L,transmissive:le,transparent:me}=o;_.setupLightsView(w),et===!0&&he.setGlobalState(y.clippingPlanes,w),P&&ae.viewport(Q.copy(P)),L.length>0&&un(L,x,w),le.length>0&&un(le,x,w),me.length>0&&un(me,x,w),ae.buffers.depth.setTest(!0),ae.buffers.depth.setMask(!0),ae.buffers.color.setMask(!0),ae.setPolygonOffset(!1)}function ci(o,x,w,P){if((w.isScene===!0?w.overrideMaterial:null)!==null)return;if(_.state.transmissionRenderTarget[P.id]===void 0){let Ee=ye.has(\"EXT_color_buffer_half_float\")||ye.has(\"EXT_color_buffer_float\");_.state.transmissionRenderTarget[P.id]=new Ct(1,1,{generateMipmaps:!0,type:Ee?Gt:Rt,minFilter:qt,samples:Math.max(4,qe.samples),stencilBuffer:a,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:nt.workingColorSpace})}let le=_.state.transmissionRenderTarget[P.id],me=P.viewport||Q;le.setSize(me.z*y.transmissionResolutionScale,me.w*y.transmissionResolutionScale);let se=y.getRenderTarget(),_e=y.getActiveCubeFace(),Se=y.getActiveMipmapLevel();y.setRenderTarget(le),y.getClearColor(Ae),xe=y.getClearAlpha(),xe<1&&y.setClearColor(16777215,.5),y.clear(),tt&&j.render(w);let Pe=y.toneMapping;y.toneMapping=bt;let De=P.viewport;if(P.viewport!==void 0&&(P.viewport=void 0),_.setupLightsView(P),et===!0&&he.setGlobalState(y.clippingPlanes,P),un(o,w,P),r.updateMultisampleRenderTarget(le),r.updateRenderTargetMipmap(le),ye.has(\"WEBGL_multisampled_render_to_texture\")===!1){let Ee=!1;for(let ze=0,ot=x.length;ze<ot;ze++){let rt=x[ze],{object:Xe,geometry:ut,material:pe,group:gt}=rt;if(pe.side===Lt&&Xe.layers.test(P.layers)){let Be=pe.side;pe.side=St,pe.needsUpdate=!0,fi(Xe,w,P,ut,pe,gt),pe.side=Be,pe.needsUpdate=!0,Ee=!0}}Ee===!0&&(r.updateMultisampleRenderTarget(le),r.updateRenderTargetMipmap(le))}y.setRenderTarget(se,_e,Se),y.setClearColor(Ae,xe),De!==void 0&&(P.viewport=De),y.toneMapping=Pe}function un(o,x,w){let P=x.isScene===!0?x.overrideMaterial:null;for(let L=0,le=o.length;L<le;L++){let me=o[L],{object:se,geometry:_e,group:Se}=me,Pe=me.material;Pe.allowOverride===!0&&P!==null&&(Pe=P),se.layers.test(w.layers)&&fi(se,x,w,_e,Pe,Se)}}function fi(o,x,w,P,L,le){o.onBeforeRender(y,x,w,P,L,le),o.modelViewMatrix.multiplyMatrices(w.matrixWorldInverse,o.matrixWorld),o.normalMatrix.getNormalMatrix(o.modelViewMatrix),L.onBeforeRender(y,x,w,P,o,le),L.transparent===!0&&L.side===Lt&&L.forceSinglePass===!1?(L.side=St,L.needsUpdate=!0,y.renderBufferDirect(w,x,P,L,o,le),L.side=ln,L.needsUpdate=!0,y.renderBufferDirect(w,x,P,L,o,le),L.side=Lt):y.renderBufferDirect(w,x,P,L,o,le),o.onAfterRender(y,x,w,P,L,le)}function pn(o,x,w){x.isScene!==!0&&(x=lt);let P=f.get(o),L=_.state.lights,le=_.state.shadowsArray,me=L.state.version,se=re.getParameters(o,L.state,le,x,w,_.state.lightProbeGridArray),_e=re.getProgramCacheKey(se),Se=P.programs;P.environment=o.isMeshStandardMaterial||o.isMeshLambertMaterial||o.isMeshPhongMaterial?x.environment:null,P.fog=x.fog;let Pe=o.isMeshStandardMaterial||o.isMeshLambertMaterial&&!o.envMap||o.isMeshPhongMaterial&&!o.envMap;P.envMap=b.get(o.envMap||P.environment,Pe),P.envMapRotation=P.environment!==null&&o.envMap===null?x.environmentRotation:o.envMapRotation,Se===void 0&&(o.addEventListener(\"dispose\",at),Se=new Map,P.programs=Se);let De=Se.get(_e);if(De!==void 0){if(P.currentProgram===De&&P.lightsStateVersion===me)return ui(o,se),De}else se.uniforms=re.getUniforms(o),B!==null&&o.isNodeMaterial&&B.build(o,w,se),o.onBeforeCompile(se,y),De=re.acquireProgram(se,_e),Se.set(_e,De),P.uniforms=se.uniforms;let Ee=P.uniforms;return(!o.isShaderMaterial&&!o.isRawShaderMaterial||o.clipping===!0)&&(Ee.clippingPlanes=he.uniform),ui(o,se),P.needsLights=ia(o),P.lightsStateVersion=me,P.needsLights&&(Ee.ambientLightColor.value=L.state.ambient,Ee.lightProbe.value=L.state.probe,Ee.directionalLights.value=L.state.directional,Ee.directionalLightShadows.value=L.state.directionalShadow,Ee.spotLights.value=L.state.spot,Ee.spotLightShadows.value=L.state.spotShadow,Ee.rectAreaLights.value=L.state.rectArea,Ee.ltc_1.value=L.state.rectAreaLTC1,Ee.ltc_2.value=L.state.rectAreaLTC2,Ee.pointLights.value=L.state.point,Ee.pointLightShadows.value=L.state.pointShadow,Ee.hemisphereLights.value=L.state.hemi,Ee.directionalShadowMatrix.value=L.state.directionalShadowMatrix,Ee.spotLightMatrix.value=L.state.spotLightMatrix,Ee.spotLightMap.value=L.state.spotLightMap,Ee.pointShadowMatrix.value=L.state.pointShadowMatrix),P.lightProbeGrid=_.state.lightProbeGridArray.length>0,P.currentProgram=De,P.uniformsList=null,De}function di(o){if(o.uniformsList===null){let x=o.currentProgram.getUniforms();o.uniformsList=$t.seqWithValue(x.seq,o.uniforms)}return o.uniformsList}function ui(o,x){let w=f.get(o);w.outputColorSpace=x.outputColorSpace,w.batching=x.batching,w.batchingColor=x.batchingColor,w.instancing=x.instancing,w.instancingColor=x.instancingColor,w.instancingMorph=x.instancingMorph,w.skinning=x.skinning,w.morphTargets=x.morphTargets,w.morphNormals=x.morphNormals,w.morphColors=x.morphColors,w.morphTargetsCount=x.morphTargetsCount,w.numClippingPlanes=x.numClippingPlanes,w.numIntersection=x.numClipIntersection,w.vertexAlphas=x.vertexAlphas,w.vertexTangents=x.vertexTangents,w.toneMapping=x.toneMapping}function ea(o,x){if(o.length===0)return null;if(o.length===1)return o[0].texture!==null?o[0]:null;A.setFromMatrixPosition(x.matrixWorld);for(let w=0,P=o.length;w<P;w++){let L=o[w];if(L.texture!==null&&L.boundingBox.containsPoint(A))return L}return null}function ta(o,x,w,P,L){x.isScene!==!0&&(x=lt),r.resetTextureUnits();let le=x.fog,me=P.isMeshStandardMaterial||P.isMeshLambertMaterial||P.isMeshPhongMaterial?x.environment:null,se=N===null?y.outputColorSpace:N.isXRRenderTarget===!0?N.texture.colorSpace:nt.workingColorSpace,_e=P.isMeshStandardMaterial||P.isMeshLambertMaterial&&!P.envMap||P.isMeshPhongMaterial&&!P.envMap,Se=b.get(P.envMap||me,_e),Pe=P.vertexColors===!0&&!!w.attributes.color&&w.attributes.color.itemSize===4,De=!!w.attributes.tangent&&(!!P.normalMap||P.anisotropy>0),Ee=!!w.morphAttributes.position,ze=!!w.morphAttributes.normal,ot=!!w.morphAttributes.color,rt=bt;P.toneMapped&&(N===null||N.isXRRenderTarget===!0)&&(rt=y.toneMapping);let Xe=w.morphAttributes.position||w.morphAttributes.normal||w.morphAttributes.color,ut=Xe!==void 0?Xe.length:0,pe=f.get(P),gt=_.state.lights;if(et===!0&&(Ne===!0||o!==O)){let Ze=o===O&&P.id===F;he.setState(P,o,Ze)}let Be=!1;P.version===pe.__version?(pe.needsLights&&pe.lightsStateVersion!==gt.state.version||pe.outputColorSpace!==se||L.isBatchedMesh&&pe.batching===!1||!L.isBatchedMesh&&pe.batching===!0||L.isBatchedMesh&&pe.batchingColor===!0&&L.colorTexture===null||L.isBatchedMesh&&pe.batchingColor===!1&&L.colorTexture!==null||L.isInstancedMesh&&pe.instancing===!1||!L.isInstancedMesh&&pe.instancing===!0||L.isSkinnedMesh&&pe.skinning===!1||!L.isSkinnedMesh&&pe.skinning===!0||L.isInstancedMesh&&pe.instancingColor===!0&&L.instanceColor===null||L.isInstancedMesh&&pe.instancingColor===!1&&L.instanceColor!==null||L.isInstancedMesh&&pe.instancingMorph===!0&&L.morphTexture===null||L.isInstancedMesh&&pe.instancingMorph===!1&&L.morphTexture!==null||pe.envMap!==Se||P.fog===!0&&pe.fog!==le||pe.numClippingPlanes!==void 0&&(pe.numClippingPlanes!==he.numPlanes||pe.numIntersection!==he.numIntersection)||pe.vertexAlphas!==Pe||pe.vertexTangents!==De||pe.morphTargets!==Ee||pe.morphNormals!==ze||pe.morphColors!==ot||pe.toneMapping!==rt||pe.morphTargetsCount!==ut||!!pe.lightProbeGrid!=_.state.lightProbeGridArray.length>0)&&(Be=!0):(Be=!0,pe.__version=P.version);let Et=pe.currentProgram;Be===!0&&(Et=pn(P,x,L),B&&P.isNodeMaterial&&B.onUpdateProgram(P,Et,pe));let Mt=!1,Nt=!1,zt=!1,Ke=Et.getUniforms(),st=pe.uniforms;if(ae.useProgram(Et.program)&&(Mt=!0,Nt=!0,zt=!0),P.id!==F&&(F=P.id,Nt=!0),pe.needsLights){let Ze=ea(_.state.lightProbeGridArray,L);pe.lightProbeGrid!==Ze&&(pe.lightProbeGrid=Ze,Nt=!0)}if(Mt||O!==o){ae.buffers.depth.getReversed()&&o.reversedDepth!==!0&&(o._reversedDepth=!0,o.updateProjectionMatrix()),Ke.setValue(S,\"projectionMatrix\",o.projectionMatrix),Ke.setValue(S,\"viewMatrix\",o.matrixWorldInverse);let Ft=Ke.map.cameraPosition;Ft!==void 0&&Ft.setValue(S,Je.setFromMatrixPosition(o.matrixWorld)),qe.logarithmicDepthBuffer&&Ke.setValue(S,\"logDepthBufFC\",2/(Math.log(o.far+1)/Math.LN2)),(P.isMeshPhongMaterial||P.isMeshToonMaterial||P.isMeshLambertMaterial||P.isMeshBasicMaterial||P.isMeshStandardMaterial||P.isShaderMaterial)&&Ke.setValue(S,\"isOrthographic\",o.isOrthographicCamera===!0),O!==o&&(O=o,Nt=!0,zt=!0)}if(pe.needsLights&&(gt.state.directionalShadowMap.length>0&&Ke.setValue(S,\"directionalShadowMap\",gt.state.directionalShadowMap,r),gt.state.spotShadowMap.length>0&&Ke.setValue(S,\"spotShadowMap\",gt.state.spotShadowMap,r),gt.state.pointShadowMap.length>0&&Ke.setValue(S,\"pointShadowMap\",gt.state.pointShadowMap,r)),L.isSkinnedMesh){Ke.setOptional(S,L,\"bindMatrix\"),Ke.setOptional(S,L,\"bindMatrixInverse\");let Ze=L.skeleton;Ze&&(Ze.boneTexture===null&&Ze.computeBoneTexture(),Ke.setValue(S,\"boneTexture\",Ze.boneTexture,r))}L.isBatchedMesh&&(Ke.setOptional(S,L,\"batchingTexture\"),Ke.setValue(S,\"batchingTexture\",L._matricesTexture,r),Ke.setOptional(S,L,\"batchingIdTexture\"),Ke.setValue(S,\"batchingIdTexture\",L._indirectTexture,r),Ke.setOptional(S,L,\"batchingColorTexture\"),L._colorsTexture!==null&&Ke.setValue(S,\"batchingColorTexture\",L._colorsTexture,r));let yt=w.morphAttributes;if((yt.position!==void 0||yt.normal!==void 0||yt.color!==void 0)&&Re.update(L,w,Et),(Nt||pe.receiveShadow!==L.receiveShadow)&&(pe.receiveShadow=L.receiveShadow,Ke.setValue(S,\"receiveShadow\",L.receiveShadow)),(P.isMeshStandardMaterial||P.isMeshLambertMaterial||P.isMeshPhongMaterial)&&P.envMap===null&&x.environment!==null&&(st.envMapIntensity.value=x.environmentIntensity),st.dfgLUT!==void 0&&(st.dfgLUT.value=md()),Nt){if(Ke.setValue(S,\"toneMappingExposure\",y.toneMappingExposure),pe.needsLights&&na(st,zt),le&&P.fog===!0&&V.refreshFogUniforms(st,le),V.refreshMaterialUniforms(st,P,we,Ye,_.state.transmissionRenderTarget[o.id]),pe.needsLights&&pe.lightProbeGrid){let Ze=pe.lightProbeGrid;st.probesSH.value=Ze.texture,st.probesMin.value.copy(Ze.boundingBox.min),st.probesMax.value.copy(Ze.boundingBox.max),st.probesResolution.value.copy(Ze.resolution)}$t.upload(S,di(pe),st,r)}if(P.isShaderMaterial&&P.uniformsNeedUpdate===!0&&($t.upload(S,di(pe),st,r),P.uniformsNeedUpdate=!1),P.isSpriteMaterial&&Ke.setValue(S,\"center\",L.center),Ke.setValue(S,\"modelViewMatrix\",L.modelViewMatrix),Ke.setValue(S,\"normalMatrix\",L.normalMatrix),Ke.setValue(S,\"modelMatrix\",L.matrixWorld),P.uniformsGroups!==void 0){let Ze=P.uniformsGroups;for(let Ft=0,Xt=Ze.length;Ft<Xt;Ft++){let pi=Ze[Ft];W.update(pi,Et),W.bind(pi,Et)}}return Et}function na(o,x){o.ambientLightColor.needsUpdate=x,o.lightProbe.needsUpdate=x,o.directionalLights.needsUpdate=x,o.directionalLightShadows.needsUpdate=x,o.pointLights.needsUpdate=x,o.pointLightShadows.needsUpdate=x,o.spotLights.needsUpdate=x,o.spotLightShadows.needsUpdate=x,o.rectAreaLights.needsUpdate=x,o.hemisphereLights.needsUpdate=x}function ia(o){return o.isMeshLambertMaterial||o.isMeshToonMaterial||o.isMeshPhongMaterial||o.isMeshStandardMaterial||o.isShadowMaterial||o.isShaderMaterial&&o.lights===!0}this.getActiveCubeFace=function(){return $},this.getActiveMipmapLevel=function(){return Y},this.getRenderTarget=function(){return N},this.setRenderTargetTextures=function(o,x,w){let P=f.get(o);P.__autoAllocateDepthBuffer=o.resolveDepthBuffer===!1,P.__autoAllocateDepthBuffer===!1&&(P.__useRenderToTexture=!1),f.get(o.texture).__webglTexture=x,f.get(o.depthTexture).__webglTexture=P.__autoAllocateDepthBuffer?void 0:w,P.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(o,x){let w=f.get(o);w.__webglFramebuffer=x,w.__useDefaultFramebuffer=x===void 0};let ra=S.createFramebuffer();this.setRenderTarget=function(o,x=0,w=0){N=o,$=x,Y=w;let P=null,L=!1,le=!1;if(o){let se=f.get(o);if(se.__useDefaultFramebuffer!==void 0){ae.bindFramebuffer(S.FRAMEBUFFER,se.__webglFramebuffer),Q.copy(o.viewport),de.copy(o.scissor),ve=o.scissorTest,ae.viewport(Q),ae.scissor(de),ae.setScissorTest(ve),F=-1;return}else if(se.__webglFramebuffer===void 0)r.setupRenderTarget(o);else if(se.__hasExternalTextures)r.rebindTextures(o,f.get(o.texture).__webglTexture,f.get(o.depthTexture).__webglTexture);else if(o.depthBuffer){let Pe=o.depthTexture;if(se.__boundDepthTexture!==Pe){if(Pe!==null&&f.has(Pe)&&(o.width!==Pe.image.width||o.height!==Pe.image.height))throw new Error(\"WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.\");r.setupDepthRenderbuffer(o)}}let _e=o.texture;(_e.isData3DTexture||_e.isDataArrayTexture||_e.isCompressedArrayTexture)&&(le=!0);let Se=f.get(o).__webglFramebuffer;o.isWebGLCubeRenderTarget?(Array.isArray(Se[x])?P=Se[x][w]:P=Se[x],L=!0):o.samples>0&&r.useMultisampledRTT(o)===!1?P=f.get(o).__webglMultisampledFramebuffer:Array.isArray(Se)?P=Se[w]:P=Se,Q.copy(o.viewport),de.copy(o.scissor),ve=o.scissorTest}else Q.copy(te).multiplyScalar(we).floor(),de.copy(Me).multiplyScalar(we).floor(),ve=be;if(w!==0&&(P=ra),ae.bindFramebuffer(S.FRAMEBUFFER,P)&&ae.drawBuffers(o,P),ae.viewport(Q),ae.scissor(de),ae.setScissorTest(ve),L){let se=f.get(o.texture);S.framebufferTexture2D(S.FRAMEBUFFER,S.COLOR_ATTACHMENT0,S.TEXTURE_CUBE_MAP_POSITIVE_X+x,se.__webglTexture,w)}else if(le){let se=x;for(let _e=0;_e<o.textures.length;_e++){let Se=f.get(o.textures[_e]);S.framebufferTextureLayer(S.FRAMEBUFFER,S.COLOR_ATTACHMENT0+_e,Se.__webglTexture,w,se)}}else if(o!==null&&w!==0){let se=f.get(o.texture);S.framebufferTexture2D(S.FRAMEBUFFER,S.COLOR_ATTACHMENT0,S.TEXTURE_2D,se.__webglTexture,w)}F=-1},this.readRenderTargetPixels=function(o,x,w,P,L,le,me,se=0){if(!(o&&o.isWebGLRenderTarget)){Qe(\"WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");return}let _e=f.get(o).__webglFramebuffer;if(o.isWebGLCubeRenderTarget&&me!==void 0&&(_e=_e[me]),_e){ae.bindFramebuffer(S.FRAMEBUFFER,_e);try{let Se=o.textures[se],Pe=Se.format,De=Se.type;if(o.textures.length>1&&S.readBuffer(S.COLOR_ATTACHMENT0+se),!qe.textureFormatReadable(Pe)){Qe(\"WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");return}if(!qe.textureTypeReadable(De)){Qe(\"WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");return}x>=0&&x<=o.width-P&&w>=0&&w<=o.height-L&&S.readPixels(x,w,P,L,g.convert(Pe),g.convert(De),le)}finally{let Se=N!==null?f.get(N).__webglFramebuffer:null;ae.bindFramebuffer(S.FRAMEBUFFER,Se)}}},this.readRenderTargetPixelsAsync=async function(o,x,w,P,L,le,me,se=0){if(!(o&&o.isWebGLRenderTarget))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let _e=f.get(o).__webglFramebuffer;if(o.isWebGLCubeRenderTarget&&me!==void 0&&(_e=_e[me]),_e)if(x>=0&&x<=o.width-P&&w>=0&&w<=o.height-L){ae.bindFramebuffer(S.FRAMEBUFFER,_e);let Se=o.textures[se],Pe=Se.format,De=Se.type;if(o.textures.length>1&&S.readBuffer(S.COLOR_ATTACHMENT0+se),!qe.textureFormatReadable(Pe))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.\");if(!qe.textureTypeReadable(De))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.\");let Ee=S.createBuffer();S.bindBuffer(S.PIXEL_PACK_BUFFER,Ee),S.bufferData(S.PIXEL_PACK_BUFFER,le.byteLength,S.STREAM_READ),S.readPixels(x,w,P,L,g.convert(Pe),g.convert(De),0);let ze=N!==null?f.get(N).__webglFramebuffer:null;ae.bindFramebuffer(S.FRAMEBUFFER,ze);let ot=S.fenceSync(S.SYNC_GPU_COMMANDS_COMPLETE,0);return S.flush(),await Co(S,ot,4),S.bindBuffer(S.PIXEL_PACK_BUFFER,Ee),S.getBufferSubData(S.PIXEL_PACK_BUFFER,0,le),S.deleteBuffer(Ee),S.deleteSync(ot),le}else throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.\")},this.copyFramebufferToTexture=function(o,x=null,w=0){let P=Math.pow(2,-w),L=Math.floor(o.image.width*P),le=Math.floor(o.image.height*P),me=x!==null?x.x:0,se=x!==null?x.y:0;r.setTexture2D(o,0),S.copyTexSubImage2D(S.TEXTURE_2D,w,0,0,me,se,L,le),ae.unbindTexture()};let aa=S.createFramebuffer(),oa=S.createFramebuffer();this.copyTextureToTexture=function(o,x,w=null,P=null,L=0,le=0){let me,se,_e,Se,Pe,De,Ee,ze,ot,rt=o.isCompressedTexture?o.mipmaps[le]:o.image;if(w!==null)me=w.max.x-w.min.x,se=w.max.y-w.min.y,_e=w.isBox3?w.max.z-w.min.z:1,Se=w.min.x,Pe=w.min.y,De=w.isBox3?w.min.z:0;else{let st=Math.pow(2,-L);me=Math.floor(rt.width*st),se=Math.floor(rt.height*st),o.isDataArrayTexture?_e=rt.depth:o.isData3DTexture?_e=Math.floor(rt.depth*st):_e=1,Se=0,Pe=0,De=0}P!==null?(Ee=P.x,ze=P.y,ot=P.z):(Ee=0,ze=0,ot=0);let Xe=g.convert(x.format),ut=g.convert(x.type),pe;x.isData3DTexture?(r.setTexture3D(x,0),pe=S.TEXTURE_3D):x.isDataArrayTexture||x.isCompressedArrayTexture?(r.setTexture2DArray(x,0),pe=S.TEXTURE_2D_ARRAY):(r.setTexture2D(x,0),pe=S.TEXTURE_2D),ae.activeTexture(S.TEXTURE0),ae.pixelStorei(S.UNPACK_FLIP_Y_WEBGL,x.flipY),ae.pixelStorei(S.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x.premultiplyAlpha),ae.pixelStorei(S.UNPACK_ALIGNMENT,x.unpackAlignment);let gt=ae.getParameter(S.UNPACK_ROW_LENGTH),Be=ae.getParameter(S.UNPACK_IMAGE_HEIGHT),Et=ae.getParameter(S.UNPACK_SKIP_PIXELS),Mt=ae.getParameter(S.UNPACK_SKIP_ROWS),Nt=ae.getParameter(S.UNPACK_SKIP_IMAGES);ae.pixelStorei(S.UNPACK_ROW_LENGTH,rt.width),ae.pixelStorei(S.UNPACK_IMAGE_HEIGHT,rt.height),ae.pixelStorei(S.UNPACK_SKIP_PIXELS,Se),ae.pixelStorei(S.UNPACK_SKIP_ROWS,Pe),ae.pixelStorei(S.UNPACK_SKIP_IMAGES,De);let zt=o.isDataArrayTexture||o.isData3DTexture,Ke=x.isDataArrayTexture||x.isData3DTexture;if(o.isDepthTexture){let st=f.get(o),yt=f.get(x),Ze=f.get(st.__renderTarget),Ft=f.get(yt.__renderTarget);ae.bindFramebuffer(S.READ_FRAMEBUFFER,Ze.__webglFramebuffer),ae.bindFramebuffer(S.DRAW_FRAMEBUFFER,Ft.__webglFramebuffer);for(let Xt=0;Xt<_e;Xt++)zt&&(S.framebufferTextureLayer(S.READ_FRAMEBUFFER,S.COLOR_ATTACHMENT0,f.get(o).__webglTexture,L,De+Xt),S.framebufferTextureLayer(S.DRAW_FRAMEBUFFER,S.COLOR_ATTACHMENT0,f.get(x).__webglTexture,le,ot+Xt)),S.blitFramebuffer(Se,Pe,me,se,Ee,ze,me,se,S.DEPTH_BUFFER_BIT,S.NEAREST);ae.bindFramebuffer(S.READ_FRAMEBUFFER,null),ae.bindFramebuffer(S.DRAW_FRAMEBUFFER,null)}else if(L!==0||o.isRenderTargetTexture||f.has(o)){let st=f.get(o),yt=f.get(x);ae.bindFramebuffer(S.READ_FRAMEBUFFER,aa),ae.bindFramebuffer(S.DRAW_FRAMEBUFFER,oa);for(let Ze=0;Ze<_e;Ze++)zt?S.framebufferTextureLayer(S.READ_FRAMEBUFFER,S.COLOR_ATTACHMENT0,st.__webglTexture,L,De+Ze):S.framebufferTexture2D(S.READ_FRAMEBUFFER,S.COLOR_ATTACHMENT0,S.TEXTURE_2D,st.__webglTexture,L),Ke?S.framebufferTextureLayer(S.DRAW_FRAMEBUFFER,S.COLOR_ATTACHMENT0,yt.__webglTexture,le,ot+Ze):S.framebufferTexture2D(S.DRAW_FRAMEBUFFER,S.COLOR_ATTACHMENT0,S.TEXTURE_2D,yt.__webglTexture,le),L!==0?S.blitFramebuffer(Se,Pe,me,se,Ee,ze,me,se,S.COLOR_BUFFER_BIT,S.NEAREST):Ke?S.copyTexSubImage3D(pe,le,Ee,ze,ot+Ze,Se,Pe,me,se):S.copyTexSubImage2D(pe,le,Ee,ze,Se,Pe,me,se);ae.bindFramebuffer(S.READ_FRAMEBUFFER,null),ae.bindFramebuffer(S.DRAW_FRAMEBUFFER,null)}else Ke?o.isDataTexture||o.isData3DTexture?S.texSubImage3D(pe,le,Ee,ze,ot,me,se,_e,Xe,ut,rt.data):x.isCompressedArrayTexture?S.compressedTexSubImage3D(pe,le,Ee,ze,ot,me,se,_e,Xe,rt.data):S.texSubImage3D(pe,le,Ee,ze,ot,me,se,_e,Xe,ut,rt):o.isDataTexture?S.texSubImage2D(S.TEXTURE_2D,le,Ee,ze,me,se,Xe,ut,rt.data):o.isCompressedTexture?S.compressedTexSubImage2D(S.TEXTURE_2D,le,Ee,ze,rt.width,rt.height,Xe,rt.data):S.texSubImage2D(S.TEXTURE_2D,le,Ee,ze,me,se,Xe,ut,rt);ae.pixelStorei(S.UNPACK_ROW_LENGTH,gt),ae.pixelStorei(S.UNPACK_IMAGE_HEIGHT,Be),ae.pixelStorei(S.UNPACK_SKIP_PIXELS,Et),ae.pixelStorei(S.UNPACK_SKIP_ROWS,Mt),ae.pixelStorei(S.UNPACK_SKIP_IMAGES,Nt),le===0&&x.generateMipmaps&&S.generateMipmap(pe),ae.unbindTexture()},this.initRenderTarget=function(o){f.get(o).__webglFramebuffer===void 0&&r.setupRenderTarget(o)},this.initTexture=function(o){o.isCubeTexture?r.setTextureCube(o,0):o.isData3DTexture?r.setTexture3D(o,0):o.isDataArrayTexture||o.isCompressedArrayTexture?r.setTexture2DArray(o,0):r.setTexture2D(o,0),ae.unbindTexture()},this.resetState=function(){$=0,Y=0,N=null,ae.reset(),ee.reset()},typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}get coordinateSystem(){return er}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(n){this._outputColorSpace=n;let t=this.getContext();t.drawingBufferColorSpace=nt._getDrawingBufferColorSpace(n),t.unpackColorSpace=nt._getUnpackColorSpace()}};export{Nr as ACESFilmicToneMapping,nn as AddEquation,_a as AddOperation,Sd as AdditiveAnimationBlendMode,xi as AdditiveBlending,Ir as AgXToneMapping,go as AlphaFormat,co as AlwaysCompare,qa as AlwaysDepth,Ed as AlwaysStencilFunc,xd as AmbientLight,Md as AnimationAction,Td as AnimationClip,Ad as AnimationLoader,Rd as AnimationMixer,bd as AnimationObjectGroup,Cd as AnimationUtils,Pd as ArcCurve,xo as ArrayCamera,Ld as ArrowHelper,Ud as AttachedBindMode,Dd as Audio,wd as AudioAnalyser,Id as AudioContext,Nd as AudioListener,yd as AudioLoader,Fd as AxesHelper,St as BackSide,Od as BasicDepthPacking,Bd as BasicShadowMap,Gd as BatchedMesh,Hd as BezierInterpolant,Vd as Bone,kd as BooleanKeyframeTrack,Wd as Box2,zd as Box3,Xd as Box3Helper,ii as BoxGeometry,Kd as BoxHelper,vn as BufferAttribute,Rn as BufferGeometry,Yd as BufferGeometryLoader,mo as ByteType,qd as Cache,Zd as Camera,$d as CameraHelper,Qd as CanvasTexture,Jd as CapsuleGeometry,jd as CatmullRomCurve3,yr as CineonToneMapping,eu as CircleGeometry,Yn as ClampToEdgeWrapping,tu as Clock,je as Color,nu as ColorKeyframeTrack,nt as ColorManagement,iu as Compatibility,ru as CompressedArrayTexture,au as CompressedCubeTexture,ou as CompressedTexture,su as CompressedTextureLoader,lu as ConeGeometry,La as ConstantAlphaFactor,Da as ConstantColorFactor,cu as Controls,ca as CubeCamera,Ra as CubeDepthTexture,cn as CubeReflectionMapping,Jt as CubeRefractionMapping,Lr as CubeTexture,fu as CubeTextureLoader,An as CubeUVReflectionMapping,du as CubicBezierCurve,uu as CubicBezierCurve3,pu as CubicInterpolant,vi as CullFaceBack,Qa as CullFaceFront,hu as CullFaceFrontBack,$a as CullFaceNone,mu as Curve,_u as CurvePath,Ja as CustomBlending,Dr as CustomToneMapping,gu as CylinderGeometry,vu as Cylindrical,ha as Data3DTexture,Ur as DataArrayTexture,To as DataTexture,Su as DataTextureLoader,Eu as DataUtils,xu as DecrementStencilOp,Mu as DecrementWrapStencilOp,Tu as DefaultLoadingManager,en as DepthFormat,Zt as DepthStencilFormat,fn as DepthTexture,Au as DetachedBindMode,Ru as DirectionalLight,bu as DirectionalLightHelper,Cu as DiscreteInterpolant,Pu as DodecahedronGeometry,Lt as DoubleSide,Fa as DstAlphaFactor,Oa as DstColorFactor,Lu as DynamicCopyUsage,Uu as DynamicDrawUsage,Du as DynamicReadUsage,wu as EdgesGeometry,Iu as EllipseCurve,so as EqualCompare,Ka as EqualDepth,Nu as EqualStencilFunc,Un as EquirectangularReflectionMapping,Dn as EquirectangularRefractionMapping,yu as Euler,Eo as EventDispatcher,Xr as ExternalTexture,Fu as ExtrudeGeometry,Ou as FileLoader,Bu as Float16BufferAttribute,hi as Float32BufferAttribute,Ot as FloatType,Gu as Fog,Hu as FogExp2,Vu as FramebufferTexture,ln as FrontSide,Gr as Frustum,ku as FrustumArray,Wu as GLBufferAttribute,zu as GLSL1,mi as GLSL3,oo as GreaterCompare,za as GreaterDepth,ri as GreaterEqualCompare,Xa as GreaterEqualDepth,Xu as GreaterEqualStencilFunc,Ku as GreaterStencilFunc,Yu as GridHelper,qu as Group,Zu as HTMLTexture,Gt as HalfFloatType,$u as HemisphereLight,Qu as HemisphereLightHelper,Ju as IcosahedronGeometry,ju as ImageBitmapLoader,ep as ImageLoader,tp as ImageUtils,np as IncrementStencilOp,ip as IncrementWrapStencilOp,rp as InstancedBufferAttribute,ap as InstancedBufferGeometry,op as InstancedInterleavedBuffer,sp as InstancedMesh,lp as Int16BufferAttribute,cp as Int32BufferAttribute,fp as Int8BufferAttribute,br as IntType,dp as InterleavedBuffer,up as InterleavedBufferAttribute,pp as Interpolant,hp as InterpolateBezier,mp as InterpolateDiscrete,_p as InterpolateLinear,gp as InterpolateSmooth,vp as InterpolationSamplingMode,Sp as InterpolationSamplingType,Ep as InvertStencilOp,xp as KeepStencilOp,Mp as KeyframeTrack,Tp as LOD,Ap as LatheGeometry,xa as Layers,lo as LessCompare,Ya as LessDepth,ai as LessEqualCompare,gi as LessEqualDepth,Rp as LessEqualStencilFunc,bp as LessStencilFunc,Cp as Light,Pp as LightProbe,Lp as Line,Up as Line3,Dp as LineBasicMaterial,wp as LineCurve,Ip as LineCurve3,Np as LineDashedMaterial,yp as LineLoop,Fp as LineSegments,vt as LinearFilter,Op as LinearInterpolant,Bp as LinearMipMapLinearFilter,Gp as LinearMipMapNearestFilter,qt as LinearMipmapLinearFilter,wn as LinearMipmapNearestFilter,Pr as LinearSRGBColorSpace,Or as LinearToneMapping,Br as LinearTransfer,Hp as Loader,Vp as LoaderUtils,kp as LoadingManager,Wp as LoopOnce,zp as LoopPingPong,Xp as LoopRepeat,Kp as MOUSE,Yp as Material,qp as MaterialBlending,Zp as MaterialLoader,$p as MathUtils,Qp as Matrix2,Oe as Matrix3,Qt as Matrix4,to as MaxEquation,wt as Mesh,la as MeshBasicMaterial,Ma as MeshDepthMaterial,Ta as MeshDistanceMaterial,Jp as MeshLambertMaterial,jp as MeshMatcapMaterial,eh as MeshNormalMaterial,th as MeshPhongMaterial,nh as MeshPhysicalMaterial,ih as MeshStandardMaterial,rh as MeshToonMaterial,eo as MinEquation,no as MirroredRepeatWrapping,ga as MixOperation,Si as MultiplyBlending,va as MultiplyOperation,kt as NearestFilter,ah as NearestMipMapLinearFilter,oh as NearestMipMapNearestFilter,hn as NearestMipmapLinearFilter,ro as NearestMipmapNearestFilter,wr as NeutralToneMapping,fo as NeverCompare,Za as NeverDepth,sh as NeverStencilFunc,Dt as NoBlending,Yt as NoColorSpace,lh as NoNormalPacking,bt as NoToneMapping,ch as NormalAnimationBlendMode,En as NormalBlending,fh as NormalGAPacking,dh as NormalRGPacking,ao as NotEqualCompare,Wa as NotEqualDepth,uh as NotEqualStencilFunc,ph as NumberKeyframeTrack,hh as Object3D,mh as ObjectLoader,Ea as ObjectSpaceNormalMap,_h as OctahedronGeometry,Va as OneFactor,Pa as OneMinusConstantAlphaFactor,Ua as OneMinusConstantColorFactor,wa as OneMinusDstAlphaFactor,Ia as OneMinusDstColorFactor,Na as OneMinusSrcAlphaFactor,ya as OneMinusSrcColorFactor,Cr as OrthographicCamera,Sn as PCFShadowMap,Aa as PCFSoftShadowMap,Mn as PMREMGenerator,gh as Path,gn as PerspectiveCamera,sa as Plane,Ar as PlaneGeometry,vh as PlaneHelper,Sh as PointLight,Eh as PointLightHelper,xh as Points,Mh as PointsMaterial,Th as PolarGridHelper,Ah as PolyhedronGeometry,Rh as PositionalAudio,bh as PropertyBinding,Ch as PropertyMixer,Ph as QuadraticBezierCurve,Lh as QuadraticBezierCurve3,Uh as Quaternion,Dh as QuaternionKeyframeTrack,wh as QuaternionLinearInterpolant,Ui as R11_EAC_Format,Kn as RED_GREEN_RGTC2_Format,$i as RED_RGTC1_Format,bo as REVISION,Xn as RG11_EAC_Format,Ih as RGBADepthPacking,Ut as RGBAFormat,zr as RGBAIntegerFormat,zi as RGBA_ASTC_10x10_Format,Vi as RGBA_ASTC_10x5_Format,ki as RGBA_ASTC_10x6_Format,Wi as RGBA_ASTC_10x8_Format,Xi as RGBA_ASTC_12x10_Format,Ki as RGBA_ASTC_12x12_Format,Ii as RGBA_ASTC_4x4_Format,Ni as RGBA_ASTC_5x4_Format,yi as RGBA_ASTC_5x5_Format,Fi as RGBA_ASTC_6x5_Format,Oi as RGBA_ASTC_6x6_Format,Bi as RGBA_ASTC_8x5_Format,Gi as RGBA_ASTC_8x6_Format,Hi as RGBA_ASTC_8x8_Format,Yi as RGBA_BPTC_Format,Li as RGBA_ETC2_EAC_Format,bi as RGBA_PVRTC_2BPPV1_Format,Ri as RGBA_PVRTC_4BPPV1_Format,Nn as RGBA_S3TC_DXT1_Format,yn as RGBA_S3TC_DXT3_Format,Fn as RGBA_S3TC_DXT5_Format,Nh as RGBDepthPacking,vo as RGBFormat,yh as RGBIntegerFormat,qi as RGB_BPTC_SIGNED_Format,Zi as RGB_BPTC_UNSIGNED_Format,Ci as RGB_ETC1_Format,Pi as RGB_ETC2_Format,Ai as RGB_PVRTC_2BPPV1_Format,Ti as RGB_PVRTC_4BPPV1_Format,In as RGB_S3TC_DXT1_Format,Fh as RGDepthPacking,jt as RGFormat,Wr as RGIntegerFormat,pa as RawShaderMaterial,Oh as Ray,Bh as Raycaster,Gh as RectAreaLight,So as RedFormat,kr as RedIntegerFormat,Fr as ReinhardToneMapping,Hh as RenderTarget,Vh as RenderTarget3D,io as RepeatWrapping,kh as ReplaceStencilOp,ba as ReverseSubtractEquation,Wh as RingGeometry,Di as SIGNED_R11_EAC_Format,Ji as SIGNED_RED_GREEN_RGTC2_Format,Qi as SIGNED_RED_RGTC1_Format,wi as SIGNED_RG11_EAC_Format,Ro as SRGBColorSpace,$e as SRGBTransfer,zh as Scene,Ue as ShaderChunk,At as ShaderLib,It as ShaderMaterial,Xh as ShadowMaterial,Kh as Shape,Yh as ShapeGeometry,qh as ShapePath,Zh as ShapeUtils,_o as ShortType,$h as Skeleton,Qh as SkeletonHelper,Jh as SkinnedMesh,jh as Source,em as Sphere,tm as SphereGeometry,nm as Spherical,im as SphericalHarmonics3,rm as SplineCurve,am as SpotLight,om as SpotLightHelper,sm as Sprite,lm as SpriteMaterial,Ga as SrcAlphaFactor,Ba as SrcAlphaSaturateFactor,Ha as SrcColorFactor,cm as StaticCopyUsage,fm as StaticDrawUsage,dm as StaticReadUsage,um as StereoCamera,pm as StreamCopyUsage,hm as StreamDrawUsage,mm as StreamReadUsage,_m as StringKeyframeTrack,Ca as SubtractEquation,Ei as SubtractiveBlending,gm as TOUCH,_i as TangentSpaceNormalMap,vm as TetrahedronGeometry,ma as Texture,Sm as TextureLoader,Em as TextureUtils,xm as Timer,Mm as TimestampQuery,Tm as TorusGeometry,Am as TorusKnotGeometry,Rm as Triangle,bm as TriangleFanDrawMode,Cm as TriangleStripDrawMode,Pm as TrianglesDrawMode,Lm as TubeGeometry,Um as UVMapping,ua as Uint16BufferAttribute,da as Uint32BufferAttribute,Dm as Uint8BufferAttribute,wm as Uint8ClampedBufferAttribute,Im as Uniform,Nm as UniformsGroup,oe as UniformsLib,Sa as UniformsUtils,Rt as UnsignedByteType,ho as UnsignedInt101111Type,dn as UnsignedInt248Type,po as UnsignedInt5999Type,Wt as UnsignedIntType,Hr as UnsignedShort4444Type,Vr as UnsignedShort5551Type,xn as UnsignedShortType,on as VSMShadowMap,mt as Vector2,Fe as Vector3,ht as Vector4,ym as VectorKeyframeTrack,Fm as VideoFrameTexture,Om as VideoTexture,Bm as WebGL3DRenderTarget,Gm as WebGLArrayRenderTarget,er as WebGLCoordinateSystem,Tn as WebGLCubeRenderTarget,Ct as WebGLRenderTarget,Tr as WebGLRenderer,ld as WebGLUtils,Hm as WebGPUCoordinateSystem,On as WebXRController,Vm as WireframeGeometry,km as WrapAroundEnding,Wm as ZeroCurvatureEnding,ka as ZeroFactor,zm as ZeroSlopeEnding,Xm as ZeroStencilOp,Ao as createCanvasElement,Qe as error,Km as getConsoleFunction,ji as log,Ym as setConsoleFunction,He as warn,fa as warnOnce};\n/*! Bundled license information:\n\nthree/build/three.module.js:\n  (**\n   * @license\n   * Copyright 2010-2026 Three.js Authors\n   * SPDX-License-Identifier: MIT\n   *)\n*/\n//# sourceMappingURL=three.mjs.map","/* esm.sh - three@0.184.0 */\nimport \"/three@0.184.0/es2022/build/three.core.mjs\";\nexport * from \"/three@0.184.0/es2022/three.mjs\";\n","/* esm.sh - postprocessing@6.39.1 */\nimport{DepthStencilFormat as fi,DepthTexture as hi,FloatType as di,LinearFilter as Lt,SRGBColorSpace as ve,UnsignedByteType as Ft,UnsignedInt248Type as vi,Vector2 as ie,WebGLRenderTarget as Ot}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as gi,BufferAttribute as Nt,BufferGeometry as pi,Material as mi,Mesh as Ai,OrthographicCamera as xi,Scene as Gt,Texture as Ei,WebGLRenderTarget as Di}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{LinearFilter as Ht,SRGBColorSpace as kt,UnsignedByteType as Ci,WebGLRenderTarget as Si}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{AlwaysDepth as Bi,NoBlending as Mi,ShaderMaterial as Ii,Uniform as Le}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Color as yi}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{LinearSRGBColorSpace as Li}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BackSide as Fe,DoubleSide as Oe,FrontSide as Ni,ShaderMaterial as Gi}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{EventDispatcher as Hi,Vector2 as st}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{EventDispatcher as zi,Uniform as _i}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Color as ws,Uniform as nt,Vector2 as Cs,Vector4 as Ss}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{CanvasTexture as Bs,RepeatWrapping as Qt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as Is,EventDispatcher as Ps,LinearSRGBColorSpace as ys,Material as Us,NoColorSpace as Rs,Texture as bs,WebGLRenderTarget as Ls}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{SRGBColorSpace as Wt,Uniform as Yt,WebGLRenderTarget as Os}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{SRGBColorSpace as ot,UnsignedByteType as Ns,WebGLRenderTarget as Gs}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Hs,ShaderMaterial as ks,Uniform as Ne,Vector4 as Xt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{UnsignedByteType as Qs,WebGLRenderTarget as Ws}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Ys,REVISION as Xs,ShaderMaterial as Ks,Uniform as Ge}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{SRGBColorSpace as Kt,UnsignedByteType as Js,Vector2 as qs,WebGLRenderTarget as $s}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as ea,ShaderMaterial as ta,Uniform as Zt,Vector2 as ra}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as na,ShaderMaterial as oa,Uniform as He,Vector2 as la}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as ke}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{SRGBColorSpace as pa,Uniform as jt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as xa}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as Jt,Vector2 as Da}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as Sa,SRGBColorSpace as ge,Uniform as pe,UnsignedByteType as Ba,Vector3 as Ma,WebGLRenderTarget as Ia}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Pa,ShaderMaterial as ya,Uniform as se,Vector2 as Ua}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as ba,NoBlending as La,PerspectiveCamera as Fa,ShaderMaterial as Oa,Uniform as j}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Ha,ShaderMaterial as ka,Uniform as lt,UnsignedByteType as za}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{UnsignedByteType as Qa}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as qt,Vector2 as Xa}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as Ja}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NearestFilter as $a,RepeatWrapping as en,RGBAFormat as $t,Uniform as ae,Vector2 as ne}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{DataTexture as tn,RedFormat as si,RGFormat as rn,RGBAFormat as sn,UnsignedByteType as ai}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as on,DepthTexture as ln,Matrix4 as cn,Scene as un,SRGBColorSpace as Ve,Uniform as fn,Vector2 as hn,Vector3 as dn,Vector4 as vn,WebGLRenderTarget as er}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as gn,ShaderMaterial as pn,Uniform as J}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as rr,Vector2 as ir}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as sr,Vector3 as Dn}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as Qe,Vector2 as ut}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{FloatType as Cn,HalfFloatType as Sn,Uniform as Bn}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Data3DTexture as ft,FloatType as In,HalfFloatType as Pn,LinearFilter as ar,NearestFilter as nr,SRGBColorSpace as yn,Uniform as Ae,Vector3 as or}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Color as Un,ClampToEdgeWrapping as ht,DataTexture as Rn,Data3DTexture as bn,FloatType as q,LinearFilter as We,LinearSRGBColorSpace as lr,RGBAFormat as dt,SRGBColorSpace as Ln,UnsignedByteType as cr,Vector3 as ur}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Color as Ye,RepeatWrapping as kn,Uniform as Q,UnsignedByteType as zn,WebGLRenderTarget as dr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as _n,PerspectiveCamera as Vn,RGBADepthPacking as vr,ShaderMaterial as Qn,Uniform as vt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Kn,ShaderMaterial as Zn,Uniform as gr,Vector2 as pr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Color as $n,MeshDepthMaterial as eo,NearestFilter as mr,RGBADepthPacking as to,WebGLRenderTarget as ro}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as Ar,Vector2 as ao,Vector4 as no}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as k,Vector4 as lo}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as xr,Vector2 as uo}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as W,Vector2 as ho,Vector3 as bt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as mo,Color as Ao,NotEqualDepth as xo,EqualDepth as Dr,RGBADepthPacking as Eo,SRGBColorSpace as Tr,WebGLRenderTarget as Do}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{AlwaysDepth as To,BasicDepthPacking as wr,EqualDepth as wo,GreaterDepth as Co,GreaterEqualDepth as So,LessDepth as Cr,LessEqualDepth as Bo,NeverDepth as Mo,NoBlending as Io,NotEqualDepth as Po,PerspectiveCamera as yo,ShaderMaterial as Uo,Uniform as Xe,Vector2 as Ro}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as gt,Vector3 as pt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as Oo,Color as No,LinearFilter as Sr,LoadingManager as Go,NearestFilter as Br,Texture as Mr,Uniform as Ho,WebGLRenderTarget as ko}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as zo,NoBlending as _o,REVISION as Vo,ShaderMaterial as Qo,Uniform as Ke,Vector2 as Wo}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Zo,ShaderMaterial as jo,Uniform as Te,Vector2 as Ir}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as rl,Color as il,RepeatWrapping as sl,RGBAFormat as al,Uniform as oe,WebGLRenderTarget as nl}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as ol,Matrix4 as Pr,NoBlending as ll,PerspectiveCamera as cl,ShaderMaterial as ul,Uniform as b,Vector2 as le}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as vl,FloatType as gl,NearestFilter as yr,WebGLRenderTarget as pl}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as ml,NoBlending as Al,ShaderMaterial as xl,Uniform as mt,Vector2 as El}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as At,UnsignedByteType as Bl}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{SRGBColorSpace as Rr,Uniform as xt,Vector2 as br,WebGLRenderTarget as Pl}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as Et,Vector2 as yl,Vector4 as Ul}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{LinearMipmapLinearFilter as Gl,REVISION as Hl,Uniform as we,WebGLRenderTarget as kl}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NearestFilter as Lr,WebGLRenderTarget as zl}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as _l,ShaderMaterial as Vl,Uniform as Ce}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Uniform as Fr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{FileLoader as Zl,Loader as jl,LoadingManager as Or}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{FileLoader as Jl,Loader as ql,LoadingManager as Nr,Vector3 as Gr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Loader as $l,LoadingManager as ec}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as tc,PerspectiveCamera as rc,ShaderMaterial as ic,Uniform as ce,Vector2 as Hr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as oc,NoBlending as lc,ShaderMaterial as cc,Uniform as kr,Vector2 as uc}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as vc,NoBlending as gc,PerspectiveCamera as pc,REVISION as mc,ShaderMaterial as Ac,Uniform as Y,Vector2 as zr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{NoBlending as Tc,ShaderMaterial as wc,Uniform as Se,Vector2 as _r}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as Mc,SRGBColorSpace as Dt,UnsignedByteType as Ic,WebGLRenderTarget as Vr}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as Pc,FloatType as yc,REVISION as Uc,RGBADepthPacking as Tt}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as Rc,FloatType as bc,NearestFilter as Qr,RGBADepthPacking as Wr,UnsignedByteType as Lc,WebGLRenderTarget as Fc}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{BasicDepthPacking as zc,NoColorSpace as _c,SRGBColorSpace as ci,UnsignedByteType as Vc}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{SRGBColorSpace as wt,UnsignedByteType as Wc,WebGLRenderTarget as Yc}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{Color as Xc,MeshNormalMaterial as Kc,NearestFilter as Xr,WebGLRenderTarget as Zc}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";import{LoadingManager as iu}from\"/three@>=%200.168.0%20<%200.185.0?target=es2022\";var lu=\"6.39.1\",cu=class{dispose(){}},Ti=(()=>{let e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]),r=new pi;return r.setAttribute(\"position\",new Nt(e,3)),r.setAttribute(\"uv\",new Nt(t,2)),r})(),P=class Mt{static get fullscreenGeometry(){return Ti}constructor(t=\"Pass\",r=new Gt,i=new xi){this.name=t,this.renderer=null,this.scene=r,this.camera=i,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthBlit=!1,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(t){if(this.rtt===t){let r=this.fullscreenMaterial;r!==null&&(r.needsUpdate=!0),this.rtt=!t}}set mainScene(t){}set mainCamera(t){}setRenderer(t){this.renderer=t}isEnabled(){return this.enabled}setEnabled(t){this.enabled=t}get fullscreenMaterial(){return this.screen!==null?this.screen.material:null}set fullscreenMaterial(t){let r=this.screen;r!==null?r.material=t:(r=new Ai(Mt.fullscreenGeometry,t),r.frustumCulled=!1,this.scene===null&&(this.scene=new Gt),this.scene.add(r),this.screen=r)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(t){this.fullscreenMaterial=t}getDepthTexture(){return null}setDepthTexture(t,r=gi){}render(t,r,i,s,n){throw new Error(\"Render method not implemented!\")}setSize(t,r){}initialize(t,r,i){}dispose(){for(let t of Object.keys(this)){let r=this[t];(r instanceof Di||r instanceof mi||r instanceof Ei||r instanceof Mt)&&this[t].dispose()}this.fullscreenMaterial!==null&&this.fullscreenMaterial.dispose()}},wi=class extends P{constructor(){super(\"ClearMaskPass\",null,null),this.needsSwap=!1}render(e,t,r,i,s){let n=e.state.buffers.stencil;n.setLocked(!1),n.setTest(!1)}},Pi=`#ifdef COLOR_WRITE\n#include <common>\n#include <dithering_pars_fragment>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#endif\n#ifdef DEPTH_WRITE\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}\n#endif\n#ifdef USE_WEIGHTS\nuniform vec4 channelWeights;\n#endif\nuniform float opacity;varying vec2 vUv;void main(){\n#ifdef COLOR_WRITE\nvec4 texel=texture2D(inputBuffer,vUv);\n#ifdef USE_WEIGHTS\ntexel*=channelWeights;\n#endif\ngl_FragColor=opacity*texel;\n#ifdef COLOR_SPACE_CONVERSION\n#include <colorspace_fragment>\n#endif\n#include <dithering_fragment>\n#else\ngl_FragColor=vec4(0.0);\n#endif\n#ifdef DEPTH_WRITE\ngl_FragDepth=readDepth(vUv);\n#endif\n}`,K=\"varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}\",$e=class extends Ii{constructor(){super({name:\"CopyMaterial\",defines:{COLOR_SPACE_CONVERSION:\"1\",DEPTH_PACKING:\"0\",COLOR_WRITE:\"1\"},uniforms:{inputBuffer:new Le(null),depthBuffer:new Le(null),channelWeights:new Le(null),opacity:new Le(1)},blending:Mi,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Pi,vertexShader:K}),this.depthFunc=Bi}get inputBuffer(){return this.uniforms.inputBuffer.value}set inputBuffer(e){let t=e!==null;this.colorWrite!==t&&(t?this.defines.COLOR_WRITE=!0:delete this.defines.COLOR_WRITE,this.colorWrite=t,this.needsUpdate=!0),this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){let t=e!==null;this.depthWrite!==t&&(t?this.defines.DEPTH_WRITE=!0:delete this.defines.DEPTH_WRITE,this.depthTest=t,this.depthWrite=t,this.needsUpdate=!0),this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}get colorSpaceConversion(){return this.defines.COLOR_SPACE_CONVERSION!==void 0}set colorSpaceConversion(e){this.colorSpaceConversion!==e&&(e?this.defines.COLOR_SPACE_CONVERSION=!0:delete this.defines.COLOR_SPACE_CONVERSION,this.needsUpdate=!0)}get channelWeights(){return this.uniforms.channelWeights.value}set channelWeights(e){e!==null?(this.defines.USE_WEIGHTS=\"1\",this.uniforms.channelWeights.value=e):delete this.defines.USE_WEIGHTS,this.needsUpdate=!0}setInputBuffer(e){this.uniforms.inputBuffer.value=e}getOpacity(e){return this.uniforms.opacity.value}setOpacity(e){this.uniforms.opacity.value=e}},Ut=class extends P{constructor(e,t=!0){super(\"CopyPass\"),this.fullscreenMaterial=new $e,this.needsSwap=!1,this.renderTarget=e,e===void 0&&(this.renderTarget=new Si(1,1,{minFilter:Ht,magFilter:Ht,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name=\"CopyPass.Target\"),this.autoResize=t}get resize(){return this.autoResize}set resize(e){this.autoResize=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}setAutoResizeEnabled(e){this.autoResize=e}render(e,t,r,i,s){this.fullscreenMaterial.inputBuffer=t.texture,e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){this.autoResize&&this.renderTarget.setSize(e,t)}initialize(e,t,r){r!==void 0&&(this.renderTarget.texture.type=r,r!==Ci?this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\":e!==null&&e.outputColorSpace===kt&&(this.renderTarget.texture.colorSpace=kt))}},zt=new yi,Ue=class extends P{constructor(e=!0,t=!0,r=!1){super(\"ClearPass\",null,null),this.needsSwap=!1,this.color=e,this.depth=t,this.stencil=r,this.overrideClearColor=null,this.overrideClearAlpha=-1}setClearFlags(e,t,r){this.color=e,this.depth=t,this.stencil=r}getOverrideClearColor(){return this.overrideClearColor}setOverrideClearColor(e){this.overrideClearColor=e}getOverrideClearAlpha(){return this.overrideClearAlpha}setOverrideClearAlpha(e){this.overrideClearAlpha=e}render(e,t,r,i,s){let n=this.overrideClearColor,a=this.overrideClearAlpha,o=e.getClearAlpha(),l=n!==null,c=a>=0;l?(e.getClearColor(zt),e.setClearColor(n,c?a:o)):c&&e.setClearAlpha(a),e.setRenderTarget(this.renderToScreen?null:t),e.clear(this.color,this.depth,this.stencil),l?e.setClearColor(zt,o):c&&e.setClearAlpha(o)}},Ui=class extends P{constructor(e,t){super(\"MaskPass\",e,t),this.needsSwap=!1,this.clearPass=new Ue(!1,!1,!0),this.inverse=!1}set mainScene(e){this.scene=e}set mainCamera(e){this.camera=e}get inverted(){return this.inverse}set inverted(e){this.inverse=e}get clear(){return this.clearPass.enabled}set clear(e){this.clearPass.enabled=e}getClearPass(){return this.clearPass}isInverted(){return this.inverted}setInverted(e){this.inverted=e}render(e,t,r,i,s){let n=e.getContext(),a=e.state.buffers,o=this.scene,l=this.camera,c=this.clearPass,f=this.inverted?0:1,u=1-f;a.color.setMask(!1),a.depth.setMask(!1),a.color.setLocked(!0),a.depth.setLocked(!0),a.stencil.setTest(!0),a.stencil.setOp(n.REPLACE,n.REPLACE,n.REPLACE),a.stencil.setFunc(n.ALWAYS,f,4294967295),a.stencil.setClear(u),a.stencil.setLocked(!0),this.clearPass.enabled&&(this.renderToScreen?c.render(e,null):(c.render(e,t),c.render(e,r))),this.renderToScreen?(e.setRenderTarget(null),e.render(o,l)):(e.setRenderTarget(t),e.render(o,l),e.setRenderTarget(r),e.render(o,l)),a.color.setLocked(!1),a.depth.setLocked(!1),a.stencil.setLocked(!1),a.stencil.setFunc(n.EQUAL,1,4294967295),a.stencil.setOp(n.KEEP,n.KEEP,n.KEEP),a.stencil.setLocked(!0)}},rt=1/1e3,Ri=1e3,bi=class{constructor(){this.startTime=performance.now(),this.previousTime=0,this.currentTime=0,this._delta=0,this._elapsed=0,this._fixedDelta=1e3/60,this.timescale=1,this.useFixedDelta=!1,this._autoReset=!1}get autoReset(){return this._autoReset}set autoReset(e){typeof document<\"u\"&&document.hidden!==void 0&&(e?document.addEventListener(\"visibilitychange\",this):document.removeEventListener(\"visibilitychange\",this),this._autoReset=e)}get delta(){return this._delta*rt}get fixedDelta(){return this._fixedDelta*rt}set fixedDelta(e){this._fixedDelta=e*Ri}get elapsed(){return this._elapsed*rt}update(e){this.useFixedDelta?this._delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=(e!==void 0?e:performance.now())-this.startTime,this._delta=this.currentTime-this.previousTime),this._delta*=this.timescale,this._elapsed+=this._delta}reset(){this._delta=0,this._elapsed=0,this.currentTime=performance.now()-this.startTime}getDelta(){return this.delta}getElapsed(){return this.elapsed}handleEvent(e){document.hidden||(this.currentTime=performance.now()-this.startTime)}dispose(){this.autoReset=!1}},gu=class{constructor(e=null,{depthBuffer:t=!0,stencilBuffer:r=!1,multisampling:i=0,frameBufferType:s}={}){this.renderer=null,this.inputBuffer=this.createBuffer(t,r,s,i),this.outputBuffer=this.inputBuffer.clone(),this.copyPass=new Ut,this.depthTexture=null,this.depthRenderTarget=null,this.passes=[],this.timer=new bi,this.autoRenderToScreen=!0,this.setRenderer(e)}get multisampling(){return this.inputBuffer.samples}set multisampling(e){let t=this.inputBuffer,r=this.multisampling;r>0&&e>0?(this.inputBuffer.samples=e,this.outputBuffer.samples=e,this.inputBuffer.dispose(),this.outputBuffer.dispose()):r!==e&&(this.inputBuffer.dispose(),this.outputBuffer.dispose(),this.inputBuffer=this.createBuffer(t.depthBuffer,t.stencilBuffer,t.texture.type,e),this.outputBuffer=this.inputBuffer.clone())}getTimer(){return this.timer}getRenderer(){return this.renderer}setRenderer(e){if(this.renderer=e,e!==null){let t=e.getSize(new ie),r=e.getContext().getContextAttributes().alpha,i=this.inputBuffer.texture.type;i===Ft&&e.outputColorSpace===ve&&(this.inputBuffer.texture.colorSpace=ve,this.outputBuffer.texture.colorSpace=ve,this.inputBuffer.dispose(),this.outputBuffer.dispose()),e.autoClear=!1,this.setSize(t.width,t.height);for(let s of this.passes)s.initialize(e,r,i)}}replaceRenderer(e,t=!0){let r=this.renderer,i=r.domElement.parentNode;return this.setRenderer(e),t&&i!==null&&(i.removeChild(r.domElement),i.appendChild(e.domElement)),r}createDepthTexture(){let e=this.inputBuffer,t=new hi;this.depthTexture=t,e.stencilBuffer?(t.format=fi,t.type=vi):t.type=di;let r=t.clone();return r.name=\"EffectComposer.StableDepth\",this.depthRenderTarget=new Ot(e.width,e.height,{depthBuffer:!0,stencilBuffer:e.stencilBuffer,depthTexture:r}),r}blitDepthBuffer(e){let t=this.renderer,r=this.depthRenderTarget,i=t.properties,s=t.getContext();t.setRenderTarget(r);let n=i.get(e).__webglFramebuffer,a=i.get(r).__webglFramebuffer,o=e.stencilBuffer?s.DEPTH_BUFFER_BIT|s.STENCIL_BUFFER_BIT:s.DEPTH_BUFFER_BIT;s.bindFramebuffer(s.READ_FRAMEBUFFER,n),s.bindFramebuffer(s.DRAW_FRAMEBUFFER,a),s.blitFramebuffer(0,0,e.width,e.height,0,0,r.width,r.height,o,s.NEAREST),s.bindFramebuffer(s.READ_FRAMEBUFFER,null),s.bindFramebuffer(s.DRAW_FRAMEBUFFER,null),t.setRenderTarget(null)}deleteDepthTexture(){if(this.depthTexture!==null){this.depthTexture.dispose(),this.depthTexture=null,this.depthRenderTarget.dispose(),this.depthRenderTarget=null,this.inputBuffer.depthTexture=null,this.outputBuffer.depthTexture=null;for(let e of this.passes)e.setDepthTexture(null)}}createBuffer(e,t,r,i){let s=this.renderer,n=s===null?new ie:s.getDrawingBufferSize(new ie),a={minFilter:Lt,magFilter:Lt,stencilBuffer:t,depthBuffer:e,type:r},o=new Ot(n.width,n.height,a);return i>0&&(o.samples=i),r===Ft&&s!==null&&s.outputColorSpace===ve&&(o.texture.colorSpace=ve),o.texture.name=\"EffectComposer.Buffer\",o.texture.generateMipmaps=!1,o}setMainScene(e){for(let t of this.passes)t.mainScene=e}setMainCamera(e){for(let t of this.passes)t.mainCamera=e}addPass(e,t){let r=this.passes,i=this.renderer,s=i.getDrawingBufferSize(new ie),n=i.getContext().getContextAttributes().alpha,a=this.inputBuffer.texture.type;if(e.renderer=i,e.setSize(s.width,s.height),e.initialize(i,n,a),this.autoRenderToScreen&&(r.length>0&&(r[r.length-1].renderToScreen=!1),e.renderToScreen&&(this.autoRenderToScreen=!1)),t!==void 0?r.splice(t,0,e):r.push(e),this.autoRenderToScreen&&(r[r.length-1].renderToScreen=!0),e.needsDepthTexture||this.depthTexture!==null)if(this.depthTexture===null){let o=this.createDepthTexture();for(e of r)e.setDepthTexture(o)}else{let o=this.depthRenderTarget.depthTexture;e.setDepthTexture(o)}}removePass(e){let t=this.passes,r=t.indexOf(e);if(r!==-1&&t.splice(r,1).length>0){if(this.depthTexture!==null){let n=(o,l)=>o||l.needsDepthTexture;if(!t.reduce(n,!1)){let o=this.depthRenderTarget.depthTexture;e.getDepthTexture()===o&&e.setDepthTexture(null),this.deleteDepthTexture()}}this.autoRenderToScreen&&r===t.length&&(e.renderToScreen=!1,t.length>0&&(t[t.length-1].renderToScreen=!0))}}removeAllPasses(){let e=this.passes;this.deleteDepthTexture(),e.length>0&&(this.autoRenderToScreen&&(e[e.length-1].renderToScreen=!1),this.passes=[])}render(e){let t=this.renderer,r=this.copyPass,i=this.inputBuffer,s=this.outputBuffer,n,a=!1;e===void 0&&(this.timer.update(),e=this.timer.getDelta());for(let o of this.passes)if(o.enabled){if(i.depthTexture=this.depthTexture,s.depthTexture=null,o.render(t,i,s,e,a),o.needsDepthBlit&&this.depthRenderTarget!==null&&this.blitDepthBuffer(i),o.needsSwap){if(a){r.renderToScreen=o.renderToScreen;let l=t.getContext(),c=t.state.buffers.stencil;c.setFunc(l.NOTEQUAL,1,4294967295),r.render(t,i,s,e,a),c.setFunc(l.EQUAL,1,4294967295)}n=i,i=s,s=n}o instanceof Ui?a=!0:o instanceof wi&&(a=!1)}}setSize(e,t,r){let i=this.renderer,s=i.getSize(new ie);(e===void 0||t===void 0)&&(e=s.width,t=s.height),(s.width!==e||s.height!==t)&&i.setSize(e,t,r);let n=i.getDrawingBufferSize(new ie);this.inputBuffer.setSize(n.width,n.height),this.outputBuffer.setSize(n.width,n.height),this.depthRenderTarget!==null&&this.depthRenderTarget.setSize(n.width,n.height);for(let a of this.passes)a.setSize(n.width,n.height)}reset(){this.dispose(),this.autoRenderToScreen=!0}dispose(){for(let e of this.passes)e.dispose();this.passes=[],this.inputBuffer!==null&&this.inputBuffer.dispose(),this.outputBuffer!==null&&this.outputBuffer.dispose(),this.deleteDepthTexture(),this.copyPass.dispose(),this.timer.dispose(),P.fullscreenGeometry.dispose()}},y={NONE:0,DEPTH:1,CONVOLUTION:2},T={FRAGMENT_HEAD:\"FRAGMENT_HEAD\",FRAGMENT_MAIN_UV:\"FRAGMENT_MAIN_UV\",FRAGMENT_MAIN_IMAGE:\"FRAGMENT_MAIN_IMAGE\",VERTEX_HEAD:\"VERTEX_HEAD\",VERTEX_MAIN_SUPPORT:\"VERTEX_MAIN_SUPPORT\"},Fi=class{constructor(){this.shaderParts=new Map([[T.FRAGMENT_HEAD,null],[T.FRAGMENT_MAIN_UV,null],[T.FRAGMENT_MAIN_IMAGE,null],[T.VERTEX_HEAD,null],[T.VERTEX_MAIN_SUPPORT,null]]),this.defines=new Map,this.uniforms=new Map,this.blendModes=new Map,this.extensions=new Set,this.attributes=y.NONE,this.varyings=new Set,this.uvTransformation=!1,this.readDepth=!1,this.colorSpace=Li}};function _t(e){let t;if(e===0)t=new Float64Array(0);else if(e===1)t=new Float64Array([1]);else if(e>1){let r=new Float64Array(e),i=new Float64Array(e);for(let s=1;s<=e;++s){for(let n=0;n<s;++n)i[n]=n===0||n===s-1?1:r[n-1]+r[n];t=i,i=r,r=t}}return t}var Oi=class{constructor(e,t=2){this.weights=null,this.offsets=null,this.linearWeights=null,this.linearOffsets=null,this.generate(e,t)}get steps(){return this.offsets===null?0:this.offsets.length}get linearSteps(){return this.linearOffsets===null?0:this.linearOffsets.length}generate(e,t){if(e<3||e>1020)throw new Error(\"The kernel size must be in the range [3, 1020]\");let r=e+t*2,i=t>0?_t(r).slice(t,-t):_t(r),s=Math.floor((i.length-1)/2),n=i.reduce((u,h)=>u+h,0),a=i.slice(s),o=[...Array(s+1).keys()],l=new Float64Array(Math.floor(o.length/2)),c=new Float64Array(l.length);l[0]=a[0]/n;for(let u=1,h=1,d=o.length-1;u<d;u+=2,++h){let p=o[u],v=o[u+1],m=a[u],D=a[u+1],E=m+D,x=(p*m+v*D)/E;l[h]=E/n,c[h]=x}for(let u=0,h=a.length,d=1/n;u<h;++u)a[u]*=d;let f=(l.reduce((u,h)=>u+h,0)-l[0]*.5)*2;if(f!==0)for(let u=0,h=l.length,d=1/f;u<h;++u)l[u]*=d;this.offsets=o,this.weights=a,this.linearOffsets=c,this.linearWeights=l}},mu=class{getDelta(){return NaN}getElapsed(){return NaN}},Au=class{initialize(e,t,r){}},it=!1,Vt=class{constructor(e=null){this.originalMaterials=new Map,this.material=null,this.materials=null,this.materialsBackSide=null,this.materialsDoubleSide=null,this.materialsFlatShaded=null,this.materialsFlatShadedBackSide=null,this.materialsFlatShadedDoubleSide=null,this.setMaterial(e),this.meshCount=0,this.replaceMaterial=t=>{if(t.isMesh){let r;if(t.material.flatShading)switch(t.material.side){case Oe:r=this.materialsFlatShadedDoubleSide;break;case Fe:r=this.materialsFlatShadedBackSide;break;default:r=this.materialsFlatShaded;break}else switch(t.material.side){case Oe:r=this.materialsDoubleSide;break;case Fe:r=this.materialsBackSide;break;default:r=this.materials;break}this.originalMaterials.set(t,t.material),t.isSkinnedMesh?t.material=r[2]:t.isInstancedMesh?t.material=r[1]:t.material=r[0],++this.meshCount}}}cloneMaterial(e){if(!(e instanceof Gi))return e.clone();let t=e.uniforms,r=new Map;for(let s in t){let n=t[s].value;n.isRenderTargetTexture&&(t[s].value=null,r.set(s,n))}let i=e.clone();for(let s of r)t[s[0]].value=s[1],i.uniforms[s[0]].value=s[1];return i}setMaterial(e){if(this.disposeMaterials(),this.material=e,e!==null){let t=this.materials=[this.cloneMaterial(e),this.cloneMaterial(e),this.cloneMaterial(e)];for(let r of t)r.uniforms=Object.assign({},e.uniforms),r.side=Ni;t[2].skinning=!0,this.materialsBackSide=t.map(r=>{let i=this.cloneMaterial(r);return i.uniforms=Object.assign({},e.uniforms),i.side=Fe,i}),this.materialsDoubleSide=t.map(r=>{let i=this.cloneMaterial(r);return i.uniforms=Object.assign({},e.uniforms),i.side=Oe,i}),this.materialsFlatShaded=t.map(r=>{let i=this.cloneMaterial(r);return i.uniforms=Object.assign({},e.uniforms),i.flatShading=!0,i}),this.materialsFlatShadedBackSide=t.map(r=>{let i=this.cloneMaterial(r);return i.uniforms=Object.assign({},e.uniforms),i.flatShading=!0,i.side=Fe,i}),this.materialsFlatShadedDoubleSide=t.map(r=>{let i=this.cloneMaterial(r);return i.uniforms=Object.assign({},e.uniforms),i.flatShading=!0,i.side=Oe,i})}}render(e,t,r){let i=e.shadowMap.enabled;if(e.shadowMap.enabled=!1,it){let s=this.originalMaterials;this.meshCount=0,t.traverse(this.replaceMaterial),e.render(t,r);for(let n of s)n[0].material=n[1];this.meshCount!==s.size&&s.clear()}else{let s=t.overrideMaterial;t.overrideMaterial=this.material,e.render(t,r),t.overrideMaterial=s}e.shadowMap.enabled=i}disposeMaterials(){if(this.material!==null){let e=this.materials.concat(this.materialsBackSide).concat(this.materialsDoubleSide).concat(this.materialsFlatShaded).concat(this.materialsFlatShadedBackSide).concat(this.materialsFlatShadedDoubleSide);for(let t of e)t.dispose()}}dispose(){this.originalMaterials.clear(),this.disposeMaterials()}static get workaroundEnabled(){return it}static set workaroundEnabled(e){it=e}},Eu=class{setSize(e,t){}},V=-1,A=class extends Hi{constructor(e=null,t=V,r=V,i=1){super(),e!==null&&this.addEventListener(\"change\",()=>e.setSize(this.baseSize.width,this.baseSize.height)),this.baseSize=new st(1,1),this.preferredSize=new st(t,r),this.target=this.preferredSize,this.s=i,this.effectiveSize=new st,this.addEventListener(\"change\",()=>this.updateEffectiveSize()),this.updateEffectiveSize()}updateEffectiveSize(){let e=this.baseSize,t=this.preferredSize,r=this.effectiveSize,i=this.scale;t.width!==V?r.width=t.width:t.height!==V?r.width=Math.round(t.height*(e.width/Math.max(e.height,1))):r.width=Math.round(e.width*i),t.height!==V?r.height=t.height:t.width!==V?r.height=Math.round(t.width/Math.max(e.width/Math.max(e.height,1),1)):r.height=Math.round(e.height*i)}get width(){return this.effectiveSize.width}set width(e){this.preferredWidth=e}get height(){return this.effectiveSize.height}set height(e){this.preferredHeight=e}getWidth(){return this.width}getHeight(){return this.height}get scale(){return this.s}set scale(e){this.s!==e&&(this.s=e,this.preferredSize.setScalar(V),this.dispatchEvent({type:\"change\"}))}getScale(){return this.scale}setScale(e){this.scale=e}get baseWidth(){return this.baseSize.width}set baseWidth(e){this.baseSize.width!==e&&(this.baseSize.width=e,this.dispatchEvent({type:\"change\"}))}getBaseWidth(){return this.baseWidth}setBaseWidth(e){this.baseWidth=e}get baseHeight(){return this.baseSize.height}set baseHeight(e){this.baseSize.height!==e&&(this.baseSize.height=e,this.dispatchEvent({type:\"change\"}))}getBaseHeight(){return this.baseHeight}setBaseHeight(e){this.baseHeight=e}setBaseSize(e,t){(this.baseSize.width!==e||this.baseSize.height!==t)&&(this.baseSize.set(e,t),this.dispatchEvent({type:\"change\"}))}get preferredWidth(){return this.preferredSize.width}set preferredWidth(e){this.preferredSize.width!==e&&(this.preferredSize.width=e,this.dispatchEvent({type:\"change\"}))}getPreferredWidth(){return this.preferredWidth}setPreferredWidth(e){this.preferredWidth=e}get preferredHeight(){return this.preferredSize.height}set preferredHeight(e){this.preferredSize.height!==e&&(this.preferredSize.height=e,this.dispatchEvent({type:\"change\"}))}getPreferredHeight(){return this.preferredHeight}setPreferredHeight(e){this.preferredHeight=e}setPreferredSize(e,t){(this.preferredSize.width!==e||this.preferredSize.height!==t)&&(this.preferredSize.set(e,t),this.dispatchEvent({type:\"change\"}))}copy(e){this.s=e.scale,this.baseSize.set(e.baseWidth,e.baseHeight),this.preferredSize.set(e.preferredWidth,e.preferredHeight),this.dispatchEvent({type:\"change\"})}static get AUTO_SIZE(){return V}},ki=class{constructor(e=0){this.nextId=e}getNextId(){return this.nextId++}reset(e=0){return this.nextId=e,this}},at=new ki(2),ei=class extends Set{constructor(e,t=at.getNextId()){super(),this.exclusive=!1,this._layer=t,(this._layer<1||this._layer>31)&&(console.warn(\"Layer out of range, resetting to 2\"),at.reset(2),this._layer=at.getNextId()),e!==void 0&&this.set(e)}get layer(){return this._layer}set layer(e){let t=this._layer;for(let r of this)r.layers.disable(t),r.layers.enable(e);this._layer=e}getLayer(){return this.layer}setLayer(e){this.layer=e}isExclusive(){return this.exclusive}setExclusive(e){this.exclusive=e}clear(){let e=this.layer;for(let t of this)t.layers.disable(e);return super.clear()}set(e){this.clear();for(let t of e)this.add(t);return this}indexOf(e){return this.has(e)?0:-1}add(e){return this.exclusive?e.layers.set(this.layer):e.layers.enable(this.layer),super.add(e)}delete(e){return this.has(e)&&e.layers.disable(this.layer),super.delete(e)}toggle(e){let t;return this.has(e)?(this.delete(e),t=!1):(this.add(e),t=!0),t}setVisible(e){for(let t of this)e?t.layers.enable(0):t.layers.disable(0);return this}},g={SKIP:9,SET:30,ADD:0,ALPHA:1,AVERAGE:2,COLOR:3,COLOR_BURN:4,COLOR_DODGE:5,DARKEN:6,DIFFERENCE:7,DIVIDE:8,DST:9,EXCLUSION:10,HARD_LIGHT:11,HARD_MIX:12,HUE:13,INVERT:14,INVERT_RGB:15,LIGHTEN:16,LINEAR_BURN:17,LINEAR_DODGE:18,LINEAR_LIGHT:19,LUMINOSITY:20,MULTIPLY:21,NEGATION:22,NORMAL:23,OVERLAY:24,PIN_LIGHT:25,REFLECT:26,SATURATION:27,SCREEN:28,SOFT_LIGHT:29,SRC:30,SUBTRACT:31,VIVID_LIGHT:32},Vi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Qi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return mix(dst,src,src.a*opacity);}\",Wi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=(dst.rgb+src.rgb)*0.5;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Yi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(b.xy,a.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Xi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=dst.rgb,b=src.rgb;vec3 c=mix(step(0.0,b)*(1.0-min(vec3(1.0),(1.0-a)/max(b,1e-9))),vec3(1.0),step(1.0,a));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Ki=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=dst.rgb,b=src.rgb;vec3 c=step(0.0,a)*mix(min(vec3(1.0),a/max(1.0-b,1e-9)),vec3(1.0),step(1.0,b));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Zi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=min(dst.rgb,src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ji=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=abs(dst.rgb-src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Ji=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb/max(src.rgb,1e-9);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",qi=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb-2.0*dst.rgb*src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",$i=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=min(dst.rgb,1.0);vec3 b=min(src.rgb,1.0);vec3 c=mix(2.0*a*b,1.0-2.0*(1.0-a)*(1.0-b),step(0.5,b));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",es=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=step(1.0,dst.rgb+src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ts=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(b.x,a.yz));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",rs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(1.0-src.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",is=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=src.rgb*max(1.0-dst.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ss=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(dst.rgb,src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",as=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=clamp(src.rgb+dst.rgb-1.0,0.0,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ns=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=min(dst.rgb+src.rgb,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",os=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=clamp(2.0*src.rgb+dst.rgb-1.0,0.0,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ls=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(a.xy,b.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",cs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb*src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",us=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(1.0-abs(1.0-dst.rgb-src.rgb),0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",fs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return mix(dst,src,opacity);}\",hs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=2.0*src.rgb*dst.rgb;vec3 b=1.0-2.0*(1.0-src.rgb)*(1.0-dst.rgb);vec3 c=mix(a,b,step(0.5,dst.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ds=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 src2=2.0*src.rgb;vec3 c=mix(mix(src2,dst.rgb,step(0.5*dst.rgb,src.rgb)),max(src2-1.0,vec3(0.0)),step(dst.rgb,src2-1.0));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",vs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=min(dst.rgb*dst.rgb/max(1.0-src.rgb,1e-9),1.0);vec3 c=mix(a,src.rgb,step(1.0,src.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",gs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(a.x,b.y,a.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ps=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb-min(dst.rgb*src.rgb,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",ms=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 src2=2.0*src.rgb;vec3 d=dst.rgb+(src2-1.0);vec3 w=step(0.5,src.rgb);vec3 a=dst.rgb-(1.0-src2)*dst.rgb*(1.0-dst.rgb);vec3 b=mix(d*(sqrt(dst.rgb)-dst.rgb),d*dst.rgb*((16.0*dst.rgb-12.0)*dst.rgb+3.0),w*(1.0-step(0.25,dst.rgb)));vec3 c=mix(a,b,w);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",As=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return src;}\",xs=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(dst.rgb-src.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Es=\"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=mix(max(1.0-min((1.0-dst.rgb)/(2.0*src.rgb),1.0),0.0),min(dst.rgb/(2.0*(1.0-src.rgb)),1.0),step(0.5,src.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}\",Ds=new Map([[g.ADD,Vi],[g.ALPHA,Qi],[g.AVERAGE,Wi],[g.COLOR,Yi],[g.COLOR_BURN,Xi],[g.COLOR_DODGE,Ki],[g.DARKEN,Zi],[g.DIFFERENCE,ji],[g.DIVIDE,Ji],[g.DST,null],[g.EXCLUSION,qi],[g.HARD_LIGHT,$i],[g.HARD_MIX,es],[g.HUE,ts],[g.INVERT,rs],[g.INVERT_RGB,is],[g.LIGHTEN,ss],[g.LINEAR_BURN,as],[g.LINEAR_DODGE,ns],[g.LINEAR_LIGHT,os],[g.LUMINOSITY,ls],[g.MULTIPLY,cs],[g.NEGATION,us],[g.NORMAL,fs],[g.OVERLAY,hs],[g.PIN_LIGHT,ds],[g.REFLECT,vs],[g.SATURATION,gs],[g.SCREEN,ps],[g.SOFT_LIGHT,ms],[g.SRC,As],[g.SUBTRACT,xs],[g.VIVID_LIGHT,Es]]),Ts=class extends zi{constructor(e,t=1){super(),this._blendFunction=e,this.opacity=new _i(t)}getOpacity(){return this.opacity.value}setOpacity(e){this.opacity.value=e}get blendFunction(){return this._blendFunction}set blendFunction(e){this._blendFunction=e,this.dispatchEvent({type:\"change\"})}getBlendFunction(){return this.blendFunction}setBlendFunction(e){this.blendFunction=e}getShaderCode(){return Ds.get(this.blendFunction)}},Ms=class extends Bs{constructor({characters:e=\" .:,'-^=*+?!|0#X%WM@\",font:t=\"Arial\",fontSize:r=54,size:i=1024,cellCount:s=16}={}){super(document.createElement(\"canvas\"),void 0,Qt,Qt);let n=this.image;n.width=n.height=i;let a=n.getContext(\"2d\"),o=i/s;a.font=`${r}px ${t}`,a.textAlign=\"center\",a.textBaseline=\"middle\",a.fillStyle=\"#ffffff\";for(let l=0,c=e.length;l<c;++l){let f=e[l],u=l%s,h=Math.floor(l/s);a.fillText(f,u*o+o/2,h*o+o/2)}this.characterCount=e.length,this.cellCount=s}},w=class extends Ps{constructor(e,t,{attributes:r=y.NONE,blendFunction:i=g.NORMAL,defines:s=new Map,uniforms:n=new Map,extensions:a=null,vertexShader:o=null}={}){super(),this.name=e,this.renderer=null,this.attributes=r,this.fragmentShader=t,this.vertexShader=o,this.defines=s,this.uniforms=n,this.extensions=a,this.blendMode=new Ts(i),this.blendMode.addEventListener(\"change\",l=>this.setChanged()),this._inputColorSpace=ys,this._outputColorSpace=Rs}get inputColorSpace(){return this._inputColorSpace}set inputColorSpace(e){this._inputColorSpace=e,this.setChanged()}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e,this.setChanged()}set mainScene(e){}set mainCamera(e){}getName(){return this.name}setRenderer(e){this.renderer=e}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(e){this.fragmentShader=e,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(e){this.vertexShader=e,this.setChanged()}setChanged(){this.dispatchEvent({type:\"change\"})}setDepthTexture(e,t=Is){}update(e,t,r){}setSize(e,t){}initialize(e,t,r){}dispose(){for(let e of Object.keys(this)){let t=this[e];(t instanceof Ls||t instanceof Us||t instanceof bs||t instanceof P)&&this[e].dispose()}}},Fs=`uniform sampler2D asciiTexture;uniform vec4 cellCount;\n#ifdef USE_COLOR\nuniform vec3 color;\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec2 pixelizedUv=cellCount.zw*(0.5+floor(uv*cellCount.xy));vec4 texel=texture(inputBuffer,pixelizedUv);float lum=min(luminance(texel.rgb),1.0);\n#ifdef INVERTED\nlum=1.0-lum;\n#endif\nfloat characterIndex=floor(CHAR_COUNT_MINUS_ONE*lum);vec2 characterPosition=vec2(mod(characterIndex,TEX_CELL_COUNT),floor(characterIndex*INV_TEX_CELL_COUNT));vec2 offset=vec2(characterPosition.x,-characterPosition.y)*INV_TEX_CELL_COUNT;vec2 characterUv=mod(uv*(cellCount.xy*INV_TEX_CELL_COUNT),INV_TEX_CELL_COUNT);characterUv=characterUv-vec2(0.0,INV_TEX_CELL_COUNT)+offset;float asciiCharacter=texture(asciiTexture,characterUv).r;\n#ifdef USE_COLOR\noutputColor=vec4(color*asciiCharacter,inputColor.a);\n#else\noutputColor=vec4(texel.rgb*asciiCharacter,inputColor.a);\n#endif\n}`,Bu=class extends w{constructor({asciiTexture:e=new Ms,cellSize:t=16,color:r=null,inverted:i=!1}={}){super(\"ASCIIEffect\",Fs,{uniforms:new Map([[\"asciiTexture\",new nt(null)],[\"cellCount\",new nt(new Ss)],[\"color\",new nt(new ws)]])}),this._cellSize=-1,this.resolution=new Cs,this.asciiTexture=e,this.cellSize=t,this.color=r,this.inverted=i}get asciiTexture(){return this.uniforms.get(\"asciiTexture\").value}set asciiTexture(e){let t=this.uniforms.get(\"asciiTexture\").value;if(this.uniforms.get(\"asciiTexture\").value=e,t!==null&&t!==e&&t.dispose(),e!==null){let r=e.cellCount;this.defines.set(\"CHAR_COUNT_MINUS_ONE\",(e.characterCount-1).toFixed(1)),this.defines.set(\"TEX_CELL_COUNT\",r.toFixed(1)),this.defines.set(\"INV_TEX_CELL_COUNT\",(1/r).toFixed(9)),this.setChanged()}}get color(){return this.uniforms.get(\"color\").value}set color(e){e!==null&&this.uniforms.get(\"color\").value.set(e),this.defines.has(\"USE_COLOR\")&&e===null?(this.defines.delete(\"USE_COLOR\"),this.setChanged()):!this.defines.has(\"USE_COLOR\")&&e!==null&&(this.defines.set(\"USE_COLOR\",\"1\"),this.setChanged())}get inverted(){return this.defines.has(\"INVERTED\")}set inverted(e){this.inverted!==e&&(e?this.defines.set(\"INVERTED\",\"1\"):this.defines.delete(\"INVERTED\"),this.setChanged())}get cellSize(){return this._cellSize}set cellSize(e){this._cellSize!==e&&(this._cellSize=e,this.updateCellCount())}updateCellCount(){let e=this.uniforms.get(\"cellCount\").value,t=this.resolution;e.x=t.width/this.cellSize,e.y=t.height/this.cellSize,e.z=1/e.x,e.w=1/e.y}setSize(e,t){this.resolution.set(e,t),this.updateCellCount()}dispose(){this.asciiTexture!==null&&this.asciiTexture.dispose(),super.dispose()}},z={VERY_SMALL:0,SMALL:1,MEDIUM:2,LARGE:3,VERY_LARGE:4,HUGE:5},zs=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nvarying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec4 sum=texture2D(inputBuffer,vUv0);sum+=texture2D(inputBuffer,vUv1);sum+=texture2D(inputBuffer,vUv2);sum+=texture2D(inputBuffer,vUv3);gl_FragColor=sum*0.25;\n#include <colorspace_fragment>\n}`,_s=\"uniform vec4 texelSize;uniform float kernel;uniform float scale;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vec2 dUv=(texelSize.xy*vec2(kernel)+texelSize.zw)*scale;vUv0=vec2(uv.x-dUv.x,uv.y+dUv.y);vUv1=vec2(uv.x+dUv.x,uv.y+dUv.y);vUv2=vec2(uv.x+dUv.x,uv.y-dUv.y);vUv3=vec2(uv.x-dUv.x,uv.y-dUv.y);gl_Position=vec4(position.xy,1.0,1.0);}\",Vs=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],ti=class extends ks{constructor(e=new Xt){super({name:\"KawaseBlurMaterial\",uniforms:{inputBuffer:new Ne(null),texelSize:new Ne(new Xt),scale:new Ne(1),kernel:new Ne(0)},blending:Hs,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:zs,vertexShader:_s}),this.setTexelSize(e.x,e.y),this.kernelSize=z.MEDIUM}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.inputBuffer=e}get kernelSequence(){return Vs[this.kernelSize]}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(){return this.uniforms.scale.value}setScale(e){this.uniforms.scale.value=e}getKernel(){return null}get kernel(){return this.uniforms.kernel.value}set kernel(e){this.uniforms.kernel.value=e}setKernel(e){this.kernel=e}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t,e*.5,t*.5)}setSize(e,t){let r=1/e,i=1/t;this.uniforms.texelSize.value.set(r,i,r*.5,i*.5)}},Re=class extends P{constructor({kernelSize:e=z.MEDIUM,resolutionScale:t=.5,width:r=A.AUTO_SIZE,height:i=A.AUTO_SIZE,resolutionX:s=r,resolutionY:n=i}={}){super(\"KawaseBlurPass\"),this.renderTargetA=new Gs(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name=\"Blur.Target.A\",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name=\"Blur.Target.B\";let a=this.resolution=new A(this,s,n,t);a.addEventListener(\"change\",o=>this.setSize(a.baseWidth,a.baseHeight)),this._blurMaterial=new ti,this._blurMaterial.kernelSize=e,this.copyMaterial=new $e}getResolution(){return this.resolution}get blurMaterial(){return this._blurMaterial}set blurMaterial(e){this._blurMaterial=e}get dithering(){return this.copyMaterial.dithering}set dithering(e){this.copyMaterial.dithering=e}get kernelSize(){return this.blurMaterial.kernelSize}set kernelSize(e){this.blurMaterial.kernelSize=e}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get scale(){return this.blurMaterial.scale}set scale(e){this.blurMaterial.scale=e}getScale(){return this.blurMaterial.scale}setScale(e){this.blurMaterial.scale=e}getKernelSize(){return this.kernelSize}setKernelSize(e){this.kernelSize=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,i,s){let n=this.scene,a=this.camera,o=this.renderTargetA,l=this.renderTargetB,c=this.blurMaterial,f=c.kernelSequence,u=t;this.fullscreenMaterial=c;for(let h=0,d=f.length;h<d;++h){let p=(h&1)===0?o:l;c.kernel=f[h],c.inputBuffer=u.texture,e.setRenderTarget(p),e.render(n,a),u=p}this.fullscreenMaterial=this.copyMaterial,this.copyMaterial.inputBuffer=u.texture,e.setRenderTarget(this.renderToScreen?null:r),e.render(n,a)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.renderTargetA.setSize(i,s),this.renderTargetB.setSize(i,s),this.blurMaterial.setSize(e,t)}initialize(e,t,r){r!==void 0&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==Ns?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\"):e!==null&&e.outputColorSpace===ot&&(this.renderTargetA.texture.colorSpace=ot,this.renderTargetB.texture.colorSpace=ot))}static get AUTO_SIZE(){return A.AUTO_SIZE}},Zs=`#include <common>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef RANGE\nuniform vec2 range;\n#elif defined(THRESHOLD)\nuniform float threshold;uniform float smoothing;\n#endif\nvarying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);float mask=1.0;\n#ifdef RANGE\nfloat low=step(range.x,l);float high=step(l,range.y);mask=low*high;\n#elif defined(THRESHOLD)\nmask=smoothstep(threshold,threshold+smoothing,l);\n#endif\n#ifdef COLOR\ngl_FragColor=texel*mask;\n#else\ngl_FragColor=vec4(l*mask);\n#endif\n}`,js=class extends Ks{constructor(e=!1,t=null){super({name:\"LuminanceMaterial\",defines:{THREE_REVISION:Xs.replace(/\\D+/g,\"\")},uniforms:{inputBuffer:new Ge(null),threshold:new Ge(0),smoothing:new Ge(1),range:new Ge(null)},blending:Ys,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Zs,vertexShader:K}),this.colorOutput=e,this.luminanceRange=t}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get threshold(){return this.uniforms.threshold.value}set threshold(e){this.smoothing>0||e>0?this.defines.THRESHOLD=\"1\":delete this.defines.THRESHOLD,this.uniforms.threshold.value=e}getThreshold(){return this.threshold}setThreshold(e){this.threshold=e}get smoothing(){return this.uniforms.smoothing.value}set smoothing(e){this.threshold>0||e>0?this.defines.THRESHOLD=\"1\":delete this.defines.THRESHOLD,this.uniforms.smoothing.value=e}getSmoothingFactor(){return this.smoothing}setSmoothingFactor(e){this.smoothing=e}get useThreshold(){return this.threshold>0||this.smoothing>0}set useThreshold(e){}get colorOutput(){return this.defines.COLOR!==void 0}set colorOutput(e){e?this.defines.COLOR=\"1\":delete this.defines.COLOR,this.needsUpdate=!0}isColorOutputEnabled(e){return this.colorOutput}setColorOutputEnabled(e){this.colorOutput=e}get useRange(){return this.luminanceRange!==null}set useRange(e){this.luminanceRange=null}get luminanceRange(){return this.uniforms.range.value}set luminanceRange(e){e!==null?this.defines.RANGE=\"1\":delete this.defines.RANGE,this.uniforms.range.value=e,this.needsUpdate=!0}getLuminanceRange(){return this.luminanceRange}setLuminanceRange(e){this.luminanceRange=e}},ri=class extends P{constructor({renderTarget:e,luminanceRange:t,colorOutput:r,resolutionScale:i=1,width:s=A.AUTO_SIZE,height:n=A.AUTO_SIZE,resolutionX:a=s,resolutionY:o=n}={}){super(\"LuminancePass\"),this.fullscreenMaterial=new js(r,t),this.needsSwap=!1,this.renderTarget=e,this.renderTarget===void 0&&(this.renderTarget=new Ws(1,1,{depthBuffer:!1}),this.renderTarget.texture.name=\"LuminancePass.Target\");let l=this.resolution=new A(this,a,o,i);l.addEventListener(\"change\",c=>this.setSize(l.baseWidth,l.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}render(e,t,r,i,s){let n=this.fullscreenMaterial;n.inputBuffer=t.texture,e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height)}initialize(e,t,r){r!==void 0&&r!==Qs&&(this.renderTarget.texture.type=r,this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\")}},ia=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#define WEIGHT_INNER 0.125\n#define WEIGHT_OUTER 0.05556\nvarying vec2 vUv;varying vec2 vUv00;varying vec2 vUv01;varying vec2 vUv02;varying vec2 vUv03;varying vec2 vUv04;varying vec2 vUv05;varying vec2 vUv06;varying vec2 vUv07;varying vec2 vUv08;varying vec2 vUv09;varying vec2 vUv10;varying vec2 vUv11;float clampToBorder(const in vec2 uv){return float(uv.s>=0.0&&uv.s<=1.0&&uv.t>=0.0&&uv.t<=1.0);}void main(){vec4 c=vec4(0.0);vec4 w=WEIGHT_INNER*vec4(clampToBorder(vUv00),clampToBorder(vUv01),clampToBorder(vUv02),clampToBorder(vUv03));c+=w.x*texture2D(inputBuffer,vUv00);c+=w.y*texture2D(inputBuffer,vUv01);c+=w.z*texture2D(inputBuffer,vUv02);c+=w.w*texture2D(inputBuffer,vUv03);w=WEIGHT_OUTER*vec4(clampToBorder(vUv04),clampToBorder(vUv05),clampToBorder(vUv06),clampToBorder(vUv07));c+=w.x*texture2D(inputBuffer,vUv04);c+=w.y*texture2D(inputBuffer,vUv05);c+=w.z*texture2D(inputBuffer,vUv06);c+=w.w*texture2D(inputBuffer,vUv07);w=WEIGHT_OUTER*vec4(clampToBorder(vUv08),clampToBorder(vUv09),clampToBorder(vUv10),clampToBorder(vUv11));c+=w.x*texture2D(inputBuffer,vUv08);c+=w.y*texture2D(inputBuffer,vUv09);c+=w.z*texture2D(inputBuffer,vUv10);c+=w.w*texture2D(inputBuffer,vUv11);c+=WEIGHT_OUTER*texture2D(inputBuffer,vUv);gl_FragColor=c;\n#include <colorspace_fragment>\n}`,sa=\"uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv00;varying vec2 vUv01;varying vec2 vUv02;varying vec2 vUv03;varying vec2 vUv04;varying vec2 vUv05;varying vec2 vUv06;varying vec2 vUv07;varying vec2 vUv08;varying vec2 vUv09;varying vec2 vUv10;varying vec2 vUv11;void main(){vUv=position.xy*0.5+0.5;vUv00=vUv+texelSize*vec2(-1.0,1.0);vUv01=vUv+texelSize*vec2(1.0,1.0);vUv02=vUv+texelSize*vec2(-1.0,-1.0);vUv03=vUv+texelSize*vec2(1.0,-1.0);vUv04=vUv+texelSize*vec2(-2.0,2.0);vUv05=vUv+texelSize*vec2(0.0,2.0);vUv06=vUv+texelSize*vec2(2.0,2.0);vUv07=vUv+texelSize*vec2(-2.0,0.0);vUv08=vUv+texelSize*vec2(2.0,0.0);vUv09=vUv+texelSize*vec2(-2.0,-2.0);vUv10=vUv+texelSize*vec2(0.0,-2.0);vUv11=vUv+texelSize*vec2(2.0,-2.0);gl_Position=vec4(position.xy,1.0,1.0);}\",aa=class extends ta{constructor(){super({name:\"DownsamplingMaterial\",uniforms:{inputBuffer:new Zt(null),texelSize:new Zt(new ra)},blending:ea,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:ia,vertexShader:sa})}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},ca=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;uniform mediump sampler2D supportBuffer;\n#else\nuniform lowp sampler2D inputBuffer;uniform lowp sampler2D supportBuffer;\n#endif\nuniform float radius;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;varying vec2 vUv6;varying vec2 vUv7;void main(){vec4 c=vec4(0.0);c+=texture2D(inputBuffer,vUv0)*0.0625;c+=texture2D(inputBuffer,vUv1)*0.125;c+=texture2D(inputBuffer,vUv2)*0.0625;c+=texture2D(inputBuffer,vUv3)*0.125;c+=texture2D(inputBuffer,vUv)*0.25;c+=texture2D(inputBuffer,vUv4)*0.125;c+=texture2D(inputBuffer,vUv5)*0.0625;c+=texture2D(inputBuffer,vUv6)*0.125;c+=texture2D(inputBuffer,vUv7)*0.0625;vec4 baseColor=texture2D(supportBuffer,vUv);gl_FragColor=mix(baseColor,c,radius);\n#include <colorspace_fragment>\n}`,ua=\"uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;varying vec2 vUv6;varying vec2 vUv7;void main(){vUv=position.xy*0.5+0.5;vUv0=vUv+texelSize*vec2(-1.0,1.0);vUv1=vUv+texelSize*vec2(0.0,1.0);vUv2=vUv+texelSize*vec2(1.0,1.0);vUv3=vUv+texelSize*vec2(-1.0,0.0);vUv4=vUv+texelSize*vec2(1.0,0.0);vUv5=vUv+texelSize*vec2(-1.0,-1.0);vUv6=vUv+texelSize*vec2(0.0,-1.0);vUv7=vUv+texelSize*vec2(1.0,-1.0);gl_Position=vec4(position.xy,1.0,1.0);}\",fa=class extends oa{constructor(){super({name:\"UpsamplingMaterial\",uniforms:{inputBuffer:new He(null),supportBuffer:new He(null),texelSize:new He(new la),radius:new He(.85)},blending:na,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:ca,vertexShader:ua})}set inputBuffer(e){this.uniforms.inputBuffer.value=e}set supportBuffer(e){this.uniforms.supportBuffer.value=e}get radius(){return this.uniforms.radius.value}set radius(e){this.uniforms.radius.value=e}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},ha=class extends P{constructor(){super(\"MipmapBlurPass\"),this.needsSwap=!1,this.renderTarget=new $s(1,1,{depthBuffer:!1}),this.renderTarget.texture.name=\"Upsampling.Mipmap0\",this.downsamplingMipmaps=[],this.upsamplingMipmaps=[],this.downsamplingMaterial=new aa,this.upsamplingMaterial=new fa,this.resolution=new qs}get texture(){return this.renderTarget.texture}get levels(){return this.downsamplingMipmaps.length}set levels(e){if(this.levels!==e){let t=this.renderTarget;this.dispose(),this.downsamplingMipmaps=[],this.upsamplingMipmaps=[];for(let r=0;r<e;++r){let i=t.clone();i.texture.name=\"Downsampling.Mipmap\"+r,this.downsamplingMipmaps.push(i)}this.upsamplingMipmaps.push(t);for(let r=1,i=e-1;r<i;++r){let s=t.clone();s.texture.name=\"Upsampling.Mipmap\"+r,this.upsamplingMipmaps.push(s)}this.setSize(this.resolution.x,this.resolution.y)}}get radius(){return this.upsamplingMaterial.radius}set radius(e){this.upsamplingMaterial.radius=e}render(e,t,r,i,s){let{scene:n,camera:a}=this,{downsamplingMaterial:o,upsamplingMaterial:l}=this,{downsamplingMipmaps:c,upsamplingMipmaps:f}=this,u=t;this.fullscreenMaterial=o;for(let h=0,d=c.length;h<d;++h){let p=c[h];o.setSize(u.width,u.height),o.inputBuffer=u.texture,e.setRenderTarget(p),e.render(n,a),u=p}this.fullscreenMaterial=l;for(let h=f.length-1;h>=0;--h){let d=f[h];l.setSize(u.width,u.height),l.inputBuffer=u.texture,l.supportBuffer=c[h].texture,e.setRenderTarget(d),e.render(n,a),u=d}}setSize(e,t){let r=this.resolution;r.set(e,t);let i=r.width,s=r.height;for(let n=0,a=this.downsamplingMipmaps.length;n<a;++n)i=Math.round(i*.5),s=Math.round(s*.5),this.downsamplingMipmaps[n].setSize(i,s),n<this.upsamplingMipmaps.length&&this.upsamplingMipmaps[n].setSize(i,s)}initialize(e,t,r){if(r!==void 0){let i=this.downsamplingMipmaps.concat(this.upsamplingMipmaps);for(let s of i)s.texture.type=r;if(r!==Js)this.downsamplingMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\",this.upsamplingMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\";else if(e!==null&&e.outputColorSpace===Kt)for(let s of i)s.texture.colorSpace=Kt}}dispose(){super.dispose();for(let e of this.downsamplingMipmaps.concat(this.upsamplingMipmaps))e.dispose()}},da=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D map;\n#else\nuniform lowp sampler2D map;\n#endif\nuniform float intensity;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=texture2D(map,uv)*intensity;}`,va=class extends w{constructor({blendFunction:e=g.SCREEN,luminanceThreshold:t=1,luminanceSmoothing:r=.03,mipmapBlur:i=!0,intensity:s=1,radius:n=.85,levels:a=8,kernelSize:o=z.LARGE,resolutionScale:l=.5,width:c=A.AUTO_SIZE,height:f=A.AUTO_SIZE,resolutionX:u=c,resolutionY:h=f}={}){super(\"BloomEffect\",da,{blendFunction:e,uniforms:new Map([[\"map\",new Yt(null)],[\"intensity\",new Yt(s)]])}),this.renderTarget=new Os(1,1,{depthBuffer:!1}),this.renderTarget.texture.name=\"Bloom.Target\",this.blurPass=new Re({kernelSize:o}),this.luminancePass=new ri({colorOutput:!0}),this.luminanceMaterial.threshold=t,this.luminanceMaterial.smoothing=r,this.mipmapBlurPass=new ha,this.mipmapBlurPass.enabled=i,this.mipmapBlurPass.radius=n,this.mipmapBlurPass.levels=a,this.uniforms.get(\"map\").value=i?this.mipmapBlurPass.texture:this.renderTarget.texture;let d=this.resolution=new A(this,u,h,l);d.addEventListener(\"change\",p=>this.setSize(d.baseWidth,d.baseHeight))}get texture(){return this.mipmapBlurPass.enabled?this.mipmapBlurPass.texture:this.renderTarget.texture}getTexture(){return this.texture}getResolution(){return this.resolution}getBlurPass(){return this.blurPass}getLuminancePass(){return this.luminancePass}get luminanceMaterial(){return this.luminancePass.fullscreenMaterial}getLuminanceMaterial(){return this.luminancePass.fullscreenMaterial}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get dithering(){return this.blurPass.dithering}set dithering(e){this.blurPass.dithering=e}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(e){this.blurPass.kernelSize=e}get distinction(){return console.warn(this.name,\"distinction was removed\"),1}set distinction(e){console.warn(this.name,\"distinction was removed\")}get intensity(){return this.uniforms.get(\"intensity\").value}set intensity(e){this.uniforms.get(\"intensity\").value=e}getIntensity(){return this.intensity}setIntensity(e){this.intensity=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}update(e,t,r){let i=this.renderTarget,s=this.luminancePass;s.enabled?(s.render(e,t),this.mipmapBlurPass.enabled?this.mipmapBlurPass.render(e,s.renderTarget):this.blurPass.render(e,s.renderTarget,i)):this.mipmapBlurPass.enabled?this.mipmapBlurPass.render(e,t):this.blurPass.render(e,t,i)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height),this.blurPass.resolution.copy(r),this.luminancePass.setSize(e,t),this.mipmapBlurPass.setSize(e,t)}initialize(e,t,r){this.blurPass.initialize(e,t,r),this.luminancePass.initialize(e,t,r),this.mipmapBlurPass.initialize(e,t,r),r!==void 0&&(this.renderTarget.texture.type=r,e!==null&&e.outputColorSpace===Wt&&(this.renderTarget.texture.colorSpace=Wt))}},ga=`uniform float focus;uniform float dof;uniform float aperture;uniform float maxBlur;void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){vec2 aspectCorrection=vec2(1.0,aspect);\n#ifdef PERSPECTIVE_CAMERA\nfloat viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);float linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearDepth=depth;\n#endif\nfloat focusNear=clamp(focus-dof,0.0,1.0);float focusFar=clamp(focus+dof,0.0,1.0);float low=step(linearDepth,focusNear);float high=step(focusFar,linearDepth);float factor=(linearDepth-focusNear)*low+(linearDepth-focusFar)*high;vec2 dofBlur=vec2(clamp(factor*aperture,-maxBlur,maxBlur));vec2 dofblur9=dofBlur*0.9;vec2 dofblur7=dofBlur*0.7;vec2 dofblur4=dofBlur*0.4;vec4 color=inputColor;color+=texture2D(inputBuffer,uv+(vec2(0.0,0.4)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.15,0.37)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.29,0.29)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.37,0.15)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.40,0.0)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.37,-0.15)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.29,-0.29)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.15,-0.37)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.0,-0.4)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.15,0.37)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.29,0.29)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.37,0.15)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.4,0.0)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.37,-0.15)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(-0.29,-0.29)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.15,-0.37)*aspectCorrection)*dofBlur);color+=texture2D(inputBuffer,uv+(vec2(0.15,0.37)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(-0.37,0.15)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(0.37,-0.15)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(-0.15,-0.37)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(-0.15,0.37)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(0.37,0.15)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(-0.37,-0.15)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(0.15,-0.37)*aspectCorrection)*dofblur9);color+=texture2D(inputBuffer,uv+(vec2(0.29,0.29)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(0.40,0.0)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(0.29,-0.29)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(0.0,-0.4)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(-0.29,0.29)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(-0.4,0.0)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(-0.29,-0.29)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(0.0,0.4)*aspectCorrection)*dofblur7);color+=texture2D(inputBuffer,uv+(vec2(0.29,0.29)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(0.4,0.0)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(0.29,-0.29)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(0.0,-0.4)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(-0.29,0.29)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(-0.4,0.0)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(-0.29,-0.29)*aspectCorrection)*dofblur4);color+=texture2D(inputBuffer,uv+(vec2(0.0,0.4)*aspectCorrection)*dofblur4);outputColor=color/41.0;}`,Ou=class extends w{constructor({blendFunction:e,focus:t=.5,dof:r=.02,aperture:i=.015,maxBlur:s=1}={}){super(\"BokehEffect\",ga,{blendFunction:e,attributes:y.CONVOLUTION|y.DEPTH,uniforms:new Map([[\"focus\",new ke(t)],[\"dof\",new ke(r)],[\"aperture\",new ke(i)],[\"maxBlur\",new ke(s)]])})}},ma=\"uniform float brightness;uniform float contrast;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=inputColor.rgb+vec3(brightness-0.5);if(contrast>0.0){color/=vec3(1.0-contrast);}else{color*=vec3(1.0+contrast);}outputColor=vec4(color+vec3(0.5),inputColor.a);}\",Gu=class extends w{constructor({blendFunction:e=g.SRC,brightness:t=0,contrast:r=0}={}){super(\"BrightnessContrastEffect\",ma,{blendFunction:e,uniforms:new Map([[\"brightness\",new jt(t)],[\"contrast\",new jt(r)]])}),this.inputColorSpace=pa}get brightness(){return this.uniforms.get(\"brightness\").value}set brightness(e){this.uniforms.get(\"brightness\").value=e}getBrightness(){return this.brightness}setBrightness(e){this.brightness=e}get contrast(){return this.uniforms.get(\"contrast\").value}set contrast(e){this.uniforms.get(\"contrast\").value=e}getContrast(){return this.contrast}setContrast(e){this.contrast=e}},Aa=\"void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(vec3(average(inputColor.rgb)),inputColor.a);}\",Hu=class extends w{constructor(e){super(\"ColorAverageEffect\",Aa,{blendFunction:e})}},Ea=\"uniform float factor;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(floor(inputColor.rgb*factor+0.5)/factor,inputColor.a);}\",zu=class extends w{constructor({blendFunction:e,bits:t=16}={}){super(\"ColorDepthEffect\",Ea,{blendFunction:e,uniforms:new Map([[\"factor\",new xa(1)]])}),this.bits=0,this.bitDepth=t}get bitDepth(){return this.bits}set bitDepth(e){this.bits=e,this.uniforms.get(\"factor\").value=Math.pow(2,e/3)}getBitDepth(){return this.bitDepth}setBitDepth(e){this.bitDepth=e}},Ta=`#ifdef RADIAL_MODULATION\nuniform float modulationOffset;\n#endif\nvarying float vActive;varying vec2 vUvR;varying vec2 vUvB;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec2 ra=inputColor.ra;vec2 ba=inputColor.ba;\n#ifdef RADIAL_MODULATION\nconst vec2 center=vec2(0.5);float d=distance(uv,center)*2.0;d=max(d-modulationOffset,0.0);if(vActive>0.0&&d>0.0){ra=texture2D(inputBuffer,mix(uv,vUvR,d)).ra;ba=texture2D(inputBuffer,mix(uv,vUvB,d)).ba;}\n#else\nif(vActive>0.0){ra=texture2D(inputBuffer,vUvR).ra;ba=texture2D(inputBuffer,vUvB).ba;}\n#endif\noutputColor=vec4(ra.x,inputColor.g,ba.x,max(max(ra.y,ba.y),inputColor.a));}`,wa=\"uniform vec2 offset;varying float vActive;varying vec2 vUvR;varying vec2 vUvB;void mainSupport(const in vec2 uv){vec2 shift=offset*vec2(1.0,aspect);vActive=(shift.x!=0.0||shift.y!=0.0)?1.0:0.0;vUvR=uv+shift;vUvB=uv-shift;}\",Vu=class extends w{constructor({offset:e=new Da(.001,5e-4),radialModulation:t=!1,modulationOffset:r=.15}={}){super(\"ChromaticAberrationEffect\",Ta,{vertexShader:wa,attributes:y.CONVOLUTION,uniforms:new Map([[\"offset\",new Jt(e)],[\"modulationOffset\",new Jt(r)]])}),this.radialModulation=t}get offset(){return this.uniforms.get(\"offset\").value}set offset(e){this.uniforms.get(\"offset\").value=e}get radialModulation(){return this.defines.has(\"RADIAL_MODULATION\")}set radialModulation(e){e?this.defines.set(\"RADIAL_MODULATION\",\"1\"):this.defines.delete(\"RADIAL_MODULATION\"),this.setChanged()}get modulationOffset(){return this.uniforms.get(\"modulationOffset\").value}set modulationOffset(e){this.uniforms.get(\"modulationOffset\").value=e}getOffset(){return this.offset}setOffset(e){this.offset=e}},Ca=`void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){\n#ifdef INVERTED\nvec3 color=vec3(1.0-depth);\n#else\nvec3 color=vec3(depth);\n#endif\noutputColor=vec4(color,inputColor.a);}`,Qu=class extends w{constructor({blendFunction:e=g.SRC,inverted:t=!1}={}){super(\"DepthEffect\",Ca,{blendFunction:e,attributes:y.DEPTH}),this.inverted=t}get inverted(){return this.defines.has(\"INVERTED\")}set inverted(e){this.inverted!==e&&(e?this.defines.set(\"INVERTED\",\"1\"):this.defines.delete(\"INVERTED\"),this.setChanged())}isInverted(){return this.inverted}setInverted(e){this.inverted=e}},de={RED:0,GREEN:1,BLUE:2,ALPHA:3},ii={DISCARD:0,MULTIPLY:1,MULTIPLY_RGB_SET_ALPHA:2,MULTIPLY_RGB:3},Ra=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#if PASS == 1\nuniform vec4 kernel64[32];\n#else\nuniform vec4 kernel16[8];\n#endif\nuniform lowp sampler2D cocBuffer;uniform vec2 texelSize;uniform float scale;varying vec2 vUv;void main(){\n#ifdef FOREGROUND\nvec2 cocNearFar=texture2D(cocBuffer,vUv).rg*scale;float coc=cocNearFar.x;\n#else\nfloat coc=texture2D(cocBuffer,vUv).g*scale;\n#endif\nif(coc==0.0){gl_FragColor=texture2D(inputBuffer,vUv);}else{\n#ifdef FOREGROUND\nvec2 step=texelSize*max(cocNearFar.x,cocNearFar.y);\n#else\nvec2 step=texelSize*coc;\n#endif\n#if PASS == 1\nvec4 acc=vec4(0.0);for(int i=0;i<32;++i){vec4 kernel=kernel64[i];vec2 uv=step*kernel.xy+vUv;acc+=texture2D(inputBuffer,uv);uv=step*kernel.zw+vUv;acc+=texture2D(inputBuffer,uv);}gl_FragColor=acc/64.0;\n#else\nvec4 maxValue=texture2D(inputBuffer,vUv);for(int i=0;i<8;++i){vec4 kernel=kernel16[i];vec2 uv=step*kernel.xy+vUv;maxValue=max(texture2D(inputBuffer,uv),maxValue);uv=step*kernel.zw+vUv;maxValue=max(texture2D(inputBuffer,uv),maxValue);}gl_FragColor=maxValue;\n#endif\n}}`,ze=class extends ya{constructor(e=!1,t=!1){super({name:\"BokehMaterial\",defines:{PASS:e?\"2\":\"1\"},uniforms:{inputBuffer:new se(null),cocBuffer:new se(null),texelSize:new se(new Ua),kernel64:new se(null),kernel16:new se(null),scale:new se(1)},blending:Pa,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Ra,vertexShader:K}),t&&(this.defines.FOREGROUND=\"1\"),this.generateKernel()}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set cocBuffer(e){this.uniforms.cocBuffer.value=e}setCoCBuffer(e){this.uniforms.cocBuffer.value=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(e){return this.scale}setScale(e){this.scale=e}generateKernel(){let e=2.39996323,t=new Float64Array(128),r=new Float64Array(32),i=0,s=0;for(let n=0,a=Math.sqrt(80);n<80;++n){let o=n*e,l=Math.sqrt(n)/a,c=l*Math.cos(o),f=l*Math.sin(o);n%5===0?(r[s++]=c,r[s++]=f):(t[i++]=c,t[i++]=f)}this.uniforms.kernel64.value=t,this.uniforms.kernel16.value=r}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},Na=`#include <common>\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform mat4 projectionMatrix;uniform mat4 projectionMatrixInverse;uniform float cameraNear;uniform float cameraFar;uniform float focusDistance;uniform float focusRange;varying vec2 vUv;float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nfloat depth=unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nfloat depth=texture2D(depthBuffer,uv).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth=1.0-depth;\n#endif\nreturn depth;}\n#ifdef PERSPECTIVE_CAMERA\n#define getViewZ(depth) perspectiveDepthToViewZ(depth, cameraNear, cameraFar)\n#else\n#define getViewZ(depth) orthographicDepthToViewZ(depth, cameraNear, cameraFar)\n#endif\nvec3 getViewPosition(const in vec2 screenPosition,const in float depth,const in float viewZ){vec4 clipPosition=vec4(vec3(screenPosition,depth)*2.0-1.0,1.0);float clipW=projectionMatrix[2][3]*viewZ+projectionMatrix[3][3];clipPosition*=clipW;return(projectionMatrixInverse*clipPosition).xyz;}vec3 getViewPosition(const in vec2 screenPosition,const in float depth){return getViewPosition(screenPosition,depth,getViewZ(depth));}\n#define getDistance(viewPosition) length(viewPosition)\nvoid main(){float depth=readDepth(vUv);vec3 viewPosition=getViewPosition(vUv,depth);float distance=getDistance(viewPosition);float signedDistance=distance-focusDistance;float magnitude=smoothstep(0.0,focusRange,abs(signedDistance));gl_FragColor.rg=magnitude*vec2(step(signedDistance,0.0),step(0.0,signedDistance));}`,Ga=class extends Oa{constructor(e=null){super({name:\"CircleOfConfusionMaterial\",defines:{DEPTH_PACKING:\"0\"},uniforms:{depthBuffer:new j(null),projectionMatrix:new j(null),projectionMatrixInverse:new j(null),cameraNear:new j(.3),cameraFar:new j(1e3),focusDistance:new j(0),focusRange:new j(0)},blending:La,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Na,vertexShader:K}),this.uniforms.focalLength=this.uniforms.focusRange,e!==null&&this.copyCameraSettings(e)}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=ba){this.depthBuffer=e,this.depthPacking=t}get focusDistance(){return this.uniforms.focusDistance.value}set focusDistance(e){this.uniforms.focusDistance.value=e}get worldFocusDistance(){return this.focusDistance}set worldFocusDistance(e){this.focusDistance=e}getFocusDistance(e){this.uniforms.focusDistance.value=e}setFocusDistance(e){this.uniforms.focusDistance.value=e}get focalLength(){return this.focusRange}set focalLength(e){this.focusRange=e}get focusRange(){return this.uniforms.focusRange.value}set focusRange(e){this.uniforms.focusRange.value=e}get worldFocusRange(){return this.focusRange}set worldFocusRange(e){this.focusRange=e}getFocalLength(e){return this.focusRange}setFocalLength(e){this.focusRange=e}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){this.uniforms.projectionMatrix.value=e.projectionMatrix,this.uniforms.projectionMatrixInverse.value=e.projectionMatrixInverse,this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far;let t=this.defines.PERSPECTIVE_CAMERA!==void 0;e instanceof Fa?t||(this.defines.PERSPECTIVE_CAMERA=!0,this.needsUpdate=!0):t&&(delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},_a=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef MASK_PRECISION_HIGH\nuniform mediump sampler2D maskTexture;\n#else\nuniform lowp sampler2D maskTexture;\n#endif\n#if MASK_FUNCTION != 0\nuniform float strength;\n#endif\nvarying vec2 vUv;void main(){\n#if COLOR_CHANNEL == 0\nfloat mask=texture2D(maskTexture,vUv).r;\n#elif COLOR_CHANNEL == 1\nfloat mask=texture2D(maskTexture,vUv).g;\n#elif COLOR_CHANNEL == 2\nfloat mask=texture2D(maskTexture,vUv).b;\n#else\nfloat mask=texture2D(maskTexture,vUv).a;\n#endif\n#if MASK_FUNCTION == 0\n#ifdef INVERTED\nmask=(mask>0.0)?0.0:1.0;\n#else\nmask=(mask>0.0)?1.0:0.0;\n#endif\n#else\nmask=clamp(mask*strength,0.0,1.0);\n#ifdef INVERTED\nmask=1.0-mask;\n#endif\n#endif\n#if MASK_FUNCTION == 3\nvec4 texel=texture2D(inputBuffer,vUv);gl_FragColor=vec4(mask*texel.rgb,texel.a);\n#elif MASK_FUNCTION == 2\ngl_FragColor=vec4(mask*texture2D(inputBuffer,vUv).rgb,mask);\n#else\ngl_FragColor=mask*texture2D(inputBuffer,vUv);\n#endif\n}`,Va=class extends ka{constructor(e=null){super({name:\"MaskMaterial\",uniforms:{maskTexture:new lt(e),inputBuffer:new lt(null),strength:new lt(1)},blending:Ha,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:_a,vertexShader:K}),this.colorChannel=de.RED,this.maskFunction=ii.DISCARD}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set maskTexture(e){this.uniforms.maskTexture.value=e,delete this.defines.MASK_PRECISION_HIGH,e.type!==za&&(this.defines.MASK_PRECISION_HIGH=\"1\"),this.needsUpdate=!0}setMaskTexture(e){this.maskTexture=e}set colorChannel(e){this.defines.COLOR_CHANNEL=e.toFixed(0),this.needsUpdate=!0}setColorChannel(e){this.colorChannel=e}set maskFunction(e){this.defines.MASK_FUNCTION=e.toFixed(0),this.needsUpdate=!0}setMaskFunction(e){this.maskFunction=e}get inverted(){return this.defines.INVERTED!==void 0}set inverted(e){this.inverted&&!e?delete this.defines.INVERTED:e&&(this.defines.INVERTED=\"1\"),this.needsUpdate=!0}isInverted(){return this.inverted}setInverted(e){this.inverted=e}get strength(){return this.uniforms.strength.value}set strength(e){this.uniforms.strength.value=e}getStrength(){return this.strength}setStrength(e){this.strength=e}},O=class extends P{constructor(e,t=\"inputBuffer\"){super(\"ShaderPass\"),this.fullscreenMaterial=e,this.input=t}setInput(e){this.input=e}render(e,t,r,i,s){let n=this.fullscreenMaterial.uniforms;t!==null&&n!==void 0&&n[this.input]!==void 0&&(n[this.input].value=t.texture),e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}initialize(e,t,r){r!==void 0&&r!==Qa&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\")}},Wa=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D nearColorBuffer;uniform mediump sampler2D farColorBuffer;\n#else\nuniform lowp sampler2D nearColorBuffer;uniform lowp sampler2D farColorBuffer;\n#endif\n#if MASK_FUNCTION != 1 && MASK_FUNCTION != 2\nuniform lowp sampler2D farCoCBuffer;\n#endif\nuniform lowp sampler2D nearCoCBuffer;uniform float scale;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec4 colorNear=texture2D(nearColorBuffer,uv);vec4 colorFar=texture2D(farColorBuffer,uv);\n#if MASK_FUNCTION == 1 || MASK_FUNCTION == 2\nvec2 cocNearFar=vec2(texture2D(nearCoCBuffer,uv).r,colorFar.a);cocNearFar.x=min(cocNearFar.x*scale,1.0);\n#else\nvec2 cocNearFar=vec2(texture2D(nearCoCBuffer,uv).r,texture2D(farCoCBuffer,uv).g);cocNearFar=min(cocNearFar*scale,1.0);colorFar.a*=cocNearFar.y;\n#endif\nvec4 result=inputColor*(1.0-cocNearFar.y)+colorFar;result=mix(result,colorNear,cocNearFar.x);outputColor=result;}`,Ya=new Ma,ju=class extends w{constructor(e,{blendFunction:t,worldFocusDistance:r,worldFocusRange:i,focalLength:s,focusDistance:n=r||3,focusRange:a=i||s||2,bokehScale:o=1,resolutionScale:l=.5,width:c,height:f,resolutionX:u=c||A.AUTO_SIZE,resolutionY:h=f||A.AUTO_SIZE}={}){super(\"DepthOfFieldEffect\",Wa,{blendFunction:t,attributes:y.DEPTH,uniforms:new Map([[\"nearColorBuffer\",new pe(null)],[\"farColorBuffer\",new pe(null)],[\"nearCoCBuffer\",new pe(null)],[\"farCoCBuffer\",new pe(null)],[\"scale\",new pe(1)]])}),this.camera=e,this.renderTarget=new Ia(1,1,{depthBuffer:!1}),this.renderTarget.texture.name=\"DoF.Intermediate\",this.renderTargetMasked=this.renderTarget.clone(),this.renderTargetMasked.texture.name=\"DoF.Masked.Far\",this.renderTargetNear=this.renderTarget.clone(),this.renderTargetNear.texture.name=\"DoF.Bokeh.Near\",this.uniforms.get(\"nearColorBuffer\").value=this.renderTargetNear.texture,this.renderTargetFar=this.renderTarget.clone(),this.renderTargetFar.texture.name=\"DoF.Bokeh.Far\",this.uniforms.get(\"farColorBuffer\").value=this.renderTargetFar.texture,this.renderTargetCoC=this.renderTarget.clone(),this.renderTargetCoC.texture.name=\"DoF.CoC\",this.uniforms.get(\"farCoCBuffer\").value=this.renderTargetCoC.texture,this.renderTargetCoCBlurred=this.renderTargetCoC.clone(),this.renderTargetCoCBlurred.texture.name=\"DoF.CoC.Blurred\",this.uniforms.get(\"nearCoCBuffer\").value=this.renderTargetCoCBlurred.texture,this.cocPass=new O(new Ga(e));let d=this.cocMaterial;d.focusDistance=n,d.focusRange=a,this.blurPass=new Re({resolutionScale:l,resolutionX:u,resolutionY:h,kernelSize:z.MEDIUM}),this.maskPass=new O(new Va(this.renderTargetCoC.texture));let p=this.maskPass.fullscreenMaterial;p.colorChannel=de.GREEN,this.maskFunction=ii.MULTIPLY_RGB,this.bokehNearBasePass=new O(new ze(!1,!0)),this.bokehNearBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehNearFillPass=new O(new ze(!0,!0)),this.bokehNearFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehFarBasePass=new O(new ze(!1,!1)),this.bokehFarBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.bokehFarFillPass=new O(new ze(!0,!1)),this.bokehFarFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.target=null;let v=this.resolution=new A(this,u,h,l);v.addEventListener(\"change\",m=>this.setSize(v.baseWidth,v.baseHeight)),this.bokehScale=o}set mainCamera(e){this.camera=e,this.cocMaterial.copyCameraSettings(e)}get cocTexture(){return this.renderTargetCoC.texture}get maskFunction(){return this.maskPass.fullscreenMaterial.maskFunction}set maskFunction(e){this.maskFunction!==e&&(this.defines.set(\"MASK_FUNCTION\",e.toFixed(0)),this.maskPass.fullscreenMaterial.maskFunction=e,this.setChanged())}get cocMaterial(){return this.cocPass.fullscreenMaterial}get circleOfConfusionMaterial(){return this.cocMaterial}getCircleOfConfusionMaterial(){return this.cocMaterial}getBlurPass(){return this.blurPass}getResolution(){return this.resolution}get bokehScale(){return this.uniforms.get(\"scale\").value}set bokehScale(e){this.bokehNearBasePass.fullscreenMaterial.scale=e,this.bokehNearFillPass.fullscreenMaterial.scale=e,this.bokehFarBasePass.fullscreenMaterial.scale=e,this.bokehFarFillPass.fullscreenMaterial.scale=e,this.maskPass.fullscreenMaterial.strength=e,this.uniforms.get(\"scale\").value=e}getBokehScale(){return this.bokehScale}setBokehScale(e){this.bokehScale=e}getTarget(){return this.target}setTarget(e){this.target=e}calculateFocusDistance(e){return this.camera.getWorldPosition(Ya).distanceTo(e)}setDepthTexture(e,t=Sa){this.cocMaterial.depthBuffer=e,this.cocMaterial.depthPacking=t}update(e,t,r){let i=this.renderTarget,s=this.renderTargetCoC,n=this.renderTargetCoCBlurred,a=this.renderTargetMasked;if(this.target!==null){let o=this.calculateFocusDistance(this.target);this.cocMaterial.focusDistance=o}this.cocPass.render(e,null,s),this.blurPass.render(e,s,n),this.maskPass.render(e,t,a),this.bokehFarBasePass.render(e,a,i),this.bokehFarFillPass.render(e,i,this.renderTargetFar),this.bokehNearBasePass.render(e,t,i),this.bokehNearFillPass.render(e,i,this.renderTargetNear)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.cocPass.setSize(e,t),this.blurPass.setSize(e,t),this.maskPass.setSize(e,t),this.renderTargetFar.setSize(e,t),this.renderTargetCoC.setSize(e,t),this.renderTargetMasked.setSize(e,t),this.renderTarget.setSize(i,s),this.renderTargetNear.setSize(i,s),this.renderTargetCoCBlurred.setSize(i,s),this.bokehNearBasePass.fullscreenMaterial.setSize(e,t),this.bokehNearFillPass.fullscreenMaterial.setSize(e,t),this.bokehFarBasePass.fullscreenMaterial.setSize(e,t),this.bokehFarFillPass.fullscreenMaterial.setSize(e,t)}initialize(e,t,r){this.cocPass.initialize(e,t,r),this.maskPass.initialize(e,t,r),this.bokehNearBasePass.initialize(e,t,r),this.bokehNearFillPass.initialize(e,t,r),this.bokehFarBasePass.initialize(e,t,r),this.bokehFarFillPass.initialize(e,t,r),this.blurPass.initialize(e,t,Ba),e.capabilities.logarithmicDepthBuffer&&(this.cocPass.fullscreenMaterial.defines.LOG_DEPTH=\"1\"),r!==void 0&&(this.renderTarget.texture.type=r,this.renderTargetNear.texture.type=r,this.renderTargetFar.texture.type=r,this.renderTargetMasked.texture.type=r,e!==null&&e.outputColorSpace===ge&&(this.renderTarget.texture.colorSpace=ge,this.renderTargetNear.texture.colorSpace=ge,this.renderTargetFar.texture.colorSpace=ge,this.renderTargetMasked.texture.colorSpace=ge))}},Ka=\"uniform vec2 angle;uniform float scale;float pattern(const in vec2 uv){vec2 point=scale*vec2(dot(angle.yx,vec2(uv.x,-uv.y)),dot(angle,uv));return(sin(point.x)*sin(point.y))*4.0;}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=vec3(inputColor.rgb*10.0-5.0+pattern(uv*resolution));outputColor=vec4(color,inputColor.a);}\",qu=class extends w{constructor({blendFunction:e,angle:t=Math.PI*.5,scale:r=1}={}){super(\"DotScreenEffect\",Ka,{blendFunction:e,uniforms:new Map([[\"angle\",new qt(new Xa)],[\"scale\",new qt(r)]])}),this.angle=t}get angle(){return Math.acos(this.uniforms.get(\"angle\").value.y)}set angle(e){this.uniforms.get(\"angle\").value.set(Math.sin(e),Math.cos(e))}getAngle(){return this.angle}setAngle(e){this.angle=e}get scale(){return this.uniforms.get(\"scale\").value}set scale(e){this.uniforms.get(\"scale\").value=e}},Za=`#define QUALITY(q) ((q) < 5 ? 1.0 : ((q) > 5 ? ((q) < 10 ? 2.0 : ((q) < 11 ? 4.0 : 8.0)) : 1.5))\n#define ONE_OVER_TWELVE 0.08333333333333333\nvarying vec2 vUvDown;varying vec2 vUvUp;varying vec2 vUvLeft;varying vec2 vUvRight;varying vec2 vUvDownLeft;varying vec2 vUvUpRight;varying vec2 vUvUpLeft;varying vec2 vUvDownRight;vec4 fxaa(const in vec4 inputColor,const in vec2 uv){float lumaCenter=luminance(inputColor.rgb);float lumaDown=luminance(texture2D(inputBuffer,vUvDown).rgb);float lumaUp=luminance(texture2D(inputBuffer,vUvUp).rgb);float lumaLeft=luminance(texture2D(inputBuffer,vUvLeft).rgb);float lumaRight=luminance(texture2D(inputBuffer,vUvRight).rgb);float lumaMin=min(lumaCenter,min(min(lumaDown,lumaUp),min(lumaLeft,lumaRight)));float lumaMax=max(lumaCenter,max(max(lumaDown,lumaUp),max(lumaLeft,lumaRight)));float lumaRange=lumaMax-lumaMin;if(lumaRange<max(EDGE_THRESHOLD_MIN,lumaMax*EDGE_THRESHOLD_MAX)){return inputColor;}float lumaDownLeft=luminance(texture2D(inputBuffer,vUvDownLeft).rgb);float lumaUpRight=luminance(texture2D(inputBuffer,vUvUpRight).rgb);float lumaUpLeft=luminance(texture2D(inputBuffer,vUvUpLeft).rgb);float lumaDownRight=luminance(texture2D(inputBuffer,vUvDownRight).rgb);float lumaDownUp=lumaDown+lumaUp;float lumaLeftRight=lumaLeft+lumaRight;float lumaLeftCorners=lumaDownLeft+lumaUpLeft;float lumaDownCorners=lumaDownLeft+lumaDownRight;float lumaRightCorners=lumaDownRight+lumaUpRight;float lumaUpCorners=lumaUpRight+lumaUpLeft;float edgeHorizontal=(abs(-2.0*lumaLeft+lumaLeftCorners)+abs(-2.0*lumaCenter+lumaDownUp)*2.0+abs(-2.0*lumaRight+lumaRightCorners));float edgeVertical=(abs(-2.0*lumaUp+lumaUpCorners)+abs(-2.0*lumaCenter+lumaLeftRight)*2.0+abs(-2.0*lumaDown+lumaDownCorners));bool isHorizontal=(edgeHorizontal>=edgeVertical);float stepLength=isHorizontal?texelSize.y:texelSize.x;float luma1=isHorizontal?lumaDown:lumaLeft;float luma2=isHorizontal?lumaUp:lumaRight;float gradient1=abs(luma1-lumaCenter);float gradient2=abs(luma2-lumaCenter);bool is1Steepest=gradient1>=gradient2;float gradientScaled=0.25*max(gradient1,gradient2);float lumaLocalAverage=0.0;if(is1Steepest){stepLength=-stepLength;lumaLocalAverage=0.5*(luma1+lumaCenter);}else{lumaLocalAverage=0.5*(luma2+lumaCenter);}vec2 currentUv=uv;if(isHorizontal){currentUv.y+=stepLength*0.5;}else{currentUv.x+=stepLength*0.5;}vec2 offset=isHorizontal?vec2(texelSize.x,0.0):vec2(0.0,texelSize.y);vec2 uv1=currentUv-offset*QUALITY(0);vec2 uv2=currentUv+offset*QUALITY(0);float lumaEnd1=luminance(texture2D(inputBuffer,uv1).rgb);float lumaEnd2=luminance(texture2D(inputBuffer,uv2).rgb);lumaEnd1-=lumaLocalAverage;lumaEnd2-=lumaLocalAverage;bool reached1=abs(lumaEnd1)>=gradientScaled;bool reached2=abs(lumaEnd2)>=gradientScaled;bool reachedBoth=reached1&&reached2;if(!reached1){uv1-=offset*QUALITY(1);}if(!reached2){uv2+=offset*QUALITY(1);}if(!reachedBoth){for(int i=2;i<SAMPLES;++i){if(!reached1){lumaEnd1=luminance(texture2D(inputBuffer,uv1).rgb);lumaEnd1=lumaEnd1-lumaLocalAverage;}if(!reached2){lumaEnd2=luminance(texture2D(inputBuffer,uv2).rgb);lumaEnd2=lumaEnd2-lumaLocalAverage;}reached1=abs(lumaEnd1)>=gradientScaled;reached2=abs(lumaEnd2)>=gradientScaled;reachedBoth=reached1&&reached2;if(!reached1){uv1-=offset*QUALITY(i);}if(!reached2){uv2+=offset*QUALITY(i);}if(reachedBoth){break;}}}float distance1=isHorizontal?(uv.x-uv1.x):(uv.y-uv1.y);float distance2=isHorizontal?(uv2.x-uv.x):(uv2.y-uv.y);bool isDirection1=distance1<distance2;float distanceFinal=min(distance1,distance2);float edgeThickness=(distance1+distance2);bool isLumaCenterSmaller=lumaCenter<lumaLocalAverage;bool correctVariation1=(lumaEnd1<0.0)!=isLumaCenterSmaller;bool correctVariation2=(lumaEnd2<0.0)!=isLumaCenterSmaller;bool correctVariation=isDirection1?correctVariation1:correctVariation2;float pixelOffset=-distanceFinal/edgeThickness+0.5;float finalOffset=correctVariation?pixelOffset:0.0;float lumaAverage=ONE_OVER_TWELVE*(2.0*(lumaDownUp+lumaLeftRight)+lumaLeftCorners+lumaRightCorners);float subPixelOffset1=clamp(abs(lumaAverage-lumaCenter)/lumaRange,0.0,1.0);float subPixelOffset2=(-2.0*subPixelOffset1+3.0)*subPixelOffset1*subPixelOffset1;float subPixelOffsetFinal=subPixelOffset2*subPixelOffset2*SUBPIXEL_QUALITY;finalOffset=max(finalOffset,subPixelOffsetFinal);vec2 finalUv=uv;if(isHorizontal){finalUv.y+=finalOffset*stepLength;}else{finalUv.x+=finalOffset*stepLength;}return texture2D(inputBuffer,finalUv);}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=fxaa(inputColor,uv);}`,ja=\"varying vec2 vUvDown;varying vec2 vUvUp;varying vec2 vUvLeft;varying vec2 vUvRight;varying vec2 vUvDownLeft;varying vec2 vUvUpRight;varying vec2 vUvUpLeft;varying vec2 vUvDownRight;void mainSupport(const in vec2 uv){vUvDown=uv+vec2(0.0,-1.0)*texelSize;vUvUp=uv+vec2(0.0,1.0)*texelSize;vUvRight=uv+vec2(1.0,0.0)*texelSize;vUvLeft=uv+vec2(-1.0,0.0)*texelSize;vUvDownLeft=uv+vec2(-1.0,-1.0)*texelSize;vUvUpRight=uv+vec2(1.0,1.0)*texelSize;vUvUpLeft=uv+vec2(-1.0,1.0)*texelSize;vUvDownRight=uv+vec2(1.0,-1.0)*texelSize;}\",$u=class extends w{constructor({blendFunction:e=g.SRC}={}){super(\"FXAAEffect\",Za,{vertexShader:ja,blendFunction:e,defines:new Map([[\"EDGE_THRESHOLD_MIN\",\"0.0312\"],[\"EDGE_THRESHOLD_MAX\",\"0.125\"],[\"SUBPIXEL_QUALITY\",\"0.75\"],[\"SAMPLES\",\"12\"]])})}get minEdgeThreshold(){return Number(this.defines.get(\"EDGE_THRESHOLD_MIN\"))}set minEdgeThreshold(e){this.defines.set(\"EDGE_THRESHOLD_MIN\",e.toFixed(12)),this.setChanged()}get maxEdgeThreshold(){return Number(this.defines.get(\"EDGE_THRESHOLD_MAX\"))}set maxEdgeThreshold(e){this.defines.set(\"EDGE_THRESHOLD_MAX\",e.toFixed(12)),this.setChanged()}get subpixelQuality(){return Number(this.defines.get(\"SUBPIXEL_QUALITY\"))}set subpixelQuality(e){this.defines.set(\"SUBPIXEL_QUALITY\",e.toFixed(12)),this.setChanged()}get samples(){return Number(this.defines.get(\"SAMPLES\"))}set samples(e){this.defines.set(\"SAMPLES\",e.toFixed(0)),this.setChanged()}},qa=\"uniform float gamma;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=LinearToGamma(max(inputColor,0.0),gamma);}\",tf=class extends w{constructor({blendFunction:e=g.SRC,gamma:t=2}={}){super(\"GammaCorrectionEffect\",qa,{blendFunction:e,uniforms:new Map([[\"gamma\",new Ja(t)]])})}},me={DISABLED:0,SPORADIC:1,CONSTANT_MILD:2,CONSTANT_WILD:3};function an(e,t,r){let i=new Map([[si,1],[rn,2],[sn,4]]),s;if(i.has(t)||console.error(\"Invalid noise texture format\"),r===ai){s=new Uint8Array(e*i.get(t));for(let n=0,a=s.length;n<a;++n)s[n]=Math.random()*255+.5}else{s=new Float32Array(e*i.get(t));for(let n=0,a=s.length;n<a;++n)s[n]=Math.random()}return s}var It=class extends tn{constructor(e,t,r=si,i=ai){super(an(e*t,r,i),e,t,r,i),this.needsUpdate=!0}},nn=\"uniform lowp sampler2D perturbationMap;uniform bool active;uniform float columns;uniform float random;uniform vec2 seeds;uniform vec2 distortion;void mainUv(inout vec2 uv){if(active){if(uv.y<distortion.x+columns&&uv.y>distortion.x-columns*random){float sx=clamp(ceil(seeds.x),0.0,1.0);uv.y=sx*(1.0-(uv.y+distortion.y))+(1.0-sx)*distortion.y;}if(uv.x<distortion.y+columns&&uv.x>distortion.y-columns*random){float sy=clamp(ceil(seeds.y),0.0,1.0);uv.x=sy*distortion.x+(1.0-sy)*(1.0-(uv.x+distortion.x));}vec2 normal=texture2D(perturbationMap,uv*random*random).rg;uv+=normal*seeds*(random*0.2);}}\",_e=\"Glitch.Generated\";function L(e,t){return e+Math.random()*(t-e)}var af=class extends w{constructor({chromaticAberrationOffset:e=null,delay:t=new ne(1.5,3.5),duration:r=new ne(.6,1),strength:i=new ne(.3,1),columns:s=.05,ratio:n=.85,perturbationMap:a=null,dtSize:o=64}={}){if(super(\"GlitchEffect\",nn,{uniforms:new Map([[\"perturbationMap\",new ae(null)],[\"columns\",new ae(s)],[\"active\",new ae(!1)],[\"random\",new ae(1)],[\"seeds\",new ae(new ne)],[\"distortion\",new ae(new ne)]])}),a===null){let l=new It(o,o,$t);l.name=_e,this.perturbationMap=l}else this.perturbationMap=a;this.time=0,this.distortion=this.uniforms.get(\"distortion\").value,this.delay=t,this.duration=r,this.breakPoint=new ne(L(this.delay.x,this.delay.y),L(this.duration.x,this.duration.y)),this.strength=i,this.mode=me.SPORADIC,this.ratio=n,this.chromaticAberrationOffset=e}get seeds(){return this.uniforms.get(\"seeds\").value}get active(){return this.uniforms.get(\"active\").value}isActive(){return this.active}get minDelay(){return this.delay.x}set minDelay(e){this.delay.x=e}getMinDelay(){return this.delay.x}setMinDelay(e){this.delay.x=e}get maxDelay(){return this.delay.y}set maxDelay(e){this.delay.y=e}getMaxDelay(){return this.delay.y}setMaxDelay(e){this.delay.y=e}get minDuration(){return this.duration.x}set minDuration(e){this.duration.x=e}getMinDuration(){return this.duration.x}setMinDuration(e){this.duration.x=e}get maxDuration(){return this.duration.y}set maxDuration(e){this.duration.y=e}getMaxDuration(){return this.duration.y}setMaxDuration(e){this.duration.y=e}get minStrength(){return this.strength.x}set minStrength(e){this.strength.x=e}getMinStrength(){return this.strength.x}setMinStrength(e){this.strength.x=e}get maxStrength(){return this.strength.y}set maxStrength(e){this.strength.y=e}getMaxStrength(){return this.strength.y}setMaxStrength(e){this.strength.y=e}getMode(){return this.mode}setMode(e){this.mode=e}getGlitchRatio(){return 1-this.ratio}setGlitchRatio(e){this.ratio=Math.min(Math.max(1-e,0),1)}get columns(){return this.uniforms.get(\"columns\").value}set columns(e){this.uniforms.get(\"columns\").value=e}getGlitchColumns(){return this.columns}setGlitchColumns(e){this.columns=e}getChromaticAberrationOffset(){return this.chromaticAberrationOffset}setChromaticAberrationOffset(e){this.chromaticAberrationOffset=e}get perturbationMap(){return this.uniforms.get(\"perturbationMap\").value}set perturbationMap(e){let t=this.perturbationMap;t!==null&&t.name===_e&&t.dispose(),e.minFilter=e.magFilter=$a,e.wrapS=e.wrapT=en,e.generateMipmaps=!1,this.uniforms.get(\"perturbationMap\").value=e}getPerturbationMap(){return this.perturbationMap}setPerturbationMap(e){this.perturbationMap=e}generatePerturbationMap(e=64){let t=new It(e,e,$t);return t.name=_e,t}update(e,t,r){let i=this.mode,s=this.breakPoint,n=this.chromaticAberrationOffset,a=this.strength,o=this.time,l=!1,c=0,f=0,u;i!==me.DISABLED&&(i===me.SPORADIC&&(o+=r,u=o>s.x,o>=s.x+s.y&&(s.set(L(this.delay.x,this.delay.y),L(this.duration.x,this.duration.y)),o=0)),c=Math.random(),this.uniforms.get(\"random\").value=c,u&&c>this.ratio||i===me.CONSTANT_WILD?(l=!0,c*=a.y*.03,f=L(-Math.PI,Math.PI),this.seeds.set(L(-a.y,a.y),L(-a.y,a.y)),this.distortion.set(L(0,1),L(0,1))):(u||i===me.CONSTANT_MILD)&&(l=!0,c*=a.x*.03,f=L(-Math.PI,Math.PI),this.seeds.set(L(-a.x,a.x),L(-a.x,a.x)),this.distortion.set(L(0,1),L(0,1))),this.time=o),n!==null&&(l?n.set(Math.cos(f),Math.sin(f)).multiplyScalar(c):n.set(0,0)),this.uniforms.get(\"active\").value=l}dispose(){let e=this.perturbationMap;e!==null&&e.name===_e&&e.dispose()}},mn=`#include <common>\n#include <dithering_pars_fragment>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform vec2 lightPosition;uniform float exposure;uniform float decay;uniform float density;uniform float weight;uniform float clampMax;varying vec2 vUv;void main(){vec2 coord=vUv;vec2 delta=lightPosition-coord;delta*=1.0/SAMPLES_FLOAT*density;float illuminationDecay=1.0;vec4 color=vec4(0.0);for(int i=0;i<SAMPLES_INT;++i){coord+=delta;vec4 texel=texture2D(inputBuffer,coord);texel*=illuminationDecay*weight;color+=texel;illuminationDecay*=decay;}gl_FragColor=clamp(color*exposure,0.0,clampMax);\n#include <dithering_fragment>\n}`,An=class extends pn{constructor(e){super({name:\"GodRaysMaterial\",defines:{SAMPLES_INT:\"60\",SAMPLES_FLOAT:\"60.0\"},uniforms:{inputBuffer:new J(null),lightPosition:new J(e),density:new J(1),decay:new J(1),weight:new J(1),exposure:new J(1),clampMax:new J(1)},blending:gn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:mn,vertexShader:K})}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get lightPosition(){return this.uniforms.lightPosition.value}getLightPosition(){return this.uniforms.lightPosition.value}setLightPosition(e){this.uniforms.lightPosition.value=e}get density(){return this.uniforms.density.value}set density(e){this.uniforms.density.value=e}getDensity(){return this.uniforms.density.value}setDensity(e){this.uniforms.density.value=e}get decay(){return this.uniforms.decay.value}set decay(e){this.uniforms.decay.value=e}getDecay(){return this.uniforms.decay.value}setDecay(e){this.uniforms.decay.value=e}get weight(){return this.uniforms.weight.value}set weight(e){this.uniforms.weight.value=e}getWeight(){return this.uniforms.weight.value}setWeight(e){this.uniforms.weight.value=e}get exposure(){return this.uniforms.exposure.value}set exposure(e){this.uniforms.exposure.value=e}getExposure(){return this.uniforms.exposure.value}setExposure(e){this.uniforms.exposure.value=e}get maxIntensity(){return this.uniforms.clampMax.value}set maxIntensity(e){this.uniforms.clampMax.value=e}getMaxIntensity(){return this.uniforms.clampMax.value}setMaxIntensity(e){this.uniforms.clampMax.value=e}get samples(){return Number(this.defines.SAMPLES_INT)}set samples(e){let t=Math.floor(e);this.defines.SAMPLES_INT=t.toFixed(0),this.defines.SAMPLES_FLOAT=t.toFixed(1),this.needsUpdate=!0}getSamples(){return this.samples}setSamples(e){this.samples=e}},et=class extends P{constructor(e,t,r=null){super(\"RenderPass\",e,t),this.needsSwap=!1,this.needsDepthBlit=!0,this.clearPass=new Ue,this.overrideMaterialManager=r===null?null:new Vt(r),this.ignoreBackground=!1,this.skipShadowMapUpdate=!1,this.selection=null}set mainScene(e){this.scene=e}set mainCamera(e){this.camera=e}get renderToScreen(){return super.renderToScreen}set renderToScreen(e){super.renderToScreen=e,this.clearPass.renderToScreen=e}get overrideMaterial(){let e=this.overrideMaterialManager;return e!==null?e.material:null}set overrideMaterial(e){let t=this.overrideMaterialManager;e!==null?t!==null?t.setMaterial(e):this.overrideMaterialManager=new Vt(e):t!==null&&(t.dispose(),this.overrideMaterialManager=null)}getOverrideMaterial(){return this.overrideMaterial}setOverrideMaterial(e){this.overrideMaterial=e}get clear(){return this.clearPass.enabled}set clear(e){this.clearPass.enabled=e}getSelection(){return this.selection}setSelection(e){this.selection=e}isBackgroundDisabled(){return this.ignoreBackground}setBackgroundDisabled(e){this.ignoreBackground=e}isShadowMapDisabled(){return this.skipShadowMapUpdate}setShadowMapDisabled(e){this.skipShadowMapUpdate=e}getClearPass(){return this.clearPass}render(e,t,r,i,s){let n=this.scene,a=this.camera,o=this.selection,l=a.layers.mask,c=n.background,f=e.shadowMap.autoUpdate,u=this.renderToScreen?null:t;o!==null&&a.layers.set(o.getLayer()),this.skipShadowMapUpdate&&(e.shadowMap.autoUpdate=!1),(this.ignoreBackground||this.clearPass.overrideClearColor!==null)&&(n.background=null),this.clearPass.enabled&&this.clearPass.render(e,t),e.setRenderTarget(u),this.overrideMaterialManager!==null?this.overrideMaterialManager.render(e,n,a):e.render(n,a),a.layers.mask=l,n.background=c,e.shadowMap.autoUpdate=f}},xn=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D map;\n#else\nuniform lowp sampler2D map;\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=texture2D(map,uv);}`,ct=new dn,tr=new cn,lf=class extends w{constructor(e,t,{blendFunction:r=g.SCREEN,samples:i=60,density:s=.96,decay:n=.9,weight:a=.4,exposure:o=.6,clampMax:l=1,blur:c=!0,kernelSize:f=z.SMALL,resolutionScale:u=.5,width:h=A.AUTO_SIZE,height:d=A.AUTO_SIZE,resolutionX:p=h,resolutionY:v=d}={}){super(\"GodRaysEffect\",xn,{blendFunction:r,attributes:y.DEPTH,uniforms:new Map([[\"map\",new fn(null)]])}),this.camera=e,this._lightSource=t,this.lightSource=t,this.lightScene=new un,this.screenPosition=new hn,this.renderTargetA=new er(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name=\"GodRays.Target.A\",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name=\"GodRays.Target.B\",this.uniforms.get(\"map\").value=this.renderTargetB.texture,this.renderTargetLight=new er(1,1),this.renderTargetLight.texture.name=\"GodRays.Light\",this.renderTargetLight.depthTexture=new ln,this.renderPassLight=new et(this.lightScene,e),this.renderPassLight.clearPass.enabled=!1,this.blurPass=new Re({kernelSize:f}),this.blurPass.enabled=c,this.copyPass=new Ut(this.renderTargetLight),this.copyPass.fullscreenMaterial.channelWeights=new vn(0,0,0,1),this.godRaysPass=new O(new An(this.screenPosition));let m=this.godRaysMaterial;m.density=s,m.decay=n,m.weight=a,m.exposure=o,m.maxIntensity=l,m.samples=i;let D=this.resolution=new A(this,p,v,u);D.addEventListener(\"change\",E=>this.setSize(D.baseWidth,D.baseHeight))}set mainCamera(e){this.camera=e,this.renderPassLight.mainCamera=e}get lightSource(){return this._lightSource}set lightSource(e){this._lightSource=e,e!==null&&(e.material.depthWrite=!1,e.material.transparent=!0)}getBlurPass(){return this.blurPass}get texture(){return this.renderTargetB.texture}getTexture(){return this.texture}get godRaysMaterial(){return this.godRaysPass.fullscreenMaterial}getGodRaysMaterial(){return this.godRaysMaterial}getResolution(){return this.resolution}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get dithering(){return this.godRaysMaterial.dithering}set dithering(e){let t=this.godRaysMaterial;t.dithering=e,t.needsUpdate=!0}get blur(){return this.blurPass.enabled}set blur(e){this.blurPass.enabled=e}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(e){this.blurPass.kernelSize=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}get samples(){return this.godRaysMaterial.samples}set samples(e){this.godRaysMaterial.samples=e}setDepthTexture(e,t=on){this.copyPass.fullscreenMaterial.depthBuffer=e,this.copyPass.fullscreenMaterial.depthPacking=t}update(e,t,r){let i=this.lightSource,s=i.parent,n=i.matrixAutoUpdate,a=this.renderTargetA,o=this.renderTargetLight;i.material.depthWrite=!0,i.matrixAutoUpdate=!1,i.updateWorldMatrix(!0,!1),s!==null&&(n||tr.copy(i.matrix),i.matrix.copy(i.matrixWorld)),this.lightScene.add(i),this.copyPass.render(e,t),this.renderPassLight.render(e,o),i.material.depthWrite=!1,i.matrixAutoUpdate=n,s!==null&&(n||i.matrix.copy(tr),s.add(i)),ct.setFromMatrixPosition(i.matrixWorld).project(this.camera),this.screenPosition.set(Math.min(Math.max((ct.x+1)*.5,-1),2),Math.min(Math.max((ct.y+1)*.5,-1),2));let l=o;this.blurPass.enabled&&(this.blurPass.render(e,l,a),l=a),this.godRaysPass.render(e,l,this.renderTargetB)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.renderTargetLight.setSize(e,t),this.renderTargetA.setSize(i,s),this.renderTargetB.setSize(i,s),this.blurPass.resolution.copy(r)}initialize(e,t,r){this.blurPass.initialize(e,t,r),this.renderPassLight.initialize(e,t,r),this.copyPass.initialize(e,t,r),this.godRaysPass.initialize(e,t,r),r!==void 0&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,this.renderTargetLight.texture.type=r,e!==null&&e.outputColorSpace===Ve&&(this.renderTargetA.texture.colorSpace=Ve,this.renderTargetB.texture.colorSpace=Ve,this.renderTargetLight.texture.colorSpace=Ve))}},En=\"uniform vec2 scale;uniform float lineWidth;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){float grid=0.5-max(abs(mod(uv.x*scale.x,1.0)-0.5),abs(mod(uv.y*scale.y,1.0)-0.5));outputColor=vec4(vec3(smoothstep(0.0,lineWidth,grid)),inputColor.a);}\",uf=class extends w{constructor({blendFunction:e=g.OVERLAY,scale:t=1,lineWidth:r=0}={}){super(\"GridEffect\",En,{blendFunction:e,uniforms:new Map([[\"scale\",new rr(new ir)],[\"lineWidth\",new rr(r)]])}),this.resolution=new ir,this.s=0,this.scale=t,this.l=0,this.lineWidth=r}get scale(){return this.s}set scale(e){this.s=Math.max(e,1e-6),this.setSize(this.resolution.width,this.resolution.height)}getScale(){return this.scale}setScale(e){this.scale=e}get lineWidth(){return this.l}set lineWidth(e){this.l=e,this.setSize(this.resolution.width,this.resolution.height)}getLineWidth(){return this.lineWidth}setLineWidth(e){this.lineWidth=e}setSize(e,t){this.resolution.set(e,t);let r=e/t,i=this.scale*(t*.125);this.uniforms.get(\"scale\").value.set(r*i,i),this.uniforms.get(\"lineWidth\").value=i/t+this.lineWidth}},Tn=\"uniform vec3 hue;uniform float saturation;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=vec3(dot(inputColor.rgb,hue.xyz),dot(inputColor.rgb,hue.zxy),dot(inputColor.rgb,hue.yzx));float average=(color.r+color.g+color.b)/3.0;vec3 diff=average-color;if(saturation>0.0){color+=diff*(1.0-1.0/(1.001-saturation));}else{color+=diff*-saturation;}outputColor=vec4(min(color,1.0),inputColor.a);}\",hf=class extends w{constructor({blendFunction:e=g.SRC,hue:t=0,saturation:r=0}={}){super(\"HueSaturationEffect\",Tn,{blendFunction:e,uniforms:new Map([[\"hue\",new sr(new Dn)],[\"saturation\",new sr(r)]])}),this.hue=t}get saturation(){return this.uniforms.get(\"saturation\").value}set saturation(e){this.uniforms.get(\"saturation\").value=e}getSaturation(){return this.saturation}setSaturation(e){this.saturation=e}get hue(){let e=this.uniforms.get(\"hue\").value;return Math.acos((e.x*3-1)/2)}set hue(e){let t=Math.sin(e),r=Math.cos(e);this.uniforms.get(\"hue\").value.set((2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3)}getHue(){return this.hue}setHue(e){this.hue=e}},wn=\"uniform vec2 distortion;uniform vec2 principalPoint;uniform vec2 focalLength;uniform float skew;float mask(const in vec2 uv){return float(uv.s>=0.0&&uv.s<=1.0&&uv.t>=0.0&&uv.t<=1.0);}void mainUv(inout vec2 uv){vec2 xn=2.0*(uv.st-0.5);vec3 xDistorted=vec3((1.0+distortion*dot(xn,xn))*xn,1.0);mat3 kk=mat3(vec3(focalLength.x,0.0,0.0),vec3(skew*focalLength.x,focalLength.y,0.0),vec3(principalPoint.x,principalPoint.y,1.0));uv=(kk*xDistorted).xy*0.5+0.5;}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=mask(uv)*inputColor;}\",vf=class extends w{constructor({distortion:e=new ut(0,0),principalPoint:t=new ut(0,0),focalLength:r=new ut(1,1),skew:i=0}={}){super(\"LensDistortionEffect\",wn,{uniforms:new Map([[\"distortion\",new Qe(e)],[\"principalPoint\",new Qe(t)],[\"focalLength\",new Qe(r)],[\"skew\",new Qe(i)]])})}get distortion(){return this.uniforms.get(\"distortion\").value}set distortion(e){this.uniforms.get(\"distortion\").value=e}get principalPoint(){return this.uniforms.get(\"principalPoint\").value}set principalPoint(e){this.uniforms.get(\"principalPoint\").value=e}get focalLength(){return this.uniforms.get(\"focalLength\").value}set focalLength(e){this.uniforms.get(\"focalLength\").value=e}get skew(){return this.uniforms.get(\"skew\").value}set skew(e){this.uniforms.get(\"skew\").value=e}},Mn=`#ifdef LUT_PRECISION_HIGH\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D lut;\n#else\nuniform mediump sampler2D lut;\n#endif\n#else\nuniform lowp sampler2D lut;\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(texture2D(lut,vec2(inputColor.r,0.5)).r,texture2D(lut,vec2(inputColor.g,0.5)).r,texture2D(lut,vec2(inputColor.b,0.5)).r,inputColor.a);}`,pf=class extends w{constructor(e,{blendFunction:t=g.SRC}={}){super(\"LUT1DEffect\",Mn,{blendFunction:t,uniforms:new Map([[\"lut\",new Bn(null)]])}),this.lut=e}get lut(){return this.uniforms.get(\"lut\").value}set lut(e){this.uniforms.get(\"lut\").value=e,e!==null&&(e.type===Cn||e.type===Sn)&&this.defines.set(\"LUT_PRECISION_HIGH\",\"1\")}},Fn={SCALE_UP:\"lut.scaleup\"};function fr(e,t,r){let i=document.createElement(\"canvas\"),s=i.getContext(\"2d\");if(i.width=e,i.height=t,r instanceof Image)s.drawImage(r,0,0);else{let n=s.createImageData(e,t);n.data.set(r),s.putImageData(n,0,0)}return i}var ee=class ni{constructor(t=0,r=0,i=null){this.width=t,this.height=r,this.data=i}toCanvas(){return typeof document>\"u\"?null:fr(this.width,this.height,this.data)}static from(t){let{width:r,height:i}=t,s;if(t instanceof Image){let n=fr(r,i,t);n!==null&&(s=n.getContext(\"2d\").getImageData(0,0,r,i).data)}else s=t.data;return new ni(r,i,s)}},On=`(()=>{var O={SCALE_UP:\"lut.scaleup\"};var _=[new Float32Array(3),new Float32Array(3)],n=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],Z=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function d(a,t,r,m){let i=r[0]-t[0],e=r[1]-t[1],y=r[2]-t[2],h=a[0]-t[0],A=a[1]-t[1],w=a[2]-t[2],c=e*w-y*A,l=y*h-i*w,x=i*A-e*h,u=Math.sqrt(c*c+l*l+x*x),b=u*.5,s=c/u,F=l/u,f=x/u,p=-(a[0]*s+a[1]*F+a[2]*f),M=m[0]*s+m[1]*F+m[2]*f;return Math.abs(M+p)*b/3}function V(a,t,r,m,i,e){let y=(r+m*t+i*t*t)*4;e[0]=a[y+0],e[1]=a[y+1],e[2]=a[y+2]}function k(a,t,r,m,i,e){let y=r*(t-1),h=m*(t-1),A=i*(t-1),w=Math.floor(y),c=Math.floor(h),l=Math.floor(A),x=Math.ceil(y),u=Math.ceil(h),b=Math.ceil(A),s=y-w,F=h-c,f=A-l;if(w===y&&c===h&&l===A)V(a,t,y,h,A,e);else{let p;s>=F&&F>=f?p=Z[0]:s>=f&&f>=F?p=Z[1]:f>=s&&s>=F?p=Z[2]:F>=s&&s>=f?p=Z[3]:F>=f&&f>=s?p=Z[4]:f>=F&&F>=s&&(p=Z[5]);let[M,g,X,Y]=p,P=_[0];P[0]=s,P[1]=F,P[2]=f;let o=_[1],L=x-w,S=u-c,U=b-l;o[0]=L*M[0]+w,o[1]=S*M[1]+c,o[2]=U*M[2]+l,V(a,t,o[0],o[1],o[2],n[0]),o[0]=L*g[0]+w,o[1]=S*g[1]+c,o[2]=U*g[2]+l,V(a,t,o[0],o[1],o[2],n[1]),o[0]=L*X[0]+w,o[1]=S*X[1]+c,o[2]=U*X[2]+l,V(a,t,o[0],o[1],o[2],n[2]),o[0]=L*Y[0]+w,o[1]=S*Y[1]+c,o[2]=U*Y[2]+l,V(a,t,o[0],o[1],o[2],n[3]);let T=d(g,X,Y,P)*6,q=d(M,X,Y,P)*6,C=d(M,g,Y,P)*6,E=d(M,g,X,P)*6;n[0][0]*=T,n[0][1]*=T,n[0][2]*=T,n[1][0]*=q,n[1][1]*=q,n[1][2]*=q,n[2][0]*=C,n[2][1]*=C,n[2][2]*=C,n[3][0]*=E,n[3][1]*=E,n[3][2]*=E,e[0]=n[0][0]+n[1][0]+n[2][0]+n[3][0],e[1]=n[0][1]+n[1][1]+n[2][1]+n[3][1],e[2]=n[0][2]+n[1][2]+n[2][2]+n[3][2]}}var v=class{static expand(t,r){let m=Math.cbrt(t.length/4),i=new Float32Array(3),e=new t.constructor(r**3*4),y=t instanceof Uint8Array?255:1,h=r**2,A=1/(r-1);for(let w=0;w<r;++w)for(let c=0;c<r;++c)for(let l=0;l<r;++l){let x=l*A,u=c*A,b=w*A,s=Math.round(l+c*r+w*h)*4;k(t,m,x,u,b,i),e[s+0]=i[0],e[s+1]=i[1],e[s+2]=i[2],e[s+3]=y}return e}};self.addEventListener(\"message\",a=>{let t=a.data,r=t.data;t.operation===O.SCALE_UP&&(r=v.expand(r,t.size)),postMessage(r,[r.buffer]),close()});})();\n`,hr=new Un,Rt=class qe extends bn{constructor(t,r){super(t,r,r,r),this.type=q,this.format=dt,this.minFilter=We,this.magFilter=We,this.wrapS=ht,this.wrapT=ht,this.wrapR=ht,this.unpackAlignment=1,this.needsUpdate=!0,this.colorSpace=lr,this.domainMin=new ur(0,0,0),this.domainMax=new ur(1,1,1)}get isLookupTexture3D(){return!0}scaleUp(t,r=!0){let i=this.image,s;return t<=i.width?s=Promise.reject(new Error(\"The target size must be greater than the current size\")):s=new Promise((n,a)=>{let o=URL.createObjectURL(new Blob([On],{type:\"text/javascript\"})),l=new Worker(o);l.addEventListener(\"error\",f=>a(f.error)),l.addEventListener(\"message\",f=>{let u=new qe(f.data,t);this.colorSpace=u.colorSpace,u.type=this.type,u.name=this.name,URL.revokeObjectURL(o),n(u)});let c=r?[i.data.buffer]:[];l.postMessage({operation:Fn.SCALE_UP,data:i.data,size:t},c)}),s}applyLUT(t){let r=this.image,i=t.image,s=Math.min(r.width,r.height,r.depth),n=Math.min(i.width,i.height,i.depth);if(s!==n)console.error(\"Size mismatch\");else if(t.type!==q||this.type!==q)console.error(\"Both LUTs must be FloatType textures\");else if(t.format!==dt||this.format!==dt)console.error(\"Both LUTs must be RGBA textures\");else{let a=r.data,o=i.data,l=s,c=l**2,f=l-1;for(let u=0,h=l**3;u<h;++u){let d=u*4,p=a[d+0]*f,v=a[d+1]*f,m=a[d+2]*f,D=Math.round(p+v*l+m*c)*4;a[d+0]=o[D+0],a[d+1]=o[D+1],a[d+2]=o[D+2]}this.needsUpdate=!0}return this}convertToUint8(){if(this.type===q){let t=this.image.data,r=new Uint8Array(t.length);for(let i=0,s=t.length;i<s;++i)r[i]=t[i]*255+.5;this.image.data=r,this.type=cr,this.needsUpdate=!0}return this}convertToFloat(){if(this.type===cr){let t=this.image.data,r=new Float32Array(t.length);for(let i=0,s=t.length;i<s;++i)r[i]=t[i]/255;this.image.data=r,this.type=q,this.needsUpdate=!0}return this}convertToRGBA(){return console.warn(\"LookupTexture\",\"convertToRGBA() is deprecated, LUTs are now RGBA by default\"),this}convertLinearToSRGB(){let t=this.image.data;if(this.type===q){for(let r=0,i=t.length;r<i;r+=4)hr.fromArray(t,r).convertLinearToSRGB().toArray(t,r);this.colorSpace=Ln,this.needsUpdate=!0}else console.error(\"Color space conversion requires FloatType data\");return this}convertSRGBToLinear(){let t=this.image.data;if(this.type===q){for(let r=0,i=t.length;r<i;r+=4)hr.fromArray(t,r).convertSRGBToLinear().toArray(t,r);this.colorSpace=lr,this.needsUpdate=!0}else console.error(\"Color space conversion requires FloatType data\");return this}toDataTexture(){let t=this.image.width,r=this.image.height*this.image.depth,i=new Rn(this.image.data,t,r);return i.name=this.name,i.type=this.type,i.format=this.format,i.minFilter=We,i.magFilter=We,i.wrapS=this.wrapS,i.wrapT=this.wrapT,i.generateMipmaps=!1,i.needsUpdate=!0,this.colorSpace=i.colorSpace,i}static from(t){let r=t.image,{width:i,height:s}=r,n=Math.min(i,s),a;if(r instanceof Image){let c=ee.from(r).data;if(i>s){a=new Uint8Array(c.length);for(let f=0;f<n;++f)for(let u=0;u<n;++u)for(let h=0;h<n;++h){let d=(h+f*n+u*n*n)*4,p=(h+u*n+f*n*n)*4;a[p+0]=c[d+0],a[p+1]=c[d+1],a[p+2]=c[d+2],a[p+3]=c[d+3]}}else a=new Uint8Array(c.buffer)}else a=r.data.slice();let o=new qe(a,n);return o.type=t.type,o.name=t.name,t.colorSpace=o.colorSpace,o}static createNeutral(t){let r=new Float32Array(t**3*4),i=t**2,s=1/(t-1);for(let a=0;a<t;++a)for(let o=0;o<t;++o)for(let l=0;l<t;++l){let c=(a+o*t+l*i)*4;r[c+0]=a*s,r[c+1]=o*s,r[c+2]=l*s,r[c+3]=1}let n=new qe(r,t);return n.name=\"neutral\",n}},Nn=`uniform vec3 scale;uniform vec3 offset;\n#ifdef CUSTOM_INPUT_DOMAIN\nuniform vec3 domainMin;uniform vec3 domainMax;\n#endif\n#ifdef LUT_3D\n#ifdef LUT_PRECISION_HIGH\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler3D lut;\n#else\nuniform mediump sampler3D lut;\n#endif\n#else\nuniform lowp sampler3D lut;\n#endif\nvec4 applyLUT(const in vec3 rgb){\n#ifdef TETRAHEDRAL_INTERPOLATION\nvec3 p=floor(rgb);vec3 f=rgb-p;vec3 v1=(p+0.5)*LUT_TEXEL_WIDTH;vec3 v4=(p+1.5)*LUT_TEXEL_WIDTH;vec3 v2,v3;vec3 frac;if(f.r>=f.g){if(f.g>f.b){frac=f.rgb;v2=vec3(v4.x,v1.y,v1.z);v3=vec3(v4.x,v4.y,v1.z);}else if(f.r>=f.b){frac=f.rbg;v2=vec3(v4.x,v1.y,v1.z);v3=vec3(v4.x,v1.y,v4.z);}else{frac=f.brg;v2=vec3(v1.x,v1.y,v4.z);v3=vec3(v4.x,v1.y,v4.z);}}else{if(f.b>f.g){frac=f.bgr;v2=vec3(v1.x,v1.y,v4.z);v3=vec3(v1.x,v4.y,v4.z);}else if(f.r>=f.b){frac=f.grb;v2=vec3(v1.x,v4.y,v1.z);v3=vec3(v4.x,v4.y,v1.z);}else{frac=f.gbr;v2=vec3(v1.x,v4.y,v1.z);v3=vec3(v1.x,v4.y,v4.z);}}vec4 n1=texture(lut,v1);vec4 n2=texture(lut,v2);vec4 n3=texture(lut,v3);vec4 n4=texture(lut,v4);vec4 weights=vec4(1.0-frac.x,frac.x-frac.y,frac.y-frac.z,frac.z);vec4 result=weights*mat4(vec4(n1.r,n2.r,n3.r,n4.r),vec4(n1.g,n2.g,n3.g,n4.g),vec4(n1.b,n2.b,n3.b,n4.b),vec4(1.0));return vec4(result.rgb,1.0);\n#else\nreturn texture(lut,rgb);\n#endif\n}\n#else\n#ifdef LUT_PRECISION_HIGH\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D lut;\n#else\nuniform mediump sampler2D lut;\n#endif\n#else\nuniform lowp sampler2D lut;\n#endif\nvec4 applyLUT(const in vec3 rgb){float slice=rgb.b*LUT_SIZE;float slice0=floor(slice);float interp=slice-slice0;float centeredInterp=interp-0.5;float slice1=slice0+sign(centeredInterp);\n#ifdef LUT_STRIP_HORIZONTAL\nfloat xOffset=clamp(rgb.r*LUT_TEXEL_HEIGHT,LUT_TEXEL_WIDTH*0.5,LUT_TEXEL_HEIGHT-LUT_TEXEL_WIDTH*0.5);vec2 uv0=vec2(slice0*LUT_TEXEL_HEIGHT+xOffset,rgb.g);vec2 uv1=vec2(slice1*LUT_TEXEL_HEIGHT+xOffset,rgb.g);\n#else\nfloat yOffset=clamp(rgb.g*LUT_TEXEL_WIDTH,LUT_TEXEL_HEIGHT*0.5,LUT_TEXEL_WIDTH-LUT_TEXEL_HEIGHT*0.5);vec2 uv0=vec2(rgb.r,slice0*LUT_TEXEL_WIDTH+yOffset);vec2 uv1=vec2(rgb.r,slice1*LUT_TEXEL_WIDTH+yOffset);\n#endif\nvec4 sample0=texture2D(lut,uv0);vec4 sample1=texture2D(lut,uv1);return mix(sample0,sample1,abs(centeredInterp));}\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 c=inputColor.rgb;\n#ifdef CUSTOM_INPUT_DOMAIN\nif(c.r>=domainMin.r&&c.g>=domainMin.g&&c.b>=domainMin.b&&c.r<=domainMax.r&&c.g<=domainMax.g&&c.b<=domainMax.b){c=applyLUT(scale*c+offset).rgb;}else{c=inputColor.rgb;}\n#else\n#if !defined(LUT_3D) || defined(TETRAHEDRAL_INTERPOLATION)\nc=clamp(c,0.0,1.0);\n#endif\nc=applyLUT(scale*c+offset).rgb;\n#endif\noutputColor=vec4(c,inputColor.a);}`,xf=class extends w{constructor(e,{blendFunction:t=g.SRC,tetrahedralInterpolation:r=!1,inputColorSpace:i=yn}={}){super(\"LUT3DEffect\",Nn,{blendFunction:t,uniforms:new Map([[\"lut\",new Ae(null)],[\"scale\",new Ae(new or)],[\"offset\",new Ae(new or)],[\"domainMin\",new Ae(null)],[\"domainMax\",new Ae(null)]])}),this.tetrahedralInterpolation=r,this.inputColorSpace=i,this.lut=e}get lut(){return this.uniforms.get(\"lut\").value}set lut(e){let t=this.defines,r=this.uniforms;if(this.lut!==e&&(r.get(\"lut\").value=e,e!==null)){let i=e.image,s=this.tetrahedralInterpolation;if(t.clear(),t.set(\"LUT_SIZE\",Math.min(i.width,i.height).toFixed(16)),t.set(\"LUT_TEXEL_WIDTH\",(1/i.width).toFixed(16)),t.set(\"LUT_TEXEL_HEIGHT\",(1/i.height).toFixed(16)),r.get(\"domainMin\").value=null,r.get(\"domainMax\").value=null,(e.type===In||e.type===Pn)&&t.set(\"LUT_PRECISION_HIGH\",\"1\"),i.width>i.height?t.set(\"LUT_STRIP_HORIZONTAL\",\"1\"):e instanceof ft&&t.set(\"LUT_3D\",\"1\"),e instanceof Rt){let n=e.domainMin,a=e.domainMax;(n.x!==0||n.y!==0||n.z!==0||a.x!==1||a.y!==1||a.z!==1)&&(t.set(\"CUSTOM_INPUT_DOMAIN\",\"1\"),r.get(\"domainMin\").value=n.clone(),r.get(\"domainMax\").value=a.clone())}this.tetrahedralInterpolation=s}}getLUT(){return this.lut}setLUT(e){this.lut=e}updateScaleOffset(){let e=this.lut;if(e!==null){let t=Math.min(e.image.width,e.image.height),r=this.uniforms.get(\"scale\").value,i=this.uniforms.get(\"offset\").value;if(this.tetrahedralInterpolation&&e instanceof ft)if(this.defines.has(\"CUSTOM_INPUT_DOMAIN\")){let s=e.domainMax.clone().sub(e.domainMin);r.setScalar(t-1).divide(s),i.copy(e.domainMin).negate().multiply(r)}else r.setScalar(t-1),i.setScalar(0);else if(this.defines.has(\"CUSTOM_INPUT_DOMAIN\")){let s=e.domainMax.clone().sub(e.domainMin).multiplyScalar(t);r.setScalar(t-1).divide(s),i.copy(e.domainMin).negate().multiply(r).addScalar(1/(2*t))}else r.setScalar((t-1)/t),i.setScalar(1/(2*t))}}configureTetrahedralInterpolation(){let e=this.lut;e!==null&&(e.minFilter=ar,e.magFilter=ar,this.tetrahedralInterpolation&&(e instanceof ft?(e.minFilter=nr,e.magFilter=nr):console.warn(\"Tetrahedral interpolation requires a 3D texture\")),e.needsUpdate=!0)}get tetrahedralInterpolation(){return this.defines.has(\"TETRAHEDRAL_INTERPOLATION\")}set tetrahedralInterpolation(e){e?this.defines.set(\"TETRAHEDRAL_INTERPOLATION\",\"1\"):this.defines.delete(\"TETRAHEDRAL_INTERPOLATION\"),this.configureTetrahedralInterpolation(),this.updateScaleOffset(),this.setChanged()}setTetrahedralInterpolationEnabled(e){this.tetrahedralInterpolation=e}},Me={FULL:0,SINGLE:1},ye={DEFAULT:0,KEEP_MAX_DEPTH:1,DISCARD_MAX_DEPTH:2},oi={DEPTH:0,LUMA:1,COLOR:2},Gn={DISABLED:0,DEPTH:1,CUSTOM:2},xe={LOW:0,MEDIUM:1,HIGH:2,ULTRA:3},F={LINEAR:0,REINHARD:1,REINHARD2:2,REINHARD2_ADAPTIVE:3,UNCHARTED2:4,OPTIMIZED_CINEON:5,CINEON:5,ACES_FILMIC:6,AGX:7,NEUTRAL:8},Ee={DEFAULT:0,ESKIL:1},Ef={DERIVATIVES:\"derivatives\",FRAG_DEPTH:\"fragDepth\",DRAW_BUFFERS:\"drawBuffers\",SHADER_TEXTURE_LOD:\"shaderTextureLOD\"},Hn=`void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 noise=vec3(rand(uv*(1.0+time)));\n#ifdef PREMULTIPLY\noutputColor=vec4(min(inputColor.rgb*noise,vec3(1.0)),inputColor.a);\n#else\noutputColor=vec4(noise,inputColor.a);\n#endif\n}`,Df=class extends w{constructor({blendFunction:e=g.SCREEN,premultiply:t=!1}={}){super(\"NoiseEffect\",Hn,{blendFunction:e}),this.premultiply=t}get premultiply(){return this.defines.has(\"PREMULTIPLY\")}set premultiply(e){this.premultiply!==e&&(e?this.defines.set(\"PREMULTIPLY\",\"1\"):this.defines.delete(\"PREMULTIPLY\"),this.setChanged())}isPremultiplied(){return this.premultiply}setPremultiplied(e){this.premultiply=e}},Wn=`#include <packing>\n#include <clipping_planes_pars_fragment>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform float cameraNear;uniform float cameraFar;centroid varying float vViewZ;centroid varying vec4 vProjTexCoord;void main(){\n#include <clipping_planes_fragment>\nvec2 projTexCoord=(vProjTexCoord.xy/vProjTexCoord.w)*0.5+0.5;\n#if DEPTH_PACKING == 3201\nfloat depth=unpackRGBAToDepth(texture2D(depthBuffer,projTexCoord));\n#else\nfloat depth=texture2D(depthBuffer,projTexCoord).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth=1.0-depth;\n#endif\n#ifdef PERSPECTIVE_CAMERA\nfloat viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);\n#else\nfloat viewZ=orthographicDepthToViewZ(depth,cameraNear,cameraFar);\n#endif\nfloat depthTest=(-vViewZ>-viewZ)?1.0:0.0;gl_FragColor.rg=vec2(0.0,depthTest);}`,Yn=`#include <common>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying float vViewZ;varying vec4 vProjTexCoord;void main(){\n#include <skinbase_vertex>\n#include <begin_vertex>\n#include <morphtarget_vertex>\n#include <skinning_vertex>\n#include <project_vertex>\nvViewZ=mvPosition.z;vProjTexCoord=gl_Position;\n#include <clipping_planes_vertex>\n}`,Xn=class extends Qn{constructor(e=null,t){super({name:\"DepthComparisonMaterial\",defines:{DEPTH_PACKING:\"0\"},uniforms:{depthBuffer:new vt(null),cameraNear:new vt(.3),cameraFar:new vt(1e3)},blending:_n,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Wn,vertexShader:Yn}),this.depthBuffer=e,this.depthPacking=vr,this.copyCameraSettings(t)}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=vr){this.depthBuffer=e,this.depthPacking=t}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof Vn?this.defines.PERSPECTIVE_CAMERA=\"1\":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},jn=\"uniform lowp sampler2D inputBuffer;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 c0=texture2D(inputBuffer,vUv0).rg;vec2 c1=texture2D(inputBuffer,vUv1).rg;vec2 c2=texture2D(inputBuffer,vUv2).rg;vec2 c3=texture2D(inputBuffer,vUv3).rg;float d0=(c0.x-c1.x)*0.5;float d1=(c2.x-c3.x)*0.5;float d=length(vec2(d0,d1));float a0=min(c0.y,c1.y);float a1=min(c2.y,c3.y);float visibilityFactor=min(a0,a1);gl_FragColor.rg=(1.0-visibilityFactor>0.001)?vec2(d,0.0):vec2(0.0,d);}\",Jn=\"uniform vec2 texelSize;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vUv0=vec2(uv.x+texelSize.x,uv.y);vUv1=vec2(uv.x-texelSize.x,uv.y);vUv2=vec2(uv.x,uv.y+texelSize.y);vUv3=vec2(uv.x,uv.y-texelSize.y);gl_Position=vec4(position.xy,1.0,1.0);}\",qn=class extends Zn{constructor(e=new pr){super({name:\"OutlineMaterial\",uniforms:{inputBuffer:new gr(null),texelSize:new gr(new pr)},blending:Kn,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:jn,vertexShader:Jn}),this.uniforms.texelSize.value.set(e.x,e.y),this.uniforms.maskTexture=this.uniforms.inputBuffer}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},li=class extends P{constructor(e,t,{renderTarget:r,resolutionScale:i=1,width:s=A.AUTO_SIZE,height:n=A.AUTO_SIZE,resolutionX:a=s,resolutionY:o=n}={}){super(\"DepthPass\"),this.needsSwap=!1,this.renderPass=new et(e,t,new eo({depthPacking:to}));let l=this.renderPass;l.skipShadowMapUpdate=!0,l.ignoreBackground=!0,this.renderTarget=r,this.renderTarget===void 0&&(this.renderTarget=new ro(1,1,{minFilter:mr,magFilter:mr}),this.renderTarget.texture.name=\"DepthPass.Target\");let c=this.resolution=new A(this,a,o,i);c.addEventListener(\"change\",f=>this.setSize(c.baseWidth,c.baseHeight))}set mainScene(e){this.renderPass.mainScene=e}set mainCamera(e){this.renderPass.mainCamera=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,i,s){let n=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,n)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height)}initialize(e,t,r){let i=e.capabilities.reversedDepthBuffer?0:16777215,s=this.renderPass.clearPass;s.overrideClearColor=new $n(i),s.overrideClearAlpha=1}},io=`uniform lowp sampler2D edgeTexture;uniform lowp sampler2D maskTexture;uniform vec3 visibleEdgeColor;uniform vec3 hiddenEdgeColor;uniform float pulse;uniform float edgeStrength;\n#ifdef USE_PATTERN\nuniform lowp sampler2D patternTexture;varying vec2 vUvPattern;\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec2 edge=texture2D(edgeTexture,uv).rg;vec2 mask=texture2D(maskTexture,uv).rg;\n#ifndef X_RAY\nedge.y=0.0;\n#endif\nedge*=(edgeStrength*mask.x*pulse);vec3 color=edge.x*visibleEdgeColor+edge.y*hiddenEdgeColor;float visibilityFactor=0.0;\n#ifdef USE_PATTERN\nvec4 patternColor=texture2D(patternTexture,vUvPattern);\n#ifdef X_RAY\nfloat hiddenFactor=0.5;\n#else\nfloat hiddenFactor=0.0;\n#endif\nvisibilityFactor=(1.0-mask.y>0.0)?1.0:hiddenFactor;visibilityFactor*=(1.0-mask.x)*patternColor.a;color+=visibilityFactor*patternColor.rgb;\n#endif\nfloat alpha=max(max(edge.x,edge.y),visibilityFactor);\n#ifdef ALPHA\noutputColor=vec4(color,alpha);\n#else\noutputColor=vec4(color,max(alpha,inputColor.a));\n#endif\n}`,so=\"uniform float patternScale;varying vec2 vUvPattern;void mainSupport(const in vec2 uv){vUvPattern=uv*vec2(aspect,1.0)*patternScale;}\",Bf=class extends w{constructor(e,t,{blendFunction:r=g.SCREEN,patternTexture:i=null,patternScale:s=1,edgeStrength:n=1,pulseSpeed:a=0,visibleEdgeColor:o=16777215,hiddenEdgeColor:l=2230538,kernelSize:c=z.VERY_SMALL,blur:f=!1,xRay:u=!0,multisampling:h=0,resolutionScale:d=.5,width:p=A.AUTO_SIZE,height:v=A.AUTO_SIZE,resolutionX:m=p,resolutionY:D=v}={}){super(\"OutlineEffect\",io,{uniforms:new Map([[\"maskTexture\",new Q(null)],[\"edgeTexture\",new Q(null)],[\"edgeStrength\",new Q(n)],[\"visibleEdgeColor\",new Q(new Ye(o))],[\"hiddenEdgeColor\",new Q(new Ye(l))],[\"pulse\",new Q(1)],[\"patternScale\",new Q(s)],[\"patternTexture\",new Q(null)]])}),this.blendMode.addEventListener(\"change\",N=>{this.blendMode.blendFunction===g.ALPHA?this.defines.set(\"ALPHA\",\"1\"):this.defines.delete(\"ALPHA\"),this.setChanged()}),this.blendMode.blendFunction=r,this.patternTexture=i,this.xRay=u,this.scene=e,this.camera=t,this.renderTargetMask=new dr(1,1),this.renderTargetMask.samples=h,this.renderTargetMask.texture.name=\"Outline.Mask\",this.uniforms.get(\"maskTexture\").value=this.renderTargetMask.texture,this.renderTargetOutline=new dr(1,1,{depthBuffer:!1}),this.renderTargetOutline.texture.name=\"Outline.Edges\",this.uniforms.get(\"edgeTexture\").value=this.renderTargetOutline.texture,this.clearPass=new Ue,this.clearPass.overrideClearColor=new Ye(0),this.clearPass.overrideClearAlpha=1,this.depthPass=new li(e,t),this.maskPass=new et(e,t,new Xn(this.depthPass.texture,t));let E=this.maskPass.clearPass;E.overrideClearColor=new Ye(16777215),E.overrideClearAlpha=1,this.blurPass=new Re({resolutionScale:d,resolutionX:m,resolutionY:D,kernelSize:c}),this.blurPass.enabled=f;let x=this.blurPass.resolution;x.addEventListener(\"change\",N=>this.setSize(x.baseWidth,x.baseHeight)),this.outlinePass=new O(new qn);let U=this.outlinePass.fullscreenMaterial;U.inputBuffer=this.renderTargetMask.texture,this.time=0,this.forceUpdate=!0,this.selection=new ei,this.pulseSpeed=a}set mainScene(e){this.scene=e,this.depthPass.mainScene=e,this.maskPass.mainScene=e}set mainCamera(e){this.camera=e,this.depthPass.mainCamera=e,this.maskPass.mainCamera=e,this.maskPass.overrideMaterial.copyCameraSettings(e)}get resolution(){return this.blurPass.resolution}getResolution(){return this.blurPass.getResolution()}get multisampling(){return this.renderTargetMask.samples}set multisampling(e){this.renderTargetMask.samples=e,this.renderTargetMask.dispose()}get patternScale(){return this.uniforms.get(\"patternScale\").value}set patternScale(e){this.uniforms.get(\"patternScale\").value=e}get edgeStrength(){return this.uniforms.get(\"edgeStrength\").value}set edgeStrength(e){this.uniforms.get(\"edgeStrength\").value=e}get visibleEdgeColor(){return this.uniforms.get(\"visibleEdgeColor\").value}set visibleEdgeColor(e){this.uniforms.get(\"visibleEdgeColor\").value=e}get hiddenEdgeColor(){return this.uniforms.get(\"hiddenEdgeColor\").value}set hiddenEdgeColor(e){this.uniforms.get(\"hiddenEdgeColor\").value=e}getBlurPass(){return this.blurPass}getSelection(){return this.selection}getPulseSpeed(){return this.pulseSpeed}setPulseSpeed(e){this.pulseSpeed=e}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get selectionLayer(){return this.selection.layer}set selectionLayer(e){this.selection.layer=e}get dithering(){return this.blurPass.dithering}set dithering(e){this.blurPass.dithering=e}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(e){this.blurPass.kernelSize=e}get blur(){return this.blurPass.enabled}set blur(e){this.blurPass.enabled=e}get xRay(){return this.defines.has(\"X_RAY\")}set xRay(e){this.xRay!==e&&(e?this.defines.set(\"X_RAY\",\"1\"):this.defines.delete(\"X_RAY\"),this.setChanged())}isXRayEnabled(){return this.xRay}setXRayEnabled(e){this.xRay=e}get patternTexture(){return this.uniforms.get(\"patternTexture\").value}set patternTexture(e){e!==null?(e.wrapS=e.wrapT=kn,this.defines.set(\"USE_PATTERN\",\"1\"),this.setVertexShader(so)):(this.defines.delete(\"USE_PATTERN\"),this.setVertexShader(null)),this.uniforms.get(\"patternTexture\").value=e,this.setChanged()}setPatternTexture(e){this.patternTexture=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}setSelection(e){return this.selection.set(e),this}clearSelection(){return this.selection.clear(),this}selectObject(e){return this.selection.add(e),this}deselectObject(e){return this.selection.delete(e),this}update(e,t,r){let i=this.scene,s=this.camera,n=this.selection,o=this.uniforms.get(\"pulse\"),l=i.background,c=s.layers.mask;(this.forceUpdate||n.size>0)&&(i.background=null,o.value=1,this.pulseSpeed>0&&(o.value=Math.cos(this.time*this.pulseSpeed*10)*.375+.625),this.time+=r,n.setVisible(!1),this.depthPass.render(e),n.setVisible(!0),s.layers.set(n.layer),this.maskPass.render(e,this.renderTargetMask),s.layers.mask=c,i.background=l,this.outlinePass.render(e,null,this.renderTargetOutline),this.blurPass.enabled&&this.blurPass.render(e,this.renderTargetOutline,this.renderTargetOutline)),this.forceUpdate=n.size>0}setSize(e,t){this.blurPass.setSize(e,t),this.renderTargetMask.setSize(e,t);let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.depthPass.setSize(i,s),this.renderTargetOutline.setSize(i,s),this.outlinePass.fullscreenMaterial.setSize(i,s)}initialize(e,t,r){this.blurPass.initialize(e,t,zn),r!==void 0&&(this.depthPass.initialize(e,t,r),this.maskPass.initialize(e,t,r),this.outlinePass.initialize(e,t,r))}},oo=\"uniform bool active;uniform vec4 d;void mainUv(inout vec2 uv){if(active){uv=d.xy*(floor(uv*d.zw)+0.5);}}\",If=class extends w{constructor(e=30){super(\"PixelationEffect\",oo,{uniforms:new Map([[\"active\",new Ar(!1)],[\"d\",new Ar(new no)]])}),this.resolution=new ao,this._granularity=0,this.granularity=e}get granularity(){return this._granularity}set granularity(e){let t=Math.floor(e);t%2>0&&(t+=1),this._granularity=t,this.uniforms.get(\"active\").value=t>0,this.setSize(this.resolution.width,this.resolution.height)}getGranularity(){return this.granularity}setGranularity(e){this.granularity=e}setSize(e,t){let r=this.resolution;r.set(e,t);let i=this.granularity,s=i/r.x,n=i/r.y;this.uniforms.get(\"d\").value.set(s,n,1/s,1/n)}},co=`uniform float focus;uniform float focalLength;uniform float fStop;uniform float maxBlur;uniform float luminanceThreshold;uniform float luminanceGain;uniform float bias;uniform float fringe;\n#ifdef MANUAL_DOF\nuniform vec4 dof;\n#endif\n#ifdef PENTAGON\nfloat pentagon(const in vec2 coords){const vec4 HS0=vec4(1.0,0.0,0.0,1.0);const vec4 HS1=vec4(0.309016994,0.951056516,0.0,1.0);const vec4 HS2=vec4(-0.809016994,0.587785252,0.0,1.0);const vec4 HS3=vec4(-0.809016994,-0.587785252,0.0,1.0);const vec4 HS4=vec4(0.309016994,-0.951056516,0.0,1.0);const vec4 HS5=vec4(0.0,0.0,1.0,1.0);const vec4 ONE=vec4(1.0);const float P_FEATHER=0.4;const float N_FEATHER=-P_FEATHER;float inOrOut=-4.0;vec4 P=vec4(coords,vec2(RINGS_FLOAT-1.3));vec4 dist=vec4(dot(P,HS0),dot(P,HS1),dot(P,HS2),dot(P,HS3));dist=smoothstep(N_FEATHER,P_FEATHER,dist);inOrOut+=dot(dist,ONE);dist.x=dot(P,HS4);dist.y=HS5.w-abs(P.z);dist=smoothstep(N_FEATHER,P_FEATHER,dist);inOrOut+=dist.x;return clamp(inOrOut,0.0,1.0);}\n#endif\nvec3 processTexel(const in vec2 coords,const in float blur){vec2 scale=texelSize*fringe*blur;vec3 c=vec3(texture2D(inputBuffer,coords+vec2(0.0,1.0)*scale).r,texture2D(inputBuffer,coords+vec2(-0.866,-0.5)*scale).g,texture2D(inputBuffer,coords+vec2(0.866,-0.5)*scale).b);float luminance=linearToRelativeLuminance(c);float threshold=max((luminance-luminanceThreshold)*luminanceGain,0.0);return c+mix(vec3(0.0),c,threshold*blur);}float gather(const in float i,const in float j,const in float ringSamples,const in vec2 uv,const in vec2 blurFactor,const in float blur,inout vec3 color){float step=PI2/ringSamples;vec2 wh=vec2(cos(j*step)*i,sin(j*step)*i);\n#ifdef PENTAGON\nfloat p=pentagon(wh);\n#else\nfloat p=1.0;\n#endif\ncolor+=processTexel(wh*blurFactor+uv,blur)*mix(1.0,i/RINGS_FLOAT,bias)*p;return mix(1.0,i/RINGS_FLOAT,bias)*p;}void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){\n#ifdef PERSPECTIVE_CAMERA\nfloat viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);float linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearDepth=depth;\n#endif\n#ifdef MANUAL_DOF\nfloat focalPlane=linearDepth-focus;float farDoF=(focalPlane-dof.z)/dof.w;float nearDoF=(-focalPlane-dof.x)/dof.y;float blur=(focalPlane>0.0)?farDoF:nearDoF;\n#else\nconst float CIRCLE_OF_CONFUSION=0.03;float focalPlaneMM=focus*1000.0;float depthMM=linearDepth*1000.0;float focalPlane=(depthMM*focalLength)/(depthMM-focalLength);float farDoF=(focalPlaneMM*focalLength)/(focalPlaneMM-focalLength);float nearDoF=(focalPlaneMM-focalLength)/(focalPlaneMM*fStop*CIRCLE_OF_CONFUSION);float blur=abs(focalPlane-farDoF)*nearDoF;\n#endif\nconst int MAX_RING_SAMPLES=RINGS_INT*SAMPLES_INT;blur=clamp(blur,0.0,1.0);vec3 color=inputColor.rgb;if(blur>=0.05){vec2 blurFactor=blur*maxBlur*texelSize;float s=1.0;int ringSamples;for(int i=1;i<=RINGS_INT;i++){ringSamples=i*SAMPLES_INT;for(int j=0;j<MAX_RING_SAMPLES;j++){if(j>=ringSamples){break;}s+=gather(float(i),float(j),float(ringSamples),uv,blurFactor,blur,color);}}color/=s;}\n#ifdef SHOW_FOCUS\nfloat edge=0.002*linearDepth;float m=clamp(smoothstep(0.0,edge,blur),0.0,1.0);float e=clamp(smoothstep(1.0-edge,1.0,blur),0.0,1.0);color=mix(color,vec3(1.0,0.5,0.0),(1.0-m)*0.6);color=mix(color,vec3(0.0,0.5,1.0),((1.0-e)-(1.0-m))*0.2);\n#endif\noutputColor=vec4(color,inputColor.a);}`,yf=class extends w{constructor({blendFunction:e,focus:t=1,focalLength:r=24,fStop:i=.9,luminanceThreshold:s=.5,luminanceGain:n=2,bias:a=.5,fringe:o=.7,maxBlur:l=1,rings:c=3,samples:f=2,showFocus:u=!1,manualDoF:h=!1,pentagon:d=!1}={}){super(\"RealisticBokehEffect\",co,{blendFunction:e,attributes:y.CONVOLUTION|y.DEPTH,uniforms:new Map([[\"focus\",new k(t)],[\"focalLength\",new k(r)],[\"fStop\",new k(i)],[\"luminanceThreshold\",new k(s)],[\"luminanceGain\",new k(n)],[\"bias\",new k(a)],[\"fringe\",new k(o)],[\"maxBlur\",new k(l)],[\"dof\",new k(null)]])}),this.rings=c,this.samples=f,this.showFocus=u,this.manualDoF=h,this.pentagon=d}get rings(){return Number.parseInt(this.defines.get(\"RINGS_INT\"))}set rings(e){let t=Math.floor(e);this.defines.set(\"RINGS_INT\",t.toFixed(0)),this.defines.set(\"RINGS_FLOAT\",t.toFixed(1)),this.setChanged()}get samples(){return Number.parseInt(this.defines.get(\"SAMPLES_INT\"))}set samples(e){let t=Math.floor(e);this.defines.set(\"SAMPLES_INT\",t.toFixed(0)),this.defines.set(\"SAMPLES_FLOAT\",t.toFixed(1)),this.setChanged()}get showFocus(){return this.defines.has(\"SHOW_FOCUS\")}set showFocus(e){this.showFocus!==e&&(e?this.defines.set(\"SHOW_FOCUS\",\"1\"):this.defines.delete(\"SHOW_FOCUS\"),this.setChanged())}get manualDoF(){return this.defines.has(\"MANUAL_DOF\")}set manualDoF(e){this.manualDoF!==e&&(e?(this.defines.set(\"MANUAL_DOF\",\"1\"),this.uniforms.get(\"dof\").value=new lo(.2,1,.2,2)):(this.defines.delete(\"MANUAL_DOF\"),this.uniforms.get(\"dof\").value=null),this.setChanged())}get pentagon(){return this.defines.has(\"PENTAGON\")}set pentagon(e){this.pentagon!==e&&(e?this.defines.set(\"PENTAGON\",\"1\"):this.defines.delete(\"PENTAGON\"),this.setChanged())}},fo=`uniform float count;\n#ifdef SCROLL\nuniform float scrollSpeed;\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){float y=uv.y;\n#ifdef SCROLL\ny+=time*scrollSpeed;\n#endif\nvec2 sl=vec2(sin(y*count),cos(y*count));outputColor=vec4(sl.xyx,inputColor.a);}`,Rf=class extends w{constructor({blendFunction:e=g.OVERLAY,density:t=1.25,scrollSpeed:r=0}={}){super(\"ScanlineEffect\",fo,{blendFunction:e,uniforms:new Map([[\"count\",new xr(0)],[\"scrollSpeed\",new xr(0)]])}),this.resolution=new uo,this.d=t,this.scrollSpeed=r}get density(){return this.d}set density(e){this.d=e,this.setSize(this.resolution.width,this.resolution.height)}getDensity(){return this.density}setDensity(e){this.density=e}get scrollSpeed(){return this.uniforms.get(\"scrollSpeed\").value}set scrollSpeed(e){this.uniforms.get(\"scrollSpeed\").value=e,e===0?this.defines.delete(\"SCROLL\")&&this.setChanged():this.defines.has(\"SCROLL\")||(this.defines.set(\"SCROLL\",\"1\"),this.setChanged())}setSize(e,t){this.resolution.set(e,t),this.uniforms.get(\"count\").value=Math.round(t*this.density)}},vo=\"uniform bool active;uniform vec2 center;uniform float waveSize;uniform float radius;uniform float maxRadius;uniform float amplitude;varying float vSize;void mainUv(inout vec2 uv){if(active){vec2 aspectCorrection=vec2(aspect,1.0);vec2 difference=uv*aspectCorrection-center*aspectCorrection;float distance=sqrt(dot(difference,difference))*vSize;if(distance>radius){if(distance<radius+waveSize){float angle=(distance-radius)*PI2/waveSize;float cosSin=(1.0-cos(angle))*0.5;float extent=maxRadius+waveSize;float decay=max(extent-distance*distance,0.0)/extent;uv-=((cosSin*amplitude*difference)/distance)*decay;}}}}\",go=\"uniform float size;uniform float cameraDistance;varying float vSize;void mainSupport(){vSize=(0.1*cameraDistance)/size;}\",po=Math.PI*.5,De=new bt,Er=new bt,Lf=class extends w{constructor(e,t=new bt,{speed:r=2,maxRadius:i=1,waveSize:s=.2,amplitude:n=.05}={}){super(\"ShockWaveEffect\",vo,{vertexShader:go,uniforms:new Map([[\"active\",new W(!1)],[\"center\",new W(new ho(.5,.5))],[\"cameraDistance\",new W(1)],[\"size\",new W(1)],[\"radius\",new W(-s)],[\"maxRadius\",new W(i)],[\"waveSize\",new W(s)],[\"amplitude\",new W(n)]])}),this.position=t,this.speed=r,this.camera=e,this.screenPosition=this.uniforms.get(\"center\").value,this.time=0,this.active=!1}set mainCamera(e){this.camera=e}get amplitude(){return this.uniforms.get(\"amplitude\").value}set amplitude(e){this.uniforms.get(\"amplitude\").value=e}get waveSize(){return this.uniforms.get(\"waveSize\").value}set waveSize(e){this.uniforms.get(\"waveSize\").value=e}get maxRadius(){return this.uniforms.get(\"maxRadius\").value}set maxRadius(e){this.uniforms.get(\"maxRadius\").value=e}get epicenter(){return this.position}set epicenter(e){this.position=e}getPosition(){return this.position}setPosition(e){this.position=e}getSpeed(){return this.speed}setSpeed(e){this.speed=e}explode(){this.time=0,this.active=!0,this.uniforms.get(\"active\").value=!0}update(e,t,r){let i=this.position,s=this.camera,n=this.uniforms,a=n.get(\"active\");if(this.active){let o=n.get(\"waveSize\").value;s.getWorldDirection(De),Er.copy(s.position).sub(i),a.value=De.angleTo(Er)>po,a.value&&(n.get(\"cameraDistance\").value=s.position.distanceTo(i),De.copy(i).project(s),this.screenPosition.set((De.x+1)*.5,(De.y+1)*.5)),this.time+=r*this.speed;let l=this.time-o;n.get(\"radius\").value=l,l>=(n.get(\"maxRadius\").value+o)*2&&(this.active=!1,a.value=!1)}}},bo=`#include <common>\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer0;uniform highp sampler2D depthBuffer1;\n#else\nuniform mediump sampler2D depthBuffer0;uniform mediump sampler2D depthBuffer1;\n#endif\nuniform sampler2D inputBuffer;uniform vec2 cameraNearFar;float getViewZ(const in float depth){\n#ifdef PERSPECTIVE_CAMERA\nreturn perspectiveDepthToViewZ(depth,cameraNearFar.x,cameraNearFar.y);\n#else\nreturn orthographicDepthToViewZ(depth,cameraNearFar.x,cameraNearFar.y);\n#endif\n}varying vec2 vUv;void main(){vec2 depth;\n#if DEPTH_PACKING_0 == 3201\ndepth.x=unpackRGBAToDepth(texture2D(depthBuffer0,vUv));\n#else\ndepth.x=texture2D(depthBuffer0,vUv).r;\n#endif\n#if DEPTH_PACKING_1 == 3201\ndepth.y=unpackRGBAToDepth(texture2D(depthBuffer1,vUv));\n#else\ndepth.y=texture2D(depthBuffer1,vUv).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat a=cameraNearFar.y/(cameraNearFar.y-cameraNearFar.x);float b=cameraNearFar.y*cameraNearFar.x/(cameraNearFar.x-cameraNearFar.y);float c=log2(cameraNearFar.y+1.0);float d=pow(2.0,depth.x*c)-1.0;depth.x=a+b/d;d=pow(2.0,depth.y*c)-1.0;depth.y=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth.x=1.0-depth.x;depth.y=1.0-depth.y;\n#endif\nbool isMaxDepth=(depth.x==1.0);\n#ifdef PERSPECTIVE_CAMERA\ndepth.x=viewZToOrthographicDepth(getViewZ(depth.x),cameraNearFar.x,cameraNearFar.y);depth.y=viewZToOrthographicDepth(getViewZ(depth.y),cameraNearFar.x,cameraNearFar.y);\n#endif\n#if DEPTH_TEST_STRATEGY == 0\nbool keep=depthTest(depth.x,depth.y);\n#elif DEPTH_TEST_STRATEGY == 1\nbool keep=isMaxDepth||depthTest(depth.x,depth.y);\n#else\nbool keep=!isMaxDepth&&depthTest(depth.x,depth.y);\n#endif\nif(keep){gl_FragColor=texture2D(inputBuffer,vUv);}else{discard;}}`,Lo=class extends Uo{constructor(){super({name:\"DepthMaskMaterial\",defines:{DEPTH_EPSILON:\"0.0001\",DEPTH_PACKING_0:\"0\",DEPTH_PACKING_1:\"0\",DEPTH_TEST_STRATEGY:ye.KEEP_MAX_DEPTH},uniforms:{inputBuffer:new Xe(null),depthBuffer0:new Xe(null),depthBuffer1:new Xe(null),cameraNearFar:new Xe(new Ro(1,1))},blending:Io,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:bo,vertexShader:K}),this.depthMode=Cr}set depthBuffer0(e){this.uniforms.depthBuffer0.value=e}set depthPacking0(e){this.defines.DEPTH_PACKING_0=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer0(e,t=wr){this.depthBuffer0=e,this.depthPacking0=t}set depthBuffer1(e){this.uniforms.depthBuffer1.value=e}set depthPacking1(e){this.defines.DEPTH_PACKING_1=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer1(e,t=wr){this.depthBuffer1=e,this.depthPacking1=t}get maxDepthStrategy(){return Number(this.defines.DEPTH_TEST_STRATEGY)}set maxDepthStrategy(e){this.defines.DEPTH_TEST_STRATEGY=e.toFixed(0),this.needsUpdate=!0}get keepFar(){return this.maxDepthStrategy}set keepFar(e){this.maxDepthStrategy=e?ye.KEEP_MAX_DEPTH:ye.DISCARD_MAX_DEPTH}getMaxDepthStrategy(){return this.maxDepthStrategy}setMaxDepthStrategy(e){this.maxDepthStrategy=e}get epsilon(){return Number(this.defines.DEPTH_EPSILON)}set epsilon(e){this.defines.DEPTH_EPSILON=e.toFixed(16),this.needsUpdate=!0}getEpsilon(){return this.epsilon}setEpsilon(e){this.epsilon=e}get depthMode(){return Number(this.defines.DEPTH_MODE)}set depthMode(e){let t;switch(e){case Mo:t=\"false\";break;case To:t=\"true\";break;case wo:t=\"abs(d1 - d0) <= DEPTH_EPSILON\";break;case Po:t=\"abs(d1 - d0) > DEPTH_EPSILON\";break;case Cr:t=\"d0 > d1\";break;case Bo:t=\"d0 >= d1\";break;case So:t=\"d0 <= d1\";break;case Co:default:t=\"d0 < d1\";break}this.defines.DEPTH_MODE=e.toFixed(0),this.defines[\"depthTest(d0, d1)\"]=t,this.needsUpdate=!0}getDepthMode(){return this.depthMode}setDepthMode(e){this.depthMode=e}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNearFar.value.set(e.near,e.far),e instanceof yo?this.defines.PERSPECTIVE_CAMERA=\"1\":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},Nf=class extends va{constructor(e,t,r){super(r),this.setAttributes(this.getAttributes()|y.DEPTH),this.camera=t,this.depthPass=new li(e,t),this.clearPass=new Ue(!0,!1,!1),this.clearPass.overrideClearColor=new Ao(0),this.depthMaskPass=new O(new Lo);let i=this.depthMaskMaterial;i.copyCameraSettings(t),i.depthBuffer1=this.depthPass.texture,i.depthPacking1=Eo,i.depthMode=Dr,this.renderTargetMasked=new Do(1,1,{depthBuffer:!1}),this.renderTargetMasked.texture.name=\"Bloom.Masked\",this.selection=new ei,this._inverted=!1,this._ignoreBackground=!1}set mainScene(e){this.depthPass.mainScene=e}set mainCamera(e){this.camera=e,this.depthPass.mainCamera=e,this.depthMaskMaterial.copyCameraSettings(e)}getSelection(){return this.selection}get depthMaskMaterial(){return this.depthMaskPass.fullscreenMaterial}get inverted(){return this._inverted}set inverted(e){this._inverted=e,this.depthMaskMaterial.depthMode=e?xo:Dr}isInverted(){return this.inverted}setInverted(e){this.inverted=e}get ignoreBackground(){return this._ignoreBackground}set ignoreBackground(e){this._ignoreBackground=e,this.depthMaskMaterial.maxDepthStrategy=e?ye.DISCARD_MAX_DEPTH:ye.KEEP_MAX_DEPTH}isBackgroundDisabled(){return this.ignoreBackground}setBackgroundDisabled(e){this.ignoreBackground=e}setDepthTexture(e,t=mo){this.depthMaskMaterial.depthBuffer0=e,this.depthMaskMaterial.depthPacking0=t}update(e,t,r){let i=this.camera,s=this.selection,n=this.inverted,a=t;if(this.ignoreBackground||!n||s.size>0){let o=i.layers.mask;i.layers.set(s.layer),this.depthPass.render(e),i.layers.mask=o,a=this.renderTargetMasked,this.clearPass.render(e,a),this.depthMaskPass.render(e,t,a)}super.update(e,a,r)}setSize(e,t){super.setSize(e,t),this.renderTargetMasked.setSize(e,t),this.depthPass.setSize(e,t)}initialize(e,t,r){super.initialize(e,t,r),this.clearPass.initialize(e,t,r),this.depthPass.initialize(e,t,r),this.depthMaskPass.initialize(e,t,r),e!==null&&e.capabilities.logarithmicDepthBuffer&&(this.depthMaskPass.fullscreenMaterial.defines.LOG_DEPTH=\"1\"),r!==void 0&&(this.renderTargetMasked.texture.type=r,e!==null&&e.outputColorSpace===Tr&&(this.renderTargetMasked.texture.colorSpace=Tr))}},Fo=\"uniform vec3 weightsR;uniform vec3 weightsG;uniform vec3 weightsB;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=vec3(dot(inputColor.rgb,weightsR),dot(inputColor.rgb,weightsG),dot(inputColor.rgb,weightsB));outputColor=vec4(color,inputColor.a);}\",Hf=class extends w{constructor({blendFunction:e,intensity:t=1}={}){super(\"SepiaEffect\",Fo,{blendFunction:e,uniforms:new Map([[\"weightsR\",new gt(new pt(.393,.769,.189))],[\"weightsG\",new gt(new pt(.349,.686,.168))],[\"weightsB\",new gt(new pt(.272,.534,.131))]])})}get intensity(){return this.blendMode.opacity.value}set intensity(e){this.blendMode.opacity.value=e}getIntensity(){return this.intensity}setIntensity(e){this.intensity=e}get weightsR(){return this.uniforms.get(\"weightsR\").value}get weightsG(){return this.uniforms.get(\"weightsG\").value}get weightsB(){return this.uniforms.get(\"weightsB\").value}},Yo=`varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;\n#if EDGE_DETECTION_MODE != 0\nvarying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;\n#endif\n#if EDGE_DETECTION_MODE == 1\n#include <common>\n#endif\n#if EDGE_DETECTION_MODE == 0 || PREDICATION_MODE == 1\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}vec3 gatherNeighbors(){float p=readDepth(vUv);float pLeft=readDepth(vUv0);float pTop=readDepth(vUv1);return vec3(p,pLeft,pTop);}\n#elif PREDICATION_MODE == 2\nuniform sampler2D predicationBuffer;vec3 gatherNeighbors(){float p=texture2D(predicationBuffer,vUv).r;float pLeft=texture2D(predicationBuffer,vUv0).r;float pTop=texture2D(predicationBuffer,vUv1).r;return vec3(p,pLeft,pTop);}\n#endif\n#if PREDICATION_MODE != 0\nvec2 calculatePredicatedThreshold(){vec3 neighbours=gatherNeighbors();vec2 delta=abs(neighbours.xx-neighbours.yz);vec2 edges=step(PREDICATION_THRESHOLD,delta);return PREDICATION_SCALE*EDGE_THRESHOLD*(1.0-PREDICATION_STRENGTH*edges);}\n#endif\n#if EDGE_DETECTION_MODE != 0\nuniform sampler2D inputBuffer;\n#endif\nvoid main(){\n#if EDGE_DETECTION_MODE == 0\nconst vec2 threshold=vec2(DEPTH_THRESHOLD);\n#elif PREDICATION_MODE != 0\nvec2 threshold=calculatePredicatedThreshold();\n#else\nconst vec2 threshold=vec2(EDGE_THRESHOLD);\n#endif\n#if EDGE_DETECTION_MODE == 0\nvec3 neighbors=gatherNeighbors();vec2 delta=abs(neighbors.xx-vec2(neighbors.y,neighbors.z));vec2 edges=step(threshold,delta);if(dot(edges,vec2(1.0))==0.0){discard;}gl_FragColor=vec4(edges,0.0,1.0);\n#elif EDGE_DETECTION_MODE == 1\nfloat l=luminance(texture2D(inputBuffer,vUv).rgb);float lLeft=luminance(texture2D(inputBuffer,vUv0).rgb);float lTop=luminance(texture2D(inputBuffer,vUv1).rgb);vec4 delta;delta.xy=abs(l-vec2(lLeft,lTop));vec2 edges=step(threshold,delta.xy);if(dot(edges,vec2(1.0))==0.0){discard;}float lRight=luminance(texture2D(inputBuffer,vUv2).rgb);float lBottom=luminance(texture2D(inputBuffer,vUv3).rgb);delta.zw=abs(l-vec2(lRight,lBottom));vec2 maxDelta=max(delta.xy,delta.zw);float lLeftLeft=luminance(texture2D(inputBuffer,vUv4).rgb);float lTopTop=luminance(texture2D(inputBuffer,vUv5).rgb);delta.zw=abs(vec2(lLeft,lTop)-vec2(lLeftLeft,lTopTop));maxDelta=max(maxDelta.xy,delta.zw);float finalDelta=max(maxDelta.x,maxDelta.y);edges.xy*=step(finalDelta,LOCAL_CONTRAST_ADAPTATION_FACTOR*delta.xy);gl_FragColor=vec4(edges,0.0,1.0);\n#elif EDGE_DETECTION_MODE == 2\nvec4 delta;vec3 c=texture2D(inputBuffer,vUv).rgb;vec3 cLeft=texture2D(inputBuffer,vUv0).rgb;vec3 t=abs(c-cLeft);delta.x=max(max(t.r,t.g),t.b);vec3 cTop=texture2D(inputBuffer,vUv1).rgb;t=abs(c-cTop);delta.y=max(max(t.r,t.g),t.b);vec2 edges=step(threshold,delta.xy);if(dot(edges,vec2(1.0))==0.0){discard;}vec3 cRight=texture2D(inputBuffer,vUv2).rgb;t=abs(c-cRight);delta.z=max(max(t.r,t.g),t.b);vec3 cBottom=texture2D(inputBuffer,vUv3).rgb;t=abs(c-cBottom);delta.w=max(max(t.r,t.g),t.b);vec2 maxDelta=max(delta.xy,delta.zw);vec3 cLeftLeft=texture2D(inputBuffer,vUv4).rgb;t=abs(c-cLeftLeft);delta.z=max(max(t.r,t.g),t.b);vec3 cTopTop=texture2D(inputBuffer,vUv5).rgb;t=abs(c-cTopTop);delta.w=max(max(t.r,t.g),t.b);maxDelta=max(maxDelta.xy,delta.zw);float finalDelta=max(maxDelta.x,maxDelta.y);edges*=step(finalDelta,LOCAL_CONTRAST_ADAPTATION_FACTOR*delta.xy);gl_FragColor=vec4(edges,0.0,1.0);\n#endif\n}`,Xo=`uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;\n#if EDGE_DETECTION_MODE != 0\nvarying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;\n#endif\nvoid main(){vUv=position.xy*0.5+0.5;vUv0=vUv+texelSize*vec2(-1.0,0.0);vUv1=vUv+texelSize*vec2(0.0,-1.0);\n#if EDGE_DETECTION_MODE != 0\nvUv2=vUv+texelSize*vec2(1.0,0.0);vUv3=vUv+texelSize*vec2(0.0,1.0);vUv4=vUv+texelSize*vec2(-2.0,0.0);vUv5=vUv+texelSize*vec2(0.0,-2.0);\n#endif\ngl_Position=vec4(position.xy,1.0,1.0);}`,Ko=class extends Qo{constructor(e=new Wo,t=oi.COLOR){super({name:\"EdgeDetectionMaterial\",defines:{THREE_REVISION:Vo.replace(/\\D+/g,\"\"),LOCAL_CONTRAST_ADAPTATION_FACTOR:\"2.0\",EDGE_THRESHOLD:\"0.1\",DEPTH_THRESHOLD:\"0.01\",PREDICATION_MODE:\"0\",PREDICATION_THRESHOLD:\"0.01\",PREDICATION_SCALE:\"2.0\",PREDICATION_STRENGTH:\"1.0\",DEPTH_PACKING:\"0\"},uniforms:{inputBuffer:new Ke(null),depthBuffer:new Ke(null),predicationBuffer:new Ke(null),texelSize:new Ke(e)},blending:_o,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Yo,vertexShader:Xo}),this.edgeDetectionMode=t}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=zo){this.depthBuffer=e,this.depthPacking=t}get edgeDetectionMode(){return Number(this.defines.EDGE_DETECTION_MODE)}set edgeDetectionMode(e){this.defines.EDGE_DETECTION_MODE=e.toFixed(0),this.needsUpdate=!0}getEdgeDetectionMode(){return this.edgeDetectionMode}setEdgeDetectionMode(e){this.edgeDetectionMode=e}get localContrastAdaptationFactor(){return Number(this.defines.LOCAL_CONTRAST_ADAPTATION_FACTOR)}set localContrastAdaptationFactor(e){this.defines.LOCAL_CONTRAST_ADAPTATION_FACTOR=e.toFixed(\"6\"),this.needsUpdate=!0}getLocalContrastAdaptationFactor(){return this.localContrastAdaptationFactor}setLocalContrastAdaptationFactor(e){this.localContrastAdaptationFactor=e}get edgeDetectionThreshold(){return Number(this.defines.EDGE_THRESHOLD)}set edgeDetectionThreshold(e){this.defines.EDGE_THRESHOLD=e.toFixed(\"6\"),this.defines.DEPTH_THRESHOLD=(e*.1).toFixed(\"6\"),this.needsUpdate=!0}getEdgeDetectionThreshold(){return this.edgeDetectionThreshold}setEdgeDetectionThreshold(e){this.edgeDetectionThreshold=e}get predicationMode(){return Number(this.defines.PREDICATION_MODE)}set predicationMode(e){this.defines.PREDICATION_MODE=e.toFixed(0),this.needsUpdate=!0}getPredicationMode(){return this.predicationMode}setPredicationMode(e){this.predicationMode=e}set predicationBuffer(e){this.uniforms.predicationBuffer.value=e}setPredicationBuffer(e){this.uniforms.predicationBuffer.value=e}get predicationThreshold(){return Number(this.defines.PREDICATION_THRESHOLD)}set predicationThreshold(e){this.defines.PREDICATION_THRESHOLD=e.toFixed(\"6\"),this.needsUpdate=!0}getPredicationThreshold(){return this.predicationThreshold}setPredicationThreshold(e){this.predicationThreshold=e}get predicationScale(){return Number(this.defines.PREDICATION_SCALE)}set predicationScale(e){this.defines.PREDICATION_SCALE=e.toFixed(\"6\"),this.needsUpdate=!0}getPredicationScale(){return this.predicationScale}setPredicationScale(e){this.predicationScale=e}get predicationStrength(){return Number(this.defines.PREDICATION_STRENGTH)}set predicationStrength(e){this.defines.PREDICATION_STRENGTH=e.toFixed(\"6\"),this.needsUpdate=!0}getPredicationStrength(){return this.predicationStrength}setPredicationStrength(e){this.predicationStrength=e}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},Jo=`#define sampleLevelZeroOffset(t, coord, offset) texture2D(t, coord + offset * texelSize)\n#if __VERSION__ < 300\n#define round(v) floor(v + 0.5)\n#endif\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform lowp sampler2D areaTexture;uniform lowp sampler2D searchTexture;uniform vec2 texelSize;uniform vec2 resolution;varying vec2 vUv;varying vec4 vOffset[3];varying vec2 vPixCoord;void movec(const in bvec2 c,inout vec2 variable,const in vec2 value){if(c.x){variable.x=value.x;}if(c.y){variable.y=value.y;}}void movec(const in bvec4 c,inout vec4 variable,const in vec4 value){movec(c.xy,variable.xy,value.xy);movec(c.zw,variable.zw,value.zw);}vec2 decodeDiagBilinearAccess(in vec2 e){e.r=e.r*abs(5.0*e.r-5.0*0.75);return round(e);}vec4 decodeDiagBilinearAccess(in vec4 e){e.rb=e.rb*abs(5.0*e.rb-5.0*0.75);return round(e);}vec2 searchDiag1(const in vec2 texCoord,const in vec2 dir,out vec2 e){vec4 coord=vec4(texCoord,-1.0,1.0);vec3 t=vec3(texelSize,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(coord.z<float(MAX_SEARCH_STEPS_DIAG_INT-1)&&coord.w>0.9)){break;}coord.xyz=t*vec3(dir,1.0)+coord.xyz;e=texture2D(inputBuffer,coord.xy).rg;coord.w=dot(e,vec2(0.5));}return coord.zw;}vec2 searchDiag2(const in vec2 texCoord,const in vec2 dir,out vec2 e){vec4 coord=vec4(texCoord,-1.0,1.0);coord.x+=0.25*texelSize.x;vec3 t=vec3(texelSize,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(coord.z<float(MAX_SEARCH_STEPS_DIAG_INT-1)&&coord.w>0.9)){break;}coord.xyz=t*vec3(dir,1.0)+coord.xyz;e=texture2D(inputBuffer,coord.xy).rg;e=decodeDiagBilinearAccess(e);coord.w=dot(e,vec2(0.5));}return coord.zw;}vec2 areaDiag(const in vec2 dist,const in vec2 e,const in float offset){vec2 texCoord=vec2(AREATEX_MAX_DISTANCE_DIAG,AREATEX_MAX_DISTANCE_DIAG)*e+dist;texCoord=AREATEX_PIXEL_SIZE*texCoord+0.5*AREATEX_PIXEL_SIZE;texCoord.x+=0.5;texCoord.y+=AREATEX_SUBTEX_SIZE*offset;return texture2D(areaTexture,texCoord).rg;}vec2 calculateDiagWeights(const in vec2 texCoord,const in vec2 e,const in vec4 subsampleIndices){vec2 weights=vec2(0.0);vec4 d;vec2 end;if(e.r>0.0){d.xz=searchDiag1(texCoord,vec2(-1.0,1.0),end);d.x+=float(end.y>0.9);}else{d.xz=vec2(0.0);}d.yw=searchDiag1(texCoord,vec2(1.0,-1.0),end);if(d.x+d.y>2.0){vec4 coords=vec4(-d.x+0.25,d.x,d.y,-d.y-0.25)*texelSize.xyxy+texCoord.xyxy;vec4 c;c.xy=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(-1,0)).rg;c.zw=sampleLevelZeroOffset(inputBuffer,coords.zw,vec2(1,0)).rg;c.yxwz=decodeDiagBilinearAccess(c.xyzw);vec2 cc=vec2(2.0)*c.xz+c.yw;movec(bvec2(step(0.9,d.zw)),cc,vec2(0.0));weights+=areaDiag(d.xy,cc,subsampleIndices.z);}d.xz=searchDiag2(texCoord,vec2(-1.0,-1.0),end);if(sampleLevelZeroOffset(inputBuffer,texCoord,vec2(1,0)).r>0.0){d.yw=searchDiag2(texCoord,vec2(1.0),end);d.y+=float(end.y>0.9);}else{d.yw=vec2(0.0);}if(d.x+d.y>2.0){vec4 coords=vec4(-d.x,-d.x,d.y,d.y)*texelSize.xyxy+texCoord.xyxy;vec4 c;c.x=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(-1,0)).g;c.y=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(0,-1)).r;c.zw=sampleLevelZeroOffset(inputBuffer,coords.zw,vec2(1,0)).gr;vec2 cc=vec2(2.0)*c.xz+c.yw;movec(bvec2(step(0.9,d.zw)),cc,vec2(0.0));weights+=areaDiag(d.xy,cc,subsampleIndices.w).gr;}return weights;}float searchLength(const in vec2 e,const in float offset){vec2 scale=SEARCHTEX_SIZE*vec2(0.5,-1.0);vec2 bias=SEARCHTEX_SIZE*vec2(offset,1.0);scale+=vec2(-1.0,1.0);bias+=vec2(0.5,-0.5);scale*=1.0/SEARCHTEX_PACKED_SIZE;bias*=1.0/SEARCHTEX_PACKED_SIZE;return texture2D(searchTexture,scale*e+bias).r;}float searchXLeft(in vec2 texCoord,const in float end){vec2 e=vec2(0.0,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.x>end&&e.g>0.8281&&e.r==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(-2.0,0.0)*texelSize+texCoord;}float offset=-(255.0/127.0)*searchLength(e,0.0)+3.25;return texelSize.x*offset+texCoord.x;}float searchXRight(vec2 texCoord,const in float end){vec2 e=vec2(0.0,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.x<end&&e.g>0.8281&&e.r==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(2.0,0.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e,0.5)+3.25;return-texelSize.x*offset+texCoord.x;}float searchYUp(vec2 texCoord,const in float end){vec2 e=vec2(1.0,0.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.y>end&&e.r>0.8281&&e.g==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=-vec2(0.0,2.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e.gr,0.0)+3.25;return texelSize.y*offset+texCoord.y;}float searchYDown(vec2 texCoord,const in float end){vec2 e=vec2(1.0,0.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;i++){if(!(texCoord.y<end&&e.r>0.8281&&e.g==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(0.0,2.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e.gr,0.5)+3.25;return-texelSize.y*offset+texCoord.y;}vec2 area(const in vec2 dist,const in float e1,const in float e2,const in float offset){vec2 texCoord=vec2(AREATEX_MAX_DISTANCE)*round(4.0*vec2(e1,e2))+dist;texCoord=AREATEX_PIXEL_SIZE*texCoord+0.5*AREATEX_PIXEL_SIZE;texCoord.y=AREATEX_SUBTEX_SIZE*offset+texCoord.y;return texture2D(areaTexture,texCoord).rg;}void detectHorizontalCornerPattern(inout vec2 weights,const in vec4 texCoord,const in vec2 d){\n#if !defined(DISABLE_CORNER_DETECTION)\nvec2 leftRight=step(d.xy,d.yx);vec2 rounding=(1.0-CORNER_ROUNDING_NORM)*leftRight;rounding/=leftRight.x+leftRight.y;vec2 factor=vec2(1.0);factor.x-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(0,1)).r;factor.x-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,1)).r;factor.y-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(0,-2)).r;factor.y-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,-2)).r;weights*=clamp(factor,0.0,1.0);\n#endif\n}void detectVerticalCornerPattern(inout vec2 weights,const in vec4 texCoord,const in vec2 d){\n#if !defined(DISABLE_CORNER_DETECTION)\nvec2 leftRight=step(d.xy,d.yx);vec2 rounding=(1.0-CORNER_ROUNDING_NORM)*leftRight;rounding/=leftRight.x+leftRight.y;vec2 factor=vec2(1.0);factor.x-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(1,0)).g;factor.x-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,1)).g;factor.y-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(-2,0)).g;factor.y-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(-2,1)).g;weights*=clamp(factor,0.0,1.0);\n#endif\n}void main(){vec4 weights=vec4(0.0);vec4 subsampleIndices=vec4(0.0);vec2 e=texture2D(inputBuffer,vUv).rg;if(e.g>0.0){\n#if !defined(DISABLE_DIAG_DETECTION)\nweights.rg=calculateDiagWeights(vUv,e,subsampleIndices);if(weights.r==-weights.g){\n#endif\nvec2 d;vec3 coords;coords.x=searchXLeft(vOffset[0].xy,vOffset[2].x);coords.y=vOffset[1].y;d.x=coords.x;float e1=texture2D(inputBuffer,coords.xy).r;coords.z=searchXRight(vOffset[0].zw,vOffset[2].y);d.y=coords.z;d=round(resolution.xx*d+-vPixCoord.xx);vec2 sqrtD=sqrt(abs(d));float e2=sampleLevelZeroOffset(inputBuffer,coords.zy,vec2(1,0)).r;weights.rg=area(sqrtD,e1,e2,subsampleIndices.y);coords.y=vUv.y;detectHorizontalCornerPattern(weights.rg,coords.xyzy,d);\n#if !defined(DISABLE_DIAG_DETECTION)\n}else{e.r=0.0;}\n#endif\n}if(e.r>0.0){vec2 d;vec3 coords;coords.y=searchYUp(vOffset[1].xy,vOffset[2].z);coords.x=vOffset[0].x;d.x=coords.y;float e1=texture2D(inputBuffer,coords.xy).g;coords.z=searchYDown(vOffset[1].zw,vOffset[2].w);d.y=coords.z;d=round(resolution.yy*d-vPixCoord.yy);vec2 sqrtD=sqrt(abs(d));float e2=sampleLevelZeroOffset(inputBuffer,coords.xz,vec2(0,1)).g;weights.ba=area(sqrtD,e1,e2,subsampleIndices.x);coords.x=vUv.x;detectVerticalCornerPattern(weights.ba,coords.xyxz,d);}gl_FragColor=weights;}`,qo=\"uniform vec2 texelSize;uniform vec2 resolution;varying vec2 vUv;varying vec4 vOffset[3];varying vec2 vPixCoord;void main(){vUv=position.xy*0.5+0.5;vPixCoord=vUv*resolution;vOffset[0]=vUv.xyxy+texelSize.xyxy*vec4(-0.25,-0.125,1.25,-0.125);vOffset[1]=vUv.xyxy+texelSize.xyxy*vec4(-0.125,-0.25,-0.125,1.25);vOffset[2]=vec4(vOffset[0].xz,vOffset[1].yw)+vec4(-2.0,2.0,-2.0,2.0)*texelSize.xxyy*MAX_SEARCH_STEPS_FLOAT;gl_Position=vec4(position.xy,1.0,1.0);}\",$o=class extends jo{constructor(e=new Ir,t=new Ir){super({name:\"SMAAWeightsMaterial\",defines:{MAX_SEARCH_STEPS_INT:\"16\",MAX_SEARCH_STEPS_FLOAT:\"16.0\",MAX_SEARCH_STEPS_DIAG_INT:\"8\",MAX_SEARCH_STEPS_DIAG_FLOAT:\"8.0\",CORNER_ROUNDING:\"25\",CORNER_ROUNDING_NORM:\"0.25\",AREATEX_MAX_DISTANCE:\"16.0\",AREATEX_MAX_DISTANCE_DIAG:\"20.0\",AREATEX_PIXEL_SIZE:\"(1.0 / vec2(160.0, 560.0))\",AREATEX_SUBTEX_SIZE:\"(1.0 / 7.0)\",SEARCHTEX_SIZE:\"vec2(66.0, 33.0)\",SEARCHTEX_PACKED_SIZE:\"vec2(64.0, 16.0)\"},uniforms:{inputBuffer:new Te(null),searchTexture:new Te(null),areaTexture:new Te(null),resolution:new Te(t),texelSize:new Te(e)},blending:Zo,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Jo,vertexShader:qo})}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get searchTexture(){return this.uniforms.searchTexture.value}set searchTexture(e){this.uniforms.searchTexture.value=e}get areaTexture(){return this.uniforms.areaTexture.value}set areaTexture(e){this.uniforms.areaTexture.value=e}setLookupTextures(e,t){this.searchTexture=e,this.areaTexture=t}get orthogonalSearchSteps(){return Number(this.defines.MAX_SEARCH_STEPS_INT)}set orthogonalSearchSteps(e){let t=Math.min(Math.max(e,0),112);this.defines.MAX_SEARCH_STEPS_INT=t.toFixed(\"0\"),this.defines.MAX_SEARCH_STEPS_FLOAT=t.toFixed(\"1\"),this.needsUpdate=!0}setOrthogonalSearchSteps(e){this.orthogonalSearchSteps=e}get diagonalSearchSteps(){return Number(this.defines.MAX_SEARCH_STEPS_DIAG_INT)}set diagonalSearchSteps(e){let t=Math.min(Math.max(e,0),20);this.defines.MAX_SEARCH_STEPS_DIAG_INT=t.toFixed(\"0\"),this.defines.MAX_SEARCH_STEPS_DIAG_FLOAT=t.toFixed(\"1\"),this.needsUpdate=!0}setDiagonalSearchSteps(e){this.diagonalSearchSteps=e}get diagonalDetection(){return this.defines.DISABLE_DIAG_DETECTION===void 0}set diagonalDetection(e){e?delete this.defines.DISABLE_DIAG_DETECTION:this.defines.DISABLE_DIAG_DETECTION=\"1\",this.needsUpdate=!0}isDiagonalDetectionEnabled(){return this.diagonalDetection}setDiagonalDetectionEnabled(e){this.diagonalDetection=e}get cornerRounding(){return Number(this.defines.CORNER_ROUNDING)}set cornerRounding(e){let t=Math.min(Math.max(e,0),100);this.defines.CORNER_ROUNDING=t.toFixed(\"4\"),this.defines.CORNER_ROUNDING_NORM=(t/100).toFixed(\"4\"),this.needsUpdate=!0}setCornerRounding(e){this.cornerRounding=e}get cornerDetection(){return this.defines.DISABLE_CORNER_DETECTION===void 0}set cornerDetection(e){e?delete this.defines.DISABLE_CORNER_DETECTION:this.defines.DISABLE_CORNER_DETECTION=\"1\",this.needsUpdate=!0}isCornerRoundingEnabled(){return this.cornerDetection}setCornerRoundingEnabled(e){this.cornerDetection=e}setSize(e,t){let r=this.uniforms;r.texelSize.value.set(1/e,1/t),r.resolution.value.set(e,t)}},Pt=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAQCAYAAACm53kpAAAAeElEQVRYR+2XSwqAMAxEJ168ePEqwRSKhIIiuHjJqiU0gWE+1CQdApcVAMUAuARaMGCX1MIL/Ow13++9lW2s3mW9MWvsnWc/2fvGygwPAN4E8QzAA4CXAB6AHjG4JTHYI1ey3pcx6FHnEfhLDOIBKAmUBK6/ANUDTlROXAHd9EC1AAAAAElFTkSuQmCC\",yt=\"data:image/png;base64,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\",el=\"uniform sampler2D weightMap;varying vec2 vOffset0;varying vec2 vOffset1;void movec(const in bvec2 c,inout vec2 variable,const in vec2 value){if(c.x){variable.x=value.x;}if(c.y){variable.y=value.y;}}void movec(const in bvec4 c,inout vec4 variable,const in vec4 value){movec(c.xy,variable.xy,value.xy);movec(c.zw,variable.zw,value.zw);}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec4 a;a.x=texture2D(weightMap,vOffset0).a;a.y=texture2D(weightMap,vOffset1).g;a.wz=texture2D(weightMap,uv).rb;vec4 color=inputColor;if(dot(a,vec4(1.0))>=1e-5){bool h=max(a.x,a.z)>max(a.y,a.w);vec4 blendingOffset=vec4(0.0,a.y,0.0,a.w);vec2 blendingWeight=a.yw;movec(bvec4(h),blendingOffset,vec4(a.x,0.0,a.z,0.0));movec(bvec2(h),blendingWeight,a.xz);blendingWeight/=dot(blendingWeight,vec2(1.0));vec4 blendingCoord=blendingOffset*vec4(texelSize,-texelSize)+uv.xyxy;color=blendingWeight.x*texture2D(inputBuffer,blendingCoord.xy);color+=blendingWeight.y*texture2D(inputBuffer,blendingCoord.zw);}outputColor=color;}\",tl=\"varying vec2 vOffset0;varying vec2 vOffset1;void mainSupport(const in vec2 uv){vOffset0=uv+texelSize*vec2(1.0,0.0);vOffset1=uv+texelSize*vec2(0.0,1.0);}\",Vf=class extends w{constructor({blendFunction:e=g.SRC,preset:t=xe.MEDIUM,edgeDetectionMode:r=oi.COLOR,predicationMode:i=Gn.DISABLED}={}){super(\"SMAAEffect\",el,{vertexShader:tl,blendFunction:e,attributes:y.CONVOLUTION|y.DEPTH,uniforms:new Map([[\"weightMap\",new Ho(null)]])});let s,n;arguments.length>1&&(s=arguments[0],n=arguments[1],arguments.length>2&&(t=arguments[2]),arguments.length>3&&(r=arguments[3])),this.renderTargetEdges=new ko(1,1,{depthBuffer:!1}),this.renderTargetEdges.texture.name=\"SMAA.Edges\",this.renderTargetWeights=this.renderTargetEdges.clone(),this.renderTargetWeights.texture.name=\"SMAA.Weights\",this.uniforms.get(\"weightMap\").value=this.renderTargetWeights.texture,this.clearPass=new Ue(!0,!1,!1),this.clearPass.overrideClearColor=new No(0),this.clearPass.overrideClearAlpha=1,this.edgeDetectionPass=new O(new Ko),this.edgeDetectionMaterial.edgeDetectionMode=r,this.edgeDetectionMaterial.predicationMode=i,this.weightsPass=new O(new $o);let a=new Go;a.onLoad=()=>{let o=new Mr(s);o.name=\"SMAA.Search\",o.magFilter=Br,o.minFilter=Br,o.generateMipmaps=!1,o.needsUpdate=!0,o.flipY=!0,this.weightsMaterial.searchTexture=o;let l=new Mr(n);l.name=\"SMAA.Area\",l.magFilter=Sr,l.minFilter=Sr,l.generateMipmaps=!1,l.needsUpdate=!0,l.flipY=!1,this.weightsMaterial.areaTexture=l,this.dispatchEvent({type:\"load\"})},a.itemStart(\"search\"),a.itemStart(\"area\"),s!==void 0&&n!==void 0?(a.itemEnd(\"search\"),a.itemEnd(\"area\")):typeof Image<\"u\"&&(s=new Image,n=new Image,s.addEventListener(\"load\",()=>a.itemEnd(\"search\")),n.addEventListener(\"load\",()=>a.itemEnd(\"area\")),s.src=Pt,n.src=yt),this.applyPreset(t)}get edgesTexture(){return this.renderTargetEdges.texture}getEdgesTexture(){return this.edgesTexture}get weightsTexture(){return this.renderTargetWeights.texture}getWeightsTexture(){return this.weightsTexture}get edgeDetectionMaterial(){return this.edgeDetectionPass.fullscreenMaterial}get colorEdgesMaterial(){return this.edgeDetectionMaterial}getEdgeDetectionMaterial(){return this.edgeDetectionMaterial}get weightsMaterial(){return this.weightsPass.fullscreenMaterial}getWeightsMaterial(){return this.weightsMaterial}setEdgeDetectionThreshold(e){this.edgeDetectionMaterial.edgeDetectionThreshold=e}setOrthogonalSearchSteps(e){this.weightsMaterial.orthogonalSearchSteps=e}applyPreset(e){let t=this.edgeDetectionMaterial,r=this.weightsMaterial;switch(e){case xe.LOW:t.edgeDetectionThreshold=.15,r.orthogonalSearchSteps=4,r.diagonalDetection=!1,r.cornerDetection=!1;break;case xe.MEDIUM:t.edgeDetectionThreshold=.1,r.orthogonalSearchSteps=8,r.diagonalDetection=!1,r.cornerDetection=!1;break;case xe.HIGH:t.edgeDetectionThreshold=.1,r.orthogonalSearchSteps=16,r.diagonalSearchSteps=8,r.cornerRounding=25,r.diagonalDetection=!0,r.cornerDetection=!0;break;case xe.ULTRA:t.edgeDetectionThreshold=.05,r.orthogonalSearchSteps=32,r.diagonalSearchSteps=16,r.cornerRounding=25,r.diagonalDetection=!0,r.cornerDetection=!0;break}}setDepthTexture(e,t=Oo){this.edgeDetectionMaterial.depthBuffer=e,this.edgeDetectionMaterial.depthPacking=t}update(e,t,r){this.clearPass.render(e,this.renderTargetEdges),this.edgeDetectionPass.render(e,t,this.renderTargetEdges),this.weightsPass.render(e,this.renderTargetEdges,this.renderTargetWeights)}setSize(e,t){this.edgeDetectionMaterial.setSize(e,t),this.weightsMaterial.setSize(e,t),this.renderTargetEdges.setSize(e,t),this.renderTargetWeights.setSize(e,t)}dispose(){let{searchTexture:e,areaTexture:t}=this.weightsMaterial;e!==null&&t!==null&&(e.dispose(),t.dispose()),super.dispose()}static get searchImageDataURL(){return Pt}static get areaImageDataURL(){return yt}};function Ie(e,t,r){return e*(t-r)-t}function Pe(e,t,r){return Math.min(Math.max((e+t)/(t-r),0),1)}var fl=`#include <common>\n#include <packing>\nuniform vec2 cameraNearFar;\n#define cameraNear cameraNearFar.x\n#define cameraFar cameraNearFar.y\n#ifdef NORMAL_DEPTH\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D normalDepthBuffer;\n#else\nuniform mediump sampler2D normalDepthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){float depth=texture2D(normalDepthBuffer,uv).a;\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#endif\nreturn depth;}\n#else\nuniform lowp sampler2D normalBuffer;\n#if DEPTH_PACKING == 3201\nuniform lowp sampler2D depthBuffer;\n#elif defined(GL_FRAGMENT_PRECISION_HIGH)\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nfloat depth=unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nfloat depth=texture2D(depthBuffer,uv).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#endif\nreturn depth;}\n#endif\nuniform lowp sampler2D noiseTexture;uniform mat4 inverseProjectionMatrix;uniform mat4 projectionMatrix;uniform vec2 texelSize;uniform float intensity;uniform float minRadiusScale;uniform float fade;uniform float bias;uniform vec2 distanceCutoff;uniform vec2 proximityCutoff;varying vec2 vUv;varying vec2 vUv2;float getViewZ(const in float depth){\n#ifdef PERSPECTIVE_CAMERA\nreturn perspectiveDepthToViewZ(depth,cameraNear,cameraFar);\n#else\nreturn orthographicDepthToViewZ(depth,cameraNear,cameraFar);\n#endif\n}vec3 getViewPosition(const in vec2 screenPosition,const in float depth,const in float viewZ){vec4 clipPosition=vec4(vec3(screenPosition,depth)*2.0-1.0,1.0);float clipW=projectionMatrix[2][3]*viewZ+projectionMatrix[3][3];clipPosition*=clipW;return(inverseProjectionMatrix*clipPosition).xyz;}float getAmbientOcclusion(const in vec3 p,const in vec3 n,const in float depth,const in vec2 uv){float radiusScale=1.0-smoothstep(0.0,distanceCutoff.y,depth);radiusScale=radiusScale*(1.0-minRadiusScale)+minRadiusScale;float radius=RADIUS*radiusScale;float noise=texture2D(noiseTexture,vUv2).r;float baseAngle=noise*PI2;float rings=SPIRAL_TURNS*PI2;float occlusion=0.0;int taps=0;for(int i=0;i<SAMPLES_INT;++i){float alpha=(float(i)+0.5)*INV_SAMPLES_FLOAT;float angle=alpha*rings+baseAngle;vec2 rotation=vec2(cos(angle),sin(angle));vec2 coords=alpha*radius*rotation*texelSize+uv;if(coords.s<0.0||coords.s>1.0||coords.t<0.0||coords.t>1.0){continue;}float sampleDepth=readDepth(coords);float viewZ=getViewZ(sampleDepth);\n#ifdef PERSPECTIVE_CAMERA\nfloat linearSampleDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearSampleDepth=sampleDepth;\n#endif\nfloat proximity=abs(depth-linearSampleDepth);if(proximity<proximityCutoff.y){float falloff=1.0-smoothstep(proximityCutoff.x,proximityCutoff.y,proximity);vec3 Q=getViewPosition(coords,sampleDepth,viewZ);vec3 v=Q-p;float vv=dot(v,v);float vn=dot(v,n)-bias;float f=max(RADIUS_SQ-vv,0.0)/RADIUS_SQ;occlusion+=(f*f*f*max(vn/(fade+vv),0.0))*falloff;}++taps;}return occlusion/(4.0*max(float(taps),1.0));}void main(){\n#ifdef NORMAL_DEPTH\nvec4 normalDepth=texture2D(normalDepthBuffer,vUv);\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,normalDepth.a*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);normalDepth.a=a+b/d;\n#endif\n#else\nvec4 normalDepth=vec4(texture2D(normalBuffer,vUv).xyz,readDepth(vUv));\n#endif\nfloat ao=0.0;float depth=normalDepth.a;float viewZ=getViewZ(depth);\n#ifdef PERSPECTIVE_CAMERA\nfloat linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearDepth=depth;\n#endif\nif(linearDepth<distanceCutoff.y){vec3 viewPosition=getViewPosition(vUv,depth,viewZ);vec3 viewNormal=unpackRGBToNormal(normalDepth.rgb);ao+=getAmbientOcclusion(viewPosition,viewNormal,linearDepth,vUv);float d=smoothstep(distanceCutoff.x,distanceCutoff.y,linearDepth);ao=mix(ao,0.0,d);\n#ifdef LEGACY_INTENSITY\nao=clamp(1.0-pow(1.0-ao,abs(intensity)),0.0,1.0);\n#endif\n}gl_FragColor.r=ao;}`,hl=\"uniform vec2 noiseScale;varying vec2 vUv;varying vec2 vUv2;void main(){vUv=position.xy*0.5+0.5;vUv2=vUv*noiseScale;gl_Position=vec4(position.xy,1.0,1.0);}\",dl=class extends ul{constructor(e){super({name:\"SSAOMaterial\",defines:{SAMPLES_INT:\"0\",INV_SAMPLES_FLOAT:\"0.0\",SPIRAL_TURNS:\"0.0\",RADIUS:\"1.0\",RADIUS_SQ:\"1.0\",DISTANCE_SCALING:\"1\",DEPTH_PACKING:\"0\"},uniforms:{depthBuffer:new b(null),normalBuffer:new b(null),normalDepthBuffer:new b(null),noiseTexture:new b(null),inverseProjectionMatrix:new b(new Pr),projectionMatrix:new b(new Pr),texelSize:new b(new le),cameraNearFar:new b(new le),distanceCutoff:new b(new le),proximityCutoff:new b(new le),noiseScale:new b(new le),minRadiusScale:new b(.33),intensity:new b(1),fade:new b(.01),bias:new b(0)},blending:ll,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:fl,vertexShader:hl}),this.copyCameraSettings(e),this.resolution=new le,this.r=1}get near(){return this.uniforms.cameraNearFar.value.x}get far(){return this.uniforms.cameraNearFar.value.y}set normalDepthBuffer(e){this.uniforms.normalDepthBuffer.value=e,e!==null?this.defines.NORMAL_DEPTH=\"1\":delete this.defines.NORMAL_DEPTH,this.needsUpdate=!0}setNormalDepthBuffer(e){this.normalDepthBuffer=e}set normalBuffer(e){this.uniforms.normalBuffer.value=e}setNormalBuffer(e){this.uniforms.normalBuffer.value=e}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=ol){this.depthBuffer=e,this.depthPacking=t}set noiseTexture(e){this.uniforms.noiseTexture.value=e}setNoiseTexture(e){this.uniforms.noiseTexture.value=e}get samples(){return Number(this.defines.SAMPLES_INT)}set samples(e){this.defines.SAMPLES_INT=e.toFixed(0),this.defines.INV_SAMPLES_FLOAT=(1/e).toFixed(9),this.needsUpdate=!0}getSamples(){return this.samples}setSamples(e){this.samples=e}get rings(){return Number(this.defines.SPIRAL_TURNS)}set rings(e){this.defines.SPIRAL_TURNS=e.toFixed(1),this.needsUpdate=!0}getRings(){return this.rings}setRings(e){this.rings=e}get intensity(){return this.uniforms.intensity.value}set intensity(e){this.uniforms.intensity.value=e,this.defines.LEGACY_INTENSITY===void 0&&(this.defines.LEGACY_INTENSITY=\"1\",this.needsUpdate=!0)}getIntensity(){return this.uniforms.intensity.value}setIntensity(e){this.uniforms.intensity.value=e}get fade(){return this.uniforms.fade.value}set fade(e){this.uniforms.fade.value=e}getFade(){return this.uniforms.fade.value}setFade(e){this.uniforms.fade.value=e}get bias(){return this.uniforms.bias.value}set bias(e){this.uniforms.bias.value=e}getBias(){return this.uniforms.bias.value}setBias(e){this.uniforms.bias.value=e}get minRadiusScale(){return this.uniforms.minRadiusScale.value}set minRadiusScale(e){this.uniforms.minRadiusScale.value=e}getMinRadiusScale(){return this.uniforms.minRadiusScale.value}setMinRadiusScale(e){this.uniforms.minRadiusScale.value=e}updateRadius(){let e=this.r*this.resolution.height;this.defines.RADIUS=e.toFixed(11),this.defines.RADIUS_SQ=(e*e).toFixed(11),this.needsUpdate=!0}get radius(){return this.r}set radius(e){this.r=Math.min(Math.max(e,1e-6),1),this.updateRadius()}getRadius(){return this.radius}setRadius(e){this.radius=e}get distanceScaling(){return!0}set distanceScaling(e){}isDistanceScalingEnabled(){return this.distanceScaling}setDistanceScalingEnabled(e){this.distanceScaling=e}get distanceThreshold(){return this.uniforms.distanceCutoff.value.x}set distanceThreshold(e){this.uniforms.distanceCutoff.value.set(Math.min(Math.max(e,0),1),Math.min(Math.max(e+this.distanceFalloff,0),1))}get worldDistanceThreshold(){return-Ie(this.distanceThreshold,this.near,this.far)}set worldDistanceThreshold(e){this.distanceThreshold=Pe(-e,this.near,this.far)}get distanceFalloff(){return this.uniforms.distanceCutoff.value.y-this.distanceThreshold}set distanceFalloff(e){this.uniforms.distanceCutoff.value.y=Math.min(Math.max(this.distanceThreshold+e,0),1)}get worldDistanceFalloff(){return-Ie(this.distanceFalloff,this.near,this.far)}set worldDistanceFalloff(e){this.distanceFalloff=Pe(-e,this.near,this.far)}setDistanceCutoff(e,t){this.uniforms.distanceCutoff.value.set(Math.min(Math.max(e,0),1),Math.min(Math.max(e+t,0),1))}get proximityThreshold(){return this.uniforms.proximityCutoff.value.x}set proximityThreshold(e){this.uniforms.proximityCutoff.value.set(Math.min(Math.max(e,0),1),Math.min(Math.max(e+this.proximityFalloff,0),1))}get worldProximityThreshold(){return-Ie(this.proximityThreshold,this.near,this.far)}set worldProximityThreshold(e){this.proximityThreshold=Pe(-e,this.near,this.far)}get proximityFalloff(){return this.uniforms.proximityCutoff.value.y-this.proximityThreshold}set proximityFalloff(e){this.uniforms.proximityCutoff.value.y=Math.min(Math.max(this.proximityThreshold+e,0),1)}get worldProximityFalloff(){return-Ie(this.proximityFalloff,this.near,this.far)}set worldProximityFalloff(e){this.proximityFalloff=Pe(-e,this.near,this.far)}setProximityCutoff(e,t){this.uniforms.proximityCutoff.value.set(Math.min(Math.max(e,0),1),Math.min(Math.max(e+t,0),1))}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNearFar.value.set(e.near,e.far),this.uniforms.projectionMatrix.value.copy(e.projectionMatrix),this.uniforms.inverseProjectionMatrix.value.copy(e.projectionMatrix).invert(),e instanceof cl?this.defines.PERSPECTIVE_CAMERA=\"1\":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){let r=this.uniforms,i=r.noiseTexture.value;i!==null&&r.noiseScale.value.set(e/i.image.width,t/i.image.height),r.texelSize.value.set(1/e,1/t),this.resolution.set(e,t),this.updateRadius()}},Dl=`#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\n#ifdef DOWNSAMPLE_NORMALS\nuniform lowp sampler2D normalBuffer;\n#endif\nvarying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}int findBestDepth(const in float samples[4]){float c=(samples[0]+samples[1]+samples[2]+samples[3])*0.25;float distances[4];distances[0]=abs(c-samples[0]);distances[1]=abs(c-samples[1]);distances[2]=abs(c-samples[2]);distances[3]=abs(c-samples[3]);float maxDistance=max(max(distances[0],distances[1]),max(distances[2],distances[3]));int remaining[3];int rejected[3];int i,j,k;for(i=0,j=0,k=0;i<4;++i){if(distances[i]<maxDistance){remaining[j++]=i;}else{rejected[k++]=i;}}for(;j<3;++j){remaining[j]=rejected[--k];}vec3 s=vec3(samples[remaining[0]],samples[remaining[1]],samples[remaining[2]]);c=(s.x+s.y+s.z)/3.0;distances[0]=abs(c-s.x);distances[1]=abs(c-s.y);distances[2]=abs(c-s.z);float minDistance=min(distances[0],min(distances[1],distances[2]));for(i=0;i<3;++i){if(distances[i]==minDistance){break;}}return remaining[i];}void main(){float d[4];d[0]=readDepth(vUv0);d[1]=readDepth(vUv1);d[2]=readDepth(vUv2);d[3]=readDepth(vUv3);int index=findBestDepth(d);\n#ifdef DOWNSAMPLE_NORMALS\nvec3 n[4];n[0]=texture2D(normalBuffer,vUv0).rgb;n[1]=texture2D(normalBuffer,vUv1).rgb;n[2]=texture2D(normalBuffer,vUv2).rgb;n[3]=texture2D(normalBuffer,vUv3).rgb;\n#else\nvec3 n[4];n[0]=vec3(0.0);n[1]=vec3(0.0);n[2]=vec3(0.0);n[3]=vec3(0.0);\n#endif\ngl_FragColor=vec4(n[index],d[index]);}`,Tl=\"uniform vec2 texelSize;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vUv0=uv;vUv1=vec2(uv.x,uv.y+texelSize.y);vUv2=vec2(uv.x+texelSize.x,uv.y);vUv3=uv+texelSize;gl_Position=vec4(position.xy,1.0,1.0);}\",wl=class extends xl{constructor(){super({name:\"DepthDownsamplingMaterial\",defines:{DEPTH_PACKING:\"0\"},uniforms:{depthBuffer:new mt(null),normalBuffer:new mt(null),texelSize:new mt(new El)},blending:Al,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Dl,vertexShader:Tl})}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=ml){this.depthBuffer=e,this.depthPacking=t}set normalBuffer(e){this.uniforms.normalBuffer.value=e,e!==null?this.defines.DOWNSAMPLE_NORMALS=\"1\":delete this.defines.DOWNSAMPLE_NORMALS,this.needsUpdate=!0}setNormalBuffer(e){this.normalBuffer=e}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},Cl=class extends P{constructor({normalBuffer:e=null,resolutionScale:t=.5,width:r=A.AUTO_SIZE,height:i=A.AUTO_SIZE,resolutionX:s=r,resolutionY:n=i}={}){super(\"DepthDownsamplingPass\");let a=new wl;a.normalBuffer=e,this.fullscreenMaterial=a,this.needsDepthTexture=!0,this.needsSwap=!1,this.renderTarget=new pl(1,1,{minFilter:yr,magFilter:yr,depthBuffer:!1,type:gl}),this.renderTarget.texture.name=\"DepthDownsamplingPass.Target\",this.renderTarget.texture.generateMipmaps=!1;let o=this.resolution=new A(this,s,n,t);o.addEventListener(\"change\",l=>this.setSize(o.baseWidth,o.baseHeight))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}setDepthTexture(e,t=vl){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t}render(e,t,r,i,s){e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height),this.fullscreenMaterial.setSize(e,t)}initialize(e,t,r){let i=e.getContext();if(!(i.getExtension(\"EXT_color_buffer_float\")||i.getExtension(\"EXT_color_buffer_half_float\")))throw new Error(\"Rendering to float texture is not supported.\")}},Sl=`uniform lowp sampler2D aoBuffer;uniform float luminanceInfluence;uniform float intensity;\n#if defined(DEPTH_AWARE_UPSAMPLING) && defined(NORMAL_DEPTH)\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D normalDepthBuffer;\n#else\nuniform mediump sampler2D normalDepthBuffer;\n#endif\n#endif\n#ifdef COLORIZE\nuniform vec3 color;\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){float aoLinear=texture2D(aoBuffer,uv).r;\n#if defined(DEPTH_AWARE_UPSAMPLING) && defined(NORMAL_DEPTH) && __VERSION__ == 300\nvec4 normalDepth[4];normalDepth[0]=textureOffset(normalDepthBuffer,uv,ivec2(0,0));normalDepth[1]=textureOffset(normalDepthBuffer,uv,ivec2(0,1));normalDepth[2]=textureOffset(normalDepthBuffer,uv,ivec2(1,0));normalDepth[3]=textureOffset(normalDepthBuffer,uv,ivec2(1,1));float dot01=dot(normalDepth[0].rgb,normalDepth[1].rgb);float dot02=dot(normalDepth[0].rgb,normalDepth[2].rgb);float dot03=dot(normalDepth[0].rgb,normalDepth[3].rgb);float minDot=min(dot01,min(dot02,dot03));float s=step(THRESHOLD,minDot);float smallestDistance=1.0;int index;for(int i=0;i<4;++i){float distance=abs(depth-normalDepth[i].a);if(distance<smallestDistance){smallestDistance=distance;index=i;}}ivec2 offsets[4];offsets[0]=ivec2(0,0);offsets[1]=ivec2(0,1);offsets[2]=ivec2(1,0);offsets[3]=ivec2(1,1);ivec2 coord=ivec2(uv*vec2(textureSize(aoBuffer,0)))+offsets[index];float aoNearest=texelFetch(aoBuffer,coord,0).r;float ao=mix(aoNearest,aoLinear,s);\n#else\nfloat ao=aoLinear;\n#endif\nfloat l=luminance(inputColor.rgb);ao=mix(ao,0.0,l*luminanceInfluence);ao=clamp(ao*intensity,0.0,1.0);\n#ifdef COLORIZE\noutputColor=vec4(1.0-ao*(1.0-color),inputColor.a);\n#else\noutputColor=vec4(vec3(1.0-ao),inputColor.a);\n#endif\n}`,Ur=64,Kf=class extends w{constructor(e,t,{blendFunction:r=g.MULTIPLY,samples:i=9,rings:s=7,normalDepthBuffer:n=null,depthAwareUpsampling:a=!0,worldDistanceThreshold:o,worldDistanceFalloff:l,worldProximityThreshold:c,worldProximityFalloff:f,distanceThreshold:u=.97,distanceFalloff:h=.03,rangeThreshold:d=5e-4,rangeFalloff:p=.001,minRadiusScale:v=.1,luminanceInfluence:m=.7,radius:D=.1825,intensity:E=1,bias:x=.025,fade:U=.01,color:N=null,resolutionScale:G=1,width:H=A.AUTO_SIZE,height:B=A.AUTO_SIZE,resolutionX:te=H,resolutionY:re=B}={}){super(\"SSAOEffect\",Sl,{blendFunction:r,attributes:y.DEPTH,defines:new Map([[\"THRESHOLD\",\"0.997\"]]),uniforms:new Map([[\"aoBuffer\",new oe(null)],[\"normalDepthBuffer\",new oe(n)],[\"luminanceInfluence\",new oe(m)],[\"color\",new oe(null)],[\"intensity\",new oe(E)],[\"scale\",new oe(0)]])}),this.renderTarget=new nl(1,1,{depthBuffer:!1}),this.renderTarget.texture.name=\"AO.Target\",this.uniforms.get(\"aoBuffer\").value=this.renderTarget.texture;let _=this.resolution=new A(this,te,re,G);_.addEventListener(\"change\",be=>this.setSize(_.baseWidth,_.baseHeight)),this.camera=e,this.depthDownsamplingPass=new Cl({normalBuffer:t,resolutionScale:G}),this.depthDownsamplingPass.enabled=n===null,this.ssaoPass=new O(new dl(e));let Z=new It(Ur,Ur,al);Z.wrapS=Z.wrapT=sl;let M=this.ssaoMaterial;M.normalBuffer=t,M.noiseTexture=Z,M.minRadiusScale=v,M.samples=i,M.radius=D,M.rings=s,M.fade=U,M.bias=x,M.distanceThreshold=u,M.distanceFalloff=h,M.proximityThreshold=d,M.proximityFalloff=p,o!==void 0&&(M.worldDistanceThreshold=o),l!==void 0&&(M.worldDistanceFalloff=l),c!==void 0&&(M.worldProximityThreshold=c),f!==void 0&&(M.worldProximityFalloff=f),n!==null&&(this.ssaoMaterial.normalDepthBuffer=n,this.defines.set(\"NORMAL_DEPTH\",\"1\")),this.depthAwareUpsampling=a,this.color=N}set mainCamera(e){this.camera=e,this.ssaoMaterial.copyCameraSettings(e)}get normalBuffer(){return this.ssaoMaterial.normalBuffer}set normalBuffer(e){this.ssaoMaterial.normalBuffer=e,this.depthDownsamplingPass.fullscreenMaterial.normalBuffer=e}getResolution(){return this.resolution}get ssaoMaterial(){return this.ssaoPass.fullscreenMaterial}getSSAOMaterial(){return this.ssaoMaterial}get samples(){return this.ssaoMaterial.samples}set samples(e){this.ssaoMaterial.samples=e}get rings(){return this.ssaoMaterial.rings}set rings(e){this.ssaoMaterial.rings=e}get radius(){return this.ssaoMaterial.radius}set radius(e){this.ssaoMaterial.radius=e}get depthAwareUpsampling(){return this.defines.has(\"DEPTH_AWARE_UPSAMPLING\")}set depthAwareUpsampling(e){this.depthAwareUpsampling!==e&&(e?this.defines.set(\"DEPTH_AWARE_UPSAMPLING\",\"1\"):this.defines.delete(\"DEPTH_AWARE_UPSAMPLING\"),this.setChanged())}isDepthAwareUpsamplingEnabled(){return this.depthAwareUpsampling}setDepthAwareUpsamplingEnabled(e){this.depthAwareUpsampling=e}get distanceScaling(){return!0}set distanceScaling(e){}get color(){return this.uniforms.get(\"color\").value}set color(e){let t=this.uniforms,r=this.defines;e!==null?r.has(\"COLORIZE\")?t.get(\"color\").value.set(e):(r.set(\"COLORIZE\",\"1\"),t.get(\"color\").value=new il(e),this.setChanged()):r.has(\"COLORIZE\")&&(r.delete(\"COLORIZE\"),t.get(\"color\").value=null,this.setChanged())}get luminanceInfluence(){return this.uniforms.get(\"luminanceInfluence\").value}set luminanceInfluence(e){this.uniforms.get(\"luminanceInfluence\").value=e}get intensity(){return this.uniforms.get(\"intensity\").value}set intensity(e){this.uniforms.get(\"intensity\").value=e}getColor(){return this.color}setColor(e){this.color=e}setDistanceCutoff(e,t){this.ssaoMaterial.distanceThreshold=e,this.ssaoMaterial.distanceFalloff=t}setProximityCutoff(e,t){this.ssaoMaterial.proximityThreshold=e,this.ssaoMaterial.proximityFalloff=t}setDepthTexture(e,t=rl){this.depthDownsamplingPass.setDepthTexture(e,t),this.ssaoMaterial.depthBuffer=e,this.ssaoMaterial.depthPacking=t}update(e,t,r){let i=this.renderTarget;this.depthDownsamplingPass.enabled&&this.depthDownsamplingPass.render(e),this.ssaoPass.render(e,null,i)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.ssaoMaterial.copyCameraSettings(this.camera),this.ssaoMaterial.setSize(i,s),this.renderTarget.setSize(i,s),this.depthDownsamplingPass.resolution.scale=r.scale,this.depthDownsamplingPass.setSize(e,t)}initialize(e,t,r){try{let i=this.uniforms.get(\"normalDepthBuffer\").value;i===null&&(this.depthDownsamplingPass.initialize(e,t,r),i=this.depthDownsamplingPass.texture,this.uniforms.get(\"normalDepthBuffer\").value=i,this.ssaoMaterial.normalDepthBuffer=i,this.defines.set(\"NORMAL_DEPTH\",\"1\"))}catch{this.depthDownsamplingPass.enabled=!1}}},Ml=`#ifdef TEXTURE_PRECISION_HIGH\nuniform mediump sampler2D map;\n#else\nuniform lowp sampler2D map;\n#endif\nvarying vec2 vUv2;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){\n#ifdef UV_TRANSFORM\nvec4 texel=texture2D(map,vUv2);\n#else\nvec4 texel=texture2D(map,uv);\n#endif\noutputColor=TEXEL;outputColor.a=max(inputColor.a,outputColor.a);}`,Il=`#ifdef ASPECT_CORRECTION\nuniform float scale;\n#else\nuniform mat3 uvTransform;\n#endif\nvarying vec2 vUv2;void mainSupport(const in vec2 uv){\n#ifdef ASPECT_CORRECTION\nvUv2=uv*vec2(aspect,1.0)*scale;\n#else\nvUv2=(uvTransform*vec3(uv,1.0)).xy;\n#endif\n}`,jf=class extends w{constructor({blendFunction:e,texture:t=null,aspectCorrection:r=!1}={}){super(\"TextureEffect\",Ml,{blendFunction:e,defines:new Map([[\"TEXEL\",\"texel\"]]),uniforms:new Map([[\"map\",new At(null)],[\"scale\",new At(1)],[\"uvTransform\",new At(null)]])}),this.texture=t,this.aspectCorrection=r}get texture(){return this.uniforms.get(\"map\").value}set texture(e){let t=this.texture,r=this.uniforms,i=this.defines;t!==e&&(r.get(\"map\").value=e,r.get(\"uvTransform\").value=e.matrix,i.delete(\"TEXTURE_PRECISION_HIGH\"),e!==null&&(e.matrixAutoUpdate?(i.set(\"UV_TRANSFORM\",\"1\"),this.setVertexShader(Il)):(i.delete(\"UV_TRANSFORM\"),this.setVertexShader(null)),e.type!==Bl&&i.set(\"TEXTURE_PRECISION_HIGH\",\"1\"),(t===null||t.type!==e.type||t.encoding!==e.encoding)&&this.setChanged()))}getTexture(){return this.texture}setTexture(e){this.texture=e}get aspectCorrection(){return this.defines.has(\"ASPECT_CORRECTION\")}set aspectCorrection(e){this.aspectCorrection!==e&&(e?this.defines.set(\"ASPECT_CORRECTION\",\"1\"):this.defines.delete(\"ASPECT_CORRECTION\"),this.setChanged())}get uvTransform(){let e=this.texture;return e!==null&&e.matrixAutoUpdate}set uvTransform(e){let t=this.texture;t!==null&&(t.matrixAutoUpdate=e)}setTextureSwizzleRGBA(e,t=e,r=e,i=e){let s=\"rgba\",n=\"\";(e!==de.RED||t!==de.GREEN||r!==de.BLUE||i!==de.ALPHA)&&(n=[\".\",s[e],s[t],s[r],s[i]].join(\"\")),this.defines.set(\"TEXEL\",\"texel\"+n),this.setChanged()}update(e,t,r){this.texture.matrixAutoUpdate&&this.texture.updateMatrix()}},Rl=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform vec4 maskParams;varying vec2 vUv;varying vec2 vUv2;varying vec2 vOffset;float linearGradientMask(const in float x){return smoothstep(maskParams.x,maskParams.y,x)-smoothstep(maskParams.w,maskParams.z,x);}void main(){vec2 dUv=vOffset*(1.0-linearGradientMask(vUv2.y));vec4 sum=texture2D(inputBuffer,vec2(vUv.x-dUv.x,vUv.y+dUv.y));sum+=texture2D(inputBuffer,vec2(vUv.x+dUv.x,vUv.y+dUv.y));sum+=texture2D(inputBuffer,vec2(vUv.x+dUv.x,vUv.y-dUv.y));sum+=texture2D(inputBuffer,vec2(vUv.x-dUv.x,vUv.y-dUv.y));gl_FragColor=sum*0.25;\n#include <colorspace_fragment>\n}`,bl=\"uniform vec4 texelSize;uniform float kernel;uniform float scale;uniform float aspect;uniform vec2 rotation;varying vec2 vUv;varying vec2 vUv2;varying vec2 vOffset;void main(){vec2 uv=position.xy*0.5+0.5;vUv=uv;vUv2=(uv-0.5)*2.0*vec2(aspect,1.0);vUv2=vec2(dot(rotation,vUv2),dot(rotation,vec2(vUv2.y,-vUv2.x)));vOffset=(texelSize.xy*vec2(kernel)+texelSize.zw)*scale;gl_Position=vec4(position.xy,1.0,1.0);}\",Ll=class extends ti{constructor({kernelSize:e=z.MEDIUM,offset:t=0,rotation:r=0,focusArea:i=.4,feather:s=.3}={}){super(),this.fragmentShader=Rl,this.vertexShader=bl,this.kernelSize=e,this.uniforms.aspect=new Et(1),this.uniforms.rotation=new Et(new yl),this.uniforms.maskParams=new Et(new Ul),this._offset=t,this._focusArea=i,this._feather=s,this.rotation=r,this.updateParams()}updateParams(){let e=this.uniforms.maskParams.value,t=Math.max(this.focusArea,0),r=Math.max(t-this.feather,0);e.set(this.offset-t,this.offset-r,this.offset+t,this.offset+r)}get rotation(){return Math.acos(this.uniforms.rotation.value.x)}set rotation(e){this.uniforms.rotation.value.set(Math.cos(e),Math.sin(e))}get offset(){return this._offset}set offset(e){this._offset=e,this.updateParams()}get focusArea(){return this._focusArea}set focusArea(e){this._focusArea=e,this.updateParams()}get feather(){return this._feather}set feather(e){this._feather=e,this.updateParams()}setSize(e,t){super.setSize(e,t),this.uniforms.aspect.value=e/t}},Fl=class extends Re{constructor({offset:e=0,rotation:t=0,focusArea:r=.4,feather:i=.3,kernelSize:s=z.MEDIUM,resolutionScale:n=.5,resolutionX:a=A.AUTO_SIZE,resolutionY:o=A.AUTO_SIZE}={}){super({kernelSize:s,resolutionScale:n,resolutionX:a,resolutionY:o}),this.blurMaterial=new Ll({kernelSize:s,offset:e,rotation:t,focusArea:r,feather:i})}},Ol=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D map;\n#else\nuniform lowp sampler2D map;\n#endif\nuniform vec2 maskParams;varying vec2 vUv2;float linearGradientMask(const in float x){return step(maskParams.x,x)-step(maskParams.y,x);}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){float mask=linearGradientMask(vUv2.y);vec4 texel=texture2D(map,uv);outputColor=mix(texel,inputColor,mask);}`,Nl=\"uniform vec2 rotation;varying vec2 vUv2;void mainSupport(const in vec2 uv){vUv2=(uv-0.5)*2.0*vec2(aspect,1.0);vUv2=vec2(dot(rotation,vUv2),dot(rotation,vec2(vUv2.y,-vUv2.x)));}\",$f=class extends w{constructor({blendFunction:e,offset:t=0,rotation:r=0,focusArea:i=.4,feather:s=.3,kernelSize:n=z.MEDIUM,resolutionScale:a=.5,resolutionX:o=A.AUTO_SIZE,resolutionY:l=A.AUTO_SIZE}={}){super(\"TiltShiftEffect\",Ol,{vertexShader:Nl,blendFunction:e,uniforms:new Map([[\"rotation\",new xt(new br)],[\"maskParams\",new xt(new br)],[\"map\",new xt(null)]])}),this._offset=t,this._focusArea=i,this._feather=s,this.renderTarget=new Pl(1,1,{depthBuffer:!1}),this.renderTarget.texture.name=\"TiltShift.Target\",this.uniforms.get(\"map\").value=this.renderTarget.texture,this.blurPass=new Fl({kernelSize:n,resolutionScale:a,resolutionX:o,resolutionY:l,offset:t,rotation:r,focusArea:i,feather:s});let c=this.resolution=new A(this,o,l,a);c.addEventListener(\"change\",f=>this.setSize(c.baseWidth,c.baseHeight)),this.rotation=r,this.updateParams()}updateParams(){let e=this.uniforms.get(\"maskParams\").value,t=Math.max(this.focusArea-this.feather,0);e.set(this.offset-t,this.offset+t)}get rotation(){return Math.acos(this.uniforms.get(\"rotation\").value.x)}set rotation(e){this.uniforms.get(\"rotation\").value.set(Math.cos(e),Math.sin(e)),this.blurPass.blurMaterial.rotation=e}get offset(){return this._offset}set offset(e){this._offset=e,this.blurPass.blurMaterial.offset=e,this.updateParams()}get focusArea(){return this._focusArea}set focusArea(e){this._focusArea=e,this.blurPass.blurMaterial.focusArea=e,this.updateParams()}get feather(){return this._feather}set feather(e){this._feather=e,this.blurPass.blurMaterial.feather=e,this.updateParams()}get bias(){return 0}set bias(e){}update(e,t,r){this.blurPass.render(e,t,this.renderTarget)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height),this.blurPass.resolution.copy(r)}initialize(e,t,r){this.blurPass.initialize(e,t,r),r!==void 0&&(this.renderTarget.texture.type=r,e!==null&&e.outputColorSpace===Rr&&(this.renderTarget.texture.colorSpace=Rr))}},Ql=`#include <packing>\n#define packFloatToRGBA(v) packDepthToRGBA(v)\n#define unpackRGBAToFloat(v) unpackRGBAToDepth(v)\nuniform lowp sampler2D luminanceBuffer0;uniform lowp sampler2D luminanceBuffer1;uniform float minLuminance;uniform float deltaTime;uniform float tau;varying vec2 vUv;void main(){float l0=unpackRGBAToFloat(texture2D(luminanceBuffer0,vUv));\n#if __VERSION__ < 300\nfloat l1=texture2DLodEXT(luminanceBuffer1,vUv,MIP_LEVEL_1X1).r;\n#else\nfloat l1=textureLod(luminanceBuffer1,vUv,MIP_LEVEL_1X1).r;\n#endif\nl0=max(minLuminance,l0);l1=max(minLuminance,l1);float adaptedLum=l0+(l1-l0)*(1.0-exp(-deltaTime*tau));gl_FragColor=(adaptedLum==1.0)?vec4(1.0):packFloatToRGBA(adaptedLum);}`,Wl=class extends Vl{constructor(){super({name:\"AdaptiveLuminanceMaterial\",defines:{MIP_LEVEL_1X1:\"0.0\"},uniforms:{luminanceBuffer0:new Ce(null),luminanceBuffer1:new Ce(null),minLuminance:new Ce(.01),deltaTime:new Ce(0),tau:new Ce(1)},extensions:{shaderTextureLOD:!0},blending:_l,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Ql,vertexShader:K})}set luminanceBuffer0(e){this.uniforms.luminanceBuffer0.value=e}setLuminanceBuffer0(e){this.uniforms.luminanceBuffer0.value=e}set luminanceBuffer1(e){this.uniforms.luminanceBuffer1.value=e}setLuminanceBuffer1(e){this.uniforms.luminanceBuffer1.value=e}set mipLevel1x1(e){this.defines.MIP_LEVEL_1X1=e.toFixed(1),this.needsUpdate=!0}setMipLevel1x1(e){this.mipLevel1x1=e}set deltaTime(e){this.uniforms.deltaTime.value=e}setDeltaTime(e){this.uniforms.deltaTime.value=e}get minLuminance(){return this.uniforms.minLuminance.value}set minLuminance(e){this.uniforms.minLuminance.value=e}getMinLuminance(){return this.uniforms.minLuminance.value}setMinLuminance(e){this.uniforms.minLuminance.value=e}get adaptationRate(){return this.uniforms.tau.value}set adaptationRate(e){this.uniforms.tau.value=e}getAdaptationRate(){return this.uniforms.tau.value}setAdaptationRate(e){this.uniforms.tau.value=e}},Yl=class extends P{constructor(e,{minLuminance:t=.01,adaptationRate:r=1}={}){super(\"AdaptiveLuminancePass\"),this.fullscreenMaterial=new Wl,this.needsSwap=!1,this.renderTargetPrevious=new zl(1,1,{minFilter:Lr,magFilter:Lr,depthBuffer:!1}),this.renderTargetPrevious.texture.name=\"Luminance.Previous\";let i=this.fullscreenMaterial;i.luminanceBuffer0=this.renderTargetPrevious.texture,i.luminanceBuffer1=e,i.minLuminance=t,i.adaptationRate=r,this.renderTargetAdapted=this.renderTargetPrevious.clone(),this.renderTargetAdapted.texture.name=\"Luminance.Adapted\",this.copyPass=new Ut(this.renderTargetPrevious,!1)}get texture(){return this.renderTargetAdapted.texture}getTexture(){return this.renderTargetAdapted.texture}set mipLevel1x1(e){this.fullscreenMaterial.mipLevel1x1=e}get adaptationRate(){return this.fullscreenMaterial.adaptationRate}set adaptationRate(e){this.fullscreenMaterial.adaptationRate=e}render(e,t,r,i,s){this.fullscreenMaterial.deltaTime=i,e.setRenderTarget(this.renderToScreen?null:this.renderTargetAdapted),e.render(this.scene,this.camera),this.copyPass.render(e,this.renderTargetAdapted)}},Xl=`#include <tonemapping_pars_fragment>\nuniform float whitePoint;\n#if TONE_MAPPING_MODE == 2 || TONE_MAPPING_MODE == 3\nuniform float middleGrey;\n#if TONE_MAPPING_MODE == 3\nuniform lowp sampler2D luminanceBuffer;\n#else\nuniform float averageLuminance;\n#endif\nvec3 Reinhard2ToneMapping(vec3 color){color*=toneMappingExposure;float l=luminance(color);\n#if TONE_MAPPING_MODE == 3\nfloat lumAvg=unpackRGBAToFloat(texture2D(luminanceBuffer,vec2(0.5)));\n#else\nfloat lumAvg=averageLuminance;\n#endif\nfloat lumScaled=(l*middleGrey)/max(lumAvg,1e-6);float lumCompressed=lumScaled*(1.0+lumScaled/(whitePoint*whitePoint));lumCompressed/=(1.0+lumScaled);return clamp(lumCompressed*color,0.0,1.0);}\n#elif TONE_MAPPING_MODE == 4\n#define A 0.15\n#define B 0.50\n#define C 0.10\n#define D 0.20\n#define E 0.02\n#define F 0.30\nvec3 Uncharted2Helper(const in vec3 x){return((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}vec3 Uncharted2ToneMapping(vec3 color){color*=toneMappingExposure;return clamp(Uncharted2Helper(color)/Uncharted2Helper(vec3(whitePoint)),0.0,1.0);}\n#endif\nvoid mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){\n#if TONE_MAPPING_MODE == 2 || TONE_MAPPING_MODE == 3\noutputColor=vec4(Reinhard2ToneMapping(inputColor.rgb),inputColor.a);\n#elif TONE_MAPPING_MODE == 4\noutputColor=vec4(Uncharted2ToneMapping(inputColor.rgb),inputColor.a);\n#else\noutputColor=vec4(toneMapping(inputColor.rgb),inputColor.a);\n#endif\n}`,ih=class extends w{constructor({blendFunction:e=g.SRC,adaptive:t=!1,mode:r=t?F.REINHARD2_ADAPTIVE:F.AGX,resolution:i=256,maxLuminance:s=4,whitePoint:n=s,middleGrey:a=.6,minLuminance:o=.01,averageLuminance:l=1,adaptationRate:c=1}={}){super(\"ToneMappingEffect\",Xl,{blendFunction:e,uniforms:new Map([[\"luminanceBuffer\",new we(null)],[\"maxLuminance\",new we(s)],[\"whitePoint\",new we(n)],[\"middleGrey\",new we(a)],[\"averageLuminance\",new we(l)]])}),this.renderTargetLuminance=new kl(1,1,{minFilter:Gl,depthBuffer:!1}),this.renderTargetLuminance.texture.generateMipmaps=!0,this.renderTargetLuminance.texture.name=\"Luminance\",this.luminancePass=new ri({renderTarget:this.renderTargetLuminance}),this.adaptiveLuminancePass=new Yl(this.luminancePass.texture,{minLuminance:o,adaptationRate:c}),this.uniforms.get(\"luminanceBuffer\").value=this.adaptiveLuminancePass.texture,this.resolution=i,this.mode=r}get mode(){return Number(this.defines.get(\"TONE_MAPPING_MODE\"))}set mode(e){if(this.mode===e)return;let r=Hl.replace(/\\D+/g,\"\")>=168?\"CineonToneMapping(texel)\":\"OptimizedCineonToneMapping(texel)\";switch(this.defines.clear(),this.defines.set(\"TONE_MAPPING_MODE\",e.toFixed(0)),e){case F.LINEAR:this.defines.set(\"toneMapping(texel)\",\"LinearToneMapping(texel)\");break;case F.REINHARD:this.defines.set(\"toneMapping(texel)\",\"ReinhardToneMapping(texel)\");break;case F.CINEON:case F.OPTIMIZED_CINEON:this.defines.set(\"toneMapping(texel)\",r);break;case F.ACES_FILMIC:this.defines.set(\"toneMapping(texel)\",\"ACESFilmicToneMapping(texel)\");break;case F.AGX:this.defines.set(\"toneMapping(texel)\",\"AgXToneMapping(texel)\");break;case F.NEUTRAL:this.defines.set(\"toneMapping(texel)\",\"NeutralToneMapping(texel)\");break;default:this.defines.set(\"toneMapping(texel)\",\"texel\");break}this.adaptiveLuminancePass.enabled=e===F.REINHARD2_ADAPTIVE,this.setChanged()}getMode(){return this.mode}setMode(e){this.mode=e}get whitePoint(){return this.uniforms.get(\"whitePoint\").value}set whitePoint(e){this.uniforms.get(\"whitePoint\").value=e}get middleGrey(){return this.uniforms.get(\"middleGrey\").value}set middleGrey(e){this.uniforms.get(\"middleGrey\").value=e}get averageLuminance(){return this.uniforms.get(\"averageLuminance\").value}set averageLuminance(e){this.uniforms.get(\"averageLuminance\").value=e}get adaptiveLuminanceMaterial(){return this.adaptiveLuminancePass.fullscreenMaterial}getAdaptiveLuminanceMaterial(){return this.adaptiveLuminanceMaterial}get resolution(){return this.luminancePass.resolution.width}set resolution(e){let t=Math.max(0,Math.ceil(Math.log2(e))),r=Math.pow(2,t);this.luminancePass.resolution.setPreferredSize(r,r),this.adaptiveLuminanceMaterial.mipLevel1x1=t}getResolution(){return this.resolution}setResolution(e){this.resolution=e}get adaptive(){return this.mode===F.REINHARD2_ADAPTIVE}set adaptive(e){this.mode=e?F.REINHARD2_ADAPTIVE:F.REINHARD2}get adaptationRate(){return this.adaptiveLuminanceMaterial.adaptationRate}set adaptationRate(e){this.adaptiveLuminanceMaterial.adaptationRate=e}get distinction(){return console.warn(this.name,\"distinction was removed.\"),1}set distinction(e){console.warn(this.name,\"distinction was removed.\")}update(e,t,r){this.adaptiveLuminancePass.enabled&&(this.luminancePass.render(e,t),this.adaptiveLuminancePass.render(e,null,null,r))}initialize(e,t,r){this.adaptiveLuminancePass.initialize(e,t,r)}},Kl=`uniform float offset;uniform float darkness;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){const vec2 center=vec2(0.5);vec3 color=inputColor.rgb;\n#if VIGNETTE_TECHNIQUE == 0\nfloat d=distance(uv,center);color*=smoothstep(0.8,offset*0.799,d*(darkness+offset));\n#else\nvec2 coord=(uv-center)*vec2(offset);color=mix(color,vec3(1.0-darkness),dot(coord,coord));\n#endif\noutputColor=vec4(color,inputColor.a);}`,ah=class extends w{constructor({blendFunction:e,eskil:t=!1,technique:r=t?Ee.ESKIL:Ee.DEFAULT,offset:i=.5,darkness:s=.5}={}){super(\"VignetteEffect\",Kl,{blendFunction:e,defines:new Map([[\"VIGNETTE_TECHNIQUE\",r.toFixed(0)]]),uniforms:new Map([[\"offset\",new Fr(i)],[\"darkness\",new Fr(s)]])})}get technique(){return Number(this.defines.get(\"VIGNETTE_TECHNIQUE\"))}set technique(e){this.technique!==e&&(this.defines.set(\"VIGNETTE_TECHNIQUE\",e.toFixed(0)),this.setChanged())}get eskil(){return this.technique===Ee.ESKIL}set eskil(e){this.technique=e?Ee.ESKIL:Ee.DEFAULT}getTechnique(){return this.technique}setTechnique(e){this.technique=e}get offset(){return this.uniforms.get(\"offset\").value}set offset(e){this.uniforms.get(\"offset\").value=e}getOffset(){return this.offset}setOffset(e){this.offset=e}get darkness(){return this.uniforms.get(\"darkness\").value}set darkness(e){this.uniforms.get(\"darkness\").value=e}getDarkness(){return this.darkness}setDarkness(e){this.darkness=e}},oh=class extends jl{load(e,t=()=>{},r=()=>{},i=null){let s=this.manager,n=new Or,a=new Zl(n);a.setPath(this.path),a.setResponseType(\"text\"),s.itemStart(e),a.load(e,o=>{try{let l=this.parse(o);s.itemEnd(e),t(l)}catch(l){n.onError(e),i(l)}},r)}loadAsync(e,t=()=>{}){let r=this.manager,i=new Or;return new Promise((s,n)=>{i.onError=a=>{r.itemError(a),n(`Failed to load ${a}`)},this.load(e,s,t)})}parse(e){let t=/^[\\d ]+$/m,r=/^([\\d.e+-]+) +([\\d.e+-]+) +([\\d.e+-]+) *$/gm,i=t.exec(e);if(i===null)throw new Error(\"Missing grid information\");let s=i[0].trim().split(/\\s+/g).map(d=>Number(d)),n=s[1]-s[0],a=s.length,o=a**2;for(let d=1,p=s.length;d<p;++d)if(n!==s[d]-s[d-1])throw new Error(\"Inconsistent grid size\");let l=new Float32Array(a**3*4),c=0,f=0;for(;(i=r.exec(e))!==null;){let d=Number(i[1]),p=Number(i[2]),v=Number(i[3]);c=Math.max(c,d,p,v);let m=f%a,D=Math.floor(f/a)%a,E=Math.floor(f/o)%a,x=(m*o+D*a+E)*4;l[x+0]=d,l[x+1]=p,l[x+2]=v,l[x+3]=1,++f}let u=Math.ceil(Math.log2(c)),h=Math.pow(2,u);for(let d=0,p=l.length;d<p;d+=4)l[d+0]/=h,l[d+1]/=h,l[d+2]/=h;return new Rt(l,a)}},ch=class extends ql{load(e,t=()=>{},r=()=>{},i=null){let s=this.manager,n=new Nr,a=new Jl(n);a.setPath(this.path),a.setResponseType(\"text\"),a.load(e,o=>{try{let l=this.parse(o);s.itemEnd(e),t(l)}catch(l){n.onError(e),i(l)}},r)}loadAsync(e,t=()=>{}){let r=this.manager,i=new Nr;return new Promise((s,n)=>{i.onError=a=>{r.itemError(a),n(`Failed to load ${a}`)},this.load(e,s,t)})}parse(e){let t=/TITLE +\"([^\"]*)\"/,r=/LUT_3D_SIZE +(\\d+)/,i=/DOMAIN_MIN +([\\d.]+) +([\\d.]+) +([\\d.]+)/,s=/DOMAIN_MAX +([\\d.]+) +([\\d.]+) +([\\d.]+)/,n=/^([\\d.e+-]+) +([\\d.e+-]+) +([\\d.e+-]+) *$/gm,a=t.exec(e),o=a!==null?a[1]:null;if(a=r.exec(e),a===null)throw new Error(\"Missing LUT_3D_SIZE information\");let l=Number(a[1]),c=new Float32Array(l**3*4),f=new Gr(0,0,0),u=new Gr(1,1,1);if(a=i.exec(e),a!==null&&f.set(Number(a[1]),Number(a[2]),Number(a[3])),a=s.exec(e),a!==null&&u.set(Number(a[1]),Number(a[2]),Number(a[3])),f.x>u.x||f.y>u.y||f.z>u.z)throw f.set(0,0,0),u.set(1,1,1),new Error(\"Invalid input domain\");let h=0;for(;(a=n.exec(e))!==null;)c[h++]=Number(a[1]),c[h++]=Number(a[2]),c[h++]=Number(a[3]),c[h++]=1;let d=new Rt(c,l);return d.domainMin.copy(f),d.domainMax.copy(u),o!==null&&(d.name=o),d}},fh=class extends $l{load(e=()=>{},t=null){arguments.length===4?(e=arguments[1],t=arguments[3]):(arguments.length===3||typeof arguments[0]!=\"function\")&&(e=arguments[1],t=null);let r=this.manager,i=new ec;return new Promise((s,n)=>{let a=new Image,o=new Image;i.onError=l=>{r.itemError(l),t!==null?(t(`Failed to load ${l}`),s()):n(`Failed to load ${l}`)},i.onLoad=()=>{let l=[a,o];e(l),s(l)},a.addEventListener(\"error\",l=>{i.itemError(\"smaa-search\")}),o.addEventListener(\"error\",l=>{i.itemError(\"smaa-area\")}),a.addEventListener(\"load\",()=>{r.itemEnd(\"smaa-search\"),i.itemEnd(\"smaa-search\")}),o.addEventListener(\"load\",()=>{r.itemEnd(\"smaa-area\"),i.itemEnd(\"smaa-area\")}),r.itemStart(\"smaa-search\"),r.itemStart(\"smaa-area\"),i.itemStart(\"smaa-search\"),i.itemStart(\"smaa-area\"),a.src=Pt,o.src=yt})}},sc=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef BILATERAL\n#include <packing>\nuniform vec2 cameraNearFar;\n#define cameraNear cameraNearFar.x\n#define cameraFar cameraNearFar.y\n#ifdef NORMAL_DEPTH\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D normalDepthBuffer;\n#else\nuniform mediump sampler2D normalDepthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){float depth=texture2D(normalDepthBuffer,uv).a;\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth=1.0-depth;\n#endif\nreturn depth;}\n#else\n#if DEPTH_PACKING == 3201\nuniform lowp sampler2D depthBuffer;\n#elif defined(GL_FRAGMENT_PRECISION_HIGH)\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nfloat depth=unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nfloat depth=texture2D(depthBuffer,uv).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth=1.0-depth;\n#endif\nreturn depth;}\n#endif\nfloat getViewZ(const in float depth){\n#ifdef PERSPECTIVE_CAMERA\nreturn perspectiveDepthToViewZ(depth,cameraNearFar.x,cameraNearFar.y);\n#else\nreturn orthographicDepthToViewZ(depth,cameraNearFar.x,cameraNearFar.y);\n#endif\n}\n#ifdef PERSPECTIVE_CAMERA\n#define linearDepth(v) viewZToOrthographicDepth(getViewZ(readDepth(v)), cameraNearFar.x, cameraNearFar.y)\n#else\n#define linearDepth(v) readDepth(v)\n#endif\n#endif\n#define getTexel(v) texture2D(inputBuffer, v)\n#if KERNEL_SIZE == 3\nvarying vec2 vUv00,vUv01,vUv02;varying vec2 vUv03,vUv04,vUv05;varying vec2 vUv06,vUv07,vUv08;\n#elif KERNEL_SIZE == 5 && MAX_VARYING_VECTORS >= 13\nvarying vec2 vUv00,vUv01,vUv02,vUv03,vUv04;varying vec2 vUv05,vUv06,vUv07,vUv08,vUv09;varying vec2 vUv10,vUv11,vUv12,vUv13,vUv14;varying vec2 vUv15,vUv16,vUv17,vUv18,vUv19;varying vec2 vUv20,vUv21,vUv22,vUv23,vUv24;\n#else\nuniform vec2 texelSize;uniform float scale;varying vec2 vUv;\n#endif\nvoid main(){\n#if KERNEL_SIZE == 3\nvec4 c[]=vec4[KERNEL_SIZE_SQ](getTexel(vUv00),getTexel(vUv01),getTexel(vUv02),getTexel(vUv03),getTexel(vUv04),getTexel(vUv05),getTexel(vUv06),getTexel(vUv07),getTexel(vUv08));\n#ifdef BILATERAL\nfloat z[]=float[KERNEL_SIZE_SQ](linearDepth(vUv00),linearDepth(vUv01),linearDepth(vUv02),linearDepth(vUv03),linearDepth(vUv04),linearDepth(vUv05),linearDepth(vUv06),linearDepth(vUv07),linearDepth(vUv08));\n#endif\n#elif KERNEL_SIZE == 5 && MAX_VARYING_VECTORS >= 13\nvec4 c[]=vec4[KERNEL_SIZE_SQ](getTexel(vUv00),getTexel(vUv01),getTexel(vUv02),getTexel(vUv03),getTexel(vUv04),getTexel(vUv05),getTexel(vUv06),getTexel(vUv07),getTexel(vUv08),getTexel(vUv09),getTexel(vUv10),getTexel(vUv11),getTexel(vUv12),getTexel(vUv13),getTexel(vUv14),getTexel(vUv15),getTexel(vUv16),getTexel(vUv17),getTexel(vUv18),getTexel(vUv19),getTexel(vUv20),getTexel(vUv21),getTexel(vUv22),getTexel(vUv23),getTexel(vUv24));\n#ifdef BILATERAL\nfloat z[]=float[KERNEL_SIZE_SQ](linearDepth(vUv00),linearDepth(vUv01),linearDepth(vUv02),linearDepth(vUv03),linearDepth(vUv04),linearDepth(vUv05),linearDepth(vUv06),linearDepth(vUv07),linearDepth(vUv08),linearDepth(vUv09),linearDepth(vUv10),linearDepth(vUv11),linearDepth(vUv12),linearDepth(vUv13),linearDepth(vUv14),linearDepth(vUv15),linearDepth(vUv16),linearDepth(vUv17),linearDepth(vUv18),linearDepth(vUv19),linearDepth(vUv20),linearDepth(vUv21),linearDepth(vUv22),linearDepth(vUv23),linearDepth(vUv24));\n#endif\n#endif\nvec4 result=vec4(0.0);\n#ifdef BILATERAL\nfloat w=0.0;\n#if KERNEL_SIZE == 3 || (KERNEL_SIZE == 5 && MAX_VARYING_VECTORS >= 13)\nfloat centerDepth=z[KERNEL_SIZE_SQ_HALF];for(int i=0;i<KERNEL_SIZE_SQ;++i){float d=step(abs(z[i]-centerDepth),DISTANCE_THRESHOLD);result+=c[i]*d;w+=d;}\n#else\nfloat centerDepth=linearDepth(vUv);vec2 s=texelSize*scale;for(int x=-KERNEL_SIZE_HALF;x<=KERNEL_SIZE_HALF;++x){for(int y=-KERNEL_SIZE_HALF;y<=KERNEL_SIZE_HALF;++y){vec2 coords=vUv+vec2(x,y)*s;vec4 c=getTexel(coords);float z=(x==0&&y==0)?centerDepth:linearDepth(coords);float d=step(abs(z-centerDepth),DISTANCE_THRESHOLD);result+=c*d;w+=d;}}\n#endif\ngl_FragColor=result/max(w,1.0);\n#else\n#if KERNEL_SIZE == 3 || (KERNEL_SIZE == 5 && MAX_VARYING_VECTORS >= 13)\nfor(int i=0;i<KERNEL_SIZE_SQ;++i){result+=c[i];}\n#else\nvec2 s=texelSize*scale;for(int x=-KERNEL_SIZE_HALF;x<=KERNEL_SIZE_HALF;++x){for(int y=-KERNEL_SIZE_HALF;y<=KERNEL_SIZE_HALF;++y){result+=getTexel(uv+vec2(x,y)*s);}}\n#endif\ngl_FragColor=result*INV_KERNEL_SIZE_SQ;\n#endif\n}`,ac=`uniform vec2 texelSize;uniform float scale;\n#if KERNEL_SIZE == 3\nvarying vec2 vUv00,vUv01,vUv02;varying vec2 vUv03,vUv04,vUv05;varying vec2 vUv06,vUv07,vUv08;\n#elif KERNEL_SIZE == 5 && MAX_VARYING_VECTORS >= 13\nvarying vec2 vUv00,vUv01,vUv02,vUv03,vUv04;varying vec2 vUv05,vUv06,vUv07,vUv08,vUv09;varying vec2 vUv10,vUv11,vUv12,vUv13,vUv14;varying vec2 vUv15,vUv16,vUv17,vUv18,vUv19;varying vec2 vUv20,vUv21,vUv22,vUv23,vUv24;\n#else\nvarying vec2 vUv;\n#endif\nvoid main(){vec2 uv=position.xy*0.5+0.5;\n#if KERNEL_SIZE == 3\nvec2 s=texelSize*scale;vUv00=uv+s*vec2(-1.0,-1.0);vUv01=uv+s*vec2(0.0,-1.0);vUv02=uv+s*vec2(1.0,-1.0);vUv03=uv+s*vec2(-1.0,0.0);vUv04=uv;vUv05=uv+s*vec2(1.0,0.0);vUv06=uv+s*vec2(-1.0,1.0);vUv07=uv+s*vec2(0.0,1.0);vUv08=uv+s*vec2(1.0,1.0);\n#elif KERNEL_SIZE == 5\nvec2 s=texelSize*scale;vUv00=uv+s*vec2(-2.0,-2.0);vUv01=uv+s*vec2(-1.0,-2.0);vUv02=uv+s*vec2(0.0,-2.0);vUv03=uv+s*vec2(1.0,-2.0);vUv04=uv+s*vec2(2.0,-2.0);vUv05=uv+s*vec2(-2.0,-1.0);vUv06=uv+s*vec2(-1.0,-1.0);vUv07=uv+s*vec2(0.0,-1.0);vUv08=uv+s*vec2(1.0,-1.0);vUv09=uv+s*vec2(2.0,-1.0);vUv10=uv+s*vec2(-2.0,0.0);vUv11=uv+s*vec2(-1.0,0.0);vUv12=uv;vUv13=uv+s*vec2(1.0,0.0);vUv14=uv+s*vec2(2.0,0.0);vUv15=uv+s*vec2(-2.0,1.0);vUv16=uv+s*vec2(-1.0,1.0);vUv17=uv+s*vec2(0.0,1.0);vUv18=uv+s*vec2(1.0,1.0);vUv19=uv+s*vec2(2.0,1.0);vUv20=uv+s*vec2(-2.0,2.0);vUv21=uv+s*vec2(-1.0,2.0);vUv22=uv+s*vec2(0.0,2.0);vUv23=uv+s*vec2(1.0,2.0);vUv24=uv+s*vec2(2.0,2.0);\n#else\nvUv=uv;\n#endif\ngl_Position=vec4(position.xy,1.0,1.0);}`,nc=class extends ic{constructor({bilateral:e=!1,kernelSize:t=5}={}){super({name:\"BoxBlurMaterial\",defines:{DEPTH_PACKING:\"0\",DISTANCE_THRESHOLD:\"0.1\"},uniforms:{inputBuffer:new ce(null),depthBuffer:new ce(null),normalDepthBuffer:new ce(null),texelSize:new ce(new Hr),cameraNearFar:new ce(new Hr),scale:new ce(1)},blending:tc,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:sc,vertexShader:ac}),this.bilateral=e,this.kernelSize=t,this.maxVaryingVectors=8}set maxVaryingVectors(e){this.defines.MAX_VARYING_VECTORS=e.toFixed(0)}get kernelSize(){return Number(this.defines.KERNEL_SIZE)}set kernelSize(e){if(e%2===0)throw new Error(\"The kernel size must be an odd number\");this.defines.KERNEL_SIZE=e.toFixed(0),this.defines.KERNEL_SIZE_HALF=Math.floor(e/2).toFixed(0),this.defines.KERNEL_SIZE_SQ=(e**2).toFixed(0),this.defines.KERNEL_SIZE_SQ_HALF=Math.floor(e**2/2).toFixed(0),this.defines.INV_KERNEL_SIZE_SQ=(1/e**2).toFixed(6),this.needsUpdate=!0}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}get near(){return this.uniforms.cameraNearFar.value.x}get far(){return this.uniforms.cameraNearFar.value.y}set inputBuffer(e){this.uniforms.inputBuffer.value=e}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set normalDepthBuffer(e){this.uniforms.normalDepthBuffer.value=e,e!==null?this.defines.NORMAL_DEPTH=\"1\":delete this.defines.NORMAL_DEPTH,this.needsUpdate=!0}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}get bilateral(){return this.defines.BILATERAL!==void 0}set bilateral(e){e!==null?this.defines.BILATERAL=\"1\":delete this.defines.BILATERAL,this.needsUpdate=!0}get worldDistanceThreshold(){return-Ie(Number(this.defines.DISTANCE_THRESHOLD),this.near,this.far)}set worldDistanceThreshold(e){let t=Pe(-e,this.near,this.far);this.defines.DISTANCE_THRESHOLD=t.toFixed(12),this.needsUpdate=!0}copyCameraSettings(e){e&&(this.uniforms.cameraNearFar.value.set(e.near,e.far),e instanceof rc?this.defines.PERSPECTIVE_CAMERA=\"1\":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},fc=`#include <packing>\nvarying vec2 vUv;\n#ifdef NORMAL_DEPTH\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D normalDepthBuffer;\n#else\nuniform mediump sampler2D normalDepthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){return texture2D(normalDepthBuffer,uv).a;}\n#else\n#if INPUT_DEPTH_PACKING == 3201\nuniform lowp sampler2D depthBuffer;\n#elif defined(GL_FRAGMENT_PRECISION_HIGH)\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if INPUT_DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}\n#endif\nvoid main(){\n#if INPUT_DEPTH_PACKING == OUTPUT_DEPTH_PACKING\ngl_FragColor=texture2D(depthBuffer,vUv);\n#else\nfloat depth=readDepth(vUv);\n#if OUTPUT_DEPTH_PACKING == 3201\ngl_FragColor=(depth==1.0)?vec4(1.0):packDepthToRGBA(depth);\n#else\ngl_FragColor=vec4(vec3(depth),1.0);\n#endif\n#endif\n}`,hc=`varying vec2 vUv;\n#if DEPTH_COPY_MODE == 1\nuniform vec2 texelPosition;\n#endif\nvoid main(){\n#if DEPTH_COPY_MODE == 1\nvUv=texelPosition;\n#else\nvUv=position.xy*0.5+0.5;\n#endif\ngl_Position=vec4(position.xy,1.0,1.0);}`,dc=class extends cc{constructor(){super({name:\"DepthCopyMaterial\",defines:{INPUT_DEPTH_PACKING:\"0\",OUTPUT_DEPTH_PACKING:\"0\",DEPTH_COPY_MODE:\"0\"},uniforms:{depthBuffer:new kr(null),texelPosition:new kr(new uc)},blending:lc,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:fc,vertexShader:hc}),this.depthCopyMode=Me.FULL}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set inputDepthPacking(e){this.defines.INPUT_DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}get outputDepthPacking(){return Number(this.defines.OUTPUT_DEPTH_PACKING)}set outputDepthPacking(e){this.defines.OUTPUT_DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=oc){this.depthBuffer=e,this.inputDepthPacking=t}getInputDepthPacking(){return Number(this.defines.INPUT_DEPTH_PACKING)}setInputDepthPacking(e){this.defines.INPUT_DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}getOutputDepthPacking(){return Number(this.defines.OUTPUT_DEPTH_PACKING)}setOutputDepthPacking(e){this.defines.OUTPUT_DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}get texelPosition(){return this.uniforms.texelPosition.value}getTexelPosition(){return this.uniforms.texelPosition.value}setTexelPosition(e){this.uniforms.texelPosition.value=e}get mode(){return this.depthCopyMode}set mode(e){this.depthCopyMode=e,this.defines.DEPTH_COPY_MODE=e.toFixed(0),this.needsUpdate=!0}getMode(){return this.mode}setMode(e){this.mode=e}},xc=`#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#define packFloatToRGBA(v) packDepthToRGBA(v)\n#define unpackRGBAToFloat(v) unpackRGBAToDepth(v)\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#if DEPTH_PACKING == 3201\nuniform lowp sampler2D depthBuffer;\n#elif defined(GL_FRAGMENT_PRECISION_HIGH)\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;vec4 sRGBToLinear(const in vec4 value){return vec4(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))),value.a);}float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nfloat depth=unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nfloat depth=texture2D(depthBuffer,uv).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth=1.0-depth;\n#endif\nreturn depth;}float getViewZ(const in float depth){\n#ifdef PERSPECTIVE_CAMERA\nreturn perspectiveDepthToViewZ(depth,cameraNear,cameraFar);\n#else\nreturn orthographicDepthToViewZ(depth,cameraNear,cameraFar);\n#endif\n}vec3 RGBToHCV(const in vec3 RGB){vec4 P=mix(vec4(RGB.bg,-1.0,2.0/3.0),vec4(RGB.gb,0.0,-1.0/3.0),step(RGB.b,RGB.g));vec4 Q=mix(vec4(P.xyw,RGB.r),vec4(RGB.r,P.yzx),step(P.x,RGB.r));float C=Q.x-min(Q.w,Q.y);float H=abs((Q.w-Q.y)/(6.0*C+EPSILON)+Q.z);return vec3(H,C,Q.x);}vec3 RGBToHSL(const in vec3 RGB){vec3 HCV=RGBToHCV(RGB);float L=HCV.z-HCV.y*0.5;float S=HCV.y/(1.0-abs(L*2.0-1.0)+EPSILON);return vec3(HCV.x,S,L);}vec3 HueToRGB(const in float H){float R=abs(H*6.0-3.0)-1.0;float G=2.0-abs(H*6.0-2.0);float B=2.0-abs(H*6.0-4.0);return clamp(vec3(R,G,B),0.0,1.0);}vec3 HSLToRGB(const in vec3 HSL){vec3 RGB=HueToRGB(HSL.x);float C=(1.0-abs(2.0*HSL.z-1.0))*HSL.y;return(RGB-0.5)*C+HSL.z;}FRAGMENT_HEAD void main(){FRAGMENT_MAIN_UV vec4 color0=texture2D(inputBuffer,UV);vec4 color1=vec4(0.0);FRAGMENT_MAIN_IMAGE color0.a=clamp(color0.a,0.0,1.0);gl_FragColor=color0;\n#ifdef ENCODE_OUTPUT\n#include <colorspace_fragment>\n#endif\n#include <dithering_fragment>\n}`,Ec=\"uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEAD void main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORT gl_Position=vec4(position.xy,1.0,1.0);}\",Dc=class extends Ac{constructor(e,t,r,i,s=!1){super({name:\"EffectMaterial\",defines:{THREE_REVISION:mc.replace(/\\D+/g,\"\"),DEPTH_PACKING:\"0\",ENCODE_OUTPUT:\"1\"},uniforms:{inputBuffer:new Y(null),depthBuffer:new Y(null),resolution:new Y(new zr),texelSize:new Y(new zr),cameraNear:new Y(.3),cameraFar:new Y(1e3),aspect:new Y(1),time:new Y(0)},blending:gc,toneMapped:!1,depthWrite:!1,depthTest:!1,dithering:s}),e&&this.setShaderParts(e),t&&this.setDefines(t),r&&this.setUniforms(r),this.copyCameraSettings(i)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=vc){this.depthBuffer=e,this.depthPacking=t}setShaderData(e){this.setShaderParts(e.shaderParts),this.setDefines(e.defines),this.setUniforms(e.uniforms),this.setExtensions(e.extensions)}setShaderParts(e){return this.fragmentShader=xc.replace(T.FRAGMENT_HEAD,e.get(T.FRAGMENT_HEAD)||\"\").replace(T.FRAGMENT_MAIN_UV,e.get(T.FRAGMENT_MAIN_UV)||\"\").replace(T.FRAGMENT_MAIN_IMAGE,e.get(T.FRAGMENT_MAIN_IMAGE)||\"\"),this.vertexShader=Ec.replace(T.VERTEX_HEAD,e.get(T.VERTEX_HEAD)||\"\").replace(T.VERTEX_MAIN_SUPPORT,e.get(T.VERTEX_MAIN_SUPPORT)||\"\"),this.needsUpdate=!0,this}setDefines(e){for(let t of e.entries())this.defines[t[0]]=t[1];return this.needsUpdate=!0,this}setUniforms(e){for(let t of e.entries())this.uniforms[t[0]]=t[1];return this}setExtensions(e){this.extensions={};for(let t of e)this.extensions[t]=!0;return this}get encodeOutput(){return this.defines.ENCODE_OUTPUT!==void 0}set encodeOutput(e){this.encodeOutput!==e&&(e?this.defines.ENCODE_OUTPUT=\"1\":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(e){return this.encodeOutput}setOutputEncodingEnabled(e){this.encodeOutput=e}get time(){return this.uniforms.time.value}set time(e){this.uniforms.time.value=e}setDeltaTime(e){this.uniforms.time.value+=e}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof pc?this.defines.PERSPECTIVE_CAMERA=\"1\":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){let r=this.uniforms;r.resolution.value.set(e,t),r.texelSize.value.set(1/e,1/t),r.aspect.value=e/t}static get Section(){return T}},Cc=`#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform vec2 kernel[STEPS];varying vec2 vOffset;varying vec2 vUv;void main(){vec4 result=texture2D(inputBuffer,vUv)*kernel[0].y;for(int i=1;i<STEPS;++i){vec2 offset=kernel[i].x*vOffset;vec4 c0=texture2D(inputBuffer,vUv+offset);vec4 c1=texture2D(inputBuffer,vUv-offset);result+=(c0+c1)*kernel[i].y;}gl_FragColor=result;\n#include <colorspace_fragment>\n}`,Sc=\"uniform vec2 texelSize;uniform vec2 direction;uniform float scale;varying vec2 vOffset;varying vec2 vUv;void main(){vOffset=direction*texelSize*scale;vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}\",Bc=class extends wc{constructor({kernelSize:e=35}={}){super({name:\"GaussianBlurMaterial\",uniforms:{inputBuffer:new Se(null),texelSize:new Se(new _r),direction:new Se(new _r),kernel:new Se(null),scale:new Se(1)},blending:Tc,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:Cc,vertexShader:Sc}),this._kernelSize=0,this.kernelSize=e}set inputBuffer(e){this.uniforms.inputBuffer.value=e}get kernelSize(){return this._kernelSize}set kernelSize(e){this._kernelSize=e,this.generateKernel(e)}get direction(){return this.uniforms.direction.value}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}generateKernel(e){let t=new Oi(e),r=t.linearSteps,i=new Float64Array(r*2);for(let s=0,n=0;s<r;++s)i[n++]=t.linearOffsets[s],i[n++]=t.linearWeights[s];this.uniforms.kernel.value=i,this.defines.STEPS=r.toFixed(0),this.needsUpdate=!0}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},mh=class extends P{constructor({kernelSize:e=5,iterations:t=1,bilateral:r=!1,resolutionScale:i=1,resolutionX:s=A.AUTO_SIZE,resolutionY:n=A.AUTO_SIZE}={}){super(\"BoxBlurPass\"),this.needsDepthTexture=r,this.renderTargetA=new Vr(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name=\"Blur.Target.A\",this.renderTargetB=new Vr(1,1,{depthBuffer:!1}),this.renderTargetB.texture.name=\"Blur.Target.B\",this.blurMaterial=new nc({bilateral:r,kernelSize:e}),this.copyMaterial=new $e;let a=this.resolution=new A(this,s,n,i);a.addEventListener(\"change\",o=>this.setSize(a.baseWidth,a.baseHeight)),this.iterations=t}set mainCamera(e){this.blurMaterial.copyCameraSettings(e)}setDepthTexture(e,t=Mc){this.blurMaterial.depthBuffer=e,this.blurMaterial.depthPacking=t}render(e,t,r,i,s){let n=this.scene,a=this.camera,o=this.renderTargetA,l=this.renderTargetB,c=this.blurMaterial;this.fullscreenMaterial=c;let f=t;for(let u=0,h=Math.max(this.iterations,1);u<h;++u){let d=(u&1)===0?o:l;c.inputBuffer=f.texture,e.setRenderTarget(d),e.render(n,a),f=d}this.copyMaterial.inputBuffer=f.texture,this.fullscreenMaterial=this.copyMaterial,e.setRenderTarget(this.renderToScreen?null:r),e.render(n,a)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.renderTargetA.setSize(i,s),this.renderTargetB.setSize(i,s),this.blurMaterial.setSize(e,t)}initialize(e,t,r){e!==null&&(this.blurMaterial.maxVaryingVectors=e.capabilities.maxVaryings),r!==void 0&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==Ic?this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\":e!==null&&e.outputColorSpace===Dt&&(this.renderTargetA.texture.colorSpace=Dt,this.renderTargetB.texture.colorSpace=Dt))}},Oc=class extends P{constructor({depthPacking:e=Wr}={}){super(\"DepthCopyPass\");let t=new dc;t.outputDepthPacking=e,this.fullscreenMaterial=t,this.needsDepthTexture=!0,this.needsSwap=!1,this.renderTarget=new Fc(1,1,{type:e===Wr?Lc:bc,minFilter:Qr,magFilter:Qr,depthBuffer:!1}),this.renderTarget.texture.name=\"DepthCopyPass.Target\"}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}get depthPacking(){return this.fullscreenMaterial.outputDepthPacking}getDepthPacking(){return this.fullscreenMaterial.outputDepthPacking}setDepthTexture(e,t=Rc){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.inputDepthPacking=t}render(e,t,r,i,s){e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){this.renderTarget.setSize(e,t)}},Nc=Number(Uc.replace(/\\D+/g,\"\")),$=255/256,Gc=new Float32Array([$/256**3,$/256**2,$/256,$]),Hc=new Float32Array([$,$/256,$/256**2,1/256**3]);function kc(e){let t=Nc>=167?Hc:Gc;return(e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3])/255}var Eh=class extends Oc{constructor({depthPacking:e=Tt,mode:t=Me.SINGLE}={}){if(e!==Tt&&e!==Pc)throw new Error(`Unsupported depth packing: ${e}`);super({depthPacking:e}),this.name=\"DepthPickingPass\",this.fullscreenMaterial.mode=t,this.pixelBuffer=e===Tt?new Uint8Array(4):new Float32Array(4),this.callback=null}readDepth(e){return this.fullscreenMaterial.texelPosition.set(e.x*.5+.5,e.y*.5+.5),new Promise(t=>{this.callback=t})}render(e,t,r,i,s){let n=this.fullscreenMaterial,a=n.mode;if(a===Me.FULL&&super.render(e),this.callback!==null){let o=this.renderTarget,l=this.pixelBuffer,c=o.texture.type!==yc,f=0,u=0;if(a===Me.SINGLE)super.render(e);else{let h=n.texelPosition;f=Math.round(h.x*o.width),u=Math.round(h.y*o.height)}e.readRenderTargetPixels(o,f,u,1,1,l),this.callback(c?kc(l):l[0]),this.callback=null}}setSize(e,t){this.fullscreenMaterial.mode===Me.FULL&&super.setSize(e,t)}};function Yr(e,t,r){for(let i of t){let s=\"$1\"+e+i.charAt(0).toUpperCase()+i.slice(1),n=new RegExp(\"([^\\\\.])(\\\\b\"+i+\"\\\\b)\",\"g\");for(let a of r.entries())a[1]!==null&&r.set(a[0],a[1].replace(n,s))}}function Qc(e,t,r){let i=t.getFragmentShader(),s=t.getVertexShader(),n=i!==void 0&&/mainImage/.test(i),a=i!==void 0&&/mainUv/.test(i);if(r.attributes|=t.getAttributes(),i===void 0)throw new Error(`Missing fragment shader (${t.name})`);if(a&&(r.attributes&y.CONVOLUTION)!==0)throw new Error(`Effects that transform UVs are incompatible with convolution effects (${t.name})`);if(!n&&!a)throw new Error(`Could not find mainImage or mainUv function (${t.name})`);{let o=/\\w+\\s+(\\w+)\\([\\w\\s,]*\\)\\s*{/g,l=r.shaderParts,c=l.get(T.FRAGMENT_HEAD)||\"\",f=l.get(T.FRAGMENT_MAIN_UV)||\"\",u=l.get(T.FRAGMENT_MAIN_IMAGE)||\"\",h=l.get(T.VERTEX_HEAD)||\"\",d=l.get(T.VERTEX_MAIN_SUPPORT)||\"\",p=new Set,v=new Set;if(a&&(f+=`\t${e}MainUv(UV);\n`,r.uvTransformation=!0),s!==null&&/mainSupport/.test(s)){let E=/mainSupport *\\([\\w\\s]*?uv\\s*?\\)/.test(s);d+=`\t${e}MainSupport(`,d+=E?`vUv);\n`:`);\n`;for(let x of s.matchAll(/(?:varying\\s+\\w+\\s+([\\S\\s]*?);)/g))for(let U of x[1].split(/\\s*,\\s*/))r.varyings.add(U),p.add(U),v.add(U);for(let x of s.matchAll(o))v.add(x[1])}for(let E of i.matchAll(o))v.add(E[1]);for(let E of t.defines.keys())v.add(E.replace(/\\([\\w\\s,]*\\)/g,\"\"));for(let E of t.uniforms.keys())v.add(E);v.delete(\"while\"),v.delete(\"for\"),v.delete(\"if\"),t.uniforms.forEach((E,x)=>r.uniforms.set(e+x.charAt(0).toUpperCase()+x.slice(1),E)),t.defines.forEach((E,x)=>r.defines.set(e+x.charAt(0).toUpperCase()+x.slice(1),E));let m=new Map([[\"fragment\",i],[\"vertex\",s]]);Yr(e,v,r.defines),Yr(e,v,m),i=m.get(\"fragment\"),s=m.get(\"vertex\");let D=t.blendMode;if(r.blendModes.set(D.blendFunction,D),n){t.inputColorSpace!==null&&t.inputColorSpace!==r.colorSpace&&(u+=t.inputColorSpace===ci?`color0 = sRGBTransferOETF(color0);\n\t`:`color0 = sRGBToLinear(color0);\n\t`),t.outputColorSpace!==_c?r.colorSpace=t.outputColorSpace:t.inputColorSpace!==null&&(r.colorSpace=t.inputColorSpace);let E=/MainImage *\\([\\w\\s,]*?depth[\\w\\s,]*?\\)/;u+=`${e}MainImage(color0, UV, `,(r.attributes&y.DEPTH)!==0&&E.test(i)&&(u+=\"depth, \",r.readDepth=!0),u+=`color1);\n\t`;let x=e+\"BlendOpacity\";r.uniforms.set(x,D.opacity),u+=`color0 = blend${D.blendFunction}(color0, color1, ${x});\n\n\t`,c+=`uniform float ${x};\n\n`}if(c+=i+`\n`,s!==null&&(h+=s+`\n`),l.set(T.FRAGMENT_HEAD,c),l.set(T.FRAGMENT_MAIN_UV,f),l.set(T.FRAGMENT_MAIN_IMAGE,u),l.set(T.VERTEX_HEAD,h),l.set(T.VERTEX_MAIN_SUPPORT,d),t.extensions!==null)for(let E of t.extensions)r.extensions.add(E)}}var Th=class extends P{constructor(e,...t){super(\"EffectPass\"),this.fullscreenMaterial=new Dc(null,null,null,e),this.listener=r=>this.handleEvent(r),this.effects=[],this.setEffects(t),this.skipRendering=!1,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY,this.timeScale=1}set mainScene(e){for(let t of this.effects)t.mainScene=e}set mainCamera(e){this.fullscreenMaterial.copyCameraSettings(e);for(let t of this.effects)t.mainCamera=e}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(e){this.fullscreenMaterial.encodeOutput=e}get dithering(){return this.fullscreenMaterial.dithering}set dithering(e){let t=this.fullscreenMaterial;t.dithering=e,t.needsUpdate=!0}setEffects(e){for(let t of this.effects)t.removeEventListener(\"change\",this.listener);this.effects=e.sort((t,r)=>r.attributes-t.attributes);for(let t of this.effects)t.addEventListener(\"change\",this.listener)}updateMaterial(){let e=new Fi,t=0;for(let a of this.effects)if(a.blendMode.blendFunction===g.DST)e.attributes|=a.getAttributes()&y.DEPTH;else{if((e.attributes&a.getAttributes()&y.CONVOLUTION)!==0)throw new Error(`Convolution effects cannot be merged (${a.name})`);Qc(\"e\"+t++,a,e)}let r=e.shaderParts.get(T.FRAGMENT_HEAD),i=e.shaderParts.get(T.FRAGMENT_MAIN_IMAGE),s=e.shaderParts.get(T.FRAGMENT_MAIN_UV),n=/\\bblend\\b/g;for(let a of e.blendModes.values())r+=a.getShaderCode().replace(n,`blend${a.blendFunction}`)+`\n`;(e.attributes&y.DEPTH)!==0?(e.readDepth&&(i=`float depth = readDepth(UV);\n\n\t`+i),this.needsDepthTexture=this.getDepthTexture()===null):this.needsDepthTexture=!1,e.colorSpace===ci&&(i+=`color0 = sRGBToLinear(color0);\n\t`),e.uvTransformation?(s=`vec2 transformedUv = vUv;\n`+s,e.defines.set(\"UV\",\"transformedUv\")):e.defines.set(\"UV\",\"vUv\"),e.shaderParts.set(T.FRAGMENT_HEAD,r),e.shaderParts.set(T.FRAGMENT_MAIN_IMAGE,i),e.shaderParts.set(T.FRAGMENT_MAIN_UV,s);for(let[a,o]of e.shaderParts)o!==null&&e.shaderParts.set(a,o.trim().replace(/^#/,`\n#`));this.skipRendering=t===0,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(e)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e,t=zc){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(let r of this.effects)r.setDepthTexture(e,t)}render(e,t,r,i,s){for(let n of this.effects)n.update(e,t,i);if(!this.skipRendering||this.renderToScreen){let n=this.fullscreenMaterial;n.inputBuffer=t.texture,n.time+=i*this.timeScale,e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(let r of this.effects)r.setSize(e,t)}initialize(e,t,r){this.renderer=e;for(let i of this.effects)i.initialize(e,t,r);this.updateMaterial(),r!==void 0&&r!==Vc&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\")}dispose(){super.dispose();for(let e of this.effects)e.removeEventListener(\"change\",this.listener),e.dispose()}handleEvent(e){e.type===\"change\"&&this.recompile()}},Ch=class extends P{constructor({kernelSize:e=35,iterations:t=1,resolutionScale:r=1,resolutionX:i=A.AUTO_SIZE,resolutionY:s=A.AUTO_SIZE}={}){super(\"GaussianBlurPass\"),this.renderTargetA=new Yc(1,1,{depthBuffer:!1}),this.renderTargetA.texture.name=\"Blur.Target.A\",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name=\"Blur.Target.B\",this.blurMaterial=new Bc({kernelSize:e}),this.copyMaterial=new $e,this.copyMaterial.inputBuffer=this.renderTargetB.texture;let n=this.resolution=new A(this,i,s,r);n.addEventListener(\"change\",a=>this.setSize(n.baseWidth,n.baseHeight)),this.iterations=t}render(e,t,r,i,s){let n=this.scene,a=this.camera,o=this.renderTargetA,l=this.renderTargetB,c=this.blurMaterial;this.fullscreenMaterial=c;let f=t;for(let u=0,h=Math.max(this.iterations,1);u<h;++u)c.direction.set(1,0),c.inputBuffer=f.texture,e.setRenderTarget(o),e.render(n,a),c.direction.set(0,1),c.inputBuffer=o.texture,e.setRenderTarget(l),e.render(n,a),u===0&&h>1&&(f=l);this.fullscreenMaterial=this.copyMaterial,e.setRenderTarget(this.renderToScreen?null:r),e.render(n,a)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t);let i=r.width,s=r.height;this.renderTargetA.setSize(i,s),this.renderTargetB.setSize(i,s),this.blurMaterial.setSize(e,t)}initialize(e,t,r){r!==void 0&&(this.renderTargetA.texture.type=r,this.renderTargetB.texture.type=r,r!==Wc?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\",this.copyMaterial.defines.FRAMEBUFFER_PRECISION_HIGH=\"1\"):e!==null&&e.outputColorSpace===wt&&(this.renderTargetA.texture.colorSpace=wt,this.renderTargetB.texture.colorSpace=wt))}},Sh=class extends P{constructor(e){super(\"LambdaPass\",null,null),this.needsSwap=!1,this.f=e}render(e,t,r,i,s){this.f()}},Mh=class extends P{constructor(e,t,{renderTarget:r,resolutionScale:i=1,width:s=A.AUTO_SIZE,height:n=A.AUTO_SIZE,resolutionX:a=s,resolutionY:o=n}={}){super(\"NormalPass\"),this.needsSwap=!1,this.renderPass=new et(e,t,new Kc);let l=this.renderPass;l.ignoreBackground=!0,l.skipShadowMapUpdate=!0;let c=l.getClearPass();c.overrideClearColor=new Xc(7829503),c.overrideClearAlpha=1,this.renderTarget=r,this.renderTarget===void 0&&(this.renderTarget=new Zc(1,1,{minFilter:Xr,magFilter:Xr}),this.renderTarget.texture.name=\"NormalPass.Target\");let f=this.resolution=new A(this,a,o,i);f.addEventListener(\"change\",u=>this.setSize(f.baseWidth,f.baseHeight))}set mainScene(e){this.renderPass.mainScene=e}set mainCamera(e){this.renderPass.mainCamera=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,r,i,s){let n=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,n,n)}setSize(e,t){let r=this.resolution;r.setBaseSize(e,t),this.renderTarget.setSize(r.width,r.height)}},Kr=[new Float32Array(3),new Float32Array(3)],S=[new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3)],ue=[[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1])],[new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1])]];function Ze(e,t,r,i){let s=r[0]-t[0],n=r[1]-t[1],a=r[2]-t[2],o=e[0]-t[0],l=e[1]-t[1],c=e[2]-t[2],f=n*c-a*l,u=a*o-s*c,h=s*l-n*o,d=Math.sqrt(f*f+u*u+h*h),p=d*.5,v=f/d,m=u/d,D=h/d,E=-(e[0]*v+e[1]*m+e[2]*D),x=i[0]*v+i[1]*m+i[2]*D;return Math.abs(x+E)*p/3}function Be(e,t,r,i,s,n){let a=(r+i*t+s*t*t)*4;n[0]=e[a+0],n[1]=e[a+1],n[2]=e[a+2]}function jc(e,t,r,i,s,n){let a=r*(t-1),o=i*(t-1),l=s*(t-1),c=Math.floor(a),f=Math.floor(o),u=Math.floor(l),h=Math.ceil(a),d=Math.ceil(o),p=Math.ceil(l),v=a-c,m=o-f,D=l-u;if(c===a&&f===o&&u===l)Be(e,t,a,o,l,n);else{let E;v>=m&&m>=D?E=ue[0]:v>=D&&D>=m?E=ue[1]:D>=v&&v>=m?E=ue[2]:m>=v&&v>=D?E=ue[3]:m>=D&&D>=v?E=ue[4]:D>=m&&m>=v&&(E=ue[5]);let[x,U,N,G]=E,H=Kr[0];H[0]=v,H[1]=m,H[2]=D;let B=Kr[1],te=h-c,re=d-f,_=p-u;B[0]=te*x[0]+c,B[1]=re*x[1]+f,B[2]=_*x[2]+u,Be(e,t,B[0],B[1],B[2],S[0]),B[0]=te*U[0]+c,B[1]=re*U[1]+f,B[2]=_*U[2]+u,Be(e,t,B[0],B[1],B[2],S[1]),B[0]=te*N[0]+c,B[1]=re*N[1]+f,B[2]=_*N[2]+u,Be(e,t,B[0],B[1],B[2],S[2]),B[0]=te*G[0]+c,B[1]=re*G[1]+f,B[2]=_*G[2]+u,Be(e,t,B[0],B[1],B[2],S[3]);let Z=Ze(U,N,G,H)*6,M=Ze(x,N,G,H)*6,be=Ze(x,U,G,H)*6,tt=Ze(x,U,N,H)*6;S[0][0]*=Z,S[0][1]*=Z,S[0][2]*=Z,S[1][0]*=M,S[1][1]*=M,S[1][2]*=M,S[2][0]*=be,S[2][1]*=be,S[2][2]*=be,S[3][0]*=tt,S[3][1]*=tt,S[3][2]*=tt,n[0]=S[0][0]+S[1][0]+S[2][0]+S[3][0],n[1]=S[0][1]+S[1][1]+S[2][1]+S[3][1],n[2]=S[0][2]+S[1][2]+S[2][2]+S[3][2]}}var Ih=class{static expand(e,t){let r=Math.cbrt(e.length/4),i=new Float32Array(3),s=new e.constructor(t**3*4),n=e instanceof Uint8Array?255:1,a=t**2,o=1/(t-1);for(let l=0;l<t;++l)for(let c=0;c<t;++c)for(let f=0;f<t;++f){let u=f*o,h=c*o,d=l*o,p=Math.round(f+c*t+l*a)*4;jc(e,r,u,h,d,i),s[p+0]=i[0],s[p+1]=i[1],s[p+2]=i[2],s[p+3]=n}return s}},X=[new Float32Array(2),new Float32Array(2)],fe=16,Ct=20,he=30,Jc=32,St=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),Zr=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],qc=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],ui=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function je(e,t,r){return e+(t-e)*r}function $c(e){return Math.min(Math.max(e,0),1)}function jr(e){let t=X[0],r=X[1],i=Math.sqrt(t[0]*2)*.5,s=Math.sqrt(t[1]*2)*.5,n=Math.sqrt(r[0]*2)*.5,a=Math.sqrt(r[1]*2)*.5,o=$c(e/Jc);t[0]=je(i,t[0],o),t[1]=je(s,t[1],o),r[0]=je(n,r[0],o),r[1]=je(a,r[1],o)}function I(e,t,r,i,s,n){let a=r-e,o=i-t,l=s,c=s+1,f=t+o*(l-e)/a,u=t+o*(c-e)/a;if(l>=e&&l<r||c>e&&c<=r)if(Math.sign(f)===Math.sign(u)||Math.abs(f)<1e-4||Math.abs(u)<1e-4){let h=(f+u)/2;h<0?(n[0]=Math.abs(h),n[1]=0):(n[0]=0,n[1]=Math.abs(h))}else{let h=-t*a/o+e,d=Math.trunc(h),p=h>e?f*(h-d)/2:0,v=h<r?u*(1-(h-d))/2:0;(Math.abs(p)>Math.abs(v)?p:-v)<0?(n[0]=Math.abs(p),n[1]=Math.abs(v)):(n[0]=Math.abs(v),n[1]=Math.abs(p))}else n[0]=0,n[1]=0;return n}function eu(e,t,r,i,s){let n=X[0],a=X[1],o=.5+i,l=.5+i-1,c=t+r+1;switch(e){case 0:{s[0]=0,s[1]=0;break}case 1:{t<=r?I(0,l,c/2,0,t,s):(s[0]=0,s[1]=0);break}case 2:{t>=r?I(c/2,0,c,l,t,s):(s[0]=0,s[1]=0);break}case 3:{I(0,l,c/2,0,t,n),I(c/2,0,c,l,t,a),jr(c,X),s[0]=n[0]+a[0],s[1]=n[1]+a[1];break}case 4:{t<=r?I(0,o,c/2,0,t,s):(s[0]=0,s[1]=0);break}case 5:{s[0]=0,s[1]=0;break}case 6:{Math.abs(i)>0?(I(0,o,c,l,t,n),I(0,o,c/2,0,t,a),I(c/2,0,c,l,t,s),a[0]=a[0]+s[0],a[1]=a[1]+s[1],s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2):I(0,o,c,l,t,s);break}case 7:{I(0,o,c,l,t,s);break}case 8:{t>=r?I(c/2,0,c,o,t,s):(s[0]=0,s[1]=0);break}case 9:{Math.abs(i)>0?(I(0,l,c,o,t,n),I(0,l,c/2,0,t,a),I(c/2,0,c,o,t,s),a[0]=a[0]+s[0],a[1]=a[1]+s[1],s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2):I(0,l,c,o,t,s);break}case 10:{s[0]=0,s[1]=0;break}case 11:{I(0,l,c,o,t,s);break}case 12:{I(0,o,c/2,0,t,n),I(c/2,0,c,o,t,a),jr(c,X),s[0]=n[0]+a[0],s[1]=n[1]+a[1];break}case 13:{I(0,l,c,o,t,s);break}case 14:{I(0,o,c,l,t,s);break}case 15:{s[0]=0,s[1]=0;break}}return s}function tu(e,t,r,i,s,n){let a=e===r&&t===i;if(!a){let o=(e+r)/2,l=(t+i)/2,c=i-t,f=e-r;a=c*(s-o)+f*(n-l)>0}return a}function Jr(e,t,r,i,s,n){let a=0;for(let o=0;o<he;++o)for(let l=0;l<he;++l){let c=l/(he-1),f=o/(he-1);tu(e,t,r,i,s+c,n+f)&&++a}return a/(he*he)}function C(e,t,r,i,s,n,a,o){let l=ui[e],c=l[0],f=l[1];return c>0&&(t+=a[0],r+=a[1]),f>0&&(i+=a[0],s+=a[1]),o[0]=1-Jr(t,r,i,s,1+n,0+n),o[1]=Jr(t,r,i,s,1+n,1+n),o}function ru(e,t,r,i,s){let n=X[0],a=X[1],o=t+r+1;switch(e){case 0:{C(e,1,1,1+o,1+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 1:{C(e,1,0,0+o,0+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 2:{C(e,0,0,1+o,0+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 3:{C(e,1,0,1+o,0+o,t,i,s);break}case 4:{C(e,1,1,0+o,0+o,t,i,n),C(e,1,1,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 5:{C(e,1,1,0+o,0+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 6:{C(e,1,1,1+o,0+o,t,i,s);break}case 7:{C(e,1,1,1+o,0+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 8:{C(e,0,0,1+o,1+o,t,i,n),C(e,1,0,1+o,1+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 9:{C(e,1,0,1+o,1+o,t,i,s),C(e,1,0,1+o,1+o,t,i,s);break}case 10:{C(e,0,0,1+o,1+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 11:{C(e,1,0,1+o,1+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 12:{C(e,1,1,1+o,1+o,t,i,s);break}case 13:{C(e,1,1,1+o,1+o,t,i,n),C(e,1,0,1+o,1+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 14:{C(e,1,1,1+o,1+o,t,i,n),C(e,1,1,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}case 15:{C(e,1,1,1+o,1+o,t,i,n),C(e,1,0,1+o,0+o,t,i,a),s[0]=(n[0]+a[0])/2,s[1]=(n[1]+a[1])/2;break}}return s}function qr(e,t,r){let i=new Float32Array(2);for(let s=0,n=e.length;s<n;++s){let a=e[s],o=a.data,l=a.width;for(let c=0;c<l;++c)for(let f=0;f<l;++f){r?eu(s,f,c,t,i):ru(s,f,c,t,i);let u=(c*l+f)*2;o[u]=i[0]*255,o[u+1]=i[1]*255}}}function $r(e,t,r,i,s,n,a){let o=a.data,l=a.width;for(let c=0,f=r.length;c<f;++c){let u=i[c],h=r[c],d=h.data,p=h.width;for(let v=0;v<s;++v)for(let m=0;m<s;++m){let D=u[0]*s+e+m,x=((u[1]*s+t+v)*l+D)*4,U=n?(v*v*p+m*m)*2:(v*p+m)*2;o[x]=d[U],o[x+1]=d[U+1],o[x+2]=0,o[x+3]=255}}}var Ph=class{static generate(){let e=10*fe,t=St.length*5*fe,r=new Uint8ClampedArray(e*t*4),i=new ee(e,t,r),s=Math.pow(fe-1,2)+1,n=Ct,a=[],o=[];for(let l=3,c=r.length;l<c;l+=4)r[l]=255;for(let l=0;l<16;++l)a.push(new ee(s,s,new Uint8ClampedArray(s*s*2),2)),o.push(new ee(n,n,new Uint8ClampedArray(n*n*2),2));for(let l=0,c=St.length;l<c;++l)qr(a,St[l],!0),$r(0,5*fe*l,a,qc,fe,!0,i);for(let l=0,c=Zr.length;l<c;++l)qr(o,Zr[l],!1),$r(5*fe,4*Ct*l,o,ui,Ct,!1,i);return i}},su=`(()=>{function q(t,a,s){let e=document.createElement(\"canvas\"),n=e.getContext(\"2d\");if(e.width=t,e.height=a,s instanceof Image)n.drawImage(s,0,0);else{let r=n.createImageData(t,a);r.data.set(s),n.putImageData(r,0,0)}return e}var F=class t{constructor(a=0,s=0,e=null){this.width=a,this.height=s,this.data=e}toCanvas(){return typeof document==\"undefined\"?null:q(this.width,this.height,this.data)}static from(a){let{width:s,height:e}=a,n;if(a instanceof Image){let r=q(s,e,a);r!==null&&(n=r.getContext(\"2d\").getImageData(0,0,s,e).data)}else n=a.data;return new t(s,e,n)}};var M=[new Float32Array(2),new Float32Array(2)],D=16,W=20,I=30,j=32,v=new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),N=[new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125])],z=[new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4])],p=[new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3])];function C(t,a,s){return t+(a-t)*s}function B(t){return Math.min(Math.max(t,0),1)}function _(t){let a=M[0],s=M[1],e=Math.sqrt(a[0]*2)*.5,n=Math.sqrt(a[1]*2)*.5,r=Math.sqrt(s[0]*2)*.5,o=Math.sqrt(s[1]*2)*.5,c=B(t/j);a[0]=C(e,a[0],c),a[1]=C(n,a[1],c),s[0]=C(r,s[0],c),s[1]=C(o,s[1],c)}function d(t,a,s,e,n,r){let o=s-t,c=e-a,h=n,i=n+1,w=a+c*(h-t)/o,b=a+c*(i-t)/o;if(h>=t&&h<s||i>t&&i<=s)if(Math.sign(w)===Math.sign(b)||Math.abs(w)<1e-4||Math.abs(b)<1e-4){let g=(w+b)/2;g<0?(r[0]=Math.abs(g),r[1]=0):(r[0]=0,r[1]=Math.abs(g))}else{let g=-a*o/c+t,k=Math.trunc(g),m=g>t?w*(g-k)/2:0,U=g<s?b*(1-(g-k))/2:0;(Math.abs(m)>Math.abs(U)?m:-U)<0?(r[0]=Math.abs(m),r[1]=Math.abs(U)):(r[0]=Math.abs(U),r[1]=Math.abs(m))}else r[0]=0,r[1]=0;return r}function J(t,a,s,e,n){let r=M[0],o=M[1],c=.5+e,h=.5+e-1,i=a+s+1;switch(t){case 0:{n[0]=0,n[1]=0;break}case 1:{a<=s?d(0,h,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 2:{a>=s?d(i/2,0,i,h,a,n):(n[0]=0,n[1]=0);break}case 3:{d(0,h,i/2,0,a,r),d(i/2,0,i,h,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 4:{a<=s?d(0,c,i/2,0,a,n):(n[0]=0,n[1]=0);break}case 5:{n[0]=0,n[1]=0;break}case 6:{Math.abs(e)>0?(d(0,c,i,h,a,r),d(0,c,i/2,0,a,o),d(i/2,0,i,h,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,c,i,h,a,n);break}case 7:{d(0,c,i,h,a,n);break}case 8:{a>=s?d(i/2,0,i,c,a,n):(n[0]=0,n[1]=0);break}case 9:{Math.abs(e)>0?(d(0,h,i,c,a,r),d(0,h,i/2,0,a,o),d(i/2,0,i,c,a,n),o[0]=o[0]+n[0],o[1]=o[1]+n[1],n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2):d(0,h,i,c,a,n);break}case 10:{n[0]=0,n[1]=0;break}case 11:{d(0,h,i,c,a,n);break}case 12:{d(0,c,i/2,0,a,r),d(i/2,0,i,c,a,o),_(i,M),n[0]=r[0]+o[0],n[1]=r[1]+o[1];break}case 13:{d(0,h,i,c,a,n);break}case 14:{d(0,c,i,h,a,n);break}case 15:{n[0]=0,n[1]=0;break}}return n}function K(t,a,s,e,n,r){let o=t===s&&a===e;if(!o){let c=(t+s)/2,h=(a+e)/2,i=e-a,w=t-s;o=i*(n-c)+w*(r-h)>0}return o}function G(t,a,s,e,n,r){let o=0;for(let c=0;c<I;++c)for(let h=0;h<I;++h){let i=h/(I-1),w=c/(I-1);K(t,a,s,e,n+i,r+w)&&++o}return o/(I*I)}function A(t,a,s,e,n,r,o,c){let h=p[t],i=h[0],w=h[1];return i>0&&(a+=o[0],s+=o[1]),w>0&&(e+=o[0],n+=o[1]),c[0]=1-G(a,s,e,n,1+r,0+r),c[1]=G(a,s,e,n,1+r,1+r),c}function Q(t,a,s,e,n){let r=M[0],o=M[1],c=a+s+1;switch(t){case 0:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 1:{A(t,1,0,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 2:{A(t,0,0,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 3:{A(t,1,0,1+c,0+c,a,e,n);break}case 4:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 5:{A(t,1,1,0+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 6:{A(t,1,1,1+c,0+c,a,e,n);break}case 7:{A(t,1,1,1+c,0+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 8:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 9:{A(t,1,0,1+c,1+c,a,e,n),A(t,1,0,1+c,1+c,a,e,n);break}case 10:{A(t,0,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 11:{A(t,1,0,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 12:{A(t,1,1,1+c,1+c,a,e,n);break}case 13:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,1+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 14:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,1,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}case 15:{A(t,1,1,1+c,1+c,a,e,r),A(t,1,0,1+c,0+c,a,e,o),n[0]=(r[0]+o[0])/2,n[1]=(r[1]+o[1])/2;break}}return n}function R(t,a,s){let e=new Float32Array(2);for(let n=0,r=t.length;n<r;++n){let o=t[n],c=o.data,h=o.width;for(let i=0;i<h;++i)for(let w=0;w<h;++w){s?J(n,w,i,a,e):Q(n,w,i,a,e);let b=(i*h+w)*2;c[b]=e[0]*255,c[b+1]=e[1]*255}}}function T(t,a,s,e,n,r,o){let c=o.data,h=o.width;for(let i=0,w=s.length;i<w;++i){let b=e[i],g=s[i],k=g.data,m=g.width;for(let U=0;U<n;++U)for(let x=0;x<n;++x){let Z=b[0]*n+t+x,O=((b[1]*n+a+U)*h+Z)*4,L=r?(U*U*m+x*x)*2:(U*m+x)*2;c[O]=k[L],c[O+1]=k[L+1],c[O+2]=0,c[O+3]=255}}}var S=class{static generate(){let a=10*D,s=v.length*5*D,e=new Uint8ClampedArray(a*s*4),n=new F(a,s,e),r=Math.pow(D-1,2)+1,o=W,c=[],h=[];for(let i=3,w=e.length;i<w;i+=4)e[i]=255;for(let i=0;i<16;++i)c.push(new F(r,r,new Uint8ClampedArray(r*r*2),2)),h.push(new F(o,o,new Uint8ClampedArray(o*o*2),2));for(let i=0,w=v.length;i<w;++i)R(c,v[i],!0),T(0,5*D*i,c,z,D,!0,n);for(let i=0,w=N.length;i<w;++i)R(h,N[i],!1),T(5*D,4*W*i,h,p,W,!1,n);return n}};var P=new Map([[y(0,0,0,0),new Float32Array([0,0,0,0])],[y(0,0,0,1),new Float32Array([0,0,0,1])],[y(0,0,1,0),new Float32Array([0,0,1,0])],[y(0,0,1,1),new Float32Array([0,0,1,1])],[y(0,1,0,0),new Float32Array([0,1,0,0])],[y(0,1,0,1),new Float32Array([0,1,0,1])],[y(0,1,1,0),new Float32Array([0,1,1,0])],[y(0,1,1,1),new Float32Array([0,1,1,1])],[y(1,0,0,0),new Float32Array([1,0,0,0])],[y(1,0,0,1),new Float32Array([1,0,0,1])],[y(1,0,1,0),new Float32Array([1,0,1,0])],[y(1,0,1,1),new Float32Array([1,0,1,1])],[y(1,1,0,0),new Float32Array([1,1,0,0])],[y(1,1,0,1),new Float32Array([1,1,0,1])],[y(1,1,1,0),new Float32Array([1,1,1,0])],[y(1,1,1,1),new Float32Array([1,1,1,1])]]);function H(t,a,s){return t+(a-t)*s}function y(t,a,s,e){let n=H(t,a,.75),r=H(s,e,1-.25);return H(n,r,1-.125)}function V(t,a){let s=0;return a[3]===1&&(s+=1),s===1&&a[2]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s}function $(t,a){let s=0;return a[3]===1&&t[1]!==1&&t[3]!==1&&(s+=1),s===1&&a[2]===1&&t[0]!==1&&t[2]!==1&&(s+=1),s}var E=class{static generate(){let o=new Uint8ClampedArray(2178),c=new Uint8ClampedArray(1024*4);for(let h=0;h<33;++h)for(let i=0;i<66;++i){let w=.03125*i,b=.03125*h;if(P.has(w)&&P.has(b)){let g=P.get(w),k=P.get(b),m=h*66+i;o[m]=127*V(g,k),o[m+33]=127*$(g,k)}}for(let h=0,i=17;i<33;++i)for(let w=0;w<64;++w,h+=4)c[h]=o[i*66+w],c[h+3]=255;return new F(64,16,c)}};self.addEventListener(\"message\",t=>{let a=S.generate(),s=E.generate();postMessage({areaImageData:a,searchImageData:s},[a.data.buffer,s.data.buffer]),close()});})();\n`;function au(e=!0){let t=URL.createObjectURL(new Blob([su],{type:\"text/javascript\"})),r=new Worker(t);return URL.revokeObjectURL(t),new Promise((i,s)=>{r.addEventListener(\"error\",n=>s(n.error)),r.addEventListener(\"message\",n=>{let a=ee.from(n.data.searchImageData),o=ee.from(n.data.areaImageData),l=[a.toCanvas().toDataURL(\"image/png\",1),o.toCanvas().toDataURL(\"image/png\",1)];e&&(localStorage.setItem(\"smaa-search\",l[0]),localStorage.setItem(\"smaa-area\",l[1])),i(l)}),r.postMessage(null)})}var Uh=class{constructor(){this.disableCache=!1}setCacheEnabled(e){this.disableCache=!e}generate(){let e=!this.disableCache&&window.localStorage!==void 0,t=e?[localStorage.getItem(\"smaa-search\"),localStorage.getItem(\"smaa-area\")]:[null,null];return(t[0]!==null&&t[1]!==null?Promise.resolve(t):au(e)).then(i=>new Promise((s,n)=>{let a=new Image,o=new Image,l=new iu;l.onLoad=()=>s([a,o]),l.onError=n,a.addEventListener(\"error\",c=>l.itemError(\"smaa-search\")),o.addEventListener(\"error\",c=>l.itemError(\"smaa-area\")),a.addEventListener(\"load\",()=>l.itemEnd(\"smaa-search\")),o.addEventListener(\"load\",()=>l.itemEnd(\"smaa-area\")),l.itemStart(\"smaa-search\"),l.itemStart(\"smaa-area\"),a.src=i[0],o.src=i[1]}))}},Je=new Map([[R(0,0,0,0),new Float32Array([0,0,0,0])],[R(0,0,0,1),new Float32Array([0,0,0,1])],[R(0,0,1,0),new Float32Array([0,0,1,0])],[R(0,0,1,1),new Float32Array([0,0,1,1])],[R(0,1,0,0),new Float32Array([0,1,0,0])],[R(0,1,0,1),new Float32Array([0,1,0,1])],[R(0,1,1,0),new Float32Array([0,1,1,0])],[R(0,1,1,1),new Float32Array([0,1,1,1])],[R(1,0,0,0),new Float32Array([1,0,0,0])],[R(1,0,0,1),new Float32Array([1,0,0,1])],[R(1,0,1,0),new Float32Array([1,0,1,0])],[R(1,0,1,1),new Float32Array([1,0,1,1])],[R(1,1,0,0),new Float32Array([1,1,0,0])],[R(1,1,0,1),new Float32Array([1,1,0,1])],[R(1,1,1,0),new Float32Array([1,1,1,0])],[R(1,1,1,1),new Float32Array([1,1,1,1])]]);function Bt(e,t,r){return e+(t-e)*r}function R(e,t,r,i){let s=Bt(e,t,.75),n=Bt(r,i,1-.25);return Bt(s,n,1-.125)}function nu(e,t){let r=0;return t[3]===1&&(r+=1),r===1&&t[2]===1&&e[1]!==1&&e[3]!==1&&(r+=1),r}function ou(e,t){let r=0;return t[3]===1&&e[1]!==1&&e[3]!==1&&(r+=1),r===1&&t[2]===1&&e[0]!==1&&e[2]!==1&&(r+=1),r}var Rh=class{static generate(){let n=new Uint8ClampedArray(2178),a=new Uint8ClampedArray(1024*4);for(let o=0;o<33;++o)for(let l=0;l<66;++l){let c=.03125*l,f=.03125*o;if(Je.has(c)&&Je.has(f)){let u=Je.get(c),h=Je.get(f),d=o*66+l;n[d]=127*nu(u,h),n[d+33]=127*ou(u,h)}}for(let o=0,l=17;l<33;++l)for(let c=0;c<64;++c,o+=4)a[o]=n[l*66+c],a[o+3]=255;return new ee(64,16,a)}};export{Bu as ASCIIEffect,Ms as ASCIITexture,Wl as AdaptiveLuminanceMaterial,Yl as AdaptiveLuminancePass,g as BlendFunction,Ts as BlendMode,va as BloomEffect,Re as BlurPass,Ou as BokehEffect,ze as BokehMaterial,nc as BoxBlurMaterial,mh as BoxBlurPass,Gu as BrightnessContrastEffect,Vu as ChromaticAberrationEffect,Ga as CircleOfConfusionMaterial,wi as ClearMaskPass,Ue as ClearPass,Hu as ColorAverageEffect,de as ColorChannel,zu as ColorDepthEffect,Ko as ColorEdgesMaterial,ti as ConvolutionMaterial,$e as CopyMaterial,Ut as CopyPass,Xn as DepthComparisonMaterial,dc as DepthCopyMaterial,Me as DepthCopyMode,Oc as DepthCopyPass,wl as DepthDownsamplingMaterial,Cl as DepthDownsamplingPass,Qu as DepthEffect,Lo as DepthMaskMaterial,ju as DepthOfFieldEffect,li as DepthPass,Eh as DepthPickingPass,Oc as DepthSavePass,ye as DepthTestStrategy,cu as Disposable,qu as DotScreenEffect,aa as DownsamplingMaterial,Ko as EdgeDetectionMaterial,oi as EdgeDetectionMode,w as Effect,y as EffectAttribute,gu as EffectComposer,Dc as EffectMaterial,Th as EffectPass,Fi as EffectShaderData,T as EffectShaderSection,$u as FXAAEffect,tf as GammaCorrectionEffect,Oi as GaussKernel,Bc as GaussianBlurMaterial,Ch as GaussianBlurPass,af as GlitchEffect,me as GlitchMode,lf as GodRaysEffect,An as GodRaysMaterial,uf as GridEffect,hf as HueSaturationEffect,mu as ImmutableTimer,Au as Initializable,ti as KawaseBlurMaterial,Re as KawaseBlurPass,z as KernelSize,pf as LUT1DEffect,xf as LUT3DEffect,oh as LUT3dlLoader,ch as LUTCubeLoader,xf as LUTEffect,Fn as LUTOperation,Sh as LambdaPass,vf as LensDistortionEffect,Rt as LookupTexture,Rt as LookupTexture3D,js as LuminanceMaterial,ri as LuminancePass,ii as MaskFunction,Va as MaskMaterial,Ui as MaskPass,ha as MipmapBlurPass,Df as NoiseEffect,It as NoiseTexture,Mh as NormalPass,qn as OutlineEdgesMaterial,Bf as OutlineEffect,qn as OutlineMaterial,Vt as OverrideMaterialManager,P as Pass,If as PixelationEffect,Gn as PredicationMode,ee as RawImageData,yf as RealisticBokehEffect,et as RenderPass,Eu as Resizable,A as Resizer,A as Resolution,Ph as SMAAAreaImageData,Vf as SMAAEffect,Uh as SMAAImageGenerator,fh as SMAAImageLoader,xe as SMAAPreset,Rh as SMAASearchImageData,$o as SMAAWeightsMaterial,Kf as SSAOEffect,dl as SSAOMaterial,Ut as SavePass,Rf as ScanlineEffect,T as Section,ei as Selection,Nf as SelectiveBloomEffect,Hf as SepiaEffect,O as ShaderPass,Lf as ShockWaveEffect,Ih as TetrahedralUpscaler,jf as TextureEffect,Ll as TiltShiftBlurMaterial,Fl as TiltShiftBlurPass,$f as TiltShiftEffect,bi as Timer,ih as ToneMappingEffect,F as ToneMappingMode,fa as UpsamplingMaterial,ah as VignetteEffect,Ee as VignetteTechnique,Ef as WebGLExtension,lu as version};\n/*! Bundled license information:\n\npostprocessing/build/index.js:\n  (**\n   * postprocessing v6.39.1 build Fri Apr 17 2026\n   * https://github.com/pmndrs/postprocessing\n   * Copyright 2015-2026 Raoul van Rüschen\n   * @license Zlib\n   *)\n*/\n//# sourceMappingURL=postprocessing.mjs.map","/* esm.sh - postprocessing@6.39.1 */\nimport \"/three@>=%200.168.0%20<%200.185.0?target=es2022\";\nexport * from \"/postprocessing@6.39.1/es2022/postprocessing.mjs\";\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import*as THREE from\"three\";import{EffectComposer,EffectPass,RenderPass,Effect}from\"https://esm.sh/postprocessing\";import{addPropertyControls,ControlType}from\"framer\";/**\n * PixelBlast Component for Framer\n *\n * Based on: github.com/zavalit/bayer-dithering-webgl-demo\n * Adapted for Framer by tonik\n */// Helper to parse Framer color values (which can be strings, objects, or CSS variables)\nconst parseFramerColor=color=>{if(!color)return\"#000000\";// If it's already a simple string (hex, rgb, etc.)\nif(typeof color===\"string\"){// Handle CSS variables by using a temporary element\nif(color.startsWith(\"var(\")){try{const temp=document.createElement(\"div\");temp.style.color=color;document.body.appendChild(temp);const computed=getComputedStyle(temp).color;document.body.removeChild(temp);return computed||\"#000000\";}catch{return\"#000000\";}}return color;}// Framer Color object with r, g, b, a properties (0-1 range)\nif(typeof color===\"object\"){if(\"r\"in color&&\"g\"in color&&\"b\"in color){const r=Math.round((color.r??0)*255);const g=Math.round((color.g??0)*255);const b=Math.round((color.b??0)*255);return`rgb(${r}, ${g}, ${b})`;}// Some Framer colors have a 'color' property\nif(\"color\"in color){return parseFramerColor(color.color);}}return\"#000000\";};const createTouchTexture=()=>{const size=64;const canvas=document.createElement(\"canvas\");canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");if(!ctx)throw new Error(\"2D context not available\");ctx.fillStyle=\"black\";ctx.fillRect(0,0,canvas.width,canvas.height);const texture=new THREE.Texture(canvas);texture.minFilter=THREE.LinearFilter;texture.magFilter=THREE.LinearFilter;texture.generateMipmaps=false;const trail=[];let last=null;const maxAge=64;let radius=.1*size;const speed=1/maxAge;const clear=()=>{ctx.fillStyle=\"black\";ctx.fillRect(0,0,canvas.width,canvas.height);};const drawPoint=p=>{const pos={x:p.x*size,y:(1-p.y)*size};let intensity=1;const easeOutSine=t=>Math.sin(t*Math.PI/2);const easeOutQuad=t=>-t*(t-2);if(p.age<maxAge*.3)intensity=easeOutSine(p.age/(maxAge*.3));else intensity=easeOutQuad(1-(p.age-maxAge*.3)/(maxAge*.7))||0;intensity*=p.force;const color=`${(p.vx+1)/2*255}, ${(p.vy+1)/2*255}, ${intensity*255}`;const offset=size*5;ctx.shadowOffsetX=offset;ctx.shadowOffsetY=offset;ctx.shadowBlur=radius;ctx.shadowColor=`rgba(${color},${.22*intensity})`;ctx.beginPath();ctx.fillStyle=\"rgba(255,0,0,1)\";ctx.arc(pos.x-offset,pos.y-offset,radius,0,Math.PI*2);ctx.fill();};const addTouch=norm=>{let force=0;let vx=0;let vy=0;if(last){const dx=norm.x-last.x;const dy=norm.y-last.y;if(dx===0&&dy===0)return;const dd=dx*dx+dy*dy;const d=Math.sqrt(dd);vx=dx/(d||1);vy=dy/(d||1);force=Math.min(dd*1e4,1);}last={x:norm.x,y:norm.y};trail.push({x:norm.x,y:norm.y,age:0,force,vx,vy});};const update=()=>{// Skip update if no trail points (nothing to animate)\nif(trail.length===0)return;clear();for(let i=trail.length-1;i>=0;i--){const point=trail[i];const f=point.force*speed*(1-point.age/maxAge);point.x+=point.vx*f;point.y+=point.vy*f;point.age++;if(point.age>maxAge)trail.splice(i,1);}for(let i=0;i<trail.length;i++)drawPoint(trail[i]);texture.needsUpdate=true;};return{canvas,texture,addTouch,update,get hasActiveTrail(){return trail.length>0;},set radiusScale(v){radius=.1*size*v;},get radiusScale(){return radius/(.1*size);},size};};const createLiquidEffect=(texture,opts)=>{const fragment=`\n    uniform sampler2D uTexture;\n    uniform float uStrength;\n    uniform float uTime;\n    uniform float uFreq;\n\n    void mainUv(inout vec2 uv) {\n      vec4 tex = texture2D(uTexture, uv);\n      float vx = tex.r * 2.0 - 1.0;\n      float vy = tex.g * 2.0 - 1.0;\n      float intensity = tex.b;\n\n      float wave = 0.5 + 0.5 * sin(uTime * uFreq + intensity * 6.2831853);\n\n      float amt = uStrength * intensity * wave;\n\n      uv += vec2(vx, vy) * amt;\n    }\n    `;return new Effect(\"LiquidEffect\",fragment,{uniforms:new Map([[\"uTexture\",new THREE.Uniform(texture)],[\"uStrength\",new THREE.Uniform(opts?.strength??.025)],[\"uTime\",new THREE.Uniform(0)],[\"uFreq\",new THREE.Uniform(opts?.freq??4.5)]])});};const SHAPE_MAP={square:0,circle:1,triangle:2,diamond:3};const VERTEX_SRC=`\nvoid main() {\n  gl_Position = vec4(position, 1.0);\n}\n`;const FRAGMENT_SRC=`\nprecision highp float;\n\nuniform vec3  uColor;\nuniform vec2  uResolution;\nuniform float uTime;\nuniform float uPixelSize;\nuniform float uScale;\nuniform float uDensity;\nuniform float uPixelJitter;\nuniform int   uEnableRipples;\nuniform float uRippleSpeed;\nuniform float uRippleThickness;\nuniform float uRippleIntensity;\nuniform float uEdgeFade;\n\nuniform int   uShapeType;\nconst int SHAPE_SQUARE   = 0;\nconst int SHAPE_CIRCLE   = 1;\nconst int SHAPE_TRIANGLE = 2;\nconst int SHAPE_DIAMOND  = 3;\n\nconst int   MAX_CLICKS = 10;\nconst int   MAX_COLORS = 5;\n\nuniform vec3  uColors[MAX_COLORS];\nuniform int   uColorCount;\nuniform vec2  uClickPos  [MAX_CLICKS];\nuniform float uClickTimes[MAX_CLICKS];\n\nout vec4 fragColor;\n\nfloat Bayer2(vec2 a) {\n  a = floor(a);\n  return fract(a.x / 2. + a.y * a.y * .75);\n}\n#define Bayer4(a) (Bayer2(.5*(a))*0.25 + Bayer2(a))\n#define Bayer8(a) (Bayer4(.5*(a))*0.25 + Bayer2(a))\n\n#define FBM_OCTAVES     5\n#define FBM_LACUNARITY  1.25\n#define FBM_GAIN        1.0\n\nfloat hash11(float n){ return fract(sin(n)*43758.5453); }\n\nfloat vnoise(vec3 p){\n  vec3 ip = floor(p);\n  vec3 fp = fract(p);\n  float n000 = hash11(dot(ip + vec3(0.0,0.0,0.0), vec3(1.0,57.0,113.0)));\n  float n100 = hash11(dot(ip + vec3(1.0,0.0,0.0), vec3(1.0,57.0,113.0)));\n  float n010 = hash11(dot(ip + vec3(0.0,1.0,0.0), vec3(1.0,57.0,113.0)));\n  float n110 = hash11(dot(ip + vec3(1.0,1.0,0.0), vec3(1.0,57.0,113.0)));\n  float n001 = hash11(dot(ip + vec3(0.0,0.0,1.0), vec3(1.0,57.0,113.0)));\n  float n101 = hash11(dot(ip + vec3(1.0,0.0,1.0), vec3(1.0,57.0,113.0)));\n  float n011 = hash11(dot(ip + vec3(0.0,1.0,1.0), vec3(1.0,57.0,113.0)));\n  float n111 = hash11(dot(ip + vec3(1.0,1.0,1.0), vec3(1.0,57.0,113.0)));\n  vec3 w = fp*fp*fp*(fp*(fp*6.0-15.0)+10.0);\n  float x00 = mix(n000, n100, w.x);\n  float x10 = mix(n010, n110, w.x);\n  float x01 = mix(n001, n101, w.x);\n  float x11 = mix(n011, n111, w.x);\n  float y0  = mix(x00, x10, w.y);\n  float y1  = mix(x01, x11, w.y);\n  return mix(y0, y1, w.z) * 2.0 - 1.0;\n}\n\nfloat fbm2(vec2 uv, float t){\n  vec3 p = vec3(uv * uScale, t);\n  float amp = 1.0;\n  float freq = 1.0;\n  float sum = 1.0;\n  for (int i = 0; i < FBM_OCTAVES; ++i){\n    sum  += amp * vnoise(p * freq);\n    freq *= FBM_LACUNARITY;\n    amp  *= FBM_GAIN;\n  }\n  return sum * 0.5 + 0.5;\n}\n\nfloat maskCircle(vec2 p, float cov){\n  float r = sqrt(cov) * .25;\n  float d = length(p - 0.5) - r;\n  float aa = 0.5 * fwidth(d);\n  return cov * (1.0 - smoothstep(-aa, aa, d * 2.0));\n}\n\nfloat maskTriangle(vec2 p, vec2 id, float cov){\n  bool flip = mod(id.x + id.y, 2.0) > 0.5;\n  if (flip) p.x = 1.0 - p.x;\n  float r = sqrt(cov);\n  float d  = p.y - r*(1.0 - p.x);\n  float aa = fwidth(d);\n  return cov * clamp(0.5 - d/aa, 0.0, 1.0);\n}\n\nfloat maskDiamond(vec2 p, float cov){\n  float r = sqrt(cov) * 0.564;\n  return step(abs(p.x - 0.49) + abs(p.y - 0.49), r);\n}\n\nvoid main(){\n  float pixelSize = uPixelSize;\n  vec2 fragCoord = gl_FragCoord.xy - uResolution * .5;\n  float aspectRatio = uResolution.x / uResolution.y;\n\n  vec2 pixelId = floor(fragCoord / pixelSize);\n  vec2 pixelUV = fract(fragCoord / pixelSize);\n\n  float cellPixelSize = 8.0 * pixelSize;\n  vec2 cellId = floor(fragCoord / cellPixelSize);\n  vec2 cellCoord = cellId * cellPixelSize;\n  vec2 uv = cellCoord / uResolution * vec2(aspectRatio, 1.0);\n\n  float base = fbm2(uv, uTime * 0.05);\n  base = base * 0.5 - 0.65;\n\n  float feed = base + (uDensity - 0.5) * 0.3;\n\n  float speed     = uRippleSpeed;\n  float thickness = uRippleThickness;\n  const float dampT     = 1.0;\n  const float dampR     = 10.0;\n\n  if (uEnableRipples == 1) {\n    for (int i = 0; i < MAX_CLICKS; ++i){\n      vec2 pos = uClickPos[i];\n      if (pos.x < 0.0) continue;\n      float cellPixelSize = 8.0 * pixelSize;\n      vec2 cuv = (((pos - uResolution * .5 - cellPixelSize * .5) / (uResolution))) * vec2(aspectRatio, 1.0);\n      float t = max(uTime - uClickTimes[i], 0.0);\n      float r = distance(uv, cuv);\n      float waveR = speed * t;\n      float ring  = exp(-pow((r - waveR) / thickness, 2.0));\n      float atten = exp(-dampT * t) * exp(-dampR * r);\n      feed = max(feed, ring * atten * uRippleIntensity);\n    }\n  }\n\n  float bayer = Bayer8(fragCoord / uPixelSize) - 0.5;\n  float bw = step(0.5, feed + bayer);\n\n  float h = fract(sin(dot(floor(fragCoord / uPixelSize), vec2(127.1, 311.7))) * 43758.5453);\n  float jitterScale = 1.0 + (h - 0.5) * uPixelJitter;\n  float coverage = bw * jitterScale;\n  float M;\n  if      (uShapeType == SHAPE_CIRCLE)   M = maskCircle (pixelUV, coverage);\n  else if (uShapeType == SHAPE_TRIANGLE) M = maskTriangle(pixelUV, pixelId, coverage);\n  else if (uShapeType == SHAPE_DIAMOND)  M = maskDiamond(pixelUV, coverage);\n  else                                   M = coverage;\n\n  if (uEdgeFade > 0.0) {\n    vec2 norm = gl_FragCoord.xy / uResolution;\n    float edge = min(min(norm.x, norm.y), min(1.0 - norm.x, 1.0 - norm.y));\n    float fade = smoothstep(0.0, uEdgeFade, edge);\n    M *= fade;\n  }\n\n  vec3 color = uColors[0];\n  if (uColorCount > 1) {\n      float colorHash = fract(sin(dot(pixelId, vec2(37.1, 11.7))) * 43758.5453);\n      int idx = int(floor(colorHash * float(uColorCount)));\n      idx = clamp(idx, 0, uColorCount - 1);\n      color = uColors[idx];\n  }\n\n  fragColor = vec4(color, M);\n}\n`;const MAX_CLICKS=10;const MAX_COLORS=5;export default function TadataPixelBlast({variant=\"square\",pixelSize=3,colors=[\"#B19EEF\"],antialias=true,patternScale=2,patternDensity=1,liquid=false,liquidStrength=.1,liquidRadius=1,pixelSizeJitter=0,enableRipples=true,rippleIntensityScale=1,rippleThickness=.1,rippleSpeed=.3,autoRipple=false,autoRippleInterval=1,liquidWobbleSpeed=4.5,autoPauseOffscreen=true,speed=.5,transparent=true,edgeFade=.5,noiseAmount=0}){const containerRef=useRef(null);const visibilityRef=useRef({visible:true});const speedRef=useRef(speed);const autoRippleRef=useRef({enabled:autoRipple,interval:autoRippleInterval,lastTime:0});const threeRef=useRef(null);// Effect for initialization and disposal\n// Runs only when critical props change (antialias, liquid, noiseAmount)\nuseEffect(()=>{const container=containerRef.current;if(!container)return;// 1. Clean up any previous instance explicitly if it exists (though the cleanup func should have handled it)\nif(threeRef.current){// This safety check might be redundant if cleanup works perfectly, but safe to have\n}// 2. Initialize\nconst canvas=document.createElement(\"canvas\");const renderer=new THREE.WebGLRenderer({canvas,antialias,alpha:true,powerPreference:\"high-performance\"});renderer.domElement.style.width=\"100%\";renderer.domElement.style.height=\"100%\";renderer.setPixelRatio(Math.min(window.devicePixelRatio||1,2));container.appendChild(renderer.domElement);if(transparent)renderer.setClearAlpha(0);else renderer.setClearColor(0,1);// Initial uniforms (will be updated by the second effect, but needed for init)\nconst uniforms={uResolution:{value:new THREE.Vector2(0,0)},uTime:{value:0},uColors:{value:Array.from({length:MAX_COLORS},()=>new THREE.Color(0))},uColorCount:{value:1},uClickPos:{value:Array.from({length:MAX_CLICKS},()=>new THREE.Vector2(-1,-1))},uClickTimes:{value:new Float32Array(MAX_CLICKS)},uShapeType:{value:SHAPE_MAP[variant]??0},uPixelSize:{value:pixelSize*renderer.getPixelRatio()},uScale:{value:patternScale},uDensity:{value:patternDensity},uPixelJitter:{value:pixelSizeJitter},uEnableRipples:{value:enableRipples?1:0},uRippleSpeed:{value:rippleSpeed},uRippleThickness:{value:rippleThickness},uRippleIntensity:{value:rippleIntensityScale},uEdgeFade:{value:edgeFade}};const scene=new THREE.Scene;const camera=new THREE.OrthographicCamera(-1,1,1,-1,0,1);const material=new THREE.ShaderMaterial({vertexShader:VERTEX_SRC,fragmentShader:FRAGMENT_SRC,uniforms,transparent:true,depthTest:false,depthWrite:false,glslVersion:THREE.GLSL3});const quadGeom=new THREE.PlaneGeometry(2,2);const quad=new THREE.Mesh(quadGeom,material);scene.add(quad);const clock=new THREE.Clock;const setSize=()=>{if(!container)return;const w=container.clientWidth||1;const h=container.clientHeight||1;renderer.setSize(w,h,false);uniforms.uResolution.value.set(renderer.domElement.width,renderer.domElement.height);if(threeRef.current?.composer)threeRef.current.composer.setSize(renderer.domElement.width,renderer.domElement.height);// We'll update uPixelSize in the update effect or here?\n// Here is fine for resize events.\n// Note: accessing current pixelSize prop value inside closure?\n// 'pixelSize' is from the outer scope. If this effect doesn't re-run, 'pixelSize' is stale.\n// BUT we update the uniform in the second effect.\n// This setSize is for ResizeObserver. We should store the current pixelSize in a ref to access it here.\n};// We need a ref for pixelSize if we want to use it in setSize which is bound to ResizeObserver\n// Alternatively, just update uPixelSize in the second effect and don't worry about it here,\n// unless resize happens. If resize happens, we need the correct pixel ratio.\n// Let's just rely on the second effect to keep uPixelSize fresh.\nsetSize();const ro=new ResizeObserver(setSize);ro.observe(container);// IntersectionObserver for autoPauseOffscreen\nlet io=null;if(autoPauseOffscreen){io=new IntersectionObserver(entries=>{visibilityRef.current.visible=entries[0]?.isIntersecting??true;},{threshold:0});io.observe(container);}const randomFloat=()=>{if(typeof window!==\"undefined\"&&window.crypto?.getRandomValues){const u32=new Uint32Array(1);window.crypto.getRandomValues(u32);return u32[0]/4294967295;}return Math.random();};const timeOffset=randomFloat()*1e3;let composer;let touch;let liquidEffect;if(liquid){touch=createTouchTexture();touch.radiusScale=liquidRadius;composer=new EffectComposer(renderer);const renderPass=new RenderPass(scene,camera);liquidEffect=createLiquidEffect(touch.texture,{strength:liquidStrength,freq:liquidWobbleSpeed});const effectPass=new EffectPass(camera,liquidEffect);effectPass.renderToScreen=true;composer.addPass(renderPass);composer.addPass(effectPass);}if(noiseAmount>0){if(!composer){composer=new EffectComposer(renderer);composer.addPass(new RenderPass(scene,camera));}const noiseEffect=new Effect(\"NoiseEffect\",`uniform float uTime; uniform float uAmount; float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1,311.7))) * 43758.5453);} void mainUv(inout vec2 uv){} void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){ float n=hash(floor(uv*vec2(1920.0,1080.0))+floor(uTime*60.0)); float g=(n-0.5)*uAmount; outputColor=inputColor+vec4(vec3(g),0.0);} `,{uniforms:new Map([[\"uTime\",new THREE.Uniform(0)],[\"uAmount\",new THREE.Uniform(noiseAmount)]])});const noisePass=new EffectPass(camera,noiseEffect);noisePass.renderToScreen=true;if(composer&&composer.passes.length>0)composer.passes.forEach(p=>p.renderToScreen=false);composer.addPass(noisePass);}if(composer)composer.setSize(renderer.domElement.width,renderer.domElement.height);const mapToPixels=e=>{const rect=renderer.domElement.getBoundingClientRect();const scaleX=renderer.domElement.width/rect.width;const scaleY=renderer.domElement.height/rect.height;const fx=(e.clientX-rect.left)*scaleX;const fy=(rect.height-(e.clientY-rect.top))*scaleY;return{fx,fy,w:renderer.domElement.width,h:renderer.domElement.height};};const onPointerDown=e=>{const{fx,fy}=mapToPixels(e);const ix=threeRef.current?.clickIx??0;uniforms.uClickPos.value[ix].set(fx,fy);uniforms.uClickTimes.value[ix]=uniforms.uTime.value;if(threeRef.current)threeRef.current.clickIx=(ix+1)%MAX_CLICKS;};const onPointerMove=e=>{if(!touch)return;const{fx,fy,w,h}=mapToPixels(e);touch.addTouch({x:fx/w,y:fy/h});};renderer.domElement.addEventListener(\"pointerdown\",onPointerDown,{passive:true});renderer.domElement.addEventListener(\"pointermove\",onPointerMove,{passive:true});let raf=0;const animate=()=>{if(autoPauseOffscreen&&!visibilityRef.current.visible){raf=requestAnimationFrame(animate);return;}// Update time\nuniforms.uTime.value=timeOffset+clock.getElapsedTime()*speedRef.current;// Auto-ripple logic\nif(autoRippleRef.current.enabled&&uniforms.uEnableRipples.value===1){const now=uniforms.uTime.value;const interval=autoRippleRef.current.interval;if(now-autoRippleRef.current.lastTime>=interval){autoRippleRef.current.lastTime=now;// Spawn ripple at random position\nconst w=renderer.domElement.width;const h=renderer.domElement.height;const fx=Math.random()*w;const fy=Math.random()*h;const ix=threeRef.current?.clickIx??0;uniforms.uClickPos.value[ix].set(fx,fy);uniforms.uClickTimes.value[ix]=now;if(threeRef.current)threeRef.current.clickIx=(ix+1)%MAX_CLICKS;}}if(liquidEffect)liquidEffect.uniforms.get(\"uTime\").value=uniforms.uTime.value;if(composer){if(touch)touch.update();composer.passes.forEach(p=>{const effs=p.effects;if(effs)effs.forEach(eff=>{const u=eff.uniforms?.get(\"uTime\");if(u)u.value=uniforms.uTime.value;});});composer.render();}else{renderer.render(scene,camera);}raf=requestAnimationFrame(animate);};raf=requestAnimationFrame(animate);threeRef.current={renderer,scene,camera,material,clock,clickIx:0,uniforms,resizeObserver:ro,intersectionObserver:io,raf,quad,timeOffset,composer,touch,liquidEffect};// Cleanup function\nreturn()=>{if(!threeRef.current)return;const t=threeRef.current;t.resizeObserver?.disconnect();t.intersectionObserver?.disconnect();cancelAnimationFrame(t.raf);renderer.domElement.removeEventListener(\"pointerdown\",onPointerDown);renderer.domElement.removeEventListener(\"pointermove\",onPointerMove);t.quad?.geometry.dispose();t.material.dispose();t.composer?.dispose();t.renderer.dispose();t.touch?.texture?.dispose();if(t.renderer.domElement.parentElement===container)container.removeChild(t.renderer.domElement);threeRef.current=null;};},[antialias,liquid,noiseAmount,autoPauseOffscreen])// Only critical props trigger full re-init\n;// Effect for updating uniforms\n// Runs on every prop change\nuseEffect(()=>{const t=threeRef.current;if(!t)return;speedRef.current=speed;autoRippleRef.current.enabled=autoRipple;autoRippleRef.current.interval=autoRippleInterval;// Update uniforms\nt.uniforms.uShapeType.value=SHAPE_MAP[variant]??0;t.uniforms.uPixelSize.value=pixelSize*t.renderer.getPixelRatio();const validColors=colors&&colors.length>0?colors:[\"#B19EEF\"];t.uniforms.uColorCount.value=Math.min(validColors.length,MAX_COLORS);validColors.forEach((c,i)=>{if(i<MAX_COLORS){const parsedColor=parseFramerColor(c);t.uniforms.uColors.value[i].set(parsedColor);}});t.uniforms.uScale.value=patternScale;t.uniforms.uDensity.value=patternDensity;t.uniforms.uPixelJitter.value=pixelSizeJitter;t.uniforms.uEnableRipples.value=enableRipples?1:0;t.uniforms.uRippleIntensity.value=rippleIntensityScale;t.uniforms.uRippleThickness.value=rippleThickness;t.uniforms.uRippleSpeed.value=rippleSpeed;t.uniforms.uEdgeFade.value=edgeFade;if(transparent)t.renderer.setClearAlpha(0);else t.renderer.setClearColor(0,1);if(t.liquidEffect){const uStrength=t.liquidEffect.uniforms.get(\"uStrength\");if(uStrength)uStrength.value=liquidStrength;const uFreq=t.liquidEffect.uniforms.get(\"uFreq\");if(uFreq)uFreq.value=liquidWobbleSpeed;}if(t.touch){t.touch.radiusScale=liquidRadius;}// Update resize handler dependency if needed?\n// Actually, since setSize in init doesn't capture pixelSize from here,\n// we should perhaps manually call setSize?\n// But setSize is mostly for canvas size.\n// We already updated uPixelSize above.\n},[variant,pixelSize,colors,patternScale,patternDensity,pixelSizeJitter,enableRipples,rippleIntensityScale,rippleThickness,rippleSpeed,autoRipple,autoRippleInterval,edgeFade,transparent,liquidStrength,liquidRadius,liquidWobbleSpeed,speed]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},\"aria-label\":\"Pixel interactive background\"});}addPropertyControls(TadataPixelBlast,{variant:{type:ControlType.Enum,options:[\"square\",\"circle\",\"triangle\",\"diamond\"],optionTitles:[\"Square\",\"Circle\",\"Triangle\",\"Diamond\"],defaultValue:\"square\",title:\"Shape\"},pixelSize:{type:ControlType.Number,min:1,max:50,defaultValue:3,step:1,title:\"Pixel Size\"},colors:{type:ControlType.Array,control:{type:ControlType.Color},defaultValue:[\"#B19EEF\"],title:\"Colors\"},speed:{type:ControlType.Number,min:0,max:5,defaultValue:.5,step:.1,title:\"Speed\"},patternScale:{type:ControlType.Number,min:.1,max:10,defaultValue:2,step:.1,title:\"Pattern Scale\"},patternDensity:{type:ControlType.Number,min:0,max:5,defaultValue:1,step:.1,title:\"Density\"},pixelSizeJitter:{type:ControlType.Number,min:0,max:1,defaultValue:0,step:.05,title:\"Jitter\"},edgeFade:{type:ControlType.Number,min:0,max:1,defaultValue:.5,step:.05,title:\"Edge Fade\"},enableRipples:{type:ControlType.Boolean,defaultValue:true,title:\"Ripples\"},rippleSpeed:{type:ControlType.Number,min:.1,max:2,defaultValue:.3,step:.05,title:\"Ripple Speed\",hidden:props=>!props.enableRipples},rippleThickness:{type:ControlType.Number,min:.01,max:1,defaultValue:.1,step:.01,title:\"Ripple Thick.\",hidden:props=>!props.enableRipples},rippleIntensityScale:{type:ControlType.Number,min:0,max:5,defaultValue:1,step:.1,title:\"Ripple Intensity\",hidden:props=>!props.enableRipples},autoRipple:{type:ControlType.Boolean,defaultValue:false,title:\"Auto Ripple\",hidden:props=>!props.enableRipples},autoRippleInterval:{type:ControlType.Number,min:.1,max:5,defaultValue:1,step:.1,title:\"Auto Interval\",hidden:props=>!props.enableRipples||!props.autoRipple},liquid:{type:ControlType.Boolean,defaultValue:false,title:\"Liquid Effect\"},liquidStrength:{type:ControlType.Number,min:0,max:1,defaultValue:.1,step:.01,title:\"Liquid Strength\",hidden:props=>!props.liquid},liquidRadius:{type:ControlType.Number,min:.1,max:5,defaultValue:1,step:.1,title:\"Liquid Radius\",hidden:props=>!props.liquid},liquidWobbleSpeed:{type:ControlType.Number,min:0,max:10,defaultValue:4.5,step:.1,title:\"Liquid Wobble\",hidden:props=>!props.liquid},noiseAmount:{type:ControlType.Number,min:0,max:1,defaultValue:0,step:.05,title:\"Noise\"},antialias:{type:ControlType.Boolean,defaultValue:true,title:\"Antialias\"},transparent:{type:ControlType.Boolean,defaultValue:true,title:\"Transparent\"},autoPauseOffscreen:{type:ControlType.Boolean,defaultValue:true,title:\"Auto Pause\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TadataPixelBlast\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Tadata_PixelBlast.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Copyright Notice\n *\n * Auto-updating footer copyright component with customizable symbol, date range, and optional link.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function CopyrightLabel({prefix=\"\",suffix=\"\",font,textColor,companyColor,style,useDateRange,startYear,name=\"\",statement=\"All rights reserved.\",symbolType,showLink,linkText=\"\",linkUrl=\"\",linkStyle,openInNewTab,alignment,blockLayout}){const[currentYear,setCurrentYear]=useState(\"\");useEffect(()=>{if(typeof window!==\"undefined\"){const year=new Date().getFullYear().toString();startTransition(()=>setCurrentYear(year));}},[]);const yearText=useDateRange&&startYear?`${startYear}–${currentYear}`:currentYear;const getSymbol=()=>{switch(symbolType){case\"copyright\":return\"\\xa9\";case\"registered\":return\"\\xae\";case\"trademark\":return\"™\";case\"servicemark\":return\"℠\";case\"none\":return\"\";case\"custom\":return prefix;default:return\"\";}};const symbol=getSymbol();const displayPrefix=symbolType===\"custom\"?\"\":symbol;// Build accessible label\nconst buildAriaLabel=()=>{const parts=[];if(displayPrefix){const symbolName=symbolType===\"copyright\"?\"Copyright\":symbolType===\"registered\"?\"Registered trademark\":symbolType===\"trademark\"?\"Trademark\":symbolType===\"servicemark\"?\"Service mark\":displayPrefix;parts.push(symbolName);}parts.push(yearText);if(name)parts.push(name);if(statement)parts.push(statement);if(suffix)parts.push(suffix);return parts.join(\" \");};return /*#__PURE__*/_jsx(\"footer\",{style:{display:blockLayout?\"flex\":\"inline-flex\",justifyContent:alignment===\"center\"?\"center\":alignment===\"right\"?\"flex-end\":\"flex-start\",alignItems:\"center\",color:textColor,width:blockLayout?\"100%\":\"auto\",...font,...style},role:\"contentinfo\",\"aria-label\":buildAriaLabel(),children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline\",whiteSpace:\"normal\",wordBreak:\"break-word\",flexShrink:1},children:[/*#__PURE__*/_jsxs(\"span\",{\"aria-live\":\"polite\",\"aria-atomic\":\"true\",children:[displayPrefix&&`${displayPrefix} `,yearText,\" \",name&&/*#__PURE__*/_jsx(\"span\",{style:{color:companyColor},children:name}),\" \",statement&&`${statement} `,suffix]}),showLink&&linkText&&linkUrl&&/*#__PURE__*/_jsx(\"a\",{href:linkUrl,target:openInNewTab?\"_blank\":\"_self\",rel:openInNewTab?\"noopener noreferrer\":undefined,\"aria-label\":`${linkText}${openInNewTab?\" (opens in new tab)\":\"\"}`,style:{color:textColor,textDecoration:linkStyle===\"underline\"?\"underline\":\"none\",fontWeight:linkStyle===\"bold\"?\"bold\":\"inherit\",fontStyle:linkStyle===\"italic\"?\"italic\":\"normal\",marginLeft:\"4px\",cursor:\"pointer\",...font},children:linkText})]})});}addPropertyControls(CopyrightLabel,{symbolType:{type:ControlType.Enum,title:\"Symbol\",defaultValue:\"copyright\",options:[\"copyright\",\"registered\",\"trademark\",\"servicemark\",\"none\",\"custom\"],optionTitles:[\"\\xa9\",\"\\xae\",\"™\",\"℠\",\"None\",\"Custom\"]},prefix:{type:ControlType.String,title:\"Custom Prefix\",defaultValue:\"\",hidden:({symbolType})=>symbolType!==\"custom\"},useDateRange:{type:ControlType.Boolean,title:\"Date Range\",defaultValue:false},startYear:{type:ControlType.Number,title:\"Start Year\",defaultValue:2024,min:1900,max:new Date().getFullYear(),step:1,displayStepper:true,hidden:({useDateRange})=>!useDateRange},name:{type:ControlType.String,title:\"Name\",placeholder:\"Your Site or Company\",defaultValue:\"\"},statement:{type:ControlType.String,title:\"Statement\",placeholder:\"All rights reserved.\",defaultValue:\"All rights reserved.\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},companyColor:{type:ControlType.Color,title:\"Company Color\",defaultValue:\"#000000\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",lineHeight:\"1.5em\"}},alignment:{type:ControlType.Enum,title:\"Alignment\",defaultValue:\"left\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"]},blockLayout:{type:ControlType.Boolean,title:\"Fill Width\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},showLink:{type:ControlType.Boolean,title:\"Link\",defaultValue:false},linkText:{type:ControlType.String,title:\"Link Text\",placeholder:\"Privacy Policy\",defaultValue:\"\",hidden:({showLink})=>!showLink},linkUrl:{type:ControlType.Link,title:\"Link URL\",defaultValue:\"\",hidden:({showLink})=>!showLink},linkStyle:{type:ControlType.Enum,title:\"Link Style\",defaultValue:\"underline\",options:[\"underline\",\"bold\",\"italic\",\"none\"],optionTitles:[\"Underline\",\"Bold\",\"Italic\",\"None\"],hidden:({showLink})=>!showLink},openInNewTab:{type:ControlType.Boolean,title:\"Open in New Tab\",defaultValue:true,hidden:({showLink})=>!showLink}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CopyrightLabel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CopyrightLabel_2.map","// Generated by Framer (4c8a172)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-1LfTo .framer-styles-preset-2mbkmd:not(.rich-text-wrapper), .framer-1LfTo .framer-styles-preset-2mbkmd.rich-text-wrapper a { --framer-link-hover-text-color: var(--token-433c969a-231c-4408-a0f5-6de07c652773, #ffffff); --framer-link-hover-text-decoration: underline; --framer-link-text-color: var(--token-0bfbbde8-ca5e-48de-abb9-7ba87f55cfdf, #333333); }\"];export const className=\"framer-1LfTo\";\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 (aabb2d2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const jcOHzis3X=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 18.605 12.439 C 18.605 9.61 16.418 7.317 13.721 7.317 C 11.024 7.317 8.837 9.61 8.837 12.439 L 8.837 18.537 L 11.163 18.537 L 11.163 12.439 C 11.163 10.957 12.308 9.756 13.721 9.756 C 15.134 9.756 16.279 10.957 16.279 12.439 L 16.279 18.537 L 18.605 18.537 Z M 20 19.268 C 20 19.672 19.688 20 19.302 20 L 15.581 20 C 15.196 20 14.884 19.672 14.884 19.268 L 14.884 12.439 C 14.884 11.766 14.363 11.22 13.721 11.22 C 13.079 11.22 12.558 11.766 12.558 12.439 L 12.558 19.268 C 12.558 19.672 12.246 20 11.86 20 L 8.14 20 C 7.754 20 7.442 19.672 7.442 19.268 L 7.442 12.439 C 7.442 8.802 10.253 5.854 13.721 5.854 C 17.189 5.854 20 8.802 20 12.439 Z M 4.419 6.829 C 4.804 6.829 5.116 7.157 5.116 7.561 L 5.116 19.268 C 5.116 19.672 4.804 20 4.419 20 L 0.698 20 C 0.312 20 0 19.672 0 19.268 L 0 7.561 C 0 7.157 0.312 6.829 0.698 6.829 Z M 1.395 18.537 L 3.721 18.537 L 3.721 8.293 L 1.395 8.293 Z M 3.721 2.683 C 3.721 2.009 3.2 1.463 2.558 1.463 C 1.916 1.463 1.395 2.009 1.395 2.683 C 1.395 3.356 1.916 3.902 2.558 3.902 C 3.2 3.902 3.721 3.356 3.721 2.683 Z M 5.116 2.683 C 5.116 4.165 3.971 5.366 2.558 5.366 C 1.145 5.366 0 4.165 0 2.683 C 0 1.201 1.145 0 2.558 0 C 3.971 0 5.116 1.201 5.116 2.683 Z\" fill=\"var(--1xigtmo, var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)))\" height=\"20.000000162822445px\" id=\"yOJz3EgNL\" transform=\"translate(2.5 1.5)\" width=\"20.000000210695475px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,jcOHzis3X:fill??props.jcOHzis3X??\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,jcOHzis3X,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-y0yS7\",className),layoutId:layoutId,ref:ref,style:{\"--1xigtmo\":jcOHzis3X,...style}});});const css=[`.framer-y0yS7 { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1xigtmo); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"jcOHzis3X\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Linkedin\",\"color\":{\"type\":\"variable\",\"value\":\"1xigtmo\"},\"set\":{\"localId\":\"vectorSet/AkWtT8fhQ\",\"id\":\"AkWtT8fhQ\",\"moduleId\":\"rCOBuSqaht5LB7a1uevC\"}}\n */const Icon=withCSS(Component,css,\"framer-y0yS7\");Icon.displayName=\"Linkedin\";export default Icon;addPropertyControls(Icon,{jcOHzis3X:{defaultValue:'var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)) /* {\"name\":\"Strong\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"jcOHzis3X\\\":\\\"fill\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"Linkedin\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1xigtmo\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/AkWtT8fhQ\\\",\\\"id\\\":\\\"AkWtT8fhQ\\\",\\\"moduleId\\\":\\\"rCOBuSqaht5LB7a1uevC\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (aabb2d2)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const jcOHzis3X=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 11.647 8.468 L 18.932 0 L 17.206 0 L 10.879 7.353 L 5.827 0 L 0 0 L 7.64 11.119 L 0 19.999 L 1.726 19.999 L 8.406 12.234 L 13.743 20 L 19.57 20 L 11.646 8.468 Z M 9.282 11.217 L 8.508 10.11 L 2.348 1.3 L 5 1.3 L 9.971 8.41 L 10.745 9.517 L 17.206 18.759 L 14.555 18.759 Z\" fill=\"var(--1xigtmo, var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)))\" height=\"20px\" id=\"Tx7nbuIYX\" transform=\"translate(3 2)\" width=\"19.57px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,jcOHzis3X:fill??props.jcOHzis3X??\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,jcOHzis3X,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-RT6uT\",className),layoutId:layoutId,ref:ref,style:{\"--1xigtmo\":jcOHzis3X,...style}});});const css=[`.framer-RT6uT { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1xigtmo); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"jcOHzis3X\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X\",\"color\":{\"type\":\"variable\",\"value\":\"1xigtmo\"},\"set\":{\"localId\":\"vectorSet/AkWtT8fhQ\",\"id\":\"AkWtT8fhQ\",\"moduleId\":\"rCOBuSqaht5LB7a1uevC\"}}\n */const Icon=withCSS(Component,css,\"framer-RT6uT\");Icon.displayName=\"X\";export default Icon;addPropertyControls(Icon,{jcOHzis3X:{defaultValue:'var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)) /* {\"name\":\"Strong\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerVector\":\"{\\\"name\\\":\\\"X\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1xigtmo\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/AkWtT8fhQ\\\",\\\"id\\\":\\\"AkWtT8fhQ\\\",\\\"moduleId\\\":\\\"rCOBuSqaht5LB7a1uevC\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"jcOHzis3X\\\":\\\"fill\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (4255370)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const K8bBXI4Gx=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 28 28\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 18.622 0 L 9.311 0 L 9.311 9.335 L 18.622 9.335 Z M 18.621 18.665 L 9.31 18.665 L 9.31 28 L 18.621 28 Z M 9.311 9.335 L 0 9.335 L 0 18.67 L 9.311 18.67 Z M 28 9.335 L 18.689 9.335 L 18.689 18.67 L 28 18.67 Z\" fill=\"var(--qam7ci, var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)))\" height=\"28.00000017329546px\" id=\"SpHKw1pl_\" width=\"28.00000071582008px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,K8bBXI4Gx:fill??props.K8bBXI4Gx??\"var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,K8bBXI4Gx,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-Y63z4\",className),layoutId:layoutId,ref:ref,style:{\"--qam7ci\":K8bBXI4Gx,...style}});});const css=[`.framer-Y63z4 { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--qam7ci); mask: ${mask}; width: 28px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 28\n * @framerIntrinsicHeight 28\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"K8bBXI4Gx\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"List Box\",\"color\":{\"type\":\"variable\",\"value\":\"qam7ci\"},\"set\":{\"localId\":\"vectorSet/mJkRIo9QR\",\"id\":\"mJkRIo9QR\",\"moduleId\":\"hxKb3qdL2iPcuK4wWEeH\"}}\n */const Icon=withCSS(Component,css,\"framer-Y63z4\");Icon.displayName=\"List Box\";export default Icon;addPropertyControls(Icon,{K8bBXI4Gx:{defaultValue:'var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, rgb(26, 26, 26)) /* {\"name\":\"Strong\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"28\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"List Box\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"qam7ci\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/mJkRIo9QR\\\",\\\"id\\\":\\\"mJkRIo9QR\\\",\\\"moduleId\\\":\\\"hxKb3qdL2iPcuK4wWEeH\\\"}}\",\"framerIntrinsicWidth\":\"28\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"K8bBXI4Gx\\\":\\\"fill\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ca8ceca)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,forwardLoader,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,Image as Image1,Link,PropertyOverrides,RenderTarget,RichText,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import SmoothScroll from\"https://framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/PGrowqBrgWCViHduGfsA/SmoothScroll_Prod.js\";import Nav from\"#framer/local/canvasComponent/mFuTTjBwU/mFuTTjBwU.js\";import TadataPixelBlast from\"#framer/local/codeFile/khToPcz/Tadata_PixelBlast.js\";import CopyrightLabel from\"#framer/local/codeFile/J_ZRxUo/CopyrightLabel_2.js\";import*as sharedStyle1 from\"#framer/local/css/nF1Yf2A49/nF1Yf2A49.js\";import*as sharedStyle from\"#framer/local/css/QcG9uKTSA/QcG9uKTSA.js\";import Linkedin from\"#framer/local/vector/BcNOLBYGv/BcNOLBYGv.js\";import GitHub from\"#framer/local/vector/jFNZf2m0W/jFNZf2m0W.js\";import X from\"#framer/local/vector/jYygt77pV/jYygt77pV.js\";import ListBox from\"#framer/local/vector/Lg3EUEYSK/Lg3EUEYSK.js\";const SmoothScrollFonts=getFonts(SmoothScroll);const NavFonts=getFonts(Nav);const TadataPixelBlastFonts=getFonts(TadataPixelBlast);const ListBoxFonts=getFonts(ListBox);const GitHubFonts=getFonts(GitHub);const LinkedinFonts=getFonts(Linkedin);const XFonts=getFonts(X);const CopyrightLabelFonts=getFonts(CopyrightLabel);const breakpoints={qEoXjqykA:\"(max-width: 1023.98px)\",qMQJl5HCa:\"(min-width: 1024px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-npzmI\";const variantClassNames={qEoXjqykA:\"framer-v-1efzyx1\",qMQJl5HCa:\"framer-v-5nmeys\"};const yD8YfNBoN=undefined;const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const breakpointRules={qEoXjqykA:[\".framer-npzmI .framer-1saj9fq-container { height: auto; }\",\".framer-npzmI .framer-3is4d6 { height: 88px; }\",\".framer-npzmI .framer-1qprc8m { gap: 64px; padding: 64px 32px 0px 32px; }\",\".framer-npzmI .framer-1lbgfce { padding: 0px 16px 0px 16px; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={qEoXjqykA:\".framer-1efzyx1-override\"};const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-npzmI.framer-76a6t7, .framer-npzmI .framer-76a6t7 { display: block; }\",'.framer-npzmI.framer-5nmeys { --selection-background-color: rgba(0, 0, 0, 0.1); --selection-color: var(--token-dab8adfe-70fc-43f2-a3cb-38ec728444c7, #1a1a1a) /* {\"name\":\"Strong\"} */; align-content: center; align-items: center; background-color: var(--token-d884629f-6ab2-405d-9f0b-63245a63cdd2, #fafafa); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }',\".framer-npzmI .framer-t0exo8-container { flex: none; height: auto; order: -1000; position: relative; width: auto; }\",\".framer-npzmI .framer-1saj9fq-container { flex: none; height: 80px; order: -999; position: sticky; top: 0px; width: 100%; z-index: 3; }\",\".framer-npzmI .framer-1yocygs { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: 64px; justify-content: center; left: 0px; order: -998; overflow: var(--overflow-clip-fallback, clip); padding: 0px 32px 0px 32px; position: absolute; right: 0px; top: 80px; z-index: 0; }\",\".framer-npzmI .framer-1hjgi64-container { flex: 1 0 0px; height: 100%; max-width: 1376px; position: relative; width: 1px; z-index: 0; }\",\".framer-npzmI .framer-1sxedd7 { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-npzmI .framer-3is4d6 { flex: none; height: 176px; order: 1004; overflow: visible; position: relative; width: 100%; }\",'.framer-npzmI .framer-1qprc8m { --selection-background-color: var(--token-44a875a0-c68f-4f46-9086-fee6fb2987ec, #fece60) /* {\"name\":\"Color 2\"} */; --selection-color: #000000; align-content: center; align-items: center; background-color: var(--token-f6e4bc78-a77f-4322-b8ec-3118990a5d92, #000000); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 96px; height: min-content; justify-content: center; order: 1005; overflow: var(--overflow-clip-fallback, clip); padding: 128px 32px 0px 32px; position: relative; width: 100%; }',\".framer-npzmI .framer-18kke9e { display: grid; flex: none; gap: 48px; grid-auto-rows: min-content; grid-template-columns: repeat(auto-fill, minmax(152px, 1fr)); height: min-content; justify-content: center; max-width: 1376px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-npzmI .framer-128zxa7 { align-content: center; align-items: center; align-self: start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; grid-column: span 2; height: min-content; justify-content: center; justify-self: start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1fr; }\",\".framer-npzmI .framer-1fwveed { --qam7ci: var(--token-433c969a-231c-4408-a0f5-6de07c652773, #ffffff); aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 32px); position: relative; width: 32px; }\",\".framer-npzmI .framer-1p6tgan, .framer-npzmI .framer-8onsl7, .framer-npzmI .framer-4aofnr { align-content: center; align-items: center; align-self: start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: auto; justify-content: center; justify-self: start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-npzmI .framer-1656fpr, .framer-npzmI .framer-7ph4pe, .framer-npzmI .framer-12noq4k { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-npzmI .framer-1k6up1r, .framer-npzmI .framer-qzp4yw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-npzmI .framer-ray9u5, .framer-npzmI .framer-1cgjy0l, .framer-npzmI .framer-5o9xtc, .framer-npzmI .framer-1e9w5e4, .framer-npzmI .framer-15ojm61, .framer-npzmI .framer-145tk71, .framer-npzmI .framer-1dkdokr { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-npzmI .framer-1m7tt6g { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-npzmI .framer-h9rk2d, .framer-npzmI .framer-1yki7a7, .framer-npzmI .framer-19s1ved { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 4px; position: relative; text-decoration: none; width: min-content; }\",\".framer-npzmI .framer-ek8lk6, .framer-npzmI .framer-btrx61, .framer-npzmI .framer-4m2fm6 { --1xigtmo: var(--token-0bfbbde8-ca5e-48de-abb9-7ba87f55cfdf, #bfbfbf); aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 24px); position: relative; width: 24px; }\",\".framer-npzmI .framer-48firz { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; max-width: 1376px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-npzmI .framer-12nlyay, .framer-npzmI .framer-z0eifw { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-npzmI .framer-mlu7we-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-npzmI .framer-at7yr0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 256px; justify-content: center; max-width: 1376px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-npzmI .framer-147ccux { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 1376px; position: relative; white-space: pre; width: auto; }\",\".framer-npzmI .framer-1bd5l11-container { bottom: 0px; flex: none; height: 160px; left: 0px; position: absolute; right: 0px; z-index: 0; }\",\".framer-npzmI .framer-1lbgfce { -webkit-user-select: none; align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; justify-content: center; left: 0px; order: 1006; overflow: visible; padding: 0px 32px 0px 32px; pointer-events: none; position: absolute; right: 0px; top: 0px; user-select: none; z-index: 1; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }',...sharedStyle.css,...sharedStyle1.css,'.framer-npzmI[data-selection=\"true\"] * ::selection, .framer-npzmI [data-selection=\"true\"] * ::selection { color: var(--selection-color, none); background-color: var(--selection-background-color, none); }'];const mediaQueries={qEoXjqykA:\"(max-width: 1023.98px)\",qMQJl5HCa:\"(min-width: 1024px)\"};const humanReadableVariantMap={Desktop:\"qMQJl5HCa\",Tablet:\"qEoXjqykA\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,pixelsHeader,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"qMQJl5HCa\",yD8YfNBoN:pixelsHeader??props.yD8YfNBoN??true};};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{style,className,layoutId,variant,yD8YfNBoN,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"qEoXjqykA\")return false;return true;};useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"qMQJl5HCa\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-d884629f-6ab2-405d-9f0b-63245a63cdd2, rgb(250, 250, 250)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-5nmeys\",className),\"data-layout-template\":true,\"data-selection\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-t0exo8-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"AKVL4TNvw\",scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(SmoothScroll,{height:\"100%\",id:\"AKVL4TNvw\",intensity:2,layoutId:\"AKVL4TNvw\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:80,width:\"100vw\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1saj9fq-container\",nodeId:\"oyga1ydi5\",scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{qEoXjqykA:{style:{width:\"100%\"},variant:matchVariant(\"fVOs0qVuX\")}},children:/*#__PURE__*/_jsx(Nav,{height:\"100%\",id:\"oyga1ydi5\",layoutId:\"oyga1ydi5\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"S0BMMsjon\"),width:\"100%\"})})})}),yD8YfNBoN!==false&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1yocygs\",\"data-framer-name\":\"Pixels Header\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1hjgi64-container\",isAuthoredByUser:true,nodeId:\"aItO_5V3Y\",scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(TadataPixelBlast,{antialias:false,autoPauseOffscreen:true,autoRipple:true,autoRippleInterval:4,colors:[\"var(--token-a69b4ccd-5e1e-47ed-9ff2-bfb85529b483, rgb(0, 0, 0))\",\"var(--token-53ea9e03-05bd-4a09-970d-9a96e66e68ef, rgb(237, 90, 159))\",\"var(--token-19563aec-4515-4673-8d78-9e212fd5280e, rgb(255, 181, 2))\",\"var(--token-15412c80-a3a1-4520-a796-12118002d191, rgb(255, 205, 220))\",\"var(--token-b39b0968-6418-4579-9fba-2e7c5859d986, rgb(255, 138, 20))\",\"var(--token-1afee7e8-2dbb-4e2f-b150-c08489428a86, rgb(234, 0, 52))\",\"var(--token-44a875a0-c68f-4f46-9086-fee6fb2987ec, rgb(237, 203, 104))\"],edgeFade:0,enableRipples:false,height:\"100%\",id:\"aItO_5V3Y\",layoutId:\"aItO_5V3Y\",liquid:false,liquidRadius:1,liquidStrength:.1,liquidWobbleSpeed:4.5,noiseAmount:0,patternDensity:.4,patternScale:5.5,pixelSize:8,pixelSizeJitter:0,rippleIntensityScale:1,rippleSpeed:.2,rippleThickness:.1,speed:2,style:{height:\"100%\",maxWidth:\"100%\",width:\"100%\"},transparent:true,variant:matchVariant(\"square\"),width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1sxedd7\"}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{qEoXjqykA:{background:{alt:\"\",backgroundSize:.25,fit:\"tile\",pixelHeight:704,pixelWidth:672,positionX:\"left\",positionY:\"top\",sizes:\"100vw\",src:\"https://framerusercontent.com/images/SeR3pbX8FJtIkbb5HyecYHDMxQ.png?width=672&height=704\",srcSet:\"https://framerusercontent.com/images/SeR3pbX8FJtIkbb5HyecYHDMxQ.png?width=672&height=704 672w\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",backgroundSize:.5,fit:\"tile\",pixelHeight:704,pixelWidth:672,positionX:\"left\",positionY:\"top\",sizes:\"100vw\",src:\"https://framerusercontent.com/images/SeR3pbX8FJtIkbb5HyecYHDMxQ.png?width=672&height=704\",srcSet:\"https://framerusercontent.com/images/SeR3pbX8FJtIkbb5HyecYHDMxQ.png?width=672&height=704 672w\"},className:\"framer-3is4d6\",\"data-framer-name\":\"Section Divider\"})}),/*#__PURE__*/_jsxs(motion.footer,{className:\"framer-1qprc8m\",\"data-framer-name\":\"Footer\",\"data-selection\":true,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-18kke9e\",\"data-framer-name\":\"Container\",children:[isDisplayed()&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-128zxa7 hidden-1efzyx1\",\"data-framer-name\":\"Column\",children:/*#__PURE__*/_jsx(ListBox,{animated:false,className:\"framer-1fwveed\",K8bBXI4Gx:true,layoutId:\"kTXsfBheK\"})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1p6tgan\",\"data-framer-name\":\"Column\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",style:{\"--framer-text-color\":\"var(--token-433c969a-231c-4408-a0f5-6de07c652773, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(\"strong\",{children:\"Tadata\"})})}),className:\"framer-1656fpr\",fonts:[\"Inter\",\"Inter-Bold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1k6up1r\",\"data-framer-name\":\"Column\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:\"https://tadata.com/docs\",motionChild:true,nodeId:\"TTqvCgrW6\",openInNewTab:true,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Docs\"})})})}),className:\"framer-ray9u5\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"QFqfMotop\"},motionChild:true,nodeId:\"acJczccCf\",openInNewTab:false,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Pricing\"})})})}),className:\"framer-1cgjy0l\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"fyVodRYr_\"},motionChild:true,nodeId:\"jOHKkapXf\",openInNewTab:false,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Blog\"})})})}),className:\"framer-5o9xtc\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"gVHQXu4_M\"},motionChild:true,nodeId:\"GmgitHxBx\",openInNewTab:true,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Contact\"})})})}),className:\"framer-1e9w5e4 hidden-1efzyx1\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"KfJIVbWZe\"},motionChild:true,nodeId:\"uTpqXZLSE\",openInNewTab:true,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Careers\"})})})}),className:\"framer-15ojm61 hidden-1efzyx1\",\"data-framer-name\":\"Careers\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-8onsl7\",\"data-framer-name\":\"Column\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",style:{\"--framer-text-color\":\"var(--token-433c969a-231c-4408-a0f5-6de07c652773, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(\"strong\",{children:\"Legal\"})})}),className:\"framer-7ph4pe\",fonts:[\"Inter\",\"Inter-Bold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-qzp4yw\",\"data-framer-name\":\"Column\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"y0OJcG2a7\"},motionChild:true,nodeId:\"ZE1kpl8BE\",openInNewTab:false,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Terms Of Service\"})})})}),className:\"framer-145tk71\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"aVvCW42jQ\"},motionChild:true,nodeId:\"CnzUO7FEL\",openInNewTab:false,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"Privacy Policy\"})})})}),className:\"framer-1dkdokr\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-4aofnr\",\"data-framer-name\":\"Column\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",style:{\"--framer-text-color\":\"var(--token-433c969a-231c-4408-a0f5-6de07c652773, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(\"strong\",{children:\"Social\"})})}),className:\"framer-12noq4k\",fonts:[\"Inter\",\"Inter-Bold\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1m7tt6g\",\"data-framer-name\":\"Column\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://github.com/tadata-org/fastapi_mcp\",motionChild:true,nodeId:\"w_ndfdqRQ\",openInNewTab:true,scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-h9rk2d framer-76a6t7\",children:/*#__PURE__*/_jsx(GitHub,{animated:false,className:\"framer-ek8lk6\",jcOHzis3X:true,layoutId:\"NFnOmFWZZ\"})})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/company/tadata-inc/\",motionChild:true,nodeId:\"a79AiWxn4\",openInNewTab:true,scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1yki7a7 framer-76a6t7\",children:/*#__PURE__*/_jsx(Linkedin,{animated:false,className:\"framer-btrx61\",jcOHzis3X:true,layoutId:\"t1J4liY67\"})})}),/*#__PURE__*/_jsx(Link,{href:\"https://x.com/tadata_team\",motionChild:true,nodeId:\"Xs1p4g_xN\",openInNewTab:true,scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-19s1ved framer-76a6t7\",children:/*#__PURE__*/_jsx(X,{animated:false,className:\"framer-4m2fm6\",jcOHzis3X:true,layoutId:\"pDqdZd3aW\"})})})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-48firz\",\"data-framer-name\":\"Container\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-f95915fd-1051-48c1-a7bd-8cc3bb853b8c, rgb(102, 102, 102))\"},children:\"Powered by caffeine & curiosity\"})}),className:\"framer-12nlyay\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-mlu7we-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,nodeId:\"IsZUR_9rU\",scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(CopyrightLabel,{alignment:\"left\",blockLayout:false,companyColor:\"var(--token-f95915fd-1051-48c1-a7bd-8cc3bb853b8c, rgb(102, 102, 102))\",font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"20px\"},height:\"100%\",id:\"IsZUR_9rU\",layoutId:\"IsZUR_9rU\",linkStyle:\"underline\",linkText:\"\",name:\"\",openInNewTab:true,prefix:\"\",showLink:false,startYear:2024,statement:\"Tadata\",suffix:\"\",symbolType:\"copyright\",textColor:\"var(--token-f95915fd-1051-48c1-a7bd-8cc3bb853b8c, rgb(102, 102, 102))\",useDateRange:false,width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-czwqx2\",\"data-styles-preset\":\"QcG9uKTSA\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-f95915fd-1051-48c1-a7bd-8cc3bb853b8c, rgb(102, 102, 102))\"},children:[\"Made by \",/*#__PURE__*/_jsx(Link,{href:\"tonik.com\",motionChild:true,nodeId:\"sfWRlYZdr\",openInNewTab:true,relValues:[],scopeId:\"RcZaq01gc\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-2mbkmd\",\"data-styles-preset\":\"nF1Yf2A49\",children:\"tonik\"})})]})}),className:\"framer-z0eifw\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-at7yr0\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"R0Y7U3RhY2sgU2FucyBOb3RjaC12YXJpYWJsZS1yZWd1bGFyVkY9SW5kbmFIUWlJREl3TUE9PQ==\",\"--framer-font-family\":'\"Stack Sans Notch Variable\", \"Stack Sans Notch Variable Placeholder\", sans-serif',\"--framer-font-size\":\"449.9813997607823px\",\"--framer-font-variation-axes\":'\"wght\" 200',\"--framer-letter-spacing\":\"-0.04em\",\"--framer-line-height\":\"80%\",\"--framer-text-color\":\"rgba(255, 255, 255, 0.08)\"},children:\"tadata\"})}),className:\"framer-147ccux\",fonts:[\"GF;Stack Sans Notch-variable-regular\"],verticalAlignment:\"top\",viewBox:\"0 0 1216 360\",withExternalLayout:true})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1bd5l11-container\",isAuthoredByUser:true,nodeId:\"Bxf4MBvrl\",scopeId:\"RcZaq01gc\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{qEoXjqykA:{pixelSize:4}},children:/*#__PURE__*/_jsx(TadataPixelBlast,{antialias:false,autoPauseOffscreen:true,autoRipple:true,autoRippleInterval:4,colors:[\"var(--token-a69b4ccd-5e1e-47ed-9ff2-bfb85529b483, rgb(0, 0, 0))\",\"var(--token-53ea9e03-05bd-4a09-970d-9a96e66e68ef, rgb(237, 90, 159))\",\"var(--token-19563aec-4515-4673-8d78-9e212fd5280e, rgb(255, 181, 2))\",\"var(--token-15412c80-a3a1-4520-a796-12118002d191, rgb(255, 205, 220))\",\"var(--token-b39b0968-6418-4579-9fba-2e7c5859d986, rgb(255, 138, 20))\",\"var(--token-1afee7e8-2dbb-4e2f-b150-c08489428a86, rgb(234, 0, 52))\",\"var(--token-44a875a0-c68f-4f46-9086-fee6fb2987ec, rgb(237, 203, 104))\"],edgeFade:0,enableRipples:false,height:\"100%\",id:\"Bxf4MBvrl\",layoutId:\"Bxf4MBvrl\",liquid:false,liquidRadius:1,liquidStrength:.1,liquidWobbleSpeed:4.5,noiseAmount:0,patternDensity:.5,patternScale:2.4,pixelSize:8,pixelSizeJitter:0,rippleIntensityScale:1,rippleSpeed:.2,rippleThickness:.1,speed:2,style:{height:\"100%\",width:\"100%\"},transparent:true,variant:matchVariant(\"square\"),width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1lbgfce\",\"data-framer-name\":\"Outline\"})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 2697\n * @framerIntrinsicWidth 1024\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"qEoXjqykA\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"yD8YfNBoN\":\"pixelsHeader\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"qMQJl5HCa\":[\".framer-t0exo8-container\",\".framer-1saj9fq-container\",\".framer-1yocygs\",\".framer-3is4d6\",\".framer-1qprc8m\"],\"qEoXjqykA\":[\".framer-t0exo8-container\",\".framer-1saj9fq-container\",\".framer-1yocygs\",\".framer-3is4d6\",\".framer-1qprc8m\"]}\n * @framerBreakpoints {\"qMQJl5HCa\":{\"min\":1024,\"canvasClassName\":\"framer-5nmeys-override\",\"minHeight\":2697,\"name\":\"Desktop\",\"width\":1024,\"rootFontSize\":16},\"qEoXjqykA\":{\"max\":1023,\"canvasClassName\":\"framer-1efzyx1-override\",\"minHeight\":2697,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":768,\"rootFontSize\":16}}\n * @framerDefaultVariant qMQJl5HCa\n * @framerLayoutTemplate true\n */const FramerRcZaq01gc=withCSS(Component,css,\"framer-npzmI\");export default FramerRcZaq01gc;FramerRcZaq01gc.displayName=\"Template\";FramerRcZaq01gc.defaultProps={height:2697,width:1024};addPropertyControls(FramerRcZaq01gc,{yD8YfNBoN:{defaultValue:true,description:\"\",title:\"Pixels Header\",type:ControlType.Boolean}});const variationAxes=[{defaultValue:200,maxValue:700,minValue:200,name:\"Weight\",tag:\"wght\"}];addFonts(FramerRcZaq01gc,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"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/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{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/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{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/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Stack Sans Notch Variable\",source:\"google\",style:\"normal\",uiFamilyName:\"Stack Sans Notch\",url:\"https://fonts.gstatic.com/s/stacksansnotch/v5/TwMV-JcVXlQd3ooGEx9EbUzgioTr_hgbZJL-1a8.woff2\",variationAxes,weight:\"400\"}]},...SmoothScrollFonts,...NavFonts,...TadataPixelBlastFonts,...ListBoxFonts,...GitHubFonts,...LinkedinFonts,...XFonts,...CopyrightLabelFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});FramerRcZaq01gc.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Nav,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerRcZaq01gc\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1024\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerDefaultVariant\":\"qMQJl5HCa\",\"framerColorSyntax\":\"true\",\"framerBreakpoints\":\"{\\\"qMQJl5HCa\\\":{\\\"min\\\":1024,\\\"canvasClassName\\\":\\\"framer-5nmeys-override\\\",\\\"minHeight\\\":2697,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1024,\\\"rootFontSize\\\":16},\\\"qEoXjqykA\\\":{\\\"max\\\":1023,\\\"canvasClassName\\\":\\\"framer-1efzyx1-override\\\",\\\"minHeight\\\":2697,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":768,\\\"rootFontSize\\\":16}}\",\"framerLayoutTemplate\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"qEoXjqykA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicHeight\":\"2697\",\"framerVariables\":\"{\\\"yD8YfNBoN\\\":\\\"pixelsHeader\\\"}\",\"framerHitTargets\":\"{\\\"qMQJl5HCa\\\":[\\\".framer-t0exo8-container\\\",\\\".framer-1saj9fq-container\\\",\\\".framer-1yocygs\\\",\\\".framer-3is4d6\\\",\\\".framer-1qprc8m\\\"],\\\"qEoXjqykA\\\":[\\\".framer-t0exo8-container\\\",\\\".framer-1saj9fq-container\\\",\\\".framer-1yocygs\\\",\\\".framer-3is4d6\\\",\\\".framer-1qprc8m\\\"]}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Template1 from \"https://framerusercontent.com/modules/9mbvjVpyVaLiXUcqaWJC/PC9fpFtxAUmbtnFDxtpC/RcZaq01gc.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {aw0s1rgfp: \"problem\", JTriQLdxV: \"faq\", v1EEsJJ7l: \"team\", V9UmdVaLL: \"features\", xaXIIcwbn: \"mindset\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/n9woCwdI1NXdyVj0lEwF/5bnCm1ux8kSjRMoxsEhr/augiA20Il.js\")), path: \"/\"}, soGKRHha6: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nsyXzw3rZVn4AW16pN3Z/Nd8IDDDV1eEl8fzlnIL8/soGKRHha6.js\")), path: \"/pricing\"}, gVHQXu4_M: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/j60K74nWrp0JH0EoWaaw/Q7N6Lv00tMuUuL0u349l/gVHQXu4_M.js\")), path: \"/contact\"}, fyVodRYr_: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9ZygbGdaQcxcr2LrzjJd/obekl9aK4ExbBxIh4fAq/fyVodRYr_.js\")), path: \"/blog\"}, y0OJcG2a7: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ukrSrtHNjKFzt3I9Zf5k/mRqedDYdf9r3ggUPAf8U/y0OJcG2a7.js\")), path: \"/terms\"}, aVvCW42jQ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/11x4DCWBZwAMA1sqv8PU/0PcLUDUruXjjc8KEkt5H/aVvCW42jQ.js\")), path: \"/privacy\"}, CpDRRIW8O: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/FEjhR2klRYnY3kSrbife/dVyTvXcg4mIglYCkA5m1/CpDRRIW8O.js\")), path: \"/agents/scout\"}, LsM7rLgl7: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/4L3V9RqaKmJDkjz8Fqsd/8FaamXoH9KbSdVvLf47R/LsM7rLgl7.js\")), path: \"/agents/tango\"}, k7gQ5CxE4: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/eX1uEQ8SxSvNwmVGbOww/jwDWSbIWNLsUp8FchMdF/k7gQ5CxE4.js\")), path: \"/agents/sales\"}, KfJIVbWZe: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/i3XAOJUuOXX1bbnuR3Tx/CnhPrJv7ZRwwbR99MKue/KfJIVbWZe.js\")), path: \"/careers\"}, vhM2pcug6: {collectionId: \"SntjAOzOf\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/8Ngi6KQ0H7RkK9YjEUZw/gGyXymHgBt99jiqk0Nmr/vhM2pcug6.js\")), path: \"/blog/:amYyU8rTY\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {SntjAOzOf: async () => (await import(\"https://framerusercontent.com/modules/y6Z3s7dtIouLoTDUcGKO/O5nFlLIce60FYjkdIH0j/SntjAOzOf.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"35b701f38455b5a4fe398c7051abb46edccc462accdacb425bd2df26ab290c80\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {yD8YfNBoN: false}\r\nconst props2 = {...props1, yD8YfNBoN: true}\r\nconst templateProps = {augiA20Il: props1, aVvCW42jQ: props2, DD_ckYYiZ: props2, dqOFOWUv8: props2, fyVodRYr_: props1, gVHQXu4_M: props2, ILx0xM3bc: props1, JQjDARGOZ: props2, k7gQ5CxE4: props2, KfJIVbWZe: props2, m49B0eEYw: props2, nAeICgWWI: props2, QFqfMotop: props2, soGKRHha6: props2, vhM2pcug6: props1, xzSYlP8mA: props1, y0OJcG2a7: props2, YrRl6MDxZ: props1}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"xzSYlP8mA\":\r\ncase \"ILx0xM3bc\":\r\ncase \"QFqfMotop\":\r\ncase \"soGKRHha6\":\r\ncase \"JQjDARGOZ\":\r\ncase \"gVHQXu4_M\":\r\ncase \"nAeICgWWI\":\r\ncase \"fyVodRYr_\":\r\ncase \"YrRl6MDxZ\":\r\ncase \"y0OJcG2a7\":\r\ncase \"aVvCW42jQ\":\r\ncase \"m49B0eEYw\":\r\ncase \"dqOFOWUv8\":\r\ncase \"k7gQ5CxE4\":\r\ncase \"DD_ckYYiZ\":\r\ncase \"KfJIVbWZe\":\r\ncase \"vhM2pcug6\":\r\nreturn React.createElement(Template1, {...props, key: \"Template1\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"xzSYlP8mA\":\r\ncase \"ILx0xM3bc\":\r\ncase \"QFqfMotop\":\r\ncase \"soGKRHha6\":\r\ncase \"JQjDARGOZ\":\r\ncase \"gVHQXu4_M\":\r\ncase \"nAeICgWWI\":\r\ncase \"fyVodRYr_\":\r\ncase \"YrRl6MDxZ\":\r\ncase \"y0OJcG2a7\":\r\ncase \"aVvCW42jQ\":\r\ncase \"m49B0eEYw\":\r\ncase \"dqOFOWUv8\":\r\ncase \"k7gQ5CxE4\":\r\ncase \"DD_ckYYiZ\":\r\ncase \"KfJIVbWZe\":\r\ncase \"vhM2pcug6\":\r\nreturn [{hash: \"5nmeys\", mediaQuery: \"(min-width: 1024px)\"}, {hash: \"1efzyx1\", mediaQuery: \"(max-width: 1023.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: true,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://www.tadata.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/gIX2XKL9yTRQR8mZYB9Y/HUrMv9NDWaa1YRjbVJbp/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, disableCustomCode: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\t\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"miCAAA,SAASA,GAAM,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIC,EAAE,KAAK,IAAIC,EAAEC,EAAE,CAAC,sCAAO,GAAN,KAAa,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,UAAU,OAAO,IAAID,EAAE,CAAC,EAAE,GAAG,KAAK,KAAK,KAAK,MAAM,SAAc,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,SAAc,EAAE,EAAE,EAAE,CAAC,OAAO,EAAEC,GAAGF,EAAEE,EAAED,GAAGD,EAAEC,EAAE,EAAE,KAAK,IAAI,CAACC,EAAEG,EAAE,CAAC,EAAE,KAAK,MAAM,KAAK,GAAG,GAAG,KAAK,KAAKL,EAAE,CAAC,KAAK,MAAM,KAAK,MAAM,GAAG,KAAK,KAAK,KAAK,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,aAAaA,EAAE,IAAME,EAAEH,GAAM,EAAE,KAAK,YAAY,KAAK,SAAS,EAAE,CAAC,EAAEG,GAAG,EAAE,IAAMG,EAAEJ,EAAE,EAAE,KAAK,OAAOC,EAAE,CAAC,KAAK,MAAM,KAAK,MAAM,KAAK,GAAG,KAAK,MAAMG,EAAE,GAAG,KAAK,MAAM,CAAC,KAAK,WAAW,KAAK,MAAMJ,EAAE,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,KAAKC,EAAE,GAAG,SAASG,EAAE,EAAE,OAAO,GAAG,GAAGL,GAAG,QAAQ,EAAE,SAASM,GAAG,CAAC,KAAK,KAAK,KAAK,MAAMN,EAAE,KAAK,GAAGC,EAAE,KAAK,KAAKC,EAAE,KAAK,SAASG,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,SAASC,IAAS,GAAN,KAAgB,CAAC,YAAY,CAAC,QAAQN,EAAE,QAAQC,EAAE,WAAWC,EAAE,CAAC,EAAE,SAASG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,QAAQL,EAAE,KAAK,QAAQC,EAAEC,IAAI,KAAK,gBAAgB,SAAkB,EAAE,EAAE,CAAC,IAAIA,EAAE,OAAO,UAAU,CAAC,IAAIG,EAAE,UAAU,EAAE,KAAK,aAAaH,EAAE,CAAC,EAAE,YAAY,UAAU,CAAC,EAAE,MAAM,EAAEG,EAAE,GAAGJ,EAAE,GAAG,KAAK,OAAOI,EAAE,CAAC,KAAK,UAAU,EAAO,EAAO,iBAAiB,SAAS,KAAK,gBAAgB,CAAC,EAAE,EAAE,KAAK,sBAAsB,IAAI,eAAe,KAAK,gBAAgB,CAAC,KAAK,sBAAsB,QAAQ,KAAK,QAAQ,EAAE,KAAK,sBAAsB,IAAI,eAAe,KAAK,gBAAgB,CAAC,KAAK,sBAAsB,QAAQ,KAAK,QAAQ,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,KAAK,uBAAuB,YAAY,CAAC,KAAK,uBAAuB,YAAY,CAAC,EAAO,oBAAoB,SAAS,KAAK,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,iBAAiB,CAAC,KAAK,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,UAAU,GAAQ,KAAK,MAAM,EAAO,WAAW,KAAK,OAAO,EAAO,cAAc,KAAK,MAAM,KAAK,QAAQ,YAAY,KAAK,OAAO,KAAK,QAAQ,eAAe,oBAAoB,CAAC,KAAK,UAAU,GAAQ,KAAK,aAAa,KAAK,QAAQ,aAAa,KAAK,YAAY,KAAK,QAAQ,cAAc,KAAK,aAAa,KAAK,QAAQ,aAAa,KAAK,YAAY,KAAK,QAAQ,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,KAAK,MAAM,EAAE,KAAK,aAAa,KAAK,OAAO,GAAQ,GAAN,KAAa,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,EAAE,GAAGJ,EAAE,CAAC,IAAIC,EAAE,KAAK,OAAOF,IAAI,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEK,EAAEH,EAAE,OAAOF,EAAEK,EAAE,IAAI,EAAEL,GAAG,GAAGC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,OAAOD,IAAI,KAAKC,EAAE,GAAG,KAAK,OAAOD,GAAG,CAACC,EAAE,MAAM,CAAC,KAAK,OAAOD,GAAG,KAAK,OAAOA,IAAI,QAAQ,GAAGC,IAAID,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,OAAOA,GAAG,KAAK,OAAOA,IAAI,QAAQ,GAAGC,IAAID,GAAG,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE,GAAQ,GAAE,IAAI,EAAQ,GAAN,KAAmB,CAAC,YAAY,EAAE,CAAC,gBAAgBC,EAAE,EAAE,gBAAgBC,EAAE,GAAG,CAAC,KAAK,QAAQF,EAAE,KAAK,gBAAgBC,EAAE,KAAK,gBAAgBC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,QAAQ,IAAI,GAAQ,EAAO,iBAAiB,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC,KAAK,QAAQ,iBAAiB,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,iBAAiB,aAAa,KAAK,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,iBAAiB,YAAY,KAAK,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,iBAAiB,WAAW,KAAK,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,GAAGF,EAAEC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,SAAS,CAAC,EAAO,oBAAoB,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC,KAAK,QAAQ,oBAAoB,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,oBAAoB,aAAa,KAAK,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,oBAAoB,YAAY,KAAK,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,oBAAoB,WAAW,KAAK,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,GAAK,CAAC,QAAQA,EAAE,QAAQC,GAAGF,EAAE,cAAcA,EAAE,cAAc,GAAGA,EAAE,KAAK,WAAW,EAAEC,EAAE,KAAK,WAAW,EAAEC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAMF,EAAE,CAAC,EAAE,YAAY,GAAG,CAAC,GAAK,CAAC,QAAQC,EAAE,QAAQC,GAAGF,EAAE,cAAcA,EAAE,cAAc,GAAGA,EAAEK,EAAE,EAAEJ,EAAE,KAAK,WAAW,GAAG,KAAK,gBAAgB,EAAE,EAAEC,EAAE,KAAK,WAAW,GAAG,KAAK,gBAAgB,KAAK,WAAW,EAAED,EAAE,KAAK,WAAW,EAAEC,EAAE,KAAK,UAAU,CAAC,EAAEG,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAK,SAAS,CAAC,OAAOA,EAAE,OAAO,EAAE,MAAML,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,KAAK,QAAQ,KAAK,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,UAAU,EAAE,MAAMA,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAOE,EAAE,OAAOG,EAAE,UAAU,GAAGJ,EAAE,GAAO,IAAJ,EAAM,GAAM,IAAJ,EAAM,KAAK,YAAY,EAAE,GAAO,IAAJ,EAAM,GAAM,IAAJ,EAAM,KAAK,aAAa,EAAE,GAAG,KAAK,gBAAgB,GAAG,KAAK,gBAAgB,KAAK,QAAQ,KAAK,SAAS,CAAC,OAAOC,EAAE,OAAOG,EAAE,MAAMJ,EAAE,CAAC,EAAE,mBAAmB,CAAC,KAAK,YAAY,EAAO,WAAW,KAAK,aAAa,EAAO,cAAmB,GAAN,KAAW,CAAC,YAAY,CAAC,QAAQD,EAAE,EAAO,QAAQC,EAAE,SAAS,gBAAgB,kBAAkBC,EAAEF,EAAE,aAAaK,EAAEH,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAcI,EAAE,KAAK,uBAAuBC,EAAE,GAAG,SAASC,EAAE,OAAO,GAAG,GAAG,KAAK,IAAI,EAAE,MAAe,IAAE,IAAIR,GAAG,EAAE,KAAKS,EAAE,CAACD,GAAG,GAAG,SAASE,EAAE,CAAC,EAAE,YAAYC,EAAE,WAAW,mBAAmBC,EAAE,WAAW,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAE,WAAWC,EAAE,CAAC,EAAE,QAAQC,EAAE,CAAC,EAAE,gCAAgCC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,iBAAiB,CAAC,OAAOf,EAAE,OAAOC,EAAE,MAAMC,KAAK,CAAC,GAAGA,EAAE,QAAQ,OAAO,IAAMG,EAAEH,EAAE,KAAK,SAAS,QAAQ,CAACc,EAAEd,EAAE,KAAK,SAAS,QAAQ,CAA6D,GAA5D,KAAK,WAA0BA,EAAE,OAAjB,cAAqCA,EAAE,OAAhB,YAAwB,KAAK,QAAQ,WAAWG,GAAkBH,EAAE,OAAjB,cAAuB,CAAC,KAAK,WAAW,CAAC,KAAK,SAAS,OAAO,KAAK,KAAK,OAAO,CAAC,IAAMe,EAAMjB,IAAJ,GAAWC,IAAJ,EAAMK,EAAe,KAAK,QAAQ,qBAA1B,YAAkDL,IAAJ,GAAsB,KAAK,QAAQ,qBAA5B,cAAoDD,IAAJ,EAAM,GAAGiB,GAAGX,EAAE,OAAO,IAAIC,EAAEL,EAAE,cAAc,CAAC,EAAEK,EAAE,MAAM,EAAEA,EAAE,QAAQ,KAAK,YAAY,CAAC,CAAC,IAAMC,EAAE,KAAK,QAAQ,QAAQ,GAAGD,EAAE,MAAM,IAAqC,OAAOC,GAAnB,WAA2BA,IAAWR,EAAE,CAACQ,IAAeR,EAAE,cAAmC,KAAKA,EAAE,qBAAqB,EAAGK,GAAcL,EAAE,cAAmC,KAAKA,EAAE,2BAA2B,EAAGgB,GAAchB,EAAE,cAAmC,KAAKA,EAAE,2BAA2B,EAAcA,EAAE,WAAgC,SAAS,QAAQ,EAAG,CAAYA,EAAE,WAAgC,SAAS,gBAAgB,EAAI,CAAC,OAAO,GAAG,KAAK,WAAW,KAAK,SAAS,OAAO,KAAKE,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,QAAQ,WAAWG,GAAG,KAAK,QAAQ,aAAaW,GAAG,MAAO,MAAK,YAAY,SAAS,KAAK,KAAK,QAAQ,MAAM,CAAC,EAAE,gBAAgB,CAAC,IAAIE,EAAEjB,EAAW,KAAK,QAAQ,qBAAtB,OAAyC,EAAE,KAAK,IAAIA,EAAE,CAAC,KAAK,IAAID,EAAE,CAACC,EAAED,EAAiB,KAAK,QAAQ,qBAA5B,eAAiD,EAAEA,GAAG,IAAMS,EAAEJ,GAAG,KAAK,QAAQ,UAAUK,EAAEL,GAAgBH,EAAE,OAAf,YAAqB,KAAK,IAAIgB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,SAAS,KAAK,QAAQ,wBAAwB,KAAK,SAAS,KAAK,aAAaA,EAAE,OAAO,OAAO,CAAC,aAAa,CAAC,EAAE,CAACT,EAAE,CAAC,KAAKC,EAAE,KAAK,QAAQ,cAAc,EAAE,CAAC,CAAC,KAAK,KAAK,QAAQ,KAAK,SAAS,KAAK,QAAQ,SAAS,OAAO,KAAK,QAAQ,OAAO,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAC,GAAG,aAAa,KAAK,uBAAuB,CAAC,OAAO,KAAK,uBAAuB,KAAK,+BAA+B,OAAO,KAAK,uCAAuC,CAAC,IAAI,KAAK,aAAwB,KAAK,cAAhB,SAA4B,CAAC,IAAMV,EAAE,KAAK,eAAe,KAAK,eAAe,KAAK,aAAa,KAAK,aAAa,KAAK,aAAa,KAAK,SAAS,KAAK,SAAS,KAAK,eAAeA,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,eAAeA,EAAE,CAAC,KAAK,YAAY,SAAS,KAAK,MAAM,CAAK,KAAK,WAAT,IAAoB,KAAK,uBAAuB,gBAAgB,CAAC,KAAK,aAAa,KAAK,SAAS,KAAK,SAAS,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAO,aAAa,QAAQA,IAAI,SAAS,iBAAiBA,IAAI,SAAS,OAAO,EAAE,GAAQ,KAAK,QAAQ,CAAC,QAAQA,EAAE,QAAQC,EAAE,kBAAkBC,EAAE,aAAaG,EAAE,YAAY,EAAE,UAAU,EAAE,cAAcC,EAAE,uBAAuBC,EAAE,SAASC,EAAE,OAAO,EAAE,KAAKC,EAAE,SAASC,EAAE,mBAAmBE,EAAE,YAAYD,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAWE,EAAE,QAAQC,EAAE,gCAAgCC,EAAE,CAAC,KAAK,QAAQ,IAAI,GAAQ,KAAK,QAAQ,IAAI,GAAQ,KAAK,WAAW,IAAI,GAAW,CAAC,QAAQf,EAAE,QAAQC,EAAE,WAAWY,EAAE,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,SAAS,KAAK,aAAa,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,aAAa,KAAK,eAAe,KAAK,aAAa,KAAK,QAAQ,QAAQ,iBAAiB,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC,KAAK,cAAc,IAAI,GAAcR,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,cAAc,GAAG,SAAS,KAAK,gBAAgB,CAAC,SAAS,CAAC,KAAK,QAAQ,SAAS,CAAC,KAAK,QAAQ,QAAQ,oBAAoB,SAAS,KAAK,eAAe,CAAC,EAAE,CAAC,KAAK,cAAc,SAAS,CAAC,KAAK,WAAW,SAAS,CAAC,KAAK,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,GAAGL,EAAEC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAID,EAAEC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,aAAa,KAAK,YAAY,WAAWD,EAAE,KAAK,YAAY,UAAUA,EAAE,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK,CAAC,SAASA,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,SAASA,EAAE,KAAK,QAAQ,KAAK,SAAS,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,eAAe,KAAK,aAAa,KAAK,aAAa,KAAK,aAAa,KAAK,SAAS,EAAE,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,UAAU,CAAC,EAAE,KAAK,OAAO,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,UAAU,CAAC,EAAE,KAAK,QAAQ,MAAM,CAAC,KAAK,OAAO,EAAE,IAAI,EAAE,CAAC,IAAMC,EAAED,GAAG,KAAK,MAAMA,GAAG,KAAK,KAAKA,EAAE,KAAK,QAAQ,QAAQ,KAAKC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAOA,EAAE,EAAE,UAAUC,EAAE,CAAC,EAAE,KAAKG,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,QAAQ,SAAS,OAAO,EAAE,KAAK,QAAQ,OAAO,KAAKC,EAAE,CAAC,GAAG,KAAK,QAAQ,KAAK,QAAQC,EAAE,WAAWC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAaC,EAAE,CAAC,EAAE,SAASC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,KAAK,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,OAAO,QAAQ,CAAC,SAASV,EAAE,CAAC,EAAE,UAAU,CAAC,SAAS,QAAQ,MAAM,CAAC,SAASA,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,IAAIE,EAAE,GAAa,OAAOF,GAAjB,SAAmB,EAAE,SAAS,cAAcA,EAAE,CAAQA,GAAN,MAAeA,EAAE,WAAY,EAAEA,GAAGE,EAAE,CAAC,GAAG,KAAK,QAAQ,UAAU,EAAO,CAAC,IAAMF,EAAE,KAAK,QAAQ,QAAQ,uBAAuB,CAAC,GAAG,KAAK,aAAaA,EAAE,KAAKA,EAAE,IAAI,IAAMK,EAAEH,EAAE,uBAAuB,CAAC,GAAG,KAAK,aAAaG,EAAE,KAAKA,EAAE,KAAK,KAAK,gBAAgB,GAAa,OAAOL,GAAjB,SAAmB,CAAC,GAAG,GAAGC,EAAE,EAAE,KAAK,MAAMD,EAAE,CAAC,KAAK,QAAQ,SAASS,IAAI,KAAK,aAAa,KAAK,eAAe,KAAK,QAAQ,EAAEV,GAAM,EAAEC,EAAE,KAAK,MAAM,CAACE,EAAE,MAAO,MAAK,eAAe,KAAK,aAAaF,EAAE,KAAK,UAAU,KAAK,OAAO,CAAC,KAAK,OAAO,CAAC,KAAWQ,GAAN,MAASA,EAAE,KAAK,EAAE,IAAI,KAAK,eAAeC,IAAI,KAAK,aAAaT,GAAG,KAAK,QAAQ,OAAO,KAAK,eAAeA,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAKM,EAAE,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,KAAK,YAAY,SAAeC,IAAK,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,YAAY,SAAS,KAAK,aAAa,KAAK,SAAS,KAAK,SAASP,EAAE,KAAK,eAAe,KAAK,UAAU,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK,eAAeA,EAAE,KAAK,UAAU,KAAK,OAAO,CAACS,IAAI,KAAK,aAAaT,GAAGC,GAAG,KAAK,KAAK,CAAC,SAASS,EAAE,CAAC,CAACT,IAAI,KAAK,OAAO,CAAC,KAAK,KAAK,CAAC,SAASS,EAAE,CAAC,CAAOF,IAAK,KAAK,CAAC,KAAK,+BAA+B,CAAC,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,KAAK,QAAQ,UAAU,EAAO,SAAS,gBAAgB,KAAK,QAAQ,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,gCAAgC,KAAK,aAAa,KAAK,YAAY,YAAY,KAAK,YAAY,YAAY,KAAK,YAAY,aAAa,KAAK,YAAY,aAAa,KAAK,WAAW,MAAM,KAAK,aAAa,IAAI,KAAK,IAAI,cAAc,CAAC,OAAqB,KAAK,QAAQ,cAA5B,aAAwC,IAAI,cAAc,CAAC,OAAO,KAAK,aAAa,KAAK,YAAY,WAAW,KAAK,YAAY,UAAU,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,SAAS,SAAgB,EAAE,EAAE,CAAC,OAAOR,EAAEC,EAAEA,GAAGA,GAAG,KAAK,eAAe,KAAK,MAAM,CAAC,KAAK,eAAe,IAAI,UAAU,CAAC,OAAW,KAAK,QAAT,EAAe,EAAE,KAAK,OAAO,KAAK,MAAM,IAAI,aAAa,CAAC,OAAO,KAAK,cAAc,IAAI,YAAY,EAAE,CAAC,KAAK,gBAAgBD,IAAI,KAAK,cAAcA,EAAE,KAAK,iBAAiB,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,YAAY,IAAI,UAAU,EAAE,CAAC,KAAK,cAAcA,IAAI,KAAK,YAAYA,EAAE,KAAK,iBAAiB,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,WAAW,IAAI,SAAS,EAAE,CAAC,KAAK,aAAaA,IAAI,KAAK,WAAWA,EAAE,KAAK,iBAAiB,EAAE,IAAI,UAAU,CAAC,OAAiB,KAAK,cAAhB,SAA4B,IAAI,WAAW,CAAC,IAAIA,EAAE,QAAQ,OAAO,KAAK,YAAY,GAAG,kBAAkB,KAAK,WAAW,GAAG,iBAAiB,KAAK,cAAc,GAAG,oBAA+B,KAAK,cAAhB,WAA8B,GAAG,iBAAiBA,EAAE,iBAAiB,CAAC,KAAK,kBAAkB,CAAC,KAAK,YAAY,UAAU,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,YAAY,MAAM,CAAC,kBAAkB,CAAC,KAAK,YAAY,UAAU,KAAK,YAAY,UAAU,QAAQ,gBAAgB,GAAG,CAAC,MAAM,MCA5/W,SAAS,GAAsB,EAAM,CAAC,GAAK,CAAC,aAAW,EAAY,EAAMmB,EAAO,KAAK,CAQu0C,OARt0C,MAAc,CAAC,GAAG,EAAM,QAAS,GAAG,CAAC,EAAM,QAAQ,SAAS,EAAE,CAAC,UAAU,GAAK,CAAC,OAAQ,EAAM,CAAC,QAAQ,MAAM,0BAA0B,EAAM,GAAK,CAAC,EAAM,CAAC,CACnZ,MAAc,CAAC,IAAM,MAAuB,CAAC,GAAG,CAAC,IAAM,EAAkB,SAAS,cAAc,+BAA+B,CAAO,EAAY,SAAS,gBAAsB,EAAkB,GAAa,EAAY,OAAO,EAAY,MAAM,WAAW,SAAY,EAAM,UAAY,GAAmB,EAAmB,EAAM,QAAQ,MAAM,CAAO,EAAM,QAAQ,OAAO,QAAU,EAAM,CAAC,QAAQ,MAAM,+BAA+B,EAAM,GACxb,GAAoB,CACpB,IAAI,EAAuB,EAAkB,GAAG,CAAC,EAAmB,IAAI,iBAAiB,EAAmB,CAAC,EAAkB,IAAI,iBAAiB,EAAmB,CACpK,UAAU,SAAS,kBAAiB,EAAmB,QAAQ,SAAS,gBAAgB,CAAC,UAAU,GAAK,QAAQ,GAAK,WAAW,GAAK,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,CACxL,EAAkB,QAAQ,SAAS,gBAAgB,CAAC,WAAW,GAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,QAAS,EAAM,CAAC,QAAQ,MAAM,8BAA8B,EAAM,CAAE,UAAU,CAAC,GAAG,CAAI,GAAmB,EAAmB,YAAY,CAAI,GAAkB,EAAkB,YAAY,OAAQ,EAAM,CAAC,QAAQ,MAAM,iCAAiC,EAAM,IAAM,EAAE,CAAC,CAAC,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,OAAO,IAAM,EAAY,SAAS,qBAAqB,IAAI,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAY,OAAO,IAAI,CAAC,IAAM,EAAQ,EAAYA,GAAO,KAAiB,GAAG,CAAC,IAAM,EAAc,EAAO,iBAAiB,EAAQ,CAAI,GAAe,EAAc,iBAAiB,WAAW,GAAG,QAAQ,EAAQ,aAAa,qBAAqB,OAAO,OAAS,EAAW,CAAC,QAAQ,MAAM,gCAAgC,EAAW,SAAU,EAAM,CAAC,QAAQ,MAAM,+BAA+B,EAAM,GAAI,EAAE,CAAC,CAAC,MAAc,CAAC,GAAG,CAAC,GAAG,OAAO,IAAQ,WAAW,CAAC,QAAQ,MAAM,yBAAyB,CAAC,OAAQ,EAAM,QAAQ,IAAI,GAAM,CAAC,UAAU,GAAW,IAAI,GAAG,CAAC,CAAC,IAAM,EAAI,GAAM,CAAC,GAAG,EAAM,QAAS,GAAG,CAAC,EAAM,QAAQ,IAAI,EAAK,CAAC,sBAAsB,EAAI,OAAQ,EAAM,CAAC,QAAQ,MAAM,4BAA4B,EAAM,GAAW,EAAY,sBAAsB,EAAI,CAAC,UAAU,CAAmC,GAAlC,qBAAqB,EAAY,CAAI,EAAM,QAAS,GAAG,CAAC,EAAM,QAAQ,SAAS,CAAC,EAAM,QAAQ,WAAY,EAAM,CAAC,QAAQ,MAAM,0BAA0B,EAAM,SAAY,EAAM,CAAkD,OAAjD,QAAQ,MAAM,4BAA4B,EAAM,KAAW,KAAM,CAAC,EAAU,CAAC,CACp9C,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAM,QAAQ,OAChD,IAAM,EAAgB,MAAM,KAAK,SAAS,iBAAiB,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,GAAS,CAAC,GAAG,CAAC,EAAQ,MAAO,GAAM,IAAM,EAAO,EAAQ,GAAG,CAAC,EAAO,KAAK,MAAO,GACjK,IAAM,EAAe,EAAO,KAAK,WAAW,EAAO,SAAS,OAAO,EAAE,EAAO,KAAK,WAAW,KAAK,EAAE,EAAO,KAAK,WAAW,IAAI,CAAO,EAAQ,EAAO,KAAK,SAAS,IAAI,CAAC,OAAO,GAAgB,GAAU,CAAC,IAAI,GAAQ,CAAC,GAAG,CAAC,IAAM,EAAc,EAAa,EAAK,EAAc,KAAK,SAAS,IAAI,CAAC,IAAI,EAAc,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,GAAS,EAAY,EAAK,mBAAmB,EAAK,CAAC,GAAO,EAAa,EAAE,GAAG,CAAC,GAAG,EAAY,CAAC,IAAM,EAAc,SAAS,cAAc,EAAY,CAAC,GAAG,EAAc,CAAC,IAAM,EAAY,EAAO,iBAAiB,EAAc,CAAC,gBAAgB,EAAa,GAAY,SAAS,EAAY,EAAI,UAAW,EAAY,CAAC,QAAQ,MAAM,gCAAgC,EAAY,CAAE,MAAM,CAAC,OAAK,eAA2B,gBAAc,OAAQ,EAAY,CAAuD,OAAtD,QAAQ,MAAM,2BAA2B,EAAY,CAAQ,OAAQ,CAAC,OAAO,QAAQ,CAAO,GAAa,EAAE,EAAK,IAAe,CAAC,GAAG,CAAIC,GAAGA,EAAE,gBAAe,EAAE,gBAAgB,CAAI,EAAM,SAAS,GAAM,EAAM,QAAQ,SAAS,EAAK,CAAC,OAAO,EAAE,GAAc,GAAG,CAAC,OAAS,EAAM,CAAC,QAAQ,MAAM,iCAAiC,EAAM,GAAU,EAAS,EAAgB,KAAK,CAAC,OAAK,kBAAgB,GAAG,EAAYA,EAAE,EAAK,EAAa,CAAC,CAAkJ,OAAjJ,EAAgB,SAAS,CAAC,iBAAe,IAAQ,CAAI,GAAe,EAAS,IAAQ,EAAc,iBAAiB,QAAQ,EAAS,GAAO,EAAI,KAAW,CAAC,EAAgB,SAAS,CAAC,iBAAe,IAAQ,CAAI,GAAe,EAAS,IAAQ,EAAc,oBAAoB,QAAQ,EAAS,GAAO,EAAI,QAAU,EAAM,CAAuD,OAAtD,QAAQ,MAAM,iCAAiC,EAAM,KAAW,KAAM,CAAC,EAAM,CAAC,CAAqB,EAAK,MAAM,CAAC,MAAM,EAAM,MAAM,CAAC,6BARxkD,IAA4D,KAAyB,IAAoC,CAa3J,GAAa,GAAQ,GAAsB,CAAC,+BAA+B,4DAA4D,6EAA6E,6CAA6C,0DAA0D,CAAC,GAAG,IAAgB,GAAa,GAAa,YAAY,gBAAgB,EAAoB,GAAa,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,YAAY,qEAAqE,CAAC,CAAC,2BCZhjB,GAAU,UAAU,EAAE,CAAC,CAAcC,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,CAAcC,GAAI,CAAC,6TAA6T,CAAcC,GAAU,yCCAlb,GAAU,UAAU,CAAC,wBAAwB,wBAAwB,CAAC,CAAcC,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,iBAAiB,SAAS,GAAK,OAAO,SAAS,MAAM,SAAS,aAAa,iBAAiB,IAAI,4GAA4G,OAAO,MAAM,CAAC,CAAC,cAAc,iBAAiB,SAAS,GAAK,OAAO,SAAS,MAAM,SAAS,aAAa,iBAAiB,IAAI,4GAA4G,OAAO,MAAM,CAAC,CAAC,CAAC,CAAcC,GAAI,CAAC,qzBAAuzB,y2BAA22B,CAAcC,GAAU,+CCA1wE,IAAsE,IAA4B,CAA8DC,GAAK,msFAA2sFC,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOC,IAAU,CAAC,OAAK,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qEAAqE,EASrxGC,GAAK,GATgzG,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAWD,GAAS,EAAM,CAAC,OAAoB,EAAKD,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAeG,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiCJ,GAAK,6DAA6DA,GAAK,kBAAkB,CAS3qH,eAAe,CAAC,GAAK,YAAY,YAAwBG,GAAK,EAAoBA,GAAK,CAAC,UAAU,CAAC,aAAa,6FAA6F,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,CAAC,iCCTzP,IAAsE,IAA4B,CAA8DE,GAAK,oeAA4eC,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOC,IAAU,CAAC,OAAK,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qEAAqE,EAStjCC,GAAK,GATilC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAWD,GAAS,EAAM,CAAC,OAAoB,EAAKD,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAeG,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiCJ,GAAK,6DAA6DA,GAAK,kBAAkB,CAS58C,eAAe,CAAC,GAAK,YAAY,UAAsBG,GAAK,EAAoBA,GAAK,CAAC,UAAU,CAAC,aAAa,6FAA6F,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,CAAC,iCCTvP,IAAsE,IAA4B,CAA8DE,GAAK,0vBAAkwBC,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOC,IAAU,CAAC,OAAK,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qEAAqE,EAS50CC,GAAK,GATu2C,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAWD,GAAS,EAAM,CAAC,OAAoB,EAAKD,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAeG,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiCJ,GAAK,6DAA6DA,GAAK,kBAAkB,CASluD,eAAe,CAAC,GAAK,YAAY,WAAuBG,GAAK,EAAoBA,GAAK,CAAC,UAAU,CAAC,aAAa,6FAA6F,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,CAAC,ICT+2D,SAAS,GAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,EAAE,CAAsF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,GAAS,CAAC,CAAQ,4FAA3uE,IAA6S,IAAkF,IAA4B,KAAsI,KAA0H,KAA0H,KAA0H,KAAyH,KAA0H,KAAiH,KAAqH,KAA+G,KAAgH,KAAiH,CAAM,GAAY,EAASE,GAAO,CAAO,GAAgB,GAAO,EAAO,IAAI,CAAOC,GAAY,EAASC,GAAO,CAAO,GAAW,EAAS,GAAM,CAAO,GAAmB,GAAO,EAAO,OAAO,CAAO,GAAW,CAAC,YAAY,YAAY,YAAY,CAAOC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,CAA8L,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAO,GAAY,CAAC,OAAO,GAAG,MAAM,IAAI,SAAS,EAAE,KAAK,SAAS,CAAO,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAY,EAAE,EAAE,EAAE,EAAE,CAAO,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,SAAS,CAAOC,IAAc,GAAG,IAAO,CAAC,IAAI,IAAM,KAAO,EAAM,GAAG,GAAK,OAAO,GAAM,SAAS,OAAO,GAA8B,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAY,EAAE,EAAE,EAAE,EAAE,CAAO,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAY,EAAE,EAAE,EAAE,EAAE,CAAO,IAAS,CAAC,WAAS,yBAAuB,iBAAe,UAAQ,MAAQ,CAAC,GAAK,CAAC,EAAQ,GAAY,GAAgB,CAAC,yBAAuB,eAAe,GAAS,EAAe,CAAC,CAAC,OAAO,EAAS,CAAC,SAAS,EAAW,GAAM,CAAC,SAAS,EAAW,GAAK,CAAC,WAAW,EAAW,CAAC,EAAQ,CAAC,QAAQ,GAAS,EAAQ,CAAC,EAAS,IAAoB,EAAE,IAAI,yBAAyBC,IAAU,IAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,EAAiB,EAAoB,CAAO,EAAW,GAAO,EAAO,WAAiB,EAAaC,OAAmB,CAAC,GAAG,EAAO,aAAW,EAAE,CAAC,KAAK,UAAU,EAAW,CAAC,CAAC,CAAC,OAAoB,EAAK,EAAoB,SAAS,CAAC,MAAM,EAAsB,WAAS,CAAC,EAASC,GAAwB,CAAC,eAAe,YAAY,cAAc,YAAY,QAAQ,YAAY,CAAO,GAAS,EAAO,OAAOC,EAAe,CAAOC,IAAU,CAAC,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,QAAQF,GAAwB,EAAM,UAAU,EAAM,SAAS,YAAY,EAAS,IAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,IAAI,CAAC,EAAM,iBAAwB,EAAS,KAAK,IAAI,CAUhlI,GAAgB,GAVgmI,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYG,EAAO,KAAK,CAAO,EAAW,GAAK,EAAkB,EAAgBC,GAAa,CAAM,CAAC,eAAa,aAAW,IAAe,CAAO,EAAkB,IAAsB,CAAM,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,GAAG,GAAWF,GAAS,EAAM,CAAM,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,YAAU,GAAgB,CAAC,cAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,GAAkB,CAAC,CAAO,EAAiB,GAAuB,EAAM,EAAS,CAAM,CAAC,wBAAsB,SAAO,GAAyB,EAAY,CAAO,GAAgB,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,YAAY,EAAG,CAAO,GAAgB,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,YAAY,EAAG,CAAO,GAAqB,CAAC,aAAW,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAQ,MAAM,EAAG,CAAO,GAAY,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,YAAY,EAAG,CAAuJ,EAAkB,EAAGR,GAA9IW,GAAsBC,GAAuBC,GAAuBC,GAAuBC,GAA8F,CAAO,OAAiB,EAAG,CAAC,YAAY,YAAY,CAAC,SAAS,EAAY,CAAkC,OAAqB,IAAc,YAA6C,EAAKC,EAAa,KAAK,CAAO,GAAKA,EAAa,KAAK,CAAO,MAAqB,IAAc,YAAuC,OAAoB,EAAK,EAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAK,GAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAK,GAAW,CAAC,MAAM,GAAY,SAAsB,EAAM,GAAmB,CAAC,GAAG,EAAU,GAAG,EAAgB,kBAAkB,CAAC,WAAW,GAAY,CAAC,sBAAsB,GAAK,gBAAgB,GAAU,eAAe,GAAW,mCAAmC,GAAK,oBAAoB,GAAG,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,UAAU,EAAG,EAAkB,gBAAgBC,EAAU,EAAW,CAAC,cAAc,GAAK,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,yEAAyE,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,gBAAgB,wEAAwE,GAAG,EAAM,CAAC,GAAG,GAAqB,CAAC,UAAU,CAAC,mBAAmB,eAAe,CAAC,UAAU,CAAC,mBAAmB,cAAc,CAAC,CAAC,EAAY,EAAe,CAAC,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,SAAsB,EAAMC,EAAI,CAAC,UAAU,iBAAiB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,qzGAAqzG,mBAAmB,GAAK,SAAS,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,oNAAoN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,oNAAoN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,oNAAoN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,oNAAoN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,qRAAqR,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,qqBAAqqB,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,6mBAA6mB,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,uNAAuN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,onBAAonB,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,uNAAuN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,6mBAA6mB,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,uNAAuN,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,6mBAA6mB,mBAAmB,GAAK,CAAC,CAAc,EAAKA,EAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,wBAAwB,GAAM,IAAI,uNAAuN,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAa,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,MAAuB,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,GAAG,GAAqB,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,KAAK,GAAmB,QAAQ,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,KAAK,GAAmB,QAAQ,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAK,GAA8B,CAAC,UAAU,2BAA4C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKrB,GAAO,CAAC,UAAU,GAAK,UAAU,GAAG,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,GAAG,UAAUE,GAAO,UAAU,QAAQ,UAAU,4CAA4C,QAAQG,GAAa,YAAY,CAAC,MAAM,OAAO,UAAU,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,GAAG,GAAqB,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,KAAK,GAAmB,QAAQ,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,KAAK,GAAmB,QAAQ,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKL,GAAO,CAAC,UAAU,GAAK,UAAU,GAAG,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,GAAG,UAAUsB,GAAK,UAAU,GAAG,QAAQjB,GAAa,YAAY,CAAC,MAAM,OAAO,UAAU,GAAM,GAAG,GAAqB,CAAC,UAAU,CAAC,UAAU,GAAgB,CAAC,UAAU,CAAC,UAAU,GAAgB,UAAUkB,GAAM,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAc,EAAe,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,iBAAkC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKC,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,oCAAoC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,GAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,oCAAoC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAc,EAAK,GAAQ,CAAC,uBAAuB,GAAM,eAAe,GAAM,SAAS,GAAsB,EAAMe,EAAU,CAAC,SAAS,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,eAAe,iBAAiB,GAAK,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAS,QAAyB,mBAAiB,SAAS,YAAY,aAAa,EAAoB,CAAC,UAAQ,CAAC,CAAC,IAAI,EAAK,MAAM,CAAC,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,GAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAc,EAAK,EAAgB,CAAC,SAAS,EAAQ,SAAsB,EAAK,GAAS,CAAC,UAAU,SAAS,UAAU,EAAK,UAAU,EAAG,EAAkB,EAAW,CAAC,mBAAmB,GAAM,wBAAwB,GAAG,EAAS,QAAQ,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAQ,KAAK,UAAU,SAAS,SAAS,GAAK,OAAO,GAAG,GAAG,GAAqB,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAM,GAAgB,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,GAAW,UAAU,iBAAiB,cAAc,GAAK,mBAAmB,OAAO,KAAK,GAAW,QAAQ,GAA2B,mBAAiB,SAAS,YAAY,IAAI,GAAK,KAAK,SAAS,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,qBAAqB,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,gBAAgB,qBAAqB,CAAC,SAAS,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,MAAM,CAAC,6BAA6B,MAAM,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,MAAM,CAAC,6BAA6B,MAAM,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,MAAM,CAAC,6BAA6B,MAAM,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,kBAAkB,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,GAAqB,CAAC,UAAU,CAAC,iBAAiB,GAAK,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,kBAAkB,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAY,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,GAAqB,CAAC,UAAU,CAAC,iBAAiB,GAAK,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAY,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,GAAqB,CAAC,UAAU,CAAC,iBAAiB,GAAK,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,EAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAY,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,MAAuB,mBAAiB,SAAS,YAAY,SAAS,CAAC,GAAc,EAAe,EAAK,GAAK,CAAC,KAAK,4CAA4C,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAM,EAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,eAAgC,mBAAiB,SAAS,YAAY,SAAsB,EAAKR,GAAO,CAAC,SAAS,GAAK,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,qEAAqE,CAAC,kBAAkB,GAAmB,CAAC,CAAC,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,kBAAmC,mBAAiB,SAAS,YAAY,SAAsB,EAAKsB,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,mBAAmB,UAAU,MAAM,CAAC,QAAQ,CAAkB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAA8B,CAAC,UAAU,0BAA0B,gCAAgC,SAAS,iBAAiB,GAAsB,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,GAAM,CAAC,OAAO,CAAC,uEAAuE,uEAAuE,kEAAkE,sEAAsE,wEAAwE,uEAAuE,CAAC,QAAQ,IAAI,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,GAAG,GAAmB,GAAG,IAAI,IAAI,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,GAAqB,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,KAAK,GAAmB,QAAQ,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAK,GAA8B,CAAC,UAAU,2BAA4C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKV,GAAO,CAAC,UAAU,GAAM,UAAU,UAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,GAAG,UAAU0B,GAAW,UAAU,GAAG,UAAU,+BAA+B,QAAQrB,GAAa,YAAY,CAAC,MAAM,OAAO,UAAU,GAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,GAAG,GAAmB,GAAG,IAAI,IAAI,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,GAAqB,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,KAAK,GAAmB,QAAQ,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAY,EAAe,CAAC,SAAsB,EAAK,GAA8B,CAAC,UAAU,yBAA0C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKL,GAAO,CAAC,UAAU,GAAM,UAAU,UAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,IAAI,UAAU0B,GAAW,UAAU,GAAG,UAAU,+BAA+B,QAAQrB,GAAa,YAAY,CAAC,MAAM,OAAO,UAAU,GAAM,GAAG,GAAqB,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQA,GAAa,YAAY,CAAC,CAAC,CAAC,EAAY,EAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,CAAC,CAAC,GAAc,EAAe,EAAK,GAAgB,CAAC,kBAAkB,CAAC,WAAW,GAAY,CAAC,sBAAsB,GAAM,0BAA0B,CAAC,UAAU,OAAO,OAAO,GAAU,CAAC,mCAAmC,GAAK,oBAAoB,EAAE,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,UAAU,gBAAgB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,wEAAwE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,kFAAkF,gRAAgR,+SAA+S,qSAAqS,0SAA0S,oFAAoF,sGAAsG,sGAAsG,uGAAuG,uGAAuG,yGAAyG,yGAAyG,yGAAyG,uGAAuG,wGAAwG,uGAAuG,yGAAyG,uGAAuG,0GAA0G,uGAAuG,+SAA+S,iOAAiO,gRAAgR,+QAA+Q,wQAAwQ,yPAAyP,gRAAgR,sUAAsU,mRAAmR,yLAAyL,8KAA8K,4SAA4S,uIAAuI,uXAAuX,+KAA+K,iKAAiK,8KAA8K,0HAA0H,iHAAiH,6KAA6K,kKAAkK,8LAA8L,+HAA+H,GAAGsB,GAAgB,GAAGC,GAAiB,GAAGC,GAAiB,GAAGC,GAAiB,GAAGC,GAAiB,udAAud,CAU1i1C,eAAe,IAAgB,GAAgB,GAAgB,YAAY,MAAM,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,KAAK,CAAC,EAAoB,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,CAAC,aAAa,CAAC,UAAU,cAAc,eAAe,CAAC,MAAM,UAAU,KAAK,EAAY,KAAK,CAAC,CAAC,CAAC,GAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,GAAY,GAAG9B,GAAY,GAAG,GAAW,GAAG,GAAwB+B,GAAkB,CAAC,GAAG,GAAwBC,GAAmB,CAAC,GAAG,GAAwBC,GAAmB,CAAC,GAAG,GAAwBC,GAAmB,CAAC,GAAG,GAAwBC,GAAmB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,CAAC,GAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,GAAcpC,GAAO,EAAE,CAAC,EAAQ,CAAC,CAAC,EAAG,ICN+pB,SAAS,IAAc,CAAC,IAAMqC,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAQC,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAQ,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAQC,EAAE,WAAW,KAAK,QAAQ,CAAC,EAA2O,OAAjOC,GAAG,IAAIH,GAAGG,GAAGH,GAAG,EAAE,KAAKG,GAAGH,GAAG,GAAG,KAAKG,GAAGH,GAAG,GAAG,KAAK,IAAIG,GAAG,IAAIF,GAAGE,GAAGF,GAAG,EAAE,KAAK,IAAIE,GAAGF,GAAG,GAAG,GAAG,IAAIE,GAAGF,GAAG,GAAG,KAAK,IAAIE,GAAG,GAAG,EAAE,KAAKA,GAAG,GAAG,EAAE,KAAK,IAAIA,GAAG,GAAG,GAAG,KAAKA,GAAG,GAAG,GAAG,KAAKA,GAAG,IAAID,GAAGC,GAAGD,GAAG,EAAE,KAAKC,GAAGD,GAAG,GAAG,KAAKC,GAAGD,GAAG,GAAG,MAAc,aAAa,CAAC,SAAS,GAAM,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAID,EAAE,KAAK,IAAI,EAAED,EAAE,CAAC,CAAC,SAAS,GAAgB,EAAE,EAAE,CAAC,OAAOA,EAAEC,EAAEA,GAAGA,EAAE,SAAS,GAAU,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOC,GAAGF,EAAEC,IAAIG,EAAEF,IAAI,EAAED,GAAG,SAAS,GAAY,EAAE,EAAE,EAAE,CAAC,OAAOD,IAAIC,EAAc,GAAX,EAAED,IAAIC,EAAED,GAAK,SAAS,GAAK,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,GAAGA,EAAE,EAAEC,EAAE,SAAS,GAAK,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAKD,EAAEC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAEC,EAAE,CAAC,CAAC,SAAS,GAAS,EAAE,EAAE,EAAE,CAAC,OAAOD,EAAE,KAAK,IAAI,GAAgBD,EAAE,EAAEC,EAAE,CAACA,EAAE,CAAC,SAAS,GAAW,EAAE,EAAE,EAAE,CAAiD,OAA7CD,GAAGC,EAAS,EAAKD,GAAG,EAAS,GAAE,GAAGA,EAAEC,IAAI,EAAEA,GAAUD,EAAEA,GAAG,EAAE,EAAEA,IAAG,SAAS,GAAa,EAAE,EAAE,EAAE,CAAiD,OAA7CA,GAAGC,EAAS,EAAKD,GAAG,EAAS,GAAE,GAAGA,EAAEC,IAAI,EAAEA,GAAUD,EAAEA,EAAEA,GAAGA,GAAG,EAAEA,EAAE,IAAI,KAAI,SAAS,GAAQ,EAAE,EAAE,CAAC,OAAOA,EAAE,KAAK,MAAM,KAAK,QAAQ,EAAEC,EAAED,EAAE,GAAG,CAAC,SAAS,GAAU,EAAE,EAAE,CAAC,OAAOA,EAAE,KAAK,QAAQ,EAAEC,EAAED,GAAG,SAAS,GAAgB,EAAE,CAAC,OAAOA,GAAG,GAAG,KAAK,QAAQ,EAAE,SAAS,GAAa,EAAE,CAAsD,OAA5CA,IAAT,IAAK,KAAQ,GAAGA,EAAE,YAAY,GAAG,MAAMK,GAAG,YAAkBA,GAAG,GAAG,WAAW,SAAS,GAAS,EAAE,CAAC,OAAOL,EAAEM,GAAG,SAAS,GAAS,EAAE,CAAC,OAAON,EAAEO,GAAG,SAAS,GAAa,EAAE,CAAC,OAAYP,EAAEA,EAAE,IAAT,GAAiBA,IAAJ,EAAM,SAAS,GAAe,EAAE,CAAC,MAAgB,IAAE,KAAK,KAAK,KAAK,IAAIA,EAAE,CAAC,KAAK,IAAI,CAAE,SAAS,GAAgB,EAAE,CAAC,MAAgB,IAAE,KAAK,MAAM,KAAK,IAAIA,EAAE,CAAC,KAAK,IAAI,CAAE,SAAS,GAA6B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMQ,EAAE,KAAK,IAAU,EAAE,KAAK,IAAU,EAAEA,EAAE,EAAE,EAAE,CAAOC,EAAE,EAAE,EAAE,EAAE,CAAOC,EAAEF,GAAGP,EAAEC,GAAG,EAAE,CAAOS,EAAE,GAAGV,EAAEC,GAAG,EAAE,CAAOU,EAAEJ,GAAGP,EAAEC,GAAG,EAAE,CAAOW,EAAE,GAAGZ,EAAEC,GAAG,EAAE,CAAOY,EAAEN,GAAGN,EAAED,GAAG,EAAE,CAAOc,EAAE,GAAGb,EAAED,GAAG,EAAE,CAAC,OAAOG,EAAP,CAAU,IAAI,MAAM,EAAE,IAAI,EAAEO,EAAEF,EAAEG,EAAEH,EAAEI,EAAE,EAAEH,EAAE,CAAC,MAAM,IAAI,MAAM,EAAE,IAAID,EAAEI,EAAE,EAAEF,EAAEF,EAAEG,EAAE,EAAEF,EAAE,CAAC,MAAM,IAAI,MAAM,EAAE,IAAID,EAAEG,EAAEH,EAAEI,EAAE,EAAEF,EAAE,EAAED,EAAE,CAAC,MAAM,IAAI,MAAM,EAAE,IAAI,EAAEC,EAAEF,EAAEM,EAAEN,EAAEK,EAAE,EAAEJ,EAAE,CAAC,MAAM,IAAI,MAAM,EAAE,IAAID,EAAEK,EAAE,EAAEH,EAAEF,EAAEM,EAAE,EAAEL,EAAE,CAAC,MAAM,IAAI,MAAM,EAAE,IAAID,EAAEM,EAAEN,EAAEK,EAAE,EAAEH,EAAE,EAAED,EAAE,CAAC,MAAM,QAAQ,QAAQ,KAAK,kFAAkFN,EAAE,EAAy5O,SAAS,GAAS,EAAE,CAAC,GAAOJ,EAAE,SAAN,EAAa,MAAM,KAAU,IAAIC,EAAED,EAAE,GAAG,IAAI,IAAI,EAAE,EAAEE,EAAEF,EAAE,OAAO,EAAEE,EAAE,EAAE,EAAE,EAAE,GAAGD,IAAI,EAAED,EAAE,IAAI,OAAOC,EAA2R,SAAS,GAAgB,EAAE,CAAC,OAAO,SAAS,gBAAgB,+BAA+BD,EAAE,CAAu4H,SAAS,GAAe,EAAE,CAA8Z,OAA5Y,OAAO,iBAArB,KAAuCA,aAAa,kBAAgC,OAAO,kBAArB,KAAwCA,aAAa,mBAAiC,OAAO,YAArB,KAAkCA,aAAa,YAAmB,GAAW,WAAWA,EAAE,CAAIA,EAAE,KAAW,CAAC,KAAK,MAAM,UAAU,MAAM,KAAKA,EAAE,KAAK,CAAC,MAAMA,EAAE,MAAM,OAAOA,EAAE,OAAO,KAAKA,EAAE,KAAK,YAAY,KAAK,EAAC,QAAQ,KAAK,8CAA8C,CAAO,EAAE,EAAw22B,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIQ,EAAE,EAAE,EAAER,EAAE,OAAO,EAAEQ,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,UAAUR,EAAEQ,EAAE,CAAC,IAAMQ,EAAEZ,EAAE,EAAE,KAAK,IAAIa,GAAG,EAAE,CAACb,EAAE,EAAE,KAAK,IAAIa,GAAG,EAAE,CAACb,EAAE,EAAE,KAAK,IAAIa,GAAG,EAAE,CAAO,EAAEhB,EAAE,IAAIgB,GAAG,CAAOR,EAAE,EAAE,IAAIQ,GAAG,CAAOP,EAAER,EAAE,IAAIe,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,IAAI,EAAER,EAAEC,EAAE,CAAC,KAAK,IAAI,EAAED,EAAEC,EAAE,CAAC,CAACM,EAAE,MAAO,GAAM,MAAO,GAA2g1C,SAAS,GAAQ,EAAE,EAAE,EAAE,CAAyB,OAAxB,EAAE,IAAI,GAAG,GAAG,EAAE,GAAI,IAAa,EAAE,EAAE,EAAEhB,EAAE,GAAGC,EAAED,GAAG,EAAE,EAAE,GAAGC,EAAE,EAAE,EAAE,EAAED,EAAE,GAAGC,EAAED,IAAI,EAAE,EAAE,GAAGA,EAAE,SAAS,GAAa,EAAE,CAAC,OAAOA,EAAE,OAAO,YAAYA,GAAW,YAAYA,EAAE,cAAY,IAAK,SAAS,GAAa,EAAE,CAAC,OAAOA,EAAE,SAAS,MAAMA,EAAE,MAAeA,GAAE,OAAQ,KAA+uxB,SAAS,GAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIS,EAAyF,GAAvF,EAAER,EAAE,OAAO,GAAEC,EAAE,kBAAkB,EAAEM,EAAEJ,EAAE,GAAK,EAAE,CAACF,EAAE,kBAAkBE,EAAEI,EAAE,EAAEP,EAAE,OAAOa,GAAE,EAAE,CAAWL,IAAP,KAAS,OAAO,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,aAAaT,EAAE,YAAY,CAAC,IAAMU,EAAE,EAAE,IAAI,OAAO,WAAWQ,GAAG,CAAC,OAAOR,EAAE,EAAE,MAAMA,EAAE,EAAE,IAAI,KAAK,CAAC,SAASA,EAAE,MAAMQ,GAAG,OAAO,CAAC,OAAOlB,EAAE,CAAC,SAAS,GAAgC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,oBAAoBI,EAAEM,EAAE,CAAC,GAAG,oBAAoBN,EAAEO,EAAE,CAAC,GAAG,oBAAoBP,EAAEQ,EAAE,CAAC,IAAMC,EAAEb,EAAE,sBAAsB,GAAGQ,GAAGK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIb,EAAE,EAAEC,EAAEO,EAAE,OAAOR,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEY,EAAEb,GAASmB,EAAEX,EAAER,GAAUC,IAAJ,IAAO,GAAG,oBAAoBkB,EAAET,EAAE,CAAC,GAAG,oBAAoBS,EAAER,EAAE,CAAC,GAAG,oBAAoBQ,EAAEP,EAAE,CAAI,GAAG,GAAG,gBAAgBQ,GAAGnB,EAAE,CAAC,GAAG,gBAAgBoB,GAAGpB,EAAE,CAAC,GAAG,gBAAgBqB,GAAGrB,EAAE,GAAM,GAAG,gBAAgBmB,GAAG,IAAIG,GAAG,CAACtB,EAAE,CAAC,GAAG,gBAAgBoB,GAAG,IAAIG,GAAG,CAACvB,EAAE,CAAC,GAAG,gBAAgBqB,GAAG,IAAIG,GAAG,CAACxB,EAAE,GAAG,GAAG,IAAIyB,GAAG,CAAC,GAAG,IAAIC,GAAG,CAAC,GAAG,IAAIC,GAAG,CAAI5B,EAAE,gBAAe,EAAE,cAAcU,EAAEa,GAAG,CAAC,EAAE,cAAcZ,EAAEa,GAAG,CAAC,EAAE,cAAcZ,EAAEa,GAAG,EAAC,IAAMX,EAAE,GAAkBd,EAAEC,EAAE,EAAEC,EAAEqB,GAAGC,GAAGC,GAAGI,GAAG,CAAC,GAAGf,EAAE,CAAI,IAAG,GAAG,oBAAoB,EAAEJ,EAAE,CAAC,GAAG,oBAAoB,EAAEC,EAAE,CAAC,GAAG,oBAAoB,EAAEC,EAAE,CAAC,EAAE,GAAG,GAAS,MAAMiB,GAAGN,GAAGC,GAAGC,GAAGK,GAAGC,GAAGC,GAAG,IAAI,EAAQ,EAAIvB,IAAG,GAAG,oBAAoBA,EAAEC,EAAE,CAAC,GAAG,oBAAoBD,EAAEE,EAAE,CAAC,GAAG,oBAAoBF,EAAEG,EAAE,CAAC,EAAE,IAAI,GAAS,MAAMiB,GAAGN,GAAGC,GAAGC,GAAGK,GAAGC,GAAGC,GAAG,IAAI,EAAQ,EAAC,IAAMhC,EAAE,CAAC,EAAEU,EAAE,EAAEC,EAAE,EAAEC,EAAE,OAAO,IAAI,EAAQ,cAAc,EAAE,CAAC,GAAS,UAAUW,GAAGC,GAAGC,GAAGzB,EAAE,OAAO,CAAC,EAAE,KAAKA,EAAE,OAAOc,EAAq5C,SAAS,GAAc,EAAE,CAAC,IAAMb,EAAE,EAAE,CAAC,IAAI,IAAM,KAAKD,EAAW,IAAI,IAAME,IAAlB,GAAE,GAAG,EAAE,CAAgBF,EAAE,GAAG,CAAC,IAAMI,EAAEJ,EAAE,GAAGE,GAAG,IAAIE,EAAE,SAASA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,cAAc,EAAE,GAAGF,GAAGE,EAAE,OAAO,CAAC,MAAM,QAAQA,EAAE,CAAC,EAAE,GAAGF,GAAGE,EAAE,OAAO,CAAC,EAAE,GAAGF,GAAGE,EAAG,OAAOH,EAAE,SAAS,GAAc,EAAE,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAED,EAAE,OAAO,IAAI,CAAC,IAAME,EAAE,GAAcF,EAAE,GAAG,CAAC,IAAI,IAAMA,KAAKE,EAAE,EAAEF,GAAGE,EAAEF,GAAG,OAAOC,EAA+gZ,SAAS,IAAgB,CAAC,IAAID,EAAE,KAASC,EAAE,GAAU,EAAE,KAASC,EAAE,KAAK,SAAS,EAAiB,EAAE,EAAE,CAAC,EAAED,EAAEG,EAAE,CAAC,EAAEJ,EAAE,sBAAsB,EAAiB,CAAC,MAAM,CAAC,MAAM,UAAU,CAAI,KAAOC,GAAU,IAAP,OAAU,EAAED,EAAE,sBAAsB,EAAiB,CAAC,EAAE,KAAO,KAAK,UAAU,CAAC,EAAE,qBAAqBE,EAAE,CAAC,EAAE,IAAO,iBAAiB,SAAS,EAAE,CAAC,EAAEF,GAAG,WAAW,SAAS,EAAE,CAAC,EAAEC,GAAG,CAAC,SAAS,GAAgB,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,SAAeC,EAAE,IAAI,QAAQ,SAAS,EAAa,EAAE,EAAE,CAAC,IAAME,EAAEH,EAAE,MAAYO,EAAEP,EAAE,MAAY,EAAED,EAAE,cAAc,CAAC,EAAE,WAAWE,EAAE,EAAE,CAAC,EAAE,WAAWA,EAAEE,EAAEI,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,EAAE,KAAif,OAA5e,aAAa,aAAa,EAAE,KAAKJ,aAAa,aAAa,QAAQ,KAAK,uEAAuE,CAACA,aAAa,YAAYH,EAAE,yBAAyB,EAAE,EAAE,KAAK,QAAQ,KAAK,0EAA0E,CAAC,EAAE,KAAKG,aAAa,WAAW,EAAE,KAAKA,aAAa,YAAY,EAAE,KAAKA,aAAa,WAAW,EAAE,KAAKA,aAAa,UAAU,EAAE,MAAMA,aAAa,YAAYA,aAAa,qBAAqB,EAAE,MAAY,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgBA,EAAE,kBAAkB,QAAQH,EAAE,QAAQ,CAAC,SAAS,EAAa,EAAE,EAAE,EAAE,CAAC,IAAMO,EAAEN,EAAE,MAAY,EAAEA,EAAE,YAAY,EAAE,WAAWE,EAAEH,EAAE,CAAS,EAAE,QAAP,GAAa,EAAE,cAAcG,EAAE,EAAEI,EAAE,EAAM,EAAER,EAAE,cAAcI,EAAE,EAAE,OAAOI,EAAE,kBAAkBA,EAAE,EAAE,OAAO,EAAE,MAAM,CAACR,EAAE,cAAcI,EAAE,EAAE,OAAOI,EAAE,kBAAkBA,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,EAAI,EAAE,CAA4C,OAA3C,EAAE,+BAA+B,EAAER,EAAE,MAAaE,EAAE,IAAIF,EAAE,CAAC,SAAS,EAAO,EAAE,CAAC,EAAE,+BAA+B,EAAEC,EAAE,MAAM,IAAMkB,EAAEjB,EAAE,IAAID,EAAE,CAAIkB,IAAG,EAAE,aAAaA,EAAE,OAAO,CAAC,EAAE,OAAOlB,EAAE,EAAE,SAAS,EAAO,EAAE,EAAE,CAAC,GAAGD,EAAE,oBAAoB,CAAC,IAAMC,EAAEC,EAAE,IAAIF,EAAE,EAAE,CAACC,GAAGA,EAAE,QAAQD,EAAE,UAAUE,EAAE,IAAIF,EAAE,CAAC,OAAOA,EAAE,OAAO,KAAKA,EAAE,KAAK,gBAAgBA,EAAE,YAAY,QAAQA,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,+BAA+B,EAAEA,EAAE,MAAM,IAAMmB,EAAEjB,EAAE,IAAIF,EAAE,CAAamB,IAAT,IAAK,GAAM,EAAE,IAAInB,EAAE,EAAaA,EAAEC,EAAE,CAAC,CAASkB,EAAE,QAAQnB,EAAE,UAAS,EAAamB,EAAE,OAAOnB,EAAEC,EAAE,CAAC,EAAE,QAAQD,EAAE,SAAS,MAAM,CAAK,MAAW,SAAc,SAAO,CAAi9rH,SAAS,GAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMQ,EAAE,IAAI,EAAM,EAAE,CAAK,EAAE,EAAM,EAAMC,EAAMC,EAAE,KAASC,EAAE,EAAMG,EAAE,KAAK,SAAS,EAAO,EAAE,EAAE,CAAC,IAAIC,EAAE,GAAU,EAAE,KAAOX,EAAE,QAAQA,EAAE,WAAW,KAAK,GAAG,EAAE,YAAY,EAAEH,EAAE,IAAI,EAAE,EAAE,IAAMgC,EAAEjC,EAAE,GAASkC,EAAED,EAAE,YAAYA,EAAE,YAAY,CAAC,GAAgBC,EAAE,uBAAf,aAAsC,EAAE,MAAgB,IAAP,KAAS,EAAS1B,EAAE,EAAE,CAAS,GAAG,EAAE,UAAS,EAAS,EAAE,EAAE,CAAC,EAAE,KAAMR,EAAE,WAAWe,IAAIf,EAAE,MAAMA,EAAE,eAAeA,EAAE,eAAeA,EAAE,iBAAiB,CAAI,IAAI,EAAE,eAAe,EAAE,UAAUmC,KAAiB1B,IAAT,IAAK,KAAO,EAAE,IAAI,GAAK,IAAI,GAAY,EAAE,EAAE,EAAE,CAAC,IAAI,GAAe,CAAC,KAAK,yBAAyB,SAAS,GAAc2B,GAAG,KAAK,SAAS,CAAC,aAAaA,GAAG,KAAK,aAAa,eAAeA,GAAG,KAAK,eAAe,KAAK,GAAE,UAAU,GAAM,WAAW,GAAM,IAAI,GAAM,CAAC,CAAC,CAAC,EAAE,SAAS,gBAAgB,SAAS,CAAC,EAAE,SAAS,gBAAgB,KAAK,CAAC,EAAE,eAAe,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,YAAY,aAAajB,EAAE,YAAY,EAAE,OAAO,eAAeV,EAAE,SAAS,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,OAAO,OAAO,CAAC,CAAC,EAAE,OAAOA,EAAE,EAAC,EAAE,SAAS,SAAS,OAAO,MAAM,EAAE,EAAE,SAAS,SAAS,WAAW,MAAM,EAAE,eAAe,KAAQ,EAAE,sBAAsB,GAAG,GAAKC,IAAI,GAAGC,IAAI,EAAE,SAASG,IAAId,EAAE,eAAa,EAAE,SAAS,YAAY,GAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAEA,EAAE,aAAY,EAAE,QAAQS,EAAEA,EAAE,SAASA,EAAE,SAAS,EAAE,EAAE,KAAK,EAAS,GAAG,EAAE,YAAuB,IAAT,IAAK,KAAO,EAAE,IAAI,GAAK,IAAI,GAAc,EAAE,EAAE,CAAC,IAAI,GAAe,CAAC,KAAK,qBAAqB,SAAS,GAAc2B,GAAG,WAAW,SAAS,CAAC,aAAaA,GAAG,WAAW,aAAa,eAAeA,GAAG,WAAW,eAAe,KAAK,GAAE,UAAU,GAAM,WAAW,GAAM,IAAI,GAAM,CAAC,CAAC,CAAC,EAAE,SAAS,gBAAgB,SAAS,CAAC,OAAO,eAAe,EAAE,SAAS,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAC,EAAE,SAAS,SAAS,IAAI,MAAM,EAAE,KAAO,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,SAAS,SAAS,YAAY,MAAM,KAAK,EAAE,OAAO,EAAI1B,IAAI,GAAGC,IAAI,EAAE,SAASG,IAAId,EAAE,eAAa,EAAE,SAAS,YAAY,GAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAEA,EAAE,aAAY,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,MAAM,SAASA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEC,EAAEG,EAAE,CAAC,MAAM,CAAC,cAAc,UAAU,CAAC,OAAOI,GAAG,cAAc,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIR,EAAE,CAAC,EAAEC,EAAE,EAASO,EAAE,EAAE,EAAE,cAAc,UAAU,CAAC,OAAO,GAAG,cAAc,SAAS,EAAE,CAAC,EAAER,EAAE,EAASQ,EAAE,EAAE,EAAS,SAAO,CAAC,SAAS,GAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMJ,EAAEJ,EAAE,aAAa,MAAM,CAAOQ,EAAEN,EAAE,SAAS,KAAKD,EAAE,IAAI,0BAA0B,CAAO,EAAEC,EAAE,UAAiBM,IAAP,KAAe,EAAE,EAAE,CAAOC,EAAE,EAAmB,KAAK,CAAKC,EAAED,EAAE,SAAS,EAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,GAAM,GAAG,EAAE,CAAC,IAAMT,EAAE,EAAgBQ,EAAEJ,EAAEF,EAAE,CAAIQ,IAAIV,IAAG,EAAEA,EAAE,EAAsBU,EAAE,OAAO,EAAC,EAAE,EAAYF,EAAE6B,EAAE,CAAC,GAAG,EAAU7B,EAAE6B,EAAE,KAAK,CAAC,IAAMrC,EAAE,KAAOE,EAAE,WAAaQ,EAAE,WAAWF,EAAE,IAAIE,EAAE,UAAUN,EAAE,IAAIM,EAAE,YAAYV,KAAG,EAAE,SAASQ,EAAE,GAAG,EAAE,QAAQJ,EAAE,GAAG,EAAE,UAAUJ,EAAE,EAAE,IAAM,KAAOC,EAAE,kBAAkB,EAAE,IAAaoC,IAAP,MAAU,EAAE,OAAOA,EAAE,MAAM,CAAI5B,IAAG,EAAsBR,EAAEC,EAAEE,EAAEI,EAAE,CAAQ6B,IAAP,MAAUrC,EAAE,WAAW,MAAM,EAAE,IAAIqC,EAAE,CAAC,OAAO,EAAE,SAAS,GAAyB,CAAC,OAAOnC,EAAE,SAASF,EAAE,mBAAmB,CAACQ,EAAE,sBAAsB,CAAC,SAAS,EAAsB,EAAE,CAAC,OAAON,EAAE,SAASF,EAAE,gBAAgBC,EAAE,CAACO,EAAE,mBAAmBP,EAAE,CAAC,SAAS,EAAwB,EAAE,CAAC,OAAOC,EAAE,SAASF,EAAE,kBAAkBC,EAAE,CAACO,EAAE,qBAAqBP,EAAE,CAAC,SAAS,EAAgB,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAOiB,EAAE,UAAcf,EAAE,EAAEJ,EAAE,IAAgBI,IAAT,IAAK,KAAO,EAAE,EAAE,CAAC,EAAEJ,EAAE,IAAII,GAAE,IAAII,EAAEJ,EAAEH,EAAE,IAAgBO,IAAT,IAAK,KAAO,EAAE,EAAE,CAAC,EAAEP,EAAE,IAAIO,GAAE,IAAIQ,EAAER,EAAEN,GAAyE,OAA1Dc,IAAT,IAAK,KAAO,EAAE,EAAmB,GAAyB,CAAC,CAAC,EAAEd,GAAGc,GAASA,EAAE,SAAS,EAAmB,EAAE,CAAC,IAAMf,EAAE,EAAE,CAAOkB,EAAE,EAAE,CAAOjB,EAAE,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEA,EAAEI,EAAE,IAAK,EAAEJ,GAAG,EAAE,EAAEA,GAAG,EAAE,EAAEA,GAAG,EAAE,MAAM,CAAC,SAAS,KAAK,QAAQ,KAAK,UAAU,GAAM,cAAcC,EAAE,kBAAkBkB,EAAE,kBAAkBjB,EAAE,OAAOF,EAAE,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,SAAS,EAAY,EAAE,EAAE,CAAC,IAAMmB,EAAET,EAAE,WAAiBR,EAAEF,EAAE,WAAeI,EAAE,EAAE,IAAI,IAAMJ,KAAKE,EAAE,CAAC,IAAMD,EAAEkB,EAAEnB,GAASQ,EAAEN,EAAEF,GAA4D,GAA7CC,IAAT,IAAK,IAAqBA,EAAE,YAAYO,GAAiBP,EAAE,OAAOO,EAAE,KAAK,MAAO,GAAK,IAAI,OAAOE,EAAE,gBAAgBN,GAAGM,EAAE,QAAQT,EAAE,SAAS,EAAU,EAAE,EAAE,CAAC,IAAMkB,EAAE,EAAE,CAAOjB,EAAEF,EAAE,WAAeI,EAAE,EAAE,IAAI,IAAMJ,KAAKE,EAAE,CAAC,IAAMD,EAAEC,EAAEF,GAASQ,EAAE,EAAE,CAAC,EAAE,UAAUP,EAAE,EAAE,OAAO,EAAE,KAAKA,EAAE,MAAM,EAAED,GAAGQ,EAAE,IAAI,EAAE,WAAWW,EAAE,EAAE,cAAcf,EAAE,EAAE,MAAMH,EAAE,SAAS,GAAgB,CAAC,IAAMD,EAAEU,EAAE,cAAc,IAAI,IAAIT,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,EAAElB,GAAG,EAAE,SAAS,EAAgB,EAAE,CAAC,EAA0BD,EAAE,EAAE,CAAC,SAAS,EAA0B,EAAE,EAAE,CAAC,IAAMQ,EAAEE,EAAE,cAAoBM,EAAEN,EAAE,kBAAwB2B,EAAE3B,EAAE,kBAAkB,EAAES,GAAG,EAASH,EAAEG,KAAN,IAAU,EAAE,wBAAwBA,EAAE,CAAC,EAAEA,GAAG,GAAKkB,EAAElB,KAAKf,KAAWF,EAAE,SAASF,EAAEC,EAAE,IAAI,yBAAyB,EAAGC,EAAE,SAAS,sBAAsB,4BAA4BiB,EAAEf,EAAE,CAAC,EAAEe,GAAGf,GAAG,SAAS,GAAyB,CAAC,IAAMH,EAAES,EAAE,cAAoBS,EAAET,EAAE,kBAAkB,IAAI,IAAIR,EAAE,EAAEE,EAAEe,EAAE,OAAOjB,EAAEE,EAAE,IAAOe,EAAEjB,KAAKD,EAAEC,KAAI,EAAE,yBAAyBA,EAAE,CAAC,EAAEA,GAAG,GAAG,SAAS,EAAoB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAOA,EAAE,UAAiBE,IAAP,MAAiBA,IAAP,KAASJ,EAAE,oBAAoBC,EAAEkB,EAAEf,EAAEI,EAAEQ,EAAEqB,EAAE,CAACrC,EAAE,qBAAqBC,EAAEkB,EAAEf,EAAEY,EAAEqB,EAAE,CAAC,SAAS,EAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAQnC,EAAE,WAAWE,EAAE,iBAAiBiC,EAAE,4BAAmCpC,EAAE,IAAI,yBAAyB,GAAtC,KAAuC,OAAO,GAAgB,CAAC,IAAMQ,EAAE4B,EAAE,WAAiB3B,EAAEM,EAAE,eAAe,CAAOL,EAAEH,EAAE,uBAAuB,IAAI,IAAMP,KAAKS,EAAE,CAAC,IAAMR,EAAEQ,EAAET,GAAG,GAAGC,EAAE,UAAU,EAAE,CAAC,IAAIM,EAAEC,EAAER,GAAyI,GAA1HO,IAAT,IAAK,KAA0BP,IAAnB,kBAAsBG,EAAE,iBAAiB,EAAEA,EAAE,gBAAkCH,IAAlB,iBAAqBG,EAAE,gBAAgB,EAAEA,EAAE,gBAA2BI,IAAT,IAAK,GAAM,CAAC,IAAMP,EAAEO,EAAE,WAAiBQ,EAAER,EAAE,SAAeC,EAAE,EAAE,IAAID,EAAE,CAAC,GAAYC,IAAT,IAAK,GAAM,SAAS,IAAMC,EAAED,EAAE,OAAaE,EAAEF,EAAE,KAAWG,EAAEH,EAAE,gBAAgB,GAAGD,EAAE,6BAA6B,CAAC,IAAMW,EAAEX,EAAE,KAAWC,EAAEU,EAAE,OAAaN,EAAEL,EAAE,OAAO,GAAGW,GAAGA,EAAE,6BAA6B,CAAC,IAAI,IAAInB,EAAE,EAAEA,EAAEE,EAAE,aAAa,IAAI,EAA0BA,EAAE,SAASF,EAAEmB,EAAE,iBAAiB,CAAC,KAAOf,EAAE,iBAA0BiC,EAAE,oBAAX,IAAK,KAA0B,EAAE,kBAAkBlB,EAAE,iBAAiBA,EAAE,YAAY,IAAI,IAAInB,EAAE,EAAEA,EAAEE,EAAE,aAAa,IAAI,EAAgBA,EAAE,SAASF,EAAE,CAAC,EAAE,WAAW,MAAMU,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,EAAEE,EAAE,aAAa,IAAI,EAAoBA,EAAE,SAASF,EAAEgB,EAAEd,EAAE,aAAaS,EAAEV,EAAEQ,EAAEG,GAAGC,EAAEG,EAAEd,EAAE,aAAaF,GAAGY,EAAE,KAAK,CAAC,GAAGJ,EAAE,2BAA2B,CAAC,IAAI,IAAIR,EAAE,EAAEA,EAAEE,EAAE,aAAa,IAAI,EAA0BA,EAAE,SAASF,EAAEQ,EAAE,iBAAiB,CAAC,KAAOJ,EAAE,iBAA0BiC,EAAE,oBAAX,IAAK,KAA0B,EAAE,kBAAkB7B,EAAE,iBAAiBA,EAAE,YAAY,IAAI,IAAIR,EAAE,EAAEA,EAAEE,EAAE,aAAa,IAAI,EAAgBA,EAAE,SAASF,EAAE,CAAC,EAAE,WAAW,MAAMU,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,EAAEE,EAAE,aAAa,IAAI,EAAoBA,EAAE,SAASF,EAAEgB,EAAEd,EAAE,aAAaS,EAAEV,EAAEe,EAAEJ,EAAEI,EAAEd,EAAE,aAAaF,EAAEY,EAAE,UAAmBD,IAAT,IAAK,GAAM,CAAC,IAAMQ,EAAER,EAAEV,GAAG,GAAYkB,IAAT,IAAK,GAAM,OAAOA,EAAE,OAAT,CAAiB,IAAK,GAAE,EAAE,gBAAgBjB,EAAE,SAASiB,EAAE,CAAC,MAAM,IAAK,GAAE,EAAE,gBAAgBjB,EAAE,SAASiB,EAAE,CAAC,MAAM,IAAK,GAAE,EAAE,gBAAgBjB,EAAE,SAASiB,EAAE,CAAC,MAAM,QAAQ,EAAE,gBAAgBjB,EAAE,SAASiB,EAAE,IAAI,GAAyB,CAAC,SAAS,GAAS,CAAS,IAAI,IAAMnB,KAAlB,GAAO,CAAgB,EAAE,CAAC,IAAMC,EAAE,EAAED,GAAG,IAAI,IAAMA,KAAKC,EAAE,CAAC,IAAMkB,EAAElB,EAAED,GAAG,IAAI,IAAMA,KAAKmB,EAAG,EAAwBA,EAAEnB,GAAG,OAAO,CAAC,OAAOmB,EAAEnB,GAAG,OAAOC,EAAED,GAAG,OAAO,EAAEA,IAAI,SAAS,EAAwB,EAAE,CAAC,GAAY,EAAEA,EAAE,MAAb,IAAK,GAAY,OAAO,IAAMC,EAAE,EAAED,EAAE,IAAI,IAAI,IAAMA,KAAKC,EAAE,CAAC,IAAMkB,EAAElB,EAAED,GAAG,IAAI,IAAMA,KAAKmB,EAAG,EAAwBA,EAAEnB,GAAG,OAAO,CAAC,OAAOmB,EAAEnB,GAAG,OAAOC,EAAED,GAAG,OAAO,EAAEA,EAAE,IAAI,SAAS,EAAuB,EAAE,CAAC,IAAI,IAAMC,KAAK,EAAE,CAAC,IAAMkB,EAAE,EAAElB,GAAG,GAAYkB,EAAEnB,EAAE,MAAb,IAAK,GAAY,SAAS,IAAME,EAAEiB,EAAEnB,EAAE,IAAI,IAAI,IAAMA,KAAKE,EAAG,EAAwBA,EAAEF,GAAG,OAAO,CAAC,OAAOE,EAAEF,GAAG,OAAOmB,EAAEnB,EAAE,KAAK,SAAS,GAAO,CAAC,GAAmB,CAAIU,IAAID,IAAG,EAAEA,EAAE,EAAsBC,EAAE,OAAO,EAAE,SAAS,GAAmB,CAAC,EAAE,SAAS,KAAK,EAAE,QAAQ,KAAK,EAAE,UAAU,GAAM,MAAM,CAAO,QAAY,QAAwB,oBAA0B,UAAgC,0BAA+C,yBAAsC,iBAA+B,kBAAwC,0BAAwB,CAAC,SAAS,GAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMN,EAAEF,EAAE,SAAaM,EAAE,SAAS,EAAQ,EAAE,CAAC,EAAER,EAAE,SAAS,EAAO,EAAE,EAAE,CAAC,EAAE,WAAWQ,EAAEP,EAAEC,EAAE,CAAC,EAAE,OAAOA,EAAEM,EAAE,EAAE,CAAC,SAAS,EAAgB,EAAE,EAAE,EAAE,CAAC,GAAO,IAAJ,EAAM,OAAO,IAAIC,EAAEC,EAAE,GAAGN,EAAG,EAAEJ,EAAE,EAAE,8BAA2B,EAAEC,EAAE,IAAI,yBAAyB,CAAC,EAAE,2BAAqCQ,IAAP,KAAS,CAAC,QAAQ,MAAM,iIAAiI,CAAC,OAAQ,EAAEC,GAAGF,EAAEN,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAEM,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAQ,KAAK,OAAO,EAAO,KAAK,gBAAgB,EAAgB,SAAS,GAAkB,EAAE,EAAE,EAAE,CAAC,IAAIN,EAAE,SAAS,GAAkB,CAAC,GAAYA,IAAT,IAAK,GAAM,OAAOA,EAAE,GAAG,KAAOD,EAAE,IAAI,iCAAiC,CAAC,CAAC,IAAMkB,EAAElB,EAAE,IAAI,iCAAiC,CAAC,EAAED,EAAE,aAAamB,EAAE,+BAA+B,MAAM,EAAE,EAAE,OAAOjB,EAAE,SAAS,EAAgB,EAAE,CAAC,GAAaD,IAAV,QAAY,CAAC,GAAGD,EAAE,yBAAyB,MAAM,MAAM,CAAC,UAAU,GAAGA,EAAE,yBAAyB,MAAM,MAAM,CAAC,UAAU,EAAE,MAAM,QAAQ,EAAE,UAAU,OAAkBC,IAAZ,WAAeD,EAAE,yBAAyB,MAAM,MAAM,CAAC,UAAU,GAAGA,EAAE,yBAAyB,MAAM,MAAM,CAAC,UAAU,EAAE,UAAU,OAAO,IAAMI,EAAgB,OAAO,uBAArB,KAA6CJ,aAAa,wBAAsC,OAAO,8BAArB,KAAoDA,aAAa,8BAAkCQ,EAAW,EAAE,YAAX,IAAK,GAA4B,QAAZ,EAAE,UAAwB,EAAE,EAAgBA,EAAE,CAAI,IAAIA,IAAG,QAAQ,KAAK,uBAAuBA,EAAE,uBAAuB,EAAE,WAAW,CAAC,EAAE,GAAE,IAAM,EAAEJ,GAAGH,EAAE,IAAI,qBAAqB,CAAOQ,EAAE,KAAO,EAAE,uBAA6BC,EAAEV,EAAE,aAAa,MAAM,CAAOW,EAAEX,EAAE,aAAa,MAAM,CAAOY,EAAEZ,EAAE,aAAa,KAAK,CAAOa,EAAEb,EAAE,aAAa,MAAM,CAAOc,EAAEd,EAAE,aAAa,MAAM,CAAOe,EAAEf,EAAE,aAAa,MAAM,CAAO,EAAEA,EAAE,aAAa,MAAM,CAAOiC,EAAEjC,EAAE,aAAa,MAAM,CAAOkC,EAAEvB,EAAE,EAAQ2B,EAAElC,GAAGH,EAAE,IAAI,oBAAoB,CAAOsC,EAAEL,GAAGI,EAAQE,EAAEpC,EAAEJ,EAAE,aAAa,MAAM,CAAC,EAAE,MAAM,CAAC,SAASI,EAAE,YAAY,EAAmB,mBAAiC,kBAAgB,UAAUI,EAAE,uBAAuBC,EAAE,YAAYC,EAAE,kBAAkBC,EAAE,eAAeC,EAAE,eAAeC,EAAE,cAAcC,EAAE,kBAAkBC,EAAE,YAAY,EAAE,oBAAoBkB,EAAE,eAAeC,EAAE,sBAAsBI,EAAE,oBAAoBC,EAAE,WAAWC,EAAE,CAAC,SAAS,GAAc,EAAE,CAAC,IAAMvC,EAAE,KAAS,EAAE,KAAKC,EAAE,EAAEE,EAAE,GAAMI,EAAE,GAAY,EAAE,IAAI,GAAM,EAAE,IAAI,GAAQC,EAAE,CAAC,MAAM,KAAK,YAAY,GAAM,CAAC,KAAK,QAAQA,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,SAAS,EAAE,EAAE,EAAE,CAAC,IAAMO,EAAMhB,EAAE,SAAN,GAAcC,GAAOC,IAAJ,GAAOE,EAAwC,MAAtC,GAAEH,EAAE,EAAE,EAAcD,EAAEQ,EAAE,EAAE,CAAC,EAAER,EAAE,OAAcgB,GAAG,KAAK,aAAa,UAAU,CAAC,EAAE,GAAK,EAAc,KAAK,EAAE,KAAK,WAAW,UAAU,CAAC,EAAE,GAAM,GAAkB,EAAE,KAAK,SAAS,SAAS,EAAE,EAAE,EAAE,CAAC,IAAMN,EAAET,EAAE,eAAeU,EAAEV,EAAE,iBAAiBW,EAAEX,EAAE,YAAkBY,EAAEb,EAAE,IAAIC,EAAE,CAAC,GAAG,CAACG,GAAUM,IAAP,MAAcA,EAAE,SAAN,GAAcF,GAAG,CAACI,EAAE,EAAE,EAAc,KAAK,CAAC,GAAkB,KAAK,CAAC,IAAMZ,EAAEQ,EAAE,EAAEN,EAAED,EAAE,EAAED,EAAMI,EAAES,EAAE,eAAe,KAAK,EAAE,MAAMT,EAAE,EAAE,EAAcM,EAAEM,EAAEf,EAAEoC,EAAE,CAAC,IAAI,IAAIrC,EAAE,EAAEA,IAAIC,EAAE,EAAED,EAAE,EAAEA,GAAG,EAAEA,GAAG,EAAE,cAAcI,EAAE,KAAK,gBAAgBO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAWX,IAAI,SAAS,GAAkB,CAAIS,EAAE,QAAQ,IAAG,EAAE,MAAM,EAAE,EAAE,YAAYP,EAAE,GAAE,EAAE,UAAUA,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAc,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMM,EAASR,IAAP,KAAkB,EAATA,EAAE,OAAaU,EAAE,KAAK,GAAOF,IAAJ,EAAM,CAAW,GAAV,EAAEC,EAAE,MAAS,KAAOL,GAAUM,IAAP,KAAS,CAAC,IAAMT,EAAEC,EAAE,EAAEM,EAAEJ,EAAEe,EAAE,mBAAmB,EAAE,gBAAgBf,EAAE,EAASM,IAAP,MAAUA,EAAE,OAAOT,KAAK,EAAE,IAAI,aAAaA,EAAE,EAAE,IAAI,IAAIA,EAAE,EAAEkB,EAAEjB,EAAED,IAAIO,EAAE,EAAEP,EAAE,GAAG,EAAG,EAAE,KAAKD,EAAEC,GAAG,CAAC,aAAaG,EAAE,EAAE,CAAC,EAAE,OAAO,QAAQM,EAAES,EAAE,CAAC,EAAEA,EAAE,GAAG,EAAE,SAAU,EAAE,MAAMT,EAAE,EAAE,YAAY,GAAuC,MAAlC,GAAE,UAAUF,EAAE,EAAE,gBAAgB,EAASE,GAAG,SAAS,GAAc,EAAE,CAAC,IAAIT,EAAE,IAAI,QAAQ,SAAS,EAAkB,EAAE,EAAE,CAA4C,OAA3C,IAAIwC,GAAG,EAAE,QAAQ,GAAGxC,IAAIyC,KAAK,EAAE,QAAQC,IAAW3C,EAAE,SAAS,EAAI,EAAE,CAAC,GAAG,GAAG,EAAE,WAAW,KAAQ,EAAE,sBAAsB,CAAC,IAAME,EAAE,EAAE,QAAQ,GAAGA,IAAIuC,IAAIvC,IAAIwC,GAAG,CAAC,GAAGzC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAMD,EAAEC,EAAE,IAAI,EAAE,CAAC,QAAQ,OAAO,EAAkBD,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAME,EAAE,EAAE,MAAM,GAAGA,GAAGA,EAAE,OAAO,EAAE,CAAC,IAAME,EAAEJ,EAAE,iBAAiB,CAAOQ,EAAE,IAAI,GAAsBN,EAAE,OAAO,EAAE,CAAkH,OAAjH,EAAE,2BAA2BF,EAAE,EAAE,CAAC,EAAE,IAAI,EAAEQ,EAAE,CAAC,EAAE,gBAAgBJ,EAAE,CAAC,EAAE,iBAAiB,UAAU,EAAiB,CAAQ,EAAkBI,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,OAAO,OAAO,EAAE,SAAS,EAAiB,EAAE,CAAC,IAAM,EAAER,EAAE,OAAO,EAAE,oBAAoB,UAAU,EAAiB,CAAC,IAAME,EAAED,EAAE,IAAI,EAAE,CAAaC,IAAT,IAAK,KAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,GAAS,CAAC,EAAE,IAAI,QAAQ,MAAM,CAAK,MAAY,UAAQ,CAAowN,SAAS,IAAe,CAAC,IAAMF,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAO,EAAE,EAAE,CAAKC,EAAE0C,GAAG,IAAI,IAAIxC,EAAE,EAAEA,EAAEyC,GAAG,IAAI,CAAC,IAAMrC,EAAW,GAAEN,EAAG,EAAE,KAAKM,EAAE,CAAC,IAAI,EAAE,EAAEA,EAAE,EAAEoC,GAAGE,GAAG,EAAEC,GAAG3C,EAAEwC,GAAGE,GAAG,GAAM1C,GAAH,IAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,IAAM,EAAE,GAAGI,EAAE,GAASC,EAAE,CAAC,EAAE,EAAQC,EAAE,EAAE,EAAE,EAAQC,EAAE,CAACF,EAAEA,EAAEC,EAAED,EAAEC,EAAEA,EAAED,EAAEA,EAAEC,EAAEA,EAAED,EAAEC,EAAE,CAAyDuB,EAAE,IAAI,aAAanB,IAAM,CAAOoB,EAAE,IAAI,aAAanB,GAAM,CAAOuB,EAAE,IAAI,aAAa,GAAM,CAAC,IAAI,IAAItC,EAAE,EAAEA,EAAEY,EAAE,IAAI,CAAC,IAAMX,EAAED,EAAE,EAAE,EAAE,EAAE,EAAQmB,EAAEnB,EAAE,EAAE,EAAE,GAASE,EAAE,CAACD,EAAEkB,EAAE,EAAElB,EAAE,EAAE,EAAEkB,EAAE,EAAElB,EAAE,EAAE,EAAEkB,EAAE,EAAE,EAAElB,EAAEkB,EAAE,EAAElB,EAAE,EAAE,EAAEkB,EAAE,EAAE,EAAElB,EAAEkB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIjB,EAAEY,GAAId,EAAE,CAAC,EAAE,IAAIW,EAAEI,GAAIf,EAAE,CAAC,IAAMI,EAAE,CAACJ,EAAEA,EAAEA,EAAEA,EAAEA,EAAEA,EAAE,CAAC,EAAE,IAAII,EAAE,EAAIJ,EAAE,CAAC,IAAMuC,EAAE,IAAI,GAAe,EAAE,aAAa,WAAW,IAAI,GAAgBN,EAAEnB,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,GAAgBoB,EAAEnB,EAAE,CAAC,CAAC,EAAE,aAAa,YAAY,IAAI,GAAgBuB,EAAE,EAAE,CAAC,CAAC,EAAE,KAAKC,EAAE,CAAC,EAAEO,IAAI,IAAI,MAAM,CAAC,WAAW9C,EAAE,UAAUC,EAAE,QAAQ,EAAE,CAAC,SAAS,GAAoB,EAAE,CAAC,IAAMA,EAAE,IAAI,GAAkB,EAAE+C,GAAG,EAAEA,GAAGhD,EAAE,CAAuE,MAAtE,GAAE,QAAQ,QAAQmC,GAAG,EAAE,QAAQ,KAAK,eAAe,EAAE,YAAY,GAAYlC,EAAE,SAAS,GAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,IAAIA,EAAE,EAAEC,EAAEE,EAAE,CAAC,EAAE,QAAQ,IAAIH,EAAE,EAAEC,EAAEE,EAAE,CAAC,SAAS,GAAe,EAAE,CAAC,IAAMH,EAAE,IAAI,aAAaD,EAAE,CAAO,EAAE,IAAI,EAAQ,EAAE,EAAE,EAAE,CAA+3D,OAAt3D,IAAI,GAAkB,CAAC,KAAK,wBAAwB,QAAQ,CAAC,EAAEA,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAMC,EAAE,CAAC,YAAY,CAAC,MAAM,GAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,IAAwB,CAAC,eAAe,gVAAgV,IAAe,CAAC,+tCAA+tC,SAASgC,GAAE,UAAU,GAAM,WAAW,GAAM,CAAC,CAAU,SAAS,IAAoB,CAA2wC,OAAzuC,IAAI,GAAkB,CAAC,KAAK,0BAA0B,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAxH,IAAI,EAAQ,EAAE,EAAE,CAAgH,CAAC,cAAc,CAAC,MAAMgB,GAAGC,IAAI,CAAC,CAAC,aAAa,IAAwB,CAAC,eAAe,uLAAuL,IAAe,CAAC,yzBAAyzB,SAASjB,GAAE,UAAU,GAAM,WAAW,GAAM,CAAC,CAAU,SAAS,IAAmB,CAAqiB,OAA5hB,IAAI,GAAkB,CAAC,KAAK,kBAAkB,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,MAAMgB,GAAGC,IAAI,CAAC,CAAC,aAAa,IAAwB,CAAC,eAAe,0JAA0J,IAAe,CAAC,qKAAqK,SAASjB,GAAE,UAAU,GAAM,WAAW,GAAM,CAAC,CAAU,SAAS,IAAwB,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA+rC,SAAS,IAAe,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;GAAqX,SAAS,GAAgB,EAAE,CAAC,IAAIhC,EAAE,IAAI,QAAY,EAAE,KAAK,SAAS,EAAI,EAAE,CAAC,GAAGC,GAAGA,EAAE,WAAW,KAAQA,EAAE,sBAAsB,CAAC,IAAME,EAAEF,EAAE,QAAcM,EAAEJ,IAAIqC,IAAIrC,IAAIsC,GAAS,EAAEtC,IAAI,IAAIA,IAAIuC,GAAG,GAAGnC,GAAG,EAAE,CAAC,GAAGP,EAAE,IAAIC,EAAE,CAAC,OAAOD,EAAE,IAAIC,EAAE,CAAC,QAAQ,CAAC,IAAME,EAAEF,EAAE,MAAM,GAAGM,GAAGJ,GAAGA,EAAE,OAAO,GAAG,GAAGA,GAAG,EAAsBA,EAAE,CAAC,CAAC,IAAMA,EAAEJ,EAAE,iBAAiB,CAAQ,IAAP,OAAW,EAAE,IAAI,GAAeA,EAAE,EAAE,IAAMgB,EAAER,EAAE,EAAE,oBAAoBN,EAAE,CAAC,EAAE,YAAYA,EAAE,CAAgF,OAA/E,EAAE,IAAIA,EAAEc,EAAE,CAAC,EAAE,gBAAgBZ,EAAE,CAAC,EAAE,iBAAiB,UAAU,EAAiB,CAAQY,EAAE,QAAQ,OAAO,OAAO,OAAOd,EAAE,SAAS,EAAsB,EAAE,CAAC,IAAID,EAAE,EAAY,IAAI,IAAIC,EAAE,EAAEA,EAAEiB,EAAE,IAAanB,EAAEE,KAAX,IAAK,IAAU,IAAI,OAAOD,IAAIkB,EAAE,SAAS,EAAiB,EAAE,CAAC,IAAMA,EAAEnB,EAAE,OAAO,EAAE,oBAAoB,UAAU,EAAiB,CAAC,IAAME,EAAED,EAAE,IAAIkB,EAAE,CAAajB,IAAT,IAAK,KAAO,EAAE,OAAOiB,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,GAAS,CAAC,EAAE,IAAI,QAAkB,IAAP,OAAU,EAAE,SAAS,CAAC,EAAE,MAAM,MAAM,CAAK,MAAY,UAAQ,CAAC,SAAS,GAAgB,EAAE,CAAC,IAAMlB,EAAE,EAAE,CAAC,SAAS,EAAa,EAAE,CAAC,GAAYA,EAAE,KAAX,IAAK,GAAS,OAAOA,EAAE,GAAG,IAAIC,EAAE,OAAO,EAAP,CAAU,IAAI,sBAAsB,EAAEF,EAAE,aAAa,sBAAsB,EAAEA,EAAE,aAAa,0BAA0B,EAAEA,EAAE,aAAa,6BAA6B,CAAC,MAAM,IAAI,iCAAiC,EAAEA,EAAE,aAAa,iCAAiC,EAAEA,EAAE,aAAa,qCAAqC,EAAEA,EAAE,aAAa,wCAAwC,CAAC,MAAM,IAAI,gCAAgC,EAAEA,EAAE,aAAa,gCAAgC,EAAEA,EAAE,aAAa,oCAAoC,EAAEA,EAAE,aAAa,uCAAuC,CAAC,MAAM,IAAI,iCAAiC,EAAEA,EAAE,aAAa,iCAAiC,EAAEA,EAAE,aAAa,wCAAwC,CAAC,MAAM,QAAQ,EAAEA,EAAE,aAAa,EAAE,CAAQ,MAAP,GAAE,GAAGE,EAASA,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,OAAc,EAAaF,EAAE,GAAtB,MAAwB,KAAK,SAAS,EAAE,CAAIA,EAAE,SAAS,EAAa,yBAAyB,EAAM,EAAa,sBAAsB,CAAC,EAAa,oBAAoB,CAAC,EAAa,yBAAyB,CAAC,EAAa,gCAAgC,CAAC,EAAa,2BAA2B,CAAC,EAAa,yBAAyB,CAAC,EAAa,0BAA0B,CAAC,EAAa,yBAAyB,EAAC,EAAa,2BAA2B,CAAC,EAAa,8BAA8B,CAAC,EAAa,uCAAuC,EAAE,IAAI,SAAS,EAAE,CAAC,IAAMC,EAAE,EAAaD,EAAE,CAA+E,OAAvEC,IAAP,MAAU,QAAQ,KAAK,wBAAwBD,EAAE,4BAA4B,CAAQC,GAAG,CAAC,SAAS,GAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMG,EAAE,EAAE,CAAOI,EAAE,IAAI,QAAQ,SAAS,EAAkB,EAAE,CAAC,IAAM,EAAER,EAAE,OAAyC,IAAI,IAAMA,KAArC,EAAE,QAAT,MAAgBC,EAAE,OAAO,EAAE,MAAM,CAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAWD,GAAG,CAAC,EAAE,oBAAoB,UAAU,EAAkB,CAAC,OAAOI,EAAE,EAAE,IAAI,IAAM,EAAEI,EAAE,IAAI,EAAE,CAAI,IAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAC,EAAE,wBAAwB,EAAE,CAAC,KAAO,EAAE,2BAA2B,OAAO,EAAE,kBAAkB,EAAE,OAAO,aAAa,SAAS,EAAI,EAAE,EAAE,CAA+G,MAA3G,KAAOJ,EAAEH,EAAE,IAAWA,GAAE,EAAE,iBAAiB,UAAU,EAAkB,CAAC,EAAEA,EAAE,IAAI,GAAK,EAAE,OAAO,aAAoBA,GAAE,SAAS,EAAO,EAAE,CAAC,IAAMkB,EAAEnB,EAAE,WAAW,IAAI,IAAMA,KAAKmB,EAAE,EAAE,OAAOA,EAAEnB,GAAG,MAAM,CAAC,IAAME,EAAEF,EAAE,gBAAgB,IAAI,IAAMA,KAAKE,EAAE,CAAC,IAAMiB,EAAEjB,EAAEF,GAAG,IAAI,IAAIA,EAAE,EAAEE,EAAEiB,EAAE,OAAOnB,EAAEE,EAAE,IAAI,EAAE,OAAOiB,EAAEnB,GAAG,MAAM,EAAE,SAAS,EAAyB,EAAE,CAAC,IAAMmB,EAAE,EAAE,CAAOjB,EAAEF,EAAE,MAAYI,EAAEJ,EAAE,WAAW,SAAa,EAAE,EAAE,GAAUE,IAAP,KAAS,CAAC,IAAMF,EAAEE,EAAE,MAAM,EAAEA,EAAE,QAAQ,IAAI,IAAID,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAEF,EAAEC,EAAE,GAASG,EAAEJ,EAAEC,EAAE,GAASO,EAAER,EAAEC,EAAE,GAAG,EAAE,KAAKC,EAAEE,EAAEA,EAAEI,EAAEA,EAAEN,EAAE,MAAM,CAAC,IAAMF,EAAEI,EAAE,MAAM,EAAEA,EAAE,QAAQ,IAAI,IAAIH,EAAE,EAAEC,EAAEF,EAAE,OAAO,EAAE,EAAEC,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAMF,EAAEC,EAAE,EAAQC,EAAED,EAAE,EAAQG,EAAEH,EAAE,EAAE,EAAE,KAAKD,EAAEE,EAAEA,EAAEE,EAAEA,EAAEJ,EAAE,EAAE,IAAM,EAAE,IAAI,GAASmB,EAAE,CAAC,MAAM,GAAsB,IAAuBA,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAMV,EAAED,EAAE,IAAIR,EAAE,CAAC,GAAGC,EAAE,OAAOQ,EAAE,CAAC,EAAE,IAAIT,EAAE,EAAE,CAAC,SAAS,EAAsB,EAAE,CAAC,IAAMC,EAAEO,EAAE,IAAIR,EAAE,CAAC,GAAGC,EAAE,CAAC,IAAMkB,EAAEnB,EAAE,MAAamB,IAAP,MAAUlB,EAAE,QAAQkB,EAAE,SAAS,EAAyBnB,EAAE,MAAM,EAAyBA,EAAE,CAAC,OAAOQ,EAAE,IAAIR,EAAE,CAAC,MAAM,CAAK,MAAW,SAA6B,wBAAsB,CAAC,SAAS,GAA2B,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMI,EAAEF,EAAE,SAAaM,EAAE,SAAS,EAAQ,EAAE,CAAC,EAAER,EAAE,IAAI,EAAE,EAAE,SAAS,EAAS,EAAE,CAAC,EAAEA,EAAE,KAAK,EAAEA,EAAE,gBAAgB,SAAS,EAAO,EAAE,EAAE,CAAC,EAAE,aAAaQ,EAAEN,EAAE,EAAED,EAAE,EAAE,CAAC,EAAE,OAAOC,EAAEM,EAAE,EAAE,CAAC,SAAS,EAAgB,EAAE,EAAE,EAAE,CAAC,GAAOE,IAAJ,EAAM,OAAO,IAAIC,EAAEC,EAAE,GAAGR,EAAG,EAAEJ,EAAE,EAAE,gCAA6B,EAAEC,EAAE,IAAI,yBAAyB,CAAC,EAAE,6BAAuCU,IAAP,KAAS,CAAC,QAAQ,MAAM,wIAAwI,CAAC,OAAQ,EAAEC,GAAGJ,EAAEC,EAAE,EAAEP,EAAE,EAAEQ,EAAE,CAAC,EAAE,OAAOD,EAAED,EAAEE,EAAE,CAAC,KAAK,QAAQ,EAAQ,KAAK,SAAS,EAAS,KAAK,OAAO,EAAO,KAAK,gBAAgB,EAAgB,SAAS,GAAU,EAAE,CAAC,IAAMT,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,CAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,SAAS,EAAO,EAAE,EAAE,EAAE,CAAW,OAAV,EAAE,QAAeA,EAAP,CAAU,IAAK,GAAE,EAAE,WAAcD,EAAE,EAALE,EAAQ,MAAM,IAAK,GAAE,EAAE,OAAUF,EAAE,EAALE,EAAQ,MAAM,IAAK,GAAE,EAAE,OAAOA,GAAGF,EAAE,GAAG,MAAM,IAAK,GAAE,EAAE,OAAOE,EAAEF,EAAE,MAAM,IAAK,GAAE,EAAE,QAAQE,EAAEF,EAAE,MAAM,QAAQ,QAAQ,MAAM,sCAAsCC,EAAE,CAAC,OAAO,SAAS,GAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAOA,EAAE,OAAO,EAAE,SAAS,KAAK,UAAU,GAAW,QAAa,SAAO,CAAgT,SAAS,GAAc,EAAE,EAAE,CAAC,OAAOD,EAAE,GAAGC,EAAE,GAAG,SAAS,GAAiB,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIA,EAAE,GAAG,CAAC,KAAK,IAAID,EAAE,GAAG,CAAC,SAAS,GAAY,EAAE,EAAE,CAAC,IAAI,EAAE,EAAQE,EAAED,EAAE,6BAA6BA,EAAE,KAAK,MAAMA,EAAE,MAAM,aAAa,UAAU,EAAE,IAAIC,aAAa,WAAW,EAAE,MAAMA,aAAa,WAAW,EAAE,WAAW,QAAQ,MAAM,mEAAmEA,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAE,EAAE,CAAOE,EAAE,IAAI,aAAa,EAAE,CAAOI,EAAE,IAAI,QAAc,EAAE,IAAI,EAAc,EAAE,EAAE,CAAC,IAAI,IAAIR,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAEA,GAAG,CAACA,EAAE,EAAE,CAAC,SAAS,EAAO,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMa,EAAEJ,EAAE,sBAAsB,GAAG,KAAOR,EAAE,SAAS,CAAC,IAAMC,EAAEQ,EAAE,gBAAgB,SAAS,OAAWN,EAAEI,EAAE,IAAIE,EAAE,CAAC,GAAYN,IAAT,IAAK,IAAOA,EAAE,QAAQF,EAAE,CAAUE,IAAT,IAAK,IAAOA,EAAE,QAAQ,SAAS,CAAC,IAAMJ,EAAWU,EAAE,gBAAgB,SAA3B,IAAK,GAAmCS,EAAET,EAAE,gBAAgB,SAAe2B,EAAE3B,EAAE,gBAAgB,QAAQ,EAAE,CAAOD,EAAEC,EAAE,WAAW,SAAS,MAAYC,EAAE,KAAOX,EAAE,EAAE,EAAMY,EAAEH,EAAEE,EAAME,EAAE,EAAKD,EAAEX,EAAE,iBAAgB,EAAE,KAAK,KAAKW,EAAEX,EAAE,eAAe,CAAC,EAAEA,EAAE,gBAAe,IAAMa,EAAE,IAAI,aAAaF,EAAEC,EAAE,EAAEX,EAAE,CAAOa,EAAE,IAAI,GAAmBD,EAAEF,EAAEC,EAAEX,EAAE,CAAC,EAAE,OAAOiD,GAAG,EAAE,KAAKC,GAAG,EAAE,YAAY,GAAK,IAAM,EAAE,EAAEzC,EAAE,IAAI,IAAIV,EAAE,EAAEA,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAElB,GAASG,EAAEiC,EAAEpC,GAASO,EAAEI,EAAEC,EAAE,EAAEZ,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEC,EAAE,MAAM,IAAI,CAAC,EAAE,oBAAoBA,EAAED,EAAE,CAAC,KAAOC,EAAE,YAAY,GAAY,EAAEA,EAAE,CAAC,IAAMiB,EAAElB,EAAE,EAAE,EAAEO,EAAEW,EAAE,GAAG,EAAE,EAAE,EAAEX,EAAEW,EAAE,GAAG,EAAE,EAAE,EAAEX,EAAEW,EAAE,GAAG,EAAE,EAAE,EAAEX,EAAEW,EAAE,GAAG,EAAK,KAAOnB,IAAG,EAAE,oBAAoBI,EAAEH,EAAE,CAAC,KAAOG,EAAE,YAAY,GAAY,EAAEA,EAAE,CAAC,EAAEI,EAAEW,EAAE,GAAG,EAAE,EAAE,EAAEX,EAAEW,EAAE,GAAG,EAAE,EAAE,EAAEX,EAAEW,EAAE,GAAG,EAAE,EAAE,EAAEX,EAAEW,EAAE,GAAG,IAAI,EAAE,CAAC,MAAMjB,EAAE,QAAQa,EAAE,KAAK,IAAI,EAAQH,EAAEC,EAAE,CAAC,CAAC,EAAE,IAAIH,EAAEN,EAAE,CAAC,IAAIiC,EAAE,EAAE,IAAI,IAAIrC,EAAE,EAAEA,EAAEa,EAAE,OAAO,IAAI,GAAGA,EAAEb,GAAG,IAAMS,EAAEC,EAAE,qBAAqB,EAAE,EAAE2B,EAAE,EAAE,aAAa,CAAC,SAASrC,EAAE,2BAA2BS,EAAE,CAAC,EAAE,aAAa,CAAC,SAAST,EAAE,wBAAwBa,EAAE,CAAC,EAAE,aAAa,CAAC,SAASb,EAAE,sBAAsBI,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,SAASJ,EAAE,0BAA0BI,EAAE,KAAK,KAAK,CAAC,IAAMH,EAAWY,IAAT,IAAK,GAAM,EAAEA,EAAE,OAAWM,EAAEjB,EAAEQ,EAAE,IAAI,GAAYS,IAAT,IAAK,IAAOA,EAAE,SAASlB,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAE,IAAI,EAAED,GAAG,CAACA,EAAE,EAAE,CAAC,EAAEU,EAAE,IAAIS,EAAE,IAAI,IAAInB,EAAE,EAAEA,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEkB,EAAEnB,GAAG,EAAE,GAAGA,EAAE,EAAE,GAAGa,EAAEb,GAAG,EAAE,KAAK,GAAiB,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAOA,EAAEC,GAAGkB,EAAEnB,GAAG,IAAI,EAAEA,GAAG,GAAGmB,EAAEnB,GAAG,GAAG,EAAEA,GAAG,GAAGmB,EAAEnB,GAAG,KAAQ,EAAEA,GAAG,WAA2B,EAAEA,GAAG,GAAG,GAAE,EAAE,KAAK,GAAc,CAAC,IAAMQ,EAAEE,EAAE,gBAAgB,SAAeM,EAAEN,EAAE,gBAAgB,OAAWD,EAAE,EAAE,IAAI,IAAIT,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMC,EAAE,EAAED,GAASmB,EAAElB,EAAE,GAASC,EAAED,EAAE,GAAMkB,aAA6BjB,GAAG,GAAGQ,EAAE,aAAa,cAAcV,EAAE,GAAGQ,EAAEW,IAAIT,EAAE,aAAa,cAAcV,EAAEQ,EAAEW,GAAG,CAAC,GAAGT,EAAE,aAAa,cAAcV,EAAE,GAAGgB,EAAEG,IAAIT,EAAE,aAAa,cAAcV,EAAEgB,EAAEG,GAAG,CAAC,EAAEnB,GAAGE,EAAE,GAAGA,IAAO,GAAG,KAAOQ,EAAE,aAAa,cAAcV,EAAE,EAAEU,EAAE,gBAAgB,cAAcV,EAAE,CAAC,GAAG,KAAOU,EAAE,aAAa,cAAcV,EAAE,EAAEU,EAAE,gBAAgB,cAAcV,EAAE,CAAC,EAAEA,GAAG,GAAG,IAAMW,EAAED,EAAE,qBAAqB,EAAE,EAAED,EAAE,EAAE,aAAa,CAAC,SAAST,EAAE,2BAA2BW,EAAE,CAAC,EAAE,aAAa,CAAC,SAASX,EAAE,wBAAwBI,EAAE,EAAE,MAAM,CAAQ,SAAO,CAAC,SAAS,GAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,IAAI,QAAQ,SAAS,EAAO,EAAE,CAAC,IAAMI,EAAEN,EAAE,OAAO,MAAY,EAAEF,EAAE,SAAe,EAAEC,EAAE,IAAID,EAAE,EAAE,CAA2Q,OAAvQI,EAAE,IAAI,EAAE,GAAGI,IAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAEA,EAAE,EAAIR,EAAE,kBAAiB,KAAQA,EAAE,iBAAiB,UAAU,EAAuB,EAAEA,EAAE,iBAAiB,UAAU,EAAuB,CAAC,EAAE,OAAOA,EAAE,eAAe,MAAM,CAAQA,EAAE,gBAAT,MAAwB,EAAE,OAAOA,EAAE,cAAc,MAAM,EAAQ,EAAE,SAAS,GAAS,CAAC,EAAE,IAAI,QAAQ,SAAS,EAAuB,EAAE,CAAC,IAAMC,EAAED,EAAE,OAAO,EAAE,oBAAoB,UAAU,EAAuB,CAAC,EAAE,OAAOC,EAAE,eAAe,CAAQA,EAAE,gBAAT,MAAwB,EAAE,OAAOA,EAAE,cAAc,CAAC,MAAM,CAAQ,SAAe,UAAQ,CAA0f,SAAS,GAAQ,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAEF,EAAE,GAAG,GAAGE,GAAG,GAAGA,EAAE,EAAE,OAAOF,EAAE,IAAMI,EAAEH,EAAE,EAAMO,EAAE6C,GAAGjD,GAAgD,GAAjCI,IAAT,IAAK,KAAO,EAAE,IAAI,aAAaJ,EAAE,CAAC,GAAGA,GAAGI,GAASP,IAAJ,EAAM,CAAC,EAAE,QAAQO,EAAE,EAAE,CAAC,IAAI,IAAIN,EAAE,EAAEE,EAAE,EAAEF,IAAID,EAAE,EAAEC,EAAG,GAAG,EAAE,EAAEA,GAAG,QAAQM,EAAEJ,EAAE,CAAE,OAAOI,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,GAAGR,EAAE,SAASC,EAAE,OAAO,MAAO,GAAM,IAAI,IAAI,EAAE,EAAEC,EAAEF,EAAE,OAAO,EAAEE,EAAE,IAAI,GAAGF,EAAE,KAAKC,EAAE,GAAG,MAAO,GAAM,MAAO,GAAK,SAAS,GAAU,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,OAAO,EAAEC,EAAE,IAAI,EAAE,GAAGD,EAAE,GAAG,SAAS,GAAc,EAAE,EAAE,CAAC,IAAI,EAAEqD,GAAGrD,GAAe,IAAT,IAAK,KAAO,EAAE,IAAI,WAAWA,EAAE,CAAC,GAAGA,GAAG,GAAE,IAAI,IAAIC,EAAE,EAAEA,IAAID,EAAE,EAAEC,EAAE,EAAEA,GAAGF,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAS,EAAE,KAAKC,IAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAG,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAM,GAAYA,EAAE,IAAX,IAAK,IAAY,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,KAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,OAAO,CAAC,GAAG,GAAY,EAAEA,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAM,GAAYA,EAAE,IAAX,IAAK,IAAY,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,KAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,WAAoBA,EAAE,IAAX,IAAK,IAAY,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,KAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,OAAO,CAAC,GAAG,GAAY,EAAEA,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAM,GAAYA,EAAE,IAAX,IAAK,IAAY,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,GAAG,EAAE,KAAKA,EAAE,KAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,OAAO,CAAC,GAAG,GAAY,EAAEA,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAYC,EAAED,EAAE,SAAS,GAAYC,IAAT,IAAK,GAAM,CAAC,GAAG,GAAY,EAAED,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,KAAK,GAAMA,EAAE,CAAC,GAAU,EAAEA,EAAE,KAAK,CAAC,GAAG,GAAY,EAAEC,EAAE,CAAC,OAAO,GAAG,IAAIA,EAAE,CAAC,EAAE,iBAAiB,KAAK,KAAK,GAAMqD,GAAG,CAAC,GAAU,EAAErD,EAAE,EAAE,SAAS,GAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAYA,EAAED,EAAE,SAAS,GAAYC,IAAT,IAAK,GAAM,CAAC,GAAG,GAAY,EAAED,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,KAAK,GAAMA,EAAE,CAAC,GAAU,EAAEA,EAAE,KAAK,CAAC,GAAG,GAAY,EAAEC,EAAE,CAAC,OAAO,GAAG,IAAIA,EAAE,CAAC,EAAE,iBAAiB,KAAK,KAAK,GAAMsD,GAAG,CAAC,GAAU,EAAEtD,EAAE,EAAE,SAAS,GAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAYA,EAAED,EAAE,SAAS,GAAYC,IAAT,IAAK,GAAM,CAAC,GAAG,GAAY,EAAED,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,KAAK,GAAMA,EAAE,CAAC,GAAU,EAAEA,EAAE,KAAK,CAAC,GAAG,GAAY,EAAEC,EAAE,CAAC,OAAO,GAAG,IAAIA,EAAE,CAAC,EAAE,iBAAiB,KAAK,KAAK,GAAMuD,GAAG,CAAC,GAAU,EAAEvD,EAAE,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAS,EAAE,KAAKD,IAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAG,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAU,GAAY,EAAEA,EAAE,GAAE,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAU,GAAY,EAAEA,EAAE,GAAE,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAU,GAAY,EAAEA,EAAE,GAAE,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAa,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAS,EAAE,KAAKA,IAAG,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAG,SAAS,GAAa,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAU,GAAY,EAAEA,EAAE,GAAE,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAa,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAU,GAAY,EAAEA,EAAE,GAAE,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAa,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAU,GAAY,EAAEA,EAAE,GAAE,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,GAAU,EAAEA,EAAE,EAAE,SAAS,GAAW,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAK,MAAYE,EAAE,EAAE,qBAAqB,CAAIF,EAAE,KAAKE,IAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAE,EAAE,iBAAiBH,GAAGyD,GAAGtD,EAAE,CAAC,SAAS,GAAa,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,MAAYE,EAAE,EAAE,qBAAqB,CAAIF,EAAE,KAAKE,IAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAE,EAAE,aAAaH,GAAG0D,GAAGvD,EAAE,CAAC,SAAS,GAAW,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,MAAYE,EAAE,EAAE,qBAAqB,CAAIF,EAAE,KAAKE,IAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAE,EAAE,mBAAmBH,GAAG2D,GAAGxD,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,MAAYE,EAAE,EAAE,qBAAqB,CAAIF,EAAE,KAAKE,IAAG,EAAE,UAAU,KAAK,KAAKA,EAAE,CAAC,EAAE,GAAGA,GAAE,EAAE,kBAAkBH,GAAG4D,GAAGzD,EAAE,CAAC,SAAS,GAAkB,EAAE,CAAC,OAAOJ,EAAP,CAAU,IAAK,MAAK,OAAO,GAAY,IAAK,OAAM,OAAO,GAAY,IAAK,OAAM,OAAO,GAAY,IAAK,OAAM,OAAO,GAAY,IAAK,OAAM,OAAO,GAAW,IAAK,OAAM,OAAO,GAAW,IAAK,OAAM,OAAO,GAAW,IAAK,MAAK,IAAK,OAAM,OAAO,GAAY,IAAK,OAAM,IAAK,OAAM,OAAO,GAAY,IAAK,OAAM,IAAK,OAAM,OAAO,GAAY,IAAK,OAAM,IAAK,OAAM,OAAO,GAAY,IAAK,MAAK,OAAO,GAAa,IAAK,OAAM,OAAO,GAAa,IAAK,OAAM,OAAO,GAAa,IAAK,OAAM,OAAO,GAAa,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,GAAW,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,GAAa,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,GAAW,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,IAAmB,SAAS,GAAiB,EAAE,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKC,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAQA,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAQA,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAQA,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC,SAAS,GAAgB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAQA,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,iBAAiB,KAAK,KAAK,GAAM,EAAE,CAAC,SAAS,GAAgB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAQA,EAAE,KAAK,KAAK,EAAE,CAAC,EAAE,iBAAiB,KAAK,KAAK,GAAM,EAAE,CAAC,SAAS,GAAgB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAQA,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE,iBAAiB,KAAK,KAAK,GAAM,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAC,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAC,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAC,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAC,EAAE,YAAY,KAAK,KAAKA,EAAE,CAAC,SAAS,GAAgB,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAED,EAAE,OAAaG,EAAE,GAAc,EAAEF,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKE,EAAE,CAAC,IAAI,IAAIJ,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAE,iBAAiBC,EAAED,IAAI0D,GAAGtD,EAAEJ,GAAG,CAAC,SAAS,GAAiB,EAAE,EAAE,EAAE,CAAC,IAAME,EAAED,EAAE,OAAaG,EAAE,GAAc,EAAEF,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKE,EAAE,CAAC,IAAI,IAAIJ,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAE,aAAaC,EAAED,IAAI2D,GAAGvD,EAAEJ,GAAG,CAAC,SAAS,GAAgB,EAAE,EAAE,EAAE,CAAC,IAAME,EAAED,EAAE,OAAaG,EAAE,GAAc,EAAEF,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKE,EAAE,CAAC,IAAI,IAAIJ,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAE,mBAAmBC,EAAED,IAAI4D,GAAGxD,EAAEJ,GAAG,CAAC,SAAS,GAAsB,EAAE,EAAE,EAAE,CAAC,IAAME,EAAED,EAAE,OAAaG,EAAE,GAAc,EAAEF,EAAE,CAAC,EAAE,WAAW,KAAK,KAAKE,EAAE,CAAC,IAAI,IAAIJ,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAE,kBAAkBC,EAAED,IAAI6D,GAAGzD,EAAEJ,GAAG,CAAC,SAAS,GAAmB,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,MAAK,OAAO,GAAiB,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,OAAO,GAAgB,IAAK,OAAM,OAAO,GAAgB,IAAK,OAAM,OAAO,GAAgB,IAAK,MAAK,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,IAAK,OAAM,OAAO,GAAiB,IAAK,MAAK,OAAO,GAAkB,IAAK,OAAM,OAAO,GAAkB,IAAK,OAAM,OAAO,GAAkB,IAAK,OAAM,OAAO,GAAkB,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,GAAgB,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,GAAiB,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,GAAgB,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,IAAK,OAAM,OAAO,IAAuB,SAAS,GAAc,EAAE,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC,KAAK,SAAS,GAAkBC,EAAE,KAAK,CAAC,SAAS,GAAiB,EAAE,EAAE,EAAE,CAAC,KAAK,GAAGD,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC,KAAK,KAAKC,EAAE,KAAK,KAAK,SAAS,GAAmBA,EAAE,KAAK,CAA+K,SAAS,GAAkB,EAAE,CAAC,KAAK,GAAGD,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAA+K,SAAS,GAAW,EAAE,EAAE,CAAC,EAAE,IAAI,KAAKC,EAAE,CAAC,EAAE,IAAIA,EAAE,IAAIA,EAAE,SAAS,GAAa,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAEF,EAAE,KAAKI,EAAEF,EAAE,OAAsB,IAAf,GAAG,UAAU,IAAa,CAAC,IAAMM,EAAEsD,GAAG,KAAK5D,EAAE,CAAC,EAAE4D,GAAG,UAAc,EAAEtD,EAAE,GAASC,EAAQD,EAAE,KAAR,IAAWE,EAAEF,EAAE,GAAa,GAAV,IAAI,GAAG,GAAeE,IAAT,IAAK,IAAaA,IAAN,KAAS,EAAE,IAAIN,EAAE,CAAC,GAAW,EAAWM,IAAT,IAAK,GAAM,IAAI,GAAc,EAAEV,EAAEC,EAAE,CAAC,IAAI,GAAiB,EAAED,EAAEC,EAAE,CAAC,CAAC,MAAM,CAAe,IAAIA,EAAV,EAAE,IAAY,GAAeA,IAAT,IAAK,KAAO,EAAE,IAAI,GAAkB,EAAE,CAAC,GAAW,EAAEA,EAAE,EAAC,EAAEA,IAAI,SAAS,GAAc,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAM,EAAED,EAAE,oBAAoBC,EAAE,MAAM,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,CAAC,IAAMiB,EAAEnB,EAAE,iBAAiBC,EAAEC,EAAE,CAAkC,GAAaiB,EAA5CnB,EAAE,mBAAmBC,EAAEkB,EAAE,KAAK,CAAkB,KAAK,EAA8d,SAAS,GAAY,EAAE,EAAE,EAAE,CAAC,IAAMjB,EAAEF,EAAE,aAAaC,EAAE,CAAwC,OAAvC,EAAE,aAAaC,EAAE,EAAE,CAAC,EAAE,cAAcA,EAAE,CAAQA,EAAW,SAAS,GAAe,EAAE,CAAC,IAAMD,EAAED,EAAE,MAAM;EAAK,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAEC,EAAE,OAAO,IAAI,EAAED,GAAGA,EAAE,EAAE,KAAKC,EAAED,GAAG,OAAOC,EAAE,KAAK;EAAK,CAAC,SAAS,GAAsB,EAAE,CAAC,OAAOD,EAAP,CAAU,KAAKkD,GAAG,MAAM,CAAC,SAAS,YAAY,CAAC,KAAKa,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,QAAoE,OAA5D,QAAQ,KAAK,4CAA4C/D,EAAE,CAAO,CAAC,SAAS,YAAY,EAAE,SAAS,GAAgB,EAAE,EAAE,EAAE,CAAC,IAAME,EAAEF,EAAE,mBAAmBC,EAAE,MAAM,CAAOG,EAAEJ,EAAE,iBAAiBC,EAAE,CAAC,MAAM,CAAC,OAAOC,GAAQE,IAAL,GAAO,GAAG,EAAE,aAAa,CAAC;;EAAOA,EAAE;;EAAO,GAAeJ,EAAE,gBAAgBC,EAAE,CAAC,CAAC,SAAS,GAAyB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAsBA,EAAE,CAAC,MAAM,QAAQD,EAAE,2BAA2B,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,SAAS,GAAyB,EAAE,EAAE,CAAC,IAAM,EAAE,GAAsBC,EAAE,CAAC,MAAM,QAAQD,EAAE,mCAAmC,EAAE,GAAG,EAAE,GAAG,MAAM,SAAS,GAAuB,EAAE,EAAE,CAAC,IAAI,EAAE,OAAOC,EAAP,CAAU,KAAK,GAAE,EAAE,SAAS,MAAM,KAAK+D,GAAE,EAAE,WAAW,MAAM,KAAKC,GAAE,EAAE,kBAAkB,MAAM,KAAKC,GAAG,EAAE,aAAa,MAAM,KAAKC,GAAG,EAAE,SAAS,MAAM,QAAQ,QAAQ,KAAK,+CAA+ClE,EAAE,CAAC,EAAE,SAAS,MAAM,QAAQD,EAAE,2BAA2B,EAAE,0BAA0B,SAAS,GAAmB,EAAE,CAAwjB,MAA/iB,CAACA,EAAE,sBAAsBA,EAAE,cAAcA,EAAE,SAASA,EAAE,uBAAuBA,EAAE,oBAAoBA,EAAE,aAA0BA,EAAE,WAAf,WAAwB,kDAAkD,IAAIA,EAAE,oBAAoBA,EAAE,yBAAyBA,EAAE,2BAA2B,wCAAwC,GAAGA,EAAE,sBAAsBA,EAAE,6BAA6B,2CAA2C,IAAIA,EAAE,2BAA2BA,EAAE,QAAQA,EAAE,eAAeA,EAAE,kCAAkC,gDAAgD,GAAG,CAAU,OAAO,GAAgB,CAAC,KAAK;EAAK,CAAC,SAAS,GAAgB,EAAE,CAAC,IAAMC,EAAE,EAAE,CAAC,IAAI,IAAM,KAAKD,EAAE,CAAC,IAAME,EAAEF,EAAE,GAAG,KAAQE,GAAGD,EAAE,KAAK,WAAW,EAAE,IAAIC,EAAE,CAAC,OAAOD,EAAE,KAAK;EAAK,CAAC,SAAS,GAAwB,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAOC,EAAEF,EAAE,oBAAoBC,EAAE,MAAM,CAAC,IAAI,IAAIG,EAAE,EAAEA,EAAEF,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAE,gBAAgBC,EAAEG,EAAE,CAAOI,EAAEN,EAAE,KAAS,EAAE,EAAUA,EAAE,OAAV,QAAiB,EAAE,GAAWA,EAAE,OAAV,QAAiB,EAAE,GAAWA,EAAE,OAAV,QAAiB,EAAE,GAAG,EAAEM,GAAG,CAAC,KAAKN,EAAE,KAAK,SAASF,EAAE,kBAAkBC,EAAEO,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,GAAgB,EAAE,CAAC,OAAWR,IAAL,GAAO,SAAS,GAAiB,EAAE,EAAE,CAAC,OAAOA,EAAE,QAAQ,kBAAkBC,EAAE,aAAa,CAAC,QAAQ,mBAAmBA,EAAE,cAAc,CAAC,QAAQ,wBAAwBA,EAAE,kBAAkB,CAAC,QAAQ,oBAAoBA,EAAE,eAAe,CAAC,QAAQ,mBAAmBA,EAAE,cAAc,CAAC,QAAQ,yBAAyBA,EAAE,mBAAmB,CAAC,QAAQ,0BAA0BA,EAAE,oBAAoB,CAAC,QAAQ,2BAA2BA,EAAE,qBAAqB,CAAC,SAAS,GAAyB,EAAE,EAAE,CAAC,OAAOD,EAAE,QAAQ,uBAAuBC,EAAE,kBAAkB,CAAC,QAAQ,yBAAyBA,EAAE,kBAAkBA,EAAE,oBAAoB,CAA6C,SAAS,GAAgB,EAAE,CAAC,OAAOD,EAAE,QAAQoE,GAAG,GAAgB,CAAC,SAAS,GAAgB,EAAE,EAAE,CAAC,IAAM,EAAEC,EAAGpE,GAAG,GAAY,IAAT,IAAK,GAAM,MAAU,MAAM,6BAA6BA,EAAE,IAAI,CAAC,OAAO,GAAgB,EAAE,CAAiQ,SAAS,GAAY,EAAE,CAAC,OAAOD,EAAE,QAAQsE,GAAG,GAAa,CAAC,QAAQC,GAAG,GAAuB,CAAC,SAAS,GAAuB,EAAE,EAAE,EAAE,EAAE,CAAqI,OAApI,QAAQ,KAAK,sHAAsH,CAAQ,GAAavE,EAAEC,EAAE,EAAEC,EAAE,CAAC,SAAS,GAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAE,GAAG,IAAI,IAAIJ,EAAE,SAASC,EAAE,CAACD,EAAE,SAAS,EAAE,CAAC,IAAI,GAAGE,EAAE,QAAQ,eAAe,KAAKF,EAAE,KAAK,CAAC,QAAQ,uBAAuBA,EAAE,CAAC,OAAOI,EAAE,SAAS,GAAkB,EAAE,CAAC,IAAIH,EAAE,aAAaD,EAAE,UAAU;YAAsBA,EAAE,UAAU,QAAyK,OAAvJA,EAAE,YAAZ,QAAsB,GAAG;wBAAuCA,EAAE,YAAd,UAAwB,GAAG;0BAAsCA,EAAE,YAAX,SAAuB,GAAG;wBAAkCC,EAAE,SAAS,GAA4B,EAAE,CAAC,IAAIA,EAAE,uBAAgK,OAAzI,EAAE,gBAAgB,GAAE,EAAE,qBAAqBD,EAAE,gBAAgB,GAAE,EAAE,0BAA0BA,EAAE,gBAAgBW,KAAI,EAAE,sBAA6BV,EAAE,SAAS,GAAyB,EAAE,CAAC,IAAIA,EAAE,mBAAmB,GAAGD,EAAE,OAAO,OAAOA,EAAE,WAAT,CAAqB,KAAK,GAAG,KAAK2C,GAAG,EAAE,mBAAmB,MAAM,KAAKR,GAAG,KAAKqC,GAAG,EAAE,sBAAsB,MAAM,OAAOvE,EAAE,SAAS,GAAyB,EAAE,CAAC,IAAIA,EAAE,yBAAyB,GAAGD,EAAE,OAAO,OAAOA,EAAE,WAAT,CAAqB,KAAK2C,GAAG,KAAK6B,GAAG,EAAE,yBAAyB,MAAM,OAAOvE,EAAE,SAAS,GAA6B,EAAE,CAAC,IAAIA,EAAE,uBAAuB,GAAGD,EAAE,OAAO,OAAOA,EAAE,QAAT,CAAkB,KAAKyE,GAAE,EAAE,2BAA2B,MAAM,KAAK,GAAE,EAAE,sBAAsB,MAAM,KAAKC,GAAE,EAAE,sBAAsB,MAAM,OAAOzE,EAAE,SAAS,GAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMG,EAAEJ,EAAE,YAAY,CAAOQ,EAAE,EAAE,QAAY,EAAE,EAAE,aAAiB,EAAE,EAAE,eAAqBC,EAAE,GAA4B,EAAE,CAAOC,EAAE,GAAyB,EAAE,CAAOC,EAAE,GAAyB,EAAE,CAAOC,EAAE,GAA6B,EAAE,CAAOC,EAAE,EAAE,SAAS,GAAG,GAAmB,EAAE,CAAOC,EAAE,GAAgBN,EAAE,CAAOO,EAAEX,EAAE,eAAe,CAAK,EAAE6B,EAAMC,EAAE,EAAE,YAAY,YAAY,EAAE,YAAY;EAAK,GAAM,EAAE,qBAAqB,EAAE,CAACpB,EAAE,CAAC,OAAO,GAAgB,CAAC,KAAK;EAAK,CAAC,EAAE,OAAO,IAAI,GAAG;GAAM,EAAE,CAACD,EAAEC,EAAE,CAAC,OAAO,GAAgB,CAAC,KAAK;EAAK,CAAC,EAAE,OAAO,IAAI,GAAG;KAAW,EAAE,CAAC,GAAkB,EAAE,CAAC,uBAAuB,EAAE,WAAWA,EAAE,EAAE,WAAW,yBAAyB,GAAG,EAAE,gBAAgB,+BAA+B,GAAG,EAAE,uBAAuB,0BAA0B,GAAG,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,kBAAkB,GAAG,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,GAAG,EAAE,IAAI,kBAAkB,GAAG,EAAE,OAAO,qBAAqB,GAAG,EAAE,OAAO,WAAWH,EAAE,GAAG,EAAE,SAAS,uBAAuB,GAAG,EAAE,MAAM,oBAAoB,GAAG,EAAE,YAAY,0BAA0B,GAAG,EAAE,QAAQ,sBAAsB,GAAG,EAAE,UAAU,wBAAwB,GAAG,EAAE,WAAW,EAAE,qBAAqB,gCAAgC,GAAG,EAAE,WAAW,EAAE,sBAAsB,iCAAiC,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,sBAAsB,qCAAqC,GAAG,EAAE,mBAAmB,kCAAkC,GAAG,EAAE,iBAAiB,EAAE,uBAAuB,8BAA8B,GAAG,EAAE,YAAY,0BAA0B,GAAG,EAAE,qBAAqB,mCAAmC,GAAG,EAAE,iBAAiB,+BAA+B,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,SAAS,uBAAuB,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,gBAAgB,8BAA8B,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,cAAc,4BAA4B,GAAG,EAAE,kBAAkB,gCAAgC,GAAG,EAAE,eAAe,sBAAsB,GAAG,EAAE,aAAa,oBAAoB,GAAG,EAAE,aAAa,0BAA0B,GAAG,EAAE,UAAU,iBAAiB,GAAG,EAAE,cAAc,0BAA0B,GAAG,EAAE,YAAY,sBAAsB,GAAG,EAAE,SAAS,uBAAuB,GAAG,EAAE,iBAAiB,uBAAuB,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,cAAc,KAAQ,EAAE,YAAY,2BAA2B,GAAG,EAAE,cAAc,EAAE,SAAS,+BAA+B,GAAG,EAAE,cAAc,EAAE,SAAS,8BAA8B,EAAE,kBAAkB,GAAG,EAAE,YAAY,uBAAuB,GAAG,EAAE,UAAU,qBAAqB,GAAG,EAAE,iBAAiB,wBAAwB,GAAG,EAAE,iBAAiB,WAAWF,EAAE,GAAG,EAAE,gBAAgB,8BAA8B,GAAG,EAAE,uBAAuB,0BAA0B,GAAG,EAAE,wBAAwB,EAAE,2BAA2B,8BAA8B,GAAG,4BAA4B,gCAAgC,iCAAiC,2BAA2B,6BAA6B,+BAA+B,+BAA+B,wBAAwB,kCAAmC,SAAS,8BAA8B,iCAAkC,SAAS,2BAA2B,yBAAyB,qBAAqB,qBAAqB,2BAA4B,SAAS,iCAAiC,yBAA0B,6BAA6B,yBAA0B,SAAS,2EAA2E,gCAAiC,gCAAiC,gCAAiC,gCAAiC,2BAA4B,iCAAmC,iCAAmC,iCAAmC,iCAAmC,SAAU,iCAAmC,iCAAmC,iCAAmC,iCAAmC,UAAW,SAAS,sBAAsB,6BAA8B,8BAA+B,SAAS;EAAK,CAAC,OAAO,GAAgB,CAAC,KAAK;EAAK,CAAC,EAAE,CAACI,EAAE,GAAkB,EAAE,CAAC,uBAAuB,EAAE,WAAWC,EAAE,EAAE,QAAQ,EAAE,IAAI,kBAAkB,GAAG,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,GAAG,EAAE,IAAI,kBAAkB,GAAG,EAAE,OAAO,qBAAqB,GAAG,EAAE,OAAO,qBAAqB,GAAG,EAAE,OAAO,WAAWJ,EAAE,GAAG,EAAE,OAAO,WAAWC,EAAE,GAAG,EAAE,OAAO,WAAWC,EAAE,GAAG,EAAE,SAAS,uBAAuB,GAAG,EAAE,MAAM,oBAAoB,GAAG,EAAE,YAAY,0BAA0B,GAAG,EAAE,QAAQ,sBAAsB,GAAG,EAAE,UAAU,wBAAwB,GAAG,EAAE,WAAW,EAAE,qBAAqB,gCAAgC,GAAG,EAAE,WAAW,EAAE,sBAAsB,iCAAiC,GAAG,EAAE,UAAU,wBAAwB,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,sBAAsB,qCAAqC,GAAG,EAAE,mBAAmB,kCAAkC,GAAG,EAAE,YAAY,0BAA0B,GAAG,EAAE,qBAAqB,mCAAmC,GAAG,EAAE,iBAAiB,+BAA+B,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,SAAS,uBAAuB,GAAG,EAAE,UAAU,wBAAwB,GAAG,EAAE,MAAM,oBAAoB,GAAG,EAAE,cAAc,4BAA4B,GAAG,EAAE,kBAAkB,gCAAgC,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,gBAAgB,8BAA8B,GAAG,EAAE,aAAa,2BAA2B,GAAG,EAAE,eAAe,sBAAsB,GAAG,EAAE,cAAc,EAAE,gBAAgB,oBAAoB,GAAG,EAAE,aAAa,0BAA0B,GAAG,EAAE,UAAU,iBAAiB,GAAG,EAAE,cAAc,0BAA0B,GAAG,EAAE,YAAY,0BAA0B,GAAG,EAAE,YAAY,sBAAsB,GAAG,EAAE,YAAY,uBAAuB,GAAG,EAAE,UAAU,qBAAqB,GAAG,EAAE,iBAAiB,wBAAwB,GAAG,EAAE,iBAAiB,WAAWH,EAAE,GAAG,EAAE,mBAAmB,8BAA8B,GAAG,EAAE,wBAAwB,oCAAoC,GAAG,EAAE,uBAAuB,0BAA0B,GAAG,EAAE,wBAAwB,EAAE,2BAA2B,8BAA8B,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,kCAAkC,0BAA0B,GAAG,2BAA2B,+BAA+B,+BAA+B,EAAE,cAAckE,GAAyB,GAAvB,uBAA0B,EAAE,cAAcA,GAA+B,GAA7BN,EAAG,0BAA6B,EAAE,cAAcM,GAAsD,GAApD,GAAuB,cAAc,EAAE,YAAY,CAAI,EAAE,UAAU,oBAAoB,GAAG,EAAE,SAASC,GAAG,iBAAiB,GAAGP,EAAG,wBAAwB,EAAE,IAAI,GAAyB,mBAAmB,EAAE,YAAY,CAAC,GAAG,EAAE,OAAO,GAAyB,sBAAsB,EAAE,eAAe,CAAC,GAAG,EAAE,OAAO,GAAyB,sBAAsB,EAAE,eAAe,CAAC,GAAG,EAAE,YAAY,GAAyB,2BAA2B,EAAE,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAyB,gCAAgC,EAAE,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAyB,6BAA6B,EAAE,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAyB,wBAAwB,EAAE,iBAAiB,CAAC,GAAG,GAAyB,sBAAsB,EAAE,eAAe,CAAC,EAAE,aAAa,yBAAyB,EAAE,aAAa,GAAG;EAAK,CAAC,OAAO,GAAgB,CAAC,KAAK;EAAK,EAAC,EAAE,GAAgB,EAAE,CAAC,EAAE,GAAiB,EAAE,EAAE,CAAC,EAAE,GAAyB,EAAE,EAAE,CAAC,EAAE,GAAgB,EAAE,CAAC,EAAE,GAAiB,EAAE,EAAE,CAAC,EAAE,GAAyB,EAAE,EAAE,CAAC,EAAE,GAAY,EAAE,CAAC,EAAE,GAAY,EAAE,CAAI,EAAE,UAAU,KAAO,EAAE,sBAAqB,EAAE;EAAoB,EAAE,CAAC,oCAAoC,uBAAuB,sBAAsB,4BAA4B,CAAC,KAAK;EAAK,CAAC;EAAK,EAAE,EAAE,CAAC,qBAAqB,EAAE,cAAcQ,GAAG,GAAG,oDAAoD,EAAE,cAAcA,GAAG,GAAG,oCAAoC,uCAAuC,4BAA4B,8BAA8B,oCAAoC,qCAAqC,6CAA6C,uCAAuC,uCAAuC,+CAA+C,yCAAyC,CAAC,KAAK;EAAK,CAAC;EAAK5C,GAAE,IAAMK,EAAEJ,EAAE,EAAE,EAAQK,EAAEL,EAAED,EAAE,EAAQO,EAAE,GAAYpC,EAAE,MAAMkC,EAAE,CAAOwC,EAAE,GAAY1E,EAAE,MAAMmC,EAAE,CAAqM,GAApM,EAAE,aAAaxB,EAAEyB,EAAE,CAAC,EAAE,aAAazB,EAAE+D,EAAE,CAAU,EAAE,sBAAX,IAAK,GAA0E,KAAO,EAAE,cAAc1E,EAAE,mBAAmBW,EAAE,EAAE,WAAW,CAA3GX,EAAE,mBAAmBW,EAAE,EAAE,EAAE,oBAAoB,CAA6D,EAAE,YAAYA,EAAE,CAAIf,EAAE,MAAM,kBAAkB,CAAC,IAAMA,EAAEI,EAAE,kBAAkBW,EAAE,CAAC,MAAM,CAAOd,EAAEG,EAAE,iBAAiBoC,EAAE,CAAC,MAAM,CAAOrB,EAAEf,EAAE,iBAAiB0E,EAAE,CAAC,MAAM,CAAK5E,EAAE,GAASM,EAAE,GAAK,GAAG,KAAQJ,EAAE,oBAAoBW,EAAE,MAAM,CAAC,CAAC,EAAE,GAAM,IAAMd,EAAE,GAAgBG,EAAEoC,EAAE,SAAS,CAAOrB,EAAE,GAAgBf,EAAE0E,EAAE,WAAW,CAAC,QAAQ,MAAM,oCAAoC1E,EAAE,UAAU,CAAC,sBAAsBA,EAAE,oBAAoBW,EAAE,MAAM,CAAC;;oBAAyBf,EAAE;EAAKC,EAAE;EAAKkB,EAAE,MAAUnB,IAAL,GAAoEC,IAAL,IAAakB,IAAL,KAAS,EAAE,IAA3E,QAAQ,KAAK,wCAAwCnB,EAAE,CAA2B,IAAI,KAAK,YAAY,CAAC,SAASE,EAAE,WAAWF,EAAE,aAAa,CAAC,IAAIC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,IAAIkB,EAAE,OAAOc,EAAE,CAAC,EAAE,EAAE,aAAaO,EAAE,CAAC,EAAE,aAAasC,EAAE,CAAC,IAAIC,EAAE,KAAK,YAAY,UAAU,CAAwC,OAA9BA,IAAT,IAAK,KAAQ,EAAE,IAAI,GAAc3E,EAAEW,EAAE,EAASgE,GAAG,IAAIC,EAAoT,MAAlT,MAAK,cAAc,UAAU,CAA8C,OAApCA,IAAT,IAAK,KAAQ,EAAE,GAAwB5E,EAAEW,EAAE,EAASiE,GAAG,KAAK,QAAQ,UAAU,CAAC,EAAE,uBAAuB,KAAK,CAAC,EAAE,cAAcjE,EAAE,CAAC,KAAK,QAAQ,IAAK,IAAG,KAAK,KAAK,EAAE,WAAW,KAAK,GAAG,KAAK,KAAK,SAASd,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQc,EAAE,KAAK,aAAayB,EAAE,KAAK,eAAesC,EAAS,KAAqgC,SAAS,GAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAarE,EAAE,IAAI,GAAuBC,EAAE,EAAE,CAAOC,EAAEP,EAAE,SAAeQ,EAAER,EAAE,uBAA6BW,EAAEX,EAAE,oBAA0B,EAAEA,EAAE,kBAAwB6B,EAAE7B,EAAE,eAAmB8B,EAAE9B,EAAE,UAAgBkC,EAAE,CAAC,kBAAkB,QAAQ,qBAAqB,eAAe,mBAAmB,SAAS,kBAAkB,QAAQ,oBAAoB,UAAU,kBAAkB,QAAQ,iBAAiB,OAAO,qBAAqB,WAAW,qBAAqB,WAAW,mBAAmB,SAAS,kBAAkB,QAAQ,mBAAmB,SAAS,eAAe,SAAS,eAAe,SAAS,eAAe,SAAS,CAAC,SAAS,EAAY,EAAE,CAAoB,IAAMnB,EAAjBnB,EAAE,SAAmB,MAAM,GAAGe,EAAE,MAAO,MAAK,CAAC,IAAMf,EAAE,EAAQC,EAAE,KAAK,OAAOD,EAAE,IAAI,EAAE,CAAOE,EAAE,KAAK,IAAID,EAAEkB,EAAE,OAAO,CAAwH,OAApHjB,EAAEiB,EAAE,QAAQ,QAAQ,KAAK,qCAAqCA,EAAE,OAAO,6BAA6BjB,EAAE,IAAI,CAAQ,GAASA,GAAG,SAAS,EAA0B,EAAE,CAAC,IAAID,EAAmT,OAA9SD,GAAGA,EAAE,UAAU,EAAEA,EAAE,SAAiBA,GAAGA,EAAE,qBAAqB,QAAQ,KAAK,4HAA4H,CAAC,EAAEA,EAAE,QAAQ,UAAc,EAAEkD,GAAG,GAAGlD,GAAGA,EAAE,WAAWA,EAAE,SAASmD,IAAInD,EAAE,OAAOiF,IAAIjF,EAAE,WAAW+D,KAAK,EAAEb,IAAWjD,EAAE,SAAS,EAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMuC,EAAE0C,EAAE,IAAUJ,EAAEtE,EAAE,uBAAuB0E,EAAE,YAAY,KAAWH,GAAGvE,EAAE,uBAAuB,EAAEP,GAAG,IAAIO,EAAE,QAAQsE,EAAE,CAAOE,EAAE1C,EAAE9B,EAAE,MAAY2E,EAAE5C,EAAE,cAAc,EAAYA,EAAE,CAAC,EAAY/B,EAAE,YAAT,OAAoB,EAAEJ,EAAE,gBAAgBI,EAAE,UAAU,CAAC,IAAIA,EAAE,WAAW,QAAQ,KAAK,oCAAoCA,EAAE,UAAU,uBAAuB0B,EAAE,WAAW,EAAC,IAAIkD,EAAEC,EAAMC,EAAEC,EAAE,GAAGP,EAAE,CAAC,IAAMhF,EAAEoC,GAAG4C,GAAG,EAAEhF,EAAE,aAAa,EAAEA,EAAE,oBAAoB,EAAEQ,EAAE,aAAa,EAAEA,EAAE,eAAe,EAAE,OAAOA,EAAE,CAAC,EAAEC,EAAE,kBAAkBD,EAAE,CAAC,EAAEC,EAAE,oBAAoBD,EAAE,CAAC,IAAMgF,EAAExF,EAAE,iBAAiB,CAAOyF,EAAEjF,EAAE,UAAU,EAAQkF,EAAElF,EAAE,UAAU,EAAivI,MAAvuI,CAAC,SAASG,EAAE,SAASqE,EAAE,WAAWxE,EAAE,KAAK,aAAa4E,EAAE,eAAeC,EAAE,QAAQ7E,EAAE,QAAQ,qBAAqB8E,EAAE,uBAAuBC,EAAE,oBAAoB,KAAO/E,EAAE,oBAAoB,YAAYA,EAAE,YAAY,UAAU0B,EAAE,WAAW,KAAOK,EAAE,gBAAgB,gBAAgB,KAAOA,EAAE,iBAAwBA,EAAE,gBAAT,KAAuB,uBAAuBN,EAAE,eAAsBuD,IAAP,KAA8CxF,EAAE,eAAvC,EAA0BwF,EAAE,QAAQ,CAAkB,IAAI,CAAC,CAAChF,EAAE,IAAI,YAAY,EAA0BA,EAAE,IAAI,CAAC,OAAO,CAAC,CAACA,EAAE,OAAO,eAAe,EAA0BA,EAAE,OAAO,CAAC,OAAO,CAAC,CAACuE,EAAE,WAAWA,GAAGA,EAAE,QAAQ,eAAe,EAA0BA,EAAE,CAAC,aAAa,CAAC,CAACA,IAAIA,EAAE,UAAU5C,IAAI4C,EAAE,UAAUP,IAAI,SAAS,CAAC,CAAChE,EAAE,SAAS,iBAAiB,EAA0BA,EAAE,SAAS,CAAC,MAAM,CAAC,CAACA,EAAE,MAAM,YAAY,CAAC,CAACA,EAAE,YAAY,oBAAoB,EAA0BA,EAAE,YAAY,CAAC,QAAQ,CAAC,CAACA,EAAE,QAAQ,UAAU,CAAC,CAACA,EAAE,UAAU,qBAAqBA,EAAE,gBAAgBmF,GAAG,sBAAsBnF,EAAE,gBAAgBoF,GAAG,UAAUF,EAAE,aAAaA,GAAG,CAAC,CAAClF,EAAE,aAAa,sBAAsBkF,GAAG,CAAC,CAAClF,EAAE,sBAAsB,mBAAmBkF,GAAG,CAAC,CAAClF,EAAE,mBAAmB,gBAAgB,CAAC,CAACA,EAAE,gBAAgB,aAAa,CAAC,CAACA,EAAE,aAAa,aAAa,CAAC,CAACA,EAAE,aAAa,YAAY,CAAC,CAACA,EAAE,YAAY,qBAAqB,CAAC,CAACA,EAAE,qBAAqB,iBAAiB,CAAC,CAACA,EAAE,iBAAiB,yBAAyB,EAA0BA,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAACA,EAAE,SAAS,UAAUiF,EAAE,YAAY,CAAC,CAACjF,EAAE,YAAY,MAAMA,EAAE,MAAM,EAAE,cAAc,CAAC,CAACA,EAAE,cAAc,sBAAsB,EAA0BA,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAACA,EAAE,kBAAkB,aAAaA,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAACA,EAAE,gBAAgB,aAAa,CAAC,CAACA,EAAE,aAAa,QAAQA,EAAE,QAAQ,eAAe,CAAC,CAACA,EAAE,WAAW,CAAC,CAAC+B,EAAE,UAAU,CAAC,CAACA,EAAE,SAAS,WAAW,QAAQ,aAAa/B,EAAE,aAAa,aAAa,KAAOA,EAAE,cAAc,CAAC,CAAC+B,EAAE,UAAU,CAAC,CAACA,EAAE,SAAS,WAAW,OAAWA,EAAE,SAAS,WAAW,MAAM,WAAhC,EAAyC,UAAU,CAAC,CAAC/B,EAAE,KAAK,CAAC,CAACA,EAAE,SAAS,CAAC,CAACA,EAAE,WAAW,CAAC,CAACA,EAAE,aAAa,CAAC,CAACA,EAAE,UAAU,CAAC,CAACA,EAAE,aAAa,CAAC,CAACA,EAAE,cAAc,CAAC,CAACA,EAAE,cAAc,CAAC,CAACA,EAAE,cAAc,CAAC,CAACA,EAAE,uBAAuB,CAAC,CAACA,EAAE,oBAAoB,CAAC,CAACA,EAAE,iBAAiB,CAAC,CAACA,EAAE,iBAAiB,CAAC,CAACA,EAAE,cAAc,CAAC,CAACA,EAAE,sBAAsB,CAAC,CAACA,EAAE,kBAAkB,CAAC,CAACA,EAAE,eAAe,CAAC,CAACA,EAAE,kBAAkB,cAAc,EAAIA,EAAE,KAAOA,EAAE,SAAWA,EAAE,WAAaA,EAAE,aAAeA,EAAE,UAAYA,EAAE,aAAeA,EAAE,cAAgBA,EAAE,cAAgBA,EAAE,oBAAoBA,EAAE,aAAa,GAAKA,EAAE,iBAAmBA,EAAE,cAAgBA,EAAE,sBAAwBA,EAAE,kBAAkBA,EAAE,MAAM,GAAKA,EAAE,eAAiBA,EAAE,oBAAoB,CAAC,CAACA,EAAE,gBAAgB,IAAI,CAAC,CAACgC,EAAE,OAAOhC,EAAE,IAAI,QAAQgC,GAAGA,EAAE,UAAU,YAAY,CAAC,CAAChC,EAAE,YAAY,gBAAgBA,EAAE,gBAAgB,uBAAuBI,EAAE,SAAS,KAAO2B,EAAE,eAAe4C,EAAE,EAAE,SAASA,EAAE,iBAAiBpE,EAAE,aAAa,CAAC,CAACwB,EAAE,UAAU,CAAC,CAACA,EAAE,SAAS,gBAAgB,SAAS,aAAa,CAAC,CAACA,EAAE,UAAU,CAAC,CAACA,EAAE,SAAS,gBAAgB,OAAO,kBAAkB,CAACA,EAAE,UAAU,CAACA,EAAE,SAAS,gBAAgB,SAAS,EAAEA,EAAE,SAAS,gBAAgB,SAAS,OAAO,aAAaF,EAAE,YAAY,OAAO,eAAeA,EAAE,MAAM,OAAO,cAAcA,EAAE,KAAK,OAAO,kBAAkBA,EAAE,SAAS,OAAO,cAAcA,EAAE,KAAK,OAAO,mBAAmBA,EAAE,qBAAqB,OAAO,qBAAqBA,EAAE,eAAe,OAAO,oBAAoBA,EAAE,cAAc,OAAO,kBAAkB,EAAE,UAAU,oBAAoB,EAAE,gBAAgB,OAAO7B,EAAE,OAAO,UAAUA,EAAE,UAAU,iBAAiBR,EAAE,UAAU,SAASU,EAAE,OAAO,EAAE,cAAcV,EAAE,UAAU,KAAK,YAAYQ,EAAE,WAAWR,EAAE,YAAY2E,GAAE,wBAAwB3E,EAAE,wBAAwB,mBAAmBQ,EAAE,mBAAmB,YAAYA,EAAE,OAAOM,GAAE,UAAUN,EAAE,OAAO,GAAE,aAAsBA,EAAE,eAAX,IAAK,IAAoBA,EAAE,aAAa,oBAAoBA,EAAE,oBAAoB,qBAAqBA,EAAE,YAAYA,EAAE,WAAW,YAAY,mBAAmBA,EAAE,YAAYA,EAAE,WAAW,UAAU,qBAAqBA,EAAE,YAAYA,EAAE,WAAW,YAAY,0BAA0BA,EAAE,YAAYA,EAAE,WAAW,iBAAiB,2BAA2BG,GAAGT,EAAE,IAAI,iBAAiB,CAAC,6BAA6BS,GAAGT,EAAE,IAAI,qBAAqB,CAAC,kCAAkCS,GAAGT,EAAE,IAAI,yBAAyB,CAAC,sBAAsBM,EAAE,uBAAuB,CAAC,CAAU,SAAS,EAAmB,EAAE,CAAC,IAAMW,EAAE,EAAE,CAAuG,GAAnGlB,EAAE,SAAS,EAAE,KAAKA,EAAE,SAAS,EAAM,EAAE,KAAKA,EAAE,qBAAqB,CAAC,EAAE,KAAKA,EAAE,uBAAuB,EAAaA,EAAE,UAAX,IAAK,GAAc,IAAI,IAAMD,KAAKC,EAAE,QAAS,EAAE,KAAKD,EAAE,CAAC,EAAE,KAAKC,EAAE,QAAQD,GAAG,CAA8J,MAA1J,KAAQC,EAAE,sBAAqB,EAA6BkB,EAAElB,EAAE,CAAC,EAA2BkB,EAAElB,EAAE,CAAC,EAAE,KAAKD,EAAE,eAAe,EAAC,EAAE,KAAKC,EAAE,sBAAsB,CAAQkB,EAAE,MAAM,CAAC,SAAS,EAA6B,EAAE,EAAE,CAAC,EAAE,KAAKlB,EAAE,UAAU,CAAC,EAAE,KAAKA,EAAE,eAAe,CAAC,EAAE,KAAKA,EAAE,YAAY,CAAC,EAAE,KAAKA,EAAE,eAAe,CAAC,EAAE,KAAKA,EAAE,WAAW,CAAC,EAAE,KAAKA,EAAE,eAAe,CAAC,EAAE,KAAKA,EAAE,iBAAiB,CAAC,EAAE,KAAKA,EAAE,oBAAoB,CAAC,EAAE,KAAKA,EAAE,QAAQ,CAAC,EAAE,KAAKA,EAAE,UAAU,CAAC,EAAE,KAAKA,EAAE,QAAQ,CAAC,EAAE,KAAKA,EAAE,gBAAgB,CAAC,EAAE,KAAKA,EAAE,SAAS,CAAC,EAAE,KAAKA,EAAE,kBAAkB,CAAC,EAAE,KAAKA,EAAE,aAAa,CAAC,EAAE,KAAKA,EAAE,eAAe,CAAC,EAAE,KAAKA,EAAE,cAAc,CAAC,EAAE,KAAKA,EAAE,cAAc,CAAC,EAAE,KAAKA,EAAE,kBAAkB,CAAC,EAAE,KAAKA,EAAE,mBAAmB,CAAC,EAAE,KAAKA,EAAE,qBAAqB,CAAC,EAAE,KAAKA,EAAE,oBAAoB,CAAC,EAAE,KAAKA,EAAE,cAAc,CAAC,EAAE,KAAKA,EAAE,YAAY,CAAC,EAAE,KAAKA,EAAE,kBAAkB,CAAC,EAAE,KAAKA,EAAE,oBAAoB,CAAC,EAAE,KAAKA,EAAE,OAAO,CAAC,EAAE,KAAKA,EAAE,yBAAyB,CAAC,EAAE,KAAKA,EAAE,sBAAsB,CAAC,SAAS,EAA2B,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,EAAE,sBAAsB,EAAE,OAAO,GAAG,CAAC,EAAE,uBAAuB,EAAE,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,uBAAuB,EAAE,OAAO,GAAG,CAAC,EAAE,oBAAoB,EAAE,OAAO,GAAG,CAAC,EAAE,iBAAiB,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,EAAE,gBAAgB,EAAE,OAAO,GAAG,CAAC,EAAE,eAAe,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC,EAAE,sBAAsB,EAAE,OAAO,GAAG,CAAC,EAAE,kBAAkB,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,iBAAiB,EAAE,OAAO,GAAG,CAAC,EAAE,cAAc,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,eAAe,EAAE,OAAO,GAAG,CAAC,EAAE,mBAAmB,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAY,EAAE,CAAC,IAAMA,EAAEqC,EAAEtC,EAAE,MAAUmB,EAAE,GAAGlB,EAAE,CAAC,IAAMD,EAAEoC,GAAGnC,GAAG,EAAE4F,GAAG,MAAM7F,EAAE,SAAS,MAAM,EAAEA,EAAE,SAAS,OAAOmB,EAAE,SAAS,EAAe,EAAE,EAAE,CAAC,IAAIjB,EAAE,IAAI,IAAIF,EAAE,EAAEC,EAAES,EAAE,OAAOV,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAES,EAAEV,GAAG,GAAGC,EAAE,WAAWkB,EAAE,CAAC,EAAElB,EAAE,EAAEC,EAAE,UAAU,OAA4D,OAAzCA,IAAT,IAAK,KAAO,EAAE,IAAI,GAAaF,EAAEmB,EAAElB,EAAEO,EAAE,CAAC,EAAE,KAAKN,EAAE,EAAQA,EAAE,SAAS,EAAe,EAAE,CAAC,GAAO,EAAEF,EAAE,YAAR,EAAkB,CAAC,IAAMC,EAAES,EAAE,QAAQV,EAAE,CAAC,EAAEC,GAAGS,EAAEA,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAmB,EAAE,CAAC,EAAE,OAAOV,EAAE,CAAC,SAAS,GAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAe,gBAAiC,qBAA+B,cAA2B,iBAA8B,iBAAkC,qBAAmB,SAASU,EAAU,UAAQ,CAAC,SAAS,IAAiB,CAAC,IAAIV,EAAE,IAAI,QAAQ,SAAS,EAAI,EAAE,CAAC,IAAI,EAAEA,EAAE,IAAIC,EAAE,CAAgC,OAAnB,IAAT,IAAK,KAAO,EAAE,EAAE,CAAC,EAAE,IAAIA,EAAE,EAAE,EAAQ,EAAE,SAAS,EAAO,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,SAAS,EAAO,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,GAAGC,EAAE,SAAS,GAAS,CAAC,EAAE,IAAI,QAAQ,MAAM,CAAK,MAAW,SAAc,SAAe,UAAQ,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAC,OAAOF,EAAE,aAAaC,EAAE,WAAqCD,EAAE,cAAcC,EAAE,YAAwCD,EAAE,SAAS,KAAKC,EAAE,SAAS,GAA+BD,EAAE,IAAIC,EAAE,EAAUD,EAAE,GAAGC,EAAE,GAAfD,EAAE,EAAEC,EAAE,EAA5CD,EAAE,SAAS,GAAGC,EAAE,SAAS,GAAnFD,EAAE,YAAYC,EAAE,YAAxED,EAAE,WAAWC,EAAE,WAA2J,SAAS,GAAyB,EAAE,EAAE,CAAC,OAAOD,EAAE,aAAaC,EAAE,WAAqCD,EAAE,cAAcC,EAAE,YAAwCD,EAAE,IAAIC,EAAE,EAAUD,EAAE,GAAGC,EAAE,GAAfA,EAAE,EAAED,EAAE,EAA5CA,EAAE,YAAYC,EAAE,YAAxED,EAAE,WAAWC,EAAE,WAAiG,SAAS,IAAiB,CAAC,IAAMD,EAAE,EAAE,CAAKC,EAAE,EAAQ,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAC,SAAS,GAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIK,EAAET,EAAEC,GAA0O,OAA3NQ,IAAT,IAAK,IAAO,EAAE,CAAC,GAAGU,EAAE,GAAG,OAAOA,EAAE,SAASjB,EAAE,SAASE,EAAE,WAAWI,EAAE,YAAYW,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAElB,GAAGQ,IAAO,EAAE,GAAGU,EAAE,GAAG,EAAE,OAAOA,EAAE,EAAE,SAASjB,EAAE,EAAE,SAASE,EAAE,EAAE,WAAWI,EAAE,EAAE,YAAYW,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,GAAE,IAAWV,EAAE,SAAS,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,EAAkBV,EAAEC,EAAEO,EAAE,EAAE,EAAEC,EAAE,CAAC,EAAE,aAAa,EAAEP,EAAE,KAAKQ,EAAE,CAAC,KAAOF,EAAE,YAAYJ,EAAE,KAAKM,EAAE,CAAC,EAAE,KAAKA,EAAE,CAAC,SAAS,EAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAE,EAAkBV,EAAEC,EAAEO,EAAE,EAAE,EAAEC,EAAE,CAAC,EAAE,aAAa,EAAEP,EAAE,QAAQQ,EAAE,CAAC,KAAOF,EAAE,YAAYJ,EAAE,QAAQM,EAAE,CAAC,EAAE,QAAQA,EAAE,CAAC,SAAS,EAAK,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,EAAE,KAAKV,GAAG,GAAkB,CAAC,EAAE,OAAO,GAAGE,EAAE,KAAKD,GAAG,GAAyB,CAAC,EAAE,OAAO,GAAGG,EAAE,KAAKH,GAAG,GAAyB,CAAC,SAAS,GAAQ,CAAC,IAAI,IAAIkB,EAAElB,EAAEC,EAAEF,EAAE,OAAOmB,EAAEjB,EAAE,IAAI,CAAC,IAAMD,EAAED,EAAEmB,GAAG,GAAUlB,EAAE,KAAT,KAAY,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,KAAK,EAAE,SAAS,KAAK,EAAE,SAAS,KAAK,EAAE,MAAM,MAAM,MAAM,CAAC,OAAO,EAAE,aAAaC,EAAE,YAAYE,EAAO,OAAU,OAAa,UAAe,SAAY,OAAK,CAAC,SAAS,IAAkB,CAAC,IAAIJ,EAAE,IAAI,QAAQ,SAAS,EAAI,EAAE,EAAE,CAAC,IAAIE,EAAgJ,MAA3I,KAAQF,EAAE,IAAIC,EAAE,EAAE,EAAE,IAAI,GAAgB,EAAE,IAAIA,EAAE,CAACC,EAAE,CAAC,EAAS,GAAGF,EAAE,IAAIC,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAgB,EAAE,IAAIA,EAAE,CAAC,KAAKC,EAAE,EAAM,EAAEF,EAAE,IAAIC,EAAE,CAAC,GAAUC,EAAE,SAAS,GAAS,CAAC,EAAE,IAAI,QAAQ,MAAM,CAAK,MAAY,UAAQ,CAAC,SAAS,IAAe,CAAC,IAAMF,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,GAAYA,EAAEC,EAAE,MAAb,IAAK,GAAY,OAAOD,EAAEC,EAAE,IAAI,IAAI,EAAE,OAAOA,EAAE,KAAT,CAAe,IAAI,mBAAmB,EAAE,CAAC,UAAU,IAAI,EAAQ,MAAM,IAAI,EAAM,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC,SAAS,IAAI,EAAQ,UAAU,IAAI,EAAQ,MAAM,IAAI,EAAM,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC,SAAS,IAAI,EAAQ,MAAM,IAAI,EAAM,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC,UAAU,IAAI,EAAQ,SAAS,IAAI,EAAM,YAAY,IAAI,EAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC,MAAM,IAAI,EAAM,SAAS,IAAI,EAAQ,UAAU,IAAI,EAAQ,WAAW,IAAI,EAAQ,CAAC,MAAgB,MAAV,GAAEA,EAAE,IAAI,EAAS,GAAG,CAAC,SAAS,IAAqB,CAAC,IAAMD,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,GAAYA,EAAEC,EAAE,MAAb,IAAK,GAAY,OAAOD,EAAEC,EAAE,IAAI,IAAI,EAAE,OAAOA,EAAE,KAAT,CAAe,IAAI,mBAAmB,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,IAAI,EAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,IAAI,EAAQ,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,IAAI,EAAQ,iBAAiB,EAAE,gBAAgB,IAAI,CAAC,MAAgB,MAAV,GAAEA,EAAE,IAAI,EAAS,GAAG,CAAU,SAAS,GAAyB,EAAE,EAAE,CAAC,OAAOA,EAAE,WAAW,EAAE,IAAID,EAAE,WAAW,EAAE,GAAG,SAAS,GAAY,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAoBE,EAAE,IAAqB,CAAOE,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,eAAe,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC,kBAAkB,EAAE,CAAC,qBAAqB,EAAE,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC,aAAa,KAAK,aAAa,KAAK,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC,eAAe,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAIJ,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EAAQ,CAAC,IAAMQ,EAAE,IAAI,EAAc,EAAE,IAAI,EAAc,EAAE,IAAI,EAAQ,SAAS,EAAM,EAAE,EAAE,CAAC,IAAI6B,EAAE,EAAE5B,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAIV,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAE,MAAMA,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAIW,EAAE,EAAMC,EAAE,EAAMC,EAAE,EAAMC,EAAE,EAAMC,EAAE,EAAM,EAAE,EAAMkB,EAAE,EAAMC,EAAE,EAAE,EAAE,KAAK,GAAyB,CAAC,IAAMI,EAAE,KAAOtB,EAAU,EAAR,KAAK,GAAK,IAAI,IAAIhB,EAAE,EAAEC,EAAEO,EAAE,OAAOR,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEO,EAAER,GAASgB,EAAEf,EAAE,MAAYsC,EAAEtC,EAAE,UAAgBuC,EAAEvC,EAAE,SAAe6E,EAAE7E,EAAE,QAAQA,EAAE,OAAO,IAAIA,EAAE,OAAO,IAAI,QAAQ,KAAK,GAAGA,EAAE,eAAgB,GAAGe,EAAE,EAAEuB,EAAED,EAAE,GAAGtB,EAAE,EAAEuB,EAAED,EAAE,GAAGtB,EAAE,EAAEuB,EAAED,UAAUrC,EAAE,aAAa,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAE,MAAMA,GAAG,gBAAgBC,EAAE,GAAG,aAAaD,GAAGuC,EAAE,SAAStC,EAAE,mBAAmB,CAAC,IAAMD,EAAE,EAAE,IAAIC,EAAE,CAAqD,GAApD,EAAE,MAAM,KAAKA,EAAE,MAAM,CAAC,eAAeA,EAAE,UAAUqC,EAAE,CAAIrC,EAAE,WAAW,CAAC,IAAMD,EAAEC,EAAE,OAAakB,EAAEjB,EAAE,IAAID,EAAE,CAAC,EAAE,WAAWD,EAAE,KAAK,EAAE,iBAAiBA,EAAE,WAAW,EAAE,aAAaA,EAAE,OAAO,EAAE,cAAcA,EAAE,QAAQ,EAAE,kBAAkBW,GAAGQ,EAAE,EAAE,qBAAqBR,GAAGmE,EAAE,EAAE,wBAAwBnE,GAAGV,EAAE,OAAO,OAAO,IAAI,EAAE,YAAYU,GAAGX,EAAE,YAAYC,EAAE,YAAY,CAAC,IAAMD,EAAE,EAAE,IAAIC,EAAE,CAA6L,GAA5L,EAAE,SAAS,sBAAsBA,EAAE,YAAY,CAAC,EAAE,MAAM,KAAKe,EAAE,CAAC,eAAeuB,EAAED,EAAE,CAAC,EAAE,SAASE,EAAE,EAAE,QAAQ,KAAK,IAAIvC,EAAE,MAAM,CAAC,EAAE,YAAY,KAAK,IAAIA,EAAE,OAAO,EAAEA,EAAE,UAAU,CAAC,EAAE,MAAMA,EAAE,MAASA,EAAE,WAAW,CAAC,IAAMD,EAAEC,EAAE,OAAakB,EAAEjB,EAAE,IAAID,EAAE,CAAC,EAAE,WAAWD,EAAE,KAAK,EAAE,iBAAiBA,EAAE,WAAW,EAAE,aAAaA,EAAE,OAAO,EAAE,cAAcA,EAAE,QAAQ,EAAE,WAAWa,GAAGM,EAAE,EAAE,cAAcN,GAAGiE,EAAE,EAAE,iBAAiBjE,GAAGZ,EAAE,OAAO,OAAO,IAAI,EAAE,KAAKY,GAAGb,EAAE,YAAYC,EAAE,gBAAgB,CAAC,IAAMD,EAAE,EAAE,IAAIC,EAAE,CAAC,EAAE,MAAM,KAAKe,EAAE,CAAC,eAAeuB,EAAE,CAAC,EAAE,UAAU,IAAI,GAAGtC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,CAAC,EAAE,SAASa,GAAGd,EAAE,YAAYC,EAAE,aAAa,CAAC,IAAMD,EAAE,EAAE,IAAIC,EAAE,CAA2F,GAA1F,EAAE,MAAM,KAAKA,EAAE,MAAM,CAAC,eAAeA,EAAE,UAAUqC,EAAE,CAAC,EAAE,SAASrC,EAAE,SAAS,EAAE,MAAMA,EAAE,MAASA,EAAE,WAAW,CAAC,IAAMD,EAAEC,EAAE,OAAakB,EAAEjB,EAAE,IAAID,EAAE,CAAC,EAAE,WAAWD,EAAE,KAAK,EAAE,iBAAiBA,EAAE,WAAW,EAAE,aAAaA,EAAE,OAAO,EAAE,cAAcA,EAAE,QAAQ,EAAE,iBAAiBA,EAAE,OAAO,KAAK,EAAE,gBAAgBA,EAAE,OAAO,IAAI,EAAE,YAAYY,GAAGO,EAAE,EAAE,eAAeP,GAAGkE,EAAE,EAAE,kBAAkBlE,GAAGX,EAAE,OAAO,OAAO,IAAI,EAAE,MAAMW,GAAGZ,EAAE,YAAYC,EAAE,kBAAkB,CAAC,IAAMD,EAAE,EAAE,IAAIC,EAAE,CAAC,EAAE,SAAS,KAAKA,EAAE,MAAM,CAAC,eAAesC,EAAED,EAAE,CAAC,EAAE,YAAY,KAAKrC,EAAE,YAAY,CAAC,eAAesC,EAAED,EAAE,CAAC,EAAE,KAAKvB,GAAGf,EAAE,KAAQc,EAAE,IAAKb,EAAE,UAA8E,KAAOD,EAAE,IAAI,2BAA2B,EAA5G,EAAE,aAAa8F,EAAG,YAAY,EAAE,aAAaA,EAAG,aAAkI,KAAO9F,EAAE,IAAI,gCAAgC,EAAE,EAAE,aAAa8F,EAAG,WAAW,EAAE,aAAaA,EAAG,YAAgB,QAAQ,MAAM,8EAA8E,EAAC,EAAE,QAAQ,GAAGzD,EAAE,EAAE,QAAQ,GAAG5B,EAAE,EAAE,QAAQ,GAAGC,EAAE,IAAM6B,EAAEnC,EAAE,MAAQmC,EAAE,oBAAoB5B,GAAG4B,EAAE,cAAc3B,GAAG2B,EAAE,aAAa1B,GAAG0B,EAAE,iBAAiBzB,GAAGyB,EAAE,aAAaxB,GAAGwB,EAAE,wBAAwB,GAAGA,EAAE,kBAAkBN,GAAGM,EAAE,iBAAiBL,KAAG,EAAE,YAAY,OAAOvB,EAAE,EAAE,KAAK,OAAOE,EAAE,EAAE,SAAS,OAAOC,EAAE,EAAE,MAAM,OAAOF,EAAE,EAAE,KAAK,OAAOG,EAAE,EAAE,kBAAkB,OAAO,EAAE,EAAE,qBAAqB,OAAO,EAAE,EAAE,YAAY,OAAOkB,EAAE,EAAE,eAAe,OAAOA,EAAE,EAAE,WAAW,OAAOC,EAAE,EAAE,cAAc,OAAOA,EAAE,EAAE,wBAAwB,OAAO,EAAE,EAAE,kBAAkB,OAAOD,EAAE,EAAE,iBAAiB,OAAOC,EAAE,EAAE,kBAAkBvB,EAAE,EAAE,YAAYC,EAAE,EAAE,WAAWC,EAAE,EAAE,eAAeC,EAAE,EAAE,WAAWC,EAAE,EAAE,sBAAsB,EAAE,EAAE,gBAAgBkB,EAAE,EAAE,eAAeC,EAAE,EAAE,QAAQ,MAAM,SAAS,EAAU,EAAE,EAAE,CAAC,IAAIf,EAAE,EAAMjB,EAAE,EAAMO,EAAE,EAAMC,EAAE,EAAMC,EAAE,EAAQC,EAAEX,EAAE,mBAAmB,IAAI,IAAIA,EAAE,EAAEY,EAAEb,EAAE,OAAOC,EAAEY,EAAE,IAAI,CAAC,IAAMA,EAAEb,EAAEC,GAAG,GAAGY,EAAE,mBAAmB,CAAC,IAAMb,EAAEI,EAAE,YAAYe,GAAG,EAAE,UAAU,sBAAsBN,EAAE,YAAY,CAAC,EAAE,sBAAsBA,EAAE,OAAO,YAAY,CAAC,EAAE,UAAU,IAAIL,EAAE,CAAC,EAAE,UAAU,mBAAmBI,EAAE,CAAC,YAAYC,EAAE,YAAY,CAAC,IAAMb,EAAEI,EAAE,KAAKK,GAAG,EAAE,SAAS,sBAAsBI,EAAE,YAAY,CAAC,EAAE,SAAS,aAAaD,EAAE,CAAC,EAAE,UAAU,sBAAsBC,EAAE,YAAY,CAAC,EAAE,sBAAsBA,EAAE,OAAO,YAAY,CAAC,EAAE,UAAU,IAAIL,EAAE,CAAC,EAAE,UAAU,mBAAmBI,EAAE,CAAC,YAAYC,EAAE,gBAAgB,CAAC,IAAMb,EAAEI,EAAE,SAASM,GAAG,EAAE,SAAS,sBAAsBG,EAAE,YAAY,CAAC,EAAE,SAAS,aAAaD,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,KAAKC,EAAE,YAAY,CAAC,EAAE,YAAYD,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,UAAU,IAAI,GAAGC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,aAAa,EAAE,CAAC,EAAE,WAAW,aAAa,EAAE,CAAC,YAAYA,EAAE,aAAa,CAAC,IAAMb,EAAEI,EAAE,MAAMF,GAAG,EAAE,SAAS,sBAAsBW,EAAE,YAAY,CAAC,EAAE,SAAS,aAAaD,EAAE,CAAC,YAAYC,EAAE,kBAAkB,CAAC,IAAMb,EAAEI,EAAE,KAAKO,GAAG,EAAE,UAAU,sBAAsBE,EAAE,YAAY,CAAC,EAAE,UAAU,mBAAmBD,EAAE,CAAC,EAAE,UAAU,WAAW,CAAC,MAAM,MAAM,CAAO,QAAgB,YAAU,MAAMR,EAAE,CAAC,SAAS,GAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAYJ,EAAEC,EAAE,CAAOC,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAC,SAAS,GAAM,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAU,EAAE,CAAC,EAAE,KAAKJ,EAAE,CAAC,SAAS,EAAW,EAAE,CAAC,EAAE,KAAKA,EAAE,CAAC,SAAS,EAAY,EAAE,CAAC,EAAE,MAAME,EAAEF,EAAE,CAAC,SAAS,EAAgB,EAAE,CAAC,EAAE,UAAUE,EAAEF,EAAE,CAAiD,MAAM,CAAM,OAAK,MAAzD,CAAC,YAAYE,EAAE,aAAaE,EAAE,OAAO,EAAE,CAAsC,cAA4B,kBAA0B,YAAqB,aAAW,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,QAAQ,SAAS,EAAI,EAAE,EAAE,EAAE,CAAC,IAAII,EAA4J,MAAvJ,KAAQ,EAAE,IAAIN,EAAE,EAAE,EAAE,IAAI,GAAiBF,EAAEC,EAAE,CAAC,EAAE,IAAIC,EAAE,CAACM,EAAE,CAAC,EAASJ,GAAG,EAAE,IAAIF,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAiBF,EAAEC,EAAE,CAAC,EAAE,IAAIC,EAAE,CAAC,KAAKM,EAAE,EAAM,EAAE,EAAE,IAAIN,EAAE,CAACE,GAAUI,EAAE,SAAS,GAAS,CAAC,EAAE,IAAI,QAAQ,MAAM,CAAK,MAAY,UAAQ,CAAk/E,SAAS,GAAe,EAAE,EAAE,EAAE,CAAC,IAAIN,EAAE,IAAI,GAAcE,EAAE,IAAI,EAAQI,EAAE,IAAI,EAAQ,EAAE,IAAI,GAAQ,EAAE,IAAI,GAAkB,CAAC,aAAauF,GAAG,CAAC,CAACrF,EAAE,IAAI,GAAqBK,EAAE,EAAE,CAAC,EAAE,EAAE,eAAqBmB,EAAE,CAAC,EAAE,GAAE,EAAE,GAAE,EAAEpB,GAAE,CAAOwB,EAAE,IAAI,GAAe,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,EAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa0D,GAAG,eAAeC,GAAG,CAAC,CAAO1D,EAAED,EAAE,OAAO,CAAC,EAAE,QAAQ,gBAAgB,EAAE,IAAME,EAAE,IAAI,GAAe,EAAE,aAAa,WAAW,IAAI,GAAgB,IAAI,aAAa,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAMsC,EAAE,IAAI,GAAKtC,EAAEF,EAAE,CAAOyC,EAAE,KAAK,KAAK,QAAQ,GAAM,KAAK,WAAW,GAAK,KAAK,YAAY,GAAM,KAAK,KAAK,GAAE,KAAK,OAAO,SAAS,EAAE,EAAE,EAAE,CAAmF,GAA/E,KAAQA,EAAE,SAAkB,KAAQA,EAAE,YAAY,KAAQA,EAAE,aAA0B9E,EAAE,SAAN,EAAa,OAAO,IAAMQ,EAAET,EAAE,iBAAiB,CAAOU,EAAEV,EAAE,mBAAmB,CAAOY,EAAEZ,EAAE,sBAAsB,CAAOa,EAAEb,EAAE,MAAM,EAAE,YAAYiC,GAAE,CAAC,EAAE,QAAQ,MAAM,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,MAAM,QAAQ,GAAK,CAAC,EAAE,eAAe,GAAM,CAAC,IAAI,IAAIxB,EAAE,EAAEC,EAAET,EAAE,OAAOQ,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAET,EAAEQ,GAASG,EAAEF,EAAE,OAAO,GAAYE,IAAT,IAAK,GAAM,CAAC,QAAQ,KAAK,wBAAwBF,EAAE,iBAAiB,CAAC,SAAS,GAAG,KAAQE,EAAE,YAAY,KAAQA,EAAE,YAAY,SAAS,EAAE,KAAKA,EAAE,QAAQ,CAAC,IAAME,EAAEF,EAAE,iBAAiB,CAA2K,GAA1K,EAAE,SAASE,EAAE,CAAC,EAAE,KAAKF,EAAE,QAAQ,EAAIR,EAAE,EAAE,GAAGA,EAAE,EAAE,KAAMA,EAAE,EAAE,IAAG,EAAE,EAAE,KAAK,MAAM,EAAEU,EAAE,EAAE,CAAC,EAAE,EAAEN,EAAE,EAAEM,EAAE,EAAE,EAAE,QAAQ,EAAEN,EAAE,GAAKJ,EAAE,EAAE,IAAG,EAAE,EAAE,KAAK,MAAM,EAAEU,EAAE,EAAE,CAAC,EAAE,EAAEN,EAAE,EAAEM,EAAE,EAAE,EAAE,QAAQ,EAAEN,EAAE,IAAaI,EAAE,MAAT,MAAc,CAACA,EAAE,oBAAoB,KAAK,OAAOD,GAAE,CAAC,IAAMX,EAAE,CAAC,UAAUkG,GAAG,UAAUA,GAAG,OAAO/C,GAAG,CAAC,EAAE,IAAI,IAAI,GAAkB/C,EAAE,EAAEA,EAAE,EAAEJ,EAAE,CAAC,EAAE,IAAI,QAAQ,KAAKU,EAAE,KAAK,aAAa,EAAE,QAAQ,IAAI,GAAkBN,EAAE,EAAEA,EAAE,EAAEJ,EAAE,CAAC,EAAE,OAAO,wBAAwB,CAAC,GAAUY,EAAE,MAAT,KAAa,CAAC,IAAMZ,EAAE,CAAC,UAAUmG,GAAG,UAAUA,GAAG,OAAOhD,GAAG,CAAC,EAAE,IAAI,IAAI,GAAkB/C,EAAE,EAAEA,EAAE,EAAEJ,EAAE,CAAC,EAAE,IAAI,QAAQ,KAAKU,EAAE,KAAK,aAAa,EAAE,OAAO,wBAAwB,CAAC,EAAE,gBAAgBE,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAMG,EAAEH,EAAE,kBAAkB,CAAC,IAAI,IAAIZ,EAAE,EAAEA,EAAEe,EAAE,IAAI,CAAC,IAAMd,EAAEW,EAAE,YAAYZ,EAAE,CAAC,EAAE,IAAIQ,EAAE,EAAEP,EAAE,EAAEO,EAAE,EAAEP,EAAE,EAAEO,EAAE,EAAEP,EAAE,EAAEO,EAAE,EAAEP,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAeS,EAAEV,EAAE,CAAC,EAAEY,EAAE,YAAY,CAAC,EAAaO,EAAEkB,EAAEzB,EAAE,OAAOF,EAAE,KAAK,KAAK,CAAC,EAAE,oBAAoB,KAAK,OAAOC,IAAG,EAAQC,EAAEyB,EAAE,CAAC,EAAE,YAAY,GAAM,EAAE,YAAY,GAAM,EAAE,gBAAgB5B,EAAEC,EAAEE,EAAE,EAAE,SAAS,EAAQ,EAAE,EAAE,CAAC,IAAMR,EAAEH,EAAE,OAAO6E,EAAE,CAAIxC,EAAE,QAAQ,cAAcnB,EAAE,cAAa,EAAE,QAAQ,YAAYA,EAAE,YAAY,EAAE,QAAQ,YAAYA,EAAE,YAAY,EAAE,YAAY,GAAK,EAAE,YAAY,IAAK,EAAE,SAAS,YAAY,MAAMA,EAAE,IAAI,QAAQ,EAAE,SAAS,WAAW,MAAMA,EAAE,QAAQ,EAAE,SAAS,OAAO,MAAMA,EAAE,OAAO,EAAE,gBAAgBA,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmBjB,EAAE,KAAKE,EAAEkC,EAAEwC,EAAE,KAAK,CAAC,EAAE,SAAS,YAAY,MAAM3D,EAAE,QAAQ,QAAQ,EAAE,SAAS,WAAW,MAAMA,EAAE,QAAQ,EAAE,SAAS,OAAO,MAAMA,EAAE,OAAO,EAAE,gBAAgBA,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmBjB,EAAE,KAAKE,EAAEmC,EAAEuC,EAAE,KAAK,CAAC,SAAS,EAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIlE,EAAE,KAAWC,EAAE,KAAOT,EAAE,aAAaH,EAAE,uBAAuBA,EAAE,oBAA6D,GAAzC,EAAWY,IAAT,IAAK,GAAQ,KAAOT,EAAE,aAAaM,EAAE,EAA1BG,EAA+Bb,EAAE,sBAAsB,KAAOE,EAAE,aAAiBA,EAAE,eAAe,SAArB,GAA6BA,EAAE,iBAAqBA,EAAE,oBAAN,GAAyBA,EAAE,UAAUA,EAAE,UAAU,EAAE,CAAC,IAAMF,EAAEY,EAAE,KAAKX,EAAEC,EAAE,KAASiB,EAAEJ,EAAEf,GAAemB,IAAT,IAAK,KAAO,EAAE,EAAE,CAAC,EAAEnB,GAAGmB,GAAE,IAAIf,EAAEe,EAAElB,GAAeG,IAAT,IAAK,KAAO,EAAEQ,EAAE,OAAO,CAAC,EAAEX,GAAGG,GAAE,EAAEA,EAAymB,MAAvmB,GAAE,QAAQF,EAAE,QAAQ,EAAE,UAAUA,EAAE,UAAU,EAAE,KAAKO,IAAIE,GAAST,EAAE,aAAT,KAAiCA,EAAE,KAAfA,EAAE,WAAyBA,EAAE,aAAT,KAAiCgC,EAAEhC,EAAE,MAAjBA,EAAE,WAAqB,EAAE,SAASA,EAAE,SAAS,EAAE,UAAUA,EAAE,UAAU,EAAE,YAAYA,EAAE,YAAY,EAAE,eAAeA,EAAE,eAAe,EAAE,iBAAiBA,EAAE,iBAAiB,EAAE,gBAAgBA,EAAE,gBAAgB,EAAE,kBAAkBA,EAAE,kBAAkB,EAAE,iBAAiBA,EAAE,iBAAiB,EAAE,mBAAmBA,EAAE,mBAAmB,EAAE,UAAUA,EAAE,UAAa,KAAOE,EAAE,cAAc,KAAOQ,EAAE,yBAAwB,EAAE,kBAAkB,sBAAsBR,EAAE,YAAY,CAAC,EAAE,aAAaI,EAAE,EAAE,YAAYQ,GAASJ,EAAE,SAAS,EAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAQO,EAAE,QAAQ,OAAuC,GAAxBA,EAAE,OAAO,KAAKf,EAAE,OAAO,GAAQe,EAAE,QAAQA,EAAE,QAAQA,EAAE,YAAYA,EAAE,YAAYA,EAAE,eAAekB,IAAI1B,MAAK,CAACQ,EAAE,eAAejB,EAAE,iBAAiBiB,EAAE,EAAE,CAAC,EAAE,gBAAgB,iBAAiBX,EAAE,mBAAmBW,EAAE,YAAY,CAAC,IAAMjB,EAAED,EAAE,OAAOkB,EAAE,CAAOf,EAAEe,EAAE,SAAS,GAAG,MAAM,QAAQf,EAAE,CAAC,CAAC,IAAMH,EAAEC,EAAE,OAAO,IAAI,IAAIO,EAAE,EAAEC,EAAET,EAAE,OAAOQ,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAET,EAAEQ,GAASE,EAAEP,EAAEM,EAAE,eAAe,GAAGC,GAAGA,EAAE,QAAQ,CAAC,IAAMV,EAAE,EAAiBkB,EAAEjB,EAAES,EAAEK,EAAER,EAAE,KAAKA,EAAE,IAAI6B,EAAE,CAAC,EAAE,mBAAmB7B,EAAE,KAAKN,EAAED,EAAEkB,EAAET,EAAE,WAAWN,EAAE,QAAQ,CAAC,IAAMH,EAAE,EAAiBkB,EAAEjB,EAAEE,EAAEY,EAAER,EAAE,KAAKA,EAAE,IAAI6B,EAAE,CAAC,EAAE,mBAAmB7B,EAAE,KAAKN,EAAED,EAAEkB,EAAE,KAAK,EAAE,IAAMT,EAAES,EAAE,SAAS,IAAI,IAAInB,EAAE,EAAEC,EAAES,EAAE,OAAOV,EAAEC,EAAE,IAAI,EAAaS,EAAEV,GAAGI,EAAEI,EAAEQ,EAAEqB,EAAE,EAAE,SAAS,GAAW,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,SAAS,SAAS,GAAa,CAAC,IAAIpC,EAAE,GAAYkB,EAAE,IAAI,GAAYjB,EAAE,KAAWE,EAAE,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,SAAS,EAAE,CAAIF,IAAIiB,GAAG,CAAClB,IAAG,EAAE,UAAUkB,EAAEA,EAAEA,EAAEA,EAAE,CAAC,EAAEA,IAAI,UAAU,SAAS,EAAE,CAAC,EAAEnB,GAAG,SAAS,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAI,KAAOqC,IAAG,GAAGrB,EAAE,GAAGA,EAAE,GAAGA,GAAE,EAAE,IAAIf,EAAEC,EAAEM,EAAEQ,EAAE,CAAI,KAAQZ,EAAE,OAAOe,EAAE,GAAE,EAAE,WAAWlB,EAAEC,EAAEM,EAAEQ,EAAE,CAAC,EAAE,KAAKG,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,GAAM,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAa,CAAC,IAAIlB,EAAE,GAAUkB,EAAE,KAASjB,EAAE,KAASE,EAAE,KAAK,MAAM,CAAC,QAAQ,SAAS,EAAE,CAAC,EAAE,GAAO,KAAK,CAAC,EAAQ,KAAK,EAAE,QAAQ,SAAS,EAAE,CAAIe,IAAIjB,GAAG,CAACD,IAAG,EAAE,UAAUC,EAAE,CAAC,EAAEA,IAAI,QAAQ,SAAS,EAAE,CAAC,GAAGA,IAAID,EAAE,CAAC,GAAGA,EAAE,OAAOA,EAAP,CAAU,KAAKmG,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAKC,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAKC,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAK,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAKC,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAKC,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAKC,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,KAAKC,GAAE,EAAE,UAAU,IAAI,CAAC,MAAM,QAAQ,EAAE,UAAU,IAAI,MAAM,EAAE,UAAU,IAAI,CAAC,EAAEzG,IAAI,UAAU,SAAS,EAAE,CAAC,EAAED,GAAG,SAAS,SAAS,EAAE,CAAII,IAAIH,IAAG,EAAE,WAAWA,EAAE,CAAC,EAAEA,IAAI,MAAM,UAAU,CAAC,EAAE,GAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,GAAe,CAAC,IAAIA,EAAE,GAAUkB,EAAE,KAASjB,EAAE,KAASE,EAAE,KAASI,EAAE,KAASQ,EAAE,KAASqB,EAAE,KAAS5B,EAAE,KAASC,EAAE,KAAK,MAAM,CAAC,QAAQ,SAAS,EAAE,CAAC,IAAIV,EAAE,GAAO,KAAK,CAAC,EAAQ,KAAK,GAAG,QAAQ,SAAS,EAAE,CAAImB,IAAIjB,GAAG,CAACD,IAAG,EAAE,YAAYC,EAAE,CAAC,EAAEA,IAAI,QAAQ,SAAS,EAAE,EAAE,EAAE,EAAIA,IAAID,GAAGG,IAAIe,GAAGX,IAAIQ,KAAG,EAAE,YAAYf,EAAEkB,EAAEH,EAAE,CAAC,EAAEf,EAAE,EAAEkB,EAAE,EAAEH,IAAI,MAAM,SAAS,EAAE,EAAE,EAAE,EAAIA,IAAIf,GAAGoC,IAAIlB,GAAGV,IAAIP,KAAG,EAAE,UAAUD,EAAEkB,EAAEjB,EAAE,CAAC,EAAED,EAAE,EAAEkB,EAAE,EAAEjB,IAAI,UAAU,SAAS,EAAE,CAAC,EAAEF,GAAG,SAAS,SAAS,EAAE,CAAIU,IAAIT,IAAG,EAAE,aAAaA,EAAE,CAAC,EAAEA,IAAI,MAAM,UAAU,CAAC,EAAE,GAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAM,EAAE,IAAI,EAAkBQ,EAAE,IAAI,EAAkBC,EAAE,IAAI,EAAkBC,EAAE,EAAE,CAAKC,EAAE,EAAE,CAAKG,EAAE,KAAS,EAAE,GAAU0D,EAAE,KAASkC,EAAE,KAASjC,EAAE,KAASC,EAAE,KAASiC,EAAE,KAAS5C,EAAE,KAASC,EAAE,KAASC,EAAG,GAAUC,EAAG,KAAS0C,EAAG,KAASC,EAAG,KAASnE,EAAG,KAASF,EAAG,KAAWC,EAAG1C,EAAE,aAAa,MAAM,CAAKmC,EAAG,GAAUqC,EAAG,EAAQuC,EAAG/G,EAAE,aAAa,KAAK,CAAS+G,EAAG,QAAQ,QAAQ,GAAxB,GAAyFA,EAAG,QAAQ,YAAY,GAA5B,KAA8B,EAAG,WAAW,kBAAkB,KAAKA,EAAG,CAAC,GAAG,CAAC,EAAGvC,GAAI,IAA5I,EAAG,WAAW,cAAc,KAAKuC,EAAG,CAAC,GAAG,CAAC,EAAGvC,GAAI,GAA8F,IAAIwC,EAAG,KAASC,EAAG,EAAE,CAAOd,EAAGnG,EAAE,aAAa,KAAK,CAAOkH,EAAGlH,EAAE,aAAa,KAAK,CAAOmH,GAAI,IAAI,IAAO,CAAE,UAAUhB,EAAG,CAAOiB,GAAI,IAAI,IAAO,CAAE,UAAUF,EAAG,CAAC,SAAS,EAAc,EAAE,EAAE,EAAE,CAAC,IAAM9G,EAAE,IAAI,WAAW,EAAE,CAAOI,EAAER,EAAE,eAAe,CAAC,EAAE,YAAYC,EAAEO,EAAE,CAAC,EAAE,cAAcP,EAAE,MAAM,KAAK,CAAC,EAAE,cAAcA,EAAE,MAAM,KAAK,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAEC,EAAE,IAAI,EAAE,WAAWiB,EAAElB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,KAAKG,EAAE,CAAC,OAAOI,EAAE,IAAM6G,EAAG,EAAE,CAAC,EAAG,MAAM,EAAc,KAAK,KAAK,EAAE,CAAC,EAAG,OAAO,EAAc,MAAM,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAO,KAAK,CAAC,EAAE,QAAQ,GAAE,CAAC,GAAa,GAAM,CAAC,GAAY,GAAE,CAAC,GAAO,KAAK,CAAC,EAAYpF,GAAE,CAAC,SAAS,GAAO,EAAE,CAAI,KAAOtB,EAAEV,KAAI,EAAE,OAAOA,EAAE,CAAC,EAAEA,GAAG,IAAM,SAAS,EAAQ,EAAE,CAAI,KAAQU,EAAEV,KAAI,EAAE,QAAQA,EAAE,CAAC,EAAEA,GAAG,IAAO,SAAS,GAAgB,EAAE,EAAE,CAA8G,OAA1GW,EAAEX,KAAKkB,EAA0G,IAAvG,EAAE,gBAAgBlB,EAAEkB,EAAE,CAAC,EAAElB,GAAGkB,EAAK,IAAWlB,IAAR,QAAY,EAAE,OAAOkB,GAAWlB,IAAR,QAAY,EAAE,OAAOkB,IAAU,IAAkB,SAAS,GAAW,EAAE,CAA2C,OAAvCJ,IAAId,EAA0C,IAAvC,EAAE,WAAWA,EAAE,CAAC,EAAEA,EAAS,IAAkB,IAAMiG,EAAG,EAAEnB,IAAG,OAAOC,IAAG,OAAOG,IAAG,MAAM,CAAC,GAAG,EAAG,EAAG,IAAG,MAAM,EAAGE,IAAG,UAAU,CAAC,IAAMrF,EAAEC,EAAE,IAAI,mBAAmB,CAAWD,IAAP,OAAU,EAAG,IAAGA,EAAE,QAAQ,EAAGqF,IAAGrF,EAAE,SAAS,IAAMsH,GAAG,EAAEhC,IAAG,GAAGC,IAAG,GAAGC,IAAG,KAAKE,IAAG,KAAK6B,IAAG,KAAKC,IAAG,KAAK,IAAG,KAAK/B,IAAG,KAAK,IAAG,KAAKgC,IAAG,KAAKC,IAAG,IAAI,CAAC,SAAS,EAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGzH,IAAIgC,GAAqC,IAA/B,KAAQ,IAAG,GAAO,KAAK,CAAC,EAAE,IAAQhC,IAAI6E,GAAG,IAAK3D,EAAE,IAAKjB,EAAE,IAAKE,GAAKe,IAAIwF,GAAGnG,IAAIoG,KAAG,EAAE,sBAAsBV,EAAG/E,GAAG+E,EAAG1F,GAAG,CAAC,EAAEW,EAAE,EAAEX,IAAKN,IAAIwE,GAAGtE,IAAIuE,GAAG3D,IAAIgD,GAAG3B,IAAI4B,KAAG,EAAE,kBAAkBqD,GAAGpH,GAAGoH,GAAGlH,GAAGkH,GAAGtG,GAAGsG,GAAGjF,GAAG,CAAC,EAAEnC,EAAE,EAAEE,EAAE,EAAEY,EAAE,EAAEqB,GAAE,EAAEpC,EAAE,EAAG,aAAaA,IAAIwE,GAAGhE,IAAIyD,EAAG,CAAiD,IAA7CyC,IAAI5B,IAAG6B,IAAI7B,MAAG,EAAE,cAAc,MAAM,CAAC,EAAEA,GAAE,EAAEA,IAAKtE,EAAE,OAAOR,EAAP,CAAU,KAAKiC,GAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,GAAE,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,KAAK,GAAE,EAAE,kBAAkB,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,QAAQ,QAAQ,MAAM,uCAAuCjC,EAAE,CAAC,WAAW,OAAOA,EAAP,CAAU,KAAKiC,GAAE,EAAE,kBAAkB,IAAI,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,GAAE,EAAE,UAAU,IAAI,EAAE,CAAC,MAAM,KAAK,GAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,KAAK,GAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,QAAQ,QAAQ,MAAM,uCAAuCjC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEA,EAAE,EAAGQ,QAAW,KAAO,IAAG,EAAQ,KAAK,CAAC,EAAE,IAAO,SAAS,GAAY,EAAE,EAAE,CAAC,EAAE,OAAOK,GAAE,EAAQ,KAAK,CAAC,GAAO,KAAK,CAAC,IAAIK,EAAEnB,EAAE,OAAO,GAAE,IAAI,EAAE,CAACmB,GAAG,GAAaA,EAAE,CAAC,EAAE,WAAWe,IAAG,KAAQlC,EAAE,YAAY,EAAYiC,GAAE,CAAC,EAAYjC,EAAE,SAASA,EAAE,cAAcA,EAAE,SAASA,EAAE,SAASA,EAAE,mBAAmBA,EAAE,cAAcA,EAAE,cAAcA,EAAE,mBAAmB,CAAC,EAAE,QAAQA,EAAE,UAAU,CAAC,EAAE,QAAQA,EAAE,UAAU,CAAC,EAAE,QAAQA,EAAE,WAAW,CAAC,EAAE,QAAQA,EAAE,WAAW,CAAC,IAAME,EAAEF,EAAE,aAAa,EAAE,QAAQE,EAAE,CAAIA,IAAG,EAAE,QAAQF,EAAE,iBAAiB,CAAC,EAAE,QAAQA,EAAE,YAAYA,EAAE,WAAWA,EAAE,gBAAgB,CAAC,EAAE,MAAMA,EAAE,YAAYA,EAAE,aAAaA,EAAE,aAAa,EAAC,GAAiBA,EAAE,cAAcA,EAAE,oBAAoBA,EAAE,mBAAmB,CAAC,KAAOA,EAAE,gBAAgB,GAAO,MAAM,CAAC,EAAQ,MAAM,CAAC,SAAS,GAAa,EAAE,CAAImE,IAAKlE,IAAG,EAAED,EAAE,UAAU,KAAK,CAACA,EAAE,UAAU,KAAK,CAAC,EAAGC,GAAG,SAAS,GAAY,EAAE,CAAIA,IAAI,GAA8F,EAAQ,KAAK,EAAxG,GAAO,KAAK,CAAC,IAAI4G,IAAK5G,IAAI,GAAED,EAAE,SAAS,KAAK,CAACC,IAAI,GAAED,EAAE,SAAS,KAAK,CAACA,EAAE,SAAS,KAAK,GAAqB,EAAGC,EAAE,SAAS,GAAa,EAAE,CAAIA,IAAI6G,IAAI,GAAI9G,EAAE,UAAUC,EAAE,CAAC,EAAGA,GAAG,SAAS,GAAiB,EAAE,EAAE,EAAE,CAAIA,GAAG,GAAO,MAAM,EAAI0C,IAAKxB,GAAGsB,IAAKvC,KAAG,EAAE,cAAciB,EAAEjB,EAAE,CAAC,EAAGiB,EAAE,EAAGjB,IAAQ,EAAQ,MAAM,CAAC,SAAS,EAAe,EAAE,CAAC,EAAE,GAAO,KAAK,CAAC,EAAQ,KAAK,CAAC,SAAS,GAAc,EAAE,CAAUD,IAAT,IAAK,KAAQ,EAAE,MAAMyC,EAAG,GAAMsE,IAAK/G,IAAG,EAAE,cAAcA,EAAE,CAAC,EAAGA,GAAG,SAAS,GAAY,EAAE,EAAE,CAAQ+G,IAAP,MAAW,IAAe,CAAC,IAAI9G,EAAE+G,EAAGD,GAAgB9G,IAAT,IAAK,KAAO,EAAE,CAAC,KAAK,IAAK,GAAE,QAAQ,IAAK,GAAE,CAAC,EAAG8G,GAAI9G,IAAKA,EAAE,OAAOD,GAAGC,EAAE,UAAUiB,KAAG,EAAE,YAAYlB,EAAEkB,GAAGkG,EAAGpH,GAAG,CAAC,EAAE,KAAKA,EAAE,EAAE,QAAQkB,GAAG,SAAS,IAAe,CAAC,IAAMlB,EAAEgH,EAAGD,GAAgB/G,IAAT,IAAK,IAAgBA,EAAE,OAAX,IAAK,KAAY,EAAE,YAAYA,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,IAAK,GAAE,EAAE,QAAQ,IAAK,IAAG,SAAS,IAAsB,CAAC,GAAG,CAAC,EAAE,qBAAqB,MAAMD,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAe,CAAC,GAAG,CAAC,EAAE,cAAc,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAe,CAAC,GAAG,CAAC,EAAE,cAAc,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAyB,CAAC,GAAG,CAAC,EAAE,wBAAwB,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAc,CAAC,GAAG,CAAC,EAAE,aAAa,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAc,CAAC,GAAG,CAAC,EAAE,aAAa,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAY,CAAC,GAAG,CAAC,EAAE,WAAW,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,IAAY,CAAC,GAAG,CAAC,EAAE,WAAW,MAAMA,EAAE,UAAU,OAAOA,EAAE,CAAC,QAAQ,MAAM,oBAAoBA,EAAE,EAAE,SAAS,GAAQ,EAAE,CAAI,KAAQmH,GAAG,OAAOlH,EAAE,GAAE,EAAE,QAAQA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,GAAG,KAAKA,EAAE,EAAE,SAAS,GAAS,EAAE,CAAI,KAAQmH,GAAG,OAAOnH,EAAE,GAAE,EAAE,SAASA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,GAAG,KAAKA,EAAE,EAAE,SAAS,IAAO,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,MAAM,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,GAAK,GAAK,GAAK,GAAK,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,GAAK,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,WAAW,CAAC,EAAE,YAAY,IAAI,EAAE,WAAW,CAAC,EAAE,UAAU,KAAK,KAAK,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,KAAK,CAAC,EAAE,UAAU,KAAK,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,gBAAgB,MAAM,KAAK,CAAI,KAAO,IAAG,EAAE,gBAAgB,MAAM,KAAK,CAAC,EAAE,gBAAgB,MAAM,KAAK,EAAC,EAAE,WAAW,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAED,EAAE,OAAO,MAAMA,EAAE,OAAO,OAAO,CAAC,EAAE,SAAS,EAAE,EAAEA,EAAE,OAAO,MAAMA,EAAE,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,EAAG,KAAK,EAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAG,GAAM,EAAG,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,KAAK,GAAG,IAAI,EAAE,EAAEA,EAAE,OAAO,MAAMA,EAAE,OAAO,OAAO,CAAC,GAAG,IAAI,EAAE,EAAEA,EAAE,OAAO,MAAMA,EAAE,OAAO,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAMS,EAAE,QAAQC,EAAE,CAAQ,UAAe,UAAwB,mBAA2B,cAAuB,cAAwB,eAAyB,gBAAyB,eAAyB,gBAA8B,oBAAgC,iBAA6B,iBAA0B,eAA0B,iBAAmC,wBAAgC,cAAsB,cAAwB,gBAA0B,gBAA2B,iBAA4B,iBAAsC,2BAAgC,WAAiB,YAAe,SAAM,CAAC,SAAS,GAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAEN,EAAE,SAAeK,EAAEL,EAAE,YAAkBM,EAAEN,EAAE,eAAqBO,EAAEP,EAAE,eAAqBQ,EAAER,EAAE,WAAuEU,EAApDb,EAAE,IAAI,uCAAuC,CAAWA,EAAE,IAAI,uCAAuC,CAAC,IAAK,GAAQc,EAAE,IAAI,QAAY,EAAMkB,EAAE,GAAM,GAAG,CAAC,EAAgB,OAAO,gBAArB,KAA6C,IAAI,gBAAgB,EAAE,EAAE,CAAC,WAAW,KAAK,GAAhD,UAAyD,EAAE,SAAS,EAAa,EAAE,EAAE,CAAC,OAAOA,EAAE,IAAI,gBAAgBjC,EAAEC,EAAE,CAAC,GAAgB,SAAS,CAAC,SAAS,EAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIG,EAAE,EAA4D,IAAzDJ,EAAE,MAAME,GAAGF,EAAE,OAAOE,KAAK,EAAEA,EAAE,KAAK,IAAIF,EAAE,MAAMA,EAAE,OAAO,EAAKI,EAAE,GAAG,KAAOH,EAAE,CAAC,GAAiB,OAAO,iBAArB,KAAuCD,aAAa,kBAAgC,OAAO,kBAArB,KAAwCA,aAAa,mBAAiC,OAAO,YAArB,KAAkCA,aAAa,YAAY,CAAC,IAAME,EAAED,EAAE,GAAgB,KAAK,MAAYO,EAAEN,EAAEE,EAAEJ,EAAE,MAAM,CAAOgB,EAAEd,EAAEE,EAAEJ,EAAE,OAAO,CAAU,IAAT,IAAK,KAAQ,EAAE,EAAaQ,EAAEQ,EAAE,EAAE,IAAMqB,EAAElB,EAAE,EAAaX,EAAEQ,EAAE,CAAC,EAAyL,MAAvL,GAAE,MAAMR,EAAE,EAAE,OAAOQ,EAAUqB,EAAE,WAAW,KAAK,CAAG,UAAUrC,EAAE,EAAE,EAAEQ,EAAEQ,EAAE,CAAC,QAAQ,KAAK,uDAAuDhB,EAAE,MAAM,IAAIA,EAAE,OAAO,SAASQ,EAAE,IAAIQ,EAAE,KAAK,CAAQqB,EAA+G,MAA7G,SAASrC,GAAG,QAAQ,KAAK,yDAAyDA,EAAE,MAAM,IAAIA,EAAE,OAAO,KAAK,CAAQA,EAAE,OAAOA,EAAE,SAAS,EAAe,EAAE,CAAC,OAAO,GAAaA,EAAE,MAAM,EAAE,GAAaA,EAAE,OAAO,CAAC,SAAS,EAAuB,EAAE,CAAC,MAAM,CAAC,IAAIA,EAAE,QAAQgH,IAAIhH,EAAE,QAAQgH,IAAIhH,EAAE,YAAYmG,IAAInG,EAAE,YAAYkG,IAAI,SAAS,EAA4B,EAAE,EAAE,CAAC,OAAOlG,EAAE,iBAAiBC,GAAGD,EAAE,YAAYmG,IAAInG,EAAE,YAAYkG,GAAG,SAAS,EAAe,EAAE,CAAC,EAAE,eAAejG,EAAE,CAAC,SAAS,EAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAQ,EAAE,OAAOC,EAAE,GAAUiB,IAAP,KAAS,CAAC,GAAYnB,EAAEmB,KAAX,IAAK,GAAS,OAAOnB,EAAEmB,GAAG,QAAQ,KAAK,2EAA2EA,EAAE,IAAI,CAAC,IAAIH,EAAEd,EAAsT,OAA1SA,IAAP,OAAiBE,IAAP,OAAW,EAAE,OAAcA,IAAP,OAAW,EAAE,OAAcA,IAAP,OAAW,EAAE,QAAiBF,IAAP,OAAiBE,IAAP,OAAW,EAAE,OAAcA,IAAP,OAAW,EAAE,OAAcA,IAAP,OAAW,EAAE,QAAiBF,IAAP,OAAiBE,IAAP,OAAW,EAAE,OAAcA,IAAP,OAAW,EAAE,OAAcA,IAAP,OAAW,EAAEI,IAAIuD,GAAG,MAAM,QAAe/C,IAAR,OAAmBA,IAAR,OAAmBA,IAAR,OAAmBA,IAAR,OAAWf,EAAE,IAAI,yBAAyB,CAAQe,EAAE,SAAS,EAAa,EAAE,EAAE,EAAE,CAAC,MAAO,KAAO,EAA4BhB,EAAEmB,EAAE,EAAEnB,EAAE,sBAAsBA,EAAE,YAAYmG,IAAInG,EAAE,YAAYkG,GAAG,KAAK,KAAK,KAAK,IAAIjG,EAAE,MAAMA,EAAE,OAAO,CAAC,CAAC,EAAWD,EAAE,UAAX,IAAK,IAAeA,EAAE,QAAQ,OAAO,EAAEA,EAAE,QAAQ,OAAOA,EAAE,qBAAqB,MAAM,QAAQA,EAAE,MAAM,CAACC,EAAE,QAAQ,OAAO,EAAE,SAAS,EAAe,EAAE,CAAC,OAAOD,IAAImG,IAAInG,IAAIkH,IAAIlH,IAAIoH,GAAG,KAAK,KAAK,SAAS,EAAiB,EAAE,CAAC,IAAMnH,EAAED,EAAE,OAAO,EAAE,oBAAoB,UAAU,EAAiB,CAAC,EAAkBC,EAAE,CAAC,EAAE,gBAAgBc,EAAE,OAAOd,EAAE,CAAC,EAAE,OAAO,WAAW,SAAS,EAAsB,EAAE,CAAC,IAAMA,EAAED,EAAE,OAAO,EAAE,oBAAoB,UAAU,EAAsB,CAAC,EAAuBC,EAAE,CAAC,SAAS,EAAkB,EAAE,CAAC,IAAMkB,EAAEjB,EAAE,IAAID,EAAE,CAAakB,EAAE,cAAX,IAAK,KAAmB,EAAE,cAAcA,EAAE,eAAe,CAAC,EAAE,OAAOlB,EAAE,EAAE,SAAS,EAAuB,EAAE,CAAC,IAAMkB,EAAElB,EAAE,QAAcG,EAAEF,EAAE,IAAID,EAAE,CAAOO,EAAEN,EAAE,IAAIiB,EAAE,CAAC,GAAGlB,EAAE,CAA8H,GAAjHO,EAAE,iBAAX,IAAK,KAAsB,EAAE,cAAcA,EAAE,eAAe,CAAC,EAAE,OAAO,YAAW,EAAE,cAAcP,EAAE,aAAa,SAAS,CAAIA,EAAE,wBAAwB,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAK,EAAE,kBAAkBG,EAAE,mBAAmBH,GAAG,CAAC,EAAE,oBAAoBD,EAAE,mBAAmBI,EAAE,mBAAmBH,GAAG,MAAM,EAAE,kBAAkBG,EAAE,mBAAmB,CAAC,EAAE,oBAAoBJ,EAAE,mBAAmBI,EAAE,mBAAmB,CAAC,EAAE,gCAAgCJ,EAAE,kBAAkBI,EAAE,+BAA+B,CAAC,EAAE,0BAA0BJ,EAAE,mBAAmBI,EAAE,yBAAyB,CAAC,EAAE,0BAA0BJ,EAAE,mBAAmBI,EAAE,yBAAyB,CAAC,GAAGH,EAAE,6BAA6B,IAAI,IAAIA,EAAE,EAAEG,EAAEe,EAAE,OAAOlB,EAAEG,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAE,IAAIiB,EAAElB,GAAG,CAAIG,EAAE,iBAAgB,EAAE,cAAcA,EAAE,eAAe,CAAC,EAAE,OAAO,YAAW,EAAE,OAAOe,EAAElB,GAAG,CAAC,EAAE,OAAOkB,EAAE,CAAC,EAAE,OAAOlB,EAAE,EAAE,IAAIiC,EAAE,EAAE,SAAS,GAAmB,CAAC,EAAE,EAAE,SAAS,GAAqB,CAAC,IAAMlC,EAAEkC,EAAoH,OAAlH,GAAGzB,GAAG,QAAQ,KAAK,sCAAsCT,EAAE,+CAA+CS,EAAE,CAAC,GAAG,EAAST,EAAE,SAAS,EAAa,EAAE,EAAE,CAAC,IAAMI,EAAEF,EAAE,IAAIF,EAAE,CAAyC,GAAxC,EAAE,gBAAgB,EAAmBA,EAAE,CAAIA,EAAE,QAAQ,GAAGI,EAAE,YAAYJ,EAAE,QAAQ,CAAC,IAAMmB,EAAEnB,EAAE,MAAM,GAAYmB,IAAT,IAAK,GAAM,QAAQ,KAAK,wEAAwE,KAAK,CAAC,GAAG,KAAQA,EAAE,SAAS,CAAC,EAAcf,EAAEJ,EAAEC,EAAE,CAAC,OAAO,QAAQ,KAAK,yEAAyE,EAAE,EAAE,cAAc,MAAMA,EAAE,CAAC,EAAE,YAAY,KAAKG,EAAE,eAAe,CAAC,SAAS,EAAkB,EAAE,EAAE,CAAC,IAAMA,EAAEF,EAAE,IAAIF,EAAE,CAAIA,EAAE,QAAQ,GAAGI,EAAE,YAAYJ,EAAE,QAAQ,EAAcI,EAAEJ,EAAEC,EAAE,EAAM,EAAE,cAAc,MAAMA,EAAE,CAAC,EAAE,YAAY,MAAMG,EAAE,eAAe,EAAE,SAAS,EAAa,EAAE,EAAE,CAAC,IAAMA,EAAEF,EAAE,IAAIF,EAAE,CAAIA,EAAE,QAAQ,GAAGI,EAAE,YAAYJ,EAAE,QAAQ,EAAcI,EAAEJ,EAAEC,EAAE,EAAM,EAAE,cAAc,MAAMA,EAAE,CAAC,EAAE,YAAY,MAAMG,EAAE,eAAe,EAAE,SAAS,GAAe,EAAE,EAAE,CAAC,IAAMA,EAAEF,EAAE,IAAIF,EAAE,CAAIA,EAAE,QAAQ,GAAGI,EAAE,YAAYJ,EAAE,QAAQ,GAAkBI,EAAEJ,EAAEC,EAAE,EAAM,EAAE,cAAc,MAAMA,EAAE,CAAC,EAAE,YAAY,MAAMG,EAAE,eAAe,EAAE,IAAMkC,GAAE,EAAEyE,IAAI,OAAOC,IAAI,OAAOC,IAAI,MAAM,CAAO1E,EAAE,EAAE4D,IAAI,MAAMe,IAAI,MAAME,IAAI,MAAMlB,IAAI,MAAMoB,IAAI,MAAMK,IAAI,KAAK,CAAC,SAAS,EAAqB,EAAE,EAAE,EAAE,CAAyxB,GAArxB3G,GAAG,EAAE,cAAcG,EAAE,MAAMmB,GAAE9B,EAAE,OAAO,CAAC,EAAE,cAAcW,EAAE,MAAMmB,GAAE9B,EAAE,OAAO,CAASW,IAAR,OAAmBA,IAAR,OAAWnB,EAAE,cAAcmB,EAAE,MAAMmB,GAAE9B,EAAE,OAAO,CAAC,EAAE,cAAcW,EAAE,MAAMoB,EAAE/B,EAAE,WAAW,CAAC,EAAE,cAAcW,EAAE,MAAMoB,EAAE/B,EAAE,WAAW,GAAM,EAAE,cAAcW,EAAE,MAAM,MAAM,CAAC,EAAE,cAAcA,EAAE,MAAM,MAAM,CAASA,IAAR,OAAmBA,IAAR,OAAWnB,EAAE,cAAcmB,EAAE,MAAM,MAAM,CAAC,EAAE,QAAQ6F,IAAIxG,EAAE,QAAQwG,IAAI,QAAQ,KAAK,gIAAgI,CAAC,EAAE,cAAc7F,EAAE,MAAM,EAAeX,EAAE,UAAU,CAAC,CAAC,EAAE,cAAcW,EAAE,MAAM,EAAeX,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY2F,IAAI3F,EAAE,YAAY0F,IAAI,QAAQ,KAAK,kIAAkI,EAAI,KAAOjG,EAAE,IAAI,iCAAiC,CAAC,CAAC,IAAMe,EAAEf,EAAE,IAAI,iCAAiC,CAAkE,GAA9DO,EAAE,OAAO4C,IAAI,KAAQnD,EAAE,IAAI,2BAA2B,EAAW,KAAQ,GAAGO,EAAE,OAAOoH,IAAI,KAAQ3H,EAAE,IAAI,gCAAgC,CAAC,QAAUO,EAAE,WAAW,GAAGN,EAAE,IAAIM,EAAE,CAAC,uBAAqB,EAAE,cAAcW,EAAEH,EAAE,2BAA2B,KAAK,IAAIR,EAAE,WAAWJ,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAII,EAAE,CAAC,oBAAoBA,EAAE,aAAa,SAAS,GAAY,EAAE,EAAE,CAAaP,EAAE,cAAX,IAAK,KAAmB,EAAE,YAAY,GAAK,EAAE,iBAAiB,UAAU,EAAiB,CAAC,EAAE,eAAeD,EAAE,eAAe,CAAC,EAAE,OAAO,YAAY,SAAS,EAAc,EAAE,EAAE,EAAE,CAAC,IAAIgB,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAYf,EAAEC,EAAE,CAAC,EAAE,cAAc,MAAME,EAAE,CAAC,EAAE,YAAYY,EAAEf,EAAE,eAAe,CAAC,EAAE,YAAY,MAAMC,EAAE,MAAM,CAAC,EAAE,YAAY,MAAMA,EAAE,iBAAiB,CAAC,EAAE,YAAY,KAAKA,EAAE,gBAAgB,CAAC,EAAE,YAAY,MAAM,EAAE,CAAC,IAAMO,EAAE,EAAuBP,EAAE,EAAE,KAAQ,EAAeA,EAAE,MAAM,CAAOQ,EAAE,EAAYR,EAAE,MAAMO,EAAE,GAAME,EAAE,CAAOC,EAAE,EAAeF,EAAE,EAAE,EAAEG,EAAEL,EAAE,QAAQN,EAAE,OAAO,CAAKY,EAAEN,EAAE,QAAQN,EAAE,KAAK,CAACa,EAAE,EAAkBb,EAAE,eAAeW,EAAEC,EAAEZ,EAAE,SAAS,CAAC,EAAqBc,EAAEd,EAAEU,EAAE,CAAC,IAAIsE,EAAQjD,EAAE/B,EAAE,QAAcgC,EAAE,GAAG,KAAOhC,EAAE,eAAqBoC,EAAWrC,EAAE,YAAX,IAAK,GAAsBsC,EAAE,EAAarC,EAAEQ,EAAEE,EAAE,CAAC,GAAGV,EAAE,eAAgB,EAAE,KAAK,EAAE,EAAEA,EAAE,OAAOkD,GAAG,MAAMlD,EAAE,OAAO2H,GAAG,MAAM3H,EAAE,OAAO4H,GAAG,MAAM,MAAM5H,EAAE,OAAOkD,IAAI,QAAQ,MAAM,+DAA+D,CAAIlD,EAAE,SAAS6H,IAAWhH,IAAP,MAAUb,EAAE,OAAO8H,IAAI9H,EAAE,OAAO2H,KAAI,QAAQ,KAAK,8FAA8F,CAAC,EAAE,KAAKG,GAAG,EAAExH,EAAE,QAAQN,EAAE,KAAK,EAAIA,EAAE,SAAS+H,IAAWlH,IAAP,OAAU,EAAE,MAASb,EAAE,OAAO4H,KAAI,QAAQ,KAAK,mFAAmF,CAAC,EAAE,KAAKA,GAAG,EAAEtH,EAAE,QAAQN,EAAE,KAAK,GAAE,GAAGoC,EAAE,EAAE,aAAa,KAAK,EAAEvB,EAAEL,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,EAAEK,EAAEL,EAAE,MAAMA,EAAE,OAAO,EAAEG,EAAEC,EAAE,KAAK,SAASZ,EAAE,cAAc,GAAG+B,EAAE,OAAO,GAAGrB,EAAE,CAAC,GAAG0B,GAAG,EAAE,aAAa,KAAKC,EAAExB,EAAEkB,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAO,CAAC,IAAI,IAAIjC,EAAE,EAAEC,EAAEgC,EAAE,OAAOjC,EAAEC,EAAE,IAAK,EAAEgC,EAAEjC,GAAG,EAAE,EAAE,cAAc,KAAK,EAAE,EAAE,EAAEkF,EAAE,MAAMA,EAAE,OAAOrE,EAAEC,EAAEoE,EAAE,KAAK,CAAC,EAAE,WAAW,KAAKlF,EAAEe,EAAEmE,EAAE,MAAMA,EAAE,OAAO,EAAErE,EAAEC,EAAEoE,EAAE,KAAK,CAAC,EAAE,gBAAgB,QAAchD,GAAG,GAAG,EAAE,aAAa,KAAKK,EAAExB,EAAEL,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAOG,EAAEC,EAAEJ,EAAE,KAAK,EAAM,EAAE,WAAW,KAAK,EAAEK,EAAEL,EAAE,MAAMA,EAAE,OAAO,EAAEG,EAAEC,EAAEJ,EAAE,KAAK,SAASR,EAAE,oBAAoB,CAAC,GAAGoC,GAAG,EAAE,aAAa,KAAKC,EAAExB,EAAEkB,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAO,CAAC,IAAI,IAAIjC,EAAE,EAAEC,EAAEgC,EAAE,OAAOjC,EAAEC,EAAE,IAAK,EAAEgC,EAAEjC,GAAG,EAAE,SAASmD,IAAIjD,EAAE,SAAS0E,GAAU/D,IAAP,KAAsI,QAAQ,KAAK,iGAAiG,CAA3OqB,EAAE,EAAE,wBAAwB,KAAKlC,EAAE,EAAE,EAAEkF,EAAE,MAAMA,EAAE,OAAOrE,EAAEqE,EAAE,KAAK,CAAC,EAAE,qBAAqB,KAAKlF,EAAEe,EAAEmE,EAAE,MAAMA,EAAE,OAAO,EAAEA,EAAE,KAAK,CAAgHhD,EAAE,EAAE,cAAc,KAAKlC,EAAE,EAAE,EAAEkF,EAAE,MAAMA,EAAE,OAAOrE,EAAEC,EAAEoE,EAAE,KAAK,CAAC,EAAE,WAAW,KAAKlF,EAAEe,EAAEmE,EAAE,MAAMA,EAAE,OAAO,EAAErE,EAAEC,EAAEoE,EAAE,KAAK,SAAUhF,EAAE,qBAAwBgC,GAAG,GAAG,EAAE,aAAa,MAAMK,EAAExB,EAAEL,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAM,CAAC,EAAE,cAAc,MAAM,EAAE,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAMG,EAAEC,EAAEJ,EAAE,KAAK,EAAM,EAAE,WAAW,MAAM,EAAEK,EAAEL,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAM,EAAEG,EAAEC,EAAEJ,EAAE,KAAK,SAASR,EAAE,gBAAmBgC,GAAG,GAAG,EAAE,aAAa,MAAMK,EAAExB,EAAEL,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAM,CAAC,EAAE,cAAc,MAAM,EAAE,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAMG,EAAEC,EAAEJ,EAAE,KAAK,EAAM,EAAE,WAAW,MAAM,EAAEK,EAAEL,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAM,EAAEG,EAAEC,EAAEJ,EAAE,KAAK,SAASR,EAAE,qBAAqB,GAAGoC,EAAE,EAAE,aAAa,KAAKC,EAAExB,EAAEL,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,EAAEK,EAAEL,EAAE,MAAMA,EAAE,OAAO,EAAEG,EAAEC,EAAE,KAAK,SAASmB,EAAE,OAAO,GAAGrB,EAAE,CAAC,GAAG0B,GAAG,EAAE,aAAa,KAAKC,EAAExB,EAAEkB,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAO,CAAC,IAAI,IAAIjC,EAAE,EAAEC,EAAEgC,EAAE,OAAOjC,EAAEC,EAAE,IAAK,EAAEgC,EAAEjC,GAAG,EAAE,EAAE,cAAc,KAAKA,EAAE,EAAE,EAAEa,EAAEC,EAAEoE,EAAE,CAAC,EAAE,WAAW,KAAKlF,EAAEe,EAAEF,EAAEC,EAAEoE,EAAE,CAAC,EAAE,gBAAgB,QAAchD,GAAG,GAAG,EAAE,aAAa,KAAKK,EAAExB,EAAEL,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,EAAE,EAAE,EAAEG,EAAEC,EAAEJ,EAAE,EAAM,EAAE,WAAW,KAAK,EAAEK,EAAEF,EAAEC,EAAEJ,EAAE,CAAC,EAA4BR,EAAEU,EAAE,EAAE,EAAeI,EAAE,CAAC,EAAE,UAAUd,EAAE,QAAQ,EAAE,UAAUA,EAAE,SAASA,EAAE,CAAC,SAAS,GAAkB,EAAE,EAAE,EAAE,CAAC,GAAOA,EAAE,MAAM,SAAZ,EAAmB,OAAO,GAAYD,EAAEC,EAAE,CAAC,EAAE,cAAc,MAAME,EAAE,CAAC,EAAE,YAAY,MAAMH,EAAE,eAAe,CAAC,EAAE,YAAY,MAAMC,EAAE,MAAM,CAAC,EAAE,YAAY,MAAMA,EAAE,iBAAiB,CAAC,EAAE,YAAY,KAAKA,EAAE,gBAAgB,CAAC,EAAE,YAAY,MAAM,EAAE,CAAC,IAAMc,EAAEd,IAAIA,EAAE,qBAAqBA,EAAE,MAAM,GAAG,qBAA2BO,EAAEP,EAAE,MAAM,IAAIA,EAAE,MAAM,GAAG,cAAoBS,EAAE,EAAE,CAAC,IAAI,IAAIX,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAEA,GAAGgB,GAAGP,EAAEA,EAAEP,EAAE,MAAMF,GAAG,MAAME,EAAE,MAAMF,GAAG,EAAYE,EAAE,MAAMF,GAAG,GAAM,GAAKU,EAAE,CAAC,IAAME,EAAED,EAAE,GAAGE,EAAE,EAAeD,EAAE,EAAE,EAAEE,EAAEN,EAAE,QAAQN,EAAE,OAAO,CAACa,EAAEP,EAAE,QAAQN,EAAE,KAAK,CAACgF,EAAE,EAAkBhF,EAAE,eAAeY,EAAEC,EAAEb,EAAE,SAAS,CAAO+B,EAAE,GAAG,KAAO/B,EAAE,eAAqBgC,EAAWjC,EAAE,YAAX,IAAK,GAAoBqC,EAAE,EAAapC,EAAEU,EAAEC,EAAE,CAAC,EAAqB,MAAMX,EAAEW,EAAE,CAAC,IAAI0B,EAAE,GAAGvB,EAAE,CAAC,GAAGkB,GAAG,EAAE,aAAa,MAAMI,EAAE4C,EAAEtE,EAAE,MAAMA,EAAE,OAAO,CAAC,IAAI,IAAIZ,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,EAAEW,EAAEX,GAAG,QAAQ,IAAI,IAAIC,EAAE,EAAEA,EAAEsC,EAAE,OAAO,IAAI,CAAC,IAAMnC,EAAEmC,EAAEtC,GAAG,EAAE,SAASkD,IAAIjD,EAAE,SAAS0E,GAAU9D,IAAP,KAA4I,QAAQ,KAAK,kGAAkG,CAAlPmB,EAAE,EAAE,wBAAwB,MAAMjC,EAAEC,EAAE,EAAE,EAAEG,EAAE,MAAMA,EAAE,OAAOU,EAAEV,EAAE,KAAK,CAAC,EAAE,qBAAqB,MAAMJ,EAAEC,EAAEiF,EAAE9E,EAAE,MAAMA,EAAE,OAAO,EAAEA,EAAE,KAAK,CAAiH6B,EAAE,EAAE,cAAc,MAAMjC,EAAEC,EAAE,EAAE,EAAEG,EAAE,MAAMA,EAAE,OAAOU,EAAEC,EAAEX,EAAE,KAAK,CAAC,EAAE,WAAW,MAAMJ,EAAEC,EAAEiF,EAAE9E,EAAE,MAAMA,EAAE,OAAO,EAAEU,EAAEC,EAAEX,EAAE,KAAK,OAAO,CAAC,EAAEF,EAAE,QAAW+B,GAAGC,IAAG,EAAE,OAAO,GAAG,IAAI,EAAE,aAAa,MAAMI,EAAE4C,EAAEvE,EAAE,GAAG,MAAMA,EAAE,GAAG,OAAO,EAAC,IAAI,IAAIX,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAGS,EAAE,CAAC,EAAE,EAAE,cAAc,MAAMT,EAAE,EAAE,EAAE,EAAEW,EAAEX,GAAG,MAAMW,EAAEX,GAAG,OAAOc,EAAEC,EAAEJ,EAAEX,GAAG,KAAK,CAAC,EAAE,WAAW,MAAMA,EAAE,EAAEkF,EAAEvE,EAAEX,GAAG,MAAMW,EAAEX,GAAG,OAAO,EAAEc,EAAEC,EAAEJ,EAAEX,GAAG,KAAK,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAEsC,EAAE,OAAO,IAAI,CAAc,IAAMnC,EAAXmC,EAAEtC,GAAa,MAAMD,GAAG,MAAM,EAAE,EAAE,cAAc,MAAMA,EAAEC,EAAE,EAAE,EAAE,EAAEG,EAAE,MAAMA,EAAE,OAAOU,EAAEC,EAAEX,EAAE,KAAK,CAAC,EAAE,WAAW,MAAMJ,EAAEC,EAAE,EAAEiF,EAAE9E,EAAE,MAAMA,EAAE,OAAO,EAAEU,EAAEC,EAAEX,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,cAAc,MAAMJ,EAAE,EAAE,EAAE,EAAEc,EAAEC,EAAEJ,EAAEX,GAAG,CAAC,EAAE,WAAW,MAAMA,EAAE,EAAEkF,EAAEpE,EAAEC,EAAEJ,EAAEX,GAAG,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAEsC,EAAE,OAAO,IAAI,CAAC,IAAMrC,EAAEqC,EAAEtC,GAAG,EAAE,EAAE,cAAc,MAAMD,EAAEC,EAAE,EAAE,EAAE,EAAEa,EAAEC,EAAEb,EAAE,MAAMF,GAAG,CAAC,EAAE,WAAW,MAAMA,EAAEC,EAAE,EAAEiF,EAAEpE,EAAEC,EAAEb,EAAE,MAAMF,GAAG,GAAG,EAA4BE,EAAEW,EAAE,EAAE,EAAe,MAAM,CAAC,EAAE,UAAUX,EAAE,QAAQ,EAAE,UAAUA,EAAE,SAASA,EAAE,CAAC,SAAS,GAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMQ,EAAEF,EAAE,QAAQQ,EAAE,OAAO,CAAOL,EAAEH,EAAE,QAAQQ,EAAE,KAAK,CAAOJ,EAAE,EAAkBI,EAAE,eAAeN,EAAEC,EAAEK,EAAE,SAAS,CAASd,EAAE,IAAIE,EAAE,CAAG,wBAAgCK,IAAR,OAAmBA,IAAR,MAAU,EAAE,WAAWA,EAAE,EAAEG,EAAER,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAM,EAAEM,EAAEC,EAAE,KAAK,CAAC,EAAE,WAAWF,EAAE,EAAEG,EAAER,EAAE,MAAMA,EAAE,OAAO,EAAEM,EAAEC,EAAE,KAAK,EAAE,EAAE,gBAAgB,MAAMV,EAAE,CAAC,EAAE,mBAAmBa,EAAE,mCAAmC,MAAMuB,EAAE5B,EAAEP,EAAE,IAAIc,EAAE,CAAC,eAAe,EAAE,GAAuBZ,EAAE,CAAC,CAACJ,EAAE,qBAAqB,MAAMqC,EAAE5B,EAAEP,EAAE,IAAIc,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,gBAAgB,MAAM,KAAK,CAAC,SAAS,EAAyB,EAAE,EAAE,EAAE,CAA6B,GAA5B,EAAE,iBAAiB,MAAMf,EAAE,CAAIkB,EAAE,aAAa,CAACA,EAAE,cAAc,CAAC,IAAIf,EAAE,MAAM,GAAGF,GAAGiB,EAAE,mBAAmB,CAAC,IAAMlB,EAAEkB,EAAE,aAAa,GAAGlB,EAAE,iBAAiBA,EAAE,OAAOmD,GAAG,EAAE,MAAMnD,EAAE,OAAO4H,KAAK,EAAE,QAAQ,IAAM3H,EAAE,GAAuBiB,EAAE,CAAC,EAAE,mBAAmBL,EAAE,kCAAkC,MAAMZ,EAAEE,EAAEe,EAAE,MAAMA,EAAE,OAAO,CAACnB,EAAE,+BAA+B,MAAME,EAAEE,EAAEe,EAAE,MAAMA,EAAE,OAAO,MAAM,EAAE,oBAAoB,MAAMf,EAAEe,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,wBAAwB,MAAM,MAAM,MAAMlB,EAAE,SAASkB,EAAE,aAAaA,EAAE,cAAc,CAAC,IAAMf,EAAE,GAAuBe,EAAE,CAAC,GAAGA,EAAE,gBAAgBnB,EAAE,+BAA+B,MAAMI,EAAE,MAAMe,EAAE,MAAMA,EAAE,OAAO,CAACA,EAAE,mBAAmBL,EAAE,kCAAkC,MAAMV,EAAE,MAAMe,EAAE,MAAMA,EAAE,OAAO,CAACnB,EAAE,oBAAoB,MAAM,MAAMmB,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,wBAAwB,MAAM,MAAM,MAAMlB,EAAE,KAAK,CAAC,IAAMA,EAAE,KAAOkB,EAAE,6BAA6BA,EAAE,QAAQ,GAAGA,EAAE,QAAcf,EAAEI,EAAE,QAAQP,EAAE,OAAO,CAAOe,EAAER,EAAE,QAAQP,EAAE,KAAK,CAAOoC,EAAE,EAAkBpC,EAAE,eAAeG,EAAEY,EAAEf,EAAE,SAAS,CAAOQ,EAAE,GAAuBU,EAAE,CAAC,GAAGA,EAAE,gBAAgBnB,EAAE,+BAA+B,MAAMS,EAAE4B,EAAElB,EAAE,MAAMA,EAAE,OAAO,CAACA,EAAE,mBAAmBL,EAAE,kCAAkC,MAAML,EAAE4B,EAAElB,EAAE,MAAMA,EAAE,OAAO,CAACnB,EAAE,oBAAoB,MAAMqC,EAAElB,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,iBAAiB,MAAM,KAAK,CAAC,SAAS,GAAkB,EAAE,EAAE,CAAsC,GAA7Bf,GAAGA,EAAE,wBAA6B,MAAU,MAAM,0DAA0D,CAA4B,GAA3B,EAAE,gBAAgB,MAAMH,EAAE,CAAI,EAAEG,EAAE,cAAcA,EAAE,aAAa,gBAAgB,MAAU,MAAM,sEAAsE,EAAI,CAACF,EAAE,IAAIE,EAAE,aAAa,CAAC,gBAAgBA,EAAE,aAAa,MAAM,QAAQA,EAAE,OAAOA,EAAE,aAAa,MAAM,SAASA,EAAE,UAAQ,EAAE,aAAa,MAAM,MAAMA,EAAE,MAAM,EAAE,aAAa,MAAM,OAAOA,EAAE,OAAO,EAAE,aAAa,YAAY,IAAK,EAAaA,EAAE,aAAa,EAAE,CAAC,IAAMY,EAAEd,EAAE,IAAIE,EAAE,aAAa,CAAC,eAAqBiC,EAAE,GAAuBjC,EAAE,CAAC,GAAGA,EAAE,aAAa,SAAS2H,GAAG,EAAE,mBAAmBjH,EAAE,mCAAmC,MAAM,MAAM,KAAKE,EAAE,EAAEqB,EAAE,CAACrC,EAAE,qBAAqB,MAAM,MAAM,KAAKgB,EAAE,EAAE,KAAK,CAAC,GAAGZ,EAAE,aAAa,SAAS6H,GAAG,MAAU,MAAM,8BAA8B,CAAC,EAAE,mBAAmBnH,EAAE,mCAAmC,MAAM,MAAM,KAAKE,EAAE,EAAEqB,EAAE,CAACrC,EAAE,qBAAqB,MAAM,MAAM,KAAKgB,EAAE,EAAE,EAAE,SAAS,EAAuB,EAAE,CAAC,IAAMZ,EAAEF,EAAE,IAAID,EAAE,CAAOO,EAAE,KAAOP,EAAE,wBAAwB,GAAGA,EAAE,cAAc,CAACG,EAAE,0BAA0B,CAAC,GAAGI,EAAE,MAAU,MAAM,2DAA2D,CAAC,GAAkBJ,EAAE,mBAAmBH,EAAE,SAASO,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,IAAI,IAAIN,EAAE,EAAEA,EAAE,EAAE,IAAK,EAAE,gBAAgB,MAAME,EAAE,mBAAmBF,GAAG,CAAC,EAAE,mBAAmBA,GAAGF,EAAE,oBAAoB,CAAC,EAAyBI,EAAE,mBAAmBF,GAAGD,EAAE,GAAM,MAAO,EAAE,gBAAgB,MAAMG,EAAE,mBAAmB,CAAC,EAAE,mBAAmBJ,EAAE,oBAAoB,CAAC,EAAyBI,EAAE,mBAAmBH,EAAE,GAAM,CAAC,EAAE,gBAAgB,MAAM,KAAK,CAAC,SAAS,GAAe,EAAE,EAAE,EAAE,CAAC,IAAMG,EAAEF,EAAE,IAAIF,EAAE,CAAUC,IAAT,IAAK,IAAO,GAAwBG,EAAE,mBAAmBJ,EAAEA,EAAE,QAAQ,MAAM,KAAK,CAAUmB,IAAT,IAAK,IAAO,EAAuBnB,EAAE,CAAC,SAAS,GAAkB,EAAE,CAAC,IAAMS,EAAER,EAAE,QAAcS,EAAER,EAAE,IAAID,EAAE,CAAOU,EAAET,EAAE,IAAIO,EAAE,CAAC,EAAE,iBAAiB,UAAU,EAAsB,CAAI,KAAOR,EAAE,+BAAuCU,EAAE,iBAAX,IAAK,KAAuB,EAAE,eAAeX,EAAE,eAAe,EAAE,EAAE,UAAUS,EAAE,QAAQ,EAAE,OAAO,YAAW,IAAMG,EAAE,KAAOX,EAAE,wBAA8BY,EAAE,KAAOZ,EAAE,6BAAmCa,EAAEL,EAAE,iBAAiBA,EAAE,qBAA2BM,EAAE,EAAed,EAAE,EAAE,EAAuL,GAAlL,GAAGQ,EAAE,SAASmE,KAAKnE,EAAE,OAAO2C,IAAI3C,EAAE,OAAOmH,MAAK,EAAE,OAAOzE,GAAG,QAAQ,KAAK,0GAA0G,EAAIvC,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,IAAI,IAAIX,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAE,mBAAmBA,GAAGD,EAAE,mBAAmB,SAAM,EAAE,mBAAmBA,EAAE,mBAAmB,CAAIa,EAAE,GAAGT,EAAE,YAAY,CAAC,IAAMe,EAAElB,EAAE,QAAQ,IAAI,IAAIA,EAAE,EAAEG,EAAEe,EAAE,OAAOlB,EAAEG,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAE,IAAIiB,EAAElB,GAAG,CAAaG,EAAE,iBAAX,IAAK,KAAsB,EAAE,eAAeJ,EAAE,eAAe,CAAC,EAAE,OAAO,kBAAkB,QAAQ,KAAK,gHAAgH,SAASC,EAAE,gBAAgB,GAAG,EAAE,CAAC,EAAE,+BAA+BD,EAAE,mBAAmB,CAAC,EAAE,yBAAyBA,EAAE,oBAAoB,CAAC,EAAE,iBAAiB,MAAMU,EAAE,yBAAyB,CAAC,IAAMR,EAAEM,EAAE,QAAQC,EAAE,OAAO,CAAOL,EAAEI,EAAE,QAAQC,EAAE,KAAK,CAAOO,EAAE,EAAkBP,EAAE,eAAeP,EAAEE,EAAEK,EAAE,SAAS,CAAO4B,EAAE,GAAuBpC,EAAE,CAAC,EAAE,+BAA+B,MAAMoC,EAAErB,EAAEf,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE,gBAAgB,MAAMS,EAAE,+BAA+B,CAAC,EAAE,wBAAwB,MAAM,MAAM,MAAMA,EAAE,yBAAyB,CAAC,EAAE,iBAAiB,MAAM,KAAK,CAAIT,EAAE,cAAa,EAAE,yBAAyBD,EAAE,oBAAoB,CAAC,EAAyBU,EAAE,yBAAyBT,EAAE,GAAK,EAAC,EAAE,gBAAgB,MAAM,KAAK,MAAM,QAAQ,KAAK,kFAAkF,CAAC,GAAGW,EAAE,CAAC,EAAE,YAAY,MAAMD,EAAE,eAAe,CAAC,EAAqB,MAAMF,EAAEM,EAAE,CAAC,IAAI,IAAIf,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAwBU,EAAE,mBAAmBV,GAAGC,EAAEQ,EAAE,MAAM,MAAMT,EAAE,CAAC,EAA4BS,EAAEM,EAAE,EAAE,EAAe,MAAM,CAAC,EAAE,eAAe,SAASF,EAAE,CAAC,IAAMb,EAAEC,EAAE,QAAQ,IAAI,IAAIG,EAAE,EAAEI,EAAER,EAAE,OAAOI,EAAEI,EAAE,IAAI,CAAC,IAAMA,EAAER,EAAEI,GAASY,EAAEd,EAAE,IAAIM,EAAE,CAAC,EAAE,YAAY,KAAKQ,EAAE,eAAe,CAAC,EAAqB,KAAKR,EAAEO,EAAE,CAAC,GAAwBL,EAAE,mBAAmBT,EAAEO,EAAE,MAAMJ,EAAE,KAAK,CAAC,EAA4BI,EAAEO,EAAE,EAAE,EAAe,KAAK,CAAC,EAAE,eAAe,KAAK,CAAC,IAAIf,EAAE,KAAQc,IAAK,EAA6B,EAAlBL,EAAE,gBAAoB,MAAM,MAAW,QAAQ,KAAK,+EAA+E,EAAC,EAAE,YAAYT,EAAEW,EAAE,eAAe,CAAC,EAAqBX,EAAES,EAAEM,EAAE,CAAC,GAAwBL,EAAE,mBAAmBT,EAAEQ,EAAE,MAAMT,EAAE,CAAC,EAA4BS,EAAEM,EAAE,EAAE,EAAef,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,aAAa,EAAuBC,EAAE,CAAC,SAAS,GAAyB,EAAE,CAAC,IAAMA,EAAE,EAAeD,EAAE,EAAE,EAAQI,EAAE,KAAOJ,EAAE,6BAA6BA,EAAE,QAAQ,CAACA,EAAE,QAAQ,CAAC,IAAI,IAAIQ,EAAE,EAAEQ,EAAEZ,EAAE,OAAOI,EAAEQ,EAAE,IAAI,CAAC,IAAMA,EAAEZ,EAAEI,GAAG,GAAG,EAA4BQ,EAAEf,EAAE,CAAC,CAAC,IAAMA,EAAED,EAAE,wBAAwB,MAAM,KAAWI,EAAEF,EAAE,IAAIc,EAAE,CAAC,eAAe,EAAE,YAAYf,EAAEG,EAAE,CAAC,EAAeH,EAAE,CAAC,EAAE,eAAe,GAAG,SAAS,GAA8B,EAAE,CAAC,GAAGA,EAAE,gBAAgB,GAAG,EAAE,CAAC,IAAMG,EAAEH,EAAE,MAAYO,EAAEP,EAAE,OAAWe,EAAE,MAAYqB,EAAE,CAAC,MAAM,CAAO5B,EAAER,EAAE,cAAc,MAAM,MAAM,EAAE,aAAaoC,EAAE,KAAK5B,EAAE,CAAKR,EAAE,gCAA+B,EAAE,cAAc,GAAG,KAAK,EAAE,gBAAgB,GAAG,OAAM,IAAMS,EAAER,EAAE,IAAID,EAAE,CAAC,EAAE,gBAAgB,MAAMS,EAAE,+BAA+B,CAAC,EAAE,gBAAgB,MAAMA,EAAE,mBAAmB,CAAIT,EAAE,gCAA+B,EAAE,sBAAsB,MAAM,CAACQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,MAAM,CAACA,EAAE,CAAC,EAAC,EAAE,gBAAgB,EAAE,EAAEL,EAAEI,EAAE,EAAE,EAAEJ,EAAEI,EAAEQ,EAAE,KAAK,CAAC,EAAE,sBAAsB,MAAMqB,EAAE,CAAC,EAAE,gBAAgB,MAAM,KAAK,CAAC,EAAE,gBAAgB,MAAM3B,EAAE,+BAA+B,MAAM,QAAQ,KAAK,kFAAkF,CAAC,SAAS,GAAuB,EAAE,CAAC,OAAO,IAAIV,EAAE,iBAAiBA,EAAE,oBAAoB,KAAK,IAAIY,EAAEZ,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAmB,EAAE,CAAC,IAAMC,EAAE,EAAE,OAAO,MAASc,EAAE,IAAIf,EAAE,GAAGC,IAAG,EAAE,IAAID,EAAEC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAIuC,GAAE,GAAUsC,GAAE,GAAM,SAAS,GAAiB,EAAE,EAAE,CAAI9E,GAAGA,EAAE,sBAAwB,KAAQwC,KAAG,QAAQ,KAAK,mHAAmH,CAAC,GAAE,IAAK,EAAExC,EAAE,SAAQ,EAAaA,EAAEC,EAAE,CAAC,SAAS,GAAmB,EAAE,EAAE,CAAID,GAAGA,EAAE,0BAA4B,KAAQ8E,KAAG,QAAQ,KAAK,0HAA0H,CAAC,GAAE,IAAK,EAAE9E,EAAE,SAAQ,GAAeA,EAAEC,EAAE,CAAC,KAAK,oBAAoB,EAAoB,KAAK,kBAAkB,EAAkB,KAAK,aAAa,EAAa,KAAK,kBAAkB,EAAkB,KAAK,aAAa,EAAa,KAAK,eAAe,GAAe,KAAK,eAAe,GAAe,KAAK,kBAAkB,GAAkB,KAAK,yBAAyB,GAAyB,KAAK,8BAA8B,GAA8B,KAAK,uBAAuB,EAAuB,KAAK,wBAAwB,GAAwB,KAAK,iBAAiB,GAAiB,KAAK,mBAAmB,GAAmB,SAAS,GAAW,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,EAAE,SAAS,SAAS,EAAQ,EAAE,CAAC,IAAIiB,EAAE,GAAGnB,IAAIiF,GAAG,MAAO,MAAK,GAAGjF,IAAIkI,GAAG,MAAO,OAAM,GAAGlI,IAAImI,GAAG,MAAO,OAAM,GAAGnI,IAAIoI,GAAG,MAAO,OAAM,GAAGpI,IAAIqI,GAAG,MAAO,MAAK,GAAGrI,IAAIsI,GAAG,MAAO,MAAK,GAAGtI,IAAIgI,GAAG,MAAO,MAAK,GAAGhI,IAAIuI,GAAG,MAAO,MAAK,GAAGvI,IAAI6H,GAAG,MAAO,MAAK,GAAG7H,IAAIoD,GAAG,MAAO,MAAK,GAAGpD,IAAI4H,GAAuD,OAAhD1H,EAAS,MAAK,EAAED,EAAE,IAAI,yBAAyB,CAAekB,IAAP,KAA0B,KAAjBA,EAAE,gBAAoB,GAAGnB,IAAIwI,GAAG,MAAO,MAAK,GAAGxI,IAAI4E,GAAG,MAAO,MAAK,GAAG5E,IAAImD,GAAG,MAAO,MAAK,GAAGnD,IAAIyI,GAAG,MAAO,MAAK,GAAGzI,IAAI0I,GAAG,MAAO,MAAK,GAAG1I,IAAI+H,GAAG,MAAO,MAAK,GAAG/H,IAAIiI,GAAG,MAAO,OAAM,GAAGjI,IAAI2I,GAAG,MAAO,MAAK,GAAG3I,IAAI4I,GAAG,MAAO,OAAM,GAAG5I,IAAI6I,GAAG,MAAO,OAAM,GAAG7I,IAAI8I,GAAG,MAAO,OAAM,GAAG9I,IAAI+I,GAAG,MAAO,OAAM,GAAG/I,IAAIgJ,GAAG,MAAO,OAAM,GAAGhJ,IAAIiJ,IAAIjJ,IAAIkJ,IAAIlJ,IAAImJ,IAAInJ,IAAIoJ,GAAG,CAA0C,GAAzC,EAAEnJ,EAAE,IAAI,gCAAgC,CAAWkB,IAAP,KAAS,OAAO,KAAK,GAAGnB,IAAIiJ,GAAG,OAAO9H,EAAE,6BAA6B,GAAGnB,IAAIkJ,GAAG,OAAO/H,EAAE,8BAA8B,GAAGnB,IAAImJ,GAAG,OAAOhI,EAAE,8BAA8B,GAAGnB,IAAIoJ,GAAG,OAAOjI,EAAE,8BAA8B,GAAGnB,IAAIqJ,IAAIrJ,IAAIsJ,IAAItJ,IAAIuJ,IAAIvJ,IAAIwJ,GAAG,CAA2C,GAA1C,EAAEvJ,EAAE,IAAI,iCAAiC,CAAWkB,IAAP,KAAS,OAAO,KAAK,GAAGnB,IAAIqJ,GAAG,OAAOlI,EAAE,gCAAgC,GAAGnB,IAAIsJ,GAAG,OAAOnI,EAAE,gCAAgC,GAAGnB,IAAIuJ,GAAG,OAAOpI,EAAE,iCAAiC,GAAGnB,IAAIwJ,GAAG,OAAOrI,EAAE,iCAAiC,GAAGnB,IAAIyJ,GAA6C,MAAzC,GAAExJ,EAAE,IAAI,gCAAgC,CAAekB,IAAP,KAAqC,KAA5BA,EAAE,0BAA+B,IAAGnB,IAAI0J,IAAI1J,IAAI2J,MAAI,EAAE1J,EAAE,IAAI,+BAA+B,CAAWkB,IAAP,MAAS,CAAC,GAAGnB,IAAI0J,GAAG,OAAOvI,EAAE,qBAAqB,GAAGnB,IAAI2J,GAAG,OAAOxI,EAAE,0BAA2B,GAAGnB,IAAI4J,IAAI5J,IAAI,IAAIA,IAAI6J,IAAI7J,IAAI,IAAIA,IAAI,IAAIA,IAAI8J,IAAI9J,IAAI+J,IAAI/J,IAAIgK,IAAIhK,IAAIiK,IAAIjK,IAAIkK,IAAIlK,IAAImK,IAAInK,IAAIoK,IAAIpK,IAAIqK,IAAIrK,IAAIsK,IAAItK,IAAIuK,IAAIvK,IAAIwK,IAAIxK,IAAIyK,IAAIzK,IAAI0K,IAAI1K,IAAI2K,IAAI3K,IAAI4K,IAAI5K,IAAI6K,IAAI7K,IAAI8K,IAAI9K,IAAI+K,IAAI/K,IAAI,IAAIA,IAAIgL,IAAIhL,IAAIiL,IAAIjL,IAAIkL,IAAIlL,IAAImL,GAA6C,MAAzC,GAAElL,EAAE,IAAI,gCAAgC,CAAekB,IAAP,KAAW,KAAFnB,EAAO,GAAGA,IAAIoL,GAA4C,MAAxC,GAAEnL,EAAE,IAAI,+BAA+B,CAAekB,IAAP,KAAW,KAAFnB,EAAO,GAAGA,IAAI8H,GAAqD,OAA9C5H,EAAS,OAAM,EAAED,EAAE,IAAI,sBAAsB,CAAekB,IAAP,KAAmC,KAA1BA,EAAE,yBAA8B,MAAM,CAAS,UAAQ,CAA6gV,SAAS,GAAe,EAAE,CAAC,SAAS,EAAmB,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,KAAKlB,EAAE,MAAM,CAAIA,EAAE,OAAO,EAAE,QAAQ,MAAMA,EAAE,KAAK,EAAE,OAAO,MAAMA,EAAE,KAAS,EAAE,YAAY,EAAE,WAAW,MAAMA,EAAE,SAAS,SAAS,EAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAIA,EAAE,oBAAoB,EAAsBD,EAAEC,EAAE,CAASA,EAAE,uBAAuB,EAAsBD,EAAEC,EAAE,CAAC,EAAuBD,EAAEC,EAAE,EAASA,EAAE,oBAAoB,EAAsBD,EAAEC,EAAE,CAAC,EAAoBD,EAAEC,EAAE,EAASA,EAAE,qBAAqB,EAAsBD,EAAEC,EAAE,CAAC,EAAqBD,EAAEC,EAAE,EAASA,EAAE,wBAAwB,EAAsBD,EAAEC,EAAE,CAAC,EAAE,uBAAuB,EAAwBD,EAAEC,EAAEG,EAAE,CAAC,EAAwBJ,EAAEC,EAAE,EAASA,EAAE,sBAAsB,EAAsBD,EAAEC,EAAE,CAAC,EAAsBD,EAAEC,EAAE,EAASA,EAAE,qBAAqB,EAAsBD,EAAEC,EAAE,CAAC,EAAqBD,EAAEC,EAAE,EAASA,EAAE,wBAAwB,EAAsBD,EAAEC,EAAE,CAAC,EAAwBD,EAAEC,EAAE,EAASA,EAAE,sBAAsB,EAAsBD,EAAEC,EAAE,CAAC,EAAsBD,EAAEC,EAAE,EAASA,EAAE,qBAAqB,EAAoBD,EAAEC,EAAE,CAAC,EAAE,sBAAsB,EAAoBD,EAAEC,EAAE,EAASA,EAAE,iBAAiB,EAAsBD,EAAEC,EAAE,EAAEC,EAAE,CAASD,EAAE,iBAAiB,EAAuBD,EAAEC,EAAE,CAASA,EAAE,kBAAkB,EAAE,MAAM,MAAM,KAAKA,EAAE,MAAM,CAAC,EAAE,QAAQ,MAAMA,EAAE,SAAa,EAAE,mBAAmB,EAAE,mBAAmB,IAAO,SAAS,EAAsB,EAAE,EAAE,CAAC,EAAE,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAOA,EAAE,QAAQ,MAAM,KAAK,EAAE,MAAM,CAAC,EAAE,UAAUA,EAAE,SAAS,MAAM,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,MAAM,EAAE,aAAa,EAAE,UAAU,IAAI,EAAE,UAAU,MAAM,EAAE,WAAW,IAAMC,EAAEF,EAAE,IAAI,EAAE,CAAC,OAAUE,IAAG,EAAE,OAAO,MAAMA,EAAE,EAAE,WAAW,MAAMA,EAAE,eAAe,KAAQA,EAAE,sBAAsB,GAAG,EAAE,EAAE,aAAa,MAAM,EAAE,aAAa,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,gBAAgB,MAAM,EAAE,iBAAmB,EAAE,WAAU,EAAE,SAAS,MAAM,EAAE,SAAS,EAAE,kBAAkB,MAAM,EAAE,mBAAqB,EAAE,QAAO,EAAE,MAAM,MAAM,EAAE,MAAM,EAAE,eAAe,MAAM,EAAE,gBAAe,IAAIE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE,EAAE,mBAA+BA,IAAT,IAAK,KAAO,EAAE,sBAAsB,EAAEA,EAAE,SAAS,KAAOA,EAAE,kBAAkBA,EAAE,cAAc,CAAC,EAAE,YAAY,MAAM,KAAKA,EAAE,OAAO,EAAC,IAAII,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,UAAsBA,IAAT,IAAK,KAAO,EAAE,sBAAsB,EAAEA,EAAE,SAAS,KAAOA,EAAE,kBAAkBA,EAAE,cAAc,CAAC,EAAE,aAAa,MAAM,KAAKA,EAAE,OAAO,EAAE,SAAS,EAAoB,EAAE,EAAE,CAAC,EAAE,QAAQ,MAAM,KAAKP,EAAE,MAAM,CAAC,EAAE,QAAQ,MAAMA,EAAE,QAAQ,SAAS,EAAoB,EAAE,EAAE,CAAC,EAAE,SAAS,MAAMA,EAAE,SAAS,EAAE,UAAU,MAAMA,EAAE,SAASA,EAAE,QAAQ,EAAE,MAAM,MAAMA,EAAE,MAAM,SAAS,EAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,MAAM,KAAKA,EAAE,MAAM,CAAC,EAAE,QAAQ,MAAMA,EAAE,QAAQ,EAAE,KAAK,MAAMA,EAAE,KAAK,EAAE,EAAE,MAAM,MAAM,GAAGC,EAAE,EAAE,MAAM,EAAE,IAAI,MAAMD,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,MAAMA,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,UAAU,MAAMA,EAAE,WAAW,IAAIG,EAAE,EAAE,IAAI,EAAEH,EAAE,IAAIA,EAAE,WAAW,EAAEA,EAAE,UAAsBG,IAAT,IAAK,KAAO,KAAOA,EAAE,kBAAkBA,EAAE,cAAc,CAAC,EAAE,YAAY,MAAM,KAAKA,EAAE,OAAO,EAAE,SAAS,EAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,MAAM,KAAKH,EAAE,MAAM,CAAC,EAAE,QAAQ,MAAMA,EAAE,QAAQ,EAAE,SAAS,MAAMA,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,MAAMA,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,MAAMA,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,UAAU,MAAMA,EAAE,WAAW,IAAI,EAAE,EAAE,IAAI,EAAEA,EAAE,IAAIA,EAAE,WAAW,EAAEA,EAAE,UAAsB,IAAT,IAAK,KAAO,KAAO,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,YAAY,MAAM,KAAK,EAAE,OAAO,EAAE,SAAS,EAAuB,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,MAAMA,EAAE,aAAa,SAAS,EAAqB,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,KAAKA,EAAE,SAAS,CAAC,EAAE,UAAU,MAAM,KAAK,IAAIA,EAAE,UAAU,KAAK,CAAC,EAAE,cAAc,EAAE,YAAY,MAAMA,EAAE,aAAgBA,EAAE,UAAS,EAAE,QAAQ,MAAMA,EAAE,QAAQ,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,OAAO,KAAI,EAAE,UAAU,OAAO,KAAOA,EAAE,YAAW,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,YAAY,MAAM,KAAKA,EAAE,YAAY,CAAC,EAAE,OAAO,IAAGD,EAAE,YAAY,MAAM,QAAQ,EAAIC,EAAE,kBAAiB,EAAE,gBAAgB,MAAMA,EAAE,gBAAgB,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,iBAAiB,MAAMA,EAAE,kBAAkB,SAAS,EAAoB,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,MAAMA,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,MAAMA,EAAE,aAAgBA,EAAE,UAAS,EAAE,QAAQ,MAAMA,EAAE,QAAQ,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,OAAO,KAAI,EAAE,UAAU,OAAO,KAAOA,EAAE,YAAW,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,YAAY,MAAM,KAAKA,EAAE,YAAY,CAAC,EAAE,OAAO,IAAGD,EAAE,YAAY,MAAM,QAAQ,EAAIC,EAAE,kBAAiB,EAAE,gBAAgB,MAAMA,EAAE,gBAAgB,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,iBAAiB,MAAMA,EAAE,kBAAkB,SAAS,EAAwB,EAAE,EAAE,CAAC,EAAE,UAAU,MAAM,EAAE,UAAU,EAAE,UAAU,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,MAAM,EAAE,aAAgB,EAAE,UAAS,EAAE,QAAQ,MAAM,EAAE,QAAQ,EAAE,UAAU,MAAM,EAAE,UAAU,EAAE,OAAO,KAAI,EAAE,UAAU,OAAO,KAAO,EAAE,YAAW,EAAE,UAAU,MAAM,EAAE,UAAU,EAAE,YAAY,MAAM,KAAK,EAAE,YAAY,CAAC,EAAE,OAAO,IAAGA,EAAE,YAAY,MAAM,QAAQ,EAAI,EAAE,kBAAiB,EAAE,gBAAgB,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,MAAM,EAAE,kBAAyBD,EAAE,IAAI,EAAE,CAAC,SAAW,EAAE,gBAAgB,MAAM,EAAE,iBAAiB,SAAS,EAAwB,EAAE,EAAE,EAAE,CAAC,EAAwBA,EAAEC,EAAE,CAAC,EAAE,IAAI,MAAMA,EAAE,IAAOA,EAAE,MAAM,IAAG,EAAE,WAAW,MAAM,KAAKA,EAAE,WAAW,CAAC,eAAeA,EAAE,MAAM,CAAC,EAAE,eAAe,MAAMA,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,MAAMA,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,MAAMA,EAAE,oBAAsBA,EAAE,UAAU,IAAG,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,mBAAmB,MAAMA,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,MAAMA,EAAE,cAAc,EAAE,wBAAwB,EAAE,sBAAsB,MAAMA,EAAE,uBAA0BA,EAAE,qBAAoB,EAAE,qBAAqB,MAAM,KAAKA,EAAE,qBAAqB,CAAC,EAAE,mBAAmB,MAAMA,EAAE,mBAAmB,EAAE,OAAO,IAAGD,EAAE,qBAAqB,MAAM,QAAQ,GAAKC,EAAE,aAAa,IAAG,EAAE,aAAa,MAAMA,EAAE,aAAa,EAAE,uBAAuB,MAAM,EAAE,QAAQ,EAAE,wBAAwB,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,MAAMA,EAAE,iBAAiB,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,MAAMA,EAAE,cAAc,EAAE,oBAAoB,MAAMA,EAAE,oBAAoB,EAAE,iBAAiB,MAAM,KAAKA,EAAE,iBAAiB,EAAC,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,cAAc,MAAM,KAAKA,EAAE,cAAc,CAAC,EAAE,uBAAuB,EAAE,qBAAqB,MAAMA,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,MAAMA,EAAE,kBAAkB,SAAS,EAAsB,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,MAAMA,EAAE,QAAWA,EAAE,UAAS,EAAE,QAAQ,MAAMA,EAAE,QAAQ,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,OAAO,KAAI,EAAE,UAAU,OAAO,KAAOA,EAAE,YAAW,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,YAAY,MAAM,KAAKA,EAAE,YAAY,CAAC,EAAE,OAAO,IAAGD,EAAE,YAAY,MAAM,QAAQ,EAAIC,EAAE,kBAAiB,EAAE,gBAAgB,MAAMA,EAAE,gBAAgB,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,iBAAiB,MAAMA,EAAE,kBAAkB,SAAS,EAAqB,EAAE,EAAE,CAAIA,EAAE,kBAAiB,EAAE,gBAAgB,MAAMA,EAAE,gBAAgB,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,iBAAiB,MAAMA,EAAE,kBAAkB,SAAS,EAAwB,EAAE,EAAE,CAAIA,EAAE,kBAAiB,EAAE,gBAAgB,MAAMA,EAAE,gBAAgB,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,iBAAiB,MAAMA,EAAE,kBAAiB,EAAE,kBAAkB,MAAM,KAAKA,EAAE,kBAAkB,CAAC,EAAE,aAAa,MAAMA,EAAE,aAAa,EAAE,YAAY,MAAMA,EAAE,YAAY,SAAS,EAAsB,EAAE,EAAE,CAAIA,EAAE,UAAS,EAAE,QAAQ,MAAMA,EAAE,QAAQ,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,OAAO,KAAI,EAAE,UAAU,OAAO,KAAOA,EAAE,YAAW,EAAE,UAAU,MAAMA,EAAE,UAAU,EAAE,YAAY,MAAM,KAAKA,EAAE,YAAY,CAAC,EAAE,OAAO,IAAGD,EAAE,YAAY,MAAM,QAAQ,EAAIC,EAAE,kBAAiB,EAAE,gBAAgB,MAAMA,EAAE,gBAAgB,EAAE,kBAAkB,MAAMA,EAAE,kBAAkB,EAAE,iBAAiB,MAAMA,EAAE,kBAAkB,MAAM,CAAoB,qBAA2C,0BAAwB,CAAC,SAAS,IAAqB,CAAC,IAAMD,EAAE,GAAgB,SAAS,CAAyB,MAAxB,GAAE,MAAM,QAAQ,QAAeA,EAAE,SAAS,GAAc,EAAE,EAAE,CAAC,CAAC,IAAM,EAAWC,EAAE,SAAX,IAAK,GAAsB,IAAqB,CAA9BA,EAAE,OAA6BC,EAAWD,EAAE,UAAX,IAAK,GAAwB,KAAVA,EAAE,QAAaG,EAAWH,EAAE,QAAX,IAAK,IAAaA,EAAE,MAAMO,EAAWP,EAAE,QAAX,IAAK,IAAaA,EAAE,MAAM,EAAWA,EAAE,UAAX,IAAK,IAAeA,EAAE,QAAQ,EAAWA,EAAE,YAAX,IAAK,IAAiBA,EAAE,UAAUQ,EAAWR,EAAE,qBAAX,IAAK,IAA0BA,EAAE,mBAAmBS,EAAWT,EAAE,wBAAX,IAAK,IAA6BA,EAAE,sBAAsBU,EAAWV,EAAE,kBAAX,IAAK,GAAwC,UAAlBA,EAAE,gBAA0Bc,EAAWd,EAAE,+BAAX,IAAK,IAAoCA,EAAE,6BAAiC,EAAE,KAASgC,EAAE,KAAWC,EAAE,EAAE,CAAOI,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,MAAM,CAKrz+X,kBAAkB,GAAK,CAAC,KAAK,UAAU,GAAK,KAAK,eAAe,GAAK,KAAK,eAAe,GAAK,KAAK,iBAAiB,GAAK,KAAK,YAAY,GAAK,KAAK,eAAe,EAAE,CAAC,KAAK,qBAAqB,GAAM,KAAK,eAAeY,GAAG,KAAK,wBAAwB,GAAM,KAAK,YAAYyB,GAAE,KAAK,oBAAoB,EAAE,IAAMpC,EAAE,KAASC,EAAE,GAAUsC,EAAE,EAAMC,EAAE,EAAMC,EAAE,KAASG,EAAE,GAAOC,EAAE,KAAWC,EAAE,IAAI,GAAcC,EAAE,IAAI,GAAYC,EAAE,KAASC,EAAE,EAAE,MAAUC,EAAE,EAAE,OAAWC,EAAE,EAAM2F,EAAE,KAASC,EAAE,KAAW5D,EAAE,IAAI,GAAQ,EAAE,EAAElC,EAAEC,EAAE,CAAO+B,EAAE,IAAI,GAAQ,EAAE,EAAEhC,EAAEC,EAAE,CAAKgC,EAAE,GAAYF,EAAE,EAAE,CAAOnB,GAAE,IAAI,GAAYC,GAAE,GAAUC,EAAE,GAAUiF,EAAE,KAAWhF,GAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,GAAE,CAAC,WAAW,KAAK,IAAI,KAAK,YAAY,KAAK,iBAAiB,KAAK,QAAQ,GAAK,CAAC,SAAS,IAAqB,CAAC,OAAczB,IAAP,KAASU,EAAE,EAAE,IAAIgB,EAAExG,EAAE,SAAS,GAAW,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAEF,EAAE,OAAO,IAAI,CAAC,IAAMI,EAAEJ,EAAEE,GAASM,EAAE,EAAE,WAAWJ,EAAEH,EAAE,CAAC,GAAUO,IAAP,KAAS,OAAOA,EAAE,OAAO,KAAK,GAAG,CAAC,IAAMP,EAAE,CAAC,MAAMG,EAAE,MAAMI,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmBC,EAAE,sBAAsBC,EAAE,gBAAgBC,EAAE,6BAA6BI,EAAE,CAAiM,GAAhM,iBAAiB,GAAG,EAAE,aAAa,cAAc,aAAa,KAAI,CAAC,EAAE,iBAAiB,mBAAmB,GAAc,GAAM,CAAC,EAAE,iBAAiB,uBAAuB,GAAiB,GAAM,CAAW2F,IAAP,KAAS,CAAC,IAAM1G,EAAE,CAAC,SAAS,QAAQ,qBAAqB,CAAwD,GAAvD,KAAOuC,EAAE,kBAAkBvC,EAAE,OAAO,CAAC,EAAE,GAAWA,EAAEC,EAAE,CAAWyG,IAAP,KAAS,MAAM,GAAW1G,EAAE,CAAK,MAAM,8DAA8D,CAAK,MAAM,gCAAgC,CAAU0G,EAAE,2BAAX,IAAK,KAAiC,EAAE,yBAAyB,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS1G,EAAE,CAAkD,MAAjD,QAAQ,MAAM,wBAAwBA,EAAE,QAAQ,CAAOA,EAAE,IAAIyE,EAAEkC,GAAEjC,GAAEkC,GAAM5C,GAAEC,GAAEC,EAAGC,GAAG0C,GAAGC,GAAGnE,GAAOF,GAAGC,GAAGP,GAAGqC,GAAGuC,GAAGE,GAAOC,GAAGC,GAAGC,GAAGC,GAAOnB,GAAGoB,GAAG,SAAS,IAAe,CAAC,EAAE,IAAI,GAAgBZ,EAAE,CAAC,GAAE,IAAI,GAAkBA,EAAEjC,EAAExE,EAAE,CAAC,EAAE,KAAK0G,GAAE,CAAC,GAAG,IAAI,GAAWD,EAAEjC,EAAEkC,GAAE,CAAC,GAAE,IAAI,GAAWD,EAAEjC,EAAEkC,GAAE,CAAC,EAAE,GAAG,KAAK,GAAE,IAAI,GAAUD,EAAE,CAAC,GAAE,IAAI,GAAgB,GAAE,IAAI,GAAcA,EAAEjC,EAAEC,GAAEV,GAAE2C,GAAET,GAAGU,GAAE,CAAC,EAAG,IAAI,GAAcrE,EAAE,CAAC,GAAG,IAAI,GAAgBA,EAAE,CAAC,GAAG,IAAI,GAAgBmE,EAAEC,GAAE,CAAC,GAAG,IAAI,GAAmBD,EAAEjC,EAAEoC,GAAGF,GAAE,CAAC,GAAG,IAAI,GAAgBD,EAAEG,GAAGD,GAAEU,GAAG,CAAC,GAAG,IAAI,GAAaZ,EAAEI,GAAGD,GAAGD,GAAE,CAAC,GAAG,IAAI,GAAkBF,EAAEC,GAAE1C,GAAE,CAAC,GAAG,IAAI,GAAcD,GAAE,CAAC,GAAG,IAAI,GAAczB,EAAE2B,EAAGC,GAAGM,EAAEkC,GAAEW,GAAGP,GAAG,CAAC,GAAG,IAAI,GAAe/C,GAAE,CAAC,GAAG,IAAI,GAAiB,GAAG,IAAI,GAAkBS,EAAEkC,GAAE,CAAC,GAAG,IAAI,GAAgBpE,EAAE2B,EAAGQ,GAAE/B,GAAGlC,EAAE,CAAC,GAAG,IAAI,GAAe8B,EAAEI,GAAGgE,GAAE,CAAC,GAAG,IAAI,GAAoBD,EAAEjC,EAAEmC,GAAED,GAAE,CAAC,GAAG,IAAI,GAA2BD,EAAEjC,EAAEmC,GAAED,GAAE,CAAC,GAAE,SAASlE,GAAG,SAAS,EAAE,aAAakE,GAAE,EAAE,WAAWlC,EAAE,EAAE,WAAWT,GAAE,EAAE,YAAY7B,GAAG,EAAE,UAAU8E,GAAG,EAAE,MAAMvC,GAAE,EAAE,KAAKkC,GAAE,IAAe,CAAC,IAAM4E,GAAG,IAAI,GAAajJ,EAAEmE,EAAE,CAAC,KAAK,GAAG8E,GAAG,KAAK,WAAW,UAAU,CAAC,OAAO9E,GAAG,KAAK,qBAAqB,UAAU,CAAC,OAAOA,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,UAAU,CAAC,IAAM1G,EAAEyE,EAAE,IAAI,qBAAqB,CAAC,GAAGzE,EAAE,aAAa,EAAE,KAAK,oBAAoB,UAAU,CAAC,IAAMA,EAAEyE,EAAE,IAAI,qBAAqB,CAAC,GAAGzE,EAAE,gBAAgB,EAAE,KAAK,cAAc,UAAU,CAAC,OAAO0F,GAAG,KAAK,cAAc,SAAS,EAAE,CAAa1F,IAAT,IAAK,KAAO,EAAEA,EAAE,KAAK,QAAQwF,EAAEC,EAAE,GAAM,GAAG,KAAK,QAAQ,SAAS,EAAE,CAAC,OAAOzF,EAAE,IAAIwF,EAAEC,EAAE,EAAE,KAAK,QAAQ,SAAS,EAAE,EAAE,EAAE,CAAI+F,GAAG,aAAa,QAAQ,KAAK,wEAAwE,EAAM,EAAExL,EAAE,EAAEC,EAAE,EAAE,MAAM,KAAK,MAAMD,EAAE0F,EAAE,CAAC,EAAE,OAAO,KAAK,MAAMzF,EAAEyF,EAAE,CAAI,KAAQxF,IAAG,EAAE,MAAM,MAAMF,EAAE,KAAK,EAAE,MAAM,OAAOC,EAAE,MAAK,KAAK,YAAY,EAAE,EAAED,EAAEC,EAAE,GAAG,KAAK,qBAAqB,SAAS,EAAE,CAAC,OAAOD,EAAE,IAAIwF,EAAEE,EAAED,EAAEC,EAAE,CAAC,OAAO,EAAE,KAAK,qBAAqB,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE1F,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,MAAM,KAAK,MAAMF,EAAEE,EAAE,CAAC,EAAE,OAAO,KAAK,MAAMD,EAAEC,EAAE,CAAC,KAAK,YAAY,EAAE,EAAEF,EAAEC,EAAE,EAAE,KAAK,mBAAmB,SAAS,EAAE,CAAC,OAAOD,EAAE,KAAKqF,EAAE,EAAE,KAAK,YAAY,SAAS,EAAE,CAAC,OAAOrF,EAAE,KAAK0H,EAAE,EAAE,KAAK,YAAY,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAUA,EAAE,IAAI1H,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC0H,EAAE,IAAI1H,EAAEC,EAAEkB,EAAEjB,EAAE,CAAC,GAAE,SAASmF,EAAE,KAAKqC,EAAE,CAAC,eAAehC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,WAAW,SAAS,EAAE,CAAC,OAAO1F,EAAE,KAAKwH,EAAE,EAAE,KAAK,WAAW,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAUA,EAAE,IAAIxH,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACwH,EAAE,IAAIxH,EAAEC,EAAEkB,EAAEjB,EAAE,CAAC,GAAE,QAAQoF,EAAE,KAAKkC,EAAE,CAAC,eAAe9B,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,eAAe,UAAU,CAAC,OAAO+B,GAAG,KAAK,eAAe,SAAS,EAAE,CAAC,GAAE,eAAe,EAAEzH,EAAE,EAAE,KAAK,cAAc,SAAS,EAAE,CAAC,EAAEA,GAAG,KAAK,mBAAmB,SAAS,EAAE,CAAC,EAAEA,GAAG,KAAK,cAAc,SAAS,EAAE,CAAC,OAAOA,EAAE,KAAKkH,GAAG,eAAe,CAAC,EAAE,KAAK,cAAc,UAAU,CAAC,GAAG,cAAc,MAAMA,GAAG,UAAU,EAAE,KAAK,cAAc,UAAU,CAAC,OAAOA,GAAG,eAAe,EAAE,KAAK,cAAc,UAAU,CAAC,GAAG,cAAc,MAAMA,GAAG,UAAU,EAAE,KAAK,MAAM,SAAS,EAAE,EAAE,EAAE,CAAC,IAAIhH,EAAE,GAAYF,IAAT,IAAK,IAAOA,KAAK,GAAG,QAAiBC,IAAT,IAAK,IAAOA,KAAK,GAAG,MAAekB,IAAT,IAAK,IAAOA,KAAK,GAAG,MAAM,EAAE,MAAMjB,EAAE,EAAE,KAAK,WAAW,UAAU,CAAC,KAAK,MAAM,GAAK,GAAM,GAAM,EAAE,KAAK,WAAW,UAAU,CAAC,KAAK,MAAM,GAAM,GAAK,GAAM,EAAE,KAAK,aAAa,UAAU,CAAC,KAAK,MAAM,GAAM,GAAM,GAAK,EAAE,KAAK,QAAQ,UAAU,CAAC,EAAE,oBAAoB,mBAAmB,GAAc,GAAM,CAAC,EAAE,oBAAoB,uBAAuB,GAAiB,GAAM,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAE,SAAS,CAAC,EAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,oBAAoB,eAAe,GAAiB,CAAC,GAAG,oBAAoB,aAAa,GAAe,CAAC,AAAkB,KAAZ,EAAE,SAAS,CAAG,MAAK,GAAG,MAAM,EAAE,SAAS,GAAc,EAAE,CAAC,EAAE,gBAAgB,CAAC,QAAQ,IAAI,qCAAqC,CAAC,EAAE,GAAK,SAAS,IAAkB,CAAC,QAAQ,IAAI,yCAAyC,CAAC,EAAE,GAAM,IAAMF,EAAE4G,GAAE,UAAgB3G,EAAEgH,GAAG,QAAc9F,EAAE8F,GAAG,WAAiB/G,EAAE+G,GAAG,YAAkB7G,EAAE6G,GAAG,KAAK,IAAe,CAAC,GAAE,UAAUjH,EAAE,GAAG,QAAQC,EAAE,GAAG,WAAWkB,EAAE,GAAG,YAAYjB,EAAE,GAAG,KAAKE,EAAE,SAAS,GAAkB,EAAE,CAAC,IAAMH,EAAED,EAAE,OAAO,EAAE,oBAAoB,UAAU,GAAkB,CAAC,GAAmBC,EAAE,CAAC,SAAS,GAAmB,EAAE,CAAC,GAAiCD,EAAE,CAAC,GAAE,OAAOA,EAAE,CAAC,SAAS,GAAiC,EAAE,CAAC,IAAMC,EAAE+D,GAAE,IAAIhE,EAAE,CAAC,SAAqBC,IAAT,IAAK,KAAO,EAAE,SAAS,SAAS,EAAE,CAAC,GAAG,eAAeD,EAAE,GAAG,CAAC,EAAE,kBAAkByC,GAAG,mBAAmBzC,EAAE,EAAE,KAAK,mBAAmB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQC,IAAP,OAAW,EAAEwG,IAAG,IAAMzF,EAAEZ,EAAE,QAAQA,EAAE,YAAY,aAAa,CAAC,EAAQiC,EAAE,GAAWrC,EAAEC,EAAEkB,EAAEjB,EAAEE,EAAE,CAAC,GAAE,YAAYF,EAAEc,EAAE,CAAC,IAAIP,EAAEU,EAAE,MAAYT,EAAES,EAAE,WAAW,SAAS,GAAUV,IAAP,SAAsBC,IAAT,IAAK,IAAWA,EAAE,QAAN,EAAY,eAAmBD,EAAE,QAAN,EAAY,OAAO,IAAIE,EAAE,EAAK,KAAOT,EAAE,YAAW,EAAE4G,GAAG,sBAAsB3F,EAAE,CAAC,EAAE,GAAE,GAAG,MAAMf,EAAEF,EAAEmC,EAAElB,EAAEV,EAAE,CAAC,IAAIG,EAAMC,EAAEuG,GAAa3G,IAAP,OAAU,EAAEoG,GAAG,IAAIpG,EAAE,CAAC,EAAE4G,GAAG,EAAE,SAASzG,EAAE,EAAC,IAAME,EAASL,IAAP,KAAiBC,EAAE,MAAVD,EAAE,MAAoBM,EAAEI,EAAE,UAAU,MAAMR,EAAQuE,EAAE/D,EAAE,UAAU,MAAMR,EAAQsB,EAASzB,IAAP,KAAmB,EAAVA,EAAE,MAAMG,EAAUuB,EAAS1B,IAAP,KAAmB,IAAVA,EAAE,MAAMG,EAAiB2B,EAAE,KAAK,IAAIvB,EAAEkB,EAAE,CAAOM,EAAE,KAAK,IAAIzB,EAAEC,EAAEmE,EAAEjD,EAAEC,EAAE,CAAC,EAAQM,EAAE,KAAK,IAAI,EAAED,EAAED,EAAE,EAAE,CAAC,GAAOE,IAAJ,EAAM,CAAC,GAAGpC,EAAE,OAAU,KAAOF,EAAE,WAAW,GAAE,aAAaA,EAAE,mBAAmB,IAAqB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAM,EAAE,QAAQ,EAAE,SAASE,EAAE,OAAO,CAAC,IAAIJ,EAAEE,EAAE,UAAmBF,IAAT,IAAK,KAAQ,EAAE,GAAG,GAAE,aAAaA,EAAE,IAAqB,CAAC,CAAC,EAAE,eAAea,EAAE,QAAQ,EAAE,CAACT,EAAE,WAAWS,EAAE,QAAQ,EAAE,CAACA,EAAE,QAAQ,EAAE,MAAM,EAAE,SAASA,EAAE,QAAQ,EAAE,CAACT,EAAE,UAAUS,EAAE,QAAQ,EAAE,CAAC,GAAGT,EAAE,gBAAgB,EAAE,gBAAgBkC,EAAEE,EAAEpC,EAAE,MAAM,SAASe,EAAE,0BAA0B,CAAC,IAAMnB,EAAE,KAAK,IAAImB,EAAE,cAAcA,EAAE,kBAAkB,CAAC,EAAE,gBAAgBmB,EAAEE,EAAExC,EAAE,MAAM,EAAE,OAAOsC,EAAEE,EAAE,GAAG,KAAK,QAAQ,SAAS,EAAE,EAAE,CAAC,EAAEgC,GAAG,IAAIxE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,KAAKiC,EAAE,CAAC,EAAE,iBAAiB,SAAS,EAAE,CAAIjC,EAAE,SAASA,EAAE,OAAO,KAAKC,EAAE,OAAO,GAAE,EAAE,UAAUD,EAAE,CAAC,EAAE,YAAYiC,EAAE,WAAWjC,EAAE,IAAI,CAAC,EAAE,YAAYuC,EAAE,wBAAwB,CAAC,EAAE,UAAU,SAAS,EAAE,CAAC,IAAMpB,EAAElB,EAAE,SAAS,GAAGkB,EAAE,GAAG,MAAM,QAAQA,EAAE,CAAC,IAAI,IAAIjB,EAAE,EAAEA,EAAEiB,EAAE,OAAO,IAAI,CAAC,IAAMf,EAAEe,EAAEjB,GAAG,GAAWE,EAAEJ,EAAEC,EAAE,MAAM,GAAWkB,EAAEnB,EAAEC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,IAAIwL,GAAG,KAAK,SAAS,GAAiB,EAAE,CAAC,IAAIA,GAAGzL,EAAE,CAAC,SAAS,IAAkB,CAAC,GAAG,MAAM,CAAC,SAAS,IAAgB,CAAC,GAAG,OAAO,CAAC,IAAMqI,GAAG,IAAI,GAAe,GAAG,iBAAiB,GAAiB,CAAsB,IAArB,QAA6BA,GAAG,WAAW,EAAO,CAAC,KAAK,iBAAiB,SAAS,EAAE,CAAC,GAAGrI,EAAE,GAAG,iBAAiBA,EAAE,CAAQA,IAAP,KAASqI,GAAG,MAAM,CAACA,GAAG,OAAO,EAAE,GAAG,iBAAiB,eAAe,GAAiB,CAAC,GAAG,iBAAiB,aAAa,GAAe,CAAC,KAAK,OAAO,SAAS,EAAE,EAAE,CAAC,GAAYpI,IAAT,IAAK,IAAO,KAAOA,EAAE,SAAS,CAAC,QAAQ,MAAM,yEAAyE,CAAC,OAAO,GAAG,KAAOuC,EAAE,OAAO,KAAOxC,EAAE,YAAYA,EAAE,mBAAmB,CAAQC,EAAE,SAAT,MAAiBA,EAAE,mBAAmB,CAAI,KAAOuL,GAAG,SAAS,KAAOA,GAAG,eAAc,KAAOA,GAAG,kBAAkBA,GAAG,aAAavL,EAAE,CAAC,EAAEuL,GAAG,WAAW,EAAC,KAAOxL,EAAE,SAASA,EAAE,eAAeuC,EAAEvC,EAAEC,EAAE+E,EAAE,CAAC,EAAER,GAAG,IAAIxE,EAAEsC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,KAAKL,EAAE,CAAC,GAAE,iBAAiBhC,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,GAAE,wBAAwBsG,GAAE,CAAC,EAAE,KAAK,qBAAqB,GAAEQ,GAAG,KAAK,KAAK,eAAeT,EAAErG,EAAE,CAAC,EAAEkC,GAAG,IAAInC,EAAEkC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAclC,EAAEC,EAAE,EAAEsC,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAOA,EAAE,aAAa,EAAE,KAAK8I,EAAEC,EAAE,CAAC,KAAOjF,IAAGU,GAAG,cAAc,CAAC,IAAM5F,EAAEc,EAAE,MAAM,aAA8J,GAAjJ,GAAG,OAAOd,EAAEnB,EAAEC,EAAE,CAAC,KAAOoG,IAAGU,GAAG,YAAY,CAAC,KAAO,KAAK,KAAK,WAAW,KAAK,KAAK,OAAO,CAAC,GAAG,OAAO,EAAE/G,EAAE,CAAC,EAAE,YAAYuC,EAAE,wBAAwB,CAAItC,EAAE,cAAc,CAAC,IAAMkB,EAAElB,EAAE,QAAQ,IAAI,IAAIA,EAAE,EAAEC,EAAEiB,EAAE,OAAOlB,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAElB,GAAG,GAAY,EAAED,EAAEE,EAAEA,EAAE,SAAS,OAAO,GAAY,EAAEF,EAAEC,EAAE,CAAW+E,IAAP,OAAU,GAAE,8BAA8BA,EAAE,CAAC,GAAE,yBAAyBA,EAAE,EAAC,KAAOhF,EAAE,SAASA,EAAE,cAAcuC,EAAEvC,EAAEC,EAAE,CAAC,GAAE,QAAQ,MAAM,QAAQ,GAAK,CAAC,GAAE,QAAQ,MAAM,QAAQ,GAAK,CAAC,GAAE,QAAQ,MAAM,QAAQ,GAAK,CAAC,GAAE,iBAAiB,GAAM,CAAC,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAEqC,EAAE,OAAO,EAAEA,EAAEA,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,CAAC,EAAEJ,EAAE,OAAO,EAAEA,EAAEA,EAAE,OAAO,GAAG,MAAM,SAAS,GAAc,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAQlC,EAAE,QAAQ,OAAuC,GAAxBA,EAAE,OAAO,KAAKC,EAAE,OAAO,KAASD,EAAE,QAAQ,EAAEA,EAAE,oBAAoBA,EAAE,MAAM,KAAOA,EAAE,YAAYA,EAAE,OAAOC,EAAE,SAASD,EAAE,QAAS,EAAE,UAAUA,EAAE,CAAC,EAAE,YAAYiC,EAAE,WAAWjC,EAAE,SAASA,EAAE,aAAa,CAACA,EAAE,eAAeoG,GAAE,iBAAiBpG,EAAE,CAAC,CAAC,GAAGwG,EAAE,sBAAsBxG,EAAE,YAAY,CAAC,aAAauG,GAAE,CAAC,IAAMtG,EAAE0C,GAAG,OAAO3C,EAAE,CAAOI,EAAEJ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAKA,EAAEC,EAAEG,EAAEe,EAAEqF,EAAE,EAAE,KAAK,WAAUxG,EAAE,QAAQA,EAAE,QAAQA,EAAE,YAAaA,EAAE,eAAeA,EAAE,SAAS,QAAQ4G,GAAE,OAAO,QAAO,EAAE,SAAS,QAAQ,CAAC,EAAE,SAAS,MAAMA,GAAE,OAAO,OAAS,CAAC5G,EAAE,eAAeoG,GAAE,iBAAiBpG,EAAE,EAAC,CAAC,GAAGwG,EAAE,sBAAsBxG,EAAE,YAAY,CAAC,aAAauG,GAAE,CAAC,IAAMtG,EAAE0C,GAAG,OAAO3C,EAAE,CAAOI,EAAEJ,EAAE,SAAS,GAAG,MAAM,QAAQI,EAAE,CAAC,CAAC,IAAMF,EAAED,EAAE,OAAO,IAAI,IAAIO,EAAE,EAAEQ,EAAEd,EAAE,OAAOM,EAAEQ,EAAE,IAAI,CAAC,IAAMA,EAAEd,EAAEM,GAAS6B,EAAEjC,EAAEY,EAAE,eAAe,GAAGqB,EAAE,SAAS,EAAE,KAAKrC,EAAEC,EAAEoC,EAAElB,EAAEqF,EAAE,EAAExF,EAAE,OAAO,EAAE,SAAS,EAAE,KAAKhB,EAAEC,EAAEG,EAAEe,EAAEqF,EAAE,EAAE,KAAK,EAAE,IAAMhG,EAAER,EAAE,SAAS,IAAI,IAAIA,EAAE,EAAEI,EAAEI,EAAE,OAAOR,EAAEI,EAAE,IAAI,GAAcI,EAAER,GAAGC,EAAEkB,EAAEjB,EAAE,CAAC,SAAS,GAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAEJ,EAAE,OAAaQ,EAAER,EAAE,aAAmBgB,EAAEhB,EAAE,YAAY,EAAE,gBAAgBmB,EAAE,CAAC,EAAE,OAAO,GAAG,GAAuBf,EAAEH,EAAEkB,EAAE,CAAC,GAAGuD,GAAE,SAASW,EAAE,KAAKnF,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,GAAcE,EAAEH,EAAEkB,EAAE,CAAC,EAAE,OAAO,GAAG,GAAcX,EAAEP,EAAEkB,EAAE,CAAC,EAAE,OAAO,GAAG,GAAcH,EAAEf,EAAEkB,EAAE,CAAC,SAAS,GAAuB,EAAE,EAAE,EAAE,CAAWoK,IAAP,OAAuG,EAAE,IAAvF,KAAO,GAAG,KAAO5E,GAAE,SAAmB,GAA6B,IAA0B,KAAK,KAAK,CAAC,gBAAgB,GAAK,KAAYT,GAAG,QAAQ0B,GAAG,GAArB,KAAyB3C,GAAH2C,GAAM,UAAUD,GAAG,UAAUxB,GAAG,MAAMa,GAAG,MAAMA,GAAG,mBAAmBvC,EAAE,IAAI,uCAAuC,CAAC,CAAC,EAAC,IAAMvE,EAAEqC,EAAE,iBAAiB,CAAC,EAAE,gBAAgBgJ,EAAE,CAAC,EAAE,OAAO,CAAC,IAAMnL,EAAEmC,EAAE,YAAY,EAAE,YAAYoC,GAAE,GAAc3E,EAAEC,EAAEkB,EAAE,CAAC,EAAE,YAAYf,EAAE,GAAE,8BAA8BmL,EAAE,CAAC,GAAE,yBAAyBA,EAAE,CAAC,EAAE,gBAAgBrL,EAAE,CAAC,SAAS,GAAc,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAE,KAAOD,EAAE,QAAQA,EAAE,iBAAiB,KAAK,IAAI,IAAIG,EAAE,EAAEI,EAAER,EAAE,OAAOI,EAAEI,EAAE,IAAI,CAAC,IAAMA,EAAER,EAAEI,GAASY,EAAER,EAAE,OAAa6B,EAAE7B,EAAE,SAAeC,EAASP,IAAP,KAASM,EAAE,SAASN,EAAQQ,EAAEF,EAAE,MAAM,EAAE,OAAO,KAAKW,EAAE,OAAO,EAAE,GAAaH,EAAEf,EAAEkB,EAAEkB,EAAE5B,EAAEC,EAAE,EAAE,SAAS,GAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,eAAe6B,EAAEtC,EAAEkB,EAAEjB,EAAEE,EAAEI,EAAE,CAAC,EAAE,gBAAgB,iBAAiBW,EAAE,mBAAmBnB,EAAE,YAAY,CAAC,EAAE,aAAa,gBAAgBA,EAAE,gBAAgB,CAAC,EAAE,eAAeuC,EAAEtC,EAAEkB,EAAEjB,EAAEF,EAAEQ,EAAE,CAAI,KAAOJ,EAAE,aAAaA,EAAE,OAAOU,IAAG,EAAE,KAAK,GAAE,EAAE,YAAY,GAAK,EAAE,mBAAmBK,EAAElB,EAAEC,EAAEE,EAAEJ,EAAEQ,EAAE,CAAC,EAAE,KAAK,GAAE,EAAE,YAAY,GAAK,EAAE,mBAAmBW,EAAElB,EAAEC,EAAEE,EAAEJ,EAAEQ,EAAE,CAAC,EAAE,KAAKM,IAAO,EAAE,mBAAmBK,EAAElB,EAAEC,EAAEE,EAAEJ,EAAEQ,EAAE,CAAC,EAAE,cAAc+B,EAAEtC,EAAEkB,EAAEjB,EAAEE,EAAEI,EAAE,CAAC,SAAS,GAAW,EAAE,EAAE,EAAE,CAAC,KAAOP,EAAE,UAAU,EAAEwG,IAAG,IAAMvG,EAAE8D,GAAE,IAAIhE,EAAE,CAAOI,EAAE6B,EAAE,MAAM,OAAazB,EAAEyB,EAAE,MAAM,aAAmBjB,EAAEZ,EAAE,MAAM,QAAciC,EAAEI,GAAG,cAAczC,EAAEI,EAAE,MAAMI,EAAEP,EAAEkB,EAAE,CAAOV,EAAEgC,GAAG,mBAAmBJ,EAAE,CAAK3B,EAAER,EAAE,SAAS,EAAE,YAAYF,EAAE,uBAAuBC,EAAE,YAAY,KAAK,EAAE,IAAIA,EAAE,IAAI,EAAE,QAAQD,EAAE,uBAAuBmE,GAAGD,GAAI,IAAIlE,EAAE,QAAQE,EAAE,YAAY,CAAaQ,IAAT,IAAK,KAAO,EAAE,iBAAiB,UAAU,GAAkB,CAAC,EAAE,IAAI,IAAI,EAAE,SAASA,GAAE,IAAIC,EAAED,EAAE,IAAID,EAAE,CAAC,GAAYE,IAAT,IAAK,OAAUT,EAAE,iBAAiBS,GAAGT,EAAE,qBAAqBc,EAAuC,OAApC,GAA+BhB,EAAEqC,EAAE,CAAQ1B,OAAQ,EAAE,SAAS8B,GAAG,YAAYzC,EAAE,CAAC,EAAE,QAAQmB,EAAEkB,EAAEE,EAAE,CAAC,EAAE,gBAAgBF,EAAEE,EAAE,CAAC,EAAEE,GAAG,eAAeJ,EAAE5B,EAAE,CAAC,EAAE,IAAIA,EAAEE,EAAE,CAAC,EAAE,SAAS0B,EAAE,SAAS,IAAMzB,EAAEV,EAAE,UAAUF,EAAE,kBAAkBA,EAAE,sBAAsB,KAAOA,EAAE,WAAW,EAAE,eAAe+G,GAAG,SAAS,GAA+B/G,EAAEqC,EAAE,CAAC,EAAE,YAAY,GAAoBrC,EAAE,CAAC,EAAE,mBAAmBgB,EAAKd,EAAE,cAAa,EAAE,kBAAkB,MAAME,EAAE,MAAM,QAAQ,EAAE,WAAW,MAAMA,EAAE,MAAM,MAAM,EAAE,kBAAkB,MAAMA,EAAE,MAAM,YAAY,EAAE,wBAAwB,MAAMA,EAAE,MAAM,kBAAkB,EAAE,WAAW,MAAMA,EAAE,MAAM,KAAK,EAAE,iBAAiB,MAAMA,EAAE,MAAM,WAAW,EAAE,eAAe,MAAMA,EAAE,MAAM,SAAS,EAAE,MAAM,MAAMA,EAAE,MAAM,aAAa,EAAE,MAAM,MAAMA,EAAE,MAAM,aAAa,EAAE,YAAY,MAAMA,EAAE,MAAM,MAAM,EAAE,kBAAkB,MAAMA,EAAE,MAAM,YAAY,EAAE,iBAAiB,MAAMA,EAAE,MAAM,KAAK,EAAE,qBAAqB,MAAMA,EAAE,MAAM,qBAAqB,EAAE,wBAAwB,MAAMA,EAAE,MAAM,wBAAwB,EAAE,cAAc,MAAMA,EAAE,MAAM,cAAc,EAAE,iBAAiB,MAAMA,EAAE,MAAM,iBAAiB,EAAE,eAAe,MAAMA,EAAE,MAAM,eAAe,EAAE,kBAAkB,MAAMA,EAAE,MAAM,mBAAkB,IAAMS,EAAEF,EAAE,aAAa,CAAOG,EAAE,GAAc,aAAaD,EAAE,IAAID,EAAE,CAAqC,MAApC,GAAE,eAAeD,EAAE,EAAE,aAAaG,EAASH,EAAE,SAAS,GAA+B,EAAE,EAAE,CAAC,IAAMQ,EAAE6C,GAAE,IAAIhE,EAAE,CAAC,EAAE,eAAeC,EAAE,eAAe,EAAE,WAAWA,EAAE,WAAW,EAAE,SAASA,EAAE,SAAS,EAAE,aAAaA,EAAE,aAAa,EAAE,aAAaA,EAAE,aAAa,EAAE,kBAAkBA,EAAE,kBAAkB,EAAE,kBAAkBA,EAAE,kBAAkB,EAAE,gBAAgBA,EAAE,oBAAoB,EAAE,aAAaA,EAAE,aAAa,EAAE,eAAeA,EAAE,eAAe,EAAE,YAAYA,EAAE,YAAY,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAOA,EAAE,UAAU,EAAEwG,IAAG,GAAE,mBAAmB,CAAC,IAAMjG,EAAEP,EAAE,IAAUe,EAAEd,EAAE,uBAAuBD,EAAE,YAAY,KAAWoC,EAAS2C,IAAP,KAASzC,EAAE,eAAeyC,EAAE,QAAQ,SAAevE,GAAGP,EAAE,uBAAuBiE,GAAGD,GAAI,IAAIhE,EAAE,QAAQc,EAAE,CAAON,EAAE,KAAOR,EAAE,cAAc,CAAC,CAACiB,EAAE,WAAW,OAAWA,EAAE,WAAW,MAAM,WAAvB,EAAsCR,EAAE,CAAC,CAACT,EAAE,WAAW,CAAC,CAACiB,EAAE,WAAW,QAAcP,EAAE,CAAC,CAACO,EAAE,gBAAgB,SAAeN,EAAE,CAAC,CAACM,EAAE,gBAAgB,OAAaL,EAAGK,EAAE,gBAAgB,SAAWA,EAAE,gBAAgB,SAAS,OAA7B,EAA0CJ,EAAEb,EAAE,WAAWqC,EAAE,YAAYoC,GAAQO,EAAElB,GAAE,IAAI9D,EAAE,CAAOgC,EAAED,EAAE,MAAM,OAAO,GAAG,KAAOoE,KAAI,KAAOC,GAAGtG,IAAIoF,GAAG,CAAC,IAAMnF,EAAED,IAAIoF,GAAGlF,EAAE,KAAKiF,EAAE,GAAG,SAASjF,EAAEF,EAAEC,EAAE,CAAC,IAAIqC,EAAE,GAASpC,EAAE,UAAUgF,EAAE,UAAU,EAAE,aAAaA,EAAE,qBAAqBhD,EAAE,MAAM,SAASgD,EAAE,iBAAiB7C,GAAGjC,EAAE,iBAAiB,KAAQ8E,EAAE,WAAW,EAAE,GAAK9E,EAAE,iBAAiB,KAAO8E,EAAE,WAAW9E,EAAE,eAAe,KAAQ8E,EAAE,SAAS,EAAE,GAAK9E,EAAE,eAAe,KAAO8E,EAAE,SAASA,EAAE,SAASzE,GAAGP,EAAE,KAAKgF,EAAE,MAAM1E,EAAE,EAAE,GAAc0E,EAAE,oBAAX,IAAK,IAAyBA,EAAE,oBAAoB6B,GAAG,WAAW7B,EAAE,kBAAkB6B,GAAG,iBAAiB7B,EAAE,eAAexE,GAAGwE,EAAE,iBAAiBvE,GAAGuE,EAAE,eAAetE,GAAGsE,EAAE,eAAerE,GAAGqE,EAAE,cAAcnE,GAAG,KAAO4F,GAAE,UAAUzB,EAAE,oBAAoBpE,KAAK,EAAE,IAAM,EAAE,GAAK,EAAE,GAAK,EAAE,IAAU,EAAE,GAAK,EAAE,UAAUZ,EAAE,SAAQ,IAAIsC,EAAE0C,EAAE,eAAe,KAAO5C,IAAI,EAAE,GAAWpC,EAAED,EAAEG,EAAE,EAAE,IAAI0E,EAAE,GAAUC,EAAE,GAAUM,EAAE,GAAYC,EAAE9C,EAAE,aAAa,CAAC+C,EAAEL,EAAE,SAAqF,GAAzER,GAAE,WAAWlC,EAAE,QAAQ,GAAE,EAAE,GAAK,EAAE,GAAK,EAAE,IAAQtC,EAAE,KAAKiF,IAAG,EAAEjF,EAAE,GAAG,EAAE,IAAQ4E,GAAGM,IAAIpF,EAAE,CAAwK,GAAvK,EAAE,SAAS0G,EAAE,mBAAmB1G,EAAE,iBAAiB,CAAC,GAAE,wBAAwBsF,EAAE,SAASoB,EAAE,gBAAgB,GAAG,KAAK,IAAI1G,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,CAAIoF,IAAIpF,IAAG,EAAEA,EAAE,EAAE,GAAK,EAAE,IAAQE,EAAE,kBAAkBA,EAAE,qBAAqBA,EAAE,oBAAoBA,EAAE,wBAAwBA,EAAE,OAAO,CAAC,IAAMD,EAAEqF,EAAE,IAAI,eAAwBrF,IAAT,IAAK,IAAOA,EAAE,SAASyG,EAAEF,EAAE,sBAAsBxG,EAAE,YAAY,CAAC,EAAEE,EAAE,qBAAqBA,EAAE,oBAAoBA,EAAE,uBAAuBA,EAAE,qBAAqBA,EAAE,wBAAwBA,EAAE,mBAAmBoF,EAAE,SAASoB,EAAE,iBAAiB,KAAO1G,EAAE,qBAAqB,EAAEE,EAAE,qBAAqBA,EAAE,oBAAoBA,EAAE,uBAAuBA,EAAE,qBAAqBA,EAAE,wBAAwBA,EAAE,kBAAkBA,EAAE,kBAAkBE,EAAE,gBAAgBkF,EAAE,SAASoB,EAAE,aAAa1G,EAAE,mBAAmB,CAAC,GAAGI,EAAE,cAAc,CAAC,EAAE,YAAYsG,EAAEtG,EAAE,aAAa,CAAC,EAAE,YAAYsG,EAAEtG,EAAE,oBAAoB,CAAC,IAAMJ,EAAEI,EAAE,SAAYJ,IAAK2G,GAAE,qBAA4B3G,EAAE,cAAT,MAAsBA,EAAE,oBAAoB,CAAC,EAAE,SAAS0G,EAAE,cAAc1G,EAAE,YAAYiE,GAAE,CAAC,EAAE,SAASyC,EAAE,kBAAkB1G,EAAE,gBAAgB,EAAM,EAAE,YAAY0G,EAAE1G,EAAE,eAAe,EAAqvB,MAApvB,CAACmB,GAAYA,EAAE,gBAAgB,WAA3B,IAAK,IAAyCA,EAAE,gBAAgB,SAA3B,IAAK,IAA8BgG,GAAG,OAAO/G,EAAEe,EAAEjB,EAAEsC,EAAE,EAAIuC,GAAGG,EAAE,gBAAgB9E,EAAE,iBAAe,EAAE,cAAcA,EAAE,cAAc,EAAE,SAASsG,EAAE,gBAAgBtG,EAAE,cAAc,EAAI2E,IAAG,EAAE,SAAS2B,EAAE,sBAAsBnE,EAAE,oBAAoB,CAAC,EAAE,aAAa,GAA8BgD,EAAEF,EAAE,CAAC,GAAGnF,EAAE,KAAKwC,GAAG,mBAAmB6C,EAAE/E,EAAE,CAAC,GAAG,wBAAwB+E,EAAErF,EAAEwF,EAAED,EAAE8F,EAAE,CAAC,GAAc,OAAO7E,EAAExB,EAAE,aAAaK,EAAEtB,GAAE,EAAI/D,EAAE,kBAAkB,KAAOA,EAAE,qBAAoB,GAAc,OAAOwG,EAAExB,EAAE,aAAaK,EAAEtB,GAAE,CAAC,EAAE,mBAAmB,IAAM,EAAE,kBAAkBqB,EAAE,SAASoB,EAAE,SAAStG,EAAE,OAAO,CAAC,EAAE,SAASsG,EAAE,kBAAkBtG,EAAE,gBAAgB,CAAC,EAAE,SAASsG,EAAE,eAAetG,EAAE,aAAa,CAAC,EAAE,SAASsG,EAAE,cAActG,EAAE,YAAY,CAAQoC,EAAE,SAAS,GAA8B,EAAE,EAAE,CAAC,EAAE,kBAAkB,YAAYvC,EAAE,EAAE,WAAW,YAAYA,EAAE,EAAE,kBAAkB,YAAYA,EAAE,EAAE,wBAAwB,YAAYA,EAAE,EAAE,YAAY,YAAYA,EAAE,EAAE,kBAAkB,YAAYA,EAAE,EAAE,WAAW,YAAYA,EAAE,EAAE,iBAAiB,YAAYA,EAAE,EAAE,eAAe,YAAYA,EAAE,EAAE,iBAAiB,YAAYA,EAAE,SAAS,GAAoB,EAAE,CAAC,OAAOD,EAAE,uBAAuBA,EAAE,oBAAoBA,EAAE,qBAAqBA,EAAE,wBAAwBA,EAAE,kBAAkBA,EAAE,kBAAkB,KAAOA,EAAE,OAAO,KAAK,kBAAkB,UAAU,CAAC,OAAO8E,GAAG,KAAK,qBAAqB,UAAU,CAAC,OAAOC,GAAG,KAAK,gBAAgB,UAAU,CAAC,OAAOC,GAAG,KAAK,wBAAwB,SAAS,EAAE,EAAE,EAAE,CAAC,GAAE,IAAIhF,EAAE,QAAQ,CAAC,eAAeC,EAAE,GAAE,IAAID,EAAE,aAAa,CAAC,eAAemB,EAAE,IAAMjB,EAAE8D,GAAE,IAAIhE,EAAE,CAAC,EAAE,sBAAsB,GAAQE,EAAE,wBAAuB,EAAE,0BAAmCiB,IAAT,IAAK,GAAS,CAACjB,EAAE,2BAA2BF,EAAE,qBAAoB,QAAQ,KAAK,oFAAoF,CAAC,EAAE,mBAAmB,GAAM,EAAE,gBAAgB,MAAQ,KAAK,2BAA2B,SAAS,EAAE,EAAE,CAAC,IAAMmB,EAAE6C,GAAE,IAAIhE,EAAE,CAAC,EAAE,mBAAmBC,EAAE,EAAE,wBAAiCA,IAAT,IAAK,IAAO,KAAK,gBAAgB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAED,EAAE,EAAEC,EAAE,EAAEkB,EAAE,IAAIjB,EAAE,GAAK,GAAGF,EAAE,CAAC,IAAMC,EAAE+D,GAAE,IAAIhE,EAAE,CAAaC,EAAE,0BAAX,IAAK,GAAmFA,EAAE,qBAAX,IAAK,GAAyBgE,GAAE,kBAAkBjE,EAAE,CAACC,EAAE,uBAAuBgE,GAAE,eAAejE,EAAEgE,GAAE,IAAIhE,EAAE,QAAQ,CAAC,eAAegE,GAAE,IAAIhE,EAAE,aAAa,CAAC,eAAe,EAAjN,GAAE,gBAAgB,MAAM,KAAK,CAAC,EAAE,IAAkL,IAAII,EAAE,KAASI,EAAE,GAAUQ,EAAE,GAAM,GAAGhB,EAAE,CAAC,IAAMmB,EAAEnB,EAAE,SAASmB,EAAE,iBAAiBA,EAAE,wBAAwB,EAAE,IAAM,IAAMjB,EAAE8D,GAAE,IAAIhE,EAAE,CAAC,mBAAsBA,EAAE,yBAAyB,EAAEE,EAAED,GAAG,EAAE,IAAU,EAAED,EAAE,gBAAgBgE,GAAE,IAAIhE,EAAE,CAAC,+BAA+BE,EAAE,EAAE,KAAKF,EAAE,SAAS,CAAC,EAAE,KAAKA,EAAE,QAAQ,CAAC,EAAEA,EAAE,iBAAiB,EAAE,KAAK0H,EAAE,CAAC,eAAehC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK8B,EAAE,CAAC,eAAe9B,EAAE,CAAC,OAAO,CAAC,EAAE+B,EAAqC,GAA3B/C,GAAE,gBAAgB,MAAMtE,EAAE,EAAOuG,GAAE,aAAazG,EAAE,CAAC,IAAID,EAAE,GAAM,GAAGD,KAAMA,EAAE,6BAA6B,CAAC,IAAMmB,EAAEnB,EAAE,QAAQ,GAAGuH,EAAE,SAASpG,EAAE,QAAgBoG,EAAE,KAAV,MAAa,CAAC,IAAI,IAAIvH,EAAE,EAAEC,EAAEkB,EAAE,OAAOnB,EAAEC,EAAE,IAAI,EAAED,GAAG,MAAMA,EAAE,EAAE,OAAOmB,EAAE,OAAO,EAAE,UAAkBoG,EAAE,SAAN,GAAsBA,EAAE,KAAV,SAAc,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,UAAkBA,EAAE,SAAN,GAAqBA,EAAE,KAAT,QAAa,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,IAAK,IAAIZ,GAAE,SAASD,EAAE,YAAYa,EAAE,CAAC9C,EAAE,IAAI,qBAAqB,CAAC,iBAAiB8C,EAAE,EAAiD,GAA/C,GAAE,SAASlC,EAAE,CAAC,GAAE,QAAQC,EAAE,CAAC,GAAE,eAAeC,EAAE,CAAI/E,EAAE,CAAC,IAAMN,EAAE8D,GAAE,IAAIhE,EAAE,QAAQ,CAAC,EAAE,qBAAqB,MAAM,MAAM,MAAMC,EAAEC,EAAE,eAAeiB,EAAE,SAASH,EAAE,CAAC,IAAMd,EAAE8D,GAAE,IAAIhE,EAAE,QAAQ,CAAOI,EAAEH,GAAG,EAAE,EAAE,wBAAwB,MAAM,MAAMC,EAAE,eAAeiB,GAAG,EAAEf,EAAE,CAAC,EAAE,IAAI,KAAK,uBAAuB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAEJ,GAAGA,EAAE,qBAAqB,CAAC,QAAQ,MAAM,2FAA2F,CAAC,OAAO,IAAIqC,EAAE2B,GAAE,IAAIhE,EAAE,CAAC,mBAAmE,GAAhD,EAAE,yBAAkCgB,IAAT,IAAK,KAAQ,EAAEqB,EAAErB,IAAOqB,EAAE,CAAC,GAAE,gBAAgB,MAAMA,EAAE,CAAC,GAAG,CAAC,IAAMrB,EAAEhB,EAAE,QAAcqC,EAAErB,EAAE,OAAaP,EAAEO,EAAE,KAAK,GAAGqB,IAAIc,IAAI+C,GAAG,QAAQ7D,EAAE,GAAGqE,EAAE,aAAa,MAAM,CAAC,CAAC,QAAQ,MAAM,4GAA4G,CAAC,OAAO,IAAMhG,EAAED,IAAImH,KAAKnD,EAAE,IAAI,8BAA8B,EAAEkC,GAAE,UAAUlC,EAAE,IAAI,yBAAyB,EAAE,GAAGhE,IAAIwE,IAAIiB,GAAG,QAAQzF,EAAE,GAAGiG,EAAE,aAAa,MAAM,EAAE,EAAEjG,IAAI2C,KAAKuD,GAAE,UAAUlC,EAAE,IAAI,oBAAoB,EAAEA,EAAE,IAAI,2BAA2B,IAAI,CAAC/D,EAAE,CAAC,QAAQ,MAAM,sHAAsH,CAAC,OAAegG,EAAE,uBAAuB,MAAM,GAAvC,MAAwCzG,GAAG,GAAGA,GAAGD,EAAE,MAAME,GAAGiB,GAAG,GAAGA,GAAGnB,EAAE,OAAOI,GAAGsG,EAAE,WAAWzG,EAAEkB,EAAEjB,EAAEE,EAAE8F,GAAG,QAAQ7D,EAAE,CAAC6D,GAAG,QAAQzF,EAAE,CAACD,EAAE,CAAC,QAAQ,MAAM,6GAA6G,QAAQ,CAAC,IAAMR,EAASgF,IAAP,KAAqC,KAA5BhB,GAAE,IAAIgB,EAAE,CAAC,mBAAwB,GAAE,gBAAgB,MAAMhF,EAAE,IAAI,KAAK,yBAAyB,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAOC,EAAE,qBAAqB,CAAC,QAAQ,MAAM,4FAA4F,CAAC,OAAO,IAAMC,EAAW,GAAE,CAACiB,EAASf,EAAE,KAAK,MAAMH,EAAE,MAAM,MAAMC,EAAE,CAAOM,EAAE,KAAK,MAAMP,EAAE,MAAM,OAAOC,EAAE,CAAC,GAAE,aAAaD,EAAE,EAAE,CAAC,EAAE,kBAAkB,KAAKkB,EAAE,EAAE,EAAEnB,EAAE,EAAEA,EAAE,EAAEI,EAAEI,EAAE,CAAC,GAAE,eAAe,EAAE,KAAK,qBAAqB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMJ,EAAEH,EAAE,MAAM,MAAYO,EAAEP,EAAE,MAAM,OAAae,EAAEkF,GAAG,QAAQ/E,EAAE,OAAO,CAAOkB,EAAE6D,GAAG,QAAQ/E,EAAE,KAAK,CAAC,GAAE,aAAaA,EAAE,EAAE,CAAC,EAAE,YAAY,MAAMA,EAAE,MAAM,CAAC,EAAE,YAAY,MAAMA,EAAE,iBAAiB,CAAC,EAAE,YAAY,KAAKA,EAAE,gBAAgB,CAAC,EAAE,cAAcuF,EAAE,cAAc,KAAKxG,EAAEF,EAAE,EAAEA,EAAE,EAAEI,EAAEI,EAAEQ,EAAEqB,EAAEpC,EAAE,MAAM,KAAK,CAACA,EAAE,oBAAoByG,EAAE,wBAAwB,KAAKxG,EAAEF,EAAE,EAAEA,EAAE,EAAEC,EAAE,QAAQ,GAAG,MAAMA,EAAE,QAAQ,GAAG,OAAOe,EAAEf,EAAE,QAAQ,GAAG,KAAK,CAACyG,EAAE,cAAc,KAAKxG,EAAEF,EAAE,EAAEA,EAAE,EAAEgB,EAAEqB,EAAEpC,EAAE,MAAM,CAAKC,IAAJ,GAAOiB,EAAE,iBAAiBuF,EAAE,eAAe,KAAK,CAAC,GAAE,eAAe,EAAE,KAAK,uBAAuB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGnE,EAAE,iBAAiB,CAAC,QAAQ,KAAK,4EAA4E,CAAC,OAAO,IAAM/B,EAAER,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,EAAQgB,EAAEhB,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,EAAQqC,EAAErC,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,EAAQS,EAAEyF,GAAG,QAAQhG,EAAE,OAAO,CAAOQ,EAAEwF,GAAG,QAAQhG,EAAE,KAAK,CAAKS,EAAE,GAAGT,EAAE,gBAAiB,GAAE,aAAaA,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,CAACA,EAAE,qBAAqB,CAAC,QAAQ,KAAK,8GAA8G,CAAC,OAAO,GAAE,kBAAkBA,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,MAAMA,EAAE,MAAM,CAAC,EAAE,YAAY,MAAMA,EAAE,iBAAiB,CAAC,EAAE,YAAY,KAAKA,EAAE,gBAAgB,CAAC,IAAMU,EAAE8F,EAAE,aAAa,KAAK,CAAO7F,EAAE6F,EAAE,aAAa,MAAM,CAAO5F,EAAE4F,EAAE,aAAa,KAAK,CAAO3F,EAAE2F,EAAE,aAAa,KAAK,CAAOxB,EAAEwB,EAAE,aAAa,MAAM,CAAOzE,EAAEd,EAAE,oBAAoBA,EAAE,QAAQ,GAAGA,EAAE,MAAM,EAAE,YAAY,KAAKc,EAAE,MAAM,CAAC,EAAE,YAAY,MAAMA,EAAE,OAAO,CAAC,EAAE,YAAY,KAAKjC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,KAAKA,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,MAAMA,EAAE,IAAI,EAAE,CAAImB,EAAE,eAAeA,EAAE,gBAAgB,EAAE,cAAcR,EAAEP,EAAEH,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEO,EAAEQ,EAAEqB,EAAE5B,EAAEC,EAAEuB,EAAE,KAAK,CAASd,EAAE,qBAAqB,QAAQ,KAAK,0FAA0F,CAAC,EAAE,wBAAwBR,EAAEP,EAAEH,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEO,EAAEQ,EAAEqB,EAAE5B,EAAEwB,EAAE,KAAK,EAAM,EAAE,cAActB,EAAEP,EAAEH,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEO,EAAEQ,EAAEqB,EAAE5B,EAAEC,EAAEuB,EAAE,CAAC,EAAE,YAAY,KAAKrB,EAAE,CAAC,EAAE,YAAY,MAAMC,EAAE,CAAC,EAAE,YAAY,KAAKC,EAAE,CAAC,EAAE,YAAY,KAAKC,EAAE,CAAC,EAAE,YAAY,MAAMmE,EAAE,CAAK9E,IAAJ,GAAOF,EAAE,iBAAiBwG,EAAE,eAAe/F,EAAE,CAAC,GAAE,eAAe,EAAE,KAAK,YAAY,SAAS,EAAE,CAAC,GAAE,aAAaX,EAAE,EAAE,CAAC,GAAE,eAAe,EAAE,KAAK,WAAW,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAE,OAAO,CAAC,GAAG,OAAO,EAAgB,OAAO,mBAArB,KAAyC,mBAAmB,cAAc,IAAI,YAAY,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAA+tQ,SAAS,GAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAWA,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,SAASE,EAAE,CAAaE,IAAT,IAAK,GAAkD,GAAG,KAAKsL,GAAG,EAAtD,GAAG,EAAElL,EAAEkL,GAAG,EAAEtL,EAAEsL,GAAG,EAAE,GAAG,EAAEtL,EAAEsL,GAAG,EAAElL,EAAEkL,GAAG,GAAmB,EAAE,KAAKzL,EAAE,CAAC,EAAE,GAAG0L,GAAG,EAAE,EAAE,GAAGA,GAAG,EAAE,EAAE,aAAaC,GAAG,CAAuuc,SAAS,GAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAEC,GAAG,kBAAkB7L,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAMmB,EAAE,IAAI,EAAQ,GAAG,oBAAoBnB,EAAEmB,EAAE,CAAC,EAAE,aAAajB,EAAE,CAAC,IAAMO,EAAEL,EAAE,IAAI,OAAO,WAAWe,EAAE,CAAC,GAAGV,EAAEL,EAAE,MAAMK,EAAEL,EAAE,IAAI,OAAO,EAAE,KAAK,CAAC,SAASK,EAAE,cAAc,KAAK,KAAK,EAAE,CAAC,MAAMU,EAAE,MAAMlB,EAAE,KAAK,KAAK,OAAO,EAAE,CAAC,EAA2va,SAAS,IAAW,CAAC,IAAID,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAEC,EAAE,EAAE,SAAS,EAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAEE,EAAE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEJ,EAAE,EAAEI,EAAE,EAAE,EAAE,MAAM,CAAC,eAAe,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAKP,EAAEkB,EAAEf,GAAGe,EAAEnB,GAAGI,GAAGF,EAAED,GAAG,EAAE,yBAAyB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAGA,EAAED,GAAGI,GAAGe,EAAEnB,IAAII,EAAEI,IAAIW,EAAElB,GAAGO,EAAMC,GAAGU,EAAElB,GAAGO,GAAGN,EAAED,IAAIO,EAAE,IAAIN,EAAEiB,GAAG,EAAE,GAAGX,EAAE,GAAGA,EAAE,EAAKP,EAAEkB,EAAE,EAAEV,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,IAAMD,EAAEJ,EAAEA,EAAQ,EAAEI,EAAEJ,EAAE,OAAOJ,EAAEC,EAAEG,EAAE,EAAEI,EAAEN,EAAE,GAAG,CAAqgE,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMM,EAAE,IAAIN,EAAED,GAAS,EAAE,IAAIG,EAAE,GAAS,EAAEJ,EAAEA,EAAQS,EAAET,EAAE,EAAE,OAAO,EAAE,EAAE,EAAEE,EAAEM,EAAE,GAAGC,GAAG,GAAG,EAAE,EAAEP,EAAE,EAAEM,EAAE,GAAG,EAAEA,EAAER,EAAE,EAAE,SAAS,GAAkB,EAAE,EAAE,CAAC,IAAM,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEC,EAAE,SAAS,GAAkB,EAAE,EAAE,CAAC,MAAO,IAAG,EAAED,GAAGA,EAAEC,EAAE,SAAS,GAAkB,EAAE,EAAE,CAAC,OAAOD,EAAEA,EAAEC,EAAE,SAAS,GAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAkBD,EAAEC,EAAE,CAAC,GAAkBD,EAAE,EAAE,CAAC,GAAkBA,EAAEE,EAAE,CAAC,SAAS,GAAc,EAAE,EAAE,CAAC,IAAM,EAAE,EAAEF,EAAE,OAAO,EAAE,EAAE,EAAEC,EAAE,SAAS,GAAc,EAAE,EAAE,CAAC,IAAM,EAAE,EAAED,EAAE,MAAO,GAAE,EAAE,EAAEA,EAAEC,EAAE,SAAS,GAAc,EAAE,EAAE,CAAC,MAAO,IAAG,EAAED,GAAGA,EAAEA,EAAEC,EAAE,SAAS,GAAc,EAAE,EAAE,CAAC,OAAOD,EAAEA,EAAEA,EAAEC,EAAE,SAAS,GAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAcD,EAAEC,EAAE,CAAC,GAAcD,EAAE,EAAE,CAAC,GAAcA,EAAEE,EAAE,CAAC,GAAcF,EAAEI,EAAE,CAA8kU,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAII,EAAE,EAAE,GAAGJ,IAAI,GAAWJ,EAAEC,EAAE,EAAEC,EAAE,CAAC,EAAE,IAAI,EAAED,EAAEO,EAAE,EAAE,GAAGN,EAAE,EAAE,GAAWM,EAAER,EAAEQ,GAAGR,EAAEQ,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE,EAAEN,EAAEM,GAAGP,EAAE,GAAGC,EAAE,EAAE,GAAWM,EAAER,EAAEQ,GAAGR,EAAEQ,EAAE,GAAG,EAAE,CAAgD,OAA5C,GAAG,GAAO,EAAE,EAAE,KAAK,GAAE,GAAW,EAAE,CAAC,EAAE,EAAE,MAAY,EAAE,SAAS,GAAa,EAAE,EAAE,CAAC,GAAG,CAACR,EAAE,OAAOA,EAAE,AAAI,IAAEA,EAAG,IAAI,EAAEE,EAAEF,EAAE,EAAW,IAAR,EAAE,GAASE,EAAE,SAAS,CAAC,GAAOA,EAAEA,EAAE,KAAK,EAAM,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,GAAzB,EAA0B,EAAEA,EAAE,SAAS,CAA0B,GAAzB,GAAWA,EAAE,CAAC,EAAE,EAAEA,EAAE,KAAQA,IAAIA,EAAE,KAAK,MAAM,EAAE,SAAY,GAAGA,IAAID,GAAG,OAAOA,EAAE,SAAS,GAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAACD,EAAE,OAAO,CAAC,GAAGQ,GAAG,GAAWR,EAAEE,EAAEE,EAAEI,EAAE,CAAC,IAAI,EAAEC,EAAEC,EAAEV,EAAE,KAAMA,EAAE,OAAOA,EAAE,MAAwB,GAAlB,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAQQ,EAAE,GAAYR,EAAEE,EAAEE,EAAEI,EAAE,CAAC,GAAMR,EAAE,CAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKS,EAAE,EAAE,EAAE,CAAC,GAAWT,EAAE,CAAC,EAAES,EAAE,KAAK,EAAEA,EAAE,aAAU,EAAEA,EAAKT,IAAIU,EAAE,CAAI,EAAS,IAAJ,GAAO,EAAE,GAAuB,GAAaV,EAAE,CAACC,EAAE,EAAE,CAAC,GAAaD,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAU,IAAJ,GAAO,GAAYR,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAM,GAAa,GAAaR,EAAE,CAACC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,CAAC,OAAS,SAAS,GAAM,EAAE,CAAC,IAAMP,EAAED,EAAE,KAAK,EAAEA,EAAEE,EAAEF,EAAE,KAAK,GAAG,GAAKC,EAAE,EAAEC,EAAE,EAAE,EAAE,MAAO,GAAM,IAAIE,EAAEJ,EAAE,KAAK,KAAK,KAAMI,IAAIJ,EAAE,MAAK,CAAC,GAAG,GAAgBC,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,EAAEA,EAAE,EAAEE,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,EAAE,MAAO,GAAM,EAAEA,EAAE,KAAK,MAAO,GAAK,SAAS,GAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAEJ,EAAE,KAAKQ,EAAER,EAAE,EAAEA,EAAE,KAAK,GAAG,GAAKI,EAAEI,EAAE,EAAE,EAAE,EAAE,MAAO,GAAM,IAAM,EAAEJ,EAAE,EAAEI,EAAE,EAAEJ,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEC,EAAEL,EAAE,EAAEI,EAAE,EAAEJ,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEE,EAAEN,EAAE,EAAEI,EAAE,EAAEJ,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEG,EAAEP,EAAE,EAAEI,EAAE,EAAEJ,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAQI,EAAE,GAAO,EAAEH,EAAER,EAAE,EAAEC,EAAE,CAACW,EAAE,GAAOH,EAAEC,EAAEV,EAAE,EAAEC,EAAE,CAAKY,EAAEd,EAAE,MAAMe,EAAEf,EAAE,MAAM,KAAMc,GAAGA,EAAE,GAAGF,GAAGG,GAAGA,EAAE,GAAGF,GAAE,CAA8H,GAA1HC,IAAId,EAAE,MAAMc,IAAId,EAAE,MAAM,GAAgBI,EAAE,EAAEA,EAAE,EAAEI,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEM,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,IAAe,EAAEA,EAAE,MAASC,IAAIf,EAAE,MAAMe,IAAIf,EAAE,MAAM,GAAgBI,EAAE,EAAEA,EAAE,EAAEI,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEO,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,GAAE,MAAO,GAAM,EAAEA,EAAE,MAAM,KAAMD,GAAGA,EAAE,GAAGF,GAAE,CAAC,GAAGE,IAAId,EAAE,MAAMc,IAAId,EAAE,MAAM,GAAgBI,EAAE,EAAEA,EAAE,EAAEI,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEM,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,EAAE,MAAO,GAAM,EAAEA,EAAE,MAAM,KAAMC,GAAGA,EAAE,GAAGF,GAAE,CAAC,GAAGE,IAAIf,EAAE,MAAMe,IAAIf,EAAE,MAAM,GAAgBI,EAAE,EAAEA,EAAE,EAAEI,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEO,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,EAAE,MAAO,GAAM,EAAEA,EAAE,MAAM,MAAO,GAAK,SAAS,GAAuB,EAAE,EAAE,EAAE,CAAC,IAAIb,EAAEF,EAAE,EAAE,CAAC,IAAMI,EAAEF,EAAE,KAAKM,EAAEN,EAAE,KAAK,KAAQ,CAAC,GAAOE,EAAEI,EAAE,EAAE,GAAWJ,EAAEF,EAAEA,EAAE,KAAKM,EAAE,EAAE,GAAcJ,EAAEI,EAAE,EAAE,GAAcA,EAAEJ,EAAE,GAAE,EAAE,KAAKA,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKF,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKM,EAAE,EAAE,EAAE,CAAC,GAAWN,EAAE,CAAC,GAAWA,EAAE,KAAK,CAAC,EAAE,EAAEM,GAAE,EAAEN,EAAE,WAAWA,IAAIF,GAAG,OAAO,GAAaE,EAAE,CAAC,SAAS,GAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEF,EAAE,EAAE,CAAC,IAAIA,EAAE,EAAE,KAAK,KAAK,KAAMA,IAAI,EAAE,MAAK,CAAC,GAAG,EAAE,IAAIA,EAAE,GAAG,GAAgB,EAAEA,EAAE,CAAC,CAAC,IAAI,EAAE,GAAa,EAAEA,EAAE,CAAC,EAAE,GAAa,EAAE,EAAE,KAAK,CAAC,EAAE,GAAa,EAAE,EAAE,KAAK,CAAC,GAAa,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAC,GAAa,EAAEP,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAC,OAAO,EAAER,EAAE,KAAK,EAAE,EAAE,WAAW,IAAIA,GAAG,SAAS,GAAe,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMI,EAAE,EAAE,CAAKI,EAAE,EAAE,EAAEC,EAAEC,EAAE,IAAI,EAAE,EAAE,EAAET,EAAE,OAAOO,EAAE,EAAE,IAAK,EAAEP,EAAEO,GAAGN,EAAE,EAAEM,EAAE,EAAE,EAAEP,EAAEO,EAAE,GAAGN,EAAEF,EAAE,OAAO,EAAE,GAAWA,EAAE,EAAES,EAAEP,EAAE,GAAM,CAAC,IAAIQ,EAAE,OAAO,EAAE,QAAQ,IAAM,EAAE,KAAK,GAAYA,EAAE,CAAC,CAAkB,IAAjB,EAAE,KAAK,GAAS,CAAK,EAAE,EAAEF,EAAEJ,EAAE,OAAO,IAAK,GAAcA,EAAEI,GAAG,EAAE,CAAC,EAAE,GAAa,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,GAAS,EAAE,EAAE,CAAC,OAAOR,EAAE,EAAEC,EAAE,EAAE,SAAS,GAAc,EAAE,EAAE,CAAuB,GAAtB,EAAE,GAAeD,EAAEC,EAAE,CAAIA,EAAE,CAAC,IAAM,EAAE,GAAaA,EAAED,EAAE,CAAC,GAAaC,EAAEA,EAAE,KAAK,CAAC,GAAa,EAAE,EAAE,KAAK,EAAE,SAAS,GAAe,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAQC,EAAEF,EAAE,EAAQI,EAAEJ,EAAE,EAAMQ,EAAE,EAAE,KAAU,EAAE,CAAC,GAAGJ,GAAG,EAAE,GAAGA,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,IAAMJ,EAAE,EAAE,GAAGI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,GAAGJ,GAAGE,GAAGF,EAAE,EAAE,CAAK,GAAJ,EAAEA,EAAKA,IAAIE,EAAE,CAAC,GAAGE,IAAI,EAAE,EAAE,OAAO,EAAE,GAAGA,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,IAAIH,GAAG,GAAG,CAACO,EAAE,OAAO,KAAK,GAAGN,IAAI,EAAE,OAAOM,EAAE,IAAM,EAAEA,EAAEC,EAAED,EAAE,EAAEE,EAAEF,EAAE,EAAMG,EAAEC,EAAE,IAAS,EAAEJ,EAAE,GAAMN,GAAG,EAAE,GAAG,EAAE,GAAGO,GAAGP,IAAI,EAAE,GAAG,GAAgBE,EAAEM,EAAER,EAAE,EAAEE,EAAEK,EAAEC,EAAEN,EAAEM,EAAE,EAAER,EAAEE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,EAAE,KAAK,IAAIA,EAAE,EAAE,EAAE,EAAEF,EAAE,EAAE,GAAM,GAAc,EAAEF,EAAE,GAAGW,EAAEC,GAAGD,IAAIC,IAAI,EAAE,EAAEJ,EAAE,GAAG,EAAE,IAAIA,EAAE,GAAG,GAAqBA,EAAE,EAAE,KAAI,EAAE,EAAE,EAAEG,IAAG,EAAE,EAAE,WAAW,IAAI,GAAG,OAAOH,EAAE,SAAS,GAAqB,EAAE,EAAE,CAAC,OAAO,GAAKR,EAAE,KAAKA,EAAEC,EAAE,KAAK,CAAC,GAAG,GAAKA,EAAE,KAAKD,EAAEA,EAAE,KAAK,CAAC,EAAE,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,CAAC,IAAII,EAAEJ,EAAE,GAAUI,EAAE,IAAT,OAAa,EAAE,EAAE,GAAOA,EAAE,EAAEA,EAAE,EAAEH,EAAE,EAAEC,EAAE,EAAE,EAAE,MAAME,EAAE,KAAK,EAAE,MAAMA,EAAE,KAAK,EAAEA,EAAE,WAAWA,IAAIJ,GAAG,EAAE,MAAM,MAAM,KAAK,EAAE,MAAM,KAAK,GAAWI,EAAE,CAAC,SAAS,GAAW,EAAE,CAAC,IAAIH,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAEC,EAAEC,EAAE,EAAE,EAAE,CAAuB,IAAtB,EAAEV,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAQ,GAAE,CAAa,IAAZ,IAAI,EAAE,EAAE,EAAE,EAAM,EAAE,EAAEC,EAAES,IAAO,IAAI,EAAER,EAAE,MAAUA,GAAvB,KAAmC,IAAJ,EAAEQ,EAAQ,EAAE,GAAGD,EAAE,GAAGP,GAAU,IAAJ,IAAYO,IAAJ,GAAO,CAACP,GAAG,EAAE,GAAGA,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,MAAS,EAAEA,EAAE,EAAEA,EAAE,MAAM,KAAI,EAAE,EAAE,MAAME,EAAE,EAAEA,EAAE,EAAE,MAAMI,EAAE,EAAEJ,EAAE,EAAEF,EAAE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE,GAAG,OAAOF,EAAE,SAAS,GAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAyM,MAAxM,GAAE,OAAOA,EAAE,GAAGI,EAAE,EAAE,OAAOH,EAAEC,GAAGE,EAAE,EAAE,UAAUJ,EAAEA,GAAG,GAAG,EAAE,WAAWA,EAAEA,GAAG,GAAG,EAAE,WAAWA,EAAEA,GAAG,GAAG,EAAE,YAAYA,EAAEA,GAAG,GAAG,EAAE,UAAUC,EAAEA,GAAG,GAAG,EAAE,WAAWA,EAAEA,GAAG,GAAG,EAAE,WAAWA,EAAEA,GAAG,GAAG,EAAE,YAAYA,EAAEA,GAAG,GAAUD,EAAEC,GAAG,EAAE,SAAS,GAAY,EAAE,CAAC,IAAIA,EAAED,EAAE,EAAEA,EAAE,GAAIC,EAAE,EAAE,EAAE,GAAGA,EAAE,IAAI,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAK,EAAEA,GAAG,EAAEA,EAAE,WAAWA,IAAID,GAAG,OAAO,EAAE,SAAS,GAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOI,EAAE,IAAIH,EAAE,IAAID,EAAE,IAAIQ,EAAE,IAAI,IAAIR,EAAE,IAAIE,EAAE,IAAI,EAAE,IAAID,EAAE,IAAI,IAAI,EAAE,IAAIO,EAAE,IAAIJ,EAAE,IAAIF,EAAE,IAAI,EAAE,SAAS,GAAgB,EAAE,EAAE,CAAC,OAAOF,EAAE,KAAK,IAAIC,EAAE,GAAGD,EAAE,KAAK,IAAIC,EAAE,GAAG,CAAC,GAAkBD,EAAEC,EAAE,GAAG,GAAcD,EAAEC,EAAE,EAAE,GAAcA,EAAED,EAAE,EAAE,GAAaA,EAAEC,EAAE,GAAG,GAAKD,EAAE,KAAKA,EAAEC,EAAE,KAAK,EAAE,GAAKD,EAAEC,EAAE,KAAKA,EAAE,GAAG,GAAOD,EAAEC,EAAE,EAAE,GAAKD,EAAE,KAAKA,EAAEA,EAAE,KAAK,CAAC,GAAG,GAAKC,EAAE,KAAKA,EAAEA,EAAE,KAAK,CAAC,GAAG,SAAS,GAAK,EAAE,EAAE,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,IAAI,EAAE,EAAEC,EAAE,IAAIA,EAAE,EAAED,EAAE,IAAI,EAAE,EAAEC,EAAE,GAAG,SAAS,GAAO,EAAE,EAAE,CAAC,OAAOD,EAAE,IAAIC,EAAE,GAAGD,EAAE,IAAIC,EAAE,EAAE,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMG,EAAE,GAAK,GAAKJ,EAAEC,EAAE,EAAE,CAAC,CAAOO,EAAE,GAAK,GAAKR,EAAEC,EAAEC,EAAE,CAAC,CAAO,EAAE,GAAK,GAAK,EAAEA,EAAEF,EAAE,CAAC,CAAO,EAAE,GAAK,GAAK,EAAEE,EAAED,EAAE,CAAC,CAAC,OAAOG,IAAII,GAAG,IAAI,GAAI,EAAMJ,IAAJ,GAAO,CAAC,GAAUJ,EAAE,EAAEC,EAAE,GAAI,EAAMO,IAAJ,GAAO,CAAC,GAAUR,EAAEE,EAAED,EAAE,GAAI,EAAM,IAAJ,GAAO,CAAC,GAAU,EAAED,EAAEE,EAAE,GAAG,EAAM,IAAJ,GAAO,CAAC,GAAU,EAAED,EAAEC,EAAE,EAAK,SAAS,GAAU,EAAE,EAAE,EAAE,CAAC,OAAOD,EAAE,GAAG,KAAK,IAAID,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,GAAG,KAAK,IAAID,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,GAAG,KAAK,IAAID,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,GAAG,KAAK,IAAID,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAK,EAAE,CAAC,OAAOA,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAG,EAAE,SAAS,GAAkB,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAE,EAAE,CAAC,GAAG,EAAE,IAAIA,EAAE,GAAG,EAAE,KAAK,IAAIA,EAAE,GAAG,EAAE,IAAIC,EAAE,GAAG,EAAE,KAAK,IAAIA,EAAE,GAAG,GAAW,EAAE,EAAE,KAAKD,EAAEC,EAAE,CAAC,MAAO,GAAK,EAAE,EAAE,WAAW,IAAID,GAAG,MAAO,GAAM,SAAS,GAAc,EAAE,EAAE,CAAC,OAAO,GAAKA,EAAE,KAAKA,EAAEA,EAAE,KAAK,CAAC,EAAE,GAAKA,EAAEC,EAAED,EAAE,KAAK,EAAE,GAAG,GAAKA,EAAEA,EAAE,KAAKC,EAAE,EAAE,EAAE,GAAKD,EAAEC,EAAED,EAAE,KAAK,CAAC,GAAG,GAAKA,EAAEA,EAAE,KAAKC,EAAE,CAAC,EAAE,SAAS,GAAa,EAAE,EAAE,CAAC,IAAI,EAAED,EAAEE,EAAE,GAAYE,GAAGJ,EAAE,EAAEC,EAAE,GAAG,EAAEO,GAAGR,EAAE,EAAEC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAEO,GAAI,EAAE,KAAK,EAAEA,GAAG,EAAE,KAAK,IAAI,EAAE,GAAGJ,GAAG,EAAE,KAAK,EAAE,EAAE,IAAII,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAACN,GAAG,EAAE,EAAE,WAAW,IAAIF,GAAG,OAAOE,EAAE,SAAS,GAAa,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAKF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACE,EAAE,IAAI,GAAKD,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACG,EAAEJ,EAAE,KAAKQ,EAAEP,EAAE,KAA6E,MAAxE,GAAE,KAAKA,EAAE,EAAE,KAAKD,EAAE,EAAE,KAAKI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAKF,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKM,EAASN,EAAE,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,IAAI,GAAKJ,EAAEC,EAAE,EAAE,CAA4E,OAAxEC,GAAG,EAAE,KAAKA,EAAE,KAAK,EAAE,KAAKA,EAAE,EAAE,KAAK,KAAKE,EAAE,EAAE,KAAKA,IAAO,EAAE,KAAKA,EAAE,EAAE,KAAKA,GAASA,EAAE,SAAS,GAAW,EAAE,CAAC,EAAE,KAAK,KAAKJ,EAAE,KAAK,EAAE,KAAK,KAAKA,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAMA,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAMA,EAAE,OAAO,SAAS,GAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAEA,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,MAAM,KAAK,KAAK,MAAM,KAAK,KAAK,QAAQ,GAAM,SAAS,GAAW,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIG,EAAE,EAAE,IAAI,IAAII,EAAEP,EAAE,EAAE,EAAEC,EAAEM,EAAE,EAAE,GAAGN,EAAG,IAAIF,EAAE,GAAGA,EAAEQ,KAAKR,EAAEQ,EAAE,GAAGR,EAAE,EAAE,IAAI,EAAEQ,EAAE,OAAOJ,EAA+d,SAAS,GAAgB,EAAE,CAAC,IAAMH,EAAED,EAAE,OAAO,EAAE,GAAGA,EAAEC,EAAE,GAAG,OAAOD,EAAE,GAAG,EAAEA,EAAE,KAAK,CAAC,SAAS,GAAW,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEC,EAAE,OAAO,IAAK,EAAE,KAAKA,EAAE,GAAG,EAAE,CAAC,EAAE,KAAKA,EAAE,GAAG,EAAE,CAAo8L,SAAS,GAAS,EAAE,EAAE,EAAE,CAAa,GAAZ,EAAE,OAAO,EAAE,CAAI,MAAM,QAAQD,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAEC,GAAG,EAAE,OAAO,KAAKC,EAAE,KAAK,MAAM,EAAE,OAAO,KAAKF,EAAE,KAAK,CAAwE,OAA9DC,EAAE,cAAX,IAAK,KAAoB,EAAE,QAAQ,YAAYA,EAAE,YAAY,QAAQ,EAAS,EAA2nJ,SAAS,GAAO,EAAE,EAAE,CAAa,GAAZ,EAAE,OAAO,EAAE,CAAI,MAAM,QAAQD,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEE,EAAEF,EAAE,OAAO,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAE,GAAG,EAAE,OAAO,KAAKE,EAAE,KAAK,MAAM,EAAE,OAAO,KAAKF,EAAE,KAAK,CAAC,OAAOC,EAAsrN,SAAS,GAAa,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,GAAGF,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,IAAUG,EAAE,GAAGH,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGD,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,IAAgE,MAAzD,KAAO,EAAE,IAAIE,EAAE,EAAE,KAAO,EAAE,IAAIE,EAAE,CAAQ,IAAM,EAAE,IAAIF,EAAEE,EAAE,CAAQ,IAA0g2B,SAAS,GAA6B,EAAE,CAAC,OAAOJ,EAAE,aAAa,CAAtB,CAAwB,IAAI,SAAS,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,IAAI,UAAU,OAAO,GAAoB,IAAI,SAAS,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,OAAO,GAAoB,IAAI,QAAQ,OAAO,GAAmB,IAAI,aAAa,OAAO,GAAwB,IAAI,OAAO,IAAI,UAAU,OAAO,GAAqB,IAAI,SAAS,OAAO,GAAoB,MAAU,MAAM,8CAA8CA,EAAE,CAAC,SAAS,GAAmB,EAAE,CAAC,GAAYA,EAAE,OAAX,IAAK,GAAW,MAAU,MAAM,2DAA2D,CAAC,IAAMC,EAAE,GAA6BD,EAAE,KAAK,CAAC,GAAYA,EAAE,QAAX,IAAK,GAAY,CAAC,IAAMC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,YAAYD,EAAE,KAAKC,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAMA,EAAE,EAAE,OAAO,EAAE,OAAgBA,EAAE,QAAX,IAAK,GAAuB,IAAIA,EAAED,EAAE,KAAKA,EAAE,MAAMA,EAAE,OAAOA,EAAE,cAAc,CAAzDC,EAAE,MAAMD,EAAE,CAA8p1C,SAAS,IAAK,CAAC,OAAqB,OAAO,YAArB,IAAiC,KAAK,aAAa,KAAK,CAO9l3I,SAAS,GAAY,EAAE,CAAC,IAAMC,EAAE,EAAE,CAAC,GAAGD,EAAE,QAAQC,EAAE,KAAKD,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEA,EAAE,SAAS,OAAO,IAAI,EAAE,KAAK,MAAMC,EAAE,GAAYD,EAAE,SAAS,GAAG,CAAC,CAAC,OAAOC,wmDAZjl6B,GAAE,MAAyH,GAAE,EAAQ,GAAE,EAAQ,GAAE,EAA4B,GAAE,EAAQ,GAAE,EAAQU,GAAE,EAAQ,GAAE,EAAQ,GAAE,EAAQG,GAAE,EAAQ,GAAE,EAAkBmB,GAAE,EAAQC,GAAE,EAAQ,GAAE,EAAQ,GAAE,EAAQ,GAAE,EAAQ4C,GAAE,EAAQC,GAAE,IAAUC,GAAE,IAAUG,GAAE,IAAU,GAAE,IAAUE,GAAE,IAAUC,GAAE,IAAUC,GAAE,IAAUC,GAAE,IAAUC,GAAE,IAAUC,GAAE,IAAU,GAAE,IAAU,GAAE,IAAUgC,GAAE,IAAUF,GAAE,IAAUC,GAAE,IAAUF,GAAE,IAAUnB,GAAE,EAAQC,GAAE,EAAQC,GAAE,EAAQ,GAAE,EAAQC,GAAE,EAAQC,GAAE,EAAQC,GAAE,EAAQC,GAAE,EAAQjC,GAAE,EAAQ,GAAE,EAAQC,GAAE,EAAQC,GAAE,EAAQ,GAAE,EAAQX,GAAE,EAAQC,GAAE,EAAQC,GAAG,EAAQC,GAAG,EAAQ,GAAG,IAAU,GAAG,IAAUxB,GAAG,IAAUF,GAAG,IAAUC,GAAG,IAAUP,GAAG,IAAUqC,GAAG,IAAUuC,GAAG,IAAUC,GAAG,KAAWC,GAAG,KAAWd,GAAG,KAAWe,GAAG,KAAyBE,GAAG,KAAyBlB,GAAG,KAAWoB,GAAG,KAAyBK,GAAG,KAAyB1C,GAAG,KAAWoD,GAAG,KAAWC,GAAG,KAAWN,GAAG,KAAWO,GAAG,KAAWV,GAAG,KAAWzE,GAAG,KAAWwE,GAAG,KAAWM,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWN,GAAG,KAAWU,GAAG,KAAW5D,GAAG,KAAWzB,GAAG,KAAWsF,GAAG,KAAWC,GAAG,KAAWX,GAAG,KAAWE,GAAG,KAAWU,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAY,GAAG,MAAYC,GAAG,MAAY,GAAG,MAAY,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYc,GAAG,MAAYb,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAY,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYC,GAAG,MAAYW,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAW,GAAG,KAAWC,GAAG,KAAWC,GAAG,KAAWC,GAAG,EAA8BtJ,GAAG,IAAUa,GAAG,KAAW0I,GAAG,KAAW1G,GAAG,KAAWH,GAAG,EAAQD,GAAG,EAAmB+G,GAAG,KAA4LC,GAAG,IAAUC,GAAG,MAAYC,GAAG,MAAoIhI,GAAG,SAAe,GAAN,KAAqB,CAAC,iBAAiB,EAAE,EAAE,CAAU,KAAK,aAAd,IAAK,KAAsB,KAAK,WAAW,EAAE,EAAE,IAAM,EAAE,KAAK,WAAoB,EAAE7E,KAAX,IAAK,KAAW,EAAEA,GAAG,EAAE,EAAO,EAAEA,GAAG,QAAQC,EAAE,GAApB,IAAsB,EAAED,GAAG,KAAKC,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,GAAY,KAAK,aAAd,IAAK,GAAoB,MAAO,GAAM,IAAM,EAAE,KAAK,WAAW,OAAgB,EAAED,KAAX,IAAK,IAAe,EAAEA,GAAG,QAAQC,EAAE,GAApB,GAAqB,oBAAoB,EAAE,EAAE,CAAC,GAAY,KAAK,aAAd,IAAK,GAAoB,OAA+B,IAAMC,EAAtB,KAAK,WAAqBF,GAAG,GAAYE,IAAT,IAAK,GAAM,CAAC,IAAMF,EAAEE,EAAE,QAAQD,EAAE,CAAMD,IAAL,IAAQE,EAAE,OAAOF,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,GAAY,KAAK,aAAd,IAAK,GAAoB,OAA+B,IAAM,EAAtB,KAAK,WAAqBA,EAAE,MAAM,GAAY,IAAT,IAAK,GAAM,CAAC,EAAE,OAAO,KAAK,IAAMC,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,IAAIkB,EAAE,EAAEjB,EAAED,EAAE,OAAOkB,EAAEjB,EAAE,IAAI,EAAEiB,GAAG,KAAK,KAAKnB,EAAE,CAAC,EAAE,OAAO,QAAaG,GAAG,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEA,EAAE,IAAI,IAAI,GAAGA,IAAIA,EAAE,GAAG,IAAI,IAAIA,EAAE,SAAS,GAAG,CAAKK,GAAG,QAAcC,GAAG,KAAK,GAAG,IAAUC,GAAG,IAAI,KAAK,GAAylE,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQD,GAAG,QAAQC,GAAgB,gBAAmB,SAAsB,mBAA0B,aAAsB,eAAiB,QAAU,QAAc,YAAoB,cAAwB,gBAAqB,WAAkB,aAA0B,mBAA6B,gBAAsB,YAAkB,YAAsB,gBAA4B,kBAA+B,mBAA6C,gCAA6B,CAAC,CAAO,EAAN,KAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAEP,EAAE,KAAK,EAAEC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC,KAAK,EAAED,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,EAAEA,EAAE,IAAI,EAAE,EAAE,CAAmB,MAAlB,MAAK,EAAEA,EAAE,KAAK,EAAEC,EAAS,KAAK,UAAU,EAAE,CAAmB,MAAlB,MAAK,EAAED,EAAE,KAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,aAAa,EAAE,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,KAAK,EAAEC,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,QAAQ,MAAU,MAAM,0BAA0BD,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,QAAQ,MAAU,MAAM,0BAA0BA,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAuB,MAAtB,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAS,KAAK,IAAI,EAAE,EAAE,CAA0K,OAA7JC,IAAT,IAAK,IAAyI,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAAjK,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,WAAWA,EAAEC,EAAE,EAAqC,UAAU,EAAE,CAAqB,MAApB,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAS,KAAK,WAAW,EAAE,EAAE,CAA+B,MAA9B,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,gBAAgB,EAAE,EAAE,CAA6B,MAA5B,MAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAS,KAAK,IAAI,EAAE,EAAE,CAA0K,OAA7JA,IAAT,IAAK,IAAyI,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAAjK,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,WAAWA,EAAEC,EAAE,EAAqC,UAAU,EAAE,CAAqB,MAApB,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAS,KAAK,WAAW,EAAE,EAAE,CAA+B,MAA9B,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,SAAS,EAAE,CAAyB,MAAxB,MAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,KAAK,eAAe,EAAE,CAAqB,MAApB,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,OAAO,EAAE,CAAyB,MAAxB,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEA,EAAE,CAAC,aAAa,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAQC,EAAEF,EAAE,SAA6D,MAApD,MAAK,EAAEE,EAAE,GAAGD,EAAEC,EAAE,GAAG,EAAEA,EAAE,GAAG,KAAK,EAAEA,EAAE,GAAGD,EAAEC,EAAE,GAAG,EAAEA,EAAE,GAAU,KAAK,IAAI,EAAE,CAAyD,MAAxD,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEF,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,IAAI,EAAE,CAAyD,MAAxD,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,MAAM,EAAE,EAAE,CAAqF,MAApF,MAAK,EAAE,KAAK,IAAIA,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAQ,KAAK,YAAY,EAAE,EAAE,CAA6E,MAA5E,MAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAQ,KAAK,YAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,QAAQ,CAAC,OAAO,KAAK,aAAa,GAAG,EAAE,CAAC,eAAe,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAqD,MAApD,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,MAAM,CAAmD,MAAlD,MAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAQ,KAAK,OAAO,CAAqD,MAApD,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,aAAa,CAA2G,MAA1G,MAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,QAAQ,CAA+B,MAA9B,MAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAS,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,EAAED,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,OAAO,CAA6C,OAApC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAY,WAAW,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,kBAAkBA,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAED,EAAE,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,OAAOC,EAAEA,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,OAAO,KAAK,IAAI,KAAK,EAAED,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,eAAeA,EAAE,CAAC,KAAK,EAAE,EAAE,CAA+C,MAA9C,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAS,KAAK,YAAY,EAAE,EAAE,EAAE,CAA+C,MAA9C,MAAK,EAAED,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAS,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAA2B,MAA1B,MAAK,EAAEA,EAAEC,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAU,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAA2B,MAA1B,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAASD,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAmI,OAAzH,IAAT,IAAK,IAAO,QAAQ,KAAK,sEAAsE,CAAC,KAAK,EAAEA,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAQ,KAAK,aAAa,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,IAAIA,EAAE,CAACC,EAAE,KAAK,IAAID,EAAE,CAAOG,EAAE,KAAK,EAAEJ,EAAE,EAAQQ,EAAE,KAAK,EAAER,EAAE,EAAwC,MAAtC,MAAK,EAAEI,EAAE,EAAEI,EAAEN,EAAEF,EAAE,EAAE,KAAK,EAAEI,EAAEF,EAAEM,EAAE,EAAER,EAAE,EAAS,KAAK,QAAQ,CAA2C,MAA1C,MAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAQ,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,IAAG,EAAQ,UAAU,UAAU,GAAW,GAAN,KAAa,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,OAAO,GAAG,QAAQ,MAAM,gFAAgF,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMU,EAAE,KAAK,SAAwE,MAA/D,GAAE,GAAGV,EAAE,EAAE,GAAGE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGD,EAAE,EAAE,GAAGG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGC,EAAS,KAAK,UAAU,CAA6B,OAA5B,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAC,IAAMR,EAAE,KAAK,SAAe,EAAED,EAAE,SAAmG,MAA1F,GAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAU,KAAK,aAAa,EAAE,EAAE,EAAE,CAA8F,OAA7F,EAAE,qBAAqB,KAAK,EAAE,CAAC,EAAE,qBAAqB,KAAK,EAAE,CAAC,EAAE,qBAAqB,KAAK,EAAE,CAAQ,KAAK,eAAe,EAAE,CAAC,IAAMC,EAAED,EAAE,SAAiE,OAAxD,KAAK,IAAIC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAQ,KAAK,SAAS,EAAE,CAAC,OAAO,KAAK,iBAAiB,KAAKD,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,iBAAiBA,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,SAAeE,EAAED,EAAE,SAAeG,EAAE,KAAK,SAAeI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAASC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAASC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAASC,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAG+B,EAAE/B,EAAE,GAASgC,EAAEhC,EAAE,GAAGoC,EAAEpC,EAAE,GAAGqC,EAAErC,EAAE,GAASsC,EAAEtC,EAAE,GAAG4E,EAAE5E,EAAE,GAAG6E,EAAE7E,EAAE,GAA4J,MAAzJ,GAAE,GAAGM,EAAEO,EAAE,EAAEmB,EAAE,EAAEM,EAAE,EAAE,GAAGhC,EAAE,EAAE,EAAE8B,EAAE,EAAEwC,EAAE,EAAE,GAAGtE,EAAEyB,EAAE,EAAEM,EAAE,EAAEwC,EAAE,EAAE,GAAGtE,EAAEM,EAAEL,EAAEwB,EAAEvB,EAAE6B,EAAE,EAAE,GAAG/B,EAAE,EAAEC,EAAE4B,EAAE3B,EAAEmE,EAAE,EAAE,GAAGrE,EAAEwB,EAAEvB,EAAE6B,EAAE5B,EAAEoE,EAAE,EAAE,GAAGnE,EAAEG,EAAEF,EAAEqB,EAAEpB,EAAE0B,EAAE,EAAE,GAAG5B,EAAE,EAAEC,EAAEyB,EAAExB,EAAEgE,EAAE,EAAE,GAAGlE,EAAEqB,EAAEpB,EAAE0B,EAAEzB,EAAEiE,EAAS,KAAK,eAAe,EAAE,CAAC,IAAM9E,EAAE,KAAK,SAAiF,MAAxE,GAAE,IAAID,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAS,KAAK,aAAa,CAAC,IAAMA,EAAE,KAAK,SAAeC,EAAED,EAAE,GAAG,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,GAAGQ,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGS,EAAET,EAAE,GAAGU,EAAEV,EAAE,GAAG,OAAOC,EAAEO,EAAEE,EAAET,EAAE,EAAEQ,EAAE,EAAEL,EAAEM,EAAE,EAAE,EAAE,EAAER,EAAEE,EAAEK,EAAEP,EAAEM,EAAE,EAAE,QAAQ,CAAC,IAAMR,EAAE,KAAK,SAASC,EAAED,EAAE,GAAG,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,GAAGQ,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGS,EAAET,EAAE,GAAGU,EAAEV,EAAE,GAAGW,EAAED,EAAEF,EAAE,EAAEC,EAAEG,EAAE,EAAE,EAAEF,EAAEN,EAAES,EAAEJ,EAAEL,EAAEI,EAAE,EAAEM,EAAEb,EAAEU,EAAE,EAAEC,EAAEV,EAAEW,EAAE,GAAOC,IAAJ,EAAM,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,EAAED,EAAmI,MAAjI,GAAE,GAAGH,EAAEI,EAAE,EAAE,IAAIb,EAAEO,EAAEC,EAAE,GAAGK,EAAE,EAAE,IAAI,EAAE,EAAEb,EAAEM,GAAGO,EAAE,EAAE,GAAGH,EAAEG,EAAE,EAAE,IAAIL,EAAET,EAAEC,EAAE,GAAGa,EAAE,EAAE,IAAIb,EAAEE,EAAE,EAAEH,GAAGc,EAAE,EAAE,GAAGF,EAAEE,EAAE,EAAE,IAAI,EAAE,EAAEN,EAAER,GAAGc,EAAE,EAAE,IAAIP,EAAEP,EAAE,EAAEG,GAAGW,EAAS,KAAK,WAAW,CAAC,IAAIf,EAAQC,EAAE,KAAK,SAAiF,MAAxE,GAAEA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGD,EAAE,EAAEC,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGD,EAAE,EAAEC,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGD,EAAS,KAAK,gBAAgB,EAAE,CAAC,OAAO,KAAK,eAAeA,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,IAAMC,EAAE,KAAK,SAAmG,MAA1F,GAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAU,KAAK,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,IAAIG,EAAE,CAAOK,EAAE,KAAK,IAAIL,EAAE,CAAqE,OAApE,KAAK,IAAI,EAAE,EAAE,EAAEK,EAAE,CAAC,GAAG,EAAED,EAAEC,EAAE,GAAGD,EAAER,EAAE,CAACE,EAAEO,EAAEP,EAAE,EAAE,CAACA,GAAG,CAACO,EAAED,EAAE,EAAE,GAAG,EAAEP,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,MAAM,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAyD,MAAhD,GAAE,IAAID,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAS,KAAK,OAAO,EAAE,CAAC,IAAMA,EAAE,KAAK,IAAID,EAAE,CAAO,EAAE,KAAK,IAAIA,EAAE,CAAOE,EAAE,KAAK,SAAeE,EAAEF,EAAE,GAAGM,EAAEN,EAAE,GAAG,EAAEA,EAAE,GAAS,EAAEA,EAAE,GAAGO,EAAEP,EAAE,GAAGQ,EAAER,EAAE,GAAoF,MAAjF,GAAE,GAAGD,EAAEG,EAAE,EAAE,EAAE,EAAE,GAAGH,EAAEO,EAAE,EAAEC,EAAE,EAAE,GAAGR,EAAE,EAAE,EAAES,EAAE,EAAE,GAAG,CAAC,EAAEN,EAAEH,EAAE,EAAE,EAAE,GAAG,CAAC,EAAEO,EAAEP,EAAEQ,EAAE,EAAE,GAAG,CAAC,EAAE,EAAER,EAAES,EAAS,KAAK,UAAU,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAuF,MAA9E,GAAE,IAAIV,EAAE,EAAE,GAAG,EAAE,IAAIA,EAAE,EAAE,GAAG,EAAE,IAAIA,EAAE,EAAE,GAAG,EAAE,IAAIC,EAAE,EAAE,GAAG,EAAE,IAAIA,EAAE,EAAE,GAAG,EAAE,IAAIA,EAAE,EAAE,GAAU,KAAK,OAAO,EAAE,CAAC,IAAMA,EAAE,KAAK,SAAe,EAAED,EAAE,SAAS,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAGC,EAAED,KAAK,EAAEA,GAAG,MAAO,GAAM,MAAO,GAAK,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,SAAS,GAAGA,EAAE,EAAEC,GAAG,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAmH,MAA1G,GAAEA,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAUD,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,UAAU,KAAK,SAAS,GAAE,GAAQ,UAAU,UAAU,GAAkgB,GAAN,KAAgB,CAAC,OAAO,WAAW,EAAE,CAAuC,GAAnC,UAAU,KAAKA,EAAE,IAAI,EAA8B,OAAO,kBAApB,IAAsC,OAAOA,EAAE,IAAI,IAAIC,EAAE,GAAGD,aAAa,kBAAkB,EAAEA,MAAM,CAAU+M,KAAT,IAAK,KAAS,GAAG,GAAgB,SAAS,EAAE,GAAG,MAAM/M,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,IAAM,EAAE+M,GAAG,WAAW,KAAK,CAAC,aAAa,UAAU,EAAE,aAAa/M,EAAE,EAAE,EAAE,CAAC,EAAE,UAAUA,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE+M,GAAqK,OAA/J9M,EAAE,MAAM,MAAMA,EAAE,OAAO,MAAM,QAAQ,KAAK,8EAA8ED,EAAE,CAAQC,EAAE,UAAU,aAAa,GAAG,EAAQA,EAAE,UAAU,YAAY,GAAM+M,GAAG,EAAQ,GAAN,MAAM,UAAgB,EAAe,CAAC,YAAY,EAAE,EAAQ,cAAc,EAAE,EAAQ,gBAAgB,EAAEhG,GAAG,EAAEA,GAAG,EAAEd,GAAG,EAAEyB,GAAG,EAAExE,GAAG,EAAE8B,GAAG,EAAE,EAAE,EAAE/B,GAAG,CAAC,OAAO,CAAC,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAc,CAAC,KAAK,KAAK,GAAG,KAAK,MAAMlD,EAAE,KAAK,QAAQ,EAAE,CAAC,KAAK,QAAQC,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMC,EAAE,KAAK,UAAUE,EAAE,KAAK,UAAUI,EAAE,KAAK,WAAWC,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,KAAK,KAAK,KAAK,EAAE,KAAK,OAAO,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,iBAAiB,GAAK,KAAK,OAAO,IAAI,GAAQ,KAAK,gBAAgB,GAAK,KAAK,iBAAiB,GAAM,KAAK,MAAM,GAAK,KAAK,gBAAgB,EAAE,KAAK,SAASC,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,SAAS,KAAK,KAAK,sBAAsB,GAAM,cAAc,CAAC,KAAK,OAAO,eAAe,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAsqB,MAArqB,MAAK,KAAKV,EAAE,KAAK,KAAK,MAAMA,EAAE,MAAM,KAAK,QAAQA,EAAE,QAAQ,MAAM,EAAE,CAAC,KAAK,QAAQA,EAAE,QAAQ,KAAK,MAAMA,EAAE,MAAM,KAAK,MAAMA,EAAE,MAAM,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,OAAOA,EAAE,OAAO,KAAK,eAAeA,EAAE,eAAe,KAAK,KAAKA,EAAE,KAAK,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,MAAMA,EAAE,MAAM,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,SAASA,EAAE,SAAS,KAAK,SAAS,KAAK,MAAM,KAAK,UAAUA,EAAE,SAAS,CAAC,CAAQ,KAAK,OAAO,EAAE,CAAC,IAAMC,EAAWD,IAAT,IAAK,IAAkB,OAAOA,GAAlB,SAAoB,GAAG,CAACC,GAAYD,EAAE,SAAS,KAAK,QAAzB,IAAK,GAA0B,OAAOA,EAAE,SAAS,KAAK,MAAM,IAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,UAAU,UAAU,iBAAiB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,SAAS,KAAK,SAAS,KAAK,CAAC,KAAK,MAAM,KAAK,MAAM,CAAC,OAAO,KAAK,OAAO,KAAK,KAAK,KAAK,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU,UAAU,KAAK,UAAU,WAAW,KAAK,WAAW,MAAM,KAAK,MAAM,iBAAiB,KAAK,iBAAiB,gBAAgB,KAAK,gBAAgB,CAAC,GAAY,KAAK,QAAd,IAAK,GAAe,CAAC,IAAME,EAAE,KAAK,MAA+C,GAAhCA,EAAE,OAAX,IAAK,KAAa,EAAE,KAAK,IAAc,EAAK,CAACD,GAAYD,EAAE,OAAOE,EAAE,QAApB,IAAK,GAAqB,CAAC,IAAID,EAAE,GAAG,MAAM,QAAQC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEmB,EAAEjB,EAAE,OAAOF,EAAEmB,EAAE,IAAI,EAAEnB,GAAG,cAAcC,EAAE,KAAK,GAAeC,EAAEF,GAAG,MAAM,CAAC,CAACC,EAAE,KAAK,GAAeC,EAAEF,GAAG,CAAC,MAAM,EAAE,GAAeE,EAAE,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,KAAKA,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,MAAMC,EAAE,KAAmG,OAAvF,KAAK,UAAU,KAAK,SAAS,GAApC,OAAuC,EAAE,SAAS,KAAK,UAAU,IAAI,EAAE,SAAS,KAAK,MAAM,GAAU,EAAE,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,OAAOF,EAA8B,GAA5B,EAAE,aAAa,KAAK,OAAO,CAAIA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,OAAO,KAAK,MAAZ,CAAmB,KAAK+G,GAAG,EAAE,GAAM,KAAK,MAAM/G,EAAE,EAAE,CAAC,MAAM,KAAKgH,GAAG,EAAE,EAAEhH,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,KAAKiH,GAAO,KAAK,IAAI,KAAK,MAAMjH,EAAE,EAAE,CAAC,EAAE,GAA/B,EAAgC,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAE,CAACA,EAAE,EAAE,EAAE,GAAM,KAAK,MAAMA,EAAE,EAAE,CAAC,MAAM,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,OAAO,KAAK,MAAZ,CAAmB,KAAK+G,GAAG,EAAE,GAAM,KAAK,MAAM/G,EAAE,EAAE,CAAC,MAAM,KAAKgH,GAAG,EAAE,EAAEhH,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,KAAKiH,GAAO,KAAK,IAAI,KAAK,MAAMjH,EAAE,EAAE,CAAC,EAAE,GAA/B,EAAgC,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAE,CAACA,EAAE,EAAE,EAAE,GAAM,KAAK,MAAMA,EAAE,EAAE,CAAC,MAA8B,OAAxB,KAAK,QAAQ,EAAE,EAAE,EAAEA,EAAE,GAAUA,EAAE,IAAI,YAAY,EAAE,CAAC,KAAOA,GAAG,KAAK,YAAW,GAAQ,cAAc,IAAK,GAAE,GAAQ,gBAAgB,GAAG,GAAQ,UAAU,UAAU,GAA4c,GAAN,KAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAEA,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC,KAAK,EAAEF,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,EAAEA,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAqC,MAApC,MAAK,EAAEA,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAS,KAAK,UAAU,EAAE,CAAqC,MAApC,MAAK,EAAEF,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,aAAa,EAAE,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,KAAK,EAAEC,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,QAAQ,MAAU,MAAM,0BAA0BD,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,QAAQ,MAAU,MAAM,0BAA0BA,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAA4D,MAA3D,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAWA,EAAE,IAAX,IAAK,GAAY,EAAJA,EAAE,EAAW,KAAK,IAAI,EAAE,EAAE,CAAkM,OAArLC,IAAT,IAAK,IAAyI,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAAzL,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,WAAWA,EAAEC,EAAE,EAA6D,UAAU,EAAE,CAAyC,MAAxC,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,WAAW,EAAE,EAAE,CAA6D,MAA5D,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,gBAAgB,EAAE,EAAE,CAAyD,MAAxD,MAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAS,KAAK,IAAI,EAAE,EAAE,CAAkM,OAArLA,IAAT,IAAK,IAAyI,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAAzL,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,WAAWA,EAAEC,EAAE,EAA6D,UAAU,EAAE,CAAyC,MAAxC,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,WAAW,EAAE,EAAE,CAA6D,MAA5D,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,SAAS,EAAE,CAAiD,MAAhD,MAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,KAAK,eAAe,EAAE,CAAyC,MAAxC,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,aAAa,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAEE,EAAE,KAAK,EAAQI,EAAER,EAAE,SAA2J,MAAlJ,MAAK,EAAEQ,EAAE,GAAGP,EAAEO,EAAE,GAAG,EAAEA,EAAE,GAAGN,EAAEM,EAAE,IAAIJ,EAAE,KAAK,EAAEI,EAAE,GAAGP,EAAEO,EAAE,GAAG,EAAEA,EAAE,GAAGN,EAAEM,EAAE,IAAIJ,EAAE,KAAK,EAAEI,EAAE,GAAGP,EAAEO,EAAE,GAAG,EAAEA,EAAE,IAAIN,EAAEM,EAAE,IAAIJ,EAAE,KAAK,EAAEI,EAAE,GAAGP,EAAEO,EAAE,GAAG,EAAEA,EAAE,IAAIN,EAAEM,EAAE,IAAIJ,EAAS,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEJ,EAAE,CAAC,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAK,KAAK,EAAED,EAAE,EAAEA,EAAE,EAAE,CAAmF,OAA/EC,EAAE,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAO,KAAK,EAAED,EAAE,EAAEC,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,KAAK,EAAED,EAAE,EAAEC,GAAS,KAAK,+BAA+B,EAAE,CAAC,IAAIA,EAAE,EAAEC,EAAEE,EAAQI,EAAE,IAAI,EAAE,GAAG,EAAER,EAAE,SAASS,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGkB,EAAE,EAAE,IAAI,GAAG,KAAK,IAAIvB,EAAEE,EAAE,CAACJ,GAAG,KAAK,IAAIG,EAAEI,EAAE,CAACP,GAAG,KAAK,IAAIM,EAAE,EAAE,CAACN,EAAE,CAAC,GAAG,KAAK,IAAIE,EAAEE,EAAE,CAAC,GAAG,KAAK,IAAID,EAAEI,EAAE,CAAC,GAAG,KAAK,IAAID,EAAE,EAAE,CAAC,GAAG,KAAK,IAAIL,EAAEI,EAAEoB,EAAE,EAAE,CAAC,EAAqB,OAAlB,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,EAAE,KAAK,GAAG,IAAMjC,GAAGS,EAAE,GAAG,EAAQ4B,GAAGxB,EAAE,GAAG,EAAQqB,GAAGD,EAAE,GAAG,EAAQK,GAAG5B,EAAEE,GAAG,EAAQ2B,GAAG5B,EAAEI,GAAG,EAAQyB,GAAG1B,EAAE,GAAG,EAAmQ,OAA9Pd,EAAEqC,GAAGrC,EAAEkC,EAAKlC,EAAEQ,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,aAAgB,EAAE,KAAK,KAAKR,EAAE,CAAC,EAAEsC,EAAE,EAAE,EAAEC,EAAE,GAAUF,EAAEH,EAAKG,EAAE7B,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,aAAgB,EAAE,KAAK,KAAK6B,EAAE,CAAC,EAAEC,EAAEpC,EAAE,EAAEsC,EAAEtC,GAAUgC,EAAE1B,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,IAAO,EAAE,KAAK,KAAK0B,EAAE,CAAC,EAAEK,EAAEnC,EAAE,EAAEoC,EAAEpC,GAAE,KAAK,IAAI,EAAEF,EAAEE,EAAEH,EAAE,CAAQ,KAAK,IAAIiC,EAAE,KAAK,MAAM,EAAEpB,IAAI,EAAEA,IAAIH,EAAEI,IAAIJ,EAAEI,IAAIH,EAAEF,IAAIE,EAAEF,GAAG,CAAoG,OAAnG,KAAK,IAAIwB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,EAAEpB,GAAGoB,EAAE,KAAK,GAAGvB,EAAEI,GAAGmB,EAAE,KAAK,GAAGtB,EAAEF,GAAGwB,EAAE,KAAK,EAAE,KAAK,MAAMzB,EAAEI,EAAEoB,EAAE,GAAG,EAAE,CAAQ,KAAK,IAAI,EAAE,CAAiH,MAAhH,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEjC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,IAAI,EAAE,CAAiH,MAAhH,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,MAAM,EAAE,EAAE,CAAyK,MAAxK,MAAK,EAAE,KAAK,IAAIA,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAQ,KAAK,YAAY,EAAE,EAAE,CAAyJ,MAAxJ,MAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAQ,KAAK,YAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,QAAQ,CAAC,OAAO,KAAK,aAAa,GAAG,EAAE,CAAC,eAAe,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAyG,MAAxG,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,MAAM,CAAqG,MAApG,MAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAQ,KAAK,OAAO,CAAyG,MAAxG,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,aAAa,CAAqN,MAApN,MAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,QAAQ,CAA6D,MAA5D,MAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAS,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,EAAED,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,eAAeA,EAAE,CAAC,KAAK,EAAE,EAAE,CAA6F,MAA5F,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAS,KAAK,YAAY,EAAE,EAAE,EAAE,CAA6F,MAA5F,MAAK,EAAED,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAS,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAuD,MAAtD,MAAK,EAAEA,EAAEC,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAU,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAuD,MAAtD,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAASD,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAqK,OAA3J,IAAT,IAAK,IAAO,QAAQ,KAAK,sEAAsE,CAAC,KAAK,EAAEA,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAQ,KAAK,QAAQ,CAAqF,MAApF,MAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAQ,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,IAAG,GAAQ,UAAU,UAAU,GAAW,GAAN,cAAgC,EAAe,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,MAAMD,EAAE,KAAK,OAAOC,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,IAAI,GAAQ,EAAE,EAAED,EAAEC,EAAE,CAAC,KAAK,YAAY,GAAM,KAAK,SAAS,IAAI,GAAQ,EAAE,EAAED,EAAEC,EAAE,CAAC,KAAK,QAAQ,IAAI,GAAQ,IAAK,GAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,QAAQ,sBAAsB,GAAK,KAAK,QAAQ,MAAM,CAAC,MAAMD,EAAE,OAAOC,EAAE,MAAM,EAAE,CAAC,KAAK,QAAQ,gBAAyB,EAAE,kBAAX,IAAK,IAAuB,EAAE,gBAAgB,KAAK,QAAQ,eAAwB,EAAE,iBAAX,IAAK,GAAsC,KAAjB,EAAE,eAAoB,KAAK,QAAQ,UAAmB,EAAE,YAAX,IAAK,GAA4BiG,GAAZ,EAAE,UAAa,KAAK,YAAqB,EAAE,cAAX,IAAK,IAAmB,EAAE,YAAY,KAAK,cAAuB,EAAE,gBAAX,IAAK,IAAqB,EAAE,cAAc,KAAK,aAAsB,EAAE,eAAX,IAAK,GAAkC,KAAf,EAAE,aAAkB,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,CAAC,KAAK,QAAQlG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAI,KAAK,QAAQA,GAAG,KAAK,SAASC,GAAG,KAAK,QAAQ,KAAG,KAAK,MAAMD,EAAE,KAAK,OAAOC,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,MAAM,MAAMD,EAAE,KAAK,QAAQ,MAAM,OAAOC,EAAE,KAAK,QAAQ,MAAM,MAAM,EAAE,KAAK,SAAS,EAAC,KAAK,SAAS,IAAI,EAAE,EAAED,EAAEC,EAAE,CAAC,KAAK,QAAQ,IAAI,EAAE,EAAED,EAAEC,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAwQ,MAAvQ,MAAK,MAAMD,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,KAAK,MAAMA,EAAE,MAAM,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,QAAQA,EAAE,QAAQ,OAAO,CAAC,KAAK,QAAQ,MAAM,CAAC,GAAG,KAAK,QAAQ,MAAM,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,cAAcA,EAAE,cAAc,KAAK,aAAaA,EAAE,aAAoB,KAAK,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,GAAE,GAAkB,UAAU,oBAAoB,GAAW,GAAN,cAAyC,EAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,CAAC,IAAMC,EAAE,KAAK,QAAQ,KAAK,QAAQ,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,QAAQA,GAAGE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQF,GAAG,KAAK,SAASC,GAAG,KAAK,QAAQ,EAAE,CAAC,KAAK,MAAMD,EAAE,KAAK,OAAOC,EAAE,KAAK,MAAM,EAAE,IAAI,IAAIC,EAAE,EAAEE,EAAE,KAAK,QAAQ,OAAOF,EAAEE,EAAE,IAAK,KAAK,QAAQF,GAAG,MAAM,MAAMF,EAAE,KAAK,QAAQE,GAAG,MAAM,OAAOD,EAAE,KAAK,QAAQC,GAAG,MAAM,MAAM,EAAE,KAAK,SAAS,CAAsD,OAArD,KAAK,SAAS,IAAI,EAAE,EAAEF,EAAEC,EAAE,CAAC,KAAK,QAAQ,IAAI,EAAE,EAAED,EAAEC,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,MAAMD,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,KAAK,MAAMA,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,EAAE,KAAK,MAAM,KAAK,OAAO,CAAC,KAAK,QAAQ,IAAI,EAAE,EAAE,KAAK,MAAM,KAAK,OAAO,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,cAAcA,EAAE,cAAc,KAAK,aAAaA,EAAE,aAAa,KAAK,QAAQ,OAAO,EAAE,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,QAAQ,OAAOC,EAAE,EAAE,IAAI,KAAK,QAAQA,GAAGD,EAAE,QAAQC,GAAG,OAAO,CAAC,OAAO,OAAM,GAA2B,UAAU,6BAA6B,GAAW,GAAN,cAA2C,EAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAMD,EAAEC,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,8BAAuC,EAAE,cAAX,IAAK,IAAmB,EAAE,YAAY,KAAK,mBAA4B,EAAE,qBAAX,IAAK,IAA0B,EAAE,mBAAmB,KAAK,gBAAgB,KAAQ,KAAK,mBAAmB,KAAK,EAAE,CAAoI,OAAnI,MAAM,KAAK,KAAK,KAAKD,EAAE,CAAC,KAAK,QAAQA,EAAE,QAAQ,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,gBAAgBA,EAAE,gBAAuB,OAAM,GAA6B,UAAU,+BAA+B,GAAW,GAAN,KAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGC,EAAE,OAAO,MAAM,EAAE,EAAE,EAAE,EAAE,CAAsH,OAArH,QAAQ,KAAK,uGAAuG,CAAQ,EAAE,iBAAiBF,EAAEC,EAAEC,EAAE,CAAC,OAAO,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAEA,EAAE,GAAGO,EAAE,EAAEP,EAAE,GAAGQ,EAAE,EAAER,EAAE,GAAGS,EAAE,EAAET,EAAE,GAASU,EAAER,EAAEI,EAAE,GAAGK,EAAET,EAAEI,EAAE,GAAGM,EAAEV,EAAEI,EAAE,GAAGO,EAAEX,EAAEI,EAAE,GAAG,GAAO,IAAJ,EAAM,GAAO,IAAJ,EAAM,CAAC,GAAGG,IAAII,GAAG,IAAIH,GAAGH,IAAII,GAAGH,IAAII,EAAE,CAAC,IAAId,EAAE,EAAE,EAAQC,EAAE,EAAEW,EAAEH,EAAEI,EAAEH,EAAEI,EAAEH,EAAEI,EAAEI,EAAElB,GAAG,EAAE,EAAE,GAAGC,EAAE,EAAED,EAAEA,EAAE,GAAGC,SAAiB,CAAC,IAAME,EAAE,KAAK,KAAKF,EAAE,CAACM,EAAE,KAAK,MAAMJ,EAAEH,EAAEkB,EAAE,CAAC,EAAE,KAAK,IAAInB,EAAEQ,EAAE,CAACJ,EAAE,EAAE,KAAK,IAAI,EAAEI,EAAE,CAACJ,EAAE,IAAMA,EAAE,EAAEe,EAA0C,GAAxC,EAAE,EAAEnB,EAAEY,EAAER,EAAE,EAAEK,EAAET,EAAEa,EAAET,EAAE,EAAEM,EAAEV,EAAEc,EAAEV,EAAE,EAAEO,EAAEX,EAAEe,EAAEX,EAAKJ,IAAI,EAAE,EAAE,CAAC,IAAMA,EAAE,EAAE,KAAK,KAAK,EAAE,EAAES,EAAEA,EAAEC,EAAEA,EAAEC,EAAEA,EAAE,CAAC,GAAGX,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,GAAG,EAAEC,GAAG,EAAE,EAAEA,EAAE,GAAGQ,EAAE,EAAER,EAAE,GAAGS,EAAE,EAAET,EAAE,GAAGU,OAAO,EAAEV,EAAE,GAAGW,EAAE,EAAEX,EAAE,GAAGY,EAAE,EAAEZ,EAAE,GAAGa,EAAE,EAAEb,EAAE,GAAGc,OAAO,EAAEd,EAAE,GAAG,EAAE,EAAEA,EAAE,GAAGQ,EAAE,EAAER,EAAE,GAAGS,EAAE,EAAET,EAAE,GAAGU,EAAG,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,EAAET,GAAS,EAAE,EAAEA,EAAE,GAASO,EAAE,EAAEP,EAAE,GAASQ,EAAE,EAAER,EAAE,GAASS,EAAEP,EAAEI,GAASI,EAAER,EAAEI,EAAE,GAASK,EAAET,EAAEI,EAAE,GAASM,EAAEV,EAAEI,EAAE,GAA6F,MAA1F,GAAEP,GAAG,EAAEa,EAAEJ,EAAEC,EAAE,EAAEE,EAAEJ,EAAEG,EAAE,EAAEX,EAAE,GAAG,EAAEa,EAAEJ,EAAEE,EAAEH,EAAEE,EAAE,EAAEE,EAAE,EAAEZ,EAAE,GAAGQ,EAAEK,EAAEJ,EAAEG,EAAE,EAAED,EAAE,EAAED,EAAE,EAAEV,EAAE,GAAGS,EAAEI,EAAE,EAAEH,EAAE,EAAEC,EAAEH,EAAEI,EAASb,EAAE,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAkE,MAAjE,MAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGC,EAAE,KAAK,mBAAmB,CAAQ,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,CAA0E,MAAzE,MAAK,GAAGF,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,mBAAmB,CAAQ,KAAK,aAAa,EAAE,EAAE,CAAC,GAAG,EAAEA,GAAGA,EAAE,SAAS,MAAU,MAAM,mGAAmG,CAAC,IAAM,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,GAAGQ,EAAER,EAAE,OAAa,EAAE,KAAK,IAAU,EAAE,KAAK,IAAUS,EAAE,EAAE,EAAE,EAAE,CAAOC,EAAE,EAAER,EAAE,EAAE,CAAOS,EAAE,EAAEP,EAAE,EAAE,CAAOQ,EAAE,EAAE,EAAE,EAAE,CAAOC,EAAE,EAAEX,EAAE,EAAE,CAAOY,EAAE,EAAEV,EAAE,EAAE,CAAC,OAAOI,EAAP,CAAU,IAAI,MAAM,KAAK,GAAGI,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,QAAQ,QAAQ,KAAK,mEAAmEN,EAAE,CAAqC,MAApC,KAAQP,GAAG,KAAK,mBAAmB,CAAQ,KAAK,iBAAiB,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,EAAEC,EAAE,KAAK,IAAI,EAAE,CAAwF,MAAvF,MAAK,GAAGF,EAAE,EAAEE,EAAE,KAAK,GAAGF,EAAE,EAAEE,EAAE,KAAK,GAAGF,EAAE,EAAEE,EAAE,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC,KAAK,mBAAmB,CAAQ,KAAK,sBAAsB,EAAE,CAAC,IAAMD,EAAED,EAAE,SAAS,EAAEC,EAAE,GAAGC,EAAED,EAAE,GAAGG,EAAEH,EAAE,GAAGO,EAAEP,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGQ,EAAER,EAAE,GAAGS,EAAET,EAAE,GAAGU,EAAEV,EAAE,IAAIW,EAAE,EAAE,EAAED,EAAE,GAAGC,EAAE,EAAE,CAAC,IAAMZ,EAAE,GAAG,KAAK,KAAKY,EAAE,EAAE,CAAC,KAAK,GAAG,IAAIZ,EAAE,KAAK,IAAIU,EAAE,GAAGV,EAAE,KAAK,IAAII,EAAEK,GAAGT,EAAE,KAAK,IAAIQ,EAAEN,GAAGF,UAAU,EAAE,GAAG,EAAEW,EAAE,CAAC,IAAMX,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,EAAEW,EAAE,CAAC,KAAK,IAAID,EAAE,GAAGV,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,IAAIE,EAAEM,GAAGR,EAAE,KAAK,IAAII,EAAEK,GAAGT,UAAU,EAAEW,EAAE,CAAC,IAAMX,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,EAAEW,EAAE,CAAC,KAAK,IAAIP,EAAEK,GAAGT,EAAE,KAAK,IAAIE,EAAEM,GAAGR,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,IAAI,EAAEU,GAAGV,MAAM,CAAC,IAAMA,EAAE,EAAE,KAAK,KAAK,EAAEW,EAAE,EAAE,EAAE,CAAC,KAAK,IAAIH,EAAEN,GAAGF,EAAE,KAAK,IAAII,EAAEK,GAAGT,EAAE,KAAK,IAAI,EAAEU,GAAGV,EAAE,KAAK,GAAG,IAAIA,EAA2B,OAAzB,KAAK,mBAAmB,CAAQ,KAAK,mBAAmB,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAE,IAAIC,EAAE,CAAC,EAAkP,OAA7O,UAAkB,EAAE,EAAK,KAAK,IAAID,EAAE,EAAE,CAAC,KAAK,IAAIA,EAAE,EAAE,EAAE,KAAK,GAAG,CAACA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAO,KAAK,GAAG,EAAE,KAAK,GAAG,CAACA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAG,KAAQ,KAAK,GAAGA,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,GAAG,GAAS,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAO,GAAE,KAAK,KAAK,KAAK,IAAI,GAAM,KAAK,IAAID,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,QAAQA,EAAE,CAAC,GAAO,IAAJ,EAAM,OAAO,KAAK,IAAME,EAAE,KAAK,IAAI,EAAED,EAAE,EAAE,CAAiB,OAAhB,KAAK,MAAMD,EAAEE,EAAE,CAAQ,KAAK,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,CAAC,WAAW,CAA8D,MAA7D,MAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,mBAAmB,CAAQ,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,GAAGF,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,WAAW,CAAC,IAAIA,EAAE,KAAK,QAAQ,CAA+J,OAAvJA,IAAJ,GAAO,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAO,EAAE,EAAEA,EAAE,KAAK,IAAWA,EAAE,KAAK,IAAWA,EAAE,KAAK,IAAWA,EAAE,KAAK,IAAWA,GAAE,KAAK,mBAAmB,CAAQ,KAAK,SAAS,EAAE,EAAE,CAA4K,OAA/JC,IAAT,IAAK,GAA0K,KAAK,oBAAoB,KAAKD,EAAE,EAAnM,QAAQ,KAAK,yGAAyG,CAAQ,KAAK,oBAAoBA,EAAEC,EAAE,EAAyC,YAAY,EAAE,CAAC,OAAO,KAAK,oBAAoBD,EAAE,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,GAAGQ,EAAER,EAAE,GAAS,EAAEC,EAAE,GAAG,EAAEA,EAAE,GAAGQ,EAAER,EAAE,GAAGS,EAAET,EAAE,GAA4H,MAAzH,MAAK,GAAG,EAAES,EAAEF,EAAE,EAAEN,EAAEO,EAAEL,EAAE,EAAE,KAAK,GAAGF,EAAEQ,EAAEF,EAAE,EAAEJ,EAAE,EAAE,EAAEK,EAAE,KAAK,GAAGL,EAAEM,EAAEF,EAAEC,EAAE,EAAE,EAAEP,EAAE,EAAE,KAAK,GAAGM,EAAEE,EAAE,EAAE,EAAER,EAAE,EAAEE,EAAEK,EAAE,KAAK,mBAAmB,CAAQ,KAAK,MAAM,EAAE,EAAE,CAAC,GAAOR,IAAJ,EAAM,OAAO,KAAK,GAAOA,IAAJ,EAAM,OAAO,KAAK,KAAKD,EAAE,CAAC,IAAM,EAAE,KAAK,GAAGE,EAAE,KAAK,GAAGE,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAO,EAAEA,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,GAA0F,GAApF,EAAE,GAAG,KAAK,GAAG,CAACA,EAAE,GAAG,KAAK,GAAG,CAACA,EAAE,GAAG,KAAK,GAAG,CAACA,EAAE,GAAG,KAAK,GAAG,CAACA,EAAE,GAAG,EAAE,CAAC,GAAO,KAAK,KAAKA,EAAE,CAAI,GAAG,EAA2C,MAAxC,MAAK,GAAGQ,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGN,EAAE,KAAK,GAAGE,EAAS,KAAK,IAAM,EAAE,EAAE,EAAE,EAAE,GAAG,UAAkB,CAAC,IAAMJ,EAAE,EAAEC,EAAoI,MAAlI,MAAK,GAAGD,EAAEQ,EAAEP,EAAE,KAAK,GAAG,KAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAG,KAAK,GAAGD,EAAEE,EAAED,EAAE,KAAK,GAAG,KAAK,GAAGD,EAAEI,EAAEH,EAAE,KAAK,GAAG,KAAK,WAAW,CAAC,KAAK,mBAAmB,CAAQ,KAAK,IAAMQ,EAAE,KAAK,KAAK,EAAE,CAAOC,EAAE,KAAK,MAAMD,EAAE,EAAE,CAAOE,EAAE,KAAK,KAAK,EAAEV,GAAGS,EAAE,CAACD,EAAEG,EAAE,KAAK,IAAIX,EAAES,EAAE,CAACD,EAAmH,MAAjH,MAAK,GAAGD,EAAEG,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAED,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGV,EAAES,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAGR,EAAEO,EAAE,KAAK,GAAGC,EAAE,KAAK,mBAAmB,CAAQ,KAAK,iBAAiB,EAAE,EAAE,EAAE,CAAC,KAAK,KAAKZ,EAAE,CAAC,MAAMC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAMD,EAAE,KAAK,QAAQ,CAAOC,EAAE,KAAK,KAAK,EAAED,EAAE,CAAO,EAAE,KAAK,KAAKA,EAAE,CAAOE,EAAE,EAAE,KAAK,GAAG,KAAK,QAAQ,CAAOE,EAAE,EAAE,KAAK,GAAG,KAAK,QAAQ,CAAC,OAAO,KAAK,IAAIH,EAAE,KAAK,IAAIC,EAAE,CAAC,EAAE,KAAK,IAAIE,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAACH,EAAE,KAAK,IAAIC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAOF,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,GAAG,UAAU,EAAE,EAAE,EAAE,CAAoF,MAAnF,MAAK,GAAGA,EAAEC,GAAG,KAAK,GAAGD,EAAEC,EAAE,GAAG,KAAK,GAAGD,EAAEC,EAAE,GAAG,KAAK,GAAGD,EAAEC,EAAE,GAAG,KAAK,mBAAmB,CAAQ,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAA2D,MAA1D,GAAEA,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAUD,EAAE,oBAAoB,EAAE,EAAE,CAAyE,MAAxE,MAAK,GAAGA,EAAE,KAAKC,EAAE,CAAC,KAAK,GAAGD,EAAE,KAAKC,EAAE,CAAC,KAAK,GAAGD,EAAE,KAAKC,EAAE,CAAC,KAAK,GAAGD,EAAE,KAAKC,EAAE,CAAQ,KAAK,UAAU,EAAE,CAA0B,MAAzB,MAAK,kBAAkBD,EAAS,KAAK,mBAAmB,IAAG,GAAW,UAAU,aAAa,GAAW,EAAN,KAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAEA,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAmD,OAAzC,IAAT,IAAK,KAAQ,EAAE,KAAK,GAAG,KAAK,EAAED,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAS,KAAK,UAAU,EAAE,CAA4B,MAA3B,MAAK,EAAED,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,KAAK,EAAE,CAAU,MAAT,MAAK,EAAEA,EAAS,KAAK,aAAa,EAAE,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,KAAK,EAAEC,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,QAAQ,MAAU,MAAM,0BAA0BD,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,QAAQ,MAAU,MAAM,0BAA0BA,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAkC,MAAjC,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAS,KAAK,IAAI,EAAE,EAAE,CAAsL,OAAzKC,IAAT,IAAK,IAAyI,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAA7K,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,WAAWA,EAAEC,EAAE,EAAiD,UAAU,EAAE,CAA+B,MAA9B,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,WAAW,EAAE,EAAE,CAA8C,MAA7C,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,gBAAgB,EAAE,EAAE,CAA2C,MAA1C,MAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAE,KAAK,GAAGD,EAAE,EAAEC,EAAS,KAAK,IAAI,EAAE,EAAE,CAAsL,OAAzKA,IAAT,IAAK,IAAyI,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAA7K,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,WAAWA,EAAEC,EAAE,EAAiD,UAAU,EAAE,CAA+B,MAA9B,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,WAAW,EAAE,EAAE,CAA8C,MAA7C,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,SAAS,EAAE,EAAE,CAAqM,OAAxLA,IAAT,IAAK,IAAwJ,KAAK,GAAGD,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,OAA5L,QAAQ,KAAK,kGAAkG,CAAQ,KAAK,gBAAgBA,EAAEC,EAAE,EAAiD,eAAe,EAAE,CAA+B,MAA9B,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,gBAAgB,EAAE,EAAE,CAA8C,MAA7C,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,WAAW,EAAE,CAA4H,OAA3H,GAAGD,EAAE,SAAS,QAAQ,MAAM,8FAA8F,CAAQ,KAAK,gBAAgBiN,GAAG,aAAajN,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgBiN,GAAG,iBAAiBjN,EAAEC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,IAAMA,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAQE,EAAEJ,EAAE,SAA6F,MAApF,MAAK,EAAEI,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAE,KAAK,EAAEE,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAE,KAAK,EAAEE,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAS,KAAK,kBAAkB,EAAE,CAAC,OAAO,KAAK,aAAaF,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAQE,EAAEJ,EAAE,SAAeQ,EAAE,GAAGJ,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,IAAIF,EAAEE,EAAE,KAAwH,MAAnH,MAAK,GAAGA,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAEE,EAAE,KAAKI,EAAE,KAAK,GAAGJ,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAEE,EAAE,KAAKI,EAAE,KAAK,GAAGJ,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,IAAIF,EAAEE,EAAE,KAAKI,EAAS,KAAK,gBAAgB,EAAE,CAAC,IAAMP,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAQE,EAAEJ,EAAE,EAAEQ,EAAER,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAQS,EAAE,EAAER,EAAEO,EAAEN,EAAE,EAAE,EAAQQ,EAAE,EAAE,EAAE,EAAET,EAAEG,EAAEF,EAAQS,EAAE,EAAET,EAAEE,EAAE,EAAEI,EAAEP,EAAQW,EAAE,CAACR,EAAEH,EAAEO,EAAE,EAAE,EAAEN,EAAgF,MAA9E,MAAK,EAAEO,EAAE,EAAEG,EAAE,CAACR,EAAEM,EAAE,CAAC,EAAEC,EAAE,CAACH,EAAE,KAAK,EAAEE,EAAE,EAAEE,EAAE,CAACJ,EAAEG,EAAE,CAACP,EAAEK,EAAE,CAAC,EAAE,KAAK,EAAEE,EAAE,EAAEC,EAAE,CAAC,EAAEH,EAAE,CAACD,EAAEE,EAAE,CAACN,EAAS,KAAK,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAaJ,EAAE,mBAAmB,CAAC,aAAaA,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,aAAaA,EAAE,wBAAwB,CAAC,aAAaA,EAAE,YAAY,CAAC,mBAAmB,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAQE,EAAEJ,EAAE,SAA8F,MAArF,MAAK,EAAEI,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAE,KAAK,EAAEE,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,GAAGF,EAAE,KAAK,EAAEE,EAAE,GAAGH,EAAEG,EAAE,GAAG,EAAEA,EAAE,IAAIF,EAAS,KAAK,WAAW,CAAC,OAAO,EAAE,CAAqC,MAApC,MAAK,GAAGF,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEA,EAAE,CAAC,IAAI,EAAE,CAAqF,MAApF,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,IAAI,EAAE,CAAqF,MAApF,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,MAAM,EAAE,EAAE,CAA+H,MAA9H,MAAK,EAAE,KAAK,IAAIA,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,IAAIC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAQ,KAAK,YAAY,EAAE,EAAE,CAAmH,MAAlH,MAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,KAAK,EAAE,CAAC,CAAQ,KAAK,YAAY,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,QAAQ,CAAC,OAAO,KAAK,aAAa,GAAG,EAAE,CAAC,eAAe,KAAK,IAAID,EAAE,KAAK,IAAIC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAA+E,MAA9E,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,MAAM,CAA4E,MAA3E,MAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAQ,KAAK,OAAO,CAA+E,MAA9E,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,aAAa,CAAgK,MAA/J,MAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,EAAE,CAAQ,KAAK,QAAQ,CAA8C,MAA7C,MAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAS,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,EAAED,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,eAAeA,EAAE,CAAC,KAAK,EAAE,EAAE,CAAsE,MAArE,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAS,KAAK,YAAY,EAAE,EAAE,EAAE,CAAsE,MAArE,MAAK,EAAED,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAS,KAAK,MAAM,EAAE,EAAE,CAAwJ,OAA3IC,IAAT,IAAK,GAAsJ,KAAK,aAAa,KAAKD,EAAE,EAAxK,QAAQ,KAAK,4FAA4F,CAAQ,KAAK,aAAaA,EAAEC,EAAE,EAAkC,aAAa,EAAE,EAAE,CAAC,IAAM,EAAED,EAAE,EAAEE,EAAEF,EAAE,EAAEI,EAAEJ,EAAE,EAAQQ,EAAEP,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAA+C,MAA7C,MAAK,EAAEC,EAAE,EAAEE,EAAE,EAAE,KAAK,EAAEA,EAAEI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAEN,EAAEM,EAAS,KAAK,gBAAgB,EAAE,CAAC,IAAMP,EAAED,EAAE,UAAU,CAAC,GAAOC,IAAJ,EAAM,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,IAAM,EAAED,EAAE,IAAI,KAAK,CAACC,EAAE,OAAO,KAAK,KAAKD,EAAE,CAAC,eAAe,EAAE,CAAC,eAAe,EAAE,CAAkC,OAAjC,GAAG,KAAK,KAAK,CAAC,gBAAgBA,EAAE,CAAQ,KAAK,IAAIkN,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,IAAIA,GAAG,KAAKlN,EAAE,CAAC,eAAe,EAAE,KAAK,IAAIA,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAMC,EAAE,KAAK,KAAK,KAAK,UAAU,CAACD,EAAE,UAAU,CAAC,CAAC,GAAOC,IAAJ,EAAM,OAAO,KAAK,GAAG,EAAE,IAAM,EAAE,KAAK,IAAID,EAAE,CAACC,EAAE,OAAO,KAAK,KAAK,GAAM,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,kBAAkBD,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAED,EAAE,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAEE,EAAE,KAAK,EAAEF,EAAE,EAAE,OAAOC,EAAEA,EAAE,EAAE,EAAEC,EAAEA,EAAE,oBAAoB,EAAE,CAAC,OAAO,KAAK,IAAI,KAAK,EAAEF,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK,uBAAuBA,EAAE,OAAOA,EAAE,IAAIA,EAAE,MAAM,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAAK,IAAID,EAAE,CAACD,EAAiE,MAA/D,MAAK,EAAEE,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,IAAID,EAAE,CAACD,EAAE,KAAK,EAAEE,EAAE,KAAK,IAAI,EAAE,CAAQ,KAAK,mBAAmB,EAAE,CAAC,OAAO,KAAK,yBAAyBF,EAAE,OAAOA,EAAE,MAAMA,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE,EAAE,CAAoD,MAAnD,MAAK,EAAEA,EAAE,KAAK,IAAIC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAED,EAAE,KAAK,IAAIC,EAAE,CAAQ,KAAK,sBAAsB,EAAE,CAAC,IAAMA,EAAED,EAAE,SAAgD,MAAvC,MAAK,EAAEC,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAW,KAAK,mBAAmB,EAAE,CAAC,IAAMA,EAAE,KAAK,oBAAoBD,EAAE,EAAE,CAAC,QAAQ,CAAO,EAAE,KAAK,oBAAoBA,EAAE,EAAE,CAAC,QAAQ,CAAOE,EAAE,KAAK,oBAAoBF,EAAE,EAAE,CAAC,QAAQ,CAA4B,MAA3B,MAAK,EAAEC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAS,KAAK,oBAAoB,EAAE,EAAE,CAAC,OAAO,KAAK,UAAUF,EAAE,SAAS,EAAEC,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,OAAO,KAAK,UAAUD,EAAE,SAAS,EAAEC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAOD,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAyC,MAAxC,MAAK,EAAEA,EAAEC,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAU,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAyC,MAAxC,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAASD,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAoJ,OAA1I,IAAT,IAAK,IAAO,QAAQ,KAAK,sEAAsE,CAAC,KAAK,EAAEA,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAQ,KAAK,QAAQ,CAAgE,MAA/D,MAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAQ,KAAK,iBAAiB,CAAC,IAAMD,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAUC,EAAE,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAQ,EAAE,KAAK,KAAK,EAAED,GAAG,EAAE,CAAoD,MAAnD,MAAK,EAAE,EAAE,KAAK,IAAIC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,IAAIA,EAAE,CAAC,KAAK,EAAED,EAAS,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,IAAG,EAAQ,UAAU,UAAU,GAAWkN,GAAG,IAAI,EAAcD,GAAG,IAAI,GAAiB,GAAN,KAAU,CAAC,YAAY,EAAE,IAAI,EAAQ,IAAS,IAAS,IAAS,CAAC,EAAE,IAAI,EAAQ,KAAU,KAAU,KAAU,CAAC,CAAC,KAAK,IAAIjN,EAAE,KAAK,IAAIC,EAAE,IAAI,EAAE,EAAE,CAAmC,OAAlC,KAAK,IAAI,KAAKD,EAAE,CAAC,KAAK,IAAI,KAAKC,EAAE,CAAQ,KAAK,aAAa,EAAE,CAAC,IAAIA,EAAE,IAAa,EAAE,IAAaC,EAAE,IAAaE,EAAE,KAAcI,EAAE,KAAc,EAAE,KAAU,IAAI,IAAI,EAAE,EAAEC,EAAET,EAAE,OAAO,EAAES,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAET,EAAE,GAASU,EAAEV,EAAE,EAAE,GAASW,EAAEX,EAAE,EAAE,GAAG,EAAEC,IAAI,EAAEQ,GAAG,EAAE,IAAI,EAAEC,GAAG,EAAER,IAAI,EAAES,GAAG,EAAEP,IAAI,EAAEK,GAAG,EAAED,IAAI,EAAEE,GAAG,EAAE,IAAI,EAAEC,GAA2C,OAAxC,KAAK,IAAI,IAAIV,EAAE,EAAEC,EAAE,CAAC,KAAK,IAAI,IAAIE,EAAEI,EAAE,EAAE,CAAQ,KAAK,uBAAuB,EAAE,CAAC,IAAIP,EAAE,IAAa,EAAE,IAAaC,EAAE,IAAaE,EAAE,KAAcI,EAAE,KAAc,EAAE,KAAU,IAAI,IAAI,EAAE,EAAEC,EAAET,EAAE,MAAM,EAAES,EAAE,IAAI,CAAC,IAAMA,EAAET,EAAE,KAAK,EAAE,CAAOU,EAAEV,EAAE,KAAK,EAAE,CAAOW,EAAEX,EAAE,KAAK,EAAE,CAAC,EAAEC,IAAI,EAAEQ,GAAG,EAAE,IAAI,EAAEC,GAAG,EAAER,IAAI,EAAES,GAAG,EAAEP,IAAI,EAAEK,GAAG,EAAED,IAAI,EAAEE,GAAG,EAAE,IAAI,EAAEC,GAA2C,OAAxC,KAAK,IAAI,IAAIV,EAAE,EAAEC,EAAE,CAAC,KAAK,IAAI,IAAIE,EAAEI,EAAE,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,KAAK,WAAW,CAAC,IAAI,IAAIP,EAAE,EAAE,EAAED,EAAE,OAAOC,EAAE,EAAE,IAAI,KAAK,cAAcD,EAAEC,GAAG,CAAC,OAAO,KAAK,qBAAqB,EAAE,EAAE,CAAC,IAAM,EAAEkN,GAAG,KAAKlN,EAAE,CAAC,eAAe,GAAG,CAAiD,OAAhD,KAAK,IAAI,KAAKD,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAKA,EAAE,CAAC,IAAI,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAkB,OAAjB,KAAK,WAAW,CAAQ,KAAK,eAAeA,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAA2C,OAA1C,KAAK,IAAI,KAAKA,EAAE,IAAI,CAAC,KAAK,IAAI,KAAKA,EAAE,IAAI,CAAQ,KAAK,WAAW,CAAsF,MAArF,MAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,IAAS,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAiB,KAAK,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,IAAI,EAAE,EAAE,EAAE,CAACA,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,IAAI,EAAE,EAAE,EAAE,CAACA,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAiC,OAAhC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAQ,KAAK,eAAe,EAAE,CAAiC,OAAhC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAQ,KAAK,eAAe,EAAE,CAA8C,OAA7C,KAAK,IAAI,UAAU,CAACA,EAAE,CAAC,KAAK,IAAI,UAAUA,EAAE,CAAQ,KAAK,eAAe,EAAE,CAAC,EAAE,kBAAkB,GAAM,GAAM,CAAC,IAAMC,EAAED,EAAE,SAAqBC,IAAT,IAAK,KAAcA,EAAE,cAAT,MAAsBA,EAAE,oBAAoB,CAAC,GAAG,KAAKA,EAAE,YAAY,CAAC,GAAG,aAAaD,EAAE,YAAY,CAAC,KAAK,MAAMoN,GAAG,EAAC,IAAM,EAAEpN,EAAE,SAAS,IAAI,IAAIA,EAAE,EAAEC,EAAE,EAAE,OAAOD,EAAEC,EAAE,IAAI,KAAK,eAAe,EAAED,GAAG,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC,MAAM,EAAEA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAG,YAAY,EAAE,CAAC,OAAO,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,OAAOC,EAAE,KAAKD,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,IAAIA,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,IAAIA,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,EAAEA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,iBAAiB,EAAE,CAA8B,OAA7B,KAAK,WAAWA,EAAE,OAAOmN,GAAG,CAAQA,GAAG,kBAAkBnN,EAAE,OAAO,EAAEA,EAAE,OAAOA,EAAE,OAAO,gBAAgB,EAAE,CAAC,IAAIC,EAAE,EAA4W,OAAvWD,EAAE,OAAO,EAAE,GAAG,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,IAAO,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,GAAKA,EAAE,OAAO,EAAE,GAAG,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,IAAO,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,GAAKA,EAAE,OAAO,EAAE,GAAG,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,IAAO,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,GAASC,GAAG,CAACD,EAAE,UAAU,GAAG,CAACA,EAAE,SAAS,mBAAmB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,MAAO,GAAM,KAAK,UAAUqN,GAAG,CAAC,GAAG,WAAW,KAAK,IAAIA,GAAG,CAAC,GAAG,WAAWrN,EAAE,EAAEqN,GAAG,CAAC,GAAG,WAAWrN,EAAE,EAAEqN,GAAG,CAAC,GAAG,WAAWrN,EAAE,EAAEqN,GAAG,CAAC,GAAG,WAAWC,GAAGC,GAAG,CAAC,GAAG,WAAWC,GAAGF,GAAG,CAAC,GAAG,WAAWC,GAAGC,GAAG,CAAC,IAAIvN,EAAE,CAAC,EAAE,CAACwN,GAAG,EAAEA,GAAG,EAAE,EAAE,CAACC,GAAG,EAAEA,GAAG,EAAE,EAAE,CAACC,GAAG,EAAEA,GAAG,EAAEF,GAAG,EAAE,EAAE,CAACA,GAAG,EAAEC,GAAG,EAAE,EAAE,CAACA,GAAG,EAAEC,GAAG,EAAE,EAAE,CAACA,GAAG,EAAE,CAACF,GAAG,EAAEA,GAAG,EAAE,EAAE,CAACC,GAAG,EAAEA,GAAG,EAAE,EAAE,CAACC,GAAG,EAAEA,GAAG,EAAE,EAAE,CAAuJ,MAAnJ,CAAC,GAAW1N,EAAEsN,GAAGD,GAAGE,GAAGI,GAAG,GAAc,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAI,CAAC,GAAW3N,EAAEsN,GAAGD,GAAGE,GAAGI,GAAG,EAAQ,IAAM,GAAG,aAAaH,GAAGC,GAAG,CAAC,EAAE,CAACG,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAQ,GAAW5N,EAAEsN,GAAGD,GAAGE,GAAGI,GAAG,EAAC,WAAW,EAAE,EAAE,CAAC,OAAO3N,EAAE,KAAKD,EAAE,CAAC,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAA6C,OAApCmN,GAAG,KAAKnN,EAAE,CAAC,MAAM,KAAK,IAAI,KAAK,IAAI,CAAU,IAAIA,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAgE,OAA/D,KAAK,UAAUA,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,QAAQmN,GAAG,CAAC,QAAQ,CAAQnN,EAAE,UAAU,EAAE,CAA0E,OAAzE,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,SAAS,EAAE,KAAK,WAAW,CAAQ,KAAK,MAAM,EAAE,CAAyC,OAAxC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAQ,KAAK,aAAa,EAAE,CAAshB,OAAlhB,KAAK,SAAS,CAAQ,MAAK,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,KAAK,cAAc8N,GAAG,CAAQ,MAAK,UAAU,EAAE,CAAiC,OAAhC,KAAK,IAAI,IAAI9N,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,IAAI,OAAO,KAAK,IAAI,EAAEA,EAAE,IAAI,OAAO,KAAK,IAAI,GAAE,GAAK,UAAU,OAAO,GAAW8N,GAAG,CAAC,IAAI,EAAQ,IAAI,EAAQ,IAAI,EAAQ,IAAI,EAAQ,IAAI,EAAQ,IAAI,EAAQ,IAAI,EAAQ,IAAI,EAAQ,CAAOX,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAWG,GAAG,IAAI,EAAcD,GAAG,IAAI,EAAcE,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcN,GAAG,IAAI,EAAcO,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc5M,GAAG,IAAI,EAAmS8M,GAAG,IAAI,GAAWC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,KAAY,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,GAAG,CAAC,KAAK,OAAOlO,EAAE,KAAK,OAAOC,EAAE,IAAI,EAAE,EAAE,CAAmC,OAAlC,KAAK,OAAO,KAAKD,EAAE,CAAC,KAAK,OAAOC,EAAS,KAAK,cAAc,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAgBA,IAAT,IAAK,GAAgB8N,GAAG,cAAc/N,EAAE,CAAC,UAAU,EAAE,CAA1C,EAAE,KAAKC,EAAE,CAAkC,IAAIC,EAAE,EAAE,IAAI,IAAID,EAAE,EAAEG,EAAEJ,EAAE,OAAOC,EAAEG,EAAE,IAAI,EAAE,KAAK,IAAIF,EAAE,EAAE,kBAAkBF,EAAEC,GAAG,CAAC,CAA0B,MAAzB,MAAK,OAAO,KAAK,KAAKC,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAiD,OAAhD,KAAK,OAAO,KAAKF,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAE,OAAc,KAAK,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,WAAW,CAAuC,OAAtC,KAAK,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAU,KAAK,cAAc,EAAE,CAAC,OAAOA,EAAE,kBAAkB,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,OAAO,gBAAgB,EAAE,CAAC,OAAOA,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,OAAO,iBAAiB,EAAE,CAAC,IAAMC,EAAE,KAAK,OAAOD,EAAE,OAAO,OAAOA,EAAE,OAAO,kBAAkB,KAAK,OAAO,EAAEC,EAAEA,EAAE,cAAc,EAAE,CAAC,OAAOD,EAAE,iBAAiB,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,IAAIA,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,WAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAO,kBAAkBA,EAAE,CAAuH,OAAtH,EAAE,KAAKA,EAAE,CAAI,EAAE,KAAK,OAAO,KAAK,SAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,EAAQC,EAAE,eAAe,EAAE,CAAwG,OAApG,KAAK,SAAS,EAAE,EAAE,WAAW,CAAQD,IAAE,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAQA,GAAE,aAAa,EAAE,CAA2E,OAA1E,KAAK,OAAO,aAAaA,EAAE,CAAC,KAAK,QAAmBA,EAAE,mBAAmB,CAAQ,KAAK,UAAU,EAAE,CAAoB,OAAnB,KAAK,OAAO,IAAIA,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,GAAG,WAAWA,EAAE,KAAK,OAAO,CAAC,IAAMC,EAAEiO,GAAG,UAAU,CAAC,GAAGjO,EAAE,KAAK,OAAO,KAAK,OAAO,CAAC,IAAMD,EAAE,KAAK,KAAKC,EAAE,CAAO,EAAE,IAAID,EAAE,KAAK,QAAQ,KAAK,OAAO,IAAIkO,GAAG,eAAe,EAAElO,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE,OAAO,KAAK,MAAM,EAAE,CAAiP,MAAhP,KAAO,KAAK,OAAO,OAAOA,EAAE,OAAO,CAACiO,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,eAAejO,EAAE,OAAO,CAACiO,GAAG,WAAWjO,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,CAAC,eAAeA,EAAE,OAAO,CAAC,KAAK,cAAcgO,GAAG,KAAKhO,EAAE,OAAO,CAAC,IAAIiO,GAAG,CAAC,CAAC,KAAK,cAAcD,GAAG,KAAKhO,EAAE,OAAO,CAAC,IAAIiO,GAAG,CAAC,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOjO,EAAE,OAAO,OAAO,KAAK,OAAO,EAAEA,EAAE,SAAS,KAAK,OAAO,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,GAAQmO,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,KAAS,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,OAAOzO,EAAE,KAAK,UAAUC,EAAE,IAAI,EAAE,EAAE,CAA4C,OAA3C,KAAK,OAAO,KAAKD,EAAE,CAAC,KAAK,UAAU,KAAKC,EAAE,CAAQ,KAAK,KAAK,EAAE,CAA6D,OAA5D,KAAK,OAAO,KAAKD,EAAE,OAAO,CAAC,KAAK,UAAU,KAAKA,EAAE,UAAU,CAAQ,KAAK,GAAG,EAAE,EAAE,CAAC,OAAOC,EAAE,KAAK,KAAK,UAAU,CAAC,eAAeD,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAqD,OAApD,KAAK,UAAU,KAAKA,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,CAAQ,KAAK,OAAO,EAAE,CAAiC,OAAhC,KAAK,OAAO,KAAK,KAAK,GAAGA,EAAEmO,GAAG,CAAC,CAAQ,KAAK,oBAAoB,EAAE,EAAE,CAAC,EAAE,WAAWnO,EAAE,KAAK,OAAO,CAAC,IAAM,EAAEC,EAAE,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,EAAEA,EAAE,KAAK,KAAK,OAAO,CAACA,EAAE,KAAK,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,kBAAkBD,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAMC,EAAEkO,GAAG,WAAWnO,EAAE,KAAK,OAAO,CAAC,IAAI,KAAK,UAAU,CAA2G,OAAvGC,EAAE,EAAS,KAAK,OAAO,kBAAkBD,EAAE,EAAC,GAAG,KAAK,KAAK,UAAU,CAAC,eAAeC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAQkO,GAAG,kBAAkBnO,EAAE,EAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAKA,EAAE,CAAC,IAAIC,EAAE,CAAC,eAAe,GAAG,CAAC,GAAG,KAAKA,EAAE,CAAC,IAAID,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC,IAAIoO,GAAG,CAAC,IAAMhO,EAAE,GAAGJ,EAAE,WAAWC,EAAE,CAAOO,EAAE,CAAC,KAAK,UAAU,IAAI6N,GAAG,CAAO,EAAEC,GAAG,IAAI,KAAK,UAAU,CAAO,EAAE,CAACA,GAAG,IAAID,GAAG,CAAO5N,EAAE6N,GAAG,UAAU,CAAO5N,EAAE,KAAK,IAAI,EAAEF,EAAEA,EAAE,CAAKG,EAAEC,EAAEC,EAAEC,EAAE,GAAGJ,EAAE,EAAyB,GAAtB,EAAEF,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEJ,EAAEM,EAAKC,GAAG,EAAE,GAAGC,GAAG,CAACE,EAAE,GAAGF,GAAGE,EAAE,CAAC,IAAMd,EAAE,EAAEU,EAAE,GAAGV,EAAE,GAAGA,EAAE,EAAEW,GAAGA,EAAEH,EAAEI,EAAE,EAAE,GAAGA,GAAGJ,EAAEG,EAAEC,EAAE,EAAE,GAAGH,OAAO,EAAEL,EAAE,EAAE,KAAK,IAAI,EAAE,EAAEI,EAAEI,EAAE,GAAG,CAAC,EAAE,CAACD,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,OAAO,EAAE,CAACL,EAAE,EAAE,KAAK,IAAI,EAAE,EAAEI,EAAEI,EAAE,GAAG,CAAC,EAAE,CAACD,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,OAAUG,GAAG,CAACE,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,CAACN,EAAEJ,EAAE,GAAG,CAAC,EAAEO,EAAE,EAAE,CAACP,EAAE,KAAK,IAAI,KAAK,IAAI,CAACA,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,CAACO,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,GAAUG,GAAGE,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,KAAK,IAAI,CAACV,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAEQ,GAAGA,EAAE,EAAE,GAAGH,IAAO,EAAE,KAAK,IAAI,EAAE,EAAED,EAAEJ,EAAE,GAAG,CAAC,EAAEO,EAAE,EAAEP,EAAE,KAAK,IAAI,KAAK,IAAI,CAACA,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,CAACO,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,QAAQ,EAAED,EAAE,EAAE,CAACJ,EAAEA,EAAE,EAAE,KAAK,IAAI,EAAE,EAAEI,EAAEI,EAAE,GAAG,CAAC,EAAE,CAACD,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,EAAuG,OAArG,GAAG,EAAE,KAAK,KAAK,UAAU,CAAC,eAAeE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,GAAGT,EAAE,KAAKmO,GAAG,CAAC,eAAezN,EAAE,CAAC,IAAIwN,GAAG,CAAQvN,EAAE,gBAAgB,EAAE,EAAE,CAAC,GAAG,WAAWb,EAAE,OAAO,KAAK,OAAO,CAAC,IAAM,EAAEmO,GAAG,IAAI,KAAK,UAAU,CAAOjO,EAAEiO,GAAG,IAAIA,GAAG,CAAC,EAAE,EAAQ/N,EAAEJ,EAAE,OAAOA,EAAE,OAAO,GAAGE,EAAEE,EAAE,OAAO,KAAK,IAAMI,EAAE,KAAK,KAAKJ,EAAEF,EAAE,CAAO,EAAE,EAAEM,EAAQ,EAAE,EAAEA,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAEP,EAAE,CAAC,KAAK,GAAG,EAAEA,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK,kBAAkBD,EAAE,OAAO,EAAEA,EAAE,OAAOA,EAAE,OAAO,gBAAgB,EAAE,CAAC,IAAMC,EAAED,EAAE,OAAO,IAAI,KAAK,UAAU,CAAC,GAAOC,IAAJ,EAAM,OAAWD,EAAE,gBAAgB,KAAK,OAAO,GAAlC,EAAmC,EAAE,KAAK,IAAM,EAAE,EAAE,KAAK,OAAO,IAAIA,EAAE,OAAO,CAACA,EAAE,UAAUC,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,eAAe,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,gBAAgBD,EAAE,CAAC,OAAc,IAAP,KAAS,KAAK,KAAK,GAAG,EAAEC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAMA,EAAED,EAAE,gBAAgB,KAAK,OAAO,CAA2D,OAAnDC,IAAJ,EAAa,GAAaD,EAAE,OAAO,IAAI,KAAK,UAAU,CAAUC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAQC,EAAE,EAAE,KAAK,UAAU,EAAEC,EAAE,EAAE,KAAK,UAAU,EAAEC,EAAE,EAAE,KAAK,UAAU,EAAQC,EAAE,KAAK,OAAyY,OAA/XH,GAAG,GAAG,GAAGT,EAAE,IAAI,EAAEY,EAAE,GAAGH,EAAE,GAAGT,EAAE,IAAI,EAAEY,EAAE,GAAGH,IAAO,GAAGT,EAAE,IAAI,EAAEY,EAAE,GAAGH,EAAE,GAAGT,EAAE,IAAI,EAAEY,EAAE,GAAGH,GAAKC,GAAG,GAAG,GAAGV,EAAE,IAAI,EAAEY,EAAE,GAAGF,EAAE,GAAGV,EAAE,IAAI,EAAEY,EAAE,GAAGF,IAAO,GAAGV,EAAE,IAAI,EAAEY,EAAE,GAAGF,EAAE,GAAGV,EAAE,IAAI,EAAEY,EAAE,GAAGF,GAAK,EAAEF,GAAGJ,EAAEF,KAAeE,EAAE,GAAG,IAAI,KAAK,EAAEA,IAAII,EAAEN,GAAGA,IAAIA,KAAK,EAAEM,GAAMG,GAAG,GAAG,GAAGX,EAAE,IAAI,EAAEY,EAAE,GAAGD,EAAE,GAAGX,EAAE,IAAI,EAAEY,EAAE,GAAGD,IAAO,GAAGX,EAAE,IAAI,EAAEY,EAAE,GAAGD,EAAE,GAAGX,EAAE,IAAI,EAAEY,EAAE,GAAGD,GAAK,EAAE,GAAG,EAAET,GAAS,OAAM,EAAE,GAAG,IAAI,KAAK,EAAE,IAAI,EAAEA,GAAGA,IAAIA,KAAK,EAAE,GAAUA,EAAE,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,EAAEA,EAAED,EAAE,EAAC,cAAc,EAAE,CAAC,OAAc,KAAK,aAAaD,EAAEmO,GAAG,GAA9B,KAA+B,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAWlO,EAAED,EAAE,CAAC,GAAG,WAAW,EAAEA,EAAE,CAAC,GAAG,aAAauO,GAAGC,GAAG,CAAC,IAAIhO,EAAE,KAAK,UAAU,IAAIiO,GAAG,CAAK,EAAE,GAAGjO,EAAE,EAAE,CAAC,GAAGN,EAAE,OAAO,KAAK,EAAE,MAAM,CAAC,GAAG,EAAEM,EAAE,GAAG,OAAO,KAAK,EAAE,GAAG,EAAE,CAACA,EAAE,GAAG,WAAW,KAAK,OAAOR,EAAE,CAAC,IAAM,EAAE,EAAE,KAAK,UAAU,IAAIwO,GAAG,aAAaF,GAAGE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,KAAK,IAAM/N,EAAE,EAAE,KAAK,UAAU,IAAI8N,GAAG,MAAMD,GAAG,CAAC,CAAoB,GAAhB7N,EAAE,GAAiB,EAAEA,EAAED,EAAE,OAAO,KAAK,IAAME,EAAE,CAAC,EAAE4N,GAAG,IAAIG,GAAG,CAAC,OAAO/N,EAAE,EAAE,KAAK,KAAK,GAAGA,EAAEF,EAAEJ,EAAE,CAAC,aAAa,EAAE,CAAkE,OAAjE,KAAK,OAAO,aAAaJ,EAAE,CAAC,KAAK,UAAU,mBAAmBA,EAAE,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,OAAO,OAAO,KAAK,OAAO,EAAEA,EAAE,UAAU,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,GAAQ,EAAN,MAAM,CAAO,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,OAAO,GAAG,QAAQ,MAAM,gFAAgF,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMiC,EAAE,KAAK,SAA+H,MAAtH,GAAE,GAAGjC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIC,EAAE,EAAE,GAAGE,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAI,EAAS,KAAK,UAAU,CAA2C,OAA1C,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,OAAO,CAAC,OAAO,IAAI,GAAO,CAAE,UAAU,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,IAAMd,EAAE,KAAK,SAAe,EAAED,EAAE,SAAqL,MAA5K,GAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAW,KAAK,aAAa,EAAE,CAAC,IAAMC,EAAE,KAAK,SAAS,EAAED,EAAE,SAA6C,MAApC,GAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAW,KAAK,eAAe,EAAE,CAAC,IAAMC,EAAED,EAAE,SAA8E,OAArE,KAAK,IAAIC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,aAAa,EAAE,EAAE,EAAE,CAA2F,OAA1F,EAAE,oBAAoB,KAAK,EAAE,CAAC,EAAE,oBAAoB,KAAK,EAAE,CAAC,EAAE,oBAAoB,KAAK,EAAE,CAAQ,KAAK,UAAU,EAAE,EAAE,EAAE,CAA6D,OAA5D,KAAK,IAAID,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,gBAAgB,EAAE,CAAC,IAAMA,EAAE,KAAK,SAAe,EAAED,EAAE,SAAeE,EAAE,EAAEwO,GAAG,oBAAoB1O,EAAE,EAAE,CAAC,QAAQ,CAAOI,EAAE,EAAEsO,GAAG,oBAAoB1O,EAAE,EAAE,CAAC,QAAQ,CAAOQ,EAAE,EAAEkO,GAAG,oBAAoB1O,EAAE,EAAE,CAAC,QAAQ,CAAqK,MAApK,GAAE,GAAG,EAAE,GAAGE,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAGE,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAGI,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,IAAI,EAAE,IAAIA,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAS,KAAK,sBAAsB,EAAE,CAAC,GAAGR,EAAE,SAAS,QAAQ,MAAM,wGAAwG,CAAC,IAAMC,EAAE,KAAK,SAAe,EAAED,EAAE,EAAEE,EAAEF,EAAE,EAAEI,EAAEJ,EAAE,EAAQQ,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAO,EAAE,KAAK,IAAIN,EAAE,CAACO,EAAE,KAAK,IAAIP,EAAE,CAAOQ,EAAE,KAAK,IAAIN,EAAE,CAACO,EAAE,KAAK,IAAIP,EAAE,CAAC,GAAWJ,EAAE,QAAV,MAAgB,CAAC,IAAMA,EAAEQ,EAAEE,EAAES,EAAEX,EAAEG,EAAET,EAAE,EAAEQ,EAAEN,EAAE,EAAEO,EAAE,EAAE,GAAG,EAAED,EAAE,EAAE,GAAG,CAAC,EAAEC,EAAE,EAAE,GAAGF,EAAE,EAAE,GAAGU,EAAEjB,EAAEO,EAAE,EAAE,GAAGT,EAAEI,EAAEK,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAGL,EAAEJ,EAAES,EAAE,EAAE,GAAGP,EAAEiB,EAAEV,EAAE,EAAE,IAAID,EAAE,UAAkBR,EAAE,QAAV,MAAgB,CAAC,IAAMA,EAAE,EAAEU,EAAES,EAAE,EAAER,EAAET,EAAEO,EAAEC,EAAEN,EAAEK,EAAEE,EAAE,EAAE,GAAGX,EAAEI,EAAE,EAAE,EAAE,GAAGF,EAAE,EAAEiB,EAAE,EAAE,GAAGX,EAAEC,EAAE,EAAE,GAAGD,EAAEG,EAAE,EAAE,GAAGH,EAAEE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAGS,EAAE,EAAEjB,EAAE,EAAE,GAAGE,EAAEJ,EAAE,EAAE,EAAE,IAAIQ,EAAE,UAAkBR,EAAE,QAAV,MAAgB,CAAC,IAAMA,EAAE,EAAEU,EAAES,EAAE,EAAER,EAAET,EAAEO,EAAEC,EAAEN,EAAEK,EAAEE,EAAE,EAAE,GAAGX,EAAEI,EAAE,EAAE,EAAE,GAAG,CAACI,EAAEG,EAAE,EAAE,GAAGT,EAAEiB,EAAE,EAAE,EAAE,GAAGA,EAAEjB,EAAE,EAAE,EAAE,GAAGM,EAAEE,EAAE,EAAE,GAAGN,EAAEJ,EAAE,EAAE,EAAE,GAAG,CAACQ,EAAEC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAID,EAAE,UAAkBR,EAAE,QAAV,MAAgB,CAAC,IAAMA,EAAEQ,EAAEE,EAAES,EAAEX,EAAEG,EAAET,EAAE,EAAEQ,EAAEN,EAAE,EAAEO,EAAE,EAAE,GAAG,EAAED,EAAE,EAAE,GAAGR,EAAEO,EAAEU,EAAE,EAAE,GAAGnB,EAAES,EAAEL,EAAE,EAAE,GAAG,EAAEO,EAAE,EAAE,GAAGP,EAAEK,EAAET,EAAE,EAAE,GAAGmB,EAAEV,EAAEP,EAAE,EAAE,GAAG,CAACO,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAID,EAAE,UAAkBR,EAAE,QAAV,MAAgB,CAAC,IAAMA,EAAEQ,EAAE,EAAEW,EAAEX,EAAEC,EAAEP,EAAE,EAAE,EAAEE,EAAE,EAAEK,EAAE,EAAE,GAAG,EAAEC,EAAE,EAAE,GAAGN,EAAEJ,EAAEW,EAAE,EAAE,GAAGT,EAAES,EAAEQ,EAAE,EAAE,GAAGR,EAAE,EAAE,GAAGH,EAAEE,EAAE,EAAE,GAAG,CAAC,EAAEA,EAAE,EAAE,GAAG,CAACD,EAAEC,EAAE,EAAE,GAAGS,EAAER,EAAET,EAAE,EAAE,IAAIF,EAAEI,EAAEO,UAAkBX,EAAE,QAAV,MAAgB,CAAC,IAAMA,EAAEQ,EAAE,EAAEW,EAAEX,EAAEC,EAAEP,EAAE,EAAE,EAAEE,EAAE,EAAEK,EAAE,EAAE,GAAG,EAAEC,EAAE,EAAE,GAAG,CAACC,EAAE,EAAE,GAAGF,EAAEC,EAAE,EAAE,GAAGV,EAAEW,EAAEP,EAAE,EAAE,GAAGI,EAAEE,EAAE,EAAE,GAAGS,EAAER,EAAET,EAAE,EAAE,GAAGA,EAAES,EAAEQ,EAAE,EAAE,GAAG,EAAET,EAAE,EAAE,IAAIN,EAAEO,EAAEX,EAAwD,MAAtD,GAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAS,KAAK,2BAA2B,EAAE,CAAC,OAAO,KAAK,QAAQ2O,GAAG3O,EAAE4O,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,IAAM1O,EAAE,KAAK,SAAiU,OAAxT,GAAG,WAAWF,EAAEC,EAAE,CAAK4O,GAAG,UAAU,GAAjB,IAAoB,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,GAAG,aAAa,EAAEA,GAAG,CAAQC,GAAG,UAAU,GAAjB,IAAuB,KAAK,IAAI,EAAE,EAAE,GAAjB,EAAkB,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,WAAW,CAAC,GAAG,aAAa,EAAED,GAAG,EAAC,GAAG,WAAW,CAAC,GAAG,aAAaA,GAAGC,GAAG,CAAC,EAAE,GAAGA,GAAG,EAAE,EAAE,GAAGC,GAAG,EAAE,EAAE,GAAGF,GAAG,EAAE,EAAE,GAAGC,GAAG,EAAE,EAAE,GAAGC,GAAG,EAAE,EAAE,GAAGF,GAAG,EAAE,EAAE,GAAGC,GAAG,EAAE,EAAE,GAAGC,GAAG,EAAE,EAAE,IAAIF,GAAG,EAAS,KAAK,SAAS,EAAE,EAAE,CAAmK,OAAtJ5O,IAAT,IAAK,GAAiK,KAAK,iBAAiB,KAAKD,EAAE,EAAvL,QAAQ,KAAK,mGAAmG,CAAQ,KAAK,iBAAiBA,EAAEC,EAAE,EAAsC,YAAY,EAAE,CAAC,OAAO,KAAK,iBAAiBD,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,SAAeE,EAAED,EAAE,SAAeG,EAAE,KAAK,SAAeI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAUC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAUC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIkB,EAAE,EAAE,IAAUC,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAUsC,EAAE5E,EAAE,GAAG6E,EAAE7E,EAAE,GAAG8E,EAAE9E,EAAE,GAAGiF,EAAEjF,EAAE,IAAUkF,EAAElF,EAAE,GAAGmF,EAAEnF,EAAE,GAAGoF,EAAEpF,EAAE,GAAGqF,EAAErF,EAAE,IAAUsF,EAAEtF,EAAE,GAAGuF,EAAEvF,EAAE,GAAGwF,EAAExF,EAAE,IAAImL,EAAEnL,EAAE,IAAUoL,EAAEpL,EAAE,GAAGwH,EAAExH,EAAE,GAAGsH,GAAEtH,EAAE,IAAIuH,GAAEvH,EAAE,IAA0V,MAAtV,GAAE,GAAGM,EAAEsE,EAAE,EAAEM,EAAE,EAAEI,EAAE/E,EAAE6K,EAAE,EAAE,GAAG9K,EAAEuE,EAAE,EAAEM,EAAE,EAAEI,EAAEhF,EAAEiH,EAAE,EAAE,GAAGlH,EAAEwE,EAAE,EAAEM,EAAE,EAAEI,EAAEjF,EAAE+G,GAAE,EAAE,IAAIhH,EAAE2E,EAAE,EAAEI,EAAE,EAAE8F,EAAE5K,EAAEgH,GAAE,EAAE,GAAG/G,EAAEoE,EAAEnE,EAAEyE,EAAExE,EAAE4E,EAAE3E,EAAEyK,EAAE,EAAE,GAAG5K,EAAEqE,EAAEpE,EAAE0E,EAAEzE,EAAE6E,EAAE5E,EAAE6G,EAAE,EAAE,GAAGhH,EAAEsE,EAAErE,EAAE2E,EAAE1E,EAAE8E,EAAE7E,EAAE2G,GAAE,EAAE,IAAI9G,EAAEyE,EAAExE,EAAE4E,EAAE3E,EAAEyK,EAAExK,EAAE4G,GAAE,EAAE,GAAG3G,EAAEgE,EAAE/D,EAAEqE,EAAE,EAAEI,EAAEvD,EAAEqJ,EAAE,EAAE,GAAGxK,EAAEiE,EAAEhE,EAAEsE,EAAE,EAAEI,EAAExD,EAAEyF,EAAE,EAAE,IAAI5G,EAAEkE,EAAEjE,EAAEuE,EAAE,EAAEI,EAAEzD,EAAEuF,GAAE,EAAE,IAAI1G,EAAEqE,EAAEpE,EAAEwE,EAAE,EAAE8F,EAAEpJ,EAAEwF,GAAE,EAAE,GAAGvF,EAAE4C,EAAExC,EAAE8C,EAAE7C,EAAEiD,EAAEhD,EAAE8I,EAAE,EAAE,GAAGpJ,EAAE6C,EAAEzC,EAAE+C,EAAE9C,EAAEkD,EAAEjD,EAAEkF,EAAE,EAAE,IAAIxF,EAAE8C,EAAE1C,EAAEgD,EAAE/C,EAAEmD,EAAElD,EAAEgF,GAAE,EAAE,IAAItF,EAAEiD,EAAE7C,EAAEiD,EAAEhD,EAAE8I,EAAE7I,EAAEiF,GAAS,KAAK,eAAe,EAAE,CAAC,IAAMxH,EAAE,KAAK,SAA+I,MAAtI,GAAE,IAAID,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAS,KAAK,aAAa,CAAC,IAAMA,EAAE,KAAK,SAAeC,EAAED,EAAE,GAAG,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,IAAUQ,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGS,EAAET,EAAE,IAAUU,EAAEV,EAAE,GAAGW,EAAEX,EAAE,GAAGY,EAAEZ,EAAE,IAAIa,EAAEb,EAAE,IAAUc,EAAEd,EAAE,GAAGe,EAAEf,EAAE,GAAG,EAAEA,EAAE,IAAIiC,EAAEjC,EAAE,IAAI,OAAOc,GAAG,CAACV,EAAE,EAAEO,EAAET,EAAEO,EAAEE,EAAEP,EAAE,EAAEQ,EAAE,EAAEH,EAAEG,EAAEV,EAAE,EAAEW,EAAE,EAAE,EAAEA,GAAGE,GAAG,CAACd,EAAE,EAAEY,EAAEZ,EAAEQ,EAAEG,EAAER,EAAEI,EAAEI,EAAEV,EAAEM,EAAEK,EAAEX,EAAEO,EAAEC,EAAEN,EAAE,EAAEM,GAAG,GAAG,CAACT,EAAEQ,EAAEE,EAAEV,EAAE,EAAEY,EAAET,EAAEI,EAAEG,EAAE,EAAEH,EAAEK,EAAET,EAAE,EAAEM,EAAE,EAAED,EAAEC,GAAGuB,GAAG,CAAC/B,EAAE,EAAEQ,EAAET,EAAE,EAAEU,EAAEV,EAAE,EAAEW,EAAEV,EAAEM,EAAEG,EAAE,EAAEH,EAAEI,EAAE,EAAE,EAAEF,GAAG,WAAW,CAAC,IAAMV,EAAE,KAAK,SAAaC,EAA0J,MAAxJ,GAAED,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,GAAGA,EAAE,IAAI,EAAE,IAAIC,EAAE,EAAED,EAAE,GAAG,EAAE,GAAGA,EAAE,IAAI,EAAE,IAAIC,EAAE,EAAED,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIC,EAAS,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAK,SAAoF,OAAxEF,EAAE,WAAW,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAIA,EAAE,IAAO,EAAE,IAAIA,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAI,GAAS,KAAK,QAAQ,CAAC,IAAMD,EAAE,KAAK,SAASC,EAAED,EAAE,GAAG,EAAEA,EAAE,GAAGE,EAAEF,EAAE,GAAGI,EAAEJ,EAAE,GAAGQ,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGS,EAAET,EAAE,GAAGU,EAAEV,EAAE,GAAGW,EAAEX,EAAE,GAAGY,EAAEZ,EAAE,IAAIa,EAAEb,EAAE,IAAIc,EAAEd,EAAE,IAAIe,EAAEf,EAAE,IAAI,EAAEA,EAAE,IAAIiC,EAAEjC,EAAE,IAAIkC,EAAEvB,EAAE,EAAEF,EAAEM,EAAEH,EAAEH,EAAEM,EAAE,EAAEF,EAAE,EAAE,EAAEA,EAAEF,EAAE,EAAEsB,EAAE,EAAErB,EAAEqB,EAAEK,EAAExB,EAAEF,EAAEH,EAAEC,EAAE,EAAED,EAAEK,EAAE,EAAED,EAAEL,EAAE,EAAEK,EAAEH,EAAE,EAAEuB,EAAEzB,EAAEI,EAAEqB,EAAEM,EAAE7B,EAAEK,EAAEN,EAAEK,EAAEH,EAAEF,EAAEK,EAAE,EAAED,EAAEL,EAAEO,EAAEF,EAAEH,EAAE,EAAEuB,EAAEzB,EAAEG,EAAEsB,EAAEO,EAAE1B,EAAEH,EAAE,EAAED,EAAEK,EAAE,EAAED,EAAE,EAAEF,EAAEJ,EAAEO,EAAEH,EAAEF,EAAE,EAAE,EAAEF,EAAEG,EAAE,EAAQmE,EAAE7E,EAAEiC,EAAE,EAAEI,EAAEpC,EAAEqC,EAAEnC,EAAEoC,EAAE,GAAOsC,IAAJ,EAAM,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,EAAED,EAAwkB,MAAtkB,GAAE,GAAG5C,EAAE6C,EAAE,EAAE,IAAIhE,EAAEH,EAAER,EAAEO,EAAE,EAAEP,EAAEW,EAAEb,EAAEW,EAAE,EAAE,EAAEA,EAAEF,EAAET,EAAE+B,EAAE,EAAErB,EAAEqB,GAAG8C,EAAE,EAAE,IAAI,EAAE,EAAE3E,EAAEW,EAAE,EAAEX,EAAEW,EAAEb,EAAEO,EAAE,EAAE,EAAEA,EAAE,EAAEP,EAAE+B,EAAE,EAAE,EAAEA,GAAG8C,EAAE,EAAE,IAAIpE,EAAE,EAAEP,EAAE,EAAEQ,EAAER,EAAEO,EAAET,EAAEO,EAAE,EAAEG,EAAEH,EAAE,EAAEP,EAAEW,EAAE,EAAE,EAAEA,GAAGkE,EAAE,EAAE,GAAGzC,EAAEyC,EAAE,EAAE,IAAIrE,EAAE,EAAEN,EAAEU,EAAEF,EAAER,EAAEU,EAAEZ,EAAEW,EAAEZ,EAAE,EAAEY,EAAEH,EAAER,EAAE+B,EAAEhC,EAAEW,EAAEqB,GAAG8C,EAAE,EAAE,IAAIjE,EAAE,EAAEV,EAAEI,EAAE,EAAEJ,EAAEU,EAAEZ,EAAEO,EAAER,EAAE,EAAEQ,EAAED,EAAEN,EAAE+B,EAAEhC,EAAE,EAAEgC,GAAG8C,EAAE,EAAE,IAAIvE,EAAEI,EAAER,EAAEM,EAAE,EAAEN,EAAEM,EAAER,EAAEO,EAAER,EAAEW,EAAEH,EAAED,EAAEN,EAAEW,EAAEZ,EAAE,EAAEY,GAAGkE,EAAE,EAAE,GAAGxC,EAAEwC,EAAE,EAAE,IAAIjE,EAAEH,EAAEP,EAAEM,EAAEK,EAAEX,EAAEU,EAAE,EAAED,EAAEZ,EAAEc,EAAEF,EAAEH,EAAE,EAAEuB,EAAEhC,EAAEU,EAAEsB,GAAG8C,EAAE,EAAE,KAAKvE,EAAEO,EAAEX,EAAEU,EAAE,EAAEV,EAAEU,EAAE,EAAEL,EAAER,EAAEc,EAAEN,EAAED,EAAE,EAAEyB,EAAEhC,EAAE,EAAEgC,GAAG8C,EAAE,EAAE,KAAKrE,EAAE,EAAEN,EAAEI,EAAEG,EAAEP,EAAEM,EAAE,EAAED,EAAER,EAAEU,EAAEF,EAAED,EAAE,EAAEK,EAAEZ,EAAE,EAAEY,GAAGkE,EAAE,EAAE,IAAIvC,EAAEuC,EAAE,EAAE,KAAKrE,EAAEK,EAAEb,EAAEY,EAAEH,EAAET,EAAEY,EAAE,EAAEF,EAAEX,EAAEc,EAAEH,EAAEF,EAAE,EAAE,EAAET,EAAEU,EAAE,GAAGoE,EAAE,EAAE,KAAKjE,EAAE,EAAEZ,EAAEM,EAAEO,EAAEb,EAAEY,EAAE,EAAE,EAAEb,EAAEc,EAAE,EAAEP,EAAE,EAAE,EAAEP,EAAE,EAAE,GAAG8E,EAAE,EAAE,KAAKvE,EAAEG,EAAET,EAAEQ,EAAE,EAAER,EAAEQ,EAAE,EAAE,EAAET,EAAEU,EAAE,EAAEH,EAAE,EAAEI,EAAEX,EAAE,EAAEW,GAAGmE,EAAS,KAAK,MAAM,EAAE,CAAC,IAAM9E,EAAE,KAAK,SAAe,EAAED,EAAE,EAAEE,EAAEF,EAAE,EAAEI,EAAEJ,EAAE,EAAoG,MAAlG,GAAE,IAAI,EAAE,EAAE,IAAIE,EAAE,EAAE,IAAIE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAIF,EAAE,EAAE,IAAIE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAIF,EAAE,EAAE,KAAKE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAIF,EAAE,EAAE,KAAKE,EAAS,KAAK,mBAAmB,CAAC,IAAMJ,EAAE,KAAK,SAAeC,EAAED,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAS,EAAEA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAASE,EAAEF,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAI,OAAO,KAAK,KAAK,KAAK,IAAIC,EAAE,EAAEC,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAA2C,OAA1C,KAAK,IAAI,EAAE,EAAE,EAAEF,EAAE,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,IAAMA,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAA4C,OAA3C,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,IAAMA,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAA4C,OAA3C,KAAK,IAAIC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,IAAMA,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAA4C,OAA3C,KAAK,IAAIC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,iBAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,IAAIA,EAAE,CAAOC,EAAE,KAAK,IAAID,EAAE,CAAOG,EAAE,EAAE,EAAQI,EAAER,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAQS,EAAEL,EAAEI,EAAEE,EAAEN,EAAE,EAA8F,OAA5F,KAAK,IAAIK,EAAED,EAAE,EAAEC,EAAE,EAAEP,EAAE,EAAEO,EAAE,EAAEP,EAAE,EAAE,EAAEO,EAAE,EAAEP,EAAE,EAAEQ,EAAE,EAAE,EAAEA,EAAE,EAAER,EAAEM,EAAE,EAAEC,EAAE,EAAEP,EAAE,EAAEQ,EAAE,EAAER,EAAEM,EAAEJ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,UAAU,EAAE,EAAE,EAAE,CAA2C,OAA1C,KAAK,IAAIJ,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAA2C,OAA1C,KAAK,IAAI,EAAE,EAAEG,EAAE,EAAEJ,EAAE,EAAEQ,EAAE,EAAEP,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAE,KAAK,SAAeE,EAAEH,EAAE,GAAGO,EAAEP,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAASQ,EAAEL,EAAEA,EAAEM,EAAEF,EAAEA,EAAEG,EAAE,EAAE,EAAQC,EAAER,EAAEK,EAAEI,EAAET,EAAEM,EAAEI,EAAEV,EAAEO,EAAQI,EAAEP,EAAEE,EAAE,EAAEF,EAAEG,EAAEsB,EAAE,EAAEtB,EAAQuB,EAAE,EAAEzB,EAAE6B,EAAE,EAAE5B,EAAE6B,EAAE,EAAE5B,EAAQ6B,EAAE,EAAE,EAAEsC,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAgM,MAA9L,GAAE,IAAI,GAAGhE,EAAEkB,IAAIO,EAAE,EAAE,IAAI3B,EAAE0B,GAAGC,EAAE,EAAE,IAAI1B,EAAEwB,GAAGE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI3B,EAAE0B,GAAGuC,EAAE,EAAE,IAAI,GAAGlE,EAAEqB,IAAI6C,EAAE,EAAE,IAAI,EAAE5C,GAAG4C,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIhE,EAAEwB,GAAGyC,EAAE,EAAE,IAAI,EAAE7C,GAAG6C,EAAE,EAAE,KAAK,GAAGnE,EAAEG,IAAIgE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI/E,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAI,EAAS,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAAK,SAAaE,EAAEsO,GAAG,IAAIxO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,QAAQ,CAAOM,EAAEkO,GAAG,IAAIxO,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,QAAQ,CAAO,EAAEwO,GAAG,IAAIxO,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAC,QAAQ,CAAS,KAAK,aAAa,CAAG,IAAI,EAAE,CAACE,GAAG,EAAE,EAAEF,EAAE,IAAI,EAAE,EAAEA,EAAE,IAAI,EAAE,EAAEA,EAAE,IAAI,GAAG,KAAK,KAAK,CAAC,IAAMO,EAAE,EAAEL,EAAQM,EAAE,EAAEF,EAAQG,EAAE,EAAE,EAAmN,MAAjN,IAAG,SAAS,IAAIF,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIC,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIC,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,KAAKA,EAAE,EAAE,sBAAsBqO,GAAG,CAAC,EAAE,EAAE5O,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAS,KAAK,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAUA,IAAT,IAAK,IAAO,QAAQ,KAAK,uGAAuG,CAAC,IAAM,EAAE,KAAK,SAAe,EAAE,EAAEJ,GAAGH,EAAED,GAASS,EAAE,EAAEL,GAAG,EAAEF,GAASQ,GAAGT,EAAED,IAAIC,EAAED,GAASW,GAAG,EAAET,IAAI,EAAEA,GAASU,EAAE,EAAEJ,EAAEJ,IAAII,EAAEJ,GAASS,EAAE,GAAGL,EAAEJ,GAAGI,EAAEJ,GAA0H,MAAvH,GAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGM,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGD,EAAE,EAAE,GAAGE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,EAAS,KAAK,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAe,EAAE,GAAGZ,EAAED,GAASS,EAAE,GAAG,EAAEP,GAASQ,EAAE,GAAGF,EAAEJ,GAASO,GAAGV,EAAED,GAAG,EAAQY,GAAG,EAAEV,GAAGO,EAAQI,GAAGL,EAAEJ,GAAGM,EAAkI,MAAhI,GAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAACC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAEF,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAACG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAGF,EAAE,EAAE,IAAI,CAACG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAS,KAAK,OAAO,EAAE,CAAC,IAAMZ,EAAE,KAAK,SAAe,EAAED,EAAE,SAAS,IAAI,IAAIA,EAAE,EAAEA,EAAE,GAAG,IAAI,GAAGC,EAAED,KAAK,EAAEA,GAAG,MAAO,GAAM,MAAO,GAAK,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,KAAK,SAAS,GAAGA,EAAE,EAAEC,GAAG,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAmN,MAA1M,GAAEA,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,IAAWD,IAAG,EAAQ,UAAU,UAAU,GAAW0O,GAAG,IAAI,EAAcM,GAAG,IAAI,EAAcL,GAAG,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAOC,GAAG,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAOE,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcF,GAAG,IAAI,EAAcI,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAiB,GAAN,MAAM,CAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,aAAa,CAAC,KAAK,GAAGlP,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,KAAK,OAAOC,EAAE,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGF,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,KAAK,OAAOA,EAAE,KAAK,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,OAAO,CAAsE,MAArE,MAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,KAAK,OAAOC,EAAE,KAAK,mBAAmB,CAAQ,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,KAAK,EAAE,CAAsF,MAArF,MAAK,GAAGF,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,OAAOA,EAAE,OAAO,KAAK,mBAAmB,CAAQ,KAAK,sBAAsB,EAAE,EAAE,KAAK,OAAO,EAAE,GAAK,CAAC,IAAME,EAAEF,EAAE,SAAeI,EAAEF,EAAE,GAAGM,EAAEN,EAAE,GAAG,EAAEA,EAAE,GAAS,EAAEA,EAAE,GAAGO,EAAEP,EAAE,GAAGQ,EAAER,EAAE,GAASS,EAAET,EAAE,GAAGU,EAAEV,EAAE,GAAGW,EAAEX,EAAE,IAAI,OAAOD,EAAP,CAAU,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,GAAM,EAAE,GAAG,EAAE,CAAC,CAAI,KAAK,IAAI,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,CAACS,EAAEG,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAACL,EAAEJ,EAAE,GAAM,KAAK,GAAG,KAAK,MAAMQ,EAAEH,EAAE,CAAC,KAAK,GAAG,GAAE,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,GAAMC,EAAE,GAAG,EAAE,CAAC,CAAI,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,EAAEG,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,EAAEJ,EAAE,GAAM,KAAK,GAAG,KAAK,MAAM,CAACE,EAAEP,EAAE,CAAC,KAAK,GAAG,GAAE,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,GAAMQ,EAAE,GAAG,EAAE,CAAC,CAAI,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,CAACD,EAAEE,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAACL,EAAEC,EAAE,GAAM,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,EAAEL,EAAE,EAAC,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,GAAMO,EAAE,GAAG,EAAE,CAAC,CAAI,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAMC,EAAEC,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,EAAET,EAAE,GAAM,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,CAACI,EAAEC,EAAE,EAAC,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,GAAM,EAAE,GAAG,EAAE,CAAC,CAAI,KAAK,IAAI,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,CAACC,EAAED,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAACE,EAAEP,EAAE,GAAM,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,EAAES,EAAE,EAAC,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,GAAML,EAAE,GAAG,EAAE,CAAC,CAAI,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAMI,EAAEH,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,EAAEL,EAAE,GAAM,KAAK,GAAG,KAAK,MAAM,CAACM,EAAEG,EAAE,CAAC,KAAK,GAAG,GAAE,MAAM,QAAQ,QAAQ,KAAK,uEAAuEZ,EAAE,CAAkD,MAAjD,MAAK,OAAOA,EAAE,KAAO,GAAG,KAAK,mBAAmB,CAAQ,KAAK,kBAAkB,EAAE,EAAE,EAAE,CAAkC,OAAjC,GAAG,2BAA2BD,EAAE,CAAQ,KAAK,sBAAsBiP,GAAGhP,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC,OAAO,KAAK,IAAID,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEC,EAAE,CAAC,QAAQ,EAAE,CAAuB,OAAtB,GAAG,aAAa,KAAK,CAAQ,KAAK,kBAAkBiP,GAAGlP,EAAE,CAAC,OAAO,EAAE,CAAC,OAAOA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,SAAS,KAAK,OAAO,UAAU,EAAE,CAAmG,MAAlG,MAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAYA,EAAE,KAAX,IAAK,KAAW,KAAK,OAAOA,EAAE,IAAI,KAAK,mBAAmB,CAAQ,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAA+D,MAA9D,GAAEC,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,OAAcD,EAAE,UAAU,EAAE,CAAC,OAAOA,EAAEA,EAAE,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,IAAI,EAAQ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,UAAU,EAAE,CAA0B,MAAzB,MAAK,kBAAkBA,EAAS,KAAK,mBAAmB,IAAG,GAAM,UAAU,QAAQ,GAAK,GAAM,aAAa,MAAM,GAAM,eAAe,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,CAAO,GAAN,KAAY,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,GAAGA,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,GAAGA,EAAE,EAAE,WAAW,CAAC,KAAK,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,MAAM,GAAGA,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,MAAM,EAAE,GAAGA,EAAE,GAAG,YAAY,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,CAAC,OAAY,KAAK,KAAKA,EAAE,QAAjB,EAAuB,UAAU,EAAE,CAAC,OAAY,KAAK,MAAM,GAAGA,EAAE,KAArB,IAA8BmP,GAAG,EAAQC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAiBC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAiBC,GAAG,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAOC,GAAG,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAOC,GAAG,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAOC,GAAG,CAAC,KAAK,QAAQ,CAAOC,GAAG,CAAC,KAAK,UAAU,CAAO,GAAN,MAAM,UAAiB,EAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAc,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,WAAW,KAAK,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC,KAAK,GAAG,EAAS,UAAU,OAAO,CAAC,IAAM/P,EAAE,IAAI,EAAcC,EAAE,IAAI,GAAY,EAAE,IAAI,GAAiBC,EAAE,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,SAAS,GAAkB,CAAC,EAAE,aAAaD,EAAE,GAAM,CAAC,SAAS,GAAoB,CAAC,EAAE,kBAAkB,EAAE,IAAK,GAAE,GAAM,CAAC,EAAE,UAAU,EAAiB,CAAC,EAAE,UAAU,EAAmB,CAAC,OAAO,iBAAiB,KAAK,CAAC,SAAS,CAAC,aAAa,GAAK,WAAW,GAAK,MAAMD,EAAE,CAAC,SAAS,CAAC,aAAa,GAAK,WAAW,GAAK,MAAMC,EAAE,CAAC,WAAW,CAAC,aAAa,GAAK,WAAW,GAAK,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,GAAK,WAAW,GAAK,MAAMC,EAAE,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAQ,CAAC,aAAa,CAAC,MAAM,IAAI,GAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,EAAQ,KAAK,YAAY,IAAI,EAAQ,KAAK,iBAAiB,EAAS,wBAAwB,KAAK,uBAAuB,GAAM,KAAK,OAAO,IAAI,GAAO,KAAK,QAAQ,GAAK,KAAK,WAAW,GAAM,KAAK,cAAc,GAAM,KAAK,cAAc,GAAK,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,KAAK,kBAAkB,KAAK,cAAc,CAAC,KAAK,OAAO,YAAYF,EAAE,CAAC,KAAK,OAAO,UAAU,KAAK,SAAS,KAAK,WAAW,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAgC,OAA/B,KAAK,WAAW,YAAYA,EAAE,CAAQ,KAAK,yBAAyB,EAAE,EAAE,CAAC,KAAK,WAAW,iBAAiBA,EAAEC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,WAAW,aAAaD,EAAE,GAAK,CAAC,sBAAsB,EAAE,CAAC,KAAK,WAAW,sBAAsBA,EAAE,CAAC,0BAA0B,EAAE,CAAC,KAAK,WAAW,KAAKA,EAAE,CAAC,aAAa,EAAE,EAAE,CAAuD,OAAtD,GAAG,iBAAiBA,EAAEC,EAAE,CAAC,KAAK,WAAW,SAASoP,GAAG,CAAQ,KAAK,kBAAkB,EAAE,EAAE,CAA0D,OAAzD,GAAG,iBAAiBrP,EAAEC,EAAE,CAAC,KAAK,WAAW,YAAYoP,GAAG,CAAQ,KAAK,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAaM,GAAG3P,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAa4P,GAAG5P,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAa6P,GAAG7P,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAqF,OAApF,GAAG,KAAKA,EAAE,CAAC,gBAAgB,KAAK,WAAW,CAAC,KAAK,SAAS,IAAIoP,GAAG,eAAenP,EAAE,CAAC,CAAQ,KAAK,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgB0P,GAAG3P,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgB4P,GAAG5P,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgB6P,GAAG7P,EAAE,CAAC,aAAa,EAAE,CAAC,OAAOA,EAAE,aAAa,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC,OAAOA,EAAE,aAAasP,GAAG,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,UAAUC,GAAG,KAAKvP,EAAE,CAACuP,GAAG,IAAIvP,EAAEC,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAK,OAAO,KAAK,kBAAkB,GAAK,GAAM,CAAC,GAAG,sBAAsB,KAAK,YAAY,CAAC,KAAK,UAAU,KAAK,QAAQoP,GAAG,OAAOE,GAAGD,GAAG,KAAK,GAAG,CAACD,GAAG,OAAOC,GAAGC,GAAG,KAAK,GAAG,CAAC,KAAK,WAAW,sBAAsBF,GAAG,CAAIpP,IAAG,GAAG,gBAAgBA,EAAE,YAAY,CAAC,GAAG,sBAAsBoP,GAAG,CAAC,KAAK,WAAW,YAAYD,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,OAAO,EAAE,CAAC,IAAI,IAAIrP,EAAE,EAAEA,EAAE,UAAU,OAAO,IAAI,KAAK,IAAI,UAAUA,GAAG,CAAC,OAAO,KAAuT,OAA/SA,IAAI,MAAM,QAAQ,MAAM,kEAAkEA,EAAE,CAAQ,OAAQA,GAAGA,EAAE,YAAmBA,EAAE,SAAT,MAAiBA,EAAE,OAAO,OAAOA,EAAE,CAAC,EAAE,OAAO,KAAK,KAAK,SAAS,KAAKA,EAAE,CAAC,EAAE,cAAc8P,GAAG,EAAM,QAAQ,MAAM,gEAAgE9P,EAAE,CAAQ,MAAK,OAAO,EAAE,CAAC,GAAG,UAAU,OAAO,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,UAAU,OAAO,IAAI,KAAK,OAAO,UAAUA,GAAG,CAAC,OAAO,KAAK,IAAMC,EAAE,KAAK,SAAS,QAAQD,EAAE,CAAwE,OAA/DC,IAAL,KAAQ,EAAE,OAAO,KAAK,KAAK,SAAS,OAAOA,EAAE,EAAE,CAAC,EAAE,cAAc8P,GAAG,EAAQ,KAAK,kBAAkB,CAAC,IAAM/P,EAAE,KAAK,OAAgC,OAAlBA,IAAP,MAAUA,EAAE,OAAO,KAAK,CAAQ,KAAK,OAAO,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,KAAK,SAAS,OAAO,IAAI,CAAC,IAAMC,EAAE,KAAK,SAASD,GAAG,EAAE,OAAO,KAAK,EAAE,cAAc+P,GAAG,CAAwB,MAAvB,MAAK,SAAS,OAAO,EAAS,KAAK,OAAO,EAAE,CAAmO,OAAlO,KAAK,kBAAkB,GAAK,GAAM,CAAC,GAAG,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAW/P,EAAE,SAAT,OAAiB,EAAE,OAAO,kBAAkB,GAAK,GAAM,CAAC,GAAG,SAASA,EAAE,OAAO,YAAY,EAAC,EAAE,aAAasP,GAAG,CAAC,KAAK,IAAItP,EAAE,CAAC,EAAE,kBAAkB,GAAM,GAAK,CAAQ,KAAK,cAAc,EAAE,CAAC,OAAO,KAAK,oBAAoB,KAAKA,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,oBAAoB,OAAOA,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,GAAG,KAAKA,KAAKC,EAAE,OAAO,KAAK,IAAI,IAAI,EAAE,EAAEC,EAAE,KAAK,SAAS,OAAO,EAAEA,EAAE,IAAI,CAA0B,IAAME,EAAvB,KAAK,SAAS,GAAa,oBAAoBJ,EAAEC,EAAE,CAAC,GAAYG,IAAT,IAAK,GAAM,OAAOA,GAAG,iBAAiB,EAAE,CAAoC,OAAnC,KAAK,kBAAkB,GAAK,GAAM,CAAQJ,EAAE,sBAAsB,KAAK,YAAY,CAAC,mBAAmB,EAAE,CAAwE,OAAvE,KAAK,kBAAkB,GAAK,GAAM,CAAC,KAAK,YAAY,UAAUwP,GAAGxP,EAAEyP,GAAG,CAAQzP,EAAE,cAAc,EAAE,CAAwE,OAAvE,KAAK,kBAAkB,GAAK,GAAM,CAAC,KAAK,YAAY,UAAUwP,GAAGE,GAAG1P,EAAE,CAAQA,EAAE,kBAAkB,EAAE,CAAC,KAAK,kBAAkB,GAAK,GAAM,CAAC,IAAMC,EAAE,KAAK,YAAY,SAAS,OAAOD,EAAE,IAAIC,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,IAAMA,EAAE,KAAK,SAAS,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,OAAO,EAAEC,EAAE,IAAI,EAAE,GAAG,SAASF,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAQ,KAAK,QAAQ,OAAO,EAAE,KAAK,CAAC,IAAMC,EAAE,KAAK,SAAS,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,OAAO,EAAEC,EAAE,IAAI,EAAE,GAAG,gBAAgBF,EAAE,CAAC,kBAAkB,EAAE,CAAC,IAAMC,EAAE,KAAK,OAAiBA,IAAP,OAAU,EAAEA,EAAE,CAAC,EAAE,kBAAkBD,EAAE,EAAE,cAAc,CAAC,KAAK,OAAO,QAAQ,KAAK,SAAS,KAAK,WAAW,KAAK,MAAM,CAAC,KAAK,uBAAuB,GAAK,kBAAkB,EAAE,CAAC,KAAK,kBAAkB,KAAK,cAAc,EAAI,KAAK,wBAAwBA,KAAU,KAAK,SAAZ,KAAmB,KAAK,YAAY,KAAK,KAAK,OAAO,CAAC,KAAK,YAAY,iBAAiB,KAAK,OAAO,YAAY,KAAK,OAAO,CAAC,KAAK,uBAAuB,GAAM,EAAE,IAAK,IAAMC,EAAE,KAAK,SAAS,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,OAAO,EAAEC,EAAE,IAAI,EAAE,GAAG,kBAAkBF,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAmO,GAA5N,KAAOA,GAAU,IAAP,MAAU,EAAE,kBAAkB,GAAK,GAAM,CAAC,KAAK,kBAAkB,KAAK,cAAc,CAAQ,KAAK,SAAZ,KAAmB,KAAK,YAAY,KAAK,KAAK,OAAO,CAAC,KAAK,YAAY,iBAAiB,KAAK,OAAO,YAAY,KAAK,OAAO,CAAI,KAAOC,EAAE,CAAC,IAAMD,EAAE,KAAK,SAAS,IAAI,IAAIC,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,EAAElB,GAAG,kBAAkB,GAAM,GAAK,EAAE,OAAO,EAAE,CAAC,IAAMA,EAAWD,IAAT,IAAK,IAAkB,OAAOA,GAAlB,SAA0B,EAAE,EAAE,CAAIC,IAAG,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK,SAAS,UAAU,kBAAkB,EAAC,IAAMC,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAU,KAAK,OAAV,KAAiB,EAAE,KAAK,KAAK,MAAM,KAAO,KAAK,aAAa,EAAE,WAAW,IAAM,KAAO,KAAK,gBAAgB,EAAE,cAAc,IAAM,KAAQ,KAAK,UAAU,EAAE,QAAQ,IAAO,KAAQ,KAAK,gBAAgB,EAAE,cAAc,IAAW,KAAK,cAAT,IAAuB,EAAE,YAAY,KAAK,aAAoB,KAAK,UAAU,KAAK,SAAS,GAApC,OAAuC,EAAE,SAAS,KAAK,UAAU,EAAE,OAAO,KAAK,OAAO,KAAK,EAAE,OAAO,KAAK,OAAO,SAAS,CAAC,KAAQ,KAAK,mBAAmB,EAAE,iBAAiB,IAAU,KAAK,kBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,MAAM,EAAE,eAAe,KAAK,eAAe,QAAQ,CAAQ,KAAK,gBAAZ,OAA4B,EAAE,cAAc,KAAK,cAAc,QAAQ,GAAE,SAAS,EAAU,EAAE,EAAE,CAA6C,OAAnCD,EAAEkB,EAAE,QAAb,IAAK,KAAgB,EAAEA,EAAE,MAAMA,EAAE,OAAOnB,EAAE,EAASmB,EAAE,KAAK,GAAG,KAAK,QAAS,KAAK,aAAa,KAAK,WAAW,QAAQ,EAAE,WAAW,KAAK,WAAW,QAAQ,CAAC,KAAK,WAAW,YAAY,EAAE,WAAW,KAAK,WAAW,OAAOnB,EAAE,CAAC,OAAO,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,cAAc,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,CAAC,EAAE,SAAS,EAAUA,EAAE,WAAW,KAAK,SAAS,CAAC,IAAMC,EAAE,KAAK,SAAS,WAAW,GAAYA,IAAT,IAAK,IAAgBA,EAAE,SAAX,IAAK,GAAa,CAAC,IAAMkB,EAAElB,EAAE,OAAO,GAAG,MAAM,QAAQkB,EAAE,CAAC,IAAI,IAAIlB,EAAE,EAAEC,EAAEiB,EAAE,OAAOlB,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAElB,GAAG,EAAUD,EAAE,OAAOE,EAAE,MAAM,EAAUF,EAAE,OAAOmB,EAAE,EAAwL,GAAnL,KAAK,gBAAe,EAAE,SAAS,KAAK,SAAS,EAAE,WAAW,KAAK,WAAW,SAAS,CAAa,KAAK,WAAd,IAAK,KAAmB,EAAUnB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE,SAAS,KAAK,SAAS,OAAkB,KAAK,WAAd,IAAK,GAAkB,GAAG,MAAM,QAAQ,KAAK,SAAS,CAAC,CAAC,IAAMC,EAAE,EAAE,CAAC,IAAI,IAAIkB,EAAE,EAAEjB,EAAE,KAAK,SAAS,OAAOiB,EAAEjB,EAAE,IAAI,EAAE,KAAK,EAAUF,EAAE,UAAU,KAAK,SAASmB,GAAG,CAAC,CAAC,EAAE,SAASlB,OAAO,EAAE,SAAS,EAAUD,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,KAAK,SAAS,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,SAAS,OAAO,IAAI,EAAE,SAAS,KAAK,KAAK,SAASA,GAAG,OAAOD,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,WAAW,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,WAAW,OAAO,IAAI,CAAC,IAAMkB,EAAE,KAAK,WAAWlB,GAAG,EAAE,WAAW,KAAK,EAAUD,EAAE,WAAWmB,EAAE,CAAC,EAAE,GAAGlB,EAAE,CAAC,IAAMA,EAAE,EAAiBD,EAAE,WAAW,CAAOE,EAAE,EAAiBF,EAAE,UAAU,CAAOI,EAAE,EAAiBJ,EAAE,SAAS,CAAOQ,EAAE,EAAiBR,EAAE,OAAO,CAAO,EAAE,EAAiBA,EAAE,OAAO,CAAO,EAAE,EAAiBA,EAAE,UAAU,CAAOS,EAAE,EAAiBT,EAAE,WAAW,CAAC,EAAE,OAAO,IAAI,EAAE,WAAWC,GAAG,EAAE,OAAO,IAAI,EAAE,UAAUC,GAAG,EAAE,OAAO,IAAI,EAAE,SAASE,GAAG,EAAE,OAAO,IAAI,EAAE,OAAOI,GAAG,EAAE,OAAO,IAAI,EAAE,OAAO,GAAG,EAAE,OAAO,IAAI,EAAE,UAAU,GAAG,EAAE,OAAO,IAAI,EAAE,WAAWC,GAAc,MAAX,GAAE,OAAOP,EAAS,EAAE,SAAS,EAAiB,EAAE,CAAC,IAAMD,EAAE,EAAE,CAAC,IAAI,IAAMkB,KAAKnB,EAAE,CAAC,IAAME,EAAEF,EAAEmB,GAAG,OAAOjB,EAAE,SAAS,EAAE,KAAKA,EAAE,CAAC,OAAOD,GAAG,MAAM,EAAE,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAKD,EAAE,CAAC,KAAK,EAAE,EAAE,GAAK,CAAgjB,GAA/iB,KAAK,KAAKA,EAAE,KAAK,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,SAAS,MAAMA,EAAE,SAAS,MAAM,KAAK,WAAW,KAAKA,EAAE,WAAW,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,uBAAuBA,EAAE,uBAAuB,KAAK,OAAO,KAAKA,EAAE,OAAO,KAAK,KAAK,QAAQA,EAAE,QAAQ,KAAK,WAAWA,EAAE,WAAW,KAAK,cAAcA,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAYA,EAAE,YAAY,KAAK,SAAS,KAAK,MAAM,KAAK,UAAUA,EAAE,SAAS,CAAC,CAAI,KAAOC,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAED,EAAE,SAAS,OAAO,IAAI,CAAC,IAAM,EAAEA,EAAE,SAASC,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,OAAM,GAAS,UAAU,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,GAAS,wBAAwB,GAAK,GAAS,UAAU,WAAW,GAAW+P,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,MAAM,CAAQ,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,KAAK,EAAEzQ,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAE,OAAO,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAEA,EAAE,CAAC,GAAG,WAAWD,EAAEC,EAAE,CAAC,EAAE,MAAM+P,GAAG,CAAC,IAAM5P,EAAEF,EAAE,UAAU,CAAC,OAAOE,EAAE,EAAEF,EAAE,eAAe,EAAE,KAAK,KAAKE,EAAE,CAAC,CAACF,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAWA,EAAED,EAAE,CAAC,GAAG,WAAW,EAAEA,EAAE,CAAC,GAAG,WAAWD,EAAEC,EAAE,CAAC,IAAMO,EAAEwP,GAAG,IAAIA,GAAG,CAAO,EAAEA,GAAG,IAAIC,GAAG,CAAO,EAAED,GAAG,IAAIE,GAAG,CAAOzP,EAAEwP,GAAG,IAAIA,GAAG,CAAOvP,EAAEuP,GAAG,IAAIC,GAAG,CAAOvP,EAAEH,EAAEC,EAAE,EAAE,EAAE,GAAOE,IAAJ,EAAM,OAAOP,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,IAAMQ,EAAE,EAAED,EAAQE,GAAGJ,EAAE,EAAE,EAAEC,GAAGE,EAAQE,GAAGN,EAAEE,EAAE,EAAE,GAAGE,EAAE,OAAOR,EAAE,IAAI,EAAES,EAAEC,EAAEA,EAAED,EAAE,CAAC,OAAO,cAAc,EAAE,EAAE,EAAE,EAAE,CAA+B,OAA9B,KAAK,aAAab,EAAEC,EAAE,EAAEC,EAAEiQ,GAAG,CAAQA,GAAG,GAAG,GAAGA,GAAG,GAAG,GAAGA,GAAG,EAAEA,GAAG,GAAG,EAAE,OAAO,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAwH,OAAvH,KAAK,aAAanQ,EAAEC,EAAE,EAAEC,EAAEiQ,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB/P,EAAE+P,GAAG,EAAE,CAAC,EAAE,gBAAgB3P,EAAE2P,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAEA,GAAG,EAAE,CAAQ,EAAE,OAAO,cAAc,EAAE,EAAE,EAAE,EAAE,CAAuC,OAAtC,GAAG,WAAW,EAAElQ,EAAE,CAAC,GAAG,WAAWD,EAAEC,EAAE,CAAQ+P,GAAG,MAAMC,GAAG,CAAC,IAAI/P,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAA8C,OAA7C,KAAK,EAAE,KAAKF,EAAE,CAAC,KAAK,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAQ,KAAK,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAuD,OAAtD,KAAK,EAAE,KAAKD,EAAEC,GAAG,CAAC,KAAK,EAAE,KAAKD,EAAE,GAAG,CAAC,KAAK,EAAE,KAAKA,EAAEE,GAAG,CAAQ,KAAK,2BAA2B,EAAE,EAAE,EAAE,EAAE,CAAiG,OAAhG,KAAK,EAAE,oBAAoBF,EAAEC,EAAE,CAAC,KAAK,EAAE,oBAAoBD,EAAE,EAAE,CAAC,KAAK,EAAE,oBAAoBA,EAAEE,EAAE,CAAQ,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAoD,OAAnD,KAAK,EAAE,KAAKF,EAAE,EAAE,CAAC,KAAK,EAAE,KAAKA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAKA,EAAE,EAAE,CAAQ,KAAK,SAAS,CAA2D,OAA1D,GAAG,WAAW,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,WAAW,KAAK,EAAE,KAAK,EAAE,CAAO,GAAGgQ,GAAG,MAAMC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAOjQ,EAAE,WAAW,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAS,UAAU,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEA,EAAE,CAAC,SAAS,EAAE,CAAC,OAAOA,EAAE,sBAAsB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,EAAS,aAAaA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAS,MAAMD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEC,EAAE,EAAEC,EAAEE,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAS,cAAcJ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAS,cAAc,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEA,EAAE,CAAC,cAAc,EAAE,CAAC,OAAOA,EAAE,mBAAmB,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,EAAEE,EAAE,KAAK,EAAEE,EAAE,KAAK,EAAMI,EAAE,EAAE,GAAG,WAAWN,EAAE,EAAE,CAAC,GAAG,WAAWE,EAAE,EAAE,CAAC,GAAG,WAAWJ,EAAE,EAAE,CAAC,IAAM,EAAEoQ,GAAG,IAAIG,GAAG,CAAO9P,EAAE4P,GAAG,IAAIE,GAAG,CAAC,GAAG,GAAG,GAAG9P,GAAG,EAAE,OAAOR,EAAE,KAAK,EAAE,CAAC,GAAG,WAAWD,EAAEE,EAAE,CAAC,IAAMQ,EAAE0P,GAAG,IAAII,GAAG,CAAO7P,EAAE0P,GAAG,IAAIG,GAAG,CAAC,GAAG9P,GAAG,GAAGC,GAAGD,EAAE,OAAOT,EAAE,KAAKC,EAAE,CAAC,IAAMU,EAAE,EAAED,EAAED,EAAED,EAAE,GAAGG,GAAG,GAAG,GAAG,GAAGF,GAAG,EAAa,MAAV,GAAE,GAAG,EAAEA,GAAUT,EAAE,KAAK,EAAE,CAAC,gBAAgBmQ,GAAG5P,EAAE,CAAC,GAAG,WAAWR,EAAEI,EAAE,CAAC,IAAMS,EAAEuP,GAAG,IAAIK,GAAG,CAAO3P,EAAEuP,GAAG,IAAII,GAAG,CAAC,GAAG3P,GAAG,GAAGD,GAAGC,EAAE,OAAOb,EAAE,KAAKG,EAAE,CAAC,IAAMW,EAAEF,EAAEJ,EAAE,EAAEK,EAAE,GAAGC,GAAG,GAAGN,GAAG,GAAGK,GAAG,EAAa,MAAV,GAAEL,GAAGA,EAAEK,GAAUb,EAAE,KAAK,EAAE,CAAC,gBAAgBoQ,GAAG,EAAE,CAAC,IAAM,EAAE3P,EAAEI,EAAED,EAAEF,EAAE,GAAG,GAAG,GAAGA,EAAED,GAAG,GAAGG,EAAEC,GAAG,EAA0C,OAAvC,GAAG,WAAWV,EAAEF,EAAE,CAAC,GAAGS,EAAED,IAAIC,EAAED,GAAGG,EAAEC,IAAWb,EAAE,KAAKC,EAAE,CAAC,gBAAgBoQ,GAAG,EAAE,CAAC,IAAMrO,EAAE,GAAG,EAAElB,EAAEH,GAAe,MAAZ,GAAEG,EAAEkB,EAAE,EAAErB,EAAEqB,EAAShC,EAAE,KAAK,EAAE,CAAC,gBAAgBmQ,GAAG5P,EAAE,CAAC,gBAAgB6P,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAOrQ,EAAE,EAAE,OAAO,KAAK,EAAE,EAAEA,EAAE,EAAE,OAAO,KAAK,EAAE,EAAEA,EAAE,EAAE,OAAO,KAAK,EAAE,GAAM0Q,GAAG,EAAQ,GAAN,cAAuB,EAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAc,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,WAAW,KAAK,IAAI,GAAK,KAAK,SAASxO,GAAE,KAAK,KAAK,GAAE,KAAK,aAAa,GAAM,KAAK,QAAQ,EAAE,KAAK,OAAOiB,GAAG,KAAK,YAAY,GAAM,KAAK,SAASuC,GAAE,KAAK,SAAS,GAAE,KAAK,cAAcX,GAAE,KAAK,cAAc,KAAK,KAAK,cAAc,KAAK,KAAK,mBAAmB,KAAK,KAAK,UAAU,GAAE,KAAK,UAAU,GAAK,KAAK,WAAW,GAAK,KAAK,iBAAiB,IAAI,KAAK,YAAY4H,GAAG,KAAK,WAAW,EAAE,KAAK,gBAAgB,IAAI,KAAK,YAAYD,GAAG,KAAK,aAAaA,GAAG,KAAK,aAAaA,GAAG,KAAK,aAAa,GAAM,KAAK,eAAe,KAAK,KAAK,iBAAiB,GAAM,KAAK,YAAY,GAAM,KAAK,WAAW,KAAK,KAAK,WAAW,GAAK,KAAK,UAAU,KAAK,KAAK,cAAc,GAAM,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,GAAM,KAAK,gBAAgB,GAAM,KAAK,mBAAmB,GAAM,KAAK,QAAQ,GAAK,KAAK,WAAW,GAAK,KAAK,SAAS,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,IAAI,UAAU,EAAE,CAAC,KAAK,WAAW,GAAI1M,EAAE,GAAG,KAAK,UAAU,KAAK,WAAWA,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,OAAO,KAAK,gBAAgB,UAAU,CAAC,UAAU,EAAE,CAAC,GAAYA,IAAT,IAAK,GAAM,IAAI,IAAMC,KAAKD,EAAE,CAAC,IAAM,EAAEA,EAAEC,GAAG,GAAY,IAAT,IAAK,GAAM,CAAC,QAAQ,KAAK,oBAAoBA,EAAE,4BAA4B,CAAC,SAAS,GAAeA,IAAZ,UAAc,CAAC,QAAQ,KAAK,SAAS,KAAK,KAAK,qEAAqE,CAAC,KAAK,YAAY,IAAI,GAAE,SAAS,IAAMC,EAAE,KAAKD,GAAYC,IAAT,IAAK,GAA+E,QAAQ,KAAK,SAAS,KAAK,KAAK,MAAMD,EAAE,wCAAwC,CAAzJC,GAAGA,EAAE,QAAQA,EAAE,IAAI,EAAE,CAACA,GAAGA,EAAE,WAAW,GAAG,EAAE,UAAUA,EAAE,KAAK,EAAE,CAAC,KAAKD,GAAG,GAAoF,OAAO,EAAE,CAAC,IAAMA,EAAWD,IAAT,IAAK,IAAkB,OAAOA,GAAlB,SAAoB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,IAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,WAAW,UAAU,kBAAkB,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAU,KAAK,OAAV,KAAiB,EAAE,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,UAAU,EAAE,MAAM,KAAK,MAAM,QAAQ,EAAW,KAAK,YAAd,IAAK,KAAqB,EAAE,UAAU,KAAK,WAAoB,KAAK,YAAd,IAAK,KAAqB,EAAE,UAAU,KAAK,WAAoB,KAAK,QAAd,IAAK,KAAiB,EAAE,MAAM,KAAK,OAAO,KAAK,YAAY,KAAK,WAAW,UAAU,EAAE,WAAW,KAAK,WAAW,QAAQ,EAAW,KAAK,iBAAd,IAAK,KAA0B,EAAE,eAAe,KAAK,gBAAgB,KAAK,UAAU,KAAK,SAAS,UAAU,EAAE,SAAS,KAAK,SAAS,QAAQ,EAAE,KAAK,mBAAuB,KAAK,oBAAT,IAA6B,EAAE,kBAAkB,KAAK,mBAAmB,KAAK,UAAU,KAAK,SAAS,UAAU,EAAE,SAAS,KAAK,SAAS,QAAQ,EAAW,KAAK,oBAAd,IAAK,KAA6B,EAAE,kBAAkB,KAAK,mBAAmB,KAAK,eAAe,KAAK,cAAc,UAAU,EAAE,cAAc,KAAK,cAAc,QAAQ,EAAW,KAAK,YAAd,IAAK,KAAqB,EAAE,UAAU,KAAK,WAAoB,KAAK,YAAd,IAAK,KAAqB,EAAE,UAAU,KAAK,WAAoB,KAAK,qBAAd,IAAK,KAA8B,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAM,KAAK,uBAAuB,KAAK,sBAAsB,YAAY,EAAE,sBAAsB,KAAK,sBAAsB,OAAOA,EAAE,CAAC,MAAS,KAAK,oBAAoB,KAAK,mBAAmB,YAAW,EAAE,mBAAmB,KAAK,mBAAmB,OAAOA,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,qBAAqB,SAAS,EAAC,KAAK,KAAK,KAAK,IAAI,YAAY,EAAE,IAAI,KAAK,IAAI,OAAOA,EAAE,CAAC,MAAM,KAAK,QAAQ,KAAK,OAAO,YAAY,EAAE,OAAO,KAAK,OAAO,OAAOA,EAAE,CAAC,MAAM,KAAK,UAAU,KAAK,SAAS,YAAY,EAAE,SAAS,KAAK,SAAS,OAAOA,EAAE,CAAC,MAAS,KAAK,UAAU,KAAK,SAAS,YAAW,EAAE,SAAS,KAAK,SAAS,OAAOA,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,mBAAqB,KAAK,OAAO,KAAK,MAAM,YAAW,EAAE,MAAM,KAAK,MAAM,OAAOA,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,gBAAkB,KAAK,SAAS,KAAK,QAAQ,YAAW,EAAE,QAAQ,KAAK,QAAQ,OAAOA,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,WAAa,KAAK,WAAW,KAAK,UAAU,YAAW,EAAE,UAAU,KAAK,UAAU,OAAOA,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,EAAE,YAAY,KAAK,YAAY,SAAS,EAAI,KAAK,iBAAiB,KAAK,gBAAgB,YAAW,EAAE,gBAAgB,KAAK,gBAAgB,OAAOA,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,kBAAkB,EAAE,iBAAiB,KAAK,kBAAiB,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAM,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAM,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,MAAM,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,MAAM,KAAK,sBAAsB,KAAK,qBAAqB,YAAY,EAAE,qBAAqB,KAAK,qBAAqB,OAAOA,EAAE,CAAC,MAAM,KAAK,kBAAkB,KAAK,iBAAiB,YAAY,EAAE,iBAAiB,KAAK,iBAAiB,OAAOA,EAAE,CAAC,MAAS,KAAK,QAAQ,KAAK,OAAO,YAAW,EAAE,OAAO,KAAK,OAAO,OAAOA,EAAE,CAAC,KAAc,KAAK,UAAd,IAAK,KAAmB,EAAE,QAAQ,KAAK,UAAkB,KAAK,kBAAd,IAAK,KAA2B,EAAE,gBAAgB,KAAK,iBAA0B,KAAK,eAAd,IAAK,KAAwB,EAAE,aAAa,KAAK,cAAuB,KAAK,kBAAd,IAAK,KAA2B,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,MAAe,KAAK,eAAd,IAAK,KAAwB,EAAE,aAAa,KAAK,cAAc,KAAK,iBAAiB,KAAK,gBAAgB,YAAY,EAAE,gBAAgB,KAAK,gBAAgB,OAAOA,EAAE,CAAC,MAAe,KAAK,YAAd,IAAK,KAAqB,EAAE,UAAU,KAAK,WAAW,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAe,KAAK,sBAAd,IAAK,KAA+B,EAAE,oBAAoB,KAAK,qBAA8B,KAAK,mBAAd,IAAK,KAA4B,EAAE,iBAAiB,KAAK,iBAAiB,QAAQ,EAAW,KAAK,OAAd,IAAK,KAAgB,EAAE,KAAK,KAAK,MAAa,KAAK,aAAZ,OAAyB,EAAE,WAAW,KAAK,YAAqB,KAAK,kBAAd,IAAK,KAA2B,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,WAAWkC,KAAI,EAAE,SAAS,KAAK,UAAU,KAAK,OAAO,KAAI,EAAE,KAAK,KAAK,MAAM,KAAK,eAAe,EAAE,aAAa,IAAM,KAAK,QAAQ,IAAI,EAAE,QAAQ,KAAK,SAAS,KAAK,SAASiB,KAAK,EAAE,OAAO,KAAK,QAAQ,KAAO,KAAK,cAAc,EAAE,YAAY,KAAK,aAAa,EAAE,UAAU,KAAK,UAAU,EAAE,UAAU,KAAK,UAAU,EAAE,WAAW,KAAK,WAAW,EAAE,WAAW,KAAK,WAAW,EAAE,aAAa,KAAK,aAAa,EAAE,iBAAiB,KAAK,iBAAiB,EAAE,YAAY,KAAK,YAAY,EAAE,WAAW,KAAK,WAAW,EAAE,gBAAgB,KAAK,gBAAgB,EAAE,YAAY,KAAK,YAAY,EAAE,aAAa,KAAK,aAAa,EAAE,aAAa,KAAK,aAAa,KAAK,UAAc,KAAK,WAAT,IAAoB,EAAE,SAAS,KAAK,UAAU,KAAO,KAAK,gBAAgB,EAAE,cAAc,IAAU,KAAK,sBAAT,IAA+B,EAAE,oBAAoB,KAAK,qBAAyB,KAAK,qBAAT,IAA8B,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,WAAe,KAAK,YAAT,IAAqB,EAAE,UAAU,KAAK,WAAoB,KAAK,WAAd,IAAK,KAAoB,EAAE,SAAS,KAAK,UAAmB,KAAK,UAAd,IAAK,KAAmB,EAAE,QAAQ,KAAK,SAAkB,KAAK,QAAd,IAAK,KAAiB,EAAE,MAAM,KAAK,OAAO,KAAO,KAAK,YAAY,EAAE,UAAU,IAAM,KAAK,UAAU,IAAI,EAAE,UAAU,KAAK,WAAW,KAAO,KAAK,kBAAkB,EAAE,gBAAgB,KAAK,iBAAiB,KAAO,KAAK,qBAAqB,EAAE,mBAAmB,KAAK,oBAAoB,KAAO,KAAK,YAAY,EAAE,UAAU,KAAK,WAAW,KAAK,mBAAmB,IAAI,EAAE,mBAAmB,KAAK,oBAA8B,KAAK,mBAAf,UAAkC,EAAE,iBAAiB,KAAK,kBAA4B,KAAK,oBAAf,UAAmC,EAAE,kBAAkB,KAAK,mBAAmB,KAAO,KAAK,cAAc,EAAE,YAAY,KAAK,aAAa,KAAQ,KAAK,UAAU,EAAE,QAAQ,IAAO,KAAQ,KAAK,aAAa,EAAE,WAAW,IAAc,KAAK,UAAU,KAAK,SAAS,GAApC,OAAuC,EAAE,SAAS,KAAK,UAAU,SAAS,EAAiB,EAAE,CAAC,IAAMlD,EAAE,EAAE,CAAC,IAAI,IAAMkB,KAAKnB,EAAE,CAAC,IAAME,EAAEF,EAAEmB,GAAG,OAAOjB,EAAE,SAAS,EAAE,KAAKA,EAAE,CAAC,OAAOD,EAAE,GAAGA,EAAE,CAAC,IAAMA,EAAE,EAAiBD,EAAE,SAAS,CAAOE,EAAE,EAAiBF,EAAE,OAAO,CAAC,EAAE,OAAO,IAAI,EAAE,SAASC,GAAG,EAAE,OAAO,IAAI,EAAE,OAAOC,GAAG,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,KAAKF,EAAE,KAAK,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,KAAKA,EAAE,KAAK,KAAK,aAAaA,EAAE,aAAa,KAAK,QAAQA,EAAE,QAAQ,KAAK,OAAOA,EAAE,OAAO,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAS,KAAK,cAAcA,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,YAAYA,EAAE,YAAY,KAAK,WAAWA,EAAE,WAAW,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,YAAYA,EAAE,YAAY,KAAK,aAAaA,EAAE,aAAa,KAAK,aAAaA,EAAE,aAAa,KAAK,aAAaA,EAAE,aAAa,IAAMC,EAAED,EAAE,eAAmB,EAAE,KAAK,GAAUC,IAAP,KAAS,CAAC,IAAMD,EAAEC,EAAE,OAAO,EAAM,MAAMD,EAAE,CAAC,IAAI,IAAIE,EAAE,EAAEA,IAAIF,EAAE,EAAEE,EAAE,EAAEA,GAAGD,EAAEC,GAAG,OAAO,CAAsiB,MAAriB,MAAK,eAAe,EAAE,KAAK,iBAAiBF,EAAE,iBAAiB,KAAK,YAAYA,EAAE,YAAY,KAAK,WAAWA,EAAE,WAAW,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,oBAAoBA,EAAE,oBAAoB,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,QAAQA,EAAE,QAAQ,KAAK,WAAWA,EAAE,WAAW,KAAK,SAAS,KAAK,MAAM,KAAK,UAAUA,EAAE,SAAS,CAAC,CAAQ,KAAK,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,KAAOA,GAAG,KAAK,YAAW,GAAS,UAAU,WAAW,GAAW2Q,GAAG,CAAC,UAAU,SAAS,aAAa,SAAS,KAAK,MAAM,WAAW,QAAQ,MAAM,SAAS,MAAM,SAAS,OAAO,SAAS,MAAM,EAAE,eAAe,SAAS,KAAK,IAAI,WAAW,QAAQ,MAAM,SAAS,UAAU,SAAS,UAAU,QAAQ,WAAW,QAAQ,UAAU,SAAS,MAAM,SAAS,eAAe,QAAQ,SAAS,SAAS,QAAQ,SAAS,KAAK,MAAM,SAAS,IAAI,SAAS,MAAM,cAAc,SAAS,SAAS,SAAS,UAAU,MAAM,SAAS,SAAS,UAAU,SAAS,YAAY,QAAQ,eAAe,QAAQ,WAAW,SAAS,WAAW,SAAS,QAAQ,QAAQ,WAAW,SAAS,aAAa,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc,MAAM,WAAW,QAAQ,SAAS,SAAS,YAAY,MAAM,QAAQ,QAAQ,QAAQ,QAAQ,WAAW,QAAQ,UAAU,SAAS,YAAY,SAAS,YAAY,QAAQ,QAAQ,SAAS,UAAU,SAAS,WAAW,SAAS,KAAK,SAAS,UAAU,SAAS,KAAK,QAAQ,MAAM,MAAM,YAAY,SAAS,KAAK,QAAQ,SAAS,SAAS,QAAQ,SAAS,UAAU,SAAS,OAAO,QAAQ,MAAM,SAAS,MAAM,SAAS,SAAS,SAAS,cAAc,SAAS,UAAU,QAAQ,aAAa,SAAS,UAAU,SAAS,WAAW,SAAS,UAAU,SAAS,qBAAqB,SAAS,UAAU,SAAS,WAAW,QAAQ,UAAU,SAAS,UAAU,SAAS,YAAY,SAAS,cAAc,QAAQ,aAAa,QAAQ,eAAe,QAAQ,eAAe,QAAQ,eAAe,SAAS,YAAY,SAAS,KAAK,MAAM,UAAU,QAAQ,MAAM,SAAS,QAAQ,SAAS,OAAO,QAAQ,iBAAiB,QAAQ,WAAW,IAAI,aAAa,SAAS,aAAa,QAAQ,eAAe,QAAQ,gBAAgB,QAAQ,kBAAkB,MAAM,gBAAgB,QAAQ,gBAAgB,SAAS,aAAa,QAAQ,UAAU,SAAS,UAAU,SAAS,SAAS,SAAS,YAAY,SAAS,KAAK,IAAI,QAAQ,SAAS,MAAM,QAAQ,UAAU,QAAQ,OAAO,SAAS,UAAU,SAAS,OAAO,SAAS,cAAc,SAAS,UAAU,SAAS,cAAc,SAAS,cAAc,SAAS,WAAW,SAAS,UAAU,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,WAAW,SAAS,OAAO,QAAQ,cAAc,QAAQ,IAAI,SAAS,UAAU,SAAS,UAAU,QAAQ,YAAY,QAAQ,OAAO,SAAS,WAAW,SAAS,SAAS,QAAQ,SAAS,SAAS,OAAO,SAAS,OAAO,SAAS,QAAQ,QAAQ,UAAU,QAAQ,UAAU,QAAQ,UAAU,QAAQ,KAAK,SAAS,YAAY,MAAM,UAAU,QAAQ,IAAI,SAAS,KAAK,MAAM,QAAQ,SAAS,OAAO,SAAS,UAAU,QAAQ,OAAO,SAAS,MAAM,SAAS,MAAM,SAAS,WAAW,SAAS,OAAO,SAAS,YAAY,SAAS,CAAOC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAOC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAiS,EAAN,KAAW,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAgB5Q,IAAT,IAAK,IAAgB,IAAT,IAAK,GAAM,KAAK,IAAID,EAAE,CAAC,KAAK,OAAOA,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAoG,OAAnG,GAAGD,EAAE,QAAQ,KAAK,KAAKA,EAAE,CAAY,OAAOA,GAAlB,SAAoB,KAAK,OAAOA,EAAE,CAAY,OAAOA,GAAlB,UAAqB,KAAK,SAASA,EAAE,CAAQ,KAAK,UAAU,EAAE,CAA4B,MAA3B,MAAK,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAS,KAAK,OAAO,EAAE,CAAiF,MAAhF,GAAE,KAAK,MAAMA,EAAE,CAAC,KAAK,GAAGA,GAAG,GAAG,KAAK,IAAI,KAAK,GAAGA,GAAG,EAAE,KAAK,IAAI,KAAK,GAAG,IAAIA,GAAG,IAAW,KAAK,OAAO,EAAE,EAAE,EAAE,CAA4B,MAA3B,MAAK,EAAEA,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE,EAAS,KAAK,OAAO,EAAE,EAAE,EAAE,CAAsD,GAArD,EAAE,GAAgBD,EAAE,EAAE,CAAC,EAAE,GAAMC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAM,EAAE,EAAE,EAAE,CAAQA,IAAJ,EAAM,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAMC,EAAE,GAAG,GAAG,GAAG,EAAED,GAAG,EAAEA,EAAE,EAAEA,EAAQG,EAAE,EAAE,EAAEF,EAAE,KAAK,EAAE,GAAQE,EAAEF,EAAEF,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAQI,EAAEF,EAAEF,EAAE,CAAC,KAAK,EAAE,GAAQI,EAAEF,EAAEF,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC,SAAS,EAAY,EAAE,CAAUC,IAAT,IAAK,IAAO,WAAWA,EAAE,CAAC,GAAG,QAAQ,KAAK,mCAAmCD,EAAE,oBAAoB,CAAC,IAAIC,EAAE,GAAG,EAAE,+BAA+B,KAAKD,EAAE,CAAC,CAAC,IAAIA,EAAQ,EAAEC,EAAE,GAASC,EAAED,EAAE,GAAG,OAAO,EAAP,CAAU,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,+DAA+D,KAAKC,EAAE,CAAqJ,MAAnJ,MAAK,EAAE,KAAK,IAAI,IAAI,SAASF,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,SAASA,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,SAASA,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAYA,EAAE,GAAG,CAAQ,KAAK,GAAG,EAAE,qEAAqE,KAAKE,EAAE,CAAqJ,MAAnJ,MAAK,EAAE,KAAK,IAAI,IAAI,SAASF,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,SAASA,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,SAASA,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAYA,EAAE,GAAG,CAAQ,KAAK,MAAM,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,yEAAyE,KAAKE,EAAE,CAAC,CAAC,IAAMD,EAAE,WAAWD,EAAE,GAAG,CAAC,IAAUmB,EAAE,SAASnB,EAAE,GAAG,GAAG,CAAC,IAAUE,EAAE,SAASF,EAAE,GAAG,GAAG,CAAC,IAAsB,OAAlB,EAAYA,EAAE,GAAG,CAAQ,KAAK,OAAOC,EAAEkB,EAAEjB,EAAE,CAAC,eAAe,EAAE,oBAAoB,KAAKF,EAAE,CAAC,CAAC,IAAMA,EAAEC,EAAE,GAAS,EAAED,EAAE,OAAO,GAAO,IAAJ,EAAuJ,MAAhJ,MAAK,EAAE,SAASA,EAAE,OAAO,EAAE,CAACA,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,SAASA,EAAE,OAAO,EAAE,CAACA,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,SAASA,EAAE,OAAO,EAAE,CAACA,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAW,KAAK,GAAO,IAAJ,EAAuJ,MAAhJ,MAAK,EAAE,SAASA,EAAE,OAAO,EAAE,CAACA,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,SAASA,EAAE,OAAO,EAAE,CAACA,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,SAASA,EAAE,OAAO,EAAE,CAACA,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,IAAW,KAAM,OAAOA,GAAGA,EAAE,OAAO,EAAE,KAAK,aAAaA,EAAE,CAAC,KAAK,aAAa,EAAE,CAAC,IAAMC,EAAE0Q,GAAG3Q,EAAE,aAAa,EAA0E,OAA/DC,IAAT,IAAK,GAAqB,QAAQ,KAAK,8BAA8BD,EAAE,CAA5D,KAAK,OAAOC,EAAE,CAAsD,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAkC,MAAjC,MAAK,EAAED,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAS,KAAK,iBAAiB,EAAE,CAA4E,MAA3E,MAAK,EAAE,GAAaA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAaA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAaA,EAAE,EAAE,CAAQ,KAAK,iBAAiB,EAAE,CAA4E,MAA3E,MAAK,EAAE,GAAaA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAaA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAaA,EAAE,EAAE,CAAQ,KAAK,qBAAqB,CAA6B,OAA5B,KAAK,iBAAiB,KAAK,CAAQ,KAAK,qBAAqB,CAA6B,OAA5B,KAAK,iBAAiB,KAAK,CAAQ,KAAK,QAAQ,CAAC,MAAO,KAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,EAAE,cAAc,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,SAAS,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAQE,EAAE,KAAK,IAAIH,EAAE,EAAEC,EAAE,CAAOM,EAAE,KAAK,IAAIP,EAAE,EAAEC,EAAE,CAAK,EAAE,EAAQO,GAAGD,EAAEJ,GAAG,EAAE,GAAGI,IAAIJ,EAAG,EAAE,EAAE,EAAE,MAAM,CAAC,IAAMJ,EAAEI,EAAEI,EAA4B,OAA1B,EAAEC,GAAG,GAAGT,GAAGI,EAAEI,GAAGR,GAAG,EAAEI,EAAEI,GAAUJ,EAAP,CAAU,KAAKH,EAAE,GAAG,EAAEC,GAAGF,GAAG,EAAEE,EAAE,EAAE,GAAG,MAAM,KAAK,EAAE,GAAGA,EAAED,GAAGD,EAAE,EAAE,MAAM,KAAKE,EAAE,GAAGD,EAAE,GAAGD,EAAE,EAAE,MAAM,GAAG,EAAoB,MAAlB,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAES,EAAST,EAAE,UAAU,CAAC,MAAM,QAAQ,IAAI,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,IAAI,UAAU,EAAE,EAAE,EAAE,CAAqE,OAApE,KAAK,OAAO4Q,GAAG,CAAC,GAAG,GAAG5Q,EAAE,GAAG,GAAGC,EAAE,GAAG,GAAG,EAAE,KAAK,OAAO2Q,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAQ,KAAK,IAAI,EAAE,CAAqC,MAApC,MAAK,GAAG5Q,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,KAAK,UAAU,EAAE,EAAE,CAA8C,MAA7C,MAAK,EAAEA,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAED,EAAE,EAAEC,EAAE,EAAS,KAAK,UAAU,EAAE,CAA+B,MAA9B,MAAK,GAAGD,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,IAAI,EAAE,CAA2F,MAA1F,MAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAQ,KAAK,SAAS,EAAE,CAAqC,MAApC,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAS,KAAK,eAAe,EAAE,CAA+B,MAA9B,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAS,KAAK,KAAK,EAAE,EAAE,CAAsE,MAArE,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAE,KAAK,IAAID,EAAE,EAAE,KAAK,GAAGC,EAAS,KAAK,WAAW,EAAE,EAAE,EAAE,CAAsE,MAArE,MAAK,EAAED,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,KAAK,EAAEA,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAS,KAAK,QAAQ,EAAE,EAAE,CAAC,KAAK,OAAO4Q,GAAG,CAAC,EAAE,OAAOC,GAAG,CAAC,IAAM,EAAE,GAAKD,GAAG,EAAEC,GAAG,EAAE5Q,EAAE,CAAOC,EAAE,GAAK0Q,GAAG,EAAEC,GAAG,EAAE5Q,EAAE,CAAOG,EAAE,GAAKwQ,GAAG,EAAEC,GAAG,EAAE5Q,EAAE,CAAoB,OAAnB,KAAK,OAAO,EAAEC,EAAEE,EAAE,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOJ,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAyC,MAAxC,MAAK,EAAEA,EAAEC,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAG,KAAK,EAAED,EAAEC,EAAE,GAAU,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAyC,MAAxC,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAASD,EAAE,oBAAoB,EAAE,EAAE,CAAgH,MAA/G,MAAK,EAAEA,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAC,KAAK,EAAED,EAAE,KAAKC,EAAE,CAAI,KAAOD,EAAE,aAAY,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI,KAAK,GAAG,KAAW,KAAK,QAAQ,CAAC,OAAO,KAAK,QAAQ,GAAE,EAAM,MAAM2Q,GAAG,EAAM,UAAU,QAAQ,GAAK,EAAM,UAAU,EAAE,EAAE,EAAM,UAAU,EAAE,EAAE,EAAM,UAAU,EAAE,EAAQ,GAAN,cAAgC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,kBAAkB,EAAE,KAAK,MAAM,KAAK,KAAK,eAAe,EAAE,KAAK,YAAY,KAAK,KAAK,SAAS,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQlM,GAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,IAAI,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,UAAUzE,EAAE,CAAC,KAAK,EAAE,CAA2f,OAA1f,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,MAAMA,EAAE,MAAM,KAAK,eAAeA,EAAE,eAAe,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,OAAOA,EAAE,OAAO,KAAK,QAAQA,EAAE,QAAQ,KAAK,aAAaA,EAAE,aAAa,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkBA,EAAE,kBAAyB,OAAM,GAAkB,UAAU,oBAAoB,GAAW8Q,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,KAAqB,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQ/Q,EAAE,CAAC,MAAU,UAAU,wDAAwD,CAAC,KAAK,KAAK,GAAG,KAAK,MAAMA,EAAE,KAAK,SAASC,EAAE,KAAK,MAAeD,IAAT,IAAK,GAAiB,EAAXA,EAAE,OAAOC,EAAI,KAAK,WAAW,KAAO,EAAE,KAAK,MAAM2M,GAAG,KAAK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,QAAQ,EAAE,kBAAkB,EAAE,IAAI,YAAY,EAAE,CAAC,KAAO5M,GAAG,KAAK,UAAU,SAAS,EAAE,CAAc,MAAb,MAAK,MAAMA,EAAS,KAAK,KAAK,EAAE,CAA0J,MAAzJ,MAAK,KAAKA,EAAE,KAAK,KAAK,MAAM,IAAIA,EAAE,MAAM,YAAYA,EAAE,MAAM,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,MAAMA,EAAE,MAAM,KAAK,WAAWA,EAAE,WAAW,KAAK,MAAMA,EAAE,MAAa,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,GAAGC,EAAE,SAAS,IAAI,IAAIC,EAAE,EAAEE,EAAE,KAAK,SAASF,EAAEE,EAAE,IAAI,KAAK,MAAMJ,EAAEE,GAAGD,EAAE,MAAM,EAAEC,GAAG,OAAO,KAAK,UAAU,EAAE,CAAmB,OAAlB,KAAK,MAAM,IAAIF,EAAE,CAAQ,KAAK,gBAAgB,EAAE,CAAC,IAAMC,EAAE,KAAK,MAAU,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEE,EAAEJ,EAAE,OAAOE,EAAEE,EAAE,IAAI,CAAC,IAAIA,EAAEJ,EAAEE,GAAeE,IAAT,IAAK,KAAO,QAAQ,KAAK,8DAA8DF,EAAE,CAAC,EAAE,IAAI,GAAM,EAAE,KAAKE,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,OAAO,KAAK,kBAAkB,EAAE,CAAC,IAAMH,EAAE,KAAK,MAAU,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEE,EAAEJ,EAAE,OAAOE,EAAEE,EAAE,IAAI,CAAC,IAAIA,EAAEJ,EAAEE,GAAeE,IAAT,IAAK,KAAO,QAAQ,KAAK,iEAAiEF,EAAE,CAAC,EAAE,IAAI,GAAQ,EAAE,KAAKE,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,OAAO,KAAK,kBAAkB,EAAE,CAAC,IAAMH,EAAE,KAAK,MAAU,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEE,EAAEJ,EAAE,OAAOE,EAAEE,EAAE,IAAI,CAAC,IAAIA,EAAEJ,EAAEE,GAAeE,IAAT,IAAK,KAAO,QAAQ,KAAK,iEAAiEF,EAAE,CAAC,EAAE,IAAI,GAAQ,EAAE,KAAKE,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,OAAO,KAAK,kBAAkB,EAAE,CAAC,IAAMH,EAAE,KAAK,MAAU,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEE,EAAEJ,EAAE,OAAOE,EAAEE,EAAE,IAAI,CAAC,IAAIA,EAAEJ,EAAEE,GAAeE,IAAT,IAAK,KAAO,QAAQ,KAAK,iEAAiEF,EAAE,CAAC,EAAE,IAAI,IAAQ,EAAE,KAAKE,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,EAAE,KAAKA,EAAE,EAAE,OAAO,KAAK,aAAa,EAAE,CAAC,GAAO,KAAK,WAAT,EAAkB,IAAI,IAAIH,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,oBAAoB,KAAKA,EAAE,CAAC,GAAG,aAAaD,EAAE,CAAC,KAAK,MAAMC,EAAE8Q,GAAG,EAAEA,GAAG,EAAE,SAAa,KAAK,WAAT,EAAkB,IAAI,IAAI9Q,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,oBAAoB,KAAKA,EAAE,CAAC,GAAG,aAAaD,EAAE,CAAC,KAAK,OAAOC,EAAE6Q,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,IAAI,IAAI7Q,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,aAAaD,EAAE,CAAC,KAAK,OAAOC,EAAE6Q,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC,IAAI,IAAI7Q,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,kBAAkBD,EAAE,CAAC,KAAK,OAAOC,EAAE6Q,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC,IAAI,IAAI7Q,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,mBAAmBD,EAAE,CAAC,KAAK,OAAOC,EAAE6Q,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAqB,OAApB,KAAK,MAAM,IAAI9Q,EAAEC,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,MAAMD,EAAE,KAAK,UAAU,KAAK,EAAE,EAAE,CAA+B,MAA9B,MAAK,MAAMA,EAAE,KAAK,UAAUC,EAAS,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,MAAMD,EAAE,KAAK,SAAS,GAAG,KAAK,EAAE,EAAE,CAAiC,MAAhC,MAAK,MAAMA,EAAE,KAAK,SAAS,GAAGC,EAAS,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,MAAMD,EAAE,KAAK,SAAS,GAAG,KAAK,EAAE,EAAE,CAAiC,MAAhC,MAAK,MAAMA,EAAE,KAAK,SAAS,GAAGC,EAAS,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,MAAMD,EAAE,KAAK,SAAS,GAAG,KAAK,EAAE,EAAE,CAAiC,MAAhC,MAAK,MAAMA,EAAE,KAAK,SAAS,GAAGC,EAAS,KAAK,MAAM,EAAE,EAAE,EAAE,CAAsD,MAArD,IAAG,KAAK,SAAS,KAAK,MAAMD,EAAE,GAAGC,EAAE,KAAK,MAAMD,EAAE,GAAG,EAAS,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE,CAAwE,MAAvE,IAAG,KAAK,SAAS,KAAK,MAAMA,EAAE,GAAGC,EAAE,KAAK,MAAMD,EAAE,GAAG,EAAE,KAAK,MAAMA,EAAE,GAAGE,EAAS,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAA0F,MAAzF,IAAG,KAAK,SAAS,KAAK,MAAMF,EAAE,GAAGC,EAAE,KAAK,MAAMD,EAAE,GAAG,EAAE,KAAK,MAAMA,EAAE,GAAGE,EAAE,KAAK,MAAMF,EAAE,GAAGI,EAAS,KAAK,SAAS,EAAE,CAAyB,MAAxB,MAAK,iBAAiBJ,EAAS,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,MAAM,KAAK,SAAS,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAMA,EAAE,CAAC,SAAS,KAAK,SAAS,KAAK,KAAK,MAAM,YAAY,KAAK,MAAM,MAAM,UAAU,MAAM,KAAK,KAAK,MAAM,CAAC,WAAW,KAAK,WAAW,CAAqK,OAA/J,KAAK,OAAV,KAAiB,EAAE,KAAK,KAAK,MAAM,KAAK,QAAQ4M,KAAK,EAAE,MAAM,KAAK,OAAW,KAAK,YAAY,SAArB,GAAkC,KAAK,YAAY,QAAtB,KAA8B,EAAE,YAAY,KAAK,aAAoB5M,IAAG,GAAgB,UAAU,kBAAkB,GAAua,GAAN,cAAoC,EAAe,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,YAAYA,EAAE,CAACC,EAAE,EAAE,GAA4G,GAAN,cAAoC,EAAe,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,YAAYD,EAAE,CAACC,EAAE,EAAE,GAAQ,GAAN,cAAqC,EAAe,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,YAAYD,EAAE,CAACC,EAAE,EAAE,GAAE,GAAuB,UAAU,yBAAyB,GAAW,EAAN,cAAqC,EAAe,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,aAAaD,EAAE,CAACC,EAAE,EAAE,GAA8G+Q,GAAG,EAAQC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAeC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAWC,GAAG,IAAI,GAAWC,GAAG,IAAI,EAAc,GAAN,MAAM,UAAuB,EAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAc,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,iBAAiB,KAAK,MAAM,KAAK,KAAK,WAAW,EAAE,CAAC,KAAK,gBAAgB,EAAE,CAAC,KAAK,qBAAqB,GAAM,KAAK,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,KAAK,eAAe,KAAK,KAAK,UAAU,CAAC,MAAM,EAAE,MAAM,IAAS,CAAC,KAAK,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,SAAS,EAAE,CAAkH,OAAjH,MAAM,QAAQtR,EAAE,CAAC,KAAK,MAAM,IAAI,GAASA,EAAE,CAAC,MAAM,GAAsB,IAAuBA,EAAE,EAAE,CAAC,KAAK,MAAMA,EAAS,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,WAAWA,GAAG,aAAa,EAAE,EAAE,CAAsB,MAArB,MAAK,WAAWA,GAAGC,EAAS,KAAK,gBAAgB,EAAE,CAA2B,OAA1B,OAAO,KAAK,WAAWD,GAAU,KAAK,aAAa,EAAE,CAAC,OAAgB,KAAK,WAAWA,KAAzB,IAAK,GAAuB,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,KAAK,CAAC,MAAMA,EAAE,MAAMC,EAAE,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,UAAU,MAAMD,EAAE,KAAK,UAAU,MAAMC,EAAE,aAAa,EAAE,CAAC,IAAMA,EAAE,KAAK,WAAW,SAAqBA,IAAT,IAAK,KAAO,EAAE,aAAaD,EAAE,CAAC,EAAE,YAAY,IAAK,IAAM,EAAE,KAAK,WAAW,OAAO,GAAY,IAAT,IAAK,GAAM,CAAC,IAAMC,EAAG,IAAI,IAAO,CAAE,gBAAgBD,EAAE,CAAC,EAAE,kBAAkBC,EAAE,CAAC,EAAE,YAAY,GAAK,IAAMC,EAAE,KAAK,WAAW,QAA8K,OAA1JA,IAAT,IAAK,KAAO,EAAE,mBAAmBF,EAAE,CAAC,EAAE,YAAY,IAAY,KAAK,cAAZ,MAAyB,KAAK,oBAAoB,CAAQ,KAAK,iBAAZ,MAA4B,KAAK,uBAAuB,CAAQ,KAAK,gBAAgB,EAAE,CAAwD,OAAvD,GAAG,2BAA2BA,EAAE,CAAC,KAAK,aAAaiR,GAAG,CAAQ,KAAK,QAAQ,EAAE,CAA2C,OAA1C,GAAG,cAAcjR,EAAE,CAAC,KAAK,aAAaiR,GAAG,CAAQ,KAAK,QAAQ,EAAE,CAA2C,OAA1C,GAAG,cAAcjR,EAAE,CAAC,KAAK,aAAaiR,GAAG,CAAQ,KAAK,QAAQ,EAAE,CAA2C,OAA1C,GAAG,cAAcjR,EAAE,CAAC,KAAK,aAAaiR,GAAG,CAAQ,KAAK,UAAU,EAAE,EAAE,EAAE,CAAiD,OAAhD,GAAG,gBAAgBjR,EAAEC,EAAE,EAAE,CAAC,KAAK,aAAagR,GAAG,CAAQ,KAAK,MAAM,EAAE,EAAE,EAAE,CAA2C,OAA1C,GAAG,UAAUjR,EAAEC,EAAE,EAAE,CAAC,KAAK,aAAagR,GAAG,CAAQ,KAAK,OAAO,EAAE,CAA6D,OAA5D,GAAG,OAAOjR,EAAE,CAAC,GAAG,cAAc,CAAC,KAAK,aAAakR,GAAG,OAAO,CAAQ,KAAK,QAAQ,CAAkG,OAAjG,KAAK,oBAAoB,CAAC,KAAK,YAAY,UAAUC,GAAG,CAAC,QAAQ,CAAC,KAAK,UAAUA,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,IAAMlR,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEC,EAAEF,EAAE,OAAO,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAE,GAAG,EAAE,KAAKE,EAAE,EAAEA,EAAE,EAAEA,EAAE,GAAG,EAAE,CAA+D,OAA9D,KAAK,aAAa,WAAW,IAAI,EAAuBD,EAAE,EAAE,CAAC,CAAQ,KAAK,oBAAoB,CAAQ,KAAK,cAAZ,OAA0B,KAAK,YAAY,IAAI,IAAM,IAAMD,EAAE,KAAK,WAAW,SAAeC,EAAE,KAAK,gBAAgB,SAAS,GAAGD,GAAGA,EAAE,oBAAqB,QAAQ,MAAM,kJAAkJ,KAAK,CAAC,KAAK,YAAY,IAAI,IAAI,EAAQ,KAAU,KAAU,KAAU,CAAC,IAAI,EAAQ,IAAS,IAAS,IAAS,CAAC,KAAK,CAAC,GAAYA,IAAT,IAAK,GAAkD,IAA3C,KAAK,YAAY,uBAAuBA,EAAE,CAAIC,EAAE,IAAI,IAAID,EAAE,EAAE,EAAEC,EAAE,OAAOD,EAAE,EAAE,IAAI,CAAC,IAAMmB,EAAElB,EAAED,GAAG,GAAG,uBAAuBmB,EAAE,CAAI,KAAK,sBAAsB,GAAG,WAAW,KAAK,YAAY,IAAIiQ,GAAG,IAAI,CAAC,KAAK,YAAY,cAAcE,GAAG,CAAC,GAAG,WAAW,KAAK,YAAY,IAAIF,GAAG,IAAI,CAAC,KAAK,YAAY,cAAcE,GAAG,GAAM,KAAK,YAAY,cAAcF,GAAG,IAAI,CAAC,KAAK,YAAY,cAAcA,GAAG,IAAI,QAAQ,KAAK,YAAY,WAAW,EAAE,MAAM,KAAK,YAAY,IAAI,EAAE,EAAE,MAAM,KAAK,YAAY,IAAI,EAAE,EAAE,MAAM,KAAK,YAAY,IAAI,EAAE,GAAG,QAAQ,MAAM,sIAAsI,KAAK,EAAE,uBAAuB,CAAQ,KAAK,iBAAZ,OAA6B,KAAK,eAAe,IAAI,IAAQ,IAAMpR,EAAE,KAAK,WAAW,SAAeC,EAAE,KAAK,gBAAgB,SAAS,GAAGD,GAAGA,EAAE,oBAAqB,QAAQ,MAAM,wJAAwJ,KAAK,CAAC,KAAK,eAAe,IAAI,IAAI,EAAQ,IAAS,SAASA,EAAE,CAAC,IAAM,EAAE,KAAK,eAAe,OAAoC,GAA7B,GAAG,uBAAuBA,EAAE,CAAIC,EAAE,IAAI,IAAID,EAAE,EAAEmB,EAAElB,EAAE,OAAOD,EAAEmB,EAAE,IAAI,CAAC,IAAMA,EAAElB,EAAED,GAAG,GAAG,uBAAuBmB,EAAE,CAAI,KAAK,sBAAsB,GAAG,WAAWiQ,GAAG,IAAIC,GAAG,IAAI,CAAC,GAAG,cAAcC,GAAG,CAAC,GAAG,WAAWF,GAAG,IAAIC,GAAG,IAAI,CAAC,GAAG,cAAcC,GAAG,GAAM,GAAG,cAAcD,GAAG,IAAI,CAAC,GAAG,cAAcA,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,IAAInR,EAAE,EAAE,IAAI,IAAID,EAAE,EAAEG,EAAEJ,EAAE,MAAMC,EAAEG,EAAE,IAAK,GAAG,oBAAoBJ,EAAEC,EAAE,CAAC,EAAE,KAAK,IAAIC,EAAE,EAAE,kBAAkBoR,GAAG,CAAC,CAAC,GAAGrR,EAAE,IAAI,IAAIG,EAAE,EAAEI,EAAEP,EAAE,OAAOG,EAAEI,EAAE,IAAI,CAAC,IAAMA,EAAEP,EAAEG,GAAS,EAAE,KAAK,qBAAqB,IAAI,IAAIH,EAAE,EAAEG,EAAEI,EAAE,MAAMP,EAAEG,EAAE,IAAK,GAAG,oBAAoBI,EAAEP,EAAE,CAAI,IAAG,GAAG,oBAAoBD,EAAEC,EAAE,CAAC,GAAG,IAAIkR,GAAG,EAAC,EAAE,KAAK,IAAIjR,EAAE,EAAE,kBAAkBoR,GAAG,CAAC,CAAE,KAAK,eAAe,OAAO,KAAK,KAAKpR,EAAE,CAAC,MAAM,KAAK,eAAe,OAAO,EAAE,QAAQ,MAAM,+HAA+H,KAAK,EAAE,iBAAiB,CAAC,IAAMF,EAAE,KAAK,MAAYC,EAAE,KAAK,WAAW,GAAUD,IAAP,MAAmBC,EAAE,WAAX,IAAK,IAAyBA,EAAE,SAAX,IAAK,IAAuBA,EAAE,KAAX,IAAK,GAAS,CAAC,QAAQ,MAAM,+GAA+G,CAAC,OAAO,IAAM,EAAED,EAAE,MAAYE,EAAED,EAAE,SAAS,MAAYG,EAAEH,EAAE,OAAO,MAAYO,EAAEP,EAAE,GAAG,MAAY,EAAEC,EAAE,OAAO,EAAWD,EAAE,UAAX,IAAK,IAAe,KAAK,aAAa,UAAU,IAAI,GAAgB,IAAI,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAM,EAAEA,EAAE,QAAQ,MAAYQ,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,EAAE,EAAE,IAAK,EAAEA,GAAG,IAAI,EAAQ,EAAEA,GAAG,IAAI,EAAQ,IAAMW,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQkB,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQ,SAAS,EAAe,EAAE,EAAE,EAAE,CAAC,EAAE,UAAUhC,EAAE,EAAEF,EAAE,CAAC,EAAE,UAAUE,EAAE,EAAED,EAAE,CAAC,EAAE,UAAUC,EAAE,EAAEiB,EAAE,CAAC,EAAE,UAAUX,EAAE,EAAER,EAAE,CAAC,EAAE,UAAUQ,EAAE,EAAEP,EAAE,CAAC,EAAE,UAAUO,EAAE,EAAEW,EAAE,CAAC,EAAE,IAAIR,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,EAAE,IAAIG,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,IAAMV,EAAE,GAAGW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,GAAM,SAASX,EAAE,GAAE,EAAE,KAAKQ,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,gBAAgBC,EAAE,CAACE,EAAE,EAAE,CAAC,eAAeX,EAAE,CAAC,EAAE,KAAKS,EAAE,CAAC,eAAeE,EAAE,EAAE,CAAC,gBAAgBH,EAAE,CAAC,EAAE,EAAE,CAAC,eAAeR,EAAE,CAAC,EAAEJ,GAAG,IAAIiC,EAAE,CAAC,EAAEhC,GAAG,IAAIgC,EAAE,CAAC,EAAEd,GAAG,IAAIc,EAAE,CAAC,EAAEjC,GAAG,IAAIkC,EAAE,CAAC,EAAEjC,GAAG,IAAIiC,EAAE,CAAC,EAAEf,GAAG,IAAIe,EAAE,EAAE,IAAII,EAAE,KAAK,OAAWA,EAAE,SAAN,IAAe,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,IAAItC,EAAE,EAAEC,EAAEqC,EAAE,OAAOtC,EAAEC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAEqC,EAAEtC,GAASE,EAAED,EAAE,MAAYG,EAAEH,EAAE,MAAM,IAAI,IAAID,EAAEE,EAAED,EAAEC,EAAEE,EAAEJ,EAAEC,EAAE,GAAG,EAAE,EAAe,EAAED,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,IAAMuC,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAcsC,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQ,SAAS,EAAa,EAAE,CAAC,EAAE,UAAU3E,EAAE,EAAEJ,EAAE,CAAC,EAAE,KAAK8E,EAAE,CAAC,IAAM7E,EAAEQ,EAAET,GAAG,EAAE,KAAKC,EAAE,CAAC,EAAE,IAAI6E,EAAE,eAAeA,EAAE,IAAI7E,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,aAAa8E,EAAE9E,EAAE,CAAqB,IAAMC,EAAlBsC,EAAE,IAAI9B,EAAEV,GAAG,CAAW,EAAE,GAAG,EAAE,EAAE,EAAEA,GAAGuC,EAAE,EAAE,EAAE,EAAEvC,EAAE,GAAGuC,EAAE,EAAE,EAAE,EAAEvC,EAAE,GAAGuC,EAAE,EAAE,EAAE,EAAEvC,EAAE,GAAGE,EAAE,IAAI,IAAIF,EAAE,EAAEC,EAAEqC,EAAE,OAAOtC,EAAEC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAEqC,EAAEtC,GAASE,EAAED,EAAE,MAAYG,EAAEH,EAAE,MAAM,IAAI,IAAID,EAAEE,EAAED,EAAEC,EAAEE,EAAEJ,EAAEC,EAAE,GAAG,EAAG,EAAa,EAAED,EAAE,GAAG,CAAC,EAAa,EAAEA,EAAE,GAAG,CAAC,EAAa,EAAEA,EAAE,GAAG,EAAG,sBAAsB,CAAC,IAAMA,EAAE,KAAK,MAAYC,EAAE,KAAK,aAAa,WAAW,CAAC,GAAYA,IAAT,IAAK,GAAM,CAAC,IAAI,EAAE,KAAK,aAAa,SAAS,CAAC,GAAY,IAAT,IAAK,GAAO,EAAE,IAAI,GAAgB,IAAI,aAAa,EAAEA,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,aAAa,SAAS,EAAE,MAAM,IAAI,IAAID,EAAE,EAAEC,EAAE,EAAE,MAAMD,EAAEC,EAAE,IAAI,EAAE,OAAOD,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,IAAI,EAAQE,EAAE,IAAI,EAAQI,EAAE,IAAI,EAAc,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAQC,EAAE,IAAI,EAAQ,GAAGX,EAAE,IAAI,IAAIY,EAAE,EAAEC,EAAEb,EAAE,MAAMY,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAEb,EAAE,KAAKY,EAAE,EAAE,CAAOE,EAAEd,EAAE,KAAKY,EAAE,EAAE,CAAOG,EAAEf,EAAE,KAAKY,EAAE,EAAE,CAAC,EAAE,oBAAoBX,EAAEY,EAAE,CAAC,EAAE,oBAAoBZ,EAAEa,EAAE,CAAC,EAAE,oBAAoBb,EAAEc,EAAE,CAAC,EAAE,WAAWP,EAAEJ,EAAE,CAAC,EAAE,WAAWF,EAAEE,EAAE,CAAC,EAAE,MAAMO,EAAE,CAAC,EAAE,oBAAoB,EAAEE,EAAE,CAAC,EAAE,oBAAoB,EAAEC,EAAE,CAAC,EAAE,oBAAoB,EAAEC,EAAE,CAAC,EAAE,IAAIL,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,EAAE,OAAOG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAOC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAOC,EAAEN,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,MAAM,IAAI,IAAIT,EAAE,EAAEgB,EAAEf,EAAE,MAAMD,EAAEgB,EAAE,GAAG,EAAG,EAAE,oBAAoBf,EAAED,EAAE,EAAE,CAAC,EAAE,oBAAoBC,EAAED,EAAE,EAAE,CAAC,EAAE,oBAAoBC,EAAED,EAAE,EAAE,CAAC,EAAE,WAAWQ,EAAEJ,EAAE,CAAC,EAAE,WAAWF,EAAEE,EAAE,CAAC,EAAE,MAAMO,EAAE,CAAC,EAAE,OAAOX,EAAE,EAAEU,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,OAAOV,EAAE,EAAEU,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,OAAOV,EAAE,EAAEU,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,KAAK,kBAAkB,CAAC,EAAE,YAAY,IAAM,MAAM,EAAE,EAAE,CAAC,GAAG,EAAEV,GAAGA,EAAE,kBAAkB,CAAC,QAAQ,MAAM,kFAAkFA,EAAE,CAAC,OAAmBC,IAAT,IAAK,KAAO,EAAE,EAAE,QAAQ,KAAK,yJAAyJ,EAAC,IAAM,EAAE,KAAK,WAAW,IAAI,IAAMC,KAAK,EAAE,CAAC,GAAYF,EAAE,WAAWE,KAAtB,IAAK,GAAoB,SAAsB,IAAMM,EAAX,EAAEN,GAAa,MAAY,EAAEF,EAAE,WAAWE,GAAS,EAAE,EAAE,MAAYO,EAAE,EAAE,SAASR,EAAQS,EAAE,KAAK,IAAI,EAAE,OAAOF,EAAE,OAAOC,EAAE,CAAC,IAAI,IAAIT,EAAE,EAAEC,EAAEQ,EAAET,EAAEU,EAAE,IAAI,IAAI,EAAET,GAAG,EAAED,GAAG,OAAO,KAAK,kBAAkB,CAAC,IAAMA,EAAE,KAAK,WAAW,OAAO,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,MAAMC,EAAE,EAAE,IAAK,GAAG,oBAAoBD,EAAEC,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,OAAOA,EAAEqR,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAE,cAAc,CAAC,SAAS,EAAuB,EAAE,EAAE,CAAC,IAAMnQ,EAAEnB,EAAE,MAAYE,EAAEF,EAAE,SAAeI,EAAEJ,EAAE,WAAiBQ,EAAE,IAAIW,EAAE,YAAYlB,EAAE,OAAOC,EAAE,CAAK,EAAE,EAAE,EAAE,EAAE,IAAI,IAAIE,EAAE,EAAEK,EAAER,EAAE,OAAOG,EAAEK,EAAE,IAAI,CAAC,EAAET,EAAE,6BAA6BC,EAAEG,GAAGJ,EAAE,KAAK,OAAOA,EAAE,OAAOC,EAAEG,GAAGF,EAAE,IAAI,IAAIF,EAAE,EAAEA,EAAEE,EAAE,IAAI,EAAE,KAAKiB,EAAE,KAAK,OAAO,IAAI,GAAgBX,EAAEN,EAAEE,EAAE,CAAC,GAAU,KAAK,QAAZ,KAA+G,OAA5F,QAAQ,KAAK,8EAA8E,CAAQ,KAAK,IAAMJ,EAAE,IAAI,EAAqBC,EAAE,KAAK,MAAM,MAAY,EAAE,KAAK,WAAW,IAAI,IAAMC,KAAK,EAAE,CAAC,IAAME,EAAE,EAAEF,GAASM,EAAE,EAAuBJ,EAAEH,EAAE,CAAC,EAAE,aAAaC,EAAEM,EAAE,CAAC,IAAMN,EAAE,KAAK,gBAAgB,IAAI,IAAMiB,KAAKjB,EAAE,CAAC,IAAME,EAAE,EAAE,CAAOI,EAAEN,EAAEiB,GAAG,IAAI,IAAInB,EAAE,EAAEmB,EAAEX,EAAE,OAAOR,EAAEmB,EAAE,IAAI,CAAC,IAAMA,EAAEX,EAAER,GAASE,EAAE,EAAuBiB,EAAElB,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,EAAE,gBAAgBiB,GAAGf,EAAE,EAAE,qBAAqB,KAAK,qBAAqB,IAAMA,EAAE,KAAK,OAAO,IAAI,IAAIH,EAAE,EAAEkB,EAAEf,EAAE,OAAOH,EAAEkB,EAAE,IAAI,CAAC,IAAMA,EAAEf,EAAEH,GAAG,EAAE,SAASkB,EAAE,MAAMA,EAAE,MAAMA,EAAE,cAAc,CAAC,OAAOnB,EAAE,QAAQ,CAAC,IAAMA,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,iBAAiB,UAAU,wBAAwB,CAAC,CAAsI,GAArI,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAU,KAAK,OAAV,KAAiB,EAAE,KAAK,KAAK,MAAM,OAAO,KAAK,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,UAAsB,KAAK,aAAd,IAAK,GAAoB,CAAC,IAAMC,EAAE,KAAK,WAAW,IAAI,IAAMkB,KAAKlB,EAAWA,EAAEkB,KAAX,IAAK,KAAW,EAAEA,GAAGlB,EAAEkB,IAAI,OAAOnB,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAMC,EAAE,KAAK,MAAaA,IAAP,OAAW,EAAE,KAAK,MAAM,CAAC,KAAKA,EAAE,MAAM,YAAY,KAAK,MAAM,MAAM,UAAU,MAAM,KAAKA,EAAE,MAAM,CAAC,EAAE,IAAM,EAAE,KAAK,WAAW,IAAI,IAAMA,KAAK,EAAE,CAAC,IAAMC,EAAE,EAAED,GAAG,EAAE,KAAK,WAAWA,GAAGC,EAAE,OAAOF,EAAE,KAAK,CAAC,IAAME,EAAE,EAAE,CAAKE,EAAE,GAAM,IAAI,IAAMH,KAAK,KAAK,gBAAgB,CAAC,IAAMkB,EAAE,KAAK,gBAAgBlB,GAASO,EAAE,EAAE,CAAC,IAAI,IAAIP,EAAE,EAAEC,EAAEiB,EAAE,OAAOlB,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAElB,GAAG,EAAE,KAAKC,EAAE,OAAOF,EAAE,KAAK,CAAC,CAAIQ,EAAE,OAAO,IAAG,EAAEP,GAAGO,EAAE,EAAE,IAASJ,IAAG,EAAE,KAAK,gBAAgBF,EAAE,EAAE,KAAK,qBAAqB,KAAK,sBAAqB,IAAMM,EAAE,KAAK,OAAO,EAAE,OAAO,IAAI,EAAE,KAAK,OAAO,KAAK,MAAM,KAAK,UAAUA,EAAE,CAAC,EAAE,IAAM,EAAE,KAAK,eAA6F,OAAvE,IAAP,OAAW,EAAE,KAAK,eAAe,CAAC,OAAO,EAAE,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAASR,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,WAAW,EAAE,CAAC,KAAK,gBAAgB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,KAAK,eAAe,KAAK,IAAMC,EAAE,EAAE,CAAC,KAAK,KAAKD,EAAE,KAAK,IAAM,EAAEA,EAAE,MAAa,IAAP,MAAU,KAAK,SAAS,EAAE,MAAMC,EAAE,CAAC,CAAC,IAAMC,EAAEF,EAAE,WAAW,IAAI,IAAMA,KAAKE,EAAE,CAAC,IAAMiB,EAAEjB,EAAEF,GAAG,KAAK,aAAaA,EAAEmB,EAAE,MAAMlB,EAAE,CAAC,CAAC,IAAMG,EAAEJ,EAAE,gBAAgB,IAAI,IAAMA,KAAKI,EAAE,CAAC,IAAMe,EAAE,EAAE,CAAOjB,EAAEE,EAAEJ,GAAG,IAAI,IAAIA,EAAE,EAAEI,EAAEF,EAAE,OAAOF,EAAEI,EAAE,IAAI,EAAE,KAAKF,EAAEF,GAAG,MAAMC,EAAE,CAAC,CAAC,KAAK,gBAAgBD,GAAGmB,EAAE,KAAK,qBAAqBnB,EAAE,qBAAqB,IAAMQ,EAAER,EAAE,OAAO,IAAI,IAAIA,EAAE,EAAEC,EAAEO,EAAE,OAAOR,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEO,EAAER,GAAG,KAAK,SAASC,EAAE,MAAMA,EAAE,MAAMA,EAAE,cAAc,CAAC,IAAM,EAAED,EAAE,YAAmB,IAAP,OAAW,KAAK,YAAY,EAAE,OAAO,EAAE,IAAM,EAAEA,EAAE,eAAwO,OAAlN,IAAP,OAAW,KAAK,eAAe,EAAE,OAAO,EAAE,KAAK,UAAU,MAAMA,EAAE,UAAU,MAAM,KAAK,UAAU,MAAMA,EAAE,UAAU,MAAM,KAAK,SAASA,EAAE,SAAkBA,EAAE,aAAX,IAAK,KAAmB,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,EAAS,KAAK,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,GAAE,GAAe,UAAU,iBAAiB,GAAWuR,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAUC,GAAG,IAAI,GAAalQ,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcL,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcI,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcE,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcH,GAAG,IAAI,EAAcX,GAAG,IAAI,EAAc,GAAN,cAAmB,EAAQ,CAAC,YAAY,EAAE,IAAI,GAAe,EAAE,IAAI,GAAkB,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,KAAK,SAASlB,EAAE,KAAK,SAASC,EAAE,KAAK,oBAAoB,CAAC,KAAK,EAAE,CAAyQ,OAAxQ,MAAM,KAAKD,EAAE,CAAUA,EAAE,wBAAX,IAAK,KAA8B,KAAK,sBAAsBA,EAAE,sBAAsB,OAAO,EAAWA,EAAE,wBAAX,IAAK,KAA8B,KAAK,sBAAsB,OAAO,OAAO,EAAE,CAACA,EAAE,sBAAsB,EAAE,KAAK,SAASA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAgB,KAAK,oBAAoB,CAAC,IAAMA,EAAE,KAAK,SAAS,GAAGA,EAAE,iBAAiB,CAAC,IAAMC,EAAED,EAAE,gBAAsB,EAAE,OAAO,KAAKC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAMD,EAAEC,EAAE,EAAE,IAAI,GAAYD,IAAT,IAAK,GAAM,CAAC,KAAK,sBAAsB,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,CAAC,IAAMA,EAAEnB,EAAEC,GAAG,MAAM,OAAOA,EAAE,CAAC,KAAK,sBAAsB,KAAK,EAAE,CAAC,KAAK,sBAAsBkB,GAAGlB,SAAS,CAAC,IAAMA,EAAED,EAAE,aAAsBC,IAAT,IAAK,IAAOA,EAAE,OAAO,GAAG,QAAQ,MAAM,uGAAuG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAeC,EAAE,KAAK,SAAeE,EAAE,KAAK,YAAkO,GAA1MF,IAAT,IAAK,KAAoB,EAAE,iBAAT,MAAyB,EAAE,uBAAuB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC,GAAG,aAAaE,EAAE,CAAI,KAAQJ,EAAE,IAAI,iBAAiByR,GAAG,IAAQ,GAAG,KAAKrR,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAKJ,EAAE,IAAI,CAAC,aAAauR,GAAG,CAAW,EAAE,cAAT,MAAsB,KAAQC,GAAG,cAAc,EAAE,YAAY,EAAC,OAAO,IAAIhR,EAAE,GAAG,EAAE,iBAAiB,CAAC,IAAMJ,EAAE,EAAE,MAAY,EAAE,EAAE,WAAW,SAAe,EAAE,EAAE,gBAAgB,SAAeK,EAAE,EAAE,qBAA2BC,EAAE,EAAE,WAAW,GAASC,EAAE,EAAE,WAAW,IAAUC,EAAE,EAAE,OAAaC,EAAE,EAAE,UAAU,GAAUT,IAAP,KAAS,GAAG,MAAM,QAAQF,EAAE,CAAC,IAAI,IAAIiB,EAAE,EAAEL,EAAEF,EAAE,OAAOO,EAAEL,EAAE,IAAI,CAAC,IAAMA,EAAEF,EAAEO,GAASJ,EAAEb,EAAEY,EAAE,eAAqB,EAAE,KAAK,IAAIA,EAAE,MAAMD,EAAE,MAAM,CAAOoB,EAAE,KAAK,IAAI7B,EAAE,MAAM,KAAK,IAAIU,EAAE,MAAMA,EAAE,MAAMD,EAAE,MAAMA,EAAE,MAAM,CAAC,CAAC,IAAI,IAAIM,EAAE,EAAEjB,EAAE+B,EAAEd,EAAEjB,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAEE,EAAE,KAAKe,EAAE,CAAOP,EAAER,EAAE,KAAKe,EAAE,EAAE,CAAON,EAAET,EAAE,KAAKe,EAAE,EAAE,CAAC,EAAE,GAAgC,KAAKJ,EAAEf,EAAEwR,GAAG,EAAE,EAAE/Q,EAAEC,EAAEC,EAAET,EAAEU,EAAEC,EAAE,CAAIL,IAAG,EAAE,UAAU,KAAK,MAAMW,EAAE,EAAE,CAAC,EAAE,KAAK,cAAcL,EAAE,cAAc,EAAE,KAAKN,EAAE,OAAO,CAAC,IAAMW,EAAE,KAAK,IAAI,EAAEN,EAAE,MAAM,CAAOD,EAAE,KAAK,IAAIR,EAAE,MAAMS,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIA,EAAEM,EAAEL,EAAEF,EAAEC,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAMK,EAAEf,EAAE,KAAKS,EAAE,CAAOD,EAAER,EAAE,KAAKS,EAAE,EAAE,CAAOC,EAAEV,EAAE,KAAKS,EAAE,EAAE,CAAC,EAAE,GAAgC,KAAKX,EAAEF,EAAEwR,GAAG,EAAE,EAAE/Q,EAAEC,EAAEC,EAAEQ,EAAEP,EAAEE,EAAE,CAAIN,IAAG,EAAE,UAAU,KAAK,MAAMK,EAAE,EAAE,CAAC,EAAE,KAAKL,EAAE,WAAoB,IAAT,IAAK,GAAM,GAAG,MAAM,QAAQN,EAAE,CAAC,IAAI,IAAIiB,EAAE,EAAEf,EAAEQ,EAAE,OAAOO,EAAEf,EAAE,IAAI,CAAC,IAAMA,EAAEQ,EAAEO,GAASL,EAAEZ,EAAEE,EAAE,eAAqBW,EAAE,KAAK,IAAIX,EAAE,MAAMS,EAAE,MAAM,CAAO,EAAE,KAAK,IAAI,EAAE,MAAM,KAAK,IAAIT,EAAE,MAAMA,EAAE,MAAMS,EAAE,MAAMA,EAAE,MAAM,CAAC,CAAC,IAAI,IAAIM,EAAEJ,EAAEb,EAAE,EAAEiB,EAAEjB,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAEiB,EAAQP,EAAEO,EAAE,EAAQN,EAAEM,EAAE,EAAE,EAAE,GAAgC,KAAKL,EAAEd,EAAEwR,GAAG,EAAE,EAAE/Q,EAAEC,EAAEC,EAAET,EAAEU,EAAEC,EAAE,CAAIL,IAAG,EAAE,UAAU,KAAK,MAAMW,EAAE,EAAE,CAAC,EAAE,KAAK,cAAcf,EAAE,cAAc,EAAE,KAAKI,EAAE,OAAO,CAAC,IAAMW,EAAE,KAAK,IAAI,EAAEN,EAAE,MAAM,CAAOT,EAAE,KAAK,IAAI,EAAE,MAAMS,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAID,EAAEO,EAAEN,EAAET,EAAEQ,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAMM,EAAEP,EAAQR,EAAEQ,EAAE,EAAQC,EAAED,EAAE,EAAE,EAAE,GAAgC,KAAKV,EAAEF,EAAEwR,GAAG,EAAE,EAAE/Q,EAAEC,EAAEC,EAAEQ,EAAEf,EAAES,EAAE,CAAIL,IAAG,EAAE,UAAU,KAAK,MAAMI,EAAE,EAAE,CAAC,EAAE,KAAKJ,EAAE,SAAS,EAAE,YAAY,QAAQ,MAAM,4FAA4F,GAAE,GAAK,UAAU,OAAO,GAAy7C,GAAN,MAAM,UAAoB,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,cAAc,KAAK,WAAW,CAAC,MAAMR,EAAE,OAAOC,EAAE,MAAM,EAAE,cAAcC,EAAE,eAAeE,EAAE,cAAcI,EAAE,CAAC,IAAM,EAAE,KAAK,EAAE,KAAK,MAAMN,EAAE,CAAC,EAAE,KAAK,MAAME,EAAE,CAAC,EAAE,KAAK,MAAMI,EAAE,CAAC,IAAM,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAKC,EAAE,EAAMC,EAAE,EAAE,EAAW,IAAI,IAAI,IAAI,GAAG,GAAG,EAAEZ,EAAED,EAAEQ,EAAEJ,EAAE,EAAE,CAAC,EAAW,IAAI,IAAI,IAAI,EAAE,GAAG,EAAEH,EAAE,CAACD,EAAEQ,EAAEJ,EAAE,EAAE,CAAC,EAAW,IAAI,IAAI,IAAI,EAAE,EAAEJ,EAAE,EAAEC,EAAEC,EAAEM,EAAE,EAAE,CAAC,EAAW,IAAI,IAAI,IAAI,EAAE,GAAGR,EAAE,EAAE,CAACC,EAAEC,EAAEM,EAAE,EAAE,CAAC,EAAW,IAAI,IAAI,IAAI,EAAE,GAAGR,EAAEC,EAAE,EAAEC,EAAEE,EAAE,EAAE,CAAC,EAAW,IAAI,IAAI,IAAI,GAAG,GAAGJ,EAAEC,EAAE,CAAC,EAAEC,EAAEE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBK,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM2B,EAAE9B,EAAE,EAAQ+B,EAAEzB,EAAEmB,EAAQO,EAAEhC,EAAE,EAAQsE,EAAEhE,EAAE,EAAQiE,EAAEhE,EAAE,EAAQiE,EAAE,EAAE,EAAQG,EAAElD,EAAE,EAAMmD,EAAE,EAAMC,EAAE,EAAQC,EAAE,IAAI,EAAQ,IAAI,IAAI9E,EAAE,EAAEA,EAAE2E,EAAE,IAAI,CAAC,IAAMnE,EAAER,EAAE+B,EAAEuC,EAAE,IAAI,IAAIzC,EAAE,EAAEA,EAAE2C,EAAE,IAAmB,EAAEhF,IAARqC,EAAEC,EAAEE,GAAStC,EAAE,EAAED,GAAGe,EAAEZ,EAAE,EAAEe,GAAG4D,EAAE,EAAE,KAAKO,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAEtF,GAAG,EAAE,EAAEC,GAAG,EAAE,EAAEkB,GAAGJ,EAAE,EAAE,EAAE,GAAG,EAAE,KAAKuE,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKjD,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE7B,EAAEyB,EAAE,CAAC,GAAG,EAAG,IAAI,IAAIjC,EAAE,EAAEA,EAAEiC,EAAE,IAAI,IAAI,IAAIhC,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEP,EAAEX,EAAE+E,EAAEhF,EAAQE,EAAEU,EAAEX,EAAE+E,GAAGhF,EAAE,GAASI,EAAEQ,GAAGX,EAAE,GAAG+E,GAAGhF,EAAE,GAASQ,EAAEI,GAAGX,EAAE,GAAG+E,EAAEhF,EAAE,EAAE,KAAKmB,EAAEjB,EAAEM,EAAE,CAAC,EAAE,KAAKN,EAAEE,EAAEI,EAAE,CAAC,GAAG,EAAE,EAAE,SAASK,EAAEwE,EAAEnD,EAAE,CAAC,GAAGmD,EAAE,GAAGD,GAAG,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAYpF,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAMA,EAAE,cAAcA,EAAE,eAAeA,EAAE,cAAc,GAAma6F,GAAG,CAAC,MAAM,GAAc,MAAM,GAAc,CAAK6L,GAAG;;GAAoGC,GAAG;;GAAuE,GAAN,cAA6B,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,QAAQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAaD,GAAG,KAAK,eAAeC,GAAG,KAAK,UAAU,EAAE,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,IAAI,GAAM,KAAK,OAAO,GAAM,KAAK,SAAS,GAAM,KAAK,WAAW,CAAC,YAAY,GAAM,UAAU,GAAM,YAAY,GAAM,iBAAiB,GAAM,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAoB,IAAK,GAAE,KAAK,mBAAmB,GAAM,KAAK,YAAY,KAAiB3R,IAAT,IAAK,KAAgBA,EAAE,aAAX,IAAK,IAAkB,QAAQ,MAAM,0FAA0F,CAAC,KAAK,UAAUA,EAAE,EAAE,KAAK,EAAE,CAA0W,OAAzW,MAAM,KAAKA,EAAE,CAAC,KAAK,eAAeA,EAAE,eAAe,KAAK,aAAaA,EAAE,aAAa,KAAK,SAAS,GAAcA,EAAE,SAAS,CAAC,KAAK,QAAQ,OAAO,OAAO,EAAE,CAACA,EAAE,QAAQ,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,OAAOA,EAAE,OAAO,KAAK,SAASA,EAAE,SAAS,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,YAAYA,EAAE,YAAmB,KAAK,OAAO,EAAE,CAAC,IAAMC,EAAE,MAAM,OAAOD,EAAE,CAA8C,IAAI,IAAMmB,IAAvD,GAAE,YAAY,KAAK,YAAY,EAAE,SAAS,EAAE,CAAgB,KAAK,SAAS,CAA0B,IAAMf,EAAvB,KAAK,SAASe,GAAa,MAAM,GAAGf,EAAE,UAAU,EAAE,SAASe,GAAG,CAAC,KAAK,IAAI,MAAMf,EAAE,OAAOJ,EAAE,CAAC,KAAK,CAACI,GAAGA,EAAE,QAAQ,EAAE,SAASe,GAAG,CAAC,KAAK,IAAI,MAAMf,EAAE,QAAQ,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASe,GAAG,CAAC,KAAK,KAAK,MAAMf,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASe,GAAG,CAAC,KAAK,KAAK,MAAMf,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASe,GAAG,CAAC,KAAK,KAAK,MAAMf,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASe,GAAG,CAAC,KAAK,KAAK,MAAMf,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASe,GAAG,CAAC,KAAK,KAAK,MAAMf,EAAE,SAAS,CAAC,CAAC,EAAE,SAASe,GAAG,CAAC,MAAMf,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,OAAO,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,aAAa,KAAK,aAAa,EAAE,eAAe,KAAK,eAAe,IAAM,EAAE,EAAE,CAAC,IAAI,IAAMJ,KAAK,KAAK,WAAW,KAAO,KAAK,WAAWA,KAAK,EAAEA,GAAG,IAAgD,OAA1C,OAAO,KAAK,EAAE,CAAC,OAAO,IAAI,EAAE,WAAW,GAAUC,IAAG,GAAe,UAAU,iBAAiB,GAAW,GAAN,cAAqB,EAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,KAAK,mBAAmB,IAAI,EAAQ,KAAK,iBAAiB,IAAI,EAAQ,KAAK,wBAAwB,IAAI,EAAQ,KAAK,EAAE,EAAE,CAAgL,OAA/K,MAAM,KAAKD,EAAEC,EAAE,CAAC,KAAK,mBAAmB,KAAKD,EAAE,mBAAmB,CAAC,KAAK,iBAAiB,KAAKA,EAAE,iBAAiB,CAAC,KAAK,wBAAwB,KAAKA,EAAE,wBAAwB,CAAQ,KAAK,kBAAkB,EAAE,CAAC,KAAK,kBAAkB,GAAK,GAAM,CAAC,IAAMC,EAAE,KAAK,YAAY,SAAS,OAAOD,EAAE,IAAI,CAACC,EAAE,GAAG,CAACA,EAAE,GAAG,CAACA,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,kBAAkBD,EAAE,CAAC,KAAK,mBAAmB,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,kBAAkBA,EAAEC,EAAE,CAAC,KAAK,mBAAmB,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,GAAE,GAAO,UAAU,SAAS,GAAW,GAAN,cAAgC,EAAM,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,IAAID,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,IAAIE,EAAE,KAAK,MAAM,GAAG,KAAK,OAAOD,EAAE,KAAK,KAAK,KAAK,KAAK,UAAU,GAAG,KAAK,WAAW,EAAE,KAAK,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAuO,OAAtO,MAAM,KAAKD,EAAEC,EAAE,CAAC,KAAK,IAAID,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,KAAKA,EAAE,KAAK,KAAK,IAAIA,EAAE,IAAI,KAAK,MAAMA,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,KAAK,KAAYA,EAAE,OAAT,KAAc,KAAK,OAAO,OAAO,EAAE,CAACA,EAAE,KAAK,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAkB,KAAK,eAAe,EAAE,CAAC,IAAMC,EAAE,GAAG,KAAK,eAAe,CAACD,EAAE,KAAK,IAAI,EAAEO,GAAG,KAAK,KAAKN,EAAE,CAAC,KAAK,wBAAwB,CAAC,gBAAgB,CAAC,IAAMD,EAAE,KAAK,IAAI,GAAGM,GAAG,KAAK,IAAI,CAAC,MAAM,IAAG,KAAK,eAAe,CAACN,EAAE,iBAAiB,CAAC,MAAO,GAAEO,GAAG,KAAK,KAAK,KAAK,IAAI,GAAGD,GAAG,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,eAAe,CAAC,OAAO,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAON,EAAEC,EAAS,KAAK,OAAZ,OAAmB,KAAK,KAAK,CAAC,QAAQ,GAAK,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,KAAK,QAAQ,GAAK,KAAK,KAAK,UAAUD,EAAE,KAAK,KAAK,WAAWC,EAAE,KAAK,KAAK,QAAQ,EAAE,KAAK,KAAK,QAAQC,EAAE,KAAK,KAAK,MAAME,EAAE,KAAK,KAAK,OAAOI,EAAE,KAAK,wBAAwB,CAAC,iBAAiB,CAAQ,KAAK,OAAZ,OAAmB,KAAK,KAAK,QAAQ,IAAO,KAAK,wBAAwB,CAAC,wBAAwB,CAAC,IAAMR,EAAE,KAAK,KAASC,EAAED,EAAE,KAAK,IAAI,GAAGM,GAAG,KAAK,IAAI,CAAC,KAAK,KAAS,EAAE,EAAEL,EAAMC,EAAE,KAAK,OAAO,EAAME,EAAE,IAAIF,EAAQM,EAAE,KAAK,KAAK,GAAU,KAAK,OAAZ,MAAkB,KAAK,KAAK,QAAQ,CAAC,IAAMR,EAAEQ,EAAE,UAAUQ,EAAER,EAAE,WAAW,GAAGA,EAAE,QAAQN,EAAEF,EAAE,GAAGQ,EAAE,QAAQ,EAAEQ,EAAE,GAAGR,EAAE,MAAMR,EAAE,GAAGQ,EAAE,OAAOQ,EAAE,IAAM,EAAE,KAAK,WAAe,IAAJ,IAAQ,GAAGhB,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,gBAAgBI,EAAEA,EAAEF,EAAED,EAAEA,EAAE,EAAED,EAAE,KAAK,IAAI,CAAC,KAAK,wBAAwB,KAAK,KAAK,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAMC,EAAE,MAAM,OAAOD,EAAE,CAAuR,MAAtR,GAAE,OAAO,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,EAAE,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO,OAAO,KAAK,OAAc,KAAK,OAAZ,OAAmB,EAAE,OAAO,KAAK,OAAO,OAAO,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE,OAAO,UAAU,KAAK,UAAU,EAAE,OAAO,WAAW,KAAK,WAAkBC,IAAG,GAAkB,UAAU,oBAAoB,GAAW2R,GAAG,GAAGC,GAAG,EAAQ,GAAN,cAAyB,EAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,CAAgC,GAA/B,OAAO,CAAC,KAAK,KAAK,aAAgB,KAAO,EAAE,wBAAwB,CAAC,QAAQ,MAAM,yGAAyG,CAAC,OAAO,KAAK,aAAa,EAAE,IAAM3R,EAAE,IAAI,GAAkB0R,GAAGC,GAAG7R,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAIC,EAAE,CAAC,IAAME,EAAE,IAAI,GAAkBwR,GAAGC,GAAG7R,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAQ,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,IAAIG,EAAE,CAAC,IAAMI,EAAE,IAAI,GAAkBoR,GAAGC,GAAG7R,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAIO,EAAE,CAAC,IAAM,EAAE,IAAI,GAAkBoR,GAAGC,GAAG7R,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,IAAI,EAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAM,EAAE,IAAI,GAAkB2R,GAAGC,GAAG7R,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAMQ,EAAE,IAAI,GAAkBmR,GAAGC,GAAG7R,EAAEC,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,IAAIQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAQ,KAAK,SAAZ,MAAoB,KAAK,mBAAmB,CAAC,IAAM,EAAE,KAAK,aAAkB,CAACP,EAAEE,EAAEI,EAAE,EAAE,EAAEC,GAAG,KAAK,SAAeC,EAAEV,EAAE,GAAG,QAAcW,EAAEX,EAAE,iBAAiB,CAAC,EAAE,GAAG,QAAQ,GAAM,IAAMY,EAAE,EAAE,QAAQ,gBAAgB,EAAE,QAAQ,gBAAgB,GAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,OAAOX,EAAEC,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,OAAOD,EAAEG,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,OAAOH,EAAEO,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,OAAOP,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,OAAOA,EAAE,EAAE,CAAC,EAAE,QAAQ,gBAAgBW,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,OAAOX,EAAEQ,EAAE,CAAC,EAAE,gBAAgBE,EAAE,CAAC,EAAE,GAAG,QAAQD,IAAS,GAAN,cAA0B,EAAO,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAWV,IAAT,IAAK,GAAQ,EAAE,CAAJA,EAAK,EAAWC,IAAT,IAAK,GAAQ,GAAFA,EAAK,MAAMD,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAEC,EAAEC,EAAE,CAAC,KAAK,MAAM,GAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC,KAAK,MAAMV,IAAG,GAAY,UAAU,cAAc,GAAW,GAAN,cAAoC,EAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,CAAI,OAAO,UAAUC,EAAE,GAAE,QAAQ,KAAK,mGAAmG,CAAC,EAAE,GAAE,MAAMD,EAAEA,EAAEC,EAAE,CAAC,IAAK,EAAE,CAAC,KAAK,QAAQ,IAAI,GAAY,IAAK,GAAEA,EAAE,QAAQA,EAAE,MAAMA,EAAE,MAAMA,EAAE,UAAUA,EAAE,UAAUA,EAAE,OAAOA,EAAE,KAAKA,EAAE,WAAWA,EAAE,SAAS,CAAC,KAAK,QAAQ,sBAAsB,GAAK,KAAK,QAAQ,gBAAyBA,EAAE,kBAAX,IAAK,IAAuBA,EAAE,gBAAgB,KAAK,QAAQ,UAAmBA,EAAE,YAAX,IAAK,GAA4BiG,GAAZjG,EAAE,UAAa,KAAK,QAAQ,iBAAiB,GAAM,2BAA2B,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAKA,EAAE,KAAK,KAAK,QAAQ,OAAOkD,GAAG,KAAK,QAAQ,SAASlD,EAAE,SAAS,KAAK,QAAQ,gBAAgBA,EAAE,gBAAgB,KAAK,QAAQ,UAAUA,EAAE,UAAU,KAAK,QAAQ,UAAUA,EAAE,UAAU,IAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;;;;;;;;;;;;;;;;;;KAAqY,eAAe;;;;;;;;;;;;;;;;;KAA+U,CAAOC,EAAE,IAAI,GAAY,EAAE,EAAE,EAAE,CAAOE,EAAE,IAAI,GAAe,CAAC,KAAK,sBAAsB,SAAS,GAAc,EAAE,SAAS,CAAC,aAAa,EAAE,aAAa,eAAe,EAAE,eAAe,KAAK,GAAE,SAAS6B,GAAE,CAAC,CAAC,EAAE,SAAS,UAAU,MAAMhC,EAAE,IAAMO,EAAE,IAAI,GAAKN,EAAEE,EAAE,CAAO,EAAEH,EAAE,UAAqJ,OAA3I,EAAE,YAAY0H,KAAK,EAAE,UAAUzB,IAAY,IAAI,GAAW,EAAE,GAAG,KAAK,CAAG,OAAOlG,EAAEQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,SAAS,SAAS,CAAC,EAAE,SAAS,SAAS,CAAQ,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMJ,EAAEJ,EAAE,iBAAiB,CAAC,IAAI,IAAII,EAAE,EAAEA,EAAE,EAAE,IAAK,EAAE,gBAAgB,KAAKA,EAAE,CAAC,EAAE,MAAMH,EAAE,EAAEC,EAAE,CAAC,EAAE,gBAAgBE,EAAE,GAAE,GAAsB,UAAU,wBAAwB,GAAW0R,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAc,GAAN,KAAW,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAOhS,EAAE,KAAK,SAASC,EAAE,IAAI,EAAE,EAAE,CAAqC,OAApC,KAAK,OAAO,KAAKD,EAAE,CAAC,KAAK,SAASC,EAAS,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,CAAwC,OAAvC,KAAK,OAAO,IAAID,EAAEC,EAAE,EAAE,CAAC,KAAK,SAASC,EAAS,KAAK,8BAA8B,EAAE,EAAE,CAAuD,OAAtD,KAAK,OAAO,KAAKF,EAAE,CAAC,KAAK,SAAS,CAACC,EAAE,IAAI,KAAK,OAAO,CAAQ,KAAK,sBAAsB,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE4R,GAAG,WAAW,EAAE7R,EAAE,CAAC,MAAM8R,GAAG,WAAW/R,EAAEC,EAAE,CAAC,CAAC,WAAW,CAAyC,OAAxC,KAAK,8BAA8BC,EAAEF,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAqD,OAApD,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,SAASA,EAAE,SAAgB,KAAK,WAAW,CAAC,IAAMA,EAAE,EAAE,KAAK,OAAO,QAAQ,CAAgD,OAA/C,KAAK,OAAO,eAAeA,EAAE,CAAC,KAAK,UAAUA,EAAS,KAAK,QAAQ,CAAwC,MAAvC,MAAK,UAAU,GAAG,KAAK,OAAO,QAAQ,CAAQ,KAAK,gBAAgB,EAAE,CAAC,OAAO,KAAK,OAAO,IAAIA,EAAE,CAAC,KAAK,SAAS,iBAAiB,EAAE,CAAC,OAAO,KAAK,gBAAgBA,EAAE,OAAO,CAACA,EAAE,OAAO,aAAa,EAAE,EAAE,CAAC,OAAOC,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,KAAK,gBAAgBD,EAAE,CAAC,CAAC,IAAIA,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,MAAM8R,GAAG,CAAO5R,EAAE,KAAK,OAAO,IAAI,EAAE,CAAC,GAAOA,IAAJ,EAAM,OAAW,KAAK,gBAAgBF,EAAE,MAAM,GAAjC,EAAkCC,EAAE,KAAKD,EAAE,MAAM,CAAC,KAAK,IAAMI,EAAE,EAAEJ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,KAAK,UAAUE,EAAE,OAAOE,EAAE,GAAGA,EAAE,EAAE,KAAKH,EAAE,KAAK,EAAE,CAAC,eAAeG,EAAE,CAAC,IAAIJ,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,IAAMC,EAAE,KAAK,gBAAgBD,EAAE,MAAM,CAAO,EAAE,KAAK,gBAAgBA,EAAE,IAAI,CAAC,OAAOC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,cAAc,EAAE,CAAC,OAAOD,EAAE,gBAAgB,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAOA,EAAE,gBAAgB,KAAK,CAAC,cAAc,EAAE,CAAC,OAAOA,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,IAAM,EAAEC,GAAG+R,GAAG,gBAAgBhS,EAAE,CAAOE,EAAE,KAAK,cAAc4R,GAAG,CAAC,aAAa9R,EAAE,CAAOI,EAAE,KAAK,OAAO,aAAa,EAAE,CAAC,WAAW,CAAyB,MAAxB,MAAK,SAAS,CAACF,EAAE,IAAIE,EAAE,CAAQ,KAAK,UAAU,EAAE,CAAmC,MAAlC,MAAK,UAAUJ,EAAE,IAAI,KAAK,OAAO,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,OAAO,OAAO,KAAK,OAAO,EAAEA,EAAE,WAAW,KAAK,SAAS,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,GAAE,GAAM,UAAU,QAAQ,GAAWiS,GAAG,IAAI,GAAaC,GAAG,IAAI,EAAc,GAAN,KAAa,CAAC,YAAY,EAAE,IAAI,GAAM,EAAE,IAAI,GAAM,EAAE,IAAI,GAAM,EAAE,IAAI,GAAM,EAAE,IAAI,GAAM,EAAE,IAAI,GAAM,CAAC,KAAK,OAAO,CAAClS,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAqF,OAA9E,EAAE,GAAG,KAAKR,EAAE,CAAC,EAAE,GAAG,KAAKC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,KAAKC,EAAE,CAAC,EAAE,GAAG,KAAKE,EAAE,CAAC,EAAE,GAAG,KAAKI,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAC,IAAMP,EAAE,KAAK,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAKD,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC,IAAMC,EAAE,KAAK,OAAa,EAAED,EAAE,SAAeE,EAAE,EAAE,GAAGE,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAS,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAASC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAU,EAAE,EAAE,IAAIkB,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAII,EAAE,EAAE,IAAoS,OAAhS,EAAE,GAAG,cAAc,EAAEpC,EAAES,EAAE,EAAEI,EAAEH,EAAE0B,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,cAAc,EAAEpC,EAAES,EAAE,EAAEI,EAAEH,EAAE0B,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,cAAc,EAAElC,EAAEO,EAAEF,EAAEM,EAAEF,EAAEyB,EAAEL,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,cAAc,EAAE7B,EAAEO,EAAEF,EAAEM,EAAEF,EAAEyB,EAAEL,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,cAAc,EAAEzB,EAAEG,EAAED,EAAEK,EAAED,EAAEwB,EAAEJ,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,cAAc,EAAE1B,EAAEG,EAAED,EAAEK,EAAED,EAAEwB,EAAEJ,EAAE,CAAC,WAAW,CAAQ,KAAK,iBAAiB,EAAE,CAAC,IAAMjC,EAAED,EAAE,SAAkH,OAAlGC,EAAE,iBAAT,MAAyBA,EAAE,uBAAuB,CAAC,GAAG,KAAKA,EAAE,eAAe,CAAC,aAAaD,EAAE,YAAY,CAAQ,KAAK,iBAAiBiS,GAAG,CAAC,iBAAiB,EAAE,CAAiF,OAAhF,GAAG,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,kBAAkB,GAAG,aAAajS,EAAE,YAAY,CAAQ,KAAK,iBAAiBiS,GAAG,CAAC,iBAAiB,EAAE,CAAC,IAAMhS,EAAE,KAAK,OAAa,EAAED,EAAE,OAAaE,EAAE,CAACF,EAAE,OAAO,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAqC,GAAxBC,EAAED,GAAG,gBAAgB,EAAE,CAAME,EAAE,MAAO,GAAM,MAAO,GAAK,cAAc,EAAE,CAAC,IAAMD,EAAE,KAAK,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAMC,EAAED,EAAE,GAAyG,GAAtG,GAAG,EAAEC,EAAE,OAAO,EAAE,EAAEF,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,GAAG,EAAEE,EAAE,OAAO,EAAE,EAAEF,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,GAAG,EAAEE,EAAE,OAAO,EAAE,EAAEF,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAKE,EAAE,gBAAgBgS,GAAG,CAAC,EAAE,MAAO,GAAM,MAAO,GAAK,cAAc,EAAE,CAAC,IAAMjS,EAAE,KAAK,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,GAAGA,EAAE,GAAG,gBAAgBD,EAAE,CAAC,EAAE,MAAO,GAAM,MAAO,GAAK,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,GAAqhE,GAAN,MAAM,UAAsB,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,MAAMA,EAAE,OAAOC,EAAE,cAAc,EAAE,eAAeC,EAAE,CAAC,IAAME,EAAEJ,EAAE,EAAQQ,EAAEP,EAAE,EAAQ,EAAE,KAAK,MAAM,EAAE,CAAO,EAAE,KAAK,MAAMC,EAAE,CAAOO,EAAE,EAAE,EAAQC,EAAE,EAAE,EAAQC,EAAEX,EAAE,EAAQY,EAAEX,EAAE,EAAQY,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAO,EAAE,EAAE,CAAC,IAAI,IAAIf,EAAE,EAAEA,EAAEU,EAAE,IAAI,CAAC,IAAMT,EAAED,EAAEY,EAAEJ,EAAE,IAAI,IAAIW,EAAE,EAAEA,EAAEV,EAAE,IAAI,CAAC,IAAMP,EAAEiB,EAAER,EAAEP,EAAE,EAAE,KAAKF,EAAE,CAACD,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKkB,EAAE,EAAE,CAAC,EAAE,KAAK,EAAEnB,EAAE,EAAE,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAElB,EAAEQ,EAAET,EAAQE,EAAED,EAAEQ,GAAGT,EAAE,GAASI,EAAEH,EAAE,EAAEQ,GAAGT,EAAE,GAASQ,EAAEP,EAAE,EAAEQ,EAAET,EAAE,EAAE,KAAKmB,EAAEjB,EAAEM,EAAE,CAAC,EAAE,KAAKN,EAAEE,EAAEI,EAAE,CAAC,KAAK,SAASK,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAcf,EAAE,MAAMA,EAAE,OAAOA,EAAE,cAAcA,EAAE,eAAe,GAAwp4GqE,EAAG,CAAC,kBAAnp4G;;QAAwq4G,uBAAhl4G;;QAA0m4G,mBAAti4G;;QAA4j4G,wBAAx+3G;;QAAmg4G,eAAj83G;;;;;;;QAAm93G,oBAAzi3G;;;QAAgk3G,aAAj+2G,uCAAi/2G,mBAAn82G;;;QAAy92G,MAAn22G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA422G,sBAA3xsG;;;;;;;;;;;;;;;;;;;;;QAAozsG,yBAA72qG;;;;;;;;;;;;;;;;;;QAAy4qG,8BAArwpG;;;QAAsypG,4BAAnqpG;;QAAkspG,uBAAtnpG;;QAAgppG,eAA9jpG;;;;QAAglpG,oBAA18oG;;;;QAAi+oG,kBAAr2oG;;;;QAA03oG,aAA3toG;;;;;;;;;;QAA2uoG,OAAn9nG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA69nG,4BAAnsjG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAkujG,qBAA1z8F;;;;;;;;;;;;;;;QAAk18F,4BAAhx7F;;;;QAA+y7F,uBAAtp7F;;QAAgr7F,qBAAtg7F;;;;QAA8h7F,0BAA106F;;QAAu26F,mBAA7x6F,sDAAmz6F,wBAAtv6F;;;;;;;;GAAix6F,gBAA9x5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAiz5F,4BAAn+2F;;;;;;;;;QAAkg3F,qBAA9y2F;;;;;;;;;;;QAAs02F,mBAAtg2F;;;;;;;;;;;QAA4h2F,8BAA7riF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA8tiF,cAAvx1F;;;;;;;;;;;;;;;;;QAAwy1F,WAArp0F;;QAAmq0F,gBAApm0F;;QAAun0F,aAA3j0F;;;;;;;QAA2k0F,kBAAzyzF;;;;;;;;;QAA8zzF,0BAA5mzF;;;;;;;;;;;GAAyozF,kBAA3vyF;;;;;;;QAAgxyF,uBAAl9xF;;;QAA4+xF,sBAAp4xF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA65xF,kBAAlqsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAursF,qBAAnzgF;2CAA20gF,0BAAhwgF;;;;;;;;;;;;;gDAA6xgF,sBAA38+E;;;;+CAAo++E,2BAAvx+E;;;;;;;;;;;;;;;;;;gDAAqz+E,yBAA3o8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAuq8E,8BAA513E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA633E,sBAAtyqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA+zqE,qBAA79iE;;;;;;;;;;;;;;;;;;QAAq/iE,oBAAjshE;;;;;QAAwthE,qBAAt8gE;;QAA89gE,0BAApygE;;;;QAAi0gE,wBAAjpgE;;;;;;;QAA4qgE,mBAA/+/D;;;;;;;;;;QAAqggE,aAA/n/D;;;;QAA+o/D,kBAAp/+D;;QAAyg/D,sBAA/8+D;;;;;;;;;QAAw++D,2BAA/o+D;;;;;;;;QAA6q+D,sBAA/99D;;;;QAAw/9D,2BAA109D;;QAAw29D,mBAA5x9D;;;;;;;;;;;;QAAkz9D,wBAA9u8D;;;;;;;;;;;;;;;;;;;;QAAyw8D,mBAA316D;;;;;;;;;;;;;;;;;;;;;;QAAi36D,sBAAz04D;;;;;;;;;;;;;;;;;;;;;;+BAAk24D,qBAAv/2D;;;;;;;;;;;;;;;;;;;QAA+g3D,qBAAr21D;;;;;;QAA631D,mBAAru1D;;;;;;QAA2v1D,cAAnm1D;;;;;;QAAon1D,wBAA140D;;;;;;;;;;;;;;;;;;;;;;QAAq60D,gCAAj7yD;;QAAo9yD,+BAAp4yD;;;;;;;;QAAs6yD,wBAA5iyD;;;;;;;;;QAAukyD,gBAA7yxD;;;;;;uDAAg0xD,QAAtoxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAipxD,6BAA9kuD;;QAA8muD,eAA3huD;;;;;8CAA6iuD,mBAAl1tD;;QAAw2tD,wBAAjxtD;;;;;;;QAA4ytD,sBAA19sD;;;;QAAm/sD,2BAAr0sD;;QAAm2sD,wBAAvxsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAkzsD,sBAAh46C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAy56C,iBAA/n4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAmp4C,yBAA111C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAs31C,gBAA79yC;;;;;QAAg/yC,qBAAvwyC;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA+xyC,gBAAxwwC;;;;;;;;QAA2xwC,kBAAr5vC;;;;;;;;;;;QAA06vC,qBAA98uC;;;;;;QAAs+uC,0BAAryuC;;QAAk0uC,qBAAxvuC;;QAAgxuC,0BAA5quC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAAysuC,sBAA95rC;;;;;;;;;;;;;;;;;;;QAAu7rC,2BAA9hqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA4jqC,iBAA/skC;;QAAmukC,eAAnokC;;;;;;;QAAqpkC,UAAtgkC;;QAAmhkC,kBAAv8jC;;QAA49jC,gBAAj4jC;;;;QAAo5jC,WAApwjC;;QAAkxjC,gBAA7pjC;;;;;;QAAgrjC,gBAAr3iC;;;;;GAAw4iC,gBAAjuiC;;;;;;;GAAoviC,UAA/giC;;;;;;;GAA4hiC,UAAlzhC;;;;;;;;;;;GAA+zhC,WAA59gC;;;;;;;;;;;;;;;;;;;;;;;;GAA0+gC,WAAzv/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuw/B,kBAAh49B;;;;;;;;;;;;;;;;;;;;;;;;GAAq59B,kBAA1r8B;;;;;;;;;;;;;;;;;;;;;;GAA+s8B,cAAr+6B;;;;;;GAAs/6B,cAA9y6B;;;;;;;;;;GAA+z6B,gBAA585B;;;;;;;;;;;;;;;;;;GAA+95B,gBAAv74B;;;;;;;;;;;;;;;;;;;;;;;;;GAA084B,eAAzr3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2s3B,eAA9y1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAg01B,iBAAlpyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsqyB,iBAAhiwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAojwB,gBAArurB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAwvrB,gBAA71pB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAg3pB,gBAAt2mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAy3mB,gBAAp4kB;;;;;;;;;;;;;;;;;;GAAu5kB,eAA1xjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4yjB,eAAnshB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqthB,kBAAhod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqpd,kBAA39a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAg/a,cAA13T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA24T,cAA91R;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA+2R,YAAnkO;;;;;;;;;;;;;;;;;;;;;;GAAklO,YAAp5M;;;;;;;;;;;;;;;;;;;;;;;GAAm6M,YAA7pL;;;;;;;;;;;;;;;;;;GAA4qL,YAA1oK;;;;;;;;;;;;;;GAAypK,YAA7uJ;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4vJ,YAA7nH;;;;;;;;;;;;;;;;;;;;;;;GAA4oH,CAAOyB,EAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,GAAQ,CAAC,aAAa,CAAC,MAAM,IAAI,GAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,EAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAM,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,IAAI,GAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAQ,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,IAAI,GAAQ,CAAC,CAAC,CAAO1D,GAAG,CAAC,MAAM,CAAC,SAAS,GAAc,CAAC0D,EAAG,OAAOA,EAAG,YAAYA,EAAG,OAAOA,EAAG,MAAMA,EAAG,SAASA,EAAG,IAAI,CAAC,CAAC,aAAazB,EAAG,eAAe,eAAeA,EAAG,eAAe,CAAC,QAAQ,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,YAAYA,EAAG,OAAOA,EAAG,MAAMA,EAAG,SAASA,EAAG,YAAYA,EAAG,IAAIA,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,iBAAiB,eAAeA,EAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,YAAYA,EAAG,OAAOA,EAAG,MAAMA,EAAG,SAASA,EAAG,YAAYA,EAAG,QAAQA,EAAG,UAAUA,EAAG,gBAAgBA,EAAG,IAAIA,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAM,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,eAAe,eAAeA,EAAG,eAAe,CAAC,SAAS,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,OAAOA,EAAG,MAAMA,EAAG,SAASA,EAAG,YAAYA,EAAG,QAAQA,EAAG,UAAUA,EAAG,gBAAgBA,EAAG,aAAaA,EAAG,aAAaA,EAAG,IAAIA,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,kBAAkB,eAAeA,EAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,MAAMA,EAAG,SAASA,EAAG,YAAYA,EAAG,QAAQA,EAAG,UAAUA,EAAG,gBAAgBA,EAAG,YAAYA,EAAG,IAAIA,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,cAAc,eAAeA,EAAG,cAAc,CAAC,OAAO,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,QAAQA,EAAG,UAAUA,EAAG,gBAAgBA,EAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,gBAAgB,eAAeA,EAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,IAAI,CAAC,CAAC,aAAazB,EAAG,YAAY,eAAeA,EAAG,YAAY,CAAC,OAAO,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,gBAAgB,eAAeA,EAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,gBAAgB,CAAC,CAAC,aAAazB,EAAG,WAAW,eAAeA,EAAG,WAAW,CAAC,OAAO,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,QAAQA,EAAG,UAAUA,EAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,gBAAgB,eAAeA,EAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,IAAI,CAAC,CAAC,aAAazB,EAAG,YAAY,eAAeA,EAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,IAAI,GAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,aAAaA,EAAG,gBAAgB,eAAeA,EAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,UAAU,eAAeA,EAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,aAAaA,EAAG,cAAc,eAAeA,EAAG,cAAc,CAAC,aAAa,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,IAAI,EAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,kBAAkB,eAAeA,EAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,GAAc,CAACyB,EAAG,OAAOA,EAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAazB,EAAG,YAAY,eAAeA,EAAG,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,GAAc,CAACjC,GAAG,SAAS,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,EAAQ,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,wBAAwB,CAAC,MAAM,IAAI,EAAQ,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,IAAI,EAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,EAAM,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAaiC,EAAG,kBAAkB,eAAeA,EAAG,kBAAkB,CAA06X,GAAN,cAAiC,EAAM,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,qBAAqB,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,KAAKrE,EAAE,KAAK,MAAMC,EAAE,KAAK,IAAI,EAAE,KAAK,OAAOC,EAAE,KAAK,KAAKE,EAAE,KAAK,IAAII,EAAE,KAAK,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAgM,OAA/L,MAAM,KAAKR,EAAEC,EAAE,CAAC,KAAK,KAAKD,EAAE,KAAK,KAAK,MAAMA,EAAE,MAAM,KAAK,IAAIA,EAAE,IAAI,KAAK,OAAOA,EAAE,OAAO,KAAK,KAAKA,EAAE,KAAK,KAAK,IAAIA,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,KAAYA,EAAE,OAAT,KAAc,KAAK,OAAO,OAAO,EAAE,CAACA,EAAE,KAAK,CAAQ,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAQ,KAAK,OAAZ,OAAmB,KAAK,KAAK,CAAC,QAAQ,GAAK,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,KAAK,QAAQ,GAAK,KAAK,KAAK,UAAUA,EAAE,KAAK,KAAK,WAAWC,EAAE,KAAK,KAAK,QAAQ,EAAE,KAAK,KAAK,QAAQC,EAAE,KAAK,KAAK,MAAME,EAAE,KAAK,KAAK,OAAOI,EAAE,KAAK,wBAAwB,CAAC,iBAAiB,CAAQ,KAAK,OAAZ,OAAmB,KAAK,KAAK,QAAQ,IAAO,KAAK,wBAAwB,CAAC,wBAAwB,CAAC,IAAMR,GAAG,KAAK,MAAM,KAAK,OAAO,EAAE,KAAK,MAAYC,GAAG,KAAK,IAAI,KAAK,SAAS,EAAE,KAAK,MAAY,GAAG,KAAK,MAAM,KAAK,MAAM,EAAQC,GAAG,KAAK,IAAI,KAAK,QAAQ,EAAME,EAAE,EAAEJ,EAAMQ,EAAE,EAAER,EAAM,EAAEE,EAAED,EAAM,EAAEC,EAAED,EAAE,GAAU,KAAK,OAAZ,MAAkB,KAAK,KAAK,QAAQ,CAAC,IAAMD,GAAG,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,UAAU,KAAK,KAAWC,GAAG,KAAK,IAAI,KAAK,QAAQ,KAAK,KAAK,WAAW,KAAK,KAAK,GAAGD,EAAE,KAAK,KAAK,QAAQ,EAAEI,EAAEJ,EAAE,KAAK,KAAK,MAAM,GAAGC,EAAE,KAAK,KAAK,QAAQ,EAAE,EAAEA,EAAE,KAAK,KAAK,OAAO,KAAK,iBAAiB,iBAAiBG,EAAEI,EAAE,EAAE,EAAE,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,wBAAwB,KAAK,KAAK,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAMP,EAAE,MAAM,OAAOD,EAAE,CAAyO,MAAxO,GAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO,IAAI,KAAK,IAAI,EAAE,OAAO,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,IAAI,KAAK,IAAW,KAAK,OAAZ,OAAmB,EAAE,OAAO,KAAK,OAAO,OAAO,EAAE,CAAC,KAAK,KAAK,EAASC,IAAG,GAAmB,UAAU,qBAAqB,GAAW,GAAN,cAAgC,EAAc,CAAC,YAAY,EAAE,CAAC,MAAMD,EAAE,CAAC,KAAK,KAAK,sBAAqB,GAAkB,UAAU,oBAAoB,GAAW8C,GAAG,EAAQF,GAAG,EAAQI,GAAY,GAAEJ,GAAUG,GAAG,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,CAAOF,GAAGD,GAAGE,GAAG,EAAEC,GAAG,OAAaoP,GAAG,GAASlP,GAAG,EAAEC,IAAI,GAAGa,IAAI,EAAE,CAAOqO,GAAG,IAAI,IAAyB,WAAWC,GAAG,UAAUC,GAAG,QAAQC,IAAI,IAAe,CAAOC,GAAG,IAAI,EAAUC,GAAG,KAAWC,IAAI,EAAE,KAAK,KAAK,EAAE,EAAE,EAAQC,GAAG,EAAED,GAASE,GAAG,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,GAAG,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,EAAQ,GAAG,EAAE,GAAG,CAAC,IAAI,EAAQ,EAAEF,GAAGC,GAAG,CAAC,IAAI,EAAQ,EAAED,GAAG,CAACC,GAAG,CAAC,IAAI,EAAQA,GAAG,EAAED,GAAG,CAAC,IAAI,EAAQ,CAACC,GAAG,EAAED,GAAG,CAAC,IAAI,EAAQA,GAAGC,GAAG,EAAE,CAAC,IAAI,EAAQ,CAACD,GAAGC,GAAG,EAAE,CAAC,CAAO,GAAN,KAAoB,CAAC,YAAY,EAAE,CAAC,KAAK,UAAU3S,EAAE,KAAK,sBAAsB,KAAK,KAAK,cAAc,GAAemS,GAAG,CAAC,KAAK,gBAAgB,KAAK,KAAK,eAAe,KAAK,KAAK,iBAAiB,KAAK,cAAc,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,UAAU,iBAAiB,CAAC,IAAM/R,EAAE,KAAK,kBAAkB,CAA4F,OAA3F,KAAK,eAAeJ,EAAE,EAAEE,EAAEE,EAAE,CAAC,EAAE,GAAG,KAAK,MAAMA,EAAE,EAAE,EAAEH,EAAE,CAAC,KAAK,YAAYG,EAAE,CAAC,KAAK,SAASA,EAAE,CAAQA,EAAE,oBAAoB,EAAE,CAAC,OAAO,KAAK,aAAaJ,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,aAAaA,EAAE,CAAC,sBAAsB,CAAW,KAAK,iBAAZ,OAA4B,KAAK,eAAe,IAAmB,CAAC,KAAK,iBAAiB,KAAK,eAAe,EAAE,8BAA8B,CAAW,KAAK,kBAAZ,OAA6B,KAAK,gBAAgB,IAAoB,CAAC,KAAK,iBAAiB,KAAK,gBAAgB,EAAE,SAAS,CAAC,KAAK,cAAc,SAAS,CAAQ,KAAK,iBAAZ,MAA4B,KAAK,eAAe,SAAS,CAAQ,KAAK,kBAAZ,MAA6B,KAAK,gBAAgB,SAAS,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAEqS,GAAG,OAAO,IAAI,GAAGrS,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,sBAAsB,SAAS,CAAC,KAAK,UAAU,gBAAgByS,GAAG,CAAC,EAAE,YAAY,GAAM,GAAazS,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK,UAAU,iBAAiB,CAAC,IAAMC,EAAE,KAAK,iBAAiBD,EAAE,CAAiE,OAAhE,KAAK,iBAAiBA,EAAEC,EAAE,CAAC,KAAK,YAAYA,EAAE,CAAC,KAAK,SAASA,EAAE,CAAQA,EAAE,iBAAiB,EAAE,CAAC,IAAMA,EAAE,CAAC,UAAUiG,GAAG,UAAUA,GAAG,gBAAgB,GAAM,KAAK0B,GAAG,OAAOzE,GAAG,SAASD,GAAG,YAAY,GAAM,CAAO,EAAE,GAAoBjD,EAAE,CAAoE,MAAnE,GAAE,YAAY,CAACD,EAAE,KAAK,sBAAsB,GAAoBC,EAAE,CAAQ,EAAE,iBAAiB,EAAE,CAAC,IAAMA,EAAE,IAAI,GAAKoS,GAAG,GAAGrS,EAAE,CAAC,KAAK,UAAU,QAAQC,EAAEmS,GAAG,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAsB,IAAM,EAAE,IAAI,GAAzB,GAAW,EAAoCnS,EAAE,EAAE,CAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAOQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,CAAOC,EAAE,KAAK,UAAgBC,EAAED,EAAE,UAAgBE,EAAEF,EAAE,YAAY,EAAE,cAAc8R,GAAG,CAAC,EAAE,YAAY7N,GAAE,EAAE,UAAU,GAAM,IAAM7D,EAAE,IAAI,GAAkB,CAAC,KAAK,mBAAmB,KAAK,GAAE,WAAW,GAAM,UAAU,GAAM,CAAC,CAAOC,EAAE,IAAI,GAAK,IAAI,GAAYD,EAAE,CAAK,EAAE,GAAYmB,EAAEjC,EAAE,WAAciC,EAAMA,EAAE,UAAS,EAAE,MAAM,KAAKA,EAAE,CAAC,EAAE,WAAW,KAAK,EAAE,KAAW,EAAE,MAAM,KAAKuQ,GAAG,CAAC,EAAE,IAAK,IAAI,IAAIvS,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAElB,EAAE,EAAQkB,GAAH,GAAM,EAAE,GAAG,IAAI,EAAE,EAAElB,GAAG,EAAE,CAAC,EAAE,OAAOQ,EAAER,GAAG,EAAE,EAAE,EAAYkB,GAAH,GAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAElB,GAAG,CAAC,EAAE,OAAO,EAAEQ,EAAER,GAAG,EAAE,GAAM,EAAE,GAAG,IAAI,EAAE,EAAEA,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,EAAEQ,EAAER,GAAG,EAAC,GAAaC,EAAEiB,EAAE6B,GAAG/C,EAAE,EAAE+C,GAAG,EAAEA,GAAGA,GAAG,CAAC,EAAE,gBAAgB9C,EAAE,CAAC,GAAGQ,EAAE,OAAOK,EAAE,EAAE,CAAC,EAAE,OAAOf,EAAE,EAAE,CAAC,EAAE,SAAS,SAAS,CAAC,EAAE,SAAS,SAAS,CAAC,EAAE,YAAYY,EAAE,EAAE,UAAUD,EAAE,EAAE,WAAWsB,EAAE,aAAa,EAAE,EAAE,CAAC,KAAO,KAAK,UAAU,aAAa,UAAUhC,EAAE,SAASkD,IAAIlD,EAAE,OAAOgF,IAAIhF,EAAE,WAAW8D,GAAG,EAAE,MAAMd,GAAGC,IAAI,EAAE,MAAMD,GAAGhD,EAAE,UAAU,iBAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,UAAgBC,EAAEF,EAAE,UAAU,IAAIA,EAAE,UAAU2C,GAAG,EAAE,KAAiC,iBAAe,IAAmB,CAAE,KAAkC,kBAAgB,IAAoB,CAAE,IAAMvC,EAAEF,EAAE,KAAK,eAAe,KAAK,gBAAsBM,EAAE,IAAI,GAAK6R,GAAG,GAAGjS,EAAE,CAAO,EAAEA,EAAE,SAAS,EAAE,OAAO,MAAMJ,EAAE,GAAG,EAAE,UAAU,MAAM,IAAI,EAAEA,EAAE,MAAM,MAAM,EAAEA,EAAE,MAAM,OAAO,CAAC,KAAK,aAAa,EAAE,cAAcA,EAAE,CAAC,GAAaC,EAAE,EAAE,EAAE,EAAE+C,GAAG,EAAEA,GAAG,CAAC,EAAE,gBAAgB/C,EAAE,CAAC,EAAE,OAAOO,EAAE4R,GAAG,CAAC,YAAY,EAAE,CAAC,IAAMnS,EAAE,KAAK,UAAgB,EAAEA,EAAE,UAAU,EAAE,UAAU,GAAM,IAAI,IAAIA,EAAE,EAAEA,EAAE4C,GAAG,IAAI,CAAC,IAAM1B,EAAE,KAAK,KAAKoR,GAAGtS,GAAGsS,GAAGtS,GAAGsS,GAAGtS,EAAE,GAAGsS,GAAGtS,EAAE,GAAG,CAAOC,EAAE0S,IAAI3S,EAAE,GAAG2S,GAAG,QAAQ,KAAK,MAAM5S,EAAEC,EAAE,EAAEA,EAAEkB,EAAEjB,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMM,EAAE,KAAK,sBAAsB,KAAK,UAAUR,EAAEQ,EAAEP,EAAE,EAAEC,EAAE,cAAcE,EAAE,CAAC,KAAK,UAAUI,EAAER,EAAE,EAAE,EAAEE,EAAE,eAAeE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,UAAgBK,EAAE,KAAK,cAA8BD,IAAhB,eAAoCA,IAAjB,gBAAoB,QAAQ,MAAM,6DAA6D,CAAC,IAAgBG,EAAE,IAAI,GAAK0R,GAAGnS,GAAGO,EAAE,CAAOG,EAAEH,EAAE,SAAeI,EAAEyR,GAAG,GAAG,EAAQxR,EAAE,SAASV,EAAE,CAAC,KAAK,IAAI,EAAES,GAAG,EAAE,KAAK,IAAI,EAAEsR,GAAG,GAASpR,EAAEX,EAAEU,EAAQ,EAAE,SAASV,EAAE,CAAC,EAAE,KAAK,MAAMM,EAAEK,EAAE,CAACoR,GAAG,EAAEA,IAAI,QAAQ,KAAK,iBAAiB/R,EAAE,gDAAgD,EAAE,sCAAsC+R,KAAK,CAAC,IAAMlQ,EAAE,EAAE,CAAKC,EAAE,EAAE,IAAI,IAAIlC,EAAE,EAAEA,EAAEmS,GAAG,EAAEnS,EAAE,CAAC,IAAMC,EAAED,EAAEe,EAAQI,EAAE,KAAK,IAAI,CAAClB,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKkB,EAAE,CAAInB,GAAH,EAAK,GAAGmB,EAAEnB,EAAE,IAAI,GAAG,EAAEmB,GAAG,IAAI,IAAInB,EAAE,EAAEA,EAAEiC,EAAE,OAAO,IAAI,EAAEjC,GAAGiC,EAAEjC,GAAGkC,EAAE,EAAE,OAAO,MAAMlC,EAAE,QAAQ,EAAE,QAAQ,MAAM,EAAE,EAAE,QAAQ,MAAMiC,EAAE,EAAE,YAAY,MAAsBzB,IAAhB,cAAkB,IAAI,EAAE,SAAS,MAAM,GAAG,EAAE,OAAO,MAAMM,EAAE,EAAE,OAAO,MAAM8B,GAAG,EAAE,IAAMN,EAAEgQ,GAAGpS,GAA+E,GAAaD,EAAjF,EAAE,KAAK,IAAI,EAAE+C,GAAG,EAAEV,EAAE,EAAcpC,IAAJ,EAAM,EAAE,EAAE8C,IAAI,EAAEV,GAAGpC,EAAE0C,GAAGE,GAAG5C,EAAE0C,GAAGE,GAAG,GAAsB,EAAER,EAAE,EAAEA,EAAE,CAAC,EAAE,gBAAgBrC,EAAE,CAAC,EAAE,OAAOU,EAAEyR,GAAG,GAAukX,GAAN,cAAiC,EAAO,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,MAAM,CAAC,KAAKpS,EAAE,MAAMC,EAAE,OAAO,EAAE,MAAMC,EAAE,CAAC,KAAK,UAAUiG,GAAG,KAAK,UAAUA,GAAG,KAAK,MAAMa,GAAG,KAAK,gBAAgB,GAAM,KAAK,MAAM,GAAM,KAAK,gBAAgB,IAAG,GAAmB,UAAU,qBAAqB,GAAo+G,GAAN,cAA4B,EAAO,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,MAAM,CAAC,KAAKhH,EAAE,MAAMC,EAAE,OAAO,EAAE,MAAMC,EAAE,CAAC,KAAK,UAAUiG,GAAG,KAAK,UAAUA,GAAG,KAAK,MAAMa,GAAG,KAAK,gBAAgB,GAAM,KAAK,MAAM,GAAM,KAAK,gBAAgB,IAAG,GAAc,UAAU,gBAAgB,GAAWtD,GAAG,IAAI,GAAcG,GAAG,IAAI,GAAyBF,GAAG,IAAI,GAAoBC,GAAG,IAAI,GAAkBP,GAAG,EAAE,CAAOC,GAAG,EAAE,CAAOG,GAAG,IAAI,aAAa,GAAG,CAAOD,GAAG,IAAI,aAAa,EAAE,CAAOD,GAAG,IAAI,aAAa,EAAE,CAAqqO,GAAiB,UAAU,YAAY,SAAS,EAAE,CAAC,IAAMtD,EAAE,KAAK,MAAM,aAAa,cAAcA,EAAE,SAASD,EAAE,SAAS,KAAK,MAAM,IAAI,aAAaA,EAAE,OAAO,EAAE,GAAUC,EAAED,EAAE,EAAkE,GAAkB,UAAU,SAAS,SAAS,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAAK,IAAI,IAAI,IAAIE,EAAE,EAAEI,EAAEN,EAAE,OAAOE,IAAII,EAAE,EAAEJ,EAAE,CAAC,IAAMI,EAAEN,EAAEE,GAAG,EAAE,SAASJ,EAAEC,EAAEO,EAAE,IAAI,EAAE,GAASsD,GAAG,sBAAsoB,GAAc,UAAU,SAAS,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM1D,EAAE,KAAK,IAAIH,GAAYG,IAAT,IAAK,IAAOA,EAAE,SAASJ,EAAE,EAAEE,EAAE,EAAE,GAAc,UAAU,YAAY,SAAS,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAED,EAAE,GAAYC,IAAT,IAAK,IAAO,KAAK,SAASF,EAAE,EAAEE,EAAE,EAAE,GAAc,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIE,EAAE,EAAEI,EAAEP,EAAE,OAAOG,IAAII,EAAE,EAAEJ,EAAE,CAAC,IAAMI,EAAEP,EAAEG,GAAG,EAAE,EAAEI,EAAE,IAAI,KAAQ,EAAE,aAAaA,EAAE,SAASR,EAAE,EAAE,MAAME,EAAE,GAAG,GAAc,aAAa,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEE,EAAEJ,EAAE,OAAOE,IAAIE,EAAE,EAAEF,EAAE,CAAC,IAAME,EAAEJ,EAAEE,GAAG,EAAE,MAAMD,GAAG,EAAE,KAAKG,EAAE,CAAC,OAAO,GAA6GyS,GAAG,EAA00FzO,GAAG,mCAAkPG,GAAG,+FAAqGD,GAAG,+IAAm6WwO,GAAG,EAAQ,GAAN,KAAsB,CAAC,aAAa,CAAC,KAAK,YAAY,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,OAAO,EAAE,CAAC,IAAM7S,EAAED,EAAE,aAAmB,EAAEA,EAAE,eAAqBE,EAAE,KAAK,gBAAgBD,EAAE,CAAOG,EAAE,KAAK,gBAAgB,EAAE,CAAOI,EAAE,KAAK,2BAA2BR,EAAE,CAAyF,MAArF,KAAQQ,EAAE,IAAIN,EAAE,GAAE,EAAE,IAAIA,EAAE,CAAC,EAAE,aAAe,KAAQM,EAAE,IAAIJ,EAAE,GAAE,EAAE,IAAIA,EAAE,CAAC,EAAE,aAAmB,KAAK,OAAO,EAAE,CAAC,IAAMH,EAAE,KAAK,cAAc,IAAID,EAAE,CAAC,IAAI,IAAMA,KAAKC,EAAG,EAAE,YAAgBD,EAAE,YAAN,GAAiB,KAAK,YAAY,OAAOA,EAAE,CAA8B,OAA7B,KAAK,cAAc,OAAOA,EAAE,CAAQ,KAAK,kBAAkB,EAAE,CAAC,OAAO,KAAK,gBAAgBA,EAAE,aAAa,CAAC,GAAG,oBAAoB,EAAE,CAAC,OAAO,KAAK,gBAAgBA,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC,KAAK,YAAY,OAAO,CAAC,KAAK,cAAc,OAAO,CAAC,2BAA2B,EAAE,CAAC,IAAMC,EAAE,KAAK,cAAiD,MAAnC,KAAQA,EAAE,IAAID,EAAE,EAAEC,EAAE,IAAID,EAAE,IAAI,IAAI,CAAQC,EAAE,IAAID,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAMC,EAAE,KAAK,YAAY,GAAG,KAAQA,EAAE,IAAID,EAAE,CAAC,CAAC,IAAM,EAAE,IAAI,GAAiB,EAAE,IAAIA,EAAE,EAAE,CAAC,OAAOC,EAAE,IAAID,EAAE,GAAQ,GAAN,KAAsB,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,KAAK,UAAU,IAAkvZ+S,GAAG,EAAi5L,GAAN,cAAgC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,aAAatG,GAAG,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,IAAI,GAAM,KAAK,UAAUzM,EAAE,CAAC,KAAK,EAAE,CAA2R,OAA1R,MAAM,KAAKA,EAAE,CAAC,KAAK,aAAaA,EAAE,aAAa,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAA0B,OAAM,GAAkB,UAAU,oBAAoB,GAAW,GAAN,cAAmC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,uBAAuB,KAAK,kBAAkB,IAAI,EAAQ,KAAK,aAAa,EAAE,KAAK,YAAY,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,IAAI,GAAM,KAAK,UAAUA,EAAE,CAAC,KAAK,EAAE,CAAmS,OAAlS,MAAM,KAAKA,EAAE,CAAC,KAAK,kBAAkB,KAAKA,EAAE,kBAAkB,CAAC,KAAK,aAAaA,EAAE,aAAa,KAAK,YAAYA,EAAE,YAAY,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAwB,OAAM,GAAqB,UAAU,uBAAuB,GAAWgG,GAAG;;GAAiEC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAAu6oC,GAAN,cAA0B,EAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQjG,IAAG,GAAY,UAAU,cAAc,GAAW,GAAN,cAAoB,EAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,UAAS,GAAM,UAAU,QAAQ,GAAWgT,GAAG,CAAC,KAAK,OAAO,CAAO,GAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,WAAW,KAAK,KAAK,MAAM,KAAK,KAAK,MAAM,KAAK,cAAc,CAAmK,OAAxJ,KAAK,QAAZ,OAAmB,KAAK,MAAM,IAAI,GAAM,KAAK,MAAM,iBAAiB,GAAM,KAAK,MAAM,QAAQ,GAAM,KAAK,MAAM,OAAO,EAAE,CAAC,KAAK,MAAM,WAAW,CAAC,SAAS,GAAM,EAAQ,KAAK,MAAM,mBAAmB,CAAmS,OAAxR,KAAK,aAAZ,OAAwB,KAAK,WAAW,IAAI,GAAM,KAAK,WAAW,iBAAiB,GAAM,KAAK,WAAW,QAAQ,GAAM,KAAK,WAAW,kBAAkB,GAAM,KAAK,WAAW,eAAe,IAAI,EAAQ,KAAK,WAAW,mBAAmB,GAAM,KAAK,WAAW,gBAAgB,IAAI,GAAe,KAAK,WAAW,cAAc,CAA2P,OAAhP,KAAK,QAAZ,OAAmB,KAAK,MAAM,IAAI,GAAM,KAAK,MAAM,iBAAiB,GAAM,KAAK,MAAM,QAAQ,GAAM,KAAK,MAAM,kBAAkB,GAAM,KAAK,MAAM,eAAe,IAAI,EAAQ,KAAK,MAAM,mBAAmB,GAAM,KAAK,MAAM,gBAAgB,IAAI,GAAe,KAAK,MAAM,cAAc,EAAE,CAAwJ,OAAhJ,KAAK,aAAZ,MAAwB,KAAK,WAAW,cAAchT,EAAE,CAAQ,KAAK,QAAZ,MAAmB,KAAK,MAAM,cAAcA,EAAE,CAAQ,KAAK,QAAZ,MAAmB,KAAK,MAAM,cAAcA,EAAE,CAAQ,KAAK,WAAW,EAAE,CAAsM,OAArM,KAAK,cAAc,CAAC,KAAK,eAAe,KAAKA,EAAE,CAAC,CAAQ,KAAK,aAAZ,OAAyB,KAAK,WAAW,QAAQ,IAAc,KAAK,QAAZ,OAAoB,KAAK,MAAM,QAAQ,IAAc,KAAK,QAAZ,OAAoB,KAAK,MAAM,QAAQ,IAAc,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAE,KAASE,EAAE,KAASI,EAAE,KAAW,EAAE,KAAK,WAAiB,EAAE,KAAK,MAAYC,EAAE,KAAK,MAAM,GAAGT,GAAuBC,EAAE,QAAQ,kBAA9B,kBAAyc,GAAhZ,IAAP,OAAU,EAAEA,EAAE,QAAQD,EAAE,eAAe,EAAE,CAAWE,IAAP,OAAU,EAAE,OAAO,UAAUA,EAAE,UAAU,OAAO,CAAC,EAAE,OAAO,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAIA,EAAE,gBAAgB,EAAE,kBAAkB,GAAK,EAAE,eAAe,KAAKA,EAAE,eAAe,EAAM,EAAE,kBAAkB,GAASA,EAAE,iBAAiB,EAAE,mBAAmB,GAAK,EAAE,gBAAgB,KAAKA,EAAE,gBAAgB,EAAM,EAAE,mBAAmB,GAAM,KAAK,cAAc8S,GAAG,GAAKvS,GAAGT,EAAE,KAAK,CAAC,EAAE,GAAK,IAAI,IAAME,KAAKF,EAAE,KAAK,QAAQ,CAAC,CAAC,IAAMA,EAAEC,EAAE,aAAaC,EAAE,EAAE,CAAC,GAAYO,EAAE,OAAOP,EAAE,aAApB,IAAK,GAA0B,CAAC,IAAMF,EAAE,IAAI,GAAM,EAAE,iBAAiB,GAAM,EAAE,QAAQ,GAAM,EAAE,OAAOE,EAAE,WAAWF,EAAE,EAAE,IAAIA,EAAE,CAAC,IAAMI,EAAEK,EAAE,OAAOP,EAAE,WAAqBF,IAAP,OAAU,EAAE,OAAO,UAAUA,EAAE,UAAU,OAAO,CAAC,EAAE,OAAO,UAAUI,EAAE,SAASA,EAAE,SAASA,EAAE,MAAM,CAAC,EAAE,YAAYJ,EAAE,QAAO,EAAE,QAAeA,IAAP,KAAS,IAAME,EAAEO,EAAE,OAAO,oBAA0BL,EAAEK,EAAE,OAAO,aAAmBO,EAAEd,EAAE,SAAS,WAAWE,EAAE,SAAS,CAAOiC,EAAE,IAAU3B,EAAE,KAAQD,EAAE,WAAW,UAAUO,EAAEqB,EAAE3B,GAAG,EAAE,WAAW,SAAS,GAAM,KAAK,cAAc,CAAC,KAAK,WAAW,WAAWV,EAAE,WAAW,OAAO,KAAK,CAAC,EAAS,CAACS,EAAE,WAAW,UAAUO,GAAGqB,EAAE3B,IAAG,EAAE,WAAW,SAAS,GAAK,KAAK,cAAc,CAAC,KAAK,aAAa,WAAWV,EAAE,WAAW,OAAO,KAAK,CAAC,OAAiB,IAAP,MAAUA,EAAE,YAAW,EAAEC,EAAE,QAAQD,EAAE,UAAU,EAAE,CAAWI,IAAP,OAAU,EAAE,OAAO,UAAUA,EAAE,UAAU,OAAO,CAAC,EAAE,OAAO,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAIA,EAAE,gBAAgB,EAAE,kBAAkB,GAAK,EAAE,eAAe,KAAKA,EAAE,eAAe,EAAM,EAAE,kBAAkB,GAASA,EAAE,iBAAiB,EAAE,mBAAmB,GAAK,EAAE,gBAAgB,KAAKA,EAAE,gBAAgB,EAAM,EAAE,mBAAmB,KAAqG,OAAtF,IAAP,OAAW,EAAE,QAAeF,IAAP,MAAiB,IAAP,OAAW,EAAE,QAAeE,IAAP,MAAiBK,IAAP,OAAW,EAAE,QAAeD,IAAP,MAAiB,OAAY,GAAN,cAA2B,EAAO,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAmB,GAAlB,EAAWE,IAAT,IAAK,GAAQqH,GAAFrH,EAAQA,IAAIqH,IAAIrH,IAAIuH,GAAG,MAAU,MAAM,mFAAmF,CAAU,IAAT,IAAK,IAAOvH,IAAIqH,KAAK,EAAEC,IAAa,IAAT,IAAK,IAAOtH,IAAIuH,KAAK,EAAEH,IAAI,MAAM,KAAK5H,EAAEE,EAAEI,EAAE,EAAE,EAAEE,EAAE,EAAED,EAAE,CAAC,KAAK,MAAM,CAAC,MAAMT,EAAE,OAAOC,EAAE,CAAC,KAAK,UAAmB,IAAT,IAAK,GAAQkG,GAAF,EAAK,KAAK,UAAmB,IAAT,IAAK,GAAQA,GAAF,EAAK,KAAK,MAAM,GAAM,KAAK,gBAAgB,KAAO,GAAa,UAAU,eAAe,GAAW,GAAN,cAA2B,EAAe,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAM,EAAE,KAASjG,EAAE,KAASE,EAAE,EAAMI,EAAE,KAAS,EAAE,cAAoB,EAAER,EAAE,WAAW,IAAI,uCAAuC,CAAKS,EAAE,KAASC,EAAE,KAASC,EAAE,KAASC,EAAE,KAASC,EAAE,GAAUC,EAAE,KAAWC,EAAEd,EAAE,sBAAsB,CAAK,EAAE,KAASgC,EAAE,KAAWC,EAAE,EAAE,CAAOI,EAAE,IAAI,IAAUC,EAAE,IAAI,GAAkB,EAAE,OAAO,OAAO,EAAE,CAAC,EAAE,SAAS,IAAI,GAAQ,IAAMC,EAAE,IAAI,GAAkB,EAAE,OAAO,OAAO,EAAE,CAAC,EAAE,SAAS,IAAI,GAAQ,IAAMsC,EAAE,CAACvC,EAAEC,EAAE,CAAOuC,EAAE,IAAI,GAAY,EAAE,OAAO,OAAO,EAAE,CAAC,EAAE,OAAO,OAAO,EAAE,CAAC,IAAIC,EAAE,KAASG,EAAE,KAAK,KAAK,iBAAiB,GAAK,KAAK,QAAQ,GAAM,KAAK,aAAa,GAAM,KAAK,cAAc,SAAS,EAAE,CAAC,IAAIlF,EAAEiC,EAAElC,GAA+C,OAAhCC,IAAT,IAAK,KAAO,EAAE,IAAI,GAAgB,EAAED,GAAGC,GAASA,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,SAAS,EAAE,CAAC,IAAIA,EAAEiC,EAAElC,GAA+C,OAAhCC,IAAT,IAAK,KAAO,EAAE,IAAI,GAAgB,EAAED,GAAGC,GAASA,EAAE,cAAc,EAAE,KAAK,QAAQ,SAAS,EAAE,CAAC,IAAIA,EAAEiC,EAAElC,GAA+C,OAAhCC,IAAT,IAAK,KAAO,EAAE,IAAI,GAAgB,EAAED,GAAGC,GAASA,EAAE,cAAc,EAAE,SAAS,EAAe,EAAE,CAAC,IAAMA,EAAEqC,EAAE,IAAItC,EAAE,YAAY,CAAC,GAAGC,EAAE,cAAc,CAAC,KAAKD,EAAE,KAAK,KAAKA,EAAE,YAAY,CAAC,CAAC,SAAS,GAAc,CAAC,EAAE,SAAS,SAAS,EAAE,EAAE,CAAC,EAAE,WAAWC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,aAAa,GAAM,EAAE,cAAc,CAAC,KAAK,aAAa,CAAC,CAAC,KAAK,0BAA0B,SAAS,EAAE,CAAC,EAAED,EAAE,KAAO,EAAE,cAAc,QAAQ,KAAK,wEAAwE,EAAE,KAAK,sBAAsB,SAAS,EAAE,CAAC,EAAEA,EAAE,KAAO,EAAE,cAAc,QAAQ,KAAK,2EAA2E,EAAE,KAAK,kBAAkB,UAAU,CAAC,OAAOQ,GAAG,KAAK,aAAa,UAAU,CAAC,OAAcG,IAAP,KAAWC,EAAFD,GAAK,KAAK,WAAW,UAAU,CAAC,OAAOD,GAAG,KAAK,SAAS,UAAU,CAAC,OAAOI,GAAG,KAAK,WAAW,UAAU,CAAC,OAAOZ,GAAG,KAAK,WAAW,eAAe,EAAE,CAAK,GAAJ,EAAEO,EAAYP,IAAP,KAAS,CAAyc,GAAxc,EAAEF,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,SAAS,EAAe,CAAC,EAAE,iBAAiB,cAAc,EAAe,CAAC,EAAE,iBAAiB,YAAY,EAAe,CAAC,EAAE,iBAAiB,UAAU,EAAe,CAAC,EAAE,iBAAiB,eAAe,EAAe,CAAC,EAAE,iBAAiB,aAAa,EAAe,CAAC,EAAE,iBAAiB,MAAM,EAAa,CAAC,EAAE,iBAAiB,qBAAqB,EAAqB,CAAC,KAAOe,EAAE,cAAc,MAAMd,EAAE,kBAAkB,CAAaC,EAAE,YAAY,SAAvB,IAAK,IAA0B,KAAQF,EAAE,aAAa,SAAS,CAAC,IAAMmB,EAAE,CAAC,UAAmBjB,EAAE,YAAY,SAAvB,IAAK,IAA0Ba,EAAE,UAAU,MAAMA,EAAE,MAAM,MAAMA,EAAE,MAAM,QAAQA,EAAE,QAAQ,uBAAuBX,EAAE,CAAC,EAAE,IAAI,aAAaF,EAAED,EAAEkB,EAAE,CAAC,EAAE,kBAAkB,CAAC,UAAUP,EAAE,CAAC,CAAC,EAAE,IAAI,GAAkBA,EAAE,iBAAiBA,EAAE,kBAAkB,CAAC,OAAOuC,GAAG,KAAK8B,GAAG,SAASjF,EAAE,eAAe,CAAC,KAAK,CAAC,EAAEe,EAAE,UAAU,IAAII,EAAE,KAASX,EAAE,KAASQ,EAAE,KAAQD,EAAE,QAAO,EAAEA,EAAE,QAAQ,MAAM,MAAM,EAAEA,EAAE,QAAQkH,GAAGF,GAAG,EAAEhH,EAAE,QAAQ+G,GAAGE,IAAG,IAAMvH,EAAE,CAAC,YAAYM,EAAE,OAAOF,EAAE,MAAM,MAAM,YAAYG,EAAE,YAAYZ,EAAE,CAAC,EAAE,IAAI,eAAeF,EAAED,EAAE,CAAC,EAAES,EAAE,sBAAsBD,EAAE,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAACE,EAAE,CAAC,CAAC,CAAC,EAAEE,EAAE,IAAI,GAA6BF,EAAE,aAAaA,EAAE,cAAc,CAAC,OAAOwC,GAAG,KAAK8B,GAAG,aAAa,IAAI,GAAatE,EAAE,aAAaA,EAAE,cAAcH,EAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAEW,EAAE,CAAC,cAAcJ,EAAE,QAAQ,YAAYJ,EAAE,kBAAkB,mBAAmB,EAAE,SAASX,EAAE,eAAe,CAAC,CAAC,IAAI,GAAkBW,EAAE,aAAaA,EAAE,cAAc,CAAC,OAAOI,EAAE,MAAMoC,GAAGyB,GAAG,KAAKK,GAAG,aAAa,IAAI,GAAatE,EAAE,aAAaA,EAAE,cAAcH,EAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAEW,EAAE,CAAC,cAAcJ,EAAE,QAAQ,YAAYJ,EAAE,kBAAkB,SAASX,EAAE,eAAe,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,EAAE,MAAME,EAAE,sBAAsB,EAAE,CAAC,EAAE,WAAWA,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAK,EAAE,cAAc,CAAC,KAAK,eAAe,CAAC,GAAG,SAAS,EAAqB,EAAE,CAAC,IAAMD,EAAEC,EAAE,aAAa,IAAI,IAAIF,EAAE,EAAEA,EAAEkC,EAAE,OAAO,IAAI,EAAE,IAAIjC,EAAED,GAAGkC,EAAElC,GAAG,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAE,QAAQ,OAAO,IAAI,CAAC,IAAMmB,EAAEnB,EAAE,QAAQC,GAASC,EAAEoC,EAAE,IAAInB,EAAE,CAAIjB,IAAG,EAAE,cAAc,CAAC,KAAK,eAAe,KAAKiB,EAAE,CAAC,CAAC,EAAE,OAAOA,EAAE,EAAE,IAAI,IAAIlB,EAAE,EAAEA,EAAED,EAAE,MAAM,OAAO,IAAI,CAAC,IAAMmB,EAAEnB,EAAE,MAAMC,GAASC,EAAEoC,EAAE,IAAInB,EAAE,CAAC,GAAGjB,EAAE,cAAc,CAAC,KAAK,YAAY,KAAKiB,EAAE,CAAC,EAAE,IAAMiE,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAQ,SAAS,EAAuB,EAAE,EAAE,EAAE,CAAC,EAAE,sBAAsBpF,EAAE,YAAY,CAAC,EAAE,sBAAsBkB,EAAE,YAAY,CAAC,IAAMjB,EAAEkF,EAAE,WAAWC,EAAE,CAAOjF,EAAEH,EAAE,iBAAiB,SAAeO,EAAEW,EAAE,iBAAiB,SAAeH,EAAEZ,EAAE,KAAKA,EAAE,IAAI,GAASiC,EAAEjC,EAAE,KAAKA,EAAE,IAAI,GAASK,GAAGL,EAAE,GAAG,GAAGA,EAAE,GAASM,GAAGN,EAAE,GAAG,GAAGA,EAAE,GAASO,GAAGP,EAAE,GAAG,GAAGA,EAAE,GAASQ,GAAGJ,EAAE,GAAG,GAAGA,EAAE,GAASK,EAAEG,EAAEL,EAAQG,EAAEE,EAAEJ,EAAQG,EAAEb,GAAG,CAACS,EAAEC,GAASsE,EAAEnE,EAAE,CAACJ,EAAE,EAAE,YAAY,UAAUX,EAAE,SAASA,EAAE,WAAWA,EAAE,MAAM,CAAC,EAAE,WAAWkF,EAAE,CAAC,EAAE,WAAWnE,EAAE,CAAC,EAAE,YAAY,QAAQf,EAAE,SAASA,EAAE,WAAWA,EAAE,MAAM,CAAC,EAAE,mBAAmB,KAAKA,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAMiC,EAAEjB,EAAED,EAAQmB,EAAEG,EAAEtB,EAAQuB,EAAEzB,EAAEqE,EAAQ3C,EAAEzB,GAAGZ,EAAEgF,GAAS1C,EAAE/B,EAAE4B,EAAEH,EAAED,EAAQ6C,EAAEpE,EAAE2B,EAAEH,EAAED,EAAE,EAAE,iBAAiB,gBAAgBK,EAAEC,EAAEC,EAAEsC,EAAE7C,EAAEC,EAAE,CAAC,SAAS,EAAa,EAAE,EAAE,CAAQjC,IAAP,KAASD,EAAE,YAAY,KAAKA,EAAE,OAAO,CAACA,EAAE,YAAY,iBAAiBC,EAAE,YAAYD,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAKA,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,aAAa,SAAS,EAAE,CAAC,GAAUE,IAAP,KAAS,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAKF,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAIA,EAAE,KAAOgF,IAAID,EAAE,MAAMI,IAAIJ,EAAE,OAAK,EAAE,kBAAkB,CAAC,UAAUA,EAAE,KAAK,SAASA,EAAE,IAAI,CAAC,CAAC,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAI,IAAM9E,EAAED,EAAE,OAAamB,EAAE4D,EAAE,QAAQ,EAAaA,EAAE9E,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEmB,EAAE,OAAO,IAAI,EAAaA,EAAEnB,GAAGC,EAAE,CAAC,EAAE,YAAY,UAAU8E,EAAE,SAASA,EAAE,WAAWA,EAAE,MAAM,CAAC,EAAE,SAAS,KAAKA,EAAE,SAAS,CAAC,EAAE,WAAW,KAAKA,EAAE,WAAW,CAAC,EAAE,MAAM,KAAKA,EAAE,MAAM,CAAC,EAAE,OAAO,KAAKA,EAAE,OAAO,CAAC,EAAE,YAAY,KAAKA,EAAE,YAAY,CAAC,IAAM3E,EAAEJ,EAAE,SAAS,IAAI,IAAIA,EAAE,EAAEC,EAAEG,EAAE,OAAOJ,EAAEC,EAAE,IAAI,EAAED,GAAG,kBAAkB,GAAK,CAAKmB,EAAE,SAAN,EAAa,EAAuB4D,EAAExC,EAAEC,EAAE,CAACuC,EAAE,iBAAiB,KAAKxC,EAAE,iBAAiB,EAAE,KAAK,UAAU,UAAU,CAAC,OAAOwC,GAAG,KAAK,aAAa,UAAU,CAAC,OAAcpE,IAAP,KAAiCC,IAAP,KAA0B,IAAK,GAAtBA,EAAE,eAA5BD,EAAE,gBAAiD,KAAK,aAAa,SAAS,EAAE,CAAQA,IAAP,OAAW,EAAE,eAAeX,GAAUY,IAAP,MAAmBA,EAAE,iBAAX,IAAK,KAAuB,EAAE,eAAeZ,IAAI,IAAIsF,EAAE,KAAK,SAAS,EAAiB,EAAE,EAAE,CAA0B,GAAzB,EAAEnE,EAAE,cAAcX,EAAE,CAAC,EAAEW,EAAYV,IAAP,KAAS,CAAC,IAAMR,EAAEQ,EAAE,MAAgBG,IAAP,OAAU,EAAE,2BAA2BqB,EAAErB,EAAE,YAAY,CAAC,EAAE,gBAAgBqB,EAAE,EAAC,IAAId,EAAE,GAASlB,EAAE,SAAS8E,EAAE,QAAQ,SAAQ,EAAE,QAAQ,OAAO,EAAE,EAAE,IAAK,IAAI,IAAI7E,EAAE,EAAEA,EAAED,EAAE,OAAO,IAAI,CAAC,IAAMG,EAAEH,EAAEC,GAAOM,EAAE,KAAK,GAAUI,IAAP,KAAS,EAAEA,EAAE,YAAYR,EAAE,KAAK,CAAC,IAAMH,EAAES,EAAE,gBAAgBC,EAAEP,EAAE,CAAC,EAAEH,EAAE,SAAgBC,IAAJ,IAAO,EAAE,wBAAwB+B,EAAEhC,EAAE,aAAaU,EAAE,kBAAkB,IAAK,GAAEV,EAAE,oBAAoB,CAAC,EAAE,gBAAgBgC,EAAE,EAAE,IAAMjB,EAAE8D,EAAE5E,GAAG,EAAE,OAAO,UAAUE,EAAE,UAAU,OAAO,CAAC,EAAE,iBAAiB,UAAUA,EAAE,iBAAiB,CAAC,EAAE,SAAS,IAAII,EAAE,EAAEA,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAO,CAAKN,IAAJ,GAAO6E,EAAE,OAAO,KAAK/D,EAAE,OAAO,CAAC,KAAOG,GAAG4D,EAAE,QAAQ,KAAK/D,EAAE,EAAE,IAAMZ,EAAEF,EAAE,aAAa,IAAI,IAAIF,EAAE,EAAEA,EAAEkC,EAAE,OAAO,IAAI,CAAC,IAAMjC,EAAEiC,EAAElC,GAASE,EAAEE,EAAEJ,GAAG,EAAE,OAAOE,EAAEiB,EAAEX,EAAE,CAAC,GAAG8E,EAAErF,EAAEkB,EAAE,CAAC,EAAE,KAAK,IAAMoE,EAAE,IAAI,GAAe,EAAE,iBAAiB,EAAiB,CAAC,KAAK,iBAAiB,SAAS,EAAE,CAAC,EAAEvF,GAAG,KAAK,QAAQ,UAAU,KAK738V,GAAc,UAAU,gBAAgB,GAAW,GAAN,cAA6B,EAAa,GAAE,GAAe,UAAU,iBAAiB,GAAW,GAAN,MAAM,CAAO,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,KAAK,KAAK,GAAG,KAAK,MAAM,IAAI,EAAMA,EAAE,CAAC,KAAK,QAAQC,EAAE,OAAO,CAAC,OAAO,IAAI,EAAQ,KAAK,MAAM,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,UAAU,MAAM,KAAK,MAAM,QAAQ,CAAC,QAAQ,KAAK,QAAQ,GAAE,GAAQ,UAAU,UAAU,GAAW,GAAN,MAAM,CAAG,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,MAAM,IAAI,EAAMD,EAAE,CAAC,KAAK,KAAKC,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,EAAI,KAAK,MAAM,KAAK,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,MAAM,KAAK,MAAM,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,GAAE,GAAI,UAAU,MAAM,GAAW,GAAN,cAAoB,EAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,KAAK,WAAW,KAAK,KAAK,YAAY,KAAK,KAAK,IAAI,KAAK,KAAK,iBAAiB,KAAK,KAAK,WAAW,GAAmB,OAAO,mBAArB,KAAyC,mBAAmB,cAAc,IAAI,YAAY,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAuU,OAAtU,MAAM,KAAKD,EAAEC,EAAE,CAAQD,EAAE,aAAT,OAAsB,KAAK,WAAWA,EAAE,WAAW,OAAO,EAASA,EAAE,cAAT,OAAuB,KAAK,YAAYA,EAAE,YAAY,OAAO,EAASA,EAAE,MAAT,OAAe,KAAK,IAAIA,EAAE,IAAI,OAAO,EAASA,EAAE,mBAAT,OAA4B,KAAK,iBAAiBA,EAAE,iBAAiB,OAAO,EAAE,KAAK,WAAWA,EAAE,WAAW,KAAK,iBAAiBA,EAAE,iBAAwB,KAAK,OAAO,EAAE,CAAC,IAAMC,EAAE,MAAM,OAAOD,EAAE,CAAmD,OAA3C,KAAK,MAAZ,OAAkB,EAAE,OAAO,IAAI,KAAK,IAAI,QAAQ,EAASC,IAAG,GAAM,UAAU,QAAQ,GAAW,GAAN,KAAuB,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,MAAMD,EAAE,KAAK,OAAOC,EAAE,KAAK,MAAeD,IAAT,IAAK,GAAiB,EAAXA,EAAE,OAAOC,EAAI,KAAK,MAAM2M,GAAG,KAAK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,QAAQ,EAAE,KAAK,KAAK,IAAc,CAAC,kBAAkB,EAAE,IAAI,YAAY,EAAE,CAAC,KAAO5M,GAAG,KAAK,UAAU,SAAS,EAAE,CAAc,MAAb,MAAK,MAAMA,EAAS,KAAK,KAAK,EAAE,CAAwG,MAAvG,MAAK,MAAM,IAAIA,EAAE,MAAM,YAAYA,EAAE,MAAM,CAAC,KAAK,MAAMA,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,KAAK,MAAMA,EAAE,MAAa,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,GAAGC,EAAE,OAAO,IAAI,IAAIC,EAAE,EAAEE,EAAE,KAAK,OAAOF,EAAEE,EAAE,IAAI,KAAK,MAAMJ,EAAEE,GAAGD,EAAE,MAAM,EAAEC,GAAG,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAqB,OAApB,KAAK,MAAM,IAAIF,EAAEC,EAAE,CAAQ,KAAK,MAAM,EAAE,CAAUD,EAAE,eAAX,IAAK,KAAqB,EAAE,aAAa,EAAE,EAAW,KAAK,MAAM,OAAO,QAA3B,IAAK,KAA8B,KAAK,MAAM,OAAO,MAAM,IAAc,EAAWA,EAAE,aAAa,KAAK,MAAM,OAAO,SAA1C,IAAK,KAA8C,EAAE,aAAa,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,MAAM,EAAE,CAAC,QAAQ,IAAMC,EAAE,IAAI,KAAK,MAAM,YAAYD,EAAE,aAAa,KAAK,MAAM,OAAO,OAAO,CAAO,EAAE,IAAI,KAAK,YAAYC,EAAE,KAAK,OAAO,CAAwB,OAAvB,EAAE,SAAS,KAAK,MAAM,CAAQ,EAAE,SAAS,EAAE,CAAyB,MAAxB,MAAK,iBAAiBD,EAAS,KAAK,OAAO,EAAE,CAAoR,OAA1QA,EAAE,eAAX,IAAK,KAAqB,EAAE,aAAa,EAAE,EAAW,KAAK,MAAM,OAAO,QAA3B,IAAK,KAA8B,KAAK,MAAM,OAAO,MAAM,IAAc,EAAWA,EAAE,aAAa,KAAK,MAAM,OAAO,SAA1C,IAAK,KAA8C,EAAE,aAAa,KAAK,MAAM,OAAO,OAAO,MAAM,UAAU,MAAM,KAAK,IAAI,YAAY,KAAK,MAAM,OAAO,CAAC,EAAQ,CAAC,KAAK,KAAK,KAAK,OAAO,KAAK,MAAM,OAAO,MAAM,KAAK,KAAK,MAAM,YAAY,KAAK,OAAO,KAAK,OAAO,GAAE,GAAkB,UAAU,oBAAoB,GAAWiT,GAAG,IAAI,EAAc,GAAN,MAAM,CAA0B,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,GAAM,CAAC,KAAK,KAAK,GAAG,KAAK,KAAKjT,EAAE,KAAK,SAASC,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,KAAOC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,MAAM,IAAI,YAAY,EAAE,CAAC,KAAK,KAAK,YAAYF,EAAE,aAAa,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAE,KAAK,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,aAAaD,EAAE,CAAC,KAAK,OAAOC,EAAEgT,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC,IAAI,IAAIhT,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,kBAAkBD,EAAE,CAAC,KAAK,OAAOC,EAAEgT,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC,IAAI,IAAIhT,EAAE,EAAE,EAAE,KAAK,MAAMA,EAAE,EAAE,IAAK,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,EAAE,KAAK,KAAKA,EAAE,CAAC,GAAG,mBAAmBD,EAAE,CAAC,KAAK,OAAOC,EAAEgT,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE,EAAE,CAAmD,MAAlD,MAAK,KAAK,MAAMjT,EAAE,KAAK,KAAK,OAAO,KAAK,QAAQC,EAAS,KAAK,KAAK,EAAE,EAAE,CAAqD,MAApD,MAAK,KAAK,MAAMD,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,GAAGC,EAAS,KAAK,KAAK,EAAE,EAAE,CAAqD,MAApD,MAAK,KAAK,MAAMD,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,GAAGC,EAAS,KAAK,KAAK,EAAE,EAAE,CAAqD,MAApD,MAAK,KAAK,MAAMD,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,GAAGC,EAAS,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,KAAK,MAAMD,EAAE,KAAK,KAAK,OAAO,KAAK,QAAQ,KAAK,EAAE,CAAC,OAAO,KAAK,KAAK,MAAMA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,KAAK,KAAK,MAAMA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,KAAK,KAAK,MAAMA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,GAAG,MAAM,EAAE,EAAE,EAAE,CAAgF,MAA/E,GAAEA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,MAAMA,EAAE,GAAGC,EAAE,KAAK,KAAK,MAAMD,EAAE,GAAG,EAAS,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE,CAAuG,MAAtG,GAAEA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,MAAMA,EAAE,GAAGC,EAAE,KAAK,KAAK,MAAMD,EAAE,GAAG,EAAE,KAAK,KAAK,MAAMA,EAAE,GAAGE,EAAS,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAA8H,MAA7H,GAAEF,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,MAAMA,EAAE,GAAGC,EAAE,KAAK,KAAK,MAAMD,EAAE,GAAG,EAAE,KAAK,KAAK,MAAMA,EAAE,GAAGE,EAAE,KAAK,KAAK,MAAMF,EAAE,GAAGI,EAAS,KAAK,MAAM,EAAE,CAAC,GAAYJ,IAAT,IAAK,GAAM,CAAC,QAAQ,IAAI,kHAAkH,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,MAAM,IAAI,CAAC,IAAM,EAAEA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,IAAI,IAAIA,EAAE,EAAEA,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,KAAK,KAAK,MAAM,EAAEA,GAAG,CAAC,OAAO,IAAI,GAAgB,IAAI,KAAK,MAAM,YAAYD,EAAE,CAAC,KAAK,SAAS,KAAK,WAAW,CAAmK,OAAzJA,EAAE,qBAAX,IAAK,KAA2B,EAAE,mBAAmB,EAAE,EAAWA,EAAE,mBAAmB,KAAK,KAAK,QAAxC,IAAK,KAA2C,EAAE,mBAAmB,KAAK,KAAK,MAAM,KAAK,KAAK,MAAMA,EAAE,EAAS,IAAI,EAA2BA,EAAE,mBAAmB,KAAK,KAAK,MAAM,KAAK,SAAS,KAAK,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,GAAYA,IAAT,IAAK,GAAM,CAAC,QAAQ,IAAI,uHAAuH,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,MAAM,IAAI,CAAC,IAAM,EAAEA,EAAE,KAAK,KAAK,OAAO,KAAK,OAAO,IAAI,IAAIA,EAAE,EAAEA,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,KAAK,KAAK,MAAM,EAAEA,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,KAAK,KAAK,MAAM,YAAY,KAAK,MAAMD,EAAE,WAAW,KAAK,WAAW,CAAoK,OAA1JA,EAAE,qBAAX,IAAK,KAA2B,EAAE,mBAAmB,EAAE,EAAWA,EAAE,mBAAmB,KAAK,KAAK,QAAxC,IAAK,KAA2C,EAAE,mBAAmB,KAAK,KAAK,MAAM,KAAK,KAAK,OAAOA,EAAE,EAAQ,CAAC,6BAA6B,GAAK,SAAS,KAAK,SAAS,KAAK,KAAK,KAAK,KAAK,OAAO,KAAK,OAAO,WAAW,KAAK,WAAW,GAAE,GAA2B,UAAU,6BAA6B,GAAW,GAAN,cAA6B,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,SAAS,EAAE,KAAK,gBAAgB,GAAK,KAAK,YAAY,GAAK,KAAK,UAAUA,EAAE,CAAC,KAAK,EAAE,CAAgJ,OAA/I,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAS,KAAK,gBAAgBA,EAAE,gBAAuB,OAAM,GAAe,UAAU,iBAAiB,GAAkBkT,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc1H,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcyH,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,cAAqB,EAAQ,CAAC,YAAY,EAAE,CAA4B,GAA3B,OAAO,CAAC,KAAK,KAAK,SAAqBC,KAAT,IAAK,GAAO,CAAC,GAAG,IAAI,GAA+F,IAAM1T,EAAE,IAAI,GAApF,IAAI,aAAa,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAiC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,aAAa,WAAW,IAAI,GAA2BA,EAAE,EAAE,EAAE,GAAM,CAAC,CAAC,GAAG,aAAa,KAAK,IAAI,GAA2BA,EAAE,EAAE,EAAE,GAAM,CAAC,CAAC,KAAK,SAAS0T,GAAG,KAAK,SAAkB3T,IAAT,IAAK,GAAQ,IAAI,GAANA,EAAqB,KAAK,OAAO,IAAI,EAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAQA,EAAE,SAAT,MAAiB,QAAQ,MAAM,wFAAwF,CAAC,GAAG,mBAAmB,KAAK,YAAY,CAAC,GAAG,KAAKA,EAAE,OAAO,YAAY,CAAC,KAAK,gBAAgB,iBAAiBA,EAAE,OAAO,mBAAmB,KAAK,YAAY,CAAC,GAAG,sBAAsB,KAAK,gBAAgB,CAAC,EAAE,OAAO,qBAAqB,KAAQ,KAAK,SAAS,iBAAiBmT,GAAG,eAAe,CAACC,GAAG,EAAE,CAAC,IAAM,EAAE,KAAK,SAAS,SAAalT,EAAEE,EAAS,IAAJ,IAAO,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,EAAC,IAAMI,EAAE,KAAK,OAAO,GAAgB6S,GAAG,IAAI,IAAI,IAAI,EAAE,CAACD,GAAG5S,EAAE2S,GAAGjT,EAAEE,EAAE,CAAC,GAAgBkT,GAAG,IAAI,GAAG,IAAI,EAAE,CAACF,GAAG5S,EAAE2S,GAAGjT,EAAEE,EAAE,CAAC,GAAgBmT,GAAG,IAAI,GAAG,GAAG,EAAE,CAACH,GAAG5S,EAAE2S,GAAGjT,EAAEE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAEJ,EAAE,IAAI,kBAAkBqT,GAAGC,GAAGC,GAAG,GAAML,GAAG,CAAC,GAAU,IAAP,OAAU,GAAgBI,GAAG,IAAI,IAAI,GAAG,EAAE,CAACF,GAAG5S,EAAE2S,GAAGjT,EAAEE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAEJ,EAAE,IAAI,kBAAkBqT,GAAGE,GAAGD,GAAG,GAAMJ,GAAG,CAAW,IAAP,MAAS,OAAO,IAAM,EAAElT,EAAE,IAAI,OAAO,WAAWkT,GAAG,CAAC,EAAElT,EAAE,MAAM,EAAEA,EAAE,KAAKC,EAAE,KAAK,CAAC,SAAS,EAAE,MAAMiT,GAAG,OAAO,CAAC,GAAG,GAAS,MAAMA,GAAGG,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAG,IAAI,EAAQ,CAAC,KAAK,KAAK,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE,CAAsF,OAArF,MAAM,KAAK1T,EAAE,CAAUA,EAAE,SAAX,IAAK,IAAc,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,SAASA,EAAE,SAAgB,OAAM,GAAO,UAAU,SAAS,GAAwN,IAAI,EAAiB,IAAI,EAAm/C8T,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAcC,GAAG,IAAI,GAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,cAA0B,EAAI,CAAC,YAAY,EAAE,EAAE,CAAC,MAAMlU,EAAEC,EAAE,CAAC,KAAK,KAAK,cAAc,KAAK,SAAS,WAAW,KAAK,WAAW,IAAI,EAAQ,KAAK,kBAAkB,IAAI,EAAQ,KAAK,EAAE,CAAqJ,OAApJ,MAAM,KAAKD,EAAE,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,WAAW,KAAKA,EAAE,WAAW,CAAC,KAAK,kBAAkB,KAAKA,EAAE,kBAAkB,CAAC,KAAK,SAASA,EAAE,SAAgB,KAAK,KAAK,EAAE,EAAE,CAAC,KAAK,SAASA,EAAcC,IAAT,IAAK,KAAO,KAAK,kBAAkB,GAAK,CAAC,KAAK,SAAS,mBAAmB,CAAC,EAAE,KAAK,aAAY,KAAK,WAAW,KAAKA,EAAE,CAAC,KAAK,kBAAkB,KAAKA,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,sBAAsB,CAAC,IAAMD,EAAE,IAAI,GAAcC,EAAE,KAAK,SAAS,WAAW,WAAW,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,MAAM,EAAEC,EAAE,IAAI,CAAC,EAAE,EAAED,EAAE,KAAK,EAAE,CAAC,EAAE,EAAEA,EAAE,KAAK,EAAE,CAAC,EAAE,EAAEA,EAAE,KAAK,EAAE,CAAC,EAAE,EAAEA,EAAE,KAAK,EAAE,CAAC,IAAMC,EAAE,EAAEF,EAAE,iBAAiB,CAAYE,IAAX,IAAiCF,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAlCA,EAAE,eAAeE,EAAE,CAAgB,EAAE,QAAQ,EAAEF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,kBAAkBA,EAAE,CAAc,KAAK,WAAlB,WAA2B,KAAK,kBAAkB,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAc,KAAK,WAAlB,WAA2B,KAAK,kBAAkB,KAAK,KAAK,WAAW,CAAC,QAAQ,CAAC,QAAQ,KAAK,6CAA6C,KAAK,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAeE,EAAE,KAAK,SAAS,GAAG,oBAAoBA,EAAE,WAAW,UAAUF,EAAE,CAAC,GAAG,oBAAoBE,EAAE,WAAW,WAAWF,EAAE,CAAC,GAAG,KAAKC,EAAE,CAAC,aAAa,KAAK,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAME,EAAE8T,GAAG,aAAahU,EAAE,CAAC,GAAOE,IAAJ,EAAM,CAAC,IAAME,EAAE2T,GAAG,aAAa/T,EAAE,CAAC,GAAG,iBAAiB,EAAE,MAAMI,GAAG,YAAY,EAAE,aAAaA,GAAG,CAAC,EAAE,gBAAgB6T,GAAG,KAAKH,GAAG,CAAC,aAAaI,GAAG,CAAChU,EAAE,EAAE,OAAOD,EAAE,aAAa,KAAK,kBAAkB,GAAE,GAAY,UAAU,cAAc,GAAW,GAAN,cAAmB,EAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,SAAQ,GAAK,UAAU,OAAO,GAAW,GAAN,cAA0B,EAAO,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEkG,GAAG,EAAEA,GAAG,EAAE,EAAE,CAAC,MAAM,KAAK3F,EAAE,EAAE,EAAEC,EAAEC,EAAER,EAAEE,EAAEO,EAAEC,EAAE,CAAC,KAAK,MAAM,CAAC,KAAKZ,EAAE,MAAMC,EAAE,OAAO,EAAE,CAAC,KAAK,UAAUQ,EAAE,KAAK,UAAUC,EAAE,KAAK,gBAAgB,GAAM,KAAK,MAAM,GAAM,KAAK,gBAAgB,IAAG,GAAY,UAAU,cAAc,GAAc,IAAI,EAAiB,IAAI,EAA89E,GAAN,cAAuC,EAAe,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAe,OAAO,GAAlB,WAAqB,EAAE,EAAE,EAAE,GAAM,QAAQ,MAAM,gGAAgG,EAAC,MAAMV,EAAEC,EAAE,EAAE,CAAC,KAAK,iBAAiBC,EAAE,KAAK,EAAE,CAAwD,OAAvD,MAAM,KAAKF,EAAE,CAAC,KAAK,iBAAiBA,EAAE,iBAAwB,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA4E,MAA3E,GAAE,iBAAiB,KAAK,iBAAiB,EAAE,2BAA2B,GAAYA,IAAG,GAAyB,UAAU,2BAA2B,GAAWqU,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,EAAE,CAAOC,GAAG,IAAI,GAAW,GAAN,cAA4B,EAAI,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAMxU,EAAEC,EAAE,CAAC,KAAK,eAAe,IAAI,GAAyB,IAAI,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,cAAc,KAAK,KAAK,MAAM,EAAE,KAAK,cAAc,GAAM,KAAK,EAAE,CAAkJ,OAAjJ,MAAM,KAAKD,EAAE,CAAC,KAAK,eAAe,KAAKA,EAAE,eAAe,CAAQA,EAAE,gBAAT,OAAyB,KAAK,cAAcA,EAAE,cAAc,OAAO,EAAE,KAAK,MAAMA,EAAE,MAAa,KAAK,WAAW,EAAE,EAAE,CAAC,EAAE,UAAU,KAAK,cAAc,MAAM,EAAEA,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,KAAK,eAAe,MAAM,GAAGA,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,YAAkBE,EAAE,KAAK,MAA0D,GAApD,GAAG,SAAS,KAAK,SAAS,GAAG,SAAS,KAAK,SAAqBsU,GAAG,WAAZ,IAAK,GAAgB,IAAI,IAAIpU,EAAE,EAAEA,EAAEF,EAAE,IAAI,CAAC,KAAK,YAAYE,EAAEiU,GAAG,CAAC,GAAG,iBAAiB,EAAEA,GAAG,CAAC,GAAG,YAAYC,GAAG,GAAG,QAAQtU,EAAEuU,GAAG,CAAC,IAAI,IAAIvU,EAAE,EAAEmB,EAAEoT,GAAG,OAAOvU,EAAEmB,EAAE,IAAI,CAAC,IAAMA,EAAEoT,GAAGvU,GAAG,EAAE,WAAWI,EAAE,EAAE,OAAO,KAAK,EAAE,KAAKe,EAAE,CAAC,GAAG,OAAO,GAAG,WAAW,EAAE,EAAE,CAAQ,KAAK,gBAAZ,OAA4B,KAAK,cAAc,IAAI,GAAyB,IAAI,aAAa,EAAE,KAAK,eAAe,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,KAAK,cAAc,MAAM,EAAEnB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,eAAe,MAAM,GAAGA,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,GAAE,GAAc,UAAU,gBAAgB,GAAW,GAAN,cAAgC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,UAAU,EAAE,KAAK,QAAQ,QAAQ,KAAK,SAAS,QAAQ,KAAK,UAAUA,EAAE,CAAC,KAAK,EAAE,CAAmH,OAAlH,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,QAAQA,EAAE,QAAQ,KAAK,SAASA,EAAE,SAAgB,OAAM,GAAkB,UAAU,oBAAoB,GAAWyU,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAUC,GAAG,IAAI,GAAa,GAAN,cAAmB,EAAQ,CAAC,YAAY,EAAE,IAAI,GAAe,EAAE,IAAI,GAAkB,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,KAAK,SAAS7U,EAAE,KAAK,SAASC,EAAE,KAAK,oBAAoB,CAAC,KAAK,EAAE,CAAiE,OAAhE,MAAM,KAAKD,EAAE,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAgB,KAAK,sBAAsB,CAAC,IAAMA,EAAE,KAAK,SAAS,GAAGA,EAAE,iBAAiB,GAAUA,EAAE,QAAT,KAAe,CAAC,IAAMC,EAAED,EAAE,WAAW,SAAe,EAAE,CAAC,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEE,EAAED,EAAE,MAAMD,EAAEE,EAAE,IAAK,GAAG,oBAAoBD,EAAED,EAAE,EAAE,CAAC,GAAG,oBAAoBC,EAAED,EAAE,CAAC,EAAEA,GAAG,EAAEA,EAAE,GAAG,EAAEA,IAAIyU,GAAG,WAAWC,GAAG,CAAC,EAAE,aAAa,eAAe,IAAI,EAAuB,EAAE,EAAE,CAAC,MAAM,QAAQ,KAAK,gGAAgG,MAAM,EAAE,YAAY,QAAQ,MAAM,yGAAyG,CAAC,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAexU,EAAE,KAAK,YAAkBE,EAAEJ,EAAE,OAAO,KAAK,UAAgBQ,EAAE,EAAE,UAAuH,GAAtG,EAAE,iBAAT,MAAyB,EAAE,uBAAuB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC,GAAG,aAAaN,EAAE,CAAC,GAAG,QAAQE,EAAK,KAAQJ,EAAE,IAAI,iBAAiB6U,GAAG,CAAC,OAAO,GAAG,KAAK3U,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAKF,EAAE,IAAI,CAAC,aAAa2U,GAAG,CAAC,IAAM,EAAEvU,IAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,GAAG,GAAS,EAAE,EAAE,EAAQK,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,KAAK,eAAe,EAAE,EAAE,GAAG,EAAE,iBAAiB,CAAC,IAAMX,EAAE,EAAE,MAAiCc,EAAnB,EAAE,WAAqB,SAAS,GAAUd,IAAP,KAAS,CAAC,IAAMiB,EAAE,KAAK,IAAI,EAAEX,EAAE,MAAM,CAAOJ,EAAE,KAAK,IAAIF,EAAE,MAAMM,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIA,EAAEW,EAAEL,EAAEV,EAAE,EAAEI,EAAEM,EAAE,GAAGD,EAAE,CAAC,IAAMM,EAAEjB,EAAE,KAAKM,EAAE,CAAOJ,EAAEF,EAAE,KAAKM,EAAE,EAAE,CAA+F,GAA9F,EAAE,oBAAoBQ,EAAEG,EAAE,CAAC,EAAE,oBAAoBH,EAAEZ,EAAE,CAASwU,GAAG,oBAAoBnU,EAAEC,EAAEE,EAAED,EAAE,CAAM,EAAE,SAAS,EAAE,aAAa,KAAK,YAAY,CAAC,IAAMG,EAAEd,EAAE,IAAI,OAAO,WAAWY,EAAE,CAAC,EAAEZ,EAAE,MAAMc,EAAEd,EAAE,KAAKC,EAAE,KAAK,CAAC,SAASa,EAAE,MAAMH,EAAE,OAAO,CAAC,aAAa,KAAK,YAAY,CAAC,MAAMH,EAAE,KAAK,KAAK,UAAU,KAAK,OAAO,KAAK,CAAC,MAAM,CAAC,IAAMW,EAAE,KAAK,IAAI,EAAEX,EAAE,MAAM,CAAON,EAAE,KAAK,IAAIc,EAAE,MAAMR,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIJ,EAAEe,EAAEX,EAAEN,EAAE,EAAEE,EAAEI,EAAE,GAAGK,EAAE,CAAiG,GAAhG,EAAE,oBAAoBG,EAAEZ,EAAE,CAAC,EAAE,oBAAoBY,EAAEZ,EAAE,EAAE,CAASwU,GAAG,oBAAoBnU,EAAEC,EAAEE,EAAED,EAAE,CAAM,EAAE,SAAS,EAAE,aAAa,KAAK,YAAY,CAAC,IAAMT,EAAEF,EAAE,IAAI,OAAO,WAAWY,EAAE,CAAC,EAAEZ,EAAE,MAAME,EAAEF,EAAE,KAAKC,EAAE,KAAK,CAAC,SAASC,EAAE,MAAMS,EAAE,OAAO,CAAC,aAAa,KAAK,YAAY,CAAC,MAAMP,EAAE,KAAK,KAAK,UAAU,KAAK,OAAO,KAAK,CAAC,QAAQ,EAAE,YAAY,QAAQ,MAAM,4FAA4F,CAAC,oBAAoB,CAAC,IAAMJ,EAAE,KAAK,SAAS,GAAGA,EAAE,iBAAiB,CAAC,IAAMC,EAAED,EAAE,gBAAsB,EAAE,OAAO,KAAKC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAMD,EAAEC,EAAE,EAAE,IAAI,GAAYD,IAAT,IAAK,GAAM,CAAC,KAAK,sBAAsB,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,CAAC,IAAMA,EAAEnB,EAAEC,GAAG,MAAM,OAAOA,EAAE,CAAC,KAAK,sBAAsB,KAAK,EAAE,CAAC,KAAK,sBAAsBkB,GAAGlB,SAAS,CAAC,IAAMA,EAAED,EAAE,aAAsBC,IAAT,IAAK,IAAOA,EAAE,OAAO,GAAG,QAAQ,MAAM,qGAAqG,IAAG,GAAK,UAAU,OAAO,GAAW6U,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,cAA2B,EAAI,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM/U,EAAEC,EAAE,CAAC,KAAK,KAAK,eAAe,sBAAsB,CAAC,IAAMD,EAAE,KAAK,SAAS,GAAGA,EAAE,iBAAiB,GAAUA,EAAE,QAAT,KAAe,CAAC,IAAMC,EAAED,EAAE,WAAW,SAAe,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEE,EAAED,EAAE,MAAMD,EAAEE,EAAE,GAAG,EAAG,GAAG,oBAAoBD,EAAED,EAAE,CAAC,GAAG,oBAAoBC,EAAED,EAAE,EAAE,CAAC,EAAEA,GAAOA,IAAJ,EAAM,EAAE,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,GAAG8U,GAAG,WAAWC,GAAG,CAAC,EAAE,aAAa,eAAe,IAAI,EAAuB,EAAE,EAAE,CAAC,MAAM,QAAQ,KAAK,wGAAwG,MAAM,EAAE,YAAY,QAAQ,MAAM,iHAAiH,CAAC,OAAO,OAAM,GAAa,UAAU,eAAe,GAAW,GAAN,cAAuB,EAAI,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM/U,EAAEC,EAAE,CAAC,KAAK,KAAK,aAAY,GAAS,UAAU,WAAW,GAAW,GAAN,cAA6B,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,EAAE,KAAK,gBAAgB,GAAK,KAAK,UAAUD,EAAE,CAAC,KAAK,EAAE,CAAwI,OAAvI,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,KAAKA,EAAE,KAAK,KAAK,gBAAgBA,EAAE,gBAAuB,OAAM,GAAe,UAAU,iBAAiB,GAAWgV,GAAG,IAAI,EAAcnJ,GAAG,IAAI,GAAUoJ,GAAG,IAAI,GAAaC,GAAG,IAAI,EAAc,GAAN,cAAqB,EAAQ,CAAC,YAAY,EAAE,IAAI,GAAe,EAAE,IAAI,GAAe,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,KAAK,SAASlV,EAAE,KAAK,SAASC,EAAE,KAAK,oBAAoB,CAAC,KAAK,EAAE,CAAiE,OAAhE,MAAM,KAAKD,EAAE,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAgB,KAAK,QAAQ,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,SAAeE,EAAE,KAAK,YAAkBE,EAAEJ,EAAE,OAAO,OAAO,UAAgBQ,EAAE,EAAE,UAAuH,GAAtG,EAAE,iBAAT,MAAyB,EAAE,uBAAuB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC,GAAG,aAAaN,EAAE,CAAC,GAAG,QAAQE,EAAK,KAAQJ,EAAE,IAAI,iBAAiBiV,GAAG,CAAC,OAAO,GAAG,KAAK/U,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAKF,EAAE,IAAI,CAAC,aAAagV,GAAG,CAAC,IAAM,EAAE5U,IAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,GAAG,GAAS,EAAE,EAAE,EAAE,GAAG,EAAE,iBAAiB,CAAC,IAAMA,EAAE,EAAE,MAAiCK,EAAnB,EAAE,WAAqB,SAAS,GAAUL,IAAP,KAAS,CAAC,IAAMe,EAAE,KAAK,IAAI,EAAEX,EAAE,MAAM,CAAOQ,EAAE,KAAK,IAAIZ,EAAE,MAAMI,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIA,EAAEW,EAAET,EAAEM,EAAER,EAAEE,EAAE,IAAI,CAAC,IAAMS,EAAEf,EAAE,KAAKI,EAAE,CAAC,GAAG,oBAAoBC,EAAEU,EAAE,CAAC,GAAU+T,GAAG/T,EAAE,EAAEjB,EAAEF,EAAEC,EAAE,KAAK,MAAM,CAAC,IAAMkB,EAAE,KAAK,IAAI,EAAEX,EAAE,MAAM,CAAOJ,EAAE,KAAK,IAAIK,EAAE,MAAMD,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIA,EAAEW,EAAEH,EAAEZ,EAAEI,EAAEQ,EAAE,IAAK,GAAG,oBAAoBP,EAAED,EAAE,CAAC,GAAU0U,GAAG1U,EAAE,EAAEN,EAAEF,EAAEC,EAAE,KAAK,OAAQ,QAAQ,MAAM,8FAA8F,CAAC,oBAAoB,CAAC,IAAMD,EAAE,KAAK,SAAS,GAAGA,EAAE,iBAAiB,CAAC,IAAMC,EAAED,EAAE,gBAAsB,EAAE,OAAO,KAAKC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAMD,EAAEC,EAAE,EAAE,IAAI,GAAYD,IAAT,IAAK,GAAM,CAAC,KAAK,sBAAsB,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,CAAC,IAAMA,EAAEnB,EAAEC,GAAG,MAAM,OAAOA,EAAE,CAAC,KAAK,sBAAsB,KAAK,EAAE,CAAC,KAAK,sBAAsBkB,GAAGlB,SAAS,CAAC,IAAMA,EAAED,EAAE,aAAsBC,IAAT,IAAK,IAAOA,EAAE,OAAO,GAAG,QAAQ,MAAM,uGAAuG,IAAG,GAAO,UAAU,SAAS,GAA0S,GAAN,cAA2B,EAAO,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMD,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAEC,EAAE,CAAC,KAAK,OAAgB,IAAT,IAAK,GAAQmE,GAAF,EAAK,KAAK,UAAmBpE,IAAT,IAAK,GAAQ0F,GAAF1F,EAAK,KAAK,UAAmBJ,IAAT,IAAK,GAAQ8F,GAAF9F,EAAK,KAAK,gBAAgB,GAAM,IAAMM,EAAE,KAAK,SAAS,GAAa,CAAC,EAAE,YAAY,GAAK,EAAE,0BAA0B,EAAY,CAAC,8BAA8BV,GAAGA,EAAE,0BAA0B,EAAY,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAMA,EAAE,KAAK,MAAc,8BAA8BA,GAAE,GAAWA,EAAE,YAAYA,EAAE,oBAAoB,KAAK,YAAY,MAAO,GAAa,UAAU,eAAe,GAAW,GAAN,cAAiC,EAAO,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAMA,EAAE,OAAOC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE,KAAK,UAAUkG,GAAG,KAAK,UAAUA,GAAG,KAAK,gBAAgB,GAAM,KAAK,YAAY,KAAM,GAAmB,UAAU,qBAAqB,GAAW,GAAN,cAAgC,EAAO,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK3F,EAAE,EAAE,EAAEC,EAAEC,EAAER,EAAEE,EAAEO,EAAEC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAMX,EAAE,OAAO,EAAE,CAAC,KAAK,QAAQD,EAAE,KAAK,MAAM,GAAM,KAAK,gBAAgB,KAAO,GAAkB,UAAU,oBAAoB,GAAW,GAAN,cAA4B,EAAO,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAEC,EAAE,CAAC,KAAK,YAAY,KAAM,GAAc,UAAU,gBAAgB,GAAW,GAAN,MAAM,UAAuB,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,WAAW,CAAC,OAAOT,EAAE,SAASC,EAAE,WAAW,EAAE,YAAYC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAED,EAAE,CAAC,IAAMG,EAAE,EAAE,CAAOI,EAAE,EAAE,CAAO,EAAE,EAAE,CAAO,EAAE,EAAE,CAAOC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,IAAIN,EAAE,EAAEO,EAAE,EAAEP,GAAGH,EAAE,IAAI,GAAG,EAAE,CAAC,IAAMW,EAAE,EAAER,EAAEH,EAAEC,EAAE,EAAE,EAAEF,EAAE,KAAK,IAAIY,EAAE,CAAC,EAAE,EAAEZ,EAAE,KAAK,IAAIY,EAAE,CAAC,EAAE,KAAKH,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGD,EAAEG,GAAGX,EAAE,GAAG,EAAE,EAAE,GAAGQ,EAAEG,EAAE,GAAGX,EAAE,GAAG,EAAE,EAAE,KAAKU,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,GAAGC,EAAE,IAAI,EAAE,KAAKD,EAAEA,EAAE,EAAE,EAAE,CAAC,KAAK,SAASI,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBI,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAeR,EAAE,OAAOA,EAAE,SAASA,EAAE,WAAWA,EAAE,YAAY,GAAQ,GAAN,MAAM,UAAyB,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,mBAAmB,KAAK,WAAW,CAAC,UAAUA,EAAE,aAAaC,EAAE,OAAO,EAAE,eAAeC,EAAE,eAAeE,EAAE,UAAUI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,IAAMC,EAAE,KAAK,EAAE,KAAK,MAAMP,EAAE,CAAC,EAAE,KAAK,MAAME,EAAE,CAAC,IAAMM,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAKC,EAAE,EAAQC,EAAE,EAAE,CAAO,EAAE,EAAE,EAAMkB,EAAE,EAAE,GAAe,CAAI,KAAQzB,IAAG,EAAE,GAAG,EAAY,GAAK,CAAC,EAAE,GAAG,EAAY,GAAM,EAAC,KAAK,SAASE,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAe,CAAC,IAAML,EAAE,IAAI,EAAc0B,EAAE,IAAI,EAAYI,EAAE,EAAQC,GAAGtC,EAAED,GAAG,EAAE,IAAI,IAAIS,EAAE,EAAEA,GAAGL,EAAE,IAAI,CAAC,IAAMM,EAAE,EAAE,CAAOuB,EAAExB,EAAEL,EAAQkC,EAAEL,GAAGhC,EAAED,GAAGA,EAAE,IAAI,IAAIA,EAAE,EAAEA,GAAGE,EAAE,IAAI,CAAC,IAAMD,EAAED,EAAEE,EAAQE,EAAEH,EAAE,EAAE,EAAQQ,EAAE,KAAK,IAAIL,EAAE,CAAOW,EAAE,KAAK,IAAIX,EAAE,CAAC,EAAE,EAAEkC,EAAE7B,EAAE,EAAE,EAAE,CAACwB,EAAE,EAAE,EAAE,EAAE,EAAEK,EAAEvB,EAAE,EAAE,KAAKmB,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,IAAIzB,EAAE8B,EAAExB,EAAE,CAAC,WAAW,CAAC,EAAE,KAAKP,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKP,EAAE,EAAEgC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAKvB,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,EAAEE,EAAE,IAAI,IAAI,IAAID,EAAE,EAAEA,EAAEG,EAAE,IAAI,CAAC,IAAMe,EAAEJ,EAAEd,GAAGD,GAASE,EAAEa,EAAEd,EAAE,GAAGD,GAASI,EAAEW,EAAEd,EAAE,GAAGD,EAAE,GAASQ,EAAEO,EAAEd,GAAGD,EAAE,GAAG,EAAE,KAAKmB,EAAEjB,EAAEM,EAAE,CAAC,EAAE,KAAKN,EAAEE,EAAEI,EAAE,CAAC,GAAG,EAAE,EAAE,SAASyB,EAAEK,EAAE,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAY,EAAE,CAAC,IAAMlC,EAAEU,EAAQN,EAAE,IAAI,EAAcO,EAAE,IAAI,EAAYmB,EAAE,EAAQI,EAAE,KAAOnB,EAAEnB,EAAEC,EAAQsC,EAAE,KAAOpB,EAAE,EAAE,GAAG,IAAI,IAAInB,EAAE,EAAEA,GAAGE,EAAE,IAAK,EAAE,KAAK,EAAE,EAAEqC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,IAAMC,EAAE1B,EAAE,IAAI,IAAId,EAAE,EAAEA,GAAGE,EAAE,IAAI,CAAa,IAAMiB,EAAVnB,EAAEE,EAAY,EAAE,EAAQE,EAAE,KAAK,IAAIe,EAAE,CAAOV,EAAE,KAAK,IAAIU,EAAE,CAAC,EAAE,EAAEmB,EAAE7B,EAAE,EAAE,EAAE,EAAE8B,EAAE,EAAE,EAAED,EAAElC,EAAE,EAAE,KAAKW,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAEwB,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGnC,EAAE,GAAG,EAAE,EAAE,GAAGK,EAAE8B,EAAE,GAAG,EAAE,KAAK/B,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAI,IAAI,IAAIR,EAAE,EAAEA,EAAEE,EAAE,IAAI,CAAC,IAAMD,EAAEG,EAAEJ,EAAQE,EAAEsC,EAAExC,EAAE,KAAOmB,EAAET,EAAE,KAAKR,EAAEA,EAAE,EAAED,EAAE,CAACS,EAAE,KAAKR,EAAE,EAAEA,EAAED,EAAE,CAAC,GAAG,EAAE,EAAE,SAASgC,EAAEC,EAAE,KAAOf,EAAE,EAAE,EAAE,CAAC,GAAGe,GAAG,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAiBlC,EAAE,UAAUA,EAAE,aAAaA,EAAE,OAAOA,EAAE,eAAeA,EAAE,eAAeA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,GAAQ,GAAN,MAAM,UAAqB,EAAgB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,MAAM,EAAEA,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,CAAC,KAAK,KAAK,eAAe,KAAK,WAAW,CAAC,OAAOR,EAAE,OAAOC,EAAE,eAAe,EAAE,eAAeC,EAAE,UAAUE,EAAE,WAAWI,EAAE,YAAY,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAaR,EAAE,OAAOA,EAAE,OAAOA,EAAE,eAAeA,EAAE,eAAeA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,GAAQ,GAAN,MAAM,UAA2B,EAAc,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,qBAAqB,KAAK,WAAW,CAAC,SAASA,EAAE,QAAQC,EAAE,OAAO,EAAE,OAAOC,EAAE,CAAC,IAAME,EAAE,EAAE,CAAOI,EAAE,EAAE,CAAC,EAAUN,EAAE,CAAC,EAAY,EAAE,CAAC,GAAa,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBA,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBI,EAAE,EAAE,CAAC,CAAKN,IAAJ,EAAM,KAAK,sBAAsB,CAAC,KAAK,kBAAkB,CAAC,SAAS,EAAU,EAAE,CAAC,IAAMiB,EAAE,IAAI,EAAcjB,EAAE,IAAI,EAAcE,EAAE,IAAI,EAAQ,IAAI,IAAII,EAAE,EAAEA,EAAEP,EAAE,OAAO,GAAG,EAAG,EAAiBA,EAAEO,EAAE,GAAGW,EAAE,CAAC,EAAiBlB,EAAEO,EAAE,GAAGN,EAAE,CAAC,EAAiBD,EAAEO,EAAE,GAAGJ,EAAE,CAAC,EAAce,EAAEjB,EAAEE,EAAEJ,EAAE,CAAE,SAAS,EAAc,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMI,EAAEF,EAAE,EAAQM,EAAE,EAAE,CAAC,IAAI,IAAIN,EAAE,EAAEA,GAAGE,EAAE,IAAI,CAAC,EAAEF,GAAG,EAAE,CAAC,IAAM,EAAEF,EAAE,OAAO,CAAC,KAAKmB,EAAEjB,EAAEE,EAAE,CAAO,EAAEH,EAAE,OAAO,CAAC,KAAKkB,EAAEjB,EAAEE,EAAE,CAAOK,EAAEL,EAAEF,EAAE,IAAI,IAAIF,EAAE,EAAEA,GAAGS,EAAE,IAAI,EAAEP,GAAGF,GAAOA,IAAJ,GAAOE,IAAIE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAEJ,EAAES,EAAE,CAAC,IAAI,IAAIT,EAAE,EAAEA,EAAEI,EAAE,IAAI,IAAI,IAAIH,EAAE,EAAEA,EAAE,GAAGG,EAAEJ,GAAG,EAAE,IAAI,CAAC,IAAMmB,EAAE,KAAK,MAAMlB,EAAE,EAAE,CAAIA,EAAE,GAAI,GAAG,EAAWO,EAAER,GAAGmB,EAAE,GAAG,CAAC,EAAWX,EAAER,EAAE,GAAGmB,GAAG,CAAC,EAAWX,EAAER,GAAGmB,GAAG,GAAM,EAAWX,EAAER,GAAGmB,EAAE,GAAG,CAAC,EAAWX,EAAER,EAAE,GAAGmB,EAAE,GAAG,CAAC,EAAWX,EAAER,EAAE,GAAGmB,GAAG,GAAG,SAAS,EAAY,EAAE,CAAC,IAAMlB,EAAE,IAAI,EAAQ,IAAI,IAAIkB,EAAE,EAAEA,EAAEf,EAAE,OAAO,GAAG,EAAG,EAAE,EAAEA,EAAEe,EAAE,GAAG,EAAE,EAAEf,EAAEe,EAAE,GAAG,EAAE,EAAEf,EAAEe,EAAE,GAAG,EAAE,WAAW,CAAC,eAAenB,EAAE,CAAC,EAAEmB,EAAE,GAAGlB,EAAE,EAAE,EAAEkB,EAAE,GAAGlB,EAAE,EAAE,EAAEkB,EAAE,GAAGlB,EAAE,EAAG,SAAS,GAAa,CAAC,IAAMD,EAAE,IAAI,EAAQ,IAAI,IAAIC,EAAE,EAAEA,EAAEG,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,EAAEA,EAAEH,EAAE,GAAG,EAAE,EAAEG,EAAEH,EAAE,GAAG,EAAE,EAAEG,EAAEH,EAAE,GAAG,IAAMkB,EAAE,EAAQnB,EAAE,CAAC,EAAE,KAAK,GAAG,GAASE,EAAE,EAAYF,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,KAAKmB,EAAE,EAAEjB,EAAE,CAAC,GAAY,CAAC,GAAa,CAAC,SAAS,GAAa,CAAC,IAAI,IAAIF,EAAE,EAAEA,EAAEQ,EAAE,OAAO,GAAG,EAAE,CAAC,IAAMP,EAAEO,EAAER,EAAE,GAASmB,EAAEX,EAAER,EAAE,GAASE,EAAEM,EAAER,EAAE,GAAW,KAAK,IAAIC,EAAEkB,EAAEjB,EAAE,CAA8B,IAArB,KAAK,IAAID,EAAEkB,EAAEjB,EAAE,CAAY,KAAI,EAAE,KAAK,EAAEF,EAAE,IAAI,GAAG,EAAE,KAAK,EAAEA,EAAE,IAAI,GAAG,EAAE,KAAK,EAAEA,EAAE,IAAI,KAAK,SAAS,EAAW,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,SAAS,EAAiB,EAAE,EAAE,CAAC,IAAME,EAAE,EAAED,EAAE,EAAE,EAAED,EAAEE,EAAE,GAAG,EAAE,EAAEF,EAAEE,EAAE,GAAG,EAAE,EAAEF,EAAEE,EAAE,GAAG,SAAS,GAAY,CAAC,IAAMF,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAckB,EAAE,IAAI,EAAcjB,EAAE,IAAI,EAAc,EAAE,IAAI,EAAc,EAAE,IAAI,EAAcO,EAAE,IAAI,EAAQ,IAAI,IAAIC,EAAE,EAAEC,EAAE,EAAED,EAAEN,EAAE,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAIA,EAAEM,EAAE,GAAGN,EAAEM,EAAE,GAAGN,EAAEM,EAAE,GAAG,CAAC,EAAE,IAAIN,EAAEM,EAAE,GAAGN,EAAEM,EAAE,GAAGN,EAAEM,EAAE,GAAG,CAAC,EAAE,IAAIN,EAAEM,EAAE,GAAGN,EAAEM,EAAE,GAAGN,EAAEM,EAAE,GAAG,CAAC,EAAE,IAAIF,EAAEG,EAAE,GAAGH,EAAEG,EAAE,GAAG,CAAC,EAAE,IAAIH,EAAEG,EAAE,GAAGH,EAAEG,EAAE,GAAG,CAAC,EAAE,IAAIH,EAAEG,EAAE,GAAGH,EAAEG,EAAE,GAAG,CAAC,EAAE,KAAKX,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAIkB,EAAE,CAAC,aAAa,EAAE,CAAC,IAAMP,EAAE,EAAQV,EAAE,CAAC,EAAU,EAAES,EAAE,EAAEX,EAAEY,EAAE,CAAC,EAAU,EAAED,EAAE,EAAEV,EAAEW,EAAE,CAAC,EAAUH,EAAEE,EAAE,EAAEQ,EAAEP,EAAE,EAAE,SAAS,EAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAOZ,EAAE,IAAN,IAAU,EAAEC,GAAGD,EAAE,EAAE,GAAOmB,EAAE,IAAN,GAAaA,EAAE,IAAN,IAAU,EAAElB,GAAGC,EAAE,EAAE,KAAK,GAAG,IAAI,SAAS,EAAQ,EAAE,CAAC,OAAO,KAAK,MAAMF,EAAE,EAAE,CAACA,EAAE,EAAE,CAAC,SAAS,EAAY,EAAE,CAAC,OAAO,KAAK,MAAM,CAACA,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAmBA,EAAE,SAASA,EAAE,QAAQA,EAAE,OAAOA,EAAE,QAAQ,GAAQ,GAAN,MAAM,UAA6B,EAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,EAAQE,EAAE,EAAE,EAAQE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAACF,EAAE,CAAC,EAAE,EAAE,CAACA,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAE,CAACA,EAAE,CAAC,EAAE,EAAE,CAACA,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAACA,EAAE,EAAE,EAAE,CAACA,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,CAAqR,MAAME,EAAlR,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAWJ,EAAEC,EAAE,CAAC,KAAK,KAAK,uBAAuB,KAAK,WAAW,CAAC,OAAOD,EAAE,OAAOC,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAqBD,EAAE,OAAOA,EAAE,OAAO,GAAQmV,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAe,GAAN,cAA4B,EAAc,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAiF,GAAhF,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,SAAStV,EAAE,eAAeC,EAAE,CAAWD,IAAP,KAAS,CAAW,IAAME,EAAW,IAAnB,EAA+BE,EAAE,KAAK,IAAIE,GAAGL,EAAE,CAAOO,EAAER,EAAE,UAAU,CAAO,EAAEA,EAAE,aAAa,WAAW,CAAO,EAAEQ,EAAEA,EAAE,MAAM,EAAE,MAAYC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAOC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAOC,EAAE,KAAY,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAC,IAAI,IAAIb,EAAE,EAAEA,EAAE,EAAE,GAAG,EAAE,CAAIQ,GAAG,EAAE,GAAGA,EAAE,KAAKR,EAAE,CAAC,EAAE,GAAGQ,EAAE,KAAKR,EAAE,EAAE,CAAC,EAAE,GAAGQ,EAAE,KAAKR,EAAE,EAAE,GAAM,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,GAAE,GAAK,CAAC,EAAEC,EAAE,EAAE,EAAE,EAAEoC,GAAGiT,GAAgU,GAA7T,EAAE,oBAAoB,EAAE7U,EAAE,GAAG,CAAC,EAAE,oBAAoB,EAAEA,EAAE,GAAG,CAAC,EAAE,oBAAoB,EAAEA,EAAE,GAAG,CAAC,GAAG,UAAU4U,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,MAAMpV,EAAE,EAAEC,EAAE,CAAC,GAAG,KAAK,MAAMD,EAAE,EAAEC,EAAE,CAAC,GAAG,KAAK,MAAMD,EAAE,EAAEC,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,MAAM,EAAE,EAAEA,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,EAAEA,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,EAAEA,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,MAAMmC,EAAE,EAAEnC,EAAE,CAAC,GAAG,KAAK,MAAMmC,EAAE,EAAEnC,EAAE,CAAC,GAAG,KAAK,MAAMmC,EAAE,EAAEnC,EAAE,GAAMS,EAAE,KAAKA,EAAE,IAAIA,EAAE,KAAKA,EAAE,IAAIA,EAAE,KAAKA,EAAE,GAAG,IAAI,IAAIX,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAMC,GAAGD,EAAE,GAAG,EAAQmB,EAAER,EAAEX,GAASE,EAAES,EAAEV,GAASO,EAAE8U,GAAG5U,EAAEV,IAAUgB,EAAEsU,GAAG5U,EAAET,IAAUoC,EAAE,GAAGlB,EAAE,GAAGjB,IAAUY,EAAE,GAAGZ,EAAE,GAAGiB,IAAOL,KAAKF,GAAGA,EAAEE,IAAOuU,GAAG,IAAIzU,EAAEE,GAAG,OAAO,EAAEV,IAAG,EAAE,KAAKI,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKQ,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAC,EAAEF,GAAG,MAAU,KAAKF,IAAI,EAAEyB,GAAG,CAAC,OAAO5B,EAAET,GAAG,OAAOS,EAAER,GAAG,OAAOoV,GAAG,OAAO,CAAC,GAAG,IAAI,IAAMrV,KAAKY,EAAE,GAAGA,EAAEZ,GAAG,CAAC,GAAK,CAAC,OAAOC,EAAE,OAAO,GAAGW,EAAEZ,GAAG,GAAG,oBAAoB,EAAEC,EAAE,CAAC,GAAG,oBAAoB,EAAE,EAAE,CAAC,EAAE,KAAKkV,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,EAAE,KAAKC,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBvU,EAAE,EAAE,CAAC,IAAS,GAAN,KAAW,CAAC,aAAa,CAAC,KAAK,KAAK,QAAQ,KAAK,mBAAmB,IAAI,UAAU,CAA2D,OAA1D,QAAQ,KAAK,4CAA4C,CAAQ,KAAK,WAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,eAAeb,EAAE,CAAC,OAAO,KAAK,SAAS,EAAEC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAGD,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,EAAEA,EAAE,CAAC,CAAC,OAAOC,EAAE,gBAAgB,EAAE,EAAE,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAGD,EAAE,IAAI,EAAE,KAAK,KAAK,WAAW,EAAEA,EAAE,CAAC,CAAC,OAAOC,EAAE,WAAW,CAAC,IAAMD,EAAE,KAAK,YAAY,CAAC,OAAOA,EAAEA,EAAE,OAAO,GAAG,WAAW,EAAE,KAAK,mBAAmB,CAAC,GAAG,KAAK,iBAAiB,KAAK,gBAAgB,SAASA,EAAE,GAAG,CAAC,KAAK,YAAY,OAAO,KAAK,gBAAgB,KAAK,YAAY,GAAM,IAAMC,EAAE,EAAE,CAAK,EAAEC,EAAE,KAAK,SAAS,EAAE,CAAKE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,IAAII,EAAE,EAAEA,GAAGR,EAAE,IAAK,EAAE,KAAK,SAASQ,EAAER,EAAE,CAAC,GAAG,EAAE,WAAWE,EAAE,CAAC,EAAE,KAAKE,EAAE,CAAC,EAAE,EAAyB,MAAvB,MAAK,gBAAgBH,EAASA,EAAE,kBAAkB,CAAC,KAAK,YAAY,GAAK,KAAK,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,YAAY,CAAKC,EAAE,EAAQE,EAAE,EAAE,OAAWI,EAAE,EAAEP,GAAGD,EAAE,EAAEI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAEK,EAAEL,EAAE,EAAE,KAAM,GAAGK,GAAoC,GAAjC,EAAE,KAAK,MAAM,GAAGA,EAAE,GAAG,EAAE,CAAC,EAAE,EAAEP,GAAGM,EAAK,EAAE,EAAE,EAAEN,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAEA,EAAE,MAAM,EAAEA,EAAE,EAAO,GAAJ,EAAEO,EAAK,EAAEP,KAAKM,EAAE,OAAON,GAAGE,EAAE,GAAG,IAAMM,EAAE,EAAER,GAAwBU,EAAb,EAAEV,EAAE,GAAaQ,EAAQG,GAAGL,EAAEE,GAAGE,EAAsB,OAAXV,EAAEW,IAAIT,EAAE,GAAY,WAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAASF,EAAEF,EAAE,EAAMI,EAAEJ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAMQ,EAAE,KAAK,SAASN,EAAE,CAAO,EAAE,KAAK,SAASE,EAAE,CAAO,EAAEH,IAAIO,EAAE,UAAU,IAAI,EAAQ,IAAI,GAAsC,OAA7B,EAAE,KAAK,EAAE,CAAC,IAAIA,EAAE,CAAC,WAAW,CAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,eAAeR,EAAE,CAAC,OAAO,KAAK,WAAW,EAAEC,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,EAAcC,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAOI,EAAE,EAAE,CAAO,EAAE,IAAI,EAAc,EAAE,IAAI,EAAQ,IAAI,IAAIP,EAAE,EAAEA,GAAGD,EAAE,IAAI,CAAC,IAAMmB,EAAElB,EAAED,EAAE,EAAEC,GAAG,KAAK,aAAakB,EAAE,IAAI,EAAQ,CAAC,EAAE,GAAG,IAAI,EAAQ,EAAE,GAAG,IAAI,EAAQ,IAAIV,EAAE,OAAO,UAAgBC,EAAE,KAAK,IAAIR,EAAE,GAAG,EAAE,CAAOS,EAAE,KAAK,IAAIT,EAAE,GAAG,EAAE,CAAOU,EAAE,KAAK,IAAIV,EAAE,GAAG,EAAE,CAAIQ,GAAGD,IAAG,EAAEC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAIC,GAAGF,IAAG,EAAEE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAC,GAAGF,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,aAAaP,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,aAAaA,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,aAAaA,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAI,IAAIH,EAAE,EAAEA,GAAGD,EAAE,IAAI,CAAqE,GAApE,EAAEC,GAAGG,EAAEH,EAAE,GAAG,OAAO,CAAC,EAAEA,GAAGO,EAAEP,EAAE,GAAG,OAAO,CAAC,EAAE,aAAaC,EAAED,EAAE,GAAGC,EAAED,GAAG,CAAI,EAAE,QAAQ,QAAgB,CAAC,EAAE,WAAW,CAAC,IAAMD,EAAE,KAAK,KAAK,GAAME,EAAED,EAAE,GAAG,IAAIC,EAAED,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAEA,GAAG,aAAa,EAAE,iBAAiB,EAAED,EAAE,CAAC,CAAC,EAAEC,GAAG,aAAaC,EAAED,GAAGG,EAAEH,GAAG,CAAC,GAAG,KAAOA,EAAE,CAAC,IAAIA,EAAE,KAAK,KAAK,GAAMG,EAAE,GAAG,IAAIA,EAAEJ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAGA,EAAE,EAAE,GAAG,IAAI,EAAE,aAAaI,EAAE,GAAGA,EAAEJ,GAAG,CAAC,CAAC,IAAI,EAAE,CAACC,GAAG,IAAI,IAAIkB,EAAE,EAAEA,GAAGnB,EAAE,IAAK,EAAEmB,GAAG,aAAa,EAAE,iBAAiBjB,EAAEiB,GAAGlB,EAAEkB,EAAE,CAAC,CAAC,EAAEA,GAAG,aAAajB,EAAEiB,GAAGf,EAAEe,GAAG,CAAE,MAAM,CAAC,SAASjB,EAAE,QAAQE,EAAE,UAAUI,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAA8C,MAA7C,MAAK,mBAAmBR,EAAE,mBAA0B,KAAK,QAAQ,CAAC,IAAMA,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,QAAQ,UAAU,eAAe,CAAC,CAA+D,MAA9D,GAAE,mBAAmB,KAAK,mBAAmB,EAAE,KAAK,KAAK,KAAYA,EAAE,SAAS,EAAE,CAA8C,MAA7C,MAAK,mBAAmBA,EAAE,mBAA0B,OAAY,GAAN,cAA2B,EAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,GAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,eAAe,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQC,EAAE,KAAK,YAAYE,EAAE,KAAK,UAAUI,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,IAAM,EAAEP,GAAG,IAAI,EAAcC,EAAE,EAAE,KAAK,GAAOE,EAAE,KAAK,UAAU,KAAK,YAAkBI,EAAE,KAAK,IAAIJ,EAAE,QAAgB,KAAMA,EAAE,GAAE,GAAGF,EAAE,KAAME,EAAEF,GAAE,GAAGA,EAAE,WAAmB,EAAEM,EAAE,EAAEN,GAAG,KAAO,KAAK,YAAYM,IAAIJ,IAAIF,EAAE,EAAE,CAACA,EAAE,GAAGA,GAAG,IAAM,EAAE,KAAK,YAAYF,EAAEI,EAAM,EAAE,KAAK,GAAG,KAAK,QAAQ,KAAK,IAAI,EAAE,CAAKK,EAAE,KAAK,GAAG,KAAK,QAAQ,KAAK,IAAI,EAAE,CAAC,GAAO,KAAK,YAAT,EAAmB,CAAC,IAAMT,EAAE,KAAK,IAAI,KAAK,UAAU,CAAOC,EAAE,KAAK,IAAI,KAAK,UAAU,CAAOkB,EAAE,EAAE,KAAK,GAASjB,EAAEO,EAAE,KAAK,GAAG,EAAEU,EAAEnB,EAAEE,EAAED,EAAE,KAAK,GAAG,EAAEkB,EAAElB,EAAEC,EAAEF,EAAE,KAAK,GAAG,OAAO,EAAE,IAAI,EAAES,EAAE,CAAC,KAAK,EAAE,CAAyM,OAAxM,MAAM,KAAKT,EAAE,CAAC,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQA,EAAE,QAAQ,KAAK,YAAYA,EAAE,YAAY,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAiB,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA2L,MAA1L,GAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,QAAQ,KAAK,QAAQ,EAAE,QAAQ,KAAK,QAAQ,EAAE,YAAY,KAAK,YAAY,EAAE,UAAU,KAAK,UAAU,EAAE,WAAW,KAAK,WAAW,EAAE,UAAU,KAAK,UAAiBA,EAAE,SAAS,EAAE,CAA6M,OAA5M,MAAM,SAASA,EAAE,CAAC,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQA,EAAE,QAAQ,KAAK,YAAYA,EAAE,YAAY,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAiB,OAAM,GAAa,UAAU,eAAe,GAAW,GAAN,cAAuB,EAAY,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAC,KAAK,KAAK,aAAY,GAAS,UAAU,WAAW,GAAqY+U,GAAG,IAAI,EAAcC,GAAG,IAAI,GAAUC,GAAG,IAAI,GAAUC,GAAG,IAAI,GAAgB,GAAN,cAA+B,EAAK,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,GAAM,EAAE,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,mBAAmB,KAAK,OAAO1V,EAAE,KAAK,OAAOC,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAED,EAAQC,EAAE,KAAK,OAAaE,EAAEF,EAAE,OAAaM,GAAGJ,GAAG,KAAK,OAAO,EAAE,IAAIJ,EAAM,EAAE,KAAK,MAAMQ,EAAE,CAAK,EAAEA,EAAE,EAAK,KAAK,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,MAAM,KAAK,IAAI,EAAE,CAACJ,EAAE,CAAC,GAAGA,EAAc,IAAJ,GAAO,IAAIA,EAAE,IAAG,EAAEA,EAAE,EAAE,EAAE,GAAE,IAAIK,EAAEC,EAAK,KAAK,QAAQ,EAAE,EAAE,EAAER,GAAG,EAAE,GAAGE,IAAQ,GAAG,WAAWF,EAAE,GAAGA,EAAE,GAAG,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAEqV,IAAG,IAAM5U,EAAET,EAAE,EAAEE,GAASQ,EAAEV,GAAG,EAAE,GAAGE,GAAyF,GAAnF,KAAK,QAAQ,EAAE,EAAEA,EAAE,EAAEF,GAAG,EAAE,GAAGE,IAAQ,GAAG,WAAWF,EAAEE,EAAE,GAAGF,EAAEE,EAAE,GAAG,CAAC,IAAIF,EAAEE,EAAE,GAAG,CAAC,EAAEmV,IAAsB,KAAK,YAArB,eAA4C,KAAK,YAAjB,UAA2B,CAAC,IAAMvV,EAAc,KAAK,YAAjB,UAA2B,GAAG,IAAQC,EAAWQ,EAAE,kBAAkBE,EAAE,GAACX,EAAOmB,EAAWR,EAAE,kBAAkBC,EAAE,GAACZ,EAAOE,EAAWU,EAAE,kBAAkBF,EAAE,GAACV,EAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAEmB,GAAG,EAAE,OAAO,EAAEA,GAAG,GAAG,yBAAyBV,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAET,EAAEkB,EAAEjB,EAAE,CAAC,GAAG,yBAAyBO,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAET,EAAEkB,EAAEjB,EAAE,CAAC,GAAG,yBAAyBO,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAET,EAAEkB,EAAEjB,EAAE,MAAwB,KAAK,YAApB,eAA+B,GAAG,eAAeO,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAE,KAAK,QAAQ,CAAC,GAAG,eAAeD,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAE,KAAK,QAAQ,CAAC,GAAG,eAAeD,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAE,KAAK,QAAQ,EAAyC,OAAxC,EAAE,IAAI8U,GAAG,KAAK,EAAE,CAACC,GAAG,KAAK,EAAE,CAACC,GAAG,KAAK,EAAE,CAAC,CAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,KAAK1V,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAO,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,OAAOC,GAAG,KAAK,OAAO,KAAKkB,EAAE,OAAO,CAAC,CAAwE,MAAvE,MAAK,OAAOnB,EAAE,OAAO,KAAK,UAAUA,EAAE,UAAU,KAAK,QAAQA,EAAE,QAAe,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAE,KAAK,OAAO,OAAOA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAE,KAAK,OAAOlB,GAAG,EAAE,OAAO,KAAKkB,EAAE,SAAS,CAAC,CAAwE,MAAvE,GAAE,OAAO,KAAK,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,QAAQ,KAAK,QAAenB,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAO,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,OAAOC,GAAG,KAAK,OAAO,KAAM,IAAI,GAAO,CAAE,UAAUkB,EAAE,CAAC,CAAwE,MAAvE,MAAK,OAAOnB,EAAE,OAAO,KAAK,UAAUA,EAAE,UAAU,KAAK,QAAQA,EAAE,QAAe,OAAM,GAAiB,UAAU,mBAAmB,GAAytB,GAAN,cAA+B,EAAK,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,mBAAmB,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAED,EAAQC,EAAE,KAAK,GAAGE,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAG,EAAE,KAAK,GAAwE,OAArE,EAAE,IAAI,GAAYR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAYR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAQ,EAAE,KAAK,EAAE,CAA2F,OAA1F,MAAM,KAAKR,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA6F,MAA5F,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAQA,EAAE,SAAS,EAAE,CAAmH,OAAlH,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,OAAM,GAAiB,UAAU,mBAAmB,GAAW,GAAN,cAAgC,EAAK,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAED,EAAQC,EAAE,KAAK,GAAGE,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAG,EAAE,KAAK,GAAuG,OAApG,EAAE,IAAI,GAAYR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAYR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAYR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAQ,EAAE,KAAK,EAAE,CAA2F,OAA1F,MAAM,KAAKR,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA6F,MAA5F,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAQA,EAAE,SAAS,EAAE,CAAmH,OAAlH,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,OAAM,GAAkB,UAAU,oBAAoB,GAAW,GAAN,cAAwB,EAAK,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAEA,EAA8F,OAArFD,IAAJ,EAAM,EAAE,KAAK,KAAK,GAAG,EAAM,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,eAAeA,EAAE,CAAC,IAAI,KAAK,GAAG,EAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,KAAK,SAASA,EAAEC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAM,EAAEA,GAAG,IAAI,EAAiD,OAAzC,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAQ,EAAE,KAAK,EAAE,CAAqD,OAApD,MAAM,KAAKD,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA+C,MAA9C,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAQA,EAAE,SAAS,EAAE,CAAmE,OAAlE,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,OAAM,GAAU,UAAU,YAAY,GAAW,GAAN,cAAyB,EAAK,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,aAAa,KAAK,aAAa,GAAK,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAEA,EAA8F,OAArFD,IAAJ,EAAM,EAAE,KAAK,KAAK,GAAG,EAAM,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,eAAeA,EAAE,CAAC,IAAI,KAAK,GAAG,EAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,KAAK,SAASA,EAAEC,EAAE,CAAC,KAAK,EAAE,CAAqD,OAApD,MAAM,KAAKD,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA+C,MAA9C,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAQA,EAAE,SAAS,EAAE,CAAmE,OAAlE,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,OAAY,GAAN,cAAmC,EAAK,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,uBAAuB,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAEA,EAAQC,EAAE,KAAK,GAAGE,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAwE,OAArE,EAAE,IAAI,GAAgBR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,CAAC,GAAgBR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,CAAC,CAAQ,EAAE,KAAK,EAAE,CAAwE,OAAvE,MAAM,KAAKR,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAAsE,MAArE,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAQA,EAAE,SAAS,EAAE,CAA2F,OAA1F,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,OAAM,GAAqB,UAAU,uBAAuB,GAAW,GAAN,cAAoC,EAAK,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,wBAAwB,KAAK,GAAGA,EAAE,KAAK,GAAGC,EAAE,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAEA,EAAQC,EAAE,KAAK,GAAGE,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAuG,OAApG,EAAE,IAAI,GAAgBR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,CAAC,GAAgBR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,CAAC,GAAgBR,EAAEE,EAAE,EAAEE,EAAE,EAAEI,EAAE,EAAE,CAAC,CAAQ,EAAE,KAAK,EAAE,CAAwE,OAAvE,MAAM,KAAKR,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAAsE,MAArE,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAQA,EAAE,SAAS,EAAE,CAA2F,OAA1F,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,OAAM,GAAsB,UAAU,wBAAwB,GAAW,GAAN,cAA0B,EAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,cAAc,KAAK,OAAOA,EAAE,SAAS,EAAE,EAAE,IAAI,EAAQ,CAAC,IAAM,EAAEC,EAAQC,EAAE,KAAK,OAAaE,GAAGF,EAAE,OAAO,GAAGF,EAAQQ,EAAE,KAAK,MAAMJ,EAAE,CAAO,EAAEA,EAAEI,EAAQ,EAAEN,EAAMM,IAAJ,EAAMA,EAAEA,EAAE,GAASC,EAAEP,EAAEM,GAASE,EAAER,EAAEM,EAAEN,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEM,EAAE,GAASG,EAAET,EAAEM,EAAEN,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEM,EAAE,GAAsE,OAAnE,EAAE,IAAI,GAAW,EAAE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,CAAC,GAAW,EAAE,EAAE,EAAEF,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,CAAC,CAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,KAAKX,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAO,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,OAAOC,GAAG,KAAK,OAAO,KAAKkB,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAMnB,EAAE,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAE,KAAK,OAAO,OAAOA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAE,KAAK,OAAOlB,GAAG,EAAE,OAAO,KAAKkB,EAAE,SAAS,CAAC,CAAC,OAAOnB,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAO,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,OAAOC,GAAG,KAAK,OAAO,KAAM,IAAI,GAAO,CAAE,UAAUkB,EAAE,CAAC,CAAC,OAAO,OAAM,GAAY,UAAU,cAAc,GAASwU,GAAG,OAAO,OAAO,CAAC,UAAU,KAAc,YAA0B,oBAAkC,oBAAmC,qBAA+B,gBAAuB,aAAqB,cAAgC,wBAA2C,yBAAkC,eAAY,CAAC,CAAO,GAAN,cAAwB,EAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY,KAAK,OAAO,EAAE,CAAC,KAAK,UAAU,GAAM,IAAI,EAAE,CAAC,KAAK,OAAO,KAAK3V,EAAE,CAAC,WAAW,CAAC,IAAMA,EAAE,KAAK,OAAO,GAAG,SAAS,EAAE,CAAOC,EAAE,KAAK,OAAO,KAAK,OAAO,OAAO,GAAG,SAAS,EAAE,CAAC,EAAE,OAAOA,EAAE,EAAE,KAAK,OAAO,KAAK,IAAI,GAAUA,EAAED,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,KAAK,WAAW,CAAOE,EAAE,KAAK,iBAAiB,CAAKE,EAAE,EAAE,KAAMA,EAAEF,EAAE,QAAO,CAAC,GAAGA,EAAEE,IAAI,EAAE,CAAC,IAAMJ,EAAEE,EAAEE,GAAG,EAAQI,EAAE,KAAK,OAAOJ,GAAS,EAAEI,EAAE,WAAW,CAAO,EAAM,IAAJ,EAAM,EAAE,EAAER,EAAE,EAAE,OAAOQ,EAAE,WAAW,EAAEP,EAAE,CAAC,IAAI,OAAO,KAAK,WAAW,CAAC,IAAMD,EAAE,KAAK,iBAAiB,CAAC,OAAOA,EAAEA,EAAE,OAAO,GAAG,kBAAkB,CAAC,KAAK,YAAY,GAAK,KAAK,aAAa,KAAK,KAAK,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,KAAK,cAAc,KAAK,aAAa,SAAS,KAAK,OAAO,OAAO,OAAO,KAAK,aAAa,IAAMA,EAAE,EAAE,CAAKC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAEC,EAAE,KAAK,OAAO,OAAO,EAAEA,EAAE,IAAK,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,EAAE,KAAKD,EAAE,CAAqB,MAApB,MAAK,aAAaD,EAASA,EAAE,gBAAgB,EAAE,GAAG,CAAC,IAAMC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAGD,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,EAAEA,EAAE,CAAC,CAA8B,OAA7B,KAAK,WAAWC,EAAE,KAAKA,EAAE,GAAG,CAAQA,EAAE,UAAU,EAAE,GAAG,CAAC,IAAMA,EAAE,EAAE,CAAK,EAAE,IAAI,IAAIC,EAAE,EAAEE,EAAE,KAAK,OAAOF,EAAEE,EAAE,OAAO,IAAI,CAAC,IAAMI,EAAEJ,EAAEF,GAAS,EAAEM,GAAGA,EAAE,eAAe,EAAER,EAAEQ,IAAIA,EAAE,aAAaA,EAAE,cAAc,EAAEA,GAAGA,EAAE,cAAcR,EAAEQ,EAAE,OAAO,OAAOR,EAAQ,EAAEQ,EAAE,UAAU,EAAE,CAAC,IAAI,IAAIR,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,CAAC,IAAME,EAAE,EAAEF,IAAM,CAAC,GAAG,CAAC,EAAE,OAAOE,EAAE,IAAE,EAAE,KAAKA,EAAE,CAAC,EAAEA,IAA0E,OAAtE,KAAK,WAAWD,EAAE,OAAO,GAAG,CAACA,EAAEA,EAAE,OAAO,GAAG,OAAOA,EAAE,GAAG,EAAEA,EAAE,KAAKA,EAAE,GAAG,CAAQA,EAAE,KAAK,EAAE,CAAC,MAAM,KAAKD,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAO,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,OAAOC,GAAG,KAAK,OAAO,KAAKkB,EAAE,OAAO,CAAC,CAA4B,MAA3B,MAAK,UAAUnB,EAAE,UAAiB,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAAC,EAAE,UAAU,KAAK,UAAU,EAAE,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAE,KAAK,OAAO,OAAOA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAE,KAAK,OAAOlB,GAAG,EAAE,OAAO,KAAKkB,EAAE,QAAQ,CAAC,CAAC,OAAOnB,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAO,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,OAAOC,GAAG,KAAK,OAAO,KAAM,IAAI0V,GAAGxU,EAAE,OAAK,CAAE,SAASA,EAAE,CAAC,CAAC,OAAO,OAAY,GAAN,cAAmB,EAAS,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,KAAK,aAAa,IAAI,EAAQ,GAAG,KAAK,cAAcnB,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,OAAOA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,OAAOC,EAAE,EAAE,IAAI,KAAK,OAAOD,EAAEC,GAAG,EAAED,EAAEC,GAAG,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,EAAE,CAA4B,OAA3B,KAAK,aAAa,IAAID,EAAEC,EAAE,CAAQ,KAAK,OAAO,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAU,KAAK,aAAa,OAAO,CAAC,IAAI,EAAQD,EAAEC,EAAE,CAAC,CAAgD,OAA/C,KAAK,OAAO,KAAK,EAAE,CAAC,KAAK,aAAa,IAAID,EAAEC,EAAE,CAAQ,KAAK,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMG,EAAE,IAAI,GAAqB,KAAK,aAAa,OAAO,CAAC,IAAI,EAAQJ,EAAEC,EAAE,CAAC,IAAI,EAAQ,EAAEC,EAAE,CAAC,CAAgD,OAA/C,KAAK,OAAO,KAAKE,EAAE,CAAC,KAAK,aAAa,IAAI,EAAEF,EAAE,CAAQ,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,IAAI,GAAiB,KAAK,aAAa,OAAO,CAAC,IAAI,EAAQF,EAAEC,EAAE,CAAC,IAAI,EAAQ,EAAEC,EAAE,CAAC,IAAI,EAAQE,EAAEI,EAAE,CAAC,CAAgD,OAA/C,KAAK,OAAO,KAAK,EAAE,CAAC,KAAK,aAAa,IAAIJ,EAAEI,EAAE,CAAQ,KAAK,WAAW,EAAE,CAA+C,IAAM,EAAE,IAAI,GAAlD,CAAC,KAAK,aAAa,OAAO,CAAC,CAAC,OAAOR,EAAE,CAA2B,CAA2D,OAA1D,KAAK,OAAO,KAAK,EAAE,CAAC,KAAK,aAAa,KAAKA,EAAEA,EAAE,OAAO,GAAG,CAAQ,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,aAAa,EAAQ,EAAE,KAAK,aAAa,EAA+B,OAA7B,KAAK,OAAOA,EAAE,EAAEC,EAAE,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAQ,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAgC,OAA/B,KAAK,WAAWR,EAAEC,EAAE,EAAE,EAAEC,EAAEE,EAAEI,EAAE,CAAQ,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAK,aAAa,EAAQC,EAAE,KAAK,aAAa,EAAuC,OAArC,KAAK,WAAWV,EAAES,EAAER,EAAES,EAAE,EAAER,EAAEE,EAAEI,EAAE,EAAE,EAAE,CAAQ,KAAK,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,IAAI,GAAaT,EAAEC,EAAE,EAAEC,EAAEE,EAAEI,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,OAAO,EAAE,CAAC,IAAMR,EAAES,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,KAAK,aAAa,EAAE,KAAK,OAAOT,EAAE,EAAEA,EAAE,EAAE,CAAC,KAAK,OAAO,KAAKS,EAAE,CAAC,IAAMC,EAAED,EAAE,SAAS,EAAE,CAA2B,OAA1B,KAAK,aAAa,KAAKC,EAAE,CAAQ,KAAK,KAAK,EAAE,CAAsD,OAArD,MAAM,KAAKV,EAAE,CAAC,KAAK,aAAa,KAAKA,EAAE,aAAa,CAAQ,KAAK,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAA4C,MAA3C,GAAE,aAAa,KAAK,aAAa,SAAS,CAAQA,EAAE,SAAS,EAAE,CAA+D,OAA9D,MAAM,SAASA,EAAE,CAAC,KAAK,aAAa,UAAUA,EAAE,aAAa,CAAQ,OAAY,GAAN,cAAoB,EAAI,CAAC,YAAY,EAAE,CAAC,MAAMA,EAAE,CAAC,KAAK,KAAK,IAAc,CAAC,KAAK,KAAK,QAAQ,KAAK,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC,IAAMC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEC,EAAE,KAAK,MAAM,OAAO,EAAEA,EAAE,IAAI,EAAE,GAAG,KAAK,MAAM,GAAG,UAAUF,EAAE,CAAC,OAAOC,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAUD,EAAE,CAAC,MAAM,KAAK,eAAeA,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,MAAM,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,MAAMC,GAAG,KAAK,MAAM,KAAKkB,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAMnB,EAAE,MAAM,QAAQ,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAE,KAAK,MAAM,OAAOA,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAE,KAAK,MAAMlB,GAAG,EAAE,MAAM,KAAKkB,EAAE,QAAQ,CAAC,CAAC,OAAOnB,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,KAAKA,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAE,EAAED,EAAE,MAAM,OAAOC,EAAE,EAAE,IAAI,CAAC,IAAMkB,EAAEnB,EAAE,MAAMC,GAAG,KAAK,MAAM,KAAM,IAAI,IAAI,CAAE,SAASkB,EAAE,CAAC,CAAC,OAAO,OAAYyU,GAAG,CAAC,YAAY,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM1V,EAAED,GAAGA,EAAE,OAAaG,EAAEF,EAAED,EAAE,GAAG,EAAED,EAAE,OAAWQ,EAAE,GAAWR,EAAE,EAAEI,EAAE,EAAE,GAAK,CAAO,EAAE,EAAE,CAAC,GAAG,CAACI,GAAGA,EAAE,OAAOA,EAAE,KAAK,OAAO,EAAE,IAAI,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAiC,GAA/B,IAAI,EAAE,GAAed,EAAEC,EAAEO,EAAE,EAAE,EAAKR,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAEA,EAAE,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEG,EAAE,GAAG,EAAG,EAAEJ,EAAEC,GAAG,EAAED,EAAEC,EAAE,GAAG,EAAE,IAAI,EAAEW,GAAG,EAAEH,IAAI,EAAEI,GAAG,EAAEH,IAAI,EAAEE,GAAG,EAAED,IAAI,EAAEE,GAAG,EAAE,KAAK,IAAIH,EAAE,EAAEC,EAAEF,EAAE,CAAC,EAAMK,IAAJ,EAAU,EAAJ,EAAEA,EAA8B,OAA1B,GAAaN,EAAE,EAAE,EAAE,EAAEC,EAAEK,EAAE,CAAQ,GAAG,CAA2lN,GAAN,MAAM,CAAU,CAAC,OAAO,KAAK,EAAE,CAAC,IAAMb,EAAED,EAAE,OAAW,EAAE,EAAE,IAAI,IAAIE,EAAED,EAAE,EAAEG,EAAE,EAAEA,EAAEH,EAAE,EAAE,IAAI,GAAGD,EAAEE,GAAG,EAAEF,EAAEI,GAAG,EAAEJ,EAAEI,GAAG,EAAEJ,EAAEE,GAAG,EAAE,MAAM,IAAG,EAAE,OAAO,YAAY,EAAE,CAAC,OAAO,EAAW,KAAKF,EAAE,CAAC,EAAE,OAAO,iBAAiB,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAC,GAAgBJ,EAAE,CAAC,GAAW,EAAEA,EAAE,CAAC,IAAIQ,EAAER,EAAE,OAAO,EAAE,QAAQ,GAAgB,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAEC,EAAE,OAAO,IAAK,EAAE,KAAKO,EAAE,CAAC,GAAGP,EAAED,GAAG,OAAO,GAAW,EAAEC,EAAED,GAAG,CAAC,IAAM,EAAE4V,GAAG,YAAY,EAAE1V,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEA,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,MAAMA,EAAEA,EAAE,EAAE,CAAC,CAAC,OAAOI,IAA4K,GAAN,MAAM,UAAwB,EAAc,CAAC,YAAY,EAAE,IAAI,GAAM,CAAC,IAAI,EAAQ,GAAG,GAAG,CAAC,IAAI,EAAQ,IAAI,GAAG,CAAC,IAAI,EAAQ,IAAI,IAAI,CAAC,IAAI,EAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,kBAAkB,KAAK,WAAW,CAAC,OAAOJ,EAAE,QAAQC,EAAE,CAAC,EAAE,MAAM,QAAQD,EAAE,CAACA,EAAE,CAACA,EAAE,CAAC,IAAM,EAAE,KAAWE,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,CAAC,IAAMA,EAAEnB,EAAEC,GAAG,EAASkB,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBjB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBE,EAAE,EAAE,CAAC,CAAC,KAAK,sBAAsB,CAAC,SAAS,EAAS,EAAE,CAAC,IAAMI,EAAE,EAAE,CAAO,EAAWP,EAAE,gBAAX,IAAK,GAAoC,GAAhBA,EAAE,cAAuB,EAAWA,EAAE,QAAX,IAAK,GAAoB,EAARA,EAAE,MAAYQ,EAAWR,EAAE,QAAX,IAAK,GAAoB,EAARA,EAAE,MAAYS,EAAWT,EAAE,eAAX,IAAK,IAAoBA,EAAE,aAAiBU,EAAWV,EAAE,iBAAX,IAAK,GAAsC,GAAjBA,EAAE,eAAsBW,EAAWX,EAAE,YAAX,IAAK,GAA4BU,EAAE,GAAdV,EAAE,UAAmBY,EAAWZ,EAAE,cAAX,IAAK,GAAgC,EAAdA,EAAE,YAAkBa,EAAWb,EAAE,gBAAX,IAAK,GAAoC,EAAhBA,EAAE,cAAsBc,EAAEd,EAAE,YAAkB,EAAWA,EAAE,cAAX,IAAK,GAAgC4V,GAAd5V,EAAE,YAA2BA,EAAE,SAAX,IAAK,KAAc,QAAQ,KAAK,iEAAiE,CAAC,EAAEA,EAAE,QAAO,IAAIgC,EAAEC,EAAE,GAAUI,EAAEC,EAAEC,EAAEsC,EAAK/D,IAAG,EAAEA,EAAE,gBAAgB,EAAE,CAAC,EAAE,GAAK,EAAE,GAAM,EAAEA,EAAE,oBAAoB,EAAE,GAAM,CAAC,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,EAAE,IAAI,GAAYL,IAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAE,IAAMqE,EAAE/E,EAAE,cAAc,EAAE,CAAKgF,EAAED,EAAE,MAAYI,EAAEJ,EAAE,MAAyC,GAA3B,CAAC,GAAW,YAAYC,EAAE,CAAM,CAAC,EAAEA,EAAE,SAAS,CAAC,IAAI,IAAIhF,EAAE,EAAEC,EAAEkF,EAAE,OAAOnF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEkF,EAAEnF,GAAG,GAAW,YAAYC,EAAE,GAAG,EAAED,GAAGC,EAAE,SAAS,GAAG,IAAMoF,EAAE,GAAW,iBAAiBL,EAAEG,EAAE,CAAOG,EAAEN,EAAE,IAAI,IAAIhF,EAAE,EAAEC,EAAEkF,EAAE,OAAOnF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEkF,EAAEnF,GAAG,EAAEgF,EAAE,OAAO/E,EAAE,CAAC,SAAS,EAAS,EAAE,EAAE,EAAE,CAA+D,OAA9D,GAAG,QAAQ,MAAM,4CAA4C,CAAQA,EAAE,OAAO,CAAC,eAAekB,EAAE,CAAC,IAAInB,EAAE,CAAC,IAAMuF,EAAEP,EAAE,OAAOQ,EAAEH,EAAE,OAAO,SAAS,EAAY,EAAE,EAAE,EAAE,CAAC,IAAInF,EAAEE,EAAEI,EAAQQ,EAAEhB,EAAE,EAAEC,EAAE,EAAEoC,EAAErC,EAAE,EAAEC,EAAE,EAAQQ,EAAEU,EAAE,EAAEnB,EAAE,EAAEU,EAAES,EAAE,EAAEnB,EAAE,EAAQW,EAAEK,EAAEA,EAAEqB,EAAEA,EAAQzB,EAAEI,EAAEN,EAAE2B,EAAE5B,EAAE,GAAG,KAAK,IAAIG,EAAE,QAAgB,CAAC,IAAMA,EAAE,KAAK,KAAKD,EAAE,CAAOE,EAAE,KAAK,KAAKJ,EAAEA,EAAEC,EAAEA,EAAE,CAAOI,EAAEb,EAAE,EAAEoC,EAAEzB,EAAQG,EAAEd,EAAE,EAAEe,EAAEJ,EAAQsE,EAAE/D,EAAE,EAAET,EAAEG,EAAQoB,EAAEd,EAAE,EAAEV,EAAEI,EAAQqB,IAAIgD,EAAEpE,GAAGJ,GAAGuB,EAAElB,GAAGN,IAAIO,EAAEN,EAAE2B,EAAE5B,GAAG,EAAEK,EAAEE,EAAEkB,EAAElC,EAAE,EAAE,EAAEe,EAAEsB,EAAEH,EAAElC,EAAE,EAAE,IAAMsC,EAAEpC,EAAEA,EAAEE,EAAEA,EAAE,GAAGkC,GAAG,EAAE,OAAO,IAAI,EAAQpC,EAAEE,EAAE,CAAC,EAAE,KAAK,KAAKkC,EAAE,EAAE,KAAK,CAAC,IAAItC,EAAE,GAAM,SAAiBS,WAAmB,EAAE,IAAMO,EAAE,UAAgBP,EAAE,YAAkB,EAAE,IAAM,KAAK,KAAK4B,EAAE,GAAG,KAAK,KAAK3B,EAAE,GAAG,EAAE,IAASV,GAAG,EAAE,CAACqC,EAAE,EAAErB,EAAE,EAAE,KAAK,KAAKL,EAAE,GAAM,EAAEK,EAAE,EAAEqB,EAAE,EAAE,KAAK,KAAK1B,EAAE,EAAE,EAAE,OAAO,IAAI,EAAQT,EAAEM,EAAEJ,EAAEI,EAAE,CAAC,IAAMiF,EAAE,EAAE,CAAC,IAAI,IAAIzF,EAAE,EAAEC,EAAEqF,EAAE,OAAOnE,EAAElB,EAAE,EAAEC,EAAEF,EAAE,EAAEA,EAAEC,EAAE,IAAI,IAAI,IAAK,IAAIA,IAAI,EAAE,GAAG,IAAIA,IAAI,EAAE,GAAG,EAAED,GAAG,EAAYsF,EAAEtF,GAAGsF,EAAEnE,GAAGmE,EAAEpF,GAAG,CAAC,IAAMwF,EAAE,EAAE,CAAK2F,EAAEC,EAAE7F,EAAE,QAAQ,CAAC,IAAI,IAAIzF,EAAE,EAAEC,EAAEkF,EAAE,OAAOnF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEkF,EAAEnF,GAAG,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEmB,EAAElB,EAAE,OAAOC,EAAEiB,EAAE,EAAEf,EAAEJ,EAAE,EAAEA,EAAEmB,EAAE,IAAI,IAAI,IAAK,IAAIA,IAAI,EAAE,GAAG,IAAIA,IAAI,EAAE,GAAG,EAAEnB,GAAG,EAAYC,EAAED,GAAGC,EAAEC,GAAGD,EAAEG,GAAG,CAAC,EAAE,KAAKiL,EAAE,CAAC,EAAEC,EAAE,OAAOD,EAAE,CAAC,IAAI,IAAIrL,EAAE,EAAEA,EAAEc,EAAE,IAAI,CAAC,IAAMb,EAAED,EAAEc,EAAQK,EAAER,EAAE,KAAK,IAAIV,EAAE,KAAK,GAAG,EAAE,CAAOC,EAAEU,EAAE,KAAK,IAAIX,EAAE,KAAK,GAAG,EAAE,CAACY,EAAE,IAAI,IAAIb,EAAE,EAAEC,EAAEqF,EAAE,OAAOtF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAE,EAASqF,EAAEtF,GAAGyF,EAAEzF,GAAGE,EAAE,CAAC,GAAED,EAAE,EAAEA,EAAE,EAAE,CAACkB,EAAE,CAAC,IAAI,IAAInB,EAAE,EAAEC,EAAEkF,EAAE,OAAOnF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEkF,EAAEnF,GAAG,EAAE0F,EAAE1F,GAAG,IAAI,IAAIA,EAAE,EAAEI,EAAEH,EAAE,OAAOD,EAAEI,EAAE,IAAI,CAAC,IAAMA,EAAE,EAASH,EAAED,GAAGqL,EAAErL,GAAGE,EAAE,CAAC,GAAEE,EAAE,EAAEA,EAAE,EAAE,CAACe,EAAE,GAAG,IAAMuG,GAAE9G,EAAEC,EAAE,IAAI,IAAIb,EAAE,EAAEA,EAAEuF,EAAE,IAAI,CAAC,IAAMtF,EAAES,EAAE,EAASsE,EAAEhF,GAAGsL,EAAEtL,GAAG0H,GAAE,CAAC1C,EAAEhF,GAAMkC,GAAG,EAAE,KAAKI,EAAE,QAAQ,GAAG,CAAC,eAAerC,EAAE,EAAE,CAAC,EAAE,KAAKqC,EAAE,UAAU,GAAG,CAAC,eAAerC,EAAE,EAAE,CAAC,EAAE,KAAKgC,EAAE,GAAG,CAAC,IAAIO,EAAE,CAAC,IAAID,EAAE,CAAC,GAAEuC,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAM,GAAE7E,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,GAAG,EAAE,IAAI,IAAI,IAAIC,EAAE,EAAEA,EAAEsF,EAAE,IAAI,CAAC,IAAMpE,EAAET,EAAE,EAASsE,EAAE/E,GAAGqL,EAAErL,GAAGyH,GAAE,CAAC1C,EAAE/E,GAAMiC,GAAG,EAAE,KAAKI,EAAE,QAAQtC,GAAG,CAAC,eAAemB,EAAE,EAAE,CAAC,EAAE,KAAKmB,EAAE,UAAUtC,GAAG,CAAC,eAAemB,EAAE,EAAE,CAAC,EAAE,KAAKc,EAAEjC,GAAG,CAAC,IAAIwC,EAAE,CAAC,IAAID,EAAE,CAAC,GAAEuC,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAM,GAAE3D,EAAE,EAAEA,EAAE,EAAEV,EAAE,EAAET,EAAE,CAAC,IAAI,IAAIA,EAAEc,EAAE,EAAEd,GAAG,EAAE,IAAI,CAAC,IAAMC,EAAED,EAAEc,EAAQK,EAAER,EAAE,KAAK,IAAIV,EAAE,KAAK,GAAG,EAAE,CAAOC,EAAEU,EAAE,KAAK,IAAIX,EAAE,KAAK,GAAG,EAAE,CAACY,EAAE,IAAI,IAAIb,EAAE,EAAEC,EAAEqF,EAAE,OAAOtF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAE,EAASqF,EAAEtF,GAAGyF,EAAEzF,GAAGE,EAAE,CAAC,GAAED,EAAE,EAAEA,EAAE,EAAEQ,EAAEU,EAAE,CAAC,IAAI,IAAInB,EAAE,EAAEC,EAAEkF,EAAE,OAAOnF,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEkF,EAAEnF,GAAG,EAAE0F,EAAE1F,GAAG,IAAI,IAAIA,EAAE,EAAEI,EAAEH,EAAE,OAAOD,EAAEI,EAAE,IAAI,CAAC,IAAMA,EAAE,EAASH,EAAED,GAAGqL,EAAErL,GAAGE,EAAE,CAAC,EAAE,GAAEE,EAAE,EAAEA,EAAE,EAAE6B,EAAE,EAAE,GAAG,EAAEA,EAAE,EAAE,GAAG,EAAEd,EAAE,CAAC,GAAEf,EAAE,EAAEA,EAAE,EAAEK,EAAEU,EAAE,GAAG,IAAe,CAAC,GAAgB,CAAC,SAAS,IAAe,CAAC,IAAMnB,EAAEE,EAAE,OAAO,EAAE,GAAGQ,EAAE,CAAC,IAAIV,EAAE,EAAMC,EAAEsF,EAAEvF,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEwF,EAAE,IAAI,CAAC,IAAMrE,EAAEkE,EAAErF,GAAG,EAAGmB,EAAE,GAAGlB,EAAEkB,EAAE,GAAGlB,EAAEkB,EAAE,GAAGlB,EAAE,CAAC,EAAE,EAAE,EAAEa,EAAE,EAAEyE,EAAEvF,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAEwF,EAAE,IAAI,CAAC,IAAMrE,EAAEkE,EAAErF,GAAG,EAAGmB,EAAE,GAAGlB,EAAEkB,EAAE,GAAGlB,EAAEkB,EAAE,GAAGlB,EAAE,MAAM,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEwF,EAAE,IAAI,CAAC,IAAMvF,EAAEoF,EAAErF,GAAG,EAAGC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEwF,EAAE,IAAI,CAAC,IAAMvF,EAAEoF,EAAErF,GAAG,EAAGC,EAAE,GAAGsF,EAAE,EAAEtF,EAAE,GAAGsF,EAAE,EAAEtF,EAAE,GAAGsF,EAAE,EAAE,EAAE,EAAE,SAASvF,EAAEE,EAAE,OAAO,EAAEF,EAAE,EAAE,CAAC,SAAS,GAAgB,CAAC,IAAMA,EAAEE,EAAE,OAAO,EAAMD,EAAE,EAAE,EAAUqF,EAAErF,EAAE,CAAC,GAAGqF,EAAE,OAAO,IAAI,IAAItF,EAAE,EAAEmB,EAAEgE,EAAE,OAAOnF,EAAEmB,EAAE,IAAI,CAAC,IAAMA,EAAEgE,EAAEnF,GAAG,EAAUmB,EAAElB,EAAE,CAAC,GAAGkB,EAAE,OAAO,EAAE,SAASnB,EAAEE,EAAE,OAAO,EAAEF,EAAE,EAAE,CAAC,SAAS,EAAU,EAAE,EAAE,CAAC,IAAImB,EAAEnB,EAAE,OAAO,KAAM,EAAEmB,GAAG,GAAE,CAAC,IAAMjB,EAAEiB,EAAMf,EAAEe,EAAE,EAAE,EAAE,IAAI,EAAEnB,EAAE,OAAO,GAAG,IAAI,IAAIA,EAAE,EAAEmB,EAAE,EAAE,EAAEL,EAAEd,EAAEmB,EAAE,IAAI,CAAC,IAAMA,EAAEoE,EAAEvF,EAAQQ,EAAE+E,GAAGvF,EAAE,GAAyC,GAA9BC,EAAEC,EAAEiB,EAAIlB,EAAEG,EAAEe,EAAIlB,EAAEG,EAAEI,EAAIP,EAAEC,EAAEM,EAAa,GAAG,SAAS,GAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKR,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,EAAE,KAAKkB,EAAE,CAAC,SAAS,EAAG,EAAE,EAAE,EAAE,CAAC,GAAUnB,EAAE,CAAC,GAAUC,EAAE,CAAC,GAAUG,EAAE,CAAC,IAAMI,EAAEN,EAAE,OAAO,EAAQc,EAAE,EAAE,cAAc,EAAEd,EAAEM,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAMQ,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAUhB,EAAE,CAAC,GAAUC,EAAE,CAAC,GAAUO,EAAE,CAAC,GAAUP,EAAE,CAAC,GAAUG,EAAE,CAAC,GAAUI,EAAE,CAAC,IAAMQ,EAAEd,EAAE,OAAO,EAAQmC,EAAE,EAAE,mBAAmB,EAAEnC,EAAEc,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAMqB,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,EAAMA,EAAE,GAAG,CAAC,SAAS,GAAU,EAAE,CAAC,EAAE,KAAK7B,EAAE,EAAER,EAAE,GAAG,CAAC,EAAE,KAAKQ,EAAE,EAAER,EAAE,GAAG,CAAC,EAAE,KAAKQ,EAAE,EAAER,EAAE,GAAG,CAAC,SAAS,EAAM,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAMA,EAAE,MAAM,QAAQ,CAAOC,EAAE,KAAK,WAAW,OAAa,EAAE,KAAK,WAAW,QAAQ,OAAO,GAASA,EAAE,EAAED,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,IAAI,IAAIE,EAAE,EAAEE,EAAEJ,EAAE,OAAO,OAAOE,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEH,EAAED,EAAE,OAAOE,IAAI,EAAE,KAAKE,EAAE,CAAC,IAAMF,EAAEF,EAAE,QAAQ,YAA6E,OAAxDE,IAAT,IAAK,KAAQ,EAAE,QAAQ,YAAa,IAAIyV,GAAGzV,EAAE,OAAK,CAAE,SAASA,EAAE,EAAS,IAAI,EAAgB,EAAEF,EAAE,QAAQ,GAAQ6V,GAAG,CAAC,cAAc,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMrV,EAAEP,EAAE,EAAE,GAAS,EAAEA,EAAE,EAAE,EAAE,GAAS,EAAEA,EAAE,EAAEC,GAASO,EAAER,EAAE,EAAEC,EAAE,GAASQ,EAAET,EAAE,EAAEG,GAASO,EAAEV,EAAE,EAAEG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAQI,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAEC,EAAE,CAAC,IAAI,EAAQC,EAAEC,EAAE,CAAC,EAAE,mBAAmB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,EAAEV,EAAE,EAAE,GAAS,EAAEA,EAAE,EAAE,EAAE,GAASQ,EAAER,EAAE,EAAE,EAAE,GAASS,EAAET,EAAE,EAAEC,GAASS,EAAEV,EAAE,EAAEC,EAAE,GAASU,EAAEX,EAAE,EAAEC,EAAE,GAASW,EAAEZ,EAAE,EAAEG,GAASU,EAAEb,EAAE,EAAEG,EAAE,GAASW,EAAEd,EAAE,EAAEG,EAAE,GAAS,EAAEH,EAAE,EAAEO,GAASyB,EAAEhC,EAAE,EAAEO,EAAE,GAAS0B,EAAEjC,EAAE,EAAEO,EAAE,GAAG,OAAO,KAAK,IAAI,EAAEG,EAAE,CAAC,KAAK,IAAI,EAAED,EAAE,CAAC,CAAC,IAAI,EAAQ,EAAE,EAAED,EAAE,CAAC,IAAI,EAAQC,EAAE,EAAEE,EAAE,CAAC,IAAI,EAAQC,EAAE,EAAEE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAEmB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAQ,EAAE,EAAEzB,EAAE,CAAC,IAAI,EAAQE,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAQE,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAQkB,EAAE,EAAEC,EAAE,CAAC,EAAE,CAA8O,GAAN,MAAM,UAA4B,EAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,EAAQhC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAA6I,MAAMA,EAA1I,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAWF,EAAEC,EAAE,CAAC,KAAK,KAAK,sBAAsB,KAAK,WAAW,CAAC,OAAOD,EAAE,OAAOC,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAoBD,EAAE,OAAOA,EAAE,OAAO,GAAQ,GAAN,MAAM,UAAsB,EAAc,CAAC,YAAY,EAAE,CAAC,IAAI,EAAQ,EAAE,GAAG,CAAC,IAAI,EAAQ,GAAG,EAAE,CAAC,IAAI,EAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,OAAOA,EAAE,SAASC,EAAE,SAAS,EAAE,UAAUC,EAAE,CAAC,EAAE,KAAK,MAAMD,EAAE,CAAC,EAAE,GAAMC,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,IAAME,EAAE,EAAE,CAAOI,EAAE,EAAE,CAAO,EAAE,EAAE,CAAO,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAET,EAAQU,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAY,EAAE,EAAMkB,EAAE,EAAE,IAAI,IAAIhC,EAAE,EAAEA,GAAGD,EAAE,OAAO,EAAE,IAAI,OAAOC,EAAP,CAAU,IAAK,GAAE,EAAED,EAAEC,EAAE,GAAG,EAAED,EAAEC,GAAG,EAAE,EAAED,EAAEC,EAAE,GAAG,EAAED,EAAEC,GAAG,EAAE,EAAE,EAAE,EAAEgC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,KAAKpB,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,MAAM,KAAKb,EAAE,OAAO,EAAE,EAAE,KAAKe,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,MAAM,QAAQ,EAAEf,EAAEC,EAAE,GAAG,EAAED,EAAEC,GAAG,EAAE,EAAED,EAAEC,EAAE,GAAG,EAAED,EAAEC,GAAG,EAAE,EAAE,EAAE,EAAEgC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,KAAKpB,EAAE,CAAC,EAAE,GAAGE,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,KAAKF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,GAAGH,EAAE,IAAI,CAAC,IAAMY,EAAE,EAAET,EAAEM,EAAER,EAAQY,EAAE,KAAK,IAAID,EAAE,CAAOE,EAAE,KAAK,IAAIF,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEA,GAAGnB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAEA,EAAEmB,GAAG,EAAEL,EAAE,EAAE,EAAEd,EAAEmB,GAAG,EAAE,EAAE,EAAEnB,EAAEmB,GAAG,EAAEJ,EAAE,EAAE,KAAKJ,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,EAAEP,EAAEH,EAAE,EAAE,EAAEkB,GAAGnB,EAAE,OAAO,GAAG,EAAE,KAAKY,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAMV,EAAE,EAAE,EAAEiB,EAAE,GAAGL,EAAQJ,EAAE,EAAE,EAAES,EAAE,GAASN,EAAE,EAAE,EAAEM,EAAE,GAAGJ,EAAE,EAAE,KAAKb,EAAEQ,EAAEG,EAAE,EAAE,IAAI,IAAIM,EAAE,EAAEA,EAAElB,EAAE,IAAI,IAAI,IAAIA,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAE,IAAI,CAAC,IAAME,EAAED,EAAEkB,EAAEnB,EAAE,OAAaQ,EAAEN,EAAQc,EAAEd,EAAEF,EAAE,OAAaqC,EAAEnC,EAAEF,EAAE,OAAO,EAAQS,EAAEP,EAAE,EAAE,EAAE,KAAKM,EAAEQ,EAAEP,EAAE,CAAC,EAAE,KAAKO,EAAEqB,EAAE5B,EAAE,CAAC,KAAK,SAASL,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBI,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAcT,EAAE,OAAOA,EAAE,SAASA,EAAE,SAASA,EAAE,UAAU,GAAQ,GAAN,MAAM,UAA2B,EAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAA4G,MAAnG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAWA,EAAEC,EAAE,CAAC,KAAK,KAAK,qBAAqB,KAAK,WAAW,CAAC,OAAOD,EAAE,OAAOC,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAmBD,EAAE,OAAOA,EAAE,OAAO,GAAQ,GAAN,MAAM,UAAqB,EAAc,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,eAAe,KAAK,WAAW,CAAC,YAAYA,EAAE,YAAYC,EAAE,cAAc,EAAE,YAAYC,EAAE,WAAWE,EAAE,YAAYI,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,EAAEN,EAAE,CAAC,IAAM,EAAE,EAAE,CAAO,EAAE,EAAE,CAAOO,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAKC,EAAEX,EAAQY,GAAGX,EAAED,GAAGE,EAAQW,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAQ,IAAI,IAAId,EAAE,EAAEA,GAAGE,EAAE,IAAI,CAAC,IAAI,IAAIF,EAAE,EAAEA,GAAG,EAAE,IAAI,CAAC,IAAME,EAAEE,EAAEJ,EAAE,EAAEQ,EAAE,EAAE,EAAEG,EAAE,KAAK,IAAIT,EAAE,CAAC,EAAE,EAAES,EAAE,KAAK,IAAIT,EAAE,CAAC,EAAE,KAAKW,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,EAAEZ,EAAE,GAAG,EAAE,EAAE,GAAGY,EAAE,EAAEZ,EAAE,GAAG,EAAE,EAAE,KAAKa,EAAE,EAAEA,EAAE,EAAE,CAAC,GAAGF,EAAE,IAAI,IAAIZ,EAAE,EAAEA,EAAEE,EAAE,IAAI,CAAC,IAAMD,EAAED,GAAG,EAAE,GAAG,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAME,EAAEF,EAAEC,EAAQG,EAAEF,EAAQM,EAAEN,EAAE,EAAE,EAAQmC,EAAEnC,EAAE,EAAE,EAAQO,EAAEP,EAAE,EAAE,EAAE,KAAKE,EAAEI,EAAEC,EAAE,CAAC,EAAE,KAAKD,EAAE6B,EAAE5B,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBA,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAaV,EAAE,YAAYA,EAAE,YAAYA,EAAE,cAAcA,EAAE,YAAYA,EAAE,WAAWA,EAAE,YAAY,GAAQ,GAAN,MAAM,UAAsB,EAAc,CAAC,YAAY,EAAE,IAAI,GAAM,CAAC,IAAI,EAAQ,EAAE,GAAG,CAAC,IAAI,EAAQ,IAAI,IAAI,CAAC,IAAI,EAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,OAAOA,EAAE,cAAcC,EAAE,CAAC,IAAM,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAOI,EAAE,EAAE,CAAK,EAAE,EAAM,EAAE,EAAE,GAAG,KAAQ,MAAM,QAAQR,EAAE,CAAC,EAASA,EAAE,MAAM,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAE,OAAO,IAAK,EAASA,EAAEC,GAAG,CAAC,KAAK,SAAS,EAAE,EAAEA,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBI,EAAE,EAAE,CAAC,CAAC,SAAS,EAAS,EAAE,CAAC,IAAMQ,EAAEd,EAAE,OAAO,EAAQO,EAAET,EAAE,cAAcC,EAAE,CAAKS,EAAED,EAAE,MAAYE,EAAEF,EAAE,MAAM,KAAQ,GAAW,YAAYC,EAAE,GAAG,EAAEA,EAAE,SAAS,EAAE,IAAI,IAAIV,EAAE,EAAEC,EAAEU,EAAE,OAAOX,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEU,EAAEX,GAAG,KAAO,GAAW,YAAYC,EAAE,GAAG,EAAED,GAAGC,EAAE,SAAS,EAAE,IAAMW,EAAE,GAAW,iBAAiBF,EAAEC,EAAE,CAAC,IAAI,IAAIX,EAAE,EAAEC,EAAEU,EAAE,OAAOX,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEU,EAAEX,GAAG,EAAEU,EAAE,OAAOT,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEC,EAAES,EAAE,OAAOV,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAES,EAAEV,GAAG,EAAE,KAAKC,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEC,EAAEW,EAAE,OAAOZ,EAAEC,EAAE,IAAI,CAAC,IAAMA,EAAEW,EAAEZ,GAASE,EAAED,EAAE,GAAGe,EAAQZ,EAAEH,EAAE,GAAGe,EAAQR,EAAEP,EAAE,GAAGe,EAAE,EAAE,KAAKd,EAAEE,EAAEI,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAMR,EAAE,MAAM,QAAQ,CAAOC,EAAE,KAAK,WAAW,OAAO,OAAO,GAAOA,EAAED,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,EAAE,CAAC,IAAI,IAAIE,EAAE,EAAEE,EAAEJ,EAAE,OAAO,OAAOE,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEH,EAAED,EAAE,OAAOE,IAAI,EAAE,KAAKE,EAAE,CAAC,OAAO,IAAI,EAAc,EAAEJ,EAAE,cAAc,GAAoK,GAAN,MAAM,UAAuB,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,WAAW,CAAC,OAAOA,EAAE,cAAcC,EAAE,eAAe,EAAE,SAASC,EAAE,UAAUE,EAAE,WAAWI,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMP,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,IAAM,EAAE,KAAK,IAAIO,EAAE,EAAE,KAAK,GAAG,CAAKC,EAAE,EAAQC,EAAE,EAAE,CAAOC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAO,EAAE,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEA,GAAG,EAAE,IAAI,CAAC,IAAMoB,EAAE,EAAE,CAAOC,EAAErB,EAAE,EAAMyB,EAAE,EAAKzB,GAAH,GAASL,GAAH,EAAK,EAAE,GAAGP,EAAEY,GAAG,GAAG,GAAG,KAAK,KAAK,EAAE,IAAIZ,GAAG,IAAI,IAAIkB,EAAE,EAAEA,GAAGlB,EAAE,IAAI,CAAC,IAAMoC,EAAElB,EAAElB,EAAE,EAAE,EAAE,CAACD,EAAE,KAAK,IAAIE,EAAEmC,EAAEjC,EAAE,CAAC,KAAK,IAAII,EAAE0B,EAAE,EAAE,CAAC,EAAE,EAAElC,EAAE,KAAK,IAAIQ,EAAE0B,EAAE,EAAE,CAAC,EAAE,EAAElC,EAAE,KAAK,IAAIE,EAAEmC,EAAEjC,EAAE,CAAC,KAAK,IAAII,EAAE0B,EAAE,EAAE,CAAC,EAAE,KAAKvB,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAE,CAAC,WAAW,CAAC,EAAE,KAAKC,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKyB,EAAEC,EAAE,EAAEJ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAKD,EAAE,CAAC,IAAI,IAAIjC,EAAE,EAAEA,EAAE,EAAE,IAAI,IAAI,IAAIE,EAAE,EAAEA,EAAED,EAAE,IAAI,CAAC,IAAMA,EAAES,EAAEV,GAAGE,EAAE,GAASE,EAAEM,EAAEV,GAAGE,GAASc,EAAEN,EAAEV,EAAE,GAAGE,GAASO,EAAEC,EAAEV,EAAE,GAAGE,EAAE,IAAQF,IAAJ,GAAOQ,EAAE,IAAIK,EAAE,KAAKZ,EAAEG,EAAEK,EAAE,EAAET,IAAI,EAAE,GAAG,EAAE,KAAK,KAAKa,EAAE,KAAKT,EAAEY,EAAEP,EAAE,CAAC,KAAK,SAASI,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAef,EAAE,OAAOA,EAAE,cAAcA,EAAE,eAAeA,EAAE,SAASA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,GAAQ,GAAN,MAAM,UAA4B,EAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAA2E,MAAlE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAWA,EAAEC,EAAE,CAAC,KAAK,KAAK,sBAAsB,KAAK,WAAW,CAAC,OAAOD,EAAE,OAAOC,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAoBD,EAAE,OAAOA,EAAE,OAAO,GAAQ,GAAN,MAAM,UAAsB,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,OAAOA,EAAE,KAAKC,EAAE,eAAe,EAAE,gBAAgBC,EAAE,IAAIE,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,KAAK,MAAMF,EAAE,CAAC,IAAMM,EAAE,EAAE,CAAO,EAAE,EAAE,CAAO,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAQ,IAAI,IAAIJ,EAAE,EAAEA,GAAG,EAAE,IAAI,IAAI,IAAIK,EAAE,EAAEA,GAAGX,EAAE,IAAI,CAAC,IAAMY,EAAED,EAAEX,EAAEE,EAAQW,EAAEP,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAGR,EAAEC,EAAE,KAAK,IAAIc,EAAE,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,GAAGd,EAAEC,EAAE,KAAK,IAAIc,EAAE,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,EAAEb,EAAE,KAAK,IAAIc,EAAE,CAAC,EAAE,KAAKJ,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,EAAEX,EAAE,KAAK,IAAIc,EAAE,CAAC,EAAE,EAAEd,EAAE,KAAK,IAAIc,EAAE,CAAC,EAAE,WAAWH,EAAED,EAAE,CAAC,WAAW,CAAC,EAAE,KAAKE,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKC,EAAEX,EAAE,CAAC,EAAE,KAAKM,EAAE,EAAE,CAAC,IAAI,IAAIR,EAAE,EAAEA,GAAG,EAAE,IAAI,IAAI,IAAIC,EAAE,EAAEA,GAAGC,EAAE,IAAI,CAAC,IAAMiB,GAAGjB,EAAE,GAAGF,EAAEC,EAAE,EAAQG,GAAGF,EAAE,IAAIF,EAAE,GAAGC,EAAE,EAAQe,GAAGd,EAAE,IAAIF,EAAE,GAAGC,EAAQoC,GAAGnC,EAAE,GAAGF,EAAEC,EAAE,EAAE,KAAKkB,EAAEf,EAAEiC,EAAE,CAAC,EAAE,KAAKjC,EAAEY,EAAEqB,EAAE,CAAC,KAAK,SAAS7B,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAcT,EAAE,OAAOA,EAAE,KAAKA,EAAE,eAAeA,EAAE,gBAAgBA,EAAE,IAAI,GAAQ,GAAN,MAAM,UAA0B,EAAc,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,WAAW,CAAC,OAAOA,EAAE,KAAKC,EAAE,gBAAgB,EAAE,eAAeC,EAAE,EAAEE,EAAE,EAAEI,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,KAAK,MAAMN,EAAE,CAAC,IAAM,EAAE,EAAE,CAAO,EAAE,EAAE,CAAOO,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAc,EAAE,IAAI,EAAckB,EAAE,IAAI,EAAQ,IAAI,IAAIjB,EAAE,EAAEA,GAAG,EAAE,EAAEA,EAAE,CAAC,IAAMkB,EAAElB,EAAE,EAAEZ,EAAE,KAAK,GAAG,EAAE,EAAyB8B,EAAE9B,EAAEI,EAAER,EAAEa,EAAE,CAAC,EAAyBqB,EAAE,IAAI9B,EAAEI,EAAER,EAAEc,EAAE,CAAC,EAAE,WAAWA,EAAED,EAAE,CAAC,EAAE,WAAWC,EAAED,EAAE,CAAC,EAAE,aAAa,EAAEoB,EAAE,CAAC,EAAE,aAAalB,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,IAAI,IAAIf,EAAE,EAAEA,GAAGE,EAAE,EAAEF,EAAE,CAAC,IAAMI,EAAEJ,EAAEE,EAAE,KAAK,GAAG,EAAQM,EAAE,CAACP,EAAE,KAAK,IAAIG,EAAE,CAAOU,EAAEb,EAAE,KAAK,IAAIG,EAAE,CAAC,EAAE,EAAES,EAAE,GAAGL,EAAEyB,EAAE,EAAEnB,EAAEC,EAAE,GAAG,EAAE,EAAEF,EAAE,GAAGL,EAAEyB,EAAE,EAAEnB,EAAEC,EAAE,GAAG,EAAE,EAAEF,EAAE,GAAGL,EAAEyB,EAAE,EAAEnB,EAAEC,EAAE,GAAG,EAAE,KAAKJ,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,WAAWA,EAAEE,EAAE,CAAC,WAAW,CAAC,EAAE,KAAKD,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKI,EAAE,EAAE,CAAC,EAAE,KAAKhB,EAAEE,EAAE,EAAE,IAAI,IAAIF,EAAE,EAAEA,GAAG,EAAE,IAAI,IAAI,IAAIC,EAAE,EAAEA,GAAGC,EAAE,IAAI,CAAC,IAAMiB,GAAGjB,EAAE,IAAIF,EAAE,IAAIC,EAAE,GAASG,GAAGF,EAAE,GAAGF,GAAGC,EAAE,GAASO,GAAGN,EAAE,GAAGF,EAAEC,EAAQoC,GAAGnC,EAAE,IAAIF,EAAE,GAAGC,EAAE,EAAE,KAAKkB,EAAEf,EAAEiC,EAAE,CAAC,EAAE,KAAKjC,EAAEI,EAAE6B,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuB5B,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAyB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,IAAIR,EAAE,CAAOgB,EAAE,KAAK,IAAIhB,EAAE,CAAOqC,EAAElB,EAAElB,EAAED,EAAQS,EAAE,KAAK,IAAI4B,EAAE,CAAC,EAAE,EAAEnC,GAAG,EAAEO,GAAG,GAAGD,EAAE,EAAE,EAAEN,GAAG,EAAEO,GAAGO,EAAE,GAAG,EAAE,EAAEd,EAAE,KAAK,IAAImC,EAAE,CAAC,IAAI,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAkBrC,EAAE,OAAOA,EAAE,KAAKA,EAAE,gBAAgBA,EAAE,eAAeA,EAAE,EAAEA,EAAE,EAAE,GAAQ,GAAN,MAAM,UAAqB,EAAc,CAAC,YAAY,EAAE,IAAI,GAAsB,IAAI,EAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,EAAQ,GAAG,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAM,CAAC,OAAO,CAAC,KAAK,KAAK,eAAe,KAAK,WAAW,CAAC,KAAKA,EAAE,gBAAgBC,EAAE,OAAO,EAAE,eAAeC,EAAE,OAAOE,EAAE,CAAC,IAAMI,EAAER,EAAE,oBAAoBC,EAAEG,EAAE,CAAC,KAAK,SAASI,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,IAAM,EAAE,IAAI,EAAc,EAAE,IAAI,EAAcC,EAAE,IAAI,EAAYC,EAAE,IAAI,EAAcC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAC,GAAoB,CAAC,KAAK,SAASA,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAuBH,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAuBC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAoB,CAAC,IAAI,IAAIb,EAAE,EAAEA,EAAEC,EAAE,IAAI,EAAgBD,EAAE,CAAC,EAAgB,KAAQI,EAAEH,EAAE,EAAE,CAAC,GAAa,CAAC,GAAiB,CAAC,SAAS,EAAgB,EAAE,CAAC,EAAED,EAAE,WAAWI,EAAEH,EAAES,EAAE,CAAC,IAAMD,EAAED,EAAE,QAAQJ,GAASS,EAAEL,EAAE,UAAUJ,GAAG,IAAI,IAAIJ,EAAE,EAAEA,GAAGE,EAAE,IAAI,CAAC,IAAMD,EAAED,EAAEE,EAAE,KAAK,GAAG,EAAQE,EAAE,KAAK,IAAIH,EAAE,CAAOO,EAAE,CAAC,KAAK,IAAIP,EAAE,CAAC,EAAE,EAAEO,EAAEC,EAAE,EAAEL,EAAES,EAAE,EAAE,EAAE,EAAEL,EAAEC,EAAE,EAAEL,EAAES,EAAE,EAAE,EAAE,EAAEL,EAAEC,EAAE,EAAEL,EAAES,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAEH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,GAAiB,CAAC,IAAI,IAAIV,EAAE,EAAEA,GAAGC,EAAE,IAAI,IAAI,IAAIA,EAAE,EAAEA,GAAGC,EAAE,IAAI,CAAC,IAAMiB,GAAGjB,EAAE,IAAIF,EAAE,IAAIC,EAAE,GAASG,GAAGF,EAAE,GAAGF,GAAGC,EAAE,GAASO,GAAGN,EAAE,GAAGF,EAAEC,EAAQe,GAAGd,EAAE,IAAIF,EAAE,GAAGC,EAAE,EAAE,KAAKkB,EAAEf,EAAEY,EAAE,CAAC,EAAE,KAAKZ,EAAEI,EAAEQ,EAAE,EAAE,SAAS,GAAa,CAAC,IAAI,IAAIhB,EAAE,EAAEA,GAAGC,EAAE,IAAI,IAAI,IAAIkB,EAAE,EAAEA,GAAGjB,EAAE,IAAK,EAAE,EAAEF,EAAEC,EAAE,EAAE,EAAEkB,EAAEjB,EAAE,EAAE,KAAKO,EAAE,EAAEA,EAAE,EAAE,EAAG,QAAQ,CAAC,IAAMT,EAAE,MAAM,QAAQ,CAAsC,MAArC,GAAE,KAAK,KAAK,WAAW,KAAK,QAAQ,CAAQA,EAAE,OAAO,SAAS,EAAE,CAAC,OAAO,IAAI,EAAc,IAAI2V,GAAG3V,EAAE,KAAK,OAAK,CAAE,SAASA,EAAE,KAAK,CAACA,EAAE,gBAAgBA,EAAE,OAAOA,EAAE,eAAeA,EAAE,OAAO,GAAQ,GAAN,cAAgC,EAAc,CAAC,YAAY,EAAE,KAAK,CAAoE,GAAnE,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,WAAW,CAAC,SAASA,EAAE,CAAWA,IAAP,KAAS,CAAC,IAAMC,EAAE,EAAE,CAAO,EAAE,IAAI,IAAUC,EAAE,IAAI,EAAcE,EAAE,IAAI,EAAQ,GAAUJ,EAAE,QAAT,KAAe,CAAC,IAAMQ,EAAER,EAAE,WAAW,SAAe,EAAEA,EAAE,MAAU,EAAEA,EAAE,OAAW,EAAE,SAAN,IAAe,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,EAAE,CAAC,EAAE,IAAI,IAAIA,EAAE,EAAES,EAAE,EAAE,OAAOT,EAAES,EAAE,EAAET,EAAE,CAAC,IAAMS,EAAE,EAAET,GAASU,EAAED,EAAE,MAAYE,EAAEF,EAAE,MAAM,IAAI,IAAIT,EAAEU,EAAE2B,EAAE3B,EAAEC,EAAEX,EAAEqC,EAAE,GAAG,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAM5B,EAAE,EAAE,KAAKT,EAAEqC,EAAE,CAAO3B,EAAE,EAAE,KAAKV,GAAGqC,EAAE,GAAG,EAAE,CAAC,EAAE,oBAAoB7B,EAAEC,EAAE,CAAC,EAAE,oBAAoBD,EAAEE,EAAE,CAAI,KAAO,GAAaR,EAAEE,EAAE,EAAE,GAAE,EAAE,KAAKF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKE,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,QAAQ,CAAC,IAAMI,EAAER,EAAE,WAAW,SAAS,IAAI,IAAIA,EAAE,EAAE,EAAEQ,EAAE,MAAM,EAAER,EAAE,EAAE,IAAI,IAAI,IAAIgB,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAM,EAAE,EAAEhB,EAAEgB,EAAQP,EAAE,EAAET,GAAGgB,EAAE,GAAG,EAAE,EAAE,oBAAoBR,EAAE,EAAE,CAAC,EAAE,oBAAoBA,EAAEC,EAAE,CAAI,KAAO,GAAaP,EAAEE,EAAE,EAAE,GAAE,EAAE,KAAKF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKE,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,GAAG,KAAK,aAAa,WAAW,IAAI,EAAuBH,EAAE,EAAE,CAAC,IAAuN,OAAO,OAAO,CAAC,UAAU,KAAiB,eAAY,kBAAkB,GAA2B,kBAAe,qBAAqB,GAA4B,gBAAa,mBAAmB,GAA8B,oBAAiB,uBAAuB,GAAsC,wBAAqB,2BAA2B,GAAmC,iBAA8B,mBAAgB,sBAAsB,GAAoC,uBAAoB,0BAA0B,GAAkC,iBAAc,oBAAoB,GAAiC,sBAAmB,yBAAyB,GAAiC,iBAAc,oBAAoB,GAAiC,sBAAmB,yBAAyB,GAAgC,gBAAa,mBAAmB,GAA2B,iBAAc,oBAAoB,GAA6B,kBAAe,qBAAqB,GAAmC,uBAAoB,0BAA0B,GAAkC,iBAAc,oBAAoB,GAAgC,qBAAkB,wBAAwB,GAA+B,gBAAa,mBAAmB,GAA+B,qBAAkB,CAAC,CAAO,GAAN,cAA6B,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,MAAM,IAAI,EAAM,EAAE,CAAC,KAAK,YAAY,GAAK,KAAK,UAAUD,EAAE,CAAC,KAAK,EAAE,CAAwC,OAAvC,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAQ,OAAM,GAAe,UAAU,iBAAiB,GAAW,GAAN,cAAmC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK,uBAAuB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,kBAAkB,EAAE,KAAK,MAAM,KAAK,KAAK,eAAe,EAAE,KAAK,SAAS,IAAI,EAAM,EAAE,CAAC,KAAK,kBAAkB,EAAE,KAAK,YAAY,KAAK,KAAK,QAAQ,KAAK,KAAK,UAAU,EAAE,KAAK,UAAU,KAAK,KAAK,cAAc4F,GAAG,KAAK,YAAY,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,KAAK,KAAK,aAAa,KAAK,KAAK,SAAS,KAAK,KAAK,OAAO,KAAK,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,IAAI,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,YAAY,GAAM,KAAK,UAAU5F,EAAE,CAAC,KAAK,EAAE,CAAs/B,OAAr/B,MAAM,KAAKA,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,MAAMA,EAAE,MAAM,KAAK,eAAeA,EAAE,eAAe,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,aAAaA,EAAE,aAAa,KAAK,aAAaA,EAAE,aAAa,KAAK,SAASA,EAAE,SAAS,KAAK,OAAOA,EAAE,OAAO,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,YAAYA,EAAE,YAAmB,OAAM,GAAqB,UAAU,uBAAuB,GAAW,GAAN,cAAmC,EAAoB,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,KAAK,KAAK,uBAAuB,KAAK,aAAa,KAAK,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,KAAK,KAAK,qBAAqB,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,mBAAmB,KAAK,KAAK,IAAI,IAAI,OAAO,eAAe,KAAK,eAAe,CAAC,IAAI,UAAU,CAAC,OAAO,GAAM,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC,KAAK,KAAK,EAAE,GAAGA,IAAI,EAAE,GAAGA,IAAI,CAAC,CAAC,KAAK,WAAW,IAAI,EAAM,EAAE,CAAC,KAAK,cAAc,KAAK,KAAK,eAAe,EAAE,KAAK,kBAAkB,KAAK,KAAK,gBAAgB,KAAK,KAAK,UAAU,EAAE,KAAK,aAAa,KAAK,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,IAAI,EAAM,EAAE,EAAE,EAAE,CAAC,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,KAAK,KAAK,cAAc,IAAI,EAAM,EAAE,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,UAAUA,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,KAAK,OAAO,GAAIA,EAAE,GAAG,KAAK,UAAU,KAAK,OAAOA,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,IAAI,UAAU,EAAE,CAAC,KAAK,WAAW,GAAIA,EAAE,GAAG,KAAK,UAAU,KAAK,WAAWA,EAAE,IAAI,cAAc,CAAC,OAAO,KAAK,cAAc,IAAI,aAAa,EAAE,CAAC,KAAK,cAAc,GAAIA,EAAE,GAAG,KAAK,UAAU,KAAK,cAAcA,EAAE,KAAK,EAAE,CAA83B,OAA73B,MAAM,KAAKA,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,aAAaA,EAAE,aAAa,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,sBAAsBA,EAAE,sBAAsB,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,qBAAqB,KAAKA,EAAE,qBAAqB,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,MAAMA,EAAE,MAAM,KAAK,WAAW,KAAKA,EAAE,WAAW,CAAC,KAAK,cAAcA,EAAE,cAAc,KAAK,eAAeA,EAAE,eAAe,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,aAAaA,EAAE,aAAa,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,UAAUA,EAAE,UAAU,KAAK,aAAaA,EAAE,aAAa,KAAK,oBAAoBA,EAAE,oBAAoB,KAAK,iBAAiB,KAAKA,EAAE,iBAAiB,CAAC,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,qBAAqBA,EAAE,qBAAqB,KAAK,cAAc,KAAKA,EAAE,cAAc,CAAC,KAAK,iBAAiBA,EAAE,iBAAwB,OAAM,GAAqB,UAAU,uBAAuB,GAAW,GAAN,cAAgC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,SAAS,IAAI,EAAM,QAAQ,CAAC,KAAK,UAAU,GAAG,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,kBAAkB,EAAE,KAAK,MAAM,KAAK,KAAK,eAAe,EAAE,KAAK,SAAS,IAAI,EAAM,EAAE,CAAC,KAAK,kBAAkB,EAAE,KAAK,YAAY,KAAK,KAAK,QAAQ,KAAK,KAAK,UAAU,EAAE,KAAK,UAAU,KAAK,KAAK,cAAc4F,GAAG,KAAK,YAAY,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,KAAK,KAAK,SAAS,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQnB,GAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,IAAI,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,YAAY,GAAM,KAAK,UAAUzE,EAAE,CAAC,KAAK,EAAE,CAA68B,OAA58B,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,MAAMA,EAAE,MAAM,KAAK,eAAeA,EAAE,eAAe,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,OAAOA,EAAE,OAAO,KAAK,QAAQA,EAAE,QAAQ,KAAK,aAAaA,EAAE,aAAa,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,YAAYA,EAAE,YAAmB,OAAM,GAAkB,UAAU,oBAAoB,GAAW,GAAN,cAA+B,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,mBAAmB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,YAAY,KAAK,KAAK,SAAS,KAAK,KAAK,kBAAkB,EAAE,KAAK,MAAM,KAAK,KAAK,eAAe,EAAE,KAAK,SAAS,IAAI,EAAM,EAAE,CAAC,KAAK,kBAAkB,EAAE,KAAK,YAAY,KAAK,KAAK,QAAQ,KAAK,KAAK,UAAU,EAAE,KAAK,UAAU,KAAK,KAAK,cAAc4F,GAAG,KAAK,YAAY,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,KAAK,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,UAAU5F,EAAE,CAAC,KAAK,EAAE,CAAgwB,OAA/vB,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,MAAMA,EAAE,MAAM,KAAK,eAAeA,EAAE,eAAe,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,SAASA,EAAE,SAAS,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkBA,EAAE,kBAAyB,OAAM,GAAiB,UAAU,mBAAmB,GAAW,GAAN,cAAiC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,qBAAqB,KAAK,QAAQ,KAAK,KAAK,UAAU,EAAE,KAAK,UAAU,KAAK,KAAK,cAAc4F,GAAG,KAAK,YAAY,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,IAAI,GAAM,KAAK,YAAY,GAAM,KAAK,UAAU5F,EAAE,CAAC,KAAK,EAAE,CAAsY,OAArY,MAAM,KAAKA,EAAE,CAAC,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,YAAYA,EAAE,YAAmB,OAAM,GAAmB,UAAU,qBAAqB,GAAW,GAAN,cAAkC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,sBAAsB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,kBAAkB,EAAE,KAAK,MAAM,KAAK,KAAK,eAAe,EAAE,KAAK,SAAS,IAAI,EAAM,EAAE,CAAC,KAAK,kBAAkB,EAAE,KAAK,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,SAAS,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQyE,GAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,IAAI,KAAK,UAAU,GAAM,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,UAAUzE,EAAE,CAAC,KAAK,EAAE,CAAomB,OAAnmB,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,MAAMA,EAAE,MAAM,KAAK,eAAeA,EAAE,eAAe,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,OAAOA,EAAE,OAAO,KAAK,QAAQA,EAAE,QAAQ,KAAK,aAAaA,EAAE,aAAa,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkBA,EAAE,kBAAyB,OAAM,GAAoB,UAAU,sBAAsB,GAAW,GAAN,cAAiC,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,qBAAqB,KAAK,MAAM,IAAI,EAAM,SAAS,CAAC,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,KAAK,KAAK,UAAU,EAAE,KAAK,UAAU,KAAK,KAAK,cAAc4F,GAAG,KAAK,YAAY,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,gBAAgB,KAAK,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,KAAK,KAAK,YAAY,GAAM,KAAK,UAAU5F,EAAE,CAAC,KAAK,EAAE,CAA6a,OAA5a,MAAM,KAAKA,EAAE,CAAC,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,OAAOA,EAAE,OAAO,KAAK,IAAIA,EAAE,IAAI,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,SAASA,EAAE,SAAS,KAAK,YAAYA,EAAE,YAAmB,OAAM,GAAmB,UAAU,qBAAqB,GAAW,GAAN,cAAiC,EAAiB,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,qBAAqB,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAUA,EAAE,CAAC,KAAK,EAAE,CAAkF,OAAjF,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAMA,EAAE,MAAM,KAAK,SAASA,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAe,OAAM,GAAmB,UAAU,qBAAqB,GAAY,OAAO,OAAO,CAAC,UAAU,KAAoB,kBAA8B,kBAAiC,qBAAiC,kBAA8B,kBAAoC,wBAA0C,wBAAuC,qBAAmC,oBAAoC,sBAAuC,uBAAsC,qBAAuC,wBAAuC,qBAAqC,sBAAsC,sBAAqC,qBAA2B,YAAS,CAAC,CAAOgW,GAAG,CAAC,WAAW,SAAS,EAAE,EAAE,EAAE,CAAC,OAAOA,GAAG,aAAahW,EAAE,CAAC,IAAIA,EAAE,YAAYA,EAAE,SAASC,EAAW,IAAT,IAAK,GAAQD,EAAE,OAAJ,EAAW,CAAC,CAACA,EAAE,MAAMC,EAAE,EAAE,EAAE,aAAa,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,CAACD,GAAG,CAAC,GAAGA,EAAE,cAAcC,EAAED,EAAa,OAAOC,EAAE,mBAApB,SAAsC,IAAIA,EAAED,EAAE,CAAC,MAAM,UAAU,MAAM,KAAKA,EAAE,EAAE,aAAa,SAAS,EAAE,CAAC,OAAO,YAAY,OAAOA,EAAE,EAAE,EAAEA,aAAa,WAAW,iBAAiB,SAAS,EAAE,CAAC,SAAS,EAAY,EAAE,EAAE,CAAC,OAAOA,EAAEC,GAAGD,EAAEmB,GAAG,IAAMlB,EAAED,EAAE,OAAa,EAAM,MAAMC,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,IAAIC,EAAE,EAAED,EAAE,EAAEA,GAAGA,EAAsB,OAApB,EAAE,KAAK,EAAY,CAAQ,GAAG,YAAY,SAAS,EAAE,EAAE,EAAE,CAAC,IAAME,EAAEF,EAAE,OAAaI,EAAE,IAAIJ,EAAE,YAAYE,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAE,EAAE,EAAE,IAAIN,EAAE,EAAEM,EAAE,CAAC,IAAMN,EAAE,EAAEM,GAAGP,EAAE,IAAI,IAAIkB,EAAE,EAAEA,IAAIlB,EAAE,EAAEkB,EAAE,EAAE,KAAKnB,EAAEE,EAAEiB,GAAG,OAAOf,GAAG,YAAY,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,EAAEI,EAAER,EAAE,GAAG,KAAeQ,IAAT,IAAK,IAAgBA,EAAEN,KAAX,IAAK,IAAS,EAAEF,EAAE,KAAK,GAAYQ,IAAT,IAAK,GAAM,OAAO,IAAI,EAAEA,EAAEN,GAAG,GAAY,IAAT,IAAK,GAAM,GAAG,MAAM,QAAQ,EAAE,CAAC,EAAG,GAAEM,EAAEN,GAAe,IAAT,IAAK,KAAO,EAAE,KAAKM,EAAE,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,EAAC,EAAER,EAAE,WAAoBQ,IAAT,IAAK,YAAwB,EAAE,UAAX,IAAK,GAAc,EAAG,GAAEA,EAAEN,GAAe,IAAT,IAAK,KAAO,EAAE,KAAKM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAC,EAAER,EAAE,WAAoBQ,IAAT,IAAK,SAAY,EAAG,GAAEA,EAAEN,GAAe,IAAT,IAAK,KAAO,EAAE,KAAKM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAC,EAAER,EAAE,WAAoBQ,IAAT,IAAK,KAAQ,QAAQ,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAMA,EAAER,EAAE,OAAO,CAAC,EAAE,KAAKC,EAAE,IAAM,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEQ,EAAE,OAAO,OAAO,EAAER,EAAE,CAAC,IAAMC,EAAEO,EAAE,OAAOR,GAASqC,EAAEpC,EAAE,cAAc,CAAOQ,EAAE,EAAE,CAAOC,EAAE,EAAE,CAAC,IAAI,IAAIV,EAAE,EAAEA,EAAEC,EAAE,MAAM,OAAO,EAAED,EAAE,CAAC,IAAMQ,EAAEP,EAAE,MAAMD,GAAGI,EAAE,GAAG,EAAEI,EAAE,GAAGA,GAAGN,GAAG,CAAC,EAAE,KAAKD,EAAE,MAAMD,GAAG,CAAC,IAAI,IAAImB,EAAE,EAAEA,EAAEkB,EAAE,EAAElB,EAAE,EAAE,KAAKlB,EAAE,OAAOD,EAAEqC,EAAElB,GAAG,EAASV,EAAE,SAAN,IAAc,EAAE,MAAMuV,GAAG,aAAavV,EAAER,EAAE,MAAM,YAAY,CAAC,EAAE,OAAO+V,GAAG,aAAatV,EAAET,EAAE,OAAO,YAAY,CAAC,EAAE,KAAKA,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAS,IAAI,IAAID,EAAE,EAAEA,EAAEQ,EAAE,OAAO,OAAO,EAAER,EAAE,EAAEQ,EAAE,OAAOR,GAAG,MAAM,KAAK,EAAEQ,EAAE,OAAOR,GAAG,MAAM,IAAI,IAAI,IAAIA,EAAE,EAAEA,EAAEQ,EAAE,OAAO,OAAO,EAAER,EAAE,EAAE,OAAOA,GAAG,MAAM,GAAG,EAAE,CAAmB,OAAlB,EAAE,eAAe,CAAQQ,GAAG,iBAAiB,SAAS,EAAE,EAAE,EAAE,EAAER,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,IAAMI,EAAE,EAAE,OAAO,OAAaI,EAAEP,EAAEC,EAAE,IAAI,IAAID,EAAE,EAAEA,EAAEG,EAAE,EAAEH,EAAE,CAAC,IAAMC,EAAE,EAAE,OAAOD,GAASG,EAAEF,EAAE,cAAc,GAAYE,IAAT,QAAuBA,IAAX,SAAa,SAAS,IAAM,EAAEJ,EAAE,OAAO,MAAM,SAAS,EAAE,CAAC,OAAOA,EAAE,OAAOE,EAAE,MAAMF,EAAE,gBAAgBI,IAAI,CAAC,GAAY,IAAT,IAAK,GAAM,SAAS,IAAI,EAAE,EAAQK,EAAEP,EAAE,cAAc,CAAC,EAAE,kBAAkB,4CAA4C,EAAEO,EAAE,GAAG,IAAIC,EAAE,EAAQC,EAAE,EAAE,cAAc,CAAC,EAAE,kBAAkB,4CAA4C,EAAEA,EAAE,GAAG,IAAMC,EAAEV,EAAE,MAAM,OAAO,EAAMW,EAAE,GAAGL,GAAGN,EAAE,MAAM,GAAG,CAAC,IAAMF,EAAE,EAAQC,EAAEQ,EAAE,EAAE,EAAEuV,GAAG,WAAW9V,EAAE,OAAOF,EAAEC,EAAE,SAASO,GAAGN,EAAE,MAAMU,GAAG,CAAC,IAAMZ,EAAEY,EAAEH,EAAE,EAAQR,EAAED,EAAES,EAAE,EAAE,EAAEuV,GAAG,WAAW9V,EAAE,OAAOF,EAAEC,EAAE,KAAK,CAAC,IAAMD,EAAEE,EAAE,mBAAmB,CAAOD,EAAE,EAAQkB,EAAEV,EAAE,EAAE,EAAE,SAASD,EAAE,CAAC,EAAEwV,GAAG,WAAWhW,EAAE,aAAaC,EAAEkB,EAAE,CAAmBf,IAAf,cAA2B,IAAI,IAAU,CAAE,UAAUS,EAAE,CAAC,WAAW,CAAC,WAAW,CAAG,QAAQA,EAAE,CAAC,IAAMC,EAAE,EAAE,MAAM,OAAO,IAAI,IAAId,EAAE,EAAEA,EAAEc,EAAE,EAAEd,EAAE,CAAC,IAAMC,EAAED,EAAEW,EAAED,EAAE,GAAkBN,IAAf,aAAiB,GAAW,wBAAwB,EAAE,OAAOH,EAAEY,EAAE,EAAE,EAAE,OAAOZ,EAAE,KAAK,CAAC,IAAMD,EAAEW,EAAE,EAAED,EAAE,IAAI,IAAIS,EAAE,EAAEA,EAAEnB,EAAE,EAAEmB,EAAE,EAAE,OAAOlB,EAAEkB,IAAIN,EAAEM,KAAoB,MAAf,GAAE,UAAUoL,GAAUvM,GAAG,CAAO,GAAN,KAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,mBAAmBA,EAAE,KAAK,aAAa,EAAE,KAAK,aAAsBE,IAAT,IAAK,GAAQ,IAAID,EAAE,YAAY,EAAE,CAAtBC,EAAuB,KAAK,aAAaD,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,KAAK,KAAK,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC,IAAMA,EAAE,KAAK,mBAAuB,EAAE,KAAK,aAAaC,EAAED,EAAE,GAAGG,EAAEH,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAIO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAER,EAAEE,GAAG,CAAC,IAAI,IAAIM,EAAE,EAAE,IAAI,CAAC,GAAYN,IAAT,IAAK,GAAM,CAAC,GAAGF,EAAEI,EAAE,MAAM,EAAiC,MAA/B,GAAEH,EAAE,OAAO,KAAK,aAAa,EAAS,KAAK,UAAU,EAAE,EAAED,EAAEI,EAAE,CAAC,GAAG,IAAII,EAAE,MAAmB,GAAb,EAAEN,EAAE,EAAED,EAAE,EAAE,GAAMD,EAAEE,EAAE,MAAM,EAAE,EAAED,EAAE,OAAO,MAAM,EAAE,GAAGD,GAAGI,EAAE,MAAM,EAAE,CAAC,IAAM,EAAEH,EAAE,GAAMD,EAAE,IAAG,EAAE,EAAE,EAAE,GAAE,IAAI,IAAIQ,EAAE,EAAE,IAAI,CAAC,GAAYJ,IAAT,IAAK,GAA2B,MAApB,MAAK,aAAa,EAAS,KAAK,aAAa,EAAEJ,EAAEE,EAAE,CAAC,GAAG,IAAIM,EAAE,MAAqB,GAAf,EAAEJ,EAAE,EAAEH,EAAE,EAAE,EAAE,GAAMD,GAAGI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,KAAM,EAAEI,GAAE,CAAC,IAAMN,EAAE,EAAEM,IAAI,EAAE,EAAEP,EAAEC,GAAG,EAAEA,EAAE,EAAEA,EAAE,EAAkB,GAAhB,EAAED,EAAE,GAAG,EAAEA,EAAE,EAAE,GAAeG,IAAT,IAAK,GAA2B,MAApB,MAAK,aAAa,EAAS,KAAK,aAAa,EAAEJ,EAAEE,EAAE,CAAC,GAAYA,IAAT,IAAK,GAAsC,MAA/B,GAAED,EAAE,OAAO,KAAK,aAAa,EAAS,KAAK,UAAU,EAAE,EAAEG,EAAEJ,EAAE,CAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAEI,EAAEF,EAAE,CAAC,OAAO,KAAK,aAAa,EAAEE,EAAEJ,EAAEE,EAAE,CAAC,cAAc,CAAC,OAAO,KAAK,UAAU,KAAK,iBAAiB,iBAAiB,EAAE,CAAC,IAAMD,EAAE,KAAK,aAAa,EAAE,KAAK,aAAaC,EAAE,KAAK,UAAUE,EAAEJ,EAAEE,EAAE,IAAI,IAAIF,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAEA,GAAG,EAAEI,EAAEJ,GAAG,OAAOC,EAAE,cAAc,CAAC,MAAU,MAAM,0BAA0B,CAAC,kBAAkB,IAAG,GAAY,UAAU,aAAa,GAAY,UAAU,iBAAiB,GAAY,UAAU,UAAU,GAAY,UAAU,iBAAuB,GAAN,cAA+B,EAAW,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMD,EAAEC,EAAE,EAAEC,EAAE,CAAC,KAAK,YAAY,GAAG,KAAK,YAAY,GAAG,KAAK,YAAY,GAAG,KAAK,YAAY,GAAG,KAAK,iBAAiB,CAAC,YAAYkM,GAAG,UAAUA,GAAG,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAMlM,EAAE,KAAK,mBAAuBE,EAAEJ,EAAE,EAAEQ,EAAER,EAAE,EAAE,EAAEE,EAAEE,GAAG,EAAEF,EAAEM,GAAG,GAAY,IAAT,IAAK,GAAM,OAAO,KAAK,cAAc,CAAC,YAA3B,CAAwC,KAAK6L,GAAG,EAAErM,EAAE,EAAE,EAAEC,EAAE,EAAE,MAAM,KAAK,GAAG,EAAEC,EAAE,OAAO,EAAE,EAAED,EAAEC,EAAEE,GAAGF,EAAEE,EAAE,GAAG,MAAM,QAAQ,EAAEJ,EAAE,EAAE,EAAE,GAAY,IAAT,IAAK,GAAM,OAAO,KAAK,cAAc,CAAC,UAA3B,CAAsC,KAAKqM,GAAG,EAAErM,EAAE,EAAE,EAAE,EAAEC,EAAE,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,EAAEC,EAAE,GAAGA,EAAE,GAAG,MAAM,QAAQ,EAAEF,EAAE,EAAE,EAAEC,EAAE,IAAMQ,EAAE,IAAI,EAAER,GAAGS,EAAE,KAAK,UAAU,KAAK,YAAYD,GAAGR,EAAE,GAAG,KAAK,YAAYQ,GAAG,EAAE,GAAG,KAAK,YAAYL,EAAEM,EAAE,KAAK,YAAYF,EAAEE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMN,EAAE,KAAK,aAAaI,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAER,EAAE,EAAES,EAAE,EAAE,EAAEC,EAAE,KAAK,YAAYC,EAAE,KAAK,YAAYC,EAAE,KAAK,YAAYC,EAAE,KAAK,YAAYC,GAAG,EAAEb,IAAIC,EAAED,GAAGc,EAAED,EAAEA,EAAE,EAAEC,EAAED,EAAQmB,EAAE,CAACrB,EAAE,EAAE,EAAEA,EAAEG,EAAEH,EAAEE,EAAQoB,GAAG,EAAEtB,GAAG,GAAG,KAAK,EAAEA,GAAGG,GAAG,IAAIH,GAAGE,EAAE,EAAQwB,GAAG,GAAGzB,GAAG,GAAG,IAAIA,GAAGE,EAAE,GAAGD,EAAQyB,EAAE1B,EAAE,EAAEA,EAAEE,EAAE,IAAI,IAAIf,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGiC,EAAEzB,EAAEE,EAAEV,GAAGkC,EAAE1B,EAAEC,EAAET,GAAGsC,EAAE9B,EAAE,EAAER,GAAGuC,EAAE/B,EAAEG,EAAEX,GAAG,OAAOI,IAAS,GAAN,cAAgC,EAAW,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMJ,EAAEC,EAAE,EAAEC,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAAK,aAAaI,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAER,EAAE,EAAES,EAAE,EAAE,EAAEC,GAAG,EAAET,IAAIC,EAAED,GAAGU,EAAE,EAAED,EAAE,IAAI,IAAIV,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGQ,EAAEC,EAAET,GAAGW,EAAEH,EAAE,EAAER,GAAGU,EAAE,OAAON,IAAS,GAAN,cAAkC,EAAW,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMJ,EAAEC,EAAE,EAAEC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,iBAAiBF,EAAE,EAAE,GAAQ,GAAN,KAAmB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,GAAYA,IAAT,IAAK,GAAM,MAAU,MAAM,+CAA+C,CAAC,GAAYC,IAAT,IAAK,IAAWA,EAAE,SAAN,EAAa,MAAU,MAAM,oDAAoDD,EAAE,CAAC,KAAK,KAAKA,EAAE,KAAK,MAAMgW,GAAG,aAAa/V,EAAE,KAAK,eAAe,CAAC,KAAK,OAAO+V,GAAG,aAAa,EAAE,KAAK,gBAAgB,CAAC,KAAK,iBAAiB9V,GAAG,KAAK,qBAAqB,CAAC,OAAO,OAAO,EAAE,CAAC,IAAMD,EAAED,EAAE,YAAgB,EAAE,GAAGC,EAAE,SAAS,KAAK,OAAO,EAAEA,EAAE,OAAOD,EAAE,KAAK,CAAC,EAAE,CAAC,KAAKA,EAAE,KAAK,MAAMgW,GAAG,aAAahW,EAAE,MAAM,MAAM,CAAC,OAAOgW,GAAG,aAAahW,EAAE,OAAO,MAAM,CAAC,CAAC,IAAMC,EAAED,EAAE,kBAAkB,CAAC,IAAIA,EAAE,uBAAuB,EAAE,cAAcC,GAA0B,MAAvB,GAAE,KAAKD,EAAE,cAAqB,EAAE,iCAAiC,EAAE,CAAC,OAAO,IAAI,GAAoB,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACA,EAAE,CAAC,+BAA+B,EAAE,CAAC,OAAO,IAAI,GAAkB,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACA,EAAE,CAAC,+BAA+B,EAAE,CAAC,OAAO,IAAI,GAAiB,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACA,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAIC,EAAE,OAAOD,EAAP,CAAU,KAAKiM,GAAG,EAAE,KAAK,iCAAiC,MAAM,KAAKC,GAAG,EAAE,KAAK,+BAA+B,MAAM,KAAKC,GAAG,EAAE,KAAK,+BAA+B,MAAM,GAAYlM,IAAT,IAAK,GAAM,CAAC,IAAMA,EAAE,iCAAiC,KAAK,cAAc,yBAAyB,KAAK,KAAK,GAAY,KAAK,oBAAd,IAAK,GAA2B,CAAC,GAAGD,IAAI,KAAK,qBAAqB,MAAU,MAAMC,EAAE,CAAC,KAAK,iBAAiB,KAAK,qBAAqB,CAAwC,OAAvC,QAAQ,KAAK,uBAAuBA,EAAE,CAAQ,KAA8B,MAAzB,MAAK,kBAAkBA,EAAS,KAAK,kBAAkB,CAAC,OAAO,KAAK,kBAAZ,CAA+B,KAAK,KAAK,iCAAiC,OAAOgM,GAAG,KAAK,KAAK,+BAA+B,OAAOC,GAAG,KAAK,KAAK,+BAA+B,OAAOC,IAAI,cAAc,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,EAAE,CAAC,GAAOnM,IAAJ,EAAM,CAAC,IAAMC,EAAE,KAAK,MAAM,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,OAAO,IAAIC,EAAE,EAAE,EAAE,EAAE,IAAIF,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,GAAOA,IAAJ,EAAM,CAAC,IAAMC,EAAE,KAAK,MAAM,IAAI,IAAI,EAAE,EAAEC,EAAED,EAAE,OAAO,IAAIC,EAAE,EAAE,EAAE,EAAE,IAAIF,EAAE,OAAO,KAAK,KAAK,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,MAAME,EAAE,EAAE,OAAWE,EAAE,EAAEI,EAAEN,EAAE,EAAE,KAAME,IAAIF,GAAG,EAAEE,GAAGJ,GAAE,EAAEI,EAAE,KAAWI,IAAL,IAAQ,EAAEA,GAAGP,GAAE,EAAEO,EAAM,GAAJ,EAAEA,EAASJ,IAAJ,GAAOI,IAAIN,EAAE,CAAIE,GAAGI,IAAG,EAAE,KAAK,IAAIA,EAAE,EAAE,CAAC,EAAEA,EAAE,GAAE,IAAMR,EAAE,KAAK,cAAc,CAAC,KAAK,MAAMgW,GAAG,WAAW,EAAE5V,EAAEI,EAAE,CAAC,KAAK,OAAOwV,GAAG,WAAW,KAAK,OAAO5V,EAAEJ,EAAEQ,EAAER,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,IAAIA,EAAE,GAAWC,EAAE,KAAK,cAAc,CAAIA,EAAE,KAAK,MAAMA,EAAE,GAAG,IAAG,QAAQ,MAAM,oDAAoD,KAAK,CAAC,EAAE,IAAM,IAAM,EAAE,KAAK,MAAMC,EAAE,KAAK,OAAOE,EAAE,EAAE,OAAcA,IAAJ,IAAO,QAAQ,MAAM,uCAAuC,KAAK,CAAC,EAAE,IAAM,IAAII,EAAE,KAAK,IAAI,IAAIP,EAAE,EAAEA,IAAIG,EAAE,IAAI,CAAC,IAAMF,EAAE,EAAED,GAAG,GAAc,OAAOC,GAAlB,UAAqB,MAAMA,EAAE,CAAC,CAAC,QAAQ,MAAM,mDAAmD,KAAKD,EAAEC,EAAE,CAAC,EAAE,GAAM,MAAM,GAAUM,IAAP,MAAUA,EAAEN,EAAE,CAAC,QAAQ,MAAM,0CAA0C,KAAKD,EAAEC,EAAEM,EAAE,CAAC,EAAE,GAAM,MAAM,EAAEN,EAAE,GAAYA,IAAT,IAAK,IAAO8V,GAAG,aAAa9V,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEkB,EAAEjB,EAAE,OAAOD,IAAIkB,EAAE,EAAElB,EAAE,CAAC,IAAMkB,EAAEjB,EAAED,GAAG,GAAG,MAAMkB,EAAE,CAAC,CAAC,QAAQ,MAAM,oDAAoD,KAAKlB,EAAEkB,EAAE,CAAC,EAAE,GAAM,OAAO,OAAOnB,EAAE,UAAU,CAAC,IAAMA,EAAEgW,GAAG,WAAW,KAAK,MAAM,CAAC/V,EAAE+V,GAAG,WAAW,KAAK,OAAO,CAAC,EAAE,KAAK,cAAc,CAAC9V,EAAE,KAAK,kBAAkB,GAAGiM,GAAG/L,EAAEJ,EAAE,OAAO,EAAMQ,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAEJ,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,GAAY,EAAEJ,EAAE,GAAkB,GAAG,IAAVA,EAAE,EAAE,KAAkB,IAAJ,GAAO,IAAIA,EAAE,IAAI,GAAGE,EAAE,EAAE,OAAS,CAAC,IAAMF,EAAE,EAAE,EAAEE,EAAEF,EAAE,EAAEQ,EAAER,EAAE,EAAE,IAAI,IAAIgB,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,CAAC,IAAMG,EAAElB,EAAED,EAAEgB,GAAG,GAAGG,IAAIlB,EAAEC,EAAEc,IAAIG,IAAIlB,EAAEO,EAAEQ,GAAG,CAAC,EAAE,GAAK,QAAQ,GAAGZ,EAAE,CAAC,GAAG,IAAII,EAAE,CAAC,EAAEA,GAAGR,EAAE,GAAG,IAAME,EAAE,EAAE,EAAEE,EAAEI,EAAE,EAAE,IAAI,IAAIR,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEI,EAAEJ,GAAGC,EAAEC,EAAEF,GAAG,EAAEQ,GAAG,GAAGJ,EAAE,EAAE,CAAC,EAAEI,GAAGR,EAAEI,GAAG,IAAI,IAAIJ,EAAEI,EAAE,EAAEF,EAAEM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAEN,EAAE,GAAGD,EAAED,EAAE,GAAG,EAAEQ,EAAsH,OAAjHA,IAAIR,EAAE,QAAgF,KAAK,MAAMA,EAAE,KAAK,OAAOC,IAAjG,KAAK,MAAM+V,GAAG,WAAWhW,EAAE,EAAEQ,EAAE,CAAC,KAAK,OAAOwV,GAAG,WAAW/V,EAAE,EAAEO,EAAE,EAAE,EAAwC,KAAK,OAAO,CAAC,IAAMR,EAAEgW,GAAG,WAAW,KAAK,MAAM,EAAE,CAAO/V,EAAE+V,GAAG,WAAW,KAAK,OAAO,EAAE,CAAO,EAAE,KAAK,YAAkB9V,EAAE,IAAI,EAAE,KAAK,KAAKF,EAAEC,EAAE,CAA4C,MAA3C,GAAE,kBAAkB,KAAK,kBAAyBC,IAAG,GAAc,UAAU,eAAe,aAAa,GAAc,UAAU,gBAAgB,aAAa,GAAc,UAAU,qBAAqBgM,GAAS,GAAN,cAAmC,EAAa,GAAE,GAAqB,UAAU,cAAc,OAAO,GAAqB,UAAU,gBAAgB,MAAM,GAAqB,UAAU,qBAAqBD,GAAG,GAAqB,UAAU,+BAA+B,IAAK,GAAE,GAAqB,UAAU,+BAA+B,IAAK,GAAQ,GAAN,cAAiC,EAAa,GAAE,GAAmB,UAAU,cAAc,QAAc,GAAN,cAAkC,EAAa,GAAE,GAAoB,UAAU,cAAc,SAAe,GAAN,cAA0C,EAAW,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMjM,EAAEC,EAAE,EAAEC,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAAK,aAAaI,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,GAAG,EAAEP,IAAIC,EAAED,GAAOQ,EAAET,EAAE,EAAE,IAAI,IAAIA,EAAES,EAAE,EAAEA,IAAIT,EAAE,GAAG,EAAE,GAAW,UAAUI,EAAE,EAAEI,EAAEC,EAAE,EAAED,EAAEC,EAAE,EAAE,CAAC,OAAOL,IAAS,GAAN,cAAsC,EAAa,CAAC,+BAA+B,EAAE,CAAC,OAAO,IAAI,GAA4B,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACJ,EAAE,GAAE,GAAwB,UAAU,cAAc,aAAa,GAAwB,UAAU,qBAAqBkM,GAAG,GAAwB,UAAU,+BAA+B,IAAK,GAAQ,GAAN,cAAkC,EAAa,GAAE,GAAoB,UAAU,cAAc,SAAS,GAAoB,UAAU,gBAAgB,MAAM,GAAoB,UAAU,qBAAqBD,GAAG,GAAoB,UAAU,+BAA+B,IAAK,GAAE,GAAoB,UAAU,+BAA+B,IAAK,GAAQ,GAAN,cAAkC,EAAa,GAAE,GAAoB,UAAU,cAAc,SAAe,GAAN,KAAmB,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,EAAEK,GAAG,CAAC,KAAK,KAAKtM,EAAE,KAAK,OAAO,EAAE,KAAK,SAASC,EAAE,KAAK,UAAUC,EAAE,KAAK,KAAK,IAAc,CAAC,KAAK,SAAS,GAAG,KAAK,eAAe,CAAC,OAAO,MAAM,EAAE,CAAC,IAAMD,EAAE,EAAE,CAAC,EAAED,EAAE,OAAOE,EAAE,GAAGF,EAAE,KAAK,GAAG,IAAI,IAAIA,EAAE,EAAEI,EAAE,EAAE,OAAOJ,IAAII,EAAE,EAAEJ,EAAE,EAAE,KAAK,GAAmB,EAAEA,GAAG,CAAC,MAAME,EAAE,CAAC,CAAC,IAAME,EAAE,IAAI,KAAKJ,EAAE,KAAKA,EAAE,SAASC,EAAED,EAAE,UAAU,CAAe,MAAd,GAAE,KAAKA,EAAE,KAAYI,EAAE,OAAO,OAAO,EAAE,CAAC,IAAMH,EAAE,EAAE,CAAC,EAAED,EAAE,OAAaE,EAAE,CAAC,KAAKF,EAAE,KAAK,SAASA,EAAE,SAAS,OAAOC,EAAE,KAAKD,EAAE,KAAK,UAAUA,EAAE,UAAU,CAAC,IAAI,IAAIA,EAAE,EAAEE,EAAE,EAAE,OAAOF,IAAIE,EAAE,EAAEF,EAAE,EAAE,KAAK,GAAc,OAAO,EAAEA,GAAG,CAAC,CAAC,OAAOE,EAAE,OAAO,8BAA8B,EAAE,EAAE,EAAE,EAAE,CAAC,IAAME,EAAEH,EAAE,OAAaO,EAAE,EAAE,CAAC,IAAI,IAAIR,EAAE,EAAEA,EAAEI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAK,EAAE,EAAE,CAAC,EAAE,MAAMJ,EAAEI,EAAE,GAAGA,EAAEJ,GAAGA,EAAE,GAAGI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAMK,EAAEuV,GAAG,iBAAiB,EAAE,CAAC,EAAEA,GAAG,YAAY,EAAE,EAAEvV,EAAE,CAAC,EAAEuV,GAAG,YAAY,EAAE,EAAEvV,EAAE,CAAI,CAACP,GAAO,EAAE,KAAN,IAAU,EAAE,KAAKE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAC,EAAE,KAAK,IAAI,GAAoB,0BAA0BH,EAAED,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAKA,EAAE,GAAGQ,EAAE,CAAC,OAAO,WAAW,EAAE,EAAE,CAAC,IAAI,EAAER,EAAE,GAAG,CAAC,MAAM,QAAQA,EAAE,CAAC,CAAC,IAAMC,EAAED,EAAE,EAAEC,EAAE,UAAUA,EAAE,SAAS,YAAYA,EAAE,WAAW,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,GAAG,EAAEA,GAAG,OAAOC,EAAE,OAAO,EAAED,GAAG,OAAO,KAAK,OAAO,oCAAoC,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,EAAE,CAAOE,EAAE,qBAAqB,IAAI,IAAIH,EAAE,EAAEkB,EAAEnB,EAAE,OAAOC,EAAEkB,EAAE,IAAI,CAAC,IAAMA,EAAEnB,EAAEC,GAASO,EAAEW,EAAE,KAAK,MAAMf,EAAE,CAAC,GAAGI,GAAGA,EAAE,OAAO,EAAE,CAAC,IAAMR,EAAEQ,EAAE,GAAOP,EAAEC,EAAEF,GAAG,IAAI,EAAEA,GAAG,EAAE,EAAE,EAAE,EAAE,KAAKmB,EAAE,EAAE,IAAMX,EAAE,EAAE,CAAC,IAAI,IAAMR,KAAKE,EAAE,EAAE,KAAK,KAAK,8BAA8BF,EAAEE,EAAEF,GAAGC,EAAE,EAAE,CAAC,CAAC,OAAOO,EAAE,OAAO,eAAe,EAAE,EAAE,CAAC,GAAG,CAACR,EAA0E,OAAvE,QAAQ,MAAM,wDAAwD,CAAQ,KAAK,IAAM,EAAiB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAOmB,EAAE,SAAN,EAAa,CAAC,IAAMX,EAAE,EAAE,CAAOQ,EAAE,EAAE,CAAC,GAAG,YAAYG,EAAEX,EAAEQ,EAAEd,EAAE,CAAKM,EAAE,SAAN,GAAcJ,EAAE,KAAK,IAAIJ,EAAEC,EAAEO,EAAEQ,EAAE,CAAC,GAAS,EAAE,EAAE,CAAOd,EAAEF,EAAE,MAAM,UAAgBI,EAAEJ,EAAE,KAAK,GAASQ,EAAER,EAAE,UAAc,EAAEA,EAAE,QAAQ,GAAS,EAAEA,EAAE,WAAW,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,CAAC,IAAME,EAAE,EAAEF,GAAG,KAAK,GAAGE,GAAOA,EAAE,SAAN,EAAa,GAAGA,EAAE,GAAG,aAAa,CAAC,IAAMF,EAAE,EAAE,CAAKC,EAAE,IAAI,EAAE,EAAEA,EAAEC,EAAE,OAAO,IAAI,GAAGA,EAAED,GAAG,aAAa,IAAI,IAAIkB,EAAE,EAAEA,EAAEjB,EAAED,GAAG,aAAa,OAAO,IAAI,EAAEC,EAAED,GAAG,aAAakB,IAAI,GAAG,IAAI,IAAMf,KAAKJ,EAAE,CAAC,IAAMA,EAAE,EAAE,CAAOQ,EAAE,EAAE,CAAC,IAAI,IAAIW,EAAE,EAAEA,IAAIjB,EAAED,GAAG,aAAa,OAAO,EAAEkB,EAAE,CAAC,IAAMA,EAAEjB,EAAED,GAAG,EAAE,KAAKkB,EAAE,KAAK,CAAC,EAAE,KAAKA,EAAE,cAAcf,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,GAAoB,yBAAyBA,EAAE,IAAIJ,EAAEQ,EAAE,CAAC,CAAC,EAAER,EAAE,QAAQI,GAAG,OAAO,CAAC,IAAMA,EAAE,UAAUH,EAAED,GAAG,KAAK,IAAI,EAAiB,GAAoBI,EAAE,YAAYF,EAAE,MAAM,EAAE,CAAC,EAAiB,GAAwBE,EAAE,cAAcF,EAAE,MAAM,EAAE,CAAC,EAAiB,GAAoBE,EAAE,SAASF,EAAE,MAAM,EAAE,EAAwD,OAA/C,EAAE,SAAN,EAAoB,KAAa,IAAI,KAAKA,EAAE,EAAE,EAAEM,EAAE,CAAU,eAAe,CAAC,IAAMR,EAAE,KAAK,OAAWC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAEC,EAAEF,EAAE,OAAO,IAAIE,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,OAAO,GAAG,EAAE,KAAK,IAAIC,EAAED,EAAE,MAAMA,EAAE,MAAM,OAAO,GAAG,CAAiB,MAAhB,MAAK,SAASC,EAAS,KAAK,MAAM,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,IAAI,KAAK,OAAOA,GAAG,KAAK,EAAE,KAAK,SAAS,CAAC,OAAO,KAAK,UAAU,CAAC,IAAIA,EAAE,GAAK,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,IAAI,IAAK,KAAK,OAAOA,GAAG,UAAU,CAAC,OAAOD,EAAE,UAAU,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,IAAI,KAAK,OAAOA,GAAG,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,IAAI,EAAE,KAAK,KAAK,OAAOA,GAAG,OAAO,CAAC,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,KAAK,KAAK,SAASD,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,YAAY,OAAO,KAAK,GAAq0BiW,GAAG,CAAC,QAAQ,GAAM,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,EAAE,CAAC,KAAQ,KAAK,UAAU,KAAK,MAAMjW,GAAGC,IAAI,IAAI,SAAS,EAAE,CAAC,GAAG,KAAQ,KAAK,QAAQ,OAAO,KAAK,MAAMD,IAAI,OAAO,SAAS,EAAE,CAAC,OAAO,KAAK,MAAMA,IAAI,MAAM,UAAU,CAAC,KAAK,MAAM,EAAE,EAAE,CAAO,GAAN,KAAoB,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAASE,EAAE,GAAUI,EAAE,EAAM,EAAE,EAAM,EAAQC,EAAE,EAAE,CAAC,KAAK,QAAQ,IAAK,GAAE,KAAK,OAAOT,EAAE,KAAK,WAAWC,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,SAAS,EAAE,CAAC,IAAI,KAAQG,GAAYF,EAAE,UAAX,IAAK,IAAeA,EAAE,QAAQF,EAAEQ,EAAE,EAAE,CAAC,EAAE,IAAM,KAAK,QAAQ,SAAS,EAAE,CAAC,IAAaN,EAAE,aAAX,IAAK,IAAkBA,EAAE,WAAWF,EAAEQ,EAAE,EAAE,CAAIA,IAAI,IAAG,EAAE,GAAeN,EAAE,SAAX,IAAK,IAAcA,EAAE,QAAQ,GAAG,KAAK,UAAU,SAAS,EAAE,CAAUA,EAAE,UAAX,IAAK,IAAeA,EAAE,QAAQF,EAAE,EAAE,KAAK,WAAW,SAAS,EAAE,CAAC,OAAO,EAAE,EAAEA,EAAE,CAACA,GAAG,KAAK,eAAe,SAAS,EAAE,CAAK,MAAJ,GAAEA,EAAS,MAAM,KAAK,WAAW,SAAS,EAAE,EAAE,CAAa,OAAZ,EAAE,KAAKA,EAAEC,EAAE,CAAQ,MAAM,KAAK,cAAc,SAAS,EAAE,CAAC,IAAMA,EAAEQ,EAAE,QAAQT,EAAE,CAAuB,OAAjBC,IAAL,IAAQQ,EAAE,OAAOR,EAAE,EAAE,CAAQ,MAAM,KAAK,WAAW,SAAS,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEkB,EAAEV,EAAE,OAAOR,EAAEkB,EAAE,GAAG,EAAE,CAAC,IAAMA,EAAEV,EAAER,GAASC,EAAEO,EAAER,EAAE,GAA6B,GAA1B,EAAE,SAAS,EAAE,UAAU,GAAMkB,EAAE,KAAKnB,EAAE,CAAC,OAAOE,EAAE,OAAO,QAAagW,GAAG,IAAI,GAAqB,GAAN,KAAY,CAAC,YAAY,EAAE,CAAC,KAAK,QAAiBlW,IAAT,IAAK,GAAQkW,GAAFlW,EAAK,KAAK,YAAY,YAAY,KAAK,gBAAgB,GAAM,KAAK,KAAK,GAAG,KAAK,aAAa,GAAG,KAAK,cAAc,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAO,IAAI,SAAS,SAAS,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAEE,EAAED,EAAEG,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,CAAoB,MAAnB,MAAK,YAAYJ,EAAS,KAAK,mBAAmB,EAAE,CAAwB,MAAvB,MAAK,gBAAgBA,EAAS,KAAK,QAAQ,EAAE,CAAa,MAAZ,MAAK,KAAKA,EAAS,KAAK,gBAAgB,EAAE,CAAqB,MAApB,MAAK,aAAaA,EAAS,KAAK,iBAAiB,EAAE,CAAsB,MAArB,MAAK,cAAcA,EAAS,OAAYmW,GAAG,EAAE,CAAO,GAAN,cAAyB,EAAM,CAAC,YAAY,EAAE,CAAC,MAAMnW,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAUA,IAAT,IAAK,KAAQ,EAAE,IAAa,KAAK,OAAd,IAAK,KAAgB,EAAE,KAAK,KAAKA,GAAG,EAAE,KAAK,QAAQ,WAAWA,EAAE,CAAC,IAAMI,EAAE6V,GAAG,IAAIjW,EAAE,CAAC,GAAYI,IAAT,IAAK,GAAuF,OAAhF,KAAK,QAAQ,UAAUJ,EAAE,CAAC,gBAAgB,CAAC,GAAGC,EAAEG,EAAE,CAAC,KAAK,QAAQ,QAAQJ,EAAE,GAAG,EAAE,CAAQI,EAAE,GAAY+V,GAAGnW,KAAZ,IAAK,GAAU,CAAC,GAAGA,GAAG,KAAK,CAAC,OAAOC,EAAE,WAAW,EAAE,QAAQC,EAAE,CAAC,CAAC,OAAO,GAAGF,GAAG,EAAE,CAAC,GAAGA,GAAG,KAAK,CAAC,OAAOC,EAAE,WAAW,EAAE,QAAQC,EAAE,CAAC,CAAC,IAAMM,EAAE,IAAI,QAAQR,EAAE,CAAC,QAAQ,IAAI,QAAQ,KAAK,cAAc,CAAC,YAAY,KAAK,gBAAgB,UAAU,cAAc,CAAC,CAAC,MAAMQ,EAAE,CAAC,MAAM,GAAG,CAAC,GAASP,EAAE,SAAR,KAAoBA,EAAE,SAAN,EAAa,CAAyE,GAApEA,EAAE,SAAN,GAAc,QAAQ,KAAK,4CAA4C,CAAkB,OAAO,eAArB,KAA8CA,EAAE,KAAK,YAAhB,IAAK,GAAqB,OAAOA,EAAE,IAAMkB,EAAEgV,GAAGnW,GAASE,EAAED,EAAE,KAAK,WAAW,CAAOG,EAAEH,EAAE,QAAQ,IAAI,iBAAiB,CAAOO,EAAEJ,EAAE,SAASA,EAAE,CAAC,EAAQ,EAAMI,IAAJ,EAAU,EAAE,EAAQC,EAAE,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,GAAU,CAAC,SAAS,GAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,KAAKR,EAAE,MAAMC,KAAK,CAAC,GAAGD,EAAE,EAAE,OAAO,KAAK,CAAC,GAAGC,EAAE,WAAW,IAAMD,EAAE,IAAI,cAAc,WAAW,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAMO,EAAE,CAAC,CAAC,IAAI,IAAIR,EAAE,EAAEE,EAAEiB,EAAE,OAAOnB,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAEnB,GAAG,EAAE,YAAYE,EAAE,WAAWD,EAAE,CAAC,EAAE,QAAQC,EAAE,CAAC,GAAU,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,SAASO,EAAE,CAAC,MAAM,MAAM,cAAcR,EAAE,IAAI,mBAAmBA,EAAE,OAAO,IAAIA,EAAE,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,KAAK,aAAZ,CAA0B,IAAI,cAAc,OAAOD,EAAE,aAAa,CAAC,IAAI,OAAO,OAAOA,EAAE,MAAM,CAAC,IAAI,WAAW,OAAOA,EAAE,MAAM,CAAC,MAAM,GAAY,IAAI,WAAS,CAAU,gBAAgBA,EAAE,KAAK,SAAS,EAAG,CAAC,IAAI,OAAO,OAAOA,EAAE,MAAM,CAAC,QAAQ,OAAOA,EAAE,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAIA,EAAEC,EAAE,CAAC,IAAMkB,EAAEgV,GAAGnW,GAAG,OAAOmW,GAAGnW,GAAG,IAAI,IAAIA,EAAE,EAAEE,EAAEiB,EAAE,OAAOnB,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAEnB,GAAG,EAAE,QAAQE,EAAE,OAAOD,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAMkB,EAAEgV,GAAGnW,GAAG,GAAYmB,IAAT,IAAK,GAAiC,MAA1B,KAAK,QAAQ,UAAUnB,EAAE,CAAOC,EAAE,OAAOkW,GAAGnW,GAAG,IAAI,IAAIA,EAAE,EAAEE,EAAEiB,EAAE,OAAOnB,EAAEE,EAAE,IAAI,CAAC,IAAMA,EAAEiB,EAAEnB,GAAG,EAAE,SAASE,EAAE,QAAQD,EAAE,CAAC,KAAK,QAAQ,UAAUD,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,QAAQA,EAAE,GAAG,CAAC,KAAK,QAAQ,UAAUA,EAAE,CAAC,gBAAgB,EAAE,CAAqB,MAApB,MAAK,aAAaA,EAAS,KAAK,YAAY,EAAE,CAAiB,MAAhB,MAAK,SAASA,EAAS,OAA4hD,GAAN,cAA0B,EAAM,CAAC,YAAY,EAAE,CAAC,MAAMA,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAU,KAAK,OAAd,IAAK,KAAgB,EAAE,KAAK,KAAKA,GAAG,EAAE,KAAK,QAAQ,WAAWA,EAAE,CAAC,IAAMI,EAAE,KAAWI,EAAEyV,GAAG,IAAIjW,EAAE,CAAC,GAAYQ,IAAT,IAAK,GAAuF,OAAhF,EAAE,QAAQ,UAAUR,EAAE,CAAC,YAAY,UAAU,CAAC,GAAGC,EAAEO,EAAE,CAAC,EAAE,QAAQ,QAAQR,EAAE,GAAG,EAAE,CAAQQ,EAAE,IAAM,EAAE,GAAgB,MAAM,CAAC,SAAS,GAAa,CAAC,GAAsB,CAAC,GAAG,IAAIR,EAAE,KAAK,CAAC,GAAGC,EAAE,KAAK,CAAC,EAAE,QAAQ,QAAQD,EAAE,CAAC,SAAS,EAAa,EAAE,CAAC,GAAsB,CAAC,GAAGE,EAAED,EAAE,CAAC,EAAE,QAAQ,UAAUD,EAAE,CAAC,EAAE,QAAQ,QAAQA,EAAE,CAAC,SAAS,GAAsB,CAAC,EAAE,oBAAoB,OAAO,EAAY,GAAM,CAAC,EAAE,oBAAoB,QAAQ,EAAa,GAAM,CAAiN,OAAhN,EAAE,iBAAiB,OAAO,EAAY,GAAM,CAAC,EAAE,iBAAiB,QAAQ,EAAa,GAAM,CAAWA,EAAE,OAAO,EAAE,EAAE,GAAvB,SAAkC,KAAK,cAAd,IAAK,KAAuB,EAAE,YAAY,KAAK,aAAa,EAAE,QAAQ,UAAUA,EAAE,CAAC,EAAE,IAAIA,EAAS,IAAS,GAAN,cAAgC,EAAM,CAAC,YAAY,EAAE,CAAC,MAAMA,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMI,EAAE,IAAI,GAAkBI,EAAE,IAAI,GAAY,KAAK,QAAQ,CAAC,EAAE,eAAe,KAAK,YAAY,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAY,EAAE,CAAC,EAAE,KAAKR,EAAEmB,IAAI,SAAS,EAAE,CAAC,EAAE,OAAOA,GAAGnB,EAAE,IAAW,IAAJ,IAAO,EAAE,YAAY,GAAK,GAAGC,EAAEG,EAAE,IAAI,IAAK,GAAEF,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAEC,EAAE,EAAYA,EAAE,CAAC,OAAOG,IAAqhC,GAAN,cAA4B,EAAM,CAAC,YAAY,EAAE,CAAC,MAAMJ,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMI,EAAE,IAAI,GAAcI,EAAE,IAAI,GAAY,KAAK,QAAQ,CAAoI,OAAnI,EAAE,eAAe,KAAK,YAAY,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE,KAAKR,GAAG,SAAS,EAAE,CAAC,EAAE,MAAMA,EAAE,EAAE,YAAY,GAAcC,IAAT,IAAK,IAAOA,EAAEG,EAAE,GAAG,EAAEF,EAAE,CAAQE,IAAS,GAAN,cAAoB,EAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,KAAK,MAAM,IAAI,EAAMJ,EAAE,CAAC,KAAK,UAAUC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAmE,OAAlE,MAAM,KAAKD,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,UAAUA,EAAE,UAAiB,KAAK,OAAO,EAAE,CAAC,IAAMC,EAAE,MAAM,OAAOD,EAAE,CAAqa,MAApa,GAAE,OAAO,MAAM,KAAK,MAAM,QAAQ,CAAC,EAAE,OAAO,UAAU,KAAK,UAAmB,KAAK,cAAd,IAAK,KAAuB,EAAE,OAAO,YAAY,KAAK,YAAY,QAAQ,EAAW,KAAK,WAAd,IAAK,KAAoB,EAAE,OAAO,SAAS,KAAK,UAAmB,KAAK,QAAd,IAAK,KAAiB,EAAE,OAAO,MAAM,KAAK,OAAgB,KAAK,QAAd,IAAK,KAAiB,EAAE,OAAO,MAAM,KAAK,OAAgB,KAAK,WAAd,IAAK,KAAoB,EAAE,OAAO,SAAS,KAAK,UAAmB,KAAK,SAAd,IAAK,KAAkB,EAAE,OAAO,OAAO,KAAK,OAAO,QAAQ,EAASC,IAAG,GAAM,UAAU,QAAQ,GAAW,GAAN,cAA8B,EAAK,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAMD,EAAE,EAAE,CAAC,KAAK,KAAK,kBAAkB,KAAK,SAAS,KAAK,GAAS,UAAU,CAAC,KAAK,cAAc,CAAC,KAAK,YAAY,IAAI,EAAMC,EAAE,CAAC,KAAK,EAAE,CAAwE,OAAvE,GAAM,UAAU,KAAK,KAAK,KAAKD,EAAE,CAAC,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAQ,OAAM,GAAgB,UAAU,kBAAkB,GAAWoW,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,KAAiB,CAAC,YAAY,EAAE,CAAC,KAAK,OAAOtW,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,IAAI,EAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,EAAQ,KAAK,WAAW,GAAK,KAAK,YAAY,GAAM,KAAK,SAAS,IAAI,GAAQ,KAAK,cAAc,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,eAAe,EAAE,KAAK,WAAW,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,OAAO,KAAK,eAAe,YAAY,CAAC,OAAO,KAAK,SAAS,eAAe,EAAE,CAAC,IAAMC,EAAE,KAAK,OAAa,EAAE,KAAK,OAAO,GAAG,sBAAsBD,EAAE,YAAY,CAAC,EAAE,SAAS,KAAKqW,GAAG,CAAC,GAAG,sBAAsBrW,EAAE,OAAO,YAAY,CAAC,EAAE,OAAOsW,GAAG,CAAC,EAAE,mBAAmB,CAAC,GAAG,iBAAiBrW,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,KAAK,SAAS,wBAAwBmW,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAASnW,EAAE,iBAAiB,CAAC,EAAE,SAASA,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,WAAWD,GAAG,iBAAiB,CAAC,OAAO,KAAK,cAAc,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,SAAS,KAAK,QAAQ,SAAS,CAAC,KAAK,EAAE,CAAiG,MAAhG,MAAK,OAAOA,EAAE,OAAO,OAAO,CAAC,KAAK,KAAKA,EAAE,KAAK,KAAK,OAAOA,EAAE,OAAO,KAAK,QAAQ,KAAKA,EAAE,QAAQ,CAAQ,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAMA,EAAE,EAAE,CAA+Q,OAA1Q,KAAK,OAAT,IAAgB,EAAE,KAAK,KAAK,MAAU,KAAK,aAAT,IAAsB,EAAE,WAAW,KAAK,YAAgB,KAAK,SAAT,IAAkB,EAAE,OAAO,KAAK,QAAc,KAAK,QAAQ,IAAnB,KAA4B,KAAK,QAAQ,IAAnB,MAAuB,EAAE,QAAQ,KAAK,QAAQ,SAAS,EAAE,EAAE,OAAO,KAAK,OAAO,OAAO,GAAM,CAAC,OAAO,OAAOA,EAAE,OAAO,OAAcA,IAAS,GAAN,cAA8B,EAAW,CAAC,aAAa,CAAC,MAAM,IAAI,GAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,eAAe,EAAE,CAAC,IAAMC,EAAE,KAAK,OAAa,EAAE,EAAEM,GAAGP,EAAE,MAAM,KAAK,MAAYE,EAAE,KAAK,QAAQ,MAAM,KAAK,QAAQ,OAAaE,EAAEJ,EAAE,UAAUC,EAAE,KAAO,IAAIA,EAAE,KAAKC,IAAID,EAAE,QAAQG,IAAIH,EAAE,OAAK,EAAE,IAAI,EAAE,EAAE,OAAOC,EAAE,EAAE,IAAIE,EAAE,EAAE,wBAAwB,EAAC,MAAM,eAAeJ,EAAE,CAAC,KAAK,EAAE,CAAkC,OAAjC,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAMA,EAAE,MAAa,OAAM,GAAgB,UAAU,kBAAkB,GAAW,GAAN,cAAwB,EAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,CAAC,KAAK,KAAK,YAAY,KAAK,SAAS,KAAK,GAAS,UAAU,CAAC,KAAK,cAAc,CAAC,KAAK,OAAO,IAAI,GAAS,KAAK,SAAS,EAAE,KAAK,MAAMC,EAAE,KAAK,SAASE,EAAE,KAAK,MAAMI,EAAE,KAAK,OAAO,IAAI,GAAgB,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC,KAAK,UAAUR,EAAE,KAAK,GAAG,SAAS,CAAC,KAAK,OAAO,SAAS,CAAC,KAAK,EAAE,CAAiK,OAAhK,MAAM,KAAKA,EAAE,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,MAAMA,EAAE,MAAM,KAAK,SAASA,EAAE,SAAS,KAAK,MAAMA,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,OAAO,CAAC,KAAK,OAAOA,EAAE,OAAO,OAAO,CAAQ,OAAM,GAAU,UAAU,YAAY,GAAWuW,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,cAA+B,EAAW,CAAC,aAAa,CAAC,MAAM,IAAI,GAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,KAAK,cAAc,IAAI,EAAQ,EAAE,EAAE,CAAC,KAAK,eAAe,EAAE,KAAK,WAAW,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,GAAG,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAavW,EAAE,KAAK,OAAaE,EAAEJ,EAAE,UAAU,EAAE,IAAOI,IAAI,EAAE,MAAK,EAAE,IAAIA,EAAE,EAAE,wBAAwB,EAAC,GAAG,sBAAsBJ,EAAE,YAAY,CAAC,EAAE,SAAS,KAAKwW,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI,KAAK,gBAAgBvW,GAAG,CAAC,EAAE,GAAG,KAAK,KAAK,SAASA,GAAG,CAAC,EAAE,OAAOwW,GAAG,CAAC,EAAE,mBAAmB,CAAC,EAAE,gBAAgB,CAACD,GAAG,EAAE,CAACA,GAAG,EAAE,CAACA,GAAG,EAAE,CAAC,GAAG,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,KAAK,SAAS,wBAAwBD,GAAG,GAAE,GAAiB,UAAU,mBAAmB,GAAW,GAAN,cAAyB,EAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMvW,EAAEC,EAAE,CAAC,KAAK,KAAK,aAAa,KAAK,SAAS,EAAE,KAAK,MAAMC,EAAE,KAAK,OAAO,IAAI,GAAiB,IAAI,OAAO,CAAC,MAAO,GAAE,KAAK,UAAU,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC,KAAK,UAAUF,GAAG,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,OAAO,SAAS,CAAC,KAAK,EAAE,CAAwF,OAAvF,MAAM,KAAKA,EAAE,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,MAAMA,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,OAAO,CAAQ,OAAM,GAAW,UAAU,aAAa,GAAW,GAAN,cAAqC,EAAW,CAAC,aAAa,CAAC,MAAM,IAAI,GAAmB,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,GAAE,GAAuB,UAAU,yBAAyB,GAAW,GAAN,cAA+B,EAAK,CAAC,YAAY,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,CAAC,KAAK,KAAK,mBAAmB,KAAK,SAAS,KAAK,GAAS,UAAU,CAAC,KAAK,cAAc,CAAC,KAAK,OAAO,IAAI,GAAS,KAAK,OAAO,IAAI,GAAuB,SAAS,CAAC,KAAK,OAAO,SAAS,CAAC,KAAK,EAAE,CAAyE,OAAxE,MAAM,KAAKD,EAAE,CAAC,KAAK,OAAOA,EAAE,OAAO,OAAO,CAAC,KAAK,OAAOA,EAAE,OAAO,OAAO,CAAQ,OAAM,GAAiB,UAAU,mBAAmB,GAAW,GAAN,cAA2B,EAAK,CAAC,YAAY,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,CAAC,KAAK,KAAK,iBAAgB,GAAa,UAAU,eAAe,GAAW,GAAN,cAA4B,EAAK,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAMD,EAAEC,EAAE,CAAC,KAAK,KAAK,gBAAgB,KAAK,MAAM,EAAE,KAAK,OAAOC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC,KAAK,UAAUF,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,KAAK,EAAE,CAAuD,OAAtD,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAMA,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAc,KAAK,OAAO,EAAE,CAAC,IAAMC,EAAE,MAAM,OAAOD,EAAE,CAAuD,MAAtD,GAAE,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO,OAAO,KAAK,OAAcC,IAAG,GAAc,UAAU,gBAAgB,GAAW,GAAN,KAAyB,CAAC,aAAa,CAAC,KAAK,aAAa,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,aAAa,KAAK,IAAI,EAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,aAAaA,GAAG,KAAKD,EAAEC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,aAAaA,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,EAAEE,EAAEF,EAAE,EAAEI,EAAEJ,EAAE,EAAQQ,EAAE,KAAK,aAA2V,OAA9U,EAAE,KAAKA,EAAE,GAAG,CAAC,eAAe,QAAQ,CAAC,EAAE,gBAAgBA,EAAE,GAAG,QAAQN,EAAE,CAAC,EAAE,gBAAgBM,EAAE,GAAG,QAAQJ,EAAE,CAAC,EAAE,gBAAgBI,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,gBAAgBA,EAAE,GAAG,EAAEN,EAAE,SAAS,CAAC,EAAE,gBAAgBM,EAAE,GAAGN,EAAEE,EAAE,SAAS,CAAC,EAAE,gBAAgBI,EAAE,GAAG,SAAS,EAAEJ,EAAEA,EAAE,GAAG,CAAC,EAAE,gBAAgBI,EAAE,GAAG,EAAEJ,EAAE,SAAS,CAAC,EAAE,gBAAgBI,EAAE,GAAG,SAAS,EAAE,EAAEN,EAAEA,GAAG,CAAQD,EAAE,gBAAgB,EAAE,EAAE,CAAC,IAAM,EAAED,EAAE,EAAEE,EAAEF,EAAE,EAAEI,EAAEJ,EAAE,EAAQQ,EAAE,KAAK,aAA6V,OAAhV,EAAE,KAAKA,EAAE,GAAG,CAAC,eAAe,QAAQ,CAAC,EAAE,gBAAgBA,EAAE,GAAG,SAASN,EAAE,CAAC,EAAE,gBAAgBM,EAAE,GAAG,SAASJ,EAAE,CAAC,EAAE,gBAAgBI,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,gBAAgBA,EAAE,GAAG,QAAQ,EAAEN,EAAE,CAAC,EAAE,gBAAgBM,EAAE,GAAG,QAAQN,EAAEE,EAAE,CAAC,EAAE,gBAAgBI,EAAE,GAAG,QAAQJ,EAAEA,EAAE,QAAQ,CAAC,EAAE,gBAAgBI,EAAE,GAAG,QAAQ,EAAEJ,EAAE,CAAC,EAAE,gBAAgBI,EAAE,GAAG,SAAS,EAAE,EAAEN,EAAEA,GAAG,CAAQD,EAAE,IAAI,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,aAAaA,GAAG,IAAID,EAAE,aAAaC,GAAG,CAAC,OAAO,KAAK,YAAY,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,aAAa,GAAG,gBAAgBD,EAAE,aAAa,GAAGC,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,aAAaA,GAAG,eAAeD,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,aAAa,GAAG,KAAKA,EAAE,aAAa,GAAGC,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAG,CAAC,KAAK,aAAaA,GAAG,OAAOD,EAAE,aAAaC,GAAG,CAAC,MAAO,GAAM,MAAO,GAAK,KAAK,EAAE,CAAC,OAAO,KAAK,IAAID,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,aAAa,IAAI,IAAIE,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAEA,GAAG,UAAUF,EAAEC,EAAE,EAAEC,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,aAAa,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAEA,GAAG,QAAQF,EAAEC,EAAE,EAAEC,EAAE,CAAC,OAAOF,EAAE,OAAO,WAAW,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,EAAEE,EAAEF,EAAE,EAAEI,EAAEJ,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQE,EAAE,EAAE,GAAG,QAAQE,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAEF,EAAE,EAAE,GAAG,SAASA,EAAEE,EAAE,EAAE,GAAG,SAAS,EAAEA,EAAEA,EAAE,GAAG,EAAE,GAAG,SAAS,EAAEA,EAAE,EAAE,GAAG,SAAS,EAAE,EAAEF,EAAEA,KAAI,GAAoB,UAAU,sBAAsB,GAAW,GAAN,cAAyB,EAAK,CAAC,YAAY,EAAE,IAAI,GAAoB,EAAE,EAAE,CAAC,MAAM,IAAK,GAAED,EAAE,CAAC,KAAK,GAAGD,EAAE,KAAK,EAAE,CAAkC,OAAjC,MAAM,KAAKA,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAQ,KAAK,SAAS,EAAE,CAAoD,MAAnD,MAAK,UAAUA,EAAE,UAAU,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAQ,KAAK,OAAO,EAAE,CAAC,IAAMC,EAAE,MAAM,OAAOD,EAAE,CAA+B,MAA9B,GAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAQC,IAAG,GAAW,UAAU,aAAa,GAAyrO,GAAN,KAAiB,CAAC,OAAO,WAAW,EAAE,CAAC,GAAiB,OAAO,YAArB,IAAiC,OAAO,IAAI,aAAW,CAAE,OAAOD,EAAE,CAAC,IAAIC,EAAE,GAAG,IAAI,IAAI,EAAE,EAAEC,EAAEF,EAAE,OAAO,EAAEE,EAAE,IAAI,GAAG,OAAO,aAAaF,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,mBAAmB,OAAOC,EAAE,CAAC,MAAS,CAAC,OAAOA,GAAG,OAAO,eAAe,EAAE,CAAC,IAAMA,EAAED,EAAE,YAAY,IAAI,CAAC,OAAWC,IAAL,GAAO,KAAKD,EAAE,OAAO,EAAEC,EAAE,EAAE,CAAC,OAAO,WAAW,EAAE,EAAE,CAA+H,OAAhH,OAAOD,GAAlB,UAA0BA,IAAL,GAAa,IAAG,gBAAgB,KAAKC,EAAE,EAAE,MAAM,KAAKD,EAAE,GAAG,EAAEC,EAAE,QAAQ,0BAA0B,KAAK,EAAQ,mBAAmB,KAAKD,EAAE,EAAE,gBAAgB,KAAKA,EAAE,EAAE,aAAa,KAAKA,EAAE,CAACA,EAAEC,EAAED,KAAS,GAAN,cAAsC,EAAc,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,0BAA0B,KAAK,cAAc,IAAS,KAAK,EAAE,CAAkD,OAAjD,MAAM,KAAKA,EAAE,CAAC,KAAK,cAAcA,EAAE,cAAqB,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAMA,EAAE,MAAM,OAAO,KAAK,CAAqE,MAApE,GAAE,cAAc,KAAK,cAAc,EAAE,0BAA0B,GAAYA,IAAG,GAAwB,UAAU,0BAA0B,GAAk3c,GAAN,cAAgC,EAAM,CAAC,YAAY,EAAE,CAAC,MAAMA,EAAE,CAAe,OAAO,kBAArB,KAAwC,QAAQ,KAAK,8DAA8D,CAAe,OAAO,MAArB,KAA4B,QAAQ,KAAK,kDAAkD,CAAC,KAAK,QAAQ,CAAC,iBAAiB,OAAO,CAAC,WAAW,EAAE,CAAgB,MAAf,MAAK,QAAQA,EAAS,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,CAAUA,IAAT,IAAK,KAAQ,EAAE,IAAa,KAAK,OAAd,IAAK,KAAgB,EAAE,KAAK,KAAKA,GAAG,EAAE,KAAK,QAAQ,WAAWA,EAAE,CAAC,IAAMI,EAAE,KAAWI,EAAEyV,GAAG,IAAIjW,EAAE,CAAC,GAAYQ,IAAT,IAAK,GAAuF,OAAhF,EAAE,QAAQ,UAAUR,EAAE,CAAC,YAAY,UAAU,CAAC,GAAGC,EAAEO,EAAE,CAAC,EAAE,QAAQ,QAAQR,EAAE,GAAG,EAAE,CAAQQ,EAAE,IAAM,EAAE,EAAE,CAAC,EAAE,YAA0B,KAAK,cAAnB,YAA+B,cAAc,UAAU,EAAE,QAAQ,KAAK,cAAc,MAAMR,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE,CAAC,OAAOA,EAAE,MAAM,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,OAAO,kBAAkBA,EAAE,OAAO,OAAOI,EAAE,QAAQ,CAAC,qBAAqB,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,GAAG,IAAIJ,EAAEmB,EAAE,CAAC,GAAGlB,EAAEkB,EAAE,CAAC,EAAE,QAAQ,QAAQnB,EAAE,GAAG,CAAC,OAAO,SAAS,EAAE,CAAC,GAAGE,EAAED,EAAE,CAAC,EAAE,QAAQ,UAAUD,EAAE,CAAC,EAAE,QAAQ,QAAQA,EAAE,GAAG,CAAC,EAAE,QAAQ,UAAUA,EAAE,GAAE,GAAkB,UAAU,oBAAoB,GAAkB0W,GAAG,CAAC,WAAW,UAAU,CAAuE,OAA7DC,KAAT,IAAK,KAAS,GAAG,IAAI,EAAO,cAAc,EAAO,qBAA4BA,IAAI,WAAW,SAAS,EAAE,CAAC,GAAG3W,GAAG,CAAO,GAAN,cAA0B,EAAM,CAAC,YAAY,EAAE,CAAC,MAAMA,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMI,EAAE,KAAWI,EAAE,IAAI,GAAW,KAAK,QAAQ,CAAC,EAAE,gBAAgB,cAAc,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE,iBAAiB,KAAK,cAAc,CAAC,EAAE,mBAAmB,KAAK,gBAAgB,CAAC,EAAE,KAAKR,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,IAAMA,EAAEmB,EAAE,MAAM,EAAE,CAASuV,GAAG,YAAY,CAAG,gBAAgB1W,GAAG,SAAS,EAAE,CAAC,EAAEA,EAAE,GAAG,OAAOC,EAAE,CAAC,EAAEC,EAAED,EAAE,CAAC,QAAQ,MAAMA,EAAE,CAAC,EAAE,QAAQ,UAAUD,EAAE,IAAI,EAAEE,EAAE,GAAQ,GAAN,cAAmC,EAAU,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,IAAK,GAAE,EAAE,CAAC,IAAMA,EAAG,IAAI,GAAK,CAAE,IAAIF,EAAE,CAAOI,EAAG,IAAI,GAAK,CAAE,IAAIH,EAAE,CAAOO,EAAE,IAAI,EAAQN,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAO,EAAE,IAAI,EAAQE,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAO,EAAE,KAAK,KAAK,KAAK,GAAG,CAAOK,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,aAAa,GAAG,KAAKD,EAAE,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,aAAa,GAAG,KAAKA,EAAE,CAAC,IAAI,EAAE,CAAC,eAAeC,EAAE,GAAE,GAAqB,UAAU,uBAAuB,GAAW,GAAN,cAAgC,EAAU,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAK,GAAER,EAAE,CAAC,IAAM,EAAG,IAAI,GAAK,CAAE,IAAID,EAAE,CAAC,KAAK,GAAG,aAAa,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,GAAE,GAAkB,UAAU,oBAAoB,GAAc,IAAI,EAAiB,IAAI,EAAiB,IAAI,EAA0sC,GAAN,KAAW,CAAC,YAAY,EAAE,GAAK,CAAC,KAAK,UAAUA,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,GAAM,OAAO,CAAC,KAAK,UAAU,IAAK,CAAC,KAAK,QAAQ,KAAK,UAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,GAAK,MAAM,CAAC,KAAK,gBAAgB,CAAC,KAAK,QAAQ,GAAM,KAAK,UAAU,GAAM,gBAAgB,CAAiB,OAAhB,KAAK,UAAU,CAAQ,KAAK,YAAY,UAAU,CAAC,IAAIA,EAAE,EAAE,GAAG,KAAK,WAAW,CAAC,KAAK,QAAsB,OAAb,KAAK,OAAO,CAAQ,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAMC,EAAE,IAAK,CAAC,GAAGA,EAAE,KAAK,SAAS,IAAI,KAAK,QAAQA,EAAE,KAAK,aAAaD,EAAE,OAAOA,IAA2F,IAAI,EAAiB,IAAI,GAAoB,IAAI,EAAiB,IAAI,EAAqnD,GAAN,cAAoB,EAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,KAAK,SAASA,EAAE,KAAK,QAAQA,EAAE,QAAQ,KAAK,KAAK,KAAK,QAAQ,YAAY,CAAC,KAAK,KAAK,QAAQA,EAAE,UAAU,CAAC,CAAC,KAAK,SAAS,GAAM,KAAK,OAAO,KAAK,KAAK,OAAO,EAAE,KAAK,KAAK,GAAM,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,IAAK,GAAE,KAAK,aAAa,EAAE,KAAK,UAAU,GAAM,KAAK,mBAAmB,GAAK,KAAK,OAAO,KAAK,KAAK,WAAW,QAAQ,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,GAAM,KAAK,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,cAAc,EAAE,CAAwF,MAAvF,MAAK,mBAAmB,GAAM,KAAK,WAAW,YAAY,KAAK,OAAOA,EAAE,KAAK,SAAS,CAAQ,KAAK,sBAAsB,EAAE,CAA+H,MAA9H,MAAK,mBAAmB,GAAM,KAAK,WAAW,YAAY,KAAK,OAAO,KAAK,QAAQ,yBAAyBA,EAAE,CAAC,KAAK,SAAS,CAAQ,KAAK,qBAAqB,EAAE,CAAoI,MAAnI,MAAK,mBAAmB,GAAM,KAAK,WAAW,kBAAkB,KAAK,OAAO,KAAK,QAAQ,wBAAwBA,EAAE,CAAC,KAAK,SAAS,CAAQ,KAAK,UAAU,EAAE,CAAmE,MAAlE,MAAK,OAAOA,EAAE,KAAK,WAAW,SAAS,KAAK,UAAU,KAAK,MAAM,CAAQ,KAAK,KAAK,EAAE,EAAE,CAAC,GAAG,KAAO,KAAK,UAAU,CAAC,QAAQ,KAAK,yCAAyC,CAAC,OAAO,GAAG,KAAQ,KAAK,mBAAmB,CAAC,QAAQ,KAAK,mDAAmD,CAAC,OAAO,KAAK,WAAW,KAAK,QAAQ,YAAYA,EAAE,IAAMC,EAAE,KAAK,QAAQ,oBAAoB,CAAmS,MAAlS,GAAE,OAAO,KAAK,OAAO,EAAE,KAAK,KAAK,KAAK,EAAE,UAAU,KAAK,UAAU,EAAE,QAAQ,KAAK,QAAQ,EAAE,QAAQ,KAAK,QAAQ,KAAK,KAAK,CAAC,EAAE,MAAM,KAAK,WAAW,KAAK,UAAU,KAAK,OAAO,KAAK,SAAS,CAAC,KAAK,UAAU,GAAK,KAAK,OAAOA,EAAE,KAAK,UAAU,KAAK,OAAO,CAAC,KAAK,gBAAgB,KAAK,aAAa,CAAQ,KAAK,SAAS,CAAC,OAAO,CAAC,GAAG,KAAQ,KAAK,mBAA8R,MAAvQ,KAAO,KAAK,YAAW,KAAK,WAAW,KAAK,IAAI,KAAK,QAAQ,YAAY,KAAK,WAAW,EAAE,CAAC,KAAK,aAAa,KAAO,KAAK,OAAO,KAAK,WAA0B,KAAK,UAAU,KAAK,OAAO,UAAW,KAAK,OAAO,MAAM,CAAC,KAAK,OAAO,QAAQ,KAAK,KAAK,UAAU,IAAa,KAAK,QAAQ,KAAK,mDAAmD,CAAC,MAAM,CAAC,GAAG,KAAQ,KAAK,mBAAsG,MAAlF,MAAK,UAAU,EAAE,KAAK,OAAO,MAAM,CAAC,KAAK,OAAO,QAAQ,KAAK,KAAK,UAAU,GAAa,KAAK,QAAQ,KAAK,mDAAmD,CAAC,SAAS,CAAC,GAAG,KAAK,QAAQ,OAAO,EAAE,CAAC,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG,CAAC,IAAI,IAAID,EAAE,EAAEC,EAAE,KAAK,QAAQ,OAAOD,EAAEC,EAAE,IAAI,KAAK,QAAQD,EAAE,GAAG,QAAQ,KAAK,QAAQA,GAAG,CAAC,KAAK,QAAQ,KAAK,QAAQ,OAAO,GAAG,QAAQ,KAAK,WAAW,CAAC,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAsB,MAArB,MAAK,WAAW,GAAY,KAAK,YAAY,CAAC,GAAG,KAAK,QAAQ,OAAO,EAAE,CAAC,KAAK,OAAO,WAAW,KAAK,QAAQ,GAAG,CAAC,IAAI,IAAIA,EAAE,EAAEC,EAAE,KAAK,QAAQ,OAAOD,EAAEC,EAAE,IAAI,KAAK,QAAQD,EAAE,GAAG,WAAW,KAAK,QAAQA,GAAG,CAAC,KAAK,QAAQ,KAAK,QAAQ,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC,MAAM,KAAK,OAAO,WAAW,KAAK,WAAW,CAAC,CAAuB,MAAtB,MAAK,WAAW,GAAa,KAAK,YAAY,CAAC,OAAO,KAAK,QAAQ,WAAW,EAAE,CAA0H,MAAzH,CAAI,IAAE,EAAE,CAAK,KAAO,KAAK,YAAY,KAAK,YAAY,CAAC,KAAK,QAAQA,EAAE,OAAO,CAAC,KAAK,SAAS,EAAM,KAAK,QAAQA,EAAE,OAAO,CAAQ,KAAK,UAAU,EAAE,CAAe,GAAd,KAAK,OAAOA,EAAc,KAAK,OAAO,SAArB,IAAK,GAA4H,MAApG,KAAO,KAAK,WAAW,KAAK,OAAO,OAAO,gBAAgB,KAAK,OAAO,KAAK,QAAQ,YAAY,IAAI,CAAQ,KAAM,WAAW,CAAC,OAAO,KAAK,OAAO,WAAW,CAAC,OAAO,KAAK,YAAY,CAAC,GAAG,UAAU,EAAE,CAAC,OAAO,KAAK,WAAWA,EAAE,CAACA,EAAE,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAQ,KAAK,mBAAwJ,MAApI,MAAK,aAAaA,EAAE,KAAO,KAAK,WAAW,KAAK,OAAO,aAAa,gBAAgB,KAAK,aAAa,KAAK,QAAQ,YAAY,IAAI,CAAQ,KAAK,QAAQ,KAAK,mDAAmD,CAAC,iBAAiB,CAAC,OAAO,KAAK,aAAa,SAAS,CAAC,KAAK,UAAU,GAAM,SAAS,CAAmH,MAA/G,KAAQ,KAAK,oBAAoB,QAAQ,KAAK,mDAAmD,CAAQ,IAAa,KAAK,KAAK,QAAQ,EAAE,CAAC,GAAG,KAAQ,KAAK,mBAAoF,MAAhE,MAAK,KAAKA,EAAE,KAAO,KAAK,YAAY,KAAK,OAAO,KAAK,KAAK,MAAa,KAAK,QAAQ,KAAK,mDAAmD,CAAC,aAAa,EAAE,CAAkB,MAAjB,MAAK,UAAUA,EAAS,KAAK,WAAW,EAAE,CAAgB,MAAf,MAAK,QAAQA,EAAS,KAAK,WAAW,CAAC,OAAO,KAAK,KAAK,KAAK,MAAM,UAAU,EAAE,CAAgE,OAA/D,KAAK,KAAK,KAAK,gBAAgBA,EAAE,KAAK,QAAQ,YAAY,IAAI,CAAQ,OAAe,IAAI,EAAiB,IAAI,GAAoB,IAAI,EAAiB,IAAI,EAAw2C,GAAN,KAAmB,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,KAAK,SAASA,EAAE,QAAQ,gBAAgB,CAAC,KAAK,SAAS,QAAQC,EAAE,KAAK,KAAK,IAAI,WAAW,KAAK,SAAS,kBAAkB,CAAC,EAAE,WAAW,CAAC,QAAQ,KAAK,SAAS,CAAC,kBAAkB,CAA+C,OAA9C,KAAK,SAAS,qBAAqB,KAAK,KAAK,CAAQ,KAAK,KAAK,qBAAqB,CAAC,IAAID,EAAE,EAAQC,EAAE,KAAK,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,GAAGA,EAAE,GAAG,OAAOD,EAAEC,EAAE,SAAc,GAAN,KAAmB,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQD,EAAE,KAAK,UAAU,EAAE,IAAIE,EAAEE,EAAEI,EAAE,OAAOP,EAAP,CAAU,IAAI,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,+BAA+B,KAAK,OAAO,IAAI,aAAa,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,MAAM,IAAI,SAAS,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,0BAA0B,KAAK,OAAW,MAAM,EAAE,EAAE,CAAC,MAAM,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,4BAA4B,KAAK,OAAO,IAAI,aAAa,EAAE,EAAE,CAAC,KAAK,iBAAiBC,EAAE,KAAK,yBAAyBE,EAAE,KAAK,aAAaI,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,WAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,OAAON,EAAE,KAAK,UAAUE,EAAEJ,EAAEE,EAAEA,EAAMM,EAAE,KAAK,iBAAiB,GAAOA,IAAJ,EAAM,CAAC,IAAI,IAAIR,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAEI,EAAEJ,GAAG,EAAEA,GAAG,EAAEC,MAAM,CAAC,GAAGA,EAAE,IAAMD,EAAEC,EAAEO,EAAE,KAAK,iBAAiB,EAAEJ,EAAE,EAAEJ,EAAEE,EAAE,CAAC,KAAK,iBAAiBM,EAAE,mBAAmB,EAAE,CAAC,IAAMP,EAAE,KAAK,OAAO,EAAE,KAAK,UAAUC,EAAE,EAAE,KAAK,UAAc,KAAK,2BAAT,GAAmC,KAAK,cAAc,CAAC,KAAK,yBAAyBD,EAAEC,EAAE,EAAEF,EAAE,EAAE,CAAC,KAAK,0BAA0BA,EAAE,MAAM,EAAE,CAAC,IAAMC,EAAE,KAAK,UAAU,EAAE,KAAK,OAAOC,EAAEF,EAAEC,EAAEA,EAAEG,EAAE,KAAK,iBAAiBI,EAAE,KAAK,yBAAyB,EAAE,KAAK,QAAgE,GAAxD,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAKJ,EAAE,EAAE,CAAC,IAAMJ,EAAEC,EAAE,KAAK,WAAW,KAAK,iBAAiB,EAAEC,EAAEF,EAAE,EAAEI,EAAEH,EAAE,CAAC,EAAE,GAAG,KAAK,yBAAyB,EAAEC,EAAE,KAAK,UAAUD,EAAE,EAAEA,EAAE,CAAC,IAAI,IAAID,EAAEC,EAAEG,EAAEH,EAAEA,EAAED,IAAII,EAAE,EAAEJ,EAAE,GAAG,EAAEA,KAAK,EAAEA,EAAEC,GAAG,CAAC,EAAE,SAAS,EAAEC,EAAE,CAAC,OAAO,mBAAmB,CAAC,IAAMF,EAAE,KAAK,QAAcC,EAAE,KAAK,OAAO,EAAE,KAAK,UAAUC,EAAE,EAAE,KAAK,WAAW,EAAE,SAASD,EAAEC,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEI,EAAEF,EAAEF,IAAII,EAAE,EAAEJ,EAAE,EAAEA,GAAGC,EAAEC,EAAEF,EAAE,GAAG,KAAK,cAAc,CAAC,KAAK,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,sBAAsB,CAAC,IAAMA,EAAE,EAAE,KAAK,UAAU,KAAK,QAAQ,SAAS,KAAK,OAAOA,EAAE,CAAC,6BAA6B,CAAC,IAAMA,EAAE,KAAK,UAAU,KAAK,UAAgBC,EAAED,EAAE,KAAK,UAAU,IAAI,IAAI,EAAEA,EAAE,EAAEC,EAAE,IAAI,KAAK,OAAO,GAAG,EAAE,gCAAgC,CAAC,KAAK,6BAA6B,CAAC,KAAK,OAAO,KAAK,UAAU,KAAK,UAAU,GAAG,EAAE,2BAA2B,CAAC,IAAMD,EAAE,KAAK,WAAW,KAAK,UAAgBC,EAAE,KAAK,UAAU,KAAK,UAAU,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,UAAU,IAAI,KAAK,OAAOA,EAAE,GAAG,KAAK,OAAOD,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGE,GAAG,GAAG,IAAI,IAAIA,EAAE,EAAEA,IAAIE,EAAE,EAAEF,EAAE,EAAED,EAAEC,GAAGF,EAAE,EAAEE,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAAW,UAAUF,EAAEC,EAAED,EAAEC,EAAED,EAAE,EAAEE,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMM,EAAE,KAAK,WAAWJ,EAAE,GAAW,wBAAwBJ,EAAEQ,EAAER,EAAEC,EAAED,EAAE,EAAE,CAAC,GAAW,UAAUA,EAAEC,EAAED,EAAEC,EAAED,EAAEQ,EAAEN,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMM,EAAE,EAAEN,EAAE,IAAI,IAAI,EAAE,EAAE,IAAIE,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAEH,EAAE,EAAE,EAAEG,GAAGJ,EAAEI,GAAGI,EAAER,EAAE,EAAE,GAAGE,GAAG,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEA,IAAIJ,EAAE,EAAEI,EAAE,CAAC,IAAMJ,EAAEH,EAAEO,EAAE,EAAEJ,GAAGJ,EAAEI,GAAGJ,EAAE,EAAEQ,GAAGN,KAAUqX,GAAG,gBAAsBC,GAAO,OAAO,IAAID,GAAG,IAAI,IAAI,CAAOE,GAAG,KAAKF,GAAG,IAAUG,GAAG,KAAKH,GAAG,QAAQ,MAAM,GAAG,CAAC,IAAUI,GAAG,mBAAyB,QAAQ,KAAKF,GAAG,CAAOG,GAAG,WAAkB,QAAQ,OAAOF,GAAG,CAAOG,GAAG,+BAAmC,QAAQ,KAAKJ,GAAG,CAAOK,GAAG,0BAA8B,QAAQ,KAAKL,GAAG,CAAOM,GAAO,OAAO,IAAIJ,GAAGC,GAAGC,GAAGC,GAAG,IAAI,CAAOE,GAAG,CAAC,WAAW,YAAY,QAAQ,CAAO,GAAN,KAAe,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,IAAM9X,EAAE,GAAG,GAAgB,eAAeD,EAAE,CAAC,KAAK,aAAaD,EAAE,KAAK,UAAUA,EAAE,WAAWC,EAAEC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAM,EAAE,KAAK,aAAa,gBAAgBA,EAAE,KAAK,UAAU,GAAYA,IAAT,IAAK,IAAOA,EAAE,SAASF,EAAEC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,UAAU,IAAI,IAAIC,EAAE,KAAK,aAAa,gBAAgBE,EAAE,EAAE,OAAOF,IAAIE,EAAE,EAAEF,EAAE,EAAEA,GAAG,SAASF,EAAEC,EAAE,CAAC,MAAM,CAAC,IAAMD,EAAE,KAAK,UAAU,IAAI,IAAIC,EAAE,KAAK,aAAa,gBAAgB,EAAED,EAAE,OAAOC,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAMD,EAAE,KAAK,UAAU,IAAI,IAAIC,EAAE,KAAK,aAAa,gBAAgB,EAAED,EAAE,OAAOC,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAG,QAAQ,GAAQ,GAAN,MAAM,CAAe,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,KAAKA,EAAE,KAAK,WAAW,GAAG,EAAgB,eAAeA,EAAE,CAAC,KAAK,KAAK,EAAgB,SAASD,EAAE,KAAK,WAAW,SAAS,EAAEA,EAAE,KAAK,SAASA,EAAE,KAAK,SAAS,KAAK,kBAAkB,KAAK,SAAS,KAAK,kBAAkB,OAAO,OAAO,EAAE,EAAE,EAAE,CAAC,OAAOA,GAAGA,EAAE,uBAAuB,IAAI,EAAgB,UAAUA,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAgBD,EAAEC,EAAE,EAAE,CAOvkoL,OAAO,iBAAiB,EAAE,CAAC,OAAOD,EAAE,QAAQ,MAAM,IAAI,CAAC,QAAQwX,GAAG,GAAG,CAAC,OAAO,eAAe,EAAE,CAAC,IAAMvX,EAAE8X,GAAG,KAAK/X,EAAE,CAAC,GAAG,CAACC,EAAE,MAAU,MAAM,4CAA4CD,EAAE,CAAC,IAAM,EAAE,CAAC,SAASC,EAAE,GAAG,WAAWA,EAAE,GAAG,YAAYA,EAAE,GAAG,aAAaA,EAAE,GAAG,cAAcA,EAAE,GAAG,CAAOC,EAAE,EAAE,UAAU,EAAE,SAAS,YAAY,IAAI,CAAC,GAAYA,IAAT,IAAK,IAAYA,IAAL,GAAO,CAAC,IAAMF,EAAE,EAAE,SAAS,UAAUE,EAAE,EAAE,CAAS8X,GAAG,QAAQhY,EAAE,GAAlB,KAAoB,EAAE,SAAS,EAAE,SAAS,UAAU,EAAEE,EAAE,CAAC,EAAE,WAAWF,GAAG,GAAU,EAAE,eAAT,MAA2B,EAAE,aAAa,SAAnB,EAA0B,MAAU,MAAM,+DAA+DA,EAAE,CAAC,OAAO,EAAE,OAAO,SAAS,EAAE,EAAE,CAAC,GAAG,CAACC,GAAQA,IAAL,IAAcA,IAAN,KAAcA,IAAL,IAAQA,IAAID,EAAE,MAAMC,IAAID,EAAE,KAAK,OAAOA,EAAE,GAAGA,EAAE,SAAS,CAAC,IAAM,EAAEA,EAAE,SAAS,cAAcC,EAAE,CAAC,GAAY,IAAT,IAAK,GAAM,OAAO,EAAE,GAAGD,EAAE,SAAS,CAAC,IAAM,EAAkB,SAAS,EAAE,CAAC,IAAI,IAAImB,EAAE,EAAEA,EAAEnB,EAAE,OAAO,IAAI,CAAC,IAAME,EAAEF,EAAEmB,GAAG,GAAGjB,EAAE,OAAOD,GAAGC,EAAE,OAAOD,EAAE,OAAOC,EAAE,IAAME,EAAE,EAAkBF,EAAE,SAAS,CAAC,GAAGE,EAAE,OAAOA,EAAE,OAAO,MAAY,EAAE,EAAkBJ,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,KAAK,uBAAuB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAEC,GAAG,KAAK,aAAa,KAAK,cAAc,gBAAgB,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,iBAAiB,IAAI,IAAIC,EAAE,EAAEE,EAAE,EAAE,OAAOF,IAAIE,EAAE,EAAEF,EAAE,EAAE,KAAK,EAAEA,GAAG,uBAAuB,EAAE,EAAE,CAAC,EAAED,GAAG,KAAK,iBAAiB,KAAK,eAAe,kBAAkB,EAAE,EAAE,CAAC,KAAK,iBAAiB,QAAQD,EAAEC,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,cAAcD,EAAEC,GAAG,gCAAgC,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,cAAcD,EAAEC,GAAG,KAAK,aAAa,YAAY,GAAK,2CAA2C,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,cAAcD,EAAEC,GAAG,KAAK,aAAa,uBAAuB,GAAK,gBAAgB,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,iBAAiB,IAAI,IAAIC,EAAE,EAAEE,EAAE,EAAE,OAAOF,IAAIE,EAAE,EAAEF,EAAE,EAAEA,GAAGF,EAAE,KAAK,+BAA+B,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,iBAAiB,IAAI,IAAIE,EAAE,EAAEE,EAAE,EAAE,OAAOF,IAAIE,EAAE,EAAEF,EAAE,EAAEA,GAAGF,EAAE,KAAK,KAAK,aAAa,YAAY,GAAK,0CAA0C,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,iBAAiB,IAAI,IAAIE,EAAE,EAAEE,EAAE,EAAE,OAAOF,IAAIE,EAAE,EAAEF,EAAE,EAAEA,GAAGF,EAAE,KAAK,KAAK,aAAa,uBAAuB,GAAK,uBAAuB,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,eAAeA,EAAEC,GAAG,sCAAsC,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,eAAeD,EAAEC,GAAG,KAAK,aAAa,YAAY,GAAK,iDAAiD,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,eAAeD,EAAEC,GAAG,KAAK,aAAa,uBAAuB,GAAK,oBAAoB,EAAE,EAAE,CAAC,KAAK,iBAAiB,UAAUD,EAAEC,EAAE,CAAC,mCAAmC,EAAE,EAAE,CAAC,KAAK,iBAAiB,UAAUD,EAAEC,EAAE,CAAC,KAAK,aAAa,YAAY,GAAK,8CAA8C,EAAE,EAAE,CAAC,KAAK,iBAAiB,UAAUD,EAAEC,EAAE,CAAC,KAAK,aAAa,uBAAuB,GAAK,kBAAkB,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,SAASD,EAAEC,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,SAASD,EAAEC,EAAE,CAAC,MAAM,CAAC,IAAID,EAAE,KAAK,KAAWC,EAAE,KAAK,WAAiB,EAAEA,EAAE,WAAiBC,EAAED,EAAE,aAAiBG,EAAEH,EAAE,cAAuL,GAArKD,IAAG,EAAE,EAAgB,SAAS,KAAK,SAASC,EAAE,SAAS,EAAE,KAAK,SAAS,KAAK,KAAKD,GAAE,KAAK,SAAS,KAAK,sBAAsB,KAAK,SAAS,KAAK,sBAAyB,CAACA,EAAE,CAAC,QAAQ,MAAM,2DAA2D,KAAK,KAAK,wBAAwB,CAAC,OAAO,GAAG,EAAE,CAAC,IAAIE,EAAED,EAAE,YAAY,OAAO,EAAP,CAAU,IAAI,YAAY,GAAG,CAACD,EAAE,SAAS,CAAC,QAAQ,MAAM,oFAAoF,KAAK,CAAC,OAAO,GAAG,CAACA,EAAE,SAAS,UAAU,CAAC,QAAQ,MAAM,8GAA8G,KAAK,CAAC,OAAO,EAAEA,EAAE,SAAS,UAAU,MAAM,IAAI,QAAQ,GAAG,CAACA,EAAE,SAAS,CAAC,QAAQ,MAAM,iFAAiF,KAAK,CAAC,OAAO,EAAEA,EAAE,SAAS,MAAM,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAE,OAAO,IAAI,GAAGA,EAAEC,GAAG,OAAOC,EAAE,CAAC,EAAED,EAAE,MAAM,MAAM,QAAQ,GAAYD,EAAE,KAAX,IAAK,GAAS,CAAC,QAAQ,MAAM,uEAAuE,KAAK,CAAC,OAAO,EAAEA,EAAE,GAAG,GAAYE,IAAT,IAAK,GAAM,CAAC,GAAYF,EAAEE,KAAX,IAAK,GAAS,CAAC,QAAQ,MAAM,wFAAwF,KAAKF,EAAE,CAAC,OAAO,EAAEA,EAAEE,IAAI,IAAMM,EAAER,EAAEE,GAAG,GAAYM,IAAT,IAAK,GAAM,CAAC,IAAMW,EAAElB,EAAE,SAAS,QAAQ,MAAM,+DAA+DkB,EAAE,IAAIjB,EAAE,wBAAwBF,EAAE,CAAC,OAAO,IAAI,EAAE,KAAK,WAAW,KAAK,KAAK,aAAaA,EAAWA,EAAE,cAAX,IAAK,GAAyDA,EAAE,yBAAX,IAAK,KAA+B,EAAE,KAAK,WAAW,wBAApF,EAAE,KAAK,WAAW,YAA0F,IAAI,EAAE,KAAK,YAAY,OAAO,GAAYI,IAAT,IAAK,GAAM,CAAC,GAA6BF,IAA1B,wBAA4B,CAAC,GAAG,CAACF,EAAE,SAAS,CAAC,QAAQ,MAAM,sGAAsG,KAAK,CAAC,OAAO,GAAG,CAACA,EAAE,SAAS,iBAAiB,CAAC,QAAQ,MAAM,oHAAoH,KAAK,CAAC,OAAO,GAAG,CAACA,EAAE,SAAS,gBAAgB,CAAC,QAAQ,MAAM,sHAAsH,KAAK,CAAC,OAAgBA,EAAE,sBAAsBI,KAAjC,IAAK,KAAiC,EAAEJ,EAAE,sBAAsBI,IAAI,EAAE,KAAK,YAAY,aAAa,KAAK,iBAAiBI,EAAE,KAAK,cAAcJ,OAAmBI,EAAE,YAAX,IAAK,IAA0BA,EAAE,UAAX,IAAK,IAAe,EAAE,KAAK,YAAY,eAAe,KAAK,iBAAiBA,GAAU,MAAM,QAAQA,EAAE,EAAE,EAAE,KAAK,YAAY,YAAY,KAAK,iBAAiBA,GAAO,KAAK,aAAaN,EAAE,KAAK,SAAS,KAAK,oBAAoB,GAAG,KAAK,SAAS,KAAK,iCAAiC,GAAG,GAAG,QAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,SAAS,KAAK,kBAAkB,KAAK,SAAS,KAAK,oBAAmB,GAAgB,UAAU,GAAU,GAAgB,UAAU,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,GAAgB,UAAU,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,GAAgB,UAAU,oBAAoB,CAAC,GAAgB,UAAU,iBAAiB,GAAgB,UAAU,gBAAgB,GAAgB,UAAU,uBAAuB,GAAgB,UAAU,kBAAkB,CAAC,GAAgB,UAAU,iCAAiC,CAAC,CAAC,GAAgB,UAAU,iBAAiB,GAAgB,UAAU,gCAAgC,GAAgB,UAAU,2CAA2C,CAAC,CAAC,GAAgB,UAAU,gBAAgB,GAAgB,UAAU,+BAA+B,GAAgB,UAAU,0CAA0C,CAAC,CAAC,GAAgB,UAAU,uBAAuB,GAAgB,UAAU,sCAAsC,GAAgB,UAAU,iDAAiD,CAAC,CAAC,GAAgB,UAAU,oBAAoB,GAAgB,UAAU,mCAAmC,GAAgB,UAAU,8CAA8C,CAAC,CAAO,GAAN,KAA0B,CAAC,aAAa,CAAC,KAAK,KAAK,IAAc,CAAC,KAAK,SAAS,MAAM,UAAU,MAAM,KAAK,UAAU,CAAC,KAAK,gBAAgB,EAAE,IAAMF,EAAE,EAAE,CAAC,KAAK,eAAeA,EAAE,IAAI,IAAIC,EAAE,EAAE,EAAE,UAAU,OAAOA,IAAI,EAAE,EAAEA,EAAE,EAAE,UAAUA,GAAG,MAAMA,EAAE,KAAK,OAAO,EAAE,CAAC,KAAK,aAAa,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,uBAAuB,EAAE,CAAC,IAAMA,EAAE,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAOA,EAAE,SAAS,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,MAAMA,EAAE,iBAAiB,CAAC,IAAI,mBAAmB,CAAC,OAAOA,EAAE,UAAU,QAAQ,CAAC,KAAK,CAAC,IAAMD,EAAE,KAAK,SAASC,EAAE,KAAK,eAAe,EAAE,KAAK,OAAOC,EAAE,KAAK,aAAaE,EAAE,KAAK,UAAUI,EAAEJ,EAAE,OAAW,EAAE,EAAEJ,EAAE,OAAOS,EAAE,KAAK,gBAAgB,IAAI,IAAIC,EAAE,EAAEC,EAAE,UAAU,OAAOD,IAAIC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAE,UAAUD,GAAGE,EAAED,EAAE,KAASE,EAAEZ,EAAEW,GAAG,GAAYC,IAAT,IAAK,GAAM,CAAC,EAAE,IAAI,EAAED,GAAGC,EAAE,EAAE,KAAKF,EAAE,CAAC,IAAI,IAAIX,EAAE,EAAEC,EAAEO,EAAER,IAAIC,EAAE,EAAED,EAAE,EAAEA,GAAG,KAAK,IAAI,GAAgBW,EAAE,EAAEX,GAAGE,EAAEF,GAAG,CAAC,SAASa,EAAEJ,EAAE,CAAC,EAAET,EAAEa,GAAG,IAAMwB,EAAE,EAAE5B,EAAEC,EAAEV,EAAEqC,GAAG,EAAE3B,EAAE,MAAMG,EAAE,EAAEA,GAAGH,EAAE,EAAEE,GAAGyB,EAAE,EAAEA,GAAG1B,EAAE,IAAI,IAAIX,EAAE,EAAEC,EAAEO,EAAER,IAAIC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAEG,EAAEJ,GAAGQ,EAAEP,EAAEoC,GAAOrB,EAAEf,EAAEY,GAAG,EAAEA,GAAGL,EAAWQ,IAAT,IAAK,KAAQ,EAAE,IAAI,GAAgBL,EAAE,EAAEX,GAAGE,EAAEF,GAAG,EAAE,EAAEqC,GAAGrB,QAAQ,EAAEH,KAAK,GAAG,QAAQ,MAAM,qJAAqJ,CAAC,KAAK,gBAAgBJ,EAAE,QAAQ,CAAC,IAAMT,EAAE,KAAK,SAASC,EAAE,KAAK,eAAe,EAAE,KAAK,UAAUC,EAAE,EAAE,OAAWE,EAAE,KAAK,gBAAgB,IAAI,IAAII,EAAE,EAAE,EAAE,UAAU,OAAOA,IAAI,EAAE,EAAEA,EAAE,CAAC,IAAMQ,EAAE,UAAUR,GAAG,EAAEQ,EAAE,KAAKP,EAAER,EAAE,GAAG,GAAYQ,IAAT,IAAK,IAAOA,GAAGL,EAAE,CAAC,IAAMI,EAAE,IAAIE,EAAEV,EAAEQ,GAAG,EAAEE,EAAE,MAAMD,EAAE,EAAEA,GAAGC,EAAE,EAAE,GAAGF,EAAE,EAAEA,GAAGQ,EAAE,IAAI,IAAIhB,EAAE,EAAEC,EAAEC,EAAEF,IAAIC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAE,EAAED,GAAGE,EAAED,EAAEO,GAAGJ,EAAEH,EAAEQ,GAAG,EAAEA,GAAGP,EAAE,EAAEM,GAAGJ,IAAI,KAAK,gBAAgBA,EAAE,SAAS,CAAC,IAAMJ,EAAE,KAAK,SAASC,EAAE,KAAK,eAAe,EAAE,KAAK,UAAUC,EAAE,EAAE,OAAWE,EAAE,KAAK,gBAAgBI,EAAER,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,UAAU,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,IAAqBS,EAAb,UAAU,GAAO,KAAKC,EAAET,EAAEQ,GAAG,GAAYC,IAAT,IAAK,GAAmB,GAAZ,OAAOT,EAAEQ,GAAMC,EAAEN,EAAE,CAAC,IAAMY,EAAE,EAAEZ,EAAEiC,EAAErC,EAAEgB,GAAGP,EAAE,EAAED,EAAEG,EAAEX,EAAES,GAAG,EAAE4B,EAAE,MAAM3B,EAAE,EAAEA,GAAG2B,EAAE,EAAE1B,EAAE,MAAMK,EAAE,EAAEA,GAAGL,EAAE,EAAE,KAAK,CAAC,IAAI,IAAIX,EAAE,EAAEC,EAAEC,EAAEF,IAAIC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAE,EAAED,GAAGE,EAAED,EAAEe,GAAGZ,EAAEH,EAAEQ,GAAG,EAAEC,GAAGR,EAAE,EAAEc,GAAGZ,EAAE,EAAE,KAAK,MAAM,CAAC,IAAMA,EAAE,EAAEI,EAAEQ,EAAEhB,EAAEI,GAAG,EAAE,IAAI,EAAEY,EAAE,MAAMN,GAAG,EAAEA,GAAGM,EAAE,EAAE,KAAK,CAAC,IAAI,IAAIhB,EAAE,EAAEC,EAAEC,EAAEF,IAAIC,EAAE,EAAED,EAAE,CAAC,IAAMC,EAAE,EAAED,GAAG,EAAEU,GAAGT,EAAEG,GAAG,EAAE,KAAK,GAAI,KAAK,gBAAgBA,EAAE,WAAW,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,uBAA2BF,EAAE,EAAEF,GAASI,EAAE,KAAK,UAAU,GAAYF,IAAT,IAAK,GAAM,OAAOE,EAAEF,GAAG,IAAMM,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAASC,EAAE,EAAE,OAAOC,EAAE,KAAK,gBAAgBC,EAAM,MAAMF,EAAE,CAAC,EAAEL,EAAE,OAAO,EAAEJ,GAAGE,EAAE,EAAE,KAAKF,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,EAAE,KAAKU,EAAE,CAAC,IAAI,IAAIQ,EAAET,EAAER,EAAE,EAAE,OAAOiB,IAAIjB,EAAE,EAAEiB,EAAE,CAAC,IAAMjB,EAAE,EAAEiB,GAAG,EAAEA,GAAG,IAAI,GAAgBjB,EAAEF,EAAEC,EAAE,CAAC,OAAOU,EAAE,aAAa,EAAE,CAAC,IAAMV,EAAE,KAAK,uBAAuB,EAAEA,EAAED,GAAG,GAAY,IAAT,IAAK,GAAM,CAAC,IAAME,EAAE,KAAK,OAAOE,EAAE,KAAK,aAAaI,EAAE,KAAK,UAAU,EAAEA,EAAE,OAAO,EAAE,EAAEA,EAAE,GAAGC,EAAET,EAAE,GAAG,EAAES,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,GAAGL,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAGF,EAAE,GAAG,EAAE,KAAK,IAAG,GAAqB,UAAU,uBAAuB,GAAW,GAAN,KAAqB,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,EAAED,EAAE,UAAU,CAAC,KAAK,OAAOD,EAAE,KAAK,MAAMC,EAAE,KAAK,WAAW,EAAE,KAAK,UAAUC,EAAE,IAAME,EAAEH,EAAE,OAAOO,EAAEJ,EAAE,OAAO,EAAM,MAAMI,EAAE,CAAO,EAAE,CAAC,YAAY4L,GAAG,UAAUA,GAAG,CAAC,IAAI,IAAIpM,EAAE,EAAEA,IAAIQ,EAAE,EAAER,EAAE,CAAC,IAAMC,EAAEG,EAAEJ,GAAG,kBAAkB,KAAK,CAAC,EAAEA,GAAGC,EAAE,EAAE,SAAS,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAsB,MAAMO,EAAE,CAAC,KAAK,YAAY,KAAK,KAAK,kBAAkB,KAAK,KAAK,sBAAsB,KAAK,KAAK,mBAAmB,KAAK,KAAK,KAAKuL,GAAG,KAAK,WAAW,GAAG,KAAK,WAAW,KAAK,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,IAAS,KAAK,OAAO,GAAM,KAAK,QAAQ,GAAK,KAAK,kBAAkB,GAAM,KAAK,iBAAiB,GAAK,KAAK,eAAe,GAAK,MAAM,CAAmC,OAAlC,KAAK,OAAO,gBAAgB,KAAK,CAAQ,KAAK,MAAM,CAAqC,OAApC,KAAK,OAAO,kBAAkB,KAAK,CAAQ,KAAK,OAAO,CAAC,OAAO,CAAyF,MAAxF,MAAK,OAAO,GAAM,KAAK,QAAQ,GAAK,KAAK,KAAK,EAAE,KAAK,WAAW,GAAG,KAAK,WAAW,KAAY,KAAK,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,QAAY,KAAK,YAAT,GAA2B,KAAK,aAAZ,MAAwB,KAAK,OAAO,gBAAgB,KAAK,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAmB,MAAlB,MAAK,WAAW/L,EAAS,KAAK,QAAQ,EAAE,EAAE,CAAgC,MAA/B,MAAK,KAAKA,EAAE,KAAK,YAAYC,EAAS,KAAK,mBAAmB,EAAE,CAAsD,MAArD,MAAK,OAAOD,EAAE,KAAK,iBAAiB,KAAK,QAAQA,EAAE,EAAS,KAAK,YAAY,CAAC,oBAAoB,CAAC,OAAO,KAAK,iBAAiB,OAAO,EAAE,CAAC,OAAO,KAAK,gBAAgBA,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,gBAAgBA,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,CAA6B,GAA5B,EAAE,QAAQC,EAAE,CAAC,KAAK,OAAOA,EAAE,CAAI,EAAE,CAAC,IAAMkB,EAAE,KAAK,MAAM,SAASjB,EAAEF,EAAE,MAAM,SAASI,EAAEF,EAAEiB,EAAEX,EAAEW,EAAEjB,EAAE,EAAE,KAAK,EAAEE,EAAEH,EAAE,CAAC,KAAK,KAAKO,EAAE,EAAEP,EAAE,CAAC,OAAO,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,OAAOD,EAAE,cAAc,KAAKC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAMD,EAAE,KAAK,mBAAwG,OAA3EA,IAAP,OAAU,KAAK,mBAAmB,KAAK,KAAK,OAAO,4BAA4BA,EAAE,EAAQ,KAAK,sBAAsB,EAAE,CAA2D,MAA1D,MAAK,UAAUA,EAAE,KAAK,oBAAoB,KAAK,OAAO,EAAEA,EAAS,KAAK,aAAa,CAAC,uBAAuB,CAAC,OAAO,KAAK,oBAAoB,YAAY,EAAE,CAAsC,MAArC,MAAK,UAAU,KAAK,MAAM,SAASA,EAAS,KAAK,aAAa,CAAC,SAAS,EAAE,CAA6C,MAA5C,MAAK,KAAKA,EAAE,KAAK,KAAK,UAAUA,EAAE,UAAiB,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,oBAAoB,EAAEA,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,IAAME,EAAE,KAAK,OAAOE,EAAEF,EAAE,KAAKM,EAAE,KAAK,UAAc,EAAE,KAAK,sBAAgC,IAAP,OAAU,EAAEN,EAAE,yBAAyB,CAAC,KAAK,sBAAsB,GAAE,IAAM,EAAE,EAAE,mBAAmBO,EAAE,EAAE,aAA+C,MAAlC,GAAE,GAAGL,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGJ,EAAEQ,EAAE,EAAE,GAAGP,EAAEO,EAAS,KAAK,aAAa,CAAC,IAAMR,EAAE,KAAK,sBAA8G,OAA9EA,IAAP,OAAU,KAAK,sBAAsB,KAAK,KAAK,OAAO,4BAA4BA,EAAE,EAAQ,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,SAAS,CAAC,OAAO,KAAK,MAAM,SAAS,CAAC,OAAO,KAAK,YAAY,KAAK,OAAO,MAAM,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,KAAK,cAAcA,EAAE,CAAC,OAAO,IAAMI,EAAE,KAAK,WAAW,GAAUA,IAAP,KAAS,CAAC,IAAMF,GAAGF,EAAEI,GAAG,EAAE,GAAGF,EAAE,GAAO,IAAJ,EAAM,OAAO,KAAK,WAAW,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,iBAAiBF,EAAE,CAAC,IAAMQ,EAAE,KAAK,YAAYP,EAAE,CAAO,EAAE,KAAK,cAAcD,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAMA,EAAE,KAAK,cAAoBC,EAAE,KAAK,kBAAkB,OAAO,KAAK,UAAZ,CAAuB,KAAKsM,GAAG,IAAI,IAAIpL,EAAE,EAAEjB,EAAEF,EAAE,OAAOmB,IAAIjB,EAAE,EAAEiB,EAAG,EAAEA,GAAG,SAASX,EAAE,CAAC,EAAEW,GAAG,mBAAmB,EAAE,CAAC,MAAM,KAAKmL,GAAG,QAAQ,IAAI,IAAInL,EAAE,EAAEf,EAAEJ,EAAE,OAAOmB,IAAIf,EAAE,EAAEe,EAAG,EAAEA,GAAG,SAASX,EAAE,CAAC,EAAEW,GAAG,WAAWjB,EAAE,EAAE,GAAI,cAAc,EAAE,CAAC,IAAID,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,OAAO,IAAM,EAAE,KAAK,mBAAmB,GAAU,IAAP,KAAS,CAAC,IAAMC,EAAE,EAAE,SAASF,EAAE,CAAC,GAAG,GAAGE,EAAKF,EAAE,EAAE,mBAAmB,KAAI,KAAK,YAAY,CAAKE,IAAJ,IAAQ,KAAK,QAAQ,MAAiC,MAAxB,MAAK,iBAAiBD,EAASA,EAAE,iBAAiB,EAAE,CAAC,IAAIA,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,UAAU,IAAM,EAAE,KAAK,sBAAsB,GAAU,IAAP,KAAS,CAAC,IAAMC,EAAE,EAAE,SAASF,EAAE,CAAC,GAAG,GAAGE,EAAKF,EAAE,EAAE,mBAAmB,KAAI,KAAK,aAAa,CAAKC,IAAJ,EAAM,KAAK,OAAO,GAAK,KAAK,UAAUA,IAA+B,MAA3B,MAAK,oBAAoBA,EAASA,EAAE,YAAY,EAAE,CAAC,IAAMA,EAAE,KAAK,MAAM,SAAe,EAAE,KAAK,KAASC,EAAE,KAAK,KAAKF,EAAMI,EAAE,KAAK,WAAiBI,EAAE,IAAIwL,GAAG,GAAOhM,IAAJ,EAAM,OAAWI,IAAL,GAAOF,EAAEM,IAAQ,EAAEJ,IAAP,EAAUH,EAAEC,EAAEA,EAAE,GAAG,IAAI4L,GAAG,CAAS1L,IAAL,KAAQ,KAAK,WAAW,EAAE,KAAK,YAAY,GAAK,GAAK,GAAM,EAAC,EAAE,CAAC,GAAGF,GAAGD,EAAE,EAAEA,MAAM,CAAC,GAAG,EAAEC,EAAE,GAAG,CAAC,KAAK,KAAKA,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,kBAAkB,KAAK,OAAO,GAAK,KAAK,QAAQ,GAAM,KAAK,KAAKA,EAAE,KAAK,OAAO,cAAc,CAAC,KAAK,WAAW,OAAO,KAAK,UAAUF,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAyH,GAAhHI,IAAL,KAAUJ,GAAG,GAAG,EAAE,EAAE,KAAK,YAAY,GAAS,KAAK,cAAT,EAAqBQ,EAAE,EAAM,KAAK,YAAgB,KAAK,cAAT,EAAqB,GAAKA,EAAE,EAAIN,GAAGD,GAAGC,EAAE,EAAE,CAAC,IAAMiB,EAAE,KAAK,MAAMjB,EAAED,EAAE,CAAC,GAAGA,EAAEkB,EAAE,GAAG,KAAK,IAAIA,EAAE,CAAC,IAAM,EAAE,KAAK,YAAYf,EAAE,GAAG,GAAG,EAAG,KAAK,kBAAkB,KAAK,OAAO,GAAK,KAAK,QAAQ,GAAM,EAAEJ,EAAE,EAAEC,EAAE,EAAE,KAAK,KAAKC,EAAE,KAAK,OAAO,cAAc,CAAC,KAAK,WAAW,OAAO,KAAK,UAAUF,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAO,IAAJ,EAAM,CAAC,IAAMC,EAAED,EAAE,EAAE,KAAK,YAAYC,EAAE,CAACA,EAAEO,EAAE,MAAM,KAAK,YAAY,GAAM,GAAMA,EAAE,CAAC,KAAK,WAAWJ,EAAE,KAAK,KAAKF,EAAE,KAAK,OAAO,cAAc,CAAC,KAAK,OAAO,OAAO,KAAK,UAAUiB,EAAE,CAAC,OAAO,KAAK,KAAKjB,EAAE,GAAGM,IAAQ,EAAEJ,IAAP,EAAU,OAAOH,EAAEC,EAAE,OAAOA,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,IAAMA,EAAE,KAAK,qBAAwB,GAAG,EAAE,YAAYmM,GAAG,EAAE,UAAUA,KAAQ,EAAE,YAAYrM,EAAE,KAAK,iBAAiBqM,GAAGD,GAAG,GAAG,EAAE,UAAUnM,EAAE,KAAK,eAAeoM,GAAGD,GAAG,IAAI,gBAAgB,EAAE,EAAE,EAAE,CAAC,IAAMlM,EAAE,KAAK,OAAOE,EAAEF,EAAE,KAASM,EAAE,KAAK,mBAA6BA,IAAP,OAAU,EAAEN,EAAE,yBAAyB,CAAC,KAAK,mBAAmBM,GAAE,IAAM,EAAEA,EAAE,mBAAmB,EAAEA,EAAE,aAA2C,MAA9B,GAAE,GAAGJ,EAAE,EAAE,GAAGH,EAAE,EAAE,GAAGG,EAAEJ,EAAE,EAAE,GAAG,EAAS,OAAY,GAAN,cAA6B,EAAe,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,MAAMA,EAAE,KAAK,oBAAoB,CAAC,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC,IAAM,EAAEA,EAAE,YAAY,KAAK,MAAME,EAAEF,EAAE,MAAM,OAAOI,EAAEF,EAAE,OAAOM,EAAER,EAAE,kBAAkB,EAAEA,EAAE,cAAc,EAAE,EAAE,KAAKS,EAAE,KAAK,uBAA2BC,EAAED,EAAE,GAAeC,IAAT,IAAK,KAAO,EAAE,EAAE,CAAC,EAAE,GAAGA,GAAE,IAAI,IAAIV,EAAE,EAAEA,IAAII,EAAE,EAAEJ,EAAE,CAAC,IAAMI,EAAEF,EAAEF,GAAGS,EAAEL,EAAE,KAASO,EAAED,EAAED,GAAG,GAAYE,IAAT,IAAK,GAAM,EAAEX,GAAGW,MAAM,CAAQ,GAAP,EAAEH,EAAER,GAAeW,IAAT,IAAK,GAAM,CAAWA,EAAE,cAAT,OAAsB,EAAEA,EAAE,eAAe,KAAK,oBAAoBA,EAAE,EAAEF,EAAE,EAAC,SAAS,IAAMP,EAAED,GAAGA,EAAE,kBAAkBD,GAAG,QAAQ,WAAW,EAAE,IAAI,GAAc,GAAgB,OAAO,EAAES,EAAEP,EAAE,CAACE,EAAE,cAAcA,EAAE,cAAc,CAAC,CAAC,EAAEO,EAAE,eAAe,KAAK,oBAAoBA,EAAE,EAAEF,EAAE,CAAC,EAAET,GAAGW,EAAE,EAAEX,GAAG,aAAaW,EAAE,QAAQ,gBAAgB,EAAE,CAAC,GAAG,CAAC,KAAK,gBAAgBX,EAAE,CAAC,CAAC,GAAUA,EAAE,cAAT,KAAqB,CAAC,IAAMC,GAAGD,EAAE,YAAY,KAAK,OAAO,KAAK,EAAEA,EAAE,MAAM,KAAKE,EAAE,KAAK,eAAe,GAAG,KAAK,YAAYF,EAAEE,GAAGA,EAAE,aAAa,GAAG,CAAC,KAAK,mBAAmBF,EAAE,EAAEC,EAAE,CAAC,IAAMA,EAAED,EAAE,kBAAkB,IAAI,IAAIA,EAAE,EAAE,EAAEC,EAAE,OAAOD,IAAI,EAAE,EAAEA,EAAE,CAAC,IAAMmB,EAAElB,EAAED,GAAU,EAAE,aAAN,IAAkB,KAAK,aAAamB,EAAE,CAAC,EAAE,mBAAmB,EAAE,KAAK,YAAYnB,EAAE,EAAE,kBAAkB,EAAE,CAAC,GAAG,KAAK,gBAAgBA,EAAE,CAAC,CAAC,IAAMC,EAAED,EAAE,kBAAkB,IAAI,IAAIA,EAAE,EAAE,EAAEC,EAAE,OAAOD,IAAI,EAAE,EAAEA,EAAE,CAAC,IAAMmB,EAAElB,EAAED,GAAU,EAAEmB,EAAE,WAAR,IAAkB,EAAE,sBAAsB,CAAC,KAAK,iBAAiBA,EAAE,EAAE,KAAK,gBAAgBnB,EAAE,EAAE,oBAAoB,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,CAAC,KAAK,qBAAqB,EAAE,CAAC,KAAK,4BAA4B,EAAE,IAAMA,EAAE,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAOA,EAAE,SAAS,QAAQ,IAAI,OAAO,CAAC,OAAOA,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAOA,EAAE,UAAU,QAAQ,IAAI,OAAO,CAAC,OAAOA,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,OAAOA,EAAE,qBAAqB,QAAQ,IAAI,OAAO,CAAC,OAAOA,EAAE,6BAA6B,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAMC,EAAED,EAAE,YAAY,OAAcC,IAAP,MAAUA,EAAE,KAAK,gBAAgB,mBAAmB,EAAE,EAAE,EAAE,CAAC,IAAMC,EAAE,KAAK,SAASE,EAAE,KAAK,eAAmBI,EAAEJ,EAAEH,GAAG,GAAYO,IAAT,IAAK,GAAO,EAAE,CAAC,aAAa,CAACR,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAEC,GAAGO,MAAM,CAAC,IAAMP,EAAEO,EAAE,aAAa,EAAE,kBAAkBP,EAAE,OAAO,EAAE,KAAKD,EAAE,CAAC,EAAE,YAAYE,EAAE,OAAO,EAAE,KAAKF,EAAE,CAAC,EAAE,aAAa,GAAGA,EAAE,sBAAsB,EAAE,CAAC,IAAMC,EAAE,KAAK,SAAS,EAAEA,EAAEA,EAAE,OAAO,GAAGC,EAAEF,EAAE,YAAY,EAAE,YAAYE,EAAE,EAAEA,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY,KAAK,IAAME,EAAEJ,EAAE,MAAM,KAAKQ,EAAE,KAAK,eAAe,EAAEA,EAAEJ,GAAG,EAAE,EAAE,aAAaK,EAAE,EAAE,EAAE,OAAO,GAAGC,EAAEV,EAAE,kBAAkB,EAAE,kBAAkBU,EAAE,EAAEA,GAAGD,EAAE,EAAE,KAAK,CAAC,EAAE,kBAAkB,KAAK,IAAME,EAAE,EAAE,aAAaC,GAAGZ,EAAE,YAAY,KAAK,OAAO,KAAK,OAAOW,EAAEC,GAAO,EAAE,SAAN,GAAc,OAAOJ,EAAEJ,GAAG,KAAK,iCAAiCJ,EAAE,CAAC,iCAAiC,EAAE,CAAC,IAAMC,EAAED,EAAE,kBAAkB,IAAI,IAAIA,EAAE,EAAE,EAAEC,EAAE,OAAOD,IAAI,EAAE,EAAEA,EAAE,CAAC,IAAMmB,EAAElB,EAAED,GAAO,EAAEmB,EAAE,iBAAR,GAAwB,KAAK,uBAAuBA,EAAE,EAAE,YAAY,EAAE,CAAC,IAAMlB,EAAE,KAAK,SAAS,EAAED,EAAE,YAAYE,EAAE,KAAK,kBAAkBE,EAAEH,EAAEC,GAAG,EAAE,YAAYA,EAAE,EAAEA,GAAGF,EAAE,EAAE,YAAY,EAAE,EAAE,GAAGI,EAAE,gBAAgB,EAAE,CAAC,IAAMH,EAAE,KAAK,SAAS,EAAED,EAAE,YAAYE,EAAE,EAAE,KAAK,gBAAgBE,EAAEH,EAAEC,GAAG,EAAE,YAAYA,EAAE,EAAEA,GAAGF,EAAE,EAAE,YAAY,EAAE,EAAE,GAAGI,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,uBAAuBE,EAAE,KAAK,UAAcI,EAAEN,EAAED,GAAeO,IAAT,IAAK,KAAO,EAAE,EAAE,CAAC,EAAEP,GAAGO,GAAE,EAAE,GAAGR,EAAE,EAAE,YAAYI,EAAE,OAAO,EAAE,KAAKJ,EAAE,CAAC,uBAAuB,EAAE,CAAC,IAAMC,EAAE,KAAK,UAAU,EAAED,EAAE,QAAQE,EAAE,EAAE,SAAS,KAAKE,EAAE,EAAE,KAAKI,EAAE,KAAK,uBAAuB,EAAEA,EAAEN,GAAG,EAAED,EAAEA,EAAE,OAAO,GAAGQ,EAAET,EAAE,YAAY,EAAE,YAAYS,EAAE,EAAEA,GAAG,EAAE,EAAE,KAAK,CAAC,OAAO,EAAEL,GAAO,OAAO,KAAK,EAAE,CAAC,SAAnB,GAA2B,OAAOI,EAAEN,GAAG,aAAa,EAAE,CAAC,IAAMD,EAAE,KAAK,UAAU,EAAED,EAAE,YAAYE,EAAE,KAAK,mBAAmBE,EAAEH,EAAEC,GAAG,EAAE,YAAYA,EAAE,EAAEA,GAAGF,EAAE,EAAE,YAAY,EAAE,EAAE,GAAGI,EAAE,iBAAiB,EAAE,CAAC,IAAMH,EAAE,KAAK,UAAU,EAAED,EAAE,YAAYE,EAAE,EAAE,KAAK,iBAAiBE,EAAEH,EAAEC,GAAG,EAAE,YAAYA,EAAE,EAAEA,GAAGF,EAAE,EAAE,YAAY,EAAE,EAAE,GAAGI,EAAE,yBAAyB,CAAC,IAAMJ,EAAE,KAAK,qBAAqBC,EAAE,KAAK,8BAAkC,EAAED,EAAEC,GAAmJ,OAApI,IAAT,IAAK,KAAO,EAAE,IAAI,GAAkB,IAAI,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,KAAK,iCAAiC,CAAC,EAAE,aAAaA,EAAE,EAAEA,GAAG,GAAS,EAAE,4BAA4B,EAAE,CAAC,IAAMA,EAAE,KAAK,qBAAqB,EAAED,EAAE,aAAaE,EAAE,EAAE,KAAK,4BAA4BE,EAAEH,EAAEC,GAAG,EAAE,aAAaA,EAAE,EAAEA,GAAGF,EAAE,EAAE,aAAa,EAAE,EAAE,GAAGI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAED,GAAG,KAAK,MAAMG,EAAEF,EAAE,KAASM,EAAa,OAAOR,GAAlB,SAAoB,GAAc,WAAWE,EAAEF,EAAE,CAACA,EAAQ,EAASQ,IAAP,KAAgBR,EAAPQ,EAAE,KAAa,EAAE,KAAK,eAAe,GAAOC,EAAE,KAA6C,GAA/B,IAAT,IAAK,KAAQ,EAASD,IAAP,KAAqB8L,GAAZ9L,EAAE,WAA0B,IAAT,IAAK,GAAM,CAAC,IAAMR,EAAE,EAAE,aAAaI,GAAG,GAAYJ,IAAT,IAAK,IAAOA,EAAE,YAAY,EAAE,OAAOA,EAAE,EAAE,EAAE,aAAa,GAAUQ,IAAP,OAAW,EAAEC,EAAE,OAAO,GAAUD,IAAP,KAAS,OAAO,KAAK,IAAME,EAAE,IAAI,GAAgB,KAAKF,EAAEP,EAAE,EAAE,CAAsD,OAArD,KAAK,YAAYS,EAAED,EAAE,CAAC,KAAK,mBAAmBC,EAAE,EAAEN,EAAE,CAAQM,EAAE,eAAe,EAAE,EAAE,CAAC,IAAM,EAAET,GAAG,KAAK,MAAMC,EAAE,EAAE,KAAKE,EAAa,OAAOJ,GAAlB,SAAoB,GAAc,WAAW,EAAEA,EAAE,CAACA,EAAEQ,EAAEJ,EAAEA,EAAE,KAAKJ,EAAE,EAAE,KAAK,eAAeQ,GAAG,OAAgB,IAAT,IAAK,IAAO,EAAE,aAAaN,IAAI,KAAK,eAAe,CAAC,IAAMF,EAAE,KAAK,SAASC,EAAE,KAAK,gBAAgB,IAAI,IAAI,EAAEA,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC,GAAG,KAAK,UAAU,IAAMA,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgBC,EAAE,KAAK,MAAMF,EAAEI,EAAE,KAAK,KAAKJ,EAAE,CAACQ,EAAE,KAAK,YAAY,EAAE,IAAI,IAAIQ,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAWf,EAAEe,GAAK,QAAQd,EAAEF,EAAEI,EAAEI,EAAE,CAAC,IAAM,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,IAAI,IAAIR,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAG,MAAMQ,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,IAAIR,EAAE,EAAEA,EAAE,KAAK,SAAS,OAAO,IAAI,KAAK,SAASA,GAAG,KAAK,EAAE,OAAO,KAAK,OAAOA,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,YAAY,EAAE,CAAC,IAAMC,EAAE,KAAK,SAAS,EAAED,EAAE,KAAKE,EAAE,KAAK,eAAeE,EAAEF,EAAE,GAAG,GAAYE,IAAT,IAAK,GAAM,CAAC,IAAMJ,EAAEI,EAAE,aAAa,IAAI,IAAIe,EAAE,EAAEjB,EAAEF,EAAE,OAAOmB,IAAIjB,EAAE,EAAEiB,EAAE,CAAC,IAAMjB,EAAEF,EAAEmB,GAAG,KAAK,kBAAkBjB,EAAE,CAAC,IAAME,EAAEF,EAAE,YAAYM,EAAEP,EAAEA,EAAE,OAAO,GAAG,EAAE,YAAY,KAAK,EAAE,kBAAkB,KAAK,EAAE,YAAYG,EAAE,EAAEA,GAAGI,EAAE,EAAE,KAAK,CAAC,KAAK,iCAAiCN,EAAE,CAAC,OAAOA,EAAE,IAAI,YAAY,EAAE,CAAC,IAAMD,EAAED,EAAE,KAAK,EAAE,KAAK,eAAe,IAAI,IAAMA,KAAK,EAAE,CAAC,IAA0BI,EAAlB,EAAEJ,GAAG,aAAiBC,GAAeG,IAAT,IAAK,KAAO,KAAK,kBAAkBA,EAAE,CAAC,KAAK,sBAAsBA,EAAE,EAAE,IAAoCA,EAA5B,KAAK,uBAA2BH,GAAG,GAAYG,IAAT,IAAK,GAAM,IAAI,IAAMJ,KAAKI,EAAE,CAAC,IAAMH,EAAEG,EAAEJ,GAAG,EAAE,sBAAsB,CAAC,KAAK,uBAAuBC,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,eAAeD,EAAEC,EAAE,CAAW,IAAP,OAAU,KAAK,kBAAkB,EAAE,CAAC,KAAK,sBAAsB,EAAE,IAAG,GAAe,UAAU,iCAAiC,IAAI,aAAa,EAAE,CAAO,GAAN,MAAM,CAAO,CAAC,YAAY,EAAE,CAAe,OAAOD,GAAlB,WAAqB,QAAQ,KAAK,qDAAqD,CAAC,EAAE,UAAU,IAAG,KAAK,MAAMA,EAAE,OAAO,CAAC,OAAO,IAAI,EAAiB,KAAK,MAAM,QAApB,IAAK,GAAqB,KAAK,MAAM,KAAK,MAAM,OAAO,CAAC,GAAQ,GAAN,cAAyC,EAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMA,EAAEC,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAK,EAAE,CAAwD,OAAvD,MAAM,KAAKD,EAAE,CAAC,KAAK,iBAAiBA,EAAE,iBAAwB,KAAK,MAAM,EAAE,CAAC,IAAMC,EAAE,MAAM,MAAMD,EAAE,CAA0C,MAAzC,GAAE,iBAAiB,KAAK,iBAAwBC,EAAE,OAAO,EAAE,CAAC,IAAMA,EAAE,MAAM,OAAOD,EAAE,CAA8E,MAA7E,GAAE,6BAA6B,GAAK,EAAE,iBAAiB,KAAK,iBAAwBC,IAAG,GAA2B,UAAU,6BAA6B,GAAW,GAAN,KAAuB,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAOD,EAAE,KAAK,KAAKC,EAAE,KAAK,SAAS,EAAE,KAAK,YAAYC,EAAE,KAAK,MAAME,EAAE,KAAK,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC,KAAOJ,GAAG,KAAK,UAAU,UAAU,EAAE,CAAe,MAAd,MAAK,OAAOA,EAAS,KAAK,QAAQ,EAAE,EAAE,CAAgC,MAA/B,MAAK,KAAKA,EAAE,KAAK,YAAYC,EAAS,KAAK,YAAY,EAAE,CAAiB,MAAhB,MAAK,SAASD,EAAS,KAAK,SAAS,EAAE,CAAc,MAAb,MAAK,MAAMA,EAAS,OAAM,GAAkB,UAAU,oBAAoB,GAAwpEiY,GAAG,IAAI,EAAc,GAAN,KAAU,CAAC,YAAY,EAAE,IAAI,EAAQ,IAAS,IAAS,CAAC,EAAE,IAAI,EAAQ,KAAU,KAAU,CAAC,CAAC,KAAK,IAAIjY,EAAE,KAAK,IAAIC,EAAE,IAAI,EAAE,EAAE,CAAmC,OAAlC,KAAK,IAAI,KAAKD,EAAE,CAAC,KAAK,IAAI,KAAKC,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,KAAK,WAAW,CAAC,IAAI,IAAIA,EAAE,EAAE,EAAED,EAAE,OAAOC,EAAE,EAAE,IAAI,KAAK,cAAcD,EAAEC,GAAG,CAAC,OAAO,KAAK,qBAAqB,EAAE,EAAE,CAAC,IAAM,EAAEgY,GAAG,KAAKhY,EAAE,CAAC,eAAe,GAAG,CAAiD,OAAhD,KAAK,IAAI,KAAKD,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAKA,EAAE,CAAC,IAAI,EAAE,CAAQ,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAA2C,OAA1C,KAAK,IAAI,KAAKA,EAAE,IAAI,CAAC,KAAK,IAAI,KAAKA,EAAE,IAAI,CAAQ,KAAK,WAAW,CAAgE,MAA/D,MAAK,IAAI,EAAE,KAAK,IAAI,EAAE,IAAS,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAiB,KAAK,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,IAAI,EAAE,EAAE,CAACA,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,IAAI,EAAE,EAAE,CAACA,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAiC,OAAhC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAQ,KAAK,eAAe,EAAE,CAAiC,OAAhC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAQ,KAAK,eAAe,EAAE,CAA8C,OAA7C,KAAK,IAAI,UAAU,CAACA,EAAE,CAAC,KAAK,IAAI,UAAUA,EAAE,CAAQ,KAAK,cAAc,EAAE,CAAC,MAAM,EAAEA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAGA,EAAE,EAAE,KAAK,IAAI,GAAG,YAAY,EAAE,CAAC,OAAO,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,OAAOC,EAAE,KAAKD,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,IAAIA,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,EAAEA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAGA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,WAAW,EAAE,EAAE,CAAC,OAAOC,EAAE,KAAKD,EAAE,CAAC,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAA6C,OAApCiY,GAAG,KAAKjY,EAAE,CAAC,MAAM,KAAK,IAAI,KAAK,IAAI,CAAU,IAAIA,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAyC,OAAxC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAQ,KAAK,MAAM,EAAE,CAAyC,OAAxC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAQ,KAAK,UAAU,EAAE,CAAiC,OAAhC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,IAAI,OAAO,KAAK,IAAI,EAAEA,EAAE,IAAI,OAAO,KAAK,IAAI,GAAE,GAAK,UAAU,OAAO,GAAWkY,GAAG,IAAI,EAAc,GAAG,IAAI,EAAc,GAAN,KAAW,CAAC,YAAY,EAAE,IAAI,EAAQ,EAAE,IAAI,EAAQ,CAAC,KAAK,MAAMlY,EAAE,KAAK,IAAIC,EAAE,IAAI,EAAE,EAAE,CAAqC,OAApC,KAAK,MAAM,KAAKD,EAAE,CAAC,KAAK,IAAI,KAAKC,EAAE,CAAQ,KAAK,KAAK,EAAE,CAA+C,OAA9C,KAAK,MAAM,KAAKD,EAAE,MAAM,CAAC,KAAK,IAAI,KAAKA,EAAE,IAAI,CAAQ,KAAK,UAAU,EAAE,CAAC,OAAOA,EAAE,WAAW,KAAK,MAAM,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,EAAE,CAAC,OAAOA,EAAE,WAAW,KAAK,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,MAAM,kBAAkB,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,WAAW,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,MAAMC,EAAE,CAAC,eAAeD,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,6BAA6B,EAAE,EAAE,CAAC,GAAG,WAAWA,EAAE,KAAK,MAAM,CAAC,GAAG,WAAW,KAAK,IAAI,KAAK,MAAM,CAAC,IAAM,EAAE,GAAG,IAAI,GAAG,CAAwBI,EAAf,GAAG,IAAI8X,GAAG,CAAS,EAAsB,OAApB,IAAI,EAAE,GAAM9X,EAAE,EAAE,EAAE,EAASA,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,IAAMF,EAAE,KAAK,6BAA6BF,EAAEC,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,eAAeC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,aAAa,EAAE,CAAqD,OAApD,KAAK,MAAM,aAAaF,EAAE,CAAC,KAAK,IAAI,aAAaA,EAAE,CAAQ,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,MAAM,OAAO,KAAK,MAAM,EAAEA,EAAE,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAW,CAAE,KAAK,KAAK,GAAW,IAAI,EAA8/BoY,GAAG,IAAI,EAAc,GAAG,IAAI,EAAcC,GAAG,IAAI,EAAc,GAAN,cAA6B,EAAY,CAAC,YAAY,EAAE,CAAC,IAAMpY,EAAE,GAAYD,EAAE,CAAO,EAAE,IAAI,GAAqBE,EAAE,EAAE,CAAOE,EAAE,EAAE,CAAOI,EAAE,IAAI,EAAM,EAAE,EAAE,EAAE,CAAO,EAAE,IAAI,EAAM,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIR,EAAE,EAAEA,EAAEC,EAAE,OAAO,IAAI,CAAC,IAAMkB,EAAElB,EAAED,GAAMmB,EAAE,QAAQA,EAAE,OAAO,SAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKX,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,WAAW,IAAI,EAAuBN,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,QAAQ,IAAI,EAAuBE,EAAE,EAAE,CAAC,CAAC,IAAM,EAAE,IAAI,GAAkB,CAAC,aAAa,GAAK,UAAU,GAAM,WAAW,GAAM,WAAW,GAAM,YAAY,GAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAiB,KAAK,iBAAiB,GAAK,KAAK,KAAKJ,EAAE,KAAK,MAAMC,EAAE,KAAK,OAAOD,EAAE,YAAY,KAAK,iBAAiB,GAAM,kBAAkB,EAAE,CAAC,IAAMC,EAAE,KAAK,MAAY,EAAE,KAAK,SAAeC,EAAE,EAAE,aAAa,WAAW,CAAC,GAAG,KAAK,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,IAAI,IAAIF,EAAE,EAAEmB,EAAE,EAAEnB,EAAEC,EAAE,OAAO,IAAI,CAAC,IAAMG,EAAEH,EAAED,GAAMI,EAAE,QAAQA,EAAE,OAAO,SAAQ,GAAG,iBAAiBiY,GAAGjY,EAAE,YAAY,CAAC,GAAG,sBAAsB,GAAG,CAAC,EAAE,OAAOe,EAAEiX,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,GAAG,iBAAiBC,GAAGjY,EAAE,OAAO,YAAY,CAAC,GAAG,sBAAsB,GAAG,CAAC,EAAE,OAAOe,EAAE,EAAEiX,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,aAAa,WAAW,CAAC,YAAY,GAAK,MAAM,kBAAkBpY,EAAE,GAAspB,IAAI,EAAiB,IAAI,EAAe,IAAI,EAAu+B,GAAN,cAAyB,EAAY,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAM,EAAE,CAAC,EAAE,IAAI,EAAME,EAAE,CAAC,IAAME,EAAEH,EAAE,EAAQO,EAAER,EAAEC,EAAQ,EAAED,EAAE,EAAQ,EAAE,EAAE,CAACS,EAAE,EAAE,CAAC,IAAI,IAAIT,EAAE,EAAEU,EAAE,EAAEC,EAAE,CAAC,EAAEX,GAAGC,EAAE,IAAI,GAAGO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAEG,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAE,CAAC,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAMV,EAAED,IAAII,EAAE,EAAEF,EAAE,EAAE,QAAQO,EAAEC,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQD,EAAEC,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQD,EAAEC,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQD,EAAEC,EAAE,CAAC,GAAG,EAAE,IAAMA,EAAE,IAAI,GAAe,EAAE,aAAa,WAAW,IAAI,EAAuB,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,QAAQ,IAAI,EAAuBD,EAAE,EAAE,CAAC,CAAC,IAAME,EAAE,IAAI,GAAkB,CAAC,aAAa,GAAK,WAAW,GAAM,CAAC,CAAC,MAAMD,EAAEC,EAAE,CAAC,KAAK,KAAK,eAAs1B,IAAI,EAAiB,IAAI,EAAiB,IAAI,EAAusC,IAAI,EAAiB,IAAI,GAA82E,IAAI,GAA+iF,IAAI,EAAq7HoY,GAAG,IAAI,aAAa,EAAE,CAAU,IAAI,WAAWA,GAAG,OAAO,CAA+0G,GAAM,OAAO,SAAS,EAAE,EAAE,CAAqJ,OAApJ,QAAQ,IAAI,2CAA2C,CAAC,EAAE,UAAU,OAAO,OAAO,GAAM,UAAU,CAAC,EAAE,UAAU,YAAY/Y,EAAE,EAAE,UAAU,SAASC,EAASD,GAAG,GAAK,UAAU,WAAW,SAAS,EAAE,CAAiF,OAAhF,QAAQ,KAAK,kEAAkE,CAAQ,KAAK,cAAcA,EAAE,EAA+e,GAAW,UAAU,UAAU,UAAU,CAAC,QAAQ,MAAM,2FAA2F,EAAE,GAAe,UAAU,OAAO,UAAU,CAAC,QAAQ,MAAM,+DAA+D,EAA6O,GAAO,UAAU,eAAe,SAAS,EAAE,CAAsH,OAArH,QAAQ,KAAK,uGAAuG,CAAQ,GAAY,eAAeA,EAAE,EAAE,GAAO,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,MAAM,0FAA0F,EAAE,IAAI,UAAU,CAAC,QAAQ,MAAM,0FAA0F,EAAE,CAA6Q,GAAK,UAAU,OAAO,SAAS,EAAE,CAAyE,OAAxE,QAAQ,KAAK,0DAA0D,CAAQ,KAAK,UAAUA,EAAE,EAAE,GAAK,UAAU,MAAM,UAAU,CAAsE,OAArE,QAAQ,KAAK,uDAAuD,CAAQ,KAAK,SAAS,EAAE,GAAK,UAAU,kBAAkB,SAAS,EAAE,CAAwF,OAAvF,QAAQ,KAAK,yEAAyE,CAAQ,KAAK,cAAcA,EAAE,EAAE,GAAK,UAAU,KAAK,SAAS,EAAE,CAAqE,OAApE,QAAQ,KAAK,sDAAsD,CAAQ,KAAK,QAAQA,EAAE,EAAE,GAAK,UAAU,OAAO,SAAS,EAAE,CAAyE,OAAxE,QAAQ,KAAK,0DAA0D,CAAQ,KAAK,UAAUA,EAAE,EAAE,GAAK,UAAU,MAAM,UAAU,CAAsE,OAArE,QAAQ,KAAK,uDAAuD,CAAQ,KAAK,SAAS,EAAE,GAAK,UAAU,kBAAkB,SAAS,EAAE,CAAwF,OAAvF,QAAQ,KAAK,yEAAyE,CAAQ,KAAK,cAAcA,EAAE,EAAE,GAAK,UAAU,qBAAqB,SAAS,EAAE,CAA8F,OAA7F,QAAQ,KAAK,+EAA+E,CAAQ,KAAK,iBAAiBA,EAAE,EAAE,GAAK,UAAU,KAAK,SAAS,EAAE,CAAqE,OAApE,QAAQ,KAAK,sDAAsD,CAAQ,KAAK,QAAQA,EAAE,EAAE,GAAO,UAAU,MAAM,UAAU,CAAwE,OAAvE,QAAQ,KAAK,yDAAyD,CAAQ,KAAK,SAAS,EAAE,GAAQ,UAAU,cAAc,SAAS,EAAE,CAAiG,OAAhG,QAAQ,KAAK,kFAAkF,CAAQ,KAAK,wBAAwBA,EAAE,EAAE,GAAM,UAAU,OAAO,SAAS,EAAE,CAA0E,OAAzE,QAAQ,KAAK,2DAA2D,CAAQ,KAAK,UAAUA,EAAE,EAAE,GAAQ,UAAU,qBAAqB,SAAS,EAAE,EAAE,CAAqG,OAApG,QAAQ,KAAK,sFAAsF,CAAQ,KAAK,QAAQA,EAAEC,EAAE,EAAE,GAAQ,UAAU,gBAAgB,SAAS,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQD,EAAE,aAAa,KAAK,EAAE,GAAQ,UAAU,qBAAqB,UAAU,CAAC,QAAQ,MAAM,2DAA2D,EAAE,GAAQ,UAAU,uBAAuB,SAAS,EAAE,CAA0H,OAAzH,QAAQ,KAAK,2GAA2G,CAAQA,EAAE,aAAa,KAAK,EAAE,GAAQ,UAAU,oBAAoB,UAAU,CAAC,QAAQ,MAAM,0DAA0D,EAAE,GAAQ,UAAU,WAAW,SAAS,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQ,KAAK,KAAKA,EAAE,CAAC,QAAQ,EAAE,EAAQ,UAAU,gBAAgB,SAAS,EAAE,CAAwF,OAAvF,QAAQ,KAAK,yEAAyE,CAAQ,KAAK,aAAaA,EAAE,EAAE,EAAQ,UAAU,qBAAqB,SAAS,EAAE,EAAE,CAAqG,OAApG,QAAQ,KAAK,sFAAsF,CAAQ,KAAK,QAAQA,EAAEC,EAAE,EAAE,EAAQ,UAAU,YAAY,UAAU,CAAsH,OAArH,QAAQ,KAAK,uGAAuG,CAAQ,IAAI,GAAO,CAAE,oBAAoB,KAAK,EAAE,EAAE,EAAQ,UAAU,0BAA0B,SAAS,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQ,KAAK,2BAA2BD,EAAE,EAAE,EAAQ,UAAU,gBAAgB,UAAU,CAAC,QAAQ,KAAK,sDAAsD,EAAE,EAAQ,UAAU,gBAAgB,SAAS,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQA,EAAE,aAAa,KAAK,EAAE,EAAQ,UAAU,gBAAgB,SAAS,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQA,EAAE,aAAa,KAAK,EAAE,EAAQ,UAAU,qBAAqB,UAAU,CAAC,QAAQ,MAAM,2DAA2D,EAAE,EAAQ,UAAU,WAAW,SAAS,EAAE,CAAC,QAAQ,KAAK,mGAAmG,CAAC,EAAE,mBAAmB,KAAK,EAAE,EAAQ,UAAU,YAAY,SAAS,EAAE,CAA4G,OAA3G,QAAQ,KAAK,6FAA6F,CAAQA,EAAE,aAAa,KAAK,EAAE,EAAQ,UAAU,UAAU,UAAU,CAAC,QAAQ,MAAM,gDAAgD,EAAE,EAAQ,UAAU,QAAQ,UAAU,CAAC,QAAQ,MAAM,8CAA8C,EAAE,EAAQ,UAAU,QAAQ,UAAU,CAAC,QAAQ,MAAM,8CAA8C,EAAE,EAAQ,UAAU,QAAQ,UAAU,CAAC,QAAQ,MAAM,8CAA8C,EAAE,EAAQ,UAAU,aAAa,UAAU,CAAC,QAAQ,MAAM,mDAAmD,EAAE,EAAQ,UAAU,uBAAuB,SAAS,EAAE,CAA0H,OAAzH,QAAQ,KAAK,2GAA2G,CAAQA,EAAE,aAAa,KAAK,EAAE,EAAQ,UAAU,oBAAoB,UAAU,CAAC,QAAQ,MAAM,0DAA0D,EAAE,EAAQ,UAAU,YAAY,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAsI,OAArI,QAAQ,KAAK,uHAAuH,CAAQ,KAAK,gBAAgBA,EAAEC,EAAEC,EAAE,EAAEE,EAAEI,EAAE,EAAE,EAAQ,UAAU,WAAW,SAAS,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQ,KAAK,KAAKR,EAAE,CAAC,QAAQ,EAAE,GAAM,UAAU,mBAAmB,SAAS,EAAE,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,eAAeA,EAAE,EAAE,GAAW,UAAU,gBAAgB,SAAS,EAAE,CAAiI,OAAhI,QAAQ,KAAK,kHAAkH,CAAQA,EAAE,gBAAgB,KAAK,EAAE,GAAW,UAAU,QAAQ,UAAU,CAA4E,OAA3E,QAAQ,KAAK,6DAA6D,CAAQ,KAAK,QAAQ,EAAE,GAAI,UAAU,kBAAkB,SAAS,EAAE,CAAuF,OAAtF,QAAQ,KAAK,wEAAwE,CAAQ,KAAK,cAAcA,EAAE,EAAE,GAAI,UAAU,oBAAoB,SAAS,EAAE,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,gBAAgBA,EAAE,EAAE,GAAI,UAAU,qBAAqB,SAAS,EAAE,CAA6F,OAA5F,QAAQ,KAAK,8EAA8E,CAAQ,KAAK,iBAAiBA,EAAE,EAAE,GAAS,UAAU,KAAK,UAAU,CAAyE,OAAxE,QAAQ,KAAK,0DAA0D,CAAQ,KAAK,SAAS,EAAE,GAAS,UAAU,mBAAmB,SAAS,EAAE,EAAE,CAA4F,OAA3F,QAAQ,KAAK,6EAA6E,CAAQ,KAAK,aAAaA,EAAEC,EAAE,EAAE,GAAS,UAAU,SAAS,SAAS,EAAE,CAAiF,OAAhF,QAAQ,KAAK,kEAAkE,CAAQ,KAAK,YAAYD,EAAE,EAAE,GAAS,gBAAgB,SAAS,EAAE,CAA6E,OAA5E,QAAQ,KAAK,8DAA8D,CAAQ,KAAK,UAAUA,EAAE,EAAE,GAAS,UAAU,MAAM,SAAS,EAAE,CAA2E,OAA1E,QAAQ,KAAK,4DAA4D,CAAQ,KAAK,SAASA,EAAE,EAAE,GAAS,mBAAmB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAA4F,OAA3F,QAAQ,KAAK,6EAA6E,CAAQ,GAAS,aAAaA,EAAEC,EAAE,EAAEC,EAAEE,EAAE,EAAE,GAAS,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CAA6E,OAA5E,QAAQ,KAAK,8DAA8D,CAAQ,GAAS,UAAUJ,EAAEC,EAAE,EAAEC,EAAE,EAAE,GAAM,UAAU,iBAAiB,SAAS,EAAE,CAAkG,OAAjG,QAAQ,KAAK,mFAAmF,CAAQ,KAAK,cAAcF,EAAE,EAAE,GAAM,UAAU,QAAQ,SAAS,EAAE,CAA0F,OAAzF,QAAQ,KAAK,2EAA2E,CAAQ,IAAI,GAAgB,KAAKA,EAAE,EAAE,GAAM,UAAU,aAAa,SAAS,EAAE,CAA6F,OAA5F,QAAQ,KAAK,8EAA8E,CAAQ,IAAI,GAAc,KAAKA,EAAE,EAAE,EAAQ,UAAU,cAAc,SAAS,EAAE,EAAE,EAAE,CAA6F,OAA5F,QAAQ,KAAK,8EAA8E,CAAQ,KAAK,oBAAoBA,EAAEC,EAAE,EAAE,EAAE,EAAQ,UAAU,oBAAoB,SAAS,EAAE,CAAmG,OAAlG,QAAQ,KAAK,oFAAoF,CAAQ,KAAK,oBAAoBD,EAAE,EAAE,EAAQ,UAAU,gBAAgB,UAAU,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,iBAAiB,EAAE,EAAQ,UAAU,2BAA2B,UAAU,CAAC,QAAQ,MAAM,4GAA4G,EAAE,EAAQ,UAAU,uBAAuB,UAAU,CAAC,QAAQ,MAAM,oGAAoG,EAAE,EAAQ,UAAU,sBAAsB,SAAS,EAAE,CAAuG,OAAtG,QAAQ,KAAK,wFAAwF,CAAQ,KAAK,sBAAsBA,EAAE,EAAE,EAAQ,UAAU,mBAAmB,SAAS,EAAE,CAAiG,OAAhG,QAAQ,KAAK,kFAAkF,CAAQ,KAAK,mBAAmBA,EAAE,EAAE,EAAQ,UAAU,oBAAoB,SAAS,EAAE,EAAE,CAAmG,OAAlG,QAAQ,KAAK,oFAAoF,CAAQ,KAAK,oBAAoBC,EAAED,EAAE,EAAE,EAAQ,UAAU,gBAAgB,SAAS,EAAE,CAAqG,OAApG,QAAQ,KAAK,sFAAsF,CAAQ,KAAK,aAAaA,EAAE,EAAE,EAAQ,UAAU,cAAc,SAAS,EAAE,EAAE,EAAE,CAA6F,OAA5F,QAAQ,KAAK,8EAA8E,CAAQ,KAAK,oBAAoBA,EAAEC,EAAE,EAAE,EAAE,EAAQ,UAAU,oBAAoB,SAAS,EAAE,CAAmG,OAAlG,QAAQ,KAAK,oFAAoF,CAAQ,KAAK,oBAAoBD,EAAE,EAAE,EAAQ,UAAU,gBAAgB,UAAU,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,iBAAiB,EAAE,GAAQ,UAAU,cAAc,SAAS,EAAE,EAAE,EAAE,CAA6F,OAA5F,QAAQ,KAAK,8EAA8E,CAAQ,KAAK,oBAAoBA,EAAEC,EAAE,EAAE,EAAE,GAAQ,UAAU,gBAAgB,UAAU,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,iBAAiB,EAAE,GAAS,UAAU,eAAe,SAAS,EAAE,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,gBAAgBD,EAAE,EAAE,GAAS,UAAU,YAAY,UAAU,CAAC,QAAQ,KAAK,4EAA4E,EAAE,GAAS,UAAU,UAAU,SAAS,EAAE,EAAE,CAAgH,OAA/G,QAAQ,KAAK,iGAAiG,CAAQ,KAAK,gBAAgBC,EAAED,EAAE,EAAE,GAAS,UAAU,iBAAiB,UAAU,CAAC,QAAQ,MAAM,iHAAiH,EAAE,GAAS,UAAU,YAAY,SAAS,EAAE,CAAqF,OAApF,QAAQ,KAAK,sEAAsE,CAAQ,KAAK,aAAaA,EAAE,EAAE,OAAO,iBAAiB,GAAS,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAqE,OAApE,QAAQ,KAAK,sDAAsD,CAAQ,KAAK,SAAS,OAAO,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,sDAAsD,CAAC,KAAK,SAAS,MAAMA,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,gGAAgG,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,gGAAgG,EAAE,CAAC,CAAC,CAAC,GAAK,UAAU,YAAY,UAAU,CAAC,QAAQ,MAAM,4LAA4L,EAAE,OAAO,iBAAiB,GAAK,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAmH,OAAlH,QAAQ,MAAM,mGAAmG,CAAQwM,IAAI,IAAI,UAAU,CAAC,QAAQ,MAAM,uLAAuL,EAAE,CAAC,CAAC,CAAC,GAAY,UAAU,UAAU,UAAU,CAAC,QAAQ,MAAM,mDAAmD,EAAE,GAAkB,UAAU,QAAQ,SAAS,EAAE,EAAE,CAAC,QAAQ,KAAK,8GAA8G,CAAUvM,IAAT,IAAK,KAAQ,KAAK,UAAUA,GAAG,KAAK,eAAeD,EAAE,EAAE,OAAO,iBAAiB,GAAM,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,6CAA6C,EAAE,CAAC,gBAAgB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,OAAO,OAAO,IAAIA,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,6DAA6D,CAAC,KAAK,OAAO,OAAO,KAAKA,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,+DAA+D,CAAC,KAAK,OAAO,OAAO,MAAMA,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,OAAO,OAAO,IAAIA,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,iEAAiE,CAAC,KAAK,OAAO,OAAO,OAAOA,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,6DAA6D,CAAC,KAAK,OAAO,OAAO,KAAKA,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,OAAO,OAAO,IAAIA,GAAG,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,iHAAiH,EAAE,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,gDAAgD,CAAC,KAAK,OAAO,KAAKA,GAAG,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,iDAAiD,EAAE,CAAC,eAAe,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,6DAA6D,CAAC,KAAK,OAAO,QAAQ,MAAMA,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,+DAA+D,CAAC,KAAK,OAAO,QAAQ,OAAOA,GAAG,CAAC,CAAC,CAAC,OAAO,iBAAiB,GAAgB,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAyF,OAAxF,QAAQ,KAAK,0EAA0E,CAAQ,KAAK,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAA0F,OAAzF,QAAQ,KAAK,2EAA2E,CAAQ,KAAK,QAAQ6M,IAAI,IAAI,UAAU,CAAC,QAAQ,KAAK,2EAA2E,CAAC,KAAK,SAASA,GAAG,EAAE,CAAC,CAAC,CAAC,GAAgB,UAAU,WAAW,SAAS,EAAE,CAAkI,OAAjI,QAAQ,KAAK,qFAAqF,CAAC,KAAK,SAAS,KAAO7M,EAAE6M,GAAGD,GAAG,CAAQ,MAAM,GAAgB,UAAU,iBAAiB,UAAU,CAAC,QAAQ,MAAM,+DAA+D,EAAE,GAAgB,UAAU,SAAS,UAAU,CAAC,QAAQ,MAAM,0HAA0H,EAAE,GAAe,UAAU,SAAS,SAAS,EAAE,CAAC,QAAQ,KAAK,qEAAqE,CAAC,KAAK,SAAS5M,EAAE,EAAE,GAAe,UAAU,aAAa,SAAS,EAAE,EAAE,CAAuc,OAAtc,QAAQ,KAAK,6EAA6E,CAAI,EAAEC,GAAGA,EAAE,oBAAoB,EAAEA,GAAGA,EAAE,+BAA+B,QAAQ,KAAK,yEAAyE,CAAQ,KAAK,aAAaD,EAAE,IAAI,GAAgB,UAAU,GAAG,UAAU,GAAG,CAAC,EAAcA,IAAV,SAAa,QAAQ,KAAK,0EAA0E,CAAC,KAAK,SAASC,EAAE,CAAQ,MAAY,KAAK,aAAaD,EAAEC,EAAE,EAAE,GAAe,UAAU,YAAY,SAAS,EAAE,EAAE,EAAE,CAAU,IAAT,IAAK,IAAO,QAAQ,KAAK,uEAAuE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,SAASD,EAAEC,EAAE,EAAE,GAAe,UAAU,eAAe,UAAU,CAAC,QAAQ,KAAK,iEAAiE,CAAC,KAAK,aAAa,EAAE,GAAe,UAAU,eAAe,UAAU,CAAC,QAAQ,KAAK,4DAA4D,EAAE,GAAe,UAAU,gBAAgB,SAAS,EAAE,CAAkG,OAAjG,QAAQ,KAAK,mFAAmF,CAAQ,KAAK,gBAAgBD,EAAE,EAAE,GAAe,UAAU,YAAY,SAAS,EAAE,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,aAAaA,EAAE,EAAE,OAAO,iBAAiB,GAAe,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAgF,OAA/E,QAAQ,MAAM,gEAAgE,CAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAA6E,OAA5E,QAAQ,KAAK,8DAA8D,CAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAkB,UAAU,WAAW,SAAS,EAAE,CAAoI,OAAnI,QAAQ,KAAK,uFAAuF,CAAC,KAAK,SAAS,KAAOA,EAAE6M,GAAGD,GAAG,CAAQ,MAAM,GAAkB,UAAU,SAAS,UAAU,CAAC,QAAQ,MAAM,4HAA4H,EAAE,GAAgB,UAAU,UAAU,UAAU,CAAC,QAAQ,MAAM,wDAAwD,EAAE,GAAgB,UAAU,aAAa,UAAU,CAAC,QAAQ,MAAM,2DAA2D,EAAE,GAAgB,UAAU,SAAS,UAAU,CAAC,QAAQ,MAAM,uDAAuD,EAAE,GAAM,UAAU,QAAQ,UAAU,CAAC,QAAQ,MAAM,4CAA4C,EAAE,GAAQ,UAAU,SAAS,UAAU,CAAmG,OAAlG,QAAQ,KAAK,oFAAoF,CAAQ,MAAM,OAAO,iBAAiB,GAAS,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,gDAAgD,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,gDAAgD,EAAE,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,8CAA8C,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,8CAA8C,EAAE,CAAC,QAAQ,CAAC,IAAI,UAAU,CAA4D,OAA3D,QAAQ,KAAK,6CAA6C,CAAQ,IAAI,GAAO,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,MAAM,SAAS,KAAK,KAAK,qEAAqE,EAAE,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,SAAS,KAAK,KAAK,qEAAqE,CAAC,KAAK,YAAY5M,IAAI,IAAG,CAAC,YAAY,CAAC,IAAI,UAAU,CAAmG,OAAlG,QAAQ,KAAK,SAAS,KAAK,KAAK,iEAAiE,CAAQ,KAAK,iBAAiB,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,SAAS,KAAK,KAAK,iEAAiE,CAAC,KAAK,gBAAgBA,GAAG,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,KAAK,KAAK,sCAAsC,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,KAAK,KAAK,sCAAsC,EAAE,CAAC,CAAC,CAAC,OAAO,iBAAiB,GAAe,UAAU,CAAC,YAAY,CAAC,IAAI,UAAU,CAA+F,OAA9F,QAAQ,KAAK,gFAAgF,CAAQ,KAAK,WAAW,aAAa,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,iFAAiF,CAAC,KAAK,WAAW,YAAYA,GAAG,CAAC,CAAC,CAAC,GAAc,UAAU,YAAY,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,wGAAwG,CAAC,KAAK,gBAAgBA,EAAE,CAAC,KAAK,MAAMC,EAAE,EAAEC,EAAE,EAAE,GAAc,UAAU,QAAQ,SAAS,EAAE,CAAC,QAAQ,KAAK,8DAA8D,CAAC,KAAK,iBAAiBF,EAAE,EAAE,GAAc,UAAU,uBAAuB,UAAU,CAA2F,OAA1F,QAAQ,KAAK,4EAA4E,CAAQ,KAAK,iBAAiB,EAAE,GAAc,UAAU,iBAAiB,UAAU,CAAmG,OAAlG,QAAQ,KAAK,oFAAoF,CAAQ,KAAK,aAAa,kBAAkB,EAAE,GAAc,UAAU,aAAa,UAAU,CAAsF,OAArF,QAAQ,KAAK,uEAAuE,CAAQ,KAAK,aAAa,WAAW,GAAc,UAAU,aAAa,UAAU,CAA6E,OAA5E,QAAQ,KAAK,8DAA8D,CAAQ,KAAK,MAAM,OAAO,EAAE,GAAc,UAAU,sBAAsB,UAAU,CAA8G,OAA7G,QAAQ,KAAK,+FAA+F,CAAQ,KAAK,WAAW,IAAI,oBAAoB,EAAE,GAAc,UAAU,0BAA0B,UAAU,CAAuH,OAAtH,QAAQ,KAAK,wGAAwG,CAAQ,KAAK,WAAW,IAAI,yBAAyB,EAAE,GAAc,UAAU,4BAA4B,UAAU,CAA2H,OAA1H,QAAQ,KAAK,4GAA4G,CAAQ,KAAK,WAAW,IAAI,2BAA2B,EAAE,GAAc,UAAU,8BAA8B,UAAU,CAAkI,OAAjI,QAAQ,KAAK,mHAAmH,CAAQ,KAAK,WAAW,IAAI,gCAAgC,EAAE,GAAc,UAAU,+BAA+B,UAAU,CAAoI,OAAnI,QAAQ,KAAK,qHAAqH,CAAQ,KAAK,WAAW,IAAI,iCAAiC,EAAE,GAAc,UAAU,oBAAoB,UAAU,CAA2G,OAA1G,QAAQ,KAAK,4FAA4F,CAAQ,KAAK,WAAW,IAAI,mBAAmB,EAAE,GAAc,UAAU,uBAAuB,UAAU,CAAqG,OAApG,QAAQ,KAAK,sFAAsF,CAAQ,KAAK,aAAa,gBAAgB,GAAc,UAAU,wBAAwB,UAAU,CAAqH,OAApH,QAAQ,KAAK,sGAAsG,CAAQ,KAAK,WAAW,IAAI,yBAAyB,EAAE,GAAc,UAAU,kBAAkB,SAAS,EAAE,CAAC,QAAQ,KAAK,sEAAsE,CAAC,KAAK,eAAeA,EAAE,EAAE,GAAc,UAAU,aAAa,UAAU,CAAC,QAAQ,KAAK,yDAAyD,EAAE,GAAc,UAAU,aAAa,UAAU,CAAC,QAAQ,KAAK,yDAAyD,EAAE,GAAc,UAAU,cAAc,UAAU,CAAC,QAAQ,KAAK,0DAA0D,EAAE,GAAc,UAAU,gBAAgB,UAAU,CAAC,QAAQ,KAAK,4DAA4D,EAAE,GAAc,UAAU,eAAe,UAAU,CAAC,QAAQ,KAAK,2DAA2D,EAAE,GAAc,UAAU,iBAAiB,UAAU,CAAC,QAAQ,KAAK,6DAA6D,EAAE,GAAc,UAAU,WAAW,UAAU,CAAC,QAAQ,KAAK,uDAAuD,EAAE,GAAc,UAAU,aAAa,UAAU,CAAC,QAAQ,KAAK,yDAAyD,EAAE,GAAc,UAAU,eAAe,UAAU,CAAC,QAAQ,KAAK,2DAA2D,EAAE,GAAc,UAAU,qBAAqB,UAAU,CAA8F,OAA7F,QAAQ,KAAK,+EAA+E,CAAQ,KAAK,sBAAsB,EAAE,OAAO,iBAAiB,GAAc,UAAU,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,UAAU,SAAS,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,oEAAoE,CAAC,KAAK,UAAU,QAAQA,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,UAAU,MAAM,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,8DAA8D,CAAC,KAAK,UAAU,KAAKA,GAAG,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,6FAA6F,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,6FAA6F,EAAE,CAAC,QAAQ,CAAC,IAAI,UAAU,CAA4F,OAA3F,QAAQ,KAAK,6EAA6E,CAAQ,KAAK,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAkE,OAAjE,QAAQ,KAAK,mDAAmD,CAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,UAAU,CAAgI,OAA/H,QAAQ,KAAK,iHAAiH,CAAQ,IAAO,IAAI,UAAU,CAAC,QAAQ,KAAK,iHAAiH,EAAE,CAAC,YAAY,CAAC,IAAI,UAAU,CAA+G,OAA9G,QAAQ,KAAK,gGAAgG,CAAQ,IAAO,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,gGAAgG,CAAC,KAAK,eAAe,KAAOA,EAAE+D,GAAGb,IAAI,CAAC,sBAAsB,CAAC,IAAI,UAAU,CAA+E,OAA9E,QAAQ,KAAK,gEAAgE,CAAQ,GAAG,IAAI,UAAU,CAAC,QAAQ,KAAK,gEAAgE,EAAE,CAAC,YAAY,CAAC,IAAI,UAAU,CAAqE,OAApE,QAAQ,KAAK,sDAAsD,CAAQ,GAAG,IAAI,UAAU,CAAC,QAAQ,KAAK,sDAAsD,EAAE,CAAC,CAAC,CAAC,OAAO,iBAAiB,GAAe,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,8FAA8F,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,8FAA8F,EAAE,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,wGAAwG,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,wGAAwG,EAAE,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,uGAAuG,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,uGAAuG,EAAE,CAAC,CAAC,CAAkM,OAAO,iBAAiB,GAAkB,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAwE,OAAvE,QAAQ,KAAK,yDAAyD,CAAQ,KAAK,QAAQ,OAAO,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,yDAAyD,CAAC,KAAK,QAAQ,MAAMlD,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAwE,OAAvE,QAAQ,KAAK,yDAAyD,CAAQ,KAAK,QAAQ,OAAO,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,yDAAyD,CAAC,KAAK,QAAQ,MAAMA,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAgF,OAA/E,QAAQ,KAAK,iEAAiE,CAAQ,KAAK,QAAQ,WAAW,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,iEAAiE,CAAC,KAAK,QAAQ,UAAUA,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAgF,OAA/E,QAAQ,KAAK,iEAAiE,CAAQ,KAAK,QAAQ,WAAW,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,iEAAiE,CAAC,KAAK,QAAQ,UAAUA,GAAG,CAAC,WAAW,CAAC,IAAI,UAAU,CAAkF,OAAjF,QAAQ,KAAK,mEAAmE,CAAQ,KAAK,QAAQ,YAAY,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,mEAAmE,CAAC,KAAK,QAAQ,WAAWA,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAA0E,OAAzE,QAAQ,KAAK,2DAA2D,CAAQ,KAAK,QAAQ,QAAQ,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,QAAQ,OAAOA,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAA0E,OAAzE,QAAQ,KAAK,2DAA2D,CAAQ,KAAK,QAAQ,QAAQ,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,QAAQ,OAAOA,GAAG,CAAC,OAAO,CAAC,IAAI,UAAU,CAA0E,OAAzE,QAAQ,KAAK,2DAA2D,CAAQ,KAAK,QAAQ,QAAQ,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,2DAA2D,CAAC,KAAK,QAAQ,OAAOA,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,CAAsE,OAArE,QAAQ,KAAK,uDAAuD,CAAQ,KAAK,QAAQ,MAAM,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,uDAAuD,CAAC,KAAK,QAAQ,KAAKA,GAAG,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAA4F,OAA3F,QAAQ,KAAK,6EAA6E,CAAQ,KAAK,QAAQ,iBAAiB,IAAI,SAAS,EAAE,CAAC,QAAQ,KAAK,6EAA6E,CAAC,KAAK,QAAQ,gBAAgBA,GAAG,CAAC,CAAC,CAAC,GAAM,UAAU,KAAK,SAAS,EAAE,CAAC,QAAQ,KAAK,yEAAyE,CAAC,IAAMC,EAAE,KAAqE,OAAxD,IAAI,IAAW,CAAG,KAAKD,GAAG,SAAS,EAAE,CAAC,EAAE,UAAUA,EAAE,GAAG,CAAQ,MAAM,GAAc,UAAU,QAAQ,UAAU,CAA6E,OAA5E,QAAQ,KAAK,8DAA8D,CAAQ,KAAK,kBAAkB,EAAE,GAAW,UAAU,cAAc,SAAS,EAAE,EAAE,CAAsE,OAArE,QAAQ,KAAK,uDAAuD,CAAQ,KAAK,OAAOA,EAAEC,EAAE,EAAE,GAAW,UAAU,MAAM,SAAS,EAAE,EAAE,EAAE,EAAE,CAA0E,OAAzE,QAAQ,KAAK,2DAA2D,CAAQ,KAAK,aAAa,MAAMD,EAAEC,EAAE,EAAEC,EAAE,EAAE,GAAW,YAAY,IAAK,GAAE,GAAW,YAAY,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,uFAAuF,CAAC,IAAME,EAAE,IAAI,GAAc,EAAE,eAAe,KAAK,YAAY,CAAC,IAAMI,EAAEJ,EAAE,KAAKJ,EAAE,EAAE,IAAK,GAAEE,EAAE,CAAkB,OAAjB,IAAI,EAAE,QAAQD,GAAUO,GAAG,GAAW,gBAAgB,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,+FAA+F,CAAC,IAAMJ,EAAE,IAAI,GAAkB,EAAE,eAAe,KAAK,YAAY,CAAC,IAAMI,EAAEJ,EAAE,KAAKJ,EAAE,EAAE,IAAK,GAAEE,EAAE,CAAkB,OAAjB,IAAI,EAAE,QAAQD,GAAUO,GAAG,GAAW,sBAAsB,UAAU,CAAC,QAAQ,MAAM,wFAAwF,EAAE,GAAW,0BAA0B,UAAU,CAAC,QAAQ,MAAM,4FAA4F,EAAmtC,OAAO,mBAArB,KAAyC,mBAAmB,cAAc,IAAI,YAAY,WAAW,CAAC,OAAO,CAAC,SAAS,GAAE,CAAC,CAAC,CAAC,CAAsB,IAArB,SAA8B,EAAO,UAAU,QAAQ,KAAK,0DAA0D,CAAC,EAAO,UAAU,OChB3g8E,SAASyY,GAAG,EAAE,CAAC,IAAI,IAAIC,EAAEC,EAAE,OAAO,EAAED,GAAG,EAAE,EAAEA,EAAE,GAAGC,EAAED,IAAI,MAAM,MAAM,CAAC,EAAE,MAAM,CAAC,EAA+J,SAAS,GAAG,EAAE,CAAC,OAAO,YAAY,OAAOC,EAAE,EAAE,EAAEA,aAAa,UAAU,SAASC,GAAG,EAAE,CAAC,OAAO,SAAS,gBAAgB,+BAA+BD,EAAE,CAAoN,SAASI,GAAG,EAAE,CAAC,IAAIL,EAAEC,EAAE,GAAG,GAAG,OAAOD,GAAG,UAAUA,EAAE,WAAW,OAAO,CAAC,CAAC,IAAIM,EAAEL,EAAE,GAAG,GAAGK,EAAE,aAAa,EAAE,IAAI,IAAIA,EAAE,aAAa,CAAC,EAAE,GAAG,4FAA4F,OAAOL,EAAE,SAAS,GAAE,GAAGA,EAAE,CAAC,EAAEI,GAAGJ,EAAE,CAAC,IAAID,EAAE,SAASC,EAAE,OAAO,CAAC,GAAGG,GAAG,GAAG,OAAOJ,EAAE,GAAGC,EAAE,KAAK,CAAC,IAAIK,EAAEL,EAAE,GAAG,GAAGK,EAAE,aAAa,QAAQ,KAAKA,EAAE,SAASN,EAAE,CAAC,CAAC,QAAQ,KAAKA,EAAE,GAAGC,EAAE,EAAE,SAASM,GAAE,GAAGN,EAAE,CAAC,EAAEI,GAAGJ,EAAE,CAAC,IAAID,EAAE,SAASC,EAAE,OAAO,CAAC,GAAGG,GAAG,GAAG,QAAQJ,EAAE,GAAGC,EAAE,KAAK,CAAC,IAAIK,EAAEL,EAAE,GAAG,GAAGK,EAAE,aAAa,QAAQ,MAAMA,EAAE,SAASN,EAAE,CAAC,CAAC,QAAQ,MAAMA,EAAE,GAAGC,EAAE,EAAE,SAASO,GAAG,GAAGP,EAAE,CAAC,IAAID,EAAEC,EAAE,KAAK,IAAI,CAAC,KAAKQ,KAAK,GAAGT,GAAG,CAAC,EAAE,GAAE,GAAGC,EAAE,EAAu0E,SAAS,IAAI,CAAC,IAAIA,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAED,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAEM,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAEI,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAGT,EAAE,KAAK,GAAGA,GAAG,EAAE,KAAK,GAAGA,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,KAAK,IAAI,GAAGD,EAAE,KAAK,GAAGA,GAAG,EAAE,KAAK,IAAI,GAAGA,GAAG,GAAG,GAAG,IAAI,GAAGA,GAAG,GAAG,KAAK,IAAI,GAAGM,EAAE,GAAG,KAAK,GAAGA,GAAG,EAAE,KAAK,IAAI,GAAGA,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,KAAK,GAAGI,EAAE,KAAK,GAAGA,GAAG,EAAE,KAAK,GAAGA,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,MAAM,aAAa,CAAC,SAASC,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIX,EAAE,KAAK,IAAIM,EAAEL,EAAE,CAAC,CAAC,SAASW,GAAG,EAAE,EAAE,CAAC,OAAOX,EAAED,EAAEA,GAAGA,EAAkG,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAEM,GAAGL,EAAEK,EAAEN,EAAmuC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAOA,EAAE,YAAT,CAAsB,KAAK,aAAa,OAAOC,EAAE,KAAK,YAAY,OAAOA,EAAE,WAAW,KAAK,YAAY,OAAOA,EAAE,MAAM,KAAK,WAAW,OAAOA,EAAE,IAAI,KAAK,WAAW,OAAO,KAAK,IAAIA,EAAE,WAAW,GAAG,CAAC,KAAK,WAAW,OAAO,KAAK,IAAIA,EAAE,MAAM,GAAG,CAAC,KAAK,UAAU,OAAO,KAAK,IAAIA,EAAE,IAAI,GAAG,CAAC,QAAQ,MAAU,MAAM,0BAA0B,EAAE,SAAS,GAAE,EAAE,EAAE,CAAC,OAAOD,EAAE,YAAT,CAAsB,KAAK,aAAa,OAAOC,EAAE,KAAK,YAAY,OAAO,KAAK,MAAMA,EAAE,WAAW,CAAC,KAAK,YAAY,OAAO,KAAK,MAAMA,EAAE,MAAM,CAAC,KAAK,WAAW,OAAO,KAAK,MAAMA,EAAE,IAAI,CAAC,KAAK,WAAW,OAAO,KAAK,MAAMA,EAAE,WAAW,CAAC,KAAK,WAAW,OAAO,KAAK,MAAMA,EAAE,MAAM,CAAC,KAAK,UAAU,OAAO,KAAK,MAAMA,EAAE,IAAI,CAAC,QAAQ,MAAU,MAAM,0BAA0B,EAA84kB,SAAS,IAAI,CAAC,IAAIA,EAAE,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,EAAE,CAAC,QAAQ,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,GAAG,IAAIoB,GAAG,CAAC,GAAG,CAACA,IAAI,KAAK,OAAO,GAAG,WAAW,KAAK,EAAE,EAAE,GAAGR,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAK,OAAO,GAAG,YAAY,KAAK,OAAOQ,GAAG,YAAYR,EAAE,aAAa,KAAK,OAAO,GAAG,MAAM,CAACA,EAAE,aAAa,KAAK,OAAOQ,GAAG,QAAQ,EAAE,KAAK,OAAOA,GAAG,WAAW,KAAK,EAAE,EAAE,GAAGR,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,GAAG,oBAAoB,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQA,EAAE,KAAK,kBAAkB,EAAE,EAAE,oBAAoB,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQA,EAAE,EAAE,KAAK,kBAAkB,EAAE,aAAa,SAAS,EAAE,CAAC,OAAO,KAAK,OAAOA,GAAG,WAAW,YAAY,SAAS,EAAE,CAAC,OAAOA,IAAI,GAAGe,GAAG,KAAK,OAAOf,GAAG,UAAU,mBAAmB,SAAS,EAAE,CAAC,OAAO,KAAK,OAAOA,GAAG,uBAAuB,iBAAiB,YAAY,yBAAyB,SAAS,EAAE,EAAE,KAAK,kBAAkB,CAAC,OAAOA,EAAE,UAAU,KAAK,OAAO,GAAG,sBAAsB,EAAE,OAAO,SAAS,EAAE,CAAC,OAAO,OAAO,KAAK,OAAOA,EAAE,EAAE,WAAW,SAAS,EAAE,EAAE,EAAE,CAAC,OAAOA,EAAE,KAAK,KAAK,OAAO,GAAG,MAAM,CAAC,SAAS,KAAK,OAAOQ,GAAG,QAAQ,EAAE,4BAA4B,SAAS,EAAE,CAAC,OAAO,KAAK,OAAOR,GAAG,uBAAuB,yBAAyB,qBAAqB,SAAS,EAAE,KAAK,kBAAkB,CAAC,OAAO,KAAK,OAAOA,GAAG,wBAAwB,kBAAkB,sBAAsB,SAAS,EAAE,EAAE,CAAC,OAAOL,GAAG,wFAAwF,CAACP,EAAE,oBAAoBY,EAAE,EAAE,EAAE,oBAAoB,SAAS,EAAE,EAAE,CAAC,OAAOL,GAAG,sFAAsF,CAACP,EAAE,oBAAoBY,EAAE,EAAE,EAAE,CAACb,EAAE,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,CAACM,EAAE,CAAC,MAAM,MAAM,MAAM,CAACI,EAAE,CAAC,MAAM,KAAK,CAAC,OAAOT,EAAE,OAAO,EAAE,IAAI,CAAC,UAAUD,EAAE,WAAWU,EAAE,SAASkB,GAAG,MAAM,GAAG,QAAQC,GAAG,sBAAsBvB,EAAE,wBAAwB,CAAC,iBAAiB,GAAG,CAAC,uBAAuB,CAAC,wBAAwB,GAAG,CAAC,EAAE,IAAI,CAAC,UAAUN,EAAE,WAAWU,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQmB,GAAG,sBAAsBvB,EAAE,uBAAuB,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAACL,EAAc,SAAS,GAAG,EAAE,CAAC,OAAOA,EAAE,OAAOA,EAAE,aAAqBA,EAAE,YAAY,cAAY,IAAK,SAAS,GAAG,EAAE,CAAC,OAAOA,EAAE,SAASA,EAAE,MAAM,MAAeA,GAAE,OAAQ,KAAu6D,SAAS6B,GAAG,EAAE,CAAC,OAAO,OAAO,iBAAiB,KAAK7B,aAAa,kBAAkB,OAAO,kBAAkB,KAAKA,aAAa,mBAAmB,OAAO,YAAY,KAAKA,aAAa,YAAY,GAAG,WAAWA,EAAE,CAACA,EAAE,KAAK,CAAC,KAAK,MAAM,KAAKA,EAAE,KAAK,CAAC,MAAMA,EAAE,MAAM,OAAOA,EAAE,OAAO,KAAKA,EAAE,KAAK,YAAY,KAAK,EAAE,GAAE,wCAAwC,CAAC,EAAE,EAAui0C,SAAS8B,GAAG,EAAE,EAAE,EAAE,CAAC,OAAOzB,EAAE,IAAI,GAAG,GAAGA,EAAE,GAAI,IAAMA,EAAE,EAAE,EAAEL,GAAGD,EAAEC,GAAG,EAAEK,EAAEA,EAAE,EAAE,EAAEN,EAAEM,EAAE,EAAE,EAAEL,GAAGD,EAAEC,GAAG,GAAG,EAAE,EAAEK,GAAGL,EAA6md,SAAS+B,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEX,EAAEpB,EAAE,OAAO,EAAE,GAAGoB,EAAE,GAAG,EAAE,CAAC,GAAG,UAAUpB,EAAE,EAAE,CAAC,IAAI,EAAEY,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAACA,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAACA,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC,EAAEb,EAAE,IAAI,GAAG,CAACsB,EAAEhB,EAAE,IAAI,GAAG,CAACiB,EAAEb,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,IAAI,EAAEY,EAAEC,EAAE,CAAC,KAAK,IAAI,EAAED,EAAEC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAc,SAASU,IAAI,CAAC,IAAIhC,EAAE,IAAI,YAAY,EAAE,CAACD,EAAE,IAAI,aAAaC,EAAE,CAACK,EAAE,IAAI,YAAYL,EAAE,CAACS,EAAE,IAAI,YAAY,IAAI,CAACG,EAAE,IAAI,YAAY,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAIS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,IAAIA,EAAE,KAAK,EAAE,GAAG,MAAM,CAACA,EAAE,GAAG,EAAE,EAAE,KAAK,MAAM,CAACA,EAAE,GAAG,MAAM,EAAE,GAAG,CAACA,EAAE,EAAE,EAAE,EAAE,KAAK,CAACA,EAAE,GAAGA,GAAG,IAAI,EAAE,GAAGA,EAAE,IAAI,GAAG,EAAE,EAAE,KAAKA,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,IAAIA,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,YAAY,KAAK,CAACD,EAAE,IAAI,YAAY,GAAG,CAAC,EAAE,IAAI,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAIC,EAAE,GAAG,GAAGC,EAAE,EAAE,KAAA,EAAMD,EAAE,UAAc,IAAI,EAAE,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,EAAE,GAAGA,EAAEC,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,WAAW,EAAE,IAAI,WAAW,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,IAAI,IAAI,EAAE,IAAI,WAAW,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,UAAUvB,EAAE,WAAWM,EAAE,UAAUI,EAAE,WAAWG,EAAE,cAAc,EAAE,cAAcQ,EAAE,YAAY,EAAE,CAAip7C,SAASgB,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAGrC,AAA8C,EAA9CA,EAAE,OAAO,GAAKU,EAAE,kBAAkBW,EAAE,EAAER,EAAE,CAAC,EAAE,EAAE,CAAGH,EAAE,kBAAkBG,EAAE,EAAEQ,EAAErB,EAAE,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,OAAO,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,aAAaC,EAAE,YAAY,CAAC,IAAIqB,EAAEhB,EAAE,IAAI,OAAO,WAAW,GAAG,CAAC,OAAOgB,EAAEhB,EAAE,MAAMgB,EAAEhB,EAAE,IAAI,KAAK,CAAC,SAASgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAOrB,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAACA,EAAE,kBAAkB,EAAE,GAAG,CAACA,EAAE,kBAAkBqB,EAAEgB,GAAG,CAAC,IAAIf,EAAEc,GAAGpC,EAAED,EAAEM,EAAEI,EAAE,GAAG,GAAG4B,GAAG,GAAG,CAAC,GAAGf,EAAE,CAAC,IAAIC,EAAE,IAAI,EAAE,GAAG,aAAa,GAAG,GAAG,GAAGc,GAAGd,EAAE,CAACX,IAAI,EAAE,GAAG0B,GAAG,yBAAyB1B,EAAE,EAAE,EAAES,EAAEE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAIe,GAAG,yBAAyB,EAAE,EAAE,EAAEjB,EAAEE,EAAE,IAAI,EAAE,EAAEH,IAAI,EAAE,OAAOkB,GAAG,yBAAyBlB,EAAE,EAAE,EAAEC,EAAEE,EAAE,IAAI,EAAE,CAACD,EAAE,OAAO,IAAIb,EAAE,UAAU,CAAC,GAAGa,EAAE,OAAO,eAAe,GAAG,EAAE,IAAIE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAEH,EAAE,OAAO,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,UAAU,GAAG,GAAGgB,GAAGb,EAAE,OAAO,CAAC,EAAE,KAAKA,EAAE,EAAE,UAAUD,EAAE,OAAOD,EAAqvnD,SAAS,IAAI,CAAC,IAAItB,EAAE,EAAED,EAAE,EAAEM,EAAE,EAAEI,EAAE,EAAE,SAASG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAEQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,MAAM,CAAC,eAAe,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAEA,EAAE,EAAEC,GAAG,EAAE,GAAGA,GAAG,EAAED,GAAG,EAAE,yBAAyB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAII,GAAGJ,EAAE,GAAGC,GAAG,EAAE,IAAIA,EAAEC,IAAI,EAAEF,GAAGE,EAAEG,GAAG,EAAEL,GAAGE,GAAG,EAAEF,IAAIE,EAAEC,IAAI,EAAE,GAAGA,EAAE,GAAGD,EAAE,GAAGA,EAAEV,EAAEQ,EAAE,EAAEI,EAAEC,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,IAAIL,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,OAAOpB,EAAED,EAAE,EAAEM,EAAEe,EAAEX,EAAE,GAAG,CAAo2D,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,GAAGA,EAAEV,GAAG,GAAGqB,GAAGR,EAAEP,GAAG,GAAG,EAAEL,EAAEA,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEK,EAAE,EAAEI,EAAE,EAAEW,GAAG,GAAG,GAAGf,EAAE,EAAEI,EAAE,EAAE,EAAEW,GAAG,EAAE,EAAEpB,EAAEK,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIA,EAAE,EAAEL,EAAE,OAAOK,EAAEA,EAAEN,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,MAAO,IAAG,EAAEC,GAAGA,EAAED,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAOC,EAAEA,EAAED,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAGC,EAAED,EAAE,CAAC,GAAGC,EAAEK,EAAE,CAAC,GAAGL,EAAES,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIJ,EAAE,EAAEL,EAAE,OAAOK,EAAEA,EAAEA,EAAEN,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIM,EAAE,EAAEL,EAAE,MAAO,GAAEK,EAAEA,EAAEL,EAAED,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,MAAO,IAAG,EAAEC,GAAGA,EAAEA,EAAED,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAOC,EAAEA,EAAEA,EAAED,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAGC,EAAED,EAAE,CAAC,GAAGC,EAAEK,EAAE,CAAC,GAAGL,EAAES,EAAE,CAAC,GAAGT,EAAEY,EAAE,CAAm3R,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIH,EAAEV,GAAGA,EAAE,OAAOa,EAAEH,EAAEV,EAAE,GAAGM,EAAEL,EAAE,OAAO,EAAE4C,GAAG5C,EAAE,EAAEY,EAAEP,EAAE,CAAC,EAAE,CAACe,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,OAAOA,EAAE,IAAI,EAAE,EAAEC,EAAE,GAAGZ,IAAI,EAAE,GAAGT,EAAED,EAAE,EAAEM,EAAE,EAAEL,EAAE,OAAO,GAAGK,EAAE,CAAC,EAAEL,EAAE,GAAG,EAAEA,EAAE,GAAG,IAAIsB,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAIC,EAAEnB,EAAEmB,EAAEZ,EAAE,GAAGP,EAAE,CAAC,IAAIoB,EAAEzB,EAAEwB,GAAGE,EAAE1B,EAAEwB,EAAE,GAAG,EAAE,IAAI,EAAEC,GAAGC,EAAE,IAAI,EAAEA,GAAGD,EAAEH,IAAI,EAAEG,GAAGC,EAAEH,IAAI,EAAEG,GAAG,EAAE,KAAK,IAAIJ,EAAE,EAAEC,EAAE,EAAE,CAAC,EAAEF,IAAI,EAAU,EAAR,MAAMA,EAAI,OAAO,GAAG,EAAED,EAAEf,EAAE,EAAE,EAAEgB,EAAE,EAAE,CAACD,EAAE,SAASwB,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAGhC,IAAI,GAAGZ,EAAED,EAAEM,EAAEI,EAAE,CAAC,EAAE,IAAI,IAAIW,EAAErB,EAAEqB,EAAEf,EAAE,GAAGI,EAAE,EAAE,GAAGW,EAAEX,EAAE,EAAET,EAAEoB,GAAGpB,EAAEoB,EAAE,GAAG,EAAE,MAAM,IAAI,IAAIA,EAAEf,EAAEI,EAAEW,GAAGrB,EAAE,GAAGU,EAAE,EAAE,GAAGW,EAAEX,EAAE,EAAET,EAAEoB,GAAGpB,EAAEoB,EAAE,GAAG,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,CAACpB,EAAE,OAAOA,EAAE,AAAI,IAAEA,EAAG,IAAIK,EAAEL,EAAES,EAAE,EAAG,IAAG,EAAE,CAAC,EAAE,CAACJ,EAAE,UAAU,GAAGA,EAAEA,EAAE,KAAK,EAAE,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,GAAGA,EAAE,CAAC,EAAE,EAAEA,EAAE,KAAKA,IAAIA,EAAE,KAAK,MAAM,EAAE,CAAC,OAAO,EAAEA,EAAE,WAAWI,GAAGJ,IAAIN,GAAG,OAAOA,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAACC,EAAE,OAAO,CAACoB,GAAG,GAAG,GAAGpB,EAAES,EAAEG,EAAE,EAAE,CAAC,IAAI,EAAEZ,EAAE,KAAKA,EAAE,OAAOA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,KAAKqB,EAAErB,EAAE,KAAK,GAAG,EAAE,GAAGA,EAAES,EAAEG,EAAE,EAAE,CAAC,GAAGZ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAEA,EAAE,EAAEqB,EAAE,EAAE,CAAC,GAAGrB,EAAE,CAAC,EAAEqB,EAAE,KAAK,EAAEA,EAAE,KAAK,SAAS,GAAG,EAAEA,EAAErB,IAAI,EAAE,CAAC,EAAEoB,IAAI,GAAG,EAAE,GAAG,GAAGpB,EAAE,CAACD,EAAE,CAAC,GAAGC,EAAED,EAAEM,EAAEI,EAAEG,EAAE,EAAE,EAAE,EAAEQ,IAAI,GAAG,GAAGpB,EAAED,EAAEM,EAAEI,EAAEG,EAAE,EAAE,CAAC,GAAG,GAAGZ,EAAE,CAACD,EAAEM,EAAEI,EAAEG,EAAE,EAAE,EAAE,CAAC,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAIb,EAAEC,EAAE,KAAKK,EAAEL,EAAES,EAAET,EAAE,KAAK,GAAG,GAAGD,EAAEM,EAAEI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIG,EAAEb,EAAE,EAAE,EAAEM,EAAE,EAAEe,EAAEX,EAAE,EAAE,EAAEV,EAAE,EAAE,EAAEM,EAAE,EAAEgB,EAAEZ,EAAE,EAAEa,EAAE,KAAK,IAAIV,EAAE,EAAEQ,EAAE,CAACG,EAAE,KAAK,IAAI,EAAE,EAAEF,EAAE,CAACG,EAAE,KAAK,IAAIZ,EAAE,EAAEQ,EAAE,CAACK,EAAE,KAAK,IAAI,EAAE,EAAEJ,EAAE,CAACK,EAAEjB,EAAE,KAAK,KAAKiB,IAAI3B,GAAG,CAAC,GAAG2B,EAAE,GAAGJ,GAAGI,EAAE,GAAGF,GAAGE,EAAE,GAAGH,GAAGG,EAAE,GAAGD,GAAG,GAAGb,EAAE,EAAE,EAAE,EAAEQ,EAAEC,EAAEK,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,KAAK,MAAM,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAId,EAAEZ,EAAE,KAAK,EAAEA,EAAEoB,EAAEpB,EAAE,KAAK,GAAG,GAAGY,EAAE,EAAEQ,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAER,EAAE,EAAE,EAAE,EAAE,EAAES,EAAED,EAAE,EAAEE,EAAEV,EAAE,EAAEW,EAAE,EAAE,EAAEC,EAAEJ,EAAE,EAAEK,EAAE,KAAK,IAAI,EAAE,EAAEJ,EAAE,CAACK,EAAE,KAAK,IAAIJ,EAAEC,EAAEC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,EAAEH,EAAE,CAACwB,EAAE,KAAK,IAAIvB,EAAEC,EAAEC,EAAE,CAACsB,EAAEC,GAAGtB,EAAEC,EAAE3B,EAAEM,EAAEI,EAAE,CAACuC,EAAED,GAAG,EAAEF,EAAE9C,EAAEM,EAAEI,EAAE,CAACwC,EAAEjD,EAAE,MAAMkD,EAAElD,EAAE,MAAM,KAAKiD,GAAGA,EAAE,GAAGH,GAAGI,GAAGA,EAAE,GAAGF,GAAG,CAAC,GAAGC,EAAE,GAAGxB,GAAGwB,EAAE,GAAG,GAAGA,EAAE,GAAGvB,GAAGuB,EAAE,GAAGJ,GAAGI,IAAIrC,GAAGqC,IAAI7B,GAAG,GAAG,EAAEE,EAAE,EAAEC,EAAEF,EAAEG,EAAEyB,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,IAAI,EAAEA,EAAE,MAAMC,EAAE,GAAGzB,GAAGyB,EAAE,GAAG,GAAGA,EAAE,GAAGxB,GAAGwB,EAAE,GAAGL,GAAGK,IAAItC,GAAGsC,IAAI9B,GAAG,GAAG,EAAEE,EAAE,EAAEC,EAAEF,EAAEG,EAAE0B,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,KAAKD,GAAGA,EAAE,GAAGH,GAAG,CAAC,GAAGG,EAAE,GAAGxB,GAAGwB,EAAE,GAAG,GAAGA,EAAE,GAAGvB,GAAGuB,EAAE,GAAGJ,GAAGI,IAAIrC,GAAGqC,IAAI7B,GAAG,GAAG,EAAEE,EAAE,EAAEC,EAAEF,EAAEG,EAAEyB,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,KAAKC,GAAGA,EAAE,GAAGF,GAAG,CAAC,GAAGE,EAAE,GAAGzB,GAAGyB,EAAE,GAAG,GAAGA,EAAE,GAAGxB,GAAGwB,EAAE,GAAGL,GAAGK,IAAItC,GAAGsC,IAAI9B,GAAG,GAAG,EAAEE,EAAE,EAAEC,EAAEF,EAAEG,EAAE0B,EAAE,EAAEA,EAAE,EAAE,EAAE,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,MAAM,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI7C,EAAEL,EAAE,EAAE,CAAC,IAAIS,EAAEJ,EAAE,KAAKO,EAAEP,EAAE,KAAK,KAAK,CAAC,GAAGI,EAAEG,EAAE,EAAEuC,GAAG1C,EAAEJ,EAAEA,EAAE,KAAKO,EAAE,EAAE,GAAGH,EAAEG,EAAE,EAAE,GAAGA,EAAEH,EAAE,GAAGV,EAAE,KAAKU,EAAE,EAAEJ,EAAE,EAAEO,EAAE,EAAE,CAAC,GAAGP,EAAE,CAAC,GAAGA,EAAE,KAAK,CAAC,EAAE,EAAEO,GAAG,EAAEP,EAAE,WAAWA,IAAIL,GAAG,OAAO,GAAGK,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIe,EAAEpB,EAAE,EAAE,CAAC,IAAI,EAAEoB,EAAE,KAAK,KAAK,KAAK,IAAIA,EAAE,MAAM,CAAC,GAAGA,EAAE,IAAI,EAAE,GAAG,GAAGA,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAEA,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,GAAGA,EAAErB,EAAEM,EAAEI,EAAEG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAEb,EAAEM,EAAEI,EAAEG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAEQ,EAAE,WAAWA,IAAIpB,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIY,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEQ,EAAErB,EAAE,OAAO,EAAEqB,EAAE,IAAI,CAAC,IAAuCC,EAAEuB,GAAG5C,EAAtCD,EAAE,GAAGU,EAAI,EAAEW,EAAE,EAAErB,EAAE,EAAE,GAAGU,EAAET,EAAE,OAAkBS,EAAE,CAAC,EAAE,CAAC,IAAIY,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAGT,EAAE,KAAK,GAAGS,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAET,EAAE,OAAO,IAAI,EAAE,GAAGA,EAAE,GAAGP,EAAE,CAAC,OAAOA,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIA,EAAEL,EAAE,EAAED,EAAE,EAAyG,OAApGM,IAAI,IAAI,EAAEL,EAAE,EAAED,EAAE,EAAEM,IAAI,KAAwE,GAA7DL,EAAE,KAAK,EAAEA,EAAE,IAAIA,EAAE,KAAK,EAAEA,EAAE,IAAMD,EAAE,KAAK,EAAEA,EAAE,IAAIA,EAAE,KAAK,EAAEA,EAAE,IAAgBM,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIA,EAAE,GAAGL,EAAED,EAAE,CAAC,GAAG,CAACM,EAAE,OAAON,EAAE,IAAIU,EAAE,GAAGJ,EAAEL,EAAE,CAAC,OAAO,GAAGS,EAAEA,EAAE,KAAK,CAAC,GAAGJ,EAAEA,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIA,EAAEN,EAAEU,EAAET,EAAE,EAAEY,EAAEZ,EAAE,EAAE,EAAE,KAAKoB,EAAE,GAAG,GAAGpB,EAAEK,EAAE,CAAC,OAAOA,EAAE,EAAE,CAAC,GAAG,GAAGL,EAAEK,EAAE,KAAK,CAAC,OAAOA,EAAE,KAAK,GAAGO,GAAGP,EAAE,GAAGO,GAAGP,EAAE,KAAK,GAAGA,EAAE,KAAK,IAAIA,EAAE,EAAE,CAAC,IAAIkB,EAAElB,EAAE,GAAGO,EAAEP,EAAE,IAAIA,EAAE,KAAK,EAAEA,EAAE,IAAIA,EAAE,KAAK,EAAEA,EAAE,GAAG,GAAGkB,GAAGd,GAAGc,EAAE,IAAI,EAAEA,EAAE,EAAElB,EAAE,EAAEA,EAAE,KAAK,EAAEA,EAAEA,EAAE,KAAKkB,IAAId,GAAG,OAAOW,EAAE,EAAEf,EAAE,WAAWA,IAAIN,GAAG,GAAG,CAACqB,EAAE,OAAO,KAAK,IAAI,EAAEA,EAAE,EAAEA,EAAE,EAAEC,EAAED,EAAE,EAAEE,EAAE,IAAI,EAAEF,EAAE,EAAE,CAAC,GAAGX,GAAGJ,EAAE,GAAGA,EAAE,GAAG,GAAGI,IAAIJ,EAAE,GAAG,GAAGO,EAAES,EAAEZ,EAAE,EAAEG,EAAE,EAAES,EAAET,EAAES,EAAE,EAAEZ,EAAEG,EAAEP,EAAE,EAAEA,EAAE,EAAE,CAAC,CAAC,IAAIkB,EAAE,KAAK,IAAIX,EAAEP,EAAE,EAAE,EAAEI,EAAEJ,EAAE,GAAG,GAAGA,EAAEL,EAAE,GAAGuB,EAAED,GAAGC,IAAID,IAAIjB,EAAE,EAAEe,EAAE,GAAGf,EAAE,IAAIe,EAAE,GAAG,GAAGA,EAAEf,EAAE,KAAK,EAAEA,EAAE,EAAEkB,GAAG,EAAElB,EAAE,WAAWA,IAAI,GAAG,OAAOe,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAGpB,EAAE,KAAKA,EAAED,EAAE,KAAK,CAAC,GAAG,GAAGA,EAAE,KAAKC,EAAEA,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIY,EAAEZ,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE+C,GAAGnC,EAAE,EAAEA,EAAE,EAAEb,EAAEM,EAAEI,EAAE,EAAE,EAAE,MAAMG,EAAE,KAAK,EAAE,MAAMA,EAAE,KAAK,EAAEA,EAAE,WAAWA,IAAIZ,GAAG,EAAE,MAAM,MAAM,KAAK,EAAE,MAAM,KAAK,GAAGY,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,IAAIb,EAAEM,EAAE,EAAE,EAAE,CAAC,IAAII,EAAET,EAAEY,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,EAAEH,GAAG,CAAC,IAAI,IAAIW,EAAEX,EAAE,EAAE,EAAE,IAAI,IAAIY,EAAE,EAAEA,EAAEhB,IAAI,IAAI,EAAEe,EAAE,MAAQA,GAAG,KAAK,IAAI,EAAEf,EAAE,KAAK,EAAE,GAAG,EAAE,GAAGe,GAAG,IAAI,IAAI,IAAI,GAAG,CAACA,GAAGX,EAAE,GAAGW,EAAE,IAAI,EAAEX,EAAE,EAAEA,EAAE,MAAM,MAAM,EAAEW,EAAE,EAAEA,EAAE,MAAM,KAAK,EAAE,EAAE,MAAMR,EAAE,EAAEA,EAAE,EAAE,MAAM,EAAE,EAAEA,EAAE,EAAEQ,EAAE,EAAE,MAAM,KAAK,GAAG,QAAQrB,EAAE,GAAG,OAAOC,EAAE,SAAS+C,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAO,IAAG/C,EAAEK,GAAGO,EAAE,EAAE,GAAGb,EAAEU,GAAGG,EAAE,EAAE,GAAGZ,EAAEA,GAAG,GAAG,SAAS,GAAGA,EAAEA,GAAG,GAAG,UAAU,GAAGA,EAAEA,GAAG,GAAG,UAAU,GAAGA,EAAEA,GAAG,GAAG,WAAW,GAAGD,EAAEA,GAAG,GAAG,SAAS,GAAGA,EAAEA,GAAG,GAAG,UAAU,GAAGA,EAAEA,GAAG,GAAG,UAAU,GAAGA,EAAEA,GAAG,GAAG,WAAWC,EAAED,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,IAAIA,EAAEC,EAAEK,EAAEL,EAAE,GAAGD,EAAE,EAAEM,EAAE,GAAGN,EAAE,IAAIM,EAAE,GAAGN,EAAE,EAAEM,EAAE,KAAK,EAAEN,GAAG,EAAEA,EAAE,WAAWA,IAAIC,GAAG,OAAOK,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOO,EAAEQ,IAAIrB,EAAE,KAAKC,EAAEoB,IAAI,EAAE,KAAKpB,EAAEoB,IAAIX,EAAE,KAAKJ,EAAEe,IAAIrB,EAAE,KAAKM,EAAEe,IAAI,EAAE,KAAKR,EAAEQ,IAAIX,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAET,IAAIoB,GAAGrB,IAAI,IAAI,GAAGC,EAAED,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,OAAOpB,EAAE,KAAK,IAAID,EAAE,GAAGC,EAAE,KAAK,IAAID,EAAE,GAAG,CAAC,GAAGC,EAAED,EAAE,GAAG,GAAGC,EAAED,EAAE,EAAE,GAAGA,EAAEC,EAAE,EAAE,GAAGA,EAAED,EAAE,GAAG,GAAGC,EAAE,KAAKA,EAAED,EAAE,KAAK,EAAE,GAAGC,EAAED,EAAE,KAAKA,EAAE,GAAG,GAAGC,EAAED,EAAE,EAAE,GAAGC,EAAE,KAAKA,EAAEA,EAAE,KAAK,CAAC,GAAG,GAAGD,EAAE,KAAKA,EAAEA,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAOA,EAAE,EAAEC,EAAE,IAAIK,EAAE,EAAEN,EAAE,IAAIA,EAAE,EAAEC,EAAE,IAAIK,EAAE,EAAEN,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,OAAOC,EAAE,IAAID,EAAE,GAAGC,EAAE,IAAID,EAAE,EAAE,SAASoD,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIvC,EAAE,GAAG,GAAGZ,EAAED,EAAEM,EAAE,CAAC,CAAC,EAAE,GAAG,GAAGL,EAAED,EAAEU,EAAE,CAAC,CAACW,EAAE,GAAG,GAAGf,EAAEI,EAAET,EAAE,CAAC,CAAC,EAAE,GAAG,GAAGK,EAAEI,EAAEV,EAAE,CAAC,CAAC,MAAM,CAAC,EAAEa,IAAI,GAAGQ,IAAI,GAAGR,IAAI,GAAG,GAAGZ,EAAEK,EAAEN,EAAE,EAAE,IAAI,GAAG,GAAGC,EAAES,EAAEV,EAAE,EAAEqB,IAAI,GAAG,GAAGf,EAAEL,EAAES,EAAE,EAAE,IAAI,GAAG,GAAGJ,EAAEN,EAAEU,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAOV,EAAE,GAAG,KAAK,IAAIC,EAAE,EAAEK,EAAE,EAAE,EAAEN,EAAE,GAAG,KAAK,IAAIC,EAAE,EAAEK,EAAE,EAAE,EAAEN,EAAE,GAAG,KAAK,IAAIC,EAAE,EAAEK,EAAE,EAAE,EAAEN,EAAE,GAAG,KAAK,IAAIC,EAAE,EAAEK,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,OAAOL,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIK,EAAEL,EAAE,EAAE,CAAC,GAAGK,EAAE,IAAIL,EAAE,GAAGK,EAAE,KAAK,IAAIL,EAAE,GAAGK,EAAE,IAAIN,EAAE,GAAGM,EAAE,KAAK,IAAIN,EAAE,GAAGoD,GAAG9C,EAAEA,EAAE,KAAKL,EAAED,EAAE,CAAC,MAAM,CAAC,EAAE,EAAEM,EAAE,WAAWA,IAAIL,GAAG,MAAM,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAO,GAAGA,EAAE,KAAKA,EAAEA,EAAE,KAAK,CAAC,EAAE,GAAGA,EAAED,EAAEC,EAAE,KAAK,EAAE,GAAG,GAAGA,EAAEA,EAAE,KAAKD,EAAE,EAAE,EAAE,GAAGC,EAAED,EAAEC,EAAE,KAAK,CAAC,GAAG,GAAGA,EAAEA,EAAE,KAAKD,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIM,EAAEL,EAAES,EAAE,CAAC,EAAEG,GAAGZ,EAAE,EAAED,EAAE,GAAG,EAAE,GAAGC,EAAE,EAAED,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAGM,EAAE,KAAK,EAAE,GAAGA,EAAE,KAAK,IAAIA,EAAE,GAAGO,GAAGP,EAAE,KAAK,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAIA,EAAE,KAAK,EAAEA,EAAE,GAAGA,EAAE,IAAI,EAAE,CAACI,GAAG,EAAEJ,EAAE,WAAWA,IAAIL,GAAG,OAAOS,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,IAAIJ,EAAE,GAAGL,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACS,EAAE,GAAGV,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACa,EAAEZ,EAAE,KAAK,EAAED,EAAE,KAAK,MAAO,GAAE,KAAKA,EAAE,EAAE,KAAKC,EAAE,EAAE,KAAKY,EAAE,EAAE,KAAKP,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKI,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAK,EAAEA,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIG,EAAE,GAAGZ,EAAED,EAAEM,EAAE,CAAC,OAAOI,GAAG,EAAE,KAAKA,EAAE,KAAK,EAAE,KAAKA,EAAE,EAAE,KAAK,KAAKG,EAAE,EAAE,KAAKA,IAAI,EAAE,KAAKA,EAAE,EAAE,KAAKA,GAAGA,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,KAAK,KAAKZ,EAAE,KAAK,EAAE,KAAK,KAAKA,EAAE,KAAKA,EAAE,QAAQ,EAAE,MAAM,MAAMA,EAAE,OAAOA,EAAE,QAAQ,EAAE,MAAM,MAAMA,EAAE,OAAO,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAEA,EAAE,EAAED,EAAE,EAAEM,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIO,EAAE,EAAE,IAAI,IAAI,EAAEb,EAAEqB,EAAEf,EAAEI,EAAE,EAAEJ,EAAE,GAAGI,EAAE,IAAIT,EAAEoB,GAAGpB,EAAE,KAAKA,EAAE,EAAE,GAAGA,EAAEoB,EAAE,IAAI,EAAE,EAAE,OAAOR,EAA6c,SAAS,GAAG,EAAE,CAAC,IAAIb,EAAEC,EAAE,OAAO,EAAE,GAAGA,EAAED,EAAE,GAAG,OAAOC,EAAE,GAAG,EAAEA,EAAE,KAAK,CAAC,SAASoD,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI/C,EAAE,EAAEA,EAAEN,EAAE,OAAO,IAAI,EAAE,KAAKA,EAAEM,GAAG,EAAE,CAACL,EAAE,KAAKD,EAAEM,GAAG,EAAE,CAAygL,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,QAAQL,EAAE,CAAC,IAAI,IAAIS,EAAE,EAAEG,EAAEZ,EAAE,OAAOS,EAAEG,EAAE,IAAI,CAAC,IAAI,EAAEZ,EAAES,GAAG,EAAE,OAAO,KAAK,EAAE,KAAK,MAAM,EAAE,OAAO,KAAKT,EAAE,KAAK,CAAC,MAAO,GAAE,QAAQ,OAAO,OAAO,EAAE,CAACD,EAAE,CAACA,EAAE,cAAc,IAAK,KAAI,EAAE,QAAQ,YAAYA,EAAE,YAAY,QAAQ,EAAEM,EAAq0J,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,QAAQL,EAAE,CAAC,IAAI,IAAIK,EAAE,EAAEI,EAAET,EAAE,OAAOK,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEZ,EAAEK,GAAG,EAAE,OAAO,KAAKO,EAAE,KAAK,MAAM,EAAE,OAAO,KAAKZ,EAAE,KAAK,CAAC,OAAOD,EAAw3L,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAIU,EAAE,GAAGT,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGD,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,IAAIa,EAAE,GAAGb,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,IAAI,OAAOK,EAAE,IAAII,EAAE,GAAG,CAAC,GAAGJ,EAAE,IAAIO,EAAE,GAAG,CAAC,EAAE,CAAC,GAAGP,EAAE,IAAII,EAAE,CAACJ,EAAE,IAAIO,EAAE,CAAC,CAAC,GAAyqB,SAASyC,GAAG,EAAE,CAAC,IAAItD,EAAE,EAAE,CAAC,IAAI,IAAIM,KAAKL,EAAW,IAAI,IAAIS,IAAhB,GAAEJ,GAAG,EAAE,CAAcL,EAAEK,GAAG,CAAC,IAAIO,EAAEZ,EAAEK,GAAGI,GAAG,GAAG,GAAGG,EAAE,CAAC,EAAE,uBAAuB,GAAE,qGAAqG,CAAC,EAAEP,GAAGI,GAAG,MAAM,EAAEJ,GAAGI,GAAGG,EAAE,OAAO,SAAS,MAAM,QAAQA,EAAE,CAAC,GAAG,GAAGA,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAIQ,EAAE,EAAE,EAAER,EAAE,OAAOQ,EAAE,EAAE,IAAI,EAAEA,GAAGR,EAAEQ,GAAG,OAAO,CAAC,EAAEf,GAAGI,GAAG,OAAO,EAAEJ,GAAGI,GAAGG,EAAE,OAAO,MAAM,EAAEP,GAAGI,GAAGG,EAAG,OAAOb,EAAE,SAAS,GAAG,EAAE,CAAC,IAAIA,EAAE,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEA,EAAEL,EAAE,OAAO,IAAI,CAAC,IAAIS,EAAE4C,GAAGrD,EAAEK,GAAG,CAAC,IAAI,IAAIO,KAAKH,EAAE,EAAEG,GAAGH,EAAEG,GAAG,OAAOb,EAAE,SAAS,GAAG,EAAE,CAAC,OAAOC,IAAIA,EAAE,SAASA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,cAAc,SAAS,GAAG,EAAE,CAAC,IAAID,EAAE,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEA,EAAEL,EAAE,OAAO,IAAI,EAAE,KAAKA,EAAEK,GAAG,OAAO,CAAC,CAAC,OAAON,EAI17/M,SAAS,GAAG,EAAE,EAAE,CAAC,MAAM,CAACC,GAAGA,EAAE,cAAcD,EAAEC,EAAE,OAAOD,EAAE,mBAAmB,SAAS,IAAIA,EAAEC,EAAE,CAAC,MAAM,UAAU,MAAM,KAAKA,EAAE,CAAo3oG,SAAS4D,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIhD,EAAE,CAAC,EAAE,GAAGZ,EAAE,OAAO,KAAKD,EAAE,OAAO,EAAEC,EAAE,QAAQD,EAAEM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,GAAGO,IAAI,CAAC,GAAGH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAET,EAAE,SAAS,IAAI,IAAIoB,EAAE,EAAE,EAAE,EAAE,OAAOA,EAAE,EAAE,IAAI,GAAG,EAAEA,GAAGrB,EAAEM,EAAE,CAAC,EAAE,EAA8jP,SAASwD,GAAG,EAAE,CAAC,IAAI9D,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,GAAGA,EAAE,KAAKC,EAAE,CAAC,IAAI,IAAIK,EAAE,EAAEA,EAAEL,EAAE,SAAS,OAAO,IAAI,EAAE,KAAK,GAAG6D,GAAG7D,EAAE,SAASK,GAAG,CAAC,CAAC,OAAON;;;;;;;;;;EAJr32H,GAAG,MAAiJ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAEgE,GAAG,EAA2B,GAAG,IAA4DC,GAAG,IAAIC,GAAG,IAAwE,GAAG,EAAO,GAAG,EAAsBI,GAAG,EAAgF,GAAG,IAAIM,GAAG,IAAgC,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAqC,GAAG,KAAqB,GAAG,KAAa,GAAG,KAAqC,GAAG,KAAK,GAAG,KAA6B,GAAG,KAAuC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAiZ2B,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAoC,GAAG,KAAuC,GAAG,GAAG,GAAG,OAAO,GAAG,cAAc3E,GAAG,SAAS,GAAG,OAAkCiF,GAAG,KAAwG,GAAG,IAA4D,GAAG,MAAmG,GAAG,IAAI,GAAG,KAA+T,UAAU,WAAW,kBAAkB,WAAW,YAAY,WAAW,YAAY,aAAa,aAAgRpG,GAAG,EAAE,CAACL,GAAG,KAAyrC,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,KAAK,aAAa,IAAK,KAAI,KAAK,WAAW,EAAE,EAAE,IAAIM,EAAE,KAAK,WAAW,EAAEV,KAAK,IAAK,KAAI,EAAEA,GAAG,EAAE,EAAEU,EAAEV,GAAG,QAAQM,EAAE,GAAG,IAAII,EAAEV,GAAG,KAAKM,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,WAAW,OAAOA,IAAI,IAAK,GAAE,CAAC,EAAEA,EAAEV,KAAK,IAAK,IAAGU,EAAEV,GAAG,QAAQM,EAAE,GAAG,GAAG,oBAAoB,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,WAAW,GAAGA,IAAI,IAAK,GAAE,OAAO,IAAIG,EAAEH,EAAEV,GAAG,GAAGa,IAAI,IAAK,GAAE,CAAC,IAAI,EAAEA,EAAE,QAAQP,EAAE,CAAC,IAAI,IAAIO,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,IAAIP,EAAE,KAAK,WAAW,GAAGA,IAAI,IAAK,GAAE,OAAO,IAAII,EAAEJ,EAAEN,EAAE,MAAM,GAAGU,IAAI,IAAK,GAAE,CAAC,EAAE,OAAO,KAAK,IAAIG,EAAEH,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEW,EAAER,EAAE,OAAO,EAAEQ,EAAE,IAAI,EAAE,GAAG,KAAK,KAAKrB,EAAE,CAAC,EAAE,OAAO,QAAQ,GAAG,4wBAAiwC,CAAYkB,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,KAAK,GAAy3F,EAAE,MAAMjB,CAAC,CAAC,OAAO,EAAE,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAED,EAAE,KAAK,EAAEM,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC,KAAK,EAAEN,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,EAAEA,EAAE,IAAI,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,EAAEM,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,KAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,aAAa,EAAE,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,KAAK,EAAEM,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,QAAQ,MAAU,MAAM,0BAA0BN,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,QAAQ,MAAU,MAAM,0BAA0BA,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,gBAAgB,EAAE,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,eAAe,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,OAAO,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEA,EAAE,CAAC,aAAa,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAEb,EAAE,SAAS,MAAO,MAAK,EAAEa,EAAE,GAAGP,EAAEO,EAAE,GAAGH,EAAEG,EAAE,GAAG,KAAK,EAAEA,EAAE,GAAGP,EAAEO,EAAE,GAAGH,EAAEG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEb,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEW,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,YAAY,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,QAAQ,CAAC,OAAO,KAAK,aAAaA,GAAG,EAAE,CAAC,eAAeC,EAAED,EAAEV,EAAEM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAO,MAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,aAAa,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAO,MAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,EAAEN,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,IAAIM,EAAE,KAAK,KAAK,KAAK,UAAU,CAACN,EAAE,UAAU,CAAC,CAAC,GAAGM,IAAI,EAAE,OAAO,KAAK,GAAG,EAAE,IAAII,EAAE,KAAK,IAAIV,EAAE,CAACM,EAAE,OAAO,KAAK,KAAKK,EAAED,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,kBAAkBV,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEN,EAAE,EAAEU,EAAE,KAAK,EAAEV,EAAE,EAAE,OAAOM,EAAEA,EAAEI,EAAEA,EAAE,oBAAoB,EAAE,CAAC,OAAO,KAAK,IAAI,KAAK,EAAEV,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,eAAeA,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAO,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,OAAO,EAAE,CAAC,OAAOV,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAEM,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAO,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAEN,EAAE,oBAAoB,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,aAAa,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,IAAIJ,EAAE,CAACO,EAAE,KAAK,IAAIP,EAAE,CAAC,EAAE,KAAK,EAAEN,EAAE,EAAEqB,EAAE,KAAK,EAAErB,EAAE,EAAE,MAAO,MAAK,EAAE,EAAEU,EAAEW,EAAER,EAAEb,EAAE,EAAE,KAAK,EAAE,EAAEa,EAAEQ,EAAEX,EAAEV,EAAE,EAAE,KAAK,QAAQ,CAAC,MAAO,MAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,aAAa,CAAC,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAGG,EAAE,OAAO,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEH,EAAEG,EAAE,GAAGS,EAAEZ,EAAEG,EAAE,GAAGU,EAAEb,EAAEG,EAAE,GAAGW,EAAEd,EAAEG,EAAE,GAAGY,EAAE,EAAEJ,EAAE,GAAGK,EAAE,EAAEL,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAG,EAAE,EAAEA,EAAE,GAAG,GAAGG,IAAI,GAAG,IAAIC,GAAGH,IAAII,GAAGH,IAAII,EAAE,CAAC,IAAImB,EAAE,EAAErB,EAAEH,EAAEI,EAAEH,EAAEI,EAAEH,EAAE,EAAE,EAAE,IAAI,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACmB,GAAG,IAAIC,EAAE,EAAE,EAAE,GAAGD,EAAE,MAAM,CAAC,IAAIG,EAAE,KAAK,KAAKH,EAAE,CAACI,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,KAAK,IAAIF,EAAEE,EAAE,CAACC,EAAE,EAAE,KAAK,IAAI,EAAED,EAAE,CAACC,EAAE,EAAE,EAAEH,EAAEtB,EAAE,EAAE,EAAEH,EAAEyB,EAAErB,EAAE,EAAE,EAAEH,EAAEwB,EAAEpB,EAAE,EAAE,EAAEH,EAAEuB,EAAE,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAEtB,EAAE,EAAE,EAAEH,EAAEyB,EAAErB,EAAE,EAAE,EAAEH,EAAEwB,EAAEpB,EAAE,EAAE,EAAEH,EAAEuB,EAAE,EAAE,EAAE,IAAIE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE3B,EAAEA,EAAEC,EAAEA,EAAEC,EAAEA,EAAE,CAAC,GAAGyB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,GAAG,EAAE3C,GAAG,EAAE,EAAEA,EAAE,GAAGgB,EAAE,EAAEhB,EAAE,GAAGiB,EAAE,EAAEjB,EAAE,GAAGkB,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEd,EAAEG,GAAG,EAAEH,EAAEG,EAAE,GAAGS,EAAEZ,EAAEG,EAAE,GAAGU,EAAEb,EAAEG,EAAE,GAAGW,EAAE,EAAEH,GAAGI,EAAE,EAAEJ,EAAE,GAAGK,EAAE,EAAEL,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAG,MAAO,GAAEf,GAAG,EAAEqB,EAAEJ,EAAEC,EAAE,EAAEE,EAAEJ,EAAEG,EAAE,EAAEnB,EAAE,GAAG,EAAEqB,EAAEJ,EAAEE,EAAEH,EAAEE,EAAE,EAAEE,EAAE,EAAEpB,EAAE,GAAGgB,EAAEK,EAAEJ,EAAEG,EAAE,EAAED,EAAE,EAAED,EAAE,EAAElB,EAAE,GAAGiB,EAAEI,EAAE,EAAEH,EAAE,EAAEC,EAAEH,EAAEI,EAAE1B,EAAE,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAGG,EAAE,KAAK,mBAAmB,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,GAAGb,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,mBAAmB,CAAC,KAAK,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,IAAIU,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAGqB,EAAErB,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,IAAIsB,EAAE,EAAEZ,EAAE,EAAE,CAACa,EAAE,EAAEV,EAAE,EAAE,CAACW,EAAE,EAAE,EAAE,EAAE,CAACC,EAAE,EAAEf,EAAE,EAAE,CAACgB,EAAE,EAAEb,EAAE,EAAE,CAACc,EAAE,EAAE,EAAE,EAAE,CAAC,OAAON,EAAP,CAAU,IAAI,MAAM,KAAK,GAAGI,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,IAAI,MAAM,KAAK,GAAGF,EAAEF,EAAEC,EAAEF,EAAEI,EAAEC,EAAE,KAAK,GAAGL,EAAEI,EAAEF,EAAEC,EAAEF,EAAEI,EAAE,KAAK,GAAGL,EAAEC,EAAEI,EAAEF,EAAEC,EAAEF,EAAE,KAAK,GAAGF,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,MAAM,QAAQ,GAAE,6DAA6DN,EAAE,CAAC,OAAOf,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK,iBAAiB,EAAE,EAAE,CAAC,IAAII,EAAEJ,EAAE,EAAEO,EAAE,KAAK,IAAIH,EAAE,CAAC,MAAO,MAAK,GAAGV,EAAE,EAAEa,EAAE,KAAK,GAAGb,EAAE,EAAEa,EAAE,KAAK,GAAGb,EAAE,EAAEa,EAAE,KAAK,GAAG,KAAK,IAAIH,EAAE,CAAC,KAAK,mBAAmB,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAIJ,EAAEN,EAAE,SAASU,EAAEJ,EAAE,GAAGO,EAAEP,EAAE,GAAG,EAAEA,EAAE,GAAGe,EAAEf,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGgB,EAAEhB,EAAE,GAAGiB,EAAEjB,EAAE,GAAGkB,EAAElB,EAAE,IAAImB,EAAEf,EAAE,EAAEc,EAAE,GAAGC,EAAE,EAAE,CAAC,IAAIC,EAAE,GAAG,KAAK,KAAKD,EAAE,EAAE,CAAC,KAAK,GAAG,IAAIC,EAAE,KAAK,IAAIH,EAAE,GAAGG,EAAE,KAAK,IAAI,EAAEJ,GAAGI,EAAE,KAAK,IAAIL,EAAER,GAAGa,UAAUhB,EAAE,GAAGA,EAAEc,EAAE,CAAC,IAAIE,EAAE,EAAE,KAAK,KAAK,EAAEhB,EAAE,EAAEc,EAAE,CAAC,KAAK,IAAID,EAAE,GAAGG,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,IAAIb,EAAEQ,GAAGK,EAAE,KAAK,IAAI,EAAEJ,GAAGI,UAAU,EAAEF,EAAE,CAAC,IAAIE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAEhB,EAAEc,EAAE,CAAC,KAAK,IAAI,EAAEF,GAAGI,EAAE,KAAK,IAAIb,EAAEQ,GAAGK,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,IAAI,EAAEH,GAAGG,MAAM,CAAC,IAAIA,EAAE,EAAE,KAAK,KAAK,EAAEF,EAAEd,EAAE,EAAE,CAAC,KAAK,IAAIW,EAAER,GAAGa,EAAE,KAAK,IAAI,EAAEJ,GAAGI,EAAE,KAAK,IAAI,EAAEH,GAAGG,EAAE,KAAK,GAAG,IAAIA,EAAE,OAAO,KAAK,mBAAmB,CAAC,KAAK,mBAAmB,EAAE,EAAE,CAAC,IAAIhB,EAAEV,EAAE,IAAIM,EAAE,CAAC,EAAE,OAAOI,EAAE,MAAM,EAAE,EAAE,KAAK,IAAIV,EAAE,EAAE,CAAC,KAAK,IAAIA,EAAE,EAAE,EAAE,KAAK,GAAG,CAACA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGU,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,CAACV,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGU,KAAK,KAAK,GAAGV,EAAE,EAAEM,EAAE,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,GAAGI,GAAG,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAO,GAAE,KAAK,KAAK,KAAK,IAAIC,EAAE,KAAK,IAAIX,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,QAAQV,EAAE,CAAC,GAAGU,IAAI,EAAE,OAAO,KAAK,IAAIG,EAAE,KAAK,IAAI,EAAEP,EAAEI,EAAE,CAAC,OAAO,KAAK,MAAMV,EAAEa,EAAE,CAAC,KAAK,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,WAAW,CAAC,WAAW,CAAC,MAAO,MAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,mBAAmB,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,GAAGb,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,WAAW,CAAC,IAAIA,EAAE,KAAK,QAAQ,CAAC,OAAOA,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAEA,EAAE,KAAK,IAAWA,EAAE,KAAK,IAAWA,EAAE,KAAK,IAAWA,EAAE,KAAK,IAAWA,GAAG,KAAK,mBAAmB,CAAC,KAAK,SAAS,EAAE,CAAC,OAAO,KAAK,oBAAoB,KAAKA,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,oBAAoBA,EAAE,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAIU,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAGqB,EAAErB,EAAE,GAAG,EAAEM,EAAE,GAAG,EAAEA,EAAE,GAAGgB,EAAEhB,EAAE,GAAGiB,EAAEjB,EAAE,GAAG,MAAO,MAAK,GAAGI,EAAEa,EAAEF,EAAE,EAAER,EAAES,EAAE,EAAE,EAAE,KAAK,GAAGT,EAAEU,EAAEF,EAAE,EAAE,EAAE,EAAEX,EAAEY,EAAE,KAAK,GAAG,EAAEC,EAAEF,EAAEC,EAAEZ,EAAE,EAAEG,EAAE,EAAE,KAAK,GAAGQ,EAAEE,EAAEb,EAAE,EAAEG,EAAE,EAAE,EAAES,EAAE,KAAK,mBAAmB,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,IAAIZ,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAGqB,EAAErB,EAAE,GAAG,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAE,IAAI,EAAE,CAACU,EAAE,EAAE,CAACG,EAAE,EAAE,CAAC,EAAE,EAAE,CAACQ,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAEf,EAAE,GAAG,EAAE,MAAM,CAAC,IAAIgB,EAAE,KAAK,KAAK,EAAE,CAACC,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,KAAK,IAAI,EAAEA,EAAE,CAACC,EAAE,EAAE,KAAK,IAAIjB,EAAEgB,EAAE,CAACC,EAAE,KAAK,GAAG,KAAK,GAAG,EAAEb,EAAEJ,EAAE,KAAK,GAAG,KAAK,GAAG,EAAEO,EAAEP,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,EAAEA,EAAE,KAAK,GAAG,KAAK,GAAG,EAAEe,EAAEf,EAAE,KAAK,mBAAmB,MAAM,KAAK,GAAG,KAAK,GAAG,EAAEI,EAAEJ,EAAE,KAAK,GAAG,KAAK,GAAG,EAAEO,EAAEP,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,EAAEA,EAAE,KAAK,GAAG,KAAK,GAAG,EAAEe,EAAEf,EAAE,KAAK,WAAW,CAAC,OAAO,KAAK,iBAAiB,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,KAAKN,EAAE,CAAC,MAAMM,EAAEI,EAAE,CAAC,QAAQ,CAAC,IAAIV,EAAE,EAAE,KAAK,GAAG,KAAK,QAAQ,CAACM,EAAE,EAAE,KAAK,GAAG,KAAK,QAAQ,CAACI,EAAE,KAAK,QAAQ,CAACG,EAAE,KAAK,KAAK,EAAEH,EAAE,CAAC,EAAE,KAAK,KAAKA,EAAE,CAAC,OAAO,KAAK,IAAIG,EAAE,KAAK,IAAIb,EAAE,CAACa,EAAE,KAAK,IAAIb,EAAE,CAAC,EAAE,KAAK,IAAIM,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAON,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAEM,GAAG,KAAK,GAAGN,EAAEM,EAAE,GAAG,KAAK,GAAGN,EAAEM,EAAE,GAAG,KAAK,GAAGN,EAAEM,EAAE,GAAG,KAAK,mBAAmB,CAAC,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAO,GAAEA,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAGN,EAAE,oBAAoB,EAAE,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAKM,EAAE,CAAC,KAAK,GAAGN,EAAE,KAAKM,EAAE,CAAC,KAAK,GAAGN,EAAE,KAAKM,EAAE,CAAC,KAAK,GAAGN,EAAE,KAAKM,EAAE,CAAC,KAAK,mBAAmB,CAAC,KAAK,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC,MAAO,MAAK,kBAAkBN,EAAE,KAAK,mBAAmB,EAAE,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK,EAAE,MAAMC,CAAC,CAAC,OAAO,EAAE,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAED,EAAE,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,OAAOA,IAAI,IAAK,KAAI,EAAE,KAAK,GAAG,KAAK,EAAEV,EAAE,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,EAAEV,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,aAAa,EAAE,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,KAAK,EAAEM,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,QAAQ,MAAU,MAAM,0BAA0BN,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,QAAQ,MAAU,MAAM,0BAA0BA,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,gBAAgB,EAAE,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,eAAe,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,gBAAgB,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgB,GAAG,aAAaN,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,GAAG,iBAAiBA,EAAEM,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,IAAIA,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAEb,EAAE,SAAS,MAAO,MAAK,EAAE,EAAE,GAAGM,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,kBAAkB,EAAE,CAAC,OAAO,KAAK,aAAab,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAEb,EAAE,SAASqB,EAAE,GAAG,EAAE,GAAGf,EAAE,EAAE,GAAGI,EAAE,EAAE,IAAIG,EAAE,EAAE,KAAK,MAAO,MAAK,GAAG,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,EAAE,KAAKQ,EAAE,KAAK,GAAG,EAAE,GAAGf,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,EAAE,KAAKQ,EAAE,KAAK,GAAG,EAAE,GAAGf,EAAE,EAAE,GAAGI,EAAE,EAAE,IAAIG,EAAE,EAAE,KAAKQ,EAAE,KAAK,gBAAgB,EAAE,CAAC,IAAIf,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAEb,EAAE,EAAEqB,EAAErB,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAEsB,EAAE,GAAGD,EAAER,EAAE,EAAEH,GAAGa,EAAE,GAAG,EAAEjB,EAAE,EAAEO,GAAGW,EAAE,GAAG,EAAEd,EAAEW,EAAEf,GAAG,MAAO,MAAK,EAAEA,EAAE,EAAEgB,EAAED,EAAEG,EAAE,EAAED,EAAE,KAAK,EAAEb,EAAE,EAAEa,EAAE,EAAED,EAAE,EAAEE,EAAE,KAAK,EAAEX,EAAE,EAAEW,EAAE,EAAED,EAAEF,EAAEC,EAAE,KAAK,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAatB,EAAE,mBAAmB,CAAC,aAAaA,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,aAAaA,EAAE,wBAAwB,CAAC,aAAaA,EAAE,YAAY,CAAC,mBAAmB,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAEb,EAAE,SAAS,MAAO,MAAK,EAAE,EAAE,GAAGM,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,IAAIG,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,MAAO,MAAK,GAAGb,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEA,EAAE,CAAC,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEW,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,YAAY,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,QAAQ,CAAC,OAAO,KAAK,aAAaA,GAAG,EAAE,CAAC,eAAeC,EAAED,EAAEV,EAAEM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAO,MAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,aAAa,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAO,MAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,EAAEN,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,eAAeA,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAO,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,MAAM,EAAE,CAAC,OAAO,KAAK,aAAa,KAAKV,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,IAAIU,EAAEV,EAAE,EAAEa,EAAEb,EAAE,EAAE,EAAEA,EAAE,EAAEqB,EAAEf,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,MAAO,MAAK,EAAEO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAEQ,EAAEX,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAEG,EAAEQ,EAAE,KAAK,gBAAgB,EAAE,CAAC,IAAIf,EAAEN,EAAE,UAAU,CAAC,GAAGM,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,IAAII,EAAEV,EAAE,IAAI,KAAK,CAACM,EAAE,OAAO,KAAK,KAAKN,EAAE,CAAC,eAAeU,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,GAAG,KAAK,KAAK,CAAC,gBAAgBV,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,IAAI,GAAG,KAAKA,EAAE,CAAC,eAAe,EAAE,KAAK,IAAIA,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAIM,EAAE,KAAK,KAAK,KAAK,UAAU,CAACN,EAAE,UAAU,CAAC,CAAC,GAAGM,IAAI,EAAE,OAAO,KAAK,GAAG,EAAE,IAAII,EAAE,KAAK,IAAIV,EAAE,CAACM,EAAE,OAAO,KAAK,KAAKK,EAAED,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,kBAAkBV,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEN,EAAE,EAAEU,EAAE,KAAK,EAAEV,EAAE,EAAEa,EAAE,KAAK,EAAEb,EAAE,EAAE,OAAOM,EAAEA,EAAEI,EAAEA,EAAEG,EAAEA,EAAE,oBAAoB,EAAE,CAAC,OAAO,KAAK,IAAI,KAAK,EAAEb,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,KAAK,uBAAuBA,EAAE,OAAOA,EAAE,IAAIA,EAAE,MAAM,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,IAAIa,EAAE,KAAK,IAAIP,EAAE,CAACN,EAAE,MAAO,MAAK,EAAEa,EAAE,KAAK,IAAIH,EAAE,CAAC,KAAK,EAAE,KAAK,IAAIJ,EAAE,CAACN,EAAE,KAAK,EAAEa,EAAE,KAAK,IAAIH,EAAE,CAAC,KAAK,mBAAmB,EAAE,CAAC,OAAO,KAAK,yBAAyBV,EAAE,OAAOA,EAAE,MAAMA,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,IAAIM,EAAE,CAAC,KAAK,EAAEI,EAAE,KAAK,EAAEV,EAAE,KAAK,IAAIM,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAIA,EAAEN,EAAE,SAAS,MAAO,MAAK,EAAEM,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC,IAAIA,EAAE,KAAK,oBAAoBN,EAAE,EAAE,CAAC,QAAQ,CAACU,EAAE,KAAK,oBAAoBV,EAAE,EAAE,CAAC,QAAQ,CAACa,EAAE,KAAK,oBAAoBb,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAO,MAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,oBAAoB,EAAE,EAAE,CAAC,OAAO,KAAK,UAAUb,EAAE,SAASM,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,OAAO,KAAK,UAAUN,EAAE,SAASM,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,GAAG,KAAK,EAAEA,EAAE,GAAG,KAAK,EAAEA,EAAE,GAAG,KAAK,aAAa,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAEM,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAO,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAEN,EAAE,oBAAoB,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAO,MAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,iBAAiB,CAAC,IAAIN,EAAE,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAEM,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAEI,EAAE,KAAK,KAAK,EAAEJ,EAAEA,EAAE,CAAC,MAAO,MAAK,EAAEI,EAAE,KAAK,IAAIV,EAAE,CAAC,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,KAAK,IAAIV,EAAE,CAAC,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAAGuH,EAAG,MAAMtH,CAAC,CAAC,OAAO,EAAE,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACD,IAAI,IAAK,IAAG,KAAK,IAAIA,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIC,EAAE,KAAK,SAAS,MAAO,GAAE,GAAGvB,EAAE,EAAE,GAAGa,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGW,EAAE,EAAE,GAAGC,EAAE,KAAK,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAIhB,EAAE,KAAK,SAASI,EAAEV,EAAE,SAAS,MAAO,GAAE,GAAGU,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,KAAK,aAAa,EAAE,EAAE,EAAE,CAAC,OAAOV,EAAE,qBAAqB,KAAK,EAAE,CAACM,EAAE,qBAAqB,KAAK,EAAE,CAACI,EAAE,qBAAqB,KAAK,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC,IAAIJ,EAAEN,EAAE,SAAS,OAAO,KAAK,IAAIM,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,OAAO,KAAK,iBAAiB,KAAKN,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,iBAAiBA,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAIU,EAAEV,EAAE,SAASa,EAAEP,EAAE,SAAS,EAAE,KAAK,SAASe,EAAEX,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGY,EAAEZ,EAAE,GAAGa,EAAEb,EAAE,GAAGc,EAAEd,EAAE,GAAGe,EAAEf,EAAE,GAAGgB,EAAEhB,EAAE,GAAGiB,EAAEjB,EAAE,GAAG,EAAEG,EAAE,GAAGiC,EAAEjC,EAAE,GAAGkC,EAAElC,EAAE,GAAGoC,EAAEpC,EAAE,GAAGqC,EAAErC,EAAE,GAAGsC,EAAEtC,EAAE,GAAG2G,EAAE3G,EAAE,GAAG,EAAEA,EAAE,GAAG4G,EAAE5G,EAAE,GAAG,MAAO,GAAE,GAAGQ,EAAE,EAAE,EAAE4B,EAAE,EAAEuE,EAAE,EAAE,GAAGnG,EAAEyB,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,GAAG7B,EAAE0B,EAAE,EAAEI,EAAE,EAAEsE,EAAE,EAAE,GAAGnG,EAAE,EAAEC,EAAE0B,EAAEzB,EAAEgG,EAAE,EAAE,GAAGlG,EAAEwB,EAAEvB,EAAE2B,EAAE1B,EAAE,EAAE,EAAE,GAAGF,EAAEyB,EAAExB,EAAE4B,EAAE3B,EAAEiG,EAAE,EAAE,GAAGhG,EAAE,EAAEC,EAAEuB,EAAEtB,EAAE6F,EAAE,EAAE,GAAG/F,EAAEqB,EAAEpB,EAAEwB,EAAEvB,EAAE,EAAE,EAAE,GAAGF,EAAEsB,EAAErB,EAAEyB,EAAExB,EAAE8F,EAAE,KAAK,eAAe,EAAE,CAAC,IAAInH,EAAE,KAAK,SAAS,MAAO,GAAE,IAAIN,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,KAAK,aAAa,CAAC,IAAIA,EAAE,KAAK,SAASM,EAAEN,EAAE,GAAGU,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAGqB,EAAErB,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGsB,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAG,OAAOM,EAAEe,EAAEE,EAAEjB,EAAE,EAAEgB,EAAEZ,EAAE,EAAEa,EAAEb,EAAE,EAAE,EAAEG,EAAE,EAAES,EAAET,EAAEQ,EAAE,EAAE,QAAQ,CAAC,IAAIrB,EAAE,KAAK,SAASM,EAAEN,EAAE,GAAGU,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAGqB,EAAErB,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGsB,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAGwB,EAAED,EAAEF,EAAE,EAAEC,EAAEG,EAAE,EAAE,EAAEF,EAAE,EAAEG,EAAEJ,EAAE,EAAED,EAAE,EAAEM,EAAErB,EAAEkB,EAAEd,EAAEe,EAAEZ,EAAEa,EAAE,GAAGC,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAEA,EAAE,MAAO,GAAE,GAAGH,EAAE,EAAE,EAAE,IAAIX,EAAES,EAAEC,EAAEb,GAAG,EAAE,EAAE,IAAI,EAAEA,EAAEG,EAAEQ,GAAG,EAAE,EAAE,GAAGI,EAAE,EAAE,EAAE,IAAIF,EAAEjB,EAAEO,EAAE,GAAG,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAEP,GAAG,EAAE,EAAE,GAAGoB,EAAE,EAAE,EAAE,IAAIhB,EAAE,EAAEY,EAAEhB,GAAG,EAAE,EAAE,IAAIe,EAAEf,EAAEI,EAAE,GAAG,EAAE,KAAK,WAAW,CAAC,IAAIV,EAAEM,EAAE,KAAK,SAAS,MAAO,GAAEA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGN,EAAE,EAAEM,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGN,EAAE,EAAEM,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGN,EAAE,KAAK,gBAAgB,EAAE,CAAC,OAAO,KAAK,eAAeA,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,IAAIM,EAAE,KAAK,SAAS,MAAO,GAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,KAAK,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAACgB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,IAAIZ,EAAE,EAAEA,EAAEY,EAAE,CAACZ,GAAG,EAAEW,EAAEC,EAAE,GAAGD,EAAErB,EAAE,CAACa,EAAES,EAAET,EAAE,EAAE,CAACA,GAAG,CAACS,EAAED,EAAE,EAAE,GAAG,EAAEf,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,OAAO,KAAK,YAAYoH,GAAG,UAAU1H,EAAEM,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,OAAO,KAAK,YAAYoH,GAAG,aAAa,CAAC1H,EAAE,CAAC,CAAC,KAAK,UAAU,EAAE,EAAE,CAAC,OAAO,KAAK,YAAY0H,GAAG,gBAAgB1H,EAAEM,EAAE,CAAC,CAAC,KAAK,gBAAgB,EAAE,EAAE,CAAC,OAAON,EAAE,UAAU,KAAK,IAAI,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,EAAEA,EAAE,EAAE,EAAEM,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,aAAa,EAAE,CAAC,IAAIA,EAAE,KAAK,IAAIN,EAAE,CAACU,EAAE,KAAK,IAAIV,EAAE,CAAC,OAAO,KAAK,IAAIM,EAAE,CAACI,EAAE,EAAEA,EAAEJ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIN,EAAE,EAAE,EAAE,EAAEM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAIA,EAAE,KAAK,SAASI,EAAEV,EAAE,SAAS,IAAI,IAAIa,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAGP,EAAEO,KAAKH,EAAEG,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,SAASA,GAAGV,EAAEU,EAAEJ,GAAG,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,SAAS,MAAO,GAAEJ,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAGV,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,UAAU,KAAK,SAAS,GAAG0H,GAAG,IAAIH,EAAG,GAAG,IAAIA,GAAI,CAAC,IAAI,SAAS,SAAS,SAAS,QAAQ,SAAS,SAAS,SAAS,SAAS,SAAS,CAAC1F,GAAG,IAAI0F,GAAI,CAAC,IAAI,UAAU,WAAW,UAAU,UAAU,UAAU,SAAS,SAAS,SAAS,UAAU,CAA6+DI,GAAG,IAAI,CAAoK,GAAG,KAAK,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,CAAC,GAAG,UAAU,KAAK3H,EAAE,IAAI,EAAE,OAAO,kBAAkB,IAAI,OAAOA,EAAE,IAAI,IAAIU,EAAE,GAAGV,aAAa,kBAAkB,EAAEA,MAAM,CAAC,KAAK,IAAK,KAAI,GAAGE,GAAG,SAAS,EAAE,GAAG,MAAMF,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,IAAIa,EAAE+G,GAAG,WAAW,KAAK,CAAC,aAAa,UAAU/G,EAAE,aAAab,EAAE,EAAE,EAAE,CAACa,EAAE,UAAUb,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAE4H,GAAG,OAAOlH,EAAE,UAAUJ,EAAE,CAAC,OAAO,aAAa,EAAE,CAAC,GAAG,OAAO,iBAAiB,KAAKN,aAAa,kBAAkB,OAAO,kBAAkB,KAAKA,aAAa,mBAAmB,OAAO,YAAY,KAAKA,aAAa,YAAY,CAAC,IAAIM,EAAEJ,GAAG,SAAS,CAAC,EAAE,MAAMF,EAAE,MAAM,EAAE,OAAOA,EAAE,OAAO,IAAIU,EAAEJ,EAAE,WAAW,KAAK,CAAC,EAAE,UAAUN,EAAE,EAAE,EAAEA,EAAE,MAAMA,EAAE,OAAO,CAAC,IAAIa,EAAEH,EAAE,aAAa,EAAE,EAAEV,EAAE,MAAMA,EAAE,OAAO,CAAC,EAAEa,EAAE,KAAK,IAAI,IAAIQ,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,EAAEA,GAAG,GAAG,EAAEA,GAAG,IAAI,CAAC,IAAI,OAAOX,EAAE,aAAaG,EAAE,EAAE,EAAE,CAACP,UAAUN,EAAE,KAAK,CAAC,IAAIM,EAAEN,EAAE,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIU,EAAE,EAAEA,EAAEJ,EAAE,OAAO,IAAI,aAAa,YAAYA,aAAa,kBAAkB,EAAEI,GAAG,KAAK,MAAM,GAAGJ,EAAEI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAEA,GAAG,GAAGJ,EAAEI,GAAG,CAAC,MAAM,CAAC,KAAKJ,EAAE,MAAMN,EAAE,MAAM,OAAOA,EAAE,OAAO,MAAM,OAAO,GAAE,wFAAwF,CAACA,IAAI6H,GAAG,EAAEC,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,EAAE,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK9H,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAIM,EAAE,KAAK,KAAK,OAAO,OAAO,iBAAiB,KAAKA,aAAa,iBAAiBN,EAAE,IAAIM,EAAE,WAAWA,EAAE,YAAY,EAAE,CAAC,OAAO,WAAW,KAAKA,aAAa,WAAWN,EAAE,IAAIM,EAAE,aAAaA,EAAE,cAAc,EAAE,CAACA,IAAI,KAAwCN,EAAE,IAAI,EAAE,EAAE,EAAE,CAA/CA,EAAE,IAAIM,EAAE,MAAMA,EAAE,OAAOA,EAAE,OAAO,EAAE,CAAcN,EAAE,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,EAAE,CAAC,IAAIM,EAAEN,IAAI,IAAK,IAAG,OAAOA,GAAG,SAAS,GAAG,CAACM,GAAGN,EAAE,OAAO,KAAK,QAAQ,IAAK,GAAE,OAAOA,EAAE,OAAO,KAAK,MAAM,IAAIU,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAACG,EAAE,KAAK,KAAK,GAAGA,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAIQ,EAAE,EAAE,EAAER,EAAE,OAAOQ,EAAE,EAAE,IAAI,EAAEA,GAAG,cAAc,EAAE,KAAKS,GAAGjB,EAAEQ,GAAG,MAAM,CAAC,CAAC,EAAE,KAAKS,GAAGjB,EAAEQ,GAAG,CAAC,MAAM,EAAES,GAAGjB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAOP,IAAI,EAAE,OAAO,KAAK,MAAMI,GAAGA,IAAsWqH,GAAG,EAAEC,GAAG,IAAI,EAAE,GAAG,MAAM/H,UAAU,EAAE,CAAC,YAAY,EAAEA,EAAE,cAAc,EAAEA,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAEA,EAAE,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,EAAE,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,OAAO,IAAI6H,GAAG9H,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,KAAK,QAAQM,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAMI,EAAE,KAAK,MAAMG,EAAE,KAAK,UAAU,EAAE,KAAK,UAAUQ,EAAE,KAAK,WAAWC,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,KAAK,KAAK,KAAK,EAAE,KAAK,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,iBAAiB,CAAC,EAAE,KAAK,OAAO,IAAIiG,EAAG,KAAK,gBAAgB,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAWhG,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,SAAS,KAAK,KAAK,aAAa,KAAK,KAAK,sBAAsB,CAAC,EAAE,KAAK,eAAe,CAAC,EAAEvB,GAAGA,EAAE,OAAOA,EAAE,MAAM,GAAG,KAAK,aAAa,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,QAAQgI,GAAG,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,QAAQA,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,QAAQA,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,KAAK,IAAI,MAAM,EAAE,CAAC,KAAK,OAAO,KAAKhI,EAAE,cAAc,CAAC,KAAK,OAAO,eAAe,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,CAAC,MAAMA,EAAE,MAAMM,EAAE,CAAC,CAAC,mBAAmB,CAAC,KAAK,aAAa,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,KAAKN,EAAE,KAAK,KAAK,OAAOA,EAAE,OAAO,KAAK,QAAQA,EAAE,QAAQ,MAAM,EAAE,CAAC,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQA,EAAE,QAAQ,KAAK,MAAMA,EAAE,MAAM,KAAK,MAAMA,EAAE,MAAM,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,OAAOA,EAAE,OAAO,KAAK,eAAeA,EAAE,eAAe,KAAK,KAAKA,EAAE,KAAK,KAAK,WAAWA,EAAE,WAAW,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,MAAMA,EAAE,MAAM,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,WAAWA,EAAE,WAAW,KAAK,aAAaA,EAAE,aAAa,KAAK,sBAAsBA,EAAE,sBAAsB,KAAK,eAAeA,EAAE,eAAe,KAAK,SAAS,KAAK,MAAM,KAAK,UAAUA,EAAE,SAAS,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC,IAAI,IAAIM,KAAKN,EAAE,CAAC,IAAIU,EAAEV,EAAEM,GAAG,GAAGI,IAAI,IAAK,GAAE,CAAC,GAAE,mCAAmCJ,EAAE,2BAA2B,CAAC,SAAS,IAAIO,EAAE,KAAKP,GAAG,GAAGO,IAAI,IAAK,GAAE,CAAC,GAAE,kCAAkCP,EAAE,mBAAmB,CAAC,SAAS,GAAGI,GAAGG,EAAE,WAAWH,EAAE,WAAWG,GAAGH,GAAGG,EAAE,WAAWH,EAAE,WAAWG,GAAGH,GAAGG,EAAE,WAAWH,EAAE,UAAUG,EAAE,KAAKH,EAAE,CAAC,KAAKJ,GAAGI,GAAG,OAAO,EAAE,CAAC,IAAIJ,EAAEN,IAAI,IAAK,IAAG,OAAOA,GAAG,SAAS,GAAG,CAACM,GAAGN,EAAE,SAAS,KAAK,QAAQ,IAAK,GAAE,OAAOA,EAAE,SAAS,KAAK,MAAM,IAAIU,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,UAAU,UAAU,iBAAiB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,OAAO,OAAOV,EAAE,CAAC,KAAK,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,SAAS,KAAK,SAAS,KAAK,CAAC,KAAK,MAAM,KAAK,MAAM,CAAC,OAAO,KAAK,OAAO,eAAe,KAAK,eAAe,KAAK,KAAK,KAAK,WAAW,KAAK,WAAW,WAAW,KAAK,WAAW,UAAU,KAAK,UAAU,UAAU,KAAK,UAAU,WAAW,KAAK,WAAW,MAAM,KAAK,MAAM,gBAAgB,KAAK,gBAAgB,iBAAiB,KAAK,iBAAiB,gBAAgB,KAAK,gBAAgB,CAAC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,UAAUM,IAAI,EAAE,SAAS,KAAK,MAAMI,GAAGA,EAAE,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,OAAOV,EAAE,GAAGA,EAAE,aAAa,KAAK,OAAO,CAACA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,OAAO,KAAK,MAAZ,CAAmB,KAAK,GAAG,EAAE,GAAM,KAAK,MAAMA,EAAE,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,MAAMA,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAE,CAACA,EAAE,EAAE,EAAE,GAAM,KAAK,MAAMA,EAAE,EAAE,CAAC,MAAM,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,OAAO,KAAK,MAAZ,CAAmB,KAAK,GAAG,EAAE,GAAM,KAAK,MAAMA,EAAE,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,MAAMA,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAE,CAACA,EAAE,EAAE,EAAE,GAAM,KAAK,MAAMA,EAAE,EAAE,CAAC,MAAM,OAAO,KAAK,QAAQ,EAAE,EAAE,EAAEA,EAAE,GAAGA,EAAE,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,KAAK,OAAO,YAAY,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,iBAAiB,GAAG,cAAc,KAAK,GAAG,gBAAgB,GAAG,GAAG,mBAAmB,EAAM,GAAG,MAAMC,CAAC,CAAC,OAAO,EAAE,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAED,EAAE,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC,KAAK,EAAEb,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,EAAEA,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,EAAEb,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAK,aAAa,EAAE,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,KAAK,EAAEM,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,IAAK,GAAE,KAAK,EAAEA,EAAE,MAAM,QAAQ,MAAU,MAAM,0BAA0BN,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,OAAOA,EAAP,CAAU,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,IAAK,GAAE,OAAO,KAAK,EAAE,QAAQ,MAAU,MAAM,0BAA0BA,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,IAAI,IAAK,GAAM,EAAJA,EAAE,EAAI,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,gBAAgB,EAAE,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,GAAGN,EAAE,EAAEM,EAAE,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,eAAe,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,aAAa,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEQ,EAAErB,EAAE,SAAS,MAAO,MAAK,EAAEqB,EAAE,GAAGf,EAAEe,EAAE,GAAGX,EAAEW,EAAE,GAAGR,EAAEQ,EAAE,IAAI,EAAE,KAAK,EAAEA,EAAE,GAAGf,EAAEe,EAAE,GAAGX,EAAEW,EAAE,GAAGR,EAAEQ,EAAE,IAAI,EAAE,KAAK,EAAEA,EAAE,GAAGf,EAAEe,EAAE,GAAGX,EAAEW,EAAE,IAAIR,EAAEQ,EAAE,IAAI,EAAE,KAAK,EAAEA,EAAE,GAAGf,EAAEe,EAAE,GAAGX,EAAEW,EAAE,IAAIR,EAAEQ,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,MAAO,MAAK,GAAGrB,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEA,EAAE,CAAC,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAE,CAAC,IAAIM,EAAE,KAAK,KAAK,EAAEN,EAAE,EAAEA,EAAE,EAAE,CAAC,OAAOM,EAAE,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,EAAEN,EAAE,EAAEM,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,KAAK,EAAEN,EAAE,EAAEM,GAAG,KAAK,+BAA+B,EAAE,CAAC,IAAIA,EAAEI,EAAEG,EAAE,EAAE,EAAEb,EAAE,SAASsB,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGmB,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAI,GAAG,KAAK,IAAIxB,EAAEE,EAAE,CAAC,KAAK,KAAK,IAAID,EAAE,EAAE,CAAC,KAAK,KAAK,IAAIG,EAAEmB,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,IAAIvB,EAAEE,EAAE,CAAC,IAAI,KAAK,IAAID,EAAE,EAAE,CAAC,IAAI,KAAK,IAAIG,EAAEmB,EAAE,CAAC,IAAI,KAAK,IAAIxB,EAAEI,EAAEqB,EAAE,EAAE,CAAC,GAAG,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAIG,GAAG5B,EAAE,GAAG,EAAE6B,GAAGzB,EAAE,GAAG,EAAE8F,GAAGzE,EAAE,GAAG,EAAE,GAAGxB,EAAEE,GAAG,EAAEgG,GAAGjG,EAAE,GAAG,EAAEyG,GAAGtG,EAAEmB,GAAG,EAAE,OAAOI,EAAEC,GAAGD,EAAEsE,EAAEtE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,KAAKA,EAAE,CAAC,EAAE,EAAExC,EAAE,EAAE+G,EAAE/G,GAAGyC,EAAEqE,EAAErE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,KAAKA,EAAE,CAAC,EAAE,EAAEtC,EAAE,EAAEoH,EAAEpH,GAAG2G,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,KAAKA,EAAE,CAAC,EAAEC,EAAE,EAAE,EAAEQ,EAAE,GAAG,KAAK,IAAIvH,EAAEG,EAAE,EAAEP,EAAE,CAAC,KAAK,IAAI2C,EAAE,KAAK,MAAMH,EAAEnB,IAAImB,EAAEnB,IAAIH,EAAE,IAAIA,EAAE,IAAIC,EAAEF,IAAIE,EAAEF,GAAG,CAAC,OAAO,KAAK,IAAI0B,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAGH,EAAEnB,GAAGsB,EAAE,KAAK,GAAGzB,EAAE,GAAGyB,EAAE,KAAK,GAAGxB,EAAEF,GAAG0B,EAAE,KAAK,EAAE,KAAK,MAAM3B,EAAEI,EAAEqB,EAAE,GAAG,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAIzC,EAAEN,EAAE,SAAS,MAAO,MAAK,EAAEM,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAI,KAAK,EAAEA,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEN,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEW,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAE,EAAEM,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,EAAEK,EAAE,KAAK,EAAEX,EAAEM,EAAE,CAAC,KAAK,YAAY,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,QAAQ,CAAC,OAAO,KAAK,aAAaA,GAAG,EAAE,CAAC,eAAeC,EAAED,EAAEV,EAAEM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAO,MAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,aAAa,CAAC,MAAO,MAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAO,MAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,EAAEN,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,OAAO,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,eAAeA,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAO,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,OAAO,EAAE,CAAC,OAAOV,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAEM,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAO,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAEN,EAAE,oBAAoB,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAO,MAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC,EAAE,eAAe,KAAK,UAAU,GAAG,YAAY,CAAC,EAAE,cAAc,CAAC,EAAE,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,EAAE,aAAa,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAACI,EAAE,CAAC,KAAK,eAAe,CAAC,EAAE,KAAK,MAAMV,EAAE,KAAK,OAAOM,EAAE,KAAK,MAAMI,EAAE,MAAM,KAAK,QAAQ,IAAI,GAAG,EAAE,EAAEV,EAAEM,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,SAAS,IAAI,GAAG,EAAE,EAAEN,EAAEM,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,IAAuC,EAAE,IAAI,GAAvC,CAAC,MAAMN,EAAE,OAAOM,EAAE,MAAMI,EAAE,MAAM,CAAY,CAACW,EAAEX,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,EAAEW,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,OAAO,CAAC,KAAK,SAAS,GAAG,sBAAsB,CAAC,EAAE,KAAK,SAAS,GAAG,aAAa,KAAK,KAAK,mBAAmBX,EAAE,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,cAAcA,EAAE,cAAc,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,qBAAqBA,EAAE,qBAAqB,KAAK,cAAc,KAAK,KAAK,aAAaA,EAAE,aAAa,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAIJ,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE,eAAe,KAAK,CAAC,EAAE,UAAU,IAAK,KAAI,EAAE,QAAQN,EAAE,SAASA,EAAE,QAAQ,IAAK,KAAI,EAAE,MAAMA,EAAE,OAAOA,EAAE,QAAQ,IAAK,KAAI,EAAE,MAAMA,EAAE,OAAOA,EAAE,QAAQ,IAAK,KAAI,EAAE,MAAMA,EAAE,OAAOA,EAAE,YAAY,IAAK,KAAI,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,IAAK,KAAI,EAAE,UAAUA,EAAE,WAAWA,EAAE,SAAS,IAAK,KAAI,EAAE,OAAOA,EAAE,QAAQA,EAAE,OAAO,IAAK,KAAI,EAAE,KAAKA,EAAE,MAAMA,EAAE,aAAa,IAAK,KAAI,EAAE,WAAWA,EAAE,YAAYA,EAAE,aAAa,IAAK,KAAI,EAAE,WAAWA,EAAE,YAAYA,EAAE,QAAQ,IAAK,KAAI,EAAE,MAAMA,EAAE,OAAOA,EAAE,kBAAkB,IAAK,KAAI,EAAE,gBAAgBA,EAAE,iBAAiBA,EAAE,iBAAiB,IAAK,KAAI,EAAE,eAAeA,EAAE,gBAAgB,IAAI,IAAIU,EAAE,EAAEA,EAAE,KAAK,SAAS,OAAO,IAAI,KAAK,SAASA,GAAG,UAAUJ,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC,KAAK,SAAS,GAAGN,EAAE,IAAI,aAAa,EAAE,CAAC,KAAK,gBAAgB,OAAO,KAAK,cAAc,aAAa,MAAMA,IAAI,OAAO,EAAE,aAAa,MAAM,KAAK,cAAcA,EAAE,IAAI,cAAc,CAAC,OAAO,KAAK,cAAc,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQA,GAAG,KAAK,SAASM,GAAG,KAAK,QAAQI,EAAE,CAAC,KAAK,MAAMV,EAAE,KAAK,OAAOM,EAAE,KAAK,MAAMI,EAAE,IAAI,IAAIG,EAAE,EAAE,EAAE,KAAK,SAAS,OAAOA,EAAE,EAAE,IAAI,KAAK,SAASA,GAAG,MAAM,MAAMb,EAAE,KAAK,SAASa,GAAG,MAAM,OAAOP,EAAE,KAAK,SAASO,GAAG,MAAM,MAAMH,EAAE,KAAK,SAASG,GAAG,kBAAkB,CAAC,IAAI,KAAK,SAASA,GAAG,eAAe,KAAK,SAASA,GAAG,MAAM,MAAM,GAAG,KAAK,SAAS,CAAC,KAAK,SAAS,IAAI,EAAE,EAAEb,EAAEM,EAAE,CAAC,KAAK,QAAQ,IAAI,EAAE,EAAEN,EAAEM,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,MAAMN,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,KAAK,MAAMA,EAAE,MAAM,KAAK,QAAQ,KAAKA,EAAE,QAAQ,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,SAAS,OAAOM,EAAEI,EAAE,IAAI,CAAC,KAAK,SAASJ,GAAGN,EAAE,SAASM,GAAG,OAAO,CAAC,KAAK,SAASA,GAAG,sBAAsB,CAAC,EAAE,KAAK,SAASA,GAAG,aAAa,KAAK,IAAIO,EAAE,OAAO,OAAO,EAAE,CAACb,EAAE,SAASM,GAAG,MAAM,CAAC,KAAK,SAASA,GAAG,OAAO,IAAIwH,GAAGjH,EAAE,CAAC,MAAO,MAAK,YAAYb,EAAE,YAAY,KAAK,cAAcA,EAAE,cAAc,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,qBAAqBA,EAAE,qBAAqBA,EAAE,eAAe,OAAO,KAAK,aAAaA,EAAE,aAAa,OAAO,EAAE,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,KAAK,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,GAAG,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAMA,EAAEM,EAAEI,EAAE,CAAC,KAAK,oBAAoB,CAAC,IAAI,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,mBAAmB,CAAC,EAAE,KAAK,MAAM,CAAC,KAAKV,EAAE,MAAMM,EAAE,OAAOI,EAAE,MAAMG,EAAE,CAAC,KAAK,UAAU,GAAG,KAAK,UAAU,GAAG,KAAK,MAAM,GAAG,KAAK,gBAAgB,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,IAAI,IAAI,eAAe,EAAE,CAAC,KAAK,aAAa,IAAIb,EAAE,CAAC,mBAAmB,CAAC,KAAK,aAAa,OAAO,GAAmN,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,gBAAgB,CAAC,EAAE,KAAK,MAAM,CAAC,KAAKA,EAAE,MAAMM,EAAE,OAAOI,EAAE,MAAMG,EAAE,CAAC,KAAK,UAAU,GAAG,KAAK,UAAU,GAAG,KAAK,MAAM,GAAG,KAAK,gBAAgB,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,gBAAgB,IAAiN,GAAE,MAAMZ,CAAC,CAAC,OAAO,EAAE,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACD,IAAI,IAAK,IAAG,KAAK,IAAIA,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,EAAE,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,EAAEmB,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIC,EAAE,KAAK,SAAS,MAAO,GAAE,GAAG/C,EAAE,EAAE,GAAGM,EAAE,EAAE,GAAGI,EAAE,EAAE,IAAIG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAImB,EAAE,KAAK,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI7C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,IAAIK,EAAE,KAAK,SAASI,EAAEV,EAAE,SAAS,MAAO,GAAE,GAAGU,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC,IAAIJ,EAAE,KAAK,SAASI,EAAEV,EAAE,SAAS,MAAO,GAAE,IAAIU,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC,IAAIJ,EAAEN,EAAE,SAAS,OAAO,KAAK,IAAIM,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,GAAG,GAAGN,EAAE,IAAI,EAAE,EAAE,EAAE,CAACM,EAAE,IAAI,EAAE,EAAE,EAAE,CAACI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,OAAOV,EAAE,oBAAoB,KAAK,EAAE,CAACM,EAAE,oBAAoB,KAAK,EAAE,CAACI,EAAE,oBAAoB,KAAK,EAAE,CAAC,MAAM,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIV,EAAE,EAAEM,EAAE,EAAEI,EAAE,EAAE,EAAEV,EAAE,EAAEM,EAAE,EAAEI,EAAE,EAAE,EAAEV,EAAE,EAAEM,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,gBAAgB,EAAE,CAAC,GAAGV,EAAE,aAAa,GAAG,EAAE,OAAO,KAAK,UAAU,CAAC,IAAIM,EAAE,KAAK,SAASI,EAAEV,EAAE,SAASa,EAAE,EAAE,GAAG,oBAAoBb,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,oBAAoBA,EAAE,EAAE,CAAC,QAAQ,CAACqB,EAAE,EAAE,GAAG,oBAAoBrB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAO,GAAE,GAAGU,EAAE,GAAGG,EAAE,EAAE,GAAGH,EAAE,GAAGG,EAAE,EAAE,GAAGH,EAAE,GAAGG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGH,EAAE,GAAG,EAAE,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAE,GAAGA,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGA,EAAE,GAAGW,EAAE,EAAE,GAAGX,EAAE,GAAGW,EAAE,EAAE,IAAIX,EAAE,IAAIW,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,sBAAsB,EAAE,CAAC,IAAIf,EAAE,KAAK,SAASI,EAAEV,EAAE,EAAEa,EAAEb,EAAE,EAAE,EAAEA,EAAE,EAAEqB,EAAE,KAAK,IAAIX,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAE,KAAK,IAAIG,EAAE,CAACS,EAAE,KAAK,IAAIT,EAAE,CAACU,EAAE,KAAK,IAAI,EAAE,CAACC,EAAE,KAAK,IAAI,EAAE,CAAC,GAAGxB,EAAE,QAAQ,MAAM,CAAC,IAAIyB,EAAEJ,EAAEE,EAAEG,EAAEL,EAAEG,EAAEG,EAAE,EAAEJ,EAAE,EAAE,EAAEC,EAAE,EAAE,GAAG,EAAED,EAAE,EAAE,GAAG,CAAC,EAAEC,EAAE,EAAE,GAAGF,EAAE,EAAE,GAAGI,EAAEC,EAAEL,EAAE,EAAE,GAAGG,EAAE,EAAEH,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAEG,EAAEH,EAAE,EAAE,GAAGK,EAAED,EAAEJ,EAAE,EAAE,IAAID,EAAE,UAAUrB,EAAE,QAAQ,MAAM,CAAC,IAAIyB,EAAE,EAAEF,EAAEG,EAAE,EAAEF,EAAEG,EAAEL,EAAEC,EAAE,EAAED,EAAEE,EAAE,EAAE,GAAGC,EAAE,EAAE,EAAE,EAAE,GAAGE,EAAE,EAAED,EAAE,EAAE,GAAGL,EAAEC,EAAE,EAAE,GAAGD,EAAEG,EAAE,EAAE,GAAGH,EAAEE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAGG,EAAE,EAAEC,EAAE,EAAE,GAAG,EAAEF,EAAE,EAAE,EAAE,IAAIJ,EAAE,UAAUrB,EAAE,QAAQ,MAAM,CAAC,IAAIyB,EAAE,EAAEF,EAAEG,EAAE,EAAEF,EAAEG,EAAEL,EAAEC,EAAE,EAAED,EAAEE,EAAE,EAAE,GAAGC,EAAE,EAAE,EAAE,EAAE,GAAG,CAACJ,EAAEG,EAAE,EAAE,GAAGG,EAAED,EAAE,EAAE,EAAE,GAAGA,EAAEC,EAAE,EAAE,EAAE,GAAGN,EAAEE,EAAE,EAAE,GAAG,EAAEE,EAAE,EAAE,EAAE,GAAG,CAACJ,EAAEC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAID,EAAE,UAAUrB,EAAE,QAAQ,MAAM,CAAC,IAAIyB,EAAEJ,EAAEE,EAAEG,EAAEL,EAAEG,EAAEG,EAAE,EAAEJ,EAAE,EAAE,EAAEC,EAAE,EAAE,GAAG,EAAED,EAAE,EAAE,GAAGI,EAAEL,EAAEI,EAAE,EAAE,GAAGD,EAAEH,EAAE,EAAE,EAAE,GAAG,EAAEE,EAAE,EAAE,GAAG,EAAEF,EAAEG,EAAE,EAAE,GAAGC,EAAEJ,EAAEK,EAAE,EAAE,GAAG,CAACL,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAID,EAAE,UAAUrB,EAAE,QAAQ,MAAM,CAAC,IAAIyB,EAAEJ,EAAE,EAAEK,EAAEL,EAAEC,EAAEK,EAAE,EAAE,EAAE,EAAE,EAAEL,EAAE,EAAE,GAAG,EAAEC,EAAE,EAAE,GAAG,EAAEE,EAAED,EAAE,EAAE,GAAGG,EAAEH,EAAEE,EAAE,EAAE,GAAGF,EAAE,EAAE,GAAGH,EAAEE,EAAE,EAAE,GAAG,CAAC,EAAEA,EAAE,EAAE,GAAG,CAACD,EAAEC,EAAE,EAAE,GAAGG,EAAEF,EAAEG,EAAE,EAAE,IAAIF,EAAE,EAAED,UAAUxB,EAAE,QAAQ,MAAM,CAAC,IAAIyB,EAAEJ,EAAE,EAAEK,EAAEL,EAAEC,EAAEK,EAAE,EAAE,EAAE,EAAE,EAAEL,EAAE,EAAE,GAAG,EAAEC,EAAE,EAAE,GAAG,CAACC,EAAE,EAAE,GAAGF,EAAEC,EAAE,EAAE,GAAGE,EAAED,EAAE,EAAE,EAAE,GAAGH,EAAEE,EAAE,EAAE,GAAGG,EAAEF,EAAEG,EAAE,EAAE,GAAGA,EAAEH,EAAEE,EAAE,EAAE,GAAG,EAAEH,EAAE,EAAE,IAAI,EAAEC,EAAEC,EAAE,MAAO,GAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,2BAA2B,EAAE,CAAC,OAAO,KAAK,QAAQ0G,GAAGnI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,IAAIa,EAAE,KAAK,SAAS,OAAOuH,GAAG,WAAWpI,EAAEM,EAAE,CAAC8H,GAAG,UAAU,GAAG,IAAI,GAAG,EAAE,GAAGA,GAAG,WAAW,CAAC,GAAG,aAAa1H,EAAE0H,GAAG,CAAC,GAAG,UAAU,GAAG,IAAI,KAAK,IAAI1H,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK0H,GAAG,WAAW,CAAC,GAAG,aAAa1H,EAAE0H,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,aAAaA,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAGA,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAGA,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,IAAIA,GAAG,EAAE,KAAK,SAAS,EAAE,CAAC,OAAO,KAAK,iBAAiB,KAAKpI,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,iBAAiBA,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAIU,EAAEV,EAAE,SAASa,EAAEP,EAAE,SAAS,EAAE,KAAK,SAASe,EAAEX,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGY,EAAEZ,EAAE,IAAIa,EAAEb,EAAE,GAAGc,EAAEd,EAAE,GAAGe,EAAEf,EAAE,GAAGgB,EAAEhB,EAAE,IAAIiB,EAAEjB,EAAE,GAAG,EAAEA,EAAE,GAAGoC,EAAEpC,EAAE,IAAIqC,EAAErC,EAAE,IAAIuC,EAAEvC,EAAE,GAAGwC,EAAExC,EAAE,GAAGyC,EAAEzC,EAAE,IAAI8G,EAAE9G,EAAE,IAAI,EAAEG,EAAE,GAAG4G,EAAE5G,EAAE,GAAGoH,EAAEpH,EAAE,GAAGwH,EAAExH,EAAE,IAAIyH,EAAEzH,EAAE,GAAG0H,EAAE1H,EAAE,GAAG2H,EAAE3H,EAAE,GAAG4H,EAAE5H,EAAE,IAAI6H,EAAE7H,EAAE,GAAG8H,EAAE9H,EAAE,GAAG+H,EAAG/H,EAAE,IAAIgI,EAAGhI,EAAE,IAAIiI,EAAGjI,EAAE,GAAGkI,EAAGlI,EAAE,GAAGmI,GAAGnI,EAAE,IAAIoI,GAAGpI,EAAE,IAAI,MAAO,GAAE,GAAGQ,EAAE,EAAE,EAAEiH,EAAE,EAAEI,EAAEpH,EAAEwH,EAAG,EAAE,GAAGzH,EAAEoG,EAAE,EAAEc,EAAE,EAAEI,EAAErH,EAAEyH,EAAG,EAAE,GAAG1H,EAAE4G,EAAE,EAAEO,EAAE,EAAEI,EAAGtH,EAAE0H,GAAG,EAAE,IAAI3H,EAAEgH,EAAE,EAAEI,EAAE,EAAEI,EAAGvH,EAAE2H,GAAG,EAAE,GAAG1H,EAAE,EAAEC,EAAE8G,EAAE7G,EAAEiH,EAAEhH,EAAEoH,EAAG,EAAE,GAAGvH,EAAEkG,EAAEjG,EAAE+G,EAAE9G,EAAEkH,EAAEjH,EAAEqH,EAAG,EAAE,GAAGxH,EAAE0G,EAAEzG,EAAEgH,EAAE/G,EAAEmH,EAAGlH,EAAEsH,GAAG,EAAE,IAAIzH,EAAE8G,EAAE7G,EAAEiH,EAAEhH,EAAEoH,EAAGnH,EAAEuH,GAAG,EAAE,GAAGtH,EAAE,EAAE,EAAE2G,EAAExF,EAAE4F,EAAE3F,EAAE+F,EAAG,EAAE,GAAGnH,EAAE8F,EAAE,EAAEc,EAAEzF,EAAE6F,EAAE5F,EAAEgG,EAAG,EAAE,IAAIpH,EAAEsG,EAAE,EAAEO,EAAE1F,EAAE8F,EAAG7F,EAAEiG,GAAG,EAAE,IAAIrH,EAAE0G,EAAE,EAAEI,EAAE3F,EAAE+F,EAAG9F,EAAEkG,GAAG,EAAE,GAAGhG,EAAE,EAAEC,EAAEoF,EAAEnF,EAAEuF,EAAElB,EAAEsB,EAAG,EAAE,GAAG7F,EAAEwE,EAAEvE,EAAEqF,EAAEpF,EAAEwF,EAAEnB,EAAEuB,EAAG,EAAE,IAAI9F,EAAEgF,EAAE/E,EAAEsF,EAAErF,EAAEyF,EAAGpB,EAAEwB,GAAG,EAAE,IAAI/F,EAAEoF,EAAEnF,EAAEuF,EAAEtF,EAAE0F,EAAGrB,EAAEyB,GAAG,KAAK,eAAe,EAAE,CAAC,IAAI3I,EAAE,KAAK,SAAS,MAAO,GAAE,IAAIN,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,IAAIA,EAAE,EAAE,IAAIA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,KAAK,aAAa,CAAC,IAAIA,EAAE,KAAK,SAASM,EAAEN,EAAE,GAAGU,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,IAAIqB,EAAErB,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGsB,EAAEtB,EAAE,IAAIuB,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGyB,EAAEzB,EAAE,IAAI0B,EAAE1B,EAAE,IAAI2B,EAAE3B,EAAE,GAAG,EAAEA,EAAE,GAAG8C,EAAE9C,EAAE,IAAI+C,EAAE/C,EAAE,IAAIiD,EAAE,EAAEvB,EAAEJ,EAAEG,EAAEyB,EAAE,EAAExB,EAAEJ,EAAEE,EAAE2B,EAAE,EAAE1B,EAAE,EAAED,EAAEgG,EAAEnG,EAAEK,EAAEJ,EAAEC,EAAE,EAAEF,EAAEI,EAAE,EAAEF,EAAEkG,EAAEpG,EAAEG,EAAE,EAAED,EAAE,OAAOjB,GAAG,EAAE2C,EAAEH,EAAEI,EAAEH,EAAEI,GAAGzC,GAAGiB,EAAEsB,EAAEH,EAAE0E,EAAEzE,EAAE,GAAGlC,GAAGc,EAAEuB,EAAE,EAAEsE,EAAEzE,EAAE0E,GAAG,GAAG9F,EAAEwB,EAAE,EAAE,EAAEL,EAAE2E,GAAG,WAAW,CAAC,IAAIzH,EAAE,KAAK,SAASM,EAAE,MAAO,GAAEN,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAG,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAG,EAAE,GAAGA,EAAE,IAAI,EAAE,IAAIM,EAAE,EAAEN,EAAE,GAAG,EAAE,GAAGA,EAAE,IAAI,EAAE,IAAIM,EAAE,EAAEN,EAAE,IAAI,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIM,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,IAAIO,EAAE,KAAK,SAAS,OAAOb,EAAE,WAAW,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAIA,EAAE,IAAI,EAAE,IAAIA,EAAE,EAAE,IAAIM,EAAE,EAAE,IAAII,GAAG,KAAK,QAAQ,CAAC,IAAIV,EAAE,KAAK,SAASM,EAAEN,EAAE,GAAGU,EAAEV,EAAE,GAAGa,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAGqB,EAAErB,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGsB,EAAEtB,EAAE,GAAGuB,EAAEvB,EAAE,GAAGwB,EAAExB,EAAE,GAAGyB,EAAEzB,EAAE,IAAI0B,EAAE1B,EAAE,IAAI2B,EAAE3B,EAAE,IAAI,EAAEA,EAAE,IAAI8C,EAAE9C,EAAE,IAAI+C,EAAE/C,EAAE,IAAIiD,EAAE3C,EAAE,EAAEI,EAAEW,EAAE6B,EAAE5C,EAAE,EAAEO,EAAEQ,EAAE8B,EAAE7C,EAAEgB,EAAE,EAAED,EAAEmG,EAAE9G,EAAE,EAAEG,EAAE,EAAE,EAAEH,EAAEY,EAAE,EAAE,EAAEmG,EAAE5G,EAAES,EAAE,EAAE,EAAE2G,EAAE1G,EAAE,EAAEC,EAAEG,EAAE0G,EAAE9G,EAAEuB,EAAErB,EAAEE,EAAE2G,EAAE/G,EAAEwB,EAAErB,EAAEC,EAAE4G,EAAE/G,EAAEsB,EAAErB,EAAE,EAAE+G,EAAEhH,EAAEuB,EAAErB,EAAE,EAAE+G,EAAEhH,EAAEsB,EAAErB,EAAEoB,EAAE4F,EAAEzF,EAAEwF,EAAEvF,EAAEsF,EAAErF,EAAEoF,EAAEf,EAAEc,EAAE,EAAED,EAAEZ,EAAEQ,EAAE,GAAGS,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIC,EAAE,EAAED,EAAE,MAAO,GAAE,IAAI,EAAED,EAAE,EAAED,EAAElH,EAAEiH,GAAGI,EAAE,EAAE,IAAI9H,EAAE2H,EAAE9H,EAAE+H,EAAE,EAAEF,GAAGI,EAAE,EAAE,IAAI,EAAElB,EAAE3E,EAAE,EAAEC,EAAEyE,GAAGmB,EAAE,EAAE,IAAIlH,EAAE,EAAED,EAAEiG,EAAE/F,EAAE8F,GAAGmB,EAAE,EAAE,IAAI,EAAEL,EAAEjH,EAAEoH,EAAEnH,EAAE+G,GAAGM,EAAE,EAAE,IAAIrI,EAAEmI,EAAE5H,EAAEyH,EAAE,EAAED,GAAGM,EAAE,EAAE,IAAI7F,EAAEK,EAAExB,EAAE8F,EAAE1E,EAAEG,GAAGyF,EAAE,EAAE,IAAIpH,EAAEkG,EAAEhG,EAAE0B,EAAEzB,EAAEwB,GAAGyF,EAAE,EAAE,IAAItH,EAAEmH,EAAE,EAAEF,EAAEhH,EAAE2G,GAAGU,EAAE,EAAE,IAAIjI,EAAE4H,EAAEhI,EAAEkI,EAAE,EAAEP,GAAGU,EAAE,EAAE,KAAKhH,EAAE,EAAE,EAAEwB,EAAEJ,EAAEE,GAAG0F,EAAE,EAAE,KAAKnH,EAAE2B,EAAE5B,EAAE,EAAEG,EAAEuB,GAAG0F,EAAE,EAAE,KAAK,EAAEN,EAAEhH,EAAEkH,EAAE,EAAEN,GAAGU,EAAE,EAAE,KAAKrI,EAAEiI,EAAE7H,EAAE2H,EAAExH,EAAEoH,GAAGU,EAAE,EAAE,KAAK,EAAEzF,EAAEvB,EAAE6F,EAAE1E,EAAEG,GAAG0F,EAAE,EAAE,KAAKpH,EAAEiG,EAAEhG,EAAE0B,EAAEzB,EAAEwB,GAAG0F,EAAE,KAAK,MAAM,EAAE,CAAC,IAAIrI,EAAE,KAAK,SAASI,EAAEV,EAAE,EAAEa,EAAEb,EAAE,EAAE,EAAEA,EAAE,EAAE,MAAO,GAAE,IAAIU,EAAE,EAAE,IAAIG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAIH,EAAE,EAAE,IAAIG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAIH,EAAE,EAAE,IAAIG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAIH,EAAE,EAAE,IAAIG,EAAE,EAAE,KAAK,EAAE,KAAK,mBAAmB,CAAC,IAAIb,EAAE,KAAK,SAASM,EAAEN,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGU,EAAEV,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGa,EAAEb,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAI,OAAO,KAAK,KAAK,KAAK,IAAIM,EAAEI,EAAEG,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,OAAOb,EAAE,UAAU,KAAK,IAAI,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEM,EAAE,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,cAAc,EAAE,CAAC,IAAIJ,EAAE,KAAK,IAAIN,EAAE,CAACU,EAAE,KAAK,IAAIV,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAEM,EAAE,CAACI,EAAE,EAAE,EAAEA,EAAEJ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,cAAc,EAAE,CAAC,IAAIA,EAAE,KAAK,IAAIN,EAAE,CAACU,EAAE,KAAK,IAAIV,EAAE,CAAC,OAAO,KAAK,IAAIM,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACA,EAAE,EAAEJ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,cAAc,EAAE,CAAC,IAAIA,EAAE,KAAK,IAAIN,EAAE,CAACU,EAAE,KAAK,IAAIV,EAAE,CAAC,OAAO,KAAK,IAAIM,EAAE,CAACI,EAAE,EAAE,EAAEA,EAAEJ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,IAAIJ,EAAE,CAACO,EAAE,KAAK,IAAIP,EAAE,CAAC,EAAE,EAAEI,EAAEW,EAAErB,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAEsB,EAAE,EAAED,EAAEE,EAAE,EAAE,EAAE,OAAO,KAAK,IAAID,EAAED,EAAEX,EAAEY,EAAE,EAAET,EAAE,EAAES,EAAE,EAAET,EAAE,EAAE,EAAES,EAAE,EAAET,EAAE,EAAEU,EAAE,EAAEb,EAAEa,EAAE,EAAEV,EAAEQ,EAAE,EAAEC,EAAE,EAAET,EAAE,EAAEU,EAAE,EAAEV,EAAEQ,EAAE,EAAE,EAAE,EAAEX,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIV,EAAE,EAAE,EAAE,EAAE,EAAEM,EAAE,EAAE,EAAE,EAAE,EAAEI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,EAAEA,EAAE,EAAE,EAAEV,EAAE,EAAEqB,EAAE,EAAEf,EAAEO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,KAAK,SAAS,EAAEP,EAAE,GAAGe,EAAEf,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGgB,EAAE,EAAE,EAAEC,EAAEF,EAAEA,EAAEG,EAAE,EAAE,EAAEC,EAAE,EAAEH,EAAEI,EAAE,EAAEH,EAAEI,EAAE,EAAEH,EAAE,EAAEH,EAAEE,EAAEuB,EAAEzB,EAAEG,EAAEuB,EAAE,EAAEvB,EAAEyB,EAAE,EAAE3B,EAAE4B,EAAE,EAAE3B,EAAE4B,EAAE,EAAE3B,EAAEgG,EAAE9G,EAAE,EAAE,EAAEA,EAAE,EAAE+G,EAAE/G,EAAE,EAAE,MAAO,GAAE,IAAI,GAAG,EAAEqC,IAAIyE,EAAE,EAAE,IAAI9F,EAAEyB,GAAGqE,EAAE,EAAE,IAAI7F,EAAEuB,GAAGsE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI9F,EAAEyB,GAAG,EAAE,EAAE,IAAI,GAAG1B,EAAEsB,IAAI,EAAE,EAAE,IAAID,EAAEG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAItB,EAAEuB,GAAGuE,EAAE,EAAE,IAAI3E,EAAEG,GAAGwE,EAAE,EAAE,KAAK,GAAGhG,EAAE,IAAIgG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAIzH,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC,IAAIa,EAAE,KAAK,SAAS,EAAE,EAAEA,EAAE,IAAI,EAAE,EAAEA,EAAE,IAAI,EAAE,EAAEA,EAAE,IAAI,IAAI,EAAE,KAAK,aAAa,CAAC,GAAG,IAAI,EAAE,OAAOH,EAAE,IAAI,EAAE,EAAE,EAAE,CAACJ,EAAE,UAAU,CAAC,KAAK,IAAIe,EAAE,GAAG,IAAIR,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAIA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAIA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAACQ,GAAG,GAAG,KAAK,KAAK,CAAC,IAAIC,EAAE,EAAED,EAAEE,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAE,MAAO,IAAG,SAAS,IAAIF,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIC,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,IAAIC,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,SAAS,KAAKA,EAAElB,EAAE,sBAAsB,GAAG,CAAC,EAAE,EAAEe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAIC,EAAE,KAAK,SAASC,EAAE,EAAE,GAAGjB,EAAEN,GAAGwB,EAAE,EAAE,GAAGd,EAAEG,GAAGY,GAAGnB,EAAEN,IAAIM,EAAEN,GAAG0B,GAAGhB,EAAEG,IAAIH,EAAEG,GAAGc,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGN,EAAE,GAAG,EAAEA,EAAE,GAAGA,EAAE,WAAW,IAAI,GAAG,EAAE,EAAEA,EAAE,IAAIA,EAAE,GAAG,EAAE,GAAGA,EAAE,GAAGA,EAAE,WAAW,IAAI,GAAG,EAAE,CAACA,GAAGA,EAAE,GAAG,EAAE,CAACA,EAAE,GAAGA,EAAE,QAAQ,MAAU,MAAM,+DAA+D,EAAE,CAAC,MAAO,GAAE,GAAGE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGD,EAAE,EAAE,GAAGE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAIL,EAAE,KAAK,SAASC,EAAE,GAAGjB,EAAEN,GAAGwB,EAAE,GAAGd,EAAEG,GAAGY,EAAE,EAAEnB,EAAEN,IAAIM,EAAEN,GAAG0B,EAAE,EAAEhB,EAAEG,IAAIH,EAAEG,GAAGc,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGN,EAAE,GAAG,EAAEA,GAAGA,EAAE,WAAW,IAAI,GAAG,EAAE,IAAIA,EAAE,GAAG,EAAE,EAAEA,EAAE,IAAIA,EAAE,WAAW,IAAI,GAAG,EAAE,IAAIA,EAAE,GAAG,EAAE,CAAC,GAAGA,EAAE,QAAQ,MAAU,MAAM,gEAAgE,EAAE,CAAC,MAAO,GAAE,GAAGE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGD,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,IAAIrB,EAAE,KAAK,SAASI,EAAEV,EAAE,SAAS,IAAI,IAAIa,EAAE,EAAEA,EAAE,GAAG,IAAI,GAAGP,EAAEO,KAAKH,EAAEG,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEA,EAAE,GAAG,IAAI,KAAK,SAASA,GAAGV,EAAEU,EAAEJ,GAAG,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,SAAS,MAAO,GAAEJ,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,GAAGI,EAAE,GAAG,EAAEJ,EAAE,IAAII,EAAE,IAAI,EAAEJ,EAAE,IAAII,EAAE,IAAI,EAAEJ,EAAE,IAAII,EAAE,IAAI,EAAEJ,EAAE,IAAII,EAAE,IAAI,EAAEJ,EAAE,IAAII,EAAE,IAAI,EAAEJ,EAAE,IAAII,EAAE,IAAIV,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAAEmI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAEc,GAAG,IAAI,GAAE,GAAG,IAAI,GAAG,GAAG,MAAMjJ,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,cAAc,CAAC,KAAK,QAAQ,CAAC,EAAE,KAAK,GAAGD,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,KAAK,OAAOG,EAAE,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGb,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,EAAE,KAAK,mBAAmB,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,KAAK,OAAOA,EAAE,KAAK,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,KAAK,OAAOG,EAAE,KAAK,mBAAmB,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,GAAGb,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,OAAOA,EAAE,OAAO,KAAK,mBAAmB,CAAC,KAAK,sBAAsB,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,CAAC,IAAIa,EAAEb,EAAE,SAAS,EAAEa,EAAE,GAAGQ,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAGS,EAAET,EAAE,GAAGU,EAAEV,EAAE,GAAGW,EAAEX,EAAE,GAAGY,EAAEZ,EAAE,GAAGa,EAAEb,EAAE,IAAI,OAAOP,EAAP,CAAU,IAAI,MAAM,KAAK,GAAG,KAAK,KAAKK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,CAACY,EAAEG,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAACL,EAAE,EAAE,GAAG,KAAK,GAAG,KAAK,MAAMI,EAAEH,EAAE,CAAC,KAAK,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,CAACX,EAAEY,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,EAAEG,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,EAAEJ,EAAE,GAAG,KAAK,GAAG,KAAK,MAAM,CAACE,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAKb,EAAEc,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,CAACD,EAAEE,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAACL,EAAEC,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,CAACX,EAAEa,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAMC,EAAEC,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,CAACL,EAAEC,EAAE,EAAE,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAKX,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,CAACY,EAAED,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,CAACE,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,EAAEE,EAAE,EAAE,MAAM,IAAI,MAAM,KAAK,GAAG,KAAK,KAAK,CAACf,EAAEU,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAIA,EAAE,CAAC,UAAU,KAAK,GAAG,KAAK,MAAMI,EAAEH,EAAE,CAAC,KAAK,GAAG,KAAK,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,KAAK,MAAM,CAACC,EAAEG,EAAE,CAAC,KAAK,GAAG,GAAG,MAAM,QAAQ,GAAE,iEAAiEpB,EAAE,CAAC,MAAO,MAAK,OAAOA,EAAEI,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK,kBAAkB,EAAE,EAAE,EAAE,CAAC,OAAOwI,GAAG,2BAA2BlJ,EAAE,CAAC,KAAK,sBAAsBkJ,GAAG5I,EAAEI,EAAE,CAAC,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC,OAAO,KAAK,IAAIV,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,aAAa,KAAK,CAAC,KAAK,kBAAkB,GAAGN,EAAE,CAAC,OAAO,EAAE,CAAC,OAAOA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,KAAK,KAAK,IAAIA,EAAE,SAAS,KAAK,OAAO,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAGA,EAAE,KAAK,IAAK,KAAI,KAAK,OAAOA,EAAE,IAAI,KAAK,mBAAmB,CAAC,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAO,GAAEM,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,GAAG,EAAEA,EAAE,GAAG,KAAK,OAAON,EAAE,UAAU,EAAE,CAAC,MAAO,MAAK,kBAAkBA,EAAE,KAAK,mBAAmB,EAAE,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,GAAG,cAAc,MAAU,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,GAAGA,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,GAAGA,EAAE,EAAE,WAAW,CAAC,KAAK,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,MAAM,GAAGA,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,MAAM,EAAE,GAAGA,EAAE,GAAG,YAAY,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,KAAK,KAAKA,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,OAAO,KAAK,MAAM,GAAGA,EAAE,KAAM,IAAImJ,GAAG,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,GAAGC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAACC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAACC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,KAAK,UAAU,CAACC,GAAG,CAAC,KAAK,aAAa,MAAM,KAAK,CAACC,GAAG,CAAC,KAAK,eAAe,MAAM,KAAK,CAACC,GAAE,MAAM1J,UAAU,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,EAAE,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,WAAW,KAAK,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC,KAAK,GAAGA,EAAE,WAAW,OAAO,CAAC,IAAID,EAAE,IAAI,EAAEM,EAAE,IAAI,GAAGI,EAAE,IAAI,GAAGG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,aAAaP,EAAE,CAAC,EAAE,CAAC,SAASe,GAAG,CAAC,EAAE,kBAAkBX,EAAE,IAAK,GAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAACA,EAAE,UAAUW,EAAE,CAAC,OAAO,iBAAiB,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,MAAMrB,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,MAAMM,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,MAAMI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,MAAMG,EAAE,CAAC,gBAAgB,CAAC,MAAM,IAAI,GAAE,CAAC,aAAa,CAAC,MAAM,IAAI0G,EAAG,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,GAAE,KAAK,YAAY,IAAI,GAAE,KAAK,iBAAiBtH,EAAE,2BAA2B,KAAK,sBAAsBA,EAAE,iCAAiC,KAAK,uBAAuB,CAAC,EAAE,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,CAAC,KAAK,oBAAoB,IAAK,GAAE,KAAK,uBAAuB,IAAK,GAAE,KAAK,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,KAAK,kBAAkB,KAAK,cAAc,CAAC,KAAK,OAAO,YAAYD,EAAE,CAAC,KAAK,OAAO,UAAU,KAAK,SAAS,KAAK,WAAW,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,WAAW,YAAYA,EAAE,CAAC,KAAK,yBAAyB,EAAE,EAAE,CAAC,KAAK,WAAW,iBAAiBA,EAAEM,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,WAAW,aAAaN,EAAE,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,WAAW,sBAAsBA,EAAE,CAAC,0BAA0B,EAAE,CAAC,KAAK,WAAW,KAAKA,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,OAAOoJ,GAAG,iBAAiBpJ,EAAEM,EAAE,CAAC,KAAK,WAAW,SAAS8I,GAAG,CAAC,KAAK,kBAAkB,EAAE,EAAE,CAAC,OAAOA,GAAG,iBAAiBpJ,EAAEM,EAAE,CAAC,KAAK,WAAW,YAAY8I,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAaE,GAAGtJ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAauJ,GAAGvJ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,aAAa,GAAGA,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,OAAO,GAAG,KAAKA,EAAE,CAAC,gBAAgB,KAAK,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG,eAAeM,EAAE,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgBgJ,GAAGtJ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgBuJ,GAAGvJ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,KAAK,gBAAgB,GAAGA,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAACA,EAAE,aAAa,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAACA,EAAE,aAAa,GAAG,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,GAAG,KAAKA,EAAE,CAAC,GAAG,IAAIA,EAAEM,EAAEI,EAAE,CAAC,IAAIG,EAAE,KAAK,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,sBAAsB,KAAK,YAAY,CAAC,KAAK,UAAU,KAAK,QAAQ,GAAG,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,KAAK,WAAW,sBAAsB,GAAG,CAACA,IAAI,GAAG,gBAAgBA,EAAE,YAAY,CAACuI,GAAG,sBAAsB,GAAG,CAAC,KAAK,WAAW,YAAYA,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,OAAO,EAAE,CAAC,IAAI,IAAI9I,EAAE,EAAEA,EAAE,UAAU,OAAO,IAAI,KAAK,IAAI,UAAUA,GAAG,CAAC,OAAO,KAAK,OAAON,IAAI,MAAMO,GAAE,4DAA4DP,EAAE,CAAC,OAAOA,GAAGA,EAAE,YAAYA,EAAE,kBAAkB,CAAC,EAAE,OAAO,KAAK,KAAK,SAAS,KAAKA,EAAE,CAACA,EAAE,cAAcwJ,GAAG,CAAC,GAAG,MAAMxJ,EAAE,KAAK,cAAcyJ,GAAG,CAAC,GAAG,MAAM,MAAMlJ,GAAE,0DAA0DP,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,GAAG,UAAU,OAAO,EAAE,CAAC,IAAI,IAAIU,EAAE,EAAEA,EAAE,UAAU,OAAO,IAAI,KAAK,OAAO,UAAUA,GAAG,CAAC,OAAO,KAAK,IAAIJ,EAAE,KAAK,SAAS,QAAQN,EAAE,CAAC,OAAOM,IAAI,KAAK,EAAE,OAAO,KAAK,KAAK,SAAS,OAAOA,EAAE,EAAE,CAACN,EAAE,cAAc,GAAG,CAAC,GAAG,MAAMA,EAAE,KAAK,cAAc0J,GAAG,CAAC,GAAG,MAAM,MAAM,KAAK,kBAAkB,CAAC,IAAI1J,EAAE,KAAK,OAAO,OAAOA,IAAI,MAAMA,EAAE,OAAO,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,KAAK,OAAO,GAAG,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,KAAK,YAAY,CAAC,QAAQ,CAACA,EAAE,SAAS,OAAOA,EAAE,OAAO,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,SAASA,EAAE,OAAO,YAAY,EAAEA,EAAE,aAAa,GAAG,CAACA,EAAE,kBAAkB,CAAC,EAAE,OAAO,KAAK,KAAK,SAAS,KAAKA,EAAE,CAACA,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAACA,EAAE,cAAcwJ,GAAG,CAAC,GAAG,MAAMxJ,EAAE,KAAK,cAAcyJ,GAAG,CAAC,GAAG,MAAM,KAAK,KAAK,cAAc,EAAE,CAAC,OAAO,KAAK,oBAAoB,KAAKzJ,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,oBAAoB,OAAOA,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,GAAG,KAAKA,KAAKM,EAAE,OAAO,KAAK,IAAI,IAAII,EAAE,EAAEG,EAAE,KAAK,SAAS,OAAOH,EAAEG,EAAE,IAAI,CAAC,IAAIQ,EAAE,KAAK,SAASX,GAAG,oBAAoBV,EAAEM,EAAE,CAAC,GAAGe,IAAI,IAAK,GAAE,OAAOA,GAAG,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAKrB,KAAKM,GAAGI,EAAE,KAAK,KAAK,CAAC,IAAIG,EAAE,KAAK,SAAS,IAAI,IAAI,EAAE,EAAEQ,EAAER,EAAE,OAAO,EAAEQ,EAAE,IAAI,EAAE,GAAG,qBAAqBrB,EAAEM,EAAEI,EAAE,CAAC,OAAOA,EAAE,iBAAiB,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAACV,EAAE,sBAAsB,KAAK,YAAY,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,YAAY,UAAU,GAAGA,EAAE,GAAG,CAACA,EAAE,cAAc,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,YAAY,UAAU,GAAGqJ,GAAGrJ,EAAE,CAACA,EAAE,kBAAkB,EAAE,CAAC,KAAK,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,IAAIM,EAAE,KAAK,YAAY,SAAS,OAAON,EAAE,IAAIM,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,IAAIA,EAAE,KAAK,SAAS,IAAI,IAAII,EAAE,EAAEG,EAAEP,EAAE,OAAOI,EAAEG,EAAE,IAAI,EAAEH,GAAG,SAASV,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAIM,EAAE,KAAK,SAAS,IAAI,IAAII,EAAE,EAAEG,EAAEP,EAAE,OAAOI,EAAEG,EAAE,IAAI,EAAEH,GAAG,gBAAgBV,EAAE,CAAC,kBAAkB,EAAE,CAAC,IAAIM,EAAE,KAAK,OAAO,IAAI,OAAON,EAAEM,EAAE,CAACA,EAAE,kBAAkBN,EAAE,EAAE,cAAc,CAAC,KAAK,OAAO,QAAQ,KAAK,SAAS,KAAK,WAAW,KAAK,MAAM,CAAC,IAAIA,EAAE,KAAK,MAAM,GAAGA,IAAI,KAAK,CAAC,IAAIM,EAAEN,EAAE,EAAEU,EAAEV,EAAE,EAAEa,EAAEb,EAAE,EAAE,EAAE,KAAK,OAAO,SAAS,EAAE,KAAKM,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,EAAE,KAAKH,EAAE,EAAE,GAAGJ,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,EAAE,KAAKA,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,IAAIG,EAAE,KAAK,uBAAuB,CAAC,EAAE,kBAAkB,EAAE,CAAC,KAAK,kBAAkB,KAAK,cAAc,EAAE,KAAK,wBAAwBb,KAAK,KAAK,wBAAwB,CAAC,IAAI,KAAK,SAAS,KAAK,KAAK,YAAY,KAAK,KAAK,OAAO,CAAC,KAAK,YAAY,iBAAiB,KAAK,OAAO,YAAY,KAAK,OAAO,EAAE,KAAK,uBAAuB,CAAC,EAAE,EAAE,CAAC,GAAG,IAAIM,EAAE,KAAK,SAAS,IAAI,IAAII,EAAE,EAAEG,EAAEP,EAAE,OAAOI,EAAEG,EAAE,IAAI,EAAEH,GAAG,kBAAkBV,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,OAAO,GAAGV,IAAI,CAAC,GAAGU,IAAI,MAAMA,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,kBAAkB,KAAK,cAAc,CAAC,KAAK,wBAAwB,CAAC,IAAI,KAAK,SAAS,KAAK,KAAK,YAAY,KAAK,KAAK,OAAO,CAAC,KAAK,YAAY,iBAAiB,KAAK,OAAO,YAAY,KAAK,OAAO,EAAEJ,IAAI,CAAC,EAAE,CAAC,IAAIO,EAAE,KAAK,SAAS,IAAI,IAAI,EAAE,EAAEQ,EAAER,EAAE,OAAO,EAAEQ,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAIf,EAAEN,IAAI,IAAK,IAAG,OAAOA,GAAG,SAASU,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK,SAAS,UAAU,kBAAkB,EAAE,IAAIG,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,MAAM,KAAK,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,KAAK,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,KAAK,cAAc,IAAI,EAAE,YAAY,KAAK,aAAa,KAAK,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,QAAQ,OAAO,KAAK,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,UAAU,EAAE,OAAO,KAAK,OAAO,KAAK,EAAE,OAAO,KAAK,OAAO,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,KAAK,QAAQ,OAAO,EAAE,MAAM,KAAK,MAAM,SAAS,EAAE,KAAK,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,KAAK,wBAAwB,IAAK,KAAI,EAAE,sBAAsB,OAAO,OAAO,EAAE,CAAC,KAAK,sBAAsB,EAAE,KAAK,wBAAwB,IAAK,KAAI,EAAE,sBAAsB,KAAK,sBAAsB,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,MAAM,EAAE,eAAe,KAAK,eAAe,QAAQ,CAAC,KAAK,gBAAgB,OAAO,EAAE,cAAc,KAAK,cAAc,QAAQ,GAAG,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,uBAAuB,KAAK,uBAAuB,EAAE,YAAY,KAAK,YAAY,EAAE,WAAW,KAAK,YAAY,EAAE,eAAe,KAAK,gBAAgB,EAAE,aAAa,KAAK,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,QAAQ,CAAC,IAAK,GAAE,eAAe,EAAE,eAAe,EAAE,eAAe,QAAQ,CAAC,IAAK,GAAE,EAAE,CAAC,EAAE,aAAa,KAAK,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,qBAAqB,KAAK,sBAAsB,OAAO,CAAC,EAAE,qBAAqB,KAAK,sBAAsB,OAAO,CAAC,EAAE,eAAe,KAAK,gBAAgB,EAAE,gBAAgB,KAAK,iBAAiB,EAAE,cAAc,KAAK,eAAe,EAAE,iBAAiB,KAAK,kBAAkB,EAAE,eAAe,KAAK,gBAAgB,EAAE,cAAc,KAAK,eAAe,EAAE,oBAAoB,KAAK,qBAAqB,EAAE,gBAAgB,KAAK,iBAAiB,OAAOb,EAAE,CAAC,EAAE,gBAAgB,KAAK,iBAAiB,OAAOA,EAAE,CAAC,KAAK,iBAAiB,OAAO,EAAE,cAAc,KAAK,eAAe,OAAOA,EAAE,EAAE,KAAK,iBAAiB,OAAO,EAAE,eAAe,KAAK,eAAe,QAAQ,EAAE,KAAK,cAAc,OAAO,EAAE,YAAY,KAAK,YAAY,QAAQ,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,IAAK,KAAI,EAAE,EAAE,MAAM,EAAE,OAAOA,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,QAAQ,KAAK,aAAa,KAAK,WAAW,QAAQ,EAAE,WAAW,KAAK,WAAW,QAAQ,CAAC,KAAK,WAAW,YAAY,EAAE,WAAW,KAAK,WAAW,OAAOA,EAAE,CAAC,OAAO,KAAK,aAAa,KAAK,YAAY,WAAW,KAAK,YAAY,wBAAwB,CAAC,IAAI,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,cAAc,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,CAAC,EAAE,SAAS,EAAEA,EAAE,WAAW,KAAK,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,IAAI,IAAK,IAAG,EAAE,SAAS,IAAK,GAAE,CAAC,IAAI,EAAE,EAAE,OAAO,GAAG,MAAM,QAAQ,EAAE,CAAC,IAAI,IAAIsB,EAAE,EAAEC,EAAE,EAAE,OAAOD,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAE,EAAEF,GAAG,EAAEtB,EAAE,OAAOwB,EAAE,MAAM,EAAExB,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,gBAAgB,EAAE,SAAS,KAAK,SAAS,EAAE,WAAW,KAAK,WAAW,SAAS,CAAC,KAAK,WAAW,IAAK,KAAI,EAAEA,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE,SAAS,KAAK,SAAS,OAAO,KAAK,WAAW,IAAK,GAAE,GAAG,MAAM,QAAQ,KAAK,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEsB,EAAE,KAAK,SAAS,OAAO,EAAEA,EAAE,IAAI,EAAE,KAAK,EAAEtB,EAAE,UAAU,KAAK,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,OAAO,EAAE,SAAS,EAAEA,EAAE,UAAU,KAAK,SAAS,CAAC,GAAG,KAAK,SAAS,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,SAAS,OAAO,IAAI,EAAE,SAAS,KAAK,KAAK,SAAS,GAAG,OAAOA,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,WAAW,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,WAAW,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,GAAG,EAAE,WAAW,KAAK,EAAEA,EAAE,WAAW,EAAE,CAAC,EAAE,GAAGM,EAAE,CAAC,IAAI,EAAEe,EAAErB,EAAE,WAAW,CAAC,EAAEqB,EAAErB,EAAE,UAAU,CAACsB,EAAED,EAAErB,EAAE,SAAS,CAACuB,EAAEF,EAAErB,EAAE,OAAO,CAACwB,EAAEH,EAAErB,EAAE,OAAO,CAACyB,EAAEJ,EAAErB,EAAE,UAAU,CAAC0B,EAAEL,EAAErB,EAAE,WAAW,CAAC2B,EAAEN,EAAErB,EAAE,MAAM,CAAC,EAAE,OAAO,IAAI,EAAE,WAAW,GAAG,EAAE,OAAO,IAAI,EAAE,UAAU,GAAGsB,EAAE,OAAO,IAAI,EAAE,SAASA,GAAGC,EAAE,OAAO,IAAI,EAAE,OAAOA,GAAGC,EAAE,OAAO,IAAI,EAAE,OAAOA,GAAGC,EAAE,OAAO,IAAI,EAAE,UAAUA,GAAGC,EAAE,OAAO,IAAI,EAAE,WAAWA,GAAGC,EAAE,OAAO,IAAI,EAAE,MAAMA,GAAG,MAAO,GAAE,OAAOd,EAAEH,EAAE,SAASW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAIC,KAAK,EAAE,CAAC,IAAIC,EAAE,EAAED,GAAG,OAAOC,EAAE,SAAS,EAAE,KAAKA,EAAE,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAKvB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,KAAKA,EAAE,KAAK,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,SAAS,KAAKA,EAAE,SAAS,CAAC,KAAK,SAAS,MAAMA,EAAE,SAAS,MAAM,KAAK,WAAW,KAAKA,EAAE,WAAW,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,MAAMA,EAAE,QAAQ,KAAqB,KAAhBA,EAAE,MAAM,OAAO,CAAM,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,YAAY,KAAKA,EAAE,YAAY,CAAC,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,sBAAsBA,EAAE,sBAAsB,KAAK,uBAAuBA,EAAE,uBAAuB,KAAK,OAAO,KAAKA,EAAE,OAAO,KAAK,KAAK,QAAQA,EAAE,QAAQ,KAAK,WAAWA,EAAE,WAAW,KAAK,cAAcA,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAYA,EAAE,YAAY,KAAK,OAAOA,EAAE,OAAO,KAAK,WAAWA,EAAE,WAAW,OAAO,CAAC,KAAK,SAAS,KAAK,MAAM,KAAK,UAAUA,EAAE,SAAS,CAAC,CAACM,IAAI,CAAC,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEV,EAAE,SAAS,OAAO,IAAI,CAAC,IAAIa,EAAEb,EAAE,SAASU,GAAG,KAAK,IAAIG,EAAE,OAAO,CAAC,CAAC,OAAO,OAAO,GAAE,WAAW,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE,2BAA2B,CAAC,EAAE,GAAE,iCAAiC,CAAC,EAAs4GgJ,GAAG,CAAC,UAAU,SAAS,aAAa,SAAS,KAAK,MAAM,WAAW,QAAQ,MAAM,SAAS,MAAM,SAAS,OAAO,SAAS,MAAM,EAAE,eAAe,SAAS,KAAK,IAAI,WAAW,QAAQ,MAAM,SAAS,UAAU,SAAS,UAAU,QAAQ,WAAW,QAAQ,UAAU,SAAS,MAAM,SAAS,eAAe,QAAQ,SAAS,SAAS,QAAQ,SAAS,KAAK,MAAM,SAAS,IAAI,SAAS,MAAM,cAAc,SAAS,SAAS,SAAS,UAAU,MAAM,SAAS,SAAS,UAAU,SAAS,YAAY,QAAQ,eAAe,QAAQ,WAAW,SAAS,WAAW,SAAS,QAAQ,QAAQ,WAAW,SAAS,aAAa,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc,QAAQ,cAAc,MAAM,WAAW,QAAQ,SAAS,SAAS,YAAY,MAAM,QAAQ,QAAQ,QAAQ,QAAQ,WAAW,QAAQ,UAAU,SAAS,YAAY,SAAS,YAAY,QAAQ,QAAQ,SAAS,UAAU,SAAS,WAAW,SAAS,KAAK,SAAS,UAAU,SAAS,KAAK,QAAQ,MAAM,MAAM,YAAY,SAAS,KAAK,QAAQ,SAAS,SAAS,QAAQ,SAAS,UAAU,SAAS,OAAO,QAAQ,MAAM,SAAS,MAAM,SAAS,SAAS,SAAS,cAAc,SAAS,UAAU,QAAQ,aAAa,SAAS,UAAU,SAAS,WAAW,SAAS,UAAU,SAAS,qBAAqB,SAAS,UAAU,SAAS,WAAW,QAAQ,UAAU,SAAS,UAAU,SAAS,YAAY,SAAS,cAAc,QAAQ,aAAa,QAAQ,eAAe,QAAQ,eAAe,QAAQ,eAAe,SAAS,YAAY,SAAS,KAAK,MAAM,UAAU,QAAQ,MAAM,SAAS,QAAQ,SAAS,OAAO,QAAQ,iBAAiB,QAAQ,WAAW,IAAI,aAAa,SAAS,aAAa,QAAQ,eAAe,QAAQ,gBAAgB,QAAQ,kBAAkB,MAAM,gBAAgB,QAAQ,gBAAgB,SAAS,aAAa,QAAQ,UAAU,SAAS,UAAU,SAAS,SAAS,SAAS,YAAY,SAAS,KAAK,IAAI,QAAQ,SAAS,MAAM,QAAQ,UAAU,QAAQ,OAAO,SAAS,UAAU,SAAS,OAAO,SAAS,cAAc,SAAS,UAAU,SAAS,cAAc,SAAS,cAAc,SAAS,WAAW,SAAS,UAAU,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,WAAW,SAAS,OAAO,QAAQ,cAAc,QAAQ,IAAI,SAAS,UAAU,SAAS,UAAU,QAAQ,YAAY,QAAQ,OAAO,SAAS,WAAW,SAAS,SAAS,QAAQ,SAAS,SAAS,OAAO,SAAS,OAAO,SAAS,QAAQ,QAAQ,UAAU,QAAQ,UAAU,QAAQ,UAAU,QAAQ,KAAK,SAAS,YAAY,MAAM,UAAU,QAAQ,IAAI,SAAS,KAAK,MAAM,QAAQ,SAAS,OAAO,SAAS,UAAU,QAAQ,OAAO,SAAS,MAAM,SAAS,MAAM,SAAS,WAAW,SAAS,OAAO,SAAS,YAAY,SAAS,CAACC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAA2G,GAAE,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI9J,EAAEM,EAAEI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAGJ,IAAI,IAAK,IAAGI,IAAI,IAAK,GAAE,CAAC,IAAIG,EAAEb,EAAE,GAAGa,EAAE,QAAQ,KAAK,KAAKA,EAAE,CAAC,OAAOA,GAAG,SAAS,KAAK,OAAOA,EAAE,CAAC,OAAOA,GAAG,UAAU,KAAK,SAASA,EAAE,MAAM,KAAK,OAAOb,EAAEM,EAAEI,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,EAAEV,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAEA,EAAE,KAAK,OAAO,EAAE,EAAE,GAAG,CAAC,MAAO,GAAE,KAAK,MAAMA,EAAE,CAAC,KAAK,GAAGA,GAAG,GAAG,KAAK,IAAI,KAAK,GAAGA,GAAG,EAAE,KAAK,IAAI,KAAK,GAAGA,EAAE,KAAK,IAAI2H,GAAG,oBAAoB,KAAKrH,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,EAAE,EAAEqH,GAAG,kBAAkB,CAAC,MAAO,MAAK,EAAE3H,EAAE,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAEiH,GAAG,oBAAoB,KAAK9G,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE8G,GAAG,kBAAkB,CAAC,GAAG,EAAE/G,GAAGZ,EAAE,EAAE,CAAC,EAAEW,EAAEL,EAAE,EAAE,EAAE,CAAC,EAAEK,EAAED,EAAE,EAAE,EAAE,CAACJ,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEI,MAAM,CAAC,IAAI,EAAEA,GAAG,GAAGA,GAAG,EAAEJ,GAAGI,EAAEJ,EAAEI,EAAEJ,EAAEe,EAAE,EAAEX,EAAE,EAAE,KAAK,EAAEqB,GAAGV,EAAE,EAAErB,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE+B,GAAGV,EAAE,EAAErB,EAAE,CAAC,KAAK,EAAE+B,GAAGV,EAAE,EAAErB,EAAE,EAAE,EAAE,CAAC,OAAO2H,GAAG,oBAAoB,KAAK9G,EAAE,CAAC,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,SAASH,EAAE,EAAE,CAAC,IAAI,IAAK,IAAG,WAAW,EAAE,CAAC,GAAG,GAAE,6BAA6BV,EAAE,oBAAoB,CAAC,IAAIa,EAAE,GAAG,EAAE,qBAAqB,KAAKb,EAAE,CAAC,CAAC,IAAI,EAAEqB,EAAER,EAAE,GAAG,EAAEA,EAAE,GAAG,OAAOQ,EAAP,CAAU,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,+DAA+D,KAAK,EAAE,CAAC,OAAOX,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAIJ,EAAE,CAAC,GAAG,EAAE,qEAAqE,KAAK,EAAE,CAAC,OAAOI,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,KAAK,IAAI,IAAI,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,IAAIJ,EAAE,CAAC,MAAM,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,qFAAqF,KAAK,EAAE,CAAC,OAAOI,EAAE,EAAE,GAAG,CAAC,KAAK,OAAO,WAAW,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC,IAAIJ,EAAE,CAAC,MAAM,QAAQ,GAAE,8BAA8BN,EAAE,UAAU,EAAE,oBAAoB,KAAKA,EAAE,CAAC,CAAC,IAAI,EAAEa,EAAE,GAAGQ,EAAE,EAAE,OAAO,GAAGA,IAAI,EAAE,OAAO,KAAK,OAAO,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAGf,EAAE,CAAC,GAAGe,IAAI,EAAE,OAAO,KAAK,OAAO,SAAS,EAAE,GAAG,CAACf,EAAE,CAAC,GAAE,4BAA4BN,EAAE,SAASA,GAAGA,EAAE,OAAO,EAAE,OAAO,KAAK,aAAaA,EAAEM,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,EAAE,GAAG,CAAC,IAAII,EAAEmJ,GAAG7J,EAAE,aAAa,EAAE,OAAOU,IAAI,IAAK,GAAmB,GAAE,wBAAwBV,EAAE,CAA7C,KAAK,OAAOU,EAAEJ,EAAE,CAA8B,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,iBAAiB,EAAE,CAAC,MAAO,MAAK,EAAE,GAAGA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAGA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAGA,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,CAAC,MAAO,MAAK,EAAE,GAAGA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAGA,EAAE,EAAE,CAAC,KAAK,EAAE,GAAGA,EAAE,EAAE,CAAC,KAAK,qBAAqB,CAAC,OAAO,KAAK,iBAAiB,KAAK,CAAC,KAAK,qBAAqB,CAAC,OAAO,KAAK,iBAAiB,KAAK,CAAC,KAAK,OAAO,EAAE,GAAG,CAAC,OAAO2H,GAAG,oBAAoBoC,GAAG,KAAK,KAAK,CAAC/J,EAAE,CAAC,KAAK,MAAMW,EAAEoJ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAMpJ,EAAEoJ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAMpJ,EAAEoJ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,SAAS,KAAK,OAAO/J,EAAE,CAAC,SAAS,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE2H,GAAG,kBAAkB,CAAC,GAAG,oBAAoBoC,GAAG,KAAK,KAAK,CAACzJ,EAAE,CAAC,IAAII,EAAEqJ,GAAG,EAAElJ,EAAEkJ,GAAG,EAAE,EAAEA,GAAG,EAAE1I,EAAE,KAAK,IAAIX,EAAEG,EAAE,EAAE,CAAC,EAAE,KAAK,IAAIH,EAAEG,EAAE,EAAE,CAAC,EAAES,EAAEC,GAAG,EAAEF,GAAG,EAAE,GAAG,IAAIA,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,IAAIG,EAAEH,EAAE,EAAE,OAAO,EAAEE,GAAG,GAAGC,GAAGH,EAAE,GAAGG,GAAG,EAAEH,EAAE,GAAGA,EAAjC,CAAoC,KAAKX,EAAE,GAAGG,EAAE,GAAGW,GAAGX,EAAE,EAAE,EAAE,GAAG,MAAM,KAAKA,EAAE,GAAG,EAAEH,GAAGc,EAAE,EAAE,MAAM,KAAK,EAAE,GAAGd,EAAEG,GAAGW,EAAE,EAAE,MAAM,GAAG,EAAE,MAAO,GAAE,EAAE,EAAE,EAAE,EAAEF,EAAE,EAAE,EAAEC,EAAEvB,EAAE,OAAO,EAAE,EAAE2H,GAAG,kBAAkB,CAAC,OAAOA,GAAG,oBAAoBoC,GAAG,KAAK,KAAK,CAACzJ,EAAE,CAAC,EAAE,EAAEyJ,GAAG,EAAE,EAAE,EAAEA,GAAG,EAAE,EAAE,EAAEA,GAAG,EAAE/J,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,oBAAoB+J,GAAG,KAAK,KAAK,CAAC/J,EAAE,CAAC,IAAIM,EAAEyJ,GAAG,EAAErJ,EAAEqJ,GAAG,EAAElJ,EAAEkJ,GAAG,EAAE,OAAO/J,IAAI,GAAiE,OAAO,KAAK,MAAMM,EAAE,IAAI,CAAC,GAAG,KAAK,MAAMI,EAAE,IAAI,CAAC,GAAG,KAAK,MAAMG,EAAE,IAAI,CAAC,GAAjI,SAASb,EAAE,GAAGM,EAAE,QAAQ,EAAE,CAAC,GAAGI,EAAE,QAAQ,EAAE,CAAC,GAAGG,EAAE,QAAQ,EAAE,CAAC,GAAyE,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,OAAOiJ,GAAG,CAAC,KAAK,OAAOA,GAAG,EAAE9J,EAAE8J,GAAG,EAAExJ,EAAEwJ,GAAG,EAAEpJ,EAAE,CAAC,IAAI,EAAE,CAAC,MAAO,MAAK,GAAGV,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,UAAU,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,EAAEN,EAAE,EAAEM,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,GAAGN,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,IAAI,EAAE,CAAC,MAAO,MAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,EAAEA,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,GAAGA,EAAE,EAAE,KAAK,eAAe,EAAE,CAAC,MAAO,MAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,KAAK,EAAE,EAAE,CAAC,MAAO,MAAK,IAAIA,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,IAAIN,EAAE,EAAE,KAAK,GAAGM,EAAE,KAAK,WAAW,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEN,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,EAAEV,EAAE,GAAGM,EAAE,EAAEN,EAAE,GAAGU,EAAE,KAAK,QAAQ,EAAE,EAAE,CAAC,KAAK,OAAOoJ,GAAG,CAAC9J,EAAE,OAAO,GAAG,CAAC,IAAIU,EAAE,GAAGoJ,GAAG,EAAE,GAAG,EAAExJ,EAAE,CAACO,EAAE,GAAGiJ,GAAG,EAAE,GAAG,EAAExJ,EAAE,CAAC,EAAE,GAAGwJ,GAAG,EAAE,GAAG,EAAExJ,EAAE,CAAC,OAAO,KAAK,OAAOI,EAAEG,EAAE,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC,MAAO,MAAK,EAAEb,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC,IAAIM,EAAE,KAAK,EAAEI,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAEb,EAAE,SAAS,MAAO,MAAK,EAAE,EAAE,GAAGM,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,EAAE,EAAE,GAAGP,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,KAAK,OAAO,EAAE,CAAC,OAAOb,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,GAAGA,EAAE,IAAI,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAEM,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,EAAEN,EAAEM,EAAE,GAAG,KAAK,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAO,GAAEA,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAE,EAAEA,EAAE,GAAG,KAAK,EAAEN,EAAE,oBAAoB,EAAE,EAAE,CAAC,MAAO,MAAK,EAAEA,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAEN,EAAE,KAAKM,EAAE,CAAC,KAAK,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,OAAO,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,KAAK,IAAIyJ,GAAG,IAAI,GAAE,GAAE,MAAMF,GAA0f,GAAG,cAAcF,EAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,KAAK,KAAK,QAAQ,KAAK,WAAW,KAAK,KAAK,YAAY,KAAK,KAAK,IAAI,KAAK,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,IAAI,GAAG,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,IAAI,GAAG,KAAK,iBAAiB,KAAK,OAAO,mBAAmB,KAAK,mBAAmB,cAAc,IAAI,YAAY,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK3J,EAAEM,EAAE,CAACN,EAAE,aAAa,OAAO,KAAK,WAAWA,EAAE,WAAW,OAAO,EAAEA,EAAE,cAAc,OAAO,KAAK,YAAYA,EAAE,YAAY,OAAO,EAAEA,EAAE,MAAM,OAAO,KAAK,IAAIA,EAAE,IAAI,OAAO,EAAE,KAAK,qBAAqBA,EAAE,qBAAqB,KAAK,oBAAoBA,EAAE,oBAAoB,KAAK,mBAAmB,KAAKA,EAAE,mBAAmB,CAAC,KAAK,qBAAqBA,EAAE,qBAAqB,KAAK,oBAAoB,KAAKA,EAAE,oBAAoB,CAACA,EAAE,mBAAmB,OAAO,KAAK,iBAAiBA,EAAE,iBAAiB,OAAO,EAAE,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,OAAO,EAAE,CAAC,IAAIM,EAAE,MAAM,OAAON,EAAE,CAAC,OAAO,KAAK,MAAM,OAAO,EAAE,OAAO,IAAI,KAAK,IAAI,QAAQ,EAAE,KAAK,qBAAqB,IAAI,EAAE,OAAO,qBAAqB,KAAK,sBAAsB,KAAK,sBAAsB,IAAI,EAAE,OAAO,oBAAoB,KAAK,qBAAqB,EAAE,OAAO,mBAAmB,KAAK,mBAAmB,SAAS,CAAC,KAAK,uBAAuB,IAAI,EAAE,OAAO,qBAAqB,KAAK,sBAAsB,EAAE,OAAO,oBAAoB,KAAK,oBAAoB,SAAS,CAACM,IAAI,GAAG,IAAI,EAAE0J,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG9H,GAAG,MAAMtC,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAED,EAAE,KAAK,EAAEM,EAAE,KAAK,EAAEI,EAAE,OAAO,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,WAAWA,EAAEJ,EAAE,CAAC,GAAG,WAAWN,EAAEM,EAAE,CAACO,EAAE,MAAM,GAAG,CAAC,IAAI,EAAEA,EAAE,UAAU,CAAC,OAAO,EAAE,EAAEA,EAAE,eAAe,EAAE,KAAK,KAAK,EAAE,CAAC,CAACA,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAWA,EAAEP,EAAE,CAAC0J,GAAG,WAAWtJ,EAAEJ,EAAE,CAAC2J,GAAG,WAAWjK,EAAEM,EAAE,CAAC,IAAIe,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI2I,GAAG,CAAC,EAAE,GAAG,IAAIC,GAAG,CAAC3I,EAAE0I,GAAG,IAAIA,GAAG,CAACzI,EAAEyI,GAAG,IAAIC,GAAG,CAACzI,EAAEH,EAAEC,EAAE,EAAE,EAAE,GAAGE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,IAAIC,EAAE,EAAED,EAAEE,GAAGJ,EAAE,EAAE,EAAEC,GAAGE,EAAEE,GAAGN,EAAEE,EAAE,EAAE,GAAGE,EAAE,OAAO,EAAE,IAAI,EAAEC,EAAEC,EAAEA,EAAED,EAAE,CAAC,OAAO,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa1B,EAAEM,EAAEI,EAAEG,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,OAAO,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,aAAab,EAAEM,EAAEI,EAAEG,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,gBAAgBQ,EAAE,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,yBAAyB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOgJ,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAACA,GAAG,oBAAoBrK,EAAEM,EAAE,CAAC,GAAG,oBAAoBN,EAAEU,EAAE,CAAC,GAAG,oBAAoBV,EAAEa,EAAE,CAACQ,EAAE,UAAU,EAAE,CAACA,EAAE,gBAAgBgJ,GAAG,EAAE,EAAE,CAAChJ,EAAE,gBAAgB,GAAG,EAAE,EAAE,CAACA,EAAE,gBAAgB,GAAG,EAAE,EAAE,CAACA,EAAE,OAAO,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,WAAWX,EAAEJ,EAAE,CAAC0J,GAAG,WAAWhK,EAAEM,EAAE,CAAC,GAAG,MAAM0J,GAAG,CAAC,IAAInJ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,KAAKb,EAAE,CAAC,KAAK,EAAE,KAAKM,EAAE,CAAC,KAAK,EAAE,KAAKI,EAAE,CAAC,KAAK,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,KAAKV,EAAEM,GAAG,CAAC,KAAK,EAAE,KAAKN,EAAEU,GAAG,CAAC,KAAK,EAAE,KAAKV,EAAEa,GAAG,CAAC,KAAK,2BAA2B,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,oBAAoBb,EAAEM,EAAE,CAAC,KAAK,EAAE,oBAAoBN,EAAEU,EAAE,CAAC,KAAK,EAAE,oBAAoBV,EAAEa,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,EAAE,KAAKb,EAAE,EAAE,CAAC,KAAK,EAAE,KAAKA,EAAE,EAAE,CAAC,KAAK,EAAE,KAAKA,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,GAAG,WAAW,KAAK,EAAE,KAAK,EAAE,CAACgK,GAAG,WAAW,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,MAAMA,GAAG,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,CAAC,OAAOhK,EAAE,WAAW,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,OAAOC,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE,KAAK,EAAED,EAAE,CAAC,SAAS,EAAE,CAAC,OAAOA,EAAE,sBAAsB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,OAAOC,EAAE,aAAaD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEM,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOL,EAAE,iBAAiBD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAEM,EAAEI,EAAEG,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,OAAOZ,EAAE,cAAcD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,CAAC,OAAOC,EAAE,cAAc,KAAK,EAAE,KAAK,EAAE,KAAK,EAAED,EAAE,CAAC,cAAc,EAAE,CAAC,OAAOA,EAAE,mBAAmB,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,EAAEG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAEQ,EAAE,EAAE,GAAG,WAAWR,EAAEH,EAAE,CAAC,GAAG,WAAW,EAAEA,EAAE,CAAC,GAAG,WAAWV,EAAEU,EAAE,CAAC,IAAI,EAAEwJ,GAAG,IAAI,GAAG,CAAC5I,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,GAAGA,GAAG,EAAE,OAAOhB,EAAE,KAAKI,EAAE,CAAC,GAAG,WAAWV,EAAEa,EAAE,CAAC,IAAIU,EAAE2I,GAAG,IAAIE,GAAG,CAAC5I,EAAE,GAAG,IAAI4I,GAAG,CAAC,GAAG7I,GAAG,GAAGC,GAAGD,EAAE,OAAOjB,EAAE,KAAKO,EAAE,CAAC,IAAIY,EAAE,EAAED,EAAED,EAAED,EAAE,GAAGG,GAAG,GAAG,GAAG,GAAGF,GAAG,EAAE,MAAO,GAAE,GAAG,EAAEA,GAAGjB,EAAE,KAAKI,EAAE,CAAC,gBAAgBwJ,GAAG7I,EAAE,CAAC,GAAG,WAAWrB,EAAE,EAAE,CAAC,IAAI0B,EAAEwI,GAAG,IAAI,GAAG,CAACvI,EAAE,GAAG,IAAI,GAAG,CAAC,GAAGA,GAAG,GAAGD,GAAGC,EAAE,OAAOrB,EAAE,KAAK,EAAE,CAAC,IAAI,EAAEoB,EAAEJ,EAAE,EAAEK,EAAE,GAAG,GAAG,GAAGL,GAAG,GAAGK,GAAG,EAAE,MAAO,GAAEL,GAAGA,EAAEK,GAAGrB,EAAE,KAAKI,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,IAAIoC,EAAEvB,EAAEI,EAAED,EAAEF,EAAE,GAAGsB,GAAG,GAAGtB,EAAED,GAAG,GAAGG,EAAEC,GAAG,EAAE,OAAOwI,GAAG,WAAW,EAAEtJ,EAAE,CAAC,GAAGW,EAAED,IAAIC,EAAED,GAAGG,EAAEC,IAAIrB,EAAE,KAAKO,EAAE,CAAC,gBAAgBsJ,GAAG,EAAE,CAAC,IAAIpH,EAAE,GAAGD,EAAE,EAAErB,GAAG,MAAO,GAAE,EAAEsB,EAAE,EAAEtB,EAAEsB,EAAEzC,EAAE,KAAKI,EAAE,CAAC,gBAAgBwJ,GAAG7I,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAOrB,EAAE,EAAE,OAAO,KAAK,EAAE,EAAEA,EAAE,EAAE,OAAO,KAAK,EAAE,EAAEA,EAAE,EAAE,OAAO,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,IAAIA,EAAE,KAAK,IAAIM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,KAAKN,EAAE,CAAC,KAAK,IAAI,KAAKM,EAAE,CAAC,KAAK,aAAa,EAAE,CAAC,KAAK,WAAW,CAAC,IAAI,IAAIA,EAAE,EAAEI,EAAEV,EAAE,OAAOM,EAAEI,EAAE,GAAG,EAAE,KAAK,cAAc,GAAG,UAAUV,EAAEM,EAAE,CAAC,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC,KAAK,WAAW,CAAC,IAAI,IAAIA,EAAE,EAAEI,EAAEV,EAAE,MAAMM,EAAEI,EAAE,IAAI,KAAK,cAAc,GAAG,oBAAoBV,EAAEM,EAAE,CAAC,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC,KAAK,WAAW,CAAC,IAAI,IAAIA,EAAE,EAAEI,EAAEV,EAAE,OAAOM,EAAEI,EAAE,IAAI,KAAK,cAAcV,EAAEM,GAAG,CAAC,OAAO,KAAK,qBAAqB,EAAE,EAAE,CAAC,IAAII,EAAE,GAAG,KAAKJ,EAAE,CAAC,eAAe,GAAG,CAAC,OAAO,KAAK,IAAI,KAAKN,EAAE,CAAC,IAAIU,EAAE,CAAC,KAAK,IAAI,KAAKV,EAAE,CAAC,IAAIU,EAAE,CAAC,KAAK,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,KAAK,eAAeV,EAAEM,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,IAAI,KAAKN,EAAE,IAAI,CAAC,KAAK,IAAI,KAAKA,EAAE,IAAI,CAAC,KAAK,WAAW,CAAC,MAAO,MAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,IAAI,EAAE,EAAE,EAAE,CAACA,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,IAAI,EAAE,EAAE,EAAE,CAACA,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC,OAAO,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC,OAAO,KAAK,IAAI,UAAU,CAACA,EAAE,CAAC,KAAK,IAAI,UAAUA,EAAE,CAAC,KAAK,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,IAAIU,EAAEV,EAAE,SAAS,GAAGU,IAAI,IAAK,GAAE,CAAC,IAAI,EAAEA,EAAE,aAAa,WAAW,CAAC,GAAGJ,IAAI,CAAC,GAAG,IAAI,IAAK,IAAGN,EAAE,kBAAkB,CAAC,EAAE,IAAI,IAAIqB,EAAE,EAAE,EAAE,EAAE,MAAMA,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAErB,EAAE,kBAAkBqB,EAAE,GAAG,CAAC,GAAG,oBAAoB,EAAEA,EAAE,CAAC,GAAG,aAAarB,EAAE,YAAY,CAAC,KAAK,cAAc,GAAG,MAAM,EAAE,cAAc,IAAK,IAAyEU,EAAE,cAAc,MAAMA,EAAE,oBAAoB,CAAC,GAAG,KAAKA,EAAE,YAAY,GAAzIV,EAAE,cAAc,MAAMA,EAAE,oBAAoB,CAAC,GAAG,KAAKA,EAAE,YAAY,EAAwE,GAAG,aAAaA,EAAE,YAAY,CAAC,KAAK,MAAM,GAAG,CAAC,IAAIa,EAAEb,EAAE,SAAS,IAAI,IAAI,EAAE,EAAEqB,EAAER,EAAE,OAAO,EAAEQ,EAAE,IAAI,KAAK,eAAeR,EAAE,GAAGP,EAAE,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC,OAAON,EAAE,GAAG,KAAK,IAAI,GAAGA,EAAE,GAAG,KAAK,IAAI,GAAGA,EAAE,GAAG,KAAK,IAAI,GAAGA,EAAE,GAAG,KAAK,IAAI,GAAGA,EAAE,GAAG,KAAK,IAAI,GAAGA,EAAE,GAAG,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,OAAO,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,OAAOM,EAAE,KAAKN,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,IAAIA,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,IAAIA,EAAE,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,OAAOA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,GAAGA,EAAE,IAAI,GAAG,KAAK,IAAI,EAAE,iBAAiB,EAAE,CAAC,OAAO,KAAK,WAAWA,EAAE,OAAO,GAAG,CAAC,GAAG,kBAAkBA,EAAE,OAAO,EAAEA,EAAE,OAAOA,EAAE,OAAO,gBAAgB,EAAE,CAAC,IAAIM,EAAEI,EAAE,OAAOV,EAAE,OAAO,EAAE,GAAG,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAEA,EAAE,OAAO,EAAE,KAAK,IAAI,GAAGA,EAAE,OAAO,EAAE,GAAG,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,GAAGA,EAAE,OAAO,EAAE,GAAG,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,OAAO,EAAE,KAAK,IAAI,GAAGM,GAAG,CAACN,EAAE,UAAUU,GAAG,CAACV,EAAE,SAAS,mBAAmB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,GAAG,CAAC,GAAG,WAAW,KAAK,IAAI,GAAG,CAAC,GAAG,WAAWA,EAAE,EAAE,GAAG,CAACsK,GAAG,WAAWtK,EAAE,EAAE,GAAG,CAAC,GAAG,WAAWA,EAAE,EAAE,GAAG,CAACuK,GAAG,WAAWD,GAAG,GAAG,CAAC,GAAG,WAAW,GAAGA,GAAG,CAACE,GAAG,WAAW,GAAG,GAAG,CAAC,IAAIlK,EAAE,CAAC,EAAE,CAACiK,GAAG,EAAEA,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAACC,GAAG,EAAEA,GAAG,EAAED,GAAG,EAAE,EAAE,CAACA,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAEC,GAAG,EAAE,EAAE,CAACA,GAAG,EAAE,CAACD,GAAG,EAAEA,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAACC,GAAG,EAAEA,GAAG,EAAE,EAAE,CAAC,MAAM,CAACxI,GAAG1B,EAAE,GAAGgK,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAACtI,GAAG1B,EAAE,GAAGgK,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,aAAaC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAACvI,GAAG1B,EAAE,GAAGgK,GAAG,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,OAAOhK,EAAE,KAAKN,EAAE,CAAC,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,WAAWA,EAAE,GAAG,CAAC,WAAWA,EAAE,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK,SAAS,CAACA,EAAE,WAAW,EAAE,KAAK,UAAUA,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAIA,EAAE,UAAU,EAAE,CAAC,OAAO,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,SAAS,EAAE,KAAK,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,OAAO,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,IAAI,IAAIA,EAAE,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAaA,EAAE,CAAC,KAAK,cAAc,GAAG,CAAC,MAAM,UAAU,EAAE,CAAC,OAAO,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,IAAI,IAAIA,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,IAAI,OAAO,KAAK,IAAI,EAAEA,EAAE,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,KAAK,IAAI,UAAUA,EAAE,IAAI,CAAC,KAAK,IAAI,UAAUA,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,EAAEsK,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAA2PvI,IAAI,CAA63C,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAE,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,QAAQjC,EAAE,CAAC,MAAU,UAAU,wDAAwD,CAAC,KAAK,kBAAkB,CAAC,EAAE,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,KAAK,MAAMA,EAAE,KAAK,SAASM,EAAE,KAAK,MAAMN,IAAI,IAAK,GAAa,EAAXA,EAAE,OAAOM,EAAI,KAAK,WAAWI,EAAE,KAAK,MAAM,GAAG,KAAK,aAAa,EAAE,CAAC,KAAK,QAAQ,GAAG,KAAK,QAAQ,EAAE,kBAAkB,EAAE,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,SAAS,EAAE,CAAC,MAAO,MAAK,MAAMV,EAAE,KAAK,eAAe,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,CAAC,MAAMA,EAAE,MAAMM,EAAE,CAAC,CAAC,mBAAmB,CAAC,KAAK,aAAa,OAAO,EAAE,KAAK,EAAE,CAAC,MAAO,MAAK,KAAKN,EAAE,KAAK,KAAK,MAAM,IAAIA,EAAE,MAAM,YAAYA,EAAE,MAAM,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,MAAMA,EAAE,MAAM,KAAK,WAAWA,EAAE,WAAW,KAAK,MAAMA,EAAE,MAAM,KAAK,QAAQA,EAAE,QAAQ,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,GAAGM,EAAE,SAAS,IAAI,IAAIO,EAAE,EAAE,EAAE,KAAK,SAASA,EAAE,EAAE,IAAI,KAAK,MAAMb,EAAEa,GAAGP,EAAE,MAAMI,EAAEG,GAAG,OAAO,KAAK,UAAU,EAAE,CAAC,OAAO,KAAK,MAAM,IAAIb,EAAE,CAAC,KAAK,aAAa,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE,IAAI,IAAIM,EAAE,EAAEI,EAAE,KAAK,MAAMJ,EAAEI,EAAE,IAAI,GAAG,oBAAoB,KAAKJ,EAAE,CAAC,GAAG,aAAaN,EAAE,CAAC,KAAK,MAAMM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,KAAK,WAAW,EAAE,IAAI,IAAIA,EAAE,EAAEI,EAAE,KAAK,MAAMJ,EAAEI,EAAE,IAAI,GAAG,oBAAoB,KAAKJ,EAAE,CAAC,GAAG,aAAaN,EAAE,CAAC,KAAK,OAAOM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEI,EAAE,KAAK,MAAMJ,EAAEI,EAAE,IAAI,GAAG,oBAAoB,KAAKJ,EAAE,CAAC,GAAG,aAAaN,EAAE,CAAC,KAAK,OAAOM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEI,EAAE,KAAK,MAAMJ,EAAEI,EAAE,IAAI,GAAG,oBAAoB,KAAKJ,EAAE,CAAC,GAAG,kBAAkBN,EAAE,CAAC,KAAK,OAAOM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEI,EAAE,KAAK,MAAMJ,EAAEI,EAAE,IAAI,GAAG,oBAAoB,KAAKJ,EAAE,CAAC,GAAG,mBAAmBN,EAAE,CAAC,KAAK,OAAOM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,IAAIN,EAAEM,EAAE,CAAC,KAAK,aAAa,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,MAAMV,EAAE,KAAK,SAASM,GAAG,OAAO,KAAK,aAAa,EAAE,GAAGI,EAAE,KAAK,MAAM,EAAEA,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,GAAEA,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMV,EAAE,KAAK,SAASM,GAAGI,EAAE,KAAK,KAAK,EAAE,CAAC,IAAIJ,EAAE,KAAK,MAAMN,EAAE,KAAK,UAAU,OAAO,KAAK,aAAa,EAAE,GAAGM,EAAE,KAAK,MAAM,EAAEA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,GAAEA,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMN,EAAE,KAAK,UAAUM,EAAE,KAAK,KAAK,EAAE,CAAC,IAAIA,EAAE,KAAK,MAAMN,EAAE,KAAK,SAAS,GAAG,OAAO,KAAK,aAAa,EAAE,GAAGM,EAAE,KAAK,MAAM,EAAEA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,GAAEA,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMN,EAAE,KAAK,SAAS,GAAGM,EAAE,KAAK,KAAK,EAAE,CAAC,IAAIA,EAAE,KAAK,MAAMN,EAAE,KAAK,SAAS,GAAG,OAAO,KAAK,aAAa,EAAE,GAAGM,EAAE,KAAK,MAAM,EAAEA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,GAAEA,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMN,EAAE,KAAK,SAAS,GAAGM,EAAE,KAAK,KAAK,EAAE,CAAC,IAAIA,EAAE,KAAK,MAAMN,EAAE,KAAK,SAAS,GAAG,OAAO,KAAK,aAAa,EAAE,GAAGM,EAAE,KAAK,MAAM,EAAEA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,GAAEA,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMN,EAAE,KAAK,SAAS,GAAGM,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,CAAC,MAAO,IAAG,KAAK,SAAS,KAAK,aAAa,EAAE,GAAEA,EAAE,KAAK,MAAM,CAAC,EAAE,GAAEI,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMV,EAAE,GAAGM,EAAE,KAAK,MAAMN,EAAE,GAAGU,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,MAAO,IAAG,KAAK,SAAS,KAAK,aAAa,EAAE,GAAEJ,EAAE,KAAK,MAAM,CAAC,EAAE,GAAEI,EAAE,KAAK,MAAM,CAAC,EAAE,GAAEG,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMb,EAAE,GAAGM,EAAE,KAAK,MAAMN,EAAE,GAAGU,EAAE,KAAK,MAAMV,EAAE,GAAGa,EAAE,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAO,IAAG,KAAK,SAAS,KAAK,aAAa,EAAE,GAAEP,EAAE,KAAK,MAAM,CAAC,EAAE,GAAEI,EAAE,KAAK,MAAM,CAAC,EAAE,GAAEG,EAAE,KAAK,MAAM,CAAC,EAAE,GAAE,EAAE,KAAK,MAAM,EAAE,KAAK,MAAMb,EAAE,GAAGM,EAAE,KAAK,MAAMN,EAAE,GAAGU,EAAE,KAAK,MAAMV,EAAE,GAAGa,EAAE,KAAK,MAAMb,EAAE,GAAG,EAAE,KAAK,SAAS,EAAE,CAAC,MAAO,MAAK,iBAAiBA,EAAE,KAAK,OAAO,CAAC,OAAO,IAAI,KAAK,YAAY,KAAK,MAAM,KAAK,SAAS,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAIA,EAAE,CAAC,SAAS,KAAK,SAAS,KAAK,KAAK,MAAM,YAAY,KAAK,MAAM,MAAM,KAAK,KAAK,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,OAAO,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,MAAM,KAAK,QAAQ,KAAK,EAAE,MAAM,KAAK,OAAOA,EAAE,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,GAA6R,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,YAAYA,EAAE,CAACM,EAAEI,EAAE,GAAwEgK,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,YAAY1K,EAAE,CAACM,EAAEI,EAAE,GAAs4C,EAAE,cAAc,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,aAAaV,EAAE,CAACM,EAAEI,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,EAAE,KAAK,OAAOV,EAAE,KAAK,OAAOM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKN,EAAE,CAAC,KAAK,OAAOM,EAAE,KAAK,cAAc,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,OAAO,IAAI,IAAK,GAAY,GAAG,cAAcV,EAAE,CAAC,UAAUU,EAAE,CAA1CA,EAAE,KAAKJ,EAAE,CAAkC,IAAIO,EAAE,EAAE,IAAI,IAAI,EAAE,EAAEQ,EAAErB,EAAE,OAAO,EAAEqB,EAAE,IAAI,EAAE,KAAK,IAAIR,EAAEH,EAAE,kBAAkBV,EAAE,GAAG,CAAC,CAAC,MAAO,MAAK,OAAO,KAAK,KAAKa,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKb,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAE,OAAO,KAAK,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,KAAK,cAAc,EAAE,CAAC,OAAOA,EAAE,kBAAkB,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,OAAO,gBAAgB,EAAE,CAAC,OAAOA,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,OAAO,iBAAiB,EAAE,CAAC,IAAIM,EAAE,KAAK,OAAON,EAAE,OAAO,OAAOA,EAAE,OAAO,kBAAkB,KAAK,OAAO,EAAEM,EAAEA,EAAE,cAAc,EAAE,CAAC,OAAON,EAAE,iBAAiB,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,IAAIA,EAAE,gBAAgB,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,WAAW,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,OAAO,kBAAkBV,EAAE,CAAC,OAAOM,EAAE,KAAKN,EAAE,CAACU,EAAE,KAAK,OAAO,KAAK,SAASJ,EAAE,IAAI,KAAK,OAAO,CAAC,WAAW,CAACA,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,EAAEA,EAAE,eAAe,EAAE,CAAC,OAAO,KAAK,SAAS,EAAEN,EAAE,WAAW,CAACA,IAAIA,EAAE,IAAI,KAAK,OAAO,KAAK,OAAO,CAACA,EAAE,eAAe,KAAK,OAAO,CAACA,GAAG,aAAa,EAAE,CAAC,OAAO,KAAK,OAAO,aAAaA,EAAE,CAAC,KAAK,QAAmBA,EAAE,mBAAmB,CAAC,KAAK,UAAU,EAAE,CAAC,OAAO,KAAK,OAAO,IAAIA,EAAE,CAAC,KAAK,cAAc,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,OAAO,KAAK,OAAO,KAAKA,EAAE,CAAC,KAAK,OAAO,EAAE,KAAK,GAAG,WAAWA,EAAE,KAAK,OAAO,CAAC,IAAIM,EAAE,GAAG,UAAU,CAAC,GAAGA,EAAE,KAAK,OAAO,KAAK,OAAO,CAAC,IAAII,EAAE,KAAK,KAAKJ,EAAE,CAACO,GAAGH,EAAE,KAAK,QAAQ,GAAG,KAAK,OAAO,gBAAgB,GAAGG,EAAEH,EAAE,CAAC,KAAK,QAAQG,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,OAAOb,EAAE,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,KAAK,KAAKA,EAAE,CAAC,OAAO,KAAK,OAAO,OAAOA,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,OAAO,KAAK,IAAI,KAAK,OAAOA,EAAE,OAAO,EAAE,GAAG,WAAWA,EAAE,OAAO,KAAK,OAAO,CAAC,UAAUA,EAAE,OAAO,CAAC,KAAK,cAAc,GAAG,KAAKA,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,cAAc,GAAG,KAAKA,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC,OAAOA,EAAE,OAAO,OAAO,KAAK,OAAO,EAAEA,EAAE,SAAS,KAAK,OAAO,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,MAAO,MAAK,OAAOA,EAAE,OAAO,KAAK,OAAO,UAAUA,EAAE,OAAO,CAAC,OAAO4K,GAAG,EAAE,GAAG,IAAI,GAAEC,GAAG,IAAIlB,GAAEmB,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,GAAE,MAAM7K,UAAU,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,EAAE,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,iBAAiB,KAAK,MAAM,KAAK,KAAK,SAAS,KAAK,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,CAAC,KAAK,gBAAgB,EAAE,CAAC,KAAK,qBAAqB,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,KAAK,eAAe,KAAK,KAAK,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,SAAS,EAAE,CAAC,OAAO,MAAM,QAAQD,EAAE,CAAC,KAAK,MAAM,IAAID,GAAGC,EAAE,CAAC0K,GAAG,IAAI1K,EAAE,EAAE,CAAC,KAAK,MAAMA,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,CAAC,MAAO,MAAK,SAASA,EAAE,KAAK,eAAeM,EAAE,KAAK,aAAa,CAAC,OAAO,KAAK,SAAS,aAAa,EAAE,CAAC,OAAO,KAAK,WAAWN,GAAG,aAAa,EAAE,EAAE,CAAC,MAAO,MAAK,WAAWA,GAAGM,EAAE,KAAK,gBAAgB,EAAE,CAAC,OAAO,OAAO,KAAK,WAAWN,GAAG,KAAK,aAAa,EAAE,CAAC,OAAO,KAAK,WAAWA,KAAK,IAAK,GAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,KAAK,CAAC,MAAMA,EAAE,MAAMM,EAAE,cAAcI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,UAAU,MAAMV,EAAE,KAAK,UAAU,MAAMM,EAAE,aAAa,EAAE,CAAC,IAAIA,EAAE,KAAK,WAAW,SAAS,IAAI,IAAK,KAAIA,EAAE,aAAaN,EAAE,CAAC,EAAE,YAAY,CAAC,GAAG,IAAIU,EAAE,KAAK,WAAW,OAAO,GAAGA,IAAI,IAAK,GAAE,CAAC,IAAI,EAAE,IAAI6G,GAAI,CAAC,gBAAgBvH,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,IAAIa,EAAE,KAAK,WAAW,QAAQ,OAAOA,IAAI,IAAK,KAAIA,EAAE,mBAAmBb,EAAE,CAAC,EAAE,YAAY,CAAC,GAAG,KAAK,cAAc,MAAM,KAAK,oBAAoB,CAAC,KAAK,iBAAiB,MAAM,KAAK,uBAAuB,CAAC,KAAK,gBAAgB,EAAE,CAAC,OAAO,GAAG,2BAA2BA,EAAE,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,OAAO,GAAG,cAAcA,EAAE,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,OAAO,GAAG,cAAcA,EAAE,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,OAAO,GAAG,cAAcA,EAAE,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,gBAAgBA,EAAEM,EAAEI,EAAE,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,GAAG,UAAUV,EAAEM,EAAEI,EAAE,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,OAAOmK,GAAG,OAAO7K,EAAE,CAAC6K,GAAG,cAAc,CAAC,KAAK,aAAaA,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO,KAAK,oBAAoB,CAAC,KAAK,YAAY,UAAUC,GAAG,CAAC,QAAQ,CAAC,KAAK,UAAUA,GAAG,EAAEA,GAAG,EAAEA,GAAG,EAAE,CAAC,KAAK,cAAc,EAAE,CAAC,IAAIxK,EAAE,KAAK,aAAa,WAAW,CAAC,GAAGA,IAAI,IAAK,GAAE,CAAC,IAAII,EAAE,EAAE,CAAC,IAAI,IAAIG,EAAE,EAAE,EAAEb,EAAE,OAAOa,EAAE,EAAE,IAAI,CAAC,IAAIQ,EAAErB,EAAEa,GAAG,EAAE,KAAKQ,EAAE,EAAEA,EAAE,EAAEA,EAAE,GAAG,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEX,EAAE,EAAE,CAAC,KAAK,CAAC,IAAIA,EAAE,KAAK,IAAIV,EAAE,OAAOM,EAAE,MAAM,CAAC,IAAI,IAAIO,EAAE,EAAEA,EAAEH,EAAE,IAAI,CAAC,IAAI,EAAEV,EAAEa,GAAG,EAAE,OAAOA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,OAAOP,EAAE,OAAO,GAAE,mGAAmG,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,oBAAoB,CAAC,KAAK,cAAc,OAAO,KAAK,YAAY,IAAI,IAAI,IAAIN,EAAE,KAAK,WAAW,SAASM,EAAE,KAAK,gBAAgB,SAAS,GAAGN,GAAGA,EAAE,oBAAoB,CAAC,GAAE,yFAAyF,KAAK,CAAC,KAAK,YAAY,IAAI,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,GAAGA,IAAI,IAAK,OAAM,KAAK,YAAY,uBAAuBA,EAAE,CAACM,EAAE,IAAI,IAAII,EAAE,EAAEG,EAAEP,EAAE,OAAOI,EAAEG,EAAE,IAAI,CAAC,IAAI,EAAEP,EAAEI,GAAG,GAAG,uBAAuB,EAAE,CAAC,KAAK,sBAAsB,GAAG,WAAW,KAAK,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,YAAY,cAAc,GAAG,CAAC,GAAG,WAAW,KAAK,YAAY,IAAI,GAAG,IAAI,CAAC,KAAK,YAAY,cAAc,GAAG,GAAG,KAAK,YAAY,cAAc,GAAG,IAAI,CAAC,KAAK,YAAY,cAAc,GAAG,IAAI,QAAQ,KAAK,YAAY,WAAW,EAAE,MAAM,KAAK,YAAY,IAAI,EAAE,EAAE,MAAM,KAAK,YAAY,IAAI,EAAE,EAAE,MAAM,KAAK,YAAY,IAAI,EAAE,GAAGH,GAAE,gIAAgI,KAAK,CAAC,uBAAuB,CAAC,KAAK,iBAAiB,OAAO,KAAK,eAAe,IAAI,IAAI,IAAIP,EAAE,KAAK,WAAW,SAASM,EAAE,KAAK,gBAAgB,SAAS,GAAGN,GAAGA,EAAE,oBAAoB,CAAC,GAAE,+FAA+F,KAAK,CAAC,KAAK,eAAe,IAAI,IAAI,EAAE,IAAI,CAAC,OAAO,GAAGA,EAAE,CAAC,IAAIU,EAAE,KAAK,eAAe,OAAO,GAAG,GAAG,uBAAuBV,EAAE,CAACM,EAAE,IAAI,IAAI,EAAE,EAAEe,EAAEf,EAAE,OAAO,EAAEe,EAAE,IAAI,CAAC,IAAI,EAAEf,EAAE,GAAG,GAAG,uBAAuB,EAAE,CAAC,KAAK,sBAAsB,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,cAAc,GAAG,IAAI,EAAE,GAAG,UAAUI,EAAE,CAAC,IAAIG,EAAE,EAAE,IAAI,IAAI,EAAE,EAAEQ,EAAErB,EAAE,MAAM,EAAEqB,EAAE,IAAI,GAAG,oBAAoBrB,EAAE,EAAE,CAAC,EAAE,KAAK,IAAIa,EAAEH,EAAE,kBAAkB,GAAG,CAAC,CAAC,GAAGJ,EAAE,IAAI,IAAI,EAAE,EAAEe,EAAEf,EAAE,OAAO,EAAEe,EAAE,IAAI,CAAC,IAAI,EAAEf,EAAE,GAAG,EAAE,KAAK,qBAAqB,IAAI,IAAIgB,EAAE,EAAEC,EAAE,EAAE,MAAMD,EAAEC,EAAE,IAAI,GAAG,oBAAoB,EAAED,EAAE,CAAC,IAAIwJ,GAAG,oBAAoB9K,EAAEsB,EAAE,CAAC,GAAG,IAAIwJ,GAAG,EAAE,EAAE,KAAK,IAAIjK,EAAEH,EAAE,kBAAkB,GAAG,CAAC,CAAC,KAAK,eAAe,OAAO,KAAK,KAAKG,EAAE,CAAC,MAAM,KAAK,eAAe,OAAO,EAAEN,GAAE,yHAAyH,KAAK,EAAE,iBAAiB,CAAC,IAAIP,EAAE,KAAK,MAAMM,EAAE,KAAK,WAAW,GAAGN,IAAI,MAAMM,EAAE,WAAW,IAAK,IAAGA,EAAE,SAAS,IAAK,IAAGA,EAAE,KAAK,IAAK,GAAE,CAAC,GAAE,yGAAyG,CAAC,OAAO,IAAII,EAAEJ,EAAE,SAASO,EAAEP,EAAE,OAAO,EAAEA,EAAE,GAAG,KAAK,aAAa,UAAU,GAAG,CAAC,GAAG,KAAK,aAAa,UAAU,IAAI,GAAE,IAAI,aAAa,EAAEI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAIW,EAAE,KAAK,aAAa,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI4G,EAAE,EAAEA,EAAEvH,EAAE,MAAM,IAAI,EAAEuH,GAAG,IAAI,EAAE,EAAEA,GAAG,IAAI,EAAE,IAAI3G,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEmB,EAAE,IAAI,EAAE,SAASC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,oBAAoBrC,EAAEuH,EAAE,CAAC1G,EAAE,oBAAoBb,EAAE2H,EAAE,CAAC7G,EAAE,oBAAoBd,EAAE4H,EAAE,CAAC7G,EAAE,oBAAoB,EAAEwG,EAAE,CAACvG,EAAE,oBAAoB,EAAE2G,EAAE,CAAC1G,EAAE,oBAAoB,EAAE2G,EAAE,CAAC/G,EAAE,IAAID,EAAE,CAACE,EAAE,IAAIF,EAAE,CAACI,EAAE,IAAID,EAAE,CAACE,EAAE,IAAIF,EAAE,CAAC,IAAI8G,EAAE,GAAG7G,EAAE,EAAEC,EAAE,EAAEA,EAAE,EAAED,EAAE,GAAG,SAAS6G,EAAE,GAAG,EAAE,KAAKhH,EAAE,CAAC,eAAeI,EAAE,EAAE,CAAC,gBAAgBH,EAAE,CAACE,EAAE,EAAE,CAAC,eAAe6G,EAAE,CAACzF,EAAE,KAAKtB,EAAE,CAAC,eAAeE,EAAE,EAAE,CAAC,gBAAgBH,EAAE,CAACI,EAAE,EAAE,CAAC,eAAe4G,EAAE,CAAC,EAAEN,GAAG,IAAI,EAAE,CAAC,EAAEI,GAAG,IAAI,EAAE,CAAC,EAAEC,GAAG,IAAI,EAAE,CAAC,EAAEL,GAAG,IAAInF,EAAE,CAAC,EAAEuF,GAAG,IAAIvF,EAAE,CAAC,EAAEwF,GAAG,IAAIxF,EAAE,EAAE,IAAIG,EAAE,KAAK,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAMjD,EAAE,MAAM,CAAC,EAAE,IAAI,IAAIiI,EAAE,EAAEI,EAAEpF,EAAE,OAAOgF,EAAEI,EAAE,EAAEJ,EAAE,CAAC,IAAIK,EAAErF,EAAEgF,GAAGM,EAAED,EAAE,MAAME,EAAEF,EAAE,MAAM,IAAI,IAAIG,EAAEF,EAAEG,EAAEH,EAAEC,EAAEC,EAAEC,EAAE,GAAG,EAAE,EAAE1I,EAAE,KAAKyI,EAAE,EAAE,CAACzI,EAAE,KAAKyI,EAAE,EAAE,CAACzI,EAAE,KAAKyI,EAAE,EAAE,CAAC,CAAC,IAAIvF,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEqE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAASC,EAAE,EAAE,CAAC,EAAE,oBAAoB5G,EAAEoH,EAAE,CAAC,EAAE,KAAKT,EAAE,CAAC,IAAIa,EAAE,EAAEJ,GAAG,EAAE,KAAKI,EAAE,CAACnF,EAAE,IAAIsE,EAAE,eAAeA,EAAE,IAAIa,EAAE,CAAC,CAAC,CAAC,WAAW,CAAClF,EAAE,aAAa,EAAEkF,EAAE,CAAC,IAAIE,EAAEpF,EAAE,IAAI,EAAE8E,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQA,EAAE/E,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEqF,EAAE,CAAC,IAAI,IAAIN,EAAE,EAAEI,EAAEpF,EAAE,OAAOgF,EAAEI,EAAE,EAAEJ,EAAE,CAAC,IAAIK,EAAErF,EAAEgF,GAAGM,EAAED,EAAE,MAAME,EAAEF,EAAE,MAAM,IAAI,IAAIG,EAAEF,EAAEG,EAAEH,EAAEC,EAAEC,EAAEC,EAAE,GAAG,EAAE,EAAE1I,EAAE,KAAKyI,EAAE,EAAE,CAAC,CAAChB,EAAEzH,EAAE,KAAKyI,EAAE,EAAE,CAAC,CAAChB,EAAEzH,EAAE,KAAKyI,EAAE,EAAE,CAAC,EAAE,sBAAsB,CAAC,IAAIzI,EAAE,KAAK,MAAMM,EAAE,KAAK,aAAa,WAAW,CAAC,GAAGA,IAAI,IAAK,GAAE,CAAC,IAAII,EAAE,KAAK,aAAa,SAAS,CAAC,GAAGA,IAAI,IAAK,GAAE,EAAE,IAAI,GAAE,IAAI,aAAaJ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,aAAa,SAASI,EAAE,MAAM,IAAI,IAAIe,EAAE,EAAEC,EAAEhB,EAAE,MAAMe,EAAEC,EAAE,IAAI,EAAE,OAAOD,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIZ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,GAAGxB,EAAE,IAAI,IAAIyB,EAAE,EAAEC,EAAE1B,EAAE,MAAMyB,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAIC,EAAE3B,EAAE,KAAKyB,EAAE,EAAE,CAAC,EAAEzB,EAAE,KAAKyB,EAAE,EAAE,CAACqB,EAAE9C,EAAE,KAAKyB,EAAE,EAAE,CAAC,EAAE,oBAAoBnB,EAAEqB,EAAE,CAAC,EAAE,oBAAoBrB,EAAE,EAAE,CAACe,EAAE,oBAAoBf,EAAEwC,EAAE,CAACvB,EAAE,WAAWF,EAAE,EAAE,CAACG,EAAE,WAAWX,EAAE,EAAE,CAACU,EAAE,MAAMC,EAAE,CAAC,EAAE,oBAAoBd,EAAEiB,EAAE,CAAC,EAAE,oBAAoBjB,EAAE,EAAE,CAACY,EAAE,oBAAoBZ,EAAEoC,EAAE,CAAC,EAAE,IAAIvB,EAAE,CAAC,EAAE,IAAIA,EAAE,CAACD,EAAE,IAAIC,EAAE,CAACb,EAAE,OAAOiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACjB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACA,EAAE,OAAOoC,EAAExB,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,MAAM,IAAI,IAAIG,EAAE,EAAEC,EAAEpB,EAAE,MAAMmB,EAAEC,EAAE,GAAG,EAAE,EAAE,oBAAoBpB,EAAEmB,EAAE,EAAE,CAAC,EAAE,oBAAoBnB,EAAEmB,EAAE,EAAE,CAACJ,EAAE,oBAAoBf,EAAEmB,EAAE,EAAE,CAACF,EAAE,WAAWF,EAAE,EAAE,CAACG,EAAE,WAAWX,EAAE,EAAE,CAACU,EAAE,MAAMC,EAAE,CAACd,EAAE,OAAOe,EAAE,EAAEF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACb,EAAE,OAAOe,EAAE,EAAEF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACb,EAAE,OAAOe,EAAE,EAAEF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,KAAK,kBAAkB,CAAC,EAAE,YAAY,CAAC,GAAG,kBAAkB,CAAC,IAAIvB,EAAE,KAAK,WAAW,OAAO,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,MAAMM,EAAEI,EAAE,IAAI,GAAG,oBAAoBV,EAAEM,EAAE,CAAC,GAAG,WAAW,CAACN,EAAE,OAAOM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAASN,EAAE,EAAE,EAAE,CAAC,IAAIsB,EAAE,EAAE,MAAMC,EAAE,EAAE,SAASC,EAAE,EAAE,WAAWC,EAAE,IAAIH,EAAE,YAAY,EAAE,OAAOC,EAAE,CAACG,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAEmB,EAAE,EAAE,OAAO,EAAEA,EAAE,IAAI,CAAC,AAA6D,EAA7D,EAAE,6BAA+B,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,OAAS,EAAE,GAAGvB,EAAE,IAAI,IAAIwB,EAAE,EAAEA,EAAExB,EAAE,IAAI,EAAE,KAAKD,EAAE,KAAK,OAAO,IAAI,GAAEG,EAAEF,EAAEC,EAAE,CAAC,GAAG,KAAK,QAAQ,KAAK,OAAO,GAAE,wEAAwE,CAAC,KAAK,IAAIlB,EAAE,IAAIL,EAAES,EAAE,KAAK,MAAM,MAAMG,EAAE,KAAK,WAAW,IAAI,IAAI,KAAKA,EAAE,CAAC,IAAI,EAAEA,EAAE,GAAGS,EAAEtB,EAAE,EAAEU,EAAE,CAAC,EAAE,aAAa,EAAEY,EAAE,CAAC,IAAI,EAAE,KAAK,gBAAgB,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAACA,EAAE,EAAE,GAAG,IAAI,IAAIC,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAEH,EAAEC,GAAGG,EAAE1B,EAAEyB,EAAEf,EAAE,CAAC,EAAE,KAAKgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,EAAE,EAAE,qBAAqB,KAAK,qBAAqB,IAAIL,EAAE,KAAK,OAAO,IAAI,IAAI,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,IAAIC,EAAED,EAAE,GAAG,EAAE,SAASC,EAAE,MAAMA,EAAE,MAAMA,EAAE,cAAc,CAAC,OAAOhB,EAAE,QAAQ,CAAC,IAAIN,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,iBAAiB,UAAU,wBAAwB,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,MAAM,OAAO,KAAK,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,UAAU,KAAK,aAAa,IAAK,GAAE,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,IAAIsB,KAAK,EAAE,EAAEA,KAAK,IAAK,KAAI,EAAEA,GAAG,EAAEA,IAAI,OAAOtB,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAIM,EAAE,KAAK,MAAM,IAAI,OAAO,EAAE,KAAK,MAAM,CAAC,KAAKA,EAAE,MAAM,YAAY,KAAK,MAAM,MAAM,UAAU,MAAM,KAAKA,EAAE,MAAM,CAAC,EAAE,IAAII,EAAE,KAAK,WAAW,IAAI,IAAI,KAAKA,EAAE,CAAC,IAAIY,EAAEZ,EAAE,GAAG,EAAE,KAAK,WAAW,GAAGY,EAAE,OAAOtB,EAAE,KAAK,CAAC,IAAIa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,KAAK,KAAK,gBAAgB,CAAC,IAAIS,EAAE,KAAK,gBAAgB,GAAGC,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEC,EAAEH,EAAE,OAAOE,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAEJ,EAAEE,GAAG,EAAE,KAAKE,EAAE,OAAO1B,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,GAAGuB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,gBAAgBV,EAAE,EAAE,KAAK,qBAAqB,KAAK,sBAAsB,IAAIQ,EAAE,KAAK,OAAO,EAAE,OAAO,IAAI,EAAE,KAAK,OAAO,KAAK,MAAM,KAAK,UAAUA,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,eAAe,OAAO,IAAI,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAErB,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,WAAW,EAAE,CAAC,KAAK,gBAAgB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,KAAK,eAAe,KAAK,IAAIM,EAAE,EAAE,CAAC,KAAK,KAAKN,EAAE,KAAK,IAAIU,EAAEV,EAAE,MAAM,IAAI,MAAM,KAAK,SAASU,EAAE,OAAO,CAAC,CAAC,IAAIG,EAAEb,EAAE,WAAW,IAAI,IAAIsB,KAAKT,EAAE,CAAC,IAAIU,EAAEV,EAAES,GAAG,KAAK,aAAaA,EAAEC,EAAE,MAAMjB,EAAE,CAAC,CAAC,IAAI,EAAEN,EAAE,gBAAgB,IAAI,IAAIsB,KAAK,EAAE,CAAC,IAAIC,EAAE,EAAE,CAACC,EAAE,EAAEF,GAAG,IAAI,IAAIG,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,IAAI,EAAE,KAAKF,EAAEC,GAAG,MAAMnB,EAAE,CAAC,CAAC,KAAK,gBAAgBgB,GAAGC,EAAE,KAAK,qBAAqBvB,EAAE,qBAAqB,IAAIqB,EAAErB,EAAE,OAAO,IAAI,IAAIsB,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAEH,EAAEC,GAAG,KAAK,SAASE,EAAE,MAAMA,EAAE,MAAMA,EAAE,cAAc,CAAC,IAAI,EAAExB,EAAE,YAAY,IAAI,OAAO,KAAK,YAAY,EAAE,OAAO,EAAE,IAAI,EAAEA,EAAE,eAAe,OAAO,IAAI,OAAO,KAAK,eAAe,EAAE,OAAO,EAAE,KAAK,UAAU,MAAMA,EAAE,UAAU,MAAM,KAAK,UAAU,MAAMA,EAAE,UAAU,MAAM,KAAK,SAASA,EAAE,SAAS,KAAK,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,GAAm8C,IAAI,EAAipH,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,EAAE,OAAO,eAAe,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,WAAW,KAAK,SAASgE,GAAG,KAAK,KAAK,GAAG,KAAK,aAAa,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,SAASC,GAAG,KAAK,SAASC,GAAG,KAAK,cAAc,GAAG,KAAK,cAAc,KAAK,KAAK,cAAc,KAAK,KAAK,mBAAmB,KAAK,KAAK,WAAW,IAAI,GAAE,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,KAAK,UAAU,GAAG,KAAK,UAAU,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,iBAAiB,IAAI,KAAK,YAAY,GAAG,KAAK,WAAW,EAAE,KAAK,gBAAgB,IAAI,KAAK,YAAY2C,GAAG,KAAK,aAAaA,GAAG,KAAK,aAAaA,GAAG,KAAK,aAAa,CAAC,EAAE,KAAK,eAAe,KAAK,KAAK,iBAAiB,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,WAAW,KAAK,KAAK,WAAW,CAAC,EAAE,KAAK,UAAU,KAAK,KAAK,cAAc,CAAC,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,IAAI,UAAU,EAAE,CAAC,KAAK,WAAW,GAAG7G,EAAE,GAAG,KAAK,UAAU,KAAK,WAAWA,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,OAAO,KAAK,gBAAgB,UAAU,CAAC,UAAU,EAAE,CAAC,GAAGA,IAAI,IAAK,GAAE,IAAI,IAAIM,KAAKN,EAAE,CAAC,IAAIU,EAAEV,EAAEM,GAAG,GAAGI,IAAI,IAAK,GAAE,CAAC,GAAE,wBAAwBJ,EAAE,2BAA2B,CAAC,SAAS,IAAIO,EAAE,KAAKP,GAAG,GAAGO,IAAI,IAAK,GAAE,CAAC,GAAE,cAAcP,EAAE,+BAA+B,KAAK,KAAK,GAAG,CAAC,SAAS,GAAGO,EAAE,QAAQA,EAAE,IAAIH,EAAE,CAACG,GAAGA,EAAE,WAAWH,GAAGA,EAAE,UAAUG,EAAE,KAAKH,EAAE,CAAC,KAAKJ,GAAGI,GAAG,OAAO,EAAE,CAAC,IAAIJ,EAAEN,IAAI,IAAK,IAAG,OAAOA,GAAG,SAAS,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,IAAIU,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,WAAW,UAAU,kBAAkB,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,MAAM,UAAU,EAAE,MAAM,KAAK,MAAM,QAAQ,EAAE,KAAK,YAAY,IAAK,KAAI,EAAE,UAAU,KAAK,WAAW,KAAK,YAAY,IAAK,KAAI,EAAE,UAAU,KAAK,WAAW,KAAK,QAAQ,IAAK,KAAI,EAAE,MAAM,KAAK,OAAO,KAAK,YAAY,KAAK,WAAW,UAAU,EAAE,WAAW,KAAK,WAAW,QAAQ,EAAE,KAAK,iBAAiB,IAAK,KAAI,EAAE,eAAe,KAAK,gBAAgB,KAAK,UAAU,KAAK,SAAS,UAAU,EAAE,SAAS,KAAK,SAAS,QAAQ,EAAE,KAAK,oBAAoB,IAAK,IAAG,KAAK,oBAAoB,IAAI,EAAE,kBAAkB,KAAK,mBAAmB,KAAK,UAAU,KAAK,SAAS,UAAU,EAAE,SAAS,KAAK,SAAS,QAAQ,EAAE,KAAK,oBAAoB,IAAK,KAAI,EAAE,kBAAkB,KAAK,mBAAmB,KAAK,eAAe,KAAK,cAAc,UAAU,EAAE,cAAc,KAAK,cAAc,QAAQ,EAAE,KAAK,YAAY,IAAK,KAAI,EAAE,UAAU,KAAK,WAAW,KAAK,YAAY,IAAK,KAAI,EAAE,UAAU,KAAK,WAAW,KAAK,qBAAqB,IAAK,KAAI,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOV,EAAE,CAAC,MAAM,KAAK,uBAAuB,KAAK,sBAAsB,YAAY,EAAE,sBAAsB,KAAK,sBAAsB,OAAOA,EAAE,CAAC,MAAM,KAAK,oBAAoB,KAAK,mBAAmB,YAAY,EAAE,mBAAmB,KAAK,mBAAmB,OAAOA,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,qBAAqB,SAAS,EAAE,KAAK,eAAe,KAAK,cAAc,YAAY,EAAE,cAAc,KAAK,cAAc,OAAOA,EAAE,CAAC,MAAM,KAAK,mBAAmB,KAAK,kBAAkB,YAAY,EAAE,kBAAkB,KAAK,kBAAkB,OAAOA,EAAE,CAAC,MAAM,KAAK,aAAa,IAAK,KAAI,EAAE,WAAW,KAAK,YAAY,KAAK,cAAc,IAAK,KAAI,EAAE,YAAY,KAAK,aAAa,KAAK,iBAAiB,IAAK,KAAI,EAAE,eAAe,KAAK,gBAAgB,KAAK,4BAA4B,IAAK,KAAI,EAAE,0BAA0B,KAAK,2BAA2B,KAAK,gBAAgB,KAAK,eAAe,YAAY,EAAE,eAAe,KAAK,eAAe,OAAOA,EAAE,CAAC,MAAM,KAAK,yBAAyB,KAAK,wBAAwB,YAAY,EAAE,wBAAwB,KAAK,wBAAwB,OAAOA,EAAE,CAAC,MAAM,KAAK,aAAa,IAAK,KAAI,EAAE,WAAW,KAAK,YAAY,KAAK,qBAAqB,IAAK,KAAI,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,eAAe,KAAK,cAAc,YAAY,EAAE,cAAc,KAAK,cAAc,OAAOA,EAAE,CAAC,MAAM,KAAK,KAAK,KAAK,IAAI,YAAY,EAAE,IAAI,KAAK,IAAI,OAAOA,EAAE,CAAC,MAAM,KAAK,QAAQ,KAAK,OAAO,YAAY,EAAE,OAAO,KAAK,OAAO,OAAOA,EAAE,CAAC,MAAM,KAAK,UAAU,KAAK,SAAS,YAAY,EAAE,SAAS,KAAK,SAAS,OAAOA,EAAE,CAAC,MAAM,KAAK,UAAU,KAAK,SAAS,YAAY,EAAE,SAAS,KAAK,SAAS,OAAOA,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,mBAAmB,KAAK,OAAO,KAAK,MAAM,YAAY,EAAE,MAAM,KAAK,MAAM,OAAOA,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,gBAAgB,KAAK,SAAS,KAAK,QAAQ,YAAY,EAAE,QAAQ,KAAK,QAAQ,OAAOA,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,WAAW,KAAK,WAAW,KAAK,UAAU,YAAY,EAAE,UAAU,KAAK,UAAU,OAAOA,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,EAAE,YAAY,KAAK,YAAY,SAAS,EAAE,KAAK,iBAAiB,KAAK,gBAAgB,YAAY,EAAE,gBAAgB,KAAK,gBAAgB,OAAOA,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,kBAAkB,EAAE,iBAAiB,KAAK,kBAAkB,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAM,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAM,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,MAAM,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,MAAM,KAAK,sBAAsB,KAAK,qBAAqB,YAAY,EAAE,qBAAqB,KAAK,qBAAqB,OAAOA,EAAE,CAAC,MAAM,KAAK,kBAAkB,KAAK,iBAAiB,YAAY,EAAE,iBAAiB,KAAK,iBAAiB,OAAOA,EAAE,CAAC,MAAM,KAAK,QAAQ,KAAK,OAAO,YAAY,EAAE,OAAO,KAAK,OAAO,OAAOA,EAAE,CAAC,KAAK,KAAK,UAAU,IAAK,KAAI,EAAE,QAAQ,KAAK,UAAU,KAAK,iBAAiB,IAAK,KAAI,EAAE,eAAe,KAAK,eAAe,SAAS,EAAE,KAAK,kBAAkB,IAAK,KAAI,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,eAAe,IAAK,KAAI,EAAE,aAAa,KAAK,cAAc,KAAK,kBAAkB,IAAK,KAAI,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,aAAa,KAAK,YAAY,YAAY,EAAE,YAAY,KAAK,YAAY,OAAOA,EAAE,CAAC,MAAM,KAAK,eAAe,IAAK,KAAI,EAAE,aAAa,KAAK,cAAc,KAAK,iBAAiB,KAAK,gBAAgB,YAAY,EAAE,gBAAgB,KAAK,gBAAgB,OAAOA,EAAE,CAAC,MAAM,KAAK,YAAY,IAAK,KAAI,EAAE,UAAU,KAAK,WAAW,KAAK,cAAc,KAAK,aAAa,YAAY,EAAE,aAAa,KAAK,aAAa,OAAOA,EAAE,CAAC,MAAM,KAAK,sBAAsB,IAAK,IAAG,KAAK,sBAAsB,MAAM,EAAE,oBAAoB,KAAK,qBAAqB,KAAK,mBAAmB,IAAK,KAAI,EAAE,iBAAiB,KAAK,iBAAiB,QAAQ,EAAE,KAAK,OAAO,IAAK,KAAI,EAAE,KAAK,KAAK,MAAM,KAAK,aAAa,OAAO,EAAE,WAAW,KAAK,YAAY,KAAK,kBAAkB,IAAK,KAAI,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,WAAWgE,KAAK,EAAE,SAAS,KAAK,UAAU,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,MAAM,KAAK,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,QAAQ,KAAK,SAAS,KAAK,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,WAAWC,KAAK,EAAE,SAAS,KAAK,UAAU,KAAK,WAAWC,KAAK,EAAE,SAAS,KAAK,UAAU,KAAK,gBAAgB,KAAK,EAAE,cAAc,KAAK,eAAe,KAAK,gBAAgB,OAAO,EAAE,cAAc,KAAK,eAAe,KAAK,gBAAgB,OAAO,EAAE,cAAc,KAAK,eAAe,KAAK,qBAAqB,OAAO,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,YAAY,KAAK,WAAW,UAAU,EAAE,WAAW,KAAK,WAAW,QAAQ,EAAE,KAAK,aAAa,IAAI,EAAE,WAAW,KAAK,YAAY,KAAK,YAAY,KAAK,EAAE,UAAU,KAAK,WAAW,KAAK,YAAY,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,KAAK,aAAa,CAAC,IAAI,EAAE,WAAW,KAAK,YAAY,KAAK,aAAa,CAAC,IAAI,EAAE,WAAW,KAAK,YAAY,KAAK,mBAAmB,MAAM,EAAE,iBAAiB,KAAK,kBAAkB,KAAK,cAAc,KAAK,EAAE,YAAY,KAAK,aAAa,KAAK,aAAa,IAAI,EAAE,WAAW,KAAK,YAAY,KAAK,kBAAkB,MAAM,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,cAAc2C,KAAK,EAAE,YAAY,KAAK,aAAa,KAAK,eAAeA,KAAK,EAAE,aAAa,KAAK,cAAc,KAAK,eAAeA,KAAK,EAAE,aAAa,KAAK,cAAc,KAAK,eAAe,CAAC,IAAI,EAAE,aAAa,KAAK,cAAc,KAAK,WAAW,IAAK,IAAG,KAAK,WAAW,IAAI,EAAE,SAAS,KAAK,UAAU,KAAK,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,KAAK,sBAAsB,IAAI,EAAE,oBAAoB,KAAK,qBAAqB,KAAK,qBAAqB,IAAI,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,YAAY,IAAK,IAAG,KAAK,YAAY,IAAI,EAAE,UAAU,KAAK,WAAW,KAAK,WAAW,IAAK,KAAI,EAAE,SAAS,KAAK,UAAU,KAAK,UAAU,IAAK,KAAI,EAAE,QAAQ,KAAK,SAAS,KAAK,QAAQ,IAAK,KAAI,EAAE,MAAM,KAAK,OAAO,KAAK,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,KAAK,UAAU,IAAI,EAAE,UAAU,KAAK,WAAW,KAAK,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,KAAK,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,KAAK,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,CAAC,GAAG,KAAK,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,KAAK,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,KAAK,mBAAmB,IAAI,EAAE,mBAAmB,KAAK,oBAAoB,KAAK,mBAAmB,UAAU,EAAE,iBAAiB,KAAK,kBAAkB,KAAK,oBAAoB,UAAU,EAAE,kBAAkB,KAAK,mBAAmB,KAAK,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,SAAS,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,UAAU,SAAShG,EAAE,EAAE,CAAC,IAAIQ,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAASA,EAAE,KAAK,EAAE,CAAC,OAAOA,EAAE,GAAGf,EAAE,CAAC,IAAI,EAAEO,EAAEb,EAAE,SAAS,CAACqB,EAAER,EAAEb,EAAE,OAAO,CAAC,EAAE,OAAO,IAAI,EAAE,SAAS,GAAGqB,EAAE,OAAO,IAAI,EAAE,OAAOA,GAAG,OAAOX,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,KAAKV,EAAE,KAAK,KAAK,SAASA,EAAE,SAAS,KAAK,KAAKA,EAAE,KAAK,KAAK,aAAaA,EAAE,aAAa,KAAK,QAAQA,EAAE,QAAQ,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAS,KAAK,cAAcA,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,WAAW,KAAKA,EAAE,WAAW,CAAC,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,YAAYA,EAAE,YAAY,KAAK,WAAWA,EAAE,WAAW,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,YAAYA,EAAE,YAAY,KAAK,aAAaA,EAAE,aAAa,KAAK,aAAaA,EAAE,aAAa,KAAK,aAAaA,EAAE,aAAa,IAAIM,EAAEN,EAAE,eAAeU,EAAE,KAAK,GAAGJ,IAAI,KAAK,CAAC,IAAIO,EAAEP,EAAE,OAAO,EAAM,MAAMO,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAE,EAAE,GAAGP,EAAE,GAAG,OAAO,CAAC,MAAO,MAAK,eAAeI,EAAE,KAAK,iBAAiBV,EAAE,iBAAiB,KAAK,YAAYA,EAAE,YAAY,KAAK,WAAWA,EAAE,WAAW,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAU,KAAK,cAAcA,EAAE,cAAc,KAAK,oBAAoBA,EAAE,oBAAoB,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,UAAUA,EAAE,UAAU,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,cAAcA,EAAE,cAAc,KAAK,QAAQA,EAAE,QAAQ,KAAK,WAAWA,EAAE,WAAW,KAAK,SAAS,KAAK,MAAM,KAAK,UAAUA,EAAE,SAAS,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,YAA2b,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,GAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAA4mD,IAAI,EAAK,IAAI,EAAgtDmL,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,OAAOtL,EAAE,KAAK,UAAUM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKN,EAAE,CAAC,KAAK,UAAU,KAAKM,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKN,EAAE,OAAO,CAAC,KAAK,UAAU,KAAKA,EAAE,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC,OAAOM,EAAE,KAAK,KAAK,OAAO,CAAC,gBAAgB,KAAK,UAAUN,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,UAAU,KAAKA,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,EAAE,CAAC,OAAO,KAAK,OAAO,KAAK,KAAK,GAAGA,EAAEmL,GAAG,CAAC,CAAC,KAAK,oBAAoB,EAAE,EAAE,CAAC,EAAE,WAAWnL,EAAE,KAAK,OAAO,CAAC,IAAIU,EAAEJ,EAAE,IAAI,KAAK,UAAU,CAAC,OAAOI,EAAE,EAAEJ,EAAE,KAAK,KAAK,OAAO,CAACA,EAAE,KAAK,KAAK,OAAO,CAAC,gBAAgB,KAAK,UAAUI,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK,KAAK,KAAK,kBAAkBV,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAIM,EAAE6K,GAAG,WAAWnL,EAAE,KAAK,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,OAAOM,EAAE,EAAE,KAAK,OAAO,kBAAkBN,EAAE,EAAEmL,GAAG,KAAK,KAAK,OAAO,CAAC,gBAAgB,KAAK,UAAU7K,EAAE,CAAC6K,GAAG,kBAAkBnL,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAKA,EAAE,CAAC,IAAIM,EAAE,CAAC,eAAe,GAAG,CAAC,GAAG,KAAKA,EAAE,CAAC,IAAIN,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC,IAAIoL,GAAG,CAAC,IAAI,EAAEpL,EAAE,WAAWM,EAAE,CAAC,GAAGe,EAAE,CAAC,KAAK,UAAU,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAACC,EAAE,GAAG,UAAU,CAACC,EAAE,KAAK,IAAI,EAAEF,EAAEA,EAAE,CAACG,EAAEC,EAAEC,EAAEC,EAAE,GAAGJ,EAAE,EAAE,GAAG,EAAEF,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAE,EAAEE,EAAEC,GAAG,EAAE,GAAGC,GAAG,CAACE,EAAE,GAAGF,GAAGE,EAAE,CAAC,IAAI,EAAE,EAAEJ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAEC,GAAGA,EAAEH,EAAEI,EAAE,EAAE,GAAGA,GAAGJ,EAAEG,EAAEC,EAAE,EAAE,GAAGH,OAAO,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAED,EAAEI,EAAE,GAAG,CAAC,EAAE,CAACD,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,EAAED,EAAEI,EAAE,GAAG,CAAC,EAAE,CAACD,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,OAAO,GAAG,CAACK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,CAACN,EAAE,EAAE,GAAG,CAAC,EAAEG,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAACA,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,GAAGG,GAAGE,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEF,GAAGA,EAAE,EAAE,GAAGH,IAAI,EAAE,KAAK,IAAI,EAAE,EAAED,EAAE,EAAE,GAAG,CAAC,EAAEG,EAAE,EAAE,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAACA,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,QAAQ,EAAED,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAEA,EAAEI,EAAE,GAAG,CAAC,EAAE,CAACD,EAAEA,EAAEC,GAAGA,EAAE,EAAE,GAAGH,EAAE,OAAOZ,GAAGA,EAAE,KAAK,KAAK,OAAO,CAAC,gBAAgB,KAAK,UAAUc,EAAE,CAACX,GAAGA,EAAE,KAAKuK,GAAG,CAAC,gBAAgB,GAAG3J,EAAE,CAACC,EAAE,gBAAgB,EAAE,EAAE,CAAC,GAAG,WAAW1B,EAAE,OAAO,KAAK,OAAO,CAAC,IAAIU,EAAEyK,GAAG,IAAI,KAAK,UAAU,CAACtK,EAAEsK,GAAG,IAAIA,GAAG,CAACzK,EAAEA,EAAE,EAAEV,EAAE,OAAOA,EAAE,OAAO,GAAGa,EAAE,EAAE,OAAO,KAAK,IAAIQ,EAAE,KAAK,KAAK,EAAER,EAAE,CAAC,EAAEH,EAAEW,EAAE,EAAEX,EAAEW,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAEf,EAAE,CAAC,KAAK,GAAG,EAAEA,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAON,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,kBAAkBA,EAAE,OAAO,EAAEA,EAAE,OAAOA,EAAE,OAAO,gBAAgB,EAAE,CAAC,IAAIM,EAAEN,EAAE,OAAO,IAAI,KAAK,UAAU,CAAC,GAAGM,IAAI,EAAE,OAAON,EAAE,gBAAgB,KAAK,OAAO,GAAG,EAAE,EAAE,KAAK,IAAIU,EAAE,EAAE,KAAK,OAAO,IAAIV,EAAE,OAAO,CAACA,EAAE,UAAUM,EAAE,OAAOI,GAAG,EAAEA,EAAE,KAAK,eAAe,EAAE,EAAE,CAAC,IAAIA,EAAE,KAAK,gBAAgBV,EAAE,CAAC,OAAOU,IAAI,KAAK,KAAK,KAAK,GAAGA,EAAEJ,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAIA,EAAEN,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAOM,IAAI,GAAGN,EAAE,OAAO,IAAI,KAAK,UAAU,CAACM,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,IAAII,EAAEG,EAAE,EAAEQ,EAAE,EAAE,EAAEC,EAAE,EAAE,KAAK,UAAU,EAAEC,EAAE,EAAE,KAAK,UAAU,EAAEC,EAAE,EAAE,KAAK,UAAU,EAAEC,EAAE,KAAK,OAAO,OAAOH,GAAG,GAAG,GAAGtB,EAAE,IAAI,EAAEyB,EAAE,GAAGH,EAAE,GAAGtB,EAAE,IAAI,EAAEyB,EAAE,GAAGH,IAAI,GAAGtB,EAAE,IAAI,EAAEyB,EAAE,GAAGH,EAAE,GAAGtB,EAAE,IAAI,EAAEyB,EAAE,GAAGH,GAAGC,GAAG,GAAG,GAAGvB,EAAE,IAAI,EAAEyB,EAAE,GAAGF,EAAE,GAAGvB,EAAE,IAAI,EAAEyB,EAAE,GAAGF,IAAI,GAAGvB,EAAE,IAAI,EAAEyB,EAAE,GAAGF,EAAE,GAAGvB,EAAE,IAAI,EAAEyB,EAAE,GAAGF,GAAGb,EAAEW,GAAG,EAAER,KAAK,EAAEH,GAAG,MAAMA,EAAE,IAAI,EAAE,IAAIW,EAAER,GAAG,MAAMA,EAAE,IAAI,EAAEQ,GAAGG,GAAG,GAAG,GAAGxB,EAAE,IAAI,EAAEyB,EAAE,GAAGD,EAAE,GAAGxB,EAAE,IAAI,EAAEyB,EAAE,GAAGD,IAAI,GAAGxB,EAAE,IAAI,EAAEyB,EAAE,GAAGD,EAAE,GAAGxB,EAAE,IAAI,EAAEyB,EAAE,GAAGD,GAAGd,EAAE,GAAG,EAAEG,MAAM,EAAEH,GAAGA,IAAIA,KAAK,EAAE,IAAI,EAAEG,GAAGA,IAAIA,KAAK,EAAE,GAAGA,EAAE,GAAG,KAAK,KAAK,GAAGH,GAAG,EAAEA,EAAEG,EAAEP,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,KAAK,aAAaN,EAAEmL,GAAG,GAAG,KAAK,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW7K,EAAEN,EAAE,CAAC,GAAG,WAAWU,EAAEV,EAAE,CAACsL,GAAG,aAAaD,GAAG,GAAG,CAAC,IAAIhK,EAAE,KAAK,UAAU,IAAIiK,GAAG,CAAC,EAAE,GAAGjK,EAAE,EAAE,CAAC,GAAGR,EAAE,OAAO,KAAK,EAAE,UAAUQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAACA,OAAO,OAAO,KAAK,GAAG,WAAW,KAAK,OAAOrB,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,UAAU,IAAI,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,KAAK,IAAIsB,EAAE,EAAE,KAAK,UAAU,IAAI+J,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG/J,EAAE,GAAG,EAAEA,EAAED,EAAE,OAAO,KAAK,IAAIE,EAAE,CAAC,EAAE,GAAG,IAAI+J,GAAG,CAAC,OAAO/J,EAAE,EAAE,KAAK,KAAK,GAAGA,EAAEF,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,OAAO,aAAarB,EAAE,CAAC,KAAK,UAAU,mBAAmBA,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,OAAO,OAAO,KAAK,OAAO,EAAEA,EAAE,UAAU,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,GAAG,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,oBAAoB,CAAC,EAAE,KAAK,KAAK,oBAAoB,KAAK,MAAM,IAAI,GAAE,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,kBAAkB,EAAE,KAAK,MAAM,KAAK,KAAK,eAAe,EAAE,KAAK,YAAY,KAAK,KAAK,SAAS,KAAK,KAAK,OAAO,KAAK,KAAK,eAAe,IAAI,GAAG,KAAK,QAAQsE,GAAG,KAAK,aAAa,EAAE,KAAK,gBAAgB,IAAI,KAAK,UAAU,CAAC,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,QAAQ,KAAK,kBAAkB,QAAQ,KAAK,IAAI,CAAC,EAAE,KAAK,UAAUtE,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,KAAKA,EAAE,MAAM,CAAC,KAAK,IAAIA,EAAE,IAAI,KAAK,SAASA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,MAAMA,EAAE,MAAM,KAAK,eAAeA,EAAE,eAAe,KAAK,YAAYA,EAAE,YAAY,KAAK,SAASA,EAAE,SAAS,KAAK,OAAOA,EAAE,OAAO,KAAK,eAAe,KAAKA,EAAE,eAAe,CAAC,KAAK,QAAQA,EAAE,QAAQ,KAAK,aAAaA,EAAE,aAAa,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkBA,EAAE,kBAAkB,KAAK,IAAIA,EAAE,IAAI,OAAOuL,GAAG,IAAI,GAAEC,GAAG,IAAI,GAAGC,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEnJ,GAAG,IAAI,EAAEoJ,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,cAAchC,EAAC,CAAC,YAAY,EAAE,IAAI,GAAE,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,KAAK,OAAO,KAAK,SAAS3J,EAAE,KAAK,SAASM,EAAE,KAAK,sBAAsB,IAAK,GAAE,KAAK,sBAAsB,IAAK,GAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,MAAM,KAAKN,EAAEM,EAAE,CAACN,EAAE,wBAAwB,IAAK,KAAI,KAAK,sBAAsBA,EAAE,sBAAsB,OAAO,EAAEA,EAAE,wBAAwB,IAAK,KAAI,KAAK,sBAAsB,OAAO,OAAO,EAAE,CAACA,EAAE,sBAAsB,EAAE,KAAK,SAAS,MAAM,QAAQA,EAAE,SAAS,CAACA,EAAE,SAAS,OAAO,CAACA,EAAE,SAAS,KAAK,SAASA,EAAE,SAAS,KAAK,oBAAoB,CAAC,IAAIM,EAAE,KAAK,SAAS,gBAAgBI,EAAE,OAAO,KAAKJ,EAAE,CAAC,GAAGI,EAAE,OAAO,EAAE,CAAC,IAAIG,EAAEP,EAAEI,EAAE,IAAI,GAAGG,IAAI,IAAK,GAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEQ,EAAER,EAAE,OAAO,EAAEQ,EAAE,IAAI,CAAC,IAAI,EAAER,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,sBAAsB,KAAK,EAAE,CAAC,KAAK,sBAAsB,GAAG,KAAK,kBAAkB,EAAE,EAAE,CAAC,IAAIH,EAAE,KAAK,SAASG,EAAEH,EAAE,WAAW,SAAS,EAAEA,EAAE,gBAAgB,SAASW,EAAEX,EAAE,qBAAqB,EAAE,oBAAoBG,EAAEb,EAAE,CAAC,IAAI,EAAE,KAAK,sBAAsB,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEsB,EAAE,EAAE,OAAO,EAAEA,EAAE,IAAI,CAAC,IAAIC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,IAAI,IAAIkK,GAAG,oBAAoBlK,EAAExB,EAAE,CAACqB,EAAEsK,GAAG,gBAAgBD,GAAGnK,EAAE,CAACoK,GAAG,gBAAgBD,GAAG,IAAIpL,EAAE,CAACiB,EAAE,EAAE,EAAE,IAAIoK,GAAG,CAAC,OAAOrL,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,SAASG,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,IAAI,IAAK,KAAIH,EAAE,iBAAiB,MAAMA,EAAE,uBAAuB,CAAC+K,GAAG,KAAK/K,EAAE,eAAe,CAAC+K,GAAG,aAAa,EAAE,CAACD,GAAG,KAAKxL,EAAE,IAAI,CAAC,OAAOA,EAAE,KAAK,CAAC,EAAEyL,GAAG,cAAcD,GAAG,OAAO,GAAG,CAAC,IAAIA,GAAG,gBAAgBC,GAAG,GAAG,GAAG,MAAMD,GAAG,OAAO,kBAAkB,GAAG,EAAExL,EAAE,IAAIA,EAAE,OAAO,MAAMuL,GAAG,KAAK,EAAE,CAAC,QAAQ,CAACC,GAAG,KAAKxL,EAAE,IAAI,CAAC,aAAauL,GAAG,CAAC,EAAE7K,EAAE,cAAc,MAAM8K,GAAG,cAAc9K,EAAE,YAAY,GAAG,CAAC,IAAI,KAAK,sBAAsBV,EAAEM,EAAEkL,GAAG,GAAG,sBAAsB,EAAE,EAAE,EAAE,CAAC,IAAI3K,EAAE,EAAE,KAAK,SAASQ,EAAE,KAAK,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,SAASC,EAAE,EAAE,WAAW,GAAGC,EAAE,EAAE,WAAW,IAAIC,EAAE,EAAE,WAAW,OAAOC,EAAE,EAAE,OAAOC,EAAE,EAAE,UAAU,GAAG,IAAI,KAAK,GAAG,MAAM,QAAQL,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAE,EAAEF,EAAE,OAAOE,EAAE,EAAE,IAAI,CAAC,IAAImB,EAAErB,EAAEE,GAAGoB,EAAE1B,EAAEyB,EAAE,eAAeG,EAAE,KAAK,IAAIH,EAAE,MAAMpB,EAAE,MAAM,CAACwB,EAAE,KAAK,IAAI,EAAE,MAAM,KAAK,IAAIJ,EAAE,MAAMA,EAAE,MAAMpB,EAAE,MAAMA,EAAE,MAAM,CAAC,CAAC,IAAI,IAAIyB,EAAEF,EAAEuE,EAAEtE,EAAEC,EAAEqE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,KAAKrE,EAAE,CAACsE,EAAE,EAAE,KAAKtE,EAAE,EAAE,CAAC8E,EAAE,EAAE,KAAK9E,EAAE,EAAE,CAAC,EAAE,GAAG,KAAKJ,EAAE/C,EAAEU,EAAEY,EAAEC,EAAEC,EAAE,EAAEiG,EAAEQ,EAAE,CAACpH,IAAI,EAAE,UAAU,KAAK,MAAMsC,EAAE,EAAE,CAAC,EAAE,KAAK,cAAcL,EAAE,cAAcxC,EAAE,KAAKO,EAAE,OAAO,CAAC,IAAIc,EAAE,KAAK,IAAI,EAAED,EAAE,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,MAAMA,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIoB,EAAEnB,EAAEoB,EAAE,EAAED,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAIE,EAAE,EAAE,KAAKH,EAAE,CAACI,EAAE,EAAE,KAAKJ,EAAE,EAAE,CAACK,EAAE,EAAE,KAAKL,EAAE,EAAE,CAAC,EAAE,GAAG,KAAKzB,EAAErB,EAAEU,EAAEY,EAAEC,EAAEC,EAAEyB,EAAEC,EAAEC,EAAE,CAACtC,IAAI,EAAE,UAAU,KAAK,MAAMiC,EAAE,EAAE,CAACxC,EAAE,KAAKO,EAAE,WAAW,IAAI,IAAK,GAAE,GAAG,MAAM,QAAQQ,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAE,EAAEF,EAAE,OAAOE,EAAE,EAAE,IAAI,CAAC,IAAImB,EAAErB,EAAEE,GAAGoB,EAAE1B,EAAEyB,EAAE,eAAeG,EAAE,KAAK,IAAIH,EAAE,MAAMpB,EAAE,MAAM,CAACwB,EAAE,KAAK,IAAI,EAAE,MAAM,KAAK,IAAIJ,EAAE,MAAMA,EAAE,MAAMpB,EAAE,MAAMA,EAAE,MAAM,CAAC,CAAC,IAAI,IAAIyB,EAAEF,EAAEuE,EAAEtE,EAAEC,EAAEqE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAErE,EAAEsE,EAAEtE,EAAE,EAAE8E,EAAE9E,EAAE,EAAE,EAAE,GAAG,KAAKJ,EAAE/C,EAAEU,EAAEY,EAAEC,EAAEC,EAAE,EAAEiG,EAAEQ,EAAE,CAACpH,IAAI,EAAE,UAAU,KAAK,MAAMsC,EAAE,EAAE,CAAC,EAAE,KAAK,cAAcL,EAAE,cAAcxC,EAAE,KAAKO,EAAE,OAAO,CAAC,IAAIc,EAAE,KAAK,IAAI,EAAED,EAAE,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,MAAMA,EAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,IAAIoB,EAAEnB,EAAEoB,EAAE,EAAED,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAIE,EAAEH,EAAEI,EAAEJ,EAAE,EAAEK,EAAEL,EAAE,EAAE,EAAE,GAAG,KAAKzB,EAAErB,EAAEU,EAAEY,EAAEC,EAAEC,EAAEyB,EAAEC,EAAEC,EAAE,CAACtC,IAAI,EAAE,UAAU,KAAK,MAAMiC,EAAE,EAAE,CAACxC,EAAE,KAAKO,EAAE,MAAo0B,IAAI,GAAM,IAAI,GAAM,IAAI,GAAM,IAAI,GAAM,IAAI,GAAK,IAAI,EAAK,IAAI,GAAM,IAAI,GAAK,IAAI,GAAw7F,IAAI,GAAK,IAAI,GAAqkF,IAAI,GAAK,IAAI,GAAW,IAAI,GAAM,IAAI,GAAK,IAAI,GAAM,IAAI,GAAg1FsL,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,IAAI7E,EAAG8E,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,EAAE,KAAK,OAAOrM,EAAE,KAAK,SAASM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKN,EAAE,CAAC,KAAK,SAASM,EAAE,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,IAAIN,EAAEM,EAAEI,EAAE,CAAC,KAAK,SAASG,EAAE,KAAK,8BAA8B,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKb,EAAE,CAAC,KAAK,SAAS,CAACM,EAAE,IAAI,KAAK,OAAO,CAAC,KAAK,sBAAsB,EAAE,EAAE,EAAE,CAAC,IAAIO,EAAEsL,GAAG,WAAWzL,EAAEJ,EAAE,CAAC,MAAM8L,GAAG,WAAWpM,EAAEM,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,8BAA8BO,EAAEb,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO,KAAK,OAAO,KAAKA,EAAE,OAAO,CAAC,KAAK,SAASA,EAAE,SAAS,KAAK,WAAW,CAAC,IAAIA,EAAE,EAAE,KAAK,OAAO,QAAQ,CAAC,OAAO,KAAK,OAAO,eAAeA,EAAE,CAAC,KAAK,UAAUA,EAAE,KAAK,QAAQ,CAAC,MAAO,MAAK,UAAU,GAAG,KAAK,OAAO,QAAQ,CAAC,KAAK,gBAAgB,EAAE,CAAC,OAAO,KAAK,OAAO,IAAIA,EAAE,CAAC,KAAK,SAAS,iBAAiB,EAAE,CAAC,OAAO,KAAK,gBAAgBA,EAAE,OAAO,CAACA,EAAE,OAAO,aAAa,EAAE,EAAE,CAAC,OAAOM,EAAE,KAAKN,EAAE,CAAC,gBAAgB,KAAK,OAAO,CAAC,KAAK,gBAAgBA,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAIa,EAAEb,EAAE,MAAMmM,GAAG,CAAC,EAAE,KAAK,OAAO,IAAItL,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,KAAK,gBAAgBb,EAAE,MAAM,GAAG,EAAEM,EAAE,KAAKN,EAAE,MAAM,CAAC,KAAK,IAAIqB,EAAE,EAAErB,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,KAAK,UAAU,EAAE,OAAOU,IAAI,CAAC,IAAIW,EAAE,GAAGA,EAAE,GAAG,KAAKf,EAAE,KAAKN,EAAE,MAAM,CAAC,gBAAgBa,EAAEQ,EAAE,CAAC,eAAe,EAAE,CAAC,IAAIf,EAAE,KAAK,gBAAgBN,EAAE,MAAM,CAACU,EAAE,KAAK,gBAAgBV,EAAE,IAAI,CAAC,OAAOM,EAAE,GAAGI,EAAE,GAAGA,EAAE,GAAGJ,EAAE,EAAE,cAAc,EAAE,CAAC,OAAON,EAAE,gBAAgB,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAOA,EAAE,gBAAgB,KAAK,CAAC,cAAc,EAAE,CAAC,OAAOA,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,IAAIU,EAAEJ,GAAG,GAAG,gBAAgBN,EAAE,CAACa,EAAE,KAAK,cAAcsL,GAAG,CAAC,aAAanM,EAAE,CAAC,EAAE,KAAK,OAAO,aAAaU,EAAE,CAAC,WAAW,CAAC,MAAO,MAAK,SAAS,CAACG,EAAE,IAAI,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,MAAO,MAAK,UAAUb,EAAE,IAAI,KAAK,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC,OAAOA,EAAE,OAAO,OAAO,KAAK,OAAO,EAAEA,EAAE,WAAW,KAAK,SAAS,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,IAAIqM,GAAG,EAAE,IAAIA,GAAG,EAAE,IAAIA,GAAG,EAAE,IAAIA,GAAG,EAAE,IAAIA,GAAG,EAAE,IAAIA,GAAG,CAAC,KAAK,OAAO,CAACrM,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,OAAO,EAAE,GAAG,KAAKrB,EAAE,CAAC,EAAE,GAAG,KAAKM,EAAE,CAAC,EAAE,GAAG,KAAKI,EAAE,CAAC,EAAE,GAAG,KAAKG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,KAAKQ,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAIf,EAAE,KAAK,OAAO,IAAI,IAAII,EAAE,EAAEA,EAAE,EAAE,IAAI,EAAEA,GAAG,KAAKV,EAAE,OAAOU,GAAG,CAAC,OAAO,KAAK,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAIG,EAAE,KAAK,OAAO,EAAEb,EAAE,SAASqB,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAGC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAGmB,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIE,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIC,EAAE,EAAE,IAAIqE,EAAE,EAAE,IAAI,GAAG3G,EAAE,GAAG,cAAcS,EAAED,EAAEK,EAAEH,EAAEwB,EAAEpB,EAAE6F,EAAEvE,EAAE,CAAC,WAAW,CAACpC,EAAE,GAAG,cAAcS,EAAED,EAAEK,EAAEH,EAAEwB,EAAEpB,EAAE6F,EAAEvE,EAAE,CAAC,WAAW,CAACpC,EAAE,GAAG,cAAcS,EAAE,EAAEI,EAAEF,EAAEuB,EAAE,EAAEyE,EAAEtE,EAAE,CAAC,WAAW,CAACrC,EAAE,GAAG,cAAcS,EAAE,EAAEI,EAAEF,EAAEuB,EAAE,EAAEyE,EAAEtE,EAAE,CAAC,WAAW,CAACxC,EAAE,EAAE,GAAG,cAAc,EAAEe,EAAEqB,EAAEK,EAAE,CAAC,WAAW,CAACtC,EAAE,GAAG,cAAcS,EAAE,EAAEI,EAAED,EAAEsB,EAAED,EAAE0E,EAAErE,EAAE,CAAC,WAAW,SAAStC,EAAE,GAAG,cAAcS,EAAE,EAAEI,EAAED,EAAEsB,EAAED,EAAE0E,EAAErE,EAAE,CAAC,WAAW,CAAC7C,IAAI,GAAG,EAAE,GAAG,cAAcgB,EAAE,EAAEI,EAAED,EAAEsB,EAAED,EAAE0E,EAAErE,EAAE,CAAC,WAAW,SAAS7C,IAAI,GAAG,EAAE,GAAG,cAAc,EAAEmB,EAAEqB,EAAEK,EAAE,CAAC,WAAW,MAAM,MAAU,MAAM,uEAAuE7C,EAAE,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC,GAAGN,EAAE,iBAAiB,IAAK,GAAE,EAAE,iBAAiB,MAAMA,EAAE,uBAAuB,CAAC,GAAG,KAAKA,EAAE,eAAe,CAAC,aAAaA,EAAE,YAAY,KAAK,CAAC,IAAIM,EAAEN,EAAE,SAAS,EAAE,iBAAiB,MAAMM,EAAE,uBAAuB,CAAC,GAAG,KAAKA,EAAE,eAAe,CAAC,aAAaN,EAAE,YAAY,CAAC,OAAO,KAAK,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,CAAoD,OAAnD,GAAG,OAAO,IAAI,EAAE,EAAE,EAAE,CAAsC,GAAG,OAAO,kBAAzC,GAAG,WAAWA,EAAE,OAAO,CAAsC,GAAG,aAAaA,EAAE,YAAY,CAAC,KAAK,iBAAiB,GAAG,CAAC,iBAAiB,EAAE,CAAC,IAAIM,EAAE,KAAK,OAAOI,EAAEV,EAAE,OAAOa,EAAE,CAACb,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,GAAGM,EAAE,GAAG,gBAAgBI,EAAE,CAACG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,IAAIP,EAAE,KAAK,OAAO,IAAI,IAAII,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIG,EAAEP,EAAEI,GAAG,GAAG,GAAG,EAAEG,EAAE,OAAO,EAAE,EAAEb,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,GAAG,EAAEa,EAAE,OAAO,EAAE,EAAEb,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAE,GAAG,EAAEa,EAAE,OAAO,EAAE,EAAEb,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEa,EAAE,gBAAgB,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,IAAIP,EAAE,KAAK,OAAO,IAAI,IAAII,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAGJ,EAAEI,GAAG,gBAAgBV,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,GAAG,GAAG,IAAI,GAAE,GAAG,IAAI,GAAG,GAAG,MAAMC,CAAC,CAAC,aAAa,CAAC,KAAK,iBAAiB,GAAG,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAACK,EAAE,eAAeA,EAAE,QAAQ,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAE,QAAQ,OAAO,IAAI,CAAC,IAAIO,EAAEP,EAAE,QAAQI,GAAG,GAAG,GAAG,iBAAiBG,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,GAAG,wBAAwB,GAAGA,EAAE,iBAAiBA,EAAE,cAAc,CAAC,GAAG,iBAAiBb,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAACM,GAAG,CAACA,EAAE,SAASA,EAAE,QAAQ,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAE,QAAQ,OAAO,IAAI,CAAC,IAAIO,EAAEP,EAAE,QAAQI,GAAG,GAAG,GAAG,iBAAiBG,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,GAAG,wBAAwB,GAAGA,EAAE,iBAAiBA,EAAE,cAAc,CAAC,GAAG,iBAAiBb,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAACM,GAAG,CAACA,EAAE,SAASA,EAAE,QAAQ,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAE,QAAQ,OAAO,IAAI,CAAC,IAAIO,EAAEP,EAAE,QAAQI,GAAG,GAAG,GAAG,iBAAiBG,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,GAAG,wBAAwB,GAAGA,EAAE,iBAAiBA,EAAE,cAAc,CAAC,GAAG,iBAAiBb,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,GAAG,CAACM,GAAG,CAACA,EAAE,SAASA,EAAE,QAAQ,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAE,QAAQ,OAAO,IAAI,CAAC,IAAIO,EAAEP,EAAE,QAAQI,GAAG,GAAG,GAAG,iBAAiBG,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,GAAG,wBAAwB,GAAGA,EAAE,iBAAiBA,EAAE,cAAc,CAAC,GAAG,cAAcb,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,GAAG,CAACM,GAAG,CAACA,EAAE,SAASA,EAAE,QAAQ,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,IAAII,EAAE,EAAEA,EAAEJ,EAAE,QAAQ,OAAO,IAAI,CAAC,IAAIO,EAAEP,EAAE,QAAQI,GAAG,GAAG,GAAG,iBAAiBG,EAAE,iBAAiBA,EAAE,mBAAmB,CAAC,GAAG,wBAAwB,GAAGA,EAAE,iBAAiBA,EAAE,cAAc,CAAC,GAAG,cAAcb,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,IAAIC,IAAoGqM,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,KAAKjL,EAAE,KAAK,KAAK,KAAK,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,QAAQ,EAAE,MAAMrB,EAAE,EAAE,MAAMM,EAAE,EAAE,EAAEI,EAAE,EAAE,MAAMG,EAAE,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,KAAK,MAAM,IAAO,IAAI,GAAK,IAAI,GAAE,EAAE,EAAE,EAAE,CAAI,IAAI,GAAM,IAAI,GAAM,IAAI,GAAM,IAAI,GAAM,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAIyL,GAAM,IAAI,GAAuigB,IAAI,EAAK,IAAI,EAAK,IAAI,GAAK,IAAI,GAAM,IAAI,GAAM,IAAI,EAAK,IAAI,EAAsvE,IAAI,EAAK,IAAI,EAAo9B,IAAI,GAAK,IAAI,GAAM,IAAI,GAAM,IAAI,EAA8yG,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE1H,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM5E,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,EAAE,EAAEC,EAAEC,EAAE,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC,KAAK,MAAMvB,IAA6e,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAGuB,IAAI,IAAIA,IAAI,GAAG,MAAU,MAAM,mFAAmF,CAAkC,MAA3B,CAAC,MAAMvB,EAAE,OAAOM,EAAE,MAAMkB,EAAE,CAASX,EAAE,EAAEQ,EAAE,EAAE,EAAEE,EAAEb,EAAEY,EAAE,CAAC,KAAK,eAAe,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,gBAAgB,KAAK,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKtB,EAAE,CAAC,KAAK,OAAO,IAAI8H,GAAG,OAAO,OAAO,EAAE,CAAC9H,EAAE,MAAM,CAAC,CAAC,KAAK,gBAAgBA,EAAE,gBAAgB,KAAK,OAAO,EAAE,CAAC,IAAIM,EAAE,MAAM,OAAON,EAAE,CAAC,OAAO,KAAK,kBAAkB,OAAO,EAAE,gBAAgB,KAAK,iBAAiBM,IAAkb0M,GAAG,MAAM/M,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,cAAc,KAAK,WAAW,CAAC,MAAMD,EAAE,OAAOM,EAAE,MAAMI,EAAE,cAAcG,EAAE,eAAe,EAAE,cAAcQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,MAAMR,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,KAAK,MAAMQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAEC,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,GAAGhB,EAAEJ,EAAEN,EAAEqB,EAAE,EAAE,EAAE,CAACM,EAAE,IAAI,IAAI,IAAI,EAAE,GAAGjB,EAAEJ,EAAE,CAACN,EAAEqB,EAAE,EAAE,EAAE,CAACM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE3B,EAAEU,EAAEJ,EAAEO,EAAEQ,EAAE,EAAE,CAACM,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG3B,EAAEU,EAAE,CAACJ,EAAEO,EAAEQ,EAAE,EAAE,CAACM,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG3B,EAAEM,EAAEI,EAAEG,EAAE,EAAE,EAAE,CAACc,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG3B,EAAEM,EAAE,CAACI,EAAEG,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAES,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,SAASG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI2G,EAAEnF,EAAEsE,EAAEc,EAAEf,EAAES,EAAEO,EAAErF,EAAE,EAAEsF,EAAEjB,EAAE,EAAEkB,EAAE,EAAE,EAAEC,EAAElB,EAAE,EAAEmB,EAAGX,EAAE,EAAEY,EAAG,EAAEC,EAAG,EAAEC,EAAG,IAAI,EAAE,IAAI,IAAIC,EAAG,EAAEA,EAAGJ,EAAG,IAAK,CAAC,IAAIK,EAAGD,EAAGT,EAAEE,EAAE,IAAI,IAAIwE,EAAG,EAAEA,EAAGtE,EAAE,IAAoB,EAAG,IAAVsE,EAAG3E,EAAEE,GAAWvF,EAAE,EAAGH,GAAGmG,EAAG/F,EAAE,EAAGH,GAAG2F,EAAEpH,EAAE,KAAKyH,EAAG,EAAEA,EAAG,EAAEA,EAAG,EAAE,CAAC,EAAG,GAAG,EAAE,EAAGjG,GAAG,EAAE,EAAGC,GAAG,EAAE,EAAE,EAAE,GAAGxB,EAAE,KAAKwH,EAAG,EAAEA,EAAG,EAAEA,EAAG,EAAE,CAACvH,EAAE,KAAKyL,EAAGxF,EAAE,CAACjG,EAAE,KAAK,EAAEwH,EAAGf,EAAE,CAAC,GAAI,EAAG,IAAI,IAAIe,EAAG,EAAEA,EAAGf,EAAE,IAAK,IAAI,IAAIgB,EAAG,EAAEA,EAAGxB,EAAE,IAAK,CAAC,IAAIwF,EAAGxL,EAAEwH,EAAGN,EAAEK,EAAGkE,EAAGzL,EAAEwH,EAAGN,GAAGK,EAAG,GAAGmE,EAAG1L,GAAGwH,EAAG,GAAGN,GAAGK,EAAG,GAAG,EAAGvH,GAAGwH,EAAG,GAAGN,EAAEK,EAAG,EAAE,KAAKiE,EAAGC,EAAG,EAAG,CAAC,EAAE,KAAKA,EAAGC,EAAG,EAAG,CAAC,GAAI,EAAE,EAAE,SAASzL,EAAEoH,EAAGT,EAAE,CAAC,GAAGS,EAAG,GAAGD,GAAI,KAAK,EAAE,CAAC,OAAO,MAAM,KAAK7I,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,MAAMA,EAAE,OAAOA,EAAE,MAAMA,EAAE,cAAcA,EAAE,eAAeA,EAAE,cAAc,GAAGoN,GAAG,MAAMnN,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,kBAAkB,KAAK,WAAW,CAAC,OAAOD,EAAE,OAAOM,EAAE,YAAYI,EAAE,eAAeG,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,IAAI,EAAEP,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMI,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMG,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,IAAIQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAEjB,EAAE,EAAEkB,EAAE,KAAK,GAAG,EAAExB,EAAEyB,EAAEnB,EAAEoB,EAAE,EAAEF,EAAEC,EAAEE,EAAEjB,EAAE,EAAE,EAAE,EAAEG,EAAE,EAAEiC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,IAAI,IAAIE,EAAE,EAAEA,GAAGtB,EAAE,IAAI,CAAC,IAAIuB,EAAE,EAAEC,EAAE,EAAEqE,EAAE,EAAE,EAAE,EAAE,GAAGvE,GAAGvC,EAAE,CAAC,IAAI2H,EAAEpF,EAAEvC,EAAE4H,EAAED,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC9G,EAAEvB,EAAE,KAAK,IAAIsI,EAAE,CAAC,EAAEtI,EAAE,KAAK,IAAIsI,EAAE,CAAC,EAAE,CAACtI,EAAE,KAAK,IAAIsI,EAAE,CAAC,EAAED,EAAE7G,UAAUyB,GAAGvC,EAAE,EAAE,CAAC,IAAI2H,GAAGpF,EAAEvC,GAAG,EAAE,EAAE,CAACa,EAAE8G,EAAE/H,EAAE,EAAEN,EAAE,EAAE,EAAE,EAAEwB,EAAE6G,EAAE5G,MAAM,CAAC,IAAI4G,GAAGpF,EAAEvC,EAAE,GAAGA,EAAE4H,EAAED,EAAE,KAAK,GAAG,EAAE,EAAE9G,EAAEvB,EAAE,KAAK,IAAIsI,EAAE,CAAC,EAAEtI,EAAE,KAAK,IAAIsI,EAAE,CAAC,EAAEtI,EAAE,KAAK,IAAIsI,EAAE,CAAC,EAAE9G,EAAEC,EAAE4G,EAAE7G,EAAE,IAAIiG,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAEvE,EAAExB,EAAE,CAAC,CAACuG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAGpH,EAAEoC,IAAItB,IAAI,EAAE,IAAId,GAAG,IAAI,IAAIwH,EAAE,EAAEA,GAAGxH,EAAE,IAAI,CAAC,IAAIyH,EAAED,EAAExH,EAAE0H,EAAED,EAAE,KAAK,GAAG,EAAEE,EAAE,KAAK,IAAID,EAAE,CAACE,EAAE,KAAK,IAAIF,EAAE,CAAC,EAAE,EAAE,CAACf,EAAEiB,EAAE,EAAE,EAAEtF,EAAE,EAAE,EAAEqE,EAAEgB,EAAE,EAAE,KAAKzF,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACD,EAAE,IAAI,CAAC0E,EAAEiB,EAAE,EAAEjB,EAAEgB,EAAE,CAAC1F,EAAE,WAAW,CAAC,EAAE,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACxB,EAAE,KAAKgH,EAAEL,EAAER,EAAE,CAAC,GAAGxE,EAAE,EAAE,CAAC,IAAIoF,GAAGpF,EAAE,GAAG,EAAE,IAAI,IAAIqF,EAAE,EAAEA,EAAEzH,EAAE,IAAI,CAAC,IAAI0H,EAAEF,EAAEC,EAAEE,EAAEH,EAAEC,EAAE,EAAEG,EAAExF,EAAE,EAAEqF,EAAEI,EAAEzF,EAAE,EAAEqF,EAAE,EAAE,EAAE,KAAKC,EAAEC,EAAEC,EAAE,CAACpH,EAAE,KAAKmH,EAAEE,EAAED,EAAE,GAAG,KAAK,SAASpH,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKtB,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,OAAOA,EAAE,OAAOA,EAAE,YAAYA,EAAE,eAAeA,EAAE,eAAe,GAAG,GAAG,MAAMC,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,WAAW,CAAC,OAAOD,EAAE,SAASM,EAAE,WAAWI,EAAE,YAAYG,EAAE,CAAC,EAAE,KAAK,IAAI,EAAEP,EAAE,CAAC,IAAI,EAAE,EAAE,CAACe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,IAAIC,EAAE,EAAEC,EAAE,EAAED,GAAGlB,EAAE,IAAI,GAAG,EAAE,CAAC,IAAIoB,EAAEhB,EAAEc,EAAElB,EAAEO,EAAE,EAAE,EAAEb,EAAE,KAAK,IAAI0B,EAAE,CAAC,EAAE,EAAE1B,EAAE,KAAK,IAAI0B,EAAE,CAACL,EAAE,KAAKC,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGD,EAAEI,GAAGzB,EAAE,GAAG,EAAE,EAAE,GAAGqB,EAAEI,EAAE,GAAGzB,EAAE,GAAG,EAAE,EAAE,KAAKuB,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,GAAGlB,EAAE,IAAI,EAAE,KAAKkB,EAAEA,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEH,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKrB,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,OAAOA,EAAE,SAASA,EAAE,WAAWA,EAAE,YAAY,GAAGqN,GAAG,MAAMpN,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,mBAAmB,KAAK,WAAW,CAAC,UAAUD,EAAE,aAAaM,EAAE,OAAOI,EAAE,eAAeG,EAAE,eAAe,EAAE,UAAUQ,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,IAAIC,EAAE,KAAK,EAAE,KAAK,MAAMT,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,IAAIU,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,EAAE,EAAE,CAACmB,EAAEpC,EAAE,EAAEqC,EAAE,EAAE,GAAG,CAAC1B,IAAI,CAAC,IAAIrB,EAAE,GAAGkD,EAAE,CAAC,EAAE,CAAC5C,EAAE,GAAG4C,EAAE,CAAC,EAAE,EAAE,KAAK,SAAS3B,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,SAASuB,GAAG,CAAC,IAAIE,EAAE,IAAI,EAAEqE,EAAE,IAAI,EAAE,EAAE,EAAEC,GAAGnH,EAAEN,GAAGU,EAAE,IAAI,IAAIuH,EAAE,EAAEA,GAAG,EAAE,IAAI,CAAC,IAAII,EAAE,EAAE,CAACC,EAAEL,EAAE,EAAEM,EAAED,GAAGhI,EAAEN,GAAGA,EAAE,IAAI,IAAIwI,EAAE,EAAEA,GAAG3H,EAAE,IAAI,CAAC,IAAI4H,EAAED,EAAE3H,EAAE6H,EAAED,EAAE,EAAE,EAAEE,EAAE,KAAK,IAAID,EAAE,CAACE,EAAG,KAAK,IAAIF,EAAE,CAAC,EAAE,EAAEH,EAAEI,EAAE,EAAE,EAAE,CAACL,EAAE5H,EAAEoC,EAAE,EAAE,EAAEyF,EAAEK,EAAGpH,EAAE,KAAKgG,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACrE,EAAE,IAAIwF,EAAElB,EAAEmB,EAAG,CAAC,WAAW,CAACnH,EAAE,KAAK0B,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACzB,EAAE,KAAK+G,EAAE,EAAEH,EAAE,CAACD,EAAE,KAAK,IAAI,CAAC,EAAE,KAAKA,EAAE,CAAC,IAAI,IAAIJ,EAAE,EAAEA,EAAEpH,EAAE,IAAI,IAAI,IAAIwH,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIC,EAAE,EAAED,GAAGJ,GAAGM,EAAE,EAAEF,EAAE,GAAGJ,GAAGO,EAAE,EAAEH,EAAE,GAAGJ,EAAE,GAAGQ,EAAE,EAAEJ,GAAGJ,EAAE,IAAIjI,EAAE,GAAGqI,IAAI,KAAK9G,EAAE,KAAK+G,EAAEC,EAAEE,EAAE,CAAC,GAAG,IAAInI,EAAE,GAAG+H,IAAI,EAAE,KAAK9G,EAAE,KAAKgH,EAAEC,EAAEC,EAAE,CAAC,GAAG,GAAG,EAAE,SAAS1F,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,SAASG,EAAE,EAAE,CAAC,IAAIsE,EAAE7F,EAAE,EAAE,IAAI,EAAE8F,EAAE,IAAI,EAAEQ,EAAE,EAAEI,EAAElF,IAAI,CAAC,EAAEnD,EAAEM,EAAEgI,EAAEnF,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,IAAIqF,EAAE,EAAEA,GAAG3H,EAAE,IAAI,EAAE,KAAK,EAAEiC,EAAEwF,EAAE,EAAE,CAAC7G,EAAE,KAAK,EAAE6G,EAAE,EAAE,CAAC5G,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI6G,EAAE5G,EAAE,IAAI,IAAI6G,EAAE,EAAEA,GAAG3H,EAAE,IAAI,CAAC,IAAI6H,EAAEF,EAAE3H,EAAE,EAAE,EAAE8H,EAAE,KAAK,IAAID,EAAE,CAACE,EAAG,KAAK,IAAIF,EAAE,CAAC,EAAE,EAAEL,EAAEO,EAAG,EAAE,EAAE9F,EAAEwF,EAAE,EAAE,EAAED,EAAEM,EAAEnH,EAAE,KAAKiG,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAChG,EAAE,KAAK,EAAE6G,EAAE,EAAE,CAAC,EAAE,EAAEK,EAAE,GAAG,GAAG,EAAE,EAAEC,EAAG,GAAGN,EAAE,GAAG5G,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI8G,EAAE,EAAEA,EAAE3H,EAAE,IAAI,CAAC,IAAI4H,EAAEjB,EAAEgB,EAAEE,EAAEH,EAAEC,EAAE,IAAI,CAAC,EAAEjH,EAAE,KAAKmH,EAAEA,EAAE,EAAED,EAAE,CAAClH,EAAE,KAAKmH,EAAE,EAAEA,EAAED,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS1F,EAAEkF,EAAE9E,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG8E,GAAG,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKjI,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,UAAUA,EAAE,aAAaA,EAAE,OAAOA,EAAE,eAAeA,EAAE,eAAeA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,GAAG,GAAG,MAAMC,UAAUoN,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,EAAErN,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,EAAE,CAAC,KAAK,KAAK,eAAe,KAAK,WAAW,CAAC,OAAOrB,EAAE,OAAOM,EAAE,eAAeI,EAAE,eAAeG,EAAE,UAAU,EAAE,WAAWQ,EAAE,YAAY,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIpB,EAAED,EAAE,OAAOA,EAAE,OAAOA,EAAE,eAAeA,EAAE,eAAeA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,GAAGsN,GAAG,MAAMrN,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,qBAAqB,KAAK,WAAW,CAAC,SAASD,EAAE,QAAQM,EAAE,OAAOI,EAAE,OAAOG,EAAE,CAAC,IAAI,EAAE,EAAE,CAACQ,EAAE,EAAE,CAAC,EAAER,EAAE,CAACS,EAAEZ,EAAE,CAACa,GAAG,CAAC,KAAK,aAAa,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEF,EAAE,EAAE,CAAC,CAACR,IAAI,EAAE,KAAK,sBAAsB,CAAC,KAAK,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAIqC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEqE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,EAAElH,EAAE,OAAO,GAAG,EAAE,EAAEA,EAAE,EAAE,GAAG4C,EAAE,CAACxB,EAAEpB,EAAE,EAAE,GAAG6C,EAAE,CAACzB,EAAEpB,EAAE,EAAE,GAAGkH,EAAE,CAAC,EAAEtE,EAAEC,EAAEqE,EAAEvE,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEuE,EAAE,EAAEC,EAAE,EAAE,CAAC,IAAI,IAAIQ,EAAE,EAAEA,GAAG,EAAE,IAAI,CAAC,EAAEA,GAAG,EAAE,CAAC,IAAII,EAAEpF,EAAE,OAAO,CAAC,KAAKE,EAAE8E,EAAE,EAAE,CAACK,EAAEpF,EAAE,OAAO,CAAC,KAAKC,EAAE8E,EAAE,EAAE,CAACM,EAAE,EAAEN,EAAE,IAAI,IAAIO,EAAE,EAAEA,GAAGD,EAAE,IAAI,IAAI,GAAGN,IAAI,EAAE,EAAEA,GAAGO,GAAGH,EAAE,EAAEJ,GAAGO,GAAGH,EAAE,OAAO,CAAC,KAAKC,EAAEE,EAAED,EAAE,CAAC,IAAI,IAAIN,EAAE,EAAEA,EAAE,EAAE,IAAI,IAAI,IAAII,EAAE,EAAEA,EAAE,GAAG,EAAEJ,GAAG,EAAE,IAAI,CAAC,IAAIK,EAAE,KAAK,MAAMD,EAAE,EAAE,CAAC,EAAE,GAAI,GAAG5G,EAAEgG,EAAEQ,GAAGK,EAAE,GAAG,CAAC7G,EAAEgG,EAAEQ,EAAE,GAAGK,GAAG,CAAC7G,EAAEgG,EAAEQ,GAAGK,GAAG,GAAG7G,EAAEgG,EAAEQ,GAAGK,EAAE,GAAG,CAAC7G,EAAEgG,EAAEQ,EAAE,GAAGK,EAAE,GAAG,CAAC7G,EAAEgG,EAAEQ,EAAE,GAAGK,GAAG,GAAG,SAAShH,EAAE,EAAE,CAAC,IAAI4B,EAAE,IAAI,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAGD,EAAE,WAAW,CAAC,eAAeD,EAAE,CAAC,EAAEE,EAAE,GAAGD,EAAE,EAAE,EAAEC,EAAE,GAAGD,EAAE,EAAE,EAAEC,EAAE,GAAGD,EAAE,EAAE,SAAS3B,GAAG,CAAC,IAAI0B,EAAE,IAAI,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAG,IAAIC,EAAEL,EAAEG,EAAE,CAAC,EAAE,KAAK,GAAG,GAAGuE,EAAEzE,EAAEE,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,KAAKE,EAAE,EAAEqE,EAAE,CAAC,GAAG,CAAChG,GAAG,CAAC,SAASA,GAAG,CAAC,IAAI,IAAIyB,EAAE,EAAEA,EAAE5B,EAAE,OAAO,GAAG,EAAE,CAAC,IAAI6B,EAAE7B,EAAE4B,EAAE,GAAGE,EAAE9B,EAAE4B,EAAE,GAAGuE,EAAEnG,EAAE4B,EAAE,GAAK,KAAK,IAAIC,EAAEC,EAAEqE,EAAE,CAAqB,IAAlB,KAAK,IAAItE,EAAEC,EAAEqE,EAAE,CAAS,KAAKtE,EAAE,KAAK,EAAED,EAAE,IAAI,GAAGE,EAAE,KAAK,EAAEF,EAAE,IAAI,GAAGuE,EAAE,KAAK,EAAEvE,EAAE,IAAI,KAAK,SAASxB,EAAE,EAAE,CAAC,EAAE,KAAKwB,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,SAASvB,EAAE,EAAE,EAAE,CAAC,IAAIyB,EAAEF,EAAE,EAAE,EAAE,EAAEjD,EAAEmD,EAAE,GAAG,EAAE,EAAEnD,EAAEmD,EAAE,GAAG,EAAE,EAAEnD,EAAEmD,EAAE,GAAG,SAASxB,GAAG,CAAC,IAAIsB,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEqE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEQ,EAAE,IAAI,EAAE,IAAI,IAAII,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAE,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,CAACnF,EAAE,IAAI,EAAEmF,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAClF,EAAE,IAAI,EAAEkF,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,EAAE,IAAIhH,EAAEiH,EAAE,GAAGjH,EAAEiH,EAAE,GAAG,CAACb,EAAE,IAAIpG,EAAEiH,EAAE,GAAGjH,EAAEiH,EAAE,GAAG,CAACL,EAAE,IAAI5G,EAAEiH,EAAE,GAAGjH,EAAEiH,EAAE,GAAG,CAACd,EAAE,KAAKvE,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAIC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAIoF,EAAEzF,EAAE0E,EAAE,CAAC,EAAE,EAAEc,EAAE,EAAErF,EAAEsF,EAAE,CAAC,EAAEd,EAAEa,EAAE,EAAEpF,EAAEqF,EAAE,CAAC,EAAEN,EAAEK,EAAE,EAAEnF,EAAEoF,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGtF,EAAE,IAAI,IAAI,EAAEC,GAAGD,EAAE,EAAE,GAAGE,EAAE,IAAI,GAAGA,EAAE,IAAI,IAAI,EAAED,GAAGsE,EAAE,EAAE,KAAK,GAAG,IAAI,SAAS1E,EAAE,EAAE,CAAC,OAAO,KAAK,MAAMG,EAAE,EAAE,CAACA,EAAE,EAAE,CAAC,SAASF,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAACE,EAAE,EAAE,KAAK,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKjD,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,SAASA,EAAE,QAAQA,EAAE,OAAOA,EAAE,OAAO,GAAGuN,GAAG,MAAMtN,UAAUqN,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI5M,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,EAAEG,EAAE,EAAEH,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAACG,EAAE,CAACH,EAAE,EAAE,CAACG,EAAEH,EAAE,EAAEG,EAAE,CAACH,EAAE,EAAEG,EAAEH,EAAE,CAACG,EAAE,CAACH,EAAE,EAAE,CAACG,EAAEH,EAAE,EAAEG,EAAE,CAACH,EAAE,EAAEG,EAAEH,EAAE,EAAE,CAACA,EAAE,EAAE,CAACG,EAAEH,EAAE,EAAE,CAACG,EAAE,CAACH,EAAE,EAAEG,EAAEH,EAAE,EAAEG,EAAE,CAA+Q,MAAM,EAAlR,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAWb,EAAEM,EAAE,CAAC,KAAK,KAAK,uBAAuB,KAAK,WAAW,CAAC,OAAON,EAAE,OAAOM,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIL,EAAED,EAAE,OAAOA,EAAE,OAAO,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAEwN,GAAG,IAAI,EAAE,GAAG,IAAIjL,GAAG,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,SAASvC,EAAE,eAAeM,EAAE,CAACN,IAAI,KAAK,CAAC,IAAIa,EAAW,IAAG,EAAG,EAAE,KAAK,IAAIK,GAAGZ,EAAE,CAACe,EAAErB,EAAE,UAAU,CAAC,EAAEA,EAAE,aAAa,WAAW,CAAC,EAAEqB,EAAEA,EAAE,MAAM,EAAE,MAAMC,EAAE,CAAC,EAAE,EAAE,EAAE,CAACC,EAAE,CAAC,IAAI,IAAI,IAAI,CAACC,EAAE,KAAY,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAGN,EAAE,KAAKM,EAAE,CAAC,EAAE,GAAGN,EAAE,KAAKM,EAAE,EAAE,CAAC,EAAE,GAAGN,EAAE,KAAKM,EAAE,EAAE,GAAG,EAAE,GAAGA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,GAAGA,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,EAAEmB,EAAE,EAAEC,GAAG,GAAG,GAAG,EAAE,oBAAoB,EAAEzB,EAAE,GAAG,CAACwB,EAAE,oBAAoB,EAAExB,EAAE,GAAG,CAACyB,EAAE,oBAAoB,EAAEzB,EAAE,GAAG,CAAC,GAAG,UAAUkM,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,MAAM,EAAE,EAAE3M,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,EAAEA,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,EAAEA,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,MAAMiC,EAAE,EAAEjC,EAAE,CAAC,GAAG,KAAK,MAAMiC,EAAE,EAAEjC,EAAE,CAAC,GAAG,KAAK,MAAMiC,EAAE,EAAEjC,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,MAAMkC,EAAE,EAAElC,EAAE,CAAC,GAAG,KAAK,MAAMkC,EAAE,EAAElC,EAAE,CAAC,GAAG,KAAK,MAAMkC,EAAE,EAAElC,EAAE,GAAG,EAAEW,EAAE,KAAKA,EAAE,IAAIA,EAAE,KAAKA,EAAE,IAAIA,EAAE,KAAKA,EAAE,IAAI,IAAI,IAAIyB,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIC,GAAGD,EAAE,GAAG,EAAEE,EAAE3B,EAAEyB,GAAGuE,EAAEhG,EAAE0B,GAAG,EAAE,GAAG3B,EAAE0B,IAAIwE,EAAE,GAAGlG,EAAE2B,IAAI+E,EAAE,GAAG9E,EAAE,GAAGqE,IAAIa,EAAE,GAAGb,EAAE,GAAGrE,IAAI,KAAK1B,GAAGA,EAAE4G,IAAImF,GAAG,IAAI/L,EAAE4G,GAAG,OAAO,EAAE,IAAI3G,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACA,EAAE,KAAK+F,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAE,EAAEY,GAAG,MAAMJ,KAAKxG,IAAI,EAAEwG,GAAG,CAAC,OAAO3G,EAAE2B,GAAG,OAAO3B,EAAE4B,GAAG,OAAOsK,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI7L,KAAKF,EAAE,GAAGA,EAAEE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAOmB,GAAGrB,EAAEE,GAAG,GAAG,oBAAoB,EAAE,EAAE,CAAC,GAAG,oBAAoB,EAAEmB,EAAE,CAACpB,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAACA,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAK1B,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,QAAQ,KAAK,mBAAmB,IAAI,KAAK,YAAY,CAAC,EAAE,KAAK,gBAAgB,KAAK,UAAU,CAAC,GAAE,sCAAsC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,eAAeV,EAAE,CAAC,OAAO,KAAK,SAASU,EAAEJ,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAIA,EAAE,EAAE,CAAC,IAAI,IAAII,EAAE,EAAEA,GAAGV,EAAE,IAAI,EAAE,KAAK,KAAK,SAASU,EAAEV,EAAE,CAAC,CAAC,OAAOM,EAAE,gBAAgB,EAAE,EAAE,CAAC,IAAIA,EAAE,EAAE,CAAC,IAAI,IAAII,EAAE,EAAEA,GAAGV,EAAE,IAAI,EAAE,KAAK,KAAK,WAAWU,EAAEV,EAAE,CAAC,CAAC,OAAOM,EAAE,WAAW,CAAC,IAAIN,EAAE,KAAK,YAAY,CAAC,OAAOA,EAAEA,EAAE,OAAO,GAAG,WAAW,EAAE,KAAK,mBAAmB,CAAC,GAAG,KAAK,iBAAiB,KAAK,gBAAgB,SAASA,EAAE,GAAG,CAAC,KAAK,YAAY,OAAO,KAAK,gBAAgB,KAAK,YAAY,CAAC,EAAE,IAAIM,EAAE,EAAE,CAACI,EAAEG,EAAE,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,IAAIQ,EAAE,EAAEA,GAAGrB,EAAE,IAAI,EAAE,KAAK,SAASqB,EAAErB,EAAE,CAAC,GAAGU,EAAE,WAAWG,EAAE,CAACP,EAAE,KAAK,EAAE,CAAC,EAAEI,EAAE,MAAO,MAAK,gBAAgBJ,EAAEA,EAAE,kBAAkB,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,YAAY,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,IAAII,EAAE,KAAK,YAAY,CAACG,EAAE,EAAE,EAAEH,EAAE,OAAOW,EAAE,AAAM,EAAN,GAAQrB,EAAEU,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAEY,EAAE,KAAK,GAAG,GAAG,GAAG,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAEZ,EAAEG,GAAGQ,EAAEC,EAAE,EAAE,EAAET,EAAE,UAAUS,EAAE,EAAE,EAAET,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,GAAG,EAAE,EAAEH,EAAEG,KAAKQ,EAAE,OAAOR,GAAG,EAAE,GAAG,IAAIU,EAAEb,EAAEG,GAAGY,EAAEf,EAAEG,EAAE,GAAGU,EAAEG,GAAGL,EAAEE,GAAGE,EAAE,OAAOZ,EAAEa,IAAI,EAAE,GAAG,WAAW,EAAE,EAAE,CAAC,IAAIb,EAAEb,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAIqB,EAAE,KAAK,SAASR,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC,EAAEP,IAAIe,EAAE,UAAU,IAAI,EAAE,IAAI,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,IAAIA,EAAE,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAIX,EAAE,KAAK,eAAeV,EAAE,CAAC,OAAO,KAAK,WAAWU,EAAEJ,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,IAAII,EAAE,IAAI,EAAEG,EAAE,EAAE,CAAC,EAAE,EAAE,CAACQ,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,GAAE,IAAI,IAAIK,EAAE,EAAEA,GAAG1B,EAAE,IAAI,CAAC,IAAI2B,EAAED,EAAE1B,EAAE,EAAE0B,GAAG,KAAK,aAAaC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAIL,EAAE,OAAO,UAAUC,EAAE,KAAK,IAAIV,EAAE,GAAG,EAAE,CAACW,EAAE,KAAK,IAAIX,EAAE,GAAG,EAAE,CAACY,EAAE,KAAK,IAAIZ,EAAE,GAAG,EAAE,CAAC,GAAGS,IAAI,EAAEC,EAAEb,EAAE,IAAI,EAAE,EAAE,EAAE,EAAEc,GAAGF,IAAI,EAAEE,EAAEd,EAAE,IAAI,EAAE,EAAE,EAAE,EAAEe,GAAGH,GAAGZ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,aAAaG,EAAE,GAAGH,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,aAAaG,EAAE,GAAG,EAAE,CAACQ,EAAE,GAAG,aAAaR,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAIa,EAAE,EAAEA,GAAG1B,EAAE,IAAI,CAAC,GAAG,EAAE0B,GAAG,EAAEA,EAAE,GAAG,OAAO,CAAC,EAAEA,GAAGL,EAAEK,EAAE,GAAG,OAAO,CAAC,EAAE,aAAab,EAAEa,EAAE,GAAGb,EAAEa,GAAG,CAAC,EAAE,QAAQ,QAAgB,CAAC,EAAE,WAAW,CAAC,IAAIC,EAAE,KAAK,KAAKhB,EAAEE,EAAEa,EAAE,GAAG,IAAIb,EAAEa,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAEA,GAAG,aAAa,EAAE,iBAAiB,EAAEC,EAAE,CAAC,CAAC,EAAED,GAAG,aAAab,EAAEa,GAAG,EAAEA,GAAG,CAAC,GAAGpB,IAAI,CAAC,EAAE,CAAC,IAAIoB,EAAE,KAAK,KAAKf,EAAE,EAAE,GAAG,IAAI,EAAEX,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAGA,EAAEa,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,EAAEb,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC0B,GAAG,IAAI,IAAIC,EAAE,EAAEA,GAAG3B,EAAE,IAAI,EAAE2B,GAAG,aAAa,EAAE,iBAAiBd,EAAEc,GAAGD,EAAEC,EAAE,CAAC,CAACN,EAAEM,GAAG,aAAad,EAAEc,GAAG,EAAEA,GAAG,CAAC,MAAM,CAAC,SAASd,EAAE,QAAQ,EAAE,UAAUQ,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,MAAO,MAAK,mBAAmBrB,EAAE,mBAAmB,KAAK,QAAQ,CAAC,IAAIA,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,QAAQ,UAAU,eAAe,CAAC,CAAC,MAAO,GAAE,mBAAmB,KAAK,mBAAmB,EAAE,KAAK,KAAK,KAAKA,EAAE,SAAS,EAAE,CAAC,MAAO,MAAK,mBAAmBA,EAAE,mBAAmB,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,eAAe,CAAC,EAAE,KAAK,KAAK,eAAe,KAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,KAAK,QAAQI,EAAE,KAAK,QAAQG,EAAE,KAAK,YAAY,EAAE,KAAK,UAAUQ,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIX,EAAEJ,EAAEO,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,UAAU,KAAK,YAAYQ,EAAE,KAAK,IAAI,EAAE,QAAgB,KAAK,EAAE,GAAG,GAAGR,EAAE,KAAK,EAAEA,GAAG,GAAGA,EAAE,WAAmBQ,AAAM,EAANA,EAAI,EAAIR,GAAG,KAAK,aAAa,CAAC,GAAG,CAACQ,IAAI,IAAIR,EAAE,EAAE,CAACA,EAAE,GAAIA,GAAG,IAAI,EAAE,KAAK,YAAYb,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,QAAQ,KAAK,IAAI,EAAE,CAACsB,EAAE,KAAK,GAAG,KAAK,QAAQ,KAAK,IAAI,EAAE,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC,IAAIC,EAAE,KAAK,IAAI,KAAK,UAAU,CAACC,EAAE,KAAK,IAAI,KAAK,UAAU,CAACC,EAAE,EAAE,KAAK,GAAGC,EAAEJ,EAAE,KAAK,GAAG,EAAEG,EAAEF,EAAEG,EAAEF,EAAE,KAAK,GAAG,EAAEC,EAAED,EAAEE,EAAEH,EAAE,KAAK,GAAG,OAAOb,EAAE,IAAI,EAAEY,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKtB,EAAE,CAAC,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQA,EAAE,QAAQ,KAAK,YAAYA,EAAE,YAAY,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAU,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,QAAQ,KAAK,QAAQ,EAAE,QAAQ,KAAK,QAAQ,EAAE,YAAY,KAAK,YAAY,EAAE,UAAU,KAAK,UAAU,EAAE,WAAW,KAAK,WAAW,EAAE,UAAU,KAAK,UAAUA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAGA,EAAE,GAAG,KAAK,GAAGA,EAAE,GAAG,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQA,EAAE,QAAQ,KAAK,YAAYA,EAAE,YAAY,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,UAAUA,EAAE,UAAU,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMA,EAAEM,EAAEI,EAAEA,EAAEG,EAAE,EAAEQ,EAAE,CAAC,KAAK,WAAW,CAAC,EAAE,KAAK,KAAK,aAA+W,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAGoM,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,EAAE,KAAK,KAAK,mBAAmB,KAAK,OAAOzN,EAAE,KAAK,OAAOM,EAAE,KAAK,UAAUI,EAAE,KAAK,QAAQG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIH,EAAEJ,EAAEO,EAAE,KAAK,OAAO,EAAEA,EAAE,OAAOQ,GAAG,GAAG,KAAK,OAAO,EAAE,IAAIrB,EAAE,EAAE,KAAK,MAAMqB,EAAE,CAAC,EAAEA,EAAE,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,IAAIC,EAAEC,EAAE,KAAK,QAAQ,EAAE,EAAE,EAAEV,GAAG,EAAE,GAAG,IAAI,GAAG,WAAWA,EAAE,GAAGA,EAAE,GAAG,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE,IAAI,IAAIW,EAAEX,EAAE,EAAE,GAAGY,EAAEZ,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAEA,GAAG,EAAE,GAAG,IAAI,GAAG,WAAWA,EAAE,EAAE,GAAGA,EAAE,EAAE,GAAG,CAAC,IAAIA,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,KAAK,YAAY,eAAe,KAAK,YAAY,UAAU,CAAC,IAAIa,EAAE,KAAK,YAAY,UAAU,GAAG,IAAIC,EAAWL,EAAE,kBAAkBE,EAAE,GAACE,EAAG,EAAWF,EAAE,kBAAkBC,EAAE,GAACC,EAAGoB,EAAWrB,EAAE,kBAAkBF,EAAE,GAACG,EAAG,EAAE,OAAO,EAAE,GAAGC,EAAE,OAAO,EAAE,GAAGmB,EAAE,OAAO,EAAE,GAAG,GAAG,yBAAyBxB,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAEI,EAAE,EAAEmB,EAAE,CAAC,GAAG,yBAAyBxB,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAEI,EAAE,EAAEmB,EAAE,CAAC,GAAG,yBAAyBxB,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAEI,EAAE,EAAEmB,EAAE,MAAM,KAAK,YAAY,eAAe,GAAG,eAAexB,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAE,KAAK,QAAQ,CAAC,GAAG,eAAeD,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAE,KAAK,QAAQ,CAAC,GAAG,eAAeD,EAAE,EAAEE,EAAE,EAAEC,EAAE,EAAEF,EAAE,EAAE,KAAK,QAAQ,EAAE,OAAOb,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAACA,EAAE,KAAK,EAAE,CAAC,MAAM,KAAKV,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAO,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,OAAOM,GAAG,KAAK,OAAO,KAAKO,EAAE,OAAO,CAAC,CAAC,MAAO,MAAK,OAAOb,EAAE,OAAO,KAAK,UAAUA,EAAE,UAAU,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAE,KAAK,OAAO,OAAOJ,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAE,KAAK,OAAOP,GAAG,EAAE,OAAO,KAAKO,EAAE,SAAS,CAAC,CAAC,MAAO,GAAE,OAAO,KAAK,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,QAAQ,KAAK,QAAQb,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAO,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,OAAOM,GAAG,KAAK,OAAO,KAAK,IAAI,GAAG,CAAC,UAAUO,EAAE,CAAC,CAAC,MAAO,MAAK,OAAOb,EAAE,OAAO,KAAK,UAAUA,EAAE,UAAU,KAAK,QAAQA,EAAE,QAAQ,OAA+e0N,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,EAAE,KAAK,KAAK,mBAAmB,KAAK,GAAG1N,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAGG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIH,EAAEJ,EAAEO,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGQ,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,OAAOX,EAAE,IAAI,GAAGV,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGrB,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAACX,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKV,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,OAAO2N,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,oBAAoB,CAAC,EAAE,KAAK,KAAK,oBAAoB,KAAK,GAAG3N,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,KAAK,GAAGG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIH,EAAEJ,EAAEO,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGQ,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,OAAOX,EAAE,IAAI,GAAGV,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGrB,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGrB,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAACX,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKV,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,OAAO4N,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,GAAG5N,EAAE,KAAK,GAAGM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAII,EAAEJ,EAAE,OAAON,IAAI,EAAEU,EAAE,KAAK,KAAK,GAAG,EAAEA,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAACA,EAAE,eAAeV,EAAE,CAAC,IAAI,KAAK,GAAG,EAAEU,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,KAAK,SAASV,EAAEM,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,OAAOA,EAAE,WAAW,KAAK,GAAG,KAAK,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,KAAK,WAAWN,EAAEM,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKN,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,EAAE,KAAK,KAAK,aAAa,KAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAII,EAAEJ,EAAE,OAAON,IAAI,EAAEU,EAAE,KAAK,KAAK,GAAG,EAAEA,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAACA,EAAE,eAAeV,EAAE,CAAC,IAAI,KAAK,GAAG,EAAEU,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,KAAK,SAASV,EAAEM,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,OAAOA,EAAE,WAAW,KAAK,GAAG,KAAK,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,KAAK,WAAWN,EAAEM,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKN,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,uBAAuB,CAAC,EAAE,KAAK,KAAK,uBAAuB,KAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIA,EAAEJ,EAAEO,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGQ,EAAE,KAAK,GAAG,OAAOX,EAAE,IAAI,GAAGV,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,CAAC,GAAGrB,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,CAAC,CAACX,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKV,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,wBAAwB,CAAC,EAAE,KAAK,KAAK,wBAAwB,KAAK,GAAGA,EAAE,KAAK,GAAGM,EAAE,KAAK,GAAGI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIA,EAAEJ,EAAEO,EAAE,KAAK,GAAG,EAAE,KAAK,GAAGQ,EAAE,KAAK,GAAG,OAAOX,EAAE,IAAI,GAAGV,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,CAAC,GAAGrB,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,CAAC,GAAGrB,EAAEa,EAAE,EAAE,EAAE,EAAEQ,EAAE,EAAE,CAAC,CAACX,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKV,EAAE,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,GAAG,KAAKA,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,KAAK,GAAG,UAAUA,EAAE,GAAG,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,KAAK,cAAc,KAAK,OAAOA,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAIU,EAAEJ,EAAEO,EAAE,KAAK,OAAO,GAAGA,EAAE,OAAO,GAAGb,EAAEqB,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAER,EAAEQ,IAAI,EAAEA,EAAEA,EAAE,GAAGC,EAAET,EAAEQ,GAAGE,EAAEV,EAAEQ,EAAER,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEQ,EAAE,GAAGG,EAAEX,EAAEQ,EAAER,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEQ,EAAE,GAAG,OAAOX,EAAE,IAAI,GAAG,EAAE,EAAE,EAAEY,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAEF,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE,CAAC,CAACd,EAAE,KAAK,EAAE,CAAC,MAAM,KAAKV,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAO,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,OAAOM,GAAG,KAAK,OAAO,KAAKO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAIb,EAAE,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAE,KAAK,OAAO,OAAOJ,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAE,KAAK,OAAOP,GAAG,EAAE,OAAO,KAAKO,EAAE,SAAS,CAAC,CAAC,OAAOb,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAO,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,OAAOM,GAAG,KAAK,OAAO,KAAK,IAAI,GAAG,CAAC,UAAUO,EAAE,CAAC,CAAC,OAAO,OAAOgN,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,SAAS,GAAG,iBAAiBJ,GAAG,iBAAiBC,GAAG,kBAAkBC,GAAG,aAAa,GAAG,UAAUC,GAAG,WAAW,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY,KAAK,OAAO,EAAE,CAAC,KAAK,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,KAAK5N,EAAE,CAAC,WAAW,CAAC,IAAIA,EAAE,KAAK,OAAO,GAAG,SAAS,EAAE,CAACM,EAAE,KAAK,OAAO,KAAK,OAAO,OAAO,GAAG,SAAS,EAAE,CAAC,GAAG,CAACN,EAAE,OAAOM,EAAE,CAAC,CAAC,IAAII,EAAEV,EAAE,YAAY,CAAC,EAAE,YAAY,aAAa,KAAK,OAAO,KAAK,IAAI6N,GAAGnN,GAAGJ,EAAEN,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,EAAE,CAAC,IAAIU,EAAEV,EAAE,KAAK,WAAW,CAACa,EAAE,KAAK,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAEA,EAAE,QAAQ,CAAC,GAAGA,EAAE,IAAIH,EAAE,CAAC,IAAIW,EAAER,EAAE,GAAGH,EAAE,EAAE,KAAK,OAAO,GAAG,EAAE,EAAE,WAAW,CAACY,EAAE,IAAI,EAAE,EAAE,EAAED,EAAE,EAAE,OAAO,EAAE,WAAWC,EAAEhB,EAAE,CAAC,IAAI,OAAO,KAAK,WAAW,CAAC,IAAIN,EAAE,KAAK,iBAAiB,CAAC,OAAOA,EAAEA,EAAE,OAAO,GAAG,kBAAkB,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,aAAa,KAAK,KAAK,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,KAAK,cAAc,KAAK,aAAa,SAAS,KAAK,OAAO,OAAO,OAAO,KAAK,aAAa,IAAIA,EAAE,EAAE,CAACM,EAAE,EAAE,IAAI,IAAII,EAAE,EAAEG,EAAE,KAAK,OAAO,OAAOH,EAAEG,EAAE,IAAI,GAAG,KAAK,OAAOH,GAAG,WAAW,CAACV,EAAE,KAAKM,EAAE,CAAC,MAAO,MAAK,aAAaN,EAAEA,EAAE,gBAAgB,EAAE,GAAG,CAAC,IAAIM,EAAE,EAAE,CAAC,IAAI,IAAII,EAAE,EAAEA,GAAGV,EAAE,IAAI,EAAE,KAAK,KAAK,SAASU,EAAEV,EAAE,CAAC,CAAC,OAAO,KAAK,WAAWM,EAAE,KAAKA,EAAE,GAAG,CAACA,EAAE,UAAU,EAAE,GAAG,CAAC,IAAIA,EAAE,EAAE,CAACI,EAAE,IAAI,IAAIG,EAAE,EAAE,EAAE,KAAK,OAAOA,EAAE,EAAE,OAAO,IAAI,CAAC,IAAIQ,EAAE,EAAER,GAAG,EAAEQ,EAAE,eAAerB,EAAE,EAAEqB,EAAE,aAAaA,EAAE,aAAa,EAAEA,EAAE,cAAcrB,EAAEqB,EAAE,OAAO,OAAOrB,EAAE,EAAEqB,EAAE,UAAU,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,CAAC,IAAIC,EAAE,EAAED,GAAG,GAAGZ,EAAE,OAAOa,EAAE,GAAGjB,EAAE,KAAKiB,EAAE,CAAC,EAAEA,IAAI,OAAO,KAAK,WAAWjB,EAAE,OAAO,GAAG,CAACA,EAAEA,EAAE,OAAO,GAAG,OAAOA,EAAE,GAAG,EAAEA,EAAE,KAAKA,EAAE,GAAG,CAACA,EAAE,KAAK,EAAE,CAAC,MAAM,KAAKN,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAO,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,OAAOM,GAAG,KAAK,OAAO,KAAKO,EAAE,OAAO,CAAC,CAAC,MAAO,MAAK,UAAUb,EAAE,UAAU,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,EAAE,UAAU,KAAK,UAAU,EAAE,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAE,KAAK,OAAO,OAAOJ,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAE,KAAK,OAAOP,GAAG,EAAE,OAAO,KAAKO,EAAE,QAAQ,CAAC,CAAC,OAAOb,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,OAAO,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAO,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,OAAOM,GAAG,KAAK,OAAO,KAAK,IAAIuN,GAAGhN,EAAE,OAAO,CAAC,SAASA,EAAE,CAAC,CAAC,OAAO,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,KAAK,aAAa,IAAI,EAAEb,GAAG,KAAK,cAAcA,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,OAAOA,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,OAAOM,EAAEI,EAAE,IAAI,KAAK,OAAOV,EAAEM,GAAG,EAAEN,EAAEM,GAAG,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,IAAIN,EAAEM,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,CAAC,IAAII,EAAE,IAAIkN,GAAG,KAAK,aAAa,OAAO,CAAC,IAAI,EAAE5N,EAAEM,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,KAAKI,EAAE,CAAC,KAAK,aAAa,IAAIV,EAAEM,EAAE,CAAC,KAAK,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,aAAa,OAAO,CAAC,IAAI,EAAEN,EAAEM,EAAE,CAAC,IAAI,EAAEI,EAAEG,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC,KAAK,aAAa,IAAIH,EAAEG,EAAE,CAAC,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI6M,GAAG,KAAK,aAAa,OAAO,CAAC,IAAI,EAAE1N,EAAEM,EAAE,CAAC,IAAI,EAAEI,EAAEG,EAAE,CAAC,IAAI,EAAE,EAAEQ,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC,KAAK,aAAa,IAAI,EAAEA,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC,IAA4CX,EAAE,IAAI,GAA5C,CAAC,KAAK,aAAa,OAAO,CAAC,CAAC,OAAOV,EAAE,CAAY,CAAC,OAAO,KAAK,OAAO,KAAKU,EAAE,CAAC,KAAK,aAAa,KAAKV,EAAEA,EAAE,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,aAAa,EAAE,EAAE,KAAK,aAAa,EAAE,OAAO,KAAK,OAAOA,EAAE,EAAEM,EAAE,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,WAAWrB,EAAEM,EAAEI,EAAEA,EAAEG,EAAE,EAAEQ,EAAE,CAAC,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIC,EAAE,KAAK,aAAa,EAAEC,EAAE,KAAK,aAAa,EAAE,OAAO,KAAK,WAAWvB,EAAEsB,EAAEhB,EAAEiB,EAAEb,EAAEG,EAAE,EAAEQ,EAAE,EAAE,EAAE,CAAC,KAAK,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIC,EAAE,IAAI,GAAGtB,EAAEM,EAAEI,EAAEG,EAAE,EAAEQ,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,OAAO,EAAE,CAAC,IAAIG,EAAEF,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,KAAK,aAAa,EAAE,KAAK,OAAOE,EAAE,EAAEA,EAAE,EAAE,CAAC,KAAK,OAAO,KAAKF,EAAE,CAAC,IAAIC,EAAED,EAAE,SAAS,EAAE,CAAC,OAAO,KAAK,aAAa,KAAKC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKvB,EAAE,CAAC,KAAK,aAAa,KAAKA,EAAE,aAAa,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,aAAa,KAAK,aAAa,SAAS,CAACA,EAAE,SAAS,EAAE,CAAC,OAAO,MAAM,SAASA,EAAE,CAAC,KAAK,aAAa,UAAUA,EAAE,aAAa,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,MAAMA,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,QAAQ,KAAK,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC,IAAIM,EAAE,EAAE,CAAC,IAAI,IAAII,EAAE,EAAEG,EAAE,KAAK,MAAM,OAAOH,EAAEG,EAAE,IAAI,EAAEH,GAAG,KAAK,MAAMA,GAAG,UAAUV,EAAE,CAAC,OAAOM,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAUN,EAAE,CAAC,MAAM,KAAK,eAAeA,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,KAAKA,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,MAAM,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,MAAMM,GAAG,KAAK,MAAM,KAAKO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAIb,EAAE,MAAM,QAAQ,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAE,KAAK,MAAM,OAAOJ,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAE,KAAK,MAAMP,GAAG,EAAE,MAAM,KAAKO,EAAE,QAAQ,CAAC,CAAC,OAAOb,EAAE,SAAS,EAAE,CAAC,MAAM,SAASA,EAAE,CAAC,KAAK,KAAKA,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIM,EAAE,EAAEI,EAAEV,EAAE,MAAM,OAAOM,EAAEI,EAAE,IAAI,CAAC,IAAIG,EAAEb,EAAE,MAAMM,GAAG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAASO,EAAE,CAAC,CAAC,OAAO,OAAghM,GAAG,KAAK,CAAC,OAAO,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,GAAGb,EAAEM,EAAEI,EAAE,GAAG,GAAG,MAAMT,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,IAAIK,EAAEN,EAAE,OAAOU,EAAE,EAAE,IAAI,IAAIG,EAAEP,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,IAAI,GAAGN,EAAEa,GAAG,EAAEb,EAAE,GAAG,EAAEA,EAAE,GAAG,EAAEA,EAAEa,GAAG,EAAE,OAAOH,EAAE,GAAG,OAAO,YAAY,EAAE,CAAC,OAAOT,EAAE,KAAKD,EAAE,CAAC,EAAE,OAAO,iBAAiB,EAAE,EAAE,CAAC,IAAIU,EAAE,EAAE,CAACG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAGb,EAAE,CAACqD,GAAG3C,EAAEV,EAAE,CAAC,IAAIqB,EAAErB,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEM,EAAE,OAAO,IAAI,EAAE,KAAKe,EAAE,CAAC,GAAGf,EAAE,GAAG,OAAO+C,GAAG3C,EAAEJ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,YAAYI,EAAEG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,IAAkJ,GAAG,MAAMZ,UAAU,EAAC,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,kBAAkB,KAAK,WAAW,CAAC,OAAOD,EAAE,QAAQM,EAAE,CAAC,EAAE,MAAM,QAAQN,EAAE,CAACA,EAAE,CAACA,EAAE,CAAC,IAAIU,EAAE,KAAKG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEb,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,IAAIsB,EAAEtB,EAAE,GAAG,EAAEsB,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAET,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,sBAAsB,CAAC,SAASQ,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAACC,EAAEhB,EAAE,gBAAgB,IAAK,GAAkB,GAAhBA,EAAE,cAAiBiB,EAAEjB,EAAE,QAAQ,IAAK,GAAU,EAARA,EAAE,MAAQkB,EAAElB,EAAE,QAAQ,IAAK,GAAU,EAARA,EAAE,MAAQmB,EAAEnB,EAAE,eAAe,IAAK,GAAiB,CAAC,EAAhBA,EAAE,aAAgBoB,EAAEpB,EAAE,iBAAiB,IAAK,GAAmB,GAAjBA,EAAE,eAAkBqB,EAAErB,EAAE,YAAY,IAAK,GAAcoB,EAAE,GAAdpB,EAAE,UAAe,EAAEA,EAAE,cAAc,IAAK,GAAgB,EAAdA,EAAE,YAAcwC,EAAExC,EAAE,gBAAgB,IAAK,GAAkB,EAAhBA,EAAE,cAAgByC,EAAEzC,EAAE,YAAY2C,EAAE3C,EAAE,cAAc,IAAK,GAAgB,GAAdA,EAAE,YAAe4C,EAAEC,EAAE,CAAC,EAAEqE,EAAE,EAAEC,EAAEQ,EAAE,GAAGlF,EAAE,CAAC,EAAEA,EAAE,gBAAgBxB,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAIuM,EAAE/K,EAAE,mBAAmBA,EAAE,OAAO,CAAC,EAAE,EAAEA,EAAE,oBAAoBxB,EAAEuM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAIzF,EAAE,EAAE,cAAc/G,EAAE,CAACgH,EAAED,EAAE,MAAME,EAAEF,EAAE,MAAM,GAAG,CAAC,GAAG,YAAYC,EAAE,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,IAAI,IAAIwF,EAAE,EAAEC,EAAExF,EAAE,OAAOuF,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAEzF,EAAEuF,GAAG,GAAG,YAAYE,EAAE,GAAG,EAAEF,GAAGE,EAAE,SAAS,GAAG,SAASvF,EAAE,EAAE,CAAC,IAA4BwF,EAAEH,EAAE,GAAG,IAAI,IAAII,EAAE,EAAEA,GAAGJ,EAAE,OAAO,IAAI,CAAC,IAAIK,EAAED,EAAEJ,EAAE,OAAOM,EAAEN,EAAEK,GAAGE,EAAED,EAAE,EAAEH,EAAE,EAAEK,EAAEF,EAAE,EAAEH,EAAE,EAAEM,EAAGF,EAAEA,EAAEC,EAAEA,EAAEE,EAAG,KAAK,IAAI,KAAK,IAAIJ,EAAE,EAAE,CAAC,KAAK,IAAIA,EAAE,EAAE,CAAC,KAAK,IAAIH,EAAE,EAAE,CAAC,KAAK,IAAIA,EAAE,EAAE,CAAC,CAAY,GAAGM,GAAXP,sBAAEQ,EAAGA,EAAa,CAAC,EAAE,OAAOL,EAAE,EAAE,CAAC,IAAI,SAAS,EAAEC,GAAG,EAAE9F,EAAE,CAACC,EAAE,QAAQE,EAAE,CAAC,IAAIC,EAAEH,EAAE,OAAOI,EAAEL,EAAE,IAAI,IAAIwF,EAAE,EAAEA,EAAEpF,EAAE,IAAI,CAAC,IAAIqF,EAAExF,EAAEuF,GAAG,EAAExF,EAAE,OAAOyF,EAAE,CAAC,SAASnF,EAAG,EAAE,EAAE,EAAE,CAAC,OAAOmF,GAAGxN,GAAE,sCAAsC,CAACuN,EAAE,OAAO,CAAC,gBAAgBC,EAAEC,EAAE,CAAC,IAAInF,EAAGP,EAAE,OAAO,SAASQ,EAAG,EAAE,EAAE,EAAE,CAAC,IAAImF,EAAEC,EAAEC,EAAEC,EAAEN,EAAE,EAAEC,EAAE,EAAEM,EAAEP,EAAE,EAAEC,EAAE,EAAEO,EAAEN,EAAE,EAAEF,EAAE,EAAES,EAAGP,EAAE,EAAEF,EAAE,EAAEU,EAAGJ,EAAEA,EAAEC,EAAEA,EAAEI,EAAGL,EAAEG,EAAGF,EAAEC,EAAE,GAAG,KAAK,IAAIG,EAAG,QAAgB,CAAC,IAAIC,EAAG,KAAK,KAAKF,EAAG,CAACG,EAAG,KAAK,KAAKL,EAAEA,EAAEC,EAAGA,EAAG,CAAC,EAAGR,EAAE,EAAEM,EAAEK,EAAGE,EAAGb,EAAE,EAAEK,EAAEM,EAAGG,EAAGb,EAAE,EAAEO,EAAGI,EAAGG,EAAGd,EAAE,EAAEM,EAAEK,EAAG,IAAKE,EAAG,GAAIN,GAAIO,EAAGF,GAAIN,IAAIF,EAAEG,EAAGF,EAAEC,GAAG,EAAE,EAAGF,EAAE,EAAGN,EAAE,EAAE,EAAEc,EAAGP,EAAE,EAAGP,EAAE,EAAE,IAAI,EAAGG,EAAEA,EAAEC,EAAEA,EAAE,GAAG,GAAI,EAAE,OAAO,IAAI,EAAED,EAAEC,EAAE,CAAC,EAAE,KAAK,KAAK,EAAG,EAAE,KAAK,CAAC,IAAIQ,EAAG,CAAC,EAAE,SAAiBJ,WAAmB,EAAG,CAAC,GAAGF,EAAE,UAAgBE,EAAE,YAAkB,EAAG,CAAC,GAAG,KAAK,KAAKD,EAAE,GAAG,KAAK,KAAKE,EAAG,GAAG,EAAG,CAAC,GAAGG,GAAI,EAAE,CAACL,EAAE,EAAED,EAAE,EAAE,KAAK,KAAKI,EAAG,GAAG,EAAEJ,EAAE,EAAEC,EAAE,EAAE,KAAK,KAAKG,EAAG,EAAE,EAAE,OAAO,IAAI,EAAEP,EAAEE,EAAED,EAAEC,EAAE,CAAC,IAAIpF,EAAG,EAAE,CAAC,IAAI,IAAI+E,EAAE,EAAEC,EAAEpF,EAAE,OAAOqF,EAAED,EAAE,EAAEE,EAAEH,EAAE,EAAEA,EAAEC,EAAE,IAAI,IAAI,IAAI,IAAIA,IAAI,EAAE,GAAGE,IAAIF,IAAI,EAAE,GAAG,EAAGD,GAAGhF,EAAGH,EAAEmF,GAAGnF,EAAEqF,GAAGrF,EAAEsF,GAAG,CAAC,IAAIjF,EAAG,EAAE,CAACC,EAAGgE,EAAGlE,EAAG,QAAQ,CAAC,IAAI,IAAI+E,EAAE,EAAEC,EAAErF,EAAEoF,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAEzF,EAAEuF,GAAG,EAAG,EAAE,CAAC,IAAI,IAAIG,EAAE,EAAEC,EAAEF,EAAE,OAAOG,EAAED,EAAE,EAAEE,EAAEH,EAAE,EAAEA,EAAEC,EAAE,IAAI,IAAI,IAAI,IAAIA,IAAI,EAAE,GAAGE,IAAIF,IAAI,EAAE,GAAG,EAAGD,GAAGnF,EAAGkF,EAAEC,GAAGD,EAAEG,GAAGH,EAAEI,GAAG,CAAC,EAAG,KAAKnF,EAAG,CAAC,EAAGgE,EAAG,OAAOhE,EAAG,CAAC,IAAIiE,GAAG,GAAGpK,IAAI,EAAE,GAAG,GAAG,iBAAiB6F,EAAEJ,EAAE,KAAK,CAAC,IAAIuF,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAElL,EAAE,IAAI,CAAC,IAAImL,EAAED,EAAElL,EAAEoL,EAAExM,EAAE,KAAK,IAAIuM,EAAE,KAAK,GAAG,EAAE,CAACE,EAAExM,EAAE,KAAK,IAAIsM,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,IAAIG,EAAE,EAAEC,EAAE1F,EAAE,OAAOyF,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAE1F,EAAGD,EAAEyF,GAAGrF,EAAGqF,GAAGD,EAAE,CAAC,GAAGG,EAAE,EAAEA,EAAE,EAAE,CAACJ,EAAE,CAACD,IAAI,GAAGH,EAAE,KAAKQ,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEC,EAAE3F,EAAE0F,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAE/F,EAAE6F,GAAG,EAAGpF,EAAGoF,GAAG,IAAIG,EAAG,EAAE,CAAC,IAAI,IAAIC,EAAG,EAAEC,EAAGH,EAAE,OAAOE,EAAGC,EAAG,IAAK,CAAC,IAAIC,EAAG9F,EAAG0F,EAAEE,GAAIvF,EAAGuF,GAAIL,EAAE,CAAC,GAAGO,EAAG,EAAEA,EAAG,EAAE,CAACR,EAAE,CAACD,IAAI,GAAGM,EAAG,KAAKG,EAAG,CAAC,IAAI,GAAGX,EAAE,KAAKQ,EAAG,EAAE,GAAG,GAAG,iBAAiBT,EAAEC,EAAE,CAAC,IAAIZ,GAAGD,GAAG,OAAO,EAAGvL,EAAE,EAAE,IAAI,IAAImM,EAAE,EAAEA,EAAEjF,EAAG,IAAI,CAAC,IAAIkF,EAAEtM,EAAEmH,EAAGN,EAAEwF,GAAGb,EAAGa,GAAG,EAAG,CAACxF,EAAEwF,GAAG,GAAGrG,EAAE,KAAKD,EAAE,QAAQ,GAAG,CAAC,eAAeuG,EAAE,EAAE,CAAC,EAAE,KAAKvG,EAAE,UAAU,GAAG,CAAC,eAAeuG,EAAE,EAAE,CAAC9F,EAAE,KAAK/E,EAAE,GAAG,CAAC,IAAIuE,EAAE,CAAC,IAAI,EAAE,CAACsH,GAAG9G,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAE8G,GAAGhB,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAI,IAAID,EAAE,EAAEA,GAAGvM,EAAE,IAAI,IAAI,IAAIwM,EAAE,EAAEA,EAAElF,EAAG,IAAI,CAAC,IAAImF,EAAEvM,EAAEmH,EAAGN,EAAEyF,GAAGd,EAAGc,GAAG,EAAG,CAACzF,EAAEyF,GAAG,GAAGtG,EAAE,KAAKD,EAAE,QAAQsG,GAAG,CAAC,eAAeE,EAAE,EAAE,CAAC,EAAE,KAAKxG,EAAE,UAAUsG,GAAG,CAAC,eAAeE,EAAE,EAAE,CAAC/F,EAAE,KAAK/E,EAAE4K,GAAG,CAAC,IAAIrG,EAAE,CAAC,IAAI,EAAE,CAACsH,GAAG9G,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,EAAE8G,GAAGf,EAAE,EAAEA,EAAE,EAAExM,EAAED,EAAEuM,EAAE,CAAC,IAAI,IAAIA,EAAEhL,EAAE,EAAEgL,GAAG,EAAE,IAAI,CAAC,IAAIC,EAAED,EAAEhL,EAAEkL,EAAEtM,EAAE,KAAK,IAAIqM,EAAE,KAAK,GAAG,EAAE,CAACE,EAAEtM,EAAE,KAAK,IAAIoM,EAAE,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,IAAIG,EAAE,EAAEC,EAAExF,EAAE,OAAOuF,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAExF,EAAGD,EAAEuF,GAAGnF,EAAGmF,GAAGD,EAAE,CAAC,GAAGG,EAAE,EAAEA,EAAE,EAAE5M,EAAEwM,EAAE,CAAC,IAAI,IAAIE,EAAE,EAAEC,EAAE5F,EAAE,OAAO2F,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAE7F,EAAE2F,GAAG,EAAGlF,EAAGkF,GAAG,IAAI,IAAIG,EAAE,EAAEC,EAAEF,EAAE,OAAOC,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAG3F,EAAGwF,EAAEC,GAAGpF,EAAGoF,GAAGJ,EAAE,CAAC,EAAEc,GAAGR,EAAG,EAAEA,EAAG,EAAErL,EAAE3B,EAAE,GAAG,EAAE2B,EAAE3B,EAAE,GAAG,EAAEyM,EAAE,CAACe,GAAGR,EAAG,EAAEA,EAAG,EAAE/M,EAAEwM,EAAE,GAAG,GAAI,CAACgB,IAAI,CAAC,SAASC,GAAI,CAAC,IAAInB,EAAEjN,EAAE,OAAO,EAAE,GAAGY,EAAE,CAAC,IAAIsM,EAAE,EAAEC,EAAEnF,EAAGkF,EAAE,IAAI,IAAIE,EAAE,EAAEA,EAAEd,GAAG,IAAI,CAAC,IAAIe,EAAEhB,GAAGe,GAAG,GAAGC,EAAE,GAAGF,EAAEE,EAAE,GAAGF,EAAEE,EAAE,GAAGF,EAAE,CAAC,EAAEzM,EAAEuB,EAAE,EAAE,EAAE+F,EAAGkF,EAAE,IAAI,IAAIE,EAAE,EAAEA,EAAEd,GAAG,IAAI,CAAC,IAAIe,EAAEhB,GAAGe,GAAG,GAAGC,EAAE,GAAGF,EAAEE,EAAE,GAAGF,EAAEE,EAAE,GAAGF,EAAE,MAAM,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEZ,GAAG,IAAI,CAAC,IAAIa,EAAEd,GAAGa,GAAG,GAAGC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAAC,IAAI,IAAID,EAAE,EAAEA,EAAEZ,GAAG,IAAI,CAAC,IAAIa,EAAEd,GAAGa,GAAG,GAAGC,EAAE,GAAGnF,EAAGtH,EAAEyM,EAAE,GAAGnF,EAAGtH,EAAEyM,EAAE,GAAGnF,EAAGtH,EAAE,EAAE,EAAE,SAASuM,EAAEjN,EAAE,OAAO,EAAEiN,EAAE,EAAE,CAAC,SAASkB,IAAI,CAAC,IAAIlB,EAAEjN,EAAE,OAAO,EAAEkN,EAAE,EAAE,EAAGpF,EAAEoF,EAAE,CAAC,GAAGpF,EAAE,OAAO,IAAI,IAAIqF,EAAE,EAAEC,EAAE1F,EAAE,OAAOyF,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAE3F,EAAEyF,GAAG,EAAGE,EAAEH,EAAE,CAAC,GAAGG,EAAE,OAAO,EAAE,SAASJ,EAAEjN,EAAE,OAAO,EAAEiN,EAAE,EAAE,CAAC,SAASoB,EAAG,EAAE,EAAE,CAAC,IAAIlB,EAAEF,EAAE,OAAO,KAAK,EAAEE,GAAG,GAAG,CAAC,IAAIC,EAAED,EAAEE,EAAEF,EAAE,EAAE,EAAE,IAAI,EAAEF,EAAE,OAAO,GAAG,IAAI,IAAIK,EAAE,EAAEC,EAAE7M,EAAEuB,EAAE,EAAEqL,EAAEC,EAAE,IAAI,CAAC,IAAIC,EAAExF,EAAGsF,EAAEG,EAAEzF,GAAIsF,EAAE,GAAuC,EAAjCJ,EAAEE,EAAEI,EAAKN,EAAEG,EAAEG,EAAKN,EAAEG,EAAEI,EAAKP,EAAEE,EAAEK,EAAiB,GAAG,SAASS,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKjB,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,GAAGF,EAAE,CAACqB,GAAGpB,EAAE,CAACoB,GAAGnB,EAAE,CAAC,IAAIC,EAAEpN,EAAE,OAAO,EAAEqN,EAAEjL,EAAE,cAAcvC,EAAEG,EAAEoN,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAGC,EAAE,GAAG,CAACkB,EAAGlB,EAAE,GAAG,CAACkB,EAAGlB,EAAE,GAAG,CAAC,SAASmB,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGvB,EAAE,CAACqB,GAAGpB,EAAE,CAACoB,GAAGlB,EAAE,CAACkB,GAAGpB,EAAE,CAACoB,GAAGnB,EAAE,CAACmB,GAAGlB,EAAE,CAAC,IAAIC,EAAErN,EAAE,OAAO,EAAEsN,EAAElL,EAAE,mBAAmBvC,EAAEG,EAAEqN,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAGC,EAAE,GAAG,CAACiB,EAAGjB,EAAE,GAAG,CAACiB,EAAGjB,EAAE,GAAG,CAACiB,EAAGjB,EAAE,GAAG,CAACiB,EAAGjB,EAAE,GAAG,CAACiB,EAAGjB,EAAE,GAAG,CAAC,SAASgB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAErB,EAAE,EAAE,GAAG,CAACjN,EAAE,KAAK,EAAEiN,EAAE,EAAE,GAAG,CAACjN,EAAE,KAAK,EAAEiN,EAAE,EAAE,GAAG,CAAC,SAASsB,EAAG,EAAE,CAAC,EAAE,KAAKtB,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,OAAO,MAAM,KAAK9N,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAACM,EAAE,KAAK,WAAW,OAAOI,EAAE,KAAK,WAAW,QAAQ,OAAO,GAAGJ,EAAEI,EAAEV,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAIU,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAEW,EAAErB,EAAE,OAAO,OAAO,EAAEqB,EAAE,IAAI,CAAC,IAAI,EAAEf,EAAEN,EAAE,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC,IAAIa,EAAEb,EAAE,QAAQ,YAAY,OAAOa,IAAI,IAAK,KAAI,EAAE,QAAQ,YAAY,IAAIgN,GAAGhN,EAAE,OAAO,CAAC,SAASA,EAAE,EAAE,IAAIZ,EAAES,EAAEV,EAAE,QAAQ,GAAG,GAAG,CAAC,cAAc,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAEM,EAAE,GAAGe,EAAErB,EAAEM,EAAE,EAAE,GAAG,EAAEN,EAAEU,EAAE,GAAG,EAAEV,EAAEU,EAAE,EAAE,GAAGY,EAAEtB,EAAEa,EAAE,GAAGU,EAAEvB,EAAEa,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,EAAEQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEC,EAAEC,EAAE,CAAC,EAAE,mBAAmB,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIF,EAAErB,EAAEM,EAAE,GAAG,EAAEN,EAAEM,EAAE,EAAE,GAAG,EAAEN,EAAEM,EAAE,EAAE,GAAGgB,EAAEtB,EAAEU,EAAE,GAAGa,EAAEvB,EAAEU,EAAE,EAAE,GAAGc,EAAExB,EAAEU,EAAE,EAAE,GAAGe,EAAEzB,EAAEa,EAAE,GAAGa,EAAE1B,EAAEa,EAAE,EAAE,GAAGc,EAAE3B,EAAEa,EAAE,EAAE,GAAG,EAAEb,EAAE,EAAE,GAAG8C,EAAE9C,EAAE,EAAE,EAAE,GAAG+C,EAAE/C,EAAE,EAAE,EAAE,GAAG,OAAO,KAAK,IAAI,EAAEuB,EAAE,CAAC,KAAK,IAAIF,EAAEC,EAAE,CAAC,CAAC,IAAI,EAAED,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEC,EAAE,EAAEE,EAAE,CAAC,IAAI,EAAEC,EAAE,EAAEE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAEoB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAExB,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAEE,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAEmB,EAAE,EAAEC,EAAE,CAAC,EAAE,CAAkQuM,GAAG,MAAMrP,UAAUqN,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI5M,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,EAAEG,EAAE,CAAC,GAAGH,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAG,CAACA,EAAE,EAAE,EAAE,CAACA,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAG,CAACA,EAAE,EAAE,EAAE,CAACA,EAAEA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,CAACA,EAAE,EAAE,GAAG,CAACA,EAAE,EAAE,EAAE,CAAuI,MAAMG,EAA1I,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAWb,EAAEM,EAAE,CAAC,KAAK,KAAK,sBAAsB,KAAK,WAAW,CAAC,OAAON,EAAE,OAAOM,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIL,EAAED,EAAE,OAAOA,EAAE,OAAO,GAAG,GAAG,MAAMC,UAAU,EAAC,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,OAAOD,EAAE,SAASM,EAAE,SAASI,EAAE,UAAUG,EAAE,CAAC,EAAE,KAAK,MAAMP,EAAE,CAAC,EAAEK,EAAEE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAACQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAEjB,EAAEkB,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEmB,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAIE,EAAE,EAAEA,GAAGjD,EAAE,OAAO,EAAE,IAAI,OAAOiD,EAAP,CAAU,IAAK,GAAE,EAAEjD,EAAEiD,EAAE,GAAG,EAAEjD,EAAEiD,GAAG,EAAE,EAAEjD,EAAEiD,EAAE,GAAG,EAAEjD,EAAEiD,GAAG,EAAE,EAAE,EAAEF,EAAE,EAAE,EAAE,EAAE,CAACD,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAE,KAAKrB,EAAE,CAACA,EAAE,WAAW,CAAC,EAAE,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,MAAM,KAAK1B,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,QAAQ,EAAEA,EAAEiD,EAAE,GAAG,EAAEjD,EAAEiD,GAAG,EAAE,EAAEjD,EAAEiD,EAAE,GAAG,EAAEjD,EAAEiD,GAAG,EAAE,EAAE,EAAEF,EAAE,EAAE,EAAE,EAAE,CAACD,EAAE,EAAE,EAAEC,EAAE,EAAEpB,EAAE,KAAKD,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAEA,EAAE,WAAW,CAAC,EAAE,KAAKA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAKC,EAAE,CAAC,IAAI,IAAIsB,EAAE,EAAEA,GAAG3C,EAAE,IAAI,CAAC,IAAI4C,EAAExC,EAAEuC,EAAE1B,EAAEV,EAAEsC,EAAE,KAAK,IAAID,EAAE,CAACsE,EAAE,KAAK,IAAItE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAGlD,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAEA,EAAE,GAAG,EAAEmD,EAAE,EAAE,EAAEnD,EAAE,GAAG,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAEwH,EAAEnG,EAAE,KAAKG,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,EAAEyB,EAAE3C,EAAE,EAAE,EAAE,GAAGN,EAAE,OAAO,GAAG,EAAE,KAAKyB,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAIgG,EAAE,EAAE,EAAE,EAAE,GAAGtE,EAAE8E,EAAE,EAAE,EAAE,EAAE,GAAGI,EAAE,EAAE,EAAE,EAAE,GAAGb,EAAE,EAAE,KAAKC,EAAEQ,EAAEI,EAAE,EAAE,IAAI,IAAIpF,EAAE,EAAEA,EAAE3C,EAAE,IAAI,IAAI,IAAI4C,EAAE,EAAEA,EAAElD,EAAE,OAAO,EAAE,IAAI,CAAC,IAAImD,EAAED,EAAED,EAAEjD,EAAE,OAAOwH,EAAErE,EAAE,EAAEA,EAAEnD,EAAE,OAAOyH,EAAEtE,EAAEnD,EAAE,OAAO,EAAEiI,EAAE9E,EAAE,EAAE,EAAE,KAAKqE,EAAE,EAAES,EAAE,CAAC,EAAE,KAAKR,EAAEQ,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAE5G,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKtB,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,OAAOA,EAAE,SAASA,EAAE,SAASA,EAAE,UAAU,GAAGuP,GAAG,MAAMtP,UAAUqN,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAoG,MAA7F,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAWtN,EAAEM,EAAE,CAAC,KAAK,KAAK,qBAAqB,KAAK,WAAW,CAAC,OAAON,EAAE,OAAOM,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIL,EAAED,EAAE,OAAOA,EAAE,OAAO,GAAGwP,GAAG,MAAMvP,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,MAAMD,EAAE,OAAOM,EAAE,cAAcI,EAAE,eAAeG,EAAE,CAAC,IAAI,EAAEb,EAAE,EAAEqB,EAAEf,EAAE,EAAE,EAAE,KAAK,MAAMI,EAAE,CAAC,EAAE,KAAK,MAAMG,EAAE,CAACS,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAEC,EAAExB,EAAE,EAAEyB,EAAEnB,EAAE,EAAEoB,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACmB,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAExB,EAAE,IAAI,CAAC,IAAI0B,EAAEF,EAAEtB,EAAEJ,EAAE,IAAI,IAAI6B,EAAE,EAAEA,EAAE5B,EAAE,IAAI,CAAC,IAAI6B,EAAED,EAAE1B,EAAE,EAAE,EAAE,KAAK2B,EAAE,CAACF,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAACH,EAAE,KAAKI,EAAE,EAAE,CAACJ,EAAE,KAAK,EAAEC,EAAE,EAAE,EAAE,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAE,IAAI,IAAI,IAAIE,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIC,EAAED,EAAE3B,EAAEyB,EAAEI,EAAEF,EAAE3B,GAAGyB,EAAE,GAAGyE,EAAEvE,EAAE,EAAE3B,GAAGyB,EAAE,GAAG,EAAEE,EAAE,EAAE3B,EAAEyB,EAAE,EAAE,KAAKG,EAAEC,EAAE,EAAE,CAACzB,EAAE,KAAKyB,EAAEqE,EAAE,EAAE,CAAC,KAAK,SAAS9F,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEmB,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAK9C,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,MAAMA,EAAE,OAAOA,EAAE,cAAcA,EAAE,eAAe,GAAGyP,GAAG,MAAMxP,UAAU,EAAC,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,eAAe,KAAK,WAAW,CAAC,YAAYD,EAAE,YAAYM,EAAE,cAAcI,EAAE,YAAYG,EAAE,WAAW,EAAE,YAAYQ,EAAE,CAAC,EAAE,KAAK,IAAI,EAAEX,EAAE,CAAC,EAAE,KAAK,IAAI,EAAEG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAACS,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAExB,EAAEyB,GAAGnB,EAAEN,GAAGa,EAAEa,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,GAAGd,EAAE,IAAI,CAAC,IAAI,IAAIiC,EAAE,EAAEA,GAAGpC,EAAE,IAAI,CAAC,IAAIqC,EAAE,EAAED,EAAEpC,EAAEW,EAAE,EAAE,EAAEG,EAAE,KAAK,IAAIuB,EAAE,CAAC,EAAE,EAAEvB,EAAE,KAAK,IAAIuB,EAAE,CAAC,EAAE,KAAKrB,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACJ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGI,EAAE,EAAEpB,EAAE,GAAG,EAAE,EAAE,GAAGoB,EAAE,EAAEpB,EAAE,GAAG,EAAEiB,EAAE,KAAKI,EAAE,EAAEA,EAAE,EAAE,CAAC,GAAGF,EAAE,IAAI,IAAI,EAAE,EAAE,EAAEZ,EAAE,IAAI,CAAC,IAAIiC,EAAE,GAAGpC,EAAE,GAAG,IAAI,IAAIqC,EAAE,EAAEA,EAAErC,EAAE,IAAI,CAAC,IAAIuC,EAAEF,EAAED,EAAEI,EAAED,EAAEE,EAAEF,EAAEvC,EAAE,EAAE8G,EAAEvE,EAAEvC,EAAE,EAAE,EAAEuC,EAAE,EAAE,EAAE,KAAKC,EAAEC,EAAE,EAAE,CAAC,EAAE,KAAKA,EAAEqE,EAAE,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAElG,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKvB,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,YAAYA,EAAE,YAAYA,EAAE,cAAcA,EAAE,YAAYA,EAAE,WAAWA,EAAE,YAAY,GAAG,GAAG,MAAMC,UAAU,EAAC,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,OAAOD,EAAE,cAAcM,EAAE,CAAC,IAAII,EAAE,EAAE,CAACG,EAAE,EAAE,CAAC,EAAE,EAAE,CAACQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQrB,EAAE,GAAG,CAAC,EAAE,EAAEA,EAAE,MAAM,IAAI,IAAIuB,EAAE,EAAEA,EAAEvB,EAAE,OAAO,IAAI,EAAEA,EAAEuB,GAAG,CAAC,KAAK,SAAS,EAAE,EAAEA,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,SAASb,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEG,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEQ,EAAE,EAAE,CAAC,CAAC,SAASC,EAAE,EAAE,CAAC,IAAIE,EAAEX,EAAE,OAAO,EAAEY,EAAEF,EAAE,cAAcjB,EAAE,CAACoB,EAAED,EAAE,MAAME,EAAEF,EAAE,MAAM,GAAG,YAAYC,EAAE,GAAG,CAAC,IAAI,EAAEA,EAAE,SAAS,EAAE,IAAI,IAAIoB,EAAE,EAAEC,EAAEpB,EAAE,OAAOmB,EAAEC,EAAE,IAAI,CAAC,IAAIE,EAAEtB,EAAEmB,GAAG,GAAG,YAAYG,EAAE,GAAG,CAAC,IAAI,EAAEH,GAAGG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,iBAAiBvB,EAAEC,EAAE,CAAC,IAAI,IAAImB,EAAE,EAAEC,EAAEpB,EAAE,OAAOmB,EAAEC,EAAE,IAAI,CAAC,IAAIE,EAAEtB,EAAEmB,GAAG,EAAEpB,EAAE,OAAOuB,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEC,EAAErB,EAAE,OAAOoB,EAAEC,EAAE,IAAI,CAAC,IAAIE,EAAEvB,EAAEoB,GAAG,EAAE,KAAKG,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC5B,EAAE,KAAK4B,EAAE,EAAEA,EAAE,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEC,EAAE,EAAE,OAAOD,EAAEC,EAAE,IAAI,CAAC,IAAIE,EAAE,EAAEH,GAAGI,EAAED,EAAE,GAAGzB,EAAE2B,EAAEF,EAAE,GAAGzB,EAAEgG,EAAEvE,EAAE,GAAGzB,EAAE,EAAE,KAAK0B,EAAEC,EAAEqE,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKxH,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAACM,EAAE,KAAK,WAAW,OAAO,OAAO,GAAGA,EAAEN,EAAE,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,IAAIU,EAAE,EAAE,CAAC,IAAI,IAAIG,EAAE,EAAE,EAAEb,EAAE,OAAO,OAAOa,EAAE,EAAE,IAAI,CAAC,IAAIQ,EAAEf,EAAEN,EAAE,OAAOa,IAAI,EAAE,KAAKQ,EAAE,CAAC,OAAO,IAAIpB,EAAES,EAAEV,EAAE,cAAc,GAA6J,GAAG,MAAMC,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAiB,KAAK,WAAW,CAAC,OAAOD,EAAE,cAAcM,EAAE,eAAeI,EAAE,SAASG,EAAE,UAAU,EAAE,WAAWQ,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMf,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAIW,EAAE,EAAE,KAAK,GAAG,CAACC,EAAE,EAAEC,EAAE,EAAE,CAACC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,EAAE,EAAE,CAACmB,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,GAAGrC,EAAE,IAAI,CAAC,IAAIuC,EAAE,EAAE,CAACC,EAAEH,EAAErC,EAAEyC,EAAE,EAAE,IAAI,GAAG9B,IAAI,EAAE,EAAE,GAAGf,EAAEyC,IAAIrC,GAAG,IAAI,KAAK,KAAK,EAAE,IAAIJ,GAAG,IAAI,IAAIkH,EAAE,EAAEA,GAAGlH,EAAE,IAAI,CAAC,IAAI,EAAEkH,EAAElH,EAAE,EAAE,EAAE,CAACN,EAAE,KAAK,IAAIa,EAAE,EAAE,EAAE,CAAC,KAAK,IAAIQ,EAAE6B,EAAE,EAAE,CAAC,EAAE,EAAElD,EAAE,KAAK,IAAIqB,EAAE6B,EAAE,EAAE,CAAC,EAAE,EAAElD,EAAE,KAAK,IAAIa,EAAE,EAAE,EAAE,CAAC,KAAK,IAAIQ,EAAE6B,EAAE,EAAE,CAACvB,EAAE,KAAKH,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACC,EAAE,KAAKD,EAAE,CAAC,WAAW,CAAC,EAAE,KAAKC,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACqB,EAAE,KAAK,EAAEK,EAAE,EAAED,EAAE,CAACD,EAAE,KAAK,IAAI,CAAC,EAAE,KAAKA,EAAE,CAAC,IAAI,IAAIF,EAAE,EAAEA,EAAErC,EAAE,IAAI,IAAI,IAAIuC,EAAE,EAAEA,EAAE3C,EAAE,IAAI,CAAC,IAAI4C,EAAE3B,EAAEwB,GAAGE,EAAE,GAAGE,EAAE5B,EAAEwB,GAAGE,GAAGuE,EAAEjG,EAAEwB,EAAE,GAAGE,GAAG,EAAE1B,EAAEwB,EAAE,GAAGE,EAAE,IAAIF,IAAI,GAAG1B,EAAE,IAAIK,EAAE,KAAKwB,EAAEC,EAAE,EAAE,EAAEJ,IAAIrC,EAAE,GAAG,EAAE,KAAK,KAAKgB,EAAE,KAAKyB,EAAEqE,EAAE,EAAE,CAAC,KAAK,SAAS9F,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEmB,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAK9C,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,OAAOA,EAAE,cAAcA,EAAE,eAAeA,EAAE,SAASA,EAAE,UAAUA,EAAE,WAAWA,EAAE,YAAY,GAAG,GAAG,MAAMC,UAAUqN,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAmE,MAA5D,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAWtN,EAAEM,EAAE,CAAC,KAAK,KAAK,sBAAsB,KAAK,WAAW,CAAC,OAAON,EAAE,OAAOM,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIL,EAAED,EAAE,OAAOA,EAAE,OAAO,GAAG0P,GAAG,MAAMzP,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,gBAAgB,KAAK,WAAW,CAAC,OAAOD,EAAE,KAAKM,EAAE,eAAeI,EAAE,gBAAgBG,EAAE,IAAI,EAAE,WAAWQ,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,MAAMX,EAAE,CAAC,EAAE,KAAK,MAAMG,EAAE,CAAC,IAAI,EAAE,EAAE,CAACS,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,GAAGjB,EAAE,IAAI,CAAC,IAAIoC,EAAEzB,EAAE,EAAEX,EAAE,EAAE,IAAI,IAAIqC,EAAE,EAAEA,GAAGlC,EAAE,IAAI,CAAC,IAAIoC,EAAEF,EAAElC,EAAE,EAAE,EAAE,GAAGb,EAAEM,EAAE,KAAK,IAAIwC,EAAE,EAAE,KAAK,IAAIG,EAAE,CAAC,EAAE,GAAGjD,EAAEM,EAAE,KAAK,IAAIwC,EAAE,EAAE,KAAK,IAAIG,EAAE,CAAC,EAAE,EAAE3C,EAAE,KAAK,IAAIwC,EAAE,CAACxB,EAAE,KAAKI,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,EAAE1B,EAAE,KAAK,IAAIiD,EAAE,CAAC,EAAE,EAAEjD,EAAE,KAAK,IAAIiD,EAAE,CAACtB,EAAE,WAAWD,EAAED,EAAE,CAAC,WAAW,CAACF,EAAE,KAAKI,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACH,EAAE,KAAKuB,EAAElC,EAAE,CAACW,EAAE,KAAK,EAAEd,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,GAAGA,EAAE,IAAI,IAAI,IAAIoC,EAAE,EAAEA,GAAGjC,EAAE,IAAI,CAAC,IAAIkC,GAAGlC,EAAE,GAAG,EAAEiC,EAAE,EAAEG,GAAGpC,EAAE,IAAI,EAAE,GAAGiC,EAAE,EAAEI,GAAGrC,EAAE,IAAI,EAAE,GAAGiC,EAAEK,GAAGtC,EAAE,GAAG,EAAEiC,EAAE,EAAE,KAAKC,EAAEE,EAAEE,EAAE,CAAC,EAAE,KAAKF,EAAEC,EAAEC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAE7B,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKxB,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,OAAOA,EAAE,KAAKA,EAAE,eAAeA,EAAE,gBAAgBA,EAAE,IAAI,GAAG,GAAG,MAAMC,UAAU,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,WAAW,CAAC,OAAOD,EAAE,KAAKM,EAAE,gBAAgBI,EAAE,eAAeG,EAAE,EAAE,EAAE,EAAEQ,EAAE,CAAC,EAAE,KAAK,MAAMX,EAAE,CAAC,EAAE,KAAK,MAAMG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAACS,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEmB,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAE,IAAI,IAAIG,EAAE,EAAEA,GAAGxC,EAAE,EAAEwC,EAAE,CAAC,IAAIC,EAAED,EAAExC,EAAE,EAAE,KAAK,GAAG,EAAE,EAAEyC,EAAE,EAAE9B,EAAErB,EAAE0B,EAAE,CAACuB,EAAEE,EAAE,IAAI,EAAE9B,EAAErB,EAAE2B,EAAE,CAACmB,EAAE,WAAWnB,EAAED,EAAE,CAACqB,EAAE,WAAWpB,EAAED,EAAE,CAAC,EAAE,aAAaoB,EAAEC,EAAE,CAACA,EAAE,aAAa,EAAED,EAAE,CAAC,EAAE,WAAW,CAACC,EAAE,WAAW,CAAC,IAAI,IAAIyE,EAAE,EAAEA,GAAG3G,EAAE,EAAE2G,EAAE,CAAC,IAAI,EAAEA,EAAE3G,EAAE,KAAK,GAAG,EAAE4G,EAAE,CAACnH,EAAE,KAAK,IAAI,EAAE,CAAC2H,EAAE3H,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,EAAEoB,EAAE,GAAG+F,EAAE1E,EAAE,EAAEkF,EAAE,EAAE,GAAG,EAAE,EAAEvG,EAAE,GAAG+F,EAAE1E,EAAE,EAAEkF,EAAE,EAAE,GAAG,EAAE,EAAEvG,EAAE,GAAG+F,EAAE1E,EAAE,EAAEkF,EAAE,EAAE,GAAG,EAAE,KAAKzG,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACC,EAAE,WAAWD,EAAEE,EAAE,CAAC,WAAW,CAACJ,EAAE,KAAKG,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACF,EAAE,KAAK2B,EAAExC,EAAE,CAACa,EAAE,KAAKiG,EAAE3G,EAAE,EAAE,IAAI,IAAIqC,EAAE,EAAEA,GAAGxC,EAAE,IAAI,IAAI,IAAIyC,EAAE,EAAEA,GAAGtC,EAAE,IAAI,CAAC,IAAI2G,GAAG3G,EAAE,IAAIqC,EAAE,IAAIC,EAAE,GAAG,GAAGtC,EAAE,GAAGqC,GAAGC,EAAE,GAAGsE,GAAG5G,EAAE,GAAGqC,EAAEC,EAAE8E,GAAGpH,EAAE,IAAIqC,EAAE,GAAGC,EAAE,EAAE,KAAKqE,EAAE,EAAES,EAAE,CAAC,EAAE,KAAK,EAAER,EAAEQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAE3G,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,SAAS0B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIgF,EAAE,KAAK,IAAI/E,EAAE,CAACmF,EAAE,KAAK,IAAInF,EAAE,CAACoF,EAAEd,EAAErE,EAAED,EAAEqF,EAAE,KAAK,IAAID,EAAE,CAAC,EAAE,EAAE,GAAG,EAAEC,GAAG,GAAGN,EAAE,EAAE,EAAE,GAAG,EAAEM,GAAGF,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,IAAIC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKtI,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAED,EAAE,OAAOA,EAAE,KAAKA,EAAE,gBAAgBA,EAAE,eAAeA,EAAE,EAAEA,EAAE,EAAE,GAAG2P,GAAG,MAAM1P,UAAU,EAAC,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,eAAe,KAAK,WAAW,CAAC,KAAKD,EAAE,gBAAgBM,EAAE,OAAOI,EAAE,eAAeG,EAAE,OAAO,EAAE,CAAC,IAAIQ,EAAErB,EAAE,oBAAoBM,EAAE,EAAE,CAAC,KAAK,SAASe,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAQ,KAAK,UAAUA,EAAE,UAAU,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,IAAI,EAAEC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAACC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,SAASA,EAAE,CAAC,KAAK,aAAa,WAAW,IAAI,EAAEH,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,SAAS,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,KAAK,IAAI,EAAEC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,IAAIwB,EAAE,EAAEA,EAAE5C,EAAE,IAAI,EAAE4C,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE5C,EAAE,EAAE,CAAC2C,GAAG,CAACF,GAAG,CAAC,SAASD,EAAE,EAAE,CAAC,EAAE9C,EAAE,WAAWkD,EAAE5C,EAAEiB,EAAE,CAAC,IAAI4B,EAAE9B,EAAE,QAAQ6B,GAAGsE,EAAEnG,EAAE,UAAU6B,GAAG,IAAI,IAAI,EAAE,EAAE,GAAGrC,EAAE,IAAI,CAAC,IAAI4G,EAAE,EAAE5G,EAAE,KAAK,GAAG,EAAEoH,EAAE,KAAK,IAAIR,EAAE,CAACY,EAAE,CAAC,KAAK,IAAIZ,EAAE,CAAC,EAAE,EAAEY,EAAElF,EAAE,EAAE8E,EAAET,EAAE,EAAE,EAAE,EAAEa,EAAElF,EAAE,EAAE8E,EAAET,EAAE,EAAE,EAAE,EAAEa,EAAElF,EAAE,EAAE8E,EAAET,EAAE,EAAE,EAAE,WAAW,CAAC/F,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAEF,EAAE,EAAEb,EAAE,EAAE,EAAE,EAAE,EAAEa,EAAE,EAAEb,EAAE,EAAE,EAAE,EAAE,EAAEa,EAAE,EAAEb,EAAE,EAAE,EAAEc,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAASuB,GAAG,CAAC,IAAI,IAAIG,EAAE,EAAEA,GAAG5C,EAAE,IAAI,IAAI,IAAI6C,EAAE,EAAEA,GAAGtC,EAAE,IAAI,CAAC,IAAI2G,GAAG3G,EAAE,IAAIqC,EAAE,IAAIC,EAAE,GAAG,GAAGtC,EAAE,GAAGqC,GAAGC,EAAE,GAAGsE,GAAG5G,EAAE,GAAGqC,EAAEC,EAAE8E,GAAGpH,EAAE,IAAIqC,EAAE,GAAGC,EAAE,EAAE,KAAKqE,EAAE,EAAES,EAAE,CAACtG,EAAE,KAAK,EAAE8F,EAAEQ,EAAE,EAAE,SAAShF,GAAG,CAAC,IAAI,IAAIC,EAAE,EAAEA,GAAG5C,EAAE,IAAI,IAAI,IAAI6C,EAAE,EAAEA,GAAGtC,EAAE,IAAI,EAAE,EAAEqC,EAAE5C,EAAE,EAAE,EAAE6C,EAAEtC,EAAEa,EAAE,KAAKJ,EAAE,EAAEA,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKtB,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,QAAQ,CAAC,IAAIA,EAAE,MAAM,QAAQ,CAAC,MAAO,GAAE,KAAK,KAAK,WAAW,KAAK,QAAQ,CAACA,EAAE,OAAO,SAAS,EAAE,CAAC,OAAO,IAAIC,EAAE,IAAI4N,GAAG7N,EAAE,KAAK,OAAO,CAAC,SAASA,EAAE,KAAK,CAACA,EAAE,gBAAgBA,EAAE,OAAOA,EAAE,eAAeA,EAAE,OAAO,GAAG,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,oBAAoB,KAAK,WAAW,CAAC,SAASA,EAAE,CAACA,IAAI,KAAK,CAAC,IAAIM,EAAE,EAAE,CAACI,EAAE,IAAI,IAAIG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAGb,EAAE,QAAQ,KAAK,CAAC,IAAIqB,EAAErB,EAAE,WAAW,SAAS,EAAEA,EAAE,MAAM,EAAEA,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,EAAE,CAAC,EAAE,IAAI,IAAIsB,EAAE,EAAEC,EAAE,EAAE,OAAOD,EAAEC,EAAE,EAAED,EAAE,CAAC,IAAIE,EAAE,EAAEF,GAAGG,EAAED,EAAE,MAAME,EAAEF,EAAE,MAAM,IAAI,IAAIG,EAAEF,EAAE,EAAEA,EAAEC,EAAEC,EAAE,EAAE,GAAG,EAAE,IAAI,IAAImB,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIC,EAAE,EAAE,KAAKpB,EAAEmB,EAAE,CAACG,EAAE,EAAE,KAAKtB,GAAGmB,EAAE,GAAG,EAAE,CAAC,EAAE,oBAAoBzB,EAAE0B,EAAE,CAAC,EAAE,oBAAoB1B,EAAE4B,EAAE,CAAC,GAAGpC,EAAE,EAAEH,EAAE,GAAG,CAAC,IAAIJ,EAAE,KAAKO,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACP,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAIe,EAAErB,EAAE,WAAW,SAAS,IAAI,IAAI,EAAE,EAAE,EAAEqB,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,IAAIC,EAAE,EAAE,EAAED,EAAEE,EAAE,EAAE,GAAGF,EAAE,GAAG,EAAE,EAAE,oBAAoBD,EAAEE,EAAE,CAAC,EAAE,oBAAoBF,EAAEG,EAAE,CAAC,GAAGX,EAAE,EAAEH,EAAE,GAAG,CAAC,IAAIJ,EAAE,KAAKO,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAE,CAACP,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,aAAa,WAAW,IAAI,EAAEA,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKN,EAAE,CAAC,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,OAA+L,OAAO,OAAO,CAAC,UAAU,KAAK,YAAYgN,GAAG,gBAAgBI,GAAG,eAAe,GAAG,aAAa,GAAG,iBAAiBC,GAAG,qBAAqBE,GAAG,cAAc,GAAG,gBAAgB,GAAG,oBAAoB+B,GAAG,cAAc,GAAG,mBAAmBC,GAAG,cAAcC,GAAG,mBAAmBlC,GAAG,aAAamC,GAAG,cAAc,GAAG,eAAe,GAAG,oBAAoB,GAAG,cAAcC,GAAG,kBAAkB,GAAG,aAAaC,GAAG,kBAAkB,GAAG,CAAC,CAAymC,GAAG;;GAEpp+N,GAAG;;GAEH,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,iBAAiB,CAAC,EAAE,KAAK,KAAK,iBAAiB,KAAK,QAAQ,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC,KAAK,aAAa,GAAG,KAAK,eAAe,GAAG,KAAK,UAAU,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,mBAAmB,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,uBAAuB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAoB,IAAK,GAAE,KAAK,mBAAmB,CAAC,EAAE,KAAK,YAAY,KAAK3P,IAAI,IAAK,IAAG,KAAK,UAAUA,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,KAAKA,EAAE,CAAC,KAAK,eAAeA,EAAE,eAAe,KAAK,aAAaA,EAAE,aAAa,KAAK,SAASsD,GAAGtD,EAAE,SAAS,CAAC,KAAK,eAAe,GAAGA,EAAE,eAAe,CAAC,KAAK,QAAQ,OAAO,OAAO,EAAE,CAACA,EAAE,QAAQ,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,IAAIA,EAAE,IAAI,KAAK,OAAOA,EAAE,OAAO,KAAK,SAASA,EAAE,SAAS,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,EAAE,WAAW,CAAC,KAAK,YAAYA,EAAE,YAAY,KAAK,uBAAuB,OAAO,OAAO,EAAE,CAACA,EAAE,uBAAuB,CAAC,KAAK,oBAAoBA,EAAE,oBAAoB,KAAK,mBAAmBA,EAAE,mBAAmB,KAAK,OAAO,EAAE,CAAC,IAAIM,EAAE,MAAM,OAAON,EAAE,CAA8C,IAAI,IAAIa,IAArD,GAAE,YAAY,KAAK,YAAY,EAAE,SAAS,EAAE,CAAc,KAAK,SAAS,CAAC,IAAIQ,EAAE,KAAK,SAASR,GAAG,MAAM,GAAGQ,EAAE,UAAU,EAAE,SAASR,GAAG,CAAC,KAAK,IAAI,MAAMQ,EAAE,OAAOrB,EAAE,CAAC,KAAK,CAACqB,GAAGA,EAAE,QAAQ,EAAE,SAASR,GAAG,CAAC,KAAK,IAAI,MAAMQ,EAAE,QAAQ,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASR,GAAG,CAAC,KAAK,KAAK,MAAMQ,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASR,GAAG,CAAC,KAAK,KAAK,MAAMQ,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASR,GAAG,CAAC,KAAK,KAAK,MAAMQ,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASR,GAAG,CAAC,KAAK,KAAK,MAAMQ,EAAE,SAAS,CAAC,CAACA,GAAGA,EAAE,UAAU,EAAE,SAASR,GAAG,CAAC,KAAK,KAAK,MAAMQ,EAAE,SAAS,CAAC,CAAC,EAAE,SAASR,GAAG,CAAC,MAAMQ,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,OAAO,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,aAAa,KAAK,aAAa,EAAE,eAAe,KAAK,eAAe,EAAE,OAAO,KAAK,OAAO,EAAE,SAAS,KAAK,SAAS,IAAIX,EAAE,EAAE,CAAC,IAAI,IAAIG,KAAK,KAAK,WAAW,KAAK,WAAWA,KAAK,CAAC,IAAI,EAAEA,GAAG,CAAC,GAAG,OAAO,OAAO,KAAKH,EAAE,CAAC,OAAO,IAAI,EAAE,WAAWA,GAAGJ,IAAgsf,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,mBAAmBN,EAAE,KAAK,aAAa,EAAE,KAAK,aAAaa,IAAI,IAAK,GAAI,IAAIP,EAAE,YAAYI,EAAE,CAAtBG,EAAuB,KAAK,aAAaP,EAAE,KAAK,UAAUI,EAAE,KAAK,SAAS,KAAK,KAAK,iBAAiB,EAAE,CAAC,SAAS,EAAE,CAAC,IAAIJ,EAAE,KAAK,mBAAmBI,EAAE,KAAK,aAAaG,EAAEP,EAAEI,GAAG,EAAEJ,EAAEI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAIW,EAAE,EAAE,CAAC,EAAE,GAAG,EAAErB,EAAEa,GAAG,CAAC,IAAI,IAAI,EAAEH,EAAE,IAAI,CAAC,GAAGG,IAAI,IAAK,GAAE,CAAC,GAAGb,EAAE,EAAE,MAAM,EAAE,MAAO,GAAEM,EAAE,OAAO,KAAK,aAAaI,EAAE,KAAK,iBAAiBA,EAAE,EAAE,CAAC,GAAGA,IAAI,EAAE,MAAM,GAAG,EAAEG,EAAE,EAAEP,EAAE,EAAEI,GAAGV,EAAEa,EAAE,MAAM,EAAE,EAAEP,EAAE,OAAO,MAAM,EAAE,GAAG,EAAEN,GAAG,GAAG,CAAC,IAAI,EAAEM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,EAAEI,EAAE,IAAI,CAAC,GAAG,IAAI,IAAK,GAAE,MAAO,MAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,CAAC,GAAGA,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,EAAEJ,EAAE,EAAEI,EAAE,GAAGV,GAAG,EAAE,MAAM,EAAE,EAAEU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAKA,EAAEW,GAAG,CAAC,IAAI,EAAEX,EAAEW,IAAI,EAAE,EAAEf,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAEA,EAAEI,GAAG,EAAEJ,EAAEI,EAAE,GAAG,IAAI,IAAK,GAAE,MAAO,MAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,CAAC,GAAGG,IAAI,IAAK,GAAE,MAAO,GAAEP,EAAE,OAAO,KAAK,aAAaI,EAAE,KAAK,iBAAiBA,EAAE,EAAE,CAAC,KAAK,aAAaA,EAAE,KAAK,iBAAiBA,EAAE,EAAEG,EAAE,CAAC,OAAO,KAAK,aAAaH,EAAE,EAAEV,EAAEa,EAAE,CAAC,cAAc,CAAC,OAAO,KAAK,UAAU,KAAK,iBAAiB,iBAAiB,EAAE,CAAC,IAAIP,EAAE,KAAK,aAAaI,EAAE,KAAK,aAAaG,EAAE,KAAK,UAAU,EAAEb,EAAEa,EAAE,IAAI,IAAIQ,EAAE,EAAEA,IAAIR,EAAE,EAAEQ,EAAE,EAAEA,GAAGX,EAAE,EAAEW,GAAG,OAAOf,EAAE,cAAc,CAAC,MAAU,MAAM,0BAA0B,CAAC,kBAAkB,IAAI,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMN,EAAEM,EAAEI,EAAEG,EAAE,CAAC,KAAK,YAAY,GAAG,KAAK,YAAY,GAAG,KAAK,YAAY,GAAG,KAAK,YAAY,GAAG,KAAK,iBAAiB,CAAC,YAAY,GAAG,UAAU,GAAG,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,KAAK,mBAAmB,EAAEb,EAAE,EAAEqB,EAAErB,EAAE,EAAE,EAAEa,EAAE,GAAG,EAAEA,EAAEQ,GAAG,GAAG,IAAI,IAAK,GAAE,OAAO,KAAK,cAAc,CAAC,YAA3B,CAAwC,KAAK,GAAG,EAAErB,EAAE,EAAE,EAAEM,EAAEI,EAAE,MAAM,KAAK,GAAG,EAAEG,EAAE,OAAO,EAAE,EAAEP,EAAEO,EAAE,GAAGA,EAAE,EAAE,GAAG,MAAM,QAAQ,EAAEb,EAAE,EAAEU,EAAE,GAAG,IAAI,IAAK,GAAE,OAAO,KAAK,cAAc,CAAC,UAA3B,CAAsC,KAAK,GAAG,EAAEV,EAAE,EAAE,EAAEU,EAAEJ,EAAE,MAAM,KAAK,GAAG,EAAE,EAAE,EAAEI,EAAEG,EAAE,GAAGA,EAAE,GAAG,MAAM,QAAQ,EAAEb,EAAE,EAAE,EAAEM,EAAE,IAAIgB,GAAGZ,EAAEJ,GAAG,GAAGiB,EAAE,KAAK,UAAU,KAAK,YAAYD,GAAGhB,EAAE,GAAG,KAAK,YAAYgB,GAAG,EAAEZ,GAAG,KAAK,YAAY,EAAEa,EAAE,KAAK,YAAYF,EAAEE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,aAAaF,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAErB,EAAE,EAAEsB,EAAE,EAAE,EAAEC,EAAE,KAAK,YAAYC,EAAE,KAAK,YAAYC,EAAE,KAAK,YAAYC,EAAE,KAAK,YAAYC,GAAGjB,EAAEJ,IAAIO,EAAEP,GAAG,EAAEqB,EAAEA,EAAEmB,EAAE,EAAEnB,EAAEoB,EAAE,CAACtB,EAAEqB,EAAE,EAAErB,EAAE,EAAEA,EAAEE,EAAEsB,GAAG,EAAExB,GAAGqB,GAAG,KAAK,EAAErB,GAAG,GAAG,IAAIA,GAAGE,EAAE,EAAEuB,GAAG,GAAGxB,GAAGoB,GAAG,IAAIpB,GAAG,EAAE,GAAGC,EAAEwB,EAAEzB,EAAEoB,EAAEpB,EAAE,EAAE,IAAI,IAAI8F,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGzE,EAAE1B,EAAEE,EAAEiG,GAAGvE,EAAE5B,EAAEC,EAAEkG,GAAGtE,EAAE7B,EAAE,EAAEmG,GAAGrE,EAAE9B,EAAEG,EAAEgG,GAAG,OAAO,IAAIsI,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM9P,EAAEM,EAAEI,EAAEG,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,aAAaQ,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAErB,EAAE,EAAEsB,EAAE,EAAE,EAAEC,GAAGb,EAAEJ,IAAIO,EAAEP,GAAGkB,EAAE,EAAED,EAAE,IAAI,IAAIE,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGJ,EAAEC,EAAEG,GAAGD,EAAEH,EAAE,EAAEI,GAAGF,EAAE,OAAO,IAAI,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMvB,EAAEM,EAAEI,EAAEG,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,iBAAiBb,EAAE,EAAE,GAAG,GAAG,cAAc,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,aAAaqB,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAErB,EAAE,EAAEsB,EAAE,EAAE,EAAEC,EAAE,KAAK,UAAU,KAAK,iBAAiBC,EAAED,EAAE,WAAWE,EAAEF,EAAE,YAAY,GAAG,CAACC,GAAG,CAACC,EAAE,CAAC,IAAI,GAAGf,EAAEJ,IAAIO,EAAEP,GAAGwC,EAAE,EAAE,EAAE,IAAI,IAAIC,EAAE,EAAEA,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAG1B,EAAEC,EAAEyB,GAAGD,EAAEzB,EAAE,EAAE0B,GAAG,EAAE,OAAO,EAAE,IAAIrB,EAAE,EAAE,EAAEC,EAAE3B,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI8C,EAAEzB,EAAEC,EAAE,GAAGyB,EAAE1B,EAAE,EAAE,GAAG4B,EAAEtB,EAAED,EAAE,EAAE,EAAEwB,EAAEzB,EAAEwB,GAAGE,EAAE1B,EAAEwB,EAAE,GAAGuE,EAAExH,EAAE0B,EAAE,EAAE,EAAE,EAAEF,EAAEgG,GAAGC,EAAEjG,EAAEgG,EAAE,GAAGS,GAAGvH,EAAEJ,IAAIO,EAAEP,GAAG+H,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAE,EAAE,IAAI,CAAC,EAAET,EAAEA,EAAE,EAAEI,EAAEJ,EAAE,EAAE,EAAEA,EAAE,EAAEM,EAAEA,EAAE,EAAEC,EAAED,EAAE,IAAIK,EAAGH,EAAEnI,EAAE,EAAEkI,EAAEP,EAAE/E,EAAE,EAAEqF,EAAEF,EAAE,EAAEC,EAAEzH,EAAEH,EAAE,GAAG,KAAK,IAAIkI,EAAG,CAAC,MAAM,MAAM,IAAIC,EAAG,EAAEL,GAAGtF,EAAE5C,GAAG,EAAEiI,EAAEN,GAAG,EAAE/E,GAAG,EAAEmF,GAAGxH,EAAE,GAAG,GAAG,KAAK,IAAIgI,EAAG,CAAC,MAAM,MAAM,GAAID,EAAGC,EAAG,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAEZ,EAAE,CAAC,CAAC,EAAE,GAAGQ,EAAE3F,EAAE,EAAE0F,EAAEP,EAAE9E,EAAE,EAAEoF,EAAEF,EAAEZ,EAAEa,EAAEvF,EAAE,OAAO,IAAIgN,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG/P,IAAI,IAAK,GAAE,MAAU,MAAM,+CAA+C,CAAC,GAAGM,IAAI,IAAK,IAAGA,EAAE,SAAS,EAAE,MAAU,MAAM,oDAAoDN,EAAE,CAAC,KAAK,KAAKA,EAAE,KAAK,MAAM,GAAGM,EAAE,KAAK,eAAe,CAAC,KAAK,OAAO,GAAGI,EAAE,KAAK,gBAAgB,CAAC,KAAK,iBAAiBG,GAAG,KAAK,qBAAqB,CAAC,OAAO,OAAO,EAAE,CAAC,IAAIP,EAAEN,EAAE,YAAYU,EAAE,GAAGJ,EAAE,SAAS,KAAK,OAAO,EAAEA,EAAE,OAAON,EAAE,KAAK,CAAC,EAAE,CAAC,KAAKA,EAAE,KAAK,MAAM,GAAGA,EAAE,MAAM,MAAM,CAAC,OAAO,GAAGA,EAAE,OAAO,MAAM,CAAC,CAAC,IAAIa,EAAEb,EAAE,kBAAkB,CAAC,IAAIA,EAAE,uBAAuB,EAAE,cAAca,GAAG,MAAO,GAAE,KAAKb,EAAE,cAAcU,EAAE,iCAAiC,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACV,EAAE,CAAC,+BAA+B,EAAE,CAAC,OAAO,IAAI8P,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAAC9P,EAAE,CAAC,+BAA+B,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACA,EAAE,CAAC,+BAA+B,EAAE,CAAC,IAAIM,EAAE,IAAI,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACN,EAAE,CAAC,OAAO,KAAK,WAAW,EAAE,SAAS,KAAK,UAAUM,EAAE,iBAAiB,EAAE,CAAC,IAAIA,EAAE,OAAON,EAAP,CAAU,KAAKuG,GAAG,EAAE,KAAK,iCAAiC,MAAM,KAAK,GAAG,EAAE,KAAK,+BAA+B,MAAM,KAAK,GAAG,EAAE,KAAK,+BAA+B,MAAM,KAAK,GAAG,EAAE,KAAK,+BAA+B,MAAM,GAAGjG,IAAI,IAAK,GAAE,CAAC,IAAII,EAAE,iCAAiC,KAAK,cAAc,yBAAyB,KAAK,KAAK,GAAG,KAAK,oBAAoB,IAAK,GAAE,GAAGV,IAAI,KAAK,qBAAqB,KAAK,iBAAiB,KAAK,qBAAqB,MAAM,MAAU,MAAMU,EAAE,CAAC,OAAO,GAAE,iBAAiBA,EAAE,CAAC,KAAK,MAAO,MAAK,kBAAkBJ,EAAE,KAAK,kBAAkB,CAAC,OAAO,KAAK,kBAAZ,CAA+B,KAAK,KAAK,iCAAiC,OAAOiG,GAAG,KAAK,KAAK,+BAA+B,OAAO,GAAG,KAAK,KAAK,+BAA+B,OAAO,GAAG,KAAK,KAAK,+BAA+B,OAAO,IAAI,cAAc,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,EAAE,CAAC,GAAGvG,IAAI,EAAE,CAAC,IAAIM,EAAE,KAAK,MAAM,IAAI,IAAII,EAAE,EAAEG,EAAEP,EAAE,OAAOI,IAAIG,EAAE,EAAEH,EAAE,EAAEA,IAAIV,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,GAAGA,IAAI,EAAE,CAAC,IAAIM,EAAE,KAAK,MAAM,IAAI,IAAII,EAAE,EAAEG,EAAEP,EAAE,OAAOI,IAAIG,EAAE,EAAEH,EAAE,EAAEA,IAAIV,EAAE,OAAO,KAAK,KAAK,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,MAAMG,EAAEH,EAAE,OAAO,EAAE,EAAEW,EAAER,EAAE,EAAE,KAAK,IAAIA,GAAGH,EAAE,GAAGV,GAAG,EAAE,EAAE,KAAKqB,IAAI,IAAIX,EAAEW,GAAGf,GAAG,EAAEe,EAAE,GAAG,EAAEA,EAAE,IAAI,GAAGA,IAAIR,EAAE,CAAC,GAAGQ,IAAI,EAAE,KAAK,IAAIA,EAAE,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,EAAE,KAAK,cAAc,CAAC,KAAK,MAAMX,EAAE,MAAM,EAAEW,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,MAAM,EAAE,EAAEA,EAAE,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,IAAIrB,EAAE,CAAC,EAAEM,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,MAAMA,EAAE,GAAG,IAAIC,GAAE,8CAA8C,KAAK,CAAC,EAAE,CAAC,GAAG,IAAIG,EAAE,KAAK,MAAMG,EAAE,KAAK,OAAO,EAAEH,EAAE,OAAO,IAAI,IAAIH,GAAE,iCAAiC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAIc,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAEX,EAAE,GAAG,GAAG,OAAO,GAAG,UAAU,MAAM,EAAE,CAAC,CAAC,GAAE,6CAA6C,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAGW,IAAI,MAAMA,EAAE,EAAE,CAAC,GAAE,oCAAoC,KAAK,EAAE,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAGR,IAAI,IAAK,IAAG,GAAGA,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,IAAIS,EAAET,EAAE,GAAG,GAAG,MAAMS,EAAE,CAAC,CAAC,GAAE,8CAA8C,KAAK,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,OAAOtB,EAAE,UAAU,CAAC,IAAIA,EAAE,KAAK,MAAM,OAAO,CAACM,EAAE,KAAK,OAAO,OAAO,CAACI,EAAE,KAAK,cAAc,CAACG,EAAE,KAAK,kBAAkB,GAAG,GAAG,EAAEb,EAAE,OAAO,EAAEqB,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEC,EAAEtB,EAAE,GAAY,GAAGsB,IAAVtB,EAAE,EAAE,KAAc,IAAI,GAAGsB,IAAItB,EAAE,IAAI,GAAGa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAIW,EAAE,EAAEd,EAAEe,EAAED,EAAEd,EAAEgB,EAAEF,EAAEd,EAAE,IAAI,IAAIiB,EAAE,EAAEA,IAAIjB,EAAE,EAAEiB,EAAE,CAAC,IAAI,EAAErB,EAAEkB,EAAEG,GAAG,GAAG,IAAIrB,EAAEmB,EAAEE,IAAI,IAAIrB,EAAEoB,EAAEC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAIN,EAAE,CAAC,EAAEA,GAAGrB,EAAE,GAAG,IAAIwB,EAAE,EAAEd,EAAEe,EAAEJ,EAAEX,EAAE,IAAI,IAAIgB,EAAE,EAAEA,IAAIhB,EAAE,EAAEgB,EAAE,EAAED,EAAEC,GAAGpB,EAAEkB,EAAEE,GAAG,EAAEL,GAAG,GAAG,EAAE,EAAE,CAAC,EAAEA,GAAGrB,EAAE,GAAG,IAAI,IAAI,EAAE,EAAEU,EAAE,EAAEW,EAAEX,EAAEY,EAAE,EAAEA,IAAIZ,EAAE,EAAEY,EAAE,EAAE,EAAEA,GAAGhB,EAAE,EAAEgB,GAAG,EAAED,EAAE,OAAOA,IAAIrB,EAAE,QAA6D,KAAK,MAAMA,EAAE,KAAK,OAAOM,IAA9E,KAAK,MAAMN,EAAE,MAAM,EAAEqB,EAAE,CAAC,KAAK,OAAOf,EAAE,MAAM,EAAEe,EAAEX,EAAE,EAA+B,KAAK,OAAO,CAAC,IAAIV,EAAE,KAAK,MAAM,OAAO,CAACM,EAAE,KAAK,OAAO,OAAO,CAACI,EAAE,KAAK,YAAYG,EAAE,IAAIH,EAAE,KAAK,KAAKV,EAAEM,EAAE,CAAC,MAAO,GAAE,kBAAkB,KAAK,kBAAkBO,IAAI,GAAG,UAAU,cAAc,GAAG,GAAG,UAAU,eAAe,aAAa,GAAG,UAAU,gBAAgB,aAAa,GAAG,UAAU,qBAAqB,GAAO+C,GAAG,cAAcmM,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM/P,EAAEM,EAAEI,EAAE,GAAG,GAAG,UAAU,cAAc,OAAO,GAAG,UAAU,gBAAgB,MAAM,GAAG,UAAU,qBAAqB6F,GAAG,GAAG,UAAU,+BAA+B,IAAK,GAAE,GAAG,UAAU,+BAA+B,IAAK,GAAM,GAAG,cAAcwJ,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM/P,EAAEM,EAAEI,EAAEG,EAAE,GAAG,GAAG,UAAU,cAAc,QAAY6C,GAAG,cAAcqM,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM/P,EAAEM,EAAEI,EAAEG,EAAE,GAAG,GAAG,UAAU,cAAc,SAAa,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAMb,EAAEM,EAAEI,EAAEG,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,aAAaQ,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,GAAGX,EAAEJ,IAAIO,EAAEP,GAAGgB,EAAEtB,EAAE,EAAE,IAAI,IAAIuB,EAAED,EAAE,EAAEA,IAAIC,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,EAAEF,EAAEC,EAAE,EAAED,EAAEC,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG,cAAcyO,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM/P,EAAEM,EAAEI,EAAEG,EAAE,CAAC,+BAA+B,EAAE,CAAC,OAAO,IAAI,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,cAAc,CAACb,EAAE,GAAG,GAAG,UAAU,cAAc,aAAa,GAAG,UAAU,+BAA+B,IAAK,GAAM,GAAG,cAAc+P,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM/P,EAAEM,EAAEI,EAAE,GAAG,GAAG,UAAU,cAAc,SAAS,GAAG,UAAU,gBAAgB,MAAM,GAAG,UAAU,qBAAqB6F,GAAG,GAAG,UAAU,+BAA+B,IAAK,GAAE,GAAG,UAAU,+BAA+B,IAAK,GAAM5C,GAAG,cAAcoM,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM/P,EAAEM,EAAEI,EAAEG,EAAE,GAAG,GAAG,UAAU,cAAc,SAAq8H,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAE,KAAK,EAAE,CAAC,EAAEQ,EAAE,EAAE,EAAE,EAAE,EAAEC,EAAE,EAAE,CAAC,KAAK,QAAQ,IAAK,GAAE,KAAK,OAAOtB,EAAE,KAAK,WAAWM,EAAE,KAAK,QAAQI,EAAE,KAAK,iBAAiB,KAAK,KAAK,UAAU,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,GAAGG,EAAE,UAAU,IAAK,IAAGA,EAAE,QAAQU,EAAEF,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,SAAS,EAAE,CAAC,IAAIR,EAAE,aAAa,IAAK,IAAGA,EAAE,WAAWU,EAAEF,EAAE,EAAE,CAACA,IAAI,IAAI,EAAE,CAAC,EAAER,EAAE,SAAS,IAAK,IAAGA,EAAE,QAAQ,GAAG,KAAK,UAAU,SAAS,EAAE,CAAC,EAAE,UAAU,IAAK,IAAGA,EAAE,QAAQU,EAAE,EAAE,KAAK,WAAW,SAAS,EAAE,CAAC,OAAO,EAAE,EAAEA,EAAE,CAACA,GAAG,KAAK,eAAe,SAAS,EAAE,CAAC,MAAO,GAAEA,EAAE,MAAM,KAAK,WAAW,SAAS,EAAE,EAAE,CAAC,OAAOD,EAAE,KAAKC,EAAEC,EAAE,CAAC,MAAM,KAAK,cAAc,SAAS,EAAE,CAAC,IAAIA,EAAEF,EAAE,QAAQC,EAAE,CAAC,OAAOC,IAAI,IAAIF,EAAE,OAAOE,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,SAAS,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEC,EAAEH,EAAE,OAAOE,EAAEC,EAAE,GAAG,EAAE,CAAC,IAAIC,EAAEJ,EAAEE,GAAGG,EAAEL,EAAEE,EAAE,GAAG,GAAGE,EAAE,SAAS,EAAE,UAAU,GAAGA,EAAE,KAAKH,EAAE,CAAC,OAAOI,EAAE,OAAO,MAAM,KAAK,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,OAAO,CAAC,KAAK,iBAAiB,KAAK,MAAM,IAAI,iBAAiB,CAAC,MAAO,CAAwB,KAAK,mBAAiB,IAAI,gBAAiB,KAAK,mBAAmB,GAAG,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,QAAQ3B,IAAI,IAAK,GAAI,GAAFA,EAAK,KAAK,YAAY,YAAY,KAAK,gBAAgB,CAAC,EAAE,KAAK,KAAK,GAAG,KAAK,aAAa,GAAG,KAAK,cAAc,EAAE,CAAC,OAAO,mBAAmB,KAAK,mBAAmB,cAAc,IAAI,YAAY,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,OAAO,IAAI,QAAQ,SAAS,EAAE,EAAE,CAAC,EAAE,KAAKV,EAAEa,EAAEP,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,MAAO,MAAK,YAAYN,EAAE,KAAK,mBAAmB,EAAE,CAAC,MAAO,MAAK,gBAAgBA,EAAE,KAAK,QAAQ,EAAE,CAAC,MAAO,MAAK,KAAKA,EAAE,KAAK,gBAAgB,EAAE,CAAC,MAAO,MAAK,aAAaA,EAAE,KAAK,iBAAiB,EAAE,CAAC,MAAO,MAAK,cAAcA,EAAE,KAAK,OAAO,CAAC,OAAO,OAAO,GAAG,sBAAsB,YAAuC,MAA8hO,IAAI,GAAK,IAAI,EAAK,IAAI,EAAkvD,GAAG,IAAI,EAAEoQ,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,cAAczG,EAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,EAAE,KAAK,KAAK,SAAS,KAAK,mBAAmB,IAAI,GAAE,KAAK,iBAAiB,IAAI,GAAE,KAAK,wBAAwB,IAAI,GAAE,KAAK,iBAAiB,GAAG,KAAK,eAAe,CAAC,EAAE,IAAI,eAAe,CAAC,OAAO,KAAK,eAAe,KAAK,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK3J,EAAEM,EAAE,CAAC,KAAK,mBAAmB,KAAKN,EAAE,mBAAmB,CAAC,KAAK,iBAAiB,KAAKA,EAAE,iBAAiB,CAAC,KAAK,wBAAwB,KAAKA,EAAE,wBAAwB,CAAC,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,kBAAkB,EAAE,CAAC,OAAO,MAAM,kBAAkBA,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,kBAAkBA,EAAE,CAAC,KAAK,YAAY,UAAU,GAAGoQ,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,KAAK,mBAAmB,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,mBAAmB,QAAQ,GAAGA,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,kBAAkBpQ,EAAEM,EAAE,CAAC,KAAK,YAAY,UAAU,GAAG8P,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,KAAK,mBAAmB,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,mBAAmB,QAAQ,GAAGA,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,aAAa,CAAC,KAAK,KAAK,GAAG,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAEC,GAAG,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,oBAAoB,CAAC,EAAE,KAAK,KAAK,oBAAoB,KAAK,IAAItQ,EAAE,KAAK,KAAK,EAAE,KAAK,KAAKU,EAAE,KAAK,IAAIG,EAAE,KAAK,MAAM,GAAG,KAAK,OAAOP,EAAE,KAAK,KAAK,KAAK,KAAK,UAAU,GAAG,KAAK,WAAW,EAAE,KAAK,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,MAAM,KAAKN,EAAEM,EAAE,CAAC,KAAK,IAAIN,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,KAAKA,EAAE,KAAK,KAAK,IAAIA,EAAE,IAAI,KAAK,MAAMA,EAAE,MAAM,KAAK,OAAOA,EAAE,OAAO,KAAK,KAAKA,EAAE,OAAO,KAAK,KAAK,OAAO,OAAO,EAAE,CAACA,EAAE,KAAK,CAAC,KAAK,UAAUA,EAAE,UAAU,KAAK,WAAWA,EAAE,WAAW,KAAK,eAAe,EAAE,CAAC,IAAIM,EAAE,GAAG,KAAK,eAAe,CAACN,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,KAAKM,EAAE,CAAC,KAAK,wBAAwB,CAAC,gBAAgB,CAAC,IAAIN,EAAE,KAAK,IAAIkB,GAAG,GAAG,KAAK,IAAI,CAAC,MAAO,IAAG,KAAK,eAAe,CAAClB,EAAE,iBAAiB,CAAC,OAAO,GAAG,EAAE,KAAK,KAAK,KAAK,IAAIkB,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,eAAe,CAAC,OAAO,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,aAAa,KAAK,wBAAwB,CAACZ,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CAACN,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,aAAa,KAAK,wBAAwB,CAACU,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CAACV,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,KAAK,cAAcA,EAAEqQ,GAAGC,GAAG,CAAChQ,EAAE,WAAWgQ,GAAGD,GAAG,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAOrQ,EAAEM,EAAE,KAAK,OAAO,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,EAAE,KAAK,KAAK,UAAUN,EAAE,KAAK,KAAK,WAAWM,EAAE,KAAK,KAAK,QAAQI,EAAE,KAAK,KAAK,QAAQG,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,OAAOQ,EAAE,KAAK,wBAAwB,CAAC,iBAAiB,CAAC,KAAK,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,GAAG,KAAK,wBAAwB,CAAC,wBAAwB,CAAC,IAAIrB,EAAE,KAAK,KAAKM,EAAEN,EAAE,KAAK,IAAIkB,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,KAAKR,EAAE,EAAEJ,EAAEO,EAAE,KAAK,OAAOH,EAAE,EAAE,IAAIG,EAAEQ,EAAE,KAAK,KAAK,GAAG,KAAK,OAAO,MAAM,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAEA,EAAE,UAAUC,EAAED,EAAE,WAAW,GAAGA,EAAE,QAAQR,EAAE,EAAE,GAAGQ,EAAE,QAAQX,EAAEY,EAAE,GAAGD,EAAE,MAAM,EAAE,GAAGA,EAAE,OAAOC,EAAE,IAAI,EAAE,KAAK,WAAW,IAAI,IAAI,GAAGtB,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,gBAAgB,EAAE,EAAEa,EAAEP,EAAEA,EAAEI,EAAEV,EAAE,KAAK,IAAI,KAAK,iBAAiB,KAAK,cAAc,CAAC,KAAK,wBAAwB,KAAK,KAAK,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAIM,EAAE,MAAM,OAAON,EAAE,CAAC,MAAO,GAAE,OAAO,IAAI,KAAK,IAAI,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,EAAE,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO,OAAO,KAAK,OAAO,KAAK,OAAO,OAAO,EAAE,OAAO,KAAK,OAAO,OAAO,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE,OAAO,UAAU,KAAK,UAAU,EAAE,OAAO,WAAW,KAAK,WAAWM,IAA45D,GAAG,cAAc,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,qBAAqB,CAAC,EAAE,KAAK,KAAK,qBAAqB,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,KAAKN,EAAE,KAAK,MAAMM,EAAE,KAAK,IAAII,EAAE,KAAK,OAAOG,EAAE,KAAK,KAAK,EAAE,KAAK,IAAIQ,EAAE,KAAK,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,MAAM,KAAKrB,EAAEM,EAAE,CAAC,KAAK,KAAKN,EAAE,KAAK,KAAK,MAAMA,EAAE,MAAM,KAAK,IAAIA,EAAE,IAAI,KAAK,OAAOA,EAAE,OAAO,KAAK,KAAKA,EAAE,KAAK,KAAK,IAAIA,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,KAAKA,EAAE,OAAO,KAAK,KAAK,OAAO,OAAO,EAAE,CAACA,EAAE,KAAK,CAAC,KAAK,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,EAAE,KAAK,KAAK,UAAUA,EAAE,KAAK,KAAK,WAAWM,EAAE,KAAK,KAAK,QAAQI,EAAE,KAAK,KAAK,QAAQG,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,OAAOQ,EAAE,KAAK,wBAAwB,CAAC,iBAAiB,CAAC,KAAK,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,GAAG,KAAK,wBAAwB,CAAC,wBAAwB,CAAC,IAAIrB,GAAG,KAAK,MAAM,KAAK,OAAO,EAAE,KAAK,MAAMM,GAAG,KAAK,IAAI,KAAK,SAAS,EAAE,KAAK,MAAMI,GAAG,KAAK,MAAM,KAAK,MAAM,EAAEG,GAAG,KAAK,IAAI,KAAK,QAAQ,EAAE,EAAEH,EAAEV,EAAEqB,EAAEX,EAAEV,EAAE,EAAEa,EAAEP,EAAE,EAAEO,EAAEP,EAAE,GAAG,KAAK,OAAO,MAAM,KAAK,KAAK,QAAQ,CAAC,IAAIgB,GAAG,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,UAAU,KAAK,KAAKC,GAAG,KAAK,IAAI,KAAK,QAAQ,KAAK,KAAK,WAAW,KAAK,KAAK,GAAGD,EAAE,KAAK,KAAK,QAAQ,EAAE,EAAEA,EAAE,KAAK,KAAK,MAAM,GAAGC,EAAE,KAAK,KAAK,QAAQ,EAAE,EAAEA,EAAE,KAAK,KAAK,OAAO,KAAK,iBAAiB,iBAAiB,EAAEF,EAAE,EAAE,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,iBAAiB,KAAK,cAAc,CAAC,KAAK,wBAAwB,KAAK,KAAK,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAIf,EAAE,MAAM,OAAON,EAAE,CAAC,MAAO,GAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO,IAAI,KAAK,IAAI,EAAE,OAAO,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,KAAK,OAAO,OAAO,EAAE,OAAO,KAAK,OAAO,OAAO,EAAE,CAAC,KAAK,KAAK,EAAEM,IAA+h7B,IAAI,GAAK,IAAI,GAAK,IAAI,GAAqjJ,IAAI,EAAK,IAAI,GAAM,IAAI,EAAK,IAAI,EAAK,IAAI,EAA2nM,IAAI,EAAK,IAAI,GAAM,IAAI,EAAK,IAAI,EAA00IiR,GAAG,gBAAgB,GAAO,OAAO,IAAIA,GAAG,IAAI,IAAI,CAAC,GAAG,KAAKA,GAAG,IAAI,GAAG,KAAKA,GAAG,QAAQ,MAAM,GAAG,CAAC,IAAI,GAAG,mBAAyB,QAAQ,KAAK,GAAG,CAAC,GAAG,WAAkB,QAAQ,OAAO,GAAG,CAAC,GAAG,+BAAmC,QAAQ,KAAK,GAAG,CAAC,GAAG,0BAA8B,QAAQ,KAAK,GAAG,CAAC,GAAO,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,YAAY,QAAQ,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,IAAI1Q,EAAEH,GAAG8Q,GAAE,eAAelR,EAAE,CAAC,KAAK,aAAaN,EAAE,KAAK,UAAUA,EAAE,WAAWM,EAAEO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAIH,EAAE,KAAK,aAAa,gBAAgBG,EAAE,KAAK,UAAUH,GAAG,IAAI,IAAK,IAAGG,EAAE,SAASb,EAAEM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,UAAU,IAAI,IAAIG,EAAE,KAAK,aAAa,gBAAgB,EAAEH,EAAE,OAAOG,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAG,SAASb,EAAEM,EAAE,CAAC,MAAM,CAAC,IAAIN,EAAE,KAAK,UAAU,IAAI,IAAIM,EAAE,KAAK,aAAa,gBAAgBI,EAAEV,EAAE,OAAOM,IAAII,EAAE,EAAEJ,EAAE,EAAEA,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAIN,EAAE,KAAK,UAAU,IAAI,IAAIM,EAAE,KAAK,aAAa,gBAAgBI,EAAEV,EAAE,OAAOM,IAAII,EAAE,EAAEJ,EAAE,EAAEA,GAAG,QAAQ,GAAGkR,GAAE,MAAMvR,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,KAAK,KAAKK,EAAE,KAAK,WAAWI,GAAGT,EAAE,eAAeK,EAAE,CAAC,KAAK,KAAKL,EAAE,SAASD,EAAE,KAAK,WAAW,SAAS,CAAC,KAAK,SAASA,EAAE,KAAK,SAAS,KAAK,kBAAkB,KAAK,SAAS,KAAK,kBAAkB,OAAO,OAAO,EAAE,EAAE,EAAE,CAAC,OAAOA,GAAGA,EAAE,uBAAuB,IAAIC,EAAE,UAAUD,EAAEM,EAAEI,EAAE,CAAC,IAAIT,EAAED,EAAEM,EAAEI,EAAE,CAAC,OAAO,iBAAiB,EAAE,CAAC,OAAOV,EAAE,QAAQ,MAAM,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,eAAe,EAAE,CAAC,IAAIM,EAAE,GAAG,KAAKN,EAAE,CAAC,GAAGM,IAAI,KAAK,MAAU,MAAM,4CAA4CN,EAAE,CAAC,IAAIU,EAAE,CAAC,SAASJ,EAAE,GAAG,WAAWA,EAAE,GAAG,YAAYA,EAAE,GAAG,aAAaA,EAAE,GAAG,cAAcA,EAAE,GAAG,CAACO,EAAEH,EAAE,UAAUA,EAAE,SAAS,YAAY,IAAI,CAAC,GAAGG,IAAI,IAAK,IAAGA,IAAI,GAAG,CAAC,IAAI,EAAEH,EAAE,SAAS,UAAUG,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,SAASH,EAAE,SAAS,UAAU,EAAEG,EAAE,CAAC,EAAE,WAAW,GAAG,GAAGH,EAAE,eAAe,MAAMA,EAAE,aAAa,SAAS,EAAE,MAAU,MAAM,+DAA+DV,EAAE,CAAC,OAAOU,EAAE,OAAO,SAAS,EAAE,EAAE,CAAC,GAAGJ,IAAI,IAAK,IAAGA,IAAI,IAAIA,IAAI,KAAKA,IAAI,IAAIA,IAAIN,EAAE,MAAMM,IAAIN,EAAE,KAAK,OAAOA,EAAE,GAAGA,EAAE,SAAS,CAAC,IAAIU,EAAEV,EAAE,SAAS,cAAcM,EAAE,CAAC,GAAGI,IAAI,IAAK,GAAE,OAAOA,EAAE,GAAGV,EAAE,SAAS,CAAC,IAAIU,EAAE,SAAS,EAAE,CAAC,IAAI,IAAIW,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAEA,GAAG,GAAG,EAAE,OAAOf,GAAG,EAAE,OAAOA,EAAE,OAAO,EAAE,IAAI,EAAEI,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,MAAMG,EAAEH,EAAEV,EAAE,SAAS,CAAC,GAAGa,EAAE,OAAOA,EAAE,OAAO,KAAK,uBAAuB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAEP,GAAG,KAAK,aAAa,KAAK,cAAc,gBAAgB,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,iBAAiB,IAAI,IAAIG,EAAE,EAAE,EAAEH,EAAE,OAAOG,IAAI,EAAE,EAAEA,EAAE,EAAE,KAAKH,EAAEG,GAAG,uBAAuB,EAAE,EAAE,CAAC,EAAEP,GAAG,KAAK,iBAAiB,KAAK,eAAe,kBAAkB,EAAE,EAAE,CAAC,KAAK,iBAAiB,QAAQN,EAAEM,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,cAAcN,EAAEM,GAAG,gCAAgC,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,cAAcN,EAAEM,GAAG,KAAK,aAAa,YAAY,CAAC,EAAE,2CAA2C,EAAE,EAAE,CAAC,KAAK,aAAa,KAAK,cAAcN,EAAEM,GAAG,KAAK,aAAa,uBAAuB,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,IAAII,EAAE,KAAK,iBAAiB,IAAI,IAAIG,EAAE,EAAE,EAAEH,EAAE,OAAOG,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGb,EAAE,KAAK,+BAA+B,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,iBAAiB,IAAI,IAAIG,EAAE,EAAE,EAAEH,EAAE,OAAOG,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGb,EAAE,KAAK,KAAK,aAAa,YAAY,CAAC,EAAE,0CAA0C,EAAE,EAAE,CAAC,IAAIU,EAAE,KAAK,iBAAiB,IAAI,IAAIG,EAAE,EAAE,EAAEH,EAAE,OAAOG,IAAI,EAAE,EAAEA,EAAE,EAAEA,GAAGb,EAAE,KAAK,KAAK,aAAa,uBAAuB,CAAC,EAAE,uBAAuB,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,eAAeA,EAAEM,GAAG,sCAAsC,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,eAAeN,EAAEM,GAAG,KAAK,aAAa,YAAY,CAAC,EAAE,iDAAiD,EAAE,EAAE,CAAC,KAAK,iBAAiB,KAAK,eAAeN,EAAEM,GAAG,KAAK,aAAa,uBAAuB,CAAC,EAAE,oBAAoB,EAAE,EAAE,CAAC,KAAK,iBAAiB,UAAUN,EAAEM,EAAE,CAAC,mCAAmC,EAAE,EAAE,CAAC,KAAK,iBAAiB,UAAUN,EAAEM,EAAE,CAAC,KAAK,aAAa,YAAY,CAAC,EAAE,8CAA8C,EAAE,EAAE,CAAC,KAAK,iBAAiB,UAAUN,EAAEM,EAAE,CAAC,KAAK,aAAa,uBAAuB,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,SAASN,EAAEM,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,SAASN,EAAEM,EAAE,CAAC,MAAM,CAAC,IAAIN,EAAE,KAAK,KAAKM,EAAE,KAAK,WAAWI,EAAEJ,EAAE,WAAWO,EAAEP,EAAE,aAAa,EAAEA,EAAE,cAAc,GAAGN,IAAI,EAAEC,EAAE,SAAS,KAAK,SAASK,EAAE,SAAS,CAAC,KAAK,KAAKN,GAAG,KAAK,SAAS,KAAK,sBAAsB,KAAK,SAAS,KAAK,sBAAsB,CAACA,EAAE,CAAC,GAAE,oDAAoD,KAAK,KAAK,IAAI,CAAC,OAAO,GAAGU,EAAE,CAAC,IAAIY,EAAEhB,EAAE,YAAY,OAAOI,EAAP,CAAU,IAAI,YAAY,GAAG,CAACV,EAAE,SAAS,CAAC,GAAE,8EAA8E,KAAK,CAAC,OAAO,GAAG,CAACA,EAAE,SAAS,UAAU,CAAC,GAAE,wGAAwG,KAAK,CAAC,OAAO,EAAEA,EAAE,SAAS,UAAU,MAAM,IAAI,QAAQ,GAAG,CAACA,EAAE,SAAS,CAAC,GAAE,2EAA2E,KAAK,CAAC,OAAO,EAAEA,EAAE,SAAS,MAAM,IAAI,IAAIuB,EAAE,EAAEA,EAAEvB,EAAE,OAAO,IAAI,GAAGA,EAAEuB,GAAG,OAAOD,EAAE,CAAC,EAAEC,EAAE,MAAM,MAAM,IAAI,MAAM,GAAG,QAAQvB,EAAE,CAAC,EAAEA,EAAE,IAAI,MAAM,GAAG,CAACA,EAAE,SAAS,CAAC,GAAE,8EAA8E,KAAK,CAAC,OAAO,GAAG,CAACA,EAAE,SAAS,IAAI,CAAC,GAAE,sFAAsF,KAAK,CAAC,OAAO,EAAEA,EAAE,SAAS,IAAI,MAAM,QAAQ,GAAGA,EAAEU,KAAK,IAAK,GAAE,CAAC,GAAE,iEAAiE,KAAK,CAAC,OAAO,EAAEV,EAAEU,GAAG,GAAGY,IAAI,IAAK,GAAE,CAAC,GAAGtB,EAAEsB,KAAK,IAAK,GAAE,CAAC,GAAE,kFAAkF,KAAKtB,EAAE,CAAC,OAAO,EAAEA,EAAEsB,IAAI,IAAID,EAAErB,EAAEa,GAAG,GAAGQ,IAAI,IAAK,GAAE,CAAC,IAAIC,EAAEhB,EAAE,SAAS,GAAE,yDAAyDgB,EAAE,IAAIT,EAAE,wBAAwBb,EAAE,CAAC,OAAO,IAAI,EAAE,KAAK,WAAW,KAAK,KAAK,aAAaA,EAAEA,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,WAAW,YAAYA,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,WAAW,wBAAwB,IAAI,EAAE,KAAK,YAAY,OAAO,GAAG,IAAI,IAAK,GAAE,CAAC,GAAGa,IAAI,wBAAwB,CAAC,GAAG,CAACb,EAAE,SAAS,CAAC,GAAE,gGAAgG,KAAK,CAAC,OAAO,GAAG,CAACA,EAAE,SAAS,gBAAgB,CAAC,GAAE,gHAAgH,KAAK,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAK,KAAI,EAAEA,EAAE,sBAAsB,IAAI,EAAE,KAAK,YAAY,aAAa,KAAK,iBAAiBqB,EAAE,KAAK,cAAc,OAAO,EAAE,YAAY,IAAK,IAAGA,EAAE,UAAU,IAAK,IAAG,EAAE,KAAK,YAAY,eAAe,KAAK,iBAAiBA,GAAG,MAAM,QAAQA,EAAE,EAAE,EAAE,KAAK,YAAY,YAAY,KAAK,iBAAiBA,GAAG,KAAK,aAAaR,EAAE,KAAK,SAAS,KAAK,oBAAoB,GAAG,KAAK,SAAS,KAAK,iCAAiC,GAAG,GAAG,QAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,SAAS,KAAK,kBAAkB,KAAK,SAAS,KAAK,oBAAoB,GAAE,UAAU,GAAG,GAAE,UAAU,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,GAAE,UAAU,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,GAAE,UAAU,oBAAoB,CAAC2Q,GAAE,UAAU,iBAAiBA,GAAE,UAAU,gBAAgBA,GAAE,UAAU,uBAAuBA,GAAE,UAAU,kBAAkB,CAAC,GAAE,UAAU,iCAAiC,CAAC,CAACA,GAAE,UAAU,iBAAiBA,GAAE,UAAU,gCAAgCA,GAAE,UAAU,2CAA2C,CAAC,CAACA,GAAE,UAAU,gBAAgBA,GAAE,UAAU,+BAA+BA,GAAE,UAAU,0CAA0C,CAAC,CAACA,GAAE,UAAU,uBAAuBA,GAAE,UAAU,sCAAsCA,GAAE,UAAU,iDAAiD,CAAC,CAACA,GAAE,UAAU,oBAAoBA,GAAE,UAAU,mCAAmCA,GAAE,UAAU,8CAA8C,CAAC,CAA8lP,IAAI,aAAa,EAAE,CAA0mM,GAAG,MAAMvR,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,MAAMD,EAAE,OAAO,CAAC,OAAO,IAAIC,EAAE,KAAK,MAAM,QAAQ,IAAK,GAAE,KAAK,MAAM,KAAK,MAAM,OAAO,CAAC,GAAy8C,IAAI,GAAqvF,MAAMA,CAAC,CAAC,OAAO,EAAE,UAAU,UAAU,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAACD,IAAI,IAAK,IAAG,KAAK,IAAIA,EAAEM,EAAEI,EAAEG,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIH,EAAE,EAAEA,EAAE,EAAE,IAAI,KAAK,SAASA,GAAGV,EAAEU,EAAEJ,GAAG,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,SAAS,MAAO,GAAE,GAAGN,EAAE,EAAE,GAAGM,EAAE,EAAE,GAAGI,EAAE,EAAE,GAAGG,EAAE,OAAU,IAAI,EAA2xD,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAAK,IAAI,EAA8gD,IAAI,EAAknC,IAAI,EAAK,IAAI,GAAK,IAAI,GAAmxD,IAAI,EAAK,IAAI,GAAK,IAAI,GAA6oE,IAAI,EAAK,IAAI,EAAK,IAAI,EAA6oC,IAAI,EAAK,IAAI,GAAy3G,IAAI,GAAoyE,IAAI,EAA8tN,OAAO,mBAAmB,KAAK,mBAAmB,cAAc,IAAI,YAAY,WAAW,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAO,MAAM,EAAO,UAAU,GAAE,0DAA0D,CAAC,EAAO,UAAU;;;;;;;;;;MCJ12uI,CA8kHt5IsU,GAAG,CAAC,mBA9kHo0X;;QA8kH9yX,wBA5kHlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4kH6C,kBAziH7C;;QAyiHkE,uBAviHlE;;QAuiH4F,mBAriH5F;;;;;;;QAqiHkH,wBA9hHlH;;QA8hH6I,eA5hH7I;;;;;;;;;;;;;QA4hH+J,oBA/gH/J;;;QA+gHsL,qBA5gHtL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4gH8M,gBA1+G9M;;QA0+GiO,aAx+GjO;;;QAw+GiP,mBAr+GjP;;;QAq+GuQ,MAl+GvQ;;;;;;;;;;;;;;gBAk+GgR,qBAp9GxQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAo9GgS,sBAr5GxS;;;;;;;;;;;;;;;;;;;;;QAq5GiU,yBAh4GjU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAg4G6V,8BAl1G7V;;;QAk1G8X,4BA/0G9X;;QA+0G6Z,uBA70G7Z;;QA60Gub,eA30Gvb;;QA20Gyc,oBAz0Gzc;;QAy0Gge,kBAv0Ghe;;QAu0Gqf,aAr0Grf;;;;;;;;;;;;;QAq0GqgB,OAxzGrgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAwzG+gB,4BArvGvgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqvGsiB,qBAxpG9iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwpGskB,4BA3nGtkB;;;;QA2nGqmB,uBAvnGrmB;;QAunG+nB,qBArnG/nB;;;;;;QAqnGupB,0BA/mGvpB;;QA+mGorB,oBA7mGprB,sDA6mG2sB,yBA7mGlpB;;;;;;;;GA6mG8qB,gBArmG5uB;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqmG+vB,4BA1kG1vB;;;;;;;;QA0kGyxB,qBAlkGzxB;;;;;;;;;;;QAkkGizB,mBAvjGjzB;;;;;;;;;;;QAujGu0B,8BAn3FzyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAm3F00B,cA5iGx2B;;;;;;;;;;;;;;;;;QA4iGy3B,WA3hGz3B;;QA2hGu4B,gBAzhGv4B;;QAyhG05B,aAvhG15B;;;;;;;QAuhG06B,kBAhhG16B;;;;;;;;;QAghG+7B,0BAvgG/7B;;;;;;;;;;;;GAugG49B,uBA3/Fj+B;;;QA2/F2/B,wBAx/Ft/B;;+CAw/FihC,6BAt/F1+B;;;;;;;;;;;;;;wDAs/F0gC,kBAx+FjgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAw+FshC,qBAl1FtkC;2CAk1F8lC,0BAj1F3jC;;;;;;;;;;;;qDAi1FwlC,sBAr0F9kC;;;;+CAq0FumC,2BAj0F7mC;;;;;;;;;;;;;;;;;2DAi0F2oC,yBAhzF/nC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgzF2pC,8BAttF9sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAstF+uC,sBA92EpvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA82E6wC,qBApvExwC;;;;;;;;;;;;;;;;;;;;;QAovEgyC,oBA/tEhyC;;;;;;;;QA+tEuzC,0BAvtEvzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAutEo1C,qBA1qEp1C;;QA0qE42C,0BAxqE52C;;;;QAwqEy4C,wBApqEz4C;;;QAoqEo6C,mBAjqEp6C;;;QAiqE07C,aA9pE17C;;;;;;QA8pE08C,kBAxpE18C;;QAwpE+9C,sBAtpE/9C;;;;;;;;;;;;QAspEw/C,2BA1oEx/C;;;;;;;;;;;;QA0oEshD,sBA9nEthD;;;;QA8nE+iD,2BA1nE/iD;;QA0nE6kD,qBAxnE7kD;;;;;;QAwnEqmD,kBAlnErmD;;;;;;;;;QAknE0nD,mBAzmE1nD;;;;;QAymEgpD,wBApmEhpD;;;;;;;;;;;;;;QAomE2qD,mBAtlE3qD;;;;;QAslEisD,sBAjlEjsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAilE0tD,qBAxiE/rD;;;;;;;;;;;;;;;;;;QAwiEutD,qBAthElvD;;;;;;QAshE0wD,mBAhhE1wD;;;;;;QAghEgyD,cA1gEhyD;;;;;;QA0gEizD,wBApgEjzD;;;;;;;;;;;;;;;;;;;;;;QAogE40D,gCA9+D50D;;QA8+D+2D,+BA5+D/2D;;;;QA4+Di5D,wBAx+Dj5D;;;;;;;;;QAw+D46D,0BA/9D56D;;;;;QA+9Dy8D,gBA19Dz8D;;;;;;uDA09D49D,QAp9D76D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAo9Dw7D,6BAr4D5+D;;QAq4D4gE,eAn4DvgE;;;;;;;;8CAm4DyhE,mBA33Dn/D;;QA23DygE,wBAz3D/iE;;;;;;;QAy3D0kE,sBAl3D1kE;;;;QAk3DmmE,2BA92DnmE;;QA82DioE,wBA52DjoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA42D4pE,sBApqD5pE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoqDqrE,iBA3nDrrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2nDysE,yBAvlDzsE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAulDquE,gBAvjD1uE;;;;;QAujD6vE,qBAljDxvE;;;;;;;;;;;;;;;QAkjDgxE,gBAniDhxE;;;;;;;;QAmiDmyE,kBA3hDnyE;;;;;;;;;;;QA2hDwzE,qBAhhDxzE;;;;;;QAghDg1E,0BA1gDh1E;;QA0gD62E,qBAxgD72E;;QAwgDq4E,0BAtgDr4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAsgDk6E,sBAr6Cl3E;;;;;;;;;;;;;;;;;;;;;QAq6C24E,2BAh5C37E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAg5Cy9E,iBAlxCz9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkxC6+E,eA5sC7+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4sC+/E,UA9mC//E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8mC4gF,gBAviC5gF;;;;;;;;;QAuiC+hF,gBA9hC/hF;;;;;GA8hCkjF,gBAzhCvjF;;;;;;;;;;;;GAyhC0kF,oBA7gC1kF;;;;;;;GA6gCimF,oBAtgCjmF;;;;;;;;;;;;;;;;;;;;;;GAsgCwnF,UAh/BxnF;;;;;;;GAg/BqoF,UAz+BroF;;;;;;;;;;GAy+BkpF,WA/9BlpF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+9BgqF,WAp8BhqF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAo8B8qF,cA95B9qF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA85B+rF,cAn4B/rF;;;;;;;;;;;;;;;;;;;;;;;GAm4BgtF,cA52BhtF;;;;;;GA42BiuF,cAt2BjuF;;;;;;;;;GAs2BkvF,gBA71BlvF;;;;;;;;;;;;;;;;;;;;;;GA61BqwF,gBAv0BrwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAu0BwxF,eA3yBxxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2yB0yF,eA3wB1yF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2wB4zF,iBA3tB5zF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2tBg1F,iBAprBh1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAorBo2F,gBA1nBp2F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0nBu3F,gBAxlBv3F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwlB04F,gBA1iB14F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0iB65F,gBAzgB75F;;;;;;;;;;;;;;;;;;;;;GAygBg7F,eApfh7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAofk8F,eA7cl8F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6co9F,kBAjZp9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiZy+F,kBAtWz+F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsW8/F,cAzO9/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyO+gG,cApM/gG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoMgiG,YAhJhiG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgJ+iG,YAjH/iG;;;;;;;;;;;;;;;;;;;;;;;;;GAiH8jG,YAxF9jG;;;;;;;;;;;;;;;;;;;;;;;GAwF6kG,YAjE7kG;;;;;;;;;;;;;;;;GAiE4lG,YAjD5lG;;;;;;;;;;;;;;;;;;;;;;;;GAiD2mG,YAzB3mG;;;;;;;;;;;;;;;;;;;;;;;;;GAyB0nG,CAAC,EAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAIC,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,IAAIC,EAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,IAAIA,EAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,MAAM,IAAIA,EAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,IAAIA,EAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,mBAAmB,CAAC,MAAM,IAAIA,EAAG,CAAC,YAAY,CAAC,MAAM,IAAIC,EAAG,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,yBAAyB,CAAC,MAAM,IAAID,EAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,IAAID,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,IAAIF,EAAG,CAAC,UAAU,CAAC,MAAM,IAAIA,EAAG,CAAC,iBAAiB,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAIE,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,IAAIC,EAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,IAAIA,EAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAID,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAIE,EAAG,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,IAAID,EAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,IAAIA,EAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAACE,GAAG,CAAC,MAAM,CAAC,SAASC,GAAG,CAAC,EAAG,OAAO,EAAG,YAAY,EAAG,OAAO,EAAG,MAAM,EAAG,SAAS,EAAG,IAAI,CAAC,CAAC,aAAaL,GAAG,eAAe,eAAeA,GAAG,eAAe,CAAC,QAAQ,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,YAAY,EAAG,OAAO,EAAG,MAAM,EAAG,SAAS,EAAG,YAAY,EAAG,QAAQ,EAAG,UAAU,EAAG,gBAAgB,EAAG,IAAI,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAIJ,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaD,GAAG,iBAAiB,eAAeA,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,YAAY,EAAG,OAAO,EAAG,MAAM,EAAG,SAAS,EAAG,YAAY,EAAG,QAAQ,EAAG,UAAU,EAAG,gBAAgB,EAAG,IAAI,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAIJ,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAIA,GAAG,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaD,GAAG,eAAe,eAAeA,GAAG,eAAe,CAAC,SAAS,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,OAAO,EAAG,MAAM,EAAG,SAAS,EAAG,YAAY,EAAG,QAAQ,EAAG,UAAU,EAAG,gBAAgB,EAAG,aAAa,EAAG,aAAa,EAAG,IAAI,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAIJ,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaD,GAAG,kBAAkB,eAAeA,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,MAAM,EAAG,SAAS,EAAG,YAAY,EAAG,QAAQ,EAAG,UAAU,EAAG,gBAAgB,EAAG,YAAY,EAAG,IAAI,EAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAIJ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAaD,GAAG,cAAc,eAAeA,GAAG,cAAc,CAAC,OAAO,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,QAAQ,EAAG,UAAU,EAAG,gBAAgB,EAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAaL,GAAG,gBAAgB,eAAeA,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,IAAI,CAAC,CAAC,aAAaL,GAAG,YAAY,eAAeA,GAAG,YAAY,CAAC,OAAO,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaL,GAAG,gBAAgB,eAAeA,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,gBAAgB,CAAC,CAAC,aAAaL,GAAG,WAAW,eAAeA,GAAG,WAAW,CAAC,OAAO,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,QAAQ,EAAG,UAAU,EAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaL,GAAG,gBAAgB,eAAeA,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,IAAI,CAAC,CAAC,aAAaL,GAAG,YAAY,eAAeA,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,IAAIE,EAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,aAAaF,GAAG,gBAAgB,eAAeA,GAAG,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,MAAM,IAAIE,EAAG,CAAC,CAAC,aAAaF,GAAG,oBAAoB,eAAeA,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,aAAaA,GAAG,UAAU,eAAeA,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,aAAaA,GAAG,cAAc,eAAeA,GAAG,cAAc,CAAC,SAAS,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,IAAIN,EAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,aAAaC,GAAG,cAAc,eAAeA,GAAG,cAAc,CAAC,OAAO,CAAC,SAASK,GAAG,CAAC,EAAG,OAAO,EAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAIJ,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaD,GAAG,YAAY,eAAeA,GAAG,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,SAASK,GAAG,CAACD,GAAG,SAAS,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,IAAIF,EAAG,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,4BAA4B,CAAC,MAAM,IAAIA,EAAG,CAAC,qBAAqB,CAAC,MAAM,IAAIC,EAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,+BAA+B,CAAC,MAAM,IAAID,EAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,wBAAwB,CAAC,MAAM,IAAIA,EAAG,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,KAAK,CAAC,iCAAiC,CAAC,MAAM,IAAIA,EAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,IAAID,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,uBAAuB,CAAC,MAAM,IAAIC,EAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,2BAA2B,CAAC,MAAM,IAAIA,EAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,yBAAyB,CAAC,MAAM,IAAIA,EAAG,CAAC,wBAAwB,CAAC,MAAM,IAAIC,EAAG,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,sBAAsB,CAAC,MAAM,IAAID,EAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,IAAID,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,IAAIA,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,0BAA0B,CAAC,MAAM,IAAIC,EAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,8BAA8B,CAAC,MAAM,IAAIA,EAAG,CAAC,iBAAiB,CAAC,MAAM,IAAIC,EAAG,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,uBAAuB,CAAC,MAAM,IAAID,EAAG,CAAC,CAAC,CAAC,CAAC,aAAaF,GAAG,kBAAkB,eAAeA,GAAG,kBAAkB,CAAyB,IAAIO,GAAGC,GAAG,IAAIN,EAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAwyW,IAAIQ,GAAM,IAAIT,GAA8B,IAAIF,EA+U5opB,IAAIwC,GAAM,IAAIE,GAAG,EAAE,EAAE,CAAI,IAAIE,GAAM,IAAIE,GAAM,IAAIE,GAAkB,IAAI,aAAa,GAAG,CAAI,IAAI,aAAa,EAAE,CAAI,IAAI,aAAa,EAAE,CAE/3C,IAAI7C,EAK8U,IAAIH,EAuEzV,IAAIA,EAAG,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAG,GAAG,EAAE,EAAE,CAAC,IAAIA,EAAG,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAG,EAAE,GAAG,EAAE,CAAC,IAAIA,EAAG,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAG,EAAE,EAAE,GAAG,CAAM,IAAIA,EAAG,EAAE,GAAG,EAAE,CAAC,IAAIA,EAAG,EAAE,GAAG,EAAE,CAAC,IAAIA,EAAG,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAG,EAAE,EAAE,GAAG,CAAC,IAAIA,EAAG,EAAE,GAAG,EAAE,CAAC,IAAIA,EAAG,EAAE,GAAG,EAAE,CAAK,IAAIQ,GAAM,IAAIR,EAAM,IAAIA,EAwBunR,IAAIQ,GAAGyG,GAAG,IAAI9G,EAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAkzT,IAAI,YAAY,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,CAAC,mBCngI19qB,SC+5B6nJ,SAAS0H,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIN,KAAKH,EAAE,CAAC,IAAII,EAAE,KAAKH,EAAEE,EAAE,OAAO,EAAE,CAAC,aAAa,CAACA,EAAE,MAAM,EAAE,CAAC,EAAM,OAAO,eAAeA,EAAE,OAAO,IAAI,CAAC,IAAI,IAAI,KAAKD,EAAE,SAAS,CAAC,EAAE,KAAK,MAAMA,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAEE,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,IAAID,EAAEH,EAAE,mBAAmB,CAACI,EAAEJ,EAAE,iBAAiB,CAAC,EAAEG,IAAI,IAAK,IAAG,YAAY,KAAKA,EAAE,CAAC,EAAEA,IAAI,IAAK,IAAG,SAAS,KAAKA,EAAE,CAAC,GAAG,EAAE,YAAYH,EAAE,eAAe,CAACG,IAAI,IAAK,GAAE,MAAU,MAAM,4BAA4BH,EAAE,KAAK,GAAG,CAAC,GAAG,IAAIE,EAAE,WAAW,GAAE,eAAe,EAAE,MAAU,MAAM,yEAAyEF,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAU,MAAM,gDAAgDA,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,+BAA+BU,EAAER,EAAE,YAAYS,EAAED,EAAE,IAAI,GAAE,cAAc,EAAE,GAAGE,EAAEF,EAAE,IAAI,GAAE,iBAAiB,EAAE,GAAGG,EAAEH,EAAE,IAAI,GAAE,oBAAoB,EAAE,GAAGI,EAAEJ,EAAE,IAAI,GAAE,YAAY,EAAE,GAAGK,EAAEL,EAAE,IAAI,GAAE,oBAAoB,EAAE,GAAGM,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,IAAIf,EAAE;EACtjL,EAAE,iBAAiB,CAAC,GAAGG,IAAI,MAAM,cAAc,KAAKA,EAAE,CAAC,CAAC,IAAIa,EAAE,kCAAkC,KAAKb,EAAE,CAAC,GAAG,IAAIH,EAAE,cAAc,GAAGgB,EAAE;EACpI;EACA,IAAI,IAAIC,KAAKd,EAAE,SAAS,mCAAmC,CAAC,IAAI,IAAIe,KAAKD,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,SAAS,IAAIC,EAAE,CAACH,EAAE,IAAIG,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,IAAI,IAAID,KAAKd,EAAE,SAAS,EAAE,CAAC,EAAE,IAAIc,EAAE,GAAG,CAAC,IAAI,IAAID,KAAKd,EAAE,SAAS,EAAE,CAAC,EAAE,IAAIc,EAAE,GAAG,CAAC,IAAI,IAAIA,KAAKjB,EAAE,QAAQ,MAAM,CAAC,EAAE,IAAIiB,EAAE,QAAQ,gBAAgB,GAAG,CAAC,CAAC,IAAI,IAAIA,KAAKjB,EAAE,SAAS,MAAM,CAAC,EAAE,IAAIiB,EAAE,CAAC,EAAE,OAAO,QAAQ,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,OAAO,KAAK,CAACjB,EAAE,SAAS,SAAS,EAAE,IAAIE,EAAE,SAAS,IAAID,EAAEiB,EAAE,OAAO,EAAE,CAAC,aAAa,CAACA,EAAE,MAAM,EAAE,CAACD,EAAE,CAAC,CAACjB,EAAE,QAAQ,SAAS,EAAE,IAAIE,EAAE,QAAQ,IAAID,EAAEiB,EAAE,OAAO,EAAE,CAAC,aAAa,CAACA,EAAE,MAAM,EAAE,CAACD,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,WAAWd,EAAE,CAAC,CAAC,SAASC,EAAE,CAAC,CAAC,CAAC,GAAGH,EAAE,EAAEC,EAAE,QAAQ,CAACO,GAAGR,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC,IAAImB,EAAEpB,EAAE,UAAU,GAAGE,EAAE,WAAW,IAAIkB,EAAE,cAAcA,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB,MAAMpB,EAAE,kBAAkBE,EAAE,aAAa,GAAGF,EAAE,kBAAkBqB,GAAG;GACpxB;IACCrB,EAAE,mBAAmBsB,GAAmCtB,EAAE,kBAAkB,OAAO,EAAE,WAAWA,EAAE,iBAA1E,EAAE,WAAWA,EAAE,iBAA2H,GAAG,GAAGC,EAAE,yBAAyBC,EAAE,WAAW,GAAE,SAAS,GAAlG,yCAAuG,KAAKC,EAAE,GAAG,GAAG,UAAU,EAAE,UAAU,CAAC,GAAG,GAAG;GAC3Q,IAAIe,EAAEjB,EAAE,eAAe,EAAE,SAAS,IAAIiB,EAAEE,EAAE,QAAQ,CAAC,GAAG,iBAAiBA,EAAE,cAAc,mBAAmBF,EAAE;;GAE5G,GAAG,iBAAiBA,EAAE;;EAEvB,GAAG,GAAGf,EAAE;EACRC,IAAI,OAAO,GAAGA,EAAE;GACfM,EAAE,IAAI,GAAE,cAAcC,EAAE,CAACD,EAAE,IAAI,GAAE,iBAAiBE,EAAE,CAACF,EAAE,IAAI,GAAE,oBAAoBG,EAAE,CAACH,EAAE,IAAI,GAAE,YAAYI,EAAE,CAACJ,EAAE,IAAI,GAAE,oBAAoBK,EAAE,CAACf,EAAE,aAAa,KAAK,IAAI,IAAIiB,KAAKjB,EAAE,WAAW,EAAE,WAAW,IAAIiB,EAAE,EAO0nD,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAOhB,GAAGD,EAAEC,GAAGC,EAAE,SAAS,GAAE,EAAE,EAAE,EAAE,EAAE,CAAmC,OAAO,GAAnC,GAAGD,EAAED,EAAE,IAAI,CAAG,GAAGE,EAAEC,EAAE,IAAM,CAAe,KAAO;;;;;;;;;;;MAl7BhsD,CAA03UiC,QAAQ,CAAC,IAAInC,EAAE,IAAI,aAAa,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAACD,EAAE,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAACE,EAAE,IAAImC,GAAG,OAAOnC,EAAE,aAAa,WAAW,IAAIoC,GAAGrC,EAAE,EAAE,CAAC,CAACC,EAAE,aAAa,KAAK,IAAIoC,GAAGtC,EAAE,EAAE,CAAC,CAACE,KAAK,CAAC,GAAE,MAAMqC,CAAE,CAAC,WAAW,oBAAoB,CAAC,OAAOH,GAAG,YAAY,EAAE,OAAO,EAAE,IAAII,GAAG,EAAE,IAAIC,GAAG,CAAC,KAAK,KAAKzC,EAAE,KAAK,SAAS,KAAK,KAAK,MAAME,EAAE,KAAK,OAAOC,EAAE,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,eAAe,EAAE,CAAC,GAAG,KAAK,MAAMH,EAAE,CAAC,IAAIE,EAAE,KAAK,mBAAmB,IAAI,OAAO,EAAE,YAAY,CAAC,GAAG,KAAK,IAAI,CAACF,GAAG,IAAI,UAAU,EAAE,EAAE,IAAI,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,KAAK,SAASA,EAAE,WAAW,CAAC,OAAO,KAAK,QAAQ,WAAW,EAAE,CAAC,KAAK,QAAQA,EAAE,IAAI,oBAAoB,CAAC,OAAO,KAAK,SAAS,KAA0B,KAArB,KAAK,OAAO,SAAc,IAAI,mBAAmB,EAAE,CAAC,IAAIE,EAAE,KAAK,OAAO,IAAI,MAAmB,EAAE,IAAIwC,GAAGH,EAAG,mBAAmBvC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,KAAK,QAAQ,OAAO,KAAK,MAAM,IAAIwC,IAAI,KAAK,MAAM,IAAItC,EAAE,CAAC,KAAK,OAAOA,GAAxI,EAAE,SAASF,EAAgI,uBAAuB,CAAC,OAAO,KAAK,mBAAmB,sBAAsB,EAAE,CAAC,KAAK,mBAAmBA,EAAE,iBAAiB,CAAC,OAAO,KAAK,gBAAgB,EAAE,EAAE2C,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAU,MAAM,iCAAiC,CAAC,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI3C,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,IAAIE,EAAE,KAAKF,IAAIE,aAAa0C,IAAI1C,aAAa2C,IAAI3C,aAAa4C,IAAI5C,aAAaqC,IAAK,KAAKvC,GAAG,SAAS,CAAC,KAAK,qBAAqB,MAAM,KAAK,mBAAmB,SAAS,GAAG,GAAG,cAAc,EAAC,CAAC,aAAa,CAAC,MAAM,gBAAgB,KAAK,KAAK,CAAC,KAAK,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEC,EAAE,MAAM,QAAQ,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CjtY,GAAE,+FAA+F,GAAG,cAAc8C,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,eAAe,QAAQ,CAAC,uBAAuB,IAAI,cAAc,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,YAAY,IAAIC,GAAG,KAAK,CAAC,YAAY,IAAIA,GAAG,KAAK,CAAC,eAAe,IAAIA,GAAG,KAAK,CAAC,QAAQ,IAAIA,GAAG,EAAE,CAAC,CAAC,SAASC,GAAG,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,aAAa,GAAE,CAAC,CAAC,KAAK,UAAUC,GAAG,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,YAAY,MAAM,IAAI,YAAY,EAAE,CAAC,IAAIlD,EAAEC,IAAI,KAAK,KAAK,aAAaD,IAAIA,EAAE,KAAK,QAAQ,YAAY,CAAC,EAAE,OAAO,KAAK,QAAQ,YAAY,KAAK,WAAWA,EAAE,KAAK,YAAY,CAAC,GAAG,KAAK,SAAS,YAAY,MAAMC,EAAE,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,YAAY,MAAM,IAAI,YAAY,EAAE,CAAC,IAAID,EAAEC,IAAI,KAAK,KAAK,aAAaD,IAAIA,EAAE,KAAK,QAAQ,YAAY,CAAC,EAAE,OAAO,KAAK,QAAQ,YAAY,KAAK,UAAUA,EAAE,KAAK,WAAWA,EAAE,KAAK,YAAY,CAAC,GAAG,KAAK,SAAS,YAAY,MAAMC,EAAE,IAAI,aAAa,EAAE,CAAC,KAAK,QAAQ,cAAcA,EAAE,QAAQ,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,IAAI,sBAAsB,CAAC,OAAO,KAAK,QAAQ,yBAAyB,IAAK,GAAE,IAAI,qBAAqB,EAAE,CAAC,KAAK,uBAAuBA,IAAIA,EAAE,KAAK,QAAQ,uBAAuB,CAAC,EAAE,OAAO,KAAK,QAAQ,uBAAuB,KAAK,YAAY,CAAC,GAAG,IAAI,gBAAgB,CAAC,OAAO,KAAK,SAAS,eAAe,MAAM,IAAI,eAAe,EAAE,CAAC,IAAI,KAAyE,OAAO,KAAK,QAAQ,aAAvF,KAAK,QAAQ,YAAY,IAAI,KAAK,SAAS,eAAe,MAAMA,GAAmC,KAAK,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC,KAAK,SAAS,YAAY,MAAMA,EAAE,WAAW,EAAE,CAAC,OAAO,KAAK,SAAS,QAAQ,MAAM,WAAW,EAAE,CAAC,KAAK,SAAS,QAAQ,MAAMA,IAAI,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,KAAK,mBAAmB,IAAI,GAAG,KAAK,UAAU,CAAC,EAAE,KAAK,aAAaA,EAAEA,IAAI,IAAK,KAAI,KAAK,aAAa,IAAIkD,GAAG,EAAE,EAAE,CAAC,UAAUC,GAAG,UAAUA,GAAG,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,QAAQ,KAAK,mBAAmB,KAAK,WAAWpD,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC,KAAK,WAAWC,EAAE,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa,QAAQ,YAAY,CAAC,OAAO,KAAK,aAAa,QAAQ,qBAAqB,EAAE,CAAC,KAAK,WAAWA,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,mBAAmB,YAAYD,EAAE,QAAQC,EAAE,gBAAgB,KAAK,eAAe,KAAK,KAAK,aAAa,CAACA,EAAE,OAAO,KAAK,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,aAAa,QAAQA,EAAED,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,IAAK,KAAI,KAAK,aAAa,QAAQ,KAAKE,EAAEA,IAAImD,GAAkEpD,IAAI,MAAMA,EAAE,mBAAmBqD,KAAK,KAAK,aAAa,QAAQ,WAAWA,IAAxI,KAAK,mBAAmB,QAAQ,2BAA2B,OAAoF,GAAG,IAAIC,GAAG,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,YAAY,KAAK,KAAK,CAAC,KAAK,UAAU,CAAC,EAAE,KAAK,MAAMtD,EAAE,KAAK,MAAMD,EAAE,KAAK,QAAQE,EAAE,KAAK,mBAAmB,KAAK,KAAK,mBAAmB,GAAG,cAAc,EAAE,EAAE,EAAE,CAAC,KAAK,MAAMD,EAAE,KAAK,MAAMD,EAAE,KAAK,QAAQE,EAAE,uBAAuB,CAAC,OAAO,KAAK,mBAAmB,sBAAsB,EAAE,CAAC,KAAK,mBAAmBD,EAAE,uBAAuB,CAAC,OAAO,KAAK,mBAAmB,sBAAsB,EAAE,CAAC,KAAK,mBAAmBA,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAEA,EAAE,eAAe,CAACS,EAAE,IAAI,KAAKC,EAAE,GAAG,EAAE,GAAGV,EAAE,cAAc,GAAG,CAACA,EAAE,cAAc,EAAEU,EAAE,EAAE,EAAE,EAAEA,GAAGV,EAAE,cAAc,EAAE,CAACA,EAAE,gBAAgB,KAAK,eAAe,KAAKD,EAAE,CAACC,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,QAAQ,CAACS,EAAET,EAAE,cAAc,GAAG,EAAE,CAACU,GAAGV,EAAE,cAAc,EAAE,GAAG,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,WAAWA,EAAED,EAAE,CAAC,KAAK,UAAU,CAAC,EAAE,KAAK,UAAU,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC,KAAK,MAAMC,EAAE,IAAI,WAAW,EAAE,CAAC,KAAK,OAAOA,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC,KAAK,QAAQA,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,QAAQ,IAAI,MAAM,EAAE,CAAC,KAAK,UAAU,QAAQA,EAAE,cAAc,CAAC,OAAO,KAAK,UAAU,YAAY,CAAC,OAAO,KAAK,SAAS,YAAY,EAAE,CAAC,KAAK,SAASA,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAE,YAAY,CAAC,EAAEA,EAAE,MAAM,QAAQ,EAAE,KAAK,MAAMS,EAAE,KAAK,OAAOC,EAAE,KAAK,UAAUC,EAAE,KAAK,SAAS,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAE,MAAM,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,QAAQ,EAAE,OAAOA,EAAE,WAAW,CAAC,EAAE,QAAQ,SAASC,EAAE,CAAC,EAAE,QAAQ,UAAU,CAAC,EAAE,CAAC,KAAK,UAAU,UAAU,KAAK,eAAeF,EAAE,OAAOV,EAAE,KAAK,EAAEU,EAAE,OAAOV,EAAED,EAAE,CAACW,EAAE,OAAOV,EAAEC,EAAE,GAAG,KAAK,gBAAgBD,EAAE,gBAAgB,KAAK,CAACA,EAAE,OAAO,EAAES,EAAE,GAAGT,EAAE,gBAAgBD,EAAE,CAACC,EAAE,OAAO,EAAES,EAAE,CAACT,EAAE,gBAAgBC,EAAE,CAACD,EAAE,OAAO,EAAES,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,UAAU,YAAY,KAAK,CAAC,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,IAAI,UAAU,EAAE,CAAC,OAAO,SAAS,KAAK,SAAS,SAAS,IAAK,KAAIT,EAAE,SAAS,iBAAiB,mBAAmB,KAAK,CAAC,SAAS,oBAAoB,mBAAmB,KAAK,CAAC,KAAK,WAAWA,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,KAAK,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,KAAK,YAAYA,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,GAAG,OAAO,EAAE,CAAC,KAAK,cAAc,KAAK,OAAO,KAAK,YAAY,KAAK,aAAa,KAAK,YAAY,KAAK,aAAaA,IAAI,IAAK,GAAI,YAAY,KAAK,CAAnBA,GAAqB,KAAK,UAAU,KAAK,OAAO,KAAK,YAAY,KAAK,cAAc,KAAK,QAAQ,KAAK,UAAU,KAAK,UAAU,KAAK,OAAO,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,YAAY,KAAK,CAAC,KAAK,UAAU,UAAU,CAAC,OAAO,KAAK,MAAM,YAAY,CAAC,OAAO,KAAK,QAAQ,YAAY,EAAE,CAAC,SAAS,SAAS,KAAK,YAAY,YAAY,KAAK,CAAC,KAAK,WAAW,SAAS,CAAC,KAAK,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAYD,EAAE,CAAC,EAAE,cAAcE,EAAE,CAAC,EAAE,cAAcC,EAAE,EAAE,gBAAgBC,GAAG,EAAE,CAAC,CAAC,KAAK,SAAS,KAAK,KAAK,YAAY,KAAK,aAAaJ,EAAEE,EAAEE,EAAED,EAAE,CAAC,KAAK,aAAa,KAAK,YAAY,OAAO,CAAC,KAAK,SAAS,IAAI,GAAG,KAAK,aAAa,KAAK,KAAK,kBAAkB,KAAK,KAAK,OAAO,EAAE,CAAC,KAAK,MAAM,IAAI,GAAG,KAAK,mBAAmB,CAAC,EAAE,KAAK,YAAYF,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,KAAK,YAAY,QAAQ,IAAI,cAAc,EAAE,CAAC,IAAID,EAAE,KAAK,YAAYE,EAAE,KAAK,cAAc,EAAE,GAAGD,EAAE,GAAG,KAAK,YAAY,QAAQA,EAAE,KAAK,aAAa,QAAQA,EAAE,KAAK,YAAY,SAAS,CAAC,KAAK,aAAa,SAAS,EAAEC,IAAID,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,aAAa,SAAS,CAAC,KAAK,YAAY,KAAK,aAAaD,EAAE,YAAYA,EAAE,cAAcA,EAAE,QAAQ,KAAKC,EAAE,CAAC,KAAK,aAAa,KAAK,YAAY,OAAO,EAAE,UAAU,CAAC,OAAO,KAAK,MAAM,aAAa,CAAC,OAAO,KAAK,SAAS,YAAY,EAAE,CAAC,GAAG,KAAK,SAASA,EAAEA,IAAI,KAAK,CAAC,IAAID,EAAEC,EAAE,QAAQ,IAAIuD,EAAG,CAACtD,EAAED,EAAE,YAAY,CAAC,sBAAsB,CAAC,MAAME,EAAE,KAAK,YAAY,QAAQ,KAAK,IAAIsD,IAAIxD,EAAE,mBAAmByD,KAAK,KAAK,YAAY,QAAQ,WAAWA,GAAG,KAAK,aAAa,QAAQ,WAAWA,GAAG,KAAK,YAAY,SAAS,CAAC,KAAK,aAAa,SAAS,EAAE,EAAE,UAAU,CAAC,EAAE,KAAK,QAAQ1D,EAAE,MAAMA,EAAE,OAAO,CAAC,IAAI,IAAII,KAAK,KAAK,OAAO,EAAE,WAAWH,EAAEC,EAAEC,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,IAAID,EAAE,KAAK,SAASC,EAAED,EAAE,WAAW,WAAW,OAAO,KAAK,YAAYD,EAAE,CAACD,GAAGG,IAAI,OAAOA,EAAE,YAAYD,EAAE,WAAW,CAACC,EAAE,YAAYF,EAAE,WAAW,EAAEC,EAAE,oBAAoB,CAAC,IAAID,EAAE,KAAK,YAAYD,EAAE,IAAI2D,GAAG,KAAK,aAAa3D,EAAEC,EAAE,eAAe,EAAE,OAAO2D,GAAG,EAAE,KAAKC,IAAI,EAAE,KAAKC,GAAG,IAAI5D,EAAEF,EAAE,OAAO,CAAC,MAAO,GAAE,KAAK,6BAA6B,KAAK,kBAAkB,IAAI+D,GAAG9D,EAAE,MAAMA,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,cAAcA,EAAE,cAAc,aAAaC,EAAE,CAAC,CAACA,EAAE,gBAAgB,EAAE,CAAC,IAAIF,EAAE,KAAK,SAASE,EAAE,KAAK,kBAAkBC,EAAEH,EAAE,WAAWI,EAAEJ,EAAE,YAAY,CAAC,EAAE,gBAAgBE,EAAE,CAAC,IAAI,EAAEC,EAAE,IAAIF,EAAE,CAAC,mBAAmB,EAAEE,EAAE,IAAID,EAAE,CAAC,mBAAmB,EAAED,EAAE,cAAcG,EAAE,iBAAiBA,EAAE,mBAAmBA,EAAE,iBAAiB,EAAE,gBAAgBA,EAAE,iBAAiB,EAAE,CAACA,EAAE,gBAAgBA,EAAE,iBAAiB,EAAE,CAACA,EAAE,gBAAgB,EAAE,EAAEH,EAAE,MAAMA,EAAE,OAAO,EAAE,EAAEC,EAAE,MAAMA,EAAE,OAAO,EAAEE,EAAE,QAAQ,CAACA,EAAE,gBAAgBA,EAAE,iBAAiB,KAAK,CAACA,EAAE,gBAAgBA,EAAE,iBAAiB,KAAK,CAACJ,EAAE,gBAAgB,KAAK,CAAC,oBAAoB,CAAC,GAAG,KAAK,eAAe,KAAK,CAAC,KAAK,aAAa,SAAS,CAAC,KAAK,aAAa,KAAK,KAAK,kBAAkB,SAAS,CAAC,KAAK,kBAAkB,KAAK,KAAK,YAAY,aAAa,KAAK,KAAK,aAAa,aAAa,KAAK,IAAI,IAAIC,KAAK,KAAK,OAAO,EAAE,gBAAgB,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIG,EAAE,KAAK,SAAS,EAAEA,IAAI,KAAK,IAAIoD,EAAGpD,EAAE,qBAAqB,IAAIoD,EAAG,CAAC,EAAE,CAAC,UAAUQ,GAAG,UAAUA,GAAG,cAAchE,EAAE,YAAYC,EAAE,KAAKC,EAAE,CAAC,EAAE,IAAI6D,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO5D,EAAE,IAAI,EAAE,QAAQA,GAAGD,IAAIuD,IAAIrD,IAAI,MAAMA,EAAE,mBAAmBsD,KAAK,EAAE,QAAQ,WAAWA,IAAI,EAAE,QAAQ,KAAK,wBAAwB,EAAE,QAAQ,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,IAAI,IAAI1D,KAAK,KAAK,OAAO,EAAE,UAAUC,EAAE,cAAc,EAAE,CAAC,IAAI,IAAID,KAAK,KAAK,OAAO,EAAE,WAAWC,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAIC,EAAE,KAAK,OAAOC,EAAE,KAAK,SAASC,EAAED,EAAE,qBAAqB,IAAIqD,EAAG,CAAC,EAAErD,EAAE,YAAY,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,YAAY,QAAQ,KAAK,GAAG,EAAE,SAASA,EAAEF,EAAE,QAAQG,EAAE,MAAMA,EAAE,OAAO,CAACH,EAAE,WAAWE,EAAE,EAAE,EAAE,CAAC,KAAK,qBAAqBD,EAAE,OAAO,IAAI,EAAEA,EAAE,OAAO,GAAG,eAAe,CAAC,GAAGD,EAAE,iBAAiB,KAAK,mBAAmB,CAAC,IAAID,IAAI,IAAK,GAAkBE,EAAE,KAAKD,EAAE,CAAzBC,EAAE,OAAOF,EAAE,EAAEC,EAAE,CAAW,KAAK,qBAAqB,EAAEC,EAAE,OAAO,GAAG,eAAe,CAAC,GAAGD,EAAE,mBAAmB,KAAK,eAAe,KAAK,GAAG,KAAK,eAAe,KAAK,CAAC,IAAI,EAAE,KAAK,oBAAoB,CAAC,IAAIA,KAAKC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,kBAAkB,aAAa,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAC,IAAIF,EAAE,KAAK,OAAOE,EAAEF,EAAE,QAAQC,EAAE,CAAC,GAAGC,IAAI,IAAIF,EAAE,OAAOE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,eAAe,MAA6C,CAACF,EAAE,QAAnC,EAAE,IAAI,GAAGU,EAAE,kBAAiC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,kBAAkB,aAAa,EAAE,iBAAiB,GAAG,GAAGT,EAAE,gBAAgB,KAAK,CAAC,KAAK,oBAAoB,CAAE,KAAK,oBAAoBC,IAAIF,EAAE,SAAS,EAAE,eAAe,CAAC,EAAEA,EAAE,OAAO,IAAI,EAAEA,EAAE,OAAO,GAAG,eAAe,CAAC,KAAK,iBAAiB,CAAC,IAAIC,EAAE,KAAK,OAAO,KAAK,oBAAoB,CAACA,EAAE,OAAO,IAAI,KAAK,qBAAqB,EAAEA,EAAE,OAAO,GAAG,eAAe,CAAC,GAAG,KAAK,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,IAAID,EAAE,KAAK,SAASE,EAAE,KAAK,SAASC,EAAE,KAAK,YAAYC,EAAE,KAAK,aAAa,EAAE,EAAE,CAAC,EAAE,IAAI,IAAK,KAAI,KAAK,MAAM,QAAQ,CAAC,EAAE,KAAK,MAAM,UAAU,EAAE,IAAI,IAAI,KAAK,KAAK,OAAO,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,EAAE,aAAa,KAAK,EAAE,OAAOJ,EAAEG,EAAEC,EAAEH,EAAE,EAAE,CAAC,EAAE,gBAAgB,KAAK,oBAAoB,MAAM,KAAK,gBAAgBE,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,eAAe,EAAE,eAAe,IAAIO,EAAEV,EAAE,YAAY,CAACW,EAAEX,EAAE,MAAM,QAAQ,QAAQ,EAAE,QAAQU,EAAE,SAAS,EAAE,WAAW,CAACR,EAAE,OAAOF,EAAEG,EAAEC,EAAEH,EAAE,EAAE,CAACU,EAAE,QAAQD,EAAE,MAAM,EAAE,WAAW,CAAC,EAAEP,EAAE,EAAEC,EAAE,EAAE,EAAE,aAAa,GAAG,EAAE,CAAC,EAAE,aAAa,KAAK,EAAE,CAAC,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAID,EAAE,KAAK,SAASC,EAAED,EAAE,QAAQ,IAAIqD,EAAG,EAAEvD,IAAI,IAAK,IAAGD,IAAI,IAAK,MAAK,EAAEI,EAAE,MAAM,EAAEA,EAAE,SAASA,EAAE,QAAQH,GAAGG,EAAE,SAASJ,IAAIG,EAAE,QAAQF,EAAED,EAAEE,EAAE,CAAC,IAAI,EAAEC,EAAE,qBAAqB,IAAIqD,EAAG,CAAC,KAAK,YAAY,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,aAAa,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,oBAAoB,MAAM,KAAK,kBAAkB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,KAAK,mBAAmB,CAAC,EAAE,SAAS,CAAC,IAAI,IAAIvD,KAAK,KAAK,OAAO,EAAE,SAAS,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,cAAc,MAAM,KAAK,YAAY,SAAS,CAAC,KAAK,eAAe,MAAM,KAAK,aAAa,SAAS,CAAC,KAAK,oBAAoB,CAAC,KAAK,SAAS,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,GAAE,mBAAmB,SAAS,GAAG,GAAE,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAE,CAAC,cAAc,gBAAgB,iBAAiB,mBAAmB,oBAAoB,sBAAsB,YAAY,cAAc,oBAAoB,sBAAsB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAE,cAAc,KAAK,CAAC,CAAC,GAAE,iBAAiB,KAAK,CAAC,CAAC,GAAE,oBAAoB,KAAK,CAAC,CAAC,GAAE,YAAY,KAAK,CAAC,CAAC,GAAE,oBAAoB,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,GAAE,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,iBAAiB,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,WAAWgE,KAA0uC,GAAG,CAAC,EAAEC,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,kBAAkB,IAAI,IAAI,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,KAAK,kBAAkB,KAAK,KAAK,oBAAoB,KAAK,KAAK,oBAAoB,KAAK,KAAK,4BAA4B,KAAK,KAAK,8BAA8B,KAAK,KAAK,YAAYjE,EAAE,CAAC,KAAK,UAAU,EAAE,KAAK,gBAAgB,GAAG,CAAC,GAAGD,EAAE,OAAO,CAAC,IAAIE,EAAE,GAAGF,EAAE,SAAS,YAAY,OAAOA,EAAE,SAAS,KAAlB,CAAwB,KAAKmE,GAAG,EAAE,KAAK,8BAA8B,MAAM,KAAKC,GAAG,EAAE,KAAK,4BAA4B,MAAM,QAAQ,EAAE,KAAK,oBAAoB,WAAW,OAAOpE,EAAE,SAAS,KAAlB,CAAwB,KAAKmE,GAAG,EAAE,KAAK,oBAAoB,MAAM,KAAKC,GAAG,EAAE,KAAK,kBAAkB,MAAM,QAAQ,EAAE,KAAK,UAAU,MAAM,KAAK,kBAAkB,IAAIpE,EAAEA,EAAE,SAAS,CAACA,EAAE,cAAc,EAAE,SAASE,EAAE,GAAGF,EAAE,gBAAgB,EAAE,SAASE,EAAE,GAAG,EAAE,SAASA,EAAE,GAAG,EAAE,KAAK,YAAY,cAAc,EAAE,CAAC,GAAG,EAAED,aAAaoE,IAAI,OAAOpE,EAAE,OAAO,CAAC,IAAID,EAAEC,EAAE,SAASC,EAAE,IAAI,IAAI,IAAI,IAAIE,KAAKJ,EAAE,CAAC,IAAI,EAAEA,EAAEI,GAAG,MAAM,EAAE,wBAAwB,EAAEA,GAAG,MAAM,KAAKF,EAAE,IAAIE,EAAE,EAAE,EAAE,IAAID,EAAEF,EAAE,OAAO,CAAC,IAAI,IAAIG,KAAKF,EAAE,EAAEE,EAAE,IAAI,MAAMA,EAAE,GAAG,EAAE,SAASA,EAAE,IAAI,MAAMA,EAAE,GAAG,OAAOD,EAAE,YAAY,EAAE,CAAC,GAAG,KAAK,kBAAkB,CAAC,KAAK,SAASF,EAAEA,IAAI,KAAK,CAAC,IAAID,EAAE,KAAK,UAAU,CAAC,KAAK,cAAcC,EAAE,CAAC,KAAK,cAAcA,EAAE,CAAC,KAAK,cAAcA,EAAE,CAAC,CAAC,IAAI,IAAIC,KAAKF,EAAE,EAAE,SAAS,OAAO,OAAO,EAAE,CAACC,EAAE,SAAS,CAAC,EAAE,KAAKqE,GAAG,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,kBAAkBtE,EAAE,IAAI,GAAG,CAAC,IAAIG,EAAE,KAAK,cAAcD,EAAE,CAAC,MAAO,GAAE,SAAS,OAAO,OAAO,EAAE,CAACD,EAAE,SAAS,CAAC,EAAE,KAAKmE,GAAGjE,GAAG,CAAC,KAAK,oBAAoBH,EAAE,IAAI,GAAG,CAAC,IAAIG,EAAE,KAAK,cAAcD,EAAE,CAAC,MAAO,GAAE,SAAS,OAAO,OAAO,EAAE,CAACD,EAAE,SAAS,CAAC,EAAE,KAAKkE,GAAGhE,GAAG,CAAC,KAAK,oBAAoBH,EAAE,IAAI,GAAG,CAAC,IAAIG,EAAE,KAAK,cAAcD,EAAE,CAAC,MAAO,GAAE,SAAS,OAAO,OAAO,EAAE,CAACD,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,EAAEE,GAAG,CAAC,KAAK,4BAA4BH,EAAE,IAAI,GAAG,CAAC,IAAIG,EAAE,KAAK,cAAcD,EAAE,CAAC,MAAO,GAAE,SAAS,OAAO,OAAO,EAAE,CAACD,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,KAAKmE,GAAGjE,GAAG,CAAC,KAAK,8BAA8BH,EAAE,IAAI,GAAG,CAAC,IAAIG,EAAE,KAAK,cAAcD,EAAE,CAAC,MAAO,GAAE,SAAS,OAAO,OAAO,EAAE,CAACD,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,KAAKkE,GAAGhE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAIA,EAAEF,EAAE,UAAU,QAAQ,GAAG,EAAE,UAAU,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAIG,EAAE,KAAK,kBAAkB,KAAK,UAAU,EAAEJ,EAAE,SAAS,KAAK,gBAAgB,CAACC,EAAE,OAAOD,EAAEE,EAAE,CAAC,IAAI,IAAI,KAAKE,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,YAAYA,EAAE,MAAMA,EAAE,OAAO,KAAK,CAAC,IAAIA,EAAEJ,EAAE,iBAAiB,EAAE,iBAAiB,KAAK,SAASC,EAAE,OAAOD,EAAEE,EAAE,CAAC,EAAE,iBAAiBE,EAAE,EAAE,UAAU,QAAQD,EAAE,kBAAkB,CAAC,GAAG,KAAK,WAAW,KAAK,CAAC,IAAIF,EAAE,KAAK,UAAU,OAAO,KAAK,kBAAkB,CAAC,OAAO,KAAK,oBAAoB,CAAC,OAAO,KAAK,oBAAoB,CAAC,OAAO,KAAK,4BAA4B,CAAC,OAAO,KAAK,8BAA8B,CAAC,IAAI,IAAID,KAAKC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,kBAAkB,OAAO,CAAC,KAAK,kBAAkB,CAAC,WAAW,mBAAmB,CAAC,OAAO,GAAG,WAAW,kBAAkB,EAAE,CAAC,GAAGA,IAAqkF,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,OAAOA,EAAE,WAAW,CAAC,MAAO,MAAK,SAAS,MAAM,EAAE,EAAE,CAAC,MAAO,MAAK,OAAOA,EAAE,OAAU,IAAI,GAAG,EAAE,CAAkB,IAAk+B,GAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,CAAmxL,GAAG,IAAI,IAAI,CAAC,CAAC,GAAE,IAA9xL,mJAAqyL,CAAC,CAAC,GAAE,MAAnpL,6GAA4pL,CAAC,CAAC,GAAE,QAAhjL,yJAA2jL,CAAC,CAAC,GAAE,MAAn6K,8MAA46K,CAAC,CAAC,GAAE,WAA/tK,4OAA6uK,CAAC,CAAC,GAAE,YAAlgK,oOAAihK,CAAC,CAAC,GAAE,OAA9yJ,wJAAwzJ,CAAC,CAAC,GAAE,WAAjqJ,wJAA+qJ,CAAC,CAAC,GAAE,OAAxhJ,6JAAkiJ,CAAC,CAAC,GAAE,IAAI,KAAK,CAAC,CAAC,GAAE,UAAn5I,uKAAg6I,CAAC,CAAC,GAAE,WAA1vI,oOAAwwI,CAAC,CAAC,GAAE,SAAriI,6JAAijI,CAAC,CAAC,GAAE,IAAr5H,8MAA45H,CAAC,CAAC,GAAE,OAA/sH,wJAAytH,CAAC,CAAC,GAAE,WAAlkH,gKAAglH,CAAC,CAAC,GAAE,QAAj7G,wJAA47G,CAAC,CAAC,GAAE,YAAryG,sKAAozG,CAAC,CAAC,GAAE,aAA/oG,4JAA+pG,CAAC,CAAC,GAAE,aAApgG,0KAAohG,CAAC,CAAC,GAAE,WAA32F,8MAAy3F,CAAC,CAAC,GAAE,SAA5qF,mJAAwrF,CAAC,CAAC,GAAE,SAAtiF,yKAAkjF,CAAC,CAAC,GAAE,OAA14E,uGAAo5E,CAAC,CAAC,GAAE,QAA9yE,oOAAyzE,CAAC,CAAC,GAAE,UAAtlE,yPAAmmE,CAAC,CAAC,GAAE,QAA32D,0NAAs3D,CAAC,CAAC,GAAE,WAA7pD,iNAA2qD,CAAC,CAAC,GAAE,OAA39C,4KAAq+C,CAAC,CAAC,GAAE,WAA1zC,oXAAw0C,CAAC,CAAC,GAAE,IAAr9B,sFAA49B,CAAC,CAAC,GAAE,SAAv4B,4JAAm5B,CAAC,CAAC,GAAE,YAAxvB,iPAAuwB,CAAC,CAAC,CAAC,GAAG,cAAcwE,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,eAAexE,EAAE,KAAK,QAAQ,IAAIyE,GAAG1E,EAAE,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,MAAM,WAAW,EAAE,CAAC,KAAK,QAAQ,MAAMC,EAAE,IAAI,eAAe,CAAC,OAAO,KAAK,eAAe,IAAI,cAAc,EAAE,CAAC,KAAK,eAAeA,EAAE,KAAK,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CAAC,OAAO,KAAK,cAAc,iBAAiB,EAAE,CAAC,KAAK,cAAcA,EAAE,eAAe,CAAC,OAAO,GAAG,IAAI,KAAK,cAAc,GAAse,GAAE,cAAc4E,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW3E,EAAE,GAAE,KAAK,cAAcC,EAAE,GAAE,OAAO,QAAQC,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,KAAKH,EAAE,KAAK,SAAS,KAAK,KAAK,WAAWC,EAAE,KAAK,eAAeF,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQI,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,IAAI,GAAGD,EAAE,CAAC,KAAK,UAAU,iBAAiB,SAAS,GAAG,KAAK,YAAY,CAAC,CAAC,KAAK,iBAAiB2E,GAAG,KAAK,kBAAkBC,GAAG,IAAI,iBAAiB,CAAC,OAAO,KAAK,iBAAiB,IAAI,gBAAgB,EAAE,CAAC,KAAK,iBAAiB9E,EAAE,KAAK,YAAY,CAAC,IAAI,kBAAkB,CAAC,OAAO,KAAK,kBAAkB,IAAI,iBAAiB,EAAE,CAAC,KAAK,kBAAkBA,EAAE,KAAK,YAAY,CAAC,IAAI,UAAU,EAAE,EAAE,IAAI,WAAW,EAAE,EAAE,SAAS,CAAC,OAAO,KAAK,KAAK,YAAY,EAAE,CAAC,KAAK,SAASA,EAAE,YAAY,CAAC,OAAO,KAAK,QAAQ,aAAa,CAAC,OAAO,KAAK,SAAS,eAAe,CAAC,OAAO,KAAK,WAAW,cAAc,CAAC,OAAO,KAAK,UAAU,eAAe,CAAC,OAAO,KAAK,WAAW,cAAc,EAAE,CAAC,KAAK,WAAWA,EAAE,KAAK,YAAY,CAAC,mBAAmB,CAAC,OAAO,KAAK,eAAe,kBAAkB,EAAE,CAAC,KAAK,eAAeA,EAAE,KAAK,YAAY,CAAC,iBAAiB,CAAC,OAAO,KAAK,aAAa,gBAAgB,EAAE,CAAC,KAAK,aAAaA,EAAE,KAAK,YAAY,CAAC,YAAY,CAAC,KAAK,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,EAAE,EAAE+E,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI/E,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,IAAID,EAAE,KAAKC,IAAID,aAAaiF,IAAIjF,aAAakF,IAAIlF,aAAamF,IAAInF,aAAa,KAAI,KAAKC,GAAG,SAAS,IAqBjv3B,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CA6Khe,IAAI2I,EAW+pD,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,aAAa3I,EAAED,EAAE,CAAC,KAAK,UAAU,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,KAAK,UAAU,IAAI,GAAG,KAAK,wBAAwBE,IAAI,KAAK,KAAK,IAAIgE,GAAGhE,EAAE,CAAC,KAAK,iBAAiB,CAAC,EAAE,KAAK,oBAAoB,CAAC,EAAE,KAAK,UAAU,KAAK,IAAI,UAAU,EAAE,CAAC,KAAK,MAAMD,EAAE,IAAI,WAAW,EAAE,CAAC,KAAK,OAAOA,EAAE,IAAI,gBAAgB,CAAC,OAAO,MAAM,eAAe,IAAI,eAAe,EAAE,CAAC,MAAM,eAAeA,EAAE,KAAK,UAAU,eAAeA,EAAE,IAAI,kBAAkB,CAAC,IAAIA,EAAE,KAAK,wBAAwB,OAAOA,IAAI,KAAgB,KAAXA,EAAE,SAAc,IAAI,iBAAiB,EAAE,CAAC,IAAID,EAAE,KAAK,wBAAwB,IAAI,KAAsEA,IAAI,OAAOA,EAAE,SAAS,CAAC,KAAK,wBAAwB,MAArHA,IAAI,KAAsB,KAAK,wBAAwB,IAAIkE,GAAGjE,EAAE,CAAvDD,EAAE,YAAYC,EAAE,CAAkG,qBAAqB,CAAC,OAAO,KAAK,iBAAiB,oBAAoB,EAAE,CAAC,KAAK,iBAAiBA,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,QAAQ,IAAI,MAAM,EAAE,CAAC,KAAK,UAAU,QAAQA,EAAE,cAAc,CAAC,OAAO,KAAK,UAAU,aAAa,EAAE,CAAC,KAAK,UAAUA,EAAE,sBAAsB,CAAC,OAAO,KAAK,iBAAiB,sBAAsB,EAAE,CAAC,KAAK,iBAAiBA,EAAE,qBAAqB,CAAC,OAAO,KAAK,oBAAoB,qBAAqB,EAAE,CAAC,KAAK,oBAAoBA,EAAE,cAAc,CAAC,OAAO,KAAK,UAAU,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,UAAUS,EAAE,EAAE,OAAO,KAAKC,EAAE,EAAE,WAAWC,EAAEX,EAAE,UAAU,WAAWY,EAAE,KAAK,eAAe,KAAKb,EAAE,IAAI,MAAM,EAAE,OAAO,IAAI,EAAE,UAAU,CAAC,CAAC,KAAK,sBAAsB,EAAE,UAAU,WAAW,CAAC,IAAI,KAAK,kBAAkB,KAAK,UAAU,qBAAqB,QAAQ,EAAE,WAAW,MAAM,KAAK,UAAU,SAAS,KAAK,UAAU,OAAOC,EAAED,EAAE,CAACC,EAAE,gBAAgBY,EAAE,CAAC,KAAK,0BAA0B,KAAgDZ,EAAE,OAAO,EAAE,EAAE,CAAxD,KAAK,wBAAwB,OAAOA,EAAE,EAAE,EAAE,CAAe,EAAE,OAAO,KAAKS,EAAE,EAAE,WAAWC,EAAE,EAAE,UAAU,WAAWC,IAK14G,IAAImJ,EAAM,IAAIC,GAU5H,IAAIoB,GAuJmkD,KAAK,GAAG,GAAM,IAAI+C,EAAM,IAAIA,EAkdvJ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCj9C,GAAG,uQAAuQ,GAAG,cAAc0G,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,iBAAiB,QAAQ,CAAC,eAAeC,GAAG,QAAQ,OAAO,GAAG,CAAC,cAAc,IAAI,cAAc,IAAI,CAAC,SAAS,CAAC,YAAY,IAAIC,GAAE,KAAK,CAAC,YAAY,IAAIA,GAAE,KAAK,CAAC,WAAW,IAAIA,GAAE,IAAIC,EAAG,CAAC,UAAU,IAAID,GAAE,IAAIC,EAAG,CAAC,WAAW,IAAID,GAAE,GAAG,CAAC,UAAU,IAAIA,GAAE,IAAI,CAAC,OAAO,IAAIA,GAAE,EAAE,CAAC,KAAK,IAAIA,GAAE,EAAE,CAAC,CAAC,SAASE,GAAG,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU7U,EAAE,CAAC,CAACH,GAAG,KAAK,eAAeA,EAAE,CAACD,GAAG,KAAK,WAAWA,EAAE,CAACE,GAAG,KAAK,YAAYA,EAAE,CAAC,KAAK,mBAAmBC,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,KAAK,SAAS,YAAY,MAAMF,EAAE,eAAe,EAAE,CAAC,KAAK,SAAS,YAAY,MAAMA,EAAE,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,YAAY,MAAM,IAAI,YAAY,EAAE,CAAC,KAAK,SAAS,YAAY,MAAMA,EAAE,IAAI,cAAc,CAAC,OAAO,OAAO,KAAK,QAAQ,cAAc,CAAC,IAAI,aAAa,EAAE,CAAC,KAAK,QAAQ,cAAcA,EAAE,QAAQ,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,eAAe,EAAE,EAAEiV,GAAG,CAAC,KAAK,YAAYjV,EAAE,KAAK,aAAaD,EAAE,cAAc,EAAE,CAAC,KAAK,eAAeC,EAAE,YAAY,CAAC,KAAK,WAAWA,EAAE,QAAQ,CAAC,KAAK,YAAYA,EAAE,SAAS,CAAC,KAAK,cAAcA,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,MAAO,MAAK,eAAe,GAAG,QAAQ,GAAE,cAAcA,EAAE,IAAI,GAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,GAAE,iBAAiBA,EAAE,IAAI,GAAE,iBAAiB,EAAE,GAAG,CAAC,QAAQ,GAAE,oBAAoBA,EAAE,IAAI,GAAE,oBAAoB,EAAE,GAAG,CAAC,KAAK,aAAa,GAAG,QAAQ,GAAE,YAAYA,EAAE,IAAI,GAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,GAAE,oBAAoBA,EAAE,IAAI,GAAE,oBAAoB,EAAE,GAAG,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC,IAAI,IAAID,KAAKC,EAAE,SAAS,CAAC,KAAK,QAAQD,EAAE,IAAIA,EAAE,GAAG,MAAO,MAAK,YAAY,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC,IAAI,IAAIA,KAAKC,EAAE,SAAS,CAAC,KAAK,SAASD,EAAE,IAAIA,EAAE,GAAG,OAAO,KAAK,cAAc,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC,IAAI,IAAIA,KAAKC,EAAE,KAAK,WAAWD,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,cAAc,CAAC,OAAO,KAAK,QAAQ,gBAAgB,IAAK,GAAE,IAAI,aAAa,EAAE,CAAC,KAAK,eAAeC,IAAIA,EAAE,KAAK,QAAQ,cAAc,IAAI,OAAO,KAAK,QAAQ,cAAc,KAAK,YAAY,CAAC,GAAG,wBAAwB,EAAE,CAAC,OAAO,KAAK,aAAa,yBAAyB,EAAE,CAAC,KAAK,aAAaA,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC,KAAK,SAAS,KAAK,MAAMA,EAAE,aAAa,EAAE,CAAC,KAAK,SAAS,KAAK,OAAOA,EAAE,oBAAoB,EAAE,CAAC,KAAK,mBAAmBA,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAAI,KAAK,SAAS,WAAW,MAAMA,EAAE,KAAK,KAAK,SAAS,UAAU,MAAMA,EAAE,IAAIA,aAAakV,GAAG,KAAK,QAAQ,mBAAmB,IAAI,OAAO,KAAK,QAAQ,mBAAmB,KAAK,YAAY,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,IAAIjV,EAAE,KAAK,SAAS,EAAE,WAAW,MAAM,IAAID,EAAED,EAAE,CAACE,EAAE,UAAU,MAAM,IAAI,EAAED,EAAE,EAAED,EAAE,CAAC,EAAE,OAAO,MAAMC,EAAED,EAAE,WAAW,SAAS,CAAC,OAAO,KAOs3B,OAAOkW,GAAG,QAAQ,OAAO,GAAG,CAAC,CAAC,GAAE,IAAI,IAAO,IAAI,aAAa,CAAC,GAAE,KAAK,EAAE,GAAE,KAAK,EAAE,GAAE,IAAI,GAAE,CAAC,CAAI,IAAI,aAAa,CAAC,GAAE,GAAE,IAAI,GAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAYhhH,GAAG,cAAc,EAAC,CAAC,YAAY,EAAE,GAAGlW,EAAE,CAAC,MAAM,aAAa,CAAC,KAAK,mBAAmB,IAAI,GAAG,KAAK,KAAK,KAAKC,EAAE,CAAC,KAAK,SAAS,GAAG,KAAK,YAAYC,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,KAAK,WAAWF,EAAE,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,IAAyB,KAAK,UAAU,EAAE,IAAI,UAAU,EAAE,CAAC,IAAI,IAAIA,KAAK,KAAK,QAAQ,EAAE,UAAUC,EAAE,IAAI,WAAW,EAAE,CAAC,KAAK,mBAAmB,mBAAmBA,EAAE,CAAC,IAAI,IAAID,KAAK,KAAK,QAAQ,EAAE,WAAWC,EAAE,IAAI,cAAc,CAAC,OAAO,KAAK,mBAAmB,aAAa,IAAI,aAAa,EAAE,CAAC,KAAK,mBAAmB,aAAaA,EAAE,IAAI,WAAW,CAAC,OAAO,KAAK,mBAAmB,UAAU,IAAI,UAAU,EAAE,CAAC,IAAID,EAAE,KAAK,mBAAmB,EAAE,UAAUC,EAAE,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,IAAID,KAAK,KAAK,QAAQ,EAAE,oBAAoB,SAAS,KAAK,SAAS,CAAC,KAAK,QAAQC,EAAE,MAAM,EAAE,IAAIC,EAAE,WAAWF,EAAE,WAAW,CAAC,IAAI,IAAIA,KAAK,KAAK,QAAQ,EAAE,iBAAiB,SAAS,KAAK,SAAS,CAAC,gBAAgB,CAAC,IAAIC,EAAE,IAAI,GAAGD,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,QAAQ,GAAG,EAAE,UAAU,gBAAgB,GAAE,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,GAAE,UAAU,CAAC,IAAIC,EAAE,WAAW,EAAE,eAAe,CAAC,GAAE,eAAe,EAAE,MAAU,MAAM,yCAAyC,EAAE,KAAK,GAAG,CAAC,GAAG,KAAI,IAAI,EAAEA,EAAE,CAAC,IAAIC,EAAED,EAAE,YAAY,IAAI,GAAE,cAAc,CAACE,EAAEF,EAAE,YAAY,IAAI,GAAE,oBAAoB,CAACG,EAAEH,EAAE,YAAY,IAAI,GAAE,iBAAiB,CAAC,EAAE,aAAa,IAAI,IAAI,KAAKA,EAAE,WAAW,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;GACrlDA,EAAE,WAAW,GAAE,SAAS,EAEiC,KAAK,kBAAkB,CAAC,GAFtDA,EAAE,YAAY,EAAE;;GAE3CE,GAAG,KAAK,kBAAkB,KAAK,iBAAiB,GAAG,MAAgCF,EAAE,aAAaoB,KAAK,GAAG;IACzGpB,EAAE,kBAAkB,EAAE;EACxBG,EAAEH,EAAE,QAAQ,IAAI,KAAK,gBAAgB,EAAEA,EAAE,QAAQ,IAAI,KAAK,MAAM,CAACA,EAAE,YAAY,IAAI,GAAE,cAAcC,EAAE,CAACD,EAAE,YAAY,IAAI,GAAE,oBAAoBE,EAAE,CAACF,EAAE,YAAY,IAAI,GAAE,iBAAiBG,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,KAAKH,EAAE,YAAY,IAAI,MAAMA,EAAE,YAAY,IAAI,EAAE,EAAE,MAAM,CAAC,QAAQ,KAAK;GACzQ,CAAC,CAAC,KAAK,cAAcD,IAAI,EAAE,KAAK,UAAU,CAAC,KAAK,cAAc,KAAK,mBAAmB,cAAcC,EAAE,CAAC,WAAW,CAAC,KAAK,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,KAAK,mBAAmB,YAAY,gBAAgB,EAAE,EAAEkW,GAAG,CAAC,KAAK,mBAAmB,YAAYlW,EAAE,KAAK,mBAAmB,aAAaD,EAAE,IAAI,IAAIE,KAAK,KAAK,QAAQ,EAAE,gBAAgBD,EAAED,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,KAAK,QAAQ,EAAE,OAAOC,EAAED,EAAEG,EAAE,CAAC,GAAG,CAAC,KAAK,eAAe,KAAK,eAAe,CAAC,IAAI,EAAE,KAAK,mBAAmB,EAAE,YAAYH,EAAE,QAAQ,EAAE,MAAMG,EAAE,KAAK,UAAUF,EAAE,gBAAgB,KAAK,eAAe,KAAKC,EAAE,CAACD,EAAE,OAAO,KAAK,MAAM,KAAK,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,mBAAmB,QAAQA,EAAED,EAAE,CAAC,IAAI,IAAIE,KAAK,KAAK,QAAQ,EAAE,QAAQD,EAAED,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,KAAK,SAASC,EAAE,IAAI,IAAIE,KAAK,KAAK,QAAQ,EAAE,WAAWF,EAAED,EAAEE,EAAE,CAAC,KAAK,gBAAgB,CAACA,IAAI,IAAK,IAAGA,IAAIkW,KAAK,KAAK,mBAAmB,QAAQ,2BAA2B,KAAK,SAAS,CAAC,MAAM,SAAS,CAAC,IAAI,IAAInW,KAAK,KAAK,QAAQ,EAAE,oBAAoB,SAAS,KAAK,SAAS,CAACA,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,UAAU,KAAK,WAAW,GAAy0F,IAAI,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE,CAAK,IAAI,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE,CAAO,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAqqD,IAAI,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE,CAA6B,IAAI,aAAa,CAAC,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,KAAK,CAAC,CAAK,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAM,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAM,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAC/iM,IAAI,IAAI,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBCl7B9wD,SCuMhB,SAAwB,GAAiB,CAAC,UAAQ,SAAS,YAAU,EAAE,SAAO,CAAC,UAAU,CAAC,YAAU,GAAK,eAAa,EAAE,iBAAe,EAAE,SAAO,GAAM,iBAAe,GAAG,eAAa,EAAE,kBAAgB,EAAE,gBAAc,GAAK,uBAAqB,EAAE,kBAAgB,GAAG,cAAY,GAAG,aAAW,GAAM,qBAAmB,EAAE,oBAAkB,IAAI,qBAAmB,GAAK,QAAM,GAAG,cAAY,GAAK,WAAS,GAAG,cAAY,GAAG,CAAC,IAAM,EAAa4W,EAAO,KAAK,CAAO,EAAcA,EAAO,CAAC,QAAQ,GAAK,CAAC,CAAO,EAASA,EAAO,EAAM,CAAO,EAAcA,EAAO,CAAC,QAAQ,EAAW,SAAS,EAAmB,SAAS,EAAE,CAAC,CAAO,EAASA,EAAO,KAAK,CA8Bnb,OA5BhP,MAAc,CAAC,IAAM,EAAU,EAAa,QAAQ,GAAG,CAAC,EAAU,OAC/D,EAAS,QAEkC,IAAM,EAAS,IAAIC,GAAoB,CAAC,OAAzE,SAAS,cAAc,SAAS,CAAgD,YAAU,MAAM,GAAK,gBAAgB,mBAAmB,CAAC,CAAC,EAAS,WAAW,MAAM,MAAM,OAAO,EAAS,WAAW,MAAM,OAAO,OAAO,EAAS,cAAc,KAAK,IAAI,EAAO,kBAAkB,EAAE,EAAE,CAAC,CAAC,EAAU,YAAY,EAAS,WAAW,CAAI,EAAY,EAAS,cAAc,EAAE,CAAM,EAAS,cAAc,EAAE,EAAE,CACzZ,IAAM,EAAS,CAAC,YAAY,CAAC,MAAM,IAAIC,EAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,GAAW,KAAK,IAAIC,EAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,GAAW,KAAK,IAAID,EAAc,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,aAAa,GAAW,CAAC,CAAC,WAAW,CAAC,MAAM,GAAU,IAAU,EAAE,CAAC,WAAW,CAAC,MAAM,EAAU,EAAS,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,EAAa,CAAC,SAAS,CAAC,MAAM,EAAe,CAAC,aAAa,CAAC,MAAM,EAAgB,CAAC,eAAe,CAAC,MAAM,EAAc,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAY,CAAC,iBAAiB,CAAC,MAAM,EAAgB,CAAC,iBAAiB,CAAC,MAAM,EAAqB,CAAC,UAAU,CAAC,MAAM,EAAS,CAAC,CAAO,EAAM,IAAIE,GAAkB,EAAO,IAAIC,GAAyB,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAO,EAAS,IAAIC,GAAqB,CAAC,aAAa,GAAW,eAAe,GAAa,WAAS,YAAY,GAAK,UAAU,GAAM,WAAW,GAAM,YAAYC,GAAY,CAAC,CAAO,EAAS,IAAIC,GAAoB,EAAE,EAAE,CAAO,EAAK,IAAIC,GAAW,EAAS,EAAS,CAAC,EAAM,IAAI,EAAK,CAAC,IAAM,EAAM,IAAIC,GAAkB,MAAY,CAAC,GAAG,CAAC,EAAU,OAAO,IAAMC,EAAE,EAAU,aAAa,EAAQC,EAAE,EAAU,cAAc,EAAE,EAAS,QAAQD,EAAEC,EAAE,GAAM,CAAC,EAAS,YAAY,MAAM,IAAI,EAAS,WAAW,MAAM,EAAS,WAAW,OAAO,CAAI,EAAS,SAAS,UAAS,EAAS,QAAQ,SAAS,QAAQ,EAAS,WAAW,MAAM,EAAS,WAAW,OAAO,EAUl4C,GAAS,CAAC,IAAMC,EAAG,IAAI,eAAe,EAAQ,CAAC,EAAG,QAAQ,EAAU,CACpE,IAAIC,GAAG,KAAQ,IAAoB,GAAG,IAAI,qBAAqB,GAAS,CAAC,EAAc,QAAQ,QAAQ,EAAQ,IAAI,gBAAgB,IAAO,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAU,EAA0M,IAAM,QAAxL,CAAC,GAAU,IAAS,QAAa,EAAO,QAAQ,gBAAgB,CAAC,IAAM,EAAI,IAAI,YAAY,EAAE,CAAoC,OAAnC,EAAO,OAAO,gBAAgB,EAAI,CAAQ,EAAI,GAAG,WAAY,OAAO,KAAK,QAAQ,IAAiC,CAAC,IAAQ,EAAa,EAAU,GAAa,GAAG,EAAO,CAAC,EAAM,IAAoB,CAAC,EAAM,YAAY,EAAa,EAAS,IAAIC,GAAe,EAAS,CAAC,IAAM,EAAW,IAAIC,GAAW,EAAM,EAAO,CAAC,GAAa,GAAmB,EAAM,QAAQ,CAAC,SAAS,EAAe,KAAK,EAAkB,CAAC,CAAC,IAAM,EAAW,IAAIC,GAAW,EAAO,GAAa,CAAC,EAAW,eAAe,GAAK,EAAS,QAAQ,EAAW,CAAC,EAAS,QAAQ,EAAW,CAAE,GAAG,EAAY,EAAE,CAAK,IAAU,EAAS,IAAIF,GAAe,EAAS,CAAC,EAAS,QAAQ,IAAIC,GAAW,EAAM,EAAO,CAAC,EAA6f,IAAM,EAAU,IAAIC,GAAW,EAAxgB,IAAIC,GAAO,cAAc,+WAA+W,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAIC,GAAc,EAAE,CAAC,CAAC,CAAC,UAAU,IAAIA,GAAc,EAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAmD,CAAC,EAAU,eAAe,GAAQ,GAAU,EAAS,OAAO,OAAO,GAAE,EAAS,OAAO,QAAQ,GAAG,EAAE,eAAe,GAAM,CAAC,EAAS,QAAQ,EAAU,CAAK,GAAS,EAAS,QAAQ,EAAS,WAAW,MAAM,EAAS,WAAW,OAAO,CAAC,IAAM,EAAY,GAAG,CAAC,IAAM,EAAK,EAAS,WAAW,uBAAuB,CAAO,EAAO,EAAS,WAAW,MAAM,EAAK,MAAY,EAAO,EAAS,WAAW,OAAO,EAAK,OAAgG,MAAM,CAAC,IAAtFC,EAAE,QAAQ,EAAK,MAAM,EAAoE,IAAnD,EAAK,QAAQA,EAAE,QAAQ,EAAK,MAAM,EAAoB,EAAE,EAAS,WAAW,MAAM,EAAE,EAAS,WAAW,OAAO,EAAS,GAAc,GAAG,CAAC,GAAK,CAAC,KAAG,MAAI,EAAYA,EAAE,CAAO,EAAG,EAAS,SAAS,SAAS,EAAE,EAAS,UAAU,MAAM,GAAI,IAAI,EAAG,EAAG,CAAC,EAAS,YAAY,MAAM,GAAI,EAAS,MAAM,MAAS,EAAS,UAAQ,EAAS,QAAQ,SAAS,EAAG,GAAG,KAAmB,GAAc,GAAG,CAAC,GAAG,CAAC,EAAM,OAAO,GAAK,CAAC,KAAG,KAAG,EAAA,EAAE,EAAA,GAAG,EAAYA,EAAE,CAAC,EAAM,SAAS,CAAC,EAAE,EAAGT,EAAE,EAAE,EAAGC,EAAE,CAAC,EAAG,EAAS,WAAW,iBAAiB,cAAc,GAAc,CAAC,QAAQ,GAAK,CAAC,CAAC,EAAS,WAAW,iBAAiB,cAAc,GAAc,CAAC,QAAQ,GAAK,CAAC,CAAC,IAAI,EAAI,EAAQ,OAAY,CAAC,GAAG,GAAoB,CAAC,EAAc,QAAQ,QAAQ,CAAC,EAAI,sBAAsB,GAAQ,CAAC,OAEtqF,GADA,EAAS,MAAM,MAAM,GAAW,EAAM,gBAAgB,CAAC,EAAS,QAC7D,EAAc,QAAQ,SAAS,EAAS,eAAe,QAAQ,EAAE,CAAC,IAAMS,EAAI,EAAS,MAAM,MAAY,EAAS,EAAc,QAAQ,SAAS,GAAGA,EAAI,EAAc,QAAQ,UAAU,EAAS,CAAC,EAAc,QAAQ,SAASA,EAClO,IAAMV,EAAE,EAAS,WAAW,MAAYC,EAAE,EAAS,WAAW,OAAa,EAAG,KAAK,QAAQ,CAACD,EAAQ,EAAG,KAAK,QAAQ,CAACC,EAAQ,EAAG,EAAS,SAAS,SAAS,EAAE,EAAS,UAAU,MAAM,GAAI,IAAI,EAAG,EAAG,CAAC,EAAS,YAAY,MAAM,GAAIS,EAAO,EAAS,UAAQ,EAAS,QAAQ,SAAS,EAAG,GAAG,KAAgB,KAAa,GAAa,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAS,MAAM,OAAS,GAAa,GAAM,EAAM,QAAQ,CAAC,EAAS,OAAO,QAAQ,GAAG,CAAC,IAAM,EAAKC,EAAE,QAAW,GAAK,EAAK,QAAQ,GAAK,CAAC,IAAMC,EAAE,EAAI,UAAU,IAAI,QAAQ,CAAIA,IAAE,EAAE,MAAM,EAAS,MAAM,QAAQ,EAAG,CAAC,EAAS,QAAQ,EAAO,EAAS,OAAO,EAAM,EAAO,CAAE,EAAI,sBAAsB,GAAQ,EAC5oB,MAD+oB,GAAI,sBAAsB,GAAQ,CAAC,EAAS,QAAQ,CAAC,WAAS,QAAM,SAAO,WAAS,QAAM,QAAQ,EAAE,WAAS,eAAeV,EAAG,qBAAqBC,GAAG,MAAI,OAAK,cAAW,WAAS,QAAM,gBAAa,KAC50B,CAAC,GAAG,CAAC,EAAS,QAAQ,OAAO,IAAMU,EAAE,EAAS,QAAQ,EAAE,gBAAgB,YAAY,CAAC,EAAE,sBAAsB,YAAY,CAAC,qBAAqBA,EAAE,IAAI,CAAC,EAAS,WAAW,oBAAoB,cAAc,GAAc,CAAC,EAAS,WAAW,oBAAoB,cAAc,GAAc,CAAC,EAAE,MAAM,SAAS,SAAS,CAAC,EAAE,SAAS,SAAS,CAAC,EAAE,UAAU,SAAS,CAAC,EAAE,SAAS,SAAS,CAAC,EAAE,OAAO,SAAS,SAAS,CAAIA,EAAE,SAAS,WAAW,gBAAgB,GAAU,EAAU,YAAYA,EAAE,SAAS,WAAW,CAAC,EAAS,QAAQ,OAAS,CAAC,EAAU,EAAO,EAAY,EAAmB,CAAC,CAG7kB,MAAc,CAAC,IAAMA,EAAE,EAAS,QAAQ,GAAG,CAACA,EAAE,OAAO,EAAS,QAAQ,EAAM,EAAc,QAAQ,QAAQ,EAAW,EAAc,QAAQ,SAAS,EACpJ,EAAE,SAAS,WAAW,MAAM,GAAU,IAAU,EAAE,EAAE,SAAS,WAAW,MAAM,EAAUA,EAAE,SAAS,eAAe,CAAC,IAAM,EAAY,GAAQ,EAAO,OAAO,EAAE,EAAO,CAAC,UAAU,CAA6nB,GAA5nB,EAAE,SAAS,YAAY,MAAM,KAAK,IAAI,EAAY,OAAO,GAAW,CAAC,EAAY,SAAS,EAAE,IAAI,CAAC,GAAGC,EAAE,GAAW,CAAC,IAAM,EAAY,GAAiBC,EAAE,CAAC,EAAE,SAAS,QAAQ,MAAMD,GAAG,IAAI,EAAY,GAAI,CAAC,EAAE,SAAS,OAAO,MAAM,EAAa,EAAE,SAAS,SAAS,MAAM,EAAe,EAAE,SAAS,aAAa,MAAM,EAAgB,EAAE,SAAS,eAAe,MAAM,EAAc,EAAE,EAAE,EAAE,SAAS,iBAAiB,MAAM,EAAqB,EAAE,SAAS,iBAAiB,MAAM,EAAgB,EAAE,SAAS,aAAa,MAAM,EAAY,EAAE,SAAS,UAAU,MAAM,EAAY,EAAY,EAAE,SAAS,cAAc,EAAE,CAAM,EAAE,SAAS,cAAc,EAAE,EAAE,CAAID,EAAE,aAAa,CAAC,IAAM,EAAUA,EAAE,aAAa,SAAS,IAAI,YAAY,CAAI,IAAU,EAAU,MAAM,GAAe,IAAM,EAAMA,EAAE,aAAa,SAAS,IAAI,QAAQ,CAAI,IAAM,EAAM,MAAM,GAAsBA,EAAE,QAAO,EAAE,MAAM,YAAY,IAK3hC,CAAC,EAAQ,EAAU,EAAO,EAAa,EAAe,EAAgB,EAAc,EAAqB,EAAgB,EAAY,EAAW,EAAmB,EAAS,EAAY,EAAe,EAAa,EAAkB,EAAM,CAAC,CAAqB,EAAK,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,SAAS,CAAC,aAAa,+BAA+B,CAAC,+CAtO5W,IAAoC,KAA4B,KAAuF,IAAoD,CAMhP,GAAiB,GAAO,CAAC,GAAG,CAAC,EAAM,MAAM,UAC/C,GAAG,OAAO,GAAQ,SAAS,CAC3B,GAAG,EAAM,WAAW,OAAO,CAAE,GAAG,CAAC,IAAM,EAAK,SAAS,cAAc,MAAM,CAAC,EAAK,MAAM,MAAM,EAAM,SAAS,KAAK,YAAY,EAAK,CAAC,IAAM,EAAS,iBAAiB,EAAK,CAAC,MAAsC,OAAhC,SAAS,KAAK,YAAY,EAAK,CAAQ,GAAU,eAAgB,CAAC,MAAM,UAAY,OAAO,EACxQ,GAAG,OAAO,GAAQ,SAAS,CAAC,GAAG,MAAM,GAAO,MAAM,GAAO,MAAM,EAAsH,MAAM,OAA7G,KAAK,OAAO,EAAM,GAAG,GAAG,IAAI,CAA0F,IAAjF,KAAK,OAAO,EAAM,GAAG,GAAG,IAAI,CAA2D,IAAlD,KAAK,OAAO,EAAM,GAAG,GAAG,IAAI,CAA4B,GAChN,GAAG,UAAU,EAAO,OAAO,GAAiB,EAAM,MAAM,CAAG,MAAM,WAAkB,OAAuB,CAAC,IAAoB,EAAO,SAAS,cAAc,SAAS,CAAC,EAAO,MAAM,GAAK,EAAO,OAAO,GAAK,IAAM,EAAI,EAAO,WAAW,KAAK,CAAC,GAAG,CAAC,EAAI,MAAU,MAAM,2BAA2B,CAAC,EAAI,UAAU,QAAQ,EAAI,SAAS,EAAE,EAAE,EAAO,MAAM,EAAO,OAAO,CAAC,IAAM,EAAQ,IAAIG,GAAc,EAAO,CAAC,EAAQ,UAAUC,GAAmB,EAAQ,UAAUA,GAAmB,EAAQ,gBAAgB,GAAM,IAAM,EAAM,EAAE,CAAK,EAAK,KAAyB,EAAO,GAAG,GAAgC,MAAU,CAAC,EAAI,UAAU,QAAQ,EAAI,SAAS,EAAE,EAAE,EAAO,MAAM,EAAO,OAAO,EAAS,EAAU,GAAG,CAAC,IAAM,EAAI,CAAC,EAAEN,EAAE,EAAE,GAAK,GAAG,EAAEA,EAAE,GAAG,GAAK,CAAK,EAAU,EAA2E,AAAiE,EAA9DA,EAAE,IAAI,GAAO,IAAvE,GAAG,KAAK,IAAIE,EAAE,KAAK,GAAG,EAAE,EAAwEF,EAAE,KAAK,GAAO,IAAI,EAAvE,GAAG,CAACE,GAAGA,EAAE,IAA0F,GAAGF,EAAE,IAAI,GAAO,KAAK,GAAO,IAAI,EAAE,EAAE,GAAWA,EAAE,MAAM,IAAM,EAAM,IAAIA,EAAE,GAAG,GAAG,EAAE,IAAI,KAAKA,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,EAAU,MAA0B,EAAI,cAAc,IAAO,EAAI,cAAc,IAAO,EAAI,WAAW,EAAO,EAAI,YAAY,QAAQ,EAAM,GAAG,IAAI,EAAU,GAAG,EAAI,WAAW,CAAC,EAAI,UAAU,kBAAkB,EAAI,IAAI,EAAI,EAAE,IAAO,EAAI,EAAE,IAAO,EAAO,EAAE,KAAK,GAAG,EAAE,CAAC,EAAI,MAAM,EACj9B,MAAM,CAAC,SAAO,UAAQ,SAD68B,GAAM,CAAC,IAAI,EAAM,EAAM,EAAG,EAAM,EAAG,EAAE,GAAG,EAAK,CAAC,IAAM,EAAG,EAAK,EAAE,EAAK,EAAQ,EAAG,EAAK,EAAE,EAAK,EAAE,GAAG,IAAK,GAAG,IAAK,EAAE,OAAO,IAAMO,EAAG,EAAG,EAAG,EAAG,EAASC,EAAE,KAAK,KAAKD,EAAG,CAAC,EAAG,GAAIC,GAAG,GAAG,EAAG,GAAIA,GAAG,GAAG,EAAM,KAAK,IAAID,EAAG,IAAI,EAAE,CAAE,EAAK,CAAC,EAAE,EAAK,EAAE,EAAE,EAAK,EAAE,CAAC,EAAM,KAAK,CAAC,EAAE,EAAK,EAAE,EAAE,EAAK,EAAE,IAAI,EAAE,QAAM,KAAG,KAAG,CAAC,EACluC,WADsvC,CACrkD,KAAM,SAAS,EAAS,IAAO,CAAC,IAAI,IAAIJ,EAAE,EAAM,OAAO,EAAEA,GAAG,EAAE,IAAI,CAAC,IAAM,EAAM,EAAMA,GAASM,EAAE,EAAM,MAAM,SAAO,EAAE,EAAM,IAAI,IAAQ,EAAM,GAAG,EAAM,GAAGA,EAAE,EAAM,GAAG,EAAM,GAAGA,EAAE,EAAM,MAAS,EAAM,IAAI,IAAO,EAAM,OAAON,EAAE,EAAE,CAAE,IAAI,IAAIA,EAAE,EAAEA,EAAE,EAAM,OAAO,IAAI,EAAU,EAAMA,GAAG,CAAC,EAAQ,YAAY,KAA6C,IAAI,gBAAgB,CAAC,OAAO,EAAM,OAAO,GAAI,IAAI,YAAY,EAAE,CAAC,EAAO,GAAG,GAAK,GAAI,IAAI,aAAa,CAAC,OAAO,GAAQ,GAAG,KAAQ,QAAK,EAAS,IAAoB,EAAQ,IAkBrf,IAAIP,GAAO,eAlBigB;;;;;;;;;;;;;;;;;;MAkBze,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,WAAW,IAAIC,GAAc,EAAQ,CAAC,CAAC,CAAC,YAAY,IAAIA,GAAc,GAAM,UAAU,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAIA,GAAc,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAIA,GAAc,GAAM,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,GAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAO,GAAW;;;;EAIrT,GAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuKb,GAAW,GAAS,GAAW,EA8BkX,EAAoB,GAAiB,CAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,QAAQ,CAAC,SAAS,SAAS,WAAW,UAAU,CAAC,aAAa,CAAC,SAAS,SAAS,WAAW,UAAU,CAAC,aAAa,SAAS,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,QAAQ,CAAC,KAAK,EAAY,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,GAAG,aAAa,EAAE,KAAK,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,eAAe,OAAO,GAAO,CAAC,EAAM,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,IAAI,IAAI,IAAI,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,gBAAgB,OAAO,GAAO,CAAC,EAAM,cAAc,CAAC,qBAAqB,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,GAAG,MAAM,mBAAmB,OAAO,GAAO,CAAC,EAAM,cAAc,CAAC,WAAW,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAM,MAAM,cAAc,OAAO,GAAO,CAAC,EAAM,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,GAAG,MAAM,gBAAgB,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,WAAW,CAAC,OAAO,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAM,MAAM,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,kBAAkB,OAAO,GAAO,CAAC,EAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,GAAG,MAAM,gBAAgB,OAAO,GAAO,CAAC,EAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,GAAG,aAAa,IAAI,KAAK,GAAG,MAAM,gBAAgB,OAAO,GAAO,CAAC,EAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,YAAY,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,cAAc,CAAC,mBAAmB,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,aAAa,CAAC,CAAC,IC/NrvF,SAAwB,GAAe,CAAC,SAAO,GAAG,SAAO,GAAG,OAAK,YAAU,eAAa,QAAM,eAAa,YAAU,OAAK,GAAG,YAAU,uBAAuB,aAAW,WAAS,WAAS,GAAG,UAAQ,GAAG,YAAU,eAAa,YAAU,eAAa,CAAC,GAAK,CAAC,EAAY,GAAgBa,EAAS,GAAG,CAAC,MAAc,CAAC,GAAU,IAAS,OAAY,CAAC,IAAM,EAAK,IAAI,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,MAAoB,EAAe,EAAK,CAAC,GAAI,EAAE,CAAC,CAAC,IAAM,EAAS,GAAc,EAAU,GAAG,EAAU,GAAG,IAAc,EAA8O,OAA9M,CAAC,OAAO,EAAP,CAAmB,IAAI,YAAY,MAAM,IAAO,IAAI,aAAa,MAAM,IAAO,IAAI,YAAY,MAAM,IAAI,IAAI,cAAc,MAAM,IAAI,IAAI,OAAO,MAAM,GAAG,IAAI,SAAS,OAAO,EAAO,QAAQ,MAAM,OAA8B,CAAO,EAAc,IAAa,SAAS,GAAG,EACtyB,MAAmB,CAAC,IAAM,EAAM,EAAE,CAAC,GAAG,EAAc,CAAC,IAAM,EAAW,IAAa,YAAY,YAAY,IAAa,aAAa,uBAAuB,IAAa,YAAY,YAAY,IAAa,cAAc,eAAe,EAAc,EAAM,KAAK,EAAW,CAAgH,OAA9G,EAAM,KAAK,EAAS,CAAI,GAAK,EAAM,KAAK,EAAK,CAAI,GAAU,EAAM,KAAK,EAAU,CAAI,GAAO,EAAM,KAAK,EAAO,CAAQ,EAAM,KAAK,IAAI,EAAG,OAAoB,EAAK,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAY,OAAO,cAAc,eAAe,IAAY,SAAS,SAAS,IAAY,QAAQ,WAAW,aAAa,WAAW,SAAS,MAAM,EAAU,MAAM,EAAY,OAAO,OAAO,GAAG,EAAK,GAAG,EAAM,CAAC,KAAK,cAAc,aAAa,GAAgB,CAAC,SAAsB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,SAAS,WAAW,SAAS,UAAU,aAAa,WAAW,EAAE,CAAC,SAAS,CAAc,EAAM,OAAO,CAAC,YAAY,SAAS,cAAc,OAAO,SAAS,CAAC,GAAe,GAAG,EAAc,GAAG,EAAS,IAAI,GAAmB,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAa,CAAC,SAAS,EAAK,CAAC,CAAC,IAAI,GAAW,GAAG,EAAU,GAAG,EAAO,CAAC,CAAC,CAAC,GAAU,GAAU,GAAsB,EAAK,IAAI,CAAC,KAAK,EAAQ,OAAO,EAAa,SAAS,QAAQ,IAAI,EAAa,sBAAsB,IAAA,GAAU,aAAa,GAAG,IAAW,EAAa,sBAAsB,KAAK,MAAM,CAAC,MAAM,EAAU,eAAe,IAAY,YAAY,YAAY,OAAO,WAAW,IAAY,OAAO,OAAO,UAAU,UAAU,IAAY,SAAS,SAAS,SAAS,WAAW,MAAM,OAAO,UAAU,GAAG,EAAK,CAAC,SAAS,EAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBARv9C,IAAsD,IAAoD,CAQ+2C,EAAoB,GAAe,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,aAAa,YAAY,QAAQ,CAAC,YAAY,aAAa,YAAY,cAAc,OAAO,SAAS,CAAC,aAAa,CAAC,IAAO,IAAO,IAAI,IAAI,OAAO,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,QAAQ,CAAC,gBAAc,IAAa,SAAS,CAAC,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAM,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,KAAK,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,GAAK,QAAQ,CAAC,kBAAgB,CAAC,EAAa,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,YAAY,uBAAuB,aAAa,GAAG,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,uBAAuB,aAAa,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,gBAAgB,aAAa,UAAU,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,UAAU,WAAW,QAAQ,CAAC,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,OAAO,QAAQ,CAAC,OAAO,SAAS,QAAQ,CAAC,aAAa,CAAC,OAAO,SAAS,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAM,aAAa,MAAM,cAAc,KAAK,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,GAAM,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,iBAAiB,aAAa,GAAG,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,aAAa,GAAG,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,aAAa,YAAY,QAAQ,CAAC,YAAY,OAAO,SAAS,OAAO,CAAC,aAAa,CAAC,YAAY,OAAO,SAAS,OAAO,CAAC,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,kBAAkB,aAAa,GAAK,QAAQ,CAAC,cAAY,CAAC,EAAS,CAAC,CAAC,2BCP1hH,GAAU,UAAU,EAAE,CAAC,CAAc,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,CAAcC,GAAI,CAAC,2WAA2W,CAAc,GAAU,+CCAnd,IAAsE,IAA4B,CAA8DC,GAAK,imDAAymDC,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOC,IAAU,CAAC,OAAK,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qEAAqE,EASnrEC,GAAK,GAT8sE,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAWD,GAAS,EAAM,CAAC,OAAoB,EAAKD,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAeG,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiCJ,GAAK,6DAA6DA,GAAK,kBAAkB,CASzkF,eAAe,CAAC,GAAK,YAAY,cAA0BG,GAAK,EAAoBA,GAAK,CAAC,UAAU,CAAC,aAAa,6FAA6F,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,CAAC,iCCT3P,IAAsE,IAA4B,CAA8DE,GAAK,iqBAAyqBC,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOC,IAAU,CAAC,OAAK,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qEAAqE,EASnvCC,GAAK,GAT8wC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAWD,GAAS,EAAM,CAAC,OAAoB,EAAKD,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAeG,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,YAAY,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiCJ,GAAK,6DAA6DA,GAAK,kBAAkB,CASzoD,eAAe,CAAC,GAAK,YAAY,OAAmBG,GAAK,EAAoBA,GAAK,CAAC,UAAU,CAAC,aAAa,6FAA6F,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,CAAC,iCCTpP,IAAsE,IAA4B,CAA8D,GAAK,gmBAAwmB,GAAiB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG,GAAM,EAAM,OAAO,EAAsB,EAAK,EAAO,IAAI,CAAC,GAAG,EAAc,WAAa,MAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,EAAS,MAAI,CAAC,EAAG,CAAOE,IAAU,CAAC,OAAK,SAAO,GAAA,EAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAM,EAAM,WAAW,qEAAqE,EASlrC,GAAK,GAT6sC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,GAAG,GAAWA,GAAS,EAAM,CAAC,OAAoB,EAAK,GAAI,CAAC,GAAG,EAAU,UAAU,EAAG,eAAeC,EAAU,CAAU,WAAa,MAAI,MAAM,CAAC,WAAW,EAAU,GAAG,EAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiC,GAAK,4DAA4D,GAAK,kBAAkB,CAStkD,eAAe,CAAC,GAAK,YAAY,cAA0B,GAAK,EAAoB,GAAK,CAAC,UAAU,CAAC,aAAa,6FAA6F,OAAO,GAAM,MAAM,OAAO,KAAK,EAAY,MAAM,CAAC,CAAC,6FCT7O,IAAmU,IAA8C,IAA4B,KAAyJ,KAAsE,KAAkF,KAA+E,KAAsE,KAAqE,KAAkE,KAAgE,KAA2D,KAAiE,CAAM,GAAkB,EAASC,GAAa,CAAO,GAAS,EAASC,GAAI,CAAO,GAAsB,EAAS,GAAiB,CAAO,GAAa,EAASC,GAAQ,CAAO,GAAY,EAASC,GAAO,CAAO,GAAc,EAASC,GAAS,CAAO,GAAO,EAASC,GAAE,CAAO,GAAoB,EAAS,GAAe,CAAO,GAAY,CAAC,UAAU,yBAAyB,UAAU,sBAAsB,CAAOC,OAAc,OAAO,SAAW,IAAkB,GAAkB,eAAqB,GAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,CAAiC,IAAc,GAAG,IAAO,CAAC,IAAI,IAAM,KAAO,EAAM,GAAG,GAAK,OAAO,GAAM,SAAS,OAAO,GAA8B,GAAgB,CAAC,UAAU,CAAC,4DAA4D,iDAAiD,4EAA4E,gEAAgE,CAAC,CAAO,GAAe,OAAO,KAAK,GAAgB,CAAO,GAAU,CAAC,UAAU,2BAA2B,CAAO,GAAM,CAAC,kFAAkF,gFAAgF,ygBAAygB,sHAAsH,0IAA0I,+VAA+V,0IAA0I,0JAA0J,+HAA+H,uiBAAuiB,wSAAwS,yWAAyW,gOAAgO,0YAA0Y,+SAA+S,0UAA0U,6VAA6V,6SAA6S,wWAAwW,4RAA4R,wSAAwS,+IAA+I,wGAAwG,0RAA0R,iNAAiN,6IAA6I,oYAAoY,oEAAoE,GAAGC,GAAgB,GAAGC,GAAiB,8MAA8M,CAAO,GAAa,CAAC,UAAU,yBAAyB,UAAU,sBAAsB,CAAO,GAAwB,CAAC,QAAQ,YAAY,OAAO,YAAY,CAAO,IAAW,CAAC,WAAyB,IAAqB,CAAoB,KAAyB,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,EAAM,CAAC,yBAAyB,GAAG,CAAC,CAAS,IAAU,CAAC,SAAO,GAAA,EAAG,eAAa,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,QAAQ,GAAwB,EAAM,UAAU,EAAM,SAAS,YAAY,UAAU,GAAc,EAAM,WAAW,GAAK,EAAS,GAAuB,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,EAAO,KAAK,CAAO,EAAW,GAAK,EAAkB,EAAgBC,GAAa,CAAM,CAAC,eAAa,aAAW,IAAe,CAAM,CAAC,QAAM,UAAA,EAAU,WAAS,UAAQ,YAAU,WAAS,GAAG,GAAW,GAAS,EAAM,CAAM,CAAC,EAAY,GAAqB,GAA8B,EAAQ,GAAY,GAAM,CAAiH,EAAkB,EAAG,GAAzEC,GAAsBC,GAA8F,CAAO,MAAqBN,IAAW,CAAgB,IAAc,YAAtB,GAAkF,OAArB,GAAiB,EAAE,CAAC,CAAqB,EAAK,GAA0B,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAY,2BAAwB,iBAAiB,GAAK,iBAAiB,YAAY,qBAAkB,CAAC,SAAsB,EAAM,EAAY,CAAC,GAAG,GAAU,EAAgB,SAAS,CAAc,EAAK,GAAU,CAAC,MAAM,oGAAoG,CAAC,CAAc,EAAM,EAAO,IAAI,CAAC,GAAG,EAAU,UAAU,EAAG,EAAkB,gBAAgBO,EAAU,CAAC,uBAAuB,GAAK,iBAAiB,GAAK,IAAI,EAAW,MAAM,CAAC,GAAG,EAAM,CAAC,SAAS,CAAc,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAAU,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiB,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAKb,GAAa,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU,EAAE,SAAS,YAAY,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAKc,GAAkB,CAAC,WAAW,EAAY,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQ,GAAa,YAAY,CAAC,CAAC,CAAC,SAAsB,EAAKb,GAAI,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,QAAQ,GAAa,YAAY,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAY,IAAoB,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,gBAAgB,SAAsB,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,iBAAiB,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,GAAiB,CAAC,UAAU,GAAM,mBAAmB,GAAK,WAAW,GAAK,mBAAmB,EAAE,OAAO,CAAC,kEAAkE,uEAAuE,sEAAsE,wEAAwE,uEAAuE,qEAAqE,wEAAwE,CAAC,SAAS,EAAE,cAAc,GAAM,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,OAAO,GAAM,aAAa,EAAE,eAAe,GAAG,kBAAkB,IAAI,YAAY,EAAE,eAAe,GAAG,aAAa,IAAI,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,YAAY,GAAG,gBAAgB,GAAG,MAAM,EAAE,MAAM,CAAC,OAAO,OAAO,SAAS,OAAO,MAAM,OAAO,CAAC,YAAY,GAAK,QAAQ,GAAa,SAAS,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAsB,EAAK,MAAM,CAAC,UAAU,iBAAiB,CAAC,CAAc,EAAKa,GAAkB,CAAC,WAAW,EAAY,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,eAAe,IAAI,IAAI,OAAO,YAAY,IAAI,WAAW,IAAI,UAAU,OAAO,UAAU,MAAM,MAAM,QAAQ,IAAI,2FAA2F,OAAO,gGAAgG,CAAC,CAAC,CAAC,SAAsB,EAAKC,GAAO,CAAC,WAAW,CAAC,IAAI,GAAG,eAAe,GAAG,IAAI,OAAO,YAAY,IAAI,WAAW,IAAI,UAAU,OAAO,UAAU,MAAM,MAAM,QAAQ,IAAI,2FAA2F,OAAO,gGAAgG,CAAC,UAAU,gBAAgB,mBAAmB,kBAAkB,CAAC,CAAC,CAAC,CAAc,EAAM,EAAO,OAAO,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,iBAAiB,GAAK,SAAS,CAAc,EAAM,MAAM,CAAC,UAAU,iBAAiB,mBAAmB,YAAY,SAAS,CAAC,GAAa,EAAe,EAAK,MAAM,CAAC,UAAU,gCAAgC,mBAAmB,SAAS,SAAsB,EAAKb,GAAQ,CAAC,SAAS,GAAM,UAAU,iBAAiB,UAAU,GAAK,SAAS,YAAY,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,SAAS,CAAc,EAAKc,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,wEAAwE,CAAC,SAAsB,EAAK,SAAS,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,aAAa,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,SAAS,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,0BAA0B,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,GAAa,EAAe,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gCAAgC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,GAAa,EAAe,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gCAAgC,mBAAmB,UAAU,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,SAAS,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,wEAAwE,CAAC,SAAsB,EAAK,SAAS,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,aAAa,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,SAAS,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,GAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,SAAS,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,wEAAwE,CAAC,SAAsB,EAAK,SAAS,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,aAAa,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,SAAS,CAAc,EAAK,GAAK,CAAC,KAAK,4CAA4C,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,SAAsB,EAAKd,GAAO,CAAC,SAAS,GAAM,UAAU,gBAAgB,UAAU,GAAK,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAAK,CAAC,KAAK,+CAA+C,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,SAAsB,EAAKC,GAAS,CAAC,SAAS,GAAM,UAAU,gBAAgB,UAAU,GAAK,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAAK,CAAC,KAAK,4BAA4B,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,+BAA+B,SAAsB,EAAKC,GAAE,CAAC,SAAS,GAAM,UAAU,gBAAgB,UAAU,GAAK,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,gBAAgB,mBAAmB,YAAY,SAAS,CAAc,EAAKW,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,0BAA0B,SAAS,sBAAsB,wEAAwE,CAAC,SAAS,kCAAkC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAAU,CAAC,UAAU,0BAA0B,gCAAgC,SAAS,iBAAiB,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,GAAe,CAAC,UAAU,OAAO,YAAY,GAAM,aAAa,wEAAwE,KAAK,CAAC,WAAW,2CAA2C,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,cAAc,MAAM,WAAW,OAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,YAAY,SAAS,GAAG,KAAK,GAAG,aAAa,GAAK,OAAO,GAAG,SAAS,GAAM,UAAU,KAAK,UAAU,SAAS,OAAO,GAAG,WAAW,YAAY,UAAU,wEAAwE,aAAa,GAAM,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAM,IAAI,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,0BAA0B,SAAS,sBAAsB,wEAAwE,CAAC,SAAS,CAAC,WAAwB,EAAK,GAAK,CAAC,KAAK,YAAY,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,UAAU,gBAAgB,SAAsB,EAAKD,GAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKC,EAAe,CAAC,SAAsB,EAAK,IAAI,CAAC,MAAM,CAAC,kBAAkB,+EAA+E,uBAAuB,mFAAmF,qBAAqB,sBAAsB,+BAA+B,aAAa,0BAA0B,UAAU,uBAAuB,MAAM,sBAAsB,4BAA4B,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,uCAAuC,CAAC,kBAAkB,MAAM,QAAQ,eAAe,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAc,EAAK,GAA0B,CAAC,SAAsB,EAAK,GAAU,CAAC,UAAU,2BAA2B,iBAAiB,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAKH,GAAkB,CAAC,WAAW,EAAY,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,SAAsB,EAAK,GAAiB,CAAC,UAAU,GAAM,mBAAmB,GAAK,WAAW,GAAK,mBAAmB,EAAE,OAAO,CAAC,kEAAkE,uEAAuE,sEAAsE,wEAAwE,uEAAuE,qEAAqE,wEAAwE,CAAC,SAAS,EAAE,cAAc,GAAM,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,OAAO,GAAM,aAAa,EAAE,eAAe,GAAG,kBAAkB,IAAI,YAAY,EAAE,eAAe,GAAG,aAAa,IAAI,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,YAAY,GAAG,gBAAgB,GAAG,MAAM,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,YAAY,GAAK,QAAQ,GAAa,SAAS,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAO,GAAI,GAAgC,IAAS,EAAa,QAAQ,IAAS,EAAa,OAAgL,CAAC,GAAG,GAAM,GAAG,GAAe,QAAQ,GAAK,CAAC,IAAM,EAAS,GAAU,GAAK,OAAO,GAAgB,GAAK,IAAI,GAAM,GAAG,EAAS,IAAI,EAAK,GAAG,EAAG,CAAC,CAAvR,CAAC,GAAG,GAAM,GAAG,GAAe,IAAI,GAA0C,UAAxB,GAAa,GAA2B,KAAK,GAAgB,GAAK,KAAK,IAAI,CAAC,IAAM,CAAC,CAej50B,GAAgB,GAAQ,GAAU,GAAI,eAAe,IAAgB,GAAgB,GAAgB,YAAY,WAAW,GAAgB,aAAa,CAAC,OAAO,KAAK,MAAM,KAAK,CAAC,EAAoB,GAAgB,CAAC,UAAU,CAAC,aAAa,GAAK,YAAY,GAAG,MAAM,gBAAgB,KAAK,EAAY,QAAQ,CAAC,CAAC,CAA6F,GAAS,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,uEAAuE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,4BAA4B,OAAO,SAAS,MAAM,SAAS,aAAa,mBAAmB,IAAI,8FAA8F,cAAv0H,CAAC,CAAC,aAAa,IAAI,SAAS,IAAI,SAAS,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAA8wH,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,GAAkB,GAAG,GAAS,GAAG,GAAsB,GAAG,GAAa,GAAG,GAAY,GAAG,GAAc,GAAG,GAAO,GAAG,GAAoB,GAAG,GAAwBI,GAAkB,CAAC,GAAG,GAAwBC,GAAmB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,CAAC,GAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,GAAclB,GAAI,EAAE,CAAC,EAAQ,CAAC,CAAC,EAAG,ICJ3kJ,SAAS,GAAS,CAAC,YAAW,WAAU,QAAO,GAAG,GAAO,CAAC,IAAM,EAAS,CAAC,UAAW,GAAM,CACvF,EAAS,CAAC,GAAG,EAAQ,UAAW,GAAK,CAErC,EADgB,CAAC,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAQ,UAAW,EAAO,CAChV,IAAc,EAAE,CAC5C,OAAQ,EAAR,CAAoB,IAAK,YACzB,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,OAAOmB,EAAoBC,GAAW,CAAC,GAAG,EAAO,IAAK,YAAa,QAAM,CAAE,EAAS,GAAK,CAAC,CAC1F,QAAW,OAAO,EAAS,GAAM,EACjC,SAAgB,GAA6B,EAAS,CAAC,OAAQ,EAAR,CAAkB,IAAK,YAC9E,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,MAAO,CAAC,CAAC,KAAM,SAAU,WAAY,sBAAsB,CAAE,CAAC,KAAM,UAAW,WAAY,yBAAyB,CAAC,CACrH,QAAW,QAKT,eAAsB,GAAY,CAAE,UAAS,gBAAe,WAAU,oBAAoB,CACzF,IAAM,EAAc,GAAO,GAAS,KAAK,SAAS,CA2E5C,EAAOD,EAAoBiB,GAA4B,CAC5D,SANmDjB,EAAoBgB,GAAyC,CAChH,SATkChB,EAClCe,GACA,CACC,SA/Dcf,EACfE,GACA,CACC,UAAW,GACX,YAAa,OACb,UACA,gBACA,UACA,mBACA,gBACA,aAAcC,OAAkB,OAAO,2CAA2B,CAClE,gBAAiB,GACjB,WACA,WACA,oBAAqB,IAAA,GACrB,iBAAkB,yBAClB,UACK,IAAW,OAkCX,IAAA,QAlCgC,CACtC,GAAI,GAAO,CACV,QAAQ,IAAI,gEAAgE,CAC5E,OAGD,OAAOA,GAAY,SAAY,CAqB9B,EAAO,+BApBc,CACpB,UAAW,EACX,OAAQ,CACUC,mBACFC,iBACJC,YACX,CACD,MAAO,CACN,cAAeN,EACf,SAAUO,EACV,KAAMC,EACN,YAAaC,EACb,UAAWC,EACX,OAAQC,EACR,SAAUC,EACV,gBAAiBC,EACjB,CACD,YAAa,CAAE,aAAA,EAAc,CAC7B,CAID,GAAM,CAAE,mBAAoB,MAAM,OAAO,oCACzC,MAAO,CACN,QAAS,GAAiB,CAC1B,EACA,IACC,CAEF,2BAA4B,GAC5B,eAAgB,GAChB,mBAAoB,IAAIC,OAAuB,OAAO,8DAA+F,CACrJ,wBAAyB,EACzB,CACD,CAMC,MAAO,CAAC,mBAAoB,GAAM,kBAAmB,GAAO,uCAAwC,GAAO,eAAgB,GAAO,0BAA2B,GAAM,eAAgB,GAAM,+BAAgC,GAAO,WAAY,GAAM,CAClP,CACD,CAIA,CAAC,CAKD,MAAO,CAAC,OAAQ,EAAE,CAAC,CACnB,CAAC,CAIF,OADA,MAAM,EACC,EAuBR,SAAS,IAAQ,CACX,IACL,EAAO,gBAAgB,KAAK,UAAU,CAGvC,eAAe,GAAK,EAAe,EAAW,CAC7C,SAAS,EAAY,EAAO,EAAW,EAAc,GAAM,CAC1D,GAAI,EAAM,QAAU,EAAO,uBAAwB,OAEnD,IAAM,EAAiB,GAAW,eAClC,GAAI,EAGH,IAFA,QAAQ,KAAK;EAA4S,EAAO,EAAe,CAE3U,KAAK,QAAQ,CAAG,IAAM,YAE1B,QAAQ,MAAM;EAA+G,EAAO,EAAe,CAEpJ,GAAM,EAAc,wCAA0C,4BAA6B,CAC1F,QAAS,OAAO,EAAM,CACtB,iBACA,MAAO,EAAiB,IAAA,GAAY,aAAiB,OAAS,OAAO,EAAM,OAAU,SAAW,EAAM,MAAQ,KAC9G,CAAC,CAGH,GAAI,CACH,IAAI,EAAS,EAAU,EAAeI,EAAa,EACnD,GAAI,EACH,EAAY,KAAK,MAAM,EAAU,QAAQ,gBAAmB,CAC5D,EAAU,EAAU,QACpB,EAAW,EAAU,SACrB,EAAgB,EAAU,cAC1B,EAAc,EAAU,YAExB,EAAUC,GAA+B,GAAQ,EAAQ,KACnD,CACN,GAA+B,GAAQ,IAAA,GAAU,CAIjD,IAAM,EAA8C,YAAY,iBAAiB,aAAa,CAAC,IAAI,cAAc,KAAK,GAAKC,EAAE,OAAS,QAAQ,EAAE,YAChJ,GAAI,EAAa,CAChB,IAAMC,EAAY,IAAI,gBAAgB,EAAY,CAClD,EAAUA,EAAU,IAAI,KAAK,CAC7B,EAAWA,EAAU,IAAI,SAAS,CAClC,IAAK,GAAM,CAAC,EAAK,KAAUA,EAAU,SAAS,CACxC,EAAI,WAAW,OAAO,GAC3B,IAAkB,EAAE,CACpB,EAAc,EAAI,MAAM,EAAE,EAAI,GAGhC,GAAI,CAAC,GAAW,CAAC,EAAU,CAC1B,IAAMA,EAAYC,GAAiC,GAAQ,mBAAmB,SAAS,SAAS,CAAE,GAAM,GAAQ,CAChH,EAAUD,EAAU,QACpB,EAAWA,EAAU,SACrB,EAAgBA,EAAU,eAK5B,IAAM,EAAc,GAAY,CAC/B,UACA,WACA,gBACA,iBAAkB,GAAW,iBAC7B,CAAC,CAGK,IAAW,SACf,SAAY,CACjB,IAAM,EAAQ,GAAO,GAGf,EAAe,GAAQ,MAAM,CAAE,GAAA,KAAU,EAAoCE,IAAO,EAAhCA,IAAO,UAAkC,CAAC,KAEhG,EAAmB,GAAW,kBAAoB,KACtD,GAAI,IAAqB,MAAQ,GAAO,cAAgB,GAAiB,CACtE,IAAM,EAAQ,MAAM,GAAgB,EAAM,iBAAiB,CACrD,CAAC,GAAQ,OAAO,OAAO,EAAc,CACvC,GAAS,OAAO,GAAS,WAC5B,EAAoB,MAAM,EAAM,kBAAkB,EAAM,GAAgB,IAAA,GAAU,EAAK,MAI3F,IAAM,EAA0B,KAAK,gBAAgB,CAAC,iBAAiB,CACjE,EAAW,EAAwB,SACnC,EAAS,EAAwB,OAIvC,MAAM,IAAI,QAAS,GAAY,CAC1B,SAAS,aACZ,SAAS,iBAAiB,qBAAsB,EAAS,CAAE,KAAM,GAAM,CAAC,CAExE,GAAS,EAET,CAEF,EAAO,gBAAgB,KAAK,CAC3B,0BACA,CACC,aAAc,IAAgB,KAC9B,QAAS,EACT,UAAW,GAAO,MAAQ,IAC1B,mBACA,aAAc,GAAgB,KAC9B,UAAW,GAAO,oBAAsB,EACxC,SAAU,GAAO,SACjB,SAAU,SAAS,UAAY,KAC/B,IAAK,EAAO,SAAS,KACrB,SAAU,EAAO,SAAS,UAAY,KACtC,SAAU,EAAO,SAAS,UAAY,KACtC,KAAM,EAAO,SAAS,MAAQ,KAC9B,OAAQ,EAAO,SAAS,QAAU,KAClC,WACA,SACA,CACD,QACA,CAAC,CAGF,MAAMC,GAAmB,CAAE,SAAU,aAAc,2BAA4B,GAAM,cAAe,QAAS,CAAC,CAE9G,SAAS,cAAc,IAAI,YAAY,kBAAmB,CACzD,OAAQ,CAAE,aAAc,GAAgB,KAAM,CAC9C,CAAC,CAAC,IACA,CAID,IAAM,EAAO,MAAM,EACf,GAGH,GAA4B,iCAAoC,CAC/D,GAAsCN,EAAY,CAClD,EAAO,gCAAgCA,EAAY,EAClD,EAIsB,GAAQ,GAAM,GAAI,CAAGO,OACvB,CACrB,IAA2B,CACjB,IAAkC,CAC5C,EAAqB,EAAW,EAAM,CAAE,mBAAoB,EAAa,CAAC,EACzE,EAGF,EAAoB,EAAW,CAAE,mBAAoB,EAAa,CAAC,CAAC,OAAO,EAAK,OAEzE,EAAO,CAEf,MADA,EAAY,EAAO,IAAA,GAAW,GAAM,CAC9B,iCA5KR,UAjJiC,IACJ,IACU,IACI,KACwE,CAE7G,GAAS,CAAC,UAAW,CAAC,SAAU,CAAC,UAAW,UAAW,UAAW,MAAO,UAAW,OAAQ,UAAW,WAAY,UAAW,UAAU,CAAE,KAAMtB,OAAkB,OAAO,8DAAgG,CAAE,KAAM,IAAI,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,QAAQ,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,SAAS,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,gBAAgB,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,gBAAgB,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,gBAAgB,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,aAAc,YAAa,SAAU,EAAE,CAAE,KAAMA,OAAkB,OAAO,8DAAgG,CAAE,KAAM,mBAAmB,CAAC,CAE/gE,GAAU,CAAC,CAAC,KAAM,QAAS,GAAI,UAAW,KAAM,UAAW,KAAM,GAAI,cAAe,MAAM,CAAC,CAC3F,GAAkB,CAAC,UAAW,UAAa,MAAM,OAAO,gEAAmG,MAAS,CACpK,GAAe,mEA8Cf,GAAY,OAAO,SAAa,IAChC,GAAQ,IAAa,wDAAwD,KAAK,EAAU,UAAU,CAwFxG,GAAW,CACd,EAAO,4BAA8B,EAAoB,QACjDH,EAAoB0B,GAAyB,CAAE,MAAO,qCAAuC,EAAmB,SAAW,EAAqB,IAAK,CAAC,CAI9J,EAAO,gBAAkB,EAAO,iBAAmB,EAAE,CAGrD,IAA6B,CAG7B,IAA4C,CAE5C,IAAM,EAAY,SAAS,eAAe,OAAO,CAE7C,oBAAqB,EAAU,QAAS,GAAK,GAAM,EAAU,CAC5D,GAAK,GAAO,EAAU"}