define(["require","./createTaskProcessorWorker","./Check-52a7d806","./when-92c6cf3c","./FeatureDetection-067cb23c","./PrimitiveType-cdfe443e","./Cartesian2-6033fa5d","./Cartographic-67e73ef9","./Cartesian4-ad128b5d","./Color-45274500","./ComponentDatatype-81047f82","./getStringFromTypedArray-1e6dda18","./buildModuleUrl-3d15f25c","./S3MCompressType-be5206ad","./IndexDatatype-4c0e98b8","./RuntimeError-c6a62a80","./Rectangle-bab7abf0","./BoundingRectangle-418864a2","./S3MPixelFormat-20d43dc4","./pako_inflate-60a34f49","./arrayFill-0358accf","./CompressedTextureBuffer-d0bacc6b","./PixelFormat-66831328","./WebMercatorProjection-39906b85","./GeographicTilingScheme-c09d40dc","./Intersect-b97e930a","./Math-92c3b5f7","./WebGLConstants-71f10989","./Event-3390cd7d","./Buffer-1d0f8963"],(function(t,e,r,a,n,A,o,B,E,i,C,s,y,l,u,P,c,f,d,L,p,T,D,g,F,I,M,m,v,_){"use strict";function S(t,e,A){if(r.o.defined("array",t),a.e(e)&&r.o.typeOf.number("begin",e),a.e(A)&&r.o.typeOf.number("end",A),"function"==typeof t.slice)return t.slice(e,A);for(var o=Array.prototype.slice.call(t,e,A),B=n.s.typedArrayTypes,E=B.length,i=0;i=0){a.e(u)||(r.nCompressOptions|=l.VertexCompressOption.SVC_Vertex);var D=e.GetAttribute(t,n.posUniqueID),g=G(t,e,D),F=g.data.componentsPerAttribute;r.verticesCount=g.array.length/F,r.vertCompressConstant=g.data.quantization.range/(1<3&&(r.minVerticesValue.w=I[3]);var M=r.verticesCount;if(s&&(P=new B.t$1,f=new B.t$1,d=new Float32Array(2*M),L=new Float64Array(2*M)),a.e(u)){var m=g.array,v=3===F?B.t.unpackArray(m):E.e.unpackArray(m);for(let t=0,e=v.length;t=0){r.nCompressOptions|=l.VertexCompressOption.SVC_Normal;var U=e.GetAttribute(t,n.normalUniqueID),K=G(t,e,U),k=K.data.quantization;r.normalRangeConstant=(1<=0){r.nCompressOptions|=l.VertexCompressOption.SVC_VertexColor;var W=e.GetAttribute(t,n.colorUniqueID),Z=G(t,e,W),X=Z.array,Q=Z.data.componentDatatype,z=Z.data.byteOffset,j=Z.data.byteStride,q=Z.data.normalized;if(Z.array instanceof Int32Array){X=new Uint8Array(Z.array.length);for(let t=0,e=Z.array.length;t-1?tt(e):a.e(e.clampRegionEdge)?at(e):t>=z.ClampGroundPolygon&&t<=z.ClampObjectLine?rt(e):t==z.ClampGroundAndObjectLineCache?at(e):et(e)},$.calcBoundingSphere=function(t,e,r){var n,A=t._fileType;return n=e.instanceIndex>-1?tt(e):a.e(e.clampRegionEdge)?at(e):A>=z.ClampGroundPolygon&&A<=z.ClampObjectLine?rt(e):A==z.ClampGroundAndObjectLineCache?at(e):et(e),y.i.transform(n,r,n),n},$.calcBoundingRectangle=function(t,e){var r;return t._fileType===z.ClampGroundPolygon&&(r=function(t){var e,r,n=a.e(t.nCompressOptions)&&(t.nCompressOptions&l.VertexCompressOption.SVC_Vertex)===l.VertexCompressOption.SVC_Vertex,A=new f.f,E=t.vertexAttributes[0],i=E.componentsPerAttribute,C=1;n?(C=t.vertCompressConstant,r=new B.t(t.minVerticesValue.x,t.minVerticesValue.y,t.minVerticesValue.z),e=new Uint16Array(E.typedArray.buffer,E.typedArray.byteOffset,E.typedArray.byteLength/2)):e=new Float32Array(E.typedArray.buffer,E.typedArray.byteOffset,E.typedArray.byteLength/4);for(var s=[],y=0;y=1&&(_=P[D][F-1]),0!=F&&(d[M-6]=_.x,d[M-5]=_.y,d[M-4]=_.z,d[M-3]=_.x,d[M-2]=_.y,d[M-1]=_.z),F!=g-1&&(d[M]=_.x,d[M+1]=_.y,d[M+2]=_.z,d[M+3]=_.x,d[M+4]=_.y,d[M+5]=_.z),M=2*I+8*F,0!=F&&(p[M-4]=-1,p[M-3]=-1,p[M-2]=1,p[M-1]=-1),F!=g-1&&(p[M]=-1,p[M+1]=1,p[M+2]=1,p[M+3]=1)}T+=P[D].length}var S={vertexAttributes:[],attrLocation:{}},O=S.vertexAttributes,N=S.attrLocation;S.instanceCount=0,S.instanceMode=0,N.aPosition=0,O.push({index:N.aPosition,typedArray:f,componentsPerAttribute:3,componentDatatype:C.ComponentDatatype.FLOAT,offsetInBytes:0,strideInBytes:3*Float32Array.BYTES_PER_ELEMENT,normalize:!1}),N.aNormal=1,O.push({index:N.aNormal,typedArray:d,componentsPerAttribute:3,componentDatatype:C.ComponentDatatype.FLOAT,offsetInBytes:0,strideInBytes:3*Float32Array.BYTES_PER_ELEMENT,normalize:!1}),N.aTexCoord0=2,O.push({index:N.aTexCoord0,typedArray:L,componentsPerAttribute:3,componentDatatype:C.ComponentDatatype.FLOAT,offsetInBytes:0,strideInBytes:3*Float32Array.BYTES_PER_ELEMENT,normalize:!1}),N.aTexCoord1=3,O.push({index:N.aTexCoord1,typedArray:p,componentsPerAttribute:2,componentDatatype:C.ComponentDatatype.BYTE,offsetInBytes:0,strideInBytes:2*Int8Array.BYTES_PER_ELEMENT,normalize:!1});for(var h=[],R=0;R65535?1:0,o.primitiveType=A._0x29ba75.TRIANGLES,n=0===o.indexType?new Uint16Array(o.indicesCount):new Uint32Array(o.indicesCount);for(var B=0,E=0;E96?n-71:n>64?n-65:n>47?n+4:n>46?63:62}var A=0;for(a=0;a>i,y>>i);if(Lt0){e.getUint16(o+r,!0),o+=Uint16Array.BYTES_PER_ELEMENT,o+=2*Uint8Array.BYTES_PER_ELEMENT;var E=B*Uint8Array.BYTES_PER_ELEMENT*4;A=S(t,o,o+E),o+=E;var i=n.vertexAttributes,s=n.attrLocation;s.aColor=i.length,i.push({index:s.aColor,typedArray:A,componentsPerAttribute:4,componentDatatype:C.ComponentDatatype.UNSIGNED_BYTE,offsetInBytes:0,strideInBytes:4,normalize:!0})}return{bytesOffset:o}}function jt(t,e,r,a,n){var A=a,o=e.getUint32(A+r,!0);return A+=Uint32Array.BYTES_PER_ELEMENT,o<=0?{bytesOffset:A}:(e.getUint16(A+r,!0),A+=Uint16Array.BYTES_PER_ELEMENT,A+=2*Uint8Array.BYTES_PER_ELEMENT,{bytesOffset:A+=o*Uint8Array.BYTES_PER_ELEMENT*4})}function qt(t,e,r,a,n){var A=n,o=[],B=r.getUint32(A+a,!0);A+=Uint32Array.BYTES_PER_ELEMENT;for(var E=0;E0){var l=0,u=null;1===s||3===s?(l=C*Uint32Array.BYTES_PER_ELEMENT,u=e.subarray(A,A+l)):(l=C*Uint16Array.BYTES_PER_ELEMENT,u=e.subarray(A,A+l),C%2!=0&&(l+=2)),i.indicesTypedArray=u,A+=l}i.indicesCount=C,i.indexType=s,i.primitiveType=y;var P=[],c=r.getUint32(A+a,!0);A+=Uint32Array.BYTES_PER_ELEMENT;for(var f=0;f=2&&(e.getInt32(g+r,!0),g+=Int32Array.BYTES_PER_ELEMENT);var N,h={};h.posUniqueID=e.getInt32(g+r,!0),g+=Int32Array.BYTES_PER_ELEMENT,h.normalUniqueID=e.getInt32(g+r,!0),g+=Int32Array.BYTES_PER_ELEMENT,h.colorUniqueID=e.getInt32(g+r,!0),g+=Int32Array.BYTES_PER_ELEMENT,h.secondColorUniqueID=e.getInt32(g+r,!0),g+=Int32Array.BYTES_PER_ELEMENT,3===u?(N=e.getUint32(g+r,!0),g+=Int32Array.BYTES_PER_ELEMENT):(N=e.getUint16(g+r,!0),g+=Int16Array.BYTES_PER_ELEMENT);for(var R=[],G=0;G0){var k=(W=Gt(e,r,D,g)).string;g=W.bytesOffset,J.materialCode=k,Y.push(J)}3===u&&((kt=(g+r)%4)&&(kt=4-kt),g+=kt);var W,Z=new Object,X=e.getUint32(g+r,!0),Q=S(D,g+=Int32Array.BYTES_PER_ELEMENT,g+X);if(V>0?b.dracoDecodeMesh(Dt,Q,X,fe,J,h,I,f,Z,L):b.dracoDecodePointCloud(Dt,Q,X,fe,h),a.e(Z.min)&&a.e(Z.max)||(Z=void 0),g+=X,3===u)(kt=(g+r)%4)&&(kt=4-kt),(kt=((g=(W=Gt(e,r,D,g+=kt)).bytesOffset)+r)%4)&&(kt=4-kt),g+=kt;n[m]={vertexPackage:fe,arrIndexPackage:Y,cartographicBounds:Z}}else if(O==Mt&&3==u){var z=e.getUint32(g+r,!0);g+=Uint32Array.BYTES_PER_ELEMENT;var j=e.getUint32(g+r,!0);g+=Uint32Array.BYTES_PER_ELEMENT,fe.minVerticesValue=new E.e,fe.minTexCoordValue=[new o.o,new o.o],fe.texCoordCompressConstant=[new B.t,new B.t];Y=[];for(var q=0;q0){var Nt=e.getInt8(g+r,!0);g+=Int8Array.BYTES_PER_ELEMENT,e.getInt8(g+r,!0),g+=Int8Array.BYTES_PER_ELEMENT;var ht=e.getInt8(g+r,!0);g+=Int8Array.BYTES_PER_ELEMENT,e.getInt8(g+r,!0),g+=Int8Array.BYTES_PER_ELEMENT;var Rt,bt,xt=e.getInt32(g+r,!0);g+=Int32Array.BYTES_PER_ELEMENT,13!==ht?(Rt=new Uint8Array(e.buffer,g+r,xt),g+=Uint8Array.BYTES_PER_ELEMENT*xt):(Rt=new Uint32Array(e.buffer,g+r,xt),g+=Uint32Array.BYTES_PER_ELEMENT*xt),(kt=(g+r)%4)&&(kt=4-kt),g+=kt,13!==ht?(bt=C.ComponentDatatype.createTypedArray(C.ComponentDatatype.UNSIGNED_BYTE,Ot*Uint32Array.BYTES_PER_ELEMENT),yt.decodeIndexBuffer(bt,Ot,Uint32Array.BYTES_PER_ELEMENT,Rt)):bt=Rt;var Ut,Kt=e.getInt32(g+r,!0);g+=Int32Array.BYTES_PER_ELEMENT,J.indexType=Nt,0===Nt?Ut=new Uint16Array(Ot):1===Nt&&(Ut=new Uint32Array(Ot)),J.indicesCount=Ot;var Ht=new Uint32Array(bt.buffer,bt.byteOffset,bt.byteLength/4);Ut.set(Ht,0),J.indicesTypedArray=Ut,J.primitiveType=ht;for(it=0;it0&&13!==ht){var Vt=fe.preVertexCount;J.indicesTypedArray=Ht.map((function(t){return t+Vt})),J.indexType=1}Y.push(J),(kt=(g+r)%4)&&(kt=4-kt),g+=kt}}}fe.nCompressOptions=z,2===Y.length&&13===Y[1].primitiveType&&Y[1].indicesCount>=3&&(Yt=l._0x5598e9.createEdgeDataByIndices(fe,Y[1],s)),a.e(Z.min)&&a.e(Z.max)||(Z=void 0),n[m]={vertexPackage:fe,arrIndexPackage:Y,edgeGeometry:Yt,cartographicBounds:Z}}else{var Yt;if(O===It||O===Ft)g=(wt=te(u,D,e,r,g,fe,i,I,f,L,d)).bytesOffset,Z=wt.cartographicBounds;else if(O===Mt&&(g=(wt=$t(D,e,r,g,fe,i,I,f,L,d)).bytesOffset,Z=wt.cartographicBounds,3==u)){var Jt;g=(Jt=Gt(e,r,D,g)).bytesOffset,fe.customVertexAttribute=JSON.parse(Jt.string);var kt;ct="aCustom"+fe.customVertexAttribute.TextureCoordMatrix,ft="aCustom"+fe.customVertexAttribute.VertexWeight,dt="aCustom"+fe.customVertexAttribute.VertexWeight_1;a.e(fe.attrLocation[ct])&&(fe.attrLocation.aTextureCoordMatrix=fe.attrLocation[ct],delete fe.attrLocation[ct]),a.e(fe.attrLocation[ft])&&(fe.attrLocation.aVertexWeight=fe.attrLocation[ft],delete fe.attrLocation[ft]),a.e(fe.attrLocation[dt])&&(fe.attrLocation.aVertexWeight_1=fe.attrLocation[dt],delete fe.attrLocation[dt]);var Wt;for(Lt=(Wt=Object.keys(fe.attrLocation)).length,pt=0;pt=3&&(Yt=l._0x5598e9.createEdgeDataByIndices(fe,Y[1],s)),g=wt.bytesOffset,a.e(Z)&&a.e(Z.min)&&a.e(Z.max)||(Z=void 0),n[m]={vertexPackage:fe,arrIndexPackage:Y,edgeGeometry:Yt,cartographicBounds:Z}}if(3!==u&&a.e(y)&&y){var Xt=e.getUint16(g+r,!0);if(g+=Uint16Array.BYTES_PER_ELEMENT,1===Xt){var Qt=e.getUint32(g+r,!0);g+=Uint32Array.BYTES_PER_ELEMENT;var zt,jt=e.getUint32(g+r,!0);g+=Uint32Array.BYTES_PER_ELEMENT,e.getFloat32(g+r,!0),g+=Float32Array.BYTES_PER_ELEMENT;var re=new Array(Qt),ae=new Array(Qt),ne=new Array(Qt),Ae=new Array(Qt);for(zt=0;zt-1e-10}function Fe(t,e,r,n,A,o,B,E){var i=new DataView(t),C=new Uint8Array(t),y=i.getUint32(r,!0);r+=Uint32Array.BYTES_PER_ELEMENT;var l=s.a(C,r,y);l=l.replace(/(\.s3mblock)|(\.s3mbz)|(\.s3mb)/gi,""),r+=y;var u=i.getUint32(r,!0);r+=Uint32Array.BYTES_PER_ELEMENT;for(var P=0;P=3&&(i.getUint32(r,!0),r+=Uint32Array.BYTES_PER_ELEMENT),i.getUint32(r,!0),r+=Uint32Array.BYTES_PER_ELEMENT;var M=i.getUint32(r,!0);r+=Uint32Array.BYTES_PER_ELEMENT;var m=new Uint8Array(t,r,M),v=r+M,_=L.pako.inflate(m).buffer;E.push(_),i=new DataView(_);C=new Uint8Array(_);r=0;var S=i.getUint32(r,!0),O=bt(i,_,r+=Uint32Array.BYTES_PER_ELEMENT),N=O.buffer;r=O.byteOffset;var h=de(I,N,i,O.dataViewByteOffset),R=r%4;0!==R&&(r+=4-R),ye((O=bt(i,_,r)).buffer,i,O.dataViewByteOffset,F,!1,void 0,void 0,I),r=O.byteOffset,3!==I&&((O=bt(i,_,r)).buffer,r=O.byteOffset);var b={};!function(t,e,r,n,A,o,B,E,i,C){var y=E,l=B.getUint32(y,!0);y+=Uint32Array.BYTES_PER_ELEMENT;for(var u={},P=0;Pv[5]?v[4]:v[5];p={left:_,top:S,right:O,bottom:N,minHeight:h,maxHeight:R,width:(f=new Rt(_,N,O,S,h,R)).width,length:f.length,height:f.height};var b=new Uint32Array(F,48+m,7),G=b[0],x=b[1],U=b[2],K=b[3];T={nFormat:G,nSideBlockCount:x,nBlockLength:U,nLength:K,nWidth:b[4],nHeight:b[5],nDepth:b[6],imageArray:new Uint8Array(F,76+m,K*K*4)}}}var H=0,w={};w.ignoreNormal=e.ignoreNormal;var V=e.rootBatchIdMap||{},Y=e.ancestorMap||{},J={},k=new DataView(n),W=k.getFloat32(H,!0);if(H+=Float32Array.BYTES_PER_ELEMENT,C)return k.getUint32(H,!0),H+=Uint32Array.BYTES_PER_ELEMENT,Fe(n,n.byteLength,H,V,Y,e.isRoot,J,r),J;var Z=!1,X=0;if(W>=3&&(X=k.getUint32(H,!0),H+=Uint32Array.BYTES_PER_ELEMENT),W>=2&&(k.getUint32(H,!0),H+=Uint32Array.BYTES_PER_ELEMENT),ge(W-1)||ge(W-2)||ge(W-3)||W>2.09&&W<2.11){var Q=k.getUint32(H,!0);H+=Uint32Array.BYTES_PER_ELEMENT;var z=new Uint8Array(n,H,Q);W>=3&&0===X?n=z.buffer:(n=L.pako.inflate(z).buffer,H=0),r.push(n),k=new DataView(n)}else if(W>1.199&&W<1.201){Q=k.getUint32(H,!0);H+=Uint32Array.BYTES_PER_ELEMENT,r.push(n)}else{Z=!0,H=0;Q=k.getInt32(H,!0);if(H+=Int32Array.BYTES_PER_ELEMENT,H+=Uint8Array.BYTES_PER_ELEMENT*Q,o){k.getUint32(H,!0),H+=Uint32Array.BYTES_PER_ELEMENT;g=new Uint8Array(n,H);n=L.pako.inflate(g).buffer,r.push(n),k=new DataView(n),H=0}}var j=k.getUint32(H,!0),q=bt(k,n,H+=Uint32Array.BYTES_PER_ELEMENT),tt=q.buffer;H=q.byteOffset;var et={},rt=de(W,tt,k,q.dataViewByteOffset,et,c),at=H%4;0!==at&&(H+=4-at);var nt=(q=bt(k,n,H)).buffer,At=W>2.09&&3!==W,ot=e.sceneMode,Bt=e.isMercatorProjection;if(ye(nt,k,q.dataViewByteOffset,w,Z,r,At,W,y,et,P,e.fileType,c,ot,Bt),H=q.byteOffset,At)for(var Et=0;Etd.S3MPixelFormat.BGR||L===d.S3MPixelFormat.LUMINANCE_ALPHA?(T=new Uint8Array(u*P*4),p=new Uint8Array(e.buffer,p.byteOffset,u*P)):(T=new Uint16Array(u*P),p=new Uint16Array(e.buffer,p.byteOffset,f/2)),l.L.decode(T,u,P,p,L),A.push(T.buffer),c=0):T=p,n[C]={id:C,width:u,height:P,compressType:c,oriCompressType:D,nFormat:L,imageBuffer:T,mipmapLevel:y}}}(E,(q=bt(k,n,H)).buffer,k,q.dataViewByteOffset,ct,r),H=q.byteOffset;var ft=k.getUint32(H,!0);H+=Uint32Array.BYTES_PER_ELEMENT;var dt=new Uint8Array(n).subarray(H,H+ft),Lt=s.a(dt);H+=ft,Lt=Lt.replace(/\n\0/,"");var pt=JSON.parse(Lt);(3===W&&(j=k.getUint32(H,!0),H+=Uint32Array.BYTES_PER_ELEMENT),(j>)==gt)&&De((q=bt(k,n,H)).buffer,k,q.dataViewByteOffset,w,W);if(1==W){var Tt=rt.pageLods,Dt=!0;for(Et=0;Et65535?new Uint32Array(s):new Uint16Array(s),c=0;for(i=0,C=o.length;i