cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
27 lines (25 loc) • 36.1 kB
JavaScript
/**
* @license
* Cesium - https://github.com/CesiumGS/cesium
* Version 1.144.0
*
* Copyright 2011-2022 Cesium Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{a as Ct}from"./chunk-RCKN2G6K.js";import{a as O}from"./chunk-AMKKUAL3.js";import{b as ht}from"./chunk-3MNKUQ6L.js";import{f as Rt}from"./chunk-J4SK6SKL.js";var Wr=1953029805,Jr=2917034100;function ct(t,a){if(ct.passThroughDataForTesting)return a;ht.typeOf.object("key",t),ht.typeOf.object("data",a);let r=t.byteLength;if(r===0||r%4!==0)throw new O("The length of key must be greater than 0 and a multiple of 4.");let e=new DataView(a),i=e.getUint32(0,!0);if(i===Wr||i===Jr)return a;let s=new DataView(t),d=0,l=a.byteLength,_=l-l%8,n=r,o,g=8;for(;d<_;)for(g=(g+8)%24,o=g;d<_&&o<n;)e.setUint32(d,e.getUint32(d,!0)^s.getUint32(o,!0),!0),e.setUint32(d+4,e.getUint32(d+4,!0)^s.getUint32(o+4,!0),!0),d+=8,o+=24;if(d<l)for(o>=n&&(g=(g+8)%24,o=g);d<l;)e.setUint8(d,e.getUint8(d)^s.getUint8(o)),d++,o++}ct.passThroughDataForTesting=!1;var Lt=ct;function Kr(t,a){return(t&a)!==0}var F=Kr;var Xr=[1,2,4,8],Nt=15,Zr=16,$r=64,ta=128;function I(t,a,r,e,i,s){this._bits=t,this.cnodeVersion=a,this.imageryVersion=r,this.terrainVersion=e,this.imageryProvider=i,this.terrainProvider=s,this.ancestorHasTerrain=!1,this.terrainState=void 0}I.clone=function(t,a){return Rt(a)?(a._bits=t._bits,a.cnodeVersion=t.cnodeVersion,a.imageryVersion=t.imageryVersion,a.terrainVersion=t.terrainVersion,a.imageryProvider=t.imageryProvider,a.terrainProvider=t.terrainProvider):a=new I(t._bits,t.cnodeVersion,t.imageryVersion,t.terrainVersion,t.imageryProvider,t.terrainProvider),a.ancestorHasTerrain=t.ancestorHasTerrain,a.terrainState=t.terrainState,a};I.prototype.setParent=function(t){this.ancestorHasTerrain=t.ancestorHasTerrain||this.hasTerrain()};I.prototype.hasSubtree=function(){return F(this._bits,Zr)};I.prototype.hasImagery=function(){return F(this._bits,$r)};I.prototype.hasTerrain=function(){return F(this._bits,ta)};I.prototype.hasChildren=function(){return F(this._bits,Nt)};I.prototype.hasChild=function(t){return F(this._bits,Xr[t])};I.prototype.getChildBitmask=function(){return this._bits&Nt};var Gt=I;var Ht=0,Ft=1;function q(t){let a=t.length;for(;--a>=0;)t[a]=0}var ra=29,Bt=256,Ot=30,Ar=19,Ur=573,Tr=15,ft=16,Er=256,Sr=16,Br=17,Or=18,aa=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]),ia=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]);new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);var Pr=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ea=512,Ir=Array(288*2);q(Ir);var Dr=Array(Ot*2);q(Dr);var zt=Array(ea);q(zt);var Pt=Array(256);q(Pt);var Vr=Array(ra);q(Vr);var Mr=Array(Ot);q(Mr);var jr=t=>t<256?zt[t]:zt[256+(t>>>7)],st=(t,a)=>{t.pending_buf[t.pending++]=a&255,t.pending_buf[t.pending++]=a>>>8&255},B=(t,a,r)=>{t.bi_valid>ft-r?(t.bi_buf|=a<<t.bi_valid&65535,st(t,t.bi_buf),t.bi_buf=a>>ft-t.bi_valid,t.bi_valid+=r-ft):(t.bi_buf|=a<<t.bi_valid&65535,t.bi_valid+=r)},j=(t,a,r)=>{B(t,r[a*2],r[a*2+1])},na=(t,a)=>{let r=0;do r|=t&1,t>>>=1,r<<=1;while(--a>0);return r>>>1},sa=(t,a)=>{let r=a.dyn_tree,e=a.max_code,i=a.stat_desc.static_tree,s=a.stat_desc.has_stree,d=a.stat_desc.extra_bits,l=a.stat_desc.extra_base,_=a.stat_desc.max_length,n,o,g,c,h,z,A=0;for(c=0;c<=Tr;c++)t.bl_count[c]=0;for(r[t.heap[t.heap_max]*2+1]=0,n=t.heap_max+1;n<Ur;n++)o=t.heap[n],c=r[r[o*2+1]*2+1]+1,c>_&&(c=_,A++),r[o*2+1]=c,!(o>e)&&(t.bl_count[c]++,h=0,o>=l&&(h=d[o-l]),z=r[o*2],t.opt_len+=z*(c+h),s&&(t.static_len+=z*(i[o*2+1]+h)));if(A!==0){do{for(c=_-1;t.bl_count[c]===0;)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[_]--,A-=2}while(A>0);for(c=_;c!==0;c--)for(o=t.bl_count[c];o!==0;)g=t.heap[--n],!(g>e)&&(r[g*2+1]!==c&&(t.opt_len+=(c-r[g*2+1])*r[g*2],r[g*2+1]=c),o--)}},oa=(t,a,r)=>{let e=Array(16),i=0,s,d;for(s=1;s<=Tr;s++)i=i+r[s-1]<<1,e[s]=i;for(d=0;d<=a;d++){let l=t[d*2+1];l!==0&&(t[d*2]=na(e[l]++,l))}},la=t=>{let a;for(a=0;a<286;a++)t.dyn_ltree[a*2]=0;for(a=0;a<Ot;a++)t.dyn_dtree[a*2]=0;for(a=0;a<Ar;a++)t.bl_tree[a*2]=0;t.dyn_ltree[Er*2]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Rr=t=>{t.bi_valid>8?st(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Yt=(t,a,r,e)=>{let i=a*2,s=r*2;return t[i]<t[s]||t[i]===t[s]&&e[a]<=e[r]},_t=(t,a,r)=>{let e=t.heap[r],i=r<<1;for(;i<=t.heap_len&&(i<t.heap_len&&Yt(a,t.heap[i+1],t.heap[i],t.depth)&&i++,!Yt(a,e,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=e},Qt=(t,a,r)=>{let e,i,s=0,d,l;if(t.sym_next!==0)do e=t.pending_buf[t.sym_buf+s++]&255,e+=(t.pending_buf[t.sym_buf+s++]&255)<<8,i=t.pending_buf[t.sym_buf+s++],e===0?j(t,i,a):(d=Pt[i],j(t,d+Bt+1,a),l=aa[d],l!==0&&(i-=Vr[d],B(t,i,l)),e--,d=jr(e),j(t,d,r),l=ia[d],l!==0&&(e-=Mr[d],B(t,e,l)));while(s<t.sym_next);j(t,Er,a)},At=(t,a)=>{let r=a.dyn_tree,e=a.stat_desc.static_tree,i=a.stat_desc.has_stree,s=a.stat_desc.elems,d,l,_=-1,n;for(t.heap_len=0,t.heap_max=Ur,d=0;d<s;d++)r[d*2]===0?r[d*2+1]=0:(t.heap[++t.heap_len]=_=d,t.depth[d]=0);for(;t.heap_len<2;)n=t.heap[++t.heap_len]=_<2?++_:0,r[n*2]=1,t.depth[n]=0,t.opt_len--,i&&(t.static_len-=e[n*2+1]);for(a.max_code=_,d=t.heap_len>>1;d>=1;d--)_t(t,r,d);n=s;do d=t.heap[1],t.heap[1]=t.heap[t.heap_len--],_t(t,r,1),l=t.heap[1],t.heap[--t.heap_max]=d,t.heap[--t.heap_max]=l,r[n*2]=r[d*2]+r[l*2],t.depth[n]=(t.depth[d]>=t.depth[l]?t.depth[d]:t.depth[l])+1,r[d*2+1]=r[l*2+1]=n,t.heap[1]=n++,_t(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],sa(t,a),oa(r,_,t.bl_count)},qt=(t,a,r)=>{let e,i=-1,s,d=a[1],l=0,_=7,n=4;for(d===0&&(_=138,n=3),a[(r+1)*2+1]=65535,e=0;e<=r;e++)s=d,d=a[(e+1)*2+1],!(++l<_&&s===d)&&(l<n?t.bl_tree[s*2]+=l:s===0?l<=10?t.bl_tree[Br*2]++:t.bl_tree[Or*2]++:(s!==i&&t.bl_tree[s*2]++,t.bl_tree[Sr*2]++),l=0,i=s,d===0?(_=138,n=3):s===d?(_=6,n=3):(_=7,n=4))},Wt=(t,a,r)=>{let e,i=-1,s,d=a[1],l=0,_=7,n=4;for(d===0&&(_=138,n=3),e=0;e<=r;e++)if(s=d,d=a[(e+1)*2+1],!(++l<_&&s===d)){if(l<n)do j(t,s,t.bl_tree);while(--l!==0);else s===0?l<=10?(j(t,Br,t.bl_tree),B(t,l-3,3)):(j(t,Or,t.bl_tree),B(t,l-11,7)):(s!==i&&(j(t,s,t.bl_tree),l--),j(t,Sr,t.bl_tree),B(t,l-3,2));l=0,i=s,d===0?(_=138,n=3):s===d?(_=6,n=3):(_=7,n=4)}},da=t=>{let a;for(qt(t,t.dyn_ltree,t.l_desc.max_code),qt(t,t.dyn_dtree,t.d_desc.max_code),At(t,t.bl_desc),a=Ar-1;a>=3&&t.bl_tree[Pr[a]*2+1]===0;a--);return t.opt_len+=3*(a+1)+5+5+4,a},ha=(t,a,r,e)=>{let i;for(B(t,a-257,5),B(t,r-1,5),B(t,e-4,4),i=0;i<e;i++)B(t,t.bl_tree[Pr[i]*2+1],3);Wt(t,t.dyn_ltree,a-1),Wt(t,t.dyn_dtree,r-1)},ca=t=>{let a=4093624447,r;for(r=0;r<=31;r++,a>>>=1)if(a&1&&t.dyn_ltree[r*2]!==0)return Ht;if(t.dyn_ltree[18]!==0||t.dyn_ltree[20]!==0||t.dyn_ltree[26]!==0)return Ft;for(r=32;r<Bt;r++)if(t.dyn_ltree[r*2]!==0)return Ft;return Ht},Ut=(t,a,r,e)=>{B(t,0+ +!!e,3),Rr(t),st(t,r),st(t,~r),r&&t.pending_buf.set(t.window.subarray(a,a+r),t.pending),t.pending+=r},fa=(t,a,r,e)=>{let i,s,d=0;t.level>0?(t.strm.data_type===2&&(t.strm.data_type=ca(t)),At(t,t.l_desc),At(t,t.d_desc),d=da(t),i=t.opt_len+3+7>>>3,s=t.static_len+3+7>>>3,s<=i&&(i=s)):i=s=r+5,r+4<=i&&a!==-1?Ut(t,a,r,e):t.strategy===4||s===i?(B(t,2+ +!!e,3),Qt(t,Ir,Dr)):(B(t,4+ +!!e,3),ha(t,t.l_desc.max_code+1,t.d_desc.max_code+1,d+1),Qt(t,t.dyn_ltree,t.dyn_dtree)),la(t),e&&Rr(t)},X=(t,a,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=a,t.pending_buf[t.sym_buf+t.sym_next++]=a>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,a===0?t.dyn_ltree[r*2]++:(t.matches++,a--,t.dyn_ltree[(Pt[r]+Bt+1)*2]++,t.dyn_dtree[jr(a)*2]++),t.sym_next===t.sym_end),ot=(t,a,r,e)=>{let i=t&65535|0,s=t>>>16&65535|0,d=0;for(;r!==0;){d=r>2e3?2e3:r,r-=d;do i=i+a[e++]|0,s=s+i|0;while(--d);i%=65521,s%=65521}return i|s<<16|0},_a=new Uint32Array((()=>{let t,a=[];for(var r=0;r<256;r++){t=r;for(var e=0;e<8;e++)t=t&1?3988292384^t>>>1:t>>>1;a[r]=t}return a})()),P=(t,a,r,e)=>{let i=_a,s=e+r;t^=-1;for(let d=e;d<s;d++)t=t>>>8^i[(t^a[d])&255];return t^-1},ut={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"},E=3,mt=258,V=262,C=1,It=2,Dt=3,Vt=4,ua=t=>{let a,r,e,i=t.w_size;a=t.hash_size,e=a;do r=t.head[--e],t.head[e]=r>=i?r-i:0;while(--a);a=i,e=a;do r=t.prev[--e],t.prev[e]=r>=i?r-i:0;while(--a)},Mt=(t,a,r)=>(a<<t.hash_shift^r)&t.hash_mask,Q=(t,a)=>{let r;if(t.legacy_hash)r=t.ins_h=Mt(t,t.ins_h,t.window[a+E-1]);else{let i=t.window,s=i[a]|i[a+1]<<8|i[a+2]<<16|i[a+3]<<24;r=t.ins_h=Math.imul(s,66521)+66521>>>16&t.hash_mask}let e=t.prev[a&t.w_mask]=t.head[r];return t.head[r]=a,e},Tt=t=>{let a=t.state,r=a.pending;r>t.avail_out&&(r=t.avail_out),r!==0&&(t.output.set(a.pending_buf.subarray(a.pending_out,a.pending_out+r),t.next_out),t.next_out+=r,a.pending_out+=r,t.total_out+=r,t.avail_out-=r,a.pending-=r,a.pending===0&&(a.pending_out=0))},G=(t,a)=>{fa(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,a),t.block_start=t.strstart,Tt(t.strm)},Et=(t,a,r,e)=>{let i=t.avail_in;return i>e&&(i=e),i===0?0:(t.avail_in-=i,a.set(t.input.subarray(t.next_in,t.next_in+i),r),t.state.wrap===1?t.adler=ot(t.adler,a,i,r):t.state.wrap===2&&(t.adler=P(t.adler,a,i,r)),t.next_in+=i,t.total_in+=i,i)},Cr=(t,a)=>{let r=t.max_chain_length,e=t.strstart,i,s,d=t.prev_length,l=t.nice_match,_=t.strstart>t.w_size-V?t.strstart-(t.w_size-V):0,n=t.window,o=t.w_mask,g=t.prev,c=t.strstart+mt,h=n[e+d-1],z=n[e+d];t.prev_length>=t.good_match&&(r>>=2),l>t.lookahead&&(l=t.lookahead);do if(i=a,!(n[i+d]!==z||n[i+d-1]!==h||n[i]!==n[e]||n[++i]!==n[e+1])){e+=2,i++;do;while(n[++e]===n[++i]&&n[++e]===n[++i]&&n[++e]===n[++i]&&n[++e]===n[++i]&&n[++e]===n[++i]&&n[++e]===n[++i]&&n[++e]===n[++i]&&n[++e]===n[++i]&&e<c);if(s=mt-(c-e),e=c-mt,s>d){if(t.match_start=a,d=s,s>=l)break;h=n[e+d-1],z=n[e+d]}}while((a=g[a&o])>_&&--r!==0);return d<=t.lookahead?d:t.lookahead},Lr=t=>{let a=t.w_size,r,e,i;do{if(e=t.window_size-t.lookahead-t.strstart,t.strstart>=a+(a-V)&&(t.window.set(t.window.subarray(a,a+a-e),0),t.match_start-=a,t.strstart-=a,t.block_start-=a,t.insert>t.strstart&&(t.insert=t.strstart),ua(t),e+=a),t.strm.avail_in===0)break;if(r=Et(t.strm,t.window,t.strstart+t.lookahead,e),t.lookahead+=r,!t.legacy_hash){if(t.lookahead+t.insert>E)for(i=t.strstart-t.insert;t.insert&&(Q(t,i),i++,t.insert--,!(t.lookahead+t.insert<=E)););}else if(t.lookahead+t.insert>=E)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Mt(t,t.ins_h,t.window[i+1]);t.insert&&(Q(t,i),i++,t.insert--,!(t.lookahead+t.insert<E)););}while(t.lookahead<V&&t.strm.avail_in!==0)},ma=(t,a)=>{let r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,e,i,s,d=0,l=t.strm.avail_in;do{if(e=65535,s=t.bi_valid+42>>3,t.strm.avail_out<s||(s=t.strm.avail_out-s,i=t.strstart-t.block_start,e>i+t.strm.avail_in&&(e=i+t.strm.avail_in),e>s&&(e=s),e<r&&(e===0&&a!==4||a===0||e!==i+t.strm.avail_in)))break;d=+(a===4&&e===i+t.strm.avail_in),Ut(t,0,0,d),t.pending_buf[t.pending-4]=e,t.pending_buf[t.pending-3]=e>>8,t.pending_buf[t.pending-2]=~e,t.pending_buf[t.pending-1]=~e>>8,Tt(t.strm),i&&(i>e&&(i=e),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,e-=i),e&&(Et(t.strm,t.strm.output,t.strm.next_out,e),t.strm.next_out+=e,t.strm.avail_out-=e,t.strm.total_out+=e)}while(d===0);return l-=t.strm.avail_in,l&&(l>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=l&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-l,t.strm.next_in),t.strstart),t.strstart+=l,t.insert+=l>t.w_size-t.insert?t.w_size-t.insert:l),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),d?Vt:a!==0&&a!==4&&t.strm.avail_in===0&&t.strstart===t.block_start?It:(s=t.window_size-t.strstart,t.strm.avail_in>s&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,s+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),s>t.strm.avail_in&&(s=t.strm.avail_in),s&&(Et(t.strm,t.window,t.strstart,s),t.strstart+=s,t.insert+=s>t.w_size-t.insert?t.w_size-t.insert:s),t.high_water<t.strstart&&(t.high_water=t.strstart),s=t.bi_valid+42>>3,s=t.pending_buf_size-s>65535?65535:t.pending_buf_size-s,r=s>t.w_size?t.w_size:s,i=t.strstart-t.block_start,(i>=r||(i||a===4)&&a!==0&&t.strm.avail_in===0&&i<=s)&&(e=i>s?s:i,d=+(a===4&&t.strm.avail_in===0&&e===i),Ut(t,t.block_start,e,d),t.block_start+=e,Tt(t.strm)),d?Dt:C)},wt=(t,a)=>{let r,e;for(;;){if(t.lookahead<V){if(Lr(t),t.lookahead<V&&a===0)return C;if(t.lookahead===0)break}if(r=0,t.lookahead>=E&&(r=Q(t,t.strstart)),r!==0&&t.strstart-r<=t.w_size-V&&(t.match_length=Cr(t,r)),t.match_length>=E)if(e=X(t,t.strstart-t.match_start,t.match_length-E),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=E){t.match_length--;do t.strstart++,r=Q(t,t.strstart);while(--t.match_length!==0);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.legacy_hash&&(t.ins_h=t.window[t.strstart],t.ins_h=Mt(t,t.ins_h,t.window[t.strstart+1]));else e=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(e&&(G(t,!1),t.strm.avail_out===0))return C}return t.insert=t.strstart<E-1?t.strstart:E-1,a===4?(G(t,!0),t.strm.avail_out===0?Dt:Vt):t.sym_next&&(G(t,!1),t.strm.avail_out===0)?C:It},Y=(t,a)=>{let r,e,i;for(;;){if(t.lookahead<V){if(Lr(t),t.lookahead<V&&a===0)return C;if(t.lookahead===0)break}if(r=0,t.lookahead>=E&&(r=Q(t,t.strstart)),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=E-1,r!==0&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-V&&(t.match_length=Cr(t,r),t.match_length<=5&&(t.strategy===1||t.match_length===E&&t.strstart-t.match_start>4096)&&(t.match_length=E-1)),t.prev_length>=E&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-E,e=X(t,t.strstart-1-t.prev_match,t.prev_length-E),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(r=Q(t,t.strstart));while(--t.prev_length!==0);if(t.match_available=0,t.match_length=E-1,t.strstart++,e&&(G(t,!1),t.strm.avail_out===0))return C}else if(t.match_available){if(e=X(t,0,t.window[t.strstart-1]),e&&G(t,!1),t.strstart++,t.lookahead--,t.strm.avail_out===0)return C}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(e=X(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<E-1?t.strstart:E-1,a===4?(G(t,!0),t.strm.avail_out===0?Dt:Vt):t.sym_next&&(G(t,!1),t.strm.avail_out===0)?C:It},D=class{constructor(t,a,r,e,i){this.good_length=t,this.max_lazy=a,this.nice_length=r,this.max_chain=e,this.func=i}};new D(0,0,0,0,ma),new D(4,4,8,4,wt),new D(4,5,16,8,wt),new D(4,6,32,32,wt),new D(4,4,16,16,Y),new D(8,16,32,32,Y),new D(8,16,128,128,Y),new D(8,32,128,256,Y),new D(32,128,258,1024,Y),new D(32,258,258,4096,Y);var at=16209,wa=16191;function ba(t,a){let r,e,i,s,d,l,_,n,o,g,c,h,z,A,y,b,w,f,m,U,v,p,x,u,k=t.state;r=t.next_in,x=t.input,e=r+(t.avail_in-5),i=t.next_out,u=t.output,s=i-(a-t.avail_out),d=i+(t.avail_out-257),l=k.dmax,_=k.wsize,n=k.whave,o=k.wnext,g=k.window,c=k.hold,h=k.bits,z=k.lencode,A=k.distcode,y=(1<<k.lenbits)-1,b=(1<<k.distbits)-1;t:do{h<15&&(c+=x[r++]<<h,h+=8,c+=x[r++]<<h,h+=8),w=z[c&y];r:for(;;){if(f=w>>>24,c>>>=f,h-=f,f=w>>>16&255,f===0)u[i++]=w&65535;else if(f&16){m=w&65535,f&=15,f&&(h<f&&(c+=x[r++]<<h,h+=8),m+=c&(1<<f)-1,c>>>=f,h-=f),h<15&&(c+=x[r++]<<h,h+=8,c+=x[r++]<<h,h+=8),w=A[c&b];a:for(;;){if(f=w>>>24,c>>>=f,h-=f,f=w>>>16&255,f&16){if(U=w&65535,f&=15,h<f&&(c+=x[r++]<<h,h+=8,h<f&&(c+=x[r++]<<h,h+=8)),U+=c&(1<<f)-1,U>l){t.msg="invalid distance too far back",k.mode=at;break t}if(c>>>=f,h-=f,f=i-s,U>f){if(f=U-f,f>n&&k.sane){t.msg="invalid distance too far back",k.mode=at;break t}if(v=0,p=g,o===0){if(v+=_-f,f<m){m-=f;do u[i++]=g[v++];while(--f);v=i-U,p=u}}else if(o<f){if(v+=_+o-f,f-=o,f<m){m-=f;do u[i++]=g[v++];while(--f);if(v=0,o<m){f=o,m-=f;do u[i++]=g[v++];while(--f);v=i-U,p=u}}}else if(v+=o-f,f<m){m-=f;do u[i++]=g[v++];while(--f);v=i-U,p=u}for(;m>2;)u[i++]=p[v++],u[i++]=p[v++],u[i++]=p[v++],m-=3;m&&(u[i++]=p[v++],m>1&&(u[i++]=p[v++]))}else{v=i-U;do u[i++]=u[v++],u[i++]=u[v++],u[i++]=u[v++],m-=3;while(m>2);m&&(u[i++]=u[v++],m>1&&(u[i++]=u[v++]))}}else if(f&64){t.msg="invalid distance code",k.mode=at;break t}else{w=A[(w&65535)+(c&(1<<f)-1)];continue a}break}}else if(f&64)if(f&32){k.mode=wa;break t}else{t.msg="invalid literal/length code",k.mode=at;break t}else{w=z[(w&65535)+(c&(1<<f)-1)];continue r}break}}while(r<e&&i<d);m=h>>3,r-=m,h-=m<<3,c&=(1<<h)-1,t.next_in=r,t.next_out=i,t.avail_in=r<e?5+(e-r):5-(r-e),t.avail_out=i<d?257+(d-i):257-(i-d),k.hold=c,k.bits=h}var it=15,Jt=852,Kt=592,Xt=0,bt=1,Zt=2,pa=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]),ga=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,199,75]),ka=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]),va=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]),Z=(t,a,r,e,i,s,d,l)=>{let _=l.bits,n=0,o=0,g=0,c=0,h=0,z=0,A=0,y=0,b=0,w=0,f,m,U,v,p,x=null,u,k=new Uint16Array(16),S=new Uint16Array(16),N=null,jt,tt,rt;for(n=0;n<=it;n++)k[n]=0;for(o=0;o<e;o++)k[a[r+o]]++;for(h=_,c=it;c>=1&&k[c]===0;c--);if(h>c&&(h=c),c===0)return i[s++]=20971520,i[s++]=20971520,l.bits=1,0;for(g=1;g<c&&k[g]===0;g++);for(h<g&&(h=g),y=1,n=1;n<=it;n++)if(y<<=1,y-=k[n],y<0)return-1;if(y>0&&(t===Xt||c!==1))return-1;for(S[1]=0,n=1;n<it;n++)S[n+1]=S[n]+k[n];for(o=0;o<e;o++)a[r+o]!==0&&(d[S[a[r+o]]++]=o);if(t===Xt?(x=N=d,u=20):t===bt?(x=pa,N=ga,u=257):(x=ka,N=va,u=0),w=0,o=0,n=g,p=s,z=h,A=0,U=-1,b=1<<h,v=b-1,t===bt&&b>Jt||t===Zt&&b>Kt)return 1;for(;;){jt=n-A,d[o]+1<u?(tt=0,rt=d[o]):d[o]>=u?(tt=N[d[o]-u],rt=x[d[o]-u]):(tt=96,rt=0),f=1<<n-A,m=1<<z,g=m;do m-=f,i[p+(w>>A)+m]=jt<<24|tt<<16|rt|0;while(m!==0);for(f=1<<n-1;w&f;)f>>=1;if(f===0?w=0:(w&=f-1,w+=f),o++,--k[n]===0){if(n===c)break;n=a[r+d[o]]}if(n>h&&(w&v)!==U){for(A===0&&(A=h),p+=g,z=n-A,y=1<<z;z+A<c&&(y-=k[z+A],!(y<=0));)z++,y<<=1;if(b+=1<<z,t===bt&&b>Jt||t===Zt&&b>Kt)return 1;U=w&v,i[U]=h<<24|z<<16|p-s|0}}return w!==0&&(i[p+w]=n-A<<24|4194304),l.bits=h,0},ya=0,Nr=1,Gr=2,dt=16180,$t=16181,tr=16182,rr=16183,ar=16184,ir=16185,er=16186,nr=16187,sr=16188,or=16189,lt=16190,M=16191,pt=16192,lr=16193,gt=16194,dr=16195,hr=16196,cr=16197,fr=16198,et=16199,nt=16200,_r=16201,ur=16202,mr=16203,wr=16204,br=16205,kt=16206,pr=16207,gr=16208,T=16209,St=16210,Hr=16211,xa=852,za=592,kr=t=>(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24),Aa=class{constructor(){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}},W=t=>{if(!t)return 1;let a=t.state;return+(!a||a.strm!==t||a.mode<dt||a.mode>Hr)},Ua=t=>{if(W(t))return-2;let a=t.state;return t.total_in=t.total_out=a.total=0,t.msg="",a.wrap&&(t.adler=a.wrap&1),a.mode=dt,a.last=0,a.havedict=0,a.flags=-1,a.dmax=32768,a.head=null,a.hold=0,a.bits=0,a.lencode=a.lendyn=new Int32Array(xa),a.distcode=a.distdyn=new Int32Array(za),a.sane=1,a.back=-1,0},Fr=t=>{if(W(t))return-2;let a=t.state;return a.wsize=0,a.whave=0,a.wnext=0,Ua(t)},Ta=(t,a)=>{let r;if(W(t))return-2;let e=t.state;return a<0?(r=0,a=-a):(r=(a>>4)+5,a<48&&(a&=15)),a&&(a<8||a>15)?-2:(e.window!==null&&e.wbits!==a&&(e.window=null),e.wrap=r,e.wbits=a,Fr(t))},Ea=(t,a)=>{if(!t)return-2;let r=new Aa;t.state=r,r.strm=t,r.window=null,r.mode=dt;let e=Ta(t,a);return e!==0&&(t.state=null),e},vr=!0,vt,yt,Sa=t=>{if(vr){vt=new Int32Array(512),yt=new Int32Array(32);let a=0;for(;a<144;)t.lens[a++]=8;for(;a<256;)t.lens[a++]=9;for(;a<280;)t.lens[a++]=7;for(;a<288;)t.lens[a++]=8;for(Z(Nr,t.lens,0,288,vt,0,t.work,{bits:9}),a=0;a<32;)t.lens[a++]=5;Z(Gr,t.lens,0,32,yt,0,t.work,{bits:5}),vr=!1}t.lencode=vt,t.lenbits=9,t.distcode=yt,t.distbits=5},Yr=(t,a,r,e)=>{let i,s=t.state;return s.window===null&&(s.window=new Uint8Array(1<<s.wbits)),s.wsize===0&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0),e>=s.wsize?(s.window.set(a.subarray(r-s.wsize,r),0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>e&&(i=e),s.window.set(a.subarray(r-e,r-e+i),s.wnext),e-=i,e?(s.window.set(a.subarray(r-e,r),0),s.wnext=e,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0},xt=(t,a)=>{let r,e,i,s,d,l,_,n,o,g,c,h,z,A,y=0,b,w,f,m,U,v,p,x,u=new Uint8Array(4),k,S,N=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(W(t)||!t.output||!t.input&&t.avail_in!==0)return-2;r=t.state,r.mode===M&&(r.mode=pt),d=t.next_out,i=t.output,_=t.avail_out,s=t.next_in,e=t.input,l=t.avail_in,n=r.hold,o=r.bits,g=l,c=_,x=0;t:for(;;)switch(r.mode){case dt:if(r.wrap===0){r.mode=pt;break}for(;o<16;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(r.wrap&2&&n===35615){r.wbits===0&&(r.wbits=15),r.check=0,u[0]=n&255,u[1]=n>>>8&255,r.check=P(r.check,u,2,0),n=0,o=0,r.mode=$t;break}if(r.head&&(r.head.done=!1),!(r.wrap&1)||(((n&255)<<8)+(n>>8))%31){t.msg="incorrect header check",r.mode=T;break}if((n&15)!=8){t.msg="unknown compression method",r.mode=T;break}if(n>>>=4,o-=4,p=(n&15)+8,r.wbits===0&&(r.wbits=p),p>15||p>r.wbits){t.msg="invalid window size",r.mode=T;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=n&512?or:M,n=0,o=0;break;case $t:for(;o<16;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(r.flags=n,(r.flags&255)!=8){t.msg="unknown compression method",r.mode=T;break}if(r.flags&57344){t.msg="unknown header flags set",r.mode=T;break}r.head&&(r.head.text=n>>8&1),r.flags&512&&r.wrap&4&&(u[0]=n&255,u[1]=n>>>8&255,r.check=P(r.check,u,2,0)),n=0,o=0,r.mode=tr;case tr:for(;o<32;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}r.head&&(r.head.time=n),r.flags&512&&r.wrap&4&&(u[0]=n&255,u[1]=n>>>8&255,u[2]=n>>>16&255,u[3]=n>>>24&255,r.check=P(r.check,u,4,0)),n=0,o=0,r.mode=rr;case rr:for(;o<16;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}r.head&&(r.head.xflags=n&255,r.head.os=n>>8),r.flags&512&&r.wrap&4&&(u[0]=n&255,u[1]=n>>>8&255,r.check=P(r.check,u,2,0)),n=0,o=0,r.mode=ar;case ar:if(r.flags&1024){for(;o<16;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}r.length=n,r.head&&(r.head.extra_len=n),r.flags&512&&r.wrap&4&&(u[0]=n&255,u[1]=n>>>8&255,r.check=P(r.check,u,2,0)),n=0,o=0}else r.head&&(r.head.extra=null);r.mode=ir;case ir:if(r.flags&1024&&(h=r.length,h>l&&(h=l),h&&(r.head&&(p=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(e.subarray(s,s+h),p)),r.flags&512&&r.wrap&4&&(r.check=P(r.check,e,h,s)),l-=h,s+=h,r.length-=h),r.length))break t;r.length=0,r.mode=er;case er:if(r.flags&2048){if(l===0)break t;h=0;do p=e[s+h++],r.head&&p&&r.length<65536&&(r.head.name+=String.fromCharCode(p));while(p&&h<l);if(r.flags&512&&r.wrap&4&&(r.check=P(r.check,e,h,s)),l-=h,s+=h,p)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=nr;case nr:if(r.flags&4096){if(l===0)break t;h=0;do p=e[s+h++],r.head&&p&&r.length<65536&&(r.head.comment+=String.fromCharCode(p));while(p&&h<l);if(r.flags&512&&r.wrap&4&&(r.check=P(r.check,e,h,s)),l-=h,s+=h,p)break t}else r.head&&(r.head.comment=null);r.mode=sr;case sr:if(r.flags&512){for(;o<16;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(r.wrap&4&&n!==(r.check&65535)){t.msg="header crc mismatch",r.mode=T;break}n=0,o=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=M;break;case or:for(;o<32;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}t.adler=r.check=kr(n),n=0,o=0,r.mode=lt;case lt:if(r.havedict===0)return t.next_out=d,t.avail_out=_,t.next_in=s,t.avail_in=l,r.hold=n,r.bits=o,2;t.adler=r.check=1,r.mode=M;case M:if(a===5||a===6)break t;case pt:if(r.last){n>>>=o&7,o-=o&7,r.mode=kt;break}for(;o<3;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}switch(r.last=n&1,n>>>=1,--o,n&3){case 0:r.mode=lr;break;case 1:if(Sa(r),r.mode=et,a===6){n>>>=2,o-=2;break t}break;case 2:r.mode=hr;break;case 3:t.msg="invalid block type",r.mode=T}n>>>=2,o-=2;break;case lr:for(n>>>=o&7,o-=o&7;o<32;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if((n&65535)!=(n>>>16^65535)){t.msg="invalid stored block lengths",r.mode=T;break}if(r.length=n&65535,n=0,o=0,r.mode=gt,a===6)break t;case gt:r.mode=dr;case dr:if(h=r.length,h){if(h>l&&(h=l),h>_&&(h=_),h===0)break t;i.set(e.subarray(s,s+h),d),l-=h,s+=h,_-=h,d+=h,r.length-=h;break}r.mode=M;break;case hr:for(;o<14;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(r.nlen=(n&31)+257,n>>>=5,o-=5,r.ndist=(n&31)+1,n>>>=5,o-=5,r.ncode=(n&15)+4,n>>>=4,o-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=T;break}r.have=0,r.mode=cr;case cr:for(;r.have<r.ncode;){for(;o<3;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}r.lens[N[r.have++]]=n&7,n>>>=3,o-=3}for(;r.have<19;)r.lens[N[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,k={bits:r.lenbits},x=Z(ya,r.lens,0,19,r.lencode,0,r.work,k),r.lenbits=k.bits,x){t.msg="invalid code lengths set",r.mode=T;break}r.have=0,r.mode=fr;case fr:for(;r.have<r.nlen+r.ndist;){for(;y=r.lencode[n&(1<<r.lenbits)-1],b=y>>>24,w=y>>>16&255,f=y&65535,!(b<=o);){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(f<16)n>>>=b,o-=b,r.lens[r.have++]=f;else{if(f===16){for(S=b+2;o<S;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(n>>>=b,o-=b,r.have===0){t.msg="invalid bit length repeat",r.mode=T;break}p=r.lens[r.have-1],h=3+(n&3),n>>>=2,o-=2}else if(f===17){for(S=b+3;o<S;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}n>>>=b,o-=b,p=0,h=3+(n&7),n>>>=3,o-=3}else{for(S=b+7;o<S;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}n>>>=b,o-=b,p=0,h=11+(n&127),n>>>=7,o-=7}if(r.have+h>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=T;break}for(;h--;)r.lens[r.have++]=p}}if(r.mode===T)break;if(r.lens[256]===0){t.msg="invalid code -- missing end-of-block",r.mode=T;break}if(r.lenbits=9,k={bits:r.lenbits},x=Z(Nr,r.lens,0,r.nlen,r.lencode,0,r.work,k),r.lenbits=k.bits,x){t.msg="invalid literal/lengths set",r.mode=T;break}if(r.distbits=6,r.distcode=r.distdyn,k={bits:r.distbits},x=Z(Gr,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,k),r.distbits=k.bits,x){t.msg="invalid distances set",r.mode=T;break}if(r.mode=et,a===6)break t;case et:r.mode=nt;case nt:if(l>=6&&_>=258){t.next_out=d,t.avail_out=_,t.next_in=s,t.avail_in=l,r.hold=n,r.bits=o,ba(t,c),d=t.next_out,i=t.output,_=t.avail_out,s=t.next_in,e=t.input,l=t.avail_in,n=r.hold,o=r.bits,r.mode===M&&(r.back=-1);break}for(r.back=0;y=r.lencode[n&(1<<r.lenbits)-1],b=y>>>24,w=y>>>16&255,f=y&65535,!(b<=o);){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(w&&!(w&240)){for(m=b,U=w,v=f;y=r.lencode[v+((n&(1<<m+U)-1)>>m)],b=y>>>24,w=y>>>16&255,f=y&65535,!(m+b<=o);){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}n>>>=m,o-=m,r.back+=m}if(n>>>=b,o-=b,r.back+=b,r.length=f,w===0){r.mode=br;break}if(w&32){r.back=-1,r.mode=M;break}if(w&64){t.msg="invalid literal/length code",r.mode=T;break}r.extra=w&15,r.mode=_r;case _r:if(r.extra){for(S=r.extra;o<S;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}r.length+=n&(1<<r.extra)-1,n>>>=r.extra,o-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=ur;case ur:for(;y=r.distcode[n&(1<<r.distbits)-1],b=y>>>24,w=y>>>16&255,f=y&65535,!(b<=o);){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(!(w&240)){for(m=b,U=w,v=f;y=r.distcode[v+((n&(1<<m+U)-1)>>m)],b=y>>>24,w=y>>>16&255,f=y&65535,!(m+b<=o);){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}n>>>=m,o-=m,r.back+=m}if(n>>>=b,o-=b,r.back+=b,w&64){t.msg="invalid distance code",r.mode=T;break}r.offset=f,r.extra=w&15,r.mode=mr;case mr:if(r.extra){for(S=r.extra;o<S;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}r.offset+=n&(1<<r.extra)-1,n>>>=r.extra,o-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=T;break}r.mode=wr;case wr:if(_===0)break t;if(h=c-_,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=T;break}h>r.wnext?(h-=r.wnext,z=r.wsize-h):z=r.wnext-h,h>r.length&&(h=r.length),A=r.window}else A=i,z=d-r.offset,h=r.length;h>_&&(h=_),_-=h,r.length-=h;do i[d++]=A[z++];while(--h);r.length===0&&(r.mode=nt);break;case br:if(_===0)break t;i[d++]=r.length,_--,r.mode=nt;break;case kt:if(r.wrap){for(;o<32;){if(l===0)break t;l--,n|=e[s++]<<o,o+=8}if(c-=_,t.total_out+=c,r.total+=c,r.wrap&4&&c&&(t.adler=r.check=r.flags?P(r.check,i,c,d-c):ot(r.check,i,c,d-c)),c=_,r.wrap&4&&(r.flags?n:kr(n))!==r.check){t.msg="incorrect data check",r.mode=T;break}n=0,o=0}r.mode=pr;case pr:if(r.wrap&&r.flags){for(;o<32;){if(l===0)break t;l--,n+=e[s++]<<o,o+=8}if(r.wrap&4&&n!==(r.total&4294967295)){t.msg="incorrect length check",r.mode=T;break}n=0,o=0}r.mode=gr;case gr:x=1;break t;case T:x=-3;break t;case St:return-4;case Hr:default:return-2}return t.next_out=d,t.avail_out=_,t.next_in=s,t.avail_in=l,r.hold=n,r.bits=o,(r.wsize||c!==t.avail_out&&r.mode<T&&(r.mode<kt||a!==4))&&Yr(t,t.output,t.next_out,c-t.avail_out)?(r.mode=St,-4):(g-=t.avail_in,c-=t.avail_out,t.total_in+=g,t.total_out+=c,r.total+=c,r.wrap&4&&c&&(t.adler=r.check=r.flags?P(r.check,i,c,t.next_out-c):ot(r.check,i,c,t.next_out-c)),t.data_type=r.bits+(r.last?64:0)+(r.mode===M?128:0)+(r.mode===et||r.mode===gt?256:0),(g===0&&c===0||a===4)&&x===0&&(x=-5),x)},yr=t=>{if(W(t))return-2;let a=t.state;return a.window&&(a.window=null),t.state=null,0},xr=(t,a)=>{let r=a.length,e,i,s;return W(t)||(e=t.state,e.wrap!==0&&e.mode!==lt)?-2:e.mode===lt&&(i=1,i=ot(i,a,r,0),i!==e.check)?-3:(s=Yr(t,a,r,r),s?(e.mode=St,-4):(e.havedict=1,0))},Ba=class{constructor(){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}},Oa=t=>{let a=new Uint8Array(t.reduce((e,i)=>e+i.length,0)),r=0;for(let e of t)a.set(e,r),r+=e.length;return a};function $(t){"@babel/helpers - typeof";return $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},$(t)}function Pa(t,a){if($(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var e=r.call(t,a||"default");if($(e)!="object")return e;throw TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(t)}function Ia(t){var a=Pa(t,"string");return $(a)=="symbol"?a:a+""}function R(t,a,r){return(a=Ia(a))in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}var zr=Object.prototype.toString,Da={chunkSize:1024*64,windowBits:15,raw:!1,dictionary:new Uint8Array},Va=class{constructor(t={}){R(this,"options",void 0),R(this,"err",void 0),R(this,"msg",void 0),R(this,"ended",void 0),R(this,"started",void 0),R(this,"chunks",void 0),R(this,"strm",void 0),R(this,"result",void 0),this.options=Object.assign({},Da,t);let a=this.options;a.raw&&a.windowBits>=0&&a.windowBits<16&&(a.windowBits=-a.windowBits,a.windowBits===0&&(a.windowBits=-15)),a.windowBits>=0&&a.windowBits<16&&!t.windowBits&&(a.windowBits+=32),a.windowBits>15&&a.windowBits<48&&(a.windowBits&15||(a.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array,this.strm=new Ba,this.strm.avail_out=0;let r=Ea(this.strm,a.windowBits);if(r!==0)throw Error(ut[r]);zr.call(a.dictionary)==="[object ArrayBuffer]"&&(a.dictionary=new Uint8Array(a.dictionary));let e=a.dictionary;if(a.raw&&e.length&&(r=xr(this.strm,e),r!==0))throw Error(ut[r])}push(t,a=!1){let r=this.strm,e=this.options.chunkSize,i,s,d;if(this.ended)return this.err===0;for(s=typeof a=="number"?a:a===!0?4:0,zr.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length,this.started||(this.started=!0,this.onStart(r));;){if(r.avail_out===0&&(r.output=new Uint8Array(e),r.next_out=0,r.avail_out=e),i=xt(r,s),i===2){let l=this.options.dictionary;l.length&&(i=xr(r,l),i===0?i=xt(r,s):i===-3&&(i=2))}for(;r.avail_in>0&&i===1&&r.state.wrap&2&&r.state.flags!==0&&r.input[r.next_in]!==0;)Fr(r),i=xt(r,s);if(i===-2||i===-3||i===2||i===-4)break;if(d=r.avail_out,r.next_out&&(r.avail_out===0||i===1||s>0)&&(this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out)),r.avail_out=0,r.next_out=0),!((i===0||i===-5)&&d===0)){if(i===1){i=yr(this.strm);break}if(r.avail_in===0){if(s===4){i=yr(this.strm),i===0&&(i=-5);break}return!0}}}return this.err=i,this.msg=r.msg||ut[i],this.ended=!0,this.onEnd(i),i===0}onStart(t){}onData(t){this.chunks.push(t)}onEnd(t){t===0&&(this.result=Oa(this.chunks)),this.chunks=[]}};function Qr(t,a={}){let r=new Va(a);if(r.push(t,!0),r.err)throw Error(r.msg);let e=r.result;return a.toText?new TextDecoder().decode(e):e}var J=Uint16Array.BYTES_PER_ELEMENT,H=Int32Array.BYTES_PER_ELEMENT,K=Uint32Array.BYTES_PER_ELEMENT,L={METADATA:0,TERRAIN:1,DBROOT:2};L.fromString=function(t){if(t==="Metadata")return L.METADATA;if(t==="Terrain")return L.TERRAIN;if(t==="DbRoot")return L.DBROOT};function Ma(t,a){let r=L.fromString(t.type),e=t.buffer;Lt(t.key,e);let i=Ha(e);e=i.buffer;let s=i.length;switch(r){case L.METADATA:return Ra(e,s,t.quadKey);case L.TERRAIN:return Na(e,s,a);case L.DBROOT:return a.push(e),{buffer:e}}}var ja=32301;function Ra(t,a,r){let e=new DataView(t),i=0,s=e.getUint32(i,!0);if(i+=K,s!==ja)throw new O("Invalid magic");let d=e.getUint32(i,!0);if(i+=K,d!==1)throw new O("Invalid data type. Must be 1 for QuadTreePacket");let l=e.getUint32(i,!0);if(i+=K,l!==2)throw new O("Invalid QuadTreePacket version. Only version 2 is supported.");let _=e.getInt32(i,!0);i+=H;let n=e.getInt32(i,!0);if(i+=H,n!==32)throw new O("Invalid instance size.");let o=e.getInt32(i,!0);i+=H;let g=e.getInt32(i,!0);i+=H;let c=e.getInt32(i,!0);if(i+=H,o!==_*n+i)throw new O("Invalid dataBufferOffset");if(o+g+c!==a)throw new O("Invalid packet offsets");let h=[];for(let f=0;f<_;++f){let m=e.getUint8(i);++i,++i;let U=e.getUint16(i,!0);i+=J;let v=e.getUint16(i,!0);i+=J;let p=e.getUint16(i,!0);i+=J,i+=J,i+=J,i+=H,i+=H,i+=8;let x=e.getUint8(i++),u=e.getUint8(i++);i+=J,h.push(new Gt(m,U,v,p,x,u))}let z=[],A=0;function y(f,m,U){let v=!1;if(U===4){if(m.hasSubtree())return;v=!0}for(let p=0;p<4;++p){let x=f+p.toString();if(v)z[x]=null;else if(U<4)if(!m.hasChild(p))z[x]=null;else{if(A===_){console.log("Incorrect number of instances");return}let u=h[A++];z[x]=u,y(x,u,U+1)}}}let b=0,w=h[A++];return r===""?++b:z[r]=w,y(r,w,b),z}var Ca=5,La=4;function Na(t,a,r){let e=new DataView(t),i=function(l){for(let _=0;_<La;++_){let n=e.getUint32(l,!0);if(l+=K,l+=n,l>a)throw new O("Malformed terrain packet found.")}return l},s=0,d=[];for(;d.length<Ca;){let l=s;s=i(s);let _=t.slice(l,s);r.push(_),d.push(_)}return d}var qr=1953029805,Ga=2917034100;function Ha(t){let a=new DataView(t),r=0,e=a.getUint32(r,!0);if(r+=K,e!==qr&&e!==Ga)throw new O("Invalid magic");let i=a.getUint32(r,e===qr);r+=K;let s=new Uint8Array(t,r),d=Qr(s);if(d.length!==i)throw new O("Size of packet doesn't match header");return d}var oi=Ct(Ma);export{oi as default};