{"version":3,"file":"Liquid_mask_Prod.B9_d0hap.mjs","names":["t","e","n","i","pe","a","s","r","o","l","c","h","q","u","d","p","f","m","g","_","v","x","M","S","E","y","b","A","w","R","C","P","U","T","L","I","D","N","O","F","B","z","H","V","G","k","W","X","j","Y","K","Z","J","$","Q","tt","et","nt","it","rt","at","st","ot","lt","ct","ht","ut","dt","pt","ft","mt","gt","_t","vt","te","ue","ye","xt","Mt","St","Et","yt","Tt","bt","At","wt","Rt","Ct","Pt","Ut","Lt","Nt","Ot","Ft","Dt","It","Ht","Vt","Jt","kt","Wt","Xt","$t","Gt","jt","qt","Kt","Yt","Zt","Qt","ee","ne","React.useContext","React.useMemo","React.Fragment","React.useRef","React.useId","SVG","RichText","UtilsComponentMessage","useRef","useState","tr","v","useCallback","Scene","WebGLRenderer","PerspectiveCamera","TextureLoader","SRGBColorSpace","LinearFilter","Vector2","PlaneGeometry","ShaderMaterial","Mesh","Clock","x","e","y"],"sources":["https:/cdn.jsdelivr.net/gh/framer-university/components/npm-bundles/liquid-mask.js","https:/framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js","https:/framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe","https:/framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js","https:/framer.com/m/Utils-FINc.js","https:/framerusercontent.com/modules/fi53yhbcRqL43n1xSOoF/6KEopr91hekZfCUtO2bj/Liquid_mask_Prod.js"],"sourcesContent":["const t=\"174\",e=0,n=1,i=2,r=100,a=101,s=102,o=200,l=201,c=202,h=203,u=204,d=205,p=206,f=207,m=208,g=209,_=210,v=211,x=212,M=213,S=214,E=0,y=1,T=2,b=3,A=4,w=5,R=6,C=7,P=301,U=302,L=306,D=1e3,I=1001,N=1002,O=1003,F=1004,B=1005,z=1006,H=1007,V=1008,G=1009,k=1010,W=1011,X=1012,j=1013,q=1014,Y=1015,K=1016,Z=1017,J=1018,$=1020,Q=35902,tt=1023,et=1026,nt=1027,it=1029,rt=1031,at=1033,st=33776,ot=33777,lt=33778,ct=33779,ht=35840,ut=35841,dt=35842,pt=35843,ft=36196,mt=37492,gt=37496,_t=37808,vt=37809,xt=37810,Mt=37811,St=37812,Et=37813,yt=37814,Tt=37815,bt=37816,At=37817,wt=37818,Rt=37819,Ct=37820,Pt=37821,Ut=36492,Lt=36494,Dt=36495,It=36284,Nt=36285,Ot=36286,Ft=\"\",Bt=\"srgb\",zt=\"srgb-linear\",Ht=\"linear\",Vt=\"srgb\",Gt=7680,kt=512,Wt=513,Xt=514,jt=515,qt=516,Yt=517,Kt=518,Zt=519,Jt=\"300 es\",$t=2e3,Qt=2001;class te{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){const n=this._listeners;return void 0!==n&&(void 0!==n[t]&&-1!==n[t].indexOf(e))}removeEventListener(t,e){const n=this._listeners;if(void 0===n)return;const i=n[t];if(void 0!==i){const t=i.indexOf(e);-1!==t&&i.splice(t,1)}}dispatchEvent(t){const e=this._listeners;if(void 0===e)return;const n=e[t.type];if(void 0!==n){t.target=this;const e=n.slice(0);for(let n=0,i=e.length;n<i;n++)e[n].call(this,t);t.target=null}}}const ee=[\"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\"],ne=Math.PI/180,ie=180/Math.PI;function re(){const t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return(ee[255&t]+ee[t>>8&255]+ee[t>>16&255]+ee[t>>24&255]+\"-\"+ee[255&e]+ee[e>>8&255]+\"-\"+ee[e>>16&15|64]+ee[e>>24&255]+\"-\"+ee[63&n|128]+ee[n>>8&255]+\"-\"+ee[n>>16&255]+ee[n>>24&255]+ee[255&i]+ee[i>>8&255]+ee[i>>16&255]+ee[i>>24&255]).toLowerCase()}function ae(t,e,n){return Math.max(e,Math.min(n,t))}function se(t,e,n){return(1-n)*t+n*e}function oe(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error(\"Invalid component type.\")}}function le(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(4294967295*t);case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int32Array:return Math.round(2147483647*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error(\"Invalid component type.\")}}class ce{constructor(t=0,e=0){ce.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=ae(this.x,t.x,e.x),this.y=ae(this.y,t.y,e.y),this}clampScalar(t,e){return this.x=ae(this.x,t,e),this.y=ae(this.y,t,e),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(ae(n,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(ae(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,a=this.y-t.y;return this.x=r*n-a*i+t.x,this.y=r*i+a*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class he{constructor(t,e,n,i,r,a,s,o,l){he.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==t&&this.set(t,e,n,i,r,a,s,o,l)}set(t,e,n,i,r,a,s,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=s,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=a,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,a=n[0],s=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],f=i[0],m=i[3],g=i[6],_=i[1],v=i[4],x=i[7],M=i[2],S=i[5],E=i[8];return r[0]=a*f+s*_+o*M,r[3]=a*m+s*v+o*S,r[6]=a*g+s*x+o*E,r[1]=l*f+c*_+h*M,r[4]=l*m+c*v+h*S,r[7]=l*g+c*x+h*E,r[2]=u*f+d*_+p*M,r[5]=u*m+d*v+p*S,r[8]=u*g+d*x+p*E,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],a=t[4],s=t[5],o=t[6],l=t[7],c=t[8];return e*a*c-e*s*l-n*r*c+n*s*o+i*r*l-i*a*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],a=t[4],s=t[5],o=t[6],l=t[7],c=t[8],h=c*a-s*l,u=s*o-c*r,d=l*r-a*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;return t[0]=h*f,t[1]=(i*l-c*n)*f,t[2]=(s*n-i*a)*f,t[3]=u*f,t[4]=(c*e-i*o)*f,t[5]=(i*r-s*e)*f,t[6]=d*f,t[7]=(n*o-l*e)*f,t[8]=(a*e-n*r)*f,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,a,s){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*a+l*s)+a+t,-i*l,i*o,-i*(-l*a+o*s)+s+e,0,0,1),this}scale(t,e){return this.premultiply(ue.makeScale(t,e)),this}rotate(t){return this.premultiply(ue.makeRotation(-t)),this}translate(t,e){return this.premultiply(ue.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}const ue=new he;function de(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}function pe(t){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",t)}function fe(){const t=pe(\"canvas\");return t.style.display=\"block\",t}const me={};function ge(t){t in me||(me[t]=!0)}const _e=(new he).set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),ve=(new he).set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function xe(){const t={enabled:!0,workingColorSpace:zt,spaces:{},convert:function(t,e,n){return!1!==this.enabled&&e!==n&&e&&n?(this.spaces[e].transfer===Vt&&(t.r=Se(t.r),t.g=Se(t.g),t.b=Se(t.b)),this.spaces[e].primaries!==this.spaces[n].primaries&&(t.applyMatrix3(this.spaces[e].toXYZ),t.applyMatrix3(this.spaces[n].fromXYZ)),this.spaces[n].transfer===Vt&&(t.r=Ee(t.r),t.g=Ee(t.g),t.b=Ee(t.b)),t):t},fromWorkingColorSpace:function(t,e){return this.convert(t,this.workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this.workingColorSpace)},getPrimaries:function(t){return this.spaces[t].primaries},getTransfer:function(t){return t===Ft?Ht:this.spaces[t].transfer},getLuminanceCoefficients:function(t,e=this.workingColorSpace){return t.fromArray(this.spaces[e].luminanceCoefficients)},define:function(t){Object.assign(this.spaces,t)},_getMatrix:function(t,e,n){return t.copy(this.spaces[e].toXYZ).multiply(this.spaces[n].fromXYZ)},_getDrawingBufferColorSpace:function(t){return this.spaces[t].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(t=this.workingColorSpace){return this.spaces[t].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],n=[.2126,.7152,.0722],i=[.3127,.329];return t.define({[zt]:{primaries:e,whitePoint:i,transfer:Ht,toXYZ:_e,fromXYZ:ve,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:Bt},outputColorSpaceConfig:{drawingBufferColorSpace:Bt}},[Bt]:{primaries:e,whitePoint:i,transfer:Vt,toXYZ:_e,fromXYZ:ve,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:Bt}}}),t}const Me=xe();function Se(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Ee(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}let ye;class Te{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if(\"undefined\"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===ye&&(ye=pe(\"canvas\")),ye.width=t.width,ye.height=t.height;const n=ye.getContext(\"2d\");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=ye}return e.toDataURL(\"image/png\")}static sRGBToLinear(t){if(\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=pe(\"canvas\");e.width=t.width,e.height=t.height;const n=e.getContext(\"2d\");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height),r=i.data;for(let t=0;t<r.length;t++)r[t]=255*Se(r[t]/255);return n.putImageData(i,0,0),e}if(t.data){const e=t.data.slice(0);for(let t=0;t<e.length;t++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[t]=Math.floor(255*Se(e[t]/255)):e[t]=Se(e[t]);return{data:e,width:t.width,height:t.height}}return t}}let be=0;class Ae{constructor(t=null){this.isSource=!0,Object.defineProperty(this,\"id\",{value:be++}),this.uuid=re(),this.data=t,this.dataReady=!0,this.version=0}set needsUpdate(t){!0===t&&this.version++}toJSON(t){const e=void 0===t||\"string\"==typeof t;if(!e&&void 0!==t.images[this.uuid])return t.images[this.uuid];const n={uuid:this.uuid,url:\"\"},i=this.data;if(null!==i){let t;if(Array.isArray(i)){t=[];for(let e=0,n=i.length;e<n;e++)i[e].isDataTexture?t.push(we(i[e].image)):t.push(we(i[e]))}else t=we(i);n.url=t}return e||(t.images[this.uuid]=n),n}}function we(t){return\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap?Te.getDataURL(t):t.data?{data:Array.from(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:{}}let Re=0;class Ce extends te{constructor(t=Ce.DEFAULT_IMAGE,e=Ce.DEFAULT_MAPPING,n=1001,i=1001,r=1006,a=1008,s=1023,o=1009,l=Ce.DEFAULT_ANISOTROPY,c=\"\"){super(),this.isTexture=!0,Object.defineProperty(this,\"id\",{value:Re++}),this.uuid=re(),this.name=\"\",this.source=new Ae(t),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=a,this.anisotropy=l,this.format=s,this.internalFormat=null,this.type=o,this.offset=new ce(0,0),this.repeat=new ce(1,1),this.center=new ce(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new he,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=c,this.userData={},this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.pmremVersion=0}get image(){return this.source.data}set image(t=null){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.channel=t.channel,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.colorSpace=t.colorSpace,this.renderTarget=t.renderTarget,this.isRenderTargetTexture=t.isRenderTargetTexture,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}toJSON(t){const e=void 0===t||\"string\"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.6,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,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&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(t){if(300!==this.mapping)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case D:t.x=t.x-Math.floor(t.x);break;case I:t.x=t.x<0?0:1;break;case N:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case D:t.y=t.y-Math.floor(t.y);break;case I:t.y=t.y<0?0:1;break;case N:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(t){!0===t&&this.pmremVersion++}}Ce.DEFAULT_IMAGE=null,Ce.DEFAULT_MAPPING=300,Ce.DEFAULT_ANISOTROPY=1;class Pe{constructor(t=0,e=0,n=0,i=1){Pe.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,a=t.elements;return this.x=a[0]*e+a[4]*n+a[8]*i+a[12]*r,this.y=a[1]*e+a[5]*n+a[9]*i+a[13]*r,this.z=a[2]*e+a[6]*n+a[10]*i+a[14]*r,this.w=a[3]*e+a[7]*n+a[11]*i+a[15]*r,this}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const a=.01,s=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(c-u)<a&&Math.abs(h-f)<a&&Math.abs(p-m)<a){if(Math.abs(c+u)<s&&Math.abs(h+f)<s&&Math.abs(p+m)<s&&Math.abs(l+d+g-3)<s)return this.set(1,0,0,0),this;e=Math.PI;const t=(l+1)/2,o=(d+1)/2,_=(g+1)/2,v=(c+u)/4,x=(h+f)/4,M=(p+m)/4;return t>o&&t>_?t<a?(n=0,i=.707106781,r=.707106781):(n=Math.sqrt(t),i=v/n,r=x/n):o>_?o<a?(n=.707106781,i=0,r=.707106781):(i=Math.sqrt(o),n=v/i,r=M/i):_<a?(n=.707106781,i=.707106781,r=0):(r=Math.sqrt(_),n=x/r,i=M/r),this.set(n,i,r,e),this}let _=Math.sqrt((m-p)*(m-p)+(h-f)*(h-f)+(u-c)*(u-c));return Math.abs(_)<.001&&(_=1),this.x=(m-p)/_,this.y=(h-f)/_,this.z=(u-c)/_,this.w=Math.acos((l+d+g-1)/2),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this.w=e[15],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=ae(this.x,t.x,e.x),this.y=ae(this.y,t.y,e.y),this.z=ae(this.z,t.z,e.z),this.w=ae(this.w,t.w,e.w),this}clampScalar(t,e){return this.x=ae(this.x,t,e),this.y=ae(this.y,t,e),this.z=ae(this.z,t,e),this.w=ae(this.w,t,e),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(ae(n,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this.w=t.w+(e.w-t.w)*n,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Ue extends te{constructor(t=1,e=1,n={}){super(),this.isRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new Pe(0,0,t,e),this.scissorTest=!1,this.viewport=new Pe(0,0,t,e);const i={width:t,height:e,depth:1};n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:z,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},n);const r=new Ce(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace);r.flipY=!1,r.generateMipmaps=n.generateMipmaps,r.internalFormat=n.internalFormat,this.textures=[];const a=n.count;for(let t=0;t<a;t++)this.textures[t]=r.clone(),this.textures[t].isRenderTargetTexture=!0,this.textures[t].renderTarget=this;this.depthBuffer=n.depthBuffer,this.stencilBuffer=n.stencilBuffer,this.resolveDepthBuffer=n.resolveDepthBuffer,this.resolveStencilBuffer=n.resolveStencilBuffer,this._depthTexture=null,this.depthTexture=n.depthTexture,this.samples=n.samples}get texture(){return this.textures[0]}set texture(t){this.textures[0]=t}set depthTexture(t){null!==this._depthTexture&&(this._depthTexture.renderTarget=null),null!==t&&(t.renderTarget=this),this._depthTexture=t}get depthTexture(){return this._depthTexture}setSize(t,e,n=1){if(this.width!==t||this.height!==e||this.depth!==n){this.width=t,this.height=e,this.depth=n;for(let i=0,r=this.textures.length;i<r;i++)this.textures[i].image.width=t,this.textures[i].image.height=e,this.textures[i].image.depth=n;this.dispose()}this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return(new this.constructor).copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.scissor.copy(t.scissor),this.scissorTest=t.scissorTest,this.viewport.copy(t.viewport),this.textures.length=0;for(let e=0,n=t.textures.length;e<n;e++){this.textures[e]=t.textures[e].clone(),this.textures[e].isRenderTargetTexture=!0,this.textures[e].renderTarget=this;const n=Object.assign({},t.textures[e].image);this.textures[e].source=new Ae(n)}return this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.resolveDepthBuffer=t.resolveDepthBuffer,this.resolveStencilBuffer=t.resolveStencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this}dispose(){this.dispatchEvent({type:\"dispose\"})}}class Le extends Ue{constructor(t=1,e=1,n={}){super(t,e,n),this.isWebGLRenderTarget=!0}}class De extends Ce{constructor(t=null,e=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=O,this.minFilter=O,this.wrapR=I,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(t){this.layerUpdates.add(t)}clearLayerUpdates(){this.layerUpdates.clear()}}class Ie extends Ce{constructor(t=null,e=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=O,this.minFilter=O,this.wrapR=I,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Ne{constructor(t=0,e=0,n=0,i=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=n,this._w=i}static slerpFlat(t,e,n,i,r,a,s){let o=n[i+0],l=n[i+1],c=n[i+2],h=n[i+3];const u=r[a+0],d=r[a+1],p=r[a+2],f=r[a+3];if(0===s)return t[e+0]=o,t[e+1]=l,t[e+2]=c,void(t[e+3]=h);if(1===s)return t[e+0]=u,t[e+1]=d,t[e+2]=p,void(t[e+3]=f);if(h!==f||o!==u||l!==d||c!==p){let t=1-s;const e=o*u+l*d+c*p+h*f,n=e>=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),a=Math.atan2(r,e*n);t=Math.sin(t*a)/r,s=Math.sin(s*a)/r}const r=s*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+f*r,t===1-s){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,a){const s=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[a],u=r[a+1],d=r[a+2],p=r[a+3];return t[e]=s*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-s*d,t[e+2]=l*p+c*d+s*u-o*h,t[e+3]=c*p-s*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const n=t._x,i=t._y,r=t._z,a=t._order,s=Math.cos,o=Math.sin,l=s(n/2),c=s(i/2),h=s(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(a){case\"XYZ\":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case\"YXZ\":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case\"ZXY\":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case\"ZYX\":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case\"YZX\":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case\"XZY\":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p}return!0===e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],a=e[1],s=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+s+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(a-i)*t}else if(n>s&&n>h){const t=2*Math.sqrt(1+n-s-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+a)/t,this._z=(r+l)/t}else if(s>h){const t=2*Math.sqrt(1+s-n-h);this._w=(r-l)/t,this._x=(i+a)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-s);this._w=(a-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return n<Number.EPSILON?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(ae(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,a=t._w,s=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+a*s+i*l-r*o,this._y=i*c+a*o+r*s-n*l,this._z=r*c+a*l+n*o-i*s,this._w=a*c-n*s-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,a=this._w;let s=a*t._w+n*t._x+i*t._y+r*t._z;if(s<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,s=-s):this.copy(t),s>=1)return this._w=a,this._x=n,this._y=i,this._z=r,this;const o=1-s*s;if(o<=Number.EPSILON){const t=1-e;return this._w=t*a+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this}const l=Math.sqrt(o),c=Math.atan2(l,s),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=a*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=2*Math.PI*Math.random(),e=2*Math.PI*Math.random(),n=Math.random(),i=Math.sqrt(1-n),r=Math.sqrt(n);return this.set(i*Math.sin(t),i*Math.cos(t),r*Math.sin(e),r*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Oe{constructor(t=0,e=0,n=0){Oe.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(Be.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(Be.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,a=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*a,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*a,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*a,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,a=t.y,s=t.z,o=t.w,l=2*(a*i-s*n),c=2*(s*e-r*i),h=2*(r*n-a*e);return this.x=e+o*l+a*h-s*c,this.y=n+o*c+s*l-r*h,this.z=i+o*h+r*c-a*l,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=ae(this.x,t.x,e.x),this.y=ae(this.y,t.y,e.y),this.z=ae(this.z,t.z,e.z),this}clampScalar(t,e){return this.x=ae(this.x,t,e),this.y=ae(this.y,t,e),this.z=ae(this.z,t,e),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(ae(n,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,a=e.x,s=e.y,o=e.z;return this.x=i*o-r*s,this.y=r*a-n*o,this.z=n*s-i*a,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return Fe.copy(this).projectOnVector(t),this.sub(Fe)}reflect(t){return this.sub(Fe.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(ae(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=Math.random()*Math.PI*2,e=2*Math.random()-1,n=Math.sqrt(1-e*e);return this.x=n*Math.cos(t),this.y=e,this.z=n*Math.sin(t),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Fe=new Oe,Be=new Ne;class ze{constructor(t=new Oe(1/0,1/0,1/0),e=new Oe(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e+=3)this.expandByPoint(Ve.fromArray(t,e));return this}setFromBufferAttribute(t){this.makeEmpty();for(let e=0,n=t.count;e<n;e++)this.expandByPoint(Ve.fromBufferAttribute(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Ve.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}setFromObject(t,e=!1){return this.makeEmpty(),this.expandByObject(t,e)}clone(){return(new this.constructor).copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t,e=!1){t.updateWorldMatrix(!1,!1);const n=t.geometry;if(void 0!==n){const i=n.getAttribute(\"position\");if(!0===e&&void 0!==i&&!0!==t.isInstancedMesh)for(let e=0,n=i.count;e<n;e++)!0===t.isMesh?t.getVertexPosition(e,Ve):Ve.fromBufferAttribute(i,e),Ve.applyMatrix4(t.matrixWorld),this.expandByPoint(Ve);else void 0!==t.boundingBox?(null===t.boundingBox&&t.computeBoundingBox(),Ge.copy(t.boundingBox)):(null===n.boundingBox&&n.computeBoundingBox(),Ge.copy(n.boundingBox)),Ge.applyMatrix4(t.matrixWorld),this.union(Ge)}const i=t.children;for(let t=0,n=i.length;t<n;t++)this.expandByObject(i[t],e);return this}containsPoint(t){return t.x>=this.min.x&&t.x<=this.max.x&&t.y>=this.min.y&&t.y<=this.max.y&&t.z>=this.min.z&&t.z<=this.max.z}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return t.max.x>=this.min.x&&t.min.x<=this.max.x&&t.max.y>=this.min.y&&t.min.y<=this.max.y&&t.max.z>=this.min.z&&t.min.z<=this.max.z}intersectsSphere(t){return this.clampPoint(t.center,Ve),Ve.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(Ke),Ze.subVectors(this.max,Ke),ke.subVectors(t.a,Ke),We.subVectors(t.b,Ke),Xe.subVectors(t.c,Ke),je.subVectors(We,ke),qe.subVectors(Xe,We),Ye.subVectors(ke,Xe);let e=[0,-je.z,je.y,0,-qe.z,qe.y,0,-Ye.z,Ye.y,je.z,0,-je.x,qe.z,0,-qe.x,Ye.z,0,-Ye.x,-je.y,je.x,0,-qe.y,qe.x,0,-Ye.y,Ye.x,0];return!!Qe(e,ke,We,Xe,Ze)&&(e=[1,0,0,0,1,0,0,0,1],!!Qe(e,ke,We,Xe,Ze)&&(Je.crossVectors(je,qe),e=[Je.x,Je.y,Je.z],Qe(e,ke,We,Xe,Ze)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Ve).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=.5*this.getSize(Ve).length()),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(He[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),He[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),He[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),He[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),He[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),He[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),He[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),He[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(He)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const He=[new Oe,new Oe,new Oe,new Oe,new Oe,new Oe,new Oe,new Oe],Ve=new Oe,Ge=new ze,ke=new Oe,We=new Oe,Xe=new Oe,je=new Oe,qe=new Oe,Ye=new Oe,Ke=new Oe,Ze=new Oe,Je=new Oe,$e=new Oe;function Qe(t,e,n,i,r){for(let a=0,s=t.length-3;a<=s;a+=3){$e.fromArray(t,a);const s=r.x*Math.abs($e.x)+r.y*Math.abs($e.y)+r.z*Math.abs($e.z),o=e.dot($e),l=n.dot($e),c=i.dot($e);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>s)return!1}return!0}const tn=new ze,en=new Oe,nn=new Oe;class rn{constructor(t=new Oe,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):tn.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;e<r;e++)i=Math.max(i,n.distanceToSquared(t[e]));return this.radius=Math.sqrt(i),this}copy(t){return this.center.copy(t.center),this.radius=t.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){const e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){const n=this.center.distanceToSquared(t);return e.copy(t),n>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;en.subVectors(t,this.center);const e=en.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.addScaledVector(en,n/t),this.radius+=n}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(!0===this.center.equals(t.center)?this.radius=Math.max(this.radius,t.radius):(nn.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(en.copy(t.center).add(nn)),this.expandByPoint(en.copy(t.center).sub(nn))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const an=new Oe,sn=new Oe,on=new Oe,ln=new Oe,cn=new Oe,hn=new Oe,un=new Oe;class dn{constructor(t=new Oe,e=new Oe(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,an)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=an.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(an.copy(this.origin).addScaledVector(this.direction,e),an.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){sn.copy(t).add(e).multiplyScalar(.5),on.copy(e).sub(t).normalize(),ln.copy(this.origin).sub(sn);const r=.5*t.distanceTo(e),a=-this.direction.dot(on),s=ln.dot(this.direction),o=-ln.dot(on),l=ln.lengthSq(),c=Math.abs(1-a*a);let h,u,d,p;if(c>0)if(h=a*o-s,u=a*s-o,p=r*c,h>=0)if(u>=-p)if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+a*u+2*s)+u*(a*h+u+2*o)+l}else u=r,h=Math.max(0,-(a*u+s)),d=-h*h+u*(u+2*o)+l;else u=-r,h=Math.max(0,-(a*u+s)),d=-h*h+u*(u+2*o)+l;else u<=-p?(h=Math.max(0,-(-a*r+s)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(a*r+s)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);else u=a>0?-r:r,h=Math.max(0,-(a*u+s)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.origin).addScaledVector(this.direction,h),i&&i.copy(sn).addScaledVector(on,u),d}intersectSphere(t,e){an.subVectors(t.center,this.origin);const n=an.dot(this.direction),i=an.dot(an)-n*n,r=t.radius*t.radius;if(i>r)return null;const a=Math.sqrt(r-i),s=n-a,o=n+a;return o<0?null:s<0?this.at(o,e):this.at(s,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,a,s,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,a=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,a=(t.min.y-u.y)*c),n>a||r>i?null:((r>n||isNaN(n))&&(n=r),(a<i||isNaN(i))&&(i=a),h>=0?(s=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(s=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||s>i?null:((s>n||n!=n)&&(n=s),(o<i||i!=i)&&(i=o),i<0?null:this.at(n>=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,an)}intersectTriangle(t,e,n,i,r){cn.subVectors(e,t),hn.subVectors(n,t),un.crossVectors(cn,hn);let a,s=this.direction.dot(un);if(s>0){if(i)return null;a=1}else{if(!(s<0))return null;a=-1,s=-s}ln.subVectors(this.origin,t);const o=a*this.direction.dot(hn.crossVectors(ln,hn));if(o<0)return null;const l=a*this.direction.dot(cn.cross(ln));if(l<0)return null;if(o+l>s)return null;const c=-a*ln.dot(un);return c<0?null:this.at(c/s,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class pn{constructor(t,e,n,i,r,a,s,o,l,c,h,u,d,p,f,m){pn.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==t&&this.set(t,e,n,i,r,a,s,o,l,c,h,u,d,p,f,m)}set(t,e,n,i,r,a,s,o,l,c,h,u,d,p,f,m){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=a,g[9]=s,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=f,g[15]=m,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 pn).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/fn.setFromMatrixColumn(t,0).length(),r=1/fn.setFromMatrixColumn(t,1).length(),a=1/fn.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*a,e[9]=n[9]*a,e[10]=n[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,i=t.y,r=t.z,a=Math.cos(n),s=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if(\"XYZ\"===t.order){const t=a*c,n=a*h,i=s*c,r=s*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-s*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=a*o}else if(\"YXZ\"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*s,e[4]=i*s-n,e[8]=a*l,e[1]=a*h,e[5]=a*c,e[9]=-s,e[2]=n*s-i,e[6]=r+t*s,e[10]=a*o}else if(\"ZXY\"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*s,e[4]=-a*h,e[8]=i+n*s,e[1]=n+i*s,e[5]=a*c,e[9]=r-t*s,e[2]=-a*l,e[6]=s,e[10]=a*o}else if(\"ZYX\"===t.order){const t=a*c,n=a*h,i=s*c,r=s*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=s*o,e[10]=a*o}else if(\"YZX\"===t.order){const t=a*o,n=a*l,i=s*o,r=s*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=a*c,e[9]=-s*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if(\"XZY\"===t.order){const t=a*o,n=a*l,i=s*o,r=s*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=a*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=s*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(gn,t,_n)}lookAt(t,e,n){const i=this.elements;return Mn.subVectors(t,e),0===Mn.lengthSq()&&(Mn.z=1),Mn.normalize(),vn.crossVectors(n,Mn),0===vn.lengthSq()&&(1===Math.abs(n.z)?Mn.x+=1e-4:Mn.z+=1e-4,Mn.normalize(),vn.crossVectors(n,Mn)),vn.normalize(),xn.crossVectors(Mn,vn),i[0]=vn.x,i[4]=xn.x,i[8]=Mn.x,i[1]=vn.y,i[5]=xn.y,i[9]=Mn.y,i[2]=vn.z,i[6]=xn.z,i[10]=Mn.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,a=n[0],s=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],f=n[6],m=n[10],g=n[14],_=n[3],v=n[7],x=n[11],M=n[15],S=i[0],E=i[4],y=i[8],T=i[12],b=i[1],A=i[5],w=i[9],R=i[13],C=i[2],P=i[6],U=i[10],L=i[14],D=i[3],I=i[7],N=i[11],O=i[15];return r[0]=a*S+s*b+o*C+l*D,r[4]=a*E+s*A+o*P+l*I,r[8]=a*y+s*w+o*U+l*N,r[12]=a*T+s*R+o*L+l*O,r[1]=c*S+h*b+u*C+d*D,r[5]=c*E+h*A+u*P+d*I,r[9]=c*y+h*w+u*U+d*N,r[13]=c*T+h*R+u*L+d*O,r[2]=p*S+f*b+m*C+g*D,r[6]=p*E+f*A+m*P+g*I,r[10]=p*y+f*w+m*U+g*N,r[14]=p*T+f*R+m*L+g*O,r[3]=_*S+v*b+x*C+M*D,r[7]=_*E+v*A+x*P+M*I,r[11]=_*y+v*w+x*U+M*N,r[15]=_*T+v*R+x*L+M*O,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],a=t[1],s=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*s*u+n*l*u+i*s*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*a*u-i*a*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*s*d-r*a*h+n*a*d+r*s*c-n*l*c)+t[15]*(-i*s*c-e*o*h+e*s*u+i*a*h-n*a*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],a=t[4],s=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],f=t[13],m=t[14],g=t[15],_=h*m*l-f*u*l+f*o*d-s*m*d-h*o*g+s*u*g,v=p*u*l-c*m*l-p*o*d+a*m*d+c*o*g-a*u*g,x=c*f*l-p*h*l+p*s*d-a*f*d-c*s*g+a*h*g,M=p*h*o-c*f*o-p*s*u+a*f*u+c*s*m-a*h*m,S=e*_+n*v+i*x+r*M;if(0===S)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const E=1/S;return t[0]=_*E,t[1]=(f*u*r-h*m*r-f*i*d+n*m*d+h*i*g-n*u*g)*E,t[2]=(s*m*r-f*o*r+f*i*l-n*m*l-s*i*g+n*o*g)*E,t[3]=(h*o*r-s*u*r-h*i*l+n*u*l+s*i*d-n*o*d)*E,t[4]=v*E,t[5]=(c*m*r-p*u*r+p*i*d-e*m*d-c*i*g+e*u*g)*E,t[6]=(p*o*r-a*m*r-p*i*l+e*m*l+a*i*g-e*o*g)*E,t[7]=(a*u*r-c*o*r+c*i*l-e*u*l-a*i*d+e*o*d)*E,t[8]=x*E,t[9]=(p*h*r-c*f*r-p*n*d+e*f*d+c*n*g-e*h*g)*E,t[10]=(a*f*r-p*s*r+p*n*l-e*f*l-a*n*g+e*s*g)*E,t[11]=(c*s*r-a*h*r-c*n*l+e*h*l+a*n*d-e*s*d)*E,t[12]=M*E,t[13]=(c*f*i-p*h*i+p*n*u-e*f*u-c*n*m+e*h*m)*E,t[14]=(p*s*i-a*f*i-p*n*o+e*f*o+a*n*m-e*s*m)*E,t[15]=(a*h*i-c*s*i+c*n*o-e*h*o-a*n*u+e*s*u)*E,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,a=t.x,s=t.y,o=t.z,l=r*a,c=r*s;return this.set(l*a+n,l*s-i*o,l*o+i*s,0,l*s+i*o,c*s+n,c*o-i*a,0,l*o-i*s,c*o+i*a,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,a){return this.set(1,n,r,0,t,1,a,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,a=e._y,s=e._z,o=e._w,l=r+r,c=a+a,h=s+s,u=r*l,d=r*c,p=r*h,f=a*c,m=a*h,g=s*h,_=o*l,v=o*c,x=o*h,M=n.x,S=n.y,E=n.z;return i[0]=(1-(f+g))*M,i[1]=(d+x)*M,i[2]=(p-v)*M,i[3]=0,i[4]=(d-x)*S,i[5]=(1-(u+g))*S,i[6]=(m+_)*S,i[7]=0,i[8]=(p+v)*E,i[9]=(m-_)*E,i[10]=(1-(u+f))*E,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=fn.set(i[0],i[1],i[2]).length();const a=fn.set(i[4],i[5],i[6]).length(),s=fn.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],mn.copy(this);const o=1/r,l=1/a,c=1/s;return mn.elements[0]*=o,mn.elements[1]*=o,mn.elements[2]*=o,mn.elements[4]*=l,mn.elements[5]*=l,mn.elements[6]*=l,mn.elements[8]*=c,mn.elements[9]*=c,mn.elements[10]*=c,e.setFromRotationMatrix(mn),n.x=r,n.y=a,n.z=s,this}makePerspective(t,e,n,i,r,a,s=2e3){const o=this.elements,l=2*r/(e-t),c=2*r/(n-i),h=(e+t)/(e-t),u=(n+i)/(n-i);let d,p;if(s===$t)d=-(a+r)/(a-r),p=-2*a*r/(a-r);else{if(s!==Qt)throw new Error(\"THREE.Matrix4.makePerspective(): Invalid coordinate system: \"+s);d=-a/(a-r),p=-a*r/(a-r)}return o[0]=l,o[4]=0,o[8]=h,o[12]=0,o[1]=0,o[5]=c,o[9]=u,o[13]=0,o[2]=0,o[6]=0,o[10]=d,o[14]=p,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(t,e,n,i,r,a,s=2e3){const o=this.elements,l=1/(e-t),c=1/(n-i),h=1/(a-r),u=(e+t)*l,d=(n+i)*c;let p,f;if(s===$t)p=(a+r)*h,f=-2*h;else{if(s!==Qt)throw new Error(\"THREE.Matrix4.makeOrthographic(): Invalid coordinate system: \"+s);p=r*h,f=-1*h}return o[0]=2*l,o[4]=0,o[8]=0,o[12]=-u,o[1]=0,o[5]=2*c,o[9]=0,o[13]=-d,o[2]=0,o[6]=0,o[10]=f,o[14]=-p,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const fn=new Oe,mn=new pn,gn=new Oe(0,0,0),_n=new Oe(1,1,1),vn=new Oe,xn=new Oe,Mn=new Oe,Sn=new pn,En=new Ne;class yn{constructor(t=0,e=0,n=0,i=yn.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],a=i[4],s=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case\"XYZ\":this._y=Math.asin(ae(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-a,r)):(this._x=Math.atan2(u,l),this._z=0);break;case\"YXZ\":this._x=Math.asin(-ae(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(s,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case\"ZXY\":this._x=Math.asin(ae(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-a,l)):(this._y=0,this._z=Math.atan2(o,r));break;case\"ZYX\":this._y=Math.asin(-ae(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-a,l));break;case\"YZX\":this._z=Math.asin(ae(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(s,d));break;case\"XZY\":this._z=Math.asin(-ae(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(s,r)):(this._x=Math.atan2(-c,d),this._y=0)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return Sn.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Sn,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return En.setFromEuler(this),this.setFromQuaternion(En,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}yn.DEFAULT_ORDER=\"XYZ\";class Tn{constructor(){this.mask=1}set(t){this.mask=1<<t>>>0}enable(t){this.mask|=1<<t}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t}disable(t){this.mask&=~(1<<t)}disableAll(){this.mask=0}test(t){return 0!==(this.mask&t.mask)}isEnabled(t){return!!(this.mask&1<<t)}}let bn=0;const An=new Oe,wn=new Ne,Rn=new pn,Cn=new Oe,Pn=new Oe,Un=new Oe,Ln=new Ne,Dn=new Oe(1,0,0),In=new Oe(0,1,0),Nn=new Oe(0,0,1),On={type:\"added\"},Fn={type:\"removed\"},Bn={type:\"childadded\",child:null},zn={type:\"childremoved\",child:null};class Hn extends te{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,\"id\",{value:bn++}),this.uuid=re(),this.name=\"\",this.type=\"Object3D\",this.parent=null,this.children=[],this.up=Hn.DEFAULT_UP.clone();const t=new Oe,e=new yn,n=new Ne,i=new Oe(1,1,1);e._onChange(function(){n.setFromEuler(e,!1)}),n._onChange(function(){e.setFromQuaternion(n,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new pn},normalMatrix:{value:new he}}),this.matrix=new pn,this.matrixWorld=new pn,this.matrixAutoUpdate=Hn.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=Hn.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new Tn,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return wn.setFromAxisAngle(t,e),this.quaternion.multiply(wn),this}rotateOnWorldAxis(t,e){return wn.setFromAxisAngle(t,e),this.quaternion.premultiply(wn),this}rotateX(t){return this.rotateOnAxis(Dn,t)}rotateY(t){return this.rotateOnAxis(In,t)}rotateZ(t){return this.rotateOnAxis(Nn,t)}translateOnAxis(t,e){return An.copy(t).applyQuaternion(this.quaternion),this.position.add(An.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(Dn,t)}translateY(t){return this.translateOnAxis(In,t)}translateZ(t){return this.translateOnAxis(Nn,t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(Rn.copy(this.matrixWorld).invert())}lookAt(t,e,n){t.isVector3?Cn.copy(t):Cn.set(t,e,n);const i=this.parent;this.updateWorldMatrix(!0,!1),Pn.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Rn.lookAt(Pn,Cn,this.up):Rn.lookAt(Cn,Pn,this.up),this.quaternion.setFromRotationMatrix(Rn),i&&(Rn.extractRotation(i.matrixWorld),wn.setFromRotationMatrix(Rn),this.quaternion.premultiply(wn.invert()))}add(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return t===this||t&&t.isObject3D&&(t.removeFromParent(),t.parent=this,this.children.push(t),t.dispatchEvent(On),Bn.child=t,this.dispatchEvent(Bn),Bn.child=null),this}remove(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}const e=this.children.indexOf(t);return-1!==e&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(Fn),zn.child=t,this.dispatchEvent(zn),zn.child=null),this}removeFromParent(){const t=this.parent;return null!==t&&t.remove(this),this}clear(){return this.remove(...this.children)}attach(t){return this.updateWorldMatrix(!0,!1),Rn.copy(this.matrixWorld).invert(),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),Rn.multiply(t.parent.matrixWorld)),t.applyMatrix4(Rn),t.removeFromParent(),t.parent=this,this.children.push(t),t.updateWorldMatrix(!1,!0),t.dispatchEvent(On),Bn.child=t,this.dispatchEvent(Bn),Bn.child=null,this}getObjectById(t){return this.getObjectByProperty(\"id\",t)}getObjectByName(t){return this.getObjectByProperty(\"name\",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let n=0,i=this.children.length;n<i;n++){const i=this.children[n].getObjectByProperty(t,e);if(void 0!==i)return i}}getObjectsByProperty(t,e,n=[]){this[t]===e&&n.push(this);const i=this.children;for(let r=0,a=i.length;r<a;r++)i[r].getObjectsByProperty(t,e,n);return n}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Pn,t,Un),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Pn,Ln,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverse(t)}traverseVisible(t){if(!1===this.visible)return;t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}traverseAncestors(t){const e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(!0===this.matrixWorldAutoUpdate&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,t=!0);const e=this.children;for(let n=0,i=e.length;n<i;n++){e[n].updateMatrixWorld(t)}}updateWorldMatrix(t,e){const n=this.parent;if(!0===t&&null!==n&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),!0===this.matrixWorldAutoUpdate&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),!0===e){const t=this.children;for(let e=0,n=t.length;e<n;e++){t[e].updateWorldMatrix(!1,!0)}}}toJSON(t){const e=void 0===t||\"string\"==typeof t,n={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.6,type:\"Object\",generator:\"Object3D.toJSON\"});const i={};function r(e,n){return void 0===e[n.uuid]&&(e[n.uuid]=n.toJSON(t)),n.uuid}if(i.uuid=this.uuid,i.type=this.type,\"\"!==this.name&&(i.name=this.name),!0===this.castShadow&&(i.castShadow=!0),!0===this.receiveShadow&&(i.receiveShadow=!0),!1===this.visible&&(i.visible=!1),!1===this.frustumCulled&&(i.frustumCulled=!1),0!==this.renderOrder&&(i.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type=\"InstancedMesh\",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type=\"BatchedMesh\",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(t=>({boxInitialized:t.boxInitialized,boxMin:t.box.min.toArray(),boxMax:t.box.max.toArray(),sphereInitialized:t.sphereInitialized,sphereRadius:t.sphere.radius,sphereCenter:t.sphere.center.toArray()})),i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(t),null!==this._colorsTexture&&(i.colorsTexture=this._colorsTexture.toJSON(t)),null!==this.boundingSphere&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),null!==this.boundingBox&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const n=e.shapes;if(Array.isArray(n))for(let e=0,i=n.length;e<i;e++){const i=n[e];r(t.shapes,i)}else r(t.shapes,n)}}if(this.isSkinnedMesh&&(i.bindMode=this.bindMode,i.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(r(t.skeletons,this.skeleton),i.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const e=[];for(let n=0,i=this.material.length;n<i;n++)e.push(r(t.materials,this.material[n]));i.material=e}else i.material=r(t.materials,this.material);if(this.children.length>0){i.children=[];for(let e=0;e<this.children.length;e++)i.children.push(this.children[e].toJSON(t).object)}if(this.animations.length>0){i.animations=[];for(let e=0;e<this.animations.length;e++){const n=this.animations[e];i.animations.push(r(t.animations,n))}}if(e){const e=a(t.geometries),i=a(t.materials),r=a(t.textures),s=a(t.images),o=a(t.shapes),l=a(t.skeletons),c=a(t.animations),h=a(t.nodes);e.length>0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),s.length>0&&(n.images=s),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c),h.length>0&&(n.nodes=h)}return n.object=i,n;function a(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e<t.children.length;e++){const n=t.children[e];this.add(n.clone())}return this}}Hn.DEFAULT_UP=new Oe(0,1,0),Hn.DEFAULT_MATRIX_AUTO_UPDATE=!0,Hn.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const Vn=new Oe,Gn=new Oe,kn=new Oe,Wn=new Oe,Xn=new Oe,jn=new Oe,qn=new Oe,Yn=new Oe,Kn=new Oe,Zn=new Oe,Jn=new Pe,$n=new Pe,Qn=new Pe;class ti{constructor(t=new Oe,e=new Oe,n=new Oe){this.a=t,this.b=e,this.c=n}static getNormal(t,e,n,i){i.subVectors(n,e),Vn.subVectors(t,e),i.cross(Vn);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){Vn.subVectors(i,e),Gn.subVectors(n,e),kn.subVectors(t,e);const a=Vn.dot(Vn),s=Vn.dot(Gn),o=Vn.dot(kn),l=Gn.dot(Gn),c=Gn.dot(kn),h=a*l-s*s;if(0===h)return r.set(0,0,0),null;const u=1/h,d=(l*o-s*c)*u,p=(a*c-s*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return null!==this.getBarycoord(t,e,n,i,Wn)&&(Wn.x>=0&&Wn.y>=0&&Wn.x+Wn.y<=1)}static getInterpolation(t,e,n,i,r,a,s,o){return null===this.getBarycoord(t,e,n,i,Wn)?(o.x=0,o.y=0,\"z\"in o&&(o.z=0),\"w\"in o&&(o.w=0),null):(o.setScalar(0),o.addScaledVector(r,Wn.x),o.addScaledVector(a,Wn.y),o.addScaledVector(s,Wn.z),o)}static getInterpolatedAttribute(t,e,n,i,r,a){return Jn.setScalar(0),$n.setScalar(0),Qn.setScalar(0),Jn.fromBufferAttribute(t,e),$n.fromBufferAttribute(t,n),Qn.fromBufferAttribute(t,i),a.setScalar(0),a.addScaledVector(Jn,r.x),a.addScaledVector($n,r.y),a.addScaledVector(Qn,r.z),a}static isFrontFacing(t,e,n,i){return Vn.subVectors(n,e),Gn.subVectors(t,e),Vn.cross(Gn).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return Vn.subVectors(this.c,this.b),Gn.subVectors(this.a,this.b),.5*Vn.cross(Gn).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return ti.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return ti.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,n,i,r){return ti.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return ti.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return ti.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let a,s;Xn.subVectors(i,n),jn.subVectors(r,n),Yn.subVectors(t,n);const o=Xn.dot(Yn),l=jn.dot(Yn);if(o<=0&&l<=0)return e.copy(n);Kn.subVectors(t,i);const c=Xn.dot(Kn),h=jn.dot(Kn);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return a=o/(o-c),e.copy(n).addScaledVector(Xn,a);Zn.subVectors(t,r);const d=Xn.dot(Zn),p=jn.dot(Zn);if(p>=0&&d<=p)return e.copy(r);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0)return s=l/(l-p),e.copy(n).addScaledVector(jn,s);const m=c*p-d*h;if(m<=0&&h-c>=0&&d-p>=0)return qn.subVectors(r,i),s=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(qn,s);const g=1/(m+f+u);return a=f*g,s=u*g,e.copy(n).addScaledVector(Xn,a).addScaledVector(jn,s)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const ei={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},ni={h:0,s:0,l:0},ii={h:0,s:0,l:0};function ri(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}class ai{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,n)}set(t,e,n){if(void 0===e&&void 0===n){const e=t;e&&e.isColor?this.copy(e):\"number\"==typeof e?this.setHex(e):\"string\"==typeof e&&this.setStyle(e)}else this.setRGB(t,e,n);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=Bt){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,Me.toWorkingColorSpace(this,e),this}setRGB(t,e,n,i=Me.workingColorSpace){return this.r=t,this.g=e,this.b=n,Me.toWorkingColorSpace(this,i),this}setHSL(t,e,n,i=Me.workingColorSpace){var r;if(t=(t%(r=1)+r)%r,e=ae(e,0,1),n=ae(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=ri(r,i,t+1/3),this.g=ri(r,i,t),this.b=ri(r,i,t-1/3)}return Me.toWorkingColorSpace(this,i),this}setStyle(t,e=Bt){function n(t){void 0!==t&&parseFloat(t)}let i;if(i=/^(\\w+)\\(([^\\)]*)\\)/.exec(t)){let t;const r=i[1],a=i[2];switch(r){case\"rgb\":case\"rgba\":if(t=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(a))return n(t[4]),this.setRGB(Math.min(255,parseInt(t[1],10))/255,Math.min(255,parseInt(t[2],10))/255,Math.min(255,parseInt(t[3],10))/255,e);if(t=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(a))return n(t[4]),this.setRGB(Math.min(100,parseInt(t[1],10))/100,Math.min(100,parseInt(t[2],10))/100,Math.min(100,parseInt(t[3],10))/100,e);break;case\"hsl\":case\"hsla\":if(t=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(a))return n(t[4]),this.setHSL(parseFloat(t[1])/360,parseFloat(t[2])/100,parseFloat(t[3])/100,e)}}else if(i=/^\\#([A-Fa-f\\d]+)$/.exec(t)){const t=i[1],n=t.length;if(3===n)return this.setRGB(parseInt(t.charAt(0),16)/15,parseInt(t.charAt(1),16)/15,parseInt(t.charAt(2),16)/15,e);if(6===n)return this.setHex(parseInt(t,16),e)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Bt){const n=ei[t.toLowerCase()];return void 0!==n&&this.setHex(n,e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Se(t.r),this.g=Se(t.g),this.b=Se(t.b),this}copyLinearToSRGB(t){return this.r=Ee(t.r),this.g=Ee(t.g),this.b=Ee(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=Bt){return Me.fromWorkingColorSpace(si.copy(this),t),65536*Math.round(ae(255*si.r,0,255))+256*Math.round(ae(255*si.g,0,255))+Math.round(ae(255*si.b,0,255))}getHexString(t=Bt){return(\"000000\"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=Me.workingColorSpace){Me.fromWorkingColorSpace(si.copy(this),e);const n=si.r,i=si.g,r=si.b,a=Math.max(n,i,r),s=Math.min(n,i,r);let o,l;const c=(s+a)/2;if(s===a)o=0,l=0;else{const t=a-s;switch(l=c<=.5?t/(a+s):t/(2-a-s),a){case n:o=(i-r)/t+(i<r?6:0);break;case i:o=(r-n)/t+2;break;case r:o=(n-i)/t+4}o/=6}return t.h=o,t.s=l,t.l=c,t}getRGB(t,e=Me.workingColorSpace){return Me.fromWorkingColorSpace(si.copy(this),e),t.r=si.r,t.g=si.g,t.b=si.b,t}getStyle(t=Bt){Me.fromWorkingColorSpace(si.copy(this),t);const e=si.r,n=si.g,i=si.b;return t!==Bt?`color(${t} ${e.toFixed(3)} ${n.toFixed(3)} ${i.toFixed(3)})`:`rgb(${Math.round(255*e)},${Math.round(255*n)},${Math.round(255*i)})`}offsetHSL(t,e,n){return this.getHSL(ni),this.setHSL(ni.h+t,ni.s+e,ni.l+n)}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,n){return this.r=t.r+(e.r-t.r)*n,this.g=t.g+(e.g-t.g)*n,this.b=t.b+(e.b-t.b)*n,this}lerpHSL(t,e){this.getHSL(ni),t.getHSL(ii);const n=se(ni.h,ii.h,e),i=se(ni.s,ii.s,e),r=se(ni.l,ii.l,e);return this.setHSL(n,i,r),this}setFromVector3(t){return this.r=t.x,this.g=t.y,this.b=t.z,this}applyMatrix3(t){const e=this.r,n=this.g,i=this.b,r=t.elements;return this.r=r[0]*e+r[3]*n+r[6]*i,this.g=r[1]*e+r[4]*n+r[7]*i,this.b=r[2]*e+r[5]*n+r[8]*i,this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const si=new ai;ai.NAMES=ei;let oi=0;class li extends te{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,\"id\",{value:oi++}),this.uuid=re(),this.name=\"\",this.type=\"Material\",this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=r,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new ai(0,0,0),this.blendAlpha=0,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Gt,this.stencilZFail=Gt,this.stencilZPass=Gt,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.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n)continue;const i=this[e];void 0!==i&&(i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n)}}toJSON(t){const e=void 0===t||\"string\"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.6,type:\"Material\",generator:\"Material.toJSON\"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,\"\"!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),void 0!==this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.dispersion&&(n.dispersion=this.dispersion),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),void 0!==this.anisotropy&&(n.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapRotation&&(n.envMapRotation=this.envMapRotation.toArray()),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),0!==this.side&&(n.side=this.side),!0===this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=!0),204!==this.blendSrc&&(n.blendSrc=this.blendSrc),205!==this.blendDst&&(n.blendDst=this.blendDst),this.blendEquation!==r&&(n.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(n.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(n.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(n.blendAlpha=this.blendAlpha),3!==this.depthFunc&&(n.depthFunc=this.depthFunc),!1===this.depthTest&&(n.depthTest=this.depthTest),!1===this.depthWrite&&(n.depthWrite=this.depthWrite),!1===this.colorWrite&&(n.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(n.stencilWriteMask=this.stencilWriteMask),519!==this.stencilFunc&&(n.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(n.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Gt&&(n.stencilFail=this.stencilFail),this.stencilZFail!==Gt&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==Gt&&(n.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(n.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaHash&&(n.alphaHash=!0),!0===this.alphaToCoverage&&(n.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=!0),!0===this.forceSinglePass&&(n.forceSinglePass=!0),!0===this.wireframe&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=!0),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(t){!0===t&&this.version++}onBuild(){}}class ci extends li{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type=\"MeshBasicMaterial\",this.color=new ai(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 yn,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const hi=new Oe,ui=new ce;let di=0;class pi{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.isBufferAttribute=!0,Object.defineProperty(this,\"id\",{value:di++}),this.name=\"\",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=n,this.usage=35044,this.updateRanges=[],this.gpuType=Y,this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this}copyArray(t){return this.array.set(t),this}applyMatrix3(t){if(2===this.itemSize)for(let e=0,n=this.count;e<n;e++)ui.fromBufferAttribute(this,e),ui.applyMatrix3(t),this.setXY(e,ui.x,ui.y);else if(3===this.itemSize)for(let e=0,n=this.count;e<n;e++)hi.fromBufferAttribute(this,e),hi.applyMatrix3(t),this.setXYZ(e,hi.x,hi.y,hi.z);return this}applyMatrix4(t){for(let e=0,n=this.count;e<n;e++)hi.fromBufferAttribute(this,e),hi.applyMatrix4(t),this.setXYZ(e,hi.x,hi.y,hi.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)hi.fromBufferAttribute(this,e),hi.applyNormalMatrix(t),this.setXYZ(e,hi.x,hi.y,hi.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)hi.fromBufferAttribute(this,e),hi.transformDirection(t),this.setXYZ(e,hi.x,hi.y,hi.z);return this}set(t,e=0){return this.array.set(t,e),this}getComponent(t,e){let n=this.array[t*this.itemSize+e];return this.normalized&&(n=oe(n,this.array)),n}setComponent(t,e,n){return this.normalized&&(n=le(n,this.array)),this.array[t*this.itemSize+e]=n,this}getX(t){let e=this.array[t*this.itemSize];return this.normalized&&(e=oe(e,this.array)),e}setX(t,e){return this.normalized&&(e=le(e,this.array)),this.array[t*this.itemSize]=e,this}getY(t){let e=this.array[t*this.itemSize+1];return this.normalized&&(e=oe(e,this.array)),e}setY(t,e){return this.normalized&&(e=le(e,this.array)),this.array[t*this.itemSize+1]=e,this}getZ(t){let e=this.array[t*this.itemSize+2];return this.normalized&&(e=oe(e,this.array)),e}setZ(t,e){return this.normalized&&(e=le(e,this.array)),this.array[t*this.itemSize+2]=e,this}getW(t){let e=this.array[t*this.itemSize+3];return this.normalized&&(e=oe(e,this.array)),e}setW(t,e){return this.normalized&&(e=le(e,this.array)),this.array[t*this.itemSize+3]=e,this}setXY(t,e,n){return t*=this.itemSize,this.normalized&&(e=le(e,this.array),n=le(n,this.array)),this.array[t+0]=e,this.array[t+1]=n,this}setXYZ(t,e,n,i){return t*=this.itemSize,this.normalized&&(e=le(e,this.array),n=le(n,this.array),i=le(i,this.array)),this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t*=this.itemSize,this.normalized&&(e=le(e,this.array),n=le(n,this.array),i=le(i,this.array),r=le(r,this.array)),this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this.array[t+3]=r,this}onUpload(t){return this.onUploadCallback=t,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return\"\"!==this.name&&(t.name=this.name),35044!==this.usage&&(t.usage=this.usage),t}}class fi extends pi{constructor(t,e,n){super(new Uint16Array(t),e,n)}}class mi extends pi{constructor(t,e,n){super(new Uint32Array(t),e,n)}}class gi extends pi{constructor(t,e,n){super(new Float32Array(t),e,n)}}let _i=0;const vi=new pn,xi=new Hn,Mi=new Oe,Si=new ze,Ei=new ze,yi=new Oe;class Ti extends te{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,\"id\",{value:_i++}),this.uuid=re(),this.name=\"\",this.type=\"BufferGeometry\",this.index=null,this.indirect=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(de(t)?mi:fi)(t,1):this.index=t,this}setIndirect(t){return this.indirect=t,this}getIndirect(){return this.indirect}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new he).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return vi.makeRotationFromQuaternion(t),this.applyMatrix4(vi),this}rotateX(t){return vi.makeRotationX(t),this.applyMatrix4(vi),this}rotateY(t){return vi.makeRotationY(t),this.applyMatrix4(vi),this}rotateZ(t){return vi.makeRotationZ(t),this.applyMatrix4(vi),this}translate(t,e,n){return vi.makeTranslation(t,e,n),this.applyMatrix4(vi),this}scale(t,e,n){return vi.makeScale(t,e,n),this.applyMatrix4(vi),this}lookAt(t){return xi.lookAt(t),xi.updateMatrix(),this.applyMatrix4(xi.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Mi).negate(),this.translate(Mi.x,Mi.y,Mi.z),this}setFromPoints(t){const e=this.getAttribute(\"position\");if(void 0===e){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(i.x,i.y,i.z||0)}this.setAttribute(\"position\",new gi(e,3))}else{const n=Math.min(t.length,e.count);for(let i=0;i<n;i++){const n=t[i];e.setXYZ(i,n.x,n.y,n.z||0)}t.length,e.count,e.needsUpdate=!0}return this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new ze);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)this.boundingBox.set(new Oe(-1/0,-1/0,-1/0),new Oe(1/0,1/0,1/0));else{if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t<n;t++){const n=e[t];Si.setFromBufferAttribute(n),this.morphTargetsRelative?(yi.addVectors(this.boundingBox.min,Si.min),this.boundingBox.expandByPoint(yi),yi.addVectors(this.boundingBox.max,Si.max),this.boundingBox.expandByPoint(yi)):(this.boundingBox.expandByPoint(Si.min),this.boundingBox.expandByPoint(Si.max))}}else this.boundingBox.makeEmpty();isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z)}}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new rn);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)this.boundingSphere.set(new Oe,1/0);else if(t){const n=this.boundingSphere.center;if(Si.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t<n;t++){const n=e[t];Ei.setFromBufferAttribute(n),this.morphTargetsRelative?(yi.addVectors(Si.min,Ei.min),Si.expandByPoint(yi),yi.addVectors(Si.max,Ei.max),Si.expandByPoint(yi)):(Si.expandByPoint(Ei.min),Si.expandByPoint(Ei.max))}Si.getCenter(n);let i=0;for(let e=0,r=t.count;e<r;e++)yi.fromBufferAttribute(t,e),i=Math.max(i,n.distanceToSquared(yi));if(e)for(let r=0,a=e.length;r<a;r++){const a=e[r],s=this.morphTargetsRelative;for(let e=0,r=a.count;e<r;e++)yi.fromBufferAttribute(a,e),s&&(Mi.fromBufferAttribute(t,e),yi.add(Mi)),i=Math.max(i,n.distanceToSquared(yi))}this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)}}computeTangents(){const t=this.index,e=this.attributes;if(null===t||void 0===e.position||void 0===e.normal||void 0===e.uv)return;const n=e.position,i=e.normal,r=e.uv;!1===this.hasAttribute(\"tangent\")&&this.setAttribute(\"tangent\",new pi(new Float32Array(4*n.count),4));const a=this.getAttribute(\"tangent\"),s=[],o=[];for(let t=0;t<n.count;t++)s[t]=new Oe,o[t]=new Oe;const l=new Oe,c=new Oe,h=new Oe,u=new ce,d=new ce,p=new ce,f=new Oe,m=new Oe;function g(t,e,i){l.fromBufferAttribute(n,t),c.fromBufferAttribute(n,e),h.fromBufferAttribute(n,i),u.fromBufferAttribute(r,t),d.fromBufferAttribute(r,e),p.fromBufferAttribute(r,i),c.sub(l),h.sub(l),d.sub(u),p.sub(u);const a=1/(d.x*p.y-p.x*d.y);isFinite(a)&&(f.copy(c).multiplyScalar(p.y).addScaledVector(h,-d.y).multiplyScalar(a),m.copy(h).multiplyScalar(d.x).addScaledVector(c,-p.x).multiplyScalar(a),s[t].add(f),s[e].add(f),s[i].add(f),o[t].add(m),o[e].add(m),o[i].add(m))}let _=this.groups;0===_.length&&(_=[{start:0,count:t.count}]);for(let e=0,n=_.length;e<n;++e){const n=_[e],i=n.start;for(let e=i,r=i+n.count;e<r;e+=3)g(t.getX(e+0),t.getX(e+1),t.getX(e+2))}const v=new Oe,x=new Oe,M=new Oe,S=new Oe;function E(t){M.fromBufferAttribute(i,t),S.copy(M);const e=s[t];v.copy(e),v.sub(M.multiplyScalar(M.dot(e))).normalize(),x.crossVectors(S,e);const n=x.dot(o[t])<0?-1:1;a.setXYZW(t,v.x,v.y,v.z,n)}for(let e=0,n=_.length;e<n;++e){const n=_[e],i=n.start;for(let e=i,r=i+n.count;e<r;e+=3)E(t.getX(e+0)),E(t.getX(e+1)),E(t.getX(e+2))}}computeVertexNormals(){const t=this.index,e=this.getAttribute(\"position\");if(void 0!==e){let n=this.getAttribute(\"normal\");if(void 0===n)n=new pi(new Float32Array(3*e.count),3),this.setAttribute(\"normal\",n);else for(let t=0,e=n.count;t<e;t++)n.setXYZ(t,0,0,0);const i=new Oe,r=new Oe,a=new Oe,s=new Oe,o=new Oe,l=new Oe,c=new Oe,h=new Oe;if(t)for(let u=0,d=t.count;u<d;u+=3){const d=t.getX(u+0),p=t.getX(u+1),f=t.getX(u+2);i.fromBufferAttribute(e,d),r.fromBufferAttribute(e,p),a.fromBufferAttribute(e,f),c.subVectors(a,r),h.subVectors(i,r),c.cross(h),s.fromBufferAttribute(n,d),o.fromBufferAttribute(n,p),l.fromBufferAttribute(n,f),s.add(c),o.add(c),l.add(c),n.setXYZ(d,s.x,s.y,s.z),n.setXYZ(p,o.x,o.y,o.z),n.setXYZ(f,l.x,l.y,l.z)}else for(let t=0,s=e.count;t<s;t+=3)i.fromBufferAttribute(e,t+0),r.fromBufferAttribute(e,t+1),a.fromBufferAttribute(e,t+2),c.subVectors(a,r),h.subVectors(i,r),c.cross(h),n.setXYZ(t+0,c.x,c.y,c.z),n.setXYZ(t+1,c.x,c.y,c.z),n.setXYZ(t+2,c.x,c.y,c.z);this.normalizeNormals(),n.needsUpdate=!0}}normalizeNormals(){const t=this.attributes.normal;for(let e=0,n=t.count;e<n;e++)yi.fromBufferAttribute(t,e),yi.normalize(),t.setXYZ(e,yi.x,yi.y,yi.z)}toNonIndexed(){function t(t,e){const n=t.array,i=t.itemSize,r=t.normalized,a=new n.constructor(e.length*i);let s=0,o=0;for(let r=0,l=e.length;r<l;r++){s=t.isInterleavedBufferAttribute?e[r]*t.data.stride+t.offset:e[r]*i;for(let t=0;t<i;t++)a[o++]=n[s++]}return new pi(a,i,r)}if(null===this.index)return this;const e=new Ti,n=this.index.array,i=this.attributes;for(const r in i){const a=t(i[r],n);e.setAttribute(r,a)}const r=this.morphAttributes;for(const i in r){const a=[],s=r[i];for(let e=0,i=s.length;e<i;e++){const i=t(s[e],n);a.push(i)}e.morphAttributes[i]=a}e.morphTargetsRelative=this.morphTargetsRelative;const a=this.groups;for(let t=0,n=a.length;t<n;t++){const n=a[t];e.addGroup(n.start,n.count,n.materialIndex)}return e}toJSON(){const t={metadata:{version:4.6,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};if(t.uuid=this.uuid,t.type=this.type,\"\"!==this.name&&(t.name=this.name),Object.keys(this.userData).length>0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],a=[];for(let e=0,i=n.length;e<i;e++){const i=n[e];a.push(i.toJSON(t.data))}a.length>0&&(i[e]=a,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(t.data.groups=JSON.parse(JSON.stringify(a)));const s=this.boundingSphere;return null!==s&&(t.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;t<r;t++)n.push(i[t].clone(e));this.morphAttributes[t]=n}this.morphTargetsRelative=t.morphTargetsRelative;const a=t.groups;for(let t=0,e=a.length;t<e;t++){const e=a[t];this.addGroup(e.start,e.count,e.materialIndex)}const s=t.boundingBox;null!==s&&(this.boundingBox=s.clone());const o=t.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this}dispose(){this.dispatchEvent({type:\"dispose\"})}}const bi=new pn,Ai=new dn,wi=new rn,Ri=new Oe,Ci=new Oe,Pi=new Oe,Ui=new Oe,Li=new Oe,Di=new Oe,Ii=new Oe,Ni=new Oe;class Oi extends Hn{constructor(t=new Ti,e=new ci){super(),this.isMesh=!0,this.type=\"Mesh\",this.geometry=t,this.material=e,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=Array.isArray(t.material)?t.material.slice():t.material,this.geometry=t.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}getVertexPosition(t,e){const n=this.geometry,i=n.attributes.position,r=n.morphAttributes.position,a=n.morphTargetsRelative;e.fromBufferAttribute(i,t);const s=this.morphTargetInfluences;if(r&&s){Di.set(0,0,0);for(let n=0,i=r.length;n<i;n++){const i=s[n],o=r[n];0!==i&&(Li.fromBufferAttribute(o,t),a?Di.addScaledVector(Li,i):Di.addScaledVector(Li.sub(e),i))}e.add(Di)}return e}raycast(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0!==i){if(null===n.boundingSphere&&n.computeBoundingSphere(),wi.copy(n.boundingSphere),wi.applyMatrix4(r),Ai.copy(t.ray).recast(t.near),!1===wi.containsPoint(Ai.origin)){if(null===Ai.intersectSphere(wi,Ri))return;if(Ai.origin.distanceToSquared(Ri)>(t.far-t.near)**2)return}bi.copy(r).invert(),Ai.copy(t.ray).applyMatrix4(bi),null!==n.boundingBox&&!1===Ai.intersectsBox(n.boundingBox)||this._computeIntersections(t,e,Ai)}}_computeIntersections(t,e,n){let i;const r=this.geometry,a=this.material,s=r.index,o=r.attributes.position,l=r.attributes.uv,c=r.attributes.uv1,h=r.attributes.normal,u=r.groups,d=r.drawRange;if(null!==s)if(Array.isArray(a))for(let r=0,o=u.length;r<o;r++){const o=u[r],p=a[o.materialIndex];for(let r=Math.max(o.start,d.start),a=Math.min(s.count,Math.min(o.start+o.count,d.start+d.count));r<a;r+=3){i=Fi(this,p,t,n,l,c,h,s.getX(r),s.getX(r+1),s.getX(r+2)),i&&(i.faceIndex=Math.floor(r/3),i.face.materialIndex=o.materialIndex,e.push(i))}}else{for(let r=Math.max(0,d.start),o=Math.min(s.count,d.start+d.count);r<o;r+=3){i=Fi(this,a,t,n,l,c,h,s.getX(r),s.getX(r+1),s.getX(r+2)),i&&(i.faceIndex=Math.floor(r/3),e.push(i))}}else if(void 0!==o)if(Array.isArray(a))for(let r=0,s=u.length;r<s;r++){const s=u[r],p=a[s.materialIndex];for(let r=Math.max(s.start,d.start),a=Math.min(o.count,Math.min(s.start+s.count,d.start+d.count));r<a;r+=3){i=Fi(this,p,t,n,l,c,h,r,r+1,r+2),i&&(i.faceIndex=Math.floor(r/3),i.face.materialIndex=s.materialIndex,e.push(i))}}else{for(let r=Math.max(0,d.start),s=Math.min(o.count,d.start+d.count);r<s;r+=3){i=Fi(this,a,t,n,l,c,h,r,r+1,r+2),i&&(i.faceIndex=Math.floor(r/3),e.push(i))}}}}function Fi(t,e,n,i,r,a,s,o,l,c){t.getVertexPosition(o,Ci),t.getVertexPosition(l,Pi),t.getVertexPosition(c,Ui);const h=function(t,e,n,i,r,a,s,o){let l;if(l=1===e.side?i.intersectTriangle(s,a,r,!0,o):i.intersectTriangle(r,a,s,0===e.side,o),null===l)return null;Ni.copy(o),Ni.applyMatrix4(t.matrixWorld);const c=n.ray.origin.distanceTo(Ni);return c<n.near||c>n.far?null:{distance:c,point:Ni.clone(),object:t}}(t,e,n,i,Ci,Pi,Ui,Ii);if(h){const t=new Oe;ti.getBarycoord(Ii,Ci,Pi,Ui,t),r&&(h.uv=ti.getInterpolatedAttribute(r,o,l,c,t,new ce)),a&&(h.uv1=ti.getInterpolatedAttribute(a,o,l,c,t,new ce)),s&&(h.normal=ti.getInterpolatedAttribute(s,o,l,c,t,new Oe),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const e={a:o,b:l,c:c,normal:new Oe,materialIndex:0};ti.getNormal(Ci,Pi,Ui,e.normal),h.face=e,h.barycoord=t}return h}class Bi extends Ti{constructor(t=1,e=1,n=1,i=1,r=1,a=1){super(),this.type=\"BoxGeometry\",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:a};const s=this;i=Math.floor(i),r=Math.floor(r),a=Math.floor(a);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,a,p,f,m,g,_){const v=a/m,x=p/g,M=a/2,S=p/2,E=f/2,y=m+1,T=g+1;let b=0,A=0;const w=new Oe;for(let a=0;a<T;a++){const s=a*x-S;for(let o=0;o<y;o++){const u=o*v-M;w[t]=u*i,w[e]=s*r,w[n]=E,l.push(w.x,w.y,w.z),w[t]=0,w[e]=0,w[n]=f>0?1:-1,c.push(w.x,w.y,w.z),h.push(o/m),h.push(1-a/g),b+=1}}for(let t=0;t<g;t++)for(let e=0;e<m;e++){const n=u+e+y*t,i=u+e+y*(t+1),r=u+(e+1)+y*(t+1),a=u+(e+1)+y*t;o.push(n,i,a),o.push(i,r,a),A+=6}s.addGroup(d,A,_),d+=A,u+=b}p(\"z\",\"y\",\"x\",-1,-1,n,e,t,a,r,0),p(\"z\",\"y\",\"x\",1,-1,n,e,-t,a,r,1),p(\"x\",\"z\",\"y\",1,1,t,n,e,i,a,2),p(\"x\",\"z\",\"y\",1,-1,t,n,-e,i,a,3),p(\"x\",\"y\",\"z\",1,-1,t,e,n,i,r,4),p(\"x\",\"y\",\"z\",-1,-1,t,e,-n,i,r,5),this.setIndex(o),this.setAttribute(\"position\",new gi(l,3)),this.setAttribute(\"normal\",new gi(c,3)),this.setAttribute(\"uv\",new gi(h,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Bi(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}}function zi(t){const e={};for(const n in t){e[n]={};for(const i in t[n]){const r=t[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?e[n][i]=null:e[n][i]=r.clone():Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}}return e}function Hi(t){const e={};for(let n=0;n<t.length;n++){const i=zi(t[n]);for(const t in i)e[t]=i[t]}return e}function Vi(t){const e=t.getRenderTarget();return null===e?t.outputColorSpace:!0===e.isXRRenderTarget?e.texture.colorSpace:Me.workingColorSpace}const Gi={clone:zi,merge:Hi};class ki extends li{constructor(t){super(),this.isShaderMaterial=!0,this.type=\"ShaderMaterial\",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\",this.fragmentShader=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\",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,void 0!==t&&this.setValues(t)}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=zi(t.uniforms),this.uniformsGroups=function(t){const e=[];for(let n=0;n<t.length;n++)e.push(t[n].clone());return e}(t.uniformsGroups),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.fog=t.fog,this.lights=t.lights,this.clipping=t.clipping,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(const n in this.uniforms){const i=this.uniforms[n].value;i&&i.isTexture?e.uniforms[n]={type:\"t\",value:i.toJSON(t).uuid}:i&&i.isColor?e.uniforms[n]={type:\"c\",value:i.getHex()}:i&&i.isVector2?e.uniforms[n]={type:\"v2\",value:i.toArray()}:i&&i.isVector3?e.uniforms[n]={type:\"v3\",value:i.toArray()}:i&&i.isVector4?e.uniforms[n]={type:\"v4\",value:i.toArray()}:i&&i.isMatrix3?e.uniforms[n]={type:\"m3\",value:i.toArray()}:i&&i.isMatrix4?e.uniforms[n]={type:\"m4\",value:i.toArray()}:e.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class Wi extends Hn{constructor(){super(),this.isCamera=!0,this.type=\"Camera\",this.matrixWorldInverse=new pn,this.projectionMatrix=new pn,this.projectionMatrixInverse=new pn,this.coordinateSystem=$t}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}const Xi=new Oe,ji=new ce,qi=new ce;class Yi extends Wi{constructor(t=50,e=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type=\"PerspectiveCamera\",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*ie*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*ne*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*ie*Math.atan(Math.tan(.5*ne*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,n){Xi.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(Xi.x,Xi.y).multiplyScalar(-t/Xi.z),Xi.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Xi.x,Xi.y).multiplyScalar(-t/Xi.z)}getViewSize(t,e){return this.getViewBounds(t,ji,qi),e.subVectors(qi,ji)}setViewOffset(t,e,n,i,r,a){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*ne*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const a=this.view;if(null!==this.view&&this.view.enabled){const t=a.fullWidth,s=a.fullHeight;r+=a.offsetX*i/t,e-=a.offsetY*n/s,i*=a.width/t,n*=a.height/s}const s=this.filmOffset;0!==s&&(r+=t*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const Ki=-90;class Zi extends Hn{constructor(t,e,n){super(),this.type=\"CubeCamera\",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Yi(Ki,1,t,e);i.layers=this.layers,this.add(i);const r=new Yi(Ki,1,t,e);r.layers=this.layers,this.add(r);const a=new Yi(Ki,1,t,e);a.layers=this.layers,this.add(a);const s=new Yi(Ki,1,t,e);s.layers=this.layers,this.add(s);const o=new Yi(Ki,1,t,e);o.layers=this.layers,this.add(o);const l=new Yi(Ki,1,t,e);l.layers=this.layers,this.add(l)}updateCoordinateSystem(){const t=this.coordinateSystem,e=this.children.concat(),[n,i,r,a,s,o]=e;for(const t of e)this.remove(t);if(t===$t)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),s.up.set(0,1,0),s.lookAt(0,0,1),o.up.set(0,1,0),o.lookAt(0,0,-1);else{if(t!==Qt)throw new Error(\"THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: \"+t);n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),s.up.set(0,-1,0),s.lookAt(0,0,1),o.up.set(0,-1,0),o.lookAt(0,0,-1)}for(const t of e)this.add(t),t.updateMatrixWorld()}update(t,e){null===this.parent&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());const[r,a,s,o,l,c]=this.children,h=t.getRenderTarget(),u=t.getActiveCubeFace(),d=t.getActiveMipmapLevel(),p=t.xr.enabled;t.xr.enabled=!1;const f=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0,i),t.render(e,r),t.setRenderTarget(n,1,i),t.render(e,a),t.setRenderTarget(n,2,i),t.render(e,s),t.setRenderTarget(n,3,i),t.render(e,o),t.setRenderTarget(n,4,i),t.render(e,l),n.texture.generateMipmaps=f,t.setRenderTarget(n,5,i),t.render(e,c),t.setRenderTarget(h,u,d),t.xr.enabled=p,n.texture.needsPMREMUpdate=!0}}class Ji extends Ce{constructor(t,e,n,i,r,a,s,o,l,c){super(t=void 0!==t?t:[],e=void 0!==e?e:P,n,i,r,a,s,o,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class $i extends Le{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},i=[n,n,n,n,n,n];this.texture=new Ji(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:z}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include <begin_vertex>\\n\\t\\t\\t\\t\\t#include <project_vertex>\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",fragmentShader:\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include <common>\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\"},i=new Bi(5,5,5),r=new ki({name:\"CubemapFromEquirect\",uniforms:zi(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=e;const a=new Oi(i,r),s=e.minFilter;e.minFilter===V&&(e.minFilter=z);return new Zi(1,10,this).update(t,a),e.minFilter=s,a.geometry.dispose(),a.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)}}class Qi extends Hn{constructor(){super(),this.isGroup=!0,this.type=\"Group\"}}const tr={type:\"move\"};class er{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new Qi,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new Qi,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Oe,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Oe),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new Qi,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Oe,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Oe),this._grip}dispatchEvent(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this}connect(t){if(t&&t.hand){const e=this._hand;if(e)for(const n of t.hand.values())this._getHandJoint(e,n)}return this.dispatchEvent({type:\"connected\",data:t}),this}disconnect(t){return this.dispatchEvent({type:\"disconnected\",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(t,e,n){let i=null,r=null,a=null;const s=this._targetRay,o=this._grip,l=this._hand;if(t&&\"visible-blurred\"!==e.session.visibilityState){if(l&&t.hand){a=!0;for(const i of t.hand.values()){const t=e.getJointPose(i,n),r=this._getHandJoint(l,i);null!==t&&(r.matrix.fromArray(t.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.matrixWorldNeedsUpdate=!0,r.jointRadius=t.radius),r.visible=null!==t}const i=l.joints[\"index-finger-tip\"],r=l.joints[\"thumb-tip\"],s=i.position.distanceTo(r.position),o=.02,c=.005;l.inputState.pinching&&s>o+c?(l.inputState.pinching=!1,this.dispatchEvent({type:\"pinchend\",handedness:t.handedness,target:this})):!l.inputState.pinching&&s<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:\"pinchstart\",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));null!==s&&(i=e.getPose(t.targetRaySpace,n),null===i&&null!==r&&(i=r),null!==i&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,i.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(i.linearVelocity)):s.hasLinearVelocity=!1,i.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(i.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(tr)))}return null!==s&&(s.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==a),this}_getHandJoint(t,e){if(void 0===t.joints[e.jointName]){const n=new Qi;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}class nr extends Hn{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 yn,this.environmentIntensity=1,this.environmentRotation=new yn,this.overrideMaterial=null,\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,this.backgroundRotation.copy(t.backgroundRotation),this.environmentIntensity=t.environmentIntensity,this.environmentRotation.copy(t.environmentRotation),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(e.object.backgroundIntensity=this.backgroundIntensity),e.object.backgroundRotation=this.backgroundRotation.toArray(),1!==this.environmentIntensity&&(e.object.environmentIntensity=this.environmentIntensity),e.object.environmentRotation=this.environmentRotation.toArray(),e}}const ir=new Oe,rr=new Oe,ar=new he;class sr{constructor(t=new Oe(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=ir.subVectors(n,e).cross(rr.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(ir),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(t.start).addScaledVector(n,r)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||ar.getNormalMatrix(t),i=this.coplanarPoint(ir).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const or=new rn,lr=new Oe;class cr{constructor(t=new sr,e=new sr,n=new sr,i=new sr,r=new sr,a=new sr){this.planes=[t,e,n,i,r,a]}set(t,e,n,i,r,a){const s=this.planes;return s[0].copy(t),s[1].copy(e),s[2].copy(n),s[3].copy(i),s[4].copy(r),s[5].copy(a),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t,e=2e3){const n=this.planes,i=t.elements,r=i[0],a=i[1],s=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],d=i[8],p=i[9],f=i[10],m=i[11],g=i[12],_=i[13],v=i[14],x=i[15];if(n[0].setComponents(o-r,u-l,m-d,x-g).normalize(),n[1].setComponents(o+r,u+l,m+d,x+g).normalize(),n[2].setComponents(o+a,u+c,m+p,x+_).normalize(),n[3].setComponents(o-a,u-c,m-p,x-_).normalize(),n[4].setComponents(o-s,u-h,m-f,x-v).normalize(),e===$t)n[5].setComponents(o+s,u+h,m+f,x+v).normalize();else{if(e!==Qt)throw new Error(\"THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: \"+e);n[5].setComponents(s,h,f,v).normalize()}return this}intersectsObject(t){if(void 0!==t.boundingSphere)null===t.boundingSphere&&t.computeBoundingSphere(),or.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),or.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(or)}intersectsSprite(t){return or.center.set(0,0,0),or.radius=.7071067811865476,or.applyMatrix4(t.matrixWorld),this.intersectsSphere(or)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)<i)return!1}return!0}intersectsBox(t){const e=this.planes;for(let n=0;n<6;n++){const i=e[n];if(lr.x=i.normal.x>0?t.max.x:t.min.x,lr.y=i.normal.y>0?t.max.y:t.min.y,lr.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(lr)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}class hr extends Ce{constructor(t,e,n,i,r,a,s,o,l,c=1026){if(c!==et&&c!==nt)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===et&&(n=q),void 0===n&&c===nt&&(n=$),super(null,i,r,a,s,o,c,n,l),this.isDepthTexture=!0,this.image={width:t,height:e},this.magFilter=void 0!==s?s:O,this.minFilter=void 0!==o?o:O,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(t){return super.copy(t),this.source=new Ae(Object.assign({},t.image)),this.compareFunction=t.compareFunction,this}toJSON(t){const e=super.toJSON(t);return null!==this.compareFunction&&(e.compareFunction=this.compareFunction),e}}class ur extends Ti{constructor(t=1,e=1,n=1,i=1){super(),this.type=\"PlaneGeometry\",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};const r=t/2,a=e/2,s=Math.floor(n),o=Math.floor(i),l=s+1,c=o+1,h=t/s,u=e/o,d=[],p=[],f=[],m=[];for(let t=0;t<c;t++){const e=t*u-a;for(let n=0;n<l;n++){const i=n*h-r;p.push(i,-e,0),f.push(0,0,1),m.push(n/s),m.push(1-t/o)}}for(let t=0;t<o;t++)for(let e=0;e<s;e++){const n=e+l*t,i=e+l*(t+1),r=e+1+l*(t+1),a=e+1+l*t;d.push(n,i,a),d.push(i,r,a)}this.setIndex(d),this.setAttribute(\"position\",new gi(p,3)),this.setAttribute(\"normal\",new gi(f,3)),this.setAttribute(\"uv\",new gi(m,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new ur(t.width,t.height,t.widthSegments,t.heightSegments)}}class dr extends li{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type=\"MeshDepthMaterial\",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class pr extends li{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type=\"MeshDistanceMaterial\",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}const fr={enabled:!1,files:{},add:function(t,e){!1!==this.enabled&&(this.files[t]=e)},get:function(t){if(!1!==this.enabled)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};class mr{constructor(t,e,n){const i=this;let r,a=!1,s=0,o=0;const l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=n,this.itemStart=function(t){o++,!1===a&&void 0!==i.onStart&&i.onStart(t,s,o),a=!0},this.itemEnd=function(t){s++,void 0!==i.onProgress&&i.onProgress(t,s,o),s===o&&(a=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(t){void 0!==i.onError&&i.onError(t)},this.resolveURL=function(t){return r?r(t):t},this.setURLModifier=function(t){return r=t,this},this.addHandler=function(t,e){return l.push(t,e),this},this.removeHandler=function(t){const e=l.indexOf(t);return-1!==e&&l.splice(e,2),this},this.getHandler=function(t){for(let e=0,n=l.length;e<n;e+=2){const n=l[e],i=l[e+1];if(n.global&&(n.lastIndex=0),n.test(t))return i}return null}}}const gr=new mr;class _r{constructor(t){this.manager=void 0!==t?t:gr,this.crossOrigin=\"anonymous\",this.withCredentials=!1,this.path=\"\",this.resourcePath=\"\",this.requestHeader={}}load(){}loadAsync(t,e){const n=this;return new Promise(function(i,r){n.load(t,i,e,r)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}_r.DEFAULT_MATERIAL_NAME=\"__DEFAULT\";class vr extends _r{constructor(t){super(t)}load(t,e,n,i){void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,a=fr.get(t);if(void 0!==a)return r.manager.itemStart(t),setTimeout(function(){e&&e(a),r.manager.itemEnd(t)},0),a;const s=pe(\"img\");function o(){c(),fr.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){c(),i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}function c(){s.removeEventListener(\"load\",o,!1),s.removeEventListener(\"error\",l,!1)}return s.addEventListener(\"load\",o,!1),s.addEventListener(\"error\",l,!1),\"data:\"!==t.slice(0,5)&&void 0!==this.crossOrigin&&(s.crossOrigin=this.crossOrigin),r.manager.itemStart(t),s.src=t,s}}class xr extends _r{constructor(t){super(t)}load(t,e,n,i){const r=new Ce,a=new vr(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(t,function(t){r.image=t,r.needsUpdate=!0,void 0!==e&&e(r)},n,i),r}}class Mr extends Wi{constructor(t=-1,e=1,n=1,i=-1,r=.1,a=2e3){super(),this.isOrthographicCamera=!0,this.type=\"OrthographicCamera\",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=a,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,a=n+t,s=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,a=r+t*this.view.width,s-=e*this.view.offsetY,o=s-e*this.view.height}this.projectionMatrix.makeOrthographic(r,a,s,o,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}class Sr extends Yi{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t,this.index=0}}class Er{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=yr(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=yr();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function yr(){return performance.now()}function Tr(t,e,n,i){const r=function(t){switch(t){case G:case k:return{byteLength:1,components:1};case X:case W:case K:return{byteLength:2,components:1};case Z:case J:return{byteLength:2,components:4};case q:case j:case Y:return{byteLength:4,components:1};case Q:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${t}.`)}(i);switch(n){case 1021:case 1024:return t*e;case 1025:return t*e*2;case 1028:case it:return t*e/r.components*r.byteLength;case 1030:case rt:return t*e*2/r.components*r.byteLength;case 1022:return t*e*3/r.components*r.byteLength;case tt:case at:return t*e*4/r.components*r.byteLength;case st:case ot:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case lt:case ct:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case ut:case pt:return Math.max(t,16)*Math.max(e,8)/4;case ht:case dt:return Math.max(t,8)*Math.max(e,8)/2;case ft:case mt:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case gt:case _t:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case vt:return Math.floor((t+4)/5)*Math.floor((e+3)/4)*16;case xt:return Math.floor((t+4)/5)*Math.floor((e+4)/5)*16;case Mt:return Math.floor((t+5)/6)*Math.floor((e+4)/5)*16;case St:return Math.floor((t+5)/6)*Math.floor((e+5)/6)*16;case Et:return Math.floor((t+7)/8)*Math.floor((e+4)/5)*16;case yt:return Math.floor((t+7)/8)*Math.floor((e+5)/6)*16;case Tt:return Math.floor((t+7)/8)*Math.floor((e+7)/8)*16;case bt:return Math.floor((t+9)/10)*Math.floor((e+4)/5)*16;case At:return Math.floor((t+9)/10)*Math.floor((e+5)/6)*16;case wt:return Math.floor((t+9)/10)*Math.floor((e+7)/8)*16;case Rt:return Math.floor((t+9)/10)*Math.floor((e+9)/10)*16;case Ct:return Math.floor((t+11)/12)*Math.floor((e+9)/10)*16;case Pt:return Math.floor((t+11)/12)*Math.floor((e+11)/12)*16;case Ut:case Lt:case Dt:return Math.ceil(t/4)*Math.ceil(e/4)*16;case 36283:case It:return Math.ceil(t/4)*Math.ceil(e/4)*8;case Nt:case Ot:return Math.ceil(t/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${n} format.`)}function br(){let t=null,e=!1,n=null,i=null;function r(e,a){n(e,a),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Ar(t){const e=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),e.get(t)},remove:function(n){n.isInterleavedBufferAttribute&&(n=n.data);const i=e.get(n);i&&(t.deleteBuffer(i.buffer),e.delete(n))},update:function(n,i){if(n.isInterleavedBufferAttribute&&(n=n.data),n.isGLBufferAttribute){const t=e.get(n);return void((!t||t.version<n.version)&&e.set(n,{buffer:n.buffer,type:n.type,bytesPerElement:n.elementSize,version:n.version}))}const r=e.get(n);if(void 0===r)e.set(n,function(e,n){const i=e.array,r=e.usage,a=i.byteLength,s=t.createBuffer();let o;if(t.bindBuffer(n,s),t.bufferData(n,i,r),e.onUploadCallback(),i instanceof Float32Array)o=t.FLOAT;else if(i instanceof Uint16Array)o=e.isFloat16BufferAttribute?t.HALF_FLOAT:t.UNSIGNED_SHORT;else if(i instanceof Int16Array)o=t.SHORT;else if(i instanceof Uint32Array)o=t.UNSIGNED_INT;else if(i instanceof Int32Array)o=t.INT;else if(i instanceof Int8Array)o=t.BYTE;else if(i instanceof Uint8Array)o=t.UNSIGNED_BYTE;else{if(!(i instanceof Uint8ClampedArray))throw new Error(\"THREE.WebGLAttributes: Unsupported buffer data format: \"+i);o=t.UNSIGNED_BYTE}return{buffer:s,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:e.version,size:a}}(n,i));else if(r.version<n.version){if(r.size!==n.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.\");!function(e,n,i){const r=n.array,a=n.updateRanges;if(t.bindBuffer(i,e),0===a.length)t.bufferSubData(i,0,r);else{a.sort((t,e)=>t.start-e.start);let e=0;for(let t=1;t<a.length;t++){const n=a[e],i=a[t];i.start<=n.start+n.count+1?n.count=Math.max(n.count,i.start+i.count-n.start):(++e,a[e]=i)}a.length=e+1;for(let e=0,n=a.length;e<n;e++){const n=a[e];t.bufferSubData(i,n.start*r.BYTES_PER_ELEMENT,r,n.start,n.count)}n.clearUpdateRanges()}n.onUploadCallback()}(r.buffer,n,i),r.version=n.version}}}}\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:t}})),\"undefined\"!=typeof window&&(window.__THREE__||(window.__THREE__=t));const wr={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\\tvec3 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 ).rgb;\\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_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_pars_vertex:\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\\n#ifdef USE_BATCHING_COLOR\\n\\tvec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );\\n\\tvColor.xyz *= batchingColor.xyz;\\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}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\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\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\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 = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\",envmap_common_pars_fragment:\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\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\\t\\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_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 = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\tvec3 reflectVec = reflect( - viewDir, normal );\\n\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\\n\\t\\t\\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t\\tvec3 bentNormal = cross( bitangent, viewDir );\\n\\t\\t\\t\\tbentNormal = normalize( cross( bentNormal, bitangent ) );\\n\\t\\t\\t\\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\\n\\t\\t\\t\\treturn getIBLRadiance( viewDir, bentNormal, roughness );\\n\\t\\t\\t#else\\n\\t\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t#endif\\n#endif\",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 = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\",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 = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t}\\n\\treturn distanceFalloff;\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometryPosition;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometryPosition;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\",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 * ( 1.0 - 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 = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_DISPERSION\\n\\tmaterial.dispersion = dispersion;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tmaterial.iridescence = iridescence;\\n\\tmaterial.iridescenceIOR = iridescenceIOR;\\n\\t#ifdef USE_IRIDESCENCEMAP\\n\\t\\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\\t\\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\\n\\t#else\\n\\t\\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\\n\\t#endif\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 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:\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\tfloat dispersion;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tfloat iridescence;\\n\\t\\tfloat iridescenceIOR;\\n\\t\\tfloat iridescenceThickness;\\n\\t\\tvec3 iridescenceFresnel;\\n\\t\\tvec3 iridescenceF0;\\n\\t#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\\tfloat v = 0.5 / ( gv + gl );\\n\\t\\treturn saturate(v);\\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.specularColor;\\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 * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\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 a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\n#ifdef USE_IRIDESCENCE\\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#else\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#endif\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\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.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in 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\\t\\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\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\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in 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 );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\t#ifdef USE_IRIDESCENCE\\n\\t\\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\\n\\t#else\\n\\t\\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\t#endif\\n\\tvec3 totalScattering = singleScattering + multiScattering;\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\",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\\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\\n\\t\\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\\n\\t}\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometryPosition, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tvec4 spotColor;\\n\\tvec3 spotLightCoord;\\n\\tbool inSpotLightMap;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometryPosition, directLight );\\n\\t\\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\\n\\t\\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\\n\\t\\t#else\\n\\t\\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\\t\\t#endif\\n\\t\\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\\n\\t\\t\\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\\n\\t\\t\\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\\n\\t\\t\\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\\n\\t\\t\\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\\n\\t\\t#endif\\n\\t\\t#undef SPOT_LIGHT_MAP_INDEX\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#if defined( USE_LIGHT_PROBES )\\n\\t\\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#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( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometryNormal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\t#ifdef USE_ANISOTROPY\\n\\t\\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\\n\\t#else\\n\\t\\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\",lights_fragment_end:\"#if defined( RE_IndirectDiffuse )\\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\",logdepthbuf_fragment:\"#if defined( USE_LOGDEPTHBUF )\\n\\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#if defined( USE_LOGDEPTHBUF )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\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#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn[0] *= faceDirection;\\n\\t\\ttbn[1] *= faceDirection;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\t#ifdef USE_TANGENT\\n\\t\\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\\t#else\\n\\t\\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\\n\\t#endif\\n\\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\\t\\ttbn2[0] *= faceDirection;\\n\\t\\ttbn2[1] *= faceDirection;\\n\\t#endif\\n#endif\\nvec3 nonPerturbedNormal = normal;\",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\\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#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\\treturn depth * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * depth - far );\\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_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat 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\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\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 sampler2D pointShadowMap[ 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\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\\n\\t\\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn mix( 1.0, shadow, shadowIntensity );\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float 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\\t\\n\\t\\tfloat lightToPositionLength = length( lightToPosition );\\n\\t\\tif ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {\\n\\t\\t\\tfloat dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\t\\tdp += shadowBias;\\n\\t\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\t\\tshadow = (\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tshadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn mix( 1.0, shadow, shadowIntensity );\\n\\t}\\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_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_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\\n\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\tvec4 shadowWorldPosition;\\n#endif\\n#if defined( USE_SHADOWMAP )\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if NUM_SPOT_LIGHT_COORDS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition;\\n\\t\\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\t\\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\\n\\t\\t#endif\\n\\t\\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\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 = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmitted = getIBLVolumeRefraction(\\n\\t\\tn, v, material.roughness, material.diffuseColor, material.specularColor, 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\",background_vert:\"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}\",background_frag:\"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}\",backgroundCube_vert:\"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}\",backgroundCube_frag:\"#ifdef ENVMAP_TYPE_CUBE\\n\\tuniform samplerCube envMap;\\n#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\tuniform sampler2D envMap;\\n#endif\\nuniform float flipEnvMap;\\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 * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\\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}\",cube_vert:\"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}\",cube_frag:\"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}\",depth_vert:\"#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}\",depth_frag:\"#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\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#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}\",distanceRGBA_vert:\"#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}\",distanceRGBA_frag:\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <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 = packDepthToRGBA( dist );\\n}\",equirect_vert:\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n}\",equirect_frag:\"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}\",linedashed_vert:\"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}\",linedashed_frag:\"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}\",meshbasic_vert:\"#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}\",meshbasic_frag:\"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}\",meshlambert_vert:\"#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}\",meshlambert_frag:\"#define LAMBERT\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <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 <envmap_common_pars_fragment>\\n#include <envmap_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}\",meshmatcap_vert:\"#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}\",meshmatcap_frag:\"#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}\",meshnormal_vert:\"#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}\",meshnormal_frag:\"#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 <packing>\\n#include <uv_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\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( packNormalToRGB( normal ), diffuseColor.a );\\n\\t#ifdef OPAQUE\\n\\t\\tgl_FragColor.a = 1.0;\\n\\t#endif\\n}\",meshphong_vert:\"#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}\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <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 <envmap_common_pars_fragment>\\n#include <envmap_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}\",meshphysical_vert:\"#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}\",meshphysical_frag:\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define USE_SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef USE_SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULAR_COLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_DISPERSION\\n\\tuniform float dispersion;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\\tuniform float iridescence;\\n\\tuniform float iridescenceIOR;\\n\\tuniform float iridescenceThicknessMinimum;\\n\\tuniform float iridescenceThicknessMaximum;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEEN_COLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\\tuniform vec2 anisotropyVector;\\n\\t#ifdef USE_ANISOTROPYMAP\\n\\t\\tuniform sampler2D anisotropyMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <packing>\\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\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\\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}\",meshtoon_vert:\"#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}\",meshtoon_frag:\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <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}\",points_vert:\"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}\",points_frag:\"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}\",shadow_vert:\"#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}\",shadow_frag:\"uniform vec3 color;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <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}\",sprite_vert:\"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}\",sprite_frag:\"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}\"},Rr={common:{diffuse:{value:new ai(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new he},alphaMap:{value:null},alphaMapTransform:{value:new he},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new he}},envmap:{envMap:{value:null},envMapRotation:{value:new he},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new he}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new he}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new he},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new he},normalScale:{value:new ce(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new he},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new he}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new he}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new he}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ai(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new ai(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new he},alphaTest:{value:0},uvTransform:{value:new he}},sprite:{diffuse:{value:new ai(16777215)},opacity:{value:1},center:{value:new ce(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new he},alphaMap:{value:null},alphaMapTransform:{value:new he},alphaTest:{value:0}}},Cr={basic:{uniforms:Hi([Rr.common,Rr.specularmap,Rr.envmap,Rr.aomap,Rr.lightmap,Rr.fog]),vertexShader:wr.meshbasic_vert,fragmentShader:wr.meshbasic_frag},lambert:{uniforms:Hi([Rr.common,Rr.specularmap,Rr.envmap,Rr.aomap,Rr.lightmap,Rr.emissivemap,Rr.bumpmap,Rr.normalmap,Rr.displacementmap,Rr.fog,Rr.lights,{emissive:{value:new ai(0)}}]),vertexShader:wr.meshlambert_vert,fragmentShader:wr.meshlambert_frag},phong:{uniforms:Hi([Rr.common,Rr.specularmap,Rr.envmap,Rr.aomap,Rr.lightmap,Rr.emissivemap,Rr.bumpmap,Rr.normalmap,Rr.displacementmap,Rr.fog,Rr.lights,{emissive:{value:new ai(0)},specular:{value:new ai(1118481)},shininess:{value:30}}]),vertexShader:wr.meshphong_vert,fragmentShader:wr.meshphong_frag},standard:{uniforms:Hi([Rr.common,Rr.envmap,Rr.aomap,Rr.lightmap,Rr.emissivemap,Rr.bumpmap,Rr.normalmap,Rr.displacementmap,Rr.roughnessmap,Rr.metalnessmap,Rr.fog,Rr.lights,{emissive:{value:new ai(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:wr.meshphysical_vert,fragmentShader:wr.meshphysical_frag},toon:{uniforms:Hi([Rr.common,Rr.aomap,Rr.lightmap,Rr.emissivemap,Rr.bumpmap,Rr.normalmap,Rr.displacementmap,Rr.gradientmap,Rr.fog,Rr.lights,{emissive:{value:new ai(0)}}]),vertexShader:wr.meshtoon_vert,fragmentShader:wr.meshtoon_frag},matcap:{uniforms:Hi([Rr.common,Rr.bumpmap,Rr.normalmap,Rr.displacementmap,Rr.fog,{matcap:{value:null}}]),vertexShader:wr.meshmatcap_vert,fragmentShader:wr.meshmatcap_frag},points:{uniforms:Hi([Rr.points,Rr.fog]),vertexShader:wr.points_vert,fragmentShader:wr.points_frag},dashed:{uniforms:Hi([Rr.common,Rr.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:wr.linedashed_vert,fragmentShader:wr.linedashed_frag},depth:{uniforms:Hi([Rr.common,Rr.displacementmap]),vertexShader:wr.depth_vert,fragmentShader:wr.depth_frag},normal:{uniforms:Hi([Rr.common,Rr.bumpmap,Rr.normalmap,Rr.displacementmap,{opacity:{value:1}}]),vertexShader:wr.meshnormal_vert,fragmentShader:wr.meshnormal_frag},sprite:{uniforms:Hi([Rr.sprite,Rr.fog]),vertexShader:wr.sprite_vert,fragmentShader:wr.sprite_frag},background:{uniforms:{uvTransform:{value:new he},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:wr.background_vert,fragmentShader:wr.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new he}},vertexShader:wr.backgroundCube_vert,fragmentShader:wr.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:wr.cube_vert,fragmentShader:wr.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:wr.equirect_vert,fragmentShader:wr.equirect_frag},distanceRGBA:{uniforms:Hi([Rr.common,Rr.displacementmap,{referencePosition:{value:new Oe},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:wr.distanceRGBA_vert,fragmentShader:wr.distanceRGBA_frag},shadow:{uniforms:Hi([Rr.lights,Rr.fog,{color:{value:new ai(0)},opacity:{value:1}}]),vertexShader:wr.shadow_vert,fragmentShader:wr.shadow_frag}};Cr.physical={uniforms:Hi([Cr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new he},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new he},clearcoatNormalScale:{value:new ce(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new he},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new he},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new he},sheen:{value:0},sheenColor:{value:new ai(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new he},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new he},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new he},transmissionSamplerSize:{value:new ce},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new he},attenuationDistance:{value:0},attenuationColor:{value:new ai(0)},specularColor:{value:new ai(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new he},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new he},anisotropyVector:{value:new ce},anisotropyMap:{value:null},anisotropyMapTransform:{value:new he}}]),vertexShader:wr.meshphysical_vert,fragmentShader:wr.meshphysical_frag};const Pr={r:0,b:0,g:0},Ur=new yn,Lr=new pn;function Dr(t,e,n,i,r,a,s){const o=new ai(0);let l,c,h=!0===a?0:1,u=null,d=0,p=null;function f(t){let i=!0===t.isScene?t.background:null;if(i&&i.isTexture){i=(t.backgroundBlurriness>0?n:e).get(i)}return i}function m(e,n){e.getRGB(Pr,Vi(t)),i.buffers.color.setClear(Pr.r,Pr.g,Pr.b,n,s)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t),h=e,m(o,h)},getClearAlpha:function(){return h},setClearAlpha:function(t){h=t,m(o,h)},render:function(e){let n=!1;const r=f(e);null===r?m(o,h):r&&r.isColor&&(m(r,1),n=!0);const a=t.xr.getEnvironmentBlendMode();\"additive\"===a?i.buffers.color.setClear(0,0,0,1,s):\"alpha-blend\"===a&&i.buffers.color.setClear(0,0,0,0,s),(t.autoClear||n)&&(i.buffers.depth.setTest(!0),i.buffers.depth.setMask(!0),i.buffers.color.setMask(!0),t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil))},addToRenderList:function(e,n){const i=f(n);i&&(i.isCubeTexture||i.mapping===L)?(void 0===c&&(c=new Oi(new Bi(1,1,1),new ki({name:\"BackgroundCubeMaterial\",uniforms:zi(Cr.backgroundCube.uniforms),vertexShader:Cr.backgroundCube.vertexShader,fragmentShader:Cr.backgroundCube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute(\"normal\"),c.geometry.deleteAttribute(\"uv\"),c.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(c.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}}),r.update(c)),Ur.copy(n.backgroundRotation),Ur.x*=-1,Ur.y*=-1,Ur.z*=-1,i.isCubeTexture&&!1===i.isRenderTargetTexture&&(Ur.y*=-1,Ur.z*=-1),c.material.uniforms.envMap.value=i,c.material.uniforms.flipEnvMap.value=i.isCubeTexture&&!1===i.isRenderTargetTexture?-1:1,c.material.uniforms.backgroundBlurriness.value=n.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,c.material.uniforms.backgroundRotation.value.setFromMatrix4(Lr.makeRotationFromEuler(Ur)),c.material.toneMapped=Me.getTransfer(i.colorSpace)!==Vt,u===i&&d===i.version&&p===t.toneMapping||(c.material.needsUpdate=!0,u=i,d=i.version,p=t.toneMapping),c.layers.enableAll(),e.unshift(c,c.geometry,c.material,0,0,null)):i&&i.isTexture&&(void 0===l&&(l=new Oi(new ur(2,2),new ki({name:\"BackgroundMaterial\",uniforms:zi(Cr.background.uniforms),vertexShader:Cr.background.vertexShader,fragmentShader:Cr.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute(\"normal\"),Object.defineProperty(l.material,\"map\",{get:function(){return this.uniforms.t2D.value}}),r.update(l)),l.material.uniforms.t2D.value=i,l.material.uniforms.backgroundIntensity.value=n.backgroundIntensity,l.material.toneMapped=Me.getTransfer(i.colorSpace)!==Vt,!0===i.matrixAutoUpdate&&i.updateMatrix(),l.material.uniforms.uvTransform.value.copy(i.matrix),u===i&&d===i.version&&p===t.toneMapping||(l.material.needsUpdate=!0,u=i,d=i.version,p=t.toneMapping),l.layers.enableAll(),e.unshift(l,l.geometry,l.material,0,0,null))},dispose:function(){void 0!==c&&(c.geometry.dispose(),c.material.dispose(),c=void 0),void 0!==l&&(l.geometry.dispose(),l.material.dispose(),l=void 0)}}}function Ir(t,e){const n=t.getParameter(t.MAX_VERTEX_ATTRIBS),i={},r=c(null);let a=r,s=!1;function o(e){return t.bindVertexArray(e)}function l(e){return t.deleteVertexArray(e)}function c(t){const e=[],i=[],r=[];for(let t=0;t<n;t++)e[t]=0,i[t]=0,r[t]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:e,enabledAttributes:i,attributeDivisors:r,object:t,attributes:{},index:null}}function h(){const t=a.newAttributes;for(let e=0,n=t.length;e<n;e++)t[e]=0}function u(t){d(t,0)}function d(e,n){const i=a.newAttributes,r=a.enabledAttributes,s=a.attributeDivisors;i[e]=1,0===r[e]&&(t.enableVertexAttribArray(e),r[e]=1),s[e]!==n&&(t.vertexAttribDivisor(e,n),s[e]=n)}function p(){const e=a.newAttributes,n=a.enabledAttributes;for(let i=0,r=n.length;i<r;i++)n[i]!==e[i]&&(t.disableVertexAttribArray(i),n[i]=0)}function f(e,n,i,r,a,s,o){!0===o?t.vertexAttribIPointer(e,n,i,a,s):t.vertexAttribPointer(e,n,i,r,a,s)}function m(){g(),s=!0,a!==r&&(a=r,o(a.object))}function g(){r.geometry=null,r.program=null,r.wireframe=!1}return{setup:function(n,r,l,m,g){let _=!1;const v=function(e,n,r){const a=!0===r.wireframe;let s=i[e.id];void 0===s&&(s={},i[e.id]=s);let o=s[n.id];void 0===o&&(o={},s[n.id]=o);let l=o[a];void 0===l&&(l=c(t.createVertexArray()),o[a]=l);return l}(m,l,r);a!==v&&(a=v,o(a.object)),_=function(t,e,n,i){const r=a.attributes,s=e.attributes;let o=0;const l=n.getAttributes();for(const e in l){if(l[e].location>=0){const n=r[e];let i=s[e];if(void 0===i&&(\"instanceMatrix\"===e&&t.instanceMatrix&&(i=t.instanceMatrix),\"instanceColor\"===e&&t.instanceColor&&(i=t.instanceColor)),void 0===n)return!0;if(n.attribute!==i)return!0;if(i&&n.data!==i.data)return!0;o++}}return a.attributesNum!==o||a.index!==i}(n,m,l,g),_&&function(t,e,n,i){const r={},s=e.attributes;let o=0;const l=n.getAttributes();for(const e in l){if(l[e].location>=0){let n=s[e];void 0===n&&(\"instanceMatrix\"===e&&t.instanceMatrix&&(n=t.instanceMatrix),\"instanceColor\"===e&&t.instanceColor&&(n=t.instanceColor));const i={};i.attribute=n,n&&n.data&&(i.data=n.data),r[e]=i,o++}}a.attributes=r,a.attributesNum=o,a.index=i}(n,m,l,g),null!==g&&e.update(g,t.ELEMENT_ARRAY_BUFFER),(_||s)&&(s=!1,function(n,i,r,a){h();const s=a.attributes,o=r.getAttributes(),l=i.defaultAttributeValues;for(const i in o){const r=o[i];if(r.location>=0){let o=s[i];if(void 0===o&&(\"instanceMatrix\"===i&&n.instanceMatrix&&(o=n.instanceMatrix),\"instanceColor\"===i&&n.instanceColor&&(o=n.instanceColor)),void 0!==o){const i=o.normalized,s=o.itemSize,l=e.get(o);if(void 0===l)continue;const c=l.buffer,h=l.type,p=l.bytesPerElement,m=h===t.INT||h===t.UNSIGNED_INT||o.gpuType===j;if(o.isInterleavedBufferAttribute){const e=o.data,l=e.stride,g=o.offset;if(e.isInstancedInterleavedBuffer){for(let t=0;t<r.locationSize;t++)d(r.location+t,e.meshPerAttribute);!0!==n.isInstancedMesh&&void 0===a._maxInstanceCount&&(a._maxInstanceCount=e.meshPerAttribute*e.count)}else for(let t=0;t<r.locationSize;t++)u(r.location+t);t.bindBuffer(t.ARRAY_BUFFER,c);for(let t=0;t<r.locationSize;t++)f(r.location+t,s/r.locationSize,h,i,l*p,(g+s/r.locationSize*t)*p,m)}else{if(o.isInstancedBufferAttribute){for(let t=0;t<r.locationSize;t++)d(r.location+t,o.meshPerAttribute);!0!==n.isInstancedMesh&&void 0===a._maxInstanceCount&&(a._maxInstanceCount=o.meshPerAttribute*o.count)}else for(let t=0;t<r.locationSize;t++)u(r.location+t);t.bindBuffer(t.ARRAY_BUFFER,c);for(let t=0;t<r.locationSize;t++)f(r.location+t,s/r.locationSize,h,i,s*p,s/r.locationSize*t*p,m)}}else if(void 0!==l){const e=l[i];if(void 0!==e)switch(e.length){case 2:t.vertexAttrib2fv(r.location,e);break;case 3:t.vertexAttrib3fv(r.location,e);break;case 4:t.vertexAttrib4fv(r.location,e);break;default:t.vertexAttrib1fv(r.location,e)}}}}p()}(n,r,l,m),null!==g&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e.get(g).buffer))},reset:m,resetDefaultState:g,dispose:function(){m();for(const t in i){const e=i[t];for(const t in e){const n=e[t];for(const t in n)l(n[t].object),delete n[t];delete e[t]}delete i[t]}},releaseStatesOfGeometry:function(t){if(void 0===i[t.id])return;const e=i[t.id];for(const t in e){const n=e[t];for(const t in n)l(n[t].object),delete n[t];delete e[t]}delete i[t.id]},releaseStatesOfProgram:function(t){for(const e in i){const n=i[e];if(void 0===n[t.id])continue;const r=n[t.id];for(const t in r)l(r[t].object),delete r[t];delete n[t.id]}},initAttributes:h,enableAttribute:u,disableUnusedAttributes:p}}function Nr(t,e,n){let i;function r(e,r,a){0!==a&&(t.drawArraysInstanced(i,e,r,a),n.update(r,i,a))}this.setMode=function(t){i=t},this.render=function(e,r){t.drawArrays(i,e,r),n.update(r,i,1)},this.renderInstances=r,this.renderMultiDraw=function(t,r,a){if(0===a)return;e.get(\"WEBGL_multi_draw\").multiDrawArraysWEBGL(i,t,0,r,0,a);let s=0;for(let t=0;t<a;t++)s+=r[t];n.update(s,i,1)},this.renderMultiDrawInstances=function(t,a,s,o){if(0===s)return;const l=e.get(\"WEBGL_multi_draw\");if(null===l)for(let e=0;e<t.length;e++)r(t[e],a[e],o[e]);else{l.multiDrawArraysInstancedWEBGL(i,t,0,a,0,o,0,s);let e=0;for(let t=0;t<s;t++)e+=a[t]*o[t];n.update(e,i,1)}}}function Or(t,e,n,i){let r;function a(e){if(\"highp\"===e){if(t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return\"highp\";e=\"mediump\"}return\"mediump\"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}let s=void 0!==n.precision?n.precision:\"highp\";const o=a(s);o!==s&&(s=o);const l=!0===n.logarithmicDepthBuffer,c=!0===n.reverseDepthBuffer&&e.has(\"EXT_clip_control\"),h=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),u=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS);return{isWebGL2:!0,getMaxAnisotropy:function(){if(void 0!==r)return r;if(!0===e.has(\"EXT_texture_filter_anisotropic\")){const n=e.get(\"EXT_texture_filter_anisotropic\");r=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r},getMaxPrecision:a,textureFormatReadable:function(e){return e===tt||i.convert(e)===t.getParameter(t.IMPLEMENTATION_COLOR_READ_FORMAT)},textureTypeReadable:function(n){const r=n===K&&(e.has(\"EXT_color_buffer_half_float\")||e.has(\"EXT_color_buffer_float\"));return!(n!==G&&i.convert(n)!==t.getParameter(t.IMPLEMENTATION_COLOR_READ_TYPE)&&n!==Y&&!r)},precision:s,logarithmicDepthBuffer:l,reverseDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:t.getParameter(t.MAX_TEXTURE_SIZE),maxCubemapSize:t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),maxAttributes:t.getParameter(t.MAX_VERTEX_ATTRIBS),maxVertexUniforms:t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),maxVaryings:t.getParameter(t.MAX_VARYING_VECTORS),maxFragmentUniforms:t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),vertexTextures:u>0,maxSamples:t.getParameter(t.MAX_SAMPLES)}}function Fr(t){const e=this;let n=null,i=0,r=!1,a=!1;const s=new sr,o=new he,l={value:null,needsUpdate:!1};function c(t,n,i,r){const a=null!==t?t.length:0;let c=null;if(0!==a){if(c=l.value,!0!==r||null===c){const e=i+4*a,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length<e)&&(c=new Float32Array(e));for(let e=0,n=i;e!==a;++e,n+=4)s.copy(t[e]).applyMatrix4(r,o),s.normal.toArray(c,n),c[n+3]=s.constant}l.value=c,l.needsUpdate=!0}return e.numPlanes=a,e.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(t,e){const n=0!==t.length||e||0!==i||r;return r=e,i=t.length,n},this.beginShadows=function(){a=!0,c(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(t,e){n=c(t,e,0)},this.setState=function(s,o,h){const u=s.clippingPlanes,d=s.clipIntersection,p=s.clipShadows,f=t.get(s);if(!r||null===u||0===u.length||a&&!p)a?c(null):function(){l.value!==n&&(l.value=n,l.needsUpdate=i>0);e.numPlanes=i,e.numIntersection=0}();else{const t=a?0:i,e=4*t;let r=f.clippingState||null;l.value=r,r=c(u,o,e,h);for(let t=0;t!==e;++t)r[t]=n[t];f.clippingState=r,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=t}}}function Br(t){let e=new WeakMap;function n(t,e){return 303===e?t.mapping=P:304===e&&(t.mapping=U),t}function i(t){const n=t.target;n.removeEventListener(\"dispose\",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const a=r.mapping;if(303===a||304===a){if(e.has(r)){return n(e.get(r).texture,r.mapping)}{const a=r.image;if(a&&a.height>0){const s=new $i(a.height);return s.fromEquirectangularTexture(t,r),e.set(r,s),r.addEventListener(\"dispose\",i),n(s.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}const zr=[.125,.215,.35,.446,.526,.582],Hr=20,Vr=new Mr,Gr=new ai;let kr=null,Wr=0,Xr=0,jr=!1;const qr=(1+Math.sqrt(5))/2,Yr=1/qr,Kr=[new Oe(-qr,Yr,0),new Oe(qr,Yr,0),new Oe(-Yr,0,qr),new Oe(Yr,0,qr),new Oe(0,qr,-Yr),new Oe(0,qr,Yr),new Oe(-1,1,-1),new Oe(1,1,-1),new Oe(-1,1,1),new Oe(1,1,1)],Zr=new Oe;class Jr{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100,r={}){const{size:a=256,position:s=Zr}=r;kr=this._renderer.getRenderTarget(),Wr=this._renderer.getActiveCubeFace(),Xr=this._renderer.getActiveMipmapLevel(),jr=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);const o=this._allocateTargets();return o.depthBuffer=!0,this._sceneToCubeUV(t,n,i,o,s),e>0&&this._blur(o,0,0,e),this._applyPMREM(o),this._cleanup(o),o}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=ea(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ta(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;t<this._lodPlanes.length;t++)this._lodPlanes[t].dispose()}_cleanup(t){this._renderer.setRenderTarget(kr,Wr,Xr),this._renderer.xr.enabled=jr,t.scissorTest=!1,Qr(t,0,0,t.width,t.height)}_fromTexture(t,e){t.mapping===P||t.mapping===U?this._setSize(0===t.image.length?16:t.image[0].width||t.image[0].image.width):this._setSize(t.image.width/4),kr=this._renderer.getRenderTarget(),Wr=this._renderer.getActiveCubeFace(),Xr=this._renderer.getActiveMipmapLevel(),jr=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;const n=e||this._allocateTargets();return this._textureToCubeUV(t,n),this._applyPMREM(n),this._cleanup(n),n}_allocateTargets(){const t=3*Math.max(this._cubeSize,112),e=4*this._cubeSize,n={magFilter:z,minFilter:z,generateMipmaps:!1,type:K,format:tt,colorSpace:zt,depthBuffer:!1},i=$r(t,e,n);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==t||this._pingPongRenderTarget.height!==e){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=$r(t,e,n);const{_lodMax:i}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(t){const e=[],n=[],i=[];let r=t;const a=t-4+1+zr.length;for(let s=0;s<a;s++){const a=Math.pow(2,r);n.push(a);let o=1/a;s>t-4?o=zr[s-t+4-1]:0===s&&(o=0),i.push(o);const l=1/(a-2),c=-l,h=1+l,u=[c,c,h,c,h,h,c,c,h,h,c,h],d=6,p=6,f=3,m=2,g=1,_=new Float32Array(f*p*d),v=new Float32Array(m*p*d),x=new Float32Array(g*p*d);for(let t=0;t<d;t++){const e=t%3*2/3-1,n=t>2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];_.set(i,f*p*t),v.set(u,m*p*t);const r=[t,t,t,t,t,t];x.set(r,g*p*t)}const M=new Ti;M.setAttribute(\"position\",new pi(_,f)),M.setAttribute(\"uv\",new pi(v,m)),M.setAttribute(\"faceIndex\",new pi(x,g)),e.push(M),r>4&&r--}return{lodPlanes:e,sizeLods:n,sigmas:i}}(i)),this._blurMaterial=function(t,e,n){const i=new Float32Array(Hr),r=new Oe(0,1,0),a=new ki({name:\"SphericalGaussianBlur\",defines:{n:Hr,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:na(),fragmentShader:\"\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include <cube_uv_reflection_fragment>\\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t\",blending:0,depthTest:!1,depthWrite:!1});return a}(i,t,e)}return i}_compileMaterial(t){const e=new Oi(this._lodPlanes[0],t);this._renderer.compile(e,Vr)}_sceneToCubeUV(t,e,n,i,r){const a=new Yi(90,1,e,n),s=[1,-1,1,1,1,1],o=[1,1,1,-1,-1,-1],l=this._renderer,c=l.autoClear,h=l.toneMapping;l.getClearColor(Gr),l.toneMapping=0,l.autoClear=!1;const u=new ci({name:\"PMREM.Background\",side:1,depthWrite:!1,depthTest:!1}),d=new Oi(new Bi,u);let p=!1;const f=t.background;f?f.isColor&&(u.color.copy(f),t.background=null,p=!0):(u.color.copy(Gr),p=!0);for(let e=0;e<6;e++){const n=e%3;0===n?(a.up.set(0,s[e],0),a.position.set(r.x,r.y,r.z),a.lookAt(r.x+o[e],r.y,r.z)):1===n?(a.up.set(0,0,s[e]),a.position.set(r.x,r.y,r.z),a.lookAt(r.x,r.y+o[e],r.z)):(a.up.set(0,s[e],0),a.position.set(r.x,r.y,r.z),a.lookAt(r.x,r.y,r.z+o[e]));const c=this._cubeSize;Qr(i,n*c,e>2?c:0,c,c),l.setRenderTarget(i),p&&l.render(d,a),l.render(t,a)}d.geometry.dispose(),d.material.dispose(),l.toneMapping=h,l.autoClear=c,t.background=f}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===P||t.mapping===U;i?(null===this._cubemapMaterial&&(this._cubemapMaterial=ea()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ta());const r=i?this._cubemapMaterial:this._equirectMaterial,a=new Oi(this._lodPlanes[0],r);r.uniforms.envMap.value=t;const s=this._cubeSize;Qr(e,0,0,3*s,2*s),n.setRenderTarget(e),n.render(a,Vr)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;const i=this._lodPlanes.length;for(let e=1;e<i;e++){const n=Math.sqrt(this._sigmas[e]*this._sigmas[e]-this._sigmas[e-1]*this._sigmas[e-1]),r=Kr[(i-e-1)%Kr.length];this._blur(t,e-1,e,n,r)}e.autoClear=n}_blur(t,e,n,i,r){const a=this._pingPongRenderTarget;this._halfBlur(t,a,e,n,i,\"latitudinal\",r),this._halfBlur(a,t,n,n,i,\"longitudinal\",r)}_halfBlur(t,e,n,i,r,a,s){const o=this._renderer,l=this._blurMaterial,c=new Oi(this._lodPlanes[i],l),h=l.uniforms,u=this._sizeLods[n]-1,d=isFinite(r)?Math.PI/(2*u):2*Math.PI/39,p=r/d,f=isFinite(r)?1+Math.floor(3*p):Hr,m=[];let g=0;for(let t=0;t<Hr;++t){const e=t/p,n=Math.exp(-e*e/2);m.push(n),0===t?g+=n:t<f&&(g+=2*n)}for(let t=0;t<m.length;t++)m[t]=m[t]/g;h.envMap.value=t.texture,h.samples.value=f,h.weights.value=m,h.latitudinal.value=\"latitudinal\"===a,s&&(h.poleAxis.value=s);const{_lodMax:_}=this;h.dTheta.value=d,h.mipInt.value=_-n;const v=this._sizeLods[i];Qr(e,3*v*(i>_-4?i-_+4:0),4*(this._cubeSize-v),3*v,2*v),o.setRenderTarget(e),o.render(c,Vr)}}function $r(t,e,n){const i=new Le(t,e,n);return i.texture.mapping=L,i.texture.name=\"PMREM.cubeUv\",i.scissorTest=!0,i}function Qr(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function ta(){return new ki({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null}},vertexShader:na(),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:0,depthTest:!1,depthWrite:!1})}function ea(){return new ki({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:na(),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:0,depthTest:!1,depthWrite:!1})}function na(){return\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\"}function ia(t){let e=new WeakMap,n=null;function i(t){const n=t.target;n.removeEventListener(\"dispose\",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const a=r.mapping,s=303===a||304===a,o=a===P||a===U;if(s||o){let a=e.get(r);const l=void 0!==a?a.texture.pmremVersion:0;if(r.isRenderTargetTexture&&r.pmremVersion!==l)return null===n&&(n=new Jr(t)),a=s?n.fromEquirectangular(r,a):n.fromCubemap(r,a),a.texture.pmremVersion=r.pmremVersion,e.set(r,a),a.texture;if(void 0!==a)return a.texture;{const l=r.image;return s&&l&&l.height>0||o&&l&&function(t){let e=0;const n=6;for(let i=0;i<n;i++)void 0!==t[i]&&e++;return e===n}(l)?(null===n&&(n=new Jr(t)),a=s?n.fromEquirectangular(r):n.fromCubemap(r),a.texture.pmremVersion=r.pmremVersion,e.set(r,a),r.addEventListener(\"dispose\",i),a.texture):null}}}return r},dispose:function(){e=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function ra(t){const e={};function n(n){if(void 0!==e[n])return e[n];let i;switch(n){case\"WEBGL_depth_texture\":i=t.getExtension(\"WEBGL_depth_texture\")||t.getExtension(\"MOZ_WEBGL_depth_texture\")||t.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":i=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":i=t.getExtension(\"WEBGL_compressed_texture_s3tc\")||t.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":i=t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:i=t.getExtension(n)}return e[n]=i,i}return{has:function(t){return null!==n(t)},init:function(){n(\"EXT_color_buffer_float\"),n(\"WEBGL_clip_cull_distance\"),n(\"OES_texture_float_linear\"),n(\"EXT_color_buffer_half_float\"),n(\"WEBGL_multisampled_render_to_texture\"),n(\"WEBGL_render_shared_exponent\")},get:function(t){const e=n(t);return null===e&&ge(\"THREE.WebGLRenderer: \"+t+\" extension not supported.\"),e}}}function aa(t,e,n,i){const r={},a=new WeakMap;function s(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener(\"dispose\",s),delete r[o.id];const l=a.get(o);l&&(e.remove(l),a.delete(o)),i.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],i=t.index,r=t.attributes.position;let s=0;if(null!==i){const t=i.array;s=i.version;for(let e=0,i=t.length;e<i;e+=3){const i=t[e+0],r=t[e+1],a=t[e+2];n.push(i,r,r,a,a,i)}}else{if(void 0===r)return;{const t=r.array;s=r.version;for(let e=0,i=t.length/3-1;e<i;e+=3){const t=e+0,i=e+1,r=e+2;n.push(t,i,i,r,r,t)}}}const o=new(de(n)?mi:fi)(n,1);o.version=s;const l=a.get(t);l&&e.remove(l),a.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener(\"dispose\",s),r[e.id]=!0,n.memory.geometries++),e},update:function(n){const i=n.attributes;for(const n in i)e.update(i[n],t.ARRAY_BUFFER)},getWireframeAttribute:function(t){const e=a.get(t);if(e){const n=t.index;null!==n&&e.version<n.version&&o(t)}else o(t);return a.get(t)}}}function sa(t,e,n){let i,r,a;function s(e,s,o){0!==o&&(t.drawElementsInstanced(i,s,r,e*a,o),n.update(s,i,o))}this.setMode=function(t){i=t},this.setIndex=function(t){r=t.type,a=t.bytesPerElement},this.render=function(e,s){t.drawElements(i,s,r,e*a),n.update(s,i,1)},this.renderInstances=s,this.renderMultiDraw=function(t,a,s){if(0===s)return;e.get(\"WEBGL_multi_draw\").multiDrawElementsWEBGL(i,a,0,r,t,0,s);let o=0;for(let t=0;t<s;t++)o+=a[t];n.update(o,i,1)},this.renderMultiDrawInstances=function(t,o,l,c){if(0===l)return;const h=e.get(\"WEBGL_multi_draw\");if(null===h)for(let e=0;e<t.length;e++)s(t[e]/a,o[e],c[e]);else{h.multiDrawElementsInstancedWEBGL(i,o,0,r,t,0,c,0,l);let e=0;for(let t=0;t<l;t++)e+=o[t]*c[t];n.update(e,i,1)}}}function oa(t){const e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(n,i,r){switch(e.calls++,i){case t.TRIANGLES:e.triangles+=r*(n/3);break;case t.LINES:e.lines+=r*(n/2);break;case t.LINE_STRIP:e.lines+=r*(n-1);break;case t.LINE_LOOP:e.lines+=r*n;break;case t.POINTS:e.points+=r*n}}}}function la(t,e,n){const i=new WeakMap,r=new Pe;return{update:function(a,s,o){const l=a.morphTargetInfluences,c=s.morphAttributes.position||s.morphAttributes.normal||s.morphAttributes.color,h=void 0!==c?c.length:0;let u=i.get(s);if(void 0===u||u.count!==h){void 0!==u&&u.texture.dispose();const d=void 0!==s.morphAttributes.position,p=void 0!==s.morphAttributes.normal,f=void 0!==s.morphAttributes.color,m=s.morphAttributes.position||[],g=s.morphAttributes.normal||[],_=s.morphAttributes.color||[];let v=0;!0===d&&(v=1),!0===p&&(v=2),!0===f&&(v=3);let x=s.attributes.position.count*v,M=1;x>e.maxTextureSize&&(M=Math.ceil(x/e.maxTextureSize),x=e.maxTextureSize);const S=new Float32Array(x*M*4*h),E=new De(S,x,M,h);E.type=Y,E.needsUpdate=!0;const y=4*v;for(let b=0;b<h;b++){const A=m[b],w=g[b],R=_[b],C=x*M*4*b;for(let P=0;P<A.count;P++){const U=P*y;!0===d&&(r.fromBufferAttribute(A,P),S[C+U+0]=r.x,S[C+U+1]=r.y,S[C+U+2]=r.z,S[C+U+3]=0),!0===p&&(r.fromBufferAttribute(w,P),S[C+U+4]=r.x,S[C+U+5]=r.y,S[C+U+6]=r.z,S[C+U+7]=0),!0===f&&(r.fromBufferAttribute(R,P),S[C+U+8]=r.x,S[C+U+9]=r.y,S[C+U+10]=r.z,S[C+U+11]=4===R.itemSize?r.w:1)}}function T(){E.dispose(),i.delete(s),s.removeEventListener(\"dispose\",T)}u={count:h,texture:E,size:new ce(x,M)},i.set(s,u),s.addEventListener(\"dispose\",T)}if(!0===a.isInstancedMesh&&null!==a.morphTexture)o.getUniforms().setValue(t,\"morphTexture\",a.morphTexture,n);else{let L=0;for(let I=0;I<l.length;I++)L+=l[I];const D=s.morphTargetsRelative?1:1-L;o.getUniforms().setValue(t,\"morphTargetBaseInfluence\",D),o.getUniforms().setValue(t,\"morphTargetInfluences\",l)}o.getUniforms().setValue(t,\"morphTargetsTexture\",u.texture,n),o.getUniforms().setValue(t,\"morphTargetsTextureSize\",u.size)}}}function ca(t,e,n,i){let r=new WeakMap;function a(t){const e=t.target;e.removeEventListener(\"dispose\",a),n.remove(e.instanceMatrix),null!==e.instanceColor&&n.remove(e.instanceColor)}return{update:function(s){const o=i.render.frame,l=s.geometry,c=e.get(s,l);if(r.get(c)!==o&&(e.update(c),r.set(c,o)),s.isInstancedMesh&&(!1===s.hasEventListener(\"dispose\",a)&&s.addEventListener(\"dispose\",a),r.get(s)!==o&&(n.update(s.instanceMatrix,t.ARRAY_BUFFER),null!==s.instanceColor&&n.update(s.instanceColor,t.ARRAY_BUFFER),r.set(s,o))),s.isSkinnedMesh){const t=s.skeleton;r.get(t)!==o&&(t.update(),r.set(t,o))}return c},dispose:function(){r=new WeakMap}}}const ha=new Ce,ua=new hr(1,1),da=new De,pa=new Ie,fa=new Ji,ma=[],ga=[],_a=new Float32Array(16),va=new Float32Array(9),xa=new Float32Array(4);function Ma(t,e,n){const i=t[0];if(i<=0||i>0)return t;const r=e*n;let a=ma[r];if(void 0===a&&(a=new Float32Array(r),ma[r]=a),0!==e){i.toArray(a,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(a,r)}return a}function Sa(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return!1;return!0}function Ea(t,e){for(let n=0,i=e.length;n<i;n++)t[n]=e[n]}function ya(t,e){let n=ga[e];void 0===n&&(n=new Int32Array(e),ga[e]=n);for(let i=0;i!==e;++i)n[i]=t.allocateTextureUnit();return n}function Ta(t,e){const n=this.cache;n[0]!==e&&(t.uniform1f(this.addr,e),n[0]=e)}function ba(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Sa(n,e))return;t.uniform2fv(this.addr,e),Ea(n,e)}}function Aa(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else if(void 0!==e.r)n[0]===e.r&&n[1]===e.g&&n[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),n[0]=e.r,n[1]=e.g,n[2]=e.b);else{if(Sa(n,e))return;t.uniform3fv(this.addr,e),Ea(n,e)}}function wa(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Sa(n,e))return;t.uniform4fv(this.addr,e),Ea(n,e)}}function Ra(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Sa(n,e))return;t.uniformMatrix2fv(this.addr,!1,e),Ea(n,e)}else{if(Sa(n,i))return;xa.set(i),t.uniformMatrix2fv(this.addr,!1,xa),Ea(n,i)}}function Ca(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Sa(n,e))return;t.uniformMatrix3fv(this.addr,!1,e),Ea(n,e)}else{if(Sa(n,i))return;va.set(i),t.uniformMatrix3fv(this.addr,!1,va),Ea(n,i)}}function Pa(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Sa(n,e))return;t.uniformMatrix4fv(this.addr,!1,e),Ea(n,e)}else{if(Sa(n,i))return;_a.set(i),t.uniformMatrix4fv(this.addr,!1,_a),Ea(n,i)}}function Ua(t,e){const n=this.cache;n[0]!==e&&(t.uniform1i(this.addr,e),n[0]=e)}function La(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2i(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Sa(n,e))return;t.uniform2iv(this.addr,e),Ea(n,e)}}function Da(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3i(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else{if(Sa(n,e))return;t.uniform3iv(this.addr,e),Ea(n,e)}}function Ia(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4i(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Sa(n,e))return;t.uniform4iv(this.addr,e),Ea(n,e)}}function Na(t,e){const n=this.cache;n[0]!==e&&(t.uniform1ui(this.addr,e),n[0]=e)}function Oa(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2ui(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Sa(n,e))return;t.uniform2uiv(this.addr,e),Ea(n,e)}}function Fa(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3ui(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else{if(Sa(n,e))return;t.uniform3uiv(this.addr,e),Ea(n,e)}}function Ba(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4ui(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Sa(n,e))return;t.uniform4uiv(this.addr,e),Ea(n,e)}}function za(t,e,n){const i=this.cache,r=n.allocateTextureUnit();let a;i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),this.type===t.SAMPLER_2D_SHADOW?(ua.compareFunction=515,a=ua):a=ha,n.setTexture2D(e||a,r)}function Ha(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture3D(e||pa,r)}function Va(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTextureCube(e||fa,r)}function Ga(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2DArray(e||da,r)}function ka(t,e){t.uniform1fv(this.addr,e)}function Wa(t,e){const n=Ma(e,this.size,2);t.uniform2fv(this.addr,n)}function Xa(t,e){const n=Ma(e,this.size,3);t.uniform3fv(this.addr,n)}function ja(t,e){const n=Ma(e,this.size,4);t.uniform4fv(this.addr,n)}function qa(t,e){const n=Ma(e,this.size,4);t.uniformMatrix2fv(this.addr,!1,n)}function Ya(t,e){const n=Ma(e,this.size,9);t.uniformMatrix3fv(this.addr,!1,n)}function Ka(t,e){const n=Ma(e,this.size,16);t.uniformMatrix4fv(this.addr,!1,n)}function Za(t,e){t.uniform1iv(this.addr,e)}function Ja(t,e){t.uniform2iv(this.addr,e)}function $a(t,e){t.uniform3iv(this.addr,e)}function Qa(t,e){t.uniform4iv(this.addr,e)}function ts(t,e){t.uniform1uiv(this.addr,e)}function es(t,e){t.uniform2uiv(this.addr,e)}function ns(t,e){t.uniform3uiv(this.addr,e)}function is(t,e){t.uniform4uiv(this.addr,e)}function rs(t,e,n){const i=this.cache,r=e.length,a=ya(n,r);Sa(i,a)||(t.uniform1iv(this.addr,a),Ea(i,a));for(let t=0;t!==r;++t)n.setTexture2D(e[t]||ha,a[t])}function as(t,e,n){const i=this.cache,r=e.length,a=ya(n,r);Sa(i,a)||(t.uniform1iv(this.addr,a),Ea(i,a));for(let t=0;t!==r;++t)n.setTexture3D(e[t]||pa,a[t])}function ss(t,e,n){const i=this.cache,r=e.length,a=ya(n,r);Sa(i,a)||(t.uniform1iv(this.addr,a),Ea(i,a));for(let t=0;t!==r;++t)n.setTextureCube(e[t]||fa,a[t])}function os(t,e,n){const i=this.cache,r=e.length,a=ya(n,r);Sa(i,a)||(t.uniform1iv(this.addr,a),Ea(i,a));for(let t=0;t!==r;++t)n.setTexture2DArray(e[t]||da,a[t])}class ls{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.type=e.type,this.setValue=function(t){switch(t){case 5126:return Ta;case 35664:return ba;case 35665:return Aa;case 35666:return wa;case 35674:return Ra;case 35675:return Ca;case 35676:return Pa;case 5124:case 35670:return Ua;case 35667:case 35671:return La;case 35668:case 35672:return Da;case 35669:case 35673:return Ia;case 5125:return Na;case 36294:return Oa;case 36295:return Fa;case 36296:return Ba;case 35678:case 36198:case 36298:case 36306:case 35682:return za;case 35679:case 36299:case 36307:return Ha;case 35680:case 36300:case 36308:case 36293:return Va;case 36289:case 36303:case 36311:case 36292:return Ga}}(e.type)}}class cs{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.type=e.type,this.size=e.size,this.setValue=function(t){switch(t){case 5126:return ka;case 35664:return Wa;case 35665:return Xa;case 35666:return ja;case 35674:return qa;case 35675:return Ya;case 35676:return Ka;case 5124:case 35670:return Za;case 35667:case 35671:return Ja;case 35668:case 35672:return $a;case 35669:case 35673:return Qa;case 5125:return ts;case 36294:return es;case 36295:return ns;case 36296:return is;case 35678:case 36198:case 36298:case 36306:case 35682:return rs;case 35679:case 36299:case 36307:return as;case 35680:case 36300:case 36308:case 36293:return ss;case 36289:case 36303:case 36311:case 36292:return os}}(e.type)}}class hs{constructor(t){this.id=t,this.seq=[],this.map={}}setValue(t,e,n){const i=this.seq;for(let r=0,a=i.length;r!==a;++r){const a=i[r];a.setValue(t,e[a.id],n)}}}const us=/(\\w+)(\\])?(\\[|\\.)?/g;function ds(t,e){t.seq.push(e),t.map[e.id]=e}function ps(t,e,n){const i=t.name,r=i.length;for(us.lastIndex=0;;){const a=us.exec(i),s=us.lastIndex;let o=a[1];const l=\"]\"===a[2],c=a[3];if(l&&(o|=0),void 0===c||\"[\"===c&&s+2===r){ds(n,void 0===c?new ls(o,t,e):new cs(o,t,e));break}{let t=n.map[o];void 0===t&&(t=new hs(o),ds(n,t)),n=t}}}class fs{constructor(t,e){this.seq=[],this.map={};const n=t.getProgramParameter(e,t.ACTIVE_UNIFORMS);for(let i=0;i<n;++i){const n=t.getActiveUniform(e,i);ps(n,t.getUniformLocation(e,n.name),this)}}setValue(t,e,n,i){const r=this.map[e];void 0!==r&&r.setValue(t,n,i)}setOptional(t,e,n){const i=e[n];void 0!==i&&this.setValue(t,n,i)}static upload(t,e,n,i){for(let r=0,a=e.length;r!==a;++r){const a=e[r],s=n[a.id];!1!==s.needsUpdate&&a.setValue(t,s.value,i)}}static seqWithValue(t,e){const n=[];for(let i=0,r=t.length;i!==r;++i){const r=t[i];r.id in e&&n.push(r)}return n}}function ms(t,e,n){const i=t.createShader(e);return t.shaderSource(i,n),t.compileShader(i),i}let gs=0;const _s=new he;function vs(t,e,n){const i=t.getShaderParameter(e,t.COMPILE_STATUS),r=t.getShaderInfoLog(e).trim();if(i&&\"\"===r)return\"\";const a=/ERROR: 0:(\\d+)/.exec(r);if(a){const i=parseInt(a[1]);return n.toUpperCase()+\"\\n\\n\"+r+\"\\n\\n\"+function(t,e){const n=t.split(\"\\n\"),i=[],r=Math.max(e-6,0),a=Math.min(e+6,n.length);for(let t=r;t<a;t++){const r=t+1;i.push(`${r===e?\">\":\" \"} ${r}: ${n[t]}`)}return i.join(\"\\n\")}(t.getShaderSource(e),i)}return r}function xs(t,e){const n=function(t){Me._getMatrix(_s,Me.workingColorSpace,t);const e=`mat3( ${_s.elements.map(t=>t.toFixed(4))} )`;switch(Me.getTransfer(t)){case Ht:return[e,\"LinearTransferOETF\"];case Vt:return[e,\"sRGBTransferOETF\"];default:return[e,\"LinearTransferOETF\"]}}(e);return[`vec4 ${t}( vec4 value ) {`,`\\treturn ${n[1]}( vec4( value.rgb * ${n[0]}, value.a ) );`,\"}\"].join(\"\\n\")}function Ms(t,e){let n;switch(e){case 1:default:n=\"Linear\";break;case 2:n=\"Reinhard\";break;case 3:n=\"Cineon\";break;case 4:n=\"ACESFilmic\";break;case 6:n=\"AgX\";break;case 7:n=\"Neutral\";break;case 5:n=\"Custom\"}return\"vec3 \"+t+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}const Ss=new Oe;function Es(){Me.getLuminanceCoefficients(Ss);return[\"float luminance( const in vec3 rgb ) {\",`\\tconst vec3 weights = vec3( ${Ss.x.toFixed(4)}, ${Ss.y.toFixed(4)}, ${Ss.z.toFixed(4)} );`,\"\\treturn dot( weights, rgb );\",\"}\"].join(\"\\n\")}function ys(t){return\"\"!==t}function Ts(t,e){const n=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function bs(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const As=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function ws(t){return t.replace(As,Cs)}const Rs=new Map;function Cs(t,e){let n=wr[e];if(void 0===n){const t=Rs.get(e);if(void 0===t)throw new Error(\"Can not resolve #include <\"+e+\">\");n=wr[t]}return ws(n)}const Ps=/#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 Us(t){return t.replace(Ps,Ls)}function Ls(t,e,n,i){let r=\"\";for(let t=parseInt(e);t<parseInt(n);t++)r+=i.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+t+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,t);return r}function Ds(t){let e=`precision ${t.precision} float;\\n\\tprecision ${t.precision} int;\\n\\tprecision ${t.precision} sampler2D;\\n\\tprecision ${t.precision} samplerCube;\\n\\tprecision ${t.precision} sampler3D;\\n\\tprecision ${t.precision} sampler2DArray;\\n\\tprecision ${t.precision} sampler2DShadow;\\n\\tprecision ${t.precision} samplerCubeShadow;\\n\\tprecision ${t.precision} sampler2DArrayShadow;\\n\\tprecision ${t.precision} isampler2D;\\n\\tprecision ${t.precision} isampler3D;\\n\\tprecision ${t.precision} isamplerCube;\\n\\tprecision ${t.precision} isampler2DArray;\\n\\tprecision ${t.precision} usampler2D;\\n\\tprecision ${t.precision} usampler3D;\\n\\tprecision ${t.precision} usamplerCube;\\n\\tprecision ${t.precision} usampler2DArray;\\n\\t`;return\"highp\"===t.precision?e+=\"\\n#define HIGH_PRECISION\":\"mediump\"===t.precision?e+=\"\\n#define MEDIUM_PRECISION\":\"lowp\"===t.precision&&(e+=\"\\n#define LOW_PRECISION\"),e}function Is(t,e,n,i){const r=t.getContext(),a=n.defines;let s=n.vertexShader,o=n.fragmentShader;const l=function(t){let e=\"SHADOWMAP_TYPE_BASIC\";return 1===t.shadowMapType?e=\"SHADOWMAP_TYPE_PCF\":2===t.shadowMapType?e=\"SHADOWMAP_TYPE_PCF_SOFT\":3===t.shadowMapType&&(e=\"SHADOWMAP_TYPE_VSM\"),e}(n),c=function(t){let e=\"ENVMAP_TYPE_CUBE\";if(t.envMap)switch(t.envMapMode){case P:case U:e=\"ENVMAP_TYPE_CUBE\";break;case L:e=\"ENVMAP_TYPE_CUBE_UV\"}return e}(n),h=function(t){let e=\"ENVMAP_MODE_REFLECTION\";t.envMap&&t.envMapMode===U&&(e=\"ENVMAP_MODE_REFRACTION\");return e}(n),u=function(t){let e=\"ENVMAP_BLENDING_NONE\";if(t.envMap)switch(t.combine){case 0:e=\"ENVMAP_BLENDING_MULTIPLY\";break;case 1:e=\"ENVMAP_BLENDING_MIX\";break;case 2:e=\"ENVMAP_BLENDING_ADD\"}return e}(n),d=function(t){const e=t.envMapCubeUVHeight;if(null===e)return null;const n=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,n),112)),texelHeight:i,maxMip:n}}(n),p=function(t){return[t.extensionClipCullDistance?\"#extension GL_ANGLE_clip_cull_distance : require\":\"\",t.extensionMultiDraw?\"#extension GL_ANGLE_multi_draw : require\":\"\"].filter(ys).join(\"\\n\")}(n),f=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push(\"#define \"+n+\" \"+i)}return e.join(\"\\n\")}(a),m=r.createProgram();let g,_,v=n.glslVersion?\"#version \"+n.glslVersion+\"\\n\":\"\";n.isRawShaderMaterial?(g=[\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f].filter(ys).join(\"\\n\"),g.length>0&&(g+=\"\\n\"),_=[\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f].filter(ys).join(\"\\n\"),_.length>0&&(_+=\"\\n\")):(g=[Ds(n),\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f,n.extensionClipCullDistance?\"#define USE_CLIP_DISTANCE\":\"\",n.batching?\"#define USE_BATCHING\":\"\",n.batchingColor?\"#define USE_BATCHING_COLOR\":\"\",n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.instancingMorph?\"#define USE_INSTANCING_MORPH\":\"\",n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+h:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.displacementMap?\"#define USE_DISPLACEMENTMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.anisotropy?\"#define USE_ANISOTROPY\":\"\",n.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaHash?\"#define USE_ALPHAHASH\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.mapUv?\"#define MAP_UV \"+n.mapUv:\"\",n.alphaMapUv?\"#define ALPHAMAP_UV \"+n.alphaMapUv:\"\",n.lightMapUv?\"#define LIGHTMAP_UV \"+n.lightMapUv:\"\",n.aoMapUv?\"#define AOMAP_UV \"+n.aoMapUv:\"\",n.emissiveMapUv?\"#define EMISSIVEMAP_UV \"+n.emissiveMapUv:\"\",n.bumpMapUv?\"#define BUMPMAP_UV \"+n.bumpMapUv:\"\",n.normalMapUv?\"#define NORMALMAP_UV \"+n.normalMapUv:\"\",n.displacementMapUv?\"#define DISPLACEMENTMAP_UV \"+n.displacementMapUv:\"\",n.metalnessMapUv?\"#define METALNESSMAP_UV \"+n.metalnessMapUv:\"\",n.roughnessMapUv?\"#define ROUGHNESSMAP_UV \"+n.roughnessMapUv:\"\",n.anisotropyMapUv?\"#define ANISOTROPYMAP_UV \"+n.anisotropyMapUv:\"\",n.clearcoatMapUv?\"#define CLEARCOATMAP_UV \"+n.clearcoatMapUv:\"\",n.clearcoatNormalMapUv?\"#define CLEARCOAT_NORMALMAP_UV \"+n.clearcoatNormalMapUv:\"\",n.clearcoatRoughnessMapUv?\"#define CLEARCOAT_ROUGHNESSMAP_UV \"+n.clearcoatRoughnessMapUv:\"\",n.iridescenceMapUv?\"#define IRIDESCENCEMAP_UV \"+n.iridescenceMapUv:\"\",n.iridescenceThicknessMapUv?\"#define IRIDESCENCE_THICKNESSMAP_UV \"+n.iridescenceThicknessMapUv:\"\",n.sheenColorMapUv?\"#define SHEEN_COLORMAP_UV \"+n.sheenColorMapUv:\"\",n.sheenRoughnessMapUv?\"#define SHEEN_ROUGHNESSMAP_UV \"+n.sheenRoughnessMapUv:\"\",n.specularMapUv?\"#define SPECULARMAP_UV \"+n.specularMapUv:\"\",n.specularColorMapUv?\"#define SPECULAR_COLORMAP_UV \"+n.specularColorMapUv:\"\",n.specularIntensityMapUv?\"#define SPECULAR_INTENSITYMAP_UV \"+n.specularIntensityMapUv:\"\",n.transmissionMapUv?\"#define TRANSMISSIONMAP_UV \"+n.transmissionMapUv:\"\",n.thicknessMapUv?\"#define THICKNESSMAP_UV \"+n.thicknessMapUv:\"\",n.vertexTangents&&!1===n.flatShading?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&!1===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.morphColors?\"#define USE_MORPHCOLORS\":\"\",n.morphTargetsCount>0?\"#define MORPHTARGETS_TEXTURE_STRIDE \"+n.morphTextureStride:\"\",n.morphTargetsCount>0?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.reverseDepthBuffer?\"#define USE_REVERSEDEPTHBUF\":\"\",\"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(ys).join(\"\\n\"),_=[Ds(n),\"#define SHADER_TYPE \"+n.shaderType,\"#define SHADER_NAME \"+n.shaderName,f,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.alphaToCoverage?\"#define ALPHA_TO_COVERAGE\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+c:\"\",n.envMap?\"#define \"+h:\"\",n.envMap?\"#define \"+u:\"\",d?\"#define CUBEUV_TEXEL_WIDTH \"+d.texelWidth:\"\",d?\"#define CUBEUV_TEXEL_HEIGHT \"+d.texelHeight:\"\",d?\"#define CUBEUV_MAX_MIP \"+d.maxMip+\".0\":\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMapObjectSpace?\"#define USE_NORMALMAP_OBJECTSPACE\":\"\",n.normalMapTangentSpace?\"#define USE_NORMALMAP_TANGENTSPACE\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.anisotropy?\"#define USE_ANISOTROPY\":\"\",n.anisotropyMap?\"#define USE_ANISOTROPYMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.dispersion?\"#define USE_DISPERSION\":\"\",n.iridescence?\"#define USE_IRIDESCENCE\":\"\",n.iridescenceMap?\"#define USE_IRIDESCENCEMAP\":\"\",n.iridescenceThicknessMap?\"#define USE_IRIDESCENCE_THICKNESSMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularColorMap?\"#define USE_SPECULAR_COLORMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULAR_INTENSITYMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.alphaHash?\"#define USE_ALPHAHASH\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEEN_COLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEEN_ROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents&&!1===n.flatShading?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor||n.batchingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUv1s?\"#define USE_UV1\":\"\",n.vertexUv2s?\"#define USE_UV2\":\"\",n.vertexUv3s?\"#define USE_UV3\":\"\",n.pointsUvs?\"#define USE_POINTS_UV\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.numLightProbes>0?\"#define USE_LIGHT_PROBES\":\"\",n.decodeVideoTexture?\"#define DECODE_VIDEO_TEXTURE\":\"\",n.decodeVideoTextureEmissive?\"#define DECODE_VIDEO_TEXTURE_EMISSIVE\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.reverseDepthBuffer?\"#define USE_REVERSEDEPTHBUF\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",0!==n.toneMapping?\"#define TONE_MAPPING\":\"\",0!==n.toneMapping?wr.tonemapping_pars_fragment:\"\",0!==n.toneMapping?Ms(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.opaque?\"#define OPAQUE\":\"\",wr.colorspace_pars_fragment,xs(\"linearToOutputTexel\",n.outputColorSpace),Es(),n.useDepthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(ys).join(\"\\n\")),s=ws(s),s=Ts(s,n),s=bs(s,n),o=ws(o),o=Ts(o,n),o=bs(o,n),s=Us(s),o=Us(o),!0!==n.isRawShaderMaterial&&(v=\"#version 300 es\\n\",g=[p,\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+g,_=[\"#define varying in\",n.glslVersion===Jt?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===Jt?\"\":\"#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\"+_);const x=v+g+s,M=v+_+o,S=ms(r,r.VERTEX_SHADER,x),E=ms(r,r.FRAGMENT_SHADER,M);function y(e){if(t.debug.checkShaderErrors){const n=r.getProgramInfoLog(m).trim(),i=r.getShaderInfoLog(S).trim(),a=r.getShaderInfoLog(E).trim();let s=!0,o=!0;if(!1===r.getProgramParameter(m,r.LINK_STATUS))if(s=!1,\"function\"==typeof t.debug.onShaderError)t.debug.onShaderError(r,m,S,E);else{vs(r,S,\"vertex\"),vs(r,E,\"fragment\")}else\"\"!==n||\"\"!==i&&\"\"!==a||(o=!1);o&&(e.diagnostics={runnable:s,programLog:n,vertexShader:{log:i,prefix:g},fragmentShader:{log:a,prefix:_}})}r.deleteShader(S),r.deleteShader(E),T=new fs(r,m),b=function(t,e){const n={},i=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let r=0;r<i;r++){const i=t.getActiveAttrib(e,r),a=i.name;let s=1;i.type===t.FLOAT_MAT2&&(s=2),i.type===t.FLOAT_MAT3&&(s=3),i.type===t.FLOAT_MAT4&&(s=4),n[a]={type:i.type,location:t.getAttribLocation(e,a),locationSize:s}}return n}(r,m)}let T,b;r.attachShader(m,S),r.attachShader(m,E),void 0!==n.index0AttributeName?r.bindAttribLocation(m,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(m,0,\"position\"),r.linkProgram(m),this.getUniforms=function(){return void 0===T&&y(this),T},this.getAttributes=function(){return void 0===b&&y(this),b};let A=!1===n.rendererExtensionParallelShaderCompile;return this.isReady=function(){return!1===A&&(A=r.getProgramParameter(m,37297)),A},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(m),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=gs++,this.cacheKey=e,this.usedTimes=1,this.program=m,this.vertexShader=S,this.fragmentShader=E,this}let Ns=0;class Os{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(t){const e=t.vertexShader,n=t.fragmentShader,i=this._getShaderStage(e),r=this._getShaderStage(n),a=this._getShaderCacheForMaterial(t);return!1===a.has(i)&&(a.add(i),i.usedTimes++),!1===a.has(r)&&(a.add(r),r.usedTimes++),this}remove(t){const e=this.materialCache.get(t);for(const t of e)t.usedTimes--,0===t.usedTimes&&this.shaderCache.delete(t.code);return this.materialCache.delete(t),this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;let n=e.get(t);return void 0===n&&(n=new Set,e.set(t,n)),n}_getShaderStage(t){const e=this.shaderCache;let n=e.get(t);return void 0===n&&(n=new Fs(t),e.set(t,n)),n}}class Fs{constructor(t){this.id=Ns++,this.code=t,this.usedTimes=0}}function Bs(t,e,n,i,r,a,s){const o=new Tn,l=new Os,c=new Set,h=[],u=r.logarithmicDepthBuffer,d=r.vertexTextures;let p=r.precision;const f={MeshDepthMaterial:\"depth\",MeshDistanceMaterial:\"distanceRGBA\",MeshNormalMaterial:\"normal\",MeshBasicMaterial:\"basic\",MeshLambertMaterial:\"lambert\",MeshPhongMaterial:\"phong\",MeshToonMaterial:\"toon\",MeshStandardMaterial:\"physical\",MeshPhysicalMaterial:\"physical\",MeshMatcapMaterial:\"matcap\",LineBasicMaterial:\"basic\",LineDashedMaterial:\"dashed\",PointsMaterial:\"points\",ShadowMaterial:\"shadow\",SpriteMaterial:\"sprite\"};function m(t){return c.add(t),0===t?\"uv\":`uv${t}`}return{getParameters:function(a,o,h,g,_){const v=g.fog,x=_.geometry,M=a.isMeshStandardMaterial?g.environment:null,S=(a.isMeshStandardMaterial?n:e).get(a.envMap||M),E=S&&S.mapping===L?S.image.height:null,y=f[a.type];null!==a.precision&&(p=r.getMaxPrecision(a.precision),a.precision);const T=x.morphAttributes.position||x.morphAttributes.normal||x.morphAttributes.color,b=void 0!==T?T.length:0;let A,w,R,C,P=0;if(void 0!==x.morphAttributes.position&&(P=1),void 0!==x.morphAttributes.normal&&(P=2),void 0!==x.morphAttributes.color&&(P=3),y){const t=Cr[y];A=t.vertexShader,w=t.fragmentShader}else A=a.vertexShader,w=a.fragmentShader,l.update(a),R=l.getVertexShaderID(a),C=l.getFragmentShaderID(a);const U=t.getRenderTarget(),D=t.state.buffers.depth.getReversed(),I=!0===_.isInstancedMesh,N=!0===_.isBatchedMesh,O=!!a.map,F=!!a.matcap,B=!!S,z=!!a.aoMap,H=!!a.lightMap,V=!!a.bumpMap,G=!!a.normalMap,k=!!a.displacementMap,W=!!a.emissiveMap,X=!!a.metalnessMap,j=!!a.roughnessMap,q=a.anisotropy>0,Y=a.clearcoat>0,K=a.dispersion>0,Z=a.iridescence>0,J=a.sheen>0,$=a.transmission>0,Q=q&&!!a.anisotropyMap,tt=Y&&!!a.clearcoatMap,et=Y&&!!a.clearcoatNormalMap,nt=Y&&!!a.clearcoatRoughnessMap,it=Z&&!!a.iridescenceMap,rt=Z&&!!a.iridescenceThicknessMap,at=J&&!!a.sheenColorMap,st=J&&!!a.sheenRoughnessMap,ot=!!a.specularMap,lt=!!a.specularColorMap,ct=!!a.specularIntensityMap,ht=$&&!!a.transmissionMap,ut=$&&!!a.thicknessMap,dt=!!a.gradientMap,pt=!!a.alphaMap,ft=a.alphaTest>0,mt=!!a.alphaHash,gt=!!a.extensions;let _t=0;a.toneMapped&&(null!==U&&!0!==U.isXRRenderTarget||(_t=t.toneMapping));const vt={shaderID:y,shaderType:a.type,shaderName:a.name,vertexShader:A,fragmentShader:w,defines:a.defines,customVertexShaderID:R,customFragmentShaderID:C,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:p,batching:N,batchingColor:N&&null!==_._colorsTexture,instancing:I,instancingColor:I&&null!==_.instanceColor,instancingMorph:I&&null!==_.morphTexture,supportsVertexTextures:d,outputColorSpace:null===U?t.outputColorSpace:!0===U.isXRRenderTarget?U.texture.colorSpace:zt,alphaToCoverage:!!a.alphaToCoverage,map:O,matcap:F,envMap:B,envMapMode:B&&S.mapping,envMapCubeUVHeight:E,aoMap:z,lightMap:H,bumpMap:V,normalMap:G,displacementMap:d&&k,emissiveMap:W,normalMapObjectSpace:G&&1===a.normalMapType,normalMapTangentSpace:G&&0===a.normalMapType,metalnessMap:X,roughnessMap:j,anisotropy:q,anisotropyMap:Q,clearcoat:Y,clearcoatMap:tt,clearcoatNormalMap:et,clearcoatRoughnessMap:nt,dispersion:K,iridescence:Z,iridescenceMap:it,iridescenceThicknessMap:rt,sheen:J,sheenColorMap:at,sheenRoughnessMap:st,specularMap:ot,specularColorMap:lt,specularIntensityMap:ct,transmission:$,transmissionMap:ht,thicknessMap:ut,gradientMap:dt,opaque:!1===a.transparent&&1===a.blending&&!1===a.alphaToCoverage,alphaMap:pt,alphaTest:ft,alphaHash:mt,combine:a.combine,mapUv:O&&m(a.map.channel),aoMapUv:z&&m(a.aoMap.channel),lightMapUv:H&&m(a.lightMap.channel),bumpMapUv:V&&m(a.bumpMap.channel),normalMapUv:G&&m(a.normalMap.channel),displacementMapUv:k&&m(a.displacementMap.channel),emissiveMapUv:W&&m(a.emissiveMap.channel),metalnessMapUv:X&&m(a.metalnessMap.channel),roughnessMapUv:j&&m(a.roughnessMap.channel),anisotropyMapUv:Q&&m(a.anisotropyMap.channel),clearcoatMapUv:tt&&m(a.clearcoatMap.channel),clearcoatNormalMapUv:et&&m(a.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:nt&&m(a.clearcoatRoughnessMap.channel),iridescenceMapUv:it&&m(a.iridescenceMap.channel),iridescenceThicknessMapUv:rt&&m(a.iridescenceThicknessMap.channel),sheenColorMapUv:at&&m(a.sheenColorMap.channel),sheenRoughnessMapUv:st&&m(a.sheenRoughnessMap.channel),specularMapUv:ot&&m(a.specularMap.channel),specularColorMapUv:lt&&m(a.specularColorMap.channel),specularIntensityMapUv:ct&&m(a.specularIntensityMap.channel),transmissionMapUv:ht&&m(a.transmissionMap.channel),thicknessMapUv:ut&&m(a.thicknessMap.channel),alphaMapUv:pt&&m(a.alphaMap.channel),vertexTangents:!!x.attributes.tangent&&(G||q),vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!x.attributes.color&&4===x.attributes.color.itemSize,pointsUvs:!0===_.isPoints&&!!x.attributes.uv&&(O||pt),fog:!!v,useFog:!0===a.fog,fogExp2:!!v&&v.isFogExp2,flatShading:!0===a.flatShading,sizeAttenuation:!0===a.sizeAttenuation,logarithmicDepthBuffer:u,reverseDepthBuffer:D,skinning:!0===_.isSkinnedMesh,morphTargets:void 0!==x.morphAttributes.position,morphNormals:void 0!==x.morphAttributes.normal,morphColors:void 0!==x.morphAttributes.color,morphTargetsCount:b,morphTextureStride:P,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numLightProbes:o.numLightProbes,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:a.dithering,shadowMapEnabled:t.shadowMap.enabled&&h.length>0,shadowMapType:t.shadowMap.type,toneMapping:_t,decodeVideoTexture:O&&!0===a.map.isVideoTexture&&Me.getTransfer(a.map.colorSpace)===Vt,decodeVideoTextureEmissive:W&&!0===a.emissiveMap.isVideoTexture&&Me.getTransfer(a.emissiveMap.colorSpace)===Vt,premultipliedAlpha:a.premultipliedAlpha,doubleSided:2===a.side,flipSided:1===a.side,useDepthPacking:a.depthPacking>=0,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionClipCullDistance:gt&&!0===a.extensions.clipCullDistance&&i.has(\"WEBGL_clip_cull_distance\"),extensionMultiDraw:(gt&&!0===a.extensions.multiDraw||N)&&i.has(\"WEBGL_multi_draw\"),rendererExtensionParallelShaderCompile:i.has(\"KHR_parallel_shader_compile\"),customProgramCacheKey:a.customProgramCacheKey()};return vt.vertexUv1s=c.has(1),vt.vertexUv2s=c.has(2),vt.vertexUv3s=c.has(3),c.clear(),vt},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputColorSpace),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.mapUv),t.push(e.alphaMapUv),t.push(e.lightMapUv),t.push(e.aoMapUv),t.push(e.bumpMapUv),t.push(e.normalMapUv),t.push(e.displacementMapUv),t.push(e.emissiveMapUv),t.push(e.metalnessMapUv),t.push(e.roughnessMapUv),t.push(e.anisotropyMapUv),t.push(e.clearcoatMapUv),t.push(e.clearcoatNormalMapUv),t.push(e.clearcoatRoughnessMapUv),t.push(e.iridescenceMapUv),t.push(e.iridescenceThicknessMapUv),t.push(e.sheenColorMapUv),t.push(e.sheenRoughnessMapUv),t.push(e.specularMapUv),t.push(e.specularColorMapUv),t.push(e.specularIntensityMapUv),t.push(e.transmissionMapUv),t.push(e.thicknessMapUv),t.push(e.combine),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numSpotLightMaps),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.numSpotLightShadowsWithMaps),t.push(e.numLightProbes),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(n,e),function(t,e){o.disableAll(),e.supportsVertexTextures&&o.enable(0);e.instancing&&o.enable(1);e.instancingColor&&o.enable(2);e.instancingMorph&&o.enable(3);e.matcap&&o.enable(4);e.envMap&&o.enable(5);e.normalMapObjectSpace&&o.enable(6);e.normalMapTangentSpace&&o.enable(7);e.clearcoat&&o.enable(8);e.iridescence&&o.enable(9);e.alphaTest&&o.enable(10);e.vertexColors&&o.enable(11);e.vertexAlphas&&o.enable(12);e.vertexUv1s&&o.enable(13);e.vertexUv2s&&o.enable(14);e.vertexUv3s&&o.enable(15);e.vertexTangents&&o.enable(16);e.anisotropy&&o.enable(17);e.alphaHash&&o.enable(18);e.batching&&o.enable(19);e.dispersion&&o.enable(20);e.batchingColor&&o.enable(21);t.push(o.mask),o.disableAll(),e.fog&&o.enable(0);e.useFog&&o.enable(1);e.flatShading&&o.enable(2);e.logarithmicDepthBuffer&&o.enable(3);e.reverseDepthBuffer&&o.enable(4);e.skinning&&o.enable(5);e.morphTargets&&o.enable(6);e.morphNormals&&o.enable(7);e.morphColors&&o.enable(8);e.premultipliedAlpha&&o.enable(9);e.shadowMapEnabled&&o.enable(10);e.doubleSided&&o.enable(11);e.flipSided&&o.enable(12);e.useDepthPacking&&o.enable(13);e.dithering&&o.enable(14);e.transmission&&o.enable(15);e.sheen&&o.enable(16);e.opaque&&o.enable(17);e.pointsUvs&&o.enable(18);e.decodeVideoTexture&&o.enable(19);e.decodeVideoTextureEmissive&&o.enable(20);e.alphaToCoverage&&o.enable(21);t.push(o.mask)}(n,e),n.push(t.outputColorSpace)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=f[t.type];let n;if(e){const t=Cr[e];n=Gi.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let i;for(let t=0,e=h.length;t<e;t++){const e=h[t];if(e.cacheKey===n){i=e,++i.usedTimes;break}}return void 0===i&&(i=new Is(t,n,e,a),h.push(i)),i},releaseProgram:function(t){if(0===--t.usedTimes){const e=h.indexOf(t);h[e]=h[h.length-1],h.pop(),t.destroy()}},releaseShaderCache:function(t){l.remove(t)},programs:h,dispose:function(){l.dispose()}}}function zs(){let t=new WeakMap;return{has:function(e){return t.has(e)},get:function(e){let n=t.get(e);return void 0===n&&(n={},t.set(e,n)),n},remove:function(e){t.delete(e)},update:function(e,n,i){t.get(e)[n]=i},dispose:function(){t=new WeakMap}}}function Hs(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function Vs(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Gs(){const t=[];let e=0;const n=[],i=[],r=[];function a(n,i,r,a,s,o){let l=t[e];return void 0===l?(l={id:n.id,object:n,geometry:i,material:r,groupOrder:a,renderOrder:n.renderOrder,z:s,group:o},t[e]=l):(l.id=n.id,l.object=n,l.geometry=i,l.material=r,l.groupOrder=a,l.renderOrder=n.renderOrder,l.z=s,l.group=o),e++,l}return{opaque:n,transmissive:i,transparent:r,init:function(){e=0,n.length=0,i.length=0,r.length=0},push:function(t,e,s,o,l,c){const h=a(t,e,s,o,l,c);s.transmission>0?i.push(h):!0===s.transparent?r.push(h):n.push(h)},unshift:function(t,e,s,o,l,c){const h=a(t,e,s,o,l,c);s.transmission>0?i.unshift(h):!0===s.transparent?r.unshift(h):n.unshift(h)},finish:function(){for(let n=e,i=t.length;n<i;n++){const e=t[n];if(null===e.id)break;e.id=null,e.object=null,e.geometry=null,e.material=null,e.group=null}},sort:function(t,e){n.length>1&&n.sort(t||Hs),i.length>1&&i.sort(e||Vs),r.length>1&&r.sort(e||Vs)}}}function ks(){let t=new WeakMap;return{get:function(e,n){const i=t.get(e);let r;return void 0===i?(r=new Gs,t.set(e,[r])):n>=i.length?(r=new Gs,i.push(r)):r=i[n],r},dispose:function(){t=new WeakMap}}}function Ws(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case\"DirectionalLight\":n={direction:new Oe,color:new ai};break;case\"SpotLight\":n={position:new Oe,direction:new Oe,color:new ai,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Oe,color:new ai,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Oe,skyColor:new ai,groundColor:new ai};break;case\"RectAreaLight\":n={color:new ai,position:new Oe,halfWidth:new Oe,halfHeight:new Oe}}return t[e.id]=n,n}}}let Xs=0;function js(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function qs(t){const e=new Ws,n=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case\"DirectionalLight\":case\"SpotLight\":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce};break;case\"PointLight\":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let t=0;t<9;t++)i.probe.push(new Oe);const r=new Oe,a=new pn,s=new pn;return{setup:function(r){let a=0,s=0,o=0;for(let t=0;t<9;t++)i.probe[t].set(0,0,0);let l=0,c=0,h=0,u=0,d=0,p=0,f=0,m=0,g=0,_=0,v=0;r.sort(js);for(let t=0,x=r.length;t<x;t++){const x=r[t],M=x.color,S=x.intensity,E=x.distance,y=x.shadow&&x.shadow.map?x.shadow.map.texture:null;if(x.isAmbientLight)a+=M.r*S,s+=M.g*S,o+=M.b*S;else if(x.isLightProbe){for(let t=0;t<9;t++)i.probe[t].addScaledVector(x.sh.coefficients[t],S);v++}else if(x.isDirectionalLight){const t=e.get(x);if(t.color.copy(x.color).multiplyScalar(x.intensity),x.castShadow){const t=x.shadow,e=n.get(x);e.shadowIntensity=t.intensity,e.shadowBias=t.bias,e.shadowNormalBias=t.normalBias,e.shadowRadius=t.radius,e.shadowMapSize=t.mapSize,i.directionalShadow[l]=e,i.directionalShadowMap[l]=y,i.directionalShadowMatrix[l]=x.shadow.matrix,p++}i.directional[l]=t,l++}else if(x.isSpotLight){const t=e.get(x);t.position.setFromMatrixPosition(x.matrixWorld),t.color.copy(M).multiplyScalar(S),t.distance=E,t.coneCos=Math.cos(x.angle),t.penumbraCos=Math.cos(x.angle*(1-x.penumbra)),t.decay=x.decay,i.spot[h]=t;const r=x.shadow;if(x.map&&(i.spotLightMap[g]=x.map,g++,r.updateMatrices(x),x.castShadow&&_++),i.spotLightMatrix[h]=r.matrix,x.castShadow){const t=n.get(x);t.shadowIntensity=r.intensity,t.shadowBias=r.bias,t.shadowNormalBias=r.normalBias,t.shadowRadius=r.radius,t.shadowMapSize=r.mapSize,i.spotShadow[h]=t,i.spotShadowMap[h]=y,m++}h++}else if(x.isRectAreaLight){const t=e.get(x);t.color.copy(M).multiplyScalar(S),t.halfWidth.set(.5*x.width,0,0),t.halfHeight.set(0,.5*x.height,0),i.rectArea[u]=t,u++}else if(x.isPointLight){const t=e.get(x);if(t.color.copy(x.color).multiplyScalar(x.intensity),t.distance=x.distance,t.decay=x.decay,x.castShadow){const t=x.shadow,e=n.get(x);e.shadowIntensity=t.intensity,e.shadowBias=t.bias,e.shadowNormalBias=t.normalBias,e.shadowRadius=t.radius,e.shadowMapSize=t.mapSize,e.shadowCameraNear=t.camera.near,e.shadowCameraFar=t.camera.far,i.pointShadow[c]=e,i.pointShadowMap[c]=y,i.pointShadowMatrix[c]=x.shadow.matrix,f++}i.point[c]=t,c++}else if(x.isHemisphereLight){const t=e.get(x);t.skyColor.copy(x.color).multiplyScalar(S),t.groundColor.copy(x.groundColor).multiplyScalar(S),i.hemi[d]=t,d++}}u>0&&(!0===t.has(\"OES_texture_float_linear\")?(i.rectAreaLTC1=Rr.LTC_FLOAT_1,i.rectAreaLTC2=Rr.LTC_FLOAT_2):(i.rectAreaLTC1=Rr.LTC_HALF_1,i.rectAreaLTC2=Rr.LTC_HALF_2)),i.ambient[0]=a,i.ambient[1]=s,i.ambient[2]=o;const x=i.hash;x.directionalLength===l&&x.pointLength===c&&x.spotLength===h&&x.rectAreaLength===u&&x.hemiLength===d&&x.numDirectionalShadows===p&&x.numPointShadows===f&&x.numSpotShadows===m&&x.numSpotMaps===g&&x.numLightProbes===v||(i.directional.length=l,i.spot.length=h,i.rectArea.length=u,i.point.length=c,i.hemi.length=d,i.directionalShadow.length=p,i.directionalShadowMap.length=p,i.pointShadow.length=f,i.pointShadowMap.length=f,i.spotShadow.length=m,i.spotShadowMap.length=m,i.directionalShadowMatrix.length=p,i.pointShadowMatrix.length=f,i.spotLightMatrix.length=m+g-_,i.spotLightMap.length=g,i.numSpotLightShadowsWithMaps=_,i.numLightProbes=v,x.directionalLength=l,x.pointLength=c,x.spotLength=h,x.rectAreaLength=u,x.hemiLength=d,x.numDirectionalShadows=p,x.numPointShadows=f,x.numSpotShadows=m,x.numSpotMaps=g,x.numLightProbes=v,i.version=Xs++)},setupView:function(t,e){let n=0,o=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e<d;e++){const d=t[e];if(d.isDirectionalLight){const t=i.directional[n];t.direction.setFromMatrixPosition(d.matrixWorld),r.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(r),t.direction.transformDirection(u),n++}else if(d.isSpotLight){const t=i.spot[l];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),t.direction.setFromMatrixPosition(d.matrixWorld),r.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(r),t.direction.transformDirection(u),l++}else if(d.isRectAreaLight){const t=i.rectArea[c];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),s.identity(),a.copy(d.matrixWorld),a.premultiply(u),s.extractRotation(a),t.halfWidth.set(.5*d.width,0,0),t.halfHeight.set(0,.5*d.height,0),t.halfWidth.applyMatrix4(s),t.halfHeight.applyMatrix4(s),c++}else if(d.isPointLight){const t=i.point[o];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),o++}else if(d.isHemisphereLight){const t=i.hemi[h];t.direction.setFromMatrixPosition(d.matrixWorld),t.direction.transformDirection(u),h++}}},state:i}}function Ys(t){const e=new qs(t),n=[],i=[];const r={lightsArray:n,shadowsArray:i,camera:null,lights:e,transmissionRenderTarget:{}};return{init:function(t){r.camera=t,n.length=0,i.length=0},state:r,setupLights:function(){e.setup(n)},setupLightsView:function(t){e.setupView(n,t)},pushLight:function(t){n.push(t)},pushShadow:function(t){i.push(t)}}}function Ks(t){let e=new WeakMap;return{get:function(n,i=0){const r=e.get(n);let a;return void 0===r?(a=new Ys(t),e.set(n,[a])):i>=r.length?(a=new Ys(t),r.push(a)):a=r[i],a},dispose:function(){e=new WeakMap}}}function Zs(t,r,a){let s=new cr;const o=new ce,l=new ce,c=new Pe,h=new dr({depthPacking:3201}),u=new pr,d={},p=a.maxTextureSize,f={[e]:1,[n]:0,[i]:2},m=new ki({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ce},radius:{value:4}},vertexShader:\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\",fragmentShader:\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include <packing>\\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\"}),g=m.clone();g.defines.HORIZONTAL_PASS=1;const _=new Ti;_.setAttribute(\"position\",new pi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new Oi(_,m),x=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1;let M=this.type;function S(e,n){const i=r.update(v);m.defines.VSM_SAMPLES!==e.blurSamples&&(m.defines.VSM_SAMPLES=e.blurSamples,g.defines.VSM_SAMPLES=e.blurSamples,m.needsUpdate=!0,g.needsUpdate=!0),null===e.mapPass&&(e.mapPass=new Le(o.x,o.y)),m.uniforms.shadow_pass.value=e.map.texture,m.uniforms.resolution.value=e.mapSize,m.uniforms.radius.value=e.radius,t.setRenderTarget(e.mapPass),t.clear(),t.renderBufferDirect(n,null,i,m,v,null),g.uniforms.shadow_pass.value=e.mapPass.texture,g.uniforms.resolution.value=e.mapSize,g.uniforms.radius.value=e.radius,t.setRenderTarget(e.map),t.clear(),t.renderBufferDirect(n,null,i,g,v,null)}function E(e,n,i,r){let a=null;const s=!0===i.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(void 0!==s)a=s;else if(a=!0===i.isPointLight?u:h,t.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const t=a.uuid,e=n.uuid;let i=d[t];void 0===i&&(i={},d[t]=i);let r=i[e];void 0===r&&(r=a.clone(),i[e]=r,n.addEventListener(\"dispose\",T)),a=r}if(a.visible=n.visible,a.wireframe=n.wireframe,a.side=3===r?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:f[n.side],a.alphaMap=n.alphaMap,a.alphaTest=n.alphaTest,a.map=n.map,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.clipIntersection=n.clipIntersection,a.displacementMap=n.displacementMap,a.displacementScale=n.displacementScale,a.displacementBias=n.displacementBias,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,!0===i.isPointLight&&!0===a.isMeshDistanceMaterial){t.properties.get(a).light=i}return a}function y(e,n,i,a,o){if(!1===e.visible)return;if(e.layers.test(n.layers)&&(e.isMesh||e.isLine||e.isPoints)&&(e.castShadow||e.receiveShadow&&3===o)&&(!e.frustumCulled||s.intersectsObject(e))){e.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,e.matrixWorld);const s=r.update(e),l=e.material;if(Array.isArray(l)){const r=s.groups;for(let c=0,h=r.length;c<h;c++){const h=r[c],u=l[h.materialIndex];if(u&&u.visible){const r=E(e,u,a,o);e.onBeforeShadow(t,e,n,i,s,r,h),t.renderBufferDirect(i,null,s,r,e,h),e.onAfterShadow(t,e,n,i,s,r,h)}}}else if(l.visible){const r=E(e,l,a,o);e.onBeforeShadow(t,e,n,i,s,r,null),t.renderBufferDirect(i,null,s,r,e,null),e.onAfterShadow(t,e,n,i,s,r,null)}}const l=e.children;for(let t=0,e=l.length;t<e;t++)y(l[t],n,i,a,o)}function T(t){t.target.removeEventListener(\"dispose\",T);for(const e in d){const n=d[e],i=t.target.uuid;if(i in n){n[i].dispose(),delete n[i]}}}this.render=function(e,n,i){if(!1===x.enabled)return;if(!1===x.autoUpdate&&!1===x.needsUpdate)return;if(0===e.length)return;const r=t.getRenderTarget(),a=t.getActiveCubeFace(),h=t.getActiveMipmapLevel(),u=t.state;u.setBlending(0),u.buffers.color.setClear(1,1,1,1),u.buffers.depth.setTest(!0),u.setScissorTest(!1);const d=3!==M&&3===this.type,f=3===M&&3!==this.type;for(let r=0,a=e.length;r<a;r++){const a=e[r],h=a.shadow;if(void 0===h)continue;if(!1===h.autoUpdate&&!1===h.needsUpdate)continue;o.copy(h.mapSize);const m=h.getFrameExtents();if(o.multiply(m),l.copy(h.mapSize),(o.x>p||o.y>p)&&(o.x>p&&(l.x=Math.floor(p/m.x),o.x=l.x*m.x,h.mapSize.x=l.x),o.y>p&&(l.y=Math.floor(p/m.y),o.y=l.y*m.y,h.mapSize.y=l.y)),null===h.map||!0===d||!0===f){const t=3!==this.type?{minFilter:O,magFilter:O}:{};null!==h.map&&h.map.dispose(),h.map=new Le(o.x,o.y,t),h.map.texture.name=a.name+\".shadowMap\",h.camera.updateProjectionMatrix()}t.setRenderTarget(h.map),t.clear();const g=h.getViewportCount();for(let t=0;t<g;t++){const e=h.getViewport(t);c.set(l.x*e.x,l.y*e.y,l.x*e.z,l.y*e.w),u.viewport(c),h.updateMatrices(a,t),s=h.getFrustum(),y(n,i,h.camera,a,this.type)}!0!==h.isPointLightShadow&&3===this.type&&S(h,i),h.needsUpdate=!1}M=this.type,x.needsUpdate=!1,t.setRenderTarget(r,a,h)}}const Js={[E]:1,[T]:6,[A]:7,[b]:5,[y]:0,[R]:2,[C]:4,[w]:3};function $s(t,e){const n=new function(){let e=!1;const n=new Pe;let i=null;const r=new Pe(0,0,0,0);return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,a,s,o){!0===o&&(e*=s,i*=s,a*=s),n.set(e,i,a,s),!1===r.equals(n)&&(t.clearColor(e,i,a,s),r.copy(n))},reset:function(){e=!1,i=null,r.set(-1,0,0,0)}}},i=new function(){let n=!1,i=!1,r=null,a=null,s=null;return{setReversed:function(t){if(i!==t){const t=e.get(\"EXT_clip_control\");i?t.clipControlEXT(t.LOWER_LEFT_EXT,t.ZERO_TO_ONE_EXT):t.clipControlEXT(t.LOWER_LEFT_EXT,t.NEGATIVE_ONE_TO_ONE_EXT);const n=s;s=null,this.setClear(n)}i=t},getReversed:function(){return i},setTest:function(e){e?rt(t.DEPTH_TEST):at(t.DEPTH_TEST)},setMask:function(e){r===e||n||(t.depthMask(e),r=e)},setFunc:function(e){if(i&&(e=Js[e]),a!==e){switch(e){case 0:t.depthFunc(t.NEVER);break;case 1:t.depthFunc(t.ALWAYS);break;case 2:t.depthFunc(t.LESS);break;case 3:default:t.depthFunc(t.LEQUAL);break;case 4:t.depthFunc(t.EQUAL);break;case 5:t.depthFunc(t.GEQUAL);break;case 6:t.depthFunc(t.GREATER);break;case 7:t.depthFunc(t.NOTEQUAL)}a=e}},setLocked:function(t){n=t},setClear:function(e){s!==e&&(i&&(e=1-e),t.clearDepth(e),s=e)},reset:function(){n=!1,r=null,a=null,s=null,i=!1}}},E=new function(){let e=!1,n=null,i=null,r=null,a=null,s=null,o=null,l=null,c=null;return{setTest:function(n){e||(n?rt(t.STENCIL_TEST):at(t.STENCIL_TEST))},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,s){i===e&&r===n&&a===s||(t.stencilFunc(e,n,s),i=e,r=n,a=s)},setOp:function(e,n,i){s===e&&o===n&&l===i||(t.stencilOp(e,n,i),s=e,o=n,l=i)},setLocked:function(t){e=t},setClear:function(e){c!==e&&(t.clearStencil(e),c=e)},reset:function(){e=!1,n=null,i=null,r=null,a=null,s=null,o=null,l=null,c=null}}},y=new WeakMap,T=new WeakMap;let b={},A={},w=new WeakMap,R=[],C=null,P=!1,U=null,L=null,D=null,I=null,N=null,O=null,F=null,B=new ai(0,0,0),z=0,H=!1,V=null,G=null,k=null,W=null,X=null;const j=t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let q=!1,Y=0;const K=t.getParameter(t.VERSION);-1!==K.indexOf(\"WebGL\")?(Y=parseFloat(/^WebGL (\\d)/.exec(K)[1]),q=Y>=1):-1!==K.indexOf(\"OpenGL ES\")&&(Y=parseFloat(/^OpenGL ES (\\d)/.exec(K)[1]),q=Y>=2);let Z=null,J={};const $=t.getParameter(t.SCISSOR_BOX),Q=t.getParameter(t.VIEWPORT),tt=(new Pe).fromArray($),et=(new Pe).fromArray(Q);function nt(e,n,i,r){const a=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(e,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let s=0;s<i;s++)e===t.TEXTURE_3D||e===t.TEXTURE_2D_ARRAY?t.texImage3D(n,0,t.RGBA,1,1,r,0,t.RGBA,t.UNSIGNED_BYTE,a):t.texImage2D(n+s,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,a);return s}const it={};function rt(e){!0!==b[e]&&(t.enable(e),b[e]=!0)}function at(e){!1!==b[e]&&(t.disable(e),b[e]=!1)}it[t.TEXTURE_2D]=nt(t.TEXTURE_2D,t.TEXTURE_2D,1),it[t.TEXTURE_CUBE_MAP]=nt(t.TEXTURE_CUBE_MAP,t.TEXTURE_CUBE_MAP_POSITIVE_X,6),it[t.TEXTURE_2D_ARRAY]=nt(t.TEXTURE_2D_ARRAY,t.TEXTURE_2D_ARRAY,1,1),it[t.TEXTURE_3D]=nt(t.TEXTURE_3D,t.TEXTURE_3D,1,1),n.setClear(0,0,0,1),i.setClear(1),E.setClear(0),rt(t.DEPTH_TEST),i.setFunc(3),ct(!1),ht(1),rt(t.CULL_FACE),lt(0);const st={[r]:t.FUNC_ADD,[a]:t.FUNC_SUBTRACT,[s]:t.FUNC_REVERSE_SUBTRACT};st[103]=t.MIN,st[104]=t.MAX;const ot={[o]:t.ZERO,[l]:t.ONE,[c]:t.SRC_COLOR,[u]:t.SRC_ALPHA,[_]:t.SRC_ALPHA_SATURATE,[m]:t.DST_COLOR,[p]:t.DST_ALPHA,[h]:t.ONE_MINUS_SRC_COLOR,[d]:t.ONE_MINUS_SRC_ALPHA,[g]:t.ONE_MINUS_DST_COLOR,[f]:t.ONE_MINUS_DST_ALPHA,[v]:t.CONSTANT_COLOR,[x]:t.ONE_MINUS_CONSTANT_COLOR,[M]:t.CONSTANT_ALPHA,[S]:t.ONE_MINUS_CONSTANT_ALPHA};function lt(e,n,i,a,s,o,l,c,h,u){if(0!==e){if(!1===P&&(rt(t.BLEND),P=!0),5===e)s=s||n,o=o||i,l=l||a,n===L&&s===N||(t.blendEquationSeparate(st[n],st[s]),L=n,N=s),i===D&&a===I&&o===O&&l===F||(t.blendFuncSeparate(ot[i],ot[a],ot[o],ot[l]),D=i,I=a,O=o,F=l),!1!==c.equals(B)&&h===z||(t.blendColor(c.r,c.g,c.b,h),B.copy(c),z=h),U=e,H=!1;else if(e!==U||u!==H){if(L===r&&N===r||(t.blendEquation(t.FUNC_ADD),L=r,N=r),u)switch(e){case 1:t.blendFuncSeparate(t.ONE,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA);break;case 2:t.blendFunc(t.ONE,t.ONE);break;case 3:t.blendFuncSeparate(t.ZERO,t.ONE_MINUS_SRC_COLOR,t.ZERO,t.ONE);break;case 4:t.blendFuncSeparate(t.ZERO,t.SRC_COLOR,t.ZERO,t.SRC_ALPHA)}else switch(e){case 1:t.blendFuncSeparate(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA);break;case 2:t.blendFunc(t.SRC_ALPHA,t.ONE);break;case 3:t.blendFuncSeparate(t.ZERO,t.ONE_MINUS_SRC_COLOR,t.ZERO,t.ONE);break;case 4:t.blendFunc(t.ZERO,t.SRC_COLOR)}D=null,I=null,O=null,F=null,B.set(0,0,0),z=0,U=e,H=u}}else!0===P&&(at(t.BLEND),P=!1)}function ct(e){V!==e&&(e?t.frontFace(t.CW):t.frontFace(t.CCW),V=e)}function ht(e){0!==e?(rt(t.CULL_FACE),e!==G&&(1===e?t.cullFace(t.BACK):2===e?t.cullFace(t.FRONT):t.cullFace(t.FRONT_AND_BACK))):at(t.CULL_FACE),G=e}function ut(e,n,i){e?(rt(t.POLYGON_OFFSET_FILL),W===n&&X===i||(t.polygonOffset(n,i),W=n,X=i)):at(t.POLYGON_OFFSET_FILL)}return{buffers:{color:n,depth:i,stencil:E},enable:rt,disable:at,bindFramebuffer:function(e,n){return A[e]!==n&&(t.bindFramebuffer(e,n),A[e]=n,e===t.DRAW_FRAMEBUFFER&&(A[t.FRAMEBUFFER]=n),e===t.FRAMEBUFFER&&(A[t.DRAW_FRAMEBUFFER]=n),!0)},drawBuffers:function(e,n){let i=R,r=!1;if(e){i=w.get(n),void 0===i&&(i=[],w.set(n,i));const a=e.textures;if(i.length!==a.length||i[0]!==t.COLOR_ATTACHMENT0){for(let e=0,n=a.length;e<n;e++)i[e]=t.COLOR_ATTACHMENT0+e;i.length=a.length,r=!0}}else i[0]!==t.BACK&&(i[0]=t.BACK,r=!0);r&&t.drawBuffers(i)},useProgram:function(e){return C!==e&&(t.useProgram(e),C=e,!0)},setBlending:lt,setMaterial:function(e,r){2===e.side?at(t.CULL_FACE):rt(t.CULL_FACE);let a=1===e.side;r&&(a=!a),ct(a),1===e.blending&&!1===e.transparent?lt(0):lt(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.blendColor,e.blendAlpha,e.premultipliedAlpha),i.setFunc(e.depthFunc),i.setTest(e.depthTest),i.setMask(e.depthWrite),n.setMask(e.colorWrite);const s=e.stencilWrite;E.setTest(s),s&&(E.setMask(e.stencilWriteMask),E.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),E.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),ut(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits),!0===e.alphaToCoverage?rt(t.SAMPLE_ALPHA_TO_COVERAGE):at(t.SAMPLE_ALPHA_TO_COVERAGE)},setFlipSided:ct,setCullFace:ht,setLineWidth:function(e){e!==k&&(q&&t.lineWidth(e),k=e)},setPolygonOffset:ut,setScissorTest:function(e){e?rt(t.SCISSOR_TEST):at(t.SCISSOR_TEST)},activeTexture:function(e){void 0===e&&(e=t.TEXTURE0+j-1),Z!==e&&(t.activeTexture(e),Z=e)},bindTexture:function(e,n,i){void 0===i&&(i=null===Z?t.TEXTURE0+j-1:Z);let r=J[i];void 0===r&&(r={type:void 0,texture:void 0},J[i]=r),r.type===e&&r.texture===n||(Z!==i&&(t.activeTexture(i),Z=i),t.bindTexture(e,n||it[e]),r.type=e,r.texture=n)},unbindTexture:function(){const e=J[Z];void 0!==e&&void 0!==e.type&&(t.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{t.compressedTexImage2D(...arguments)}catch(t){}},compressedTexImage3D:function(){try{t.compressedTexImage3D(...arguments)}catch(t){}},texImage2D:function(){try{t.texImage2D(...arguments)}catch(t){}},texImage3D:function(){try{t.texImage3D(...arguments)}catch(t){}},updateUBOMapping:function(e,n){let i=T.get(n);void 0===i&&(i=new WeakMap,T.set(n,i));let r=i.get(e);void 0===r&&(r=t.getUniformBlockIndex(n,e.name),i.set(e,r))},uniformBlockBinding:function(e,n){const i=T.get(n).get(e);y.get(n)!==i&&(t.uniformBlockBinding(n,i,e.__bindingPointIndex),y.set(n,i))},texStorage2D:function(){try{t.texStorage2D(...arguments)}catch(t){}},texStorage3D:function(){try{t.texStorage3D(...arguments)}catch(t){}},texSubImage2D:function(){try{t.texSubImage2D(...arguments)}catch(t){}},texSubImage3D:function(){try{t.texSubImage3D(...arguments)}catch(t){}},compressedTexSubImage2D:function(){try{t.compressedTexSubImage2D(...arguments)}catch(t){}},compressedTexSubImage3D:function(){try{t.compressedTexSubImage3D(...arguments)}catch(t){}},scissor:function(e){!1===tt.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),tt.copy(e))},viewport:function(e){!1===et.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),et.copy(e))},reset:function(){t.disable(t.BLEND),t.disable(t.CULL_FACE),t.disable(t.DEPTH_TEST),t.disable(t.POLYGON_OFFSET_FILL),t.disable(t.SCISSOR_TEST),t.disable(t.STENCIL_TEST),t.disable(t.SAMPLE_ALPHA_TO_COVERAGE),t.blendEquation(t.FUNC_ADD),t.blendFunc(t.ONE,t.ZERO),t.blendFuncSeparate(t.ONE,t.ZERO,t.ONE,t.ZERO),t.blendColor(0,0,0,0),t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.depthMask(!0),t.depthFunc(t.LESS),i.setReversed(!1),t.clearDepth(1),t.stencilMask(4294967295),t.stencilFunc(t.ALWAYS,0,4294967295),t.stencilOp(t.KEEP,t.KEEP,t.KEEP),t.clearStencil(0),t.cullFace(t.BACK),t.frontFace(t.CCW),t.polygonOffset(0,0),t.activeTexture(t.TEXTURE0),t.bindFramebuffer(t.FRAMEBUFFER,null),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),t.bindFramebuffer(t.READ_FRAMEBUFFER,null),t.useProgram(null),t.lineWidth(1),t.scissor(0,0,t.canvas.width,t.canvas.height),t.viewport(0,0,t.canvas.width,t.canvas.height),b={},Z=null,J={},A={},w=new WeakMap,R=[],C=null,P=!1,U=null,L=null,D=null,I=null,N=null,O=null,F=null,B=new ai(0,0,0),z=0,H=!1,V=null,G=null,k=null,W=null,X=null,tt.set(0,0,t.canvas.width,t.canvas.height),et.set(0,0,t.canvas.width,t.canvas.height),n.reset(),i.reset(),E.reset()}}}function Qs(t,e,n,i,r,a,s){const o=e.has(\"WEBGL_multisampled_render_to_texture\")?e.get(\"WEBGL_multisampled_render_to_texture\"):null,l=\"undefined\"!=typeof navigator&&/OculusBrowser/g.test(navigator.userAgent),c=new ce,h=new WeakMap;let u;const d=new WeakMap;let p=!1;try{p=\"undefined\"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext(\"2d\")}catch(t){}function f(t,e){return p?new OffscreenCanvas(t,e):pe(\"canvas\")}function m(t,e,n){let i=1;const r=it(t);if((r.width>n||r.height>n)&&(i=n/Math.max(r.width,r.height)),i<1){if(\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap||\"undefined\"!=typeof VideoFrame&&t instanceof VideoFrame){const n=Math.floor(i*r.width),a=Math.floor(i*r.height);void 0===u&&(u=f(n,a));const s=e?f(n,a):u;s.width=n,s.height=a;return s.getContext(\"2d\").drawImage(t,0,0,n,a),s}return t}return t}function g(t){return t.generateMipmaps}function _(e){t.generateMipmap(e)}function v(e){return e.isWebGLCubeRenderTarget?t.TEXTURE_CUBE_MAP:e.isWebGL3DRenderTarget?t.TEXTURE_3D:e.isWebGLArrayRenderTarget||e.isCompressedArrayTexture?t.TEXTURE_2D_ARRAY:t.TEXTURE_2D}function x(n,i,r,a,s=!1){if(null!==n&&void 0!==t[n])return t[n];let o=i;if(i===t.RED&&(r===t.FLOAT&&(o=t.R32F),r===t.HALF_FLOAT&&(o=t.R16F),r===t.UNSIGNED_BYTE&&(o=t.R8)),i===t.RED_INTEGER&&(r===t.UNSIGNED_BYTE&&(o=t.R8UI),r===t.UNSIGNED_SHORT&&(o=t.R16UI),r===t.UNSIGNED_INT&&(o=t.R32UI),r===t.BYTE&&(o=t.R8I),r===t.SHORT&&(o=t.R16I),r===t.INT&&(o=t.R32I)),i===t.RG&&(r===t.FLOAT&&(o=t.RG32F),r===t.HALF_FLOAT&&(o=t.RG16F),r===t.UNSIGNED_BYTE&&(o=t.RG8)),i===t.RG_INTEGER&&(r===t.UNSIGNED_BYTE&&(o=t.RG8UI),r===t.UNSIGNED_SHORT&&(o=t.RG16UI),r===t.UNSIGNED_INT&&(o=t.RG32UI),r===t.BYTE&&(o=t.RG8I),r===t.SHORT&&(o=t.RG16I),r===t.INT&&(o=t.RG32I)),i===t.RGB_INTEGER&&(r===t.UNSIGNED_BYTE&&(o=t.RGB8UI),r===t.UNSIGNED_SHORT&&(o=t.RGB16UI),r===t.UNSIGNED_INT&&(o=t.RGB32UI),r===t.BYTE&&(o=t.RGB8I),r===t.SHORT&&(o=t.RGB16I),r===t.INT&&(o=t.RGB32I)),i===t.RGBA_INTEGER&&(r===t.UNSIGNED_BYTE&&(o=t.RGBA8UI),r===t.UNSIGNED_SHORT&&(o=t.RGBA16UI),r===t.UNSIGNED_INT&&(o=t.RGBA32UI),r===t.BYTE&&(o=t.RGBA8I),r===t.SHORT&&(o=t.RGBA16I),r===t.INT&&(o=t.RGBA32I)),i===t.RGB&&r===t.UNSIGNED_INT_5_9_9_9_REV&&(o=t.RGB9_E5),i===t.RGBA){const e=s?Ht:Me.getTransfer(a);r===t.FLOAT&&(o=t.RGBA32F),r===t.HALF_FLOAT&&(o=t.RGBA16F),r===t.UNSIGNED_BYTE&&(o=e===Vt?t.SRGB8_ALPHA8:t.RGBA8),r===t.UNSIGNED_SHORT_4_4_4_4&&(o=t.RGBA4),r===t.UNSIGNED_SHORT_5_5_5_1&&(o=t.RGB5_A1)}return o!==t.R16F&&o!==t.R32F&&o!==t.RG16F&&o!==t.RG32F&&o!==t.RGBA16F&&o!==t.RGBA32F||e.get(\"EXT_color_buffer_float\"),o}function M(e,n){let i;return e?null===n||n===q||n===$?i=t.DEPTH24_STENCIL8:n===Y?i=t.DEPTH32F_STENCIL8:n===X&&(i=t.DEPTH24_STENCIL8):null===n||n===q||n===$?i=t.DEPTH_COMPONENT24:n===Y?i=t.DEPTH_COMPONENT32F:n===X&&(i=t.DEPTH_COMPONENT16),i}function S(t,e){return!0===g(t)||t.isFramebufferTexture&&t.minFilter!==O&&t.minFilter!==z?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function E(t){const e=t.target;e.removeEventListener(\"dispose\",E),function(t){const e=i.get(t);if(void 0===e.__webglInit)return;const n=t.source,r=d.get(n);if(r){const i=r[e.__cacheKey];i.usedTimes--,0===i.usedTimes&&T(t),0===Object.keys(r).length&&d.delete(n)}i.remove(t)}(e),e.isVideoTexture&&h.delete(e)}function y(e){const n=e.target;n.removeEventListener(\"dispose\",y),function(e){const n=i.get(e);e.depthTexture&&(e.depthTexture.dispose(),i.remove(e.depthTexture));if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++){if(Array.isArray(n.__webglFramebuffer[e]))for(let i=0;i<n.__webglFramebuffer[e].length;i++)t.deleteFramebuffer(n.__webglFramebuffer[e][i]);else t.deleteFramebuffer(n.__webglFramebuffer[e]);n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer[e])}else{if(Array.isArray(n.__webglFramebuffer))for(let e=0;e<n.__webglFramebuffer.length;e++)t.deleteFramebuffer(n.__webglFramebuffer[e]);else t.deleteFramebuffer(n.__webglFramebuffer);if(n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer),n.__webglMultisampledFramebuffer&&t.deleteFramebuffer(n.__webglMultisampledFramebuffer),n.__webglColorRenderbuffer)for(let e=0;e<n.__webglColorRenderbuffer.length;e++)n.__webglColorRenderbuffer[e]&&t.deleteRenderbuffer(n.__webglColorRenderbuffer[e]);n.__webglDepthRenderbuffer&&t.deleteRenderbuffer(n.__webglDepthRenderbuffer)}const r=e.textures;for(let e=0,n=r.length;e<n;e++){const n=i.get(r[e]);n.__webglTexture&&(t.deleteTexture(n.__webglTexture),s.memory.textures--),i.remove(r[e])}i.remove(e)}(n)}function T(e){const n=i.get(e);t.deleteTexture(n.__webglTexture);const r=e.source;delete d.get(r)[n.__cacheKey],s.memory.textures--}let b=0;function A(e,r){const a=i.get(e);if(e.isVideoTexture&&function(t){const e=s.render.frame;h.get(t)!==e&&(h.set(t,e),t.update())}(e),!1===e.isRenderTargetTexture&&e.version>0&&a.__version!==e.version){const t=e.image;if(null===t);else if(!1!==t.complete)return void L(a,e,r)}n.bindTexture(t.TEXTURE_2D,a.__webglTexture,t.TEXTURE0+r)}const w={[D]:t.REPEAT,[I]:t.CLAMP_TO_EDGE,[N]:t.MIRRORED_REPEAT},R={[O]:t.NEAREST,[F]:t.NEAREST_MIPMAP_NEAREST,[B]:t.NEAREST_MIPMAP_LINEAR,[z]:t.LINEAR,[H]:t.LINEAR_MIPMAP_NEAREST,[V]:t.LINEAR_MIPMAP_LINEAR},C={[kt]:t.NEVER,[Zt]:t.ALWAYS,[Wt]:t.LESS,[jt]:t.LEQUAL,[Xt]:t.EQUAL,[Kt]:t.GEQUAL,[qt]:t.GREATER,[Yt]:t.NOTEQUAL};function P(n,a){if(a.type===Y&&!1===e.has(\"OES_texture_float_linear\")&&(a.magFilter===z||a.magFilter===H||a.magFilter===B||a.magFilter===V||a.minFilter===z||a.minFilter===H||a.minFilter===B||a.minFilter),t.texParameteri(n,t.TEXTURE_WRAP_S,w[a.wrapS]),t.texParameteri(n,t.TEXTURE_WRAP_T,w[a.wrapT]),n!==t.TEXTURE_3D&&n!==t.TEXTURE_2D_ARRAY||t.texParameteri(n,t.TEXTURE_WRAP_R,w[a.wrapR]),t.texParameteri(n,t.TEXTURE_MAG_FILTER,R[a.magFilter]),t.texParameteri(n,t.TEXTURE_MIN_FILTER,R[a.minFilter]),a.compareFunction&&(t.texParameteri(n,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(n,t.TEXTURE_COMPARE_FUNC,C[a.compareFunction])),!0===e.has(\"EXT_texture_filter_anisotropic\")){if(a.magFilter===O)return;if(a.minFilter!==B&&a.minFilter!==V)return;if(a.type===Y&&!1===e.has(\"OES_texture_float_linear\"))return;if(a.anisotropy>1||i.get(a).__currentAnisotropy){const s=e.get(\"EXT_texture_filter_anisotropic\");t.texParameterf(n,s.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,r.getMaxAnisotropy())),i.get(a).__currentAnisotropy=a.anisotropy}}}function U(e,n){let i=!1;void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener(\"dispose\",E));const r=n.source;let a=d.get(r);void 0===a&&(a={},d.set(r,a));const o=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.wrapR||0),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.colorSpace),e.join()}(n);if(o!==e.__cacheKey){void 0===a[o]&&(a[o]={texture:t.createTexture(),usedTimes:0},s.memory.textures++,i=!0),a[o].usedTimes++;const r=a[e.__cacheKey];void 0!==r&&(a[e.__cacheKey].usedTimes--,0===r.usedTimes&&T(n)),e.__cacheKey=o,e.__webglTexture=a[o].texture}return i}function L(e,s,o){let l=t.TEXTURE_2D;(s.isDataArrayTexture||s.isCompressedArrayTexture)&&(l=t.TEXTURE_2D_ARRAY),s.isData3DTexture&&(l=t.TEXTURE_3D);const c=U(e,s),h=s.source;n.bindTexture(l,e.__webglTexture,t.TEXTURE0+o);const u=i.get(h);if(h.version!==u.__version||!0===c){n.activeTexture(t.TEXTURE0+o);const e=Me.getPrimaries(Me.workingColorSpace),i=s.colorSpace===Ft?null:Me.getPrimaries(s.colorSpace),d=s.colorSpace===Ft||e===i?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,s.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,s.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,d);let p=m(s.image,!1,r.maxTextureSize);p=Q(s,p);const f=a.convert(s.format,s.colorSpace),v=a.convert(s.type);let E,y=x(s.internalFormat,f,v,s.colorSpace,s.isVideoTexture);P(l,s);const T=s.mipmaps,b=!0!==s.isVideoTexture,A=void 0===u.__version||!0===c,w=h.dataReady,R=S(s,p);if(s.isDepthTexture)y=M(s.format===nt,s.type),A&&(b?n.texStorage2D(t.TEXTURE_2D,1,y,p.width,p.height):n.texImage2D(t.TEXTURE_2D,0,y,p.width,p.height,0,f,v,null));else if(s.isDataTexture)if(T.length>0){b&&A&&n.texStorage2D(t.TEXTURE_2D,R,y,T[0].width,T[0].height);for(let e=0,i=T.length;e<i;e++)E=T[e],b?w&&n.texSubImage2D(t.TEXTURE_2D,e,0,0,E.width,E.height,f,v,E.data):n.texImage2D(t.TEXTURE_2D,e,y,E.width,E.height,0,f,v,E.data);s.generateMipmaps=!1}else b?(A&&n.texStorage2D(t.TEXTURE_2D,R,y,p.width,p.height),w&&n.texSubImage2D(t.TEXTURE_2D,0,0,0,p.width,p.height,f,v,p.data)):n.texImage2D(t.TEXTURE_2D,0,y,p.width,p.height,0,f,v,p.data);else if(s.isCompressedTexture)if(s.isCompressedArrayTexture){b&&A&&n.texStorage3D(t.TEXTURE_2D_ARRAY,R,y,T[0].width,T[0].height,p.depth);for(let e=0,i=T.length;e<i;e++)if(E=T[e],s.format!==tt){if(null!==f)if(b){if(w)if(s.layerUpdates.size>0){const i=Tr(E.width,E.height,s.format,s.type);for(const r of s.layerUpdates){const a=E.data.subarray(r*i/E.data.BYTES_PER_ELEMENT,(r+1)*i/E.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,e,0,0,r,E.width,E.height,1,f,a)}s.clearLayerUpdates()}else n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,e,0,0,0,E.width,E.height,p.depth,f,E.data)}else n.compressedTexImage3D(t.TEXTURE_2D_ARRAY,e,y,E.width,E.height,p.depth,0,E.data,0,0)}else b?w&&n.texSubImage3D(t.TEXTURE_2D_ARRAY,e,0,0,0,E.width,E.height,p.depth,f,v,E.data):n.texImage3D(t.TEXTURE_2D_ARRAY,e,y,E.width,E.height,p.depth,0,f,v,E.data)}else{b&&A&&n.texStorage2D(t.TEXTURE_2D,R,y,T[0].width,T[0].height);for(let e=0,i=T.length;e<i;e++)E=T[e],s.format!==tt?null!==f&&(b?w&&n.compressedTexSubImage2D(t.TEXTURE_2D,e,0,0,E.width,E.height,f,E.data):n.compressedTexImage2D(t.TEXTURE_2D,e,y,E.width,E.height,0,E.data)):b?w&&n.texSubImage2D(t.TEXTURE_2D,e,0,0,E.width,E.height,f,v,E.data):n.texImage2D(t.TEXTURE_2D,e,y,E.width,E.height,0,f,v,E.data)}else if(s.isDataArrayTexture)if(b){if(A&&n.texStorage3D(t.TEXTURE_2D_ARRAY,R,y,p.width,p.height,p.depth),w)if(s.layerUpdates.size>0){const e=Tr(p.width,p.height,s.format,s.type);for(const i of s.layerUpdates){const r=p.data.subarray(i*e/p.data.BYTES_PER_ELEMENT,(i+1)*e/p.data.BYTES_PER_ELEMENT);n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,i,p.width,p.height,1,f,v,r)}s.clearLayerUpdates()}else n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,0,p.width,p.height,p.depth,f,v,p.data)}else n.texImage3D(t.TEXTURE_2D_ARRAY,0,y,p.width,p.height,p.depth,0,f,v,p.data);else if(s.isData3DTexture)b?(A&&n.texStorage3D(t.TEXTURE_3D,R,y,p.width,p.height,p.depth),w&&n.texSubImage3D(t.TEXTURE_3D,0,0,0,0,p.width,p.height,p.depth,f,v,p.data)):n.texImage3D(t.TEXTURE_3D,0,y,p.width,p.height,p.depth,0,f,v,p.data);else if(s.isFramebufferTexture){if(A)if(b)n.texStorage2D(t.TEXTURE_2D,R,y,p.width,p.height);else{let e=p.width,i=p.height;for(let r=0;r<R;r++)n.texImage2D(t.TEXTURE_2D,r,y,e,i,0,f,v,null),e>>=1,i>>=1}}else if(T.length>0){if(b&&A){const e=it(T[0]);n.texStorage2D(t.TEXTURE_2D,R,y,e.width,e.height)}for(let e=0,i=T.length;e<i;e++)E=T[e],b?w&&n.texSubImage2D(t.TEXTURE_2D,e,0,0,f,v,E):n.texImage2D(t.TEXTURE_2D,e,y,f,v,E);s.generateMipmaps=!1}else if(b){if(A){const e=it(p);n.texStorage2D(t.TEXTURE_2D,R,y,e.width,e.height)}w&&n.texSubImage2D(t.TEXTURE_2D,0,0,0,f,v,p)}else n.texImage2D(t.TEXTURE_2D,0,y,f,v,p);g(s)&&_(l),u.__version=h.version,s.onUpdate&&s.onUpdate(s)}e.__version=s.version}function G(e,r,s,l,c,h){const u=a.convert(s.format,s.colorSpace),d=a.convert(s.type),p=x(s.internalFormat,u,d,s.colorSpace),f=i.get(r),m=i.get(s);if(m.__renderTarget=r,!f.__hasExternalTextures){const e=Math.max(1,r.width>>h),i=Math.max(1,r.height>>h);c===t.TEXTURE_3D||c===t.TEXTURE_2D_ARRAY?n.texImage3D(c,h,p,e,i,r.depth,0,u,d,null):n.texImage2D(c,h,p,e,i,0,u,d,null)}n.bindFramebuffer(t.FRAMEBUFFER,e),J(r)?o.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,l,c,m.__webglTexture,0,Z(r)):(c===t.TEXTURE_2D||c>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&c<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,l,c,m.__webglTexture,h),n.bindFramebuffer(t.FRAMEBUFFER,null)}function k(e,n,i){if(t.bindRenderbuffer(t.RENDERBUFFER,e),n.depthBuffer){const r=n.depthTexture,a=r&&r.isDepthTexture?r.type:null,s=M(n.stencilBuffer,a),l=n.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,c=Z(n);J(n)?o.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,c,s,n.width,n.height):i?t.renderbufferStorageMultisample(t.RENDERBUFFER,c,s,n.width,n.height):t.renderbufferStorage(t.RENDERBUFFER,s,n.width,n.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,l,t.RENDERBUFFER,e)}else{const e=n.textures;for(let r=0;r<e.length;r++){const s=e[r],l=a.convert(s.format,s.colorSpace),c=a.convert(s.type),h=x(s.internalFormat,l,c,s.colorSpace),u=Z(n);i&&!1===J(n)?t.renderbufferStorageMultisample(t.RENDERBUFFER,u,h,n.width,n.height):J(n)?o.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,u,h,n.width,n.height):t.renderbufferStorage(t.RENDERBUFFER,h,n.width,n.height)}}t.bindRenderbuffer(t.RENDERBUFFER,null)}function W(e){const r=i.get(e),a=!0===e.isWebGLCubeRenderTarget;if(r.__boundDepthTexture!==e.depthTexture){const t=e.depthTexture;if(r.__depthDisposeCallback&&r.__depthDisposeCallback(),t){const e=()=>{delete r.__boundDepthTexture,delete r.__depthDisposeCallback,t.removeEventListener(\"dispose\",e)};t.addEventListener(\"dispose\",e),r.__depthDisposeCallback=e}r.__boundDepthTexture=t}if(e.depthTexture&&!r.__autoAllocateDepthBuffer){if(a)throw new Error(\"target.depthTexture not supported in Cube render targets\");!function(e,r){if(r&&r.isWebGLCubeRenderTarget)throw new Error(\"Depth Texture with cube render targets is not supported\");if(n.bindFramebuffer(t.FRAMEBUFFER,e),!r.depthTexture||!r.depthTexture.isDepthTexture)throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");const a=i.get(r.depthTexture);a.__renderTarget=r,a.__webglTexture&&r.depthTexture.image.width===r.width&&r.depthTexture.image.height===r.height||(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),A(r.depthTexture,0);const s=a.__webglTexture,l=Z(r);if(r.depthTexture.format===et)J(r)?o.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.TEXTURE_2D,s,0,l):t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.TEXTURE_2D,s,0);else{if(r.depthTexture.format!==nt)throw new Error(\"Unknown depthTexture format\");J(r)?o.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,s,0,l):t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,s,0)}}(r.__webglFramebuffer,e)}else if(a){r.__webglDepthbuffer=[];for(let i=0;i<6;i++)if(n.bindFramebuffer(t.FRAMEBUFFER,r.__webglFramebuffer[i]),void 0===r.__webglDepthbuffer[i])r.__webglDepthbuffer[i]=t.createRenderbuffer(),k(r.__webglDepthbuffer[i],e,!1);else{const n=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,a=r.__webglDepthbuffer[i];t.bindRenderbuffer(t.RENDERBUFFER,a),t.framebufferRenderbuffer(t.FRAMEBUFFER,n,t.RENDERBUFFER,a)}}else if(n.bindFramebuffer(t.FRAMEBUFFER,r.__webglFramebuffer),void 0===r.__webglDepthbuffer)r.__webglDepthbuffer=t.createRenderbuffer(),k(r.__webglDepthbuffer,e,!1);else{const n=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,i=r.__webglDepthbuffer;t.bindRenderbuffer(t.RENDERBUFFER,i),t.framebufferRenderbuffer(t.FRAMEBUFFER,n,t.RENDERBUFFER,i)}n.bindFramebuffer(t.FRAMEBUFFER,null)}const j=[],K=[];function Z(t){return Math.min(r.maxSamples,t.samples)}function J(t){const n=i.get(t);return t.samples>0&&!0===e.has(\"WEBGL_multisampled_render_to_texture\")&&!1!==n.__useRenderToTexture}function Q(t,e){const n=t.colorSpace;t.format,t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||n!==zt&&n!==Ft&&Me.getTransfer(n),e}function it(t){return\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement?(c.width=t.naturalWidth||t.width,c.height=t.naturalHeight||t.height):\"undefined\"!=typeof VideoFrame&&t instanceof VideoFrame?(c.width=t.displayWidth,c.height=t.displayHeight):(c.width=t.width,c.height=t.height),c}this.allocateTextureUnit=function(){const t=b;return r.maxTextures,b+=1,t},this.resetTextureUnits=function(){b=0},this.setTexture2D=A,this.setTexture2DArray=function(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?L(a,e,r):n.bindTexture(t.TEXTURE_2D_ARRAY,a.__webglTexture,t.TEXTURE0+r)},this.setTexture3D=function(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?L(a,e,r):n.bindTexture(t.TEXTURE_3D,a.__webglTexture,t.TEXTURE0+r)},this.setTextureCube=function(e,s){const o=i.get(e);e.version>0&&o.__version!==e.version?function(e,s,o){if(6!==s.image.length)return;const l=U(e,s),c=s.source;n.bindTexture(t.TEXTURE_CUBE_MAP,e.__webglTexture,t.TEXTURE0+o);const h=i.get(c);if(c.version!==h.__version||!0===l){n.activeTexture(t.TEXTURE0+o);const e=Me.getPrimaries(Me.workingColorSpace),i=s.colorSpace===Ft?null:Me.getPrimaries(s.colorSpace),u=s.colorSpace===Ft||e===i?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,s.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,s.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,u);const d=s.isCompressedTexture||s.image[0].isCompressedTexture,p=s.image[0]&&s.image[0].isDataTexture,f=[];for(let t=0;t<6;t++)f[t]=d||p?p?s.image[t].image:s.image[t]:m(s.image[t],!0,r.maxCubemapSize),f[t]=Q(s,f[t]);const v=f[0],M=a.convert(s.format,s.colorSpace),E=a.convert(s.type),y=x(s.internalFormat,M,E,s.colorSpace),T=!0!==s.isVideoTexture,b=void 0===h.__version||!0===l,A=c.dataReady;let w,R=S(s,v);if(P(t.TEXTURE_CUBE_MAP,s),d){T&&b&&n.texStorage2D(t.TEXTURE_CUBE_MAP,R,y,v.width,v.height);for(let e=0;e<6;e++){w=f[e].mipmaps;for(let i=0;i<w.length;i++){const r=w[i];s.format!==tt?null!==M&&(T?A&&n.compressedTexSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,0,0,r.width,r.height,M,r.data):n.compressedTexImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,y,r.width,r.height,0,r.data)):T?A&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,0,0,r.width,r.height,M,E,r.data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i,y,r.width,r.height,0,M,E,r.data)}}}else{if(w=s.mipmaps,T&&b){w.length>0&&R++;const e=it(f[0]);n.texStorage2D(t.TEXTURE_CUBE_MAP,R,y,e.width,e.height)}for(let e=0;e<6;e++)if(p){T?A&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,f[e].width,f[e].height,M,E,f[e].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,y,f[e].width,f[e].height,0,M,E,f[e].data);for(let i=0;i<w.length;i++){const r=w[i].image[e].image;T?A&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,0,0,r.width,r.height,M,E,r.data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,y,r.width,r.height,0,M,E,r.data)}}else{T?A&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,M,E,f[e]):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,y,M,E,f[e]);for(let i=0;i<w.length;i++){const r=w[i];T?A&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,0,0,M,E,r.image[e]):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,i+1,y,M,E,r.image[e])}}}g(s)&&_(t.TEXTURE_CUBE_MAP),h.__version=c.version,s.onUpdate&&s.onUpdate(s)}e.__version=s.version}(o,e,s):n.bindTexture(t.TEXTURE_CUBE_MAP,o.__webglTexture,t.TEXTURE0+s)},this.rebindTextures=function(e,n,r){const a=i.get(e);void 0!==n&&G(a.__webglFramebuffer,e,e.texture,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,0),void 0!==r&&W(e)},this.setupRenderTarget=function(e){const r=e.texture,o=i.get(e),l=i.get(r);e.addEventListener(\"dispose\",y);const c=e.textures,h=!0===e.isWebGLCubeRenderTarget,u=c.length>1;if(u||(void 0===l.__webglTexture&&(l.__webglTexture=t.createTexture()),l.__version=r.version,s.memory.textures++),h){o.__webglFramebuffer=[];for(let e=0;e<6;e++)if(r.mipmaps&&r.mipmaps.length>0){o.__webglFramebuffer[e]=[];for(let n=0;n<r.mipmaps.length;n++)o.__webglFramebuffer[e][n]=t.createFramebuffer()}else o.__webglFramebuffer[e]=t.createFramebuffer()}else{if(r.mipmaps&&r.mipmaps.length>0){o.__webglFramebuffer=[];for(let e=0;e<r.mipmaps.length;e++)o.__webglFramebuffer[e]=t.createFramebuffer()}else o.__webglFramebuffer=t.createFramebuffer();if(u)for(let e=0,n=c.length;e<n;e++){const n=i.get(c[e]);void 0===n.__webglTexture&&(n.__webglTexture=t.createTexture(),s.memory.textures++)}if(e.samples>0&&!1===J(e)){o.__webglMultisampledFramebuffer=t.createFramebuffer(),o.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,o.__webglMultisampledFramebuffer);for(let n=0;n<c.length;n++){const i=c[n];o.__webglColorRenderbuffer[n]=t.createRenderbuffer(),t.bindRenderbuffer(t.RENDERBUFFER,o.__webglColorRenderbuffer[n]);const r=a.convert(i.format,i.colorSpace),s=a.convert(i.type),l=x(i.internalFormat,r,s,i.colorSpace,!0===e.isXRRenderTarget),h=Z(e);t.renderbufferStorageMultisample(t.RENDERBUFFER,h,l,e.width,e.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+n,t.RENDERBUFFER,o.__webglColorRenderbuffer[n])}t.bindRenderbuffer(t.RENDERBUFFER,null),e.depthBuffer&&(o.__webglDepthRenderbuffer=t.createRenderbuffer(),k(o.__webglDepthRenderbuffer,e,!0)),n.bindFramebuffer(t.FRAMEBUFFER,null)}}if(h){n.bindTexture(t.TEXTURE_CUBE_MAP,l.__webglTexture),P(t.TEXTURE_CUBE_MAP,r);for(let n=0;n<6;n++)if(r.mipmaps&&r.mipmaps.length>0)for(let i=0;i<r.mipmaps.length;i++)G(o.__webglFramebuffer[n][i],e,r,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,i);else G(o.__webglFramebuffer[n],e,r,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,0);g(r)&&_(t.TEXTURE_CUBE_MAP),n.unbindTexture()}else if(u){for(let r=0,a=c.length;r<a;r++){const a=c[r],s=i.get(a);n.bindTexture(t.TEXTURE_2D,s.__webglTexture),P(t.TEXTURE_2D,a),G(o.__webglFramebuffer,e,a,t.COLOR_ATTACHMENT0+r,t.TEXTURE_2D,0),g(a)&&_(t.TEXTURE_2D)}n.unbindTexture()}else{let i=t.TEXTURE_2D;if((e.isWebGL3DRenderTarget||e.isWebGLArrayRenderTarget)&&(i=e.isWebGL3DRenderTarget?t.TEXTURE_3D:t.TEXTURE_2D_ARRAY),n.bindTexture(i,l.__webglTexture),P(i,r),r.mipmaps&&r.mipmaps.length>0)for(let n=0;n<r.mipmaps.length;n++)G(o.__webglFramebuffer[n],e,r,t.COLOR_ATTACHMENT0,i,n);else G(o.__webglFramebuffer,e,r,t.COLOR_ATTACHMENT0,i,0);g(r)&&_(i),n.unbindTexture()}e.depthBuffer&&W(e)},this.updateRenderTargetMipmap=function(t){const e=t.textures;for(let r=0,a=e.length;r<a;r++){const a=e[r];if(g(a)){const e=v(t),r=i.get(a).__webglTexture;n.bindTexture(e,r),_(e),n.unbindTexture()}}},this.updateMultisampleRenderTarget=function(e){if(e.samples>0)if(!1===J(e)){const r=e.textures,a=e.width,s=e.height;let o=t.COLOR_BUFFER_BIT;const c=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,h=i.get(e),u=r.length>1;if(u)for(let e=0;e<r.length;e++)n.bindFramebuffer(t.FRAMEBUFFER,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.RENDERBUFFER,null),n.bindFramebuffer(t.FRAMEBUFFER,h.__webglFramebuffer),t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.TEXTURE_2D,null,0);n.bindFramebuffer(t.READ_FRAMEBUFFER,h.__webglMultisampledFramebuffer),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,h.__webglFramebuffer);for(let n=0;n<r.length;n++){if(e.resolveDepthBuffer&&(e.depthBuffer&&(o|=t.DEPTH_BUFFER_BIT),e.stencilBuffer&&e.resolveStencilBuffer&&(o|=t.STENCIL_BUFFER_BIT)),u){t.framebufferRenderbuffer(t.READ_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.RENDERBUFFER,h.__webglColorRenderbuffer[n]);const e=i.get(r[n]).__webglTexture;t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0)}t.blitFramebuffer(0,0,a,s,0,0,a,s,o,t.NEAREST),!0===l&&(j.length=0,K.length=0,j.push(t.COLOR_ATTACHMENT0+n),e.depthBuffer&&!1===e.resolveDepthBuffer&&(j.push(c),K.push(c),t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,K)),t.invalidateFramebuffer(t.READ_FRAMEBUFFER,j))}if(n.bindFramebuffer(t.READ_FRAMEBUFFER,null),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),u)for(let e=0;e<r.length;e++){n.bindFramebuffer(t.FRAMEBUFFER,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.RENDERBUFFER,h.__webglColorRenderbuffer[e]);const a=i.get(r[e]).__webglTexture;n.bindFramebuffer(t.FRAMEBUFFER,h.__webglFramebuffer),t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+e,t.TEXTURE_2D,a,0)}n.bindFramebuffer(t.DRAW_FRAMEBUFFER,h.__webglMultisampledFramebuffer)}else if(e.depthBuffer&&!1===e.resolveDepthBuffer&&l){const n=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,[n])}},this.setupDepthRenderbuffer=W,this.setupFrameBufferTexture=G,this.useMultisampledRTT=J}function to(t,e){return{convert:function(n,i=\"\"){let r;const a=Me.getTransfer(i);if(n===G)return t.UNSIGNED_BYTE;if(n===Z)return t.UNSIGNED_SHORT_4_4_4_4;if(n===J)return t.UNSIGNED_SHORT_5_5_5_1;if(n===Q)return t.UNSIGNED_INT_5_9_9_9_REV;if(n===k)return t.BYTE;if(n===W)return t.SHORT;if(n===X)return t.UNSIGNED_SHORT;if(n===j)return t.INT;if(n===q)return t.UNSIGNED_INT;if(n===Y)return t.FLOAT;if(n===K)return t.HALF_FLOAT;if(1021===n)return t.ALPHA;if(1022===n)return t.RGB;if(n===tt)return t.RGBA;if(1024===n)return t.LUMINANCE;if(1025===n)return t.LUMINANCE_ALPHA;if(n===et)return t.DEPTH_COMPONENT;if(n===nt)return t.DEPTH_STENCIL;if(1028===n)return t.RED;if(n===it)return t.RED_INTEGER;if(1030===n)return t.RG;if(n===rt)return t.RG_INTEGER;if(n===at)return t.RGBA_INTEGER;if(n===st||n===ot||n===lt||n===ct)if(a===Vt){if(r=e.get(\"WEBGL_compressed_texture_s3tc_srgb\"),null===r)return null;if(n===st)return r.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===ot)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===lt)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===ct)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(r=e.get(\"WEBGL_compressed_texture_s3tc\"),null===r)return null;if(n===st)return r.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===ot)return r.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===lt)return r.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===ct)return r.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(n===ht||n===ut||n===dt||n===pt){if(r=e.get(\"WEBGL_compressed_texture_pvrtc\"),null===r)return null;if(n===ht)return r.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===ut)return r.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===dt)return r.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===pt)return r.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===ft||n===mt||n===gt){if(r=e.get(\"WEBGL_compressed_texture_etc\"),null===r)return null;if(n===ft||n===mt)return a===Vt?r.COMPRESSED_SRGB8_ETC2:r.COMPRESSED_RGB8_ETC2;if(n===gt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:r.COMPRESSED_RGBA8_ETC2_EAC}if(n===_t||n===vt||n===xt||n===Mt||n===St||n===Et||n===yt||n===Tt||n===bt||n===At||n===wt||n===Rt||n===Ct||n===Pt){if(r=e.get(\"WEBGL_compressed_texture_astc\"),null===r)return null;if(n===_t)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:r.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===vt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:r.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===xt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:r.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Mt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:r.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===St)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:r.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===Et)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:r.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===yt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:r.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===Tt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:r.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===bt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:r.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===At)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:r.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===wt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:r.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===Rt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:r.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===Ct)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:r.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===Pt)return a===Vt?r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:r.COMPRESSED_RGBA_ASTC_12x12_KHR}if(n===Ut||n===Lt||n===Dt){if(r=e.get(\"EXT_texture_compression_bptc\"),null===r)return null;if(n===Ut)return a===Vt?r.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:r.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===Lt)return r.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===Dt)return r.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}if(36283===n||n===It||n===Nt||n===Ot){if(r=e.get(\"EXT_texture_compression_rgtc\"),null===r)return null;if(n===Ut)return r.COMPRESSED_RED_RGTC1_EXT;if(n===It)return r.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===Nt)return r.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===Ot)return r.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return n===$?t.UNSIGNED_INT_24_8:void 0!==t[n]?t[n]:null}}}class eo{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,n){if(null===this.texture){const i=new Ce;t.properties.get(i).__webglTexture=e.texture,e.depthNear===n.depthNear&&e.depthFar===n.depthFar||(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=i}}getMesh(t){if(null!==this.texture&&null===this.mesh){const e=t.cameras[0].viewport,n=new ki({vertexShader:\"\\nvoid main() {\\n\\n\\tgl_Position = vec4( position, 1.0 );\\n\\n}\",fragmentShader:\"\\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}\",uniforms:{depthColor:{value:this.texture},depthWidth:{value:e.z},depthHeight:{value:e.w}}});this.mesh=new Oi(new ur(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class no extends te{constructor(t,e){super();const n=this;let i=null,r=1,a=null,s=\"local-floor\",o=1,l=null,c=null,h=null,u=null,d=null,p=null;const f=new eo,m=e.getContextAttributes();let g=null,_=null;const v=[],x=[],M=new ce;let S=null;const E=new Yi;E.viewport=new Pe;const y=new Yi;y.viewport=new Pe;const T=[E,y],b=new Sr;let A=null,w=null;function R(t){const e=x.indexOf(t.inputSource);if(-1===e)return;const n=v[e];void 0!==n&&(n.update(t.inputSource,t.frame,l||a),n.dispatchEvent({type:t.type,data:t.inputSource}))}function C(){i.removeEventListener(\"select\",R),i.removeEventListener(\"selectstart\",R),i.removeEventListener(\"selectend\",R),i.removeEventListener(\"squeeze\",R),i.removeEventListener(\"squeezestart\",R),i.removeEventListener(\"squeezeend\",R),i.removeEventListener(\"end\",C),i.removeEventListener(\"inputsourceschange\",P);for(let t=0;t<v.length;t++){const e=x[t];null!==e&&(x[t]=null,v[t].disconnect(e))}A=null,w=null,f.reset(),t.setRenderTarget(g),d=null,u=null,h=null,i=null,_=null,N.stop(),n.isPresenting=!1,t.setPixelRatio(S),t.setSize(M.width,M.height,!1),n.dispatchEvent({type:\"sessionend\"})}function P(t){for(let e=0;e<t.removed.length;e++){const n=t.removed[e],i=x.indexOf(n);i>=0&&(x[i]=null,v[i].disconnect(n))}for(let e=0;e<t.added.length;e++){const n=t.added[e];let i=x.indexOf(n);if(-1===i){for(let t=0;t<v.length;t++){if(t>=x.length){x.push(n),i=t;break}if(null===x[t]){x[t]=n,i=t;break}}if(-1===i)break}const r=v[i];r&&r.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=v[t];return void 0===e&&(e=new er,v[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=v[t];return void 0===e&&(e=new er,v[t]=e),e.getGripSpace()},this.getHand=function(t){let e=v[t];return void 0===e&&(e=new er,v[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){r=t,n.isPresenting},this.setReferenceSpaceType=function(t){s=t,n.isPresenting},this.getReferenceSpace=function(){return l||a},this.setReferenceSpace=function(t){l=t},this.getBaseLayer=function(){return null!==u?u:d},this.getBinding=function(){return h},this.getFrame=function(){return p},this.getSession=function(){return i},this.setSession=async function(c){if(i=c,null!==i){g=t.getRenderTarget(),i.addEventListener(\"select\",R),i.addEventListener(\"selectstart\",R),i.addEventListener(\"selectend\",R),i.addEventListener(\"squeeze\",R),i.addEventListener(\"squeezestart\",R),i.addEventListener(\"squeezeend\",R),i.addEventListener(\"end\",C),i.addEventListener(\"inputsourceschange\",P),!0!==m.xrCompatible&&await e.makeXRCompatible(),S=t.getPixelRatio(),t.getSize(M);if(\"undefined\"!=typeof XRWebGLBinding&&\"createProjectionLayer\"in XRWebGLBinding.prototype){let n=null,a=null,s=null;m.depth&&(s=m.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,n=m.stencil?nt:et,a=m.stencil?$:q);const o={colorFormat:e.RGBA8,depthFormat:s,scaleFactor:r};h=new XRWebGLBinding(i,e),u=h.createProjectionLayer(o),i.updateRenderState({layers:[u]}),t.setPixelRatio(1),t.setSize(u.textureWidth,u.textureHeight,!1),_=new Le(u.textureWidth,u.textureHeight,{format:tt,type:G,depthTexture:new hr(u.textureWidth,u.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:m.stencil,colorSpace:t.outputColorSpace,samples:m.antialias?4:0,resolveDepthBuffer:!1===u.ignoreDepthValues,resolveStencilBuffer:!1===u.ignoreDepthValues})}else{const n={antialias:m.antialias,alpha:!0,depth:m.depth,stencil:m.stencil,framebufferScaleFactor:r};d=new XRWebGLLayer(i,e,n),i.updateRenderState({baseLayer:d}),t.setPixelRatio(1),t.setSize(d.framebufferWidth,d.framebufferHeight,!1),_=new Le(d.framebufferWidth,d.framebufferHeight,{format:tt,type:G,colorSpace:t.outputColorSpace,stencilBuffer:m.stencil,resolveDepthBuffer:!1===d.ignoreDepthValues,resolveStencilBuffer:!1===d.ignoreDepthValues})}_.isXRRenderTarget=!0,this.setFoveation(o),l=null,a=await i.requestReferenceSpace(s),N.setContext(i),N.start(),n.isPresenting=!0,n.dispatchEvent({type:\"sessionstart\"})}},this.getEnvironmentBlendMode=function(){if(null!==i)return i.environmentBlendMode},this.getDepthTexture=function(){return f.getDepthTexture()};const U=new Oe,L=new Oe;function D(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===i)return;let e=t.near,n=t.far;null!==f.texture&&(f.depthNear>0&&(e=f.depthNear),f.depthFar>0&&(n=f.depthFar)),b.near=y.near=E.near=e,b.far=y.far=E.far=n,A===b.near&&w===b.far||(i.updateRenderState({depthNear:b.near,depthFar:b.far}),A=b.near,w=b.far),E.layers.mask=2|t.layers.mask,y.layers.mask=4|t.layers.mask,b.layers.mask=E.layers.mask|y.layers.mask;const r=t.parent,a=b.cameras;D(b,r);for(let t=0;t<a.length;t++)D(a[t],r);2===a.length?function(t,e,n){U.setFromMatrixPosition(e.matrixWorld),L.setFromMatrixPosition(n.matrixWorld);const i=U.distanceTo(L),r=e.projectionMatrix.elements,a=n.projectionMatrix.elements,s=r[14]/(r[10]-1),o=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],h=(r[8]-1)/r[0],u=(a[8]+1)/a[0],d=s*h,p=s*u,f=i/(-h+u),m=f*-h;if(e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(m),t.translateZ(f),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.copy(t.matrixWorld).invert(),-1===r[10])t.projectionMatrix.copy(e.projectionMatrix),t.projectionMatrixInverse.copy(e.projectionMatrixInverse);else{const e=s+f,n=o+f,r=d-m,a=p+(i-m),h=l*o/n*e,u=c*o/n*e;t.projectionMatrix.makePerspective(r,a,h,u,e,n),t.projectionMatrixInverse.copy(t.projectionMatrix).invert()}}(b,E,y):b.projectionMatrix.copy(E.projectionMatrix),function(t,e,n){null===n?t.matrix.copy(e.matrixWorld):(t.matrix.copy(n.matrixWorld),t.matrix.invert(),t.matrix.multiply(e.matrixWorld));t.matrix.decompose(t.position,t.quaternion,t.scale),t.updateMatrixWorld(!0),t.projectionMatrix.copy(e.projectionMatrix),t.projectionMatrixInverse.copy(e.projectionMatrixInverse),t.isPerspectiveCamera&&(t.fov=2*ie*Math.atan(1/t.projectionMatrix.elements[5]),t.zoom=1)}(t,b,r)},this.getCamera=function(){return b},this.getFoveation=function(){if(null!==u||null!==d)return o},this.setFoveation=function(t){o=t,null!==u&&(u.fixedFoveation=t),null!==d&&void 0!==d.fixedFoveation&&(d.fixedFoveation=t)},this.hasDepthSensing=function(){return null!==f.texture},this.getDepthSensingMesh=function(){return f.getMesh(b)};let I=null;const N=new br;N.setAnimationLoop(function(e,r){if(c=r.getViewerPose(l||a),p=r,null!==c){const e=c.views;null!==d&&(t.setRenderTargetFramebuffer(_,d.framebuffer),t.setRenderTarget(_));let n=!1;e.length!==b.cameras.length&&(b.cameras.length=0,n=!0);for(let i=0;i<e.length;i++){const r=e[i];let a=null;if(null!==d)a=d.getViewport(r);else{const e=h.getViewSubImage(u,r);a=e.viewport,0===i&&(t.setRenderTargetTextures(_,e.colorTexture,u.ignoreDepthValues?void 0:e.depthStencilTexture),t.setRenderTarget(_))}let s=T[i];void 0===s&&(s=new Yi,s.layers.enable(i),s.viewport=new Pe,T[i]=s),s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.quaternion,s.scale),s.projectionMatrix.fromArray(r.projectionMatrix),s.projectionMatrixInverse.copy(s.projectionMatrix).invert(),s.viewport.set(a.x,a.y,a.width,a.height),0===i&&(b.matrix.copy(s.matrix),b.matrix.decompose(b.position,b.quaternion,b.scale)),!0===n&&b.cameras.push(s)}const r=i.enabledFeatures;if(r&&r.includes(\"depth-sensing\")&&\"gpu-optimized\"==i.depthUsage&&h){const n=h.getDepthInformation(e[0]);n&&n.isValid&&n.texture&&f.init(t,n,i.renderState)}}for(let t=0;t<v.length;t++){const e=x[t],n=v[t];null!==e&&void 0!==n&&n.update(e,r,l||a)}I&&I(e,r),r.detectedPlanes&&n.dispatchEvent({type:\"planesdetected\",data:r}),p=null}),this.setAnimationLoop=function(t){I=t},this.dispose=function(){}}}const io=new yn,ro=new pn;function ao(t,e){function n(t,e){!0===t.matrixAutoUpdate&&t.updateMatrix(),e.value.copy(t.matrix)}function i(t,i){t.opacity.value=i.opacity,i.color&&t.diffuse.value.copy(i.color),i.emissive&&t.emissive.value.copy(i.emissive).multiplyScalar(i.emissiveIntensity),i.map&&(t.map.value=i.map,n(i.map,t.mapTransform)),i.alphaMap&&(t.alphaMap.value=i.alphaMap,n(i.alphaMap,t.alphaMapTransform)),i.bumpMap&&(t.bumpMap.value=i.bumpMap,n(i.bumpMap,t.bumpMapTransform),t.bumpScale.value=i.bumpScale,1===i.side&&(t.bumpScale.value*=-1)),i.normalMap&&(t.normalMap.value=i.normalMap,n(i.normalMap,t.normalMapTransform),t.normalScale.value.copy(i.normalScale),1===i.side&&t.normalScale.value.negate()),i.displacementMap&&(t.displacementMap.value=i.displacementMap,n(i.displacementMap,t.displacementMapTransform),t.displacementScale.value=i.displacementScale,t.displacementBias.value=i.displacementBias),i.emissiveMap&&(t.emissiveMap.value=i.emissiveMap,n(i.emissiveMap,t.emissiveMapTransform)),i.specularMap&&(t.specularMap.value=i.specularMap,n(i.specularMap,t.specularMapTransform)),i.alphaTest>0&&(t.alphaTest.value=i.alphaTest);const r=e.get(i),a=r.envMap,s=r.envMapRotation;a&&(t.envMap.value=a,io.copy(s),io.x*=-1,io.y*=-1,io.z*=-1,a.isCubeTexture&&!1===a.isRenderTargetTexture&&(io.y*=-1,io.z*=-1),t.envMapRotation.value.setFromMatrix4(ro.makeRotationFromEuler(io)),t.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1,t.reflectivity.value=i.reflectivity,t.ior.value=i.ior,t.refractionRatio.value=i.refractionRatio),i.lightMap&&(t.lightMap.value=i.lightMap,t.lightMapIntensity.value=i.lightMapIntensity,n(i.lightMap,t.lightMapTransform)),i.aoMap&&(t.aoMap.value=i.aoMap,t.aoMapIntensity.value=i.aoMapIntensity,n(i.aoMap,t.aoMapTransform))}return{refreshFogUniforms:function(e,n){n.color.getRGB(e.fogColor.value,Vi(t)),n.isFog?(e.fogNear.value=n.near,e.fogFar.value=n.far):n.isFogExp2&&(e.fogDensity.value=n.density)},refreshMaterialUniforms:function(t,r,a,s,o){r.isMeshBasicMaterial||r.isMeshLambertMaterial?i(t,r):r.isMeshToonMaterial?(i(t,r),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,r)):r.isMeshPhongMaterial?(i(t,r),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,r)):r.isMeshStandardMaterial?(i(t,r),function(t,e){t.metalness.value=e.metalness,e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap,n(e.metalnessMap,t.metalnessMapTransform));t.roughness.value=e.roughness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap,n(e.roughnessMap,t.roughnessMapTransform));e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}(t,r),r.isMeshPhysicalMaterial&&function(t,e,i){t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap,n(e.sheenColorMap,t.sheenColorMapTransform)),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap,n(e.sheenRoughnessMap,t.sheenRoughnessMapTransform)));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap,n(e.clearcoatMap,t.clearcoatMapTransform)),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap,n(e.clearcoatRoughnessMap,t.clearcoatRoughnessMapTransform)),e.clearcoatNormalMap&&(t.clearcoatNormalMap.value=e.clearcoatNormalMap,n(e.clearcoatNormalMap,t.clearcoatNormalMapTransform),t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),1===e.side&&t.clearcoatNormalScale.value.negate()));e.dispersion>0&&(t.dispersion.value=e.dispersion);e.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap,n(e.iridescenceMap,t.iridescenceMapTransform)),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap,n(e.iridescenceThicknessMap,t.iridescenceThicknessMapTransform)));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap,n(e.transmissionMap,t.transmissionMapTransform)),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap,n(e.thicknessMap,t.thicknessMapTransform)),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));e.anisotropy>0&&(t.anisotropyVector.value.set(e.anisotropy*Math.cos(e.anisotropyRotation),e.anisotropy*Math.sin(e.anisotropyRotation)),e.anisotropyMap&&(t.anisotropyMap.value=e.anisotropyMap,n(e.anisotropyMap,t.anisotropyMapTransform)));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap,n(e.specularColorMap,t.specularColorMapTransform));e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap,n(e.specularIntensityMap,t.specularIntensityMapTransform))}(t,r,o)):r.isMeshMatcapMaterial?(i(t,r),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,r)):r.isMeshDepthMaterial?i(t,r):r.isMeshDistanceMaterial?(i(t,r),function(t,n){const i=e.get(n).light;t.referencePosition.value.setFromMatrixPosition(i.matrixWorld),t.nearDistance.value=i.shadow.camera.near,t.farDistance.value=i.shadow.camera.far}(t,r)):r.isMeshNormalMaterial?i(t,r):r.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform))}(t,r),r.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,r)):r.isPointsMaterial?function(t,e,i,r){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*i,t.scale.value=.5*r,e.map&&(t.map.value=e.map,n(e.map,t.uvTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap,n(e.alphaMap,t.alphaMapTransform));e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r,a,s):r.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap,n(e.alphaMap,t.alphaMapTransform));e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r):r.isShadowMaterial?(t.color.value.copy(r.color),t.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function so(t,e,n,i){let r={},a={},s=[];const o=t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS);function l(t,e,n,i){const r=t.value,a=e+\"_\"+n;if(void 0===i[a])return i[a]=\"number\"==typeof r||\"boolean\"==typeof r?r:r.clone(),!0;{const t=i[a];if(\"number\"==typeof r||\"boolean\"==typeof r){if(t!==r)return i[a]=r,!0}else if(!1===t.equals(r))return t.copy(r),!0}return!1}function c(t){const e={boundary:0,storage:0};return\"number\"==typeof t||\"boolean\"==typeof t?(e.boundary=4,e.storage=4):t.isVector2?(e.boundary=8,e.storage=8):t.isVector3||t.isColor?(e.boundary=16,e.storage=12):t.isVector4?(e.boundary=16,e.storage=16):t.isMatrix3?(e.boundary=48,e.storage=48):t.isMatrix4?(e.boundary=64,e.storage=64):t.isTexture,e}function h(e){const n=e.target;n.removeEventListener(\"dispose\",h);const i=s.indexOf(n.__bindingPointIndex);s.splice(i,1),t.deleteBuffer(r[n.id]),delete r[n.id],delete a[n.id]}return{bind:function(t,e){const n=e.program;i.uniformBlockBinding(t,n)},update:function(n,u){let d=r[n.id];void 0===d&&(!function(t){const e=t.uniforms;let n=0;const i=16;for(let t=0,r=e.length;t<r;t++){const r=Array.isArray(e[t])?e[t]:[e[t]];for(let t=0,e=r.length;t<e;t++){const e=r[t],a=Array.isArray(e.value)?e.value:[e.value];for(let t=0,r=a.length;t<r;t++){const r=c(a[t]),s=n%i,o=s%r.boundary,l=s+o;n+=o,0!==l&&i-l<r.storage&&(n+=i-l),e.__data=new Float32Array(r.storage/Float32Array.BYTES_PER_ELEMENT),e.__offset=n,n+=r.storage}}}const r=n%i;r>0&&(n+=i-r);t.__size=n,t.__cache={}}(n),d=function(e){const n=function(){for(let t=0;t<o;t++)if(-1===s.indexOf(t))return s.push(t),t;return 0}();e.__bindingPointIndex=n;const i=t.createBuffer(),r=e.__size,a=e.usage;return t.bindBuffer(t.UNIFORM_BUFFER,i),t.bufferData(t.UNIFORM_BUFFER,r,a),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,n,i),i}(n),r[n.id]=d,n.addEventListener(\"dispose\",h));const p=u.program;i.updateUBOMapping(n,p);const f=e.render.frame;a[n.id]!==f&&(!function(e){const n=r[e.id],i=e.uniforms,a=e.__cache;t.bindBuffer(t.UNIFORM_BUFFER,n);for(let e=0,n=i.length;e<n;e++){const n=Array.isArray(i[e])?i[e]:[i[e]];for(let i=0,r=n.length;i<r;i++){const r=n[i];if(!0===l(r,e,i,a)){const e=r.__offset,n=Array.isArray(r.value)?r.value:[r.value];let i=0;for(let a=0;a<n.length;a++){const s=n[a],o=c(s);\"number\"==typeof s||\"boolean\"==typeof s?(r.__data[0]=s,t.bufferSubData(t.UNIFORM_BUFFER,e+i,r.__data)):s.isMatrix3?(r.__data[0]=s.elements[0],r.__data[1]=s.elements[1],r.__data[2]=s.elements[2],r.__data[3]=0,r.__data[4]=s.elements[3],r.__data[5]=s.elements[4],r.__data[6]=s.elements[5],r.__data[7]=0,r.__data[8]=s.elements[6],r.__data[9]=s.elements[7],r.__data[10]=s.elements[8],r.__data[11]=0):(s.toArray(r.__data,i),i+=o.storage/Float32Array.BYTES_PER_ELEMENT)}t.bufferSubData(t.UNIFORM_BUFFER,e,r.__data)}}}t.bindBuffer(t.UNIFORM_BUFFER,null)}(n),a[n.id]=f)},dispose:function(){for(const e in r)t.deleteBuffer(r[e]);s=[],r={},a={}}}}class oo{constructor(e={}){const{canvas:n=fe(),context:i=null,depth:r=!0,stencil:a=!1,alpha:s=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:h=\"default\",failIfMajorPerformanceCaveat:u=!1,reverseDepthBuffer:d=!1}=e;let p;if(this.isWebGLRenderer=!0,null!==i){if(\"undefined\"!=typeof WebGLRenderingContext&&i instanceof WebGLRenderingContext)throw new Error(\"THREE.WebGLRenderer: WebGL 1 is not supported since r163.\");p=i.getContextAttributes().alpha}else p=s;const f=new Uint32Array(4),m=new Int32Array(4);let g=null,_=null;const v=[],x=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Bt,this.toneMapping=0,this.toneMappingExposure=1;const M=this;let S=!1,E=0,y=0,T=null,b=-1,A=null;const w=new Pe,R=new Pe;let C=null;const P=new ai(0);let U=0,L=n.width,D=n.height,I=1,N=null,O=null;const F=new Pe(0,0,L,D),B=new Pe(0,0,L,D);let z=!1;const H=new cr;let k=!1,W=!1;this.transmissionResolutionScale=1;const j=new pn,Y=new pn,Q=new Oe,tt=new Pe,et={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let nt=!1;function st(){return null===T?I:1}let ot,lt,ct,ht,ut,dt,pt,ft,mt,gt,_t,vt,xt,Mt,St,Et,yt,Tt,bt,At,wt,Rt,Ct,Pt,Ut=i;function Lt(t,e){return n.getContext(t,e)}try{const e={alpha:!0,depth:r,stencil:a,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:h,failIfMajorPerformanceCaveat:u};if(\"setAttribute\"in n&&n.setAttribute(\"data-engine\",`three.js r${t}`),n.addEventListener(\"webglcontextlost\",Nt,!1),n.addEventListener(\"webglcontextrestored\",Ot,!1),n.addEventListener(\"webglcontextcreationerror\",Ft,!1),null===Ut){const t=\"webgl2\";if(Ut=Lt(t,e),null===Ut)throw Lt(t)?new Error(\"Error creating WebGL context with your selected attributes.\"):new Error(\"Error creating WebGL context.\")}}catch(t){throw t}function Dt(){ot=new ra(Ut),ot.init(),Rt=new to(Ut,ot),lt=new Or(Ut,ot,e,Rt),ct=new $s(Ut,ot),lt.reverseDepthBuffer&&d&&ct.buffers.depth.setReversed(!0),ht=new oa(Ut),ut=new zs,dt=new Qs(Ut,ot,ct,ut,lt,Rt,ht),pt=new Br(M),ft=new ia(M),mt=new Ar(Ut),Ct=new Ir(Ut,mt),gt=new aa(Ut,mt,ht,Ct),_t=new ca(Ut,gt,mt,ht),bt=new la(Ut,lt,dt),Et=new Fr(ut),vt=new Bs(M,pt,ft,ot,lt,Ct,Et),xt=new ao(M,ut),Mt=new ks,St=new Ks(ot),Tt=new Dr(M,pt,ft,ct,_t,p,l),yt=new Zs(M,_t,lt),Pt=new so(Ut,ht,lt,ct),At=new Nr(Ut,ot,ht),wt=new sa(Ut,ot,ht),ht.programs=vt.programs,M.capabilities=lt,M.extensions=ot,M.properties=ut,M.renderLists=Mt,M.shadowMap=yt,M.state=ct,M.info=ht}Dt();const It=new no(M,Ut);function Nt(t){t.preventDefault(),S=!0}function Ot(){S=!1;const t=ht.autoReset,e=yt.enabled,n=yt.autoUpdate,i=yt.needsUpdate,r=yt.type;Dt(),ht.autoReset=t,yt.enabled=e,yt.autoUpdate=n,yt.needsUpdate=i,yt.type=r}function Ft(t){}function Ht(t){const e=t.target;e.removeEventListener(\"dispose\",Ht),function(t){(function(t){const e=ut.get(t).programs;void 0!==e&&(e.forEach(function(t){vt.releaseProgram(t)}),t.isShaderMaterial&&vt.releaseShaderCache(t))})(t),ut.remove(t)}(e)}function Vt(t,e,n){!0===t.transparent&&2===t.side&&!1===t.forceSinglePass?(t.side=1,t.needsUpdate=!0,Jt(t,e,n),t.side=0,t.needsUpdate=!0,Jt(t,e,n),t.side=2):Jt(t,e,n)}this.xr=It,this.getContext=function(){return Ut},this.getContextAttributes=function(){return Ut.getContextAttributes()},this.forceContextLoss=function(){const t=ot.get(\"WEBGL_lose_context\");t&&t.loseContext()},this.forceContextRestore=function(){const t=ot.get(\"WEBGL_lose_context\");t&&t.restoreContext()},this.getPixelRatio=function(){return I},this.setPixelRatio=function(t){void 0!==t&&(I=t,this.setSize(L,D,!1))},this.getSize=function(t){return t.set(L,D)},this.setSize=function(t,e,i=!0){It.isPresenting||(L=t,D=e,n.width=Math.floor(t*I),n.height=Math.floor(e*I),!0===i&&(n.style.width=t+\"px\",n.style.height=e+\"px\"),this.setViewport(0,0,t,e))},this.getDrawingBufferSize=function(t){return t.set(L*I,D*I).floor()},this.setDrawingBufferSize=function(t,e,i){L=t,D=e,I=i,n.width=Math.floor(t*i),n.height=Math.floor(e*i),this.setViewport(0,0,t,e)},this.getCurrentViewport=function(t){return t.copy(w)},this.getViewport=function(t){return t.copy(F)},this.setViewport=function(t,e,n,i){t.isVector4?F.set(t.x,t.y,t.z,t.w):F.set(t,e,n,i),ct.viewport(w.copy(F).multiplyScalar(I).round())},this.getScissor=function(t){return t.copy(B)},this.setScissor=function(t,e,n,i){t.isVector4?B.set(t.x,t.y,t.z,t.w):B.set(t,e,n,i),ct.scissor(R.copy(B).multiplyScalar(I).round())},this.getScissorTest=function(){return z},this.setScissorTest=function(t){ct.setScissorTest(z=t)},this.setOpaqueSort=function(t){N=t},this.setTransparentSort=function(t){O=t},this.getClearColor=function(t){return t.copy(Tt.getClearColor())},this.setClearColor=function(){Tt.setClearColor(...arguments)},this.getClearAlpha=function(){return Tt.getClearAlpha()},this.setClearAlpha=function(){Tt.setClearAlpha(...arguments)},this.clear=function(t=!0,e=!0,n=!0){let i=0;if(t){let t=!1;if(null!==T){const e=T.texture.format;t=e===at||e===rt||e===it}if(t){const t=T.texture.type,e=t===G||t===q||t===X||t===$||t===Z||t===J,n=Tt.getClearColor(),i=Tt.getClearAlpha(),r=n.r,a=n.g,s=n.b;e?(f[0]=r,f[1]=a,f[2]=s,f[3]=i,Ut.clearBufferuiv(Ut.COLOR,0,f)):(m[0]=r,m[1]=a,m[2]=s,m[3]=i,Ut.clearBufferiv(Ut.COLOR,0,m))}else i|=Ut.COLOR_BUFFER_BIT}e&&(i|=Ut.DEPTH_BUFFER_BIT),n&&(i|=Ut.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Ut.clear(i)},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.dispose=function(){n.removeEventListener(\"webglcontextlost\",Nt,!1),n.removeEventListener(\"webglcontextrestored\",Ot,!1),n.removeEventListener(\"webglcontextcreationerror\",Ft,!1),Tt.dispose(),Mt.dispose(),St.dispose(),ut.dispose(),pt.dispose(),ft.dispose(),_t.dispose(),Ct.dispose(),Pt.dispose(),vt.dispose(),It.dispose(),It.removeEventListener(\"sessionstart\",kt),It.removeEventListener(\"sessionend\",Wt),Xt.stop()},this.renderBufferDirect=function(t,e,n,i,r,a){null===e&&(e=et);const s=r.isMesh&&r.matrixWorld.determinant()<0,o=function(t,e,n,i,r){!0!==e.isScene&&(e=et);dt.resetTextureUnits();const a=e.fog,s=i.isMeshStandardMaterial?e.environment:null,o=null===T?M.outputColorSpace:!0===T.isXRRenderTarget?T.texture.colorSpace:zt,l=(i.isMeshStandardMaterial?ft:pt).get(i.envMap||s),c=!0===i.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize,h=!!n.attributes.tangent&&(!!i.normalMap||i.anisotropy>0),u=!!n.morphAttributes.position,d=!!n.morphAttributes.normal,p=!!n.morphAttributes.color;let f=0;i.toneMapped&&(null!==T&&!0!==T.isXRRenderTarget||(f=M.toneMapping));const m=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=void 0!==m?m.length:0,v=ut.get(i),x=_.state.lights;if(!0===k&&(!0===W||t!==A)){const e=t===A&&i.id===b;Et.setState(i,t,e)}let S=!1;i.version===v.__version?v.needsLights&&v.lightsStateVersion!==x.state.version||v.outputColorSpace!==o||r.isBatchedMesh&&!1===v.batching?S=!0:r.isBatchedMesh||!0!==v.batching?r.isBatchedMesh&&!0===v.batchingColor&&null===r.colorTexture||r.isBatchedMesh&&!1===v.batchingColor&&null!==r.colorTexture||r.isInstancedMesh&&!1===v.instancing?S=!0:r.isInstancedMesh||!0!==v.instancing?r.isSkinnedMesh&&!1===v.skinning?S=!0:r.isSkinnedMesh||!0!==v.skinning?r.isInstancedMesh&&!0===v.instancingColor&&null===r.instanceColor||r.isInstancedMesh&&!1===v.instancingColor&&null!==r.instanceColor||r.isInstancedMesh&&!0===v.instancingMorph&&null===r.morphTexture||r.isInstancedMesh&&!1===v.instancingMorph&&null!==r.morphTexture||v.envMap!==l||!0===i.fog&&v.fog!==a?S=!0:void 0===v.numClippingPlanes||v.numClippingPlanes===Et.numPlanes&&v.numIntersection===Et.numIntersection?(v.vertexAlphas!==c||v.vertexTangents!==h||v.morphTargets!==u||v.morphNormals!==d||v.morphColors!==p||v.toneMapping!==f||v.morphTargetsCount!==g)&&(S=!0):S=!0:S=!0:S=!0:S=!0:(S=!0,v.__version=i.version);let E=v.currentProgram;!0===S&&(E=Jt(i,e,r));let y=!1,w=!1,R=!1;const C=E.getUniforms(),P=v.uniforms;ct.useProgram(E.program)&&(y=!0,w=!0,R=!0);i.id!==b&&(b=i.id,w=!0);if(y||A!==t){ct.buffers.depth.getReversed()?(j.copy(t.projectionMatrix),function(t){const e=t.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}(j),function(t){const e=t.elements;-1===e[11]?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=1-e[14])}(j),C.setValue(Ut,\"projectionMatrix\",j)):C.setValue(Ut,\"projectionMatrix\",t.projectionMatrix),C.setValue(Ut,\"viewMatrix\",t.matrixWorldInverse);const e=C.map.cameraPosition;void 0!==e&&e.setValue(Ut,Q.setFromMatrixPosition(t.matrixWorld)),lt.logarithmicDepthBuffer&&C.setValue(Ut,\"logDepthBufFC\",2/(Math.log(t.far+1)/Math.LN2)),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&C.setValue(Ut,\"isOrthographic\",!0===t.isOrthographicCamera),A!==t&&(A=t,w=!0,R=!0)}if(r.isSkinnedMesh){C.setOptional(Ut,r,\"bindMatrix\"),C.setOptional(Ut,r,\"bindMatrixInverse\");const t=r.skeleton;t&&(null===t.boneTexture&&t.computeBoneTexture(),C.setValue(Ut,\"boneTexture\",t.boneTexture,dt))}r.isBatchedMesh&&(C.setOptional(Ut,r,\"batchingTexture\"),C.setValue(Ut,\"batchingTexture\",r._matricesTexture,dt),C.setOptional(Ut,r,\"batchingIdTexture\"),C.setValue(Ut,\"batchingIdTexture\",r._indirectTexture,dt),C.setOptional(Ut,r,\"batchingColorTexture\"),null!==r._colorsTexture&&C.setValue(Ut,\"batchingColorTexture\",r._colorsTexture,dt));const U=n.morphAttributes;void 0===U.position&&void 0===U.normal&&void 0===U.color||bt.update(r,n,E);(w||v.receiveShadow!==r.receiveShadow)&&(v.receiveShadow=r.receiveShadow,C.setValue(Ut,\"receiveShadow\",r.receiveShadow));i.isMeshGouraudMaterial&&null!==i.envMap&&(P.envMap.value=l,P.flipEnvMap.value=l.isCubeTexture&&!1===l.isRenderTargetTexture?-1:1);i.isMeshStandardMaterial&&null===i.envMap&&null!==e.environment&&(P.envMapIntensity.value=e.environmentIntensity);w&&(C.setValue(Ut,\"toneMappingExposure\",M.toneMappingExposure),v.needsLights&&(N=R,(L=P).ambientLightColor.needsUpdate=N,L.lightProbe.needsUpdate=N,L.directionalLights.needsUpdate=N,L.directionalLightShadows.needsUpdate=N,L.pointLights.needsUpdate=N,L.pointLightShadows.needsUpdate=N,L.spotLights.needsUpdate=N,L.spotLightShadows.needsUpdate=N,L.rectAreaLights.needsUpdate=N,L.hemisphereLights.needsUpdate=N),a&&!0===i.fog&&xt.refreshFogUniforms(P,a),xt.refreshMaterialUniforms(P,i,I,D,_.state.transmissionRenderTarget[t.id]),fs.upload(Ut,$t(v),P,dt));var L,N;i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(fs.upload(Ut,$t(v),P,dt),i.uniformsNeedUpdate=!1);i.isSpriteMaterial&&C.setValue(Ut,\"center\",r.center);if(C.setValue(Ut,\"modelViewMatrix\",r.modelViewMatrix),C.setValue(Ut,\"normalMatrix\",r.normalMatrix),C.setValue(Ut,\"modelMatrix\",r.matrixWorld),i.isShaderMaterial||i.isRawShaderMaterial){const t=i.uniformsGroups;for(let e=0,n=t.length;e<n;e++){const n=t[e];Pt.update(n,E),Pt.bind(n,E)}}return E}(t,e,n,i,r);ct.setMaterial(i,s);let l=n.index,c=1;if(!0===i.wireframe){if(l=gt.getWireframeAttribute(n),void 0===l)return;c=2}const h=n.drawRange,u=n.attributes.position;let d=h.start*c,p=(h.start+h.count)*c;null!==a&&(d=Math.max(d,a.start*c),p=Math.min(p,(a.start+a.count)*c)),null!==l?(d=Math.max(d,0),p=Math.min(p,l.count)):null!=u&&(d=Math.max(d,0),p=Math.min(p,u.count));const f=p-d;if(f<0||f===1/0)return;let m;Ct.setup(r,i,o,n,l);let g=At;if(null!==l&&(m=mt.get(l),g=wt,g.setIndex(m)),r.isMesh)!0===i.wireframe?(ct.setLineWidth(i.wireframeLinewidth*st()),g.setMode(Ut.LINES)):g.setMode(Ut.TRIANGLES);else if(r.isLine){let t=i.linewidth;void 0===t&&(t=1),ct.setLineWidth(t*st()),r.isLineSegments?g.setMode(Ut.LINES):r.isLineLoop?g.setMode(Ut.LINE_LOOP):g.setMode(Ut.LINE_STRIP)}else r.isPoints?g.setMode(Ut.POINTS):r.isSprite&&g.setMode(Ut.TRIANGLES);if(r.isBatchedMesh)if(null!==r._multiDrawInstances)ge(\"THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.\"),g.renderMultiDrawInstances(r._multiDrawStarts,r._multiDrawCounts,r._multiDrawCount,r._multiDrawInstances);else if(ot.get(\"WEBGL_multi_draw\"))g.renderMultiDraw(r._multiDrawStarts,r._multiDrawCounts,r._multiDrawCount);else{const t=r._multiDrawStarts,e=r._multiDrawCounts,n=r._multiDrawCount,a=l?mt.get(l).bytesPerElement:1,s=ut.get(i).currentProgram.getUniforms();for(let i=0;i<n;i++)s.setValue(Ut,\"_gl_DrawID\",i),g.render(t[i]/a,e[i])}else if(r.isInstancedMesh)g.renderInstances(d,f,r.count);else if(n.isInstancedBufferGeometry){const t=void 0!==n._maxInstanceCount?n._maxInstanceCount:1/0,e=Math.min(n.instanceCount,t);g.renderInstances(d,f,e)}else g.render(d,f)},this.compile=function(t,e,n=null){null===n&&(n=t),_=St.get(n),_.init(e),x.push(_),n.traverseVisible(function(t){t.isLight&&t.layers.test(e.layers)&&(_.pushLight(t),t.castShadow&&_.pushShadow(t))}),t!==n&&t.traverseVisible(function(t){t.isLight&&t.layers.test(e.layers)&&(_.pushLight(t),t.castShadow&&_.pushShadow(t))}),_.setupLights();const i=new Set;return t.traverse(function(t){if(!(t.isMesh||t.isPoints||t.isLine||t.isSprite))return;const e=t.material;if(e)if(Array.isArray(e))for(let r=0;r<e.length;r++){const a=e[r];Vt(a,n,t),i.add(a)}else Vt(e,n,t),i.add(e)}),_=x.pop(),i},this.compileAsync=function(t,e,n=null){const i=this.compile(t,e,n);return new Promise(e=>{function n(){i.forEach(function(t){ut.get(t).currentProgram.isReady()&&i.delete(t)}),0!==i.size?setTimeout(n,10):e(t)}null!==ot.get(\"KHR_parallel_shader_compile\")?n():setTimeout(n,10)})};let Gt=null;function kt(){Xt.stop()}function Wt(){Xt.start()}const Xt=new br;function jt(t,e,n,i){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)n=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)_.pushLight(t),t.castShadow&&_.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||H.intersectsSprite(t)){i&&tt.setFromMatrixPosition(t.matrixWorld).applyMatrix4(Y);const e=_t.update(t),r=t.material;r.visible&&g.push(t,e,r,n,tt.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(!t.frustumCulled||H.intersectsObject(t))){const e=_t.update(t),r=t.material;if(i&&(void 0!==t.boundingSphere?(null===t.boundingSphere&&t.computeBoundingSphere(),tt.copy(t.boundingSphere.center)):(null===e.boundingSphere&&e.computeBoundingSphere(),tt.copy(e.boundingSphere.center)),tt.applyMatrix4(t.matrixWorld).applyMatrix4(Y)),Array.isArray(r)){const i=e.groups;for(let a=0,s=i.length;a<s;a++){const s=i[a],o=r[s.materialIndex];o&&o.visible&&g.push(t,e,o,n,tt.z,s)}}else r.visible&&g.push(t,e,r,n,tt.z,null)}const r=t.children;for(let t=0,a=r.length;t<a;t++)jt(r[t],e,n,i)}function qt(t,e,n,i){const r=t.opaque,a=t.transmissive,s=t.transparent;_.setupLightsView(n),!0===k&&Et.setGlobalState(M.clippingPlanes,n),i&&ct.viewport(w.copy(i)),r.length>0&&Kt(r,e,n),a.length>0&&Kt(a,e,n),s.length>0&&Kt(s,e,n),ct.buffers.depth.setTest(!0),ct.buffers.depth.setMask(!0),ct.buffers.color.setMask(!0),ct.setPolygonOffset(!1)}function Yt(t,e,n,i){if(null!==(!0===n.isScene?n.overrideMaterial:null))return;void 0===_.state.transmissionRenderTarget[i.id]&&(_.state.transmissionRenderTarget[i.id]=new Le(1,1,{generateMipmaps:!0,type:ot.has(\"EXT_color_buffer_half_float\")||ot.has(\"EXT_color_buffer_float\")?K:G,minFilter:V,samples:4,stencilBuffer:a,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Me.workingColorSpace}));const r=_.state.transmissionRenderTarget[i.id],s=i.viewport||w;r.setSize(s.z*M.transmissionResolutionScale,s.w*M.transmissionResolutionScale);const o=M.getRenderTarget();M.setRenderTarget(r),M.getClearColor(P),U=M.getClearAlpha(),U<1&&M.setClearColor(16777215,.5),M.clear(),nt&&Tt.render(n);const l=M.toneMapping;M.toneMapping=0;const c=i.viewport;if(void 0!==i.viewport&&(i.viewport=void 0),_.setupLightsView(i),!0===k&&Et.setGlobalState(M.clippingPlanes,i),Kt(t,n,i),dt.updateMultisampleRenderTarget(r),dt.updateRenderTargetMipmap(r),!1===ot.has(\"WEBGL_multisampled_render_to_texture\")){let t=!1;for(let r=0,a=e.length;r<a;r++){const a=e[r],s=a.object,o=a.geometry,l=a.material,c=a.group;if(2===l.side&&s.layers.test(i.layers)){const e=l.side;l.side=1,l.needsUpdate=!0,Zt(s,n,i,o,l,c),l.side=e,l.needsUpdate=!0,t=!0}}!0===t&&(dt.updateMultisampleRenderTarget(r),dt.updateRenderTargetMipmap(r))}M.setRenderTarget(o),M.setClearColor(P,U),void 0!==c&&(i.viewport=c),M.toneMapping=l}function Kt(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,a=t.length;r<a;r++){const a=t[r],s=a.object,o=a.geometry,l=null===i?a.material:i,c=a.group;s.layers.test(n.layers)&&Zt(s,e,n,o,l,c)}}function Zt(t,e,n,i,r,a){t.onBeforeRender(M,e,n,i,r,a),t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),r.onBeforeRender(M,e,n,i,t,a),!0===r.transparent&&2===r.side&&!1===r.forceSinglePass?(r.side=1,r.needsUpdate=!0,M.renderBufferDirect(n,e,i,r,t,a),r.side=0,r.needsUpdate=!0,M.renderBufferDirect(n,e,i,r,t,a),r.side=2):M.renderBufferDirect(n,e,i,r,t,a),t.onAfterRender(M,e,n,i,r,a)}function Jt(t,e,n){!0!==e.isScene&&(e=et);const i=ut.get(t),r=_.state.lights,a=_.state.shadowsArray,s=r.state.version,o=vt.getParameters(t,r.state,a,e,n),l=vt.getProgramCacheKey(o);let c=i.programs;i.environment=t.isMeshStandardMaterial?e.environment:null,i.fog=e.fog,i.envMap=(t.isMeshStandardMaterial?ft:pt).get(t.envMap||i.environment),i.envMapRotation=null!==i.environment&&null===t.envMap?e.environmentRotation:t.envMapRotation,void 0===c&&(t.addEventListener(\"dispose\",Ht),c=new Map,i.programs=c);let h=c.get(l);if(void 0!==h){if(i.currentProgram===h&&i.lightsStateVersion===s)return Qt(t,o),h}else o.uniforms=vt.getUniforms(t),t.onBeforeCompile(o,M),h=vt.acquireProgram(o,l),c.set(l,h),i.uniforms=o.uniforms;const u=i.uniforms;return(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(u.clippingPlanes=Et.uniform),Qt(t,o),i.needsLights=function(t){return t.isMeshLambertMaterial||t.isMeshToonMaterial||t.isMeshPhongMaterial||t.isMeshStandardMaterial||t.isShadowMaterial||t.isShaderMaterial&&!0===t.lights}(t),i.lightsStateVersion=s,i.needsLights&&(u.ambientLightColor.value=r.state.ambient,u.lightProbe.value=r.state.probe,u.directionalLights.value=r.state.directional,u.directionalLightShadows.value=r.state.directionalShadow,u.spotLights.value=r.state.spot,u.spotLightShadows.value=r.state.spotShadow,u.rectAreaLights.value=r.state.rectArea,u.ltc_1.value=r.state.rectAreaLTC1,u.ltc_2.value=r.state.rectAreaLTC2,u.pointLights.value=r.state.point,u.pointLightShadows.value=r.state.pointShadow,u.hemisphereLights.value=r.state.hemi,u.directionalShadowMap.value=r.state.directionalShadowMap,u.directionalShadowMatrix.value=r.state.directionalShadowMatrix,u.spotShadowMap.value=r.state.spotShadowMap,u.spotLightMatrix.value=r.state.spotLightMatrix,u.spotLightMap.value=r.state.spotLightMap,u.pointShadowMap.value=r.state.pointShadowMap,u.pointShadowMatrix.value=r.state.pointShadowMatrix),i.currentProgram=h,i.uniformsList=null,h}function $t(t){if(null===t.uniformsList){const e=t.currentProgram.getUniforms();t.uniformsList=fs.seqWithValue(e.seq,t.uniforms)}return t.uniformsList}function Qt(t,e){const n=ut.get(t);n.outputColorSpace=e.outputColorSpace,n.batching=e.batching,n.batchingColor=e.batchingColor,n.instancing=e.instancing,n.instancingColor=e.instancingColor,n.instancingMorph=e.instancingMorph,n.skinning=e.skinning,n.morphTargets=e.morphTargets,n.morphNormals=e.morphNormals,n.morphColors=e.morphColors,n.morphTargetsCount=e.morphTargetsCount,n.numClippingPlanes=e.numClippingPlanes,n.numIntersection=e.numClipIntersection,n.vertexAlphas=e.vertexAlphas,n.vertexTangents=e.vertexTangents,n.toneMapping=e.toneMapping}Xt.setAnimationLoop(function(t){Gt&&Gt(t)}),\"undefined\"!=typeof self&&Xt.setContext(self),this.setAnimationLoop=function(t){Gt=t,It.setAnimationLoop(t),null===t?Xt.stop():Xt.start()},It.addEventListener(\"sessionstart\",kt),It.addEventListener(\"sessionend\",Wt),this.render=function(t,e){if(void 0!==e&&!0!==e.isCamera)return;if(!0===S)return;if(!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),null===e.parent&&!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),!0===It.enabled&&!0===It.isPresenting&&(!0===It.cameraAutoUpdate&&It.updateCamera(e),e=It.getCamera()),!0===t.isScene&&t.onBeforeRender(M,t,e,T),_=St.get(t,x.length),_.init(e),x.push(_),Y.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),H.setFromProjectionMatrix(Y),W=this.localClippingEnabled,k=Et.init(this.clippingPlanes,W),g=Mt.get(t,v.length),g.init(),v.push(g),!0===It.enabled&&!0===It.isPresenting){const t=M.xr.getDepthSensingMesh();null!==t&&jt(t,e,-1/0,M.sortObjects)}jt(t,e,0,M.sortObjects),g.finish(),!0===M.sortObjects&&g.sort(N,O),nt=!1===It.enabled||!1===It.isPresenting||!1===It.hasDepthSensing(),nt&&Tt.addToRenderList(g,t),this.info.render.frame++,!0===k&&Et.beginShadows();const n=_.state.shadowsArray;yt.render(n,t,e),!0===k&&Et.endShadows(),!0===this.info.autoReset&&this.info.reset();const i=g.opaque,r=g.transmissive;if(_.setupLights(),e.isArrayCamera){const n=e.cameras;if(r.length>0)for(let e=0,a=n.length;e<a;e++){Yt(i,r,t,n[e])}nt&&Tt.render(t);for(let e=0,i=n.length;e<i;e++){const i=n[e];qt(g,t,i,i.viewport)}}else r.length>0&&Yt(i,r,t,e),nt&&Tt.render(t),qt(g,t,e);null!==T&&0===y&&(dt.updateMultisampleRenderTarget(T),dt.updateRenderTargetMipmap(T)),!0===t.isScene&&t.onAfterRender(M,t,e),Ct.resetDefaultState(),b=-1,A=null,x.pop(),x.length>0?(_=x[x.length-1],!0===k&&Et.setGlobalState(M.clippingPlanes,_.state.camera)):_=null,v.pop(),g=v.length>0?v[v.length-1]:null},this.getActiveCubeFace=function(){return E},this.getActiveMipmapLevel=function(){return y},this.getRenderTarget=function(){return T},this.setRenderTargetTextures=function(t,e,n){ut.get(t.texture).__webglTexture=e,ut.get(t.depthTexture).__webglTexture=n;const i=ut.get(t);i.__hasExternalTextures=!0,i.__autoAllocateDepthBuffer=void 0===n,i.__autoAllocateDepthBuffer||!0===ot.has(\"WEBGL_multisampled_render_to_texture\")&&(i.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(t,e){const n=ut.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e};const te=Ut.createFramebuffer();this.setRenderTarget=function(t,e=0,n=0){T=t,E=e,y=n;let i=!0,r=null,a=!1,s=!1;if(t){const o=ut.get(t);if(void 0!==o.__useDefaultFramebuffer)ct.bindFramebuffer(Ut.FRAMEBUFFER,null),i=!1;else if(void 0===o.__webglFramebuffer)dt.setupRenderTarget(t);else if(o.__hasExternalTextures)dt.rebindTextures(t,ut.get(t.texture).__webglTexture,ut.get(t.depthTexture).__webglTexture);else if(t.depthBuffer){const e=t.depthTexture;if(o.__boundDepthTexture!==e){if(null!==e&&ut.has(e)&&(t.width!==e.image.width||t.height!==e.image.height))throw new Error(\"WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.\");dt.setupDepthRenderbuffer(t)}}const l=t.texture;(l.isData3DTexture||l.isDataArrayTexture||l.isCompressedArrayTexture)&&(s=!0);const c=ut.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=Array.isArray(c[e])?c[e][n]:c[e],a=!0):r=t.samples>0&&!1===dt.useMultisampledRTT(t)?ut.get(t).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,w.copy(t.viewport),R.copy(t.scissor),C=t.scissorTest}else w.copy(F).multiplyScalar(I).floor(),R.copy(B).multiplyScalar(I).floor(),C=z;0!==n&&(r=te);if(ct.bindFramebuffer(Ut.FRAMEBUFFER,r)&&i&&ct.drawBuffers(t,r),ct.viewport(w),ct.scissor(R),ct.setScissorTest(C),a){const i=ut.get(t.texture);Ut.framebufferTexture2D(Ut.FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,Ut.TEXTURE_CUBE_MAP_POSITIVE_X+e,i.__webglTexture,n)}else if(s){const i=ut.get(t.texture),r=e;Ut.framebufferTextureLayer(Ut.FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,i.__webglTexture,n,r)}else if(null!==t&&0!==n){const e=ut.get(t.texture);Ut.framebufferTexture2D(Ut.FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,Ut.TEXTURE_2D,e.__webglTexture,n)}b=-1},this.readRenderTargetPixels=function(t,e,n,i,r,a,s){if(!t||!t.isWebGLRenderTarget)return;let o=ut.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==s&&(o=o[s]),o){ct.bindFramebuffer(Ut.FRAMEBUFFER,o);try{const s=t.texture,o=s.format,l=s.type;if(!lt.textureFormatReadable(o))return;if(!lt.textureTypeReadable(l))return;e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&Ut.readPixels(e,n,i,r,Rt.convert(o),Rt.convert(l),a)}finally{const t=null!==T?ut.get(T).__webglFramebuffer:null;ct.bindFramebuffer(Ut.FRAMEBUFFER,t)}}},this.readRenderTargetPixelsAsync=async function(t,e,n,i,r,a,s){if(!t||!t.isWebGLRenderTarget)throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");let o=ut.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==s&&(o=o[s]),o){const s=t.texture,l=s.format,c=s.type;if(!lt.textureFormatReadable(l))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.\");if(!lt.textureTypeReadable(c))throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.\");if(e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r){ct.bindFramebuffer(Ut.FRAMEBUFFER,o);const t=Ut.createBuffer();Ut.bindBuffer(Ut.PIXEL_PACK_BUFFER,t),Ut.bufferData(Ut.PIXEL_PACK_BUFFER,a.byteLength,Ut.STREAM_READ),Ut.readPixels(e,n,i,r,Rt.convert(l),Rt.convert(c),0);const s=null!==T?ut.get(T).__webglFramebuffer:null;ct.bindFramebuffer(Ut.FRAMEBUFFER,s);const h=Ut.fenceSync(Ut.SYNC_GPU_COMMANDS_COMPLETE,0);return Ut.flush(),await function(t,e,n){return new Promise(function(i,r){setTimeout(function a(){switch(t.clientWaitSync(e,t.SYNC_FLUSH_COMMANDS_BIT,0)){case t.WAIT_FAILED:r();break;case t.TIMEOUT_EXPIRED:setTimeout(a,n);break;default:i()}},n)})}(Ut,h,4),Ut.bindBuffer(Ut.PIXEL_PACK_BUFFER,t),Ut.getBufferSubData(Ut.PIXEL_PACK_BUFFER,0,a),Ut.deleteBuffer(t),Ut.deleteSync(h),a}throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.\")}},this.copyFramebufferToTexture=function(t,e=null,n=0){!0!==t.isTexture&&(ge(\"WebGLRenderer: copyFramebufferToTexture function signature has changed.\"),e=arguments[0]||null,t=arguments[1]);const i=Math.pow(2,-n),r=Math.floor(t.image.width*i),a=Math.floor(t.image.height*i),s=null!==e?e.x:0,o=null!==e?e.y:0;dt.setTexture2D(t,0),Ut.copyTexSubImage2D(Ut.TEXTURE_2D,n,0,0,s,o,r,a),ct.unbindTexture()};const ee=Ut.createFramebuffer(),ne=Ut.createFramebuffer();this.copyTextureToTexture=function(t,e,n=null,i=null,r=0,a=null){let s,o,l,c,h,u,d,p,f;!0!==t.isTexture&&(ge(\"WebGLRenderer: copyTextureToTexture function signature has changed.\"),i=arguments[0]||null,t=arguments[1],e=arguments[2],a=arguments[3]||0,n=null),null===a&&(0!==r?(ge(\"WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.\"),a=r,r=0):a=0);const m=t.isCompressedTexture?t.mipmaps[a]:t.image;if(null!==n)s=n.max.x-n.min.x,o=n.max.y-n.min.y,l=n.isBox3?n.max.z-n.min.z:1,c=n.min.x,h=n.min.y,u=n.isBox3?n.min.z:0;else{const e=Math.pow(2,-r);s=Math.floor(m.width*e),o=Math.floor(m.height*e),l=t.isDataArrayTexture?m.depth:t.isData3DTexture?Math.floor(m.depth*e):1,c=0,h=0,u=0}null!==i?(d=i.x,p=i.y,f=i.z):(d=0,p=0,f=0);const g=Rt.convert(e.format),_=Rt.convert(e.type);let v;e.isData3DTexture?(dt.setTexture3D(e,0),v=Ut.TEXTURE_3D):e.isDataArrayTexture||e.isCompressedArrayTexture?(dt.setTexture2DArray(e,0),v=Ut.TEXTURE_2D_ARRAY):(dt.setTexture2D(e,0),v=Ut.TEXTURE_2D),Ut.pixelStorei(Ut.UNPACK_FLIP_Y_WEBGL,e.flipY),Ut.pixelStorei(Ut.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.premultiplyAlpha),Ut.pixelStorei(Ut.UNPACK_ALIGNMENT,e.unpackAlignment);const x=Ut.getParameter(Ut.UNPACK_ROW_LENGTH),M=Ut.getParameter(Ut.UNPACK_IMAGE_HEIGHT),S=Ut.getParameter(Ut.UNPACK_SKIP_PIXELS),E=Ut.getParameter(Ut.UNPACK_SKIP_ROWS),y=Ut.getParameter(Ut.UNPACK_SKIP_IMAGES);Ut.pixelStorei(Ut.UNPACK_ROW_LENGTH,m.width),Ut.pixelStorei(Ut.UNPACK_IMAGE_HEIGHT,m.height),Ut.pixelStorei(Ut.UNPACK_SKIP_PIXELS,c),Ut.pixelStorei(Ut.UNPACK_SKIP_ROWS,h),Ut.pixelStorei(Ut.UNPACK_SKIP_IMAGES,u);const T=t.isDataArrayTexture||t.isData3DTexture,b=e.isDataArrayTexture||e.isData3DTexture;if(t.isDepthTexture){const n=ut.get(t),i=ut.get(e),m=ut.get(n.__renderTarget),g=ut.get(i.__renderTarget);ct.bindFramebuffer(Ut.READ_FRAMEBUFFER,m.__webglFramebuffer),ct.bindFramebuffer(Ut.DRAW_FRAMEBUFFER,g.__webglFramebuffer);for(let n=0;n<l;n++)T&&(Ut.framebufferTextureLayer(Ut.READ_FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,ut.get(t).__webglTexture,r,u+n),Ut.framebufferTextureLayer(Ut.DRAW_FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,ut.get(e).__webglTexture,a,f+n)),Ut.blitFramebuffer(c,h,s,o,d,p,s,o,Ut.DEPTH_BUFFER_BIT,Ut.NEAREST);ct.bindFramebuffer(Ut.READ_FRAMEBUFFER,null),ct.bindFramebuffer(Ut.DRAW_FRAMEBUFFER,null)}else if(0!==r||t.isRenderTargetTexture||ut.has(t)){const n=ut.get(t),i=ut.get(e);ct.bindFramebuffer(Ut.READ_FRAMEBUFFER,ee),ct.bindFramebuffer(Ut.DRAW_FRAMEBUFFER,ne);for(let t=0;t<l;t++)T?Ut.framebufferTextureLayer(Ut.READ_FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,n.__webglTexture,r,u+t):Ut.framebufferTexture2D(Ut.READ_FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,Ut.TEXTURE_2D,n.__webglTexture,r),b?Ut.framebufferTextureLayer(Ut.DRAW_FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,i.__webglTexture,a,f+t):Ut.framebufferTexture2D(Ut.DRAW_FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,Ut.TEXTURE_2D,i.__webglTexture,a),0!==r?Ut.blitFramebuffer(c,h,s,o,d,p,s,o,Ut.COLOR_BUFFER_BIT,Ut.NEAREST):b?Ut.copyTexSubImage3D(v,a,d,p,f+t,c,h,s,o):Ut.copyTexSubImage2D(v,a,d,p,c,h,s,o);ct.bindFramebuffer(Ut.READ_FRAMEBUFFER,null),ct.bindFramebuffer(Ut.DRAW_FRAMEBUFFER,null)}else b?t.isDataTexture||t.isData3DTexture?Ut.texSubImage3D(v,a,d,p,f,s,o,l,g,_,m.data):e.isCompressedArrayTexture?Ut.compressedTexSubImage3D(v,a,d,p,f,s,o,l,g,m.data):Ut.texSubImage3D(v,a,d,p,f,s,o,l,g,_,m):t.isDataTexture?Ut.texSubImage2D(Ut.TEXTURE_2D,a,d,p,s,o,g,_,m.data):t.isCompressedTexture?Ut.compressedTexSubImage2D(Ut.TEXTURE_2D,a,d,p,m.width,m.height,g,m.data):Ut.texSubImage2D(Ut.TEXTURE_2D,a,d,p,s,o,g,_,m);Ut.pixelStorei(Ut.UNPACK_ROW_LENGTH,x),Ut.pixelStorei(Ut.UNPACK_IMAGE_HEIGHT,M),Ut.pixelStorei(Ut.UNPACK_SKIP_PIXELS,S),Ut.pixelStorei(Ut.UNPACK_SKIP_ROWS,E),Ut.pixelStorei(Ut.UNPACK_SKIP_IMAGES,y),0===a&&e.generateMipmaps&&Ut.generateMipmap(v),ct.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n=null,i=null,r=0){return!0!==t.isTexture&&(ge(\"WebGLRenderer: copyTextureToTexture3D function signature has changed.\"),n=arguments[0]||null,i=arguments[1]||null,t=arguments[2],e=arguments[3],r=arguments[4]||0),ge('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use \"copyTextureToTexture\" instead.'),this.copyTextureToTexture(t,e,n,i,r)},this.initRenderTarget=function(t){void 0===ut.get(t).__webglFramebuffer&&dt.setupRenderTarget(t)},this.initTexture=function(t){t.isCubeTexture?dt.setTextureCube(t,0):t.isData3DTexture?dt.setTexture3D(t,0):t.isDataArrayTexture||t.isCompressedArrayTexture?dt.setTexture2DArray(t,0):dt.setTexture2D(t,0),ct.unbindTexture()},this.resetState=function(){E=0,y=0,T=null,ct.reset(),Ct.reset()},\"undefined\"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}get coordinateSystem(){return $t}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorspace=Me._getDrawingBufferColorSpace(t),e.unpackColorSpace=Me._getUnpackColorSpace()}}const lo=void 0;export{Er as Clock,lo as IUniform,z as LinearFilter,Oi as Mesh,Yi as PerspectiveCamera,ur as PlaneGeometry,Bt as SRGBColorSpace,nr as Scene,ki as ShaderMaterial,xr as TextureLoader,ce as Vector2,oo as WebGLRenderer};\n","// Generated by Framer (0b8b5e5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const serializationHash=\"framer-q8Ttd\";const variantClassNames={XvqTw0Be9:\"framer-v-jjcw9a\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const getProps=({height,id,subtitle,title,width,...props})=>{var _ref,_ref1;return{...props,WuF2iG84P:(_ref=subtitle!==null&&subtitle!==void 0?subtitle:props.WuF2iG84P)!==null&&_ref!==void 0?_ref:\"Set up the component by adding background and bouncer elements to the component properties.\",yeAnKbEUZ:(_ref1=title!==null&&title!==void 0?title:props.yeAnKbEUZ)!==null&&_ref1!==void 0?_ref1:\"Screen Saver\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,yeAnKbEUZ,WuF2iG84P,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"XvqTw0Be9\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?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(serializationHash,...sharedStyleClassNames,\"framer-jjcw9a\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"XvqTw0Be9\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgba(136, 85, 255, 0.1)\",...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-uh2i08\",layoutDependency:layoutDependency,layoutId:\"aM7oiNoFL\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-flw0dh\",\"data-framer-name\":\"Logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"GthLmGmBt\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 28 28\"><g id=\"ss11036020200_1\"><path d=\"M 0 0 L 28 0 L 28 28 L 0 28 Z\" fill=\"transparent\"></path><path d=\"M 21 7.113 C 21 7.041 21.029 6.971 21.079 6.921 L 27.534 0.465 C 27.613 0.388 27.73 0.365 27.831 0.407 C 27.933 0.449 28 0.548 28 0.658 L 28 13.888 C 28 13.96 27.971 14.028 27.921 14.079 L 21 21 Z M 7 21 L 7 7.658 C 7 7.548 6.933 7.449 6.831 7.407 C 6.73 7.365 6.613 7.388 6.534 7.465 L 0.079 13.921 C 0.028 13.972 0 14.041 0 14.113 L 0 27.728 C 0 27.877 0.122 28 0.273 28 L 13.888 28 C 13.96 28 14.028 27.971 14.079 27.921 L 21 21 Z\" fill=\"rgb(153, 102, 255)\"></path></g></svg>',svgContentId:11036020200,withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-k3ullq\",layoutDependency:layoutDependency,layoutId:\"E3DQBYSAf\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"11px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 102, 255))\"},children:\"Screen Saver\"})}),className:\"framer-q0gs4u\",\"data-framer-name\":\"Title\",fonts:[\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"UqJwZqJjg\",style:{\"--extracted-r6o4lv\":\"rgb(153, 102, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:yeAnKbEUZ,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"11px\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.4em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(153, 102, 255, 0.7))\"},children:\"Set up the component by adding background and bouncer elements to the component properties.\"})}),className:\"framer-g5dqhc\",\"data-framer-name\":\"Subtitle\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"RJ7UF99m8\",style:{\"--extracted-r6o4lv\":\"rgba(153, 102, 255, 0.7)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:WuF2iG84P,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-q8Ttd.framer-qanqo2, .framer-q8Ttd .framer-qanqo2 { display: block; }\",\".framer-q8Ttd.framer-jjcw9a { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 200px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 400px; }\",\".framer-q8Ttd .framer-uh2i08 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 20px 0px 20px; position: relative; width: 1px; }\",\".framer-q8Ttd .framer-flw0dh { flex: none; height: 28px; position: relative; width: 28px; }\",\".framer-q8Ttd .framer-k3ullq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; max-width: 200px; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-q8Ttd .framer-q0gs4u, .framer-q8Ttd .framer-g5dqhc { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-q8Ttd.framer-jjcw9a, .framer-q8Ttd .framer-uh2i08, .framer-q8Ttd .framer-k3ullq { gap: 0px; } .framer-q8Ttd.framer-jjcw9a > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-q8Ttd.framer-jjcw9a > :first-child { margin-left: 0px; } .framer-q8Ttd.framer-jjcw9a > :last-child { margin-right: 0px; } .framer-q8Ttd .framer-uh2i08 > * { margin: 0px; margin-bottom: calc(16px / 2); margin-top: calc(16px / 2); } .framer-q8Ttd .framer-uh2i08 > :first-child, .framer-q8Ttd .framer-k3ullq > :first-child { margin-top: 0px; } .framer-q8Ttd .framer-uh2i08 > :last-child, .framer-q8Ttd .framer-k3ullq > :last-child { margin-bottom: 0px; } .framer-q8Ttd .framer-k3ullq > * { margin: 0px; margin-bottom: calc(12px / 2); margin-top: calc(12px / 2); } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 400\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"yeAnKbEUZ\":\"title\",\"WuF2iG84P\":\"subtitle\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerW7oLCU4_B=withCSS(Component,css,\"framer-q8Ttd\");export default FramerW7oLCU4_B;FramerW7oLCU4_B.displayName=\"Utils/Component Message\";FramerW7oLCU4_B.defaultProps={height:200,width:400};addPropertyControls(FramerW7oLCU4_B,{yeAnKbEUZ:{defaultValue:\"Screen Saver\",displayTextArea:false,title:\"Title\",type:ControlType.String},WuF2iG84P:{defaultValue:\"Set up the component by adding background and bouncer elements to the component properties.\",displayTextArea:false,title:\"Subtitle\",type:ControlType.String}});addFonts(FramerW7oLCU4_B,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerW7oLCU4_B\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"yeAnKbEUZ\\\":\\\"title\\\",\\\"WuF2iG84P\\\":\\\"subtitle\\\"}\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./W7oLCU4_B.map","/*\n * Utils/Component Message\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js\"\nexport { default } from \"https://framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{cloneElement}from\"react\";import UtilsComponentMessage from\"https://framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe\";export const ComponentMessage=({title,subtitle,style})=>{return /*#__PURE__*/_jsx(UtilsComponentMessage,{yeAnKbEUZ:title,WuF2iG84P:subtitle,style:{width:\"100%\",height:\"100%\",...style}});};/* \n    This function is also used many times to make sure components work even if we set a color style like \"Accent\" on their color properties. We can make this into a utility function.\n*/export const extractRGBColorFromString=str=>{const rgbRegex=/(rgba|rgb)\\(.*?\\)/g;const match=str.match(rgbRegex);return match?match[0]:str;};/*\n    This function makes a connected layer use the sizing of the component it is inside,\n    preventing it from being larger or smaller than the component's size.\n    Use this on layers connected with ControlType.ComponentInstance.\n*/export function styleLayer(layer,style={}){layer=Array.isArray(layer)?layer[0]:layer;let newLayer=layer;const{width,height,...otherStyle}=style;if(layer&&layer.props&&style&&(width||height)){if(typeof layer.type===\"function\"&&typeof layer.props.children===\"object\"){newLayer=/*#__PURE__*/cloneElement(layer,{children:{...layer.props.children,props:{...layer.props.children.props,style:{...layer.props.children.props.style,...width&&{width},...height&&{height},...otherStyle}}}});}else{newLayer=/*#__PURE__*/cloneElement(layer,{style:{...layer.props.style,...width&&{width},...height&&{height},...otherStyle}});}}return newLayer;}\nexport const __FramerMetadata__ = {\"exports\":{\"ComponentMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"extractRGBColorFromString\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"styleLayer\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect,useState,useCallback}from\"react\";import{useMotionValue,useSpring,animate}from\"framer-motion\";import{Scene,PerspectiveCamera,WebGLRenderer,PlaneGeometry,Mesh,ShaderMaterial,Vector2,LinearFilter,SRGBColorSpace,Clock,TextureLoader}from\"https://cdn.jsdelivr.net/gh/framer-university/components/npm-bundles/liquid-mask.js\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{ComponentMessage}from\"https://framer.com/m/Utils-FINc.js\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 400\n * @framerDisableUnlink\n */export default function LiquidMask(props){const{imageBase,imageHover,borderRadius=10,radius=100,blur=.5,circleBoost=.5,texture=.5,timeSpeed=5,hover,preview=false}=props;// Check if base image is missing\nconst hasBaseImage=imageBase&&imageBase.src;// Show ComponentMessage if no base image is provided\nif(!hasBaseImage){return /*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:\"100%\",position:\"relative\",borderRadius:borderRadius},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:\"100%\",position:\"relative\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(ComponentMessage,{style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:0,minHeight:0},title:\"Liquid Mask Effect\",description:\"Add a base image to create stunning liquid mask effects with gooey animations\"})})});}const canvasRef=useRef(null);const imgRef=useRef(null);const containerRef=useRef(null);const uniformsRef=useRef(null);// Detect mobile: disable effect and show base image only\nconst[isMobile,setIsMobile]=useState(false);useEffect(()=>{const checkMobile=()=>{const coarse=typeof window!==\"undefined\"&&window.matchMedia?window.matchMedia(\"(pointer: coarse)\").matches:false;const small=typeof window!==\"undefined\"&&window.matchMedia?window.matchMedia(\"(max-width: 768px)\").matches:false;setIsMobile(coarse||small);};checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[]);// Motion/value state for hover scaling\nconst scaleMV=useMotionValue(1);const[springOptions,setSpringOptions]=useState(()=>({stiffness:170,damping:26,mass:1}));const springScaleMV=useSpring(1,springOptions);const tweenAnimRef=useRef(null);const hoverScaleRef=useRef(hover?.scale??1.2);useEffect(()=>{hoverScaleRef.current=Math.max(1,Math.min(3,hover?.scale??1.2));},[hover?.scale]);useEffect(()=>{const tr=hover?.transition||{};if(tr&&tr.type===\"spring\"){if(typeof tr.stiffness===\"number\"||typeof tr.damping===\"number\"||typeof tr.mass===\"number\"){setSpringOptions({stiffness:typeof tr.stiffness===\"number\"?tr.stiffness:170,damping:typeof tr.damping===\"number\"?tr.damping:26,mass:typeof tr.mass===\"number\"?tr.mass:1,restDelta:typeof tr.restDelta===\"number\"?tr.restDelta:undefined,restSpeed:typeof tr.restSpeed===\"number\"?tr.restSpeed:undefined});}else{const bounce=Math.max(0,Math.min(1,tr.bounce??0));const duration=Math.max(.05,tr.duration??.5);const mass=1;const dampingRatio=1-.85*bounce;const stiffness=Math.max(50,Math.min(700,200/duration));const damping=2*Math.sqrt(stiffness*mass)*dampingRatio;setSpringOptions({stiffness,damping,mass});}}},[hover?.transition]);// Apply base image and hover image scale whenever motion values change\nuseEffect(()=>{const applyScale=v=>{const clamped=Math.max(1,Math.min(3,v));const img=imgRef.current;if(img){img.style.transform=`scale(${clamped})`;img.style.transformOrigin=\"50% 50%\";img.style.willChange=\"transform\";}if(uniformsRef.current&&uniformsRef.current.u_hoverScale){uniformsRef.current.u_hoverScale.value=clamped;}};const unsubA=scaleMV.on(\"change\",applyScale);const unsubB=springScaleMV.on(\"change\",applyScale);applyScale(1);return()=>{unsubA?.();unsubB?.();};},[scaleMV,springScaleMV]);const animateToScale=useCallback(target=>{const clamped=Math.max(1,Math.min(3,target));const tr=hover?.transition||{};if(tweenAnimRef.current&&typeof tweenAnimRef.current.stop===\"function\"){tweenAnimRef.current.stop();tweenAnimRef.current=null;}if(tr&&tr.type===\"spring\"){springScaleMV.set(clamped);}else if(tr&&tr.type===\"tween\"){tweenAnimRef.current=animate(scaleMV,clamped,{duration:typeof tr.duration===\"number\"?tr.duration:.5,delay:typeof tr.delay===\"number\"?tr.delay:0,ease:tr.ease});}else{tweenAnimRef.current=animate(scaleMV,clamped,{duration:.25,ease:[.44,0,.56,1]});}},[hover?.transition,scaleMV,springScaleMV]);// State for hover effect\n// (no local hover state needed; Motion values drive scale)\n// Debounced prop values to prevent excessive re-renders\nconst[debouncedProps,setDebouncedProps]=useState({radius,blur,circleBoost,texture,timeSpeed,preview});// Debounce prop changes to improve performance\nuseEffect(()=>{const timeoutId=setTimeout(()=>{setDebouncedProps({radius,blur,circleBoost,texture,timeSpeed,preview});},100)// 100ms debounce\n;return()=>clearTimeout(timeoutId);},[radius,blur,circleBoost,texture,timeSpeed,preview]);// Value mapping functions to convert normalized property values to internal shader values\nconst mapRadius=useCallback(normalizedRadius=>{// Map 10-1000px to 10-200px (current internal range)\nreturn 10+(normalizedRadius-10)*(190/990);},[]);const mapBlur=useCallback(normalizedBlur=>{// Map 0-1 to 0.2-3.0 (current internal range)\nreturn .2+normalizedBlur*2.8;},[]);const mapCircleBoost=useCallback(normalizedCircleBoost=>{// Map 0-1 to 0.5-4.0 (current internal range)\nreturn .5+normalizedCircleBoost*3.5;},[]);const mapTimeSpeed=useCallback(normalizedTimeSpeed=>{// Map 0-10 to 0.0-1.0 for true linear mapping from static to fast\nreturn normalizedTimeSpeed*.1;},[]);// Single texture mapping that controls the overall graininess/texture of the effect\nconst mapTexture=useCallback(normalizedTexture=>{// Map 0-1 texture control to appropriate noise parameters\n// 0 = smooth/minimal texture, 1 = very textured/grainy\nconst freq=2+normalizedTexture*12// frequency range 2-14 (more dramatic)\n;const strength=normalizedTexture*3// strength range 0-3 (stronger effect)\n;const size=1-normalizedTexture*.7// size range 1.0-0.3 (smaller = finer grain at high texture)\n;return{freq,strength,size};},[]);useEffect(()=>{if(isMobile)return;const canvas=canvasRef.current;const imgEl=imgRef.current;const container=containerRef.current;if(!canvas||!imgEl||!container)return;// Animation state variable\nlet isAnimating=false;// Scene setup\nconst scene=new Scene;const perspective=800;const renderer=new WebGLRenderer({canvas,alpha:true,antialias:true});renderer.setPixelRatio(Math.min(window.devicePixelRatio,2));// Use clientWidth/clientHeight for more reliable initial sizing\nconst initialWidth=Math.max(container.clientWidth,300)// Fallback minimum\n;const initialHeight=Math.max(container.clientHeight,200)// Fallback minimum\n;renderer.setSize(initialWidth,initialHeight);const computeFov=()=>{// Use clientHeight for consistent field of view calculation\nreturn 180*(2*Math.atan(container.clientHeight/2/perspective))/Math.PI;};const camera=new PerspectiveCamera(computeFov(),initialWidth/initialHeight,1,5e3);camera.position.set(0,0,perspective);// Load hover image texture for direct rendering\nconst loader=new TextureLoader;const hoverSrc=imageHover?.src||\"/random-assets/blue-profile-image.png\";const hoverTexture=loader.load(hoverSrc,()=>{// Update aspect ratio when texture loads\nif(hoverTexture.image){const imageAspect=hoverTexture.image.width/hoverTexture.image.height;uniforms.u_hoverImageAspect.value=imageAspect;// Force a re-render to update the effect with new aspect ratio\nif(isAnimating){renderer.render(scene,camera);}}});// Color space for modern three versions\n// @ts-ignore - guard older versions\nif(SRGBColorSpace){// @ts-ignore\nhoverTexture.colorSpace=SRGBColorSpace;}hoverTexture.minFilter=LinearFilter;const textureParams=mapTexture(debouncedProps.texture);const uniforms={u_time:{value:0},u_mouse:{value:new Vector2(.5,.5)},u_progress:{value:0},u_planeRes:{value:new Vector2(1,1)},u_radius:{value:mapRadius(debouncedProps.radius)},u_blur:{value:mapBlur(debouncedProps.blur)},u_circleBoost:{value:mapCircleBoost(debouncedProps.circleBoost)},u_noiseFreq:{value:textureParams.freq},u_noiseStrength:{value:textureParams.strength},u_noiseSize:{value:textureParams.size},u_timeSpeed:{value:mapTimeSpeed(debouncedProps.timeSpeed)},u_hoverScale:{value:1},u_hoverImage:{value:hoverTexture},u_hoverImageAspect:{value:1},u_containerAspect:{value:1},u_windowSize:{value:new Vector2(window.innerWidth,window.innerHeight)},u_containerOffset:{value:new Vector2(0,0)}};uniformsRef.current=uniforms;const vertexShader=`\n      varying vec2 vUv;\n      void main() {\n        vUv = uv;\n        gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n      }\n    `;// Shader that renders the hover image masked by the gooey effect\nconst fragmentShader=`\n      precision highp float;\n      varying vec2 vUv;\n      uniform float u_time;\n      uniform vec2 u_mouse;\n      uniform float u_progress;\n      uniform vec2 u_planeRes;\n      uniform float u_radius;\n      uniform float u_blur;\n      uniform float u_circleBoost;\n      uniform float u_noiseFreq;\n      uniform float u_noiseStrength;\n      uniform float u_noiseSize;\n      uniform float u_timeSpeed;\n      uniform sampler2D u_hoverImage;\n      uniform float u_hoverScale;\n      uniform float u_hoverImageAspect;\n      uniform float u_containerAspect;\n      uniform vec2 u_windowSize;\n      uniform vec2 u_containerOffset;\n\n              // Simplex noise 3D from https://github.com/ashima/webgl-noise\n      vec3 mod289(vec3 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\n      vec4 mod289(vec4 x) { return x - floor(x * (1.0 / 289.0)) * 289.0; }\n      vec4 permute(vec4 x) { return mod289(((x * 34.0) + 1.0) * x); }\n      vec4 taylorInvSqrt(vec4 r) { return 1.79284291400159 - 0.85373472095314 * r; }\n      float snoise(vec3 v) {\n        const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;\n        const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);\n        // First corner\n        vec3 i  = floor(v + dot(v, C.yyy));\n        vec3 x0 = v - i + dot(i, C.xxx);\n\n        // Other corners\n        vec3 g = step(x0.yzx, x0.xyz);\n        vec3 l = 1.0 - g;\n        vec3 i1 = min( g.xyz, l.zxy );\n        vec3 i2 = max( g.xyz, l.zxy );\n\n        vec3 x1 = x0 - i1 + C.xxx;\n        vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n        vec3 x3 = x0 - D.yyy;      // -1.0 + 3.0 * C.x = -0.5 = -D.y\n\n        // Permutations\n        i = mod289(i);\n        vec4 p = permute( permute( permute(\n                   i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n                 + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n                 + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n\n        // Gradients: 7x7 points over a square, mapped onto an octahedron.\n        float n_ = 0.142857142857; // 1.0/7.0\n        vec3  ns = n_ * D.wyz - D.xzx;\n\n        vec4 j = p - 49.0 * floor(p * ns.z * ns.z);  // mod(p,7*7)\n\n        vec4 x_ = floor(j * ns.z);\n        vec4 y_ = floor(j - 7.0 * x_ );\n\n        vec4 x = x_ *ns.x + ns.yyyy;\n        vec4 y = y_ *ns.x + ns.yyyy;\n        vec4 h = 1.0 - abs(x) - abs(y);\n\n        vec4 b0 = vec4( x.xy, y.xy );\n        vec4 b1 = vec4( x.zw, y.zw );\n\n        vec4 s0 = floor(b0)*2.0 + 1.0;\n        vec4 s1 = floor(b1)*2.0 + 1.0;\n        vec4 sh = -step(h, vec4(0.0));\n\n        vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n        vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n\n        vec3 p0 = vec3(a0.xy,h.x);\n        vec3 p1 = vec3(a0.zw,h.y);\n        vec3 p2 = vec3(a1.xy,h.z);\n        vec3 p3 = vec3(a1.zw,h.w);\n\n        // Normalise gradients\n        vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2,p2), dot(p3,p3)));\n        p0 *= norm.x;\n        p1 *= norm.y;\n        p2 *= norm.z;\n        p3 *= norm.w;\n\n        // Mix final noise value\n        vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n        m = m * m;\n        return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\n                                      dot(p2,x2), dot(p3,x3) ) );\n      }\n\n      // Pixel-based circle implementation\n      float circle_pixel(vec2 pixelPos, vec2 mousePixel, float radiusPixels, float blurriness, vec2 resolution){\n        float dist = length(pixelPos - mousePixel);\n        return 1.0 - smoothstep(\n          radiusPixels - (radiusPixels * blurriness),\n          radiusPixels + (radiusPixels * blurriness),\n          dist\n        );\n      }\n\n      void main() {\n        vec2 uv = vUv;\n\n        // Convert UV coordinates to pixel coordinates\n        vec2 pixelPos = uv * u_planeRes;\n        vec2 mousePixel = u_mouse * u_planeRes;\n\n        // Convert radius from normalized to pixels (u_radius is now in pixels)\n        float radiusPixels = u_radius;\n\n        // Window-relative noise coordinates for consistent grain size across component sizes\n        // Convert UV to absolute window coordinates, then normalize by window size\n        vec2 windowCoord = (uv * u_planeRes + u_containerOffset) / u_windowSize;\n        \n        // Apply time speed to ALL time-based movement\n        float offx = windowCoord.x + (u_time * u_timeSpeed * 0.1) + sin(windowCoord.y + u_time * u_timeSpeed * 0.1);\n        float offy = windowCoord.y - cos(u_time * u_timeSpeed * 0.001) * 0.01;\n        \n        // Apply noise size scaling for user control over grain size\n        float effectiveNoiseFreq = u_noiseFreq / u_noiseSize;\n        \n        // Apply time speed to multiple noise layers for more dramatic effect\n        float n1 = snoise(vec3(offx * effectiveNoiseFreq, offy * effectiveNoiseFreq, u_time * u_timeSpeed)) - 1.0;\n        float n2 = snoise(vec3(offx * effectiveNoiseFreq * 0.5, offy * effectiveNoiseFreq * 0.5, u_time * u_timeSpeed * 0.7)) - 1.0;\n        float n = (n1 + n2 * 0.5) * 0.7;\n\n        // Pixel-based circle calculation\n        float c = circle_pixel(pixelPos, mousePixel, radiusPixels, u_blur, u_planeRes) * u_circleBoost * u_progress;\n        float finalMask = smoothstep(0.4, 0.5, (n * u_noiseStrength) + pow(c, 2.0));\n\n        // Responsive UV mapping for hover image (maintains aspect ratio like object-fit: cover)\n        vec2 responsiveUV = uv;\n        \n        // Ensure we're not getting NaN or invalid values\n        if (u_hoverImageAspect > 0.0 && u_containerAspect > 0.0) {\n            if (u_hoverImageAspect > u_containerAspect) {\n              // Image is wider than container - scale to fit height\n              float scale = u_containerAspect / u_hoverImageAspect;\n              responsiveUV.x = (uv.x - 0.5) * scale + 0.5;\n            } else {\n              // Image is taller than container - scale to fit width\n              float scale = u_hoverImageAspect / u_containerAspect;\n              responsiveUV.y = (uv.y - 0.5) * scale + 0.5;\n            }\n        } else {\n            // Fallback to original UV if aspect ratios are invalid\n            responsiveUV = uv;\n        }\n\n        // Sample the hover image with responsive UV mapping and apply the mask\n        responsiveUV = (responsiveUV - vec2(0.5)) / max(u_hoverScale, 1.0) + vec2(0.5);\n        vec4 hoverColor = texture2D(u_hoverImage, responsiveUV);\n        \n        // Output the hover image with mask applied as alpha\n        gl_FragColor = vec4(hoverColor.rgb, hoverColor.a * finalMask);\n      }\n    `;const geometry=new PlaneGeometry(1,1,1,1);const material=new ShaderMaterial({uniforms,vertexShader,fragmentShader,transparent:true});const mesh=new Mesh(geometry,material);scene.add(mesh);const sizes=new Vector2;const offset=new Vector2;const updateFromDOM=()=>{// Use clientWidth/clientHeight for more reliable sizing\nconst actualWidth=Math.max(container.clientWidth,2);const actualHeight=Math.max(container.clientHeight,2);// Make the mesh fill the entire container (not just the image)\nsizes.set(actualWidth,actualHeight);offset.set(0,0)// Center in container\n;mesh.position.set(0,0,0);mesh.scale.set(actualWidth,actualHeight,1);// Update renderer size to match container exactly\nrenderer.setSize(actualWidth,actualHeight,false);// Update camera to match new dimensions\ncamera.aspect=actualWidth/actualHeight;camera.updateProjectionMatrix();// Ensure camera is positioned correctly for the new dimensions\ncamera.position.z=perspective;camera.lookAt(0,0,0);uniforms.u_planeRes.value.set(actualWidth,actualHeight);// Update window size and container offset for consistent noise scaling\nuniforms.u_windowSize.value.set(window.innerWidth,window.innerHeight);// Get container position for offset calculations\nconst containerRect=container.getBoundingClientRect();uniforms.u_containerOffset.value.set(containerRect.left,containerRect.top);// Update aspect ratio uniforms for responsive hover image\nconst containerAspect=actualWidth/actualHeight;uniforms.u_containerAspect.value=containerAspect;// Calculate hover image aspect ratio when texture is loaded\nif(hoverTexture.image){const imageAspect=hoverTexture.image.width/hoverTexture.image.height;uniforms.u_hoverImageAspect.value=imageAspect;}// Force a re-render to update the effect\nif(isAnimating){renderer.render(scene,camera);}};// Initial setup\nupdateFromDOM();let targetProgress=0;let rafId=0;const clock=new Clock;// Function to determine if we should animate\nconst shouldAnimate=()=>{const isCanvasMode=RenderTarget.current()===RenderTarget.canvas;const isInView=container.getBoundingClientRect().top<window.innerHeight&&container.getBoundingClientRect().bottom>0;// Only animate if:\n// 1. We're in Canvas mode AND preview is enabled, OR\n// 2. We're not in Canvas mode (live website) AND component is in view\nreturn isCanvasMode&&debouncedProps.preview||!isCanvasMode&&isInView;};const render=()=>{// Check if we should continue animating\nif(!shouldAnimate()){isAnimating=false;return;}isAnimating=true;rafId=requestAnimationFrame(render);uniforms.u_time.value+=clock.getDelta();// Update uniforms with debounced prop values (mapped to internal ranges)\nuniforms.u_blur.value=mapBlur(debouncedProps.blur);uniforms.u_circleBoost.value=mapCircleBoost(debouncedProps.circleBoost);const currentTextureParams=mapTexture(debouncedProps.texture);uniforms.u_noiseFreq.value=currentTextureParams.freq;uniforms.u_noiseStrength.value=currentTextureParams.strength;uniforms.u_noiseSize.value=currentTextureParams.size;uniforms.u_timeSpeed.value=mapTimeSpeed(debouncedProps.timeSpeed);// Check if we're in Canvas mode and preview is enabled\nconst isCanvasMode=RenderTarget.current()===RenderTarget.canvas;if(isCanvasMode&&debouncedProps.preview){// In Canvas mode with preview enabled, show effect in center\ntargetProgress=1;// Set mouse position to center (0.5, 0.5)\nuniforms.u_mouse.value.set(.5,.5);// Use normal radius (no scaling needed with proper dimension detection)\nuniforms.u_radius.value=mapRadius(debouncedProps.radius);uniforms.u_noiseFreq.value=currentTextureParams.freq*1.25;// Boost noise intensity by 10% in Canvas mode to match live preview\n//uniforms.u_noiseStrength.value = currentTextureParams.strength * 1.5\n}else{// Normal behavior - use mouse position and hover state\n// targetProgress will be updated by mouse events\nuniforms.u_radius.value=mapRadius(debouncedProps.radius);uniforms.u_noiseStrength.value=currentTextureParams.strength;}// ease progress\nuniforms.u_progress.value+=(targetProgress-uniforms.u_progress.value)*.08;renderer.render(scene,camera);// Canvas now renders hover image directly - no data URL needed\n};// Start animation if needed\nif(shouldAnimate()){render();}// Throttled resize handler\nlet resizeTimeout=null;const throttledResize=()=>{if(resizeTimeout)return;resizeTimeout=setTimeout(()=>{// Update DOM and force re-render\nupdateFromDOM();// Ensure the effect is properly updated\nif(isAnimating){renderer.render(scene,camera);}resizeTimeout=null;},100)// 100ms throttle\n;};// Use ResizeObserver for container changes\nconst resizeObserver=new ResizeObserver(entries=>{// Immediate update for critical dimension changes\nentries.forEach(entry=>{const{width,height}=entry.contentRect;// Update if dimensions have changed\nif(width!==sizes.x||height!==sizes.y){updateFromDOM();}});// Also use throttled resize for performance\nthrottledResize();});resizeObserver.observe(container);// Also listen to window resize for global changes\nwindow.addEventListener(\"resize\",throttledResize);// Intersection Observer to pause rendering when out of view\nconst intersectionObserver=new IntersectionObserver(entries=>{entries.forEach(entry=>{if(entry.isIntersecting&&!isAnimating&&shouldAnimate()){// Component came into view and should animate\nrender();}});},{root:null,rootMargin:\"50px\",threshold:.01});intersectionObserver.observe(container);const onMove=e=>{// Only handle mouse events if not in Canvas preview mode\nconst isCanvasMode=RenderTarget.current()===RenderTarget.canvas;if(isCanvasMode&&debouncedProps.preview)return;// Start animation if not already running\nif(!isAnimating&&shouldAnimate()){render();}const containerRect=container.getBoundingClientRect();const x=(e.clientX-containerRect.left)/containerRect.width;const y=1-(e.clientY-containerRect.top)/containerRect.height;uniforms.u_mouse.value.set(Math.max(0,Math.min(1,x)),Math.max(0,Math.min(1,y)));};const onEnter=()=>{// Only handle hover events if not in Canvas preview mode\nconst isCanvasMode=RenderTarget.current()===RenderTarget.canvas;if(isCanvasMode&&debouncedProps.preview)return;targetProgress=1;if(hover&&hover.enabled){animateToScale(hoverScaleRef.current);}// Start animation if not already running\nif(!isAnimating&&shouldAnimate()){render();}};const onLeave=()=>{// Only handle hover events if not in Canvas preview mode\nconst isCanvasMode=RenderTarget.current()===RenderTarget.canvas;if(isCanvasMode&&debouncedProps.preview)return;targetProgress=0;if(hover&&hover.enabled){animateToScale(1);}};container.addEventListener(\"mousemove\",onMove);container.addEventListener(\"mouseenter\",onEnter);container.addEventListener(\"mouseleave\",onLeave);return()=>{if(rafId){cancelAnimationFrame(rafId);}resizeObserver.disconnect();intersectionObserver.disconnect();window.removeEventListener(\"resize\",throttledResize);if(resizeTimeout){clearTimeout(resizeTimeout);}container.removeEventListener(\"mousemove\",onMove);container.removeEventListener(\"mouseenter\",onEnter);container.removeEventListener(\"mouseleave\",onLeave);geometry.dispose();material.dispose();renderer.dispose();};},[debouncedProps.radius,debouncedProps.blur,debouncedProps.circleBoost,debouncedProps.texture,debouncedProps.timeSpeed,// no debounced hoverScale in new pattern\ndebouncedProps.preview,imageBase?.positionX,imageBase?.positionY,imageHover?.positionX,imageHover?.positionY,mapRadius,mapBlur,mapCircleBoost,mapTexture,mapTimeSpeed,isMobile]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:borderRadius,overflow:\"clip\",...props.style},children:[/*#__PURE__*/_jsx(\"figure\",{style:{width:\"100%\",height:\"100%\",maxWidth:\"100%\",flex:\"0 0 auto\",margin:0,padding:0,position:\"absolute\",zIndex:1},children:/*#__PURE__*/_jsx(\"img\",{ref:imgRef,src:imageBase?.src,srcSet:imageBase?.srcSet,alt:imageBase?.alt||\"Base image\",draggable:false,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:`${imageBase?.positionX||\"50%\"} ${imageBase?.positionY||\"50%\"}`,margin:0,padding:0,userSelect:\"none\",pointerEvents:\"none\"}})}),!isMobile&&/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,id:\"stage\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",zIndex:3,pointerEvents:\"none\",opacity:1,minWidth:\"100%\",minHeight:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\"}})]});}addPropertyControls(LiquidMask,{preview:{type:ControlType.Boolean,title:\"Preview\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},imageBase:{type:ControlType.ResponsiveImage,title:\"Base\"},imageHover:{type:ControlType.ResponsiveImage,title:\"Hover\"},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:100,step:1,defaultValue:10,unit:\"px\"},radius:{type:ControlType.Number,title:\"Size\",min:10,max:1e3,step:10,defaultValue:100,unit:\"px\"},blur:{type:ControlType.Number,title:\"Interaction\",min:0,max:1,step:.01,defaultValue:.5,unit:\"\"},circleBoost:{type:ControlType.Number,title:\"Boost\",min:0,max:1,step:.01,defaultValue:.5,unit:\"\"},texture:{type:ControlType.Number,title:\"Texture\",min:0,max:1,step:.1,defaultValue:.5,unit:\"\"},timeSpeed:{type:ControlType.Number,title:\"Speed\",min:0,max:10,step:.5,defaultValue:5,unit:\"\"},hover:{type:ControlType.Object,title:\"Hover\",description:\"More components at [Framer University](https://frameruni.link/cc).\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},scale:{type:ControlType.Number,title:\"Scale\",min:1,max:3,step:.1,defaultValue:1.2,unit:\"x\",hidden:props=>!props.enabled},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"tween\",duration:.5,ease:[.44,0,.56,1],delay:0},hidden:props=>!props.enabled}}}});LiquidMask.displayName=\"Liquid Mask\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LiquidMask\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"300\",\"framerIntrinsicHeight\":\"400\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Liquid_mask_Prod.map"],"mappings":"qZAAqqF,SAAS,GAAI,CAAC,IAAMA,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAEC,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAEC,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAEC,EAAE,WAAW,KAAK,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAIH,GAAG,GAAGA,GAAG,EAAE,KAAK,GAAGA,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,KAAK,IAAI,GAAG,IAAIC,GAAG,GAAGA,GAAG,EAAE,KAAK,IAAI,GAAGA,GAAG,GAAG,GAAG,IAAI,GAAGA,GAAG,GAAG,KAAK,IAAI,GAAG,GAAGC,EAAE,KAAK,GAAGA,GAAG,EAAE,KAAK,IAAI,GAAGA,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,KAAK,GAAG,IAAIC,GAAG,GAAGA,GAAG,EAAE,KAAK,GAAGA,GAAG,GAAG,KAAK,GAAGA,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,EAAG,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAIF,EAAE,KAAK,IAAIC,EAAEF,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,EAAEE,GAAGF,EAAEE,EAAED,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,OAAOA,EAAE,YAAT,CAAsB,KAAK,aAAa,OAAOD,EAAE,KAAK,YAAY,OAAOA,EAAE,WAAW,KAAK,YAAY,OAAOA,EAAE,MAAM,KAAK,WAAW,OAAOA,EAAE,IAAI,KAAK,WAAW,OAAO,KAAK,IAAIA,EAAE,WAAW,GAAG,CAAC,KAAK,WAAW,OAAO,KAAK,IAAIA,EAAE,MAAM,GAAG,CAAC,KAAK,UAAU,OAAO,KAAK,IAAIA,EAAE,IAAI,GAAG,CAAC,QAAQ,MAAU,MAAM,0BAA0B,EAAE,SAAS,EAAG,EAAE,EAAE,CAAC,OAAOC,EAAE,YAAT,CAAsB,KAAK,aAAa,OAAOD,EAAE,KAAK,YAAY,OAAO,KAAK,MAAM,WAAWA,EAAE,CAAC,KAAK,YAAY,OAAO,KAAK,MAAM,MAAMA,EAAE,CAAC,KAAK,WAAW,OAAO,KAAK,MAAM,IAAIA,EAAE,CAAC,KAAK,WAAW,OAAO,KAAK,MAAM,WAAWA,EAAE,CAAC,KAAK,WAAW,OAAO,KAAK,MAAM,MAAMA,EAAE,CAAC,KAAK,UAAU,OAAO,KAAK,MAAM,IAAIA,EAAE,CAAC,QAAQ,MAAU,MAAM,0BAA0B,EAA60M,SAAS,EAAG,EAAE,CAAC,IAAI,IAAIC,EAAED,EAAE,OAAO,EAAEC,GAAG,EAAE,EAAEA,EAAE,GAAGD,EAAEC,IAAI,MAAM,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,SAASG,GAAG,EAAE,CAAC,OAAO,SAAS,gBAAgB,+BAA+BJ,EAAE,CAAC,SAAS,IAAI,CAAC,IAAMA,EAAEI,GAAG,SAAS,CAAC,MAAO,GAAE,MAAM,QAAQ,QAAQJ,EAAc,SAAS,GAAG,EAAE,CAAC,KAAK,KAAK,GAAGA,GAAG,CAAC,GAAmN,SAAS,IAAI,CAAC,IAAMA,EAAE,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,EAAE,CAAC,QAAQ,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAASC,IAAIC,GAAGD,GAAGC,GAAG,KAAK,OAAOD,GAAG,WAAW,IAAK,EAAE,EAAE,GAAGD,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,KAAK,OAAOC,GAAG,YAAY,KAAK,OAAOC,GAAG,YAAYF,EAAE,aAAa,KAAK,OAAOC,GAAG,MAAM,CAACD,EAAE,aAAa,KAAK,OAAOE,GAAG,QAAQ,EAAE,KAAK,OAAOA,GAAG,WAAW,IAAK,EAAE,EAAE,GAAGF,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,CAAC,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAEA,GAAGA,GAAG,sBAAsB,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQA,EAAE,KAAK,kBAAkBC,EAAE,EAAE,oBAAoB,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQD,EAAEC,EAAE,KAAK,kBAAkB,EAAE,aAAa,SAAS,EAAE,CAAC,OAAO,KAAK,OAAOD,GAAG,WAAW,YAAY,SAAS,EAAE,CAAC,OAAOA,IAAI,GAAG,GAAG,KAAK,OAAOA,GAAG,UAAU,yBAAyB,SAAS,EAAE,EAAE,KAAK,kBAAkB,CAAC,OAAOA,EAAE,UAAU,KAAK,OAAOC,GAAG,sBAAsB,EAAE,OAAO,SAAS,EAAE,CAAC,OAAO,OAAO,KAAK,OAAOD,EAAE,EAAE,WAAW,SAAS,EAAE,EAAE,EAAE,CAAC,OAAOA,EAAE,KAAK,KAAK,OAAOC,GAAG,MAAM,CAAC,SAAS,KAAK,OAAOC,GAAG,QAAQ,EAAE,4BAA4B,SAAS,EAAE,CAAC,OAAO,KAAK,OAAOF,GAAG,uBAAuB,yBAAyB,qBAAqB,SAAS,EAAE,KAAK,kBAAkB,CAAC,OAAO,KAAK,OAAOA,GAAG,wBAAwB,kBAAkB,CAACC,EAAE,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,CAACC,EAAE,CAAC,MAAM,MAAM,MAAM,CAACC,EAAE,CAAC,MAAM,KAAK,CAAC,OAAOH,EAAE,OAAO,EAAE,IAAI,CAAC,UAAUC,EAAE,WAAWE,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,sBAAsBD,EAAE,wBAAwB,CAAC,iBAAiB,GAAG,CAAC,uBAAuB,CAAC,wBAAwB,GAAG,CAAC,EAAE,IAAI,CAAC,UAAUD,EAAE,WAAWE,EAAE,SAAS,EAAG,MAAM,GAAG,QAAQ,GAAG,sBAAsBD,EAAE,uBAAuB,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAACF,EAAgB,SAAS,GAAG,EAAE,CAAC,OAAOA,EAAE,OAAO,YAAYA,GAAW,YAAYA,EAAE,cAAY,IAAK,SAAS,GAAG,EAAE,CAAC,OAAOA,EAAE,SAAS,MAAMA,EAAE,MAAeA,GAAE,OAAQ,KAA8mD,SAAS,GAAG,EAAE,CAAC,OAAmB,OAAO,iBAApB,KAAsCA,aAAa,kBAA+B,OAAO,kBAApB,KAAuCA,aAAa,mBAAgC,OAAO,YAApB,KAAiCA,aAAa,YAAY,GAAG,WAAWA,EAAE,CAACA,EAAE,KAAK,CAAC,KAAK,MAAM,KAAKA,EAAE,KAAK,CAAC,MAAMA,EAAE,MAAM,OAAOA,EAAE,OAAO,KAAKA,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE,CAAit4B,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIK,EAAE,EAAEC,EAAEN,EAAE,OAAO,EAAEK,GAAGC,EAAE,GAAG,EAAE,CAAC,GAAG,UAAUN,EAAEK,EAAE,CAAC,IAAMC,EAAEC,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAACA,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAACA,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,CAACC,EAAEP,EAAE,IAAI,GAAG,CAACQ,EAAEP,EAAE,IAAI,GAAG,CAACQ,EAAEP,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,IAAIK,EAAEC,EAAEC,EAAE,CAAC,KAAK,IAAIF,EAAEC,EAAEC,EAAE,CAAC,CAACJ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAsoiC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAOJ,EAAE,IAAI,GAAG,GAAGA,EAAE,GAAI,IAAMA,EAAE,EAAE,EAAEF,EAAE,GAAGC,EAAED,GAAGE,EAAEA,EAAE,GAAGD,EAAEC,EAAE,EAAE,EAAEF,EAAE,GAAGC,EAAED,IAAI,EAAE,EAAEE,GAAGF,EAAk8gC,SAAS,EAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,kBAAkBQ,EAAE,GAAG,CAACR,EAAE,kBAAkBS,EAAE,GAAG,CAACT,EAAE,kBAAkBU,EAAE,GAAG,CAAC,IAAMC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIF,EAAE,GAAG,EAAMR,EAAE,OAAN,EAAWE,EAAE,kBAAkBG,EAAED,EAAEE,EAAE,CAAC,EAAEC,EAAE,CAACL,EAAE,kBAAkBI,EAAEF,EAAEC,EAAML,EAAE,OAAN,EAAWO,EAAE,CAAQC,IAAP,KAAS,OAAO,KAAK,GAAG,KAAKD,EAAE,CAAC,GAAG,aAAaR,EAAE,YAAY,CAAC,IAAMU,EAAER,EAAE,IAAI,OAAO,WAAW,GAAG,CAAC,OAAOQ,EAAER,EAAE,MAAMQ,EAAER,EAAE,IAAI,KAAK,CAAC,SAASQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAOV,EAAE,EAAEA,EAAEC,EAAEC,EAAEC,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,GAAGQ,EAAE,CAAC,IAAMX,EAAE,IAAI,EAAG,GAAG,aAAa,GAAG,GAAG,GAAG,GAAGA,EAAE,CAACO,IAAI,EAAE,GAAG,GAAG,yBAAyBA,EAAEC,EAAEC,EAAEC,EAAEV,EAAE,IAAI,EAAG,EAAEK,IAAI,EAAE,IAAI,GAAG,yBAAyBA,EAAEG,EAAEC,EAAEC,EAAEV,EAAE,IAAI,EAAG,EAAEM,IAAI,EAAE,OAAO,GAAG,yBAAyBA,EAAEE,EAAEC,EAAEC,EAAEV,EAAE,IAAI,EAAG,CAACW,EAAE,OAAO,IAAIR,EAAE,UAAU,CAAC,GAAGQ,EAAE,OAAO,eAAe,GAAG,EAAE,IAAMV,EAAE,CAAC,EAAEO,EAAE,EAAEC,EAAE,EAAEC,EAAE,OAAO,IAAI,EAAG,cAAc,EAAE,CAAC,GAAG,UAAU,GAAG,GAAG,GAAGT,EAAE,OAAO,CAAC,EAAE,KAAKA,EAAE,EAAE,UAAUD,EAAE,OAAOW,EAAuvC,SAAS,GAAG,EAAE,CAAC,IAAMV,EAAE,EAAE,CAAC,IAAI,IAAMC,KAAKF,EAAW,IAAI,IAAMG,IAAlB,GAAED,GAAG,EAAE,CAAgBF,EAAEE,GAAG,CAAC,IAAMK,EAAEP,EAAEE,GAAGC,GAAG,IAAII,EAAE,SAASA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,WAAWA,EAAE,cAAcA,EAAE,sBAAsB,EAAEL,GAAGC,GAAG,KAAK,EAAED,GAAGC,GAAGI,EAAE,OAAO,CAAC,MAAM,QAAQA,EAAE,CAAC,EAAEL,GAAGC,GAAGI,EAAE,OAAO,CAAC,EAAEL,GAAGC,GAAGI,EAAG,OAAON,EAAE,SAAS,EAAG,EAAE,CAAC,IAAMA,EAAE,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAE,OAAO,IAAI,CAAC,IAAMG,EAAE,GAAGH,EAAEE,GAAG,CAAC,IAAI,IAAMF,KAAKG,EAAE,EAAEH,GAAGG,EAAEH,GAAG,OAAOC,EAAE,SAAS,GAAG,EAAE,CAAC,IAAMA,EAAED,EAAE,iBAAiB,CAAC,OAAcC,IAAP,KAASD,EAAE,iBAAiB,CAAC,IAAIC,EAAE,iBAAiBA,EAAE,QAAQ,WAAW,EAAG,kBAAytxB,SAAS,GAAI,CAAC,OAAO,YAAY,KAAK,CAAC,SAAS,EAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAMM,EAAE,SAAS,EAAE,CAAC,OAAOP,EAAP,CAAU,KAAK,GAAE,KAAK,GAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,KAAK,GAAE,KAAK,GAAE,KAAK,GAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,KAAK,GAAE,KAAK,GAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,KAAKY,GAAE,KAAK,GAAE,KAAK,GAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,KAAK,GAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,MAAU,MAAM,wBAAwBZ,EAAE,GAAG,EAAEG,EAAE,CAAC,OAAOD,EAAP,CAAU,IAAK,MAAK,IAAK,MAAK,OAAOF,EAAEC,EAAE,IAAK,MAAK,OAAOD,EAAEC,EAAE,EAAE,IAAK,MAAK,KAAK,GAAG,OAAOD,EAAEC,EAAEM,EAAE,WAAWA,EAAE,WAAW,IAAK,MAAK,KAAK,GAAG,OAAOP,EAAEC,EAAE,EAAEM,EAAE,WAAWA,EAAE,WAAW,IAAK,MAAK,OAAOP,EAAEC,EAAE,EAAEM,EAAE,WAAWA,EAAE,WAAW,KAAK,GAAG,KAAK,GAAG,OAAOP,EAAEC,EAAE,EAAEM,EAAE,WAAWA,EAAE,WAAW,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOP,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,IAAID,EAAE,GAAG,CAAC,KAAK,IAAIC,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,IAAID,EAAE,EAAE,CAAC,KAAK,IAAIC,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,EAAE,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,GAAG,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,GAAG,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,GAAG,CAAC,KAAK,OAAOC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,GAAG,GAAG,CAAC,KAAK,OAAOC,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,IAAI,GAAG,CAAC,KAAK,OAAOC,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,OAAOD,EAAE,IAAI,GAAG,CAAC,KAAK,OAAOC,EAAE,I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"}