@zip.js/zip.js
Advanced tools
Comparing version 2.3.2 to 2.3.3
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,(function(e){"use strict";const t=256,n=256,r=-2,i=-5;function s(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const a=[0,1,2,3].concat(...s([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function o(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=function(n){const r=e.dyn_tree,i=e.stat_desc.static_tree,s=e.stat_desc.elems;let a,o,c,l=-1;for(n.heap_len=0,n.heap_max=573,a=0;a<s;a++)0!==r[2*a]?(n.heap[++n.heap_len]=l=a,n.depth[a]=0):r[2*a+1]=0;for(;n.heap_len<2;)c=n.heap[++n.heap_len]=l<2?++l:0,r[2*c]=1,n.depth[c]=0,n.opt_len--,i&&(n.static_len-=i[2*c+1]);for(e.max_code=l,a=Math.floor(n.heap_len/2);a>=1;a--)n.pqdownheap(r,a);c=s;do{a=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),o=n.heap[1],n.heap[--n.heap_max]=a,n.heap[--n.heap_max]=o,r[2*c]=r[2*a]+r[2*o],n.depth[c]=Math.max(n.depth[a],n.depth[o])+1,r[2*a+1]=r[2*o+1]=c,n.heap[1]=c++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,a=e.stat_desc.max_length;let o,c,l,d,u,h,f=0;for(d=0;d<=15;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>a&&(d=a,f++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,c>=s&&(u=i[c-s]),h=n[2*c],t.opt_len+=h*(d+u),r&&(t.static_len+=h*(r[2*c+1]+u)));if(0!==f){do{for(d=a-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[a]--,f-=2}while(f>0);for(d=a;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(e,n,r){const i=[];let s,a,o,c=0;for(s=1;s<=15;s++)i[s]=c=c+r[s-1]<<1;for(a=0;a<=n;a++)o=e[2*a+1],0!==o&&(e[2*a]=t(i[o]++,o))}(r,e.max_code,n.bl_count)}}function c(e,t,n,r,i){const s=this;s.static_tree=e,s.extra_bits=t,s.extra_base=n,s.elems=r,s.max_length=i}o._length_code=[0,1,2,3,4,5,6,7].concat(...s([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),o.base_length=[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],o.base_dist=[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],o.d_code=function(e){return e<256?a[e]:a[256+(e>>>7)]},o.extra_lbits=[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],o.extra_dbits=[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],o.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],o.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],c.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],c.static_l_desc=new c(c.static_ltree,o.extra_lbits,257,286,15),c.static_d_desc=new c(c.static_dtree,o.extra_dbits,0,30,15),c.static_bl_desc=new c(null,o.extra_blbits,0,19,7);function l(e,t,n,r,i){const s=this;s.good_length=e,s.max_lazy=t,s.nice_length=n,s.max_chain=r,s.func=i}const d=[new l(0,0,0,0,0),new l(4,4,8,4,1),new l(4,5,16,8,1),new l(4,6,32,32,1),new l(4,4,16,16,2),new l(8,16,32,32,2),new l(8,16,128,128,2),new l(8,32,128,256,2),new l(32,128,258,1024,2),new l(32,258,258,4096,2)],u=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],h=113,f=666,p=258,g=262;function w(e,t,n,r){const i=e[2*t],s=e[2*n];return i<s||i==s&&r[t]<=r[n]}function y(){const e=this;let s,a,l,y,_,m,b,x,A,k,U,v,E,z,R,S,T,D,F,W,I,M,B,C,H,O,P,j,N,L,V,q,K;const G=new o,Z=new o,X=new o;let Y,J,Q,$,ee,te,ne,re;function ie(){let t;for(t=0;t<286;t++)V[2*t]=0;for(t=0;t<30;t++)q[2*t]=0;for(t=0;t<19;t++)K[2*t]=0;V[512]=1,e.opt_len=e.static_len=0,Q=ee=0}function se(e,t){let n,r=-1,i=e[1],s=0,a=7,o=4;0===i&&(a=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;c<=t;c++)n=i,i=e[2*(c+1)+1],++s<a&&n==i||(s<o?K[2*n]+=s:0!==n?(n!=r&&K[2*n]++,K[32]++):s<=10?K[34]++:K[36]++,s=0,r=n,0===i?(a=138,o=3):n==i?(a=6,o=3):(a=7,o=4))}function ae(t){e.pending_buf[e.pending++]=t}function oe(e){ae(255&e),ae(e>>>8&255)}function ce(e,t){let n;const r=t;re>16-r?(n=e,ne|=n<<re&65535,oe(ne),ne=n>>>16-re,re+=r-16):(ne|=e<<re&65535,re+=r)}function le(e,t){const n=2*e;ce(65535&t[n],65535&t[n+1])}function de(e,t){let n,r,i=-1,s=e[1],a=0,o=7,c=4;for(0===s&&(o=138,c=3),n=0;n<=t;n++)if(r=s,s=e[2*(n+1)+1],!(++a<o&&r==s)){if(a<c)do{le(r,K)}while(0!=--a);else 0!==r?(r!=i&&(le(r,K),a--),le(16,K),ce(a-3,2)):a<=10?(le(17,K),ce(a-3,3)):(le(18,K),ce(a-11,7));a=0,i=r,0===s?(o=138,c=3):r==s?(o=6,c=3):(o=7,c=4)}}function ue(){16==re?(oe(ne),ne=0,re=0):re>=8&&(ae(255&ne),ne>>>=8,re-=8)}function he(n,r){let i,s,a;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[Y+Q]=255&r,Q++,0===n?V[2*r]++:(ee++,n--,V[2*(o._length_code[r]+t+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&P>2){for(i=8*Q,s=I-T,a=0;a<30;a++)i+=q[2*a]*(5+o.extra_dbits[a]);if(i>>>=3,ee<Math.floor(Q/2)&&i<Math.floor(s/2))return!0}return Q==J-1}function fe(r,i){let s,a,c,l,d=0;if(0!==Q)do{s=e.pending_buf[$+2*d]<<8&65280|255&e.pending_buf[$+2*d+1],a=255&e.pending_buf[Y+d],d++,0===s?le(a,r):(c=o._length_code[a],le(c+t+1,r),l=o.extra_lbits[c],0!==l&&(a-=o.base_length[c],ce(a,l)),s--,c=o.d_code(s),le(c,i),l=o.extra_dbits[c],0!==l&&(s-=o.base_dist[c],ce(s,l)))}while(d<Q);le(n,r),te=r[513]}function pe(){re>8?oe(ne):re>0&&ae(255&ne),ne=0,re=0}function ge(t,n,r){ce(0+(r?1:0),3),function(t,n,r){pe(),te=8,r&&(oe(n),oe(~n)),e.pending_buf.set(x.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function we(t,n,r){let i,s,a=0;P>0?(G.build_tree(e),Z.build_tree(e),a=function(){let t;for(se(V,G.max_code),se(q,Z.max_code),X.build_tree(e),t=18;t>=3&&0===K[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),i=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=i&&(i=s)):i=s=n+5,n+4<=i&&-1!=t?ge(t,n,r):s==i?(ce(2+(r?1:0),3),fe(c.static_ltree,c.static_dtree)):(ce(4+(r?1:0),3),function(e,t,n){let r;for(ce(e-257,5),ce(t-1,5),ce(n-4,4),r=0;r<n;r++)ce(K[2*o.bl_order[r]+1],3);de(V,e-1),de(q,t-1)}(G.max_code+1,Z.max_code+1,a+1),fe(V,q)),ie(),r&&pe()}function ye(e){we(T>=0?T:-1,I-T,e),T=I,s.flush_pending()}function _e(){let e,t,n,r;do{if(r=A-B-I,0===r&&0===I&&0===B)r=_;else if(-1==r)r--;else if(I>=_+_-g){x.set(x.subarray(_,_+_),0),M-=_,I-=_,T-=_,e=E,n=e;do{t=65535&U[--n],U[n]=t>=_?t-_:0}while(0!=--e);e=_,n=e;do{t=65535&k[--n],k[n]=t>=_?t-_:0}while(0!=--e);r+=_}if(0===s.avail_in)return;e=s.read_buf(x,I+B,r),B+=e,B>=3&&(v=255&x[I],v=(v<<S^255&x[I+1])&R)}while(B<g&&0!==s.avail_in)}function me(e){let t,n,r=H,i=I,s=C;const a=I>_-g?I-(_-g):0;let o=L;const c=b,l=I+p;let d=x[i+s-1],u=x[i+s];C>=N&&(r>>=2),o>B&&(o=B);do{if(t=e,x[t+s]==u&&x[t+s-1]==d&&x[t]==x[i]&&x[++t]==x[i+1]){i+=2,t++;do{}while(x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&i<l);if(n=p-(l-i),i=l-p,n>s){if(M=e,s=n,n>=o)break;d=x[i+s-1],u=x[i+s]}}}while((e=65535&k[e&c])>a&&0!=--r);return s<=B?s:B}function be(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,a=h,y=0,G.dyn_tree=V,G.stat_desc=c.static_l_desc,Z.dyn_tree=q,Z.stat_desc=c.static_d_desc,X.dyn_tree=K,X.stat_desc=c.static_bl_desc,ne=0,re=0,te=8,ie(),function(){A=2*_,U[E-1]=0;for(let e=0;e<E-1;e++)U[e]=0;O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain,I=0,T=0,B=0,D=C=2,W=0,v=0}(),0}e.depth=[],e.bl_count=[],e.heap=[],V=[],q=[],K=[],e.pqdownheap=function(t,n){const r=e.heap,i=r[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&w(t,r[s+1],r[s],e.depth)&&s++,!w(t,i,r[s],e.depth));)r[n]=r[s],n=s,s<<=1;r[n]=i},e.deflateInit=function(t,n,i,s,a,o){return s||(s=8),a||(a=8),o||(o=0),t.msg=null,-1==n&&(n=6),a<1||a>9||8!=s||i<9||i>15||n<0||n>9||o<0||o>2?r:(t.dstate=e,m=i,_=1<<m,b=_-1,z=a+7,E=1<<z,R=E-1,S=Math.floor((z+3-1)/3),x=new Uint8Array(2*_),k=[],U=[],J=1<<a+6,e.pending_buf=new Uint8Array(4*J),l=4*J,$=Math.floor(J/2),Y=3*J,P=n,j=o,be(t))},e.deflateEnd=function(){return 42!=a&&a!=h&&a!=f?r:(e.pending_buf=null,U=null,k=null,x=null,e.dstate=null,a==h?-3:0)},e.deflateParams=function(e,t,n){let i=0;return-1==t&&(t=6),t<0||t>9||n<0||n>2?r:(d[P].func!=d[t].func&&0!==e.total_in&&(i=e.deflate(1)),P!=t&&(P=t,O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain),j=n,i)},e.deflateSetDictionary=function(e,t,n){let i,s=n,o=0;if(!t||42!=a)return r;if(s<3)return 0;for(s>_-g&&(s=_-g,o=n-s),x.set(t.subarray(o,o+s),0),I=s,T=s,v=255&x[0],v=(v<<S^255&x[1])&R,i=0;i<=s-3;i++)v=(v<<S^255&x[i+2])&R,k[i&b]=U[v],U[v]=i;return 0},e.deflate=function(t,o){let p,w,A,z,H;if(o>4||o<0)return r;if(!t.next_out||!t.next_in&&0!==t.avail_in||a==f&&4!=o)return t.msg=u[4],r;if(0===t.avail_out)return t.msg=u[7],i;var N;if(s=t,z=y,y=o,42==a&&(w=8+(m-8<<4)<<8,A=(P-1&255)>>1,A>3&&(A=3),w|=A<<6,0!==I&&(w|=32),w+=31-w%31,a=h,ae((N=w)>>8&255),ae(255&N)),0!==e.pending){if(s.flush_pending(),0===s.avail_out)return y=-1,0}else if(0===s.avail_in&&o<=z&&4!=o)return s.msg=u[7],i;if(a==f&&0!==s.avail_in)return t.msg=u[7],i;if(0!==s.avail_in||0!==B||0!=o&&a!=f){switch(H=-1,d[P].func){case 0:H=function(e){let t,n=65535;for(n>l-5&&(n=l-5);;){if(B<=1){if(_e(),0===B&&0==e)return 0;if(0===B)break}if(I+=B,B=0,t=T+n,(0===I||I>=t)&&(B=I-t,I=t,ye(!1),0===s.avail_out))return 0;if(I-T>=_-g&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:H=function(e){let t,n=0;for(;;){if(B<g){if(_e(),B<g&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[I+2])&R,n=65535&U[v],k[I&b]=U[v],U[v]=I),0!==n&&(I-n&65535)<=_-g&&2!=j&&(D=me(n)),D>=3)if(t=he(I-M,D-3),B-=D,D<=O&&B>=3){D--;do{I++,v=(v<<S^255&x[I+2])&R,n=65535&U[v],k[I&b]=U[v],U[v]=I}while(0!=--D);I++}else I+=D,D=0,v=255&x[I],v=(v<<S^255&x[I+1])&R;else t=he(0,255&x[I]),B--,I++;if(t&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 2:H=function(e){let t,n,r=0;for(;;){if(B<g){if(_e(),B<g&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[I+2])&R,r=65535&U[v],k[I&b]=U[v],U[v]=I),C=D,F=M,D=2,0!==r&&C<O&&(I-r&65535)<=_-g&&(2!=j&&(D=me(r)),D<=5&&(1==j||3==D&&I-M>4096)&&(D=2)),C>=3&&D<=C){n=I+B-3,t=he(I-1-F,C-3),B-=C-1,C-=2;do{++I<=n&&(v=(v<<S^255&x[I+2])&R,r=65535&U[v],k[I&b]=U[v],U[v]=I)}while(0!=--C);if(W=0,D=2,I++,t&&(ye(!1),0===s.avail_out))return 0}else if(0!==W){if(t=he(0,255&x[I-1]),t&&ye(!1),I++,B--,0===s.avail_out)return 0}else W=1,I++,B--}return 0!==W&&(t=he(0,255&x[I-1]),W=0),ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o)}if(2!=H&&3!=H||(a=f),0==H||2==H)return 0===s.avail_out&&(y=-1),0;if(1==H){if(1==o)ce(2,3),le(n,c.static_ltree),ue(),1+te+10-re<9&&(ce(2,3),le(n,c.static_ltree),ue()),te=7;else if(ge(0,0,!1),3==o)for(p=0;p<E;p++)U[p]=0;if(s.flush_pending(),0===s.avail_out)return y=-1,0}}return 4!=o?0:1}}function _(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}_.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new y,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):r},deflateEnd:function(){const e=this;if(!e.dstate)return r;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):r},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):r},read_buf:function(e,t,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),t),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const m={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},b=Object.assign({},m);function x(e){if(void 0!==e.chunkSize&&(b.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(b.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(b.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(b.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(b.Deflate=e.Deflate),void 0!==e.Inflate&&(b.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.inflate=e.workerScripts.inflate}}}const A="HTTP error ",k="HTTP Range not supported",U="text/plain",v="Content-Length",E="Accept-Ranges",z="HEAD",R="GET",S="bytes";class T{constructor(){this.size=0}init(){this.initialized=!0}}class D extends T{}class F extends T{writeUint8Array(e){this.size+=e.length}}class W extends D{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((r,i)=>{n.onload=e=>r(new Uint8Array(e.target.result)),n.onerror=()=>i(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class I extends F{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class M extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest){const e=await C(z,this.url,this.options);if(this.size=Number(e.headers.get(v)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(E)!=S)throw new Error(k);void 0===this.size&&await B(this,this.options)}else await B(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await C(R,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(k);return new Uint8Array(await n.arrayBuffer())}return this.data||await B(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function B(e,t){const n=await C(R,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function C(e,t,n,r){r=Object.assign({},n.headers,r);const i=await fetch(t,Object.assign({},n,{method:e,headers:r}));if(i.status<400)return i;throw new Error(A+(i.statusText||i.status))}class H extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>P(z,this.url,(n=>{this.size=Number(n.getResponseHeader(v)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(E)==S?e():t(new Error(k)):void 0===this.size?O(this,this.url).then((()=>e())).catch(t):e()}),t)));await O(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await O(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,r)=>P(R,this.url,(e=>n(new Uint8Array(e.response))),r,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(k)}}function O(e,t){return new Promise(((n,r)=>P(R,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),r)))}function P(e,t,n,r,i=[]){const s=new XMLHttpRequest;return s.addEventListener("load",(()=>{s.status<400?n(s):r(A+(s.statusText||s.status))}),!1),s.addEventListener("error",r,!1),s.open(e,t),i.forEach((e=>s.setRequestHeader(e[0],e[1]))),s.responseType="arraybuffer",s.send(),s}class j extends D{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new H(e,t):this.reader=new M(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function N(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const L=4294967295,V=65535,q=67324752,K=134695760,G=33639248,Z=101010256,X=101075792,Y=117853008,J=21589,Q="/",$=new Date(2107,11,31),ee=new Date(1980,0,1),te=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;te[e]=t}class ne{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;n<r;n++)t=t>>>8^te[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const re={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=re.getPartial(n);return 32===r?e.concat(t):re._shiftRight(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+re.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=re.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let i=0;i<e.length;i++)r.push(n|e[i]>>>t),n=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=re.getPartial(i);return r.push(re.partial(t+s&31,t+s>32?n:r.pop(),1)),r}},ie={bytes:{fromBits(e){const t=re.bitLength(e)/8,n=new Uint8Array(t);let r;for(let i=0;i<t;i++)0==(3&i)&&(r=e[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3==(3&n)&&(t.push(r),r=0);return 3&n&&t.push(re.partial(8*(3&n),r)),t}}},se={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};se.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=ie.utf8String.toBits(e));const n=t._buffer=re.concat(t._buffer,e),r=t._length,i=t._length=r+re.bitLength(e);if(i>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=i;e+=t.blockSize)t._block(s.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=re.concat(t,[re.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,r=Array(80);for(let t=0;t<16;t++)r[t]=e[t];let i=n[0],s=n[1],a=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const n=t._S(5,i)+t._f(e,s,a,o)+c+r[e]+t._key[Math.floor(e/20)]|0;c=o,o=a,a=t._S(30,s),s=i,i=n}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const ae={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],i=e.length;let s,a,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],s=i;s<4*i+28;s++){let e=a[s-1];(s%i==0||8===i&&s%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%i==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[s]=a[s-i]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=s<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],i=[],s=[];let a,o,c,l;for(let e=0;e<256;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let d=a=0;!n[d];d^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,n[d]=s,r[s]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,h=257*i[s]^16843008*s;for(let n=0;n<4;n++)e[n][d]=h=h<<24^h>>>8,t[n][s]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],r=n.length/4-2,i=[0,0,0,0],s=this._tables[t],a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let u,h,f,p=e[0]^n[0],g=e[t?3:1]^n[1],w=e[2]^n[2],y=e[t?1:3]^n[3],_=4;for(let e=0;e<r;e++)u=a[p>>>24]^o[g>>16&255]^c[w>>8&255]^l[255&y]^n[_],h=a[g>>>24]^o[w>>16&255]^c[y>>8&255]^l[255&p]^n[_+1],f=a[w>>>24]^o[y>>16&255]^c[p>>8&255]^l[255&g]^n[_+2],y=a[y>>>24]^o[p>>16&255]^c[g>>8&255]^l[255&w]^n[_+3],_+=4,p=u,g=h,w=f;for(let e=0;e<4;e++)i[t?3&-e:e]=d[p>>>24]<<24^d[g>>16&255]<<16^d[w>>8&255]<<8^d[255&y]^n[_++],u=p,p=g,g=w,w=y,y=u;return i}}},oe={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const i=re.bitLength(t);for(let i=0;i<r;i+=4){this.incCounter(n);const r=e.encrypt(n);t[i]^=r[0],t[i+1]^=r[1],t[i+2]^=r[2],t[i+3]^=r[3]}return re.clamp(t,i)}}},ce={hmacSha1:class{constructor(e){const t=this,n=t._hash=se.sha1,r=[[],[]],i=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>i&&(e=n.hash(e));for(let t=0;t<i;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}}},le="Invalid pasword",de=16,ue={name:"PBKDF2"},he=Object.assign({hash:{name:"HMAC"}},ue),fe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},ue),pe=["deriveBits"],ge=[8,12,16],we=[16,24,32],ye=10,_e=[0,0,0,0],me=crypto.subtle,be=ie.bytes,xe=ae.aes,Ae=oe.ctrGladman,ke=ce.hmacSha1;class Ue{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Se(e,0,ge[t.strength]+2);await async function(e,t,n){await ze(e,n,Se(t,0,ge[e.strength]));const r=Se(t,ge[e.strength]),i=e.keys.passwordVerification;if(i[0]!=r[0]||i[1]!=r[1])throw new Error(le)}(t,n,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication),e=Se(e,ge[t.strength]+2)}return Ee(t,e,new Uint8Array(e.length-ye-(e.length-ye)%de),0,ye,!0)}async flush(){const e=this,t=e.pendingInput,n=Se(t,0,t.length-ye),r=Se(t,t.length-ye);let i=new Uint8Array(0);if(n.length){const t=be.toBits(n);e.hmac.update(t);const r=e.aesCtrGladman.update(t);i=be.fromBits(r)}let s=!0;if(e.signed){const t=Se(be.fromBits(e.hmac.digest()),0,ye);for(let e=0;e<ye;e++)t[e]!=r[e]&&(s=!1)}return{valid:s,data:i}}}class ve{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(ge[e.strength]));return await ze(e,t,n),Re(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication));const r=new Uint8Array(n.length+e.length-e.length%de);return r.set(n,0),Ee(t,e,r,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(be.toBits(e.pendingInput));e.hmac.update(n),t=be.fromBits(n)}const n=Se(be.fromBits(e.hmac.digest()),0,ye);return{data:Re(t,n),signature:n}}}function Ee(e,t,n,r,i,s){const a=t.length-i;let o;for(e.pendingInput.length&&(t=Re(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,a-a%de)),o=0;o<=a-de;o+=de){const i=be.toBits(Se(t,o,o+de));s&&e.hmac.update(i);const a=e.aesCtrGladman.update(i);s||e.hmac.update(a),n.set(be.fromBits(a),o+r)}return e.pendingInput=Se(t,o),n}async function ze(e,t,n){const r=(new TextEncoder).encode(t),i=await me.importKey("raw",r,he,!1,pe),s=await me.deriveBits(Object.assign({salt:n},fe),i,8*(2*we[e.strength]+2)),a=new Uint8Array(s);e.keys={key:be.toBits(Se(a,0,we[e.strength])),authentication:be.toBits(Se(a,we[e.strength],2*we[e.strength])),passwordVerification:Se(a,2*we[e.strength])}}function Re(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Se(e,t,n){return e.subarray(t,n)}const Te=12;class De{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Me(this,e)}async append(e){const t=this;if(t.password){const n=We(t,e.subarray(0,Te));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(le);e=e.subarray(Te)}return We(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Fe{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Me(this,e)}async append(e){const t=this;let n,r;if(t.password){t.password=null;const i=crypto.getRandomValues(new Uint8Array(Te));i[11]=t.passwordVerification,n=new Uint8Array(e.length+i.length),n.set(Ie(t,i),0),r=Te}else n=new Uint8Array(e.length),r=0;return n.set(Ie(t,e),r),n}async flush(){return{data:new Uint8Array(0)}}}function We(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,n[r]);return n}function Ie(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,t[r]);return n}function Me(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new ne(e.keys[0]),e.crcKey2=new ne(e.keys[2]);for(let n=0;n<t.length;n++)Be(e,t.charCodeAt(n))}function Be(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+He(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Ce(e){const t=2|e.keys[2];return He(Math.imul(t,1^t)>>>8)}function He(e){return 255&e}function Oe(e){return 4294967295&e}const Pe="deflate",je="Invalid signature";class Ne{constructor(e,{signature:t,password:n,signed:r,compressed:i,zipCrypto:s,passwordVerification:a,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:r,compressed:i,inflate:i&&new e({chunkSize:c}),crc32:r&&new ne,zipCrypto:s,decrypt:l&&s?new De(n,a):new Ue(n,r,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(je);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(je)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Le{constructor(e,{encrypted:t,signed:n,compressed:r,level:i,zipCrypto:s,password:a,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:r,deflate:r&&new e({level:i||5,chunkSize:l}),crc32:n&&new ne,zipCrypto:s,encrypt:t&&s?new Fe(a,o):new ve(a,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const r=await e.encrypt.flush();t=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Ve="init",qe="append",Ke="flush",Ge="message";var Ze=(e,t,n,r,i,s,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,i(e)}}),s?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-deflate.min.js",document.baseURI).href)),e.worker.addEventListener(Ge,s,!1),e.interface={append:e=>r({type:qe,data:e}),flush:()=>r({type:Ke})});return e.interface;async function r(r){if(!n){const n=e.options,r=e.scripts.slice(1);await i({scripts:r,type:Ve,options:n,config:{chunkSize:t.chunkSize}})}return i(r)}function i(t){const r=e.worker,i=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,r.postMessage(t,[t.data])}catch(e){r.postMessage(t)}else r.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return i}function s(t){const r=t.data;if(n){const t=r.error,i=r.type;if(t){const r=new Error(t.message);r.stack=t.stack,n.reject(r),n=null,e.onTaskFinished()}else if(i==Ve||i==Ke||i==qe){const t=r.data;i==Ke?(n.resolve({data:new Uint8Array(t),signature:r.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,r):function(e,t){const n=function(e,t,n){return t.codecType.startsWith(Pe)?new Le(e,t,n):t.codecType.startsWith("inflate")?new Ne(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,r));let Xe=[],Ye=[];function Je(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}function Qe(e,t){if(e&&e.aborted)throw t.flush(),new Error("Abort error")}async function $e(e,t){return t.length&&await e.writeUint8Array(t),t.length}const et=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp"];class tt{constructor(e){et.forEach((t=>this[t]=e[t]))}}const nt="File already exists",rt="Zip file comment exceeds 64KB",it="File entry comment exceeds 64KB",st="File entry name exceeds 64KB",at="Version exceeds 65535",ot="The strength must equal 1, 2, or 3",ct="Extra field type exceeds 65535",lt="Extra field data exceeds 64KB",dt="Zip64 is not supported",ut=new Uint8Array([7,0,2,0,65,69,3,0,0]);let ht=0;function ft(e,t,n){const r=new FileReader;return new Promise(((i,s)=>{r.onload=e=>i(e.target.result),r.onerror=()=>s(r.error),r.readAsArrayBuffer(t||n?e.slice(t,n):e)}))}function pt(e){if(e)return 10000n*(BigInt(e.getTime())+11644473600000n)}function gt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function wt(e,t,n){e.setUint8(t,n)}function yt(e,t,n){e.setUint16(t,n,!0)}function _t(e,t,n){e.setUint32(t,n,!0)}function mt(e,t,n){e.setBigUint64(t,n,!0)}function bt(e,t,n){e.set(t,n)}function xt(e){return new DataView(e.buffer)}x({Deflate:function(e){const t=new _,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(Math.floor(r/16383)+1);var r;const i=new Uint8Array(n);let s=e?e.level:-1;void 0===s&&(s=-1),t.deflateInit(s),t.next_out=i,this.append=function(e,r){let s,a,o=0,c=0,l=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,s=t.deflate(0),0!=s)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new Uint8Array(i)):d.push(i.slice(0,t.next_out_index))),l+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(a=new Uint8Array(l),d.forEach((function(e){a.set(e,c),c+=e.length}))):a=d[0]||new Uint8Array(0),a}},this.flush=function(){let e,r,s=0,a=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(i.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(a),o.forEach((function(e){r.set(e,s),s+=e.length})),r}}}),e.BlobReader=W,e.BlobWriter=I,e.Data64URIReader=class extends D{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),r=4*Math.floor(e/3),i=atob(this.dataURI.substring(r+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),s=e-3*Math.floor(r/4);for(let e=s;e<s+t;e++)n[e-s]=i.charCodeAt(e);return n}},e.Data64URIWriter=class extends F{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const r=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((r+e.length)/3)-r;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_DUPLICATED_NAME=nt,e.ERR_HTTP_RANGE=k,e.ERR_INVALID_COMMENT=rt,e.ERR_INVALID_ENCRYPTION_STRENGTH=ot,e.ERR_INVALID_ENTRY_COMMENT=it,e.ERR_INVALID_ENTRY_NAME=st,e.ERR_INVALID_EXTRAFIELD_DATA=lt,e.ERR_INVALID_EXTRAFIELD_TYPE=ct,e.ERR_INVALID_VERSION=at,e.ERR_UNSUPPORTED_FORMAT=dt,e.HttpRangeReader=class extends j{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=j,e.Reader=D,e.TextReader=class extends D{constructor(e){super(),this.blobReader=new W(new Blob([e],{type:U}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends F{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:U})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:U})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends D{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends F{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=F,e.ZipWriter=class{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:b,files:new Map,offset:e.size,pendingCompressedSize:0,pendingEntries:[]})}async add(e="",t,n={}){const r=this;if(!(ht<r.config.maxWorkers))return new Promise(((i,s)=>r.pendingEntries.push({name:e,reader:t,options:n,resolve:i,reject:s})));ht++;try{return await async function(e,t,n,r){t=t.trim(),r.directory&&!t.endsWith(Q)?t+=Q:r.directory=t.endsWith(Q);if(e.files.has(t))throw new Error(nt);const i=(new TextEncoder).encode(t);if(i.length>V)throw new Error(st);const s=r.comment||"",a=(new TextEncoder).encode(s);if(a.length>V)throw new Error(it);const o=e.options.version||r.version||0;if(o>V)throw new Error(at);const c=gt(e,r,"lastModDate")||new Date,l=gt(e,r,"lastAccessDate"),d=gt(e,r,"creationDate"),u=gt(e,r,"password"),h=gt(e,r,"encryptionStrength")||3,f=gt(e,r,"zipCrypto");if(void 0!==u&&void 0!==h&&(h<1||h>3))throw new Error(ot);let p=new Uint8Array(0);const g=r.extraField;if(g){let e=0,t=0;g.forEach((t=>e+=4+t.length)),p=new Uint8Array(e),g.forEach(((e,n)=>{if(n>V)throw new Error(ct);if(e.length>V)throw new Error(lt);bt(p,new Uint16Array([n]),t),bt(p,new Uint16Array([e.length]),t+2),bt(p,e,t+4),t+=4+e.length}))}let w=0,y=gt(e,r,"keepOrder");void 0===y&&(y=!0);let _=0;n&&(n.initialized||await n.init(),_=n.size,w=function(e){return e+5*(Math.floor(e/16383)+1)}(_));let m=r.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=L||_>=L||w>=L){if(!1===r.zip64||!1===e.options.zip64||!y)throw new Error(dt);m=!0}e.pendingCompressedSize+=w,await Promise.resolve();const b=gt(e,r,"level"),x=gt(e,r,"useWebWorkers"),A=gt(e,r,"bufferedWrite");let k=gt(e,r,"dataDescriptor");const U=gt(e,r,"signal");void 0===k&&(k=!0);const v=await async function(e,t,n,r){const i=e.files,s=e.writer,a=Array.from(i.values()).pop();let o,c,l,d={};i.set(t,d);try{let u,h,f;if(r.keepOrder&&(u=a&&a.lock),d.lock=f=new Promise((e=>l=e)),r.bufferedWrite||e.lockWrite||!r.dataDescriptor?(h=new I,h.init(),o=!0):(e.lockWrite=new Promise((e=>c=e)),s.initialized||await s.init(),h=s),d=await async function(e,t,n,r){const{rawFilename:i,lastAccessDate:s,creationDate:a,password:o,level:c,zip64:l,zipCrypto:d,dataDescriptor:u,directory:h,version:f,rawComment:p,rawExtraField:g,useWebWorkers:w,onprogress:y,signal:_,encryptionStrength:m}=r,b=Boolean(o&&o.length),x=0!==c&&!h;let A;if(b&&!d){A=new Uint8Array(ut.length+2);const e=xt(A);yt(e,0,39169),bt(A,ut,2),wt(e,8,m)}else A=new Uint8Array(0);const k=new Uint8Array(9+(s?4:0)+(a?4:0)),U=xt(k);yt(U,0,J),yt(U,2,k.length-4);wt(U,4,1+(s?2:0)+(a?4:0)),_t(U,5,Math.floor(r.lastModDate.getTime()/1e3)),s&&_t(U,9,Math.floor(s.getTime()/1e3));a&&_t(U,13,Math.floor(a.getTime()/1e3));let v;try{v=new Uint8Array(36);const e=xt(v),t=pt(r.lastModDate);yt(e,0,10),yt(e,2,32),yt(e,8,1),yt(e,10,24),mt(e,12,t),mt(e,20,pt(s)||t),mt(e,28,pt(a)||t)}catch(e){v=new Uint8Array(0)}const E={version:f||20,zip64:l,directory:Boolean(h),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:v,rawExtraFieldAES:A,rawExtraField:g};let z=E.uncompressedSize=0,R=2048;u&&(R|=8);let S=0;x&&(S=8);l&&(E.version=E.version>45?E.version:45);b&&(R|=1,d||(E.version=E.version>51?E.version:51,S=99,x&&(E.rawExtraFieldAES[9]=8)));E.compressionMethod=S;const T=E.headerArray=new Uint8Array(26),D=xt(T);yt(D,0,E.version),yt(D,2,R),yt(D,4,S);const F=new Uint32Array(1),W=xt(F);let I;I=r.lastModDate<ee?ee:r.lastModDate>$?$:r.lastModDate;yt(W,0,(I.getHours()<<6|I.getMinutes())<<5|I.getSeconds()/2),yt(W,2,(I.getFullYear()-1980<<4|I.getMonth()+1)<<5|I.getDate());const M=F[0];_t(D,6,M),yt(D,22,i.length);const B=A.length+k.length+v.length+E.rawExtraField.length;yt(D,24,B);const C=new Uint8Array(30+i.length+B);let H;_t(xt(C),0,q),bt(C,T,4),bt(C,i,30),bt(C,A,30+i.length),bt(C,k,30+i.length+A.length),bt(C,v,30+i.length+A.length+k.length),bt(C,E.rawExtraField,30+i.length+A.length+k.length+v.length);let O=0;if(e){z=E.uncompressedSize=e.size;const r=await function(e,t,n){const r=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),i=r&&n.workerScripts?n.workerScripts[t.codecType]:[];if(Xe.length<n.maxWorkers){const a={};return Xe.push(a),Ze(a,e,t,n,s,r,i)}{const a=Xe.find((e=>!e.busy));return a?(Je(a),Ze(a,e,t,n,s,r,i)):new Promise((n=>Ye.push({resolve:n,codecConstructor:e,options:t,webWorker:r,scripts:i})))}function s(e){if(Ye.length){const[{resolve:t,codecConstructor:r,options:i,webWorker:a,scripts:o}]=Ye.splice(0,1);t(Ze(e,r,i,n,s,a,o))}else e.worker?(Je(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{Xe=Xe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):Xe=Xe.filter((t=>t!=e))}}(n.Deflate,{codecType:Pe,level:c,password:o,encryptionStrength:m,zipCrypto:b&&d,passwordVerification:b&&d&&M>>8&255,signed:!0,compressed:x,encrypted:b,useWebWorkers:w},n);await t.writeUint8Array(C),E.dataWritten=!0,H=await async function(e,t,n,r,i,s,a){const o=Math.max(s.chunkSize,64);return async function s(c=0,l=0){const d=a.signal;if(c<i){Qe(d,e);const u=await t.readUint8Array(c+r,Math.min(o,i-c)),h=u.length;Qe(d,e);const f=await e.append(u);if(Qe(d,e),l+=await $e(n,f),a.onprogress)try{a.onprogress(c+h,i)}catch(e){}return s(c+o,l)}{const t=await e.flush();return l+=await $e(n,t.data),{signature:t.signature,length:l}}}()}(r,e,t,0,z,n,{onprogress:y,signal:_}),O=H.length}else await t.writeUint8Array(C),E.dataWritten=!0;let P,j=new Uint8Array(0);u&&(j=new Uint8Array(l?24:16),P=xt(j),_t(P,0,K));if(e){const e=H.signature;if(b&&!d||void 0===e||(_t(D,10,e),E.signature=e,u&&_t(P,4,e)),l){const e=xt(E.rawExtraFieldZip64);yt(e,0,1),yt(e,2,24),_t(D,14,L),mt(e,12,BigInt(O)),_t(D,18,L),mt(e,4,BigInt(z)),u&&(mt(P,8,BigInt(O)),mt(P,16,BigInt(z)))}else _t(D,14,O),_t(D,18,z),u&&(_t(P,8,O),_t(P,12,z))}u&&await t.writeUint8Array(j);const N=C.length+O+j.length;return Object.assign(E,{compressedSize:O,lastModDate:I,rawLastModDate:M,creationDate:a,lastAccessDate:s,encrypted:b,length:N}),E}(n,h,e.config,r),d.lock=f,i.set(t,d),d.filename=t,o){let t=0;const n=h.getData();let a;await Promise.all([e.lockWrite,u]);do{a=Array.from(i.values()).find((e=>e.writingBufferedData)),a&&await a.lock}while(a&&a.lock);if(d.writingBufferedData=!0,!r.dataDescriptor){const e=26,i=await ft(n,0,e),a=new DataView(i);d.encrypted&&!r.zipCrypto||_t(a,14,d.signature),d.zip64?(_t(a,18,L),_t(a,22,L)):(_t(a,18,d.compressedSize),_t(a,22,d.uncompressedSize)),await s.writeUint8Array(new Uint8Array(i)),t=e}await async function(e,t,n=0){const r=536870912;async function i(){if(n<t.size){const s=await ft(t,n,n+r);await e.writeUint8Array(new Uint8Array(s)),n+=r,await i()}}await i()}(s,n,t),delete d.writingBufferedData}if(d.offset=e.offset,d.zip64){mt(xt(d.rawExtraFieldZip64),20,BigInt(d.offset))}else if(d.offset>=L)throw new Error(dt);return e.offset+=d.length,d}catch(n){throw(o&&d.writingBufferedData||!o&&d.dataWritten)&&(n.corruptedEntry=e.hasCorruptedEntries=!0,d.uncompressedSize&&(e.offset+=d.uncompressedSize)),i.delete(t),n}finally{l(),c&&c()}}(e,t,n,Object.assign({},r,{rawFilename:i,rawComment:a,version:o,lastModDate:c,lastAccessDate:l,creationDate:d,rawExtraField:p,zip64:m,password:u,level:b,useWebWorkers:x,encryptionStrength:h,zipCrypto:f,bufferedWrite:A,keepOrder:y,dataDescriptor:k,signal:U}));w&&(e.pendingCompressedSize-=w);return Object.assign(v,{name:t,comment:s,extraField:g}),new tt(v)}(r,e,t,n)}finally{ht--;const e=r.pendingEntries.shift();e&&r.add(e.name,e.reader,e.options).then(e.resolve).catch(e.reject)}}async close(e=new Uint8Array(0),t={}){return await async function(e,t,n){const r=e.writer,i=e.files;let s=0,a=0,o=e.offset,c=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraFieldExtendedTimestamp.length+e.rawExtraFieldNTFS.length+e.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(o>=L||a>=L||c>=V){if(!1===n.zip64||!1===e.options.zip64)throw new Error(dt);l=!0}const d=new Uint8Array(a+(l?98:22)),u=xt(d);if(t&&t.length){if(!(t.length<=V))throw new Error(rt);yt(u,s+20,t.length)}for(const[e,t]of Array.from(i.values()).entries()){const{rawFilename:r,rawExtraFieldZip64:a,rawExtraFieldNTFS:o,rawExtraFieldAES:c,rawExtraField:l,rawComment:h,version:f,headerArray:p,directory:g,zip64:w}=t,y=new Uint8Array(9),_=xt(y);yt(_,0,J),yt(_,2,y.length-4),wt(_,4,1),_t(_,5,Math.floor(t.lastModDate.getTime()/1e3));const m=a.length+c.length+y.length+o.length+l.length;if(_t(u,s,G),yt(u,s+4,f),bt(d,p,s+6),yt(u,s+30,m),yt(u,s+32,h.length),g&&wt(u,s+38,16),_t(u,s+42,w?L:t.offset),bt(d,r,s+46),bt(d,a,s+46+r.length),bt(d,c,s+46+r.length+a.length),bt(d,y,s+46+r.length+a.length+c.length),bt(d,o,s+46+r.length+a.length+c.length+y.length),bt(d,l,s+46+r.length+a.length+c.length+y.length+o.length),bt(d,h,s+46+r.length+m),s+=46+r.length+m+h.length,n.onprogress)try{n.onprogress(e+1,i.size,new tt(t))}catch(e){}}l&&(_t(u,s,X),mt(u,s+4,BigInt(44)),yt(u,s+12,45),yt(u,s+14,45),mt(u,s+24,BigInt(c)),mt(u,s+32,BigInt(c)),mt(u,s+40,BigInt(a)),mt(u,s+48,BigInt(o)),_t(u,s+56,Y),mt(u,s+64,BigInt(o)+BigInt(a)),_t(u,s+72,1),c=V,o=L,a=L,s+=76);_t(u,s,Z),yt(u,s+8,c),yt(u,s+10,c),_t(u,s+12,a),_t(u,s+16,o),await r.writeUint8Array(d),t&&t.length&&await r.writeUint8Array(t)}(this,e,t),this.writer.getData()}},e.configure=x,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,(function(e){"use strict";const t=256,n=256,r=-2,i=-5;function s(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const a=[0,1,2,3].concat(...s([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function o(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=function(n){const r=e.dyn_tree,i=e.stat_desc.static_tree,s=e.stat_desc.elems;let a,o,c,l=-1;for(n.heap_len=0,n.heap_max=573,a=0;a<s;a++)0!==r[2*a]?(n.heap[++n.heap_len]=l=a,n.depth[a]=0):r[2*a+1]=0;for(;n.heap_len<2;)c=n.heap[++n.heap_len]=l<2?++l:0,r[2*c]=1,n.depth[c]=0,n.opt_len--,i&&(n.static_len-=i[2*c+1]);for(e.max_code=l,a=Math.floor(n.heap_len/2);a>=1;a--)n.pqdownheap(r,a);c=s;do{a=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),o=n.heap[1],n.heap[--n.heap_max]=a,n.heap[--n.heap_max]=o,r[2*c]=r[2*a]+r[2*o],n.depth[c]=Math.max(n.depth[a],n.depth[o])+1,r[2*a+1]=r[2*o+1]=c,n.heap[1]=c++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,a=e.stat_desc.max_length;let o,c,l,d,u,h,f=0;for(d=0;d<=15;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>a&&(d=a,f++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,c>=s&&(u=i[c-s]),h=n[2*c],t.opt_len+=h*(d+u),r&&(t.static_len+=h*(r[2*c+1]+u)));if(0!==f){do{for(d=a-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[a]--,f-=2}while(f>0);for(d=a;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(e,n,r){const i=[];let s,a,o,c=0;for(s=1;s<=15;s++)i[s]=c=c+r[s-1]<<1;for(a=0;a<=n;a++)o=e[2*a+1],0!==o&&(e[2*a]=t(i[o]++,o))}(r,e.max_code,n.bl_count)}}function c(e,t,n,r,i){const s=this;s.static_tree=e,s.extra_bits=t,s.extra_base=n,s.elems=r,s.max_length=i}o._length_code=[0,1,2,3,4,5,6,7].concat(...s([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),o.base_length=[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],o.base_dist=[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],o.d_code=function(e){return e<256?a[e]:a[256+(e>>>7)]},o.extra_lbits=[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],o.extra_dbits=[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],o.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],o.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],c.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],c.static_l_desc=new c(c.static_ltree,o.extra_lbits,257,286,15),c.static_d_desc=new c(c.static_dtree,o.extra_dbits,0,30,15),c.static_bl_desc=new c(null,o.extra_blbits,0,19,7);function l(e,t,n,r,i){const s=this;s.good_length=e,s.max_lazy=t,s.nice_length=n,s.max_chain=r,s.func=i}const d=[new l(0,0,0,0,0),new l(4,4,8,4,1),new l(4,5,16,8,1),new l(4,6,32,32,1),new l(4,4,16,16,2),new l(8,16,32,32,2),new l(8,16,128,128,2),new l(8,32,128,256,2),new l(32,128,258,1024,2),new l(32,258,258,4096,2)],u=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],h=113,f=666,p=258,w=262;function g(e,t,n,r){const i=e[2*t],s=e[2*n];return i<s||i==s&&r[t]<=r[n]}function y(){const e=this;let s,a,l,y,_,m,b,x,A,k,U,v,E,z,R,S,T,D,F,W,M,I,B,C,H,O,P,j,N,L,V,q,K;const G=new o,Z=new o,X=new o;let Y,J,Q,$,ee,te,ne,re;function ie(){let t;for(t=0;t<286;t++)V[2*t]=0;for(t=0;t<30;t++)q[2*t]=0;for(t=0;t<19;t++)K[2*t]=0;V[512]=1,e.opt_len=e.static_len=0,Q=ee=0}function se(e,t){let n,r=-1,i=e[1],s=0,a=7,o=4;0===i&&(a=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;c<=t;c++)n=i,i=e[2*(c+1)+1],++s<a&&n==i||(s<o?K[2*n]+=s:0!==n?(n!=r&&K[2*n]++,K[32]++):s<=10?K[34]++:K[36]++,s=0,r=n,0===i?(a=138,o=3):n==i?(a=6,o=3):(a=7,o=4))}function ae(t){e.pending_buf[e.pending++]=t}function oe(e){ae(255&e),ae(e>>>8&255)}function ce(e,t){let n;const r=t;re>16-r?(n=e,ne|=n<<re&65535,oe(ne),ne=n>>>16-re,re+=r-16):(ne|=e<<re&65535,re+=r)}function le(e,t){const n=2*e;ce(65535&t[n],65535&t[n+1])}function de(e,t){let n,r,i=-1,s=e[1],a=0,o=7,c=4;for(0===s&&(o=138,c=3),n=0;n<=t;n++)if(r=s,s=e[2*(n+1)+1],!(++a<o&&r==s)){if(a<c)do{le(r,K)}while(0!=--a);else 0!==r?(r!=i&&(le(r,K),a--),le(16,K),ce(a-3,2)):a<=10?(le(17,K),ce(a-3,3)):(le(18,K),ce(a-11,7));a=0,i=r,0===s?(o=138,c=3):r==s?(o=6,c=3):(o=7,c=4)}}function ue(){16==re?(oe(ne),ne=0,re=0):re>=8&&(ae(255&ne),ne>>>=8,re-=8)}function he(n,r){let i,s,a;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[Y+Q]=255&r,Q++,0===n?V[2*r]++:(ee++,n--,V[2*(o._length_code[r]+t+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&P>2){for(i=8*Q,s=M-T,a=0;a<30;a++)i+=q[2*a]*(5+o.extra_dbits[a]);if(i>>>=3,ee<Math.floor(Q/2)&&i<Math.floor(s/2))return!0}return Q==J-1}function fe(r,i){let s,a,c,l,d=0;if(0!==Q)do{s=e.pending_buf[$+2*d]<<8&65280|255&e.pending_buf[$+2*d+1],a=255&e.pending_buf[Y+d],d++,0===s?le(a,r):(c=o._length_code[a],le(c+t+1,r),l=o.extra_lbits[c],0!==l&&(a-=o.base_length[c],ce(a,l)),s--,c=o.d_code(s),le(c,i),l=o.extra_dbits[c],0!==l&&(s-=o.base_dist[c],ce(s,l)))}while(d<Q);le(n,r),te=r[513]}function pe(){re>8?oe(ne):re>0&&ae(255&ne),ne=0,re=0}function we(t,n,r){ce(0+(r?1:0),3),function(t,n,r){pe(),te=8,r&&(oe(n),oe(~n)),e.pending_buf.set(x.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function ge(t,n,r){let i,s,a=0;P>0?(G.build_tree(e),Z.build_tree(e),a=function(){let t;for(se(V,G.max_code),se(q,Z.max_code),X.build_tree(e),t=18;t>=3&&0===K[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),i=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=i&&(i=s)):i=s=n+5,n+4<=i&&-1!=t?we(t,n,r):s==i?(ce(2+(r?1:0),3),fe(c.static_ltree,c.static_dtree)):(ce(4+(r?1:0),3),function(e,t,n){let r;for(ce(e-257,5),ce(t-1,5),ce(n-4,4),r=0;r<n;r++)ce(K[2*o.bl_order[r]+1],3);de(V,e-1),de(q,t-1)}(G.max_code+1,Z.max_code+1,a+1),fe(V,q)),ie(),r&&pe()}function ye(e){ge(T>=0?T:-1,M-T,e),T=M,s.flush_pending()}function _e(){let e,t,n,r;do{if(r=A-B-M,0===r&&0===M&&0===B)r=_;else if(-1==r)r--;else if(M>=_+_-w){x.set(x.subarray(_,_+_),0),I-=_,M-=_,T-=_,e=E,n=e;do{t=65535&U[--n],U[n]=t>=_?t-_:0}while(0!=--e);e=_,n=e;do{t=65535&k[--n],k[n]=t>=_?t-_:0}while(0!=--e);r+=_}if(0===s.avail_in)return;e=s.read_buf(x,M+B,r),B+=e,B>=3&&(v=255&x[M],v=(v<<S^255&x[M+1])&R)}while(B<w&&0!==s.avail_in)}function me(e){let t,n,r=H,i=M,s=C;const a=M>_-w?M-(_-w):0;let o=L;const c=b,l=M+p;let d=x[i+s-1],u=x[i+s];C>=N&&(r>>=2),o>B&&(o=B);do{if(t=e,x[t+s]==u&&x[t+s-1]==d&&x[t]==x[i]&&x[++t]==x[i+1]){i+=2,t++;do{}while(x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&i<l);if(n=p-(l-i),i=l-p,n>s){if(I=e,s=n,n>=o)break;d=x[i+s-1],u=x[i+s]}}}while((e=65535&k[e&c])>a&&0!=--r);return s<=B?s:B}function be(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,a=h,y=0,G.dyn_tree=V,G.stat_desc=c.static_l_desc,Z.dyn_tree=q,Z.stat_desc=c.static_d_desc,X.dyn_tree=K,X.stat_desc=c.static_bl_desc,ne=0,re=0,te=8,ie(),function(){A=2*_,U[E-1]=0;for(let e=0;e<E-1;e++)U[e]=0;O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain,M=0,T=0,B=0,D=C=2,W=0,v=0}(),0}e.depth=[],e.bl_count=[],e.heap=[],V=[],q=[],K=[],e.pqdownheap=function(t,n){const r=e.heap,i=r[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&g(t,r[s+1],r[s],e.depth)&&s++,!g(t,i,r[s],e.depth));)r[n]=r[s],n=s,s<<=1;r[n]=i},e.deflateInit=function(t,n,i,s,a,o){return s||(s=8),a||(a=8),o||(o=0),t.msg=null,-1==n&&(n=6),a<1||a>9||8!=s||i<9||i>15||n<0||n>9||o<0||o>2?r:(t.dstate=e,m=i,_=1<<m,b=_-1,z=a+7,E=1<<z,R=E-1,S=Math.floor((z+3-1)/3),x=new Uint8Array(2*_),k=[],U=[],J=1<<a+6,e.pending_buf=new Uint8Array(4*J),l=4*J,$=Math.floor(J/2),Y=3*J,P=n,j=o,be(t))},e.deflateEnd=function(){return 42!=a&&a!=h&&a!=f?r:(e.pending_buf=null,U=null,k=null,x=null,e.dstate=null,a==h?-3:0)},e.deflateParams=function(e,t,n){let i=0;return-1==t&&(t=6),t<0||t>9||n<0||n>2?r:(d[P].func!=d[t].func&&0!==e.total_in&&(i=e.deflate(1)),P!=t&&(P=t,O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain),j=n,i)},e.deflateSetDictionary=function(e,t,n){let i,s=n,o=0;if(!t||42!=a)return r;if(s<3)return 0;for(s>_-w&&(s=_-w,o=n-s),x.set(t.subarray(o,o+s),0),M=s,T=s,v=255&x[0],v=(v<<S^255&x[1])&R,i=0;i<=s-3;i++)v=(v<<S^255&x[i+2])&R,k[i&b]=U[v],U[v]=i;return 0},e.deflate=function(t,o){let p,g,A,z,H;if(o>4||o<0)return r;if(!t.next_out||!t.next_in&&0!==t.avail_in||a==f&&4!=o)return t.msg=u[4],r;if(0===t.avail_out)return t.msg=u[7],i;var N;if(s=t,z=y,y=o,42==a&&(g=8+(m-8<<4)<<8,A=(P-1&255)>>1,A>3&&(A=3),g|=A<<6,0!==M&&(g|=32),g+=31-g%31,a=h,ae((N=g)>>8&255),ae(255&N)),0!==e.pending){if(s.flush_pending(),0===s.avail_out)return y=-1,0}else if(0===s.avail_in&&o<=z&&4!=o)return s.msg=u[7],i;if(a==f&&0!==s.avail_in)return t.msg=u[7],i;if(0!==s.avail_in||0!==B||0!=o&&a!=f){switch(H=-1,d[P].func){case 0:H=function(e){let t,n=65535;for(n>l-5&&(n=l-5);;){if(B<=1){if(_e(),0===B&&0==e)return 0;if(0===B)break}if(M+=B,B=0,t=T+n,(0===M||M>=t)&&(B=M-t,M=t,ye(!1),0===s.avail_out))return 0;if(M-T>=_-w&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:H=function(e){let t,n=0;for(;;){if(B<w){if(_e(),B<w&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[M+2])&R,n=65535&U[v],k[M&b]=U[v],U[v]=M),0!==n&&(M-n&65535)<=_-w&&2!=j&&(D=me(n)),D>=3)if(t=he(M-I,D-3),B-=D,D<=O&&B>=3){D--;do{M++,v=(v<<S^255&x[M+2])&R,n=65535&U[v],k[M&b]=U[v],U[v]=M}while(0!=--D);M++}else M+=D,D=0,v=255&x[M],v=(v<<S^255&x[M+1])&R;else t=he(0,255&x[M]),B--,M++;if(t&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 2:H=function(e){let t,n,r=0;for(;;){if(B<w){if(_e(),B<w&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[M+2])&R,r=65535&U[v],k[M&b]=U[v],U[v]=M),C=D,F=I,D=2,0!==r&&C<O&&(M-r&65535)<=_-w&&(2!=j&&(D=me(r)),D<=5&&(1==j||3==D&&M-I>4096)&&(D=2)),C>=3&&D<=C){n=M+B-3,t=he(M-1-F,C-3),B-=C-1,C-=2;do{++M<=n&&(v=(v<<S^255&x[M+2])&R,r=65535&U[v],k[M&b]=U[v],U[v]=M)}while(0!=--C);if(W=0,D=2,M++,t&&(ye(!1),0===s.avail_out))return 0}else if(0!==W){if(t=he(0,255&x[M-1]),t&&ye(!1),M++,B--,0===s.avail_out)return 0}else W=1,M++,B--}return 0!==W&&(t=he(0,255&x[M-1]),W=0),ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o)}if(2!=H&&3!=H||(a=f),0==H||2==H)return 0===s.avail_out&&(y=-1),0;if(1==H){if(1==o)ce(2,3),le(n,c.static_ltree),ue(),1+te+10-re<9&&(ce(2,3),le(n,c.static_ltree),ue()),te=7;else if(we(0,0,!1),3==o)for(p=0;p<E;p++)U[p]=0;if(s.flush_pending(),0===s.avail_out)return y=-1,0}}return 4!=o?0:1}}function _(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}_.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new y,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):r},deflateEnd:function(){const e=this;if(!e.dstate)return r;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):r},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):r},read_buf:function(e,t,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),t),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const m={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},b=Object.assign({},m);function x(e){if(void 0!==e.chunkSize&&(b.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(b.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(b.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(b.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(b.Deflate=e.Deflate),void 0!==e.Inflate&&(b.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.inflate=e.workerScripts.inflate}}}const A="HTTP error ",k="HTTP Range not supported",U="text/plain",v="Content-Length",E="Accept-Ranges",z="HEAD",R="GET",S="bytes";class T{constructor(){this.size=0}init(){this.initialized=!0}}class D extends T{}class F extends T{writeUint8Array(e){this.size+=e.length}}class W extends D{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((r,i)=>{n.onload=e=>r(new Uint8Array(e.target.result)),n.onerror=()=>i(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class M extends F{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class I extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest){const e=await C(z,this.url,this.options);if(this.size=Number(e.headers.get(v)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(E)!=S)throw new Error(k);void 0===this.size&&await B(this,this.options)}else await B(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await C(R,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(k);return new Uint8Array(await n.arrayBuffer())}return this.data||await B(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function B(e,t){const n=await C(R,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function C(e,t,n,r){r=Object.assign({},n.headers,r);const i=await fetch(t,Object.assign({},n,{method:e,headers:r}));if(i.status<400)return i;throw new Error(A+(i.statusText||i.status))}class H extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>P(z,this.url,(n=>{this.size=Number(n.getResponseHeader(v)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(E)==S?e():t(new Error(k)):void 0===this.size?O(this,this.url).then((()=>e())).catch(t):e()}),t)));await O(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await O(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,r)=>P(R,this.url,(e=>n(new Uint8Array(e.response))),r,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(k)}}function O(e,t){return new Promise(((n,r)=>P(R,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),r)))}function P(e,t,n,r,i=[]){const s=new XMLHttpRequest;return s.addEventListener("load",(()=>{s.status<400?n(s):r(A+(s.statusText||s.status))}),!1),s.addEventListener("error",r,!1),s.open(e,t),i.forEach((e=>s.setRequestHeader(e[0],e[1]))),s.responseType="arraybuffer",s.send(),s}class j extends D{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new H(e,t):this.reader=new I(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function N(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const L=4294967295,V=65535,q=67324752,K=134695760,G=33639248,Z=101010256,X=101075792,Y=117853008,J=21589,Q="/",$=new Date(2107,11,31),ee=new Date(1980,0,1),te=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;te[e]=t}class ne{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;n<r;n++)t=t>>>8^te[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const re={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=re.getPartial(n);return 32===r?e.concat(t):re._shiftRight(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+re.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=re.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let i=0;i<e.length;i++)r.push(n|e[i]>>>t),n=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=re.getPartial(i);return r.push(re.partial(t+s&31,t+s>32?n:r.pop(),1)),r}},ie={bytes:{fromBits(e){const t=re.bitLength(e)/8,n=new Uint8Array(t);let r;for(let i=0;i<t;i++)0==(3&i)&&(r=e[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3==(3&n)&&(t.push(r),r=0);return 3&n&&t.push(re.partial(8*(3&n),r)),t}}},se={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};se.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=ie.utf8String.toBits(e));const n=t._buffer=re.concat(t._buffer,e),r=t._length,i=t._length=r+re.bitLength(e);if(i>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=i;e+=t.blockSize)t._block(s.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=re.concat(t,[re.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,r=Array(80);for(let t=0;t<16;t++)r[t]=e[t];let i=n[0],s=n[1],a=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const n=t._S(5,i)+t._f(e,s,a,o)+c+r[e]+t._key[Math.floor(e/20)]|0;c=o,o=a,a=t._S(30,s),s=i,i=n}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const ae={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],i=e.length;let s,a,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],s=i;s<4*i+28;s++){let e=a[s-1];(s%i==0||8===i&&s%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%i==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[s]=a[s-i]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=s<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],i=[],s=[];let a,o,c,l;for(let e=0;e<256;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let d=a=0;!n[d];d^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,n[d]=s,r[s]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,h=257*i[s]^16843008*s;for(let n=0;n<4;n++)e[n][d]=h=h<<24^h>>>8,t[n][s]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],r=n.length/4-2,i=[0,0,0,0],s=this._tables[t],a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let u,h,f,p=e[0]^n[0],w=e[t?3:1]^n[1],g=e[2]^n[2],y=e[t?1:3]^n[3],_=4;for(let e=0;e<r;e++)u=a[p>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&y]^n[_],h=a[w>>>24]^o[g>>16&255]^c[y>>8&255]^l[255&p]^n[_+1],f=a[g>>>24]^o[y>>16&255]^c[p>>8&255]^l[255&w]^n[_+2],y=a[y>>>24]^o[p>>16&255]^c[w>>8&255]^l[255&g]^n[_+3],_+=4,p=u,w=h,g=f;for(let e=0;e<4;e++)i[t?3&-e:e]=d[p>>>24]<<24^d[w>>16&255]<<16^d[g>>8&255]<<8^d[255&y]^n[_++],u=p,p=w,w=g,g=y,y=u;return i}}},oe={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const i=re.bitLength(t);for(let i=0;i<r;i+=4){this.incCounter(n);const r=e.encrypt(n);t[i]^=r[0],t[i+1]^=r[1],t[i+2]^=r[2],t[i+3]^=r[3]}return re.clamp(t,i)}}},ce={hmacSha1:class{constructor(e){const t=this,n=t._hash=se.sha1,r=[[],[]],i=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>i&&(e=n.hash(e));for(let t=0;t<i;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}}},le="Invalid pasword",de=16,ue={name:"PBKDF2"},he=Object.assign({hash:{name:"HMAC"}},ue),fe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},ue),pe=["deriveBits"],we=[8,12,16],ge=[16,24,32],ye=10,_e=[0,0,0,0],me=crypto.subtle,be=ie.bytes,xe=ae.aes,Ae=oe.ctrGladman,ke=ce.hmacSha1;class Ue{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Se(e,0,we[t.strength]+2);await async function(e,t,n){await ze(e,n,Se(t,0,we[e.strength]));const r=Se(t,we[e.strength]),i=e.keys.passwordVerification;if(i[0]!=r[0]||i[1]!=r[1])throw new Error(le)}(t,n,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication),e=Se(e,we[t.strength]+2)}return Ee(t,e,new Uint8Array(e.length-ye-(e.length-ye)%de),0,ye,!0)}async flush(){const e=this,t=e.pendingInput,n=Se(t,0,t.length-ye),r=Se(t,t.length-ye);let i=new Uint8Array(0);if(n.length){const t=be.toBits(n);e.hmac.update(t);const r=e.aesCtrGladman.update(t);i=be.fromBits(r)}let s=!0;if(e.signed){const t=Se(be.fromBits(e.hmac.digest()),0,ye);for(let e=0;e<ye;e++)t[e]!=r[e]&&(s=!1)}return{valid:s,data:i}}}class ve{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(we[e.strength]));return await ze(e,t,n),Re(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication));const r=new Uint8Array(n.length+e.length-e.length%de);return r.set(n,0),Ee(t,e,r,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(be.toBits(e.pendingInput));e.hmac.update(n),t=be.fromBits(n)}const n=Se(be.fromBits(e.hmac.digest()),0,ye);return{data:Re(t,n),signature:n}}}function Ee(e,t,n,r,i,s){const a=t.length-i;let o;for(e.pendingInput.length&&(t=Re(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,a-a%de)),o=0;o<=a-de;o+=de){const i=be.toBits(Se(t,o,o+de));s&&e.hmac.update(i);const a=e.aesCtrGladman.update(i);s||e.hmac.update(a),n.set(be.fromBits(a),o+r)}return e.pendingInput=Se(t,o),n}async function ze(e,t,n){const r=(new TextEncoder).encode(t),i=await me.importKey("raw",r,he,!1,pe),s=await me.deriveBits(Object.assign({salt:n},fe),i,8*(2*ge[e.strength]+2)),a=new Uint8Array(s);e.keys={key:be.toBits(Se(a,0,ge[e.strength])),authentication:be.toBits(Se(a,ge[e.strength],2*ge[e.strength])),passwordVerification:Se(a,2*ge[e.strength])}}function Re(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Se(e,t,n){return e.subarray(t,n)}const Te=12;class De{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Ie(this,e)}async append(e){const t=this;if(t.password){const n=We(t,e.subarray(0,Te));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(le);e=e.subarray(Te)}return We(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Fe{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Ie(this,e)}async append(e){const t=this;let n,r;if(t.password){t.password=null;const i=crypto.getRandomValues(new Uint8Array(Te));i[11]=t.passwordVerification,n=new Uint8Array(e.length+i.length),n.set(Me(t,i),0),r=Te}else n=new Uint8Array(e.length),r=0;return n.set(Me(t,e),r),n}async flush(){return{data:new Uint8Array(0)}}}function We(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,n[r]);return n}function Me(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,t[r]);return n}function Ie(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new ne(e.keys[0]),e.crcKey2=new ne(e.keys[2]);for(let n=0;n<t.length;n++)Be(e,t.charCodeAt(n))}function Be(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+He(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Ce(e){const t=2|e.keys[2];return He(Math.imul(t,1^t)>>>8)}function He(e){return 255&e}function Oe(e){return 4294967295&e}const Pe="deflate",je="Invalid signature";class Ne{constructor(e,{signature:t,password:n,signed:r,compressed:i,zipCrypto:s,passwordVerification:a,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:r,compressed:i,inflate:i&&new e({chunkSize:c}),crc32:r&&new ne,zipCrypto:s,decrypt:l&&s?new De(n,a):new Ue(n,r,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(je);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(je)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Le{constructor(e,{encrypted:t,signed:n,compressed:r,level:i,zipCrypto:s,password:a,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:r,deflate:r&&new e({level:i||5,chunkSize:l}),crc32:n&&new ne,zipCrypto:s,encrypt:t&&s?new Fe(a,o):new ve(a,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const r=await e.encrypt.flush();t=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Ve="init",qe="append",Ke="flush",Ge="message";var Ze=(e,t,n,r,i,s,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,i(e)}}),s?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-deflate.min.js",document.baseURI).href)),e.worker.addEventListener(Ge,s,!1),e.interface={append:e=>r({type:qe,data:e}),flush:()=>r({type:Ke})});return e.interface;async function r(r){if(!n){const n=e.options,r=e.scripts.slice(1);await i({scripts:r,type:Ve,options:n,config:{chunkSize:t.chunkSize}})}return i(r)}function i(t){const r=e.worker,i=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,r.postMessage(t,[t.data])}catch(e){r.postMessage(t)}else r.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return i}function s(t){const r=t.data;if(n){const t=r.error,i=r.type;if(t){const r=new Error(t.message);r.stack=t.stack,n.reject(r),n=null,e.onTaskFinished()}else if(i==Ve||i==Ke||i==qe){const t=r.data;i==Ke?(n.resolve({data:new Uint8Array(t),signature:r.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,r):function(e,t){const n=function(e,t,n){return t.codecType.startsWith(Pe)?new Le(e,t,n):t.codecType.startsWith("inflate")?new Ne(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,r));let Xe=[],Ye=[];function Je(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}function Qe(e,t){if(e&&e.aborted)throw t.flush(),new Error("Abort error")}async function $e(e,t){return t.length&&await e.writeUint8Array(t),t.length}const et=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class tt{constructor(e){et.forEach((t=>this[t]=e[t]))}}const nt="File already exists",rt="Zip file comment exceeds 64KB",it="File entry comment exceeds 64KB",st="File entry name exceeds 64KB",at="Version exceeds 65535",ot="The strength must equal 1, 2, or 3",ct="Extra field type exceeds 65535",lt="Extra field data exceeds 64KB",dt="Zip64 is not supported",ut=new Uint8Array([7,0,2,0,65,69,3,0,0]);let ht=0;function ft(e,t,n){const r=new FileReader;return new Promise(((i,s)=>{r.onload=e=>i(e.target.result),r.onerror=()=>s(r.error),r.readAsArrayBuffer(t||n?e.slice(t,n):e)}))}function pt(e){if(e)return 10000n*(BigInt(e.getTime())+11644473600000n)}function wt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function gt(e,t,n){e.setUint8(t,n)}function yt(e,t,n){e.setUint16(t,n,!0)}function _t(e,t,n){e.setUint32(t,n,!0)}function mt(e,t,n){e.setBigUint64(t,n,!0)}function bt(e,t,n){e.set(t,n)}function xt(e){return new DataView(e.buffer)}x({Deflate:function(e){const t=new _,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(Math.floor(r/16383)+1);var r;const i=new Uint8Array(n);let s=e?e.level:-1;void 0===s&&(s=-1),t.deflateInit(s),t.next_out=i,this.append=function(e,r){let s,a,o=0,c=0,l=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,s=t.deflate(0),0!=s)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new Uint8Array(i)):d.push(i.slice(0,t.next_out_index))),l+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(a=new Uint8Array(l),d.forEach((function(e){a.set(e,c),c+=e.length}))):a=d[0]||new Uint8Array(0),a}},this.flush=function(){let e,r,s=0,a=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(i.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(a),o.forEach((function(e){r.set(e,s),s+=e.length})),r}}}),e.BlobReader=W,e.BlobWriter=M,e.Data64URIReader=class extends D{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),r=4*Math.floor(e/3),i=atob(this.dataURI.substring(r+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),s=e-3*Math.floor(r/4);for(let e=s;e<s+t;e++)n[e-s]=i.charCodeAt(e);return n}},e.Data64URIWriter=class extends F{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const r=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((r+e.length)/3)-r;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_DUPLICATED_NAME=nt,e.ERR_HTTP_RANGE=k,e.ERR_INVALID_COMMENT=rt,e.ERR_INVALID_ENCRYPTION_STRENGTH=ot,e.ERR_INVALID_ENTRY_COMMENT=it,e.ERR_INVALID_ENTRY_NAME=st,e.ERR_INVALID_EXTRAFIELD_DATA=lt,e.ERR_INVALID_EXTRAFIELD_TYPE=ct,e.ERR_INVALID_VERSION=at,e.ERR_UNSUPPORTED_FORMAT=dt,e.HttpRangeReader=class extends j{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=j,e.Reader=D,e.TextReader=class extends D{constructor(e){super(),this.blobReader=new W(new Blob([e],{type:U}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends F{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:U})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:U})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends D{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends F{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=F,e.ZipWriter=class{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:b,files:new Map,offset:e.size,pendingCompressedSize:0,pendingEntries:[]})}async add(e="",t,n={}){const r=this;if(!(ht<r.config.maxWorkers))return new Promise(((i,s)=>r.pendingEntries.push({name:e,reader:t,options:n,resolve:i,reject:s})));ht++;try{return await async function(e,t,n,r){t=t.trim(),r.directory&&!t.endsWith(Q)?t+=Q:r.directory=t.endsWith(Q);if(e.files.has(t))throw new Error(nt);const i=(new TextEncoder).encode(t);if(i.length>V)throw new Error(st);const s=r.comment||"",a=(new TextEncoder).encode(s);if(a.length>V)throw new Error(it);const o=e.options.version||r.version||0;if(o>V)throw new Error(at);const c=wt(e,r,"lastModDate")||new Date,l=wt(e,r,"lastAccessDate"),d=wt(e,r,"creationDate"),u=wt(e,r,"password"),h=wt(e,r,"encryptionStrength")||3,f=wt(e,r,"zipCrypto");if(void 0!==u&&void 0!==h&&(h<1||h>3))throw new Error(ot);let p=new Uint8Array(0);const w=r.extraField;if(w){let e=0,t=0;w.forEach((t=>e+=4+t.length)),p=new Uint8Array(e),w.forEach(((e,n)=>{if(n>V)throw new Error(ct);if(e.length>V)throw new Error(lt);bt(p,new Uint16Array([n]),t),bt(p,new Uint16Array([e.length]),t+2),bt(p,e,t+4),t+=4+e.length}))}let g=wt(e,r,"extendedTimestamp");void 0===g&&(g=!0);let y=0,_=wt(e,r,"keepOrder");void 0===_&&(_=!0);let m=0;n&&(n.initialized||await n.init(),m=n.size,y=function(e){return e+5*(Math.floor(e/16383)+1)}(m));let b=r.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=L||m>=L||y>=L){if(!1===r.zip64||!1===e.options.zip64||!_)throw new Error(dt);b=!0}e.pendingCompressedSize+=y,await Promise.resolve();const x=wt(e,r,"level"),A=wt(e,r,"useWebWorkers"),k=wt(e,r,"bufferedWrite");let U=wt(e,r,"dataDescriptor");const v=wt(e,r,"signal");void 0===U&&(U=!0);const E=await async function(e,t,n,r){const i=e.files,s=e.writer,a=Array.from(i.values()).pop();let o,c,l,d={};i.set(t,d);try{let u,h,f;if(r.keepOrder&&(u=a&&a.lock),d.lock=f=new Promise((e=>l=e)),r.bufferedWrite||e.lockWrite||!r.dataDescriptor?(h=new M,h.init(),o=!0):(e.lockWrite=new Promise((e=>c=e)),s.initialized||await s.init(),h=s),d=await async function(e,t,n,r){const{rawFilename:i,lastAccessDate:s,creationDate:a,password:o,level:c,zip64:l,zipCrypto:d,dataDescriptor:u,directory:h,version:f,rawComment:p,rawExtraField:w,useWebWorkers:g,onprogress:y,signal:_,encryptionStrength:m,extendedTimestamp:b}=r,x=Boolean(o&&o.length),A=0!==c&&!h;let k,U,v;if(x&&!d){k=new Uint8Array(ut.length+2);const e=xt(k);yt(e,0,39169),bt(k,ut,2),gt(e,8,m)}else k=new Uint8Array(0);if(b){v=new Uint8Array(9+(s?4:0)+(a?4:0));const e=xt(v);yt(e,0,J),yt(e,2,v.length-4);gt(e,4,1+(s?2:0)+(a?4:0)),_t(e,5,Math.floor(r.lastModDate.getTime()/1e3)),s&&_t(e,9,Math.floor(s.getTime()/1e3)),a&&_t(e,13,Math.floor(a.getTime()/1e3));try{U=new Uint8Array(36);const e=xt(U),t=pt(r.lastModDate);yt(e,0,10),yt(e,2,32),yt(e,8,1),yt(e,10,24),mt(e,12,t),mt(e,20,pt(s)||t),mt(e,28,pt(a)||t)}catch(e){U=new Uint8Array(0)}}else U=v=new Uint8Array(0);const E={version:f||20,zip64:l,directory:Boolean(h),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldExtendedTimestamp:v,rawExtraFieldNTFS:U,rawExtraFieldAES:k,rawExtraField:w,extendedTimestamp:b};let z=E.uncompressedSize=0,R=2048;u&&(R|=8);let S=0;A&&(S=8);l&&(E.version=E.version>45?E.version:45);x&&(R|=1,d||(E.version=E.version>51?E.version:51,S=99,A&&(E.rawExtraFieldAES[9]=8)));E.compressionMethod=S;const T=E.headerArray=new Uint8Array(26),D=xt(T);yt(D,0,E.version),yt(D,2,R),yt(D,4,S);const F=new Uint32Array(1),W=xt(F);let M;M=r.lastModDate<ee?ee:r.lastModDate>$?$:r.lastModDate;yt(W,0,(M.getHours()<<6|M.getMinutes())<<5|M.getSeconds()/2),yt(W,2,(M.getFullYear()-1980<<4|M.getMonth()+1)<<5|M.getDate());const I=F[0];_t(D,6,I),yt(D,22,i.length);const B=k.length+v.length+U.length+E.rawExtraField.length;yt(D,24,B);const C=new Uint8Array(30+i.length+B);let H;_t(xt(C),0,q),bt(C,T,4),bt(C,i,30),bt(C,k,30+i.length),bt(C,v,30+i.length+k.length),bt(C,U,30+i.length+k.length+v.length),bt(C,E.rawExtraField,30+i.length+k.length+v.length+U.length);let O=0;if(e){z=E.uncompressedSize=e.size;const r=await function(e,t,n){const r=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),i=r&&n.workerScripts?n.workerScripts[t.codecType]:[];if(Xe.length<n.maxWorkers){const a={};return Xe.push(a),Ze(a,e,t,n,s,r,i)}{const a=Xe.find((e=>!e.busy));return a?(Je(a),Ze(a,e,t,n,s,r,i)):new Promise((n=>Ye.push({resolve:n,codecConstructor:e,options:t,webWorker:r,scripts:i})))}function s(e){if(Ye.length){const[{resolve:t,codecConstructor:r,options:i,webWorker:a,scripts:o}]=Ye.splice(0,1);t(Ze(e,r,i,n,s,a,o))}else e.worker?(Je(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{Xe=Xe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):Xe=Xe.filter((t=>t!=e))}}(n.Deflate,{codecType:Pe,level:c,password:o,encryptionStrength:m,zipCrypto:x&&d,passwordVerification:x&&d&&I>>8&255,signed:!0,compressed:A,encrypted:x,useWebWorkers:g},n);await t.writeUint8Array(C),E.dataWritten=!0,H=await async function(e,t,n,r,i,s,a){const o=Math.max(s.chunkSize,64);return async function s(c=0,l=0){const d=a.signal;if(c<i){Qe(d,e);const u=await t.readUint8Array(c+r,Math.min(o,i-c)),h=u.length;Qe(d,e);const f=await e.append(u);if(Qe(d,e),l+=await $e(n,f),a.onprogress)try{a.onprogress(c+h,i)}catch(e){}return s(c+o,l)}{const t=await e.flush();return l+=await $e(n,t.data),{signature:t.signature,length:l}}}()}(r,e,t,0,z,n,{onprogress:y,signal:_}),O=H.length}else await t.writeUint8Array(C),E.dataWritten=!0;let P,j=new Uint8Array(0);u&&(j=new Uint8Array(l?24:16),P=xt(j),_t(P,0,K));if(e){const e=H.signature;if(x&&!d||void 0===e||(_t(D,10,e),E.signature=e,u&&_t(P,4,e)),l){const e=xt(E.rawExtraFieldZip64);yt(e,0,1),yt(e,2,24),_t(D,14,L),mt(e,12,BigInt(O)),_t(D,18,L),mt(e,4,BigInt(z)),u&&(mt(P,8,BigInt(O)),mt(P,16,BigInt(z)))}else _t(D,14,O),_t(D,18,z),u&&(_t(P,8,O),_t(P,12,z))}u&&await t.writeUint8Array(j);const N=C.length+O+j.length;return Object.assign(E,{compressedSize:O,lastModDate:M,rawLastModDate:I,creationDate:a,lastAccessDate:s,encrypted:x,length:N}),E}(n,h,e.config,r),d.lock=f,i.set(t,d),d.filename=t,o){let t=0;const n=h.getData();let a;await Promise.all([e.lockWrite,u]);do{a=Array.from(i.values()).find((e=>e.writingBufferedData)),a&&await a.lock}while(a&&a.lock);if(d.writingBufferedData=!0,!r.dataDescriptor){const e=26,i=await ft(n,0,e),a=new DataView(i);d.encrypted&&!r.zipCrypto||_t(a,14,d.signature),d.zip64?(_t(a,18,L),_t(a,22,L)):(_t(a,18,d.compressedSize),_t(a,22,d.uncompressedSize)),await s.writeUint8Array(new Uint8Array(i)),t=e}await async function(e,t,n=0){const r=536870912;async function i(){if(n<t.size){const s=await ft(t,n,n+r);await e.writeUint8Array(new Uint8Array(s)),n+=r,await i()}}await i()}(s,n,t),delete d.writingBufferedData}if(d.offset=e.offset,d.zip64){mt(xt(d.rawExtraFieldZip64),20,BigInt(d.offset))}else if(d.offset>=L)throw new Error(dt);return e.offset+=d.length,d}catch(n){throw(o&&d.writingBufferedData||!o&&d.dataWritten)&&(n.corruptedEntry=e.hasCorruptedEntries=!0,d.uncompressedSize&&(e.offset+=d.uncompressedSize)),i.delete(t),n}finally{l(),c&&c()}}(e,t,n,Object.assign({},r,{rawFilename:i,rawComment:a,version:o,lastModDate:c,lastAccessDate:l,creationDate:d,rawExtraField:p,zip64:b,password:u,level:x,useWebWorkers:A,encryptionStrength:h,extendedTimestamp:g,zipCrypto:f,bufferedWrite:k,keepOrder:_,dataDescriptor:U,signal:v}));y&&(e.pendingCompressedSize-=y);return Object.assign(E,{name:t,comment:s,extraField:w}),new tt(E)}(r,e,t,n)}finally{ht--;const e=r.pendingEntries.shift();e&&r.add(e.name,e.reader,e.options).then(e.resolve).catch(e.reject)}}async close(e=new Uint8Array(0),t={}){return await async function(e,t,n){const r=e.writer,i=e.files;let s=0,a=0,o=e.offset,c=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraFieldExtendedTimestamp.length+e.rawExtraFieldNTFS.length+e.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(o>=L||a>=L||c>=V){if(!1===n.zip64||!1===e.options.zip64)throw new Error(dt);l=!0}const d=new Uint8Array(a+(l?98:22)),u=xt(d);if(t&&t.length){if(!(t.length<=V))throw new Error(rt);yt(u,s+20,t.length)}for(const[e,t]of Array.from(i.values()).entries()){const{rawFilename:r,rawExtraFieldZip64:a,rawExtraFieldAES:o,rawExtraField:c,rawComment:l,version:h,headerArray:f,directory:p,zip64:w}=t;let g,y;if(t.extendedTimestamp){y=t.rawExtraFieldNTFS,g=new Uint8Array(9);const e=xt(g);yt(e,0,J),yt(e,2,g.length-4),gt(e,4,1),_t(e,5,Math.floor(t.lastModDate.getTime()/1e3))}else y=g=new Uint8Array(0);const _=a.length+o.length+g.length+y.length+c.length;if(_t(u,s,G),yt(u,s+4,h),bt(d,f,s+6),yt(u,s+30,_),yt(u,s+32,l.length),p&>(u,s+38,16),_t(u,s+42,w?L:t.offset),bt(d,r,s+46),bt(d,a,s+46+r.length),bt(d,o,s+46+r.length+a.length),bt(d,g,s+46+r.length+a.length+o.length),bt(d,y,s+46+r.length+a.length+o.length+g.length),bt(d,c,s+46+r.length+a.length+o.length+g.length+y.length),bt(d,l,s+46+r.length+_),s+=46+r.length+_+l.length,n.onprogress)try{n.onprogress(e+1,i.size,new tt(t))}catch(e){}}l&&(_t(u,s,X),mt(u,s+4,BigInt(44)),yt(u,s+12,45),yt(u,s+14,45),mt(u,s+24,BigInt(c)),mt(u,s+32,BigInt(c)),mt(u,s+40,BigInt(a)),mt(u,s+48,BigInt(o)),_t(u,s+56,Y),mt(u,s+64,BigInt(o)+BigInt(a)),_t(u,s+72,1),c=V,o=L,a=L,s+=76);_t(u,s,Z),yt(u,s+8,c),yt(u,s+10,c),_t(u,s+12,a),_t(u,s+16,o),await r.writeUint8Array(d),t&&t.length&&await r.writeUint8Array(t)}(this,e,t),this.writer.getData()}},e.configure=x,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})})); |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,(function(e){"use strict";const t=-2,n=-3,i=-5,r=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],a=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],s=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],o=[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],c=[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,112,112],l=[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],d=[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],u=15;function f(){let e,t,r,a,s,f;function h(e,t,o,c,l,d,h,_,w,p,b){let g,y,x,m,k,v,A,R,U,E,S,z,T,D,F;E=0,k=o;do{r[e[t+E]]++,E++,k--}while(0!==k);if(r[0]==o)return h[0]=-1,_[0]=0,0;for(R=_[0],v=1;v<=u&&0===r[v];v++);for(A=v,R<v&&(R=v),k=u;0!==k&&0===r[k];k--);for(x=k,R>k&&(R=k),_[0]=R,D=1<<v;v<k;v++,D<<=1)if((D-=r[v])<0)return n;if((D-=r[k])<0)return n;for(r[k]+=D,f[1]=v=0,E=1,T=2;0!=--k;)f[T]=v+=r[E],T++,E++;k=0,E=0;do{0!==(v=e[t+E])&&(b[f[v]++]=k),E++}while(++k<o);for(o=f[x],f[0]=k=0,E=0,m=-1,z=-R,s[0]=0,S=0,F=0;A<=x;A++)for(g=r[A];0!=g--;){for(;A>z+R;){if(m++,z+=R,F=x-z,F=F>R?R:F,(y=1<<(v=A-z))>g+1&&(y-=g+1,T=A,v<F))for(;++v<F&&!((y<<=1)<=r[++T]);)y-=r[T];if(F=1<<v,p[0]+F>1440)return n;s[m]=S=p[0],p[0]+=F,0!==m?(f[m]=k,a[0]=v,a[1]=R,v=k>>>z-R,a[2]=S-s[m-1]-v,w.set(a,3*(s[m-1]+v))):h[0]=S}for(a[1]=A-z,E>=o?a[0]=192:b[E]<c?(a[0]=b[E]<256?0:96,a[2]=b[E++]):(a[0]=d[b[E]-c]+16+64,a[2]=l[b[E++]-c]),y=1<<A-z,v=k>>>z;v<F;v+=y)w.set(a,3*(S+v));for(v=1<<A-1;0!=(k&v);v>>>=1)k^=v;for(k^=v,U=(1<<z)-1;(k&U)!=f[m];)m--,z-=R,U=(1<<z)-1}return 0!==D&&1!=x?i:0}function _(n){let i;for(e||(e=[],t=[],r=new Int32Array(16),a=[],s=new Int32Array(u),f=new Int32Array(16)),t.length<n&&(t=[]),i=0;i<n;i++)t[i]=0;for(i=0;i<16;i++)r[i]=0;for(i=0;i<3;i++)a[i]=0;s.set(r.subarray(0,u),0),f.set(r.subarray(0,16),0)}this.inflate_trees_bits=function(r,a,s,o,c){let l;return _(19),e[0]=0,l=h(r,0,19,19,null,null,s,a,o,e,t),l==n?c.msg="oversubscribed dynamic bit lengths tree":l!=i&&0!==a[0]||(c.msg="incomplete dynamic bit lengths tree",l=n),l},this.inflate_trees_dynamic=function(r,a,s,u,f,w,p,b,g){let y;return _(288),e[0]=0,y=h(s,0,r,257,o,c,w,u,b,e,t),0!=y||0===u[0]?(y==n?g.msg="oversubscribed literal/length tree":-4!=y&&(g.msg="incomplete literal/length tree",y=n),y):(_(288),y=h(s,r,a,0,l,d,p,f,b,e,t),0!=y||0===f[0]&&r>257?(y==n?g.msg="oversubscribed distance tree":y==i?(g.msg="incomplete distance tree",y=n):-4!=y&&(g.msg="empty distance tree with lengths",y=n),y):0)}}f.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=a,i[0]=s,0};function h(){const e=this;let i,a,s,o,c=0,l=0,d=0,u=0,f=0,h=0,_=0,w=0,p=0,b=0;function g(e,t,i,a,s,o,c,l){let d,u,f,h,_,w,p,b,g,y,x,m,k,v,A,R;p=l.next_in_index,b=l.avail_in,_=c.bitb,w=c.bitk,g=c.write,y=g<c.read?c.read-g-1:c.end-g,x=r[e],m=r[t];do{for(;w<20;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(d=_&x,u=i,f=a,R=3*(f+d),0!==(h=u[R]))for(;;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15,k=u[R+2]+(_&r[h]),_>>=h,w-=h;w<15;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;for(d=_&m,u=s,f=o,R=3*(f+d),h=u[R];;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15;w<h;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(v=u[R+2]+(_&r[h]),_>>=h,w-=h,y-=k,g>=v)A=g-v,g-A>0&&2>g-A?(c.window[g++]=c.window[A++],c.window[g++]=c.window[A++],k-=2):(c.window.set(c.window.subarray(A,A+2),g),g+=2,A+=2,k-=2);else{A=g-v;do{A+=c.end}while(A<0);if(h=c.end-A,k>h){if(k-=h,g-A>0&&h>g-A)do{c.window[g++]=c.window[A++]}while(0!=--h);else c.window.set(c.window.subarray(A,A+h),g),g+=h,A+=h,h=0;A=0}}if(g-A>0&&k>g-A)do{c.window[g++]=c.window[A++]}while(0!=--k);else c.window.set(c.window.subarray(A,A+k),g),g+=k,A+=k,k=0;break}if(0!=(64&h))return l.msg="invalid distance code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n;d+=u[R+2],d+=_&r[h],R=3*(f+d),h=u[R]}break}if(0!=(64&h))return 0!=(32&h)?(k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,1):(l.msg="invalid literal/length code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n);if(d+=u[R+2],d+=_&r[h],R=3*(f+d),0===(h=u[R])){_>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--;break}}else _>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--}while(y>=258&&b>=10);return k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,0}e.init=function(e,t,n,r,c,l){i=0,_=e,w=t,s=n,p=r,o=c,b=l,a=null},e.proc=function(e,y,x){let m,k,v,A,R,U,E,S=0,z=0,T=0;for(T=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R;;)switch(i){case 0:if(U>=258&&A>=10&&(e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,x=g(_,w,s,p,o,b,e,y),T=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R,0!=x)){i=1==x?7:9;break}d=_,a=s,l=p,i=1;case 1:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>>=a[k+1],z-=a[k+1],v=a[k],0===v){u=a[k+2],i=6;break}if(0!=(16&v)){f=15&v,c=a[k+2],i=2;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}if(0!=(32&v)){i=7;break}return i=9,y.msg="invalid literal/length code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);case 2:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}c+=S&r[m],S>>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>=a[k+1],z-=a[k+1],v=a[k],0!=(16&v)){f=15&v,h=a[k+2],i=4;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}return i=9,y.msg="invalid distance code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);case 4:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}h+=S&r[m],S>>=m,z-=m,i=5;case 5:for(E=R-h;E<0;)E+=e.end;for(;0!==c;){if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);e.window[R++]=e.window[E++],U--,E==e.end&&(E=0),c--}i=0;break;case 6:if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,e.window[R++]=u,U--,i=0;break;case 7:if(z>7&&(z-=8,A++,T--),e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,e.read!=e.write)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);i=8;case 8:return x=1,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);case 9:return x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);default:return x=t,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x)}},e.free=function(){}}const _=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function w(e,a){const s=this;let o,c=0,l=0,d=0,u=0;const w=[0],p=[0],b=new h;let g=0,y=new Int32Array(4320);const x=new f;s.bitk=0,s.bitb=0,s.window=new Uint8Array(a),s.end=a,s.read=0,s.write=0,s.reset=function(e,t){t&&(t[0]=0),6==c&&b.free(e),c=0,s.bitk=0,s.bitb=0,s.read=s.write=0},s.reset(e,null),s.inflate_flush=function(e,t){let n,r,a;return r=e.next_out_index,a=s.read,n=(a<=s.write?s.write:s.end)-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n,a==s.end&&(a=0,s.write==s.end&&(s.write=0),n=s.write-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n),e.next_out_index=r,s.read=a,t},s.proc=function(e,i){let a,h,m,k,v,A,R,U;for(k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A;;){let E,S,z,T,D,F,C,O;switch(c){case 0:for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}switch(a=7&h,g=1&a,a>>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],T=[[]],f.inflate_trees_fixed(E,S,z,T),b.init(E[0],S[0],z[0],0,T[0],0),h>>>=3,m-=3,c=6;break;case 2:h>>>=3,m-=3,c=3;break;case 3:return h>>>=3,m-=3,c=9,e.msg="invalid block type",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}break;case 1:for(;m<32;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if((~h>>>16&65535)!=(65535&h))return c=9,e.msg="invalid stored block lengths",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=65535&h,h=m=0,c=0!==l?2:0!==g?7:0;break;case 2:if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(0===R&&(A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R&&(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R)))return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(i=0,a=l,a>v&&(a=v),a>R&&(a=R),s.window.set(e.read_buf(k,a),A),k+=a,v-=a,A+=a,R-=a,0!=(l-=a))break;c=0!==g?7:0;break;case 3:for(;m<14;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(d=a=16383&h,(31&a)>29||(a>>5&31)>29)return c=9,e.msg="too many length or distance symbols",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(a=258+(31&a)+(a>>5&31),!o||o.length<a)o=[];else for(U=0;U<a;U++)o[U]=0;h>>>=14,m-=14,u=0,c=4;case 4:for(;u<4+(d>>>10);){for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}o[_[u++]]=7&h,h>>>=3,m-=3}for(;u<19;)o[_[u++]]=0;if(w[0]=7,a=x.inflate_trees_bits(o,w,p,y,e),0!=a)return(i=a)==n&&(o=null,c=9),s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);u=0,c=5;case 5:for(;a=d,!(u>=258+(31&a)+(a>>5&31));){let t,l;for(a=w[0];m<a;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(a=y[3*(p[0]+(h&r[a]))+1],l=y[3*(p[0]+(h&r[a]))+2],l<16)h>>>=a,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m<a+U;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(h>>>=a,m-=a,t+=h&r[U],h>>>=U,m-=U,U=u,a=d,U+t>258+(31&a)+(a>>5&31)||16==l&&U<1)return o=null,c=9,e.msg="invalid bit length repeat",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=16==l?o[U-1]:0;do{o[U++]=l}while(0!=--t);u=U}}if(p[0]=-1,D=[],F=[],C=[],O=[],D[0]=9,F[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,D,F,C,O,y,e),0!=a)return a==n&&(o=null,c=9),i=a,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);b.init(D[0],F[0],y,C[0],y,O[0]),c=6;case 6:if(s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,1!=(i=b.proc(s,e,i)))return s.inflate_flush(e,i);if(i=0,b.free(e),k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A,0===g){c=0;break}c=7;case 7:if(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,s.read!=s.write)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);c=8;case 8:return i=1,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);case 9:return i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);default:return i=t,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}}},s.free=function(e){s.reset(e,null),s.window=null,y=null},s.set_dictionary=function(e,t,n){s.window.set(e.subarray(t,t+n),0),s.read=s.write=n},s.sync_point=function(){return 1==c?1:0}}const p=13,b=[0,0,255,255];function g(){const e=this;function r(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):t}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<<i),r(n),0)},e.inflate=function(e,r){let a,s;if(!e||!e.istate||!e.next_in)return t;const o=e.istate;for(r=4==r?i:0,a=i;;)switch(o.mode){case 0:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,8!=(15&(o.method=e.read_byte(e.next_in_index++)))){o.mode=p,e.msg="unknown compression method",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=p,e.msg="invalid window size",o.marker=5;break}o.mode=1;case 1:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,s=255&e.read_byte(e.next_in_index++),((o.method<<8)+s)%31!=0){o.mode=p,e.msg="incorrect header check",o.marker=5;break}if(0==(32&s)){o.mode=7;break}o.mode=2;case 2:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,o.mode=3;case 3:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,o.mode=4;case 4:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,o.mode=5;case 5:return 0===e.avail_in?a:(a=r,e.avail_in--,e.total_in++,o.need+=255&e.read_byte(e.next_in_index++),o.mode=6,2);case 6:return o.mode=p,e.msg="need dictionary",o.marker=0,t;case 7:if(a=o.blocks.proc(e,a),a==n){o.mode=p,o.marker=0;break}if(0==a&&(a=r),1!=a)return a;a=r,o.blocks.reset(e,o.was),o.mode=12;case 12:return 1;case p:return n;default:return t}},e.inflateSetDictionary=function(e,n,i){let r=0,a=i;if(!e||!e.istate||6!=e.istate.mode)return t;const s=e.istate;return a>=1<<s.wbits&&(a=(1<<s.wbits)-1,r=i-a),s.blocks.set_dictionary(n,r,a),s.mode=7,0},e.inflateSync=function(e){let a,s,o,c,l;if(!e||!e.istate)return t;const d=e.istate;if(d.mode!=p&&(d.mode=p,d.marker=0),0===(a=e.avail_in))return i;for(s=e.next_in_index,o=d.marker;0!==a&&o<4;)e.read_byte(s)==b[o]?o++:o=0!==e.read_byte(s)?0:4-o,s++,a--;return e.total_in+=s-e.next_in_index,e.next_in_index=s,e.avail_in=a,d.marker=o,4!=o?n:(c=e.total_in,l=e.total_out,r(e),e.total_in=c,e.total_out=l,d.mode=7,0)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():t}}function y(){}y.prototype={inflateInit:function(e){const t=this;return t.istate=new g,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const n=this;return n.istate?n.istate.inflate(n,e):t},inflateEnd:function(){const e=this;if(!e.istate)return t;const n=e.istate.inflateEnd(e);return e.istate=null,n},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):t},inflateSetDictionary:function(e,n){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,n):t},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const x={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},m=Object.assign({},x);function k(e){if(void 0!==e.chunkSize&&(m.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(m.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(m.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(m.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(m.Deflate=e.Deflate),void 0!==e.Inflate&&(m.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.inflate=e.workerScripts.inflate}}}const v="Abort error";function A(e,t){if(e&&e.aborted)throw t.flush(),new Error(v)}async function R(e,t){return t.length&&await e.writeUint8Array(t),t.length}const U="HTTP error ",E="HTTP Range not supported",S="text/plain",z="Content-Length",T="Accept-Ranges",D="HEAD",F="GET",C="bytes";class O{constructor(){this.size=0}init(){this.initialized=!0}}class W extends O{}class I extends O{writeUint8Array(e){this.size+=e.length}}class H extends W{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((i,r)=>{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class M extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(D,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(T)!=C)throw new Error(E);void 0===this.size&&await L(this,this.options)}else await L(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await B(F,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(E);return new Uint8Array(await n.arrayBuffer())}return this.data||await L(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function L(e,t){const n=await B(F,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function B(e,t,n,i){i=Object.assign({},n.headers,i);const r=await fetch(t,Object.assign({},n,{method:e,headers:i}));if(r.status<400)return r;throw new Error(U+(r.statusText||r.status))}class N extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(D,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(T)==C?e():t(new Error(E)):void 0===this.size?P(this,this.url).then((()=>e())).catch(t):e()}),t)));await P(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await P(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(F,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(E)}}function P(e,t){return new Promise(((n,i)=>j(F,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function j(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(U+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(e,t),r.forEach((e=>a.setRequestHeader(e[0],e[1]))),a.responseType="arraybuffer",a.send(),a}class q extends W{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new N(e,t):this.reader=new M(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function V(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const G=4294967295,Z=33639248,K=101075792,X="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Y=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;Y[e]=t}class J{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n<i;n++)t=t>>>8^Y[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Q={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Q.getPartial(n);return 32===i?e.concat(t):Q._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Q.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Q.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Q.getPartial(r);return i.push(Q.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},$={bytes:{fromBits(e){const t=Q.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r<t;r++)0==(3&r)&&(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3==(3&n)&&(t.push(i),i=0);return 3&n&&t.push(Q.partial(8*(3&n),i)),t}}},ee={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};ee.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=$.utf8String.toBits(e));const n=t._buffer=Q.concat(t._buffer,e),i=t._length,r=t._length=i+Q.bitLength(e);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);e<=r;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=Q.concat(t,[Q.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,i){return e<=19?t&n|~t&i:e<=39?t^n^i:e<=59?t&n|t&i|n&i:e<=79?t^n^i:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,i=Array(80);for(let t=0;t<16;t++)i[t]=e[t];let r=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,a,s,o)+c+i[e]+t._key[Math.floor(e/20)]|0;c=o,o=s,s=t._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const te={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,c=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=a<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,c,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,l=r[c=r[o=r[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,_=e[0]^n[0],w=e[t?3:1]^n[1],p=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;e<i;e++)u=s[_>>>24]^o[w>>16&255]^c[p>>8&255]^l[255&b]^n[g],f=s[w>>>24]^o[p>>16&255]^c[b>>8&255]^l[255&_]^n[g+1],h=s[p>>>24]^o[b>>16&255]^c[_>>8&255]^l[255&w]^n[g+2],b=s[b>>>24]^o[_>>16&255]^c[w>>8&255]^l[255&p]^n[g+3],g+=4,_=u,w=f,p=h;for(let e=0;e<4;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],u=_,_=w,w=p,p=b,b=u;return r}}},ne={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Q.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Q.clamp(t,r)}}},ie={hmacSha1:class{constructor(e){const t=this,n=t._hash=ee.sha1,i=[[],[]],r=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>r&&(e=n.hash(e));for(let t=0;t<r;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}}},re="Invalid pasword",ae=16,se={name:"PBKDF2"},oe=Object.assign({hash:{name:"HMAC"}},se),ce=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},se),le=["deriveBits"],de=[8,12,16],ue=[16,24,32],fe=10,he=[0,0,0,0],_e=crypto.subtle,we=$.bytes,pe=te.aes,be=ne.ctrGladman,ge=ie.hmacSha1;class ye{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Ae(e,0,de[t.strength]+2);await async function(e,t,n){await ke(e,n,Ae(t,0,de[e.strength]));const i=Ae(t,de[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new Error(re)}(t,n,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication),e=Ae(e,de[t.strength]+2)}return me(t,e,new Uint8Array(e.length-fe-(e.length-fe)%ae),0,fe,!0)}async flush(){const e=this,t=e.pendingInput,n=Ae(t,0,t.length-fe),i=Ae(t,t.length-fe);let r=new Uint8Array(0);if(n.length){const t=we.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=we.fromBits(i)}let a=!0;if(e.signed){const t=Ae(we.fromBits(e.hmac.digest()),0,fe);for(let e=0;e<fe;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class xe{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(de[e.strength]));return await ke(e,t,n),ve(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication));const i=new Uint8Array(n.length+e.length-e.length%ae);return i.set(n,0),me(t,e,i,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(we.toBits(e.pendingInput));e.hmac.update(n),t=we.fromBits(n)}const n=Ae(we.fromBits(e.hmac.digest()),0,fe);return{data:ve(t,n),signature:n}}}function me(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=ve(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%ae)),o=0;o<=s-ae;o+=ae){const r=we.toBits(Ae(t,o,o+ae));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(we.fromBits(s),o+i)}return e.pendingInput=Ae(t,o),n}async function ke(e,t,n){const i=(new TextEncoder).encode(t),r=await _e.importKey("raw",i,oe,!1,le),a=await _e.deriveBits(Object.assign({salt:n},ce),r,8*(2*ue[e.strength]+2)),s=new Uint8Array(a);e.keys={key:we.toBits(Ae(s,0,ue[e.strength])),authentication:we.toBits(Ae(s,ue[e.strength],2*ue[e.strength])),passwordVerification:Ae(s,2*ue[e.strength])}}function ve(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Ae(e,t,n){return e.subarray(t,n)}const Re=12;class Ue{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Te(this,e)}async append(e){const t=this;if(t.password){const n=Se(t,e.subarray(0,Re));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(re);e=e.subarray(Re)}return Se(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Ee{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Te(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(Re));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ze(t,r),0),i=Re}else n=new Uint8Array(e.length),i=0;return n.set(ze(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function Se(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],De(e,n[i]);return n}function ze(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],De(e,t[i]);return n}function Te(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new J(e.keys[0]),e.crcKey2=new J(e.keys[2]);for(let n=0;n<t.length;n++)De(e,t.charCodeAt(n))}function De(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+Ce(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Fe(e){const t=2|e.keys[2];return Ce(Math.imul(t,1^t)>>>8)}function Ce(e){return 255&e}function Oe(e){return 4294967295&e}const We="inflate",Ie="Invalid signature";class He{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e({chunkSize:c}),crc32:i&&new J,zipCrypto:a,decrypt:l&&a?new Ue(n,s):new ye(n,i,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(Ie);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(Ie)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Me{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5,chunkSize:l}),crc32:n&&new J,zipCrypto:a,encrypt:t&&a?new Ee(s,o):new xe(s,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const i=await e.encrypt.flush();t=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Le="init",Be="append",Ne="flush",Pe="message";var je=(e,t,n,i,r,a,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}}),a?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-inflate.min.js",document.baseURI).href)),e.worker.addEventListener(Pe,a,!1),e.interface={append:e=>i({type:Be,data:e}),flush:()=>i({type:Ne})});return e.interface;async function i(i){if(!n){const n=e.options,i=e.scripts.slice(1);await r({scripts:i,type:Le,options:n,config:{chunkSize:t.chunkSize}})}return r(i)}function r(t){const i=e.worker,r=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}function a(t){const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new Error(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==Le||r==Ne||r==Be){const t=i.data;r==Ne?(n.resolve({data:new Uint8Array(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,i):function(e,t){const n=function(e,t,n){return t.codecType.startsWith("deflate")?new Me(e,t,n):t.codecType.startsWith(We)?new He(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,i));let qe=[],Ve=[];function Ge(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const Ze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp"];class Ke{constructor(e){Ze.forEach((t=>this[t]=e[t]))}}const Xe="File format is not recognized",Ye="End of central directory not found",Je="End of Zip64 central directory not found",Qe="End of Zip64 central directory locator not found",$e="Central directory header not found",et="Local file header not found",tt="Zip64 extra field not found",nt="File contains encrypted entry",it="Encryption method not supported",rt="Compression method not supported",at="utf-8",st=["uncompressedSize","compressedSize","offset"];class ot{constructor(e,t,n){Object.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n={}){const i=this,{reader:r,offset:a,extraFieldAES:s,compressionMethod:o,config:c,bitFlag:l,signature:d,rawLastModDate:u,compressedSize:f}=i,h=i.localDirectory={};r.initialized||await r.init();let _=await xt(r,a,30);const w=yt(_);let p=ut(i,n,"password");if(p=p&&p.length&&p,s&&99!=s.originalCompressionMethod)throw new Error(rt);if(0!=o&&8!=o)throw new Error(rt);if(67324752!=bt(w,0))throw new Error(et);ct(h,w,4),_=await xt(r,a,30+h.filenameLength+h.extraFieldLength),h.rawExtraField=_.subarray(30+h.filenameLength),lt(i,h,w,4),t.lastAccessDate=h.lastAccessDate,t.creationDate=h.creationDate;const b=i.encrypted&&h.encrypted,g=b&&!s;if(b){if(!g&&void 0===s.strength)throw new Error(it);if(!p)throw new Error(nt)}const y=await function(e,t,n){const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(qe.length<n.maxWorkers){const s={};return qe.push(s),je(s,e,t,n,a,i,r)}{const s=qe.find((e=>!e.busy));return s?(Ge(s),je(s,e,t,n,a,i,r)):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(Ve.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=Ve.splice(0,1);t(je(e,i,r,n,a,s,o))}else e.worker?(Ge(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{qe=qe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):qe=qe.filter((t=>t!=e))}}(c.Inflate,{codecType:We,password:p,zipCrypto:g,encryptionStrength:s&&s.strength,signed:ut(i,n,"checkSignature"),passwordVerification:g&&(l.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=o,encrypted:b,useWebWorkers:ut(i,n,"useWebWorkers")},c);e.initialized||await e.init();const x=ut(i,n,"signal"),m=a+30+h.filenameLength+h.extraFieldLength;return await async function(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(c<r){A(d,e);const u=await t.readUint8Array(c+i,Math.min(o,r-c)),f=u.length;A(d,e);const h=await e.append(u);if(A(d,e),l+=await R(n,h),s.onprogress)try{s.onprogress(c+f,r)}catch(e){}return a(c+o,l)}{const t=await e.flush();return l+=await R(n,t.data),{signature:t.signature,length:l}}}()}(y,r,e,m,f,c,{onprogress:n.onprogress,signal:x}),e.getData()}}function ct(e,t,n){const i=e.rawBitFlag=pt(t,n+2),r=1==(1&i),a=bt(t,n+6);Object.assign(e,{encrypted:r,version:pt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:a,lastModDate:ht(a),filenameLength:pt(t,n+22),extraFieldLength:pt(t,n+24)})}function lt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=yt(new Uint8Array(r));let o=0;try{for(;o<r.length;){const e=pt(s,o),t=pt(s,o+2);a.set(e,{type:e,data:r.slice(o+4,o+4+t)}),o+=4+t}}catch(e){}const c=pt(n,i+4);t.signature=bt(n,i+10),t.uncompressedSize=bt(n,i+18),t.compressedSize=bt(n,i+14);const l=a.get(1);l&&(!function(e,t){t.zip64=!0;const n=yt(e.data);e.values=[];for(let t=0;t<Math.floor(e.data.length/8);t++)e.values.push(gt(n,0+8*t));const i=st.filter((e=>t[e]==G));for(let t=0;t<i.length;t++)e[i[t]]=e.values[t];st.forEach((n=>{if(t[n]==G){if(void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t),t.extraFieldZip64=l);const d=a.get(28789);d&&(dt(d,"filename","rawFilename",t,e),t.extraFieldUnicodePath=d);const u=a.get(25461);u&&(dt(u,"comment","rawComment",t,e),t.extraFieldUnicodeComment=u);const f=a.get(39169);f?(!function(e,t,n){const i=yt(e.data);e.vendorVersion=wt(i,0),e.vendorId=wt(i,2);const r=wt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=pt(i,5)}(f,t,c),t.extraFieldAES=f):t.compressionMethod=c;const h=a.get(10);h&&(!function(e,t){const n=yt(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=pt(n,r),a=pt(n,r+2);1==t&&(i=e.data.slice(r+4,r+4+a)),r+=4+a}}catch(e){}try{if(i&&24==i.length){const n=yt(i),r=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:r,rawLastAccessDate:a,rawCreationDate:s});const o=_t(r),c=_t(a),l={lastModDate:o,lastAccessDate:c,creationDate:_t(s)};Object.assign(e,l),Object.assign(t,l)}}catch(e){}}(h,t),t.extraFieldNTFS=h);const _=a.get(21589);_&&(!function(e,t){const n=yt(e.data),i=wt(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate"));2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate"));4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let s=1;r.forEach(((i,r)=>{if(e.data.length>=s+4){const o=bt(n,s);t[i]=e[i]=new Date(1e3*o);const c=a[r];e[c]=o}s+=4}))}(_,t),t.extraFieldExtendedTimestamp=_)}function dt(e,t,n,i,r){const a=yt(e.data);e.version=wt(a,0),e.signature=bt(a,1);const s=new J;s.append(r[n]);const o=yt(new Uint8Array(4));o.setUint32(0,s.get(),!0),e[t]=(new TextDecoder).decode(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==bt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function ut(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function ft(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n<e.length;n++)t+=X[e[n]];return t})(e)}function ht(e){const t=(4294901760&e)>>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function _t(e){return new Date(Number(e/10000n-11644473600000n))}function wt(e,t){return e.getUint8(t)}function pt(e,t){return e.getUint16(t,!0)}function bt(e,t){return e.getUint32(t,!0)}function gt(e,t){return Number(e.getBigUint64(t,!0))}function yt(e){return new DataView(e.buffer)}function xt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(e){const t=new y,n=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,r=new Uint8Array(n);let a=!1;t.inflateInit(),t.next_out=r,this.append=function(e,s){const o=[];let c,l,d=0,u=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||a||(t.next_in_index=0,a=!0),c=t.inflate(0),a&&c===i){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==c&&1!==c)throw new Error("inflating: "+t.msg);if((a||1===c)&&t.avail_in===e.length)throw new Error("inflating: bad input");t.next_out_index&&(t.next_out_index===n?o.push(new Uint8Array(r)):o.push(r.slice(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=d&&(s(t.next_in_index),d=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(l=new Uint8Array(f),o.forEach((function(e){l.set(e,u),u+=e.length}))):l=o[0]||new Uint8Array(0),l}},this.flush=function(){t.inflateEnd()}}}),e.BlobReader=H,e.BlobWriter=class extends I{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}},e.Data64URIReader=class extends W{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),i=4*Math.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),a=e-3*Math.floor(i/4);for(let e=a;e<a+t;e++)n[e-a]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends I{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const i=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((i+e.length)/3)-i;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=v,e.ERR_BAD_FORMAT=Xe,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=$e,e.ERR_ENCRYPTED=nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qe,e.ERR_EOCDR_NOT_FOUND=Ye,e.ERR_EOCDR_ZIP64_NOT_FOUND=Je,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=tt,e.ERR_HTTP_RANGE=E,e.ERR_INVALID_PASSWORD=re,e.ERR_INVALID_SIGNATURE=Ie,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=et,e.ERR_UNSUPPORTED_COMPRESSION=rt,e.ERR_UNSUPPORTED_ENCRYPTION=it,e.HttpRangeReader=class extends q{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=q,e.Reader=W,e.TextReader=class extends W{constructor(e){super(),this.blobReader=new H(new Blob([e],{type:S}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends I{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:S})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:S})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends W{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends I{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=I,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:m})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Xe);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(yt(a),0,t);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(t){const r=n-t,s=await xt(e,r,t);for(let e=s.length-i;e>=0;e--)if(s[e]==a[0]&&s[e+1]==a[1]&&s[e+2]==a[2]&&s[e+3]==a[3])return{offset:r+e,buffer:s.slice(e,e+i).buffer}}}(n,101010256,n.size,22,1048560);if(!i)throw new Error(Ye);const r=yt(i);let a=bt(r,12),s=bt(r,16),o=pt(r,8),c=0;if(s==G||65535==o){const e=yt(await xt(n,i.offset-20,20));if(117853008!=bt(e,0))throw new Error(Je);s=gt(e,8);let t=await xt(n,s,56),r=yt(t);const l=i.offset-20-56;if(bt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await xt(n,s,56),r=yt(t)}if(bt(r,0)!=K)throw new Error(Qe);o=gt(r,24),a=bt(e,4),s-=gt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await xt(n,s,n.size-s),u=yt(d);const f=i.offset-a;if(bt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await xt(n,s,n.size-s),u=yt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;i<o;i++){const r=new ot(n,t.config,t.options);if(bt(u,l)!=Z)throw new Error($e);ct(r,u,l+6);const a=Boolean(r.bitFlag.languageEncodingFlag),s=l+46,f=s+r.filenameLength,_=f+r.extraFieldLength;Object.assign(r,{compressedSize:0,uncompressedSize:0,commentLength:pt(u,l+32),directory:16==(16&wt(u,l+38)),offset:bt(u,l+42)+c,rawFilename:d.subarray(s,f),filenameUTF8:a,commentUTF8:a,rawExtraField:d.subarray(f,_)});const w=_+r.commentLength;r.rawComment=d.subarray(_,w),r.filename=ft(r.rawFilename,r.filenameUTF8?at:ut(t,e,"filenameEncoding")),r.comment=ft(r.rawComment,r.commentUTF8?at:ut(t,e,"commentEncoding")),!r.directory&&r.filename.endsWith("/")&&(r.directory=!0),lt(r,r,u,l+6);const p=new Ke(r);if(p.getData=(e,t)=>r.getData(e,p,t),h.push(p),l=w,e.onprogress)try{e.onprogress(i+1,o,new Ke(r))}catch(e){}}return h}async close(){}},e.configure=k,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,(function(e){"use strict";const t=-2,n=-3,i=-5,r=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],a=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],s=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],o=[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],c=[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,112,112],l=[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],d=[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],u=15;function f(){let e,t,r,a,s,f;function h(e,t,o,c,l,d,h,_,w,p,b){let g,y,x,m,k,v,A,R,U,E,S,z,D,T,F;E=0,k=o;do{r[e[t+E]]++,E++,k--}while(0!==k);if(r[0]==o)return h[0]=-1,_[0]=0,0;for(R=_[0],v=1;v<=u&&0===r[v];v++);for(A=v,R<v&&(R=v),k=u;0!==k&&0===r[k];k--);for(x=k,R>k&&(R=k),_[0]=R,T=1<<v;v<k;v++,T<<=1)if((T-=r[v])<0)return n;if((T-=r[k])<0)return n;for(r[k]+=T,f[1]=v=0,E=1,D=2;0!=--k;)f[D]=v+=r[E],D++,E++;k=0,E=0;do{0!==(v=e[t+E])&&(b[f[v]++]=k),E++}while(++k<o);for(o=f[x],f[0]=k=0,E=0,m=-1,z=-R,s[0]=0,S=0,F=0;A<=x;A++)for(g=r[A];0!=g--;){for(;A>z+R;){if(m++,z+=R,F=x-z,F=F>R?R:F,(y=1<<(v=A-z))>g+1&&(y-=g+1,D=A,v<F))for(;++v<F&&!((y<<=1)<=r[++D]);)y-=r[D];if(F=1<<v,p[0]+F>1440)return n;s[m]=S=p[0],p[0]+=F,0!==m?(f[m]=k,a[0]=v,a[1]=R,v=k>>>z-R,a[2]=S-s[m-1]-v,w.set(a,3*(s[m-1]+v))):h[0]=S}for(a[1]=A-z,E>=o?a[0]=192:b[E]<c?(a[0]=b[E]<256?0:96,a[2]=b[E++]):(a[0]=d[b[E]-c]+16+64,a[2]=l[b[E++]-c]),y=1<<A-z,v=k>>>z;v<F;v+=y)w.set(a,3*(S+v));for(v=1<<A-1;0!=(k&v);v>>>=1)k^=v;for(k^=v,U=(1<<z)-1;(k&U)!=f[m];)m--,z-=R,U=(1<<z)-1}return 0!==T&&1!=x?i:0}function _(n){let i;for(e||(e=[],t=[],r=new Int32Array(16),a=[],s=new Int32Array(u),f=new Int32Array(16)),t.length<n&&(t=[]),i=0;i<n;i++)t[i]=0;for(i=0;i<16;i++)r[i]=0;for(i=0;i<3;i++)a[i]=0;s.set(r.subarray(0,u),0),f.set(r.subarray(0,16),0)}this.inflate_trees_bits=function(r,a,s,o,c){let l;return _(19),e[0]=0,l=h(r,0,19,19,null,null,s,a,o,e,t),l==n?c.msg="oversubscribed dynamic bit lengths tree":l!=i&&0!==a[0]||(c.msg="incomplete dynamic bit lengths tree",l=n),l},this.inflate_trees_dynamic=function(r,a,s,u,f,w,p,b,g){let y;return _(288),e[0]=0,y=h(s,0,r,257,o,c,w,u,b,e,t),0!=y||0===u[0]?(y==n?g.msg="oversubscribed literal/length tree":-4!=y&&(g.msg="incomplete literal/length tree",y=n),y):(_(288),y=h(s,r,a,0,l,d,p,f,b,e,t),0!=y||0===f[0]&&r>257?(y==n?g.msg="oversubscribed distance tree":y==i?(g.msg="incomplete distance tree",y=n):-4!=y&&(g.msg="empty distance tree with lengths",y=n),y):0)}}f.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=a,i[0]=s,0};function h(){const e=this;let i,a,s,o,c=0,l=0,d=0,u=0,f=0,h=0,_=0,w=0,p=0,b=0;function g(e,t,i,a,s,o,c,l){let d,u,f,h,_,w,p,b,g,y,x,m,k,v,A,R;p=l.next_in_index,b=l.avail_in,_=c.bitb,w=c.bitk,g=c.write,y=g<c.read?c.read-g-1:c.end-g,x=r[e],m=r[t];do{for(;w<20;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(d=_&x,u=i,f=a,R=3*(f+d),0!==(h=u[R]))for(;;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15,k=u[R+2]+(_&r[h]),_>>=h,w-=h;w<15;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;for(d=_&m,u=s,f=o,R=3*(f+d),h=u[R];;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15;w<h;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(v=u[R+2]+(_&r[h]),_>>=h,w-=h,y-=k,g>=v)A=g-v,g-A>0&&2>g-A?(c.window[g++]=c.window[A++],c.window[g++]=c.window[A++],k-=2):(c.window.set(c.window.subarray(A,A+2),g),g+=2,A+=2,k-=2);else{A=g-v;do{A+=c.end}while(A<0);if(h=c.end-A,k>h){if(k-=h,g-A>0&&h>g-A)do{c.window[g++]=c.window[A++]}while(0!=--h);else c.window.set(c.window.subarray(A,A+h),g),g+=h,A+=h,h=0;A=0}}if(g-A>0&&k>g-A)do{c.window[g++]=c.window[A++]}while(0!=--k);else c.window.set(c.window.subarray(A,A+k),g),g+=k,A+=k,k=0;break}if(0!=(64&h))return l.msg="invalid distance code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n;d+=u[R+2],d+=_&r[h],R=3*(f+d),h=u[R]}break}if(0!=(64&h))return 0!=(32&h)?(k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,1):(l.msg="invalid literal/length code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n);if(d+=u[R+2],d+=_&r[h],R=3*(f+d),0===(h=u[R])){_>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--;break}}else _>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--}while(y>=258&&b>=10);return k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,0}e.init=function(e,t,n,r,c,l){i=0,_=e,w=t,s=n,p=r,o=c,b=l,a=null},e.proc=function(e,y,x){let m,k,v,A,R,U,E,S=0,z=0,D=0;for(D=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R;;)switch(i){case 0:if(U>=258&&A>=10&&(e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,x=g(_,w,s,p,o,b,e,y),D=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R,0!=x)){i=1==x?7:9;break}d=_,a=s,l=p,i=1;case 1:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>>=a[k+1],z-=a[k+1],v=a[k],0===v){u=a[k+2],i=6;break}if(0!=(16&v)){f=15&v,c=a[k+2],i=2;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}if(0!=(32&v)){i=7;break}return i=9,y.msg="invalid literal/length code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 2:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}c+=S&r[m],S>>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>=a[k+1],z-=a[k+1],v=a[k],0!=(16&v)){f=15&v,h=a[k+2],i=4;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}return i=9,y.msg="invalid distance code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 4:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}h+=S&r[m],S>>=m,z-=m,i=5;case 5:for(E=R-h;E<0;)E+=e.end;for(;0!==c;){if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);e.window[R++]=e.window[E++],U--,E==e.end&&(E=0),c--}i=0;break;case 6:if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,e.window[R++]=u,U--,i=0;break;case 7:if(z>7&&(z-=8,A++,D--),e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,e.read!=e.write)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);i=8;case 8:return x=1,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 9:return x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);default:return x=t,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x)}},e.free=function(){}}const _=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function w(e,a){const s=this;let o,c=0,l=0,d=0,u=0;const w=[0],p=[0],b=new h;let g=0,y=new Int32Array(4320);const x=new f;s.bitk=0,s.bitb=0,s.window=new Uint8Array(a),s.end=a,s.read=0,s.write=0,s.reset=function(e,t){t&&(t[0]=0),6==c&&b.free(e),c=0,s.bitk=0,s.bitb=0,s.read=s.write=0},s.reset(e,null),s.inflate_flush=function(e,t){let n,r,a;return r=e.next_out_index,a=s.read,n=(a<=s.write?s.write:s.end)-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n,a==s.end&&(a=0,s.write==s.end&&(s.write=0),n=s.write-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n),e.next_out_index=r,s.read=a,t},s.proc=function(e,i){let a,h,m,k,v,A,R,U;for(k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A;;){let E,S,z,D,T,F,C,O;switch(c){case 0:for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}switch(a=7&h,g=1&a,a>>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],D=[[]],f.inflate_trees_fixed(E,S,z,D),b.init(E[0],S[0],z[0],0,D[0],0),h>>>=3,m-=3,c=6;break;case 2:h>>>=3,m-=3,c=3;break;case 3:return h>>>=3,m-=3,c=9,e.msg="invalid block type",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}break;case 1:for(;m<32;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if((~h>>>16&65535)!=(65535&h))return c=9,e.msg="invalid stored block lengths",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=65535&h,h=m=0,c=0!==l?2:0!==g?7:0;break;case 2:if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(0===R&&(A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R&&(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R)))return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(i=0,a=l,a>v&&(a=v),a>R&&(a=R),s.window.set(e.read_buf(k,a),A),k+=a,v-=a,A+=a,R-=a,0!=(l-=a))break;c=0!==g?7:0;break;case 3:for(;m<14;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(d=a=16383&h,(31&a)>29||(a>>5&31)>29)return c=9,e.msg="too many length or distance symbols",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(a=258+(31&a)+(a>>5&31),!o||o.length<a)o=[];else for(U=0;U<a;U++)o[U]=0;h>>>=14,m-=14,u=0,c=4;case 4:for(;u<4+(d>>>10);){for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}o[_[u++]]=7&h,h>>>=3,m-=3}for(;u<19;)o[_[u++]]=0;if(w[0]=7,a=x.inflate_trees_bits(o,w,p,y,e),0!=a)return(i=a)==n&&(o=null,c=9),s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);u=0,c=5;case 5:for(;a=d,!(u>=258+(31&a)+(a>>5&31));){let t,l;for(a=w[0];m<a;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(a=y[3*(p[0]+(h&r[a]))+1],l=y[3*(p[0]+(h&r[a]))+2],l<16)h>>>=a,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m<a+U;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(h>>>=a,m-=a,t+=h&r[U],h>>>=U,m-=U,U=u,a=d,U+t>258+(31&a)+(a>>5&31)||16==l&&U<1)return o=null,c=9,e.msg="invalid bit length repeat",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=16==l?o[U-1]:0;do{o[U++]=l}while(0!=--t);u=U}}if(p[0]=-1,T=[],F=[],C=[],O=[],T[0]=9,F[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,T,F,C,O,y,e),0!=a)return a==n&&(o=null,c=9),i=a,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);b.init(T[0],F[0],y,C[0],y,O[0]),c=6;case 6:if(s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,1!=(i=b.proc(s,e,i)))return s.inflate_flush(e,i);if(i=0,b.free(e),k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A,0===g){c=0;break}c=7;case 7:if(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,s.read!=s.write)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);c=8;case 8:return i=1,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);case 9:return i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);default:return i=t,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}}},s.free=function(e){s.reset(e,null),s.window=null,y=null},s.set_dictionary=function(e,t,n){s.window.set(e.subarray(t,t+n),0),s.read=s.write=n},s.sync_point=function(){return 1==c?1:0}}const p=13,b=[0,0,255,255];function g(){const e=this;function r(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):t}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<<i),r(n),0)},e.inflate=function(e,r){let a,s;if(!e||!e.istate||!e.next_in)return t;const o=e.istate;for(r=4==r?i:0,a=i;;)switch(o.mode){case 0:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,8!=(15&(o.method=e.read_byte(e.next_in_index++)))){o.mode=p,e.msg="unknown compression method",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=p,e.msg="invalid window size",o.marker=5;break}o.mode=1;case 1:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,s=255&e.read_byte(e.next_in_index++),((o.method<<8)+s)%31!=0){o.mode=p,e.msg="incorrect header check",o.marker=5;break}if(0==(32&s)){o.mode=7;break}o.mode=2;case 2:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,o.mode=3;case 3:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,o.mode=4;case 4:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,o.mode=5;case 5:return 0===e.avail_in?a:(a=r,e.avail_in--,e.total_in++,o.need+=255&e.read_byte(e.next_in_index++),o.mode=6,2);case 6:return o.mode=p,e.msg="need dictionary",o.marker=0,t;case 7:if(a=o.blocks.proc(e,a),a==n){o.mode=p,o.marker=0;break}if(0==a&&(a=r),1!=a)return a;a=r,o.blocks.reset(e,o.was),o.mode=12;case 12:return 1;case p:return n;default:return t}},e.inflateSetDictionary=function(e,n,i){let r=0,a=i;if(!e||!e.istate||6!=e.istate.mode)return t;const s=e.istate;return a>=1<<s.wbits&&(a=(1<<s.wbits)-1,r=i-a),s.blocks.set_dictionary(n,r,a),s.mode=7,0},e.inflateSync=function(e){let a,s,o,c,l;if(!e||!e.istate)return t;const d=e.istate;if(d.mode!=p&&(d.mode=p,d.marker=0),0===(a=e.avail_in))return i;for(s=e.next_in_index,o=d.marker;0!==a&&o<4;)e.read_byte(s)==b[o]?o++:o=0!==e.read_byte(s)?0:4-o,s++,a--;return e.total_in+=s-e.next_in_index,e.next_in_index=s,e.avail_in=a,d.marker=o,4!=o?n:(c=e.total_in,l=e.total_out,r(e),e.total_in=c,e.total_out=l,d.mode=7,0)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():t}}function y(){}y.prototype={inflateInit:function(e){const t=this;return t.istate=new g,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const n=this;return n.istate?n.istate.inflate(n,e):t},inflateEnd:function(){const e=this;if(!e.istate)return t;const n=e.istate.inflateEnd(e);return e.istate=null,n},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):t},inflateSetDictionary:function(e,n){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,n):t},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const x={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},m=Object.assign({},x);function k(e){if(void 0!==e.chunkSize&&(m.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(m.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(m.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(m.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(m.Deflate=e.Deflate),void 0!==e.Inflate&&(m.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.inflate=e.workerScripts.inflate}}}const v="Abort error";function A(e,t){if(e&&e.aborted)throw t.flush(),new Error(v)}async function R(e,t){return t.length&&await e.writeUint8Array(t),t.length}const U="HTTP error ",E="HTTP Range not supported",S="text/plain",z="Content-Length",D="Accept-Ranges",T="HEAD",F="GET",C="bytes";class O{constructor(){this.size=0}init(){this.initialized=!0}}class W extends O{}class I extends O{writeUint8Array(e){this.size+=e.length}}class M extends W{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((i,r)=>{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class H extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(T,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(D)!=C)throw new Error(E);void 0===this.size&&await L(this,this.options)}else await L(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await B(F,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(E);return new Uint8Array(await n.arrayBuffer())}return this.data||await L(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function L(e,t){const n=await B(F,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function B(e,t,n,i){i=Object.assign({},n.headers,i);const r=await fetch(t,Object.assign({},n,{method:e,headers:i}));if(r.status<400)return r;throw new Error(U+(r.statusText||r.status))}class N extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(T,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(D)==C?e():t(new Error(E)):void 0===this.size?P(this,this.url).then((()=>e())).catch(t):e()}),t)));await P(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await P(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(F,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(E)}}function P(e,t){return new Promise(((n,i)=>j(F,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function j(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(U+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(e,t),r.forEach((e=>a.setRequestHeader(e[0],e[1]))),a.responseType="arraybuffer",a.send(),a}class q extends W{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new N(e,t):this.reader=new H(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function V(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const G=4294967295,Z=33639248,K=101075792,X="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Y=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;Y[e]=t}class J{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n<i;n++)t=t>>>8^Y[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Q={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Q.getPartial(n);return 32===i?e.concat(t):Q._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Q.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Q.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Q.getPartial(r);return i.push(Q.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},$={bytes:{fromBits(e){const t=Q.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r<t;r++)0==(3&r)&&(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3==(3&n)&&(t.push(i),i=0);return 3&n&&t.push(Q.partial(8*(3&n),i)),t}}},ee={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};ee.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=$.utf8String.toBits(e));const n=t._buffer=Q.concat(t._buffer,e),i=t._length,r=t._length=i+Q.bitLength(e);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);e<=r;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=Q.concat(t,[Q.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,i){return e<=19?t&n|~t&i:e<=39?t^n^i:e<=59?t&n|t&i|n&i:e<=79?t^n^i:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,i=Array(80);for(let t=0;t<16;t++)i[t]=e[t];let r=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,a,s,o)+c+i[e]+t._key[Math.floor(e/20)]|0;c=o,o=s,s=t._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const te={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,c=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=a<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,c,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,l=r[c=r[o=r[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,_=e[0]^n[0],w=e[t?3:1]^n[1],p=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;e<i;e++)u=s[_>>>24]^o[w>>16&255]^c[p>>8&255]^l[255&b]^n[g],f=s[w>>>24]^o[p>>16&255]^c[b>>8&255]^l[255&_]^n[g+1],h=s[p>>>24]^o[b>>16&255]^c[_>>8&255]^l[255&w]^n[g+2],b=s[b>>>24]^o[_>>16&255]^c[w>>8&255]^l[255&p]^n[g+3],g+=4,_=u,w=f,p=h;for(let e=0;e<4;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],u=_,_=w,w=p,p=b,b=u;return r}}},ne={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Q.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Q.clamp(t,r)}}},ie={hmacSha1:class{constructor(e){const t=this,n=t._hash=ee.sha1,i=[[],[]],r=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>r&&(e=n.hash(e));for(let t=0;t<r;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}}},re="Invalid pasword",ae=16,se={name:"PBKDF2"},oe=Object.assign({hash:{name:"HMAC"}},se),ce=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},se),le=["deriveBits"],de=[8,12,16],ue=[16,24,32],fe=10,he=[0,0,0,0],_e=crypto.subtle,we=$.bytes,pe=te.aes,be=ne.ctrGladman,ge=ie.hmacSha1;class ye{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Ae(e,0,de[t.strength]+2);await async function(e,t,n){await ke(e,n,Ae(t,0,de[e.strength]));const i=Ae(t,de[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new Error(re)}(t,n,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication),e=Ae(e,de[t.strength]+2)}return me(t,e,new Uint8Array(e.length-fe-(e.length-fe)%ae),0,fe,!0)}async flush(){const e=this,t=e.pendingInput,n=Ae(t,0,t.length-fe),i=Ae(t,t.length-fe);let r=new Uint8Array(0);if(n.length){const t=we.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=we.fromBits(i)}let a=!0;if(e.signed){const t=Ae(we.fromBits(e.hmac.digest()),0,fe);for(let e=0;e<fe;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class xe{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(de[e.strength]));return await ke(e,t,n),ve(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication));const i=new Uint8Array(n.length+e.length-e.length%ae);return i.set(n,0),me(t,e,i,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(we.toBits(e.pendingInput));e.hmac.update(n),t=we.fromBits(n)}const n=Ae(we.fromBits(e.hmac.digest()),0,fe);return{data:ve(t,n),signature:n}}}function me(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=ve(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%ae)),o=0;o<=s-ae;o+=ae){const r=we.toBits(Ae(t,o,o+ae));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(we.fromBits(s),o+i)}return e.pendingInput=Ae(t,o),n}async function ke(e,t,n){const i=(new TextEncoder).encode(t),r=await _e.importKey("raw",i,oe,!1,le),a=await _e.deriveBits(Object.assign({salt:n},ce),r,8*(2*ue[e.strength]+2)),s=new Uint8Array(a);e.keys={key:we.toBits(Ae(s,0,ue[e.strength])),authentication:we.toBits(Ae(s,ue[e.strength],2*ue[e.strength])),passwordVerification:Ae(s,2*ue[e.strength])}}function ve(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Ae(e,t,n){return e.subarray(t,n)}const Re=12;class Ue{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),De(this,e)}async append(e){const t=this;if(t.password){const n=Se(t,e.subarray(0,Re));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(re);e=e.subarray(Re)}return Se(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Ee{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),De(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(Re));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ze(t,r),0),i=Re}else n=new Uint8Array(e.length),i=0;return n.set(ze(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function Se(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],Te(e,n[i]);return n}function ze(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],Te(e,t[i]);return n}function De(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new J(e.keys[0]),e.crcKey2=new J(e.keys[2]);for(let n=0;n<t.length;n++)Te(e,t.charCodeAt(n))}function Te(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+Ce(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Fe(e){const t=2|e.keys[2];return Ce(Math.imul(t,1^t)>>>8)}function Ce(e){return 255&e}function Oe(e){return 4294967295&e}const We="inflate",Ie="Invalid signature";class Me{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e({chunkSize:c}),crc32:i&&new J,zipCrypto:a,decrypt:l&&a?new Ue(n,s):new ye(n,i,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(Ie);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(Ie)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class He{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5,chunkSize:l}),crc32:n&&new J,zipCrypto:a,encrypt:t&&a?new Ee(s,o):new xe(s,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const i=await e.encrypt.flush();t=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Le="init",Be="append",Ne="flush",Pe="message";var je=(e,t,n,i,r,a,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}}),a?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-inflate.min.js",document.baseURI).href)),e.worker.addEventListener(Pe,a,!1),e.interface={append:e=>i({type:Be,data:e}),flush:()=>i({type:Ne})});return e.interface;async function i(i){if(!n){const n=e.options,i=e.scripts.slice(1);await r({scripts:i,type:Le,options:n,config:{chunkSize:t.chunkSize}})}return r(i)}function r(t){const i=e.worker,r=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}function a(t){const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new Error(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==Le||r==Ne||r==Be){const t=i.data;r==Ne?(n.resolve({data:new Uint8Array(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,i):function(e,t){const n=function(e,t,n){return t.codecType.startsWith("deflate")?new He(e,t,n):t.codecType.startsWith(We)?new Me(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,i));let qe=[],Ve=[];function Ge(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const Ze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class Ke{constructor(e){Ze.forEach((t=>this[t]=e[t]))}}const Xe="File format is not recognized",Ye="End of central directory not found",Je="End of Zip64 central directory not found",Qe="End of Zip64 central directory locator not found",$e="Central directory header not found",et="Local file header not found",tt="Zip64 extra field not found",nt="File contains encrypted entry",it="Encryption method not supported",rt="Compression method not supported",at="utf-8",st=["uncompressedSize","compressedSize","offset"];class ot{constructor(e,t,n){Object.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n={}){const i=this,{reader:r,offset:a,extraFieldAES:s,compressionMethod:o,config:c,bitFlag:l,signature:d,rawLastModDate:u,compressedSize:f}=i,h=i.localDirectory={};r.initialized||await r.init();let _=await xt(r,a,30);const w=yt(_);let p=ut(i,n,"password");if(p=p&&p.length&&p,s&&99!=s.originalCompressionMethod)throw new Error(rt);if(0!=o&&8!=o)throw new Error(rt);if(67324752!=bt(w,0))throw new Error(et);ct(h,w,4),_=await xt(r,a,30+h.filenameLength+h.extraFieldLength),h.rawExtraField=_.subarray(30+h.filenameLength),lt(i,h,w,4),t.lastAccessDate=h.lastAccessDate,t.creationDate=h.creationDate;const b=i.encrypted&&h.encrypted,g=b&&!s;if(b){if(!g&&void 0===s.strength)throw new Error(it);if(!p)throw new Error(nt)}const y=await function(e,t,n){const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(qe.length<n.maxWorkers){const s={};return qe.push(s),je(s,e,t,n,a,i,r)}{const s=qe.find((e=>!e.busy));return s?(Ge(s),je(s,e,t,n,a,i,r)):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(Ve.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=Ve.splice(0,1);t(je(e,i,r,n,a,s,o))}else e.worker?(Ge(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{qe=qe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):qe=qe.filter((t=>t!=e))}}(c.Inflate,{codecType:We,password:p,zipCrypto:g,encryptionStrength:s&&s.strength,signed:ut(i,n,"checkSignature"),passwordVerification:g&&(l.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=o,encrypted:b,useWebWorkers:ut(i,n,"useWebWorkers")},c);e.initialized||await e.init();const x=ut(i,n,"signal"),m=a+30+h.filenameLength+h.extraFieldLength;return await async function(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(c<r){A(d,e);const u=await t.readUint8Array(c+i,Math.min(o,r-c)),f=u.length;A(d,e);const h=await e.append(u);if(A(d,e),l+=await R(n,h),s.onprogress)try{s.onprogress(c+f,r)}catch(e){}return a(c+o,l)}{const t=await e.flush();return l+=await R(n,t.data),{signature:t.signature,length:l}}}()}(y,r,e,m,f,c,{onprogress:n.onprogress,signal:x}),e.getData()}}function ct(e,t,n){const i=e.rawBitFlag=pt(t,n+2),r=1==(1&i),a=bt(t,n+6);Object.assign(e,{encrypted:r,version:pt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:a,lastModDate:ht(a),filenameLength:pt(t,n+22),extraFieldLength:pt(t,n+24)})}function lt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=yt(new Uint8Array(r));let o=0;try{for(;o<r.length;){const e=pt(s,o),t=pt(s,o+2);a.set(e,{type:e,data:r.slice(o+4,o+4+t)}),o+=4+t}}catch(e){}const c=pt(n,i+4);t.signature=bt(n,i+10),t.uncompressedSize=bt(n,i+18),t.compressedSize=bt(n,i+14);const l=a.get(1);l&&(!function(e,t){t.zip64=!0;const n=yt(e.data);e.values=[];for(let t=0;t<Math.floor(e.data.length/8);t++)e.values.push(gt(n,0+8*t));const i=st.filter((e=>t[e]==G));for(let t=0;t<i.length;t++)e[i[t]]=e.values[t];st.forEach((n=>{if(t[n]==G){if(void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t),t.extraFieldZip64=l);const d=a.get(28789);d&&(dt(d,"filename","rawFilename",t,e),t.extraFieldUnicodePath=d);const u=a.get(25461);u&&(dt(u,"comment","rawComment",t,e),t.extraFieldUnicodeComment=u);const f=a.get(39169);f?(!function(e,t,n){const i=yt(e.data);e.vendorVersion=wt(i,0),e.vendorId=wt(i,2);const r=wt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=pt(i,5)}(f,t,c),t.extraFieldAES=f):t.compressionMethod=c;const h=a.get(10);h&&(!function(e,t){const n=yt(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=pt(n,r),a=pt(n,r+2);1==t&&(i=e.data.slice(r+4,r+4+a)),r+=4+a}}catch(e){}try{if(i&&24==i.length){const n=yt(i),r=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:r,rawLastAccessDate:a,rawCreationDate:s});const o=_t(r),c=_t(a),l={lastModDate:o,lastAccessDate:c,creationDate:_t(s)};Object.assign(e,l),Object.assign(t,l)}}catch(e){}}(h,t),t.extraFieldNTFS=h);const _=a.get(21589);_&&(!function(e,t){const n=yt(e.data),i=wt(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate"));2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate"));4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let s=1;r.forEach(((i,r)=>{if(e.data.length>=s+4){const o=bt(n,s);t[i]=e[i]=new Date(1e3*o);const c=a[r];e[c]=o}s+=4}))}(_,t),t.extraFieldExtendedTimestamp=_)}function dt(e,t,n,i,r){const a=yt(e.data);e.version=wt(a,0),e.signature=bt(a,1);const s=new J;s.append(r[n]);const o=yt(new Uint8Array(4));o.setUint32(0,s.get(),!0),e[t]=(new TextDecoder).decode(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==bt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function ut(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function ft(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n<e.length;n++)t+=X[e[n]];return t})(e)}function ht(e){const t=(4294901760&e)>>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function _t(e){return new Date(Number(e/10000n-11644473600000n))}function wt(e,t){return e.getUint8(t)}function pt(e,t){return e.getUint16(t,!0)}function bt(e,t){return e.getUint32(t,!0)}function gt(e,t){return Number(e.getBigUint64(t,!0))}function yt(e){return new DataView(e.buffer)}function xt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(e){const t=new y,n=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,r=new Uint8Array(n);let a=!1;t.inflateInit(),t.next_out=r,this.append=function(e,s){const o=[];let c,l,d=0,u=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||a||(t.next_in_index=0,a=!0),c=t.inflate(0),a&&c===i){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==c&&1!==c)throw new Error("inflating: "+t.msg);if((a||1===c)&&t.avail_in===e.length)throw new Error("inflating: bad input");t.next_out_index&&(t.next_out_index===n?o.push(new Uint8Array(r)):o.push(r.slice(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=d&&(s(t.next_in_index),d=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(l=new Uint8Array(f),o.forEach((function(e){l.set(e,u),u+=e.length}))):l=o[0]||new Uint8Array(0),l}},this.flush=function(){t.inflateEnd()}}}),e.BlobReader=M,e.BlobWriter=class extends I{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}},e.Data64URIReader=class extends W{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),i=4*Math.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),a=e-3*Math.floor(i/4);for(let e=a;e<a+t;e++)n[e-a]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends I{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const i=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((i+e.length)/3)-i;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=v,e.ERR_BAD_FORMAT=Xe,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=$e,e.ERR_ENCRYPTED=nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qe,e.ERR_EOCDR_NOT_FOUND=Ye,e.ERR_EOCDR_ZIP64_NOT_FOUND=Je,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=tt,e.ERR_HTTP_RANGE=E,e.ERR_INVALID_PASSWORD=re,e.ERR_INVALID_SIGNATURE=Ie,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=et,e.ERR_UNSUPPORTED_COMPRESSION=rt,e.ERR_UNSUPPORTED_ENCRYPTION=it,e.HttpRangeReader=class extends q{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=q,e.Reader=W,e.TextReader=class extends W{constructor(e){super(),this.blobReader=new M(new Blob([e],{type:S}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends I{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:S})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:S})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends W{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends I{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=I,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:m})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Xe);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(yt(a),0,t);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(t){const r=n-t,s=await xt(e,r,t);for(let e=s.length-i;e>=0;e--)if(s[e]==a[0]&&s[e+1]==a[1]&&s[e+2]==a[2]&&s[e+3]==a[3])return{offset:r+e,buffer:s.slice(e,e+i).buffer}}}(n,101010256,n.size,22,1048560);if(!i)throw new Error(Ye);const r=yt(i);let a=bt(r,12),s=bt(r,16),o=pt(r,8),c=0;if(s==G||65535==o){const e=yt(await xt(n,i.offset-20,20));if(117853008!=bt(e,0))throw new Error(Je);s=gt(e,8);let t=await xt(n,s,56),r=yt(t);const l=i.offset-20-56;if(bt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await xt(n,s,56),r=yt(t)}if(bt(r,0)!=K)throw new Error(Qe);o=gt(r,24),a=bt(e,4),s-=gt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await xt(n,s,n.size-s),u=yt(d);const f=i.offset-a;if(bt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await xt(n,s,n.size-s),u=yt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;i<o;i++){const r=new ot(n,t.config,t.options);if(bt(u,l)!=Z)throw new Error($e);ct(r,u,l+6);const a=Boolean(r.bitFlag.languageEncodingFlag),s=l+46,f=s+r.filenameLength,_=f+r.extraFieldLength,w=pt(u,l+4),p=0==(0&w);Object.assign(r,{versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:pt(u,l+32),directory:p&&16==(16&wt(u,l+38)),offset:bt(u,l+42)+c,internalFileAttribute:bt(u,l+34),externalFileAttribute:bt(u,l+38),rawFilename:d.subarray(s,f),filenameUTF8:a,commentUTF8:a,rawExtraField:d.subarray(f,_)});const b=_+r.commentLength;r.rawComment=d.subarray(_,b),r.filename=ft(r.rawFilename,r.filenameUTF8?at:ut(t,e,"filenameEncoding")),r.comment=ft(r.rawComment,r.commentUTF8?at:ut(t,e,"commentEncoding")),!r.directory&&r.filename.endsWith("/")&&(r.directory=!0),lt(r,r,u,l+6);const g=new Ke(r);if(g.getData=(e,t)=>r.getData(e,g,t),h.push(g),l=b,e.onprogress)try{e.onprogress(i+1,o,new Ke(r))}catch(e){}}return h}async close(){}},e.configure=k,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})})); |
@@ -140,2 +140,6 @@ declare module "@zip.js/zip.js" { | ||
zip64: boolean; | ||
versionMadeBy: number; | ||
msDosCompatible: boolean; | ||
internalFileAttribute: number; | ||
externalFileAttribute: number; | ||
getData?(writer: Writer, options?: OnprogressEntryDataOption | ZipReaderOptions): Promise<any>; | ||
@@ -166,2 +170,3 @@ } | ||
creationDate?: Date; | ||
extendedTimestamp?: boolean; | ||
} | ||
@@ -168,0 +173,0 @@ |
@@ -36,3 +36,4 @@ /* | ||
"extraFieldAES", "filenameUTF8", "commentUTF8", "offset", "zip64", "compressionMethod", | ||
"extraFieldNTFS", "lastAccessDate", "creationDate", "extraFieldExtendedTimestamp"]; | ||
"extraFieldNTFS", "lastAccessDate", "creationDate", "extraFieldExtendedTimestamp", | ||
"versionMadeBy", "msDosCompatible", "internalFileAttribute", "externalFileAttribute"]; | ||
@@ -39,0 +40,0 @@ export default class Entry { |
@@ -161,8 +161,14 @@ /* | ||
const commentOffset = extraFieldOffset + fileEntry.extraFieldLength; | ||
const versionMadeBy = getUint16(directoryView, offset + 4); | ||
const msDosCompatible = (versionMadeBy & 0) == 0; | ||
Object.assign(fileEntry, { | ||
versionMadeBy, | ||
msDosCompatible, | ||
compressedSize: 0, | ||
uncompressedSize: 0, | ||
commentLength: getUint16(directoryView, offset + 32), | ||
directory: (getUint8(directoryView, offset + 38) & FILE_ATTR_MSDOS_DIR_MASK) == FILE_ATTR_MSDOS_DIR_MASK, | ||
directory: msDosCompatible && ((getUint8(directoryView, offset + 38) & FILE_ATTR_MSDOS_DIR_MASK) == FILE_ATTR_MSDOS_DIR_MASK), | ||
offset: getUint32(directoryView, offset + 42) + prependedDataLength, | ||
internalFileAttribute: getUint32(directoryView, offset + 34), | ||
externalFileAttribute: getUint32(directoryView, offset + 38), | ||
rawFilename: directoryArray.subarray(filenameOffset, extraFieldOffset), | ||
@@ -169,0 +175,0 @@ filenameUTF8: languageEncodingFlag, |
@@ -190,2 +190,6 @@ /* | ||
} | ||
let extendedTimestamp = getOptionValue(zipWriter, options, "extendedTimestamp"); | ||
if (extendedTimestamp === undefined) { | ||
extendedTimestamp = true; | ||
} | ||
let maximumCompressedSize = 0; | ||
@@ -237,2 +241,3 @@ let keepOrder = getOptionValue(zipWriter, options, "keepOrder"); | ||
encryptionStrength, | ||
extendedTimestamp, | ||
zipCrypto, | ||
@@ -358,3 +363,4 @@ bufferedWrite, | ||
signal, | ||
encryptionStrength | ||
encryptionStrength, | ||
extendedTimestamp | ||
} = options; | ||
@@ -373,29 +379,34 @@ const encrypted = Boolean(password && password.length); | ||
} | ||
const rawExtraFieldExtendedTimestamp = new Uint8Array(9 + (lastAccessDate ? 4 : 0) + (creationDate ? 4 : 0)); | ||
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp); | ||
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP); | ||
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4); | ||
const extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x4 : 0); | ||
setUint8(extraFieldExtendedTimestampView, 4, extraFieldExtendedTimestampFlag); | ||
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(options.lastModDate.getTime() / 1000)); | ||
if (lastAccessDate) { | ||
setUint32(extraFieldExtendedTimestampView, 9, Math.floor(lastAccessDate.getTime() / 1000)); | ||
} | ||
if (creationDate) { | ||
setUint32(extraFieldExtendedTimestampView, 13, Math.floor(creationDate.getTime() / 1000)); | ||
} | ||
let rawExtraFieldNTFS; | ||
try { | ||
rawExtraFieldNTFS = new Uint8Array(36); | ||
const extraFieldNTFSView = getDataView(rawExtraFieldNTFS); | ||
const lastModTimeNTFS = getTimeNTFS(options.lastModDate); | ||
setUint16(extraFieldNTFSView, 0, EXTRAFIELD_TYPE_NTFS); | ||
setUint16(extraFieldNTFSView, 2, 32); | ||
setUint16(extraFieldNTFSView, 8, EXTRAFIELD_TYPE_NTFS_TAG1); | ||
setUint16(extraFieldNTFSView, 10, 24); | ||
setBigUint64(extraFieldNTFSView, 12, lastModTimeNTFS); | ||
setBigUint64(extraFieldNTFSView, 20, getTimeNTFS(lastAccessDate) || lastModTimeNTFS); | ||
setBigUint64(extraFieldNTFSView, 28, getTimeNTFS(creationDate) || lastModTimeNTFS); | ||
} catch (error) { | ||
rawExtraFieldNTFS = new Uint8Array(0); | ||
let rawExtraFieldExtendedTimestamp; | ||
if (extendedTimestamp) { | ||
rawExtraFieldExtendedTimestamp = new Uint8Array(9 + (lastAccessDate ? 4 : 0) + (creationDate ? 4 : 0)); | ||
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp); | ||
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP); | ||
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4); | ||
const extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x4 : 0); | ||
setUint8(extraFieldExtendedTimestampView, 4, extraFieldExtendedTimestampFlag); | ||
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(options.lastModDate.getTime() / 1000)); | ||
if (lastAccessDate) { | ||
setUint32(extraFieldExtendedTimestampView, 9, Math.floor(lastAccessDate.getTime() / 1000)); | ||
} | ||
if (creationDate) { | ||
setUint32(extraFieldExtendedTimestampView, 13, Math.floor(creationDate.getTime() / 1000)); | ||
} | ||
try { | ||
rawExtraFieldNTFS = new Uint8Array(36); | ||
const extraFieldNTFSView = getDataView(rawExtraFieldNTFS); | ||
const lastModTimeNTFS = getTimeNTFS(options.lastModDate); | ||
setUint16(extraFieldNTFSView, 0, EXTRAFIELD_TYPE_NTFS); | ||
setUint16(extraFieldNTFSView, 2, 32); | ||
setUint16(extraFieldNTFSView, 8, EXTRAFIELD_TYPE_NTFS_TAG1); | ||
setUint16(extraFieldNTFSView, 10, 24); | ||
setBigUint64(extraFieldNTFSView, 12, lastModTimeNTFS); | ||
setBigUint64(extraFieldNTFSView, 20, getTimeNTFS(lastAccessDate) || lastModTimeNTFS); | ||
setBigUint64(extraFieldNTFSView, 28, getTimeNTFS(creationDate) || lastModTimeNTFS); | ||
} catch (error) { | ||
rawExtraFieldNTFS = new Uint8Array(0); | ||
} | ||
} else { | ||
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array(0); | ||
} | ||
@@ -414,3 +425,4 @@ const fileEntry = { | ||
rawExtraFieldAES, | ||
rawExtraField | ||
rawExtraField, | ||
extendedTimestamp | ||
}; | ||
@@ -578,3 +590,2 @@ let uncompressedSize = fileEntry.uncompressedSize = 0; | ||
rawExtraFieldZip64, | ||
rawExtraFieldNTFS, | ||
rawExtraFieldAES, | ||
@@ -588,8 +599,15 @@ rawExtraField, | ||
} = fileEntry; | ||
const rawExtraFieldExtendedTimestamp = new Uint8Array(9); | ||
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp); | ||
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP); | ||
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4); | ||
setUint8(extraFieldExtendedTimestampView, 4, 0x1); | ||
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(fileEntry.lastModDate.getTime() / 1000)); | ||
let rawExtraFieldExtendedTimestamp; | ||
let rawExtraFieldNTFS; | ||
if (fileEntry.extendedTimestamp) { | ||
rawExtraFieldNTFS = fileEntry.rawExtraFieldNTFS; | ||
rawExtraFieldExtendedTimestamp = new Uint8Array(9); | ||
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp); | ||
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP); | ||
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4); | ||
setUint8(extraFieldExtendedTimestampView, 4, 0x1); | ||
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(fileEntry.lastModDate.getTime() / 1000)); | ||
} else { | ||
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array(0); | ||
} | ||
const extraFieldLength = rawExtraFieldZip64.length + rawExtraFieldAES.length + rawExtraFieldExtendedTimestamp.length + rawExtraFieldNTFS.length + rawExtraField.length; | ||
@@ -596,0 +614,0 @@ setUint32(directoryView, offset, CENTRAL_FILE_HEADER_SIGNATURE); |
@@ -6,3 +6,3 @@ { | ||
"license": "BSD-3-Clause", | ||
"version": "2.3.2", | ||
"version": "2.3.3", | ||
"type": "module", | ||
@@ -9,0 +9,0 @@ "keywords": [ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2384474
37840