@loaders.gl/geotiff 4.3.0 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -6,18 +6,18 @@
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
7
  "use strict";var __exports__=(()=>{var Qa=Object.create;var XA=Object.defineProperty;var pa=Object.getOwnPropertyDescriptor;var wa=Object.getOwnPropertyNames;var ya=Object.getPrototypeOf,ma=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(e&&(t=e(e=0)),t);var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Te=(e,t)=>{for(var A in t)XA(e,A,{get:t[A],enumerable:!0})},ZA=(e,t,A,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of wa(t))!ma.call(e,r)&&r!==A&&XA(e,r,{get:()=>t[r],enumerable:!(i=pa(t,r))||i.enumerable});return e},jA=(e,t,A)=>(ZA(e,t,"default"),A&&ZA(A,t,"default")),ve=(e,t,A)=>(A=e!=null?Qa(ya(e)):{},ZA(t||!e||!e.__esModule?XA(A,"default",{value:e,enumerable:!0}):A,e)),_a=e=>ZA(XA({},"__esModule",{value:!0}),e);var Er=Z((gI,Br)=>{Br.exports=globalThis.loaders});var Yr=Z((Ih,ei)=>{function qr(e,t,A){let i=A&&A.debug||!1;i&&console.log("[xml-utils] getting "+t+" in "+e);let r=typeof e=="object"?e.outer:e,n=r.slice(0,r.indexOf(">")+1),l=['"',"'"];for(let s=0;s<l.length;s++){let g=l[s],o=t+"\\="+g+"([^"+g+"]*)"+g;i&&console.log("[xml-utils] pattern:",o);let I=new RegExp(o).exec(n);if(i&&console.log("[xml-utils] match:",I),I)return I[1]}}ei.exports=qr;ei.exports.default=qr});var Jr=Z((hh,Ai)=>{function Hr(e,t,A){let r=new RegExp(t).exec(e.slice(A));return r?A+r.index:-1}Ai.exports=Hr;Ai.exports.default=Hr});var Vr=Z((uh,ti)=>{function Kr(e,t,A){let r=new RegExp(t).exec(e.slice(A));return r?A+r.index+r[0].length-1:-1}ti.exports=Kr;ti.exports.default=Kr});var zr=Z((Bh,ii)=>{function Pr(e,t){let A=new RegExp(t,"g"),i=e.match(A);return i?i.length:0}ii.exports=Pr;ii.exports.default=Pr});var jr=Z((Eh,ni)=>{var Ya=Jr(),ri=Vr(),Zr=zr();function Xr(e,t,A){let i=A&&A.debug||!1,r=!(A&&typeof A.nested===!1),n=A&&A.startIndex||0;i&&console.log("[xml-utils] starting findTagByName with",t," and ",A);let l=Ya(e,`<${t}[
8
8
  >/]`,n);if(i&&console.log("[xml-utils] start:",l),l===-1)return;let s=e.slice(l+t.length),g=ri(s,"^[^<]*[ /]>",0),o=g!==-1&&s[g-1]==="/";if(i&&console.log("[xml-utils] selfClosing:",o),o===!1)if(r){let f=0,h=1,u=0;for(;(g=ri(s,"[ /]"+t+">",f))!==-1;){let B=s.substring(f,g+1);if(h+=Zr(B,"<"+t+`[
9
- >]`),u+=Zr(B,"</"+t+">"),u>=h)break;f=g}}else g=ri(s,"[ /]"+t+">",0);let a=l+t.length+g+1;if(i&&console.log("[xml-utils] end:",a),a===-1)return;let I=e.slice(l,a),c;return o?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:l,end:a}}ni.exports=Xr;ni.exports.default=Xr});var Wr=Z((Ch,oi)=>{var Ha=jr();function $r(e,t,A){let i=[],r=A&&A.debug||!1,n=A&&typeof A.nested=="boolean"?A.nested:!0,l=A&&A.startIndex||0,s;for(;s=Ha(e,t,{debug:r,startIndex:l});)n?l=s.start+1+t.length:l=s.end,i.push(s);return r&&console.log("findTagsByName found",i.length,"tags"),i}oi.exports=$r;oi.exports.default=$r});var nA,Qe,en,si,M,se,An,tn,ot,pA,Ja,st=he(()=>{nA={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},Qe={};for(let e in nA)nA.hasOwnProperty(e)&&(Qe[nA[e]]=parseInt(e,10));en=[Qe.BitsPerSample,Qe.ExtraSamples,Qe.SampleFormat,Qe.StripByteCounts,Qe.StripOffsets,Qe.StripRowCounts,Qe.TileByteCounts,Qe.TileOffsets,Qe.SubIFDs],si={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},M={};for(let e in si)si.hasOwnProperty(e)&&(M[si[e]]=parseInt(e,10));se={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},An={Unspecified:0,Assocalpha:1,Unassalpha:2},tn={Version:0,AddCompression:1},ot={None:0,Deflate:1,Zstandard:2},pA={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Ja={};for(let e in pA)pA.hasOwnProperty(e)&&(Ja[pA[e]]=parseInt(e,10))});function za(e,t){let A=e.length-t,i=0;do{for(let r=t;r>0;r--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function Za(e,t,A){let i=0,r=e.length,n=r/A;for(;r>t;){for(let s=t;s>0;--s)e[i+t]+=e[i],++i;r-=t}let l=e.slice();for(let s=0;s<n;++s)for(let g=0;g<A;++g)e[A*s+g]=l[(A-g-1)*n+s]}function ln(e,t,A,i,r,n){if(!t||t===1)return e;for(let g=0;g<r.length;++g){if(r[g]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[g]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let l=r[0]/8,s=n===2?1:r.length;for(let g=0;g<i&&!(g*s*A*l>=e.byteLength);++g){let o;if(t===2){switch(r[0]){case 8:o=new Uint8Array(e,g*s*A*l,s*A*l);break;case 16:o=new Uint16Array(e,g*s*A*l,s*A*l/2);break;case 32:o=new Uint32Array(e,g*s*A*l,s*A*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}za(o,s,l)}else t===3&&(o=new Uint8Array(e,g*s*A*l,s*A*l),Za(o,s,l))}return e}var fn=he(()=>{});var Ae,Ge=he(()=>{fn();Ae=class{async decode(t,A){let i=await this.decodeBlock(A),r=t.Predictor||1;if(r!==1){let n=!t.StripOffsets,l=n?t.TileWidth:t.ImageWidth,s=n?t.TileLength:t.RowsPerStrip||t.ImageLength;return ln(i,r,l,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var cn={};Te(cn,{default:()=>at});var at,In=he(()=>{Ge();at=class extends Ae{decodeBlock(t){return t}}});var un={};Te(un,{default:()=>gt});function ja(e,t,A){let i=t%8,r=Math.floor(t/8),n=8-i,l=t+A-(r+1)*8,s=8*(r+2)-(t+A),g=(r+2)*8-t;if(s=Math.max(0,s),r>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),li;let o=e[r]&2**(8-i)-1;o<<=A-n;let a=o;if(r+1<e.length){let I=e[r+1]>>>s;I<<=Math.max(0,A-g),a+=I}if(l>8&&r+2<e.length){let I=(r+3)*8-(t+A),c=e[r+2]>>>I;a+=c}return a}function gi(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function $a(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,r=hn,n=0;function l(){i=258,r=hn}function s(h){let u=ja(h,n,r);return n+=r,u}function g(h,u){return A[i]=u,t[i]=h,i++,i-1}function o(h){let u=[];for(let B=h;B!==4096;B=t[B])u.push(A[B]);return u}let a=[];l();let I=new Uint8Array(e),c=s(I),f;for(;c!==li;){if(c===ai){for(l(),c=s(I);c===ai;)c=s(I);if(c===li)break;if(c>ai)throw new Error(`corrupted code at scanline ${c}`);{let h=o(c);gi(a,h),f=c}}else if(c<i){let h=o(c);gi(a,h),g(f,h[h.length-1]),f=c}else{let h=o(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${n}`);gi(a,h),a.push(h[h.length-1]),g(f,h[h.length-1]),f=c}i+1>=2**r&&(r===Xa?f=void 0:r++),c=s(I)}return new Uint8Array(a)}var hn,ai,li,Xa,gt,Bn=he(()=>{Ge();hn=9,ai=256,li=257,Xa=12;gt=class extends Ae{decodeBlock(t){return $a(t,!1).buffer}}});var Cn={};Te(Cn,{default:()=>Et});function En(e,t){let A=0,i=[],r=16;for(;r>0&&!e[r-1];)--r;i.push({children:[],index:0});let n=i[0],l;for(let s=0;s<r;s++){for(let g=0;g<e[s];g++){for(n=i.pop(),n.children[n.index]=t[A];n.index>0;)n=i.pop();for(n.index++,i.push(n);i.length<=s;)i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l;A++}s+1<r&&(i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l)}return i[0].children}function Wa(e,t,A,i,r,n,l,s,g){let{mcusPerLine:o,progressive:a}=A,I=t,c=t,f=0,h=0;function u(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let U=e[c++];if(U)throw new Error(`unexpected marker: ${(f<<8|U).toString(16)}`)}return h=7,f>>>7}function B(U){let v=U,G;for(;(G=u())!==null;){if(v=v[G],typeof v=="number")return v;if(typeof v!="object")throw new Error("invalid huffman sequence")}return null}function Q(U){let v=U,G=0;for(;v>0;){let V=u();if(V===null)return;G=G<<1|V,--v}return G}function C(U){let v=Q(U);return v>=1<<U-1?v:v+(-1<<U)+1}function p(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G);U.pred+=V,v[0]=U.pred;let P=1;for(;P<64;){let $=B(U.huffmanTableAC),j=$&15,ie=$>>4;if(j===0){if(ie<15)break;P+=16}else{P+=ie;let ce=wA[P];v[ce]=C(j),P++}}}function w(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G)<<g;U.pred+=V,v[0]=U.pred}function d(U,v){v[0]|=u()<<g}let E=0;function m(U,v){if(E>0){E--;return}let G=n,V=l;for(;G<=V;){let P=B(U.huffmanTableAC),$=P&15,j=P>>4;if($===0){if(j<15){E=Q(j)+(1<<j)-1;break}G+=16}else{G+=j;let ie=wA[G];v[ie]=C($)*(1<<g),G++}}}let y=0,D;function x(U,v){let G=n,V=l,P=0;for(;G<=V;){let $=wA[G],j=v[$]<0?-1:1;switch(y){case 0:{let ie=B(U.huffmanTableAC),ce=ie&15;if(P=ie>>4,ce===0)P<15?(E=Q(P)+(1<<P),y=4):(P=16,y=1);else{if(ce!==1)throw new Error("invalid ACn encoding");D=C(ce),y=P?2:3}continue}case 1:case 2:v[$]?v[$]+=(u()<<g)*j:(P--,P===0&&(y=y===2?3:0));break;case 3:v[$]?v[$]+=(u()<<g)*j:(v[$]=D<<g,y=0);break;case 4:v[$]&&(v[$]+=(u()<<g)*j);break;default:break}G++}y===4&&(E--,E===0&&(y=0))}function b(U,v,G,V,P){let $=G/o|0,j=G%o,ie=$*U.v+V,ce=j*U.h+P;v(U,U.blocks[ie][ce])}function k(U,v,G){let V=G/U.blocksPerLine|0,P=G%U.blocksPerLine;v(U,U.blocks[V][P])}let O=i.length,S,_,N,L,F,T;a?n===0?T=s===0?w:d:T=s===0?m:x:T=p;let R=0,Y,J;O===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=o*A.mcusPerColumn;let z=r||J;for(;R<J;){for(_=0;_<O;_++)i[_].pred=0;if(E=0,O===1)for(S=i[0],F=0;F<z;F++)k(S,T,R),R++;else for(F=0;F<z;F++){for(_=0;_<O;_++){S=i[_];let{h:U,v}=S;for(N=0;N<v;N++)for(L=0;L<U;L++)b(S,T,R,N,L)}if(R++,R===J)break}if(h=0,Y=e[c]<<8|e[c+1],Y<65280)throw new Error("marker was not found");if(Y>=65488&&Y<=65495)c+=2;else break}return c-I}function eg(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:r}=t,n=i<<3,l=new Int32Array(64),s=new Uint8Array(64);function g(o,a,I){let c=t.quantizationTable,f,h,u,B,Q,C,p,w,d,E=I,m;for(m=0;m<64;m++)E[m]=o[m]*c[m];for(m=0;m<8;++m){let y=8*m;if(E[1+y]===0&&E[2+y]===0&&E[3+y]===0&&E[4+y]===0&&E[5+y]===0&&E[6+y]===0&&E[7+y]===0){d=oA*E[0+y]+512>>10,E[0+y]=d,E[1+y]=d,E[2+y]=d,E[3+y]=d,E[4+y]=d,E[5+y]=d,E[6+y]=d,E[7+y]=d;continue}f=oA*E[0+y]+128>>8,h=oA*E[4+y]+128>>8,u=E[2+y],B=E[6+y],Q=Bt*(E[1+y]-E[7+y])+128>>8,w=Bt*(E[1+y]+E[7+y])+128>>8,C=E[3+y]<<4,p=E[5+y]<<4,d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+128>>8,u=u*ht-B*ut+128>>8,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0+y]=f+w,E[7+y]=f-w,E[1+y]=h+p,E[6+y]=h-p,E[2+y]=u+C,E[5+y]=u-C,E[3+y]=B+Q,E[4+y]=B-Q}for(m=0;m<8;++m){let y=m;if(E[1*8+y]===0&&E[2*8+y]===0&&E[3*8+y]===0&&E[4*8+y]===0&&E[5*8+y]===0&&E[6*8+y]===0&&E[7*8+y]===0){d=oA*I[m+0]+8192>>14,E[0*8+y]=d,E[1*8+y]=d,E[2*8+y]=d,E[3*8+y]=d,E[4*8+y]=d,E[5*8+y]=d,E[6*8+y]=d,E[7*8+y]=d;continue}f=oA*E[0*8+y]+2048>>12,h=oA*E[4*8+y]+2048>>12,u=E[2*8+y],B=E[6*8+y],Q=Bt*(E[1*8+y]-E[7*8+y])+2048>>12,w=Bt*(E[1*8+y]+E[7*8+y])+2048>>12,C=E[3*8+y],p=E[5*8+y],d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+2048>>12,u=u*ht-B*ut+2048>>12,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0*8+y]=f+w,E[7*8+y]=f-w,E[1*8+y]=h+p,E[6*8+y]=h-p,E[2*8+y]=u+C,E[5*8+y]=u-C,E[3*8+y]=B+Q,E[4*8+y]=B-Q}for(m=0;m<64;++m){let y=128+(E[m]+8>>4);y<0?a[m]=0:y>255?a[m]=255:a[m]=y}}for(let o=0;o<r;o++){let a=o<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(n));for(let I=0;I<i;I++){g(t.blocks[o][I],s,l);let c=0,f=I<<3;for(let h=0;h<8;h++){let u=A[a+h];for(let B=0;B<8;B++)u[f+B]=s[c++]}}}return A}var wA,lt,ft,ct,It,ht,ut,oA,Bt,fi,Et,dn=he(()=>{Ge();wA=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),lt=4017,ft=799,ct=3406,It=2276,ht=1567,ut=3784,oA=5793,Bt=2896;fi=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let s=t[A]<<8|t[A+1];return A+=2,s}function r(){let s=i(),g=t.subarray(A,A+s-2);return A+=g.length,g}function n(s){let g=0,o=0,a,I;for(I in s.components)s.components.hasOwnProperty(I)&&(a=s.components[I],g<a.h&&(g=a.h),o<a.v&&(o=a.v));let c=Math.ceil(s.samplesPerLine/8/g),f=Math.ceil(s.scanLines/8/o);for(I in s.components)if(s.components.hasOwnProperty(I)){a=s.components[I];let h=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/g),u=Math.ceil(Math.ceil(s.scanLines/8)*a.v/o),B=c*a.h,Q=f*a.v,C=[];for(let p=0;p<Q;p++){let w=[];for(let d=0;d<B;d++)w.push(new Int32Array(64));C.push(w)}a.blocksPerLine=h,a.blocksPerColumn=u,a.blocks=C}s.maxH=g,s.maxV=o,s.mcusPerLine=c,s.mcusPerColumn=f}let l=i();if(l!==65496)throw new Error("SOI not found");for(l=i();l!==65497;){switch(l){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:{let s=r();l===65504&&s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0&&(this.jfif={version:{major:s[5],minor:s[6]},densityUnits:s[7],xDensity:s[8]<<8|s[9],yDensity:s[10]<<8|s[11],thumbWidth:s[12],thumbHeight:s[13],thumbData:s.subarray(14,14+3*s[12]*s[13])}),l===65518&&s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101&&s[5]===0&&(this.adobe={version:s[6],flags0:s[7]<<8|s[8],flags1:s[9]<<8|s[10],transformCode:s[11]});break}case 65499:{let g=i()+A-2;for(;A<g;){let o=t[A++],a=new Int32Array(64);if(o>>4)if(o>>4===1)for(let I=0;I<64;I++){let c=wA[I];a[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=wA[I];a[c]=t[A++]}this.quantizationTables[o&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:l===65473,progressive:l===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},g=t[A++],o;for(let a=0;a<g;a++){o=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];s.componentsOrder.push(o),s.components[o]={h:I,v:c,quantizationIdx:f},A+=3}n(s),this.frames.push(s);break}case 65476:{let s=i();for(let g=2;g<s;){let o=t[A++],a=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)a[f]=t[A],I+=a[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];g+=17+I,o>>4?this.huffmanTablesAC[o&15]=En(a,c):this.huffmanTablesDC[o&15]=En(a,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[A++],g=[],o=this.frames[0];for(let h=0;h<s;h++){let u=o.components[t[A++]],B=t[A++];u.huffmanTableDC=this.huffmanTablesDC[B>>4],u.huffmanTableAC=this.huffmanTablesAC[B&15],g.push(u)}let a=t[A++],I=t[A++],c=t[A++],f=Wa(t,A,o,g,this.resetInterval,a,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${l.toString(16)}`)}l=i()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let a=0;a<this.frames.length;a++){let I=this.frames[a].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:r}=A,n=[],l=A.samplesPerLine,s=A.scanLines;for(let a=0;a<r.length;a++){let I=i[r[a]];n.push({lines:eg(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let g=new Uint8Array(l*s*n.length),o=0;for(let a=0;a<s;++a)for(let I=0;I<l;++I)for(let c=0;c<n.length;++c){let f=n[c];g[o]=f.lines[0|a*f.scaleY][0|I*f.scaleX],++o}return g}},Et=class extends Ae{constructor(t){super(),this.reader=new fi,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function cA(e){let t=e.length;for(;--t>=0;)e[t]=0}function Ii(e,t,A,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function hi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function pe(e,t,A,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=r}function tl(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=bt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Pg*2),this.dyn_dtree=new Uint16Array((2*Kg+1)*2),this.bl_tree=new Uint16Array((2*Vg+1)*2),Ue(this.dyn_ltree),Ue(this.dyn_dtree),Ue(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(zg+1),this.heap=new Uint16Array(2*Si+1),Ue(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Si+1),Ue(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ml(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function MA(e){this.options=Dt.assign({level:kl,method:Nl,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fl},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=bA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==_t)throw new Error(Xe[A]);if(t.header&&bA.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=vA.string2buf(t.dictionary):bo.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=bA.deflateSetDictionary(this.strm,i),A!==_t)throw new Error(Xe[A]);this._dict_set=!0}}function Oi(e,t){let A=new MA(t);if(A.push(e,!0),A.err)throw A.msg||Xe[A.err];return A.result}function Rl(e,t){return t=t||{},t.raw=!0,Oi(e,t)}function Tl(e,t){return t=t||{},t.gzip=!0,Oi(e,t)}function rf(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function pf(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function OA(e){this.options=Dt.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=De.inflateInit2(this.strm,t.windowBits);if(A!==GA)throw new Error(Xe[A]);if(this.header=new wf,De.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=vA.string2buf(t.dictionary):Mo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=De.inflateSetDictionary(this.strm,t.dictionary),A!==GA)))throw new Error(Xe[A])}function qi(e,t){let A=new OA(t);if(A.push(e),A.err)throw A.msg||Xe[A.err];return A.result}function bf(e,t){return t=t||{},t.raw=!0,qi(e,t)}var Ag,ro,tg,ig,rg,vi,UA,SA,gA,Gi,no,Pe,ci,ng,Ui,oo,so,ao,xi,yt,og,go,sg,be,xA,kA,FA,Li,mt,lo,fo,co,Io,NA,ae,we,ho,ag,gg,uo,lg,Bo,Eo,Qn,ui,pn,bi,wn,yn,fg,cg,Ig,mn,hg,Co,ug,Bg,Eg,Cg,dg,Qg,pg,wg,yg,mg,RA,_g,xg,bg,ee,Xe,IA,Dg,Di,Sg,Me,kg,Oe,Fg,Ng,ue,_n,te,xn,ye,Rg,Bi,Tg,vg,Ct,Gg,Ug,Lg,Mg,bt,Og,qg,Yg,Hg,Jg,Si,Kg,Vg,Pg,zg,q,Le,me,Zg,lA,Mi,ki,Fi,Ni,Ri,ze,mA,ne,hA,je,uA,Xg,Ze,bn,Ue,jg,$g,qe,ge,le,H,yA,Ti,Qo,fA,po,Ei,sA,Wg,el,_A,Al,LA,wo,yo,il,mo,rl,nl,ol,sl,al,gl,ll,fl,cl,Il,hl,ul,Bl,bA,El,Cl,dl,Dt,_o,TA,Ql,pl,wl,yl,vA,xo,bo,_l,xl,bl,Dl,_t,Sl,kl,Fl,Nl,vl,Gl,Ul,Ll,Ml,Ol,dt,ql,Yl,aA,Dn,Sn,kn,Ci,Fn,Hl,Jl,Kl,Vl,Pl,DA,zl,Do,So,Nn,Zl,Qt,$e,Xl,jl,Be,ko,Fo,$l,Rn,St,Tn,vn,Gn,Un,Ln,Mn,On,qn,Yn,xt,xe,di,Hn,Qi,Jn,Kn,Vn,Pn,pt,wt,zn,Zn,Xn,jn,$n,pi,Wn,eo,X,No,Ro,Wl,ef,Af,tf,Ao,We,To,vo,Go,Uo,nf,to,wi,yi,of,Lo,sf,af,gf,lf,ff,cf,If,hf,uf,Bf,Ef,Cf,df,Qf,De,wf,Mo,yf,mf,GA,mi,_i,_f,io,xf,Df,Sf,kf,Ff,Nf,Rf,bh,Dh,Sh,kh,Fh,Tf,Nh,Rh,kt,Yi=he(()=>{Ag=0,ro=1,tg=2,ig=3,rg=258,vi=29,UA=256,SA=UA+1+vi,gA=30,Gi=19,no=2*SA+1,Pe=15,ci=16,ng=7,Ui=256,oo=16,so=17,ao=18,xi=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),yt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),og=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),go=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),sg=512,be=new Array((SA+2)*2);cA(be);xA=new Array(gA*2);cA(xA);kA=new Array(sg);cA(kA);FA=new Array(rg-ig+1);cA(FA);Li=new Array(vi);cA(Li);mt=new Array(gA);cA(mt);Io=e=>e<256?kA[e]:kA[256+(e>>>7)],NA=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},ae=(e,t,A)=>{e.bi_valid>ci-A?(e.bi_buf|=t<<e.bi_valid&65535,NA(e,e.bi_buf),e.bi_buf=t>>ci-e.bi_valid,e.bi_valid+=A-ci):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},we=(e,t,A)=>{ae(e,A[t*2],A[t*2+1])},ho=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},ag=e=>{e.bi_valid===16?(NA(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},gg=(e,t)=>{let A=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,n=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,g=t.stat_desc.max_length,o,a,I,c,f,h,u=0;for(c=0;c<=Pe;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,o=e.heap_max+1;o<no;o++)a=e.heap[o],c=A[A[a*2+1]*2+1]+1,c>g&&(c=g,u++),A[a*2+1]=c,!(a>i)&&(e.bl_count[c]++,f=0,a>=s&&(f=l[a-s]),h=A[a*2],e.opt_len+=h*(c+f),n&&(e.static_len+=h*(r[a*2+1]+f)));if(u!==0){do{for(c=g-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[g]--,u-=2}while(u>0);for(c=g;c!==0;c--)for(a=e.bl_count[c];a!==0;)I=e.heap[--o],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),a--)}},uo=(e,t,A)=>{let i=new Array(Pe+1),r=0,n,l;for(n=1;n<=Pe;n++)r=r+A[n-1]<<1,i[n]=r;for(l=0;l<=t;l++){let s=e[l*2+1];s!==0&&(e[l*2]=ho(i[s]++,s))}},lg=()=>{let e,t,A,i,r,n=new Array(Pe+1);for(A=0,i=0;i<vi-1;i++)for(Li[i]=A,e=0;e<1<<xi[i];e++)FA[A++]=i;for(FA[A-1]=i,r=0,i=0;i<16;i++)for(mt[i]=r,e=0;e<1<<yt[i];e++)kA[r++]=i;for(r>>=7;i<gA;i++)for(mt[i]=r<<7,e=0;e<1<<yt[i]-7;e++)kA[256+r++]=i;for(t=0;t<=Pe;t++)n[t]=0;for(e=0;e<=143;)be[e*2+1]=8,e++,n[8]++;for(;e<=255;)be[e*2+1]=9,e++,n[9]++;for(;e<=279;)be[e*2+1]=7,e++,n[7]++;for(;e<=287;)be[e*2+1]=8,e++,n[8]++;for(uo(be,SA+1,n),e=0;e<gA;e++)xA[e*2+1]=5,xA[e*2]=ho(e,5);lo=new Ii(be,xi,UA+1,SA,Pe),fo=new Ii(xA,yt,0,gA,Pe),co=new Ii(new Array(0),og,0,Gi,ng)},Bo=e=>{let t;for(t=0;t<SA;t++)e.dyn_ltree[t*2]=0;for(t=0;t<gA;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Gi;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ui*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Eo=e=>{e.bi_valid>8?NA(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Qn=(e,t,A,i)=>{let r=t*2,n=A*2;return e[r]<e[n]||e[r]===e[n]&&i[t]<=i[A]},ui=(e,t,A)=>{let i=e.heap[A],r=A<<1;for(;r<=e.heap_len&&(r<e.heap_len&&Qn(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!Qn(t,i,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=i},pn=(e,t,A)=>{let i,r,n=0,l,s;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+n++]&255,i+=(e.pending_buf[e.sym_buf+n++]&255)<<8,r=e.pending_buf[e.sym_buf+n++],i===0?we(e,r,t):(l=FA[r],we(e,l+UA+1,t),s=xi[l],s!==0&&(r-=Li[l],ae(e,r,s)),i--,l=Io(i),we(e,l,A),s=yt[l],s!==0&&(i-=mt[l],ae(e,i,s)));while(n<e.sym_next);we(e,Ui,t)},bi=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,l,s,g=-1,o;for(e.heap_len=0,e.heap_max=no,l=0;l<n;l++)A[l*2]!==0?(e.heap[++e.heap_len]=g=l,e.depth[l]=0):A[l*2+1]=0;for(;e.heap_len<2;)o=e.heap[++e.heap_len]=g<2?++g:0,A[o*2]=1,e.depth[o]=0,e.opt_len--,r&&(e.static_len-=i[o*2+1]);for(t.max_code=g,l=e.heap_len>>1;l>=1;l--)ui(e,A,l);o=n;do l=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ui(e,A,1),s=e.heap[1],e.heap[--e.heap_max]=l,e.heap[--e.heap_max]=s,A[o*2]=A[l*2]+A[s*2],e.depth[o]=(e.depth[l]>=e.depth[s]?e.depth[l]:e.depth[s])+1,A[l*2+1]=A[s*2+1]=o,e.heap[1]=o++,ui(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],gg(e,t),uo(A,g,e.bl_count)},wn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)&&(s<o?e.bl_tree[n*2]+=s:n!==0?(n!==r&&e.bl_tree[n*2]++,e.bl_tree[oo*2]++):s<=10?e.bl_tree[so*2]++:e.bl_tree[ao*2]++,s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4))},yn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),i=0;i<=A;i++)if(n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)){if(s<o)do we(e,n,e.bl_tree);while(--s!==0);else n!==0?(n!==r&&(we(e,n,e.bl_tree),s--),we(e,oo,e.bl_tree),ae(e,s-3,2)):s<=10?(we(e,so,e.bl_tree),ae(e,s-3,3)):(we(e,ao,e.bl_tree),ae(e,s-11,7));s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4)}},fg=e=>{let t;for(wn(e,e.dyn_ltree,e.l_desc.max_code),wn(e,e.dyn_dtree,e.d_desc.max_code),bi(e,e.bl_desc),t=Gi-1;t>=3&&e.bl_tree[go[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},cg=(e,t,A,i)=>{let r;for(ae(e,t-257,5),ae(e,A-1,5),ae(e,i-4,4),r=0;r<i;r++)ae(e,e.bl_tree[go[r]*2+1],3);yn(e,e.dyn_ltree,t-1),yn(e,e.dyn_dtree,A-1)},Ig=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<UA;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},mn=!1,hg=e=>{mn||(lg(),mn=!0),e.l_desc=new hi(e.dyn_ltree,lo),e.d_desc=new hi(e.dyn_dtree,fo),e.bl_desc=new hi(e.bl_tree,co),e.bi_buf=0,e.bi_valid=0,Bo(e)},Co=(e,t,A,i)=>{ae(e,(Ag<<1)+(i?1:0),3),Eo(e),NA(e,A),NA(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},ug=e=>{ae(e,ro<<1,3),we(e,Ui,be),ag(e)},Bg=(e,t,A,i)=>{let r,n,l=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=Ig(e)),bi(e,e.l_desc),bi(e,e.d_desc),l=fg(e),r=e.opt_len+3+7>>>3,n=e.static_len+3+7>>>3,n<=r&&(r=n)):r=n=A+5,A+4<=r&&t!==-1?Co(e,t,A,i):e.strategy===4||n===r?(ae(e,(ro<<1)+(i?1:0),3),pn(e,be,xA)):(ae(e,(tg<<1)+(i?1:0),3),cg(e,e.l_desc.max_code+1,e.d_desc.max_code+1,l+1),pn(e,e.dyn_ltree,e.dyn_dtree)),Bo(e),i&&Eo(e)},Eg=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(FA[A]+UA+1)*2]++,e.dyn_dtree[Io(t)*2]++),e.sym_next===e.sym_end),Cg=hg,dg=Co,Qg=Bg,pg=Eg,wg=ug,yg={_tr_init:Cg,_tr_stored_block:dg,_tr_flush_block:Qg,_tr_tally:pg,_tr_align:wg},mg=(e,t,A,i)=>{let r=e&65535|0,n=e>>>16&65535|0,l=0;for(;A!==0;){l=A>2e3?2e3:A,A-=l;do r=r+t[i++]|0,n=n+r|0;while(--l);r%=65521,n%=65521}return r|n<<16|0},RA=mg,_g=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},xg=new Uint32Array(_g()),bg=(e,t,A,i)=>{let r=xg,n=i+A;e^=-1;for(let l=i;l<n;l++)e=e>>>8^r[(e^t[l])&255];return e^-1},ee=bg,Xe={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},IA={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:Dg,_tr_stored_block:Di,_tr_flush_block:Sg,_tr_tally:Me,_tr_align:kg}=yg,{Z_NO_FLUSH:Oe,Z_PARTIAL_FLUSH:Fg,Z_FULL_FLUSH:Ng,Z_FINISH:ue,Z_BLOCK:_n,Z_OK:te,Z_STREAM_END:xn,Z_STREAM_ERROR:ye,Z_DATA_ERROR:Rg,Z_BUF_ERROR:Bi,Z_DEFAULT_COMPRESSION:Tg,Z_FILTERED:vg,Z_HUFFMAN_ONLY:Ct,Z_RLE:Gg,Z_FIXED:Ug,Z_DEFAULT_STRATEGY:Lg,Z_UNKNOWN:Mg,Z_DEFLATED:bt}=IA,Og=9,qg=15,Yg=8,Hg=29,Jg=256,Si=Jg+1+Hg,Kg=30,Vg=19,Pg=2*Si+1,zg=15,q=3,Le=258,me=Le+q+1,Zg=32,lA=42,Mi=57,ki=69,Fi=73,Ni=91,Ri=103,ze=113,mA=666,ne=1,hA=2,je=3,uA=4,Xg=3,Ze=(e,t)=>(e.msg=Xe[t],t),bn=e=>e*2-(e>4?9:0),Ue=e=>{let t=e.length;for(;--t>=0;)e[t]=0},jg=e=>{let t,A,i,r=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=r?A-r:0;while(--t);t=r,i=t;do A=e.prev[--i],e.prev[i]=A>=r?A-r:0;while(--t)},$g=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,qe=$g,ge=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},le=(e,t)=>{Sg(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ge(e.strm)},H=(e,t)=>{e.pending_buf[e.pending++]=t},yA=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Ti=(e,t,A,i)=>{let r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),e.state.wrap===1?e.adler=RA(e.adler,t,r,A):e.state.wrap===2&&(e.adler=ee(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},Qo=(e,t)=>{let A=e.max_chain_length,i=e.strstart,r,n,l=e.prev_length,s=e.nice_match,g=e.strstart>e.w_size-me?e.strstart-(e.w_size-me):0,o=e.window,a=e.w_mask,I=e.prev,c=e.strstart+Le,f=o[i+l-1],h=o[i+l];e.prev_length>=e.good_match&&(A>>=2),s>e.lookahead&&(s=e.lookahead);do if(r=t,!(o[r+l]!==h||o[r+l-1]!==f||o[r]!==o[i]||o[++r]!==o[i+1])){i+=2,r++;do;while(o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&i<c);if(n=Le-(c-i),i=c-Le,n>l){if(e.match_start=t,l=n,n>=s)break;f=o[i+l-1],h=o[i+l]}}while((t=I[t&a])>g&&--A!==0);return l<=e.lookahead?l:e.lookahead},fA=e=>{let t=e.w_size,A,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-me)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),jg(e),i+=t),e.strm.avail_in===0)break;if(A=Ti(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=q)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=qe(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=qe(e,e.ins_h,e.window[r+q-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<q)););}while(e.lookahead<me&&e.strm.avail_in!==0)},po=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,r,n,l=0,s=e.strm.avail_in;do{if(i=65535,n=e.bi_valid+42>>3,e.strm.avail_out<n||(n=e.strm.avail_out-n,r=e.strstart-e.block_start,i>r+e.strm.avail_in&&(i=r+e.strm.avail_in),i>n&&(i=n),i<A&&(i===0&&t!==ue||t===Oe||i!==r+e.strm.avail_in)))break;l=t===ue&&i===r+e.strm.avail_in?1:0,Di(e,0,0,l),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,ge(e.strm),r&&(r>i&&(r=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,i-=r),i&&(Ti(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(l===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),l?uA:t!==Oe&&t!==ue&&e.strm.avail_in===0&&e.strstart===e.block_start?hA:(n=e.window_size-e.strstart,e.strm.avail_in>n&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,n+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),n>e.strm.avail_in&&(n=e.strm.avail_in),n&&(Ti(e.strm,e.window,e.strstart,n),e.strstart+=n,e.insert+=n>e.w_size-e.insert?e.w_size-e.insert:n),e.high_water<e.strstart&&(e.high_water=e.strstart),n=e.bi_valid+42>>3,n=e.pending_buf_size-n>65535?65535:e.pending_buf_size-n,A=n>e.w_size?e.w_size:n,r=e.strstart-e.block_start,(r>=A||(r||t===ue)&&t!==Oe&&e.strm.avail_in===0&&r<=n)&&(i=r>n?n:r,l=t===ue&&e.strm.avail_in===0&&i===r?1:0,Di(e,e.block_start,i,l),e.block_start+=i,ge(e.strm)),l?je:ne)},Ei=(e,t)=>{let A,i;for(;;){if(e.lookahead<me){if(fA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-me&&(e.match_length=Qo(e,A)),e.match_length>=q)if(i=Me(e,e.strstart-e.match_start,e.match_length-q),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=q){e.match_length--;do e.strstart++,e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=qe(e,e.ins_h,e.window[e.strstart+1]);else i=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},sA=(e,t)=>{let A,i,r;for(;;){if(e.lookahead<me){if(fA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=q-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-me&&(e.match_length=Qo(e,A),e.match_length<=5&&(e.strategy===vg||e.match_length===q&&e.strstart-e.match_start>4096)&&(e.match_length=q-1)),e.prev_length>=q&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-q,i=Me(e,e.strstart-1-e.prev_match,e.prev_length-q),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=q-1,e.strstart++,i&&(le(e,!1),e.strm.avail_out===0))return ne}else if(e.match_available){if(i=Me(e,0,e.window[e.strstart-1]),i&&le(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ne}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Me(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},Wg=(e,t)=>{let A,i,r,n,l=e.window;for(;;){if(e.lookahead<=Le){if(fA(e),e.lookahead<=Le&&t===Oe)return ne;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=q&&e.strstart>0&&(r=e.strstart-1,i=l[r],i===l[++r]&&i===l[++r]&&i===l[++r])){n=e.strstart+Le;do;while(i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&r<n);e.match_length=Le-(n-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=q?(A=Me(e,1,e.match_length-q),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},el=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(fA(e),e.lookahead===0)){if(t===Oe)return ne;break}if(e.match_length=0,A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA};_A=[new pe(0,0,0,0,po),new pe(4,4,8,4,Ei),new pe(4,5,16,8,Ei),new pe(4,6,32,32,Ei),new pe(4,4,16,16,sA),new pe(8,16,32,32,sA),new pe(8,16,128,128,sA),new pe(8,32,128,256,sA),new pe(32,128,258,1024,sA),new pe(32,258,258,4096,sA)],Al=e=>{e.window_size=2*e.w_size,Ue(e.head),e.max_lazy_match=_A[e.level].max_lazy,e.good_match=_A[e.level].good_length,e.nice_match=_A[e.level].nice_length,e.max_chain_length=_A[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=q-1,e.match_available=0,e.ins_h=0};LA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==lA&&t.status!==Mi&&t.status!==ki&&t.status!==Fi&&t.status!==Ni&&t.status!==Ri&&t.status!==ze&&t.status!==mA?1:0},wo=e=>{if(LA(e))return Ze(e,ye);e.total_in=e.total_out=0,e.data_type=Mg;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Mi:t.wrap?lA:ze,e.adler=t.wrap===2?0:1,t.last_flush=-2,Dg(t),te},yo=e=>{let t=wo(e);return t===te&&Al(e.state),t},il=(e,t)=>LA(e)||e.state.wrap!==2?ye:(e.state.gzhead=t,te),mo=(e,t,A,i,r,n)=>{if(!e)return ye;let l=1;if(t===Tg&&(t=6),i<0?(l=0,i=-i):i>15&&(l=2,i-=16),r<1||r>Og||A!==bt||i<8||i>15||t<0||t>9||n<0||n>Ug||i===8&&l!==1)return Ze(e,ye);i===8&&(i=9);let s=new tl;return e.state=s,s.strm=e,s.status=lA,s.wrap=l,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+q-1)/q),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=n,s.method=A,yo(e)},rl=(e,t)=>mo(e,t,bt,qg,Yg,Lg),nl=(e,t)=>{if(LA(e)||t>_n||t<0)return e?Ze(e,ye):ye;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===mA&&t!==ue)return Ze(e,e.avail_out===0?Bi:ye);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(ge(e),e.avail_out===0)return A.last_flush=-1,te}else if(e.avail_in===0&&bn(t)<=bn(i)&&t!==ue)return Ze(e,Bi);if(A.status===mA&&e.avail_in!==0)return Ze(e,Bi);if(A.status===lA&&A.wrap===0&&(A.status=ze),A.status===lA){let r=bt+(A.w_bits-8<<4)<<8,n=-1;if(A.strategy>=Ct||A.level<2?n=0:A.level<6?n=1:A.level===6?n=2:n=3,r|=n<<6,A.strstart!==0&&(r|=Zg),r+=31-r%31,yA(A,r),A.strstart!==0&&(yA(A,e.adler>>>16),yA(A,e.adler&65535)),e.adler=1,A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===Mi){if(e.adler=0,H(A,31),H(A,139),H(A,8),A.gzhead)H(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),H(A,A.gzhead.time&255),H(A,A.gzhead.time>>8&255),H(A,A.gzhead.time>>16&255),H(A,A.gzhead.time>>24&255),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(H(A,A.gzhead.extra.length&255),H(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=ee(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=ki;else if(H(A,0),H(A,0),H(A,0),H(A,0),H(A,0),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,Xg),A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===ki){if(A.gzhead.extra){let r=A.pending,n=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+n>A.pending_buf_size;){let s=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+s),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex+=s,ge(e),A.pending!==0)return A.last_flush=-1,te;r=0,n-=s}let l=new Uint8Array(A.gzhead.extra);A.pending_buf.set(l.subarray(A.gzindex,A.gzindex+n),A.pending),A.pending+=n,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Fi}if(A.status===Fi){if(A.gzhead.name){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.name.length?n=A.gzhead.name.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Ni}if(A.status===Ni){if(A.gzhead.comment){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.comment.length?n=A.gzhead.comment.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r))}A.status=Ri}if(A.status===Ri){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(ge(e),A.pending!==0))return A.last_flush=-1,te;H(A,e.adler&255),H(A,e.adler>>8&255),e.adler=0}if(A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(e.avail_in!==0||A.lookahead!==0||t!==Oe&&A.status!==mA){let r=A.level===0?po(A,t):A.strategy===Ct?el(A,t):A.strategy===Gg?Wg(A,t):_A[A.level].func(A,t);if((r===je||r===uA)&&(A.status=mA),r===ne||r===je)return e.avail_out===0&&(A.last_flush=-1),te;if(r===hA&&(t===Fg?kg(A):t!==_n&&(Di(A,0,0,!1),t===Ng&&(Ue(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),ge(e),e.avail_out===0))return A.last_flush=-1,te}return t!==ue?te:A.wrap<=0?xn:(A.wrap===2?(H(A,e.adler&255),H(A,e.adler>>8&255),H(A,e.adler>>16&255),H(A,e.adler>>24&255),H(A,e.total_in&255),H(A,e.total_in>>8&255),H(A,e.total_in>>16&255),H(A,e.total_in>>24&255)):(yA(A,e.adler>>>16),yA(A,e.adler&65535)),ge(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?te:xn)},ol=e=>{if(LA(e))return ye;let t=e.state.status;return e.state=null,t===ze?Ze(e,Rg):te},sl=(e,t)=>{let A=t.length;if(LA(e))return ye;let i=e.state,r=i.wrap;if(r===2||r===1&&i.status!==lA||i.lookahead)return ye;if(r===1&&(e.adler=RA(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){r===0&&(Ue(i.head),i.strstart=0,i.block_start=0,i.insert=0);let g=new Uint8Array(i.w_size);g.set(t.subarray(A-i.w_size,A),0),t=g,A=i.w_size}let n=e.avail_in,l=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,fA(i);i.lookahead>=q;){let g=i.strstart,o=i.lookahead-(q-1);do i.ins_h=qe(i,i.ins_h,i.window[g+q-1]),i.prev[g&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=g,g++;while(--o);i.strstart=g,i.lookahead=q-1,fA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=q-1,i.match_available=0,e.next_in=l,e.input=s,e.avail_in=n,i.wrap=r,te},al=rl,gl=mo,ll=yo,fl=wo,cl=il,Il=nl,hl=ol,ul=sl,Bl="pako deflate (from Nodeca project)",bA={deflateInit:al,deflateInit2:gl,deflateReset:ll,deflateResetKeep:fl,deflateSetHeader:cl,deflate:Il,deflateEnd:hl,deflateSetDictionary:ul,deflateInfo:Bl},El=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Cl=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)El(A,i)&&(e[i]=A[i])}}return e},dl=e=>{let t=0;for(let i=0,r=e.length;i<r;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,r=0,n=e.length;i<n;i++){let l=e[i];A.set(l,r),r+=l.length}return A},Dt={assign:Cl,flattenChunks:dl},_o=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{_o=!1}TA=new Uint8Array(256);for(let e=0;e<256;e++)TA[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;TA[254]=TA[254]=1;Ql=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,r,n,l=e.length,s=0;for(r=0;r<l;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),s+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(s),n=0,r=0;n<s;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),A<128?t[n++]=A:A<2048?(t[n++]=192|A>>>6,t[n++]=128|A&63):A<65536?(t[n++]=224|A>>>12,t[n++]=128|A>>>6&63,t[n++]=128|A&63):(t[n++]=240|A>>>18,t[n++]=128|A>>>12&63,t[n++]=128|A>>>6&63,t[n++]=128|A&63);return t},pl=(e,t)=>{if(t<65534&&e.subarray&&_o)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},wl=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,r,n=new Array(A*2);for(r=0,i=0;i<A;){let l=e[i++];if(l<128){n[r++]=l;continue}let s=TA[l];if(s>4){n[r++]=65533,i+=s-1;continue}for(l&=s===2?31:s===3?15:7;s>1&&i<A;)l=l<<6|e[i++]&63,s--;if(s>1){n[r++]=65533;continue}l<65536?n[r++]=l:(l-=65536,n[r++]=55296|l>>10&1023,n[r++]=56320|l&1023)}return pl(n,r)},yl=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+TA[e[A]]>t?A:t},vA={string2buf:Ql,buf2string:wl,utf8border:yl};xo=ml,bo=Object.prototype.toString,{Z_NO_FLUSH:_l,Z_SYNC_FLUSH:xl,Z_FULL_FLUSH:bl,Z_FINISH:Dl,Z_OK:_t,Z_STREAM_END:Sl,Z_DEFAULT_COMPRESSION:kl,Z_DEFAULT_STRATEGY:Fl,Z_DEFLATED:Nl}=IA;MA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r,n;if(this.ended)return!1;for(t===~~t?n=t:n=t===!0?Dl:_l,typeof e=="string"?A.input=vA.string2buf(e):bo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(n===xl||n===bl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(r=bA.deflate(A,n),r===Sl)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),r=bA.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===_t;if(A.avail_out===0){this.onData(A.output);continue}if(n>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};MA.prototype.onData=function(e){this.chunks.push(e)};MA.prototype.onEnd=function(e){e===_t&&(this.result=Dt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};vl=MA,Gl=Oi,Ul=Rl,Ll=Tl,Ml=IA,Ol={Deflate:vl,deflate:Gl,deflateRaw:Ul,gzip:Ll,constants:Ml},dt=16209,ql=16191,Yl=function(t,A){let i,r,n,l,s,g,o,a,I,c,f,h,u,B,Q,C,p,w,d,E,m,y,D,x,b=t.state;i=t.next_in,D=t.input,r=i+(t.avail_in-5),n=t.next_out,x=t.output,l=n-(A-t.avail_out),s=n+(t.avail_out-257),g=b.dmax,o=b.wsize,a=b.whave,I=b.wnext,c=b.window,f=b.hold,h=b.bits,u=b.lencode,B=b.distcode,Q=(1<<b.lenbits)-1,C=(1<<b.distbits)-1;e:do{h<15&&(f+=D[i++]<<h,h+=8,f+=D[i++]<<h,h+=8),p=u[f&Q];A:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w===0)x[n++]=p&65535;else if(w&16){d=p&65535,w&=15,w&&(h<w&&(f+=D[i++]<<h,h+=8),d+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=D[i++]<<h,h+=8,f+=D[i++]<<h,h+=8),p=B[f&C];t:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w&16){if(E=p&65535,w&=15,h<w&&(f+=D[i++]<<h,h+=8,h<w&&(f+=D[i++]<<h,h+=8)),E+=f&(1<<w)-1,E>g){t.msg="invalid distance too far back",b.mode=dt;break e}if(f>>>=w,h-=w,w=n-l,E>w){if(w=E-w,w>a&&b.sane){t.msg="invalid distance too far back",b.mode=dt;break e}if(m=0,y=c,I===0){if(m+=o-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}else if(I<w){if(m+=o+I-w,w-=I,w<d){d-=w;do x[n++]=c[m++];while(--w);if(m=0,I<d){w=I,d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}}else if(m+=I-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}for(;d>2;)x[n++]=y[m++],x[n++]=y[m++],x[n++]=y[m++],d-=3;d&&(x[n++]=y[m++],d>1&&(x[n++]=y[m++]))}else{m=n-E;do x[n++]=x[m++],x[n++]=x[m++],x[n++]=x[m++],d-=3;while(d>2);d&&(x[n++]=x[m++],d>1&&(x[n++]=x[m++]))}}else if(w&64){t.msg="invalid distance code",b.mode=dt;break e}else{p=B[(p&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){b.mode=ql;break e}else{t.msg="invalid literal/length code",b.mode=dt;break e}else{p=u[(p&65535)+(f&(1<<w)-1)];continue A}break}}while(i<r&&n<s);d=h>>3,i-=d,h-=d<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=n,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=n<s?257+(s-n):257-(n-s),b.hold=f,b.bits=h},aA=15,Dn=852,Sn=592,kn=0,Ci=1,Fn=2,Hl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Jl=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Kl=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Vl=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Pl=(e,t,A,i,r,n,l,s)=>{let g=s.bits,o=0,a=0,I=0,c=0,f=0,h=0,u=0,B=0,Q=0,C=0,p,w,d,E,m,y=null,D,x=new Uint16Array(aA+1),b=new Uint16Array(aA+1),k=null,O,S,_;for(o=0;o<=aA;o++)x[o]=0;for(a=0;a<i;a++)x[t[A+a]]++;for(f=g,c=aA;c>=1&&x[c]===0;c--);if(f>c&&(f=c),c===0)return r[n++]=1<<24|64<<16|0,r[n++]=1<<24|64<<16|0,s.bits=1,0;for(I=1;I<c&&x[I]===0;I++);for(f<I&&(f=I),B=1,o=1;o<=aA;o++)if(B<<=1,B-=x[o],B<0)return-1;if(B>0&&(e===kn||c!==1))return-1;for(b[1]=0,o=1;o<aA;o++)b[o+1]=b[o]+x[o];for(a=0;a<i;a++)t[A+a]!==0&&(l[b[t[A+a]]++]=a);if(e===kn?(y=k=l,D=20):e===Ci?(y=Hl,k=Jl,D=257):(y=Kl,k=Vl,D=0),C=0,a=0,o=I,m=n,h=f,u=0,d=-1,Q=1<<f,E=Q-1,e===Ci&&Q>Dn||e===Fn&&Q>Sn)return 1;for(;;){O=o-u,l[a]+1<D?(S=0,_=l[a]):l[a]>=D?(S=k[l[a]-D],_=y[l[a]-D]):(S=32+64,_=0),p=1<<o-u,w=1<<h,I=w;do w-=p,r[m+(C>>u)+w]=O<<24|S<<16|_|0;while(w!==0);for(p=1<<o-1;C&p;)p>>=1;if(p!==0?(C&=p-1,C+=p):C=0,a++,--x[o]===0){if(o===c)break;o=t[A+l[a]]}if(o>f&&(C&E)!==d){for(u===0&&(u=f),m+=I,h=o-u,B=1<<h;h+u<c&&(B-=x[h+u],!(B<=0));)h++,B<<=1;if(Q+=1<<h,e===Ci&&Q>Dn||e===Fn&&Q>Sn)return 1;d=C&E,r[d]=f<<24|h<<16|m-n|0}}return C!==0&&(r[m+C]=o-u<<24|64<<16|0),s.bits=f,0},DA=Pl,zl=0,Do=1,So=2,{Z_FINISH:Nn,Z_BLOCK:Zl,Z_TREES:Qt,Z_OK:$e,Z_STREAM_END:Xl,Z_NEED_DICT:jl,Z_STREAM_ERROR:Be,Z_DATA_ERROR:ko,Z_MEM_ERROR:Fo,Z_BUF_ERROR:$l,Z_DEFLATED:Rn}=IA,St=16180,Tn=16181,vn=16182,Gn=16183,Un=16184,Ln=16185,Mn=16186,On=16187,qn=16188,Yn=16189,xt=16190,xe=16191,di=16192,Hn=16193,Qi=16194,Jn=16195,Kn=16196,Vn=16197,Pn=16198,pt=16199,wt=16200,zn=16201,Zn=16202,Xn=16203,jn=16204,$n=16205,pi=16206,Wn=16207,eo=16208,X=16209,No=16210,Ro=16211,Wl=852,ef=592,Af=15,tf=Af,Ao=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);We=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<St||t.mode>Ro?1:0},To=e=>{if(We(e))return Be;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=St,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Wl),t.distcode=t.distdyn=new Int32Array(ef),t.sane=1,t.back=-1,$e},vo=e=>{if(We(e))return Be;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,To(e)},Go=(e,t)=>{let A;if(We(e))return Be;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Be:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,vo(e))},Uo=(e,t)=>{if(!e)return Be;let A=new rf;e.state=A,A.strm=e,A.window=null,A.mode=St;let i=Go(e,t);return i!==$e&&(e.state=null),i},nf=e=>Uo(e,tf),to=!0,of=e=>{if(to){wi=new Int32Array(512),yi=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(DA(Do,e.lens,0,288,wi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;DA(So,e.lens,0,32,yi,0,e.work,{bits:5}),to=!1}e.lencode=wi,e.lenbits=9,e.distcode=yi,e.distbits=5},Lo=(e,t,A,i)=>{let r,n=e.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),i>=n.wsize?(n.window.set(t.subarray(A-n.wsize,A),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(t.subarray(A-i,A-i+r),n.wnext),i-=r,i?(n.window.set(t.subarray(A-i,A),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=r))),0},sf=(e,t)=>{let A,i,r,n,l,s,g,o,a,I,c,f,h,u,B=0,Q,C,p,w,d,E,m,y,D=new Uint8Array(4),x,b,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(We(e)||!e.output||!e.input&&e.avail_in!==0)return Be;A=e.state,A.mode===xe&&(A.mode=di),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,I=s,c=g,y=$e;e:for(;;)switch(A.mode){case St:if(A.wrap===0){A.mode=di;break}for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&2&&o===35615){A.wbits===0&&(A.wbits=15),A.check=0,D[0]=o&255,D[1]=o>>>8&255,A.check=ee(A.check,D,2,0),o=0,a=0,A.mode=Tn;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){e.msg="incorrect header check",A.mode=X;break}if((o&15)!==Rn){e.msg="unknown compression method",A.mode=X;break}if(o>>>=4,a-=4,m=(o&15)+8,A.wbits===0&&(A.wbits=m),m>15||m>A.wbits){e.msg="invalid window size",A.mode=X;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=o&512?Yn:xe,o=0,a=0;break;case Tn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.flags=o,(A.flags&255)!==Rn){e.msg="unknown compression method",A.mode=X;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=X;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&A.wrap&4&&(D[0]=o&255,D[1]=o>>>8&255,A.check=ee(A.check,D,2,0)),o=0,a=0,A.mode=vn;case vn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.time=o),A.flags&512&&A.wrap&4&&(D[0]=o&255,D[1]=o>>>8&255,D[2]=o>>>16&255,D[3]=o>>>24&255,A.check=ee(A.check,D,4,0)),o=0,a=0,A.mode=Gn;case Gn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&A.wrap&4&&(D[0]=o&255,D[1]=o>>>8&255,A.check=ee(A.check,D,2,0)),o=0,a=0,A.mode=Un;case Un:if(A.flags&1024){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&A.wrap&4&&(D[0]=o&255,D[1]=o>>>8&255,A.check=ee(A.check,D,2,0)),o=0,a=0}else A.head&&(A.head.extra=null);A.mode=Ln;case Ln:if(A.flags&1024&&(f=A.length,f>s&&(f=s),f&&(A.head&&(m=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(n,n+f),m)),A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,A.length-=f),A.length))break e;A.length=0,A.mode=Mn;case Mn:if(A.flags&2048){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.name+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=On;case On:if(A.flags&4096){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.comment+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.comment=null);A.mode=qn;case qn:if(A.flags&512){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.check&65535)){e.msg="header crc mismatch",A.mode=X;break}o=0,a=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=xe;break;case Yn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}e.adler=A.check=Ao(o),o=0,a=0,A.mode=xt;case xt:if(A.havedict===0)return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,jl;e.adler=A.check=1,A.mode=xe;case xe:if(t===Zl||t===Qt)break e;case di:if(A.last){o>>>=a&7,a-=a&7,A.mode=pi;break}for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}switch(A.last=o&1,o>>>=1,a-=1,o&3){case 0:A.mode=Hn;break;case 1:if(of(A),A.mode=pt,t===Qt){o>>>=2,a-=2;break e}break;case 2:A.mode=Kn;break;case 3:e.msg="invalid block type",A.mode=X}o>>>=2,a-=2;break;case Hn:for(o>>>=a&7,a-=a&7;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if((o&65535)!==(o>>>16^65535)){e.msg="invalid stored block lengths",A.mode=X;break}if(A.length=o&65535,o=0,a=0,A.mode=Qi,t===Qt)break e;case Qi:A.mode=Jn;case Jn:if(f=A.length,f){if(f>s&&(f=s),f>g&&(f=g),f===0)break e;r.set(i.subarray(n,n+f),l),s-=f,n+=f,g-=f,l+=f,A.length-=f;break}A.mode=xe;break;case Kn:for(;a<14;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.nlen=(o&31)+257,o>>>=5,a-=5,A.ndist=(o&31)+1,o>>>=5,a-=5,A.ncode=(o&15)+4,o>>>=4,a-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=X;break}A.have=0,A.mode=Vn;case Vn:for(;A.have<A.ncode;){for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.lens[k[A.have++]]=o&7,o>>>=3,a-=3}for(;A.have<19;)A.lens[k[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,x={bits:A.lenbits},y=DA(zl,A.lens,0,19,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid code lengths set",A.mode=X;break}A.have=0,A.mode=Pn;case Pn:for(;A.have<A.nlen+A.ndist;){for(;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(p<16)o>>>=Q,a-=Q,A.lens[A.have++]=p;else{if(p===16){for(b=Q+2;a<b;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(o>>>=Q,a-=Q,A.have===0){e.msg="invalid bit length repeat",A.mode=X;break}m=A.lens[A.have-1],f=3+(o&3),o>>>=2,a-=2}else if(p===17){for(b=Q+3;a<b;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=3+(o&7),o>>>=3,a-=3}else{for(b=Q+7;a<b;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=11+(o&127),o>>>=7,a-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=X;break}for(;f--;)A.lens[A.have++]=m}}if(A.mode===X)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=X;break}if(A.lenbits=9,x={bits:A.lenbits},y=DA(Do,A.lens,0,A.nlen,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid literal/lengths set",A.mode=X;break}if(A.distbits=6,A.distcode=A.distdyn,x={bits:A.distbits},y=DA(So,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,x),A.distbits=x.bits,y){e.msg="invalid distances set",A.mode=X;break}if(A.mode=pt,t===Qt)break e;case pt:A.mode=wt;case wt:if(s>=6&&g>=258){e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,Yl(e,c),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,A.mode===xe&&(A.back=-1);break}for(A.back=0;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(C&&!(C&240)){for(w=Q,d=C,E=p;B=A.lencode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,A.length=p,C===0){A.mode=$n;break}if(C&32){A.back=-1,A.mode=xe;break}if(C&64){e.msg="invalid literal/length code",A.mode=X;break}A.extra=C&15,A.mode=zn;case zn:if(A.extra){for(b=A.extra;a<b;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Zn;case Zn:for(;B=A.distcode[o&(1<<A.distbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(!(C&240)){for(w=Q,d=C,E=p;B=A.distcode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,C&64){e.msg="invalid distance code",A.mode=X;break}A.offset=p,A.extra=C&15,A.mode=Xn;case Xn:if(A.extra){for(b=A.extra;a<b;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=X;break}A.mode=jn;case jn:if(g===0)break e;if(f=c-g,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=X;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),u=A.window}else u=r,h=l-A.offset,f=A.length;f>g&&(f=g),g-=f,A.length-=f;do r[l++]=u[h++];while(--f);A.length===0&&(A.mode=wt);break;case $n:if(g===0)break e;r[l++]=A.length,g--,A.mode=wt;break;case pi:if(A.wrap){for(;a<32;){if(s===0)break e;s--,o|=i[n++]<<a,a+=8}if(c-=g,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,l-c):RA(A.check,r,c,l-c)),c=g,A.wrap&4&&(A.flags?o:Ao(o))!==A.check){e.msg="incorrect data check",A.mode=X;break}o=0,a=0}A.mode=Wn;case Wn:if(A.wrap&&A.flags){for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=X;break}o=0,a=0}A.mode=eo;case eo:y=Xl;break e;case X:y=ko;break e;case No:return Fo;case Ro:default:return Be}return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,(A.wsize||c!==e.avail_out&&A.mode<X&&(A.mode<pi||t!==Nn))&&Lo(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,e.next_out-c):RA(A.check,r,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===xe?128:0)+(A.mode===pt||A.mode===Qi?256:0),(I===0&&c===0||t===Nn)&&y===$e&&(y=$l),y},af=e=>{if(We(e))return Be;let t=e.state;return t.window&&(t.window=null),e.state=null,$e},gf=(e,t)=>{if(We(e))return Be;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,$e):Be},lf=(e,t)=>{let A=t.length,i,r,n;return We(e)||(i=e.state,i.wrap!==0&&i.mode!==xt)?Be:i.mode===xt&&(r=1,r=RA(r,t,A,0),r!==i.check)?ko:(n=Lo(e,t,A,A),n?(i.mode=No,Fo):(i.havedict=1,$e))},ff=vo,cf=Go,If=To,hf=nf,uf=Uo,Bf=sf,Ef=af,Cf=gf,df=lf,Qf="pako inflate (from Nodeca project)",De={inflateReset:ff,inflateReset2:cf,inflateResetKeep:If,inflateInit:hf,inflateInit2:uf,inflate:Bf,inflateEnd:Ef,inflateGetHeader:Cf,inflateSetDictionary:df,inflateInfo:Qf};wf=pf,Mo=Object.prototype.toString,{Z_NO_FLUSH:yf,Z_FINISH:mf,Z_OK:GA,Z_STREAM_END:mi,Z_NEED_DICT:_i,Z_STREAM_ERROR:_f,Z_DATA_ERROR:io,Z_MEM_ERROR:xf}=IA;OA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r=this.options.dictionary,n,l,s;if(this.ended)return!1;for(t===~~t?l=t:l=t===!0?mf:yf,Mo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),n=De.inflate(A,l),n===_i&&r&&(n=De.inflateSetDictionary(A,r),n===GA?n=De.inflate(A,l):n===io&&(n=_i));A.avail_in>0&&n===mi&&A.state.wrap>0&&e[A.next_in]!==0;)De.inflateReset(A),n=De.inflate(A,l);switch(n){case _f:case io:case _i:case xf:return this.onEnd(n),this.ended=!0,!1}if(s=A.avail_out,A.next_out&&(A.avail_out===0||n===mi))if(this.options.to==="string"){let g=vA.utf8border(A.output,A.next_out),o=A.next_out-g,a=vA.buf2string(A.output,g);A.next_out=o,A.avail_out=i-o,o&&A.output.set(A.output.subarray(g,g+o),0),this.onData(a)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(n===GA&&s===0)){if(n===mi)return n=De.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};OA.prototype.onData=function(e){this.chunks.push(e)};OA.prototype.onEnd=function(e){e===GA&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Dt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};Df=OA,Sf=qi,kf=bf,Ff=qi,Nf=IA,Rf={Inflate:Df,inflate:Sf,inflateRaw:kf,ungzip:Ff,constants:Nf},{Deflate:bh,deflate:Dh,deflateRaw:Sh,gzip:kh}=Ol,{Inflate:Fh,inflate:Tf,inflateRaw:Nh,ungzip:Rh}=Rf,kt=Tf});var Oo={};Te(Oo,{default:()=>Ft});var Ft,qo=he(()=>{Yi();Ge();Ft=class extends Ae{decodeBlock(t){return kt(new Uint8Array(t)).buffer}}});var Yo={};Te(Yo,{default:()=>Nt});var Nt,Ho=he(()=>{Ge();Nt=class extends Ae{decodeBlock(t){let A=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let n=A.getInt8(r);if(n<0){let l=A.getUint8(r+1);n=-n;for(let s=0;s<=n;++s)i.push(l);r+=1}else{for(let l=0;l<=n;++l)i.push(A.getUint8(r+l+1));r+=n+1}}return new Uint8Array(i).buffer}}});var Jo=Z((Lh,Rt)=>{(function(){var e=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=g(a,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:r.defaultNoDataValue,u=n(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),B={width:f.width,height:f.height,pixelData:u.resultPixels,minValue:u.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return u.resultMask&&(B.maskData=u.resultMask),I.returnEncodedMask&&f.mask&&(B.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(B.fileInfo=l(f),I.computeUsedBitDepths&&(B.fileInfo.bitDepths=s(f))),B};var n=function(a,I,c,f,h){var u=0,B=a.pixels.numBlocksX,Q=a.pixels.numBlocksY,C=Math.floor(a.width/B),p=Math.floor(a.height/Q),w=2*a.maxZError,d=Number.MAX_VALUE,E;c=c||(a.mask?a.mask.bitset:null);var m,y;m=new I(a.width*a.height),h&&c&&(y=new Uint8Array(a.width*a.height));for(var D=new Float32Array(C*p),x,b,k=0;k<=Q;k++){var O=k!==Q?p:a.height%Q;if(O!==0)for(var S=0;S<=B;S++){var _=S!==B?C:a.width%B;if(_!==0){var N=k*a.width*p+S*C,L=a.width-_,F=a.pixels.blocks[u],T,R,Y;F.encoding<2?(F.encoding===0?T=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,D,a.pixels.maxValue),T=D),R=0):F.encoding===2?Y=0:Y=F.offset;var J;if(c)for(b=0;b<O;b++){for(N&7&&(J=c[N>>3],J<<=N&7),x=0;x<_;x++)N&7||(J=c[N>>3]),J&128?(y&&(y[N]=1),E=F.encoding<2?T[R++]:Y,d=d>E?E:d,m[N++]=E):(y&&(y[N]=0),m[N++]=f),J<<=1;N+=L}else if(F.encoding<2)for(b=0;b<O;b++){for(x=0;x<_;x++)E=T[R++],d=d>E?E:d,m[N++]=E;N+=L}else for(d=d>Y?Y:d,b=0;b<O;b++){for(x=0;x<_;x++)m[N++]=Y;N+=L}if(F.encoding===1&&R!==F.numValidPixels)throw"Block and Mask do not match";u++}}}return{resultPixels:m,resultMask:y,minValue:d}},l=function(a){return{fileIdentifierString:a.fileIdentifierString,fileVersion:a.fileVersion,imageType:a.imageType,height:a.height,width:a.width,maxZError:a.maxZError,eofOffset:a.eofOffset,mask:a.mask?{numBlocksX:a.mask.numBlocksX,numBlocksY:a.mask.numBlocksY,numBytes:a.mask.numBytes,maxValue:a.mask.maxValue}:null,pixels:{numBlocksX:a.pixels.numBlocksX,numBlocksY:a.pixels.numBlocksY,numBytes:a.pixels.numBytes,maxValue:a.pixels.maxValue,noDataValue:a.noDataValue}}},s=function(a){for(var I=a.pixels.numBlocksX*a.pixels.numBlocksY,c={},f=0;f<I;f++){var h=a.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},g=function(a,I,c){var f={},h=new Uint8Array(a,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var u=new DataView(a,I,24);if(f.fileVersion=u.getInt32(0,!0),f.imageType=u.getInt32(4,!0),f.height=u.getUint32(8,!0),f.width=u.getUint32(12,!0),f.maxZError=u.getFloat64(16,!0),I+=24,!c)if(u=new DataView(a,I,16),f.mask={},f.mask.numBlocksY=u.getUint32(0,!0),f.mask.numBlocksX=u.getUint32(4,!0),f.mask.numBytes=u.getUint32(8,!0),f.mask.maxValue=u.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var B=new Uint8Array(Math.ceil(f.width*f.height/8));u=new DataView(a,I,f.mask.numBytes);var Q=u.getInt16(0,!0),C=2,p=0;do{if(Q>0)for(;Q--;)B[p++]=u.getUint8(C++);else{var w=u.getUint8(C++);for(Q=-Q;Q--;)B[p++]=w}Q=u.getInt16(C,!0),C+=2}while(C<f.mask.numBytes);if(Q!==-32768||p<B.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=B,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));u=new DataView(a,I,16),f.pixels={},f.pixels.numBlocksY=u.getUint32(0,!0),f.pixels.numBlocksX=u.getUint32(4,!0),f.pixels.numBytes=u.getUint32(8,!0),f.pixels.maxValue=u.getFloat32(12,!0),I+=16;var d=f.pixels.numBlocksX,E=f.pixels.numBlocksY,m=d+(f.width%d>0?1:0),y=E+(f.height%E>0?1:0);f.pixels.blocks=new Array(m*y);for(var D=0,x=0;x<y;x++)for(var b=0;b<m;b++){var k=0,O=a.byteLength-I;u=new DataView(a,I,Math.min(10,O));var S={};f.pixels.blocks[D++]=S;var _=u.getUint8(0);if(k++,S.encoding=_&63,S.encoding>3)throw"Invalid block encoding ("+S.encoding+")";if(S.encoding===2){I++;continue}if(_!==0&&_!==2){if(_>>=6,S.offsetType=_,_===2)S.offset=u.getInt8(1),k++;else if(_===1)S.offset=u.getInt16(1,!0),k+=2;else if(_===0)S.offset=u.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(S.encoding===1)if(_=u.getUint8(k),k++,S.bitsPerPixel=_&63,_>>=6,S.numValidPixelsType=_,_===2)S.numValidPixels=u.getUint8(k),k++;else if(_===1)S.numValidPixels=u.getUint16(k,!0),k+=2;else if(_===0)S.numValidPixels=u.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(I+=k,S.encoding!==3){var N,L;if(S.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";N=new ArrayBuffer(F*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,F*4));var T=new Float32Array(N);S.rawData=T,I+=F*4}else if(S.encoding===1){var R=Math.ceil(S.numValidPixels*S.bitsPerPixel/8),Y=Math.ceil(R/4);N=new ArrayBuffer(Y*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,R)),S.stuffedData=new Uint32Array(N),I+=R}}}return f.eofOffset=I,f},o=function(a,I,c,f,h,u,B){var Q=(1<<I)-1,C=0,p,w=0,d,E,m=Math.ceil((B-f)/h),y=a.length*4-Math.ceil(I*c/8);for(a[a.length-1]<<=8*y,p=0;p<c;p++){if(w===0&&(E=a[C++],w=32),w>=I)d=E>>>w-I&Q,w-=I;else{var D=I-w;d=(E&Q)<<D&Q,E=a[C++],w=32-D,d+=E>>>w}u[p]=d<m?f+d*h:B}return u};return r}(),t=function(){"use strict";var r={unstuff:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w,d,E,m,y=g.length*4-Math.ceil(a*I/8);if(g[g.length-1]<<=8*y,c)for(C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=c[w];else for(m=Math.ceil((u-f)/h),C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=w<m?f+w*h:u},unstuffLUT:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w,d=[],E=g.length*4-Math.ceil(o*a/8);g[g.length-1]<<=8*E;var m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(w=g[u++],C=32),C>=o?(p=w>>>C-o&h,C-=o):(Q=o-C,p=(w&h)<<Q&h,w=g[u++],C=32-Q,p+=w>>>C),d[B]=p<m?I+p*c:f;return d.unshift(I),d},unstuff2:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w=0,d,E,m;if(c)for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=c[d];else{var y=Math.ceil((u-f)/h);for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=d<y?f+d*h:u}return o},unstuffLUT2:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w=0,d,E=[],m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(d=g[u++],C=32,w=0),C>=o?(p=d>>>w&h,C-=o,w+=o):(Q=o-C,p=d>>>w&h,d=g[u++],C=32-Q,p|=(d&(1<<Q)-1)<<o-Q,w=Q),E[B]=p<m?I+p*c:f;return E.unshift(I),E},originalUnstuff:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B,Q,C,p=g.length*4-Math.ceil(a*I/8);for(g[g.length-1]<<=8*p,h=0;h<I;h++)u===0&&(Q=g[f++],u=32),u>=a?(B=Q>>>u-a&c,u-=a):(C=a-u,B=(Q&c)<<C&c,Q=g[f++],u=32-C,B+=Q>>>u),o[h]=B;return o},originalUnstuff2:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B=0,Q,C,p;for(h=0;h<I;h++)u===0&&(C=g[f++],u=32,B=0),u>=a?(Q=C>>>B&c,u-=a,B+=a):(p=a-u,Q=C>>>B&c,C=g[f++],u=32-p,Q|=(C&(1<<p)-1)<<a-p,B=p),o[h]=Q;return o}},n={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(g){for(var o=65535,a=65535,I=g.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do o+=g[f++]<<8,a+=o+=g[f++];while(--h);o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16)}return I&1&&(a+=o+=g[f]<<8),o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16),(a<<16|o)>>>0},readHeaderInfo:function(g,o){var a=o.ptr,I=new Uint8Array(g,a,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;a+=6;var f=new DataView(g,a,8),h=f.getInt32(0,!0);c.fileVersion=h,a+=4,h>=3&&(c.checksum=f.getUint32(4,!0),a+=4),f=new DataView(g,a,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),a+=8,h>=4?(c.numDims=f.getUint32(8,!0),a+=4):c.numDims=1,f=new DataView(g,a,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),a+=40,o.headerInfo=c,o.ptr=a;var u,B;if(h>=3&&(B=h>=4?52:48,u=this.computeChecksumFletcher32(new Uint8Array(g,a-B,c.blobSize-14)),u!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(g,o){var a=o.headerInfo,I=this.getDataTypeArray(a.imageType),c=a.numDims*this.getDataTypeSize(a.imageType),f=this.readSubArray(g,o.ptr,I,c),h=this.readSubArray(g,o.ptr+c,I,c);o.ptr+=2*c;var u,B=!0;for(u=0;u<a.numDims;u++)if(f[u]!==h[u]){B=!1;break}return a.minValues=f,a.maxValues=h,B},readSubArray:function(g,o,a,I){var c;if(a===Uint8Array)c=new Uint8Array(g,o,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(g,o,I)),c=new a(f)}return c},readMask:function(g,o){var a=o.ptr,I=o.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(g,a,4),u={};if(u.numBytes=h.getUint32(0,!0),a+=4,(f===0||c===f)&&u.numBytes!==0)throw"invalid mask";var B,Q;if(f===0)B=new Uint8Array(Math.ceil(c/8)),u.bitset=B,Q=new Uint8Array(c),o.pixels.resultMask=Q,a+=u.numBytes;else if(u.numBytes>0){B=new Uint8Array(Math.ceil(c/8)),h=new DataView(g,a,u.numBytes);var C=h.getInt16(0,!0),p=2,w=0,d=0;do{if(C>0)for(;C--;)B[w++]=h.getUint8(p++);else for(d=h.getUint8(p++),C=-C;C--;)B[w++]=d;C=h.getInt16(p,!0),p+=2}while(p<u.numBytes);if(C!==-32768||w<B.length)throw"Unexpected end of mask RLE encoding";Q=new Uint8Array(c);var E=0,m=0;for(m=0;m<c;m++)m&7?(E=B[m>>3],E<<=m&7):E=B[m>>3],E&128&&(Q[m]=1);o.pixels.resultMask=Q,u.bitset=B,a+=u.numBytes}return o.ptr=a,o.mask=u,!0},readDataOneSweep:function(g,o,a,I){var c=o.ptr,f=o.headerInfo,h=f.numDims,u=f.width*f.height,B=f.imageType,Q=f.numValidPixel*n.getDataTypeSize(B)*h,C,p=o.pixels.resultMask;if(a===Uint8Array)C=new Uint8Array(g,c,Q);else{var w=new ArrayBuffer(Q),d=new Uint8Array(w);d.set(new Uint8Array(g,c,Q)),C=new a(w)}if(C.length===u*h)I?o.pixels.resultPixels=n.swapDimensionOrder(C,u,h,a,!0):o.pixels.resultPixels=C;else{o.pixels.resultPixels=new a(u*h);var E=0,m=0,y=0,D=0;if(h>1){if(I){for(m=0;m<u;m++)if(p[m])for(D=m,y=0;y<h;y++,D+=u)o.pixels.resultPixels[D]=C[E++]}else for(m=0;m<u;m++)if(p[m])for(D=m*h,y=0;y<h;y++)o.pixels.resultPixels[D+y]=C[E++]}else for(m=0;m<u;m++)p[m]&&(o.pixels.resultPixels[m]=C[E++])}return c+=Q,o.ptr=c,!0},readHuffmanTree:function(g,o){var a=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(g,o.ptr,16);o.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),u=I.getInt32(12,!0);if(h>=u)return!1;var B=new Uint32Array(u-h);n.decodeBits(g,o,B);var Q=[],C,p,w,d;for(C=h;C<u;C++)p=C-(C<f?0:f),Q[p]={first:B[C-h],second:null};var E=g.byteLength-o.ptr,m=Math.ceil(E/4),y=new ArrayBuffer(m*4),D=new Uint8Array(y);D.set(new Uint8Array(g,o.ptr,E));var x=new Uint32Array(y),b=0,k,O=0;for(k=x[0],C=h;C<u;C++)p=C-(C<f?0:f),d=Q[p].first,d>0&&(Q[p].second=k<<b>>>32-d,32-b>=d?(b+=d,b===32&&(b=0,O++,k=x[O])):(b+=d-32,O++,k=x[O],Q[p].second|=k>>>32-b));var S=0,_=0,N=new l;for(C=0;C<Q.length;C++)Q[C]!==void 0&&(S=Math.max(S,Q[C].first));S>=a?_=a:_=S;var L=[],F,T,R,Y,J,z;for(C=h;C<u;C++)if(p=C-(C<f?0:f),d=Q[p].first,d>0)if(F=[d,p],d<=_)for(T=Q[p].second<<_-d,R=1<<_-d,w=0;w<R;w++)L[T|w]=F;else for(T=Q[p].second,z=N,Y=d-1;Y>=0;Y--)J=T>>>Y&1,J?(z.right||(z.right=new l),z=z.right):(z.left||(z.left=new l),z=z.left),Y===0&&!z.val&&(z.val=F[1]);return{decodeLut:L,numBitsLUTQick:_,numBitsLUT:S,tree:N,stuffedData:x,srcPtr:O,bitPos:b}},readHuffman:function(g,o,a,I){var c=o.headerInfo,f=c.numDims,h=o.headerInfo.height,u=o.headerInfo.width,B=u*h,Q=this.readHuffmanTree(g,o),C=Q.decodeLut,p=Q.tree,w=Q.stuffedData,d=Q.srcPtr,E=Q.bitPos,m=Q.numBitsLUTQick,y=Q.numBitsLUT,D=o.headerInfo.imageType===0?128:0,x,b,k,O=o.pixels.resultMask,S,_,N,L,F,T,R,Y=0;E>0&&(d++,E=0);var J=w[d],z=o.encodeMode===1,U=new a(B*f),v=U,G;if(f<2||z){for(G=0;G<f;G++)if(f>1&&(v=new a(U.buffer,B*G,B),Y=0),o.headerInfo.numValidPixel===u*h)for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++){if(b=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])b=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){b=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=b-D,z?(F>0?k+=Y:L>0?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++)if(O[T]){if(b=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])b=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){b=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=b-D,z?(F>0&&O[T-1]?k+=Y:L>0&&O[T-u]?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++)if(T=L*u+F,!O||O[T])for(G=0;G<f;G++,T+=B){if(b=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])b=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){b=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=b-D,v[T]=k}o.ptr=o.ptr+(d+1)*4+(E>0?4:0),o.pixels.resultPixels=U,f>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(U,B,f,a))},decodeBits:function(g,o,a,I,c){{var f=o.headerInfo,h=f.fileVersion,u=0,B=g.byteLength-o.ptr>=5?5:g.byteLength-o.ptr,Q=new DataView(g,o.ptr,B),C=Q.getUint8(0);u++;var p=C>>6,w=p===0?4:3-p,d=(C&32)>0,E=C&31,m=0;if(w===1)m=Q.getUint8(u),u++;else if(w===2)m=Q.getUint16(u,!0),u+=2;else if(w===4)m=Q.getUint32(u,!0),u+=4;else throw"Invalid valid pixel count type";var y=2*f.maxZError,D,x,b,k,O,S,_,N,L,F,T=f.numDims>1?f.maxValues[c]:f.zMax;if(d){for(o.counter.lut++,N=Q.getUint8(u),L=E,u++,k=Math.ceil((N-1)*E/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),b=new Uint8Array(x),o.ptr+=u,b.set(new Uint8Array(g,o.ptr,k)),_=new Uint32Array(x),o.ptr+=k,F=0;N-1>>>F;)F++;k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),b=new Uint8Array(x),b.set(new Uint8Array(g,o.ptr,k)),D=new Uint32Array(x),o.ptr+=k,h>=3?S=r.unstuffLUT2(_,E,N-1,I,y,T):S=r.unstuffLUT(_,E,N-1,I,y,T),h>=3?r.unstuff2(D,a,F,m,S):r.unstuff(D,a,F,m,S)}else o.counter.bitstuffer++,F=E,o.ptr+=u,F>0&&(k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),b=new Uint8Array(x),b.set(new Uint8Array(g,o.ptr,k)),D=new Uint32Array(x),o.ptr+=k,h>=3?I==null?r.originalUnstuff2(D,a,F,m):r.unstuff2(D,a,F,m,!1,I,y,T):I==null?r.originalUnstuff(D,a,F,m):r.unstuff(D,a,F,m,!1,I,y,T))}},readTiles:function(g,o,a,I){var c=o.headerInfo,f=c.width,h=c.height,u=f*h,B=c.microBlockSize,Q=c.imageType,C=n.getDataTypeSize(Q),p=Math.ceil(f/B),w=Math.ceil(h/B);o.pixels.numBlocksY=w,o.pixels.numBlocksX=p,o.pixels.ptr=0;var d=0,E=0,m=0,y=0,D=0,x=0,b=0,k=0,O=0,S=0,_=0,N=0,L=0,F=0,T=0,R=0,Y,J,z,U,v,G,V=new a(B*B),P=h%B||B,$=f%B||B,j,ie,ce=c.numDims,Ve,Ee=o.pixels.resultMask,Ie=o.pixels.resultPixels,da=c.fileVersion,ur=da>=5?14:15,Ne,Vt=c.zMax,Re;for(m=0;m<w;m++)for(D=m!==w-1?B:P,y=0;y<p;y++)for(x=y!==p-1?B:$,_=m*f*B+y*B,N=f-x,Ve=0;Ve<ce;Ve++){if(ce>1?(Re=Ie,_=m*f*B+y*B,Ie=new a(o.pixels.resultPixels.buffer,u*Ve*C,u),Vt=c.maxValues[Ve]):Re=null,b=g.byteLength-o.ptr,Y=new DataView(g,o.ptr,Math.min(10,b)),J={},R=0,k=Y.getUint8(0),R++,Ne=c.fileVersion>=5?k&4:0,O=k>>6&255,S=k>>2&ur,S!==(y*B>>3&ur)||Ne&&Ve===0)throw"integrity issue";if(G=k&3,G>3)throw o.ptr+=R,"Invalid block encoding ("+G+")";if(G===2){if(Ne)if(Ee)for(d=0;d<D;d++)for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Re[_]),_++;else for(d=0;d<D;d++)for(E=0;E<x;E++)Ie[_]=Re[_],_++;o.counter.constant++,o.ptr+=R;continue}else if(G===0){if(Ne)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=R,L=D*x*C,F=g.byteLength-o.ptr,L=L<F?L:F,z=new ArrayBuffer(L%C===0?L:L+C-L%C),U=new Uint8Array(z),U.set(new Uint8Array(g,o.ptr,L)),v=new a(z),T=0,Ee)for(d=0;d<D;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=v[T++]),_++;_+=N}else for(d=0;d<D;d++){for(E=0;E<x;E++)Ie[_++]=v[T++];_+=N}o.ptr+=T*C}else if(j=n.getDataTypeUsed(Ne&&Q<6?4:Q,O),ie=n.getOnePixel(J,R,j,Y),R+=n.getDataTypeSize(j),G===3)if(o.ptr+=R,o.counter.constantoffset++,Ee)for(d=0;d<D;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie),_++;_+=N}else for(d=0;d<D;d++){for(E=0;E<x;E++)Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie,_++;_+=N}else if(o.ptr+=R,n.decodeBits(g,o,V,ie,Ve),R=0,Ne)if(Ee)for(d=0;d<D;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]+Re[_]),_++;_+=N}else for(d=0;d<D;d++){for(E=0;E<x;E++)Ie[_]=V[R++]+Re[_],_++;_+=N}else if(Ee)for(d=0;d<D;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]),_++;_+=N}else for(d=0;d<D;d++){for(E=0;E<x;E++)Ie[_++]=V[R++];_+=N}}ce>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(o.pixels.resultPixels,u,ce,a))},formatFileInfo:function(g){return{fileIdentifierString:g.headerInfo.fileIdentifierString,fileVersion:g.headerInfo.fileVersion,imageType:g.headerInfo.imageType,height:g.headerInfo.height,width:g.headerInfo.width,numValidPixel:g.headerInfo.numValidPixel,microBlockSize:g.headerInfo.microBlockSize,blobSize:g.headerInfo.blobSize,maxZError:g.headerInfo.maxZError,pixelType:n.getPixelType(g.headerInfo.imageType),eofOffset:g.eofOffset,mask:g.mask?{numBytes:g.mask.numBytes}:null,pixels:{numBlocksX:g.pixels.numBlocksX,numBlocksY:g.pixels.numBlocksY,maxValue:g.headerInfo.zMax,minValue:g.headerInfo.zMin,noDataValue:g.noDataValue}}},constructConstantSurface:function(g,o){var a=g.headerInfo.zMax,I=g.headerInfo.zMin,c=g.headerInfo.maxValues,f=g.headerInfo.numDims,h=g.headerInfo.height*g.headerInfo.width,u=0,B=0,Q=0,C=g.pixels.resultMask,p=g.pixels.resultPixels;if(C)if(f>1){if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)C[B]&&(p[Q+B]=a);else for(B=0;B<h;B++)if(C[B])for(Q=B*f,u=0;u<f;u++)p[Q+f]=c[u]}else for(B=0;B<h;B++)C[B]&&(p[B]=a);else if(f>1&&I!==a)if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)p[Q+B]=a;else for(B=0;B<h;B++)for(Q=B*f,u=0;u<f;u++)p[Q+u]=c[u];else for(B=0;B<h*f;B++)p[B]=a},getDataTypeArray:function(g){var o;switch(g){case 0:o=Int8Array;break;case 1:o=Uint8Array;break;case 2:o=Int16Array;break;case 3:o=Uint16Array;break;case 4:o=Int32Array;break;case 5:o=Uint32Array;break;case 6:o=Float32Array;break;case 7:o=Float64Array;break;default:o=Float32Array}return o},getPixelType:function(g){var o;switch(g){case 0:o="S8";break;case 1:o="U8";break;case 2:o="S16";break;case 3:o="U16";break;case 4:o="S32";break;case 5:o="U32";break;case 6:o="F32";break;case 7:o="F64";break;default:o="F32"}return o},isValidPixelValue:function(g,o){if(o==null)return!1;var a;switch(g){case 0:a=o>=-128&&o<=127;break;case 1:a=o>=0&&o<=255;break;case 2:a=o>=-32768&&o<=32767;break;case 3:a=o>=0&&o<=65536;break;case 4:a=o>=-2147483648&&o<=2147483647;break;case 5:a=o>=0&&o<=4294967296;break;case 6:a=o>=-34027999387901484e22&&o<=34027999387901484e22;break;case 7:a=o>=-17976931348623157e292&&o<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(g){var o=0;switch(g){case 0:case 1:o=1;break;case 2:case 3:o=2;break;case 4:case 5:case 6:o=4;break;case 7:o=8;break;default:o=g}return o},getDataTypeUsed:function(g,o){var a=g;switch(g){case 2:case 4:a=g-o;break;case 3:case 5:a=g-2*o;break;case 6:o===0?a=g:o===1?a=2:a=1;break;case 7:o===0?a=g:a=g-2*o+1;break;default:a=g;break}return a},getOnePixel:function(g,o,a,I){var c=0;switch(a){case 0:c=I.getInt8(o);break;case 1:c=I.getUint8(o);break;case 2:c=I.getInt16(o,!0);break;case 3:c=I.getUint16(o,!0);break;case 4:c=I.getInt32(o,!0);break;case 5:c=I.getUInt32(o,!0);break;case 6:c=I.getFloat32(o,!0);break;case 7:c=I.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(g,o,a,I,c){var f=0,h=0,u=0,B=0,Q=g;if(a>1)if(Q=new I(o*a),c)for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[B]=g[h++];else for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[h++]=g[B];return Q}},l=function(g,o,a){this.val=g,this.left=o,this.right=a},s={decode:function(g,o){o=o||{};var a=o.noDataValue,I=0,c={};if(c.ptr=o.inputOffset||0,c.pixels={},!!n.readHeaderInfo(g,c)){var f=c.headerInfo,h=f.fileVersion,u=n.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;n.readMask(g,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=o.maskData);var B=f.width*f.height;c.pixels.resultPixels=new u(B*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var Q=!o.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)n.constructConstantSurface(c,Q);else if(h>=4&&n.checkMinMaxRanges(g,c))n.constructConstantSurface(c,Q);else{var C=new DataView(g,c.ptr,2),p=C.getUint8(0);if(c.ptr++,p)n.readDataOneSweep(g,c,u,Q);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=C.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?n.readHuffman(g,c,u,Q):n.readTiles(g,c,u,Q)}else n.readTiles(g,c,u,Q)}c.eofOffset=c.ptr;var d;o.inputOffset?(d=c.headerInfo.blobSize+o.inputOffset-c.ptr,Math.abs(d)>=1&&(c.eofOffset=o.inputOffset+c.headerInfo.blobSize)):(d=c.headerInfo.blobSize-c.ptr,Math.abs(d)>=1&&(c.eofOffset=c.headerInfo.blobSize));var E={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&n.isValidPixelValue(f.imageType,a)){var m=c.pixels.resultMask;for(I=0;I<B;I++)m[I]||(E.pixelData[I]=a);E.noDataValue=a}return c.noDataValue=a,o.returnFileInfo&&(E.fileInfo=n.formatFileInfo(c)),E}},getBandCount:function(g){var o=0,a=0,I={};for(I.ptr=0,I.pixels={};a<g.byteLength-58;)n.readHeaderInfo(g,I),a+=I.headerInfo.blobSize,o++,I.ptr=a;return o}};return s}(),A=function(){var r=new ArrayBuffer(4),n=new Uint8Array(r),l=new Uint32Array(r);return l[0]=1,n[0]===1}(),i={decode:function(r,n){if(!A)throw"Big endian system is not supported.";n=n||{};var l=n.inputOffset||0,s=new Uint8Array(r,l,10),g=String.fromCharCode.apply(null,s),o,a;if(g.trim()==="CntZImage")o=e,a=1;else if(g.substring(0,5)==="Lerc2")o=t,a=2;else throw"Unexpected file identifier string: "+g;for(var I=0,c=r.byteLength-10,f,h=[],u,B,Q={width:0,height:0,pixels:[],pixelType:n.pixelType,mask:null,statistics:[]},C=0;l<c;){var p=o.decode(r,{inputOffset:l,encodedMaskData:f,maskData:B,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:n.returnPixelInterleavedDims,pixelType:n.pixelType||null,noDataValue:n.noDataValue||null});l=p.fileInfo.eofOffset,B=p.maskData,I===0&&(f=p.encodedMaskData,Q.width=p.width,Q.height=p.height,Q.dimCount=p.dimCount||1,Q.pixelType=p.pixelType||p.fileInfo.pixelType,Q.mask=B),a>1&&(B&&h.push(B),p.fileInfo.mask&&p.fileInfo.mask.numBytes>0&&C++),I++,Q.pixels.push(p.pixelData),Q.statistics.push({minValue:p.minValue,maxValue:p.maxValue,noDataValue:p.noDataValue,dimStats:p.dimStats})}var w,d,E;if(a>1&&C>1){for(E=Q.width*Q.height,Q.bandMasks=h,B=new Uint8Array(E),B.set(h[0]),w=1;w<h.length;w++)for(u=h[w],d=0;d<E;d++)B[d]=B[d]&u[d];Q.maskData=B}return Q}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Rt<"u"&&Rt.exports?Rt.exports=i:this.Lerc=i})()});var qA,Se,Ji,Hi,Tt,Ko,Vo=he(()=>{Hi={env:{emscripten_notify_memory_growth:function(e){Ji=new Uint8Array(Se.exports.memory.buffer)}}},Tt=class{init(){return qA||(typeof fetch<"u"?qA=fetch("data:application/wasm;base64,"+Ko).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Hi)).then(this._init):qA=WebAssembly.instantiate(Buffer.from(Ko,"base64"),Hi).then(this._init),qA)}_init(t){Se=t.instance,Hi.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!Se)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=Se.exports.malloc(i);Ji.set(t,r),A=A||Number(Se.exports.ZSTD_findDecompressedSize(r,i));let n=Se.exports.malloc(A),l=Se.exports.ZSTD_decompress(n,A,r,i),s=Ji.slice(n,n+l);return Se.exports.free(r),Se.exports.free(n),s}},Ko="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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"});var Zo={};Te(Zo,{default:()=>vt,zstd:()=>zo});var Po,zo,vt,Xo=he(()=>{Yi();Po=ve(Jo(),1);Vo();Ge();st();zo=new Tt,vt=class extends Ae{constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[tn.AddCompression]}decodeBlock(t){switch(this.addCompression){case ot.None:break;case ot.Deflate:t=kt(new Uint8Array(t)).buffer;break;case ot.Zstandard:t=zo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Po.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var jo={};Te(jo,{default:()=>Gt});var Gt,$o=he(()=>{Ge();Gt=class extends Ae{constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,A){let i=new Blob([A]),r=await createImageBitmap(i),n;typeof document<"u"?(n=document.createElement("canvas"),n.width=r.width,n.height=r.height):n=new OffscreenCanvas(r.width,r.height);let l=n.getContext("2d");return l.drawImage(r,0,0),l.getImageData(0,0,r.width,r.height).data.buffer}}});var cs=Z(()=>{});var Is=Z(()=>{});var hs=Z(()=>{});var Kt=Z(Fe=>{"use strict";var vs=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Zf=vs+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Gs="["+vs+"]["+Zf+"]*",Xf=new RegExp("^"+Gs+"$"),jf=function(e,t){let A=[],i=t.exec(e);for(;i;){let r=[];r.startIndex=t.lastIndex-i[0].length;let n=i.length;for(let l=0;l<n;l++)r.push(i[l]);A.push(r),i=t.exec(e)}return A},$f=function(e){let t=Xf.exec(e);return!(t===null||typeof t>"u")};Fe.isExist=function(e){return typeof e<"u"};Fe.isEmptyObject=function(e){return Object.keys(e).length===0};Fe.merge=function(e,t,A){if(t){let i=Object.keys(t),r=i.length;for(let n=0;n<r;n++)A==="strict"?e[i[n]]=[t[i[n]]]:e[i[n]]=t[i[n]]}};Fe.getValue=function(e){return Fe.isExist(e)?e:""};Fe.isName=$f;Fe.getAllMatches=jf;Fe.nameRegexp=Gs});var sr=Z(qs=>{"use strict";var or=Kt(),Wf={allowBooleanAttributes:!1,unpairedTags:[]};qs.validate=function(e,t){t=Object.assign({},Wf,t);let A=[],i=!1,r=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let n=0;n<e.length;n++)if(e[n]==="<"&&e[n+1]==="?"){if(n+=2,n=Ls(e,n),n.err)return n}else if(e[n]==="<"){let l=n;if(n++,e[n]==="!"){n=Ms(e,n);continue}else{let s=!1;e[n]==="/"&&(s=!0,n++);let g="";for(;n<e.length&&e[n]!==">"&&e[n]!==" "&&e[n]!==" "&&e[n]!==`
9
+ >]`),u+=Zr(B,"</"+t+">"),u>=h)break;f=g}}else g=ri(s,"[ /]"+t+">",0);let a=l+t.length+g+1;if(i&&console.log("[xml-utils] end:",a),a===-1)return;let I=e.slice(l,a),c;return o?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:l,end:a}}ni.exports=Xr;ni.exports.default=Xr});var Wr=Z((Ch,oi)=>{var Ha=jr();function $r(e,t,A){let i=[],r=A&&A.debug||!1,n=A&&typeof A.nested=="boolean"?A.nested:!0,l=A&&A.startIndex||0,s;for(;s=Ha(e,t,{debug:r,startIndex:l});)n?l=s.start+1+t.length:l=s.end,i.push(s);return r&&console.log("findTagsByName found",i.length,"tags"),i}oi.exports=$r;oi.exports.default=$r});var nA,Qe,en,si,M,se,An,tn,ot,pA,Ja,st=he(()=>{nA={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},Qe={};for(let e in nA)nA.hasOwnProperty(e)&&(Qe[nA[e]]=parseInt(e,10));en=[Qe.BitsPerSample,Qe.ExtraSamples,Qe.SampleFormat,Qe.StripByteCounts,Qe.StripOffsets,Qe.StripRowCounts,Qe.TileByteCounts,Qe.TileOffsets,Qe.SubIFDs],si={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},M={};for(let e in si)si.hasOwnProperty(e)&&(M[si[e]]=parseInt(e,10));se={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},An={Unspecified:0,Assocalpha:1,Unassalpha:2},tn={Version:0,AddCompression:1},ot={None:0,Deflate:1,Zstandard:2},pA={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Ja={};for(let e in pA)pA.hasOwnProperty(e)&&(Ja[pA[e]]=parseInt(e,10))});function za(e,t){let A=e.length-t,i=0;do{for(let r=t;r>0;r--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function Za(e,t,A){let i=0,r=e.length,n=r/A;for(;r>t;){for(let s=t;s>0;--s)e[i+t]+=e[i],++i;r-=t}let l=e.slice();for(let s=0;s<n;++s)for(let g=0;g<A;++g)e[A*s+g]=l[(A-g-1)*n+s]}function ln(e,t,A,i,r,n){if(!t||t===1)return e;for(let g=0;g<r.length;++g){if(r[g]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[g]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let l=r[0]/8,s=n===2?1:r.length;for(let g=0;g<i&&!(g*s*A*l>=e.byteLength);++g){let o;if(t===2){switch(r[0]){case 8:o=new Uint8Array(e,g*s*A*l,s*A*l);break;case 16:o=new Uint16Array(e,g*s*A*l,s*A*l/2);break;case 32:o=new Uint32Array(e,g*s*A*l,s*A*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}za(o,s,l)}else t===3&&(o=new Uint8Array(e,g*s*A*l,s*A*l),Za(o,s,l))}return e}var fn=he(()=>{});var Ae,Ge=he(()=>{fn();Ae=class{async decode(t,A){let i=await this.decodeBlock(A),r=t.Predictor||1;if(r!==1){let n=!t.StripOffsets,l=n?t.TileWidth:t.ImageWidth,s=n?t.TileLength:t.RowsPerStrip||t.ImageLength;return ln(i,r,l,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var cn={};Te(cn,{default:()=>at});var at,In=he(()=>{Ge();at=class extends Ae{decodeBlock(t){return t}}});var un={};Te(un,{default:()=>gt});function ja(e,t,A){let i=t%8,r=Math.floor(t/8),n=8-i,l=t+A-(r+1)*8,s=8*(r+2)-(t+A),g=(r+2)*8-t;if(s=Math.max(0,s),r>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),li;let o=e[r]&2**(8-i)-1;o<<=A-n;let a=o;if(r+1<e.length){let I=e[r+1]>>>s;I<<=Math.max(0,A-g),a+=I}if(l>8&&r+2<e.length){let I=(r+3)*8-(t+A),c=e[r+2]>>>I;a+=c}return a}function gi(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function $a(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,r=hn,n=0;function l(){i=258,r=hn}function s(h){let u=ja(h,n,r);return n+=r,u}function g(h,u){return A[i]=u,t[i]=h,i++,i-1}function o(h){let u=[];for(let B=h;B!==4096;B=t[B])u.push(A[B]);return u}let a=[];l();let I=new Uint8Array(e),c=s(I),f;for(;c!==li;){if(c===ai){for(l(),c=s(I);c===ai;)c=s(I);if(c===li)break;if(c>ai)throw new Error(`corrupted code at scanline ${c}`);{let h=o(c);gi(a,h),f=c}}else if(c<i){let h=o(c);gi(a,h),g(f,h[h.length-1]),f=c}else{let h=o(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${n}`);gi(a,h),a.push(h[h.length-1]),g(f,h[h.length-1]),f=c}i+1>=2**r&&(r===Xa?f=void 0:r++),c=s(I)}return new Uint8Array(a)}var hn,ai,li,Xa,gt,Bn=he(()=>{Ge();hn=9,ai=256,li=257,Xa=12;gt=class extends Ae{decodeBlock(t){return $a(t,!1).buffer}}});var Cn={};Te(Cn,{default:()=>Et});function En(e,t){let A=0,i=[],r=16;for(;r>0&&!e[r-1];)--r;i.push({children:[],index:0});let n=i[0],l;for(let s=0;s<r;s++){for(let g=0;g<e[s];g++){for(n=i.pop(),n.children[n.index]=t[A];n.index>0;)n=i.pop();for(n.index++,i.push(n);i.length<=s;)i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l;A++}s+1<r&&(i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l)}return i[0].children}function Wa(e,t,A,i,r,n,l,s,g){let{mcusPerLine:o,progressive:a}=A,I=t,c=t,f=0,h=0;function u(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let U=e[c++];if(U)throw new Error(`unexpected marker: ${(f<<8|U).toString(16)}`)}return h=7,f>>>7}function B(U){let v=U,G;for(;(G=u())!==null;){if(v=v[G],typeof v=="number")return v;if(typeof v!="object")throw new Error("invalid huffman sequence")}return null}function Q(U){let v=U,G=0;for(;v>0;){let V=u();if(V===null)return;G=G<<1|V,--v}return G}function C(U){let v=Q(U);return v>=1<<U-1?v:v+(-1<<U)+1}function p(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G);U.pred+=V,v[0]=U.pred;let P=1;for(;P<64;){let $=B(U.huffmanTableAC),j=$&15,ie=$>>4;if(j===0){if(ie<15)break;P+=16}else{P+=ie;let ce=wA[P];v[ce]=C(j),P++}}}function w(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G)<<g;U.pred+=V,v[0]=U.pred}function d(U,v){v[0]|=u()<<g}let E=0;function m(U,v){if(E>0){E--;return}let G=n,V=l;for(;G<=V;){let P=B(U.huffmanTableAC),$=P&15,j=P>>4;if($===0){if(j<15){E=Q(j)+(1<<j)-1;break}G+=16}else{G+=j;let ie=wA[G];v[ie]=C($)*(1<<g),G++}}}let y=0,b;function x(U,v){let G=n,V=l,P=0;for(;G<=V;){let $=wA[G],j=v[$]<0?-1:1;switch(y){case 0:{let ie=B(U.huffmanTableAC),ce=ie&15;if(P=ie>>4,ce===0)P<15?(E=Q(P)+(1<<P),y=4):(P=16,y=1);else{if(ce!==1)throw new Error("invalid ACn encoding");b=C(ce),y=P?2:3}continue}case 1:case 2:v[$]?v[$]+=(u()<<g)*j:(P--,P===0&&(y=y===2?3:0));break;case 3:v[$]?v[$]+=(u()<<g)*j:(v[$]=b<<g,y=0);break;case 4:v[$]&&(v[$]+=(u()<<g)*j);break;default:break}G++}y===4&&(E--,E===0&&(y=0))}function D(U,v,G,V,P){let $=G/o|0,j=G%o,ie=$*U.v+V,ce=j*U.h+P;v(U,U.blocks[ie][ce])}function k(U,v,G){let V=G/U.blocksPerLine|0,P=G%U.blocksPerLine;v(U,U.blocks[V][P])}let O=i.length,S,_,N,L,F,T;a?n===0?T=s===0?w:d:T=s===0?m:x:T=p;let R=0,Y,J;O===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=o*A.mcusPerColumn;let z=r||J;for(;R<J;){for(_=0;_<O;_++)i[_].pred=0;if(E=0,O===1)for(S=i[0],F=0;F<z;F++)k(S,T,R),R++;else for(F=0;F<z;F++){for(_=0;_<O;_++){S=i[_];let{h:U,v}=S;for(N=0;N<v;N++)for(L=0;L<U;L++)D(S,T,R,N,L)}if(R++,R===J)break}if(h=0,Y=e[c]<<8|e[c+1],Y<65280)throw new Error("marker was not found");if(Y>=65488&&Y<=65495)c+=2;else break}return c-I}function eg(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:r}=t,n=i<<3,l=new Int32Array(64),s=new Uint8Array(64);function g(o,a,I){let c=t.quantizationTable,f,h,u,B,Q,C,p,w,d,E=I,m;for(m=0;m<64;m++)E[m]=o[m]*c[m];for(m=0;m<8;++m){let y=8*m;if(E[1+y]===0&&E[2+y]===0&&E[3+y]===0&&E[4+y]===0&&E[5+y]===0&&E[6+y]===0&&E[7+y]===0){d=oA*E[0+y]+512>>10,E[0+y]=d,E[1+y]=d,E[2+y]=d,E[3+y]=d,E[4+y]=d,E[5+y]=d,E[6+y]=d,E[7+y]=d;continue}f=oA*E[0+y]+128>>8,h=oA*E[4+y]+128>>8,u=E[2+y],B=E[6+y],Q=Bt*(E[1+y]-E[7+y])+128>>8,w=Bt*(E[1+y]+E[7+y])+128>>8,C=E[3+y]<<4,p=E[5+y]<<4,d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+128>>8,u=u*ht-B*ut+128>>8,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0+y]=f+w,E[7+y]=f-w,E[1+y]=h+p,E[6+y]=h-p,E[2+y]=u+C,E[5+y]=u-C,E[3+y]=B+Q,E[4+y]=B-Q}for(m=0;m<8;++m){let y=m;if(E[1*8+y]===0&&E[2*8+y]===0&&E[3*8+y]===0&&E[4*8+y]===0&&E[5*8+y]===0&&E[6*8+y]===0&&E[7*8+y]===0){d=oA*I[m+0]+8192>>14,E[0*8+y]=d,E[1*8+y]=d,E[2*8+y]=d,E[3*8+y]=d,E[4*8+y]=d,E[5*8+y]=d,E[6*8+y]=d,E[7*8+y]=d;continue}f=oA*E[0*8+y]+2048>>12,h=oA*E[4*8+y]+2048>>12,u=E[2*8+y],B=E[6*8+y],Q=Bt*(E[1*8+y]-E[7*8+y])+2048>>12,w=Bt*(E[1*8+y]+E[7*8+y])+2048>>12,C=E[3*8+y],p=E[5*8+y],d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+2048>>12,u=u*ht-B*ut+2048>>12,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0*8+y]=f+w,E[7*8+y]=f-w,E[1*8+y]=h+p,E[6*8+y]=h-p,E[2*8+y]=u+C,E[5*8+y]=u-C,E[3*8+y]=B+Q,E[4*8+y]=B-Q}for(m=0;m<64;++m){let y=128+(E[m]+8>>4);y<0?a[m]=0:y>255?a[m]=255:a[m]=y}}for(let o=0;o<r;o++){let a=o<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(n));for(let I=0;I<i;I++){g(t.blocks[o][I],s,l);let c=0,f=I<<3;for(let h=0;h<8;h++){let u=A[a+h];for(let B=0;B<8;B++)u[f+B]=s[c++]}}}return A}var wA,lt,ft,ct,It,ht,ut,oA,Bt,fi,Et,dn=he(()=>{Ge();wA=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),lt=4017,ft=799,ct=3406,It=2276,ht=1567,ut=3784,oA=5793,Bt=2896;fi=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let s=t[A]<<8|t[A+1];return A+=2,s}function r(){let s=i(),g=t.subarray(A,A+s-2);return A+=g.length,g}function n(s){let g=0,o=0,a,I;for(I in s.components)s.components.hasOwnProperty(I)&&(a=s.components[I],g<a.h&&(g=a.h),o<a.v&&(o=a.v));let c=Math.ceil(s.samplesPerLine/8/g),f=Math.ceil(s.scanLines/8/o);for(I in s.components)if(s.components.hasOwnProperty(I)){a=s.components[I];let h=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/g),u=Math.ceil(Math.ceil(s.scanLines/8)*a.v/o),B=c*a.h,Q=f*a.v,C=[];for(let p=0;p<Q;p++){let w=[];for(let d=0;d<B;d++)w.push(new Int32Array(64));C.push(w)}a.blocksPerLine=h,a.blocksPerColumn=u,a.blocks=C}s.maxH=g,s.maxV=o,s.mcusPerLine=c,s.mcusPerColumn=f}let l=i();if(l!==65496)throw new Error("SOI not found");for(l=i();l!==65497;){switch(l){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:{let s=r();l===65504&&s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0&&(this.jfif={version:{major:s[5],minor:s[6]},densityUnits:s[7],xDensity:s[8]<<8|s[9],yDensity:s[10]<<8|s[11],thumbWidth:s[12],thumbHeight:s[13],thumbData:s.subarray(14,14+3*s[12]*s[13])}),l===65518&&s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101&&s[5]===0&&(this.adobe={version:s[6],flags0:s[7]<<8|s[8],flags1:s[9]<<8|s[10],transformCode:s[11]});break}case 65499:{let g=i()+A-2;for(;A<g;){let o=t[A++],a=new Int32Array(64);if(o>>4)if(o>>4===1)for(let I=0;I<64;I++){let c=wA[I];a[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=wA[I];a[c]=t[A++]}this.quantizationTables[o&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:l===65473,progressive:l===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},g=t[A++],o;for(let a=0;a<g;a++){o=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];s.componentsOrder.push(o),s.components[o]={h:I,v:c,quantizationIdx:f},A+=3}n(s),this.frames.push(s);break}case 65476:{let s=i();for(let g=2;g<s;){let o=t[A++],a=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)a[f]=t[A],I+=a[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];g+=17+I,o>>4?this.huffmanTablesAC[o&15]=En(a,c):this.huffmanTablesDC[o&15]=En(a,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[A++],g=[],o=this.frames[0];for(let h=0;h<s;h++){let u=o.components[t[A++]],B=t[A++];u.huffmanTableDC=this.huffmanTablesDC[B>>4],u.huffmanTableAC=this.huffmanTablesAC[B&15],g.push(u)}let a=t[A++],I=t[A++],c=t[A++],f=Wa(t,A,o,g,this.resetInterval,a,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${l.toString(16)}`)}l=i()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let a=0;a<this.frames.length;a++){let I=this.frames[a].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:r}=A,n=[],l=A.samplesPerLine,s=A.scanLines;for(let a=0;a<r.length;a++){let I=i[r[a]];n.push({lines:eg(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let g=new Uint8Array(l*s*n.length),o=0;for(let a=0;a<s;++a)for(let I=0;I<l;++I)for(let c=0;c<n.length;++c){let f=n[c];g[o]=f.lines[0|a*f.scaleY][0|I*f.scaleX],++o}return g}},Et=class extends Ae{constructor(t){super(),this.reader=new fi,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function cA(e){let t=e.length;for(;--t>=0;)e[t]=0}function Ii(e,t,A,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function hi(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function pe(e,t,A,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=r}function tl(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Dt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Pg*2),this.dyn_dtree=new Uint16Array((2*Kg+1)*2),this.bl_tree=new Uint16Array((2*Vg+1)*2),Ue(this.dyn_ltree),Ue(this.dyn_dtree),Ue(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(zg+1),this.heap=new Uint16Array(2*Si+1),Ue(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Si+1),Ue(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ml(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function MA(e){this.options=bt.assign({level:kl,method:Nl,chunkSize:16384,windowBits:15,memLevel:8,strategy:Fl},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=DA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==_t)throw new Error(Xe[A]);if(t.header&&DA.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=vA.string2buf(t.dictionary):Do.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=DA.deflateSetDictionary(this.strm,i),A!==_t)throw new Error(Xe[A]);this._dict_set=!0}}function Oi(e,t){let A=new MA(t);if(A.push(e,!0),A.err)throw A.msg||Xe[A.err];return A.result}function Rl(e,t){return t=t||{},t.raw=!0,Oi(e,t)}function Tl(e,t){return t=t||{},t.gzip=!0,Oi(e,t)}function rf(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function pf(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function OA(e){this.options=bt.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=be.inflateInit2(this.strm,t.windowBits);if(A!==GA)throw new Error(Xe[A]);if(this.header=new wf,be.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=vA.string2buf(t.dictionary):Mo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=be.inflateSetDictionary(this.strm,t.dictionary),A!==GA)))throw new Error(Xe[A])}function qi(e,t){let A=new OA(t);if(A.push(e),A.err)throw A.msg||Xe[A.err];return A.result}function Df(e,t){return t=t||{},t.raw=!0,qi(e,t)}var Ag,ro,tg,ig,rg,vi,UA,SA,gA,Gi,no,Pe,ci,ng,Ui,oo,so,ao,xi,yt,og,go,sg,De,xA,kA,FA,Li,mt,lo,fo,co,Io,NA,ae,we,ho,ag,gg,uo,lg,Bo,Eo,Qn,ui,pn,Di,wn,yn,fg,cg,Ig,mn,hg,Co,ug,Bg,Eg,Cg,dg,Qg,pg,wg,yg,mg,RA,_g,xg,Dg,ee,Xe,IA,bg,bi,Sg,Me,kg,Oe,Fg,Ng,ue,_n,te,xn,ye,Rg,Bi,Tg,vg,Ct,Gg,Ug,Lg,Mg,Dt,Og,qg,Yg,Hg,Jg,Si,Kg,Vg,Pg,zg,q,Le,me,Zg,lA,Mi,ki,Fi,Ni,Ri,ze,mA,ne,hA,je,uA,Xg,Ze,Dn,Ue,jg,$g,qe,ge,le,H,yA,Ti,Qo,fA,po,Ei,sA,Wg,el,_A,Al,LA,wo,yo,il,mo,rl,nl,ol,sl,al,gl,ll,fl,cl,Il,hl,ul,Bl,DA,El,Cl,dl,bt,_o,TA,Ql,pl,wl,yl,vA,xo,Do,_l,xl,Dl,bl,_t,Sl,kl,Fl,Nl,vl,Gl,Ul,Ll,Ml,Ol,dt,ql,Yl,aA,bn,Sn,kn,Ci,Fn,Hl,Jl,Kl,Vl,Pl,bA,zl,bo,So,Nn,Zl,Qt,$e,Xl,jl,Be,ko,Fo,$l,Rn,St,Tn,vn,Gn,Un,Ln,Mn,On,qn,Yn,xt,xe,di,Hn,Qi,Jn,Kn,Vn,Pn,pt,wt,zn,Zn,Xn,jn,$n,pi,Wn,eo,X,No,Ro,Wl,ef,Af,tf,Ao,We,To,vo,Go,Uo,nf,to,wi,yi,of,Lo,sf,af,gf,lf,ff,cf,If,hf,uf,Bf,Ef,Cf,df,Qf,be,wf,Mo,yf,mf,GA,mi,_i,_f,io,xf,bf,Sf,kf,Ff,Nf,Rf,Dh,bh,Sh,kh,Fh,Tf,Nh,Rh,kt,Yi=he(()=>{Ag=0,ro=1,tg=2,ig=3,rg=258,vi=29,UA=256,SA=UA+1+vi,gA=30,Gi=19,no=2*SA+1,Pe=15,ci=16,ng=7,Ui=256,oo=16,so=17,ao=18,xi=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),yt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),og=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),go=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),sg=512,De=new Array((SA+2)*2);cA(De);xA=new Array(gA*2);cA(xA);kA=new Array(sg);cA(kA);FA=new Array(rg-ig+1);cA(FA);Li=new Array(vi);cA(Li);mt=new Array(gA);cA(mt);Io=e=>e<256?kA[e]:kA[256+(e>>>7)],NA=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},ae=(e,t,A)=>{e.bi_valid>ci-A?(e.bi_buf|=t<<e.bi_valid&65535,NA(e,e.bi_buf),e.bi_buf=t>>ci-e.bi_valid,e.bi_valid+=A-ci):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},we=(e,t,A)=>{ae(e,A[t*2],A[t*2+1])},ho=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},ag=e=>{e.bi_valid===16?(NA(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},gg=(e,t)=>{let A=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,n=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,g=t.stat_desc.max_length,o,a,I,c,f,h,u=0;for(c=0;c<=Pe;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,o=e.heap_max+1;o<no;o++)a=e.heap[o],c=A[A[a*2+1]*2+1]+1,c>g&&(c=g,u++),A[a*2+1]=c,!(a>i)&&(e.bl_count[c]++,f=0,a>=s&&(f=l[a-s]),h=A[a*2],e.opt_len+=h*(c+f),n&&(e.static_len+=h*(r[a*2+1]+f)));if(u!==0){do{for(c=g-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[g]--,u-=2}while(u>0);for(c=g;c!==0;c--)for(a=e.bl_count[c];a!==0;)I=e.heap[--o],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),a--)}},uo=(e,t,A)=>{let i=new Array(Pe+1),r=0,n,l;for(n=1;n<=Pe;n++)r=r+A[n-1]<<1,i[n]=r;for(l=0;l<=t;l++){let s=e[l*2+1];s!==0&&(e[l*2]=ho(i[s]++,s))}},lg=()=>{let e,t,A,i,r,n=new Array(Pe+1);for(A=0,i=0;i<vi-1;i++)for(Li[i]=A,e=0;e<1<<xi[i];e++)FA[A++]=i;for(FA[A-1]=i,r=0,i=0;i<16;i++)for(mt[i]=r,e=0;e<1<<yt[i];e++)kA[r++]=i;for(r>>=7;i<gA;i++)for(mt[i]=r<<7,e=0;e<1<<yt[i]-7;e++)kA[256+r++]=i;for(t=0;t<=Pe;t++)n[t]=0;for(e=0;e<=143;)De[e*2+1]=8,e++,n[8]++;for(;e<=255;)De[e*2+1]=9,e++,n[9]++;for(;e<=279;)De[e*2+1]=7,e++,n[7]++;for(;e<=287;)De[e*2+1]=8,e++,n[8]++;for(uo(De,SA+1,n),e=0;e<gA;e++)xA[e*2+1]=5,xA[e*2]=ho(e,5);lo=new Ii(De,xi,UA+1,SA,Pe),fo=new Ii(xA,yt,0,gA,Pe),co=new Ii(new Array(0),og,0,Gi,ng)},Bo=e=>{let t;for(t=0;t<SA;t++)e.dyn_ltree[t*2]=0;for(t=0;t<gA;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Gi;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ui*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Eo=e=>{e.bi_valid>8?NA(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Qn=(e,t,A,i)=>{let r=t*2,n=A*2;return e[r]<e[n]||e[r]===e[n]&&i[t]<=i[A]},ui=(e,t,A)=>{let i=e.heap[A],r=A<<1;for(;r<=e.heap_len&&(r<e.heap_len&&Qn(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!Qn(t,i,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=i},pn=(e,t,A)=>{let i,r,n=0,l,s;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+n++]&255,i+=(e.pending_buf[e.sym_buf+n++]&255)<<8,r=e.pending_buf[e.sym_buf+n++],i===0?we(e,r,t):(l=FA[r],we(e,l+UA+1,t),s=xi[l],s!==0&&(r-=Li[l],ae(e,r,s)),i--,l=Io(i),we(e,l,A),s=yt[l],s!==0&&(i-=mt[l],ae(e,i,s)));while(n<e.sym_next);we(e,Ui,t)},Di=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,l,s,g=-1,o;for(e.heap_len=0,e.heap_max=no,l=0;l<n;l++)A[l*2]!==0?(e.heap[++e.heap_len]=g=l,e.depth[l]=0):A[l*2+1]=0;for(;e.heap_len<2;)o=e.heap[++e.heap_len]=g<2?++g:0,A[o*2]=1,e.depth[o]=0,e.opt_len--,r&&(e.static_len-=i[o*2+1]);for(t.max_code=g,l=e.heap_len>>1;l>=1;l--)ui(e,A,l);o=n;do l=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ui(e,A,1),s=e.heap[1],e.heap[--e.heap_max]=l,e.heap[--e.heap_max]=s,A[o*2]=A[l*2]+A[s*2],e.depth[o]=(e.depth[l]>=e.depth[s]?e.depth[l]:e.depth[s])+1,A[l*2+1]=A[s*2+1]=o,e.heap[1]=o++,ui(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],gg(e,t),uo(A,g,e.bl_count)},wn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)&&(s<o?e.bl_tree[n*2]+=s:n!==0?(n!==r&&e.bl_tree[n*2]++,e.bl_tree[oo*2]++):s<=10?e.bl_tree[so*2]++:e.bl_tree[ao*2]++,s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4))},yn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),i=0;i<=A;i++)if(n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)){if(s<o)do we(e,n,e.bl_tree);while(--s!==0);else n!==0?(n!==r&&(we(e,n,e.bl_tree),s--),we(e,oo,e.bl_tree),ae(e,s-3,2)):s<=10?(we(e,so,e.bl_tree),ae(e,s-3,3)):(we(e,ao,e.bl_tree),ae(e,s-11,7));s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4)}},fg=e=>{let t;for(wn(e,e.dyn_ltree,e.l_desc.max_code),wn(e,e.dyn_dtree,e.d_desc.max_code),Di(e,e.bl_desc),t=Gi-1;t>=3&&e.bl_tree[go[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},cg=(e,t,A,i)=>{let r;for(ae(e,t-257,5),ae(e,A-1,5),ae(e,i-4,4),r=0;r<i;r++)ae(e,e.bl_tree[go[r]*2+1],3);yn(e,e.dyn_ltree,t-1),yn(e,e.dyn_dtree,A-1)},Ig=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<UA;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},mn=!1,hg=e=>{mn||(lg(),mn=!0),e.l_desc=new hi(e.dyn_ltree,lo),e.d_desc=new hi(e.dyn_dtree,fo),e.bl_desc=new hi(e.bl_tree,co),e.bi_buf=0,e.bi_valid=0,Bo(e)},Co=(e,t,A,i)=>{ae(e,(Ag<<1)+(i?1:0),3),Eo(e),NA(e,A),NA(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},ug=e=>{ae(e,ro<<1,3),we(e,Ui,De),ag(e)},Bg=(e,t,A,i)=>{let r,n,l=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=Ig(e)),Di(e,e.l_desc),Di(e,e.d_desc),l=fg(e),r=e.opt_len+3+7>>>3,n=e.static_len+3+7>>>3,n<=r&&(r=n)):r=n=A+5,A+4<=r&&t!==-1?Co(e,t,A,i):e.strategy===4||n===r?(ae(e,(ro<<1)+(i?1:0),3),pn(e,De,xA)):(ae(e,(tg<<1)+(i?1:0),3),cg(e,e.l_desc.max_code+1,e.d_desc.max_code+1,l+1),pn(e,e.dyn_ltree,e.dyn_dtree)),Bo(e),i&&Eo(e)},Eg=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(FA[A]+UA+1)*2]++,e.dyn_dtree[Io(t)*2]++),e.sym_next===e.sym_end),Cg=hg,dg=Co,Qg=Bg,pg=Eg,wg=ug,yg={_tr_init:Cg,_tr_stored_block:dg,_tr_flush_block:Qg,_tr_tally:pg,_tr_align:wg},mg=(e,t,A,i)=>{let r=e&65535|0,n=e>>>16&65535|0,l=0;for(;A!==0;){l=A>2e3?2e3:A,A-=l;do r=r+t[i++]|0,n=n+r|0;while(--l);r%=65521,n%=65521}return r|n<<16|0},RA=mg,_g=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},xg=new Uint32Array(_g()),Dg=(e,t,A,i)=>{let r=xg,n=i+A;e^=-1;for(let l=i;l<n;l++)e=e>>>8^r[(e^t[l])&255];return e^-1},ee=Dg,Xe={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},IA={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:bg,_tr_stored_block:bi,_tr_flush_block:Sg,_tr_tally:Me,_tr_align:kg}=yg,{Z_NO_FLUSH:Oe,Z_PARTIAL_FLUSH:Fg,Z_FULL_FLUSH:Ng,Z_FINISH:ue,Z_BLOCK:_n,Z_OK:te,Z_STREAM_END:xn,Z_STREAM_ERROR:ye,Z_DATA_ERROR:Rg,Z_BUF_ERROR:Bi,Z_DEFAULT_COMPRESSION:Tg,Z_FILTERED:vg,Z_HUFFMAN_ONLY:Ct,Z_RLE:Gg,Z_FIXED:Ug,Z_DEFAULT_STRATEGY:Lg,Z_UNKNOWN:Mg,Z_DEFLATED:Dt}=IA,Og=9,qg=15,Yg=8,Hg=29,Jg=256,Si=Jg+1+Hg,Kg=30,Vg=19,Pg=2*Si+1,zg=15,q=3,Le=258,me=Le+q+1,Zg=32,lA=42,Mi=57,ki=69,Fi=73,Ni=91,Ri=103,ze=113,mA=666,ne=1,hA=2,je=3,uA=4,Xg=3,Ze=(e,t)=>(e.msg=Xe[t],t),Dn=e=>e*2-(e>4?9:0),Ue=e=>{let t=e.length;for(;--t>=0;)e[t]=0},jg=e=>{let t,A,i,r=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=r?A-r:0;while(--t);t=r,i=t;do A=e.prev[--i],e.prev[i]=A>=r?A-r:0;while(--t)},$g=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,qe=$g,ge=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},le=(e,t)=>{Sg(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ge(e.strm)},H=(e,t)=>{e.pending_buf[e.pending++]=t},yA=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Ti=(e,t,A,i)=>{let r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),e.state.wrap===1?e.adler=RA(e.adler,t,r,A):e.state.wrap===2&&(e.adler=ee(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},Qo=(e,t)=>{let A=e.max_chain_length,i=e.strstart,r,n,l=e.prev_length,s=e.nice_match,g=e.strstart>e.w_size-me?e.strstart-(e.w_size-me):0,o=e.window,a=e.w_mask,I=e.prev,c=e.strstart+Le,f=o[i+l-1],h=o[i+l];e.prev_length>=e.good_match&&(A>>=2),s>e.lookahead&&(s=e.lookahead);do if(r=t,!(o[r+l]!==h||o[r+l-1]!==f||o[r]!==o[i]||o[++r]!==o[i+1])){i+=2,r++;do;while(o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&i<c);if(n=Le-(c-i),i=c-Le,n>l){if(e.match_start=t,l=n,n>=s)break;f=o[i+l-1],h=o[i+l]}}while((t=I[t&a])>g&&--A!==0);return l<=e.lookahead?l:e.lookahead},fA=e=>{let t=e.w_size,A,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-me)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),jg(e),i+=t),e.strm.avail_in===0)break;if(A=Ti(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=q)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=qe(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=qe(e,e.ins_h,e.window[r+q-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<q)););}while(e.lookahead<me&&e.strm.avail_in!==0)},po=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,r,n,l=0,s=e.strm.avail_in;do{if(i=65535,n=e.bi_valid+42>>3,e.strm.avail_out<n||(n=e.strm.avail_out-n,r=e.strstart-e.block_start,i>r+e.strm.avail_in&&(i=r+e.strm.avail_in),i>n&&(i=n),i<A&&(i===0&&t!==ue||t===Oe||i!==r+e.strm.avail_in)))break;l=t===ue&&i===r+e.strm.avail_in?1:0,bi(e,0,0,l),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,ge(e.strm),r&&(r>i&&(r=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,i-=r),i&&(Ti(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(l===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),l?uA:t!==Oe&&t!==ue&&e.strm.avail_in===0&&e.strstart===e.block_start?hA:(n=e.window_size-e.strstart,e.strm.avail_in>n&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,n+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),n>e.strm.avail_in&&(n=e.strm.avail_in),n&&(Ti(e.strm,e.window,e.strstart,n),e.strstart+=n,e.insert+=n>e.w_size-e.insert?e.w_size-e.insert:n),e.high_water<e.strstart&&(e.high_water=e.strstart),n=e.bi_valid+42>>3,n=e.pending_buf_size-n>65535?65535:e.pending_buf_size-n,A=n>e.w_size?e.w_size:n,r=e.strstart-e.block_start,(r>=A||(r||t===ue)&&t!==Oe&&e.strm.avail_in===0&&r<=n)&&(i=r>n?n:r,l=t===ue&&e.strm.avail_in===0&&i===r?1:0,bi(e,e.block_start,i,l),e.block_start+=i,ge(e.strm)),l?je:ne)},Ei=(e,t)=>{let A,i;for(;;){if(e.lookahead<me){if(fA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-me&&(e.match_length=Qo(e,A)),e.match_length>=q)if(i=Me(e,e.strstart-e.match_start,e.match_length-q),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=q){e.match_length--;do e.strstart++,e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=qe(e,e.ins_h,e.window[e.strstart+1]);else i=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},sA=(e,t)=>{let A,i,r;for(;;){if(e.lookahead<me){if(fA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=q-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-me&&(e.match_length=Qo(e,A),e.match_length<=5&&(e.strategy===vg||e.match_length===q&&e.strstart-e.match_start>4096)&&(e.match_length=q-1)),e.prev_length>=q&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-q,i=Me(e,e.strstart-1-e.prev_match,e.prev_length-q),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=q-1,e.strstart++,i&&(le(e,!1),e.strm.avail_out===0))return ne}else if(e.match_available){if(i=Me(e,0,e.window[e.strstart-1]),i&&le(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ne}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Me(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},Wg=(e,t)=>{let A,i,r,n,l=e.window;for(;;){if(e.lookahead<=Le){if(fA(e),e.lookahead<=Le&&t===Oe)return ne;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=q&&e.strstart>0&&(r=e.strstart-1,i=l[r],i===l[++r]&&i===l[++r]&&i===l[++r])){n=e.strstart+Le;do;while(i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&r<n);e.match_length=Le-(n-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=q?(A=Me(e,1,e.match_length-q),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA},el=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(fA(e),e.lookahead===0)){if(t===Oe)return ne;break}if(e.match_length=0,A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?je:uA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:hA};_A=[new pe(0,0,0,0,po),new pe(4,4,8,4,Ei),new pe(4,5,16,8,Ei),new pe(4,6,32,32,Ei),new pe(4,4,16,16,sA),new pe(8,16,32,32,sA),new pe(8,16,128,128,sA),new pe(8,32,128,256,sA),new pe(32,128,258,1024,sA),new pe(32,258,258,4096,sA)],Al=e=>{e.window_size=2*e.w_size,Ue(e.head),e.max_lazy_match=_A[e.level].max_lazy,e.good_match=_A[e.level].good_length,e.nice_match=_A[e.level].nice_length,e.max_chain_length=_A[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=q-1,e.match_available=0,e.ins_h=0};LA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==lA&&t.status!==Mi&&t.status!==ki&&t.status!==Fi&&t.status!==Ni&&t.status!==Ri&&t.status!==ze&&t.status!==mA?1:0},wo=e=>{if(LA(e))return Ze(e,ye);e.total_in=e.total_out=0,e.data_type=Mg;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Mi:t.wrap?lA:ze,e.adler=t.wrap===2?0:1,t.last_flush=-2,bg(t),te},yo=e=>{let t=wo(e);return t===te&&Al(e.state),t},il=(e,t)=>LA(e)||e.state.wrap!==2?ye:(e.state.gzhead=t,te),mo=(e,t,A,i,r,n)=>{if(!e)return ye;let l=1;if(t===Tg&&(t=6),i<0?(l=0,i=-i):i>15&&(l=2,i-=16),r<1||r>Og||A!==Dt||i<8||i>15||t<0||t>9||n<0||n>Ug||i===8&&l!==1)return Ze(e,ye);i===8&&(i=9);let s=new tl;return e.state=s,s.strm=e,s.status=lA,s.wrap=l,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+q-1)/q),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=n,s.method=A,yo(e)},rl=(e,t)=>mo(e,t,Dt,qg,Yg,Lg),nl=(e,t)=>{if(LA(e)||t>_n||t<0)return e?Ze(e,ye):ye;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===mA&&t!==ue)return Ze(e,e.avail_out===0?Bi:ye);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(ge(e),e.avail_out===0)return A.last_flush=-1,te}else if(e.avail_in===0&&Dn(t)<=Dn(i)&&t!==ue)return Ze(e,Bi);if(A.status===mA&&e.avail_in!==0)return Ze(e,Bi);if(A.status===lA&&A.wrap===0&&(A.status=ze),A.status===lA){let r=Dt+(A.w_bits-8<<4)<<8,n=-1;if(A.strategy>=Ct||A.level<2?n=0:A.level<6?n=1:A.level===6?n=2:n=3,r|=n<<6,A.strstart!==0&&(r|=Zg),r+=31-r%31,yA(A,r),A.strstart!==0&&(yA(A,e.adler>>>16),yA(A,e.adler&65535)),e.adler=1,A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===Mi){if(e.adler=0,H(A,31),H(A,139),H(A,8),A.gzhead)H(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),H(A,A.gzhead.time&255),H(A,A.gzhead.time>>8&255),H(A,A.gzhead.time>>16&255),H(A,A.gzhead.time>>24&255),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(H(A,A.gzhead.extra.length&255),H(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=ee(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=ki;else if(H(A,0),H(A,0),H(A,0),H(A,0),H(A,0),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,Xg),A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===ki){if(A.gzhead.extra){let r=A.pending,n=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+n>A.pending_buf_size;){let s=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+s),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex+=s,ge(e),A.pending!==0)return A.last_flush=-1,te;r=0,n-=s}let l=new Uint8Array(A.gzhead.extra);A.pending_buf.set(l.subarray(A.gzindex,A.gzindex+n),A.pending),A.pending+=n,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Fi}if(A.status===Fi){if(A.gzhead.name){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.name.length?n=A.gzhead.name.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Ni}if(A.status===Ni){if(A.gzhead.comment){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.comment.length?n=A.gzhead.comment.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r))}A.status=Ri}if(A.status===Ri){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(ge(e),A.pending!==0))return A.last_flush=-1,te;H(A,e.adler&255),H(A,e.adler>>8&255),e.adler=0}if(A.status=ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(e.avail_in!==0||A.lookahead!==0||t!==Oe&&A.status!==mA){let r=A.level===0?po(A,t):A.strategy===Ct?el(A,t):A.strategy===Gg?Wg(A,t):_A[A.level].func(A,t);if((r===je||r===uA)&&(A.status=mA),r===ne||r===je)return e.avail_out===0&&(A.last_flush=-1),te;if(r===hA&&(t===Fg?kg(A):t!==_n&&(bi(A,0,0,!1),t===Ng&&(Ue(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),ge(e),e.avail_out===0))return A.last_flush=-1,te}return t!==ue?te:A.wrap<=0?xn:(A.wrap===2?(H(A,e.adler&255),H(A,e.adler>>8&255),H(A,e.adler>>16&255),H(A,e.adler>>24&255),H(A,e.total_in&255),H(A,e.total_in>>8&255),H(A,e.total_in>>16&255),H(A,e.total_in>>24&255)):(yA(A,e.adler>>>16),yA(A,e.adler&65535)),ge(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?te:xn)},ol=e=>{if(LA(e))return ye;let t=e.state.status;return e.state=null,t===ze?Ze(e,Rg):te},sl=(e,t)=>{let A=t.length;if(LA(e))return ye;let i=e.state,r=i.wrap;if(r===2||r===1&&i.status!==lA||i.lookahead)return ye;if(r===1&&(e.adler=RA(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){r===0&&(Ue(i.head),i.strstart=0,i.block_start=0,i.insert=0);let g=new Uint8Array(i.w_size);g.set(t.subarray(A-i.w_size,A),0),t=g,A=i.w_size}let n=e.avail_in,l=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,fA(i);i.lookahead>=q;){let g=i.strstart,o=i.lookahead-(q-1);do i.ins_h=qe(i,i.ins_h,i.window[g+q-1]),i.prev[g&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=g,g++;while(--o);i.strstart=g,i.lookahead=q-1,fA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=q-1,i.match_available=0,e.next_in=l,e.input=s,e.avail_in=n,i.wrap=r,te},al=rl,gl=mo,ll=yo,fl=wo,cl=il,Il=nl,hl=ol,ul=sl,Bl="pako deflate (from Nodeca project)",DA={deflateInit:al,deflateInit2:gl,deflateReset:ll,deflateResetKeep:fl,deflateSetHeader:cl,deflate:Il,deflateEnd:hl,deflateSetDictionary:ul,deflateInfo:Bl},El=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Cl=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)El(A,i)&&(e[i]=A[i])}}return e},dl=e=>{let t=0;for(let i=0,r=e.length;i<r;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,r=0,n=e.length;i<n;i++){let l=e[i];A.set(l,r),r+=l.length}return A},bt={assign:Cl,flattenChunks:dl},_o=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{_o=!1}TA=new Uint8Array(256);for(let e=0;e<256;e++)TA[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;TA[254]=TA[254]=1;Ql=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,r,n,l=e.length,s=0;for(r=0;r<l;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),s+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(s),n=0,r=0;n<s;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),A<128?t[n++]=A:A<2048?(t[n++]=192|A>>>6,t[n++]=128|A&63):A<65536?(t[n++]=224|A>>>12,t[n++]=128|A>>>6&63,t[n++]=128|A&63):(t[n++]=240|A>>>18,t[n++]=128|A>>>12&63,t[n++]=128|A>>>6&63,t[n++]=128|A&63);return t},pl=(e,t)=>{if(t<65534&&e.subarray&&_o)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},wl=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,r,n=new Array(A*2);for(r=0,i=0;i<A;){let l=e[i++];if(l<128){n[r++]=l;continue}let s=TA[l];if(s>4){n[r++]=65533,i+=s-1;continue}for(l&=s===2?31:s===3?15:7;s>1&&i<A;)l=l<<6|e[i++]&63,s--;if(s>1){n[r++]=65533;continue}l<65536?n[r++]=l:(l-=65536,n[r++]=55296|l>>10&1023,n[r++]=56320|l&1023)}return pl(n,r)},yl=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+TA[e[A]]>t?A:t},vA={string2buf:Ql,buf2string:wl,utf8border:yl};xo=ml,Do=Object.prototype.toString,{Z_NO_FLUSH:_l,Z_SYNC_FLUSH:xl,Z_FULL_FLUSH:Dl,Z_FINISH:bl,Z_OK:_t,Z_STREAM_END:Sl,Z_DEFAULT_COMPRESSION:kl,Z_DEFAULT_STRATEGY:Fl,Z_DEFLATED:Nl}=IA;MA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r,n;if(this.ended)return!1;for(t===~~t?n=t:n=t===!0?bl:_l,typeof e=="string"?A.input=vA.string2buf(e):Do.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(n===xl||n===Dl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(r=DA.deflate(A,n),r===Sl)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),r=DA.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===_t;if(A.avail_out===0){this.onData(A.output);continue}if(n>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};MA.prototype.onData=function(e){this.chunks.push(e)};MA.prototype.onEnd=function(e){e===_t&&(this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};vl=MA,Gl=Oi,Ul=Rl,Ll=Tl,Ml=IA,Ol={Deflate:vl,deflate:Gl,deflateRaw:Ul,gzip:Ll,constants:Ml},dt=16209,ql=16191,Yl=function(t,A){let i,r,n,l,s,g,o,a,I,c,f,h,u,B,Q,C,p,w,d,E,m,y,b,x,D=t.state;i=t.next_in,b=t.input,r=i+(t.avail_in-5),n=t.next_out,x=t.output,l=n-(A-t.avail_out),s=n+(t.avail_out-257),g=D.dmax,o=D.wsize,a=D.whave,I=D.wnext,c=D.window,f=D.hold,h=D.bits,u=D.lencode,B=D.distcode,Q=(1<<D.lenbits)-1,C=(1<<D.distbits)-1;e:do{h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=u[f&Q];A:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w===0)x[n++]=p&65535;else if(w&16){d=p&65535,w&=15,w&&(h<w&&(f+=b[i++]<<h,h+=8),d+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=B[f&C];t:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w&16){if(E=p&65535,w&=15,h<w&&(f+=b[i++]<<h,h+=8,h<w&&(f+=b[i++]<<h,h+=8)),E+=f&(1<<w)-1,E>g){t.msg="invalid distance too far back",D.mode=dt;break e}if(f>>>=w,h-=w,w=n-l,E>w){if(w=E-w,w>a&&D.sane){t.msg="invalid distance too far back",D.mode=dt;break e}if(m=0,y=c,I===0){if(m+=o-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}else if(I<w){if(m+=o+I-w,w-=I,w<d){d-=w;do x[n++]=c[m++];while(--w);if(m=0,I<d){w=I,d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}}else if(m+=I-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}for(;d>2;)x[n++]=y[m++],x[n++]=y[m++],x[n++]=y[m++],d-=3;d&&(x[n++]=y[m++],d>1&&(x[n++]=y[m++]))}else{m=n-E;do x[n++]=x[m++],x[n++]=x[m++],x[n++]=x[m++],d-=3;while(d>2);d&&(x[n++]=x[m++],d>1&&(x[n++]=x[m++]))}}else if(w&64){t.msg="invalid distance code",D.mode=dt;break e}else{p=B[(p&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){D.mode=ql;break e}else{t.msg="invalid literal/length code",D.mode=dt;break e}else{p=u[(p&65535)+(f&(1<<w)-1)];continue A}break}}while(i<r&&n<s);d=h>>3,i-=d,h-=d<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=n,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=n<s?257+(s-n):257-(n-s),D.hold=f,D.bits=h},aA=15,bn=852,Sn=592,kn=0,Ci=1,Fn=2,Hl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Jl=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Kl=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Vl=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Pl=(e,t,A,i,r,n,l,s)=>{let g=s.bits,o=0,a=0,I=0,c=0,f=0,h=0,u=0,B=0,Q=0,C=0,p,w,d,E,m,y=null,b,x=new Uint16Array(aA+1),D=new Uint16Array(aA+1),k=null,O,S,_;for(o=0;o<=aA;o++)x[o]=0;for(a=0;a<i;a++)x[t[A+a]]++;for(f=g,c=aA;c>=1&&x[c]===0;c--);if(f>c&&(f=c),c===0)return r[n++]=1<<24|64<<16|0,r[n++]=1<<24|64<<16|0,s.bits=1,0;for(I=1;I<c&&x[I]===0;I++);for(f<I&&(f=I),B=1,o=1;o<=aA;o++)if(B<<=1,B-=x[o],B<0)return-1;if(B>0&&(e===kn||c!==1))return-1;for(D[1]=0,o=1;o<aA;o++)D[o+1]=D[o]+x[o];for(a=0;a<i;a++)t[A+a]!==0&&(l[D[t[A+a]]++]=a);if(e===kn?(y=k=l,b=20):e===Ci?(y=Hl,k=Jl,b=257):(y=Kl,k=Vl,b=0),C=0,a=0,o=I,m=n,h=f,u=0,d=-1,Q=1<<f,E=Q-1,e===Ci&&Q>bn||e===Fn&&Q>Sn)return 1;for(;;){O=o-u,l[a]+1<b?(S=0,_=l[a]):l[a]>=b?(S=k[l[a]-b],_=y[l[a]-b]):(S=32+64,_=0),p=1<<o-u,w=1<<h,I=w;do w-=p,r[m+(C>>u)+w]=O<<24|S<<16|_|0;while(w!==0);for(p=1<<o-1;C&p;)p>>=1;if(p!==0?(C&=p-1,C+=p):C=0,a++,--x[o]===0){if(o===c)break;o=t[A+l[a]]}if(o>f&&(C&E)!==d){for(u===0&&(u=f),m+=I,h=o-u,B=1<<h;h+u<c&&(B-=x[h+u],!(B<=0));)h++,B<<=1;if(Q+=1<<h,e===Ci&&Q>bn||e===Fn&&Q>Sn)return 1;d=C&E,r[d]=f<<24|h<<16|m-n|0}}return C!==0&&(r[m+C]=o-u<<24|64<<16|0),s.bits=f,0},bA=Pl,zl=0,bo=1,So=2,{Z_FINISH:Nn,Z_BLOCK:Zl,Z_TREES:Qt,Z_OK:$e,Z_STREAM_END:Xl,Z_NEED_DICT:jl,Z_STREAM_ERROR:Be,Z_DATA_ERROR:ko,Z_MEM_ERROR:Fo,Z_BUF_ERROR:$l,Z_DEFLATED:Rn}=IA,St=16180,Tn=16181,vn=16182,Gn=16183,Un=16184,Ln=16185,Mn=16186,On=16187,qn=16188,Yn=16189,xt=16190,xe=16191,di=16192,Hn=16193,Qi=16194,Jn=16195,Kn=16196,Vn=16197,Pn=16198,pt=16199,wt=16200,zn=16201,Zn=16202,Xn=16203,jn=16204,$n=16205,pi=16206,Wn=16207,eo=16208,X=16209,No=16210,Ro=16211,Wl=852,ef=592,Af=15,tf=Af,Ao=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);We=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<St||t.mode>Ro?1:0},To=e=>{if(We(e))return Be;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=St,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Wl),t.distcode=t.distdyn=new Int32Array(ef),t.sane=1,t.back=-1,$e},vo=e=>{if(We(e))return Be;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,To(e)},Go=(e,t)=>{let A;if(We(e))return Be;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Be:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,vo(e))},Uo=(e,t)=>{if(!e)return Be;let A=new rf;e.state=A,A.strm=e,A.window=null,A.mode=St;let i=Go(e,t);return i!==$e&&(e.state=null),i},nf=e=>Uo(e,tf),to=!0,of=e=>{if(to){wi=new Int32Array(512),yi=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(bA(bo,e.lens,0,288,wi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;bA(So,e.lens,0,32,yi,0,e.work,{bits:5}),to=!1}e.lencode=wi,e.lenbits=9,e.distcode=yi,e.distbits=5},Lo=(e,t,A,i)=>{let r,n=e.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),i>=n.wsize?(n.window.set(t.subarray(A-n.wsize,A),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(t.subarray(A-i,A-i+r),n.wnext),i-=r,i?(n.window.set(t.subarray(A-i,A),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=r))),0},sf=(e,t)=>{let A,i,r,n,l,s,g,o,a,I,c,f,h,u,B=0,Q,C,p,w,d,E,m,y,b=new Uint8Array(4),x,D,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(We(e)||!e.output||!e.input&&e.avail_in!==0)return Be;A=e.state,A.mode===xe&&(A.mode=di),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,I=s,c=g,y=$e;e:for(;;)switch(A.mode){case St:if(A.wrap===0){A.mode=di;break}for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&2&&o===35615){A.wbits===0&&(A.wbits=15),A.check=0,b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0),o=0,a=0,A.mode=Tn;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){e.msg="incorrect header check",A.mode=X;break}if((o&15)!==Rn){e.msg="unknown compression method",A.mode=X;break}if(o>>>=4,a-=4,m=(o&15)+8,A.wbits===0&&(A.wbits=m),m>15||m>A.wbits){e.msg="invalid window size",A.mode=X;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=o&512?Yn:xe,o=0,a=0;break;case Tn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.flags=o,(A.flags&255)!==Rn){e.msg="unknown compression method",A.mode=X;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=X;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0,A.mode=vn;case vn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.time=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,b[2]=o>>>16&255,b[3]=o>>>24&255,A.check=ee(A.check,b,4,0)),o=0,a=0,A.mode=Gn;case Gn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0,A.mode=Un;case Un:if(A.flags&1024){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0}else A.head&&(A.head.extra=null);A.mode=Ln;case Ln:if(A.flags&1024&&(f=A.length,f>s&&(f=s),f&&(A.head&&(m=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(n,n+f),m)),A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,A.length-=f),A.length))break e;A.length=0,A.mode=Mn;case Mn:if(A.flags&2048){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.name+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=On;case On:if(A.flags&4096){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.comment+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.comment=null);A.mode=qn;case qn:if(A.flags&512){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.check&65535)){e.msg="header crc mismatch",A.mode=X;break}o=0,a=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=xe;break;case Yn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}e.adler=A.check=Ao(o),o=0,a=0,A.mode=xt;case xt:if(A.havedict===0)return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,jl;e.adler=A.check=1,A.mode=xe;case xe:if(t===Zl||t===Qt)break e;case di:if(A.last){o>>>=a&7,a-=a&7,A.mode=pi;break}for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}switch(A.last=o&1,o>>>=1,a-=1,o&3){case 0:A.mode=Hn;break;case 1:if(of(A),A.mode=pt,t===Qt){o>>>=2,a-=2;break e}break;case 2:A.mode=Kn;break;case 3:e.msg="invalid block type",A.mode=X}o>>>=2,a-=2;break;case Hn:for(o>>>=a&7,a-=a&7;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if((o&65535)!==(o>>>16^65535)){e.msg="invalid stored block lengths",A.mode=X;break}if(A.length=o&65535,o=0,a=0,A.mode=Qi,t===Qt)break e;case Qi:A.mode=Jn;case Jn:if(f=A.length,f){if(f>s&&(f=s),f>g&&(f=g),f===0)break e;r.set(i.subarray(n,n+f),l),s-=f,n+=f,g-=f,l+=f,A.length-=f;break}A.mode=xe;break;case Kn:for(;a<14;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.nlen=(o&31)+257,o>>>=5,a-=5,A.ndist=(o&31)+1,o>>>=5,a-=5,A.ncode=(o&15)+4,o>>>=4,a-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=X;break}A.have=0,A.mode=Vn;case Vn:for(;A.have<A.ncode;){for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.lens[k[A.have++]]=o&7,o>>>=3,a-=3}for(;A.have<19;)A.lens[k[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,x={bits:A.lenbits},y=bA(zl,A.lens,0,19,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid code lengths set",A.mode=X;break}A.have=0,A.mode=Pn;case Pn:for(;A.have<A.nlen+A.ndist;){for(;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(p<16)o>>>=Q,a-=Q,A.lens[A.have++]=p;else{if(p===16){for(D=Q+2;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(o>>>=Q,a-=Q,A.have===0){e.msg="invalid bit length repeat",A.mode=X;break}m=A.lens[A.have-1],f=3+(o&3),o>>>=2,a-=2}else if(p===17){for(D=Q+3;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=3+(o&7),o>>>=3,a-=3}else{for(D=Q+7;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=11+(o&127),o>>>=7,a-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=X;break}for(;f--;)A.lens[A.have++]=m}}if(A.mode===X)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=X;break}if(A.lenbits=9,x={bits:A.lenbits},y=bA(bo,A.lens,0,A.nlen,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid literal/lengths set",A.mode=X;break}if(A.distbits=6,A.distcode=A.distdyn,x={bits:A.distbits},y=bA(So,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,x),A.distbits=x.bits,y){e.msg="invalid distances set",A.mode=X;break}if(A.mode=pt,t===Qt)break e;case pt:A.mode=wt;case wt:if(s>=6&&g>=258){e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,Yl(e,c),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,A.mode===xe&&(A.back=-1);break}for(A.back=0;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(C&&!(C&240)){for(w=Q,d=C,E=p;B=A.lencode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,A.length=p,C===0){A.mode=$n;break}if(C&32){A.back=-1,A.mode=xe;break}if(C&64){e.msg="invalid literal/length code",A.mode=X;break}A.extra=C&15,A.mode=zn;case zn:if(A.extra){for(D=A.extra;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Zn;case Zn:for(;B=A.distcode[o&(1<<A.distbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(!(C&240)){for(w=Q,d=C,E=p;B=A.distcode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,C&64){e.msg="invalid distance code",A.mode=X;break}A.offset=p,A.extra=C&15,A.mode=Xn;case Xn:if(A.extra){for(D=A.extra;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=X;break}A.mode=jn;case jn:if(g===0)break e;if(f=c-g,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=X;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),u=A.window}else u=r,h=l-A.offset,f=A.length;f>g&&(f=g),g-=f,A.length-=f;do r[l++]=u[h++];while(--f);A.length===0&&(A.mode=wt);break;case $n:if(g===0)break e;r[l++]=A.length,g--,A.mode=wt;break;case pi:if(A.wrap){for(;a<32;){if(s===0)break e;s--,o|=i[n++]<<a,a+=8}if(c-=g,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,l-c):RA(A.check,r,c,l-c)),c=g,A.wrap&4&&(A.flags?o:Ao(o))!==A.check){e.msg="incorrect data check",A.mode=X;break}o=0,a=0}A.mode=Wn;case Wn:if(A.wrap&&A.flags){for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=X;break}o=0,a=0}A.mode=eo;case eo:y=Xl;break e;case X:y=ko;break e;case No:return Fo;case Ro:default:return Be}return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,(A.wsize||c!==e.avail_out&&A.mode<X&&(A.mode<pi||t!==Nn))&&Lo(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,e.next_out-c):RA(A.check,r,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===xe?128:0)+(A.mode===pt||A.mode===Qi?256:0),(I===0&&c===0||t===Nn)&&y===$e&&(y=$l),y},af=e=>{if(We(e))return Be;let t=e.state;return t.window&&(t.window=null),e.state=null,$e},gf=(e,t)=>{if(We(e))return Be;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,$e):Be},lf=(e,t)=>{let A=t.length,i,r,n;return We(e)||(i=e.state,i.wrap!==0&&i.mode!==xt)?Be:i.mode===xt&&(r=1,r=RA(r,t,A,0),r!==i.check)?ko:(n=Lo(e,t,A,A),n?(i.mode=No,Fo):(i.havedict=1,$e))},ff=vo,cf=Go,If=To,hf=nf,uf=Uo,Bf=sf,Ef=af,Cf=gf,df=lf,Qf="pako inflate (from Nodeca project)",be={inflateReset:ff,inflateReset2:cf,inflateResetKeep:If,inflateInit:hf,inflateInit2:uf,inflate:Bf,inflateEnd:Ef,inflateGetHeader:Cf,inflateSetDictionary:df,inflateInfo:Qf};wf=pf,Mo=Object.prototype.toString,{Z_NO_FLUSH:yf,Z_FINISH:mf,Z_OK:GA,Z_STREAM_END:mi,Z_NEED_DICT:_i,Z_STREAM_ERROR:_f,Z_DATA_ERROR:io,Z_MEM_ERROR:xf}=IA;OA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r=this.options.dictionary,n,l,s;if(this.ended)return!1;for(t===~~t?l=t:l=t===!0?mf:yf,Mo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),n=be.inflate(A,l),n===_i&&r&&(n=be.inflateSetDictionary(A,r),n===GA?n=be.inflate(A,l):n===io&&(n=_i));A.avail_in>0&&n===mi&&A.state.wrap>0&&e[A.next_in]!==0;)be.inflateReset(A),n=be.inflate(A,l);switch(n){case _f:case io:case _i:case xf:return this.onEnd(n),this.ended=!0,!1}if(s=A.avail_out,A.next_out&&(A.avail_out===0||n===mi))if(this.options.to==="string"){let g=vA.utf8border(A.output,A.next_out),o=A.next_out-g,a=vA.buf2string(A.output,g);A.next_out=o,A.avail_out=i-o,o&&A.output.set(A.output.subarray(g,g+o),0),this.onData(a)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(n===GA&&s===0)){if(n===mi)return n=be.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};OA.prototype.onData=function(e){this.chunks.push(e)};OA.prototype.onEnd=function(e){e===GA&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};bf=OA,Sf=qi,kf=Df,Ff=qi,Nf=IA,Rf={Inflate:bf,inflate:Sf,inflateRaw:kf,ungzip:Ff,constants:Nf},{Deflate:Dh,deflate:bh,deflateRaw:Sh,gzip:kh}=Ol,{Inflate:Fh,inflate:Tf,inflateRaw:Nh,ungzip:Rh}=Rf,kt=Tf});var Oo={};Te(Oo,{default:()=>Ft});var Ft,qo=he(()=>{Yi();Ge();Ft=class extends Ae{decodeBlock(t){return kt(new Uint8Array(t)).buffer}}});var Yo={};Te(Yo,{default:()=>Nt});var Nt,Ho=he(()=>{Ge();Nt=class extends Ae{decodeBlock(t){let A=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let n=A.getInt8(r);if(n<0){let l=A.getUint8(r+1);n=-n;for(let s=0;s<=n;++s)i.push(l);r+=1}else{for(let l=0;l<=n;++l)i.push(A.getUint8(r+l+1));r+=n+1}}return new Uint8Array(i).buffer}}});var Jo=Z((Lh,Rt)=>{(function(){var e=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=g(a,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:r.defaultNoDataValue,u=n(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),B={width:f.width,height:f.height,pixelData:u.resultPixels,minValue:u.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return u.resultMask&&(B.maskData=u.resultMask),I.returnEncodedMask&&f.mask&&(B.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(B.fileInfo=l(f),I.computeUsedBitDepths&&(B.fileInfo.bitDepths=s(f))),B};var n=function(a,I,c,f,h){var u=0,B=a.pixels.numBlocksX,Q=a.pixels.numBlocksY,C=Math.floor(a.width/B),p=Math.floor(a.height/Q),w=2*a.maxZError,d=Number.MAX_VALUE,E;c=c||(a.mask?a.mask.bitset:null);var m,y;m=new I(a.width*a.height),h&&c&&(y=new Uint8Array(a.width*a.height));for(var b=new Float32Array(C*p),x,D,k=0;k<=Q;k++){var O=k!==Q?p:a.height%Q;if(O!==0)for(var S=0;S<=B;S++){var _=S!==B?C:a.width%B;if(_!==0){var N=k*a.width*p+S*C,L=a.width-_,F=a.pixels.blocks[u],T,R,Y;F.encoding<2?(F.encoding===0?T=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,b,a.pixels.maxValue),T=b),R=0):F.encoding===2?Y=0:Y=F.offset;var J;if(c)for(D=0;D<O;D++){for(N&7&&(J=c[N>>3],J<<=N&7),x=0;x<_;x++)N&7||(J=c[N>>3]),J&128?(y&&(y[N]=1),E=F.encoding<2?T[R++]:Y,d=d>E?E:d,m[N++]=E):(y&&(y[N]=0),m[N++]=f),J<<=1;N+=L}else if(F.encoding<2)for(D=0;D<O;D++){for(x=0;x<_;x++)E=T[R++],d=d>E?E:d,m[N++]=E;N+=L}else for(d=d>Y?Y:d,D=0;D<O;D++){for(x=0;x<_;x++)m[N++]=Y;N+=L}if(F.encoding===1&&R!==F.numValidPixels)throw"Block and Mask do not match";u++}}}return{resultPixels:m,resultMask:y,minValue:d}},l=function(a){return{fileIdentifierString:a.fileIdentifierString,fileVersion:a.fileVersion,imageType:a.imageType,height:a.height,width:a.width,maxZError:a.maxZError,eofOffset:a.eofOffset,mask:a.mask?{numBlocksX:a.mask.numBlocksX,numBlocksY:a.mask.numBlocksY,numBytes:a.mask.numBytes,maxValue:a.mask.maxValue}:null,pixels:{numBlocksX:a.pixels.numBlocksX,numBlocksY:a.pixels.numBlocksY,numBytes:a.pixels.numBytes,maxValue:a.pixels.maxValue,noDataValue:a.noDataValue}}},s=function(a){for(var I=a.pixels.numBlocksX*a.pixels.numBlocksY,c={},f=0;f<I;f++){var h=a.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},g=function(a,I,c){var f={},h=new Uint8Array(a,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var u=new DataView(a,I,24);if(f.fileVersion=u.getInt32(0,!0),f.imageType=u.getInt32(4,!0),f.height=u.getUint32(8,!0),f.width=u.getUint32(12,!0),f.maxZError=u.getFloat64(16,!0),I+=24,!c)if(u=new DataView(a,I,16),f.mask={},f.mask.numBlocksY=u.getUint32(0,!0),f.mask.numBlocksX=u.getUint32(4,!0),f.mask.numBytes=u.getUint32(8,!0),f.mask.maxValue=u.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var B=new Uint8Array(Math.ceil(f.width*f.height/8));u=new DataView(a,I,f.mask.numBytes);var Q=u.getInt16(0,!0),C=2,p=0;do{if(Q>0)for(;Q--;)B[p++]=u.getUint8(C++);else{var w=u.getUint8(C++);for(Q=-Q;Q--;)B[p++]=w}Q=u.getInt16(C,!0),C+=2}while(C<f.mask.numBytes);if(Q!==-32768||p<B.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=B,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));u=new DataView(a,I,16),f.pixels={},f.pixels.numBlocksY=u.getUint32(0,!0),f.pixels.numBlocksX=u.getUint32(4,!0),f.pixels.numBytes=u.getUint32(8,!0),f.pixels.maxValue=u.getFloat32(12,!0),I+=16;var d=f.pixels.numBlocksX,E=f.pixels.numBlocksY,m=d+(f.width%d>0?1:0),y=E+(f.height%E>0?1:0);f.pixels.blocks=new Array(m*y);for(var b=0,x=0;x<y;x++)for(var D=0;D<m;D++){var k=0,O=a.byteLength-I;u=new DataView(a,I,Math.min(10,O));var S={};f.pixels.blocks[b++]=S;var _=u.getUint8(0);if(k++,S.encoding=_&63,S.encoding>3)throw"Invalid block encoding ("+S.encoding+")";if(S.encoding===2){I++;continue}if(_!==0&&_!==2){if(_>>=6,S.offsetType=_,_===2)S.offset=u.getInt8(1),k++;else if(_===1)S.offset=u.getInt16(1,!0),k+=2;else if(_===0)S.offset=u.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(S.encoding===1)if(_=u.getUint8(k),k++,S.bitsPerPixel=_&63,_>>=6,S.numValidPixelsType=_,_===2)S.numValidPixels=u.getUint8(k),k++;else if(_===1)S.numValidPixels=u.getUint16(k,!0),k+=2;else if(_===0)S.numValidPixels=u.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(I+=k,S.encoding!==3){var N,L;if(S.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";N=new ArrayBuffer(F*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,F*4));var T=new Float32Array(N);S.rawData=T,I+=F*4}else if(S.encoding===1){var R=Math.ceil(S.numValidPixels*S.bitsPerPixel/8),Y=Math.ceil(R/4);N=new ArrayBuffer(Y*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,R)),S.stuffedData=new Uint32Array(N),I+=R}}}return f.eofOffset=I,f},o=function(a,I,c,f,h,u,B){var Q=(1<<I)-1,C=0,p,w=0,d,E,m=Math.ceil((B-f)/h),y=a.length*4-Math.ceil(I*c/8);for(a[a.length-1]<<=8*y,p=0;p<c;p++){if(w===0&&(E=a[C++],w=32),w>=I)d=E>>>w-I&Q,w-=I;else{var b=I-w;d=(E&Q)<<b&Q,E=a[C++],w=32-b,d+=E>>>w}u[p]=d<m?f+d*h:B}return u};return r}(),t=function(){"use strict";var r={unstuff:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w,d,E,m,y=g.length*4-Math.ceil(a*I/8);if(g[g.length-1]<<=8*y,c)for(C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=c[w];else for(m=Math.ceil((u-f)/h),C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=w<m?f+w*h:u},unstuffLUT:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w,d=[],E=g.length*4-Math.ceil(o*a/8);g[g.length-1]<<=8*E;var m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(w=g[u++],C=32),C>=o?(p=w>>>C-o&h,C-=o):(Q=o-C,p=(w&h)<<Q&h,w=g[u++],C=32-Q,p+=w>>>C),d[B]=p<m?I+p*c:f;return d.unshift(I),d},unstuff2:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w=0,d,E,m;if(c)for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=c[d];else{var y=Math.ceil((u-f)/h);for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=d<y?f+d*h:u}return o},unstuffLUT2:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w=0,d,E=[],m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(d=g[u++],C=32,w=0),C>=o?(p=d>>>w&h,C-=o,w+=o):(Q=o-C,p=d>>>w&h,d=g[u++],C=32-Q,p|=(d&(1<<Q)-1)<<o-Q,w=Q),E[B]=p<m?I+p*c:f;return E.unshift(I),E},originalUnstuff:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B,Q,C,p=g.length*4-Math.ceil(a*I/8);for(g[g.length-1]<<=8*p,h=0;h<I;h++)u===0&&(Q=g[f++],u=32),u>=a?(B=Q>>>u-a&c,u-=a):(C=a-u,B=(Q&c)<<C&c,Q=g[f++],u=32-C,B+=Q>>>u),o[h]=B;return o},originalUnstuff2:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B=0,Q,C,p;for(h=0;h<I;h++)u===0&&(C=g[f++],u=32,B=0),u>=a?(Q=C>>>B&c,u-=a,B+=a):(p=a-u,Q=C>>>B&c,C=g[f++],u=32-p,Q|=(C&(1<<p)-1)<<a-p,B=p),o[h]=Q;return o}},n={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(g){for(var o=65535,a=65535,I=g.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do o+=g[f++]<<8,a+=o+=g[f++];while(--h);o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16)}return I&1&&(a+=o+=g[f]<<8),o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16),(a<<16|o)>>>0},readHeaderInfo:function(g,o){var a=o.ptr,I=new Uint8Array(g,a,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;a+=6;var f=new DataView(g,a,8),h=f.getInt32(0,!0);c.fileVersion=h,a+=4,h>=3&&(c.checksum=f.getUint32(4,!0),a+=4),f=new DataView(g,a,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),a+=8,h>=4?(c.numDims=f.getUint32(8,!0),a+=4):c.numDims=1,f=new DataView(g,a,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),a+=40,o.headerInfo=c,o.ptr=a;var u,B;if(h>=3&&(B=h>=4?52:48,u=this.computeChecksumFletcher32(new Uint8Array(g,a-B,c.blobSize-14)),u!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(g,o){var a=o.headerInfo,I=this.getDataTypeArray(a.imageType),c=a.numDims*this.getDataTypeSize(a.imageType),f=this.readSubArray(g,o.ptr,I,c),h=this.readSubArray(g,o.ptr+c,I,c);o.ptr+=2*c;var u,B=!0;for(u=0;u<a.numDims;u++)if(f[u]!==h[u]){B=!1;break}return a.minValues=f,a.maxValues=h,B},readSubArray:function(g,o,a,I){var c;if(a===Uint8Array)c=new Uint8Array(g,o,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(g,o,I)),c=new a(f)}return c},readMask:function(g,o){var a=o.ptr,I=o.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(g,a,4),u={};if(u.numBytes=h.getUint32(0,!0),a+=4,(f===0||c===f)&&u.numBytes!==0)throw"invalid mask";var B,Q;if(f===0)B=new Uint8Array(Math.ceil(c/8)),u.bitset=B,Q=new Uint8Array(c),o.pixels.resultMask=Q,a+=u.numBytes;else if(u.numBytes>0){B=new Uint8Array(Math.ceil(c/8)),h=new DataView(g,a,u.numBytes);var C=h.getInt16(0,!0),p=2,w=0,d=0;do{if(C>0)for(;C--;)B[w++]=h.getUint8(p++);else for(d=h.getUint8(p++),C=-C;C--;)B[w++]=d;C=h.getInt16(p,!0),p+=2}while(p<u.numBytes);if(C!==-32768||w<B.length)throw"Unexpected end of mask RLE encoding";Q=new Uint8Array(c);var E=0,m=0;for(m=0;m<c;m++)m&7?(E=B[m>>3],E<<=m&7):E=B[m>>3],E&128&&(Q[m]=1);o.pixels.resultMask=Q,u.bitset=B,a+=u.numBytes}return o.ptr=a,o.mask=u,!0},readDataOneSweep:function(g,o,a,I){var c=o.ptr,f=o.headerInfo,h=f.numDims,u=f.width*f.height,B=f.imageType,Q=f.numValidPixel*n.getDataTypeSize(B)*h,C,p=o.pixels.resultMask;if(a===Uint8Array)C=new Uint8Array(g,c,Q);else{var w=new ArrayBuffer(Q),d=new Uint8Array(w);d.set(new Uint8Array(g,c,Q)),C=new a(w)}if(C.length===u*h)I?o.pixels.resultPixels=n.swapDimensionOrder(C,u,h,a,!0):o.pixels.resultPixels=C;else{o.pixels.resultPixels=new a(u*h);var E=0,m=0,y=0,b=0;if(h>1){if(I){for(m=0;m<u;m++)if(p[m])for(b=m,y=0;y<h;y++,b+=u)o.pixels.resultPixels[b]=C[E++]}else for(m=0;m<u;m++)if(p[m])for(b=m*h,y=0;y<h;y++)o.pixels.resultPixels[b+y]=C[E++]}else for(m=0;m<u;m++)p[m]&&(o.pixels.resultPixels[m]=C[E++])}return c+=Q,o.ptr=c,!0},readHuffmanTree:function(g,o){var a=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(g,o.ptr,16);o.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),u=I.getInt32(12,!0);if(h>=u)return!1;var B=new Uint32Array(u-h);n.decodeBits(g,o,B);var Q=[],C,p,w,d;for(C=h;C<u;C++)p=C-(C<f?0:f),Q[p]={first:B[C-h],second:null};var E=g.byteLength-o.ptr,m=Math.ceil(E/4),y=new ArrayBuffer(m*4),b=new Uint8Array(y);b.set(new Uint8Array(g,o.ptr,E));var x=new Uint32Array(y),D=0,k,O=0;for(k=x[0],C=h;C<u;C++)p=C-(C<f?0:f),d=Q[p].first,d>0&&(Q[p].second=k<<D>>>32-d,32-D>=d?(D+=d,D===32&&(D=0,O++,k=x[O])):(D+=d-32,O++,k=x[O],Q[p].second|=k>>>32-D));var S=0,_=0,N=new l;for(C=0;C<Q.length;C++)Q[C]!==void 0&&(S=Math.max(S,Q[C].first));S>=a?_=a:_=S;var L=[],F,T,R,Y,J,z;for(C=h;C<u;C++)if(p=C-(C<f?0:f),d=Q[p].first,d>0)if(F=[d,p],d<=_)for(T=Q[p].second<<_-d,R=1<<_-d,w=0;w<R;w++)L[T|w]=F;else for(T=Q[p].second,z=N,Y=d-1;Y>=0;Y--)J=T>>>Y&1,J?(z.right||(z.right=new l),z=z.right):(z.left||(z.left=new l),z=z.left),Y===0&&!z.val&&(z.val=F[1]);return{decodeLut:L,numBitsLUTQick:_,numBitsLUT:S,tree:N,stuffedData:x,srcPtr:O,bitPos:D}},readHuffman:function(g,o,a,I){var c=o.headerInfo,f=c.numDims,h=o.headerInfo.height,u=o.headerInfo.width,B=u*h,Q=this.readHuffmanTree(g,o),C=Q.decodeLut,p=Q.tree,w=Q.stuffedData,d=Q.srcPtr,E=Q.bitPos,m=Q.numBitsLUTQick,y=Q.numBitsLUT,b=o.headerInfo.imageType===0?128:0,x,D,k,O=o.pixels.resultMask,S,_,N,L,F,T,R,Y=0;E>0&&(d++,E=0);var J=w[d],z=o.encodeMode===1,U=new a(B*f),v=U,G;if(f<2||z){for(G=0;G<f;G++)if(f>1&&(v=new a(U.buffer,B*G,B),Y=0),o.headerInfo.numValidPixel===u*h)for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,z?(F>0?k+=Y:L>0?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++)if(O[T]){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,z?(F>0&&O[T-1]?k+=Y:L>0&&O[T-u]?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++)if(T=L*u+F,!O||O[T])for(G=0;G<f;G++,T+=B){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,v[T]=k}o.ptr=o.ptr+(d+1)*4+(E>0?4:0),o.pixels.resultPixels=U,f>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(U,B,f,a))},decodeBits:function(g,o,a,I,c){{var f=o.headerInfo,h=f.fileVersion,u=0,B=g.byteLength-o.ptr>=5?5:g.byteLength-o.ptr,Q=new DataView(g,o.ptr,B),C=Q.getUint8(0);u++;var p=C>>6,w=p===0?4:3-p,d=(C&32)>0,E=C&31,m=0;if(w===1)m=Q.getUint8(u),u++;else if(w===2)m=Q.getUint16(u,!0),u+=2;else if(w===4)m=Q.getUint32(u,!0),u+=4;else throw"Invalid valid pixel count type";var y=2*f.maxZError,b,x,D,k,O,S,_,N,L,F,T=f.numDims>1?f.maxValues[c]:f.zMax;if(d){for(o.counter.lut++,N=Q.getUint8(u),L=E,u++,k=Math.ceil((N-1)*E/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),o.ptr+=u,D.set(new Uint8Array(g,o.ptr,k)),_=new Uint32Array(x),o.ptr+=k,F=0;N-1>>>F;)F++;k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(g,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?S=r.unstuffLUT2(_,E,N-1,I,y,T):S=r.unstuffLUT(_,E,N-1,I,y,T),h>=3?r.unstuff2(b,a,F,m,S):r.unstuff(b,a,F,m,S)}else o.counter.bitstuffer++,F=E,o.ptr+=u,F>0&&(k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(g,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?I==null?r.originalUnstuff2(b,a,F,m):r.unstuff2(b,a,F,m,!1,I,y,T):I==null?r.originalUnstuff(b,a,F,m):r.unstuff(b,a,F,m,!1,I,y,T))}},readTiles:function(g,o,a,I){var c=o.headerInfo,f=c.width,h=c.height,u=f*h,B=c.microBlockSize,Q=c.imageType,C=n.getDataTypeSize(Q),p=Math.ceil(f/B),w=Math.ceil(h/B);o.pixels.numBlocksY=w,o.pixels.numBlocksX=p,o.pixels.ptr=0;var d=0,E=0,m=0,y=0,b=0,x=0,D=0,k=0,O=0,S=0,_=0,N=0,L=0,F=0,T=0,R=0,Y,J,z,U,v,G,V=new a(B*B),P=h%B||B,$=f%B||B,j,ie,ce=c.numDims,Ve,Ee=o.pixels.resultMask,Ie=o.pixels.resultPixels,da=c.fileVersion,ur=da>=5?14:15,Ne,Vt=c.zMax,Re;for(m=0;m<w;m++)for(b=m!==w-1?B:P,y=0;y<p;y++)for(x=y!==p-1?B:$,_=m*f*B+y*B,N=f-x,Ve=0;Ve<ce;Ve++){if(ce>1?(Re=Ie,_=m*f*B+y*B,Ie=new a(o.pixels.resultPixels.buffer,u*Ve*C,u),Vt=c.maxValues[Ve]):Re=null,D=g.byteLength-o.ptr,Y=new DataView(g,o.ptr,Math.min(10,D)),J={},R=0,k=Y.getUint8(0),R++,Ne=c.fileVersion>=5?k&4:0,O=k>>6&255,S=k>>2&ur,S!==(y*B>>3&ur)||Ne&&Ve===0)throw"integrity issue";if(G=k&3,G>3)throw o.ptr+=R,"Invalid block encoding ("+G+")";if(G===2){if(Ne)if(Ee)for(d=0;d<b;d++)for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Re[_]),_++;else for(d=0;d<b;d++)for(E=0;E<x;E++)Ie[_]=Re[_],_++;o.counter.constant++,o.ptr+=R;continue}else if(G===0){if(Ne)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=R,L=b*x*C,F=g.byteLength-o.ptr,L=L<F?L:F,z=new ArrayBuffer(L%C===0?L:L+C-L%C),U=new Uint8Array(z),U.set(new Uint8Array(g,o.ptr,L)),v=new a(z),T=0,Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=v[T++]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_++]=v[T++];_+=N}o.ptr+=T*C}else if(j=n.getDataTypeUsed(Ne&&Q<6?4:Q,O),ie=n.getOnePixel(J,R,j,Y),R+=n.getDataTypeSize(j),G===3)if(o.ptr+=R,o.counter.constantoffset++,Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie,_++;_+=N}else if(o.ptr+=R,n.decodeBits(g,o,V,ie,Ve),R=0,Ne)if(Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]+Re[_]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_]=V[R++]+Re[_],_++;_+=N}else if(Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_++]=V[R++];_+=N}}ce>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(o.pixels.resultPixels,u,ce,a))},formatFileInfo:function(g){return{fileIdentifierString:g.headerInfo.fileIdentifierString,fileVersion:g.headerInfo.fileVersion,imageType:g.headerInfo.imageType,height:g.headerInfo.height,width:g.headerInfo.width,numValidPixel:g.headerInfo.numValidPixel,microBlockSize:g.headerInfo.microBlockSize,blobSize:g.headerInfo.blobSize,maxZError:g.headerInfo.maxZError,pixelType:n.getPixelType(g.headerInfo.imageType),eofOffset:g.eofOffset,mask:g.mask?{numBytes:g.mask.numBytes}:null,pixels:{numBlocksX:g.pixels.numBlocksX,numBlocksY:g.pixels.numBlocksY,maxValue:g.headerInfo.zMax,minValue:g.headerInfo.zMin,noDataValue:g.noDataValue}}},constructConstantSurface:function(g,o){var a=g.headerInfo.zMax,I=g.headerInfo.zMin,c=g.headerInfo.maxValues,f=g.headerInfo.numDims,h=g.headerInfo.height*g.headerInfo.width,u=0,B=0,Q=0,C=g.pixels.resultMask,p=g.pixels.resultPixels;if(C)if(f>1){if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)C[B]&&(p[Q+B]=a);else for(B=0;B<h;B++)if(C[B])for(Q=B*f,u=0;u<f;u++)p[Q+f]=c[u]}else for(B=0;B<h;B++)C[B]&&(p[B]=a);else if(f>1&&I!==a)if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)p[Q+B]=a;else for(B=0;B<h;B++)for(Q=B*f,u=0;u<f;u++)p[Q+u]=c[u];else for(B=0;B<h*f;B++)p[B]=a},getDataTypeArray:function(g){var o;switch(g){case 0:o=Int8Array;break;case 1:o=Uint8Array;break;case 2:o=Int16Array;break;case 3:o=Uint16Array;break;case 4:o=Int32Array;break;case 5:o=Uint32Array;break;case 6:o=Float32Array;break;case 7:o=Float64Array;break;default:o=Float32Array}return o},getPixelType:function(g){var o;switch(g){case 0:o="S8";break;case 1:o="U8";break;case 2:o="S16";break;case 3:o="U16";break;case 4:o="S32";break;case 5:o="U32";break;case 6:o="F32";break;case 7:o="F64";break;default:o="F32"}return o},isValidPixelValue:function(g,o){if(o==null)return!1;var a;switch(g){case 0:a=o>=-128&&o<=127;break;case 1:a=o>=0&&o<=255;break;case 2:a=o>=-32768&&o<=32767;break;case 3:a=o>=0&&o<=65536;break;case 4:a=o>=-2147483648&&o<=2147483647;break;case 5:a=o>=0&&o<=4294967296;break;case 6:a=o>=-34027999387901484e22&&o<=34027999387901484e22;break;case 7:a=o>=-17976931348623157e292&&o<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(g){var o=0;switch(g){case 0:case 1:o=1;break;case 2:case 3:o=2;break;case 4:case 5:case 6:o=4;break;case 7:o=8;break;default:o=g}return o},getDataTypeUsed:function(g,o){var a=g;switch(g){case 2:case 4:a=g-o;break;case 3:case 5:a=g-2*o;break;case 6:o===0?a=g:o===1?a=2:a=1;break;case 7:o===0?a=g:a=g-2*o+1;break;default:a=g;break}return a},getOnePixel:function(g,o,a,I){var c=0;switch(a){case 0:c=I.getInt8(o);break;case 1:c=I.getUint8(o);break;case 2:c=I.getInt16(o,!0);break;case 3:c=I.getUint16(o,!0);break;case 4:c=I.getInt32(o,!0);break;case 5:c=I.getUInt32(o,!0);break;case 6:c=I.getFloat32(o,!0);break;case 7:c=I.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(g,o,a,I,c){var f=0,h=0,u=0,B=0,Q=g;if(a>1)if(Q=new I(o*a),c)for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[B]=g[h++];else for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[h++]=g[B];return Q}},l=function(g,o,a){this.val=g,this.left=o,this.right=a},s={decode:function(g,o){o=o||{};var a=o.noDataValue,I=0,c={};if(c.ptr=o.inputOffset||0,c.pixels={},!!n.readHeaderInfo(g,c)){var f=c.headerInfo,h=f.fileVersion,u=n.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;n.readMask(g,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=o.maskData);var B=f.width*f.height;c.pixels.resultPixels=new u(B*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var Q=!o.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)n.constructConstantSurface(c,Q);else if(h>=4&&n.checkMinMaxRanges(g,c))n.constructConstantSurface(c,Q);else{var C=new DataView(g,c.ptr,2),p=C.getUint8(0);if(c.ptr++,p)n.readDataOneSweep(g,c,u,Q);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=C.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?n.readHuffman(g,c,u,Q):n.readTiles(g,c,u,Q)}else n.readTiles(g,c,u,Q)}c.eofOffset=c.ptr;var d;o.inputOffset?(d=c.headerInfo.blobSize+o.inputOffset-c.ptr,Math.abs(d)>=1&&(c.eofOffset=o.inputOffset+c.headerInfo.blobSize)):(d=c.headerInfo.blobSize-c.ptr,Math.abs(d)>=1&&(c.eofOffset=c.headerInfo.blobSize));var E={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&n.isValidPixelValue(f.imageType,a)){var m=c.pixels.resultMask;for(I=0;I<B;I++)m[I]||(E.pixelData[I]=a);E.noDataValue=a}return c.noDataValue=a,o.returnFileInfo&&(E.fileInfo=n.formatFileInfo(c)),E}},getBandCount:function(g){var o=0,a=0,I={};for(I.ptr=0,I.pixels={};a<g.byteLength-58;)n.readHeaderInfo(g,I),a+=I.headerInfo.blobSize,o++,I.ptr=a;return o}};return s}(),A=function(){var r=new ArrayBuffer(4),n=new Uint8Array(r),l=new Uint32Array(r);return l[0]=1,n[0]===1}(),i={decode:function(r,n){if(!A)throw"Big endian system is not supported.";n=n||{};var l=n.inputOffset||0,s=new Uint8Array(r,l,10),g=String.fromCharCode.apply(null,s),o,a;if(g.trim()==="CntZImage")o=e,a=1;else if(g.substring(0,5)==="Lerc2")o=t,a=2;else throw"Unexpected file identifier string: "+g;for(var I=0,c=r.byteLength-10,f,h=[],u,B,Q={width:0,height:0,pixels:[],pixelType:n.pixelType,mask:null,statistics:[]},C=0;l<c;){var p=o.decode(r,{inputOffset:l,encodedMaskData:f,maskData:B,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:n.returnPixelInterleavedDims,pixelType:n.pixelType||null,noDataValue:n.noDataValue||null});l=p.fileInfo.eofOffset,B=p.maskData,I===0&&(f=p.encodedMaskData,Q.width=p.width,Q.height=p.height,Q.dimCount=p.dimCount||1,Q.pixelType=p.pixelType||p.fileInfo.pixelType,Q.mask=B),a>1&&(B&&h.push(B),p.fileInfo.mask&&p.fileInfo.mask.numBytes>0&&C++),I++,Q.pixels.push(p.pixelData),Q.statistics.push({minValue:p.minValue,maxValue:p.maxValue,noDataValue:p.noDataValue,dimStats:p.dimStats})}var w,d,E;if(a>1&&C>1){for(E=Q.width*Q.height,Q.bandMasks=h,B=new Uint8Array(E),B.set(h[0]),w=1;w<h.length;w++)for(u=h[w],d=0;d<E;d++)B[d]=B[d]&u[d];Q.maskData=B}return Q}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Rt<"u"&&Rt.exports?Rt.exports=i:this.Lerc=i})()});var qA,Se,Ji,Hi,Tt,Ko,Vo=he(()=>{Hi={env:{emscripten_notify_memory_growth:function(e){Ji=new Uint8Array(Se.exports.memory.buffer)}}},Tt=class{init(){return qA||(typeof fetch<"u"?qA=fetch("data:application/wasm;base64,"+Ko).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Hi)).then(this._init):qA=WebAssembly.instantiate(Buffer.from(Ko,"base64"),Hi).then(this._init),qA)}_init(t){Se=t.instance,Hi.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!Se)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=Se.exports.malloc(i);Ji.set(t,r),A=A||Number(Se.exports.ZSTD_findDecompressedSize(r,i));let n=Se.exports.malloc(A),l=Se.exports.ZSTD_decompress(n,A,r,i),s=Ji.slice(n,n+l);return Se.exports.free(r),Se.exports.free(n),s}},Ko="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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"});var Zo={};Te(Zo,{default:()=>vt,zstd:()=>zo});var Po,zo,vt,Xo=he(()=>{Yi();Po=ve(Jo(),1);Vo();Ge();st();zo=new Tt,vt=class extends Ae{constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[tn.AddCompression]}decodeBlock(t){switch(this.addCompression){case ot.None:break;case ot.Deflate:t=kt(new Uint8Array(t)).buffer;break;case ot.Zstandard:t=zo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Po.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var jo={};Te(jo,{default:()=>Gt});var Gt,$o=he(()=>{Ge();Gt=class extends Ae{constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,A){let i=new Blob([A]),r=await createImageBitmap(i),n;typeof document<"u"?(n=document.createElement("canvas"),n.width=r.width,n.height=r.height):n=new OffscreenCanvas(r.width,r.height);let l=n.getContext("2d");return l.drawImage(r,0,0),l.getImageData(0,0,r.width,r.height).data.buffer}}});var cs=Z(()=>{});var Is=Z(()=>{});var hs=Z(()=>{});var Kt=Z(Fe=>{"use strict";var vs=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Zf=vs+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Gs="["+vs+"]["+Zf+"]*",Xf=new RegExp("^"+Gs+"$"),jf=function(e,t){let A=[],i=t.exec(e);for(;i;){let r=[];r.startIndex=t.lastIndex-i[0].length;let n=i.length;for(let l=0;l<n;l++)r.push(i[l]);A.push(r),i=t.exec(e)}return A},$f=function(e){let t=Xf.exec(e);return!(t===null||typeof t>"u")};Fe.isExist=function(e){return typeof e<"u"};Fe.isEmptyObject=function(e){return Object.keys(e).length===0};Fe.merge=function(e,t,A){if(t){let i=Object.keys(t),r=i.length;for(let n=0;n<r;n++)A==="strict"?e[i[n]]=[t[i[n]]]:e[i[n]]=t[i[n]]}};Fe.getValue=function(e){return Fe.isExist(e)?e:""};Fe.isName=$f;Fe.getAllMatches=jf;Fe.nameRegexp=Gs});var sr=Z(qs=>{"use strict";var or=Kt(),Wf={allowBooleanAttributes:!1,unpairedTags:[]};qs.validate=function(e,t){t=Object.assign({},Wf,t);let A=[],i=!1,r=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let n=0;n<e.length;n++)if(e[n]==="<"&&e[n+1]==="?"){if(n+=2,n=Ls(e,n),n.err)return n}else if(e[n]==="<"){let l=n;if(n++,e[n]==="!"){n=Ms(e,n);continue}else{let s=!1;e[n]==="/"&&(s=!0,n++);let g="";for(;n<e.length&&e[n]!==">"&&e[n]!==" "&&e[n]!==" "&&e[n]!==`
10
10
  `&&e[n]!=="\r";n++)g+=e[n];if(g=g.trim(),g[g.length-1]==="/"&&(g=g.substring(0,g.length-1),n--),!sc(g)){let I;return g.trim().length===0?I="Invalid space after '<'.":I="Tag '"+g+"' is an invalid name.",W("InvalidTag",I,oe(e,n))}let o=tc(e,n);if(o===!1)return W("InvalidAttr","Attributes for '"+g+"' have open quote.",oe(e,n));let a=o.value;if(n=o.index,a[a.length-1]==="/"){let I=n-a.length;a=a.substring(0,a.length-1);let c=Os(a,t);if(c===!0)i=!0;else return W(c.err.code,c.err.msg,oe(e,I+c.err.line))}else if(s)if(o.tagClosed){if(a.trim().length>0)return W("InvalidTag","Closing tag '"+g+"' can't have attributes or invalid starting.",oe(e,l));if(A.length===0)return W("InvalidTag","Closing tag '"+g+"' has not been opened.",oe(e,l));{let I=A.pop();if(g!==I.tagName){let c=oe(e,I.tagStartPos);return W("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+c.line+", col "+c.col+") instead of closing tag '"+g+"'.",oe(e,l))}A.length==0&&(r=!0)}}else return W("InvalidTag","Closing tag '"+g+"' doesn't have proper closing.",oe(e,n));else{let I=Os(a,t);if(I!==!0)return W(I.err.code,I.err.msg,oe(e,n-a.length+I.err.line));if(r===!0)return W("InvalidXml","Multiple possible root nodes found.",oe(e,n));t.unpairedTags.indexOf(g)!==-1||A.push({tagName:g,tagStartPos:l}),i=!0}for(n++;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="!"){n++,n=Ms(e,n);continue}else if(e[n+1]==="?"){if(n=Ls(e,++n),n.err)return n}else break;else if(e[n]==="&"){let I=nc(e,n);if(I==-1)return W("InvalidChar","char '&' is not expected.",oe(e,n));n=I}else if(r===!0&&!Us(e[n]))return W("InvalidXml","Extra text at the end",oe(e,n));e[n]==="<"&&n--}}else{if(Us(e[n]))continue;return W("InvalidChar","char '"+e[n]+"' is not expected.",oe(e,n))}if(i){if(A.length==1)return W("InvalidTag","Unclosed tag '"+A[0].tagName+"'.",oe(e,A[0].tagStartPos));if(A.length>0)return W("InvalidXml","Invalid '"+JSON.stringify(A.map(n=>n.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return W("InvalidXml","Start tag expected.",1);return!0};function Us(e){return e===" "||e===" "||e===`
11
- `||e==="\r"}function Ls(e,t){let A=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let i=e.substr(A,t-A);if(t>5&&i==="xml")return W("InvalidXml","XML declaration allowed only at the start of the document.",oe(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function Ms(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let A=1;for(t+=8;t<e.length;t++)if(e[t]==="<")A++;else if(e[t]===">"&&(A--,A===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var ec='"',Ac="'";function tc(e,t){let A="",i="",r=!1;for(;t<e.length;t++){if(e[t]===ec||e[t]===Ac)i===""?i=e[t]:i!==e[t]||(i="");else if(e[t]===">"&&i===""){r=!0;break}A+=e[t]}return i!==""?!1:{value:A,index:t,tagClosed:r}}var ic=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Os(e,t){let A=or.getAllMatches(e,ic),i={};for(let r=0;r<A.length;r++){if(A[r][1].length===0)return W("InvalidAttr","Attribute '"+A[r][2]+"' has no space in starting.",VA(A[r]));if(A[r][3]!==void 0&&A[r][4]===void 0)return W("InvalidAttr","Attribute '"+A[r][2]+"' is without value.",VA(A[r]));if(A[r][3]===void 0&&!t.allowBooleanAttributes)return W("InvalidAttr","boolean attribute '"+A[r][2]+"' is not allowed.",VA(A[r]));let n=A[r][2];if(!oc(n))return W("InvalidAttr","Attribute '"+n+"' is an invalid name.",VA(A[r]));if(!i.hasOwnProperty(n))i[n]=1;else return W("InvalidAttr","Attribute '"+n+"' is repeated.",VA(A[r]))}return!0}function rc(e,t){let A=/\d/;for(e[t]==="x"&&(t++,A=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(A))break}return-1}function nc(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,rc(e,t);let A=0;for(;t<e.length;t++,A++)if(!(e[t].match(/\w/)&&A<20)){if(e[t]===";")break;return-1}return t}function W(e,t,A){return{err:{code:e,msg:t,line:A.line||A,col:A.col}}}function oc(e){return or.isName(e)}function sc(e){return or.isName(e)}function oe(e,t){let A=e.substring(0,t).split(/\r?\n/);return{line:A.length,col:A[A.length-1].length+1}}function VA(e){return e.startIndex+e[1].length}});var Hs=Z(ar=>{var Ys={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,A){return e}},ac=function(e){return Object.assign({},Ys,e)};ar.buildOptions=ac;ar.defaultOptions=Ys});var Ks=Z((ru,Js)=>{"use strict";var gr=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,A){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:A})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child})}};Js.exports=gr});var Ps=Z((nu,Vs)=>{var gc=Kt();function lc(e,t){let A={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let i=1,r=!1,n=!1,l="";for(;t<e.length;t++)if(e[t]==="<"&&!n){if(r&&Ic(e,t))t+=7,[entityName,val,t]=fc(e,t+1),val.indexOf("&")===-1&&(A[Ec(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&hc(e,t))t+=8;else if(r&&uc(e,t))t+=8;else if(r&&Bc(e,t))t+=9;else if(cc)n=!0;else throw new Error("Invalid DOCTYPE");i++,l=""}else if(e[t]===">"){if(n?e[t-1]==="-"&&e[t-2]==="-"&&(n=!1,i--):i--,i===0)break}else e[t]==="["?r=!0:l+=e[t];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:A,i:t}}function fc(e,t){let A="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)A+=e[t];if(A=A.trim(),A.indexOf(" ")!==-1)throw new Error("External entites are not supported");let i=e[t++],r="";for(;t<e.length&&e[t]!==i;t++)r+=e[t];return[A,r,t]}function cc(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function Ic(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function hc(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function uc(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function Bc(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function Ec(e){if(gc.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}Vs.exports=lc});var Zs=Z((ou,zs)=>{var Cc=/^[-+]?0x[a-fA-F0-9]+$/,dc=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Qc={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function pc(e,t={}){if(t=Object.assign({},Qc,t),!e||typeof e!="string")return e;let A=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(A))return e;if(t.hex&&Cc.test(A))return Number.parseInt(A,16);{let i=dc.exec(A);if(i){let r=i[1],n=i[2],l=wc(i[3]),s=i[4]||i[6];if(!t.leadingZeros&&n.length>0&&r&&A[2]!==".")return e;if(!t.leadingZeros&&n.length>0&&!r&&A[1]!==".")return e;{let g=Number(A),o=""+g;return o.search(/[eE]/)!==-1||s?t.eNotation?g:e:A.indexOf(".")!==-1?o==="0"&&l===""||o===l||r&&o==="-"+l?g:e:n?l===o||r+l===o?g:e:A===o||A===r+o?g:e}}else return e}}function wc(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}zs.exports=pc});var lr=Z((su,Xs)=>{function yc(e){return typeof e=="function"?e:Array.isArray(e)?t=>{for(let A of e)if(typeof A=="string"&&t===A||A instanceof RegExp&&A.test(t))return!0}:()=>!1}Xs.exports=yc});var Ws=Z((au,$s)=>{"use strict";var js=Kt(),PA=Ks(),mc=Ps(),_c=Zs(),xc=lr(),fr=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(A,i)=>String.fromCharCode(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(A,i)=>String.fromCharCode(Number.parseInt(i,16))}},this.addExternalEntities=bc,this.parseXml=Nc,this.parseTextData=Dc,this.resolveNameSpace=Sc,this.buildAttributesMap=Fc,this.isItStopNode=Gc,this.replaceEntitiesValue=Tc,this.readStopNodeData=Lc,this.saveTextToParentTag=vc,this.addChild=Rc,this.ignoreAttributesFn=xc(this.options.ignoreAttributes)}};function bc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];this.lastEntities[i]={regex:new RegExp("&"+i+";","g"),val:e[i]}}}function Dc(e,t,A,i,r,n,l){if(e!==void 0&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){l||(e=this.replaceEntitiesValue(e));let s=this.options.tagValueProcessor(t,e,A,r,n);return s==null?e:typeof s!=typeof e||s!==e?s:this.options.trimValues?Ir(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?Ir(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function Sc(e){if(this.options.removeNSPrefix){let t=e.split(":"),A=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=A+t[1])}return e}var kc=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Fc(e,t,A){if(this.options.ignoreAttributes!==!0&&typeof e=="string"){let i=js.getAllMatches(e,kc),r=i.length,n={};for(let l=0;l<r;l++){let s=this.resolveNameSpace(i[l][1]);if(this.ignoreAttributesFn(s,t))continue;let g=i[l][4],o=this.options.attributeNamePrefix+s;if(s.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),o==="__proto__"&&(o="#__proto__"),g!==void 0){this.options.trimValues&&(g=g.trim()),g=this.replaceEntitiesValue(g);let a=this.options.attributeValueProcessor(s,g,t);a==null?n[o]=g:typeof a!=typeof g||a!==g?n[o]=a:n[o]=Ir(g,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[o]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let l={};return l[this.options.attributesGroupName]=n,l}return n}}var Nc=function(e){e=e.replace(/\r\n?/g,`
11
+ `||e==="\r"}function Ls(e,t){let A=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let i=e.substr(A,t-A);if(t>5&&i==="xml")return W("InvalidXml","XML declaration allowed only at the start of the document.",oe(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function Ms(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let A=1;for(t+=8;t<e.length;t++)if(e[t]==="<")A++;else if(e[t]===">"&&(A--,A===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var ec='"',Ac="'";function tc(e,t){let A="",i="",r=!1;for(;t<e.length;t++){if(e[t]===ec||e[t]===Ac)i===""?i=e[t]:i!==e[t]||(i="");else if(e[t]===">"&&i===""){r=!0;break}A+=e[t]}return i!==""?!1:{value:A,index:t,tagClosed:r}}var ic=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Os(e,t){let A=or.getAllMatches(e,ic),i={};for(let r=0;r<A.length;r++){if(A[r][1].length===0)return W("InvalidAttr","Attribute '"+A[r][2]+"' has no space in starting.",VA(A[r]));if(A[r][3]!==void 0&&A[r][4]===void 0)return W("InvalidAttr","Attribute '"+A[r][2]+"' is without value.",VA(A[r]));if(A[r][3]===void 0&&!t.allowBooleanAttributes)return W("InvalidAttr","boolean attribute '"+A[r][2]+"' is not allowed.",VA(A[r]));let n=A[r][2];if(!oc(n))return W("InvalidAttr","Attribute '"+n+"' is an invalid name.",VA(A[r]));if(!i.hasOwnProperty(n))i[n]=1;else return W("InvalidAttr","Attribute '"+n+"' is repeated.",VA(A[r]))}return!0}function rc(e,t){let A=/\d/;for(e[t]==="x"&&(t++,A=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(A))break}return-1}function nc(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,rc(e,t);let A=0;for(;t<e.length;t++,A++)if(!(e[t].match(/\w/)&&A<20)){if(e[t]===";")break;return-1}return t}function W(e,t,A){return{err:{code:e,msg:t,line:A.line||A,col:A.col}}}function oc(e){return or.isName(e)}function sc(e){return or.isName(e)}function oe(e,t){let A=e.substring(0,t).split(/\r?\n/);return{line:A.length,col:A[A.length-1].length+1}}function VA(e){return e.startIndex+e[1].length}});var Hs=Z(ar=>{var Ys={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,A){return e}},ac=function(e){return Object.assign({},Ys,e)};ar.buildOptions=ac;ar.defaultOptions=Ys});var Ks=Z((ru,Js)=>{"use strict";var gr=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,A){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:A})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child})}};Js.exports=gr});var Ps=Z((nu,Vs)=>{var gc=Kt();function lc(e,t){let A={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let i=1,r=!1,n=!1,l="";for(;t<e.length;t++)if(e[t]==="<"&&!n){if(r&&Ic(e,t))t+=7,[entityName,val,t]=fc(e,t+1),val.indexOf("&")===-1&&(A[Ec(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&hc(e,t))t+=8;else if(r&&uc(e,t))t+=8;else if(r&&Bc(e,t))t+=9;else if(cc)n=!0;else throw new Error("Invalid DOCTYPE");i++,l=""}else if(e[t]===">"){if(n?e[t-1]==="-"&&e[t-2]==="-"&&(n=!1,i--):i--,i===0)break}else e[t]==="["?r=!0:l+=e[t];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:A,i:t}}function fc(e,t){let A="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)A+=e[t];if(A=A.trim(),A.indexOf(" ")!==-1)throw new Error("External entites are not supported");let i=e[t++],r="";for(;t<e.length&&e[t]!==i;t++)r+=e[t];return[A,r,t]}function cc(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function Ic(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function hc(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function uc(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function Bc(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function Ec(e){if(gc.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}Vs.exports=lc});var Zs=Z((ou,zs)=>{var Cc=/^[-+]?0x[a-fA-F0-9]+$/,dc=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Qc={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function pc(e,t={}){if(t=Object.assign({},Qc,t),!e||typeof e!="string")return e;let A=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(A))return e;if(t.hex&&Cc.test(A))return Number.parseInt(A,16);{let i=dc.exec(A);if(i){let r=i[1],n=i[2],l=wc(i[3]),s=i[4]||i[6];if(!t.leadingZeros&&n.length>0&&r&&A[2]!==".")return e;if(!t.leadingZeros&&n.length>0&&!r&&A[1]!==".")return e;{let g=Number(A),o=""+g;return o.search(/[eE]/)!==-1||s?t.eNotation?g:e:A.indexOf(".")!==-1?o==="0"&&l===""||o===l||r&&o==="-"+l?g:e:n?l===o||r+l===o?g:e:A===o||A===r+o?g:e}}else return e}}function wc(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}zs.exports=pc});var lr=Z((su,Xs)=>{function yc(e){return typeof e=="function"?e:Array.isArray(e)?t=>{for(let A of e)if(typeof A=="string"&&t===A||A instanceof RegExp&&A.test(t))return!0}:()=>!1}Xs.exports=yc});var Ws=Z((au,$s)=>{"use strict";var js=Kt(),PA=Ks(),mc=Ps(),_c=Zs(),xc=lr(),fr=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(A,i)=>String.fromCharCode(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(A,i)=>String.fromCharCode(Number.parseInt(i,16))}},this.addExternalEntities=Dc,this.parseXml=Nc,this.parseTextData=bc,this.resolveNameSpace=Sc,this.buildAttributesMap=Fc,this.isItStopNode=Gc,this.replaceEntitiesValue=Tc,this.readStopNodeData=Lc,this.saveTextToParentTag=vc,this.addChild=Rc,this.ignoreAttributesFn=xc(this.options.ignoreAttributes)}};function Dc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];this.lastEntities[i]={regex:new RegExp("&"+i+";","g"),val:e[i]}}}function bc(e,t,A,i,r,n,l){if(e!==void 0&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){l||(e=this.replaceEntitiesValue(e));let s=this.options.tagValueProcessor(t,e,A,r,n);return s==null?e:typeof s!=typeof e||s!==e?s:this.options.trimValues?Ir(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?Ir(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function Sc(e){if(this.options.removeNSPrefix){let t=e.split(":"),A=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=A+t[1])}return e}var kc=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Fc(e,t,A){if(this.options.ignoreAttributes!==!0&&typeof e=="string"){let i=js.getAllMatches(e,kc),r=i.length,n={};for(let l=0;l<r;l++){let s=this.resolveNameSpace(i[l][1]);if(this.ignoreAttributesFn(s,t))continue;let g=i[l][4],o=this.options.attributeNamePrefix+s;if(s.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),o==="__proto__"&&(o="#__proto__"),g!==void 0){this.options.trimValues&&(g=g.trim()),g=this.replaceEntitiesValue(g);let a=this.options.attributeValueProcessor(s,g,t);a==null?n[o]=g:typeof a!=typeof g||a!==g?n[o]=a:n[o]=Ir(g,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[o]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let l={};return l[this.options.attributesGroupName]=n,l}return n}}var Nc=function(e){e=e.replace(/\r\n?/g,`
12
12
  `);let t=new PA("!xml"),A=t,i="",r="";for(let n=0;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="/"){let s=eA(e,">",n,"Closing Tag is not closed."),g=e.substring(n+2,s).trim();if(this.options.removeNSPrefix){let I=g.indexOf(":");I!==-1&&(g=g.substr(I+1))}this.options.transformTagName&&(g=this.options.transformTagName(g)),A&&(i=this.saveTextToParentTag(i,A,r));let o=r.substring(r.lastIndexOf(".")+1);if(g&&this.options.unpairedTags.indexOf(g)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${g}>`);let a=0;o&&this.options.unpairedTags.indexOf(o)!==-1?(a=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):a=r.lastIndexOf("."),r=r.substring(0,a),A=this.tagsNodeStack.pop(),i="",n=s}else if(e[n+1]==="?"){let s=cr(e,n,!1,"?>");if(!s)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,A,r),!(this.options.ignoreDeclaration&&s.tagName==="?xml"||this.options.ignorePiTags)){let g=new PA(s.tagName);g.add(this.options.textNodeName,""),s.tagName!==s.tagExp&&s.attrExpPresent&&(g[":@"]=this.buildAttributesMap(s.tagExp,r,s.tagName)),this.addChild(A,g,r)}n=s.closeIndex+1}else if(e.substr(n+1,3)==="!--"){let s=eA(e,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let g=e.substring(n+4,s-2);i=this.saveTextToParentTag(i,A,r),A.add(this.options.commentPropName,[{[this.options.textNodeName]:g}])}n=s}else if(e.substr(n+1,2)==="!D"){let s=mc(e,n);this.docTypeEntities=s.entities,n=s.i}else if(e.substr(n+1,2)==="!["){let s=eA(e,"]]>",n,"CDATA is not closed.")-2,g=e.substring(n+9,s);i=this.saveTextToParentTag(i,A,r);let o=this.parseTextData(g,A.tagname,r,!0,!1,!0,!0);o==null&&(o=""),this.options.cdataPropName?A.add(this.options.cdataPropName,[{[this.options.textNodeName]:g}]):A.add(this.options.textNodeName,o),n=s+2}else{let s=cr(e,n,this.options.removeNSPrefix),g=s.tagName,o=s.rawTagName,a=s.tagExp,I=s.attrExpPresent,c=s.closeIndex;this.options.transformTagName&&(g=this.options.transformTagName(g)),A&&i&&A.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,A,r,!1));let f=A;if(f&&this.options.unpairedTags.indexOf(f.tagname)!==-1&&(A=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),g!==t.tagname&&(r+=r?"."+g:g),this.isItStopNode(this.options.stopNodes,r,g)){let h="";if(a.length>0&&a.lastIndexOf("/")===a.length-1)g[g.length-1]==="/"?(g=g.substr(0,g.length-1),r=r.substr(0,r.length-1),a=g):a=a.substr(0,a.length-1),n=s.closeIndex;else if(this.options.unpairedTags.indexOf(g)!==-1)n=s.closeIndex;else{let B=this.readStopNodeData(e,o,c+1);if(!B)throw new Error(`Unexpected end of ${o}`);n=B.i,h=B.tagContent}let u=new PA(g);g!==a&&I&&(u[":@"]=this.buildAttributesMap(a,r,g)),h&&(h=this.parseTextData(h,g,r,!0,I,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),u.add(this.options.textNodeName,h),this.addChild(A,u,r)}else{if(a.length>0&&a.lastIndexOf("/")===a.length-1){g[g.length-1]==="/"?(g=g.substr(0,g.length-1),r=r.substr(0,r.length-1),a=g):a=a.substr(0,a.length-1),this.options.transformTagName&&(g=this.options.transformTagName(g));let h=new PA(g);g!==a&&I&&(h[":@"]=this.buildAttributesMap(a,r,g)),this.addChild(A,h,r),r=r.substr(0,r.lastIndexOf("."))}else{let h=new PA(g);this.tagsNodeStack.push(A),g!==a&&I&&(h[":@"]=this.buildAttributesMap(a,r,g)),this.addChild(A,h,r),A=h}i="",n=c}}else i+=e[n];return t.child};function Rc(e,t,A){let i=this.options.updateTag(t.tagname,A,t[":@"]);i===!1||(typeof i=="string"&&(t.tagname=i),e.addChild(t))}var Tc=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){let A=this.docTypeEntities[t];e=e.replace(A.regx,A.val)}for(let t in this.lastEntities){let A=this.lastEntities[t];e=e.replace(A.regex,A.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){let A=this.htmlEntities[t];e=e.replace(A.regex,A.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function vc(e,t,A,i){return e&&(i===void 0&&(i=Object.keys(t.child).length===0),e=this.parseTextData(e,t.tagname,A,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,i),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function Gc(e,t,A){let i="*."+A;for(let r in e){let n=e[r];if(i===n||t===n)return!0}return!1}function Uc(e,t,A=">"){let i,r="";for(let n=t;n<e.length;n++){let l=e[n];if(i)l===i&&(i="");else if(l==='"'||l==="'")i=l;else if(l===A[0])if(A[1]){if(e[n+1]===A[1])return{data:r,index:n}}else return{data:r,index:n};else l===" "&&(l=" ");r+=l}}function eA(e,t,A,i){let r=e.indexOf(t,A);if(r===-1)throw new Error(i);return r+t.length-1}function cr(e,t,A,i=">"){let r=Uc(e,t+1,i);if(!r)return;let n=r.data,l=r.index,s=n.search(/\s/),g=n,o=!0;s!==-1&&(g=n.substring(0,s),n=n.substring(s+1).trimStart());let a=g;if(A){let I=g.indexOf(":");I!==-1&&(g=g.substr(I+1),o=g!==r.data.substr(I+1))}return{tagName:g,tagExp:n,closeIndex:l,attrExpPresent:o,rawTagName:a}}function Lc(e,t,A){let i=A,r=1;for(;A<e.length;A++)if(e[A]==="<")if(e[A+1]==="/"){let n=eA(e,">",A,`${t} is not closed`);if(e.substring(A+2,n).trim()===t&&(r--,r===0))return{tagContent:e.substring(i,A),i:n};A=n}else if(e[A+1]==="?")A=eA(e,"?>",A+1,"StopNode is not closed.");else if(e.substr(A+1,3)==="!--")A=eA(e,"-->",A+3,"StopNode is not closed.");else if(e.substr(A+1,2)==="![")A=eA(e,"]]>",A,"StopNode is not closed.")-2;else{let n=cr(e,A,">");n&&((n&&n.tagName)===t&&n.tagExp[n.tagExp.length-1]!=="/"&&r++,A=n.closeIndex)}}function Ir(e,t,A){if(t&&typeof e=="string"){let i=e.trim();return i==="true"?!0:i==="false"?!1:_c(e,A)}else return js.isExist(e)?e:""}$s.exports=fr});var ta=Z(Aa=>{"use strict";function Mc(e,t){return ea(e,t)}function ea(e,t,A){let i,r={};for(let n=0;n<e.length;n++){let l=e[n],s=Oc(l),g="";if(A===void 0?g=s:g=A+"."+s,s===t.textNodeName)i===void 0?i=l[s]:i+=""+l[s];else{if(s===void 0)continue;if(l[s]){let o=ea(l[s],t,g),a=Yc(o,t);l[":@"]?qc(o,l[":@"],g,t):Object.keys(o).length===1&&o[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?o=o[t.textNodeName]:Object.keys(o).length===0&&(t.alwaysCreateTextNode?o[t.textNodeName]="":o=""),r[s]!==void 0&&r.hasOwnProperty(s)?(Array.isArray(r[s])||(r[s]=[r[s]]),r[s].push(o)):t.isArray(s,g,a)?r[s]=[o]:r[s]=o}}}return typeof i=="string"?i.length>0&&(r[t.textNodeName]=i):i!==void 0&&(r[t.textNodeName]=i),r}function Oc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(i!==":@")return i}}function qc(e,t,A,i){if(t){let r=Object.keys(t),n=r.length;for(let l=0;l<n;l++){let s=r[l];i.isArray(s,A+"."+s,!0,!0)?e[s]=[t[s]]:e[s]=t[s]}}}function Yc(e,t){let{textNodeName:A}=t,i=Object.keys(e).length;return!!(i===0||i===1&&(e[A]||typeof e[A]=="boolean"||e[A]===0))}Aa.prettify=Mc});var ra=Z((lu,ia)=>{var{buildOptions:Hc}=Hs(),Jc=Ws(),{prettify:Kc}=ta(),Vc=sr(),hr=class{constructor(t){this.externalEntities={},this.options=Hc(t)}parse(t,A){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(A){A===!0&&(A={});let n=Vc.validate(t,A);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let i=new Jc(this.options);i.addExternalEntities(this.externalEntities);let r=i.parseXml(t);return this.options.preserveOrder||r===void 0?r:Kc(r,this.options)}addEntity(t,A){if(A.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(A==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=A}};ia.exports=hr});var ga=Z((fu,aa)=>{var Pc=`
13
13
  `;function zc(e,t){let A="";return t.format&&t.indentBy.length>0&&(A=Pc),oa(e,t,"",A)}function oa(e,t,A,i){let r="",n=!1;for(let l=0;l<e.length;l++){let s=e[l],g=Zc(s);if(g===void 0)continue;let o="";if(A.length===0?o=g:o=`${A}.${g}`,g===t.textNodeName){let h=s[g];Xc(o,t)||(h=t.tagValueProcessor(g,h),h=sa(h,t)),n&&(r+=i),r+=h,n=!1;continue}else if(g===t.cdataPropName){n&&(r+=i),r+=`<![CDATA[${s[g][0][t.textNodeName]}]]>`,n=!1;continue}else if(g===t.commentPropName){r+=i+`<!--${s[g][0][t.textNodeName]}-->`,n=!0;continue}else if(g[0]==="?"){let h=na(s[":@"],t),u=g==="?xml"?"":i,B=s[g][0][t.textNodeName];B=B.length!==0?" "+B:"",r+=u+`<${g}${B}${h}?>`,n=!0;continue}let a=i;a!==""&&(a+=t.indentBy);let I=na(s[":@"],t),c=i+`<${g}${I}`,f=oa(s[g],t,o,a);t.unpairedTags.indexOf(g)!==-1?t.suppressUnpairedNode?r+=c+">":r+=c+"/>":(!f||f.length===0)&&t.suppressEmptyNode?r+=c+"/>":f&&f.endsWith(">")?r+=c+`>${f}${i}</${g}>`:(r+=c+">",f&&i!==""&&(f.includes("/>")||f.includes("</"))?r+=i+t.indentBy+f+i:r+=f,r+=`</${g}>`),n=!0}return r}function Zc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(e.hasOwnProperty(i)&&i!==":@")return i}}function na(e,t){let A="";if(e&&!t.ignoreAttributes)for(let i in e){if(!e.hasOwnProperty(i))continue;let r=t.attributeValueProcessor(i,e[i]);r=sa(r,t),r===!0&&t.suppressBooleanAttributes?A+=` ${i.substr(t.attributeNamePrefix.length)}`:A+=` ${i.substr(t.attributeNamePrefix.length)}="${r}"`}return A}function Xc(e,t){e=e.substr(0,e.length-t.textNodeName.length-1);let A=e.substr(e.lastIndexOf(".")+1);for(let i in t.stopNodes)if(t.stopNodes[i]===e||t.stopNodes[i]==="*."+A)return!0;return!1}function sa(e,t){if(e&&e.length>0&&t.processEntities)for(let A=0;A<t.entities.length;A++){let i=t.entities[A];e=e.replace(i.regex,i.val)}return e}aa.exports=zc});var fa=Z((cu,la)=>{"use strict";var jc=ga(),$c=lr(),Wc={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Ke(e){this.options=Object.assign({},Wc,e),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=$c(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tI),this.processTextOrObjNode=eI,this.options.format?(this.indentate=AI,this.tagEndChar=`>
14
14
  `,this.newLine=`
15
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ke.prototype.build=function(e){return this.options.preserveOrder?jc(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)};Ke.prototype.j2x=function(e,t,A){let i="",r="",n=A.join(".");for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l))if(typeof e[l]>"u")this.isAttribute(l)&&(r+="");else if(e[l]===null)this.isAttribute(l)?r+="":l[0]==="?"?r+=this.indentate(t)+"<"+l+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+l+"/"+this.tagEndChar;else if(e[l]instanceof Date)r+=this.buildTextValNode(e[l],l,"",t);else if(typeof e[l]!="object"){let s=this.isAttribute(l);if(s&&!this.ignoreAttributesFn(s,n))i+=this.buildAttrPairStr(s,""+e[l]);else if(!s)if(l===this.options.textNodeName){let g=this.options.tagValueProcessor(l,""+e[l]);r+=this.replaceEntitiesValue(g)}else r+=this.buildTextValNode(e[l],l,"",t)}else if(Array.isArray(e[l])){let s=e[l].length,g="",o="";for(let a=0;a<s;a++){let I=e[l][a];if(!(typeof I>"u"))if(I===null)l[0]==="?"?r+=this.indentate(t)+"<"+l+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+l+"/"+this.tagEndChar;else if(typeof I=="object")if(this.options.oneListGroup){let c=this.j2x(I,t+1,A.concat(l));g+=c.val,this.options.attributesGroupName&&I.hasOwnProperty(this.options.attributesGroupName)&&(o+=c.attrStr)}else g+=this.processTextOrObjNode(I,l,t,A);else if(this.options.oneListGroup){let c=this.options.tagValueProcessor(l,I);c=this.replaceEntitiesValue(c),g+=c}else g+=this.buildTextValNode(I,l,"",t)}this.options.oneListGroup&&(g=this.buildObjectNode(g,l,o,t)),r+=g}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let s=Object.keys(e[l]),g=s.length;for(let o=0;o<g;o++)i+=this.buildAttrPairStr(s[o],""+e[l][s[o]])}else r+=this.processTextOrObjNode(e[l],l,t,A);return{attrStr:i,val:r}};Ke.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+e:" "+e+'="'+t+'"'};function eI(e,t,A,i){let r=this.j2x(e,A+1,i.concat(t));return e[this.options.textNodeName]!==void 0&&Object.keys(e).length===1?this.buildTextValNode(e[this.options.textNodeName],t,r.attrStr,A):this.buildObjectNode(r.val,t,r.attrStr,A)}Ke.prototype.buildObjectNode=function(e,t,A,i){if(e==="")return t[0]==="?"?this.indentate(i)+"<"+t+A+"?"+this.tagEndChar:this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar;{let r="</"+t+this.tagEndChar,n="";return t[0]==="?"&&(n="?",r=""),(A||A==="")&&e.indexOf("<")===-1?this.indentate(i)+"<"+t+A+n+">"+e+r:this.options.commentPropName!==!1&&t===this.options.commentPropName&&n.length===0?this.indentate(i)+`<!--${e}-->`+this.newLine:this.indentate(i)+"<"+t+A+n+this.tagEndChar+e+this.indentate(i)+r}};Ke.prototype.closeTag=function(e){let t="";return this.options.unpairedTags.indexOf(e)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${e}`,t};Ke.prototype.buildTextValNode=function(e,t,A,i){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(i)+`<![CDATA[${e}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(i)+`<!--${e}-->`+this.newLine;if(t[0]==="?")return this.indentate(i)+"<"+t+A+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),r===""?this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar:this.indentate(i)+"<"+t+A+">"+r+"</"+t+this.tagEndChar}};Ke.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){let A=this.options.entities[t];e=e.replace(A.regex,A.val)}return e};function AI(e){return this.options.indentBy.repeat(e)}function tI(e){return e.startsWith(this.options.attributeNamePrefix)&&e!==this.options.textNodeName?e.substr(this.attrPrefixLen):!1}la.exports=Ke});var Ia=Z((Iu,ca)=>{"use strict";var iI=sr(),rI=ra(),nI=fa();ca.exports={XMLParser:rI,XMLValidator:iI,XMLBuilder:nI}});var zA={};Te(zA,{GeoTIFFLoader:()=>ms,TiffPixelSource:()=>dA,loadGeoTiff:()=>Ca});jA(zA,ve(Er(),1));var Cr="Cannot convert undefined or null to object";function K(e){return(t,...A)=>xa(e,t,A)}function AA(e,t){return K($A(e,t).get)}var{apply:xa,construct:cI,defineProperty:II,get:hI,getOwnPropertyDescriptor:$A,getPrototypeOf:WA,has:uI,ownKeys:Qr,set:BI,setPrototypeOf:EI}=Reflect;var{EPSILON:pr,MAX_SAFE_INTEGER:CI,isFinite:ba,isNaN:Da}=Number,{iterator:tA,species:dI,toStringTag:Sa,for:QI}=Symbol,et=Object,{create:At,defineProperty:wr,freeze:pI,is:wI}=et,Pt=et.prototype,yI=Pt.__lookupGetter__?K(Pt.__lookupGetter__):(e,t)=>{if(e==null)throw Ra(Cr);let A=et(e);do{let i=$A(A,t);if(i!==void 0)return ka(i,"get")?i.get:void 0}while((A=WA(A))!==null)},ka=et.hasOwn||K(Pt.hasOwnProperty),yr=Array,mI=yr.isArray,tt=yr.prototype,_I=K(tt.join),xI=K(tt.push),bI=K(tt.toLocaleString),zt=tt[tA],mr=K(zt),{abs:Fa,trunc:DI}=Math,it=ArrayBuffer,SI=it.isView,_r=it.prototype,kI=K(_r.slice),FI=AA(_r,"byteLength"),dr=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,NI=dr&&AA(dr.prototype,"byteLength"),xr=WA(Uint8Array),RI=xr.from,re=xr.prototype,TI=re[tA],vI=K(re.keys),GI=K(re.values),UI=K(re.entries),LI=K(re.set),MI=K(re.reverse),OI=K(re.fill),qI=K(re.copyWithin),YI=K(re.sort),HI=K(re.slice),JI=K(re.subarray),KI=AA(re,"buffer"),VI=AA(re,"byteOffset"),PI=AA(re,"length"),zI=AA(re,Sa),br=Uint8Array,Zt=Uint16Array;var rt=Uint32Array,Dr=Float32Array,iA=WA([][tA]()),Xt=K(iA.next),Sr=K(function*(){}().next),kr=WA(iA),Fr=DataView.prototype,Nr=K(Fr.getUint16),Na=K(Fr.setUint16),Ra=TypeError;var Ta=WeakSet,Rr=Ta.prototype,ZI=K(Rr.add),XI=K(Rr.has),nt=WeakMap,jt=nt.prototype,$t=K(jt.get),jI=K(jt.has),Tr=K(jt.set);var vr=new nt,va=At(null,{next:{value:function(){let t=$t(vr,this);return Xt(t)}},[tA]:{value:function(){return this}}});function Gr(e){if(e[tA]===zt&&iA.next===Xt)return e;let t=At(va);return Tr(vr,t,mr(e)),t}var Ga=new nt,Ua=At(kr,{next:{value:function(){let t=$t(Ga,this);return Sr(t)},writable:!0,configurable:!0}});for(let e of Qr(iA))e!=="next"&&wr(Ua,e,$A(iA,e));var La=1/pr;var Ma=6103515625e-14;var Ur=.0009765625,th=Ur*Ma,ih=Ur*La;var Lr=new it(4),Oa=new Dr(Lr),qa=new rt(Lr),Ce=new Zt(512),de=new br(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(Ce[e]=0,Ce[e|256]=32768,de[e]=24,de[e|256]=24):t<-14?(Ce[e]=1024>>-t-14,Ce[e|256]=1024>>-t-14|32768,de[e]=-t-1,de[e|256]=-t-1):t<=15?(Ce[e]=t+15<<10,Ce[e|256]=t+15<<10|32768,de[e]=13,de[e|256]=13):t<128?(Ce[e]=31744,Ce[e|256]=64512,de[e]=24,de[e|256]=24):(Ce[e]=31744,Ce[e|256]=64512,de[e]=13,de[e|256]=13)}var Wt=new rt(2048);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,Wt[e]=t|A}for(let e=1024;e<2048;++e)Wt[e]=939524096+(e-1024<<13);var rA=new rt(64);for(let e=1;e<31;++e)rA[e]=e<<23;rA[31]=1199570944;rA[32]=2147483648;for(let e=33;e<63;++e)rA[e]=2147483648+(e-32<<23);rA[63]=3347054592;var Mr=new Zt(64);for(let e=1;e<64;++e)e!==32&&(Mr[e]=1024);function Or(e){let t=e>>10;return qa[0]=Wt[Mr[t]+(e&1023)]+rA[t],Oa[0]}function QA(e,t,...A){return Or(Nr(e,t,...Gr(A)))}var Lt=ve(Yr(),1),is=ve(Wr(),1);st();function rn(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=256-e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function nn(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function on(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n=t.length/3,l=t.length/3*2;for(let s=0,g=0;s<e.length;++s,g+=3){let o=e[s];r[g]=t[o]/65536*256,r[g+1]=t[o+n]/65536*256,r[g+2]=t[o+l]/65536*256}return r}function sn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=4,n+=3){let l=e[r],s=e[r+1],g=e[r+2],o=e[r+3];i[n]=255*((255-l)/256)*((255-o)/256),i[n+1]=255*((255-s)/256)*((255-o)/256),i[n+2]=255*((255-g)/256)*((255-o)/256)}return i}function an(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r],s=e[r+1],g=e[r+2];i[n]=l+1.402*(g-128),i[n+1]=l-.34414*(s-128)-.71414*(g-128),i[n+2]=l+1.772*(s-128)}return i}var Ka=.95047,Va=1,Pa=1.08883;function gn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r+0],s=e[r+1]<<24>>24,g=e[r+2]<<24>>24,o=(l+16)/116,a=s/500+o,I=o-g/200,c,f,h;a=Ka*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),o=Va*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),I=Pa*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=a*3.2406+o*-1.5372+I*-.4986,f=a*-.9689+o*1.8758+I*.0415,h=a*.0557+o*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[n]=Math.max(0,Math.min(1,c))*255,i[n+1]=Math.max(0,Math.min(1,f))*255,i[n+2]=Math.max(0,Math.min(1,h))*255}return i}var Wo=new Map;function Ye(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>Wo.set(A,t))}async function es(e){let t=Wo.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}Ye([void 0,1],()=>Promise.resolve().then(()=>(In(),cn)).then(e=>e.default));Ye(5,()=>Promise.resolve().then(()=>(Bn(),un)).then(e=>e.default));Ye(6,()=>{throw new Error("old style JPEG compression is not supported.")});Ye(7,()=>Promise.resolve().then(()=>(dn(),Cn)).then(e=>e.default));Ye([8,32946],()=>Promise.resolve().then(()=>(qo(),Oo)).then(e=>e.default));Ye(32773,()=>Promise.resolve().then(()=>(Ho(),Yo)).then(e=>e.default));Ye(34887,()=>Promise.resolve().then(()=>(Xo(),Zo)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));Ye(50001,()=>Promise.resolve().then(()=>($o(),jo)).then(e=>e.default));function Ut(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function vf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=Math.min(Math.round(l*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(n*I),t-1),f=s[a*t+c];g[o*i+I]=f}}return g})}function BA(e,t,A){return(1-A)*e+A*t}function Gf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=l*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=n*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1),C=s[I*t+B],p=s[I*t+Q],w=s[c*t+B],d=s[c*t+Q],E=BA(BA(C,p,u),BA(w,d,u),a%1);g[o*i+f]=E}}return g})}function As(e,t,A,i,r,n="nearest"){switch(n.toLowerCase()){case"nearest":return vf(e,t,A,i,r);case"bilinear":case"linear":return Gf(e,t,A,i,r);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function Uf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=Math.min(Math.round(s*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(l*I),t-1);for(let f=0;f<n;++f){let h=e[a*t*n+c*n+f];g[o*i*n+I*n+f]=h}}}return g}function Lf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=s*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=l*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1);for(let C=0;C<n;++C){let p=e[I*t*n+B*n+C],w=e[I*t*n+Q*n+C],d=e[c*t*n+B*n+C],E=e[c*t*n+Q*n+C],m=BA(BA(p,w,u),BA(d,E,u),a%1);g[o*i*n+f*n+C]=m}}}return g}function ts(e,t,A,i,r,n,l="nearest"){switch(l.toLowerCase()){case"nearest":return Uf(e,t,A,i,r,n);case"bilinear":case"linear":return Lf(e,t,A,i,r,n);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Mf(e,t,A){let i=0;for(let r=t;r<A;++r)i+=e[r];return i}function Ki(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Of(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function qf(e,t,A,i,r,n,l){let s=new DataView(e),g=A===2?l*n:l*n*i,o=A===2?1:i,a=Ki(t,r,g),I=parseInt("1".repeat(r),2);if(t===1){let c;A===1?c=i*r:c=r;let f=n*c;f&7&&(f=f+7&-8);for(let h=0;h<l;++h){let u=h*f;for(let B=0;B<n;++B){let Q=u+B*o*r;for(let C=0;C<o;++C){let p=Q+C*r,w=(h*n+B)*o+C,d=Math.floor(p/8),E=p%8;if(E+r<=8)a[w]=s.getUint8(d)>>8-r-E&I;else if(E+r<=16)a[w]=s.getUint16(d)>>16-r-E&I;else if(E+r<=24){let m=s.getUint16(d)<<8|s.getUint8(d+2);a[w]=m>>24-r-E&I}else a[w]=s.getUint32(d)>>32-r-E&I}}}}return a.buffer}var Vi=class{constructor(t,A,i,r,n,l){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=r,this.tiles=n?{}:null,this.isTiled=!t.StripOffsets;let s=t.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(r,n){return QA(this,r,n)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,A){let i=this.getSampleFormat(t),r=this.getBitsPerSample(t);return Ki(i,r,A)}async getTileOrStrip(t,A,i,r,n){let l=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight()),g,{tiles:o}=this;this.planarConfiguration===1?g=A*l+t:this.planarConfiguration===2&&(g=i*l*s+A*l+t);let a,I;this.isTiled?(a=this.fileDirectory.TileOffsets[g],I=this.fileDirectory.TileByteCounts[g]):(a=this.fileDirectory.StripOffsets[g],I=this.fileDirectory.StripByteCounts[g]);let c=(await this.source.fetch([{offset:a,length:I}],n))[0],f;return o===null||!o[g]?(f=(async()=>{let h=await r.decode(this.fileDirectory,c),u=this.getSampleFormat(),B=this.getBitsPerSample();return Of(u,B)&&(h=qf(h,u,this.planarConfiguration,this.getSamplesPerPixel(),B,this.getTileWidth(),this.getBlockHeight(A))),h})(),o!==null&&(o[g]=f)):f=o[g],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,r,n,l,s,g,o){let a=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/a),0),u=Math.min(Math.ceil(t[2]/a),Math.ceil(c/a)),B=Math.max(Math.floor(t[1]/I),0),Q=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),C=t[2]-t[0],p=this.getBytesPerPixel(),w=[],d=[];for(let y=0;y<A.length;++y)this.planarConfiguration===1?w.push(Mf(this.fileDirectory.BitsPerSample,0,A[y])/8):w.push(0),d.push(this.getReaderForSample(A[y]));let E=[],{littleEndian:m}=this;for(let y=B;y<Q;++y)for(let D=h;D<u;++D){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(D,y,0,n,o));for(let b=0;b<A.length;++b){let k=b,O=A[b];this.planarConfiguration===2&&(p=this.getSampleByteSize(O),x=this.getTileOrStrip(D,y,O,n,o));let S=x.then(_=>{let N=_.data,L=new DataView(N),F=this.getBlockHeight(_.y),T=_.y*I,R=_.x*a,Y=T+F,J=(_.x+1)*a,z=d[k],U=Math.min(F,F-(Y-t[3]),f-T),v=Math.min(a,a-(J-t[2]),c-R);for(let G=Math.max(0,t[1]-T);G<U;++G)for(let V=Math.max(0,t[0]-R);V<v;++V){let P=(G*a+V)*p,$=z.call(L,P+w[k],m),j;r?(j=(G+T-t[1])*C*A.length+(V+R-t[0])*A.length+k,i[j]=$):(j=(G+T-t[1])*C+V+R-t[0],i[k][j]=$)}});E.push(S)}}if(await Promise.all(E),l&&t[2]-t[0]!==l||s&&t[3]-t[1]!==s){let y;return r?y=ts(i,t[2]-t[0],t[3]-t[1],l,s,A.length,g):y=As(i,t[2]-t[0],t[3]-t[1],l,s,g),y.width=l,y.height=s,y}return i.width=l||t[2]-t[0],i.height=s||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:r=null,width:n,height:l,resampleMethod:s,fillValue:g,signal:o}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let I=a[2]-a[0],c=a[3]-a[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let C=0;C<h;++C)A.push(C);else for(let C=0;C<A.length;++C)if(A[C]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[C]}'.`));let u;if(i){let C=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,p=Math.max.apply(null,this.fileDirectory.BitsPerSample);u=Ki(C,p,f*A.length),g&&u.fill(g)}else{u=[];for(let C=0;C<A.length;++C){let p=this.getArrayForSample(A[C],f);Array.isArray(g)&&C<g.length?p.fill(g[C]):g&&!Array.isArray(g)&&p.fill(g),u.push(p)}}let B=r||await es(this.fileDirectory);return await this._readRaster(a,A,u,i,B,n,l,s,o)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:r,height:n,resampleMethod:l,enableAlpha:s=!1,signal:g}={}){let o=t||[0,0,this.getWidth(),this.getHeight()];if(o[0]>o[2]||o[1]>o[3])throw new Error("Invalid subsets");let a=this.fileDirectory.PhotometricInterpretation;if(a===se.RGB){let Q=[0,1,2];if(this.fileDirectory.ExtraSamples!==An.Unspecified&&s){Q=[];for(let C=0;C<this.fileDirectory.BitsPerSample.length;C+=1)Q.push(C)}return this.readRasters({window:t,interleave:A,samples:Q,pool:i,width:r,height:n,resampleMethod:l,signal:g})}let I;switch(a){case se.WhiteIsZero:case se.BlackIsZero:case se.Palette:I=[0];break;case se.CMYK:I=[0,1,2,3];break;case se.YCbCr:case se.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:o,interleave:!0,samples:I,pool:i,width:r,height:n,resampleMethod:l,signal:g},{fileDirectory:f}=this,h=await this.readRasters(c),u=2**this.fileDirectory.BitsPerSample[0],B;switch(a){case se.WhiteIsZero:B=rn(h,u);break;case se.BlackIsZero:B=nn(h,u);break;case se.Palette:B=on(h,f.ColorMap);break;case se.CMYK:B=sn(h);break;case se.YCbCr:B=an(h);break;case se.CIELab:B=gn(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let Q=new Uint8Array(B.length/3),C=new Uint8Array(B.length/3),p=new Uint8Array(B.length/3);for(let w=0,d=0;w<B.length;w+=3,++d)Q[d]=B[w],C[d]=B[w+1],p[d]=B[w+2];B=[Q,C,p]}return B.width=h.width,B.height=h.height,B}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,r=(0,is.default)(i,"Item");t===null?r=r.filter(n=>(0,Lt.default)(n,"sample")===void 0):r=r.filter(n=>Number((0,Lt.default)(n,"sample"))===t);for(let n=0;n<r.length;++n){let l=r[n];A[(0,Lt.default)(l,"name")]=l.inner}return A}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return i[1]===0&&i[4]===0?[i[0],-i[5],i[10]]:[Math.sqrt(i[0]*i[0]+i[4]*i[4]),-Math.sqrt(i[1]*i[1]+i[5]*i[5]),i[10]];if(t){let[r,n,l]=t.getResolution();return[r*t.getWidth()/this.getWidth(),n*t.getHeight()/this.getHeight(),l*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let A=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[r,n,l,s,g,o,a,I]=this.fileDirectory.ModelTransformation,f=[[0,0],[0,A],[i,0],[i,A]].map(([B,Q])=>[s+r*B+n*Q,I+g*B+o*Q]),h=f.map(B=>B[0]),u=f.map(B=>B[1]);return[Math.min(...h),Math.min(...u),Math.max(...h),Math.max(...u)]}else{let r=this.getOrigin(),n=this.getResolution(),l=r[0],s=r[1],g=l+n[0]*i,o=s+n[1]*A;return[Math.min(l,g),Math.min(s,o),Math.max(l,g),Math.max(s,o)]}}},rs=Vi;var YA=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),r=this.getUint32(t+4,A),n;if(A){if(n=i+2**32*r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*i+r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}getInt64(t,A){let i=0,r=(this._dataView.getUint8(t+(A?7:0))&128)>0,n=!0;for(let l=0;l<8;l++){let s=this._dataView.getUint8(t+(A?l:7-l));r&&(n?s!==0&&(s=~(s-1)&255,n=!1):s=~s&255),i+=s*256**l}return r&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return QA(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var HA=class{constructor(t,A,i,r){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=r}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let A=this.readUint32(t),i=this.readUint32(t+4),r;if(this._littleEndian){if(r=A+2**32*i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*A+i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,r=!0;for(let n=0;n<8;n++){let l=this._dataView.getUint8(t+(this._littleEndian?n:7-n));i&&(r?l!==0&&(l=~(l-1)&255,r=!1):l=~l&255),A+=l*256**n}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var ns=`\r
15
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ke.prototype.build=function(e){return this.options.preserveOrder?jc(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)};Ke.prototype.j2x=function(e,t,A){let i="",r="",n=A.join(".");for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l))if(typeof e[l]>"u")this.isAttribute(l)&&(r+="");else if(e[l]===null)this.isAttribute(l)?r+="":l[0]==="?"?r+=this.indentate(t)+"<"+l+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+l+"/"+this.tagEndChar;else if(e[l]instanceof Date)r+=this.buildTextValNode(e[l],l,"",t);else if(typeof e[l]!="object"){let s=this.isAttribute(l);if(s&&!this.ignoreAttributesFn(s,n))i+=this.buildAttrPairStr(s,""+e[l]);else if(!s)if(l===this.options.textNodeName){let g=this.options.tagValueProcessor(l,""+e[l]);r+=this.replaceEntitiesValue(g)}else r+=this.buildTextValNode(e[l],l,"",t)}else if(Array.isArray(e[l])){let s=e[l].length,g="",o="";for(let a=0;a<s;a++){let I=e[l][a];if(!(typeof I>"u"))if(I===null)l[0]==="?"?r+=this.indentate(t)+"<"+l+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+l+"/"+this.tagEndChar;else if(typeof I=="object")if(this.options.oneListGroup){let c=this.j2x(I,t+1,A.concat(l));g+=c.val,this.options.attributesGroupName&&I.hasOwnProperty(this.options.attributesGroupName)&&(o+=c.attrStr)}else g+=this.processTextOrObjNode(I,l,t,A);else if(this.options.oneListGroup){let c=this.options.tagValueProcessor(l,I);c=this.replaceEntitiesValue(c),g+=c}else g+=this.buildTextValNode(I,l,"",t)}this.options.oneListGroup&&(g=this.buildObjectNode(g,l,o,t)),r+=g}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let s=Object.keys(e[l]),g=s.length;for(let o=0;o<g;o++)i+=this.buildAttrPairStr(s[o],""+e[l][s[o]])}else r+=this.processTextOrObjNode(e[l],l,t,A);return{attrStr:i,val:r}};Ke.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+e:" "+e+'="'+t+'"'};function eI(e,t,A,i){let r=this.j2x(e,A+1,i.concat(t));return e[this.options.textNodeName]!==void 0&&Object.keys(e).length===1?this.buildTextValNode(e[this.options.textNodeName],t,r.attrStr,A):this.buildObjectNode(r.val,t,r.attrStr,A)}Ke.prototype.buildObjectNode=function(e,t,A,i){if(e==="")return t[0]==="?"?this.indentate(i)+"<"+t+A+"?"+this.tagEndChar:this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar;{let r="</"+t+this.tagEndChar,n="";return t[0]==="?"&&(n="?",r=""),(A||A==="")&&e.indexOf("<")===-1?this.indentate(i)+"<"+t+A+n+">"+e+r:this.options.commentPropName!==!1&&t===this.options.commentPropName&&n.length===0?this.indentate(i)+`<!--${e}-->`+this.newLine:this.indentate(i)+"<"+t+A+n+this.tagEndChar+e+this.indentate(i)+r}};Ke.prototype.closeTag=function(e){let t="";return this.options.unpairedTags.indexOf(e)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${e}`,t};Ke.prototype.buildTextValNode=function(e,t,A,i){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(i)+`<![CDATA[${e}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(i)+`<!--${e}-->`+this.newLine;if(t[0]==="?")return this.indentate(i)+"<"+t+A+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),r===""?this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar:this.indentate(i)+"<"+t+A+">"+r+"</"+t+this.tagEndChar}};Ke.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){let A=this.options.entities[t];e=e.replace(A.regex,A.val)}return e};function AI(e){return this.options.indentBy.repeat(e)}function tI(e){return e.startsWith(this.options.attributeNamePrefix)&&e!==this.options.textNodeName?e.substr(this.attrPrefixLen):!1}la.exports=Ke});var Ia=Z((Iu,ca)=>{"use strict";var iI=sr(),rI=ra(),nI=fa();ca.exports={XMLParser:rI,XMLValidator:iI,XMLBuilder:nI}});var zA={};Te(zA,{GeoTIFFLoader:()=>ms,TiffPixelSource:()=>dA,loadGeoTiff:()=>Ca});jA(zA,ve(Er(),1));var Cr="Cannot convert undefined or null to object";function K(e){return(t,...A)=>xa(e,t,A)}function AA(e,t){return K($A(e,t).get)}var{apply:xa,construct:cI,defineProperty:II,get:hI,getOwnPropertyDescriptor:$A,getPrototypeOf:WA,has:uI,ownKeys:Qr,set:BI,setPrototypeOf:EI}=Reflect;var{EPSILON:pr,MAX_SAFE_INTEGER:CI,isFinite:Da,isNaN:ba}=Number,{iterator:tA,species:dI,toStringTag:Sa,for:QI}=Symbol,et=Object,{create:At,defineProperty:wr,freeze:pI,is:wI}=et,Pt=et.prototype,yI=Pt.__lookupGetter__?K(Pt.__lookupGetter__):(e,t)=>{if(e==null)throw Ra(Cr);let A=et(e);do{let i=$A(A,t);if(i!==void 0)return ka(i,"get")?i.get:void 0}while((A=WA(A))!==null)},ka=et.hasOwn||K(Pt.hasOwnProperty),yr=Array,mI=yr.isArray,tt=yr.prototype,_I=K(tt.join),xI=K(tt.push),DI=K(tt.toLocaleString),zt=tt[tA],mr=K(zt),{abs:Fa,trunc:bI}=Math,it=ArrayBuffer,SI=it.isView,_r=it.prototype,kI=K(_r.slice),FI=AA(_r,"byteLength"),dr=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,NI=dr&&AA(dr.prototype,"byteLength"),xr=WA(Uint8Array),RI=xr.from,re=xr.prototype,TI=re[tA],vI=K(re.keys),GI=K(re.values),UI=K(re.entries),LI=K(re.set),MI=K(re.reverse),OI=K(re.fill),qI=K(re.copyWithin),YI=K(re.sort),HI=K(re.slice),JI=K(re.subarray),KI=AA(re,"buffer"),VI=AA(re,"byteOffset"),PI=AA(re,"length"),zI=AA(re,Sa),Dr=Uint8Array,Zt=Uint16Array;var rt=Uint32Array,br=Float32Array,iA=WA([][tA]()),Xt=K(iA.next),Sr=K(function*(){}().next),kr=WA(iA),Fr=DataView.prototype,Nr=K(Fr.getUint16),Na=K(Fr.setUint16),Ra=TypeError;var Ta=WeakSet,Rr=Ta.prototype,ZI=K(Rr.add),XI=K(Rr.has),nt=WeakMap,jt=nt.prototype,$t=K(jt.get),jI=K(jt.has),Tr=K(jt.set);var vr=new nt,va=At(null,{next:{value:function(){let t=$t(vr,this);return Xt(t)}},[tA]:{value:function(){return this}}});function Gr(e){if(e[tA]===zt&&iA.next===Xt)return e;let t=At(va);return Tr(vr,t,mr(e)),t}var Ga=new nt,Ua=At(kr,{next:{value:function(){let t=$t(Ga,this);return Sr(t)},writable:!0,configurable:!0}});for(let e of Qr(iA))e!=="next"&&wr(Ua,e,$A(iA,e));var La=1/pr;var Ma=6103515625e-14;var Ur=.0009765625,th=Ur*Ma,ih=Ur*La;var Lr=new it(4),Oa=new br(Lr),qa=new rt(Lr),Ce=new Zt(512),de=new Dr(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(Ce[e]=0,Ce[e|256]=32768,de[e]=24,de[e|256]=24):t<-14?(Ce[e]=1024>>-t-14,Ce[e|256]=1024>>-t-14|32768,de[e]=-t-1,de[e|256]=-t-1):t<=15?(Ce[e]=t+15<<10,Ce[e|256]=t+15<<10|32768,de[e]=13,de[e|256]=13):t<128?(Ce[e]=31744,Ce[e|256]=64512,de[e]=24,de[e|256]=24):(Ce[e]=31744,Ce[e|256]=64512,de[e]=13,de[e|256]=13)}var Wt=new rt(2048);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,Wt[e]=t|A}for(let e=1024;e<2048;++e)Wt[e]=939524096+(e-1024<<13);var rA=new rt(64);for(let e=1;e<31;++e)rA[e]=e<<23;rA[31]=1199570944;rA[32]=2147483648;for(let e=33;e<63;++e)rA[e]=2147483648+(e-32<<23);rA[63]=3347054592;var Mr=new Zt(64);for(let e=1;e<64;++e)e!==32&&(Mr[e]=1024);function Or(e){let t=e>>10;return qa[0]=Wt[Mr[t]+(e&1023)]+rA[t],Oa[0]}function QA(e,t,...A){return Or(Nr(e,t,...Gr(A)))}var Lt=ve(Yr(),1),is=ve(Wr(),1);st();function rn(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=256-e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function nn(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function on(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n=t.length/3,l=t.length/3*2;for(let s=0,g=0;s<e.length;++s,g+=3){let o=e[s];r[g]=t[o]/65536*256,r[g+1]=t[o+n]/65536*256,r[g+2]=t[o+l]/65536*256}return r}function sn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=4,n+=3){let l=e[r],s=e[r+1],g=e[r+2],o=e[r+3];i[n]=255*((255-l)/256)*((255-o)/256),i[n+1]=255*((255-s)/256)*((255-o)/256),i[n+2]=255*((255-g)/256)*((255-o)/256)}return i}function an(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r],s=e[r+1],g=e[r+2];i[n]=l+1.402*(g-128),i[n+1]=l-.34414*(s-128)-.71414*(g-128),i[n+2]=l+1.772*(s-128)}return i}var Ka=.95047,Va=1,Pa=1.08883;function gn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r+0],s=e[r+1]<<24>>24,g=e[r+2]<<24>>24,o=(l+16)/116,a=s/500+o,I=o-g/200,c,f,h;a=Ka*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),o=Va*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),I=Pa*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=a*3.2406+o*-1.5372+I*-.4986,f=a*-.9689+o*1.8758+I*.0415,h=a*.0557+o*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[n]=Math.max(0,Math.min(1,c))*255,i[n+1]=Math.max(0,Math.min(1,f))*255,i[n+2]=Math.max(0,Math.min(1,h))*255}return i}var Wo=new Map;function Ye(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>Wo.set(A,t))}async function es(e){let t=Wo.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}Ye([void 0,1],()=>Promise.resolve().then(()=>(In(),cn)).then(e=>e.default));Ye(5,()=>Promise.resolve().then(()=>(Bn(),un)).then(e=>e.default));Ye(6,()=>{throw new Error("old style JPEG compression is not supported.")});Ye(7,()=>Promise.resolve().then(()=>(dn(),Cn)).then(e=>e.default));Ye([8,32946],()=>Promise.resolve().then(()=>(qo(),Oo)).then(e=>e.default));Ye(32773,()=>Promise.resolve().then(()=>(Ho(),Yo)).then(e=>e.default));Ye(34887,()=>Promise.resolve().then(()=>(Xo(),Zo)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));Ye(50001,()=>Promise.resolve().then(()=>($o(),jo)).then(e=>e.default));function Ut(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function vf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=Math.min(Math.round(l*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(n*I),t-1),f=s[a*t+c];g[o*i+I]=f}}return g})}function BA(e,t,A){return(1-A)*e+A*t}function Gf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=l*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=n*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1),C=s[I*t+B],p=s[I*t+Q],w=s[c*t+B],d=s[c*t+Q],E=BA(BA(C,p,u),BA(w,d,u),a%1);g[o*i+f]=E}}return g})}function As(e,t,A,i,r,n="nearest"){switch(n.toLowerCase()){case"nearest":return vf(e,t,A,i,r);case"bilinear":case"linear":return Gf(e,t,A,i,r);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function Uf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=Math.min(Math.round(s*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(l*I),t-1);for(let f=0;f<n;++f){let h=e[a*t*n+c*n+f];g[o*i*n+I*n+f]=h}}}return g}function Lf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=s*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=l*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1);for(let C=0;C<n;++C){let p=e[I*t*n+B*n+C],w=e[I*t*n+Q*n+C],d=e[c*t*n+B*n+C],E=e[c*t*n+Q*n+C],m=BA(BA(p,w,u),BA(d,E,u),a%1);g[o*i*n+f*n+C]=m}}}return g}function ts(e,t,A,i,r,n,l="nearest"){switch(l.toLowerCase()){case"nearest":return Uf(e,t,A,i,r,n);case"bilinear":case"linear":return Lf(e,t,A,i,r,n);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Mf(e,t,A){let i=0;for(let r=t;r<A;++r)i+=e[r];return i}function Ki(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Of(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function qf(e,t,A,i,r,n,l){let s=new DataView(e),g=A===2?l*n:l*n*i,o=A===2?1:i,a=Ki(t,r,g),I=parseInt("1".repeat(r),2);if(t===1){let c;A===1?c=i*r:c=r;let f=n*c;f&7&&(f=f+7&-8);for(let h=0;h<l;++h){let u=h*f;for(let B=0;B<n;++B){let Q=u+B*o*r;for(let C=0;C<o;++C){let p=Q+C*r,w=(h*n+B)*o+C,d=Math.floor(p/8),E=p%8;if(E+r<=8)a[w]=s.getUint8(d)>>8-r-E&I;else if(E+r<=16)a[w]=s.getUint16(d)>>16-r-E&I;else if(E+r<=24){let m=s.getUint16(d)<<8|s.getUint8(d+2);a[w]=m>>24-r-E&I}else a[w]=s.getUint32(d)>>32-r-E&I}}}}return a.buffer}var Vi=class{constructor(t,A,i,r,n,l){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=r,this.tiles=n?{}:null,this.isTiled=!t.StripOffsets;let s=t.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(r,n){return QA(this,r,n)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,A){let i=this.getSampleFormat(t),r=this.getBitsPerSample(t);return Ki(i,r,A)}async getTileOrStrip(t,A,i,r,n){let l=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight()),g,{tiles:o}=this;this.planarConfiguration===1?g=A*l+t:this.planarConfiguration===2&&(g=i*l*s+A*l+t);let a,I;this.isTiled?(a=this.fileDirectory.TileOffsets[g],I=this.fileDirectory.TileByteCounts[g]):(a=this.fileDirectory.StripOffsets[g],I=this.fileDirectory.StripByteCounts[g]);let c=(await this.source.fetch([{offset:a,length:I}],n))[0],f;return o===null||!o[g]?(f=(async()=>{let h=await r.decode(this.fileDirectory,c),u=this.getSampleFormat(),B=this.getBitsPerSample();return Of(u,B)&&(h=qf(h,u,this.planarConfiguration,this.getSamplesPerPixel(),B,this.getTileWidth(),this.getBlockHeight(A))),h})(),o!==null&&(o[g]=f)):f=o[g],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,r,n,l,s,g,o){let a=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/a),0),u=Math.min(Math.ceil(t[2]/a),Math.ceil(c/a)),B=Math.max(Math.floor(t[1]/I),0),Q=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),C=t[2]-t[0],p=this.getBytesPerPixel(),w=[],d=[];for(let y=0;y<A.length;++y)this.planarConfiguration===1?w.push(Mf(this.fileDirectory.BitsPerSample,0,A[y])/8):w.push(0),d.push(this.getReaderForSample(A[y]));let E=[],{littleEndian:m}=this;for(let y=B;y<Q;++y)for(let b=h;b<u;++b){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(b,y,0,n,o));for(let D=0;D<A.length;++D){let k=D,O=A[D];this.planarConfiguration===2&&(p=this.getSampleByteSize(O),x=this.getTileOrStrip(b,y,O,n,o));let S=x.then(_=>{let N=_.data,L=new DataView(N),F=this.getBlockHeight(_.y),T=_.y*I,R=_.x*a,Y=T+F,J=(_.x+1)*a,z=d[k],U=Math.min(F,F-(Y-t[3]),f-T),v=Math.min(a,a-(J-t[2]),c-R);for(let G=Math.max(0,t[1]-T);G<U;++G)for(let V=Math.max(0,t[0]-R);V<v;++V){let P=(G*a+V)*p,$=z.call(L,P+w[k],m),j;r?(j=(G+T-t[1])*C*A.length+(V+R-t[0])*A.length+k,i[j]=$):(j=(G+T-t[1])*C+V+R-t[0],i[k][j]=$)}});E.push(S)}}if(await Promise.all(E),l&&t[2]-t[0]!==l||s&&t[3]-t[1]!==s){let y;return r?y=ts(i,t[2]-t[0],t[3]-t[1],l,s,A.length,g):y=As(i,t[2]-t[0],t[3]-t[1],l,s,g),y.width=l,y.height=s,y}return i.width=l||t[2]-t[0],i.height=s||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:r=null,width:n,height:l,resampleMethod:s,fillValue:g,signal:o}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let I=a[2]-a[0],c=a[3]-a[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let C=0;C<h;++C)A.push(C);else for(let C=0;C<A.length;++C)if(A[C]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[C]}'.`));let u;if(i){let C=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,p=Math.max.apply(null,this.fileDirectory.BitsPerSample);u=Ki(C,p,f*A.length),g&&u.fill(g)}else{u=[];for(let C=0;C<A.length;++C){let p=this.getArrayForSample(A[C],f);Array.isArray(g)&&C<g.length?p.fill(g[C]):g&&!Array.isArray(g)&&p.fill(g),u.push(p)}}let B=r||await es(this.fileDirectory);return await this._readRaster(a,A,u,i,B,n,l,s,o)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:r,height:n,resampleMethod:l,enableAlpha:s=!1,signal:g}={}){let o=t||[0,0,this.getWidth(),this.getHeight()];if(o[0]>o[2]||o[1]>o[3])throw new Error("Invalid subsets");let a=this.fileDirectory.PhotometricInterpretation;if(a===se.RGB){let Q=[0,1,2];if(this.fileDirectory.ExtraSamples!==An.Unspecified&&s){Q=[];for(let C=0;C<this.fileDirectory.BitsPerSample.length;C+=1)Q.push(C)}return this.readRasters({window:t,interleave:A,samples:Q,pool:i,width:r,height:n,resampleMethod:l,signal:g})}let I;switch(a){case se.WhiteIsZero:case se.BlackIsZero:case se.Palette:I=[0];break;case se.CMYK:I=[0,1,2,3];break;case se.YCbCr:case se.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:o,interleave:!0,samples:I,pool:i,width:r,height:n,resampleMethod:l,signal:g},{fileDirectory:f}=this,h=await this.readRasters(c),u=2**this.fileDirectory.BitsPerSample[0],B;switch(a){case se.WhiteIsZero:B=rn(h,u);break;case se.BlackIsZero:B=nn(h,u);break;case se.Palette:B=on(h,f.ColorMap);break;case se.CMYK:B=sn(h);break;case se.YCbCr:B=an(h);break;case se.CIELab:B=gn(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let Q=new Uint8Array(B.length/3),C=new Uint8Array(B.length/3),p=new Uint8Array(B.length/3);for(let w=0,d=0;w<B.length;w+=3,++d)Q[d]=B[w],C[d]=B[w+1],p[d]=B[w+2];B=[Q,C,p]}return B.width=h.width,B.height=h.height,B}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,r=(0,is.default)(i,"Item");t===null?r=r.filter(n=>(0,Lt.default)(n,"sample")===void 0):r=r.filter(n=>Number((0,Lt.default)(n,"sample"))===t);for(let n=0;n<r.length;++n){let l=r[n];A[(0,Lt.default)(l,"name")]=l.inner}return A}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return i[1]===0&&i[4]===0?[i[0],-i[5],i[10]]:[Math.sqrt(i[0]*i[0]+i[4]*i[4]),-Math.sqrt(i[1]*i[1]+i[5]*i[5]),i[10]];if(t){let[r,n,l]=t.getResolution();return[r*t.getWidth()/this.getWidth(),n*t.getHeight()/this.getHeight(),l*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let A=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[r,n,l,s,g,o,a,I]=this.fileDirectory.ModelTransformation,f=[[0,0],[0,A],[i,0],[i,A]].map(([B,Q])=>[s+r*B+n*Q,I+g*B+o*Q]),h=f.map(B=>B[0]),u=f.map(B=>B[1]);return[Math.min(...h),Math.min(...u),Math.max(...h),Math.max(...u)]}else{let r=this.getOrigin(),n=this.getResolution(),l=r[0],s=r[1],g=l+n[0]*i,o=s+n[1]*A;return[Math.min(l,g),Math.min(s,o),Math.max(l,g),Math.max(s,o)]}}},rs=Vi;var YA=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),r=this.getUint32(t+4,A),n;if(A){if(n=i+2**32*r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*i+r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}getInt64(t,A){let i=0,r=(this._dataView.getUint8(t+(A?7:0))&128)>0,n=!0;for(let l=0;l<8;l++){let s=this._dataView.getUint8(t+(A?l:7-l));r&&(n?s!==0&&(s=~(s-1)&255,n=!1):s=~s&255),i+=s*256**l}return r&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return QA(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var HA=class{constructor(t,A,i,r){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=r}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let A=this.readUint32(t),i=this.readUint32(t+4),r;if(this._littleEndian){if(r=A+2**32*i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*A+i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,r=!0;for(let n=0;n<8;n++){let l=this._dataView.getUint8(t+(this._littleEndian?n:7-n));i&&(r?l!==0&&(l=~(l-1)&255,r=!1):l=~l&255),A+=l*256**n}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var ns=`\r
16
16
  \r
17
17
  `;function os(e){if(typeof Object.fromEntries<"u")return Object.fromEntries(e);let t={};for(let[A,i]of e)t[A.toLowerCase()]=i;return t}function Yf(e){let t=e.split(`\r
18
18
  `).map(A=>{let i=A.split(":").map(r=>r.trim());return i[0]=i[0].toLowerCase(),i});return os(t)}function ss(e){let[t,...A]=e.split(";").map(r=>r.trim()),i=A.map(r=>r.split("="));return{type:t,params:os(i)}}function Mt(e){let t,A,i;return e&&([,t,A,i]=e.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),A=parseInt(A,10),i=parseInt(i,10)),{start:t,end:A,total:i}}function as(e,t){let A=null,i=new TextDecoder("ascii"),r=[],n=`--${t}`,l=`${n}--`;for(let s=0;s<10;++s)i.decode(new Uint8Array(e,s,n.length))===n&&(A=s);if(A===null)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){let s=i.decode(new Uint8Array(e,A,Math.min(n.length+1024,e.byteLength-A)));if(s.length===0||s.startsWith(l))break;if(!s.startsWith(n))throw new Error("Part does not start with boundary");let g=s.substr(n.length+2);if(g.length===0)break;let o=g.indexOf(ns),a=Yf(g.substr(0,o)),{start:I,end:c,total:f}=Mt(a["content-range"]),h=A+n.length+o+ns.length,u=parseInt(c,10)+1-parseInt(I,10);r.push({headers:a,data:e.slice(h,h+u),offset:I,length:u,fileSize:f}),A=h+u+4}return r}var _e=class{async fetch(t,A=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,A)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var JA=class extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[A,i]of t)this.onEviction(A,i.value)}_deleteIfExpired(t,A){return typeof A.expiry=="number"&&A.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,A.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,A){if(this._deleteIfExpired(t,A)===!1)return A.value}_getItemValue(t,A){return A.expiry?this._getOrDeleteIfExpired(t,A):A.value}_peek(t,A){let i=A.get(t);return this._getItemValue(t,i)}_set(t,A){this.cache.set(t,A),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,A){this.oldCache.delete(t),this._set(t,A)}*_entriesAscending(){for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield t)}for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let A=this.cache.get(t);return this._getItemValue(t,A)}if(this.oldCache.has(t)){let A=this.oldCache.get(t);if(this._deleteIfExpired(t,A)===!1)return this._moveToRecent(t,A),A.value}}set(t,A,{maxAge:i=this.maxAge}={}){let r=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:A,expiry:r}):this._set(t,{value:A,expiry:r}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let A=this.cache.delete(t);return A&&this._size--,this.oldCache.delete(t)||A}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let A=[...this._entriesAscending()],i=A.length-t;i<0?(this.cache=new Map(A),this.oldCache=new Map,this._size=A.length):(i>0&&this._emitEvictions(A.slice(0,i)),this.oldCache=new Map(A.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}}*entriesDescending(){let t=[...this.cache];for(let A=t.length-1;A>=0;--A){let i=t[A],[r,n]=i;this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}t=[...this.oldCache];for(let A=t.length-1;A>=0;--A){let i=t[A],[r,n]=i;this.cache.has(r)||this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}}*entriesAscending(){for(let[t,A]of this._entriesAscending())yield[t,A.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let A of this.oldCache.keys())this.cache.has(A)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,A=this){for(let[i,r]of this.entriesAscending())t.call(A,r,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function gs(e){return new Promise(t=>setTimeout(t,e))}function ls(e,t){let A=Array.isArray(e)?e:Array.from(e),i=Array.isArray(t)?t:Array.from(t);return A.map((r,n)=>[r,i[n]])}var fe=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,fe),this.name="AbortError"}},Pi=class extends Error{constructor(t,A){super(A),this.errors=t,this.message=A,this.name="AggregateError"}},fs=Pi;var zi=class{constructor(t,A,i=null){this.offset=t,this.length=A,this.data=i}get top(){return this.offset+this.length}},Ot=class{constructor(t,A,i){this.offset=t,this.length=A,this.blockIds=i}},qt=class extends _e{constructor(t,{blockSize:A=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=A,this.blockCache=new JA({maxSize:i,onEviction:(r,n)=>{this.evictedBlocks.set(r,n)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,A){let i=[],r=[],n=[];this.evictedBlocks.clear();for(let{offset:c,length:f}of t){let h=c+f,{fileSize:u}=this;u!==null&&(h=Math.min(h,u));let B=Math.floor(c/this.blockSize)*this.blockSize;for(let Q=B;Q<h;Q+=this.blockSize){let C=Math.floor(Q/this.blockSize);!this.blockCache.has(C)&&!this.blockRequests.has(C)&&(this.blockIdsToFetch.add(C),r.push(C)),this.blockRequests.has(C)&&i.push(this.blockRequests.get(C)),n.push(C)}}await gs(),this.fetchBlocks(A);let l=[];for(let c of r)this.blockRequests.has(c)&&l.push(this.blockRequests.get(c));await Promise.allSettled(i),await Promise.allSettled(l);let s=[],g=n.filter(c=>this.abortedBlockIds.has(c)||!this.blockCache.has(c));if(g.forEach(c=>this.blockIdsToFetch.add(c)),g.length>0&&A&&!A.aborted){this.fetchBlocks(null);for(let c of g){let f=this.blockRequests.get(c);if(!f)throw new Error(`Block ${c} is not in the block requests`);s.push(f)}await Promise.allSettled(s)}if(A&&A.aborted)throw new fe("Request was aborted");let o=n.map(c=>this.blockCache.get(c)||this.evictedBlocks.get(c)),a=o.filter(c=>!c);if(a.length)throw new fs(a,"Request failed");let I=new Map(ls(n,o));return this.readSliceData(t,I)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let A=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(A,t);for(let r=0;r<A.length;++r){let n=A[r];for(let l of n.blockIds)this.blockRequests.set(l,(async()=>{try{let s=(await i)[r],g=l*this.blockSize,o=g-s.offset,a=Math.min(o+this.blockSize,s.data.byteLength),I=s.data.slice(o,a),c=new zi(g,I.byteLength,I,l);this.blockCache.set(l,c),this.abortedBlockIds.delete(l)}catch(s){if(s.name==="AbortError")s.signal=t,this.blockCache.delete(l),this.abortedBlockIds.add(l);else throw s}finally{this.blockRequests.delete(l)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let A=Array.from(t).sort((l,s)=>l-s);if(A.length===0)return[];let i=[],r=null,n=[];for(let l of A)r===null||r+1===l?(i.push(l),r=l):(n.push(new Ot(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[l],r=l);return n.push(new Ot(i[0]*this.blockSize,i.length*this.blockSize,i)),n}readSliceData(t,A){return t.map(i=>{let r=i.offset+i.length;this.fileSize!==null&&(r=Math.min(this.fileSize,r));let n=Math.floor(i.offset/this.blockSize),l=Math.floor(r/this.blockSize),s=new ArrayBuffer(i.length),g=new Uint8Array(s);for(let o=n;o<=l;++o){let a=A.get(o),I=a.offset-i.offset,c=a.top-r,f=0,h=0,u;I<0?f=-I:I>0&&(h=I),c<0?u=a.length-f:u=r-a.offset-f;let B=new Uint8Array(a.data,f,u);g.set(B,h)}return s})}};var He=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},Je=class{constructor(t){this.url=t}async request({headers:t,signal:A}={}){throw new Error("request is not implemented")}};var Zi=class extends He{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},Yt=class extends Je{constructor(t,A){super(t),this.credentials=A}async request({headers:t,signal:A}={}){let i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:A});return new Zi(i)}};var Xi=class extends He{constructor(t,A){super(),this.xhr=t,this.data=A}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},Ht=class extends Je{constructRequest(t,A){return new Promise((i,r)=>{let n=new XMLHttpRequest;n.open("GET",this.url),n.responseType="arraybuffer";for(let[l,s]of Object.entries(t))n.setRequestHeader(l,s);n.onload=()=>{let l=n.response;i(new Xi(n,l))},n.onerror=r,n.onabort=()=>r(new fe("Request aborted")),n.send(),A&&(A.aborted&&n.abort(),A.addEventListener("abort",()=>n.abort()))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var us=ve(cs(),1),Bs=ve(Is(),1),Es=ve(hs(),1);var ji=class extends He{constructor(t,A){super(),this.response=t,this.dataPromise=A}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},Jt=class extends Je{constructor(t){super(t),this.parsedUrl=Es.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?us.default:Bs.default}constructRequest(t,A){return new Promise((i,r)=>{let n=this.httpApi.get({...this.parsedUrl,headers:t},l=>{let s=new Promise(g=>{let o=[];l.on("data",a=>{o.push(a)}),l.on("end",()=>{let a=Buffer.concat(o).buffer;g(a)}),l.on("error",r)});i(new ji(l,s))});n.on("error",r),A&&(A.aborted&&n.destroy(new fe("Request aborted")),A.addEventListener("abort",()=>n.destroy(new fe("Request aborted"))))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var KA=class extends _e{constructor(t,A,i,r){super(),this.client=t,this.headers=A,this.maxRanges=i,this.allowFullFile=r,this._fileSize=null}async fetch(t,A){return this.maxRanges>=t.length?this.fetchSlices(t,A):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,A))))}async fetchSlices(t,A){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:r,length:n})=>`${r}-${r+n}`).join(",")}`},signal:A});if(i.ok)if(i.status===206){let{type:r,params:n}=ss(i.getHeader("content-type"));if(r==="multipart/byteranges"){let I=as(await i.getData(),n.boundary);return this._fileSize=I[0].fileSize||null,I}let l=await i.getData(),{start:s,end:g,total:o}=Mt(i.getHeader("content-range"));this._fileSize=o||null;let a=[{data:l,offset:s,length:g-s}];if(t.length>1){let I=await Promise.all(t.slice(1).map(c=>this.fetchSlice(c,A)));return a.concat(I)}return a}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let r=await i.getData();return this._fileSize=r.byteLength,[{data:r,offset:0,length:r.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,A){let{offset:i,length:r}=t,n=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+r}`},signal:A});if(n.ok)if(n.status===206){let l=await n.getData(),{total:s}=Mt(n.getHeader("content-range"));return this._fileSize=s||null,{data:l,offset:i,length:r}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let l=await n.getData();return this._fileSize=l.byteLength,{data:l,offset:0,length:l.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function $i(e,{blockSize:t,cacheSize:A}){return t===null?e:new qt(e,{blockSize:t,cacheSize:A})}function Hf(e,{headers:t={},credentials:A,maxRanges:i=0,allowFullFile:r=!1,...n}={}){let l=new Yt(e,A),s=new KA(l,t,i,r);return $i(s,n)}function Jf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...r}={}){let n=new Ht(e),l=new KA(n,t,A,i);return $i(l,r)}function Kf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...r}={}){let n=new Jt(e),l=new KA(n,t,A,i);return $i(l,r)}function Cs(e,{forceXHR:t=!1,...A}={}){return typeof fetch=="function"&&!t?Hf(e,A):typeof XMLHttpRequest<"u"?Jf(e,A):Kf(e,A)}var Wi=class extends _e{constructor(t){super(),this.arrayBuffer=t}fetchSlice(t,A){if(A&&A.aborted)throw new fe("Request aborted");return this.arrayBuffer.slice(t.offset,t.offset+t.length)}};function ds(e){return new Wi(e)}var er=class extends _e{constructor(t){super(),this.file=t}async fetchSlice(t,A){return new Promise((i,r)=>{let n=this.file.slice(t.offset,t.offset+t.length),l=new FileReader;l.onload=s=>i(s.target.result),l.onerror=r,l.onabort=r,l.readAsArrayBuffer(n),A&&A.addEventListener("abort",()=>l.abort())})}};function Qs(e){return new er(e)}st();function Ar(e){switch(e){case M.BYTE:case M.ASCII:case M.SBYTE:case M.UNDEFINED:return 1;case M.SHORT:case M.SSHORT:return 2;case M.LONG:case M.SLONG:case M.FLOAT:case M.IFD:return 4;case M.RATIONAL:case M.SRATIONAL:case M.DOUBLE:case M.LONG8:case M.SLONG8:case M.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${e}`)}}function Vf(e){let t=e.GeoKeyDirectory;if(!t)return null;let A={};for(let i=4;i<=t[3]*4;i+=4){let r=pA[t[i]],n=t[i+1]?nA[t[i+1]]:null,l=t[i+2],s=t[i+3],g=null;if(!n)g=s;else{if(g=e[n],typeof g>"u"||g===null)throw new Error(`Could not get value of geoKey '${r}'.`);typeof g=="string"?g=g.substring(s,s+l-1):g.subarray&&(g=g.subarray(s,s+l),l===1&&(g=g[0]))}A[r]=g}return A}function EA(e,t,A,i){let r=null,n=null,l=Ar(t);switch(t){case M.BYTE:case M.ASCII:case M.UNDEFINED:r=new Uint8Array(A),n=e.readUint8;break;case M.SBYTE:r=new Int8Array(A),n=e.readInt8;break;case M.SHORT:r=new Uint16Array(A),n=e.readUint16;break;case M.SSHORT:r=new Int16Array(A),n=e.readInt16;break;case M.LONG:case M.IFD:r=new Uint32Array(A),n=e.readUint32;break;case M.SLONG:r=new Int32Array(A),n=e.readInt32;break;case M.LONG8:case M.IFD8:r=new Array(A),n=e.readUint64;break;case M.SLONG8:r=new Array(A),n=e.readInt64;break;case M.RATIONAL:r=new Uint32Array(A*2),n=e.readUint32;break;case M.SRATIONAL:r=new Int32Array(A*2),n=e.readInt32;break;case M.FLOAT:r=new Float32Array(A),n=e.readFloat32;break;case M.DOUBLE:r=new Float64Array(A),n=e.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===M.RATIONAL||t===M.SRATIONAL)for(let s=0;s<A;s+=2)r[s]=n.call(e,i+s*l),r[s+1]=n.call(e,i+(s*l+4));else for(let s=0;s<A;++s)r[s]=n.call(e,i+s*l);return t===M.ASCII?new TextDecoder("utf-8").decode(r):r}var tr=class{constructor(t,A,i){this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=i}},CA=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},ir=class{async readRasters(t={}){let{window:A,width:i,height:r}=t,{resX:n,resY:l,bbox:s}=t,g=await this.getImage(),o=g,a=await this.getImageCount(),I=g.getBoundingBox();if(A&&s)throw new Error('Both "bbox" and "window" passed.');if(i||r){if(A){let[h,u]=g.getOrigin(),[B,Q]=g.getResolution();s=[h+A[0]*B,u+A[1]*Q,h+A[2]*B,u+A[3]*Q]}let f=s||I;if(i){if(n)throw new Error("Both width and resX passed");n=(f[2]-f[0])/i}if(r){if(l)throw new Error("Both width and resY passed");l=(f[3]-f[1])/r}}if(n||l){let f=[];for(let h=0;h<a;++h){let u=await this.getImage(h),{SubfileType:B,NewSubfileType:Q}=u.fileDirectory;(h===0||B===2||Q&1)&&f.push(u)}f.sort((h,u)=>h.getWidth()-u.getWidth());for(let h=0;h<f.length;++h){let u=f[h],B=(I[2]-I[0])/u.getWidth(),Q=(I[3]-I[1])/u.getHeight();if(o=u,n&&n>B||l&&l>Q)break}}let c=A;if(s){let[f,h]=g.getOrigin(),[u,B]=o.getResolution(g);c=[Math.round((s[0]-f)/u),Math.round((s[1]-h)/B),Math.round((s[2]-f)/u),Math.round((s[3]-h)/B)],c=[Math.min(c[0],c[2]),Math.min(c[1],c[3]),Math.max(c[0],c[2]),Math.max(c[1],c[3])]}return o.readRasters({...t,window:c})}},ke=class extends ir{constructor(t,A,i,r,n={}){super(),this.source=t,this.littleEndian=A,this.bigTiff=i,this.firstIFDOffset=r,this.cache=n.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,A){let i=this.bigTiff?4048:1024;return new HA((await this.source.fetch([{offset:t,length:typeof A<"u"?A:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let A=this.bigTiff?20:12,i=this.bigTiff?8:2,r=await this.getSlice(t),n=this.bigTiff?r.readUint64(t):r.readUint16(t),l=n*A+(this.bigTiff?16:6);r.covers(t,l)||(r=await this.getSlice(t,l));let s={},g=t+(this.bigTiff?8:2);for(let I=0;I<n;g+=A,++I){let c=r.readUint16(g),f=r.readUint16(g+2),h=this.bigTiff?r.readUint64(g+4):r.readUint32(g+4),u,B,Q=Ar(f),C=g+(this.bigTiff?12:8);if(Q*h<=(this.bigTiff?8:4))u=EA(r,f,h,C);else{let p=r.readOffset(C),w=Ar(f)*h;if(r.covers(p,w))u=EA(r,f,h,p);else{let d=await this.getSlice(p,w);u=EA(d,f,h,p)}}h===1&&en.indexOf(c)===-1&&!(f===M.RATIONAL||f===M.SRATIONAL)?B=u[0]:B=u,s[nA[c]]=B}let o=Vf(s),a=r.readOffset(t+i+A*n);return new tr(s,o,a)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(A){throw A instanceof CA?new CA(t):A}return this.ifdRequests[t]=(async()=>{let A=await this.ifdRequests[t-1];if(A.nextIFDByteOffset===0)throw new CA(t);return this.parseFileDirectoryAt(A.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let A=await this.requestIFD(t);return new rs(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,A=!0;for(;A;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof CA)A=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let A="GDAL_STRUCTURAL_METADATA_SIZE=",i=A.length+100,r=await this.getSlice(t,i);if(A===EA(r,M.ASCII,A.length,t)){let l=EA(r,M.ASCII,i,t).split(`
19
19
  `)[0],s=Number(l.split("=")[1].split(" ")[0])+l.length;s>i&&(r=await this.getSlice(t,s));let g=EA(r,M.ASCII,s,t);this.ghostValues={},g.split(`
20
- `).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,a])=>{this.ghostValues[o]=a})}return this.ghostValues}static async fromSource(t,A,i){let r=(await t.fetch([{offset:0,length:1024}],i))[0],n=new YA(r),l=n.getUint16(0,0),s;if(l===18761)s=!0;else if(l===19789)s=!1;else throw new TypeError("Invalid byte order value.");let g=n.getUint16(2,s),o;if(g===42)o=!1;else if(g===43){if(o=!0,n.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let a=o?n.getUint64(8,s):n.getUint32(4,s);return new ke(t,s,o,a,A)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function ps(e,t={},A){return ke.fromSource(Cs(e,t),A)}async function ws(e,t){return ke.fromSource(ds(e),t)}async function ys(e,t){return ke.fromSource(Qs(e),t)}var Pf="4.3.0-beta.3",ms={dataType:null,batchType:null,id:"geotiff",name:"GeoTIFF",module:"geotiff",version:Pf,options:{enableAlpha:!0},mimeTypes:["image/tiff","image/geotiff"],extensions:["geotiff","tiff","geotif","tif"],parse:zf};async function zf(e,t){let i=await(await ws(e)).getImage(),r=await i.readRGB({enableAlpha:t?.geotiff?.enableAlpha}),n=i.getWidth(),l=i.getHeight(),s=new Uint8ClampedArray(r),g=i.getBoundingBox(),o=i.getGeoKeys(),a;return o?.ProjectedCSTypeGeoKey&&(a=`EPSG:${o.ProjectedCSTypeGeoKey}`),{crs:a,bounds:g,width:n,height:l,data:s,metadata:o}}function rr(e){return Array.isArray(e)?e:[e]}function _s(e){if(!Number.isInteger(e))throw Error("Not an integer.");let t=new ArrayBuffer(4);new DataView(t).setInt32(0,e,!1);let i=new Uint8Array(t);return Array.from(i)}function nr(e){let t=e[e.length-1];return t===3||t===4}function xs(e){let t=nr(e.shape),[A,i]=e.shape.slice(t?-3:-2);return{height:A,width:i}}var bs="__vivSignalAborted";var dA=class{dtype;tileSize;shape;labels;meta;_indexer;constructor(t,A,i,r,n,l){this._indexer=t,this.dtype=A,this.tileSize=i,this.shape=r,this.labels=n,this.meta=l}async getRaster({selection:t,signal:A}){let i=await this._indexer(t);return this._readRasters(i,{signal:A})}async getTile({x:t,y:A,selection:i,signal:r}){let{height:n,width:l}=this._getTileExtent(t,A),s=t*this.tileSize,g=A*this.tileSize,o=[s,g,s+l,g+n],a=await this._indexer(i);return this._readRasters(a,{window:o,width:l,height:n,signal:r})}async _readRasters(t,A){let i=nr(this.shape),r=await t.readRasters({interleave:i,...A});if(A?.signal?.aborted)throw bs;return{data:i?r:r[0],width:r.width,height:r.height}}_getTileExtent(t,A){let{height:i,width:r}=xs(this),n=this.tileSize,l=this.tileSize,s=Math.floor(r/this.tileSize),g=Math.floor(i/this.tileSize);return t===s&&(l=r%this.tileSize),A===g&&(n=i%this.tileSize),{height:n,width:l}}onTileError(t){console.error(t)}};function Ds(e,t){let A=t[0],{SizeT:i,SizeC:r,SizeZ:n}=A.Pixels,l=ks(A);return(s,g)=>{let o=l(s),a=g*n*i*r;return e.getImage(o+a)}}function Ss(e,t){let A=t[0],i=ks(A),r=new Map;return async(n,l)=>{let s=i(n),g=await e.getImage(s);if(l===0)return g;let{SubIFDs:o}=g.fileDirectory;if(!o)throw Error("Indexing Error: OME-TIFF is missing SubIFDs.");let a=`${n.t}-${n.c}-${n.z}-${l}`;if(!r.has(a)){let c=o[l-1];r.set(a,e.parseFileDirectoryAt(c))}let I=await r.get(a);return new g.constructor(I.fileDirectory,I.geoKeyDirectory,e.dataView,e.littleEndian,e.cache,e.source)}}function ks(e){let{SizeC:t,SizeZ:A,SizeT:i,DimensionOrder:r}=e.Pixels;switch(r){case"XYZCT":return({t:n,c:l,z:s})=>n*A*t+l*A+s;case"XYZTC":return({t:n,c:l,z:s})=>l*A*i+n*A+s;case"XYCTZ":return({t:n,c:l,z:s})=>s*t*i+n*t+l;case"XYCZT":return({t:n,c:l,z:s})=>n*t*A+s*t+l;case"XYTCZ":return({t:n,c:l,z:s})=>s*i*t+l*i+n;case"XYTZC":return({t:n,c:l,z:s})=>l*i*A+s*i+n;default:throw new Error(`Invalid OME-XML DimensionOrder, got ${r}.`)}}function Fs(e){return e.toLowerCase().split("").reverse()}function Ns(e){let t=new Map(e.map((A,i)=>[A,i]));if(t.size!==e.length)throw Error("Labels must be unique, found duplicated label.");return A=>{let i=t.get(A);if(i===void 0)throw Error("Invalid dimension.");return i}}var Rs={uint8:"Uint8",uint16:"Uint16",uint32:"Uint32",float:"Float32",double:"Float64",int8:"Int8",int16:"Int16",int32:"Int32"};function Ts({Pixels:e}){let t=Fs(e.DimensionOrder),A=Ns(t),i=Array(t.length).fill(0);i[A("t")]=e.SizeT,i[A("c")]=e.SizeC,i[A("z")]=e.SizeZ,e.Interleaved&&(t.push("_c"),i.push(3));let r=l=>{let s=[...i];return s[A("x")]=e.SizeX>>l,s[A("y")]=e.SizeY>>l,s};if(!(e.Type in Rs))throw Error(`Pixel type ${e.Type} not supported.`);let n=Rs[e.Type];if(e.PhysicalSizeX&&e.PhysicalSizeY){let l={x:{size:e.PhysicalSizeX,unit:e.PhysicalSizeXUnit},y:{size:e.PhysicalSizeY,unit:e.PhysicalSizeYUnit}};return e.PhysicalSizeZ&&(l.z={size:e.PhysicalSizeZ,unit:e.PhysicalSizeZUnit}),{labels:t,getShape:r,physicalSizes:l,dtype:n}}return{labels:t,getShape:r,dtype:n}}var ha=ve(Ia(),1);var oI=new ha.XMLParser({attributeNamePrefix:"",attributesGroupName:"attr",parseTagValue:!0,parseAttributeValue:!0,ignoreAttributes:!1}),sI=e=>oI.parse(e);function ua(e){let t=sI(e);if(!t.OME)throw Error("Failed to parse OME-XML metadata.");return rr(t.OME.Image).map(A=>{let i=rr(A.Pixels.Channel).map(s=>"Color"in s.attr?{...s.attr,Color:_s(s.attr.Color)}:{...s.attr}),{AquisitionDate:r="",Description:n=""}=A,l={...A.attr,AquisitionDate:r,Description:n,Pixels:{...A.Pixels.attr,Channels:i}};return{...l,format(){let{Pixels:s}=l,g=["X","Y","Z"].map(o=>{let a=s[`PhysicalSize${o}`],I=s[`PhysicalSize${o}Unit`];return a&&I?`${a} ${I}`:"-"}).join(" x ");return{"Acquisition Date":l.AquisitionDate,"Dimensions (XY)":`${s.SizeX} x ${s.SizeY}`,"Pixels Type":s.Type,"Pixels Size (XYZ)":g,"Z-sections/Timepoints":`${s.SizeZ} x ${s.SizeT}`,Channels:s.SizeC}}}})}var Ba=e=>e.fileDirectory.ImageDescription.includes("<OME");async function Ea(e,t){let{ImageDescription:A,SubIFDs:i,PhotometricInterpretation:r}=t.fileDirectory,n=ua(A),l,s;i?(l=i.length+1,s=Ss(e,n)):(l=n.length,s=Ds(e,n));let g=n[0],{labels:o,getShape:a,physicalSizes:I,dtype:c}=Ts(g),f=t.getTileWidth(),h={photometricInterpretation:r,physicalSizes:I};return{data:Array.from({length:l}).map((B,Q)=>{let C=a(Q),p=d=>s(d,Q);return new dA(p,c,f,C,o,h)}),metadata:g}}async function Ca(e,t={}){let{headers:A,offsets:i}=t,r;e instanceof ke?r=e:typeof e=="string"?r=await ps(e,A):r=await ys(e);let n=await r.getImage(0);if(Ba(n))return Ea(r,n);throw new Error("GeoTIFF not recognized.")}return _a(zA);})();
20
+ `).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,a])=>{this.ghostValues[o]=a})}return this.ghostValues}static async fromSource(t,A,i){let r=(await t.fetch([{offset:0,length:1024}],i))[0],n=new YA(r),l=n.getUint16(0,0),s;if(l===18761)s=!0;else if(l===19789)s=!1;else throw new TypeError("Invalid byte order value.");let g=n.getUint16(2,s),o;if(g===42)o=!1;else if(g===43){if(o=!0,n.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let a=o?n.getUint64(8,s):n.getUint32(4,s);return new ke(t,s,o,a,A)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function ps(e,t={},A){return ke.fromSource(Cs(e,t),A)}async function ws(e,t){return ke.fromSource(ds(e),t)}async function ys(e,t){return ke.fromSource(Qs(e),t)}var Pf="4.3.0",ms={dataType:null,batchType:null,id:"geotiff",name:"GeoTIFF",module:"geotiff",version:Pf,options:{enableAlpha:!0},mimeTypes:["image/tiff","image/geotiff"],extensions:["geotiff","tiff","geotif","tif"],parse:zf};async function zf(e,t){let i=await(await ws(e)).getImage(),r=await i.readRGB({enableAlpha:t?.geotiff?.enableAlpha}),n=i.getWidth(),l=i.getHeight(),s=new Uint8ClampedArray(r),g=i.getBoundingBox(),o=i.getGeoKeys(),a;return o?.ProjectedCSTypeGeoKey&&(a=`EPSG:${o.ProjectedCSTypeGeoKey}`),{crs:a,bounds:g,width:n,height:l,data:s,metadata:o}}function rr(e){return Array.isArray(e)?e:[e]}function _s(e){if(!Number.isInteger(e))throw Error("Not an integer.");let t=new ArrayBuffer(4);new DataView(t).setInt32(0,e,!1);let i=new Uint8Array(t);return Array.from(i)}function nr(e){let t=e[e.length-1];return t===3||t===4}function xs(e){let t=nr(e.shape),[A,i]=e.shape.slice(t?-3:-2);return{height:A,width:i}}var Ds="__vivSignalAborted";var dA=class{dtype;tileSize;shape;labels;meta;_indexer;constructor(t,A,i,r,n,l){this._indexer=t,this.dtype=A,this.tileSize=i,this.shape=r,this.labels=n,this.meta=l}async getRaster({selection:t,signal:A}){let i=await this._indexer(t);return this._readRasters(i,{signal:A})}async getTile({x:t,y:A,selection:i,signal:r}){let{height:n,width:l}=this._getTileExtent(t,A),s=t*this.tileSize,g=A*this.tileSize,o=[s,g,s+l,g+n],a=await this._indexer(i);return this._readRasters(a,{window:o,width:l,height:n,signal:r})}async _readRasters(t,A){let i=nr(this.shape),r=await t.readRasters({interleave:i,...A});if(A?.signal?.aborted)throw Ds;return{data:i?r:r[0],width:r.width,height:r.height}}_getTileExtent(t,A){let{height:i,width:r}=xs(this),n=this.tileSize,l=this.tileSize,s=Math.floor(r/this.tileSize),g=Math.floor(i/this.tileSize);return t===s&&(l=r%this.tileSize),A===g&&(n=i%this.tileSize),{height:n,width:l}}onTileError(t){console.error(t)}};function bs(e,t){let A=t[0],{SizeT:i,SizeC:r,SizeZ:n}=A.Pixels,l=ks(A);return(s,g)=>{let o=l(s),a=g*n*i*r;return e.getImage(o+a)}}function Ss(e,t){let A=t[0],i=ks(A),r=new Map;return async(n,l)=>{let s=i(n),g=await e.getImage(s);if(l===0)return g;let{SubIFDs:o}=g.fileDirectory;if(!o)throw Error("Indexing Error: OME-TIFF is missing SubIFDs.");let a=`${n.t}-${n.c}-${n.z}-${l}`;if(!r.has(a)){let c=o[l-1];r.set(a,e.parseFileDirectoryAt(c))}let I=await r.get(a);return new g.constructor(I.fileDirectory,I.geoKeyDirectory,e.dataView,e.littleEndian,e.cache,e.source)}}function ks(e){let{SizeC:t,SizeZ:A,SizeT:i,DimensionOrder:r}=e.Pixels;switch(r){case"XYZCT":return({t:n,c:l,z:s})=>n*A*t+l*A+s;case"XYZTC":return({t:n,c:l,z:s})=>l*A*i+n*A+s;case"XYCTZ":return({t:n,c:l,z:s})=>s*t*i+n*t+l;case"XYCZT":return({t:n,c:l,z:s})=>n*t*A+s*t+l;case"XYTCZ":return({t:n,c:l,z:s})=>s*i*t+l*i+n;case"XYTZC":return({t:n,c:l,z:s})=>l*i*A+s*i+n;default:throw new Error(`Invalid OME-XML DimensionOrder, got ${r}.`)}}function Fs(e){return e.toLowerCase().split("").reverse()}function Ns(e){let t=new Map(e.map((A,i)=>[A,i]));if(t.size!==e.length)throw Error("Labels must be unique, found duplicated label.");return A=>{let i=t.get(A);if(i===void 0)throw Error("Invalid dimension.");return i}}var Rs={uint8:"Uint8",uint16:"Uint16",uint32:"Uint32",float:"Float32",double:"Float64",int8:"Int8",int16:"Int16",int32:"Int32"};function Ts({Pixels:e}){let t=Fs(e.DimensionOrder),A=Ns(t),i=Array(t.length).fill(0);i[A("t")]=e.SizeT,i[A("c")]=e.SizeC,i[A("z")]=e.SizeZ,e.Interleaved&&(t.push("_c"),i.push(3));let r=l=>{let s=[...i];return s[A("x")]=e.SizeX>>l,s[A("y")]=e.SizeY>>l,s};if(!(e.Type in Rs))throw Error(`Pixel type ${e.Type} not supported.`);let n=Rs[e.Type];if(e.PhysicalSizeX&&e.PhysicalSizeY){let l={x:{size:e.PhysicalSizeX,unit:e.PhysicalSizeXUnit},y:{size:e.PhysicalSizeY,unit:e.PhysicalSizeYUnit}};return e.PhysicalSizeZ&&(l.z={size:e.PhysicalSizeZ,unit:e.PhysicalSizeZUnit}),{labels:t,getShape:r,physicalSizes:l,dtype:n}}return{labels:t,getShape:r,dtype:n}}var ha=ve(Ia(),1);var oI=new ha.XMLParser({attributeNamePrefix:"",attributesGroupName:"attr",parseTagValue:!0,parseAttributeValue:!0,ignoreAttributes:!1}),sI=e=>oI.parse(e);function ua(e){let t=sI(e);if(!t.OME)throw Error("Failed to parse OME-XML metadata.");return rr(t.OME.Image).map(A=>{let i=rr(A.Pixels.Channel).map(s=>"Color"in s.attr?{...s.attr,Color:_s(s.attr.Color)}:{...s.attr}),{AquisitionDate:r="",Description:n=""}=A,l={...A.attr,AquisitionDate:r,Description:n,Pixels:{...A.Pixels.attr,Channels:i}};return{...l,format(){let{Pixels:s}=l,g=["X","Y","Z"].map(o=>{let a=s[`PhysicalSize${o}`],I=s[`PhysicalSize${o}Unit`];return a&&I?`${a} ${I}`:"-"}).join(" x ");return{"Acquisition Date":l.AquisitionDate,"Dimensions (XY)":`${s.SizeX} x ${s.SizeY}`,"Pixels Type":s.Type,"Pixels Size (XYZ)":g,"Z-sections/Timepoints":`${s.SizeZ} x ${s.SizeT}`,Channels:s.SizeC}}}})}var Ba=e=>e.fileDirectory.ImageDescription.includes("<OME");async function Ea(e,t){let{ImageDescription:A,SubIFDs:i,PhotometricInterpretation:r}=t.fileDirectory,n=ua(A),l,s;i?(l=i.length+1,s=Ss(e,n)):(l=n.length,s=bs(e,n));let g=n[0],{labels:o,getShape:a,physicalSizes:I,dtype:c}=Ts(g),f=t.getTileWidth(),h={photometricInterpretation:r,physicalSizes:I};return{data:Array.from({length:l}).map((B,Q)=>{let C=a(Q),p=d=>s(d,Q);return new dA(p,c,f,C,o,h)}),metadata:g}}async function Ca(e,t={}){let{headers:A,offsets:i}=t,r;e instanceof ke?r=e:typeof e=="string"?r=await ps(e,A):r=await ys(e);let n=await r.getImage(0);if(Ba(n))return Ea(r,n);throw new Error("GeoTIFF not recognized.")}return _a(zA);})();
21
21
  /*! Bundled license information:
22
22
 
23
23
  pako/dist/pako.esm.mjs: