<!-- SOLUV · part 623 -->
function Ty(s,t,e){let n=this.cache,i=e.allocateTextureUnit();n[0]!==i&&(s.uniform1i(this.addr,i),n[0]=i),e.setTextureCube(t||im,i)}function Ey(s,t,e){let n=this.cache,i=e.allocateTextureUnit();n[0]!==i&&(s.uniform1i(this.addr,i),n[0]=i),e.setTexture2DArray(t||em,i)}function Ay(s){switch(s){case 5126:return oy;case 35664:return ly;case 35665:return cy;case 35666:return hy;case 35674:return uy;case 35675:return dy;case 35676:return fy;case 5124:case 35670:return py;case 35667:case 35671:return my;case 35668:case 35672:return gy;case 35669:case 35673:return _y;case 5125:return xy;case 36294:return vy;case 36295:return yy;case 36296:return Sy;case 35678:case 36198:case 36298:case 36306:case 35682:return My;case 35679:case 36299:case 36307:return by;case 35680:case 36300:case 36308:case 36293:return Ty;case 36289:case 36303:case 36311:case 36292:return Ey}}function wy(s,t){s.uniform1fv(this.addr,t)}function Cy(s,t){let e=Ys(t,this.size,2);s.uniform2fv(this.addr,e)}function Ry(s,t){let e=Ys(t,this.size,3);s.uniform3fv(this.addr,e)}function Iy(s,t){let e=Ys(t,this.size,4);s.uniform4fv(this.addr,e)}function Py(s,t){let e=Ys(t,this.size,4);s.uniformMatrix2fv(this.addr,!1,e)}function Ly(s,t){let e=Ys(t,this.size,9);s.uniformMatrix3fv(this.addr,!1,e)}function Dy(s,t){let e=Ys(t,this.size,16);s.uniformMatrix4fv(this.addr,!1,e)}function Ny(s,t){s.uniform1iv(this.addr,t)}function Uy(s,t){s.uniform2iv(this.addr,t)}function Fy(s,t){s.uniform3iv(this.addr,t)}function Oy(s,t){s.uniform4iv(this.addr,t)}function By(s,t){s.uniform1uiv(this.addr,t)}function zy(s,t){s.uniform2uiv(this.addr,t)}function Vy(s,t){s.uniform3uiv(this.addr,t)}function ky(s,t){s.uniform4uiv(this.addr,t)}function Gy(s,t,e){let n=this.cache,i=t.length,r=xc(e,i);Le(n,r)||(s.uniform1iv(this.addr,r),De(n,r));let a;this.type===s.SAMPLER_2D_SHADOW?a=td:a=tm;for(let o=0;o!==i;++o)e.setTexture2D(t[o]||a,r[o])}function Hy(s,t,e){let n=this.cache,i=t.length,r=xc(e,i);Le(n,r)||(s.uniform1iv(this.addr,r),De(n,r));for(let a=0;a!==i;++a)e.setTexture3D(t[a]||nm,r[a])}function Wy(s,t,e){let n=this.cache,i=t.length,r=xc(e,i);Le(n,r)||(s.uniform1iv(this.addr,r),De(n,r));for(let a=0;a!==i;++a)e.setTextureCube(t[a]||im,r[a])}function Xy(s,t,e){let n=this.cache,i=t.length,r=xc(e,i);Le(n,r)||(s.uniform1iv(this.addr,r),De(n,r));for(let a=0;a!==i;++a)e.setTexture2DArray(t[a]||em,r[a])}function qy(s){switch(s){case 5126:return wy;case 35664:return Cy;case 35665:return Ry;case 35666:return Iy;case 35674:return Py;case 35675:return Ly;case 35676:return Dy;case 5124:case 35670:return Ny;case 35667:case 35671:return Uy;case 35668:case 35672:return Fy;case 35669:case 35673:return Oy;case 5125:return By;case 36294:return zy;case 36295:return Vy;case 36296:return ky;case 35678:case 36198:case 36298:case 36306:case 35682:return Gy;case 35679:case 36299:case 36307:return Hy;case 35680:case 36300:case 36308:case 36293:return Wy;case 36289:case 36303:case 36311:case 36292:return Xy}}var ed=class{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.type=e.type,this.setValue=Ay(e.type)}},nd=class{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.type=e.type,this.size=e.size,this.setValue=qy(e.type)}},id=class{constructor(t){this.id=t,this.seq=[],this.map={}}setValue(t,e,n){let i=this.seq;for(let r=0,a=i.length;r!==a;++r){let o=i[r];o.setValue(t,e[o.id],n)}}},Qu=/(\w+)(\])?(\[|\.)?/g;function zp(s,t){s.seq.push(t),s.map[t.id]=t}function Yy(s,t,e){let n=s.name,i=n.length;for(Qu.lastIndex=0;;){let r=Qu.exec(n),a=Qu.lastIndex,o=r[1],l=r[2]==="]",c=r[3];if(l&&(o=o|0),c===void 0||c==="["&&a+2===i){zp(e,c===void 0?new ed(o,s,t):new nd(o,s,t));break}else{let d=e.map[o];d===void 0&&(d=new id(o),zp(e,d)),e=d}}}var qs=class{constructor(t,e){this.seq=[],this.map={};let n=t.getProgramParameter(e,t.ACTIVE_UNIFORMS);for(let a=0;a<n;++a){let o=t.getActiveUniform(e,a),l=t.getUniformLocation(e,o.name);Yy(o,l,this)}let i=[],r=[];for(let a of this.seq)a.type===t.SAMPLER_2D_SHADOW||a.type===t.SAMPLER_CUBE_SHADOW||a.type===t.SAMPLER_2D_ARRAY_SHADOW?i.push(a):r.push(a);i.length>0&&(this.seq=i.concat(r))}setValue(t,e,n,i){let r=this.map[e];r!==void 0&&r.setValue(t,n,i)}setOptional(t,e,n){let i=e[n];i!==void 0&&this.setValue(t,n,i)}static upload(t,e,n,i){for(let r=0,a=e.length;r!==a;++r){let o=e[r],l=n[o.id];l.needsUpdate!==!1&&o.setValue(t,l.value,i)}}static seqWithValue(t,e){let n=[];for(let i=0,r=t.length;i!==r;++i){let a=t[i];a.id in e&&n.push(a)}return n}};function Vp(s,t,e){let n=s.createShader(t);return s.shaderSource(n,e),s.compileShader(n),n}var Zy=37297,Jy=0;function $y(s,t){let e=s.split(`
`),n=[],i=Math.max(t-6,0),r=Math.min(t+6,e.length);for(let a=i;a<r;a++){let o=a+1;n.push(`${o===t?">":" "} ${o}: ${e[a]}`)}return n.join(`
`)}var kp=new Xt;function Ky(s){ee._getMatrix(kp,ee.workingColorSpace,s);let t=`mat3( ${kp.elements.map(e=>e.toFixed(4))} )`;switch(ee.getTransfer(s)){case _r:return[t,"LinearTransferOETF"];case ce:return[t,"sRGBTransferOETF"];default:retu