@zip.js/zip.js 2.7.63 → 2.7.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- ((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{Array:t,Object:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:m,Blob:g,Promise:_,TextEncoder:b,TextDecoder:y,document:x,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:R,DecompressionStream:T,navigator:D,Worker:F}="undefined"!=typeof globalThis?globalThis:this||self,A=-2;function C(e){return W(e.map(([e,r])=>new t(e).fill(r,0,e)))}function W(e){return e.reduce((e,r)=>e.concat(t.isArray(r)?W(r):r),[])}const N=[0,1,2,3].concat(...C([[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 U(){const e=this;function t(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}e.build_tree=r=>{const n=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(r.heap_len=0,r.heap_max=573,o=0;a>o;o++)0!==n[2*o]?(r.heap[++r.heap_len]=d=o,r.depth[o]=0):n[2*o+1]=0;for(;2>r.heap_len;)c=r.heap[++r.heap_len]=2>d?++d:0,n[2*c]=1,r.depth[c]=0,r.opt_len--,s&&(r.static_len-=s[2*c+1]);for(e.max_code=d,o=i.floor(r.heap_len/2);o>=1;o--)r.pqdownheap(n,o);c=a;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],r.pqdownheap(n,1),l=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=l,n[2*c]=n[2*o]+n[2*l],r.depth[c]=i.max(r.depth[o],r.depth[l])+1,n[2*o+1]=n[2*l+1]=c,r.heap[1]=c++,r.pqdownheap(n,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],(t=>{const r=e.dyn_tree,n=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=e.stat_desc.max_length;let o,l,c,d,u,f,p=0;for(d=0;15>=d;d++)t.bl_count[d]=0;for(r[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)l=t.heap[o],d=r[2*r[2*l+1]+1]+1,d>i&&(d=i,p++),r[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=s[l-a]),f=r[2*l],t.opt_len+=f*(d+u),n&&(t.static_len+=f*(n[2*l+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(r[2*c+1]!=d&&(t.opt_len+=(d-r[2*c+1])*r[2*c],r[2*c+1]=d),l--)}})(r),((e,r,n)=>{const s=[];let a,i,o,l=0;for(a=1;15>=a;a++)s[a]=l=l+n[a-1]<<1;for(i=0;r>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(n,e.max_code,r.bl_count)}}function I(e,t,r,n,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=r,a.elems=n,a.max_length=s}U._length_code=[0,1,2,3,4,5,6,7].concat(...C([[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]])),U.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],U.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],U.d_code=e=>256>e?N[e]:N[256+(e>>>7)],U.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],U.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],U.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],U.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const L=C([[144,8],[112,9],[24,7],[8,8]]);I.static_ltree=W([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,L[t]]));const O=C([[30,5]]);function H(e,t,r,n,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=r,a.max_chain=n,a.func=s}I.static_dtree=W([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,O[t]])),I.static_l_desc=new I(I.static_ltree,U.extra_lbits,257,286,15),I.static_d_desc=new I(I.static_dtree,U.extra_dbits,0,30,15),I.static_bl_desc=new I(null,U.extra_blbits,0,19,7);const M=[new H(0,0,0,0,0),new H(4,4,8,4,1),new H(4,5,16,8,1),new H(4,6,32,32,1),new H(4,4,16,16,2),new H(8,16,32,32,2),new H(8,16,128,128,2),new H(8,32,128,256,2),new H(32,128,258,1024,2),new H(32,258,258,4096,2)],q=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],P=113,B=666,V=262;function Z(e,t,r,n){const s=e[2*t],a=e[2*r];return a>s||s==a&&n[t]<=n[r]}function K(){const e=this;let t,r,n,s,a,o,l,c,d,u,f,w,m,g,_,b,y,x,S,z,k,v,E,R,T,D,F,C,W,N,L,O,H;const K=new U,j=new U,X=new U;let Y,G,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)L[2*t]=0;for(t=0;30>t;t++)O[2*t]=0;for(t=0;19>t;t++)H[2*t]=0;L[512]=1,e.opt_len=e.static_len=0,G=J=0}function re(e,t){let r,n=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)r=s,s=e[2*(l+1)+1],++a<i&&r==s||(o>a?H[2*r]+=a:0!==r?(r!=n&&H[2*r]++,H[32]++):a>10?H[36]++:H[34]++,a=0,n=r,0===s?(i=138,o=3):r==s?(i=6,o=3):(i=7,o=4))}function ne(t){e.pending_buf[e.pending++]=t}function se(e){ne(255&e),ne(e>>>8&255)}function ae(e,t){let r;const n=t;ee>16-n?(r=e,$|=r<<ee&65535,se($),$=r>>>16-ee,ee+=n-16):($|=e<<ee&65535,ee+=n)}function ie(e,t){const r=2*e;ae(65535&t[r],65535&t[r+1])}function oe(e,t){let r,n,s=-1,a=e[1],i=0,o=7,l=4;for(0===a&&(o=138,l=3),r=0;t>=r;r++)if(n=a,a=e[2*(r+1)+1],++i>=o||n!=a){if(l>i)do{ie(n,H)}while(0!==--i);else 0!==n?(n!=s&&(ie(n,H),i--),ie(16,H),ae(i-3,2)):i>10?(ie(18,H),ae(i-11,7)):(ie(17,H),ae(i-3,3));i=0,s=n,0===a?(o=138,l=3):n==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(se($),$=0,ee=0):8>ee||(ne(255&$),$>>>=8,ee-=8)}function ce(t,r){let n,s,a;if(e.dist_buf[G]=t,e.lc_buf[G]=255&r,G++,0===t?L[2*r]++:(J++,t--,L[2*(U._length_code[r]+256+1)]++,O[2*U.d_code(t)]++),!(8191&G)&&F>2){for(n=8*G,s=k-y,a=0;30>a;a++)n+=O[2*a]*(5+U.extra_dbits[a]);if(n>>>=3,J<i.floor(G/2)&&n<i.floor(s/2))return!0}return G==Y-1}function de(t,r){let n,s,a,i,o=0;if(0!==G)do{n=e.dist_buf[o],s=e.lc_buf[o],o++,0===n?ie(s,t):(a=U._length_code[s],ie(a+256+1,t),i=U.extra_lbits[a],0!==i&&(s-=U.base_length[a],ae(s,i)),n--,a=U.d_code(n),ie(a,r),i=U.extra_dbits[a],0!==i&&(n-=U.base_dist[a],ae(n,i)))}while(G>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&ne(255&$),$=0,ee=0}function fe(t,r,n){ae(0+(n?1:0),3),((t,r)=>{ue(),Q=8,se(r),se(~r),e.pending_buf.set(c.subarray(t,t+r),e.pending),e.pending+=r})(t,r)}function pe(r){((t,r,n)=>{let s,a,i=0;F>0?(K.build_tree(e),j.build_tree(e),i=(()=>{let t;for(re(L,K.max_code),re(O,j.max_code),X.build_tree(e),t=18;t>=3&&0===H[2*U.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=r+5,r+4>s||-1==t?a==s?(ae(2+(n?1:0),3),de(I.static_ltree,I.static_dtree)):(ae(4+(n?1:0),3),((e,t,r)=>{let n;for(ae(e-257,5),ae(t-1,5),ae(r-4,4),n=0;r>n;n++)ae(H[2*U.bl_order[n]+1],3);oe(L,e-1),oe(O,t-1)})(K.max_code+1,j.max_code+1,i+1),de(L,O)):fe(t,r,n),te(),n&&ue()})(0>y?-1:y,k-y,r),y=k,t.flush_pending()}function he(){let e,r,n,s;do{if(s=d-E-k,0===s&&0===k&&0===E)s=a;else if(-1==s)s--;else if(k>=a+a-V){c.set(c.subarray(a,a+a),0),v-=a,k-=a,y-=a,e=m,n=e;do{r=65535&f[--n],f[n]=a>r?0:r-a}while(0!==--e);e=a,n=e;do{r=65535&u[--n],u[n]=a>r?0:r-a}while(0!==--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,s),E+=e,3>E||(w=255&c[k],w=(w<<b^255&c[k+1])&_)}while(V>E&&0!==t.avail_in)}function we(e){let t,r,n=T,s=k,i=R;const o=k>a-V?k-(a-V):0;let d=N;const f=l,p=k+258;let h=c[s+i-1],w=c[s+i];W>R||(n>>=2),d>E&&(d=E);do{if(t=e,c[t+i]==w&&c[t+i-1]==h&&c[t]==c[s]&&c[++t]==c[s+1]){s+=2,t++;do{}while(c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&p>s);if(r=258-(p-s),s=p-258,r>i){if(v=e,i=r,r>=d)break;h=c[s+i-1],w=c[s+i]}}}while((e=65535&u[e&f])>o&&0!==--n);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],L=[],O=[],H=[],e.pqdownheap=(t,r)=>{const n=e.heap,s=n[r];let a=r<<1;for(;a<=e.heap_len&&(a<e.heap_len&&Z(t,n[a+1],n[a],e.depth)&&a++,!Z(t,s,n[a],e.depth));)n[r]=n[a],r=a,a<<=1;n[r]=s},e.deflateInit=(t,S,v,U,q,B)=>(U||(U=8),q||(q=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>q||q>9||8!=U||9>v||v>15||0>S||S>9||0>B||B>2?A:(t.dstate=e,o=v,a=1<<o,l=a-1,g=q+7,m=1<<g,_=m-1,b=i.floor((g+3-1)/3),c=new p(2*a),u=[],f=[],Y=1<<q+6,e.pending_buf=new p(4*Y),n=4*Y,e.dist_buf=new h(Y),e.lc_buf=new p(Y),F=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,r=P,s=0,K.dyn_tree=L,K.stat_desc=I.static_l_desc,j.dyn_tree=O,j.stat_desc=I.static_d_desc,X.dyn_tree=H,X.stat_desc=I.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[m-1]=0;for(let e=0;m-1>e;e++)f[e]=0;D=M[F].max_lazy,W=M[F].good_length,N=M[F].nice_length,T=M[F].max_chain,k=0,y=0,E=0,x=R=2,z=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=r&&r!=P&&r!=B?A:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,r==P?-3:0),e.deflateParams=(e,t,r)=>{let n=0;return-1==t&&(t=6),0>t||t>9||0>r||r>2?A:(M[F].func!=M[t].func&&0!==e.total_in&&(n=e.deflate(1)),F!=t&&(F=t,D=M[F].max_lazy,W=M[F].good_length,N=M[F].nice_length,T=M[F].max_chain),C=r,n)},e.deflateSetDictionary=(e,t,n)=>{let s,i=n,o=0;if(!t||42!=r)return A;if(3>i)return 0;for(i>a-V&&(i=a-V,o=n-i),c.set(t.subarray(o,o+i),0),k=i,y=i,w=255&c[0],w=(w<<b^255&c[1])&_,s=0;i-3>=s;s++)w=(w<<b^255&c[s+2])&_,u[s&l]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,g,T,W;if(d>4||0>d)return A;if(!i.next_out||!i.next_in&&0!==i.avail_in||r==B&&4!=d)return i.msg=q[4],A;if(0===i.avail_out)return i.msg=q[7],-5;var N;if(t=i,T=s,s=d,42==r&&(h=8+(o-8<<4)<<8,g=(F-1&255)>>1,g>3&&(g=3),h|=g<<6,0!==k&&(h|=32),h+=31-h%31,r=P,ne((N=h)>>8&255),ne(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&T>=d&&4!=d)return t.msg=q[7],-5;if(r==B&&0!==t.avail_in)return i.msg=q[7],-5;if(0!==t.avail_in||0!==E||0!=d&&r!=B){switch(W=-1,M[F].func){case 0:W=(e=>{let r,s=65535;for(s>n-5&&(s=n-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,r=y+s,(0===k||k>=r)&&(E=k-r,k=r,pe(!1),0===t.avail_out))return 0;if(k-y>=a-V&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:W=(e=>{let r,n=0;for(;;){if(V>E){if(he(),V>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k),0===n||(k-n&65535)>a-V||2!=C&&(x=we(n)),3>x)r=ce(0,255&c[k]),E--,k++;else if(r=ce(k-v,x-3),E-=x,x>D||3>E)k+=x,x=0,w=255&c[k],w=(w<<b^255&c[k+1])&_;else{x--;do{k++,w=(w<<b^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k}while(0!==--x);k++}if(r&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:W=(e=>{let r,n,s=0;for(;;){if(V>E){if(he(),V>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k),R=x,S=v,x=2,0!==s&&D>R&&a-V>=(k-s&65535)&&(2!=C&&(x=we(s)),5>=x&&(1==C||3==x&&k-v>4096)&&(x=2)),3>R||x>R)if(0!==z){if(r=ce(0,255&c[k-1]),r&&pe(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{n=k+E-3,r=ce(k-1-S,R-3),E-=R-1,R-=2;do{++k>n||(w=(w<<b^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k)}while(0!==--R);if(z=0,x=2,k++,r&&(pe(!1),0===t.avail_out))return 0}}return 0!==z&&(r=ce(0,255&c[k-1]),z=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=W&&3!=W||(r=B),0==W||2==W)return 0===t.avail_out&&(s=-1),0;if(1==W){if(1==d)ae(2,3),ie(256,I.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),ie(256,I.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;m>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function j(){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}j.prototype={deflateInit(e,t){const r=this;return r.dstate=new K,t||(t=15),r.dstate.deflateInit(r,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):A},deflateEnd(){const e=this;if(!e.dstate)return A;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const r=this;return r.dstate?r.dstate.deflateParams(r,e,t):A},deflateSetDictionary(e,t){const r=this;return r.dstate?r.dstate.deflateSetDictionary(r,e,t):A},read_buf(e,t,r){const n=this;let s=n.avail_in;return s>r&&(s=r),0===s?0:(n.avail_in-=s,e.set(n.next_in.subarray(n.next_in_index,n.next_in_index+s),t),n.next_in_index+=s,n.total_in+=s,s)},flush_pending(){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 X=4294967295,Y=65535,G=134695760,J=G,Q=new o(2107,11,31),$=new o(1980,0,1),ee=void 0,te="undefined",re="function";class ne{constructor(e){return class extends k{constructor(t,r){const n=new e(r);super({transform(e,t){t.enqueue(n.append(e))},flush(e){const t=n.flush();t&&e.enqueue(t)}})}}}}let se=2;try{typeof D!=te&&D.hardwareConcurrency&&(se=D.hardwareConcurrency)}catch(e){}const ae={chunkSize:524288,maxWorkers:se,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:ee,CompressionStreamNative:typeof R!=te&&R,DecompressionStreamNative:typeof T!=te&&T},ie=r.assign({},ae);function oe(){return ie}function le(e){const{baseURL:r,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(ce("baseURL",r),ce("chunkSize",n),ce("maxWorkers",s),ce("terminateWorkerTimeout",a),ce("useCompressionStream",i),ce("useWebWorkers",o),l&&(ie.CompressionStream=new ne(l)),c&&(ie.DecompressionStream=new ne(c)),ce("CompressionStream",d),ce("DecompressionStream",u),p!==ee){const{deflate:e,inflate:r}=p;if((e||r)&&(ie.workerScripts||(ie.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");ie.workerScripts.deflate=e}if(r){if(!t.isArray(r))throw new f("workerScripts.inflate must be an array");ie.workerScripts.inflate=r}}}function ce(e,t){t!==ee&&(ie[e]=t)}const de=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;de[e]=t}class ue{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,n=0|e.length;n>r;r++)t=t>>>8^de[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class fe extends k{constructor(){let e;const t=new ue;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function pe(e){if(typeof b==te){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const he={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=he.getPartial(r);return 32===n?e.concat(t):he._shiftRight(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+he.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=he.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=he.getPartial(s);return n.push(he.partial(t+a&31,t+a>32?r:n.pop(),1)),n}},we={bytes:{fromBits(e){const t=he.bitLength(e)/8,r=new p(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},toBits(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(he.partial(8*(3&r),n)),t}}},me=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=we.utf8String.toBits(e));const r=t._buffer=he.concat(t._buffer,e),n=t._length,s=t._length=n+he.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=he.concat(t,[he.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,n=r._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],l=n[2],c=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._S(5,a)+r._f(e,o,l,c)+d+s[e]+r._key[i.floor(e/20)]|0;d=c,c=l,l=r._S(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+l|0,n[3]=n[3]+c|0,n[4]=n[4]+d|0}},ge={getRandomValues(e){const t=new w(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let n,s=0;s<e.length;s+=4){const e=r(4294967296*(n||i.random()));n=987654071*e(),t[s/4]=4294967296*e()|0}return e}},_e={importKey:e=>new _e.hmacSha1(we.bytes.toBits(e)),pbkdf2(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,l,c;const d=new ArrayBuffer(s),u=new m(d);let p=0;const h=he;for(t=we.bytes.toBits(t),c=1;(s||1)>p;c++){for(a=i=e.encrypt(h.concat(t,[c])),o=1;r>o;o++)for(i=e.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=me,n=[[],[]];t._baseHash=[new r,new r];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new r).update(e).finalize());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new r(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(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},be=typeof S!=te&&typeof S.getRandomValues==re,ye="Invalid password",xe="Invalid signature",Se="zipjs-abort-check-password";function ze(e){return be?S.getRandomValues(e):ge.getRandomValues(e)}const ke=16,ve={name:"PBKDF2"},Ee=r.assign({hash:{name:"HMAC"}},ve),Re=r.assign({iterations:1e3,hash:{name:"SHA-1"}},ve),Te=["deriveBits"],De=[8,12,16],Fe=[16,24,32],Ae=10,Ce=[0,0,0,0],We=typeof S!=te,Ne=We&&S.subtle,Ue=We&&typeof Ne!=te,Ie=we.bytes,Le=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],n=t._tables[1],s=e.length;let a,i,o,l=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[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],r=e[4],n=t[4],s=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,c=s[l=s[o=s[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],n=r.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,p,h,w=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],_=e[t?1:3]^r[3],b=4;for(let e=0;n>e;e++)u=i[w>>>24]^o[m>>16&255]^l[g>>8&255]^c[255&_]^r[b],p=i[m>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&w]^r[b+1],h=i[g>>>24]^o[_>>16&255]^l[w>>8&255]^c[255&m]^r[b+2],_=i[_>>>24]^o[w>>16&255]^l[m>>8&255]^c[255&g]^r[b+3],b+=4,w=u,m=p,g=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&_]^r[b++],u=w,w=m,m=g,g=_,_=u;return s}},Oe=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))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let n;if(!(n=t.length))return[];const s=he.bitLength(t);for(let s=0;n>s;s+=4){this.incCounter(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return he.clamp(t,s)}},He=_e.hmacSha1;let Me=We&&Ue&&typeof Ne.importKey==re,qe=We&&Ue&&typeof Ne.deriveBits==re;class Pe extends k{constructor({password:e,rawPassword:t,signed:n,encryptionStrength:s,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new _(e=>this.resolveReady=e),password:Ke(e,t),signed:n,strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:i,ready:o}=r;n?(await(async(e,t,r,n)=>{const s=await Ze(e,t,r,Xe(n,0,De[t])),a=Xe(n,De[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(ye)})(r,s,n,Xe(e,0,De[s]+2)),e=Xe(e,De[s]+2),a?t.error(new f(Se)):i()):await o;const l=new p(e.length-Ae-(e.length-Ae)%ke);t.enqueue(Ve(r,e,l,0,Ae,!0))},async flush(e){const{signed:t,ctr:r,hmac:n,pending:s,ready:a}=this;if(n&&r){await a;const i=Xe(s,0,s.length-Ae),o=Xe(s,s.length-Ae);let l=new p;if(i.length){const e=Ge(Ie,i);n.update(e);const t=r.update(e);l=Ye(Ie,t)}if(t){const e=Xe(Ye(Ie,n.digest()),0,Ae);for(let t=0;Ae>t;t++)if(e[t]!=o[t])throw new f(xe)}e.enqueue(l)}}})}}class Be extends k{constructor({password:e,rawPassword:t,encryptionStrength:n}){let s;super({start(){r.assign(this,{ready:new _(e=>this.resolveReady=e),password:Ke(e,t),strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:a,ready:i}=r;let o=new p;n?(o=await(async(e,t,r)=>{const n=ze(new p(De[t]));return je(n,await Ze(e,t,r,n))})(r,s,n),a()):await i;const l=new p(o.length+e.length-e.length%ke);l.set(o,0),t.enqueue(Ve(r,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:n,ready:a}=this;if(r&&t){await a;let i=new p;if(n.length){const e=t.update(Ge(Ie,n));r.update(e),i=Ye(Ie,e)}s.signature=Ye(Ie,r.digest()).slice(0,Ae),e.enqueue(je(i,s.signature))}}}),s=this}}function Ve(e,t,r,n,s,a){const{ctr:i,hmac:o,pending:l}=e,c=t.length-s;let d;for(l.length&&(t=je(l,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,c-c%ke)),d=0;c-ke>=d;d+=ke){const e=Ge(Ie,Xe(t,d,d+ke));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Ye(Ie,s),d+n)}return e.pending=Xe(t,d),r}async function Ze(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!Me)return _e.importKey(t);try{return await Ne.importKey("raw",t,r,!1,s)}catch(e){return Me=!1,_e.importKey(t)}})(0,s,Ee,0,Te),o=await(async(e,t,r)=>{if(!qe)return _e.pbkdf2(t,e.salt,Re.iterations,r);try{return await Ne.deriveBits(e,t,r)}catch(n){return qe=!1,_e.pbkdf2(t,e.salt,Re.iterations,r)}})(r.assign({salt:a},Re),i,8*(2*Fe[n]+2)),l=new p(o),c=Ge(Ie,Xe(l,0,Fe[n])),d=Ge(Ie,Xe(l,Fe[n],2*Fe[n])),u=Xe(l,2*Fe[n]);return r.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new Oe(new Le(c),t.from(Ce)),hmac:new He(d)}),u}function Ke(e,t){return t===ee?pe(e):t}function je(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Xe(e,t,r){return e.subarray(t,r)}function Ye(e,t){return e.fromBits(t)}function Ge(e,t){return e.toBits(t)}class Je extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:n}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;if(r.password){const t=$e(r,e.subarray(0,12));if(r.password=null,t[11]!=r.passwordVerification)throw new f(ye);e=e.subarray(12)}n?t.error(new f(Se)):t.enqueue($e(r,e))}})}}class Qe extends k{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;let n,s;if(r.password){r.password=null;const t=ze(new p(12));t[11]=r.passwordVerification,n=new p(e.length+t.length),n.set(et(r,t),0),s=12}else n=new p(e.length),s=0;n.set(et(r,e),s),t.enqueue(n)}})}}function $e(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=nt(e)^t[n],rt(e,r[n]);return r}function et(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=nt(e)^t[n],rt(e,t[n]);return r}function tt(e,t){const n=[305419896,591751049,878082192];r.assign(e,{keys:n,crcKey0:new ue(n[0]),crcKey2:new ue(n[2])});for(let r=0;r<t.length;r++)rt(e,t.charCodeAt(r))}function rt(e,t){let[r,n,s]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),n=at(i.imul(at(n+st(r)),134775813)+1),e.crcKey2.append([n>>>24]),s=~e.crcKey2.get(),e.keys=[r,n,s]}function nt(e){const t=2|e.keys[2];return st(i.imul(t,1^t)>>>8)}function st(e){return 255&e}function at(e){return 4294967295&e}const it="deflate-raw";class ot extends k{constructor(e,{chunkSize:t,CompressionStream:r,CompressionStreamNative:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,p=ct(super.readable);a&&!o||!l||(u=new fe,p=ft(p,u)),s&&(p=ut(p,i,{level:c,chunkSize:t},n,r)),a&&(o?p=ft(p,new Qe(e)):(f=new Be(e),p=ft(p,f))),dt(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new m(u.value.buffer).getUint32(0)),d.signature=e})}}class lt extends k{constructor(e,{chunkSize:t,DecompressionStream:r,DecompressionStreamNative:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,p=ct(super.readable);a&&(s?p=ft(p,new Je(e)):(u=new Pe(e),p=ft(p,u))),l&&(p=ut(p,c,{chunkSize:t},n,r)),a&&!s||!i||(d=new fe,p=ft(p,d)),dt(this,p,()=>{if((!a||s)&&i){const e=new m(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(xe)}})}}function ct(e){return ft(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function dt(e,t,n){t=ft(t,new k({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function ut(e,t,r,n,s){try{e=ft(e,new(t&&n?n:s)(it,r))}catch(n){if(!t)return e;try{e=ft(e,new s(it,r))}catch(t){return e}}return e}function ft(e,t){return e.pipeThrough(t)}const pt="data",ht="close",wt="deflate";class mt extends k{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(wt)?a=ot:s.startsWith("inflate")&&(a=lt);let i=0,o=0;const l=new a(e,t),c=super.readable,d=new k({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:o})}}),u=new k({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;r.assign(n,{signature:e,outputSize:i,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class gt extends k{constructor(e){let t;super({transform:function r(n,s){if(t){const e=new p(t.length+n.length);e.set(t),e.set(n,t.length),n=e,t=null}n.length>e?(s.enqueue(n.slice(0,e)),r(n.slice(e),s)):t=n},flush(e){t&&t.length&&e.enqueue(t)}})}}let _t=typeof F!=te;class bt{constructor(e,{readable:t,writable:n},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new gt(a.chunkSize)).pipeThrough(new yt(t,i),{signal:u}),writable:n,options:r.assign({},s),scripts:c,transferStreams:l,terminate:()=>new _(t=>{const{worker:r,busy:n}=e;r?(n?e.resolveTerminated=t:(r.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&_t?zt:St)(e,a)}}class yt extends k{constructor(e,{onstart:t,onprogress:r,size:n,onend:s}){let a=0;super({async start(){t&&await xt(t,n)},async transform(e,t){a+=e.length,r&&await xt(r,a,n),t.enqueue(e)},async flush(){e.size=a,s&&await xt(s,a)}})}}async function xt(e,...t){try{await e(...t)}catch(e){}}function St(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:n},s)=>{try{const n=new mt(e,s);await t.pipeThrough(n).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=n;return{signature:a,inputSize:i,outputSize:o}}finally{n()}})(e,t)}}function zt(e,t){const{baseURL:n,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,n)=>{const s={type:"module"};let a,i;typeof e==re&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(kt)try{i=new F(a)}catch(e){kt=!1,i=new F(a,s)}else i=new F(a,s);return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:n,name:s}=o,a=new f(e);r.assign(a,{stack:t,code:n,name:s}),w(a)}else{if("pull"==n){const{value:e,done:r}=await l.read();Et({type:pt,value:e,done:r,messageId:a},t)}n==pt&&(await c.ready,await c.write(new p(s)),Et({type:"ack",messageId:a},t)),n==ht&&w(null,i)}}catch(o){Et({type:ht,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),c&&c.releaseLock(),h()}})(e,n)),i})(e.scripts[0],n,e)}catch(r){return _t=!1,St(e,t)}r.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let n,s;const a=new _((e,t)=>{n=e,s=t});r.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:s,result:a});const{readable:i,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const r=new _(e=>t=e);return{writable:new E({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),u=Et({type:"start",scripts:l.slice(1),options:o,config:t,readable:i,writable:c},e);u||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let kt=!0,vt=!0;function Et(e,{worker:t,writer:r,onTaskFinished:n,transferStreams:s}){try{const{value:r,readable:n,writable:a}=e,i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),s&&vt?(n&&i.push(n),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){vt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),n(),e}}let Rt=[];const Tt=[];let Dt=0;function Ft(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const At="HTTP error ",Ct="HTTP Range not supported",Wt="Writer iterator completed too soon",Nt="Writer not initialized",Ut="Range",It="GET",Lt="bytes",Ot=65536,Ht="writable";class Mt{constructor(){this.size=0}init(){this.initialized=!0}}class qt extends Mt{get readable(){const e=this,{chunkSize:t=Ot}=e,r=new v({start(){this.chunkOffset=0},async pull(n){const{offset:s=0,size:a,diskNumberStart:o}=r,{chunkOffset:l}=this,c=a===ee?t:i.min(t,a-l),d=await dr(e,s+l,c,o);n.enqueue(d),l+t>a||a===ee&&!d.length&&c?n.close():this.chunkOffset+=t}});return r}}class Pt extends Mt{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new f(Nt);return e.writeUint8Array(t)}});r.defineProperty(e,Ht,{get:()=>t})}writeUint8Array(){}}class Bt extends qt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new p(a)}}class Vt extends Mt{constructor(e){super();const t=new k,n=[];e&&n.push(["Content-Type",e]),r.defineProperty(this,Ht,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Zt extends qt{constructor(e,t){super(),jt(this,e,t)}async init(){await Xt(this,rr,Qt),super.init()}readUint8Array(e,t){return Yt(this,e,t,rr,Qt)}}class Kt extends qt{constructor(e,t){super(),jt(this,e,t)}async init(){await Xt(this,nr,$t),super.init()}readUint8Array(e,t){return Yt(this,e,t,nr,$t)}}function jt(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Xt(e,t,r){const{url:n,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=oe(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||o)&&(void 0===a||a)){const n=await t(It,e,Gt(e,l?-22:void 0));if(!o&&n.headers.get("Accept-Ranges")!=Lt)throw new f(Ct);{let a;l&&(e.eocdCache=new p(await n.arrayBuffer()));const i=n.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===ee?await tr(e,t,r):e.size=a}}else await tr(e,t,r)}async function Yt(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:l,options:c}=e;if(a||i){if(o&&t==l-22&&22==r)return o;const s=await n(It,e,Gt(e,t,r));if(206!=s.status)throw new f(Ct);return new p(await s.arrayBuffer())}{const{data:n}=e;return n||await s(e,c),new p(e.data.subarray(t,t+r))}}function Gt(e,t=0,n=1){return r.assign({},Jt(e),{[Ut]:Lt+"="+(0>t?t:t+"-"+(t+n-1))})}function Jt({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Qt(e){await er(e,rr)}async function $t(e){await er(e,nr)}async function er(e,t){const r=await t(It,e,Jt(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function tr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=(await t("HEAD",e,Jt(e))).headers.get("Content-Length");n?e.size=s(n):await r(e,e.options)}}async function rr(e,{options:t,url:n},s){const a=await fetch(n,r.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(Ct):new f(At+(a.statusText||a.status))}function nr(e,{url:t},n){return new _((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new l(e)})}else a(416==i.status?new f(Ct):new f(At+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class sr extends qt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Kt(e,t):new Zt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class ar extends qt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await _.all(t.map(async(r,n)=>{await r.init(),n!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const n=this,{readers:s}=this;let a,o=r;-1==o&&(o=s.length-1);let l=e;for(;l>=s[o].size;)l-=s[o].size,o++;const c=s[o],d=c.size;if(l+t>d){const s=d-l;a=new p(t),a.set(await dr(c,l,s)),a.set(await n.readUint8Array(e+s,t-s,r),s)}else a=await dr(c,l,t);return n.lastDiskNumber=i.max(o,n.lastDiskNumber),a}}class ir extends Mt{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:r}=n;if(i)t.length<r?await l(t):(await l(t.slice(0,r)),await c(),n.diskOffset+=s.size,n.diskNumber++,i=null,await this.write(t.slice(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f(Wt);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await or(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await c()}});async function l(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.size+=t,n.availableSize-=t)}async function c(){a.size=s.size,await i.close()}r.defineProperty(n,Ht,{get:()=>o})}}async function or(e,t){if(!e.init||e.initialized)return _.resolve();await e.init(t)}function lr(e){return t.isArray(e)&&(e=new ar(e)),e instanceof v&&(e={readable:e}),e}function cr(e){e.writable===ee&&typeof e.next==re&&(e=new ir(e)),e instanceof E&&(e={writable:e});const{writable:t}=e;return t.size===ee&&(t.size=0),e instanceof ir||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function dr(e,t,r,n){return e.readUint8Array(t,r,n)}const ur=ar,fr=ir,pr="diskNumberStart",hr="lastModDate",wr="lastAccessDate",mr="creationDate",gr="internalFileAttribute",_r="internalFileAttributes",br="externalFileAttribute",yr="externalFileAttributes",xr="msDosCompatible",Sr="zip64",zr="encrypted",kr="version",vr="versionMadeBy",Er="zipCrypto",Rr="directory",Tr="executable",Dr=["filename","rawFilename","compressedSize","uncompressedSize",hr,"rawLastModDate","comment","rawComment",wr,mr,"offset",pr,pr,gr,_r,br,yr,xr,Sr,zr,kr,vr,Er,Rr,Tr,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Fr{constructor(e){Dr.forEach(t=>this[t]=e[t])}}const Ar="File already exists",Cr="Zip file comment exceeds 64KB",Wr="File entry comment exceeds 64KB",Nr="File entry name exceeds 64KB",Ur="Version exceeds 65535",Ir="The strength must equal 1, 2, or 3",Lr="Extra field type exceeds 65535",Or="Extra field data exceeds 64KB",Hr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Mr="Undefined uncompressed size",qr=new p([7,0,2,0,65,69,3,0,0]);let Pr=0;const Br=[];class Vr{constructor(e,t={}){const n=(e=cr(e)).availableSize!==ee&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==ee&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:oe(),files:new l,filenames:new c,offset:t.offset===ee?e.writable.size:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(e="",n,l={}){const c=this,{pendingAddFileCalls:u,config:g}=c;let b;Pr<g.maxWorkers?Pr++:await new _(e=>Br.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(Ar);return c.filenames.add(e),b=(async(e,n,l,c)=>{n=n.trim();const u=jr(e,c,xr),g=jr(e,c,vr,u?20:768),b=jr(e,c,Tr);if(g>Y)throw new f(Ur);let y=jr(e,c,yr,0);0===y&&(y=jr(e,c,br,0)),!c.directory&&n.endsWith("/")&&(c.directory=!0),jr(e,c,Rr)?(n.endsWith("/")||(n+="/"),0===y&&(y=16,u||(y|=16877<<16))):u||0!==y||(y=b?493<<16:27525120);const x=jr(e,c,"encodeText",pe);let S=x(n);if(S===ee&&(S=pe(n)),tn(S)>Y)throw new f(Nr);const z=c.comment||"";let v=x(z);if(v===ee&&(v=pe(z)),tn(v)>Y)throw new f(Wr);const E=jr(e,c,kr,20);if(E>Y)throw new f(Ur);const R=jr(e,c,hr,new o),T=jr(e,c,wr),D=jr(e,c,mr);let F=jr(e,c,_r,0);0===F&&(F=jr(e,c,gr,0));const A=jr(e,c,"passThrough");let C,W;A||(C=jr(e,c,"password"),W=jr(e,c,"rawPassword"));const N=jr(e,c,"encryptionStrength",3),U=jr(e,c,Er),I=jr(e,c,"extendedTimestamp",!0),L=jr(e,c,"keepOrder",!0),O=jr(e,c,"level"),H=jr(e,c,"useWebWorkers"),M=jr(e,c,"bufferedWrite"),q=jr(e,c,"dataDescriptorSignature",!1),P=jr(e,c,"signal"),B=jr(e,c,"useUnicodeFileNames",!0),V=jr(e,c,"useCompressionStream"),Z=jr(e,c,"compressionMethod");let K=jr(e,c,"dataDescriptor",!0),j=jr(e,c,Sr);if(!U&&(C!==ee||W!==ee)&&(1>N||N>3))throw new f(Ir);let te=new p;const{extraField:re}=c;if(re){let e=0,t=0;re.forEach(t=>e+=4+tn(t)),te=new p(e),re.forEach((e,r)=>{if(r>Y)throw new f(Lr);if(tn(e)>Y)throw new f(Or);$r(te,new h([r]),t),$r(te,new h([tn(e)]),t+2),$r(te,e,t+4),t+=4+tn(e)})}let ne=0,se=0,ae=0;if(A&&(({uncompressedSize:ae}=c),ae===ee))throw new f(Mr);const ie=!0===j;l&&(l=lr(l),await or(l),A?ne=Xr(ae):l.size===ee?(K=!0,(j||j===ee)&&(j=!0,ae=ne=4294967296)):(ae=l.size,ne=Xr(ae)));const{diskOffset:oe,diskNumber:le,maxSize:ce}=e.writer,de=ie||ae>X,ue=ie||ne>X,fe=ie||e.offset+e.pendingEntriesSize-oe>X,he=jr(e,c,"supportZip64SplitFile",!0)&&ie||le+i.ceil(e.pendingEntriesSize/ce)>Y;if(fe||de||ue||he){if(!1===j||!L)throw new f(Hr);j=!0}j=j||!1;const we=jr(e,c,zr),{signature:me}=c,ge=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:o,zipCrypto:l,useUnicodeFileNames:c,dataDescriptor:d,directory:u,rawExtraField:f,encryptionStrength:h,extendedTimestamp:m,encrypted:g}=e;let{version:_,compressionMethod:b}=e;const y=!u&&(a>0||a===ee&&0!==b);let x,S,z,k;if(g&&!l){x=new p(tn(qr)+2);const e=en(x);Gr(e,0,39169),$r(x,qr,2),Yr(e,8,h)}else x=new p;if(m){z=new p(9+(n?4:0)+(s?4:0));const e=en(z);Gr(e,0,21589),Gr(e,2,tn(z)-4),k=1+(n?2:0)+(s?4:0),Yr(e,4,k);let t=5;Jr(e,t,i.floor(r.getTime()/1e3)),t+=4,n&&(Jr(e,t,i.floor(n.getTime()/1e3)),t+=4),s&&Jr(e,t,i.floor(s.getTime()/1e3));try{S=new p(36);const e=en(S),t=Kr(r);Gr(e,0,10),Gr(e,2,32),Gr(e,8,1),Gr(e,10,24),Qr(e,12,t),Qr(e,20,Kr(n)||t),Qr(e,28,Kr(s)||t)}catch(e){S=new p}}else S=z=new p;let v=0;c&&(v|=2048),d&&(v|=8),b===ee&&(b=y?8:0),8==b&&(a>=1&&3>a&&(v|=6),a>=3&&5>a&&(v|=1),9===a&&(v|=2)),o&&(_=_>45?_:45),g&&(v|=1,l||(_=_>51?_:51,x[9]=b,b=99));const E=new p(26),R=en(E);Gr(R,0,_),Gr(R,2,v),Gr(R,4,b);const T=new w(1),D=en(T);let F;F=$>r?$:r>Q?Q:r,Gr(D,0,(F.getHours()<<6|F.getMinutes())<<5|F.getSeconds()/2),Gr(D,2,(F.getFullYear()-1980<<4|F.getMonth()+1)<<5|F.getDate());const A=T[0];Jr(R,6,A),Gr(R,22,tn(t));const C=tn(x,z,S,f);Gr(R,24,C);const W=new p(30+tn(t)+C);return Jr(en(W),0,67324752),$r(W,E,4),$r(W,t,30),$r(W,x,30+tn(t)),$r(W,z,30+tn(t,x)),$r(W,S,30+tn(t,x,z)),$r(W,f,30+tn(t,x,z,S)),{localHeaderArray:W,headerArray:E,headerView:R,lastModDate:r,rawLastModDate:A,encrypted:g,compressed:y,version:_,compressionMethod:b,extraFieldExtendedTimestampFlag:k,rawExtraFieldExtendedTimestamp:z,rawExtraFieldNTFS:S,rawExtraFieldAES:x,extraFieldLength:C}})(c=r.assign({},c,{rawFilename:S,rawComment:v,version:E,versionMadeBy:g,lastModDate:R,lastAccessDate:T,creationDate:D,rawExtraField:te,zip64:j,zip64UncompressedSize:de,zip64CompressedSize:ue,zip64Offset:fe,zip64DiskNumberStart:he,password:C,rawPassword:W,level:V||e.config.CompressionStream!==ee||e.config.CompressionStreamNative!==ee?O:0,useWebWorkers:H,encryptionStrength:N,extendedTimestamp:I,zipCrypto:U,bufferedWrite:M,keepOrder:L,useUnicodeFileNames:B,dataDescriptor:K,dataDescriptorSignature:q,signal:P,msDosCompatible:u,internalFileAttribute:F,internalFileAttributes:F,externalFileAttribute:y,externalFileAttributes:y,useCompressionStream:V,passThrough:A,encrypted:!!(C&&tn(C)||W&&tn(W))||A&&we,signature:me,compressionMethod:Z})),_e=(e=>{const{zip64:t,dataDescriptor:r,dataDescriptorSignature:n}=e;let s,a=new p,i=0;return r&&(a=new p(t?n?24:20:n?16:12),s=en(a),n&&(i=4,Jr(s,0,J))),{dataDescriptorArray:a,dataDescriptorView:s,dataDescriptorOffset:i}})(c),be=tn(ge.localHeaderArray,_e.dataDescriptorArray);let ye;se=be+ne,e.options.usdz&&(se+=se+64),e.pendingEntriesSize+=se;try{ye=await(async(e,n,o,l,c)=>{const{files:u,writer:h}=e,{keepOrder:w,dataDescriptor:g,signal:b}=c,{headerInfo:y}=l,{usdz:x}=e.options,S=t.from(u.values()).pop();let z,v,E,R,T,D,F,A={};u.set(n,A);try{let t;w&&(t=S&&S.lock,A.lock=new _(e=>E=e)),!(c.bufferedWrite||e.writerLocked||e.bufferedWrites&&w)&&g||x?(D=h,await C()):(D=new k,F=new d(D.readable).blob(),D.writable.size=0,z=!0,e.bufferedWrites++,await or(h)),await or(D);const{writable:y}=h;let{diskOffset:v}=h;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Jr(en(t),0,G),await Zr(y,t),e.offset+=4}x&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:n,extraFieldLength:s}=r,a=en(n),i=64-(t+tn(n))%64;4>i&&(i+=64);const o=new p(i),l=en(o);Gr(l,0,6534),Gr(l,2,i-2);const c=n;r.localHeaderArray=n=new p(tn(c)+i),$r(n,c),$r(n,o,tn(c)),a=en(n),Gr(a,28,s+i),e.metadataSize+=i})(l,e.offset-v),z||(await t,await W(y));const{diskNumber:N}=h;if(T=!0,A.diskNumberStart=N,A=await(async(e,t,{diskNumberStart:n,lock:o},l,c,d)=>{const{headerInfo:u,dataDescriptorInfo:f,metadataSize:h}=l,{localHeaderArray:w,headerArray:m,lastModDate:g,rawLastModDate:b,encrypted:y,compressed:x,version:S,compressionMethod:z,rawExtraFieldExtendedTimestamp:k,extraFieldExtendedTimestampFlag:v,rawExtraFieldNTFS:E,rawExtraFieldAES:R}=u,{dataDescriptorArray:T}=f,{rawFilename:D,lastAccessDate:F,creationDate:A,password:C,rawPassword:W,level:N,zip64:U,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:O,zip64DiskNumberStart:H,zipCrypto:M,dataDescriptor:q,directory:P,executable:B,versionMadeBy:V,rawComment:Z,rawExtraField:K,useWebWorkers:j,onstart:Y,onprogress:G,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,useCompressionStream:ae,passThrough:ie}=d,oe={lock:o,versionMadeBy:V,zip64:U,directory:!!P,executable:!!B,filenameUTF8:!0,rawFilename:D,commentUTF8:!0,rawComment:Z,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:E,rawExtraFieldAES:R,rawExtraField:K,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n};let{signature:le,uncompressedSize:ce}=d,de=0;ie||(ce=0);const{writable:ue}=t;if(e){e.chunkSize=(e=>i.max(e.chunkSize,64))(c),await Zr(ue,w);const t=e.readable,r=t.size=e.size,n={options:{codecType:wt,level:N,rawPassword:W,password:C,encryptionStrength:$,zipCrypto:y&&M,passwordVerification:y&&M&&b>>8&255,signed:!ie,compressed:x&&!ie,encrypted:y&&!ie,useWebWorkers:j,useCompressionStream:ae,transferStreams:!1},config:c,streamOptions:{signal:Q,size:r,onstart:Y,onprogress:G,onend:J}},a=await(async(e,t)=>{const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=r,{workerScripts:f,maxWorkers:p}=n;t.transferStreams=a||a===ee;const h=!(c||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===ee&&n.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],r.useCompressionStream=o||o===ee&&n.useCompressionStream,(await(async()=>{const r=Rt.find(e=>!e.busy);if(r)return Ft(r),new bt(r,e,t,w);if(Rt.length<p){const r={indexWorker:Dt};return Dt++,Rt.push(r),new bt(r,e,t,w)}return new _(r=>Tt.push({resolve:r,stream:e,workerOptions:t}))})()).run();function w(e){if(Tt.length){const[{resolve:t,stream:r,workerOptions:n}]=Tt.splice(0,1);t(new bt(e,r,n,w))}else e.worker?(Ft(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{Rt=Rt.filter(t=>t!=e);try{await e.terminate()}catch(e){}},n))})(e,t)):Rt=Rt.filter(t=>t!=e)}})({readable:t,writable:ue},n);de=a.outputSize,ie||(ce=a.inputSize,le=a.signature),ue.size+=ce}else await Zr(ue,w);let fe;if(U){let e=4;I&&(e+=8),L&&(e+=8),O&&(e+=8),H&&(e+=4),fe=new p(e)}else fe=new p;return((e,t)=>{const{signature:r,rawExtraFieldZip64:n,compressedSize:s,uncompressedSize:i,headerInfo:o,dataDescriptorInfo:l}=e,{headerView:c,encrypted:d}=o,{dataDescriptorView:u,dataDescriptorOffset:f}=l,{zip64:p,zip64UncompressedSize:h,zip64CompressedSize:w,zipCrypto:m,dataDescriptor:g}=t;if(d&&!m||r===ee||(Jr(c,10,r),g&&Jr(u,f,r)),p){const e=en(n);Gr(e,0,1),Gr(e,2,tn(n)-4);let t=4;h&&(Jr(c,18,X),Qr(e,t,a(i)),t+=8),w&&(Jr(c,14,X),Qr(e,t,a(s))),g&&(Qr(u,f+4,a(s)),Qr(u,f+12,a(i)))}else Jr(c,14,s),Jr(c,18,i),g&&(Jr(u,f+4,s),Jr(u,f+8,i))})({signature:le,rawExtraFieldZip64:fe,compressedSize:de,uncompressedSize:ce,headerInfo:u,dataDescriptorInfo:f},d),q&&await Zr(ue,T),r.assign(oe,{uncompressedSize:ce,compressedSize:de,lastModDate:g,rawLastModDate:b,creationDate:A,lastAccessDate:F,encrypted:y,zipCrypto:M,size:h+de,compressionMethod:z,version:S,headerArray:m,signature:le,rawExtraFieldZip64:fe,extraFieldExtendedTimestampFlag:v,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:O,zip64DiskNumberStart:H}),oe})(o,D,A,l,e.config,c),T=!1,u.set(n,A),A.filename=n,z){await D.writable.getWriter().close();let e=await F;await t,await C(),R=!0,g||(e=await(async(e,t,r,{zipCrypto:n})=>{let s;s=await t.slice(0,26).arrayBuffer(),26!=s.byteLength&&(s=s.slice(0,26));const a=new m(s);return e.encrypted&&!n||Jr(a,14,e.signature),e.zip64?(Jr(a,18,X),Jr(a,22,X)):(Jr(a,18,e.compressedSize),Jr(a,22,e.uncompressedSize)),await Zr(r,new p(s)),t.slice(s.byteLength)})(A,e,y,c)),await W(y),A.diskNumberStart=h.diskNumber,v=h.diskOffset,await e.stream().pipeTo(y,{preventClose:!0,preventAbort:!0,signal:b}),y.size+=e.size,R=!1}if(A.offset=e.offset-v,A.zip64)((e,t)=>{const{rawExtraFieldZip64:r,offset:n,diskNumberStart:s}=e,{zip64UncompressedSize:i,zip64CompressedSize:o,zip64Offset:l,zip64DiskNumberStart:c}=t,d=en(r);let u=4;i&&(u+=8),o&&(u+=8),l&&(Qr(d,u,a(n)),u+=8),c&&Jr(d,u,s)})(A,c);else if(A.offset>X)throw new f(Hr);return e.offset+=A.size,A}catch(t){if(z&&R||!z&&T){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=D.writable.size:e.offset=D.writable.size}throw u.delete(n),t}finally{z&&e.bufferedWrites--,E&&E(),v&&v()}async function C(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new _(t=>v=()=>{e.writerLocked=!1,t()}),await t}async function W(e){tn(y.localHeaderArray)>h.availableSize&&(h.availableSize=0,await Zr(e,new p))}})(e,n,l,{headerInfo:ge,dataDescriptorInfo:_e,metadataSize:be},c)}finally{e.pendingEntriesSize-=se}return r.assign(ye,{name:n,comment:z,extraField:re}),new Fr(ye)})(c,e,n,l),u.add(b),await b}catch(t){throw c.filenames.delete(e),t}finally{u.delete(b);const e=Br.shift();e?e():Pr--}}async close(e=new p,r={}){const{pendingAddFileCalls:n,writer:s}=this,{writable:o}=s;for(;n.size;)await _.allSettled(t.from(n));return await(async(e,r,n)=>{const{files:s,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,u=0,h=0,w=e.offset-l,m=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:n,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let u;if(l){u=new p(9);const e=en(u);Gr(e,0,21589),Gr(e,2,5),Yr(e,4,c),Jr(e,5,i.floor(d.getTime()/1e3))}else u=new p;e.rawExtraFieldCDExtendedTimestamp=u,h+=46+tn(t,s,r,n,a,u,o)}const g=new p(h),_=en(g);await or(o);let b=0;for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:f,rawExtraField:p,rawComment:h,versionMadeBy:w,headerArray:m,zip64:y,zip64UncompressedSize:x,zip64CompressedSize:S,zip64DiskNumberStart:z,zip64Offset:k,internalFileAttributes:v,externalFileAttributes:E,diskNumberStart:R,uncompressedSize:T,compressedSize:D}=r,F=tn(i,l,d,f,p);Jr(_,u,33639248),Gr(_,u+4,w);const A=en(m);x||Jr(A,18,T),S||Jr(A,14,D),$r(g,m,u+6),Gr(_,u+30,F),Gr(_,u+32,tn(h)),Gr(_,u+34,y&&z?Y:R),Gr(_,u+36,v),E&&Jr(_,u+38,E),Jr(_,u+42,y&&k?X:t),$r(g,a,u+46),$r(g,i,u+46+tn(a)),$r(g,l,u+46+tn(a,i)),$r(g,d,u+46+tn(a,i,l)),$r(g,f,u+46+tn(a,i,l,d)),$r(g,p,u+46+tn(a,i,l,d,f)),$r(g,h,u+46+tn(a)+F);const C=46+tn(a,h)+F;if(u-b>o.availableSize&&(o.availableSize=0,await Zr(c,g.slice(b,u)),b=u),u+=C,n.onprogress)try{await n.onprogress(e+1,s.size,new Fr(r))}catch(e){}}await Zr(c,b?g.slice(b):g);let y=o.diskNumber;const{availableSize:x}=o;22>x&&y++;let S=jr(e,n,Sr);if(w>X||h>X||m>Y||y>Y){if(!1===S)throw new f(Hr);S=!0}const z=new p(S?98:22),k=en(z);u=0,S&&(Jr(k,0,101075792),Qr(k,4,a(44)),Gr(k,12,45),Gr(k,14,45),Jr(k,16,y),Jr(k,20,d),Qr(k,24,a(m)),Qr(k,32,a(m)),Qr(k,40,a(h)),Qr(k,48,a(w)),Jr(k,56,117853008),Qr(k,64,a(w)+a(h)),Jr(k,72,y+1),jr(e,n,"supportZip64SplitFile",!0)&&(y=Y,d=Y),m=Y,w=X,h=X,u+=76),Jr(k,u,101010256),Gr(k,u+4,y),Gr(k,u+6,d),Gr(k,u+8,m),Gr(k,u+10,m),Jr(k,u+12,h),Jr(k,u+16,w);const v=tn(r);if(v){if(v>Y)throw new f(Cr);Gr(k,u+20,v)}await Zr(c,z),v&&await Zr(c,r)})(this,e,r),jr(this,r,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}async function Zr(e,t){const r=e.getWriter();try{await r.ready,e.size+=tn(t),await r.write(t)}finally{r.releaseLock()}}function Kr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function jr(e,t,r,n){const s=t[r]===ee?e.options[r]:t[r];return s===ee?n:s}function Xr(e){return e+5*(i.floor(e/16383)+1)}function Yr(e,t,r){e.setUint8(t,r)}function Gr(e,t,r){e.setUint16(t,r,!0)}function Jr(e,t,r){e.setUint32(t,r,!0)}function Qr(e,t,r){e.setBigUint64(t,r,!0)}function $r(e,t,r){e.set(t,r)}function en(e){return new m(e.buffer)}function tn(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}le({Deflate:function(e){const t=new j,r=(n=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(n/16383)+1);var n;const s=new p(r);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,n)=>{let a,i,o=0,l=0,c=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=r,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==r?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),c+=t.next_out_index,n&&t.next_in_index>0&&t.next_in_index!=o&&(n(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(c),d.forEach(e=>{i.set(e,l),l+=e.length})):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,n,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=r,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);r-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),n=new p(i),o.forEach(e=>{n.set(e,a),a+=e.length}),n}}}),e.BlobReader=Bt,e.BlobWriter=Vt,e.Data64URIReader=class extends qt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:r,dataURI:n}=this,s=new p(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),l=e-3*i.floor(a/4);for(let e=l;l+t>e;e++)s[e-l]=o.charCodeAt(e);return s}},e.Data64URIWriter=class extends Pt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=z(s):t.pending=s}getData(){return this.data+z(this.pending)}},e.ERR_DUPLICATED_NAME=Ar,e.ERR_HTTP_RANGE=Ct,e.ERR_INVALID_COMMENT=Cr,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ir,e.ERR_INVALID_ENTRY_COMMENT=Wr,e.ERR_INVALID_ENTRY_NAME=Nr,e.ERR_INVALID_EXTRAFIELD_DATA=Or,e.ERR_INVALID_EXTRAFIELD_TYPE=Lr,e.ERR_INVALID_VERSION=Ur,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Wt,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Mr,e.ERR_UNSUPPORTED_FORMAT=Hr,e.ERR_WRITER_NOT_INITIALIZED=Nt,e.HttpRangeReader=class extends sr{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=sr,e.Reader=qt,e.SplitDataReader=ar,e.SplitDataWriter=ir,e.SplitZipReader=ur,e.SplitZipWriter=fr,e.TextReader=class extends Bt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends Vt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new _((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends qt{constructor(e){super(),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Pt{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=Pt,e.ZipWriter=Vr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new k;this.readable=t,this.zipWriter=new Vr(r,e)}transform(e){const{readable:t,writable:r}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new k;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=le,e.getMimeType=()=>"application/octet-stream",e.initReader=lr,e.initStream=or,e.initWriter=cr,e.readUint8Array=dr,e.terminateWorkers=async()=>{await _.allSettled(Rt.map(e=>(Ft(e),e.terminate())))}});
1
+ ((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{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:w,Uint32Array:h,DataView:g,Blob:m,Promise:y,TextEncoder:b,TextDecoder:_,document:z,crypto:S,btoa:x,TransformStream:k,ReadableStream:F,WritableStream:E,CompressionStream:v,DecompressionStream:D,navigator:T,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self,R=-2;function C(e){return W(e.map(([e,n])=>new t(e).fill(n,0,e)))}function W(e){return e.reduce((e,n)=>e.concat(t.isArray(n)?W(n):n),[])}const N=[0,1,2,3].concat(...C([[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 U(){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=n=>{const r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,c,l,d=-1;for(n.heap_len=0,n.heap_max=573,o=0;a>o;o++)0!==r[2*o]?(n.heap[++n.heap_len]=d=o,n.depth[o]=0):r[2*o+1]=0;for(;2>n.heap_len;)l=n.heap[++n.heap_len]=2>d?++d:0,r[2*l]=1,n.depth[l]=0,n.opt_len--,s&&(n.static_len-=s[2*l+1]);for(e.max_code=d,o=i.floor(n.heap_len/2);o>=1;o--)n.pqdownheap(r,o);l=a;do{o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),c=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=c,r[2*l]=r[2*o]+r[2*c],n.depth[l]=i.max(n.depth[o],n.depth[c])+1,r[2*o+1]=r[2*c+1]=l,n.heap[1]=l++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=e.stat_desc.max_length;let o,c,l,d,u,f,p=0;for(d=0;15>=d;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>i&&(d=i,p++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,a>c||(u=s[c-a]),f=n[2*c],t.opt_len+=f*(d+u),r&&(t.static_len+=f*(r[2*c+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;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),((e,n,r)=>{const s=[];let a,i,o,c=0;for(a=1;15>=a;a++)s[a]=c=c+r[a-1]<<1;for(i=0;n>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(r,e.max_code,n.bl_count)}}function L(e,t,n,r,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=r,a.max_length=s}U._length_code=[0,1,2,3,4,5,6,7].concat(...C([[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]])),U.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],U.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],U.d_code=e=>256>e?N[e]:N[256+(e>>>7)],U.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],U.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],U.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],U.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const M=C([[144,8],[112,9],[24,7],[8,8]]);L.static_ltree=W([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,M[t]]));const I=C([[30,5]]);function O(e,t,n,r,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=r,a.func=s}L.static_dtree=W([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,I[t]])),L.static_l_desc=new L(L.static_ltree,U.extra_lbits,257,286,15),L.static_d_desc=new L(L.static_dtree,U.extra_dbits,0,30,15),L.static_bl_desc=new L(null,U.extra_blbits,0,19,7);const H=[new O(0,0,0,0,0),new O(4,4,8,4,1),new O(4,5,16,8,1),new O(4,6,32,32,1),new O(4,4,16,16,2),new O(8,16,32,32,2),new O(8,16,128,128,2),new O(8,32,128,256,2),new O(32,128,258,1024,2),new O(32,258,258,4096,2)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,B=666,q=262;function Z(e,t,n,r){const s=e[2*t],a=e[2*n];return a>s||s==a&&r[t]<=r[n]}function K(){const e=this;let t,n,r,s,a,o,c,l,d,u,f,h,g,m,y,b,_,z,S,x,k,F,E,v,D,T,A,C,W,N,M,I,O;const K=new U,G=new U,Y=new U;let j,X,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)M[2*t]=0;for(t=0;30>t;t++)I[2*t]=0;for(t=0;19>t;t++)O[2*t]=0;M[512]=1,e.opt_len=e.static_len=0,X=J=0}function ne(e,t){let n,r=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;t>=c;c++)n=s,s=e[2*(c+1)+1],++a<i&&n==s||(o>a?O[2*n]+=a:0!==n?(n!=r&&O[2*n]++,O[32]++):a>10?O[36]++:O[34]++,a=0,r=n,0===s?(i=138,o=3):n==s?(i=6,o=3):(i=7,o=4))}function re(t){e.pending_buf[e.pending++]=t}function se(e){re(255&e),re(e>>>8&255)}function ae(e,t){let n;const r=t;ee>16-r?(n=e,$|=n<<ee&65535,se($),$=n>>>16-ee,ee+=r-16):($|=e<<ee&65535,ee+=r)}function ie(e,t){const n=2*e;ae(65535&t[n],65535&t[n+1])}function oe(e,t){let n,r,s=-1,a=e[1],i=0,o=7,c=4;for(0===a&&(o=138,c=3),n=0;t>=n;n++)if(r=a,a=e[2*(n+1)+1],++i>=o||r!=a){if(c>i)do{ie(r,O)}while(0!==--i);else 0!==r?(r!=s&&(ie(r,O),i--),ie(16,O),ae(i-3,2)):i>10?(ie(18,O),ae(i-11,7)):(ie(17,O),ae(i-3,3));i=0,s=r,0===a?(o=138,c=3):r==a?(o=6,c=3):(o=7,c=4)}}function ce(){16==ee?(se($),$=0,ee=0):8>ee||(re(255&$),$>>>=8,ee-=8)}function le(t,n){let r,s,a;if(e.dist_buf[X]=t,e.lc_buf[X]=255&n,X++,0===t?M[2*n]++:(J++,t--,M[2*(U._length_code[n]+256+1)]++,I[2*U.d_code(t)]++),!(8191&X)&&A>2){for(r=8*X,s=k-_,a=0;30>a;a++)r+=I[2*a]*(5+U.extra_dbits[a]);if(r>>>=3,J<i.floor(X/2)&&r<i.floor(s/2))return!0}return X==j-1}function de(t,n){let r,s,a,i,o=0;if(0!==X)do{r=e.dist_buf[o],s=e.lc_buf[o],o++,0===r?ie(s,t):(a=U._length_code[s],ie(a+256+1,t),i=U.extra_lbits[a],0!==i&&(s-=U.base_length[a],ae(s,i)),r--,a=U.d_code(r),ie(a,n),i=U.extra_dbits[a],0!==i&&(r-=U.base_dist[a],ae(r,i)))}while(X>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&re(255&$),$=0,ee=0}function fe(t,n,r){ae(0+(r?1:0),3),((t,n)=>{ue(),Q=8,se(n),se(~n),e.pending_buf.set(l.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function pe(n){((t,n,r)=>{let s,a,i=0;A>0?(K.build_tree(e),G.build_tree(e),i=(()=>{let t;for(ne(M,K.max_code),ne(I,G.max_code),Y.build_tree(e),t=18;t>=3&&0===O[2*U.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=n+5,n+4>s||-1==t?a==s?(ae(2+(r?1:0),3),de(L.static_ltree,L.static_dtree)):(ae(4+(r?1:0),3),((e,t,n)=>{let r;for(ae(e-257,5),ae(t-1,5),ae(n-4,4),r=0;n>r;r++)ae(O[2*U.bl_order[r]+1],3);oe(M,e-1),oe(I,t-1)})(K.max_code+1,G.max_code+1,i+1),de(M,I)):fe(t,n,r),te(),r&&ue()})(0>_?-1:_,k-_,n),_=k,t.flush_pending()}function we(){let e,n,r,s;do{if(s=d-E-k,0===s&&0===k&&0===E)s=a;else if(-1==s)s--;else if(k>=a+a-q){l.set(l.subarray(a,a+a),0),F-=a,k-=a,_-=a,e=g,r=e;do{n=65535&f[--r],f[r]=a>n?0:n-a}while(0!==--e);e=a,r=e;do{n=65535&u[--r],u[r]=a>n?0:n-a}while(0!==--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(l,k+E,s),E+=e,3>E||(h=255&l[k],h=(h<<b^255&l[k+1])&y)}while(q>E&&0!==t.avail_in)}function he(e){let t,n,r=D,s=k,i=v;const o=k>a-q?k-(a-q):0;let d=N;const f=c,p=k+258;let w=l[s+i-1],h=l[s+i];W>v||(r>>=2),d>E&&(d=E);do{if(t=e,l[t+i]==h&&l[t+i-1]==w&&l[t]==l[s]&&l[++t]==l[s+1]){s+=2,t++;do{}while(l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&l[++s]==l[++t]&&p>s);if(n=258-(p-s),s=p-258,n>i){if(F=e,i=n,n>=d)break;w=l[s+i-1],h=l[s+i]}}}while((e=65535&u[e&f])>o&&0!==--r);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],M=[],I=[],O=[],e.pqdownheap=(t,n)=>{const r=e.heap,s=r[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&Z(t,r[a+1],r[a],e.depth)&&a++,!Z(t,s,r[a],e.depth));)r[n]=r[a],n=a,a<<=1;r[n]=s},e.deflateInit=(t,S,F,U,P,B)=>(U||(U=8),P||(P=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>P||P>9||8!=U||9>F||F>15||0>S||S>9||0>B||B>2?R:(t.dstate=e,o=F,a=1<<o,c=a-1,m=P+7,g=1<<m,y=g-1,b=i.floor((m+3-1)/3),l=new p(2*a),u=[],f=[],j=1<<P+6,e.pending_buf=new p(4*j),r=4*j,e.dist_buf=new w(j),e.lc_buf=new p(j),A=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=V,s=0,K.dyn_tree=M,K.stat_desc=L.static_l_desc,G.dyn_tree=I,G.stat_desc=L.static_d_desc,Y.dyn_tree=O,Y.stat_desc=L.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[g-1]=0;for(let e=0;g-1>e;e++)f[e]=0;T=H[A].max_lazy,W=H[A].good_length,N=H[A].nice_length,D=H[A].max_chain,k=0,_=0,E=0,z=v=2,x=0,h=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=V&&n!=B?R:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,l=null,e.dstate=null,n==V?-3:0),e.deflateParams=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?R:(H[A].func!=H[t].func&&0!==e.total_in&&(r=e.deflate(1)),A!=t&&(A=t,T=H[A].max_lazy,W=H[A].good_length,N=H[A].nice_length,D=H[A].max_chain),C=n,r)},e.deflateSetDictionary=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return R;if(3>i)return 0;for(i>a-q&&(i=a-q,o=r-i),l.set(t.subarray(o,o+i),0),k=i,_=i,h=255&l[0],h=(h<<b^255&l[1])&y,s=0;i-3>=s;s++)h=(h<<b^255&l[s+2])&y,u[s&c]=f[h],f[h]=s;return 0},e.deflate=(i,d)=>{let p,w,m,D,W;if(d>4||0>d)return R;if(!i.next_out||!i.next_in&&0!==i.avail_in||n==B&&4!=d)return i.msg=P[4],R;if(0===i.avail_out)return i.msg=P[7],-5;var N;if(t=i,D=s,s=d,42==n&&(w=8+(o-8<<4)<<8,m=(A-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==k&&(w|=32),w+=31-w%31,n=V,re((N=w)>>8&255),re(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=P[7],-5;if(n==B&&0!==t.avail_in)return i.msg=P[7],-5;if(0!==t.avail_in||0!==E||0!=d&&n!=B){switch(W=-1,H[A].func){case 0:W=(e=>{let n,s=65535;for(s>r-5&&(s=r-5);;){if(1>=E){if(we(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,n=_+s,(0===k||k>=n)&&(E=k-n,k=n,pe(!1),0===t.avail_out))return 0;if(k-_>=a-q&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:W=(e=>{let n,r=0;for(;;){if(q>E){if(we(),q>E&&0==e)return 0;if(0===E)break}if(3>E||(h=(h<<b^255&l[k+2])&y,r=65535&f[h],u[k&c]=f[h],f[h]=k),0===r||(k-r&65535)>a-q||2!=C&&(z=he(r)),3>z)n=le(0,255&l[k]),E--,k++;else if(n=le(k-F,z-3),E-=z,z>T||3>E)k+=z,z=0,h=255&l[k],h=(h<<b^255&l[k+1])&y;else{z--;do{k++,h=(h<<b^255&l[k+2])&y,r=65535&f[h],u[k&c]=f[h],f[h]=k}while(0!==--z);k++}if(n&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:W=(e=>{let n,r,s=0;for(;;){if(q>E){if(we(),q>E&&0==e)return 0;if(0===E)break}if(3>E||(h=(h<<b^255&l[k+2])&y,s=65535&f[h],u[k&c]=f[h],f[h]=k),v=z,S=F,z=2,0!==s&&T>v&&a-q>=(k-s&65535)&&(2!=C&&(z=he(s)),5>=z&&(1==C||3==z&&k-F>4096)&&(z=2)),3>v||z>v)if(0!==x){if(n=le(0,255&l[k-1]),n&&pe(!1),k++,E--,0===t.avail_out)return 0}else x=1,k++,E--;else{r=k+E-3,n=le(k-1-S,v-3),E-=v-1,v-=2;do{++k>r||(h=(h<<b^255&l[k+2])&y,s=65535&f[h],u[k&c]=f[h],f[h]=k)}while(0!==--v);if(x=0,z=2,k++,n&&(pe(!1),0===t.avail_out))return 0}}return 0!==x&&(n=le(0,255&l[k-1]),x=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=W&&3!=W||(n=B),0==W||2==W)return 0===t.avail_out&&(s=-1),0;if(1==W){if(1==d)ae(2,3),ie(256,L.static_ltree),ce(),9>1+Q+10-ee&&(ae(2,3),ie(256,L.static_ltree),ce()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;g>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function G(){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}G.prototype={deflateInit(e,t){const n=this;return n.dstate=new K,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):R},deflateEnd(){const e=this;if(!e.dstate)return R;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):R},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):R},read_buf(e,t,n){const r=this;let s=r.avail_in;return s>n&&(s=n),0===s?0:(r.avail_in-=s,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+s),t),r.next_in_index+=s,r.total_in+=s,s)},flush_pending(){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 Y=4294967295,j=65535,X=67324752,J=134695760,Q=J,$=33639248,ee=101010256,te=101075792,ne=117853008,re=22,se=21589,ae=2048,ie="/",oe=new o(2107,11,31),ce=new o(1980,0,1),le=void 0,de="undefined",ue="function";class fe{constructor(e){return class extends k{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}let pe=2;try{typeof T!=de&&T.hardwareConcurrency&&(pe=T.hardwareConcurrency)}catch(e){}const we={chunkSize:524288,maxWorkers:pe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:le,CompressionStreamNative:typeof v!=de&&v,DecompressionStreamNative:typeof D!=de&&D},he=n.assign({},we);function ge(){return he}function me(e){return i.max(e.chunkSize,64)}function ye(e){const{baseURL:n,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(be("baseURL",n),be("chunkSize",r),be("maxWorkers",s),be("terminateWorkerTimeout",a),be("useCompressionStream",i),be("useWebWorkers",o),c&&(he.CompressionStream=new fe(c)),l&&(he.DecompressionStream=new fe(l)),be("CompressionStream",d),be("DecompressionStream",u),p!==le){const{deflate:e,inflate:n}=p;if((e||n)&&(he.workerScripts||(he.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");he.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");he.workerScripts.inflate=n}}}function be(e,t){t!==le&&(he[e]=t)}const _e=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;_e[e]=t}class ze{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^_e[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Se extends k{constructor(){let e;const t=new ze;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new p(4);new g(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function xe(e){if(typeof b==de){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)}const ke={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=ke.getPartial(n);return 32===r?e.concat(t):ke._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)+ke.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=ke.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=>i.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 s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=ke.getPartial(s);return r.push(ke.partial(t+a&31,t+a>32?n:r.pop(),1)),r}},Fe={bytes:{fromBits(e){const t=ke.bitLength(e)/8,n=new p(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=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&~n||(t.push(r),r=0);return 3&n&&t.push(ke.partial(8*(3&n),r)),t}}},Ee=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Fe.utf8String.toBits(e));const n=t._buffer=ke.concat(t._buffer,e),r=t._length,s=t._length=r+ke.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=ke.concat(t,[ke.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}_S(e,t){return t<<e|t>>>32-e}_block(e){const n=this,r=n._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._S(5,a)+n._f(e,o,c,l)+d+s[e]+n._key[i.floor(e/20)]|0;d=l,l=c,c=n._S(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},ve={getRandomValues(e){const t=new h(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(i.random()>.5?1:-1))};for(let r,s=0;s<e.length;s+=4){const e=n(4294967296*(r||i.random()));r=987654071*e(),t[s/4]=4294967296*e()|0}return e}},De={importKey:e=>new De.hmacSha1(Fe.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new f("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new g(d);let p=0;const w=ke;for(t=Fe.bytes.toBits(t),l=1;(s||1)>p;l++){for(a=i=e.encrypt(w.concat(t,[l])),o=1;n>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,r/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=Ee,r=[[],[]];t._baseHash=[new n,new n];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new n).update(e).finalize());for(let t=0;s>t;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}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Te=typeof S!=de&&typeof S.getRandomValues==ue,Ae="Invalid password",Re="Invalid signature",Ce="zipjs-abort-check-password";function We(e){return Te?S.getRandomValues(e):ve.getRandomValues(e)}const Ne=16,Ue={name:"PBKDF2"},Le=n.assign({hash:{name:"HMAC"}},Ue),Me=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ue),Ie=["deriveBits"],Oe=[8,12,16],He=[16,24,32],Pe=10,Ve=[0,0,0,0],Be=typeof S!=de,qe=Be&&S.subtle,Ze=Be&&typeof qe!=de,Ke=Fe.bytes,Ge=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],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?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],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],r=n.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,p,w,h=e[0]^n[0],g=e[t?3:1]^n[1],m=e[2]^n[2],y=e[t?1:3]^n[3],b=4;for(let e=0;r>e;e++)u=i[h>>>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],p=i[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&h]^n[b+1],w=i[m>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&g]^n[b+2],y=i[y>>>24]^o[h>>16&255]^c[g>>8&255]^l[255&m]^n[b+3],b+=4,h=u,g=p,m=w;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[g>>16&255]<<16^d[m>>8&255]<<8^d[255&y]^n[b++],u=h,h=g,g=m,m=y,y=u;return s}},Ye=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))e+=1<<24;else{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}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 s=ke.bitLength(t);for(let s=0;r>s;s+=4){this.incCounter(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return ke.clamp(t,s)}},je=De.hmacSha1;let Xe=Be&&Ze&&typeof qe.importKey==ue,Je=Be&&Ze&&typeof qe.deriveBits==ue;class Qe extends k{constructor({password:e,rawPassword:t,signed:r,encryptionStrength:s,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new y(e=>this.resolveReady=e),password:nt(e,t),signed:r,strength:s-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:o}=n;r?(await(async(e,t,n,r)=>{const s=await tt(e,t,n,st(r,0,Oe[t])),a=st(r,Oe[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(Ae)})(n,s,r,st(e,0,Oe[s]+2)),e=st(e,Oe[s]+2),a?t.error(new f(Ce)):i()):await o;const c=new p(e.length-Pe-(e.length-Pe)%Ne);t.enqueue(et(n,e,c,0,Pe,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:s,ready:a}=this;if(r&&n){await a;const i=st(s,0,s.length-Pe),o=st(s,s.length-Pe);let c=new p;if(i.length){const e=it(Ke,i);r.update(e);const t=n.update(e);c=at(Ke,t)}if(t){const e=st(at(Ke,r.digest()),0,Pe);for(let t=0;Pe>t;t++)if(e[t]!=o[t])throw new f(Re)}e.enqueue(c)}}})}}class $e extends k{constructor({password:e,rawPassword:t,encryptionStrength:r}){let s;super({start(){n.assign(this,{ready:new y(e=>this.resolveReady=e),password:nt(e,t),strength:r-1,pending:new p})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:a,ready:i}=n;let o=new p;r?(o=await(async(e,t,n)=>{const r=We(new p(Oe[t]));return rt(r,await tt(e,t,n,r))})(n,s,r),a()):await i;const c=new p(o.length+e.length-e.length%Ne);c.set(o,0),t.enqueue(et(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:a}=this;if(n&&t){await a;let i=new p;if(r.length){const e=t.update(it(Ke,r));n.update(e),i=at(Ke,e)}s.signature=at(Ke,n.digest()).slice(0,Pe),e.enqueue(rt(i,s.signature))}}}),s=this}}function et(e,t,n,r,s,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-s;let d;for(c.length&&(t=rt(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new p(t)).set(n,0)}return e})(n,l-l%Ne)),d=0;l-Ne>=d;d+=Ne){const e=it(Ke,st(t,d,d+Ne));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(at(Ke,s),d+r)}return e.pending=st(t,d),n}async function tt(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Xe)return De.importKey(t);try{return await qe.importKey("raw",t,n,!1,s)}catch(e){return Xe=!1,De.importKey(t)}})(0,s,Le,0,Ie),o=await(async(e,t,n)=>{if(!Je)return De.pbkdf2(t,e.salt,Me.iterations,n);try{return await qe.deriveBits(e,t,n)}catch(r){return Je=!1,De.pbkdf2(t,e.salt,Me.iterations,n)}})(n.assign({salt:a},Me),i,8*(2*He[r]+2)),c=new p(o),l=it(Ke,st(c,0,He[r])),d=it(Ke,st(c,He[r],2*He[r])),u=st(c,2*He[r]);return n.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new Ye(new Ge(l),t.from(Ve)),hmac:new je(d)}),u}function nt(e,t){return t===le?xe(e):t}function rt(e,t){let n=e;return e.length+t.length&&(n=new p(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function st(e,t,n){return e.subarray(t,n)}function at(e,t){return e.fromBits(t)}function it(e,t){return e.toBits(t)}class ot extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:r}){super({start(){n.assign(this,{password:e,passwordVerification:t}),ut(this,e)},transform(e,t){const n=this;if(n.password){const t=lt(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ae);e=e.subarray(12)}r?t.error(new f(Ce)):t.enqueue(lt(n,e))}})}}class ct extends k{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),ut(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=We(new p(12));t[11]=n.passwordVerification,r=new p(e.length+t.length),r.set(dt(n,t),0),s=12}else r=new p(e.length),s=0;r.set(dt(n,e),s),t.enqueue(r)}})}}function lt(e,t){const n=new p(t.length);for(let r=0;r<t.length;r++)n[r]=pt(e)^t[r],ft(e,n[r]);return n}function dt(e,t){const n=new p(t.length);for(let r=0;r<t.length;r++)n[r]=pt(e)^t[r],ft(e,t[r]);return n}function ut(e,t){const r=[305419896,591751049,878082192];n.assign(e,{keys:r,crcKey0:new ze(r[0]),crcKey2:new ze(r[2])});for(let n=0;n<t.length;n++)ft(e,t.charCodeAt(n))}function ft(e,t){let[n,r,s]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=ht(i.imul(ht(r+wt(n)),134775813)+1),e.crcKey2.append([r>>>24]),s=~e.crcKey2.get(),e.keys=[n,r,s]}function pt(e){const t=2|e.keys[2];return wt(i.imul(t,1^t)>>>8)}function wt(e){return 255&e}function ht(e){return 4294967295&e}const gt="deflate-raw";class mt extends k{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,f,p=bt(super.readable);a&&!o||!c||(u=new Se,p=St(p,u)),s&&(p=zt(p,i,{level:l,chunkSize:t},r,n)),a&&(o?p=St(p,new ct(e)):(f=new $e(e),p=St(p,f))),_t(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new g(u.value.buffer).getUint32(0)),d.signature=e})}}class yt extends k{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l}=e;let d,u,p=bt(super.readable);a&&(s?p=St(p,new ot(e)):(u=new Qe(e),p=St(p,u))),c&&(p=zt(p,l,{chunkSize:t},r,n)),a&&!s||!i||(d=new Se,p=St(p,d)),_t(this,p,()=>{if((!a||s)&&i){const e=new g(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Re)}})}}function bt(e){return St(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function _t(e,t,r){t=St(t,new k({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function zt(e,t,n,r,s){try{e=St(e,new(t&&r?r:s)(gt,n))}catch(r){if(!t)return e;try{e=St(e,new s(gt,n))}catch(t){return e}}return e}function St(e,t){return e.pipeThrough(t)}const xt="data",kt="close",Ft="deflate",Et="inflate";class vt extends k{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Ft)?a=mt:s.startsWith(Et)&&(a=yt),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new k({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new k({transform(e,t){e&&e.length&&(t.enqueue(e),r.outputSize+=e.length)},flush(){const{signature:e}=o;n.assign(r,{signature:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Dt extends k{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new p(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}let Tt=typeof A!=de;class At{constructor(e,{readable:t,writable:r},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,scripts:l},d){const{signal:u}=i;return n.assign(e,{busy:!0,readable:t.pipeThrough(new Dt(a.chunkSize)).pipeThrough(new Rt(i),{signal:u}),writable:r,options:n.assign({},s),scripts:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:n,busy:r}=e;n?(r?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Tt?Nt:Wt)(e,a)}}class Rt extends k{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await Ct(e,n)},async transform(e,r){s+=e.length,t&&await Ct(t,s,n),r.enqueue(e)},async flush(){r&&await Ct(r,s)}})}}async function Ct(e,...t){try{await e(...t)}catch(e){}}function Wt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:r},s)=>{let a;try{a=new vt(e,s),await t.pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:r,inputSize:i,outputSize:o}=a;return{signature:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}})(e,t)}}function Nt(e,t){const{baseURL:r,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,r)=>{const s={type:"module"};let a,i;typeof e==ue&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(Ut)try{i=new A(a)}catch(e){Ut=!1,i=new A(a,s)}else i=new A(a,s);return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a}=o,i=new f(e);n.assign(i,{stack:t,code:r,name:s,outputSize:a}),h(i)}else{if("pull"==r){const{value:e,done:n}=await c.read();Mt({type:xt,value:e,done:n,messageId:a},t)}r==xt&&(await l.ready,await l.write(new p(s)),Mt({type:"ack",messageId:a},t)),r==kt&&h(null,i)}}catch(o){Mt({type:kt,messageId:a},t),h(o)}function h(e,t){e?u(e):d(t),l&&l.releaseLock(),w()}})(e,r)),i})(e.scripts[0],r,e)}catch(n){return Tt=!1,Wt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let r,s;const a=new y((e,t)=>{r=e,s=t});n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:s,result:a});const{readable:i,options:o,scripts:c}=e,{writable:l,closed:d}=(e=>{let t;const n=new y(e=>t=e);return{writable:new E({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),u=Mt({type:"start",scripts:c.slice(1),options:o,config:t,readable:i,writable:l},e);u||n.assign(e,{reader:i.getReader(),writer:l.getWriter()});const f=await a;return u||await l.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let Ut=!0,Lt=!0;function Mt(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:s}){try{const{value:n,readable:r,writable:a}=e,i=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,i.push(e.value)),s&&Lt?(r&&i.push(r),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(n){Lt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),r(),e}}let It=[];const Ot=[];let Ht=0;async function Pt(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:c,compressed:l,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:p}=r;t.transferStreams=a||a===le;const w=!(l||d||u||t.transferStreams);return t.useWebWorkers=!w&&(i||i===le&&r.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[c]:[],n.useCompressionStream=o||o===le&&r.useCompressionStream,(await(async()=>{const n=It.find(e=>!e.busy);if(n)return Vt(n),new At(n,e,t,h);if(It.length<p){const n={indexWorker:Ht};return Ht++,It.push(n),new At(n,e,t,h)}return new y(n=>Ot.push({resolve:n,stream:e,workerOptions:t}))})()).run();function h(e){if(Ot.length){const[{resolve:t,stream:n,workerOptions:r}]=Ot.splice(0,1);t(new At(e,n,r,h))}else e.worker?(Vt(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{It=It.filter(t=>t!=e);try{await e.terminate()}catch(e){}},r))})(e,t)):It=It.filter(t=>t!=e)}}function Vt(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Bt="HTTP error ",qt="HTTP Range not supported",Zt="Writer iterator completed too soon",Kt="Writer not initialized",Gt="Range",Yt="GET",jt="bytes",Xt=65536,Jt="writable";class Qt{constructor(){this.size=0}init(){this.initialized=!0}}class $t extends Qt{get readable(){const e=this,{chunkSize:t=Xt}=e,n=new F({start(){this.chunkOffset=0},async pull(r){const{offset:s=0,size:a,diskNumberStart:o}=n,{chunkOffset:c}=this,l=a===le?t:i.min(t,a-c),d=await xn(e,s+c,l,o);r.enqueue(d),c+t>a||a===le&&!d.length&&l?r.close():this.chunkOffset+=t}});return n}}class en extends Qt{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new f(Kt);return e.writeUint8Array(t)}});n.defineProperty(e,Jt,{get:()=>t})}writeUint8Array(){}}class tn extends $t{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,s=e||r<n.size?n.blob.slice(e,r):n.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new p(a)}}class nn extends Qt{constructor(e){super();const t=new k,r=[];e&&r.push(["Content-Type",e]),n.defineProperty(this,Jt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:r}).blob()}getData(){return this.blob}}class rn extends $t{constructor(e,t){super(),an(this,e,t)}async init(){await on(this,hn,un),super.init()}readUint8Array(e,t){return cn(this,e,t,hn,un)}}class sn extends $t{constructor(e,t){super(),an(this,e,t)}async init(){await on(this,gn,fn),super.init()}readUint8Array(e,t){return cn(this,e,t,gn,fn)}}function an(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.useXHR,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function on(e,t,n){const{url:r,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURL:t}=ge(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(i||o)&&(void 0===a||a)){const r=await t(Yt,e,ln(e,c?-22:void 0));if(!o&&r.headers.get("Accept-Ranges")!=jt)throw new f(qt);{let a;c&&(e.eocdCache=new p(await r.arrayBuffer()));const i=r.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===le?await wn(e,t,n):e.size=a}}else await wn(e,t,n)}async function cn(e,t,n,r,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-re&&n==re)return o;const s=await r(Yt,e,ln(e,t,n));if(206!=s.status)throw new f(qt);return new p(await s.arrayBuffer())}{const{data:r}=e;return r||await s(e,l),new p(e.data.subarray(t,t+n))}}function ln(e,t=0,r=1){return n.assign({},dn(e),{[Gt]:jt+"="+(0>t?t:t+"-"+(t+r-1))})}function dn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function un(e){await pn(e,hn)}async function fn(e){await pn(e,gn)}async function pn(e,t){const n=await t(Yt,e,dn(e));e.data=new p(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function wn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t("HEAD",e,dn(e))).headers.get("Content-Length");r?e.size=s(r):await n(e,e.options)}}async function hn(e,{options:t,url:r},s){const a=await fetch(r,n.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(qt):new f(Bt+(a.statusText||a.status))}function gn(e,{url:t},r){return new y((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new f(qt):new f(Bt+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class mn extends $t{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new sn(e,t):new rn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class yn extends $t{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.all(t.map(async(n,r)=>{await n.init(),r!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size})),super.init()}async readUint8Array(e,t,n=0){const r=this,{readers:s}=this;let a,o=n;-1==o&&(o=s.length-1);let c=e;for(;s[o]&&c>=s[o].size;)c-=s[o].size,o++;const l=s[o];if(l){const s=l.size;if(c+t>s){const i=s-c;a=new p(t);const o=await xn(l,c,i);a.set(o,0);const d=await r.readUint8Array(e+i,t-i,n);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await xn(l,c,t)}else a=new p;return r.lastDiskNumber=i.max(o,r.lastDiskNumber),a}}class bn extends Qt{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:n}=r;if(i)t.length<n?await c(t):(await c(t.subarray(0,n)),await l(),r.diskOffset+=s.size,r.diskNumber++,i=null,await this.write(t.subarray(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(Zt);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Sn(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await l()}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.size+=t,r.availableSize-=t)}async function l(){await i.close()}n.defineProperty(r,Jt,{get:()=>o})}}class _n{constructor(e){return t.isArray(e)&&(e=new yn(e)),e instanceof F&&(e={readable:e}),e}}class zn{constructor(e){return e.writable===le&&typeof e.next==ue&&(e=new bn(e)),e instanceof E&&(e={writable:e}),e.size===le&&(e.size=0),e instanceof bn||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}}async function Sn(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function xn(e,t,n,r){return e.readUint8Array(t,n,r)}const kn=yn,Fn=bn,En="filename",vn="rawFilename",Dn="comment",Tn="rawComment",An="uncompressedSize",Rn="compressedSize",Cn="offset",Wn="diskNumberStart",Nn="lastModDate",Un="rawLastModDate",Ln="lastAccessDate",Mn="creationDate",In="internalFileAttribute",On="internalFileAttributes",Hn="externalFileAttribute",Pn="externalFileAttributes",Vn="msDosCompatible",Bn="zip64",qn="encrypted",Zn="version",Kn="versionMadeBy",Gn="zipCrypto",Yn="directory",jn="executable",Xn=[En,vn,Rn,An,Nn,Un,Dn,Tn,Ln,Mn,Cn,Wn,Wn,In,On,Hn,Pn,Vn,Bn,qn,Zn,Kn,Gn,Yn,jn,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Jn{constructor(e){Xn.forEach(t=>this[t]=e[t])}}const Qn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function $n(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Qn[e[n]];return t}})(e):new _(t).decode(e)}const er="File format is not recognized",tr="Compression method not supported",nr="Split zip file",rr="utf-8",sr="cp437",ar=[[An,Y],[Rn,Y],[Cn,Y],[Wn,j]],ir={[j]:{getValue:mr,bytes:4},[Y]:{getValue:yr,bytes:8}};class or{constructor(e,t={}){n.assign(this,{reader:new _n(e),options:t,config:ge()})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await Sn(r),r.size!==le&&r.readUint8Array||(r=new tn(await new d(r.readable).blob()),await Sn(r)),r.size<re)throw new f(er);r.chunkSize=me(s);const a=await(async(e,t,n)=>{const r=new p(4);var s;return s=t,br(r).setUint32(0,s,!0),await a(22)||await a(i.min(1048582,n));async function a(t){const s=n-t,a=await xn(e,s,t);for(let e=a.length-22;e>=0;e--)if(a[e]==r[0]&&a[e+1]==r[1]&&a[e+2]==r[2]&&a[e+3]==r[3])return{offset:s+e,buffer:a.slice(e,e+22).buffer}}})(r,ee,r.size);if(!a)throw mr(br(await xn(r,0,4)))==J?new f(nr):new f("End of central directory not found");const o=br(a);let c=mr(o,12),l=mr(o,16);const u=a.offset,w=gr(o,20),h=u+re+w;let g=gr(o,4);const m=r.lastDiskNumber||0;let b=gr(o,6),_=gr(o,8),z=0,S=0;if(l==Y||c==Y||_==j||b==j){const e=br(await xn(r,a.offset-20,20));if(mr(e,0)==ne){l=yr(e,8);let t=await xn(r,l,56,-1),n=br(t);const s=a.offset-20-56;if(mr(n,0)!=te&&l!=s){const e=l;l=s,z=l-e,t=await xn(r,l,56,-1),n=br(t)}if(mr(n,0)!=te)throw new f("End of Zip64 central directory locator not found");g==j&&(g=mr(n,16)),b==j&&(b=mr(n,20)),_==j&&(_=yr(n,32)),c==Y&&(c=yr(n,40)),l-=c}}if(l<r.size||(z=r.size-l-c-re,l=r.size-c-re),m!=g)throw new f(nr);if(0>l)throw new f(er);let x=0,F=await xn(r,l,c,b),E=br(F);if(c){const e=a.offset-c;if(mr(E,x)!=$&&l!=e){const t=l;l=e,z+=l-t,F=await xn(r,l,c,b),E=br(F)}}const v=a.offset-l-(r.lastDiskOffset||0);if(c==v||0>v||(c=v,F=await xn(r,l,c,b),E=br(F)),0>l||l>=r.size)throw new f(er);const D=fr(t,e,"filenameEncoding"),T=fr(t,e,"commentEncoding");for(let a=0;_>a;a++){const o=new cr(r,s,t.options);if(mr(E,x)!=$)throw new f("Central directory header not found");lr(o,E,x+6);const c=!!o.bitFlag.languageEncodingFlag,l=x+46,u=l+o.filenameLength,p=u+o.extraFieldLength,w=gr(E,x+4),h=!(w>>8),g=w>>8==3,m=F.subarray(l,u),b=gr(E,x+32),v=p+b,A=F.subarray(p,v),R=c,C=c,W=mr(E,x+38),N=h&&!(16&~hr(E,x+38))||g&&16384==(W>>16&61440)||m.length&&47==m[m.length-1],U=g&&!!(W>>16&73),L=mr(E,x+42)+z;n.assign(o,{versionMadeBy:w,msDosCompatible:h,compressedSize:0,uncompressedSize:0,commentLength:b,directory:N,offset:L,diskNumberStart:gr(E,x+34),internalFileAttributes:gr(E,x+36),externalFileAttributes:W,rawFilename:m,filenameUTF8:R,commentUTF8:C,rawExtraField:F.subarray(u,p),executable:U}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const M=fr(t,e,"decodeText")||$n,I=R?rr:D||sr,O=C?rr:T||sr;let H=M(m,I);H===le&&(H=$n(m,I));let P=M(A,O);P===le&&(P=$n(A,O)),n.assign(o,{rawComment:A,filename:H,comment:P,directory:N||H.endsWith(ie)}),S=i.max(L,S),dr(o,o,E,x+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const V=new Jn(o);V.getData=(e,t)=>o.getData(e,V,t),V.arrayBuffer=async e=>{const t=new k,[n]=await y.all([new d(t.readable).arrayBuffer(),o.getData(t,V,e)]);return n},x=v;const{onprogress:B}=e;if(B)try{await B(a+1,_,new Jn(o))}catch(e){}yield V}const A=fr(t,e,"extractPrependedData"),R=fr(t,e,"extractAppendedData");return A&&(t.prependedData=S>0?await xn(r,0,S):new p),t.comment=w?await xn(r,u+re,w):new p,R&&(t.appendedData=h<r.size?await xn(r,h,r.size-h):new p),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class cr{constructor(e,t,r){n.assign(this,{reader:e,config:t,options:r})}async getData(e,t,r={}){const s=this,{reader:a,offset:i,diskNumberStart:o,extraFieldAES:c,compressionMethod:l,config:d,bitFlag:u,signature:w,rawLastModDate:h,uncompressedSize:g,compressedSize:m}=s,y=t.localDirectory={},b=br(await xn(a,i,34,o));let _=fr(s,r,"password"),z=fr(s,r,"rawPassword");const S=fr(s,r,"passThrough");if(_=_&&_.length&&_,z=z&&z.length&&z,c&&99!=c.originalCompressionMethod)throw new f(tr);if(0!=l&&8!=l&&!S)throw new f(tr);if(mr(b,0)!=X)throw new f("Local file header not found");lr(y,b,4),y.rawExtraField=y.extraFieldLength?await xn(a,i+30+y.filenameLength,y.extraFieldLength,o):new p,dr(s,y,b,4,!0),n.assign(t,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const x=s.encrypted&&y.encrypted&&!S,k=x&&!c;if(S||(t.zipCrypto=k),x){if(!k&&c.strength===le)throw new f("Encryption method not supported");if(!_&&!z)throw new f("File contains encrypted entry")}const F=i+30+y.filenameLength+y.extraFieldLength,v=m,D=a.readable;n.assign(D,{diskNumberStart:o,offset:F,size:v});const T=fr(s,r,"signal"),A=fr(s,r,"checkPasswordOnly");A&&(e=new E),e=new zn(e),await Sn(e,S?m:g);const{writable:R}=e,{onstart:C,onprogress:W,onend:N}=r,U={options:{codecType:Et,password:_,rawPassword:z,zipCrypto:k,encryptionStrength:c&&c.strength,signed:fr(s,r,"checkSignature")&&!S,passwordVerification:k&&(u.dataDescriptor?h>>>8&255:w>>>24&255),signature:w,compressed:0!=l&&!S,encrypted:s.encrypted&&!S,useWebWorkers:fr(s,r,"useWebWorkers"),useCompressionStream:fr(s,r,"useCompressionStream"),transferStreams:fr(s,r,"transferStreams"),checkPasswordOnly:A},config:d,streamOptions:{signal:T,size:v,onstart:C,onprogress:W,onend:N}};try{const{outputSize:t}=await Pt({readable:D,writable:R},U);e.size+=t}catch(t){if(t.outputSize!==le&&(e.size+=t.outputSize),!A||t.message!=Ce)throw t}finally{fr(s,r,"preventClose")||R.locked||await R.getWriter().close()}return A?le:e.getData?e.getData():R}}function lr(e,t,r){const s=e.rawBitFlag=gr(t,r+2),a=!(1&~s),i=mr(t,r+6);n.assign(e,{encrypted:a,version:gr(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&ae)==ae},rawLastModDate:i,lastModDate:pr(i),filenameLength:gr(t,r+22),extraFieldLength:gr(t,r+24)})}function dr(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=br(new p(i));let u=0;try{for(;u<i.length;){const e=gr(d,u),t=gr(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const w=gr(r,s+4);n.assign(t,{signature:mr(r,s+10),compressedSize:mr(r,s+14),uncompressedSize:mr(r,s+18)});const h=l.get(1);h&&(((e,t)=>{t.zip64=!0;const n=br(e.data),r=ar.filter(([e,n])=>t[e]==n);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s];if(t[i]==o){const r=ir[o];t[i]=e[i]=r.getValue(n,a),a+=r.bytes}else if(e[i])throw new f("Zip64 extra field not found")}})(h,t),t.extraFieldZip64=h);const g=l.get(28789);g&&(ur(g,En,vn,t,e),t.extraFieldUnicodePath=g);const m=l.get(25461);m&&(ur(m,Dn,Tn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y?(((e,t,r)=>{const s=br(e.data),a=hr(s,4);n.assign(e,{vendorVersion:hr(s,0),vendorId:hr(s,2),strength:a,originalCompressionMethod:r,compressionMethod:gr(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,w),t.extraFieldAES=y):t.compressionMethod=w;const b=l.get(10);b&&(((e,t)=>{const r=br(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=gr(r,a),n=gr(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(s&&24==s.length){const r=br(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:wr(a),lastAccessDate:wr(i),creationDate:wr(o)};n.assign(e,c),n.assign(t,c)}}catch(e){}})(b,t),t.extraFieldNTFS=b);const _=l.get(se);_&&(((e,t,n)=>{const r=br(e.data),s=hr(r,0),a=[],i=[];n?(1&~s||(a.push(Nn),i.push(Un)),2&~s||(a.push(Ln),i.push("rawLastAccessDate")),4&~s||(a.push(Mn),i.push("rawCreationDate"))):5>e.data.length||(a.push(Nn),i.push(Un));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=mr(r,c);t[n]=e[n]=new o(1e3*a);const l=i[s];e[l]=a}c+=4})})(_,t,a),t.extraFieldExtendedTimestamp=_);const z=l.get(6534);z&&(t.extraFieldUSDZ=z)}function ur(e,t,r,s,a){const i=br(e.data),o=new ze;o.append(a[r]);const c=br(new p(4));c.setUint32(0,o.get(),!0);const l=mr(i,1);n.assign(e,{version:hr(i,0),[t]:$n(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==mr(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function fr(e,t,n){return t[n]===le?e.options[n]:t[n]}function pr(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function wr(e){return new o(s(e/a(1e4)-a(116444736e5)))}function hr(e,t){return e.getUint8(t)}function gr(e,t){return e.getUint16(t,!0)}function mr(e,t){return e.getUint32(t,!0)}function yr(e,t){return s(e.getBigUint64(t,!0))}function br(e){return new g(e.buffer)}const _r="File already exists",zr="Zip file comment exceeds 64KB",Sr="File entry comment exceeds 64KB",xr="File entry name exceeds 64KB",kr="Version exceeds 65535",Fr="The strength must equal 1, 2, or 3",Er="Extra field type exceeds 65535",vr="Extra field data exceeds 64KB",Dr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Tr="Undefined uncompressed size",Ar="Zip file not empty",Rr=new p([7,0,2,0,65,69,3,0,0]);let Cr=0;const Wr=[];class Nr{constructor(e,t={}){const r=(e=new zn(e)).availableSize!==le&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==le&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:r,options:t,config:ge(),files:new c,filenames:new l,offset:t.offset===le?e.size||e.writable.size||0:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(Ar);({reader:e}=new _n(e));const[t,r]=e.readable.tee(),s=new or(new F({async start(e){const n=t.getReader();await async function t(){const{done:r,value:s}=await n.read();r?e.close():(e.enqueue(s),await t())}()}})),a=await s.getEntries();await s.close(),await r.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(a.map(e=>e.filename)),this.files=new c(a.map(e=>{const{version:t,compressionMethod:r,lastModDate:s,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:w,zip64:h}=e;let{rawExtraFieldZip64:g,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:_}=e;const{level:z,languageEncodingFlag:S,dataDescriptor:x}=c;g=g||new p,m=m||new p,y=y||new p,b=b||new p,_=_||new p;const k=Kr(g,m,y,b,_),F=h&&d>Y,E=h&&u>Y,{headerArray:v,headerView:D}=Gr({version:t,bitflag:Yr(z,S,x,l),compressionMethod:r,uncompressedSize:d,compressedSize:u,lastModDate:s,rawFilename:o,zip64CompressedSize:E,zip64UncompressedSize:F,extraFieldLength:k});return n.assign(e,{zip64UncompressedSize:F,zip64CompressedSize:E,zip64Offset:h&&this.offset-f>Y,zip64DiskNumberStart:h&&w>j,rawExtraFieldZip64:g,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:_,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:v,headerView:D}),[e.filename,e]}))}async add(e="",r,s={}){const c=this,{pendingAddFileCalls:l,config:u}=c;let h;Cr<u.maxWorkers?Cr++:await new y(e=>Wr.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(_r);return c.filenames.add(e),h=(async(e,r,s,c)=>{r=r.trim();const l=Ir(e,c,Vn),u=Ir(e,c,Kn,l?20:768),h=Ir(e,c,jn);if(u>j)throw new f(kr);let g=Ir(e,c,Pn,0);0===g&&(g=Ir(e,c,Hn,0)),!c.directory&&r.endsWith(ie)&&(c.directory=!0),Ir(e,c,Yn)?(r.endsWith(ie)||(r+=ie),0===g&&(g=16,l||(g|=16877<<16))):l||0!==g||(g=h?493<<16:27525120);const m=Ir(e,c,"encodeText",xe);let b=m(r);if(b===le&&(b=xe(r)),Kr(b)>j)throw new f(xr);const _=c.comment||"";let z=m(_);if(z===le&&(z=xe(_)),Kr(z)>j)throw new f(Sr);const S=Ir(e,c,Zn,20);if(S>j)throw new f(kr);const x=Ir(e,c,Nn,new o),F=Ir(e,c,Ln),E=Ir(e,c,Mn);let v=Ir(e,c,On,0);0===v&&(v=Ir(e,c,In,0));const D=Ir(e,c,"passThrough");let T,A;D||(T=Ir(e,c,"password"),A=Ir(e,c,"rawPassword"));const R=Ir(e,c,"encryptionStrength",3),C=Ir(e,c,Gn),W=Ir(e,c,"extendedTimestamp",!0),N=Ir(e,c,"keepOrder",!0),U=Ir(e,c,"level"),L=Ir(e,c,"useWebWorkers"),M=Ir(e,c,"bufferedWrite"),I=Ir(e,c,"dataDescriptorSignature",!1),O=Ir(e,c,"signal"),H=Ir(e,c,"useUnicodeFileNames",!0),P=Ir(e,c,"useCompressionStream"),V=Ir(e,c,"compressionMethod");let B=Ir(e,c,"dataDescriptor");M&&B===le&&(B=!1),(B===le||C)&&(B=!0);let q=Ir(e,c,Bn);if(!C&&(T!==le||A!==le)&&(1>R||R>3))throw new f(Fr);let Z=new p;const{extraField:K}=c;if(K){let e=0,t=0;K.forEach(t=>e+=4+Kr(t)),Z=new p(e),K.forEach((e,n)=>{if(n>j)throw new f(Er);if(Kr(e)>j)throw new f(vr);qr(Z,new w([n]),t),qr(Z,new w([Kr(e)]),t+2),qr(Z,e,t+4),t+=4+Kr(e)})}let G=0,$=0,ee=0;if(D&&(({uncompressedSize:ee}=c),ee===le))throw new f(Tr);const te=!0===q;s&&(s=new _n(s),await Sn(s),D?(c.uncompressedSize=ee,G=Or(ee)):s.size===le?(B=!0,(q||q===le)&&(q=!0,ee=G=4294967296)):(c.uncompressedSize=ee=s.size,G=Or(ee)));const{diskOffset:ne,diskNumber:re,maxSize:ae}=e.writer,de=te||ee>Y,ue=te||G>Y,fe=te||e.offset+e.pendingEntriesSize-ne>Y,pe=Ir(e,c,"supportZip64SplitFile",!0)&&te||re+i.ceil(e.pendingEntriesSize/ae)>j;if(fe||de||ue||pe){if(!1===q||!N)throw new f(Dr);q=!0}q=q||!1;const we=Ir(e,c,qn),{signature:he}=c,ge=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,encryptionStrength:h,extendedTimestamp:g,passThrough:m,encrypted:y,zip64UncompressedSize:b,zip64CompressedSize:_,zip64Offset:z,zip64DiskNumberStart:S,uncompressedSize:x,offset:k,diskNumberStart:F}=e;let{version:E,compressionMethod:v}=e;const D=!f&&(o>0||o===le&&0!==v);let T;const A=m||!D,R=c&&(e.bufferedWrite||!b&&!_||A);if(c){let e=4;b&&(e+=8),_&&(e+=8),z&&(e+=8),S&&(e+=4),T=new p(e);const t=Zr(T);if(Pr(t,0,1),Pr(t,2,Kr(T)-4),R){const e=Zr(T);let t=4;b&&(Br(e,t,a(x)),t+=8),_&&A&&(Br(e,t,a(x)),t+=8),z&&(Br(e,t,a(k)),t+=8),S&&(Vr(e,t,F),t+=4)}}else T=new p;let C,W,N,U;if(y&&!l){C=new p(Kr(Rr)+2);const e=Zr(C);Pr(e,0,39169),qr(C,Rr,2),Hr(e,8,h)}else C=new p;if(g){N=new p(9+(r?4:0)+(s?4:0));const e=Zr(N);Pr(e,0,se),Pr(e,2,Kr(N)-4),U=1+(r?2:0)+(s?4:0),Hr(e,4,U);let t=5;Vr(e,t,i.floor(n.getTime()/1e3)),t+=4,r&&(Vr(e,t,i.floor(r.getTime()/1e3)),t+=4),s&&Vr(e,t,i.floor(s.getTime()/1e3));try{W=new p(36);const e=Zr(W),t=Mr(n);Pr(e,0,10),Pr(e,2,32),Pr(e,8,1),Pr(e,10,24),Br(e,12,t),Br(e,20,Mr(r)||t),Br(e,28,Mr(s)||t)}catch(e){W=new p}}else W=N=new p;v===le&&(v=D?8:0),c&&(E=E>45?E:45),y&&!l&&(E=E>51?E:51,C[9]=v,v=99);const L=R?Kr(T):0,M=L+Kr(C,N,W,w),{headerArray:I,headerView:O,rawLastModDate:H}=Gr({version:E,bitflag:Yr(o,d,u,y),compressionMethod:v,uncompressedSize:x,lastModDate:ce>n?ce:n>oe?oe:n,rawFilename:t,zip64CompressedSize:_,zip64UncompressedSize:b,extraFieldLength:M});let P=30;const V=new p(P+Kr(t)+M),B=Zr(V);return Vr(B,0,X),qr(V,I,4),qr(V,t,P),P+=Kr(t),R&&qr(V,T,P),P+=L,qr(V,C,P),P+=Kr(C),qr(V,N,P),P+=Kr(N),qr(V,W,P),P+=Kr(W),qr(V,w,P),{localHeaderArray:V,localHeaderView:B,headerArray:I,headerView:O,lastModDate:n,rawLastModDate:H,encrypted:y,compressed:D,version:E,compressionMethod:v,extraFieldExtendedTimestampFlag:U,rawExtraFieldZip64:T,localExtraFieldZip64Length:L,rawExtraFieldExtendedTimestamp:N,rawExtraFieldNTFS:W,rawExtraFieldAES:C,extraFieldLength:M}})(c=n.assign({},c,{rawFilename:b,rawComment:z,version:S,versionMadeBy:u,lastModDate:x,lastAccessDate:F,creationDate:E,rawExtraField:Z,zip64:q,zip64UncompressedSize:de,zip64CompressedSize:ue,zip64Offset:fe,zip64DiskNumberStart:pe,password:T,rawPassword:A,level:P||e.config.CompressionStream!==le||e.config.CompressionStreamNative!==le?U:0,useWebWorkers:L,encryptionStrength:R,extendedTimestamp:W,zipCrypto:C,bufferedWrite:M,keepOrder:N,useUnicodeFileNames:H,dataDescriptor:B,dataDescriptorSignature:I,signal:O,msDosCompatible:l,internalFileAttribute:v,internalFileAttributes:v,externalFileAttribute:g,externalFileAttributes:g,useCompressionStream:P,passThrough:D,encrypted:!!(T&&Kr(T)||A&&Kr(A))||D&&we,signature:he,compressionMethod:V,uncompressedSize:ee,offset:e.offset-ne,diskNumberStart:re})),ye=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=new p,a=0;return t&&(s=new p(e?n?24:20:n?16:12),r=Zr(s),n&&(a=4,Vr(r,0,Q))),{dataDescriptorArray:s,dataDescriptorView:r,dataDescriptorOffset:a}})(c),be=Kr(ge.localHeaderArray,ye.dataDescriptorArray);let _e;$=be+G,e.options.usdz&&($+=$+64),e.pendingEntriesSize+=$;try{_e=await(async(e,r,s,i,o)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:w,signal:h}=o,{headerInfo:g}=i,{usdz:m}=e.options,b=t.from(c.values()).pop();let _,z,S,x,F,E,v,D={};c.set(r,D);try{let t;u&&(t=b&&b.lock,D.lock=new y(e=>S=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&w||m?(E=l,await T()):(E=new k,E.size=0,_=!0,e.bufferedWrites++,await Sn(l)),await Sn(E);const{writable:z,diskOffset:R}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Vr(Zr(t),0,J),await Lr(l,t),e.offset+=4}m&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:r,extraFieldLength:s}=n,a=Zr(r),i=64-(t+Kr(r))%64;4>i&&(i+=64);const o=new p(i),c=Zr(o);Pr(c,0,6534),Pr(c,2,i-2);const l=r;n.localHeaderArray=r=new p(Kr(l)+i),qr(r,l),qr(r,o,Kr(l)),a=Zr(r),Pr(a,28,s+i),e.metadataSize+=i})(i,e.offset-R);const{localHeaderView:C,localHeaderArray:W}=g;_||(await t,await A(z));const{diskNumber:N}=l;F=!0,D.diskNumberStart=N,_?v=new d(E.readable).blob():await Lr(E,W),D=await(async(e,t,{diskNumberStart:r,lock:s},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:f,headerView:p,lastModDate:w,rawLastModDate:h,encrypted:g,compressed:m,version:y,compressionMethod:b,rawExtraFieldZip64:_,localExtraFieldZip64Length:z,rawExtraFieldExtendedTimestamp:S,extraFieldExtendedTimestampFlag:x,rawExtraFieldNTFS:k,rawExtraFieldAES:F}=l,{dataDescriptorArray:E}=d,{rawFilename:v,lastAccessDate:D,creationDate:T,password:A,rawPassword:R,level:C,zip64:W,zip64UncompressedSize:N,zip64CompressedSize:U,zip64Offset:L,zip64DiskNumberStart:M,zipCrypto:I,dataDescriptor:O,directory:H,executable:P,versionMadeBy:V,rawComment:B,rawExtraField:q,useWebWorkers:Z,onstart:K,onprogress:G,onend:Y,signal:j,encryptionStrength:X,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,useCompressionStream:te,passThrough:ne}=c,re={lock:s,versionMadeBy:V,zip64:W,directory:!!H,executable:!!P,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:B,rawExtraFieldZip64:_,localExtraFieldZip64Length:z,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:k,rawExtraFieldAES:F,rawExtraField:q,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,diskNumberStart:r};let{signature:se,uncompressedSize:ae}=c,ie=0;ne||(ae=0);const{writable:oe}=t;if(e){e.chunkSize=me(o);const n=e.readable,r=e.size,s={options:{codecType:Ft,level:C,rawPassword:R,password:A,encryptionStrength:X,zipCrypto:g&&I,passwordVerification:g&&I&&h>>8&255,signed:!ne,compressed:m&&!ne,encrypted:g&&!ne,useWebWorkers:Z,useCompressionStream:te,transferStreams:!1},config:o,streamOptions:{signal:j,size:r,onstart:K,onprogress:G,onend:Y}};try{const e=await Pt({readable:n,writable:oe},s);ie=e.outputSize,t.size+=ie,ne||(ae=e.inputSize,se=e.signature)}catch(e){throw e.outputSize!==le&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:n,headerInfo:r,dataDescriptorInfo:s},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=r,{dataDescriptorView:u,dataDescriptorOffset:f}=s;d&&!o||e===le||(Vr(l,10,e),c&&Vr(u,f,e)),i?c&&(Br(u,f+4,a(t)),Br(u,f+12,a(n))):(Vr(l,14,t),Vr(l,18,n),c&&(Vr(u,f+4,t),Vr(u,f+8,n)))})({signature:se,compressedSize:ie,uncompressedSize:ae,headerInfo:l,dataDescriptorInfo:d},c),O&&await Lr(t,E),n.assign(re,{uncompressedSize:ae,compressedSize:ie,lastModDate:w,rawLastModDate:h,creationDate:T,lastAccessDate:D,encrypted:g,zipCrypto:I,size:u+ie,compressionMethod:b,version:y,headerArray:f,headerView:p,signature:se,extraFieldExtendedTimestampFlag:x,zip64UncompressedSize:N,zip64CompressedSize:U,zip64Offset:L,zip64DiskNumberStart:M}),re})(s,E,D,i,e.config,o);const{zip64:U}=D;if(F=!1,c.set(r,D),D.filename=r,_){const[n]=await y.all([v,E.writable.getWriter().close(),t]);await T(),x=!0,D.diskNumberStart=l.diskNumber,D.offset=e.offset-l.diskOffset,U&&Ur(D),(({rawFilename:e,dataDescriptor:t,encrypted:n,zip64:r,localExtraFieldZip64Length:s,signature:i,compressedSize:o,uncompressedSize:c,offset:l,diskNumberStart:d,zip64UncompressedSize:u,zip64CompressedSize:f,zip64Offset:p,zip64DiskNumberStart:w},h)=>{if(t||(n||Vr(h,14,i),r||(Vr(h,18,o),Vr(h,22,c))),r&&s){let t=30+Kr(e)+4;u&&(Br(h,t,a(c)),t+=8),f&&(Br(h,t,a(o)),t+=8),p&&(Br(h,t,a(l)),t+=8),w&&Vr(h,t,d)}})(D,C),await A(z),await Lr(l,W),await n.stream().pipeTo(z,{preventClose:!0,preventAbort:!0,signal:h}),l.size+=E.size,x=!1}else D.offset=e.offset-R,U&&Ur(D);if(D.offset>Y&&!U)throw new f(Dr);return e.offset+=D.size,D}catch(t){if(_&&x||!_&&F){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}_?e.offset+=E.size:e.offset=E.size}throw c.delete(r),t}finally{_&&e.bufferedWrites--,S&&S(),z&&z()}async function T(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>z=()=>{e.writerLocked=!1,t()}),await t}async function A(e){Kr(g.localHeaderArray)>l.availableSize&&(l.availableSize=0,await Lr(e,new p))}})(e,r,s,{headerInfo:ge,dataDescriptorInfo:ye,metadataSize:be},c)}finally{e.pendingEntriesSize-=$}return n.assign(_e,{name:r,comment:_,extraField:K}),new Jn(_e)})(c,e,r,s),l.add(h),await h}catch(t){throw c.filenames.delete(e),t}finally{l.delete(h);const e=Wr.shift();e?e():Cr--}}remove(e){const{filenames:t,files:n}=this;if("string"==typeof e&&(e=n.get(e)),e&&e.filename!==le){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=new p,n={}){const{pendingAddFileCalls:r,writer:s}=this,{writable:o}=s;for(;r.size;)await y.allSettled(t.from(r));return await(async(e,n,r)=>{const{files:s,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,w=e.offset-c,h=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:d}=e;let f;if(c){f=new p(9);const e=Zr(f);Pr(e,0,se),Pr(e,2,5),Hr(e,4,l),Vr(e,5,i.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldExtendedTimestamp=f,u+=46+Kr(t,s,n,r,a,f,o)}const g=new p(u),m=Zr(g);await Sn(o);let y=0;for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraField:f,rawComment:p,versionMadeBy:w,headerArray:h,headerView:b,zip64:_,zip64UncompressedSize:z,zip64CompressedSize:S,zip64DiskNumberStart:x,zip64Offset:k,internalFileAttributes:F,externalFileAttributes:E,diskNumberStart:v,uncompressedSize:D,compressedSize:T}=n,A=Kr(i,c,l,u,f);Vr(m,d,$),Pr(m,d+4,w),z||Vr(b,18,D),S||Vr(b,14,T),qr(g,h,d+6);let R=d+26+4;if(Pr(m,R,A),R+=2,Pr(m,R,Kr(p)),R+=2,Pr(m,R,_&&x?j:v),R+=2,Pr(m,R,F),R+=2,E&&Vr(m,R,E),R+=4,Vr(m,R,_&&k?Y:t),R+=4,qr(g,a,R),R+=Kr(a),qr(g,i,R),R+=Kr(i),qr(g,c,R),R+=Kr(c),qr(g,l,R),R+=Kr(l),qr(g,u,R),R+=Kr(u),qr(g,f,R),R+=Kr(f),qr(g,p,R),d-y>o.availableSize&&(o.availableSize=0,await Lr(o,g.slice(y,d)),y=d),d=R,r.onprogress)try{await r.onprogress(e+1,s.size,new Jn(n))}catch(e){}}await Lr(o,y?g.slice(y):g);let b=o.diskNumber;const{availableSize:_}=o;re>_&&b++;let z=Ir(e,r,Bn);if(w>Y||u>Y||h>j||b>j){if(!1===z)throw new f(Dr);z=!0}const S=new p(z?98:re),x=Zr(S);d=0,z&&(Vr(x,0,te),Br(x,4,a(44)),Pr(x,12,45),Pr(x,14,45),Vr(x,16,b),Vr(x,20,l),Br(x,24,a(h)),Br(x,32,a(h)),Br(x,40,a(u)),Br(x,48,a(w)),Vr(x,56,ne),Br(x,64,a(w)+a(u)),Vr(x,72,b+1),Ir(e,r,"supportZip64SplitFile",!0)&&(b=j,l=j),h=j,w=Y,u=Y,d+=76),Vr(x,d,ee),Pr(x,d+4,b),Pr(x,d+6,l),Pr(x,d+8,h),Pr(x,d+10,h),Vr(x,d+12,u),Vr(x,d+16,w);const k=Kr(n);if(k){if(k>j)throw new f(zr);Pr(x,d+20,k)}await Lr(o,S),k&&await Lr(o,n)})(this,e,n),Ir(this,n,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}function Ur({compressedSize:e,uncompressedSize:t,offset:n,diskNumberStart:r,zip64UncompressedSize:s,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=Zr(l);let u=4;s&&(Br(d,u,a(t)),u+=8),i&&(Br(d,u,a(e)),u+=8),o&&(Br(d,u,a(n)),u+=8),c&&Vr(d,u,r)}async function Lr(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Kr(t),await r.write(t)}finally{r.releaseLock()}}function Mr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Ir(e,t,n,r){const s=t[n]===le?e.options[n]:t[n];return s===le?r:s}function Or(e){return e+5*(i.floor(e/16383)+1)}function Hr(e,t,n){e.setUint8(t,n)}function Pr(e,t,n){e.setUint16(t,n,!0)}function Vr(e,t,n){e.setUint32(t,n,!0)}function Br(e,t,n){e.setBigUint64(t,n,!0)}function qr(e,t,n){e.set(t,n)}function Zr(e){return new g(e.buffer)}function Kr(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Gr({version:e,bitflag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new p(26),u=Zr(d);Pr(u,0,e),Pr(u,2,t),Pr(u,4,n);const f=new h(1),w=Zr(f);Pr(w,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Pr(w,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const g=f[0];return Vr(u,6,g),(o||s!==le)&&Vr(u,14,o?Y:s),(c||r!==le)&&Vr(u,18,c?Y:r),Pr(u,22,Kr(i)),Pr(u,24,l),{headerArray:d,headerView:u,rawLastModDate:g}}function Yr(e,t,n,r){let s=0;return t&&(s|=ae),n&&(s|=8),e>=0&&2>e&&(s|=6),e>=3&&6>e&&(s|=4),9==e&&(s|=2),r&&(s|=1),s}ye({Deflate:function(e){const t=new G,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(r/16383)+1);var r;const s=new p(n);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,r)=>{let a,i,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,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new p(s)):d.push(s.subarray(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?(i=new p(l),d.forEach(e=>{i.set(e,c),c+=e.length})):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,r,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);n-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new p(i),o.forEach(e=>{r.set(e,a),a+=e.length}),r}}}),e.BlobReader=tn,e.BlobWriter=nn,e.Data64URIReader=class extends $t{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{dataStart:n,dataURI:r}=this,s=new p(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends en{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,s=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=r.fromCharCode(e[n]);s.length>2?t.data+=x(s):t.pending=s}getData(){return this.data+x(this.pending)}},e.ERR_DUPLICATED_NAME=_r,e.ERR_HTTP_RANGE=qt,e.ERR_INVALID_COMMENT=zr,e.ERR_INVALID_ENCRYPTION_STRENGTH=Fr,e.ERR_INVALID_ENTRY_COMMENT=Sr,e.ERR_INVALID_ENTRY_NAME=xr,e.ERR_INVALID_EXTRAFIELD_DATA=vr,e.ERR_INVALID_EXTRAFIELD_TYPE=Er,e.ERR_INVALID_VERSION=kr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Zt,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Tr,e.ERR_UNSUPPORTED_FORMAT=Dr,e.ERR_WRITER_NOT_INITIALIZED=Kt,e.ERR_ZIP_NOT_EMPTY=Ar,e.GenericReader=_n,e.GenericWriter=zn,e.HttpRangeReader=class extends mn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=mn,e.Reader=$t,e.SplitDataReader=yn,e.SplitDataWriter=bn,e.SplitZipReader=kn,e.SplitZipWriter=Fn,e.TextReader=class extends tn{constructor(e){super(new m([e],{type:"text/plain"}))}},e.TextWriter=class extends nn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new y((s,a)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(r,e)})}}},e.Uint8ArrayReader=class extends $t{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends en{init(e=0){n.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new p(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=en,e.ZipWriter=Nr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new k;this.readable=t,this.zipWriter=new Nr(n,e)}transform(e){const{readable:t,writable:n}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new k;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=ye,e.getMimeType=()=>"application/octet-stream",e.initStream=Sn,e.readUint8Array=xn,e.terminateWorkers=async()=>{await y.allSettled(It.map(e=>(Vt(e),e.terminate())))}});