wangjuncheng
2025-07-08 f373e0c0797e1800bf066fdfbb748bb9242230f6
1
2
3
4
5
6
/**
 * SmartEarth WebSDK - https://websdk.terra-it.cn
 * Version 5.4.1
 */
 
import{a as cr,b as mr}from"./chunk-4EL7BMG6.js";import{a as or}from"./chunk-QP6U3SEH.js";import{a as De}from"./chunk-JOO5BKHH.js";import{a as ur}from"./chunk-NSQWYX5W.js";import{a as fr}from"./chunk-7635WVJB.js";import"./chunk-FVZBCGC7.js";import{a as lr}from"./chunk-PVXELJ4I.js";import"./chunk-5HPENZ6M.js";import"./chunk-SY6XZLBE.js";import{d as sr}from"./chunk-CLGTNV2A.js";import{b as Se,g as ar,h as fe}from"./chunk-RQCJJCAO.js";import"./chunk-7J4RJR4J.js";import{b as _,d as nr,e as Ve}from"./chunk-UMC5CP2H.js";import{a as xe}from"./chunk-72V3KRTJ.js";import"./chunk-7M2TDEJ6.js";import{a as Ze}from"./chunk-W5CDIT4C.js";import{a as Ie}from"./chunk-VJ26MOOM.js";import{c as yr,d as Mr,e as re}from"./chunk-E3YQ3WWZ.js";var vr=yr(($r,Ae)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var M=function(){var A={};A.defaultNoDataValue=-34027999387901484e22,A.decode=function(r,a){a=a||{};var t=a.encodedMaskData||a.encodedMaskData===null,i=n(r,a.inputOffset||0,t),f=a.noDataValue!==null?a.noDataValue:A.defaultNoDataValue,o=T(i,a.pixelType||Float32Array,a.encodedMaskData,f,a.returnMask),c={width:i.width,height:i.height,pixelData:o.resultPixels,minValue:o.minValue,maxValue:i.pixels.maxValue,noDataValue:f};return o.resultMask&&(c.maskData=o.resultMask),a.returnEncodedMask&&i.mask&&(c.encodedMaskData=i.mask.bitset?i.mask.bitset:null),a.returnFileInfo&&(c.fileInfo=B(i),a.computeUsedBitDepths&&(c.fileInfo.bitDepths=q(i))),c};var T=function(r,a,t,i,f){var o=0,c=r.pixels.numBlocksX,m=r.pixels.numBlocksY,l=Math.floor(r.width/c),s=Math.floor(r.height/m),h=2*r.maxZError,u=Number.MAX_VALUE,g;t=t||(r.mask?r.mask.bitset:null);var v,U;v=new a(r.width*r.height),f&&t&&(U=new Uint8Array(r.width*r.height));for(var y=new Float32Array(l*s),V,w,S=0;S<=m;S++){var p=S!==m?s:r.height%m;if(p!==0)for(var d=0;d<=c;d++){var x=d!==c?l:r.width%c;if(x!==0){var k=S*r.width*s+d*l,D=r.width-x,I=r.pixels.blocks[o],E,F,L;I.encoding<2?(I.encoding===0?E=I.rawData:(e(I.stuffedData,I.bitsPerPixel,I.numValidPixels,I.offset,h,y,r.pixels.maxValue),E=y),F=0):I.encoding===2?L=0:L=I.offset;var X;if(t)for(w=0;w<p;w++){for(k&7&&(X=t[k>>3],X<<=k&7),V=0;V<x;V++)k&7||(X=t[k>>3]),X&128?(U&&(U[k]=1),g=I.encoding<2?E[F++]:L,u=u>g?g:u,v[k++]=g):(U&&(U[k]=0),v[k++]=i),X<<=1;k+=D}else if(I.encoding<2)for(w=0;w<p;w++){for(V=0;V<x;V++)g=E[F++],u=u>g?g:u,v[k++]=g;k+=D}else for(u=u>L?L:u,w=0;w<p;w++){for(V=0;V<x;V++)v[k++]=L;k+=D}if(I.encoding===1&&F!==I.numValidPixels)throw"Block and Mask do not match";o++}}}return{resultPixels:v,resultMask:U,minValue:u}},B=function(r){return{fileIdentifierString:r.fileIdentifierString,fileVersion:r.fileVersion,imageType:r.imageType,height:r.height,width:r.width,maxZError:r.maxZError,eofOffset:r.eofOffset,mask:r.mask?{numBlocksX:r.mask.numBlocksX,numBlocksY:r.mask.numBlocksY,numBytes:r.mask.numBytes,maxValue:r.mask.maxValue}:null,pixels:{numBlocksX:r.pixels.numBlocksX,numBlocksY:r.pixels.numBlocksY,numBytes:r.pixels.numBytes,maxValue:r.pixels.maxValue,noDataValue:r.noDataValue}}},q=function(r){for(var a=r.pixels.numBlocksX*r.pixels.numBlocksY,t={},i=0;i<a;i++){var f=r.pixels.blocks[i];f.encoding===0?t.float32=!0:f.encoding===1?t[f.bitsPerPixel]=!0:t[0]=!0}return Object.keys(t)},n=function(r,a,t){var i={},f=new Uint8Array(r,a,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,f),i.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+i.fileIdentifierString;a+=10;var o=new DataView(r,a,24);if(i.fileVersion=o.getInt32(0,!0),i.imageType=o.getInt32(4,!0),i.height=o.getUint32(8,!0),i.width=o.getUint32(12,!0),i.maxZError=o.getFloat64(16,!0),a+=24,!t)if(o=new DataView(r,a,16),i.mask={},i.mask.numBlocksY=o.getUint32(0,!0),i.mask.numBlocksX=o.getUint32(4,!0),i.mask.numBytes=o.getUint32(8,!0),i.mask.maxValue=o.getFloat32(12,!0),a+=16,i.mask.numBytes>0){var c=new Uint8Array(Math.ceil(i.width*i.height/8));o=new DataView(r,a,i.mask.numBytes);var m=o.getInt16(0,!0),l=2,s=0;do{if(m>0)for(;m--;)c[s++]=o.getUint8(l++);else{var h=o.getUint8(l++);for(m=-m;m--;)c[s++]=h}m=o.getInt16(l,!0),l+=2}while(l<i.mask.numBytes);if(m!==-32768||s<c.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=c,a+=i.mask.numBytes}else(i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue)===0&&(i.mask.bitset=new Uint8Array(Math.ceil(i.width*i.height/8)));o=new DataView(r,a,16),i.pixels={},i.pixels.numBlocksY=o.getUint32(0,!0),i.pixels.numBlocksX=o.getUint32(4,!0),i.pixels.numBytes=o.getUint32(8,!0),i.pixels.maxValue=o.getFloat32(12,!0),a+=16;var u=i.pixels.numBlocksX,g=i.pixels.numBlocksY,v=u+(i.width%u>0?1:0),U=g+(i.height%g>0?1:0);i.pixels.blocks=new Array(v*U);for(var y=0,V=0;V<U;V++)for(var w=0;w<v;w++){var S=0,p=r.byteLength-a;o=new DataView(r,a,Math.min(10,p));var d={};i.pixels.blocks[y++]=d;var x=o.getUint8(0);if(S++,d.encoding=x&63,d.encoding>3)throw"Invalid block encoding ("+d.encoding+")";if(d.encoding===2){a++;continue}if(x!==0&&x!==2){if(x>>=6,d.offsetType=x,x===2)d.offset=o.getInt8(1),S++;else if(x===1)d.offset=o.getInt16(1,!0),S+=2;else if(x===0)d.offset=o.getFloat32(1,!0),S+=4;else throw"Invalid block offset type";if(d.encoding===1)if(x=o.getUint8(S),S++,d.bitsPerPixel=x&63,x>>=6,d.numValidPixelsType=x,x===2)d.numValidPixels=o.getUint8(S),S++;else if(x===1)d.numValidPixels=o.getUint16(S,!0),S+=2;else if(x===0)d.numValidPixels=o.getUint32(S,!0),S+=4;else throw"Invalid valid pixel count type"}if(a+=S,d.encoding!==3){var k,D;if(d.encoding===0){var I=(i.pixels.numBytes-1)/4;if(I!==Math.floor(I))throw"uncompressed block has invalid length";k=new ArrayBuffer(I*4),D=new Uint8Array(k),D.set(new Uint8Array(r,a,I*4));var E=new Float32Array(k);d.rawData=E,a+=I*4}else if(d.encoding===1){var F=Math.ceil(d.numValidPixels*d.bitsPerPixel/8),L=Math.ceil(F/4);k=new ArrayBuffer(L*4),D=new Uint8Array(k),D.set(new Uint8Array(r,a,F)),d.stuffedData=new Uint32Array(k),a+=F}}}return i.eofOffset=a,i},e=function(r,a,t,i,f,o,c){var m=(1<<a)-1,l=0,s,h=0,u,g,v=Math.ceil((c-i)/f),U=r.length*4-Math.ceil(a*t/8);for(r[r.length-1]<<=8*U,s=0;s<t;s++){if(h===0&&(g=r[l++],h=32),h>=a)u=g>>>h-a&m,h-=a;else{var y=a-h;u=(g&m)<<y&m,g=r[l++],h=32-y,u+=g>>>h}o[s]=u<v?i+u*f:c}return o};return A}(),Q=function(){"use strict";var A={unstuff:function(n,e,r,a,t,i,f,o){var c=(1<<r)-1,m=0,l,s=0,h,u,g,v,U=n.length*4-Math.ceil(r*a/8);if(n[n.length-1]<<=8*U,t)for(l=0;l<a;l++)s===0&&(u=n[m++],s=32),s>=r?(h=u>>>s-r&c,s-=r):(g=r-s,h=(u&c)<<g&c,u=n[m++],s=32-g,h+=u>>>s),e[l]=t[h];else for(v=Math.ceil((o-i)/f),l=0;l<a;l++)s===0&&(u=n[m++],s=32),s>=r?(h=u>>>s-r&c,s-=r):(g=r-s,h=(u&c)<<g&c,u=n[m++],s=32-g,h+=u>>>s),e[l]=h<v?i+h*f:o},unstuffLUT:function(n,e,r,a,t,i){var f=(1<<e)-1,o=0,c=0,m=0,l=0,s=0,h,u=[],g=n.length*4-Math.ceil(e*r/8);n[n.length-1]<<=8*g;var v=Math.ceil((i-a)/t);for(c=0;c<r;c++)l===0&&(h=n[o++],l=32),l>=e?(s=h>>>l-e&f,l-=e):(m=e-l,s=(h&f)<<m&f,h=n[o++],l=32-m,s+=h>>>l),u[c]=s<v?a+s*t:i;return u.unshift(a),u},unstuff2:function(n,e,r,a,t,i,f,o){var c=(1<<r)-1,m=0,l,s=0,h=0,u,g,v;if(t)for(l=0;l<a;l++)s===0&&(g=n[m++],s=32,h=0),s>=r?(u=g>>>h&c,s-=r,h+=r):(v=r-s,u=g>>>h&c,g=n[m++],s=32-v,u|=(g&(1<<v)-1)<<r-v,h=v),e[l]=t[u];else{var U=Math.ceil((o-i)/f);for(l=0;l<a;l++)s===0&&(g=n[m++],s=32,h=0),s>=r?(u=g>>>h&c,s-=r,h+=r):(v=r-s,u=g>>>h&c,g=n[m++],s=32-v,u|=(g&(1<<v)-1)<<r-v,h=v),e[l]=u<U?i+u*f:o}return e},unstuffLUT2:function(n,e,r,a,t,i){var f=(1<<e)-1,o=0,c=0,m=0,l=0,s=0,h=0,u,g=[],v=Math.ceil((i-a)/t);for(c=0;c<r;c++)l===0&&(u=n[o++],l=32,h=0),l>=e?(s=u>>>h&f,l-=e,h+=e):(m=e-l,s=u>>>h&f,u=n[o++],l=32-m,s|=(u&(1<<m)-1)<<e-m,h=m),g[c]=s<v?a+s*t:i;return g.unshift(a),g},originalUnstuff:function(n,e,r,a){var t=(1<<r)-1,i=0,f,o=0,c,m,l,s=n.length*4-Math.ceil(r*a/8);for(n[n.length-1]<<=8*s,f=0;f<a;f++)o===0&&(m=n[i++],o=32),o>=r?(c=m>>>o-r&t,o-=r):(l=r-o,c=(m&t)<<l&t,m=n[i++],o=32-l,c+=m>>>o),e[f]=c;return e},originalUnstuff2:function(n,e,r,a){var t=(1<<r)-1,i=0,f,o=0,c=0,m,l,s;for(f=0;f<a;f++)o===0&&(l=n[i++],o=32,c=0),o>=r?(m=l>>>c&t,o-=r,c+=r):(s=r-o,m=l>>>c&t,l=n[i++],o=32-s,m|=(l&(1<<s)-1)<<r-s,c=s),e[f]=m;return e}},T={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(n){for(var e=65535,r=65535,a=n.length,t=Math.floor(a/2),i=0;t;){var f=t>=359?359:t;t-=f;do e+=n[i++]<<8,r+=e+=n[i++];while(--f);e=(e&65535)+(e>>>16),r=(r&65535)+(r>>>16)}return a&1&&(r+=e+=n[i]<<8),e=(e&65535)+(e>>>16),r=(r&65535)+(r>>>16),(r<<16|e)>>>0},readHeaderInfo:function(n,e){var r=e.ptr,a=new Uint8Array(n,r,6),t={};if(t.fileIdentifierString=String.fromCharCode.apply(null,a),t.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+t.fileIdentifierString;r+=6;var i=new DataView(n,r,8),f=i.getInt32(0,!0);t.fileVersion=f,r+=4,f>=3&&(t.checksum=i.getUint32(4,!0),r+=4),i=new DataView(n,r,12),t.height=i.getUint32(0,!0),t.width=i.getUint32(4,!0),r+=8,f>=4?(t.numDims=i.getUint32(8,!0),r+=4):t.numDims=1,i=new DataView(n,r,40),t.numValidPixel=i.getUint32(0,!0),t.microBlockSize=i.getInt32(4,!0),t.blobSize=i.getInt32(8,!0),t.imageType=i.getInt32(12,!0),t.maxZError=i.getFloat64(16,!0),t.zMin=i.getFloat64(24,!0),t.zMax=i.getFloat64(32,!0),r+=40,e.headerInfo=t,e.ptr=r;var o,c;if(f>=3&&(c=f>=4?52:48,o=this.computeChecksumFletcher32(new Uint8Array(n,r-c,t.blobSize-14)),o!==t.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(n,e){var r=e.headerInfo,a=this.getDataTypeArray(r.imageType),t=r.numDims*this.getDataTypeSize(r.imageType),i=this.readSubArray(n,e.ptr,a,t),f=this.readSubArray(n,e.ptr+t,a,t);e.ptr+=2*t;var o,c=!0;for(o=0;o<r.numDims;o++)if(i[o]!==f[o]){c=!1;break}return r.minValues=i,r.maxValues=f,c},readSubArray:function(n,e,r,a){var t;if(r===Uint8Array)t=new Uint8Array(n,e,a);else{var i=new ArrayBuffer(a),f=new Uint8Array(i);f.set(new Uint8Array(n,e,a)),t=new r(i)}return t},readMask:function(n,e){var r=e.ptr,a=e.headerInfo,t=a.width*a.height,i=a.numValidPixel,f=new DataView(n,r,4),o={};if(o.numBytes=f.getUint32(0,!0),r+=4,(i===0||t===i)&&o.numBytes!==0)throw"invalid mask";var c,m;if(i===0)c=new Uint8Array(Math.ceil(t/8)),o.bitset=c,m=new Uint8Array(t),e.pixels.resultMask=m,r+=o.numBytes;else if(o.numBytes>0){c=new Uint8Array(Math.ceil(t/8)),f=new DataView(n,r,o.numBytes);var l=f.getInt16(0,!0),s=2,h=0,u=0;do{if(l>0)for(;l--;)c[h++]=f.getUint8(s++);else for(u=f.getUint8(s++),l=-l;l--;)c[h++]=u;l=f.getInt16(s,!0),s+=2}while(s<o.numBytes);if(l!==-32768||h<c.length)throw"Unexpected end of mask RLE encoding";m=new Uint8Array(t);var g=0,v=0;for(v=0;v<t;v++)v&7?(g=c[v>>3],g<<=v&7):g=c[v>>3],g&128&&(m[v]=1);e.pixels.resultMask=m,o.bitset=c,r+=o.numBytes}return e.ptr=r,e.mask=o,!0},readDataOneSweep:function(n,e,r){var a=e.ptr,t=e.headerInfo,i=t.numDims,f=t.width*t.height,o=t.imageType,c=t.numValidPixel*T.getDataTypeSize(o)*i,m,l=e.pixels.resultMask;if(r===Uint8Array)m=new Uint8Array(n,a,c);else{var s=new ArrayBuffer(c),h=new Uint8Array(s);h.set(new Uint8Array(n,a,c)),m=new r(s)}if(m.length===f*i)e.pixels.resultPixels=m;else{e.pixels.resultPixels=new r(f*i);var u=0,g=0,v=0,U=0;if(i>1)for(v=0;v<i;v++)for(U=v*f,g=0;g<f;g++)l[g]&&(e.pixels.resultPixels[U+g]=m[u++]);else for(g=0;g<f;g++)l[g]&&(e.pixels.resultPixels[g]=m[u++])}return a+=c,e.ptr=a,!0},readHuffmanTree:function(n,e){var r=this.HUFFMAN_LUT_BITS_MAX,a=new DataView(n,e.ptr,16);e.ptr+=16;var t=a.getInt32(0,!0);if(t<2)throw"unsupported Huffman version";var i=a.getInt32(4,!0),f=a.getInt32(8,!0),o=a.getInt32(12,!0);if(f>=o)return!1;var c=new Uint32Array(o-f);T.decodeBits(n,e,c);var m=[],l,s,h,u;for(l=f;l<o;l++)s=l-(l<i?0:i),m[s]={first:c[l-f],second:null};var g=n.byteLength-e.ptr,v=Math.ceil(g/4),U=new ArrayBuffer(v*4),y=new Uint8Array(U);y.set(new Uint8Array(n,e.ptr,g));var V=new Uint32Array(U),w=0,S,p=0;for(S=V[0],l=f;l<o;l++)s=l-(l<i?0:i),u=m[s].first,u>0&&(m[s].second=S<<w>>>32-u,32-w>=u?(w+=u,w===32&&(w=0,p++,S=V[p])):(w+=u-32,p++,S=V[p],m[s].second|=S>>>32-w));var d=0,x=0,k=new B;for(l=0;l<m.length;l++)m[l]!==void 0&&(d=Math.max(d,m[l].first));d>=r?x=r:x=d,d>=30&&console.log("WARning, large NUM LUT BITS IS "+d);var D=[],I,E,F,L,X,b;for(l=f;l<o;l++)if(s=l-(l<i?0:i),u=m[s].first,u>0)if(I=[u,s],u<=x)for(E=m[s].second<<x-u,F=1<<x-u,h=0;h<F;h++)D[E|h]=I;else for(E=m[s].second,b=k,L=u-1;L>=0;L--)X=E>>>L&1,X?(b.right||(b.right=new B),b=b.right):(b.left||(b.left=new B),b=b.left),L===0&&!b.val&&(b.val=I[1]);return{decodeLut:D,numBitsLUTQick:x,numBitsLUT:d,tree:k,stuffedData:V,srcPtr:p,bitPos:w}},readHuffman:function(n,e,r){var a=e.headerInfo,t=a.numDims,i=e.headerInfo.height,f=e.headerInfo.width,o=f*i,c=this.readHuffmanTree(n,e),m=c.decodeLut,l=c.tree,s=c.stuffedData,h=c.srcPtr,u=c.bitPos,g=c.numBitsLUTQick,v=c.numBitsLUT,U=e.headerInfo.imageType===0?128:0,y,V,w,S=e.pixels.resultMask,p,d,x,k,D,I,E,F=0;u>0&&(h++,u=0);var L=s[h],X=e.encodeMode===1,b=new r(o*t),O=b,P;for(P=0;P<a.numDims;P++){if(t>1&&(O=new r(b.buffer,o*P,o),F=0),e.headerInfo.numValidPixel===f*i)for(I=0,k=0;k<i;k++)for(D=0;D<f;D++,I++){if(V=0,p=L<<u>>>32-g,d=p,32-u<g&&(p|=s[h+1]>>>64-u-g,d=p),m[d])V=m[d][1],u+=m[d][0];else for(p=L<<u>>>32-v,d=p,32-u<v&&(p|=s[h+1]>>>64-u-v,d=p),y=l,E=0;E<v;E++)if(x=p>>>v-E-1&1,y=x?y.right:y.left,!(y.left||y.right)){V=y.val,u=u+E+1;break}u>=32&&(u-=32,h++,L=s[h]),w=V-U,X?(D>0?w+=F:k>0?w+=O[I-f]:w+=F,w&=255,O[I]=w,F=w):O[I]=w}else for(I=0,k=0;k<i;k++)for(D=0;D<f;D++,I++)if(S[I]){if(V=0,p=L<<u>>>32-g,d=p,32-u<g&&(p|=s[h+1]>>>64-u-g,d=p),m[d])V=m[d][1],u+=m[d][0];else for(p=L<<u>>>32-v,d=p,32-u<v&&(p|=s[h+1]>>>64-u-v,d=p),y=l,E=0;E<v;E++)if(x=p>>>v-E-1&1,y=x?y.right:y.left,!(y.left||y.right)){V=y.val,u=u+E+1;break}u>=32&&(u-=32,h++,L=s[h]),w=V-U,X?(D>0&&S[I-1]?w+=F:k>0&&S[I-f]?w+=O[I-f]:w+=F,w&=255,O[I]=w,F=w):O[I]=w}e.ptr=e.ptr+(h+1)*4+(u>0?4:0)}e.pixels.resultPixels=b},decodeBits:function(n,e,r,a,t){{var i=e.headerInfo,f=i.fileVersion,o=0,c=new DataView(n,e.ptr,5),m=c.getUint8(0);o++;var l=m>>6,s=l===0?4:3-l,h=(m&32)>0,u=m&31,g=0;if(s===1)g=c.getUint8(o),o++;else if(s===2)g=c.getUint16(o,!0),o+=2;else if(s===4)g=c.getUint32(o,!0),o+=4;else throw"Invalid valid pixel count type";var v=2*i.maxZError,U,y,V,w,S,p,d,x,k,D,I=i.numDims>1?i.maxValues[t]:i.zMax;if(h){for(e.counter.lut++,x=c.getUint8(o),k=u,o++,w=Math.ceil((x-1)*u/8),S=Math.ceil(w/4),y=new ArrayBuffer(S*4),V=new Uint8Array(y),e.ptr+=o,V.set(new Uint8Array(n,e.ptr,w)),d=new Uint32Array(y),e.ptr+=w,D=0;x-1>>>D;)D++;w=Math.ceil(g*D/8),S=Math.ceil(w/4),y=new ArrayBuffer(S*4),V=new Uint8Array(y),V.set(new Uint8Array(n,e.ptr,w)),U=new Uint32Array(y),e.ptr+=w,f>=3?p=A.unstuffLUT2(d,u,x-1,a,v,I):p=A.unstuffLUT(d,u,x-1,a,v,I),f>=3?A.unstuff2(U,r,D,g,p):A.unstuff(U,r,D,g,p)}else e.counter.bitstuffer++,D=u,e.ptr+=o,D>0&&(w=Math.ceil(g*D/8),S=Math.ceil(w/4),y=new ArrayBuffer(S*4),V=new Uint8Array(y),V.set(new Uint8Array(n,e.ptr,w)),U=new Uint32Array(y),e.ptr+=w,f>=3?a==null?A.originalUnstuff2(U,r,D,g):A.unstuff2(U,r,D,g,!1,a,v,I):a==null?A.originalUnstuff(U,r,D,g):A.unstuff(U,r,D,g,!1,a,v,I))}},readTiles:function(n,e,r){var a=e.headerInfo,t=a.width,i=a.height,f=a.microBlockSize,o=a.imageType,c=T.getDataTypeSize(o),m=Math.ceil(t/f),l=Math.ceil(i/f);e.pixels.numBlocksY=l,e.pixels.numBlocksX=m,e.pixels.ptr=0;var s=0,h=0,u=0,g=0,v=0,U=0,y=0,V=0,w=0,S=0,p=0,d=0,x=0,k=0,D=0,I=0,E,F,L,X,b,O,P=new r(f*f),Ee=i%f||f,ge=t%f||f,ve,oe,Ue=a.numDims,J,W=e.pixels.resultMask,ee=e.pixels.resultPixels;for(u=0;u<l;u++)for(v=u!==l-1?f:Ee,g=0;g<m;g++)for(U=g!==m-1?f:ge,p=u*t*f+g*f,d=t-U,J=0;J<Ue;J++){if(Ue>1&&(ee=new r(e.pixels.resultPixels.buffer,t*i*J*c,t*i)),y=n.byteLength-e.ptr,E=new DataView(n,e.ptr,Math.min(10,y)),F={},I=0,V=E.getUint8(0),I++,w=V>>6&255,S=V>>2&15,S!==(g*f>>3&15))throw"integrity issue";if(O=V&3,O>3)throw e.ptr+=I,"Invalid block encoding ("+O+")";if(O===2){e.counter.constant++,e.ptr+=I;continue}else if(O===0){if(e.counter.uncompressed++,e.ptr+=I,x=v*U*c,k=n.byteLength-e.ptr,x=x<k?x:k,L=new ArrayBuffer(x%c===0?x:x+c-x%c),X=new Uint8Array(L),X.set(new Uint8Array(n,e.ptr,x)),b=new r(L),D=0,W)for(s=0;s<v;s++){for(h=0;h<U;h++)W[p]&&(ee[p]=b[D++]),p++;p+=d}else for(s=0;s<v;s++){for(h=0;h<U;h++)ee[p++]=b[D++];p+=d}e.ptr+=D*c}else if(ve=T.getDataTypeUsed(o,w),oe=T.getOnePixel(F,I,ve,E),I+=T.getDataTypeSize(ve),O===3)if(e.ptr+=I,e.counter.constantoffset++,W)for(s=0;s<v;s++){for(h=0;h<U;h++)W[p]&&(ee[p]=oe),p++;p+=d}else for(s=0;s<v;s++){for(h=0;h<U;h++)ee[p++]=oe;p+=d}else if(e.ptr+=I,T.decodeBits(n,e,P,oe,J),I=0,W)for(s=0;s<v;s++){for(h=0;h<U;h++)W[p]&&(ee[p]=P[I++]),p++;p+=d}else for(s=0;s<v;s++){for(h=0;h<U;h++)ee[p++]=P[I++];p+=d}}},formatFileInfo:function(n){return{fileIdentifierString:n.headerInfo.fileIdentifierString,fileVersion:n.headerInfo.fileVersion,imageType:n.headerInfo.imageType,height:n.headerInfo.height,width:n.headerInfo.width,numValidPixel:n.headerInfo.numValidPixel,microBlockSize:n.headerInfo.microBlockSize,blobSize:n.headerInfo.blobSize,maxZError:n.headerInfo.maxZError,pixelType:T.getPixelType(n.headerInfo.imageType),eofOffset:n.eofOffset,mask:n.mask?{numBytes:n.mask.numBytes}:null,pixels:{numBlocksX:n.pixels.numBlocksX,numBlocksY:n.pixels.numBlocksY,maxValue:n.headerInfo.zMax,minValue:n.headerInfo.zMin,noDataValue:n.noDataValue}}},constructConstantSurface:function(n){var e=n.headerInfo.zMax,r=n.headerInfo.numDims,a=n.headerInfo.height*n.headerInfo.width,t=a*r,i=0,f=0,o=0,c=n.pixels.resultMask;if(c)if(r>1)for(i=0;i<r;i++)for(o=i*a,f=0;f<a;f++)c[f]&&(n.pixels.resultPixels[o+f]=e);else for(f=0;f<a;f++)c[f]&&(n.pixels.resultPixels[f]=e);else if(n.pixels.resultPixels.fill)n.pixels.resultPixels.fill(e);else for(f=0;f<t;f++)n.pixels.resultPixels[f]=e},getDataTypeArray:function(n){var e;switch(n){case 0:e=Int8Array;break;case 1:e=Uint8Array;break;case 2:e=Int16Array;break;case 3:e=Uint16Array;break;case 4:e=Int32Array;break;case 5:e=Uint32Array;break;case 6:e=Float32Array;break;case 7:e=Float64Array;break;default:e=Float32Array}return e},getPixelType:function(n){var e;switch(n){case 0:e="S8";break;case 1:e="U8";break;case 2:e="S16";break;case 3:e="U16";break;case 4:e="S32";break;case 5:e="U32";break;case 6:e="F32";break;case 7:e="F64";break;default:e="F32"}return e},isValidPixelValue:function(n,e){if(e==null)return!1;var r;switch(n){case 0:r=e>=-128&&e<=127;break;case 1:r=e>=0&&e<=255;break;case 2:r=e>=-32768&&e<=32767;break;case 3:r=e>=0&&e<=65536;break;case 4:r=e>=-2147483648&&e<=2147483647;break;case 5:r=e>=0&&e<=4294967296;break;case 6:r=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:r=e>=5e-324&&e<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(n){var e=0;switch(n){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=n}return e},getDataTypeUsed:function(n,e){var r=n;switch(n){case 2:case 4:r=n-e;break;case 3:case 5:r=n-2*e;break;case 6:e===0?r=n:e===1?r=2:r=1;break;case 7:e===0?r=n:r=n-2*e+1;break;default:r=n;break}return r},getOnePixel:function(n,e,r,a){var t=0;switch(r){case 0:t=a.getInt8(e);break;case 1:t=a.getUint8(e);break;case 2:t=a.getInt16(e,!0);break;case 3:t=a.getUint16(e,!0);break;case 4:t=a.getInt32(e,!0);break;case 5:t=a.getUInt32(e,!0);break;case 6:t=a.getFloat32(e,!0);break;case 7:t=a.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return t}},B=function(n,e,r){this.val=n,this.left=e,this.right=r},q={decode:function(n,e){e=e||{};var r=e.noDataValue,a=0,t={};if(t.ptr=e.inputOffset||0,t.pixels={},!!T.readHeaderInfo(n,t)){var i=t.headerInfo,f=i.fileVersion,o=T.getDataTypeArray(i.imageType);T.readMask(n,t),i.numValidPixel!==i.width*i.height&&!t.pixels.resultMask&&(t.pixels.resultMask=e.maskData);var c=i.width*i.height;if(t.pixels.resultPixels=new o(c*i.numDims),t.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},i.numValidPixel!==0)if(i.zMax===i.zMin)T.constructConstantSurface(t);else if(f>=4&&T.checkMinMaxRanges(n,t))T.constructConstantSurface(t);else{var m=new DataView(n,t.ptr,2),l=m.getUint8(0);if(t.ptr++,l)T.readDataOneSweep(n,t,o);else if(f>1&&i.imageType<=1&&Math.abs(i.maxZError-.5)<1e-5){var s=m.getUint8(1);if(t.ptr++,t.encodeMode=s,s>2||f<4&&s>1)throw"Invalid Huffman flag "+s;s?T.readHuffman(n,t,o):T.readTiles(n,t,o)}else T.readTiles(n,t,o)}t.eofOffset=t.ptr;var h;e.inputOffset?(h=t.headerInfo.blobSize+e.inputOffset-t.ptr,Math.abs(h)>=1&&(t.eofOffset=e.inputOffset+t.headerInfo.blobSize)):(h=t.headerInfo.blobSize-t.ptr,Math.abs(h)>=1&&(t.eofOffset=t.headerInfo.blobSize));var u={width:i.width,height:i.height,pixelData:t.pixels.resultPixels,minValue:i.zMin,maxValue:i.zMax,validPixelCount:i.numValidPixel,dimCount:i.numDims,dimStats:{minValues:i.minValues,maxValues:i.maxValues},maskData:t.pixels.resultMask};if(t.pixels.resultMask&&T.isValidPixelValue(i.imageType,r)){var g=t.pixels.resultMask;for(a=0;a<c;a++)g[a]||(u.pixelData[a]=r);u.noDataValue=r}return t.noDataValue=r,e.returnFileInfo&&(u.fileInfo=T.formatFileInfo(t)),u}},getBandCount:function(n){var e=0,r=0,a={};for(a.ptr=0,a.pixels={};r<n.byteLength-58;)T.readHeaderInfo(n,a),r+=a.headerInfo.blobSize,e++,a.ptr=r;return e}};return q}(),C=function(){var A=new ArrayBuffer(4),T=new Uint8Array(A),B=new Uint32Array(A);return B[0]=1,T[0]===1}(),j={decode:function(A,T){if(!C)throw"Big endian system is not supported.";T=T||{};var B=T.inputOffset||0,q=new Uint8Array(A,B,10),n=String.fromCharCode.apply(null,q),e,r;if(n.trim()==="CntZImage")e=M,r=1;else if(n.substring(0,5)==="Lerc2")e=Q,r=2;else throw"Unexpected file identifier string: "+n;for(var a=0,t=A.byteLength-10,i,f=[],o,c,m={width:0,height:0,pixels:[],pixelType:T.pixelType,mask:null,statistics:[]};B<t;){var l=e.decode(A,{inputOffset:B,encodedMaskData:i,maskData:c,returnMask:a===0,returnEncodedMask:a===0,returnFileInfo:!0,pixelType:T.pixelType||null,noDataValue:T.noDataValue||null});B=l.fileInfo.eofOffset,a===0&&(i=l.encodedMaskData,c=l.maskData,m.width=l.width,m.height=l.height,m.dimCount=l.dimCount||1,m.pixelType=l.pixelType||l.fileInfo.pixelType,m.mask=l.maskData),r>1&&l.fileInfo.mask&&l.fileInfo.mask.numBytes>0&&f.push(l.maskData),a++,m.pixels.push(l.pixelData),m.statistics.push({minValue:l.minValue,maxValue:l.maxValue,noDataValue:l.noDataValue,dimStats:l.dimStats})}var s,h,u;if(r>1&&f.length>1){for(u=m.width*m.height,m.bandMasks=f,c=new Uint8Array(u),c.set(f[0]),s=1;s<f.length;s++)for(o=f[s],h=0;h<u;h++)c[h]=c[h]&o[h];m.maskData=c}return m}};typeof define=="function"&&define.amd?define([],function(){return j}):typeof Ae<"u"&&Ae.exports?Ae.exports=j:this.Lerc=j})()});var Vr={NONE:0,LERC:1},hr=Object.freeze(Vr);var ie={};function Sr(M,Q){let C=0,j,A,T,B,q=Q.length;for(T=Q[0],j=1;j<=q;j++)B=Q[j%q],M[0]>Math.min(T[0],B[0])&&M[0]<=Math.max(T[0],B[0])&&M[1]<=Math.max(T[1],B[1])&&T[0]!==B[0]&&(A=(M[0]-T[0])*(B[1]-T[1])/(B[0]-T[0])+T[1],(T[1]===B[1]||M[1]<=A)&&C++),T=B;return C%2!==0}ie.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var je=new _,Dr=new Se,Ar=new _,Er=new _;ie.computeVertices=function(M){if(!re(M)||!re(M.heightmap))throw new Ie("options.heightmap is required.");if(!re(M.width)||!re(M.height))throw new Ie("options.width and options.height are required.");if(!re(M.nativeRectangle))throw new Ie("options.nativeRectangle is required.");if(!re(M.skirtHeight))throw new Ie("options.skirtHeight is required.");let Q=M.flattenPolygonHeight||[1],C=M.flattenPolygon||[],j=M.VTN,A=Math.cos,T=Math.sin,B=Math.sqrt,q=Math.atan,n=Math.exp,e=xe.PI_OVER_TWO,r=xe.toRadians,a=M.heightmap,t=M.width,i=M.height,f=M.skirtHeight,o=f>0,c=M.isGeographic??!0,m=M.ellipsoid??Ve.default,l=1/m.maximumRadius,s=fe.clone(M.nativeRectangle),h=fe.clone(M.rectangle),u,g,v,U;re(h)?(u=h.west,g=h.south,v=h.east,U=h.north):c?(u=r(s.west),g=r(s.south),v=r(s.east),U=r(s.north)):(u=s.west*l,g=e-2*q(n(-s.south*l)),v=s.east*l,U=e-2*q(n(-s.north*l)));let y=M.relativeToCenter,V=re(y);y=V?y:_.ZERO;let w=M.includeWebMercatorT??!1,S=M.exaggeration??1,p=M.exaggerationRelativeHeight??0,x=S!==1,k=M.structure??ie.DEFAULT_STRUCTURE,D=k.heightScale??ie.DEFAULT_STRUCTURE.heightScale,I=k.heightOffset??ie.DEFAULT_STRUCTURE.heightOffset,E=k.elementsPerHeight??ie.DEFAULT_STRUCTURE.elementsPerHeight,F=k.stride??ie.DEFAULT_STRUCTURE.stride,L=k.elementMultiplier??ie.DEFAULT_STRUCTURE.elementMultiplier,X=k.isBigEndian??ie.DEFAULT_STRUCTURE.isBigEndian,b=fe.computeWidth(s),O=fe.computeHeight(s),P=b/(t-1),Ee=O/(i-1);c||(b*=l,O*=l);let ge=m.radiiSquared,ve=ge.x,oe=ge.y,Ue=ge.z,J=65536,W=-65536,ee=ar.eastNorthUpToFixedFrame(y,m),wr=Se.inverseTransformation(ee,Dr),Le,qe;w&&(Le=De.geodeticLatitudeToMercatorAngle(g),qe=1/(De.geodeticLatitudeToMercatorAngle(U)-Le));let le=Ar;le.x=Number.POSITIVE_INFINITY,le.y=Number.POSITIVE_INFINITY,le.z=Number.POSITIVE_INFINITY;let ue=Er;ue.x=Number.NEGATIVE_INFINITY,ue.y=Number.NEGATIVE_INFINITY,ue.z=Number.NEGATIVE_INFINITY;let Be=Number.POSITIVE_INFINITY,de=t*i,pr=f>0?t*2+i*2:0,te=de+pr,ne=new Array(te),We=new Array(te),Ge=new Array(te),Qe=w?new Array(te):[],Je=x?new Array(te):[],Fe=new Array(te),be=0,Ne=i,Ce=0,Oe=t;o&&(--be,++Ne,--Ce,++Oe);let Te=1e-5;for(let N=be;N<Ne;++N){let R=N;R<0&&(R=0),R>=i&&(R=i-1);let z=s.north-Ee*R;c?z=r(z):z=e-2*q(n(-z*l));let ce=(z-g)/(U-g);ce=xe.clamp(ce,0,1);let Z=N===be,ae=N===Ne-1;f>0&&(Z?z+=Te*O:ae&&(z-=Te*O));let we=A(z),me=T(z),ke=Ue*me,ye;w&&(ye=(De.geodeticLatitudeToMercatorAngle(z)-Le)*qe);for(let se=Ce;se<Oe;++se){let K=se;K<0&&(K=0),K>=t&&(K=t-1);let pe=R*(t*F)+K*F,H;if(E===1)H=a[pe];else{H=0;let Y;if(X)for(Y=0;Y<E;++Y)H=H*L+a[pe+Y];else for(Y=E-1;Y>=0;--Y)H=H*L+a[pe+Y]}H=H*D+I,W=Math.max(W,H),J=Math.min(J,H);let G=s.west+P*K;c?G=r(G):G=G*l;let Ye=(G-u)/(v-u);Ye=xe.clamp(Ye,0,1);let $=R*t+K;if(Fe[$]=0,f>0){let Y=se===Ce,Me=se===Oe-1,tr=Z||ae||Y||Me;if((Z||ae)&&(Y||Me))continue;tr&&(H-=f,Y?($=de+(i-R-1),G-=Te*b):ae?$=de+i+(t-K-1):Me?($=de+i+t+R,G+=Te*b):Z&&($=de+i+t+i+K),Fe[$]=1)}let Xe=we*A(G),_e=we*T(G),rr=ve*Xe,ir=oe*_e,ze=1/B(rr*Xe+ir*_e+ke*me),Ur=rr*ze,Tr=ir*ze,kr=ke*ze;for(let Y=0;Y<Q.length;Y++)Q[Y]!==1&&Sr([G,z],C[Y])&&(H=Q[Y]);let he=new _;he.x=Ur+Xe*H,he.y=Tr+_e*H,he.z=kr+me*H,Se.multiplyByPoint(wr,he,je),_.minimumByComponent(je,le,le),_.maximumByComponent(je,ue,ue),Be=Math.min(Be,H),ne[$]=he,Ge[$]=new nr(Ye,ce),We[$]=H,w&&(Qe[$]=ye),x&&(Je[$]=m.geodeticSurfaceNormal(he))}}let Re=new Array(te);if(f>0){let N=0;for(let R=0;R<i;++R){let z=-1,ce=1;R<2&&(z=0),R>=i-1&&(ce=0);for(let Z=0;Z<t;++Z){let ae=-1,we=1;Z<2&&(ae=0),Z>=t-1&&(we=0),N=R*t+Z;try{let me=ne[(R+z)*t+Z],ke=ne[(R+ce)*t+Z],ye=ne[R*t+(Z+ae)],se=ne[R*t+(Z+we)],K=_.subtract(ye,se,new _),pe=_.subtract(me,ke,new _),H=_.cross(K,pe,new _),G=_.normalize(H,new _);Re[N]=fr.octEncodeFloat(G)}catch{Re[N]=0}}}}let Ir=sr.fromPoints(ne),Ke;re(h)&&(Ke=ur.fromRectangle(h,J,W,m));let $e;V&&($e=new cr(m).computeHorizonCullingPointPossiblyUnderEllipsoid(y,ne,J));let xr=new lr(le,ue,y),He=new mr(y,xr,Be,W,ee,j?f>0:!1,w,x,S,p),Pe=new Float32Array(te*He.stride),er=0;for(let N=0;N<te;++N)er=He.encode(Pe,er,ne[N],Ge[N],We[N],f>0?Re[N]:void 0,Qe[N],Je[N],f>0||void 0,void 0,Fe[N]);return{vertices:Pe,maximumHeight:W,minimumHeight:J,encoding:He,boundingSphere3D:Ir,orientedBoundingBox:Ke,occludeePointInScaledSpace:$e}};var gr=ie;var dr=Mr(vr(),1);function Lr(M,Q){if(M.encoding===hr.LERC){let A;try{A=dr.default.decode(M.heightmap)}catch(B){throw new Ze(B)}if(A.statistics[0].minValue===Number.MAX_VALUE)throw new Ze("Invalid tile data");M.heightmap=A.pixels[0],M.width=A.width,M.height=A.height}M.ellipsoid=Ve.clone(M.ellipsoid),M.rectangle=fe.clone(M.rectangle);let C=gr.computeVertices(M),j=C.vertices;return Q.push(j.buffer),{vertices:j.buffer,numberOfAttributes:C.encoding.stride,minimumHeight:C.minimumHeight,maximumHeight:C.maximumHeight,gridWidth:M.width,gridHeight:M.height,boundingSphere3D:C.boundingSphere3D,orientedBoundingBox:C.orientedBoundingBox,occludeePointInScaledSpace:C.occludeePointInScaledSpace,encoding:C.encoding,westIndicesSouthToNorth:C.westIndicesSouthToNorth,southIndicesEastToWest:C.southIndicesEastToWest,eastIndicesNorthToSouth:C.eastIndicesNorthToSouth,northIndicesWestToEast:C.northIndicesWestToEast}}var ai=or(Lr);export{ai as default};