{"version":3,"file":"shared-lib.C6-mLl0j.mjs","names":["clamp","lerp","damp","useRef","_Fragment","Children","CanvasTexture","SpecType","React.useMemo","React.useRef","React.useState","RenderTarget","React.useCallback","THREE","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","RichText","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","RichText","NavMenuTitle","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/RMCDKo9dB6hm9bZaSn16/Lenis.js","https:/framerusercontent.com/modules/uCN2sICTWjkvpQ4lwNZ4/WMDGM80bYUxWkSpg9f0a/THREE.js","https:/framerusercontent.com/modules/LBMXxG4YbujCkBcyRvXr/9sWI0H2Be4TNHyaLaigq/USDCParser.js","https:/framerusercontent.com/modules/uVOLfWEnmR6MYmKTTrOd/IsEFJqBT4lsfKFtrceNY/USDAParser.js","https:/framerusercontent.com/modules/XUbl9I8HAn494EgB7ygu/bMMevb92kHEAXyiFWHGN/USDComposer.js","https:/framerusercontent.com/modules/wbxjM1MK8o1EzbJbNYAF/A4OYmpE3vtY4F9uTD3Tx/fflate_module.js","https:/framerusercontent.com/modules/O5zy8ofbUQadyHRV16Qn/VDzJnY3GhoiikyfzUlpf/RoomEnvironment.js","https:/framerusercontent.com/modules/qEO6q6mn3Qg8YvSBqcLE/fItTHo0xX2J800m3yR9b/iphone_duo_scroll.js","https:/framerusercontent.com/modules/6REJs6KypeRRe0yUIhP7/YlrIcrZA34za6S1vTOwv/bzWTF4ehy.js","https:/framerusercontent.com/modules/Nw8Mllpld3V73it4aqys/iqboTSrSez702nrJPCFj/SMv6RNaBC.js","https:/framerusercontent.com/modules/QMrOGBBoUmDg5OtYIzIm/oQ9pJHo0pyD6XWLOEykn/YohrzWnvy.js","https:/framerusercontent.com/modules/qys0fYmbozrXNIYDIbdz/h03lmxvnhrb5oLMQEP5Q/siteMetadata.js"],"sourcesContent":["function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";import{useIsStaticRenderer}from\"framer\";var version=\"1.3.25\";//#endregion\n//#region packages/core/src/maths.ts\n/**\n * Clamp a value between a minimum and maximum value\n *\n * @param min Minimum value\n * @param input Value to clamp\n * @param max Maximum value\n * @returns Clamped value\n */function clamp(min,input,max){return Math.max(min,Math.min(input,max));}/**\n *  Linearly interpolate between two values using an amount (0 <= t <= 1)\n *\n * @param x First value\n * @param y Second value\n * @param t Amount to interpolate (0 <= t <= 1)\n * @returns Interpolated value\n */function lerp(x,y,t){return(1-t)*x+t*y;}/**\n * Damp a value over time using a damping factor\n * {@link http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/}\n *\n * @param x Initial value\n * @param y Target value\n * @param lambda Damping factor\n * @param dt Time elapsed since the last update\n * @returns Damped value\n */function damp(x,y,lambda,deltaTime){return lerp(x,y,1-Math.exp(-lambda*deltaTime));}/**\n * Calculate the modulo of the dividend and divisor while keeping the result within the same sign as the divisor\n * {@link https://anguscroll.com/just/just-modulo}\n *\n * @param n Dividend\n * @param d Divisor\n * @returns Modulo\n */function modulo(n,d){return(n%d+d)%d;}//#endregion\n//#region packages/core/src/animate.ts\n/**\n * Animate class to handle value animations with lerping or easing\n *\n * @example\n * const animate = new Animate()\n * animate.fromTo(0, 100, { duration: 1, easing: (t) => t })\n * animate.advance(0.5) // 50\n */var Animate=class{/**\n     * Advance the animation by the given delta time\n     *\n     * @param deltaTime - The time in seconds to advance the animation\n     */advance(deltaTime){if(!this.isRunning)return;let completed=false;if(this.duration&&this.easing){this.currentTime+=deltaTime;const linearProgress=clamp(0,this.currentTime/this.duration,1);completed=linearProgress>=1;const easedProgress=completed?1:this.easing(linearProgress);this.value=this.from+(this.to-this.from)*easedProgress;}else if(this.lerp){this.value=damp(this.value,this.to,this.lerp*60,deltaTime);if(Math.round(this.value)===Math.round(this.to)){this.value=this.to;completed=true;}}else{this.value=this.to;completed=true;}if(completed)this.stop();this.onUpdate?.(this.value,completed);}/** Stop the animation */stop(){this.isRunning=false;}/**\n     * Set up the animation from a starting value to an ending value\n     * with optional parameters for lerping, duration, easing, and onUpdate callback\n     *\n     * @param from - The starting value\n     * @param to - The ending value\n     * @param options - Options for the animation\n     */fromTo(from,to,{lerp,duration,easing,onStart,onUpdate}){this.from=this.value=from;this.to=to;this.lerp=lerp;this.duration=duration;this.easing=easing;this.currentTime=0;this.isRunning=true;onStart?.();this.onUpdate=onUpdate;}constructor(){_define_property(this,\"isRunning\",false);_define_property(this,\"value\",0);_define_property(this,\"from\",0);_define_property(this,\"to\",0);_define_property(this,\"currentTime\",0);_define_property(this,\"lerp\",void 0);_define_property(this,\"duration\",void 0);_define_property(this,\"easing\",void 0);_define_property(this,\"onUpdate\",void 0);}};//#endregion\n//#region packages/core/src/debounce.ts\nfunction debounce(callback,delay){let timer;return function(...args){clearTimeout(timer);timer=setTimeout(()=>{timer=void 0;callback.apply(this,args);},delay);};}//#endregion\n//#region packages/core/src/dimensions.ts\n/**\n * Dimensions class to handle the size of the content and wrapper\n *\n * @example\n * const dimensions = new Dimensions(wrapper, content)\n * dimensions.on('resize', (e) => {\n *   console.log(e.width, e.height)\n * })\n */var Dimensions=class{destroy(){this.wrapperResizeObserver?.disconnect();this.contentResizeObserver?.disconnect();if(this.wrapper===window&&this.debouncedResize)window.removeEventListener(\"resize\",this.debouncedResize);}get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height};}constructor(wrapper,content,{autoResize=true,debounce:debounceValue=250}={}){_define_property(this,\"width\",0);_define_property(this,\"height\",0);_define_property(this,\"scrollHeight\",0);_define_property(this,\"scrollWidth\",0);_define_property(this,\"debouncedResize\",void 0);_define_property(this,\"wrapperResizeObserver\",void 0);_define_property(this,\"contentResizeObserver\",void 0);_define_property(this,\"resize\",()=>{this.onWrapperResize();this.onContentResize();});_define_property(this,\"onWrapperResize\",()=>{if(this.wrapper instanceof Window){this.width=window.innerWidth;this.height=window.innerHeight;}else{this.width=this.wrapper.clientWidth;this.height=this.wrapper.clientHeight;}});_define_property(this,\"onContentResize\",()=>{if(this.wrapper instanceof Window){this.scrollHeight=this.content.scrollHeight;this.scrollWidth=this.content.scrollWidth;}else{this.scrollHeight=this.wrapper.scrollHeight;this.scrollWidth=this.wrapper.scrollWidth;}});this.wrapper=wrapper;this.content=content;if(autoResize){this.debouncedResize=debounce(this.resize,debounceValue);if(this.wrapper instanceof Window)window.addEventListener(\"resize\",this.debouncedResize);else{this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize);this.wrapperResizeObserver.observe(this.wrapper);}this.contentResizeObserver=new ResizeObserver(this.debouncedResize);this.contentResizeObserver.observe(this.content);}this.resize();}};//#endregion\n//#region packages/core/src/emitter.ts\n/**\n * Emitter class to handle events\n * @example\n * const emitter = new Emitter()\n * emitter.on('event', (data) => {\n *   console.log(data)\n * })\n * emitter.emit('event', 'data')\n */var Emitter=class{/**\n     * Emit an event with the given data\n     * @param event Event name\n     * @param args Data to pass to the event handlers\n     */emit(event,...args){const callbacks=this.events[event]||[];for(let i=0,length=callbacks.length;i<length;i++)callbacks[i]?.(...args);}/**\n     * Add a callback to the event\n     * @param event Event name\n     * @param cb Callback function\n     * @returns Unsubscribe function\n     */on(event,cb){if(this.events[event])this.events[event].push(cb);else this.events[event]=[cb];return()=>{this.events[event]=this.events[event]?.filter(i=>cb!==i);};}/**\n     * Remove a callback from the event\n     * @param event Event name\n     * @param callback Callback function\n     */off(event,callback){this.events[event]=this.events[event]?.filter(i=>callback!==i);}/**\n     * Remove all event listeners and clean up\n     */destroy(){this.events={};}constructor(){_define_property(this,\"events\",{});}};//#endregion\n//#region packages/core/src/virtual-scroll.ts\nconst LINE_HEIGHT=100/6;const listenerOptions={passive:false};function getDeltaMultiplier(deltaMode,size){if(deltaMode===1)return LINE_HEIGHT;if(deltaMode===2)return size;return 1;}var VirtualScroll=class{/**\n     * Add an event listener for the given event and callback\n     *\n     * @param event Event name\n     * @param callback Callback function\n     */on(event,callback){return this.emitter.on(event,callback);}/** Remove all event listeners and clean up */destroy(){this.emitter.destroy();window.removeEventListener(\"resize\",this.onWindowResize);this.element.removeEventListener(\"wheel\",this.onWheel,listenerOptions);this.element.removeEventListener(\"touchstart\",this.onTouchStart,listenerOptions);this.element.removeEventListener(\"touchmove\",this.onTouchMove,listenerOptions);this.element.removeEventListener(\"touchend\",this.onTouchEnd,listenerOptions);}constructor(element,options={wheelMultiplier:1,touchMultiplier:1}){_define_property(this,\"touchStart\",{x:0,y:0});_define_property(this,\"lastDelta\",{x:0,y:0});_define_property(this,\"window\",{width:0,height:0});_define_property(this,\"emitter\",new Emitter);/**\n     * Event handler for 'touchstart' event\n     *\n     * @param event Touch event\n     */_define_property(this,\"onTouchStart\",event=>{const{clientX,clientY}=event.targetTouches?event.targetTouches[0]:event;this.touchStart.x=clientX;this.touchStart.y=clientY;this.lastDelta={x:0,y:0};this.emitter.emit(\"scroll\",{deltaX:0,deltaY:0,event});});/** Event handler for 'touchmove' event */_define_property(this,\"onTouchMove\",event=>{const{clientX,clientY}=event.targetTouches?event.targetTouches[0]:event;const deltaX=-(clientX-this.touchStart.x)*this.options.touchMultiplier;const deltaY=-(clientY-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=clientX;this.touchStart.y=clientY;this.lastDelta={x:deltaX,y:deltaY};this.emitter.emit(\"scroll\",{deltaX,deltaY,event});});_define_property(this,\"onTouchEnd\",event=>{this.emitter.emit(\"scroll\",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event});});/** Event handler for 'wheel' event */_define_property(this,\"onWheel\",event=>{let{deltaX,deltaY,deltaMode}=event;const multiplierX=getDeltaMultiplier(deltaMode,this.window.width);const multiplierY=getDeltaMultiplier(deltaMode,this.window.height);deltaX*=multiplierX;deltaY*=multiplierY;deltaX*=this.options.wheelMultiplier;deltaY*=this.options.wheelMultiplier;this.emitter.emit(\"scroll\",{deltaX,deltaY,event});});_define_property(this,\"onWindowResize\",()=>{this.window={width:window.innerWidth,height:window.innerHeight};});this.element=element;this.options=options;window.addEventListener(\"resize\",this.onWindowResize);this.onWindowResize();this.element.addEventListener(\"wheel\",this.onWheel,listenerOptions);this.element.addEventListener(\"touchstart\",this.onTouchStart,listenerOptions);this.element.addEventListener(\"touchmove\",this.onTouchMove,listenerOptions);this.element.addEventListener(\"touchend\",this.onTouchEnd,listenerOptions);}};//#endregion\n//#region packages/core/src/lenis.ts\nconst defaultEasing=t=>Math.min(1,1.001-2**(-10*t));var Lenis=class{/**\n     * Destroy the lenis instance, remove all event listeners and clean up the class name\n     */destroy(){this.emitter.destroy();this.options.wrapper.removeEventListener(\"scroll\",this.onNativeScroll);this.options.wrapper.removeEventListener(\"scrollend\",this.onScrollEnd,{capture:true});this.options.wrapper.removeEventListener(\"pointerdown\",this.onPointerDown);if(this.options.anchors||this.options.stopInertiaOnNavigate)this.options.wrapper.removeEventListener(\"click\",this.onClick);this.virtualScroll.destroy();this.dimensions.destroy();this.cleanUpClassName();if(this._rafId)cancelAnimationFrame(this._rafId);}on(event,callback){return this.emitter.on(event,callback);}off(event,callback){return this.emitter.off(event,callback);}get overflow(){const property=this.isHorizontal?\"overflow-x\":\"overflow-y\";return getComputedStyle(this.rootElement)[property];}checkOverflow(){if([\"hidden\",\"clip\"].includes(this.overflow))this.internalStop();else this.internalStart();}setScroll(scroll){if(this.isHorizontal)this.options.wrapper.scrollTo({left:scroll,behavior:\"instant\"});else this.options.wrapper.scrollTo({top:scroll,behavior:\"instant\"});}isTouchOnSelectionHandle(event){const selection=window.getSelection();if(!selection||selection.isCollapsed||selection.rangeCount===0)return false;const touch=event.targetTouches[0]??event.changedTouches[0];if(!touch)return false;const rects=selection.getRangeAt(0).getClientRects();if(rects.length===0)return false;const first=rects[0];const last=rects[rects.length-1];const HANDLE_RADIUS=40;const nearStart=Math.hypot(touch.clientX-first.left,touch.clientY-first.top)<=HANDLE_RADIUS;const nearEnd=Math.hypot(touch.clientX-last.right,touch.clientY-last.bottom)<=HANDLE_RADIUS;return nearStart||nearEnd;}/**\n     * Force lenis to recalculate the dimensions\n     */resize(){this.dimensions.resize();this.animatedScroll=this.targetScroll=this.actualScroll;this.emit();}emit(){this.emitter.emit(\"scroll\",this);}reset(){this.isLocked=false;this.isScrolling=false;this.animatedScroll=this.targetScroll=this.actualScroll;this.lastVelocity=this.velocity=0;this.animate.stop();}/**\n     * Start lenis scroll after it has been stopped\n     */start(){if(!this.isStopped)return;if(this.options.autoToggle){this.rootElement.style.removeProperty(\"overflow\");return;}this.internalStart();}internalStart(){if(!this.isStopped)return;this.reset();this.isStopped=false;this.emit();}/**\n     * Stop lenis scroll\n     */stop(){if(this.isStopped)return;if(this.options.autoToggle){this.rootElement.style.setProperty(\"overflow\",\"clip\");return;}this.internalStop();}internalStop(){if(this.isStopped)return;this.reset();this.isStopped=true;this.emit();}/**\n     * Scroll to a target value\n     *\n     * @param target The target value to scroll to\n     * @param options The options for the scroll\n     *\n     * @example\n     * lenis.scrollTo(100, {\n     *   offset: 100,\n     *   duration: 1,\n     *   easing: (t) => 1 - Math.cos((t * Math.PI) / 2),\n     *   lerp: 0.1,\n     *   onStart: () => {\n     *     console.log('onStart')\n     *   },\n     *   onComplete: () => {\n     *     console.log('onComplete')\n     *   },\n     * })\n     */scrollTo(_target,{offset=0,immediate=false,lock=false,programmatic=true,lerp=programmatic?this.options.lerp:void 0,duration=programmatic?this.options.duration:void 0,easing=programmatic?this.options.easing:void 0,onStart,onComplete,force=false,userData}={}){if((this.isStopped||this.isLocked)&&!force)return;let target=_target;let adjustedOffset=offset;if(typeof target===\"string\"&&[\"top\",\"left\",\"start\",\"#\"].includes(target))target=0;else if(typeof target===\"string\"&&[\"bottom\",\"right\",\"end\"].includes(target))target=this.limit;else{let node=null;if(typeof target===\"string\"){node=target.startsWith(\"#\")?document.getElementById(target.slice(1)):document.querySelector(target);if(!node)if(target===\"#top\")target=0;else console.warn(\"Lenis: Target not found\",target);}else if(target instanceof HTMLElement&&target?.nodeType)node=target;if(node){if(this.options.wrapper!==window){const wrapperRect=this.rootElement.getBoundingClientRect();adjustedOffset-=this.isHorizontal?wrapperRect.left:wrapperRect.top;}const rect=node.getBoundingClientRect();const targetStyle=getComputedStyle(node);const scrollMargin=this.isHorizontal?Number.parseFloat(targetStyle.scrollMarginLeft):Number.parseFloat(targetStyle.scrollMarginTop);const containerStyle=getComputedStyle(this.rootElement);const scrollPadding=this.isHorizontal?Number.parseFloat(containerStyle.scrollPaddingLeft):Number.parseFloat(containerStyle.scrollPaddingTop);target=(this.isHorizontal?rect.left:rect.top)+this.animatedScroll-(Number.isNaN(scrollMargin)?0:scrollMargin)-(Number.isNaN(scrollPadding)?0:scrollPadding);}}if(typeof target!==\"number\")return;target+=adjustedOffset;if(this.options.infinite){if(programmatic){this.targetScroll=this.animatedScroll=this.scroll;const distance=target-this.animatedScroll;if(distance>this.limit/2)target-=this.limit;else if(distance<-this.limit/2)target+=this.limit;}}else target=clamp(0,target,this.limit);if(target===this.targetScroll){onStart?.(this);onComplete?.(this);return;}this.userData=userData??{};if(immediate){this.animatedScroll=this.targetScroll=target;this.setScroll(this.scroll);this.reset();this.preventNextNativeScrollEvent();this.emit();onComplete?.(this);this.userData={};requestAnimationFrame(()=>{this.dispatchScrollendEvent();});return;}if(!programmatic)this.targetScroll=target;if(typeof duration===\"number\"&&typeof easing!==\"function\")easing=defaultEasing;else if(typeof easing===\"function\"&&typeof duration!==\"number\")duration=1;this.animate.fromTo(this.animatedScroll,target,{duration,easing,lerp,onStart:()=>{if(lock)this.isLocked=true;this.isScrolling=\"smooth\";onStart?.(this);},onUpdate:(value,completed)=>{this.isScrolling=\"smooth\";this.lastVelocity=this.velocity;this.velocity=value-this.animatedScroll;this.direction=Math.sign(this.velocity);this.animatedScroll=value;this.setScroll(this.scroll);if(programmatic)this.targetScroll=value;if(!completed)this.emit();if(completed){this.reset();this.emit();onComplete?.(this);this.userData={};requestAnimationFrame(()=>{this.dispatchScrollendEvent();});this.preventNextNativeScrollEvent();}}});}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=true;requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=false;});}hasNestedScroll(node,{deltaX,deltaY}){const time=Date.now();if(!node._lenis)node._lenis={};const cache=node._lenis;let hasOverflowX;let hasOverflowY;let isScrollableX;let isScrollableY;let hasOverscrollBehaviorX;let hasOverscrollBehaviorY;let scrollWidth;let scrollHeight;let clientWidth;let clientHeight;if(time-(cache.time??0)>2e3){cache.time=Date.now();const computedStyle=window.getComputedStyle(node);cache.computedStyle=computedStyle;hasOverflowX=[\"auto\",\"overlay\",\"scroll\"].includes(computedStyle.overflowX);hasOverflowY=[\"auto\",\"overlay\",\"scroll\"].includes(computedStyle.overflowY);hasOverscrollBehaviorX=[\"auto\"].includes(computedStyle.overscrollBehaviorX);hasOverscrollBehaviorY=[\"auto\"].includes(computedStyle.overscrollBehaviorY);cache.hasOverflowX=hasOverflowX;cache.hasOverflowY=hasOverflowY;if(!(hasOverflowX||hasOverflowY))return false;scrollWidth=node.scrollWidth;scrollHeight=node.scrollHeight;clientWidth=node.clientWidth;clientHeight=node.clientHeight;isScrollableX=scrollWidth>clientWidth;isScrollableY=scrollHeight>clientHeight;cache.isScrollableX=isScrollableX;cache.isScrollableY=isScrollableY;cache.scrollWidth=scrollWidth;cache.scrollHeight=scrollHeight;cache.clientWidth=clientWidth;cache.clientHeight=clientHeight;cache.hasOverscrollBehaviorX=hasOverscrollBehaviorX;cache.hasOverscrollBehaviorY=hasOverscrollBehaviorY;}else{isScrollableX=cache.isScrollableX;isScrollableY=cache.isScrollableY;hasOverflowX=cache.hasOverflowX;hasOverflowY=cache.hasOverflowY;scrollWidth=cache.scrollWidth;scrollHeight=cache.scrollHeight;clientWidth=cache.clientWidth;clientHeight=cache.clientHeight;hasOverscrollBehaviorX=cache.hasOverscrollBehaviorX;hasOverscrollBehaviorY=cache.hasOverscrollBehaviorY;}if(!(hasOverflowX&&isScrollableX||hasOverflowY&&isScrollableY))return false;const orientation=Math.abs(deltaX)>=Math.abs(deltaY)?\"horizontal\":\"vertical\";let scroll;let maxScroll;let delta;let hasOverflow;let isScrollable;let hasOverscrollBehavior;if(orientation===\"horizontal\"){scroll=Math.round(node.scrollLeft);maxScroll=scrollWidth-clientWidth;delta=deltaX;hasOverflow=hasOverflowX;isScrollable=isScrollableX;hasOverscrollBehavior=hasOverscrollBehaviorX;}else if(orientation===\"vertical\"){scroll=Math.round(node.scrollTop);maxScroll=scrollHeight-clientHeight;delta=deltaY;hasOverflow=hasOverflowY;isScrollable=isScrollableY;hasOverscrollBehavior=hasOverscrollBehaviorY;}else return false;if(!hasOverscrollBehavior&&(scroll>=maxScroll||scroll<=0))return true;return(delta>0?scroll<maxScroll:scroll>0)&&hasOverflow&&isScrollable;}/**\n     * The root element on which lenis is instanced\n     */get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper;}/**\n     * The limit which is the maximum scroll value\n     */get limit(){if(this.options.naiveDimensions){if(this.isHorizontal)return this.rootElement.scrollWidth-this.rootElement.clientWidth;return this.rootElement.scrollHeight-this.rootElement.clientHeight;}return this.dimensions.limit[this.isHorizontal?\"x\":\"y\"];}/**\n     * Whether or not the scroll is horizontal\n     */get isHorizontal(){return this.options.orientation===\"horizontal\";}/**\n     * The actual scroll value\n     */get actualScroll(){const wrapper=this.options.wrapper;return this.isHorizontal?wrapper.scrollX??wrapper.scrollLeft:wrapper.scrollY??wrapper.scrollTop;}/**\n     * The current scroll value\n     */get scroll(){return this.options.infinite?modulo(this.animatedScroll,this.limit):this.animatedScroll;}/**\n     * The progress of the scroll relative to the limit\n     */get progress(){return this.limit===0?1:this.scroll/this.limit;}/**\n     * Current scroll state\n     */get isScrolling(){return this._isScrolling;}set isScrolling(value){if(this._isScrolling!==value){this._isScrolling=value;this.updateClassName();}}/**\n     * Check if lenis is stopped\n     */get isStopped(){return this._isStopped;}set isStopped(value){if(this._isStopped!==value){this._isStopped=value;this.updateClassName();}}/**\n     * Check if lenis is locked\n     */get isLocked(){return this._isLocked;}set isLocked(value){if(this._isLocked!==value){this._isLocked=value;this.updateClassName();}}/**\n     * Check if lenis is smooth scrolling\n     */get isSmooth(){return this.isScrolling===\"smooth\";}/**\n     * The class name applied to the wrapper element\n     */get className(){let className=\"lenis\";if(this.options.autoToggle)className+=\" lenis-autoToggle\";if(this.isStopped)className+=\" lenis-stopped\";if(this.isLocked)className+=\" lenis-locked\";if(this.isScrolling)className+=\" lenis-scrolling\";if(this.isScrolling===\"smooth\")className+=\" lenis-smooth\";return className;}updateClassName(){this.cleanUpClassName();this.className.split(\" \").forEach(className=>{this.rootElement.classList.add(className);});}cleanUpClassName(){for(const className of Array.from(this.rootElement.classList))if(className===\"lenis\"||className.startsWith(\"lenis-\"))this.rootElement.classList.remove(className);}constructor({wrapper=window,content=document.documentElement,eventsTarget=wrapper,smoothWheel=true,syncTouch=false,syncTouchLerp=.075,touchInertiaExponent=1.7,duration,easing,lerp=.1,infinite=false,orientation=\"vertical\",gestureOrientation=orientation===\"horizontal\"?\"both\":\"vertical\",touchMultiplier=1,wheelMultiplier=1,autoResize=true,prevent,virtualScroll,overscroll=true,autoRaf=false,anchors=false,autoToggle=false,allowNestedScroll=false,__experimental__naiveDimensions=false,naiveDimensions=__experimental__naiveDimensions,stopInertiaOnNavigate=false}={}){_define_property(this,\"_isScrolling\",false);_define_property(this,\"_isStopped\",false);_define_property(this,\"_isLocked\",false);_define_property(this,\"_preventNextNativeScrollEvent\",false);_define_property(this,\"_resetVelocityTimeout\",null);_define_property(this,\"_rafId\",null);_define_property(this,\"_isDraggingSelection\",false);/**\n     * Whether or not the user is touching the screen\n     */_define_property(this,\"isTouching\",void 0);/**\n     * Whether or not the device is running iOS\n     */_define_property(this,\"isIos\",void 0);/**\n     * The time in ms since the lenis instance was created\n     */_define_property(this,\"time\",0);/**\n     * User data that will be forwarded through the scroll event\n     *\n     * @example\n     * lenis.scrollTo(100, {\n     *   userData: {\n     *     foo: 'bar'\n     *   }\n     * })\n     */_define_property(this,\"userData\",{});/**\n     * The last velocity of the scroll\n     */_define_property(this,\"lastVelocity\",0);/**\n     * The current velocity of the scroll\n     */_define_property(this,\"velocity\",0);/**\n     * The direction of the scroll\n     */_define_property(this,\"direction\",0);/**\n     * The options passed to the lenis instance\n     */_define_property(this,\"options\",void 0);/**\n     * The target scroll value\n     */_define_property(this,\"targetScroll\",void 0);/**\n     * The animated scroll value\n     */_define_property(this,\"animatedScroll\",void 0);_define_property(this,\"animate\",new Animate);_define_property(this,\"emitter\",new Emitter);_define_property(this,\"dimensions\",void 0);_define_property(this,\"virtualScroll\",void 0);_define_property(this,\"onScrollEnd\",e=>{if(!(e instanceof CustomEvent)){if(this.isScrolling===\"smooth\"||this.isScrolling===false)e.stopPropagation();}});_define_property(this,\"dispatchScrollendEvent\",()=>{this.options.wrapper.dispatchEvent(new CustomEvent(\"scrollend\",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:true}}));});_define_property(this,\"onTransitionEnd\",event=>{if(event.propertyName?.includes(\"overflow\")&&event.target===this.rootElement)this.checkOverflow();});_define_property(this,\"onClick\",event=>{const linkElementsUrls=event.composedPath().filter(node=>node instanceof HTMLAnchorElement&&node.href).map(element=>new URL(element.href));const currentUrl=new URL(window.location.href);if(this.options.anchors){const anchorElementUrl=linkElementsUrls.find(targetUrl=>currentUrl.host===targetUrl.host&&currentUrl.pathname===targetUrl.pathname&&targetUrl.hash);if(anchorElementUrl){const options=typeof this.options.anchors===\"object\"&&this.options.anchors?this.options.anchors:void 0;const target=decodeURIComponent(anchorElementUrl.hash);this.scrollTo(target,options);return;}}if(this.options.stopInertiaOnNavigate){if(linkElementsUrls.some(targetUrl=>currentUrl.host===targetUrl.host&&currentUrl.pathname!==targetUrl.pathname)){this.reset();return;}}});_define_property(this,\"onPointerDown\",event=>{if(event.button===1)this.reset();});_define_property(this,\"onVirtualScroll\",data=>{if(typeof this.options.virtualScroll===\"function\"&&this.options.virtualScroll(data)===false)return;const{deltaX,deltaY,event}=data;this.emitter.emit(\"virtual-scroll\",{deltaX,deltaY,event});if(event.ctrlKey)return;if(event.lenisStopPropagation)return;const isTouch=event.type.includes(\"touch\");const isWheel=event.type.includes(\"wheel\");if(isTouch&&this.isIos){if(event.type===\"touchstart\")this._isDraggingSelection=this.isTouchOnSelectionHandle(event);if(this._isDraggingSelection){if(event.type===\"touchend\")this._isDraggingSelection=false;return;}}this.isTouching=event.type===\"touchstart\"||event.type===\"touchmove\";const isClickOrTap=deltaX===0&&deltaY===0;if(this.options.syncTouch&&isTouch&&event.type===\"touchstart\"&&isClickOrTap&&!this.isStopped&&!this.isLocked){this.reset();return;}const isUnknownGesture=this.options.gestureOrientation===\"vertical\"&&deltaY===0||this.options.gestureOrientation===\"horizontal\"&&deltaX===0;if(isClickOrTap||isUnknownGesture)return;let composedPath=event.composedPath();composedPath=composedPath.slice(0,composedPath.indexOf(this.rootElement));const prevent=this.options.prevent;const gestureOrientation=Math.abs(deltaX)>=Math.abs(deltaY)?\"horizontal\":\"vertical\";if(composedPath.find(node=>node instanceof HTMLElement&&(typeof prevent===\"function\"&&prevent?.(node)||node.hasAttribute?.(\"data-lenis-prevent\")||gestureOrientation===\"vertical\"&&node.hasAttribute?.(\"data-lenis-prevent-vertical\")||gestureOrientation===\"horizontal\"&&node.hasAttribute?.(\"data-lenis-prevent-horizontal\")||isTouch&&node.hasAttribute?.(\"data-lenis-prevent-touch\")||isWheel&&node.hasAttribute?.(\"data-lenis-prevent-wheel\")||this.options.allowNestedScroll&&this.hasNestedScroll(node,{deltaX,deltaY}))))return;if(this.isStopped||this.isLocked){if(event.cancelable)event.preventDefault();return;}if(!(this.options.syncTouch&&isTouch||this.options.smoothWheel&&isWheel)){this.isScrolling=\"native\";this.animate.stop();event.lenisStopPropagation=true;return;}let delta=deltaY;if(this.options.gestureOrientation===\"both\")delta=Math.abs(deltaY)>Math.abs(deltaX)?deltaY:deltaX;else if(this.options.gestureOrientation===\"horizontal\")delta=deltaX;if(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&this.limit>0&&(this.animatedScroll>0&&this.animatedScroll<this.limit||this.animatedScroll===0&&deltaY>0||this.animatedScroll===this.limit&&deltaY<0))event.lenisStopPropagation=true;if(event.cancelable)event.preventDefault();const isSyncTouch=isTouch&&this.options.syncTouch;const hasTouchInertia=isTouch&&event.type===\"touchend\";if(hasTouchInertia)delta=Math.sign(delta)*Math.abs(this.velocity)**this.options.touchInertiaExponent;this.scrollTo(this.targetScroll+delta,{programmatic:false,...isSyncTouch?{lerp:hasTouchInertia?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}});});_define_property(this,\"onNativeScroll\",()=>{if(this._resetVelocityTimeout!==null){clearTimeout(this._resetVelocityTimeout);this._resetVelocityTimeout=null;}if(this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=false;return;}if(this.isScrolling===false||this.isScrolling===\"native\"){const lastScroll=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll;this.lastVelocity=this.velocity;this.velocity=this.animatedScroll-lastScroll;this.direction=Math.sign(this.animatedScroll-lastScroll);if(!this.isStopped)this.isScrolling=\"native\";this.emit();if(this.velocity!==0)this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity;this.velocity=0;this.isScrolling=false;this.emit();},400);}});/**\n     * RequestAnimationFrame for lenis\n     *\n     * @param time The time in ms from an external clock like `requestAnimationFrame` or Tempus\n     */_define_property(this,\"raf\",time=>{const deltaTime=time-(this.time||time);this.time=time;this.animate.advance(deltaTime*.001);if(this.options.autoRaf)this._rafId=requestAnimationFrame(this.raf);});window.lenisVersion=version;if(!window.lenis)window.lenis={};window.lenis.version=version;if(orientation===\"horizontal\")window.lenis.horizontal=true;if(syncTouch===true)window.lenis.touch=true;this.isIos=/(iPad|iPhone|iPod)/g.test(navigator.userAgent);if(!wrapper||wrapper===document.documentElement)wrapper=window;if(typeof duration===\"number\"&&typeof easing!==\"function\")easing=defaultEasing;else if(typeof easing===\"function\"&&typeof duration!==\"number\")duration=1;this.options={wrapper,content,eventsTarget,smoothWheel,syncTouch,syncTouchLerp,touchInertiaExponent,duration,easing,lerp,infinite,gestureOrientation,orientation,touchMultiplier,wheelMultiplier,autoResize,prevent,virtualScroll,overscroll,autoRaf,anchors,autoToggle,allowNestedScroll,naiveDimensions,stopInertiaOnNavigate};this.dimensions=new Dimensions(wrapper,content,{autoResize});this.updateClassName();this.targetScroll=this.animatedScroll=this.actualScroll;this.options.wrapper.addEventListener(\"scroll\",this.onNativeScroll);this.options.wrapper.addEventListener(\"scrollend\",this.onScrollEnd,{capture:true});if(this.options.anchors||this.options.stopInertiaOnNavigate)this.options.wrapper.addEventListener(\"click\",this.onClick);this.options.wrapper.addEventListener(\"pointerdown\",this.onPointerDown);this.virtualScroll=new VirtualScroll(eventsTarget,{touchMultiplier,wheelMultiplier});this.virtualScroll.on(\"scroll\",this.onVirtualScroll);if(this.options.autoToggle){this.checkOverflow();this.rootElement.addEventListener(\"transitionend\",this.onTransitionEnd);}if(this.options.autoRaf)this._rafId=requestAnimationFrame(this.raf);}};function removeParentSticky(element){if(getComputedStyle(element).position===\"sticky\"){element.style.setProperty(\"position\",\"static\");element.dataset.sticky=\"true\";}if(element.offsetParent)removeParentSticky(element.offsetParent);}function addParentSticky(element){if(element?.dataset?.sticky===\"true\"){element.style.removeProperty(\"position\");delete element.dataset.sticky;}if(element.offsetParent)addParentSticky(element.offsetParent);}function offsetTop(element,accumulator=0){const top=accumulator+element.offsetTop;if(element.offsetParent)return offsetTop(element.offsetParent,top);return top;}function offsetLeft(element,accumulator=0){const left=accumulator+element.offsetLeft;if(element.offsetParent)return offsetLeft(element.offsetParent,left);return left;}function scrollTop(element,accumulator=0){const top=accumulator+element.scrollTop;if(element.offsetParent)return scrollTop(element.offsetParent,top);return top+window.scrollY;}function scrollLeft(element,accumulator=0){const left=accumulator+element.scrollLeft;if(element.offsetParent)return scrollLeft(element.offsetParent,left);return left+window.scrollX;}var SnapElement=class{destroy(){this.wrapperResizeObserver.disconnect();this.resizeObserver.disconnect();}setRect({top,left,width,height,element}={}){top=top??this.rect.top;left=left??this.rect.left;width=width??this.rect.width;height=height??this.rect.height;element=element??this.rect.element;if(top===this.rect.top&&left===this.rect.left&&width===this.rect.width&&height===this.rect.height&&element===this.rect.element)return;this.rect.top=top;this.rect.y=top;this.rect.width=width;this.rect.height=height;this.rect.left=left;this.rect.x=left;this.rect.bottom=top+height;this.rect.right=left+width;}constructor(element,{align=[\"start\"],ignoreSticky=true,ignoreTransform=false}={}){_define_property(this,\"element\",void 0);_define_property(this,\"options\",void 0);_define_property(this,\"align\",void 0);_define_property(this,\"rect\",{});_define_property(this,\"wrapperResizeObserver\",void 0);_define_property(this,\"resizeObserver\",void 0);_define_property(this,\"debouncedWrapperResize\",void 0);_define_property(this,\"onWrapperResize\",()=>{let top;let left;if(this.options.ignoreSticky)removeParentSticky(this.element);if(this.options.ignoreTransform){top=offsetTop(this.element);left=offsetLeft(this.element);}else{const rect=this.element.getBoundingClientRect();top=rect.top+scrollTop(this.element);left=rect.left+scrollLeft(this.element);}if(this.options.ignoreSticky)addParentSticky(this.element);this.setRect({top,left});});_define_property(this,\"onResize\",([entry])=>{if(!entry?.borderBoxSize[0])return;const width=entry.borderBoxSize[0].inlineSize;const height=entry.borderBoxSize[0].blockSize;this.setRect({width,height});});this.element=element;this.options={align,ignoreSticky,ignoreTransform};this.align=[align].flat();this.debouncedWrapperResize=debounce(this.onWrapperResize,500);this.wrapperResizeObserver=new ResizeObserver(this.debouncedWrapperResize);this.wrapperResizeObserver.observe(document.body);this.onWrapperResize();this.resizeObserver=new ResizeObserver(this.onResize);this.resizeObserver.observe(this.element);this.setRect({width:this.element.offsetWidth,height:this.element.offsetHeight});}};//#endregion\n//#region packages/snap/src/uid.ts\nlet index=0;function uid(){return index++;}//#endregion\n//#region packages/snap/src/snap.ts\n/**\n * Snap class to handle the snap functionality\n *\n * @example\n * const snap = new Snap(lenis, {\n *   type: 'mandatory', // 'mandatory', 'proximity' or 'lock'\n *   onSnapStart: (snap) => {\n *     console.log('onSnapStart', snap)\n *   },\n *   onSnapComplete: (snap) => {\n *     console.log('onSnapComplete', snap)\n *   },\n * })\n *\n * snap.add(500) // snap at 500px\n *\n * const removeSnap = snap.add(500)\n *\n * if (someCondition) {\n *   removeSnap()\n * }\n */var Snap=class{/**\n     * Destroy the snap instance\n     */destroy(){this.lenis.off(\"virtual-scroll\",this.onSnapDebounced);window.removeEventListener(\"resize\",this.onWindowResize);this.elements.forEach(element=>{element.destroy();});}/**\n     * Start the snap after it has been stopped\n     */start(){this.isStopped=false;}/**\n     * Stop the snap\n     */stop(){this.isStopped=true;}/**\n     * Add a snap to the snap instance\n     *\n     * @param value The value to snap to\n     * @param userData User data that will be forwarded through the snap event\n     * @returns Unsubscribe function\n     */add(value){const id=uid();this.snaps.set(id,{value});return()=>this.snaps.delete(id);}/**\n     * Add an element to the snap instance\n     *\n     * @param element The element to add\n     * @param options The options for the element\n     * @returns Unsubscribe function\n     */addElement(element,options={}){const id=uid();this.elements.set(id,new SnapElement(element,options));return()=>this.elements.delete(id);}addElements(elements,options={}){const map=[...elements].map(element=>this.addElement(element,options));return()=>{map.forEach(remove=>{remove();});};}previous(){this.goTo((this.currentSnapIndex??0)-1);}next(){this.goTo((this.currentSnapIndex??0)+1);}goTo(index){const snaps=this.computeSnaps();if(snaps.length===0)return;this.currentSnapIndex=Math.max(0,Math.min(index,snaps.length-1));const currentSnap=snaps[this.currentSnapIndex];if(currentSnap===void 0)return;this.lenis.scrollTo(currentSnap.value,{duration:this.options.duration,easing:this.options.easing,lerp:this.options.lerp,lock:this.options.type===\"lock\",userData:{initiator:\"snap\"},onStart:()=>{this.options.onSnapStart?.({index:this.currentSnapIndex,...currentSnap});},onComplete:()=>{this.options.onSnapComplete?.({index:this.currentSnapIndex,...currentSnap});}});}get distanceThreshold(){let distanceThreshold=Number.POSITIVE_INFINITY;if(this.options.type===\"mandatory\")return Number.POSITIVE_INFINITY;const{isHorizontal}=this.lenis;const axis=isHorizontal?\"width\":\"height\";if(typeof this.options.distanceThreshold===\"string\"&&this.options.distanceThreshold.endsWith(\"%\"))distanceThreshold=Number(this.options.distanceThreshold.replace(\"%\",\"\"))/100*this.viewport[axis];else if(typeof this.options.distanceThreshold===\"number\")distanceThreshold=this.options.distanceThreshold;else distanceThreshold=this.viewport[axis];return distanceThreshold;}resize(){this.elements.forEach(element=>{element.onWrapperResize();});}constructor(lenis,{type=\"proximity\",lerp,easing,duration,distanceThreshold=\"50%\",debounce:debounceDelay=500,onSnapStart,onSnapComplete}={}){_define_property(this,\"options\",void 0);_define_property(this,\"elements\",/* @__PURE__ */new Map);_define_property(this,\"snaps\",/* @__PURE__ */new Map);_define_property(this,\"viewport\",{width:window.innerWidth,height:window.innerHeight});_define_property(this,\"isStopped\",false);_define_property(this,\"onSnapDebounced\",void 0);_define_property(this,\"currentSnapIndex\",void 0);_define_property(this,\"onWindowResize\",()=>{this.viewport.width=window.innerWidth;this.viewport.height=window.innerHeight;});_define_property(this,\"computeSnaps\",()=>{const{isHorizontal}=this.lenis;let snaps=[...this.snaps.values()];this.elements.forEach(({rect,align})=>{let value;align.forEach(align=>{if(align===\"start\")value=rect.top;else if(align===\"center\")value=isHorizontal?rect.left+rect.width/2-this.viewport.width/2:rect.top+rect.height/2-this.viewport.height/2;else if(align===\"end\")value=isHorizontal?rect.left+rect.width-this.viewport.width:rect.top+rect.height-this.viewport.height;if(typeof value===\"number\")snaps.push({value:Math.ceil(value)});});});snaps=snaps.sort((a,b)=>Math.abs(a.value)-Math.abs(b.value));return snaps;});_define_property(this,\"onSnap\",e=>{if(this.isStopped)return;if(e.event.type===\"touchmove\")return;if(this.options.type===\"lock\"&&this.lenis.userData?.initiator===\"snap\")return;let{scroll,isHorizontal}=this.lenis;const delta=isHorizontal?e.deltaX:e.deltaY;scroll=Math.ceil(this.lenis.scroll+delta);const snaps=this.computeSnaps();if(snaps.length===0)return;let snapIndex;const prevSnapIndex=snaps.findLastIndex(({value})=>value<scroll);const nextSnapIndex=snaps.findIndex(({value})=>value>scroll);if(this.options.type===\"lock\"){if(delta>0)snapIndex=nextSnapIndex;else if(delta<0)snapIndex=prevSnapIndex;}else{const prevSnap=snaps[prevSnapIndex];const distanceToPrevSnap=prevSnap?Math.abs(scroll-prevSnap.value):Number.POSITIVE_INFINITY;const nextSnap=snaps[nextSnapIndex];snapIndex=distanceToPrevSnap<(nextSnap?Math.abs(scroll-nextSnap.value):Number.POSITIVE_INFINITY)?prevSnapIndex:nextSnapIndex;}if(snapIndex===void 0)return;if(snapIndex===-1)return;snapIndex=Math.max(0,Math.min(snapIndex,snaps.length-1));const snap=snaps[snapIndex];if(Math.abs(scroll-snap.value)<=this.distanceThreshold)this.goTo(snapIndex);});this.lenis=lenis;if(!window.lenis)window.lenis={};window.lenis.snap=true;this.options={type,lerp,easing,duration,distanceThreshold,debounce:debounceDelay,onSnapStart,onSnapComplete};this.onWindowResize();window.addEventListener(\"resize\",this.onWindowResize);this.onSnapDebounced=debounce(this.onSnap,this.options.debounce);this.lenis.on(\"virtual-scroll\",this.onSnapDebounced);}};/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,infinite,orientation,intensity,children,snap}){const wrapperRef=useRef();const contentRef=useRef();const lenisRef=useRef();// Static on both Canvas and Export\nconst isStaticRenderer=useIsStaticRenderer();useEffect(()=>{if(isStaticRenderer)return;if(children&&(!wrapperRef.current||!contentRef.current))return;if(wrapperRef.current&&contentRef.current){if(orientation===\"horizontal\"){wrapperRef.current.style.setProperty(\"overflowX\",\"auto\");}else{wrapperRef.current.style.setProperty(\"overflowY\",\"auto\");}}const lenis=new Lenis({smoothWheel:smooth,duration:intensity/10,infinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\",stopInertiaOnNavigate:true});lenisRef.current=lenis;let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=lenis.rootElement.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{if(lenis)lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[smooth,infinite,orientation,intensity,children,snap,isStaticRenderer]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`html.lenis,\nhtml.lenis body {\n  height: auto;\n}\n\n.lenis:not(.lenis-autoToggle).lenis-stopped {\n  overflow: clip;\n}\n\n.lenis [data-lenis-prevent],\n.lenis [data-lenis-prevent-wheel],\n.lenis [data-lenis-prevent-touch],\n.lenis [data-lenis-prevent-vertical],\n.lenis [data-lenis-prevent-horizontal] {\n  overscroll-behavior: contain;\n}\n\n.lenis.lenis-smooth iframe {\n  pointer-events: none;\n}\n\n.lenis.lenis-autoToggle {\n  transition-property: overflow;\n  transition-duration: 1ms;\n  transition-behavior: allow-discrete;\n}`}),children&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:orientation===\"horizontal\"?{overflowX:\"auto\",width:\"100%\"}:{overflowY:\"auto\",height:\"100%\"},children:/*#__PURE__*/_jsx(\"div\",{ref:contentRef,style:{width:\"100%\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}}):child)})})})]});}Component.displayName=\"Lenis\";addPropertyControls(Component,{smooth:{type:ControlType.Boolean,title:\"Smooth\",defaultValue:true},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:12,step:1,min:1,max:100,hidden(props){return props.smooth===false;},description:\"This will be ignored on mobile.\"},infinite:{type:ControlType.Boolean,title:\"Infinite\",defaultValue:false,hidden(props){return props.smooth===false;}},orientation:{type:ControlType.Enum,defaultValue:\"vertical\",displaySegmentedControl:true,options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],hidden(props){return props.smooth===false;}},children:{type:ControlType.ComponentInstance,title:\"Content\"},snap:{type:ControlType.Object,optional:true,description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\",controls:{type:{type:ControlType.Enum,defaultValue:\"proximity\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"proximity\",\"mandatory\",\"lock\"],optionTitles:[\"Proximity\",\"Mandatory\",\"Lock\"]},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,unit:\"%\",hidden:props=>{return props.snap.type===\"mandatory\";}},snaps:{type:ControlType.Array,control:{type:ControlType.Object,controls:{target:{title:\"Target\",type:ControlType.ScrollSectionRef},align:{type:ControlType.Enum,defaultValue:\"center\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"start\",\"center\",\"end\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"]}}}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Component\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","// @ts-nocheck\n/**\n * @license\n * Copyright 2010-2026 Three.js Authors\n * SPDX-License-Identifier: MIT\n */let _Symbol_iterator,_Symbol_iterator1,_Symbol_iterator2;var __Vector2,__Vector3,__Matrix3,__Vector4,__Matrix4,__Matrix2;var CullFaceNone=0,CullFaceBack=1,CullFaceFront=2;var PCFShadowMap=1,PCFSoftShadowMap=2,VSMShadowMap=3,FrontSide=0,BackSide=1,DoubleSide=2,NoBlending=0,NormalBlending=1,AdditiveBlending=2,SubtractiveBlending=3,MultiplyBlending=4,CustomBlending=5;var AddEquation=100,SubtractEquation=101,ReverseSubtractEquation=102,MinEquation=103,MaxEquation=104,ZeroFactor=200,OneFactor=201,SrcColorFactor=202,OneMinusSrcColorFactor=203,SrcAlphaFactor=204,OneMinusSrcAlphaFactor=205,DstAlphaFactor=206,OneMinusDstAlphaFactor=207,DstColorFactor=208,OneMinusDstColorFactor=209,SrcAlphaSaturateFactor=210,ConstantColorFactor=211,OneMinusConstantColorFactor=212,ConstantAlphaFactor=213,OneMinusConstantAlphaFactor=214,NeverDepth=0,AlwaysDepth=1,LessDepth=2,LessEqualDepth=3,EqualDepth=4,GreaterEqualDepth=5,GreaterDepth=6,NotEqualDepth=7,MultiplyOperation=0,MixOperation=1,AddOperation=2,NoToneMapping=0,LinearToneMapping=1,ReinhardToneMapping=2,CineonToneMapping=3,ACESFilmicToneMapping=4,CustomToneMapping=5,AgXToneMapping=6,NeutralToneMapping=7,AttachedBindMode=\"attached\",DetachedBindMode=\"detached\",UVMapping=300,CubeReflectionMapping=301,CubeRefractionMapping=302,EquirectangularReflectionMapping=303,EquirectangularRefractionMapping=304,CubeUVReflectionMapping=306,RepeatWrapping=1e3,ClampToEdgeWrapping=1001,MirroredRepeatWrapping=1002,NearestFilter=1003,NearestMipmapNearestFilter=1004;var NearestMipmapLinearFilter=1005;var LinearFilter=1006,LinearMipmapNearestFilter=1007;var LinearMipmapLinearFilter=1008;var UnsignedByteType=1009,ByteType=1010,ShortType=1011,UnsignedShortType=1012,IntType=1013,UnsignedIntType=1014,FloatType=1015,HalfFloatType=1016,UnsignedShort4444Type=1017,UnsignedShort5551Type=1018,UnsignedInt248Type=1020,UnsignedInt5999Type=35902,UnsignedInt101111Type=35899,AlphaFormat=1021,RGBFormat=1022,RGBAFormat=1023,DepthFormat=1026,DepthStencilFormat=1027,RedFormat=1028,RedIntegerFormat=1029,RGFormat=1030,RGIntegerFormat=1031;var RGBAIntegerFormat=1033,RGB_S3TC_DXT1_Format=33776,RGBA_S3TC_DXT1_Format=33777,RGBA_S3TC_DXT3_Format=33778,RGBA_S3TC_DXT5_Format=33779,RGB_PVRTC_4BPPV1_Format=35840,RGB_PVRTC_2BPPV1_Format=35841,RGBA_PVRTC_4BPPV1_Format=35842,RGBA_PVRTC_2BPPV1_Format=35843,RGB_ETC1_Format=36196,RGB_ETC2_Format=37492,RGBA_ETC2_EAC_Format=37496,R11_EAC_Format=37488,SIGNED_R11_EAC_Format=37489,RG11_EAC_Format=37490,SIGNED_RG11_EAC_Format=37491,RGBA_ASTC_4x4_Format=37808,RGBA_ASTC_5x4_Format=37809,RGBA_ASTC_5x5_Format=37810,RGBA_ASTC_6x5_Format=37811,RGBA_ASTC_6x6_Format=37812,RGBA_ASTC_8x5_Format=37813,RGBA_ASTC_8x6_Format=37814,RGBA_ASTC_8x8_Format=37815,RGBA_ASTC_10x5_Format=37816,RGBA_ASTC_10x6_Format=37817,RGBA_ASTC_10x8_Format=37818,RGBA_ASTC_10x10_Format=37819,RGBA_ASTC_12x10_Format=37820,RGBA_ASTC_12x12_Format=37821,RGBA_BPTC_Format=36492,RGB_BPTC_SIGNED_Format=36494,RGB_BPTC_UNSIGNED_Format=36495,RED_RGTC1_Format=36283,SIGNED_RED_RGTC1_Format=36284,RED_GREEN_RGTC2_Format=36285,SIGNED_RED_GREEN_RGTC2_Format=36286;var InterpolateDiscrete=2300,InterpolateLinear=2301,InterpolateSmooth=2302,InterpolateBezier=2303,ZeroCurvatureEnding=2400,ZeroSlopeEnding=2401,WrapAroundEnding=2402,NormalAnimationBlendMode=2500;var BasicDepthPacking=3200;var TangentSpaceNormalMap=0,ObjectSpaceNormalMap=1,NoColorSpace=\"\",SRGBColorSpace=\"srgb\",LinearSRGBColorSpace=\"srgb-linear\",LinearTransfer=\"linear\",SRGBTransfer=\"srgb\";var KeepStencilOp=7680;var AlwaysStencilFunc=519,NeverCompare=512,LessCompare=513,EqualCompare=514,LessEqualCompare=515,GreaterCompare=516,NotEqualCompare=517,GreaterEqualCompare=518,AlwaysCompare=519,StaticDrawUsage=35044;var GLSL3=\"300 es\",WebGLCoordinateSystem=2e3,WebGPUCoordinateSystem=2001;function arrayNeedsUint32(array){for(let i=array.length-1;i>=0;--i)if(array[i]>=65535)return!0;return!1;}function isTypedArray(array){return ArrayBuffer.isView(array)&&!(array instanceof DataView);}function createElementNS(name){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",name);}function createCanvasElement(){let canvas=createElementNS(\"canvas\");return canvas.style.display=\"block\",canvas;}var _cache={},_setConsoleFunction=null;function log(...params){let message=\"THREE.\"+params.shift();_setConsoleFunction?_setConsoleFunction(\"log\",message,...params):console.log(message,...params);}function enhanceLogMessage(params){let message=params[0];if(typeof message==\"string\"&&message.startsWith(\"TSL:\")){let stackTrace=params[1];stackTrace&&stackTrace.isStackTrace?params[0]+=\" \"+stackTrace.getLocation():params[1]='Stack trace not available. Enable \"THREE.Node.captureStackTrace\" to capture stack traces.';}return params;}function warn(...params){params=enhanceLogMessage(params);let message=\"THREE.\"+params.shift();if(_setConsoleFunction)_setConsoleFunction(\"warn\",message,...params);else{let stackTrace=params[0];stackTrace&&stackTrace.isStackTrace?console.warn(stackTrace.getError(message)):console.warn(message,...params);}}function error(...params){params=enhanceLogMessage(params);let message=\"THREE.\"+params.shift();if(_setConsoleFunction)_setConsoleFunction(\"error\",message,...params);else{let stackTrace=params[0];stackTrace&&stackTrace.isStackTrace?console.error(stackTrace.getError(message)):console.error(message,...params);}}function warnOnce(...params){let message=params.join(\" \");message in _cache||(_cache[message]=!0,warn(...params));}function probeAsync(gl,sync,interval){return new Promise(function(resolve,reject){function probe(){switch(gl.clientWaitSync(sync,gl.SYNC_FLUSH_COMMANDS_BIT,0)){case gl.WAIT_FAILED:reject();break;case gl.TIMEOUT_EXPIRED:setTimeout(probe,interval);break;default:resolve();}}setTimeout(probe,interval);});}var ReversedDepthFuncs={[NeverDepth]:AlwaysDepth,[LessDepth]:GreaterDepth,[EqualDepth]:NotEqualDepth,[LessEqualDepth]:GreaterEqualDepth,[AlwaysDepth]:NeverDepth,[GreaterDepth]:LessDepth,[NotEqualDepth]:EqualDepth,[GreaterEqualDepth]:LessEqualDepth},EventDispatcher=class{addEventListener(type,listener){this._listeners===void 0&&(this._listeners={});let listeners=this._listeners;listeners[type]===void 0&&(listeners[type]=[]),listeners[type].indexOf(listener)===-1&&listeners[type].push(listener);}hasEventListener(type,listener){let listeners=this._listeners;return listeners===void 0?!1:listeners[type]!==void 0&&listeners[type].indexOf(listener)!==-1;}removeEventListener(type,listener){let listeners=this._listeners;if(listeners===void 0)return;let listenerArray=listeners[type];if(listenerArray!==void 0){let index=listenerArray.indexOf(listener);index!==-1&&listenerArray.splice(index,1);}}dispatchEvent(event){let listeners=this._listeners;if(listeners===void 0)return;let listenerArray=listeners[event.type];if(listenerArray!==void 0){event.target=this;let array=listenerArray.slice(0);for(let i=0,l=array.length;i<l;i++)array[i].call(this,event);event.target=null;}}},_lut=[\"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\"],_seed=1234567,DEG2RAD=Math.PI/180,RAD2DEG=180/Math.PI;function generateUUID(){let d0=Math.random()*4294967295|0,d1=Math.random()*4294967295|0,d2=Math.random()*4294967295|0,d3=Math.random()*4294967295|0;return(_lut[d0&255]+_lut[d0>>8&255]+_lut[d0>>16&255]+_lut[d0>>24&255]+\"-\"+_lut[d1&255]+_lut[d1>>8&255]+\"-\"+_lut[d1>>16&15|64]+_lut[d1>>24&255]+\"-\"+_lut[d2&63|128]+_lut[d2>>8&255]+\"-\"+_lut[d2>>16&255]+_lut[d2>>24&255]+_lut[d3&255]+_lut[d3>>8&255]+_lut[d3>>16&255]+_lut[d3>>24&255]).toLowerCase();}function clamp(value,min,max){return Math.max(min,Math.min(max,value));}function euclideanModulo(n,m){return(n%m+m)%m;}function mapLinear(x,a1,a2,b1,b2){return b1+(x-a1)*(b2-b1)/(a2-a1);}function inverseLerp(x,y,value){return x!==y?(value-x)/(y-x):0;}function lerp(x,y,t){return(1-t)*x+t*y;}function damp(x,y,lambda,dt){return lerp(x,y,1-Math.exp(-lambda*dt));}function pingpong(x,length=1){return length-Math.abs(euclideanModulo(x,length*2)-length);}function smoothstep(x,min,max){return x<=min?0:x>=max?1:(x=(x-min)/(max-min),x*x*(3-2*x));}function smootherstep(x,min,max){return x<=min?0:x>=max?1:(x=(x-min)/(max-min),x*x*x*(x*(x*6-15)+10));}function randInt(low,high){return low+Math.floor(Math.random()*(high-low+1));}function randFloat(low,high){return low+Math.random()*(high-low);}function randFloatSpread(range){return range*(.5-Math.random());}function seededRandom(s){s!==void 0&&(_seed=s);let t=_seed+=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 degToRad(degrees){return degrees*DEG2RAD;}function radToDeg(radians){return radians*RAD2DEG;}function isPowerOfTwo(value){return value>0&&Number.isInteger(value)&&2**Math.round(Math.log2(value))===value;}function ceilPowerOfTwo(value){return Math.pow(2,Math.ceil(Math.log(value)/Math.LN2));}function floorPowerOfTwo(value){return Math.pow(2,Math.floor(Math.log(value)/Math.LN2));}function setQuaternionFromProperEuler(q,a,b,c,order){let cos=Math.cos,sin=Math.sin,c2=cos(b/2),s2=sin(b/2),c13=cos((a+c)/2),s13=sin((a+c)/2),c1_3=cos((a-c)/2),s1_3=sin((a-c)/2),c3_1=cos((c-a)/2),s3_1=sin((c-a)/2);switch(order){case\"XYX\":q.set(c2*s13,s2*c1_3,s2*s1_3,c2*c13);break;case\"YZY\":q.set(s2*s1_3,c2*s13,s2*c1_3,c2*c13);break;case\"ZXZ\":q.set(s2*c1_3,s2*s1_3,c2*s13,c2*c13);break;case\"XZX\":q.set(c2*s13,s2*s3_1,s2*c3_1,c2*c13);break;case\"YXY\":q.set(s2*c3_1,c2*s13,s2*s3_1,c2*c13);break;case\"ZYZ\":q.set(s2*s3_1,s2*c3_1,c2*s13,c2*c13);break;default:warn(\"MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+order);}}function denormalize(value,array){switch(array.constructor){case Float32Array:return value;case Uint32Array:return value/4294967295;case Uint16Array:return value/65535;case Uint8Array:case Uint8ClampedArray:return value/255;case Int32Array:return Math.max(value/2147483647,-1);case Int16Array:return Math.max(value/32767,-1);case Int8Array:return Math.max(value/127,-1);default:throw new Error(\"THREE.MathUtils: Invalid component type.\");}}function normalize(value,array){switch(array.constructor){case Float32Array:return value;case Uint32Array:return Math.round(value*4294967295);case Uint16Array:return Math.round(value*65535);case Uint8Array:case Uint8ClampedArray:return Math.round(value*255);case Int32Array:return Math.round(value*2147483647);case Int16Array:return Math.round(value*32767);case Int8Array:return Math.round(value*127);default:throw new Error(\"THREE.MathUtils: Invalid component type.\");}}var MathUtils={DEG2RAD,RAD2DEG,generateUUID,clamp,euclideanModulo,mapLinear,inverseLerp,lerp,damp,pingpong,smoothstep,smootherstep,randInt,randFloat,randFloatSpread,seededRandom,degToRad,radToDeg,isPowerOfTwo,ceilPowerOfTwo,floorPowerOfTwo,setQuaternionFromProperEuler,normalize,denormalize},Vector2=(_Symbol_iterator=Symbol.iterator,__Vector2=class _Vector2{get width(){return this.x;}set width(value){this.x=value;}get height(){return this.y;}set height(value){this.y=value;}set(x,y){return this.x=x,this.y=y,this;}setScalar(scalar){return this.x=scalar,this.y=scalar,this;}setX(x){return this.x=x,this;}setY(y){return this.y=y,this;}setComponent(index,value){switch(index){case 0:this.x=value;break;case 1:this.y=value;break;default:throw new Error(\"THREE.Vector2: index is out of range: \"+index);}return this;}getComponent(index){switch(index){case 0:return this.x;case 1:return this.y;default:throw new Error(\"THREE.Vector2: index is out of range: \"+index);}}clone(){return new this.constructor(this.x,this.y);}copy(v){return this.x=v.x,this.y=v.y,this;}add(v){return this.x+=v.x,this.y+=v.y,this;}addScalar(s){return this.x+=s,this.y+=s,this;}addVectors(a,b){return this.x=a.x+b.x,this.y=a.y+b.y,this;}addScaledVector(v,s){return this.x+=v.x*s,this.y+=v.y*s,this;}sub(v){return this.x-=v.x,this.y-=v.y,this;}subScalar(s){return this.x-=s,this.y-=s,this;}subVectors(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this;}multiply(v){return this.x*=v.x,this.y*=v.y,this;}multiplyScalar(scalar){return this.x*=scalar,this.y*=scalar,this;}divide(v){return this.x/=v.x,this.y/=v.y,this;}divideScalar(scalar){return this.multiplyScalar(1/scalar);}applyMatrix3(m){let x=this.x,y=this.y,e=m.elements;return this.x=e[0]*x+e[3]*y+e[6],this.y=e[1]*x+e[4]*y+e[7],this;}min(v){return this.x=Math.min(this.x,v.x),this.y=Math.min(this.y,v.y),this;}max(v){return this.x=Math.max(this.x,v.x),this.y=Math.max(this.y,v.y),this;}clamp(min,max){return this.x=clamp(this.x,min.x,max.x),this.y=clamp(this.y,min.y,max.y),this;}clampScalar(minVal,maxVal){return this.x=clamp(this.x,minVal,maxVal),this.y=clamp(this.y,minVal,maxVal),this;}clampLength(min,max){let length=this.length();return this.divideScalar(length||1).multiplyScalar(clamp(length,min,max));}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(v){return this.x*v.x+this.y*v.y;}cross(v){return this.x*v.y-this.y*v.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(v){let denominator=Math.sqrt(this.lengthSq()*v.lengthSq());if(denominator===0)return Math.PI/2;let theta=this.dot(v)/denominator;return Math.acos(clamp(theta,-1,1));}distanceTo(v){return Math.sqrt(this.distanceToSquared(v));}distanceToSquared(v){let dx=this.x-v.x,dy=this.y-v.y;return dx*dx+dy*dy;}manhattanDistanceTo(v){return Math.abs(this.x-v.x)+Math.abs(this.y-v.y);}setLength(length){return this.normalize().multiplyScalar(length);}lerp(v,alpha){return this.x+=(v.x-this.x)*alpha,this.y+=(v.y-this.y)*alpha,this;}lerpVectors(v1,v2,alpha){return this.x=v1.x+(v2.x-v1.x)*alpha,this.y=v1.y+(v2.y-v1.y)*alpha,this;}equals(v){return v.x===this.x&&v.y===this.y;}fromArray(array,offset=0){return this.x=array[offset],this.y=array[offset+1],this;}toArray(array=[],offset=0){return array[offset]=this.x,array[offset+1]=this.y,array;}fromBufferAttribute(attribute,index){return this.x=attribute.getX(index),this.y=attribute.getY(index),this;}rotateAround(center,angle){let c=Math.cos(angle),s=Math.sin(angle),x=this.x-center.x,y=this.y-center.y;return this.x=x*c-y*s+center.x,this.y=x*s+y*c+center.y,this;}random(){return this.x=Math.random(),this.y=Math.random(),this;}*[_Symbol_iterator](){yield this.x,yield this.y;}constructor(x=0,y=0){this.x=x,this.y=y;}},__Vector2.prototype.isVector2=!0,__Vector2),Quaternion=class{static slerpFlat(dst,dstOffset,src0,srcOffset0,src1,srcOffset1,t){let x0=src0[srcOffset0+0],y0=src0[srcOffset0+1],z0=src0[srcOffset0+2],w0=src0[srcOffset0+3],x1=src1[srcOffset1+0],y1=src1[srcOffset1+1],z1=src1[srcOffset1+2],w1=src1[srcOffset1+3];if(w0!==w1||x0!==x1||y0!==y1||z0!==z1){let dot=x0*x1+y0*y1+z0*z1+w0*w1;dot<0&&(x1=-x1,y1=-y1,z1=-z1,w1=-w1,dot=-dot);let s=1-t;if(dot<.9995){let theta=Math.acos(dot),sin=Math.sin(theta);s=Math.sin(s*theta)/sin,t=Math.sin(t*theta)/sin,x0=x0*s+x1*t,y0=y0*s+y1*t,z0=z0*s+z1*t,w0=w0*s+w1*t;}else{x0=x0*s+x1*t,y0=y0*s+y1*t,z0=z0*s+z1*t,w0=w0*s+w1*t;let f=1/Math.sqrt(x0*x0+y0*y0+z0*z0+w0*w0);x0*=f,y0*=f,z0*=f,w0*=f;}}dst[dstOffset]=x0,dst[dstOffset+1]=y0,dst[dstOffset+2]=z0,dst[dstOffset+3]=w0;}static multiplyQuaternionsFlat(dst,dstOffset,src0,srcOffset0,src1,srcOffset1){let x0=src0[srcOffset0],y0=src0[srcOffset0+1],z0=src0[srcOffset0+2],w0=src0[srcOffset0+3],x1=src1[srcOffset1],y1=src1[srcOffset1+1],z1=src1[srcOffset1+2],w1=src1[srcOffset1+3];return dst[dstOffset]=x0*w1+w0*x1+y0*z1-z0*y1,dst[dstOffset+1]=y0*w1+w0*y1+z0*x1-x0*z1,dst[dstOffset+2]=z0*w1+w0*z1+x0*y1-y0*x1,dst[dstOffset+3]=w0*w1-x0*x1-y0*y1-z0*z1,dst;}get x(){return this._x;}set x(value){this._x=value,this._onChangeCallback();}get y(){return this._y;}set y(value){this._y=value,this._onChangeCallback();}get z(){return this._z;}set z(value){this._z=value,this._onChangeCallback();}get w(){return this._w;}set w(value){this._w=value,this._onChangeCallback();}set(x,y,z,w){return this._x=x,this._y=y,this._z=z,this._w=w,this._onChangeCallback(),this;}clone(){return new this.constructor(this._x,this._y,this._z,this._w);}copy(quaternion){return this._x=quaternion.x,this._y=quaternion.y,this._z=quaternion.z,this._w=quaternion.w,this._onChangeCallback(),this;}setFromEuler(euler,update=!0){let x=euler._x,y=euler._y,z=euler._z,order=euler._order,cos=Math.cos,sin=Math.sin,c1=cos(x/2),c2=cos(y/2),c3=cos(z/2),s1=sin(x/2),s2=sin(y/2),s3=sin(z/2);switch(order){case\"XYZ\":this._x=s1*c2*c3+c1*s2*s3,this._y=c1*s2*c3-s1*c2*s3,this._z=c1*c2*s3+s1*s2*c3,this._w=c1*c2*c3-s1*s2*s3;break;case\"YXZ\":this._x=s1*c2*c3+c1*s2*s3,this._y=c1*s2*c3-s1*c2*s3,this._z=c1*c2*s3-s1*s2*c3,this._w=c1*c2*c3+s1*s2*s3;break;case\"ZXY\":this._x=s1*c2*c3-c1*s2*s3,this._y=c1*s2*c3+s1*c2*s3,this._z=c1*c2*s3+s1*s2*c3,this._w=c1*c2*c3-s1*s2*s3;break;case\"ZYX\":this._x=s1*c2*c3-c1*s2*s3,this._y=c1*s2*c3+s1*c2*s3,this._z=c1*c2*s3-s1*s2*c3,this._w=c1*c2*c3+s1*s2*s3;break;case\"YZX\":this._x=s1*c2*c3+c1*s2*s3,this._y=c1*s2*c3+s1*c2*s3,this._z=c1*c2*s3-s1*s2*c3,this._w=c1*c2*c3-s1*s2*s3;break;case\"XZY\":this._x=s1*c2*c3-c1*s2*s3,this._y=c1*s2*c3-s1*c2*s3,this._z=c1*c2*s3+s1*s2*c3,this._w=c1*c2*c3+s1*s2*s3;break;default:warn(\"Quaternion: .setFromEuler() encountered an unknown order: \"+order);}return update===!0&&this._onChangeCallback(),this;}setFromAxisAngle(axis,angle){let halfAngle=angle/2,s=Math.sin(halfAngle);return this._x=axis.x*s,this._y=axis.y*s,this._z=axis.z*s,this._w=Math.cos(halfAngle),this._onChangeCallback(),this;}setFromRotationMatrix(m){let te=m.elements,m11=te[0],m12=te[4],m13=te[8],m21=te[1],m22=te[5],m23=te[9],m31=te[2],m32=te[6],m33=te[10],trace=m11+m22+m33;if(trace>0){let s=.5/Math.sqrt(trace+1);this._w=.25/s,this._x=(m32-m23)*s,this._y=(m13-m31)*s,this._z=(m21-m12)*s;}else if(m11>m22&&m11>m33){let s=2*Math.sqrt(1+m11-m22-m33);this._w=(m32-m23)/s,this._x=.25*s,this._y=(m12+m21)/s,this._z=(m13+m31)/s;}else if(m22>m33){let s=2*Math.sqrt(1+m22-m11-m33);this._w=(m13-m31)/s,this._x=(m12+m21)/s,this._y=.25*s,this._z=(m23+m32)/s;}else{let s=2*Math.sqrt(1+m33-m11-m22);this._w=(m21-m12)/s,this._x=(m13+m31)/s,this._y=(m23+m32)/s,this._z=.25*s;}return this._onChangeCallback(),this;}setFromUnitVectors(vFrom,vTo){let r=vFrom.dot(vTo)+1;return r<1e-8?(r=0,Math.abs(vFrom.x)>Math.abs(vFrom.z)?(this._x=-vFrom.y,this._y=vFrom.x,this._z=0,this._w=r):(this._x=0,this._y=-vFrom.z,this._z=vFrom.y,this._w=r)):(this._x=vFrom.y*vTo.z-vFrom.z*vTo.y,this._y=vFrom.z*vTo.x-vFrom.x*vTo.z,this._z=vFrom.x*vTo.y-vFrom.y*vTo.x,this._w=r),this.normalize();}angleTo(q){return 2*Math.acos(Math.abs(clamp(this.dot(q),-1,1)));}rotateTowards(q,step){let angle=this.angleTo(q);if(angle===0)return this;let t=Math.min(1,step/angle);return this.slerp(q,t),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(v){return this._x*v._x+this._y*v._y+this._z*v._z+this._w*v._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 l=this.length();return l===0?(this._x=0,this._y=0,this._z=0,this._w=1):(l=1/l,this._x=this._x*l,this._y=this._y*l,this._z=this._z*l,this._w=this._w*l),this._onChangeCallback(),this;}multiply(q){return this.multiplyQuaternions(this,q);}premultiply(q){return this.multiplyQuaternions(q,this);}multiplyQuaternions(a,b){let qax=a._x,qay=a._y,qaz=a._z,qaw=a._w,qbx=b._x,qby=b._y,qbz=b._z,qbw=b._w;return this._x=qax*qbw+qaw*qbx+qay*qbz-qaz*qby,this._y=qay*qbw+qaw*qby+qaz*qbx-qax*qbz,this._z=qaz*qbw+qaw*qbz+qax*qby-qay*qbx,this._w=qaw*qbw-qax*qbx-qay*qby-qaz*qbz,this._onChangeCallback(),this;}slerp(qb,t){let x=qb._x,y=qb._y,z=qb._z,w=qb._w,dot=this.dot(qb);dot<0&&(x=-x,y=-y,z=-z,w=-w,dot=-dot);let s=1-t;if(dot<.9995){let theta=Math.acos(dot),sin=Math.sin(theta);s=Math.sin(s*theta)/sin,t=Math.sin(t*theta)/sin,this._x=this._x*s+x*t,this._y=this._y*s+y*t,this._z=this._z*s+z*t,this._w=this._w*s+w*t,this._onChangeCallback();}else this._x=this._x*s+x*t,this._y=this._y*s+y*t,this._z=this._z*s+z*t,this._w=this._w*s+w*t,this.normalize();return this;}slerpQuaternions(qa,qb,t){return this.copy(qa).slerp(qb,t);}random(){let theta1=2*Math.PI*Math.random(),theta2=2*Math.PI*Math.random(),x0=Math.random(),r1=Math.sqrt(1-x0),r2=Math.sqrt(x0);return this.set(r1*Math.sin(theta1),r1*Math.cos(theta1),r2*Math.sin(theta2),r2*Math.cos(theta2));}equals(quaternion){return quaternion._x===this._x&&quaternion._y===this._y&&quaternion._z===this._z&&quaternion._w===this._w;}fromArray(array,offset=0){return this._x=array[offset],this._y=array[offset+1],this._z=array[offset+2],this._w=array[offset+3],this._onChangeCallback(),this;}toArray(array=[],offset=0){return array[offset]=this._x,array[offset+1]=this._y,array[offset+2]=this._z,array[offset+3]=this._w,array;}fromBufferAttribute(attribute,index){return this._x=attribute.getX(index),this._y=attribute.getY(index),this._z=attribute.getZ(index),this._w=attribute.getW(index),this._onChangeCallback(),this;}toJSON(){return this.toArray();}_onChange(callback){return this._onChangeCallback=callback,this;}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w;}constructor(x=0,y=0,z=0,w=1){this.isQuaternion=!0,this._x=x,this._y=y,this._z=z,this._w=w;}},Vector3=(_Symbol_iterator1=Symbol.iterator,__Vector3=class _Vector3{set(x,y,z){return z===void 0&&(z=this.z),this.x=x,this.y=y,this.z=z,this;}setScalar(scalar){return this.x=scalar,this.y=scalar,this.z=scalar,this;}setX(x){return this.x=x,this;}setY(y){return this.y=y,this;}setZ(z){return this.z=z,this;}setComponent(index,value){switch(index){case 0:this.x=value;break;case 1:this.y=value;break;case 2:this.z=value;break;default:throw new Error(\"THREE.Vector3: index is out of range: \"+index);}return this;}getComponent(index){switch(index){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"THREE.Vector3: index is out of range: \"+index);}}clone(){return new this.constructor(this.x,this.y,this.z);}copy(v){return this.x=v.x,this.y=v.y,this.z=v.z,this;}add(v){return this.x+=v.x,this.y+=v.y,this.z+=v.z,this;}addScalar(s){return this.x+=s,this.y+=s,this.z+=s,this;}addVectors(a,b){return this.x=a.x+b.x,this.y=a.y+b.y,this.z=a.z+b.z,this;}addScaledVector(v,s){return this.x+=v.x*s,this.y+=v.y*s,this.z+=v.z*s,this;}sub(v){return this.x-=v.x,this.y-=v.y,this.z-=v.z,this;}subScalar(s){return this.x-=s,this.y-=s,this.z-=s,this;}subVectors(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this.z=a.z-b.z,this;}multiply(v){return this.x*=v.x,this.y*=v.y,this.z*=v.z,this;}multiplyScalar(scalar){return this.x*=scalar,this.y*=scalar,this.z*=scalar,this;}multiplyVectors(a,b){return this.x=a.x*b.x,this.y=a.y*b.y,this.z=a.z*b.z,this;}applyEuler(euler){return this.applyQuaternion(_quaternion$5.setFromEuler(euler));}applyAxisAngle(axis,angle){return this.applyQuaternion(_quaternion$5.setFromAxisAngle(axis,angle));}applyMatrix3(m){let x=this.x,y=this.y,z=this.z,e=m.elements;return this.x=e[0]*x+e[3]*y+e[6]*z,this.y=e[1]*x+e[4]*y+e[7]*z,this.z=e[2]*x+e[5]*y+e[8]*z,this;}applyNormalMatrix(m){return this.applyMatrix3(m).normalize();}applyMatrix4(m){let x=this.x,y=this.y,z=this.z,e=m.elements,w=1/(e[3]*x+e[7]*y+e[11]*z+e[15]);return this.x=(e[0]*x+e[4]*y+e[8]*z+e[12])*w,this.y=(e[1]*x+e[5]*y+e[9]*z+e[13])*w,this.z=(e[2]*x+e[6]*y+e[10]*z+e[14])*w,this;}applyQuaternion(q){let vx=this.x,vy=this.y,vz=this.z,qx=q.x,qy=q.y,qz=q.z,qw=q.w,tx=2*(qy*vz-qz*vy),ty=2*(qz*vx-qx*vz),tz=2*(qx*vy-qy*vx);return this.x=vx+qw*tx+qy*tz-qz*ty,this.y=vy+qw*ty+qz*tx-qx*tz,this.z=vz+qw*tz+qx*ty-qy*tx,this;}project(camera){return this.applyMatrix4(camera.matrixWorldInverse).applyMatrix4(camera.projectionMatrix);}unproject(camera){return this.applyMatrix4(camera.projectionMatrixInverse).applyMatrix4(camera.matrixWorld);}transformDirection(m){let x=this.x,y=this.y,z=this.z,e=m.elements;return this.x=e[0]*x+e[4]*y+e[8]*z,this.y=e[1]*x+e[5]*y+e[9]*z,this.z=e[2]*x+e[6]*y+e[10]*z,this.normalize();}divide(v){return this.x/=v.x,this.y/=v.y,this.z/=v.z,this;}divideScalar(scalar){return this.multiplyScalar(1/scalar);}min(v){return this.x=Math.min(this.x,v.x),this.y=Math.min(this.y,v.y),this.z=Math.min(this.z,v.z),this;}max(v){return this.x=Math.max(this.x,v.x),this.y=Math.max(this.y,v.y),this.z=Math.max(this.z,v.z),this;}clamp(min,max){return this.x=clamp(this.x,min.x,max.x),this.y=clamp(this.y,min.y,max.y),this.z=clamp(this.z,min.z,max.z),this;}clampScalar(minVal,maxVal){return this.x=clamp(this.x,minVal,maxVal),this.y=clamp(this.y,minVal,maxVal),this.z=clamp(this.z,minVal,maxVal),this;}clampLength(min,max){let length=this.length();return this.divideScalar(length||1).multiplyScalar(clamp(length,min,max));}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(v){return this.x*v.x+this.y*v.y+this.z*v.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(length){return this.normalize().multiplyScalar(length);}lerp(v,alpha){return this.x+=(v.x-this.x)*alpha,this.y+=(v.y-this.y)*alpha,this.z+=(v.z-this.z)*alpha,this;}lerpVectors(v1,v2,alpha){return this.x=v1.x+(v2.x-v1.x)*alpha,this.y=v1.y+(v2.y-v1.y)*alpha,this.z=v1.z+(v2.z-v1.z)*alpha,this;}cross(v){return this.crossVectors(this,v);}crossVectors(a,b){let ax=a.x,ay=a.y,az=a.z,bx=b.x,by=b.y,bz=b.z;return this.x=ay*bz-az*by,this.y=az*bx-ax*bz,this.z=ax*by-ay*bx,this;}projectOnVector(v){let denominator=v.lengthSq();if(denominator===0)return this.set(0,0,0);let scalar=v.dot(this)/denominator;return this.copy(v).multiplyScalar(scalar);}projectOnPlane(planeNormal){return _vector$c.copy(this).projectOnVector(planeNormal),this.sub(_vector$c);}reflect(normal){return this.sub(_vector$c.copy(normal).multiplyScalar(2*this.dot(normal)));}angleTo(v){let denominator=Math.sqrt(this.lengthSq()*v.lengthSq());if(denominator===0)return Math.PI/2;let theta=this.dot(v)/denominator;return Math.acos(clamp(theta,-1,1));}distanceTo(v){return Math.sqrt(this.distanceToSquared(v));}distanceToSquared(v){let dx=this.x-v.x,dy=this.y-v.y,dz=this.z-v.z;return dx*dx+dy*dy+dz*dz;}manhattanDistanceTo(v){return Math.abs(this.x-v.x)+Math.abs(this.y-v.y)+Math.abs(this.z-v.z);}setFromSpherical(s){return this.setFromSphericalCoords(s.radius,s.phi,s.theta);}setFromSphericalCoords(radius,phi,theta){let sinPhiRadius=Math.sin(phi)*radius;return this.x=sinPhiRadius*Math.sin(theta),this.y=Math.cos(phi)*radius,this.z=sinPhiRadius*Math.cos(theta),this;}setFromCylindrical(c){return this.setFromCylindricalCoords(c.radius,c.theta,c.y);}setFromCylindricalCoords(radius,theta,y){return this.x=radius*Math.sin(theta),this.y=y,this.z=radius*Math.cos(theta),this;}setFromMatrixPosition(m){let e=m.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this;}setFromMatrixScale(m){let sx=this.setFromMatrixColumn(m,0).length(),sy=this.setFromMatrixColumn(m,1).length(),sz=this.setFromMatrixColumn(m,2).length();return this.x=sx,this.y=sy,this.z=sz,this;}setFromMatrixColumn(m,index){return this.fromArray(m.elements,index*4);}setFromMatrix3Column(m,index){return this.fromArray(m.elements,index*3);}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this;}setFromColor(c){return this.x=c.r,this.y=c.g,this.z=c.b,this;}equals(v){return v.x===this.x&&v.y===this.y&&v.z===this.z;}fromArray(array,offset=0){return this.x=array[offset],this.y=array[offset+1],this.z=array[offset+2],this;}toArray(array=[],offset=0){return array[offset]=this.x,array[offset+1]=this.y,array[offset+2]=this.z,array;}fromBufferAttribute(attribute,index){return this.x=attribute.getX(index),this.y=attribute.getY(index),this.z=attribute.getZ(index),this;}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this;}randomDirection(){let theta=Math.random()*Math.PI*2,u=Math.random()*2-1,c=Math.sqrt(1-u*u);return this.x=c*Math.cos(theta),this.y=u,this.z=c*Math.sin(theta),this;}*[_Symbol_iterator1](){yield this.x,yield this.y,yield this.z;}constructor(x=0,y=0,z=0){this.x=x,this.y=y,this.z=z;}},__Vector3.prototype.isVector3=!0,__Vector3),_vector$c=new Vector3,_quaternion$5=new Quaternion,Matrix3=(__Matrix3=class _Matrix3{set(n11,n12,n13,n21,n22,n23,n31,n32,n33){let te=this.elements;return te[0]=n11,te[1]=n21,te[2]=n31,te[3]=n12,te[4]=n22,te[5]=n32,te[6]=n13,te[7]=n23,te[8]=n33,this;}identity(){return this.set(1,0,0,0,1,0,0,0,1),this;}copy(m){let te=this.elements,me=m.elements;return te[0]=me[0],te[1]=me[1],te[2]=me[2],te[3]=me[3],te[4]=me[4],te[5]=me[5],te[6]=me[6],te[7]=me[7],te[8]=me[8],this;}extractBasis(xAxis,yAxis,zAxis){return xAxis.setFromMatrix3Column(this,0),yAxis.setFromMatrix3Column(this,1),zAxis.setFromMatrix3Column(this,2),this;}setFromMatrix4(m){let me=m.elements;return this.set(me[0],me[4],me[8],me[1],me[5],me[9],me[2],me[6],me[10]),this;}multiply(m){return this.multiplyMatrices(this,m);}premultiply(m){return this.multiplyMatrices(m,this);}multiplyMatrices(a,b){let ae=a.elements,be=b.elements,te=this.elements,a11=ae[0],a12=ae[3],a13=ae[6],a21=ae[1],a22=ae[4],a23=ae[7],a31=ae[2],a32=ae[5],a33=ae[8],b11=be[0],b12=be[3],b13=be[6],b21=be[1],b22=be[4],b23=be[7],b31=be[2],b32=be[5],b33=be[8];return te[0]=a11*b11+a12*b21+a13*b31,te[3]=a11*b12+a12*b22+a13*b32,te[6]=a11*b13+a12*b23+a13*b33,te[1]=a21*b11+a22*b21+a23*b31,te[4]=a21*b12+a22*b22+a23*b32,te[7]=a21*b13+a22*b23+a23*b33,te[2]=a31*b11+a32*b21+a33*b31,te[5]=a31*b12+a32*b22+a33*b32,te[8]=a31*b13+a32*b23+a33*b33,this;}multiplyScalar(s){let te=this.elements;return te[0]*=s,te[3]*=s,te[6]*=s,te[1]*=s,te[4]*=s,te[7]*=s,te[2]*=s,te[5]*=s,te[8]*=s,this;}determinant(){let te=this.elements,a=te[0],b=te[1],c=te[2],d=te[3],e=te[4],f=te[5],g=te[6],h=te[7],i=te[8];return a*e*i-a*f*h-b*d*i+b*f*g+c*d*h-c*e*g;}invert(){let te=this.elements,n11=te[0],n21=te[1],n31=te[2],n12=te[3],n22=te[4],n32=te[5],n13=te[6],n23=te[7],n33=te[8],t11=n33*n22-n32*n23,t12=n32*n13-n33*n12,t13=n23*n12-n22*n13,det=n11*t11+n21*t12+n31*t13;if(det===0)return this.set(0,0,0,0,0,0,0,0,0);let detInv=1/det;return te[0]=t11*detInv,te[1]=(n31*n23-n33*n21)*detInv,te[2]=(n32*n21-n31*n22)*detInv,te[3]=t12*detInv,te[4]=(n33*n11-n31*n13)*detInv,te[5]=(n31*n12-n32*n11)*detInv,te[6]=t13*detInv,te[7]=(n21*n13-n23*n11)*detInv,te[8]=(n22*n11-n21*n12)*detInv,this;}transpose(){let tmp,m=this.elements;return tmp=m[1],m[1]=m[3],m[3]=tmp,tmp=m[2],m[2]=m[6],m[6]=tmp,tmp=m[5],m[5]=m[7],m[7]=tmp,this;}getNormalMatrix(matrix4){return this.setFromMatrix4(matrix4).invert().transpose();}transposeIntoArray(r){let m=this.elements;return r[0]=m[0],r[1]=m[3],r[2]=m[6],r[3]=m[1],r[4]=m[4],r[5]=m[7],r[6]=m[2],r[7]=m[5],r[8]=m[8],this;}setUvTransform(tx,ty,sx,sy,rotation,cx,cy){let c=Math.cos(rotation),s=Math.sin(rotation);return this.set(sx*c,sx*s,-sx*(c*cx+s*cy)+cx+tx,-sy*s,sy*c,-sy*(-s*cx+c*cy)+cy+ty,0,0,1),this;}scale(sx,sy){return warnOnce(\"Matrix3: .scale() is deprecated. Use .makeScale() instead.\"),this.premultiply(_m3.makeScale(sx,sy)),this;}rotate(theta){return warnOnce(\"Matrix3: .rotate() is deprecated. Use .makeRotation() instead.\"),this.premultiply(_m3.makeRotation(-theta)),this;}translate(tx,ty){return warnOnce(\"Matrix3: .translate() is deprecated. Use .makeTranslation() instead.\"),this.premultiply(_m3.makeTranslation(tx,ty)),this;}makeTranslation(x,y){return x.isVector2?this.set(1,0,x.x,0,1,x.y,0,0,1):this.set(1,0,x,0,1,y,0,0,1),this;}makeRotation(theta){let c=Math.cos(theta),s=Math.sin(theta);return this.set(c,-s,0,s,c,0,0,0,1),this;}makeScale(x,y){return this.set(x,0,0,0,y,0,0,0,1),this;}equals(matrix){let te=this.elements,me=matrix.elements;for(let i=0;i<9;i++)if(te[i]!==me[i])return!1;return!0;}fromArray(array,offset=0){for(let i=0;i<9;i++)this.elements[i]=array[i+offset];return this;}toArray(array=[],offset=0){let te=this.elements;return array[offset]=te[0],array[offset+1]=te[1],array[offset+2]=te[2],array[offset+3]=te[3],array[offset+4]=te[4],array[offset+5]=te[5],array[offset+6]=te[6],array[offset+7]=te[7],array[offset+8]=te[8],array;}clone(){return new this.constructor().fromArray(this.elements);}constructor(n11,n12,n13,n21,n22,n23,n31,n32,n33){this.elements=[1,0,0,0,1,0,0,0,1],n11!==void 0&&this.set(n11,n12,n13,n21,n22,n23,n31,n32,n33);}},__Matrix3.prototype.isMatrix3=!0,__Matrix3),_m3=new Matrix3,LINEAR_REC709_TO_XYZ=new Matrix3().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),XYZ_TO_LINEAR_REC709=new Matrix3().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function createColorManagement(){let ColorManagement2={enabled:!0,workingColorSpace:LinearSRGBColorSpace,spaces:{},convert:function(color,sourceColorSpace,targetColorSpace){return this.enabled===!1||sourceColorSpace===targetColorSpace||!sourceColorSpace||!targetColorSpace||(this.spaces[sourceColorSpace].transfer===SRGBTransfer&&(color.r=SRGBToLinear(color.r),color.g=SRGBToLinear(color.g),color.b=SRGBToLinear(color.b)),this.spaces[sourceColorSpace].primaries!==this.spaces[targetColorSpace].primaries&&(color.applyMatrix3(this.spaces[sourceColorSpace].toXYZ),color.applyMatrix3(this.spaces[targetColorSpace].fromXYZ)),this.spaces[targetColorSpace].transfer===SRGBTransfer&&(color.r=LinearToSRGB(color.r),color.g=LinearToSRGB(color.g),color.b=LinearToSRGB(color.b))),color;},workingToColorSpace:function(color,targetColorSpace){return this.convert(color,this.workingColorSpace,targetColorSpace);},colorSpaceToWorking:function(color,sourceColorSpace){return this.convert(color,sourceColorSpace,this.workingColorSpace);},getPrimaries:function(colorSpace){return this.spaces[colorSpace].primaries;},getTransfer:function(colorSpace){return colorSpace===NoColorSpace?LinearTransfer:this.spaces[colorSpace].transfer;},getToneMappingMode:function(colorSpace){return this.spaces[colorSpace].outputColorSpaceConfig.toneMappingMode||\"standard\";},getLuminanceCoefficients:function(target,colorSpace=this.workingColorSpace){return target.fromArray(this.spaces[colorSpace].luminanceCoefficients);},define:function(colorSpaces){Object.assign(this.spaces,colorSpaces);},_getMatrix:function(targetMatrix,sourceColorSpace,targetColorSpace){return targetMatrix.copy(this.spaces[sourceColorSpace].toXYZ).multiply(this.spaces[targetColorSpace].fromXYZ);},_getDrawingBufferColorSpace:function(colorSpace){return this.spaces[colorSpace].outputColorSpaceConfig.drawingBufferColorSpace;},_getUnpackColorSpace:function(colorSpace=this.workingColorSpace){return this.spaces[colorSpace].workingColorSpaceConfig.unpackColorSpace;},fromWorkingColorSpace:function(color,targetColorSpace){return warnOnce(\"ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().\"),ColorManagement2.workingToColorSpace(color,targetColorSpace);},toWorkingColorSpace:function(color,sourceColorSpace){return warnOnce(\"ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().\"),ColorManagement2.colorSpaceToWorking(color,sourceColorSpace);}},REC709_PRIMARIES=[.64,.33,.3,.6,.15,.06],REC709_LUMINANCE_COEFFICIENTS=[.2126,.7152,.0722],D65=[.3127,.329];return ColorManagement2.define({[LinearSRGBColorSpace]:{primaries:REC709_PRIMARIES,whitePoint:D65,transfer:LinearTransfer,toXYZ:LINEAR_REC709_TO_XYZ,fromXYZ:XYZ_TO_LINEAR_REC709,luminanceCoefficients:REC709_LUMINANCE_COEFFICIENTS,workingColorSpaceConfig:{unpackColorSpace:SRGBColorSpace},outputColorSpaceConfig:{drawingBufferColorSpace:SRGBColorSpace}},[SRGBColorSpace]:{primaries:REC709_PRIMARIES,whitePoint:D65,transfer:SRGBTransfer,toXYZ:LINEAR_REC709_TO_XYZ,fromXYZ:XYZ_TO_LINEAR_REC709,luminanceCoefficients:REC709_LUMINANCE_COEFFICIENTS,outputColorSpaceConfig:{drawingBufferColorSpace:SRGBColorSpace}}}),ColorManagement2;}var ColorManagement=createColorManagement();function SRGBToLinear(c){return c<.04045?c*.0773993808:Math.pow(c*.9478672986+.0521327014,2.4);}function LinearToSRGB(c){return c<.0031308?c*12.92:1.055*Math.pow(c,.41666)-.055;}var _canvas,ImageUtils=class{static getDataURL(image,type=\"image/png\"){if(/^data:/i.test(image.src)||typeof HTMLCanvasElement>\"u\")return image.src;let canvas;if(image instanceof HTMLCanvasElement)canvas=image;else{_canvas===void 0&&(_canvas=createElementNS(\"canvas\")),_canvas.width=image.width,_canvas.height=image.height;let context=_canvas.getContext(\"2d\");image instanceof ImageData?context.putImageData(image,0,0):context.drawImage(image,0,0,image.width,image.height),canvas=_canvas;}return canvas.toDataURL(type);}static sRGBToLinear(image){if(typeof HTMLImageElement<\"u\"&&image instanceof HTMLImageElement||typeof HTMLCanvasElement<\"u\"&&image instanceof HTMLCanvasElement||typeof ImageBitmap<\"u\"&&image instanceof ImageBitmap){let canvas=createElementNS(\"canvas\");canvas.width=image.width,canvas.height=image.height;let context=canvas.getContext(\"2d\");context.drawImage(image,0,0,image.width,image.height);let imageData=context.getImageData(0,0,image.width,image.height),data=imageData.data;for(let i=0;i<data.length;i++)data[i]=SRGBToLinear(data[i]/255)*255;return context.putImageData(imageData,0,0),canvas;}else if(image.data){let data=image.data.slice(0);for(let i=0;i<data.length;i++)data instanceof Uint8Array||data instanceof Uint8ClampedArray?data[i]=Math.floor(SRGBToLinear(data[i]/255)*255):data[i]=SRGBToLinear(data[i]);return{data,width:image.width,height:image.height};}else return warn(\"ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.\"),image;}},_sourceId=0,TextureSource=class{getSize(target){let data=this.data;return typeof HTMLVideoElement<\"u\"&&data instanceof HTMLVideoElement?target.set(data.videoWidth,data.videoHeight,0):typeof VideoFrame<\"u\"&&data instanceof VideoFrame?target.set(data.displayWidth,data.displayHeight,0):data!==null?target.set(data.width,data.height,data.depth||0):target.set(0,0,0),target;}set needsUpdate(value){value===!0&&this.version++;}toJSON(meta){let isRootObject=meta===void 0||typeof meta==\"string\";if(!isRootObject&&meta.images[this.uuid]!==void 0)return meta.images[this.uuid];let output={uuid:this.uuid,url:\"\"},data=this.data;if(data!==null){let url;if(Array.isArray(data)){url=[];for(let i=0,l=data.length;i<l;i++)data[i].isDataTexture?url.push(serializeImage(data[i].image)):url.push(serializeImage(data[i]));}else url=serializeImage(data);output.url=url;}return isRootObject||(meta.images[this.uuid]=output),output;}constructor(data=null){this.isTextureSource=!0,Object.defineProperty(this,\"id\",{value:_sourceId++}),this.uuid=generateUUID(),this.data=data,this.dataReady=!0,this.version=0;}};function serializeImage(image){return typeof HTMLImageElement<\"u\"&&image instanceof HTMLImageElement||typeof HTMLCanvasElement<\"u\"&&image instanceof HTMLCanvasElement||typeof ImageBitmap<\"u\"&&image instanceof ImageBitmap?ImageUtils.getDataURL(image):image.data?{data:Array.from(image.data),width:image.width,height:image.height,type:image.data.constructor.name}:(warn(\"Texture: Unable to serialize Texture.\"),{});}var _textureId=0,_tempVec3=new Vector3,Texture=class _Texture extends EventDispatcher{get width(){return this.source.getSize(_tempVec3).x;}get height(){return this.source.getSize(_tempVec3).y;}get depth(){return this.source.getSize(_tempVec3).z;}get image(){return this.source.data;}set image(value){this.source.data=value;}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(start,count){this.updateRanges.push({start,count});}clearUpdateRanges(){this.updateRanges.length=0;}clone(){return new this.constructor().copy(this);}copy(source){return this.name=source.name,this.source=source.source,this.mipmaps=source.mipmaps.slice(0),this.mapping=source.mapping,this.channel=source.channel,this.wrapS=source.wrapS,this.wrapT=source.wrapT,this.magFilter=source.magFilter,this.minFilter=source.minFilter,this.anisotropy=source.anisotropy,this.format=source.format,this.internalFormat=source.internalFormat,this.type=source.type,this.normalized=source.normalized,this.offset.copy(source.offset),this.repeat.copy(source.repeat),this.center.copy(source.center),this.rotation=source.rotation,this.matrixAutoUpdate=source.matrixAutoUpdate,this.matrix.copy(source.matrix),this.generateMipmaps=source.generateMipmaps,this.premultiplyAlpha=source.premultiplyAlpha,this.flipY=source.flipY,this.unpackAlignment=source.unpackAlignment,this.colorSpace=source.colorSpace,this.renderTarget=source.renderTarget,this.isRenderTargetTexture=source.isRenderTargetTexture,this.isArrayTexture=source.isArrayTexture,this.userData=JSON.parse(JSON.stringify(source.userData)),this.needsUpdate=!0,this;}setValues(values){for(let key in values){let newValue=values[key];if(newValue===void 0){warn(`Texture.setValues(): parameter '${key}' has value of undefined.`);continue;}let currentValue=this[key];if(currentValue===void 0){warn(`Texture.setValues(): property '${key}' does not exist.`);continue;}currentValue&&newValue&&currentValue.isVector2&&newValue.isVector2||currentValue&&newValue&&currentValue.isVector3&&newValue.isVector3||currentValue&&newValue&&currentValue.isMatrix3&&newValue.isMatrix3?currentValue.copy(newValue):this[key]=newValue;}}toJSON(meta){let isRootObject=meta===void 0||typeof meta==\"string\";if(!isRootObject&&meta.textures[this.uuid]!==void 0)return meta.textures[this.uuid];let output={metadata:{version:4.7,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,image:this.source.toJSON(meta).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&&(output.userData=this.userData),isRootObject||(meta.textures[this.uuid]=output),output;}dispose(){this.dispatchEvent({type:\"dispose\"});}transformUv(uv){if(this.mapping!==UVMapping)return uv;if(uv.applyMatrix3(this.matrix),uv.x<0||uv.x>1)switch(this.wrapS){case RepeatWrapping:uv.x=uv.x-Math.floor(uv.x);break;case ClampToEdgeWrapping:uv.x=uv.x<0?0:1;break;case MirroredRepeatWrapping:Math.abs(Math.floor(uv.x)%2)===1?uv.x=Math.ceil(uv.x)-uv.x:uv.x=uv.x-Math.floor(uv.x);break;}if(uv.y<0||uv.y>1)switch(this.wrapT){case RepeatWrapping:uv.y=uv.y-Math.floor(uv.y);break;case ClampToEdgeWrapping:uv.y=uv.y<0?0:1;break;case MirroredRepeatWrapping:Math.abs(Math.floor(uv.y)%2)===1?uv.y=Math.ceil(uv.y)-uv.y:uv.y=uv.y-Math.floor(uv.y);break;}return this.flipY&&(uv.y=1-uv.y),uv;}set needsUpdate(value){value===!0&&(this.version++,this.source.needsUpdate=!0);}set needsPMREMUpdate(value){value===!0&&this.pmremVersion++;}constructor(image=_Texture.DEFAULT_IMAGE,mapping=_Texture.DEFAULT_MAPPING,wrapS=ClampToEdgeWrapping,wrapT=ClampToEdgeWrapping,magFilter=LinearFilter,minFilter=LinearMipmapLinearFilter,format=RGBAFormat,type=UnsignedByteType,anisotropy=_Texture.DEFAULT_ANISOTROPY,colorSpace=NoColorSpace){super(),this.isTexture=!0,Object.defineProperty(this,\"id\",{value:_textureId++}),this.uuid=generateUUID(),this.name=\"\",this.source=new TextureSource(image),this.mipmaps=[],this.mapping=mapping,this.channel=0,this.wrapS=wrapS,this.wrapT=wrapT,this.magFilter=magFilter,this.minFilter=minFilter,this.anisotropy=anisotropy,this.format=format,this.internalFormat=null,this.type=type,this.offset=new Vector2(0,0),this.repeat=new Vector2(1,1),this.center=new Vector2(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Matrix3,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=colorSpace,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=!!(image&&image.depth&&image.depth>1),this.pmremVersion=0,this.normalized=!1;}};Texture.DEFAULT_IMAGE=null;Texture.DEFAULT_MAPPING=UVMapping;Texture.DEFAULT_ANISOTROPY=1;var Vector4=(_Symbol_iterator2=Symbol.iterator,__Vector4=class _Vector4{get width(){return this.z;}set width(value){this.z=value;}get height(){return this.w;}set height(value){this.w=value;}set(x,y,z,w){return this.x=x,this.y=y,this.z=z,this.w=w,this;}setScalar(scalar){return this.x=scalar,this.y=scalar,this.z=scalar,this.w=scalar,this;}setX(x){return this.x=x,this;}setY(y){return this.y=y,this;}setZ(z){return this.z=z,this;}setW(w){return this.w=w,this;}setComponent(index,value){switch(index){case 0:this.x=value;break;case 1:this.y=value;break;case 2:this.z=value;break;case 3:this.w=value;break;default:throw new Error(\"THREE.Vector4: index is out of range: \"+index);}return this;}getComponent(index){switch(index){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"THREE.Vector4: index is out of range: \"+index);}}clone(){return new this.constructor(this.x,this.y,this.z,this.w);}copy(v){return this.x=v.x,this.y=v.y,this.z=v.z,this.w=v.w!==void 0?v.w:1,this;}add(v){return this.x+=v.x,this.y+=v.y,this.z+=v.z,this.w+=v.w,this;}addScalar(s){return this.x+=s,this.y+=s,this.z+=s,this.w+=s,this;}addVectors(a,b){return this.x=a.x+b.x,this.y=a.y+b.y,this.z=a.z+b.z,this.w=a.w+b.w,this;}addScaledVector(v,s){return this.x+=v.x*s,this.y+=v.y*s,this.z+=v.z*s,this.w+=v.w*s,this;}sub(v){return this.x-=v.x,this.y-=v.y,this.z-=v.z,this.w-=v.w,this;}subScalar(s){return this.x-=s,this.y-=s,this.z-=s,this.w-=s,this;}subVectors(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this.z=a.z-b.z,this.w=a.w-b.w,this;}multiply(v){return this.x*=v.x,this.y*=v.y,this.z*=v.z,this.w*=v.w,this;}multiplyScalar(scalar){return this.x*=scalar,this.y*=scalar,this.z*=scalar,this.w*=scalar,this;}applyMatrix4(m){let x=this.x,y=this.y,z=this.z,w=this.w,e=m.elements;return this.x=e[0]*x+e[4]*y+e[8]*z+e[12]*w,this.y=e[1]*x+e[5]*y+e[9]*z+e[13]*w,this.z=e[2]*x+e[6]*y+e[10]*z+e[14]*w,this.w=e[3]*x+e[7]*y+e[11]*z+e[15]*w,this;}divide(v){return this.x/=v.x,this.y/=v.y,this.z/=v.z,this.w/=v.w,this;}divideScalar(scalar){return this.multiplyScalar(1/scalar);}setAxisAngleFromQuaternion(q){this.w=2*Math.acos(q.w);let s=Math.sqrt(1-q.w*q.w);return s<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=q.x/s,this.y=q.y/s,this.z=q.z/s),this;}setAxisAngleFromRotationMatrix(m){let angle,x,y,z,te=m.elements,m11=te[0],m12=te[4],m13=te[8],m21=te[1],m22=te[5],m23=te[9],m31=te[2],m32=te[6],m33=te[10];if(Math.abs(m12-m21)<.01&&Math.abs(m13-m31)<.01&&Math.abs(m23-m32)<.01){if(Math.abs(m12+m21)<.1&&Math.abs(m13+m31)<.1&&Math.abs(m23+m32)<.1&&Math.abs(m11+m22+m33-3)<.1)return this.set(1,0,0,0),this;angle=Math.PI;let xx=(m11+1)/2,yy=(m22+1)/2,zz=(m33+1)/2,xy=(m12+m21)/4,xz=(m13+m31)/4,yz=(m23+m32)/4;return xx>yy&&xx>zz?xx<.01?(x=0,y=.707106781,z=.707106781):(x=Math.sqrt(xx),y=xy/x,z=xz/x):yy>zz?yy<.01?(x=.707106781,y=0,z=.707106781):(y=Math.sqrt(yy),x=xy/y,z=yz/y):zz<.01?(x=.707106781,y=.707106781,z=0):(z=Math.sqrt(zz),x=xz/z,y=yz/z),this.set(x,y,z,angle),this;}let s=Math.sqrt((m32-m23)*(m32-m23)+(m13-m31)*(m13-m31)+(m21-m12)*(m21-m12));return Math.abs(s)<.001&&(s=1),this.x=(m32-m23)/s,this.y=(m13-m31)/s,this.z=(m21-m12)/s,this.w=Math.acos((m11+m22+m33-1)/2),this;}setFromMatrixPosition(m){let e=m.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this.w=e[15],this;}min(v){return this.x=Math.min(this.x,v.x),this.y=Math.min(this.y,v.y),this.z=Math.min(this.z,v.z),this.w=Math.min(this.w,v.w),this;}max(v){return this.x=Math.max(this.x,v.x),this.y=Math.max(this.y,v.y),this.z=Math.max(this.z,v.z),this.w=Math.max(this.w,v.w),this;}clamp(min,max){return this.x=clamp(this.x,min.x,max.x),this.y=clamp(this.y,min.y,max.y),this.z=clamp(this.z,min.z,max.z),this.w=clamp(this.w,min.w,max.w),this;}clampScalar(minVal,maxVal){return this.x=clamp(this.x,minVal,maxVal),this.y=clamp(this.y,minVal,maxVal),this.z=clamp(this.z,minVal,maxVal),this.w=clamp(this.w,minVal,maxVal),this;}clampLength(min,max){let length=this.length();return this.divideScalar(length||1).multiplyScalar(clamp(length,min,max));}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(v){return this.x*v.x+this.y*v.y+this.z*v.z+this.w*v.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(length){return this.normalize().multiplyScalar(length);}lerp(v,alpha){return this.x+=(v.x-this.x)*alpha,this.y+=(v.y-this.y)*alpha,this.z+=(v.z-this.z)*alpha,this.w+=(v.w-this.w)*alpha,this;}lerpVectors(v1,v2,alpha){return this.x=v1.x+(v2.x-v1.x)*alpha,this.y=v1.y+(v2.y-v1.y)*alpha,this.z=v1.z+(v2.z-v1.z)*alpha,this.w=v1.w+(v2.w-v1.w)*alpha,this;}equals(v){return v.x===this.x&&v.y===this.y&&v.z===this.z&&v.w===this.w;}fromArray(array,offset=0){return this.x=array[offset],this.y=array[offset+1],this.z=array[offset+2],this.w=array[offset+3],this;}toArray(array=[],offset=0){return array[offset]=this.x,array[offset+1]=this.y,array[offset+2]=this.z,array[offset+3]=this.w,array;}fromBufferAttribute(attribute,index){return this.x=attribute.getX(index),this.y=attribute.getY(index),this.z=attribute.getZ(index),this.w=attribute.getW(index),this;}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this;}*[_Symbol_iterator2](){yield this.x,yield this.y,yield this.z,yield this.w;}constructor(x=0,y=0,z=0,w=1){this.x=x,this.y=y,this.z=z,this.w=w;}},__Vector4.prototype.isVector4=!0,__Vector4),RenderTarget=class extends EventDispatcher{_setTextureOptions(options={}){let values={minFilter:LinearFilter,generateMipmaps:!1,flipY:!1,internalFormat:null};options.mapping!==void 0&&(values.mapping=options.mapping),options.wrapS!==void 0&&(values.wrapS=options.wrapS),options.wrapT!==void 0&&(values.wrapT=options.wrapT),options.wrapR!==void 0&&(values.wrapR=options.wrapR),options.magFilter!==void 0&&(values.magFilter=options.magFilter),options.minFilter!==void 0&&(values.minFilter=options.minFilter),options.format!==void 0&&(values.format=options.format),options.type!==void 0&&(values.type=options.type),options.anisotropy!==void 0&&(values.anisotropy=options.anisotropy),options.colorSpace!==void 0&&(values.colorSpace=options.colorSpace),options.flipY!==void 0&&(values.flipY=options.flipY),options.generateMipmaps!==void 0&&(values.generateMipmaps=options.generateMipmaps),options.internalFormat!==void 0&&(values.internalFormat=options.internalFormat);for(let i=0;i<this.textures.length;i++)this.textures[i].setValues(values);}get texture(){return this.textures[0];}set texture(value){this.textures[0]=value;}set depthTexture(current){this._depthTexture!==null&&this._depthTexture.renderTarget===this&&(this._depthTexture.renderTarget=null),current!==null&&current.renderTarget===null&&(current.renderTarget=this),this._depthTexture=current;}get depthTexture(){return this._depthTexture;}setSize(width,height,depth=1){if(this.width!==width||this.height!==height||this.depth!==depth){this.width=width,this.height=height,this.depth=depth;for(let i=0,il=this.textures.length;i<il;i++)this.textures[i].image.width=width,this.textures[i].image.height=height,this.textures[i].image.depth=depth,this.textures[i].isData3DTexture!==!0&&(this.textures[i].isArrayTexture=this.textures[i].image.depth>1);this.dispose();}this.viewport.set(0,0,width,height),this.scissor.set(0,0,width,height);}clone(){return new this.constructor().copy(this);}copy(source){this.width=source.width,this.height=source.height,this.depth=source.depth,this.scissor.copy(source.scissor),this.scissorTest=source.scissorTest,this.viewport.copy(source.viewport),this.textures.length=0;for(let i=0,il=source.textures.length;i<il;i++){this.textures[i]=source.textures[i].clone(),this.textures[i].isRenderTargetTexture=!0,this.textures[i].renderTarget=this;let image=Object.assign({},source.textures[i].image);this.textures[i].source=new TextureSource(image);}if(this.depthBuffer=source.depthBuffer,this.stencilBuffer=source.stencilBuffer,this.resolveColorBuffer=source.resolveColorBuffer,this.resolveDepthBuffer=source.resolveDepthBuffer,this.resolveStencilBuffer=source.resolveStencilBuffer,this.storeMultisampledColorBuffer=source.storeMultisampledColorBuffer,this.storeMultisampledDepthBuffer=source.storeMultisampledDepthBuffer,this.storeMultisampledStencilBuffer=source.storeMultisampledStencilBuffer,source.depthTexture!==null)if(source.depthTexture.renderTarget===source){let depthTexture=source.depthTexture.clone();depthTexture.renderTarget=null,this.depthTexture=depthTexture;}else this.depthTexture=source.depthTexture;return this.samples=source.samples,this.multiview=source.multiview,this.useArrayDepthTexture=source.useArrayDepthTexture,this;}dispose(){this.dispatchEvent({type:\"dispose\"});}constructor(width=1,height=1,options={}){super(),options=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:LinearFilter,depthBuffer:!0,stencilBuffer:!1,resolveColorBuffer:!0,resolveDepthBuffer:!0,resolveStencilBuffer:!0,storeMultisampledColorBuffer:!0,storeMultisampledDepthBuffer:!0,storeMultisampledStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1,useArrayDepthTexture:!1},options),this.isRenderTarget=!0,this.width=width,this.height=height,this.depth=options.depth,this.scissor=new Vector4(0,0,width,height),this.scissorTest=!1,this.viewport=new Vector4(0,0,width,height),this.textures=[];let image={width,height,depth:options.depth},texture=new Texture(image),count=options.count;for(let i=0;i<count;i++)this.textures[i]=texture.clone(),this.textures[i].isRenderTargetTexture=!0,this.textures[i].renderTarget=this;this._setTextureOptions(options),this.depthBuffer=options.depthBuffer,this.stencilBuffer=options.stencilBuffer,this.resolveColorBuffer=options.resolveColorBuffer,this.resolveDepthBuffer=options.resolveDepthBuffer,this.resolveStencilBuffer=options.resolveStencilBuffer,this.storeMultisampledColorBuffer=options.storeMultisampledColorBuffer,this.storeMultisampledDepthBuffer=options.storeMultisampledDepthBuffer,this.storeMultisampledStencilBuffer=options.storeMultisampledStencilBuffer,this._depthTexture=null,this.depthTexture=options.depthTexture,this.samples=options.samples,this.multiview=options.multiview,this.useArrayDepthTexture=options.useArrayDepthTexture;}},WebGLRenderTarget=class extends RenderTarget{constructor(width=1,height=1,options={}){super(width,height,options),this.isWebGLRenderTarget=!0;}},DataArrayTexture=class extends Texture{copy(source){return super.copy(source),this.wrapR=source.wrapR,this;}addLayerUpdate(layerIndex){this.layerUpdates.add(layerIndex);}clearLayerUpdates(){this.layerUpdates.clear();}constructor(data=null,width=1,height=1,depth=1){super(null),this.isDataArrayTexture=!0,this.image={data,width,height,depth},this.magFilter=NearestFilter,this.minFilter=NearestFilter,this.wrapR=ClampToEdgeWrapping,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set;}};var Data3DTexture=class extends Texture{copy(source){return super.copy(source),this.wrapR=source.wrapR,this;}constructor(data=null,width=1,height=1,depth=1){super(null),this.isData3DTexture=!0,this.image={data,width,height,depth},this.magFilter=NearestFilter,this.minFilter=NearestFilter,this.wrapR=ClampToEdgeWrapping,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1;}};var Matrix4=(__Matrix4=class _Matrix4{set(n11,n12,n13,n14,n21,n22,n23,n24,n31,n32,n33,n34,n41,n42,n43,n44){let te=this.elements;return te[0]=n11,te[4]=n12,te[8]=n13,te[12]=n14,te[1]=n21,te[5]=n22,te[9]=n23,te[13]=n24,te[2]=n31,te[6]=n32,te[10]=n33,te[14]=n34,te[3]=n41,te[7]=n42,te[11]=n43,te[15]=n44,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 _Matrix4().fromArray(this.elements);}copy(m){let te=this.elements,me=m.elements;return te[0]=me[0],te[1]=me[1],te[2]=me[2],te[3]=me[3],te[4]=me[4],te[5]=me[5],te[6]=me[6],te[7]=me[7],te[8]=me[8],te[9]=me[9],te[10]=me[10],te[11]=me[11],te[12]=me[12],te[13]=me[13],te[14]=me[14],te[15]=me[15],this;}copyPosition(m){let te=this.elements,me=m.elements;return te[12]=me[12],te[13]=me[13],te[14]=me[14],this;}setFromMatrix3(m){let me=m.elements;return this.set(me[0],me[3],me[6],0,me[1],me[4],me[7],0,me[2],me[5],me[8],0,0,0,0,1),this;}extractBasis(xAxis,yAxis,zAxis){return this.determinantAffine()===0?(xAxis.set(1,0,0),yAxis.set(0,1,0),zAxis.set(0,0,1),this):(xAxis.setFromMatrixColumn(this,0),yAxis.setFromMatrixColumn(this,1),zAxis.setFromMatrixColumn(this,2),this);}makeBasis(xAxis,yAxis,zAxis){return this.set(xAxis.x,yAxis.x,zAxis.x,0,xAxis.y,yAxis.y,zAxis.y,0,xAxis.z,yAxis.z,zAxis.z,0,0,0,0,1),this;}extractRotation(m){if(m.determinantAffine()===0)return this.identity();let te=this.elements,me=m.elements,scaleX=1/_v1$7.setFromMatrixColumn(m,0).length(),scaleY=1/_v1$7.setFromMatrixColumn(m,1).length(),scaleZ=1/_v1$7.setFromMatrixColumn(m,2).length();return te[0]=me[0]*scaleX,te[1]=me[1]*scaleX,te[2]=me[2]*scaleX,te[3]=0,te[4]=me[4]*scaleY,te[5]=me[5]*scaleY,te[6]=me[6]*scaleY,te[7]=0,te[8]=me[8]*scaleZ,te[9]=me[9]*scaleZ,te[10]=me[10]*scaleZ,te[11]=0,te[12]=0,te[13]=0,te[14]=0,te[15]=1,this;}makeRotationFromEuler(euler){let te=this.elements,x=euler.x,y=euler.y,z=euler.z,a=Math.cos(x),b=Math.sin(x),c=Math.cos(y),d=Math.sin(y),e=Math.cos(z),f=Math.sin(z);if(euler.order===\"XYZ\"){let ae=a*e,af=a*f,be=b*e,bf=b*f;te[0]=c*e,te[4]=-c*f,te[8]=d,te[1]=af+be*d,te[5]=ae-bf*d,te[9]=-b*c,te[2]=bf-ae*d,te[6]=be+af*d,te[10]=a*c;}else if(euler.order===\"YXZ\"){let ce=c*e,cf=c*f,de=d*e,df=d*f;te[0]=ce+df*b,te[4]=de*b-cf,te[8]=a*d,te[1]=a*f,te[5]=a*e,te[9]=-b,te[2]=cf*b-de,te[6]=df+ce*b,te[10]=a*c;}else if(euler.order===\"ZXY\"){let ce=c*e,cf=c*f,de=d*e,df=d*f;te[0]=ce-df*b,te[4]=-a*f,te[8]=de+cf*b,te[1]=cf+de*b,te[5]=a*e,te[9]=df-ce*b,te[2]=-a*d,te[6]=b,te[10]=a*c;}else if(euler.order===\"ZYX\"){let ae=a*e,af=a*f,be=b*e,bf=b*f;te[0]=c*e,te[4]=be*d-af,te[8]=ae*d+bf,te[1]=c*f,te[5]=bf*d+ae,te[9]=af*d-be,te[2]=-d,te[6]=b*c,te[10]=a*c;}else if(euler.order===\"YZX\"){let ac=a*c,ad=a*d,bc=b*c,bd=b*d;te[0]=c*e,te[4]=bd-ac*f,te[8]=bc*f+ad,te[1]=f,te[5]=a*e,te[9]=-b*e,te[2]=-d*e,te[6]=ad*f+bc,te[10]=ac-bd*f;}else if(euler.order===\"XZY\"){let ac=a*c,ad=a*d,bc=b*c,bd=b*d;te[0]=c*e,te[4]=-f,te[8]=d*e,te[1]=ac*f+bd,te[5]=a*e,te[9]=ad*f-bc,te[2]=bc*f-ad,te[6]=b*e,te[10]=bd*f+ac;}return te[3]=0,te[7]=0,te[11]=0,te[12]=0,te[13]=0,te[14]=0,te[15]=1,this;}makeRotationFromQuaternion(q){return this.compose(_zero,q,_one);}lookAt(eye,target,up){let te=this.elements;return _z.subVectors(eye,target),_z.lengthSq()===0&&(_z.z=1),_z.normalize(),_x.crossVectors(up,_z),_x.lengthSq()===0&&(Math.abs(up.z)===1?_z.x+=1e-4:_z.z+=1e-4,_z.normalize(),_x.crossVectors(up,_z)),_x.normalize(),_y.crossVectors(_z,_x),te[0]=_x.x,te[4]=_y.x,te[8]=_z.x,te[1]=_x.y,te[5]=_y.y,te[9]=_z.y,te[2]=_x.z,te[6]=_y.z,te[10]=_z.z,this;}multiply(m){return this.multiplyMatrices(this,m);}premultiply(m){return this.multiplyMatrices(m,this);}multiplyMatrices(a,b){let ae=a.elements,be=b.elements,te=this.elements,a11=ae[0],a12=ae[4],a13=ae[8],a14=ae[12],a21=ae[1],a22=ae[5],a23=ae[9],a24=ae[13],a31=ae[2],a32=ae[6],a33=ae[10],a34=ae[14],a41=ae[3],a42=ae[7],a43=ae[11],a44=ae[15],b11=be[0],b12=be[4],b13=be[8],b14=be[12],b21=be[1],b22=be[5],b23=be[9],b24=be[13],b31=be[2],b32=be[6],b33=be[10],b34=be[14],b41=be[3],b42=be[7],b43=be[11],b44=be[15];return te[0]=a11*b11+a12*b21+a13*b31+a14*b41,te[4]=a11*b12+a12*b22+a13*b32+a14*b42,te[8]=a11*b13+a12*b23+a13*b33+a14*b43,te[12]=a11*b14+a12*b24+a13*b34+a14*b44,te[1]=a21*b11+a22*b21+a23*b31+a24*b41,te[5]=a21*b12+a22*b22+a23*b32+a24*b42,te[9]=a21*b13+a22*b23+a23*b33+a24*b43,te[13]=a21*b14+a22*b24+a23*b34+a24*b44,te[2]=a31*b11+a32*b21+a33*b31+a34*b41,te[6]=a31*b12+a32*b22+a33*b32+a34*b42,te[10]=a31*b13+a32*b23+a33*b33+a34*b43,te[14]=a31*b14+a32*b24+a33*b34+a34*b44,te[3]=a41*b11+a42*b21+a43*b31+a44*b41,te[7]=a41*b12+a42*b22+a43*b32+a44*b42,te[11]=a41*b13+a42*b23+a43*b33+a44*b43,te[15]=a41*b14+a42*b24+a43*b34+a44*b44,this;}multiplyScalar(s){let te=this.elements;return te[0]*=s,te[4]*=s,te[8]*=s,te[12]*=s,te[1]*=s,te[5]*=s,te[9]*=s,te[13]*=s,te[2]*=s,te[6]*=s,te[10]*=s,te[14]*=s,te[3]*=s,te[7]*=s,te[11]*=s,te[15]*=s,this;}determinant(){let te=this.elements,n11=te[0],n12=te[4],n13=te[8],n14=te[12],n21=te[1],n22=te[5],n23=te[9],n24=te[13],n31=te[2],n32=te[6],n33=te[10],n34=te[14],n41=te[3],n42=te[7],n43=te[11],n44=te[15],t11=n23*n34-n24*n33,t12=n22*n34-n24*n32,t13=n22*n33-n23*n32,t21=n21*n34-n24*n31,t22=n21*n33-n23*n31,t23=n21*n32-n22*n31;return n11*(n42*t11-n43*t12+n44*t13)-n12*(n41*t11-n43*t21+n44*t22)+n13*(n41*t12-n42*t21+n44*t23)-n14*(n41*t13-n42*t22+n43*t23);}determinantAffine(){let te=this.elements,n11=te[0],n12=te[4],n13=te[8],n21=te[1],n22=te[5],n23=te[9],n31=te[2],n32=te[6],n33=te[10];return n11*(n22*n33-n23*n32)-n12*(n21*n33-n23*n31)+n13*(n21*n32-n22*n31);}transpose(){let te=this.elements,tmp;return tmp=te[1],te[1]=te[4],te[4]=tmp,tmp=te[2],te[2]=te[8],te[8]=tmp,tmp=te[6],te[6]=te[9],te[9]=tmp,tmp=te[3],te[3]=te[12],te[12]=tmp,tmp=te[7],te[7]=te[13],te[13]=tmp,tmp=te[11],te[11]=te[14],te[14]=tmp,this;}setPosition(x,y,z){let te=this.elements;return x.isVector3?(te[12]=x.x,te[13]=x.y,te[14]=x.z):(te[12]=x,te[13]=y,te[14]=z),this;}invert(){let te=this.elements,n11=te[0],n21=te[1],n31=te[2],n41=te[3],n12=te[4],n22=te[5],n32=te[6],n42=te[7],n13=te[8],n23=te[9],n33=te[10],n43=te[11],n14=te[12],n24=te[13],n34=te[14],n44=te[15],t1=n11*n22-n21*n12,t2=n11*n32-n31*n12,t3=n11*n42-n41*n12,t4=n21*n32-n31*n22,t5=n21*n42-n41*n22,t6=n31*n42-n41*n32,t7=n13*n24-n23*n14,t8=n13*n34-n33*n14,t9=n13*n44-n43*n14,t10=n23*n34-n33*n24,t11=n23*n44-n43*n24,t12=n33*n44-n43*n34,det=t1*t12-t2*t11+t3*t10+t4*t9-t5*t8+t6*t7;if(det===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let detInv=1/det;return te[0]=(n22*t12-n32*t11+n42*t10)*detInv,te[1]=(n31*t11-n21*t12-n41*t10)*detInv,te[2]=(n24*t6-n34*t5+n44*t4)*detInv,te[3]=(n33*t5-n23*t6-n43*t4)*detInv,te[4]=(n32*t9-n12*t12-n42*t8)*detInv,te[5]=(n11*t12-n31*t9+n41*t8)*detInv,te[6]=(n34*t3-n14*t6-n44*t2)*detInv,te[7]=(n13*t6-n33*t3+n43*t2)*detInv,te[8]=(n12*t11-n22*t9+n42*t7)*detInv,te[9]=(n21*t9-n11*t11-n41*t7)*detInv,te[10]=(n14*t5-n24*t3+n44*t1)*detInv,te[11]=(n23*t3-n13*t5-n43*t1)*detInv,te[12]=(n22*t8-n12*t10-n32*t7)*detInv,te[13]=(n11*t10-n21*t8+n31*t7)*detInv,te[14]=(n24*t2-n14*t4-n34*t1)*detInv,te[15]=(n13*t4-n23*t2+n33*t1)*detInv,this;}scale(v){let te=this.elements,x=v.x,y=v.y,z=v.z;return te[0]*=x,te[4]*=y,te[8]*=z,te[1]*=x,te[5]*=y,te[9]*=z,te[2]*=x,te[6]*=y,te[10]*=z,te[3]*=x,te[7]*=y,te[11]*=z,this;}getMaxScaleOnAxis(){let te=this.elements,scaleXSq=te[0]*te[0]+te[1]*te[1]+te[2]*te[2],scaleYSq=te[4]*te[4]+te[5]*te[5]+te[6]*te[6],scaleZSq=te[8]*te[8]+te[9]*te[9]+te[10]*te[10];return Math.sqrt(Math.max(scaleXSq,scaleYSq,scaleZSq));}makeTranslation(x,y,z){return x.isVector3?this.set(1,0,0,x.x,0,1,0,x.y,0,0,1,x.z,0,0,0,1):this.set(1,0,0,x,0,1,0,y,0,0,1,z,0,0,0,1),this;}makeRotationX(theta){let c=Math.cos(theta),s=Math.sin(theta);return this.set(1,0,0,0,0,c,-s,0,0,s,c,0,0,0,0,1),this;}makeRotationY(theta){let c=Math.cos(theta),s=Math.sin(theta);return this.set(c,0,s,0,0,1,0,0,-s,0,c,0,0,0,0,1),this;}makeRotationZ(theta){let c=Math.cos(theta),s=Math.sin(theta);return this.set(c,-s,0,0,s,c,0,0,0,0,1,0,0,0,0,1),this;}makeRotationAxis(axis,angle){let c=Math.cos(angle),s=Math.sin(angle),t=1-c,x=axis.x,y=axis.y,z=axis.z,tx=t*x,ty=t*y;return this.set(tx*x+c,tx*y-s*z,tx*z+s*y,0,tx*y+s*z,ty*y+c,ty*z-s*x,0,tx*z-s*y,ty*z+s*x,t*z*z+c,0,0,0,0,1),this;}makeScale(x,y,z){return this.set(x,0,0,0,0,y,0,0,0,0,z,0,0,0,0,1),this;}makeShear(xy,xz,yx,yz,zx,zy){return this.set(1,yx,zx,0,xy,1,zy,0,xz,yz,1,0,0,0,0,1),this;}compose(position,quaternion,scale){let te=this.elements,x=quaternion._x,y=quaternion._y,z=quaternion._z,w=quaternion._w,x2=x+x,y2=y+y,z2=z+z,xx=x*x2,xy=x*y2,xz=x*z2,yy=y*y2,yz=y*z2,zz=z*z2,wx=w*x2,wy=w*y2,wz=w*z2,sx=scale.x,sy=scale.y,sz=scale.z;return te[0]=(1-(yy+zz))*sx,te[1]=(xy+wz)*sx,te[2]=(xz-wy)*sx,te[3]=0,te[4]=(xy-wz)*sy,te[5]=(1-(xx+zz))*sy,te[6]=(yz+wx)*sy,te[7]=0,te[8]=(xz+wy)*sz,te[9]=(yz-wx)*sz,te[10]=(1-(xx+yy))*sz,te[11]=0,te[12]=position.x,te[13]=position.y,te[14]=position.z,te[15]=1,this;}decompose(position,quaternion,scale){let te=this.elements;position.x=te[12],position.y=te[13],position.z=te[14];let det=this.determinantAffine();if(det===0)return scale.set(1,1,1),quaternion.identity(),this;let sx=_v1$7.set(te[0],te[1],te[2]).length(),sy=_v1$7.set(te[4],te[5],te[6]).length(),sz=_v1$7.set(te[8],te[9],te[10]).length();det<0&&(sx=-sx),_m1$2.copy(this);let invSX=1/sx,invSY=1/sy,invSZ=1/sz;return _m1$2.elements[0]*=invSX,_m1$2.elements[1]*=invSX,_m1$2.elements[2]*=invSX,_m1$2.elements[4]*=invSY,_m1$2.elements[5]*=invSY,_m1$2.elements[6]*=invSY,_m1$2.elements[8]*=invSZ,_m1$2.elements[9]*=invSZ,_m1$2.elements[10]*=invSZ,quaternion.setFromRotationMatrix(_m1$2),scale.x=sx,scale.y=sy,scale.z=sz,this;}makePerspective(left,right,top,bottom,near,far,coordinateSystem=WebGLCoordinateSystem,reversedDepth=!1){let te=this.elements,x=2*near/(right-left),y=2*near/(top-bottom),a=(right+left)/(right-left),b=(top+bottom)/(top-bottom),c,d;if(reversedDepth)c=near/(far-near),d=far*near/(far-near);else if(coordinateSystem===WebGLCoordinateSystem)c=-(far+near)/(far-near),d=-2*far*near/(far-near);else if(coordinateSystem===WebGPUCoordinateSystem)c=-far/(far-near),d=-far*near/(far-near);else throw new Error(\"THREE.Matrix4.makePerspective(): Invalid coordinate system: \"+coordinateSystem);return te[0]=x,te[4]=0,te[8]=a,te[12]=0,te[1]=0,te[5]=y,te[9]=b,te[13]=0,te[2]=0,te[6]=0,te[10]=c,te[14]=d,te[3]=0,te[7]=0,te[11]=-1,te[15]=0,this;}makeOrthographic(left,right,top,bottom,near,far,coordinateSystem=WebGLCoordinateSystem,reversedDepth=!1){let te=this.elements,x=2/(right-left),y=2/(top-bottom),a=-(right+left)/(right-left),b=-(top+bottom)/(top-bottom),c,d;if(reversedDepth)c=1/(far-near),d=far/(far-near);else if(coordinateSystem===WebGLCoordinateSystem)c=-2/(far-near),d=-(far+near)/(far-near);else if(coordinateSystem===WebGPUCoordinateSystem)c=-1/(far-near),d=-near/(far-near);else throw new Error(\"THREE.Matrix4.makeOrthographic(): Invalid coordinate system: \"+coordinateSystem);return te[0]=x,te[4]=0,te[8]=0,te[12]=a,te[1]=0,te[5]=y,te[9]=0,te[13]=b,te[2]=0,te[6]=0,te[10]=c,te[14]=d,te[3]=0,te[7]=0,te[11]=0,te[15]=1,this;}equals(matrix){let te=this.elements,me=matrix.elements;for(let i=0;i<16;i++)if(te[i]!==me[i])return!1;return!0;}fromArray(array,offset=0){for(let i=0;i<16;i++)this.elements[i]=array[i+offset];return this;}toArray(array=[],offset=0){let te=this.elements;return array[offset]=te[0],array[offset+1]=te[1],array[offset+2]=te[2],array[offset+3]=te[3],array[offset+4]=te[4],array[offset+5]=te[5],array[offset+6]=te[6],array[offset+7]=te[7],array[offset+8]=te[8],array[offset+9]=te[9],array[offset+10]=te[10],array[offset+11]=te[11],array[offset+12]=te[12],array[offset+13]=te[13],array[offset+14]=te[14],array[offset+15]=te[15],array;}constructor(n11,n12,n13,n14,n21,n22,n23,n24,n31,n32,n33,n34,n41,n42,n43,n44){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],n11!==void 0&&this.set(n11,n12,n13,n14,n21,n22,n23,n24,n31,n32,n33,n34,n41,n42,n43,n44);}},__Matrix4.prototype.isMatrix4=!0,__Matrix4),_v1$7=new Vector3,_m1$2=new Matrix4,_zero=new Vector3(0,0,0),_one=new Vector3(1,1,1),_x=new Vector3,_y=new Vector3,_z=new Vector3,_matrix$2=new Matrix4,_quaternion$4=new Quaternion,Euler=class _Euler{get x(){return this._x;}set x(value){this._x=value,this._onChangeCallback();}get y(){return this._y;}set y(value){this._y=value,this._onChangeCallback();}get z(){return this._z;}set z(value){this._z=value,this._onChangeCallback();}get order(){return this._order;}set order(value){this._order=value,this._onChangeCallback();}set(x,y,z,order=this._order){return this._x=x,this._y=y,this._z=z,this._order=order,this._onChangeCallback(),this;}clone(){return new this.constructor(this._x,this._y,this._z,this._order);}copy(euler){return this._x=euler._x,this._y=euler._y,this._z=euler._z,this._order=euler._order,this._onChangeCallback(),this;}setFromRotationMatrix(m,order=this._order,update=!0){let te=m.elements,m11=te[0],m12=te[4],m13=te[8],m21=te[1],m22=te[5],m23=te[9],m31=te[2],m32=te[6],m33=te[10];switch(order){case\"XYZ\":this._y=Math.asin(clamp(m13,-1,1)),Math.abs(m13)<.9999999?(this._x=Math.atan2(-m23,m33),this._z=Math.atan2(-m12,m11)):(this._x=Math.atan2(m32,m22),this._z=0);break;case\"YXZ\":this._x=Math.asin(-clamp(m23,-1,1)),Math.abs(m23)<.9999999?(this._y=Math.atan2(m13,m33),this._z=Math.atan2(m21,m22)):(this._y=Math.atan2(-m31,m11),this._z=0);break;case\"ZXY\":this._x=Math.asin(clamp(m32,-1,1)),Math.abs(m32)<.9999999?(this._y=Math.atan2(-m31,m33),this._z=Math.atan2(-m12,m22)):(this._y=0,this._z=Math.atan2(m21,m11));break;case\"ZYX\":this._y=Math.asin(-clamp(m31,-1,1)),Math.abs(m31)<.9999999?(this._x=Math.atan2(m32,m33),this._z=Math.atan2(m21,m11)):(this._x=0,this._z=Math.atan2(-m12,m22));break;case\"YZX\":this._z=Math.asin(clamp(m21,-1,1)),Math.abs(m21)<.9999999?(this._x=Math.atan2(-m23,m22),this._y=Math.atan2(-m31,m11)):(this._x=0,this._y=Math.atan2(m13,m33));break;case\"XZY\":this._z=Math.asin(-clamp(m12,-1,1)),Math.abs(m12)<.9999999?(this._x=Math.atan2(m32,m22),this._y=Math.atan2(m13,m11)):(this._x=Math.atan2(-m23,m33),this._y=0);break;default:warn(\"Euler: .setFromRotationMatrix() encountered an unknown order: \"+order);}return this._order=order,update===!0&&this._onChangeCallback(),this;}setFromQuaternion(q,order,update){return _matrix$2.makeRotationFromQuaternion(q),this.setFromRotationMatrix(_matrix$2,order,update);}setFromVector3(v,order=this._order){return this.set(v.x,v.y,v.z,order);}reorder(newOrder){return _quaternion$4.setFromEuler(this),this.setFromQuaternion(_quaternion$4,newOrder);}equals(euler){return euler._x===this._x&&euler._y===this._y&&euler._z===this._z&&euler._order===this._order;}fromArray(array){return this._x=array[0],this._y=array[1],this._z=array[2],array[3]!==void 0&&(this._order=array[3]),this._onChangeCallback(),this;}toArray(array=[],offset=0){return array[offset]=this._x,array[offset+1]=this._y,array[offset+2]=this._z,array[offset+3]=this._order,array;}_onChange(callback){return this._onChangeCallback=callback,this;}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order;}constructor(x=0,y=0,z=0,order=_Euler.DEFAULT_ORDER){this.isEuler=!0,this._x=x,this._y=y,this._z=z,this._order=order;}};Euler.DEFAULT_ORDER=\"XYZ\";var Layers=class{set(layer){this.mask=(1<<layer|0)>>>0;}enable(layer){this.mask|=1<<layer|0;}enableAll(){this.mask=-1;}toggle(layer){this.mask^=1<<layer|0;}disable(layer){this.mask&=~(1<<layer|0);}disableAll(){this.mask=0;}test(layers){return(this.mask&layers.mask)!==0;}isEnabled(layer){return(this.mask&(1<<layer|0))!==0;}constructor(){this.mask=1;}},_object3DId=0,_v1$6=new Vector3,_q1=new Quaternion,_m1$1=new Matrix4,_target=new Vector3,_position$4=new Vector3,_scale$3=new Vector3,_quaternion$3=new Quaternion,_xAxis=new Vector3(1,0,0),_yAxis=new Vector3(0,1,0),_zAxis=new Vector3(0,0,1),_addedEvent={type:\"added\"},_removedEvent={type:\"removed\"},_childaddedEvent={type:\"childadded\",child:null},_childremovedEvent={type:\"childremoved\",child:null},Object3D=class _Object3D extends EventDispatcher{onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(matrix){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(matrix),this.matrix.decompose(this.position,this.quaternion,this.scale);}applyQuaternion(q){return this.quaternion.premultiply(q),this;}setRotationFromAxisAngle(axis,angle){this.quaternion.setFromAxisAngle(axis,angle);}setRotationFromEuler(euler){this.quaternion.setFromEuler(euler,!0);}setRotationFromMatrix(m){this.quaternion.setFromRotationMatrix(m);}setRotationFromQuaternion(q){this.quaternion.copy(q);}rotateOnAxis(axis,angle){return _q1.setFromAxisAngle(axis,angle),this.quaternion.multiply(_q1),this;}rotateOnWorldAxis(axis,angle){return _q1.setFromAxisAngle(axis,angle),this.quaternion.premultiply(_q1),this;}rotateX(angle){return this.rotateOnAxis(_xAxis,angle);}rotateY(angle){return this.rotateOnAxis(_yAxis,angle);}rotateZ(angle){return this.rotateOnAxis(_zAxis,angle);}translateOnAxis(axis,distance){return _v1$6.copy(axis).applyQuaternion(this.quaternion),this.position.add(_v1$6.multiplyScalar(distance)),this;}translateX(distance){return this.translateOnAxis(_xAxis,distance);}translateY(distance){return this.translateOnAxis(_yAxis,distance);}translateZ(distance){return this.translateOnAxis(_zAxis,distance);}localToWorld(vector){return this.updateWorldMatrix(!0,!1),vector.applyMatrix4(this.matrixWorld);}worldToLocal(vector){return this.updateWorldMatrix(!0,!1),vector.applyMatrix4(_m1$1.copy(this.matrixWorld).invert());}lookAt(x,y,z){x.isVector3?_target.copy(x):_target.set(x,y,z);let parent=this.parent;this.updateWorldMatrix(!0,!1),_position$4.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?_m1$1.lookAt(_position$4,_target,this.up):_m1$1.lookAt(_target,_position$4,this.up),this.quaternion.setFromRotationMatrix(_m1$1),parent&&(_m1$1.extractRotation(parent.matrixWorld),_q1.setFromRotationMatrix(_m1$1),this.quaternion.premultiply(_q1.invert()));}add(object){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.add(arguments[i]);return this;}return object===this?(error(\"Object3D.add: object can't be added as a child of itself.\",object),this):(object&&object.isObject3D?(object.removeFromParent(),object.parent=this,this.children.push(object),object.dispatchEvent(_addedEvent),_childaddedEvent.child=object,this.dispatchEvent(_childaddedEvent),_childaddedEvent.child=null):error(\"Object3D.add: object not an instance of THREE.Object3D.\",object),this);}remove(object){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.remove(arguments[i]);return this;}let index=this.children.indexOf(object);return index!==-1&&(object.parent=null,this.children.splice(index,1),object.dispatchEvent(_removedEvent),_childremovedEvent.child=object,this.dispatchEvent(_childremovedEvent),_childremovedEvent.child=null),this;}removeFromParent(){let parent=this.parent;return parent!==null&&parent.remove(this),this;}clear(){return this.remove(...this.children);}attach(object){return this.updateWorldMatrix(!0,!1),_m1$1.copy(this.matrixWorld).invert(),object.parent!==null&&(object.parent.updateWorldMatrix(!0,!1),_m1$1.multiply(object.parent.matrixWorld)),object.applyMatrix4(_m1$1),object.removeFromParent(),object.parent=this,this.children.push(object),object.updateWorldMatrix(!1,!0),object.dispatchEvent(_addedEvent),_childaddedEvent.child=object,this.dispatchEvent(_childaddedEvent),_childaddedEvent.child=null,this;}getObjectById(id){return this.getObjectByProperty(\"id\",id);}getObjectByName(name){return this.getObjectByProperty(\"name\",name);}getObjectByProperty(name,value){if(this[name]===value)return this;for(let i=0,l=this.children.length;i<l;i++){let object=this.children[i].getObjectByProperty(name,value);if(object!==void 0)return object;}}getObjectsByProperty(name,value,result=[]){this[name]===value&&result.push(this);let children=this.children;for(let i=0,l=children.length;i<l;i++)children[i].getObjectsByProperty(name,value,result);return result;}getWorldPosition(target){return this.updateWorldMatrix(!0,!1),target.setFromMatrixPosition(this.matrixWorld);}getWorldQuaternion(target){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(_position$4,target,_scale$3),target;}getWorldScale(target){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(_position$4,_quaternion$3,target),target;}getWorldDirection(target){this.updateWorldMatrix(!0,!1);let e=this.matrixWorld.elements;return target.set(e[8],e[9],e[10]).normalize();}raycast(){}intersectsFrustum(){}traverse(callback){callback(this);let children=this.children;for(let i=0,l=children.length;i<l;i++)children[i].traverse(callback);}traverseVisible(callback){if(this.visible===!1)return;callback(this);let children=this.children;for(let i=0,l=children.length;i<l;i++)children[i].traverseVisible(callback);}traverseAncestors(callback){let parent=this.parent;parent!==null&&(callback(parent),parent.traverseAncestors(callback));}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale);let pivot=this.pivot;if(pivot!==null){let px=pivot.x,py=pivot.y,pz=pivot.z,te=this.matrix.elements;te[12]+=px-te[0]*px-te[4]*py-te[8]*pz,te[13]+=py-te[1]*px-te[5]*py-te[9]*pz,te[14]+=pz-te[2]*px-te[6]*py-te[10]*pz;}this.matrixWorldNeedsUpdate=!0;}updateMatrixWorld(force){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||force)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,force=!0);let children=this.children;for(let i=0,l=children.length;i<l;i++)children[i].updateMatrixWorld(force);}updateWorldMatrix(updateParents,updateChildren,force=!1){let parent=this.parent;if(updateParents===!0&&parent!==null&&parent.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||force)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,force=!0),updateChildren===!0){let children=this.children;for(let i=0,l=children.length;i<l;i++)children[i].updateWorldMatrix(!1,!0,force);}}toJSON(meta){let isRootObject=meta===void 0||typeof meta==\"string\",output={};isRootObject&&(meta={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},output.metadata={version:4.7,type:\"Object\",generator:\"Object3D.toJSON\"});let object={};object.uuid=this.uuid,object.type=this.type,object.name=this.name,object.castShadow=this.castShadow,object.receiveShadow=this.receiveShadow,object.visible=this.visible,object.frustumCulled=this.frustumCulled,object.renderOrder=this.renderOrder,object.static=this.static,object.matrixAutoUpdate=this.matrixAutoUpdate,Object.keys(this.userData).length>0&&(object.userData=this.userData),object.layers=this.layers.mask,object.matrix=this.matrix.toArray(),object.up=this.up.toArray(),this.pivot!==null&&(object.pivot=this.pivot.toArray()),this.morphTargetDictionary!==void 0&&(object.morphTargetDictionary=Object.assign({},this.morphTargetDictionary)),this.morphTargetInfluences!==void 0&&(object.morphTargetInfluences=this.morphTargetInfluences.slice()),this.isInstancedMesh&&(object.type=\"InstancedMesh\",object.count=this.count,object.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(object.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(object.type=\"BatchedMesh\",object.perObjectFrustumCulled=this.perObjectFrustumCulled,object.sortObjects=this.sortObjects,object.drawRanges=this._drawRanges,object.reservedRanges=this._reservedRanges,object.geometryInfo=this._geometryInfo.map(info=>({...info,boundingBox:info.boundingBox?info.boundingBox.toJSON():void 0,boundingSphere:info.boundingSphere?info.boundingSphere.toJSON():void 0})),object.instanceInfo=this._instanceInfo.map(info=>({...info})),object.availableInstanceIds=this._availableInstanceIds.slice(),object.availableGeometryIds=this._availableGeometryIds.slice(),object.nextIndexStart=this._nextIndexStart,object.nextVertexStart=this._nextVertexStart,object.geometryCount=this._geometryCount,object.maxInstanceCount=this._maxInstanceCount,object.maxVertexCount=this._maxVertexCount,object.maxIndexCount=this._maxIndexCount,object.geometryInitialized=this._geometryInitialized,object.matricesTexture=this._matricesTexture.toJSON(meta),object.indirectTexture=this._indirectTexture.toJSON(meta),this._colorsTexture!==null&&(object.colorsTexture=this._colorsTexture.toJSON(meta)),this.boundingSphere!==null&&(object.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(object.boundingBox=this.boundingBox.toJSON()));function serialize(library,element){return library[element.uuid]===void 0&&(library[element.uuid]=element.toJSON(meta)),element.uuid;}if(this.isScene)this.background&&(this.background.isColor?object.background=this.background.toJSON():this.background.isTexture&&(object.background=this.background.toJSON(meta).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(object.environment=this.environment.toJSON(meta).uuid);else if(this.isMesh||this.isLine||this.isPoints){object.geometry=serialize(meta.geometries,this.geometry);let parameters=this.geometry.parameters;if(parameters!==void 0&&parameters.shapes!==void 0){let shapes=parameters.shapes;if(Array.isArray(shapes))for(let i=0,l=shapes.length;i<l;i++){let shape=shapes[i];serialize(meta.shapes,shape);}else serialize(meta.shapes,shapes);}}if(this.isSkinnedMesh&&(object.bindMode=this.bindMode,object.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(serialize(meta.skeletons,this.skeleton),object.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){let uuids=[];for(let i=0,l=this.material.length;i<l;i++)uuids.push(serialize(meta.materials,this.material[i]));object.material=uuids;}else object.material=serialize(meta.materials,this.material);if(this.children.length>0){object.children=[];for(let i=0;i<this.children.length;i++)object.children.push(this.children[i].toJSON(meta).object);}if(this.animations.length>0){object.animations=[];for(let i=0;i<this.animations.length;i++){let animation=this.animations[i];object.animations.push(serialize(meta.animations,animation));}}if(isRootObject){let geometries=extractFromCache(meta.geometries),materials=extractFromCache(meta.materials),textures=extractFromCache(meta.textures),images=extractFromCache(meta.images),shapes=extractFromCache(meta.shapes),skeletons=extractFromCache(meta.skeletons),animations=extractFromCache(meta.animations),nodes=extractFromCache(meta.nodes);geometries.length>0&&(output.geometries=geometries),materials.length>0&&(output.materials=materials),textures.length>0&&(output.textures=textures),images.length>0&&(output.images=images),shapes.length>0&&(output.shapes=shapes),skeletons.length>0&&(output.skeletons=skeletons),animations.length>0&&(output.animations=animations),nodes.length>0&&(output.nodes=nodes);}return output.object=object,output;function extractFromCache(cache){let values=[];for(let key in cache){let data=cache[key];delete data.metadata,values.push(data);}return values;}}clone(recursive){return new this.constructor().copy(this,recursive);}copy(source,recursive=!0){if(this.name=source.name,this.up.copy(source.up),this.position.copy(source.position),this.rotation.order=source.rotation.order,this.quaternion.copy(source.quaternion),this.scale.copy(source.scale),this.pivot=source.pivot!==null?source.pivot.clone():null,this.matrix.copy(source.matrix),this.matrixWorld.copy(source.matrixWorld),this.matrixAutoUpdate=source.matrixAutoUpdate,this.matrixWorldAutoUpdate=source.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=source.matrixWorldNeedsUpdate,this.layers.mask=source.layers.mask,this.visible=source.visible,this.castShadow=source.castShadow,this.receiveShadow=source.receiveShadow,this.frustumCulled=source.frustumCulled,this.renderOrder=source.renderOrder,this.static=source.static,this.animations=source.animations.slice(),this.userData=JSON.parse(JSON.stringify(source.userData)),recursive===!0)for(let i=0;i<source.children.length;i++){let child=source.children[i];this.add(child.clone());}return this;}dispose(){this.dispatchEvent({type:\"dispose\"});}constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,\"id\",{value:_object3DId++}),this.uuid=generateUUID(),this.name=\"\",this.type=\"Object3D\",this.parent=null,this.children=[],this.up=_Object3D.DEFAULT_UP.clone();let position=new Vector3,rotation=new Euler,quaternion=new Quaternion,scale=new Vector3(1,1,1);function onRotationChange(){quaternion.setFromEuler(rotation,!1);}function onQuaternionChange(){rotation.setFromQuaternion(quaternion,void 0,!1);}rotation._onChange(onRotationChange),quaternion._onChange(onQuaternionChange),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:position},rotation:{configurable:!0,enumerable:!0,value:rotation},quaternion:{configurable:!0,enumerable:!0,value:quaternion},scale:{configurable:!0,enumerable:!0,value:scale},modelViewMatrix:{value:new Matrix4},normalMatrix:{value:new Matrix3}}),this.matrix=new Matrix4,this.matrixWorld=new Matrix4,this.matrixAutoUpdate=_Object3D.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=_Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new Layers,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;}};Object3D.DEFAULT_UP=new Vector3(0,1,0);Object3D.DEFAULT_MATRIX_AUTO_UPDATE=!0;Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var Group=class extends Object3D{constructor(){super(),this.isGroup=!0,this.type=\"Group\";}},_moveEvent={type:\"move\"},WebXRController=class{getHandSpace(){return this._hand===null&&(this._hand=new Group,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 Group,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Vector3,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Vector3),this._targetRay;}getGripSpace(){return this._grip===null&&(this._grip=new Group,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Vector3,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Vector3,this._grip.eventsEnabled=!1),this._grip;}dispatchEvent(event){return this._targetRay!==null&&this._targetRay.dispatchEvent(event),this._grip!==null&&this._grip.dispatchEvent(event),this._hand!==null&&this._hand.dispatchEvent(event),this;}connect(inputSource){if(inputSource&&inputSource.hand){let hand=this._hand;if(hand)for(let inputjoint of inputSource.hand.values())this._getHandJoint(hand,inputjoint);}return this.dispatchEvent({type:\"connected\",data:inputSource}),this;}disconnect(inputSource){return this.dispatchEvent({type:\"disconnected\",data:inputSource}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this;}update(inputSource,frame,referenceSpace){let inputPose=null,gripPose=null,handPose=null,targetRay=this._targetRay,grip=this._grip,hand=this._hand;if(inputSource&&frame.session.visibilityState!==\"visible-blurred\"){if(hand&&inputSource.hand){handPose=!0;for(let inputjoint of inputSource.hand.values()){let jointPose=frame.getJointPose(inputjoint,referenceSpace),joint=this._getHandJoint(hand,inputjoint);jointPose!==null&&(joint.matrix.fromArray(jointPose.transform.matrix),joint.matrix.decompose(joint.position,joint.rotation,joint.scale),joint.matrixWorldNeedsUpdate=!0,joint.jointRadius=jointPose.radius),joint.visible=jointPose!==null;}let indexTip=hand.joints[\"index-finger-tip\"],thumbTip=hand.joints[\"thumb-tip\"],distance=indexTip.position.distanceTo(thumbTip.position),distanceToPinch=.02,threshold=.005;hand.inputState.pinching&&distance>distanceToPinch+threshold?(hand.inputState.pinching=!1,this.dispatchEvent({type:\"pinchend\",handedness:inputSource.handedness,target:this})):!hand.inputState.pinching&&distance<=distanceToPinch-threshold&&(hand.inputState.pinching=!0,this.dispatchEvent({type:\"pinchstart\",handedness:inputSource.handedness,target:this}));}else grip!==null&&inputSource.gripSpace&&(gripPose=frame.getPose(inputSource.gripSpace,referenceSpace),gripPose!==null&&(grip.matrix.fromArray(gripPose.transform.matrix),grip.matrix.decompose(grip.position,grip.rotation,grip.scale),grip.matrixWorldNeedsUpdate=!0,gripPose.linearVelocity?(grip.hasLinearVelocity=!0,grip.linearVelocity.copy(gripPose.linearVelocity)):grip.hasLinearVelocity=!1,gripPose.angularVelocity?(grip.hasAngularVelocity=!0,grip.angularVelocity.copy(gripPose.angularVelocity)):grip.hasAngularVelocity=!1,grip.eventsEnabled&&grip.dispatchEvent({type:\"gripUpdated\",data:inputSource,target:this})));targetRay!==null&&(inputPose=frame.getPose(inputSource.targetRaySpace,referenceSpace),inputPose===null&&gripPose!==null&&(inputPose=gripPose),inputPose!==null&&(targetRay.matrix.fromArray(inputPose.transform.matrix),targetRay.matrix.decompose(targetRay.position,targetRay.rotation,targetRay.scale),targetRay.matrixWorldNeedsUpdate=!0,inputPose.linearVelocity?(targetRay.hasLinearVelocity=!0,targetRay.linearVelocity.copy(inputPose.linearVelocity)):targetRay.hasLinearVelocity=!1,inputPose.angularVelocity?(targetRay.hasAngularVelocity=!0,targetRay.angularVelocity.copy(inputPose.angularVelocity)):targetRay.hasAngularVelocity=!1,this.dispatchEvent(_moveEvent)));}return targetRay!==null&&(targetRay.visible=inputPose!==null),grip!==null&&(grip.visible=gripPose!==null),hand!==null&&(hand.visible=handPose!==null),this;}_getHandJoint(hand,inputjoint){if(hand.joints[inputjoint.jointName]===void 0){let joint=new Group;joint.matrixAutoUpdate=!1,joint.visible=!1,hand.joints[inputjoint.jointName]=joint,hand.add(joint);}return hand.joints[inputjoint.jointName];}constructor(){this._targetRay=null,this._grip=null,this._hand=null;}},_colorKeywords={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},_hslA={h:0,s:0,l:0},_hslB={h:0,s:0,l:0};function hue2rgb(p,q,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?p+(q-p)*6*t:t<1/2?q:t<2/3?p+(q-p)*6*(2/3-t):p;}var Color=class{set(r,g,b){if(g===void 0&&b===void 0){let value=r;value&&value.isColor?this.copy(value):typeof value==\"number\"?this.setHex(value):typeof value==\"string\"&&this.setStyle(value);}else this.setRGB(r,g,b);return this;}setScalar(scalar){return this.r=scalar,this.g=scalar,this.b=scalar,this;}setHex(hex,colorSpace=SRGBColorSpace){return hex=Math.floor(hex),this.r=(hex>>16&255)/255,this.g=(hex>>8&255)/255,this.b=(hex&255)/255,ColorManagement.colorSpaceToWorking(this,colorSpace),this;}setRGB(r,g,b,colorSpace=ColorManagement.workingColorSpace){return this.r=r,this.g=g,this.b=b,ColorManagement.colorSpaceToWorking(this,colorSpace),this;}setHSL(h,s,l,colorSpace=ColorManagement.workingColorSpace){if(h=euclideanModulo(h,1),s=clamp(s,0,1),l=clamp(l,0,1),s===0)this.r=this.g=this.b=l;else{let p=l<=.5?l*(1+s):l+s-l*s,q=2*l-p;this.r=hue2rgb(q,p,h+1/3),this.g=hue2rgb(q,p,h),this.b=hue2rgb(q,p,h-1/3);}return ColorManagement.colorSpaceToWorking(this,colorSpace),this;}setStyle(style,colorSpace=SRGBColorSpace){function handleAlpha(string){string!==void 0&&parseFloat(string)<1&&warn(\"Color: Alpha component of \"+style+\" will be ignored.\");}let m;if(m=/^(\\w+)\\(([^\\)]*)\\)/.exec(style)){let color,name=m[1],components=m[2];switch(name){case\"rgb\":case\"rgba\":if(color=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(components))return handleAlpha(color[4]),this.setRGB(Math.min(255,parseInt(color[1],10))/255,Math.min(255,parseInt(color[2],10))/255,Math.min(255,parseInt(color[3],10))/255,colorSpace);if(color=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(components))return handleAlpha(color[4]),this.setRGB(Math.min(100,parseInt(color[1],10))/100,Math.min(100,parseInt(color[2],10))/100,Math.min(100,parseInt(color[3],10))/100,colorSpace);break;case\"hsl\":case\"hsla\":if(color=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(components))return handleAlpha(color[4]),this.setHSL(parseFloat(color[1])/360,parseFloat(color[2])/100,parseFloat(color[3])/100,colorSpace);break;default:warn(\"Color: Unknown color model \"+style);}}else if(m=/^\\#([A-Fa-f\\d]+)$/.exec(style)){let hex=m[1],size=hex.length;if(size===3)return this.setRGB(parseInt(hex.charAt(0),16)/15,parseInt(hex.charAt(1),16)/15,parseInt(hex.charAt(2),16)/15,colorSpace);if(size===6)return this.setHex(parseInt(hex,16),colorSpace);warn(\"Color: Invalid hex color \"+style);}else if(style&&style.length>0)return this.setColorName(style,colorSpace);return this;}setColorName(style,colorSpace=SRGBColorSpace){let hex=_colorKeywords[style.toLowerCase()];return hex!==void 0?this.setHex(hex,colorSpace):warn(\"Color: Unknown color \"+style),this;}clone(){return new this.constructor(this.r,this.g,this.b);}copy(color){return this.r=color.r,this.g=color.g,this.b=color.b,this;}copySRGBToLinear(color){return this.r=SRGBToLinear(color.r),this.g=SRGBToLinear(color.g),this.b=SRGBToLinear(color.b),this;}copyLinearToSRGB(color){return this.r=LinearToSRGB(color.r),this.g=LinearToSRGB(color.g),this.b=LinearToSRGB(color.b),this;}convertSRGBToLinear(){return this.copySRGBToLinear(this),this;}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this;}getHex(colorSpace=SRGBColorSpace){return ColorManagement.workingToColorSpace(_color.copy(this),colorSpace),Math.round(clamp(_color.r*255,0,255))*65536+Math.round(clamp(_color.g*255,0,255))*256+Math.round(clamp(_color.b*255,0,255));}getHexString(colorSpace=SRGBColorSpace){return(\"000000\"+this.getHex(colorSpace).toString(16)).slice(-6);}getHSL(target,colorSpace=ColorManagement.workingColorSpace){ColorManagement.workingToColorSpace(_color.copy(this),colorSpace);let r=_color.r,g=_color.g,b=_color.b,max=Math.max(r,g,b),min=Math.min(r,g,b),hue,saturation,lightness=(min+max)/2;if(min===max)hue=0,saturation=0;else{let delta=max-min;switch(saturation=lightness<=.5?delta/(max+min):delta/(2-max-min),max){case r:hue=(g-b)/delta+(g<b?6:0);break;case g:hue=(b-r)/delta+2;break;case b:hue=(r-g)/delta+4;break;}hue/=6;}return target.h=hue,target.s=saturation,target.l=lightness,target;}getRGB(target,colorSpace=ColorManagement.workingColorSpace){return ColorManagement.workingToColorSpace(_color.copy(this),colorSpace),target.r=_color.r,target.g=_color.g,target.b=_color.b,target;}getStyle(colorSpace=SRGBColorSpace){ColorManagement.workingToColorSpace(_color.copy(this),colorSpace);let r=_color.r,g=_color.g,b=_color.b;return colorSpace!==SRGBColorSpace?`color(${colorSpace} ${r.toFixed(3)} ${g.toFixed(3)} ${b.toFixed(3)})`:`rgb(${Math.round(r*255)},${Math.round(g*255)},${Math.round(b*255)})`;}offsetHSL(h,s,l){return this.getHSL(_hslA),this.setHSL(_hslA.h+h,_hslA.s+s,_hslA.l+l);}add(color){return this.r+=color.r,this.g+=color.g,this.b+=color.b,this;}addColors(color1,color2){return this.r=color1.r+color2.r,this.g=color1.g+color2.g,this.b=color1.b+color2.b,this;}addScalar(s){return this.r+=s,this.g+=s,this.b+=s,this;}sub(color){return this.r=Math.max(0,this.r-color.r),this.g=Math.max(0,this.g-color.g),this.b=Math.max(0,this.b-color.b),this;}multiply(color){return this.r*=color.r,this.g*=color.g,this.b*=color.b,this;}multiplyScalar(s){return this.r*=s,this.g*=s,this.b*=s,this;}lerp(color,alpha){return this.r+=(color.r-this.r)*alpha,this.g+=(color.g-this.g)*alpha,this.b+=(color.b-this.b)*alpha,this;}lerpColors(color1,color2,alpha){return this.r=color1.r+(color2.r-color1.r)*alpha,this.g=color1.g+(color2.g-color1.g)*alpha,this.b=color1.b+(color2.b-color1.b)*alpha,this;}lerpHSL(color,alpha){this.getHSL(_hslA),color.getHSL(_hslB);let h=lerp(_hslA.h,_hslB.h,alpha),s=lerp(_hslA.s,_hslB.s,alpha),l=lerp(_hslA.l,_hslB.l,alpha);return this.setHSL(h,s,l),this;}setFromVector3(v){return this.r=v.x,this.g=v.y,this.b=v.z,this;}applyMatrix3(m){let r=this.r,g=this.g,b=this.b,e=m.elements;return this.r=e[0]*r+e[3]*g+e[6]*b,this.g=e[1]*r+e[4]*g+e[7]*b,this.b=e[2]*r+e[5]*g+e[8]*b,this;}equals(c){return c.r===this.r&&c.g===this.g&&c.b===this.b;}fromArray(array,offset=0){return this.r=array[offset],this.g=array[offset+1],this.b=array[offset+2],this;}toArray(array=[],offset=0){return array[offset]=this.r,array[offset+1]=this.g,array[offset+2]=this.b,array;}fromBufferAttribute(attribute,index){return this.r=attribute.getX(index),this.g=attribute.getY(index),this.b=attribute.getZ(index),this;}toJSON(){return this.getHex();}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b;}constructor(r,g,b){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(r,g,b);}},_color=new Color;Color.NAMES=_colorKeywords;var Scene=class extends Object3D{copy(source,recursive){return super.copy(source,recursive),source.background!==null&&(this.background=source.background.clone()),source.environment!==null&&(this.environment=source.environment.clone()),source.fog!==null&&(this.fog=source.fog.clone()),this.backgroundBlurriness=source.backgroundBlurriness,this.backgroundIntensity=source.backgroundIntensity,this.backgroundRotation.copy(source.backgroundRotation),this.environmentIntensity=source.environmentIntensity,this.environmentRotation.copy(source.environmentRotation),source.overrideMaterial!==null&&(this.overrideMaterial=source.overrideMaterial.clone()),this.matrixAutoUpdate=source.matrixAutoUpdate,this;}toJSON(meta){let data=super.toJSON(meta);return this.fog!==null&&(data.object.fog=this.fog.toJSON()),data.object.backgroundBlurriness=this.backgroundBlurriness,data.object.backgroundIntensity=this.backgroundIntensity,data.object.backgroundRotation=this.backgroundRotation.toArray(),data.object.environmentIntensity=this.environmentIntensity,data.object.environmentRotation=this.environmentRotation.toArray(),data;}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 Euler,this.environmentIntensity=1,this.environmentRotation=new Euler,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}));}},_v0$2=new Vector3,_v1$5=new Vector3,_v2$4=new Vector3,_v3$2=new Vector3,_vab=new Vector3,_vac=new Vector3,_vbc=new Vector3,_vap=new Vector3,_vbp=new Vector3,_vcp=new Vector3,_v40=new Vector4,_v41=new Vector4,_v42=new Vector4,Triangle=class _Triangle{static getNormal(a,b,c,target){target.subVectors(c,b),_v0$2.subVectors(a,b),target.cross(_v0$2);let targetLengthSq=target.lengthSq();return targetLengthSq>0?target.multiplyScalar(1/Math.sqrt(targetLengthSq)):target.set(0,0,0);}static getBarycoord(point,a,b,c,target){_v0$2.subVectors(c,a),_v1$5.subVectors(b,a),_v2$4.subVectors(point,a);let dot00=_v0$2.dot(_v0$2),dot01=_v0$2.dot(_v1$5),dot02=_v0$2.dot(_v2$4),dot11=_v1$5.dot(_v1$5),dot12=_v1$5.dot(_v2$4),denom=dot00*dot11-dot01*dot01;if(denom===0)return target.set(0,0,0),null;let invDenom=1/denom,u=(dot11*dot02-dot01*dot12)*invDenom,v=(dot00*dot12-dot01*dot02)*invDenom;return target.set(1-u-v,v,u);}static containsPoint(point,a,b,c){return this.getBarycoord(point,a,b,c,_v3$2)===null?!1:_v3$2.x>=0&&_v3$2.y>=0&&_v3$2.x+_v3$2.y<=1;}static getInterpolation(point,p1,p2,p3,v1,v2,v3,target){return this.getBarycoord(point,p1,p2,p3,_v3$2)===null?(target.x=0,target.y=0,\"z\"in target&&(target.z=0),\"w\"in target&&(target.w=0),null):(target.setScalar(0),target.addScaledVector(v1,_v3$2.x),target.addScaledVector(v2,_v3$2.y),target.addScaledVector(v3,_v3$2.z),target);}static getInterpolatedAttribute(attr,i1,i2,i3,barycoord,target){return _v40.setScalar(0),_v41.setScalar(0),_v42.setScalar(0),_v40.fromBufferAttribute(attr,i1),_v41.fromBufferAttribute(attr,i2),_v42.fromBufferAttribute(attr,i3),target.setScalar(0),target.addScaledVector(_v40,barycoord.x),target.addScaledVector(_v41,barycoord.y),target.addScaledVector(_v42,barycoord.z),target;}static isFrontFacing(a,b,c,direction){return _v0$2.subVectors(c,b),_v1$5.subVectors(a,b),_v0$2.cross(_v1$5).dot(direction)<0;}set(a,b,c){return this.a.copy(a),this.b.copy(b),this.c.copy(c),this;}setFromPointsAndIndices(points,i0,i1,i2){return this.a.copy(points[i0]),this.b.copy(points[i1]),this.c.copy(points[i2]),this;}setFromAttributeAndIndices(attribute,i0,i1,i2){return this.a.fromBufferAttribute(attribute,i0),this.b.fromBufferAttribute(attribute,i1),this.c.fromBufferAttribute(attribute,i2),this;}clone(){return new this.constructor().copy(this);}copy(triangle){return this.a.copy(triangle.a),this.b.copy(triangle.b),this.c.copy(triangle.c),this;}getArea(){return _v0$2.subVectors(this.c,this.b),_v1$5.subVectors(this.a,this.b),_v0$2.cross(_v1$5).length()*.5;}getMidpoint(target){return target.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3);}getNormal(target){return _Triangle.getNormal(this.a,this.b,this.c,target);}getPlane(target){return target.setFromCoplanarPoints(this.a,this.b,this.c);}getBarycoord(point,target){return _Triangle.getBarycoord(point,this.a,this.b,this.c,target);}getInterpolation(point,v1,v2,v3,target){return _Triangle.getInterpolation(point,this.a,this.b,this.c,v1,v2,v3,target);}containsPoint(point){return _Triangle.containsPoint(point,this.a,this.b,this.c);}isFrontFacing(direction){return _Triangle.isFrontFacing(this.a,this.b,this.c,direction);}intersectsBox(box){return box.intersectsTriangle(this);}closestPointToPoint(p,target){let a=this.a,b=this.b,c=this.c,v,w;_vab.subVectors(b,a),_vac.subVectors(c,a),_vap.subVectors(p,a);let d1=_vab.dot(_vap),d2=_vac.dot(_vap);if(d1<=0&&d2<=0)return target.copy(a);_vbp.subVectors(p,b);let d3=_vab.dot(_vbp),d4=_vac.dot(_vbp);if(d3>=0&&d4<=d3)return target.copy(b);let vc=d1*d4-d3*d2;if(vc<=0&&d1>=0&&d3<=0)return v=d1/(d1-d3),target.copy(a).addScaledVector(_vab,v);_vcp.subVectors(p,c);let d5=_vab.dot(_vcp),d6=_vac.dot(_vcp);if(d6>=0&&d5<=d6)return target.copy(c);let vb=d5*d2-d1*d6;if(vb<=0&&d2>=0&&d6<=0)return w=d2/(d2-d6),target.copy(a).addScaledVector(_vac,w);let va=d3*d6-d5*d4;if(va<=0&&d4-d3>=0&&d5-d6>=0)return _vbc.subVectors(c,b),w=(d4-d3)/(d4-d3+(d5-d6)),target.copy(b).addScaledVector(_vbc,w);let denom=1/(va+vb+vc);return v=vb*denom,w=vc*denom,target.copy(a).addScaledVector(_vab,v).addScaledVector(_vac,w);}equals(triangle){return triangle.a.equals(this.a)&&triangle.b.equals(this.b)&&triangle.c.equals(this.c);}constructor(a=new Vector3,b=new Vector3,c=new Vector3){this.a=a,this.b=b,this.c=c;}},Box3=class{set(min,max){return this.min.copy(min),this.max.copy(max),this;}setFromArray(array){this.makeEmpty();for(let i=0,il=array.length;i<il;i+=3)this.expandByPoint(_vector$b.fromArray(array,i));return this;}setFromBufferAttribute(attribute){this.makeEmpty();for(let i=0,il=attribute.count;i<il;i++)this.expandByPoint(_vector$b.fromBufferAttribute(attribute,i));return this;}setFromPoints(points){this.makeEmpty();for(let i=0,il=points.length;i<il;i++)this.expandByPoint(points[i]);return this;}setFromCenterAndSize(center,size){let halfSize=_vector$b.copy(size).multiplyScalar(.5);return this.min.copy(center).sub(halfSize),this.max.copy(center).add(halfSize),this;}setFromObject(object,precise=!1){return this.makeEmpty(),this.expandByObject(object,precise);}clone(){return new this.constructor().copy(this);}copy(box){return this.min.copy(box.min),this.max.copy(box.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(target){return this.isEmpty()?target.set(0,0,0):target.addVectors(this.min,this.max).multiplyScalar(.5);}getSize(target){return this.isEmpty()?target.set(0,0,0):target.subVectors(this.max,this.min);}expandByPoint(point){return this.min.min(point),this.max.max(point),this;}expandByVector(vector){return this.min.sub(vector),this.max.add(vector),this;}expandByScalar(scalar){return this.min.addScalar(-scalar),this.max.addScalar(scalar),this;}expandByObject(object,precise=!1){object.updateWorldMatrix(!1,!1);let geometry=object.geometry;if(geometry!==void 0){let positionAttribute=geometry.getAttribute(\"position\");if(precise===!0&&positionAttribute!==void 0&&object.isInstancedMesh!==!0)for(let i=0,l=positionAttribute.count;i<l;i++)object.isMesh===!0?object.getVertexPosition(i,_vector$b):_vector$b.fromBufferAttribute(positionAttribute,i),_vector$b.applyMatrix4(object.matrixWorld),this.expandByPoint(_vector$b);else object.boundingBox!==void 0?(object.boundingBox===null&&object.computeBoundingBox(),_box$4.copy(object.boundingBox)):(geometry.boundingBox===null&&geometry.computeBoundingBox(),_box$4.copy(geometry.boundingBox)),_box$4.applyMatrix4(object.matrixWorld),this.union(_box$4);}let children=object.children;for(let i=0,l=children.length;i<l;i++)this.expandByObject(children[i],precise);return this;}containsPoint(point){return point.x>=this.min.x&&point.x<=this.max.x&&point.y>=this.min.y&&point.y<=this.max.y&&point.z>=this.min.z&&point.z<=this.max.z;}containsBox(box){return this.min.x<=box.min.x&&box.max.x<=this.max.x&&this.min.y<=box.min.y&&box.max.y<=this.max.y&&this.min.z<=box.min.z&&box.max.z<=this.max.z;}getParameter(point,target){return target.set((point.x-this.min.x)/(this.max.x-this.min.x),(point.y-this.min.y)/(this.max.y-this.min.y),(point.z-this.min.z)/(this.max.z-this.min.z));}intersectsBox(box){return box.max.x>=this.min.x&&box.min.x<=this.max.x&&box.max.y>=this.min.y&&box.min.y<=this.max.y&&box.max.z>=this.min.z&&box.min.z<=this.max.z;}intersectsSphere(sphere){return this.clampPoint(sphere.center,_vector$b),_vector$b.distanceToSquared(sphere.center)<=sphere.radius*sphere.radius;}intersectsPlane(plane){let min,max;return plane.normal.x>0?(min=plane.normal.x*this.min.x,max=plane.normal.x*this.max.x):(min=plane.normal.x*this.max.x,max=plane.normal.x*this.min.x),plane.normal.y>0?(min+=plane.normal.y*this.min.y,max+=plane.normal.y*this.max.y):(min+=plane.normal.y*this.max.y,max+=plane.normal.y*this.min.y),plane.normal.z>0?(min+=plane.normal.z*this.min.z,max+=plane.normal.z*this.max.z):(min+=plane.normal.z*this.max.z,max+=plane.normal.z*this.min.z),min<=-plane.constant&&max>=-plane.constant;}intersectsTriangle(triangle){if(this.isEmpty())return!1;this.getCenter(_center),_extents.subVectors(this.max,_center),_v0$1.subVectors(triangle.a,_center),_v1$4.subVectors(triangle.b,_center),_v2$3.subVectors(triangle.c,_center),_f0.subVectors(_v1$4,_v0$1),_f1.subVectors(_v2$3,_v1$4),_f2.subVectors(_v0$1,_v2$3);let axes=[0,-_f0.z,_f0.y,0,-_f1.z,_f1.y,0,-_f2.z,_f2.y,_f0.z,0,-_f0.x,_f1.z,0,-_f1.x,_f2.z,0,-_f2.x,-_f0.y,_f0.x,0,-_f1.y,_f1.x,0,-_f2.y,_f2.x,0];return!satForAxes(axes,_v0$1,_v1$4,_v2$3,_extents)||(axes=[1,0,0,0,1,0,0,0,1],!satForAxes(axes,_v0$1,_v1$4,_v2$3,_extents))?!1:(_triangleNormal.crossVectors(_f0,_f1),axes=[_triangleNormal.x,_triangleNormal.y,_triangleNormal.z],satForAxes(axes,_v0$1,_v1$4,_v2$3,_extents));}clampPoint(point,target){return target.copy(point).clamp(this.min,this.max);}distanceToPoint(point){return this.clampPoint(point,_vector$b).distanceTo(point);}getBoundingSphere(target){return this.isEmpty()?target.makeEmpty():(this.getCenter(target.center),target.radius=this.getSize(_vector$b).length()*.5),target;}intersect(box){return this.min.max(box.min),this.max.min(box.max),this.isEmpty()&&this.makeEmpty(),this;}union(box){return this.min.min(box.min),this.max.max(box.max),this;}applyMatrix4(matrix){return this.isEmpty()?this:(_points[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(matrix),_points[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(matrix),_points[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(matrix),_points[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(matrix),_points[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(matrix),_points[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(matrix),_points[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(matrix),_points[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(matrix),this.setFromPoints(_points),this);}translate(offset){return this.min.add(offset),this.max.add(offset),this;}equals(box){return box.min.equals(this.min)&&box.max.equals(this.max);}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()};}fromJSON(json){return this.min.fromArray(json.min),this.max.fromArray(json.max),this;}constructor(min=new Vector3(1/0,1/0,1/0),max=new Vector3(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=min,this.max=max;}},_points=[new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3],_vector$b=new Vector3,_box$4=new Box3,_v0$1=new Vector3,_v1$4=new Vector3,_v2$3=new Vector3,_f0=new Vector3,_f1=new Vector3,_f2=new Vector3,_center=new Vector3,_extents=new Vector3,_triangleNormal=new Vector3,_testAxis=new Vector3;function satForAxes(axes,v0,v1,v2,extents){for(let i=0,j=axes.length-3;i<=j;i+=3){_testAxis.fromArray(axes,i);let r=extents.x*Math.abs(_testAxis.x)+extents.y*Math.abs(_testAxis.y)+extents.z*Math.abs(_testAxis.z),p0=v0.dot(_testAxis),p1=v1.dot(_testAxis),p2=v2.dot(_testAxis);if(Math.max(-Math.max(p0,p1,p2),Math.min(p0,p1,p2))>r)return!1;}return!0;}var _vector$a=new Vector3,_vector2$1=new Vector2,_id$2=0,BufferAttribute=class extends EventDispatcher{onUploadCallback(){}set needsUpdate(value){value===!0&&this.version++;}setUsage(value){return this.usage=value,this;}addUpdateRange(start,count){this.updateRanges.push({start,count});}clearUpdateRanges(){this.updateRanges.length=0;}copy(source){return this.name=source.name,this.array=new source.array.constructor(source.array),this.itemSize=source.itemSize,this.count=source.count,this.normalized=source.normalized,this.usage=source.usage,this.gpuType=source.gpuType,this;}copyAt(index1,attribute,index2){index1*=this.itemSize,index2*=attribute.itemSize;for(let i=0,l=this.itemSize;i<l;i++)this.array[index1+i]=attribute.array[index2+i];return this;}copyArray(array){return this.array.set(array),this;}applyMatrix3(m){if(this.itemSize===2)for(let i=0,l=this.count;i<l;i++)_vector2$1.fromBufferAttribute(this,i),_vector2$1.applyMatrix3(m),this.setXY(i,_vector2$1.x,_vector2$1.y);else if(this.itemSize===3)for(let i=0,l=this.count;i<l;i++)_vector$a.fromBufferAttribute(this,i),_vector$a.applyMatrix3(m),this.setXYZ(i,_vector$a.x,_vector$a.y,_vector$a.z);return this;}applyMatrix4(m){for(let i=0,l=this.count;i<l;i++)_vector$a.fromBufferAttribute(this,i),_vector$a.applyMatrix4(m),this.setXYZ(i,_vector$a.x,_vector$a.y,_vector$a.z);return this;}applyNormalMatrix(m){for(let i=0,l=this.count;i<l;i++)_vector$a.fromBufferAttribute(this,i),_vector$a.applyNormalMatrix(m),this.setXYZ(i,_vector$a.x,_vector$a.y,_vector$a.z);return this;}transformDirection(m){for(let i=0,l=this.count;i<l;i++)_vector$a.fromBufferAttribute(this,i),_vector$a.transformDirection(m),this.setXYZ(i,_vector$a.x,_vector$a.y,_vector$a.z);return this;}set(value,offset=0){return this.array.set(value,offset),this;}getComponent(index,component){let value=this.array[index*this.itemSize+component];return this.normalized&&(value=denormalize(value,this.array)),value;}setComponent(index,component,value){return this.normalized&&(value=normalize(value,this.array)),this.array[index*this.itemSize+component]=value,this;}getX(index){let x=this.array[index*this.itemSize];return this.normalized&&(x=denormalize(x,this.array)),x;}setX(index,x){return this.normalized&&(x=normalize(x,this.array)),this.array[index*this.itemSize]=x,this;}getY(index){let y=this.array[index*this.itemSize+1];return this.normalized&&(y=denormalize(y,this.array)),y;}setY(index,y){return this.normalized&&(y=normalize(y,this.array)),this.array[index*this.itemSize+1]=y,this;}getZ(index){let z=this.array[index*this.itemSize+2];return this.normalized&&(z=denormalize(z,this.array)),z;}setZ(index,z){return this.normalized&&(z=normalize(z,this.array)),this.array[index*this.itemSize+2]=z,this;}getW(index){let w=this.array[index*this.itemSize+3];return this.normalized&&(w=denormalize(w,this.array)),w;}setW(index,w){return this.normalized&&(w=normalize(w,this.array)),this.array[index*this.itemSize+3]=w,this;}setXY(index,x,y){return index*=this.itemSize,this.normalized&&(x=normalize(x,this.array),y=normalize(y,this.array)),this.array[index+0]=x,this.array[index+1]=y,this;}setXYZ(index,x,y,z){return index*=this.itemSize,this.normalized&&(x=normalize(x,this.array),y=normalize(y,this.array),z=normalize(z,this.array)),this.array[index+0]=x,this.array[index+1]=y,this.array[index+2]=z,this;}setXYZW(index,x,y,z,w){return index*=this.itemSize,this.normalized&&(x=normalize(x,this.array),y=normalize(y,this.array),z=normalize(z,this.array),w=normalize(w,this.array)),this.array[index+0]=x,this.array[index+1]=y,this.array[index+2]=z,this.array[index+3]=w,this;}onUpload(callback){return this.onUploadCallback=callback,this;}clone(){return new this.constructor(this.array,this.itemSize).copy(this);}toJSON(){let data={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return data.name=this.name,data.usage=this.usage,data.gpuType=this.gpuType,data;}dispose(){this.dispatchEvent({type:\"dispose\"});}constructor(array,itemSize,normalized=!1){if(super(),Array.isArray(array))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.isBufferAttribute=!0,Object.defineProperty(this,\"id\",{value:_id$2++}),this.name=\"\",this.array=array,this.itemSize=itemSize,this.count=array!==void 0?array.length/itemSize:0,this.normalized=normalized,this.usage=StaticDrawUsage,this.updateRanges=[],this.gpuType=FloatType,this.version=0;}};var Uint16BufferAttribute=class extends BufferAttribute{constructor(array,itemSize,normalized){super(new Uint16Array(array),itemSize,normalized);}};var Uint32BufferAttribute=class extends BufferAttribute{constructor(array,itemSize,normalized){super(new Uint32Array(array),itemSize,normalized);}};var Float32BufferAttribute=class extends BufferAttribute{constructor(array,itemSize,normalized){super(new Float32Array(array),itemSize,normalized);}},_box$3=new Box3,_v1$3=new Vector3,_v2$2=new Vector3,Sphere=class{set(center,radius){return this.center.copy(center),this.radius=radius,this;}setFromPoints(points,optionalCenter){let center=this.center;optionalCenter!==void 0?center.copy(optionalCenter):_box$3.setFromPoints(points).getCenter(center);let maxRadiusSq=0;for(let i=0,il=points.length;i<il;i++)maxRadiusSq=Math.max(maxRadiusSq,center.distanceToSquared(points[i]));return this.radius=Math.sqrt(maxRadiusSq),this;}copy(sphere){return this.center.copy(sphere.center),this.radius=sphere.radius,this;}isEmpty(){return this.radius<0;}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this;}containsPoint(point){return point.distanceToSquared(this.center)<=this.radius*this.radius;}distanceToPoint(point){return point.distanceTo(this.center)-this.radius;}intersectsSphere(sphere){let radiusSum=this.radius+sphere.radius;return sphere.center.distanceToSquared(this.center)<=radiusSum*radiusSum;}intersectsBox(box){return box.intersectsSphere(this);}intersectsPlane(plane){return Math.abs(plane.distanceToPoint(this.center))<=this.radius;}clampPoint(point,target){let deltaLengthSq=this.center.distanceToSquared(point);return target.copy(point),deltaLengthSq>this.radius*this.radius&&(target.sub(this.center).normalize(),target.multiplyScalar(this.radius).add(this.center)),target;}getBoundingBox(target){return this.isEmpty()?(target.makeEmpty(),target):(target.set(this.center,this.center),target.expandByScalar(this.radius),target);}applyMatrix4(matrix){return this.center.applyMatrix4(matrix),this.radius=this.radius*matrix.getMaxScaleOnAxis(),this;}translate(offset){return this.center.add(offset),this;}expandByPoint(point){if(this.isEmpty())return this.center.copy(point),this.radius=0,this;_v1$3.subVectors(point,this.center);let lengthSq=_v1$3.lengthSq();if(lengthSq>this.radius*this.radius){let length=Math.sqrt(lengthSq),delta=(length-this.radius)*.5;this.center.addScaledVector(_v1$3,delta/length),this.radius+=delta;}return this;}union(sphere){return sphere.isEmpty()?this:this.isEmpty()?(this.copy(sphere),this):(this.center.equals(sphere.center)===!0?this.radius=Math.max(this.radius,sphere.radius):(_v2$2.subVectors(sphere.center,this.center).setLength(sphere.radius),this.expandByPoint(_v1$3.copy(sphere.center).add(_v2$2)),this.expandByPoint(_v1$3.copy(sphere.center).sub(_v2$2))),this);}equals(sphere){return sphere.center.equals(this.center)&&sphere.radius===this.radius;}clone(){return new this.constructor().copy(this);}toJSON(){return{radius:this.radius,center:this.center.toArray()};}fromJSON(json){return this.radius=json.radius,this.center.fromArray(json.center),this;}constructor(center=new Vector3,radius=-1){this.isSphere=!0,this.center=center,this.radius=radius;}},_id$1=0,_m1=new Matrix4,_obj=new Object3D,_offset=new Vector3,_box$2=new Box3,_boxMorphTargets=new Box3,_vector$9=new Vector3,BufferGeometry=class _BufferGeometry extends EventDispatcher{getIndex(){return this.index;}setIndex(index){return Array.isArray(index)?this.index=new(arrayNeedsUint32(index)?Uint32BufferAttribute:Uint16BufferAttribute)(index,1):this.index=index,this;}setIndirect(indirect,indirectOffset=0){return this.indirect=indirect,this.indirectOffset=indirectOffset,this;}getIndirect(){return this.indirect;}getAttribute(name){return this.attributes[name];}setAttribute(name,attribute){return this.attributes[name]=attribute,this;}deleteAttribute(name){return delete this.attributes[name],this;}hasAttribute(name){return this.attributes[name]!==void 0;}addGroup(start,count,materialIndex=0){this.groups.push({start,count,materialIndex});}clearGroups(){this.groups=[];}setDrawRange(start,count){this.drawRange.start=start,this.drawRange.count=count;}applyMatrix4(matrix){let position=this.attributes.position;position!==void 0&&(position.applyMatrix4(matrix),position.needsUpdate=!0);let normal=this.attributes.normal;if(normal!==void 0){let normalMatrix=new Matrix3().getNormalMatrix(matrix);normal.applyNormalMatrix(normalMatrix),normal.needsUpdate=!0;}let tangent=this.attributes.tangent;return tangent!==void 0&&(tangent.transformDirection(matrix),tangent.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this._transformed=!0,this;}applyQuaternion(q){return _m1.makeRotationFromQuaternion(q),this.applyMatrix4(_m1),this;}rotateX(angle){return _m1.makeRotationX(angle),this.applyMatrix4(_m1),this;}rotateY(angle){return _m1.makeRotationY(angle),this.applyMatrix4(_m1),this;}rotateZ(angle){return _m1.makeRotationZ(angle),this.applyMatrix4(_m1),this;}translate(x,y,z){return _m1.makeTranslation(x,y,z),this.applyMatrix4(_m1),this;}scale(x,y,z){return _m1.makeScale(x,y,z),this.applyMatrix4(_m1),this;}lookAt(vector){return _obj.lookAt(vector),_obj.updateMatrix(),this.applyMatrix4(_obj.matrix),this;}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(_offset).negate(),this.translate(_offset.x,_offset.y,_offset.z),this;}setFromPoints(points){let positionAttribute=this.getAttribute(\"position\");if(positionAttribute===void 0){let position=[];for(let i=0,l=points.length;i<l;i++){let point=points[i];position.push(point.x,point.y,point.z||0);}this.setAttribute(\"position\",new Float32BufferAttribute(position,3));}else{let l=Math.min(points.length,positionAttribute.count);for(let i=0;i<l;i++){let point=points[i];positionAttribute.setXYZ(i,point.x,point.y,point.z||0);}points.length>positionAttribute.count&&warn(\"BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.\"),positionAttribute.needsUpdate=!0;}return this;}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Box3);let position=this.attributes.position,morphAttributesPosition=this.morphAttributes.position;if(position&&position.isGLBufferAttribute){error(\"BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.\",this),this.boundingBox.set(new Vector3(-1/0,-1/0,-1/0),new Vector3(1/0,1/0,1/0));return;}if(position!==void 0){if(this.boundingBox.setFromBufferAttribute(position),morphAttributesPosition)for(let i=0,il=morphAttributesPosition.length;i<il;i++){let morphAttribute=morphAttributesPosition[i];_box$2.setFromBufferAttribute(morphAttribute),this.morphTargetsRelative?(_vector$9.addVectors(this.boundingBox.min,_box$2.min),this.boundingBox.expandByPoint(_vector$9),_vector$9.addVectors(this.boundingBox.max,_box$2.max),this.boundingBox.expandByPoint(_vector$9)):(this.boundingBox.expandByPoint(_box$2.min),this.boundingBox.expandByPoint(_box$2.max));}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&error('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 Sphere);let position=this.attributes.position,morphAttributesPosition=this.morphAttributes.position;if(position&&position.isGLBufferAttribute){error(\"BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.\",this),this.boundingSphere.set(new Vector3,1/0);return;}if(position){let center=this.boundingSphere.center;if(_box$2.setFromBufferAttribute(position),morphAttributesPosition)for(let i=0,il=morphAttributesPosition.length;i<il;i++){let morphAttribute=morphAttributesPosition[i];_boxMorphTargets.setFromBufferAttribute(morphAttribute),this.morphTargetsRelative?(_vector$9.addVectors(_box$2.min,_boxMorphTargets.min),_box$2.expandByPoint(_vector$9),_vector$9.addVectors(_box$2.max,_boxMorphTargets.max),_box$2.expandByPoint(_vector$9)):(_box$2.expandByPoint(_boxMorphTargets.min),_box$2.expandByPoint(_boxMorphTargets.max));}_box$2.getCenter(center);let maxRadiusSq=0;for(let i=0,il=position.count;i<il;i++)_vector$9.fromBufferAttribute(position,i),maxRadiusSq=Math.max(maxRadiusSq,center.distanceToSquared(_vector$9));if(morphAttributesPosition)for(let i=0,il=morphAttributesPosition.length;i<il;i++){let morphAttribute=morphAttributesPosition[i],morphTargetsRelative=this.morphTargetsRelative;for(let j=0,jl=morphAttribute.count;j<jl;j++)_vector$9.fromBufferAttribute(morphAttribute,j),morphTargetsRelative&&(_offset.fromBufferAttribute(position,j),_vector$9.add(_offset)),maxRadiusSq=Math.max(maxRadiusSq,center.distanceToSquared(_vector$9));}this.boundingSphere.radius=Math.sqrt(maxRadiusSq),isNaN(this.boundingSphere.radius)&&error('BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.',this);}}computeTangents(){let index=this.index,attributes=this.attributes;if(index===null||attributes.position===void 0||attributes.normal===void 0||attributes.uv===void 0){error(\"BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");return;}let positionAttribute=attributes.position,normalAttribute=attributes.normal,uvAttribute=attributes.uv,tangentAttribute=this.getAttribute(\"tangent\");(tangentAttribute===void 0||tangentAttribute.count!==positionAttribute.count)&&(tangentAttribute=new BufferAttribute(new Float32Array(4*positionAttribute.count),4),this.setAttribute(\"tangent\",tangentAttribute));let tan1=[],tan2=[];for(let i=0;i<positionAttribute.count;i++)tan1[i]=new Vector3,tan2[i]=new Vector3;let vA=new Vector3,vB=new Vector3,vC=new Vector3,uvA=new Vector2,uvB=new Vector2,uvC=new Vector2,sdir=new Vector3,tdir=new Vector3;function handleTriangle(a,b,c){vA.fromBufferAttribute(positionAttribute,a),vB.fromBufferAttribute(positionAttribute,b),vC.fromBufferAttribute(positionAttribute,c),uvA.fromBufferAttribute(uvAttribute,a),uvB.fromBufferAttribute(uvAttribute,b),uvC.fromBufferAttribute(uvAttribute,c),vB.sub(vA),vC.sub(vA),uvB.sub(uvA),uvC.sub(uvA);let r=1/(uvB.x*uvC.y-uvC.x*uvB.y);isFinite(r)&&(sdir.copy(vB).multiplyScalar(uvC.y).addScaledVector(vC,-uvB.y).multiplyScalar(r),tdir.copy(vC).multiplyScalar(uvB.x).addScaledVector(vB,-uvC.x).multiplyScalar(r),tan1[a].add(sdir),tan1[b].add(sdir),tan1[c].add(sdir),tan2[a].add(tdir),tan2[b].add(tdir),tan2[c].add(tdir));}let groups=this.groups;groups.length===0&&(groups=[{start:0,count:index.count}]);for(let i=0,il=groups.length;i<il;++i){let group=groups[i],start=group.start,count=group.count;for(let j=start,jl=start+count;j<jl;j+=3)handleTriangle(index.getX(j+0),index.getX(j+1),index.getX(j+2));}let tmp=new Vector3,tmp2=new Vector3,n=new Vector3,n2=new Vector3;function handleVertex(v){n.fromBufferAttribute(normalAttribute,v),n2.copy(n);let t=tan1[v];tmp.copy(t),tmp.sub(n.multiplyScalar(n.dot(t))).normalize(),tmp2.crossVectors(n2,t);let w=tmp2.dot(tan2[v])<0?-1:1;tangentAttribute.setXYZW(v,tmp.x,tmp.y,tmp.z,w);}for(let i=0,il=groups.length;i<il;++i){let group=groups[i],start=group.start,count=group.count;for(let j=start,jl=start+count;j<jl;j+=3)handleVertex(index.getX(j+0)),handleVertex(index.getX(j+1)),handleVertex(index.getX(j+2));}this._transformed=!0;}computeVertexNormals(){let index=this.index,positionAttribute=this.getAttribute(\"position\");if(positionAttribute!==void 0){let normalAttribute=this.getAttribute(\"normal\");if(normalAttribute===void 0||normalAttribute.count!==positionAttribute.count)normalAttribute=new BufferAttribute(new Float32Array(positionAttribute.count*3),3),this.setAttribute(\"normal\",normalAttribute);else for(let i=0,il=normalAttribute.count;i<il;i++)normalAttribute.setXYZ(i,0,0,0);let pA=new Vector3,pB=new Vector3,pC=new Vector3,nA=new Vector3,nB=new Vector3,nC=new Vector3,cb=new Vector3,ab=new Vector3;if(index)for(let i=0,il=index.count;i<il;i+=3){let vA=index.getX(i+0),vB=index.getX(i+1),vC=index.getX(i+2);pA.fromBufferAttribute(positionAttribute,vA),pB.fromBufferAttribute(positionAttribute,vB),pC.fromBufferAttribute(positionAttribute,vC),cb.subVectors(pC,pB),ab.subVectors(pA,pB),cb.cross(ab),nA.fromBufferAttribute(normalAttribute,vA),nB.fromBufferAttribute(normalAttribute,vB),nC.fromBufferAttribute(normalAttribute,vC),nA.add(cb),nB.add(cb),nC.add(cb),normalAttribute.setXYZ(vA,nA.x,nA.y,nA.z),normalAttribute.setXYZ(vB,nB.x,nB.y,nB.z),normalAttribute.setXYZ(vC,nC.x,nC.y,nC.z);}else for(let i=0,il=positionAttribute.count;i<il;i+=3)pA.fromBufferAttribute(positionAttribute,i+0),pB.fromBufferAttribute(positionAttribute,i+1),pC.fromBufferAttribute(positionAttribute,i+2),cb.subVectors(pC,pB),ab.subVectors(pA,pB),cb.cross(ab),normalAttribute.setXYZ(i+0,cb.x,cb.y,cb.z),normalAttribute.setXYZ(i+1,cb.x,cb.y,cb.z),normalAttribute.setXYZ(i+2,cb.x,cb.y,cb.z);this.normalizeNormals(),normalAttribute.needsUpdate=!0;}}normalizeNormals(){let normals=this.attributes.normal;for(let i=0,il=normals.count;i<il;i++)_vector$9.fromBufferAttribute(normals,i),_vector$9.normalize(),normals.setXYZ(i,_vector$9.x,_vector$9.y,_vector$9.z);}toNonIndexed(){function convertBufferAttribute(attribute,indices2){let array=attribute.array,itemSize=attribute.itemSize,normalized=attribute.normalized,array2=new array.constructor(indices2.length*itemSize),index=0,index2=0;for(let i=0,l=indices2.length;i<l;i++){attribute.isInterleavedBufferAttribute?index=indices2[i]*attribute.data.stride+attribute.offset:index=indices2[i]*itemSize;for(let j=0;j<itemSize;j++)array2[index2++]=array[index++];}return new BufferAttribute(array2,itemSize,normalized);}if(this.index===null)return warn(\"BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\"),this;let geometry2=new _BufferGeometry,indices=this.index.array,attributes=this.attributes;for(let name in attributes){let attribute=attributes[name],newAttribute=convertBufferAttribute(attribute,indices);geometry2.setAttribute(name,newAttribute);}let morphAttributes=this.morphAttributes;for(let name in morphAttributes){let morphArray=[],morphAttribute=morphAttributes[name];for(let i=0,il=morphAttribute.length;i<il;i++){let attribute=morphAttribute[i],newAttribute=convertBufferAttribute(attribute,indices);morphArray.push(newAttribute);}geometry2.morphAttributes[name]=morphArray;}geometry2.morphTargetsRelative=this.morphTargetsRelative;let groups=this.groups;for(let i=0,l=groups.length;i<l;i++){let group=groups[i];geometry2.addGroup(group.start,group.count,group.materialIndex);}return geometry2;}toJSON(){let data={metadata:{version:4.7,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};if(data.uuid=this.uuid,data.type=this.parameters!==void 0&&this._transformed===!0?\"BufferGeometry\":this.type,data.name=this.name,Object.keys(this.userData).length>0&&(data.userData=this.userData),this.parameters!==void 0&&this._transformed!==!0){let parameters=this.parameters;for(let key in parameters)parameters[key]!==void 0&&(data[key]=parameters[key]);return data;}data.data={attributes:{}};let index=this.index;index!==null&&(data.data.index={type:index.array.constructor.name,array:Array.prototype.slice.call(index.array)});let attributes=this.attributes;for(let key in attributes){let attribute=attributes[key];data.data.attributes[key]=attribute.toJSON(data.data);}let morphAttributes={},hasMorphAttributes=!1;for(let key in this.morphAttributes){let attributeArray=this.morphAttributes[key],array=[];for(let i=0,il=attributeArray.length;i<il;i++){let attribute=attributeArray[i];array.push(attribute.toJSON(data.data));}array.length>0&&(morphAttributes[key]=array,hasMorphAttributes=!0);}hasMorphAttributes&&(data.data.morphAttributes=morphAttributes,data.data.morphTargetsRelative=this.morphTargetsRelative);let groups=this.groups;groups.length>0&&(data.data.groups=JSON.parse(JSON.stringify(groups)));let boundingSphere=this.boundingSphere;return boundingSphere!==null&&(data.data.boundingSphere=boundingSphere.toJSON()),data;}clone(){return new this.constructor().copy(this);}copy(source){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let data={};this.name=source.name;let index=source.index;index!==null&&this.setIndex(index.clone());let attributes=source.attributes;for(let name in attributes){let attribute=attributes[name];this.setAttribute(name,attribute.clone(data));}let morphAttributes=source.morphAttributes;for(let name in morphAttributes){let array=[],morphAttribute=morphAttributes[name];for(let i=0,l=morphAttribute.length;i<l;i++)array.push(morphAttribute[i].clone(data));this.morphAttributes[name]=array;}this.morphTargetsRelative=source.morphTargetsRelative;let groups=source.groups;for(let i=0,l=groups.length;i<l;i++){let group=groups[i];this.addGroup(group.start,group.count,group.materialIndex);}let boundingBox=source.boundingBox;boundingBox!==null&&(this.boundingBox=boundingBox.clone());let boundingSphere=source.boundingSphere;return boundingSphere!==null&&(this.boundingSphere=boundingSphere.clone()),this.drawRange.start=source.drawRange.start,this.drawRange.count=source.drawRange.count,this.userData=source.userData,this._transformed=source._transformed,this;}dispose(){this.dispatchEvent({type:\"dispose\"});}constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,\"id\",{value:_id$1++}),this.uuid=generateUUID(),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={},this._transformed=!1;}};var _vector1=new Vector3,_vector2=new Vector3,_normalMatrix=new Matrix3,Plane=class{set(normal,constant){return this.normal.copy(normal),this.constant=constant,this;}setComponents(x,y,z,w){return this.normal.set(x,y,z),this.constant=w,this;}setFromNormalAndCoplanarPoint(normal,point){return this.normal.copy(normal),this.constant=-point.dot(this.normal),this;}setFromCoplanarPoints(a,b,c){let normal=_vector1.subVectors(c,b).cross(_vector2.subVectors(a,b)).normalize();return this.setFromNormalAndCoplanarPoint(normal,a),this;}copy(plane){return this.normal.copy(plane.normal),this.constant=plane.constant,this;}normalize(){let inverseNormalLength=1/this.normal.length();return this.normal.multiplyScalar(inverseNormalLength),this.constant*=inverseNormalLength,this;}negate(){return this.constant*=-1,this.normal.negate(),this;}distanceToPoint(point){return this.normal.dot(point)+this.constant;}distanceToSphere(sphere){return this.distanceToPoint(sphere.center)-sphere.radius;}projectPoint(point,target){return target.copy(point).addScaledVector(this.normal,-this.distanceToPoint(point));}intersectLine(line,target,clampToLine=!0){let direction=line.delta(_vector1),denominator=this.normal.dot(direction);if(denominator===0)return this.distanceToPoint(line.start)===0?target.copy(line.start):null;let t=-(line.start.dot(this.normal)+this.constant)/denominator;return clampToLine===!0&&(t<0||t>1)?null:target.copy(line.start).addScaledVector(direction,t);}intersectsLine(line){let startSign=this.distanceToPoint(line.start),endSign=this.distanceToPoint(line.end);return startSign<0&&endSign>0||endSign<0&&startSign>0;}intersectsBox(box){return box.intersectsPlane(this);}intersectsSphere(sphere){return sphere.intersectsPlane(this);}coplanarPoint(target){return target.copy(this.normal).multiplyScalar(-this.constant);}applyMatrix4(matrix,optionalNormalMatrix){let normalMatrix=optionalNormalMatrix||_normalMatrix.getNormalMatrix(matrix),referencePoint=this.coplanarPoint(_vector1).applyMatrix4(matrix),normal=this.normal.applyMatrix3(normalMatrix).normalize();return this.constant=-referencePoint.dot(normal),this;}translate(offset){return this.constant-=offset.dot(this.normal),this;}equals(plane){return plane.normal.equals(this.normal)&&plane.constant===this.constant;}clone(){return new this.constructor().copy(this);}toJSON(){return{normal:this.normal.toArray(),constant:this.constant};}fromJSON(json){return this.normal.fromArray(json.normal),this.constant=json.constant,this;}constructor(normal=new Vector3(1,0,0),constant=0){this.isPlane=!0,this.normal=normal,this.constant=constant;}},_materialId=0,Material=class extends EventDispatcher{get alphaTest(){return this._alphaTest;}set alphaTest(value){this._alphaTest>0!=value>0&&this.version++,this._alphaTest=value;}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString();}setValues(values){if(values!==void 0)for(let key in values){let newValue=values[key];if(newValue===void 0){warn(`Material: parameter '${key}' has value of undefined.`);continue;}let currentValue=this[key];if(currentValue===void 0){warn(`Material: '${key}' is not a property of THREE.${this.type}.`);continue;}currentValue&&currentValue.isColor?currentValue.set(newValue):currentValue&&currentValue.isVector2&&newValue&&newValue.isVector2||currentValue&&currentValue.isEuler&&newValue&&newValue.isEuler||currentValue&&currentValue.isVector3&&newValue&&newValue.isVector3?currentValue.copy(newValue):this[key]=newValue;}}toJSON(meta){let isRootObject=meta===void 0||typeof meta==\"string\";isRootObject&&(meta={textures:{},images:{}});let data={metadata:{version:4.7,type:\"Material\",generator:\"Material.toJSON\"}};data.uuid=this.uuid,data.type=this.type,data.blending=this.blending,data.side=this.side,data.shadowSide=this.shadowSide,data.vertexColors=this.vertexColors,data.opacity=this.opacity,data.transparent=this.transparent,data.blendSrc=this.blendSrc,data.blendDst=this.blendDst,data.blendEquation=this.blendEquation,data.blendSrcAlpha=this.blendSrcAlpha,data.blendDstAlpha=this.blendDstAlpha,data.blendEquationAlpha=this.blendEquationAlpha,data.blendColor=this.blendColor.getHex(),data.blendAlpha=this.blendAlpha,data.depthFunc=this.depthFunc,data.depthTest=this.depthTest,data.depthWrite=this.depthWrite,data.colorWrite=this.colorWrite,data.clipIntersection=this.clipIntersection,data.clipShadows=this.clipShadows,data.stencilWriteMask=this.stencilWriteMask,data.stencilFunc=this.stencilFunc,data.stencilRef=this.stencilRef,data.stencilFuncMask=this.stencilFuncMask,data.stencilFail=this.stencilFail,data.stencilZFail=this.stencilZFail,data.stencilZPass=this.stencilZPass,data.stencilWrite=this.stencilWrite,data.polygonOffset=this.polygonOffset,data.polygonOffsetFactor=this.polygonOffsetFactor,data.polygonOffsetUnits=this.polygonOffsetUnits,data.dithering=this.dithering,data.alphaTest=this.alphaTest,data.alphaHash=this.alphaHash,data.alphaToCoverage=this.alphaToCoverage,data.premultipliedAlpha=this.premultipliedAlpha,data.forceSinglePass=this.forceSinglePass,data.allowOverride=this.allowOverride,data.visible=this.visible,data.toneMapped=this.toneMapped,data.name=this.name,this.color&&this.color.isColor&&(data.color=this.color.getHex()),this.roughness!==void 0&&(data.roughness=this.roughness),this.metalness!==void 0&&(data.metalness=this.metalness),this.sheen!==void 0&&(data.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(data.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(data.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(data.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&(data.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(data.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(data.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(data.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(data.shininess=this.shininess),this.clearcoat!==void 0&&(data.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(data.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(data.clearcoatMap=this.clearcoatMap.toJSON(meta).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(data.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(meta).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(data.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(meta).uuid,data.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(data.sheenColorMap=this.sheenColorMap.toJSON(meta).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(data.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(meta).uuid),this.dispersion!==void 0&&(data.dispersion=this.dispersion),this.retroreflectivity!==void 0&&(data.retroreflectivity=this.retroreflectivity),this.iridescence!==void 0&&(data.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(data.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(data.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(data.iridescenceMap=this.iridescenceMap.toJSON(meta).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(data.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(meta).uuid),this.anisotropy!==void 0&&(data.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(data.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(data.anisotropyMap=this.anisotropyMap.toJSON(meta).uuid),this.map&&this.map.isTexture&&(data.map=this.map.toJSON(meta).uuid),this.matcap&&this.matcap.isTexture&&(data.matcap=this.matcap.toJSON(meta).uuid),this.alphaMap&&this.alphaMap.isTexture&&(data.alphaMap=this.alphaMap.toJSON(meta).uuid),this.lightMap&&this.lightMap.isTexture&&(data.lightMap=this.lightMap.toJSON(meta).uuid,data.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(data.aoMap=this.aoMap.toJSON(meta).uuid,data.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(data.bumpMap=this.bumpMap.toJSON(meta).uuid,data.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(data.normalMap=this.normalMap.toJSON(meta).uuid,data.normalMapType=this.normalMapType,data.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(data.displacementMap=this.displacementMap.toJSON(meta).uuid,data.displacementScale=this.displacementScale,data.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(data.roughnessMap=this.roughnessMap.toJSON(meta).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(data.metalnessMap=this.metalnessMap.toJSON(meta).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(data.emissiveMap=this.emissiveMap.toJSON(meta).uuid),this.specularMap&&this.specularMap.isTexture&&(data.specularMap=this.specularMap.toJSON(meta).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(data.specularIntensityMap=this.specularIntensityMap.toJSON(meta).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(data.specularColorMap=this.specularColorMap.toJSON(meta).uuid),this.envMap&&this.envMap.isTexture&&(data.envMap=this.envMap.toJSON(meta).uuid,this.combine!==void 0&&(data.combine=this.combine)),this.envMapRotation!==void 0&&(data.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(data.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(data.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(data.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(data.gradientMap=this.gradientMap.toJSON(meta).uuid),this.transmission!==void 0&&(data.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(data.transmissionMap=this.transmissionMap.toJSON(meta).uuid),this.thickness!==void 0&&(data.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(data.thicknessMap=this.thicknessMap.toJSON(meta).uuid),this.attenuationDistance!==void 0&&(data.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(data.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(data.size=this.size),this.sizeAttenuation!==void 0&&(data.sizeAttenuation=this.sizeAttenuation),Array.isArray(this.clippingPlanes)&&this.clippingPlanes.length>0&&(data.clippingPlanes=this.clippingPlanes.map(plane=>plane.toJSON())),this.rotation!==void 0&&(data.rotation=this.rotation),this.depthPacking!==void 0&&(data.depthPacking=this.depthPacking),this.linewidth!==void 0&&(data.linewidth=this.linewidth),this.linecap!==void 0&&(data.linecap=this.linecap),this.linejoin!==void 0&&(data.linejoin=this.linejoin),this.dashSize!==void 0&&(data.dashSize=this.dashSize),this.gapSize!==void 0&&(data.gapSize=this.gapSize),this.scale!==void 0&&(data.scale=this.scale),this.wireframe!==void 0&&(data.wireframe=this.wireframe),this.wireframeLinewidth!==void 0&&(data.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!==void 0&&(data.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!==void 0&&(data.wireframeLinejoin=this.wireframeLinejoin),this.flatShading!==void 0&&(data.flatShading=this.flatShading),this.fog!==void 0&&(data.fog=this.fog),Object.keys(this.userData).length>0&&(data.userData=this.userData);function extractFromCache(cache){let values=[];for(let key in cache){let data2=cache[key];delete data2.metadata,values.push(data2);}return values;}if(isRootObject){let textures=extractFromCache(meta.textures),images=extractFromCache(meta.images);textures.length>0&&(data.textures=textures),images.length>0&&(data.images=images);}return data;}fromJSON(json,textures){if(json.uuid!==void 0&&(this.uuid=json.uuid),json.name!==void 0&&(this.name=json.name),json.color!==void 0&&this.color!==void 0&&this.color.setHex(json.color),json.roughness!==void 0&&(this.roughness=json.roughness),json.metalness!==void 0&&(this.metalness=json.metalness),json.sheen!==void 0&&(this.sheen=json.sheen),json.sheenColor!==void 0&&(this.sheenColor=new Color().setHex(json.sheenColor)),json.sheenRoughness!==void 0&&(this.sheenRoughness=json.sheenRoughness),json.emissive!==void 0&&this.emissive!==void 0&&this.emissive.setHex(json.emissive),json.specular!==void 0&&this.specular!==void 0&&this.specular.setHex(json.specular),json.specularIntensity!==void 0&&(this.specularIntensity=json.specularIntensity),json.specularColor!==void 0&&this.specularColor!==void 0&&this.specularColor.setHex(json.specularColor),json.shininess!==void 0&&(this.shininess=json.shininess),json.clearcoat!==void 0&&(this.clearcoat=json.clearcoat),json.clearcoatRoughness!==void 0&&(this.clearcoatRoughness=json.clearcoatRoughness),json.dispersion!==void 0&&(this.dispersion=json.dispersion),json.retroreflectivity!==void 0&&(this.retroreflectivity=json.retroreflectivity),json.iridescence!==void 0&&(this.iridescence=json.iridescence),json.iridescenceIOR!==void 0&&(this.iridescenceIOR=json.iridescenceIOR),json.iridescenceThicknessRange!==void 0&&(this.iridescenceThicknessRange=json.iridescenceThicknessRange),json.transmission!==void 0&&(this.transmission=json.transmission),json.thickness!==void 0&&(this.thickness=json.thickness),json.attenuationDistance!==void 0&&(this.attenuationDistance=json.attenuationDistance),json.attenuationColor!==void 0&&this.attenuationColor!==void 0&&this.attenuationColor.setHex(json.attenuationColor),json.anisotropy!==void 0&&(this.anisotropy=json.anisotropy),json.anisotropyRotation!==void 0&&(this.anisotropyRotation=json.anisotropyRotation),json.fog!==void 0&&(this.fog=json.fog),json.flatShading!==void 0&&(this.flatShading=json.flatShading),json.blending!==void 0&&(this.blending=json.blending),json.combine!==void 0&&(this.combine=json.combine),json.side!==void 0&&(this.side=json.side),json.shadowSide!==void 0&&(this.shadowSide=json.shadowSide),json.opacity!==void 0&&(this.opacity=json.opacity),json.transparent!==void 0&&(this.transparent=json.transparent),json.alphaTest!==void 0&&(this.alphaTest=json.alphaTest),json.alphaHash!==void 0&&(this.alphaHash=json.alphaHash),json.depthFunc!==void 0&&(this.depthFunc=json.depthFunc),json.depthTest!==void 0&&(this.depthTest=json.depthTest),json.depthWrite!==void 0&&(this.depthWrite=json.depthWrite),json.colorWrite!==void 0&&(this.colorWrite=json.colorWrite),json.clippingPlanes!==void 0&&(this.clippingPlanes=json.clippingPlanes.map(plane=>new Plane().fromJSON(plane))),json.clipIntersection!==void 0&&(this.clipIntersection=json.clipIntersection),json.clipShadows!==void 0&&(this.clipShadows=json.clipShadows),json.depthPacking!==void 0&&(this.depthPacking=json.depthPacking),json.blendSrc!==void 0&&(this.blendSrc=json.blendSrc),json.blendDst!==void 0&&(this.blendDst=json.blendDst),json.blendEquation!==void 0&&(this.blendEquation=json.blendEquation),json.blendSrcAlpha!==void 0&&(this.blendSrcAlpha=json.blendSrcAlpha),json.blendDstAlpha!==void 0&&(this.blendDstAlpha=json.blendDstAlpha),json.blendEquationAlpha!==void 0&&(this.blendEquationAlpha=json.blendEquationAlpha),json.blendColor!==void 0&&this.blendColor!==void 0&&this.blendColor.setHex(json.blendColor),json.blendAlpha!==void 0&&(this.blendAlpha=json.blendAlpha),json.stencilWriteMask!==void 0&&(this.stencilWriteMask=json.stencilWriteMask),json.stencilFunc!==void 0&&(this.stencilFunc=json.stencilFunc),json.stencilRef!==void 0&&(this.stencilRef=json.stencilRef),json.stencilFuncMask!==void 0&&(this.stencilFuncMask=json.stencilFuncMask),json.stencilFail!==void 0&&(this.stencilFail=json.stencilFail),json.stencilZFail!==void 0&&(this.stencilZFail=json.stencilZFail),json.stencilZPass!==void 0&&(this.stencilZPass=json.stencilZPass),json.stencilWrite!==void 0&&(this.stencilWrite=json.stencilWrite),json.wireframe!==void 0&&(this.wireframe=json.wireframe),json.wireframeLinewidth!==void 0&&(this.wireframeLinewidth=json.wireframeLinewidth),json.wireframeLinecap!==void 0&&(this.wireframeLinecap=json.wireframeLinecap),json.wireframeLinejoin!==void 0&&(this.wireframeLinejoin=json.wireframeLinejoin),json.rotation!==void 0&&(this.rotation=json.rotation),json.linewidth!==void 0&&(this.linewidth=json.linewidth),json.linecap!==void 0&&(this.linecap=json.linecap),json.linejoin!==void 0&&(this.linejoin=json.linejoin),json.dashSize!==void 0&&(this.dashSize=json.dashSize),json.gapSize!==void 0&&(this.gapSize=json.gapSize),json.scale!==void 0&&(this.scale=json.scale),json.polygonOffset!==void 0&&(this.polygonOffset=json.polygonOffset),json.polygonOffsetFactor!==void 0&&(this.polygonOffsetFactor=json.polygonOffsetFactor),json.polygonOffsetUnits!==void 0&&(this.polygonOffsetUnits=json.polygonOffsetUnits),json.dithering!==void 0&&(this.dithering=json.dithering),json.alphaToCoverage!==void 0&&(this.alphaToCoverage=json.alphaToCoverage),json.premultipliedAlpha!==void 0&&(this.premultipliedAlpha=json.premultipliedAlpha),json.forceSinglePass!==void 0&&(this.forceSinglePass=json.forceSinglePass),json.allowOverride!==void 0&&(this.allowOverride=json.allowOverride),json.visible!==void 0&&(this.visible=json.visible),json.toneMapped!==void 0&&(this.toneMapped=json.toneMapped),json.userData!==void 0&&(this.userData=json.userData),json.vertexColors!==void 0&&(typeof json.vertexColors==\"number\"?this.vertexColors=json.vertexColors>0:this.vertexColors=json.vertexColors),json.size!==void 0&&(this.size=json.size),json.sizeAttenuation!==void 0&&(this.sizeAttenuation=json.sizeAttenuation),json.map!==void 0&&(this.map=textures[json.map]||null),json.matcap!==void 0&&(this.matcap=textures[json.matcap]||null),json.alphaMap!==void 0&&(this.alphaMap=textures[json.alphaMap]||null),json.bumpMap!==void 0&&(this.bumpMap=textures[json.bumpMap]||null),json.bumpScale!==void 0&&(this.bumpScale=json.bumpScale),json.normalMap!==void 0&&(this.normalMap=textures[json.normalMap]||null),json.normalMapType!==void 0&&(this.normalMapType=json.normalMapType),json.normalScale!==void 0){let normalScale=json.normalScale;Array.isArray(normalScale)===!1&&(normalScale=[normalScale,normalScale]),this.normalScale=new Vector2().fromArray(normalScale);}return json.displacementMap!==void 0&&(this.displacementMap=textures[json.displacementMap]||null),json.displacementScale!==void 0&&(this.displacementScale=json.displacementScale),json.displacementBias!==void 0&&(this.displacementBias=json.displacementBias),json.roughnessMap!==void 0&&(this.roughnessMap=textures[json.roughnessMap]||null),json.metalnessMap!==void 0&&(this.metalnessMap=textures[json.metalnessMap]||null),json.emissiveMap!==void 0&&(this.emissiveMap=textures[json.emissiveMap]||null),json.emissiveIntensity!==void 0&&(this.emissiveIntensity=json.emissiveIntensity),json.specularMap!==void 0&&(this.specularMap=textures[json.specularMap]||null),json.specularIntensityMap!==void 0&&(this.specularIntensityMap=textures[json.specularIntensityMap]||null),json.specularColorMap!==void 0&&(this.specularColorMap=textures[json.specularColorMap]||null),json.envMap!==void 0&&(this.envMap=textures[json.envMap]||null),json.envMapRotation!==void 0&&this.envMapRotation.fromArray(json.envMapRotation),json.envMapIntensity!==void 0&&(this.envMapIntensity=json.envMapIntensity),json.reflectivity!==void 0&&(this.reflectivity=json.reflectivity),json.refractionRatio!==void 0&&(this.refractionRatio=json.refractionRatio),json.lightMap!==void 0&&(this.lightMap=textures[json.lightMap]||null),json.lightMapIntensity!==void 0&&(this.lightMapIntensity=json.lightMapIntensity),json.aoMap!==void 0&&(this.aoMap=textures[json.aoMap]||null),json.aoMapIntensity!==void 0&&(this.aoMapIntensity=json.aoMapIntensity),json.gradientMap!==void 0&&(this.gradientMap=textures[json.gradientMap]||null),json.clearcoatMap!==void 0&&(this.clearcoatMap=textures[json.clearcoatMap]||null),json.clearcoatRoughnessMap!==void 0&&(this.clearcoatRoughnessMap=textures[json.clearcoatRoughnessMap]||null),json.clearcoatNormalMap!==void 0&&(this.clearcoatNormalMap=textures[json.clearcoatNormalMap]||null),json.clearcoatNormalScale!==void 0&&(this.clearcoatNormalScale=new Vector2().fromArray(json.clearcoatNormalScale)),json.iridescenceMap!==void 0&&(this.iridescenceMap=textures[json.iridescenceMap]||null),json.iridescenceThicknessMap!==void 0&&(this.iridescenceThicknessMap=textures[json.iridescenceThicknessMap]||null),json.transmissionMap!==void 0&&(this.transmissionMap=textures[json.transmissionMap]||null),json.thicknessMap!==void 0&&(this.thicknessMap=textures[json.thicknessMap]||null),json.anisotropyMap!==void 0&&(this.anisotropyMap=textures[json.anisotropyMap]||null),json.sheenColorMap!==void 0&&(this.sheenColorMap=textures[json.sheenColorMap]||null),json.sheenRoughnessMap!==void 0&&(this.sheenRoughnessMap=textures[json.sheenRoughnessMap]||null),this;}clone(){return new this.constructor().copy(this);}copy(source){this.name=source.name,this.blending=source.blending,this.side=source.side,this.vertexColors=source.vertexColors,this.opacity=source.opacity,this.transparent=source.transparent,this.blendSrc=source.blendSrc,this.blendDst=source.blendDst,this.blendEquation=source.blendEquation,this.blendSrcAlpha=source.blendSrcAlpha,this.blendDstAlpha=source.blendDstAlpha,this.blendEquationAlpha=source.blendEquationAlpha,this.blendColor.copy(source.blendColor),this.blendAlpha=source.blendAlpha,this.depthFunc=source.depthFunc,this.depthTest=source.depthTest,this.depthWrite=source.depthWrite,this.stencilWriteMask=source.stencilWriteMask,this.stencilFunc=source.stencilFunc,this.stencilRef=source.stencilRef,this.stencilFuncMask=source.stencilFuncMask,this.stencilFail=source.stencilFail,this.stencilZFail=source.stencilZFail,this.stencilZPass=source.stencilZPass,this.stencilWrite=source.stencilWrite;let srcPlanes=source.clippingPlanes,dstPlanes=null;if(srcPlanes!==null){let n=srcPlanes.length;dstPlanes=new Array(n);for(let i=0;i!==n;++i)dstPlanes[i]=srcPlanes[i].clone();}return this.clippingPlanes=dstPlanes,this.clipIntersection=source.clipIntersection,this.clipShadows=source.clipShadows,this.shadowSide=source.shadowSide,this.colorWrite=source.colorWrite,this.precision=source.precision,this.polygonOffset=source.polygonOffset,this.polygonOffsetFactor=source.polygonOffsetFactor,this.polygonOffsetUnits=source.polygonOffsetUnits,this.dithering=source.dithering,this.alphaTest=source.alphaTest,this.alphaHash=source.alphaHash,this.alphaToCoverage=source.alphaToCoverage,this.premultipliedAlpha=source.premultipliedAlpha,this.forceSinglePass=source.forceSinglePass,this.allowOverride=source.allowOverride,this.visible=source.visible,this.toneMapped=source.toneMapped,this.userData=JSON.parse(JSON.stringify(source.userData)),this;}dispose(){this.dispatchEvent({type:\"dispose\"});}set needsUpdate(value){value===!0&&this.version++;}constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,\"id\",{value:_materialId++}),this.uuid=generateUUID(),this.name=\"\",this.type=\"Material\",this.blending=NormalBlending,this.side=FrontSide,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=SrcAlphaFactor,this.blendDst=OneMinusSrcAlphaFactor,this.blendEquation=AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new Color(0,0,0),this.blendAlpha=0,this.depthFunc=LessEqualDepth,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=AlwaysStencilFunc,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=KeepStencilOp,this.stencilZFail=KeepStencilOp,this.stencilZPass=KeepStencilOp,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;}};var _vector$7=new Vector3,_segCenter=new Vector3,_segDir=new Vector3,_diff=new Vector3,Ray=class{set(origin,direction){return this.origin.copy(origin),this.direction.copy(direction),this;}copy(ray){return this.origin.copy(ray.origin),this.direction.copy(ray.direction),this;}at(t,target){return target.copy(this.origin).addScaledVector(this.direction,t);}lookAt(v){return this.direction.copy(v).sub(this.origin).normalize(),this;}recast(t){return this.origin.copy(this.at(t,_vector$7)),this;}closestPointToPoint(point,target){target.subVectors(point,this.origin);let directionDistance=target.dot(this.direction);return directionDistance<0?target.copy(this.origin):target.copy(this.origin).addScaledVector(this.direction,directionDistance);}distanceToPoint(point){return Math.sqrt(this.distanceSqToPoint(point));}distanceSqToPoint(point){let directionDistance=_vector$7.subVectors(point,this.origin).dot(this.direction);return directionDistance<0?this.origin.distanceToSquared(point):(_vector$7.copy(this.origin).addScaledVector(this.direction,directionDistance),_vector$7.distanceToSquared(point));}distanceSqToSegment(v0,v1,optionalPointOnRay,optionalPointOnSegment){_segCenter.copy(v0).add(v1).multiplyScalar(.5),_segDir.copy(v1).sub(v0).normalize(),_diff.copy(this.origin).sub(_segCenter);let segExtent=v0.distanceTo(v1)*.5,a01=-this.direction.dot(_segDir),b0=_diff.dot(this.direction),b1=-_diff.dot(_segDir),c=_diff.lengthSq(),det=Math.abs(1-a01*a01),s0,s1,sqrDist,extDet;if(det>0)if(s0=a01*b1-b0,s1=a01*b0-b1,extDet=segExtent*det,s0>=0)if(s1>=-extDet)if(s1<=extDet){let invDet=1/det;s0*=invDet,s1*=invDet,sqrDist=s0*(s0+a01*s1+2*b0)+s1*(a01*s0+s1+2*b1)+c;}else s1=segExtent,s0=Math.max(0,-(a01*s1+b0)),sqrDist=-s0*s0+s1*(s1+2*b1)+c;else s1=-segExtent,s0=Math.max(0,-(a01*s1+b0)),sqrDist=-s0*s0+s1*(s1+2*b1)+c;else s1<=-extDet?(s0=Math.max(0,-(-a01*segExtent+b0)),s1=s0>0?-segExtent:Math.min(Math.max(-segExtent,-b1),segExtent),sqrDist=-s0*s0+s1*(s1+2*b1)+c):s1<=extDet?(s0=0,s1=Math.min(Math.max(-segExtent,-b1),segExtent),sqrDist=s1*(s1+2*b1)+c):(s0=Math.max(0,-(a01*segExtent+b0)),s1=s0>0?segExtent:Math.min(Math.max(-segExtent,-b1),segExtent),sqrDist=-s0*s0+s1*(s1+2*b1)+c);else s1=a01>0?-segExtent:segExtent,s0=Math.max(0,-(a01*s1+b0)),sqrDist=-s0*s0+s1*(s1+2*b1)+c;return optionalPointOnRay&&optionalPointOnRay.copy(this.origin).addScaledVector(this.direction,s0),optionalPointOnSegment&&optionalPointOnSegment.copy(_segCenter).addScaledVector(_segDir,s1),sqrDist;}intersectSphere(sphere,target){if(sphere.radius<0)return null;_vector$7.subVectors(sphere.center,this.origin);let tca=_vector$7.dot(this.direction),d2=_vector$7.dot(_vector$7)-tca*tca,radius2=sphere.radius*sphere.radius;if(d2>radius2)return null;let thc=Math.sqrt(radius2-d2),t0=tca-thc,t1=tca+thc;return t1<0?null:t0<0?this.at(t1,target):this.at(t0,target);}intersectsSphere(sphere){return sphere.radius<0?!1:this.distanceSqToPoint(sphere.center)<=sphere.radius*sphere.radius;}distanceToPlane(plane){let denominator=plane.normal.dot(this.direction);if(denominator===0)return plane.distanceToPoint(this.origin)===0?0:null;let t=-(this.origin.dot(plane.normal)+plane.constant)/denominator;return t>=0?t:null;}intersectPlane(plane,target){let t=this.distanceToPlane(plane);return t===null?null:this.at(t,target);}intersectsPlane(plane){let distToPoint=plane.distanceToPoint(this.origin);return distToPoint===0||plane.normal.dot(this.direction)*distToPoint<0;}intersectBox(box,target){let tmin,tmax,tymin,tymax,tzmin,tzmax,invdirx=1/this.direction.x,invdiry=1/this.direction.y,invdirz=1/this.direction.z,origin=this.origin;return invdirx>=0?(tmin=(box.min.x-origin.x)*invdirx,tmax=(box.max.x-origin.x)*invdirx):(tmin=(box.max.x-origin.x)*invdirx,tmax=(box.min.x-origin.x)*invdirx),invdiry>=0?(tymin=(box.min.y-origin.y)*invdiry,tymax=(box.max.y-origin.y)*invdiry):(tymin=(box.max.y-origin.y)*invdiry,tymax=(box.min.y-origin.y)*invdiry),tmin>tymax||tymin>tmax||((tymin>tmin||isNaN(tmin))&&(tmin=tymin),(tymax<tmax||isNaN(tmax))&&(tmax=tymax),invdirz>=0?(tzmin=(box.min.z-origin.z)*invdirz,tzmax=(box.max.z-origin.z)*invdirz):(tzmin=(box.max.z-origin.z)*invdirz,tzmax=(box.min.z-origin.z)*invdirz),tmin>tzmax||tzmin>tmax)||((tzmin>tmin||tmin!==tmin)&&(tmin=tzmin),(tzmax<tmax||tmax!==tmax)&&(tmax=tzmax),tmax<0)?null:this.at(tmin>=0?tmin:tmax,target);}intersectsBox(box){return this.intersectBox(box,_vector$7)!==null;}intersectTriangle(a,b,c,backfaceCulling,target){let origin=this.origin,direction=this.direction,dx=direction.x,dy=direction.y,dz=direction.z,aox=a.x-origin.x,aoy=a.y-origin.y,aoz=a.z-origin.z,box=b.x-origin.x,boy=b.y-origin.y,boz=b.z-origin.z,cox=c.x-origin.x,coy=c.y-origin.y,coz=c.z-origin.z,adx=Math.abs(dx),ady=Math.abs(dy),adz=Math.abs(dz),dkx,dky,dkz,akx,aky,akz,bkx,bky,bkz,ckx,cky,ckz;if(adx>=ady&&adx>=adz?(dkz=dx,akz=aox,bkz=box,ckz=cox,dx>=0?(dkx=dy,dky=dz,akx=aoy,aky=aoz,bkx=boy,bky=boz,ckx=coy,cky=coz):(dkx=dz,dky=dy,akx=aoz,aky=aoy,bkx=boz,bky=boy,ckx=coz,cky=coy)):ady>=adz?(dkz=dy,akz=aoy,bkz=boy,ckz=coy,dy>=0?(dkx=dz,dky=dx,akx=aoz,aky=aox,bkx=boz,bky=box,ckx=coz,cky=cox):(dkx=dx,dky=dz,akx=aox,aky=aoz,bkx=box,bky=boz,ckx=cox,cky=coz)):(dkz=dz,akz=aoz,bkz=boz,ckz=coz,dz>=0?(dkx=dx,dky=dy,akx=aox,aky=aoy,bkx=box,bky=boy,ckx=cox,cky=coy):(dkx=dy,dky=dx,akx=aoy,aky=aox,bkx=boy,bky=box,ckx=coy,cky=cox)),dkz===0)return null;let sx=dkx/dkz,sy=dky/dkz,sz=1/dkz,ax=akx-sx*akz,ay=aky-sy*akz,bx=bkx-sx*bkz,by=bky-sy*bkz,cx=ckx-sx*ckz,cy=cky-sy*ckz,u=cx*by-cy*bx,v=ax*cy-ay*cx,w=bx*ay-by*ax;if(backfaceCulling){if(u<0||v<0||w<0)return null;}else if((u<0||v<0||w<0)&&(u>0||v>0||w>0))return null;let det=u+v+w;if(det===0)return null;let tScaled=sz*(u*akz+v*bkz+w*ckz);return(det>0?tScaled<0:tScaled>0)?null:this.at(tScaled/det,target);}applyMatrix4(matrix4){return this.origin.applyMatrix4(matrix4),this.direction.transformDirection(matrix4),this;}equals(ray){return ray.origin.equals(this.origin)&&ray.direction.equals(this.direction);}clone(){return new this.constructor().copy(this);}constructor(origin=new Vector3,direction=new Vector3(0,0,-1)){this.origin=origin,this.direction=direction;}},MeshBasicMaterial=class extends Material{copy(source){return super.copy(source),this.color.copy(source.color),this.map=source.map,this.lightMap=source.lightMap,this.lightMapIntensity=source.lightMapIntensity,this.aoMap=source.aoMap,this.aoMapIntensity=source.aoMapIntensity,this.specularMap=source.specularMap,this.alphaMap=source.alphaMap,this.envMap=source.envMap,this.envMapRotation.copy(source.envMapRotation),this.combine=source.combine,this.reflectivity=source.reflectivity,this.refractionRatio=source.refractionRatio,this.wireframe=source.wireframe,this.wireframeLinewidth=source.wireframeLinewidth,this.wireframeLinecap=source.wireframeLinecap,this.wireframeLinejoin=source.wireframeLinejoin,this.fog=source.fog,this;}constructor(parameters){super(),this.isMeshBasicMaterial=!0,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.envMapRotation=new Euler,this.combine=MultiplyOperation,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.fog=!0,this.setValues(parameters);}},_inverseMatrix$3=new Matrix4,_ray$3=new Ray,_sphere$6=new Sphere,_sphereHitAt=new Vector3,_vA=new Vector3,_vB=new Vector3,_vC=new Vector3,_tempA=new Vector3,_morphA=new Vector3,_intersectionPoint=new Vector3,_intersectionPointWorld=new Vector3,Mesh=class extends Object3D{copy(source,recursive){return super.copy(source,recursive),source.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=source.morphTargetInfluences.slice()),source.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},source.morphTargetDictionary)),this.material=Array.isArray(source.material)?source.material.slice():source.material,this.geometry=source.geometry,this;}updateMorphTargets(){let morphAttributes=this.geometry.morphAttributes,keys=Object.keys(morphAttributes);if(keys.length>0){let morphAttribute=morphAttributes[keys[0]];if(morphAttribute!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let m=0,ml=morphAttribute.length;m<ml;m++){let name=morphAttribute[m].name||String(m);this.morphTargetInfluences.push(0),this.morphTargetDictionary[name]=m;}}}}getVertexPosition(index,target){let geometry=this.geometry,position=geometry.attributes.position,morphPosition=geometry.morphAttributes.position,morphTargetsRelative=geometry.morphTargetsRelative;target.fromBufferAttribute(position,index);let morphInfluences=this.morphTargetInfluences;if(morphPosition&&morphInfluences){_morphA.set(0,0,0);for(let i=0,il=morphPosition.length;i<il;i++){let influence=morphInfluences[i],morphAttribute=morphPosition[i];influence!==0&&(_tempA.fromBufferAttribute(morphAttribute,index),morphTargetsRelative?_morphA.addScaledVector(_tempA,influence):_morphA.addScaledVector(_tempA.sub(target),influence));}target.add(_morphA);}return target;}intersectsFrustum(frustum){return frustum.intersectsObject(this);}raycast(raycaster,intersects2){let geometry=this.geometry,material=this.material,matrixWorld=this.matrixWorld;material!==void 0&&(geometry.boundingSphere===null&&geometry.computeBoundingSphere(),_sphere$6.copy(geometry.boundingSphere),_sphere$6.applyMatrix4(matrixWorld),_ray$3.copy(raycaster.ray).recast(raycaster.near),!(_sphere$6.containsPoint(_ray$3.origin)===!1&&(_ray$3.intersectSphere(_sphere$6,_sphereHitAt)===null||_ray$3.origin.distanceToSquared(_sphereHitAt)>(raycaster.far-raycaster.near)**2))&&(_inverseMatrix$3.copy(matrixWorld).invert(),_ray$3.copy(raycaster.ray).applyMatrix4(_inverseMatrix$3),!(geometry.boundingBox!==null&&_ray$3.intersectsBox(geometry.boundingBox)===!1)&&this._computeIntersections(raycaster,intersects2,_ray$3)));}_computeIntersections(raycaster,intersects2,rayLocalSpace){let intersection,geometry=this.geometry,material=this.material,index=geometry.index,position=geometry.attributes.position,uv=geometry.attributes.uv,uv1=geometry.attributes.uv1,normal=geometry.attributes.normal,groups=geometry.groups,drawRange=geometry.drawRange;if(index!==null)if(Array.isArray(material))for(let i=0,il=groups.length;i<il;i++){let group=groups[i],groupMaterial=material[group.materialIndex],start=Math.max(group.start,drawRange.start),end=Math.min(index.count,Math.min(group.start+group.count,drawRange.start+drawRange.count));for(let j=start,jl=end;j<jl;j+=3){let a=index.getX(j),b=index.getX(j+1),c=index.getX(j+2);intersection=checkGeometryIntersection(this,groupMaterial,raycaster,rayLocalSpace,uv,uv1,normal,a,b,c),intersection&&(intersection.faceIndex=Math.floor(j/3),intersection.face.materialIndex=group.materialIndex,intersects2.push(intersection));}}else{let start=Math.max(0,drawRange.start),end=Math.min(index.count,drawRange.start+drawRange.count);for(let i=start,il=end;i<il;i+=3){let a=index.getX(i),b=index.getX(i+1),c=index.getX(i+2);intersection=checkGeometryIntersection(this,material,raycaster,rayLocalSpace,uv,uv1,normal,a,b,c),intersection&&(intersection.faceIndex=Math.floor(i/3),intersects2.push(intersection));}}else if(position!==void 0)if(Array.isArray(material))for(let i=0,il=groups.length;i<il;i++){let group=groups[i],groupMaterial=material[group.materialIndex],start=Math.max(group.start,drawRange.start),end=Math.min(position.count,Math.min(group.start+group.count,drawRange.start+drawRange.count));for(let j=start,jl=end;j<jl;j+=3){let a=j,b=j+1,c=j+2;intersection=checkGeometryIntersection(this,groupMaterial,raycaster,rayLocalSpace,uv,uv1,normal,a,b,c),intersection&&(intersection.faceIndex=Math.floor(j/3),intersection.face.materialIndex=group.materialIndex,intersects2.push(intersection));}}else{let start=Math.max(0,drawRange.start),end=Math.min(position.count,drawRange.start+drawRange.count);for(let i=start,il=end;i<il;i+=3){let a=i,b=i+1,c=i+2;intersection=checkGeometryIntersection(this,material,raycaster,rayLocalSpace,uv,uv1,normal,a,b,c),intersection&&(intersection.faceIndex=Math.floor(i/3),intersects2.push(intersection));}}}constructor(geometry=new BufferGeometry,material=new MeshBasicMaterial){super(),this.isMesh=!0,this.type=\"Mesh\",this.geometry=geometry,this.material=material,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.count=1,this.updateMorphTargets();}};function checkIntersection$1(object,material,raycaster,ray,pA,pB,pC,point){let intersect;if(material.side===BackSide?intersect=ray.intersectTriangle(pC,pB,pA,!0,point):intersect=ray.intersectTriangle(pA,pB,pC,material.side===FrontSide,point),intersect===null)return null;_intersectionPointWorld.copy(point),_intersectionPointWorld.applyMatrix4(object.matrixWorld);let distance=raycaster.ray.origin.distanceTo(_intersectionPointWorld);return distance<raycaster.near||distance>raycaster.far?null:{distance,point:_intersectionPointWorld.clone(),object};}function checkGeometryIntersection(object,material,raycaster,ray,uv,uv1,normal,a,b,c){object.getVertexPosition(a,_vA),object.getVertexPosition(b,_vB),object.getVertexPosition(c,_vC);let intersection=checkIntersection$1(object,material,raycaster,ray,_vA,_vB,_vC,_intersectionPoint);if(intersection){let barycoord=new Vector3;Triangle.getBarycoord(_intersectionPoint,_vA,_vB,_vC,barycoord),uv&&(intersection.uv=Triangle.getInterpolatedAttribute(uv,a,b,c,barycoord,new Vector2)),uv1&&(intersection.uv1=Triangle.getInterpolatedAttribute(uv1,a,b,c,barycoord,new Vector2)),normal&&(intersection.normal=Triangle.getInterpolatedAttribute(normal,a,b,c,barycoord,new Vector3),intersection.normal.dot(ray.direction)>0&&intersection.normal.multiplyScalar(-1));let face={a,b,c,normal:new Vector3,materialIndex:0};Triangle.getNormal(_vA,_vB,_vC,face.normal),intersection.face=face,intersection.barycoord=barycoord;}return intersection;}var _baseVector=new Vector4,_skinIndex=new Vector4,_skinWeight=new Vector4,_vector4=new Vector4,_matrix4=new Matrix4,_vertex=new Vector3,_sphere$5=new Sphere,_inverseMatrix$2=new Matrix4,_ray$2=new Ray,SkinnedMesh=class extends Mesh{computeBoundingBox(){let geometry=this.geometry;this.boundingBox===null&&(this.boundingBox=new Box3),this.boundingBox.makeEmpty();let positionAttribute=geometry.getAttribute(\"position\");for(let i=0;i<positionAttribute.count;i++)this.getVertexPosition(i,_vertex),this.boundingBox.expandByPoint(_vertex);}computeBoundingSphere(){let geometry=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Sphere),this.boundingSphere.makeEmpty();let positionAttribute=geometry.getAttribute(\"position\");for(let i=0;i<positionAttribute.count;i++)this.getVertexPosition(i,_vertex),this.boundingSphere.expandByPoint(_vertex);}copy(source,recursive){return super.copy(source,recursive),this.bindMode=source.bindMode,this.bindMatrix.copy(source.bindMatrix),this.bindMatrixInverse.copy(source.bindMatrixInverse),this.skeleton=source.skeleton,source.boundingBox!==null&&(this.boundingBox=source.boundingBox.clone()),source.boundingSphere!==null&&(this.boundingSphere=source.boundingSphere.clone()),this;}raycast(raycaster,intersects2){let material=this.material,matrixWorld=this.matrixWorld;material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),_sphere$5.copy(this.boundingSphere),_sphere$5.applyMatrix4(matrixWorld),raycaster.ray.intersectsSphere(_sphere$5)!==!1&&(_inverseMatrix$2.copy(matrixWorld).invert(),_ray$2.copy(raycaster.ray).applyMatrix4(_inverseMatrix$2),!(this.boundingBox!==null&&_ray$2.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(raycaster,intersects2,_ray$2)));}getVertexPosition(index,target){return super.getVertexPosition(index,target),this.applyBoneTransform(index,target),target;}bind(skeleton,bindMatrix){this.skeleton=skeleton,bindMatrix===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),bindMatrix=this.matrixWorld),this.bindMatrix.copy(bindMatrix),this.bindMatrixInverse.copy(bindMatrix).invert();}pose(){this.skeleton.pose();}normalizeSkinWeights(){let vector=new Vector4,skinWeight=this.geometry.attributes.skinWeight;for(let i=0,l=skinWeight.count;i<l;i++){vector.fromBufferAttribute(skinWeight,i);let scale=1/vector.manhattanLength();scale!==1/0?vector.multiplyScalar(scale):vector.set(1,0,0,0),skinWeight.setXYZW(i,vector.x,vector.y,vector.z,vector.w);}}updateMatrixWorld(force){super.updateMatrixWorld(force),this.bindMode===AttachedBindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===DetachedBindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():warn(\"SkinnedMesh: Unrecognized bindMode: \"+this.bindMode);}applyBoneTransform(index,target){let skeleton=this.skeleton,geometry=this.geometry;_skinIndex.fromBufferAttribute(geometry.attributes.skinIndex,index),_skinWeight.fromBufferAttribute(geometry.attributes.skinWeight,index),target.isVector4?(_baseVector.copy(target),target.set(0,0,0,0)):(_baseVector.set(...target,1),target.set(0,0,0)),_baseVector.applyMatrix4(this.bindMatrix);for(let i=0;i<4;i++){let weight=_skinWeight.getComponent(i);if(weight!==0){let boneIndex=_skinIndex.getComponent(i);_matrix4.multiplyMatrices(skeleton.bones[boneIndex].matrixWorld,skeleton.boneInverses[boneIndex]),target.addScaledVector(_vector4.copy(_baseVector).applyMatrix4(_matrix4),weight);}}return target.isVector4&&(target.w=_baseVector.w),target.applyMatrix4(this.bindMatrixInverse);}constructor(geometry,material){super(geometry,material),this.isSkinnedMesh=!0,this.type=\"SkinnedMesh\",this.bindMode=AttachedBindMode,this.bindMatrix=new Matrix4,this.bindMatrixInverse=new Matrix4,this.boundingBox=null,this.boundingSphere=null;}},Bone=class extends Object3D{constructor(){super(),this.isBone=!0,this.type=\"Bone\";}},DataTexture=class extends Texture{constructor(data=null,width=1,height=1,format,type,mapping,wrapS,wrapT,magFilter=NearestFilter,minFilter=NearestFilter,anisotropy,colorSpace){super(null,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy,colorSpace),this.isDataTexture=!0,this.image={data,width,height},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1;}},_offsetMatrix=new Matrix4,_identityMatrix=new Matrix4,Skeleton=class _Skeleton{init(){let bones=this.bones,boneInverses=this.boneInverses;if(this.boneMatrices=new Float32Array(bones.length*16),boneInverses.length===0)this.calculateInverses();else if(bones.length!==boneInverses.length){warn(\"Skeleton: Number of inverse bone matrices does not match amount of bones.\"),this.boneInverses=[];for(let i=0,il=this.bones.length;i<il;i++)this.boneInverses.push(new Matrix4);}}calculateInverses(){this.boneInverses.length=0;for(let i=0,il=this.bones.length;i<il;i++){let inverse=new Matrix4;this.bones[i]&&inverse.copy(this.bones[i].matrixWorld).invert(),this.boneInverses.push(inverse);}}pose(){for(let i=0,il=this.bones.length;i<il;i++){let bone=this.bones[i];bone&&bone.matrixWorld.copy(this.boneInverses[i]).invert();}for(let i=0,il=this.bones.length;i<il;i++){let bone=this.bones[i];bone&&(bone.parent&&bone.parent.isBone?(bone.matrix.copy(bone.parent.matrixWorld).invert(),bone.matrix.multiply(bone.matrixWorld)):bone.matrix.copy(bone.matrixWorld),bone.matrix.decompose(bone.position,bone.quaternion,bone.scale));}}update(){let bones=this.bones,boneInverses=this.boneInverses,boneMatrices=this.boneMatrices,boneTexture=this.boneTexture;for(let i=0,il=bones.length;i<il;i++){let matrix=bones[i]?bones[i].matrixWorld:_identityMatrix;_offsetMatrix.multiplyMatrices(matrix,boneInverses[i]),_offsetMatrix.toArray(boneMatrices,i*16);}boneTexture!==null&&(boneTexture.needsUpdate=!0);}clone(){return new _Skeleton(this.bones,this.boneInverses);}computeBoneTexture(){let size=Math.sqrt(this.bones.length*4);size=Math.ceil(size/4)*4,size=Math.max(size,4);let boneMatrices=new Float32Array(size*size*4);boneMatrices.set(this.boneMatrices);let boneTexture=new DataTexture(boneMatrices,size,size,RGBAFormat,FloatType);return boneTexture.needsUpdate=!0,this.boneMatrices=boneMatrices,this.boneTexture=boneTexture,this;}getBoneByName(name){for(let i=0,il=this.bones.length;i<il;i++){let bone=this.bones[i];if(bone.name===name)return bone;}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null);}fromJSON(json,bones){this.uuid=json.uuid;for(let i=0,l=json.bones.length;i<l;i++){let uuid=json.bones[i],bone=bones[uuid];bone===void 0&&(warn(\"Skeleton: No bone found with UUID:\",uuid),bone=new Bone),this.bones.push(bone),this.boneInverses.push(new Matrix4().fromArray(json.boneInverses[i]));}return this.init(),this;}toJSON(){let data={metadata:{version:4.7,type:\"Skeleton\",generator:\"Skeleton.toJSON\"},bones:[],boneInverses:[]};data.uuid=this.uuid;let bones=this.bones,boneInverses=this.boneInverses;for(let i=0,l=bones.length;i<l;i++){let bone=bones[i];data.bones.push(bone.uuid);let boneInverse=boneInverses[i];data.boneInverses.push(boneInverse.toArray());}return data;}constructor(bones=[],boneInverses=[]){this.uuid=generateUUID(),this.bones=bones.slice(0),this.boneInverses=boneInverses,this.boneMatrices=null,this.boneTexture=null,this.init();}},InstancedBufferAttribute=class extends BufferAttribute{copy(source){return super.copy(source),this.meshPerAttribute=source.meshPerAttribute,this;}toJSON(){let data=super.toJSON();return data.meshPerAttribute=this.meshPerAttribute,data.isInstancedBufferAttribute=!0,data;}constructor(array,itemSize,normalized,meshPerAttribute=1){super(array,itemSize,normalized),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=meshPerAttribute;}},_instanceLocalMatrix=new Matrix4,_instanceWorldMatrix=new Matrix4,_instanceIntersects=[],_box3=new Box3,_identity=new Matrix4,_mesh$1=new Mesh,_sphere$4=new Sphere,InstancedMesh=class extends Mesh{computeBoundingBox(){let geometry=this.geometry,count=this.count;this.boundingBox===null&&(this.boundingBox=new Box3),geometry.boundingBox===null&&geometry.computeBoundingBox(),this.boundingBox.makeEmpty();for(let i=0;i<count;i++)this.getMatrixAt(i,_instanceLocalMatrix),_box3.copy(geometry.boundingBox).applyMatrix4(_instanceLocalMatrix),this.boundingBox.union(_box3);}computeBoundingSphere(){let geometry=this.geometry,count=this.count;this.boundingSphere===null&&(this.boundingSphere=new Sphere),geometry.boundingSphere===null&&geometry.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let i=0;i<count;i++)this.getMatrixAt(i,_instanceLocalMatrix),_sphere$4.copy(geometry.boundingSphere).applyMatrix4(_instanceLocalMatrix),this.boundingSphere.union(_sphere$4);}copy(source,recursive){return super.copy(source,recursive),this.instanceMatrix.copy(source.instanceMatrix),source.morphTexture!==null&&(this.morphTexture=source.morphTexture.clone()),source.instanceColor!==null&&(this.instanceColor=source.instanceColor.clone()),this.count=source.count,source.boundingBox!==null&&(this.boundingBox=source.boundingBox.clone()),source.boundingSphere!==null&&(this.boundingSphere=source.boundingSphere.clone()),this;}getColorAt(index,color){return this.instanceColor===null?color.setRGB(1,1,1):color.fromArray(this.instanceColor.array,index*3);}getMatrixAt(index,matrix){return matrix.fromArray(this.instanceMatrix.array,index*16);}getMorphAt(index,object){let objectInfluences=object.morphTargetInfluences,array=this.morphTexture.source.data.data,len=objectInfluences.length+1,dataIndex=index*len+1;for(let i=0;i<objectInfluences.length;i++)objectInfluences[i]=array[dataIndex+i];}raycast(raycaster,intersects2){let matrixWorld=this.matrixWorld,raycastTimes=this.count;if(_mesh$1.geometry=this.geometry,_mesh$1.material=this.material,_mesh$1.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),_sphere$4.copy(this.boundingSphere),_sphere$4.applyMatrix4(matrixWorld),raycaster.ray.intersectsSphere(_sphere$4)!==!1))for(let instanceId=0;instanceId<raycastTimes;instanceId++){this.getMatrixAt(instanceId,_instanceLocalMatrix),_instanceWorldMatrix.multiplyMatrices(matrixWorld,_instanceLocalMatrix),_mesh$1.matrixWorld=_instanceWorldMatrix,_mesh$1.raycast(raycaster,_instanceIntersects);for(let i=0,l=_instanceIntersects.length;i<l;i++){let intersect=_instanceIntersects[i];intersect.instanceId=instanceId,intersect.object=this,intersects2.push(intersect);}_instanceIntersects.length=0;}}setColorAt(index,color){return this.instanceColor===null&&(this.instanceColor=new InstancedBufferAttribute(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),color.toArray(this.instanceColor.array,index*3),this;}setMatrixAt(index,matrix){return matrix.toArray(this.instanceMatrix.array,index*16),this;}setMorphAt(index,object){let objectInfluences=object.morphTargetInfluences,len=objectInfluences.length+1;this.morphTexture===null&&(this.morphTexture=new DataTexture(new Float32Array(len*this.count),len,this.count,RedFormat,FloatType));let array=this.morphTexture.source.data.data,morphInfluencesSum=0;for(let i=0;i<objectInfluences.length;i++)morphInfluencesSum+=objectInfluences[i];let morphBaseInfluence=this.geometry.morphTargetsRelative?1:1-morphInfluencesSum,dataIndex=len*index;return array[dataIndex]=morphBaseInfluence,array.set(objectInfluences,dataIndex+1),this;}updateMorphTargets(){}dispose(){super.dispose(),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null);}constructor(geometry,material,count){super(geometry,material),this.isInstancedMesh=!0,this.instanceMatrix=new InstancedBufferAttribute(new Float32Array(count*16),16),this.instanceColor=null,this.morphTexture=null,this.count=count,this.boundingBox=null,this.boundingSphere=null;for(let i=0;i<count;i++)this.setMatrixAt(i,_identity);}},_sphere$3=new Sphere,_defaultSpriteCenter=new Vector2(.5,.5),_vector$6=new Vector3,Frustum=class{set(p0,p1,p2,p3,p4,p5){let planes=this.planes;return planes[0].copy(p0),planes[1].copy(p1),planes[2].copy(p2),planes[3].copy(p3),planes[4].copy(p4),planes[5].copy(p5),this;}copy(frustum){let planes=this.planes;for(let i=0;i<6;i++)planes[i].copy(frustum.planes[i]);return this;}setFromProjectionMatrix(m,coordinateSystem=WebGLCoordinateSystem,reversedDepth=!1){let planes=this.planes,me=m.elements,me0=me[0],me1=me[1],me2=me[2],me3=me[3],me4=me[4],me5=me[5],me6=me[6],me7=me[7],me8=me[8],me9=me[9],me10=me[10],me11=me[11],me12=me[12],me13=me[13],me14=me[14],me15=me[15];if(planes[0].setComponents(me3-me0,me7-me4,me11-me8,me15-me12).normalize(),planes[1].setComponents(me3+me0,me7+me4,me11+me8,me15+me12).normalize(),planes[2].setComponents(me3+me1,me7+me5,me11+me9,me15+me13).normalize(),planes[3].setComponents(me3-me1,me7-me5,me11-me9,me15-me13).normalize(),reversedDepth)planes[4].setComponents(me2,me6,me10,me14).normalize(),planes[5].setComponents(me3-me2,me7-me6,me11-me10,me15-me14).normalize();else if(planes[4].setComponents(me3-me2,me7-me6,me11-me10,me15-me14).normalize(),coordinateSystem===WebGLCoordinateSystem)planes[5].setComponents(me3+me2,me7+me6,me11+me10,me15+me14).normalize();else if(coordinateSystem===WebGPUCoordinateSystem)planes[5].setComponents(me2,me6,me10,me14).normalize();else throw new Error(\"THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: \"+coordinateSystem);return this;}intersectsObject(object){if(object.boundingSphere!==void 0)object.boundingSphere===null&&object.computeBoundingSphere(),_sphere$3.copy(object.boundingSphere).applyMatrix4(object.matrixWorld);else{let geometry=object.geometry;geometry.boundingSphere===null&&geometry.computeBoundingSphere(),_sphere$3.copy(geometry.boundingSphere).applyMatrix4(object.matrixWorld);}return this.intersectsSphere(_sphere$3);}intersectsSprite(sprite){_sphere$3.center.set(0,0,0);let offset=_defaultSpriteCenter.distanceTo(sprite.center);return _sphere$3.radius=.7071067811865476+offset,_sphere$3.applyMatrix4(sprite.matrixWorld),this.intersectsSphere(_sphere$3);}intersectsSphere(sphere){let planes=this.planes,center=sphere.center,negRadius=-sphere.radius;for(let i=0;i<6;i++)if(planes[i].distanceToPoint(center)<negRadius)return!1;return!0;}intersectsBox(box){let planes=this.planes;for(let i=0;i<6;i++){let plane=planes[i];if(_vector$6.x=plane.normal.x>0?box.max.x:box.min.x,_vector$6.y=plane.normal.y>0?box.max.y:box.min.y,_vector$6.z=plane.normal.z>0?box.max.z:box.min.z,plane.distanceToPoint(_vector$6)<0)return!1;}return!0;}containsPoint(point){let planes=this.planes;for(let i=0;i<6;i++)if(planes[i].distanceToPoint(point)<0)return!1;return!0;}clone(){return new this.constructor().copy(this);}constructor(p0=new Plane,p1=new Plane,p2=new Plane,p3=new Plane,p4=new Plane,p5=new Plane){this.planes=[p0,p1,p2,p3,p4,p5];}};var CubeTexture=class extends Texture{get images(){return this.image;}set images(value){this.image=value;}constructor(images=[],mapping=CubeReflectionMapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy,colorSpace){super(images,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy,colorSpace),this.isCubeTexture=!0,this.flipY=!1;}},CanvasTexture=class extends Texture{constructor(canvas,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy){super(canvas,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy),this.isCanvasTexture=!0,this.needsUpdate=!0;}};var DepthTexture=class extends Texture{copy(source){return super.copy(source),this.source=new TextureSource(Object.assign({},source.image)),this.compareFunction=source.compareFunction,this;}toJSON(meta){let data=super.toJSON(meta);return data.compareFunction=this.compareFunction,data;}constructor(width,height,type=UnsignedIntType,mapping,wrapS,wrapT,magFilter=NearestFilter,minFilter=NearestFilter,anisotropy,format=DepthFormat,depth=1){if(format!==DepthFormat&&format!==DepthStencilFormat)throw new Error(\"THREE.DepthTexture: format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");let image={width,height,depth};super(image,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null;}},CubeDepthTexture=class extends DepthTexture{get images(){return this.image;}set images(value){this.image=value;}constructor(size,type=UnsignedIntType,mapping=CubeReflectionMapping,wrapS,wrapT,magFilter=NearestFilter,minFilter=NearestFilter,anisotropy,format=DepthFormat){let image={width:size,height:size,depth:1},images=[image,image,image,image,image,image];super(size,size,type,mapping,wrapS,wrapT,magFilter,minFilter,anisotropy,format),this.image=images,this.isCubeDepthTexture=!0,this.isCubeTexture=!0;}},ExternalTexture=class extends Texture{copy(source){return super.copy(source),this.sourceTexture=source.sourceTexture,this;}constructor(sourceTexture=null){super(),this.sourceTexture=sourceTexture,this.isExternalTexture=!0;}},BoxGeometry=class _BoxGeometry extends BufferGeometry{copy(source){return super.copy(source),this.parameters=Object.assign({},source.parameters),this;}static fromJSON(data){return new _BoxGeometry(data.width,data.height,data.depth,data.widthSegments,data.heightSegments,data.depthSegments);}constructor(width=1,height=1,depth=1,widthSegments=1,heightSegments=1,depthSegments=1){super(),this.type=\"BoxGeometry\",this.parameters={width,height,depth,widthSegments,heightSegments,depthSegments};let scope=this;widthSegments=Math.floor(widthSegments),heightSegments=Math.floor(heightSegments),depthSegments=Math.floor(depthSegments);let indices=[],vertices=[],normals=[],uvs=[],numberOfVertices=0,groupStart=0;buildPlane(\"z\",\"y\",\"x\",-1,-1,depth,height,width,depthSegments,heightSegments,0),buildPlane(\"z\",\"y\",\"x\",1,-1,depth,height,-width,depthSegments,heightSegments,1),buildPlane(\"x\",\"z\",\"y\",1,1,width,depth,height,widthSegments,depthSegments,2),buildPlane(\"x\",\"z\",\"y\",1,-1,width,depth,-height,widthSegments,depthSegments,3),buildPlane(\"x\",\"y\",\"z\",1,-1,width,height,depth,widthSegments,heightSegments,4),buildPlane(\"x\",\"y\",\"z\",-1,-1,width,height,-depth,widthSegments,heightSegments,5),this.setIndex(indices),this.setAttribute(\"position\",new Float32BufferAttribute(vertices,3)),this.setAttribute(\"normal\",new Float32BufferAttribute(normals,3)),this.setAttribute(\"uv\",new Float32BufferAttribute(uvs,2));function buildPlane(u,v,w,udir,vdir,width2,height2,depth2,gridX,gridY,materialIndex){let segmentWidth=width2/gridX,segmentHeight=height2/gridY,widthHalf=width2/2,heightHalf=height2/2,depthHalf=depth2/2,gridX1=gridX+1,gridY1=gridY+1,vertexCounter=0,groupCount=0,vector=new Vector3;for(let iy=0;iy<gridY1;iy++){let y=iy*segmentHeight-heightHalf;for(let ix=0;ix<gridX1;ix++){let x=ix*segmentWidth-widthHalf;vector[u]=x*udir,vector[v]=y*vdir,vector[w]=depthHalf,vertices.push(vector.x,vector.y,vector.z),vector[u]=0,vector[v]=0,vector[w]=depth2>0?1:-1,normals.push(vector.x,vector.y,vector.z),uvs.push(ix/gridX),uvs.push(1-iy/gridY),vertexCounter+=1;}}for(let iy=0;iy<gridY;iy++)for(let ix=0;ix<gridX;ix++){let a=numberOfVertices+ix+gridX1*iy,b=numberOfVertices+ix+gridX1*(iy+1),c=numberOfVertices+(ix+1)+gridX1*(iy+1),d=numberOfVertices+(ix+1)+gridX1*iy;indices.push(a,b,d),indices.push(b,c,d),groupCount+=6;}scope.addGroup(groupStart,groupCount,materialIndex),groupStart+=groupCount,numberOfVertices+=vertexCounter;}}},CapsuleGeometry=class _CapsuleGeometry extends BufferGeometry{copy(source){return super.copy(source),this.parameters=Object.assign({},source.parameters),this;}static fromJSON(data){return new _CapsuleGeometry(data.radius,data.height,data.capSegments,data.radialSegments,data.heightSegments);}constructor(radius=1,height=1,capSegments=4,radialSegments=8,heightSegments=1){super(),this.type=\"CapsuleGeometry\",this.parameters={radius,height,capSegments,radialSegments,heightSegments},height=Math.max(0,height),capSegments=Math.max(1,Math.floor(capSegments)),radialSegments=Math.max(3,Math.floor(radialSegments)),heightSegments=Math.max(1,Math.floor(heightSegments));let indices=[],vertices=[],normals=[],uvs=[],halfHeight=height/2,capArcLength=Math.PI/2*radius,cylinderPartLength=height,totalArcLength=2*capArcLength+cylinderPartLength,numVerticalSegments=capSegments*2+heightSegments,verticesPerRow=radialSegments+1,normal=new Vector3,vertex2=new Vector3;for(let iy=0;iy<=numVerticalSegments;iy++){let currentArcLength=0,profileY=0,profileRadius=0,normalYComponent=0;if(iy<=capSegments){let segmentProgress=iy/capSegments,angle=segmentProgress*Math.PI/2;profileY=-halfHeight-radius*Math.cos(angle),profileRadius=radius*Math.sin(angle),normalYComponent=-radius*Math.cos(angle),currentArcLength=segmentProgress*capArcLength;}else if(iy<=capSegments+heightSegments){let segmentProgress=(iy-capSegments)/heightSegments;profileY=-halfHeight+segmentProgress*height,profileRadius=radius,normalYComponent=0,currentArcLength=capArcLength+segmentProgress*cylinderPartLength;}else{let segmentProgress=(iy-capSegments-heightSegments)/capSegments,angle=segmentProgress*Math.PI/2;profileY=halfHeight+radius*Math.sin(angle),profileRadius=radius*Math.cos(angle),normalYComponent=radius*Math.sin(angle),currentArcLength=capArcLength+cylinderPartLength+segmentProgress*capArcLength;}let v=Math.max(0,Math.min(1,currentArcLength/totalArcLength)),uOffset=0;iy===0?uOffset=.5/radialSegments:iy===numVerticalSegments&&(uOffset=-.5/radialSegments);for(let ix=0;ix<=radialSegments;ix++){let u=ix/radialSegments,theta=u*Math.PI*2,sinTheta=Math.sin(theta),cosTheta=Math.cos(theta);vertex2.x=-profileRadius*cosTheta,vertex2.y=profileY,vertex2.z=profileRadius*sinTheta,vertices.push(vertex2.x,vertex2.y,vertex2.z),normal.set(-profileRadius*cosTheta,normalYComponent,profileRadius*sinTheta),normal.normalize(),normals.push(normal.x,normal.y,normal.z),uvs.push(u+uOffset,v);}if(iy>0){let prevIndexRow=(iy-1)*verticesPerRow;for(let ix=0;ix<radialSegments;ix++){let i1=prevIndexRow+ix,i2=prevIndexRow+ix+1,i3=iy*verticesPerRow+ix,i4=iy*verticesPerRow+ix+1;indices.push(i1,i2,i3),indices.push(i2,i4,i3);}}}this.setIndex(indices),this.setAttribute(\"position\",new Float32BufferAttribute(vertices,3)),this.setAttribute(\"normal\",new Float32BufferAttribute(normals,3)),this.setAttribute(\"uv\",new Float32BufferAttribute(uvs,2));}};var CylinderGeometry=class _CylinderGeometry extends BufferGeometry{copy(source){return super.copy(source),this.parameters=Object.assign({},source.parameters),this;}static fromJSON(data){return new _CylinderGeometry(data.radiusTop,data.radiusBottom,data.height,data.radialSegments,data.heightSegments,data.openEnded,data.thetaStart,data.thetaLength);}constructor(radiusTop=1,radiusBottom=1,height=1,radialSegments=32,heightSegments=1,openEnded=!1,thetaStart=0,thetaLength=Math.PI*2){super(),this.type=\"CylinderGeometry\",this.parameters={radiusTop,radiusBottom,height,radialSegments,heightSegments,openEnded,thetaStart,thetaLength};let scope=this;radialSegments=Math.floor(radialSegments),heightSegments=Math.floor(heightSegments);let indices=[],vertices=[],normals=[],uvs=[],index=0,indexArray=[],halfHeight=height/2,groupStart=0;generateTorso(),openEnded===!1&&(radiusTop>0&&generateCap(!0),radiusBottom>0&&generateCap(!1)),this.setIndex(indices),this.setAttribute(\"position\",new Float32BufferAttribute(vertices,3)),this.setAttribute(\"normal\",new Float32BufferAttribute(normals,3)),this.setAttribute(\"uv\",new Float32BufferAttribute(uvs,2));function generateTorso(){let normal=new Vector3,vertex2=new Vector3,groupCount=0,slope=(radiusBottom-radiusTop)/height;for(let y=0;y<=heightSegments;y++){let indexRow=[],v=y/heightSegments,radius=v*(radiusBottom-radiusTop)+radiusTop;for(let x=0;x<=radialSegments;x++){let u=x/radialSegments,theta=u*thetaLength+thetaStart,sinTheta=Math.sin(theta),cosTheta=Math.cos(theta);vertex2.x=radius*sinTheta,vertex2.y=-v*height+halfHeight,vertex2.z=radius*cosTheta,vertices.push(vertex2.x,vertex2.y,vertex2.z),normal.set(sinTheta,slope,cosTheta).normalize(),normals.push(normal.x,normal.y,normal.z),uvs.push(u,1-v),indexRow.push(index++);}indexArray.push(indexRow);}for(let x=0;x<radialSegments;x++)for(let y=0;y<heightSegments;y++){let a=indexArray[y][x],b=indexArray[y+1][x],c=indexArray[y+1][x+1],d=indexArray[y][x+1];(radiusTop>0||y!==0)&&(indices.push(a,b,d),groupCount+=3),(radiusBottom>0||y!==heightSegments-1)&&(indices.push(b,c,d),groupCount+=3);}scope.addGroup(groupStart,groupCount,0),groupStart+=groupCount;}function generateCap(top){let centerIndexStart=index,uv=new Vector2,vertex2=new Vector3,groupCount=0,radius=top===!0?radiusTop:radiusBottom,sign2=top===!0?1:-1;for(let x=1;x<=radialSegments;x++)vertices.push(0,halfHeight*sign2,0),normals.push(0,sign2,0),uvs.push(.5,.5),index++;let centerIndexEnd=index;for(let x=0;x<=radialSegments;x++){let theta=x/radialSegments*thetaLength+thetaStart,cosTheta=Math.cos(theta),sinTheta=Math.sin(theta);vertex2.x=radius*sinTheta,vertex2.y=halfHeight*sign2,vertex2.z=radius*cosTheta,vertices.push(vertex2.x,vertex2.y,vertex2.z),normals.push(0,sign2,0),uv.x=cosTheta*.5+.5,uv.y=sinTheta*.5*sign2+.5,uvs.push(uv.x,uv.y),index++;}for(let x=0;x<radialSegments;x++){let c=centerIndexStart+x,i=centerIndexEnd+x;top===!0?indices.push(i,i+1,c):indices.push(i+1,i,c),groupCount+=3;}scope.addGroup(groupStart,groupCount,top===!0?1:2),groupStart+=groupCount;}}},ConeGeometry=class _ConeGeometry extends CylinderGeometry{static fromJSON(data){return new _ConeGeometry(data.radius,data.height,data.radialSegments,data.heightSegments,data.openEnded,data.thetaStart,data.thetaLength);}constructor(radius=1,height=1,radialSegments=32,heightSegments=1,openEnded=!1,thetaStart=0,thetaLength=Math.PI*2){super(0,radius,height,radialSegments,heightSegments,openEnded,thetaStart,thetaLength),this.type=\"ConeGeometry\",this.parameters={radius,height,radialSegments,heightSegments,openEnded,thetaStart,thetaLength};}};function earcut(data,holeIndices,dim=2){let hasHoles=holeIndices&&holeIndices.length,outerLen=hasHoles?holeIndices[0]*dim:data.length,outerNode=linkedList(data,0,outerLen,dim,!0),triangles=[];if(!outerNode||outerNode.next===outerNode.prev)return triangles;let minX,minY,invSize;if(hasHoles&&(outerNode=eliminateHoles(data,holeIndices,outerNode,dim)),data.length>80*dim){minX=data[0],minY=data[1];let maxX=minX,maxY=minY;for(let i=dim;i<outerLen;i+=dim){let x=data[i],y=data[i+1];x<minX&&(minX=x),y<minY&&(minY=y),x>maxX&&(maxX=x),y>maxY&&(maxY=y);}invSize=Math.max(maxX-minX,maxY-minY),invSize=invSize!==0?32767/invSize:0;}return earcutLinked(outerNode,triangles,dim,minX,minY,invSize,0),triangles;}function linkedList(data,start,end,dim,clockwise){let last;if(clockwise===signedArea(data,start,end,dim)>0)for(let i=start;i<end;i+=dim)last=insertNode(i/dim|0,data[i],data[i+1],last);else for(let i=end-dim;i>=start;i-=dim)last=insertNode(i/dim|0,data[i],data[i+1],last);return last&&equals(last,last.next)&&(removeNode(last),last=last.next),last;}function filterPoints(start,end){if(!start)return start;end||(end=start);let p=start,again;do if(again=!1,!p.steiner&&(equals(p,p.next)||area(p.prev,p,p.next)===0)){if(removeNode(p),p=end=p.prev,p===p.next)break;again=!0;}else p=p.next;while(again||p!==end)return end;}function earcutLinked(ear,triangles,dim,minX,minY,invSize,pass){if(!ear)return;!pass&&invSize&&indexCurve(ear,minX,minY,invSize);let stop=ear;for(;ear.prev!==ear.next;){let prev=ear.prev,next=ear.next;if(invSize?isEarHashed(ear,minX,minY,invSize):isEar(ear)){triangles.push(prev.i,ear.i,next.i),removeNode(ear),ear=next.next,stop=next.next;continue;}if(ear=next,ear===stop){pass?pass===1?(ear=cureLocalIntersections(filterPoints(ear),triangles),earcutLinked(ear,triangles,dim,minX,minY,invSize,2)):pass===2&&splitEarcut(ear,triangles,dim,minX,minY,invSize):earcutLinked(filterPoints(ear),triangles,dim,minX,minY,invSize,1);break;}}}function isEar(ear){let a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0)return!1;let ax=a.x,bx=b.x,cx=c.x,ay=a.y,by=b.y,cy=c.y,x0=Math.min(ax,bx,cx),y0=Math.min(ay,by,cy),x1=Math.max(ax,bx,cx),y1=Math.max(ay,by,cy),p=c.next;for(;p!==a;){if(p.x>=x0&&p.x<=x1&&p.y>=y0&&p.y<=y1&&pointInTriangleExceptFirst(ax,ay,bx,by,cx,cy,p.x,p.y)&&area(p.prev,p,p.next)>=0)return!1;p=p.next;}return!0;}function isEarHashed(ear,minX,minY,invSize){let a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0)return!1;let ax=a.x,bx=b.x,cx=c.x,ay=a.y,by=b.y,cy=c.y,x0=Math.min(ax,bx,cx),y0=Math.min(ay,by,cy),x1=Math.max(ax,bx,cx),y1=Math.max(ay,by,cy),minZ=zOrder(x0,y0,minX,minY,invSize),maxZ=zOrder(x1,y1,minX,minY,invSize),p=ear.prevZ,n=ear.nextZ;for(;p&&p.z>=minZ&&n&&n.z<=maxZ;){if(p.x>=x0&&p.x<=x1&&p.y>=y0&&p.y<=y1&&p!==a&&p!==c&&pointInTriangleExceptFirst(ax,ay,bx,by,cx,cy,p.x,p.y)&&area(p.prev,p,p.next)>=0||(p=p.prevZ,n.x>=x0&&n.x<=x1&&n.y>=y0&&n.y<=y1&&n!==a&&n!==c&&pointInTriangleExceptFirst(ax,ay,bx,by,cx,cy,n.x,n.y)&&area(n.prev,n,n.next)>=0))return!1;n=n.nextZ;}for(;p&&p.z>=minZ;){if(p.x>=x0&&p.x<=x1&&p.y>=y0&&p.y<=y1&&p!==a&&p!==c&&pointInTriangleExceptFirst(ax,ay,bx,by,cx,cy,p.x,p.y)&&area(p.prev,p,p.next)>=0)return!1;p=p.prevZ;}for(;n&&n.z<=maxZ;){if(n.x>=x0&&n.x<=x1&&n.y>=y0&&n.y<=y1&&n!==a&&n!==c&&pointInTriangleExceptFirst(ax,ay,bx,by,cx,cy,n.x,n.y)&&area(n.prev,n,n.next)>=0)return!1;n=n.nextZ;}return!0;}function cureLocalIntersections(start,triangles){let p=start;do{let a=p.prev,b=p.next.next;!equals(a,b)&&intersects(a,p,p.next,b)&&locallyInside(a,b)&&locallyInside(b,a)&&(triangles.push(a.i,p.i,b.i),removeNode(p),removeNode(p.next),p=start=b),p=p.next;}while(p!==start)return filterPoints(p);}function splitEarcut(start,triangles,dim,minX,minY,invSize){let a=start;do{let b=a.next.next;for(;b!==a.prev;){if(a.i!==b.i&&isValidDiagonal(a,b)){let c=splitPolygon(a,b);a=filterPoints(a,a.next),c=filterPoints(c,c.next),earcutLinked(a,triangles,dim,minX,minY,invSize,0),earcutLinked(c,triangles,dim,minX,minY,invSize,0);return;}b=b.next;}a=a.next;}while(a!==start)}function eliminateHoles(data,holeIndices,outerNode,dim){let queue=[];for(let i=0,len=holeIndices.length;i<len;i++){let start=holeIndices[i]*dim,end=i<len-1?holeIndices[i+1]*dim:data.length,list=linkedList(data,start,end,dim,!1);list===list.next&&(list.steiner=!0),queue.push(getLeftmost(list));}queue.sort(compareXYSlope);for(let i=0;i<queue.length;i++)outerNode=eliminateHole(queue[i],outerNode);return outerNode;}function compareXYSlope(a,b){let result=a.x-b.x;if(result===0&&(result=a.y-b.y,result===0)){let aSlope=(a.next.y-a.y)/(a.next.x-a.x),bSlope=(b.next.y-b.y)/(b.next.x-b.x);result=aSlope-bSlope;}return result;}function eliminateHole(hole,outerNode){let bridge=findHoleBridge(hole,outerNode);if(!bridge)return outerNode;let bridgeReverse=splitPolygon(bridge,hole);return filterPoints(bridgeReverse,bridgeReverse.next),filterPoints(bridge,bridge.next);}function findHoleBridge(hole,outerNode){let p=outerNode,hx=hole.x,hy=hole.y,qx=-1/0,m;if(equals(hole,p))return p;do{if(equals(hole,p.next))return p.next;if(hy<=p.y&&hy>=p.next.y&&p.next.y!==p.y){let x=p.x+(hy-p.y)*(p.next.x-p.x)/(p.next.y-p.y);if(x<=hx&&x>qx&&(qx=x,m=p.x<p.next.x?p:p.next,x===hx))return m;}p=p.next;}while(p!==outerNode)if(!m)return null;let stop=m,mx=m.x,my=m.y,tanMin=1/0;p=m;do{if(hx>=p.x&&p.x>=mx&&hx!==p.x&&pointInTriangle(hy<my?hx:qx,hy,mx,my,hy<my?qx:hx,hy,p.x,p.y)){let tan=Math.abs(hy-p.y)/(hx-p.x);locallyInside(p,hole)&&(tan<tanMin||tan===tanMin&&(p.x>m.x||p.x===m.x&&sectorContainsSector(m,p)))&&(m=p,tanMin=tan);}p=p.next;}while(p!==stop)return m;}function sectorContainsSector(m,p){return area(m.prev,m,p.prev)<0&&area(p.next,m,m.next)<0;}function indexCurve(start,minX,minY,invSize){let p=start;do p.z===0&&(p.z=zOrder(p.x,p.y,minX,minY,invSize)),p.prevZ=p.prev,p.nextZ=p.next,p=p.next;while(p!==start)p.prevZ.nextZ=null,p.prevZ=null,sortLinked(p);}function sortLinked(list){let numMerges,inSize=1;do{let p=list,e;list=null;let tail=null;for(numMerges=0;p;){numMerges++;let q=p,pSize=0;for(let i=0;i<inSize&&(pSize++,q=q.nextZ,!!q);i++);let qSize=inSize;for(;pSize>0||qSize>0&&q;)pSize!==0&&(qSize===0||!q||p.z<=q.z)?(e=p,p=p.nextZ,pSize--):(e=q,q=q.nextZ,qSize--),tail?tail.nextZ=e:list=e,e.prevZ=tail,tail=e;p=q;}tail.nextZ=null,inSize*=2;}while(numMerges>1)return list;}function zOrder(x,y,minX,minY,invSize){return x=(x-minX)*invSize|0,y=(y-minY)*invSize|0,x=(x|x<<8)&16711935,x=(x|x<<4)&252645135,x=(x|x<<2)&858993459,x=(x|x<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,x|y<<1;}function getLeftmost(start){let p=start,leftmost=start;do(p.x<leftmost.x||p.x===leftmost.x&&p.y<leftmost.y)&&(leftmost=p),p=p.next;while(p!==start)return leftmost;}function pointInTriangle(ax,ay,bx,by,cx,cy,px,py){return(cx-px)*(ay-py)>=(ax-px)*(cy-py)&&(ax-px)*(by-py)>=(bx-px)*(ay-py)&&(bx-px)*(cy-py)>=(cx-px)*(by-py);}function pointInTriangleExceptFirst(ax,ay,bx,by,cx,cy,px,py){return!(ax===px&&ay===py)&&pointInTriangle(ax,ay,bx,by,cx,cy,px,py);}function isValidDiagonal(a,b){return a.next.i!==b.i&&a.prev.i!==b.i&&!intersectsPolygon(a,b)&&(locallyInside(a,b)&&locallyInside(b,a)&&middleInside(a,b)&&(area(a.prev,a,b.prev)||area(a,b.prev,b))||equals(a,b)&&area(a.prev,a,a.next)>0&&area(b.prev,b,b.next)>0);}function area(p,q,r){return(q.y-p.y)*(r.x-q.x)-(q.x-p.x)*(r.y-q.y);}function equals(p1,p2){return p1.x===p2.x&&p1.y===p2.y;}function intersects(p1,q1,p2,q2){let o1=sign(area(p1,q1,p2)),o2=sign(area(p1,q1,q2)),o3=sign(area(p2,q2,p1)),o4=sign(area(p2,q2,q1));return!!(o1!==o2&&o3!==o4||o1===0&&onSegment(p1,p2,q1)||o2===0&&onSegment(p1,q2,q1)||o3===0&&onSegment(p2,p1,q2)||o4===0&&onSegment(p2,q1,q2));}function onSegment(p,q,r){return q.x<=Math.max(p.x,r.x)&&q.x>=Math.min(p.x,r.x)&&q.y<=Math.max(p.y,r.y)&&q.y>=Math.min(p.y,r.y);}function sign(num){return num>0?1:num<0?-1:0;}function intersectsPolygon(a,b){let p=a;do{if(p.i!==a.i&&p.next.i!==a.i&&p.i!==b.i&&p.next.i!==b.i&&intersects(p,p.next,a,b))return!0;p=p.next;}while(p!==a)return!1;}function locallyInside(a,b){return area(a.prev,a,a.next)<0?area(a,b,a.next)>=0&&area(a,a.prev,b)>=0:area(a,b,a.prev)<0||area(a,a.next,b)<0;}function middleInside(a,b){let p=a,inside=!1,px=(a.x+b.x)/2,py=(a.y+b.y)/2;do p.y>py!=p.next.y>py&&p.next.y!==p.y&&px<(p.next.x-p.x)*(py-p.y)/(p.next.y-p.y)+p.x&&(inside=!inside),p=p.next;while(p!==a)return inside;}function splitPolygon(a,b){let a2=createNode(a.i,a.x,a.y),b2=createNode(b.i,b.x,b.y),an=a.next,bp=b.prev;return a.next=b,b.prev=a,a2.next=an,an.prev=a2,b2.next=a2,a2.prev=b2,bp.next=b2,b2.prev=bp,b2;}function insertNode(i,x,y,last){let p=createNode(i,x,y);return last?(p.next=last.next,p.prev=last,last.next.prev=p,last.next=p):(p.prev=p,p.next=p),p;}function removeNode(p){p.next.prev=p.prev,p.prev.next=p.next,p.prevZ&&(p.prevZ.nextZ=p.nextZ),p.nextZ&&(p.nextZ.prevZ=p.prevZ);}function createNode(i,x,y){return{i,x,y,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1};}function signedArea(data,start,end,dim){let sum=0;for(let i=start,j=end-dim;i<end;i+=dim)sum+=(data[j]-data[i])*(data[i+1]+data[j+1]),j=i;return sum;}var Earcut=class{static triangulate(data,holeIndices,dim=2){return earcut(data,holeIndices,dim);}},ShapeUtils=class _ShapeUtils{static area(contour){let n=contour.length,a=0;for(let p=n-1,q=0;q<n;p=q++)a+=contour[p].x*contour[q].y-contour[q].x*contour[p].y;return a*.5;}static isClockWise(pts){return _ShapeUtils.area(pts)<0;}static triangulateShape(contour,holes){let vertices=[],holeIndices=[],faces=[];removeDupEndPts(contour),addContour(vertices,contour);let holeIndex=contour.length;holes.forEach(removeDupEndPts);for(let i=0;i<holes.length;i++)holeIndices.push(holeIndex),holeIndex+=holes[i].length,addContour(vertices,holes[i]);let triangles=Earcut.triangulate(vertices,holeIndices);for(let i=0;i<triangles.length;i+=3)faces.push(triangles.slice(i,i+3));return faces;}};function removeDupEndPts(points){let l=points.length;l>2&&points[l-1].equals(points[0])&&points.pop();}function addContour(vertices,contour){for(let i=0;i<contour.length;i++)vertices.push(contour[i].x),vertices.push(contour[i].y);}var PlaneGeometry=class _PlaneGeometry extends BufferGeometry{copy(source){return super.copy(source),this.parameters=Object.assign({},source.parameters),this;}static fromJSON(data){return new _PlaneGeometry(data.width,data.height,data.widthSegments,data.heightSegments);}constructor(width=1,height=1,widthSegments=1,heightSegments=1){super(),this.type=\"PlaneGeometry\",this.parameters={width,height,widthSegments,heightSegments};let width_half=width/2,height_half=height/2,gridX=Math.floor(widthSegments),gridY=Math.floor(heightSegments),gridX1=gridX+1,gridY1=gridY+1,segment_width=width/gridX,segment_height=height/gridY,indices=[],vertices=[],normals=[],uvs=[];for(let iy=0;iy<gridY1;iy++){let y=iy*segment_height-height_half;for(let ix=0;ix<gridX1;ix++){let x=ix*segment_width-width_half;vertices.push(x,-y,0),normals.push(0,0,1),uvs.push(ix/gridX),uvs.push(1-iy/gridY);}}for(let iy=0;iy<gridY;iy++)for(let ix=0;ix<gridX;ix++){let a=ix+gridX1*iy,b=ix+gridX1*(iy+1),c=ix+1+gridX1*(iy+1),d=ix+1+gridX1*iy;indices.push(a,b,d),indices.push(b,c,d);}this.setIndex(indices),this.setAttribute(\"position\",new Float32BufferAttribute(vertices,3)),this.setAttribute(\"normal\",new Float32BufferAttribute(normals,3)),this.setAttribute(\"uv\",new Float32BufferAttribute(uvs,2));}};var SphereGeometry=class _SphereGeometry extends BufferGeometry{copy(source){return super.copy(source),this.parameters=Object.assign({},source.parameters),this;}static fromJSON(data){return new _SphereGeometry(data.radius,data.widthSegments,data.heightSegments,data.phiStart,data.phiLength,data.thetaStart,data.thetaLength);}constructor(radius=1,widthSegments=32,heightSegments=16,phiStart=0,phiLength=Math.PI*2,thetaStart=0,thetaLength=Math.PI){super(),this.type=\"SphereGeometry\",this.parameters={radius,widthSegments,heightSegments,phiStart,phiLength,thetaStart,thetaLength},widthSegments=Math.max(3,Math.floor(widthSegments)),heightSegments=Math.max(2,Math.floor(heightSegments));let thetaEnd=Math.min(thetaStart+thetaLength,Math.PI),index=0,grid=[],vertex2=new Vector3,normal=new Vector3,indices=[],vertices=[],normals=[],uvs=[];for(let iy=0;iy<=heightSegments;iy++){let verticesRow=[],v=iy/heightSegments,theta=thetaStart+v*thetaLength,y=radius*Math.cos(theta),ringRadius=Math.sqrt(radius*radius-y*y),uOffset=0;iy===0&&thetaStart===0?uOffset=.5/widthSegments:iy===heightSegments&&thetaEnd===Math.PI&&(uOffset=-.5/widthSegments);for(let ix=0;ix<=widthSegments;ix++){let u=ix/widthSegments,phi=phiStart+u*phiLength;vertex2.x=-ringRadius*Math.cos(phi),vertex2.y=y,vertex2.z=ringRadius*Math.sin(phi),vertices.push(vertex2.x,vertex2.y,vertex2.z),normal.copy(vertex2).normalize(),normals.push(normal.x,normal.y,normal.z),uvs.push(u+uOffset,1-v),verticesRow.push(index++);}grid.push(verticesRow);}for(let iy=0;iy<heightSegments;iy++)for(let ix=0;ix<widthSegments;ix++){let a=grid[iy][ix+1],b=grid[iy][ix],c=grid[iy+1][ix],d=grid[iy+1][ix+1];(iy!==0||thetaStart>0)&&indices.push(a,b,d),(iy!==heightSegments-1||thetaEnd<Math.PI)&&indices.push(b,c,d);}this.setIndex(indices),this.setAttribute(\"position\",new Float32BufferAttribute(vertices,3)),this.setAttribute(\"normal\",new Float32BufferAttribute(normals,3)),this.setAttribute(\"uv\",new Float32BufferAttribute(uvs,2));}};function cloneUniforms(src){let dst={};for(let u in src){dst[u]={};for(let p in src[u]){let property=src[u][p];if(isThreeObject(property))property.isRenderTargetTexture?(warn(\"UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms().\"),dst[u][p]=null):dst[u][p]=property.clone();else if(Array.isArray(property))if(isThreeObject(property[0])){let clonedProperty=[];for(let i=0,l=property.length;i<l;i++)clonedProperty[i]=property[i].clone();dst[u][p]=clonedProperty;}else dst[u][p]=property.slice();else dst[u][p]=property;}}return dst;}function mergeUniforms(uniforms){let merged={};for(let u=0;u<uniforms.length;u++){let tmp=cloneUniforms(uniforms[u]);for(let p in tmp)merged[p]=tmp[p];}return merged;}function isThreeObject(property){return property&&(property.isColor||property.isMatrix3||property.isMatrix4||property.isVector2||property.isVector3||property.isVector4||property.isTexture||property.isQuaternion);}function cloneUniformsGroups(src){let dst=[];for(let u=0;u<src.length;u++)dst.push(src[u].clone());return dst;}function getUnlitUniformColorSpace(renderer){let currentRenderTarget=renderer.getRenderTarget();return currentRenderTarget===null?renderer.outputColorSpace:currentRenderTarget.isXRRenderTarget===!0?currentRenderTarget.texture.colorSpace:ColorManagement.workingColorSpace;}var UniformsUtils={clone:cloneUniforms,merge:mergeUniforms},default_vertex=`void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}`,default_fragment=`void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}`,ShaderMaterial=class extends Material{copy(source){return super.copy(source),this.fragmentShader=source.fragmentShader,this.vertexShader=source.vertexShader,this.uniforms=cloneUniforms(source.uniforms),this.uniformsGroups=cloneUniformsGroups(source.uniformsGroups),this.defines=Object.assign({},source.defines),this.wireframe=source.wireframe,this.wireframeLinewidth=source.wireframeLinewidth,this.fog=source.fog,this.lights=source.lights,this.clipping=source.clipping,this.extensions=Object.assign({},source.extensions),this.glslVersion=source.glslVersion,this.defaultAttributeValues=Object.assign({},source.defaultAttributeValues),this.index0AttributeName=source.index0AttributeName,this.uniformsNeedUpdate=source.uniformsNeedUpdate,this;}toJSON(meta){let data=super.toJSON(meta);data.glslVersion=this.glslVersion,data.uniforms={};for(let name in this.uniforms){let value=this.uniforms[name].value;value&&value.isTexture?data.uniforms[name]={type:\"t\",value:value.toJSON(meta).uuid}:value&&value.isColor?data.uniforms[name]={type:\"c\",value:value.getHex()}:value&&value.isVector2?data.uniforms[name]={type:\"v2\",value:value.toArray()}:value&&value.isVector3?data.uniforms[name]={type:\"v3\",value:value.toArray()}:value&&value.isVector4?data.uniforms[name]={type:\"v4\",value:value.toArray()}:value&&value.isMatrix3?data.uniforms[name]={type:\"m3\",value:value.toArray()}:value&&value.isMatrix4?data.uniforms[name]={type:\"m4\",value:value.toArray()}:data.uniforms[name]={value};}Object.keys(this.defines).length>0&&(data.defines=this.defines),data.vertexShader=this.vertexShader,data.fragmentShader=this.fragmentShader,data.lights=this.lights,data.clipping=this.clipping;let extensions={};for(let key in this.extensions)this.extensions[key]===!0&&(extensions[key]=!0);return Object.keys(extensions).length>0&&(data.extensions=extensions),data;}fromJSON(json,textures){if(super.fromJSON(json,textures),json.uniforms!==void 0)for(let name in json.uniforms){let uniform=json.uniforms[name];switch(this.uniforms[name]={},uniform.type){case\"t\":this.uniforms[name].value=textures[uniform.value]||null;break;case\"c\":this.uniforms[name].value=new Color().setHex(uniform.value);break;case\"v2\":this.uniforms[name].value=new Vector2().fromArray(uniform.value);break;case\"v3\":this.uniforms[name].value=new Vector3().fromArray(uniform.value);break;case\"v4\":this.uniforms[name].value=new Vector4().fromArray(uniform.value);break;case\"m3\":this.uniforms[name].value=new Matrix3().fromArray(uniform.value);break;case\"m4\":this.uniforms[name].value=new Matrix4().fromArray(uniform.value);break;default:this.uniforms[name].value=uniform.value;}}if(json.defines!==void 0&&(this.defines=json.defines),json.vertexShader!==void 0&&(this.vertexShader=json.vertexShader),json.fragmentShader!==void 0&&(this.fragmentShader=json.fragmentShader),json.glslVersion!==void 0&&(this.glslVersion=json.glslVersion),json.extensions!==void 0)for(let key in json.extensions)this.extensions[key]=json.extensions[key];return json.lights!==void 0&&(this.lights=json.lights),json.clipping!==void 0&&(this.clipping=json.clipping),this;}constructor(parameters){super(),this.isShaderMaterial=!0,this.type=\"ShaderMaterial\",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=default_vertex,this.fragmentShader=default_fragment,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,parameters!==void 0&&this.setValues(parameters);}},RawShaderMaterial=class extends ShaderMaterial{constructor(parameters){super(parameters),this.isRawShaderMaterial=!0,this.type=\"RawShaderMaterial\";}},MeshStandardMaterial=class extends Material{copy(source){return super.copy(source),this.defines={STANDARD:\"\"},this.color.copy(source.color),this.roughness=source.roughness,this.metalness=source.metalness,this.map=source.map,this.lightMap=source.lightMap,this.lightMapIntensity=source.lightMapIntensity,this.aoMap=source.aoMap,this.aoMapIntensity=source.aoMapIntensity,this.emissive.copy(source.emissive),this.emissiveMap=source.emissiveMap,this.emissiveIntensity=source.emissiveIntensity,this.bumpMap=source.bumpMap,this.bumpScale=source.bumpScale,this.normalMap=source.normalMap,this.normalMapType=source.normalMapType,this.normalScale.copy(source.normalScale),this.displacementMap=source.displacementMap,this.displacementScale=source.displacementScale,this.displacementBias=source.displacementBias,this.roughnessMap=source.roughnessMap,this.metalnessMap=source.metalnessMap,this.alphaMap=source.alphaMap,this.envMap=source.envMap,this.envMapRotation.copy(source.envMapRotation),this.envMapIntensity=source.envMapIntensity,this.wireframe=source.wireframe,this.wireframeLinewidth=source.wireframeLinewidth,this.wireframeLinecap=source.wireframeLinecap,this.wireframeLinejoin=source.wireframeLinejoin,this.flatShading=source.flatShading,this.fog=source.fog,this;}constructor(parameters){super(),this.isMeshStandardMaterial=!0,this.type=\"MeshStandardMaterial\",this.defines={STANDARD:\"\"},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=TangentSpaceNormalMap,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.envMapRotation=new Euler,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.flatShading=!1,this.fog=!0,this.setValues(parameters);}},MeshPhysicalMaterial=class extends MeshStandardMaterial{get anisotropy(){return this._anisotropy;}set anisotropy(value){this._anisotropy>0!=value>0&&this.version++,this._anisotropy=value;}get clearcoat(){return this._clearcoat;}set clearcoat(value){this._clearcoat>0!=value>0&&this.version++,this._clearcoat=value;}get iridescence(){return this._iridescence;}set iridescence(value){this._iridescence>0!=value>0&&this.version++,this._iridescence=value;}get dispersion(){return this._dispersion;}set dispersion(value){this._dispersion>0!=value>0&&this.version++,this._dispersion=value;}get retroreflectivity(){return this._retroreflectivity;}set retroreflectivity(value){this._retroreflectivity>0!=value>0&&this.version++,this._retroreflectivity=value;}get sheen(){return this._sheen;}set sheen(value){this._sheen>0!=value>0&&this.version++,this._sheen=value;}get transmission(){return this._transmission;}set transmission(value){this._transmission>0!=value>0&&this.version++,this._transmission=value;}copy(source){return super.copy(source),this.defines={STANDARD:\"\",PHYSICAL:\"\"},this.anisotropy=source.anisotropy,this.anisotropyRotation=source.anisotropyRotation,this.anisotropyMap=source.anisotropyMap,this.clearcoat=source.clearcoat,this.clearcoatMap=source.clearcoatMap,this.clearcoatRoughness=source.clearcoatRoughness,this.clearcoatRoughnessMap=source.clearcoatRoughnessMap,this.clearcoatNormalMap=source.clearcoatNormalMap,this.clearcoatNormalScale.copy(source.clearcoatNormalScale),this.dispersion=source.dispersion,this.ior=source.ior,this.iridescence=source.iridescence,this.iridescenceMap=source.iridescenceMap,this.iridescenceIOR=source.iridescenceIOR,this.iridescenceThicknessRange=[...source.iridescenceThicknessRange],this.iridescenceThicknessMap=source.iridescenceThicknessMap,this.retroreflectivity=source.retroreflectivity,this.sheen=source.sheen,this.sheenColor.copy(source.sheenColor),this.sheenColorMap=source.sheenColorMap,this.sheenRoughness=source.sheenRoughness,this.sheenRoughnessMap=source.sheenRoughnessMap,this.transmission=source.transmission,this.transmissionMap=source.transmissionMap,this.thickness=source.thickness,this.thicknessMap=source.thicknessMap,this.attenuationDistance=source.attenuationDistance,this.attenuationColor.copy(source.attenuationColor),this.specularIntensity=source.specularIntensity,this.specularIntensityMap=source.specularIntensityMap,this.specularColor.copy(source.specularColor),this.specularColorMap=source.specularColorMap,this;}constructor(parameters){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 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(reflectivity){this.ior=(1+.4*reflectivity)/(1-.4*reflectivity);}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,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=1/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._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._retroreflectivity=0,this._sheen=0,this._transmission=0,this.setValues(parameters);}};var MeshLambertMaterial=class extends Material{copy(source){return super.copy(source),this.color.copy(source.color),this.map=source.map,this.lightMap=source.lightMap,this.lightMapIntensity=source.lightMapIntensity,this.aoMap=source.aoMap,this.aoMapIntensity=source.aoMapIntensity,this.emissive.copy(source.emissive),this.emissiveMap=source.emissiveMap,this.emissiveIntensity=source.emissiveIntensity,this.bumpMap=source.bumpMap,this.bumpScale=source.bumpScale,this.normalMap=source.normalMap,this.normalMapType=source.normalMapType,this.normalScale.copy(source.normalScale),this.displacementMap=source.displacementMap,this.displacementScale=source.displacementScale,this.displacementBias=source.displacementBias,this.specularMap=source.specularMap,this.alphaMap=source.alphaMap,this.envMap=source.envMap,this.envMapRotation.copy(source.envMapRotation),this.combine=source.combine,this.reflectivity=source.reflectivity,this.envMapIntensity=source.envMapIntensity,this.refractionRatio=source.refractionRatio,this.wireframe=source.wireframe,this.wireframeLinewidth=source.wireframeLinewidth,this.wireframeLinecap=source.wireframeLinecap,this.wireframeLinejoin=source.wireframeLinejoin,this.flatShading=source.flatShading,this.fog=source.fog,this;}constructor(parameters){super(),this.isMeshLambertMaterial=!0,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.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TangentSpaceNormalMap,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.envMapRotation=new Euler,this.combine=MultiplyOperation,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(parameters);}},MeshDepthMaterial=class extends Material{copy(source){return super.copy(source),this.depthPacking=source.depthPacking,this.map=source.map,this.alphaMap=source.alphaMap,this.displacementMap=source.displacementMap,this.displacementScale=source.displacementScale,this.displacementBias=source.displacementBias,this.wireframe=source.wireframe,this.wireframeLinewidth=source.wireframeLinewidth,this;}constructor(parameters){super(),this.isMeshDepthMaterial=!0,this.type=\"MeshDepthMaterial\",this.depthPacking=BasicDepthPacking,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(parameters);}},MeshDistanceMaterial=class extends Material{copy(source){return super.copy(source),this.map=source.map,this.alphaMap=source.alphaMap,this.displacementMap=source.displacementMap,this.displacementScale=source.displacementScale,this.displacementBias=source.displacementBias,this;}constructor(parameters){super(),this.isMeshDistanceMaterial=!0,this.type=\"MeshDistanceMaterial\",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(parameters);}};function convertArray(array,type){return!array||array.constructor===type?array:typeof type.BYTES_PER_ELEMENT==\"number\"?new type(array):Array.prototype.slice.call(array);}function hasTangents(settings){return settings!==void 0&&settings.inTangents!==void 0&&settings.outTangents!==void 0;}function getKeyframeOrder(times){function compareTime(i,j){return times[i]-times[j];}let n=times.length,result=new Array(n);for(let i=0;i!==n;++i)result[i]=i;return result.sort(compareTime),result;}function sortedArray(values,stride,order){let nValues=values.length,result=new values.constructor(nValues);for(let i=0,dstOffset=0;dstOffset!==nValues;++i){let srcOffset=order[i]*stride;for(let j=0;j!==stride;++j)result[dstOffset++]=values[srcOffset+j];}return result;}function flattenJSON(jsonKeys,times,values,valuePropertyName){let i=1,key=jsonKeys[0];for(;key!==void 0&&key[valuePropertyName]===void 0;)key=jsonKeys[i++];if(key===void 0)return;let value=key[valuePropertyName];if(value!==void 0)if(Array.isArray(value))do value=key[valuePropertyName],value!==void 0&&(times.push(key.time),values.push(...value)),key=jsonKeys[i++];while(key!==void 0)else if(value.toArray!==void 0)do value=key[valuePropertyName],value!==void 0&&(times.push(key.time),value.toArray(values,values.length)),key=jsonKeys[i++];while(key!==void 0)else do value=key[valuePropertyName],value!==void 0&&(times.push(key.time),values.push(value)),key=jsonKeys[i++];while(key!==void 0)}var Interpolant=class{evaluate(t){let pp=this.parameterPositions,i1=this._cachedIndex,t1=pp[i1],t0=pp[i1-1];validate_interval:{seek:{let right;linear_scan:{forward_scan:if(!(t<t1)){for(let giveUpAt=i1+2;;){if(t1===void 0){if(t<t0)break forward_scan;return i1=pp.length,this._cachedIndex=i1,this.copySampleValue_(i1-1);}if(i1===giveUpAt)break;if(t0=t1,t1=pp[++i1],t<t1)break seek;}right=pp.length;break linear_scan;}if(!(t>=t0)){let t1global=pp[1];t<t1global&&(i1=2,t0=t1global);for(let giveUpAt=i1-2;;){if(t0===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i1===giveUpAt)break;if(t1=t0,t0=pp[--i1-1],t>=t0)break seek;}right=i1,i1=0;break linear_scan;}break validate_interval;}for(;i1<right;){let mid=i1+right>>>1;t<pp[mid]?right=mid:i1=mid+1;}if(t1=pp[i1],t0=pp[i1-1],t0===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(t1===void 0)return i1=pp.length,this._cachedIndex=i1,this.copySampleValue_(i1-1);}this._cachedIndex=i1,this.intervalChanged_(i1,t0,t1);}return this.interpolate_(i1,t0,t,t1);}getSettings_(){return this.settings||this.DefaultSettings_;}copySampleValue_(index){let result=this.resultBuffer,values=this.sampleValues,stride=this.valueSize,offset=index*stride;for(let i=0;i!==stride;++i)result[i]=values[offset+i];return result;}interpolate_(){throw new Error(\"THREE.Interpolant: Call to abstract method.\");}intervalChanged_(){}constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){this.parameterPositions=parameterPositions,this._cachedIndex=0,this.resultBuffer=resultBuffer!==void 0?resultBuffer:new sampleValues.constructor(sampleSize),this.sampleValues=sampleValues,this.valueSize=sampleSize,this.settings=null,this.DefaultSettings_={};}},CubicInterpolant=class extends Interpolant{intervalChanged_(i1,t0,t1){let pp=this.parameterPositions,iPrev=i1-2,iNext=i1+1,tPrev=pp[iPrev],tNext=pp[iNext];if(tPrev===void 0)switch(this.getSettings_().endingStart){case ZeroSlopeEnding:iPrev=i1,tPrev=2*t0-t1;break;case WrapAroundEnding:iPrev=pp.length-2,tPrev=t0+pp[iPrev]-pp[iPrev+1];break;default:iPrev=i1,tPrev=t1;}if(tNext===void 0)switch(this.getSettings_().endingEnd){case ZeroSlopeEnding:iNext=i1,tNext=2*t1-t0;break;case WrapAroundEnding:iNext=1,tNext=t1+pp[1]-pp[0];break;default:iNext=i1-1,tNext=t0;}let halfDt=(t1-t0)*.5,stride=this.valueSize;this._weightPrev=halfDt/(t0-tPrev),this._weightNext=halfDt/(tNext-t1),this._offsetPrev=iPrev*stride,this._offsetNext=iNext*stride;}interpolate_(i1,t0,t,t1){let result=this.resultBuffer,values=this.sampleValues,stride=this.valueSize,o1=i1*stride,o0=o1-stride,oP=this._offsetPrev,oN=this._offsetNext,wP=this._weightPrev,wN=this._weightNext,p=(t-t0)/(t1-t0),pp=p*p,ppp=pp*p,sP=-wP*ppp+2*wP*pp-wP*p,s0=(1+wP)*ppp+(-1.5-2*wP)*pp+(-.5+wP)*p+1,s1=(-1-wN)*ppp+(1.5+wN)*pp+.5*p,sN=wN*ppp-wN*pp;for(let i=0;i!==stride;++i)result[i]=sP*values[oP+i]+s0*values[o0+i]+s1*values[o1+i]+sN*values[oN+i];return result;}constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:ZeroCurvatureEnding,endingEnd:ZeroCurvatureEnding};}},LinearInterpolant=class extends Interpolant{interpolate_(i1,t0,t,t1){let result=this.resultBuffer,values=this.sampleValues,stride=this.valueSize,offset1=i1*stride,offset0=offset1-stride,weight1=(t-t0)/(t1-t0),weight0=1-weight1;for(let i=0;i!==stride;++i)result[i]=values[offset0+i]*weight0+values[offset1+i]*weight1;return result;}constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer);}},DiscreteInterpolant=class extends Interpolant{interpolate_(i1){return this.copySampleValue_(i1-1);}constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer);}},BezierInterpolant=class extends Interpolant{interpolate_(i1,t0,t,t1){let result=this.resultBuffer,values=this.sampleValues,stride=this.valueSize,offset1=i1*stride,offset0=offset1-stride,inTangents=this.inTangents,outTangents=this.outTangents;if(!inTangents||!outTangents){let weight1=(t-t0)/(t1-t0),weight0=1-weight1;for(let i=0;i!==stride;++i)result[i]=values[offset0+i]*weight0+values[offset1+i]*weight1;return result;}let tangentStride=stride*2,i0=i1-1;for(let i=0;i!==stride;++i){let v0=values[offset0+i],v1=values[offset1+i],outTangentOffset=i0*tangentStride+i*2,c0x=outTangents[outTangentOffset],c0y=outTangents[outTangentOffset+1],inTangentOffset=i1*tangentStride+i*2,c1x=inTangents[inTangentOffset],c1y=inTangents[inTangentOffset+1],s=solveBezierParameter(t,t0,c0x,c1x,t1);result[i]=cubicBezier(s,v0,c0y,c1y,v1);}return result;}};function cubicBezier(s,p0,p1,p2,p3){let k=1-s;return k*k*k*p0+3*k*k*s*p1+3*k*s*s*p2+s*s*s*p3;}function cubicBezierSlope(s,p0,p1,p2,p3){let k=1-s;return 3*k*k*(p1-p0)+6*k*s*(p2-p1)+3*s*s*(p3-p2);}function solveBezierParameter(x,x0,x1,x2,x3){let s=(x-x0)/(x3-x0);for(let i=0;i<8;i++){let error2=cubicBezier(s,x0,x1,x2,x3)-x;if(Math.abs(error2)<1e-10)break;let slope=cubicBezierSlope(s,x0,x1,x2,x3);if(Math.abs(slope)<1e-10)break;s=Math.max(0,Math.min(1,s-error2/slope));}return s;}var KeyframeTrack=class{static toJSON(track){let trackType=track.constructor,json;if(trackType.toJSON!==this.toJSON)json=trackType.toJSON(track);else{json={name:track.name,times:convertArray(track.times,Array),values:convertArray(track.values,Array)};let interpolation=track.getInterpolation();interpolation!==track.DefaultInterpolation&&(json.interpolation=interpolation),hasTangents(track.settings)&&(json.settings={inTangents:convertArray(track.settings.inTangents,Array),outTangents:convertArray(track.settings.outTangents,Array)});}return json.type=track.ValueTypeName,json;}InterpolantFactoryMethodDiscrete(result){return new DiscreteInterpolant(this.times,this.values,this.getValueSize(),result);}InterpolantFactoryMethodLinear(result){return new LinearInterpolant(this.times,this.values,this.getValueSize(),result);}InterpolantFactoryMethodSmooth(result){return new CubicInterpolant(this.times,this.values,this.getValueSize(),result);}InterpolantFactoryMethodBezier(result){let interpolant=new BezierInterpolant(this.times,this.values,this.getValueSize(),result);return this.settings&&(interpolant.inTangents=this.settings.inTangents,interpolant.outTangents=this.settings.outTangents),interpolant;}setInterpolation(interpolation){let factoryMethod;switch(interpolation){case InterpolateDiscrete:factoryMethod=this.InterpolantFactoryMethodDiscrete;break;case InterpolateLinear:factoryMethod=this.InterpolantFactoryMethodLinear;break;case InterpolateSmooth:factoryMethod=this.InterpolantFactoryMethodSmooth;break;case InterpolateBezier:factoryMethod=this.InterpolantFactoryMethodBezier;break;}if(factoryMethod===void 0){let message=\"unsupported interpolation for \"+this.ValueTypeName+\" keyframe track named \"+this.name;if(this.createInterpolant===void 0)if(interpolation!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(message);return warn(\"KeyframeTrack:\",message),this;}return this.createInterpolant=factoryMethod,this;}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return InterpolateDiscrete;case this.InterpolantFactoryMethodLinear:return InterpolateLinear;case this.InterpolantFactoryMethodSmooth:return InterpolateSmooth;case this.InterpolantFactoryMethodBezier:return InterpolateBezier;}}getValueSize(){return this.values.length/this.times.length;}shift(timeOffset){if(timeOffset!==0){let times=this.times;for(let i=0,n=times.length;i!==n;++i)times[i]+=timeOffset;}return this;}scale(timeScale){if(timeScale!==1){let times=this.times;for(let i=0,n=times.length;i!==n;++i)times[i]*=timeScale;hasTangents(this.settings)&&(scaleTangentTimes(this.settings.inTangents,timeScale),scaleTangentTimes(this.settings.outTangents,timeScale));}return this;}trim(startTime,endTime){let times=this.times,nKeys=times.length,from=0,to=nKeys-1;for(;from!==nKeys&&times[from]<startTime;)++from;for(;to!==-1&&times[to]>endTime;)--to;if(++to,from!==0||to!==nKeys){from>=to&&(to=Math.max(to,1),from=to-1);let stride=this.getValueSize();this.times=times.slice(from,to),this.values=this.values.slice(from*stride,to*stride);}return this;}validate(){let valid=!0,valueSize=this.getValueSize();valueSize-Math.floor(valueSize)!==0&&(error(\"KeyframeTrack: Invalid value size in track.\",this),valid=!1);let times=this.times,values=this.values,nKeys=times.length;nKeys===0&&(error(\"KeyframeTrack: Track is empty.\",this),valid=!1);let prevTime=null;for(let i=0;i!==nKeys;i++){let currTime=times[i];if(typeof currTime==\"number\"&&isNaN(currTime)){error(\"KeyframeTrack: Time is not a valid number.\",this,i,currTime),valid=!1;break;}if(prevTime!==null&&prevTime>currTime){error(\"KeyframeTrack: Out of order keys.\",this,i,currTime,prevTime),valid=!1;break;}prevTime=currTime;}if(values!==void 0&&isTypedArray(values))for(let i=0,n=values.length;i!==n;++i){let value=values[i];if(isNaN(value)){error(\"KeyframeTrack: Value is not a valid number.\",this,i,value),valid=!1;break;}}return valid;}optimize(){let times=this.times.slice(),values=this.values.slice(),stride=this.getValueSize(),smoothInterpolation=this.getInterpolation()===InterpolateSmooth,lastIndex=times.length-1,writeIndex=1;for(let i=1;i<lastIndex;++i){let keep=!1,time=times[i],timeNext=times[i+1];if(time!==timeNext&&(i!==1||time!==times[0]))if(smoothInterpolation)keep=!0;else{let offset=i*stride,offsetP=offset-stride,offsetN=offset+stride;for(let j=0;j!==stride;++j){let value=values[offset+j];if(value!==values[offsetP+j]||value!==values[offsetN+j]){keep=!0;break;}}}if(keep){if(i!==writeIndex){times[writeIndex]=times[i];let readOffset=i*stride,writeOffset=writeIndex*stride;for(let j=0;j!==stride;++j)values[writeOffset+j]=values[readOffset+j];}++writeIndex;}}if(lastIndex>0){times[writeIndex]=times[lastIndex];for(let readOffset=lastIndex*stride,writeOffset=writeIndex*stride,j=0;j!==stride;++j)values[writeOffset+j]=values[readOffset+j];++writeIndex;}return writeIndex!==times.length?(this.times=times.slice(0,writeIndex),this.values=values.slice(0,writeIndex*stride)):(this.times=times,this.values=values),this;}clone(){let times=this.times.slice(),values=this.values.slice(),TypedKeyframeTrack=this.constructor,track=new TypedKeyframeTrack(this.name,times,values);return track.createInterpolant=this.createInterpolant,hasTangents(this.settings)&&(track.settings={inTangents:this.settings.inTangents.slice(),outTangents:this.settings.outTangents.slice()}),track;}constructor(name,times,values,interpolation){if(name===void 0)throw new Error(\"THREE.KeyframeTrack: track name is undefined\");if(times===void 0||times.length===0)throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \"+name);this.name=name,this.times=convertArray(times,this.TimeBufferType),this.values=convertArray(values,this.ValueBufferType),this.setInterpolation(interpolation||this.DefaultInterpolation);}};function scaleTangentTimes(tangents,timeScale){for(let i=0,n=tangents.length;i!==n;i+=2)tangents[i]*=timeScale;}KeyframeTrack.prototype.ValueTypeName=\"\";KeyframeTrack.prototype.TimeBufferType=Float32Array;KeyframeTrack.prototype.ValueBufferType=Float32Array;KeyframeTrack.prototype.DefaultInterpolation=InterpolateLinear;var BooleanKeyframeTrack=class extends KeyframeTrack{constructor(name,times,values){super(name,times,values);}};BooleanKeyframeTrack.prototype.ValueTypeName=\"bool\";BooleanKeyframeTrack.prototype.ValueBufferType=Array;BooleanKeyframeTrack.prototype.DefaultInterpolation=InterpolateDiscrete;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;var ColorKeyframeTrack=class extends KeyframeTrack{constructor(name,times,values,interpolation){super(name,times,values,interpolation);}};ColorKeyframeTrack.prototype.ValueTypeName=\"color\";var NumberKeyframeTrack=class extends KeyframeTrack{constructor(name,times,values,interpolation){super(name,times,values,interpolation);}};NumberKeyframeTrack.prototype.ValueTypeName=\"number\";var QuaternionLinearInterpolant=class extends Interpolant{interpolate_(i1,t0,t,t1){let result=this.resultBuffer,values=this.sampleValues,stride=this.valueSize,alpha=(t-t0)/(t1-t0),offset=i1*stride;for(let end=offset+stride;offset!==end;offset+=4)Quaternion.slerpFlat(result,0,values,offset-stride,values,offset,alpha);return result;}constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer);}},QuaternionKeyframeTrack=class extends KeyframeTrack{InterpolantFactoryMethodLinear(result){return new QuaternionLinearInterpolant(this.times,this.values,this.getValueSize(),result);}constructor(name,times,values,interpolation){super(name,times,values,interpolation);}};QuaternionKeyframeTrack.prototype.ValueTypeName=\"quaternion\";QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;var StringKeyframeTrack=class extends KeyframeTrack{constructor(name,times,values){super(name,times,values);}};StringKeyframeTrack.prototype.ValueTypeName=\"string\";StringKeyframeTrack.prototype.ValueBufferType=Array;StringKeyframeTrack.prototype.DefaultInterpolation=InterpolateDiscrete;StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;var VectorKeyframeTrack=class extends KeyframeTrack{constructor(name,times,values,interpolation){super(name,times,values,interpolation);}};VectorKeyframeTrack.prototype.ValueTypeName=\"vector\";var AnimationClip=class{static parse(json){let tracks=[],jsonTracks=json.tracks,frameTime=1/(json.fps||1);for(let i=0,n=jsonTracks.length;i!==n;++i)tracks.push(parseKeyframeTrack(jsonTracks[i]).scale(frameTime));let clip=new this(json.name,json.duration,tracks,json.blendMode);return clip.uuid=json.uuid,clip.userData=JSON.parse(json.userData||\"{}\"),clip;}static toJSON(clip){let tracks=[],clipTracks=clip.tracks,json={name:clip.name,duration:clip.duration,tracks,uuid:clip.uuid,blendMode:clip.blendMode,userData:JSON.stringify(clip.userData)};for(let i=0,n=clipTracks.length;i!==n;++i)tracks.push(KeyframeTrack.toJSON(clipTracks[i]));return json;}static CreateFromMorphTargetSequence(name,morphTargetSequence,fps,noLoop){let numMorphTargets=morphTargetSequence.length,tracks=[];for(let i=0;i<numMorphTargets;i++){let times=[],values=[];times.push((i+numMorphTargets-1)%numMorphTargets,i,(i+1)%numMorphTargets),values.push(0,1,0);let order=getKeyframeOrder(times);times=sortedArray(times,1,order),values=sortedArray(values,1,order),!noLoop&&times[0]===0&&(times.push(numMorphTargets),values.push(values[0])),tracks.push(new NumberKeyframeTrack(\".morphTargetInfluences[\"+morphTargetSequence[i].name+\"]\",times,values).scale(1/fps));}return new this(name,-1,tracks);}static findByName(objectOrClipArray,name){let clipArray=objectOrClipArray;if(!Array.isArray(objectOrClipArray)){let o=objectOrClipArray;clipArray=o.geometry&&o.geometry.animations||o.animations;}for(let i=0;i<clipArray.length;i++)if(clipArray[i].name===name)return clipArray[i];return null;}static CreateClipsFromMorphTargetSequences(morphTargets,fps,noLoop){let animationToMorphTargets={},pattern=/^([\\w-]*?)([\\d]+)$/;for(let i=0,il=morphTargets.length;i<il;i++){let morphTarget=morphTargets[i],parts=morphTarget.name.match(pattern);if(parts&&parts.length>1){let name=parts[1],animationMorphTargets=animationToMorphTargets[name];animationMorphTargets||(animationToMorphTargets[name]=animationMorphTargets=[]),animationMorphTargets.push(morphTarget);}}let clips=[];for(let name in animationToMorphTargets)clips.push(this.CreateFromMorphTargetSequence(name,animationToMorphTargets[name],fps,noLoop));return clips;}resetDuration(){let tracks=this.tracks,duration=0;for(let i=0,n=tracks.length;i!==n;++i){let track=this.tracks[i];duration=Math.max(duration,track.times[track.times.length-1]);}return this.duration=duration,this;}trim(){for(let i=0;i<this.tracks.length;i++)this.tracks[i].trim(0,this.duration);return this;}validate(){let valid=!0;for(let i=0;i<this.tracks.length;i++)valid=valid&&this.tracks[i].validate();return valid;}optimize(){for(let i=0;i<this.tracks.length;i++)this.tracks[i].optimize();return this;}clone(){let tracks=[];for(let i=0;i<this.tracks.length;i++)tracks.push(this.tracks[i].clone());let clip=new this.constructor(this.name,this.duration,tracks,this.blendMode);return clip.userData=JSON.parse(JSON.stringify(this.userData)),clip;}toJSON(){return this.constructor.toJSON(this);}constructor(name=\"\",duration=-1,tracks=[],blendMode=NormalAnimationBlendMode){this.name=name,this.tracks=tracks,this.duration=duration,this.blendMode=blendMode,this.uuid=generateUUID(),this.userData={},this.duration<0&&this.resetDuration();}};function getTrackTypeForValueTypeName(typeName){switch(typeName.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: \"+typeName);}function parseKeyframeTrack(json){if(json.type===void 0)throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");let trackType=getTrackTypeForValueTypeName(json.type);if(json.times===void 0){let times=[],values=[];flattenJSON(json.keys,times,values,\"value\"),json.times=times,json.values=values;}let track;return trackType.parse!==void 0?track=trackType.parse(json):track=new trackType(json.name,json.times,json.values,json.interpolation),hasTangents(json.settings)&&(track.settings={inTangents:convertArray(json.settings.inTangents,Float32Array),outTangents:convertArray(json.settings.outTangents,Float32Array)}),track;}var LoadingManager=class{get abortController(){return this._abortController||(this._abortController=new AbortController),this._abortController;}constructor(onLoad,onProgress,onError){let scope=this,isLoading=!1,itemsLoaded=0,itemsTotal=0,urlModifier,handlers=[];this.onStart=void 0,this.onLoad=onLoad,this.onProgress=onProgress,this.onError=onError,this._abortController=null,this.itemStart=function(url){itemsTotal++,isLoading===!1&&scope.onStart!==void 0&&scope.onStart(url,itemsLoaded,itemsTotal),isLoading=!0;},this.itemEnd=function(url){itemsLoaded++,scope.onProgress!==void 0&&scope.onProgress(url,itemsLoaded,itemsTotal),itemsLoaded===itemsTotal&&(isLoading=!1,scope.onLoad!==void 0&&scope.onLoad());},this.itemError=function(url){scope.onError!==void 0&&scope.onError(url);},this.resolveURL=function(url){return url=url.normalize(\"NFC\"),urlModifier?urlModifier(url):url;},this.setURLModifier=function(transform){return urlModifier=transform,this;},this.addHandler=function(regex,loader){return handlers.push(regex,loader),this;},this.removeHandler=function(regex){let index=handlers.indexOf(regex);return index!==-1&&handlers.splice(index,2),this;},this.getHandler=function(file){for(let i=0,l=handlers.length;i<l;i+=2){let regex=handlers[i],loader=handlers[i+1];if(regex.global&&(regex.lastIndex=0),regex.test(file))return loader;}return null;},this.abort=function(){return this.abortController.abort(),this._abortController=null,this;};}},DefaultLoadingManager=new LoadingManager,Loader=class{load(){}loadAsync(url,onProgress){let scope=this;return new Promise(function(resolve,reject){scope.load(url,resolve,onProgress,reject);});}parse(){}setCrossOrigin(crossOrigin){return this.crossOrigin=crossOrigin,this;}setWithCredentials(value){return this.withCredentials=value,this;}setPath(path){return this.path=path,this;}setResourcePath(resourcePath){return this.resourcePath=resourcePath,this;}setRequestHeader(requestHeader){return this.requestHeader=requestHeader,this;}abort(){return this;}constructor(manager){this.manager=manager!==void 0?manager:DefaultLoadingManager,this.crossOrigin=\"anonymous\",this.withCredentials=!1,this.path=\"\",this.resourcePath=\"\",this.requestHeader={},typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}));}};Loader.DEFAULT_MATERIAL_NAME=\"__DEFAULT\";var Light=class extends Object3D{copy(source,recursive){return super.copy(source,recursive),this.color.copy(source.color),this.intensity=source.intensity,this;}toJSON(meta){let data=super.toJSON(meta);return data.object.color=this.color.getHex(),data.object.intensity=this.intensity,data;}constructor(color,intensity=1){super(),this.isLight=!0,this.type=\"Light\",this.color=new Color(color),this.intensity=intensity;}},HemisphereLight=class extends Light{copy(source,recursive){return super.copy(source,recursive),this.groundColor.copy(source.groundColor),this;}toJSON(meta){let data=super.toJSON(meta);return data.object.groundColor=this.groundColor.getHex(),data;}constructor(skyColor,groundColor,intensity){super(skyColor,intensity),this.isHemisphereLight=!0,this.type=\"HemisphereLight\",this.position.copy(Object3D.DEFAULT_UP),this.updateMatrix(),this.groundColor=new Color(groundColor);}},_projScreenMatrix=new Matrix4,_lightPositionWorld=new Vector3,_lookTarget=new Vector3,LightShadow=class{getViewportCount(){return this._viewportCount;}getCamera(){return this.camera;}getFrustum(){return this._frustum;}updateMatrices(light){let shadowCamera=this.camera;_lightPositionWorld.setFromMatrixPosition(light.matrixWorld),shadowCamera.position.copy(_lightPositionWorld),_lookTarget.setFromMatrixPosition(light.target.matrixWorld),shadowCamera.lookAt(_lookTarget),shadowCamera.updateMatrixWorld(),this._updateMatrix(shadowCamera,this.matrix,this._frustum);}_updateMatrix(shadowCamera,shadowMatrix,frustum,viewport){_projScreenMatrix.multiplyMatrices(shadowCamera.projectionMatrix,shadowCamera.matrixWorldInverse),frustum.setFromProjectionMatrix(_projScreenMatrix,shadowCamera.coordinateSystem,shadowCamera.reversedDepth);let frameExtents=this._frameExtents,scaleX=viewport?viewport.z/frameExtents.x:1,scaleY=viewport?viewport.w/frameExtents.y:1,offsetX=viewport?viewport.x/frameExtents.x:0,offsetY=viewport?viewport.y/frameExtents.y:0;shadowCamera.coordinateSystem===WebGPUCoordinateSystem||shadowCamera.reversedDepth?shadowMatrix.set(.5*scaleX,0,0,.5*scaleX+offsetX,0,.5*scaleY,0,.5*scaleY+offsetY,0,0,1,0,0,0,0,1):shadowMatrix.set(.5*scaleX,0,0,.5*scaleX+offsetX,0,.5*scaleY,0,.5*scaleY+offsetY,0,0,.5,.5,0,0,0,1),shadowMatrix.multiply(_projScreenMatrix);}getViewport(viewportIndex){return this._viewports[viewportIndex];}getFrameExtents(){return this._frameExtents;}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose();}copy(source){return this.camera=source.camera.clone(),this.intensity=source.intensity,this.bias=source.bias,this.radius=source.radius,this.autoUpdate=source.autoUpdate,this.needsUpdate=source.needsUpdate,this.normalBias=source.normalBias,this.blurSamples=source.blurSamples,this.mapSize.copy(source.mapSize),this.biasNode=source.biasNode,this;}clone(){return new this.constructor().copy(this);}toJSON(){let object={};return object.intensity=this.intensity,object.bias=this.bias,object.normalBias=this.normalBias,object.radius=this.radius,object.blurSamples=this.blurSamples,object.mapSize=this.mapSize.toArray(),object.camera=this.camera.toJSON(!1).object,delete object.camera.matrix,object;}constructor(camera){this.camera=camera,this.intensity=1,this.bias=0,this.biasNode=null,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Vector2(512,512),this.mapType=UnsignedByteType,this.map=null,this.mapPass=null,this.matrix=new Matrix4,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Frustum,this._frameExtents=new Vector2(1,1),this._viewportCount=1,this._viewports=[new Vector4(0,0,1,1)];}},_position$2=new Vector3,_quaternion$2=new Quaternion,_scale$2=new Vector3,Camera=class extends Object3D{get reversedDepth(){return this._reversedDepth;}copy(source,recursive){return super.copy(source,recursive),this.matrixWorldInverse.copy(source.matrixWorldInverse),this.projectionMatrix.copy(source.projectionMatrix),this.projectionMatrixInverse.copy(source.projectionMatrixInverse),this.coordinateSystem=source.coordinateSystem,this;}getWorldDirection(target){return super.getWorldDirection(target).negate();}updateMatrixWorld(force){super.updateMatrixWorld(force),this.matrixWorld.decompose(_position$2,_quaternion$2,_scale$2),_scale$2.x===1&&_scale$2.y===1&&_scale$2.z===1?this.matrixWorldInverse.copy(this.matrixWorld).invert():this.matrixWorldInverse.compose(_position$2,_quaternion$2,_scale$2.set(1,1,1)).invert();}updateWorldMatrix(updateParents,updateChildren,force=!1){super.updateWorldMatrix(updateParents,updateChildren,force),this.matrixWorld.decompose(_position$2,_quaternion$2,_scale$2),_scale$2.x===1&&_scale$2.y===1&&_scale$2.z===1?this.matrixWorldInverse.copy(this.matrixWorld).invert():this.matrixWorldInverse.compose(_position$2,_quaternion$2,_scale$2.set(1,1,1)).invert();}clone(){return new this.constructor().copy(this);}constructor(){super(),this.isCamera=!0,this.type=\"Camera\",this.matrixWorldInverse=new Matrix4,this.projectionMatrix=new Matrix4,this.projectionMatrixInverse=new Matrix4,this.coordinateSystem=WebGLCoordinateSystem,this._reversedDepth=!1;}},_v3$1=new Vector3,_minTarget=new Vector2,_maxTarget=new Vector2,PerspectiveCamera=class extends Camera{copy(source,recursive){return super.copy(source,recursive),this.fov=source.fov,this.zoom=source.zoom,this.near=source.near,this.far=source.far,this.focus=source.focus,this.aspect=source.aspect,this.view=source.view===null?null:Object.assign({},source.view),this.filmGauge=source.filmGauge,this.filmOffset=source.filmOffset,this;}setFocalLength(focalLength){let vExtentSlope=.5*this.getFilmHeight()/focalLength;this.fov=RAD2DEG*2*Math.atan(vExtentSlope),this.updateProjectionMatrix();}getFocalLength(){let vExtentSlope=Math.tan(DEG2RAD*.5*this.fov);return .5*this.getFilmHeight()/vExtentSlope;}getEffectiveFOV(){return RAD2DEG*2*Math.atan(Math.tan(DEG2RAD*.5*this.fov)/this.zoom);}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1);}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1);}getViewBounds(distance,minTarget,maxTarget){_v3$1.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),minTarget.set(_v3$1.x,_v3$1.y).multiplyScalar(-distance/_v3$1.z),_v3$1.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),maxTarget.set(_v3$1.x,_v3$1.y).multiplyScalar(-distance/_v3$1.z);}getViewSize(distance,target){return this.getViewBounds(distance,_minTarget,_maxTarget),target.subVectors(_maxTarget,_minTarget);}setViewOffset(fullWidth,fullHeight,x,y,width,height){this.aspect=fullWidth/fullHeight,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=fullWidth,this.view.fullHeight=fullHeight,this.view.offsetX=x,this.view.offsetY=y,this.view.width=width,this.view.height=height,this.updateProjectionMatrix();}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix();}updateProjectionMatrix(){let near=this.near,top=near*Math.tan(DEG2RAD*.5*this.fov)/this.zoom,height=2*top,width=this.aspect*height,left=-.5*width,view=this.view;if(this.view!==null&&this.view.enabled){let fullWidth=view.fullWidth,fullHeight=view.fullHeight;left+=view.offsetX*width/fullWidth,top-=view.offsetY*height/fullHeight,width*=view.width/fullWidth,height*=view.height/fullHeight;}let skew=this.filmOffset;skew!==0&&(left+=near*skew/this.getFilmWidth()),this.projectionMatrix.makePerspective(left,left+width,top,top-height,near,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert();}toJSON(meta){let data=super.toJSON(meta);return data.object.fov=this.fov,data.object.zoom=this.zoom,data.object.near=this.near,data.object.far=this.far,data.object.focus=this.focus,data.object.aspect=this.aspect,this.view!==null&&(data.object.view=Object.assign({},this.view)),data.object.filmGauge=this.filmGauge,data.object.filmOffset=this.filmOffset,data;}constructor(fov2=50,aspect2=1,near=.1,far=2e3){super(),this.isPerspectiveCamera=!0,this.type=\"PerspectiveCamera\",this.fov=fov2,this.zoom=1,this.near=near,this.far=far,this.focus=10,this.aspect=aspect2,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix();}},SpotLightShadow=class extends LightShadow{updateMatrices(light){let camera=this.camera,fov2=RAD2DEG*2*light.angle*this.focus,aspect2=this.mapSize.width/this.mapSize.height*this.aspect,far=light.distance||camera.far;(fov2!==camera.fov||aspect2!==camera.aspect||far!==camera.far)&&(camera.fov=fov2,camera.aspect=aspect2,camera.far=far,camera.updateProjectionMatrix()),super.updateMatrices(light);}copy(source){return super.copy(source),this.focus=source.focus,this.aspect=source.aspect,this;}toJSON(){let object=super.toJSON();return object.focus=this.focus,object.aspect=this.aspect,object;}constructor(){super(new PerspectiveCamera(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1;}},SpotLight=class extends Light{get power(){return this.intensity*Math.PI;}set power(power){this.intensity=power/Math.PI;}dispose(){super.dispose(),this.shadow.dispose();}copy(source,recursive){return super.copy(source,recursive),this.distance=source.distance,this.angle=source.angle,this.penumbra=source.penumbra,this.decay=source.decay,this.target=source.target.clone(),this.map=source.map,this.shadow=source.shadow.clone(),this;}toJSON(meta){let data=super.toJSON(meta);return data.object.distance=this.distance,data.object.angle=this.angle,data.object.decay=this.decay,data.object.penumbra=this.penumbra,data.object.target=this.target.uuid,this.map&&this.map.isTexture&&(data.object.map=this.map.toJSON(meta).uuid),data.object.shadow=this.shadow.toJSON(),data;}constructor(color,intensity,distance=0,angle=Math.PI/3,penumbra=0,decay=2){super(color,intensity),this.isSpotLight=!0,this.type=\"SpotLight\",this.position.copy(Object3D.DEFAULT_UP),this.updateMatrix(),this.target=new Object3D,this.distance=distance,this.angle=angle,this.penumbra=penumbra,this.decay=decay,this.map=null,this.shadow=new SpotLightShadow;}},PointLightShadow=class extends LightShadow{constructor(){super(new PerspectiveCamera(90,1,.5,500)),this.isPointLightShadow=!0;}},PointLight=class extends Light{get power(){return this.intensity*4*Math.PI;}set power(power){this.intensity=power/(4*Math.PI);}dispose(){super.dispose(),this.shadow.dispose();}copy(source,recursive){return super.copy(source,recursive),this.distance=source.distance,this.decay=source.decay,this.shadow=source.shadow.clone(),this;}toJSON(meta){let data=super.toJSON(meta);return data.object.distance=this.distance,data.object.decay=this.decay,data.object.shadow=this.shadow.toJSON(),data;}constructor(color,intensity,distance=0,decay=2){super(color,intensity),this.isPointLight=!0,this.type=\"PointLight\",this.distance=distance,this.decay=decay,this.shadow=new PointLightShadow;}},OrthographicCamera=class extends Camera{copy(source,recursive){return super.copy(source,recursive),this.left=source.left,this.right=source.right,this.top=source.top,this.bottom=source.bottom,this.near=source.near,this.far=source.far,this.zoom=source.zoom,this.view=source.view===null?null:Object.assign({},source.view),this;}setViewOffset(fullWidth,fullHeight,x,y,width,height){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=fullWidth,this.view.fullHeight=fullHeight,this.view.offsetX=x,this.view.offsetY=y,this.view.width=width,this.view.height=height,this.updateProjectionMatrix();}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix();}updateProjectionMatrix(){let dx=(this.right-this.left)/(2*this.zoom),dy=(this.top-this.bottom)/(2*this.zoom),cx=(this.right+this.left)/2,cy=(this.top+this.bottom)/2,left=cx-dx,right=cx+dx,top=cy+dy,bottom=cy-dy;if(this.view!==null&&this.view.enabled){let scaleW=(this.right-this.left)/this.view.fullWidth/this.zoom,scaleH=(this.top-this.bottom)/this.view.fullHeight/this.zoom;left+=scaleW*this.view.offsetX,right=left+scaleW*this.view.width,top-=scaleH*this.view.offsetY,bottom=top-scaleH*this.view.height;}this.projectionMatrix.makeOrthographic(left,right,top,bottom,this.near,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert();}toJSON(meta){let data=super.toJSON(meta);return data.object.zoom=this.zoom,data.object.left=this.left,data.object.right=this.right,data.object.top=this.top,data.object.bottom=this.bottom,data.object.near=this.near,data.object.far=this.far,this.view!==null&&(data.object.view=Object.assign({},this.view)),data;}constructor(left=-1,right=1,top=1,bottom=-1,near=.1,far=2e3){super(),this.isOrthographicCamera=!0,this.type=\"OrthographicCamera\",this.zoom=1,this.view=null,this.left=left,this.right=right,this.top=top,this.bottom=bottom,this.near=near,this.far=far,this.updateProjectionMatrix();}},DirectionalLightShadow=class extends LightShadow{constructor(){super(new OrthographicCamera(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0;}},DirectionalLight=class extends Light{dispose(){super.dispose(),this.shadow.dispose();}copy(source){return super.copy(source),this.target=source.target.clone(),this.shadow=source.shadow.clone(),this;}toJSON(meta){let data=super.toJSON(meta);return data.object.shadow=this.shadow.toJSON(),data.object.target=this.target.uuid,data;}constructor(color,intensity){super(color,intensity),this.isDirectionalLight=!0,this.type=\"DirectionalLight\",this.position.copy(Object3D.DEFAULT_UP),this.updateMatrix(),this.target=new Object3D,this.shadow=new DirectionalLightShadow;}};var RectAreaLight=class extends Light{get power(){return this.intensity*this.width*this.height*Math.PI;}set power(power){this.intensity=power/(this.width*this.height*Math.PI);}copy(source){return super.copy(source),this.width=source.width,this.height=source.height,this;}toJSON(meta){let data=super.toJSON(meta);return data.object.width=this.width,data.object.height=this.height,data;}constructor(color,intensity,width=10,height=10){super(color,intensity),this.isRectAreaLight=!0,this.type=\"RectAreaLight\",this.width=width,this.height=height;}};var LoaderUtils=class{static extractUrlBase(url){let index=url.lastIndexOf(\"/\");return index===-1?\"./\":url.slice(0,index+1);}static resolveURL(url,path){return typeof url!=\"string\"||url===\"\"?\"\":(/^https?:\\/\\//i.test(path)&&/^\\//.test(url)&&(path=path.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\")),/^(https?:)?\\/\\//i.test(url)||/^data:.*,.*$/i.test(url)||/^blob:.*$/i.test(url)?url:path+url);}};var fov=-90,aspect=1,CubeCamera=class extends Object3D{updateCoordinateSystem(){let coordinateSystem=this.coordinateSystem,cameras=this.children.concat(),[cameraPX,cameraNX,cameraPY,cameraNY,cameraPZ,cameraNZ]=cameras;for(let camera of cameras)this.remove(camera);if(coordinateSystem===WebGLCoordinateSystem)cameraPX.up.set(0,1,0),cameraPX.lookAt(1,0,0),cameraNX.up.set(0,1,0),cameraNX.lookAt(-1,0,0),cameraPY.up.set(0,0,-1),cameraPY.lookAt(0,1,0),cameraNY.up.set(0,0,1),cameraNY.lookAt(0,-1,0),cameraPZ.up.set(0,1,0),cameraPZ.lookAt(0,0,1),cameraNZ.up.set(0,1,0),cameraNZ.lookAt(0,0,-1);else if(coordinateSystem===WebGPUCoordinateSystem)cameraPX.up.set(0,-1,0),cameraPX.lookAt(-1,0,0),cameraNX.up.set(0,-1,0),cameraNX.lookAt(1,0,0),cameraPY.up.set(0,0,1),cameraPY.lookAt(0,1,0),cameraNY.up.set(0,0,-1),cameraNY.lookAt(0,-1,0),cameraPZ.up.set(0,-1,0),cameraPZ.lookAt(0,0,1),cameraNZ.up.set(0,-1,0),cameraNZ.lookAt(0,0,-1);else throw new Error(\"THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: \"+coordinateSystem);for(let camera of cameras)this.add(camera),camera.updateMatrixWorld();}update(renderer,scene){this.parent===null&&this.updateMatrixWorld();let{renderTarget,activeMipmapLevel}=this;this.coordinateSystem!==renderer.coordinateSystem&&(this.coordinateSystem=renderer.coordinateSystem,this.updateCoordinateSystem());let[cameraPX,cameraNX,cameraPY,cameraNY,cameraPZ,cameraNZ]=this.children,currentRenderTarget=renderer.getRenderTarget(),currentActiveCubeFace=renderer.getActiveCubeFace(),currentActiveMipmapLevel=renderer.getActiveMipmapLevel(),currentXrEnabled=renderer.xr.enabled;renderer.xr.enabled=!1;let generateMipmaps=renderTarget.texture.generateMipmaps;renderTarget.texture.generateMipmaps=!1;let reversedDepthBuffer=!1;renderer.isWebGLRenderer===!0?reversedDepthBuffer=renderer.state.buffers.depth.getReversed():reversedDepthBuffer=renderer.reversedDepthBuffer,renderer.setRenderTarget(renderTarget,0,activeMipmapLevel),reversedDepthBuffer&&renderer.autoClear===!1&&renderer.clearDepth(),renderer.render(scene,cameraPX),renderer.setRenderTarget(renderTarget,1,activeMipmapLevel),reversedDepthBuffer&&renderer.autoClear===!1&&renderer.clearDepth(),renderer.render(scene,cameraNX),renderer.setRenderTarget(renderTarget,2,activeMipmapLevel),reversedDepthBuffer&&renderer.autoClear===!1&&renderer.clearDepth(),renderer.render(scene,cameraPY),renderer.setRenderTarget(renderTarget,3,activeMipmapLevel),reversedDepthBuffer&&renderer.autoClear===!1&&renderer.clearDepth(),renderer.render(scene,cameraNY),renderer.setRenderTarget(renderTarget,4,activeMipmapLevel),reversedDepthBuffer&&renderer.autoClear===!1&&renderer.clearDepth(),renderer.render(scene,cameraPZ),renderTarget.texture.generateMipmaps=generateMipmaps,renderer.setRenderTarget(renderTarget,5,activeMipmapLevel),reversedDepthBuffer&&renderer.autoClear===!1&&renderer.clearDepth(),renderer.render(scene,cameraNZ),renderer.setRenderTarget(currentRenderTarget,currentActiveCubeFace,currentActiveMipmapLevel),renderer.xr.enabled=currentXrEnabled,renderTarget.texture.needsPMREMUpdate=!0;}constructor(near,far,renderTarget){super(),this.type=\"CubeCamera\",this.renderTarget=renderTarget,this.coordinateSystem=null,this.activeMipmapLevel=0;let cameraPX=new PerspectiveCamera(fov,aspect,near,far);cameraPX.layers=this.layers,this.add(cameraPX);let cameraNX=new PerspectiveCamera(fov,aspect,near,far);cameraNX.layers=this.layers,this.add(cameraNX);let cameraPY=new PerspectiveCamera(fov,aspect,near,far);cameraPY.layers=this.layers,this.add(cameraPY);let cameraNY=new PerspectiveCamera(fov,aspect,near,far);cameraNY.layers=this.layers,this.add(cameraNY);let cameraPZ=new PerspectiveCamera(fov,aspect,near,far);cameraPZ.layers=this.layers,this.add(cameraPZ);let cameraNZ=new PerspectiveCamera(fov,aspect,near,far);cameraNZ.layers=this.layers,this.add(cameraNZ);}},ArrayCamera=class extends PerspectiveCamera{constructor(array=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=array;}};var _RESERVED_CHARS_RE=\"\\\\[\\\\]\\\\.:\\\\/\",_reservedRe=new RegExp(\"[\"+_RESERVED_CHARS_RE+\"]\",\"g\"),_wordChar=\"[^\"+_RESERVED_CHARS_RE+\"]\",_wordCharOrDot=\"[^\"+_RESERVED_CHARS_RE.replace(\"\\\\.\",\"\")+\"]\",_directoryRe=/((?:WC+[\\/:])*)/.source.replace(\"WC\",_wordChar),_nodeRe=/(WCOD+)?/.source.replace(\"WCOD\",_wordCharOrDot),_objectRe=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",_wordChar),_propertyRe=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",_wordChar),_trackRe=new RegExp(\"^\"+_directoryRe+_nodeRe+_objectRe+_propertyRe+\"$\"),_supportedObjectNames=[\"material\",\"materials\",\"bones\",\"map\"],Composite=class{getValue(array,offset){this.bind();let firstValidIndex=this._targetGroup.nCachedObjects_,binding=this._bindings[firstValidIndex];binding!==void 0&&binding.getValue(array,offset);}setValue(array,offset){let bindings=this._bindings;for(let i=this._targetGroup.nCachedObjects_,n=bindings.length;i!==n;++i)bindings[i].setValue(array,offset);}bind(){let bindings=this._bindings;for(let i=this._targetGroup.nCachedObjects_,n=bindings.length;i!==n;++i)bindings[i].bind();}unbind(){let bindings=this._bindings;for(let i=this._targetGroup.nCachedObjects_,n=bindings.length;i!==n;++i)bindings[i].unbind();}constructor(targetGroup,path,optionalParsedPath){let parsedPath=optionalParsedPath||PropertyBinding.parseTrackName(path);this._targetGroup=targetGroup,this._bindings=targetGroup.subscribe_(path,parsedPath);}},PropertyBinding=class _PropertyBinding{static create(root,path,parsedPath){return root&&root.isAnimationObjectGroup?new _PropertyBinding.Composite(root,path,parsedPath):new _PropertyBinding(root,path,parsedPath);}static sanitizeNodeName(name){return name.replace(/\\s/g,\"_\").replace(_reservedRe,\"\");}static parseTrackName(trackName){let matches=_trackRe.exec(trackName);if(matches===null)throw new Error(\"THREE.PropertyBinding: Cannot parse trackName: \"+trackName);let results={nodeName:matches[2],objectName:matches[3],objectIndex:matches[4],propertyName:matches[5],propertyIndex:matches[6]},lastDot=results.nodeName&&results.nodeName.lastIndexOf(\".\");if(lastDot!==void 0&&lastDot!==-1){let objectName=results.nodeName.substring(lastDot+1);_supportedObjectNames.indexOf(objectName)!==-1&&(results.nodeName=results.nodeName.substring(0,lastDot),results.objectName=objectName);}if(results.propertyName===null||results.propertyName.length===0)throw new Error(\"THREE.PropertyBinding: can not parse propertyName from trackName: \"+trackName);return results;}static findNode(root,nodeName){if(nodeName===void 0||nodeName===\"\"||nodeName===\".\"||nodeName===-1||nodeName===root.name||nodeName===root.uuid)return root;if(root.skeleton){let bone=root.skeleton.getBoneByName(nodeName);if(bone!==void 0)return bone;}if(root.children){let searchNodeSubtree=function(children){for(let i=0;i<children.length;i++){let childNode=children[i];if(childNode.name===nodeName||childNode.uuid===nodeName)return childNode;let result=searchNodeSubtree(childNode.children);if(result)return result;}return null;},subTreeNode=searchNodeSubtree(root.children);if(subTreeNode)return subTreeNode;}return null;}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(buffer,offset){buffer[offset]=this.targetObject[this.propertyName];}_getValue_array(buffer,offset){let source=this.resolvedProperty;for(let i=0,n=source.length;i!==n;++i)buffer[offset++]=source[i];}_getValue_arrayElement(buffer,offset){buffer[offset]=this.resolvedProperty[this.propertyIndex];}_getValue_toArray(buffer,offset){this.resolvedProperty.toArray(buffer,offset);}_setValue_direct(buffer,offset){this.targetObject[this.propertyName]=buffer[offset];}_setValue_direct_setNeedsUpdate(buffer,offset){this.targetObject[this.propertyName]=buffer[offset],this.targetObject.needsUpdate=!0;}_setValue_direct_setMatrixWorldNeedsUpdate(buffer,offset){this.targetObject[this.propertyName]=buffer[offset],this.targetObject.matrixWorldNeedsUpdate=!0;}_setValue_array(buffer,offset){let dest=this.resolvedProperty;for(let i=0,n=dest.length;i!==n;++i)dest[i]=buffer[offset++];}_setValue_array_setNeedsUpdate(buffer,offset){let dest=this.resolvedProperty;for(let i=0,n=dest.length;i!==n;++i)dest[i]=buffer[offset++];this.targetObject.needsUpdate=!0;}_setValue_array_setMatrixWorldNeedsUpdate(buffer,offset){let dest=this.resolvedProperty;for(let i=0,n=dest.length;i!==n;++i)dest[i]=buffer[offset++];this.targetObject.matrixWorldNeedsUpdate=!0;}_setValue_arrayElement(buffer,offset){this.resolvedProperty[this.propertyIndex]=buffer[offset];}_setValue_arrayElement_setNeedsUpdate(buffer,offset){this.resolvedProperty[this.propertyIndex]=buffer[offset],this.targetObject.needsUpdate=!0;}_setValue_arrayElement_setMatrixWorldNeedsUpdate(buffer,offset){this.resolvedProperty[this.propertyIndex]=buffer[offset],this.targetObject.matrixWorldNeedsUpdate=!0;}_setValue_fromArray(buffer,offset){this.resolvedProperty.fromArray(buffer,offset);}_setValue_fromArray_setNeedsUpdate(buffer,offset){this.resolvedProperty.fromArray(buffer,offset),this.targetObject.needsUpdate=!0;}_setValue_fromArray_setMatrixWorldNeedsUpdate(buffer,offset){this.resolvedProperty.fromArray(buffer,offset),this.targetObject.matrixWorldNeedsUpdate=!0;}_getValue_unbound(targetArray,offset){this.bind(),this.getValue(targetArray,offset);}_setValue_unbound(sourceArray,offset){this.bind(),this.setValue(sourceArray,offset);}bind(){let targetObject=this.node,parsedPath=this.parsedPath,objectName=parsedPath.objectName,propertyName=parsedPath.propertyName,propertyIndex=parsedPath.propertyIndex;if(targetObject||(targetObject=_PropertyBinding.findNode(this.rootNode,parsedPath.nodeName),this.node=targetObject),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!targetObject){warn(\"PropertyBinding: No target node found for track: \"+this.path+\".\");return;}if(objectName){let objectIndex=parsedPath.objectIndex;switch(objectName){case\"materials\":if(!targetObject.material){error(\"PropertyBinding: Can not bind to material as node does not have a material.\",this);return;}if(!targetObject.material.materials){error(\"PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\",this);return;}targetObject=targetObject.material.materials;break;case\"bones\":if(!targetObject.skeleton){error(\"PropertyBinding: Can not bind to bones as node does not have a skeleton.\",this);return;}targetObject=targetObject.skeleton.bones;for(let i=0;i<targetObject.length;i++)if(targetObject[i].name===objectIndex){objectIndex=i;break;}break;case\"map\":if(\"map\"in targetObject){targetObject=targetObject.map;break;}if(!targetObject.material){error(\"PropertyBinding: Can not bind to material as node does not have a material.\",this);return;}if(!targetObject.material.map){error(\"PropertyBinding: Can not bind to material.map as node.material does not have a map.\",this);return;}targetObject=targetObject.material.map;break;default:if(targetObject[objectName]===void 0){error(\"PropertyBinding: Can not bind to objectName of node undefined.\",this);return;}targetObject=targetObject[objectName];}if(objectIndex!==void 0){if(targetObject[objectIndex]===void 0){error(\"PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\",this,targetObject);return;}targetObject=targetObject[objectIndex];}}let nodeProperty=targetObject[propertyName];if(nodeProperty===void 0){let nodeName=parsedPath.nodeName;error(\"PropertyBinding: Trying to update property for track: \"+nodeName+\".\"+propertyName+\" but it wasn't found.\",targetObject);return;}let versioning=this.Versioning.None;this.targetObject=targetObject,targetObject.isMaterial===!0?versioning=this.Versioning.NeedsUpdate:targetObject.isObject3D===!0&&(versioning=this.Versioning.MatrixWorldNeedsUpdate);let bindingType=this.BindingType.Direct;if(propertyIndex!==void 0){if(propertyName===\"morphTargetInfluences\"){if(!targetObject.geometry){error(\"PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\",this);return;}if(!targetObject.geometry.morphAttributes){error(\"PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\",this);return;}targetObject.morphTargetDictionary[propertyIndex]!==void 0&&(propertyIndex=targetObject.morphTargetDictionary[propertyIndex]);}bindingType=this.BindingType.ArrayElement,this.resolvedProperty=nodeProperty,this.propertyIndex=propertyIndex;}else nodeProperty.fromArray!==void 0&&nodeProperty.toArray!==void 0?(bindingType=this.BindingType.HasFromToArray,this.resolvedProperty=nodeProperty):Array.isArray(nodeProperty)?(bindingType=this.BindingType.EntireArray,this.resolvedProperty=nodeProperty):this.propertyName=propertyName;this.getValue=this.GetterByBindingType[bindingType],this.setValue=this.SetterByBindingTypeAndVersioning[bindingType][versioning];}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound;}constructor(rootNode,path,parsedPath){this.path=path,this.parsedPath=parsedPath||_PropertyBinding.parseTrackName(path),this.node=_PropertyBinding.findNode(rootNode,this.parsedPath.nodeName),this.rootNode=rootNode,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]];var _controlInterpolantsResultBuffer=new Float32Array(1);var Matrix2=(__Matrix2=class _Matrix2{identity(){return this.set(1,0,0,1),this;}fromArray(array,offset=0){for(let i=0;i<4;i++)this.elements[i]=array[i+offset];return this;}set(n11,n12,n21,n22){let te=this.elements;return te[0]=n11,te[2]=n12,te[1]=n21,te[3]=n22,this;}constructor(n11,n12,n21,n22){this.elements=[1,0,0,1],n11!==void 0&&this.set(n11,n12,n21,n22);}},__Matrix2.prototype.isMatrix2=!0,__Matrix2);function getByteLength(width,height,format,type){let typeByteLength=getTextureTypeByteLength(type);switch(format){case AlphaFormat:return width*height;case RedFormat:return width*height/typeByteLength.components*typeByteLength.byteLength;case RedIntegerFormat:return width*height/typeByteLength.components*typeByteLength.byteLength;case RGFormat:return width*height*2/typeByteLength.components*typeByteLength.byteLength;case RGIntegerFormat:return width*height*2/typeByteLength.components*typeByteLength.byteLength;case RGBFormat:return width*height*3/typeByteLength.components*typeByteLength.byteLength;case RGBAFormat:return width*height*4/typeByteLength.components*typeByteLength.byteLength;case RGBAIntegerFormat:return width*height*4/typeByteLength.components*typeByteLength.byteLength;case RGB_S3TC_DXT1_Format:case RGBA_S3TC_DXT1_Format:return Math.floor((width+3)/4)*Math.floor((height+3)/4)*8;case RGBA_S3TC_DXT3_Format:case RGBA_S3TC_DXT5_Format:return Math.floor((width+3)/4)*Math.floor((height+3)/4)*16;case RGB_PVRTC_2BPPV1_Format:case RGBA_PVRTC_2BPPV1_Format:return Math.max(width,16)*Math.max(height,8)/4;case RGB_PVRTC_4BPPV1_Format:case RGBA_PVRTC_4BPPV1_Format:return Math.max(width,8)*Math.max(height,8)/2;case RGB_ETC1_Format:case RGB_ETC2_Format:case R11_EAC_Format:case SIGNED_R11_EAC_Format:return Math.floor((width+3)/4)*Math.floor((height+3)/4)*8;case RGBA_ETC2_EAC_Format:case RG11_EAC_Format:case SIGNED_RG11_EAC_Format:return Math.floor((width+3)/4)*Math.floor((height+3)/4)*16;case RGBA_ASTC_4x4_Format:return Math.floor((width+3)/4)*Math.floor((height+3)/4)*16;case RGBA_ASTC_5x4_Format:return Math.floor((width+4)/5)*Math.floor((height+3)/4)*16;case RGBA_ASTC_5x5_Format:return Math.floor((width+4)/5)*Math.floor((height+4)/5)*16;case RGBA_ASTC_6x5_Format:return Math.floor((width+5)/6)*Math.floor((height+4)/5)*16;case RGBA_ASTC_6x6_Format:return Math.floor((width+5)/6)*Math.floor((height+5)/6)*16;case RGBA_ASTC_8x5_Format:return Math.floor((width+7)/8)*Math.floor((height+4)/5)*16;case RGBA_ASTC_8x6_Format:return Math.floor((width+7)/8)*Math.floor((height+5)/6)*16;case RGBA_ASTC_8x8_Format:return Math.floor((width+7)/8)*Math.floor((height+7)/8)*16;case RGBA_ASTC_10x5_Format:return Math.floor((width+9)/10)*Math.floor((height+4)/5)*16;case RGBA_ASTC_10x6_Format:return Math.floor((width+9)/10)*Math.floor((height+5)/6)*16;case RGBA_ASTC_10x8_Format:return Math.floor((width+9)/10)*Math.floor((height+7)/8)*16;case RGBA_ASTC_10x10_Format:return Math.floor((width+9)/10)*Math.floor((height+9)/10)*16;case RGBA_ASTC_12x10_Format:return Math.floor((width+11)/12)*Math.floor((height+9)/10)*16;case RGBA_ASTC_12x12_Format:return Math.floor((width+11)/12)*Math.floor((height+11)/12)*16;case RGBA_BPTC_Format:case RGB_BPTC_SIGNED_Format:case RGB_BPTC_UNSIGNED_Format:return Math.ceil(width/4)*Math.ceil(height/4)*16;case RED_RGTC1_Format:case SIGNED_RED_RGTC1_Format:return Math.ceil(width/4)*Math.ceil(height/4)*8;case RED_GREEN_RGTC2_Format:case SIGNED_RED_GREEN_RGTC2_Format:return Math.ceil(width/4)*Math.ceil(height/4)*16;}throw new Error(`Unable to determine texture byte length for ${format} format.`);}function getTextureTypeByteLength(type){switch(type){case UnsignedByteType:case ByteType:return{byteLength:1,components:1};case UnsignedShortType:case ShortType:case HalfFloatType:return{byteLength:2,components:1};case UnsignedShort4444Type:case UnsignedShort5551Type:return{byteLength:2,components:4};case UnsignedIntType:case IntType:case FloatType:return{byteLength:4,components:1};case UnsignedInt5999Type:case UnsignedInt101111Type:return{byteLength:4,components:3};}throw new Error(`THREE.TextureUtils: Unknown texture type ${type}.`);}typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:\"186\"}}));typeof window<\"u\"&&(window.__THREE__?warn(\"WARNING: Multiple instances of Three.js being imported.\"):window.__THREE__=\"186\");/**\n * @license\n * Copyright 2010-2026 Three.js Authors\n * SPDX-License-Identifier: MIT\n */function WebGLAnimation(){let context=null,isAnimating=!1,animationLoop=null,requestId=null;function onAnimationFrame(time,frame){requestId=context.requestAnimationFrame(onAnimationFrame),animationLoop(time,frame);}return{start:function(){isAnimating!==!0&&animationLoop!==null&&context!==null&&(requestId=context.requestAnimationFrame(onAnimationFrame),isAnimating=!0);},stop:function(){context!==null&&context.cancelAnimationFrame(requestId),isAnimating=!1;},setAnimationLoop:function(callback){animationLoop=callback;},setContext:function(value){context=value;}};}function WebGLAttributes(gl){let buffers=new WeakMap;function createBuffer(attribute,bufferType){let array=attribute.array,usage=attribute.usage,size=array.byteLength,buffer=gl.createBuffer();gl.bindBuffer(bufferType,buffer),gl.bufferData(bufferType,array,usage),attribute.onUploadCallback();let type;if(array instanceof Float32Array)type=gl.FLOAT;else if(typeof Float16Array<\"u\"&&array instanceof Float16Array)type=gl.HALF_FLOAT;else if(array instanceof Uint16Array)attribute.isFloat16BufferAttribute?type=gl.HALF_FLOAT:type=gl.UNSIGNED_SHORT;else if(array instanceof Int16Array)type=gl.SHORT;else if(array instanceof Uint32Array)type=gl.UNSIGNED_INT;else if(array instanceof Int32Array)type=gl.INT;else if(array instanceof Int8Array)type=gl.BYTE;else if(array instanceof Uint8Array)type=gl.UNSIGNED_BYTE;else if(array instanceof Uint8ClampedArray)type=gl.UNSIGNED_BYTE;else throw new Error(\"THREE.WebGLAttributes: Unsupported buffer data format: \"+array);return{buffer,type,bytesPerElement:array.BYTES_PER_ELEMENT,version:attribute.version,size};}function updateBuffer(buffer,attribute,bufferType){let array=attribute.array,updateRanges=attribute.updateRanges;if(gl.bindBuffer(bufferType,buffer),updateRanges.length===0)gl.bufferSubData(bufferType,0,array);else{updateRanges.sort((a,b)=>a.start-b.start);let mergeIndex=0;for(let i=1;i<updateRanges.length;i++){let previousRange=updateRanges[mergeIndex],range=updateRanges[i];range.start<=previousRange.start+previousRange.count+1?previousRange.count=Math.max(previousRange.count,range.start+range.count-previousRange.start):(++mergeIndex,updateRanges[mergeIndex]=range);}updateRanges.length=mergeIndex+1;for(let i=0,l=updateRanges.length;i<l;i++){let range=updateRanges[i];gl.bufferSubData(bufferType,range.start*array.BYTES_PER_ELEMENT,array,range.start,range.count);}attribute.clearUpdateRanges();}attribute.onUploadCallback();}function get(attribute){return attribute.isInterleavedBufferAttribute&&(attribute=attribute.data),buffers.get(attribute);}function remove(attribute){attribute.isInterleavedBufferAttribute&&(attribute=attribute.data);let data=buffers.get(attribute);data&&(gl.deleteBuffer(data.buffer),buffers.delete(attribute));}function update(attribute,bufferType){if(attribute.isInterleavedBufferAttribute&&(attribute=attribute.data),attribute.isGLBufferAttribute){let cached=buffers.get(attribute);(!cached||cached.version<attribute.version)&&buffers.set(attribute,{buffer:attribute.buffer,type:attribute.type,bytesPerElement:attribute.elementSize,version:attribute.version});return;}let data=buffers.get(attribute);if(data===void 0)buffers.set(attribute,createBuffer(attribute,bufferType));else if(data.version<attribute.version){if(data.size!==attribute.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.\");updateBuffer(data.buffer,attribute,bufferType),data.version=attribute.version;}}return{get,remove,update};}var alphahash_fragment=`#ifdef USE_ALPHAHASH\n\tif ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;\n#endif`,alphahash_pars_fragment=`#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`,alphamap_fragment=`#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif`,alphamap_pars_fragment=`#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif`,alphatest_fragment=`#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`,alphatest_pars_fragment=`#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif`,aomap_fragment=`#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`,aomap_pars_fragment=`#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif`,batching_pars_vertex=`#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`,batching_vertex=`#ifdef USE_BATCHING\n\tmat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );\n#endif`,begin_vertex=`vec3 transformed = vec3( position );\n#ifdef USE_ALPHAHASH\n\tvPosition = vec3( position );\n#endif`,beginnormal_vertex=`vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif`,bsdfs=`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`,iridescence_fragment=`#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`,bumpmap_pars_fragment=`#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`,clipping_planes_fragment=`#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`,clipping_planes_pars_fragment=`#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif`,clipping_planes_pars_vertex=`#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif`,clipping_planes_vertex=`#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif`,color_fragment=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#endif`,color_pars_fragment=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#endif`,color_pars_vertex=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\n\tvarying vec4 vColor;\n#endif`,color_vertex=`#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`,common=`#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}\n#define inverseTransformDirection transformDirectionByInverseViewMatrix\nvec3 transformNormalByInverseViewMatrix( in vec3 normal, in mat4 viewMatrix ) {\n\treturn normalize( ( vec4( normal, 0.0 ) * viewMatrix ).xyz );\n}\nvec3 transformDirectionByInverseViewMatrix( in vec3 dir, in mat4 viewMatrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * viewMatrix ).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`,cube_uv_reflection_fragment=`#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`,defaultnormal_vertex=`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#endif`,displacementmap_pars_vertex=`#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif`,displacementmap_vertex=`#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif`,emissivemap_fragment=`#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`,emissivemap_pars_fragment=`#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif`,colorspace_fragment=\"gl_FragColor = linearToOutputTexel( gl_FragColor );\",colorspace_pars_fragment=`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}`,envmap_fragment=`#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 = transformNormalByInverseViewMatrix( 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`,envmap_common_pars_fragment=`#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`,envmap_pars_fragment=`#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`,envmap_pars_vertex=`#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`,envmap_vertex=`#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 = transformNormalByInverseViewMatrix( 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`,fog_vertex=`#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif`,fog_pars_vertex=`#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif`,fog_fragment=`#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`,fog_pars_fragment=`#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`,gradientmap_pars_fragment=`#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}`,lightmap_pars_fragment=`#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif`,lights_lambert_fragment=`LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;`,lights_lambert_pars_fragment=`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`,lights_pars_begin=`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 = transformNormalByInverseViewMatrix( 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_SUN_LIGHTS > 0\n\tstruct SunLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform SunLight sunLights[ NUM_SUN_LIGHTS ];\n\tvoid getSunLightInfo( const in SunLight sunLight, out IncidentLight light ) {\n\t\tlight.color = sunLight.color;\n\t\tlight.direction = sunLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\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>`,envmap_physical_pars_fragment=`#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = transformNormalByInverseViewMatrix( 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 = transformDirectionByInverseViewMatrix( 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_RETROREFLECTION\n\t\tvec3 getIBLRetroRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 retroVec = normalize( mix( viewDir, normal, pow4( roughness ) ) );\n\t\t\t\tretroVec = transformDirectionByInverseViewMatrix( retroVec, viewMatrix );\n\t\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * retroVec, roughness );\n\t\t\t\treturn envMapColor.rgb * envMapIntensity;\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\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\t#ifdef USE_RETROREFLECTION\n\t\t\tvec3 getIBLAnisotropyRetroRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\t\treturn getIBLRetroRadiance( viewDir, bentNormal, roughness );\n\t\t\t\t#else\n\t\t\t\t\treturn vec3( 0.0 );\n\t\t\t\t#endif\n\t\t\t}\n\t\t#endif\n\t#endif\n#endif`,lights_toon_fragment=`ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;`,lights_toon_pars_fragment=`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`,lights_phong_fragment=`BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;`,lights_phong_pars_fragment=`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`,lights_physical_fragment=`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_RETROREFLECTION\n\tmaterial.retroreflectivity = retroreflectivity;\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`,lights_physical_pars_fragment=`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\tvec2 dfg;\n\tvec3 multiScatteringCompensation;\n\t#ifdef USE_RETROREFLECTION\n\t\tfloat retroreflectivity;\n\t#endif\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 iridescenceF0Dielectric;\n\t\tvec3 iridescenceF0Metallic;\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 vec2 fab, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec2 fab, const in vec3 specularColor, const in float specularF90, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\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}\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\tvec3 specularBRDF = BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n\t#ifdef USE_RETROREFLECTION\n\t\tvec3 retroViewDir = reflect( - geometryViewDir, geometryNormal );\n\t\tvec3 retroSpecularBRDF = BRDF_GGX( directLight.direction, retroViewDir, geometryNormal, material );\n\t\tspecularBRDF = mix( specularBRDF, retroSpecularBRDF, saturate( material.retroreflectivity ) );\n\t#endif\n\treflectedLight.directSpecular += irradiance * specularBRDF * material.multiScatteringCompensation;\n\tvec3 halfDir = normalize( directLight.direction + geometryViewDir );\n\tfloat dotVH = saturate( dot( geometryViewDir, halfDir ) );\n\tvec3 F = F_Schlick( material.specularColor, material.specularF90, dotVH );\n\t#ifdef USE_RETROREFLECTION\n\t\tvec3 retroHalfDir = normalize( directLight.direction + retroViewDir );\n\t\tfloat dotRetroVH = saturate( dot( retroViewDir, retroHalfDir ) );\n\t\tvec3 retroF = F_Schlick( material.specularColor, material.specularF90, dotRetroVH );\n\t\tF = mix( F, retroF, saturate( material.retroreflectivity ) );\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseContribution ) * ( 1.0 - F );\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 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( material.dfg, material.specularColor, material.specularF90, material.iridescence, material.iridescenceF0Dielectric, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( material.dfg, material.specularColor, material.specularF90, singleScattering, multiScattering );\n\t#endif\n\tvec3 diffuse = irradiance * BRDF_Lambert( material.diffuseContribution ) * ( 1.0 - singleScattering - multiScattering );\n\t#ifdef USE_SHEEN\n\t\tfloat sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * sheenAlbedo * RECIPROCAL_PI;\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( material.dfg, material.specularColor, material.specularF90, material.iridescence, material.iridescenceF0Dielectric, singleScatteringDielectric, multiScatteringDielectric );\n\t\tcomputeMultiscatteringIridescence( material.dfg, material.diffuseColor, material.specularF90, material.iridescence, material.iridescenceF0Metallic, singleScatteringMetallic, multiScatteringMetallic );\n\t#else\n\t\tcomputeMultiscattering( material.dfg, material.specularColor, material.specularF90, singleScatteringDielectric, multiScatteringDielectric );\n\t\tcomputeMultiscattering( material.dfg, material.diffuseColor, material.specularF90, 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}`,lights_fragment_begin=`\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\tvec3 iridescenceFresnelDielectric = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tvec3 iridescenceFresnelMetallic = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.diffuseColor );\n\t\tmaterial.iridescenceFresnel = mix( iridescenceFresnelDielectric, iridescenceFresnelMetallic, material.metalness );\n\t\tmaterial.iridescenceF0Dielectric = Schlick_to_F0( iridescenceFresnelDielectric, 1.0, dotNVi );\n\t\tmaterial.iridescenceF0Metallic = Schlick_to_F0( iridescenceFresnelMetallic, 1.0, dotNVi );\n\t}\n#endif\n#ifdef STANDARD\n\tfloat dotNVms = saturate( dot( geometryNormal, geometryViewDir ) );\n\tmaterial.dfg = texture2D( dfgLUT, vec2( material.roughness, dotNVms ) ).rg;\n\t#if ( NUM_SUN_LIGHTS > 0 || NUM_DIR_LIGHTS > 0 || NUM_POINT_LIGHTS > 0 || NUM_SPOT_LIGHTS > 0 )\n\t\tfloat EssMs = material.dfg.x + material.dfg.y;\n\t\tmaterial.multiScatteringCompensation = 1.0 + material.specularColorBlended * ( 1.0 / EssMs - 1.0 );\n\t#endif\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_SUN_LIGHTS > 0 ) && defined( RE_Direct )\n\tSunLight sunLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SUN_LIGHT_SHADOWS > 0\n\tSunLightShadow sunLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SUN_LIGHTS; i ++ ) {\n\t\tsunLight = sunLights[ i ];\n\t\tgetSunLightInfo( sunLight, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SUN_LIGHT_SHADOWS )\n\t\tsunLightShadow = sunLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getSunShadow( sunShadowMap[ i ], sunLightShadow, UNROLLED_LOOP_INDEX ) : 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 = transformNormalByInverseViewMatrix( 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`,lights_fragment_maps=`#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\tvec3 iblRadiance = getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tvec3 iblRadiance = getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_RETROREFLECTION\n\t\t#ifdef USE_ANISOTROPY\n\t\t\tvec3 retroIBLRadiance = getIBLAnisotropyRetroRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t\t#else\n\t\t\tvec3 retroIBLRadiance = getIBLRetroRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t\t#endif\n\t\tiblRadiance = mix( iblRadiance, retroIBLRadiance, saturate( material.retroreflectivity ) );\n\t#endif\n\tradiance += iblRadiance;\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif`,lights_fragment_end=`#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`,lightprobes_pars_fragment=`#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`,logdepthbuf_fragment=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER )\n\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif`,logdepthbuf_pars_fragment=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif`,logdepthbuf_pars_vertex=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif`,logdepthbuf_vertex=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER\n\tvFragDepth = 1.0 + gl_Position.w;\n\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n#endif`,map_fragment=`#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`,map_pars_fragment=`#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif`,map_particle_fragment=`#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`,map_particle_pars_fragment=`#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`,metalnessmap_fragment=`float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif`,metalnessmap_pars_fragment=`#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif`,morphinstance_vertex=`#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`,morphcolor_vertex=`#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`,morphnormal_vertex=`#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`,morphtarget_pars_vertex=`#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`,morphtarget_vertex=`#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`,normal_fragment_begin=`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#ifdef DOUBLE_SIDED\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#ifdef DOUBLE_SIDED\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;`,normal_fragment_maps=`#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`,normal_pars_fragment=`#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`,normal_pars_vertex=`#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`,normal_vertex=`#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\t#ifdef FLIP_SIDED\n\t\t\tvBitangent = - vBitangent;\n\t\t#endif\n\t#endif\n#endif`,normalmap_pars_fragment=`#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`,clearcoat_normal_fragment_begin=`#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif`,clearcoat_normal_fragment_maps=`#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`,clearcoat_pars_fragment=`#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`,iridescence_pars_fragment=`#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif`,opaque_fragment=`#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );`,packing=`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}`,premultiplied_alpha_fragment=`#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif`,project_vertex=`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;`,dithering_fragment=`#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif`,dithering_pars_fragment=`#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`,roughnessmap_fragment=`float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif`,roughnessmap_pars_fragment=`#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif`,shadowmap_pars_fragment=`#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_SUN_LIGHT_SHADOWS > 0\n\t\t#define SUN_LIGHT_CASCADES 2\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tuniform sampler2DShadow sunShadowMap[ NUM_SUN_LIGHT_SHADOWS ];\n\t\t#else\n\t\t\tuniform sampler2D sunShadowMap[ NUM_SUN_LIGHT_SHADOWS ];\n\t\t#endif\n\t\tuniform mat4 sunShadowMatrix[ NUM_SUN_LIGHT_SHADOWS * SUN_LIGHT_CASCADES ];\n\t\tuniform vec4 sunShadowCascade[ NUM_SUN_LIGHT_SHADOWS * SUN_LIGHT_CASCADES ];\n\t\tvarying vec4 vSunShadowWorldPosition;\n\t\tvarying vec3 vSunShadowWorldNormal;\n\t\tstruct SunLightShadow {\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 SunLightShadow sunLightShadows[ NUM_SUN_LIGHT_SHADOWS ];\n\t#endif\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_SUN_LIGHT_SHADOWS > 0\n\t\tfloat getSunShadow(\n\t\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\t\tsampler2DShadow shadowMap,\n\t\t\t#else\n\t\t\t\tsampler2D shadowMap,\n\t\t\t#endif\n\t\t\tSunLightShadow sunLightShadow,\n\t\t\tint shadowIndex\n\t\t) {\n\t\t\tvec4 shadowWorldPosition = vec4( vSunShadowWorldPosition.xyz + vSunShadowWorldNormal * sunLightShadow.shadowNormalBias, 1.0 );\n\t\t\tfloat viewDepth = vSunShadowWorldPosition.w;\n\t\t\tint cascadeOffset = shadowIndex * SUN_LIGHT_CASCADES;\n\t\t\tfloat shadow = 1.0;\n\t\t\tfor ( int i = SUN_LIGHT_CASCADES - 1; i >= 0; i -- ) {\n\t\t\t\tvec4 cascade = sunShadowCascade[ cascadeOffset + i ];\n\t\t\t\tif ( viewDepth >= cascade.x && viewDepth < cascade.y ) {\n\t\t\t\t\tfloat cascadeShadow = getShadow(\n\t\t\t\t\t\tshadowMap,\n\t\t\t\t\t\tsunLightShadow.shadowMapSize,\n\t\t\t\t\t\tsunLightShadow.shadowIntensity,\n\t\t\t\t\t\tsunLightShadow.shadowBias,\n\t\t\t\t\t\tsunLightShadow.shadowRadius,\n\t\t\t\t\t\tsunShadowMatrix[ cascadeOffset + i ] * shadowWorldPosition\n\t\t\t\t\t);\n\t\t\t\t\tshadow = mix( cascadeShadow, shadow, smoothstep( cascade.z, cascade.y, viewDepth ) );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn shadow;\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`,shadowmap_pars_vertex=`#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_SUN_LIGHT_SHADOWS > 0\n\t\tvarying vec4 vSunShadowWorldPosition;\n\t\tvarying vec3 vSunShadowWorldNormal;\n\t#endif\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`,shadowmap_vertex=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SUN_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\t#ifdef HAS_NORMAL\n\t\tvec3 shadowWorldNormal = transformNormalByInverseViewMatrix( 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_SUN_LIGHT_SHADOWS > 0\n\t\tvSunShadowWorldPosition = vec4( worldPosition.xyz, - mvPosition.z );\n\t\tvSunShadowWorldNormal = shadowWorldNormal;\n\t#endif\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`,shadowmask_pars_fragment=`float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_SUN_LIGHT_SHADOWS > 0\n\tSunLightShadow sunLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SUN_LIGHT_SHADOWS; i ++ ) {\n\t\tsunLight = sunLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getSunShadow( sunShadowMap[ i ], sunLight, UNROLLED_LOOP_INDEX ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\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}`,skinbase_vertex=`#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`,skinning_pars_vertex=`#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`,skinning_vertex=`#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`,skinnormal_vertex=`#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`,specularmap_fragment=`float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif`,specularmap_pars_fragment=`#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif`,tonemapping_fragment=`#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif`,tonemapping_pars_fragment=`#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; }`,transmission_fragment=`#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 = transformNormalByInverseViewMatrix( 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`,transmission_pars_fragment=`#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`,uv_pars_fragment=`#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`,uv_pars_vertex=`#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`,uv_vertex=`#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`,worldpos_vertex=`#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`,vertex$h=`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}`,fragment$h=`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}`,vertex$g=`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}`,fragment$g=`#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}`,vertex$f=`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}`,fragment$f=`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}`,vertex$e=`#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}`,fragment$e=`#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}`,vertex$d=`#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}`,fragment$d=`#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}`,vertex$c=`varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}`,fragment$c=`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}`,vertex$b=`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}`,fragment$b=`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}`,vertex$a=`#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}`,fragment$a=`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}`,vertex$9=`#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}`,fragment$9=`#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}`,vertex$8=`#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}`,fragment$8=`#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}`,vertex$7=`#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}`,fragment$7=`#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}`,vertex$6=`#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}`,fragment$6=`#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}`,vertex$5=`#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}`,fragment$5=`#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_RETROREFLECTION\n\tuniform float retroreflectivity;\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}`,vertex$4=`#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}`,fragment$4=`#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}`,vertex$3=`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}`,fragment$3=`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}`,vertex$2=`#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}`,fragment$2=`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}`,vertex$1=`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}`,fragment$1=`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}`,ShaderChunk={alphahash_fragment,alphahash_pars_fragment,alphamap_fragment,alphamap_pars_fragment,alphatest_fragment,alphatest_pars_fragment,aomap_fragment,aomap_pars_fragment,batching_pars_vertex,batching_vertex,begin_vertex,beginnormal_vertex,bsdfs,iridescence_fragment,bumpmap_pars_fragment,clipping_planes_fragment,clipping_planes_pars_fragment,clipping_planes_pars_vertex,clipping_planes_vertex,color_fragment,color_pars_fragment,color_pars_vertex,color_vertex,common,cube_uv_reflection_fragment,defaultnormal_vertex,displacementmap_pars_vertex,displacementmap_vertex,emissivemap_fragment,emissivemap_pars_fragment,colorspace_fragment,colorspace_pars_fragment,envmap_fragment,envmap_common_pars_fragment,envmap_pars_fragment,envmap_pars_vertex,envmap_physical_pars_fragment,envmap_vertex,fog_vertex,fog_pars_vertex,fog_fragment,fog_pars_fragment,gradientmap_pars_fragment,lightmap_pars_fragment,lights_lambert_fragment,lights_lambert_pars_fragment,lights_pars_begin,lights_toon_fragment,lights_toon_pars_fragment,lights_phong_fragment,lights_phong_pars_fragment,lights_physical_fragment,lights_physical_pars_fragment,lights_fragment_begin,lights_fragment_maps,lights_fragment_end,lightprobes_pars_fragment,logdepthbuf_fragment,logdepthbuf_pars_fragment,logdepthbuf_pars_vertex,logdepthbuf_vertex,map_fragment,map_pars_fragment,map_particle_fragment,map_particle_pars_fragment,metalnessmap_fragment,metalnessmap_pars_fragment,morphinstance_vertex,morphcolor_vertex,morphnormal_vertex,morphtarget_pars_vertex,morphtarget_vertex,normal_fragment_begin,normal_fragment_maps,normal_pars_fragment,normal_pars_vertex,normal_vertex,normalmap_pars_fragment,clearcoat_normal_fragment_begin,clearcoat_normal_fragment_maps,clearcoat_pars_fragment,iridescence_pars_fragment,opaque_fragment,packing,premultiplied_alpha_fragment,project_vertex,dithering_fragment,dithering_pars_fragment,roughnessmap_fragment,roughnessmap_pars_fragment,shadowmap_pars_fragment,shadowmap_pars_vertex,shadowmap_vertex,shadowmask_pars_fragment,skinbase_vertex,skinning_pars_vertex,skinning_vertex,skinnormal_vertex,specularmap_fragment,specularmap_pars_fragment,tonemapping_fragment,tonemapping_pars_fragment,transmission_fragment,transmission_pars_fragment,uv_pars_fragment,uv_pars_vertex,uv_vertex,worldpos_vertex,background_vert:vertex$h,background_frag:fragment$h,backgroundCube_vert:vertex$g,backgroundCube_frag:fragment$g,cube_vert:vertex$f,cube_frag:fragment$f,depth_vert:vertex$e,depth_frag:fragment$e,distance_vert:vertex$d,distance_frag:fragment$d,equirect_vert:vertex$c,equirect_frag:fragment$c,linedashed_vert:vertex$b,linedashed_frag:fragment$b,meshbasic_vert:vertex$a,meshbasic_frag:fragment$a,meshlambert_vert:vertex$9,meshlambert_frag:fragment$9,meshmatcap_vert:vertex$8,meshmatcap_frag:fragment$8,meshnormal_vert:vertex$7,meshnormal_frag:fragment$7,meshphong_vert:vertex$6,meshphong_frag:fragment$6,meshphysical_vert:vertex$5,meshphysical_frag:fragment$5,meshtoon_vert:vertex$4,meshtoon_frag:fragment$4,points_vert:vertex$3,points_frag:fragment$3,shadow_vert:vertex$2,shadow_frag:fragment$2,sprite_vert:vertex$1,sprite_frag:fragment$1},UniformsLib={common:{diffuse:{value:new Color(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Matrix3},alphaMap:{value:null},alphaMapTransform:{value:new Matrix3},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Matrix3}},envmap:{envMap:{value:null},envMapRotation:{value:new Matrix3},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Matrix3}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Matrix3}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Matrix3},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Matrix3},normalScale:{value:new Vector2(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Matrix3},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Matrix3}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Matrix3}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Matrix3}},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:[]},sunLights:{value:[],properties:{direction:{},color:{}}},sunLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},sunShadowMatrix:{value:[]},sunShadowCascade:{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 Vector3},probesMax:{value:new Vector3},probesResolution:{value:new Vector3}},points:{diffuse:{value:new Color(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Matrix3},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},mapTransform:{value:new Matrix3},alphaMap:{value:null},alphaMapTransform:{value:new Matrix3},alphaTest:{value:0}}},ShaderLib={basic:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.specularmap,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.fog]),vertexShader:ShaderChunk.meshbasic_vert,fragmentShader:ShaderChunk.meshbasic_frag},lambert:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.specularmap,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)},envMapIntensity:{value:1}}]),vertexShader:ShaderChunk.meshlambert_vert,fragmentShader:ShaderChunk.meshlambert_frag},phong:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.specularmap,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)},specular:{value:new Color(1118481)},shininess:{value:30},envMapIntensity:{value:1}}]),vertexShader:ShaderChunk.meshphong_vert,fragmentShader:ShaderChunk.meshphong_frag},standard:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.roughnessmap,UniformsLib.metalnessmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ShaderChunk.meshphysical_vert,fragmentShader:ShaderChunk.meshphysical_frag},toon:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.gradientmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)}}]),vertexShader:ShaderChunk.meshtoon_vert,fragmentShader:ShaderChunk.meshtoon_frag},matcap:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.fog,{matcap:{value:null}}]),vertexShader:ShaderChunk.meshmatcap_vert,fragmentShader:ShaderChunk.meshmatcap_frag},points:{uniforms:mergeUniforms([UniformsLib.points,UniformsLib.fog]),vertexShader:ShaderChunk.points_vert,fragmentShader:ShaderChunk.points_frag},dashed:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ShaderChunk.linedashed_vert,fragmentShader:ShaderChunk.linedashed_frag},depth:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.displacementmap]),vertexShader:ShaderChunk.depth_vert,fragmentShader:ShaderChunk.depth_frag},normal:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,{opacity:{value:1}}]),vertexShader:ShaderChunk.meshnormal_vert,fragmentShader:ShaderChunk.meshnormal_frag},sprite:{uniforms:mergeUniforms([UniformsLib.sprite,UniformsLib.fog]),vertexShader:ShaderChunk.sprite_vert,fragmentShader:ShaderChunk.sprite_frag},background:{uniforms:{uvTransform:{value:new Matrix3},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ShaderChunk.background_vert,fragmentShader:ShaderChunk.background_frag},backgroundCube:{uniforms:{envMap:{value:null},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Matrix3}},vertexShader:ShaderChunk.backgroundCube_vert,fragmentShader:ShaderChunk.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ShaderChunk.cube_vert,fragmentShader:ShaderChunk.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ShaderChunk.equirect_vert,fragmentShader:ShaderChunk.equirect_frag},distance:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.displacementmap,{referencePosition:{value:new Vector3},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ShaderChunk.distance_vert,fragmentShader:ShaderChunk.distance_frag},shadow:{uniforms:mergeUniforms([UniformsLib.lights,UniformsLib.fog,{color:{value:new Color(0)},opacity:{value:1}}]),vertexShader:ShaderChunk.shadow_vert,fragmentShader:ShaderChunk.shadow_frag}};ShaderLib.physical={uniforms:mergeUniforms([ShaderLib.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Matrix3},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Matrix3},clearcoatNormalScale:{value:new Vector2(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Matrix3},dispersion:{value:0},retroreflectivity:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Matrix3},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Matrix3},sheen:{value:0},sheenColor:{value:new Color(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Matrix3},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Matrix3},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Matrix3},transmissionSamplerSize:{value:new Vector2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Matrix3},attenuationDistance:{value:0},attenuationColor:{value:new Color(0)},specularColor:{value:new Color(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Matrix3},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Matrix3},anisotropyVector:{value:new Vector2},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Matrix3}}]),vertexShader:ShaderChunk.meshphysical_vert,fragmentShader:ShaderChunk.meshphysical_frag};var _rgb={r:0,b:0,g:0},_m1$12=new Matrix4,_m$1=new Matrix3;_m$1.set(-1,0,0,0,1,0,0,0,1);function WebGLBackground(renderer,environments,state,objects,alpha,premultipliedAlpha){let clearColor=new Color(0),clearAlpha=alpha===!0?0:1,planeMesh,boxMesh,currentBackground=null,currentBackgroundVersion=0,currentTonemapping=null;function getBackground(scene){let background=scene.isScene===!0?scene.background:null;if(background&&background.isTexture){let usePMREM=scene.backgroundBlurriness>0;background=environments.get(background,usePMREM);}return background;}function render(scene){let forceClear=!1,background=getBackground(scene);background===null?setClear(clearColor,clearAlpha):background&&background.isColor&&(setClear(background,1),forceClear=!0);let environmentBlendMode=renderer.xr.getEnvironmentBlendMode();environmentBlendMode===\"additive\"?state.buffers.color.setClear(0,0,0,1,premultipliedAlpha):environmentBlendMode===\"alpha-blend\"&&state.buffers.color.setClear(0,0,0,0,premultipliedAlpha),(renderer.autoClear||forceClear)&&(state.buffers.depth.setTest(!0),state.buffers.depth.setMask(!0),state.buffers.color.setMask(!0),renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil));}function addToRenderList(renderList,scene){let background=getBackground(scene);background&&(background.isCubeTexture||background.mapping===CubeUVReflectionMapping)?(boxMesh===void 0&&(boxMesh=new Mesh(new BoxGeometry(1,1,1),new ShaderMaterial({name:\"BackgroundCubeMaterial\",uniforms:cloneUniforms(ShaderLib.backgroundCube.uniforms),vertexShader:ShaderLib.backgroundCube.vertexShader,fragmentShader:ShaderLib.backgroundCube.fragmentShader,side:BackSide,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),boxMesh.geometry.deleteAttribute(\"normal\"),boxMesh.geometry.deleteAttribute(\"uv\"),boxMesh.onBeforeRender=function(renderer2,scene2,camera){this.matrixWorld.copyPosition(camera.matrixWorld);},Object.defineProperty(boxMesh.material,\"envMap\",{get:function(){return this.uniforms.envMap.value;}}),objects.update(boxMesh)),boxMesh.material.uniforms.envMap.value=background,boxMesh.material.uniforms.backgroundBlurriness.value=scene.backgroundBlurriness,boxMesh.material.uniforms.backgroundIntensity.value=scene.backgroundIntensity,boxMesh.material.uniforms.backgroundRotation.value.setFromMatrix4(_m1$12.makeRotationFromEuler(scene.backgroundRotation)).transpose(),background.isCubeTexture&&background.isRenderTargetTexture===!1&&boxMesh.material.uniforms.backgroundRotation.value.premultiply(_m$1),boxMesh.material.toneMapped=ColorManagement.getTransfer(background.colorSpace)!==SRGBTransfer,(currentBackground!==background||currentBackgroundVersion!==background.version||currentTonemapping!==renderer.toneMapping)&&(boxMesh.material.needsUpdate=!0,currentBackground=background,currentBackgroundVersion=background.version,currentTonemapping=renderer.toneMapping),boxMesh.layers.enableAll(),renderList.unshift(boxMesh,boxMesh.geometry,boxMesh.material,0,0,null)):background&&background.isTexture&&(planeMesh===void 0&&(planeMesh=new Mesh(new PlaneGeometry(2,2),new ShaderMaterial({name:\"BackgroundMaterial\",uniforms:cloneUniforms(ShaderLib.background.uniforms),vertexShader:ShaderLib.background.vertexShader,fragmentShader:ShaderLib.background.fragmentShader,side:FrontSide,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),planeMesh.geometry.deleteAttribute(\"normal\"),Object.defineProperty(planeMesh.material,\"map\",{get:function(){return this.uniforms.t2D.value;}}),objects.update(planeMesh)),planeMesh.material.uniforms.t2D.value=background,planeMesh.material.uniforms.backgroundIntensity.value=scene.backgroundIntensity,planeMesh.material.toneMapped=ColorManagement.getTransfer(background.colorSpace)!==SRGBTransfer,background.matrixAutoUpdate===!0&&background.updateMatrix(),planeMesh.material.uniforms.uvTransform.value.copy(background.matrix),(currentBackground!==background||currentBackgroundVersion!==background.version||currentTonemapping!==renderer.toneMapping)&&(planeMesh.material.needsUpdate=!0,currentBackground=background,currentBackgroundVersion=background.version,currentTonemapping=renderer.toneMapping),planeMesh.layers.enableAll(),renderList.unshift(planeMesh,planeMesh.geometry,planeMesh.material,0,0,null));}function setClear(color,alpha2){color.getRGB(_rgb,getUnlitUniformColorSpace(renderer)),state.buffers.color.setClear(_rgb.r,_rgb.g,_rgb.b,alpha2,premultipliedAlpha);}function dispose(){boxMesh!==void 0&&(boxMesh.geometry.dispose(),boxMesh.material.dispose(),boxMesh=void 0),planeMesh!==void 0&&(planeMesh.geometry.dispose(),planeMesh.material.dispose(),planeMesh=void 0);}return{getClearColor:function(){return clearColor;},setClearColor:function(color,alpha2=1){clearColor.set(color),clearAlpha=alpha2,setClear(clearColor,clearAlpha);},getClearAlpha:function(){return clearAlpha;},setClearAlpha:function(alpha2){clearAlpha=alpha2,setClear(clearColor,clearAlpha);},render,addToRenderList,dispose};}function WebGLBindingStates(gl,attributes){let maxVertexAttributes=gl.getParameter(gl.MAX_VERTEX_ATTRIBS),bindingStates={},defaultState=createBindingState(null),currentState=defaultState,forceUpdate=!1;function setup(object,material,program,geometry,index){let updateBuffers=!1,state=getBindingState(object,geometry,program,material);currentState!==state&&(currentState=state,bindVertexArrayObject(currentState.object)),updateBuffers=needsUpdate(object,geometry,program,index),updateBuffers&&saveCache(object,geometry,program,index),index!==null&&attributes.update(index,gl.ELEMENT_ARRAY_BUFFER),(updateBuffers||forceUpdate)&&(forceUpdate=!1,setupVertexAttributes(object,material,program,geometry),index!==null&&gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,attributes.get(index).buffer));}function createVertexArrayObject(){return gl.createVertexArray();}function bindVertexArrayObject(vao){return gl.bindVertexArray(vao);}function deleteVertexArrayObject(vao){return gl.deleteVertexArray(vao);}function getBindingState(object,geometry,program,material){let wireframe=material.wireframe===!0,objectMap=bindingStates[geometry.id];objectMap===void 0&&(objectMap={},bindingStates[geometry.id]=objectMap);let objectId=object.isInstancedMesh===!0?object.id:0,programMap=objectMap[objectId];programMap===void 0&&(programMap={},objectMap[objectId]=programMap);let stateMap=programMap[program.id];stateMap===void 0&&(stateMap={},programMap[program.id]=stateMap);let state=stateMap[wireframe];return state===void 0&&(state=createBindingState(createVertexArrayObject()),stateMap[wireframe]=state),state;}function createBindingState(vao){let newAttributes=[],enabledAttributes=[],attributeDivisors=[];for(let i=0;i<maxVertexAttributes;i++)newAttributes[i]=0,enabledAttributes[i]=0,attributeDivisors[i]=0;return{geometry:null,program:null,wireframe:!1,newAttributes,enabledAttributes,attributeDivisors,object:vao,attributes:{},index:null};}function needsUpdate(object,geometry,program,index){let cachedAttributes=currentState.attributes,geometryAttributes=geometry.attributes,attributesNum=0,programAttributes=program.getAttributes();for(let name in programAttributes)if(programAttributes[name].location>=0){let cachedAttribute=cachedAttributes[name],geometryAttribute=geometryAttributes[name];if(geometryAttribute===void 0&&(name===\"instanceMatrix\"&&object.instanceMatrix&&(geometryAttribute=object.instanceMatrix),name===\"instanceColor\"&&object.instanceColor&&(geometryAttribute=object.instanceColor)),cachedAttribute===void 0||cachedAttribute.attribute!==geometryAttribute||geometryAttribute&&cachedAttribute.data!==geometryAttribute.data)return!0;attributesNum++;}return currentState.attributesNum!==attributesNum||currentState.index!==index;}function saveCache(object,geometry,program,index){let cache={},attributes2=geometry.attributes,attributesNum=0,programAttributes=program.getAttributes();for(let name in programAttributes)if(programAttributes[name].location>=0){let attribute=attributes2[name];attribute===void 0&&(name===\"instanceMatrix\"&&object.instanceMatrix&&(attribute=object.instanceMatrix),name===\"instanceColor\"&&object.instanceColor&&(attribute=object.instanceColor));let data={};data.attribute=attribute,attribute&&attribute.data&&(data.data=attribute.data),cache[name]=data,attributesNum++;}currentState.attributes=cache,currentState.attributesNum=attributesNum,currentState.index=index;}function initAttributes(){let newAttributes=currentState.newAttributes;for(let i=0,il=newAttributes.length;i<il;i++)newAttributes[i]=0;}function enableAttribute(attribute){enableAttributeAndDivisor(attribute,0);}function enableAttributeAndDivisor(attribute,meshPerAttribute){let newAttributes=currentState.newAttributes,enabledAttributes=currentState.enabledAttributes,attributeDivisors=currentState.attributeDivisors;newAttributes[attribute]=1,enabledAttributes[attribute]===0&&(gl.enableVertexAttribArray(attribute),enabledAttributes[attribute]=1),attributeDivisors[attribute]!==meshPerAttribute&&(gl.vertexAttribDivisor(attribute,meshPerAttribute),attributeDivisors[attribute]=meshPerAttribute);}function disableUnusedAttributes(){let newAttributes=currentState.newAttributes,enabledAttributes=currentState.enabledAttributes;for(let i=0,il=enabledAttributes.length;i<il;i++)enabledAttributes[i]!==newAttributes[i]&&(gl.disableVertexAttribArray(i),enabledAttributes[i]=0);}function vertexAttribPointer(index,size,type,normalized,stride,offset,integer){integer===!0?gl.vertexAttribIPointer(index,size,type,stride,offset):gl.vertexAttribPointer(index,size,type,normalized,stride,offset);}function setupVertexAttributes(object,material,program,geometry){initAttributes();let geometryAttributes=geometry.attributes,programAttributes=program.getAttributes(),materialDefaultAttributeValues=material.defaultAttributeValues;for(let name in programAttributes){let programAttribute=programAttributes[name];if(programAttribute.location>=0){let geometryAttribute=geometryAttributes[name];if(geometryAttribute===void 0&&(name===\"instanceMatrix\"&&object.instanceMatrix&&(geometryAttribute=object.instanceMatrix),name===\"instanceColor\"&&object.instanceColor&&(geometryAttribute=object.instanceColor)),geometryAttribute!==void 0){let normalized=geometryAttribute.normalized,size=geometryAttribute.itemSize,attribute=attributes.get(geometryAttribute);if(attribute===void 0)continue;let buffer=attribute.buffer,type=attribute.type,bytesPerElement=attribute.bytesPerElement,integer=type===gl.INT||type===gl.UNSIGNED_INT||geometryAttribute.gpuType===IntType;if(geometryAttribute.isInterleavedBufferAttribute){let data=geometryAttribute.data,stride=data.stride,offset=geometryAttribute.offset;if(data.isInstancedInterleavedBuffer){for(let i=0;i<programAttribute.locationSize;i++)enableAttributeAndDivisor(programAttribute.location+i,data.meshPerAttribute);object.isInstancedMesh!==!0&&geometry._maxInstanceCount===void 0&&(geometry._maxInstanceCount=data.meshPerAttribute*data.count);}else for(let i=0;i<programAttribute.locationSize;i++)enableAttribute(programAttribute.location+i);gl.bindBuffer(gl.ARRAY_BUFFER,buffer);for(let i=0;i<programAttribute.locationSize;i++)vertexAttribPointer(programAttribute.location+i,size/programAttribute.locationSize,type,normalized,stride*bytesPerElement,(offset+size/programAttribute.locationSize*i)*bytesPerElement,integer);}else{if(geometryAttribute.isInstancedBufferAttribute){for(let i=0;i<programAttribute.locationSize;i++)enableAttributeAndDivisor(programAttribute.location+i,geometryAttribute.meshPerAttribute);object.isInstancedMesh!==!0&&geometry._maxInstanceCount===void 0&&(geometry._maxInstanceCount=geometryAttribute.meshPerAttribute*geometryAttribute.count);}else for(let i=0;i<programAttribute.locationSize;i++)enableAttribute(programAttribute.location+i);gl.bindBuffer(gl.ARRAY_BUFFER,buffer);for(let i=0;i<programAttribute.locationSize;i++)vertexAttribPointer(programAttribute.location+i,size/programAttribute.locationSize,type,normalized,size*bytesPerElement,size/programAttribute.locationSize*i*bytesPerElement,integer);}}else if(materialDefaultAttributeValues!==void 0){let value=materialDefaultAttributeValues[name];if(value!==void 0)switch(value.length){case 2:gl.vertexAttrib2fv(programAttribute.location,value);break;case 3:gl.vertexAttrib3fv(programAttribute.location,value);break;case 4:gl.vertexAttrib4fv(programAttribute.location,value);break;default:gl.vertexAttrib1fv(programAttribute.location,value);}}}}disableUnusedAttributes();}function dispose(){reset();for(let geometryId in bindingStates){let objectMap=bindingStates[geometryId];for(let objectId in objectMap){let programMap=objectMap[objectId];for(let programId in programMap){let stateMap=programMap[programId];for(let wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[programId];}}delete bindingStates[geometryId];}}function releaseStatesOfGeometry(geometry){if(bindingStates[geometry.id]===void 0)return;let objectMap=bindingStates[geometry.id];for(let objectId in objectMap){let programMap=objectMap[objectId];for(let programId in programMap){let stateMap=programMap[programId];for(let wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[programId];}}delete bindingStates[geometry.id];}function releaseStatesOfProgram(program){for(let geometryId in bindingStates){let objectMap=bindingStates[geometryId];for(let objectId in objectMap){let programMap=objectMap[objectId];if(programMap[program.id]===void 0)continue;let stateMap=programMap[program.id];for(let wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[program.id];}}}function releaseStatesOfObject(object){for(let geometryId in bindingStates){let objectMap=bindingStates[geometryId],objectId=object.isInstancedMesh===!0?object.id:0,programMap=objectMap[objectId];if(programMap!==void 0){for(let programId in programMap){let stateMap=programMap[programId];for(let wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[programId];}delete objectMap[objectId],Object.keys(objectMap).length===0&&delete bindingStates[geometryId];}}}function reset(){resetDefaultState(),forceUpdate=!0,currentState!==defaultState&&(currentState=defaultState,bindVertexArrayObject(currentState.object));}function resetDefaultState(){defaultState.geometry=null,defaultState.program=null,defaultState.wireframe=!1;}return{setup,reset,resetDefaultState,dispose,releaseStatesOfGeometry,releaseStatesOfObject,releaseStatesOfProgram,initAttributes,enableAttribute,disableUnusedAttributes};}function WebGLBufferRenderer(gl,extensions,info){let mode;function setMode(value){mode=value;}function render(start,count){gl.drawArrays(mode,start,count),info.update(count,mode,1);}function renderInstances(start,count,primcount){primcount!==0&&(gl.drawArraysInstanced(mode,start,count,primcount),info.update(count,mode,primcount));}function renderMultiDraw(starts,counts,drawCount){if(drawCount===0)return;extensions.get(\"WEBGL_multi_draw\").multiDrawArraysWEBGL(mode,starts,0,counts,0,drawCount);let elementCount=0;for(let i=0;i<drawCount;i++)elementCount+=counts[i];info.update(elementCount,mode,1);}this.setMode=setMode,this.render=render,this.renderInstances=renderInstances,this.renderMultiDraw=renderMultiDraw;}function WebGLCapabilities(gl,extensions,parameters,utils){let maxAnisotropy;function getMaxAnisotropy(){if(maxAnisotropy!==void 0)return maxAnisotropy;if(extensions.has(\"EXT_texture_filter_anisotropic\")===!0){let extension=extensions.get(\"EXT_texture_filter_anisotropic\");maxAnisotropy=gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT);}else maxAnisotropy=0;return maxAnisotropy;}function textureFormatReadable(textureFormat){return!(textureFormat!==RGBAFormat&&utils.convert(textureFormat)!==gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT));}function textureTypeReadable(textureType){let halfFloatSupportedByExt=textureType===HalfFloatType&&(extensions.has(\"EXT_color_buffer_half_float\")||extensions.has(\"EXT_color_buffer_float\"));return!(textureType!==UnsignedByteType&&textureType!==FloatType&&!halfFloatSupportedByExt&&utils.convert(textureType)!==gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE));}function getMaxPrecision(precision2){if(precision2===\"highp\"){if(gl.getShaderPrecisionFormat(gl.VERTEX_SHADER,gl.HIGH_FLOAT).precision>0&&gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER,gl.HIGH_FLOAT).precision>0)return\"highp\";precision2=\"mediump\";}return precision2===\"mediump\"&&gl.getShaderPrecisionFormat(gl.VERTEX_SHADER,gl.MEDIUM_FLOAT).precision>0&&gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER,gl.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\";}let precision=parameters.precision!==void 0?parameters.precision:\"highp\",maxPrecision=getMaxPrecision(precision);maxPrecision!==precision&&(warn(\"WebGLRenderer:\",precision,\"not supported, using\",maxPrecision,\"instead.\"),precision=maxPrecision);let logarithmicDepthBuffer=parameters.logarithmicDepthBuffer===!0,reversedDepthBuffer=parameters.reversedDepthBuffer===!0&&extensions.has(\"EXT_clip_control\");parameters.reversedDepthBuffer===!0&&reversedDepthBuffer===!1&&warn(\"WebGLRenderer: Unable to use reversed depth buffer due to missing EXT_clip_control extension. Fallback to default depth buffer.\");let maxTextures=gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS),maxVertexTextures=gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxTextureSize=gl.getParameter(gl.MAX_TEXTURE_SIZE),maxCubemapSize=gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE),maxAttributes=gl.getParameter(gl.MAX_VERTEX_ATTRIBS),maxVertexUniforms=gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS),maxVaryings=gl.getParameter(gl.MAX_VARYING_VECTORS),maxFragmentUniforms=gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS),maxSamples=gl.getParameter(gl.MAX_SAMPLES),samples=gl.getParameter(gl.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy,getMaxPrecision,textureFormatReadable,textureTypeReadable,precision,logarithmicDepthBuffer,reversedDepthBuffer,maxTextures,maxVertexTextures,maxTextureSize,maxCubemapSize,maxAttributes,maxVertexUniforms,maxVaryings,maxFragmentUniforms,maxSamples,samples};}function WebGLClipping(properties){let scope=this,globalState=null,numGlobalPlanes=0,localClippingEnabled=!1,renderingShadows=!1,plane=new Plane,viewNormalMatrix=new Matrix3,uniform={value:null,needsUpdate:!1};this.uniform=uniform,this.numPlanes=0,this.numIntersection=0,this.init=function(planes,enableLocalClipping){let enabled=planes.length!==0||enableLocalClipping||numGlobalPlanes!==0||localClippingEnabled;return localClippingEnabled=enableLocalClipping,numGlobalPlanes=planes.length,enabled;},this.beginShadows=function(){renderingShadows=!0,projectPlanes(null);},this.endShadows=function(){renderingShadows=!1;},this.setGlobalState=function(planes,camera){globalState=projectPlanes(planes,camera,0);},this.setState=function(material,camera,useCache){let planes=material.clippingPlanes,clipIntersection=material.clipIntersection,clipShadows=material.clipShadows,materialProperties=properties.get(material);if(!localClippingEnabled||planes===null||planes.length===0||renderingShadows&&!clipShadows)renderingShadows?projectPlanes(null):resetGlobalState();else{let nGlobal=renderingShadows?0:numGlobalPlanes,lGlobal=nGlobal*4,dstArray=materialProperties.clippingState||null;uniform.value=dstArray,dstArray=projectPlanes(planes,camera,lGlobal,useCache);for(let i=0;i!==lGlobal;++i)dstArray[i]=globalState[i];materialProperties.clippingState=dstArray,this.numIntersection=clipIntersection?this.numPlanes:0,this.numPlanes+=nGlobal;}};function resetGlobalState(){uniform.value!==globalState&&(uniform.value=globalState,uniform.needsUpdate=numGlobalPlanes>0),scope.numPlanes=numGlobalPlanes,scope.numIntersection=0;}function projectPlanes(planes,camera,dstOffset,skipTransform){let nPlanes=planes!==null?planes.length:0,dstArray=null;if(nPlanes!==0){if(dstArray=uniform.value,skipTransform!==!0||dstArray===null){let flatSize=dstOffset+nPlanes*4,viewMatrix=camera.matrixWorldInverse;viewNormalMatrix.getNormalMatrix(viewMatrix),(dstArray===null||dstArray.length<flatSize)&&(dstArray=new Float32Array(flatSize));for(let i=0,i4=dstOffset;i!==nPlanes;++i,i4+=4)plane.copy(planes[i]).applyMatrix4(viewMatrix,viewNormalMatrix),plane.normal.toArray(dstArray,i4),dstArray[i4+3]=plane.constant;}uniform.value=dstArray,uniform.needsUpdate=!0;}return scope.numPlanes=nPlanes,scope.numIntersection=0,dstArray;}}var LOD_MIN=4,EXTRA_LODS=6,BLUR_SAMPLES=20,GGX_SAMPLES=256,_flatCamera=new OrthographicCamera,_clearColor=new Color,_oldTarget=null,_oldActiveCubeFace=0,_oldActiveMipmapLevel=0,_oldXrEnabled=!1,_origin=new Vector3,_direction=new Vector3,PMREMGenerator=class{fromScene(scene,sigma=0,near=.1,far=100,options={}){let{size=256,position=_origin}=options;_oldTarget=this._renderer.getRenderTarget(),_oldActiveCubeFace=this._renderer.getActiveCubeFace(),_oldActiveMipmapLevel=this._renderer.getActiveMipmapLevel(),_oldXrEnabled=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(size);let cubeUVRenderTarget=this._allocateTargets();return cubeUVRenderTarget.depthBuffer=!0,this._sceneToCubeUV(scene,near,far,cubeUVRenderTarget,position),sigma>0&&this._blur(cubeUVRenderTarget,0,0,sigma),this._applyPMREM(cubeUVRenderTarget),this._cleanup(cubeUVRenderTarget),cubeUVRenderTarget;}fromEquirectangular(equirectangular,renderTarget=null){return this._fromTexture(equirectangular,renderTarget);}fromCubemap(cubemap,renderTarget=null){return this._fromTexture(cubemap,renderTarget);}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=_getCubemapMaterial(),this._compileMaterial(this._cubemapMaterial));}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=_getEquirectMaterial(),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(cubeSize){this._lodMax=Math.floor(Math.log2(cubeSize)),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 i=0;i<this._lodMeshes.length;i++)this._lodMeshes[i].geometry.dispose();}_cleanup(outputTarget){this._renderer.setRenderTarget(_oldTarget,_oldActiveCubeFace,_oldActiveMipmapLevel),this._renderer.xr.enabled=_oldXrEnabled,outputTarget.scissorTest=!1,_setViewport(outputTarget,0,0,outputTarget.width,outputTarget.height);}_fromTexture(texture,renderTarget){texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping?this._setSize(texture.image.length===0?16:texture.image[0].width||texture.image[0].image.width):this._setSize(texture.image.width/4),_oldTarget=this._renderer.getRenderTarget(),_oldActiveCubeFace=this._renderer.getActiveCubeFace(),_oldActiveMipmapLevel=this._renderer.getActiveMipmapLevel(),_oldXrEnabled=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;let cubeUVRenderTarget=renderTarget||this._allocateTargets();return this._textureToCubeUV(texture,cubeUVRenderTarget),this._applyPMREM(cubeUVRenderTarget),this._cleanup(cubeUVRenderTarget),cubeUVRenderTarget;}_allocateTargets(){let width=3*Math.max(this._cubeSize,112),height=4*this._cubeSize,params={magFilter:LinearFilter,minFilter:LinearFilter,generateMipmaps:!1,type:HalfFloatType,format:RGBAFormat,colorSpace:LinearSRGBColorSpace,depthBuffer:!1},cubeUVRenderTarget=_createRenderTarget(width,height,params);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==width||this._pingPongRenderTarget.height!==height){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=_createRenderTarget(width,height,params);let{_lodMax}=this;({lodMeshes:this._lodMeshes,sizeLods:this._sizeLods}=_createPlanes(_lodMax)),this._blurMaterial=_getBlurShader(_lodMax,width,height),this._ggxMaterial=_getGGXShader(_lodMax,width,height);}return cubeUVRenderTarget;}_compileMaterial(material){let mesh=new Mesh(new BufferGeometry,material);this._renderer.compile(mesh,_flatCamera);}_sceneToCubeUV(scene,near,far,cubeUVRenderTarget,position){let cubeCamera=new PerspectiveCamera(90,1,near,far),upSign=[1,-1,1,1,1,1],forwardSign=[1,1,1,-1,-1,-1],renderer=this._renderer,originalAutoClear=renderer.autoClear,toneMapping=renderer.toneMapping;renderer.getClearColor(_clearColor),renderer.toneMapping=NoToneMapping,renderer.autoClear=!1,renderer.state.buffers.depth.getReversed()&&(renderer.setRenderTarget(cubeUVRenderTarget),renderer.clearDepth(),renderer.setRenderTarget(null)),this._backgroundBox===null&&(this._backgroundBox=new Mesh(new BoxGeometry,new MeshBasicMaterial({name:\"PMREM.Background\",side:BackSide,depthWrite:!1,depthTest:!1})));let backgroundBox=this._backgroundBox,backgroundMaterial=backgroundBox.material,useSolidColor=!1,background=scene.background;background?background.isColor&&(backgroundMaterial.color.copy(background),scene.background=null,useSolidColor=!0):(backgroundMaterial.color.copy(_clearColor),useSolidColor=!0);for(let i=0;i<6;i++){let col=i%3;col===0?(cubeCamera.up.set(0,upSign[i],0),cubeCamera.position.set(position.x,position.y,position.z),cubeCamera.lookAt(position.x+forwardSign[i],position.y,position.z)):col===1?(cubeCamera.up.set(0,0,upSign[i]),cubeCamera.position.set(position.x,position.y,position.z),cubeCamera.lookAt(position.x,position.y+forwardSign[i],position.z)):(cubeCamera.up.set(0,upSign[i],0),cubeCamera.position.set(position.x,position.y,position.z),cubeCamera.lookAt(position.x,position.y,position.z+forwardSign[i]));let size=this._cubeSize;_setViewport(cubeUVRenderTarget,col*size,i>2?size:0,size,size),renderer.setRenderTarget(cubeUVRenderTarget),useSolidColor&&renderer.render(backgroundBox,cubeCamera),renderer.render(scene,cubeCamera);}renderer.toneMapping=toneMapping,renderer.autoClear=originalAutoClear,scene.background=background;}_textureToCubeUV(texture,cubeUVRenderTarget){let renderer=this._renderer,isCubeTexture=texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping;isCubeTexture?(this._cubemapMaterial===null&&(this._cubemapMaterial=_getCubemapMaterial()),this._cubemapMaterial.uniforms.flipEnvMap.value=texture.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=_getEquirectMaterial());let material=isCubeTexture?this._cubemapMaterial:this._equirectMaterial,mesh=this._lodMeshes[0];mesh.material=material;let uniforms=material.uniforms;uniforms.envMap.value=texture;let size=this._cubeSize;_setViewport(cubeUVRenderTarget,0,0,3*size,2*size),renderer.setRenderTarget(cubeUVRenderTarget),renderer.render(mesh,_flatCamera);}_applyPMREM(cubeUVRenderTarget){let renderer=this._renderer,autoClear=renderer.autoClear;renderer.autoClear=!1;let n=this._lodMeshes.length;for(let i=1;i<n;i++)this._applyGGXFilter(cubeUVRenderTarget,i-1,i);renderer.autoClear=autoClear;}_applyGGXFilter(cubeUVRenderTarget,lodIn,lodOut){let renderer=this._renderer,pingPongRenderTarget=this._pingPongRenderTarget,ggxMaterial=this._ggxMaterial,ggxMesh=this._lodMeshes[lodOut];ggxMesh.material=ggxMaterial;let ggxUniforms=ggxMaterial.uniforms,targetRoughness=lodOut/(this._lodMeshes.length-1),sourceRoughness=lodIn/(this._lodMeshes.length-1),incrementalRoughness=Math.sqrt(targetRoughness*targetRoughness-sourceRoughness*sourceRoughness),blurStrength=targetRoughness*1.25,adjustedRoughness=incrementalRoughness*blurStrength,{_lodMax}=this,outputSize=this._sizeLods[lodOut],x=3*outputSize*(lodOut>_lodMax-LOD_MIN?lodOut-_lodMax+LOD_MIN:0),y=4*(this._cubeSize-outputSize);ggxUniforms.envMap.value=cubeUVRenderTarget.texture,ggxUniforms.roughness.value=adjustedRoughness,ggxUniforms.mipInt.value=_lodMax-lodIn,_setViewport(pingPongRenderTarget,x,y,3*outputSize,2*outputSize),renderer.setRenderTarget(pingPongRenderTarget),renderer.render(ggxMesh,_flatCamera),ggxUniforms.envMap.value=pingPongRenderTarget.texture,ggxUniforms.roughness.value=0,ggxUniforms.mipInt.value=_lodMax-lodOut,_setViewport(cubeUVRenderTarget,x,y,3*outputSize,2*outputSize),renderer.setRenderTarget(cubeUVRenderTarget),renderer.render(ggxMesh,_flatCamera);}_blur(cubeUVRenderTarget,lodIn,lodOut,sigma){let pingPongRenderTarget=this._pingPongRenderTarget,blurSigma=Math.min(sigma,Math.PI)/Math.SQRT2;this._blurPass(cubeUVRenderTarget,pingPongRenderTarget,lodIn,lodOut,blurSigma),this._blurPass(pingPongRenderTarget,cubeUVRenderTarget,lodOut,lodOut,blurSigma);}_blurPass(targetIn,targetOut,lodIn,lodOut,sigmaRadians){let renderer=this._renderer,blurMaterial=this._blurMaterial,blurMesh=this._lodMeshes[lodOut];blurMesh.material=blurMaterial;let blurUniforms=blurMaterial.uniforms;blurUniforms.envMap.value=targetIn.texture,blurUniforms.sigma.value=sigmaRadians,blurUniforms.mipInt.value=this._lodMax-lodIn;let outputSize=this._sizeLods[lodOut],x=3*outputSize*(lodOut>this._lodMax-LOD_MIN?lodOut-this._lodMax+LOD_MIN:0),y=4*(this._cubeSize-outputSize);_setViewport(targetOut,x,y,3*outputSize,2*outputSize),renderer.setRenderTarget(targetOut),renderer.render(blurMesh,_flatCamera);}constructor(renderer){this._renderer=renderer,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null;}};function _createPlanes(lodMax){let sizeLods=[],lodMeshes=[],lod=lodMax,totalLods=lodMax-LOD_MIN+1+EXTRA_LODS;for(let i=0;i<totalLods;i++){let sizeLod=Math.pow(2,lod);sizeLods.push(sizeLod);let texelSize=1/(sizeLod-2),min=-texelSize,max=1+texelSize,uv1=[min,min,max,min,max,max,min,min,max,max,min,max],cubeFaces=6,vertices=6,positionSize=3,position=new Float32Array(positionSize*vertices*cubeFaces),outputDirection=new Float32Array(positionSize*vertices*cubeFaces);for(let face=0;face<cubeFaces;face++){let x=face%3*2/3-1,y=face>2?0:-1,coordinates=[x,y,0,x+2/3,y,0,x+2/3,y+1,0,x,y,0,x+2/3,y+1,0,x,y+1,0];position.set(coordinates,positionSize*vertices*face);for(let vertex2=0;vertex2<vertices;vertex2++){let u=uv1[vertex2*2]*2-1,v=uv1[vertex2*2+1]*2-1;face===0?_direction.set(1,v,u):face===1?_direction.set(-u,1,-v):face===2?_direction.set(-u,v,1):face===3?_direction.set(-1,v,-u):face===4?_direction.set(-u,-1,v):_direction.set(u,v,-1),_direction.toArray(outputDirection,(face*vertices+vertex2)*positionSize);}}let planes=new BufferGeometry;planes.setAttribute(\"position\",new BufferAttribute(position,positionSize)),planes.setAttribute(\"outputDirection\",new BufferAttribute(outputDirection,positionSize)),lodMeshes.push(new Mesh(planes,null)),lod>LOD_MIN&&lod--;}return{lodMeshes,sizeLods};}function _createRenderTarget(width,height,params){let cubeUVRenderTarget=new WebGLRenderTarget(width,height,params);return cubeUVRenderTarget.texture.mapping=CubeUVReflectionMapping,cubeUVRenderTarget.texture.name=\"PMREM.cubeUv\",cubeUVRenderTarget.scissorTest=!0,cubeUVRenderTarget;}function _setViewport(target,x,y,width,height){target.viewport.set(x,y,width,height),target.scissor.set(x,y,width,height);}function _getGGXShader(lodMax,width,height){return new ShaderMaterial({name:\"PMREMGGXConvolution\",defines:{GGX_SAMPLES,CUBEUV_TEXEL_WIDTH:1/width,CUBEUV_TEXEL_HEIGHT:1/height,CUBEUV_MAX_MIP:`${lodMax}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:_getCommonVertexShader(),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:NoBlending,depthTest:!1,depthWrite:!1});}function _getBlurShader(lodMax,width,height){return new ShaderMaterial({name:\"SphericalGaussianBlur\",defines:{SAMPLES:BLUR_SAMPLES,CUBEUV_TEXEL_WIDTH:1/width,CUBEUV_TEXEL_HEIGHT:1/height,CUBEUV_MAX_MIP:`${lodMax}.0`},uniforms:{envMap:{value:null},sigma:{value:0},mipInt:{value:0}},vertexShader:_getCommonVertexShader(),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 sigma;\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\t\t\t#define GOLDEN_ANGLE 2.39996322973\n\n\t\t\tvoid main() {\n\n\t\t\t\tif ( sigma == 0.0 ) {\n\n\t\t\t\t\tgl_FragColor = vec4( bilinearCubeUV( envMap, vOutputDirection, mipInt ), 1.0 );\n\t\t\t\t\treturn;\n\n\t\t\t\t}\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\n\t\t\t\tvec3 up = abs( outputDirection.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, outputDirection ) );\n\t\t\t\tvec3 bitangent = cross( outputDirection, tangent );\n\n\t\t\t\t// Truncate the kernel at three standard deviations or at the antipode.\n\t\t\t\tfloat thetaMax = min( 3.0 * sigma, PI );\n\t\t\t\tfloat truncation = 1.0 - exp( - 0.5 * thetaMax * thetaMax / ( sigma * sigma ) );\n\n\t\t\t\tvec3 accumColor = vec3( 0.0 );\n\t\t\t\tfloat accumWeight = 0.0;\n\n\t\t\t\tfor ( int i = 0; i < SAMPLES; i ++ ) {\n\n\t\t\t\t\t// Stratified inverse-CDF sampling of the Gaussian, placed on a golden-angle spiral.\n\t\t\t\t\tfloat stratum = ( float( i ) + 0.5 ) / float( SAMPLES );\n\t\t\t\t\tfloat theta = sigma * sqrt( - 2.0 * log( 1.0 - stratum * truncation ) );\n\t\t\t\t\tfloat phi = float( i ) * GOLDEN_ANGLE;\n\n\t\t\t\t\tvec3 offset = cos( phi ) * tangent + sin( phi ) * bitangent;\n\t\t\t\t\tvec3 sampleDirection = cos( theta ) * outputDirection + sin( theta ) * offset;\n\n\t\t\t\t\t// Correct the planar sample density to solid angle.\n\t\t\t\t\tfloat weight = sin( theta ) / theta;\n\n\t\t\t\t\taccumColor += weight * bilinearCubeUV( envMap, sampleDirection, mipInt );\n\t\t\t\t\taccumWeight += weight;\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = vec4( accumColor / accumWeight, 1.0 );\n\n\t\t\t}\n\t\t`,blending:NoBlending,depthTest:!1,depthWrite:!1});}function _getEquirectMaterial(){return new ShaderMaterial({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null}},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\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:NoBlending,depthTest:!1,depthWrite:!1});}function _getCubemapMaterial(){return new ShaderMaterial({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:_getCommonVertexShader(),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:NoBlending,depthTest:!1,depthWrite:!1});}function _getCommonVertexShader(){return`\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 outputDirection;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = outputDirection;\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t`;}var WebGLCubeRenderTarget=class extends WebGLRenderTarget{fromEquirectangularTexture(renderer,texture){this.texture.type=texture.type,this.texture.colorSpace=texture.colorSpace,this.texture.generateMipmaps=texture.generateMipmaps,this.texture.minFilter=texture.minFilter,this.texture.magFilter=texture.magFilter;let shader={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`},geometry=new BoxGeometry(5,5,5),material=new ShaderMaterial({name:\"CubemapFromEquirect\",uniforms:cloneUniforms(shader.uniforms),vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader,side:BackSide,blending:NoBlending});material.uniforms.tEquirect.value=texture;let mesh=new Mesh(geometry,material),currentMinFilter=texture.minFilter;return texture.minFilter===LinearMipmapLinearFilter&&(texture.minFilter=LinearFilter),new CubeCamera(1,10,this).update(renderer,mesh),texture.minFilter=currentMinFilter,mesh.geometry.dispose(),mesh.material.dispose(),this;}clear(renderer,color=!0,depth=!0,stencil=!0){let currentRenderTarget=renderer.getRenderTarget();for(let i=0;i<6;i++)renderer.setRenderTarget(this,i),renderer.clear(color,depth,stencil);renderer.setRenderTarget(currentRenderTarget);}constructor(size=1,options={}){super(size,size,options),this.isWebGLCubeRenderTarget=!0;let image={width:size,height:size,depth:1},images=[image,image,image,image,image,image];this.texture=new CubeTexture(images),this._setTextureOptions(options),this.texture.isRenderTargetTexture=!0;}};function WebGLEnvironments(renderer){let cubeMaps=new WeakMap,pmremMaps=new WeakMap,pmremGenerator=null;function get(texture,usePMREM=!1){return texture==null?null:usePMREM?getPMREM(texture):getCube(texture);}function getCube(texture){if(texture&&texture.isTexture){let mapping=texture.mapping;if(mapping===EquirectangularReflectionMapping||mapping===EquirectangularRefractionMapping)if(cubeMaps.has(texture)){let cubemap=cubeMaps.get(texture).texture;return mapTextureMapping(cubemap,texture.mapping);}else{let image=texture.image;if(image&&image.height>0){let renderTarget=new WebGLCubeRenderTarget(image.height);return renderTarget.fromEquirectangularTexture(renderer,texture),cubeMaps.set(texture,renderTarget),texture.addEventListener(\"dispose\",onCubemapDispose),mapTextureMapping(renderTarget.texture,texture.mapping);}else return null;}}return texture;}function getPMREM(texture){if(texture&&texture.isTexture){let mapping=texture.mapping,isEquirectMap=mapping===EquirectangularReflectionMapping||mapping===EquirectangularRefractionMapping,isCubeMap=mapping===CubeReflectionMapping||mapping===CubeRefractionMapping;if(isEquirectMap||isCubeMap){let renderTarget=pmremMaps.get(texture),currentPMREMVersion=renderTarget!==void 0?renderTarget.texture.pmremVersion:0;if(texture.isRenderTargetTexture&&texture.pmremVersion!==currentPMREMVersion)return pmremGenerator===null&&(pmremGenerator=new PMREMGenerator(renderer)),renderTarget=isEquirectMap?pmremGenerator.fromEquirectangular(texture,renderTarget):pmremGenerator.fromCubemap(texture,renderTarget),renderTarget.texture.pmremVersion=texture.pmremVersion,pmremMaps.set(texture,renderTarget),renderTarget.texture;if(renderTarget!==void 0)return renderTarget.texture;{let image=texture.image;return isEquirectMap&&image&&image.height>0||isCubeMap&&image&&isCubeTextureComplete(image)?(pmremGenerator===null&&(pmremGenerator=new PMREMGenerator(renderer)),renderTarget=isEquirectMap?pmremGenerator.fromEquirectangular(texture):pmremGenerator.fromCubemap(texture),renderTarget.texture.pmremVersion=texture.pmremVersion,pmremMaps.set(texture,renderTarget),texture.addEventListener(\"dispose\",onPMREMDispose),renderTarget.texture):null;}}}return texture;}function mapTextureMapping(texture,mapping){return mapping===EquirectangularReflectionMapping?texture.mapping=CubeReflectionMapping:mapping===EquirectangularRefractionMapping&&(texture.mapping=CubeRefractionMapping),texture;}function isCubeTextureComplete(image){let count=0,length=6;for(let i=0;i<length;i++)image[i]!==void 0&&count++;return count===length;}function onCubemapDispose(event){let texture=event.target;texture.removeEventListener(\"dispose\",onCubemapDispose);let cubemap=cubeMaps.get(texture);cubemap!==void 0&&(cubeMaps.delete(texture),cubemap.dispose());}function onPMREMDispose(event){let texture=event.target;texture.removeEventListener(\"dispose\",onPMREMDispose);let pmrem=pmremMaps.get(texture);pmrem!==void 0&&(pmremMaps.delete(texture),pmrem.dispose());}function dispose(){cubeMaps=new WeakMap,pmremMaps=new WeakMap,pmremGenerator!==null&&(pmremGenerator.dispose(),pmremGenerator=null);}return{get,dispose};}function WebGLExtensions(gl){let extensions={};function getExtension(name){if(extensions[name]!==void 0)return extensions[name];let extension=gl.getExtension(name);return extensions[name]=extension,extension;}return{has:function(name){return getExtension(name)!==null;},init:function(){getExtension(\"EXT_color_buffer_float\"),getExtension(\"WEBGL_clip_cull_distance\"),getExtension(\"OES_texture_float_linear\"),getExtension(\"EXT_color_buffer_half_float\"),getExtension(\"WEBGL_multisampled_render_to_texture\"),getExtension(\"WEBGL_render_shared_exponent\");},get:function(name){let extension=getExtension(name);return extension===null&&warnOnce(\"WebGLRenderer: \"+name+\" extension not supported.\"),extension;}};}function WebGLGeometries(gl,attributes,info,bindingStates){let geometries={},wireframeAttributes=new WeakMap;function onGeometryDispose(event){let geometry=event.target;geometry.index!==null&&attributes.remove(geometry.index);for(let name in geometry.attributes)attributes.remove(geometry.attributes[name]);geometry.removeEventListener(\"dispose\",onGeometryDispose),delete geometries[geometry.id];let attribute=wireframeAttributes.get(geometry);attribute&&(attributes.remove(attribute),wireframeAttributes.delete(geometry)),bindingStates.releaseStatesOfGeometry(geometry),geometry.isInstancedBufferGeometry===!0&&delete geometry._maxInstanceCount,info.memory.geometries--;}function get(object,geometry){return geometries[geometry.id]===!0||(geometry.addEventListener(\"dispose\",onGeometryDispose),geometries[geometry.id]=!0,info.memory.geometries++),geometry;}function update(geometry){let geometryAttributes=geometry.attributes;for(let name in geometryAttributes)attributes.update(geometryAttributes[name],gl.ARRAY_BUFFER);}function updateWireframeAttribute(geometry){let indices=[],geometryIndex=geometry.index,geometryPosition=geometry.attributes.position,version=0;if(geometryPosition===void 0)return;if(geometryIndex!==null){let array=geometryIndex.array;version=geometryIndex.version;for(let i=0,l=array.length;i<l;i+=3){let a=array[i+0],b=array[i+1],c=array[i+2];indices.push(a,b,b,c,c,a);}}else{let array=geometryPosition.array;version=geometryPosition.version;for(let i=0,l=array.length/3-1;i<l;i+=3){let a=i+0,b=i+1,c=i+2;indices.push(a,b,b,c,c,a);}}let attribute=new(geometryPosition.count>=65535?Uint32BufferAttribute:Uint16BufferAttribute)(indices,1);attribute.version=version;let previousAttribute=wireframeAttributes.get(geometry);previousAttribute&&attributes.remove(previousAttribute),wireframeAttributes.set(geometry,attribute);}function getWireframeAttribute(geometry){let currentAttribute=wireframeAttributes.get(geometry);if(currentAttribute){let geometryIndex=geometry.index;geometryIndex!==null&&currentAttribute.version<geometryIndex.version&&updateWireframeAttribute(geometry);}else updateWireframeAttribute(geometry);return wireframeAttributes.get(geometry);}return{get,update,getWireframeAttribute};}function WebGLIndexedBufferRenderer(gl,extensions,info){let mode;function setMode(value){mode=value;}let type,bytesPerElement;function setIndex(value){type=value.type,bytesPerElement=value.bytesPerElement;}function render(start,count){gl.drawElements(mode,count,type,start*bytesPerElement),info.update(count,mode,1);}function renderInstances(start,count,primcount){primcount!==0&&(gl.drawElementsInstanced(mode,count,type,start*bytesPerElement,primcount),info.update(count,mode,primcount));}function renderMultiDraw(starts,counts,drawCount){if(drawCount===0)return;extensions.get(\"WEBGL_multi_draw\").multiDrawElementsWEBGL(mode,counts,0,type,starts,0,drawCount);let elementCount=0;for(let i=0;i<drawCount;i++)elementCount+=counts[i];info.update(elementCount,mode,1);}this.setMode=setMode,this.setIndex=setIndex,this.render=render,this.renderInstances=renderInstances,this.renderMultiDraw=renderMultiDraw;}function WebGLInfo(gl){let memory={geometries:0,textures:0},render={frame:0,calls:0,triangles:0,points:0,lines:0};function update(count,mode,instanceCount){switch(render.calls++,mode){case gl.TRIANGLES:render.triangles+=instanceCount*(count/3);break;case gl.LINES:render.lines+=instanceCount*(count/2);break;case gl.LINE_STRIP:render.lines+=instanceCount*(count-1);break;case gl.LINE_LOOP:render.lines+=instanceCount*count;break;case gl.POINTS:render.points+=instanceCount*count;break;default:error(\"WebGLInfo: Unknown draw mode:\",mode);break;}}function reset(){render.calls=0,render.triangles=0,render.points=0,render.lines=0;}return{memory,render,programs:null,autoReset:!0,reset,update};}function WebGLMorphtargets(gl,capabilities,textures){let morphTextures=new WeakMap,morph=new Vector4;function update(object,geometry,program){let objectInfluences=object.morphTargetInfluences,morphAttribute=geometry.morphAttributes.position||geometry.morphAttributes.normal||geometry.morphAttributes.color,morphTargetsCount=morphAttribute!==void 0?morphAttribute.length:0,entry=morphTextures.get(geometry);if(entry===void 0||entry.count!==morphTargetsCount){let disposeTexture=function(){texture.dispose(),morphTextures.delete(geometry),geometry.removeEventListener(\"dispose\",disposeTexture);};entry!==void 0&&entry.texture.dispose();let hasMorphPosition=geometry.morphAttributes.position!==void 0,hasMorphNormals=geometry.morphAttributes.normal!==void 0,hasMorphColors=geometry.morphAttributes.color!==void 0,morphTargets=geometry.morphAttributes.position||[],morphNormals=geometry.morphAttributes.normal||[],morphColors=geometry.morphAttributes.color||[],vertexDataCount=0;hasMorphPosition===!0&&(vertexDataCount=1),hasMorphNormals===!0&&(vertexDataCount=2),hasMorphColors===!0&&(vertexDataCount=3);let width=geometry.attributes.position.count*vertexDataCount,height=1;width>capabilities.maxTextureSize&&(height=Math.ceil(width/capabilities.maxTextureSize),width=capabilities.maxTextureSize);let buffer=new Float32Array(width*height*4*morphTargetsCount),texture=new DataArrayTexture(buffer,width,height,morphTargetsCount);texture.type=FloatType,texture.needsUpdate=!0;let vertexDataStride=vertexDataCount*4;for(let i=0;i<morphTargetsCount;i++){let morphTarget=morphTargets[i],morphNormal=morphNormals[i],morphColor=morphColors[i],offset=width*height*4*i;for(let j=0;j<morphTarget.count;j++){let stride=j*vertexDataStride;hasMorphPosition===!0&&(morph.fromBufferAttribute(morphTarget,j),buffer[offset+stride+0]=morph.x,buffer[offset+stride+1]=morph.y,buffer[offset+stride+2]=morph.z,buffer[offset+stride+3]=0),hasMorphNormals===!0&&(morph.fromBufferAttribute(morphNormal,j),buffer[offset+stride+4]=morph.x,buffer[offset+stride+5]=morph.y,buffer[offset+stride+6]=morph.z,buffer[offset+stride+7]=0),hasMorphColors===!0&&(morph.fromBufferAttribute(morphColor,j),buffer[offset+stride+8]=morph.x,buffer[offset+stride+9]=morph.y,buffer[offset+stride+10]=morph.z,buffer[offset+stride+11]=morphColor.itemSize===4?morph.w:1);}}entry={count:morphTargetsCount,texture,size:new Vector2(width,height)},morphTextures.set(geometry,entry),geometry.addEventListener(\"dispose\",disposeTexture);}if(object.isInstancedMesh===!0&&object.morphTexture!==null)program.getUniforms().setValue(gl,\"morphTexture\",object.morphTexture,textures);else{let morphInfluencesSum=0;for(let i=0;i<objectInfluences.length;i++)morphInfluencesSum+=objectInfluences[i];let morphBaseInfluence=geometry.morphTargetsRelative?1:1-morphInfluencesSum;program.getUniforms().setValue(gl,\"morphTargetBaseInfluence\",morphBaseInfluence),program.getUniforms().setValue(gl,\"morphTargetInfluences\",objectInfluences);}program.getUniforms().setValue(gl,\"morphTargetsTexture\",entry.texture,textures),program.getUniforms().setValue(gl,\"morphTargetsTextureSize\",entry.size);}return{update};}function WebGLObjects(gl,geometries,attributes,bindingStates,info){let updateMap=new WeakMap;function update(object){let frame=info.render.frame,geometry=object.geometry,buffergeometry=geometries.get(object,geometry);if(updateMap.get(buffergeometry)!==frame&&(geometries.update(buffergeometry),updateMap.set(buffergeometry,frame)),object.isInstancedMesh&&(object.hasEventListener(\"dispose\",onInstancedMeshDispose)===!1&&object.addEventListener(\"dispose\",onInstancedMeshDispose),updateMap.get(object)!==frame&&(attributes.update(object.instanceMatrix,gl.ARRAY_BUFFER),object.instanceColor!==null&&attributes.update(object.instanceColor,gl.ARRAY_BUFFER),updateMap.set(object,frame))),object.isSkinnedMesh){let skeleton=object.skeleton;updateMap.get(skeleton)!==frame&&(skeleton.update(),updateMap.set(skeleton,frame));}return buffergeometry;}function dispose(){updateMap=new WeakMap;}function onInstancedMeshDispose(event){let instancedMesh=event.target;instancedMesh.removeEventListener(\"dispose\",onInstancedMeshDispose),bindingStates.releaseStatesOfObject(instancedMesh),attributes.remove(instancedMesh.instanceMatrix),instancedMesh.instanceColor!==null&&attributes.remove(instancedMesh.instanceColor);}return{update,dispose};}var toneMappingMap={[LinearToneMapping]:\"LINEAR_TONE_MAPPING\",[ReinhardToneMapping]:\"REINHARD_TONE_MAPPING\",[CineonToneMapping]:\"CINEON_TONE_MAPPING\",[ACESFilmicToneMapping]:\"ACES_FILMIC_TONE_MAPPING\",[AgXToneMapping]:\"AGX_TONE_MAPPING\",[NeutralToneMapping]:\"NEUTRAL_TONE_MAPPING\",[CustomToneMapping]:\"CUSTOM_TONE_MAPPING\"};function WebGLOutput(type,width,height,antialias,depth,stencil){let targetScene=new WebGLRenderTarget(width,height,{type,depthBuffer:depth,stencilBuffer:stencil,samples:antialias?4:0,storeMultisampledDepthBuffer:!1,storeMultisampledStencilBuffer:!1,resolveDepthBuffer:!1,resolveStencilBuffer:!1}),targetA=null,targetB=null,geometry=new BufferGeometry;geometry.setAttribute(\"position\",new Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),geometry.setAttribute(\"uv\",new Float32BufferAttribute([0,2,0,0,2,0],2));let material=new RawShaderMaterial({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}),mesh=new Mesh(geometry,material),camera=new OrthographicCamera(-1,1,1,-1,0,1),_outputColorSpace=null,_outputToneMapping=null,_isCompositing=!1,_savedToneMapping,_savedRenderTarget=null,_effects=[],_hasRenderPass=!1;this.setSize=function(width2,height2){targetScene.setSize(width2,height2),targetA!==null&&targetA.setSize(width2,height2),targetB!==null&&targetB.setSize(width2,height2);for(let i=0;i<_effects.length;i++){let effect=_effects[i];effect.setSize&&effect.setSize(width2,height2);}},this.setEffects=function(effects){_effects=effects,_hasRenderPass=_effects.length>0&&_effects[0].isRenderPass===!0;let width2=targetScene.width,height2=targetScene.height;_effects.length>0&&targetA===null&&(targetA=new WebGLRenderTarget(width2,height2,{type:HalfFloatType,depthBuffer:!1,stencilBuffer:!1}),targetB=new WebGLRenderTarget(width2,height2,{type:HalfFloatType,depthBuffer:!1,stencilBuffer:!1}));for(let i=0;i<_effects.length;i++){let effect=_effects[i];effect.setSize&&effect.setSize(width2,height2);}},this.begin=function(renderer,renderTarget){if(_isCompositing||renderer.toneMapping===NoToneMapping&&_effects.length===0)return!1;if(_savedRenderTarget=renderTarget,renderTarget!==null){let width2=renderTarget.width,height2=renderTarget.height;(targetScene.width!==width2||targetScene.height!==height2)&&this.setSize(width2,height2);}return _hasRenderPass===!1&&renderer.setRenderTarget(targetScene),_savedToneMapping=renderer.toneMapping,renderer.toneMapping=NoToneMapping,!0;},this.hasRenderPass=function(){return _hasRenderPass;},this.end=function(renderer,deltaTime){renderer.toneMapping=_savedToneMapping,_isCompositing=!0;let readBuffer=targetScene,writeBuffer=targetA;for(let i=0;i<_effects.length;i++){let effect=_effects[i];effect.enabled!==!1&&(effect.render(renderer,writeBuffer,readBuffer,deltaTime),effect.needsSwap!==!1&&(readBuffer=writeBuffer,writeBuffer=writeBuffer===targetA?targetB:targetA));}if(_outputColorSpace!==renderer.outputColorSpace||_outputToneMapping!==renderer.toneMapping){_outputColorSpace=renderer.outputColorSpace,_outputToneMapping=renderer.toneMapping,material.defines={},ColorManagement.getTransfer(_outputColorSpace)===SRGBTransfer&&(material.defines.SRGB_TRANSFER=\"\");let toneMapping=toneMappingMap[_outputToneMapping];toneMapping&&(material.defines[toneMapping]=\"\"),material.needsUpdate=!0;}material.uniforms.tDiffuse.value=readBuffer.texture,renderer.setRenderTarget(_savedRenderTarget),renderer.render(mesh,camera),_savedRenderTarget=null,_isCompositing=!1;},this.isCompositing=function(){return _isCompositing;},this.dispose=function(){targetScene.dispose(),targetA!==null&&targetA.dispose(),targetB!==null&&targetB.dispose(),geometry.dispose(),material.dispose();};}var emptyTexture=new Texture,emptyShadowTexture=new DepthTexture(1,1),emptyArrayTexture=new DataArrayTexture,empty3dTexture=new Data3DTexture,emptyCubeTexture=new CubeTexture,arrayCacheF32=[],arrayCacheI32=[],mat4array=new Float32Array(16),mat3array=new Float32Array(9),mat2array=new Float32Array(4);function flatten(array,nBlocks,blockSize){let firstElem=array[0];if(firstElem<=0||firstElem>0)return array;let n=nBlocks*blockSize,r=arrayCacheF32[n];if(r===void 0&&(r=new Float32Array(n),arrayCacheF32[n]=r),nBlocks!==0){firstElem.toArray(r,0);for(let i=1,offset=0;i!==nBlocks;++i)offset+=blockSize,array[i].toArray(r,offset);}return r;}function arraysEqual(a,b){if(a.length!==b.length)return!1;for(let i=0,l=a.length;i<l;i++)if(a[i]!==b[i])return!1;return!0;}function copyArray(a,b){for(let i=0,l=b.length;i<l;i++)a[i]=b[i];}function allocTexUnits(textures,n){let r=arrayCacheI32[n];r===void 0&&(r=new Int32Array(n),arrayCacheI32[n]=r);for(let i=0;i!==n;++i)r[i]=textures.allocateTextureUnit();return r;}function setValueV1f(gl,v){let cache=this.cache;cache[0]!==v&&(gl.uniform1f(this.addr,v),cache[0]=v);}function setValueV2f(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y)&&(gl.uniform2f(this.addr,v.x,v.y),cache[0]=v.x,cache[1]=v.y);else{if(arraysEqual(cache,v))return;gl.uniform2fv(this.addr,v),copyArray(cache,v);}}function setValueV3f(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y||cache[2]!==v.z)&&(gl.uniform3f(this.addr,v.x,v.y,v.z),cache[0]=v.x,cache[1]=v.y,cache[2]=v.z);else if(v.r!==void 0)(cache[0]!==v.r||cache[1]!==v.g||cache[2]!==v.b)&&(gl.uniform3f(this.addr,v.r,v.g,v.b),cache[0]=v.r,cache[1]=v.g,cache[2]=v.b);else{if(arraysEqual(cache,v))return;gl.uniform3fv(this.addr,v),copyArray(cache,v);}}function setValueV4f(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y||cache[2]!==v.z||cache[3]!==v.w)&&(gl.uniform4f(this.addr,v.x,v.y,v.z,v.w),cache[0]=v.x,cache[1]=v.y,cache[2]=v.z,cache[3]=v.w);else{if(arraysEqual(cache,v))return;gl.uniform4fv(this.addr,v),copyArray(cache,v);}}function setValueM2(gl,v){let cache=this.cache,elements=v.elements;if(elements===void 0){if(arraysEqual(cache,v))return;gl.uniformMatrix2fv(this.addr,!1,v),copyArray(cache,v);}else{if(arraysEqual(cache,elements))return;mat2array.set(elements),gl.uniformMatrix2fv(this.addr,!1,mat2array),copyArray(cache,elements);}}function setValueM3(gl,v){let cache=this.cache,elements=v.elements;if(elements===void 0){if(arraysEqual(cache,v))return;gl.uniformMatrix3fv(this.addr,!1,v),copyArray(cache,v);}else{if(arraysEqual(cache,elements))return;mat3array.set(elements),gl.uniformMatrix3fv(this.addr,!1,mat3array),copyArray(cache,elements);}}function setValueM4(gl,v){let cache=this.cache,elements=v.elements;if(elements===void 0){if(arraysEqual(cache,v))return;gl.uniformMatrix4fv(this.addr,!1,v),copyArray(cache,v);}else{if(arraysEqual(cache,elements))return;mat4array.set(elements),gl.uniformMatrix4fv(this.addr,!1,mat4array),copyArray(cache,elements);}}function setValueV1i(gl,v){let cache=this.cache;cache[0]!==v&&(gl.uniform1i(this.addr,v),cache[0]=v);}function setValueV2i(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y)&&(gl.uniform2i(this.addr,v.x,v.y),cache[0]=v.x,cache[1]=v.y);else{if(arraysEqual(cache,v))return;gl.uniform2iv(this.addr,v),copyArray(cache,v);}}function setValueV3i(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y||cache[2]!==v.z)&&(gl.uniform3i(this.addr,v.x,v.y,v.z),cache[0]=v.x,cache[1]=v.y,cache[2]=v.z);else{if(arraysEqual(cache,v))return;gl.uniform3iv(this.addr,v),copyArray(cache,v);}}function setValueV4i(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y||cache[2]!==v.z||cache[3]!==v.w)&&(gl.uniform4i(this.addr,v.x,v.y,v.z,v.w),cache[0]=v.x,cache[1]=v.y,cache[2]=v.z,cache[3]=v.w);else{if(arraysEqual(cache,v))return;gl.uniform4iv(this.addr,v),copyArray(cache,v);}}function setValueV1ui(gl,v){let cache=this.cache;cache[0]!==v&&(gl.uniform1ui(this.addr,v),cache[0]=v);}function setValueV2ui(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y)&&(gl.uniform2ui(this.addr,v.x,v.y),cache[0]=v.x,cache[1]=v.y);else{if(arraysEqual(cache,v))return;gl.uniform2uiv(this.addr,v),copyArray(cache,v);}}function setValueV3ui(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y||cache[2]!==v.z)&&(gl.uniform3ui(this.addr,v.x,v.y,v.z),cache[0]=v.x,cache[1]=v.y,cache[2]=v.z);else{if(arraysEqual(cache,v))return;gl.uniform3uiv(this.addr,v),copyArray(cache,v);}}function setValueV4ui(gl,v){let cache=this.cache;if(v.x!==void 0)(cache[0]!==v.x||cache[1]!==v.y||cache[2]!==v.z||cache[3]!==v.w)&&(gl.uniform4ui(this.addr,v.x,v.y,v.z,v.w),cache[0]=v.x,cache[1]=v.y,cache[2]=v.z,cache[3]=v.w);else{if(arraysEqual(cache,v))return;gl.uniform4uiv(this.addr,v),copyArray(cache,v);}}function setValueT1(gl,v,textures){let cache=this.cache,unit=textures.allocateTextureUnit();cache[0]!==unit&&(gl.uniform1i(this.addr,unit),cache[0]=unit);let emptyTexture2D;this.type===gl.SAMPLER_2D_SHADOW?(emptyShadowTexture.compareFunction=textures.isReversedDepthBuffer()?GreaterEqualCompare:LessEqualCompare,emptyTexture2D=emptyShadowTexture):emptyTexture2D=emptyTexture,textures.setTexture2D(v||emptyTexture2D,unit);}function setValueT3D1(gl,v,textures){let cache=this.cache,unit=textures.allocateTextureUnit();cache[0]!==unit&&(gl.uniform1i(this.addr,unit),cache[0]=unit),textures.setTexture3D(v||empty3dTexture,unit);}function setValueT6(gl,v,textures){let cache=this.cache,unit=textures.allocateTextureUnit();cache[0]!==unit&&(gl.uniform1i(this.addr,unit),cache[0]=unit),textures.setTextureCube(v||emptyCubeTexture,unit);}function setValueT2DArray1(gl,v,textures){let cache=this.cache,unit=textures.allocateTextureUnit();cache[0]!==unit&&(gl.uniform1i(this.addr,unit),cache[0]=unit),textures.setTexture2DArray(v||emptyArrayTexture,unit);}function getSingularSetter(type){switch(type){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(gl,v){gl.uniform1fv(this.addr,v);}function setValueV2fArray(gl,v){let data=flatten(v,this.size,2);gl.uniform2fv(this.addr,data);}function setValueV3fArray(gl,v){let data=flatten(v,this.size,3);gl.uniform3fv(this.addr,data);}function setValueV4fArray(gl,v){let data=flatten(v,this.size,4);gl.uniform4fv(this.addr,data);}function setValueM2Array(gl,v){let data=flatten(v,this.size,4);gl.uniformMatrix2fv(this.addr,!1,data);}function setValueM3Array(gl,v){let data=flatten(v,this.size,9);gl.uniformMatrix3fv(this.addr,!1,data);}function setValueM4Array(gl,v){let data=flatten(v,this.size,16);gl.uniformMatrix4fv(this.addr,!1,data);}function setValueV1iArray(gl,v){gl.uniform1iv(this.addr,v);}function setValueV2iArray(gl,v){gl.uniform2iv(this.addr,v);}function setValueV3iArray(gl,v){gl.uniform3iv(this.addr,v);}function setValueV4iArray(gl,v){gl.uniform4iv(this.addr,v);}function setValueV1uiArray(gl,v){gl.uniform1uiv(this.addr,v);}function setValueV2uiArray(gl,v){gl.uniform2uiv(this.addr,v);}function setValueV3uiArray(gl,v){gl.uniform3uiv(this.addr,v);}function setValueV4uiArray(gl,v){gl.uniform4uiv(this.addr,v);}function setValueT1Array(gl,v,textures){let cache=this.cache,n=v.length,units=allocTexUnits(textures,n);arraysEqual(cache,units)||(gl.uniform1iv(this.addr,units),copyArray(cache,units));let emptyTexture2D;this.type===gl.SAMPLER_2D_SHADOW?emptyTexture2D=emptyShadowTexture:emptyTexture2D=emptyTexture;for(let i=0;i!==n;++i)textures.setTexture2D(v[i]||emptyTexture2D,units[i]);}function setValueT3DArray(gl,v,textures){let cache=this.cache,n=v.length,units=allocTexUnits(textures,n);arraysEqual(cache,units)||(gl.uniform1iv(this.addr,units),copyArray(cache,units));for(let i=0;i!==n;++i)textures.setTexture3D(v[i]||empty3dTexture,units[i]);}function setValueT6Array(gl,v,textures){let cache=this.cache,n=v.length,units=allocTexUnits(textures,n);arraysEqual(cache,units)||(gl.uniform1iv(this.addr,units),copyArray(cache,units));for(let i=0;i!==n;++i)textures.setTextureCube(v[i]||emptyCubeTexture,units[i]);}function setValueT2DArrayArray(gl,v,textures){let cache=this.cache,n=v.length,units=allocTexUnits(textures,n);arraysEqual(cache,units)||(gl.uniform1iv(this.addr,units),copyArray(cache,units));for(let i=0;i!==n;++i)textures.setTexture2DArray(v[i]||emptyArrayTexture,units[i]);}function getPureArraySetter(type){switch(type){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;}}var SingleUniform=class{constructor(id,activeInfo,addr){this.id=id,this.addr=addr,this.cache=[],this.type=activeInfo.type,this.setValue=getSingularSetter(activeInfo.type);}},PureArrayUniform=class{constructor(id,activeInfo,addr){this.id=id,this.addr=addr,this.cache=[],this.type=activeInfo.type,this.size=activeInfo.size,this.setValue=getPureArraySetter(activeInfo.type);}},StructuredUniform=class{setValue(gl,value,textures){let seq=this.seq;for(let i=0,n=seq.length;i!==n;++i){let u=seq[i];u.setValue(gl,value[u.id],textures);}}constructor(id){this.id=id,this.seq=[],this.map={};}},RePathPart=/(\\w+)(\\])?(\\[|\\.)?/g;function addUniform(container,uniformObject){container.seq.push(uniformObject),container.map[uniformObject.id]=uniformObject;}function parseUniform(activeInfo,addr,container){let path=activeInfo.name,pathLength=path.length;for(RePathPart.lastIndex=0;;){let match=RePathPart.exec(path),matchEnd=RePathPart.lastIndex,id=match[1],idIsIndex=match[2]===\"]\",subscript=match[3];if(idIsIndex&&(id=id|0),subscript===void 0||subscript===\"[\"&&matchEnd+2===pathLength){addUniform(container,subscript===void 0?new SingleUniform(id,activeInfo,addr):new PureArrayUniform(id,activeInfo,addr));break;}else{let next=container.map[id];next===void 0&&(next=new StructuredUniform(id),addUniform(container,next)),container=next;}}}var WebGLUniforms=class{setValue(gl,name,value,textures){let u=this.map[name];u!==void 0&&u.setValue(gl,value,textures);}setOptional(gl,object,name){let v=object[name];v!==void 0&&this.setValue(gl,name,v);}static upload(gl,seq,values,textures){for(let i=0,n=seq.length;i!==n;++i){let u=seq[i],v=values[u.id];v.needsUpdate!==!1&&u.setValue(gl,v.value,textures);}}static seqWithValue(seq,values){let r=[];for(let i=0,n=seq.length;i!==n;++i){let u=seq[i];u.id in values&&r.push(u);}return r;}constructor(gl,program){this.seq=[],this.map={};let n=gl.getProgramParameter(program,gl.ACTIVE_UNIFORMS);for(let i=0;i<n;++i){let info=gl.getActiveUniform(program,i),addr=gl.getUniformLocation(program,info.name);parseUniform(info,addr,this);}let shadowSamplers=[],otherUniforms=[];for(let u of this.seq)u.type===gl.SAMPLER_2D_SHADOW||u.type===gl.SAMPLER_CUBE_SHADOW||u.type===gl.SAMPLER_2D_ARRAY_SHADOW?shadowSamplers.push(u):otherUniforms.push(u);shadowSamplers.length>0&&(this.seq=shadowSamplers.concat(otherUniforms));}};function WebGLShader(gl,type,string){let shader=gl.createShader(type);return gl.shaderSource(shader,string),gl.compileShader(shader),shader;}var COMPLETION_STATUS_KHR=37297,programIdCount=0;function handleSource(string,errorLine){let lines=string.split(`\n`),lines2=[],from=Math.max(errorLine-6,0),to=Math.min(errorLine+6,lines.length);for(let i=from;i<to;i++){let line=i+1;lines2.push(`${line===errorLine?\">\":\" \"} ${line}: ${lines[i]}`);}return lines2.join(`\n`);}var _m0=new Matrix3;function getEncodingComponents(colorSpace){ColorManagement._getMatrix(_m0,ColorManagement.workingColorSpace,colorSpace);let encodingMatrix=`mat3( ${_m0.elements.map(v=>v.toFixed(4))} )`;switch(ColorManagement.getTransfer(colorSpace)){case LinearTransfer:return[encodingMatrix,\"LinearTransferOETF\"];case SRGBTransfer:return[encodingMatrix,\"sRGBTransferOETF\"];default:return warn(\"WebGLProgram: Unsupported color space: \",colorSpace),[encodingMatrix,\"LinearTransferOETF\"];}}function getShaderErrors(gl,shader,type){let status=gl.getShaderParameter(shader,gl.COMPILE_STATUS),errors=(gl.getShaderInfoLog(shader)||\"\").trim();if(status&&errors===\"\")return\"\";let errorMatches=/ERROR: 0:(\\d+)/.exec(errors);if(errorMatches){let errorLine=parseInt(errorMatches[1]);return type.toUpperCase()+`\n\n`+errors+`\n\n`+handleSource(gl.getShaderSource(shader),errorLine);}else return errors;}function getTexelEncodingFunction(functionName,colorSpace){let components=getEncodingComponents(colorSpace);return[`vec4 ${functionName}( vec4 value ) {`,`\treturn ${components[1]}( vec4( value.rgb * ${components[0]}, value.a ) );`,\"}\"].join(`\n`);}var toneMappingFunctions={[LinearToneMapping]:\"Linear\",[ReinhardToneMapping]:\"Reinhard\",[CineonToneMapping]:\"Cineon\",[ACESFilmicToneMapping]:\"ACESFilmic\",[AgXToneMapping]:\"AgX\",[NeutralToneMapping]:\"Neutral\",[CustomToneMapping]:\"Custom\"};function getToneMappingFunction(functionName,toneMapping){let toneMappingName=toneMappingFunctions[toneMapping];return toneMappingName===void 0?(warn(\"WebGLProgram: Unsupported toneMapping:\",toneMapping),\"vec3 \"+functionName+\"( vec3 color ) { return LinearToneMapping( color ); }\"):\"vec3 \"+functionName+\"( vec3 color ) { return \"+toneMappingName+\"ToneMapping( color ); }\";}var _v0=new Vector3;function getLuminanceFunction(){ColorManagement.getLuminanceCoefficients(_v0);let r=_v0.x.toFixed(4),g=_v0.y.toFixed(4),b=_v0.z.toFixed(4);return[\"float luminance( const in vec3 rgb ) {\",`\tconst vec3 weights = vec3( ${r}, ${g}, ${b} );`,\"\treturn dot( weights, rgb );\",\"}\"].join(`\n`);}function generateVertexExtensions(parameters){return[parameters.extensionClipCullDistance?\"#extension GL_ANGLE_clip_cull_distance : require\":\"\",parameters.extensionMultiDraw?\"#extension GL_ANGLE_multi_draw : require\":\"\"].filter(filterEmptyLine).join(`\n`);}function generateDefines(defines){let chunks=[];for(let name in defines){let value=defines[name];value!==!1&&chunks.push(\"#define \"+name+\" \"+value);}return chunks.join(`\n`);}function fetchAttributeLocations(gl,program){let attributes={},n=gl.getProgramParameter(program,gl.ACTIVE_ATTRIBUTES);for(let i=0;i<n;i++){let info=gl.getActiveAttrib(program,i),name=info.name,locationSize=1;info.type===gl.FLOAT_MAT2&&(locationSize=2),info.type===gl.FLOAT_MAT3&&(locationSize=3),info.type===gl.FLOAT_MAT4&&(locationSize=4),attributes[name]={type:info.type,location:gl.getAttribLocation(program,name),locationSize};}return attributes;}function filterEmptyLine(string){return string!==\"\";}function replaceLightNums(string,parameters){let numSpotLightCoords=parameters.numSpotLightShadows+parameters.numSpotLightMaps-parameters.numSpotLightShadowsWithMaps;return string.replace(/NUM_SUN_LIGHTS/g,parameters.numSunLights).replace(/NUM_DIR_LIGHTS/g,parameters.numDirLights).replace(/NUM_SPOT_LIGHTS/g,parameters.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,parameters.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,numSpotLightCoords).replace(/NUM_RECT_AREA_LIGHTS/g,parameters.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,parameters.numPointLights).replace(/NUM_HEMI_LIGHTS/g,parameters.numHemiLights).replace(/NUM_SUN_LIGHT_SHADOWS/g,parameters.numSunLightShadows).replace(/NUM_DIR_LIGHT_SHADOWS/g,parameters.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,parameters.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,parameters.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,parameters.numPointLightShadows);}function replaceClippingPlaneNums(string,parameters){return string.replace(/NUM_CLIPPING_PLANES/g,parameters.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,parameters.numClippingPlanes-parameters.numClipIntersection);}var includePattern=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function resolveIncludes(string){return string.replace(includePattern,includeReplacer);}var shaderChunkMap=new Map;function includeReplacer(match,include){let string=ShaderChunk[include];if(string===void 0){let newInclude=shaderChunkMap.get(include);if(newInclude!==void 0)string=ShaderChunk[newInclude],warn('WebGLRenderer: Shader chunk \"%s\" has been deprecated. Use \"%s\" instead.',include,newInclude);else throw new Error(\"THREE.WebGLProgram: Can not resolve #include <\"+include+\">\");}return resolveIncludes(string);}var unrollLoopPattern=/#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(string){return string.replace(unrollLoopPattern,loopReplacer);}function loopReplacer(match,start,end,snippet){let string=\"\";for(let i=parseInt(start);i<parseInt(end);i++)string+=snippet.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+i+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,i);return string;}function generatePrecision(parameters){let precisionstring=`precision ${parameters.precision} float;\n\tprecision ${parameters.precision} int;\n\tprecision ${parameters.precision} sampler2D;\n\tprecision ${parameters.precision} samplerCube;\n\tprecision ${parameters.precision} sampler3D;\n\tprecision ${parameters.precision} sampler2DArray;\n\tprecision ${parameters.precision} sampler2DShadow;\n\tprecision ${parameters.precision} samplerCubeShadow;\n\tprecision ${parameters.precision} sampler2DArrayShadow;\n\tprecision ${parameters.precision} isampler2D;\n\tprecision ${parameters.precision} isampler3D;\n\tprecision ${parameters.precision} isamplerCube;\n\tprecision ${parameters.precision} isampler2DArray;\n\tprecision ${parameters.precision} usampler2D;\n\tprecision ${parameters.precision} usampler3D;\n\tprecision ${parameters.precision} usamplerCube;\n\tprecision ${parameters.precision} usampler2DArray;\n\t`;return parameters.precision===\"highp\"?precisionstring+=`\n#define HIGH_PRECISION`:parameters.precision===\"mediump\"?precisionstring+=`\n#define MEDIUM_PRECISION`:parameters.precision===\"lowp\"&&(precisionstring+=`\n#define LOW_PRECISION`),precisionstring;}var shadowMapTypeDefines={[PCFShadowMap]:\"SHADOWMAP_TYPE_PCF\",[VSMShadowMap]:\"SHADOWMAP_TYPE_VSM\"};function generateShadowMapTypeDefine(parameters){return shadowMapTypeDefines[parameters.shadowMapType]||\"SHADOWMAP_TYPE_BASIC\";}var envMapTypeDefines={[CubeReflectionMapping]:\"ENVMAP_TYPE_CUBE\",[CubeRefractionMapping]:\"ENVMAP_TYPE_CUBE\",[CubeUVReflectionMapping]:\"ENVMAP_TYPE_CUBE_UV\"};function generateEnvMapTypeDefine(parameters){return parameters.envMap===!1?\"ENVMAP_TYPE_CUBE\":envMapTypeDefines[parameters.envMapMode]||\"ENVMAP_TYPE_CUBE\";}var envMapModeDefines={[CubeRefractionMapping]:\"ENVMAP_MODE_REFRACTION\"};function generateEnvMapModeDefine(parameters){return parameters.envMap===!1?\"ENVMAP_MODE_REFLECTION\":envMapModeDefines[parameters.envMapMode]||\"ENVMAP_MODE_REFLECTION\";}var envMapBlendingDefines={[MultiplyOperation]:\"ENVMAP_BLENDING_MULTIPLY\",[MixOperation]:\"ENVMAP_BLENDING_MIX\",[AddOperation]:\"ENVMAP_BLENDING_ADD\"};function generateEnvMapBlendingDefine(parameters){return parameters.envMap===!1?\"ENVMAP_BLENDING_NONE\":envMapBlendingDefines[parameters.combine]||\"ENVMAP_BLENDING_NONE\";}function generateCubeUVSize(parameters){let imageHeight=parameters.envMapCubeUVHeight;if(imageHeight===null)return null;let maxMip=Math.log2(imageHeight)-2,texelHeight=1/imageHeight;return{texelWidth:1/(3*Math.max(Math.pow(2,maxMip),112)),texelHeight,maxMip};}function WebGLProgram(renderer,cacheKey,parameters,bindingStates){let gl=renderer.getContext(),defines=parameters.defines,vertexShader=parameters.vertexShader,fragmentShader=parameters.fragmentShader,shadowMapTypeDefine=generateShadowMapTypeDefine(parameters),envMapTypeDefine=generateEnvMapTypeDefine(parameters),envMapModeDefine=generateEnvMapModeDefine(parameters),envMapBlendingDefine=generateEnvMapBlendingDefine(parameters),envMapCubeUVSize=generateCubeUVSize(parameters),customVertexExtensions=generateVertexExtensions(parameters),customDefines=generateDefines(defines),program=gl.createProgram(),prefixVertex,prefixFragment,versionString=parameters.glslVersion?\"#version \"+parameters.glslVersion+`\n`:\"\";parameters.isRawShaderMaterial?(prefixVertex=[\"#define SHADER_TYPE \"+parameters.shaderType,\"#define SHADER_NAME \"+parameters.shaderName,customDefines].filter(filterEmptyLine).join(`\n`),prefixVertex.length>0&&(prefixVertex+=`\n`),prefixFragment=[\"#define SHADER_TYPE \"+parameters.shaderType,\"#define SHADER_NAME \"+parameters.shaderName,customDefines].filter(filterEmptyLine).join(`\n`),prefixFragment.length>0&&(prefixFragment+=`\n`)):(prefixVertex=[generatePrecision(parameters),\"#define SHADER_TYPE \"+parameters.shaderType,\"#define SHADER_NAME \"+parameters.shaderName,customDefines,parameters.extensionClipCullDistance?\"#define USE_CLIP_DISTANCE\":\"\",parameters.batching?\"#define USE_BATCHING\":\"\",parameters.batchingColor?\"#define USE_BATCHING_COLOR\":\"\",parameters.instancing?\"#define USE_INSTANCING\":\"\",parameters.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",parameters.instancingMorph?\"#define USE_INSTANCING_MORPH\":\"\",parameters.useFog&&parameters.fog?\"#define USE_FOG\":\"\",parameters.useFog&&parameters.fogExp2?\"#define FOG_EXP2\":\"\",parameters.map?\"#define USE_MAP\":\"\",parameters.envMap?\"#define USE_ENVMAP\":\"\",parameters.envMap?\"#define \"+envMapModeDefine:\"\",parameters.lightMap?\"#define USE_LIGHTMAP\":\"\",parameters.aoMap?\"#define USE_AOMAP\":\"\",parameters.bumpMap?\"#define USE_BUMPMAP\":\"\",parameters.normalMap?\"#define USE_NORMALMAP\":\"\",parameters.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",parameters.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",parameters.displacementMap?\"#define USE_DISPLACEMENTMAP\":\"\",parameters.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",parameters.anisotropy?\"#define USE_ANISOTROPY\":\"\",parameters.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",parameters.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",parameters.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",parameters.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",parameters.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",parameters.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",parameters.specularMap?\"#define USE_SPECULARMAP\":\"\",parameters.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",parameters.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",parameters.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",parameters.metalnessMap?\"#define USE_METALNESSMAP\":\"\",parameters.alphaMap?\"#define USE_ALPHAMAP\":\"\",parameters.alphaHash?\"#define USE_ALPHAHASH\":\"\",parameters.transmission?\"#define USE_TRANSMISSION\":\"\",parameters.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",parameters.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",parameters.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",parameters.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",parameters.mapUv?\"#define MAP_UV \"+parameters.mapUv:\"\",parameters.alphaMapUv?\"#define ALPHAMAP_UV \"+parameters.alphaMapUv:\"\",parameters.lightMapUv?\"#define LIGHTMAP_UV \"+parameters.lightMapUv:\"\",parameters.aoMapUv?\"#define AOMAP_UV \"+parameters.aoMapUv:\"\",parameters.emissiveMapUv?\"#define EMISSIVEMAP_UV \"+parameters.emissiveMapUv:\"\",parameters.bumpMapUv?\"#define BUMPMAP_UV \"+parameters.bumpMapUv:\"\",parameters.normalMapUv?\"#define NORMALMAP_UV \"+parameters.normalMapUv:\"\",parameters.displacementMapUv?\"#define DISPLACEMENTMAP_UV \"+parameters.displacementMapUv:\"\",parameters.metalnessMapUv?\"#define METALNESSMAP_UV \"+parameters.metalnessMapUv:\"\",parameters.roughnessMapUv?\"#define ROUGHNESSMAP_UV \"+parameters.roughnessMapUv:\"\",parameters.anisotropyMapUv?\"#define ANISOTROPYMAP_UV \"+parameters.anisotropyMapUv:\"\",parameters.clearcoatMapUv?\"#define CLEARCOATMAP_UV \"+parameters.clearcoatMapUv:\"\",parameters.clearcoatNormalMapUv?\"#define CLEARCOAT_NORMALMAP_UV \"+parameters.clearcoatNormalMapUv:\"\",parameters.clearcoatRoughnessMapUv?\"#define CLEARCOAT_ROUGHNESSMAP_UV \"+parameters.clearcoatRoughnessMapUv:\"\",parameters.iridescenceMapUv?\"#define IRIDESCENCEMAP_UV \"+parameters.iridescenceMapUv:\"\",parameters.iridescenceThicknessMapUv?\"#define IRIDESCENCE_THICKNESSMAP_UV \"+parameters.iridescenceThicknessMapUv:\"\",parameters.sheenColorMapUv?\"#define SHEEN_COLORMAP_UV \"+parameters.sheenColorMapUv:\"\",parameters.sheenRoughnessMapUv?\"#define SHEEN_ROUGHNESSMAP_UV \"+parameters.sheenRoughnessMapUv:\"\",parameters.specularMapUv?\"#define SPECULARMAP_UV \"+parameters.specularMapUv:\"\",parameters.specularColorMapUv?\"#define SPECULAR_COLORMAP_UV \"+parameters.specularColorMapUv:\"\",parameters.specularIntensityMapUv?\"#define SPECULAR_INTENSITYMAP_UV \"+parameters.specularIntensityMapUv:\"\",parameters.transmissionMapUv?\"#define TRANSMISSIONMAP_UV \"+parameters.transmissionMapUv:\"\",parameters.thicknessMapUv?\"#define THICKNESSMAP_UV \"+parameters.thicknessMapUv:\"\",parameters.vertexTangents&&parameters.flatShading===!1?\"#define USE_TANGENT\":\"\",parameters.vertexNormals?\"#define HAS_NORMAL\":\"\",parameters.vertexColors?\"#define USE_COLOR\":\"\",parameters.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",parameters.vertexUv1s?\"#define USE_UV1\":\"\",parameters.vertexUv2s?\"#define USE_UV2\":\"\",parameters.vertexUv3s?\"#define USE_UV3\":\"\",parameters.pointsUvs?\"#define USE_POINTS_UV\":\"\",parameters.flatShading?\"#define FLAT_SHADED\":\"\",parameters.skinning?\"#define USE_SKINNING\":\"\",parameters.morphTargets?\"#define USE_MORPHTARGETS\":\"\",parameters.morphNormals&&parameters.flatShading===!1?\"#define USE_MORPHNORMALS\":\"\",parameters.morphColors?\"#define USE_MORPHCOLORS\":\"\",parameters.morphTargetsCount>0?\"#define MORPHTARGETS_TEXTURE_STRIDE \"+parameters.morphTextureStride:\"\",parameters.morphTargetsCount>0?\"#define MORPHTARGETS_COUNT \"+parameters.morphTargetsCount:\"\",parameters.doubleSided?\"#define DOUBLE_SIDED\":\"\",parameters.flipSided?\"#define FLIP_SIDED\":\"\",parameters.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",parameters.shadowMapEnabled?\"#define \"+shadowMapTypeDefine:\"\",parameters.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",parameters.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",parameters.logarithmicDepthBuffer?\"#define USE_LOGARITHMIC_DEPTH_BUFFER\":\"\",parameters.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(filterEmptyLine).join(`\n`),prefixFragment=[generatePrecision(parameters),\"#define SHADER_TYPE \"+parameters.shaderType,\"#define SHADER_NAME \"+parameters.shaderName,customDefines,parameters.useFog&&parameters.fog?\"#define USE_FOG\":\"\",parameters.useFog&&parameters.fogExp2?\"#define FOG_EXP2\":\"\",parameters.alphaToCoverage?\"#define ALPHA_TO_COVERAGE\":\"\",parameters.map?\"#define USE_MAP\":\"\",parameters.matcap?\"#define USE_MATCAP\":\"\",parameters.envMap?\"#define USE_ENVMAP\":\"\",parameters.envMap?\"#define \"+envMapTypeDefine:\"\",parameters.envMap?\"#define \"+envMapModeDefine:\"\",parameters.envMap?\"#define \"+envMapBlendingDefine:\"\",envMapCubeUVSize?\"#define CUBEUV_TEXEL_WIDTH \"+envMapCubeUVSize.texelWidth:\"\",envMapCubeUVSize?\"#define CUBEUV_TEXEL_HEIGHT \"+envMapCubeUVSize.texelHeight:\"\",envMapCubeUVSize?\"#define CUBEUV_MAX_MIP \"+envMapCubeUVSize.maxMip+\".0\":\"\",parameters.lightMap?\"#define USE_LIGHTMAP\":\"\",parameters.aoMap?\"#define USE_AOMAP\":\"\",parameters.bumpMap?\"#define USE_BUMPMAP\":\"\",parameters.normalMap?\"#define USE_NORMALMAP\":\"\",parameters.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",parameters.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",parameters.packedNormalMap?\"#define USE_PACKED_NORMALMAP\":\"\",parameters.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",parameters.anisotropy?\"#define USE_ANISOTROPY\":\"\",parameters.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",parameters.clearcoat?\"#define USE_CLEARCOAT\":\"\",parameters.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",parameters.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",parameters.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",parameters.dispersion?\"#define USE_DISPERSION\":\"\",parameters.retroreflection?\"#define USE_RETROREFLECTION\":\"\",parameters.iridescence?\"#define USE_IRIDESCENCE\":\"\",parameters.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",parameters.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",parameters.specularMap?\"#define USE_SPECULARMAP\":\"\",parameters.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",parameters.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",parameters.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",parameters.metalnessMap?\"#define USE_METALNESSMAP\":\"\",parameters.alphaMap?\"#define USE_ALPHAMAP\":\"\",parameters.alphaTest?\"#define USE_ALPHATEST\":\"\",parameters.alphaHash?\"#define USE_ALPHAHASH\":\"\",parameters.sheen?\"#define USE_SHEEN\":\"\",parameters.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",parameters.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",parameters.transmission?\"#define USE_TRANSMISSION\":\"\",parameters.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",parameters.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",parameters.vertexTangents&&parameters.flatShading===!1?\"#define USE_TANGENT\":\"\",parameters.vertexColors||parameters.instancingColor?\"#define USE_COLOR\":\"\",parameters.vertexAlphas||parameters.batchingColor?\"#define USE_COLOR_ALPHA\":\"\",parameters.vertexUv1s?\"#define USE_UV1\":\"\",parameters.vertexUv2s?\"#define USE_UV2\":\"\",parameters.vertexUv3s?\"#define USE_UV3\":\"\",parameters.pointsUvs?\"#define USE_POINTS_UV\":\"\",parameters.gradientMap?\"#define USE_GRADIENTMAP\":\"\",parameters.flatShading?\"#define FLAT_SHADED\":\"\",parameters.doubleSided?\"#define DOUBLE_SIDED\":\"\",parameters.flipSided?\"#define FLIP_SIDED\":\"\",parameters.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",parameters.shadowMapEnabled?\"#define \"+shadowMapTypeDefine:\"\",parameters.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",parameters.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",parameters.numLightProbeGrids>0?\"#define USE_LIGHT_PROBES_GRID\":\"\",parameters.decodeVideoTexture?\"#define DECODE_VIDEO_TEXTURE\":\"\",parameters.decodeVideoTextureEmissive?\"#define DECODE_VIDEO_TEXTURE_EMISSIVE\":\"\",parameters.logarithmicDepthBuffer?\"#define USE_LOGARITHMIC_DEPTH_BUFFER\":\"\",parameters.reversedDepthBuffer?\"#define USE_REVERSED_DEPTH_BUFFER\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",parameters.toneMapping!==NoToneMapping?\"#define TONE_MAPPING\":\"\",parameters.toneMapping!==NoToneMapping?ShaderChunk.tonemapping_pars_fragment:\"\",parameters.toneMapping!==NoToneMapping?getToneMappingFunction(\"toneMapping\",parameters.toneMapping):\"\",parameters.dithering?\"#define DITHERING\":\"\",parameters.opaque?\"#define OPAQUE\":\"\",ShaderChunk.colorspace_pars_fragment,getTexelEncodingFunction(\"linearToOutputTexel\",parameters.outputColorSpace),getLuminanceFunction(),parameters.useDepthPacking?\"#define DEPTH_PACKING \"+parameters.depthPacking:\"\",`\n`].filter(filterEmptyLine).join(`\n`)),vertexShader=resolveIncludes(vertexShader),vertexShader=replaceLightNums(vertexShader,parameters),vertexShader=replaceClippingPlaneNums(vertexShader,parameters),fragmentShader=resolveIncludes(fragmentShader),fragmentShader=replaceLightNums(fragmentShader,parameters),fragmentShader=replaceClippingPlaneNums(fragmentShader,parameters),vertexShader=unrollLoops(vertexShader),fragmentShader=unrollLoops(fragmentShader),parameters.isRawShaderMaterial!==!0&&(versionString=`#version 300 es\n`,prefixVertex=[customVertexExtensions,\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(`\n`)+`\n`+prefixVertex,prefixFragment=[\"#define varying in\",parameters.glslVersion===GLSL3?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",parameters.glslVersion===GLSL3?\"\":\"#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`+prefixFragment);let vertexGlsl=versionString+prefixVertex+vertexShader,fragmentGlsl=versionString+prefixFragment+fragmentShader,glVertexShader=WebGLShader(gl,gl.VERTEX_SHADER,vertexGlsl),glFragmentShader=WebGLShader(gl,gl.FRAGMENT_SHADER,fragmentGlsl);gl.attachShader(program,glVertexShader),gl.attachShader(program,glFragmentShader),parameters.index0AttributeName!==void 0?gl.bindAttribLocation(program,0,parameters.index0AttributeName):parameters.hasPositionAttribute===!0&&gl.bindAttribLocation(program,0,\"position\"),gl.linkProgram(program);function onFirstUse(self2){if(renderer.debug.checkShaderErrors){let programInfoLog=gl.getProgramInfoLog(program)||\"\",vertexShaderInfoLog=gl.getShaderInfoLog(glVertexShader)||\"\",fragmentShaderInfoLog=gl.getShaderInfoLog(glFragmentShader)||\"\",programLog=programInfoLog.trim(),vertexLog=vertexShaderInfoLog.trim(),fragmentLog=fragmentShaderInfoLog.trim(),runnable=!0,haveDiagnostics=!0;if(gl.getProgramParameter(program,gl.LINK_STATUS)===!1)if(runnable=!1,typeof renderer.debug.onShaderError==\"function\")renderer.debug.onShaderError(gl,program,glVertexShader,glFragmentShader);else{let vertexErrors=getShaderErrors(gl,glVertexShader,\"vertex\"),fragmentErrors=getShaderErrors(gl,glFragmentShader,\"fragment\");error(\"WebGLProgram: Shader Error \"+gl.getError()+\" - VALIDATE_STATUS \"+gl.getProgramParameter(program,gl.VALIDATE_STATUS)+`\n\nMaterial Name: `+self2.name+`\nMaterial Type: `+self2.type+`\n\nProgram Info Log: `+programLog+`\n`+vertexErrors+`\n`+fragmentErrors);}else programLog!==\"\"?warn(\"WebGLProgram: Program Info Log:\",programLog):(vertexLog===\"\"||fragmentLog===\"\")&&(haveDiagnostics=!1);haveDiagnostics&&(self2.diagnostics={runnable,programLog,vertexShader:{log:vertexLog,prefix:prefixVertex},fragmentShader:{log:fragmentLog,prefix:prefixFragment}});}gl.deleteShader(glVertexShader),gl.deleteShader(glFragmentShader),cachedUniforms=new WebGLUniforms(gl,program),cachedAttributes=fetchAttributeLocations(gl,program);}let cachedUniforms;this.getUniforms=function(){return cachedUniforms===void 0&&onFirstUse(this),cachedUniforms;};let cachedAttributes;this.getAttributes=function(){return cachedAttributes===void 0&&onFirstUse(this),cachedAttributes;};let programReady=parameters.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return programReady===!1&&(programReady=gl.getProgramParameter(program,COMPLETION_STATUS_KHR)),programReady;},this.destroy=function(){bindingStates.releaseStatesOfProgram(this),gl.deleteProgram(program),this.program=void 0;},this.type=parameters.shaderType,this.name=parameters.shaderName,this.id=programIdCount++,this.cacheKey=cacheKey,this.usedTimes=1,this.program=program,this.vertexShader=glVertexShader,this.fragmentShader=glFragmentShader,this;}var _id=0,WebGLShaderCache=class{update(material,vertexShaderStage,fragmentShaderStage){let materialShaders=this._getShaderCacheForMaterial(material);return materialShaders.has(vertexShaderStage)===!1&&(materialShaders.add(vertexShaderStage),vertexShaderStage.usedTimes++),materialShaders.has(fragmentShaderStage)===!1&&(materialShaders.add(fragmentShaderStage),fragmentShaderStage.usedTimes++),this;}remove(material){let materialShaders=this.materialCache.get(material);for(let shaderStage of materialShaders)shaderStage.usedTimes--,shaderStage.usedTimes===0&&this.shaderCache.delete(shaderStage.code);return this.materialCache.delete(material),this;}getVertexShaderStage(material){return this._getShaderStage(material.vertexShader);}getFragmentShaderStage(material){return this._getShaderStage(material.fragmentShader);}dispose(){this.shaderCache.clear(),this.materialCache.clear();}_getShaderCacheForMaterial(material){let cache=this.materialCache,set=cache.get(material);return set===void 0&&(set=new Set,cache.set(material,set)),set;}_getShaderStage(code){let cache=this.shaderCache,stage=cache.get(code);return stage===void 0&&(stage=new WebGLShaderStage(code),cache.set(code,stage)),stage;}constructor(){this.shaderCache=new Map,this.materialCache=new Map;}},WebGLShaderStage=class{constructor(code){this.id=_id++,this.code=code,this.usedTimes=0;}};function isPackedRGFormat(format){return format===RGFormat||format===RG11_EAC_Format||format===RED_GREEN_RGTC2_Format;}function WebGLPrograms(renderer,environments,extensions,capabilities,bindingStates,clipping){let _programLayers=new Layers,_customShaders=new WebGLShaderCache,_activeChannels=new Set,programs=[],programsMap=new Map,logarithmicDepthBuffer=capabilities.logarithmicDepthBuffer,precision=capabilities.precision,shaderIDs={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 getChannel(value){return _activeChannels.add(value),value===0?\"uv\":`uv${value}`;}function getParameters(material,lights,shadows,scene,object,lightProbeGrids){let fog=scene.fog,geometry=object.geometry,environment=material.isMeshStandardMaterial||material.isMeshLambertMaterial||material.isMeshPhongMaterial?scene.environment:null,usePMREM=material.isMeshStandardMaterial||material.isMeshLambertMaterial&&!material.envMap||material.isMeshPhongMaterial&&!material.envMap,envMap=environments.get(material.envMap||environment,usePMREM),envMapCubeUVHeight=envMap&&envMap.mapping===CubeUVReflectionMapping?envMap.image.height:null,shaderID=shaderIDs[material.type];material.precision!==null&&(precision=capabilities.getMaxPrecision(material.precision),precision!==material.precision&&warn(\"WebGLProgram.getParameters:\",material.precision,\"not supported, using\",precision,\"instead.\"));let morphAttribute=geometry.morphAttributes.position||geometry.morphAttributes.normal||geometry.morphAttributes.color,morphTargetsCount=morphAttribute!==void 0?morphAttribute.length:0,morphTextureStride=0;geometry.morphAttributes.position!==void 0&&(morphTextureStride=1),geometry.morphAttributes.normal!==void 0&&(morphTextureStride=2),geometry.morphAttributes.color!==void 0&&(morphTextureStride=3);let vertexShader,fragmentShader,customVertexShaderID,customFragmentShaderID;if(shaderID){let shader=ShaderLib[shaderID];vertexShader=shader.vertexShader,fragmentShader=shader.fragmentShader;}else{vertexShader=material.vertexShader,fragmentShader=material.fragmentShader;let vertexShaderStage=_customShaders.getVertexShaderStage(material),fragmentShaderStage=_customShaders.getFragmentShaderStage(material);_customShaders.update(material,vertexShaderStage,fragmentShaderStage),customVertexShaderID=vertexShaderStage.id,customFragmentShaderID=fragmentShaderStage.id;}let currentRenderTarget=renderer.getRenderTarget(),reversedDepthBuffer=renderer.state.buffers.depth.getReversed(),IS_INSTANCEDMESH=object.isInstancedMesh===!0,IS_BATCHEDMESH=object.isBatchedMesh===!0,HAS_MAP=!!material.map,HAS_MATCAP=!!material.matcap,HAS_ENVMAP=!!envMap,HAS_AOMAP=!!material.aoMap,HAS_LIGHTMAP=!!material.lightMap,HAS_BUMPMAP=!!material.bumpMap&&material.wireframe===!1,HAS_NORMALMAP=!!material.normalMap,HAS_DISPLACEMENTMAP=!!material.displacementMap,HAS_EMISSIVEMAP=!!material.emissiveMap,HAS_METALNESSMAP=!!material.metalnessMap,HAS_ROUGHNESSMAP=!!material.roughnessMap,HAS_ANISOTROPY=material.anisotropy>0,HAS_CLEARCOAT=material.clearcoat>0,HAS_DISPERSION=material.dispersion>0,HAS_RETROREFLECTION=material.retroreflectivity>0,HAS_IRIDESCENCE=material.iridescence>0,HAS_SHEEN=material.sheen>0,HAS_TRANSMISSION=material.transmission>0,HAS_ANISOTROPYMAP=HAS_ANISOTROPY&&!!material.anisotropyMap,HAS_CLEARCOATMAP=HAS_CLEARCOAT&&!!material.clearcoatMap,HAS_CLEARCOAT_NORMALMAP=HAS_CLEARCOAT&&!!material.clearcoatNormalMap,HAS_CLEARCOAT_ROUGHNESSMAP=HAS_CLEARCOAT&&!!material.clearcoatRoughnessMap,HAS_IRIDESCENCEMAP=HAS_IRIDESCENCE&&!!material.iridescenceMap,HAS_IRIDESCENCE_THICKNESSMAP=HAS_IRIDESCENCE&&!!material.iridescenceThicknessMap,HAS_SHEEN_COLORMAP=HAS_SHEEN&&!!material.sheenColorMap,HAS_SHEEN_ROUGHNESSMAP=HAS_SHEEN&&!!material.sheenRoughnessMap,HAS_SPECULARMAP=!!material.specularMap,HAS_SPECULAR_COLORMAP=!!material.specularColorMap,HAS_SPECULAR_INTENSITYMAP=!!material.specularIntensityMap,HAS_TRANSMISSIONMAP=HAS_TRANSMISSION&&!!material.transmissionMap,HAS_THICKNESSMAP=HAS_TRANSMISSION&&!!material.thicknessMap,HAS_GRADIENTMAP=!!material.gradientMap,HAS_ALPHAMAP=!!material.alphaMap,HAS_ALPHATEST=material.alphaTest>0,HAS_ALPHAHASH=!!material.alphaHash,HAS_EXTENSIONS=!!material.extensions,toneMapping=NoToneMapping;material.toneMapped&&(currentRenderTarget===null||currentRenderTarget.isXRRenderTarget===!0)&&(toneMapping=renderer.toneMapping);let parameters={shaderID,shaderType:material.type,shaderName:material.name,vertexShader,fragmentShader,defines:material.defines,customVertexShaderID,customFragmentShaderID,isRawShaderMaterial:material.isRawShaderMaterial===!0,glslVersion:material.glslVersion,precision,batching:IS_BATCHEDMESH,batchingColor:IS_BATCHEDMESH&&object._colorsTexture!==null,instancing:IS_INSTANCEDMESH,instancingColor:IS_INSTANCEDMESH&&object.instanceColor!==null,instancingMorph:IS_INSTANCEDMESH&&object.morphTexture!==null,outputColorSpace:currentRenderTarget===null?renderer.outputColorSpace:currentRenderTarget.isXRRenderTarget===!0?currentRenderTarget.texture.colorSpace:ColorManagement.workingColorSpace,alphaToCoverage:!!material.alphaToCoverage,map:HAS_MAP,matcap:HAS_MATCAP,envMap:HAS_ENVMAP,envMapMode:HAS_ENVMAP&&envMap.mapping,envMapCubeUVHeight,aoMap:HAS_AOMAP,lightMap:HAS_LIGHTMAP,bumpMap:HAS_BUMPMAP,normalMap:HAS_NORMALMAP,displacementMap:HAS_DISPLACEMENTMAP,emissiveMap:HAS_EMISSIVEMAP,normalMapObjectSpace:HAS_NORMALMAP&&material.normalMapType===ObjectSpaceNormalMap,normalMapTangentSpace:HAS_NORMALMAP&&material.normalMapType===TangentSpaceNormalMap,packedNormalMap:HAS_NORMALMAP&&material.normalMapType===TangentSpaceNormalMap&&isPackedRGFormat(material.normalMap.format),metalnessMap:HAS_METALNESSMAP,roughnessMap:HAS_ROUGHNESSMAP,anisotropy:HAS_ANISOTROPY,anisotropyMap:HAS_ANISOTROPYMAP,clearcoat:HAS_CLEARCOAT,clearcoatMap:HAS_CLEARCOATMAP,clearcoatNormalMap:HAS_CLEARCOAT_NORMALMAP,clearcoatRoughnessMap:HAS_CLEARCOAT_ROUGHNESSMAP,dispersion:HAS_DISPERSION,retroreflection:HAS_RETROREFLECTION,iridescence:HAS_IRIDESCENCE,iridescenceMap:HAS_IRIDESCENCEMAP,iridescenceThicknessMap:HAS_IRIDESCENCE_THICKNESSMAP,sheen:HAS_SHEEN,sheenColorMap:HAS_SHEEN_COLORMAP,sheenRoughnessMap:HAS_SHEEN_ROUGHNESSMAP,specularMap:HAS_SPECULARMAP,specularColorMap:HAS_SPECULAR_COLORMAP,specularIntensityMap:HAS_SPECULAR_INTENSITYMAP,transmission:HAS_TRANSMISSION,transmissionMap:HAS_TRANSMISSIONMAP,thicknessMap:HAS_THICKNESSMAP,gradientMap:HAS_GRADIENTMAP,opaque:material.transparent===!1&&material.blending===NormalBlending&&material.alphaToCoverage===!1,alphaMap:HAS_ALPHAMAP,alphaTest:HAS_ALPHATEST,alphaHash:HAS_ALPHAHASH,combine:material.combine,mapUv:HAS_MAP&&getChannel(material.map.channel),aoMapUv:HAS_AOMAP&&getChannel(material.aoMap.channel),lightMapUv:HAS_LIGHTMAP&&getChannel(material.lightMap.channel),bumpMapUv:HAS_BUMPMAP&&getChannel(material.bumpMap.channel),normalMapUv:HAS_NORMALMAP&&getChannel(material.normalMap.channel),displacementMapUv:HAS_DISPLACEMENTMAP&&getChannel(material.displacementMap.channel),emissiveMapUv:HAS_EMISSIVEMAP&&getChannel(material.emissiveMap.channel),metalnessMapUv:HAS_METALNESSMAP&&getChannel(material.metalnessMap.channel),roughnessMapUv:HAS_ROUGHNESSMAP&&getChannel(material.roughnessMap.channel),anisotropyMapUv:HAS_ANISOTROPYMAP&&getChannel(material.anisotropyMap.channel),clearcoatMapUv:HAS_CLEARCOATMAP&&getChannel(material.clearcoatMap.channel),clearcoatNormalMapUv:HAS_CLEARCOAT_NORMALMAP&&getChannel(material.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:HAS_CLEARCOAT_ROUGHNESSMAP&&getChannel(material.clearcoatRoughnessMap.channel),iridescenceMapUv:HAS_IRIDESCENCEMAP&&getChannel(material.iridescenceMap.channel),iridescenceThicknessMapUv:HAS_IRIDESCENCE_THICKNESSMAP&&getChannel(material.iridescenceThicknessMap.channel),sheenColorMapUv:HAS_SHEEN_COLORMAP&&getChannel(material.sheenColorMap.channel),sheenRoughnessMapUv:HAS_SHEEN_ROUGHNESSMAP&&getChannel(material.sheenRoughnessMap.channel),specularMapUv:HAS_SPECULARMAP&&getChannel(material.specularMap.channel),specularColorMapUv:HAS_SPECULAR_COLORMAP&&getChannel(material.specularColorMap.channel),specularIntensityMapUv:HAS_SPECULAR_INTENSITYMAP&&getChannel(material.specularIntensityMap.channel),transmissionMapUv:HAS_TRANSMISSIONMAP&&getChannel(material.transmissionMap.channel),thicknessMapUv:HAS_THICKNESSMAP&&getChannel(material.thicknessMap.channel),alphaMapUv:HAS_ALPHAMAP&&getChannel(material.alphaMap.channel),vertexTangents:!!geometry.attributes.tangent&&(HAS_NORMALMAP||HAS_ANISOTROPY),vertexNormals:!!geometry.attributes.normal,vertexColors:material.vertexColors,vertexAlphas:material.vertexColors===!0&&!!geometry.attributes.color&&geometry.attributes.color.itemSize===4,pointsUvs:object.isPoints===!0&&!!geometry.attributes.uv&&(HAS_MAP||HAS_ALPHAMAP),fog:!!fog,useFog:material.fog===!0,fogExp2:!!fog&&fog.isFogExp2,flatShading:material.wireframe===!1&&(material.flatShading===!0||geometry.attributes.normal===void 0&&HAS_NORMALMAP===!1&&(material.isMeshLambertMaterial||material.isMeshPhongMaterial||material.isMeshStandardMaterial||material.isMeshPhysicalMaterial)),sizeAttenuation:material.sizeAttenuation===!0,logarithmicDepthBuffer,reversedDepthBuffer,skinning:object.isSkinnedMesh===!0,hasPositionAttribute:geometry.attributes.position!==void 0,morphTargets:geometry.morphAttributes.position!==void 0,morphNormals:geometry.morphAttributes.normal!==void 0,morphColors:geometry.morphAttributes.color!==void 0,morphTargetsCount,morphTextureStride,numSunLights:lights.sun.length,numDirLights:lights.directional.length,numPointLights:lights.point.length,numSpotLights:lights.spot.length,numSpotLightMaps:lights.spotLightMap.length,numRectAreaLights:lights.rectArea.length,numHemiLights:lights.hemi.length,numSunLightShadows:lights.sunShadowMap.length,numDirLightShadows:lights.directionalShadowMap.length,numPointLightShadows:lights.pointShadowMap.length,numSpotLightShadows:lights.spotShadowMap.length,numSpotLightShadowsWithMaps:lights.numSpotLightShadowsWithMaps,numLightProbes:lights.numLightProbes,numLightProbeGrids:lightProbeGrids.length,numClippingPlanes:clipping.numPlanes,numClipIntersection:clipping.numIntersection,dithering:material.dithering,shadowMapEnabled:renderer.shadowMap.enabled&&shadows.length>0,shadowMapType:renderer.shadowMap.type,toneMapping,decodeVideoTexture:HAS_MAP&&material.map.isVideoTexture===!0&&ColorManagement.getTransfer(material.map.colorSpace)===SRGBTransfer,decodeVideoTextureEmissive:HAS_EMISSIVEMAP&&material.emissiveMap.isVideoTexture===!0&&ColorManagement.getTransfer(material.emissiveMap.colorSpace)===SRGBTransfer,premultipliedAlpha:material.premultipliedAlpha,doubleSided:material.side===DoubleSide,flipSided:material.side===BackSide,useDepthPacking:material.depthPacking>=0,depthPacking:material.depthPacking||0,index0AttributeName:material.index0AttributeName,extensionClipCullDistance:HAS_EXTENSIONS&&material.extensions.clipCullDistance===!0&&extensions.has(\"WEBGL_clip_cull_distance\"),extensionMultiDraw:(HAS_EXTENSIONS&&material.extensions.multiDraw===!0||IS_BATCHEDMESH)&&extensions.has(\"WEBGL_multi_draw\"),rendererExtensionParallelShaderCompile:extensions.has(\"KHR_parallel_shader_compile\"),customProgramCacheKey:material.customProgramCacheKey()};return parameters.vertexUv1s=_activeChannels.has(1),parameters.vertexUv2s=_activeChannels.has(2),parameters.vertexUv3s=_activeChannels.has(3),_activeChannels.clear(),parameters;}function getProgramCacheKey(parameters){let array=[];if(parameters.shaderID?array.push(parameters.shaderID):(array.push(parameters.customVertexShaderID),array.push(parameters.customFragmentShaderID)),parameters.defines!==void 0)for(let name in parameters.defines)array.push(name),array.push(parameters.defines[name]);return parameters.isRawShaderMaterial===!1&&(getProgramCacheKeyParameters(array,parameters),getProgramCacheKeyBooleans(array,parameters),array.push(renderer.outputColorSpace)),array.push(parameters.customProgramCacheKey),array.join();}function getProgramCacheKeyParameters(array,parameters){array.push(parameters.precision),array.push(parameters.outputColorSpace),array.push(parameters.envMapMode),array.push(parameters.envMapCubeUVHeight),array.push(parameters.mapUv),array.push(parameters.alphaMapUv),array.push(parameters.lightMapUv),array.push(parameters.aoMapUv),array.push(parameters.bumpMapUv),array.push(parameters.normalMapUv),array.push(parameters.displacementMapUv),array.push(parameters.emissiveMapUv),array.push(parameters.metalnessMapUv),array.push(parameters.roughnessMapUv),array.push(parameters.anisotropyMapUv),array.push(parameters.clearcoatMapUv),array.push(parameters.clearcoatNormalMapUv),array.push(parameters.clearcoatRoughnessMapUv),array.push(parameters.iridescenceMapUv),array.push(parameters.iridescenceThicknessMapUv),array.push(parameters.sheenColorMapUv),array.push(parameters.sheenRoughnessMapUv),array.push(parameters.specularMapUv),array.push(parameters.specularColorMapUv),array.push(parameters.specularIntensityMapUv),array.push(parameters.transmissionMapUv),array.push(parameters.thicknessMapUv),array.push(parameters.combine),array.push(parameters.fogExp2),array.push(parameters.sizeAttenuation),array.push(parameters.morphTargetsCount),array.push(parameters.morphAttributeCount),array.push(parameters.numSunLights),array.push(parameters.numDirLights),array.push(parameters.numPointLights),array.push(parameters.numSpotLights),array.push(parameters.numSpotLightMaps),array.push(parameters.numHemiLights),array.push(parameters.numRectAreaLights),array.push(parameters.numSunLightShadows),array.push(parameters.numDirLightShadows),array.push(parameters.numPointLightShadows),array.push(parameters.numSpotLightShadows),array.push(parameters.numSpotLightShadowsWithMaps),array.push(parameters.numLightProbes),array.push(parameters.shadowMapType),array.push(parameters.toneMapping),array.push(parameters.numClippingPlanes),array.push(parameters.numClipIntersection),array.push(parameters.depthPacking);}function getProgramCacheKeyBooleans(array,parameters){_programLayers.disableAll(),parameters.instancing&&_programLayers.enable(0),parameters.instancingColor&&_programLayers.enable(1),parameters.instancingMorph&&_programLayers.enable(2),parameters.matcap&&_programLayers.enable(3),parameters.envMap&&_programLayers.enable(4),parameters.normalMapObjectSpace&&_programLayers.enable(5),parameters.normalMapTangentSpace&&_programLayers.enable(6),parameters.clearcoat&&_programLayers.enable(7),parameters.iridescence&&_programLayers.enable(8),parameters.alphaTest&&_programLayers.enable(9),parameters.vertexColors&&_programLayers.enable(10),parameters.vertexAlphas&&_programLayers.enable(11),parameters.vertexUv1s&&_programLayers.enable(12),parameters.vertexUv2s&&_programLayers.enable(13),parameters.vertexUv3s&&_programLayers.enable(14),parameters.vertexTangents&&_programLayers.enable(15),parameters.anisotropy&&_programLayers.enable(16),parameters.alphaHash&&_programLayers.enable(17),parameters.batching&&_programLayers.enable(18),parameters.dispersion&&_programLayers.enable(19),parameters.retroreflection&&_programLayers.enable(24),parameters.batchingColor&&_programLayers.enable(20),parameters.gradientMap&&_programLayers.enable(21),parameters.packedNormalMap&&_programLayers.enable(22),parameters.vertexNormals&&_programLayers.enable(23),array.push(_programLayers.mask),_programLayers.disableAll(),parameters.fog&&_programLayers.enable(0),parameters.useFog&&_programLayers.enable(1),parameters.flatShading&&_programLayers.enable(2),parameters.logarithmicDepthBuffer&&_programLayers.enable(3),parameters.reversedDepthBuffer&&_programLayers.enable(4),parameters.skinning&&_programLayers.enable(5),parameters.morphTargets&&_programLayers.enable(6),parameters.morphNormals&&_programLayers.enable(7),parameters.morphColors&&_programLayers.enable(8),parameters.premultipliedAlpha&&_programLayers.enable(9),parameters.shadowMapEnabled&&_programLayers.enable(10),parameters.doubleSided&&_programLayers.enable(11),parameters.flipSided&&_programLayers.enable(12),parameters.useDepthPacking&&_programLayers.enable(13),parameters.dithering&&_programLayers.enable(14),parameters.transmission&&_programLayers.enable(15),parameters.sheen&&_programLayers.enable(16),parameters.opaque&&_programLayers.enable(17),parameters.pointsUvs&&_programLayers.enable(18),parameters.decodeVideoTexture&&_programLayers.enable(19),parameters.decodeVideoTextureEmissive&&_programLayers.enable(20),parameters.alphaToCoverage&&_programLayers.enable(21),parameters.numLightProbeGrids>0&&_programLayers.enable(22),parameters.hasPositionAttribute&&_programLayers.enable(23),array.push(_programLayers.mask);}function getUniforms(material){let shaderID=shaderIDs[material.type],uniforms;if(shaderID){let shader=ShaderLib[shaderID];uniforms=UniformsUtils.clone(shader.uniforms);}else uniforms=material.uniforms;return uniforms;}function acquireProgram(parameters,cacheKey){let program=programsMap.get(cacheKey);return program!==void 0?++program.usedTimes:(program=new WebGLProgram(renderer,cacheKey,parameters,bindingStates),programs.push(program),programsMap.set(cacheKey,program)),program;}function releaseProgram(program){if(--program.usedTimes===0){let i=programs.indexOf(program);programs[i]=programs[programs.length-1],programs.pop(),programsMap.delete(program.cacheKey),program.destroy();}}function releaseShaderCache(material){_customShaders.remove(material);}function dispose(){_customShaders.dispose();}return{getParameters,getProgramCacheKey,getUniforms,acquireProgram,releaseProgram,releaseShaderCache,programs,dispose};}function WebGLProperties(){let properties=new WeakMap;function has(object){return properties.has(object);}function get(object){let map=properties.get(object);return map===void 0&&(map={},properties.set(object,map)),map;}function remove(object){properties.delete(object);}function update(object,key,value){properties.get(object)[key]=value;}function dispose(){properties=new WeakMap;}return{has,get,remove,update,dispose};}function painterSortStable(a,b){return a.groupOrder!==b.groupOrder?a.groupOrder-b.groupOrder:a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.material.id!==b.material.id?a.material.id-b.material.id:a.materialVariant!==b.materialVariant?a.materialVariant-b.materialVariant:a.z!==b.z?a.z-b.z:a.id-b.id;}function reversePainterSortStable(a,b){return a.groupOrder!==b.groupOrder?a.groupOrder-b.groupOrder:a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id;}function WebGLRenderList(){let renderItems=[],renderItemsIndex=0,opaque=[],transmissive=[],transparent=[];function init(){renderItemsIndex=0,opaque.length=0,transmissive.length=0,transparent.length=0;}function materialVariant(object){let variant=0;return object.isInstancedMesh&&(variant+=2),object.isSkinnedMesh&&(variant+=1),variant;}function getNextRenderItem(object,geometry,material,groupOrder,z,group){let renderItem=renderItems[renderItemsIndex];return renderItem===void 0?(renderItem={id:object.id,object,geometry,material,materialVariant:materialVariant(object),groupOrder,renderOrder:object.renderOrder,z,group},renderItems[renderItemsIndex]=renderItem):(renderItem.id=object.id,renderItem.object=object,renderItem.geometry=geometry,renderItem.material=material,renderItem.materialVariant=materialVariant(object),renderItem.groupOrder=groupOrder,renderItem.renderOrder=object.renderOrder,renderItem.z=z,renderItem.group=group),renderItemsIndex++,renderItem;}function push(object,geometry,material,groupOrder,z,group,camera){camera.reversedDepth===!0&&(z=-z);let renderItem=getNextRenderItem(object,geometry,material,groupOrder,z,group);material.transmission>0?transmissive.push(renderItem):material.transparent===!0?transparent.push(renderItem):opaque.push(renderItem);}function unshift(object,geometry,material,groupOrder,z,group){let renderItem=getNextRenderItem(object,geometry,material,groupOrder,z,group);material.transmission>0?transmissive.unshift(renderItem):material.transparent===!0?transparent.unshift(renderItem):opaque.unshift(renderItem);}function sort(customOpaqueSort,customTransparentSort){opaque.length>1&&opaque.sort(customOpaqueSort||painterSortStable),transmissive.length>1&&transmissive.sort(customTransparentSort||reversePainterSortStable),transparent.length>1&&transparent.sort(customTransparentSort||reversePainterSortStable);}function finish(){for(let i=renderItemsIndex,il=renderItems.length;i<il;i++){let renderItem=renderItems[i];if(renderItem.id===null)break;renderItem.id=null,renderItem.object=null,renderItem.geometry=null,renderItem.material=null,renderItem.group=null;}}return{opaque,transmissive,transparent,init,push,unshift,finish,sort};}function WebGLRenderLists(){let lists=new WeakMap;function get(scene,renderCallDepth){let listArray=lists.get(scene),list;return listArray===void 0?(list=new WebGLRenderList,lists.set(scene,[list])):renderCallDepth>=listArray.length?(list=new WebGLRenderList,listArray.push(list)):list=listArray[renderCallDepth],list;}function dispose(){lists=new WeakMap;}return{get,dispose};}function UniformsCache(){let lights={};return{get:function(light){if(lights[light.id]!==void 0)return lights[light.id];let uniforms;switch(light.type){case\"SunLight\":case\"DirectionalLight\":uniforms={direction:new Vector3,color:new Color};break;case\"SpotLight\":uniforms={position:new Vector3,direction:new Vector3,color:new Color,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":uniforms={position:new Vector3,color:new Color,distance:0,decay:0};break;case\"HemisphereLight\":uniforms={direction:new Vector3,skyColor:new Color,groundColor:new Color};break;case\"RectAreaLight\":uniforms={color:new Color,position:new Vector3,halfWidth:new Vector3,halfHeight:new Vector3};break;}return lights[light.id]=uniforms,uniforms;}};}function ShadowUniformsCache(){let lights={};return{get:function(light){if(lights[light.id]!==void 0)return lights[light.id];let uniforms;switch(light.type){case\"SunLight\":case\"DirectionalLight\":uniforms={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"SpotLight\":uniforms={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"PointLight\":uniforms={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2,shadowCameraNear:1,shadowCameraFar:1e3};break;}return lights[light.id]=uniforms,uniforms;}};}var nextVersion=0;function shadowCastingAndTexturingLightsFirst(lightA,lightB){return(lightB.castShadow?2:0)-(lightA.castShadow?2:0)+(lightB.map?1:0)-(lightA.map?1:0);}function WebGLLights(extensions){let cache=new UniformsCache,shadowCache=ShadowUniformsCache(),state={version:0,hash:{sunLength:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numSunShadows:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],sun:[],sunShadow:[],sunShadowMap:[],sunShadowMatrix:[],sunShadowCascade:[],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 i=0;i<9;i++)state.probe.push(new Vector3);let vector3=new Vector3,matrix4=new Matrix4,matrix42=new Matrix4;function setup(lights){let r=0,g=0,b=0;for(let i=0;i<9;i++)state.probe[i].set(0,0,0);let sunLength=0,numSunShadows=0,numSunShadowCascades=0,directionalLength=0,pointLength=0,spotLength=0,rectAreaLength=0,hemiLength=0,numDirectionalShadows=0,numPointShadows=0,numSpotShadows=0,numSpotMaps=0,numSpotShadowsWithMaps=0,numLightProbes=0;lights.sort(shadowCastingAndTexturingLightsFirst);for(let i=0,l=lights.length;i<l;i++){let light=lights[i],color=light.color,intensity=light.intensity,distance=light.distance,shadowMap=null;if(light.shadow&&light.shadow.map&&(light.shadow.map.texture.format===RGFormat?shadowMap=light.shadow.map.texture:shadowMap=light.shadow.map.depthTexture||light.shadow.map.texture),light.isAmbientLight)r+=color.r*intensity,g+=color.g*intensity,b+=color.b*intensity;else if(light.isLightProbe){for(let j=0;j<9;j++)state.probe[j].addScaledVector(light.sh.coefficients[j],intensity);numLightProbes++;}else if(light.isSunLight){let uniforms=cache.get(light);if(uniforms.color.copy(light.color).multiplyScalar(light.intensity),light.castShadow){let shadow=light.shadow,shadowUniforms=shadowCache.get(light);shadowUniforms.shadowIntensity=shadow.intensity,shadowUniforms.shadowBias=shadow.bias,shadowUniforms.shadowNormalBias=shadow.normalBias,shadowUniforms.shadowRadius=shadow.radius,shadowUniforms.shadowMapSize.copy(shadow.mapSize).multiply(shadow.getFrameExtents()),state.sunShadow[numSunShadows]=shadowUniforms,state.sunShadowMap[numSunShadows]=shadowMap;let cascadeCount=shadow.getViewportCount();for(let j=0;j<cascadeCount;j++)state.sunShadowMatrix[numSunShadowCascades+j]=shadow.getMatrix(j),state.sunShadowCascade[numSunShadowCascades+j]=shadow._cascadeData[j];numSunShadowCascades+=cascadeCount,numSunShadows++;}state.sun[sunLength]=uniforms,sunLength++;}else if(light.isDirectionalLight){let uniforms=cache.get(light);if(uniforms.color.copy(light.color).multiplyScalar(light.intensity),light.castShadow){let shadow=light.shadow,shadowUniforms=shadowCache.get(light);shadowUniforms.shadowIntensity=shadow.intensity,shadowUniforms.shadowBias=shadow.bias,shadowUniforms.shadowNormalBias=shadow.normalBias,shadowUniforms.shadowRadius=shadow.radius,shadowUniforms.shadowMapSize=shadow.mapSize,state.directionalShadow[directionalLength]=shadowUniforms,state.directionalShadowMap[directionalLength]=shadowMap,state.directionalShadowMatrix[directionalLength]=light.shadow.matrix,numDirectionalShadows++;}state.directional[directionalLength]=uniforms,directionalLength++;}else if(light.isSpotLight){let uniforms=cache.get(light);uniforms.position.setFromMatrixPosition(light.matrixWorld),uniforms.color.copy(color).multiplyScalar(intensity),uniforms.distance=distance,uniforms.coneCos=Math.cos(light.angle),uniforms.penumbraCos=Math.cos(light.angle*(1-light.penumbra)),uniforms.decay=light.decay,state.spot[spotLength]=uniforms;let shadow=light.shadow;if(light.map&&(state.spotLightMap[numSpotMaps]=light.map,numSpotMaps++,shadow.updateMatrices(light),light.castShadow&&numSpotShadowsWithMaps++),state.spotLightMatrix[spotLength]=shadow.matrix,light.castShadow){let shadowUniforms=shadowCache.get(light);shadowUniforms.shadowIntensity=shadow.intensity,shadowUniforms.shadowBias=shadow.bias,shadowUniforms.shadowNormalBias=shadow.normalBias,shadowUniforms.shadowRadius=shadow.radius,shadowUniforms.shadowMapSize=shadow.mapSize,state.spotShadow[spotLength]=shadowUniforms,state.spotShadowMap[spotLength]=shadowMap,numSpotShadows++;}spotLength++;}else if(light.isRectAreaLight){let uniforms=cache.get(light);uniforms.color.copy(color).multiplyScalar(intensity),uniforms.halfWidth.set(light.width*.5,0,0),uniforms.halfHeight.set(0,light.height*.5,0),state.rectArea[rectAreaLength]=uniforms,rectAreaLength++;}else if(light.isPointLight){let uniforms=cache.get(light);if(uniforms.color.copy(light.color).multiplyScalar(light.intensity),uniforms.distance=light.distance,uniforms.decay=light.decay,light.castShadow){let shadow=light.shadow,shadowUniforms=shadowCache.get(light);shadowUniforms.shadowIntensity=shadow.intensity,shadowUniforms.shadowBias=shadow.bias,shadowUniforms.shadowNormalBias=shadow.normalBias,shadowUniforms.shadowRadius=shadow.radius,shadowUniforms.shadowMapSize=shadow.mapSize,shadowUniforms.shadowCameraNear=shadow.camera.near,shadowUniforms.shadowCameraFar=shadow.camera.far,state.pointShadow[pointLength]=shadowUniforms,state.pointShadowMap[pointLength]=shadowMap,state.pointShadowMatrix[pointLength]=light.shadow.matrix,numPointShadows++;}state.point[pointLength]=uniforms,pointLength++;}else if(light.isHemisphereLight){let uniforms=cache.get(light);uniforms.skyColor.copy(light.color).multiplyScalar(intensity),uniforms.groundColor.copy(light.groundColor).multiplyScalar(intensity),state.hemi[hemiLength]=uniforms,hemiLength++;}}rectAreaLength>0&&(extensions.has(\"OES_texture_float_linear\")===!0?(state.rectAreaLTC1=UniformsLib.LTC_FLOAT_1,state.rectAreaLTC2=UniformsLib.LTC_FLOAT_2):(state.rectAreaLTC1=UniformsLib.LTC_HALF_1,state.rectAreaLTC2=UniformsLib.LTC_HALF_2)),state.ambient[0]=r,state.ambient[1]=g,state.ambient[2]=b;let hash=state.hash;(hash.sunLength!==sunLength||hash.directionalLength!==directionalLength||hash.pointLength!==pointLength||hash.spotLength!==spotLength||hash.rectAreaLength!==rectAreaLength||hash.hemiLength!==hemiLength||hash.numSunShadows!==numSunShadows||hash.numDirectionalShadows!==numDirectionalShadows||hash.numPointShadows!==numPointShadows||hash.numSpotShadows!==numSpotShadows||hash.numSpotMaps!==numSpotMaps||hash.numLightProbes!==numLightProbes)&&(state.sun.length=sunLength,state.directional.length=directionalLength,state.spot.length=spotLength,state.rectArea.length=rectAreaLength,state.point.length=pointLength,state.hemi.length=hemiLength,state.sunShadow.length=numSunShadows,state.sunShadowMap.length=numSunShadows,state.sunShadowMatrix.length=numSunShadowCascades,state.sunShadowCascade.length=numSunShadowCascades,state.directionalShadow.length=numDirectionalShadows,state.directionalShadowMap.length=numDirectionalShadows,state.directionalShadowMatrix.length=numDirectionalShadows,state.pointShadow.length=numPointShadows,state.pointShadowMap.length=numPointShadows,state.pointShadowMatrix.length=numPointShadows,state.spotShadow.length=numSpotShadows,state.spotShadowMap.length=numSpotShadows,state.spotLightMatrix.length=numSpotShadows+numSpotMaps-numSpotShadowsWithMaps,state.spotLightMap.length=numSpotMaps,state.numSpotLightShadowsWithMaps=numSpotShadowsWithMaps,state.numLightProbes=numLightProbes,hash.sunLength=sunLength,hash.directionalLength=directionalLength,hash.pointLength=pointLength,hash.spotLength=spotLength,hash.rectAreaLength=rectAreaLength,hash.hemiLength=hemiLength,hash.numSunShadows=numSunShadows,hash.numDirectionalShadows=numDirectionalShadows,hash.numPointShadows=numPointShadows,hash.numSpotShadows=numSpotShadows,hash.numSpotMaps=numSpotMaps,hash.numLightProbes=numLightProbes,state.version=nextVersion++);}function setupView(lights,camera){let sunLength=0,directionalLength=0,pointLength=0,spotLength=0,rectAreaLength=0,hemiLength=0,viewMatrix=camera.matrixWorldInverse;for(let i=0,l=lights.length;i<l;i++){let light=lights[i];if(light.isSunLight){let uniforms=state.sun[sunLength];uniforms.direction.setFromMatrixPosition(light.matrixWorld),uniforms.direction.transformDirection(viewMatrix),sunLength++;}else if(light.isDirectionalLight){let uniforms=state.directional[directionalLength];uniforms.direction.setFromMatrixPosition(light.matrixWorld),vector3.setFromMatrixPosition(light.target.matrixWorld),uniforms.direction.sub(vector3),uniforms.direction.transformDirection(viewMatrix),directionalLength++;}else if(light.isSpotLight){let uniforms=state.spot[spotLength];uniforms.position.setFromMatrixPosition(light.matrixWorld),uniforms.position.applyMatrix4(viewMatrix),uniforms.direction.setFromMatrixPosition(light.matrixWorld),vector3.setFromMatrixPosition(light.target.matrixWorld),uniforms.direction.sub(vector3),uniforms.direction.transformDirection(viewMatrix),spotLength++;}else if(light.isRectAreaLight){let uniforms=state.rectArea[rectAreaLength];uniforms.position.setFromMatrixPosition(light.matrixWorld),uniforms.position.applyMatrix4(viewMatrix),matrix42.identity(),matrix4.copy(light.matrixWorld),matrix4.premultiply(viewMatrix),matrix42.extractRotation(matrix4),uniforms.halfWidth.set(light.width*.5,0,0),uniforms.halfHeight.set(0,light.height*.5,0),uniforms.halfWidth.applyMatrix4(matrix42),uniforms.halfHeight.applyMatrix4(matrix42),rectAreaLength++;}else if(light.isPointLight){let uniforms=state.point[pointLength];uniforms.position.setFromMatrixPosition(light.matrixWorld),uniforms.position.applyMatrix4(viewMatrix),pointLength++;}else if(light.isHemisphereLight){let uniforms=state.hemi[hemiLength];uniforms.direction.setFromMatrixPosition(light.matrixWorld),uniforms.direction.transformDirection(viewMatrix),hemiLength++;}}}return{setup,setupView,state};}function WebGLRenderState(extensions){let lights=new WebGLLights(extensions),lightsArray=[],shadowsArray=[],lightProbeGridArray=[];function init(camera){state.camera=camera,lightsArray.length=0,shadowsArray.length=0,lightProbeGridArray.length=0;}function pushLight(light){lightsArray.push(light);}function pushShadow(shadowLight){shadowsArray.push(shadowLight);}function pushLightProbeGrid(volume){lightProbeGridArray.push(volume);}function setupLights(){lights.setup(lightsArray);}function setupLightsView(camera){lights.setupView(lightsArray,camera);}let state={lightsArray,shadowsArray,lightProbeGridArray,camera:null,lights,transmissionRenderTarget:{},textureUnits:0};return{init,state,setupLights,setupLightsView,pushLight,pushShadow,pushLightProbeGrid};}function WebGLRenderStates(extensions){let renderStates=new WeakMap;function get(scene,renderCallDepth=0){let renderStateArray=renderStates.get(scene),renderState;return renderStateArray===void 0?(renderState=new WebGLRenderState(extensions),renderStates.set(scene,[renderState])):renderCallDepth>=renderStateArray.length?(renderState=new WebGLRenderState(extensions),renderStateArray.push(renderState)):renderState=renderStateArray[renderCallDepth],renderState;}function dispose(){renderStates=new WeakMap;}return{get,dispose};}var vertex=`void main() {\n\tgl_Position = vec4( position, 1.0 );\n}`,fragment=`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}`,_cubeDirections=[new Vector3(1,0,0),new Vector3(-1,0,0),new Vector3(0,1,0),new Vector3(0,-1,0),new Vector3(0,0,1),new Vector3(0,0,-1)],_cubeUps=[new Vector3(0,-1,0),new Vector3(0,-1,0),new Vector3(0,0,1),new Vector3(0,0,-1),new Vector3(0,-1,0),new Vector3(0,-1,0)],_projScreenMatrix2=new Matrix4,_lightPositionWorld2=new Vector3,_lookTarget2=new Vector3;function WebGLShadowMap(renderer,objects,capabilities){let _frustum=new Frustum,_shadowMapSize=new Vector2,_viewportSize=new Vector2,_viewport=new Vector4,_depthMaterial=new MeshDepthMaterial,_distanceMaterial=new MeshDistanceMaterial,_materialCache={},_maxTextureSize=capabilities.maxTextureSize,shadowSide={[FrontSide]:BackSide,[BackSide]:FrontSide,[DoubleSide]:DoubleSide},shadowMaterialVertical=new ShaderMaterial({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vector2},radius:{value:4}},vertexShader:vertex,fragmentShader:fragment}),shadowMaterialHorizontal=shadowMaterialVertical.clone();shadowMaterialHorizontal.defines.HORIZONTAL_PASS=1;let fullScreenTri=new BufferGeometry;fullScreenTri.setAttribute(\"position\",new BufferAttribute(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let fullScreenMesh=new Mesh(fullScreenTri,shadowMaterialVertical),scope=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=PCFShadowMap;let _previousType=this.type;this.render=function(lights,scene,camera){if(scope.enabled===!1||scope.autoUpdate===!1&&scope.needsUpdate===!1||lights.length===0)return;this.type===PCFSoftShadowMap&&(warn(\"WebGLShadowMap: PCFSoftShadowMap has been removed. Using PCFShadowMap instead.\"),this.type=PCFShadowMap);let currentRenderTarget=renderer.getRenderTarget(),activeCubeFace=renderer.getActiveCubeFace(),activeMipmapLevel=renderer.getActiveMipmapLevel(),_state=renderer.state;_state.setBlending(NoBlending),_state.buffers.depth.getReversed()===!0?_state.buffers.color.setClear(0,0,0,0):_state.buffers.color.setClear(1,1,1,1),_state.buffers.depth.setTest(!0),_state.setScissorTest(!1);let typeChanged=_previousType!==this.type;typeChanged&&scene.traverse(function(object){object.material&&(Array.isArray(object.material)?object.material.forEach(mat=>mat.needsUpdate=!0):object.material.needsUpdate=!0);});for(let i=0,il=lights.length;i<il;i++){let light=lights[i],shadow=light.shadow;if(shadow===void 0){warn(\"WebGLShadowMap:\",light,\"has no shadow.\");continue;}if(shadow.autoUpdate===!1&&shadow.needsUpdate===!1)continue;_shadowMapSize.copy(shadow.mapSize);let shadowFrameExtents=shadow.getFrameExtents();_shadowMapSize.multiply(shadowFrameExtents),_viewportSize.copy(shadow.mapSize),(_shadowMapSize.x>_maxTextureSize||_shadowMapSize.y>_maxTextureSize)&&(_shadowMapSize.x>_maxTextureSize&&(_viewportSize.x=Math.floor(_maxTextureSize/shadowFrameExtents.x),_shadowMapSize.x=_viewportSize.x*shadowFrameExtents.x,shadow.mapSize.x=_viewportSize.x),_shadowMapSize.y>_maxTextureSize&&(_viewportSize.y=Math.floor(_maxTextureSize/shadowFrameExtents.y),_shadowMapSize.y=_viewportSize.y*shadowFrameExtents.y,shadow.mapSize.y=_viewportSize.y));let reversedDepthBuffer=renderer.state.buffers.depth.getReversed();if(shadow.camera._reversedDepth=reversedDepthBuffer,shadow.map===null||typeChanged===!0){if(shadow.map!==null&&(shadow.map.depthTexture!==null&&(shadow.map.depthTexture.dispose(),shadow.map.depthTexture=null),shadow.map.dispose()),this.type===VSMShadowMap){if(light.isPointLight){warn(\"WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.\");continue;}shadow.map=new WebGLRenderTarget(_shadowMapSize.x,_shadowMapSize.y,{format:RGFormat,type:HalfFloatType,minFilter:LinearFilter,magFilter:LinearFilter,generateMipmaps:!1}),shadow.map.texture.name=light.name+\".shadowMap\",shadow.map.depthTexture=new DepthTexture(_shadowMapSize.x,_shadowMapSize.y,FloatType),shadow.map.depthTexture.name=light.name+\".shadowMapDepth\",shadow.map.depthTexture.format=DepthFormat,shadow.map.depthTexture.compareFunction=null,shadow.map.depthTexture.minFilter=NearestFilter,shadow.map.depthTexture.magFilter=NearestFilter;}else light.isPointLight?(shadow.map=new WebGLCubeRenderTarget(_shadowMapSize.x),shadow.map.depthTexture=new CubeDepthTexture(_shadowMapSize.x,UnsignedIntType)):(shadow.map=new WebGLRenderTarget(_shadowMapSize.x,_shadowMapSize.y),shadow.map.depthTexture=new DepthTexture(_shadowMapSize.x,_shadowMapSize.y,UnsignedIntType)),shadow.map.depthTexture.name=light.name+\".shadowMap\",shadow.map.depthTexture.format=DepthFormat,this.type===PCFShadowMap?(shadow.map.depthTexture.compareFunction=reversedDepthBuffer?GreaterEqualCompare:LessEqualCompare,shadow.map.depthTexture.minFilter=LinearFilter,shadow.map.depthTexture.magFilter=LinearFilter):(shadow.map.depthTexture.compareFunction=null,shadow.map.depthTexture.minFilter=NearestFilter,shadow.map.depthTexture.magFilter=NearestFilter);shadow.camera.updateProjectionMatrix();}shadow.map.isWebGLCubeRenderTarget!==!0&&(shadow.map.width!==_shadowMapSize.x||shadow.map.height!==_shadowMapSize.y)&&shadow.map.setSize(_shadowMapSize.x,_shadowMapSize.y);let faceCount=shadow.map.isWebGLCubeRenderTarget?6:shadow.getViewportCount();light.isPointLight!==!0&&shadow.updateMatrices(light,camera);for(let face=0;face<faceCount;face++){let shadowCamera=shadow.getCamera(face);if(light.isPointLight){let camera2=shadow.camera,shadowMatrix=shadow.matrix,far=light.distance||camera2.far;far!==camera2.far&&(camera2.far=far,camera2.updateProjectionMatrix()),_lightPositionWorld2.setFromMatrixPosition(light.matrixWorld),camera2.position.copy(_lightPositionWorld2),_lookTarget2.copy(camera2.position),_lookTarget2.add(_cubeDirections[face]),camera2.up.copy(_cubeUps[face]),camera2.lookAt(_lookTarget2),camera2.updateMatrixWorld(),shadowMatrix.makeTranslation(-_lightPositionWorld2.x,-_lightPositionWorld2.y,-_lightPositionWorld2.z),_projScreenMatrix2.multiplyMatrices(camera2.projectionMatrix,camera2.matrixWorldInverse),shadow._frustum.setFromProjectionMatrix(_projScreenMatrix2,camera2.coordinateSystem,camera2.reversedDepth);}if(shadow.map.isWebGLCubeRenderTarget)renderer.setRenderTarget(shadow.map,face),renderer.clear();else{face===0&&(renderer.setRenderTarget(shadow.map),renderer.clear());let viewport=shadow.getViewport(face);_viewport.set(_viewportSize.x*viewport.x,_viewportSize.y*viewport.y,_viewportSize.x*viewport.z,_viewportSize.y*viewport.w),_state.viewport(_viewport);}_frustum=shadow.getFrustum(face),renderObject(scene,camera,shadowCamera,light,this.type);}shadow.isPointLightShadow!==!0&&this.type===VSMShadowMap&&VSMPass(shadow,camera),shadow.needsUpdate=!1;}_previousType=this.type,scope.needsUpdate=!1,renderer.setRenderTarget(currentRenderTarget,activeCubeFace,activeMipmapLevel);};function VSMPass(shadow,camera){let geometry=objects.update(fullScreenMesh);shadowMaterialVertical.defines.VSM_SAMPLES!==shadow.blurSamples&&(shadowMaterialVertical.defines.VSM_SAMPLES=shadow.blurSamples,shadowMaterialHorizontal.defines.VSM_SAMPLES=shadow.blurSamples,shadowMaterialVertical.needsUpdate=!0,shadowMaterialHorizontal.needsUpdate=!0),shadow.mapPass===null?shadow.mapPass=new WebGLRenderTarget(_shadowMapSize.x,_shadowMapSize.y,{format:RGFormat,type:HalfFloatType}):(shadow.mapPass.width!==shadow.map.width||shadow.mapPass.height!==shadow.map.height)&&shadow.mapPass.setSize(shadow.map.width,shadow.map.height),shadowMaterialVertical.uniforms.shadow_pass.value=shadow.map.depthTexture,shadowMaterialVertical.uniforms.resolution.value.set(shadow.map.width,shadow.map.height),shadowMaterialVertical.uniforms.radius.value=shadow.radius,renderer.setRenderTarget(shadow.mapPass),renderer.clear(),renderer.renderBufferDirect(camera,null,geometry,shadowMaterialVertical,fullScreenMesh,null),shadowMaterialHorizontal.uniforms.shadow_pass.value=shadow.mapPass.texture,shadowMaterialHorizontal.uniforms.resolution.value.set(shadow.map.width,shadow.map.height),shadowMaterialHorizontal.uniforms.radius.value=shadow.radius,renderer.setRenderTarget(shadow.map),renderer.clear(),renderer.renderBufferDirect(camera,null,geometry,shadowMaterialHorizontal,fullScreenMesh,null);}function getDepthMaterial(object,material,light,type){let result=null,customMaterial=light.isPointLight===!0?object.customDistanceMaterial:object.customDepthMaterial;if(customMaterial!==void 0)result=customMaterial;else if(result=light.isPointLight===!0?_distanceMaterial:_depthMaterial,renderer.localClippingEnabled&&material.clipShadows===!0&&Array.isArray(material.clippingPlanes)&&material.clippingPlanes.length!==0||material.displacementMap&&material.displacementScale!==0||material.alphaMap&&material.alphaTest>0||material.map&&material.alphaTest>0||material.alphaToCoverage===!0){let keyA=result.uuid,keyB=material.uuid,materialsForVariant=_materialCache[keyA];materialsForVariant===void 0&&(materialsForVariant={},_materialCache[keyA]=materialsForVariant);let cachedMaterial=materialsForVariant[keyB];cachedMaterial===void 0&&(cachedMaterial=result.clone(),materialsForVariant[keyB]=cachedMaterial,material.addEventListener(\"dispose\",onMaterialDispose)),result=cachedMaterial;}if(result.visible=material.visible,result.wireframe=material.wireframe,type===VSMShadowMap?result.side=material.shadowSide!==null?material.shadowSide:material.side:result.side=material.shadowSide!==null?material.shadowSide:shadowSide[material.side],result.alphaMap=material.alphaMap,result.alphaTest=material.alphaToCoverage===!0?.5:material.alphaTest,result.map=material.map,result.clipShadows=material.clipShadows,result.clippingPlanes=material.clippingPlanes,result.clipIntersection=material.clipIntersection,result.displacementMap=material.displacementMap,result.displacementScale=material.displacementScale,result.displacementBias=material.displacementBias,result.wireframeLinewidth=material.wireframeLinewidth,result.linewidth=material.linewidth,light.isPointLight===!0&&result.isMeshDistanceMaterial===!0){let materialProperties=renderer.properties.get(result);materialProperties.light=light;}return result;}function renderObject(object,camera,shadowCamera,light,type){if(object.visible===!1)return;if(object.layers.test(camera.layers)&&(object.isMesh||object.isLine||object.isPoints)&&(object.castShadow||object.receiveShadow&&type===VSMShadowMap)&&(!object.frustumCulled||object.intersectsFrustum(_frustum))){object.modelViewMatrix.multiplyMatrices(shadowCamera.matrixWorldInverse,object.matrixWorld);let geometry=objects.update(object),material=object.material;if(Array.isArray(material)){let groups=geometry.groups;for(let k=0,kl=groups.length;k<kl;k++){let group=groups[k],groupMaterial=material[group.materialIndex];if(groupMaterial&&groupMaterial.visible){let depthMaterial=getDepthMaterial(object,groupMaterial,light,type);object.onBeforeShadow(renderer,object,camera,shadowCamera,geometry,depthMaterial,group),renderer.renderBufferDirect(shadowCamera,null,geometry,depthMaterial,object,group),object.onAfterShadow(renderer,object,camera,shadowCamera,geometry,depthMaterial,group);}}}else if(material.visible){let depthMaterial=getDepthMaterial(object,material,light,type);object.onBeforeShadow(renderer,object,camera,shadowCamera,geometry,depthMaterial,null),renderer.renderBufferDirect(shadowCamera,null,geometry,depthMaterial,object,null),object.onAfterShadow(renderer,object,camera,shadowCamera,geometry,depthMaterial,null);}}let children=object.children;for(let i=0,l=children.length;i<l;i++)renderObject(children[i],camera,shadowCamera,light,type);}function onMaterialDispose(event){event.target.removeEventListener(\"dispose\",onMaterialDispose);for(let id in _materialCache){let cache=_materialCache[id],uuid=event.target.uuid;uuid in cache&&(cache[uuid].dispose(),delete cache[uuid]);}}}function WebGLState(gl,extensions){function ColorBuffer(){let locked=!1,color=new Vector4,currentColorMask=null,currentColorClear=new Vector4(0,0,0,0);return{setMask:function(colorMask){currentColorMask!==colorMask&&!locked&&(gl.colorMask(colorMask,colorMask,colorMask,colorMask),currentColorMask=colorMask);},setLocked:function(lock){locked=lock;},setClear:function(r,g,b,a,premultipliedAlpha){premultipliedAlpha===!0&&(r*=a,g*=a,b*=a),color.set(r,g,b,a),currentColorClear.equals(color)===!1&&(gl.clearColor(r,g,b,a),currentColorClear.copy(color));},reset:function(){locked=!1,currentColorMask=null,currentColorClear.set(-1,0,0,0);}};}function DepthBuffer(){let locked=!1,currentReversed=!1,currentDepthMask=null,currentDepthFunc=null,currentDepthClear=null;return{setReversed:function(reversed){if(currentReversed!==reversed){let ext=extensions.get(\"EXT_clip_control\");reversed?ext.clipControlEXT(ext.LOWER_LEFT_EXT,ext.ZERO_TO_ONE_EXT):ext.clipControlEXT(ext.LOWER_LEFT_EXT,ext.NEGATIVE_ONE_TO_ONE_EXT),currentReversed=reversed;let oldDepth=currentDepthClear;currentDepthClear=null,this.setClear(oldDepth);}},getReversed:function(){return currentReversed;},setTest:function(depthTest){depthTest?enable(gl.DEPTH_TEST):disable(gl.DEPTH_TEST);},setMask:function(depthMask){currentDepthMask!==depthMask&&!locked&&(gl.depthMask(depthMask),currentDepthMask=depthMask);},setFunc:function(depthFunc){if(currentReversed&&(depthFunc=ReversedDepthFuncs[depthFunc]),currentDepthFunc!==depthFunc){switch(depthFunc){case NeverDepth:gl.depthFunc(gl.NEVER);break;case AlwaysDepth:gl.depthFunc(gl.ALWAYS);break;case LessDepth:gl.depthFunc(gl.LESS);break;case LessEqualDepth:gl.depthFunc(gl.LEQUAL);break;case EqualDepth:gl.depthFunc(gl.EQUAL);break;case GreaterEqualDepth:gl.depthFunc(gl.GEQUAL);break;case GreaterDepth:gl.depthFunc(gl.GREATER);break;case NotEqualDepth:gl.depthFunc(gl.NOTEQUAL);break;default:gl.depthFunc(gl.LEQUAL);}currentDepthFunc=depthFunc;}},setLocked:function(lock){locked=lock;},setClear:function(depth){currentDepthClear!==depth&&(currentDepthClear=depth,currentReversed&&(depth=1-depth),gl.clearDepth(depth));},reset:function(){locked=!1,currentDepthMask=null,currentDepthFunc=null,currentDepthClear=null,currentReversed=!1;}};}function StencilBuffer(){let locked=!1,currentStencilMask=null,currentStencilFunc=null,currentStencilRef=null,currentStencilFuncMask=null,currentStencilFail=null,currentStencilZFail=null,currentStencilZPass=null,currentStencilClear=null;return{setTest:function(stencilTest){locked||(stencilTest?enable(gl.STENCIL_TEST):disable(gl.STENCIL_TEST));},setMask:function(stencilMask){currentStencilMask!==stencilMask&&!locked&&(gl.stencilMask(stencilMask),currentStencilMask=stencilMask);},setFunc:function(stencilFunc,stencilRef,stencilMask){(currentStencilFunc!==stencilFunc||currentStencilRef!==stencilRef||currentStencilFuncMask!==stencilMask)&&(gl.stencilFunc(stencilFunc,stencilRef,stencilMask),currentStencilFunc=stencilFunc,currentStencilRef=stencilRef,currentStencilFuncMask=stencilMask);},setOp:function(stencilFail,stencilZFail,stencilZPass){(currentStencilFail!==stencilFail||currentStencilZFail!==stencilZFail||currentStencilZPass!==stencilZPass)&&(gl.stencilOp(stencilFail,stencilZFail,stencilZPass),currentStencilFail=stencilFail,currentStencilZFail=stencilZFail,currentStencilZPass=stencilZPass);},setLocked:function(lock){locked=lock;},setClear:function(stencil){currentStencilClear!==stencil&&(gl.clearStencil(stencil),currentStencilClear=stencil);},reset:function(){locked=!1,currentStencilMask=null,currentStencilFunc=null,currentStencilRef=null,currentStencilFuncMask=null,currentStencilFail=null,currentStencilZFail=null,currentStencilZPass=null,currentStencilClear=null;}};}let colorBuffer=new ColorBuffer,depthBuffer=new DepthBuffer,stencilBuffer=new StencilBuffer,uboBindings=new WeakMap,uboProgramMap=new WeakMap,enabledCapabilities={},parameters={},currentBoundFramebuffers={},currentDrawbuffers=new WeakMap,defaultDrawbuffers=[],currentProgram=null,currentBlendingEnabled=!1,currentBlending=null,currentBlendEquation=null,currentBlendSrc=null,currentBlendDst=null,currentBlendEquationAlpha=null,currentBlendSrcAlpha=null,currentBlendDstAlpha=null,currentBlendColor=new Color(0,0,0),currentBlendAlpha=0,currentPremultipledAlpha=!1,currentFlipSided=null,currentCullFace=null,currentLineWidth=null,currentPolygonOffsetFactor=null,currentPolygonOffsetUnits=null,maxTextures=gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),lineWidthAvailable=!1,version=0,glVersion=gl.getParameter(gl.VERSION);glVersion.indexOf(\"WebGL\")!==-1?(version=parseFloat(/^WebGL (\\d)/.exec(glVersion)[1]),lineWidthAvailable=version>=1):glVersion.indexOf(\"OpenGL ES\")!==-1&&(version=parseFloat(/^OpenGL ES (\\d)/.exec(glVersion)[1]),lineWidthAvailable=version>=2);let currentTextureSlot=null,currentBoundTextures={},scissorParam=gl.getParameter(gl.SCISSOR_BOX),viewportParam=gl.getParameter(gl.VIEWPORT),currentScissor=new Vector4().fromArray(scissorParam),currentViewport=new Vector4().fromArray(viewportParam);function createTexture(type,target,count,dimensions){let data=new Uint8Array(4),texture=gl.createTexture();gl.bindTexture(type,texture),gl.texParameteri(type,gl.TEXTURE_MIN_FILTER,gl.NEAREST),gl.texParameteri(type,gl.TEXTURE_MAG_FILTER,gl.NEAREST);for(let i=0;i<count;i++)type===gl.TEXTURE_3D||type===gl.TEXTURE_2D_ARRAY?gl.texImage3D(target,0,gl.RGBA,1,1,dimensions,0,gl.RGBA,gl.UNSIGNED_BYTE,data):gl.texImage2D(target+i,0,gl.RGBA,1,1,0,gl.RGBA,gl.UNSIGNED_BYTE,data);return texture;}let emptyTextures={};emptyTextures[gl.TEXTURE_2D]=createTexture(gl.TEXTURE_2D,gl.TEXTURE_2D,1),emptyTextures[gl.TEXTURE_CUBE_MAP]=createTexture(gl.TEXTURE_CUBE_MAP,gl.TEXTURE_CUBE_MAP_POSITIVE_X,6),emptyTextures[gl.TEXTURE_2D_ARRAY]=createTexture(gl.TEXTURE_2D_ARRAY,gl.TEXTURE_2D_ARRAY,1,1),emptyTextures[gl.TEXTURE_3D]=createTexture(gl.TEXTURE_3D,gl.TEXTURE_3D,1,1),colorBuffer.setClear(0,0,0,1),depthBuffer.setClear(1),stencilBuffer.setClear(0),enable(gl.DEPTH_TEST),depthBuffer.setFunc(LessEqualDepth),setFlipSided(!1),setCullFace(CullFaceBack),enable(gl.CULL_FACE),setBlending(NoBlending);function enable(id){enabledCapabilities[id]!==!0&&(gl.enable(id),enabledCapabilities[id]=!0);}function disable(id){enabledCapabilities[id]!==!1&&(gl.disable(id),enabledCapabilities[id]=!1);}function bindFramebuffer(target,framebuffer){return currentBoundFramebuffers[target]!==framebuffer?(gl.bindFramebuffer(target,framebuffer),currentBoundFramebuffers[target]=framebuffer,target===gl.DRAW_FRAMEBUFFER&&(currentBoundFramebuffers[gl.FRAMEBUFFER]=framebuffer),target===gl.FRAMEBUFFER&&(currentBoundFramebuffers[gl.DRAW_FRAMEBUFFER]=framebuffer),!0):!1;}function drawBuffers(renderTarget,framebuffer){let drawBuffers2=defaultDrawbuffers,needsUpdate=!1;if(renderTarget){drawBuffers2=currentDrawbuffers.get(framebuffer),drawBuffers2===void 0&&(drawBuffers2=[],currentDrawbuffers.set(framebuffer,drawBuffers2));let textures=renderTarget.textures;if(drawBuffers2.length!==textures.length||drawBuffers2[0]!==gl.COLOR_ATTACHMENT0){for(let i=0,il=textures.length;i<il;i++)drawBuffers2[i]=gl.COLOR_ATTACHMENT0+i;drawBuffers2.length=textures.length,needsUpdate=!0;}}else drawBuffers2[0]!==gl.BACK&&(drawBuffers2[0]=gl.BACK,needsUpdate=!0);needsUpdate&&gl.drawBuffers(drawBuffers2);}function useProgram(program){return currentProgram!==program?(gl.useProgram(program),currentProgram=program,!0):!1;}let equationToGL={[AddEquation]:gl.FUNC_ADD,[SubtractEquation]:gl.FUNC_SUBTRACT,[ReverseSubtractEquation]:gl.FUNC_REVERSE_SUBTRACT};equationToGL[MinEquation]=gl.MIN,equationToGL[MaxEquation]=gl.MAX;let factorToGL={[ZeroFactor]:gl.ZERO,[OneFactor]:gl.ONE,[SrcColorFactor]:gl.SRC_COLOR,[SrcAlphaFactor]:gl.SRC_ALPHA,[SrcAlphaSaturateFactor]:gl.SRC_ALPHA_SATURATE,[DstColorFactor]:gl.DST_COLOR,[DstAlphaFactor]:gl.DST_ALPHA,[OneMinusSrcColorFactor]:gl.ONE_MINUS_SRC_COLOR,[OneMinusSrcAlphaFactor]:gl.ONE_MINUS_SRC_ALPHA,[OneMinusDstColorFactor]:gl.ONE_MINUS_DST_COLOR,[OneMinusDstAlphaFactor]:gl.ONE_MINUS_DST_ALPHA,[ConstantColorFactor]:gl.CONSTANT_COLOR,[OneMinusConstantColorFactor]:gl.ONE_MINUS_CONSTANT_COLOR,[ConstantAlphaFactor]:gl.CONSTANT_ALPHA,[OneMinusConstantAlphaFactor]:gl.ONE_MINUS_CONSTANT_ALPHA};function setBlending(blending,blendEquation,blendSrc,blendDst,blendEquationAlpha,blendSrcAlpha,blendDstAlpha,blendColor,blendAlpha,premultipliedAlpha){if(blending===NoBlending){currentBlendingEnabled===!0&&(disable(gl.BLEND),currentBlendingEnabled=!1);return;}if(currentBlendingEnabled===!1&&(enable(gl.BLEND),currentBlendingEnabled=!0),blending!==CustomBlending){if(blending!==currentBlending||premultipliedAlpha!==currentPremultipledAlpha){if((currentBlendEquation!==AddEquation||currentBlendEquationAlpha!==AddEquation)&&(gl.blendEquation(gl.FUNC_ADD),currentBlendEquation=AddEquation,currentBlendEquationAlpha=AddEquation),premultipliedAlpha)switch(blending){case NormalBlending:gl.blendFuncSeparate(gl.ONE,gl.ONE_MINUS_SRC_ALPHA,gl.ONE,gl.ONE_MINUS_SRC_ALPHA);break;case AdditiveBlending:gl.blendFunc(gl.ONE,gl.ONE);break;case SubtractiveBlending:gl.blendFuncSeparate(gl.ZERO,gl.ONE_MINUS_SRC_COLOR,gl.ZERO,gl.ONE);break;case MultiplyBlending:gl.blendFuncSeparate(gl.DST_COLOR,gl.ONE_MINUS_SRC_ALPHA,gl.ZERO,gl.ONE);break;default:error(\"WebGLState: Invalid blending: \",blending);break;}else switch(blending){case NormalBlending:gl.blendFuncSeparate(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA,gl.ONE,gl.ONE_MINUS_SRC_ALPHA);break;case AdditiveBlending:gl.blendFuncSeparate(gl.SRC_ALPHA,gl.ONE,gl.ONE,gl.ONE);break;case SubtractiveBlending:error(\"WebGLState: SubtractiveBlending requires material.premultipliedAlpha = true\");break;case MultiplyBlending:error(\"WebGLState: MultiplyBlending requires material.premultipliedAlpha = true\");break;default:error(\"WebGLState: Invalid blending: \",blending);break;}currentBlendSrc=null,currentBlendDst=null,currentBlendSrcAlpha=null,currentBlendDstAlpha=null,currentBlendColor.set(0,0,0),currentBlendAlpha=0,currentBlending=blending,currentPremultipledAlpha=premultipliedAlpha;}return;}blendEquationAlpha=blendEquationAlpha||blendEquation,blendSrcAlpha=blendSrcAlpha||blendSrc,blendDstAlpha=blendDstAlpha||blendDst,(blendEquation!==currentBlendEquation||blendEquationAlpha!==currentBlendEquationAlpha)&&(gl.blendEquationSeparate(equationToGL[blendEquation],equationToGL[blendEquationAlpha]),currentBlendEquation=blendEquation,currentBlendEquationAlpha=blendEquationAlpha),(blendSrc!==currentBlendSrc||blendDst!==currentBlendDst||blendSrcAlpha!==currentBlendSrcAlpha||blendDstAlpha!==currentBlendDstAlpha)&&(gl.blendFuncSeparate(factorToGL[blendSrc],factorToGL[blendDst],factorToGL[blendSrcAlpha],factorToGL[blendDstAlpha]),currentBlendSrc=blendSrc,currentBlendDst=blendDst,currentBlendSrcAlpha=blendSrcAlpha,currentBlendDstAlpha=blendDstAlpha),(blendColor.equals(currentBlendColor)===!1||blendAlpha!==currentBlendAlpha)&&(gl.blendColor(blendColor.r,blendColor.g,blendColor.b,blendAlpha),currentBlendColor.copy(blendColor),currentBlendAlpha=blendAlpha),currentBlending=blending,currentPremultipledAlpha=!1;}function setMaterial(material,frontFaceCW){material.side===DoubleSide?disable(gl.CULL_FACE):enable(gl.CULL_FACE);let flipSided=material.side===BackSide;frontFaceCW&&(flipSided=!flipSided),setFlipSided(flipSided),material.blending===NormalBlending&&material.transparent===!1?setBlending(NoBlending):setBlending(material.blending,material.blendEquation,material.blendSrc,material.blendDst,material.blendEquationAlpha,material.blendSrcAlpha,material.blendDstAlpha,material.blendColor,material.blendAlpha,material.premultipliedAlpha),depthBuffer.setFunc(material.depthFunc),depthBuffer.setTest(material.depthTest),depthBuffer.setMask(material.depthWrite),colorBuffer.setMask(material.colorWrite);let stencilWrite=material.stencilWrite;stencilBuffer.setTest(stencilWrite),stencilWrite&&(stencilBuffer.setMask(material.stencilWriteMask),stencilBuffer.setFunc(material.stencilFunc,material.stencilRef,material.stencilFuncMask),stencilBuffer.setOp(material.stencilFail,material.stencilZFail,material.stencilZPass)),setPolygonOffset(material.polygonOffset,material.polygonOffsetFactor,material.polygonOffsetUnits),material.alphaToCoverage===!0?enable(gl.SAMPLE_ALPHA_TO_COVERAGE):disable(gl.SAMPLE_ALPHA_TO_COVERAGE);}function setFlipSided(flipSided){currentFlipSided!==flipSided&&(flipSided?gl.frontFace(gl.CW):gl.frontFace(gl.CCW),currentFlipSided=flipSided);}function setCullFace(cullFace){cullFace!==CullFaceNone?(enable(gl.CULL_FACE),cullFace!==currentCullFace&&(cullFace===CullFaceBack?gl.cullFace(gl.BACK):cullFace===CullFaceFront?gl.cullFace(gl.FRONT):gl.cullFace(gl.FRONT_AND_BACK))):disable(gl.CULL_FACE),currentCullFace=cullFace;}function setLineWidth(width){width!==currentLineWidth&&(lineWidthAvailable&&gl.lineWidth(width),currentLineWidth=width);}function setPolygonOffset(polygonOffset,factor,units){polygonOffset?(enable(gl.POLYGON_OFFSET_FILL),(currentPolygonOffsetFactor!==factor||currentPolygonOffsetUnits!==units)&&(currentPolygonOffsetFactor=factor,currentPolygonOffsetUnits=units,depthBuffer.getReversed()&&(factor=-factor),gl.polygonOffset(factor,units))):disable(gl.POLYGON_OFFSET_FILL);}function setScissorTest(scissorTest){scissorTest?enable(gl.SCISSOR_TEST):disable(gl.SCISSOR_TEST);}function activeTexture(webglSlot){webglSlot===void 0&&(webglSlot=gl.TEXTURE0+maxTextures-1),currentTextureSlot!==webglSlot&&(gl.activeTexture(webglSlot),currentTextureSlot=webglSlot);}function bindTexture(webglType,webglTexture,webglSlot){webglSlot===void 0&&(currentTextureSlot===null?webglSlot=gl.TEXTURE0+maxTextures-1:webglSlot=currentTextureSlot);let boundTexture=currentBoundTextures[webglSlot];boundTexture===void 0&&(boundTexture={type:void 0,texture:void 0},currentBoundTextures[webglSlot]=boundTexture),(boundTexture.type!==webglType||boundTexture.texture!==webglTexture)&&(currentTextureSlot!==webglSlot&&(gl.activeTexture(webglSlot),currentTextureSlot=webglSlot),gl.bindTexture(webglType,webglTexture||emptyTextures[webglType]),boundTexture.type=webglType,boundTexture.texture=webglTexture);}function unbindTexture(){let boundTexture=currentBoundTextures[currentTextureSlot];boundTexture!==void 0&&boundTexture.type!==void 0&&(gl.bindTexture(boundTexture.type,null),boundTexture.type=void 0,boundTexture.texture=void 0);}function compressedTexImage2D(){try{gl.compressedTexImage2D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function compressedTexImage3D(){try{gl.compressedTexImage3D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function texSubImage2D(){try{gl.texSubImage2D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function texSubImage3D(){try{gl.texSubImage3D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function compressedTexSubImage2D(){try{gl.compressedTexSubImage2D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function compressedTexSubImage3D(){try{gl.compressedTexSubImage3D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function texStorage2D(){try{gl.texStorage2D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function texStorage3D(){try{gl.texStorage3D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function texImage2D(){try{gl.texImage2D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function texImage3D(){try{gl.texImage3D(...arguments);}catch(e){error(\"WebGLState:\",e);}}function getParameter(name){return parameters[name]!==void 0?parameters[name]:gl.getParameter(name);}function pixelStorei(name,value){parameters[name]!==value&&(gl.pixelStorei(name,value),parameters[name]=value);}function scissor(scissor2){currentScissor.equals(scissor2)===!1&&(gl.scissor(scissor2.x,scissor2.y,scissor2.z,scissor2.w),currentScissor.copy(scissor2));}function viewport(viewport2){currentViewport.equals(viewport2)===!1&&(gl.viewport(viewport2.x,viewport2.y,viewport2.z,viewport2.w),currentViewport.copy(viewport2));}function updateUBOMapping(uniformsGroup,program){let mapping=uboProgramMap.get(program);mapping===void 0&&(mapping=new WeakMap,uboProgramMap.set(program,mapping));let blockIndex=mapping.get(uniformsGroup);blockIndex===void 0&&(blockIndex=gl.getUniformBlockIndex(program,uniformsGroup.name),mapping.set(uniformsGroup,blockIndex));}function uniformBlockBinding(uniformsGroup,program){let blockIndex=uboProgramMap.get(program).get(uniformsGroup);uboBindings.get(program)!==blockIndex&&(gl.uniformBlockBinding(program,blockIndex,uniformsGroup.__bindingPointIndex),uboBindings.set(program,blockIndex));}function reset(){gl.disable(gl.BLEND),gl.disable(gl.CULL_FACE),gl.disable(gl.DEPTH_TEST),gl.disable(gl.POLYGON_OFFSET_FILL),gl.disable(gl.SCISSOR_TEST),gl.disable(gl.STENCIL_TEST),gl.disable(gl.SAMPLE_ALPHA_TO_COVERAGE),gl.blendEquation(gl.FUNC_ADD),gl.blendFunc(gl.ONE,gl.ZERO),gl.blendFuncSeparate(gl.ONE,gl.ZERO,gl.ONE,gl.ZERO),gl.blendColor(0,0,0,0),gl.colorMask(!0,!0,!0,!0),gl.clearColor(0,0,0,0),gl.depthMask(!0),gl.depthFunc(gl.LESS),depthBuffer.setReversed(!1),gl.clearDepth(1),gl.stencilMask(4294967295),gl.stencilFunc(gl.ALWAYS,0,4294967295),gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP),gl.clearStencil(0),gl.cullFace(gl.BACK),gl.frontFace(gl.CCW),gl.polygonOffset(0,0),gl.activeTexture(gl.TEXTURE0),gl.bindFramebuffer(gl.FRAMEBUFFER,null),gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER,null),gl.bindFramebuffer(gl.READ_FRAMEBUFFER,null),gl.useProgram(null),gl.lineWidth(1),gl.scissor(0,0,gl.canvas.width,gl.canvas.height),gl.viewport(0,0,gl.canvas.width,gl.canvas.height),gl.pixelStorei(gl.PACK_ALIGNMENT,4),gl.pixelStorei(gl.UNPACK_ALIGNMENT,4),gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL,!1),gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,gl.BROWSER_DEFAULT_WEBGL),gl.pixelStorei(gl.PACK_ROW_LENGTH,0),gl.pixelStorei(gl.PACK_SKIP_PIXELS,0),gl.pixelStorei(gl.PACK_SKIP_ROWS,0),gl.pixelStorei(gl.UNPACK_ROW_LENGTH,0),gl.pixelStorei(gl.UNPACK_IMAGE_HEIGHT,0),gl.pixelStorei(gl.UNPACK_SKIP_PIXELS,0),gl.pixelStorei(gl.UNPACK_SKIP_ROWS,0),gl.pixelStorei(gl.UNPACK_SKIP_IMAGES,0),enabledCapabilities={},parameters={},currentTextureSlot=null,currentBoundTextures={},currentBoundFramebuffers={},currentDrawbuffers=new WeakMap,defaultDrawbuffers=[],currentProgram=null,currentBlendingEnabled=!1,currentBlending=null,currentBlendEquation=null,currentBlendSrc=null,currentBlendDst=null,currentBlendEquationAlpha=null,currentBlendSrcAlpha=null,currentBlendDstAlpha=null,currentBlendColor=new Color(0,0,0),currentBlendAlpha=0,currentPremultipledAlpha=!1,currentFlipSided=null,currentCullFace=null,currentLineWidth=null,currentPolygonOffsetFactor=null,currentPolygonOffsetUnits=null,currentScissor.set(0,0,gl.canvas.width,gl.canvas.height),currentViewport.set(0,0,gl.canvas.width,gl.canvas.height),colorBuffer.reset(),depthBuffer.reset(),stencilBuffer.reset();}return{buffers:{color:colorBuffer,depth:depthBuffer,stencil:stencilBuffer},enable,disable,bindFramebuffer,drawBuffers,useProgram,setBlending,setMaterial,setFlipSided,setCullFace,setLineWidth,setPolygonOffset,setScissorTest,activeTexture,bindTexture,unbindTexture,compressedTexImage2D,compressedTexImage3D,texImage2D,texImage3D,pixelStorei,getParameter,updateUBOMapping,uniformBlockBinding,texStorage2D,texStorage3D,texSubImage2D,texSubImage3D,compressedTexSubImage2D,compressedTexSubImage3D,scissor,viewport,reset};}function WebGLTextures(_gl,extensions,state,properties,capabilities,utils,info){let multisampledRTTExt=extensions.has(\"WEBGL_multisampled_render_to_texture\")?extensions.get(\"WEBGL_multisampled_render_to_texture\"):null,supportsInvalidateFramebuffer=typeof navigator>\"u\"?!1:/OculusBrowser/g.test(navigator.userAgent),_imageDimensions=new Vector2,_videoTextures=new WeakMap,_htmlTextures=new Set,_canvas2,_sources=new WeakMap,useOffscreenCanvas=!1;try{useOffscreenCanvas=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")!==null;}catch{}function createCanvas(width,height){return useOffscreenCanvas?new OffscreenCanvas(width,height):createElementNS(\"canvas\");}function resizeImage(image,needsNewCanvas,maxSize){let scale=1,dimensions=getDimensions(image);if((dimensions.width>maxSize||dimensions.height>maxSize)&&(scale=maxSize/Math.max(dimensions.width,dimensions.height)),scale<1)if(typeof HTMLImageElement<\"u\"&&image instanceof HTMLImageElement||typeof HTMLCanvasElement<\"u\"&&image instanceof HTMLCanvasElement||typeof ImageBitmap<\"u\"&&image instanceof ImageBitmap||typeof VideoFrame<\"u\"&&image instanceof VideoFrame){let width=Math.floor(scale*dimensions.width),height=Math.floor(scale*dimensions.height);_canvas2===void 0&&(_canvas2=createCanvas(width,height));let canvas=needsNewCanvas?createCanvas(width,height):_canvas2;return canvas.width=width,canvas.height=height,canvas.getContext(\"2d\").drawImage(image,0,0,width,height),warn(\"WebGLRenderer: Texture has been resized from (\"+dimensions.width+\"x\"+dimensions.height+\") to (\"+width+\"x\"+height+\").\"),canvas;}else return\"data\"in image&&warn(\"WebGLRenderer: Image in DataTexture is too big (\"+dimensions.width+\"x\"+dimensions.height+\").\"),image;return image;}function textureNeedsGenerateMipmaps(texture){return texture.generateMipmaps;}function generateMipmap(target){_gl.generateMipmap(target);}function getTargetType(texture){return texture.isWebGLCubeRenderTarget?_gl.TEXTURE_CUBE_MAP:texture.isWebGL3DRenderTarget?_gl.TEXTURE_3D:texture.isWebGLArrayRenderTarget||texture.isCompressedArrayTexture?_gl.TEXTURE_2D_ARRAY:_gl.TEXTURE_2D;}function getInternalFormat(internalFormatName,glFormat,glType,normalized,colorSpace,forceLinearTransfer=!1){if(internalFormatName!==null){if(_gl[internalFormatName]!==void 0)return _gl[internalFormatName];warn(\"WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+internalFormatName+\"'\");}let ext_texture_norm16;normalized&&(ext_texture_norm16=extensions.get(\"EXT_texture_norm16\"),ext_texture_norm16||warn(\"WebGLRenderer: Unable to use normalized textures without EXT_texture_norm16 extension\"));let internalFormat=glFormat;if(glFormat===_gl.RED&&(glType===_gl.FLOAT&&(internalFormat=_gl.R32F),glType===_gl.HALF_FLOAT&&(internalFormat=_gl.R16F),glType===_gl.UNSIGNED_BYTE&&(internalFormat=_gl.R8),glType===_gl.UNSIGNED_SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.R16_EXT),glType===_gl.SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.R16_SNORM_EXT)),glFormat===_gl.RED_INTEGER&&(glType===_gl.UNSIGNED_BYTE&&(internalFormat=_gl.R8UI),glType===_gl.UNSIGNED_SHORT&&(internalFormat=_gl.R16UI),glType===_gl.UNSIGNED_INT&&(internalFormat=_gl.R32UI),glType===_gl.BYTE&&(internalFormat=_gl.R8I),glType===_gl.SHORT&&(internalFormat=_gl.R16I),glType===_gl.INT&&(internalFormat=_gl.R32I)),glFormat===_gl.RG&&(glType===_gl.FLOAT&&(internalFormat=_gl.RG32F),glType===_gl.HALF_FLOAT&&(internalFormat=_gl.RG16F),glType===_gl.UNSIGNED_BYTE&&(internalFormat=_gl.RG8),glType===_gl.UNSIGNED_SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.RG16_EXT),glType===_gl.SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.RG16_SNORM_EXT)),glFormat===_gl.RG_INTEGER&&(glType===_gl.UNSIGNED_BYTE&&(internalFormat=_gl.RG8UI),glType===_gl.UNSIGNED_SHORT&&(internalFormat=_gl.RG16UI),glType===_gl.UNSIGNED_INT&&(internalFormat=_gl.RG32UI),glType===_gl.BYTE&&(internalFormat=_gl.RG8I),glType===_gl.SHORT&&(internalFormat=_gl.RG16I),glType===_gl.INT&&(internalFormat=_gl.RG32I)),glFormat===_gl.RGB_INTEGER&&(glType===_gl.UNSIGNED_BYTE&&(internalFormat=_gl.RGB8UI),glType===_gl.UNSIGNED_SHORT&&(internalFormat=_gl.RGB16UI),glType===_gl.UNSIGNED_INT&&(internalFormat=_gl.RGB32UI),glType===_gl.BYTE&&(internalFormat=_gl.RGB8I),glType===_gl.SHORT&&(internalFormat=_gl.RGB16I),glType===_gl.INT&&(internalFormat=_gl.RGB32I)),glFormat===_gl.RGBA_INTEGER&&(glType===_gl.UNSIGNED_BYTE&&(internalFormat=_gl.RGBA8UI),glType===_gl.UNSIGNED_SHORT&&(internalFormat=_gl.RGBA16UI),glType===_gl.UNSIGNED_INT&&(internalFormat=_gl.RGBA32UI),glType===_gl.BYTE&&(internalFormat=_gl.RGBA8I),glType===_gl.SHORT&&(internalFormat=_gl.RGBA16I),glType===_gl.INT&&(internalFormat=_gl.RGBA32I)),glFormat===_gl.RGB&&(glType===_gl.UNSIGNED_SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.RGB16_EXT),glType===_gl.SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.RGB16_SNORM_EXT),glType===_gl.UNSIGNED_INT_5_9_9_9_REV&&(internalFormat=_gl.RGB9_E5),glType===_gl.UNSIGNED_INT_10F_11F_11F_REV&&(internalFormat=_gl.R11F_G11F_B10F)),glFormat===_gl.RGBA){let transfer=forceLinearTransfer?LinearTransfer:ColorManagement.getTransfer(colorSpace);glType===_gl.FLOAT&&(internalFormat=_gl.RGBA32F),glType===_gl.HALF_FLOAT&&(internalFormat=_gl.RGBA16F),glType===_gl.UNSIGNED_BYTE&&(internalFormat=transfer===SRGBTransfer?_gl.SRGB8_ALPHA8:_gl.RGBA8),glType===_gl.UNSIGNED_SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.RGBA16_EXT),glType===_gl.SHORT&&ext_texture_norm16&&(internalFormat=ext_texture_norm16.RGBA16_SNORM_EXT),glType===_gl.UNSIGNED_SHORT_4_4_4_4&&(internalFormat=_gl.RGBA4),glType===_gl.UNSIGNED_SHORT_5_5_5_1&&(internalFormat=_gl.RGB5_A1);}return(internalFormat===_gl.R16F||internalFormat===_gl.R32F||internalFormat===_gl.RG16F||internalFormat===_gl.RG32F||internalFormat===_gl.RGBA16F||internalFormat===_gl.RGBA32F)&&extensions.get(\"EXT_color_buffer_float\"),internalFormat;}function getInternalDepthFormat(useStencil,depthType){let glInternalFormat;return useStencil?depthType===null||depthType===UnsignedIntType||depthType===UnsignedInt248Type?glInternalFormat=_gl.DEPTH24_STENCIL8:depthType===FloatType?glInternalFormat=_gl.DEPTH32F_STENCIL8:depthType===UnsignedShortType&&(glInternalFormat=_gl.DEPTH24_STENCIL8,warn(\"DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.\")):depthType===null||depthType===UnsignedIntType||depthType===UnsignedInt248Type?glInternalFormat=_gl.DEPTH_COMPONENT24:depthType===FloatType?glInternalFormat=_gl.DEPTH_COMPONENT32F:depthType===UnsignedShortType&&(glInternalFormat=_gl.DEPTH_COMPONENT16),glInternalFormat;}function getMipLevels(texture,image){return textureNeedsGenerateMipmaps(texture)===!0||texture.isFramebufferTexture&&texture.minFilter!==NearestFilter&&texture.minFilter!==LinearFilter?Math.log2(Math.max(image.width,image.height))+1:texture.mipmaps!==void 0&&texture.mipmaps.length>0?texture.mipmaps.length:texture.isCompressedTexture&&Array.isArray(texture.image)?image.mipmaps.length:1;}function onTextureDispose(event){let texture=event.target;texture.removeEventListener(\"dispose\",onTextureDispose),deallocateTexture(texture),texture.isVideoTexture&&_videoTextures.delete(texture),texture.isHTMLTexture&&_htmlTextures.delete(texture);}function onRenderTargetDispose(event){let renderTarget=event.target;renderTarget.removeEventListener(\"dispose\",onRenderTargetDispose),deallocateRenderTarget(renderTarget);}function deallocateTexture(texture){let textureProperties=properties.get(texture);if(textureProperties.__webglInit===void 0)return;let source=texture.source,webglTextures=_sources.get(source);if(webglTextures){let webglTexture=webglTextures[textureProperties.__cacheKey];webglTexture.usedTimes--,webglTexture.usedTimes===0&&deleteTexture(texture),Object.keys(webglTextures).length===0&&_sources.delete(source);}properties.remove(texture);}function deleteTexture(texture){let textureProperties=properties.get(texture);_gl.deleteTexture(textureProperties.__webglTexture);let source=texture.source,webglTextures=_sources.get(source);delete webglTextures[textureProperties.__cacheKey],info.memory.textures--;}function deallocateRenderTarget(renderTarget){let renderTargetProperties=properties.get(renderTarget);if(renderTarget.depthTexture&&(renderTarget.depthTexture.dispose(),properties.remove(renderTarget.depthTexture)),renderTarget.isWebGLCubeRenderTarget)for(let i=0;i<6;i++){if(Array.isArray(renderTargetProperties.__webglFramebuffer[i]))for(let level=0;level<renderTargetProperties.__webglFramebuffer[i].length;level++)_gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i][level]);else _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i]);renderTargetProperties.__webglDepthbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer[i]);}else{if(Array.isArray(renderTargetProperties.__webglFramebuffer))for(let level=0;level<renderTargetProperties.__webglFramebuffer.length;level++)_gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[level]);else _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer);if(renderTargetProperties.__webglDepthbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer),renderTargetProperties.__webglMultisampledFramebuffer&&_gl.deleteFramebuffer(renderTargetProperties.__webglMultisampledFramebuffer),renderTargetProperties.__webglColorRenderbuffer)for(let i=0;i<renderTargetProperties.__webglColorRenderbuffer.length;i++)renderTargetProperties.__webglColorRenderbuffer[i]&&_gl.deleteRenderbuffer(renderTargetProperties.__webglColorRenderbuffer[i]);renderTargetProperties.__webglDepthRenderbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglDepthRenderbuffer);}let textures=renderTarget.textures;for(let i=0,il=textures.length;i<il;i++){let attachmentProperties=properties.get(textures[i]);attachmentProperties.__webglTexture&&(_gl.deleteTexture(attachmentProperties.__webglTexture),info.memory.textures--),properties.remove(textures[i]);}properties.remove(renderTarget);}let textureUnits=0;function resetTextureUnits(){textureUnits=0;}function getTextureUnits(){return textureUnits;}function setTextureUnits(value){textureUnits=value;}function allocateTextureUnit(){let textureUnit=textureUnits;return textureUnit>=capabilities.maxTextures&&warn(\"WebGLTextures: Trying to use \"+(textureUnit+1)+\" texture units while this GPU supports only \"+capabilities.maxTextures),textureUnits+=1,textureUnit;}function getTextureCacheKey(texture){let array=[];return array.push(texture.wrapS),array.push(texture.wrapT),array.push(texture.wrapR||0),array.push(texture.magFilter),array.push(texture.minFilter),array.push(texture.anisotropy),array.push(texture.internalFormat),array.push(texture.format),array.push(texture.type),array.push(texture.generateMipmaps),array.push(texture.premultiplyAlpha),array.push(texture.flipY),array.push(texture.unpackAlignment),array.push(texture.colorSpace),array.join();}function setTexture2D(texture,slot){let textureProperties=properties.get(texture);if(texture.isVideoTexture&&updateVideoTexture(texture),texture.isRenderTargetTexture===!1&&texture.isExternalTexture!==!0&&texture.version>0&&textureProperties.__version!==texture.version){let image=texture.image;if(image===null)warn(\"WebGLRenderer: Texture marked for update but no image data found.\");else if(image.complete===!1)warn(\"WebGLRenderer: Texture marked for update but image is incomplete\");else{uploadTexture(textureProperties,texture,slot);return;}}else texture.isExternalTexture&&(textureProperties.__webglTexture=texture.sourceTexture?texture.sourceTexture:null);state.bindTexture(_gl.TEXTURE_2D,textureProperties.__webglTexture,_gl.TEXTURE0+slot);}function setTexture2DArray(texture,slot){let textureProperties=properties.get(texture);if(texture.isRenderTargetTexture===!1&&texture.version>0&&textureProperties.__version!==texture.version){uploadTexture(textureProperties,texture,slot);return;}else texture.isExternalTexture&&(textureProperties.__webglTexture=texture.sourceTexture?texture.sourceTexture:null);state.bindTexture(_gl.TEXTURE_2D_ARRAY,textureProperties.__webglTexture,_gl.TEXTURE0+slot);}function setTexture3D(texture,slot){let textureProperties=properties.get(texture);if(texture.isRenderTargetTexture===!1&&texture.version>0&&textureProperties.__version!==texture.version){uploadTexture(textureProperties,texture,slot);return;}state.bindTexture(_gl.TEXTURE_3D,textureProperties.__webglTexture,_gl.TEXTURE0+slot);}function setTextureCube(texture,slot){let textureProperties=properties.get(texture);if(texture.isCubeDepthTexture!==!0&&texture.version>0&&textureProperties.__version!==texture.version){uploadCubeTexture(textureProperties,texture,slot);return;}state.bindTexture(_gl.TEXTURE_CUBE_MAP,textureProperties.__webglTexture,_gl.TEXTURE0+slot);}let wrappingToGL={[RepeatWrapping]:_gl.REPEAT,[ClampToEdgeWrapping]:_gl.CLAMP_TO_EDGE,[MirroredRepeatWrapping]:_gl.MIRRORED_REPEAT},filterToGL={[NearestFilter]:_gl.NEAREST,[NearestMipmapNearestFilter]:_gl.NEAREST_MIPMAP_NEAREST,[NearestMipmapLinearFilter]:_gl.NEAREST_MIPMAP_LINEAR,[LinearFilter]:_gl.LINEAR,[LinearMipmapNearestFilter]:_gl.LINEAR_MIPMAP_NEAREST,[LinearMipmapLinearFilter]:_gl.LINEAR_MIPMAP_LINEAR},compareToGL={[NeverCompare]:_gl.NEVER,[AlwaysCompare]:_gl.ALWAYS,[LessCompare]:_gl.LESS,[LessEqualCompare]:_gl.LEQUAL,[EqualCompare]:_gl.EQUAL,[GreaterEqualCompare]:_gl.GEQUAL,[GreaterCompare]:_gl.GREATER,[NotEqualCompare]:_gl.NOTEQUAL};function setTextureParameters(textureType,texture){if(texture.type===FloatType&&extensions.has(\"OES_texture_float_linear\")===!1&&(texture.magFilter===LinearFilter||texture.magFilter===LinearMipmapNearestFilter||texture.magFilter===NearestMipmapLinearFilter||texture.magFilter===LinearMipmapLinearFilter||texture.minFilter===LinearFilter||texture.minFilter===LinearMipmapNearestFilter||texture.minFilter===NearestMipmapLinearFilter||texture.minFilter===LinearMipmapLinearFilter)&&warn(\"WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.\"),_gl.texParameteri(textureType,_gl.TEXTURE_WRAP_S,wrappingToGL[texture.wrapS]),_gl.texParameteri(textureType,_gl.TEXTURE_WRAP_T,wrappingToGL[texture.wrapT]),(textureType===_gl.TEXTURE_3D||textureType===_gl.TEXTURE_2D_ARRAY)&&_gl.texParameteri(textureType,_gl.TEXTURE_WRAP_R,wrappingToGL[texture.wrapR]),_gl.texParameteri(textureType,_gl.TEXTURE_MAG_FILTER,filterToGL[texture.magFilter]),_gl.texParameteri(textureType,_gl.TEXTURE_MIN_FILTER,filterToGL[texture.minFilter]),texture.compareFunction&&(_gl.texParameteri(textureType,_gl.TEXTURE_COMPARE_MODE,_gl.COMPARE_REF_TO_TEXTURE),_gl.texParameteri(textureType,_gl.TEXTURE_COMPARE_FUNC,compareToGL[texture.compareFunction])),extensions.has(\"EXT_texture_filter_anisotropic\")===!0){if(texture.magFilter===NearestFilter||texture.minFilter!==NearestMipmapLinearFilter&&texture.minFilter!==LinearMipmapLinearFilter||texture.type===FloatType&&extensions.has(\"OES_texture_float_linear\")===!1)return;if(texture.anisotropy>1||properties.get(texture).__currentAnisotropy){let extension=extensions.get(\"EXT_texture_filter_anisotropic\");_gl.texParameterf(textureType,extension.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(texture.anisotropy,capabilities.getMaxAnisotropy())),properties.get(texture).__currentAnisotropy=texture.anisotropy;}}}function initTexture(textureProperties,texture){let forceUpload=!1;textureProperties.__webglInit===void 0&&(textureProperties.__webglInit=!0,texture.addEventListener(\"dispose\",onTextureDispose));let source=texture.source,webglTextures=_sources.get(source);webglTextures===void 0&&(webglTextures={},_sources.set(source,webglTextures));let textureCacheKey=getTextureCacheKey(texture);if(textureCacheKey!==textureProperties.__cacheKey){webglTextures[textureCacheKey]===void 0&&(webglTextures[textureCacheKey]={texture:_gl.createTexture(),usedTimes:0},info.memory.textures++,forceUpload=!0),webglTextures[textureCacheKey].usedTimes++;let webglTexture=webglTextures[textureProperties.__cacheKey];webglTexture!==void 0&&(webglTextures[textureProperties.__cacheKey].usedTimes--,webglTexture.usedTimes===0&&deleteTexture(texture)),textureProperties.__cacheKey=textureCacheKey,textureProperties.__webglTexture=webglTextures[textureCacheKey].texture;}return forceUpload;}function getRow(index,rowLength,componentStride){return Math.floor(Math.floor(index/componentStride)/rowLength);}function updateTexture(texture,image,glFormat,glType){let updateRanges=texture.updateRanges;if(updateRanges.length===0)state.texSubImage2D(_gl.TEXTURE_2D,0,0,0,image.width,image.height,glFormat,glType,image.data);else{updateRanges.sort((a,b)=>a.start-b.start);let mergeIndex=0;for(let i=1;i<updateRanges.length;i++){let previousRange=updateRanges[mergeIndex],range=updateRanges[i],previousEnd=previousRange.start+previousRange.count,currentRow=getRow(range.start,image.width,4),previousRow=getRow(previousRange.start,image.width,4);range.start<=previousEnd+1&&currentRow===previousRow&&getRow(range.start+range.count-1,image.width,4)===currentRow?previousRange.count=Math.max(previousRange.count,range.start+range.count-previousRange.start):(++mergeIndex,updateRanges[mergeIndex]=range);}updateRanges.length=mergeIndex+1;let currentUnpackRowLen=state.getParameter(_gl.UNPACK_ROW_LENGTH),currentUnpackSkipPixels=state.getParameter(_gl.UNPACK_SKIP_PIXELS),currentUnpackSkipRows=state.getParameter(_gl.UNPACK_SKIP_ROWS);state.pixelStorei(_gl.UNPACK_ROW_LENGTH,image.width);for(let i=0,l=updateRanges.length;i<l;i++){let range=updateRanges[i],pixelStart=Math.floor(range.start/4),pixelCount=Math.ceil(range.count/4),x=pixelStart%image.width,y=Math.floor(pixelStart/image.width),width=pixelCount,height=1;state.pixelStorei(_gl.UNPACK_SKIP_PIXELS,x),state.pixelStorei(_gl.UNPACK_SKIP_ROWS,y),state.texSubImage2D(_gl.TEXTURE_2D,0,x,y,width,height,glFormat,glType,image.data);}texture.clearUpdateRanges(),state.pixelStorei(_gl.UNPACK_ROW_LENGTH,currentUnpackRowLen),state.pixelStorei(_gl.UNPACK_SKIP_PIXELS,currentUnpackSkipPixels),state.pixelStorei(_gl.UNPACK_SKIP_ROWS,currentUnpackSkipRows);}}function uploadTexture(textureProperties,texture,slot){let textureType=_gl.TEXTURE_2D;(texture.isDataArrayTexture||texture.isCompressedArrayTexture)&&(textureType=_gl.TEXTURE_2D_ARRAY),texture.isData3DTexture&&(textureType=_gl.TEXTURE_3D);let forceUpload=initTexture(textureProperties,texture),source=texture.source;state.bindTexture(textureType,textureProperties.__webglTexture,_gl.TEXTURE0+slot);let sourceProperties=properties.get(source);if(source.version!==sourceProperties.__version||forceUpload===!0){if(state.activeTexture(_gl.TEXTURE0+slot),(typeof ImageBitmap<\"u\"&&texture.image instanceof ImageBitmap)===!1){let workingPrimaries=ColorManagement.getPrimaries(ColorManagement.workingColorSpace),texturePrimaries=texture.colorSpace===NoColorSpace?null:ColorManagement.getPrimaries(texture.colorSpace),unpackConversion=texture.colorSpace===NoColorSpace||workingPrimaries===texturePrimaries?_gl.NONE:_gl.BROWSER_DEFAULT_WEBGL;state.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL,texture.flipY),state.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,texture.premultiplyAlpha),state.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,unpackConversion);}state.pixelStorei(_gl.UNPACK_ALIGNMENT,texture.unpackAlignment);let image=resizeImage(texture.image,!1,capabilities.maxTextureSize);image=verifyColorSpace(texture,image);let glFormat=utils.convert(texture.format,texture.colorSpace),glType=utils.convert(texture.type),glInternalFormat=getInternalFormat(texture.internalFormat,glFormat,glType,texture.normalized,texture.colorSpace,texture.isVideoTexture);setTextureParameters(textureType,texture);let mipmap,mipmaps=texture.mipmaps,useTexStorage=texture.isVideoTexture!==!0,allocateMemory=sourceProperties.__version===void 0||forceUpload===!0,dataReady=source.dataReady,levels=getMipLevels(texture,image);if(texture.isDepthTexture)glInternalFormat=getInternalDepthFormat(texture.format===DepthStencilFormat,texture.type),allocateMemory&&(useTexStorage?state.texStorage2D(_gl.TEXTURE_2D,1,glInternalFormat,image.width,image.height):state.texImage2D(_gl.TEXTURE_2D,0,glInternalFormat,image.width,image.height,0,glFormat,glType,null));else if(texture.isDataTexture)if(mipmaps.length>0){useTexStorage&&allocateMemory&&state.texStorage2D(_gl.TEXTURE_2D,levels,glInternalFormat,mipmaps[0].width,mipmaps[0].height);for(let i=0,il=mipmaps.length;i<il;i++)mipmap=mipmaps[i],useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_2D,i,0,0,mipmap.width,mipmap.height,glFormat,glType,mipmap.data):state.texImage2D(_gl.TEXTURE_2D,i,glInternalFormat,mipmap.width,mipmap.height,0,glFormat,glType,mipmap.data);texture.generateMipmaps=!1;}else useTexStorage?(allocateMemory&&state.texStorage2D(_gl.TEXTURE_2D,levels,glInternalFormat,image.width,image.height),dataReady&&updateTexture(texture,image,glFormat,glType)):state.texImage2D(_gl.TEXTURE_2D,0,glInternalFormat,image.width,image.height,0,glFormat,glType,image.data);else if(texture.isCompressedTexture)if(texture.isCompressedArrayTexture){useTexStorage&&allocateMemory&&state.texStorage3D(_gl.TEXTURE_2D_ARRAY,levels,glInternalFormat,mipmaps[0].width,mipmaps[0].height,image.depth);for(let i=0,il=mipmaps.length;i<il;i++)if(mipmap=mipmaps[i],texture.format!==RGBAFormat)if(glFormat!==null)if(useTexStorage){if(dataReady)if(texture.layerUpdates.size>0){let layerByteLength=getByteLength(mipmap.width,mipmap.height,texture.format,texture.type);for(let layerIndex of texture.layerUpdates){let layerData=mipmap.data.subarray(layerIndex*layerByteLength/mipmap.data.BYTES_PER_ELEMENT,(layerIndex+1)*layerByteLength/mipmap.data.BYTES_PER_ELEMENT);state.compressedTexSubImage3D(_gl.TEXTURE_2D_ARRAY,i,0,0,layerIndex,mipmap.width,mipmap.height,1,glFormat,layerData);}}else state.compressedTexSubImage3D(_gl.TEXTURE_2D_ARRAY,i,0,0,0,mipmap.width,mipmap.height,image.depth,glFormat,mipmap.data);}else state.compressedTexImage3D(_gl.TEXTURE_2D_ARRAY,i,glInternalFormat,mipmap.width,mipmap.height,image.depth,0,mipmap.data,0,0);else warn(\"WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\");else useTexStorage?dataReady&&state.texSubImage3D(_gl.TEXTURE_2D_ARRAY,i,0,0,0,mipmap.width,mipmap.height,image.depth,glFormat,glType,mipmap.data):state.texImage3D(_gl.TEXTURE_2D_ARRAY,i,glInternalFormat,mipmap.width,mipmap.height,image.depth,0,glFormat,glType,mipmap.data);texture.layerUpdates.size>0&&texture.clearLayerUpdates();}else{useTexStorage&&allocateMemory&&state.texStorage2D(_gl.TEXTURE_2D,levels,glInternalFormat,mipmaps[0].width,mipmaps[0].height);for(let i=0,il=mipmaps.length;i<il;i++)mipmap=mipmaps[i],texture.format!==RGBAFormat?glFormat!==null?useTexStorage?dataReady&&state.compressedTexSubImage2D(_gl.TEXTURE_2D,i,0,0,mipmap.width,mipmap.height,glFormat,mipmap.data):state.compressedTexImage2D(_gl.TEXTURE_2D,i,glInternalFormat,mipmap.width,mipmap.height,0,mipmap.data):warn(\"WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_2D,i,0,0,mipmap.width,mipmap.height,glFormat,glType,mipmap.data):state.texImage2D(_gl.TEXTURE_2D,i,glInternalFormat,mipmap.width,mipmap.height,0,glFormat,glType,mipmap.data);}else if(texture.isDataArrayTexture)if(useTexStorage){if(allocateMemory&&state.texStorage3D(_gl.TEXTURE_2D_ARRAY,levels,glInternalFormat,image.width,image.height,image.depth),dataReady)if(texture.layerUpdates.size>0){let layerByteLength=getByteLength(image.width,image.height,texture.format,texture.type);for(let layerIndex of texture.layerUpdates){let layerData=image.data.subarray(layerIndex*layerByteLength/image.data.BYTES_PER_ELEMENT,(layerIndex+1)*layerByteLength/image.data.BYTES_PER_ELEMENT);state.texSubImage3D(_gl.TEXTURE_2D_ARRAY,0,0,0,layerIndex,image.width,image.height,1,glFormat,glType,layerData);}texture.clearLayerUpdates();}else state.texSubImage3D(_gl.TEXTURE_2D_ARRAY,0,0,0,0,image.width,image.height,image.depth,glFormat,glType,image.data);}else state.texImage3D(_gl.TEXTURE_2D_ARRAY,0,glInternalFormat,image.width,image.height,image.depth,0,glFormat,glType,image.data);else if(texture.isData3DTexture)useTexStorage?(allocateMemory&&state.texStorage3D(_gl.TEXTURE_3D,levels,glInternalFormat,image.width,image.height,image.depth),dataReady&&state.texSubImage3D(_gl.TEXTURE_3D,0,0,0,0,image.width,image.height,image.depth,glFormat,glType,image.data)):state.texImage3D(_gl.TEXTURE_3D,0,glInternalFormat,image.width,image.height,image.depth,0,glFormat,glType,image.data);else if(texture.isFramebufferTexture){if(allocateMemory)if(useTexStorage)state.texStorage2D(_gl.TEXTURE_2D,levels,glInternalFormat,image.width,image.height);else{let width=image.width,height=image.height;for(let i=0;i<levels;i++)state.texImage2D(_gl.TEXTURE_2D,i,glInternalFormat,width,height,0,glFormat,glType,null),width>>=1,height>>=1;}}else if(texture.isHTMLTexture){if(\"texElementImage2D\"in _gl){let canvas=_gl.canvas;if(canvas.hasAttribute(\"layoutsubtree\")||canvas.setAttribute(\"layoutsubtree\",\"true\"),image.parentNode!==canvas){canvas.appendChild(image),_htmlTextures.add(texture),canvas.onpaint=event=>{let changed=event.changedElements;for(let t of _htmlTextures)changed.includes(t.image)&&(t.needsUpdate=!0);},canvas.requestPaint();return;}if(_gl.texElementImage2D.length===3)_gl.texElementImage2D(_gl.TEXTURE_2D,_gl.RGBA8,image);else{let internalFormat=_gl.RGBA,srcFormat=_gl.RGBA,srcType=_gl.UNSIGNED_BYTE;_gl.texElementImage2D(_gl.TEXTURE_2D,0,internalFormat,srcFormat,srcType,image);}_gl.texParameteri(_gl.TEXTURE_2D,_gl.TEXTURE_MIN_FILTER,_gl.LINEAR),_gl.texParameteri(_gl.TEXTURE_2D,_gl.TEXTURE_WRAP_S,_gl.CLAMP_TO_EDGE),_gl.texParameteri(_gl.TEXTURE_2D,_gl.TEXTURE_WRAP_T,_gl.CLAMP_TO_EDGE);}}else if(mipmaps.length>0){if(useTexStorage&&allocateMemory){let dimensions=getDimensions(mipmaps[0]);state.texStorage2D(_gl.TEXTURE_2D,levels,glInternalFormat,dimensions.width,dimensions.height);}for(let i=0,il=mipmaps.length;i<il;i++)mipmap=mipmaps[i],useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_2D,i,0,0,glFormat,glType,mipmap):state.texImage2D(_gl.TEXTURE_2D,i,glInternalFormat,glFormat,glType,mipmap);texture.generateMipmaps=!1;}else if(useTexStorage){if(allocateMemory){let dimensions=getDimensions(image);state.texStorage2D(_gl.TEXTURE_2D,levels,glInternalFormat,dimensions.width,dimensions.height);}dataReady&&state.texSubImage2D(_gl.TEXTURE_2D,0,0,0,glFormat,glType,image);}else state.texImage2D(_gl.TEXTURE_2D,0,glInternalFormat,glFormat,glType,image);textureNeedsGenerateMipmaps(texture)&&generateMipmap(textureType),sourceProperties.__version=source.version,texture.onUpdate&&texture.onUpdate(texture);}textureProperties.__version=texture.version;}function uploadCubeTexture(textureProperties,texture,slot){if(texture.image.length!==6)return;let forceUpload=initTexture(textureProperties,texture),source=texture.source;state.bindTexture(_gl.TEXTURE_CUBE_MAP,textureProperties.__webglTexture,_gl.TEXTURE0+slot);let sourceProperties=properties.get(source);if(source.version!==sourceProperties.__version||forceUpload===!0){state.activeTexture(_gl.TEXTURE0+slot);let workingPrimaries=ColorManagement.getPrimaries(ColorManagement.workingColorSpace),texturePrimaries=texture.colorSpace===NoColorSpace?null:ColorManagement.getPrimaries(texture.colorSpace),unpackConversion=texture.colorSpace===NoColorSpace||workingPrimaries===texturePrimaries?_gl.NONE:_gl.BROWSER_DEFAULT_WEBGL;state.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL,texture.flipY),state.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,texture.premultiplyAlpha),state.pixelStorei(_gl.UNPACK_ALIGNMENT,texture.unpackAlignment),state.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,unpackConversion);let isCompressed=texture.isCompressedTexture||texture.image[0].isCompressedTexture,isDataTexture=texture.image[0]&&texture.image[0].isDataTexture,cubeImage=[];for(let i=0;i<6;i++)!isCompressed&&!isDataTexture?cubeImage[i]=resizeImage(texture.image[i],!0,capabilities.maxCubemapSize):cubeImage[i]=isDataTexture?texture.image[i].image:texture.image[i],cubeImage[i]=verifyColorSpace(texture,cubeImage[i]);let image=cubeImage[0],glFormat=utils.convert(texture.format,texture.colorSpace),glType=utils.convert(texture.type),glInternalFormat=getInternalFormat(texture.internalFormat,glFormat,glType,texture.normalized,texture.colorSpace),useTexStorage=texture.isVideoTexture!==!0,allocateMemory=sourceProperties.__version===void 0||forceUpload===!0,dataReady=source.dataReady,levels=getMipLevels(texture,image);setTextureParameters(_gl.TEXTURE_CUBE_MAP,texture);let mipmaps;if(isCompressed){useTexStorage&&allocateMemory&&state.texStorage2D(_gl.TEXTURE_CUBE_MAP,levels,glInternalFormat,image.width,image.height);for(let i=0;i<6;i++){mipmaps=cubeImage[i].mipmaps;for(let j=0;j<mipmaps.length;j++){let mipmap=mipmaps[j];texture.format!==RGBAFormat?glFormat!==null?useTexStorage?dataReady&&state.compressedTexSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j,0,0,mipmap.width,mipmap.height,glFormat,mipmap.data):state.compressedTexImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j,glInternalFormat,mipmap.width,mipmap.height,0,mipmap.data):warn(\"WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j,0,0,mipmap.width,mipmap.height,glFormat,glType,mipmap.data):state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j,glInternalFormat,mipmap.width,mipmap.height,0,glFormat,glType,mipmap.data);}}}else{if(mipmaps=texture.mipmaps,useTexStorage&&allocateMemory){mipmaps.length>0&&levels++;let dimensions=getDimensions(cubeImage[0]);state.texStorage2D(_gl.TEXTURE_CUBE_MAP,levels,glInternalFormat,dimensions.width,dimensions.height);}for(let i=0;i<6;i++)if(isDataTexture){useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,0,0,0,cubeImage[i].width,cubeImage[i].height,glFormat,glType,cubeImage[i].data):state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,0,glInternalFormat,cubeImage[i].width,cubeImage[i].height,0,glFormat,glType,cubeImage[i].data);for(let j=0;j<mipmaps.length;j++){let mipmapImage=mipmaps[j].image[i].image;useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j+1,0,0,mipmapImage.width,mipmapImage.height,glFormat,glType,mipmapImage.data):state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j+1,glInternalFormat,mipmapImage.width,mipmapImage.height,0,glFormat,glType,mipmapImage.data);}}else{useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,0,0,0,glFormat,glType,cubeImage[i]):state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,0,glInternalFormat,glFormat,glType,cubeImage[i]);for(let j=0;j<mipmaps.length;j++){let mipmap=mipmaps[j];useTexStorage?dataReady&&state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j+1,0,0,glFormat,glType,mipmap.image[i]):state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,j+1,glInternalFormat,glFormat,glType,mipmap.image[i]);}}}textureNeedsGenerateMipmaps(texture)&&generateMipmap(_gl.TEXTURE_CUBE_MAP),sourceProperties.__version=source.version,texture.onUpdate&&texture.onUpdate(texture);}textureProperties.__version=texture.version;}function setupFrameBufferTexture(framebuffer,renderTarget,texture,attachment,textureTarget,level){let glFormat=utils.convert(texture.format,texture.colorSpace),glType=utils.convert(texture.type),glInternalFormat=getInternalFormat(texture.internalFormat,glFormat,glType,texture.normalized,texture.colorSpace),renderTargetProperties=properties.get(renderTarget),textureProperties=properties.get(texture);if(textureProperties.__renderTarget=renderTarget,!renderTargetProperties.__hasExternalTextures){let width=Math.max(1,renderTarget.width>>level),height=Math.max(1,renderTarget.height>>level);textureTarget===_gl.TEXTURE_3D||textureTarget===_gl.TEXTURE_2D_ARRAY?state.texImage3D(textureTarget,level,glInternalFormat,width,height,renderTarget.depth,0,glFormat,glType,null):state.texImage2D(textureTarget,level,glInternalFormat,width,height,0,glFormat,glType,null);}state.bindFramebuffer(_gl.FRAMEBUFFER,framebuffer),useMultisampledRTT(renderTarget)?multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER,attachment,textureTarget,textureProperties.__webglTexture,0,getRenderTargetSamples(renderTarget)):(textureTarget===_gl.TEXTURE_2D||textureTarget>=_gl.TEXTURE_CUBE_MAP_POSITIVE_X&&textureTarget<=_gl.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&_gl.framebufferTexture2D(_gl.FRAMEBUFFER,attachment,textureTarget,textureProperties.__webglTexture,level),state.bindFramebuffer(_gl.FRAMEBUFFER,null);}function setupRenderBufferStorage(renderbuffer,renderTarget,useMultisample){if(_gl.bindRenderbuffer(_gl.RENDERBUFFER,renderbuffer),renderTarget.depthBuffer){let depthTexture=renderTarget.depthTexture,depthType=depthTexture&&depthTexture.isDepthTexture?depthTexture.type:null,glInternalFormat=getInternalDepthFormat(renderTarget.stencilBuffer,depthType),glAttachmentType=renderTarget.stencilBuffer?_gl.DEPTH_STENCIL_ATTACHMENT:_gl.DEPTH_ATTACHMENT;useMultisampledRTT(renderTarget)?multisampledRTTExt.renderbufferStorageMultisampleEXT(_gl.RENDERBUFFER,getRenderTargetSamples(renderTarget),glInternalFormat,renderTarget.width,renderTarget.height):useMultisample?_gl.renderbufferStorageMultisample(_gl.RENDERBUFFER,getRenderTargetSamples(renderTarget),glInternalFormat,renderTarget.width,renderTarget.height):_gl.renderbufferStorage(_gl.RENDERBUFFER,glInternalFormat,renderTarget.width,renderTarget.height),_gl.framebufferRenderbuffer(_gl.FRAMEBUFFER,glAttachmentType,_gl.RENDERBUFFER,renderbuffer);}else{let textures=renderTarget.textures;for(let i=0;i<textures.length;i++){let texture=textures[i],glFormat=utils.convert(texture.format,texture.colorSpace),glType=utils.convert(texture.type),glInternalFormat=getInternalFormat(texture.internalFormat,glFormat,glType,texture.normalized,texture.colorSpace);useMultisampledRTT(renderTarget)?multisampledRTTExt.renderbufferStorageMultisampleEXT(_gl.RENDERBUFFER,getRenderTargetSamples(renderTarget),glInternalFormat,renderTarget.width,renderTarget.height):useMultisample?_gl.renderbufferStorageMultisample(_gl.RENDERBUFFER,getRenderTargetSamples(renderTarget),glInternalFormat,renderTarget.width,renderTarget.height):_gl.renderbufferStorage(_gl.RENDERBUFFER,glInternalFormat,renderTarget.width,renderTarget.height);}}_gl.bindRenderbuffer(_gl.RENDERBUFFER,null);}function setupDepthTexture(framebuffer,renderTarget,cubeFace){let isCube=renderTarget.isWebGLCubeRenderTarget===!0;if(state.bindFramebuffer(_gl.FRAMEBUFFER,framebuffer),!(renderTarget.depthTexture&&renderTarget.depthTexture.isDepthTexture))throw new Error(\"THREE.WebGLTextures: renderTarget.depthTexture must be an instance of THREE.DepthTexture.\");let textureProperties=properties.get(renderTarget.depthTexture);if(textureProperties.__renderTarget=renderTarget,(!textureProperties.__webglTexture||renderTarget.depthTexture.image.width!==renderTarget.width||renderTarget.depthTexture.image.height!==renderTarget.height)&&(renderTarget.depthTexture.image.width=renderTarget.width,renderTarget.depthTexture.image.height=renderTarget.height,renderTarget.depthTexture.needsUpdate=!0),isCube){if(textureProperties.__webglInit===void 0&&(textureProperties.__webglInit=!0,renderTarget.depthTexture.addEventListener(\"dispose\",onTextureDispose)),textureProperties.__webglTexture===void 0){textureProperties.__webglTexture=_gl.createTexture(),state.bindTexture(_gl.TEXTURE_CUBE_MAP,textureProperties.__webglTexture),setTextureParameters(_gl.TEXTURE_CUBE_MAP,renderTarget.depthTexture);let glFormat=utils.convert(renderTarget.depthTexture.format),glType=utils.convert(renderTarget.depthTexture.type),glInternalFormat;renderTarget.depthTexture.format===DepthFormat?glInternalFormat=_gl.DEPTH_COMPONENT24:renderTarget.depthTexture.format===DepthStencilFormat&&(glInternalFormat=_gl.DEPTH24_STENCIL8);for(let i=0;i<6;i++)_gl.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,0,glInternalFormat,renderTarget.width,renderTarget.height,0,glFormat,glType,null);}}else setTexture2D(renderTarget.depthTexture,0);let webglDepthTexture=textureProperties.__webglTexture,samples=getRenderTargetSamples(renderTarget),glTextureType=isCube?_gl.TEXTURE_CUBE_MAP_POSITIVE_X+cubeFace:_gl.TEXTURE_2D,glAttachmentType=renderTarget.depthTexture.format===DepthStencilFormat?_gl.DEPTH_STENCIL_ATTACHMENT:_gl.DEPTH_ATTACHMENT;if(renderTarget.depthTexture.format===DepthFormat)useMultisampledRTT(renderTarget)?multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER,glAttachmentType,glTextureType,webglDepthTexture,0,samples):_gl.framebufferTexture2D(_gl.FRAMEBUFFER,glAttachmentType,glTextureType,webglDepthTexture,0);else if(renderTarget.depthTexture.format===DepthStencilFormat)useMultisampledRTT(renderTarget)?multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER,glAttachmentType,glTextureType,webglDepthTexture,0,samples):_gl.framebufferTexture2D(_gl.FRAMEBUFFER,glAttachmentType,glTextureType,webglDepthTexture,0);else throw new Error(\"THREE.WebGLTextures: Unknown depthTexture format.\");}function setupDepthRenderbuffer(renderTarget){let renderTargetProperties=properties.get(renderTarget),isCube=renderTarget.isWebGLCubeRenderTarget===!0;if(renderTargetProperties.__boundDepthTexture!==renderTarget.depthTexture){let depthTexture=renderTarget.depthTexture;if(renderTargetProperties.__depthDisposeCallback&&renderTargetProperties.__depthDisposeCallback(),depthTexture){let disposeEvent=()=>{delete renderTargetProperties.__boundDepthTexture,delete renderTargetProperties.__depthDisposeCallback,depthTexture.removeEventListener(\"dispose\",disposeEvent);};depthTexture.addEventListener(\"dispose\",disposeEvent),renderTargetProperties.__depthDisposeCallback=disposeEvent;}renderTargetProperties.__boundDepthTexture=depthTexture;}if(renderTarget.depthTexture&&!renderTargetProperties.__autoAllocateDepthBuffer)if(isCube)for(let i=0;i<6;i++)setupDepthTexture(renderTargetProperties.__webglFramebuffer[i],renderTarget,i);else{let mipmaps=renderTarget.texture.mipmaps;mipmaps&&mipmaps.length>0?setupDepthTexture(renderTargetProperties.__webglFramebuffer[0],renderTarget,0):setupDepthTexture(renderTargetProperties.__webglFramebuffer,renderTarget,0);}else if(isCube){renderTargetProperties.__webglDepthbuffer=[];for(let i=0;i<6;i++)if(state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglFramebuffer[i]),renderTargetProperties.__webglDepthbuffer[i]===void 0)renderTargetProperties.__webglDepthbuffer[i]=_gl.createRenderbuffer(),setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer[i],renderTarget,!1);else{let glAttachmentType=renderTarget.stencilBuffer?_gl.DEPTH_STENCIL_ATTACHMENT:_gl.DEPTH_ATTACHMENT,renderbuffer=renderTargetProperties.__webglDepthbuffer[i];_gl.bindRenderbuffer(_gl.RENDERBUFFER,renderbuffer),_gl.framebufferRenderbuffer(_gl.FRAMEBUFFER,glAttachmentType,_gl.RENDERBUFFER,renderbuffer);}}else{let mipmaps=renderTarget.texture.mipmaps;if(mipmaps&&mipmaps.length>0?state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglFramebuffer[0]):state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglFramebuffer),renderTargetProperties.__webglDepthbuffer===void 0)renderTargetProperties.__webglDepthbuffer=_gl.createRenderbuffer(),setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer,renderTarget,!1);else{let glAttachmentType=renderTarget.stencilBuffer?_gl.DEPTH_STENCIL_ATTACHMENT:_gl.DEPTH_ATTACHMENT,renderbuffer=renderTargetProperties.__webglDepthbuffer;_gl.bindRenderbuffer(_gl.RENDERBUFFER,renderbuffer),_gl.framebufferRenderbuffer(_gl.FRAMEBUFFER,glAttachmentType,_gl.RENDERBUFFER,renderbuffer);}}state.bindFramebuffer(_gl.FRAMEBUFFER,null);}function rebindTextures(renderTarget,colorTexture,depthTexture){let renderTargetProperties=properties.get(renderTarget);colorTexture!==void 0&&setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer,renderTarget,renderTarget.texture,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_2D,0),depthTexture!==void 0&&setupDepthRenderbuffer(renderTarget);}function setupRenderTarget(renderTarget){let texture=renderTarget.texture,renderTargetProperties=properties.get(renderTarget),textureProperties=properties.get(texture);renderTarget.addEventListener(\"dispose\",onRenderTargetDispose);let textures=renderTarget.textures,isCube=renderTarget.isWebGLCubeRenderTarget===!0,isMultipleRenderTargets=textures.length>1;if(isMultipleRenderTargets||(textureProperties.__webglTexture===void 0&&(textureProperties.__webglTexture=_gl.createTexture()),textureProperties.__version=texture.version,info.memory.textures++),isCube){renderTargetProperties.__webglFramebuffer=[];for(let i=0;i<6;i++)if(texture.mipmaps&&texture.mipmaps.length>0){renderTargetProperties.__webglFramebuffer[i]=[];for(let level=0;level<texture.mipmaps.length;level++)renderTargetProperties.__webglFramebuffer[i][level]=_gl.createFramebuffer();}else renderTargetProperties.__webglFramebuffer[i]=_gl.createFramebuffer();}else{if(texture.mipmaps&&texture.mipmaps.length>0){renderTargetProperties.__webglFramebuffer=[];for(let level=0;level<texture.mipmaps.length;level++)renderTargetProperties.__webglFramebuffer[level]=_gl.createFramebuffer();}else renderTargetProperties.__webglFramebuffer=_gl.createFramebuffer();if(isMultipleRenderTargets)for(let i=0,il=textures.length;i<il;i++){let attachmentProperties=properties.get(textures[i]);attachmentProperties.__webglTexture===void 0&&(attachmentProperties.__webglTexture=_gl.createTexture(),info.memory.textures++);}if(renderTarget.samples>0&&useMultisampledRTT(renderTarget)===!1){renderTargetProperties.__webglMultisampledFramebuffer=_gl.createFramebuffer(),renderTargetProperties.__webglColorRenderbuffer=[],state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglMultisampledFramebuffer);for(let i=0;i<textures.length;i++){let texture2=textures[i];renderTargetProperties.__webglColorRenderbuffer[i]=_gl.createRenderbuffer(),_gl.bindRenderbuffer(_gl.RENDERBUFFER,renderTargetProperties.__webglColorRenderbuffer[i]);let glFormat=utils.convert(texture2.format,texture2.colorSpace),glType=utils.convert(texture2.type),glInternalFormat=getInternalFormat(texture2.internalFormat,glFormat,glType,texture2.normalized,texture2.colorSpace,renderTarget.isXRRenderTarget===!0),samples=getRenderTargetSamples(renderTarget);_gl.renderbufferStorageMultisample(_gl.RENDERBUFFER,samples,glInternalFormat,renderTarget.width,renderTarget.height),_gl.framebufferRenderbuffer(_gl.FRAMEBUFFER,_gl.COLOR_ATTACHMENT0+i,_gl.RENDERBUFFER,renderTargetProperties.__webglColorRenderbuffer[i]);}_gl.bindRenderbuffer(_gl.RENDERBUFFER,null),renderTarget.depthBuffer&&(renderTargetProperties.__webglDepthRenderbuffer=_gl.createRenderbuffer(),setupRenderBufferStorage(renderTargetProperties.__webglDepthRenderbuffer,renderTarget,!0)),state.bindFramebuffer(_gl.FRAMEBUFFER,null);}}if(isCube){state.bindTexture(_gl.TEXTURE_CUBE_MAP,textureProperties.__webglTexture),setTextureParameters(_gl.TEXTURE_CUBE_MAP,texture);for(let i=0;i<6;i++)if(texture.mipmaps&&texture.mipmaps.length>0)for(let level=0;level<texture.mipmaps.length;level++)setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i][level],renderTarget,texture,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,level);else setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i],renderTarget,texture,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,0);textureNeedsGenerateMipmaps(texture)&&generateMipmap(_gl.TEXTURE_CUBE_MAP),state.unbindTexture();}else if(isMultipleRenderTargets){for(let i=0,il=textures.length;i<il;i++){let attachment=textures[i],attachmentProperties=properties.get(attachment),glTextureType=_gl.TEXTURE_2D;(renderTarget.isWebGL3DRenderTarget||renderTarget.isWebGLArrayRenderTarget)&&(glTextureType=renderTarget.isWebGL3DRenderTarget?_gl.TEXTURE_3D:_gl.TEXTURE_2D_ARRAY),state.bindTexture(glTextureType,attachmentProperties.__webglTexture),setTextureParameters(glTextureType,attachment),setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer,renderTarget,attachment,_gl.COLOR_ATTACHMENT0+i,glTextureType,0),textureNeedsGenerateMipmaps(attachment)&&generateMipmap(glTextureType);}state.unbindTexture();}else{let glTextureType=_gl.TEXTURE_2D;if((renderTarget.isWebGL3DRenderTarget||renderTarget.isWebGLArrayRenderTarget)&&(glTextureType=renderTarget.isWebGL3DRenderTarget?_gl.TEXTURE_3D:_gl.TEXTURE_2D_ARRAY),state.bindTexture(glTextureType,textureProperties.__webglTexture),setTextureParameters(glTextureType,texture),texture.mipmaps&&texture.mipmaps.length>0)for(let level=0;level<texture.mipmaps.length;level++)setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[level],renderTarget,texture,_gl.COLOR_ATTACHMENT0,glTextureType,level);else setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer,renderTarget,texture,_gl.COLOR_ATTACHMENT0,glTextureType,0);textureNeedsGenerateMipmaps(texture)&&generateMipmap(glTextureType),state.unbindTexture();}renderTarget.depthBuffer&&setupDepthRenderbuffer(renderTarget);}function updateRenderTargetMipmap(renderTarget){let textures=renderTarget.textures;for(let i=0,il=textures.length;i<il;i++){let texture=textures[i];if(textureNeedsGenerateMipmaps(texture)){let targetType=getTargetType(renderTarget),webglTexture=properties.get(texture).__webglTexture;state.bindTexture(targetType,webglTexture),generateMipmap(targetType),state.unbindTexture();}}}let invalidationArrayRead=[],invalidationArrayDraw=[];function updateMultisampleRenderTarget(renderTarget){if(renderTarget.samples>0){if(useMultisampledRTT(renderTarget)===!1){let textures=renderTarget.textures,width=renderTarget.width,height=renderTarget.height,mask=_gl.COLOR_BUFFER_BIT,depthStyle=renderTarget.stencilBuffer?_gl.DEPTH_STENCIL_ATTACHMENT:_gl.DEPTH_ATTACHMENT,renderTargetProperties=properties.get(renderTarget),isMultipleRenderTargets=textures.length>1;if(isMultipleRenderTargets)for(let i=0;i<textures.length;i++)state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglMultisampledFramebuffer),_gl.framebufferRenderbuffer(_gl.FRAMEBUFFER,_gl.COLOR_ATTACHMENT0+i,_gl.RENDERBUFFER,null),state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglFramebuffer),_gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0+i,_gl.TEXTURE_2D,null,0);state.bindFramebuffer(_gl.READ_FRAMEBUFFER,renderTargetProperties.__webglMultisampledFramebuffer);let mipmaps=renderTarget.texture.mipmaps;mipmaps&&mipmaps.length>0?state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,renderTargetProperties.__webglFramebuffer[0]):state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,renderTargetProperties.__webglFramebuffer);for(let i=0;i<textures.length;i++){if(renderTarget.resolveDepthBuffer&&(renderTarget.depthBuffer&&(mask|=_gl.DEPTH_BUFFER_BIT),renderTarget.stencilBuffer&&renderTarget.resolveStencilBuffer&&(mask|=_gl.STENCIL_BUFFER_BIT)),isMultipleRenderTargets){_gl.framebufferRenderbuffer(_gl.READ_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,_gl.RENDERBUFFER,renderTargetProperties.__webglColorRenderbuffer[i]);let webglTexture=properties.get(textures[i]).__webglTexture;_gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_2D,webglTexture,0);}_gl.blitFramebuffer(0,0,width,height,0,0,width,height,mask,_gl.NEAREST),supportsInvalidateFramebuffer===!0&&(invalidationArrayRead.length=0,invalidationArrayDraw.length=0,invalidationArrayRead.push(_gl.COLOR_ATTACHMENT0+i),renderTarget.depthBuffer&&renderTarget.storeMultisampledDepthBuffer===!1&&(invalidationArrayRead.push(depthStyle),invalidationArrayDraw.push(depthStyle),_gl.invalidateFramebuffer(_gl.DRAW_FRAMEBUFFER,invalidationArrayDraw)),_gl.invalidateFramebuffer(_gl.READ_FRAMEBUFFER,invalidationArrayRead));}if(state.bindFramebuffer(_gl.READ_FRAMEBUFFER,null),state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,null),isMultipleRenderTargets)for(let i=0;i<textures.length;i++){state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglMultisampledFramebuffer),_gl.framebufferRenderbuffer(_gl.FRAMEBUFFER,_gl.COLOR_ATTACHMENT0+i,_gl.RENDERBUFFER,renderTargetProperties.__webglColorRenderbuffer[i]);let webglTexture=properties.get(textures[i]).__webglTexture;state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglFramebuffer),_gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0+i,_gl.TEXTURE_2D,webglTexture,0);}state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,renderTargetProperties.__webglMultisampledFramebuffer);}else if(renderTarget.depthBuffer&&renderTarget.storeMultisampledDepthBuffer===!1&&supportsInvalidateFramebuffer){let depthStyle=renderTarget.stencilBuffer?_gl.DEPTH_STENCIL_ATTACHMENT:_gl.DEPTH_ATTACHMENT;_gl.invalidateFramebuffer(_gl.DRAW_FRAMEBUFFER,[depthStyle]);}}}function getRenderTargetSamples(renderTarget){return Math.min(capabilities.maxSamples,renderTarget.samples);}function useMultisampledRTT(renderTarget){let renderTargetProperties=properties.get(renderTarget);return renderTarget.samples>0&&extensions.has(\"WEBGL_multisampled_render_to_texture\")===!0&&renderTargetProperties.__useRenderToTexture!==!1;}function updateVideoTexture(texture){let frame=info.render.frame;_videoTextures.get(texture)!==frame&&(_videoTextures.set(texture,frame),texture.update());}function verifyColorSpace(texture,image){let colorSpace=texture.colorSpace,format=texture.format,type=texture.type;return texture.isCompressedTexture===!0||texture.isVideoTexture===!0||colorSpace!==LinearSRGBColorSpace&&colorSpace!==NoColorSpace&&(ColorManagement.getTransfer(colorSpace)===SRGBTransfer?(format!==RGBAFormat||type!==UnsignedByteType)&&warn(\"WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.\"):error(\"WebGLTextures: Unsupported texture color space:\",colorSpace)),image;}function getDimensions(image){return typeof HTMLImageElement<\"u\"&&image instanceof HTMLImageElement?(_imageDimensions.width=image.naturalWidth||image.width,_imageDimensions.height=image.naturalHeight||image.height):typeof VideoFrame<\"u\"&&image instanceof VideoFrame?(_imageDimensions.width=image.displayWidth,_imageDimensions.height=image.displayHeight):(_imageDimensions.width=image.width,_imageDimensions.height=image.height),_imageDimensions;}this.allocateTextureUnit=allocateTextureUnit,this.resetTextureUnits=resetTextureUnits,this.getTextureUnits=getTextureUnits,this.setTextureUnits=setTextureUnits,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.useMultisampledRTT=useMultisampledRTT,this.isReversedDepthBuffer=function(){return state.buffers.depth.getReversed();};}function WebGLUtils(gl,extensions){function convert(p,colorSpace=NoColorSpace){let extension,transfer=ColorManagement.getTransfer(colorSpace);if(p===UnsignedByteType)return gl.UNSIGNED_BYTE;if(p===UnsignedShort4444Type)return gl.UNSIGNED_SHORT_4_4_4_4;if(p===UnsignedShort5551Type)return gl.UNSIGNED_SHORT_5_5_5_1;if(p===UnsignedInt5999Type)return gl.UNSIGNED_INT_5_9_9_9_REV;if(p===UnsignedInt101111Type)return gl.UNSIGNED_INT_10F_11F_11F_REV;if(p===ByteType)return gl.BYTE;if(p===ShortType)return gl.SHORT;if(p===UnsignedShortType)return gl.UNSIGNED_SHORT;if(p===IntType)return gl.INT;if(p===UnsignedIntType)return gl.UNSIGNED_INT;if(p===FloatType)return gl.FLOAT;if(p===HalfFloatType)return gl.HALF_FLOAT;if(p===AlphaFormat)return gl.ALPHA;if(p===RGBFormat)return gl.RGB;if(p===RGBAFormat)return gl.RGBA;if(p===DepthFormat)return gl.DEPTH_COMPONENT;if(p===DepthStencilFormat)return gl.DEPTH_STENCIL;if(p===RedFormat)return gl.RED;if(p===RedIntegerFormat)return gl.RED_INTEGER;if(p===RGFormat)return gl.RG;if(p===RGIntegerFormat)return gl.RG_INTEGER;if(p===RGBAIntegerFormat)return gl.RGBA_INTEGER;if(p===RGB_S3TC_DXT1_Format||p===RGBA_S3TC_DXT1_Format||p===RGBA_S3TC_DXT3_Format||p===RGBA_S3TC_DXT5_Format)if(transfer===SRGBTransfer)if(extension=extensions.get(\"WEBGL_compressed_texture_s3tc_srgb\"),extension!==null){if(p===RGB_S3TC_DXT1_Format)return extension.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(p===RGBA_S3TC_DXT1_Format)return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(p===RGBA_S3TC_DXT3_Format)return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(p===RGBA_S3TC_DXT5_Format)return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;}else return null;else if(extension=extensions.get(\"WEBGL_compressed_texture_s3tc\"),extension!==null){if(p===RGB_S3TC_DXT1_Format)return extension.COMPRESSED_RGB_S3TC_DXT1_EXT;if(p===RGBA_S3TC_DXT1_Format)return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(p===RGBA_S3TC_DXT3_Format)return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(p===RGBA_S3TC_DXT5_Format)return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT;}else return null;if(p===RGB_PVRTC_4BPPV1_Format||p===RGB_PVRTC_2BPPV1_Format||p===RGBA_PVRTC_4BPPV1_Format||p===RGBA_PVRTC_2BPPV1_Format)if(extension=extensions.get(\"WEBGL_compressed_texture_pvrtc\"),extension!==null){if(p===RGB_PVRTC_4BPPV1_Format)return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(p===RGB_PVRTC_2BPPV1_Format)return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(p===RGBA_PVRTC_4BPPV1_Format)return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(p===RGBA_PVRTC_2BPPV1_Format)return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG;}else return null;if(p===RGB_ETC1_Format||p===RGB_ETC2_Format||p===RGBA_ETC2_EAC_Format||p===R11_EAC_Format||p===SIGNED_R11_EAC_Format||p===RG11_EAC_Format||p===SIGNED_RG11_EAC_Format)if(extension=extensions.get(\"WEBGL_compressed_texture_etc\"),extension!==null){if(p===RGB_ETC1_Format||p===RGB_ETC2_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ETC2:extension.COMPRESSED_RGB8_ETC2;if(p===RGBA_ETC2_EAC_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:extension.COMPRESSED_RGBA8_ETC2_EAC;if(p===R11_EAC_Format)return extension.COMPRESSED_R11_EAC;if(p===SIGNED_R11_EAC_Format)return extension.COMPRESSED_SIGNED_R11_EAC;if(p===RG11_EAC_Format)return extension.COMPRESSED_RG11_EAC;if(p===SIGNED_RG11_EAC_Format)return extension.COMPRESSED_SIGNED_RG11_EAC;}else return null;if(p===RGBA_ASTC_4x4_Format||p===RGBA_ASTC_5x4_Format||p===RGBA_ASTC_5x5_Format||p===RGBA_ASTC_6x5_Format||p===RGBA_ASTC_6x6_Format||p===RGBA_ASTC_8x5_Format||p===RGBA_ASTC_8x6_Format||p===RGBA_ASTC_8x8_Format||p===RGBA_ASTC_10x5_Format||p===RGBA_ASTC_10x6_Format||p===RGBA_ASTC_10x8_Format||p===RGBA_ASTC_10x10_Format||p===RGBA_ASTC_12x10_Format||p===RGBA_ASTC_12x12_Format)if(extension=extensions.get(\"WEBGL_compressed_texture_astc\"),extension!==null){if(p===RGBA_ASTC_4x4_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:extension.COMPRESSED_RGBA_ASTC_4x4_KHR;if(p===RGBA_ASTC_5x4_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:extension.COMPRESSED_RGBA_ASTC_5x4_KHR;if(p===RGBA_ASTC_5x5_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:extension.COMPRESSED_RGBA_ASTC_5x5_KHR;if(p===RGBA_ASTC_6x5_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:extension.COMPRESSED_RGBA_ASTC_6x5_KHR;if(p===RGBA_ASTC_6x6_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:extension.COMPRESSED_RGBA_ASTC_6x6_KHR;if(p===RGBA_ASTC_8x5_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:extension.COMPRESSED_RGBA_ASTC_8x5_KHR;if(p===RGBA_ASTC_8x6_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:extension.COMPRESSED_RGBA_ASTC_8x6_KHR;if(p===RGBA_ASTC_8x8_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:extension.COMPRESSED_RGBA_ASTC_8x8_KHR;if(p===RGBA_ASTC_10x5_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:extension.COMPRESSED_RGBA_ASTC_10x5_KHR;if(p===RGBA_ASTC_10x6_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:extension.COMPRESSED_RGBA_ASTC_10x6_KHR;if(p===RGBA_ASTC_10x8_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:extension.COMPRESSED_RGBA_ASTC_10x8_KHR;if(p===RGBA_ASTC_10x10_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:extension.COMPRESSED_RGBA_ASTC_10x10_KHR;if(p===RGBA_ASTC_12x10_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:extension.COMPRESSED_RGBA_ASTC_12x10_KHR;if(p===RGBA_ASTC_12x12_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:extension.COMPRESSED_RGBA_ASTC_12x12_KHR;}else return null;if(p===RGBA_BPTC_Format||p===RGB_BPTC_SIGNED_Format||p===RGB_BPTC_UNSIGNED_Format)if(extension=extensions.get(\"EXT_texture_compression_bptc\"),extension!==null){if(p===RGBA_BPTC_Format)return transfer===SRGBTransfer?extension.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:extension.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(p===RGB_BPTC_SIGNED_Format)return extension.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(p===RGB_BPTC_UNSIGNED_Format)return extension.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT;}else return null;if(p===RED_RGTC1_Format||p===SIGNED_RED_RGTC1_Format||p===RED_GREEN_RGTC2_Format||p===SIGNED_RED_GREEN_RGTC2_Format)if(extension=extensions.get(\"EXT_texture_compression_rgtc\"),extension!==null){if(p===RED_RGTC1_Format)return extension.COMPRESSED_RED_RGTC1_EXT;if(p===SIGNED_RED_RGTC1_Format)return extension.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(p===RED_GREEN_RGTC2_Format)return extension.COMPRESSED_RED_GREEN_RGTC2_EXT;if(p===SIGNED_RED_GREEN_RGTC2_Format)return extension.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT;}else return null;return p===UnsignedInt248Type?gl.UNSIGNED_INT_24_8:gl[p]!==void 0?gl[p]:null;}return{convert};}var _occlusion_vertex=`\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}`,_occlusion_fragment=`\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}`,WebXRDepthSensing=class{init(depthData,renderState){if(this.texture===null){let texture=new ExternalTexture(depthData.texture);(depthData.depthNear!==renderState.depthNear||depthData.depthFar!==renderState.depthFar)&&(this.depthNear=depthData.depthNear,this.depthFar=depthData.depthFar),this.texture=texture;}}getMesh(cameraXR){if(this.texture!==null&&this.mesh===null){let viewport=cameraXR.cameras[0].viewport,material=new ShaderMaterial({vertexShader:_occlusion_vertex,fragmentShader:_occlusion_fragment,uniforms:{depthColor:{value:this.texture},depthWidth:{value:viewport.z},depthHeight:{value:viewport.w}}});this.mesh=new Mesh(new PlaneGeometry(20,20),material);}return this.mesh;}reset(){this.texture=null,this.mesh=null;}getDepthTexture(){return this.texture;}constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0;}},WebXRManager=class extends EventDispatcher{constructor(renderer,gl){super();let scope=this,session=null,framebufferScaleFactor=1,referenceSpace=null,referenceSpaceType=\"local-floor\",foveation=1,customReferenceSpace=null,pose=null,glBinding=null,glProjLayer=null,glBaseLayer=null,xrFrame=null,supportsGlBinding=typeof XRWebGLBinding<\"u\",depthSensing=new WebXRDepthSensing,cameraAccessTextures={},attributes=gl.getContextAttributes(),initialRenderTarget=null,newRenderTarget=null,controllers=[],controllerInputSources=[],currentSize=new Vector2,currentPixelRatio=null,currentCameraSettings=null,cameraL=new PerspectiveCamera;cameraL.viewport=new Vector4;let cameraR=new PerspectiveCamera;cameraR.viewport=new Vector4;let cameras=[cameraL,cameraR],cameraXR=new ArrayCamera,_currentDepthNear=null,_currentDepthFar=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(index){let controller=controllers[index];return controller===void 0&&(controller=new WebXRController,controllers[index]=controller),controller.getTargetRaySpace();},this.getControllerGrip=function(index){let controller=controllers[index];return controller===void 0&&(controller=new WebXRController,controllers[index]=controller),controller.getGripSpace();},this.getHand=function(index){let controller=controllers[index];return controller===void 0&&(controller=new WebXRController,controllers[index]=controller),controller.getHandSpace();};function onSessionEvent(event){let controllerIndex=controllerInputSources.indexOf(event.inputSource);if(controllerIndex===-1)return;let controller=controllers[controllerIndex];controller!==void 0&&(controller.update(event.inputSource,event.frame,customReferenceSpace||referenceSpace),controller.dispatchEvent({type:event.type,data:event.inputSource}));}function onSessionEnd(){session.removeEventListener(\"select\",onSessionEvent),session.removeEventListener(\"selectstart\",onSessionEvent),session.removeEventListener(\"selectend\",onSessionEvent),session.removeEventListener(\"squeeze\",onSessionEvent),session.removeEventListener(\"squeezestart\",onSessionEvent),session.removeEventListener(\"squeezeend\",onSessionEvent),session.removeEventListener(\"end\",onSessionEnd),session.removeEventListener(\"inputsourceschange\",onInputSourcesChange);for(let i=0;i<controllers.length;i++){let inputSource=controllerInputSources[i];inputSource!==null&&(controllerInputSources[i]=null,controllers[i].disconnect(inputSource));}_currentDepthNear=null,_currentDepthFar=null,depthSensing.reset();for(let key in cameraAccessTextures)delete cameraAccessTextures[key];if(renderer.setRenderTarget(initialRenderTarget),glBaseLayer=null,glProjLayer=null,glBinding=null,session=null,newRenderTarget=null,animation.stop(),scope.isPresenting=!1,renderer.setPixelRatio(currentPixelRatio),renderer.setSize(currentSize.width,currentSize.height,!1),currentCameraSettings!==null){let camera=currentCameraSettings.camera;camera.fov=currentCameraSettings.fov,camera.zoom=currentCameraSettings.zoom,camera.updateProjectionMatrix(),currentCameraSettings=null;}scope.dispatchEvent({type:\"sessionend\"});}this.setFramebufferScaleFactor=function(value){framebufferScaleFactor=value,scope.isPresenting===!0&&warn(\"WebXRManager: Cannot change framebuffer scale while presenting.\");},this.setReferenceSpaceType=function(value){referenceSpaceType=value,scope.isPresenting===!0&&warn(\"WebXRManager: Cannot change reference space type while presenting.\");},this.getReferenceSpace=function(){return customReferenceSpace||referenceSpace;},this.setReferenceSpace=function(space){customReferenceSpace=space;},this.getBaseLayer=function(){return glProjLayer!==null?glProjLayer:glBaseLayer;},this.getBinding=function(){return glBinding===null&&supportsGlBinding&&(glBinding=new XRWebGLBinding(session,gl)),glBinding;},this.getFrame=function(){return xrFrame;},this.getSession=function(){return session;},this.setSession=async function(value){if(session=value,session!==null){if(initialRenderTarget=renderer.getRenderTarget(),session.addEventListener(\"select\",onSessionEvent),session.addEventListener(\"selectstart\",onSessionEvent),session.addEventListener(\"selectend\",onSessionEvent),session.addEventListener(\"squeeze\",onSessionEvent),session.addEventListener(\"squeezestart\",onSessionEvent),session.addEventListener(\"squeezeend\",onSessionEvent),session.addEventListener(\"end\",onSessionEnd),session.addEventListener(\"inputsourceschange\",onInputSourcesChange),attributes.xrCompatible!==!0&&await gl.makeXRCompatible(),currentPixelRatio=renderer.getPixelRatio(),renderer.getSize(currentSize),supportsGlBinding&&\"createProjectionLayer\"in XRWebGLBinding.prototype){let depthFormat=null,depthType=null,glDepthFormat=null;attributes.depth&&(glDepthFormat=attributes.stencil?gl.DEPTH24_STENCIL8:gl.DEPTH_COMPONENT24,depthFormat=attributes.stencil?DepthStencilFormat:DepthFormat,depthType=attributes.stencil?UnsignedInt248Type:UnsignedIntType);let projectionlayerInit={colorFormat:gl.RGBA8,depthFormat:glDepthFormat,scaleFactor:framebufferScaleFactor};glBinding=this.getBinding(),glProjLayer=glBinding.createProjectionLayer(projectionlayerInit),session.updateRenderState({layers:[glProjLayer]}),renderer.setPixelRatio(1),renderer.setSize(glProjLayer.textureWidth,glProjLayer.textureHeight,!1),newRenderTarget=new WebGLRenderTarget(glProjLayer.textureWidth,glProjLayer.textureHeight,{format:RGBAFormat,type:UnsignedByteType,depthTexture:new DepthTexture(glProjLayer.textureWidth,glProjLayer.textureHeight,depthType,void 0,void 0,void 0,void 0,void 0,void 0,depthFormat),stencilBuffer:attributes.stencil,colorSpace:renderer.outputColorSpace,samples:attributes.antialias?4:0,resolveDepthBuffer:glProjLayer.ignoreDepthValues===!1,resolveStencilBuffer:glProjLayer.ignoreDepthValues===!1,storeMultisampledDepthBuffer:glProjLayer.ignoreDepthValues===!1,storeMultisampledStencilBuffer:glProjLayer.ignoreDepthValues===!1});}else{let layerInit={antialias:attributes.antialias,alpha:!0,depth:attributes.depth,stencil:attributes.stencil,framebufferScaleFactor};glBaseLayer=new XRWebGLLayer(session,gl,layerInit),session.updateRenderState({baseLayer:glBaseLayer}),renderer.setPixelRatio(1),renderer.setSize(glBaseLayer.framebufferWidth,glBaseLayer.framebufferHeight,!1),newRenderTarget=new WebGLRenderTarget(glBaseLayer.framebufferWidth,glBaseLayer.framebufferHeight,{format:RGBAFormat,type:UnsignedByteType,colorSpace:renderer.outputColorSpace,stencilBuffer:attributes.stencil,resolveDepthBuffer:glBaseLayer.ignoreDepthValues===!1,resolveStencilBuffer:glBaseLayer.ignoreDepthValues===!1,storeMultisampledDepthBuffer:glBaseLayer.ignoreDepthValues===!1,storeMultisampledStencilBuffer:glBaseLayer.ignoreDepthValues===!1});}newRenderTarget.isXRRenderTarget=!0,this.setFoveation(foveation),customReferenceSpace=null,referenceSpace=await session.requestReferenceSpace(referenceSpaceType),animation.setContext(session),animation.start(),scope.isPresenting=!0,scope.dispatchEvent({type:\"sessionstart\"});}},this.getEnvironmentBlendMode=function(){if(session!==null)return session.environmentBlendMode;},this.getDepthTexture=function(){return depthSensing.getDepthTexture();};function onInputSourcesChange(event){for(let i=0;i<event.removed.length;i++){let inputSource=event.removed[i],index=controllerInputSources.indexOf(inputSource);index>=0&&(controllerInputSources[index]=null,controllers[index].disconnect(inputSource));}for(let i=0;i<event.added.length;i++){let inputSource=event.added[i],controllerIndex=controllerInputSources.indexOf(inputSource);if(controllerIndex===-1){for(let i2=0;i2<controllers.length;i2++)if(i2>=controllerInputSources.length){controllerInputSources.push(inputSource),controllerIndex=i2;break;}else if(controllerInputSources[i2]===null){controllerInputSources[i2]=inputSource,controllerIndex=i2;break;}if(controllerIndex===-1)break;}let controller=controllers[controllerIndex];controller&&controller.connect(inputSource);}}let cameraLPos=new Vector3,cameraRPos=new Vector3;function setProjectionFromUnion(camera,cameraL2,cameraR2){cameraLPos.setFromMatrixPosition(cameraL2.matrixWorld),cameraRPos.setFromMatrixPosition(cameraR2.matrixWorld);let ipd=cameraLPos.distanceTo(cameraRPos),projL=cameraL2.projectionMatrix.elements,projR=cameraR2.projectionMatrix.elements,near=projL[14]/(projL[10]-1),far=projL[14]/(projL[10]+1),topFov=(projL[9]+1)/projL[5],bottomFov=(projL[9]-1)/projL[5],leftFov=(projL[8]-1)/projL[0],rightFov=(projR[8]+1)/projR[0],left=near*leftFov,right=near*rightFov,zOffset=ipd/(-leftFov+rightFov),xOffset=zOffset*-leftFov;if(cameraL2.matrixWorld.decompose(camera.position,camera.quaternion,camera.scale),camera.translateX(xOffset),camera.translateZ(zOffset),camera.matrixWorld.compose(camera.position,camera.quaternion,camera.scale),camera.matrixWorldInverse.copy(camera.matrixWorld).invert(),projL[10]===-1)camera.projectionMatrix.copy(cameraL2.projectionMatrix),camera.projectionMatrixInverse.copy(cameraL2.projectionMatrixInverse);else{let near2=near+zOffset,far2=far+zOffset,left2=left-xOffset,right2=right+(ipd-xOffset),top2=topFov*far/far2*near2,bottom2=bottomFov*far/far2*near2;camera.projectionMatrix.makePerspective(left2,right2,top2,bottom2,near2,far2),camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert();}}function updateCamera(camera,parent){parent===null?camera.matrixWorld.copy(camera.matrix):camera.matrixWorld.multiplyMatrices(parent.matrixWorld,camera.matrix),camera.matrixWorldInverse.copy(camera.matrixWorld).invert();}this.updateCamera=function(camera){if(session===null)return;let depthNear=camera.near,depthFar=camera.far;depthSensing.texture!==null&&(depthSensing.depthNear>0&&(depthNear=depthSensing.depthNear),depthSensing.depthFar>0&&(depthFar=depthSensing.depthFar)),cameraXR.near=cameraR.near=cameraL.near=depthNear,cameraXR.far=cameraR.far=cameraL.far=depthFar,(_currentDepthNear!==cameraXR.near||_currentDepthFar!==cameraXR.far)&&(session.updateRenderState({depthNear:cameraXR.near,depthFar:cameraXR.far}),_currentDepthNear=cameraXR.near,_currentDepthFar=cameraXR.far),cameraXR.layers.mask=camera.layers.mask|6,cameraL.layers.mask=cameraXR.layers.mask&-5,cameraR.layers.mask=cameraXR.layers.mask&-3;let parent=camera.parent,cameras2=cameraXR.cameras;updateCamera(cameraXR,parent);for(let i=0;i<cameras2.length;i++)updateCamera(cameras2[i],parent);cameras2.length===2?setProjectionFromUnion(cameraXR,cameraL,cameraR):cameraXR.projectionMatrix.copy(cameraL.projectionMatrix),currentCameraSettings===null&&camera.isPerspectiveCamera&&(currentCameraSettings={camera,fov:camera.fov,zoom:camera.zoom}),updateUserCamera(camera,cameraXR,parent);};function updateUserCamera(camera,cameraXR2,parent){parent===null?camera.matrix.copy(cameraXR2.matrixWorld):(camera.matrix.copy(parent.matrixWorld),camera.matrix.invert(),camera.matrix.multiply(cameraXR2.matrixWorld)),camera.matrix.decompose(camera.position,camera.quaternion,camera.scale),camera.updateMatrixWorld(!0),camera.projectionMatrix.copy(cameraXR2.projectionMatrix),camera.projectionMatrixInverse.copy(cameraXR2.projectionMatrixInverse),camera.isPerspectiveCamera&&(camera.fov=RAD2DEG*2*Math.atan(1/camera.projectionMatrix.elements[5]),camera.zoom=1);}this.getCamera=function(){return cameraXR;},this.getFoveation=function(){if(!(glProjLayer===null&&glBaseLayer===null))return foveation;},this.setFoveation=function(value){foveation=value,glProjLayer!==null&&(glProjLayer.fixedFoveation=value),glBaseLayer!==null&&glBaseLayer.fixedFoveation!==void 0&&(glBaseLayer.fixedFoveation=value);},this.hasDepthSensing=function(){return depthSensing.texture!==null;},this.getDepthSensingMesh=function(){return depthSensing.getMesh(cameraXR);},this.getCameraTexture=function(xrCamera){return cameraAccessTextures[xrCamera];};let onAnimationFrameCallback=null;function onAnimationFrame(time,frame){if(pose=frame.getViewerPose(customReferenceSpace||referenceSpace),xrFrame=frame,pose!==null){let views=pose.views;glBaseLayer!==null&&(renderer.setRenderTargetFramebuffer(newRenderTarget,glBaseLayer.framebuffer),renderer.setRenderTarget(newRenderTarget));let cameraXRNeedsUpdate=!1;views.length!==cameraXR.cameras.length&&(cameraXR.cameras.length=0,cameraXRNeedsUpdate=!0);for(let i=0;i<views.length;i++){let view=views[i],viewport=null;if(glBaseLayer!==null)viewport=glBaseLayer.getViewport(view);else{let glSubImage=glBinding.getViewSubImage(glProjLayer,view);viewport=glSubImage.viewport,i===0&&(renderer.setRenderTargetTextures(newRenderTarget,glSubImage.colorTexture,glSubImage.depthStencilTexture),renderer.setRenderTarget(newRenderTarget));}let camera=cameras[i];camera===void 0&&(camera=new PerspectiveCamera,camera.layers.enable(i),camera.viewport=new Vector4,cameras[i]=camera),camera.matrix.fromArray(view.transform.matrix),camera.matrix.decompose(camera.position,camera.quaternion,camera.scale),camera.projectionMatrix.fromArray(view.projectionMatrix),camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert(),camera.viewport.set(viewport.x,viewport.y,viewport.width,viewport.height),i===0&&(cameraXR.matrix.copy(camera.matrix),cameraXR.matrix.decompose(cameraXR.position,cameraXR.quaternion,cameraXR.scale)),cameraXRNeedsUpdate===!0&&cameraXR.cameras.push(camera);}let enabledFeatures=session.enabledFeatures;if(enabledFeatures&&enabledFeatures.includes(\"depth-sensing\")&&session.depthUsage==\"gpu-optimized\"&&supportsGlBinding){glBinding=scope.getBinding();let depthData=glBinding.getDepthInformation(views[0]);depthData&&depthData.isValid&&depthData.texture&&depthSensing.init(depthData,session.renderState);}if(enabledFeatures&&enabledFeatures.includes(\"camera-access\")&&supportsGlBinding){renderer.state.unbindTexture(),glBinding=scope.getBinding();for(let i=0;i<views.length;i++){let camera=views[i].camera;if(camera){let cameraTex=cameraAccessTextures[camera];cameraTex||(cameraTex=new ExternalTexture,cameraAccessTextures[camera]=cameraTex);let glTexture=glBinding.getCameraImage(camera);cameraTex.sourceTexture=glTexture;}}}}for(let i=0;i<controllers.length;i++){let inputSource=controllerInputSources[i],controller=controllers[i];inputSource!==null&&controller!==void 0&&controller.update(inputSource,frame,customReferenceSpace||referenceSpace);}onAnimationFrameCallback&&onAnimationFrameCallback(time,frame),frame.detectedPlanes&&scope.dispatchEvent({type:\"planesdetected\",data:frame}),xrFrame=null;}let animation=new WebGLAnimation;animation.setAnimationLoop(onAnimationFrame),this.setAnimationLoop=function(callback){onAnimationFrameCallback=callback;},this.dispose=function(){};}},_m12=new Matrix4,_m=new Matrix3;_m.set(-1,0,0,0,1,0,0,0,1);function WebGLMaterials(renderer,properties){function refreshTransformUniform(map,uniform){map.matrixAutoUpdate===!0&&map.updateMatrix(),uniform.value.copy(map.matrix);}function refreshFogUniforms(uniforms,fog){fog.color.getRGB(uniforms.fogColor.value,getUnlitUniformColorSpace(renderer)),fog.isFog?(uniforms.fogNear.value=fog.near,uniforms.fogFar.value=fog.far):fog.isFogExp2&&(uniforms.fogDensity.value=fog.density);}function refreshMaterialUniforms(uniforms,material,pixelRatio,height,transmissionRenderTarget){material.isNodeMaterial?material.uniformsNeedUpdate=!1:material.isMeshBasicMaterial?refreshUniformsCommon(uniforms,material):material.isMeshLambertMaterial?(refreshUniformsCommon(uniforms,material),material.envMap&&(uniforms.envMapIntensity.value=material.envMapIntensity)):material.isMeshToonMaterial?(refreshUniformsCommon(uniforms,material),refreshUniformsToon(uniforms,material)):material.isMeshPhongMaterial?(refreshUniformsCommon(uniforms,material),refreshUniformsPhong(uniforms,material),material.envMap&&(uniforms.envMapIntensity.value=material.envMapIntensity)):material.isMeshStandardMaterial?(refreshUniformsCommon(uniforms,material),refreshUniformsStandard(uniforms,material),material.isMeshPhysicalMaterial&&refreshUniformsPhysical(uniforms,material,transmissionRenderTarget)):material.isMeshMatcapMaterial?(refreshUniformsCommon(uniforms,material),refreshUniformsMatcap(uniforms,material)):material.isMeshDepthMaterial?refreshUniformsCommon(uniforms,material):material.isMeshDistanceMaterial?(refreshUniformsCommon(uniforms,material),refreshUniformsDistance(uniforms,material)):material.isMeshNormalMaterial?refreshUniformsCommon(uniforms,material):material.isLineBasicMaterial?(refreshUniformsLine(uniforms,material),material.isLineDashedMaterial&&refreshUniformsDash(uniforms,material)):material.isPointsMaterial?refreshUniformsPoints(uniforms,material,pixelRatio,height):material.isSpriteMaterial?refreshUniformsSprites(uniforms,material):material.isShadowMaterial?(uniforms.color.value.copy(material.color),uniforms.opacity.value=material.opacity):material.isShaderMaterial&&(material.uniformsNeedUpdate=!1);}function refreshUniformsCommon(uniforms,material){uniforms.opacity.value=material.opacity,material.color&&uniforms.diffuse.value.copy(material.color),material.emissive&&uniforms.emissive.value.copy(material.emissive).multiplyScalar(material.emissiveIntensity),material.map&&(uniforms.map.value=material.map,refreshTransformUniform(material.map,uniforms.mapTransform)),material.alphaMap&&(uniforms.alphaMap.value=material.alphaMap,refreshTransformUniform(material.alphaMap,uniforms.alphaMapTransform)),material.bumpMap&&(uniforms.bumpMap.value=material.bumpMap,refreshTransformUniform(material.bumpMap,uniforms.bumpMapTransform),uniforms.bumpScale.value=material.bumpScale,material.side===BackSide&&(uniforms.bumpScale.value*=-1)),material.normalMap&&(uniforms.normalMap.value=material.normalMap,refreshTransformUniform(material.normalMap,uniforms.normalMapTransform),uniforms.normalScale.value.copy(material.normalScale),material.side===BackSide&&uniforms.normalScale.value.negate()),material.displacementMap&&(uniforms.displacementMap.value=material.displacementMap,refreshTransformUniform(material.displacementMap,uniforms.displacementMapTransform),uniforms.displacementScale.value=material.displacementScale,uniforms.displacementBias.value=material.displacementBias),material.emissiveMap&&(uniforms.emissiveMap.value=material.emissiveMap,refreshTransformUniform(material.emissiveMap,uniforms.emissiveMapTransform)),material.specularMap&&(uniforms.specularMap.value=material.specularMap,refreshTransformUniform(material.specularMap,uniforms.specularMapTransform)),material.alphaTest>0&&(uniforms.alphaTest.value=material.alphaTest);let materialProperties=properties.get(material),envMap=materialProperties.envMap,envMapRotation=materialProperties.envMapRotation;envMap&&(uniforms.envMap.value=envMap,uniforms.envMapRotation.value.setFromMatrix4(_m12.makeRotationFromEuler(envMapRotation)).transpose(),envMap.isCubeTexture&&envMap.isRenderTargetTexture===!1&&uniforms.envMapRotation.value.premultiply(_m),uniforms.reflectivity.value=material.reflectivity,uniforms.ior.value=material.ior,uniforms.refractionRatio.value=material.refractionRatio),material.lightMap&&(uniforms.lightMap.value=material.lightMap,uniforms.lightMapIntensity.value=material.lightMapIntensity,refreshTransformUniform(material.lightMap,uniforms.lightMapTransform)),material.aoMap&&(uniforms.aoMap.value=material.aoMap,uniforms.aoMapIntensity.value=material.aoMapIntensity,refreshTransformUniform(material.aoMap,uniforms.aoMapTransform));}function refreshUniformsLine(uniforms,material){uniforms.diffuse.value.copy(material.color),uniforms.opacity.value=material.opacity,material.map&&(uniforms.map.value=material.map,refreshTransformUniform(material.map,uniforms.mapTransform));}function refreshUniformsDash(uniforms,material){uniforms.dashSize.value=material.dashSize,uniforms.totalSize.value=material.dashSize+material.gapSize,uniforms.scale.value=material.scale;}function refreshUniformsPoints(uniforms,material,pixelRatio,height){uniforms.diffuse.value.copy(material.color),uniforms.opacity.value=material.opacity,uniforms.size.value=material.size*pixelRatio,uniforms.scale.value=height*.5,material.map&&(uniforms.map.value=material.map,refreshTransformUniform(material.map,uniforms.uvTransform)),material.alphaMap&&(uniforms.alphaMap.value=material.alphaMap,refreshTransformUniform(material.alphaMap,uniforms.alphaMapTransform)),material.alphaTest>0&&(uniforms.alphaTest.value=material.alphaTest);}function refreshUniformsSprites(uniforms,material){uniforms.diffuse.value.copy(material.color),uniforms.opacity.value=material.opacity,uniforms.rotation.value=material.rotation,material.map&&(uniforms.map.value=material.map,refreshTransformUniform(material.map,uniforms.mapTransform)),material.alphaMap&&(uniforms.alphaMap.value=material.alphaMap,refreshTransformUniform(material.alphaMap,uniforms.alphaMapTransform)),material.alphaTest>0&&(uniforms.alphaTest.value=material.alphaTest);}function refreshUniformsPhong(uniforms,material){uniforms.specular.value.copy(material.specular),uniforms.shininess.value=Math.max(material.shininess,1e-4);}function refreshUniformsToon(uniforms,material){material.gradientMap&&(uniforms.gradientMap.value=material.gradientMap);}function refreshUniformsStandard(uniforms,material){uniforms.metalness.value=material.metalness,material.metalnessMap&&(uniforms.metalnessMap.value=material.metalnessMap,refreshTransformUniform(material.metalnessMap,uniforms.metalnessMapTransform)),uniforms.roughness.value=material.roughness,material.roughnessMap&&(uniforms.roughnessMap.value=material.roughnessMap,refreshTransformUniform(material.roughnessMap,uniforms.roughnessMapTransform)),material.envMap&&(uniforms.envMapIntensity.value=material.envMapIntensity);}function refreshUniformsPhysical(uniforms,material,transmissionRenderTarget){uniforms.ior.value=material.ior,material.sheen>0&&(uniforms.sheenColor.value.copy(material.sheenColor).multiplyScalar(material.sheen),uniforms.sheenRoughness.value=material.sheenRoughness,material.sheenColorMap&&(uniforms.sheenColorMap.value=material.sheenColorMap,refreshTransformUniform(material.sheenColorMap,uniforms.sheenColorMapTransform)),material.sheenRoughnessMap&&(uniforms.sheenRoughnessMap.value=material.sheenRoughnessMap,refreshTransformUniform(material.sheenRoughnessMap,uniforms.sheenRoughnessMapTransform))),material.clearcoat>0&&(uniforms.clearcoat.value=material.clearcoat,uniforms.clearcoatRoughness.value=material.clearcoatRoughness,material.clearcoatMap&&(uniforms.clearcoatMap.value=material.clearcoatMap,refreshTransformUniform(material.clearcoatMap,uniforms.clearcoatMapTransform)),material.clearcoatRoughnessMap&&(uniforms.clearcoatRoughnessMap.value=material.clearcoatRoughnessMap,refreshTransformUniform(material.clearcoatRoughnessMap,uniforms.clearcoatRoughnessMapTransform)),material.clearcoatNormalMap&&(uniforms.clearcoatNormalMap.value=material.clearcoatNormalMap,refreshTransformUniform(material.clearcoatNormalMap,uniforms.clearcoatNormalMapTransform),uniforms.clearcoatNormalScale.value.copy(material.clearcoatNormalScale),material.side===BackSide&&uniforms.clearcoatNormalScale.value.negate())),material.dispersion>0&&(uniforms.dispersion.value=material.dispersion),material.retroreflectivity>0&&(uniforms.retroreflectivity.value=material.retroreflectivity),material.iridescence>0&&(uniforms.iridescence.value=material.iridescence,uniforms.iridescenceIOR.value=material.iridescenceIOR,uniforms.iridescenceThicknessMinimum.value=material.iridescenceThicknessRange[0],uniforms.iridescenceThicknessMaximum.value=material.iridescenceThicknessRange[1],material.iridescenceMap&&(uniforms.iridescenceMap.value=material.iridescenceMap,refreshTransformUniform(material.iridescenceMap,uniforms.iridescenceMapTransform)),material.iridescenceThicknessMap&&(uniforms.iridescenceThicknessMap.value=material.iridescenceThicknessMap,refreshTransformUniform(material.iridescenceThicknessMap,uniforms.iridescenceThicknessMapTransform))),material.transmission>0&&(uniforms.transmission.value=material.transmission,uniforms.transmissionSamplerMap.value=transmissionRenderTarget.texture,uniforms.transmissionSamplerSize.value.set(transmissionRenderTarget.width,transmissionRenderTarget.height),material.transmissionMap&&(uniforms.transmissionMap.value=material.transmissionMap,refreshTransformUniform(material.transmissionMap,uniforms.transmissionMapTransform)),uniforms.thickness.value=material.thickness,material.thicknessMap&&(uniforms.thicknessMap.value=material.thicknessMap,refreshTransformUniform(material.thicknessMap,uniforms.thicknessMapTransform)),uniforms.attenuationDistance.value=material.attenuationDistance,uniforms.attenuationColor.value.copy(material.attenuationColor)),material.anisotropy>0&&(uniforms.anisotropyVector.value.set(material.anisotropy*Math.cos(material.anisotropyRotation),material.anisotropy*Math.sin(material.anisotropyRotation)),material.anisotropyMap&&(uniforms.anisotropyMap.value=material.anisotropyMap,refreshTransformUniform(material.anisotropyMap,uniforms.anisotropyMapTransform))),uniforms.specularIntensity.value=material.specularIntensity,uniforms.specularColor.value.copy(material.specularColor),material.specularColorMap&&(uniforms.specularColorMap.value=material.specularColorMap,refreshTransformUniform(material.specularColorMap,uniforms.specularColorMapTransform)),material.specularIntensityMap&&(uniforms.specularIntensityMap.value=material.specularIntensityMap,refreshTransformUniform(material.specularIntensityMap,uniforms.specularIntensityMapTransform));}function refreshUniformsMatcap(uniforms,material){material.matcap&&(uniforms.matcap.value=material.matcap);}function refreshUniformsDistance(uniforms,material){let light=properties.get(material).light;uniforms.referencePosition.value.setFromMatrixPosition(light.matrixWorld),uniforms.nearDistance.value=light.shadow.camera.near,uniforms.farDistance.value=light.shadow.camera.far;}return{refreshFogUniforms,refreshMaterialUniforms};}function WebGLUniformsGroups(gl,info,capabilities,state){let buffers={},updateList={},allocatedBindingPoints=[],maxBindingPoints=gl.getParameter(gl.MAX_UNIFORM_BUFFER_BINDINGS);function bind(uniformsGroup,program){let webglProgram=program.program;state.uniformBlockBinding(uniformsGroup,webglProgram);}function update(uniformsGroup,program){let buffer=buffers[uniformsGroup.id];buffer===void 0&&(prepareUniformsGroup(uniformsGroup),buffer=createBuffer(uniformsGroup),buffers[uniformsGroup.id]=buffer,uniformsGroup.addEventListener(\"dispose\",onUniformsGroupsDispose));let webglProgram=program.program;state.updateUBOMapping(uniformsGroup,webglProgram);let frame=info.render.frame;updateList[uniformsGroup.id]!==frame&&(updateBufferData(uniformsGroup),updateList[uniformsGroup.id]=frame);}function createBuffer(uniformsGroup){let bindingPointIndex=allocateBindingPointIndex();uniformsGroup.__bindingPointIndex=bindingPointIndex;let buffer=gl.createBuffer(),size=uniformsGroup.__size,usage=uniformsGroup.usage;return gl.bindBuffer(gl.UNIFORM_BUFFER,buffer),gl.bufferData(gl.UNIFORM_BUFFER,size,usage),gl.bindBuffer(gl.UNIFORM_BUFFER,null),gl.bindBufferBase(gl.UNIFORM_BUFFER,bindingPointIndex,buffer),buffer;}function allocateBindingPointIndex(){for(let i=0;i<maxBindingPoints;i++)if(allocatedBindingPoints.indexOf(i)===-1)return allocatedBindingPoints.push(i),i;return error(\"WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.\"),0;}function updateBufferData(uniformsGroup){let buffer=buffers[uniformsGroup.id],uniforms=uniformsGroup.uniforms,cache=uniformsGroup.__cache;gl.bindBuffer(gl.UNIFORM_BUFFER,buffer);for(let i=0,il=uniforms.length;i<il;i++){let uniformItem=uniforms[i];if(Array.isArray(uniformItem))for(let j=0,jl=uniformItem.length;j<jl;j++)updateUniform(uniformItem[j],i,j,cache);else updateUniform(uniformItem,i,0,cache);}gl.bindBuffer(gl.UNIFORM_BUFFER,null);}function updateUniform(uniform,index,indexArray,cache){if(hasUniformChanged(uniform,index,indexArray,cache)===!0){let offset=uniform.__offset,value=uniform.value;if(Array.isArray(value)){let arrayOffset=0;for(let k=0;k<value.length;k++){let val=value[k],info2=getUniformSize(val);writeUniformValue(val,uniform.__data,arrayOffset),typeof val!=\"number\"&&typeof val!=\"boolean\"&&!val.isMatrix3&&!ArrayBuffer.isView(val)&&(arrayOffset+=info2.storage/Float32Array.BYTES_PER_ELEMENT);}}else writeUniformValue(value,uniform.__data,0);gl.bufferSubData(gl.UNIFORM_BUFFER,offset,uniform.__data);}}function writeUniformValue(value,data,offset){typeof value==\"number\"||typeof value==\"boolean\"?data[0]=value:value.isMatrix3?(data[0]=value.elements[0],data[1]=value.elements[1],data[2]=value.elements[2],data[3]=0,data[4]=value.elements[3],data[5]=value.elements[4],data[6]=value.elements[5],data[7]=0,data[8]=value.elements[6],data[9]=value.elements[7],data[10]=value.elements[8],data[11]=0):ArrayBuffer.isView(value)?data.set(new value.constructor(value.buffer,value.byteOffset,data.length)):value.toArray(data,offset);}function hasUniformChanged(uniform,index,indexArray,cache){let value=uniform.value,indexString=index+\"_\"+indexArray;if(cache[indexString]===void 0)return typeof value==\"number\"||typeof value==\"boolean\"?cache[indexString]=value:ArrayBuffer.isView(value)?cache[indexString]=value.slice():cache[indexString]=value.clone(),!0;{let cachedObject=cache[indexString];if(typeof value==\"number\"||typeof value==\"boolean\"){if(cachedObject!==value)return cache[indexString]=value,!0;}else{if(ArrayBuffer.isView(value))return!0;if(cachedObject.equals(value)===!1)return cachedObject.copy(value),!0;}}return!1;}function prepareUniformsGroup(uniformsGroup){let uniforms=uniformsGroup.uniforms,offset=0,chunkSize=16;for(let i=0,l=uniforms.length;i<l;i++){let uniformArray=Array.isArray(uniforms[i])?uniforms[i]:[uniforms[i]];for(let j=0,jl=uniformArray.length;j<jl;j++){let uniform=uniformArray[j],values=Array.isArray(uniform.value)?uniform.value:[uniform.value];for(let k=0,kl=values.length;k<kl;k++){let value=values[k],info2=getUniformSize(value),chunkOffset2=offset%chunkSize,chunkPadding=chunkOffset2%info2.boundary,chunkStart=chunkOffset2+chunkPadding;offset+=chunkPadding,chunkStart!==0&&chunkSize-chunkStart<info2.storage&&(offset+=chunkSize-chunkStart),uniform.__data=new Float32Array(info2.storage/Float32Array.BYTES_PER_ELEMENT),uniform.__offset=offset,offset+=info2.storage;}}}let chunkOffset=offset%chunkSize;return chunkOffset>0&&(offset+=chunkSize-chunkOffset),uniformsGroup.__size=offset,uniformsGroup.__cache={},this;}function getUniformSize(value){let info2={boundary:0,storage:0};return typeof value==\"number\"||typeof value==\"boolean\"?(info2.boundary=4,info2.storage=4):value.isVector2?(info2.boundary=8,info2.storage=8):value.isVector3||value.isColor?(info2.boundary=16,info2.storage=12):value.isVector4?(info2.boundary=16,info2.storage=16):value.isMatrix3?(info2.boundary=48,info2.storage=48):value.isMatrix4?(info2.boundary=64,info2.storage=64):value.isTexture?warn(\"WebGLRenderer: Texture samplers can not be part of an uniforms group.\"):ArrayBuffer.isView(value)?(info2.boundary=16,info2.storage=value.byteLength):warn(\"WebGLRenderer: Unsupported uniform value type.\",value),info2;}function onUniformsGroupsDispose(event){let uniformsGroup=event.target;uniformsGroup.removeEventListener(\"dispose\",onUniformsGroupsDispose);let index=allocatedBindingPoints.indexOf(uniformsGroup.__bindingPointIndex);allocatedBindingPoints.splice(index,1),gl.deleteBuffer(buffers[uniformsGroup.id]),delete buffers[uniformsGroup.id],delete updateList[uniformsGroup.id];}function dispose(){for(let id in buffers)gl.deleteBuffer(buffers[id]);allocatedBindingPoints=[],buffers={},updateList={};}return{bind,update,dispose};}var DATA=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]),lut=null;function getDFGLUT(){return lut===null&&(lut=new DataTexture(DATA,16,16,RGFormat,HalfFloatType),lut.name=\"DFG_LUT\",lut.minFilter=LinearFilter,lut.magFilter=LinearFilter,lut.wrapS=ClampToEdgeWrapping,lut.wrapT=ClampToEdgeWrapping,lut.generateMipmaps=!1,lut.needsUpdate=!0),lut;}var WebGLRenderer=class{get coordinateSystem(){return WebGLCoordinateSystem;}get outputColorSpace(){return this._outputColorSpace;}set outputColorSpace(colorSpace){this._outputColorSpace=colorSpace;let gl=this.getContext();gl.drawingBufferColorSpace=ColorManagement._getDrawingBufferColorSpace(colorSpace),gl.unpackColorSpace=ColorManagement._getUnpackColorSpace();}constructor(parameters={}){let{canvas=createCanvasElement(),context=null,depth=!0,stencil=!1,alpha=!1,antialias=!1,premultipliedAlpha=!0,preserveDrawingBuffer=!1,powerPreference=\"default\",failIfMajorPerformanceCaveat=!1,reversedDepthBuffer=!1,outputBufferType=UnsignedByteType}=parameters;this.isWebGLRenderer=!0;let _alpha;if(context!==null){if(typeof WebGLRenderingContext<\"u\"&&context instanceof WebGLRenderingContext)throw new Error(\"THREE.WebGLRenderer: WebGL 1 is not supported since r163.\");_alpha=context.getContextAttributes().alpha;}else _alpha=alpha;let _outputBufferType=outputBufferType,INTEGER_FORMATS=new Set([RGBAIntegerFormat,RGIntegerFormat,RedIntegerFormat]),UNSIGNED_TYPES=new Set([UnsignedByteType,UnsignedIntType,UnsignedShortType,UnsignedInt248Type,UnsignedShort4444Type,UnsignedShort5551Type]),uintClearColor=new Uint32Array(4),intClearColor=new Int32Array(4),objectPosition=new Vector3,currentRenderList=null,currentRenderState=null,renderListStack=[],renderStateStack=[],output=null;this.domElement=canvas,this.debug={checkShaderErrors:!0,diagnostics:{keywords:!1},onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=NoToneMapping,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let _this=this,_isContextLost=!1,_nodesHandler=null,_scratchFramebuffer=null,_srcFramebuffer=null,_dstFramebuffer=null;this._outputColorSpace=SRGBColorSpace;let _currentActiveCubeFace=0,_currentActiveMipmapLevel=0,_currentRenderTarget=null,_currentMaterialId=-1,_currentCamera=null,_currentViewport=new Vector4,_currentScissor=new Vector4,_currentScissorTest=null,_currentClearColor=new Color(0),_currentClearAlpha=0,_width=canvas.width,_height=canvas.height,_pixelRatio=1,_opaqueSort=null,_transparentSort=null,_viewport=new Vector4(0,0,_width,_height),_scissor=new Vector4(0,0,_width,_height),_scissorTest=!1,_frustum=new Frustum,_clippingEnabled=!1,_localClippingEnabled=!1,_projScreenMatrix3=new Matrix4,_vector3=new Vector3,_vector42=new Vector4,_emptyScene={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},_renderBackground=!1;function getTargetPixelRatio(){return _currentRenderTarget===null?_pixelRatio:1;}let _gl=context;function getContext(contextName,contextAttributes){return canvas.getContext(contextName,contextAttributes);}let extensions,capabilities,state,info,properties,textures,environments,attributes,geometries,objects,programCache,materials,renderLists,renderStates,clipping,shadowMap,background,morphtargets,bufferRenderer,indexedBufferRenderer,utils,bindingStates,uniformsGroups;try{let contextAttributes={alpha:!0,depth,stencil,antialias,premultipliedAlpha,preserveDrawingBuffer,powerPreference,failIfMajorPerformanceCaveat};if(\"setAttribute\"in canvas&&canvas.setAttribute(\"data-engine\",`three.js r${\"186\"}`),canvas.addEventListener(\"webglcontextlost\",onContextLost,!1),canvas.addEventListener(\"webglcontextrestored\",onContextRestore,!1),canvas.addEventListener(\"webglcontextcreationerror\",onContextCreationError,!1),_gl===null){let contextName=\"webgl2\";if(_gl=getContext(contextName,contextAttributes),_gl===null)throw getContext(contextName)?new Error(\"THREE.WebGLRenderer: Error creating WebGL context with your selected attributes.\"):new Error(\"THREE.WebGLRenderer: Error creating WebGL context.\");}initGLContext();}catch(e){throw canvas.removeEventListener(\"webglcontextlost\",onContextLost,!1),canvas.removeEventListener(\"webglcontextrestored\",onContextRestore,!1),canvas.removeEventListener(\"webglcontextcreationerror\",onContextCreationError,!1),error(\"WebGLRenderer: \"+e.message),e;}function initGLContext(){extensions=new WebGLExtensions(_gl),extensions.init(),utils=new WebGLUtils(_gl,extensions),capabilities=new WebGLCapabilities(_gl,extensions,parameters,utils),state=new WebGLState(_gl,extensions),capabilities.reversedDepthBuffer&&reversedDepthBuffer&&state.buffers.depth.setReversed(!0),_scratchFramebuffer=_gl.createFramebuffer(),_srcFramebuffer=_gl.createFramebuffer(),_dstFramebuffer=_gl.createFramebuffer(),info=new WebGLInfo(_gl),properties=new WebGLProperties,textures=new WebGLTextures(_gl,extensions,state,properties,capabilities,utils,info),environments=new WebGLEnvironments(_this),attributes=new WebGLAttributes(_gl),bindingStates=new WebGLBindingStates(_gl,attributes),geometries=new WebGLGeometries(_gl,attributes,info,bindingStates),objects=new WebGLObjects(_gl,geometries,attributes,bindingStates,info),morphtargets=new WebGLMorphtargets(_gl,capabilities,textures),clipping=new WebGLClipping(properties),programCache=new WebGLPrograms(_this,environments,extensions,capabilities,bindingStates,clipping),materials=new WebGLMaterials(_this,properties),renderLists=new WebGLRenderLists,renderStates=new WebGLRenderStates(extensions),background=new WebGLBackground(_this,environments,state,objects,_alpha,premultipliedAlpha),shadowMap=new WebGLShadowMap(_this,objects,capabilities),uniformsGroups=new WebGLUniformsGroups(_gl,info,capabilities,state),bufferRenderer=new WebGLBufferRenderer(_gl,extensions,info),indexedBufferRenderer=new WebGLIndexedBufferRenderer(_gl,extensions,info),info.programs=programCache.programs,_this.capabilities=capabilities,_this.extensions=extensions,_this.properties=properties,_this.renderLists=renderLists,_this.shadowMap=shadowMap,_this.state=state,_this.info=info;}_outputBufferType!==UnsignedByteType&&(output=new WebGLOutput(_outputBufferType,canvas.width,canvas.height,antialias,depth,stencil));let xr=new WebXRManager(_this,_gl);this.xr=xr,this.getContext=function(){return _gl;},this.getContextAttributes=function(){return _gl.getContextAttributes();},this.forceContextLoss=function(){let extension=extensions.get(\"WEBGL_lose_context\");extension&&extension.loseContext();},this.forceContextRestore=function(){let extension=extensions.get(\"WEBGL_lose_context\");extension&&extension.restoreContext();},this.getPixelRatio=function(){return _pixelRatio;},this.setPixelRatio=function(value){value!==void 0&&(_pixelRatio=value,this.setSize(_width,_height,!1));},this.getSize=function(target){return target.set(_width,_height);},this.setSize=function(width,height,updateStyle=!0){if(xr.isPresenting){warn(\"WebGLRenderer: Can't change size while VR device is presenting.\");return;}_width=width,_height=height,canvas.width=Math.floor(width*_pixelRatio),canvas.height=Math.floor(height*_pixelRatio),updateStyle===!0&&(canvas.style.width=width+\"px\",canvas.style.height=height+\"px\"),output!==null&&output.setSize(canvas.width,canvas.height),this.setViewport(0,0,width,height);},this.getDrawingBufferSize=function(target){return target.set(_width*_pixelRatio,_height*_pixelRatio).floor();},this.setDrawingBufferSize=function(width,height,pixelRatio){_width=width,_height=height,_pixelRatio=pixelRatio,canvas.width=Math.floor(width*pixelRatio),canvas.height=Math.floor(height*pixelRatio),this.setViewport(0,0,width,height);},this.setEffects=function(effects){if(_outputBufferType===UnsignedByteType){error(\"WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.\");return;}if(effects){for(let i=0;i<effects.length;i++)if(effects[i].isOutputPass===!0){warn(\"WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.\");break;}}output.setEffects(effects||[]);},this.getCurrentViewport=function(target){return target.copy(_currentViewport);},this.getViewport=function(target){return target.copy(_viewport);},this.setViewport=function(x,y,width,height){x.isVector4?_viewport.set(x.x,x.y,x.z,x.w):_viewport.set(x,y,width,height),state.viewport(_currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).round());},this.getScissor=function(target){return target.copy(_scissor);},this.setScissor=function(x,y,width,height){x.isVector4?_scissor.set(x.x,x.y,x.z,x.w):_scissor.set(x,y,width,height),state.scissor(_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).round());},this.getScissorTest=function(){return _scissorTest;},this.setScissorTest=function(boolean){state.setScissorTest(_scissorTest=boolean);},this.setOpaqueSort=function(method){_opaqueSort=method;},this.setTransparentSort=function(method){_transparentSort=method;},this.getClearColor=function(target){return target.copy(background.getClearColor());},this.setClearColor=function(){background.setClearColor(...arguments);},this.getClearAlpha=function(){return background.getClearAlpha();},this.setClearAlpha=function(){background.setClearAlpha(...arguments);},this.clear=function(color=!0,depth2=!0,stencil2=!0){let bits=0;if(color){let isIntegerFormat=!1;if(_currentRenderTarget!==null){let targetFormat=_currentRenderTarget.texture.format;isIntegerFormat=INTEGER_FORMATS.has(targetFormat);}if(isIntegerFormat){let targetType=_currentRenderTarget.texture.type,isUnsignedType=UNSIGNED_TYPES.has(targetType),clearColor=background.getClearColor(),a=background.getClearAlpha(),r=clearColor.r,g=clearColor.g,b=clearColor.b;isUnsignedType?(uintClearColor[0]=r,uintClearColor[1]=g,uintClearColor[2]=b,uintClearColor[3]=a,_gl.clearBufferuiv(_gl.COLOR,0,uintClearColor)):(intClearColor[0]=r,intClearColor[1]=g,intClearColor[2]=b,intClearColor[3]=a,_gl.clearBufferiv(_gl.COLOR,0,intClearColor));}else bits|=_gl.COLOR_BUFFER_BIT;}depth2&&(bits|=_gl.DEPTH_BUFFER_BIT,this.state.buffers.depth.setMask(!0)),stencil2&&(bits|=_gl.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),bits!==0&&_gl.clear(bits);},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(nodesHandler){nodesHandler.setRenderer(this),_nodesHandler=nodesHandler;},this.dispose=function(){canvas.removeEventListener(\"webglcontextlost\",onContextLost,!1),canvas.removeEventListener(\"webglcontextrestored\",onContextRestore,!1),canvas.removeEventListener(\"webglcontextcreationerror\",onContextCreationError,!1),background.dispose(),renderLists.dispose(),renderStates.dispose(),properties.dispose(),environments.dispose(),objects.dispose(),bindingStates.dispose(),uniformsGroups.dispose(),programCache.dispose(),xr.dispose(),xr.removeEventListener(\"sessionstart\",onXRSessionStart),xr.removeEventListener(\"sessionend\",onXRSessionEnd),animation.stop();};function onContextLost(event){event.preventDefault(),log(\"WebGLRenderer: Context Lost.\"),_isContextLost=!0;}function onContextRestore(){log(\"WebGLRenderer: Context Restored.\"),_isContextLost=!1;let infoAutoReset=info.autoReset,shadowMapEnabled=shadowMap.enabled,shadowMapAutoUpdate=shadowMap.autoUpdate,shadowMapNeedsUpdate=shadowMap.needsUpdate,shadowMapType=shadowMap.type;initGLContext(),info.autoReset=infoAutoReset,shadowMap.enabled=shadowMapEnabled,shadowMap.autoUpdate=shadowMapAutoUpdate,shadowMap.needsUpdate=shadowMapNeedsUpdate,shadowMap.type=shadowMapType;}function onContextCreationError(event){error(\"WebGLRenderer: A WebGL context could not be created. Reason: \",event.statusMessage);}function onMaterialDispose(event){let material=event.target;material.removeEventListener(\"dispose\",onMaterialDispose),deallocateMaterial(material);}function deallocateMaterial(material){releaseMaterialProgramReferences(material),properties.remove(material);}function releaseMaterialProgramReferences(material){let programs=properties.get(material).programs;programs!==void 0&&(programs.forEach(function(program){programCache.releaseProgram(program);}),material.isShaderMaterial&&programCache.releaseShaderCache(material));}this.renderBufferDirect=function(camera,scene,geometry,material,object,group){scene===null&&(scene=_emptyScene);let frontFaceCW=object.isMesh&&object.matrixWorld.determinantAffine()<0,program=setProgram(camera,scene,geometry,material,object);state.setMaterial(material,frontFaceCW);let index=geometry.index,rangeFactor=1;if(material.wireframe===!0){if(index=geometries.getWireframeAttribute(geometry),index===void 0)return;rangeFactor=2;}let drawRange=geometry.drawRange,position=geometry.attributes.position,drawStart=drawRange.start*rangeFactor,drawEnd=(drawRange.start+drawRange.count)*rangeFactor;group!==null&&(drawStart=Math.max(drawStart,group.start*rangeFactor),drawEnd=Math.min(drawEnd,(group.start+group.count)*rangeFactor)),index!==null?(drawStart=Math.max(drawStart,0),drawEnd=Math.min(drawEnd,index.count)):position!=null&&(drawStart=Math.max(drawStart,0),drawEnd=Math.min(drawEnd,position.count));let drawCount=drawEnd-drawStart;if(drawCount<0||drawCount===1/0)return;bindingStates.setup(object,material,program,geometry,index);let attribute,renderer=bufferRenderer;if(index!==null&&(attribute=attributes.get(index),renderer=indexedBufferRenderer,renderer.setIndex(attribute)),object.isMesh)material.wireframe===!0?(state.setLineWidth(material.wireframeLinewidth*getTargetPixelRatio()),renderer.setMode(_gl.LINES)):renderer.setMode(_gl.TRIANGLES);else if(object.isLine){let lineWidth=material.linewidth;lineWidth===void 0&&(lineWidth=1),state.setLineWidth(lineWidth*getTargetPixelRatio()),object.isLineSegments?renderer.setMode(_gl.LINES):object.isLineLoop?renderer.setMode(_gl.LINE_LOOP):renderer.setMode(_gl.LINE_STRIP);}else object.isPoints?renderer.setMode(_gl.POINTS):object.isSprite&&renderer.setMode(_gl.TRIANGLES);if(object.isBatchedMesh)if(extensions.get(\"WEBGL_multi_draw\"))renderer.renderMultiDraw(object._multiDrawStarts,object._multiDrawCounts,object._multiDrawCount);else{let starts=object._multiDrawStarts,counts=object._multiDrawCounts,drawCount2=object._multiDrawCount,bytesPerElement=index?attributes.get(index).bytesPerElement:1,uniforms=properties.get(material).currentProgram.getUniforms();for(let i=0;i<drawCount2;i++)uniforms.setValue(_gl,\"_gl_DrawID\",i),renderer.render(starts[i]/bytesPerElement,counts[i]);}else if(object.isInstancedMesh)renderer.renderInstances(drawStart,drawCount,object.count);else if(geometry.isInstancedBufferGeometry){let maxInstanceCount=geometry._maxInstanceCount!==void 0?geometry._maxInstanceCount:1/0,instanceCount=Math.min(geometry.instanceCount,maxInstanceCount);renderer.renderInstances(drawStart,drawCount,instanceCount);}else renderer.render(drawStart,drawCount);};function prepareMaterial(material,scene,camera,object){_nodesHandler!==null&&material.isNodeMaterial&&_nodesHandler.setObject(object,material),_clippingEnabled===!0&&clipping.setState(material,camera,!1),material.transparent===!0&&material.side===DoubleSide&&material.forceSinglePass===!1?(material.side=BackSide,material.needsUpdate=!0,getProgram(material,scene,object),material.side=FrontSide,material.needsUpdate=!0,getProgram(material,scene,object),material.side=DoubleSide):getProgram(material,scene,object);}this.compile=function(scene,camera,targetScene=null){targetScene===null&&(targetScene=scene),_nodesHandler!==null&&_nodesHandler.renderStart(scene,camera,targetScene),currentRenderState=renderStates.get(targetScene),currentRenderState.init(camera),renderStateStack.push(currentRenderState),targetScene.traverseVisible(function(object){object.isLight&&object.layers.test(camera.layers)&&(currentRenderState.pushLight(object),object.castShadow&&currentRenderState.pushShadow(object));}),scene!==targetScene&&scene.traverseVisible(function(object){object.isLight&&object.layers.test(camera.layers)&&(currentRenderState.pushLight(object),object.castShadow&&currentRenderState.pushShadow(object));}),currentRenderState.setupLights(),_nodesHandler!==null&&_nodesHandler.updateLights(currentRenderState.state.lightsArray),_localClippingEnabled=this.localClippingEnabled,_clippingEnabled=clipping.init(this.clippingPlanes,_localClippingEnabled),_clippingEnabled===!0&&clipping.setGlobalState(this.clippingPlanes,camera),_nodesHandler!==null&&shadowMap.render(currentRenderState.state.shadowsArray,targetScene,camera);let materials2=new Set;return scene.traverse(function(object){if(!(object.isMesh||object.isPoints||object.isLine||object.isSprite))return;let material=object.material;if(material)if(Array.isArray(material))for(let i=0;i<material.length;i++){let material2=material[i];prepareMaterial(material2,targetScene,camera,object),materials2.add(material2);}else prepareMaterial(material,targetScene,camera,object),materials2.add(material);}),currentRenderState=renderStateStack.pop(),_nodesHandler!==null&&_nodesHandler.renderEnd(),materials2;},this.compileAsync=function(scene,camera,targetScene=null){let materials2=this.compile(scene,camera,targetScene);return new Promise(resolve=>{function checkMaterialsReady(){if(materials2.forEach(function(material){let program=properties.get(material).currentProgram;(program===void 0||program.isReady())&&materials2.delete(material);}),materials2.size===0){resolve(scene);return;}setTimeout(checkMaterialsReady,10);}extensions.get(\"KHR_parallel_shader_compile\")!==null?checkMaterialsReady():setTimeout(checkMaterialsReady,10);});};let onAnimationFrameCallback=null;function onAnimationFrame(time){onAnimationFrameCallback&&onAnimationFrameCallback(time);}function onXRSessionStart(){animation.stop();}function onXRSessionEnd(){animation.start();}let animation=new WebGLAnimation;animation.setAnimationLoop(onAnimationFrame),typeof self<\"u\"&&animation.setContext(self),this.setAnimationLoop=function(callback){onAnimationFrameCallback=callback,xr.setAnimationLoop(callback),callback===null?animation.stop():animation.start();},xr.addEventListener(\"sessionstart\",onXRSessionStart),xr.addEventListener(\"sessionend\",onXRSessionEnd),this.render=function(scene,camera){if(camera!==void 0&&camera.isCamera!==!0){error(\"WebGLRenderer.render: camera is not an instance of THREE.Camera.\");return;}if(_isContextLost===!0)return;_nodesHandler!==null&&_nodesHandler.renderStart(scene,camera);let isXRPresenting=xr.enabled===!0&&xr.isPresenting===!0,useOutput=output!==null&&(_currentRenderTarget===null||isXRPresenting)&&output.begin(_this,_currentRenderTarget);if(scene.matrixWorldAutoUpdate===!0&&scene.updateMatrixWorld(),camera.parent===null&&camera.matrixWorldAutoUpdate===!0&&camera.updateMatrixWorld(),xr.enabled===!0&&xr.isPresenting===!0&&(output===null||output.isCompositing()===!1)&&(xr.cameraAutoUpdate===!0&&xr.updateCamera(camera),camera=xr.getCamera()),scene.isScene===!0&&scene.onBeforeRender(_this,scene,camera,_currentRenderTarget),currentRenderState=renderStates.get(scene,renderStateStack.length),currentRenderState.init(camera),currentRenderState.state.textureUnits=textures.getTextureUnits(),renderStateStack.push(currentRenderState),_projScreenMatrix3.multiplyMatrices(camera.projectionMatrix,camera.matrixWorldInverse),_frustum.setFromProjectionMatrix(_projScreenMatrix3,WebGLCoordinateSystem,camera.reversedDepth),_localClippingEnabled=this.localClippingEnabled,_clippingEnabled=clipping.init(this.clippingPlanes,_localClippingEnabled),currentRenderList=renderLists.get(scene,renderListStack.length),currentRenderList.init(),renderListStack.push(currentRenderList),xr.enabled===!0&&xr.isPresenting===!0){let depthSensingMesh=_this.xr.getDepthSensingMesh();depthSensingMesh!==null&&projectObject(depthSensingMesh,camera,-1/0,_this.sortObjects);}projectObject(scene,camera,0,_this.sortObjects),currentRenderList.finish(),_nodesHandler!==null&&_nodesHandler.updateLights(currentRenderState.state.lightsArray),_this.sortObjects===!0&&currentRenderList.sort(_opaqueSort,_transparentSort),_renderBackground=xr.enabled===!1||xr.isPresenting===!1||xr.hasDepthSensing()===!1,_renderBackground&&background.addToRenderList(currentRenderList,scene),this.info.render.frame++,this.info.autoReset===!0&&this.info.reset(),_clippingEnabled===!0&&clipping.beginShadows();let shadowsArray=currentRenderState.state.shadowsArray;if(shadowMap.render(shadowsArray,scene,camera),_clippingEnabled===!0&&clipping.endShadows(),(useOutput&&output.hasRenderPass())===!1){let opaqueObjects=currentRenderList.opaque,transmissiveObjects=currentRenderList.transmissive;if(currentRenderState.setupLights(),camera.isArrayCamera){let cameras=camera.cameras;if(transmissiveObjects.length>0)for(let i=0,l=cameras.length;i<l;i++){let camera2=cameras[i];renderTransmissionPass(opaqueObjects,transmissiveObjects,scene,camera2);}_renderBackground&&background.render(scene);for(let i=0,l=cameras.length;i<l;i++){let camera2=cameras[i];renderScene(currentRenderList,scene,camera2,camera2.viewport);}}else transmissiveObjects.length>0&&renderTransmissionPass(opaqueObjects,transmissiveObjects,scene,camera),_renderBackground&&background.render(scene),renderScene(currentRenderList,scene,camera);}_currentRenderTarget!==null&&_currentActiveMipmapLevel===0&&(textures.updateMultisampleRenderTarget(_currentRenderTarget),textures.updateRenderTargetMipmap(_currentRenderTarget)),useOutput&&output.end(_this),scene.isScene===!0&&scene.onAfterRender(_this,scene,camera),bindingStates.resetDefaultState(),_currentMaterialId=-1,_currentCamera=null,renderStateStack.pop(),renderStateStack.length>0?(currentRenderState=renderStateStack[renderStateStack.length-1],textures.setTextureUnits(currentRenderState.state.textureUnits),_clippingEnabled===!0&&clipping.setGlobalState(_this.clippingPlanes,currentRenderState.state.camera)):currentRenderState=null,renderListStack.pop(),renderListStack.length>0?currentRenderList=renderListStack[renderListStack.length-1]:currentRenderList=null,_nodesHandler!==null&&_nodesHandler.renderEnd();};function projectObject(object,camera,groupOrder,sortObjects){if(object.visible===!1)return;if(object.layers.test(camera.layers)){if(object.isGroup)groupOrder=object.renderOrder;else if(object.isLOD)object.autoUpdate===!0&&object.update(camera);else if(object.isLightProbeGrid)currentRenderState.pushLightProbeGrid(object);else if(object.isLight)currentRenderState.pushLight(object),object.castShadow&&currentRenderState.pushShadow(object);else if(object.isSprite){if(!object.frustumCulled||object.intersectsFrustum(_frustum)){sortObjects&&_vector42.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix3);let geometry=objects.update(object),material=object.material;material.visible&&currentRenderList.push(object,geometry,material,groupOrder,_vector42.z,null,camera);}}else if((object.isMesh||object.isLine||object.isPoints)&&(!object.frustumCulled||object.intersectsFrustum(_frustum))){let geometry=objects.update(object),material=object.material;if(sortObjects&&(object.boundingSphere!==void 0?(object.boundingSphere===null&&object.computeBoundingSphere(),_vector42.copy(object.boundingSphere.center)):(geometry.boundingSphere===null&&geometry.computeBoundingSphere(),_vector42.copy(geometry.boundingSphere.center)),_vector42.applyMatrix4(object.matrixWorld).applyMatrix4(_projScreenMatrix3)),Array.isArray(material)){let groups=geometry.groups;for(let i=0,l=groups.length;i<l;i++){let group=groups[i],groupMaterial=material[group.materialIndex];groupMaterial&&groupMaterial.visible&&currentRenderList.push(object,geometry,groupMaterial,groupOrder,_vector42.z,group,camera);}}else material.visible&&currentRenderList.push(object,geometry,material,groupOrder,_vector42.z,null,camera);}}let children=object.children;for(let i=0,l=children.length;i<l;i++)projectObject(children[i],camera,groupOrder,sortObjects);}function renderScene(currentRenderList2,scene,camera,viewport){let{opaque:opaqueObjects,transmissive:transmissiveObjects,transparent:transparentObjects}=currentRenderList2;currentRenderState.setupLightsView(camera),_clippingEnabled===!0&&clipping.setGlobalState(_this.clippingPlanes,camera),viewport&&state.viewport(_currentViewport.copy(viewport)),opaqueObjects.length>0&&renderObjects(opaqueObjects,scene,camera),transmissiveObjects.length>0&&renderObjects(transmissiveObjects,scene,camera),transparentObjects.length>0&&renderObjects(transparentObjects,scene,camera),state.buffers.depth.setTest(!0),state.buffers.depth.setMask(!0),state.buffers.color.setMask(!0),state.setPolygonOffset(!1);}function renderTransmissionPass(opaqueObjects,transmissiveObjects,scene,camera){if((scene.isScene===!0?scene.overrideMaterial:null)!==null)return;if(currentRenderState.state.transmissionRenderTarget[camera.id]===void 0){let hasHalfFloatSupport=extensions.has(\"EXT_color_buffer_half_float\")||extensions.has(\"EXT_color_buffer_float\");currentRenderState.state.transmissionRenderTarget[camera.id]=new WebGLRenderTarget(1,1,{generateMipmaps:!0,type:hasHalfFloatSupport?HalfFloatType:UnsignedByteType,minFilter:LinearMipmapLinearFilter,samples:Math.max(4,capabilities.samples),stencilBuffer:stencil,resolveDepthBuffer:!1,resolveStencilBuffer:!1,storeMultisampledDepthBuffer:!1,storeMultisampledStencilBuffer:!1,colorSpace:ColorManagement.workingColorSpace});}let transmissionRenderTarget=currentRenderState.state.transmissionRenderTarget[camera.id],activeViewport=camera.viewport||_currentViewport;transmissionRenderTarget.setSize(activeViewport.z*_this.transmissionResolutionScale,activeViewport.w*_this.transmissionResolutionScale);let currentRenderTarget=_this.getRenderTarget(),currentActiveCubeFace=_this.getActiveCubeFace(),currentActiveMipmapLevel=_this.getActiveMipmapLevel();_this.setRenderTarget(transmissionRenderTarget),_this.getClearColor(_currentClearColor),_currentClearAlpha=_this.getClearAlpha(),_currentClearAlpha<1&&_this.setClearColor(16777215,.5),_this.clear(),_renderBackground&&background.render(scene);let currentToneMapping=_this.toneMapping;_this.toneMapping=NoToneMapping;let currentCameraViewport=camera.viewport;if(camera.viewport!==void 0&&(camera.viewport=void 0),currentRenderState.setupLightsView(camera),_clippingEnabled===!0&&clipping.setGlobalState(_this.clippingPlanes,camera),renderObjects(opaqueObjects,scene,camera),textures.updateMultisampleRenderTarget(transmissionRenderTarget),textures.updateRenderTargetMipmap(transmissionRenderTarget),extensions.has(\"WEBGL_multisampled_render_to_texture\")===!1){let renderTargetNeedsUpdate=!1;for(let i=0,l=transmissiveObjects.length;i<l;i++){let renderItem=transmissiveObjects[i],{object,geometry,material,group}=renderItem;if(material.side===DoubleSide&&object.layers.test(camera.layers)){let currentSide=material.side;material.side=BackSide,material.needsUpdate=!0,renderObject(object,scene,camera,geometry,material,group),material.side=currentSide,material.needsUpdate=!0,renderTargetNeedsUpdate=!0;}}renderTargetNeedsUpdate===!0&&(textures.updateMultisampleRenderTarget(transmissionRenderTarget),textures.updateRenderTargetMipmap(transmissionRenderTarget));}_this.setRenderTarget(currentRenderTarget,currentActiveCubeFace,currentActiveMipmapLevel),_this.setClearColor(_currentClearColor,_currentClearAlpha),currentCameraViewport!==void 0&&(camera.viewport=currentCameraViewport),_this.toneMapping=currentToneMapping;}function renderObjects(renderList,scene,camera){let overrideMaterial=scene.isScene===!0?scene.overrideMaterial:null;for(let i=0,l=renderList.length;i<l;i++){let renderItem=renderList[i],{object,geometry,group}=renderItem,material=renderItem.material;material.allowOverride===!0&&overrideMaterial!==null&&(material=overrideMaterial),object.layers.test(camera.layers)&&renderObject(object,scene,camera,geometry,material,group);}}function renderObject(object,scene,camera,geometry,material,group){_nodesHandler!==null&&material.isNodeMaterial&&_nodesHandler.setObject(object,material),object.onBeforeRender(_this,scene,camera,geometry,material,group),object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse,object.matrixWorld),object.normalMatrix.getNormalMatrix(object.modelViewMatrix),material.onBeforeRender(_this,scene,camera,geometry,object,group),material.transparent===!0&&material.side===DoubleSide&&material.forceSinglePass===!1?(material.side=BackSide,material.needsUpdate=!0,_this.renderBufferDirect(camera,scene,geometry,material,object,group),material.side=FrontSide,material.needsUpdate=!0,_this.renderBufferDirect(camera,scene,geometry,material,object,group),material.side=DoubleSide):_this.renderBufferDirect(camera,scene,geometry,material,object,group),object.onAfterRender(_this,scene,camera,geometry,material,group);}function getProgram(material,scene,object){scene.isScene!==!0&&(scene=_emptyScene);let materialProperties=properties.get(material),lights=currentRenderState.state.lights,shadowsArray=currentRenderState.state.shadowsArray,lightsStateVersion=lights.state.version,parameters2=programCache.getParameters(material,lights.state,shadowsArray,scene,object,currentRenderState.state.lightProbeGridArray),programCacheKey=programCache.getProgramCacheKey(parameters2),programs=materialProperties.programs;materialProperties.environment=material.isMeshStandardMaterial||material.isMeshLambertMaterial||material.isMeshPhongMaterial?scene.environment:null,materialProperties.fog=scene.fog;let usePMREM=material.isMeshStandardMaterial||material.isMeshLambertMaterial&&!material.envMap||material.isMeshPhongMaterial&&!material.envMap;materialProperties.envMap=environments.get(material.envMap||materialProperties.environment,usePMREM),materialProperties.envMapRotation=materialProperties.environment!==null&&material.envMap===null?scene.environmentRotation:material.envMapRotation,programs===void 0&&(material.addEventListener(\"dispose\",onMaterialDispose),programs=new Map,materialProperties.programs=programs);let program=programs.get(programCacheKey);if(program!==void 0){if(materialProperties.currentProgram===program&&materialProperties.lightsStateVersion===lightsStateVersion)return updateCommonMaterialProperties(material,parameters2),program;}else parameters2.uniforms=programCache.getUniforms(material),_nodesHandler!==null&&material.isNodeMaterial&&_nodesHandler.build(material,object,parameters2),material.onBeforeCompile(parameters2,_this),program=programCache.acquireProgram(parameters2,programCacheKey),programs.set(programCacheKey,program),materialProperties.uniforms=parameters2.uniforms;let uniforms=materialProperties.uniforms;return(!material.isShaderMaterial&&!material.isRawShaderMaterial||material.clipping===!0)&&(uniforms.clippingPlanes=clipping.uniform),updateCommonMaterialProperties(material,parameters2),materialProperties.needsLights=materialNeedsLights(material),materialProperties.lightsStateVersion=lightsStateVersion,materialProperties.needsLights&&(uniforms.ambientLightColor.value=lights.state.ambient,uniforms.lightProbe.value=lights.state.probe,uniforms.sunLights.value=lights.state.sun,uniforms.sunLightShadows.value=lights.state.sunShadow,uniforms.directionalLights.value=lights.state.directional,uniforms.directionalLightShadows.value=lights.state.directionalShadow,uniforms.spotLights.value=lights.state.spot,uniforms.spotLightShadows.value=lights.state.spotShadow,uniforms.rectAreaLights.value=lights.state.rectArea,uniforms.ltc_1.value=lights.state.rectAreaLTC1,uniforms.ltc_2.value=lights.state.rectAreaLTC2,uniforms.pointLights.value=lights.state.point,uniforms.pointLightShadows.value=lights.state.pointShadow,uniforms.hemisphereLights.value=lights.state.hemi,uniforms.sunShadowMatrix.value=lights.state.sunShadowMatrix,uniforms.sunShadowCascade.value=lights.state.sunShadowCascade,uniforms.directionalShadowMatrix.value=lights.state.directionalShadowMatrix,uniforms.spotLightMatrix.value=lights.state.spotLightMatrix,uniforms.spotLightMap.value=lights.state.spotLightMap,uniforms.pointShadowMatrix.value=lights.state.pointShadowMatrix),materialProperties.lightProbeGrid=currentRenderState.state.lightProbeGridArray.length>0,materialProperties.currentProgram=program,materialProperties.uniformsList=null,program;}function getUniformList(materialProperties){if(materialProperties.uniformsList===null){let progUniforms=materialProperties.currentProgram.getUniforms();materialProperties.uniformsList=WebGLUniforms.seqWithValue(progUniforms.seq,materialProperties.uniforms);}return materialProperties.uniformsList;}function updateCommonMaterialProperties(material,parameters2){let materialProperties=properties.get(material);materialProperties.outputColorSpace=parameters2.outputColorSpace,materialProperties.batching=parameters2.batching,materialProperties.batchingColor=parameters2.batchingColor,materialProperties.instancing=parameters2.instancing,materialProperties.instancingColor=parameters2.instancingColor,materialProperties.instancingMorph=parameters2.instancingMorph,materialProperties.skinning=parameters2.skinning,materialProperties.morphTargets=parameters2.morphTargets,materialProperties.morphNormals=parameters2.morphNormals,materialProperties.morphColors=parameters2.morphColors,materialProperties.morphTargetsCount=parameters2.morphTargetsCount,materialProperties.numClippingPlanes=parameters2.numClippingPlanes,materialProperties.numIntersection=parameters2.numClipIntersection,materialProperties.vertexAlphas=parameters2.vertexAlphas,materialProperties.vertexTangents=parameters2.vertexTangents,materialProperties.toneMapping=parameters2.toneMapping;}function findLightProbeGrid(volumes,object){if(volumes.length===0)return null;if(volumes.length===1)return volumes[0].texture!==null?volumes[0]:null;objectPosition.setFromMatrixPosition(object.matrixWorld);for(let i=0,l=volumes.length;i<l;i++){let v=volumes[i];if(v.texture!==null&&v.boundingBox.containsPoint(objectPosition))return v;}return null;}function setProgram(camera,scene,geometry,material,object){scene.isScene!==!0&&(scene=_emptyScene),textures.resetTextureUnits();let fog=scene.fog,environment=material.isMeshStandardMaterial||material.isMeshLambertMaterial||material.isMeshPhongMaterial?scene.environment:null,colorSpace=_currentRenderTarget===null?_this.outputColorSpace:_currentRenderTarget.isXRRenderTarget===!0?_currentRenderTarget.texture.colorSpace:ColorManagement.workingColorSpace,usePMREM=material.isMeshStandardMaterial||material.isMeshLambertMaterial&&!material.envMap||material.isMeshPhongMaterial&&!material.envMap,envMap=environments.get(material.envMap||environment,usePMREM),vertexAlphas=material.vertexColors===!0&&!!geometry.attributes.color&&geometry.attributes.color.itemSize===4,vertexTangents=!!geometry.attributes.tangent&&(!!material.normalMap||material.anisotropy>0),morphTargets=!!geometry.morphAttributes.position,morphNormals=!!geometry.morphAttributes.normal,morphColors=!!geometry.morphAttributes.color,toneMapping=NoToneMapping;material.toneMapped&&(_currentRenderTarget===null||_currentRenderTarget.isXRRenderTarget===!0)&&(toneMapping=_this.toneMapping);let morphAttribute=geometry.morphAttributes.position||geometry.morphAttributes.normal||geometry.morphAttributes.color,morphTargetsCount=morphAttribute!==void 0?morphAttribute.length:0,materialProperties=properties.get(material),lights=currentRenderState.state.lights;if(_clippingEnabled===!0&&(_localClippingEnabled===!0||camera!==_currentCamera)){let useCache=camera===_currentCamera&&material.id===_currentMaterialId;clipping.setState(material,camera,useCache);}let needsProgramChange=!1;material.version===materialProperties.__version?(materialProperties.needsLights&&materialProperties.lightsStateVersion!==lights.state.version||materialProperties.outputColorSpace!==colorSpace||object.isBatchedMesh&&materialProperties.batching===!1||!object.isBatchedMesh&&materialProperties.batching===!0||object.isBatchedMesh&&materialProperties.batchingColor===!0&&object._colorsTexture===null||object.isBatchedMesh&&materialProperties.batchingColor===!1&&object._colorsTexture!==null||object.isInstancedMesh&&materialProperties.instancing===!1||!object.isInstancedMesh&&materialProperties.instancing===!0||object.isSkinnedMesh&&materialProperties.skinning===!1||!object.isSkinnedMesh&&materialProperties.skinning===!0||object.isInstancedMesh&&materialProperties.instancingColor===!0&&object.instanceColor===null||object.isInstancedMesh&&materialProperties.instancingColor===!1&&object.instanceColor!==null||object.isInstancedMesh&&materialProperties.instancingMorph===!0&&object.morphTexture===null||object.isInstancedMesh&&materialProperties.instancingMorph===!1&&object.morphTexture!==null||materialProperties.envMap!==envMap||material.fog===!0&&materialProperties.fog!==fog||materialProperties.numClippingPlanes!==void 0&&(materialProperties.numClippingPlanes!==clipping.numPlanes||materialProperties.numIntersection!==clipping.numIntersection)||materialProperties.vertexAlphas!==vertexAlphas||materialProperties.vertexTangents!==vertexTangents||materialProperties.morphTargets!==morphTargets||materialProperties.morphNormals!==morphNormals||materialProperties.morphColors!==morphColors||materialProperties.toneMapping!==toneMapping||materialProperties.morphTargetsCount!==morphTargetsCount||!!materialProperties.lightProbeGrid!=currentRenderState.state.lightProbeGridArray.length>0)&&(needsProgramChange=!0):(needsProgramChange=!0,materialProperties.__version=material.version);let program=materialProperties.currentProgram;needsProgramChange===!0&&(program=getProgram(material,scene,object),_nodesHandler&&material.isNodeMaterial&&_nodesHandler.onUpdateProgram(material,program,materialProperties));let refreshProgram=!1,refreshMaterial=!1,refreshLights=!1,p_uniforms=program.getUniforms(),m_uniforms=materialProperties.uniforms;if(state.useProgram(program.program)&&(refreshProgram=!0,refreshMaterial=!0,refreshLights=!0),material.id!==_currentMaterialId&&(_currentMaterialId=material.id,refreshMaterial=!0),materialProperties.needsLights){let objectVolume=findLightProbeGrid(currentRenderState.state.lightProbeGridArray,object);materialProperties.lightProbeGrid!==objectVolume&&(materialProperties.lightProbeGrid=objectVolume,refreshMaterial=!0);}if(refreshProgram||_currentCamera!==camera){state.buffers.depth.getReversed()&&camera.reversedDepth!==!0&&(camera._reversedDepth=!0,camera.updateProjectionMatrix()),p_uniforms.setValue(_gl,\"projectionMatrix\",camera.projectionMatrix),p_uniforms.setValue(_gl,\"viewMatrix\",camera.matrixWorldInverse);let uCamPos=p_uniforms.map.cameraPosition;uCamPos!==void 0&&uCamPos.setValue(_gl,_vector3.setFromMatrixPosition(camera.matrixWorld)),capabilities.logarithmicDepthBuffer&&p_uniforms.setValue(_gl,\"logDepthBufFC\",2/(Math.log(camera.far+1)/Math.LN2)),(material.isMeshPhongMaterial||material.isMeshToonMaterial||material.isMeshLambertMaterial||material.isMeshBasicMaterial||material.isMeshStandardMaterial||material.isShaderMaterial)&&p_uniforms.setValue(_gl,\"isOrthographic\",camera.isOrthographicCamera===!0),_currentCamera!==camera&&(_currentCamera=camera,refreshMaterial=!0,refreshLights=!0);}if(materialProperties.needsLights&&(lights.state.sunShadowMap.length>0&&p_uniforms.setValue(_gl,\"sunShadowMap\",lights.state.sunShadowMap,textures),lights.state.directionalShadowMap.length>0&&p_uniforms.setValue(_gl,\"directionalShadowMap\",lights.state.directionalShadowMap,textures),lights.state.spotShadowMap.length>0&&p_uniforms.setValue(_gl,\"spotShadowMap\",lights.state.spotShadowMap,textures),lights.state.pointShadowMap.length>0&&p_uniforms.setValue(_gl,\"pointShadowMap\",lights.state.pointShadowMap,textures)),object.isSkinnedMesh){p_uniforms.setOptional(_gl,object,\"bindMatrix\"),p_uniforms.setOptional(_gl,object,\"bindMatrixInverse\");let skeleton=object.skeleton;skeleton&&(skeleton.boneTexture===null&&skeleton.computeBoneTexture(),p_uniforms.setValue(_gl,\"boneTexture\",skeleton.boneTexture,textures));}object.isBatchedMesh&&(p_uniforms.setOptional(_gl,object,\"batchingTexture\"),p_uniforms.setValue(_gl,\"batchingTexture\",object._matricesTexture,textures),p_uniforms.setOptional(_gl,object,\"batchingIdTexture\"),p_uniforms.setValue(_gl,\"batchingIdTexture\",object._indirectTexture,textures),p_uniforms.setOptional(_gl,object,\"batchingColorTexture\"),object._colorsTexture!==null&&p_uniforms.setValue(_gl,\"batchingColorTexture\",object._colorsTexture,textures));let morphAttributes=geometry.morphAttributes;if((morphAttributes.position!==void 0||morphAttributes.normal!==void 0||morphAttributes.color!==void 0)&&morphtargets.update(object,geometry,program),(refreshMaterial||materialProperties.receiveShadow!==object.receiveShadow)&&(materialProperties.receiveShadow=object.receiveShadow,p_uniforms.setValue(_gl,\"receiveShadow\",object.receiveShadow)),(material.isMeshStandardMaterial||material.isMeshLambertMaterial||material.isMeshPhongMaterial)&&material.envMap===null&&scene.environment!==null&&(m_uniforms.envMapIntensity.value=scene.environmentIntensity),m_uniforms.dfgLUT!==void 0&&(m_uniforms.dfgLUT.value=getDFGLUT()),refreshMaterial){if(p_uniforms.setValue(_gl,\"toneMappingExposure\",_this.toneMappingExposure),materialProperties.needsLights&&markUniformsLightsNeedsUpdate(m_uniforms,refreshLights),fog&&material.fog===!0&&materials.refreshFogUniforms(m_uniforms,fog),materials.refreshMaterialUniforms(m_uniforms,material,_pixelRatio,_height,currentRenderState.state.transmissionRenderTarget[camera.id]),materialProperties.needsLights&&materialProperties.lightProbeGrid){let volume=materialProperties.lightProbeGrid;m_uniforms.probesSH.value=volume.texture,m_uniforms.probesMin.value.copy(volume.boundingBox.min),m_uniforms.probesMax.value.copy(volume.boundingBox.max),m_uniforms.probesResolution.value.copy(volume.resolution);}WebGLUniforms.upload(_gl,getUniformList(materialProperties),m_uniforms,textures);}if(material.isShaderMaterial&&material.uniformsNeedUpdate===!0&&(WebGLUniforms.upload(_gl,getUniformList(materialProperties),m_uniforms,textures),material.uniformsNeedUpdate=!1),material.isSpriteMaterial&&p_uniforms.setValue(_gl,\"center\",object.center),p_uniforms.setValue(_gl,\"modelViewMatrix\",object.modelViewMatrix),p_uniforms.setValue(_gl,\"normalMatrix\",object.normalMatrix),p_uniforms.setValue(_gl,\"modelMatrix\",object.matrixWorld),material.uniformsGroups!==void 0){let groups=material.uniformsGroups;for(let i=0,l=groups.length;i<l;i++){let group=groups[i];uniformsGroups.update(group,program),uniformsGroups.bind(group,program);}}return program;}function markUniformsLightsNeedsUpdate(uniforms,value){uniforms.ambientLightColor.needsUpdate=value,uniforms.lightProbe.needsUpdate=value,uniforms.sunLights.needsUpdate=value,uniforms.sunLightShadows.needsUpdate=value,uniforms.directionalLights.needsUpdate=value,uniforms.directionalLightShadows.needsUpdate=value,uniforms.pointLights.needsUpdate=value,uniforms.pointLightShadows.needsUpdate=value,uniforms.spotLights.needsUpdate=value,uniforms.spotLightShadows.needsUpdate=value,uniforms.rectAreaLights.needsUpdate=value,uniforms.hemisphereLights.needsUpdate=value;}function materialNeedsLights(material){return material.isMeshLambertMaterial||material.isMeshToonMaterial||material.isMeshPhongMaterial||material.isMeshStandardMaterial||material.isShadowMaterial||material.isShaderMaterial&&material.lights===!0;}this.getActiveCubeFace=function(){return _currentActiveCubeFace;},this.getActiveMipmapLevel=function(){return _currentActiveMipmapLevel;},this.getRenderTarget=function(){return _currentRenderTarget;},this.setRenderTargetTextures=function(renderTarget,colorTexture,depthTexture){let renderTargetProperties=properties.get(renderTarget);renderTargetProperties.__autoAllocateDepthBuffer=renderTarget.resolveDepthBuffer===!1,renderTargetProperties.__autoAllocateDepthBuffer===!1&&(renderTargetProperties.__useRenderToTexture=!1),properties.get(renderTarget.texture).__webglTexture=colorTexture,properties.get(renderTarget.depthTexture).__webglTexture=renderTargetProperties.__autoAllocateDepthBuffer?void 0:depthTexture,renderTargetProperties.__hasExternalTextures=!0;},this.setRenderTargetFramebuffer=function(renderTarget,defaultFramebuffer){let renderTargetProperties=properties.get(renderTarget);renderTargetProperties.__webglFramebuffer=defaultFramebuffer,renderTargetProperties.__useDefaultFramebuffer=defaultFramebuffer===void 0;},this.setRenderTarget=function(renderTarget,activeCubeFace=0,activeMipmapLevel=0){_currentRenderTarget=renderTarget,_currentActiveCubeFace=activeCubeFace,_currentActiveMipmapLevel=activeMipmapLevel;let framebuffer=null,isCube=!1,isRenderTarget3D=!1;if(renderTarget){let renderTargetProperties=properties.get(renderTarget);if(renderTargetProperties.__useDefaultFramebuffer!==void 0){state.bindFramebuffer(_gl.FRAMEBUFFER,renderTargetProperties.__webglFramebuffer),_currentViewport.copy(renderTarget.viewport),_currentScissor.copy(renderTarget.scissor),_currentScissorTest=renderTarget.scissorTest,state.viewport(_currentViewport),state.scissor(_currentScissor),state.setScissorTest(_currentScissorTest),_currentMaterialId=-1;return;}else if(renderTargetProperties.__webglFramebuffer===void 0)textures.setupRenderTarget(renderTarget);else if(renderTargetProperties.__hasExternalTextures)textures.rebindTextures(renderTarget,properties.get(renderTarget.texture).__webglTexture,properties.get(renderTarget.depthTexture).__webglTexture);else if(renderTarget.depthBuffer){let depthTexture=renderTarget.depthTexture;if(renderTargetProperties.__boundDepthTexture!==depthTexture){if(depthTexture!==null&&properties.has(depthTexture)&&(renderTarget.width!==depthTexture.image.width||renderTarget.height!==depthTexture.image.height))throw new Error(\"THREE.WebGLRenderer: Attached DepthTexture is initialized to the incorrect size.\");textures.setupDepthRenderbuffer(renderTarget);}}let texture=renderTarget.texture;(texture.isData3DTexture||texture.isDataArrayTexture||texture.isCompressedArrayTexture)&&(isRenderTarget3D=!0);let __webglFramebuffer=properties.get(renderTarget).__webglFramebuffer;renderTarget.isWebGLCubeRenderTarget?(Array.isArray(__webglFramebuffer[activeCubeFace])?framebuffer=__webglFramebuffer[activeCubeFace][activeMipmapLevel]:framebuffer=__webglFramebuffer[activeCubeFace],isCube=!0):renderTarget.samples>0&&textures.useMultisampledRTT(renderTarget)===!1?framebuffer=properties.get(renderTarget).__webglMultisampledFramebuffer:Array.isArray(__webglFramebuffer)?framebuffer=__webglFramebuffer[activeMipmapLevel]:framebuffer=__webglFramebuffer,_currentViewport.copy(renderTarget.viewport),_currentScissor.copy(renderTarget.scissor),_currentScissorTest=renderTarget.scissorTest;}else _currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor(),_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor(),_currentScissorTest=_scissorTest;if(activeMipmapLevel!==0&&(framebuffer=_scratchFramebuffer),state.bindFramebuffer(_gl.FRAMEBUFFER,framebuffer)&&state.drawBuffers(renderTarget,framebuffer),state.viewport(_currentViewport),state.scissor(_currentScissor),state.setScissorTest(_currentScissorTest),isCube){let textureProperties=properties.get(renderTarget.texture);_gl.framebufferTexture2D(_gl.FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_CUBE_MAP_POSITIVE_X+activeCubeFace,textureProperties.__webglTexture,activeMipmapLevel);}else if(isRenderTarget3D){let layer=activeCubeFace;for(let i=0;i<renderTarget.textures.length;i++){let textureProperties=properties.get(renderTarget.textures[i]);_gl.framebufferTextureLayer(_gl.FRAMEBUFFER,_gl.COLOR_ATTACHMENT0+i,textureProperties.__webglTexture,activeMipmapLevel,layer);}}else if(renderTarget!==null&&activeMipmapLevel!==0){let textureProperties=properties.get(renderTarget.texture);_gl.framebufferTexture2D(_gl.FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_2D,textureProperties.__webglTexture,activeMipmapLevel);}_currentMaterialId=-1;};function getReadableState(texture){let textureProperties=properties.get(texture);return(textureProperties.__readFormat!==texture.format||textureProperties.__readType!==texture.type)&&(textureProperties.__readFormat=texture.format,textureProperties.__readType=texture.type,textureProperties.__formatReadable=capabilities.textureFormatReadable(texture.format),textureProperties.__typeReadable=capabilities.textureTypeReadable(texture.type)),textureProperties;}this.readRenderTargetPixels=function(renderTarget,x,y,width,height,buffer,activeCubeFaceIndex,textureIndex=0){if(!(renderTarget&&renderTarget.isWebGLRenderTarget)){error(\"WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");return;}let framebuffer=properties.get(renderTarget).__webglFramebuffer;if(renderTarget.isWebGLCubeRenderTarget&&activeCubeFaceIndex!==void 0&&(framebuffer=framebuffer[activeCubeFaceIndex]),framebuffer){state.bindFramebuffer(_gl.FRAMEBUFFER,framebuffer);try{let texture=renderTarget.textures[textureIndex],textureFormat=texture.format,textureType=texture.type;renderTarget.textures.length>1&&_gl.readBuffer(_gl.COLOR_ATTACHMENT0+textureIndex);let readableState=getReadableState(texture);if(readableState.__formatReadable===!1){error(\"WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");return;}if(readableState.__typeReadable===!1){error(\"WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");return;}x>=0&&x<=renderTarget.width-width&&y>=0&&y<=renderTarget.height-height&&_gl.readPixels(x,y,width,height,utils.convert(textureFormat),utils.convert(textureType),buffer);}finally{let framebuffer2=_currentRenderTarget!==null?properties.get(_currentRenderTarget).__webglFramebuffer:null;state.bindFramebuffer(_gl.FRAMEBUFFER,framebuffer2);}}},this.readRenderTargetPixelsAsync=async function(renderTarget,x,y,width,height,buffer,activeCubeFaceIndex,textureIndex=0){if(!(renderTarget&&renderTarget.isWebGLRenderTarget))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let framebuffer=properties.get(renderTarget).__webglFramebuffer;if(renderTarget.isWebGLCubeRenderTarget&&activeCubeFaceIndex!==void 0&&(framebuffer=framebuffer[activeCubeFaceIndex]),framebuffer)if(x>=0&&x<=renderTarget.width-width&&y>=0&&y<=renderTarget.height-height){state.bindFramebuffer(_gl.FRAMEBUFFER,framebuffer);let texture=renderTarget.textures[textureIndex],textureFormat=texture.format,textureType=texture.type;renderTarget.textures.length>1&&_gl.readBuffer(_gl.COLOR_ATTACHMENT0+textureIndex);let readableState=getReadableState(texture);if(readableState.__formatReadable===!1)throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.\");if(readableState.__typeReadable===!1)throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.\");let glBuffer=_gl.createBuffer();_gl.bindBuffer(_gl.PIXEL_PACK_BUFFER,glBuffer),_gl.bufferData(_gl.PIXEL_PACK_BUFFER,buffer.byteLength,_gl.STREAM_READ),_gl.readPixels(x,y,width,height,utils.convert(textureFormat),utils.convert(textureType),0),_gl.bindBuffer(_gl.PIXEL_PACK_BUFFER,null);let currFramebuffer=_currentRenderTarget!==null?properties.get(_currentRenderTarget).__webglFramebuffer:null;state.bindFramebuffer(_gl.FRAMEBUFFER,currFramebuffer);let sync=_gl.fenceSync(_gl.SYNC_GPU_COMMANDS_COMPLETE,0);return _gl.flush(),await probeAsync(_gl,sync,4),_gl.bindBuffer(_gl.PIXEL_PACK_BUFFER,glBuffer),_gl.getBufferSubData(_gl.PIXEL_PACK_BUFFER,0,buffer),_gl.bindBuffer(_gl.PIXEL_PACK_BUFFER,null),_gl.deleteBuffer(glBuffer),_gl.deleteSync(sync),buffer;}else throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.\");},this.copyFramebufferToTexture=function(texture,position=null,level=0){let levelScale=Math.pow(2,-level),width=Math.floor(texture.image.width*levelScale),height=Math.floor(texture.image.height*levelScale),x=position!==null?position.x:0,y=position!==null?position.y:0;textures.setTexture2D(texture,0),_gl.copyTexSubImage2D(_gl.TEXTURE_2D,level,0,0,x,y,width,height),state.unbindTexture();},this.copyTextureToTexture=function(srcTexture,dstTexture,srcRegion=null,dstPosition=null,srcLevel=0,dstLevel=0){let width,height,depth2,minX,minY,minZ,dstX,dstY,dstZ,image=srcTexture.isCompressedTexture?srcTexture.mipmaps[dstLevel]:srcTexture.image;if(srcRegion!==null)width=srcRegion.max.x-srcRegion.min.x,height=srcRegion.max.y-srcRegion.min.y,depth2=srcRegion.isBox3?srcRegion.max.z-srcRegion.min.z:1,minX=srcRegion.min.x,minY=srcRegion.min.y,minZ=srcRegion.isBox3?srcRegion.min.z:0;else{let levelScale=Math.pow(2,-srcLevel);width=Math.floor(image.width*levelScale),height=Math.floor(image.height*levelScale),srcTexture.isDataArrayTexture?depth2=image.depth:srcTexture.isData3DTexture?depth2=Math.floor(image.depth*levelScale):depth2=1,minX=0,minY=0,minZ=0;}dstPosition!==null?(dstX=dstPosition.x,dstY=dstPosition.y,dstZ=dstPosition.z):(dstX=0,dstY=0,dstZ=0);let glFormat=utils.convert(dstTexture.format),glType=utils.convert(dstTexture.type),glTarget;dstTexture.isData3DTexture?(textures.setTexture3D(dstTexture,0),glTarget=_gl.TEXTURE_3D):dstTexture.isDataArrayTexture||dstTexture.isCompressedArrayTexture?(textures.setTexture2DArray(dstTexture,0),glTarget=_gl.TEXTURE_2D_ARRAY):(textures.setTexture2D(dstTexture,0),glTarget=_gl.TEXTURE_2D),state.activeTexture(_gl.TEXTURE0),state.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL,dstTexture.flipY),state.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,dstTexture.premultiplyAlpha),state.pixelStorei(_gl.UNPACK_ALIGNMENT,dstTexture.unpackAlignment);let currentUnpackRowLen=state.getParameter(_gl.UNPACK_ROW_LENGTH),currentUnpackImageHeight=state.getParameter(_gl.UNPACK_IMAGE_HEIGHT),currentUnpackSkipPixels=state.getParameter(_gl.UNPACK_SKIP_PIXELS),currentUnpackSkipRows=state.getParameter(_gl.UNPACK_SKIP_ROWS),currentUnpackSkipImages=state.getParameter(_gl.UNPACK_SKIP_IMAGES);state.pixelStorei(_gl.UNPACK_ROW_LENGTH,image.width),state.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT,image.height),state.pixelStorei(_gl.UNPACK_SKIP_PIXELS,minX),state.pixelStorei(_gl.UNPACK_SKIP_ROWS,minY),state.pixelStorei(_gl.UNPACK_SKIP_IMAGES,minZ);let isSrc3D=srcTexture.isDataArrayTexture||srcTexture.isData3DTexture,isDst3D=dstTexture.isDataArrayTexture||dstTexture.isData3DTexture;if(srcTexture.isDepthTexture){let srcTextureProperties=properties.get(srcTexture),dstTextureProperties=properties.get(dstTexture),srcRenderTargetProperties=properties.get(srcTextureProperties.__renderTarget),dstRenderTargetProperties=properties.get(dstTextureProperties.__renderTarget);state.bindFramebuffer(_gl.READ_FRAMEBUFFER,srcRenderTargetProperties.__webglFramebuffer),state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,dstRenderTargetProperties.__webglFramebuffer);for(let i=0;i<depth2;i++)isSrc3D&&(_gl.framebufferTextureLayer(_gl.READ_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,properties.get(srcTexture).__webglTexture,srcLevel,minZ+i),_gl.framebufferTextureLayer(_gl.DRAW_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,properties.get(dstTexture).__webglTexture,dstLevel,dstZ+i)),_gl.blitFramebuffer(minX,minY,width,height,dstX,dstY,width,height,_gl.DEPTH_BUFFER_BIT,_gl.NEAREST);state.bindFramebuffer(_gl.READ_FRAMEBUFFER,null),state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,null);}else if(srcLevel!==0||srcTexture.isRenderTargetTexture||properties.has(srcTexture)){let srcTextureProperties=properties.get(srcTexture),dstTextureProperties=properties.get(dstTexture);state.bindFramebuffer(_gl.READ_FRAMEBUFFER,_srcFramebuffer),state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,_dstFramebuffer);for(let i=0;i<depth2;i++)isSrc3D?_gl.framebufferTextureLayer(_gl.READ_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,srcTextureProperties.__webglTexture,srcLevel,minZ+i):_gl.framebufferTexture2D(_gl.READ_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_2D,srcTextureProperties.__webglTexture,srcLevel),isDst3D?_gl.framebufferTextureLayer(_gl.DRAW_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,dstTextureProperties.__webglTexture,dstLevel,dstZ+i):_gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER,_gl.COLOR_ATTACHMENT0,_gl.TEXTURE_2D,dstTextureProperties.__webglTexture,dstLevel),srcLevel!==0?_gl.blitFramebuffer(minX,minY,width,height,dstX,dstY,width,height,_gl.COLOR_BUFFER_BIT,_gl.NEAREST):isDst3D?_gl.copyTexSubImage3D(glTarget,dstLevel,dstX,dstY,dstZ+i,minX,minY,width,height):_gl.copyTexSubImage2D(glTarget,dstLevel,dstX,dstY,minX,minY,width,height);state.bindFramebuffer(_gl.READ_FRAMEBUFFER,null),state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER,null);}else isDst3D?srcTexture.isDataTexture||srcTexture.isData3DTexture?_gl.texSubImage3D(glTarget,dstLevel,dstX,dstY,dstZ,width,height,depth2,glFormat,glType,image.data):dstTexture.isCompressedArrayTexture?_gl.compressedTexSubImage3D(glTarget,dstLevel,dstX,dstY,dstZ,width,height,depth2,glFormat,image.data):_gl.texSubImage3D(glTarget,dstLevel,dstX,dstY,dstZ,width,height,depth2,glFormat,glType,image):srcTexture.isDataTexture?_gl.texSubImage2D(_gl.TEXTURE_2D,dstLevel,dstX,dstY,width,height,glFormat,glType,image.data):srcTexture.isCompressedTexture?_gl.compressedTexSubImage2D(_gl.TEXTURE_2D,dstLevel,dstX,dstY,image.width,image.height,glFormat,image.data):_gl.texSubImage2D(_gl.TEXTURE_2D,dstLevel,dstX,dstY,width,height,glFormat,glType,image);state.pixelStorei(_gl.UNPACK_ROW_LENGTH,currentUnpackRowLen),state.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT,currentUnpackImageHeight),state.pixelStorei(_gl.UNPACK_SKIP_PIXELS,currentUnpackSkipPixels),state.pixelStorei(_gl.UNPACK_SKIP_ROWS,currentUnpackSkipRows),state.pixelStorei(_gl.UNPACK_SKIP_IMAGES,currentUnpackSkipImages),dstLevel===0&&dstTexture.generateMipmaps&&_gl.generateMipmap(glTarget),state.unbindTexture();},this.initRenderTarget=function(target){properties.get(target).__webglFramebuffer===void 0&&textures.setupRenderTarget(target);},this.initTexture=function(texture){texture.isCubeTexture?textures.setTextureCube(texture,0):texture.isData3DTexture?textures.setTexture3D(texture,0):texture.isDataArrayTexture||texture.isCompressedArrayTexture?textures.setTexture2DArray(texture,0):textures.setTexture2D(texture,0),state.unbindTexture();},this.resetState=function(){_currentActiveCubeFace=0,_currentActiveMipmapLevel=0,_currentRenderTarget=null,state.reset(),bindingStates.reset();},typeof __THREE_DEVTOOLS__<\"u\"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}));}};export{ACESFilmicToneMapping,AnimationClip,BackSide,Bone,BoxGeometry,BufferAttribute,BufferGeometry,CanvasTexture,CapsuleGeometry,ClampToEdgeWrapping,Color,ConeGeometry,CylinderGeometry,DirectionalLight,Euler,Group,HemisphereLight,InstancedMesh,LoaderUtils,MathUtils,Matrix4,Mesh,MeshBasicMaterial,MeshLambertMaterial,MeshPhysicalMaterial,MeshStandardMaterial,MirroredRepeatWrapping,NoColorSpace,Object3D,OrthographicCamera,PMREMGenerator,PerspectiveCamera,PointLight,Quaternion,QuaternionKeyframeTrack,RectAreaLight,RepeatWrapping,SRGBColorSpace,Scene,ShapeUtils,Skeleton,SkinnedMesh,SphereGeometry,SpotLight,Texture,Vector2,Vector3,Vector4,VectorKeyframeTrack,WebGLRenderer};\nexport const __FramerMetadata__ = {\"exports\":{\"LoaderUtils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MeshStandardMaterial\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MeshPhysicalMaterial\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Scene\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ClampToEdgeWrapping\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AnimationClip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MathUtils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Texture\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SkinnedMesh\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BoxGeometry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Vector3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SphereGeometry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuaternionKeyframeTrack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Matrix4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Euler\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BackSide\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ACESFilmicToneMapping\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BufferGeometry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SRGBColorSpace\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"OrthographicCamera\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Vector4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MirroredRepeatWrapping\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RectAreaLight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SpotLight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NoColorSpace\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BufferAttribute\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Group\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WebGLRenderer\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HemisphereLight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MeshBasicMaterial\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PointLight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Color\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConeGeometry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CanvasTexture\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PerspectiveCamera\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PMREMGenerator\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Quaternion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Bone\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CylinderGeometry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InstancedMesh\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShapeUtils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Vector2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Mesh\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RepeatWrapping\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MeshLambertMaterial\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CapsuleGeometry\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VectorKeyframeTrack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Skeleton\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DirectionalLight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Object3D\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./THREE.map","// @ts-nocheck\n/**\n * @license\n * Copyright 2010-2026 Three.js Authors\n * SPDX-License-Identifier: MIT\n */const textDecoder=new TextDecoder;// Pre-computed half-float exponent lookup table for fast conversion\n// Math.pow(2, exp - 15) for exp = 0..31\nconst HALF_EXPONENT_TABLE=new Float32Array(32);for(let i=0;i<32;i++){HALF_EXPONENT_TABLE[i]=Math.pow(2,i-15);}// Pre-computed constant for denormalized half-floats: 2^-14\nconst HALF_DENORM_SCALE=Math.pow(2,-14);// Type enum values from crateDataTypes.h\nconst TypeEnum={Invalid:0,Bool:1,UChar:2,Int:3,UInt:4,Int64:5,UInt64:6,Half:7,Float:8,Double:9,String:10,Token:11,AssetPath:12,Matrix2d:13,Matrix3d:14,Matrix4d:15,Quatd:16,Quatf:17,Quath:18,Vec2d:19,Vec2f:20,Vec2h:21,Vec2i:22,Vec3d:23,Vec3f:24,Vec3h:25,Vec3i:26,Vec4d:27,Vec4f:28,Vec4h:29,Vec4i:30,Dictionary:31,TokenListOp:32,StringListOp:33,PathListOp:34,ReferenceListOp:35,IntListOp:36,Int64ListOp:37,UIntListOp:38,UInt64ListOp:39,PathVector:40,TokenVector:41,Specifier:42,Permission:43,Variability:44,VariantSelectionMap:45,TimeSamples:46,Payload:47,DoubleVector:48,LayerOffsetVector:49,StringVector:50,ValueBlock:51,Value:52,UnregisteredValue:53,UnregisteredValueListOp:54,PayloadListOp:55,TimeCode:56,PathExpression:57,Relocates:58,Spline:59,AnimationBlock:60};// Field set terminator marker\nconst FIELD_SET_TERMINATOR=4294967295;// Float compression type codes\nconst FLOAT_COMPRESSION_INT=105// 'i' - compressed as integers\n;const FLOAT_COMPRESSION_LUT=116// 't' - lookup table\n;// ============================================================================\n// LZ4 Decompression (minimal implementation for USD)\n// Based on LZ4 block format specification\n// ============================================================================\nfunction lz4DecompressBlock(input,inputOffset,inputEnd,output,outputOffset,outputEnd){while(inputOffset<inputEnd){// Read token\nconst token=input[inputOffset++];if(inputOffset>inputEnd)break;// Literal length\nlet literalLength=token>>4;if(literalLength===15){let b;do{if(inputOffset>=inputEnd)break;b=input[inputOffset++];literalLength+=b;}while(b===255&&inputOffset<inputEnd)}// Copy literals\nif(literalLength>0){if(inputOffset+literalLength>inputEnd){literalLength=inputEnd-inputOffset;}for(let i=0;i<literalLength;i++){if(outputOffset>=outputEnd)break;output[outputOffset++]=input[inputOffset++];}}// Check if we're at the end (last sequence has no match)\nif(inputOffset>=inputEnd)break;// Read match offset (little-endian 16-bit)\nif(inputOffset+2>inputEnd)break;const matchOffset=input[inputOffset++]|input[inputOffset++]<<8;if(matchOffset===0){break;}// Match length\nlet matchLength=(token&15)+4;if(matchLength===19){let b;do{if(inputOffset>=inputEnd)break;b=input[inputOffset++];matchLength+=b;}while(b===255&&inputOffset<inputEnd)}// Copy match (byte-by-byte to handle overlapping)\nconst matchPos=outputOffset-matchOffset;if(matchPos<0){break;}for(let i=0;i<matchLength;i++){if(outputOffset>=outputEnd)break;output[outputOffset++]=output[matchPos+i];}}return outputOffset;}// USD uses TfFastCompression which wraps LZ4 with chunk headers\nfunction decompressLZ4(input,uncompressedSize){// TfFastCompression format (used by OpenUSD):\n// Single chunk (byte 0 == 0): [0] + LZ4 data\n// Multi chunk (byte 0 > 0): [numChunks] + [compressedSizes...] + [chunkData...]\nconst output=new Uint8Array(uncompressedSize);const numChunks=input[0];if(numChunks===0){// Single chunk - all remaining bytes are LZ4 compressed\nlz4DecompressBlock(input,1,input.length,output,0,uncompressedSize);return output;}else{// Multiple chunks - each chunk decompresses to max 65536 bytes\nconst CHUNK_SIZE=65536;// First, read all chunk sizes\nlet headerOffset=1;const compressedSizes=[];for(let i=0;i<numChunks;i++){const size=(input[headerOffset]|input[headerOffset+1]<<8|input[headerOffset+2]<<16|input[headerOffset+3]<<24)>>>0;compressedSizes.push(size);headerOffset+=4;}// Decompress each chunk\nlet inputOffset=headerOffset;let outputOffset=0;for(let i=0;i<numChunks;i++){const chunkCompressedSize=compressedSizes[i];const chunkOutputSize=Math.min(CHUNK_SIZE,uncompressedSize-outputOffset);lz4DecompressBlock(input,inputOffset,inputOffset+chunkCompressedSize,output,outputOffset,outputOffset+chunkOutputSize);inputOffset+=chunkCompressedSize;outputOffset+=chunkOutputSize;}return output;}}// ============================================================================\n// Integer Decompression (USD-specific delta + variable-width encoding)\n// ============================================================================\nfunction decompressIntegers32(compressedData,numInts){// First decompress with LZ4\nconst encodedSize=numInts*4+(numInts*2+7>>3)+4;const encoded=decompressLZ4(new Uint8Array(compressedData),encodedSize);// Then decode\nreturn decodeIntegers32(encoded,numInts);}function decodeIntegers32(data,numInts){const view=new DataView(data.buffer,data.byteOffset,data.byteLength);let offset=0;// Read common value (signed 32-bit)\nconst commonValue=view.getInt32(offset,true);offset+=4;const numCodesBytes=numInts*2+7>>3;const codesStart=offset;const vintsStart=offset+numCodesBytes;const result=new Int32Array(numInts);let prevVal=0;let codesOffset=codesStart;let vintsOffset=vintsStart;for(let i=0;i<numInts;){const codeByte=data[codesOffset++];for(let j=0;j<4&&i<numInts;j++,i++){const code=codeByte>>j*2&3;let delta=0;switch(code){case 0:delta=commonValue;break;case 1:delta=view.getInt8(vintsOffset);vintsOffset+=1;break;case 2:delta=view.getInt16(vintsOffset,true);vintsOffset+=2;break;case 3:delta=view.getInt32(vintsOffset,true);vintsOffset+=4;break;}prevVal+=delta;result[i]=prevVal;}}return result;}// ============================================================================\n// Binary Reader Helper\n// ============================================================================\nclass BinaryReader{seek(offset){this.offset=offset;}tell(){return this.offset;}readUint8(){const value=this.view.getUint8(this.offset);this.offset+=1;return value;}readInt8(){const value=this.view.getInt8(this.offset);this.offset+=1;return value;}readUint16(){const value=this.view.getUint16(this.offset,true);this.offset+=2;return value;}readInt16(){const value=this.view.getInt16(this.offset,true);this.offset+=2;return value;}readUint32(){const value=this.view.getUint32(this.offset,true);this.offset+=4;return value;}readInt32(){const value=this.view.getInt32(this.offset,true);this.offset+=4;return value;}readUint64(){const lo=this.view.getUint32(this.offset,true);const hi=this.view.getUint32(this.offset+4,true);this.offset+=8;// For values that fit in Number, this is safe\nreturn hi*4294967296+lo;}readInt64(){const lo=this.view.getUint32(this.offset,true);const hi=this.view.getInt32(this.offset+4,true);this.offset+=8;return hi*4294967296+lo;}readFloat32(){const value=this.view.getFloat32(this.offset,true);this.offset+=4;return value;}readFloat64(){const value=this.view.getFloat64(this.offset,true);this.offset+=8;return value;}readBytes(length){const bytes=new Uint8Array(this.buffer,this.offset,length);this.offset+=length;return bytes;}readString(length){const bytes=this.readBytes(length);let end=0;while(end<length&&bytes[end]!==0)end++;return textDecoder.decode(bytes.subarray(0,end));}constructor(buffer){this.buffer=buffer;this.view=new DataView(buffer);this.offset=0;}}// ============================================================================\n// ValueRep - 64-bit packed value representation\n// ============================================================================\nclass ValueRep{get isArray(){return(this.hi&2147483648)!==0;}get isInlined(){return(this.hi&1073741824)!==0;}get isCompressed(){return(this.hi&536870912)!==0;}get typeEnum(){return this.hi>>16&255;}get payload(){// 48-bit payload: lo (32 bits) + hi lower 16 bits\n// Note: JavaScript numbers are IEEE 754 doubles with 53 bits of integer precision,\n// so 48-bit values are represented exactly without loss of precision.\nreturn this.lo+(this.hi&65535)*4294967296;}getInlinedValue(){// For inlined scalars, the value is in the lower 32 bits\nreturn this.lo;}constructor(lo,hi){this.lo=lo// Lower 32 bits\n;this.hi=hi// Upper 32 bits\n;}}// ============================================================================\n// USDC Parser\n// ============================================================================\nclass USDCParser{/**\n     * Parse USDC file and return raw spec data without building Three.js scene.\n     * Used by USDComposer for unified scene composition.\n     */parseData(buffer){this.buffer=buffer instanceof ArrayBuffer?buffer:buffer.buffer;this.reader=new BinaryReader(this.buffer);this.version={major:0,minor:0,patch:0};this._conversionBuffer=new ArrayBuffer(4);this._conversionView=new DataView(this._conversionBuffer);this._readBootstrap();this._readTOC();this._readTokens();this._readStrings();this._readFields();this._readFieldSets();this._readPaths();this._readSpecs();// Build specsByPath without building scene\nthis.specsByPath={};for(const spec of this.specs){const path=this.paths[spec.pathIndex];if(!path)continue;const fields=this._getFieldsForSpec(spec);this.specsByPath[path]={specType:spec.specType,fields};}return{specsByPath:this.specsByPath};}_readBootstrap(){const reader=this.reader;reader.seek(0);// Read magic \"PXR-USDC\"\nconst magic=reader.readString(8);if(magic!==\"PXR-USDC\"){throw new Error(\"THREE.USDCParser: Not a valid USDC file.\");}// Read version\nthis.version.major=reader.readUint8();this.version.minor=reader.readUint8();this.version.patch=reader.readUint8();reader.readBytes(5)// Skip remaining version bytes\n;// Read TOC offset\nthis.tocOffset=reader.readUint64();// Skip reserved bytes (rest of 128-byte header)\n// Already at offset 24, skip to end of bootstrap (88 bytes total for bootstrap struct)\n}_readTOC(){const reader=this.reader;reader.seek(this.tocOffset);// Read number of sections\nconst numSections=reader.readUint64();this.sections={};for(let i=0;i<numSections;i++){const name=reader.readString(16);const start=reader.readUint64();const size=reader.readUint64();this.sections[name]={start,size};}}_readTokens(){const section=this.sections[\"TOKENS\"];if(!section)return;const reader=this.reader;reader.seek(section.start);const numTokens=reader.readUint64();this.tokens=[];if(this.version.major===0&&this.version.minor<4){// Uncompressed tokens (version < 0.4.0)\nconst tokensNumBytes=reader.readUint64();const tokensData=reader.readBytes(tokensNumBytes);let strStart=0;for(let i=0;i<numTokens;i++){let strEnd=strStart;while(strEnd<tokensData.length&&tokensData[strEnd]!==0)strEnd++;this.tokens.push(textDecoder.decode(tokensData.subarray(strStart,strEnd)));strStart=strEnd+1;}}else{// Compressed tokens (version >= 0.4.0)\nconst uncompressedSize=reader.readUint64();const compressedSize=reader.readUint64();const compressedData=reader.readBytes(compressedSize);const tokensData=decompressLZ4(compressedData,uncompressedSize);let strStart=0;for(let i=0;i<numTokens;i++){let strEnd=strStart;while(strEnd<tokensData.length&&tokensData[strEnd]!==0)strEnd++;this.tokens.push(textDecoder.decode(tokensData.subarray(strStart,strEnd)));strStart=strEnd+1;}}}_readStrings(){const section=this.sections[\"STRINGS\"];if(!section){this.strings=[];return;}const reader=this.reader;reader.seek(section.start);const numStrings=reader.readUint64();this.strings=[];for(let i=0;i<numStrings;i++){this.strings.push(reader.readUint32());}}_readFields(){const section=this.sections[\"FIELDS\"];if(!section)return;const reader=this.reader;reader.seek(section.start);this.fields=[];if(this.version.major===0&&this.version.minor<4){// Uncompressed fields\nconst numFields=Math.floor(section.size/12)// 4 bytes token index + 8 bytes value rep\n;for(let i=0;i<numFields;i++){const tokenIndex=reader.readUint32();const repLo=reader.readUint32();const repHi=reader.readUint32();this.fields.push({tokenIndex,valueRep:new ValueRep(repLo,repHi)});}}else{// Compressed fields (version >= 0.4.0)\nconst numFields=reader.readUint64();// Read compressed token indices\nconst tokenIndicesCompressedSize=reader.readUint64();const tokenIndicesCompressed=reader.readBytes(tokenIndicesCompressedSize);const tokenIndices=decompressIntegers32(tokenIndicesCompressed.buffer.slice(tokenIndicesCompressed.byteOffset,tokenIndicesCompressed.byteOffset+tokenIndicesCompressedSize),numFields);// Read compressed value reps (LZ4 only, no integer encoding)\nconst repsCompressedSize=reader.readUint64();const repsCompressed=reader.readBytes(repsCompressedSize);const repsData=decompressLZ4(repsCompressed,numFields*8);const repsView=new DataView(repsData.buffer,repsData.byteOffset,repsData.byteLength);for(let i=0;i<numFields;i++){const repLo=repsView.getUint32(i*8,true);const repHi=repsView.getUint32(i*8+4,true);this.fields.push({tokenIndex:tokenIndices[i],valueRep:new ValueRep(repLo,repHi)});}}}_readFieldSets(){const section=this.sections[\"FIELDSETS\"];if(!section)return;const reader=this.reader;reader.seek(section.start);this.fieldSets=[];if(this.version.major===0&&this.version.minor<4){// Uncompressed field sets\nconst numFieldSets=Math.floor(section.size/4);for(let i=0;i<numFieldSets;i++){this.fieldSets.push(reader.readUint32());}}else{// Compressed field sets\nconst numFieldSets=reader.readUint64();const compressedSize=reader.readUint64();const compressed=reader.readBytes(compressedSize);const indices=decompressIntegers32(compressed.buffer.slice(compressed.byteOffset,compressed.byteOffset+compressedSize),numFieldSets);for(let i=0;i<numFieldSets;i++){this.fieldSets.push(indices[i]);}}}_readPaths(){const section=this.sections[\"PATHS\"];if(!section)return;const reader=this.reader;reader.seek(section.start);const numPaths=reader.readUint64();this.paths=new Array(numPaths).fill(\"\");if(this.version.major===0&&this.version.minor<4){// Uncompressed paths - recursive tree structure\nthis._readPathsRecursive(\"\");}else{// Compressed paths (version >= 0.4.0)\n// Note: numPaths is stored twice - once for array sizing, once in compressed paths section\nreader.readUint64()// Read duplicate numPaths value (matches numPaths above)\n;const compressedSize1=reader.readUint64();const pathIndicesCompressed=reader.readBytes(compressedSize1);const pathIndices=decompressIntegers32(pathIndicesCompressed.buffer.slice(pathIndicesCompressed.byteOffset,pathIndicesCompressed.byteOffset+compressedSize1),numPaths);const compressedSize2=reader.readUint64();const elementTokenIndicesCompressed=reader.readBytes(compressedSize2);const elementTokenIndices=decompressIntegers32(elementTokenIndicesCompressed.buffer.slice(elementTokenIndicesCompressed.byteOffset,elementTokenIndicesCompressed.byteOffset+compressedSize2),numPaths);const compressedSize3=reader.readUint64();const jumpsCompressed=reader.readBytes(compressedSize3);const jumps=decompressIntegers32(jumpsCompressed.buffer.slice(jumpsCompressed.byteOffset,jumpsCompressed.byteOffset+compressedSize3),numPaths);// Build paths from compressed data\nthis._buildPathsFromCompressed(pathIndices,elementTokenIndices,jumps);}}_readPathsRecursive(parentPath,depth=0){const reader=this.reader;// Prevent infinite recursion\nif(depth>1e3)return;// Read path item header\nconst index=reader.readUint32();const elementTokenIndex=reader.readUint32();const bits=reader.readUint8();const hasChild=(bits&1)!==0;const hasSibling=(bits&2)!==0;const isPrimProperty=(bits&4)!==0;// Build path\nlet path;if(parentPath===\"\"){path=\"/\";}else{const elemToken=this.tokens[elementTokenIndex]||\"\";if(isPrimProperty){path=parentPath+\".\"+elemToken;}else{path=parentPath===\"/\"?\"/\"+elemToken:parentPath+\"/\"+elemToken;}}this.paths[index]=path;// Process children and siblings\nif(hasChild&&hasSibling){// Read sibling offset\nconst siblingOffset=reader.readUint64();// Read child\nthis._readPathsRecursive(path,depth+1);// Read sibling\nreader.seek(siblingOffset);this._readPathsRecursive(parentPath,depth+1);}else if(hasChild){this._readPathsRecursive(path,depth+1);}else if(hasSibling){this._readPathsRecursive(parentPath,depth+1);}}_buildPathsFromCompressed(pathIndices,elementTokenIndices,jumps){// Jump encoding from USD:\n// 0 = only sibling (no child), next entry is sibling\n// -1 = only child (no sibling), next entry is child\n// -2 = leaf (no child, no sibling)\n// >0 = has both child and sibling, value is offset to sibling\nconst buildPaths=(startIndex,parentPath)=>{let curIndex=startIndex;while(curIndex<pathIndices.length){const thisIndex=curIndex++;const pathIndex=pathIndices[thisIndex];const elementTokenIndex=elementTokenIndices[thisIndex];const jump=jumps[thisIndex];// Build path\nlet path;if(parentPath===\"\"){path=\"/\";parentPath=path;}else{const elemToken=this.tokens[Math.abs(elementTokenIndex)]||\"\";const isPrimProperty=elementTokenIndex<0;if(isPrimProperty){path=parentPath+\".\"+elemToken;}else{path=parentPath===\"/\"?\"/\"+elemToken:parentPath+\"/\"+elemToken;}}this.paths[pathIndex]=path;// Determine children and siblings\nconst hasChild=jump>0||jump===-1;const hasSibling=jump>=0;if(hasChild){if(hasSibling){// Has both child and sibling\n// Recursively process sibling subtree\nconst siblingIndex=thisIndex+jump;buildPaths(siblingIndex,parentPath);}// Child is next entry, continue with new parent path\nparentPath=path;}else if(hasSibling){// Only sibling, next entry is sibling with same parent\n// Just continue loop with curIndex and same parentPath\n}else{break;}}};buildPaths(0,\"\");}_readSpecs(){const section=this.sections[\"SPECS\"];if(!section)return;const reader=this.reader;reader.seek(section.start);this.specs=[];if(this.version.major===0&&this.version.minor<4){// Uncompressed specs\n// Each spec: pathIndex (4), fieldSetIndex (4), specType (4) = 12 bytes\n// For version 0.0.1 there may be different padding\nconst specSize=this.version.minor===0&&this.version.patch===1?16:12;const numSpecs=Math.floor(section.size/specSize);for(let i=0;i<numSpecs;i++){const pathIndex=reader.readUint32();const fieldSetIndex=reader.readUint32();const specType=reader.readUint32();if(specSize===16)reader.readUint32()// padding\n;this.specs.push({pathIndex,fieldSetIndex,specType});}}else{// Compressed specs\nconst numSpecs=reader.readUint64();const compressedSize1=reader.readUint64();const pathIndicesCompressed=reader.readBytes(compressedSize1);const pathIndices=decompressIntegers32(pathIndicesCompressed.buffer.slice(pathIndicesCompressed.byteOffset,pathIndicesCompressed.byteOffset+compressedSize1),numSpecs);const compressedSize2=reader.readUint64();const fieldSetIndicesCompressed=reader.readBytes(compressedSize2);const fieldSetIndices=decompressIntegers32(fieldSetIndicesCompressed.buffer.slice(fieldSetIndicesCompressed.byteOffset,fieldSetIndicesCompressed.byteOffset+compressedSize2),numSpecs);const compressedSize3=reader.readUint64();const specTypesCompressed=reader.readBytes(compressedSize3);const specTypes=decompressIntegers32(specTypesCompressed.buffer.slice(specTypesCompressed.byteOffset,specTypesCompressed.byteOffset+compressedSize3),numSpecs);for(let i=0;i<numSpecs;i++){this.specs.push({pathIndex:pathIndices[i],fieldSetIndex:fieldSetIndices[i],specType:specTypes[i]});}}}// ========================================================================\n// Value Reading\n// ========================================================================\n_readValue(valueRep){const type=valueRep.typeEnum;const isArray=valueRep.isArray;const isInlined=valueRep.isInlined;// Handle TimeSamples specially - they have their own format\nif(type===TypeEnum.TimeSamples){return this._readTimeSamples(valueRep);}if(isInlined){return this._readInlinedValue(valueRep);}// Seek to payload offset and read value\nconst offset=valueRep.payload;if(offset===0&&isArray){// Spec 16.3.9.3: Array payload 0 is an explicit empty-array sentinel.\nreturn[];}if(offset<0||offset>=this.buffer.byteLength){throw new RangeError(\"USDCParser: Invalid payload offset \"+offset+\" for type \"+type+\".\");}const savedOffset=this.reader.tell();this.reader.seek(offset);let value;if(isArray){value=this._readArrayValue(valueRep);}else{value=this._readScalarValue(type);}this.reader.seek(savedOffset);return value;}_readInlinedValue(valueRep){const type=valueRep.typeEnum;const payload=valueRep.getInlinedValue();const view=this._conversionView;switch(type){case TypeEnum.Bool:return payload!==0;case TypeEnum.UChar:return payload&255;case TypeEnum.Int:case TypeEnum.UInt:return payload;case TypeEnum.Float:{view.setUint32(0,payload,true);return view.getFloat32(0,true);}case TypeEnum.Double:{// When a double is inlined, it's stored as float32 bits in the payload\nview.setUint32(0,payload,true);return view.getFloat32(0,true);}case TypeEnum.Token:return this.tokens[payload]||\"\";case TypeEnum.String:return this.tokens[this.strings[payload]]||\"\";case TypeEnum.AssetPath:return this.tokens[payload]||\"\";case TypeEnum.Specifier:return payload// 0=def, 1=over, 2=class\n;case TypeEnum.Permission:case TypeEnum.Variability:return payload;// Vec2h: Two half-floats fit in 4 bytes, stored directly\ncase TypeEnum.Vec2h:{view.setUint32(0,payload,true);return[this._halfToFloat(view.getUint16(0,true)),this._halfToFloat(view.getUint16(2,true))];}// Inlined vectors that don't fit in 4 bytes are encoded as signed 8-bit integers\n// Vec2f = 8 bytes (2x float32), Vec3f = 12 bytes, Vec4f = 16 bytes, etc.\ncase TypeEnum.Vec2f:case TypeEnum.Vec2i:{view.setUint32(0,payload,true);return[view.getInt8(0),view.getInt8(1)];}case TypeEnum.Vec3f:case TypeEnum.Vec3i:{view.setUint32(0,payload,true);return[view.getInt8(0),view.getInt8(1),view.getInt8(2)];}case TypeEnum.Vec4f:case TypeEnum.Vec4i:{view.setUint32(0,payload,true);return[view.getInt8(0),view.getInt8(1),view.getInt8(2),view.getInt8(3)];}case TypeEnum.Matrix2d:{// Inlined Matrix2d stores diagonal values as 2 signed int8 values\nview.setUint32(0,payload,true);const d0=view.getInt8(0),d1=view.getInt8(1);return[d0,0,0,d1];}case TypeEnum.Matrix3d:{// Inlined Matrix3d stores diagonal values as 3 signed int8 values\nview.setUint32(0,payload,true);const d0=view.getInt8(0),d1=view.getInt8(1),d2=view.getInt8(2);return[d0,0,0,0,d1,0,0,0,d2];}case TypeEnum.Matrix4d:{// Inlined Matrix4d stores diagonal values as 4 signed int8 values\nview.setUint32(0,payload,true);const d0=view.getInt8(0),d1=view.getInt8(1),d2=view.getInt8(2),d3=view.getInt8(3);return[d0,0,0,0,0,d1,0,0,0,0,d2,0,0,0,0,d3];}default:return payload;}}_readTimeSamples(valueRep){const reader=this.reader;const offset=valueRep.payload;const savedOffset=reader.tell();reader.seek(offset);// TimeSamples format uses RELATIVE offsets (from OpenUSD _RecursiveRead):\n// _RecursiveRead: read int64 relativeOffset at current position, then seek to start + relativeOffset\n// After reading timesRep, continue reading from current position (after timesRep)\n// Layout at TimeSamples location:\n// - int64 timesOffset (relative from start of this int64)\n// At (start + timesOffset): timesRep ValueRep, then int64 valuesOffset, then numValues + ValueReps\n// Read times relative offset and resolve\nconst timesStart=reader.tell();const timesRelOffset=reader.readInt64();reader.seek(timesStart+timesRelOffset);const timesRepLo=reader.readUint32();const timesRepHi=reader.readUint32();const timesRep=new ValueRep(timesRepLo,timesRepHi);// Resolve times array\nconst times=this._readValue(timesRep);// Continue reading from current position (after timesRep)\n// The second _RecursiveRead reads from CURRENT position, not from the beginning\nconst afterTimesRep=timesStart+timesRelOffset+8;reader.seek(afterTimesRep);// Read values relative offset\nconst valuesStart=reader.tell();const valuesRelOffset=reader.readInt64();reader.seek(valuesStart+valuesRelOffset);// Read number of values\nconst numValues=reader.readUint64();// Read all ValueReps\nconst valueReps=[];for(let i=0;i<numValues;i++){const repLo=reader.readUint32();const repHi=reader.readUint32();valueReps.push(new ValueRep(repLo,repHi));}// Resolve each value\nconst values=[];for(let i=0;i<numValues;i++){values.push(this._readValue(valueReps[i]));}reader.seek(savedOffset);// Convert times to array if needed\nconst timesArray=times instanceof Float64Array?Array.from(times):Array.isArray(times)?times:[times];return{times:timesArray,values};}_readScalarValue(type){const reader=this.reader;switch(type){case TypeEnum.Invalid:return null;case TypeEnum.Bool:return reader.readUint8()!==0;case TypeEnum.UChar:return reader.readUint8();case TypeEnum.Int:return reader.readInt32();case TypeEnum.UInt:return reader.readUint32();case TypeEnum.Int64:return reader.readInt64();case TypeEnum.UInt64:return reader.readUint64();case TypeEnum.Half:return this._readHalf();case TypeEnum.Float:return reader.readFloat32();case TypeEnum.Double:return reader.readFloat64();case TypeEnum.String:case TypeEnum.Token:{const index=reader.readUint32();return this.tokens[index]||\"\";}case TypeEnum.AssetPath:{const index=reader.readUint32();return this.tokens[index]||\"\";}case TypeEnum.Vec2f:return[reader.readFloat32(),reader.readFloat32()];case TypeEnum.Vec2d:return[reader.readFloat64(),reader.readFloat64()];case TypeEnum.Vec2i:return[reader.readInt32(),reader.readInt32()];case TypeEnum.Vec3f:return[reader.readFloat32(),reader.readFloat32(),reader.readFloat32()];case TypeEnum.Vec3d:return[reader.readFloat64(),reader.readFloat64(),reader.readFloat64()];case TypeEnum.Vec3i:return[reader.readInt32(),reader.readInt32(),reader.readInt32()];case TypeEnum.Vec4f:return[reader.readFloat32(),reader.readFloat32(),reader.readFloat32(),reader.readFloat32()];case TypeEnum.Vec4d:return[reader.readFloat64(),reader.readFloat64(),reader.readFloat64(),reader.readFloat64()];case TypeEnum.Quatf:return[reader.readFloat32(),reader.readFloat32(),reader.readFloat32(),reader.readFloat32()];case TypeEnum.Quatd:return[reader.readFloat64(),reader.readFloat64(),reader.readFloat64(),reader.readFloat64()];case TypeEnum.Matrix4d:{const m=[];for(let i=0;i<16;i++)m.push(reader.readFloat64());return m;}case TypeEnum.TokenVector:{const count=reader.readUint64();const tokens=[];for(let i=0;i<count;i++){const index=reader.readUint32();tokens.push(this.tokens[index]||\"\");}return tokens;}case TypeEnum.PathVector:{const count=reader.readUint64();const paths=[];for(let i=0;i<count;i++){const index=reader.readUint32();paths.push(this.paths[index]||\"\");}return paths;}case TypeEnum.DoubleVector:{// DoubleVector is a count-prefixed array of doubles\nconst count=reader.readUint64();const arr=new Float64Array(count);for(let i=0;i<count;i++)arr[i]=reader.readFloat64();return arr;}case TypeEnum.Dictionary:{// Dictionary format:\n// u64 elementCount\n// For each element: u32 keyIndex + i64 valueOffset (relative)\nconst elementCount=reader.readUint64();const dict={};for(let i=0;i<elementCount;i++){const keyIdx=reader.readUint32();const key=this.tokens[keyIdx];// Value offset is relative to current position\nconst currentPos=reader.position;const valueOffset=reader.readInt64();const valuePos=currentPos+valueOffset;// Save position, read value, restore position\nconst savedPos=reader.position;reader.position=valuePos;// Read the value representation at the offset\nconst valueRepData=reader.readUint64();const valueRep=new ValueRep(valueRepData);// Read the value based on the representation\nlet value=null;if(valueRep.isInlined){value=this._readInlinedValue(valueRep);}else if(valueRep.isArray){reader.position=valueRep.payload;value=this._readArrayValue(valueRep);}else{reader.position=valueRep.payload;value=this._readScalarValue(valueRep.typeEnum);}reader.position=savedPos;if(key!==undefined&&value!==null){dict[key]=value;}}return dict;}case TypeEnum.TokenListOp:case TypeEnum.StringListOp:case TypeEnum.IntListOp:case TypeEnum.Int64ListOp:case TypeEnum.UIntListOp:case TypeEnum.UInt64ListOp:// These complex types are not needed for geometry loading\n// Skip them silently\nreturn null;case TypeEnum.PathListOp:{// PathListOp format (from AOUSD Core Spec 16.3.10.25):\n// Header byte bitmask:\n// - bit 0 (0x01): Make Explicit (clears list)\n// - bit 1 (0x02): Add Explicit Items\n// - bit 2 (0x04): Add Items\n// - bit 3 (0x08): Delete Items\n// - bit 4 (0x10): Reorder Items\n// - bit 5 (0x20): Prepend Items\n// - bit 6 (0x40): Append Items\n// Arrays follow in order: Explicit, Add, Prepend, Append, Delete, Reorder\n// Each array: uint64 count + count * uint32 path indices\nconst flags=reader.readUint8();const hasExplicitItems=(flags&2)!==0;const hasAddItems=(flags&4)!==0;const hasDeleteItems=(flags&8)!==0;const hasReorderItems=(flags&16)!==0;const hasPrependItems=(flags&32)!==0;const hasAppendItems=(flags&64)!==0;const readPathList=()=>{const itemCount=reader.readUint64();const paths=[];for(let i=0;i<itemCount;i++){const pathIdx=reader.readUint32();paths.push(this.paths[pathIdx]);}return paths;};// Read arrays in spec order: Explicit, Add, Prepend, Append, Delete, Reorder\nlet explicitPaths=null;let addPaths=null;let prependPaths=null;let appendPaths=null;if(hasExplicitItems)explicitPaths=readPathList();if(hasAddItems)addPaths=readPathList();if(hasPrependItems)prependPaths=readPathList();if(hasAppendItems)appendPaths=readPathList();if(hasDeleteItems)readPathList()// Skip delete items\n;if(hasReorderItems)readPathList()// Skip reorder items\n;// Return the first non-empty list (connections are typically prepended)\nif(prependPaths&&prependPaths.length>0)return prependPaths;if(explicitPaths&&explicitPaths.length>0)return explicitPaths;if(appendPaths&&appendPaths.length>0)return appendPaths;if(addPaths&&addPaths.length>0)return addPaths;return null;}case TypeEnum.VariantSelectionMap:{const elementCount=reader.readUint64();const map={};for(let i=0;i<elementCount;i++){const keyIdx=reader.readUint32();const valueIdx=reader.readUint32();const key=this.tokens[this.strings[keyIdx]];const value=this.tokens[this.strings[valueIdx]];if(key&&value)map[key]=value;}return map;}default:console.warn(\"USDCParser: Unsupported scalar type\",type);return null;}}_readArrayValue(valueRep){const reader=this.reader;const type=valueRep.typeEnum;const isCompressed=valueRep.isCompressed;// Read array size\nlet size;if(this.version.major===0&&this.version.minor<7){size=reader.readUint32();}else{size=reader.readUint64();}if(!Number.isSafeInteger(size)||size<0){throw new RangeError(\"USDCParser: Invalid array size \"+size+\" for type \"+type+\".\");}if(size>2147483647){// Crate stores counts as uint64, but JS typed arrays cannot represent all such sizes.\nthrow new RangeError(\"USDCParser: Array size \"+size+\" exceeds implementation limits.\");}if(size===0)return[];// Handle compressed arrays\nif(isCompressed){return this._readCompressedArray(type,size);}// Read uncompressed array\nswitch(type){case TypeEnum.Int:{const arr=new Int32Array(size);for(let i=0;i<size;i++)arr[i]=reader.readInt32();return arr;}case TypeEnum.UInt:{const arr=new Uint32Array(size);for(let i=0;i<size;i++)arr[i]=reader.readUint32();return arr;}case TypeEnum.Float:{const arr=new Float32Array(size);for(let i=0;i<size;i++)arr[i]=reader.readFloat32();return arr;}case TypeEnum.Double:{const arr=new Float64Array(size);for(let i=0;i<size;i++)arr[i]=reader.readFloat64();return arr;}case TypeEnum.Vec2f:{const arr=new Float32Array(size*2);for(let i=0;i<size*2;i++)arr[i]=reader.readFloat32();return arr;}case TypeEnum.Vec3f:{const arr=new Float32Array(size*3);for(let i=0;i<size*3;i++)arr[i]=reader.readFloat32();return arr;}case TypeEnum.Vec4f:{const arr=new Float32Array(size*4);for(let i=0;i<size*4;i++)arr[i]=reader.readFloat32();return arr;}case TypeEnum.Vec3h:{// Half-precision vec3 array (used for scales in skeletal animation)\nconst arr=new Float32Array(size*3);for(let i=0;i<size*3;i++)arr[i]=this._readHalf();return arr;}case TypeEnum.Quatf:{const arr=new Float32Array(size*4);for(let i=0;i<size*4;i++)arr[i]=reader.readFloat32();return arr;}case TypeEnum.Quath:{// Half-precision quaternion array\nconst arr=new Float32Array(size*4);for(let i=0;i<size*4;i++)arr[i]=this._readHalf();return arr;}case TypeEnum.Matrix4d:{// 4x4 matrix array (16 doubles per matrix, row-major)\nconst arr=new Float64Array(size*16);for(let i=0;i<size*16;i++)arr[i]=reader.readFloat64();return arr;}case TypeEnum.Token:{const arr=[];for(let i=0;i<size;i++){const index=reader.readUint32();arr.push(this.tokens[index]||\"\");}return arr;}case TypeEnum.Half:{const arr=new Float32Array(size);for(let i=0;i<size;i++)arr[i]=this._readHalf();return arr;}default:console.warn(\"USDCParser: Unsupported array type\",type);return[];}}_readCompressedArray(type,size){const reader=this.reader;switch(type){case TypeEnum.Int:case TypeEnum.UInt:{const compressedSize=reader.readUint64();const compressed=reader.readBytes(compressedSize);return decompressIntegers32(compressed.buffer.slice(compressed.byteOffset,compressed.byteOffset+compressedSize),size);}case TypeEnum.Float:{// Float compression: 'i' = compressed as ints, 't' = lookup table\nconst code=reader.readInt8();if(code===FLOAT_COMPRESSION_INT){const compressedSize=reader.readUint64();const compressed=reader.readBytes(compressedSize);const ints=decompressIntegers32(compressed.buffer.slice(compressed.byteOffset,compressed.byteOffset+compressedSize),size);const floats=new Float32Array(size);for(let i=0;i<size;i++)floats[i]=ints[i];return floats;}else if(code===FLOAT_COMPRESSION_LUT){const lutSize=reader.readUint32();const lut=new Float32Array(lutSize);for(let i=0;i<lutSize;i++)lut[i]=reader.readFloat32();const compressedSize=reader.readUint64();const compressed=reader.readBytes(compressedSize);const indices=decompressIntegers32(compressed.buffer.slice(compressed.byteOffset,compressed.byteOffset+compressedSize),size);const floats=new Float32Array(size);for(let i=0;i<size;i++)floats[i]=lut[indices[i]];return floats;}console.warn(\"USDCParser: Unknown float compression code\",code);return new Float32Array(size);}default:console.warn(\"USDCParser: Unsupported compressed array type\",type);return[];}}_readHalf(){return this._halfToFloat(this.reader.readUint16());}_halfToFloat(h){const sign=(h&32768)>>15;const exp=(h&31744)>>10;const frac=h&1023;if(exp===0){// Zero or denormalized number\nif(frac===0){return sign?-0:0;}// Denormalized: value = ±2^-14 × (frac/1024)\nreturn(sign?-1:1)*HALF_DENORM_SCALE*(frac/1024);}else if(exp===31){return frac?NaN:sign?-Infinity:Infinity;}return(sign?-1:1)*HALF_EXPONENT_TABLE[exp]*(1+frac/1024);}_getFieldsForSpec(spec){const fields={};let fieldSetIndex=spec.fieldSetIndex;// Field sets are terminated by FIELD_SET_TERMINATOR\n// Limit iterations to prevent infinite loops from malformed data\nconst maxIterations=1e4;let iterations=0;while(fieldSetIndex<this.fieldSets.length&&iterations<maxIterations){const fieldIndex=this.fieldSets[fieldSetIndex];// Terminator\nif(fieldIndex===FIELD_SET_TERMINATOR||fieldIndex===-1)break;const field=this.fields[fieldIndex];if(field){const name=this.tokens[field.tokenIndex];const value=this._readValue(field.valueRep);fields[name]=value;}fieldSetIndex++;iterations++;}return fields;}}export{USDCParser};\nexport const __FramerMetadata__ = {\"exports\":{\"USDCParser\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./USDCParser.map","// @ts-nocheck\n/**\n * @license\n * Copyright 2010-2026 Three.js Authors\n * SPDX-License-Identifier: MIT\n */// Pre-compiled regex patterns for performance\nconst DEF_MATCH_REGEX=/^def\\s+(?:(\\w+)\\s+)?\"?([^\"]+)\"?$/;const VARIANT_STRING_REGEX=/^string\\s+(\\w+)$/;const ATTR_MATCH_REGEX=/^(?:uniform\\s+)?(\\w+(?:\\[\\])?)\\s+(.+)$/;// Preserve metadata blocks without changing the legacy parseText value shape.\nconst VALUE_METADATA=Symbol(\"valueMetadata\");// Spec types (must match USDCParser/USDComposer)\nconst SpecType={Attribute:1,Prim:6,Relationship:8};class USDAParser{parseText(text){// Preprocess: strip comments and normalize multiline values\ntext=this._preprocess(text);const root={};const lines=text.split(\"\\n\");let string=null;let target=root;const stack=[root];for(const line of lines){if(line.includes(\"=\")){// Find the first '=' that's not inside quotes\nconst eqIdx=this._findAssignmentOperator(line);if(eqIdx===-1){string=line.trim();continue;}const lhs=line.slice(0,eqIdx).trim();const rhs=line.slice(eqIdx+1).trim();if(rhs.endsWith(\"{\")){const group={};stack.push(group);target[lhs]=group;target=group;}else if(rhs.endsWith(\"(\")){// see #28631\nconst values=rhs.slice(0,-1).trim();target[lhs]=values;const meta={};if(target[VALUE_METADATA]===undefined)target[VALUE_METADATA]={};target[VALUE_METADATA][lhs]=meta;stack.push(meta);target=meta;}else{target[lhs]=rhs;}}else if(line.includes(\":\")&&!line.includes(\"=\")){// Handle dictionary entries like \"0: [(...)...]\" for timeSamples\nconst colonIdx=line.indexOf(\":\");const key=line.slice(0,colonIdx).trim();const value=line.slice(colonIdx+1).trim();// Only process if key looks like a number (timeSamples frame)\nif(/^[\\d.]+$/.test(key)){target[key]=value;}}else if(line.endsWith(\"{\")){string=line.slice(0,-1).trim()||string;const group=target[string]||{};stack.push(group);target[string]=group;target=group;}else if(line.endsWith(\"}\")){stack.pop();if(stack.length===0)continue;target=stack[stack.length-1];}else if(line.endsWith(\"(\")){const meta={};stack.push(meta);string=line.split(\"(\")[0].trim()||string;target[string]=meta;target=meta;}else if(line.endsWith(\")\")){stack.pop();target=stack[stack.length-1];}else if(line.trim()){string=line.trim();}}return root;}_preprocess(text){// Remove block comments /* ... */\ntext=this._stripBlockComments(text);// Collapse triple-quoted strings into single lines\ntext=this._collapseTripleQuotedStrings(text);// Remove line comments # ... (but preserve #usda header)\n// Only remove # comments that aren't at the start of a line or after whitespace\nconst lines=text.split(\"\\n\");const processed=[];let inMultilineValue=false;let bracketDepth=0;let parenDepth=0;let accumulated=\"\";for(let i=0;i<lines.length;i++){let line=lines[i];// Strip inline comments (but not inside strings)\nline=this._stripInlineComment(line);// Track bracket/paren depth for multiline values\nconst trimmed=line.trim();if(inMultilineValue){// Continue accumulating multiline value\naccumulated+=\" \"+trimmed;// Update depths\nfor(const ch of trimmed){if(ch===\"[\")bracketDepth++;else if(ch===\"]\")bracketDepth--;else if(ch===\"(\"&&bracketDepth>0)parenDepth++;else if(ch===\")\"&&bracketDepth>0)parenDepth--;}// Check if multiline value is complete\nif(bracketDepth===0&&parenDepth===0){processed.push(accumulated);accumulated=\"\";inMultilineValue=false;}}else{// Check if this line starts a multiline array value\n// Look for patterns like \"attr = [\" or \"attr = @path@[\" without closing ]\nif(trimmed.includes(\"=\")){const eqIdx=this._findAssignmentOperator(trimmed);if(eqIdx!==-1){const rhs=trimmed.slice(eqIdx+1).trim();// Count brackets in the value part\nlet openBrackets=0;let closeBrackets=0;for(const ch of rhs){if(ch===\"[\")openBrackets++;else if(ch===\"]\")closeBrackets++;}if(openBrackets>closeBrackets){// Multiline array detected\ninMultilineValue=true;bracketDepth=openBrackets-closeBrackets;parenDepth=0;accumulated=trimmed;continue;}}}processed.push(trimmed);}}return processed.join(\"\\n\");}_stripBlockComments(text){// Iteratively remove /* ... */ comments without regex backtracking\nlet result=\"\";let i=0;while(i<text.length){// Check for block comment start\nif(text[i]===\"/\"&&i+1<text.length&&text[i+1]===\"*\"){// Find the closing */\nlet j=i+2;while(j<text.length){if(text[j]===\"*\"&&j+1<text.length&&text[j+1]===\"/\"){// Found closing, skip past it\nj+=2;break;}j++;}// Move past the comment (or to end if unclosed)\ni=j;}else{result+=text[i];i++;}}return result;}_collapseTripleQuotedStrings(text){let result=\"\";let i=0;while(i<text.length){if(i+2<text.length){const triple=text.slice(i,i+3);if(triple===\"'''\"||triple==='\"\"\"'){const quoteChar=triple;result+=quoteChar;i+=3;while(i<text.length){if(i+2<text.length&&text.slice(i,i+3)===quoteChar){result+=quoteChar;i+=3;break;}else{if(text[i]===\"\\n\"){result+=\"\\\\n\";}else if(text[i]!==\"\\r\"){result+=text[i];}i++;}}continue;}}result+=text[i];i++;}return result;}_stripInlineComment(line){// Don't strip if line starts with #usda\nif(line.trim().startsWith(\"#usda\"))return line;// Find # that's not inside a string\nlet inString=false;let stringChar=null;let escaped=false;for(let i=0;i<line.length;i++){const ch=line[i];if(escaped){escaped=false;continue;}if(ch===\"\\\\\"){escaped=true;continue;}if(!inString&&(ch==='\"'||ch===\"'\")){inString=true;stringChar=ch;}else if(inString&&ch===stringChar){inString=false;stringChar=null;}else if(!inString&&ch===\"#\"){// Found comment start outside of string\nreturn line.slice(0,i).trimEnd();}}return line;}_findAssignmentOperator(line){// Find the first '=' that's not inside quotes\nlet inString=false;let stringChar=null;let escaped=false;for(let i=0;i<line.length;i++){const ch=line[i];if(escaped){escaped=false;continue;}if(ch===\"\\\\\"){escaped=true;continue;}if(!inString&&(ch==='\"'||ch===\"'\")){inString=true;stringChar=ch;}else if(inString&&ch===stringChar){inString=false;stringChar=null;}else if(!inString&&ch===\"=\"){return i;}}return-1;}/**\n\t * Parse USDA text and return raw spec data in specsByPath format.\n\t * Used by USDComposer for unified scene composition.\n\t */parseData(text){const root=this.parseText(text);const specsByPath={};// Parse root metadata\nconst rootFields={};if(\"#usda 1.0\"in root){const header=root[\"#usda 1.0\"];if(header.upAxis){rootFields.upAxis=header.upAxis.replace(/\"/g,\"\");}if(header.defaultPrim){rootFields.defaultPrim=header.defaultPrim.replace(/\"/g,\"\");}if(header.metersPerUnit!==undefined){rootFields.metersPerUnit=parseFloat(header.metersPerUnit);}if(header.framesPerSecond!==undefined){rootFields.framesPerSecond=parseFloat(header.framesPerSecond);}if(header.timeCodesPerSecond!==undefined){rootFields.timeCodesPerSecond=parseFloat(header.timeCodesPerSecond);}}specsByPath[\"/\"]={specType:SpecType.Prim,fields:rootFields};// Walk the tree and build specsByPath\nconst walkTree=(data,parentPath)=>{const primChildren=[];for(const key in data){// Skip metadata\nif(key===\"#usda 1.0\")continue;if(key===\"variants\")continue;// Check for primitive definitions\n// Matches both 'def TypeName \"name\"' and 'def \"name\"' (no type)\nconst defMatch=key.match(DEF_MATCH_REGEX);if(defMatch){const typeName=defMatch[1]||\"\";const name=defMatch[2];const path=parentPath===\"/\"?\"/\"+name:parentPath+\"/\"+name;primChildren.push(name);const primFields={typeName};const primData=data[key];// Extract attributes and relationships from this prim\nthis._extractPrimData(primData,path,primFields,specsByPath,SpecType);specsByPath[path]={specType:SpecType.Prim,fields:primFields};// Recurse into children\nwalkTree(primData,path);}}// Add primChildren to parent spec\nif(primChildren.length>0&&specsByPath[parentPath]){specsByPath[parentPath].fields.primChildren=primChildren;}};walkTree(root,\"/\");// Fallback: infer elementSize for primvars:skel:jointIndices/jointWeights\n// when not explicitly declared in the USDA text\nthis._inferSkelElementSize(specsByPath);return{specsByPath};}_inferSkelElementSize(specsByPath){// For each mesh prim with primvars:skel:jointIndices/jointWeights but no\n// elementSize, infer it from the data: elementSize = array.length / numVertices.\nfor(const path in specsByPath){const spec=specsByPath[path];if(spec.specType!==SpecType.Prim||spec.fields.typeName!==\"Mesh\")continue;const pointsSpec=specsByPath[path+\".points\"];if(!pointsSpec||!pointsSpec.fields.default)continue;const numVertices=pointsSpec.fields.default.length/3;if(numVertices===0)continue;this._inferElementSize(specsByPath[path+\".primvars:skel:jointIndices\"],numVertices);this._inferElementSize(specsByPath[path+\".primvars:skel:jointWeights\"],numVertices);}}_inferElementSize(attrSpec,numVertices){if(!attrSpec||attrSpec.fields.elementSize!==undefined||!attrSpec.fields.default)return;const len=attrSpec.fields.default.length;if(len>0&&len%numVertices===0)attrSpec.fields.elementSize=len/numVertices;}_extractPrimData(data,path,primFields,specsByPath,SpecType){if(!data||typeof data!==\"object\")return;for(const key in data){// Skip nested defs (handled by walkTree)\nif(key.startsWith(\"def \"))continue;if(key===\"prepend references\"){primFields.references=[data[key]];continue;}if(key===\"payload\"){primFields.payload=data[key];continue;}if(key===\"variants\"){const variantSelection={};const variants=data[key];for(const vKey in variants){const match=vKey.match(VARIANT_STRING_REGEX);if(match){const variantSetName=match[1];const variantValue=variants[vKey].replace(/\"/g,\"\");variantSelection[variantSetName]=variantValue;}}if(Object.keys(variantSelection).length>0){primFields.variantSelection=variantSelection;}continue;}if(key.startsWith(\"rel \")){const relName=key.slice(4);const relPath=path+\".\"+relName;const target=data[key].replace(/[<>]/g,\"\");const metadata=data[VALUE_METADATA]?.[key];const fields={targetPaths:[target]};if(metadata?.bindMaterialAs!==undefined){fields.bindMaterialAs=this._parseString(String(metadata.bindMaterialAs).trim());}specsByPath[relPath]={specType:SpecType.Relationship,fields};continue;}// Handle xformOpOrder\nif(key.includes(\"xformOpOrder\")){const ops=data[key].replace(/[\\[\\]]/g,\"\").split(\",\").map(s=>s.trim().replace(/\"/g,\"\"));primFields.xformOpOrder=ops;continue;}// Handle typed attributes\n// Format: [qualifier] type attrName (e.g., \"uniform token[] joints\", \"float3 position\")\nconst attrMatch=key.match(ATTR_MATCH_REGEX);if(attrMatch){const valueType=attrMatch[1];const attrName=attrMatch[2];const rawValue=data[key];// Handle connection attributes (e.g., \"inputs:normal.connect = </path>\")\nif(attrName.endsWith(\".connect\")){const baseAttrName=attrName.slice(0,-8);// Remove '.connect'\nconst attrPath=path+\".\"+baseAttrName;// Parse connection path - extract from <path> format\nlet connPath=String(rawValue).trim();if(connPath.startsWith(\"<\"))connPath=connPath.slice(1);if(connPath.endsWith(\">\"))connPath=connPath.slice(0,-1);// Get or create the attribute spec\nif(!specsByPath[attrPath]){specsByPath[attrPath]={specType:SpecType.Attribute,fields:{typeName:valueType}};}specsByPath[attrPath].fields.connectionPaths=[connPath];continue;}// Handle timeSamples attributes specially\nif(attrName.endsWith(\".timeSamples\")&&typeof rawValue===\"object\"){const baseAttrName=attrName.slice(0,-12);// Remove '.timeSamples'\nconst attrPath=path+\".\"+baseAttrName;// Parse timeSamples dictionary into times and values arrays\nconst times=[];const values=[];for(const frameKey in rawValue){const frame=parseFloat(frameKey);if(isNaN(frame))continue;times.push(frame);values.push(this._parseAttributeValue(valueType,rawValue[frameKey]));}// Sort by time\nconst sorted=times.map((t,i)=>({t,v:values[i]})).sort((a,b)=>a.t-b.t);specsByPath[attrPath]={specType:SpecType.Attribute,fields:{timeSamples:{times:sorted.map(s=>s.t),values:sorted.map(s=>s.v)},typeName:valueType}};}else{// Parse value based on type\nconst parsedValue=this._parseAttributeValue(valueType,rawValue);// Store as attribute spec, preserving any existing fields\n// (e.g. connectionPaths set by an earlier `.connect` form)\nconst attrPath=path+\".\"+attrName;if(specsByPath[attrPath]){specsByPath[attrPath].fields.default=parsedValue;specsByPath[attrPath].fields.typeName=valueType;}else{specsByPath[attrPath]={specType:SpecType.Attribute,fields:{default:parsedValue,typeName:valueType}};}}}}}_parseAttributeValue(valueType,rawValue){if(rawValue===undefined||rawValue===null)return undefined;const str=String(rawValue).trim();// Array types\nif(valueType.endsWith(\"[]\")){let result;// Parse JSON-like arrays\ntry{// Handle arrays with parentheses like [(1,2,3), (4,5,6)]\n// Remove trailing comma (valid in USDA but not JSON)\nlet cleaned=str.replace(/\\(/g,\"[\").replace(/\\)/g,\"]\");if(cleaned.endsWith(\",\"))cleaned=cleaned.slice(0,-1);const parsed=JSON.parse(cleaned);// Flatten nested arrays for types like point3f[]\nresult=Array.isArray(parsed)&&Array.isArray(parsed[0])?parsed.flat():parsed;}catch(e){// Try simple array parsing\nconst cleaned=str.replace(/[\\[\\]]/g,\"\");result=cleaned.split(\",\").map(s=>{const trimmed=s.trim();const num=parseFloat(trimmed);return isNaN(num)?trimmed.replace(/\"/g,\"\"):num;});}//reorder (w, x, y, z) to (x, y, z, w)\nif(valueType.startsWith(\"quat\")){for(let i=0;i<result.length;i+=4){const w=result[i];result[i]=result[i+1];result[i+1]=result[i+2];result[i+2]=result[i+3];result[i+3]=w;}}return result;}// Vector types (double3, float3, point3f, etc.)\nif(valueType.includes(\"3\")||valueType.includes(\"2\")||valueType.includes(\"4\")){// Parse (x, y, z) format\nconst cleaned=str.replace(/[()]/g,\"\");const values=cleaned.split(\",\").map(s=>parseFloat(s.trim()));return values;}// Quaternion types (quatf, quatd, quath)\n// Text format is (w, x, y, z), convert to (x, y, z, w)\nif(valueType.startsWith(\"quat\")){const cleaned=str.replace(/[()]/g,\"\");const values=cleaned.split(\",\").map(s=>parseFloat(s.trim()));return[values[1],values[2],values[3],values[0]];}// Matrix types\nif(valueType.includes(\"matrix\")){const cleaned=str.replace(/[()]/g,\"\");const values=cleaned.split(\",\").map(s=>parseFloat(s.trim()));return values;}// Scalar numeric types\nif(valueType===\"float\"||valueType===\"double\"||valueType===\"int\"){return parseFloat(str);}// String/token types\nif(valueType===\"string\"||valueType===\"token\"){return this._parseString(str);}// Asset path\nif(valueType===\"asset\"){return str.replace(/@/g,\"\").replace(/\"/g,\"\");}// Default: return as string with quotes removed\nreturn this._parseString(str);}_parseString(str){// Remove surrounding quotes\nif(str.startsWith('\"')&&str.endsWith('\"')||str.startsWith(\"'\")&&str.endsWith(\"'\")){str=str.slice(1,-1);}// Handle escape sequences\nlet result=\"\";let i=0;while(i<str.length){if(str[i]===\"\\\\\"&&i+1<str.length){const next=str[i+1];switch(next){case\"n\":result+=\"\\n\";break;case\"t\":result+=\"\t\";break;case\"r\":result+=\"\\r\";break;case\"\\\\\":result+=\"\\\\\";break;case'\"':result+='\"';break;case\"'\":result+=\"'\";break;default:result+=next;break;}i+=2;}else{result+=str[i];i++;}}return result;}}export{USDAParser};\nexport const __FramerMetadata__ = {\"exports\":{\"USDAParser\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./USDAParser.map","// @ts-nocheck\n// Vendored from three.js 0.186.0.\n/*\nThree.js r186\nThe MIT License\n\nCopyright © 2010-2026 three.js authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/import{AnimationClip,BoxGeometry,BufferAttribute,BufferGeometry,CapsuleGeometry,ClampToEdgeWrapping,Color,ConeGeometry,CylinderGeometry,DirectionalLight,Euler,Group,LoaderUtils,Matrix4,Mesh,MeshPhysicalMaterial,MirroredRepeatWrapping,NoColorSpace,Object3D,OrthographicCamera,PerspectiveCamera,PointLight,Quaternion,QuaternionKeyframeTrack,RectAreaLight,RepeatWrapping,ShapeUtils,SkinnedMesh,Skeleton,Bone,SphereGeometry,SpotLight,SRGBColorSpace,Texture,Vector2,Vector3,VectorKeyframeTrack}from\"https://framerusercontent.com/modules/uCN2sICTWjkvpQ4lwNZ4/WMDGM80bYUxWkSpg9f0a/THREE.js\";// Pre-compiled regex patterns for performance\nconst VARIANT_PATH_REGEX=/^(.+?)\\/\\{(\\w+)=(\\w+)\\}\\/(.+)$/;// Spec types (must match USDCParser)\nconst SpecType={Unknown:0,Attribute:1,Connection:2,Expression:3,Mapper:4,MapperArg:5,Prim:6,PseudoRoot:7,Relationship:8,RelationshipTarget:9,Variant:10,VariantSet:11};// UsdGeomCamera fallback values (OpenUSD schema)\nconst USD_CAMERA_DEFAULTS={projection:\"perspective\",clippingRange:[1,1e6],horizontalAperture:20.955,verticalAperture:15.2908,horizontalApertureOffset:0,verticalApertureOffset:0,focalLength:50,focusDistance:0,fStop:0};/**\n * USDComposer handles scene composition from parsed USD data.\n * This includes reference resolution, variant selection, transform handling,\n * and building the Three.js scene graph.\n *\n * Works with specsByPath format from USDCParser.\n */class USDComposer{/**\n     * Compose a Three.js scene from parsed USD data.\n     * @param {Object} parsedData - Data from USDCParser or USDAParser\n     * @param {Object} assets - Dictionary of referenced assets (specsByPath or blob URLs)\n     * @param {Object} variantSelections - External variant selections\n     * @param {string} basePath - Base path for resolving relative references\n     * @returns {Group} Three.js scene graph\n     */compose(parsedData,assets={},variantSelections={},basePath=\"\"){this.specsByPath=parsedData.specsByPath;this.assets=assets;this.externalVariantSelections=variantSelections;this.basePath=basePath;this.skinnedMeshes=[];this.skeletons={};this.texturePromises=[];// Build indexes for O(1) lookups\nthis._buildIndexes();// Get FPS from root spec\nconst rootSpec=this.specsByPath[\"/\"];const rootFields=rootSpec?rootSpec.fields:{};this.fps=rootFields.timeCodesPerSecond||rootFields.framesPerSecond||24;const group=new Group;this._buildHierarchy(group,\"/\");// Bind skeletons to skinned meshes\nthis._bindSkeletons();// Expose skeleton on the root group so that AnimationMixer's\n// PropertyBinding.findNode resolves bone names before scene objects.\n// Without this, Xform prims that share a name with a skeleton joint\n// would be animated instead of the bone.\nconst skeletonPaths=Object.keys(this.skeletons);if(skeletonPaths.length===1){group.skeleton=this.skeletons[skeletonPaths[0]].skeleton;}// Build animations\ngroup.animations=this._buildAnimations();// Handle metersPerUnit scaling\nconst metersPerUnit=rootFields.metersPerUnit;if(metersPerUnit!==undefined&&metersPerUnit!==1){group.scale.setScalar(metersPerUnit);}// Handle Z-up to Y-up conversion\nif(rootSpec&&rootSpec.fields&&rootSpec.fields.upAxis===\"Z\"){group.rotation.x=-Math.PI/2;}return group;}/**\n     * Apply USD transforms to a Three.js object.\n     * Handles xformOpOrder with proper matrix composition.\n     * USD uses row-vector convention, Three.js uses column-vector.\n     */applyTransform(obj,fields,attrs={}){const data={...fields,...attrs};const xformOpOrder=data[\"xformOpOrder\"];// If we have xformOpOrder, apply transforms using matrices\nif(xformOpOrder&&xformOpOrder.length>0){const matrix=new Matrix4;const tempMatrix=new Matrix4;// Track scale for handling negative scale with rotation\nlet scaleValues=null;// Iterate FORWARD for Three.js column-vector convention\nfor(let i=0;i<xformOpOrder.length;i++){const op=xformOpOrder[i];const isInverse=op.startsWith(\"!invert!\");const opName=isInverse?op.slice(8):op;if(opName===\"xformOp:transform\"){const m=data[\"xformOp:transform\"];if(m&&m.length===16){tempMatrix.set(m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:translate\"){const t=data[\"xformOp:translate\"];if(t){tempMatrix.makeTranslation(t[0],t[1],t[2]);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:translate:pivot\"){const t=data[\"xformOp:translate:pivot\"];if(t){tempMatrix.makeTranslation(t[0],t[1],t[2]);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:scale\"){const s=data[\"xformOp:scale\"];if(s){if(Array.isArray(s)){tempMatrix.makeScale(s[0],s[1],s[2]);scaleValues=[s[0],s[1],s[2]];}else{tempMatrix.makeScale(s,s,s);scaleValues=[s,s,s];}if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:rotateXYZ\"){const r=data[\"xformOp:rotateXYZ\"];if(r){// USD rotateXYZ: matrix = Rx * Ry * Rz\n// Three.js Euler 'ZYX' order produces same result\nconst euler=new Euler(r[0]*Math.PI/180,r[1]*Math.PI/180,r[2]*Math.PI/180,\"ZYX\");tempMatrix.makeRotationFromEuler(euler);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:rotateX\"){const r=data[\"xformOp:rotateX\"];if(r!==undefined){tempMatrix.makeRotationX(r*Math.PI/180);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:rotateY\"){const r=data[\"xformOp:rotateY\"];if(r!==undefined){tempMatrix.makeRotationY(r*Math.PI/180);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:rotateZ\"){const r=data[\"xformOp:rotateZ\"];if(r!==undefined){tempMatrix.makeRotationZ(r*Math.PI/180);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}else if(opName===\"xformOp:orient\"){const q=data[\"xformOp:orient\"];if(q&&q.length===4){const quat=new Quaternion(q[0],q[1],q[2],q[3]);tempMatrix.makeRotationFromQuaternion(quat);if(isInverse)tempMatrix.invert();matrix.multiply(tempMatrix);}}}obj.matrix.copy(matrix);obj.matrix.decompose(obj.position,obj.quaternion,obj.scale);// Fix for negative scale: decompose() may absorb negative scale into quaternion\n// Restore original scale signs to keep animation consistent\nif(scaleValues){const negX=scaleValues[0]<0;const negY=scaleValues[1]<0;const negZ=scaleValues[2]<0;const negCount=(negX?1:0)+(negY?1:0)+(negZ?1:0);// decompose() absorbs pairs of negative scales into rotation\n// For [-1,-1,-1] → [-1,1,1], Y and Z were absorbed, flip quat.y and quat.w\nif(negCount===3){obj.scale.set(scaleValues[0],scaleValues[1],scaleValues[2]);obj.quaternion.set(obj.quaternion.x,-obj.quaternion.y,obj.quaternion.z,-obj.quaternion.w);}}return;}// Fallback: handle individual transform ops without order\nif(data[\"xformOp:translate\"]){const t=data[\"xformOp:translate\"];obj.position.set(t[0],t[1],t[2]);}if(data[\"xformOp:translate:pivot\"]){const p=data[\"xformOp:translate:pivot\"];obj.pivot=new Vector3(p[0],p[1],p[2]);}if(data[\"xformOp:scale\"]){const s=data[\"xformOp:scale\"];if(Array.isArray(s)){obj.scale.set(s[0],s[1],s[2]);}else{obj.scale.set(s,s,s);}}if(data[\"xformOp:rotateXYZ\"]){const r=data[\"xformOp:rotateXYZ\"];obj.rotation.set(r[0]*Math.PI/180,r[1]*Math.PI/180,r[2]*Math.PI/180);}if(data[\"xformOp:orient\"]){const q=data[\"xformOp:orient\"];if(q.length===4){obj.quaternion.set(q[0],q[1],q[2],q[3]);}}}/**\n     * Build indexes for efficient lookups.\n     * Called once during compose() to avoid O(n) scans per lookup.\n     */_buildIndexes(){// childrenByPath: parentPath -> [childName1, childName2, ...]\nthis.childrenByPath=new Map;// attributesByPrimPath: primPath -> Map(attrName -> attrSpec)\nthis.attributesByPrimPath=new Map;// materialsByRoot: rootPath -> [materialPath1, materialPath2, ...]\nthis.materialsByRoot=new Map;// shadersByMaterialPath: materialPath -> [shaderPath1, shaderPath2, ...]\nthis.shadersByMaterialPath=new Map;// geomSubsetsByMeshPath: meshPath -> [subsetPath1, subsetPath2, ...]\nthis.geomSubsetsByMeshPath=new Map;for(const path in this.specsByPath){const spec=this.specsByPath[path];if(spec.specType===SpecType.Prim){// Build parent-child index\nconst lastSlash=path.lastIndexOf(\"/\");if(lastSlash>0){const parentPath=path.slice(0,lastSlash);const childName=path.slice(lastSlash+1);if(!this.childrenByPath.has(parentPath)){this.childrenByPath.set(parentPath,[]);}this.childrenByPath.get(parentPath).push({name:childName,path:path});}else if(lastSlash===0&&path.length>1){// Direct child of root\nconst childName=path.slice(1);if(!this.childrenByPath.has(\"/\")){this.childrenByPath.set(\"/\",[]);}this.childrenByPath.get(\"/\").push({name:childName,path:path});}const typeName=spec.fields.typeName;// Build material index\nif(typeName===\"Material\"){const parts=path.split(\"/\");const rootPath=parts.length>1?\"/\"+parts[1]:\"/\";if(!this.materialsByRoot.has(rootPath)){this.materialsByRoot.set(rootPath,[]);}this.materialsByRoot.get(rootPath).push(path);}// Build shader index (shaders are children or descendants of materials)\nif(typeName===\"Shader\"&&lastSlash>0){// Walk up ancestors to find the nearest Material prim.\n// Shaders may be direct children of a Material, or nested\n// inside a NodeGraph (common with MaterialX materials).\nlet ancestorPath=path.slice(0,lastSlash);while(ancestorPath.length>0){const ancestorSpec=this.specsByPath[ancestorPath];if(ancestorSpec&&ancestorSpec.specType===SpecType.Prim&&ancestorSpec.fields.typeName===\"Material\"){if(!this.shadersByMaterialPath.has(ancestorPath)){this.shadersByMaterialPath.set(ancestorPath,[]);}this.shadersByMaterialPath.get(ancestorPath).push(path);break;}const slash=ancestorPath.lastIndexOf(\"/\");if(slash<=0)break;ancestorPath=ancestorPath.slice(0,slash);}}// Build GeomSubset index (subsets are children of meshes)\nif(typeName===\"GeomSubset\"&&lastSlash>0){const meshPath=path.slice(0,lastSlash);if(!this.geomSubsetsByMeshPath.has(meshPath)){this.geomSubsetsByMeshPath.set(meshPath,[]);}this.geomSubsetsByMeshPath.get(meshPath).push(path);}}else if(spec.specType===SpecType.Attribute||spec.specType===SpecType.Relationship){// Build attribute index\nconst dotIndex=path.lastIndexOf(\".\");if(dotIndex>0){const primPath=path.slice(0,dotIndex);const attrName=path.slice(dotIndex+1);if(!this.attributesByPrimPath.has(primPath)){this.attributesByPrimPath.set(primPath,new Map);}this.attributesByPrimPath.get(primPath).set(attrName,spec);}}}}/**\n     * Check if a path is a direct child of parentPath.\n     */_isDirectChild(parentPath,path,prefix){if(!path.startsWith(prefix))return false;const remainder=path.slice(prefix.length);if(remainder.length===0)return false;// Check for variant paths or simple names\nif(remainder.startsWith(\"{\")){return false// Variant paths are not direct children\n;}return!remainder.includes(\"/\");}/**\n     * Build the scene hierarchy recursively.\n     * Uses childrenByPath index for O(1) child lookup instead of O(n) iteration.\n     */_buildHierarchy(parent,parentPath){// Collect children from parentPath and any active variant paths\nconst childEntries=[];const seenPaths=new Set;// Get direct children using the index\nconst directChildren=this.childrenByPath.get(parentPath);if(directChildren){for(const child of directChildren){if(!seenPaths.has(child.path)){seenPaths.add(child.path);childEntries.push(child);}}}// Also get children from active variant paths\nconst variantPaths=this._getVariantPaths(parentPath);for(const vp of variantPaths){const variantChildren=this.childrenByPath.get(vp);if(variantChildren){for(const child of variantChildren){if(!seenPaths.has(child.path)){seenPaths.add(child.path);childEntries.push(child);}}}}// Process each child\nfor(const{name,path}of childEntries){const spec=this.specsByPath[path];if(!spec||spec.specType!==SpecType.Prim)continue;const typeName=spec.fields.typeName;// Check for references/payloads\nconst refValues=this._getReferences(spec);if(refValues.length>0){// Get local variant selections from this prim\nconst localVariants=this._getLocalVariantSelections(spec.fields);// Resolve all references\nconst resolvedGroups=[];for(const refValue of refValues){const referencedGroup=this._resolveReference(refValue,localVariants);if(referencedGroup)resolvedGroups.push(referencedGroup);}if(resolvedGroups.length>0){const attrs=this._getAttributes(path);// Single reference with single mesh: use optimized path\n// This handles the USDZExporter pattern: Xform references geometry file\nif(resolvedGroups.length===1){const singleMesh=this._findSingleMesh(resolvedGroups[0]);if(singleMesh&&(typeName===\"Xform\"||!typeName)){// Merge the mesh into this prim\nsingleMesh.name=name;this.applyTransform(singleMesh,spec.fields,attrs);// Apply material binding from the referencing prim if present\nthis._applyMaterialBinding(singleMesh,path);parent.add(singleMesh);// Still build local children (overrides)\nthis._buildHierarchy(singleMesh,path);continue;}}// Create a container for the referenced content\nconst obj=new Object3D;obj.name=name;this.applyTransform(obj,spec.fields,attrs);// Add all children from all resolved references\nfor(const referencedGroup of resolvedGroups){while(referencedGroup.children.length>0){obj.add(referencedGroup.children[0]);}}parent.add(obj);// Still build local children (overrides)\nthis._buildHierarchy(obj,path);continue;}}// Build appropriate object based on type\nif(typeName===\"SkelRoot\"){// Skeletal root - treat as transform but track for skeleton binding\nconst obj=new Object3D;obj.name=name;obj.userData.isSkelRoot=true;const attrs=this._getAttributes(path);this.applyTransform(obj,spec.fields,attrs);parent.add(obj);this._buildHierarchy(obj,path);}else if(typeName===\"Skeleton\"){// Build skeleton and store it\nconst skeleton=this._buildSkeleton(path);if(skeleton){this.skeletons[path]=skeleton;}// Recursively build children (may contain SkelAnimation)\nthis._buildHierarchy(parent,path);}else if(typeName===\"SkelAnimation\"){// Skip - animations are processed separately in _buildAnimations\n}else if(typeName===\"Mesh\"){const obj=this._buildMesh(path,spec);if(obj){parent.add(obj);this._buildHierarchy(obj,path);}}else if(typeName===\"Camera\"){const obj=this._buildCamera(path);obj.name=name;const attrs=this._getAttributes(path);this.applyTransform(obj,spec.fields,attrs);parent.add(obj);this._buildHierarchy(obj,path);}else if(typeName===\"DistantLight\"||typeName===\"SphereLight\"||typeName===\"RectLight\"||typeName===\"DiskLight\"){const obj=this._buildLight(path,typeName);obj.name=name;const attrs=this._getAttributes(path);this.applyTransform(obj,spec.fields,attrs);parent.add(obj);this._buildHierarchy(obj,path);}else if(typeName===\"Cube\"||typeName===\"Sphere\"||typeName===\"Cylinder\"||typeName===\"Cone\"||typeName===\"Capsule\"){const obj=this._buildGeomPrimitive(path,spec,typeName);if(obj){parent.add(obj);this._buildHierarchy(obj,path);}}else if(typeName===\"Material\"||typeName===\"Shader\"||typeName===\"GeomSubset\"){// Skip materials/shaders/subsets, they're referenced by meshes\n}else{// Transform node, group, or unknown type\nconst obj=new Object3D;obj.name=name;const attrs=this._getAttributes(path);this.applyTransform(obj,spec.fields,attrs);parent.add(obj);this._buildHierarchy(obj,path);}}}/**\n     * Get variant paths for a parent path based on variant selections.\n     */_getVariantPaths(parentPath){const parentSpec=this.specsByPath[parentPath];const variantSetChildren=parentSpec?.fields?.variantSetChildren;const variantPaths=[];if(!variantSetChildren||variantSetChildren.length===0){return variantPaths;}for(const variantSetName of variantSetChildren){// External selections take priority\nlet selectedVariant=this.externalVariantSelections[variantSetName]||null;// Fall back to file's internal selection\nif(!selectedVariant){const variantSelection=parentSpec.fields.variantSelection;selectedVariant=variantSelection?variantSelection[variantSetName]:null;}// Fall back to first variant child\nif(!selectedVariant){const variantSetPath=parentPath+\"/{\"+variantSetName+\"=}\";const variantSetSpec=this.specsByPath[variantSetPath];if(variantSetSpec?.fields?.variantChildren){selectedVariant=variantSetSpec.fields.variantChildren[0];}}if(selectedVariant){const variantPath=parentPath+\"/{\"+variantSetName+\"=\"+selectedVariant+\"}\";variantPaths.push(variantPath);}}return variantPaths;}/**\n     * Resolve a file path relative to basePath.\n     */_resolveFilePath(refPath){let cleanPath=refPath;// Remove ./ prefix\nif(cleanPath.startsWith(\"./\")){cleanPath=cleanPath.slice(2);}if(!this.basePath)return cleanPath;// LoaderUtils.resolveURL expects basePath to end with a separator;\n// the USDZ flow passes the zip-internal directory name without one.\nconst base=this.basePath.endsWith(\"/\")?this.basePath:this.basePath+\"/\";return LoaderUtils.resolveURL(cleanPath,base);}/**\n     * Resolve a USD reference and return the composed content.\n     * @param {string} refValue - Reference value like \"@./path/to/file.usdc@\"\n     * @param {Object} localVariants - Variant selections to apply\n     * @returns {Group|null} Composed content or null\n     */_resolveReference(refValue,localVariants={}){if(!refValue)return null;const match=refValue.match(/@([^@]+)@(?:<([^>]+)>)?/);if(!match)return null;const filePath=match[1];const primPath=match[2]// e.g., \"/Geometry\"\n;const resolvedPath=this._resolveFilePath(filePath);// Merge variant selections - external takes priority, then local\nconst mergedVariants={...localVariants,...this.externalVariantSelections};// Look up pre-parsed data in assets\nconst referencedData=this.assets[resolvedPath];if(!referencedData)return null;// If it's specsByPath data, compose it\nif(referencedData.specsByPath){const composer=new USDComposer(this.manager);const newBasePath=this._getBasePath(resolvedPath);const composedGroup=composer.compose(referencedData,this.assets,mergedVariants,newBasePath);// If a primPath is specified, find and return just that subtree\nif(primPath){const primName=primPath.split(\"/\").pop();// Find the direct child with this name (not a deep search)\n// This is important because there may be multiple objects with the same name\nlet targetObject=null;for(const child of composedGroup.children){if(child.name===primName){targetObject=child;break;}}if(targetObject){// Detach from parent for re-parenting\ncomposedGroup.remove(targetObject);// Wrap in a group to maintain consistent return type\nconst wrapper=new Group;wrapper.add(targetObject);return wrapper;}}return composedGroup;}// If it's already a Three.js Group (legacy support), clone it\nif(referencedData.isGroup||referencedData.isObject3D){return referencedData.clone();}return null;}/**\n     * Find a single mesh in the group's shallow hierarchy.\n     * Only returns a mesh if it's at depth 0 or 1, not deeply nested.\n     * This preserves transforms in complex hierarchies like Kitchen Set\n     * while supporting USDZExporter round-trip (Xform > Xform > Mesh pattern).\n     */_findSingleMesh(group){// Check direct children first\nfor(const child of group.children){if(child.isMesh){group.remove(child);return child;}}// Check grandchildren (USDZExporter pattern: Xform > Geometry > Mesh)\n// Only if there's exactly one child with exactly one grandchild\nif(group.children.length===1){const child=group.children[0];if(child.children&&child.children.length===1){const grandchild=child.children[0];if(grandchild.isMesh&&!this._hasNonIdentityTransform(child)){// Safe to merge - intermediate has identity transform\nchild.remove(grandchild);return grandchild;}}}return null;}/**\n     * Check if an object has a non-identity local transform.\n     */_hasNonIdentityTransform(obj){const pos=obj.position;const rot=obj.rotation;const scale=obj.scale;const hasPosition=pos.x!==0||pos.y!==0||pos.z!==0;const hasRotation=rot.x!==0||rot.y!==0||rot.z!==0;const hasScale=scale.x!==1||scale.y!==1||scale.z!==1;return hasPosition||hasRotation||hasScale;}/**\n     * Get the base path (directory) from a file path.\n     */_getBasePath(filePath){const lastSlash=filePath.lastIndexOf(\"/\");return lastSlash>=0?filePath.slice(0,lastSlash):\"\";}/**\n     * Extract variant selections from a spec's fields.\n     */_getLocalVariantSelections(fields){const variants={};if(fields.variantSelection){for(const key in fields.variantSelection){variants[key]=fields.variantSelection[key];}}return variants;}/**\n     * Get all reference values from a prim spec.\n     * @returns {string[]} Array of reference strings like \"@path@\" or \"@path@<prim>\"\n     */_getReferences(spec){const results=[];if(spec.fields.references&&spec.fields.references.length>0){const ref=spec.fields.references[0];if(typeof ref===\"string\"){// Extract all @...@ references (handles both single and array values)\nconst matches=ref.matchAll(/@([^@]+)@(?:<([^>]+)>)?/g);for(const match of matches){results.push(match[0]);}}else if(ref.assetPath){results.push(\"@\"+ref.assetPath+\"@\");}}if(results.length===0&&spec.fields.payload){const payload=spec.fields.payload;if(typeof payload===\"string\")results.push(payload);else if(payload.assetPath)results.push(\"@\"+payload.assetPath+\"@\");}return results;}/**\n     * Resolve an attribute's authored value, following connections before using\n     * local fallback values.\n     */_resolveAttributeValue(path,visited=new Set){const cleanPath=String(path).replace(/<|>/g,\"\");if(visited.has(cleanPath))return undefined;const fields=this.specsByPath[cleanPath]?.fields;if(!fields)return undefined;const nextVisited=new Set(visited);nextVisited.add(cleanPath);if(fields.connectionPaths){for(const connectionPath of fields.connectionPaths){const value=this._resolveAttributeValue(connectionPath,nextVisited);if(value!==undefined)return value;}}if(fields.default!==undefined)return fields.default;const{times,values}=fields.timeSamples||{};if(times&&values&&times.length>0){// Find time 0, or use the first available time (rest pose).\nconst index=times.indexOf(0);return values[index>=0?index:0];}return undefined;}/**\n     * Get attributes for a path from attribute specs.\n     */_getAttributes(path){const attrs={};this._collectAttributesFromPath(path,attrs);// Collect overrides from sibling variants (when path is inside a variant)\nconst variantMatch=path.match(VARIANT_PATH_REGEX);if(variantMatch){const basePath=variantMatch[1];const relativePath=variantMatch[4];const variantPaths=this._getVariantPaths(basePath);for(const vp of variantPaths){if(path.startsWith(vp))continue;const overridePath=vp+\"/\"+relativePath;this._collectAttributesFromPath(overridePath,attrs);}}else{// Check for variant overrides at ancestor levels\nconst parts=path.split(\"/\");for(let i=1;i<parts.length-1;i++){const ancestorPath=parts.slice(0,i+1).join(\"/\");const relativePath=parts.slice(i+1).join(\"/\");const variantPaths=this._getVariantPaths(ancestorPath);for(const vp of variantPaths){const overridePath=vp+\"/\"+relativePath;this._collectAttributesFromPath(overridePath,attrs);}}}return attrs;}_collectAttributesFromPath(path,attrs){// Use the attribute index for O(1) lookup instead of O(n) iteration\nconst attrMap=this.attributesByPrimPath.get(path);if(!attrMap)return;for(const[attrName,attrSpec]of attrMap){const value=this._resolveAttributeValue(path+\".\"+attrName);if(value!==undefined){attrs[attrName]=value;}if(attrSpec.fields?.elementSize!==undefined){attrs[attrName+\":elementSize\"]=attrSpec.fields.elementSize;}if(attrName.startsWith(\"primvars:\")&&attrSpec.fields?.typeName!==undefined){attrs[attrName+\":typeName\"]=attrSpec.fields.typeName;}}}/**\n     * Build a mesh from a USD geometric primitive (Cube, Sphere, Cylinder, Cone, Capsule).\n     */_buildGeomPrimitive(path,spec,typeName){const attrs=this._getAttributes(path);const name=path.split(\"/\").pop();let geometry;switch(typeName){case\"Cube\":{const size=attrs[\"size\"]||2;geometry=new BoxGeometry(size,size,size);break;}case\"Sphere\":{const radius=attrs[\"radius\"]||1;geometry=new SphereGeometry(radius,32,16);break;}case\"Cylinder\":{const height=attrs[\"height\"]||2;const radius=attrs[\"radius\"]||1;geometry=new CylinderGeometry(radius,radius,height,32);break;}case\"Cone\":{const height=attrs[\"height\"]||2;const radius=attrs[\"radius\"]||1;geometry=new ConeGeometry(radius,height,32);break;}case\"Capsule\":{const height=attrs[\"height\"]||1;const radius=attrs[\"radius\"]||.5;geometry=new CapsuleGeometry(radius,height,16,32);break;}}// USD defaults axis to \"Z\", Three.js uses Y\nconst axis=attrs[\"axis\"]||\"Z\";if(axis===\"X\"){geometry.rotateZ(-Math.PI/2);}else if(axis===\"Z\"){geometry.rotateX(Math.PI/2);}const material=this._buildMaterial(path,spec.fields);const mesh=new Mesh(geometry,material);mesh.name=name;this.applyTransform(mesh,spec.fields,attrs);return mesh;}/**\n     * Build a mesh from a Mesh spec.\n     */_buildMesh(path,spec){const attrs=this._getAttributes(path);// Check for skinning data\nconst jointIndices=attrs[\"primvars:skel:jointIndices\"];const jointWeights=attrs[\"primvars:skel:jointWeights\"];const hasSkinning=jointIndices&&jointWeights&&jointIndices.length>0&&jointWeights.length>0;// Collect GeomSubsets for multi-material support\nconst geomSubsets=this._getGeomSubsets(path);let geometry,material;if(geomSubsets.length>0){geometry=this._buildGeometryWithSubsets(attrs,geomSubsets,hasSkinning);const meshMaterialPath=this._getMaterialPath(path,spec.fields);material=geomSubsets.map(subset=>{const matPath=subset.materialPath||meshMaterialPath;return this._buildMaterialForPath(matPath);});}else{geometry=this._buildGeometry(path,attrs,hasSkinning);material=this._buildMaterial(path,spec.fields);}const displayColor=attrs[\"primvars:displayColor\"];if(displayColor&&displayColor.length>=3){const applyDisplayColor=mat=>{if(mat.color&&mat.color.r===1&&mat.color.g===1&&mat.color.b===1&&!mat.map){mat.color.setRGB(displayColor[0],displayColor[1],displayColor[2],SRGBColorSpace);}};if(Array.isArray(material)){material.forEach(applyDisplayColor);}else{applyDisplayColor(material);}}const displayOpacity=attrs[\"primvars:displayOpacity\"];if(displayOpacity&&displayOpacity.length===1&&geomSubsets.length===0){const opacity=displayOpacity[0];const applyDisplayOpacity=mat=>{if(opacity<1&&mat.opacity===1&&mat.transparent===false){mat.opacity=opacity;mat.transparent=true;}};if(Array.isArray(material)){material.forEach(applyDisplayOpacity);}else{applyDisplayOpacity(material);}}let mesh;if(hasSkinning){mesh=new SkinnedMesh(geometry,material);// Find skeleton path from skel:skeleton relationship\nlet skelBindingSpec=this.specsByPath[path+\".skel:skeleton\"];if(!skelBindingSpec){skelBindingSpec=this.specsByPath[path+\".rel skel:skeleton\"];}let skeletonPath=null;if(skelBindingSpec){if(skelBindingSpec.fields.targetPaths&&skelBindingSpec.fields.targetPaths.length>0){skeletonPath=skelBindingSpec.fields.targetPaths[0];}else if(skelBindingSpec.fields.default){skeletonPath=skelBindingSpec.fields.default.replace(/<|>/g,\"\");}}// Get per-mesh joint mapping\nconst localJoints=attrs[\"skel:joints\"];// Get geomBindTransform if present\nconst geomBindTransform=attrs[\"primvars:skel:geomBindTransform\"];this.skinnedMeshes.push({mesh,skeletonPath,path,localJoints,geomBindTransform});}else{mesh=new Mesh(geometry,material);}mesh.name=path.split(\"/\").pop();this.applyTransform(mesh,spec.fields,attrs);return mesh;}/**\n     * Build a camera from a Camera spec.\n     */_buildCamera(path){const attrs=this._getAttributes(path);const projectionToken=attrs[\"projection\"];const projection=typeof projectionToken===\"string\"?projectionToken.toLowerCase():USD_CAMERA_DEFAULTS.projection;const clippingRange=attrs[\"clippingRange\"]||USD_CAMERA_DEFAULTS.clippingRange;const near=Math.max(Number.EPSILON,this._parseNumber(clippingRange[0],USD_CAMERA_DEFAULTS.clippingRange[0]));const far=Math.max(near+Number.EPSILON,this._parseNumber(clippingRange[1],USD_CAMERA_DEFAULTS.clippingRange[1]));const horizontalAperture=this._parseNumber(attrs[\"horizontalAperture\"],USD_CAMERA_DEFAULTS.horizontalAperture);const verticalAperture=this._parseNumber(attrs[\"verticalAperture\"],USD_CAMERA_DEFAULTS.verticalAperture);const horizontalApertureOffset=this._parseNumber(attrs[\"horizontalApertureOffset\"],USD_CAMERA_DEFAULTS.horizontalApertureOffset);const verticalApertureOffset=this._parseNumber(attrs[\"verticalApertureOffset\"],USD_CAMERA_DEFAULTS.verticalApertureOffset);const focalLength=this._parseNumber(attrs[\"focalLength\"],USD_CAMERA_DEFAULTS.focalLength);const focusDistance=this._parseNumber(attrs[\"focusDistance\"],USD_CAMERA_DEFAULTS.focusDistance);const fStop=this._parseNumber(attrs[\"fStop\"],USD_CAMERA_DEFAULTS.fStop);let camera;if(projection===\"orthographic\"){// USD orthographic apertures are in tenths of a world unit.\nconst width=horizontalAperture/10;const height=verticalAperture/10;const offsetX=horizontalApertureOffset/10;const offsetY=verticalApertureOffset/10;camera=new OrthographicCamera(offsetX-width*.5,offsetX+width*.5,offsetY+height*.5,offsetY-height*.5,near,far);}else{const safeVerticalAperture=Math.max(Number.EPSILON,verticalAperture);const safeFocalLength=Math.max(Number.EPSILON,focalLength);const aspect=horizontalAperture/safeVerticalAperture;const fov=2*Math.atan(safeVerticalAperture/(2*safeFocalLength))*180/Math.PI;camera=new PerspectiveCamera(fov,aspect,near,far);camera.filmGauge=Math.max(horizontalAperture,verticalAperture);camera.filmOffset=horizontalApertureOffset;camera.focus=focusDistance;camera.setFocalLength(safeFocalLength);if(verticalApertureOffset!==0){// Three.js supports only horizontal film offset directly.\ncamera.userData.verticalApertureOffset=verticalApertureOffset;}}camera.userData.fStop=fStop;camera.userData.usdProjection=projection;return camera;}/**\n     * Build a light from a UsdLux light spec.\n     */_buildLight(path,typeName){const attrs=this._getAttributes(path);const intensity=this._parseNumber(attrs[\"inputs:intensity\"],1);const baseColor=attrs[\"inputs:color\"]||[1,1,1];const enableColorTemperature=attrs[\"inputs:enableColorTemperature\"]===true;const colorTemperature=this._parseNumber(attrs[\"inputs:colorTemperature\"],6500);const color=new Color(baseColor[0],baseColor[1],baseColor[2]);if(enableColorTemperature){const temp=this._colorTemperature(colorTemperature);color.multiply(temp);}let light;switch(typeName){case\"DistantLight\":light=new DirectionalLight(color,intensity);break;case\"SphereLight\":{const coneAngle=this._parseNumber(attrs[\"shaping:cone:angle\"],0);if(coneAngle>0){const angle=coneAngle*Math.PI/180;const softness=this._parseNumber(attrs[\"shaping:cone:softness\"],0);light=new SpotLight(color,intensity,0,angle,softness);}else{light=new PointLight(color,intensity);}break;}case\"RectLight\":{const width=this._parseNumber(attrs[\"inputs:width\"],1);const height=this._parseNumber(attrs[\"inputs:height\"],1);light=new RectAreaLight(color,intensity,width,height);break;}case\"DiskLight\":{const radius=this._parseNumber(attrs[\"inputs:radius\"],.5);const side=radius*2;light=new RectAreaLight(color,intensity,side,side);break;}}return light;}/**\n     * Convert a color temperature in Kelvin to an RGB Color.\n     * Based on Tanner Helland's algorithm.\n     */_colorTemperature(kelvin){const temp=kelvin/100;let r,g,b;if(temp<=66){r=1;g=.3900815787690196*Math.log(temp)-.6318414437886275;}else{r=1.292936186062745*Math.pow(temp-60,-.1332047592);g=1.1298908608952942*Math.pow(temp-60,-.0755148492);}if(temp>=66){b=1;}else if(temp<=19){b=0;}else{b=.543206789110196*Math.log(temp-10)-1.19625408914;}return new Color(Math.min(Math.max(r,0),1),Math.min(Math.max(g,0),1),Math.min(Math.max(b,0),1));}_parseNumber(value,fallback){const n=Number(value);return Number.isFinite(n)?n:fallback;}_getGeomSubsets(meshPath){const subsets=[];const subsetPaths=this.geomSubsetsByMeshPath.get(meshPath);if(!subsetPaths)return subsets;for(const p of subsetPaths){const attrs=this._getAttributes(p);const indices=attrs[\"indices\"];if(!indices||indices.length===0)continue;// Get material binding - check direct path and variant paths\nconst materialPath=this._getMaterialBindingTarget(p);subsets.push({name:p.split(\"/\").pop(),indices:indices,materialPath:materialPath});}return subsets;}/**\n     * Get the material binding relationship for a prim, including overrides from\n     * active variants.\n     */_getMaterialBindingSpec(primPath){const attrName=\"material:binding\";const directPath=primPath+\".\"+attrName;let bindingSpec=this.specsByPath[directPath]||null;// A variant on any ancestor may override this prim's relationship.\nconst parts=primPath.split(\"/\");for(let i=1;i<parts.length;i++){const ancestorPath=parts.slice(0,i+1).join(\"/\");const relativePath=parts.slice(i+1).join(\"/\");const variantPaths=this._getVariantPaths(ancestorPath);for(const vp of variantPaths){const overridePath=relativePath?vp+\"/\"+relativePath+\".\"+attrName:vp+\".\"+attrName;const overrideSpec=this.specsByPath[overridePath];if(overrideSpec?.fields?.targetPaths?.length>0){bindingSpec=overrideSpec;}}}return bindingSpec;}/**\n     * Get the resolved material binding target for a prim. Material bindings are\n     * inherited, and an ancestor marked strongerThanDescendants takes precedence\n     * over bindings authored on its descendants.\n     */_getMaterialBindingTarget(primPath){const parts=primPath.split(\"/\").filter(Boolean);let resolvedBinding=null;for(let i=0;i<parts.length;i++){const ancestorPath=\"/\"+parts.slice(0,i+1).join(\"/\");const bindingSpec=this._getMaterialBindingSpec(ancestorPath);if(!bindingSpec?.fields?.targetPaths?.length)continue;if(!resolvedBinding||resolvedBinding.fields?.bindMaterialAs!==\"strongerThanDescendants\"){resolvedBinding=bindingSpec;}}return resolvedBinding?.fields.targetPaths[0]||null;}_buildGeometry(path,fields,hasSkinning=false){const geometry=new BufferGeometry;const points=fields[\"points\"];if(!points||points.length===0)return geometry;const faceVertexIndices=fields[\"faceVertexIndices\"];const faceVertexCounts=fields[\"faceVertexCounts\"];// Parse polygon holes (Arnold format: [holeFaceIdx, parentFaceIdx, ...])\nconst polygonHoles=fields[\"primvars:arnold:polygon_holes\"];const holeMap=this._buildHoleMap(polygonHoles);// Compute triangulation pattern once using actual vertex positions\n// This pattern will be reused for normals, UVs, etc.\nlet indices=faceVertexIndices;let triPattern=null;if(faceVertexCounts&&faceVertexCounts.length>0){const result=this._triangulateIndicesWithPattern(faceVertexIndices,faceVertexCounts,points,holeMap);indices=result.indices;triPattern=result.pattern;}let positions=points;if(indices&&indices.length>0){positions=this._expandAttribute(points,indices,3);}geometry.setAttribute(\"position\",new BufferAttribute(new Float32Array(positions),3));const normals=fields[\"normals\"]||fields[\"primvars:normals\"];const normalIndicesRaw=fields[\"normals:indices\"]||fields[\"primvars:normals:indices\"];if(normals&&normals.length>0){let normalData=normals;if(normalIndicesRaw&&normalIndicesRaw.length>0&&triPattern){// Indexed normals - apply triangulation pattern to indices\nconst triangulatedNormalIndices=this._applyTriangulationPattern(normalIndicesRaw,triPattern);normalData=this._expandAttribute(normals,triangulatedNormalIndices,3);}else if(normals.length===points.length){// Per-vertex normals\nif(indices&&indices.length>0){normalData=this._expandAttribute(normals,indices,3);}}else if(triPattern){// Per-face-vertex normals (no separate indices) - use same triangulation pattern\nconst normalIndices=this._applyTriangulationPattern(Array.from({length:normals.length/3},(_,i)=>i),triPattern);normalData=this._expandAttribute(normals,normalIndices,3);}geometry.setAttribute(\"normal\",new BufferAttribute(new Float32Array(normalData),3));}else{// Compute vertex normals from the original indexed topology where\n// vertices are shared, then expand them like positions.\nconst vertexNormals=this._computeVertexNormals(points,indices);geometry.setAttribute(\"normal\",new BufferAttribute(new Float32Array(this._expandAttribute(vertexNormals,indices,3)),3));}const{uvs,uvIndices}=this._findUVPrimvar(fields);const numFaceVertices=faceVertexIndices?faceVertexIndices.length:0;if(uvs&&uvs.length>0){let uvData=uvs;if(uvIndices&&uvIndices.length>0&&triPattern){const triangulatedUvIndices=this._applyTriangulationPattern(uvIndices,triPattern);uvData=this._expandAttribute(uvs,triangulatedUvIndices,2);}else if(indices&&uvs.length/2===points.length/3){uvData=this._expandAttribute(uvs,indices,2);}else if(triPattern&&uvs.length/2===numFaceVertices){// Per-face-vertex UVs (faceVarying, no separate indices)\nconst uvIndicesFromPattern=this._applyTriangulationPattern(Array.from({length:numFaceVertices},(_,i)=>i),triPattern);uvData=this._expandAttribute(uvs,uvIndicesFromPattern,2);}geometry.setAttribute(\"uv\",new BufferAttribute(new Float32Array(uvData),2));}// Second UV set (st1) for lightmaps/AO\nconst{uvs2,uv2Indices}=this._findUV2Primvar(fields);if(uvs2&&uvs2.length>0){let uv2Data=uvs2;if(uv2Indices&&uv2Indices.length>0&&triPattern){const triangulatedUv2Indices=this._applyTriangulationPattern(uv2Indices,triPattern);uv2Data=this._expandAttribute(uvs2,triangulatedUv2Indices,2);}else if(indices&&uvs2.length/2===points.length/3){uv2Data=this._expandAttribute(uvs2,indices,2);}else if(triPattern&&uvs2.length/2===numFaceVertices){// Per-face-vertex UV2 (faceVarying, no separate indices)\nconst uv2IndicesFromPattern=this._applyTriangulationPattern(Array.from({length:numFaceVertices},(_,i)=>i),triPattern);uv2Data=this._expandAttribute(uvs2,uv2IndicesFromPattern,2);}geometry.setAttribute(\"uv1\",new BufferAttribute(new Float32Array(uv2Data),2));}// Add skinning attributes\nif(hasSkinning){const jointIndices=fields[\"primvars:skel:jointIndices\"];const jointWeights=fields[\"primvars:skel:jointWeights\"];const elementSize=fields[\"primvars:skel:jointIndices:elementSize\"]||4;if(jointIndices&&jointWeights){const numVertices=positions.length/3;let skinIndexData,skinWeightData;if(indices&&indices.length>0){skinIndexData=this._expandAttribute(jointIndices,indices,elementSize);skinWeightData=this._expandAttribute(jointWeights,indices,elementSize);}else{skinIndexData=jointIndices;skinWeightData=jointWeights;}const skinIndices=new Uint16Array(numVertices*4);const skinWeights=new Float32Array(numVertices*4);this._selectTopWeights(skinIndexData,skinWeightData,elementSize,numVertices,skinIndices,skinWeights);geometry.setAttribute(\"skinIndex\",new BufferAttribute(skinIndices,4));geometry.setAttribute(\"skinWeight\",new BufferAttribute(skinWeights,4));}}return geometry;}_buildGeometryWithSubsets(fields,geomSubsets,hasSkinning=false){const geometry=new BufferGeometry;const points=fields[\"points\"];if(!points||points.length===0)return geometry;const faceVertexIndices=fields[\"faceVertexIndices\"];const faceVertexCounts=fields[\"faceVertexCounts\"];if(!faceVertexCounts||faceVertexCounts.length===0)return geometry;const polygonHoles=fields[\"primvars:arnold:polygon_holes\"];const holeMap=this._buildHoleMap(polygonHoles);const holeFaces=holeMap.holeFaces;const parentToHoles=holeMap.parentToHoles;const{uvs,uvIndices}=this._findUVPrimvar(fields);const{uvs2,uv2Indices}=this._findUV2Primvar(fields);const normals=fields[\"normals\"]||fields[\"primvars:normals\"];const normalIndicesRaw=fields[\"normals:indices\"]||fields[\"primvars:normals:indices\"];const jointIndices=hasSkinning?fields[\"primvars:skel:jointIndices\"]:null;const jointWeights=hasSkinning?fields[\"primvars:skel:jointWeights\"]:null;const elementSize=fields[\"primvars:skel:jointIndices:elementSize\"]||4;// Build face-to-triangle mapping (accounting for holes)\nconst faceTriangleOffset=[];let triangleCount=0;for(let i=0;i<faceVertexCounts.length;i++){faceTriangleOffset.push(triangleCount);// Skip hole faces - they're triangulated with their parent\nif(holeFaces.has(i))continue;const count=faceVertexCounts[i];const holes=parentToHoles.get(i);if(holes&&holes.length>0){// For faces with holes, count triangles based on total vertices\n// Earcut produces (total_vertices - 2) triangles for any polygon including holes\nlet totalVerts=count;for(const holeIdx of holes){totalVerts+=faceVertexCounts[holeIdx];}triangleCount+=totalVerts-2;}else if(count>=3){triangleCount+=count-2;}}const triangleToSubset=new Int32Array(triangleCount).fill(-1);for(let si=0;si<geomSubsets.length;si++){const subset=geomSubsets[si];for(let i=0;i<subset.indices.length;i++){const faceIdx=subset.indices[i];if(faceIdx>=faceVertexCounts.length)continue;const triStart=faceTriangleOffset[faceIdx];const triCount=faceVertexCounts[faceIdx]-2;for(let t=0;t<triCount;t++){triangleToSubset[triStart+t]=si;}}}// Sort triangles by subset\nconst sortedTriangles=[];for(let tri=0;tri<triangleCount;tri++){sortedTriangles.push({original:tri,subset:triangleToSubset[tri]});}sortedTriangles.sort((a,b)=>a.subset-b.subset);const groups=[];let currentSubset=sortedTriangles.length>0?sortedTriangles[0].subset:-1;let groupStart=0;for(let i=0;i<sortedTriangles.length;i++){if(sortedTriangles[i].subset!==currentSubset){if(currentSubset>=0){groups.push({start:groupStart*3,count:(i-groupStart)*3,materialIndex:currentSubset});}currentSubset=sortedTriangles[i].subset;groupStart=i;}}if(currentSubset>=0&&sortedTriangles.length>groupStart){groups.push({start:groupStart*3,count:(sortedTriangles.length-groupStart)*3,materialIndex:currentSubset});}for(const group of groups){geometry.addGroup(group.start,group.count,group.materialIndex);}// Triangulate original data using consistent pattern\nconst{indices:origIndices,pattern:triPattern}=this._triangulateIndicesWithPattern(faceVertexIndices,faceVertexCounts,points,holeMap);const numFaceVertices=faceVertexCounts.reduce((a,b)=>a+b,0);const faceVaryingIdentity=uvs&&!uvIndices&&uvs.length/2===numFaceVertices||uvs2&&!uv2Indices&&uvs2.length/2===numFaceVertices?this._applyTriangulationPattern(Array.from({length:numFaceVertices},(_,i)=>i),triPattern):null;const origUvIndices=uvIndices?this._applyTriangulationPattern(uvIndices,triPattern):uvs&&uvs.length/2===numFaceVertices?faceVaryingIdentity:null;const origUv2Indices=uv2Indices?this._applyTriangulationPattern(uv2Indices,triPattern):uvs2&&uvs2.length/2===numFaceVertices?faceVaryingIdentity:null;const hasIndexedNormals=normals&&normalIndicesRaw&&normalIndicesRaw.length>0;const hasFaceVaryingNormals=normals&&normals.length/3===numFaceVertices;const origNormalIndices=hasIndexedNormals?this._applyTriangulationPattern(normalIndicesRaw,triPattern):hasFaceVaryingNormals?this._applyTriangulationPattern(Array.from({length:numFaceVertices},(_,i)=>i),triPattern):null;// When no normals are provided, compute vertex normals from\n// the indexed topology so that shared vertices produce averaged normals.\nconst vertexNormals=!normals&&origIndices.length>0?this._computeVertexNormals(points,origIndices):null;// Build reordered vertex data\nconst vertexCount=triangleCount*3;const positions=new Float32Array(vertexCount*3);const uvData=uvs?new Float32Array(vertexCount*2):null;const uv1Data=uvs2?new Float32Array(vertexCount*2):null;const normalData=normals||vertexNormals?new Float32Array(vertexCount*3):null;const skinSrcIndices=jointIndices?new Uint16Array(vertexCount*elementSize):null;const skinSrcWeights=jointWeights?new Float32Array(vertexCount*elementSize):null;for(let i=0;i<sortedTriangles.length;i++){const origTri=sortedTriangles[i].original;for(let v=0;v<3;v++){const origIdx=origTri*3+v;const newIdx=i*3+v;const pointIdx=origIndices[origIdx];positions[newIdx*3]=points[pointIdx*3];positions[newIdx*3+1]=points[pointIdx*3+1];positions[newIdx*3+2]=points[pointIdx*3+2];if(uvData&&uvs){if(origUvIndices){const uvIdx=origUvIndices[origIdx];uvData[newIdx*2]=uvs[uvIdx*2];uvData[newIdx*2+1]=uvs[uvIdx*2+1];}else if(uvs.length/2===points.length/3){uvData[newIdx*2]=uvs[pointIdx*2];uvData[newIdx*2+1]=uvs[pointIdx*2+1];}}if(uv1Data&&uvs2){if(origUv2Indices){const uv2Idx=origUv2Indices[origIdx];uv1Data[newIdx*2]=uvs2[uv2Idx*2];uv1Data[newIdx*2+1]=uvs2[uv2Idx*2+1];}else if(uvs2.length/2===points.length/3){uv1Data[newIdx*2]=uvs2[pointIdx*2];uv1Data[newIdx*2+1]=uvs2[pointIdx*2+1];}}if(normalData){if(normals&&origNormalIndices){const normalIdx=origNormalIndices[origIdx];normalData[newIdx*3]=normals[normalIdx*3];normalData[newIdx*3+1]=normals[normalIdx*3+1];normalData[newIdx*3+2]=normals[normalIdx*3+2];}else if(normals&&normals.length===points.length){normalData[newIdx*3]=normals[pointIdx*3];normalData[newIdx*3+1]=normals[pointIdx*3+1];normalData[newIdx*3+2]=normals[pointIdx*3+2];}else if(vertexNormals){normalData[newIdx*3]=vertexNormals[pointIdx*3];normalData[newIdx*3+1]=vertexNormals[pointIdx*3+1];normalData[newIdx*3+2]=vertexNormals[pointIdx*3+2];}}if(skinSrcIndices&&skinSrcWeights&&jointIndices&&jointWeights){for(let j=0;j<elementSize;j++){skinSrcIndices[newIdx*elementSize+j]=jointIndices[pointIdx*elementSize+j]||0;skinSrcWeights[newIdx*elementSize+j]=jointWeights[pointIdx*elementSize+j]||0;}}}}geometry.setAttribute(\"position\",new BufferAttribute(positions,3));if(uvData){geometry.setAttribute(\"uv\",new BufferAttribute(uvData,2));}if(uv1Data){geometry.setAttribute(\"uv1\",new BufferAttribute(uv1Data,2));}geometry.setAttribute(\"normal\",new BufferAttribute(normalData,3));if(skinSrcIndices&&skinSrcWeights){const skinIndexData=new Uint16Array(vertexCount*4);const skinWeightData=new Float32Array(vertexCount*4);this._selectTopWeights(skinSrcIndices,skinSrcWeights,elementSize,vertexCount,skinIndexData,skinWeightData);geometry.setAttribute(\"skinIndex\",new BufferAttribute(skinIndexData,4));geometry.setAttribute(\"skinWeight\",new BufferAttribute(skinWeightData,4));}return geometry;}_selectTopWeights(srcIndices,srcWeights,elementSize,numVertices,dstIndices,dstWeights){if(elementSize<=4){for(let i=0;i<numVertices;i++){for(let j=0;j<4;j++){if(j<elementSize){dstIndices[i*4+j]=srcIndices[i*elementSize+j]||0;dstWeights[i*4+j]=srcWeights[i*elementSize+j]||0;}else{dstIndices[i*4+j]=0;dstWeights[i*4+j]=0;}}}return;}// When elementSize > 4, find the 4 largest weights per vertex\n// using a partial selection sort (4 iterations of O(elementSize)).\nconst order=new Uint32Array(elementSize);for(let i=0;i<numVertices;i++){const base=i*elementSize;for(let j=0;j<elementSize;j++)order[j]=j;for(let k=0;k<4;k++){let maxIdx=k;let maxW=srcWeights[base+order[k]]||0;for(let j=k+1;j<elementSize;j++){const w=srcWeights[base+order[j]]||0;if(w>maxW){maxW=w;maxIdx=j;}}if(maxIdx!==k){const tmp=order[k];order[k]=order[maxIdx];order[maxIdx]=tmp;}}let total=0;for(let j=0;j<4;j++){total+=srcWeights[base+order[j]]||0;}for(let j=0;j<4;j++){const s=order[j];if(total>0){dstIndices[i*4+j]=srcIndices[base+s]||0;dstWeights[i*4+j]=(srcWeights[base+s]||0)/total;}else{dstIndices[i*4+j]=0;dstWeights[i*4+j]=0;}}}}_findUVPrimvar(fields){for(const key in fields){if(!key.startsWith(\"primvars:\"))continue;if(key.endsWith(\":typeName\")||key.endsWith(\":elementSize\")||key.endsWith(\":indices\"))continue;if(key.includes(\"skel:\"))continue;const typeName=fields[key+\":typeName\"];if(typeName&&typeName.includes(\"texCoord\")){return{uvs:fields[key],uvIndices:fields[key+\":indices\"]};}}const uvs=fields[\"primvars:st\"]||fields[\"primvars:UVMap\"];const uvIndices=fields[\"primvars:st:indices\"];return{uvs,uvIndices};}_findUV2Primvar(fields){const uvs2=fields[\"primvars:st1\"];const uv2Indices=fields[\"primvars:st1:indices\"];return{uvs2,uv2Indices};}_buildHoleMap(polygonHoles){// polygonHoles is in Arnold format: [holeFaceIdx, parentFaceIdx, holeFaceIdx, parentFaceIdx, ...]\n// Returns a map: parentFaceIdx -> [holeFaceIdx1, holeFaceIdx2, ...]\n// Also returns a set of hole face indices to skip during triangulation\nif(!polygonHoles||polygonHoles.length===0){return{parentToHoles:new Map,holeFaces:new Set};}const parentToHoles=new Map;const holeFaces=new Set;for(let i=0;i<polygonHoles.length;i+=2){const holeFaceIdx=polygonHoles[i];const parentFaceIdx=polygonHoles[i+1];holeFaces.add(holeFaceIdx);if(!parentToHoles.has(parentFaceIdx)){parentToHoles.set(parentFaceIdx,[]);}parentToHoles.get(parentFaceIdx).push(holeFaceIdx);}return{parentToHoles,holeFaces};}_triangulateIndicesWithPattern(indices,counts,points=null,holeMap=null){const triangulated=[];const pattern=[]// Stores face-local indices for each triangle vertex\n;// Build face offset lookup for accessing hole face data\nconst faceOffsets=[];let offsetAccum=0;for(let i=0;i<counts.length;i++){faceOffsets.push(offsetAccum);offsetAccum+=counts[i];}const parentToHoles=holeMap?.parentToHoles||new Map;const holeFaces=holeMap?.holeFaces||new Set;let offset=0;for(let i=0;i<counts.length;i++){const count=counts[i];// Skip faces that are holes - they will be triangulated with their parent\nif(holeFaces.has(i)){offset+=count;continue;}// Check if this face has holes\nconst holes=parentToHoles.get(i);if(holes&&holes.length>0&&points&&points.length>0){// Triangulate face with holes using vertex -> face-vertex mapping\nconst vertexToFaceVertex=new Map;const faceIndices=[];for(let j=0;j<count;j++){const vertIdx=indices[offset+j];faceIndices.push(vertIdx);vertexToFaceVertex.set(vertIdx,offset+j);}const holeContours=[];for(const holeFaceIdx of holes){const holeOffset=faceOffsets[holeFaceIdx];const holeCount=counts[holeFaceIdx];const holeIndices=[];for(let j=0;j<holeCount;j++){const vertIdx=indices[holeOffset+j];holeIndices.push(vertIdx);vertexToFaceVertex.set(vertIdx,holeOffset+j);}holeContours.push(holeIndices);}const triangles=this._triangulateNGonWithHoles(faceIndices,holeContours,points);for(const tri of triangles){triangulated.push(tri[0],tri[1],tri[2]);pattern.push(vertexToFaceVertex.get(tri[0]),vertexToFaceVertex.get(tri[1]),vertexToFaceVertex.get(tri[2]));}}else if(count===3){triangulated.push(indices[offset],indices[offset+1],indices[offset+2]);pattern.push(offset,offset+1,offset+2);}else if(count===4){triangulated.push(indices[offset],indices[offset+1],indices[offset+2],indices[offset],indices[offset+2],indices[offset+3]);pattern.push(offset,offset+1,offset+2,offset,offset+2,offset+3);}else if(count>4){// Use ear-clipping for complex n-gons if we have vertex positions\nif(points&&points.length>0){const faceIndices=[];for(let j=0;j<count;j++){faceIndices.push(indices[offset+j]);}const triangles=this._triangulateNGon(faceIndices,points);for(const tri of triangles){triangulated.push(tri[0],tri[1],tri[2]);// Find local indices within the face\npattern.push(offset+faceIndices.indexOf(tri[0]),offset+faceIndices.indexOf(tri[1]),offset+faceIndices.indexOf(tri[2]));}}else{// Fallback to fan triangulation\nfor(let j=1;j<count-1;j++){triangulated.push(indices[offset],indices[offset+j],indices[offset+j+1]);pattern.push(offset,offset+j,offset+j+1);}}}offset+=count;}return{indices:triangulated,pattern};}_applyTriangulationPattern(indices,pattern){const result=[];for(let i=0;i<pattern.length;i++){result.push(indices[pattern[i]]);}return result;}_triangulateNGon(faceIndices,points){// Project 3D polygon to 2D for triangulation using Newell's method for normal\nconst contour2D=[];const contour3D=[];for(const idx of faceIndices){contour3D.push(new Vector3(points[idx*3],points[idx*3+1],points[idx*3+2]));}// Calculate polygon normal using Newell's method\nconst normal=new Vector3;for(let i=0;i<contour3D.length;i++){const curr=contour3D[i];const next=contour3D[(i+1)%contour3D.length];normal.x+=(curr.y-next.y)*(curr.z+next.z);normal.y+=(curr.z-next.z)*(curr.x+next.x);normal.z+=(curr.x-next.x)*(curr.y+next.y);}normal.normalize();// Create tangent basis for projection\nconst tangent=new Vector3;const bitangent=new Vector3;if(Math.abs(normal.y)>.9){tangent.set(1,0,0);}else{tangent.set(0,1,0);}bitangent.crossVectors(normal,tangent).normalize();tangent.crossVectors(bitangent,normal).normalize();// Project to 2D\nfor(const p of contour3D){contour2D.push(new Vector2(p.dot(tangent),p.dot(bitangent)));}// Triangulate using ShapeUtils\nconst triangles=ShapeUtils.triangulateShape(contour2D,[]);// Map back to original indices\nconst result=[];for(const tri of triangles){result.push([faceIndices[tri[0]],faceIndices[tri[1]],faceIndices[tri[2]]]);}return result;}_triangulateNGonWithHoles(outerIndices,holeContours,points){// Project 3D polygon with holes to 2D for triangulation\nconst outer3D=[];for(const idx of outerIndices){outer3D.push(new Vector3(points[idx*3],points[idx*3+1],points[idx*3+2]));}// Calculate polygon normal using Newell's method\nconst normal=new Vector3;for(let i=0;i<outer3D.length;i++){const curr=outer3D[i];const next=outer3D[(i+1)%outer3D.length];normal.x+=(curr.y-next.y)*(curr.z+next.z);normal.y+=(curr.z-next.z)*(curr.x+next.x);normal.z+=(curr.x-next.x)*(curr.y+next.y);}normal.normalize();// Create tangent basis for projection\nconst tangent=new Vector3;const bitangent=new Vector3;if(Math.abs(normal.y)>.9){tangent.set(1,0,0);}else{tangent.set(0,1,0);}bitangent.crossVectors(normal,tangent).normalize();tangent.crossVectors(bitangent,normal).normalize();// Project outer contour to 2D\nconst outer2D=[];for(const p of outer3D){outer2D.push(new Vector2(p.dot(tangent),p.dot(bitangent)));}// Project hole contours to 2D\nconst holes2D=[];for(const holeIndices of holeContours){const hole2D=[];for(const idx of holeIndices){const p=new Vector3(points[idx*3],points[idx*3+1],points[idx*3+2]);hole2D.push(new Vector2(p.dot(tangent),p.dot(bitangent)));}holes2D.push(hole2D);}// Build combined index array: outer contour followed by all holes\nconst allIndices=[...outerIndices];for(const holeIndices of holeContours){allIndices.push(...holeIndices);}// Triangulate using ShapeUtils with holes\nconst triangles=ShapeUtils.triangulateShape(outer2D,holes2D);// Map back to original vertex indices\nconst result=[];for(const tri of triangles){result.push([allIndices[tri[0]],allIndices[tri[1]],allIndices[tri[2]]]);}return result;}_triangulateIndices(indices,counts){const triangulated=[];let offset=0;for(let i=0;i<counts.length;i++){const count=counts[i];if(count===3){triangulated.push(indices[offset],indices[offset+1],indices[offset+2]);}else if(count===4){triangulated.push(indices[offset],indices[offset+1],indices[offset+2],indices[offset],indices[offset+2],indices[offset+3]);}else if(count>4){// Fan triangulation for n-gons\nfor(let j=1;j<count-1;j++){triangulated.push(indices[offset],indices[offset+j],indices[offset+j+1]);}}offset+=count;}return triangulated;}_expandAttribute(data,indices,itemSize){const expanded=new Array(indices.length*itemSize);for(let i=0;i<indices.length;i++){const srcIdx=indices[i];for(let j=0;j<itemSize;j++){expanded[i*itemSize+j]=data[srcIdx*itemSize+j];}}return expanded;}/**\n     * Compute per-vertex normals from indexed triangle data.\n     * Accumulates area-weighted face normals at each shared vertex and normalizes.\n     */_computeVertexNormals(points,indices){const numVertices=points.length/3;const normals=new Float32Array(numVertices*3);for(let i=0;i<indices.length;i+=3){const a=indices[i];const b=indices[i+1];const c=indices[i+2];const ax=points[a*3],ay=points[a*3+1],az=points[a*3+2];const bx=points[b*3],by=points[b*3+1],bz=points[b*3+2];const cx=points[c*3],cy=points[c*3+1],cz=points[c*3+2];const e1x=bx-ax,e1y=by-ay,e1z=bz-az;const e2x=cx-ax,e2y=cy-ay,e2z=cz-az;const nx=e1y*e2z-e1z*e2y;const ny=e1z*e2x-e1x*e2z;const nz=e1x*e2y-e1y*e2x;normals[a*3]+=nx;normals[a*3+1]+=ny;normals[a*3+2]+=nz;normals[b*3]+=nx;normals[b*3+1]+=ny;normals[b*3+2]+=nz;normals[c*3]+=nx;normals[c*3+1]+=ny;normals[c*3+2]+=nz;}for(let i=0;i<numVertices;i++){const x=normals[i*3],y=normals[i*3+1],z=normals[i*3+2];const len=Math.sqrt(x*x+y*y+z*z);if(len>0){normals[i*3]/=len;normals[i*3+1]/=len;normals[i*3+2]/=len;}}return normals;}/**\n     * Get the material path for a mesh, checking various binding sources.\n     */_getMaterialPath(meshPath,fields){let materialPath=null;const materialBinding=fields[\"material:binding\"];if(materialBinding){materialPath=Array.isArray(materialBinding)?materialBinding[0]:materialBinding;}// Use variant-aware lookup if no direct binding in fields\nif(!materialPath){materialPath=this._getMaterialBindingTarget(meshPath);}return materialPath;}_buildMaterial(meshPath,fields){const material=new MeshPhysicalMaterial;let materialPath=null;const materialBinding=fields[\"material:binding\"];if(materialBinding){materialPath=Array.isArray(materialBinding)?materialBinding[0]:materialBinding;}// Use variant-aware lookup if no direct binding in fields\nif(!materialPath){materialPath=this._getMaterialBindingTarget(meshPath);}if(!materialPath){const materialPaths=[];const prefix=meshPath+\"/\";for(const path in this.specsByPath){if(!path.startsWith(prefix))continue;if(!path.endsWith(\".material:binding\"))continue;const bindingSpec=this.specsByPath[path];if(!bindingSpec)continue;const targetPaths=bindingSpec.fields.targetPaths;if(targetPaths&&targetPaths.length>0){materialPaths.push(targetPaths[0]);}}if(materialPaths.length>0){materialPath=this._pickBestMaterial(materialPaths);}}if(!materialPath){// Use material index for O(1) lookup instead of O(n) iteration\nconst meshParts=meshPath.split(\"/\");const rootPath=\"/\"+meshParts[1];const materialsInRoot=this.materialsByRoot.get(rootPath);if(materialsInRoot){for(const path of materialsInRoot){if(path.startsWith(rootPath+\"/Looks/\")||path.startsWith(rootPath+\"/Materials/\")){materialPath=path;break;}}}}if(materialPath){this._applyMaterial(material,materialPath);}return material;}_buildMaterialForPath(materialPath){const material=new MeshPhysicalMaterial;if(materialPath){this._applyMaterial(material,materialPath);}return material;}/**\n     * Apply material binding from a prim path to a mesh.\n     * Used when merging referenced geometry into a prim that has material binding.\n     */_applyMaterialBinding(mesh,primPath){let materialPath=this._getMaterialBindingTarget(primPath);if(!materialPath)return;// Clean the material path\nmaterialPath=String(materialPath).replace(/^<|>$/g,\"\");// Build and apply the material\nconst material=new MeshPhysicalMaterial;this._applyMaterial(material,materialPath);mesh.material=material;}_pickBestMaterial(materialPaths){for(const materialPath of materialPaths){const shaderPaths=this.shadersByMaterialPath.get(materialPath);if(!shaderPaths)continue;for(const path of shaderPaths){const attrs=this._getAttributes(path);if(attrs[\"info:id\"]===\"UsdUVTexture\"&&attrs[\"inputs:file\"]){return materialPath;}}}return materialPaths[0];}_applyMaterial(material,materialPath){const materialSpec=this.specsByPath[materialPath];if(!materialSpec)return;const shaderPaths=this.shadersByMaterialPath.get(materialPath);if(!shaderPaths)return;for(const path of shaderPaths){const spec=this.specsByPath[path];if(!spec)continue;const shaderAttrs=this._getAttributes(path);const infoId=shaderAttrs[\"info:id\"]||spec.fields[\"info:id\"];if(infoId===\"UsdPreviewSurface\"||infoId===\"ND_UsdPreviewSurface_surfaceshader\"){this._applyPreviewSurface(material,path);}else if(infoId===\"arnold:openpbr_surface\"){this._applyOpenPBRSurface(material,path);}}}/**\n     * Shared helper for applying texture or value from shader attribute.\n     * Reduces duplication between _applyPreviewSurface and _applyOpenPBRSurface.\n     */_applyTextureOrValue(material,shaderPath,fields,attrName,textureProperty,colorSpace,valueCallback,textureGetter){const attrPath=shaderPath+\".\"+attrName;const spec=this.specsByPath[attrPath];if(spec&&spec.fields.connectionPaths&&spec.fields.connectionPaths.length>0){// For OpenPBR, try all connection paths; for PreviewSurface, just the first\nconst paths=textureGetter===this._getTextureFromOpenPBRConnection?spec.fields.connectionPaths:[spec.fields.connectionPaths[0]];for(const connPath of paths){const texture=textureGetter.call(this,connPath);if(texture){texture.colorSpace=colorSpace;material[textureProperty]=texture;return true;}}}if(fields[attrName]!==undefined&&valueCallback){valueCallback(fields[attrName]);}return false;}_applyPreviewSurface(material,shaderPath){const fields=this._getAttributes(shaderPath);const applyTexture=(attrName,textureProperty,colorSpace,valueCallback)=>{return this._applyTextureOrValue(material,shaderPath,fields,attrName,textureProperty,colorSpace,valueCallback,this._getTextureFromConnection);};const getAttrSpec=attrName=>{const attrPath=shaderPath+\".\"+attrName;return this.specsByPath[attrPath];};// Diffuse color / base color map\napplyTexture(\"inputs:diffuseColor\",\"map\",SRGBColorSpace,color=>{if(Array.isArray(color)&&color.length>=3){material.color.setRGB(color[0],color[1],color[2],SRGBColorSpace);}});// Apply UsdUVTexture scale to diffuse color (output = texture * scale + bias)\nif(material.map&&material.map.userData.scale){const scale=material.map.userData.scale;if(Array.isArray(scale)&&scale.length>=3){material.color.setRGB(scale[0],scale[1],scale[2],SRGBColorSpace);}}// Emissive\napplyTexture(\"inputs:emissiveColor\",\"emissiveMap\",SRGBColorSpace,color=>{if(Array.isArray(color)&&color.length>=3){material.emissive.setRGB(color[0],color[1],color[2],SRGBColorSpace);}});if(material.emissiveMap){if(material.emissiveMap.userData.scale){const scale=material.emissiveMap.userData.scale;if(Array.isArray(scale)&&scale.length>=3){material.emissive.setRGB(scale[0],scale[1],scale[2],SRGBColorSpace);}}else{material.emissive.set(16777215);}}// Normal map\napplyTexture(\"inputs:normal\",\"normalMap\",NoColorSpace,null);// Apply normal map scale from UsdUVTexture scale input\nif(material.normalMap&&material.normalMap.userData.scale){const scale=material.normalMap.userData.scale;// UsdUVTexture scale is float4 (r,g,b,a), use first two components for normalScale\nmaterial.normalScale=new Vector2(scale[0],scale[1]);}// Roughness\nconst hasRoughnessMap=applyTexture(\"inputs:roughness\",\"roughnessMap\",NoColorSpace,value=>{material.roughness=value;});if(hasRoughnessMap){material.roughness=1;}// Metallic\nconst hasMetalnessMap=applyTexture(\"inputs:metallic\",\"metalnessMap\",NoColorSpace,value=>{material.metalness=value;});if(hasMetalnessMap){material.metalness=1;}// Occlusion\napplyTexture(\"inputs:occlusion\",\"aoMap\",NoColorSpace,null);// IOR\nif(fields[\"inputs:ior\"]!==undefined){material.ior=fields[\"inputs:ior\"];}// Specular color\napplyTexture(\"inputs:specularColor\",\"specularColorMap\",SRGBColorSpace,color=>{if(Array.isArray(color)&&color.length>=3){material.specularColor.setRGB(color[0],color[1],color[2],SRGBColorSpace);}});// Apply UsdUVTexture scale to specular color\nif(material.specularColorMap&&material.specularColorMap.userData.scale){const scale=material.specularColorMap.userData.scale;if(Array.isArray(scale)&&scale.length>=3){material.specularColor.setRGB(scale[0],scale[1],scale[2],SRGBColorSpace);}}// Clearcoat\nif(fields[\"inputs:clearcoat\"]!==undefined){material.clearcoat=fields[\"inputs:clearcoat\"];}// Clearcoat roughness\nif(fields[\"inputs:clearcoatRoughness\"]!==undefined){material.clearcoatRoughness=fields[\"inputs:clearcoatRoughness\"];}// Opacity and opacity modes\nconst opacityThreshold=fields[\"inputs:opacityThreshold\"]!==undefined?fields[\"inputs:opacityThreshold\"]:0;// Check if opacity is connected to a texture (e.g., diffuse texture's alpha)\nconst opacitySpec=getAttrSpec(\"inputs:opacity\");const hasOpacityConnection=opacitySpec?.fields?.connectionPaths?.length>0;if(hasOpacityConnection){// Opacity from texture alpha - use the diffuse map's alpha channel\nif(opacityThreshold>0){// Alpha cutoff mode\nmaterial.alphaTest=opacityThreshold;material.transparent=false;}else{// Alpha blend mode\nmaterial.transparent=true;}}else{// Direct opacity value\nconst opacity=fields[\"inputs:opacity\"]!==undefined?fields[\"inputs:opacity\"]:1;if(opacity<1){material.transparent=true;material.opacity=opacity;}}}_applyOpenPBRSurface(material,shaderPath){const fields=this._getAttributes(shaderPath);const applyTexture=(attrName,textureProperty,colorSpace,valueCallback)=>{return this._applyTextureOrValue(material,shaderPath,fields,attrName,textureProperty,colorSpace,valueCallback,this._getTextureFromOpenPBRConnection);};// Base color (diffuse)\napplyTexture(\"inputs:base_color\",\"map\",SRGBColorSpace,color=>{if(Array.isArray(color)&&color.length>=3){material.color.setRGB(color[0],color[1],color[2],SRGBColorSpace);}});// Apply UsdUVTexture scale to base color\nif(material.map&&material.map.userData.scale){const scale=material.map.userData.scale;if(Array.isArray(scale)&&scale.length>=3){material.color.setRGB(scale[0],scale[1],scale[2],SRGBColorSpace);}}// Base metalness\napplyTexture(\"inputs:base_metalness\",\"metalnessMap\",NoColorSpace,value=>{if(typeof value===\"number\"){material.metalness=value;}});// Specular roughness\napplyTexture(\"inputs:specular_roughness\",\"roughnessMap\",NoColorSpace,value=>{if(typeof value===\"number\"){material.roughness=value;}});// Emission color\nconst hasEmissionMap=applyTexture(\"inputs:emission_color\",\"emissiveMap\",SRGBColorSpace,color=>{if(Array.isArray(color)&&color.length>=3){material.emissive.setRGB(color[0],color[1],color[2],SRGBColorSpace);}});// Emission luminance/weight - multiply emissive by this factor\nconst emissionLuminance=fields[\"inputs:emission_luminance\"];if(emissionLuminance!==undefined&&emissionLuminance>0){if(hasEmissionMap){material.emissiveIntensity=emissionLuminance;}else{// Scale the emissive color by luminance\nmaterial.emissive.multiplyScalar(emissionLuminance);}}// Transmission (transparency)\nconst transmissionWeight=fields[\"inputs:transmission_weight\"];if(transmissionWeight!==undefined&&transmissionWeight>0){material.transmission=transmissionWeight;const transmissionDepth=fields[\"inputs:transmission_depth\"];if(transmissionDepth!==undefined){material.thickness=transmissionDepth;}const transmissionColor=fields[\"inputs:transmission_color\"];if(transmissionColor!==undefined&&Array.isArray(transmissionColor)){material.attenuationColor.setRGB(transmissionColor[0],transmissionColor[1],transmissionColor[2]);material.attenuationDistance=transmissionDepth||1;}}// Geometry opacity (overall surface opacity)\nconst geometryOpacity=fields[\"inputs:geometry_opacity\"];if(geometryOpacity!==undefined&&geometryOpacity<1){material.opacity=geometryOpacity;material.transparent=true;}// Specular IOR\nconst specularIOR=fields[\"inputs:specular_ior\"];if(specularIOR!==undefined){material.ior=specularIOR;}// Coat (clearcoat)\nconst coatWeight=fields[\"inputs:coat_weight\"];if(coatWeight!==undefined&&coatWeight>0){material.clearcoat=coatWeight;const coatRoughness=fields[\"inputs:coat_roughness\"];if(coatRoughness!==undefined){material.clearcoatRoughness=coatRoughness;}}// Thin film (iridescence)\nconst thinFilmWeight=fields[\"inputs:thin_film_weight\"];if(thinFilmWeight!==undefined&&thinFilmWeight>0){material.iridescence=thinFilmWeight;const thinFilmIOR=fields[\"inputs:thin_film_ior\"];if(thinFilmIOR!==undefined){material.iridescenceIOR=thinFilmIOR;}const thinFilmThickness=fields[\"inputs:thin_film_thickness\"];if(thinFilmThickness!==undefined){// OpenPBR uses micrometers, Three.js uses nanometers\nconst thicknessNm=thinFilmThickness*1e3;material.iridescenceThicknessRange=[thicknessNm,thicknessNm];}}// Specular\nconst specularWeight=fields[\"inputs:specular_weight\"];if(specularWeight!==undefined){material.specularIntensity=specularWeight;}const specularColor=fields[\"inputs:specular_color\"];if(specularColor!==undefined&&Array.isArray(specularColor)){material.specularColor.setRGB(specularColor[0],specularColor[1],specularColor[2]);}// Anisotropy\nconst anisotropy=fields[\"inputs:specular_roughness_anisotropy\"];if(anisotropy!==undefined&&anisotropy>0){material.anisotropy=anisotropy;}// Geometry normal (normal map)\napplyTexture(\"inputs:geometry_normal\",\"normalMap\",NoColorSpace,null);}_getTextureFromOpenPBRConnection(connPath){// connPath is like /Material/NodeGraph.outputs:baseColor or /Material/Shader.outputs:out\nconst cleanPath=connPath.replace(/<|>/g,\"\");const shaderPath=cleanPath.split(\".\")[0];const shaderSpec=this.specsByPath[shaderPath];if(!shaderSpec)return null;const attrs=this._getAttributes(shaderPath);const infoId=attrs[\"info:id\"]||shaderSpec.fields[\"info:id\"];const typeName=shaderSpec.fields.typeName;// Handle NodeGraph - follow output connection to internal shader\nif(typeName===\"NodeGraph\"){// Get the output attribute that's connected\nconst outputName=cleanPath.split(\".\")[1]// e.g., \"outputs:baseColor\"\n;const outputAttrPath=shaderPath+\".\"+outputName;const outputSpec=this.specsByPath[outputAttrPath];if(outputSpec?.fields?.connectionPaths?.length>0){// Follow the internal connection\nreturn this._getTextureFromOpenPBRConnection(outputSpec.fields.connectionPaths[0]);}return null;}// Handle arnold:image - Arnold's texture node\nif(infoId===\"arnold:image\"){const filePath=attrs[\"inputs:filename\"];if(!filePath)return null;return this._loadTextureFromPath(filePath);}// Handle MaterialX image nodes (ND_image_color4, ND_image_color3, etc.)\nif(infoId&&infoId.startsWith(\"ND_image_\")){const filePath=attrs[\"inputs:file\"];if(!filePath)return null;return this._loadTextureFromPath(filePath);}// Handle Maya file texture - follow the inColor connection to the actual image\nif(infoId===\"MayaND_fileTexture_color4\"){const inColorPath=shaderPath+\".inputs:inColor\";const inColorSpec=this.specsByPath[inColorPath];if(inColorSpec?.fields?.connectionPaths?.length>0){return this._getTextureFromOpenPBRConnection(inColorSpec.fields.connectionPaths[0]);}return null;}// Handle color conversion nodes - follow the input connection\nif(infoId&&infoId.startsWith(\"ND_convert_\")){const inPath=shaderPath+\".inputs:in\";const inSpec=this.specsByPath[inPath];if(inSpec?.fields?.connectionPaths?.length>0){return this._getTextureFromOpenPBRConnection(inSpec.fields.connectionPaths[0]);}return null;}// Handle Arnold bump2d - follow the bump_map input\nif(infoId===\"arnold:bump2d\"){const bumpMapPath=shaderPath+\".inputs:bump_map\";const bumpMapSpec=this.specsByPath[bumpMapPath];if(bumpMapSpec?.fields?.connectionPaths?.length>0){return this._getTextureFromOpenPBRConnection(bumpMapSpec.fields.connectionPaths[0]);}return null;}// Handle Arnold color_correct - follow the input connection\nif(infoId===\"arnold:color_correct\"){const inputPath=shaderPath+\".inputs:input\";const inputSpec=this.specsByPath[inputPath];if(inputSpec?.fields?.connectionPaths?.length>0){return this._getTextureFromOpenPBRConnection(inputSpec.fields.connectionPaths[0]);}return null;}// Handle nested shader paths (e.g., /Material/file2/cc.outputs:a)\n// Check if parent path is an image node\nconst parentPath=shaderPath.substring(0,shaderPath.lastIndexOf(\"/\"));if(parentPath){const parentSpec=this.specsByPath[parentPath];if(parentSpec){const parentAttrs=this._getAttributes(parentPath);const parentInfoId=parentAttrs[\"info:id\"]||parentSpec.fields[\"info:id\"];if(parentInfoId===\"arnold:image\"){const filePath=parentAttrs[\"inputs:filename\"];if(filePath)return this._loadTextureFromPath(filePath);}}}return null;}_loadTextureFromPath(filePath){if(!filePath)return null;// Check cache first\nif(this.textureCache[filePath]){return this.textureCache[filePath];}const texture=this._loadTexture(filePath,null,null);if(texture){this.textureCache[filePath]=texture;}return texture;}_getTextureFromConnection(connPath){// connPath is like /Material/Shader.outputs:rgb\nconst shaderPath=connPath.split(\".\")[0];const shaderSpec=this.specsByPath[shaderPath];if(!shaderSpec)return null;const attrs=this._getAttributes(shaderPath);const infoId=attrs[\"info:id\"]||shaderSpec.fields[\"info:id\"];if(infoId!==\"UsdUVTexture\")return null;const filePath=attrs[\"inputs:file\"];if(!filePath)return null;// Check for UsdTransform2d connection via inputs:st and trace to PrimvarReader\nlet transformAttrs=null;let uvChannel=0// Default to first UV set\n;const stAttrPath=shaderPath+\".inputs:st\";const stAttrSpec=this.specsByPath[stAttrPath];if(stAttrSpec?.fields?.connectionPaths?.length>0){const stConnPath=stAttrSpec.fields.connectionPaths[0];const stPath=stConnPath.replace(/<|>/g,\"\").split(\".\")[0];const stSpec=this.specsByPath[stPath];if(stSpec){const stAttrs=this._getAttributes(stPath);const stInfoId=stAttrs[\"info:id\"]||stSpec.fields[\"info:id\"];if(stInfoId===\"UsdTransform2d\"){transformAttrs=stAttrs;// Trace to PrimvarReader to find UV set\nconst inAttrPath=stPath+\".inputs:in\";const inAttrSpec=this.specsByPath[inAttrPath];if(inAttrSpec?.fields?.connectionPaths?.length>0){const inConnPath=inAttrSpec.fields.connectionPaths[0];const primvarPath=inConnPath.replace(/<|>/g,\"\").split(\".\")[0];const primvarAttrs=this._getAttributes(primvarPath);// Check varname to determine UV channel\nconst varname=primvarAttrs[\"inputs:varname\"];if(varname===\"st1\")uvChannel=1;else if(varname===\"st2\")uvChannel=2;}}else if(stInfoId===\"UsdPrimvarReader_float2\"){// Direct connection to PrimvarReader\nconst varname=stAttrs[\"inputs:varname\"];if(varname===\"st1\")uvChannel=1;else if(varname===\"st2\")uvChannel=2;}}}// Extract scale and bias for texture value modification\nconst scale=attrs[\"inputs:scale\"];const bias=attrs[\"inputs:bias\"];// Create cache key that includes scale/bias if present\nlet cacheKey=filePath;if(scale)cacheKey+=\":s\"+scale.join(\",\");if(bias)cacheKey+=\":b\"+bias.join(\",\");if(this.textureCache[cacheKey]){return this.textureCache[cacheKey];}const texture=this._loadTexture(filePath,attrs,transformAttrs);if(texture){// Store scale/bias and UV channel in userData\nif(scale)texture.userData.scale=scale;if(bias)texture.userData.bias=bias;if(uvChannel!==0)texture.channel=uvChannel;this.textureCache[cacheKey]=texture;}return texture;}_applyTextureTransforms(texture,attrs){if(!attrs)return;const scale=attrs[\"inputs:scale\"];if(scale&&Array.isArray(scale)&&scale.length>=2){texture.repeat.set(scale[0],scale[1]);}const translation=attrs[\"inputs:translation\"];if(translation&&Array.isArray(translation)&&translation.length>=2){texture.offset.set(translation[0],translation[1]);}const rotation=attrs[\"inputs:rotation\"];if(typeof rotation===\"number\"){texture.rotation=rotation*Math.PI/180;}}_loadTexture(filePath,textureAttrs,transformAttrs){let cleanPath=filePath;if(cleanPath.startsWith(\"@\"))cleanPath=cleanPath.slice(1);if(cleanPath.endsWith(\"@\"))cleanPath=cleanPath.slice(0,-1);// Resolve relative to basePath first\nconst resolvedPath=this._resolveFilePath(cleanPath);let assetData=this.assets[resolvedPath];// Fallback to unresolved path\nif(!assetData){assetData=this.assets[cleanPath];}// Last resort: search by basename\nif(!assetData){const baseName=cleanPath.split(\"/\").pop();for(const key in this.assets){if(key.endsWith(baseName)||key.endsWith(\"/\"+baseName)){return this._createTextureFromData(this.assets[key],textureAttrs,transformAttrs);}}// Standalone .usd/.usda/.usdc files don't pre-load assets; treat the\n// resolved path as a URL relative to basePath so the browser fetches\n// the texture from disk next to the layer.\nif(this.basePath){return this._createTextureFromData(resolvedPath,textureAttrs,transformAttrs);}// Try loading via LoadingManager if available\nif(this.manager){const url=this.manager.resolveURL(baseName);if(url!==baseName){// URL modifier found a match - load it\nreturn this._createTextureFromData(url,textureAttrs,transformAttrs);}}console.warn(\"USDLoader: Texture not found:\",cleanPath);return null;}return this._createTextureFromData(assetData,textureAttrs,transformAttrs);}_createTextureFromData(data,textureAttrs,transformAttrs){if(!data)return null;const scope=this;const texture=new Texture;let url;if(typeof data===\"string\"){url=data;}else if(data instanceof Uint8Array||data instanceof ArrayBuffer){const blob=new Blob([data]);url=URL.createObjectURL(blob);}else{return null;}const image=new Image;this.texturePromises.push(new Promise(resolve=>{image.onload=function(){texture.image=image;if(textureAttrs){texture.wrapS=scope._getWrapMode(textureAttrs[\"inputs:wrapS\"]);texture.wrapT=scope._getWrapMode(textureAttrs[\"inputs:wrapT\"]);}scope._applyTextureTransforms(texture,transformAttrs);texture.needsUpdate=true;if(typeof data!==\"string\"){URL.revokeObjectURL(url);}resolve();};image.onerror=function(){console.warn(\"USDLoader: Failed to load texture:\",url);if(typeof data!==\"string\"){URL.revokeObjectURL(url);}resolve();};}));image.src=url;return texture;}_getWrapMode(wrapValue){if(wrapValue===\"repeat\")return RepeatWrapping;if(wrapValue===\"mirror\")return MirroredRepeatWrapping;if(wrapValue===\"clamp\")return ClampToEdgeWrapping;return RepeatWrapping;}// ========================================================================\n// Skeletal Animation\n// ========================================================================\n_buildSkeleton(path){const attrs=this._getAttributes(path);// Get joint names (paths like \"root\", \"root/body_joint\", etc.)\nconst joints=attrs[\"joints\"];if(!joints||joints.length===0)return null;// Get bind transforms (world-space bind pose matrices)\n// These can be nested arrays (USDA) or flat arrays (USDC)\nconst rawBindTransforms=attrs[\"bindTransforms\"];const rawRestTransforms=attrs[\"restTransforms\"];const bindTransforms=this._flattenMatrixArray(rawBindTransforms,joints.length);const restTransforms=this._flattenMatrixArray(rawRestTransforms,joints.length);// Build bones\nconst bones=[];const bonesByPath={};const boneInverses=[];for(let i=0;i<joints.length;i++){const jointPath=joints[i];const jointName=jointPath.split(\"/\").pop();const bone=new Bone;bone.name=jointName;bones.push(bone);bonesByPath[jointPath]={bone,index:i};// Compute inverse bind matrix\nif(bindTransforms&&bindTransforms.length>=(i+1)*16){const bindMatrix=new Matrix4;// USD matrices are row-major, Three.js is column-major - need to transpose\nconst m=bindTransforms.slice(i*16,(i+1)*16);bindMatrix.set(m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]);const inverseBindMatrix=bindMatrix.clone().invert();boneInverses.push(inverseBindMatrix);}else{boneInverses.push(new Matrix4);}}// Build parent-child relationships based on joint paths\nfor(let i=0;i<joints.length;i++){const jointPath=joints[i];const parts=jointPath.split(\"/\");if(parts.length>1){const parentPath=parts.slice(0,-1).join(\"/\");const parentData=bonesByPath[parentPath];if(parentData){parentData.bone.add(bones[i]);}}}// Apply rest transforms as bone local transforms.\n// Rest transforms are the skeleton's default local-space pose and match\n// the reference frame used by SkelAnimation data. Bind transforms are\n// world-space matrices used only for computing inverse bind matrices.\nif(restTransforms&&restTransforms.length>=joints.length*16){for(let i=0;i<joints.length;i++){const matrix=new Matrix4;const m=restTransforms.slice(i*16,(i+1)*16);matrix.set(m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]);matrix.decompose(bones[i].position,bones[i].quaternion,bones[i].scale);}}// Find root bone(s) - bones without a parent bone\nconst rootBones=bones.filter(bone=>!bone.parent||!bone.parent.isBone);// Get animation source path\nconst animSourceSpec=this.specsByPath[path+\".skel:animationSource\"];let animationPath=null;if(animSourceSpec&&animSourceSpec.fields.targetPaths&&animSourceSpec.fields.targetPaths.length>0){animationPath=animSourceSpec.fields.targetPaths[0];}return{skeleton:new Skeleton(bones,boneInverses),joints:joints,rootBones:rootBones,animationPath:animationPath,path:path};}_bindSkeletons(){for(const meshData of this.skinnedMeshes){const{mesh,skeletonPath,localJoints,geomBindTransform}=meshData;let skeletonData=null;// Try exact match first\nif(skeletonPath&&this.skeletons[skeletonPath]){skeletonData=this.skeletons[skeletonPath];}// Try includes match as fallback\nif(!skeletonData){for(const skelPath in this.skeletons){if(skeletonPath&&(skeletonPath.includes(skelPath)||skelPath.includes(skeletonPath))){skeletonData=this.skeletons[skelPath];break;}}}// Fallback to first skeleton for single-skeleton files\nif(!skeletonData){const skeletonPaths=Object.keys(this.skeletons);if(skeletonPaths.length>0){skeletonData=this.skeletons[skeletonPaths[0]];}}if(!skeletonData){console.warn(\"USDComposer: No skeleton found for skinned mesh\",mesh.name);continue;}const{skeleton,rootBones,joints}=skeletonData;if(localJoints&&localJoints.length>0){const skinIndex=mesh.geometry.attributes.skinIndex;if(skinIndex){const localToGlobal=[];for(let i=0;i<localJoints.length;i++){const jointName=localJoints[i];const globalIdx=joints.indexOf(jointName);localToGlobal[i]=globalIdx>=0?globalIdx:0;}const arr=skinIndex.array;for(let i=0;i<arr.length;i++){const localIdx=arr[i];if(localIdx<localToGlobal.length){arr[i]=localToGlobal[localIdx];}}}}for(const rootBone of rootBones){mesh.add(rootBone);}// Use geomBindTransform if available, otherwise fall back to identity.\n// Estimating bind transforms from vertex/joint samples is not robust and can\n// produce severe skinning distortion for valid assets.\nconst bindMatrix=new Matrix4;if(geomBindTransform&&geomBindTransform.length===16){// USD matrices are row-major, Three.js is column-major - need to transpose\nconst m=geomBindTransform;bindMatrix.set(m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]);}mesh.bind(skeleton,bindMatrix);}}_buildAnimations(){const animations=[];// Find all SkelAnimation prims\nfor(const path in this.specsByPath){const spec=this.specsByPath[path];if(spec.specType!==SpecType.Prim)continue;if(spec.fields.typeName!==\"SkelAnimation\")continue;const clip=this._buildAnimationClip(path);if(clip){animations.push(clip);}}// Build transform animations from time-sampled xformOps\nconst transformTracks=this._buildTransformAnimations();if(transformTracks.length>0){animations.push(new AnimationClip(\"TransformAnimation\",-1,transformTracks));}return animations;}_buildTransformAnimations(){const tracks=[];for(const path in this.specsByPath){const spec=this.specsByPath[path];if(spec.specType!==SpecType.Prim)continue;const typeName=spec.fields?.typeName;if(typeName!==\"Xform\"&&typeName!==\"Scope\"&&typeName!==\"Mesh\")continue;const objectName=path.split(\"/\").pop();// Check for animated xformOp:orient\nconst orientPath=path+\".xformOp:orient\";const orientSpec=this.specsByPath[orientPath];if(orientSpec?.fields?.timeSamples){const{times,values}=orientSpec.fields.timeSamples;const keyframeTimes=[];const keyframeValues=[];for(let i=0;i<times.length;i++){keyframeTimes.push(times[i]/this.fps);const q=values[i];keyframeValues.push(q[0],q[1],q[2],q[3]);}if(keyframeTimes.length>0){tracks.push(new QuaternionKeyframeTrack(objectName+\".quaternion\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}// Check for animated xformOp:rotateXYZ\nconst rotateXYZPath=path+\".xformOp:rotateXYZ\";const rotateXYZSpec=this.specsByPath[rotateXYZPath];if(rotateXYZSpec?.fields?.timeSamples){const{times,values}=rotateXYZSpec.fields.timeSamples;const keyframeTimes=[];const keyframeValues=[];const tempEuler=new Euler;const tempQuat=new Quaternion;for(let i=0;i<times.length;i++){keyframeTimes.push(times[i]/this.fps);const r=values[i];// USD rotateXYZ: matrix = Rx * Ry * Rz, use 'ZYX' order in Three.js\ntempEuler.set(r[0]*Math.PI/180,r[1]*Math.PI/180,r[2]*Math.PI/180,\"ZYX\");tempQuat.setFromEuler(tempEuler);keyframeValues.push(tempQuat.x,tempQuat.y,tempQuat.z,tempQuat.w);}if(keyframeTimes.length>0){tracks.push(new QuaternionKeyframeTrack(objectName+\".quaternion\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}// Check for animated xformOp:translate\nconst translatePath=path+\".xformOp:translate\";const translateSpec=this.specsByPath[translatePath];if(translateSpec?.fields?.timeSamples){const{times,values}=translateSpec.fields.timeSamples;const keyframeTimes=[];const keyframeValues=[];for(let i=0;i<times.length;i++){keyframeTimes.push(times[i]/this.fps);const t=values[i];keyframeValues.push(t[0],t[1],t[2]);}if(keyframeTimes.length>0){tracks.push(new VectorKeyframeTrack(objectName+\".position\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}// Check for animated xformOp:scale\nconst scalePath=path+\".xformOp:scale\";const scaleSpec=this.specsByPath[scalePath];if(scaleSpec?.fields?.timeSamples){const{times,values}=scaleSpec.fields.timeSamples;const keyframeTimes=[];const keyframeValues=[];for(let i=0;i<times.length;i++){keyframeTimes.push(times[i]/this.fps);const s=values[i];keyframeValues.push(s[0],s[1],s[2]);}if(keyframeTimes.length>0){tracks.push(new VectorKeyframeTrack(objectName+\".scale\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}// Check for animated xformOp:transform (matrix animations)\n// These can have suffixes like xformOp:transform:transform\nconst properties=spec.fields?.properties||[];for(const prop of properties){if(!prop.startsWith(\"xformOp:transform\"))continue;const transformPath=path+\".\"+prop;const transformSpec=this.specsByPath[transformPath];if(!transformSpec?.fields?.timeSamples)continue;const{times,values}=transformSpec.fields.timeSamples;const positionTimes=[];const positionValues=[];const quaternionTimes=[];const quaternionValues=[];const scaleTimes=[];const scaleValues=[];const matrix=new Matrix4;const position=new Vector3;const quaternion=new Quaternion;const scale=new Vector3;for(let i=0;i<times.length;i++){const m=values[i];if(!m||m.length<16)continue;const t=times[i]/this.fps;// USD matrices are row-major, Three.js is column-major\nmatrix.set(m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]);matrix.decompose(position,quaternion,scale);positionTimes.push(t);positionValues.push(position.x,position.y,position.z);quaternionTimes.push(t);quaternionValues.push(quaternion.x,quaternion.y,quaternion.z,quaternion.w);scaleTimes.push(t);scaleValues.push(scale.x,scale.y,scale.z);}if(positionTimes.length>0){tracks.push(new VectorKeyframeTrack(objectName+\".position\",new Float32Array(positionTimes),new Float32Array(positionValues)));tracks.push(new QuaternionKeyframeTrack(objectName+\".quaternion\",new Float32Array(quaternionTimes),new Float32Array(quaternionValues)));tracks.push(new VectorKeyframeTrack(objectName+\".scale\",new Float32Array(scaleTimes),new Float32Array(scaleValues)));}break;// Only process first transform op\n}}return tracks;}_buildAnimationClip(path){const attrs=this._getAttributes(path);const joints=attrs[\"joints\"];if(!joints||joints.length===0)return null;const tracks=[];// Get rotation time samples\nconst rotationsAttr=this._getTimeSampledAttribute(path,\"rotations\");if(rotationsAttr&&rotationsAttr.times&&rotationsAttr.values){const{times,values}=rotationsAttr;for(let jointIdx=0;jointIdx<joints.length;jointIdx++){const jointName=joints[jointIdx].split(\"/\").pop();const keyframeTimes=[];const keyframeValues=[];for(let t=0;t<times.length;t++){const quatData=values[t];if(!quatData||quatData.length<(jointIdx+1)*4)continue;keyframeTimes.push(times[t]/this.fps);// USD GfQuatf stores imaginary (x,y,z) first, then real (w)\n// This matches Three.js quaternion order (x,y,z,w)\nconst x=quatData[jointIdx*4+0];const y=quatData[jointIdx*4+1];const z=quatData[jointIdx*4+2];const w=quatData[jointIdx*4+3];keyframeValues.push(x,y,z,w);}if(keyframeTimes.length>0){tracks.push(new QuaternionKeyframeTrack(jointName+\".quaternion\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}}// Get translation time samples\nconst translationsAttr=this._getTimeSampledAttribute(path,\"translations\");if(translationsAttr&&translationsAttr.times&&translationsAttr.values){const{times,values}=translationsAttr;for(let jointIdx=0;jointIdx<joints.length;jointIdx++){const jointName=joints[jointIdx].split(\"/\").pop();const keyframeTimes=[];const keyframeValues=[];for(let t=0;t<times.length;t++){const transData=values[t];if(!transData||transData.length<(jointIdx+1)*3)continue;keyframeTimes.push(times[t]/this.fps);keyframeValues.push(transData[jointIdx*3+0],transData[jointIdx*3+1],transData[jointIdx*3+2]);}if(keyframeTimes.length>0){tracks.push(new VectorKeyframeTrack(jointName+\".position\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}}// Get scale time samples\nconst scalesAttr=this._getTimeSampledAttribute(path,\"scales\");if(scalesAttr&&scalesAttr.times&&scalesAttr.values){const{times,values}=scalesAttr;for(let jointIdx=0;jointIdx<joints.length;jointIdx++){const jointName=joints[jointIdx].split(\"/\").pop();const keyframeTimes=[];const keyframeValues=[];for(let t=0;t<times.length;t++){const scaleData=values[t];if(!scaleData||scaleData.length<(jointIdx+1)*3)continue;keyframeTimes.push(times[t]/this.fps);keyframeValues.push(scaleData[jointIdx*3+0],scaleData[jointIdx*3+1],scaleData[jointIdx*3+2]);}if(keyframeTimes.length>0){tracks.push(new VectorKeyframeTrack(jointName+\".scale\",new Float32Array(keyframeTimes),new Float32Array(keyframeValues)));}}}if(tracks.length===0)return null;const clipName=path.split(\"/\").pop();return new AnimationClip(clipName,-1,tracks);}_getTimeSampledAttribute(primPath,attrName){// Look for the attribute spec with time samples\nconst attrPath=primPath+\".\"+attrName;const attrSpec=this.specsByPath[attrPath];if(attrSpec&&attrSpec.fields.timeSamples){const timeSamples=attrSpec.fields.timeSamples;if(timeSamples.times&&timeSamples.values){return timeSamples;}}return null;}_flattenMatrixArray(matrices,numMatrices){if(!matrices||matrices.length===0)return null;if(typeof matrices[0]===\"number\")return matrices;const flatArray=[];for(let m=0;m<numMatrices;m++){for(let row=0;row<4;row++){const rowData=matrices[m*4+row];if(rowData&&rowData.length===4){flatArray.push(rowData[0],rowData[1],rowData[2],rowData[3]);}else{flatArray.push(row===0?1:0,row===1?1:0,row===2?1:0,row===3?1:0);}}}return flatArray;}constructor(manager=null){this.textureCache={};this.skinnedMeshes=[];this.manager=manager;this.texturePromises=[];}}export{USDComposer,SpecType};\nexport const __FramerMetadata__ = {\"exports\":{\"SpecType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"USDComposer\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./USDComposer.map","// @ts-nocheck\n/*!\nfflate - fast JavaScript compression/decompression\n<https://101arrowz.github.io/fflate>\nLicensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE\nversion 0.8.2\n*/// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2={};var wk=function(c,id,msg,transfer,cb){var w=new Worker(ch2[id]||(ch2[id]=URL.createObjectURL(new Blob([c+';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:\"text/javascript\"}))));w.onmessage=function(e){var d=e.data,ed=d.$e$;if(ed){var err=new Error(ed[0]);err[\"code\"]=ed[1];err.stack=ed[2];cb(err,null);}else cb(null,d);};w.postMessage(msg,transfer);return w;};// aliases for shorter compressed code (most minifers don't do this)\nvar u8=Uint8Array,u16=Uint16Array,i32=Int32Array;// fixed length extra bits\nvar fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,/* unused */0,0,/* impossible */0]);// fixed distance extra bits\nvar fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,/* unused */0,0]);// code length index map\nvar clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);// get base, reverse index map from extra bits\nvar freb=function(eb,start){var b=new u16(31);for(var i=0;i<31;++i){b[i]=start+=1<<eb[i-1];}// numbers here are at max 18 bits\nvar r=new i32(b[30]);for(var i=1;i<30;++i){for(var j=b[i];j<b[i+1];++j){r[j]=j-b[i]<<5|i;}}return{b:b,r:r};};var _a=freb(fleb,2),fl=_a.b,revfl=_a.r;// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28]=258,revfl[258]=28;var _b=freb(fdeb,0),fd=_b.b,revfd=_b.r;// map of value to reverse (assuming 16 bits)\nvar rev=new u16(32768);for(var i=0;i<32768;++i){// reverse table algorithm from SO\nvar x=(i&43690)>>1|(i&21845)<<1;x=(x&52428)>>2|(x&13107)<<2;x=(x&61680)>>4|(x&3855)<<4;rev[i]=((x&65280)>>8|(x&255)<<8)>>1;}// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap=function(cd,mb,r){var s=cd.length;// index\nvar i=0;// u16 \"map\": index -> # of codes with bit length = index\nvar l=new u16(mb);// length of cd must be 288 (total # of codes)\nfor(;i<s;++i){if(cd[i])++l[cd[i]-1];}// u16 \"map\": index -> minimum code for bit length = index\nvar le=new u16(mb);for(i=1;i<mb;++i){le[i]=le[i-1]+l[i-1]<<1;}var co;if(r){// u16 \"map\": index -> number of actual bits, symbol for code\nco=new u16(1<<mb);// bits to remove for reverser\nvar rvb=15-mb;for(i=0;i<s;++i){// ignore 0 lengths\nif(cd[i]){// num encoding both symbol and bits read\nvar sv=i<<4|cd[i];// free bits\nvar r_1=mb-cd[i];// start value\nvar v=le[cd[i]-1]++<<r_1;// m is end value\nfor(var m=v|(1<<r_1)-1;v<=m;++v){// every 16 bit value starting with the code yields the same result\nco[rev[v]>>rvb]=sv;}}}}else{co=new u16(s);for(i=0;i<s;++i){if(cd[i]){co[i]=rev[le[cd[i]-1]++]>>15-cd[i];}}}return co;};// fixed length tree\nvar flt=new u8(288);for(var i=0;i<144;++i)flt[i]=8;for(var i=144;i<256;++i)flt[i]=9;for(var i=256;i<280;++i)flt[i]=7;for(var i=280;i<288;++i)flt[i]=8;// fixed distance tree\nvar fdt=new u8(32);for(var i=0;i<32;++i)fdt[i]=5;// fixed length map\nvar flm=/*#__PURE__*/hMap(flt,9,0),flrm=/*#__PURE__*/hMap(flt,9,1);// fixed distance map\nvar fdm=/*#__PURE__*/hMap(fdt,5,0),fdrm=/*#__PURE__*/hMap(fdt,5,1);// find max of array\nvar max=function(a){var m=a[0];for(var i=1;i<a.length;++i){if(a[i]>m)m=a[i];}return m;};// read d, starting at bit p and mask with m\nvar bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m;};// read d, starting at bit p continuing for at least 16 bits\nvar bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7);};// get end of byte\nvar shft=function(p){return(p+7)/8|0;};// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;// can't use .constructor in case user-supplied\nreturn new u8(v.subarray(s,e));};/**\n * Codes for errors generated within this library\n */export var FlateErrorCode={UnexpectedEOF:0,InvalidBlockType:1,InvalidLengthLiteral:2,InvalidDistance:3,StreamFinished:4,NoStreamHandler:5,InvalidHeader:6,NoCallback:7,InvalidUTF8:8,ExtraFieldTooLong:9,InvalidDate:10,FilenameTooLong:11,StreamFinishing:12,InvalidZipData:13,UnknownCompressionMethod:14};// error codes\nvar ec=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e;};// expands raw DEFLATE data\nvar inflt=function(dat,st,buf,dict){// source length       dict length\nvar sl=dat.length,dl=dict?dict.length:0;if(!sl||st.f&&!st.l)return buf||new u8(0);var noBuf=!buf;// have to estimate size\nvar resize=noBuf||st.i!=2;// no state\nvar noSt=st.i;// Assumes roughly 33% compression ratio average\nif(noBuf)buf=new u8(sl*3);// ensure buffer can fit at least l elements\nvar cbuf=function(l){var bl=buf.length;// need to increase size to fit\nif(l>bl){// Double or set to necessary, whichever is greater\nvar nbuf=new u8(Math.max(bl*2,l));nbuf.set(buf);buf=nbuf;}};//  last chunk         bitpos           bytes\nvar final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;// total bits\nvar tbts=sl*8;do{if(!lm){// BFINAL - this is only 1 when last chunk is next\nfinal=bits(dat,pos,1);// type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\nvar type=bits(dat,pos+1,3);pos+=3;if(!type){// go to end of byte boundary\nvar s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break;}// ensure size\nif(resize)cbuf(bt+l);// Copy over uncompressed data\nbuf.set(dat.subarray(s,t),bt);// Get new bitpos, update byte count\nst.b=bt+=l,st.p=pos=t*8,st.f=final;continue;}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){//  literal                            lengths\nvar hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;// length+distance tree\nvar ldt=new u8(tl);// code length tree\nvar clt=new u8(19);for(var i=0;i<hcLen;++i){// use index map to get real code\nclt[clim[i]]=bits(dat,pos+i*3,7);}pos+=hcLen*3;// code lengths bits\nvar clb=max(clt),clbmsk=(1<<clb)-1;// code lengths map\nvar clm=hMap(clt,clb,1);for(var i=0;i<tl;){var r=clm[bits(dat,pos,clbmsk)];// bits read\npos+=r&15;// symbol\nvar s=r>>4;// code length to copy\nif(s<16){ldt[i++]=s;}else{//  copy   count\nvar c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i++]=c;}}//    length tree                 distance tree\nvar lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);// max length bits\nlbt=max(lt);// max dist bits\ndbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1);}else err(1);if(pos>tbts){if(noSt)err(0);break;}}// Make sure the buffer can hold this + the largest possible addition\n// Maximum chunk size (practically, theoretically infinite) is 2^17\nif(resize)cbuf(bt+131072);var lms=(1<<lbt)-1,dms=(1<<dbt)-1;var lpos=pos;for(;;lpos=pos){// bits read, code\nvar c=lm[bits16(dat,pos)&lms],sym=c>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break;}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break;}else{var add=sym-254;// no extra bits needed if less\nif(sym>264){// index\nvar i=sym-257,b=fleb[i];add=bits(dat,pos,(1<<b)-1)+fl[i];pos+=b;}// dist\nvar d=dm[bits16(dat,pos)&dms],dsym=d>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<<b)-1,pos+=b;}if(pos>tbts){if(noSt)err(0);break;}if(resize)cbuf(bt+131072);var end=bt+add;if(bt<dt){var shift=dl-dt,dend=Math.min(dt,end);if(shift+bt<0)err(3);for(;bt<dend;++bt)buf[bt]=dict[shift+bt];}for(;bt<end;++bt)buf[bt]=buf[bt-dt];}}st.l=lm,st.p=lpos,st.b=bt,st.f=final;if(lm)final=1,st.m=lbt,st.d=dm,st.n=dbt;}while(!final)// don't reallocate for streams or user buffers\nreturn bt!=buf.length&&noBuf?slc(buf,0,bt):buf.subarray(0,bt);};// starting at p, write the minimum number of bits that can hold v to d\nvar wbits=function(d,p,v){v<<=p&7;var o=p/8|0;d[o]|=v;d[o+1]|=v>>8;};// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16=function(d,p,v){v<<=p&7;var o=p/8|0;d[o]|=v;d[o+1]|=v>>8;d[o+2]|=v>>16;};// creates code lengths from a frequency table\nvar hTree=function(d,mb){// Need extra info to make a tree\nvar t=[];for(var i=0;i<d.length;++i){if(d[i])t.push({s:i,f:d[i]});}var s=t.length;var t2=t.slice();if(!s)return{t:et,l:0};if(s==1){var v=new u8(t[0].s+1);v[t[0].s]=1;return{t:v,l:1};}t.sort(function(a,b){return a.f-b.f;});// after i2 reaches last ind, will be stopped\n// freq must be greater than largest possible number of symbols\nt.push({s:-1,f:25001});var l=t[0],r=t[1],i0=0,i1=1,i2=2;t[0]={s:-1,f:l.f+r.f,l:l,r:r};// efficient algorithm from UZIP.js\n// i0 is lookbehind, i2 is lookahead - after processing two low-freq\n// symbols that combined have high freq, will start processing i2 (high-freq,\n// non-composite) symbols instead\n// see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\nwhile(i1!=s-1){l=t[t[i0].f<t[i2].f?i0++:i2++];r=t[i0!=i1&&t[i0].f<t[i2].f?i0++:i2++];t[i1++]={s:-1,f:l.f+r.f,l:l,r:r};}var maxSym=t2[0].s;for(var i=1;i<s;++i){if(t2[i].s>maxSym)maxSym=t2[i].s;}// code lengths\nvar tr=new u16(maxSym+1);// max bits in tree\nvar mbt=ln(t[i1-1],tr,0);if(mbt>mb){// more algorithms from UZIP.js\n// TODO: find out how this code works (debt)\n//  ind    debt\nvar i=0,dt=0;//    left            cost\nvar lft=mbt-mb,cst=1<<lft;t2.sort(function(a,b){return tr[b.s]-tr[a.s]||a.f-b.f;});for(;i<s;++i){var i2_1=t2[i].s;if(tr[i2_1]>mb){dt+=cst-(1<<mbt-tr[i2_1]);tr[i2_1]=mb;}else break;}dt>>=lft;while(dt>0){var i2_2=t2[i].s;if(tr[i2_2]<mb)dt-=1<<mb-tr[i2_2]++-1;else++i;}for(;i>=0&&dt;--i){var i2_3=t2[i].s;if(tr[i2_3]==mb){--tr[i2_3];++dt;}}mbt=mb;}return{t:new u8(tr),l:mbt};};// get the max length and assign length codes\nvar ln=function(n,l,d){return n.s==-1?Math.max(ln(n.l,l,d+1),ln(n.r,l,d+1)):l[n.s]=d;};// length codes generation\nvar lc=function(c){var s=c.length;// Note that the semicolon was intentional\nwhile(s&&!c[--s]);var cl=new u16(++s);//  ind      num         streak\nvar cli=0,cln=c[0],cls=1;var w=function(v){cl[cli++]=v;};for(var i=1;i<=s;++i){if(c[i]==cln&&i!=s)++cls;else{if(!cln&&cls>2){for(;cls>138;cls-=138)w(32754);if(cls>2){w(cls>10?cls-11<<5|28690:cls-3<<5|12305);cls=0;}}else if(cls>3){w(cln),--cls;for(;cls>6;cls-=6)w(8304);if(cls>2)w(cls-3<<5|8208),cls=0;}while(cls--)w(cln);cls=1;cln=c[i];}}return{c:cl.subarray(0,cli),n:s};};// calculate the length of output from tree, code lengths\nvar clen=function(cf,cl){var l=0;for(var i=0;i<cl.length;++i)l+=cf[i]*cl[i];return l;};// writes a fixed block\n// returns the new bit pos\nvar wfblk=function(out,pos,dat){// no need to write 00 as type: TypedArray defaults to 0\nvar s=dat.length;var o=shft(pos+2);out[o]=s&255;out[o+1]=s>>8;out[o+2]=out[o]^255;out[o+3]=out[o+1]^255;for(var i=0;i<s;++i)out[o+i+4]=dat[i];return(o+4+s)*8;};// writes a block\nvar wblk=function(dat,out,final,syms,lf,df,eb,li,bs,bl,p){wbits(out,p++,final);++lf[256];var _a=hTree(lf,15),dlt=_a.t,mlb=_a.l;var _b=hTree(df,15),ddt=_b.t,mdb=_b.l;var _c=lc(dlt),lclt=_c.c,nlc=_c.n;var _d=lc(ddt),lcdt=_d.c,ndc=_d.n;var lcfreq=new u16(19);for(var i=0;i<lclt.length;++i)++lcfreq[lclt[i]&31];for(var i=0;i<lcdt.length;++i)++lcfreq[lcdt[i]&31];var _e=hTree(lcfreq,7),lct=_e.t,mlcb=_e.l;var nlcc=19;for(;nlcc>4&&!lct[clim[nlcc-1]];--nlcc);var flen=bl+5<<3;var ftlen=clen(lf,flt)+clen(df,fdt)+eb;var dtlen=clen(lf,dlt)+clen(df,ddt)+eb+14+3*nlcc+clen(lcfreq,lct)+2*lcfreq[16]+3*lcfreq[17]+7*lcfreq[18];if(bs>=0&&flen<=ftlen&&flen<=dtlen)return wfblk(out,p,dat.subarray(bs,bs+bl));var lm,ll,dm,dl;wbits(out,p,1+(dtlen<ftlen)),p+=2;if(dtlen<ftlen){lm=hMap(dlt,mlb,0),ll=dlt,dm=hMap(ddt,mdb,0),dl=ddt;var llm=hMap(lct,mlcb,0);wbits(out,p,nlc-257);wbits(out,p+5,ndc-1);wbits(out,p+10,nlcc-4);p+=14;for(var i=0;i<nlcc;++i)wbits(out,p+3*i,lct[clim[i]]);p+=3*nlcc;var lcts=[lclt,lcdt];for(var it=0;it<2;++it){var clct=lcts[it];for(var i=0;i<clct.length;++i){var len=clct[i]&31;wbits(out,p,llm[len]),p+=lct[len];if(len>15)wbits(out,p,clct[i]>>5&127),p+=clct[i]>>12;}}}else{lm=flm,ll=flt,dm=fdm,dl=fdt;}for(var i=0;i<li;++i){var sym=syms[i];if(sym>255){var len=sym>>18&31;wbits16(out,p,lm[len+257]),p+=ll[len+257];if(len>7)wbits(out,p,sym>>23&31),p+=fleb[len];var dst=sym&31;wbits16(out,p,dm[dst]),p+=dl[dst];if(dst>3)wbits16(out,p,sym>>5&8191),p+=fdeb[dst];}else{wbits16(out,p,lm[sym]),p+=ll[sym];}}wbits16(out,p,lm[256]);return p+ll[256];};// deflate options (nice << 13) | chain\nvar deo=/*#__PURE__*/new i32([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]);// empty\nvar et=/*#__PURE__*/new u8(0);// compresses data into a raw DEFLATE buffer\nvar dflt=function(dat,lvl,plvl,pre,post,st){var s=st.z||dat.length;var o=new u8(pre+s+5*(1+Math.ceil(s/7e3))+post);// writing to this writes to the output buffer\nvar w=o.subarray(pre,o.length-post);var lst=st.l;var pos=(st.r||0)&7;if(lvl){if(pos)w[0]=st.r>>3;var opt=deo[lvl-1];var n=opt>>13,c=opt&8191;var msk_1=(1<<plvl)-1;//    prev 2-byte val map    curr 2-byte val map\nvar prev=st.p||new u16(32768),head=st.h||new u16(msk_1+1);var bs1_1=Math.ceil(plvl/3),bs2_1=2*bs1_1;var hsh=function(i){return(dat[i]^dat[i+1]<<bs1_1^dat[i+2]<<bs2_1)&msk_1;};// 24576 is an arbitrary number of maximum symbols per block\n// 424 buffer for last block\nvar syms=new i32(25e3);// length/literal freq   distance freq\nvar lf=new u16(288),df=new u16(32);//  l/lcnt  exbits  index          l/lind  waitdx          blkpos\nvar lc_1=0,eb=0,i=st.i||0,li=0,wi=st.w||0,bs=0;for(;i+2<s;++i){// hash value\nvar hv=hsh(i);// index mod 32768    previous index mod\nvar imod=i&32767,pimod=head[hv];prev[imod]=pimod;head[hv]=imod;// We always should modify head and prev, but only add symbols if\n// this data is not yet processed (\"wait\" for wait index)\nif(wi<=i){// bytes remaining\nvar rem=s-i;if((lc_1>7e3||li>24576)&&(rem>423||!lst)){pos=wblk(dat,w,0,syms,lf,df,eb,li,bs,i-bs,pos);li=lc_1=eb=0,bs=i;for(var j=0;j<286;++j)lf[j]=0;for(var j=0;j<30;++j)df[j]=0;}//  len    dist   chain\nvar l=2,d=0,ch_1=c,dif=imod-pimod&32767;if(rem>2&&hv==hsh(i-dif)){var maxn=Math.min(n,rem)-1;var maxd=Math.min(32767,i);// max possible length\n// not capped at dif because decompressors implement \"rolling\" index population\nvar ml=Math.min(258,rem);while(dif<=maxd&&--ch_1&&imod!=pimod){if(dat[i+l]==dat[i+l-dif]){var nl=0;for(;nl<ml&&dat[i+nl]==dat[i+nl-dif];++nl);if(nl>l){l=nl,d=dif;// break out early when we reach \"nice\" (we are satisfied enough)\nif(nl>maxn)break;// now, find the rarest 2-byte sequence within this\n// length of literals and search for that instead.\n// Much faster than just using the start\nvar mmd=Math.min(dif,nl-2);var md=0;for(var j=0;j<mmd;++j){var ti=i-dif+j&32767;var pti=prev[ti];var cd=ti-pti&32767;if(cd>md)md=cd,pimod=ti;}}}// check the previous match\nimod=pimod,pimod=prev[imod];dif+=imod-pimod&32767;}}// d will be nonzero only when a match was found\nif(d){// store both dist and len data in one int32\n// Make sure this is recognized as a len/dist with 28th bit (2^28)\nsyms[li++]=268435456|revfl[l]<<18|revfd[d];var lin=revfl[l]&31,din=revfd[d]&31;eb+=fleb[lin]+fdeb[din];++lf[257+lin];++df[din];wi=i+l;++lc_1;}else{syms[li++]=dat[i];++lf[dat[i]];}}}for(i=Math.max(i,wi);i<s;++i){syms[li++]=dat[i];++lf[dat[i]];}pos=wblk(dat,w,lst,syms,lf,df,eb,li,bs,i-bs,pos);if(!lst){st.r=pos&7|w[pos/8|0]<<3;// shft(pos) now 1 less if pos & 7 != 0\npos-=7;st.h=head,st.p=prev,st.i=i,st.w=wi;}}else{for(var i=st.w||0;i<s+lst;i+=65535){// end\nvar e=i+65535;if(e>=s){// write final block\nw[pos/8|0]=lst;e=s;}pos=wfblk(w,pos+1,dat.subarray(i,e));}st.i=s;}return slc(o,0,pre+shft(pos)+post);};// CRC32 table\nvar crct=/*#__PURE__*/function(){var t=new Int32Array(256);for(var i=0;i<256;++i){var c=i,k=9;while(--k)c=(c&1&&-306674912)^c>>>1;t[i]=c;}return t;}();// CRC32\nvar crc=function(){var c=-1;return{p:function(d){// closures have awful performance\nvar cr=c;for(var i=0;i<d.length;++i)cr=crct[cr&255^d[i]]^cr>>>8;c=cr;},d:function(){return~c;}};};// Adler32\nvar adler=function(){var a=1,b=0;return{p:function(d){// closures have awful performance\nvar n=a,m=b;var l=d.length|0;for(var i=0;i!=l;){var e=Math.min(i+2655,l);for(;i<e;++i)m+=n+=d[i];n=(n&65535)+15*(n>>16),m=(m&65535)+15*(m>>16);}a=n,b=m;},d:function(){a%=65521,b%=65521;return(a&255)<<24|(a&65280)<<8|(b&255)<<8|b>>8;}};};// deflate with opts\nvar dopt=function(dat,opt,pre,post,st){if(!st){st={l:1};if(opt.dictionary){var dict=opt.dictionary.subarray(-32768);var newDat=new u8(dict.length+dat.length);newDat.set(dict);newDat.set(dat,dict.length);dat=newDat;st.w=dict.length;}}return dflt(dat,opt.level==null?6:opt.level,opt.mem==null?st.l?Math.ceil(Math.max(8,Math.min(13,Math.log(dat.length)))*1.5):20:12+opt.mem,pre,post,st);};// Walmart object spread\nvar mrg=function(a,b){var o={};for(var k in a)o[k]=a[k];for(var k in b)o[k]=b[k];return o;};// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln=function(fn,fnStr,td){var dt=fn();var st=fn.toString();var ks=st.slice(st.indexOf(\"[\")+1,st.lastIndexOf(\"]\")).replace(/\\s+/g,\"\").split(\",\");for(var i=0;i<dt.length;++i){var v=dt[i],k=ks[i];if(typeof v==\"function\"){fnStr+=\";\"+k+\"=\";var st_1=v.toString();if(v.prototype){// for global objects\nif(st_1.indexOf(\"[native code]\")!=-1){var spInd=st_1.indexOf(\" \",8)+1;fnStr+=st_1.slice(spInd,st_1.indexOf(\"(\",spInd));}else{fnStr+=st_1;for(var t in v.prototype)fnStr+=\";\"+k+\".prototype.\"+t+\"=\"+v.prototype[t].toString();}}else fnStr+=st_1;}else td[k]=v;}return fnStr;};var ch=[];// clone bufs\nvar cbfs=function(v){var tl=[];for(var k in v){if(v[k].buffer){tl.push((v[k]=new v[k].constructor(v[k])).buffer);}}return tl;};// use a worker to execute code\nvar wrkr=function(fns,init,id,cb){if(!ch[id]){var fnStr=\"\",td_1={},m=fns.length-1;for(var i=0;i<m;++i)fnStr=wcln(fns[i],fnStr,td_1);ch[id]={c:wcln(fns[m],fnStr,td_1),e:td_1};}var td=mrg({},ch[id].e);return wk(ch[id].c+\";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=\"+init.toString()+\"}\",id,td,cbfs(td),cb);};// base async inflate fn\nvar bInflt=function(){return[u8,u16,i32,fleb,fdeb,clim,fl,fd,flrm,fdrm,rev,ec,hMap,max,bits,bits16,shft,slc,err,inflt,inflateSync,pbf,gopt];};var bDflt=function(){return[u8,u16,i32,fleb,fdeb,clim,revfl,revfd,flm,flt,fdm,fdt,rev,deo,et,hMap,wbits,wbits16,hTree,ln,lc,clen,wfblk,wblk,shft,slc,dflt,dopt,deflateSync,pbf];};// gzip extra\nvar gze=function(){return[gzh,gzhl,wbytes,crc,crct];};// gunzip extra\nvar guze=function(){return[gzs,gzl];};// zlib extra\nvar zle=function(){return[zlh,wbytes,adler];};// unzlib extra\nvar zule=function(){return[zls];};// post buf\nvar pbf=function(msg){return postMessage(msg,[msg.buffer]);};// get opts\nvar gopt=function(o){return o&&{out:o.size&&new u8(o.size),dictionary:o.dictionary};};// async helper\nvar cbify=function(dat,opts,fns,init,id,cb){var w=wrkr(fns,init,id,function(err,dat){w.terminate();cb(err,dat);});w.postMessage([dat,opts],opts.consume?[dat.buffer]:[]);return function(){w.terminate();};};// auto stream\nvar astrm=function(strm){strm.ondata=function(dat,final){return postMessage([dat,final],[dat.buffer]);};return function(ev){if(ev.data.length){strm.push(ev.data[0],ev.data[1]);postMessage([ev.data[0].length]);}else strm.flush();};};// async stream attach\nvar astrmify=function(fns,strm,opts,init,id,flush,ext){var t;var w=wrkr(fns,init,id,function(err,dat){if(err)w.terminate(),strm.ondata.call(strm,err);else if(!Array.isArray(dat))ext(dat);else if(dat.length==1){strm.queuedSize-=dat[0];if(strm.ondrain)strm.ondrain(dat[0]);}else{if(dat[1])w.terminate();strm.ondata.call(strm,err,dat[0],dat[1]);}});w.postMessage(opts);strm.queuedSize=0;strm.push=function(d,f){if(!strm.ondata)err(5);if(t)strm.ondata(err(4,0,1),null,!!f);strm.queuedSize+=d.length;w.postMessage([d,t=f],[d.buffer]);};strm.terminate=function(){w.terminate();};if(flush){strm.flush=function(){w.postMessage([]);};}};// read 2 bytes\nvar b2=function(d,b){return d[b]|d[b+1]<<8;};// read 4 bytes\nvar b4=function(d,b){return(d[b]|d[b+1]<<8|d[b+2]<<16|d[b+3]<<24)>>>0;};var b8=function(d,b){return b4(d,b)+b4(d,b+4)*4294967296;};// write bytes\nvar wbytes=function(d,b,v){for(;v;++b)d[b]=v,v>>>=8;};// gzip header\nvar gzh=function(c,o){var fn=o.filename;c[0]=31,c[1]=139,c[2]=8,c[8]=o.level<2?4:o.level==9?2:0,c[9]=3;// assume Unix\nif(o.mtime!=0)wbytes(c,4,Math.floor(new Date(o.mtime||Date.now())/1e3));if(fn){c[3]=8;for(var i=0;i<=fn.length;++i)c[i+10]=fn.charCodeAt(i);}};// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs=function(d){if(d[0]!=31||d[1]!=139||d[2]!=8)err(6,\"invalid gzip data\");var flg=d[3];var st=10;if(flg&4)st+=(d[10]|d[11]<<8)+2;for(var zs=(flg>>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2);};// gzip length\nvar gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0;};// gzip header length\nvar gzhl=function(o){return 10+(o.filename?o.filename.length+1:0);};// zlib header\nvar zlh=function(c,o){var lv=o.level,fl=lv==0?0:lv<6?1:lv==9?3:2;c[0]=120,c[1]=fl<<6|(o.dictionary&&32);c[1]|=31-(c[0]<<8|c[1])%31;if(o.dictionary){var h=adler();h.p(o.dictionary);wbytes(c,2,h.d());}};// zlib start\nvar zls=function(d,dict){if((d[0]&15)!=8||d[0]>>4>7||(d[0]<<8|d[1])%31)err(6,\"invalid zlib data\");if((d[1]>>5&1)==+!dict)err(6,\"invalid zlib data: \"+(d[1]&32?\"need\":\"unexpected\")+\" dictionary\");return(d[1]>>3&4)+2;};function StrmOpt(opts,cb){if(typeof opts==\"function\")cb=opts,opts={};this.ondata=cb;return opts;}/**\n * Streaming DEFLATE compression\n */var Deflate=/*#__PURE__*/function(){function Deflate(opts,cb){if(typeof opts==\"function\")cb=opts,opts={};this.ondata=cb;this.o=opts||{};this.s={l:0,i:32768,w:32768,z:32768};// Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n// 98304 = 32768 (lookback) + 65536 (common chunk size)\nthis.b=new u8(98304);if(this.o.dictionary){var dict=this.o.dictionary.subarray(-32768);this.b.set(dict,32768-dict.length);this.s.i=32768-dict.length;}}Deflate.prototype.p=function(c,f){this.ondata(dopt(c,this.o,0,0,this.s),f);};/**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Deflate.prototype.push=function(chunk,final){if(!this.ondata)err(5);if(this.s.l)err(4);var endLen=chunk.length+this.s.z;if(endLen>this.b.length){if(endLen>2*this.b.length-32768){var newBuf=new u8(endLen&-32768);newBuf.set(this.b.subarray(0,this.s.z));this.b=newBuf;}var split=this.b.length-this.s.z;this.b.set(chunk.subarray(0,split),this.s.z);this.s.z=this.b.length;this.p(this.b,false);this.b.set(this.b.subarray(-32768));this.b.set(chunk.subarray(split),32768);this.s.z=chunk.length-split+32768;this.s.i=32766,this.s.w=32768;}else{this.b.set(chunk,this.s.z);this.s.z+=chunk.length;}this.s.l=final&1;if(this.s.z>this.s.w+8191||final){this.p(this.b,final||false);this.s.w=this.s.i,this.s.i-=2;}};/**\n     * Flushes buffered uncompressed data. Useful to immediately retrieve the\n     * deflated output for small inputs.\n     */Deflate.prototype.flush=function(){if(!this.ondata)err(5);if(this.s.l)err(4);this.p(this.b,false);this.s.w=this.s.i,this.s.i-=2;};return Deflate;}();export{Deflate};/**\n * Asynchronous streaming DEFLATE compression\n */var AsyncDeflate=/*#__PURE__*/function(){function AsyncDeflate(opts,cb){astrmify([bDflt,function(){return[astrm,Deflate];}],this,StrmOpt.call(this,opts,cb),function(ev){var strm=new Deflate(ev.data);onmessage=astrm(strm);},6,1);}return AsyncDeflate;}();export{AsyncDeflate};export function deflate(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return cbify(data,opts,[bDflt],function(ev){return pbf(deflateSync(ev.data[0],ev.data[1]));},0,cb);}/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */export function deflateSync(data,opts){return dopt(data,opts||{},0,0);}/**\n * Streaming DEFLATE decompression\n */var Inflate=/*#__PURE__*/function(){function Inflate(opts,cb){// no StrmOpt here to avoid adding to workerizer\nif(typeof opts==\"function\")cb=opts,opts={};this.ondata=cb;var dict=opts&&opts.dictionary&&opts.dictionary.subarray(-32768);this.s={i:0,b:dict?dict.length:0};this.o=new u8(32768);this.p=new u8(0);if(dict)this.o.set(dict);}Inflate.prototype.e=function(c){if(!this.ondata)err(5);if(this.d)err(4);if(!this.p.length)this.p=c;else if(c.length){var n=new u8(this.p.length+c.length);n.set(this.p),n.set(c,this.p.length),this.p=n;}};Inflate.prototype.c=function(final){this.s.i=+(this.d=final||false);var bts=this.s.b;var dt=inflt(this.p,this.s,this.o);this.ondata(slc(dt,bts,this.s.b),this.d);this.o=slc(dt,this.s.b-32768),this.s.b=this.o.length;this.p=slc(this.p,this.s.p/8|0),this.s.p&=7;};/**\n     * Pushes a chunk to be inflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the final chunk\n     */Inflate.prototype.push=function(chunk,final){this.e(chunk),this.c(final);};return Inflate;}();export{Inflate};/**\n * Asynchronous streaming DEFLATE decompression\n */var AsyncInflate=/*#__PURE__*/function(){function AsyncInflate(opts,cb){astrmify([bInflt,function(){return[astrm,Inflate];}],this,StrmOpt.call(this,opts,cb),function(ev){var strm=new Inflate(ev.data);onmessage=astrm(strm);},7,0);}return AsyncInflate;}();export{AsyncInflate};export function inflate(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return cbify(data,opts,[bInflt],function(ev){return pbf(inflateSync(ev.data[0],gopt(ev.data[1])));},1,cb);}/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */export function inflateSync(data,opts){return inflt(data,{i:2},opts&&opts.out,opts&&opts.dictionary);}// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */var Gzip=/*#__PURE__*/function(){function Gzip(opts,cb){this.c=crc();this.l=0;this.v=1;Deflate.call(this,opts,cb);}/**\n     * Pushes a chunk to be GZIPped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Gzip.prototype.push=function(chunk,final){this.c.p(chunk);this.l+=chunk.length;Deflate.prototype.push.call(this,chunk,final);};Gzip.prototype.p=function(c,f){var raw=dopt(c,this.o,this.v&&gzhl(this.o),f&&8,this.s);if(this.v)gzh(raw,this.o),this.v=0;if(f)wbytes(raw,raw.length-8,this.c.d()),wbytes(raw,raw.length-4,this.l);this.ondata(raw,f);};/**\n     * Flushes buffered uncompressed data. Useful to immediately retrieve the\n     * GZIPped output for small inputs.\n     */Gzip.prototype.flush=function(){Deflate.prototype.flush.call(this);};return Gzip;}();export{Gzip};/**\n * Asynchronous streaming GZIP compression\n */var AsyncGzip=/*#__PURE__*/function(){function AsyncGzip(opts,cb){astrmify([bDflt,gze,function(){return[astrm,Deflate,Gzip];}],this,StrmOpt.call(this,opts,cb),function(ev){var strm=new Gzip(ev.data);onmessage=astrm(strm);},8,1);}return AsyncGzip;}();export{AsyncGzip};export function gzip(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return cbify(data,opts,[bDflt,gze,function(){return[gzipSync];}],function(ev){return pbf(gzipSync(ev.data[0],ev.data[1]));},2,cb);}/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */export function gzipSync(data,opts){if(!opts)opts={};var c=crc(),l=data.length;c.p(data);var d=dopt(data,opts,gzhl(opts),8),s=d.length;return gzh(d,opts),wbytes(d,s-8,c.d()),wbytes(d,s-4,l),d;}/**\n * Streaming single or multi-member GZIP decompression\n */var Gunzip=/*#__PURE__*/function(){function Gunzip(opts,cb){this.v=1;this.r=0;Inflate.call(this,opts,cb);}/**\n     * Pushes a chunk to be GUNZIPped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Gunzip.prototype.push=function(chunk,final){Inflate.prototype.e.call(this,chunk);this.r+=chunk.length;if(this.v){var p=this.p.subarray(this.v-1);var s=p.length>3?gzs(p):4;if(s>p.length){if(!final)return;}else if(this.v>1&&this.onmember){this.onmember(this.r-p.length);}this.p=p.subarray(s),this.v=0;}// necessary to prevent TS from using the closure value\n// This allows for workerization to function correctly\nInflate.prototype.c.call(this,final);// process concatenated GZIP\nif(this.s.f&&!this.s.l&&!final){this.v=shft(this.s.p)+9;this.s={i:0};this.o=new u8(0);this.push(new u8(0),final);}};return Gunzip;}();export{Gunzip};/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */var AsyncGunzip=/*#__PURE__*/function(){function AsyncGunzip(opts,cb){var _this=this;astrmify([bInflt,guze,function(){return[astrm,Inflate,Gunzip];}],this,StrmOpt.call(this,opts,cb),function(ev){var strm=new Gunzip(ev.data);strm.onmember=function(offset){return postMessage(offset);};onmessage=astrm(strm);},9,0,function(offset){return _this.onmember&&_this.onmember(offset);});}return AsyncGunzip;}();export{AsyncGunzip};export function gunzip(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return cbify(data,opts,[bInflt,guze,function(){return[gunzipSync];}],function(ev){return pbf(gunzipSync(ev.data[0],ev.data[1]));},3,cb);}/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */export function gunzipSync(data,opts){var st=gzs(data);if(st+8>data.length)err(6,\"invalid gzip data\");return inflt(data.subarray(st,-8),{i:2},opts&&opts.out||new u8(gzl(data)),opts&&opts.dictionary);}/**\n * Streaming Zlib compression\n */var Zlib=/*#__PURE__*/function(){function Zlib(opts,cb){this.c=adler();this.v=1;Deflate.call(this,opts,cb);}/**\n     * Pushes a chunk to be zlibbed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Zlib.prototype.push=function(chunk,final){this.c.p(chunk);Deflate.prototype.push.call(this,chunk,final);};Zlib.prototype.p=function(c,f){var raw=dopt(c,this.o,this.v&&(this.o.dictionary?6:2),f&&4,this.s);if(this.v)zlh(raw,this.o),this.v=0;if(f)wbytes(raw,raw.length-4,this.c.d());this.ondata(raw,f);};/**\n     * Flushes buffered uncompressed data. Useful to immediately retrieve the\n     * zlibbed output for small inputs.\n     */Zlib.prototype.flush=function(){Deflate.prototype.flush.call(this);};return Zlib;}();export{Zlib};/**\n * Asynchronous streaming Zlib compression\n */var AsyncZlib=/*#__PURE__*/function(){function AsyncZlib(opts,cb){astrmify([bDflt,zle,function(){return[astrm,Deflate,Zlib];}],this,StrmOpt.call(this,opts,cb),function(ev){var strm=new Zlib(ev.data);onmessage=astrm(strm);},10,1);}return AsyncZlib;}();export{AsyncZlib};export function zlib(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return cbify(data,opts,[bDflt,zle,function(){return[zlibSync];}],function(ev){return pbf(zlibSync(ev.data[0],ev.data[1]));},4,cb);}/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */export function zlibSync(data,opts){if(!opts)opts={};var a=adler();a.p(data);var d=dopt(data,opts,opts.dictionary?6:2,4);return zlh(d,opts),wbytes(d,d.length-4,a.d()),d;}/**\n * Streaming Zlib decompression\n */var Unzlib=/*#__PURE__*/function(){function Unzlib(opts,cb){Inflate.call(this,opts,cb);this.v=opts&&opts.dictionary?2:1;}/**\n     * Pushes a chunk to be unzlibbed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Unzlib.prototype.push=function(chunk,final){Inflate.prototype.e.call(this,chunk);if(this.v){if(this.p.length<6&&!final)return;this.p=this.p.subarray(zls(this.p,this.v-1)),this.v=0;}if(final){if(this.p.length<4)err(6,\"invalid zlib data\");this.p=this.p.subarray(0,-4);}// necessary to prevent TS from using the closure value\n// This allows for workerization to function correctly\nInflate.prototype.c.call(this,final);};return Unzlib;}();export{Unzlib};/**\n * Asynchronous streaming Zlib decompression\n */var AsyncUnzlib=/*#__PURE__*/function(){function AsyncUnzlib(opts,cb){astrmify([bInflt,zule,function(){return[astrm,Inflate,Unzlib];}],this,StrmOpt.call(this,opts,cb),function(ev){var strm=new Unzlib(ev.data);onmessage=astrm(strm);},11,0);}return AsyncUnzlib;}();export{AsyncUnzlib};export function unzlib(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return cbify(data,opts,[bInflt,zule,function(){return[unzlibSync];}],function(ev){return pbf(unzlibSync(ev.data[0],gopt(ev.data[1])));},5,cb);}/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */export function unzlibSync(data,opts){return inflt(data.subarray(zls(data,opts&&opts.dictionary),-4),{i:2},opts&&opts.out,opts&&opts.dictionary);}// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport{gzip as compress,AsyncGzip as AsyncCompress};export{gzipSync as compressSync,Gzip as Compress};/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */var Decompress=/*#__PURE__*/function(){function Decompress(opts,cb){this.o=StrmOpt.call(this,opts,cb)||{};this.G=Gunzip;this.I=Inflate;this.Z=Unzlib;}// init substream\n// overriden by AsyncDecompress\nDecompress.prototype.i=function(){var _this=this;this.s.ondata=function(dat,final){_this.ondata(dat,final);};};/**\n     * Pushes a chunk to be decompressed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Decompress.prototype.push=function(chunk,final){if(!this.ondata)err(5);if(!this.s){if(this.p&&this.p.length){var n=new u8(this.p.length+chunk.length);n.set(this.p),n.set(chunk,this.p.length);}else this.p=chunk;if(this.p.length>2){this.s=this.p[0]==31&&this.p[1]==139&&this.p[2]==8?new this.G(this.o):(this.p[0]&15)!=8||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(this.o):new this.Z(this.o);this.i();this.s.push(this.p,final);this.p=null;}}else this.s.push(chunk,final);};return Decompress;}();export{Decompress};/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */var AsyncDecompress=/*#__PURE__*/function(){function AsyncDecompress(opts,cb){Decompress.call(this,opts,cb);this.queuedSize=0;this.G=AsyncGunzip;this.I=AsyncInflate;this.Z=AsyncUnzlib;}AsyncDecompress.prototype.i=function(){var _this=this;this.s.ondata=function(err,dat,final){_this.ondata(err,dat,final);};this.s.ondrain=function(size){_this.queuedSize-=size;if(_this.ondrain)_this.ondrain(size);};};/**\n     * Pushes a chunk to be decompressed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */AsyncDecompress.prototype.push=function(chunk,final){this.queuedSize+=chunk.length;Decompress.prototype.push.call(this,chunk,final);};return AsyncDecompress;}();export{AsyncDecompress};export function decompress(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);return data[0]==31&&data[1]==139&&data[2]==8?gunzip(data,opts,cb):(data[0]&15)!=8||data[0]>>4>7||(data[0]<<8|data[1])%31?inflate(data,opts,cb):unzlib(data,opts,cb);}/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */export function decompressSync(data,opts){return data[0]==31&&data[1]==139&&data[2]==8?gunzipSync(data,opts):(data[0]&15)!=8||data[0]>>4>7||(data[0]<<8|data[1])%31?inflateSync(data,opts):unzlibSync(data,opts);}// flatten a directory structure\nvar fltn=function(d,p,t,o){for(var k in d){var val=d[k],n=p+k,op=o;if(Array.isArray(val))op=mrg(o,val[1]),val=val[0];if(val instanceof u8)t[n]=[val,op];else{t[n+=\"/\"]=[new u8(0),op];fltn(val,n,t,o);}}};// text encoder\nvar te=typeof TextEncoder!=\"undefined\"&&/*#__PURE__*/new TextEncoder;// text decoder\nvar td=typeof TextDecoder!=\"undefined\"&&/*#__PURE__*/new TextDecoder;// text decoder stream\nvar tds=0;try{td.decode(et,{stream:true});tds=1;}catch(e){}// decode UTF8\nvar dutf8=function(d){for(var r=\"\",i=0;;){var c=d[i++];var eb=(c>127)+(c>223)+(c>239);if(i+eb>d.length)return{s:r,r:slc(d,i-1)};if(!eb)r+=String.fromCharCode(c);else if(eb==3){c=((c&15)<<18|(d[i++]&63)<<12|(d[i++]&63)<<6|d[i++]&63)-65536,r+=String.fromCharCode(55296|c>>10,56320|c&1023);}else if(eb&1)r+=String.fromCharCode((c&31)<<6|d[i++]&63);else r+=String.fromCharCode((c&15)<<12|(d[i++]&63)<<6|d[i++]&63);}};/**\n * Streaming UTF-8 decoding\n */var DecodeUTF8=/*#__PURE__*/function(){/**\n     * Creates a UTF-8 decoding stream\n     * @param cb The callback to call whenever data is decoded\n     */function DecodeUTF8(cb){this.ondata=cb;if(tds)this.t=new TextDecoder;else this.p=et;}/**\n     * Pushes a chunk to be decoded from UTF-8 binary\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */DecodeUTF8.prototype.push=function(chunk,final){if(!this.ondata)err(5);final=!!final;if(this.t){this.ondata(this.t.decode(chunk,{stream:true}),final);if(final){if(this.t.decode().length)err(8);this.t=null;}return;}if(!this.p)err(4);var dat=new u8(this.p.length+chunk.length);dat.set(this.p);dat.set(chunk,this.p.length);var _a=dutf8(dat),s=_a.s,r=_a.r;if(final){if(r.length)err(8);this.p=null;}else this.p=r;this.ondata(s,final);};return DecodeUTF8;}();export{DecodeUTF8};/**\n * Streaming UTF-8 encoding\n */var EncodeUTF8=/*#__PURE__*/function(){/**\n     * Creates a UTF-8 decoding stream\n     * @param cb The callback to call whenever data is encoded\n     */function EncodeUTF8(cb){this.ondata=cb;}/**\n     * Pushes a chunk to be encoded to UTF-8\n     * @param chunk The string data to push\n     * @param final Whether this is the last chunk\n     */EncodeUTF8.prototype.push=function(chunk,final){if(!this.ondata)err(5);if(this.d)err(4);this.ondata(strToU8(chunk),this.d=final||false);};return EncodeUTF8;}();export{EncodeUTF8};/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n *               not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */export function strToU8(str,latin1){if(latin1){var ar_1=new u8(str.length);for(var i=0;i<str.length;++i)ar_1[i]=str.charCodeAt(i);return ar_1;}if(te)return te.encode(str);var l=str.length;var ar=new u8(str.length+(str.length>>1));var ai=0;var w=function(v){ar[ai++]=v;};for(var i=0;i<l;++i){if(ai+5>ar.length){var n=new u8(ai+8+(l-i<<1));n.set(ar);ar=n;}var c=str.charCodeAt(i);if(c<128||latin1)w(c);else if(c<2048)w(192|c>>6),w(128|c&63);else if(c>55295&&c<57344)c=65536+(c&1023<<10)|str.charCodeAt(++i)&1023,w(240|c>>18),w(128|c>>12&63),w(128|c>>6&63),w(128|c&63);else w(224|c>>12),w(128|c>>6&63),w(128|c&63);}return slc(ar,0,ai);}/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n *               not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */export function strFromU8(dat,latin1){if(latin1){var r=\"\";for(var i=0;i<dat.length;i+=16384)r+=String.fromCharCode.apply(null,dat.subarray(i,i+16384));return r;}else if(td){return td.decode(dat);}else{var _a=dutf8(dat),s=_a.s,r=_a.r;if(r.length)err(8);return s;}}// deflate bit flag\nvar dbf=function(l){return l==1?3:l<6?2:l==9?1:0;};// skip local zip header\nvar slzh=function(d,b){return b+30+b2(d,b+26)+b2(d,b+28);};// read zip header\nvar zh=function(d,b,z){var fnl=b2(d,b+28),fn=strFromU8(d.subarray(b+46,b+46+fnl),!(b2(d,b+8)&2048)),es=b+46+fnl,bs=b4(d,b+20);var _a=z&&bs==4294967295?z64e(d,es):[bs,b4(d,b+24),b4(d,b+42)],sc=_a[0],su=_a[1],off=_a[2];return[b2(d,b+10),sc,su,fn,es+b2(d,b+30)+b2(d,b+32),off];};// read zip64 extra field\nvar z64e=function(d,b){for(;b2(d,b)!=1;b+=4+b2(d,b+2));return[b8(d,b+12),b8(d,b+4),b8(d,b+20)];};// extra field length\nvar exfl=function(ex){var le=0;if(ex){for(var k in ex){var l=ex[k].length;if(l>65535)err(9);le+=l+4;}}return le;};// write zip header\nvar wzh=function(d,b,f,fn,u,c,ce,co){var fl=fn.length,ex=f.extra,col=co&&co.length;var exl=exfl(ex);wbytes(d,b,ce!=null?33639248:67324752),b+=4;if(ce!=null)d[b++]=20,d[b++]=f.os;d[b]=20,b+=2;// spec compliance? what's that?\nd[b++]=f.flag<<1|(c<0&&8),d[b++]=u&&8;d[b++]=f.compression&255,d[b++]=f.compression>>8;var dt=new Date(f.mtime==null?Date.now():f.mtime),y=dt.getFullYear()-1980;if(y<0||y>119)err(10);wbytes(d,b,y<<25|dt.getMonth()+1<<21|dt.getDate()<<16|dt.getHours()<<11|dt.getMinutes()<<5|dt.getSeconds()>>1),b+=4;if(c!=-1){wbytes(d,b,f.crc);wbytes(d,b+4,c<0?-c-2:c);wbytes(d,b+8,f.size);}wbytes(d,b+12,fl);wbytes(d,b+14,exl),b+=16;if(ce!=null){wbytes(d,b,col);wbytes(d,b+6,f.attrs);wbytes(d,b+10,ce),b+=14;}d.set(fn,b);b+=fl;if(exl){for(var k in ex){var exf=ex[k],l=exf.length;wbytes(d,b,+k);wbytes(d,b+2,l);d.set(exf,b+4),b+=4+l;}}if(col)d.set(co,b),b+=col;return b;};// write zip footer (end of central directory)\nvar wzf=function(o,b,c,d,e){wbytes(o,b,101010256);// skip disk\nwbytes(o,b+8,c);wbytes(o,b+10,c);wbytes(o,b+12,d);wbytes(o,b+16,e);};/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */var ZipPassThrough=/*#__PURE__*/function(){/**\n     * Creates a pass-through stream that can be added to ZIP archives\n     * @param filename The filename to associate with this data stream\n     */function ZipPassThrough(filename){this.filename=filename;this.c=crc();this.size=0;this.compression=0;}/**\n     * Processes a chunk and pushes to the output stream. You can override this\n     * method in a subclass for custom behavior, but by default this passes\n     * the data through. You must call this.ondata(err, chunk, final) at some\n     * point in this method.\n     * @param chunk The chunk to process\n     * @param final Whether this is the last chunk\n     */ZipPassThrough.prototype.process=function(chunk,final){this.ondata(null,chunk,final);};/**\n     * Pushes a chunk to be added. If you are subclassing this with a custom\n     * compression algorithm, note that you must push data from the source\n     * file only, pre-compression.\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */ZipPassThrough.prototype.push=function(chunk,final){if(!this.ondata)err(5);this.c.p(chunk);this.size+=chunk.length;if(final)this.crc=this.c.d();this.process(chunk,final||false);};return ZipPassThrough;}();export{ZipPassThrough};// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */var ZipDeflate=/*#__PURE__*/function(){/**\n     * Creates a DEFLATE stream that can be added to ZIP archives\n     * @param filename The filename to associate with this data stream\n     * @param opts The compression options\n     */function ZipDeflate(filename,opts){var _this=this;if(!opts)opts={};ZipPassThrough.call(this,filename);this.d=new Deflate(opts,function(dat,final){_this.ondata(null,dat,final);});this.compression=8;this.flag=dbf(opts.level);}ZipDeflate.prototype.process=function(chunk,final){try{this.d.push(chunk,final);}catch(e){this.ondata(e,null,final);}};/**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */ZipDeflate.prototype.push=function(chunk,final){ZipPassThrough.prototype.push.call(this,chunk,final);};return ZipDeflate;}();export{ZipDeflate};/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */var AsyncZipDeflate=/*#__PURE__*/function(){/**\n     * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n     * @param filename The filename to associate with this data stream\n     * @param opts The compression options\n     */function AsyncZipDeflate(filename,opts){var _this=this;if(!opts)opts={};ZipPassThrough.call(this,filename);this.d=new AsyncDeflate(opts,function(err,dat,final){_this.ondata(err,dat,final);});this.compression=8;this.flag=dbf(opts.level);this.terminate=this.d.terminate;}AsyncZipDeflate.prototype.process=function(chunk,final){this.d.push(chunk,final);};/**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */AsyncZipDeflate.prototype.push=function(chunk,final){ZipPassThrough.prototype.push.call(this,chunk,final);};return AsyncZipDeflate;}();export{AsyncZipDeflate};// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */var Zip=/*#__PURE__*/function(){/**\n     * Creates an empty ZIP archive to which files can be added\n     * @param cb The callback to call whenever data for the generated ZIP archive\n     *           is available\n     */function Zip(cb){this.ondata=cb;this.u=[];this.d=1;}/**\n     * Adds a file to the ZIP archive\n     * @param file The file stream to add\n     */Zip.prototype.add=function(file){var _this=this;if(!this.ondata)err(5);// finishing or finished\nif(this.d&2)this.ondata(err(4+(this.d&1)*8,0,1),null,false);else{var f=strToU8(file.filename),fl_1=f.length;var com=file.comment,o=com&&strToU8(com);var u=fl_1!=file.filename.length||o&&com.length!=o.length;var hl_1=fl_1+exfl(file.extra)+30;if(fl_1>65535)this.ondata(err(11,0,1),null,false);var header=new u8(hl_1);wzh(header,0,file,f,u,-1);var chks_1=[header];var pAll_1=function(){for(var _i=0,chks_2=chks_1;_i<chks_2.length;_i++){var chk=chks_2[_i];_this.ondata(null,chk,false);}chks_1=[];};var tr_1=this.d;this.d=0;var ind_1=this.u.length;var uf_1=mrg(file,{f:f,u:u,o:o,t:function(){if(file.terminate)file.terminate();},r:function(){pAll_1();if(tr_1){var nxt=_this.u[ind_1+1];if(nxt)nxt.r();else _this.d=1;}tr_1=1;}});var cl_1=0;file.ondata=function(err,dat,final){if(err){_this.ondata(err,dat,final);_this.terminate();}else{cl_1+=dat.length;chks_1.push(dat);if(final){var dd=new u8(16);wbytes(dd,0,134695760);wbytes(dd,4,file.crc);wbytes(dd,8,cl_1);wbytes(dd,12,file.size);chks_1.push(dd);uf_1.c=cl_1,uf_1.b=hl_1+cl_1+16,uf_1.crc=file.crc,uf_1.size=file.size;if(tr_1)uf_1.r();tr_1=1;}else if(tr_1)pAll_1();}};this.u.push(uf_1);}};/**\n     * Ends the process of adding files and prepares to emit the final chunks.\n     * This *must* be called after adding all desired files for the resulting\n     * ZIP file to work properly.\n     */Zip.prototype.end=function(){var _this=this;if(this.d&2){this.ondata(err(4+(this.d&1)*8,0,1),null,true);return;}if(this.d)this.e();else this.u.push({r:function(){if(!(_this.d&1))return;_this.u.splice(-1,1);_this.e();},t:function(){}});this.d=3;};Zip.prototype.e=function(){var bt=0,l=0,tl=0;for(var _i=0,_a=this.u;_i<_a.length;_i++){var f=_a[_i];tl+=46+f.f.length+exfl(f.extra)+(f.o?f.o.length:0);}var out=new u8(tl+22);for(var _b=0,_c=this.u;_b<_c.length;_b++){var f=_c[_b];wzh(out,bt,f,f.f,f.u,-f.c-2,l,f.o);bt+=46+f.f.length+exfl(f.extra)+(f.o?f.o.length:0),l+=f.b;}wzf(out,bt,this.u.length,tl,l);this.ondata(null,out,true);this.d=2;};/**\n     * A method to terminate any internal workers used by the stream. Subsequent\n     * calls to add() will fail.\n     */Zip.prototype.terminate=function(){for(var _i=0,_a=this.u;_i<_a.length;_i++){var f=_a[_i];f.t();}this.d=2;};return Zip;}();export{Zip};export function zip(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);var r={};fltn(data,\"\",r,opts);var k=Object.keys(r);var lft=k.length,o=0,tot=0;var slft=lft,files=new Array(lft);var term=[];var tAll=function(){for(var i=0;i<term.length;++i)term[i]();};var cbd=function(a,b){mt(function(){cb(a,b);});};mt(function(){cbd=cb;});var cbf=function(){var out=new u8(tot+22),oe=o,cdl=tot-o;tot=0;for(var i=0;i<slft;++i){var f=files[i];try{var l=f.c.length;wzh(out,tot,f,f.f,f.u,l);var badd=30+f.f.length+exfl(f.extra);var loc=tot+badd;out.set(f.c,loc);wzh(out,o,f,f.f,f.u,l,tot,f.m),o+=16+badd+(f.m?f.m.length:0),tot=loc+l;}catch(e){return cbd(e,null);}}wzf(out,o,files.length,cdl,oe);cbd(null,out);};if(!lft)cbf();var _loop_1=function(i){var fn=k[i];var _a=r[fn],file=_a[0],p=_a[1];var c=crc(),size=file.length;c.p(file);var f=strToU8(fn),s=f.length;var com=p.comment,m=com&&strToU8(com),ms=m&&m.length;var exl=exfl(p.extra);var compression=p.level==0?0:8;var cbl=function(e,d){if(e){tAll();cbd(e,null);}else{var l=d.length;files[i]=mrg(p,{size:size,crc:c.d(),c:d,f:f,m:m,u:s!=fn.length||m&&com.length!=ms,compression:compression});o+=30+s+exl+l;tot+=76+2*(s+exl)+(ms||0)+l;if(!--lft)cbf();}};if(s>65535)cbl(err(11,0,1),null);if(!compression)cbl(null,file);else if(size<16e4){try{cbl(null,deflateSync(file,p));}catch(e){cbl(e,null);}}else term.push(deflate(file,p,cbl));};// Cannot use lft because it can decrease\nfor(var i=0;i<slft;++i){_loop_1(i);}return tAll;}/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */export function zipSync(data,opts){if(!opts)opts={};var r={};var files=[];fltn(data,\"\",r,opts);var o=0;var tot=0;for(var fn in r){var _a=r[fn],file=_a[0],p=_a[1];var compression=p.level==0?0:8;var f=strToU8(fn),s=f.length;var com=p.comment,m=com&&strToU8(com),ms=m&&m.length;var exl=exfl(p.extra);if(s>65535)err(11);var d=compression?deflateSync(file,p):file,l=d.length;var c=crc();c.p(file);files.push(mrg(p,{size:file.length,crc:c.d(),c:d,f:f,m:m,u:s!=fn.length||m&&com.length!=ms,o:o,compression:compression}));o+=30+s+exl+l;tot+=76+2*(s+exl)+(ms||0)+l;}var out=new u8(tot+22),oe=o,cdl=tot-o;for(var i=0;i<files.length;++i){var f=files[i];wzh(out,f.o,f,f.f,f.u,f.c.length);var badd=30+f.f.length+exfl(f.extra);out.set(f.c,f.o+badd);wzh(out,o,f,f.f,f.u,f.c.length,f.o,f.m),o+=16+badd+(f.m?f.m.length:0);}wzf(out,o,files.length,cdl,oe);return out;}/**\n * Streaming pass-through decompression for ZIP archives\n */var UnzipPassThrough=/*#__PURE__*/function(){function UnzipPassThrough(){}UnzipPassThrough.prototype.push=function(data,final){this.ondata(null,data,final);};UnzipPassThrough.compression=0;return UnzipPassThrough;}();export{UnzipPassThrough};/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */var UnzipInflate=/*#__PURE__*/function(){/**\n     * Creates a DEFLATE decompression that can be used in ZIP archives\n     */function UnzipInflate(){var _this=this;this.i=new Inflate(function(dat,final){_this.ondata(null,dat,final);});}UnzipInflate.prototype.push=function(data,final){try{this.i.push(data,final);}catch(e){this.ondata(e,null,final);}};UnzipInflate.compression=8;return UnzipInflate;}();export{UnzipInflate};/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */var AsyncUnzipInflate=/*#__PURE__*/function(){/**\n     * Creates a DEFLATE decompression that can be used in ZIP archives\n     */function AsyncUnzipInflate(_,sz){var _this=this;if(sz<32e4){this.i=new Inflate(function(dat,final){_this.ondata(null,dat,final);});}else{this.i=new AsyncInflate(function(err,dat,final){_this.ondata(err,dat,final);});this.terminate=this.i.terminate;}}AsyncUnzipInflate.prototype.push=function(data,final){if(this.i.terminate)data=slc(data,0);this.i.push(data,final);};AsyncUnzipInflate.compression=8;return AsyncUnzipInflate;}();export{AsyncUnzipInflate};/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */var Unzip=/*#__PURE__*/function(){/**\n     * Creates a ZIP decompression stream\n     * @param cb The callback to call whenever a file in the ZIP archive is found\n     */function Unzip(cb){this.onfile=cb;this.k=[];this.o={0:UnzipPassThrough};this.p=et;}/**\n     * Pushes a chunk to be unzipped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */Unzip.prototype.push=function(chunk,final){var _this=this;if(!this.onfile)err(5);if(!this.p)err(4);if(this.c>0){var len=Math.min(this.c,chunk.length);var toAdd=chunk.subarray(0,len);this.c-=len;if(this.d)this.d.push(toAdd,!this.c);else this.k[0].push(toAdd);chunk=chunk.subarray(len);if(chunk.length)return this.push(chunk,final);}else{var f=0,i=0,is=void 0,buf=void 0;if(!this.p.length)buf=chunk;else if(!chunk.length)buf=this.p;else{buf=new u8(this.p.length+chunk.length);buf.set(this.p),buf.set(chunk,this.p.length);}var l=buf.length,oc=this.c,add=oc&&this.d;var _loop_2=function(){var _a;var sig=b4(buf,i);if(sig==67324752){f=1,is=i;this_1.d=null;this_1.c=0;var bf=b2(buf,i+6),cmp_1=b2(buf,i+8),u=bf&2048,dd=bf&8,fnl=b2(buf,i+26),es=b2(buf,i+28);if(l>i+30+fnl+es){var chks_3=[];this_1.k.unshift(chks_3);f=2;var sc_1=b4(buf,i+18),su_1=b4(buf,i+22);var fn_1=strFromU8(buf.subarray(i+30,i+=30+fnl),!u);if(sc_1==4294967295){_a=dd?[-2]:z64e(buf,i),sc_1=_a[0],su_1=_a[1];}else if(dd)sc_1=-1;i+=es;this_1.c=sc_1;var d_1;var file_1={name:fn_1,compression:cmp_1,start:function(){if(!file_1.ondata)err(5);if(!sc_1)file_1.ondata(null,et,true);else{var ctr=_this.o[cmp_1];if(!ctr)file_1.ondata(err(14,\"unknown compression type \"+cmp_1,1),null,false);d_1=sc_1<0?new ctr(fn_1):new ctr(fn_1,sc_1,su_1);d_1.ondata=function(err,dat,final){file_1.ondata(err,dat,final);};for(var _i=0,chks_4=chks_3;_i<chks_4.length;_i++){var dat=chks_4[_i];d_1.push(dat,false);}if(_this.k[0]==chks_3&&_this.c)_this.d=d_1;else d_1.push(et,true);}},terminate:function(){if(d_1&&d_1.terminate)d_1.terminate();}};if(sc_1>=0)file_1.size=sc_1,file_1.originalSize=su_1;this_1.onfile(file_1);}return\"break\";}else if(oc){if(sig==134695760){is=i+=12+(oc==-2&&8),f=3,this_1.c=0;return\"break\";}else if(sig==33639248){is=i-=4,f=3,this_1.c=0;return\"break\";}}};var this_1=this;for(;i<l-4;++i){var state_1=_loop_2();if(state_1===\"break\")break;}this.p=et;if(oc<0){var dat=f?buf.subarray(0,is-12-(oc==-2&&8)-(b4(buf,is-16)==134695760&&4)):buf.subarray(0,i);if(add)add.push(dat,!!f);else this.k[+(f==2)].push(dat);}if(f&2)return this.push(buf.subarray(i),final);this.p=buf.subarray(i);}if(final){if(this.c)err(13);this.p=null;}};/**\n     * Registers a decoder with the stream, allowing for files compressed with\n     * the compression type provided to be expanded correctly\n     * @param decoder The decoder constructor\n     */Unzip.prototype.register=function(decoder){this.o[decoder.compression]=decoder;};return Unzip;}();export{Unzip};var mt=typeof queueMicrotask==\"function\"?queueMicrotask:typeof setTimeout==\"function\"?setTimeout:function(fn){fn();};export function unzip(data,opts,cb){if(!cb)cb=opts,opts={};if(typeof cb!=\"function\")err(7);var term=[];var tAll=function(){for(var i=0;i<term.length;++i)term[i]();};var files={};var cbd=function(a,b){mt(function(){cb(a,b);});};mt(function(){cbd=cb;});var e=data.length-22;for(;b4(data,e)!=101010256;--e){if(!e||data.length-e>65558){cbd(err(13,0,1),null);return tAll;}}var lft=b2(data,e+8);if(lft){var c=lft;var o=b4(data,e+16);var z=o==4294967295||c==65535;if(z){var ze=b4(data,e-12);z=b4(data,ze)==101075792;if(z){c=lft=b4(data,ze+32);o=b4(data,ze+48);}}var fltr=opts&&opts.filter;var _loop_3=function(i){var _a=zh(data,o,z),c_1=_a[0],sc=_a[1],su=_a[2],fn=_a[3],no=_a[4],off=_a[5],b=slzh(data,off);o=no;var cbl=function(e,d){if(e){tAll();cbd(e,null);}else{if(d)files[fn]=d;if(!--lft)cbd(null,files);}};if(!fltr||fltr({name:fn,size:sc,originalSize:su,compression:c_1})){if(!c_1)cbl(null,slc(data,b,b+sc));else if(c_1==8){var infl=data.subarray(b,b+sc);// Synchronously decompress under 512KB, or barely-compressed data\nif(su<524288||sc>.8*su){try{cbl(null,inflateSync(infl,{out:new u8(su)}));}catch(e){cbl(e,null);}}else term.push(inflate(infl,{size:su},cbl));}else cbl(err(14,\"unknown compression type \"+c_1,1),null);}else cbl(null,null);};for(var i=0;i<c;++i){_loop_3(i);}}else cbd(null,{});return tAll;}/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */export function unzipSync(data,opts){var files={};var e=data.length-22;for(;b4(data,e)!=101010256;--e){if(!e||data.length-e>65558)err(13);}var c=b2(data,e+8);if(!c)return{};var o=b4(data,e+16);var z=o==4294967295||c==65535;if(z){var ze=b4(data,e-12);z=b4(data,ze)==101075792;if(z){c=b4(data,ze+32);o=b4(data,ze+48);}}var fltr=opts&&opts.filter;for(var i=0;i<c;++i){var _a=zh(data,o,z),c_2=_a[0],sc=_a[1],su=_a[2],fn=_a[3],no=_a[4],off=_a[5],b=slzh(data,off);o=no;if(!fltr||fltr({name:fn,size:sc,originalSize:su,compression:c_2})){if(!c_2)files[fn]=slc(data,b,b+sc);else if(c_2==8)files[fn]=inflateSync(data.subarray(b,b+sc),{out:new u8(su)});else err(14,\"unknown compression type \"+c_2);}}return files;}\nexport const __FramerMetadata__ = {\"exports\":{\"unzlib\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"gzipSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"gunzipSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deflateSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Gunzip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncCompress\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"zipSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"strToU8\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ZipDeflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"zlib\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Deflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncGzip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"gunzip\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DecodeUTF8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UnzipInflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"zlibSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"unzip\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"unzlibSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncUnzlib\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EncodeUTF8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncGunzip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"compress\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncInflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Inflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Zip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Unzlib\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"decompress\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FlateErrorCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"inflate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Gzip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncZlib\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncDeflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"inflateSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deflate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"zip\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Decompress\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"compressSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UnzipPassThrough\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"strFromU8\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncZipDeflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"decompressSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Zlib\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ZipPassThrough\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncDecompress\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AsyncUnzipInflate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Compress\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Unzip\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"gzip\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"unzipSync\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fflate_module.map","// @ts-nocheck\n// Vendored from three.js 0.186.0.\n/*\nThree.js r186\nThe MIT License\n\nCopyright © 2010-2026 three.js authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/import{BackSide,BoxGeometry,InstancedMesh,Mesh,MeshLambertMaterial,MeshStandardMaterial,PointLight,Scene,Object3D}from\"https://framerusercontent.com/modules/uCN2sICTWjkvpQ4lwNZ4/WMDGM80bYUxWkSpg9f0a/THREE.js\";/**\n * This class represents a scene with a basic room setup that can be used as\n * input for {@link PMREMGenerator#fromScene}. The resulting PMREM represents the room's\n * lighting and can be used for Image Based Lighting by assigning it to {@link Scene#environment}\n * or directly as an environment map to PBR materials.\n *\n * The implementation is based on the [EnvironmentScene](https://github.com/google/model-viewer/blob/master/packages/model-viewer/src/three-components/EnvironmentScene.ts)\n * component from the `model-viewer` project.\n *\n * ```js\n * const environment = new RoomEnvironment();\n * const pmremGenerator = new THREE.PMREMGenerator( renderer );\n *\n * const envMap = pmremGenerator.fromScene( environment ).texture;\n * scene.environment = envMap;\n * ```\n *\n * @augments Scene\n * @three_import import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';\n */class RoomEnvironment extends Scene{/**\n     * Frees internal resources. This method should be called\n     * when the environment is no longer required.\n     */dispose(){const resources=new Set;this.traverse(object=>{if(object.isMesh){resources.add(object.geometry);resources.add(object.material);}});for(const resource of resources){resource.dispose();}}constructor(){super();this.name=\"RoomEnvironment\";this.position.y=-3.5;const geometry=new BoxGeometry;geometry.deleteAttribute(\"uv\");const roomMaterial=new MeshStandardMaterial({side:BackSide});const boxMaterial=new MeshStandardMaterial;const mainLight=new PointLight(16777215,900,28,2);mainLight.position.set(.418,16.199,.3);this.add(mainLight);const room=new Mesh(geometry,roomMaterial);room.position.set(-.757,13.219,.717);room.scale.set(31.713,28.305,28.591);this.add(room);const boxes=new InstancedMesh(geometry,boxMaterial,6);const transform=new Object3D;// box1\ntransform.position.set(-10.906,2.009,1.846);transform.rotation.set(0,-.195,0);transform.scale.set(2.328,7.905,4.651);transform.updateMatrix();boxes.setMatrixAt(0,transform.matrix);// box2\ntransform.position.set(-5.607,-.754,-.758);transform.rotation.set(0,.994,0);transform.scale.set(1.97,1.534,3.955);transform.updateMatrix();boxes.setMatrixAt(1,transform.matrix);// box3\ntransform.position.set(6.167,.857,7.803);transform.rotation.set(0,.561,0);transform.scale.set(3.927,6.285,3.687);transform.updateMatrix();boxes.setMatrixAt(2,transform.matrix);// box4\ntransform.position.set(-2.017,.018,6.124);transform.rotation.set(0,.333,0);transform.scale.set(2.002,4.566,2.064);transform.updateMatrix();boxes.setMatrixAt(3,transform.matrix);// box5\ntransform.position.set(2.291,-.756,-2.621);transform.rotation.set(0,-.286,0);transform.scale.set(1.546,1.552,1.496);transform.updateMatrix();boxes.setMatrixAt(4,transform.matrix);// box6\ntransform.position.set(-2.193,-.369,-5.547);transform.rotation.set(0,.516,0);transform.scale.set(3.875,3.487,2.986);transform.updateMatrix();boxes.setMatrixAt(5,transform.matrix);this.add(boxes);// -x right\nconst light1=new Mesh(geometry,createAreaLightMaterial(50));light1.position.set(-16.116,14.37,8.208);light1.scale.set(.1,2.428,2.739);this.add(light1);// -x left\nconst light2=new Mesh(geometry,createAreaLightMaterial(50));light2.position.set(-16.109,18.021,-8.207);light2.scale.set(.1,2.425,2.751);this.add(light2);// +x\nconst light3=new Mesh(geometry,createAreaLightMaterial(17));light3.position.set(14.904,12.198,-1.832);light3.scale.set(.15,4.265,6.331);this.add(light3);// +z\nconst light4=new Mesh(geometry,createAreaLightMaterial(43));light4.position.set(-.462,8.89,14.52);light4.scale.set(4.38,5.441,.088);this.add(light4);// -z\nconst light5=new Mesh(geometry,createAreaLightMaterial(20));light5.position.set(3.235,11.486,-12.541);light5.scale.set(2.5,2,.1);this.add(light5);// +y\nconst light6=new Mesh(geometry,createAreaLightMaterial(100));light6.position.set(0,20,0);light6.scale.set(1,.1,1);this.add(light6);}}function createAreaLightMaterial(intensity){// create an emissive-only material. see #31348\nconst material=new MeshLambertMaterial({color:0,emissive:16777215,emissiveIntensity:intensity});return material;}export{RoomEnvironment};\nexport const __FramerMetadata__ = {\"exports\":{\"RoomEnvironment\":{\"type\":\"class\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RoomEnvironment.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import*as THREE from\"https://framerusercontent.com/modules/uCN2sICTWjkvpQ4lwNZ4/WMDGM80bYUxWkSpg9f0a/THREE.js\";import{USDCParser}from\"https://framerusercontent.com/modules/LBMXxG4YbujCkBcyRvXr/9sWI0H2Be4TNHyaLaigq/USDCParser.js\";import{USDAParser}from\"https://framerusercontent.com/modules/uVOLfWEnmR6MYmKTTrOd/IsEFJqBT4lsfKFtrceNY/USDAParser.js\";import{USDComposer}from\"https://framerusercontent.com/modules/XUbl9I8HAn494EgB7ygu/bMMevb92kHEAXyiFWHGN/USDComposer.js\";import{unzipSync}from\"https://framerusercontent.com/modules/wbxjM1MK8o1EzbJbNYAF/A4OYmpE3vtY4F9uTD3Tx/fflate_module.js\";import{RoomEnvironment}from\"https://framerusercontent.com/modules/O5zy8ofbUQadyHRV16Qn/VDzJnY3GhoiikyfzUlpf/RoomEnvironment.js\";// The local vendor files are JavaScript bundles without declaration files.\n// Keep their runtime exports while preventing TypeScript from inferring\n// incomplete public APIs from the bundled implementation details.\nconst Three=THREE;const CanvasTexture=Three.CanvasTexture;function canvasFont(style,defaultSize,defaultWeight){const parsedSize=Number.parseFloat(String(style?.fontSize??defaultSize));const size=Number.isFinite(parsedSize)?parsedSize:defaultSize;const family=style?.fontFamily||'-apple-system, BlinkMacSystemFont, \"SF Pro Display\", system-ui, sans-serif';const rawWeight=String(style?.fontWeight||style?.variant||style?.fontStyle||\"\");const weight=/thin/i.test(rawWeight)?100:/extra.?light/i.test(rawWeight)?200:/light/i.test(rawWeight)?300:/medium/i.test(rawWeight)?500:/semi.?bold/i.test(rawWeight)?600:/bold/i.test(rawWeight)?700:Number.isFinite(Number(rawWeight))?Number(rawWeight):defaultWeight;const fontStyle=style?.fontStyle===\"italic\"||style?.fontStyle===\"oblique\"?style.fontStyle:\"normal\";return`${fontStyle} ${weight} ${size}px ${family}`;}function loadImageSource(src){return new Promise((resolve,reject)=>{const image=new Image;image.crossOrigin=\"anonymous\";image.onload=()=>resolve(image);image.onerror=()=>reject(new Error(`Image unavailable: ${src}`));image.src=src;});}function drawFittedImage(context,image,width,height,fit){const imageWidth=image.naturalWidth||image.width;const imageHeight=image.naturalHeight||image.height;const scale=fit===\"contain\"?Math.min(width/imageWidth,height/imageHeight):Math.max(width/imageWidth,height/imageHeight);const drawWidth=imageWidth*scale;const drawHeight=imageHeight*scale;context.drawImage(image,(width-drawWidth)/2,(height-drawHeight)/2,drawWidth,drawHeight);}function liveClockText(now,timeFormat){const hour12=timeFormat===\"12-hour\"?true:timeFormat===\"24-hour\"?false:undefined;const formatter=new Intl.DateTimeFormat(undefined,{hour:\"numeric\",minute:\"2-digit\",...hour12===undefined?{}:{hour12}});const parts=formatter.formatToParts(now);const hour=parts.find(part=>part.type===\"hour\")?.value||\"9\";const minute=parts.find(part=>part.type===\"minute\")?.value||\"41\";const date=new Intl.DateTimeFormat(undefined,{weekday:\"short\",month:\"short\",day:\"numeric\"}).format(now).replace(/,/g,\"\");return{time:`${hour}:${minute}`,date};}const MODEL_PACKAGE_URL=\"https://framerusercontent.com/assets/036xdneo3RgAYpg7Q4WYwtwc.zip\";async function loadOpenUSD(phoneFinish){const response=await fetch(MODEL_PACKAGE_URL);if(!response.ok)throw new Error(\"USD package unavailable\");const files=unzipSync(new Uint8Array(await response.arrayBuffer()),{});const assets={};const binary=new USDCParser,ascii=new USDAParser;const decoder=new TextDecoder;const rootFile=phoneFinish===\"night-sky\"?\"duo-night.usdc\":\"duo-star.usdc\";const root=Object.keys(files).find(name=>name.split(\"/\").pop()===rootFile);if(!root)throw new Error(\"USD root layer missing\");for(const[name,bytes]of Object.entries(files)){if(/\\.(usd|usda|usdc)$/i.test(name)){assets[name]=decoder.decode(bytes.subarray(0,8))===\"PXR-USDC\"?binary.parseData(bytes.buffer.slice(bytes.byteOffset,bytes.byteOffset+bytes.byteLength)):ascii.parseData(decoder.decode(bytes));}else assets[name]=bytes;}const composer=new USDComposer;const model=composer.compose(assets[root],assets,{},root.includes(\"/\")?root.slice(0,root.lastIndexOf(\"/\")+1):\"\");await Promise.all(composer.texturePromises);return model;}function createDuoScene(viewport,onReady,onError,initialDisplayOptions,isStaticPreview,phoneFinish){let disposed=false;async function loadDefaultUIs(){const images=Object.fromEntries(await Promise.all([\"wallpaper-inner.avif\",\"clock-inner.avif\",\"clock-outer.avif\",\"launcher-inner.png\",\"launcher-outer.png\"].map(async name=>{const image=new Image;image.crossOrigin=\"anonymous\";const suppliedImages={\"wallpaper-inner.avif\":\"https://framerusercontent.com/images/jfhLaeG2jyJBYY1M7KfVuII3X0.jpeg\",\"clock-inner.avif\":\"https://framerusercontent.com/images/3JoKsElnkoE0LmR6XZoQsRmNY.avif\",\"clock-outer.avif\":\"https://framerusercontent.com/images/Ro2yThb7aZebFfBfGU3bd8QXFp4.avif\",\"launcher-inner.png\":\"https://framerusercontent.com/images/j1avd8uweIqkEgST6jVnAp1k0.png\",\"launcher-outer.png\":\"https://framerusercontent.com/images/vkndhYiNh4ZKMZtQcj9ntIGBA.png\"};const source=suppliedImages[name];if(!source)throw new Error(`Missing UI asset: ${name}`);image.src=source;await image.decode();return[name,image];})));const themes={wallpaper:{},launcher:{}};const innerWidth=1600;for(const[theme,screens]of Object.entries(themes)){for(const kind of[\"inner\",\"outer\"]){const canvas=document.createElement(\"canvas\");canvas.width=kind===\"inner\"?innerWidth:774;canvas.height=1125;const context=canvas.getContext(\"2d\");if(!context)throw new Error(\"Canvas 2D unavailable\");if(theme===\"wallpaper\"){context.drawImage(images[\"wallpaper-inner.avif\"],canvas.width-innerWidth,0,innerWidth,canvas.height);context.drawImage(images[`clock-${kind}.avif`],0,0,canvas.width,canvas.height);}else{// The HIG screenshots include a device frame; use only their display area.\nconst crop=kind===\"inner\"?[22,22,1072,754]:[28,16,510,742];context.drawImage(images[`launcher-${kind}.png`],crop[0],crop[1],crop[2],crop[3],0,0,canvas.width,canvas.height);}screens[kind]=canvas;}}return{images,themes};}const scene=new Three.Scene;const camera=new Three.PerspectiveCamera(32,1,.1,250);camera.position.set(0,0,40);const renderer=new Three.WebGLRenderer({antialias:true,alpha:true});renderer.setPixelRatio(Math.min(devicePixelRatio,2));renderer.setClearColor(16185075,0);renderer.toneMapping=Three.ACESFilmicToneMapping;renderer.toneMappingExposure=1.18;viewport.appendChild(renderer.domElement);const environment=new RoomEnvironment;const pmrem=new Three.PMREMGenerator(renderer);scene.environment=pmrem.fromScene(environment,.04).texture;environment.dispose();pmrem.dispose();scene.environmentIntensity=1.35;scene.add(new Three.HemisphereLight(16777215,11909800,1.8));const key=new Three.DirectionalLight(16776437,2.6);key.position.set(-15,25,30);scene.add(key);const rim=new Three.DirectionalLight(15265269,2);rim.position.set(15,5,-15);scene.add(rim);camera.lookAt(0,0,.275454);const phone=new Three.Group;scene.add(phone);const bend={value:0};const blurStrength={value:1};const reflectionStrength={value:0};let angle=0;let requestedProgress=0;let sizeMultiplier=1;let visible=true;let dirty=true;let playing=false;let phase=0;let transition=null;let ready=false;const screens={};let displayOptions=initialDisplayOptions;let liveClockTimer=0;let displayRenderRun=0;let updateScene=null;let resizeObserver=null;const uiReferenceEye=new Three.Vector3(0,0,40);const innerUIFrame=new Three.Vector4(-7.89935,.34562-5.8974,15.7987,11.1035);const outerUIFrame=new Three.Vector4(.23396,.27173-5.8974,7.73936,11.2513).multiplyScalar((uiReferenceEye.z-.24948)/(uiReferenceEye.z-.825538));async function load(){const{images:uiImages,themes:defaultUIs}=await loadDefaultUIs();if(disposed)return;for(const kind of[\"inner\",\"outer\"]){const defaultTextures={};for(const[theme,canvases]of Object.entries(defaultUIs)){const texture=new CanvasTexture(canvases[kind]);texture.colorSpace=Three.SRGBColorSpace;texture.anisotropy=renderer.capabilities.getMaxAnisotropy();defaultTextures[theme]=texture;}const dynamicCanvas=document.createElement(\"canvas\");dynamicCanvas.width=kind===\"inner\"?1600:774;dynamicCanvas.height=1125;const backgroundCanvas=document.createElement(\"canvas\");backgroundCanvas.width=dynamicCanvas.width;backgroundCanvas.height=dynamicCanvas.height;const dynamicTexture=new CanvasTexture(dynamicCanvas);dynamicTexture.colorSpace=Three.SRGBColorSpace;dynamicTexture.anisotropy=renderer.capabilities.getMaxAnisotropy();const material=new Three.MeshBasicMaterial({map:defaultTextures.wallpaper,toneMapped:false});screens[kind]={material,defaultTextures,dynamicCanvas,backgroundCanvas,dynamicTexture,frame:{value:(kind===\"inner\"?innerUIFrame:outerUIFrame).clone()},gradient:{value:new Three.Vector2(kind===\"inner\"?.5:0,kind===\"inner\"?0:1)},pixel:{value:new Three.Vector2(1/defaultUIs.wallpaper[kind].width,1/defaultUIs.wallpaper[kind].height)}};}function applyScreenTexture(kind,texture){const screen=screens[kind];screen.material.map=texture;screen.pixel.value.set(1/texture.image.width,1/texture.image.height);screen.frame.value.copy(kind===\"inner\"?innerUIFrame:outerUIFrame);screen.gradient.value.set(kind===\"inner\"?.5:0,kind===\"inner\"?0:1);screen.material.needsUpdate=true;}function showDefaultUI(theme){for(const[kind,screen]of Object.entries(screens)){applyScreenTexture(kind,screen.defaultTextures[theme]);}dirty=true;}function drawDefaultWallpaper(context,canvas){const innerWidth=1600;context.drawImage(uiImages[\"wallpaper-inner.avif\"],canvas.width-innerWidth,0,innerWidth,canvas.height);}function drawClockOverlay(context,canvas,kind,options,backgroundCanvas){context.drawImage(uiImages[`clock-${kind}.avif`],0,0,canvas.width,canvas.height);const inner=kind===\"inner\";const restoreRegion=region=>{const sourceX=Math.round(region[0]*canvas.width);const sourceY=Math.round(region[1]*canvas.height);const sourceWidth=Math.round(region[2]*canvas.width);const sourceHeight=Math.round(region[3]*canvas.height);context.drawImage(backgroundCanvas,sourceX,sourceY,sourceWidth,sourceHeight,sourceX,sourceY,sourceWidth,sourceHeight);};const clockRegion=inner?[.31,.025,.34,.37]:[.1,.025,.58,.37];const wifiRegion=inner?[.91,.025,.08,.095]:[.82,.105,.15,.105];const quickActionsRegion=inner?[.905,.75,.085,.22]:[.81,.75,.17,.22];if(options.clockMode===\"live\"||!options.showClock)restoreRegion(clockRegion);if(!options.showWifi)restoreRegion(wifiRegion);if(!options.showQuickActions)restoreRegion(quickActionsRegion);if(options.clockMode!==\"live\"||!options.showClock)return;const{time,date}=liveClockText(new Date,options.timeFormat);const clockCenterX=canvas.width/2;context.save();context.fillStyle=options.clockColor;context.textAlign=\"center\";context.textBaseline=\"middle\";context.font=canvasFont(options.dateFont,29,700);context.letterSpacing=String(options.dateFont?.letterSpacing||\"0px\");context.fillText(date,clockCenterX,canvas.height*.073);context.font=canvasFont(options.timeFont,inner?320:338,300);context.letterSpacing=String(options.timeFont?.letterSpacing||\"0px\");context.fillText(time,clockCenterX,canvas.height*(inner?.245:.255)+options.timeOffsetY);context.restore();}async function renderDisplay(options){displayOptions=options;const run=++displayRenderRun;window.clearTimeout(liveClockTimer);liveClockTimer=0;if(options.screen===\"launcher\"){showDefaultUI(\"launcher\");return;}const custom=options.screen===\"custom\";const[innerImage,outerImage]=await Promise.all([custom&&options.innerImageSrc?loadImageSource(options.innerImageSrc).catch(()=>null):Promise.resolve(null),custom&&options.outerImageSrc?loadImageSource(options.outerImageSrc).catch(()=>null):Promise.resolve(null)]);if(options.clockMode===\"live\"&&options.showClock&&document.fonts)await document.fonts.ready;if(disposed||run!==displayRenderRun)return;for(const kind of[\"inner\",\"outer\"]){const screen=screens[kind];const canvas=screen.dynamicCanvas;const context=canvas.getContext(\"2d\");const backgroundCanvas=screen.backgroundCanvas;const backgroundContext=backgroundCanvas.getContext(\"2d\");if(!context||!backgroundContext)continue;const customImage=kind===\"inner\"?innerImage:outerImage;const drawBackground=()=>{backgroundContext.clearRect(0,0,canvas.width,canvas.height);backgroundContext.fillStyle=\"#000\";backgroundContext.fillRect(0,0,canvas.width,canvas.height);if(customImage){drawFittedImage(backgroundContext,customImage,canvas.width,canvas.height,options.imageFit);}else{drawDefaultWallpaper(backgroundContext,canvas);}};drawBackground();context.clearRect(0,0,canvas.width,canvas.height);context.drawImage(backgroundCanvas,0,0);drawClockOverlay(context,canvas,kind,options,backgroundCanvas);screen.dynamicTexture.needsUpdate=true;applyScreenTexture(kind,screen.dynamicTexture);}dirty=true;if(options.clockMode===\"live\"&&options.showClock){const delay=6e4-Date.now()%6e4+50;liveClockTimer=window.setTimeout(()=>void renderDisplay(displayOptions),delay);}}function setAngle(value){angle=value;bend.value=(180-value)/180*Math.PI;screens.outer.material.color.setScalar(value>=180?0:1);const c=Math.cos(bend.value),sn=Math.sin(bend.value);const points=[];for(const x of[-8,0])for(const z of[0,.825])points.push([c*x+sn*z,-sn*x+c*z]);for(const x of[0,8])for(const z of[0,.825])points.push([x,z]);let offset=0;for(let i=0;i<4;i++){const projected=points.map(([x,z])=>(x+offset)/(40-z));offset-=(Math.min(...projected)+Math.max(...projected))*18;}phone.position.x=offset;uiReferenceEye.copy(camera.position).sub(phone.position);dirty=true;}function resize(){const bounds=viewport.getBoundingClientRect();const width=isStaticPreview?viewport.clientWidth:bounds.width;const height=isStaticPreview?viewport.clientHeight:bounds.height;if(!width||!height)return;renderer.setSize(width,height);camera.aspect=width/height;const pixelsPerUnit=Math.min(width/20,height/19,44)*sizeMultiplier;camera.fov=Three.MathUtils.radToDeg(2*Math.atan(height/pixelsPerUnit/2/40));camera.updateProjectionMatrix();dirty=true;}resizeObserver=new ResizeObserver(resize);resizeObserver.observe(viewport);const screenShader=`\nuniform float foldAngle;\nuniform float uiBlur;\nuniform float uiReflection;\nuniform vec2 uiPixel;\nuniform vec4 uiFrame;\nuniform vec2 uiGradient;\nuniform vec3 uiReferenceEye;\nvarying vec3 vUIPosition;\nvec3 screenColor() {\n  // Intersect the fixed front-view ray with the unfolded inner-screen plane.\n  float depth = (0.24948 - uiReferenceEye.z) / (vUIPosition.z - uiReferenceEye.z);\n  vec2 projected = uiReferenceEye.xy + (vUIPosition.xy - uiReferenceEye.xy) * depth;\n  vec2 sourceUV = (projected - uiFrame.xy) / uiFrame.zw;\n  #ifdef INNER_UI\n    float progress = clamp(foldAngle / 1.570796327, 0.0, 1.0);\n  #else\n    // Anchor the image to the projected hinge-side edge of the outer screen.\n    float c = cos(foldAngle), s = sin(foldAngle);\n    vec2 hingeEdge = vec2(-0.23396, -0.27463 - 0.275454);\n    vec2 foldedEdge = vec2(c * hingeEdge.x + s * hingeEdge.y,\n      -s * hingeEdge.x + c * hingeEdge.y + 0.275454);\n    float edgeDepth = (0.24948 - uiReferenceEye.z) / (foldedEdge.y - uiReferenceEye.z);\n    float anchorX = uiReferenceEye.x + (foldedEdge.x - uiReferenceEye.x) * edgeDepth;\n    sourceUV.x = uiGradient.x + (projected.x - anchorX) / uiFrame.z;\n    float progress = clamp((3.141592654 - foldAngle) / 1.570796327, 0.0, 1.0);\n  #endif\n  float edge = (sourceUV.x - uiGradient.x) / (uiGradient.y - uiGradient.x);\n  float motion = smoothstep(0.0, 1.0, progress);\n  float blurGradient = clamp(edge, 0.0, 1.0);\n  float darkenGradient = clamp((edge - 0.2) / 0.8, 0.0, 1.0);\n  float effect = motion * pow(darkenGradient, 1.35);\n  float radius = 72.0 * uiBlur * motion * pow(blurGradient, 1.35);\n  vec2 aa = max(fwidth(sourceUV), uiPixel * 0.5);\n  vec2 dx = dFdx(sourceUV) / uiPixel;\n  vec2 dy = dFdy(sourceUV) / uiPixel;\n  float baseLod = log2(max(1.0, max(length(dx), length(dy))));\n  vec2 coverage = smoothstep(-aa, aa, sourceUV)\n    * (1.0 - smoothstep(vec2(1.0) - aa, vec2(1.0) + aa, sourceUV));\n  vec3 color = textureLod(map, clamp(sourceUV, vec2(0.0), vec2(1.0)), baseLod).rgb * coverage.x * coverage.y;\n  if (radius > 0.0) {\n    // Use the same mip level at zero blur, then increase it continuously.\n    float lod = max(baseLod, log2(max(1.0, radius)));\n    vec2 footprint = max(aa, uiPixel * radius * 0.75);\n    color = vec3(0.0);\n    for (int y = -2; y <= 2; y++) {\n      for (int x = -2; x <= 2; x++) {\n        float wx = x == 0 ? 6.0 : (abs(x) == 1 ? 4.0 : 1.0);\n        float wy = y == 0 ? 6.0 : (abs(y) == 1 ? 4.0 : 1.0);\n        vec2 sampleUV = sourceUV + vec2(float(x), float(y)) * uiPixel * radius;\n        // Blur the image and its coverage together so color spreads into the black margin.\n        vec2 coverage = smoothstep(-footprint, footprint, sampleUV)\n          * (1.0 - smoothstep(vec2(1.0) - footprint, vec2(1.0) + footprint, sampleUV));\n        color += textureLod(map, clamp(sampleUV, vec2(0.0), vec2(1.0)), lod).rgb\n          * coverage.x * coverage.y * wx * wy / 256.0;\n      }\n    }\n  }\n  vec3 shaded = color * (1.0 - min(1.0, effect * 2.0));\n  float reflectionBand = pow(\n    max(0.0, 1.0 - abs((sourceUV.x + sourceUV.y * 0.18) - (0.3 + 0.38 * motion)) * 2.8),\n    3.0\n  );\n  float reflectionAmount = clamp(\n    uiReflection * reflectionBand * (0.03 + 0.17 * abs(sin(foldAngle)))\n      * coverage.x * coverage.y,\n    0.0,\n    0.3\n  );\n  return mix(shaded, vec3(1.0), reflectionAmount);\n}\n`;// The camera half stays in its original transform. Only the cover half rotates.\nconst foldShader=`\nuniform float foldAngle;\nvec2 rotateHinge(vec2 p) {\n  float c = cos(foldAngle), s = sin(foldAngle);\n  p.y -= 0.275454;\n  return vec2(c * p.x + s * p.y, -s * p.x + c * p.y + 0.275454);\n}\n#ifdef FLEXIBLE_SCREEN\nvec4 bendStrip(vec3 p) {\n  float halfWidth = 0.35;\n  if (p.x >= halfWidth) return vec4(p.x, p.z, 1.0, 0.0);\n  if (p.x <= -halfWidth) return vec4(rotateHinge(p.xz), cos(foldAngle), -sin(foldAngle));\n  float t = (p.x + halfWidth) / (2.0 * halfWidth);\n  float t2 = t*t, t3 = t2*t;\n  vec2 a = rotateHinge(vec2(-halfWidth, p.z));\n  vec2 b = vec2(halfWidth, p.z);\n  vec2 ta = 2.0 * halfWidth * vec2(cos(foldAngle), -sin(foldAngle));\n  vec2 tb = vec2(2.0 * halfWidth, 0.0);\n  vec2 point = (2.0*t3-3.0*t2+1.0)*a + (t3-2.0*t2+t)*ta + (-2.0*t3+3.0*t2)*b + (t3-t2)*tb;\n  vec2 tangent = normalize((6.0*t2-6.0*t)*a + (3.0*t2-4.0*t+1.0)*ta + (-6.0*t2+6.0*t)*b + (3.0*t2-2.0*t)*tb);\n  return vec4(point, tangent);\n}\n#endif\n`;try{const model=await loadOpenUSD(phoneFinish);const textures=new Set;model.traverse(object=>{const materials=Array.isArray(object.material)?object.material:[object.material];for(const material of materials)if(material){for(const value of Object.values(material))if(value?.isTexture)textures.add(value);}});await Promise.all(Array.from(textures).map(async texture=>{const src=texture.image?.src;if(!src||!src.startsWith(\"http\"))return;const image=new Image;image.crossOrigin=\"anonymous\";image.src=src;await image.decode();texture.image=image;texture.needsUpdate=true;}));if(disposed){model.traverse(object=>{object.geometry?.dispose();});for(const texture of textures)texture.dispose();return;}model.scale.multiplyScalar(100);model.updateMatrixWorld(true);const count={moving:0,fixed:0,flexible:0};model.traverse(object=>{if(!object.isMesh)return;const geometry=object.geometry.clone().applyMatrix4(object.matrixWorld);geometry.translate(0,-5.8974,0);let ancestor=object;while(ancestor&&![\"upTUAKvMVkPOMKq\",\"SiftyleUEEZwLhF\"].includes(ancestor.name))ancestor=ancestor.parent;const moving=ancestor?.name===\"upTUAKvMVkPOMKq\";const flexible=[\"JnJdTkxbQgUtLwU\",\"xdyyaajWsatVNxN\",\"UXtsBZYlaUvHoEh\",\"MvKPXGSdYDVvSpk\"].includes(object.name);const kind=object.name===\"UXtsBZYlaUvHoEh\"?\"inner\":object.name===\"hhgAIoCGsHXeDPY\"?\"outer\":null;const material=kind?screens[kind].material:object.material.clone();if(kind){const p=geometry.attributes.position;const uv=new Float32Array(p.count*2);for(let i=0;i<p.count;i++){uv[i*2]=kind===\"inner\"?(p.getX(i)+7.89935)/15.7987:(-.23396-p.getX(i))/7.73936;uv[i*2+1]=kind===\"inner\"?(p.getY(i)+5.8974-.34562)/11.1035:(p.getY(i)+5.8974-.27173)/11.2513;}geometry.setAttribute(\"uv\",new Three.BufferAttribute(uv,2));}if(moving||flexible){material.onBeforeCompile=shader=>{shader.uniforms.foldAngle=bend;if(kind){shader.uniforms.uiBlur=blurStrength;shader.uniforms.uiReflection=reflectionStrength;shader.uniforms.uiFrame=screens[kind].frame;shader.uniforms.uiGradient=screens[kind].gradient;shader.uniforms.uiReferenceEye={value:uiReferenceEye};shader.uniforms.uiPixel=screens[kind].pixel;shader.fragmentShader=shader.fragmentShader.replace(\"#include <map_pars_fragment>\",`\n            #include <map_pars_fragment>\n            ${kind===\"inner\"?\"#define INNER_UI\":\"\"}\n            ${screenShader}\n          `).replace(\"#include <map_fragment>\",\"diffuseColor.rgb *= screenColor();\");shader.vertexShader=`varying vec3 vUIPosition;\n${shader.vertexShader}`;shader.vertexShader=shader.vertexShader.replace(\"#include <project_vertex>\",`\n            vUIPosition = transformed;\n            #include <project_vertex>\n          `);}shader.vertexShader=`${flexible?\"#define FLEXIBLE_SCREEN\\n\":\"\"}${foldShader}\n${shader.vertexShader}`;shader.vertexShader=shader.vertexShader.replace(\"#include <begin_vertex>\",flexible?`\n          vec4 folded = bendStrip(position);\n          vec3 transformed = vec3(folded.x, position.y, folded.y);\n        `:`\n          vec2 folded = rotateHinge(position.xz);\n          vec3 transformed = vec3(folded.x, position.y, folded.y);\n        `);shader.vertexShader=shader.vertexShader.replace(\"#include <beginnormal_vertex>\",`\n          vec3 objectNormal = vec3(normal);\n          ${flexible?\"vec4 strip = bendStrip(position); float a = atan(-strip.w, strip.z);\":\"float a = foldAngle;\"}\n          objectNormal.x = cos(a) * normal.x + sin(a) * normal.z;\n          objectNormal.z = -sin(a) * normal.x + cos(a) * normal.z;\n        `);};material.customProgramCacheKey=()=>`${flexible?\"fold-flexible\":\"fold-cover\"}-${kind||\"body\"}`;}const mesh=new Three.Mesh(geometry,material);mesh.name=object.name;mesh.frustumCulled=false;phone.add(mesh);count[flexible?\"flexible\":moving?\"moving\":\"fixed\"]++;});console.info(\"Official model ready\",JSON.stringify({...count,sourceMeshes:phone.children.length,innerUI:true,outerUI:true,fixedHalf:\"rear camera\"}));await renderDisplay(displayOptions);updateScene=(progress,size,options,blur,reflection,isVisible)=>{visible=isVisible;const nextBlur=Math.max(0,Math.min(2,blur));const nextReflection=Math.max(0,Math.min(1,reflection));if(nextBlur!==blurStrength.value||nextReflection!==reflectionStrength.value){blurStrength.value=nextBlur;reflectionStrength.value=nextReflection;dirty=true;}if(size!==sizeMultiplier){sizeMultiplier=size;resize();}const currentKey=JSON.stringify(displayOptions);const nextKey=JSON.stringify(options);if(currentKey!==nextKey)void renderDisplay(options);setAngle(progress*180);};ready=true;setAngle(requestedProgress*180);}catch(error){onError();console.error(error);}resize();let firstFrameSent=false;renderer.setAnimationLoop(()=>{if(disposed||!ready||!visible||!dirty)return;renderer.render(scene,camera);dirty=false;if(!firstFrameSent){firstFrameSent=true;onReady();}});}void load().catch(()=>{if(!disposed)onError();});return{update(progress,size,options,blur,reflection,isVisible){requestedProgress=progress;if(!updateScene)sizeMultiplier=size;if(!updateScene){blurStrength.value=Math.max(0,Math.min(2,blur));reflectionStrength.value=Math.max(0,Math.min(1,reflection));}visible=isVisible;if(!updateScene)displayOptions=options;updateScene?.(progress,size,options,blur,reflection,isVisible);},dispose(){disposed=true;window.clearTimeout(liveClockTimer);displayRenderRun++;resizeObserver?.disconnect();renderer.setAnimationLoop(null);phone.traverse(object=>{object.geometry?.dispose();const materials=Array.isArray(object.material)?object.material:[object.material];for(const material of materials){if(!material)continue;for(const value of Object.values(material))if(value?.isTexture)value.dispose();material.dispose();}});for(const screen of Object.values(screens))for(const texture of Object.values(screen.defaultTextures))texture.dispose();for(const screen of Object.values(screens))screen.dynamicTexture?.dispose();scene.environment?.dispose();renderer.dispose();renderer.domElement.remove();}};}/**\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 800\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */export default function IphoneDuoScroll(props){const{interactionMode=\"scroll\",dragInitialFold=0,dragSensitivity=200,scrollLength=180,reverseAnimation=false,phoneSize=1,phoneFinish=\"star-white\",background=\"#f6f6f3\",screenBlur=1,screenReflection=0,screen=\"wallpaper\",clockMode=\"static\",timeFormat=\"auto\",clockColor=\"#FFFFFF\",timeFont={fontFamily:\"Inter\",fontSize:\"320px\",fontWeight:300},dateFont={fontFamily:\"Inter\",fontSize:\"29px\",fontWeight:700},timeOffsetY=0,lockScreenUI={showClock:true,showWifi:true,showQuickActions:true},innerImage,outerImage,imageFit=\"cover\",canvasPreviewEnabled=false,previewFold=100,loaderColor=\"#858580\",loaderOpacity=.5,loaderStyle=\"fold\",style}=props;const displayOptions=React.useMemo(()=>({screen,clockMode,timeFormat,clockColor,timeFont,dateFont,timeOffsetY,showClock:lockScreenUI?.showClock??true,showWifi:lockScreenUI?.showWifi??true,showQuickActions:lockScreenUI?.showQuickActions??true,innerImageSrc:innerImage?.src||\"\",outerImageSrc:outerImage?.src||\"\",imageFit}),[screen,clockMode,timeFormat,clockColor,timeFont,dateFont,timeOffsetY,lockScreenUI?.showClock,lockScreenUI?.showWifi,lockScreenUI?.showQuickActions,innerImage?.src,outerImage?.src,imageFit]);const initialDisplayOptions=React.useRef(displayOptions);const section=React.useRef(null);const viewportRef=React.useRef(null);const sceneRef=React.useRef(null);const refreshRef=React.useRef(()=>{});const[loadState,setLoadState]=React.useState(\"loading\");const canvas=RenderTarget.current()===RenderTarget.canvas;const isStaticRenderer=useIsStaticRenderer();const staticPreview=canvas||isStaticRenderer;const dragProgressRef=React.useRef(Math.max(0,Math.min(1,dragInitialFold/100)));const[dragProgress,setDragProgress]=React.useState(dragProgressRef.current);const[isDragging,setIsDragging]=React.useState(false);const dragGesture=React.useRef(null);React.useEffect(()=>{if(staticPreview&&!canvasPreviewEnabled)return;if(!viewportRef.current)return;let active=true;initialDisplayOptions.current=displayOptions;React.startTransition(()=>setLoadState(\"loading\"));try{const controller=createDuoScene(viewportRef.current,()=>{if(active){React.startTransition(()=>setLoadState(\"ready\"));refreshRef.current();}},()=>{if(active)React.startTransition(()=>setLoadState(\"error\"));},initialDisplayOptions.current,staticPreview,phoneFinish);sceneRef.current=controller;refreshRef.current();return()=>{active=false;controller.dispose();sceneRef.current=null;};}catch{React.startTransition(()=>setLoadState(\"error\"));}},[phoneFinish,staticPreview,canvasPreviewEnabled]);React.useEffect(()=>{if(staticPreview&&!canvasPreviewEnabled)return;let raf=0;let disposed=false;const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const update=()=>{raf=0;if(disposed||!section.current)return;const r=section.current.getBoundingClientRect();const viewport=window.innerHeight;const raw=Math.max(0,Math.min(1,-r.top/Math.max(1,r.height-viewport)));const easedProgress=raw*raw*(3-2*raw);const p=staticPreview?previewFold/100:interactionMode===\"drag\"?dragProgressRef.current:reduce.matches?reverseAnimation?0:1:reverseAnimation?1-easedProgress:easedProgress;sceneRef.current?.update(p,phoneSize,displayOptions,screenBlur,screenReflection,staticPreview||r.bottom>0&&r.top<viewport);};const schedule=()=>{if(!raf)raf=requestAnimationFrame(update);};refreshRef.current=update;window.addEventListener(\"scroll\",schedule,{passive:true,capture:true});window.addEventListener(\"resize\",schedule);reduce.addEventListener(\"change\",schedule);const observer=new ResizeObserver(schedule);if(section.current)observer.observe(section.current);update();return()=>{disposed=true;cancelAnimationFrame(raf);observer.disconnect();window.removeEventListener(\"scroll\",schedule,true);window.removeEventListener(\"resize\",schedule);reduce.removeEventListener(\"change\",schedule);};},[staticPreview,previewFold,interactionMode,reverseAnimation,phoneSize,screenBlur,screenReflection,displayOptions,scrollLength,canvasPreviewEnabled]);React.useEffect(()=>{if(interactionMode!==\"drag\")return;const next=Math.max(0,Math.min(1,dragInitialFold/100));dragProgressRef.current=next;setDragProgress(next);refreshRef.current();},[interactionMode,dragInitialFold]);const setDraggedProgress=React.useCallback(next=>{const value=Math.max(0,Math.min(1,next));dragProgressRef.current=value;setDragProgress(value);sceneRef.current?.update(value,phoneSize,displayOptions,screenBlur,screenReflection,true);},[phoneSize,displayOptions,screenBlur,screenReflection]);const handlePointerDown=React.useCallback(event=>{if(staticPreview||interactionMode!==\"drag\")return;dragGesture.current={pointerId:event.pointerId,startX:event.clientX,startY:event.clientY,startProgress:dragProgressRef.current,axis:\"pending\"};setIsDragging(true);event.currentTarget.setPointerCapture(event.pointerId);},[staticPreview,interactionMode]);const handlePointerMove=React.useCallback(event=>{const gesture=dragGesture.current;if(!gesture||gesture.pointerId!==event.pointerId)return;const deltaX=event.clientX-gesture.startX;const deltaY=event.clientY-gesture.startY;if(gesture.axis===\"pending\"){if(Math.max(Math.abs(deltaX),Math.abs(deltaY))<6)return;gesture.axis=Math.abs(deltaX)>Math.abs(deltaY)?\"horizontal\":\"vertical\";}if(gesture.axis!==\"horizontal\")return;event.preventDefault();const distance=Math.max(220,event.currentTarget.clientWidth*.65);const sensitivity=Math.max(.25,Math.min(3,dragSensitivity/100));setDraggedProgress(gesture.startProgress-deltaX/distance*sensitivity);},[dragSensitivity,setDraggedProgress]);const endDrag=React.useCallback(event=>{if(dragGesture.current?.pointerId!==event.pointerId)return;if(event.currentTarget.hasPointerCapture(event.pointerId))event.currentTarget.releasePointerCapture(event.pointerId);dragGesture.current=null;setIsDragging(false);},[]);const handleKeyDown=React.useCallback(event=>{if(interactionMode!==\"drag\")return;let next=null;if(event.key===\"ArrowLeft\")next=dragProgressRef.current+.05;if(event.key===\"ArrowRight\")next=dragProgressRef.current-.05;if(event.key===\"Home\")next=0;if(event.key===\"End\")next=1;if(next===null)return;event.preventDefault();setDraggedProgress(next);},[interactionMode,setDraggedProgress]);if(staticPreview&&!canvasPreviewEnabled){return /*#__PURE__*/_jsx(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:800,minHeight:800,boxSizing:\"border-box\",background,display:\"grid\",placeItems:\"center\",overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{role:\"status\",\"aria-label\":\"3D canvas preview disabled\",style:{width:220,height:140,boxSizing:\"border-box\",backgroundColor:\"#faf8ff\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",borderRadius:16,border:\"2px dashed #d1c4e9\",color:\"#6a1b9a\",fontFamily:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',userSelect:\"none\",padding:24,textAlign:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{fontSize:\"1.8rem\",lineHeight:1},children:\"🎲\"}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:13,fontWeight:700,letterSpacing:\"-0.01em\"},children:\"3D Preview Disabled\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:10,color:\"#9575cd\",lineHeight:1.4},children:\"Enable Canvas Preview in the controls to see the 3D phone.\"})]})});}return /*#__PURE__*/_jsx(\"div\",{ref:section,style:{...style,position:\"relative\",width:\"100%\",height:staticPreview||interactionMode===\"drag\"?staticPreview?800:\"100vh\":`${100+scrollLength}vh`,minHeight:staticPreview?800:undefined,background,overflow:\"visible\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:staticPreview||interactionMode===\"drag\"?\"relative\":\"sticky\",top:0,height:staticPreview||interactionMode===\"drag\"?\"100%\":\"100vh\",width:\"100%\",overflow:\"hidden\",display:\"grid\",placeItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:viewportRef,role:interactionMode===\"drag\"?\"slider\":\"img\",\"aria-label\":interactionMode===\"drag\"?\"iPhone Duo fold position. Drag left to open and right to close.\":\"iPhone Duo unfolding as you scroll\",\"aria-valuemin\":interactionMode===\"drag\"?0:undefined,\"aria-valuemax\":interactionMode===\"drag\"?100:undefined,\"aria-valuenow\":interactionMode===\"drag\"?Math.round(dragProgress*100):undefined,tabIndex:!staticPreview&&interactionMode===\"drag\"?0:undefined,onPointerDown:handlePointerDown,onPointerMove:handlePointerMove,onPointerUp:endDrag,onPointerCancel:endDrag,onLostPointerCapture:()=>{dragGesture.current=null;setIsDragging(false);},onKeyDown:handleKeyDown,style:{position:\"absolute\",inset:0,opacity:loadState===\"ready\"?1:0,transition:\"opacity .45s ease\",pointerEvents:!staticPreview&&interactionMode===\"drag\"?\"auto\":\"none\",touchAction:interactionMode===\"drag\"?\"pan-y\":\"auto\",cursor:!staticPreview&&interactionMode===\"drag\"?isDragging?\"grabbing\":\"grab\":\"default\",userSelect:\"none\"}}),/*#__PURE__*/_jsx(\"style\",{children:`\n                .iphone-duo-loading-mark { display:flex; width:48px; height:40px; perspective:140px; }\n                .iphone-duo-loading-mark span { width:24px; height:40px; border:1.5px solid currentColor; background:currentColor; opacity:.28; }\n                .iphone-duo-loading-mark span:first-child { border-radius:7px 1px 1px 7px; transform-origin:right center; animation:iphone-duo-loader-hinge 1.8s ease-in-out infinite; }\n                .iphone-duo-loading-mark span:last-child { border-radius:1px 7px 7px 1px; opacity:.6; }\n                .iphone-duo-spinner { width:42px; height:42px; border:3px solid currentColor; border-right-color:transparent; border-radius:50%; animation:iphone-duo-loader-spin .8s linear infinite; }\n                @keyframes iphone-duo-loader-hinge { 0%,100% { transform:rotateY(12deg); opacity:.28; } 50% { transform:rotateY(145deg); opacity:1; } }\n                @keyframes iphone-duo-loader-spin { to { transform:rotate(360deg); } }\n                @media(prefers-reduced-motion:reduce) { .iphone-duo-loading-mark span:first-child { animation:none; transform:rotateY(25deg); } .iphone-duo-spinner { animation:none; } }\n            `}),/*#__PURE__*/_jsxs(\"div\",{role:\"status\",\"aria-live\":\"polite\",\"aria-label\":loadState===\"loading\"?\"Loading iPhone Duo\":undefined,style:{position:\"absolute\",inset:0,display:\"grid\",placeItems:\"center\",pointerEvents:\"none\",color:loaderColor,opacity:loadState===\"ready\"?0:1,visibility:loadState===\"ready\"?\"hidden\":\"visible\",transition:\"opacity .3s ease, visibility .3s\",padding:24},children:[loadState===\"loading\"&&loaderStyle===\"fold\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"iphone-duo-loading-mark\",\"aria-hidden\":\"true\",style:{opacity:loaderOpacity},children:[/*#__PURE__*/_jsx(\"span\",{style:{animationPlayState:staticPreview?\"paused\":\"running\"}}),/*#__PURE__*/_jsx(\"span\",{})]}),loadState===\"loading\"&&loaderStyle===\"spinner\"&&/*#__PURE__*/_jsx(\"div\",{className:\"iphone-duo-spinner\",\"aria-hidden\":\"true\",style:{opacity:loaderOpacity,animationPlayState:staticPreview?\"paused\":\"running\"}}),loadState===\"error\"&&/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:\"system-ui, sans-serif\",fontSize:13,textAlign:\"center\",maxWidth:280},children:\"The 3D model couldn't load. Refresh to retry.\"})]})]})});}IphoneDuoScroll.displayName=\"iPhone Duo Scroll\";addPropertyControls(IphoneDuoScroll,{interactionMode:{type:ControlType.Enum,title:\"Unfold With\",options:[\"scroll\",\"drag\"],optionTitles:[\"Page Scroll\",\"Swipe & Drag\"],defaultValue:\"scroll\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"Choose how visitors unfold the phone.\"},dragInitialFold:{type:ControlType.Number,title:\"Starting Fold\",defaultValue:0,min:0,max:100,step:1,unit:\"%\",hidden:props=>props.interactionMode!==\"drag\",description:\"The position shown before a visitor swipes.\"},dragSensitivity:{type:ControlType.Number,title:\"Swipe Sensitivity\",defaultValue:200,min:25,max:350,step:5,unit:\"%\",hidden:props=>props.interactionMode!==\"drag\",description:\"Higher values need a shorter swipe to open or close the phone.\"},scrollLength:{type:ControlType.Number,title:\"Scroll Distance\",defaultValue:180,min:50,max:500,step:10,unit:\"vh\",hidden:props=>props.interactionMode===\"drag\",description:\"How much page scrolling unfolds the phone.\"},reverseAnimation:{type:ControlType.Boolean,title:\"Reverse Direction\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.interactionMode===\"drag\",description:\"Choose whether scrolling down opens or closes the phone.\"},canvasPreviewEnabled:{type:ControlType.Boolean,title:\"Canvas Preview\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Load and display the 3D phone inside Framer's design canvas. This does not affect the published website.\"},previewFold:{type:ControlType.Number,title:\"Canvas Preview Fold\",defaultValue:100,min:0,max:100,step:1,unit:\"%\",hidden:props=>!props.canvasPreviewEnabled,description:\"Design canvas only.\"},phoneSize:{type:ControlType.Number,title:\"Device Scale\",defaultValue:1,min:.5,max:1.3,step:.05,description:\"Adjusts the phone size.\"},phoneFinish:{type:ControlType.Enum,title:\"Phone Edge\",options:[\"star-white\",\"night-sky\"],optionTitles:[\"Star White\",\"Night Sky\"],defaultValue:\"star-white\",displaySegmentedControl:true,description:\"Choose the physical phone color.\"},screen:{type:ControlType.Enum,title:\"Screen Content\",options:[\"wallpaper\",\"launcher\",\"custom\"],optionTitles:[\"Lock Screen\",\"Launcher\",\"Custom Images\"],defaultValue:\"wallpaper\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"Change screen image.\"},innerImage:{type:ControlType.ResponsiveImage,title:\"Inner Image\",hidden:props=>props.screen!==\"custom\",description:\"Use 1600x1125px landscape for the unfolded inner screen.\"},outerImage:{type:ControlType.ResponsiveImage,title:\"Outer Image\",hidden:props=>props.screen!==\"custom\",description:\"Use 774x1125px portrait for the outer screen.\"},imageFit:{type:ControlType.Enum,title:\"Image Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],defaultValue:\"cover\",displaySegmentedControl:true,hidden:props=>props.screen!==\"custom\",description:\"*Cover* fills the display and may crop.\\n*Contain* keeps the full image and can add black space.\"},background:{type:ControlType.Color,title:\"Section BG\",defaultValue:\"#f6f6f3\",description:\"Section background color.\"},screenBlur:{type:ControlType.Number,title:\"Fold Blur\",defaultValue:1,min:0,max:2,step:.05,description:\"Blur applied while the phone folds.\"},screenReflection:{type:ControlType.Number,title:\"Screen Reflection\",defaultValue:0,min:0,max:1,step:.05,description:\"Adds a soft moving sheen to both screens during the fold.\"},clockMode:{type:ControlType.Enum,title:\"Clock Mode\",options:[\"static\",\"live\"],optionTitles:[\"Static\",\"Live\"],defaultValue:\"static\",displaySegmentedControl:true,hidden:props=>props.screen===\"launcher\"},timeFormat:{type:ControlType.Enum,title:\"Time Format\",options:[\"auto\",\"12-hour\",\"24-hour\"],optionTitles:[\"Device\",\"12 Hour\",\"24 Hour\"],defaultValue:\"auto\",displaySegmentedControl:false,hidden:props=>props.screen===\"launcher\"||props.clockMode!==\"live\"||props.lockScreenUI?.showClock===false,description:\"Device follows each visitor's locale. The clock omits AM/PM to match the lock-screen style.\"},clockColor:{type:ControlType.Color,title:\"Clock Color\",defaultValue:\"#FFFFFF\",hidden:props=>props.screen===\"launcher\"||props.clockMode!==\"live\"||props.lockScreenUI?.showClock===false,description:\"Color for the time and date on both displays.\"},timeFont:{type:ControlType.Font,title:\"Time Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"320px\",variant:\"Light\",letterSpacing:\"-0.04em\",lineHeight:\"1em\"},hidden:props=>props.screen===\"launcher\"||props.clockMode!==\"live\"||props.lockScreenUI?.showClock===false,description:\"Typography for the large time on both displays.\"},timeOffsetY:{type:ControlType.Number,title:\"Time Vertical Offset\",defaultValue:0,min:-250,max:250,step:1,unit:\"px\",hidden:props=>props.screen===\"launcher\"||props.clockMode!==\"live\"||props.lockScreenUI?.showClock===false,description:\"Moves the live time up or down.\"},dateFont:{type:ControlType.Font,title:\"Date Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"29px\",variant:\"Bold\",letterSpacing:\"0em\",lineHeight:\"1em\"},hidden:props=>props.screen===\"launcher\"||props.clockMode!==\"live\"||props.lockScreenUI?.showClock===false,description:\"Typography for the weekday and date above the time on both displays.\"},lockScreenUI:{type:ControlType.Object,title:\"Lock Screen Elements\",buttonTitle:\"Visibility\",hidden:props=>props.screen===\"launcher\",controls:{showClock:{type:ControlType.Boolean,title:\"Clock & Date\",defaultValue:true},showWifi:{type:ControlType.Boolean,title:\"Wi-Fi Icon\",defaultValue:true},showQuickActions:{type:ControlType.Boolean,title:\"Torch & Camera\",defaultValue:true}},defaultValue:{showClock:true,showWifi:true,showQuickActions:true},description:\"Show or hide the clock and date, Wi-Fi icon, and bottom torch/camera buttons independently.\"},loaderStyle:{type:ControlType.Enum,title:\"Loader\",options:[\"fold\",\"spinner\"],optionTitles:[\"Fold\",\"Spinner\"],defaultValue:\"fold\",displaySegmentedControl:true,description:\"Shown while the 3D phone model is loading.\"},loaderColor:{type:ControlType.Color,title:\"Loader Color\",defaultValue:\"#858580\"},loaderOpacity:{type:ControlType.Number,title:\"Loader Opacity\",defaultValue:.5,min:0,max:1,step:.05,description:\"Controls how visible the loading indicator is. 0 hides it and 1 is fully opaque.\\n\\n*Version:* 1.0.0\\nMade with ❤️ by [Soyeb](https://framer.link/project)\\n\\n[→ More Components](https://framer.link/project)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"IphoneDuoScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"800\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./iphone_duo_scroll.map","// Generated by Framer (e0809aa)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,patchBorderRadiusScaleCorrector,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={otWABfxKA:{hover:true},QTIhzMXvO:{hover:true}};const cycleOrder=[\"otWABfxKA\",\"QTIhzMXvO\"];const serializationHash=\"framer-hjzN6\";const variantClassNames={otWABfxKA:\"framer-v-1ososx2\",QTIhzMXvO:\"framer-v-1t04an3\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:30,delay:0,mass:1,stiffness:146,type:\"spring\"};const patchBorderRadiusScaleCorrector1=patchBorderRadiusScaleCorrector();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={Dark:\"QTIhzMXvO\",Light:\"otWABfxKA\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"otWABfxKA\"};};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:\"otWABfxKA\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ososx2\",className,classNames),\"data-framer-name\":\"Light\",layoutDependency:layoutDependency,layoutId:\"otWABfxKA\",ref:refBinding,style:{...style},...addPropertyOverrides({\"otWABfxKA-hover\":{\"data-framer-name\":undefined},\"QTIhzMXvO-hover\":{\"data-framer-name\":undefined},QTIhzMXvO:{\"data-framer-name\":\"Dark\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Link,{href:\"https://framer.link/free-components\",motionChild:true,nodeId:\"shG15OAn6\",openInNewTab:true,scopeId:\"bzWTF4ehy\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1mpflmn framer-xgp00t\",\"data-border\":true,\"data-framer-name\":\"Buttons\",layoutDependency:layoutDependency,layoutId:\"shG15OAn6\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(0, 0, 0, 0.12)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",\"--corner-shape-fallback\":.843,backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:\"calc(15px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderBottomRightRadius:\"calc(15px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopLeftRadius:\"calc(15px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopRightRadius:\"calc(15px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",boxShadow:\"0px 1px 1px 0px rgba(0, 0, 0, 0.25)\",cornerShape:\"superellipse(1.3)\",scale:1},variants:{\"otWABfxKA-hover\":{scale:1.02},\"QTIhzMXvO-hover\":{scale:1.02},QTIhzMXvO:{\"--border-color\":\"rgba(255, 255, 255, 0.22)\",backgroundColor:\"rgb(0, 0, 0)\",boxShadow:\"0px 1px 1px 0px rgba(255, 255, 255, 0.16)\"}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTYW5zLTUwMA==\",\"--framer-font-family\":'\"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\"},children:\"More Components\"})}),className:\"framer-fqon9n\",fonts:[\"GF;Instrument Sans-500\"],layoutDependency:layoutDependency,layoutId:\"vrbf2KDBs\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{QTIhzMXvO:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({QTIhzMXvO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTYW5zLTUwMA==\",\"--framer-font-family\":'\"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"More Components\"})})}},baseVariant,gestureVariant)})})})})})})});});const css=[\".framer-hjzN6.framer-xgp00t, .framer-hjzN6 .framer-xgp00t { display: block; }\",\".framer-hjzN6.framer-1ososx2 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-hjzN6 .framer-1mpflmn { 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: visible; padding: 10px 14px 10px 14px; position: relative; text-decoration: none; width: min-content; z-index: 10; }\",\".framer-hjzN6 .framer-fqon9n { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",'.framer-hjzN6[data-border=\"true\"]::after, .framer-hjzN6 [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 39\n * @framerIntrinsicWidth 160\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"QTIhzMXvO\":{\"layout\":[\"auto\",\"auto\"]},\"V35euG76Z\":{\"layout\":[\"auto\",\"auto\"]},\"o_7IQV2Uk\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerbzWTF4ehy=withCSS(Component,css,\"framer-hjzN6\");export default FramerbzWTF4ehy;FramerbzWTF4ehy.displayName=\"Component Buttton\";FramerbzWTF4ehy.defaultProps={height:39,width:160};addPropertyControls(FramerbzWTF4ehy,{variant:{options:[\"otWABfxKA\",\"QTIhzMXvO\"],optionTitles:[\"Light\",\"Dark\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerbzWTF4ehy,[{explicitInter:true,fonts:[{cssFamilyName:\"Instrument Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Instrument Sans\",url:\"https://fonts.gstatic.com/s/instrumentsans/v4/pximypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr-yp2JGEJOH9npST3-QfwmS0v3_7Y.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerbzWTF4ehy\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"39\",\"framerIntrinsicWidth\":\"160\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"QTIhzMXvO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"V35euG76Z\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"o_7IQV2Uk\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bzWTF4ehy.map","// Generated by Framer (e0809aa)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"f4GDtaC45\",\"A9drLyUi9\"];const serializationHash=\"framer-yv9xS\";const variantClassNames={A9drLyUi9:\"framer-v-1fayb21\",f4GDtaC45:\"framer-v-8f04fy\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const s3TPt1gcx=undefined;const OU_OIC8zn=undefined;const yQKPhNG0p=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const numberToPixelString=value=>{if(typeof value!==\"number\")return value;if(!Number.isFinite(value))return undefined;return Math.max(0,value)+\"px\";};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={\"Nav Menu Title - Active\":\"f4GDtaC45\",\"Nav Menu Title\":\"A9drLyUi9\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,padding,title,width,...props})=>{return{...props,OU_OIC8zn:padding??props.OU_OIC8zn??\"6px 14px 6px 14px\",s3TPt1gcx:link??props.s3TPt1gcx,variant:humanReadableVariantMap[props.variant]??props.variant??\"f4GDtaC45\",yQKPhNG0p:title??props.yQKPhNG0p??\"Menu Title\"};};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,yQKPhNG0p,OU_OIC8zn,s3TPt1gcx,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"f4GDtaC45\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:s3TPt1gcx,motionChild:true,nodeId:\"f4GDtaC45\",openInNewTab:false,scopeId:\"SMv6RNaBC\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-8f04fy\",className,classNames)} framer-1fkgazu`,\"data-framer-name\":\"Nav Menu Title - Active\",layoutDependency:layoutDependency,layoutId:\"f4GDtaC45\",ref:refBinding,style:{\"--1bp9wit\":numberToPixelString(OU_OIC8zn),backgroundColor:\"rgb(0, 0, 0)\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,boxShadow:\"0px 1px 2px 0px rgba(255, 255, 255, 0.25)\",...style},variants:{A9drLyUi9:{backgroundColor:\"rgba(0, 0, 0, 0)\",boxShadow:\"none\"}},...addPropertyOverrides({A9drLyUi9:{\"data-framer-name\":\"Nav Menu Title\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTYW5zLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif',\"--framer-font-size\":\"13px\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Menu Title\"})}),className:\"framer-xouyla\",fonts:[\"GF;Instrument Sans-regular\"],layoutDependency:layoutDependency,layoutId:\"SScAcUXT6\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:yQKPhNG0p,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({A9drLyUi9:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW5zdHJ1bWVudCBTYW5zLXJlZ3VsYXI=\",\"--framer-font-family\":'\"Instrument Sans\", \"Instrument Sans Placeholder\", sans-serif',\"--framer-font-size\":\"13px\",\"--framer-letter-spacing\":\"-0.02em\"},children:\"Menu Title\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\".framer-yv9xS.framer-1fkgazu, .framer-yv9xS .framer-1fkgazu { display: block; }\",\".framer-yv9xS.framer-8f04fy { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; min-width: 91px; overflow: visible; padding: 6px 14px 6px 14px; position: relative; text-decoration: none; width: min-content; }\",\".framer-yv9xS .framer-xouyla { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-yv9xS.framer-v-1fayb21.framer-8f04fy { padding: var(--1bp9wit); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 27\n * @framerIntrinsicWidth 91\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"91px\",null,null,null]},\"A9drLyUi9\":{\"layout\":[\"auto\",\"auto\"],\"constraints\":[\"91px\",null,null,null]}}}\n * @framerVariables {\"yQKPhNG0p\":\"title\",\"OU_OIC8zn\":\"padding\",\"s3TPt1gcx\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerSMv6RNaBC=withCSS(Component,css,\"framer-yv9xS\");export default FramerSMv6RNaBC;FramerSMv6RNaBC.displayName=\"Nav Menu Title\";FramerSMv6RNaBC.defaultProps={height:27,width:91};addPropertyControls(FramerSMv6RNaBC,{variant:{options:[\"f4GDtaC45\",\"A9drLyUi9\"],optionTitles:[\"Nav Menu Title - Active\",\"Nav Menu Title\"],title:\"Variant\",type:ControlType.Enum},yQKPhNG0p:{defaultValue:\"Menu Title\",displayTextArea:false,title:\"Title\",type:ControlType.String},onyQKPhNG0pChange:{changes:\"yQKPhNG0p\",type:ControlType.ChangeHandler},OU_OIC8zn:{defaultValue:\"6px 14px 6px 14px\",title:\"Padding\",type:ControlType.Padding},s3TPt1gcx:{title:\"Link\",type:ControlType.Link}});addFonts(FramerSMv6RNaBC,[{explicitInter:true,fonts:[{cssFamilyName:\"Instrument Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Instrument Sans\",url:\"https://fonts.gstatic.com/s/instrumentsans/v4/pximypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr-yp2JGEJOH9npSTF-QfwmS0v3_7Y.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerSMv6RNaBC\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"91px\\\",null,null,null]},\\\"A9drLyUi9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"],\\\"constraints\\\":[\\\"91px\\\",null,null,null]}}}\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"91\",\"framerVariables\":\"{\\\"yQKPhNG0p\\\":\\\"title\\\",\\\"OU_OIC8zn\\\":\\\"padding\\\",\\\"s3TPt1gcx\\\":\\\"link\\\"}\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"27\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SMv6RNaBC.map","// Generated by Framer (e0809aa)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,ResolveLinks,runTasksWithYield,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import NavMenuTitle from\"https://framerusercontent.com/modules/Nw8Mllpld3V73it4aqys/iqboTSrSez702nrJPCFj/SMv6RNaBC.js\";const NavMenuTitleFonts=getFonts(NavMenuTitle);const cycleOrder=[\"ndFJsQexN\",\"LL6TKBt_M\",\"uyc92FNaL\"];const serializationHash=\"framer-quUYF\";const variantClassNames={LL6TKBt_M:\"framer-v-1xuq532\",ndFJsQexN:\"framer-v-16ot97u\",uyc92FNaL:\"framer-v-1727miq\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={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 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={\"Nav for first\":\"ndFJsQexN\",\"Nav for second\":\"LL6TKBt_M\",\"Nav for third\":\"uyc92FNaL\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ndFJsQexN\"};};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:\"ndFJsQexN\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-16ot97u\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Nav for first\",layoutDependency:layoutDependency,layoutId:\"ndFJsQexN\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(0, 0, 0, 0.12)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:28,borderBottomRightRadius:28,borderTopLeftRadius:28,borderTopRightRadius:28,boxShadow:\"0px 1px 1px 0px rgba(0, 0, 0, 0.25)\",...style},...addPropertyOverrides({LL6TKBt_M:{\"data-framer-name\":\"Nav for second\"},uyc92FNaL:{\"data-framer-name\":\"Nav for third\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+(4+((componentViewport?.height||35.5)-8-27)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1shf71o-container\",layoutDependency:layoutDependency,layoutId:\"SELInvS1V-container\",nodeId:\"SELInvS1V\",rendersWithMotion:true,scopeId:\"YohrzWnvy\",children:/*#__PURE__*/_jsx(NavMenuTitle,{height:\"100%\",id:\"SELInvS1V\",layoutId:\"SELInvS1V\",OU_OIC8zn:\"6px 14px 6px 14px\",s3TPt1gcx:resolvedLinks[0],variant:matchVariant(\"f4GDtaC45\"),width:\"100%\",yQKPhNG0p:\"Scroll\",...addPropertyOverrides({LL6TKBt_M:{s3TPt1gcx:resolvedLinks[1],variant:matchVariant(\"A9drLyUi9\")},uyc92FNaL:{s3TPt1gcx:resolvedLinks[2],variant:matchVariant(\"A9drLyUi9\")}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Zn7jjoLew\"},implicitPathVariables:undefined},{href:{webPageId:\"Zn7jjoLew\"},implicitPathVariables:undefined},{href:{webPageId:\"Zn7jjoLew\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+(4+((componentViewport?.height||35.5)-8-27)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-qdh0mu-container\",layoutDependency:layoutDependency,layoutId:\"kPiWshewo-container\",nodeId:\"kPiWshewo\",rendersWithMotion:true,scopeId:\"YohrzWnvy\",children:/*#__PURE__*/_jsx(NavMenuTitle,{height:\"100%\",id:\"kPiWshewo\",layoutId:\"kPiWshewo\",OU_OIC8zn:\"6px 14px 6px 14px\",s3TPt1gcx:resolvedLinks1[0],variant:matchVariant(\"A9drLyUi9\"),width:\"100%\",yQKPhNG0p:\"Drag\",...addPropertyOverrides({LL6TKBt_M:{s3TPt1gcx:resolvedLinks1[1],variant:matchVariant(\"f4GDtaC45\")},uyc92FNaL:{s3TPt1gcx:resolvedLinks1[2]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"O8wDqP5iJ\"},implicitPathVariables:undefined},{href:{webPageId:\"O8wDqP5iJ\"},implicitPathVariables:undefined},{href:{webPageId:\"O8wDqP5iJ\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+(4+((componentViewport?.height||35.5)-8-27)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-162a2sz-container\",layoutDependency:layoutDependency,layoutId:\"gK2wf9r_I-container\",nodeId:\"gK2wf9r_I\",rendersWithMotion:true,scopeId:\"YohrzWnvy\",children:/*#__PURE__*/_jsx(NavMenuTitle,{height:\"100%\",id:\"gK2wf9r_I\",layoutId:\"gK2wf9r_I\",OU_OIC8zn:\"6px 14px 6px 14px\",s3TPt1gcx:resolvedLinks2[0],variant:matchVariant(\"A9drLyUi9\"),width:\"100%\",yQKPhNG0p:\"Blue Edge\",...addPropertyOverrides({LL6TKBt_M:{s3TPt1gcx:resolvedLinks2[1]},uyc92FNaL:{s3TPt1gcx:resolvedLinks2[2],variant:matchVariant(\"f4GDtaC45\")}},baseVariant,gestureVariant)})})})})]})})})});});const css=[\".framer-quUYF.framer-15p7pu6, .framer-quUYF .framer-15p7pu6 { display: block; }\",\".framer-quUYF.framer-16ot97u { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 4px; position: relative; width: min-content; }\",\".framer-quUYF .framer-1shf71o-container, .framer-quUYF .framer-qdh0mu-container, .framer-quUYF .framer-162a2sz-container { flex: none; height: auto; position: relative; width: auto; }\",'.framer-quUYF[data-border=\"true\"]::after, .framer-quUYF [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 35.5\n * @framerIntrinsicWidth 281\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"LL6TKBt_M\":{\"layout\":[\"auto\",\"auto\"]},\"uyc92FNaL\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerYohrzWnvy=withCSS(Component,css,\"framer-quUYF\");export default FramerYohrzWnvy;FramerYohrzWnvy.displayName=\"Navigation\";FramerYohrzWnvy.defaultProps={height:35.5,width:281};addPropertyControls(FramerYohrzWnvy,{variant:{options:[\"ndFJsQexN\",\"LL6TKBt_M\",\"uyc92FNaL\"],optionTitles:[\"Nav for first\",\"Nav for second\",\"Nav for third\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerYohrzWnvy,[{explicitInter:true,fonts:[]},...NavMenuTitleFonts],{supportsExplicitInterCodegen:true});FramerYohrzWnvy.loader={load:(props,context)=>{return runTasksWithYield([()=>forwardLoader(NavMenuTitle,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerYohrzWnvy\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"35.5\",\"framerIntrinsicWidth\":\"281\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"LL6TKBt_M\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"uyc92FNaL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YohrzWnvy.map","// Generated by Framer (e0809aa)\nexport default function metadata(params,activeLocale){return{description:\"iPhone Duo Scroll Framer Component - Made with Framer\",robots:\"max-image-preview:large\",title:\"iPhone Duo Scroll - Framer Component\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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GAAG,CAAC,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,EAAG,EAAG,EAAE,EAAG,IAAI,EAAE,CAAE,MAAM,GAAG,EAAM,QAAQ,MAAM,CAAC,IAAI,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAG,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAG,GAAG,EAAG,EAAG,EAAE,EAAG,GAAG,EAAG,EAAG,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAG,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAG,GAAG,EAAE,EAAG,IAAI,EAAE,CAAE,MAAM,GAAG,EAAM,QAAQ,MAAM,CAAC,IAAI,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,CAAC,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,IAAI,EAAE,CAAE,MAAM,GAAG,EAAM,QAAQ,MAAM,CAAC,IAAI,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAG,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,IAAI,EAAG,EAAG,CAAE,MAAM,GAAG,EAAM,QAAQ,MAAM,CAAC,IAAI,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,EAAE,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,CAAC,EAAE,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAE,EAAG,EAAG,GAAG,EAAE,EAAE,EAAG,GAAG,EAAG,EAAE,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AM,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,MA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"}