@zip.js/zip.js 2.8.30 → 2.8.32
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/BENCHMARKS.md +82 -1
- package/deno.json +5 -4
- package/dist/zip-core.js +403 -339
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core.js +116 -278
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-native.js +440 -378
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +439 -377
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +408 -344
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-native.js +411 -347
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +410 -346
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +440 -378
- package/index-native.min.js +1 -1
- package/index.cjs +439 -377
- package/index.d.cts +2853 -0
- package/index.d.ts +278 -1
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +1 -11
- package/lib/core/configuration.js +21 -33
- package/lib/core/constants.js +3 -0
- package/lib/core/io.js +11 -19
- package/lib/core/streams/aes-crypto-stream.js +16 -20
- package/lib/core/streams/common-crypto.js +0 -2
- package/lib/core/streams/zip-crypto-stream.js +12 -16
- package/lib/core/streams/zip-entry-stream.js +2 -32
- package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
- package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +1 -3
- package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
- package/lib/core/util/base64.js +68 -0
- package/lib/core/util/blob-temp-stream.js +124 -0
- package/lib/core/util/decode-text.js +0 -1
- package/lib/core/util/default-mime-type.js +0 -3
- package/lib/core/util/inflate.js +194 -0
- package/lib/core/util/mime-type.js +26 -22
- package/lib/core/util/opfs-temp-stream.js +1 -37
- package/lib/core/util/sync-access-handle-temp-stream.js +147 -0
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-template-native.js +5 -5
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +6 -13
- package/lib/core/zip-reader.js +48 -127
- package/lib/core/zip-writer.js +27 -45
- package/lib/core/zlib-streams-inline-template.js +3 -2
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-core-base.js +10 -2
- package/package.json +9 -6
- package/reserved-property-names.js +50 -0
- package/lib/core/util/mini-lz.js +0 -198
|
@@ -1 +1 @@
|
|
|
1
|
-
var{Uint8Array:x,Uint16Array:E,Int32Array:H,TransformStream:U,Math:N,Error:z,Array:v}=globalThis,Se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new x(0),Ve=new E(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Ee=[];for(let e=0;e<14;e++)Ee.push(e,0==e?4:2);var ge=new E([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Te=new E([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength),_=n instanceof x?n.subarray(r,r+i):new x(n.buffer,n.byteOffset+r,i);f.set(_,t)}function je(e,t,n){0!=n&&(e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n)}function Je(){return{next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Qe(e,t){let n=1<<t;return{o:e,u:new x(n),h:n,k:t,v:0,m:0,p:0,L:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r)}return new E(t)}var ne=class{constructor(e,t){this.M=e,this.Z=t,this.N=0}},re=class{constructor(e,t,n,r,i){this.W=e,this.j=t,this.D=n,this.S=r,this.$=i}};function T_(e){return J_[e<-6||e>2?9:2-e]||""}function Ae(e,t){try{e.msg=T_(t)}catch(n){e.msg="zlib error "+String(t)+" ("+n+")"}return t}function e_(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function g(e,t){e.q[e.T++]=t}function De(e,t){g(e,255&t),g(e,t>>>8&255)}function __(e,t,n){let r=255&n,i=65535&t,f=e.A+e.I;return e.q[f]=255&i,e.q[f+1]=i>>>8&255,e.q[f+2]=r,e.I+=3,i=i-1&65535,e.B[t_[r]+ie+1].U++,e.C[w_(i)].U++,e.I==e.X}function ye(e,t){let n=255&t,r=e.A+e.I;return e.q[r]=0,e.q[r+1]=0,e.q[r+2]=n,e.I+=3,e.B[n].U++,e.I==e.X}function ve(e){return e.h-ae}function w_(e){return e<256?g_[e]:g_[256+(e>>7)]}function A_(e){let t=He+7,n=1<<t,r=(1<<t)-1,i=N.floor((t+k-1)/k),f=1<<8+He;return{...Qe(e,15),o:e,F:42,H:0,Y:void 0,O:32767,P:t,R:n,J:r,K:i,V:new E(32768),G:new E(n),ee:f,q:new x(32768),te:0,ne:32768,T:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,be:0,ge:0,ve:0,me:0,xe:0,ye:0,pe:new H(2*we+1),Le:new x(2*we+1),Me:new E(be+1),I:0,X:0,Ee:Z,A:0,ze:0,Ze:0,Ne:8,We:32768,je:0,Qe:0,De:0,B:new v(le).fill(0).map(()=>Q()),C:new v(2*me+1).fill(0).map(()=>Q()),Se:new v(2*oe+1).fill(0).map(()=>Q()),$e:E_(),qe:E_(),Te:E_()}}function D_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Ae=r,f.Ie=i,t.push(f)}return t}function Q(){return{U:0,Ae:0,Ue:0,Ie:0}}function E_(){return new ne([],un(null,Z,0,0,0))}function un(e,t,n,r,i){return new re(e,t,n,r,i)}function Q_(){let e=new v(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function y_(e){let{code:t,length:n}=cn(e),r=new E(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?e_(_,e):0,r[i++]=e}return new E(r)}function $_(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f)}r<n&&(r=n);let i=new x(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}return i}function et(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f)}let r=new x(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function _t(e){let t=new x(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r]}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function cn(e){let t=N.max(...e),n=new v(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new v(e.length).fill(0),i=new v(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++)}return{code:r,length:e}}var He=8,k=3,_e=258,ae=_e+k+1,Ue=16,Be=_e,dn=29,ie=256,we=ie+1+dn,me=30,oe=19,le=2*we+1,be=15,tt=9,nt=255,rt=32,at=4,Ie=256,n_=16,r_=17,a_=18,it=0,v_=1,ot=2,$=-1,J_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],i_=te(de),o_=te(Ee),Fe=new E(19);Fe[16]=2,Fe[17]=3,Fe[18]=7;var mn=y_(Q_()),bn=y_(new v(30).fill(5)),Ze=D_(mn),I_=D_(bn),t_=$_(Te,i_,_e),g_=_t(et(ge,o_));function Pe(e){return e%65521>>>0}function se(e,t,n){if(void 0===t||void 0===n)return 1;let r=e>>>16&65535;if(e&=65535,1==n)return(e+=t[0])>=65521&&(e-=65521),r+=e,r>=65521&&(r-=65521),(r<<16|e)>>>0;if(n<16){for(let i=0;i<n;i++)r+=e+=t[i];return e>=65521&&(e-=65521),r=Pe(r),(r<<16|e)>>>0}for(;n>=5552;){n-=5552;let i=N.floor(347);do{for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}while(--i);e=Pe(e),r=Pe(r)}if(n){for(;n>=16;){n-=16;for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}for(let i=0;i<n;i++)r+=e+=t[i];e=Pe(e),r=Pe(r)}return(r<<16|e)>>>0}var Me=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Me[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Me[t-1][e];Me[t][e]=n>>>8^Me[0][255&n]}var[lt,sn,hn,xn,pn,Sn,En,gn]=Me;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=N.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,!0),n=e.getInt32(i+4,!0);r=gn[255&t]^En[t>>>8&255]^Sn[t>>>16&255]^pn[t>>>24&255]^xn[255&n]^hn[n>>>8&255]^sn[n>>>16&255]^lt[n>>>24&255]}}for(;i<n;i++)r=r>>>8^lt[255&(r^t[i])];return(4294967295^r)>>>0}function st(e){16==e.L?(De(e,e.p),e.p=0,e.L=0):e.L>=8&&(g(e,e.p),e.p>>=8,e.L-=8)}function ht(e){e.L>8?De(e,e.p):e.L>0&&g(e,e.p),e.ze=1+(e.L-1&7),e.p=0,e.L=0}function Tn(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].Ie;0!=t&&(e[i].Ae=e_(f[t]++,t))}}function L(e,t,n){e.L>Ue-n?(e.p=65535&(e.p|t<<e.L),De(e,e.p),e.p=t>>Ue-e.L&65535,e.L+=n-Ue):(e.p=65535&(e.p|t<<e.L),e.L+=n)}function xt(e){for(let t=0;t<e.B.length;t++)e.B[t].U=0;for(let t=0;t<e.C.length;t++)e.C[t].U=0;for(let t=0;t<e.Se.length;t++)e.Se[t].U=0;e.B[Ie].U=1,e.ie=e.fe=0,e.I=e._e=0}function pt(e){if(e.B&&e.B.length>=le)for(let t=0;t<le;t++)e.B[t]=Q();else{e.B=[];for(let t=0;t<le;t++)e.B.push(Q())}if(e.C&&e.C.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.C[t]=Q();else{e.C=[];for(let t=0;t<2*me+1;t++)e.C.push(Q())}if(e.Se&&e.Se.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.Se[t]=Q();else{e.Se=[];for(let t=0;t<2*oe+1;t++)e.Se.push(Q())}e.$e=new ne(e.B,new re(Ze,i_,ie+1,we,be)),e.qe=new ne(e.C,new re(I_,o_,0,me,be)),e.Te=new ne(e.Se,new re(null,Fe,0,oe,7)),e.p=0,e.L=0,e.ze=0,xt(e)}var he=1;function wn(e,t,n){return n=e.pe[he],e.pe[he]=e.pe[e.Qe--],k_(e,t,he),n}function ct(e,t,n,r){return e[t].U<e[n].U||e[t].U==e[n].U&&r[t]<=r[n]}function k_(e,t,n){let r=e.pe[n],i=n<<1;for(;i<=e.Qe&&(i<e.Qe&&ct(t,e.pe[i+1],e.pe[i],e.Le)&&i++,!ct(t,r,e.pe[i],e.Le));)e.pe[n]=e.pe[i],n=i,i<<=1;e.pe[n]=r}function An(e,t){let n,r,i,f,_,l,o=t.M,u=t.N,a=t.Z.W,c=t.Z.j,s=t.Z.D,d=t.Z.$,h=0;for(f=0;f<=be;f++)e.Me[f]=0;for(o[e.pe[e.De]].Ie=0,n=e.De+1;n<le;n++)r=e.pe[n],f=o[o[r].Ue].Ie+1,f>d&&(f=d,h++),o[r].Ie=f,!(r>u)&&(e.Me[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].U,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].Ie+_)));if(0!=h){do{for(f=d-1;0==e.Me[f];)f--;e.Me[f]--,e.Me[f+1]+=2,e.Me[d]--,h-=2}while(h>0);for(f=d;0!=f;f--)for(r=e.Me[f];0!=r;)i=e.pe[--n],!(i>u)&&(o[i].Ie!=f&&(e.ie+=(f-o[i].Ie)*o[i].U,o[i].Ie=f),r--)}}function N_(e,t){let n,r,i,f=t.M,_=t.Z.W,l=t.Z.S,o=-1;for(e.Qe=0,e.De=le,n=0;n<l;n++)0!=f[n].U?(e.pe[++e.Qe]=o=n,e.Le[n]=0):f[n].Ie=0;for(;e.Qe<2;)i=e.pe[++e.Qe]=o<2?++o:0,f[i].U=1,e.Le[i]=0,e.ie--,_&&(e.fe-=_[i].Ie);for(t.N=o,n=N.floor(e.Qe/2);n>=1;n--)k_(e,f,n);i=l;do{n=wn(e,f,n),r=e.pe[he],e.pe[--e.De]=n,e.pe[--e.De]=r,f[i].U=f[n].U+f[r].U,e.Le[i]=(e.Le[n]>=e.Le[r]?e.Le[n]:e.Le[r])+1,f[n].Ue=f[r].Ue=i,e.pe[he]=i++,k_(e,f,he)}while(e.Qe>=2);e.pe[--e.De]=e.pe[he],An(e,t),Tn(f,t.N,e.Me)}function dt(e,t,n){let r,i,f=-1,_=t[0].Ie,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].Ie=65535,r=0;r<=n;r++)i=_,_=t[r+1].Ie,!(++l<o&&i==_)&&(l<u?e.Se[i].U+=l:0!=i?(i!=f&&e.Se[i].U++,e.Se[n_].U++):l<=10?e.Se[r_].U++:e.Se[a_].U++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4))}function mt(e,t,n){let r,i=-1,f=t[0].Ie,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].Ie,!(++_<l&&r==f)){if(_<o)do{L(e,e.Se[r].Ae,e.Se[r].Ie)}while(0!=--_);else 0!=r?(r!=i&&(L(e,e.Se[r].Ae,e.Se[r].Ie),_--),L(e,e.Se[n_].Ae,e.Se[n_].Ie),L(e,_-3,2)):_<=10?(L(e,e.Se[r_].Ae,e.Se[r_].Ie),L(e,_-3,3)):(L(e,e.Se[a_].Ae,e.Se[a_].Ie),L(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4)}}function Dn(e){let t;for(dt(e,e.B,e.$e.N),dt(e,e.C,e.qe.N),N_(e,e.Te),t=oe-1;t>=3&&0==e.Se[Se[t]].Ie;t--);return e.ie+=3*(t+1)+5+5+4,t}function yn(e,t,n,r){let i;for(L(e,t-257,5),L(e,n-1,5),L(e,r-4,4),i=0;i<r;i++)L(e,e.Se[Se[i]].Ie,3);mt(e,e.B,t-1),mt(e,e.C,n-1)}function Xe(e,t,n,r,i=0){L(e,(it<<1)+r,3),ht(e),De(e,n),De(e,~n),n&&t&&M(e.q,e.T,t,i,n),e.T+=n}function St(e){st(e)}function Et(e){L(e,v_<<1,3),L(e,Ze[Ie].Ae,Ze[Ie].Ie),st(e)}function bt(e,t,n){let r,i,f,_,l=0;if(0!=e.I)do{r=255&e.Ee[l],r+=(255&e.Ee[l+1])<<8,i=e.Ee[l+2],l+=3,0==r?L(e,t[i].Ae,t[i].Ie):(f=t_[i],L(e,t[f+ie+1].Ae,t[f+ie+1].Ie),_=i_[f],0!=_&&(i-=Te[f],L(e,i,_)),r--,f=w_(r),L(e,n[f].Ae,n[f].Ie),_=o_[f],0!=_&&(r-=ge[f],L(e,r,_)))}while(l<e.I);L(e,t[Ie].Ae,t[Ie].Ie)}function vn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.B[t].U)return 0;if(0!=e.B[9].U||0!=e.B[10].U||0!=e.B[13].U)return 1;for(t=32;t<ie;t++)if(0!=e.B[t].U)return 1;return 0}function gt(e,t,n,r,i=0){let f,_,l=0;e.be>0?(2==e.o.t&&(e.o.t=vn(e)),N_(e,e.$e),N_(e,e.qe),l=Dn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ge)&&(f=_)):f=_=n+5,n+4<=f&&t?Xe(e,t,n,r,i):_==f?(L(e,(v_<<1)+r,3),bt(e,Ze,I_)):(L(e,(ot<<1)+r,3),yn(e,e.$e.N+1,e.qe.N+1,l+1),bt(e,e.B,e.C)),xt(e),r&&ht(e)}function Dt(){let e=Je();return e.l=A_(e),e}var We=[{Be:Rt,Ce:0,Xe:0,Fe:0,He:0},{Be:C_,Ce:4,Xe:4,Fe:8,He:4},{Be:C_,Ce:5,Xe:5,Fe:16,He:8},{Be:C_,Ce:6,Xe:16,Fe:32,He:32},{Be:Re,Ce:4,Xe:4,Fe:16,He:16},{Be:Re,Ce:16,Xe:8,Fe:16,He:32},{Be:Re,Ce:16,Xe:16,Fe:32,He:128},{Be:Re,Ce:32,Xe:32,Fe:128,He:256},{Be:Re,Ce:128,Xe:128,Fe:256,He:1024},{Be:Re,Ce:258,Xe:258,Fe:258,He:4096}];function Tt(e){return 2*e-(e>4?9:0)}function u_(e,t,n){return((t<<e.K^n)&e.J)>>>0}function c_(e,t){e.ke=u_(e,e.ke,e.u[t+(k-1)]);let n=e.V[t&e.O]=e.G[e.ke];return e.G[e.ke]=t,n}function yt(e){e.G[e.R-1]=0,je(e.G,0,(e.R-1)*e.G.BYTES_PER_ELEMENT)}function Cn(e){let t,n,r=e.h;for(t=e.R;t>0;)t--,n=e.G[t],e.G[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.V[t],e.V[t]=n>=r?n-r:0}function L_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.H?e.i=se(e.i,new x(t.buffer,t.byteOffset+n,i),i):2==e.l.H&&(e.i=W(e.i,new x(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function d_(e){let t,n,r=e.h;do{if(n=e.We-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ve(e)&&(M(e.u,0,e.u,r,r-n),e.je-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Cn(e),n+=r),0==e.o.avail_in)break;if(t=L_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=k){let t=e.ae-e.le;for(e.ke=e.u[t],e.ke=u_(e,e.ke,e.u[t+1]);e.le&&(e.ke=u_(e,e.ke,e.u[t+k-1]),e.V[t&e.O]=e.G[e.ke],e.G[e.ke]=t,t++,e.le--,!(e.ce+e.le<k)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.v<e.We){let t,n=e.ae+e.ce;e.v<n?(t=e.We-n,t>Be&&(t=Be),je(e.u,n,t),e.v=n+t):e.v<n+Be&&(t=n+Be-e.v,t>e.We-e.v&&(t=e.We-e.v),je(e.u,e.v,t),e.v+=t)}}function vt(e,t,n=8,r=15,i=He,f=0){let _=1;if(!e)return-2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return-2;r=-r}else r>15&&(_=2,r-=16);if(i<1||i>tt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return-2;8==r&&(r=9);let l=A_(e);return l?(e.l=l,l.o=e,l.F=42,l.H=_,l.Y=void 0,l.k=r,l.h=1<<l.k,l.O=l.h-1,l.P=i+7,l.R=1<<l.P,l.J=l.R-1,l.K=(l.P+k-1)/k,l.u=new x(2*l.h),l.V=new E(l.h),l.G=new E(l.R),l.v=0,l.ee=1<<i+6,l.q=new x(l.ee*at),l.ne=4*l.ee,l.u&&l.V&&l.G&&l.q?(l.Ee=l.q.subarray(l.ee),l.A=l.te+l.ee,l.X=3*(l.ee-1),l.be=t,l.ge=f,l.Ne=n,Hn(e)):(l.F=666,e.msg=T_(-4),F_(e),-4)):-4}function B_(e){if(null==e)return!0;let t=e.l;return!t||t.o!=e||42!=t.F&&57!=t.F&&69!=t.F&&73!=t.F&&91!=t.F&&103!=t.F&&113!=t.F&&666!=t.F}function Ln(e){let t;return B_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.T=0,t.re=t.te,t.H<0&&(t.H=-t.H),t.F=2==t.H?57:42,e.i=2==t.H?W(0):se(0),t.oe=-2,pt(t),0)}function On(e){e.We=2*e.h,yt(e),e.ye=We[e.be].Ce,e.ve=We[e.be].Xe,e.me=We[e.be].Fe,e.xe=We[e.be].He,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=k-1,e.we=0,e.ke=0}function Hn(e){let t=Ln(e);return 0==t&&On(e.l),t}function Ye(e,t){g(e,t>>8),g(e,255&t)}function q(e){let t,n=e.l;St(n),t=n.T,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.q,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.T-=t,0==n.T&&(n.re=n.te))}function ke(e,t){let n=e.l;n.Y&&n.Y.Ye&&(e.i=W(e.i,new x(n.q.buffer,n.te+t,n.T-t),n.T-t))}function It(e,t){let n,r=e.l;if(B_(e)||t>5||t<0)return Ae(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.F&&4!=t)return Ae(e,-2);if(0==e.avail_out)return Ae(e,-5);if(n=r.oe,r.oe=t,0!=r.T){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&Tt(t)<=Tt(n)&&4!=t)return Ae(e,-5);if(666==r.F&&0!=e.avail_in)return Ae(e,-5);if(42==r.F&&0==r.H&&(r.F=113),42==r.F){let t,n=8+(r.k-8<<4)<<8;if(t=r.ge>=2||r.be<2?0:r.be<6?1:6==r.be?2:3,n|=t<<6,0!=r.ae&&(n|=rt),n+=31-n%31,Ye(r,n),0!=r.ae&&(Ye(r,e.i>>16),Ye(r,65535&e.i)),e.i=1,r.F=113,q(e),0!=r.T)return r.oe=$,0}if(57==r.F)if(e.i=W(0),g(r,31),g(r,139),g(r,8),r.Y)g(r,(r.Y.Oe?1:0)+(r.Y.Ye?2:0)+(null==r.Y.Pe?0:4)+(null==r.Y.Re?0:8)+(null==r.Y.Je?0:16)),g(r,255&r.Y.Ke),g(r,r.Y.Ke>>>8&255),g(r,r.Y.Ke>>>16&255),g(r,r.Y.Ke>>>24&255),g(r,9==r.be?2:r.ge>=2||r.be<2?4:0),g(r,255&r.Y.Ve),null!=r.Y.Pe&&(g(r,255&r.Y.Ge),g(r,r.Y.Ge>>>8&255)),r.Y.Ye&&(e.i=W(e.i,r.q,r.T)),r.Ze=0,r.F=69;else if(g(r,0),g(r,0),g(r,0),g(r,0),g(r,0),g(r,9==r.be?2:r.ge>=2||r.be<2?4:0),g(r,nt),r.F=113,q(e),0!=r.T)return r.oe=$,0;if(69==r.F){if(r.Y&&null!=r.Y.Pe){let t=r.T,n=(65535&r.Y.Ge)-r.Ze;for(;r.T+n>r.ne;){let i=r.ne-r.T;if(M(r.q,r.T,r.Y.Pe,r.Ze,i),r.T=r.ne,ke(e,t),r.Ze+=i,q(e),0!=r.T)return r.oe=$,0;t=0,n-=i}M(r.q,r.T,r.Y.Pe,r.Ze,n),r.T+=n,ke(e,t),r.Ze=0}r.F=73}if(73==r.F){if(r.Y&&r.Y.Re&&r.Y.Re.length){let t,n=r.T;do{if(r.T==r.ne){if(ke(e,n),q(e),0!=r.T)return r.oe=$,0;n=0}t=r.Y.Re[r.Ze++],g(r,t)}while(0!=t);ke(e,n),r.Ze=0}r.F=91}if(91==r.F){if(r.Y&&r.Y.Je&&r.Y.Je.length){let t,n=r.T;do{if(r.T==r.ne){if(ke(e,n),q(e),0!=r.T)return r.oe=$,0;n=0}t=r.Y.Je[r.Ze++],g(r,t)}while(0!=t);ke(e,n)}r.F=103}if(103==r.F){if(r.Y&&r.Y.Ye){if(r.T+2>r.ne&&(q(e),0!=r.T))return r.oe=$,0;g(r,255&e.i),g(r,e.i>>>8&255),e.i=W(0)}if(r.F=113,q(e),0!=r.T)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.F){let n=0==r.be?Rt(r,t):2==r.ge?Bn(r,t):3==r.ge?Un(r,t):We[r.be].Be(r,t);if((2==n||3==n)&&(r.F=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Et(r):5!=t&&(Xe(r,null,0,0),3==t&&(yt(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.H<=0?1:(2==r.H?(g(r,255&e.i),g(r,e.i>>>8&255),g(r,e.i>>>16&255),g(r,e.i>>>24&255),g(r,255&e.total_in),g(r,e.total_in>>>8&255),g(r,e.total_in>>>16&255),g(r,e.total_in>>>24&255)):(Ye(r,e.i>>>16&65535),Ye(r,65535&e.i)),q(e),r.H>0&&(r.H=-r.H),0!=r.T?0:1)}function F_(e){if(B_(e))return-2;let t=e.l,n=t.F;return t.u=Z,t.V=Ve,t.G=Ve,t.q=Z,t.Ee=Z,t.pe=new H(0),t.Le=Z,t.Me=Ve,t.B.length=0,t.C.length=0,t.Se.length=0,t.Y=void 0,t.te=0,t.re=0,t.A=0,113==n?-3:0}function kt(e,t){let n,r,i=e.xe,f=e.ae,_=e.de,l=e.me,o=e.ae>ve(e)?e.ae-ve(e):0,u=e.V,a=e.O,c=e.u[f],s=e.u[f+1],d=e.u[f+_-1],h=e.u[f+_];e.de>=e.ve&&(i>>=2),l>e.ce&&(l=e.ce);do{if(n=t,e.u[n+_]!=h||e.u[n+_-1]!=d||e.u[n]!=c||e.u[n+1]!=s)continue;let i=N.min(_e,e.ce),o=2;for(;o<i&&e.u[f+o]==e.u[n+o];)o++;if(r=o,r>_){if(e.je=t,_=r,r>=l)break;d=e.u[f+_-1],h=e.u[f+_]}}while((t=u[t&a])>o&&0!=--i);return _<=e.ce?_:e.ce}function Nt(e,t){gt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o)}function j(e,t){return Nt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var wt=65535;function Ne(e,t){return e<t?e:t}function Rt(e,t){let n,r,i,f=Ne(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=wt,i=e.L+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Xe(e,null,0,_),e.q[e.T-4]=n,e.q[e.T-3]=n>>8,e.q[e.T-2]=~n,e.q[e.T-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(L_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n)}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae}else e.We-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=Ne(l,e.h-e.le);e.ue=e.ae}return e.v<e.ae&&(e.v=e.ae),_?(e.ze=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.We-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(L_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=Ne(i,e.h-e.le)),e.v<e.ae&&(e.v=e.ae),i=e.L+42>>3,i=Ne(e.ne-i,wt),f=Ne(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=Ne(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Xe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.ze=8),_?2:0)}function C_(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(d_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=k&&(n=c_(e,e.ae)),0!=n&&e.ae-n<=ve(e)&&(e.se=kt(e,n)),e.se>=k)if(e.ae,e.je,e.se,r=__(e,e.ae-e.je,e.se-k),e.ce-=e.se,e.se<=e.ye&&e.ce>=k){e.se--;do{e.ae++,n=c_(e,e.ae)}while(0!=--e.se);e.ae++}else e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=u_(e,e.ke,e.u[e.ae+1]);else r=ye(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,!1);if(null!=t)return t}}if(e.le=e.ae<k-1?e.ae:k-1,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}function Re(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(d_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=k&&(n=c_(e,e.ae)),e.de=e.se,e.he=e.je,e.se=k-1,0!=n&&e.de<e.ye&&e.ae-n<=ve(e)&&(e.se=kt(e,n),e.se<=5&&1==e.ge&&(e.se=k-1)),e.de>=k&&e.se<=e.de){let t=e.ae+e.ce-k;e.ae,e.he,e.de,r=__(e,e.ae-1-e.he,e.de-k),e.ce-=e.de-1,e.de-=2;do{++e.ae<=t&&(n=c_(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=k-1,e.ae++,r){let t=j(e,!1);if(null!=t)return t}}else if(e.we){if(r=ye(e,e.u[e.ae-1]),r&&Nt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--}if(e.we&&(r=ye(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<k-1?e.ae:k-1,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}function Un(e,t){let n,r,i,f;for(;;){if(e.ce<=_e){if(d_(e),e.ce<=_e&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=k&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+_e;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=_e-(f-i),e.se>e.ce&&(e.se=e.ce)}if(e.se>=k?(e.ae,e.ae,e.se,n=__(e,1,e.se-k),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=ye(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}function Bn(e,t){let n=!1;for(;;){if(0==e.ce&&(d_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=ye(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return j(e,!0)??3}if(e.I){let t=j(e,!1);if(null!=t)return t}return 1}var ue=852,m_=592,b_=594,zt=ge.map(e=>e+1),Ct=Te.subarray(0,-1).map(e=>e+3),Fn=[16,1,73,1,200,1],Zn=[144,1,72,1,78,1],Lt=Ee.map(Gt),Ot=Ee.map(Kt);Lt.push(64,2),Ot.push(142,2);var Ht=de.slice(0,-2).map(Gt),Ut=de.slice(0,-2).map(Kt);Ht.push(...Fn),Ut.push(...Zn);var Bt=new E([...Ct,258,0,0]),Ft=new E([...Ct,3,0,0]),Zt=te(Ht),Pt=te(Ut),Mt=new E([...zt,0,0]),Xt=new E([...zt,32769,49153]),Yt=te(Lt),Wt=te(Ot);function Gt(e,t){return t%2?e:e+16}function Kt(e,t){return t%2?e:e+128}function Vt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.p>>>0,a=r.L>>>0,c=r.et,s=r.tt,d=(1<<r.nt)-1,h=(1<<r.rt)-1,w=r.h>>>0,k=r.v>>>0,b=r.m>>>0,g=r.it,v=f-(t-e.avail_out),m=f+(e.avail_out-257),x=i+(e.avail_in-5),y=0,p=0,L=0,M=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8}n=c[u&d];t:for(;;){if(L=n.ft,u>>>=L,a-=L,L=n._t,0==L){l[f++]=n.lt;break}if(16&L){if(y=n.lt,L&=15,L){for(;a<L;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}y+=u&(1<<L)-1,u>>>=L,a-=L}for(;a<15;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}n=s[u&h];n:for(;;){if(L=n.ft,u>>>=L,a-=L,L=n._t,16&L){if(p=n.lt,L&=15,L){for(;a<L;){if(!(i<_.length)){r.ot=16200;break e}u+=_[i++]<<a,a+=8}p+=u&(1<<L)-1,u>>>=L,a-=L}let t=y,c=f-v;if(p>c){let n=p-c;if(n>k&&g){e.msg="invalid distance too far back",r.ot=16209;break e}if(0==b){if(M=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let e=0;e<n;++e)l[f++]=o[M++];t-=n,M=f-p}else if(b<n){M=w+b-n;let e=n-b;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let t=0;t<e;++t)l[f++]=o[M++];if(t-=e,M=0,b<t){for(let e=0;e<b;++e)l[f++]=o[M++];t-=b,M=f-p}}else{if(M=b-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[M++];continue e}for(let e=0;e<n;++e)l[f++]=o[M++];t-=n,M=f-p}for(;t>2;)l[f++]=l[M++],l[f++]=l[M++],l[f++]=l[M++],t-=3;t&&(l[f++]=l[M++],t>1&&(l[f++]=l[M++]))}else{for(M=f-p;t>2;)l[f++]=l[M++],l[f++]=l[M++],l[f++]=l[M++],t-=3;t&&(l[f++]=l[M++],t>1&&(l[f++]=l[M++]))}break}if(64&L){e.msg="invalid distance code",r.ot=16209;break e}n=s[n.lt+(u&(1<<L)-1)];continue n}break}if(64&L){if(32&L){r.ot=16191;break e}e.msg="invalid literal/length code",r.ot=16209;break e}n=c[n.lt+(u&(1<<L)-1)];continue t}}while(i<x&&f<m);let E=a>>3;i-=E,a-=E<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<x?x-i+5:5-(i-x),e.avail_out=f<m?m-f+257:257-(f-m),r.p=u>>>0,r.L=a>>>0}function Z_(e,t){let n=[],r=t?ue+b_:ue+m_;return{...Qe(e,0),o:e,ot:16180,ut:!1,H:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:Z,kt:0,bt:0,Pe:0,et:n,tt:n,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,Lt:n,Mt:new E(320),Et:new E(288),zt:new v(r).fill(null).map(()=>pe()),Zt:0,it:!0,Nt:0,Wt:0,jt:t}}function pe(e=0,t=0,n=0){return{_t:e,ft:t,lt:n}}function P_(e=1){return{_t:64,ft:e,lt:0}}function jt(e=0){return{_t:96,ft:e,lt:0}}function M_(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Mn={jt:!1,Qt:Bt,Dt:Zt,St:Mt,$t:Yt,qt:20,Tt:257,At:0,It:m_,Ut:!1,Bt:!0},Xn={jt:!0,Qt:Ft,Dt:Pt,St:Xt,$t:Wt,qt:19,Tt:256,At:-1,It:b_,Ut:!0,Bt:!1};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,d,h,w,k,b,g,v,m,x,y,p,L,M,z,Z=new E(Le+1),N=new E(Le+1),W=l?Xn:Mn;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.Ct,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return W.Bt?(y=P_(1),r.Ct[0]=y,r.Ct[1]=y,i.Ct=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return-1;if(w>0&&(0==e||1!=c))return-1;for(N[1]=0,o=1;o<Le;o++)N[o+1]=N[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[N[t[u]]++]=u);switch(e){case 0:L=M=f,z=W.qt;break;case 1:L=W.Qt,M=W.Dt,z=W.Tt;break;default:L=W.St,M=W.$t,z=W.At}if(b=0,u=0,o=a,p=_.Ct,d=s,h=0,m=-1,k=1<<s,x=k-1,1==e&&(W.Ut?k>=ue:k>ue)||2==e&&(W.Ut?k>=W.It:k>W.It))return 1;for(;;){y=Yn(f,u,o,h,e,L,M,z,W.jt),g=1<<o-h,v=1<<d,a=v;do{v-=g;let e=(b>>h)+v;r.Ct[p+e]={...y}}while(0!=v);for(g=1<<o-1;b&g;)g>>=1;if(0!=g?(b&=g-1,b+=g):b=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]]}if(o>s&&(b&x)!=m){for(0==h&&(h=s),p+=1<<d,d=o-h,w=1<<d;d+h<c&&(w-=Z[d+h],!(w<=0));)d++,w<<=1;if(k+=1<<d,1==e&&(W.Ut?k>=ue:k>ue)||2==e&&(W.Ut?k>=W.It:k>W.It))return 1;m=b&x,r.Ct[_.Ct+m]={_t:d,ft:s,lt:p-_.Ct}}}if(0!=b)for(y=P_(o-h);0!=b;){for(0!=h&&(b&x)!=m&&(h=0,o=s,p=_.Ct,d=s,y.ft=o),r.Ct[p+(b>>h)]={...y},g=1<<o-1;b&g;)g>>=1;0!=g?(b&=g-1,b+=g):b=0}return _.Ct+=k,i.Ct=s,0}function Yn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=pe(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=pe(_[i],n-r,f[i])}else{let i=o?e[t]:e[t]-l;u=pe(_[i],n-r,f[i])}else u=jt(n-r);return u}var Vn={Xt:!0,Ft:new v(544),Ht:[],Yt:[]},jn={Xt:!0,Ft:new v(544),Ht:[],Yt:[]};function Jt(e){let t=Je();return t.l=Z_(t,!!e),t}function Ke(e){let t;return!(e&&(t=e.l,!(!t||t.o!=e||t.jt&&(t.ot<16191||t.ot>16209)||!t.jt&&(t.ot<16180||t.ot>16211))))}function Jn(e){let t;return Ke(e)?-2:(t=e.l,e.total_in=e.total_out=t.wt=0,e.msg="",t.H&&(e.i=1&t.H),t.ot=t.jt?16191:16180,t.ut=!1,t.ct=!1,t.st=-1,t.dt=t.jt?65536:32768,delete t.Y,t.p=0,t.L=0,t.et=t.zt,t.tt=t.zt,t.Lt=t.zt,t.it=!0,t.Nt=-1,0)}function Qn(e){let t;return Ke(e)?-2:(t=e.l,t.h=0,t.v=0,t.m=0,Jn(e))}function $n(e,t){let n,r,i;if(Ke(e))return-2;if(r=e.l,r.jt?(t=-16,i=16):i=15,t<0){if(t<-i)return-2;n=0,t=-t}else n=5+(t>>4),!r.jt&&t<48&&(t&=15);return t&&(t<8||t>i)?-2:(r.u.length>0&&r.k!=t&&(r.u=Z),r.H=n,r.k=t,Qn(e))}function Qt(e,t){let n,r;if(!e)return-2;e.msg="";let i=!!e.l.jt;return r=Z_(e,i),i&&(t=-16),e.l=r,r.o=e,r.ot=r.jt?16191:16180,n=$n(e,t),n}function er(e){let t=e.jt?jn:Vn,n={Ct:0};if(t.Xt){let r,i,f;for(r=0;r<144;)e.Mt[r++]=8;for(;r<256;)e.Mt[r++]=9;for(;r<280;)e.Mt[r++]=7;for(;r<288;)e.Mt[r++]=8;for(let e=0;e<544;e++)t.Ft[e]=pe();f=t.Ft,t.Ht=f,i=9;let _={Ct:f},l={Ct:i},o={Ct:0};for(Oe(1,e.Mt,288,_,l,e.Et,o,e.jt),f=_.Ct,i=l.Ct,e.Zt=o.Ct,r=0;r<32;)e.Mt[r++]=5;i=5;let u=o.Ct,a={Ct:f},c={Ct:i};n.Ct=u,Oe(2,e.Mt,32,a,c,e.Et,n,e.jt),t.Yt=f.slice(u),t.Xt=!1}e.et=t.Ht,e.nt=9,e.tt=t.Yt,e.rt=5,e.Zt=n.Ct}function _r(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new x(1<<r.k),r.u)))return 1;if(0==r.h&&(r.h=1<<r.k,r.m=0,r.v=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.v=r.h;else{let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.v=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.v<r.h&&(r.v+=e))}return 0}var h_=class extends z{constructor(){super("Need more input")}};function $t(e,t){let n,r,i,f,_,l,o,u,a,c,s,d,h,w,k,b,g,v=new x(4);if(Ke(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ot&&(n.ot=16192),E(),c=l,s=o,g=0;try{for(;;)switch(n.ot){case 16180:if(0==n.H){n.ot=16192;break}if(Q(16),2&n.H&&35615==u){0==n.k&&(n.k=15),n.ht=W(0),n.ht=p(n.ht,u),N(),n.ot=16181;break}if(n.Y&&(n.Y.Ot=-1),!(1&n.H)||((D(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ot=16209;break}if(8!=D(4)){e.msg="unknown compression method",n.ot=16209;break}if(S(4),b=D(4)+8,0==n.k&&(n.k=b),b>15||b>n.k){e.msg="invalid window size",n.ot=16209;break}n.dt=1<<b,n.st=0,e.i=n.ht=se(0),n.ot=512&u?16189:16191,N();break;case 16181:if(Q(16),n.st=u,8!=(255&n.st)){e.msg="unknown compression method",n.ot=16209;break}if(57344&n.st){e.msg="unknown header flags set",n.ot=16209;break}n.Y&&(n.Y.Oe=u>>8&1),512&n.st&&4&n.H&&(n.ht=p(n.ht,u)),N(),n.ot=16182;case 16182:Q(32),n.Y&&(n.Y.Ke=u),512&n.st&&4&n.H&&(n.ht=L(n.ht,u)),N(),n.ot=16183;case 16183:Q(16),n.Y&&(n.Y.Pt=255&u,n.Y.Ve=u>>8),512&n.st&&4&n.H&&(n.ht=p(n.ht,u)),N(),n.ot=16184;case 16184:1024&n.st?(Q(16),n.kt=u,n.Y&&(n.Y.Ge=u),512&n.st&&4&n.H&&(n.ht=p(n.ht,u)),N()):n.Y&&(n.Y.Pe=Z),n.ot=16185;case 16185:if(1024&n.st&&(d=n.kt,d>l&&(d=l),d&&(n.Y&&n.Y.Pe&&n.Y.Rt&&(b=n.Y.Ge-n.kt)<n.Y.Rt&&M(n.Y.Pe,b,r,i,d),512&n.st&&4&n.H&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,n.kt-=d),n.kt))return m();n.kt=0,n.ot=16186;case 16186:if(2048&n.st){if(0==l)return m();d=0;do{b=r[i+d++],n.Y&&n.Y.Jt&&n.kt<n.Y.Jt&&(n.Y.Re[n.kt++]=b)}while(b&&d<l);if(512&n.st&&4&n.H&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,b)return m()}else n.Y&&(n.Y.Re=Z);n.kt=0,n.ot=16187;case 16187:if(4096&n.st){if(0==l)return m();d=0;do{b=r[i+d++],n.Y&&n.Y.Kt&&n.kt<n.Y.Kt&&(n.Y.Je[n.kt++]=b)}while(b&&d<l);if(512&n.st&&4&n.H&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,b)return m()}else n.Y&&(n.Y.Je=Z);n.ot=16188;case 16188:if(512&n.st){if(Q(16),4&n.H&&u!=(65535&n.ht)){e.msg="header crc mismatch",n.ot=16209;break}N()}n.Y&&(n.Y.Ye=n.st>>9&1,n.Y.Ot=1),e.i=n.ht=W(0),n.ot=16191;break;case 16189:Q(32),e.i=n.ht=M_(u),N(),n.ot=16190;case 16190:if(!n.ct)return z(),2;e.i=n.ht=se(0),n.ot=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n.ut){$(),n.ot=16206;break}switch(Q(3),n.ut=!!D(1),S(1),D(2)){case 0:n.ot=16193;break;case 1:if(er(n),n.ot=16199,6==t)return S(2),m();break;case 2:n.ot=16196;break;case 3:e.msg="invalid block type",n.ot=16209}S(2);break;case 16193:if($(),Q(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ot=16209;break}if(n.kt=65535&u,N(),n.ot=16194,6==t)return m();case 16194:n.ot=16195;case 16195:if(d=n.kt,d){if(d>l&&(d=l),d>o&&(d=o),0==d)return m();M(f,_,r,i,d),l-=d,i+=d,o-=d,_+=d,n.kt-=d;break}n.ot=16191;break;case 16196:if(Q(14),n.vt=D(5)+257,S(5),n.xt=D(5)+1,S(5),n.gt=D(4)+4,S(4),n.vt>286||!n.jt&&n.xt>30){e.msg=n.jt?"too many length":"too many length or distance symbols",n.ot=16209;break}n.yt=0,n.ot=16197;case 16197:for(;n.yt<n.gt;)Q(3),n.Mt[Se[n.yt++]]=D(3),S(3);for(;n.yt<19;)n.Mt[Se[n.yt++]]=0;n.Lt=n.zt,n.et=n.tt=n.Lt,n.nt=7;let c={Ct:n.Lt},v={Ct:n.nt},x={Ct:0};if(g=Oe(0,n.Mt,19,c,v,n.Et,x,n.jt),n.Lt=c.Ct,n.nt=v.Ct,g){e.msg="invalid code lengths set",n.ot=16209;break}n.yt=0,n.ot=16198;case 16198:for(;n.yt<n.vt+n.xt;){for(;w=n.et[D(n.nt)],!(w.ft<=a);)j();if(w.lt<16)S(w.ft),n.Mt[n.yt++]=w.lt;else{if(16==w.lt){if(Q(w.ft+2),S(w.ft),0==n.yt){e.msg="invalid bit length repeat",n.ot=16209;break}b=n.Mt[n.yt-1],d=3+D(2),S(2)}else 17==w.lt?(Q(w.ft+3),S(w.ft),b=0,d=3+D(3),S(3)):(Q(w.ft+7),S(w.ft),b=0,d=11+D(7),S(7));if(n.yt+d>n.vt+n.xt){e.msg="invalid bit length repeat",n.ot=16209;break}for(;d--;)n.Mt[n.yt++]=b}}if(16209==n.ot)break;if(0==n.Mt[256]){e.msg="invalid code -- missing end-of-block",n.ot=16209;break}n.Lt=n.zt,n.nt=9;let q={Ct:n.Lt},T={Ct:n.nt},A={Ct:0};g=Oe(1,n.Mt,n.vt,q,T,n.Et,A,n.jt),n.Lt=q.Ct,n.nt=T.Ct;let I=A.Ct;if(n.et=n.Lt.slice(0,I),g){e.msg="invalid literal/lengths set",n.ot=16209;break}n.rt=6;let U=n.Mt.subarray(n.vt,n.vt+n.xt),B={Ct:n.Lt},C={Ct:n.rt},X={Ct:I};if(g=Oe(2,U,n.xt,B,C,n.Et,X,n.jt),n.Lt=B.Ct,n.rt=C.Ct,n.tt=n.Lt.slice(I),g){e.msg="invalid distances set",n.ot=16209;break}if(n.ot=16199,6==t)return m();case 16199:n.ot=16200;case 16200:if(!n.jt&&l>=6&&o>=258){z(),Vt(e,s),E(),16191==n.ot&&(n.Nt=-1);break}for(n.Nt=0;w=n.et[D(n.nt)],!(w.ft<=a);)j();if(w._t&&!(240&w._t)){for(k=w;w=n.et[k.lt+(D(k.ft+k._t)>>k.ft)],!(k.ft+w.ft<=a);)j();S(k.ft),n.Nt+=k.ft}if(S(w.ft),n.Nt+=w.ft,n.kt=w.lt,0==w._t){n.ot=16205;break}if(32&w._t){n.Nt=-1,n.ot=16191;break}if(64&w._t){e.msg="invalid literal/length code",n.ot=16209;break}n.Pe=w._t&(n.jt?31:15),n.ot=16201;case 16201:n.Pe&&(Q(n.Pe),n.kt+=D(n.Pe),S(n.Pe),n.Nt+=n.Pe),n.Wt=n.kt,n.ot=16202;case 16202:for(;w=n.tt[D(n.rt)],!(w.ft<=a);)j();if(!(240&w._t)){for(k=w;w=n.tt[k.lt+(D(k.ft+k._t)>>k.ft)],!(k.ft+w.ft<=a);)j();S(k.ft),n.Nt+=k.ft}if(S(w.ft),n.Nt+=w.ft,64&w._t){e.msg="invalid distance code",n.ot=16209;break}n.bt=w.lt,n.Pe=15&w._t,n.ot=16203;case 16203:n.Pe&&(Q(n.Pe),n.bt+=D(n.Pe),S(n.Pe),n.Nt+=n.Pe),n.ot=16204;case 16204:if(0==o)return m();if(d=s-o,n.bt>d){if(d=n.bt-d,d>n.v&&n.it){e.msg="invalid distance too far back",n.ot=16209;break}d>n.m?(d-=n.m,h=n.h-d):h=n.m-d,d>n.kt&&(d=n.kt),d>o&&(d=o);for(let e=0;e<d;++e)f[_]=255&n.u[h],++_,++h}else{h=_-n.bt,d=n.kt,d>o&&(d=o);for(let e=0;e<d;++e)f[_]=f[h],++_,++h}d>o&&(d=o),o-=d,n.kt-=d,0==n.kt&&(n.ot=16200);break;case 16205:if(0==o)return m();f[_++]=n.kt,o--,n.ot=16200;break;case 16206:if(n.H){if(Q(32),s-=o,e.total_out+=s,n.wt+=s,4&n.H&&s){let t=f.subarray(_-s,_);e.i=n.ht=y(n.ht,t,s)}if(s=o,4&n.H&&(n.st?u:M_(u)>>>0)!=n.ht){e.msg="incorrect data check",n.ot=16209;break}N()}n.ot=16207;case 16207:if(n.H&&n.st){if(Q(32),4&n.H&&u!=(4294967295&n.wt)){e.msg="incorrect length check",n.ot=16209;break}N()}n.ot=16208;case 16208:return g=1,m();case 16209:return g=-3,m();case 16210:return-4;default:return-2}}catch(e){if(e instanceof h_)return m();throw e}function m(){if(z(),n.h||s!=e.avail_out&&n.ot<16209&&(n.jt?n.ot<16208:n.ot<16206)||4!=t){let t=s-e.avail_out;if(_r(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ot=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.wt+=s,4&n.H&&s&&(e.i=n.ht=y(n.ht,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.L+(n.ut?64:0)+(16191==n.ot?128:0)+(16199==n.ot||16194==n.ot?256:0),(0==c&&0==s&&0==g||4==t&&0==g)&&(g=-5),g}function y(e,t,r){return n.st?W(e,t,r):se(e,t,r)}function p(e,t){return v[0]=255&t,v[1]=t>>>8&255,W(e,v,2)>>>0}function L(e,t){return v[0]=255&t,v[1]=t>>>8&255,v[2]=t>>>16&255,v[3]=t>>>24&255,W(e,v,4)>>>0}function E(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.p,a=n.L}function z(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=u,n.L=a}function N(){u=0,a=0}function j(){if(0==l)throw new h_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8}function Q(e){for(;a<e;)j()}function D(e){return u&(1<<e)-1}function S(e){u>>>=e,a-=e}function $(){u>>>=7&a,a-=7&a}}function en(e){return Ke(e)?-2:0}var X_=65536,tr=32768,Y_=class{constructor(e=16,t=X_){this.Vt=[],this.Gt=e;for(let n=0;n<N.min(e,4);n++)this.Vt.push(new x(t))}acquire(e=X_){for(let t=this.Vt.length-1;t>=0;t--){let n=this.Vt[t];if(n.length>=e)return this.Vt.splice(t,1),n}return new x(e)}release(e){this.Vt.length<this.Gt&&this.Vt.push(e)}};function _n(e){let t=new Y_(32,X_),n=null;function r(e){try{t.release(e)}catch{}}return new U({start(){},transform(i,f){if(!n){let t=e.en(),r=e.tn(t);if(0!=r&&0!=r)throw new z("init failed: "+r);n={o:t}}let _=n.o,l=0;for(;l<i.length;){let n=N.min(i.length-l,tr),o=i.subarray(l,l+n);for(_.next_in=o,_.next_in_index=0,_.avail_in=o.length;_.avail_in>0;){let n=t.acquire(),i=!1;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let r=e.nn(_,0),l=n.length-_.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};i=!0,f.enqueue(r)}if(0!=r&&1!=r)throw new z("process error: "+r)}finally{i||r(n)}}l+=n}},flush(i){if(!n)return;let f=n.o;for(;;){let n=t.acquire(),_=!1;try{f.next_out=n,f.next_out_index=0,f.avail_out=n.length;let r=e.nn(f,4),l=n.length-f.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};_=!0,i.enqueue(r)}if(1==r)break;if(0!=r)throw new z("finalization error: "+r)}finally{_||r(n)}}let _=e.fn(f);if(0!=_&&0!=_)throw new z("end failed: "+_)}})}function tn(){return new U({start(){},transform(e,t){try{t.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}function nr(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return _n({en:()=>Dt(),tn:e=>vt(e,r,8,n,8,0),nn:It,fn:F_})}function rr(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:15;return _n({en:()=>Jt("deflate64-raw"==e),tn:e=>Qt(e,t),nn:$t,fn:en})}var x_=class{constructor(e="deflate",t){let n=nr(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(tn())}},p_=class{constructor(e="deflate"){let t=rr(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(tn())}};export{x_ as CompressionStream,x_ as CompressionStreamZlib,p_ as DecompressionStream,p_ as DecompressionStreamZlib};
|
|
1
|
+
var{Uint8Array:x,Uint16Array:E,Int32Array:H,TransformStream:U,Math:N,Error:z,Array:v}=globalThis,Se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new x(0),je=new E(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Ee=[];for(let e=0;e<14;e++)Ee.push(e,0==e?4:2);var ge=new E([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Te=new E([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength),_=n instanceof x?n.subarray(r,r+i):new x(n.buffer,n.byteOffset+r,i);f.set(_,t)}function Ve(e,t,n){0!=n&&(e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n)}function Je(){return{next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Qe(e,t){let n=1<<t;return{o:e,u:new x(n),h:n,v:t,k:0,m:0,p:0,I:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r)}return new E(t)}var ne=class{constructor(e,t){this.L=e,this.M=t,this.Z=0}},re=class{constructor(e,t,n,r,i){this.W=e,this.N=t,this.V=n,this.S=r,this.q=i}};function w_(e){return J_[e<-6||e>2?9:2-e]||""}function Ae(e,t){try{e.msg=w_(t)}catch(n){e.msg="zlib error "+String(t)+" ("+n+")"}return t}function e_(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function g(e,t){e.A[e.$++]=t}function De(e,t){g(e,255&t),g(e,t>>>8&255)}function __(e,t,n){let r=255&n,i=65535&t,f=e.D+e.O;return e.A[f]=255&i,e.A[f+1]=i>>>8&255,e.A[f+2]=r,e.O+=3,i=i-1&65535,e.B[t_[r]+ie+1].T++,e.R[A_(i)].T++,e.O==e.U}function ye(e,t){let n=255&t,r=e.D+e.O;return e.A[r]=0,e.A[r+1]=0,e.A[r+2]=n,e.O+=3,e.B[n].T++,e.O==e.U}function ve(e){return e.h-ae}function A_(e){return e<256?T_[e]:T_[256+(e>>7)]}function D_(e){let t=He+7,n=1<<t,r=(1<<t)-1,i=N.floor((t+I-1)/I),f=1<<8+He;return{...Qe(e,15),o:e,P:42,F:0,H:void 0,Y:32767,X:t,J:n,K:r,C:i,j:new E(32768),G:new E(n),ee:f,A:new x(32768),te:0,ne:32768,$:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ae:0,ue:0,ce:0,se:0,de:0,he:0,we:0,be:0,ge:0,ve:0,ke:0,me:0,xe:0,pe:0,ye:new H(2*we+1),Ie:new x(2*we+1),Le:new E(be+1),O:0,U:0,Me:Z,D:0,ze:0,Ee:0,Ze:8,We:32768,Ne:0,Ve:0,Qe:0,B:new v(le).fill(0).map(()=>Q()),R:new v(2*me+1).fill(0).map(()=>Q()),Se:new v(2*oe+1).fill(0).map(()=>Q()),qe:g_(),Ae:g_(),$e:g_()}}function y_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.De=r,f.Oe=i,t.push(f)}return t}function Q(){return{T:0,De:0,Te:0,Oe:0}}function g_(){return new ne([],cn(null,Z,0,0,0))}function cn(e,t,n,r,i){return new re(e,t,n,r,i)}function Q_(){let e=new v(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function v_(e){let{code:t,length:n}=dn(e),r=new E(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?e_(_,e):0,r[i++]=e}return new E(r)}function $_(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f)}r<n&&(r=n);let i=new x(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i)}return i[f]=e.length-1,i}function et(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f)}let r=new x(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function _t(e){let t=new x(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r]}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function dn(e){let t=N.max(...e),n=new v(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new v(e.length).fill(0),i=new v(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++)}return{code:r,length:e}}var He=8,I=3,_e=258,ae=_e+I+1,tt=4096,Ue=16,Be=_e,mn=29,ie=256,we=ie+1+mn,me=30,oe=19,le=2*we+1,be=15,nt=9,rt=255,at=32,it=4,Ie=256,n_=16,r_=17,a_=18,ot=0,I_=1,lt=2,$=-1,J_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],i_=te(de),o_=te(Ee),Fe=new E(19);Fe[16]=2,Fe[17]=3,Fe[18]=7;var bn=v_(Q_()),sn=v_(new v(30).fill(5)),Ze=y_(bn),k_=y_(sn),t_=$_(Te,i_,_e),T_=_t(et(ge,o_));function Pe(e){return e%65521>>>0}function se(e,t,n){if(void 0===t||void 0===n)return 1;let r=e>>>16&65535;if(e&=65535,1==n)return(e+=t[0])>=65521&&(e-=65521),r+=e,r>=65521&&(r-=65521),(r<<16|e)>>>0;if(n<16){for(let i=0;i<n;i++)r+=e+=t[i];return e>=65521&&(e-=65521),r=Pe(r),(r<<16|e)>>>0}for(;n>=5552;){n-=5552;let i=N.floor(347);do{for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}while(--i);e=Pe(e),r=Pe(r)}if(n){for(;n>=16;){n-=16;for(let n=0;n<16;n++)r+=e+=t[n];t=t.subarray(16)}for(let i=0;i<n;i++)r+=e+=t[i];e=Pe(e),r=Pe(r)}return(r<<16|e)>>>0}var Me=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Me[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Me[t-1][e];Me[t][e]=n>>>8^Me[0][255&n]}var[ft,hn,xn,pn,Sn,En,gn,Tn]=Me;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=N.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,!0),n=e.getInt32(i+4,!0);r=Tn[255&t]^gn[t>>>8&255]^En[t>>>16&255]^Sn[t>>>24&255]^pn[255&n]^xn[n>>>8&255]^hn[n>>>16&255]^ft[n>>>24&255]}}for(;i<n;i++)r=r>>>8^ft[255&(r^t[i])];return(4294967295^r)>>>0}function ht(e){16==e.I?(De(e,e.p),e.p=0,e.I=0):e.I>=8&&(g(e,e.p),e.p>>=8,e.I-=8)}function xt(e){e.I>8?De(e,e.p):e.I>0&&g(e,e.p),e.ze=1+(e.I-1&7),e.p=0,e.I=0}function wn(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].Oe;0!=t&&(e[i].De=e_(f[t]++,t))}}function L(e,t,n){e.I>Ue-n?(e.p=65535&(e.p|t<<e.I),De(e,e.p),e.p=t>>Ue-e.I&65535,e.I+=n-Ue):(e.p=65535&(e.p|t<<e.I),e.I+=n)}function pt(e){for(let t=0;t<e.B.length;t++)e.B[t].T=0;for(let t=0;t<e.R.length;t++)e.R[t].T=0;for(let t=0;t<e.Se.length;t++)e.Se[t].T=0;e.B[Ie].T=1,e.ie=e.fe=0,e.O=e._e=0}function St(e){if(e.B&&e.B.length>=le)for(let t=0;t<le;t++)e.B[t]=Q();else{e.B=[];for(let t=0;t<le;t++)e.B.push(Q())}if(e.R&&e.R.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.R[t]=Q();else{e.R=[];for(let t=0;t<2*me+1;t++)e.R.push(Q())}if(e.Se&&e.Se.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.Se[t]=Q();else{e.Se=[];for(let t=0;t<2*oe+1;t++)e.Se.push(Q())}e.qe=new ne(e.B,new re(Ze,i_,ie+1,we,be)),e.Ae=new ne(e.R,new re(k_,o_,0,me,be)),e.$e=new ne(e.Se,new re(null,Fe,0,oe,7)),e.p=0,e.I=0,e.ze=0,pt(e)}var he=1;function An(e,t,n){return n=e.ye[he],e.ye[he]=e.ye[e.Ve--],N_(e,t,he),n}function dt(e,t,n,r){return e[t].T<e[n].T||e[t].T==e[n].T&&r[t]<=r[n]}function N_(e,t,n){let r=e.ye[n],i=n<<1;for(;i<=e.Ve&&(i<e.Ve&&dt(t,e.ye[i+1],e.ye[i],e.Ie)&&i++,!dt(t,r,e.ye[i],e.Ie));)e.ye[n]=e.ye[i],n=i,i<<=1;e.ye[n]=r}function Dn(e,t){let n,r,i,f,_,l,o=t.L,a=t.Z,u=t.M.W,c=t.M.N,s=t.M.V,d=t.M.q,h=0;for(f=0;f<=be;f++)e.Le[f]=0;for(o[e.ye[e.Qe]].Oe=0,n=e.Qe+1;n<le;n++)r=e.ye[n],f=o[o[r].Te].Oe+1,f>d&&(f=d,h++),o[r].Oe=f,!(r>a)&&(e.Le[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].T,e.ie+=l*(f+_),u&&(e.fe+=l*(u[r].Oe+_)));if(0!=h){do{for(f=d-1;0==e.Le[f];)f--;e.Le[f]--,e.Le[f+1]+=2,e.Le[d]--,h-=2}while(h>0);for(f=d;0!=f;f--)for(r=e.Le[f];0!=r;)i=e.ye[--n],!(i>a)&&(o[i].Oe!=f&&(e.ie+=(f-o[i].Oe)*o[i].T,o[i].Oe=f),r--)}}function R_(e,t){let n,r,i,f=t.L,_=t.M.W,l=t.M.S,o=-1;for(e.Ve=0,e.Qe=le,n=0;n<l;n++)0!=f[n].T?(e.ye[++e.Ve]=o=n,e.Ie[n]=0):f[n].Oe=0;for(;e.Ve<2;)i=e.ye[++e.Ve]=o<2?++o:0,f[i].T=1,e.Ie[i]=0,e.ie--,_&&(e.fe-=_[i].Oe);for(t.Z=o,n=N.floor(e.Ve/2);n>=1;n--)N_(e,f,n);i=l;do{n=An(e,f,n),r=e.ye[he],e.ye[--e.Qe]=n,e.ye[--e.Qe]=r,f[i].T=f[n].T+f[r].T,e.Ie[i]=(e.Ie[n]>=e.Ie[r]?e.Ie[n]:e.Ie[r])+1,f[n].Te=f[r].Te=i,e.ye[he]=i++,N_(e,f,he)}while(e.Ve>=2);e.ye[--e.Qe]=e.ye[he],Dn(e,t),wn(f,t.Z,e.Le)}function mt(e,t,n){let r,i,f=-1,_=t[0].Oe,l=0,o=7,a=4;for(0==_&&(o=138,a=3),t[n+1].Oe=65535,r=0;r<=n;r++)i=_,_=t[r+1].Oe,!(++l<o&&i==_)&&(l<a?e.Se[i].T+=l:0!=i?(i!=f&&e.Se[i].T++,e.Se[n_].T++):l<=10?e.Se[r_].T++:e.Se[a_].T++,l=0,f=i,0==_?(o=138,a=3):i==_?(o=6,a=3):(o=7,a=4))}function bt(e,t,n){let r,i=-1,f=t[0].Oe,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let a=0;a<=n;a++)if(r=f,f=t[a+1].Oe,!(++_<l&&r==f)){if(_<o)do{L(e,e.Se[r].De,e.Se[r].Oe)}while(0!=--_);else 0!=r?(r!=i&&(L(e,e.Se[r].De,e.Se[r].Oe),_--),L(e,e.Se[n_].De,e.Se[n_].Oe),L(e,_-3,2)):_<=10?(L(e,e.Se[r_].De,e.Se[r_].Oe),L(e,_-3,3)):(L(e,e.Se[a_].De,e.Se[a_].Oe),L(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4)}}function yn(e){let t;for(mt(e,e.B,e.qe.Z),mt(e,e.R,e.Ae.Z),R_(e,e.$e),t=oe-1;t>=3&&0==e.Se[Se[t]].Oe;t--);return e.ie+=3*(t+1)+5+5+4,t}function vn(e,t,n,r){let i;for(L(e,t-257,5),L(e,n-1,5),L(e,r-4,4),i=0;i<r;i++)L(e,e.Se[Se[i]].Oe,3);bt(e,e.B,t-1),bt(e,e.R,n-1)}function Xe(e,t,n,r,i=0){L(e,(ot<<1)+r,3),xt(e),De(e,n),De(e,~n),n&&t&&M(e.A,e.$,t,i,n),e.$+=n}function Et(e){ht(e)}function gt(e){L(e,I_<<1,3),L(e,Ze[Ie].De,Ze[Ie].Oe),ht(e)}function st(e,t,n){let r,i,f,_,l=0;if(0!=e.O)do{r=255&e.Me[l],r+=(255&e.Me[l+1])<<8,i=e.Me[l+2],l+=3,0==r?L(e,t[i].De,t[i].Oe):(f=t_[i],L(e,t[f+ie+1].De,t[f+ie+1].Oe),_=i_[f],0!=_&&(i-=Te[f],L(e,i,_)),r--,f=A_(r),L(e,n[f].De,n[f].Oe),_=o_[f],0!=_&&(r-=ge[f],L(e,r,_)))}while(l<e.O);L(e,t[Ie].De,t[Ie].Oe)}function In(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.B[t].T)return 0;if(0!=e.B[9].T||0!=e.B[10].T||0!=e.B[13].T)return 1;for(t=32;t<ie;t++)if(0!=e.B[t].T)return 1;return 0}function Tt(e,t,n,r,i=0){let f,_,l=0;e.ge>0?(2==e.o.t&&(e.o.t=In(e)),R_(e,e.qe),R_(e,e.Ae),l=yn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ve)&&(f=_)):f=_=n+5,n+4<=f&&t?Xe(e,t,n,r,i):_==f?(L(e,(I_<<1)+r,3),st(e,Ze,k_)):(L(e,(lt<<1)+r,3),vn(e,e.qe.Z+1,e.Ae.Z+1,l+1),st(e,e.B,e.R)),pt(e),r&&xt(e)}function yt(){let e=Je();return e.l=D_(e),e}var We=[{Be:zt,Re:0,Ue:0,Pe:0,Fe:0},{Be:L_,Re:4,Ue:4,Pe:8,Fe:4},{Be:L_,Re:4,Ue:5,Pe:16,Fe:8},{Be:L_,Re:4,Ue:6,Pe:32,Fe:32},{Be:Re,Re:4,Ue:4,Pe:16,Fe:16},{Be:Re,Re:8,Ue:16,Pe:32,Fe:32},{Be:Re,Re:8,Ue:16,Pe:128,Fe:128},{Be:Re,Re:8,Ue:32,Pe:128,Fe:256},{Be:Re,Re:32,Ue:128,Pe:258,Fe:1024},{Be:Re,Re:32,Ue:258,Pe:258,Fe:4096}];function wt(e){return 2*e-(e>4?9:0)}function u_(e,t,n){return((t<<e.C^n)&e.K)>>>0}function c_(e,t){e.be=u_(e,e.be,e.u[t+(I-1)]);let n=e.j[t&e.Y]=e.G[e.be];return e.G[e.be]=t,n}function vt(e){e.G[e.J-1]=0,Ve(e.G,0,(e.J-1)*e.G.BYTES_PER_ELEMENT)}function On(e){let t,n,r=e.h;for(t=e.J;t>0;)t--,n=e.G[t],e.G[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.j[t],e.j[t]=n>=r?n-r:0}function O_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.F?e.i=se(e.i,new x(t.buffer,t.byteOffset+n,i),i):2==e.l.F&&(e.i=W(e.i,new x(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function d_(e){let t,n,r=e.h;do{if(n=e.We-e.ce-e.ue,0==n&&0==e.ue&&0==e.ce?n=r:-1==n&&n--,e.ue>=r+ve(e)&&(M(e.u,0,e.u,r,r-n),e.Ne-=r,e.ue-=r,e.ae-=r,e.le>e.ue&&(e.le=e.ue),On(e),n+=r),0==e.o.avail_in)break;if(t=O_(e.o,e.u,e.ue+e.ce,n),e.ce+=t,e.ce+e.le>=I){let t=e.ue-e.le;for(e.be=e.u[t],e.be=u_(e,e.be,e.u[t+1]);e.le&&(e.be=u_(e,e.be,e.u[t+I-1]),e.j[t&e.Y]=e.G[e.be],e.G[e.be]=t,t++,e.le--,!(e.ce+e.le<I)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.k<e.We){let t,n=e.ue+e.ce;e.k<n?(t=e.We-n,t>Be&&(t=Be),Ve(e.u,n,t),e.k=n+t):e.k<n+Be&&(t=n+Be-e.k,t>e.We-e.k&&(t=e.We-e.k),Ve(e.u,e.k,t),e.k+=t)}}function It(e,t,n=8,r=15,i=He,f=0){let _=1;if(!e)return-2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return-2;r=-r}else r>15&&(_=2,r-=16);if(i<1||i>nt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return-2;8==r&&(r=9);let l=D_(e);return l?(e.l=l,l.o=e,l.P=42,l.F=_,l.H=void 0,l.v=r,l.h=1<<l.v,l.Y=l.h-1,l.X=i+7,l.J=1<<l.X,l.K=l.J-1,l.C=(l.X+I-1)/I,l.u=new x(2*l.h),l.j=new E(l.h),l.G=new E(l.J),l.k=0,l.ee=1<<i+6,l.A=new x(l.ee*it),l.ne=4*l.ee,l.u&&l.j&&l.G&&l.A?(l.Me=l.A.subarray(l.ee),l.D=l.te+l.ee,l.U=3*(l.ee-1),l.ge=t,l.ve=f,l.Ze=n,Bn(e)):(l.P=666,e.msg=w_(-4),F_(e),-4)):-4}function B_(e){if(null==e)return!0;let t=e.l;return!t||t.o!=e||42!=t.P&&57!=t.P&&69!=t.P&&73!=t.P&&91!=t.P&&103!=t.P&&113!=t.P&&666!=t.P}function Hn(e){let t;return B_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.$=0,t.re=t.te,t.F<0&&(t.F=-t.F),t.P=2==t.F?57:42,e.i=2==t.F?W(0):se(0),t.oe=-2,St(t),0)}function Un(e){e.We=2*e.h,vt(e),e.pe=We[e.ge].Ue,e.ke=We[e.ge].Re,e.me=We[e.ge].Pe,e.xe=We[e.ge].Fe,e.ue=0,e.ae=0,e.ce=0,e.le=0,e.se=e.de=I-1,e.we=0,e.be=0}function Bn(e){let t=Hn(e);return 0==t&&Un(e.l),t}function Ye(e,t){g(e,t>>8),g(e,255&t)}function q(e){let t,n=e.l;Et(n),t=n.$,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.A,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.$-=t,0==n.$&&(n.re=n.te))}function ke(e,t){let n=e.l;n.H&&n.H.He&&(e.i=W(e.i,new x(n.A.buffer,n.te+t,n.$-t),n.$-t))}function kt(e,t){let n,r=e.l;if(B_(e)||t>5||t<0)return Ae(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.P&&4!=t)return Ae(e,-2);if(0==e.avail_out)return Ae(e,-5);if(n=r.oe,r.oe=t,0!=r.$){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&wt(t)<=wt(n)&&4!=t)return Ae(e,-5);if(666==r.P&&0!=e.avail_in)return Ae(e,-5);if(42==r.P&&0==r.F&&(r.P=113),42==r.P){let t,n=8+(r.v-8<<4)<<8;if(t=r.ve>=2||r.ge<2?0:r.ge<6?1:6==r.ge?2:3,n|=t<<6,0!=r.ue&&(n|=at),n+=31-n%31,Ye(r,n),0!=r.ue&&(Ye(r,e.i>>16),Ye(r,65535&e.i)),e.i=1,r.P=113,q(e),0!=r.$)return r.oe=$,0}if(57==r.P)if(e.i=W(0),g(r,31),g(r,139),g(r,8),r.H)g(r,(r.H.Ye?1:0)+(r.H.He?2:0)+(null==r.H.Xe?0:4)+(null==r.H.Je?0:8)+(null==r.H.Ke?0:16)),g(r,255&r.H.Ce),g(r,r.H.Ce>>>8&255),g(r,r.H.Ce>>>16&255),g(r,r.H.Ce>>>24&255),g(r,9==r.ge?2:r.ve>=2||r.ge<2?4:0),g(r,255&r.H.je),null!=r.H.Xe&&(g(r,255&r.H.Ge),g(r,r.H.Ge>>>8&255)),r.H.He&&(e.i=W(e.i,r.A,r.$)),r.Ee=0,r.P=69;else if(g(r,0),g(r,0),g(r,0),g(r,0),g(r,0),g(r,9==r.ge?2:r.ve>=2||r.ge<2?4:0),g(r,rt),r.P=113,q(e),0!=r.$)return r.oe=$,0;if(69==r.P){if(r.H&&null!=r.H.Xe){let t=r.$,n=(65535&r.H.Ge)-r.Ee;for(;r.$+n>r.ne;){let i=r.ne-r.$;if(M(r.A,r.$,r.H.Xe,r.Ee,i),r.$=r.ne,ke(e,t),r.Ee+=i,q(e),0!=r.$)return r.oe=$,0;t=0,n-=i}M(r.A,r.$,r.H.Xe,r.Ee,n),r.$+=n,ke(e,t),r.Ee=0}r.P=73}if(73==r.P){if(r.H&&r.H.Je&&r.H.Je.length){let t,n=r.$;do{if(r.$==r.ne){if(ke(e,n),q(e),0!=r.$)return r.oe=$,0;n=0}t=r.H.Je[r.Ee++],g(r,t)}while(0!=t);ke(e,n),r.Ee=0}r.P=91}if(91==r.P){if(r.H&&r.H.Ke&&r.H.Ke.length){let t,n=r.$;do{if(r.$==r.ne){if(ke(e,n),q(e),0!=r.$)return r.oe=$,0;n=0}t=r.H.Ke[r.Ee++],g(r,t)}while(0!=t);ke(e,n)}r.P=103}if(103==r.P){if(r.H&&r.H.He){if(r.$+2>r.ne&&(q(e),0!=r.$))return r.oe=$,0;g(r,255&e.i),g(r,e.i>>>8&255),e.i=W(0)}if(r.P=113,q(e),0!=r.$)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.P){let n=0==r.ge?zt(r,t):2==r.ve?Zn(r,t):3==r.ve?Fn(r,t):We[r.ge].Be(r,t);if((2==n||3==n)&&(r.P=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?gt(r):5!=t&&(Xe(r,null,0,0),3==t&&(vt(r),0==r.ce&&(r.ue=0,r.ae=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.F<=0?1:(2==r.F?(g(r,255&e.i),g(r,e.i>>>8&255),g(r,e.i>>>16&255),g(r,e.i>>>24&255),g(r,255&e.total_in),g(r,e.total_in>>>8&255),g(r,e.total_in>>>16&255),g(r,e.total_in>>>24&255)):(Ye(r,e.i>>>16&65535),Ye(r,65535&e.i)),q(e),r.F>0&&(r.F=-r.F),0!=r.$?0:1)}function F_(e){if(B_(e))return-2;let t=e.l,n=t.P;return t.u=Z,t.j=je,t.G=je,t.A=Z,t.Me=Z,t.ye=new H(0),t.Ie=Z,t.Le=je,t.B.length=0,t.R.length=0,t.Se.length=0,t.H=void 0,t.te=0,t.re=0,t.D=0,113==n?-3:0}function Nt(e,t){let n,r,i=e.xe,f=e.ue,_=e.de,l=e.me,o=e.ue>ve(e)?e.ue-ve(e):0,a=e.j,u=e.Y,c=e.u[f],s=e.u[f+1],d=e.u[f+_-1],h=e.u[f+_];e.de>=e.ke&&(i>>=2),l>e.ce&&(l=e.ce);do{if(n=t,e.u[n+_]!=h||e.u[n+_-1]!=d||e.u[n]!=c||e.u[n+1]!=s)continue;let i=N.min(_e,e.ce),o=2;for(;o<i&&e.u[f+o]==e.u[n+o];)o++;if(r=o,r>_){if(e.Ne=t,_=r,r>=l)break;d=e.u[f+_-1],h=e.u[f+_]}}while((t=a[t&u])>o&&0!=--i);return _<=e.ce?_:e.ce}function Rt(e,t){Tt(e,e.u,e.ue-e.ae,t,e.ae),e.ae=e.ue,q(e.o)}function V(e,t){return Rt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var At=65535;function Ne(e,t){return e<t?e:t}function zt(e,t){let n,r,i,f=Ne(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=At,i=e.I+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ue-e.ae,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Xe(e,null,0,_),e.A[e.$-4]=n,e.A[e.$-3]=n>>8,e.A[e.$-2]=~n,e.A[e.$-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ae,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ae+=r,n-=r),n&&(O_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n)}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ue=e.h,e.le=e.ue}else e.We-e.ue<=l&&(e.ue-=e.h,M(e.u,0,e.u,e.h,e.ue),e._e<2&&e._e++,e.le>e.ue&&(e.le=e.ue)),M(e.u,e.ue,e.o.next_in,e.o.next_in_index-l,l),e.ue+=l,e.le+=Ne(l,e.h-e.le);e.ae=e.ue}return e.k<e.ue&&(e.k=e.ue),_?(e.ze=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ue==e.ae?1:(i=e.We-e.ue,e.o.avail_in>i&&e.ae>=e.h&&(e.ae-=e.h,e.ue-=e.h,M(e.u,0,e.u,e.h,e.ue),e._e<2&&e._e++,i+=e.h,e.le>e.ue&&(e.le=e.ue)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(O_(e.o,e.u,e.ue,i),e.ue+=i,e.le+=Ne(i,e.h-e.le)),e.k<e.ue&&(e.k=e.ue),i=e.I+42>>3,i=Ne(e.ne-i,At),f=Ne(i,e.h),r=e.ue-e.ae,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=Ne(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Xe(e,e.u,n,_,e.ae),e.ae+=n,q(e.o)),_&&(e.ze=8),_?2:0)}function L_(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(d_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=I&&(n=c_(e,e.ue)),0!=n&&e.ue-n<=ve(e)&&(e.se=Nt(e,n)),e.se>=I)if(e.ue,e.Ne,e.se,r=__(e,e.ue-e.Ne,e.se-I),e.ce-=e.se,e.se<=e.pe&&e.ce>=I){e.se--;do{e.ue++,n=c_(e,e.ue)}while(0!=--e.se);e.ue++}else e.ue+=e.se,e.se=0,e.be=e.u[e.ue],e.be=u_(e,e.be,e.u[e.ue+1]);else r=ye(e,e.u[e.ue]),e.ce--,e.ue++;if(r){let t=V(e,!1);if(null!=t)return t}}if(e.le=e.ue<I-1?e.ue:I-1,4==t){return V(e,!0)??3}if(e.O){let t=V(e,!1);if(null!=t)return t}return 1}function Re(e,t){let n,r=!1;for(;;){if(e.ce<ae){if(d_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=I&&(n=c_(e,e.ue)),e.de=e.se,e.he=e.Ne,e.se=I-1,0!=n&&e.de<e.pe&&e.ue-n<=ve(e)&&(e.se=Nt(e,n),e.se<=5&&(1==e.ve||e.se==I&&e.ue-e.Ne>tt)&&(e.se=I-1)),e.de>=I&&e.se<=e.de){let t=e.ue+e.ce-I;e.ue,e.he,e.de,r=__(e,e.ue-1-e.he,e.de-I),e.ce-=e.de-1,e.de-=2;do{++e.ue<=t&&(n=c_(e,e.ue))}while(0!=--e.de);if(e.we=0,e.se=I-1,e.ue++,r){let t=V(e,!1);if(null!=t)return t}}else if(e.we){if(r=ye(e,e.u[e.ue-1]),r&&Rt(e,0),e.ue++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ue++,e.ce--}if(e.we&&(r=ye(e,e.u[e.ue-1]),e.we=0),e.le=e.ue<I-1?e.ue:I-1,4==t){return V(e,!0)??3}if(e.O){let t=V(e,!1);if(null!=t)return t}return 1}function Fn(e,t){let n,r,i,f;for(;;){if(e.ce<=_e){if(d_(e),e.ce<=_e&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=I&&e.ue>0&&(i=e.ue-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ue+_e;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=_e-(f-i),e.se>e.ce&&(e.se=e.ce)}if(e.se>=I?(e.ue,e.ue,e.se,n=__(e,1,e.se-I),e.ce-=e.se,e.ue+=e.se,e.se=0):(n=ye(e,e.u[e.ue]),e.ce--,e.ue++),n){let t=V(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return V(e,!0)??3}if(e.O){let t=V(e,!1);if(null!=t)return t}return 1}function Zn(e,t){let n=!1;for(;;){if(0==e.ce&&(d_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=ye(e,e.u[e.ue]),e.ce--,e.ue++,n){let t=V(e,!1);if(null!=t)return t}}if(e.le=0,4==t){return V(e,!0)??3}if(e.O){let t=V(e,!1);if(null!=t)return t}return 1}var ue=852,m_=592,b_=594,Ct=ge.map(e=>e+1),Lt=Te.subarray(0,-1).map(e=>e+3),Pn=[16,1,73,1,200,1],Mn=[144,1,72,1,78,1],Ot=Ee.map(Kt),Ht=Ee.map(qt);Ot.push(64,2),Ht.push(142,2);var Ut=de.slice(0,-2).map(Kt),Bt=de.slice(0,-2).map(qt);Ut.push(...Pn),Bt.push(...Mn);var Ft=new E([...Lt,258,0,0]),Zt=new E([...Lt,3,0,0]),Pt=te(Ut),Mt=te(Bt),Xt=new E([...Ct,0,0]),Yt=new E([...Ct,32769,49153]),Wt=te(Ot),Gt=te(Ht);function Kt(e,t){return t%2?e:e+16}function qt(e,t){return t%2?e:e+128}function Vt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,a=r.p>>>0,u=r.I>>>0,c=r.et,s=r.tt,d=(1<<r.nt)-1,h=(1<<r.rt)-1,w=r.h>>>0,b=r.k>>>0,g=r.m>>>0,v=r.it,k=f-(t-e.avail_out),m=f+(e.avail_out-257),x=i+(e.avail_in-5),p=0,y=0,I=0,L=0;e:do{for(;u<15;){if(!(i<_.length))break e;a+=_[i++]<<u,u+=8}n=c[a&d];t:for(;;){if(I=n.ft,a>>>=I,u-=I,I=n._t,0==I){l[f++]=n.lt;break}if(16&I){if(p=n.lt,I&=15,I){for(;u<I;){if(!(i<_.length)){r.ot=16200;break e}a+=_[i++]<<u,u+=8}p+=a&(1<<I)-1,a>>>=I,u-=I}for(;u<15;){if(!(i<_.length)){r.ot=16200;break e}a+=_[i++]<<u,u+=8}n=s[a&h];n:for(;;){if(I=n.ft,a>>>=I,u-=I,I=n._t,16&I){if(y=n.lt,I&=15,I){for(;u<I;){if(!(i<_.length)){r.ot=16200;break e}a+=_[i++]<<u,u+=8}y+=a&(1<<I)-1,a>>>=I,u-=I}let t=p,c=f-k;if(y>c){let n=y-c;if(n>b&&v){e.msg="invalid distance too far back",r.ot=16209;break e}if(0==g){if(L=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[L++];continue e}for(let e=0;e<n;++e)l[f++]=o[L++];t-=n,L=f-y}else if(g<n){L=w+g-n;let e=n-g;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[L++];continue e}for(let t=0;t<e;++t)l[f++]=o[L++];if(t-=e,L=0,g<t){for(let e=0;e<g;++e)l[f++]=o[L++];t-=g,L=f-y}}else{if(L=g-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[L++];continue e}for(let e=0;e<n;++e)l[f++]=o[L++];t-=n,L=f-y}for(;t>2;)l[f++]=l[L++],l[f++]=l[L++],l[f++]=l[L++],t-=3;t&&(l[f++]=l[L++],t>1&&(l[f++]=l[L++]))}else{for(L=f-y;t>2;)l[f++]=l[L++],l[f++]=l[L++],l[f++]=l[L++],t-=3;t&&(l[f++]=l[L++],t>1&&(l[f++]=l[L++]))}break}if(64&I){e.msg="invalid distance code",r.ot=16209;break e}n=s[n.lt+(a&(1<<I)-1)];continue n}break}if(64&I){if(32&I){r.ot=16191;break e}e.msg="invalid literal/length code",r.ot=16209;break e}n=c[n.lt+(a&(1<<I)-1)];continue t}}while(i<x&&f<m);let M=u>>3;i-=M,u-=M<<3,a&=(1<<u)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<x?x-i+5:5-(i-x),e.avail_out=f<m?m-f+257:257-(f-m),r.p=a>>>0,r.I=u>>>0}function Z_(e,t){let n=[],r=t?ue+b_:ue+m_;return{...Qe(e,0),o:e,ot:16180,ut:!1,F:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:Z,bt:0,gt:0,Xe:0,et:n,tt:n,nt:0,rt:0,vt:0,kt:0,xt:0,yt:0,It:n,Lt:new E(320),Mt:new E(288),zt:new v(r).fill(null).map(()=>pe()),Et:0,it:!0,Zt:0,Wt:0,Nt:t}}function pe(e=0,t=0,n=0){return{_t:e,ft:t,lt:n}}function P_(e=1){return{_t:64,ft:e,lt:0}}function Jt(e=0){return{_t:96,ft:e,lt:0}}function M_(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Yn={Nt:!1,Vt:Ft,Qt:Pt,St:Xt,qt:Wt,At:20,$t:257,Dt:0,Ot:m_,Tt:!1,Bt:!0},Wn={Nt:!0,Vt:Zt,Qt:Mt,St:Yt,qt:Gt,At:19,$t:256,Dt:-1,Ot:b_,Tt:!0,Bt:!1};function Oe(e,t,n,r,i,f,_,l){let o,a,u,c,s,d,h,w,b,g,v,k,m,x,p,y,I,L,M,z=new E(Le+1),Z=new E(Le+1),W=l?Wn:Yn;for(o=0;o<=Le;o++)z[o]=0;for(a=0;a<n;a++)z[t[a]]++;for(s=i.Rt,c=Le;c>=1&&0==z[c];c--);if(s>c&&(s=c),0==c)return W.Bt?(p=P_(1),r.Rt[0]=p,r.Rt[1]=p,i.Rt=1,0):-1;for(u=1;u<c&&0==z[u];u++);for(s<u&&(s=u),w=1,o=1;o<=Le;o++)if(w<<=1,w-=z[o],w<0)return-1;if(w>0&&(0==e||1!=c))return-1;for(Z[1]=0,o=1;o<Le;o++)Z[o+1]=Z[o]+z[o];for(a=0;a<n;a++)0!=t[a]&&(f[Z[t[a]]++]=a);switch(e){case 0:I=L=f,M=W.At;break;case 1:I=W.Vt,L=W.Qt,M=W.$t;break;default:I=W.St,L=W.qt,M=W.Dt}if(g=0,a=0,o=u,y=_.Rt,d=s,h=0,m=-1,b=1<<s,x=b-1,1==e&&(W.Tt?b>=ue:b>ue)||2==e&&(W.Tt?b>=W.Ot:b>W.Ot))return 1;for(;;){p=Gn(f,a,o,h,e,I,L,M,W.Nt),v=1<<o-h,k=1<<d,u=k;do{k-=v;let e=(g>>h)+k;r.Rt[y+e]={...p}}while(0!=k);for(v=1<<o-1;g&v;)v>>=1;if(0!=v?(g&=v-1,g+=v):g=0,a++,0==--z[o]){if(o==c)break;o=t[f[a]]}if(o>s&&(g&x)!=m){for(0==h&&(h=s),y+=1<<d,d=o-h,w=1<<d;d+h<c&&(w-=z[d+h],!(w<=0));)d++,w<<=1;if(b+=1<<d,1==e&&(W.Tt?b>=ue:b>ue)||2==e&&(W.Tt?b>=W.Ot:b>W.Ot))return 1;m=g&x,r.Rt[_.Rt+m]={_t:d,ft:s,lt:y-_.Rt}}}if(0!=g)for(p=P_(o-h);0!=g;){for(0!=h&&(g&x)!=m&&(h=0,o=s,y=_.Rt,d=s,p.ft=o),r.Rt[y+(g>>h)]={...p},v=1<<o-1;g&v;)v>>=1;0!=v?(g&=v-1,g+=v):g=0}return _.Rt+=b,i.Rt=s,0}function Gn(e,t,n,r,i,f,_,l,o){let a;if(o?e[t]<l:e[t]+1<l)a=pe(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;a=pe(_[i],n-r,f[i])}else{let i=o?e[t]:e[t]-l;a=pe(_[i],n-r,f[i])}else a=Jt(n-r);return a}var Vn={Ut:!0,Pt:new v(544),Ft:[],Ht:[]},Jn={Ut:!0,Pt:new v(544),Ft:[],Ht:[]};function Qt(){let e=Je();return e.l=Z_(e,!1),e}function Ke(e){let t;return!(e&&(t=e.l,!(!t||t.o!=e||t.Nt&&(t.ot<16191||t.ot>16209)||!t.Nt&&(t.ot<16180||t.ot>16211))))}function Qn(e){let t;return Ke(e)?-2:(t=e.l,e.total_in=e.total_out=t.wt=0,e.msg="",t.F&&(e.i=1&t.F),t.ot=t.Nt?16191:16180,t.ut=!1,t.ct=!1,t.st=-1,t.dt=t.Nt?65536:32768,delete t.H,t.p=0,t.I=0,t.et=t.zt,t.tt=t.zt,t.It=t.zt,t.it=!0,t.Zt=-1,0)}function $n(e){let t;return Ke(e)?-2:(t=e.l,t.h=0,t.k=0,t.m=0,Qn(e))}function er(e,t){let n,r;if(Ke(e))return-2;if(r=e.l,t<0){if(t<-16)return-2;n=0,r.Nt=-16==t,t=-t}else n=5+(t>>4),r.Nt=!1,t<48&&(t&=15);let i=r.Nt?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.v!=t&&(r.u=Z),r.F=n,r.v=t,$n(e))}function $t(e,t){let n,r;if(!e)return-2;e.msg="";let i=-16==t;return r=Z_(e,i),e.l=r,r.o=e,r.ot=i?16191:16180,n=er(e,t),n}function _r(e){let t=e.Nt?Jn:Vn,n={Rt:0};if(t.Ut){let r,i,f;for(r=0;r<144;)e.Lt[r++]=8;for(;r<256;)e.Lt[r++]=9;for(;r<280;)e.Lt[r++]=7;for(;r<288;)e.Lt[r++]=8;for(let e=0;e<544;e++)t.Pt[e]=pe();f=t.Pt,t.Ft=f,i=9;let _={Rt:f},l={Rt:i},o={Rt:0};for(Oe(1,e.Lt,288,_,l,e.Mt,o,e.Nt),f=_.Rt,i=l.Rt,e.Et=o.Rt,r=0;r<32;)e.Lt[r++]=5;i=5;let a=o.Rt,u={Rt:f},c={Rt:i};n.Rt=a,Oe(2,e.Lt,32,u,c,e.Mt,n,e.Nt),t.Ht=f.slice(a),t.Ut=!1}e.et=t.Ft,e.nt=9,e.tt=t.Ht,e.rt=5,e.Et=n.Rt}function tr(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new x(1<<r.v),r.u)))return 1;if(0==r.h&&(r.h=1<<r.v,r.m=0,r.k=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.k=r.h;else{let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.k=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.k<r.h&&(r.k+=e))}return 0}var x_=class extends z{constructor(){super("Need more input")}};function en(e,t){let n,r,i,f,_,l,o,a,u,c,s,d,h,w,b,g,v,k=new x(4);if(Ke(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;l=0,a=0,o=0,u=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ot&&(n.ot=16192),L(),c=l,s=o,v=0;try{for(;;)switch(n.ot){case 16180:if(0==n.F){n.ot=16192;break}if(V(16),2&n.F&&35615==a){0==n.v&&(n.v=15),n.ht=W(0),n.ht=y(n.ht,a),E(),n.ot=16181;break}if(n.H&&(n.H.Yt=-1),!(1&n.F)||((Q(8)<<8)+(a>>8))%31){e.msg="incorrect header check",n.ot=16209;break}if(8!=Q(4)){e.msg="unknown compression method",n.ot=16209;break}if(S(4),g=Q(4)+8,0==n.v&&(n.v=g),g>15||g>n.v){e.msg="invalid window size",n.ot=16209;break}n.dt=1<<g,n.st=0,e.i=n.ht=se(0),n.ot=512&a?16189:16191,E();break;case 16181:if(V(16),n.st=a,8!=(255&n.st)){e.msg="unknown compression method",n.ot=16209;break}if(57344&n.st){e.msg="unknown header flags set",n.ot=16209;break}n.H&&(n.H.Ye=a>>8&1),512&n.st&&4&n.F&&(n.ht=y(n.ht,a)),E(),n.ot=16182;case 16182:V(32),n.H&&(n.H.Ce=a),512&n.st&&4&n.F&&(n.ht=I(n.ht,a)),E(),n.ot=16183;case 16183:V(16),n.H&&(n.H.Xt=255&a,n.H.je=a>>8),512&n.st&&4&n.F&&(n.ht=y(n.ht,a)),E(),n.ot=16184;case 16184:1024&n.st?(V(16),n.bt=a,n.H&&(n.H.Ge=a),512&n.st&&4&n.F&&(n.ht=y(n.ht,a)),E()):n.H&&(n.H.Xe=Z),n.ot=16185;case 16185:if(1024&n.st&&(d=n.bt,d>l&&(d=l),d&&(n.H&&n.H.Xe&&n.H.Jt&&(g=n.H.Ge-n.bt)<n.H.Jt&&M(n.H.Xe,g,r,i,d),512&n.st&&4&n.F&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,n.bt-=d),n.bt))return m();n.bt=0,n.ot=16186;case 16186:if(2048&n.st){if(0==l)return m();d=0;do{g=r[i+d++],n.H&&n.H.Kt&&n.bt<n.H.Kt&&(n.H.Je[n.bt++]=g)}while(g&&d<l);if(512&n.st&&4&n.F&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,g)return m()}else n.H&&(n.H.Je=Z);n.bt=0,n.ot=16187;case 16187:if(4096&n.st){if(0==l)return m();d=0;do{g=r[i+d++],n.H&&n.H.Ct&&n.bt<n.H.Ct&&(n.H.Ke[n.bt++]=g)}while(g&&d<l);if(512&n.st&&4&n.F&&(n.ht=W(n.ht,r.subarray(i,i+d),d)),l-=d,i+=d,g)return m()}else n.H&&(n.H.Ke=Z);n.ot=16188;case 16188:if(512&n.st){if(V(16),4&n.F&&a!=(65535&n.ht)){e.msg="header crc mismatch",n.ot=16209;break}E()}n.H&&(n.H.He=n.st>>9&1,n.H.Yt=1),e.i=n.ht=W(0),n.ot=16191;break;case 16189:V(32),e.i=n.ht=M_(a),E(),n.ot=16190;case 16190:if(!n.ct)return z(),2;e.i=n.ht=se(0),n.ot=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n.ut){q(),n.ot=16206;break}switch(V(3),n.ut=!!Q(1),S(1),Q(2)){case 0:n.ot=16193;break;case 1:if(_r(n),n.ot=16199,6==t)return S(2),m();break;case 2:n.ot=16196;break;case 3:e.msg="invalid block type",n.ot=16209}S(2);break;case 16193:if(q(),V(32),(65535&a)!=(a>>>16^65535)){e.msg="invalid stored block lengths",n.ot=16209;break}if(n.bt=65535&a,E(),n.ot=16194,6==t)return m();case 16194:n.ot=16195;case 16195:if(d=n.bt,d){if(d>l&&(d=l),d>o&&(d=o),0==d)return m();M(f,_,r,i,d),l-=d,i+=d,o-=d,_+=d,n.bt-=d;break}n.ot=16191;break;case 16196:if(V(14),n.kt=Q(5)+257,S(5),n.xt=Q(5)+1,S(5),n.vt=Q(4)+4,S(4),n.kt>286||!n.Nt&&n.xt>30){e.msg=n.Nt?"too many length":"too many length or distance symbols",n.ot=16209;break}n.yt=0,n.ot=16197;case 16197:for(;n.yt<n.vt;)V(3),n.Lt[Se[n.yt++]]=Q(3),S(3);for(;n.yt<19;)n.Lt[Se[n.yt++]]=0;n.It=n.zt,n.et=n.tt=n.It,n.nt=7;let c={Rt:n.It},k={Rt:n.nt},x={Rt:0};if(v=Oe(0,n.Lt,19,c,k,n.Mt,x,n.Nt),n.It=c.Rt,n.nt=k.Rt,v){e.msg="invalid code lengths set",n.ot=16209;break}n.yt=0,n.ot=16198;case 16198:for(;n.yt<n.kt+n.xt;){for(;w=n.et[Q(n.nt)],!(w.ft<=u);)N();if(w.lt<16)S(w.ft),n.Lt[n.yt++]=w.lt;else{if(16==w.lt){if(V(w.ft+2),S(w.ft),0==n.yt){e.msg="invalid bit length repeat",n.ot=16209;break}g=n.Lt[n.yt-1],d=3+Q(2),S(2)}else 17==w.lt?(V(w.ft+3),S(w.ft),g=0,d=3+Q(3),S(3)):(V(w.ft+7),S(w.ft),g=0,d=11+Q(7),S(7));if(n.yt+d>n.kt+n.xt){e.msg="invalid bit length repeat",n.ot=16209;break}for(;d--;)n.Lt[n.yt++]=g}}if(16209==n.ot)break;if(0==n.Lt[256]){e.msg="invalid code -- missing end-of-block",n.ot=16209;break}n.It=n.zt,n.nt=9;let A={Rt:n.It},$={Rt:n.nt},D={Rt:0};v=Oe(1,n.Lt,n.kt,A,$,n.Mt,D,n.Nt),n.It=A.Rt,n.nt=$.Rt;let O=D.Rt;if(n.et=n.It.slice(0,O),v){e.msg="invalid literal/lengths set",n.ot=16209;break}n.rt=6;let T=n.Lt.subarray(n.kt,n.kt+n.xt),B={Rt:n.It},R={Rt:n.rt},U={Rt:O};if(v=Oe(2,T,n.xt,B,R,n.Mt,U,n.Nt),n.It=B.Rt,n.rt=R.Rt,n.tt=n.It.slice(O),v){e.msg="invalid distances set",n.ot=16209;break}if(n.ot=16199,6==t)return m();case 16199:n.ot=16200;case 16200:if(!n.Nt&&l>=6&&o>=258){z(),Vt(e,s),L(),16191==n.ot&&(n.Zt=-1);break}for(n.Zt=0;w=n.et[Q(n.nt)],!(w.ft<=u);)N();if(w._t&&!(240&w._t)){for(b=w;w=n.et[b.lt+(Q(b.ft+b._t)>>b.ft)],!(b.ft+w.ft<=u);)N();S(b.ft),n.Zt+=b.ft}if(S(w.ft),n.Zt+=w.ft,n.bt=w.lt,0==w._t){n.ot=16205;break}if(32&w._t){n.Zt=-1,n.ot=16191;break}if(64&w._t){e.msg="invalid literal/length code",n.ot=16209;break}n.Xe=w._t&(n.Nt?31:15),n.ot=16201;case 16201:n.Xe&&(V(n.Xe),n.bt+=Q(n.Xe),S(n.Xe),n.Zt+=n.Xe),n.Wt=n.bt,n.ot=16202;case 16202:for(;w=n.tt[Q(n.rt)],!(w.ft<=u);)N();if(!(240&w._t)){for(b=w;w=n.tt[b.lt+(Q(b.ft+b._t)>>b.ft)],!(b.ft+w.ft<=u);)N();S(b.ft),n.Zt+=b.ft}if(S(w.ft),n.Zt+=w.ft,64&w._t){e.msg="invalid distance code",n.ot=16209;break}n.gt=w.lt,n.Xe=15&w._t,n.ot=16203;case 16203:n.Xe&&(V(n.Xe),n.gt+=Q(n.Xe),S(n.Xe),n.Zt+=n.Xe),n.ot=16204;case 16204:if(0==o)return m();if(d=s-o,n.gt>d){if(d=n.gt-d,d>n.k&&n.it){e.msg="invalid distance too far back",n.ot=16209;break}d>n.m?(d-=n.m,h=n.h-d):h=n.m-d,d>n.bt&&(d=n.bt),d>o&&(d=o);for(let e=0;e<d;++e)f[_]=255&n.u[h],++_,++h}else{h=_-n.gt,d=n.bt,d>o&&(d=o);for(let e=0;e<d;++e)f[_]=f[h],++_,++h}d>o&&(d=o),o-=d,n.bt-=d,0==n.bt&&(n.ot=16200);break;case 16205:if(0==o)return m();f[_++]=n.bt,o--,n.ot=16200;break;case 16206:if(n.F){if(V(32),s-=o,e.total_out+=s,n.wt+=s,4&n.F&&s){let t=f.subarray(_-s,_);e.i=n.ht=p(n.ht,t,s)}if(s=o,4&n.F&&(n.st?a:M_(a)>>>0)!=n.ht){e.msg="incorrect data check",n.ot=16209;break}E()}n.ot=16207;case 16207:if(n.F&&n.st){if(V(32),4&n.F&&a!=(4294967295&n.wt)){e.msg="incorrect length check",n.ot=16209;break}E()}n.ot=16208;case 16208:return v=1,m();case 16209:return v=-3,m();case 16210:return-4;default:return-2}}catch(e){if(e instanceof x_)return m();throw e}function m(){if(z(),n.h||s!=e.avail_out&&n.ot<16209&&(n.Nt?n.ot<16208:n.ot<16206)||4!=t){let t=s-e.avail_out;if(tr(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ot=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.wt+=s,4&n.F&&s&&(e.i=n.ht=p(n.ht,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.I+(n.ut?64:0)+(16191==n.ot?128:0)+(16199==n.ot||16194==n.ot?256:0),(0==c&&0==s&&0==v||4==t&&0==v)&&(v=-5),v}function p(e,t,r){return n.st?W(e,t,r):se(e,t,r)}function y(e,t){return k[0]=255&t,k[1]=t>>>8&255,W(e,k,2)>>>0}function I(e,t){return k[0]=255&t,k[1]=t>>>8&255,k[2]=t>>>16&255,k[3]=t>>>24&255,W(e,k,4)>>>0}function L(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,a=n.p,u=n.I}function z(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=a,n.I=u}function E(){a=0,u=0}function N(){if(0==l)throw new x_;l--,a+=(255&r[i])<<u,i++,a>>>=0,u+=8}function V(e){for(;u<e;)N()}function Q(e){return a&(1<<e)-1}function S(e){a>>>=e,u-=e}function q(){a>>>=7&u,u-=7&u}}function _n(e){return Ke(e)?-2:0}var X_=65536,nr=32768,Y_=class{constructor(e=16,t=X_){this.jt=[],this.Gt=e;for(let n=0;n<N.min(e,4);n++)this.jt.push(new x(t))}acquire(e=X_){for(let t=this.jt.length-1;t>=0;t--){let n=this.jt[t];if(n.length>=e)return this.jt.splice(t,1),n}return new x(e)}release(e){this.jt.length<this.Gt&&this.jt.push(e)}};function tn(e){let t=new Y_(32,X_),n=null;function r(e){try{t.release(e)}catch{}}return new U({start(){},transform(i,f){if(!n){let t=e.en(),r=e.tn(t);if(0!=r&&0!=r)throw new z("init failed: "+r);n={o:t}}let _=n.o,l=0;for(;l<i.length;){let n=N.min(i.length-l,nr),o=i.subarray(l,l+n);for(_.next_in=o,_.next_in_index=0,_.avail_in=o.length;_.avail_in>0;){let n=t.acquire(),i=!1;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let r=e.nn(_,0),l=n.length-_.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};i=!0,f.enqueue(r)}if(0!=r&&1!=r)throw new z("process error: "+r)}finally{i||r(n)}}l+=n}},flush(i){if(!n)return;let f=n.o;for(;;){let n=t.acquire(),_=!1;try{f.next_out=n,f.next_out_index=0,f.avail_out=n.length;let r=e.nn(f,4),l=n.length-f.avail_out;if(l>0){let e=!1,r={rn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n))}};_=!0,i.enqueue(r)}if(1==r)break;if(0!=r)throw new z("finalization error: "+r)}finally{_||r(n)}}let _=e.fn(f);if(0!=_&&0!=_)throw new z("end failed: "+_)}})}function nn(){return new U({start(){},transform(e,t){try{t.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}function rr(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return tn({en:()=>yt(),tn:e=>It(e,r,8,n,8,0),nn:kt,fn:F_})}function ar(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return tn({en:()=>Qt(),tn:e=>$t(e,t),nn:en,fn:_n})}var p_=class{constructor(e="deflate",t){let n=rr(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(nn())}},S_=class{constructor(e="deflate"){let t=ar(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(nn())}};export{p_ as CompressionStream,p_ as CompressionStreamZlib,S_ as DecompressionStream,S_ as DecompressionStreamZlib};
|
|
@@ -72,12 +72,10 @@ function arrayBufferFromDataURI(dataURI) {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export {
|
|
75
|
-
setWasmExports,
|
|
76
75
|
CompressionStreamZlib,
|
|
77
76
|
DecompressionStreamZlib
|
|
78
77
|
} from "./zlib-streams.js";
|
|
79
78
|
export {
|
|
80
79
|
initModule,
|
|
81
|
-
resetWasmModule
|
|
82
|
-
initializedModule
|
|
80
|
+
resetWasmModule
|
|
83
81
|
};
|
|
Binary file
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
8
|
+
this list of conditions and the following disclaimer.
|
|
9
|
+
|
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
notice, this list of conditions and the following disclaimer in
|
|
12
|
+
the documentation and/or other materials provided with the distribution.
|
|
13
|
+
|
|
14
|
+
3. The names of the authors may not be used to endorse or promote products
|
|
15
|
+
derived from this software without specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
|
|
18
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
|
|
20
|
+
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
21
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
22
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
23
|
+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
26
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
*/
|
|
28
|
+
const BASE64_TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
29
|
+
|
|
30
|
+
export function base64Decode(b64) {
|
|
31
|
+
b64 = String(b64).replace(/[^A-Za-z0-9+/=]/g, "");
|
|
32
|
+
const len = b64.length;
|
|
33
|
+
const out = [];
|
|
34
|
+
for (let i = 0; i < len; i += 4) {
|
|
35
|
+
const a = BASE64_TABLE.indexOf(b64[i]);
|
|
36
|
+
const b = BASE64_TABLE.indexOf(b64[i + 1]);
|
|
37
|
+
const c = BASE64_TABLE.indexOf(b64[i + 2]);
|
|
38
|
+
const d = BASE64_TABLE.indexOf(b64[i + 3]);
|
|
39
|
+
const n = (a << 18) | (b << 12) | ((c & 63) << 6) | (d & 63);
|
|
40
|
+
out.push((n >> 16) & 0xff);
|
|
41
|
+
if (b64[i + 2] !== "=") {
|
|
42
|
+
out.push((n >> 8) & 0xff);
|
|
43
|
+
}
|
|
44
|
+
if (b64[i + 3] !== "=") {
|
|
45
|
+
out.push(n & 0xff);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return new Uint8Array(out);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function base64Encode(bytes) {
|
|
52
|
+
let out = "";
|
|
53
|
+
const len = bytes.length;
|
|
54
|
+
let i = 0;
|
|
55
|
+
for (; i + 2 < len; i += 3) {
|
|
56
|
+
const n = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
|
57
|
+
out += BASE64_TABLE[(n >> 18) & 63] + BASE64_TABLE[(n >> 12) & 63] + BASE64_TABLE[(n >> 6) & 63] + BASE64_TABLE[n & 63];
|
|
58
|
+
}
|
|
59
|
+
const rem = len - i;
|
|
60
|
+
if (rem === 1) {
|
|
61
|
+
const n = bytes[i] << 16;
|
|
62
|
+
out += BASE64_TABLE[(n >> 18) & 63] + BASE64_TABLE[(n >> 12) & 63] + "==";
|
|
63
|
+
} else if (rem === 2) {
|
|
64
|
+
const n = (bytes[i] << 16) | (bytes[i + 1] << 8);
|
|
65
|
+
out += BASE64_TABLE[(n >> 18) & 63] + BASE64_TABLE[(n >> 12) & 63] + BASE64_TABLE[(n >> 6) & 63] + "=";
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
8
|
+
this list of conditions and the following disclaimer.
|
|
9
|
+
|
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
notice, this list of conditions and the following disclaimer in
|
|
12
|
+
the documentation and/or other materials provided with the distribution.
|
|
13
|
+
|
|
14
|
+
3. The names of the authors may not be used to endorse or promote products
|
|
15
|
+
derived from this software without specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
|
|
18
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
|
|
20
|
+
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
21
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
22
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
23
|
+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
26
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/* global Response, ReadableStream, WritableStream, TransformStream */
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
createBlobTempStream
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const DEFAULT_THRESHOLD = 1024 * 1024;
|
|
36
|
+
|
|
37
|
+
function createBlobTempStream(options = {}) {
|
|
38
|
+
const {
|
|
39
|
+
thresholdBytes = DEFAULT_THRESHOLD
|
|
40
|
+
} = options;
|
|
41
|
+
return function () {
|
|
42
|
+
const memoryChunks = [];
|
|
43
|
+
let bufferedSize = 0;
|
|
44
|
+
let spilled = false;
|
|
45
|
+
let blobWriter, blobPromise, blobReader;
|
|
46
|
+
|
|
47
|
+
async function spillToBlob() {
|
|
48
|
+
const transformStream = new TransformStream();
|
|
49
|
+
blobPromise = new Response(transformStream.readable).blob();
|
|
50
|
+
blobWriter = transformStream.writable.getWriter();
|
|
51
|
+
spilled = true;
|
|
52
|
+
for (const chunk of memoryChunks) {
|
|
53
|
+
await blobWriter.write(chunk);
|
|
54
|
+
}
|
|
55
|
+
memoryChunks.length = 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const writable = new WritableStream({
|
|
59
|
+
async write(chunk) {
|
|
60
|
+
if (spilled) {
|
|
61
|
+
await blobWriter.write(chunk);
|
|
62
|
+
} else {
|
|
63
|
+
memoryChunks.push(chunk);
|
|
64
|
+
bufferedSize += chunk.length;
|
|
65
|
+
if (bufferedSize > thresholdBytes) {
|
|
66
|
+
await spillToBlob();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
async close() {
|
|
71
|
+
if (blobWriter) {
|
|
72
|
+
await blobWriter.close();
|
|
73
|
+
blobWriter = null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
let memoryIndex = 0;
|
|
79
|
+
const readable = new ReadableStream({
|
|
80
|
+
async pull(controller) {
|
|
81
|
+
if (spilled) {
|
|
82
|
+
if (!blobReader) {
|
|
83
|
+
const blob = await blobPromise;
|
|
84
|
+
blobReader = blob.stream().getReader();
|
|
85
|
+
}
|
|
86
|
+
const { value, done } = await blobReader.read();
|
|
87
|
+
if (done) {
|
|
88
|
+
controller.close();
|
|
89
|
+
} else {
|
|
90
|
+
controller.enqueue(value);
|
|
91
|
+
}
|
|
92
|
+
} else if (memoryIndex < memoryChunks.length) {
|
|
93
|
+
controller.enqueue(memoryChunks[memoryIndex++]);
|
|
94
|
+
} else {
|
|
95
|
+
controller.close();
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
async cancel(reason) {
|
|
99
|
+
if (blobReader) {
|
|
100
|
+
await blobReader.cancel(reason);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}, { highWaterMark: 0 });
|
|
104
|
+
async function dispose() {
|
|
105
|
+
if (blobWriter) {
|
|
106
|
+
try {
|
|
107
|
+
await blobWriter.abort();
|
|
108
|
+
} catch {
|
|
109
|
+
// ignored
|
|
110
|
+
}
|
|
111
|
+
blobWriter = null;
|
|
112
|
+
}
|
|
113
|
+
if (blobPromise) {
|
|
114
|
+
blobPromise.catch(() => {
|
|
115
|
+
// ignored
|
|
116
|
+
});
|
|
117
|
+
blobPromise = null;
|
|
118
|
+
}
|
|
119
|
+
memoryChunks.length = 0;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return { writable, readable, dispose };
|
|
123
|
+
};
|
|
124
|
+
}
|
|
@@ -38,7 +38,6 @@ function decodeText(value, encoding) {
|
|
|
38
38
|
if (encoding && encoding.trim().toLowerCase() == "cp437") {
|
|
39
39
|
return decodeCP437(value);
|
|
40
40
|
} else {
|
|
41
|
-
// ignoreBOM keeps a leading U+FEFF in filenames/comments instead of dropping it
|
|
42
41
|
return new TextDecoder(encoding, { ignoreBOM: true }).decode(value);
|
|
43
42
|
}
|
|
44
43
|
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
8
|
+
this list of conditions and the following disclaimer.
|
|
9
|
+
|
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
11
|
+
notice, this list of conditions and the following disclaimer in
|
|
12
|
+
the documentation and/or other materials provided with the distribution.
|
|
13
|
+
|
|
14
|
+
3. The names of the authors may not be used to endorse or promote products
|
|
15
|
+
derived from this software without specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
|
|
18
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
|
|
20
|
+
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
21
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
22
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
23
|
+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
26
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
*/
|
|
28
|
+
const MAX_CODE_LENGTH = 15;
|
|
29
|
+
const END_OF_BLOCK = 256;
|
|
30
|
+
const LENGTH_BASES = [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];
|
|
31
|
+
const LENGTH_EXTRA_BITS = [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];
|
|
32
|
+
const DISTANCE_BASES = [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];
|
|
33
|
+
const DISTANCE_EXTRA_BITS = [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];
|
|
34
|
+
const CODE_LENGTH_CODE_ORDER = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
|
|
35
|
+
const FIXED_LITERAL_LENGTHS = new Uint8Array(288);
|
|
36
|
+
FIXED_LITERAL_LENGTHS.fill(8, 0, 144);
|
|
37
|
+
FIXED_LITERAL_LENGTHS.fill(9, 144, 256);
|
|
38
|
+
FIXED_LITERAL_LENGTHS.fill(7, 256, 280);
|
|
39
|
+
FIXED_LITERAL_LENGTHS.fill(8, 280, 288);
|
|
40
|
+
const FIXED_DISTANCE_LENGTHS = new Uint8Array(30).fill(5);
|
|
41
|
+
|
|
42
|
+
export function inflateRaw(input) {
|
|
43
|
+
let inputIndex = 0;
|
|
44
|
+
let bitBuffer = 0;
|
|
45
|
+
let bitCount = 0;
|
|
46
|
+
let output = new Uint8Array(1024);
|
|
47
|
+
let outputLength = 0;
|
|
48
|
+
let lastBlock = 0;
|
|
49
|
+
while (!lastBlock) {
|
|
50
|
+
lastBlock = readBits(1);
|
|
51
|
+
const blockType = readBits(2);
|
|
52
|
+
if (blockType == 0) {
|
|
53
|
+
copyStoredBlock();
|
|
54
|
+
} else if (blockType == 1) {
|
|
55
|
+
inflateBlock(buildHuffmanTable(FIXED_LITERAL_LENGTHS), buildHuffmanTable(FIXED_DISTANCE_LENGTHS));
|
|
56
|
+
} else if (blockType == 2) {
|
|
57
|
+
inflateBlock(...readDynamicTables());
|
|
58
|
+
} else {
|
|
59
|
+
throw new Error("invalid deflate block type");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return output.subarray(0, outputLength);
|
|
63
|
+
|
|
64
|
+
function readByte() {
|
|
65
|
+
if (inputIndex >= input.length) {
|
|
66
|
+
throw new Error("unexpected end of deflate data");
|
|
67
|
+
}
|
|
68
|
+
return input[inputIndex++];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function readBits(count) {
|
|
72
|
+
while (bitCount < count) {
|
|
73
|
+
bitBuffer |= readByte() << bitCount;
|
|
74
|
+
bitCount += 8;
|
|
75
|
+
}
|
|
76
|
+
const value = bitBuffer & ((1 << count) - 1);
|
|
77
|
+
bitBuffer >>>= count;
|
|
78
|
+
bitCount -= count;
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function copyStoredBlock() {
|
|
83
|
+
bitBuffer = 0;
|
|
84
|
+
bitCount = 0;
|
|
85
|
+
const length = readByte() | (readByte() << 8);
|
|
86
|
+
inputIndex += 2;
|
|
87
|
+
ensureOutput(outputLength + length);
|
|
88
|
+
for (let indexByte = 0; indexByte < length; indexByte++) {
|
|
89
|
+
output[outputLength++] = readByte();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function inflateBlock(literalTable, distanceTable) {
|
|
94
|
+
let symbol = decodeSymbol(literalTable);
|
|
95
|
+
while (symbol != END_OF_BLOCK) {
|
|
96
|
+
if (symbol < END_OF_BLOCK) {
|
|
97
|
+
ensureOutput(outputLength + 1);
|
|
98
|
+
output[outputLength++] = symbol;
|
|
99
|
+
} else {
|
|
100
|
+
const lengthIndex = symbol - 257;
|
|
101
|
+
const length = LENGTH_BASES[lengthIndex] + readBits(LENGTH_EXTRA_BITS[lengthIndex]);
|
|
102
|
+
const distanceIndex = decodeSymbol(distanceTable);
|
|
103
|
+
const distance = DISTANCE_BASES[distanceIndex] + readBits(DISTANCE_EXTRA_BITS[distanceIndex]);
|
|
104
|
+
ensureOutput(outputLength + length);
|
|
105
|
+
const copyStart = outputLength - distance;
|
|
106
|
+
for (let indexByte = 0; indexByte < length; indexByte++) {
|
|
107
|
+
output[outputLength++] = output[copyStart + indexByte];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
symbol = decodeSymbol(literalTable);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function readDynamicTables() {
|
|
115
|
+
const literalLengthCount = readBits(5) + 257;
|
|
116
|
+
const distanceLengthCount = readBits(5) + 1;
|
|
117
|
+
const codeLengthCount = readBits(4) + 4;
|
|
118
|
+
const codeLengthLengths = new Uint8Array(19);
|
|
119
|
+
for (let indexCode = 0; indexCode < codeLengthCount; indexCode++) {
|
|
120
|
+
codeLengthLengths[CODE_LENGTH_CODE_ORDER[indexCode]] = readBits(3);
|
|
121
|
+
}
|
|
122
|
+
const codeLengthTable = buildHuffmanTable(codeLengthLengths);
|
|
123
|
+
const lengths = new Uint8Array(literalLengthCount + distanceLengthCount);
|
|
124
|
+
let indexLength = 0;
|
|
125
|
+
while (indexLength < lengths.length) {
|
|
126
|
+
const symbol = decodeSymbol(codeLengthTable);
|
|
127
|
+
if (symbol < 16) {
|
|
128
|
+
lengths[indexLength++] = symbol;
|
|
129
|
+
} else if (symbol == 16) {
|
|
130
|
+
const previousLength = lengths[indexLength - 1];
|
|
131
|
+
let repeatCount = readBits(2) + 3;
|
|
132
|
+
while (repeatCount--) {
|
|
133
|
+
lengths[indexLength++] = previousLength;
|
|
134
|
+
}
|
|
135
|
+
} else {
|
|
136
|
+
const repeatCount = symbol == 17 ? readBits(3) + 3 : readBits(7) + 11;
|
|
137
|
+
indexLength += repeatCount;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return [
|
|
141
|
+
buildHuffmanTable(lengths.subarray(0, literalLengthCount)),
|
|
142
|
+
buildHuffmanTable(lengths.subarray(literalLengthCount))
|
|
143
|
+
];
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function decodeSymbol(table) {
|
|
147
|
+
const { lengthCounts, symbols } = table;
|
|
148
|
+
let code = 0;
|
|
149
|
+
let first = 0;
|
|
150
|
+
let index = 0;
|
|
151
|
+
for (let length = 1; length <= MAX_CODE_LENGTH; length++) {
|
|
152
|
+
code |= readBits(1);
|
|
153
|
+
const count = lengthCounts[length];
|
|
154
|
+
if (code - first < count) {
|
|
155
|
+
return symbols[index + (code - first)];
|
|
156
|
+
}
|
|
157
|
+
index += count;
|
|
158
|
+
first = (first + count) << 1;
|
|
159
|
+
code <<= 1;
|
|
160
|
+
}
|
|
161
|
+
throw new Error("invalid huffman code");
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function ensureOutput(length) {
|
|
165
|
+
if (output.length < length) {
|
|
166
|
+
let newLength = output.length * 2;
|
|
167
|
+
while (newLength < length) {
|
|
168
|
+
newLength *= 2;
|
|
169
|
+
}
|
|
170
|
+
const newOutput = new Uint8Array(newLength);
|
|
171
|
+
newOutput.set(output.subarray(0, outputLength));
|
|
172
|
+
output = newOutput;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function buildHuffmanTable(codeLengths) {
|
|
178
|
+
const lengthCounts = new Uint16Array(MAX_CODE_LENGTH + 1);
|
|
179
|
+
for (const length of codeLengths) {
|
|
180
|
+
lengthCounts[length]++;
|
|
181
|
+
}
|
|
182
|
+
lengthCounts[0] = 0;
|
|
183
|
+
const offsets = new Uint16Array(MAX_CODE_LENGTH + 2);
|
|
184
|
+
for (let length = 1; length <= MAX_CODE_LENGTH; length++) {
|
|
185
|
+
offsets[length + 1] = offsets[length] + lengthCounts[length];
|
|
186
|
+
}
|
|
187
|
+
const symbols = new Uint16Array(codeLengths.length);
|
|
188
|
+
for (let symbol = 0; symbol < codeLengths.length; symbol++) {
|
|
189
|
+
if (codeLengths[symbol]) {
|
|
190
|
+
symbols[offsets[codeLengths[symbol]]++] = symbol;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return { lengthCounts, symbols };
|
|
194
|
+
}
|