<!-- SOLID CITY · part 3347 -->
eRender=function(T,E,C){this.matrixWorld.copyPosition(C.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(c)),c.material.uniforms.envMap.value=v,c.material.uniforms.backgroundBlurriness.value=A.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=A.backgroundIntensity,c.material.uniforms.backgroundRotation.value.setFromMatrix4(g_.makeRotationFromEuler(A.backgroundRotation)).transpose(),v.isCubeTexture&&v.isRenderTargetTexture===!1&&c.material.uniforms.backgroundRotation.value.premultiply(wf),c.material.toneMapped=rt.getTransfer(v.colorSpace)!==_t,(h!==v||f!==v.version||u!==i.toneMapping)&&(c.material.needsUpdate=!0,h=v,f=v.version,u=i.toneMapping),c.layers.enableAll(),b.unshift(c,c.geometry,c.material,0,0,null)):v&&v.isTexture&&(l===void 0&&(l=new Ze(new Bi(2,2),new It({name:"BackgroundMaterial",uniforms:ds(fi.background.uniforms),vertexShader:fi.background.vertexShader,fragmentShader:fi.background.fragmentShader,side:Vi,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),l.geometry.deleteAttribute("normal"),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(l)),l.material.uniforms.t2D.value=v,l.material.uniforms.backgroundIntensity.value=A.backgroundIntensity,l.material.toneMapped=rt.getTransfer(v.colorSpace)!==_t,v.matrixAutoUpdate===!0&&v.updateMatrix(),l.material.uniforms.uvTransform.value.copy(v.matrix),(h!==v||f!==v.version||u!==i.toneMapping)&&(l.material.needsUpdate=!0,h=v,f=v.version,u=i.toneMapping),l.layers.enableAll(),b.unshift(l,l.geometry,l.material,0,0,null))}function m(b,A){b.getRGB(Gl,Rh(i)),t.buffers.color.setClear(Gl.r,Gl.g,Gl.b,A,r)}function p(){c!==void 0&&(c.geometry.dispose(),c.material.dispose(),c=void 0),l!==void 0&&(l.geometry.dispose(),l.material.dispose(),l=void 0)}return{getClearColor:function(){return a},setClearColor:function(b,A=1){a.set(b),o=A,m(a,o)},getClearAlpha:function(){return o},setClearAlpha:function(b){o=b,m(a,o)},render:g,addToRenderList:M,dispose:p}}function x_(i,e){let t=i.getParameter(i.MAX_VERTEX_ATTRIBS),n={},s=u(null),r=s,a=!1;function o(D,O,V,N,z){let q=!1,X=f(D,N,V,O);r!==X&&(r=X,c(r.object)),q=d(D,N,V,z),q&&g(D,N,V,z),z!==null&&e.update(z,i.ELEMENT_ARRAY_BUFFER),(q||a)&&(a=!1,v(D,O,V,N),z!==null&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.get(z).buffer))}function l(){return i.createVertexArray()}function c(D){return i.bindVertexArray(D)}function h(D){return i.deleteVertexArray(D)}function f(D,O,V,N){let z=N.wireframe===!0,q=n[O.id];q===void 0&&(q={},n[O.id]=q);let X=D.isInstancedMesh===!0?D.id:0,ie=q[X];ie===void 0&&(ie={},q[X]=ie);let Y=ie[V.id];Y===void 0&&(Y={},ie[V.id]=Y);let j=Y[z];return j===void 0&&(j=u(l()),Y[z]=j),j}function u(D){let O=[],V=[],N=[];for(let z=0;z<t;z++)O[z]=0,V[z]=0,N[z]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:O,enabledAttributes:V,attributeDivisors:N,object:D,attributes:{},index:null}}function d(D,O,V,N){let z=r.attributes,q=O.attributes,X=0,ie=V.getAttributes();for(let Y in ie)if(ie[Y].location>=0){let ne=z[Y],Pe=q[Y];if(Pe===void 0&&(Y==="instanceMatrix"&&D.instanceMatrix&&(Pe=D.instanceMatrix),Y==="instanceColor"&&D.instanceColor&&(Pe=D.instanceColor)),ne===void 0||ne.attribute!==Pe||Pe&&ne.data!==Pe.data)return!0;X++}return r.attributesNum!==X||r.index!==N}function g(D,O,V,N){let z={},q=O.attributes,X=0,ie=V.getAttributes();for(let Y in ie)if(ie[Y].location>=0){let ne=q[Y];ne===void 0&&(Y==="instanceMatrix"&&D.instanceMatrix&&(ne=D.instanceMatrix),Y==="instanceColor"&&D.instanceColor&&(ne=D.instanceColor));let Pe={};Pe.attribute=ne,ne&&ne.data&&(Pe.data=ne.data),z[Y]=Pe,X++}r.attributes=z,r.attributesNum=X,r.index=N}function M(){let D=r.newAttributes;for(let O=0,V=D.length;O<V;O++)D[O]=0}function m(D){p(D,0)}function p(D,O){let V=r.newAttributes,N=r.enabledAttributes,z=r.attributeDivisors;V[D]=1,N[D]===0&&(i.enableVertexAttribArray(D),N[D]=1),z[D]!==O&&(i.vertexAttribDivisor(D,O),z[D]=O)}function b(){let D=r.newAttributes,O=r.enabledAttributes;for(let V=0,N=O.length;V<N;V++)O[V]!==D[V]&&(i.disableVertexAttribArray(V),O[V]=0)}function A(D,O,V,N,z,q,X){X===!0?i.vertexAttribIPointer(D,O,V,z,q):i.vertexAttribPointer(D,O,V,N,z,q)}function v(D,O,V,N){M();let z=N.attributes,q=V.getAttributes(),X=O.defaultAttributeValues;for(let ie in q){let Y=q[ie];if(Y.location>=0){let j=z[ie];if(j===void 0&&(ie==="instanceMatrix"&&D.instanceMatrix&&(j=D.instanceMatrix),ie==="instanceColor"&&D.instanceColor&&(j=D.instanceColor)),j!==void 0){let ne=j.normalized,Pe=j.itemSize,we=e.get(j);if(we===void 0)continue;let dt=we.buffer,tt=we.type,ot=we.bytesPerElement,$=tt===i.INT||tt===i.UNSIGNED_INT||j.gpuType===il;if(j.isInterleavedBufferAttribute){let ee=j.data,ve=ee.stride,Ve=j.offset;if(ee.isInstancedInterleavedBuffer){for(let be=0;be<Y.locationSize;be++)p(Y.location+be,ee.meshPerAttribute);D.isInstancedMesh!==!0&&N._maxInstanceCount===void 0&&(N._maxInstanceCount=ee.meshPer