single-file-core 1.5.126 → 1.5.128

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
- ((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:s,BigInt:o,Math:a,Date:i,Map:c,Set:f,Response:u,URL:l,Error:w,Uint8Array:d,Uint16Array:h,Uint32Array:p,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:x,ReadableStream:z,WritableStream:R,CompressionStream:C,DecompressionStream:D,navigator:F,Worker:A,setTimeout:T,clearTimeout:U}="undefined"!=typeof globalThis?globalThis:this||self,E=4294967295,I=65535,W=255,M=134695760,O=M,L=33639248,P=101075792,B=117853008,H=22,V=20,Z=56,q=61440,N=new i(1980,0,1),_=void 0,j="undefined",K="function",G="string",X=new d,J="strict",Q="balanced",Y="tolerant";function $(t){if(t&&typeof t!=K)throw new w("Invalid option (must be a function)");return t}function tt(t){return typeof t==G&&t.trim()?s(t):t}let et=2;try{typeof F!=j&&F.hardwareConcurrency&&(et=F.hardwareConcurrency)}catch{}const nt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:et,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=j&&C,DecompressionStream:typeof D!=j&&D},rt="maxWorkers",st=["chunkSize",rt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ot=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],at=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...st,...ot],it={...nt};function ct(){return it}function ft(t){return ut(t.chunkSize)}function ut(t){return t=tt(t),s.isInteger(t)&&t>=1?a.max(t,64):65536}function lt(t){const e={};for(const n of at){const r=t[n];r!==_&&(e[n]=wt(n,r))}return e}function wt(t,e){if(st.includes(t)){if(e=tt(e),t==rt&&(!s.isInteger(e)||1>e))throw new w("Invalid maxWorkers (must be an integer greater than 0)")}else ot.includes(t)&&$(e);return e}function dt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===_&&r===_)return t;const s=n.assign({},t);return s.CompressionStreamFallback===_&&(s.CompressionStreamFallback=e),s.DecompressionStreamFallback===_&&(s.DecompressionStreamFallback=r),s}var ht=d,pt=h,mt=Int32Array,yt=new ht([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,0,0,0]),gt=new ht([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,0,0]),bt=new ht([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),vt=(t,e)=>{for(var n=new pt(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new mt(n[30]);for(r=1;30>r;++r)for(var o=n[r];o<n[r+1];++o)s[o]=o-n[r]<<5|r;return{b:n,r:s}},St=vt(yt,2),kt=St.b,xt=St.r;kt[28]=258,xt[258]=28;for(var zt=vt(gt,0).b,Rt=new pt(32768),Ct=0;32768>Ct;++Ct){var Dt=(43690&Ct)>>1|(21845&Ct)<<1;Dt=(61680&(Dt=(52428&Dt)>>2|(13107&Dt)<<2))>>4|(3855&Dt)<<4,Rt[Ct]=((65280&Dt)>>8|(255&Dt)<<8)>>1}var Ft=(t,e,n)=>{for(var r=t.length,s=0,o=new pt(e);r>s;++s)t[s]&&++o[t[s]-1];var a,i=new pt(e);for(s=1;e>s;++s)i[s]=i[s-1]+o[s-1]<<1;if(n){a=new pt(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var f=s<<4|t[s],u=e-t[s],l=i[t[s]-1]++<<u,w=l|(1<<u)-1;w>=l;++l)a[Rt[l]>>c]=f}else for(a=new pt(r),s=0;r>s;++s)t[s]&&(a[s]=Rt[i[t[s]-1]++]>>15-t[s]);return a},At=new ht(288);for(Ct=0;144>Ct;++Ct)At[Ct]=8;for(Ct=144;256>Ct;++Ct)At[Ct]=9;for(Ct=256;280>Ct;++Ct)At[Ct]=7;for(Ct=280;288>Ct;++Ct)At[Ct]=8;var Tt=new ht(32);for(Ct=0;32>Ct;++Ct)Tt[Ct]=5;var Ut=Ft(At,9,1),Et=Ft(Tt,5,1),It=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},Wt=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Mt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},Ot=t=>(t+7)/8|0,Lt=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new ht(t.subarray(e,n))),Pt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Bt=(t,e,n)=>{var r=new w(e||Pt[t]);if(r.code=t,w.captureStackTrace&&w.captureStackTrace(r,Bt),!n)throw r;return r},Ht=(t,e,n,r)=>{var s=t.length,o=r?r.length:0;if(!s||e.f&&!e.o)return n||new ht(0);var i=!n,c=i||2!=e.i,f=e.i;i&&(n=new ht(3*s));var u=t=>{var e=n.length;if(t>e){var r=new ht(a.max(2*e,t));r.set(n),n=r}},l=e.f||0,w=e.p||0,d=e.b||0,h=e.o,p=e.d,m=e.l,y=e.n,g=8*s;do{if(!h){l=Wt(t,w,1);var b=Wt(t,w+1,3);if(w+=3,!b){var v=t[(U=Ot(w)+4)-4]|t[U-3]<<8,S=U+v;if(S>s){f&&Bt(0);break}c&&u(d+v),n.set(t.subarray(U,S),d),e.b=d+=v,e.p=w=8*S,e.f=l;continue}if(1==b)h=Ut,p=Et,m=9,y=5;else if(2==b){var k=Wt(t,w,31)+257,x=Wt(t,w+10,15)+4,z=k+Wt(t,w+5,31)+1;w+=14;for(var R=new ht(z),C=new ht(19),D=0;x>D;++D)C[bt[D]]=Wt(t,w+3*D,7);w+=3*x;var F=It(C),A=(1<<F)-1,T=Ft(C,F,1);for(D=0;z>D;){var U,E=T[Wt(t,w,A)];if(w+=15&E,16>(U=E>>4))R[D++]=U;else{var I=0,W=0;for(16==U?(W=3+Wt(t,w,3),w+=2,I=R[D-1]):17==U?(W=3+Wt(t,w,7),w+=3):18==U&&(W=11+Wt(t,w,127),w+=7);W--;)R[D++]=I}}var M=R.subarray(0,k),O=R.subarray(k);m=It(M),y=It(O),h=Ft(M,m,1),p=Ft(O,y,1)}else Bt(1);if(w>g){f&&Bt(0);break}}c&&u(d+131072);for(var L=(1<<m)-1,P=(1<<y)-1,B=w;;B=w){var H=(I=h[Mt(t,w)&L])>>4;if((w+=15&I)>g){f&&Bt(0);break}if(I||Bt(2),256>H)n[d++]=H;else{if(256==H){B=w,h=null;break}var V=H-254;if(H>264){var Z=yt[D=H-257];V=Wt(t,w,(1<<Z)-1)+kt[D],w+=Z}var q=p[Mt(t,w)&P],N=q>>4;if(q||Bt(3),w+=15&q,O=zt[N],N>3&&(Z=gt[N],O+=Mt(t,w)&(1<<Z)-1,w+=Z),w>g){f&&Bt(0);break}c&&u(d+131072);var _=d+V;if(O>d){var j=o-O,K=a.min(O,_);for(0>j+d&&Bt(3);K>d;++d)n[d]=r[j+d]}for(;_>d;++d)n[d]=n[d-O]}}e.o=h,e.p=B,e.b=d,e.f=l,h&&(l=1,e.l=m,e.d=p,e.n=y)}while(!l);return d!=n.length&&i?Lt(n,0,d):n.subarray(0,d)},Vt=new ht(0),Zt=function(){function t(t,e){"function"==typeof t&&(e=t,t={}),this.h=e;var n=t&&t.m&&t.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new ht(32768),this.p=new ht(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||Bt(5),this.d&&Bt(4),this.p.length){if(t.length){var e=new ht(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length),this.p=e}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var e=this.s.b,n=Ht(this.p,this.s,this.v);this.h(Lt(n,e,this.s.b),this.d),this.v=Lt(n,this.s.b-32768),this.s.b=this.v.length,this.p=Lt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),qt=void 0!==v&&new v;try{qt.decode(Vt,{stream:!0})}catch(t){}class Nt extends x{constructor(t){super({start(e){t.h=t=>{t.length&&e.enqueue(t)}},transform(e){t.push(e)},flush(){t.push(new d(0),!0)}})}}const _t="Compression method not supported",jt=new c,Kt=new c;function Gt(t){return Kt.get(t)}const Xt=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;Xt[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=Xt[e-1][t];Xt[e][t]=n>>>8^Xt[0][255&n]}const[Jt,Qt,Yt,$t,te,ee,ne,re]=Xt;class se{constructor(t){this.S=t||-1}append(t){let e=0|this.S;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const s=new m(t.buffer,t.byteOffset,n),o=n-8;for(;o>=r;r+=8){const t=e^s.getInt32(r,!0),n=s.getInt32(r+4,!0);e=re[255&t]^ne[t>>>8&255]^ee[t>>>16&255]^te[t>>>24&255]^$t[255&n]^Yt[n>>>8&255]^Qt[n>>>16&255]^Jt[n>>>24&255]}}for(;n>r;r++)e=e>>>8^Jt[255&(e^t[r])];this.S=e}get(){return~this.S}}class oe extends x{constructor(){let t;const e=new se;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function ae(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function ie(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const ce={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=ce.R(n);return 32===r?t.concat(e):ce.C(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+ce.R(n)},D(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,a.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=ce.F(e,t[n-1]&2147483648>>e-1,1)),t},F:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>a.round(t/1099511627776)||32,C(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,o=ce.R(s);return r.push(ce.F(e+o&31,e+o>32?n:r.pop(),1)),r}},fe={bytes:{A(t){const e=ce.bitLength(t)/8,n=new d(e);let r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},T(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(ce.F(8*(3&n),r)),e}}},ue=class{constructor(t){const e=this;e.blockSize=512,e.U=[1732584193,4023233417,2562383102,271733878,3285377520],e.I=[1518500249,1859775393,2400959708,3395469782],t?(e.W=t.W.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.W=t.U.slice(0),t.M=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=fe.L.T(t));const n=e.M=ce.concat(e.M,t),r=e.O,s=e.O=r+ce.bitLength(t);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const o=new p(n);let a=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=t;t+=e.blockSize)e.P(o.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}B(){const t=this;let e=t.M;const n=t.W;e=ce.concat(e,[ce.F(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(a.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.P(e.splice(0,16));return t.reset(),n}H(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}P(t){const n=this,r=n.W,s=e(80);for(let e=0;16>e;e++)s[e]=t[e];let o=r[0],i=r[1],c=r[2],f=r[3],u=r[4];for(let t=0;79>=t;t++){16>t||(s[t]=n.V(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=n.V(5,o)+n.H(t,i,c,f)+u+s[t]+n.I[a.floor(t/20)]|0;u=f,f=c,c=n.V(30,i),i=o,o=e}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+f|0,r[4]=r[4]+u|0}},le={importKey:t=>new le.Z(fe.bytes.T(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let o,a,i,c,f;const u=new ArrayBuffer(s),l=new m(u);let d=0;const h=ce;for(e=fe.bytes.T(e),f=1;(s||1)>d;f++){for(o=a=t.encrypt(h.concat(e,[f])),i=1;n>i;i++)for(a=t.encrypt(a),c=0;c<a.length;c++)o[c]^=a[c];for(i=0;(s||1)>d&&i<o.length;i++)l.setInt32(d,o[i]),d+=4}return u.slice(0,r/8)},Z:class{constructor(t){const e=this,n=e._=ue,r=[[],[]];e.j=[new n,new n];const s=e.j[0].blockSize/32;t.length>s&&(t=(new n).update(t).B());for(let e=0;s>e;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){const t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){const t=this,e=t.K.B(),n=new t._(t.j[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.G)throw new w("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},we=typeof S!=j&&typeof S.getRandomValues==K,de="Invalid password",he="zipjs-abort-check-password";function pe(t){if(we)return S.getRandomValues(t);throw new w("Crypto API not supported")}const me=16,ye={name:"PBKDF2"},ge=n.assign({hash:{name:"HMAC"}},ye),be=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ye),ve=["deriveBits"],Se=[8,12,16],ke=[16,24,32],xe=10,ze=[0,0,0,0],Re=typeof S!=j,Ce=Re&&S.subtle,De=Re&&typeof Ce!=j,Fe=fe.bytes,Ae=class{constructor(t){const e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();const n=e.X[0][4],r=e.X[1],s=t.length;let o,a,i,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(e.I=[a=t.slice(0),i=[]],o=s;4*s+28>o;o++){let t=a[o-1];(o%s===0||8===s&&o%s===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],o%s===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),a[o]=a[o-s]^t}for(let t=0;o;t++,o--){const e=a[3&t?o:o-4];i[t]=4>=o||4>t?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){const t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],o=[];let a,i,c,f;for(let t=0;256>t;t++)o[(s[t]=t<<1^283*(t>>7))^t]=t;for(let u=a=0;!n[u];u^=i||1,a=o[a]||1){let o=a^a<<1^a<<2^a<<3^a<<4;o=o>>8^255&o^99,n[u]=o,r[o]=u,f=s[c=s[i=s[u]]];let l=16843009*f^65537*c^257*i^16843008*u,w=257*s[o]^16843008*o;for(let n=0;4>n;n++)t[n][u]=w=w<<24^w>>>8,e[n][o]=l=l<<24^l>>>8}for(let n=0;5>n;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}Y(t,e){if(4!==t.length)throw new w("invalid aes block size");const n=this.I[e],r=n.length/4-2,s=[0,0,0,0],o=this.X[e],a=o[0],i=o[1],c=o[2],f=o[3],u=o[4];let l,d,h,p=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],b=4;for(let t=0;r>t;t++)l=a[p>>>24]^i[m>>16&255]^c[y>>8&255]^f[255&g]^n[b],d=a[m>>>24]^i[y>>16&255]^c[g>>8&255]^f[255&p]^n[b+1],h=a[y>>>24]^i[g>>16&255]^c[p>>8&255]^f[255&m]^n[b+2],g=a[g>>>24]^i[p>>16&255]^c[m>>8&255]^f[255&y]^n[b+3],b+=4,p=l,m=d,y=h;for(let t=0;4>t;t++)s[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&g]^n[b++],l=p,p=m,m=y,y=g,g=l;return s}},Te=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){0===(t[0]=this.ot(t[0]))&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];const s=ce.bitLength(e);for(let s=0;r>s;s+=4){this.it(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return ce.D(e,s)}},Ue=le.Z;let Ee=Re&&De&&typeof Ce.importKey==K,Ie=Re&&De&&typeof Ce.deriveBits==K;class We extends x{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Oe(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:o,ct:a,ready:i}=n;s?(await(async(t,e,n,r)=>{const s=await Pe(t,e,n,He(r,0,Se[e])),o=He(r,Se[e]);if(s[0]!=o[0]||s[1]!=o[1])throw new w(de)})(n,o,s,He(t,0,Se[o]+2)),t=He(t,Se[o]+2),r?e.error(new w(he)):a()):await i;const c=new d(t.length-xe-(t.length-xe)%me);e.enqueue(Le(n,t,c,0,xe,!0))},async flush(t){const{ft:e,ut:n,lt:r,ready:o}=this;if(n&&e){await o;const a=He(r,0,r.length-xe),i=He(r,r.length-xe);let c=X;if(a.length){const t=Ze(Fe,a);n.update(t);const r=e.update(t);c=Ve(Fe,r)}const f=He(Ve(Fe,n.digest()),0,xe);let u=r.length<xe?1:0;for(let t=0;xe>t;t++)u|=f[t]^i[t];if(u&&s)throw new w("Invalid authentication code");t.enqueue(c)}}})}}class Me extends x{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){Oe(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,ct:o,ready:a}=n;let i=X;r?(i=await(async(t,e,n)=>{const r=pe(new d(Se[e]));return ae(r,await Pe(t,e,n,r))})(n,s,r),o()):await a;const c=new d(i.length+t.length-t.length%me);c.set(i,0),e.enqueue(Le(n,t,c,i.length,0))},async flush(t){const{ft:e,ut:n,lt:r,ready:s}=this;if(n&&e){await s;let o=X;if(r.length){const t=e.update(Ze(Fe,r));n.update(t),o=Ve(Fe,t)}const a=Ve(Fe,n.digest()).slice(0,xe);t.enqueue(ae(o,a))}}})}}function Oe(t,e,r,s){n.assign(t,{ready:new g(e=>t.ct=e),password:Be(e,r),strength:s-1,lt:X})}function Le(t,e,n,r,s,o){const{ft:a,ut:i,lt:c}=t;c.length&&(e=ae(c,e));const f=e.length-s;let u;for(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new d(e)).set(n,0)}return t})(n,r+(f-f%me)),u=0;f-me>=u;u+=me){const t=Ze(Fe,He(e,u,u+me));o&&i.update(t);const s=a.update(t);o||i.update(s),n.set(Ve(Fe,s),u+r)}return t.lt=He(e,u),n}async function Pe(t,r,s,o){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!Ee)return le.importKey(e);try{return await Ce.importKey("raw",e,n,!1,s)}catch{return Ee=!1,le.importKey(e)}})(0,s,ge,0,ve),i=await(async(t,e,n)=>{if(!Ie)return le.N(e,t.salt,be.iterations,n);try{return await Ce.deriveBits(t,e,n)}catch{return Ie=!1,le.N(e,t.salt,be.iterations,n)}})(n.assign({salt:o},be),a,8*(2*ke[r]+2)),c=new d(i),f=Ze(Fe,He(c,0,ke[r])),u=Ze(Fe,He(c,ke[r],2*ke[r])),l=He(c,2*ke[r]);return n.assign(t,{keys:{key:f,wt:u,passwordVerification:l},ft:new Te(new Ae(f),e.from(ze)),ut:new Ue(u)}),l}function Be(t,e){return e===_?(t=>{if(typeof b==j){const e=new d((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)})(t):e}function He(t,e,n){return t.subarray(e,n)}function Ve(t,e){return t.A(e)}function Ze(t,e){return t.T(e)}class qe extends x{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){_e(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=je(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(de);t=t.subarray(12)}r?e.error(new w(he)):e.enqueue(je(n,t))}})}}class Ne extends x{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){_e(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=pe(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(Ke(n,e),0),s=12}else r=new d(t.length),s=0;r.set(Ke(n,t),s),e.enqueue(r)}})}}function _e(t,e,r,s){n.assign(t,{password:e,rawPassword:r,passwordVerification:s}),((t,e,r)=>{const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,ht:new se(s[0]),yt:new se(s[2])}),r)for(let e=0;e<r.length;e++)Ge(t,r[e]);else for(let n=0;n<e.length;n++)Ge(t,e.charCodeAt(n))})(t,e,r)}function je(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Xe(t)^e[r],Ge(t,n[r]);return n}function Ke(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Xe(t)^e[r],Ge(t,e[r]);return n}function Ge(t,e){let[,n]=t.keys;t.ht.append([e]);const r=~t.ht.get();n=Qe(a.imul(Qe(n+Je(r)),134775813)+1),t.yt.append([n>>>24]);const s=~t.yt.get();t.keys=[r,n,s]}function Xe(t){const e=2|t.keys[2];return Je(a.imul(e,1^e)>>>8)}function Je(t){return 255&t}function Qe(t){return 4294967295&t}function Ye(t){if(t instanceof z)return t;const e=t.getReader();return new z({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function $e(t,e){t=Ye(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=K||new y([]).stream()instanceof z)return new u(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function tn(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const en="Invalid uncompressed size",nn="deflate-raw",rn="gzip",sn=[31,139,8];class on extends x{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:o,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:f,deflate64:u,format:l,compressionMethod:w,inputSize:d}=t,h=this;let p,y,g,b=super.readable;const v=l&&Gt(l),S=c&&s&&!u&&!v&&(!o||i)&&!(!a||!r);if(o&&!i||!c||S||(p=new oe,b=dn(b,p)),s)if(v)b=hn(b,ln(v.CompressionStream,l,{level:f,chunkSize:e,compressionMethod:w,uncompressedSize:d}));else if(S)g=new an,b=hn(b,new r(rn)),b=dn(b,g);else try{b=wn(b,a,{level:f,chunkSize:e},r,n)}catch(t){let e;try{e=new r(rn)}catch{throw t}b=hn(b,e),b=dn(b,new an)}o&&(i?b=dn(b,new Ne(t)):(y=new Me(t),b=dn(b,y))),un(h,b,()=>{o&&!i||!c||(h.crc32=S?g.crc32:new m(p.value.buffer).getUint32(0))})}}class an extends x{constructor(){let t,e=10,n=new d(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(8>=s)return void(n=ae(n,t));const o=s-8,i=a.min(o,n.length);r.enqueue(ae(n.subarray(0,i),t.subarray(0,o-i))),n=ae(n.subarray(i),t.subarray(o-i))},flush(){const e=ie(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class cn extends x{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:o,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:u,format:l,compressionMethod:h,rawBitFlag:p,outputSize:y}=t;let b,v,S=super.readable;if(o&&(s?S=dn(S,new qe(t)):(v=new We(t),S=dn(S,v))),c){const t=l&&Gt(l);if(t)S=hn(S,ln(t.DecompressionStream,l,{chunkSize:e,compressionMethod:h,rawBitFlag:p,uncompressedSize:y}));else try{S=wn(S,f,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===_)throw t;let e;try{e=new r(rn)}catch{throw t}S=((t,e,n)=>{const r=new se;let s,o,a,i=0,c=!1;const f=new g((t,e)=>{o=t,a=e});f.catch(()=>{}),n||o();const u=new x({start(t){const e=new d(10);e.set(sn),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,h();try{await f}finally{p()}const e=new d(8),s=ie(e);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),t.enqueue(e)},cancel(t){a(t)}}),l=new x({transform(t,e){r.append(t),i+=t.length,n>i?c&&h():o(),e.enqueue(t)},cancel(t){a(t)}});return t=dn(t,u),dn(t=hn(t,e),l);function h(){p(),s=T(()=>a(new w(en)),5e3)}function p(){U(s)}})(S,e,y)}S=(t=>{const e=t.getReader();return new z({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new w("Invalid compressed data");throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})})(S)}a&&(b=new oe,S=dn(S,b)),un(this,S,()=>{if(a){const t=new m(b.value.buffer);if(i!=t.getUint32(0,!1))throw new w("Invalid CRC32")}})}}const fn=new c;function un(t,e,r){e=dn(e,new x({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function ln(t,e,n){if(!t)throw new w(_t);return new t(e,n)}function wn(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":nn;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return hn(t,i)}function dn(t,e){return Ye(t).pipeThrough(e)}function hn(t,e){const n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(n,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(r,t)}})(),e.readable}const pn="deflate",mn="inflate";class yn extends x{constructor(t,e){super({});const r=this,{codecType:s}=t;let o;s.startsWith(pn)?o=on:s.startsWith(mn)&&(o=cn),r.outputSize=0;let a=0;const i=new o(t,e),c=super.readable,f=new x({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),u=new x({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==_&&r.outputSize>t.outputSize))throw new w(en)},flush(){const{crc32:t}=i;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(f).pipeThrough(i).pipeThrough(u)})}}class gn extends x{constructor(t){const e=[];let n=0;function r(){const r=new d(t);let s=0;for(;t>s;){const n=e[0],o=t-s;n.length>o?(r.set(n.subarray(0,o),s),e[0]=n.subarray(o),s+=o):(r.set(n,s),s+=n.length,e.shift())}return n-=t,r}s.isFinite(t)&&t>=1||(t=65536),super({transform(s,o){for(e.push(s),n+=s.length;n>t;)o.enqueue(r())},flush(t){n&&t.enqueue(((t,e)=>{const n=new d(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,n))}})}}class bn{constructor(t,{readable:e,writable:r},{options:s,config:o,gt:a,useWebWorkers:i,transferStreams:f,workerURI:u,createWorker:l},w){const{signal:d}=a;return n.assign(t,{bt:!0,vt:(t.vt||0)+1,readable:e.pipeThrough(new gn(ft(o))).pipeThrough(new vn(a),{signal:d}),writable:r,options:n.assign({},s),workerURI:u,createWorker:l,transferStreams:f,terminate:()=>new g(e=>{const{St:n,bt:r}=t;n?(r?t.kt=e:(n.terminate(),e()),t.xt=null):e()}),zt(){if(t.bt){const{kt:e}=t;e&&(t.kt=null,t.Rt=!0,t.St.terminate(),e()),t.bt=!1,w(t)}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,zt:r},s)=>{let o;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(pn),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(n&&n.Ct&&!((t,e)=>{if(!t)return!1;let n=fn.get(t);n||(n=new c,fn.set(t,n));let r=n.get(e);if(r===_){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,nn))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.Ct||(t.useCompressionStream=!0)}}o=new yn(t,s),await e.pipeThrough(o).pipeThrough(new gn(ft(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:a,outputSize:i}=o;return{crc32:r,inputSize:a,outputSize:i}}catch(t){throw o&&(t.outputSize=o.outputSize),t}finally{r()}})(t,e)}))(t,o)}}class vn extends x{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await Sn(t,n)},async transform(t,r){s+=t.length,e&&await Sn(e,s,n),r.enqueue(t)},async flush(){r&&await Sn(r,s)}})}}async function Sn(t,...e){try{await t(...e)}catch{}}let kn=[];const xn=[];let zn,Rn,Cn=0;function Dn(){!zn&&xn.length&&s.isFinite(Rn)&&Rn>=0&&(zn=T(An,Rn))}function Fn(){zn&&(U(zn),zn=null)}function An(){if(zn=null,xn.length){const[{resolve:t,stream:e,Dt:r}]=xn.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:_,createWorker:_});t(new bn({},e,s,Tn)),Dn()}}function Tn(){Fn(),Dn()}function Un(t){const{Ft:e}=t;e&&(U(e),t.Ft=null)}const En="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function In(t,e){return Wn(t,e,!0)}function Wn(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{let e="";for(let n=0;n<t.length;n++)e+=En[t[n]];return e})(t):new v(e,{ignoreBOM:n}).decode(t)}const Mn="HTTP error ",On="HTTP Range not supported",Ln="HTTP resource changed",Pn="Content-Range",Bn="Range",Hn="GET",Vn="bytes",Zn=16777216,qn="writable",Nn=Symbol();class _n{constructor(){this.size=0}init(){this.initialized=!0}}class jn extends _n{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=ft(ct())}={}){const r=this;let s=0;return n=ut(n),new z({async pull(o){const i=e===_?n:a.min(n,e-s),c=await kr(r,t+s,i);c.length&&o.enqueue(c),s+n>=e||!c.length&&i?o.close():s+=n}})}}class Kn extends _n{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new w("Writer not initialized");return t.writeUint8Array((n=e).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(t,qn,{get:()=>e})}writeUint8Array(){}}let Gn,Xn;class Jn extends jn{constructor(t){super(),n.assign(this,{At:t,size:t.size}),Xn||(Xn=(async()=>{try{const t=new y([new d(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();Gn=1==e}catch{Gn=!1}})())}createReadable(t){const{At:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};return r||n>s?Gn?Ye(e.slice(r,r+s).stream()):super.createReadable(t):Ye(e.stream())}async readUint8Array(t,e){const n=this,r=t+e,s=t||r<n.size?n.At.slice(t,r):n.At;let o=await s.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,r)),new d(o)}}class Qn extends _n{constructor(t){super();const e=this,r=new x;n.defineProperty(e,qn,{get:()=>r.writable}),e.contentType=t,e.Tt=$e(r.readable,t),e.Tt.catch(()=>{})}getData(){return this.Tt}}class Yn extends jn{constructor(t,e){super(),tr(this,t,e)}async init(){await er(this,dr,fr),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=e;if((n||r)&&o!==_){const{offset:n=0,size:r=o-n}=t||{};if(r>0&&o>n)return((t,e,n)=>{let r,o=e,i=0,c=n;return new z({start:()=>f(),async pull(t){r||await f();const{value:e,done:n}=await r.read();if(n)throw new w(On);const s=e.length>i?e.subarray(0,i):e;i-=s.length,c-=s.length,s.length&&t.enqueue(s),i||(await(async()=>{const t=r;r=_,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function f(){const e=a.min(t.maximumRangeSize,c),n=await dr(Hn,t,ir(t,o,e));if(206!=n.status)throw new w(On);const f=n.headers.get(Pn);if(f){const t=s(f.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=o)throw new w(On)}ar(t,n),or(t,n),o+=e,i=e,r=n.body.getReader()}})(e,n,a.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return nr(this,t,e,dr,fr)}}class $n extends jn{constructor(t,e){super(),tr(this,t,e)}async init(){await er(this,hr,ur),super.init()}readUint8Array(t,e){return nr(this,t,e,hr,ur)}}function tr(t,e,r){const{preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:f=Zn,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:f,fetch:u})}async function er(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=ct(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(o||a)&&(typeof s==j||s)){const r=await e(Hn,t,ir(t,i?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Vn))throw new w(On);{if(i){const e=new d(await r.arrayBuffer());206==r.status&&e.length==H&&(t.Ut=e)}or(t,r);const s=rr(r);s===_?await wr(t,e,n):t.size=s}}else await wr(t,e,n)}async function nr(t,e,n,r,o){const{useRangeHeader:a,forceRangeRequests:i,Ut:c,size:f,options:u}=t;if(a||i){if(c&&e==f-H&&n==H)return c;if(f>e&&0!==n){e+n>f&&(n=f-e);const o=await r(Hn,t,ir(t,e,n));if(206!=o.status)throw new w(On);const a=o.headers.get(Pn);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(On)}ar(t,o),or(t,o);const i=new d(await o.arrayBuffer());if(i.length!=n)throw new w(On);return i}return X}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function rr(t){const e=t.headers.get(Pn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function sr({headers:t}){return{Et:t.get("Etag")||_,lastModified:t.get("Last-Modified")||_}}function or(t,e){const{checkResourceChanges:n,It:r}=t;n&&!r&&206==e.status&&(t.It=sr(e))}function ar(t,e){const{checkResourceChanges:r,It:s,size:o}=t;if(r){const t=rr(e);if(t!==_&&o!==_&&t!=o)throw new w(Ln);if(s){const t=sr(e);if(n.entries(s).some(([e,n])=>n!==_&&t[e]!==_&&n!=t[e]))throw new w(Ln)}}}function ir(t,e=0,r=1){return n.assign({},cr(t),{[Bn]:Vn+"="+(0>e?e:e+"-"+(e+r-1))})}function cr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function fr(t){await lr(t,dr)}async function ur(t){await lr(t,hr)}async function lr(t,e){const n=await e(Hn,t,cr(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function wr(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,cr(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=s(o):await n(t,t.options)}}async function dr(t,{fetch:e=fetch,options:r,url:s},o){const a=await e(s,n.assign({},r,{method:t,headers:o}));if(400>a.status)return a;throw 416==a.status?new w(On):new w(Mn+(a.statusText||a.status))}function hr(t,{url:e},r){return new g((s,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}else o(416==a.status?new w(On):new w(Mn+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new w("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class pr extends jn{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new $n(t,e):new Yn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class mr extends jn{constructor(t){super(),this.Wt=t}async init(){const t=this;t.Mt=0;const e=t.Wt=await g.all(t.Wt.map(Sr));t.Ot=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}Lt(t){const{Ot:e,size:n}=this,r=e[t];return r===_?n:r}async readUint8Array(t,e){const n=this,{Wt:r}=this;let s,o=0,i=t;for(;r[o]&&i>=r[o].size;)i-=r[o].size,o++;const c=r[o];if(c){const r=c.size;if(i+e>r){const o=r-i;s=ae(await kr(c,i,o),await n.readUint8Array(t+o,e-o))}else s=await kr(c,i,e)}else s=X;return n.Mt=a.max(o,n.Mt),s}}class yr extends _n{constructor(t,e=4294967295){super();const r=this;let s,o,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new R({async write(e){if(e===Nn)return void(a&&await f());const{availableSize:n}=r;if(a)e.length<n?await c(e):(await c(e.subarray(0,n)),await f(),e.length>n&&await this.write(e.subarray(n)));else{const{value:n,done:i}=await t.next();if(i&&!n)throw new w("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await vr(s),o=n.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),s.size+=e,r.availableSize-=e)}async function f(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}n.defineProperty(r,qn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Nn)}finally{t.releaseLock()}}}class gr{constructor(t){return e.isArray(t)&&(t=new mr(t)),(t instanceof z||typeof t.getReader==K)&&(t={readable:Ye(t)}),t}}class br{constructor(t){return t.writable===_&&typeof t.next==K&&(t=new yr(t)),(t instanceof R||typeof t.getWriter==K)&&(t={writable:tn(t)}),t.size===_&&(t.size=0),t}}async function vr(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function Sr(t){return t=new gr(t),await vr(t),t.size!==_&&t.readUint8Array||(t=new Jn(await $e(t.readable)),await vr(t)),t}function kr(t,e,n){return t.readUint8Array(e,n)}const xr="filename",zr="rawFilename",Rr="comment",Cr="rawComment",Dr="uncompressedSize",Fr="compressedSize",Ar="offset",Tr="diskNumberStart",Ur="lastModDate",Er="rawLastModDate",Ir="lastAccessDate",Wr="rawLastAccessDate",Mr="creationDate",Or="rawCreationDate",Lr=[xr,zr,Dr,Fr,Ur,Er,Rr,Cr,Ir,Wr,Mr,Or,Ar,Tr,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Pr{constructor(t){Lr.forEach(e=>this[e]=t[e])}}const Br="File format is not recognized",Hr="Encryption method not supported",Vr="Split zip file",Zr="malformed extra field",qr="wrapped entries count",Nr="appended data",_r="prepended data",jr="mismatched zip64 end of central directory record",Kr=/^[a-zA-Z]:/,Gr="utf-8",Xr="cp437",Jr=[[Dr,E],[Fr,E],[Ar,E],[Tr,I]],Qr={[I]:{Pt:As,bytes:4},[E]:{Pt:Ts,bytes:8}},Yr=o(s.MAX_SAFE_INTEGER);class $r{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,n,r={}){const o=this,i=ct(),{reader:c,index:f,offset:u,diskNumberStart:h,extraFieldAES:p,extraFieldZip64:m,compressionMethod:y,bitFlag:b,rawBitFlag:v,crc32:S,rawLastModDate:k,uncompressedSize:x,compressedSize:z}=o,{dataDescriptor:C}=b,D=e.localDirectory={},F=e.warnings=[],A=us(c,h)+u,U=await kr(c,A,30),E=ie(U);let I=xs(o,r,"password"),M=xs(o,r,"rawPassword");const L=xs(o,r,"passThrough");if(((t,e)=>{if(t&&typeof t!=G||e&&!(e instanceof d))throw new w("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(I,M),I=I&&I.length&&I,M=M&&M.length&&M,p&&99!=p.originalCompressionMethod)throw new w(_t);if(30>U.length||67324752!=As(E,0))throw new w("Local file header not found");rs(D,E,4);const{extraFieldLength:P,filenameLength:B}=D,H=D.dataOffset=A+30+B+P,V=xs(o,r,"checkLocalDirectory"),Z=ds(r,o.options),q=((t,e)=>t===_?e!=Y:!!t)(V,Z),N=((t,e)=>t===_?e==J:!!t)(V,Z);let j=X;if(N&&(B||P)){const t=await kr(c,A+30,B+P);j=t.subarray(0,B),D.rawExtraField=t.subarray(B)}else D.rawExtraField=P?await kr(c,A+30+B,P):X;N&&(D.rawFilename=j),ss(o,D,E,4,!0)&&Ss(F,Zr),((t,e,n,r,s)=>{const{rawFilename:o}=t,a=!s,i=t.Bt&&!(8192&~e.rawBitFlag);!r||i||n.length==o.length&&!n.some((t,e)=>t!=o[e])||vs(a,s,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&vs(a,s,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&vs(a,s,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||vs(a,s,"mismatched local file header (crc32 or sizes)")})(o,D,j,N,q?_:F);const{lastAccessDate:Q,creationDate:$,uid:tt,gid:et}=D;Q&&(e.lastAccessDate=Q),$&&(e.creationDate=$),tt!==_&&e.uid===_&&(e.uid=tt),et!==_&&e.gid===_&&(e.gid=et);const nt=o.encrypted&&D.encrypted&&!L,rt=nt&&!p;if(L||(e.zipCrypto=rt),nt&&!(64&~D.rawBitFlag))throw new w(Hr);const st=L?_:(t=>jt.get(t))(y);if(0!=y&&8!=y&&9!=y&&!st&&!L)throw new w(_t);if(nt){if(!rt&&(1>p.strength||p.strength>3))throw new w(Hr);if(!I&&!M)throw new w("File contains encrypted entry")}if(H+z>c.size)throw new w("Entry data out of bounds");const ot=z,at=Ye(c.createReadable({offset:H,size:ot})),it=(t=>{if(t&&(typeof t.addEventListener!=K||"boolean"!=typeof t.aborted))throw new w("Invalid signal (must be an AbortSignal instance)");return t||_})(xs(o,r,"signal")),ft=xs(o,r,"checkPasswordOnly");let ut=xs(o,r,"checkOverlappingEntry");const lt=xs(o,r,"checkOverlappingEntryOnly");lt&&(ut=!0);const{onstart:wt,onprogress:dt,onend:ht}=r,pt=0!=y&&!L,mt=L?z:x,yt=9==y;let gt=xs(o,r,"useCompressionStream");yt&&(gt=!1);const bt=xs(o,r,"checkCrc32"),vt=(bt===_?xs(o,r,"checkSignature"):bt)&&!L&&(!nt||rt||p&&1==p.vendorVersion),St={options:{codecType:mn,password:I,rawPassword:M,zipCrypto:rt,encryptionStrength:p&&p.strength,checkCrc32:vt,checkAuthenticationCode:xs(o,r,"checkAuthenticationCode"),passwordVerification:rt&&(C?k>>>8&W:S>>>24&W),outputSize:mt,crc32:S,compressed:pt,encrypted:nt,useWebWorkers:xs(o,r,"useWebWorkers"),useCompressionStream:gt,transferStreams:xs(o,r,"transferStreams"),deflate64:yt,format:st?st.format:_,codecURI:st?st.codecURI:_,compressionMethod:y,rawBitFlag:v,checkPasswordOnly:ft},config:i,gt:{signal:it,size:ot,onstart:wt,onprogress:dt,onend:ht}};let kt,xt;ut&&await(async({reader:t,Ht:e,index:n,offset:r,crc32:s,compressedSize:o,uncompressedSize:a,dataOffset:i,dataDescriptor:c,extraFieldZip64:f,Vt:u})=>{let l=0;if(c&&(l=f?20:12),l){const n=await kr(t,i+o,l+4),r=ie(n);let c=n.length==l+4&&As(r,0)==O;if(c){const t=fs(r,4,f);(e.encrypted&&!e.zipCrypto||t.crc32==s)&&t.compressedSize==o&&t.uncompressedSize==a?l+=4:c=!1}if(n.length>=l){const t=fs(r,c?4:0,f);t.signature=c,e.localDirectory.dataDescriptor=t}}const d={start:r,end:i+o+l,Ht:e};for(const[t,e]of u)if(t!=n&&d.start<e.end&&e.start<d.end){const t=new w("Overlapping entry found");throw t.overlappingEntry=e.Ht,t}u.set(n,d)})({reader:c,Ht:e,index:f,offset:A,crc32:S,compressedSize:z,uncompressedSize:x,dataOffset:H,dataDescriptor:C||D.bitFlag.dataDescriptor,extraFieldZip64:m||D.extraFieldZip64,Vt:n});try{if(!lt){ft&&(t=new R),t=new br(t),await vr(t,((t,e,n)=>a.min(t,n?1032*e:e))(mt,z,pt)),({writable:kt}=t);const{outputSize:e}=await async function(t,e){const{options:n,config:r}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:c,checkCrc32:f,computeCrc32:u,encrypted:d,format:h,codecURI:p}=n,{workerURI:m,createWorker:y,maxWorkers:b}=r;h&&(p&&(n.codecURI=((t,e)=>{try{return new l(t,e).toString()}catch{return t}})(p,r.baseURI)),await(async(t,e)=>{!Kt.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=K&&typeof r!=K)throw new w("Invalid codec module");Kt.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(h,n.codecURI)),e.transferStreams=!h&&(o||o===_&&r.transferStreams);const v=!(c||f||u||d),S=h===_||!!n.codecURI;return e.useWebWorkers=!v&&S&&(a||a===_&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:_,e.createWorker=e.useWebWorkers&&y?y:_,n.useCompressionStream=i||i===_&&r.useCompressionStream,(await(async()=>{const n=kn.find(t=>!t.bt);if(n)return Un(n),new bn(n,t,e,k);if(kn.length<b){const n={Zt:Cn};return Cn++,kn.push(n),new bn(n,t,e,k)}return new g(n=>{xn.push({resolve:n,stream:t,Dt:e}),Rn=r.workerStarvationTimeout,Dn()})})()).run();function k(t){if(Fn(),xn.length){const[{resolve:e,stream:n,Dt:r}]=xn.splice(0,1);e(new bn(t,n,r,k)),Dn()}else t.St?(Un(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.Rt?t.Rt=!1:t.Ft=T(async()=>{kn=kn.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):kn=kn.filter(e=>e!=t)}}({readable:at,writable:kt},St);if(t.size+=e,e!=mt)throw new w(en)}}catch(e){if(e.outputSize!==_&&(t.size+=e.outputSize),!ft||e.message!=he)throw xt=e,e}finally{const e=!(t=>!(!t||!t.getData))(t)&&xs(o,r,"preventClose");if(!e&&kt&&!kt.locked){const t=kt.getWriter();if(xt)try{await t.abort(xt)}catch{}else await t.close()}}return ft||lt?_:t.getData?t.getData():kt}}function ts(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(134630224==As(t,n))return!0;return!1}function es(t,e,n){let r=0;for(;n+46<=e.length&&As(t,n)==L;)n+=46+Fs(t,n+28)+Fs(t,n+30)+Fs(t,n+32),r++;return r%65536?0:r}function ns(t){if(t.length>=6){const e=ie(t);if(84233040==As(e,0)){const n=Fs(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function rs(t,e,r){const s=t.rawBitFlag=Fs(e,r+2),o=!(1&~s),a=As(e,r+6);n.assign(t,{encrypted:o,version:Fs(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:a,lastModDate:Rs(a),filenameLength:Fs(e,r+22),extraFieldLength:Fs(e,r+24)})}function ss(t,e,r,s,o){const{rawExtraField:a}=e,f=e.extraField=new c,u=ie(a);let l=0,d=!1;try{for(;l<a.length;){const t=Fs(u,l),e=Fs(u,l+2);f.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{d=!0}l>a.length&&(d=!0);const h=Fs(r,s+4);n.assign(e,{signature:As(r,s+10),crc32:As(r,s+10),compressedSize:As(r,s+14),uncompressedSize:As(r,s+18)});const p=f.get(1);p&&(((t,e)=>{e.zip64=!0;const n=ie(t.data),r=Jr.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+Qr[e].bytes,0);if(t.data.length<s)throw new w("Zip64 extra field not found");for(let s=0,o=0;s<r.length;s++){const[a,i]=r[s],c=Qr[i];e[a]=t[a]=c.Pt(n,o),o+=c.bytes}})(p,e),e.extraFieldZip64=p);const m=f.get(28789);m&&(os(m,xr,zr,e,t),e.extraFieldUnicodePath=m);const y=f.get(25461);y&&(os(y,Rr,Cr,e,t),e.extraFieldUnicodeComment=y);const g=f.get(39169);g&&g.data.length>=7?(((t,e,r)=>{const s=ie(t.data),o=Ds(s,4);n.assign(t,{vendorVersion:Ds(s,0),vendorId:Ds(s,2),strength:o,originalCompressionMethod:r,compressionMethod:Fs(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=_)})(g,e,h),e.extraFieldAES=g):e.compressionMethod=h;const b=f.get(13);b&&(as(b,e),e.extraFieldPkwareUnix=b);const v=f.get(22613);v&&(as(v,e),e.extraFieldUnixType1=v);const S=f.get(10);S&&(((t,e)=>{const r=ie(t.data);let s,o=4;try{for(;o<t.data.length&&!s;){const e=Fs(r,o),n=Fs(r,o+2);1==e&&(s=t.data.slice(o+4,o+4+n)),o+=4+n}}catch{}if(s&&24==s.length){const r=ie(s),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:Cs(o),lastAccessDate:Cs(a),creationDate:Cs(i)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:i})}})(S,e),e.extraFieldNTFS=S);const k=f.get(30805);let x;if(k&&(x=is(k,e,!1),e.extraFieldUnix=k),!x){const t=f.get(30837);t&&(is(t,e,!0),e.extraFieldInfoZip=t)}const z=f.get(21589);z&&(((t,e,n)=>{if(!t.data.length)return;const r=ie(t.data),s=Ds(r,0),o=[],a=[];n?(1&~s||(o.push(Ur),a.push(Er)),2&~s||(o.push(Ir),a.push(Wr)),4&~s||(o.push(Mr),a.push(Or))):5>t.data.length||(o.push(Ur),a.push(Er));let c=1;o.forEach((n,s)=>{if(t.data.length>=c+4){const o=As(r,c);e[n]=t[n]=new i(1e3*(0|o));const f=a[s];t[f]=o}c+=4})})(z,e,o),e.extraFieldExtendedTimestamp=z);const R=f.get(6534);return R&&(e.extraFieldUSDZ=R),d}function os(t,e,r,s,o){if(5>t.data.length)return void(t.valid=!1);const a=ie(t.data),i=new se;i.append(o[r]);const c=ie(new d(4));c.setUint32(0,i.get(),!0);const f=As(a,1),u=Ds(a,0);n.assign(t,{version:u,[e]:In(t.data.subarray(5)),valid:1==u&&!o.bitFlag.languageEncodingFlag&&f==As(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function as(t,e){if(8>t.data.length)return;const r=ie(t.data),s={lastAccessDate:new i(1e3*(0|As(r,0))),lastModDate:new i(1e3*(0|As(r,4)))};12>t.data.length||(s.uid=Fs(r,8),s.gid=Fs(r,10)),n.assign(t,s),n.assign(e,s)}function is(t,e,r){try{const s=ie(t.data);let o,a;if(r){let e=0;const r=Ds(s,e++),i=Ds(s,e++);o=cs(t.data.subarray(e,e+i)),e+=i;const c=Ds(s,e++);a=cs(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:o,gid:a})}else 4>t.data.length||(o=Fs(s,0),a=Fs(s,2),n.assign(t,{uid:o,gid:a}));return o!==_&&(e.uid=o),a!==_&&(e.gid=a),o!==_||a!==_}catch{}}function cs(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function fs(t,e,n){const r=As(t,e);let s,o;return n?(s=Ts(t,e+4),o=Ts(t,e+12)):(s=As(t,e+4),o=As(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:o}}function us(t,e){return t.Lt?t.Lt(e):0}async function ls(t){return As(ie(await kr(t,0,4)))}function ws(t){return t===J||t===Q||t===Y}function ds(t,e){return hs(t,hs(e,Q))}function hs(t,e){const n=t.strictness;if(n!==_){if(!ws(n))throw new w("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t.checkAmbiguity;return r===_?e:r?J:e==Y?Y:Q}function ps(t,e){if(e==Y)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Kr.test(t))||e==J&&(n.includes(".")||n.includes(""))}async function*ms(t,e){const n=t.size-e,r=await kr(t,n,e),s=ie(r);for(let t=r.length-H;t>=0;t--)101010256==As(s,t)&&(yield[s,n,r,t,n+t])}function ys(t,e,n){return{offset:n,buffer:t.slice(e,e+H).buffer}}async function gs(t,e,n,r,s,o,a){const i=Fs(e,r+10),c=As(e,r+12),f=As(e,r+16);if(i==I||c==E||f==E)return await bs(t,e,n,s-V,o,a)==B?2:0;if(!i&&!c)return 1;const u=Fs(e,r+6);for(const r of[s-c,us(t,u)+f])if(await bs(t,e,n,r,o,a)==L)return 2;return 0}async function bs(t,e,n,r,s,o){return 0>r||r+4>s?_:n>r?o.count>0?(o.count--,As(ie(await kr(t,r,4)),0)):_:As(e,r-n)}function vs(t,e,n){t?ks(n):Ss(e,n)}function Ss(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==_&&(r.filename=n),t.push(r)}}function ks(t){const e=new w("Ambiguous archive");throw e.reason=t,e}function xs(t,e,n){return e[n]===_?t.options[n]:e[n]}function zs(t,e,n){return $(xs(t,e,n))}function Rs(t){const e=(4294901760&t)>>16,n=t&I,r=new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return N>r?N:r}function Cs(t){return new i(s(t/o(1e4)-o(116444736e5)))}function Ds(t,e){return t.getUint8(e)}function Fs(t,e){return t.getUint16(e,!0)}function As(t,e){return t.getUint32(e,!0)}function Ts(t,e){const n=t.getBigUint64(e,!0);if(n>Yr)throw new w("64-bit value exceeds Number.MAX_SAFE_INTEGER");return s(n)}(t=>{const e=lt(dt(t));n.assign(nt,e),n.assign(it,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends Nt{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new Zt)}}}),t.BlobReader=Jn,t.BlobWriter=Qn,t.Data64URIWriter=class extends Kn{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",qt:""})}writeUint8Array(t){const e=this;let n,s=e.qt;const o=e.qt.length;for(e.qt="",n=0;n<3*a.floor((o+t.length)/3)-o;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.qt+=r.fromCharCode(t[n]);s.length>2?e.data+=k(s):e.qt=s+e.qt}getData(){return this.data+k(this.qt)}},t.HttpRangeReader=class extends pr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends Qn{constructor(t){super(),n.assign(this,{encoding:t,Nt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Nt:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>Wn(t,e,!1))(new d(await n.arrayBuffer()),t)}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new gr(t),options:e,Vt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await vr(r),r.size!==_&&r.readUint8Array||(r=new Jn(await $e(r.readable)),await vr(r)),r.size<H)throw new w(Br);const o=e.warnings=[],i=ds(t,e.options),c=i==J,u=i!=Y,l=((t,e)=>{if(t!==_){const e=tt(t);if("number"!=typeof e||s.isNaN(e)||0>e)throw new w("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return e==J?0:e==Y?1/0:I})(xs(e,t,"maxAppendedDataSize"),i),d=((t,e)=>{if(t===_)return e;if(!ws(t))throw new w("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(xs(e,t,"filenameValidation"),i),h=xs(e,t,"normalizeFilename"),{_t:p,jt:m}=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,65557),o={count:64};let i,c,f=0;for await(const[n,a,u,l,w]of ms(t,s)){const s=Fs(n,l+20);if(w+H+s==r){const s=await gs(t,n,a,l,w,r,o);if(2==s){if(i||(i=ys(u,l,w)),f++,!e||f>1)break}else 1!=s||c||(c=ys(u,l,w))}}return i||(i=c),i||(i=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,e==1/0?r:65557+e);let o,i;for await(const[e,a,c,f,u]of ms(t,s)){const s=ys(c,f,u);o||(o=s);const l=await gs(t,e,a,f,u,r,n);if(2==l)return s;1!=l||i||(i=s)}return i||o})(t,n,o)),{_t:i,jt:f}})(r,u,l);if(!p)throw await(async t=>await ls(t)==M)(r)?new w(Vr):new w("End of central directory not found");u&&m>1&&ks("multiple end of central directory records");const y=ie(p);let g=As(y,12),b=As(y,16);const v=p.offset,S=Fs(y,20),k=v+H+S,z=r.size-k;z>l&&ks(Nr),z>0&&Ss(o,Nr);let R=Fs(y,4);const C=r.Mt||0;let D,F,A,T,U,O=Fs(y,6),N=Fs(y,10),j=0,K=Z;const G=b==E||g==E||N==I||O==I;if(b!=E&&O!=I&&(b+=us(r,O)),G){const t=p.offset<V?X:await kr(r,p.offset-V,V),e=ie(t);if(t.length==V&&As(e,0)==B){b=us(r,As(e,4))+Ts(e,8);let t=await kr(r,b,Z),s=ie(t);const i=p.offset-V-Z;if((t.length<Z||As(s,0)!=P)&&b!=i&&i>=0){const e=b;b=i,b>e&&(j=b-e),t=await kr(r,b,Z),s=ie(t)}if(t.length<Z||As(s,0)!=P)throw new w("End of Zip64 central directory locator not found");if(A=!0,T=Ts(s,4)>44,T){const t=a.min(Ts(s,4)-44,r.size-b-Z);t>0&&(K+=t,U=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=ie(t),s=Fs(r,26);n.assign(e,{compressionMethod:Fs(r,0),compressedSize:Ts(r,2),uncompressedSize:Ts(r,10),encryptionAlgorithm:Fs(r,18),bitLength:Fs(r,20),flags:Fs(r,22),hashAlgorithm:Fs(r,24),hashData:t.subarray(28,28+s)})}return e})(await kr(r,b+Z,t)))}R==I?R=As(s,16):R!=As(s,16)&&vs(c,o,jr),O==I?O=As(s,20):O!=As(s,20)&&vs(c,o,jr),N==I?N=Ts(s,32):N!=Ts(s,32)&&vs(c,o,jr),g==E?g=Ts(s,40):g!=Ts(s,40)&&vs(c,o,jr),b=us(r,O)+Ts(s,48)+j}}let Q=g;const $=p.offset-(A?K+V:0);if(b<r.size||(j=r.size-b-g-H,b=r.size-g-H),C!=R)throw new w(Vr);if(0>b)throw new w(Br);let et=0,nt=await kr(r,b,g),rt=ie(nt);if(g){if(4>nt.length)throw new w(Br);const t=$-g;if(b!=t&&O==R){const e=As(rt,et)==L||!(!U||!U.compressedSize)||ts(rt);let n=!e;if(n||0>t||t+4>r.size||(n=As(ie(await kr(r,t,4)),0)==L),n){const n=b;b=t,b>n&&(j+=b-n,D=e),nt=await kr(r,b,g),rt=ie(nt)}}}const st=$-b;if(g==st||0>st||O!=R||(g=st,nt=await kr(r,b,g),rt=ie(nt)),0>b||b>=r.size)throw new w(Br);e.directoryOffset=b,e.directoryLength=Q;const ot=zs(e,t,"decryptCentralDirectory");let at,it;if(ot&&N&&nt.length>=4&&As(rt,0)!=L&&(T||ts(rt))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&n>=r?r:n})(U,Q,nt.length);it=nt.subarray(t),nt=await ot(nt.subarray(0,t),U),rt=ie(nt),Q=nt.length,at=!0}!U||at||nt.length>=4&&As(rt,0)!=L||Ss(o,"unknown zip64 extensible data"),F=b;const ct=xs(e,t,"filenameEncoding"),ft=xs(e,t,"commentEncoding"),ut=new f;let lt,wt=-1;const dt=!c&&!A;!N&&dt&&(N=es(rt,nt,et),N&&Ss(o,qr));for(let s=0;N>s;s++){const i=new $r(r,e.options);if(et+46>nt.length||As(rt,et)!=L){if(0==s&&!at&&(T||ts(rt)))throw new w("Encrypted central directory is not supported");throw new w("Central directory header not found")}rs(i,rt,et+6);const c=!!i.bitFlag.languageEncodingFlag,f=et+46,u=f+i.filenameLength,l=u+i.extraFieldLength,p=Fs(rt,et+4),m=!(p>>8),y=p>>8==3,g=nt.subarray(f,u),b=Fs(rt,et+32),v=l+b,S=nt.subarray(l,v),k=c,z=c,R=As(rt,et+38),C=R&W,D={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},A=As(rt,et+42),U=zs(e,t,"decodeText")||In,E=k?Gr:ct||Xr,M=z?Gr:ft||Xr;let O=U(g,E,"filename");if(O===_&&(O=In(g,E)),h){const t=h(O);t!==_&&(O=t)}if(ps(O,d)){const t=new w("Unsafe filename");throw t.filename=O,t}let P=U(S,M,"comment");P===_&&(P=In(S,M)),n.assign(i,{index:s,Bt:at,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:b,offset:A,diskNumberStart:Fs(rt,et+34),internalFileAttributes:Fs(rt,et+36),externalFileAttributes:R,msdosAttributesRaw:C,msdosAttributes:D,rawFilename:g,filenameUTF8:k,commentUTF8:z,rawExtraField:nt.subarray(u,l),rawComment:S,filename:O,comment:P}),ss(i,i,rt,et+6)&&Ss(o,Zr,O),i.offset+=j;const B=us(r,i.diskNumberStart)+i.offset;F=a.min(B,F),wt>B&&Ss(o,"unsorted central directory",O),wt=B,(i.version&W)>63&&Ss(o,"unknown version needed to extract",O),32&~i.rawBitFlag||Ss(o,"compressed patched data",O),ut.has(i.filename)&&(lt=!0),ut.add(i.filename);const H=i.externalFileAttributes>>16&I;i.unixMode===_&&16877&H&&(i.unixMode=H);const V=!!(2048&i.unixMode),Z=!!(1024&i.unixMode),K=!!(512&i.unixMode),G=40960==((i.unixMode===_?H:i.unixMode)&q),X=!G&&(i.unixMode!==_?!!(73&i.unixMode):y&&!!(73&H)),J=i.unixMode!==_&&16384==(i.unixMode&q),Q=16384==(H&q);n.assign(i,{setuid:V,setgid:Z,sticky:K,symlink:G,unixExternalUpper:H,executable:X,directory:J||Q||m&&D.directory||i.filename.endsWith("/"),zipCrypto:i.encrypted&&!i.extraFieldAES});const Y=new Pr(i);if(Y.getData=(t,n)=>i.getData(t,Y,e.Vt,n),Y.arrayBuffer=async t=>{const n=new x,r=$e(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,Y,e.Vt,t),r},et=v,s==N-1&&dt){const t=es(rt,nt,et);t&&(N+=t,Ss(o,qr))}const{onprogress:$}=t;if($)try{await $(s+1,N,new Pr(i))}catch{}yield Y}let ht=et,pt=ns(nt.subarray(et))||(at?ns(it):_);if(!pt&&!at){const t=b+et,e=a.min($-t,65541);6>e||(pt=ns(await kr(r,t,e)))}pt&&(e.digitalSignature=pt,ht=et+6+pt.length),(et!=Q&&ht!=Q||!at&&et!=g&&ht!=g)&&vs(c,o,"trailing central directory data"),lt&&vs(c,o,"duplicate filename");const mt=xs(e,t,"extractPrependedData"),yt=xs(e,t,"extractAppendedData"),gt=(c||mt)&&N&&4==F&&await(async t=>{const e=await ls(t);return e==M||808471376==e})(r)?4:0;return c&&(j||N&&F>gt)&&ks(_r),(j||N&&F>4)&&Ss(o,_r),D&&Ss(o,"prepended central directory"),mt&&(e.prependedData=F>gt?await kr(r,gt,F-gt):X),e.comment=S?await kr(r,v+H,S):X,yt&&(e.appendedData=k<r.size?await kr(r,k,r.size-k):X),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}},t.configure=t=>{n.assign(it,lt(dt(t)))},t.inflateRaw=(t,e)=>Ht(t,{i:2},e&&e.Gt,e&&e.m)});
1
+ ((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:s,BigInt:o,Math:a,Date:i,Map:c,Set:f,Response:u,URL:l,Error:w,Uint8Array:d,Uint16Array:h,Uint32Array:p,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:z,ReadableStream:x,WritableStream:R,CompressionStream:C,DecompressionStream:D,navigator:F,Worker:A,setTimeout:I,clearTimeout:T}="undefined"!=typeof globalThis?globalThis:this||self,U=4294967295,E=65535,W=255,M=134695760,O=M,L=33639248,P=101075792,B=117853008,H=22,V=20,Z=56,q=61440,N=new i(1980,0,1),_=void 0,j="undefined",K="function",G="string",X="boolean",J=new d,Q=Symbol.asyncDispose||Symbol(),Y="strict",$="balanced",tt="tolerant";function et(t){if(t&&typeof t!=K)throw new w("Invalid option (must be a function)");return t}function nt(t){return typeof t==G&&t.trim()?s(t):t}let rt=2;try{typeof F!=j&&F.hardwareConcurrency&&(rt=F.hardwareConcurrency)}catch{}const st={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=j&&C,DecompressionStream:typeof D!=j&&D},ot="maxWorkers",at="baseURI",it=["wasmURI","workerURI"],ct=["chunkSize",ot,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ft=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ut=[at,...it,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ft],lt={...st};function wt(){return lt}function dt(t){return ht(t.chunkSize)}function ht(t){return t=nt(t),s.isInteger(t)&&t>=1?a.max(t,64):65536}function pt(t){const e={};for(const n of ut){const r=t[n];r!==_&&(e[n]=mt(n,r))}return e}function mt(t,e){if(ct.includes(t)){if(e=nt(e),t==ot&&(!s.isInteger(e)||1>e))throw new w("Invalid maxWorkers (must be an integer greater than 0)")}else if(ft.includes(t))et(e);else if(t==at){if(e&&typeof e!=G)throw new w("Invalid baseURI (must be a string)")}else if(it.includes(t)&&e&&typeof e!=G&&typeof e!=K)throw new w("Invalid URI (must be a string or a function returning a string)");return e}function yt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===_&&r===_)return t;const s=n.assign({},t);return s.CompressionStreamFallback===_&&(s.CompressionStreamFallback=e),s.DecompressionStreamFallback===_&&(s.DecompressionStreamFallback=r),s}var gt=d,bt=h,vt=Int32Array,St=new gt([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,0,0,0]),kt=new gt([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,0,0]),zt=new gt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),xt=(t,e)=>{for(var n=new bt(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new vt(n[30]);for(r=1;30>r;++r)for(var o=n[r];o<n[r+1];++o)s[o]=o-n[r]<<5|r;return{b:n,r:s}},Rt=xt(St,2),Ct=Rt.b,Dt=Rt.r;Ct[28]=258,Dt[258]=28;for(var Ft=xt(kt,0).b,At=new bt(32768),It=0;32768>It;++It){var Tt=(43690&It)>>1|(21845&It)<<1;Tt=(61680&(Tt=(52428&Tt)>>2|(13107&Tt)<<2))>>4|(3855&Tt)<<4,At[It]=((65280&Tt)>>8|(255&Tt)<<8)>>1}var Ut=(t,e,n)=>{for(var r=t.length,s=0,o=new bt(e);r>s;++s)t[s]&&++o[t[s]-1];var a,i=new bt(e);for(s=1;e>s;++s)i[s]=i[s-1]+o[s-1]<<1;if(n){a=new bt(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var f=s<<4|t[s],u=e-t[s],l=i[t[s]-1]++<<u,w=l|(1<<u)-1;w>=l;++l)a[At[l]>>c]=f}else for(a=new bt(r),s=0;r>s;++s)t[s]&&(a[s]=At[i[t[s]-1]++]>>15-t[s]);return a},Et=new gt(288);for(It=0;144>It;++It)Et[It]=8;for(It=144;256>It;++It)Et[It]=9;for(It=256;280>It;++It)Et[It]=7;for(It=280;288>It;++It)Et[It]=8;var Wt=new gt(32);for(It=0;32>It;++It)Wt[It]=5;var Mt=Ut(Et,9,1),Ot=Ut(Wt,5,1),Lt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},Pt=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Bt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},Ht=t=>(t+7)/8|0,Vt=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new gt(t.subarray(e,n))),Zt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],qt=(t,e,n)=>{var r=new w(e||Zt[t]);if(r.code=t,w.captureStackTrace&&w.captureStackTrace(r,qt),!n)throw r;return r},Nt=(t,e,n,r)=>{var s=t.length,o=r?r.length:0;if(!s||e.f&&!e.o)return n||new gt(0);var i=!n,c=i||2!=e.i,f=e.i;i&&(n=new gt(3*s));var u=t=>{var e=n.length;if(t>e){var r=new gt(a.max(2*e,t));r.set(n),n=r}},l=e.f||0,w=e.p||0,d=e.b||0,h=e.o,p=e.d,m=e.l,y=e.n,g=8*s;do{if(!h){l=Pt(t,w,1);var b=Pt(t,w+1,3);if(w+=3,!b){var v=t[(T=Ht(w)+4)-4]|t[T-3]<<8,S=T+v;if(S>s){f&&qt(0);break}c&&u(d+v),n.set(t.subarray(T,S),d),e.b=d+=v,e.p=w=8*S,e.f=l;continue}if(1==b)h=Mt,p=Ot,m=9,y=5;else if(2==b){var k=Pt(t,w,31)+257,z=Pt(t,w+10,15)+4,x=k+Pt(t,w+5,31)+1;w+=14;for(var R=new gt(x),C=new gt(19),D=0;z>D;++D)C[zt[D]]=Pt(t,w+3*D,7);w+=3*z;var F=Lt(C),A=(1<<F)-1,I=Ut(C,F,1);for(D=0;x>D;){var T,U=I[Pt(t,w,A)];if(w+=15&U,16>(T=U>>4))R[D++]=T;else{var E=0,W=0;for(16==T?(W=3+Pt(t,w,3),w+=2,E=R[D-1]):17==T?(W=3+Pt(t,w,7),w+=3):18==T&&(W=11+Pt(t,w,127),w+=7);W--;)R[D++]=E}}var M=R.subarray(0,k),O=R.subarray(k);m=Lt(M),y=Lt(O),h=Ut(M,m,1),p=Ut(O,y,1)}else qt(1);if(w>g){f&&qt(0);break}}c&&u(d+131072);for(var L=(1<<m)-1,P=(1<<y)-1,B=w;;B=w){var H=(E=h[Bt(t,w)&L])>>4;if((w+=15&E)>g){f&&qt(0);break}if(E||qt(2),256>H)n[d++]=H;else{if(256==H){B=w,h=null;break}var V=H-254;if(H>264){var Z=St[D=H-257];V=Pt(t,w,(1<<Z)-1)+Ct[D],w+=Z}var q=p[Bt(t,w)&P],N=q>>4;if(q||qt(3),w+=15&q,O=Ft[N],N>3&&(Z=kt[N],O+=Bt(t,w)&(1<<Z)-1,w+=Z),w>g){f&&qt(0);break}c&&u(d+131072);var _=d+V;if(O>d){var j=o-O,K=a.min(O,_);for(0>j+d&&qt(3);K>d;++d)n[d]=r[j+d]}for(;_>d;++d)n[d]=n[d-O]}}e.o=h,e.p=B,e.b=d,e.f=l,h&&(l=1,e.l=m,e.d=p,e.n=y)}while(!l);return d!=n.length&&i?Vt(n,0,d):n.subarray(0,d)},_t=new gt(0),jt=function(){function t(t,e){"function"==typeof t&&(e=t,t={}),this.h=e;var n=t&&t.m&&t.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new gt(32768),this.p=new gt(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||qt(5),this.d&&qt(4),this.p.length){if(t.length){var e=new gt(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length),this.p=e}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var e=this.s.b,n=Nt(this.p,this.s,this.v);this.h(Vt(n,e,this.s.b),this.d),this.v=Vt(n,this.s.b-32768),this.s.b=this.v.length,this.p=Vt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),Kt=void 0!==v&&new v;try{Kt.decode(_t,{stream:!0})}catch(t){}class Gt extends z{constructor(t){super({start(e){t.h=t=>{t.length&&e.enqueue(t)}},transform(e){t.push(e)},flush(){t.push(new d(0),!0)}})}}const Xt="Compression method not supported",Jt=new c,Qt=new c;function Yt(t){return Qt.get(t)}const $t=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;$t[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=$t[e-1][t];$t[e][t]=n>>>8^$t[0][255&n]}const[te,ee,ne,re,se,oe,ae,ie]=$t;class ce{constructor(t){this.S=t||-1}append(t){let e=0|this.S;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const s=new m(t.buffer,t.byteOffset,n),o=n-8;for(;o>=r;r+=8){const t=e^s.getInt32(r,!0),n=s.getInt32(r+4,!0);e=ie[255&t]^ae[t>>>8&255]^oe[t>>>16&255]^se[t>>>24&255]^re[255&n]^ne[n>>>8&255]^ee[n>>>16&255]^te[n>>>24&255]}}for(;n>r;r++)e=e>>>8^te[255&(e^t[r])];this.S=e}get(){return~this.S}}class fe extends z{constructor(){let t;const e=new ce;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function ue(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function le(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const we={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=we.R(n);return 32===r?t.concat(e):we.C(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+we.R(n)},D(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,a.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=we.F(e,t[n-1]&2147483648>>e-1,1)),t},F:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>a.round(t/1099511627776)||32,C(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,o=we.R(s);return r.push(we.F(e+o&31,e+o>32?n:r.pop(),1)),r}},de={bytes:{A(t){const e=we.bitLength(t)/8,n=new d(e);let r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},I(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(we.F(8*(3&n),r)),e}}},he=class{constructor(t){const e=this;e.blockSize=512,e.T=[1732584193,4023233417,2562383102,271733878,3285377520],e.U=[1518500249,1859775393,2400959708,3395469782],t?(e.W=t.W.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.W=t.T.slice(0),t.M=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=de.L.I(t));const n=e.M=we.concat(e.M,t),r=e.O,s=e.O=r+we.bitLength(t);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const o=new p(n);let a=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=t;t+=e.blockSize)e.P(o.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}B(){const t=this;let e=t.M;const n=t.W;e=we.concat(e,[we.F(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(a.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.P(e.splice(0,16));return t.reset(),n}H(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}P(t){const n=this,r=n.W,s=e(80);for(let e=0;16>e;e++)s[e]=t[e];let o=r[0],i=r[1],c=r[2],f=r[3],u=r[4];for(let t=0;79>=t;t++){16>t||(s[t]=n.V(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=n.V(5,o)+n.H(t,i,c,f)+u+s[t]+n.U[a.floor(t/20)]|0;u=f,f=c,c=n.V(30,i),i=o,o=e}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+f|0,r[4]=r[4]+u|0}},pe={importKey:t=>new pe.Z(de.bytes.I(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let o,a,i,c,f;const u=new ArrayBuffer(s),l=new m(u);let d=0;const h=we;for(e=de.bytes.I(e),f=1;(s||1)>d;f++){for(o=a=t.encrypt(h.concat(e,[f])),i=1;n>i;i++)for(a=t.encrypt(a),c=0;c<a.length;c++)o[c]^=a[c];for(i=0;(s||1)>d&&i<o.length;i++)l.setInt32(d,o[i]),d+=4}return u.slice(0,r/8)},Z:class{constructor(t){const e=this,n=e._=he,r=[[],[]];e.j=[new n,new n];const s=e.j[0].blockSize/32;t.length>s&&(t=(new n).update(t).B());for(let e=0;s>e;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){const t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){const t=this,e=t.K.B(),n=new t._(t.j[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.G)throw new w("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},me=typeof S!=j&&typeof S.getRandomValues==K,ye="Invalid password",ge="zipjs-abort-check-password";function be(t){if(me)return S.getRandomValues(t);throw new w("Crypto API not supported")}const ve=16,Se={name:"PBKDF2"},ke=n.assign({hash:{name:"HMAC"}},Se),ze=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Se),xe=["deriveBits"],Re=[8,12,16],Ce=[16,24,32],De=10,Fe=[0,0,0,0],Ae=typeof S!=j,Ie=Ae&&S.subtle,Te=Ae&&typeof Ie!=j,Ue=de.bytes,Ee=class{constructor(t){const e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();const n=e.X[0][4],r=e.X[1],s=t.length;let o,a,i,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(e.U=[a=t.slice(0),i=[]],o=s;4*s+28>o;o++){let t=a[o-1];(o%s===0||8===s&&o%s===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],o%s===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),a[o]=a[o-s]^t}for(let t=0;o;t++,o--){const e=a[3&t?o:o-4];i[t]=4>=o||4>t?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){const t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],o=[];let a,i,c,f;for(let t=0;256>t;t++)o[(s[t]=t<<1^283*(t>>7))^t]=t;for(let u=a=0;!n[u];u^=i||1,a=o[a]||1){let o=a^a<<1^a<<2^a<<3^a<<4;o=o>>8^255&o^99,n[u]=o,r[o]=u,f=s[c=s[i=s[u]]];let l=16843009*f^65537*c^257*i^16843008*u,w=257*s[o]^16843008*o;for(let n=0;4>n;n++)t[n][u]=w=w<<24^w>>>8,e[n][o]=l=l<<24^l>>>8}for(let n=0;5>n;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}Y(t,e){if(4!==t.length)throw new w("invalid aes block size");const n=this.U[e],r=n.length/4-2,s=[0,0,0,0],o=this.X[e],a=o[0],i=o[1],c=o[2],f=o[3],u=o[4];let l,d,h,p=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],b=4;for(let t=0;r>t;t++)l=a[p>>>24]^i[m>>16&255]^c[y>>8&255]^f[255&g]^n[b],d=a[m>>>24]^i[y>>16&255]^c[g>>8&255]^f[255&p]^n[b+1],h=a[y>>>24]^i[g>>16&255]^c[p>>8&255]^f[255&m]^n[b+2],g=a[g>>>24]^i[p>>16&255]^c[m>>8&255]^f[255&y]^n[b+3],b+=4,p=l,m=d,y=h;for(let t=0;4>t;t++)s[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&g]^n[b++],l=p,p=m,m=y,y=g,g=l;return s}},We=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){0===(t[0]=this.ot(t[0]))&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];const s=we.bitLength(e);for(let s=0;r>s;s+=4){this.it(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return we.D(e,s)}},Me=pe.Z;let Oe=Ae&&Te&&typeof Ie.importKey==K,Le=Ae&&Te&&typeof Ie.deriveBits==K;class Pe extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){He(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:o,ct:a,ready:i}=n;s?(await(async(t,e,n,r)=>{const s=await Ze(t,e,n,Ne(r,0,Re[e])),o=Ne(r,Re[e]);if(s[0]!=o[0]||s[1]!=o[1])throw new w(ye)})(n,o,s,Ne(t,0,Re[o]+2)),t=Ne(t,Re[o]+2),r?e.error(new w(ge)):a()):await i;const c=new d(t.length-De-(t.length-De)%ve);e.enqueue(Ve(n,t,c,0,De,!0))},async flush(t){const{ft:e,ut:n,lt:r,ready:o}=this;if(n&&e){await o;const a=Ne(r,0,r.length-De),i=Ne(r,r.length-De);let c=J;if(a.length){const t=je(Ue,a);n.update(t);const r=e.update(t);c=_e(Ue,r)}const f=Ne(_e(Ue,n.digest()),0,De);let u=r.length<De?1:0;for(let t=0;De>t;t++)u|=f[t]^i[t];if(u&&s)throw new w("Invalid authentication code");t.enqueue(c)}}})}}class Be extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){He(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,ct:o,ready:a}=n;let i=J;r?(i=await(async(t,e,n)=>{const r=be(new d(Re[e]));return ue(r,await Ze(t,e,n,r))})(n,s,r),o()):await a;const c=new d(i.length+t.length-t.length%ve);c.set(i,0),e.enqueue(Ve(n,t,c,i.length,0))},async flush(t){const{ft:e,ut:n,lt:r,ready:s}=this;if(n&&e){await s;let o=J;if(r.length){const t=e.update(je(Ue,r));n.update(t),o=_e(Ue,t)}const a=_e(Ue,n.digest()).slice(0,De);t.enqueue(ue(o,a))}}})}}function He(t,e,r,s){n.assign(t,{ready:new g(e=>t.ct=e),password:qe(e,r),strength:s-1,lt:J})}function Ve(t,e,n,r,s,o){const{ft:a,ut:i,lt:c}=t;c.length&&(e=ue(c,e));const f=e.length-s;let u;for(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new d(e)).set(n,0)}return t})(n,r+(f-f%ve)),u=0;f-ve>=u;u+=ve){const t=je(Ue,Ne(e,u,u+ve));o&&i.update(t);const s=a.update(t);o||i.update(s),n.set(_e(Ue,s),u+r)}return t.lt=Ne(e,u),n}async function Ze(t,r,s,o){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!Oe)return pe.importKey(e);try{return await Ie.importKey("raw",e,n,!1,s)}catch{return Oe=!1,pe.importKey(e)}})(0,s,ke,0,xe),i=await(async(t,e,n)=>{if(!Le)return pe.N(e,t.salt,ze.iterations,n);try{return await Ie.deriveBits(t,e,n)}catch{return Le=!1,pe.N(e,t.salt,ze.iterations,n)}})(n.assign({salt:o},ze),a,8*(2*Ce[r]+2)),c=new d(i),f=je(Ue,Ne(c,0,Ce[r])),u=je(Ue,Ne(c,Ce[r],2*Ce[r])),l=Ne(c,2*Ce[r]);return n.assign(t,{keys:{key:f,wt:u,passwordVerification:l},ft:new We(new Ee(f),e.from(Fe)),ut:new Me(u)}),l}function qe(t,e){return e===_?(t=>{if(typeof b==j){const e=new d((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)})(t):e}function Ne(t,e,n){return t.subarray(e,n)}function _e(t,e){return t.A(e)}function je(t,e){return t.I(e)}class Ke extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){Xe(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=Je(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(ye);t=t.subarray(12)}r?e.error(new w(ge)):e.enqueue(Je(n,t))}})}}class Ge extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){Xe(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=be(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(Qe(n,e),0),s=12}else r=new d(t.length),s=0;r.set(Qe(n,t),s),e.enqueue(r)}})}}function Xe(t,e,r,s){n.assign(t,{password:e,rawPassword:r,passwordVerification:s}),((t,e,r)=>{const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,ht:new ce(s[0]),yt:new ce(s[2])}),r)for(let e=0;e<r.length;e++)Ye(t,r[e]);else for(let n=0;n<e.length;n++)Ye(t,e.charCodeAt(n))})(t,e,r)}function Je(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=$e(t)^e[r],Ye(t,n[r]);return n}function Qe(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=$e(t)^e[r],Ye(t,e[r]);return n}function Ye(t,e){let[,n]=t.keys;t.ht.append([e]);const r=~t.ht.get();n=en(a.imul(en(n+tn(r)),134775813)+1),t.yt.append([n>>>24]);const s=~t.yt.get();t.keys=[r,n,s]}function $e(t){const e=2|t.keys[2];return tn(a.imul(e,1^e)>>>8)}function tn(t){return 255&t}function en(t){return 4294967295&t}function nn(t){if(t instanceof x)return t;const e=t.getReader();return new x({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function rn(t,e){t=nn(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=K||new y([]).stream()instanceof x)return new u(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function sn(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const on="Invalid uncompressed size",an="deflate-raw",cn="gzip",fn=[31,139,8];class un extends z{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:o,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:f,deflate64:u,format:l,compressionMethod:w,inputSize:d}=t,h=this;let p,y,g,b=super.readable;const v=l&&Yt(l),S=c&&s&&!u&&!v&&(!o||i)&&!(!a||!r);if(o&&!i||!c||S||(p=new fe,b=yn(b,p)),s)if(v)b=gn(b,pn(v.CompressionStream,l,{level:f,chunkSize:e,compressionMethod:w,uncompressedSize:d}));else if(S)g=new ln,b=gn(b,new r(cn)),b=yn(b,g);else try{b=mn(b,a,{level:f,chunkSize:e},r,n)}catch(t){let e;try{e=new r(cn)}catch{throw t}b=gn(b,e),b=yn(b,new ln)}o&&(i?b=yn(b,new Ge(t)):(y=new Be(t),b=yn(b,y))),hn(h,b,()=>{o&&!i||!c||(h.crc32=S?g.crc32:new m(p.value.buffer).getUint32(0))})}}class ln extends z{constructor(){let t,e=10,n=new d(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(8>=s)return void(n=ue(n,t));const o=s-8,i=a.min(o,n.length);r.enqueue(ue(n.subarray(0,i),t.subarray(0,o-i))),n=ue(n.subarray(i),t.subarray(o-i))},flush(){const e=le(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class wn extends z{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:o,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:u,format:l,compressionMethod:h,rawBitFlag:p,outputSize:y}=t;let b,v,S=super.readable;if(o&&(s?S=yn(S,new Ke(t)):(v=new Pe(t),S=yn(S,v))),c){const t=l&&Yt(l);if(t)S=gn(S,pn(t.DecompressionStream,l,{chunkSize:e,compressionMethod:h,rawBitFlag:p,uncompressedSize:y}));else try{S=mn(S,f,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===_)throw t;let e;try{e=new r(cn)}catch{throw t}S=((t,e,n)=>{const r=new ce;let s,o,a,i=0,c=!1;const f=new g((t,e)=>{o=t,a=e});f.catch(()=>{}),n||o();const u=new z({start(t){const e=new d(10);e.set(fn),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,h();try{await f}finally{p()}const e=new d(8),s=le(e);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),t.enqueue(e)},cancel(t){a(t)}}),l=new z({transform(t,e){r.append(t),i+=t.length,n>i?c&&h():o(),e.enqueue(t)},cancel(t){a(t)}});return t=yn(t,u),yn(t=gn(t,e),l);function h(){p(),s=I(()=>a(new w(on)),5e3)}function p(){T(s)}})(S,e,y)}S=(t=>{const e=t.getReader();return new x({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new w("Invalid compressed data");throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})})(S)}a&&(b=new fe,S=yn(S,b)),hn(this,S,()=>{if(a){const t=new m(b.value.buffer);if(i!=t.getUint32(0,!1))throw new w("Invalid CRC32")}})}}const dn=new c;function hn(t,e,r){e=yn(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function pn(t,e,n){if(!t)throw new w(Xt);return new t(e,n)}function mn(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":an;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return gn(t,i)}function yn(t,e){return nn(t).pipeThrough(e)}function gn(t,e){const n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(n,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(r,t)}})(),e.readable}const bn="deflate",vn="inflate";class Sn extends z{constructor(t,e){super({});const r=this,{codecType:s}=t;let o;s.startsWith(bn)?o=un:s.startsWith(vn)&&(o=wn),r.outputSize=0;let a=0;const i=new o(t,e),c=super.readable,f=new z({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),u=new z({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==_&&r.outputSize>t.outputSize))throw new w(on)},flush(){const{crc32:t}=i;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(f).pipeThrough(i).pipeThrough(u)})}}class kn extends z{constructor(t){const e=[];let r=0,o=0;function a(){const n=new d(t);let s=0;for(;t>s;){const r=e[0],o=t-s;r.length>o?(n.set(r.subarray(0,o),s),e[0]=r.subarray(o),s+=o):(n.set(r,s),s+=r.length,e.shift())}return r-=t,n}s.isFinite(t)&&t>=1||(t=65536),super({transform(n,s){for(e.push(n),r+=n.length;r>t;)o+=t,s.enqueue(a())},flush(t){r&&(o+=r,t.enqueue(((t,e)=>{const n=new d(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,r)))}}),n.defineProperty(this,"outputSize",{get:()=>o})}}function zn(t){return!!t&&"object"==typeof t}class xn{constructor(t,{readable:e,writable:r},s,o){const{options:a,config:i,gt:f,useWebWorkers:u,transferStreams:l,workerURI:w}=s;let{createWorker:d}=s;const{signal:h}=f;return n.assign(t,{bt:!0,vt:(t.vt||0)+1,readable:e.pipeThrough(new kn(dt(i))).pipeThrough(new Rn(f),{signal:h}),writable:r,options:n.assign({},a),St:s,workerURI:w,createWorker:d,transferStreams:l,terminate:()=>new g(e=>{const{kt:n,bt:r}=t;n?(r?t.zt=e:(n.terminate(),e()),t.xt=null):e()}),Rt(){if(t.bt){const{zt:e}=t;e&&(t.zt=null,t.Ct=!0,t.kt.terminate(),e()),t.bt=!1,o(t)}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,Rt:r,St:s},o)=>{let a,i;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(bn),n=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(n&&n.Dt&&!((t,e)=>{if(!t)return!1;let n=dn.get(t);n||(n=new c,dn.set(t,n));let r=n.get(e);if(r===_){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,an))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.Dt||(t.useCompressionStream=!0)}}a=new Sn(t,o),i=new kn(dt(o)),await e.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:f}=a;return{crc32:r,inputSize:s,outputSize:f}}catch(t){if(a){const e=i?i.outputSize:0;if(s.outputSize=e,zn(t))try{t.outputSize=e}catch{}}throw t}finally{r()}})(t,e)}))(t,i)}}class Rn extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await Cn(t,n)},async transform(t,r){s+=t.length,e&&await Cn(e,s,n),r.enqueue(t)},async flush(){r&&await Cn(r,s)}})}}async function Cn(t,...e){try{await t(...e)}catch{}}let Dn=[];const Fn=[];let An,In,Tn=0;function Un(){!An&&Fn.length&&s.isFinite(In)&&In>=0&&(An=I(Wn,In))}function En(){An&&(T(An),An=null)}function Wn(){if(An=null,Fn.length){const[{resolve:t,stream:e,St:r}]=Fn.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:_,createWorker:_});t(new xn({},e,s,Mn)),Un()}}function Mn(){En(),Un()}function On(t){const{Ft:e}=t;e&&(T(e),t.Ft=null)}const Ln="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Pn(t,e){return Bn(t,e,!0)}function Bn(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{let e="";for(let n=0;n<t.length;n++)e+=Ln[t[n]];return e})(t):new v(e,{ignoreBOM:n}).decode(t)}const Hn="HTTP error ",Vn="HTTP Range not supported",Zn="HTTP resource changed",qn="Content-Range",Nn="Range",_n="GET",jn="bytes",Kn=16777216,Gn="writable",Xn=Symbol();class Jn{constructor(){this.size=0}init(){this.initialized=!0}}class Qn extends Jn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=dt(wt())}={}){const r=this;let s=0;return n=ht(n),new x({async pull(o){const i=e===_?n:a.min(n,e-s),c=await Dr(r,t+s,i);c.length&&(o.enqueue(c),s+=c.length),(e!==_&&s>=e||!c.length&&i)&&o.close()}})}}class Yn extends Jn{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new w("Writer not initialized");return t.writeUint8Array((n=e).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(t,Gn,{get:()=>e})}writeUint8Array(){}}let $n,tr;class er extends Qn{constructor(t){super(),n.assign(this,{At:t,size:t.size}),tr||(tr=(async()=>{try{const t=new y([new d(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();$n=1==e}catch{$n=!1}})())}createReadable(t){const{At:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};if(typeof e.stream==K){if(!r&&s>=n)return nn(e.stream());if($n)return nn(e.slice(r,r+s).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,s=t||r<n.size?n.At.slice(t,r):n.At;let o=await s.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,r)),new d(o)}}class nr extends Jn{constructor(t){super();const e=this,r=new z;n.defineProperty(e,Gn,{get:()=>r.writable}),e.contentType=t,e.It=rn(r.readable,t),e.It.catch(()=>{})}getData(){return this.It}}class rr extends Qn{constructor(t,e){super(),or(this,t,e)}async init(){await ar(this,gr,hr),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=e;if((n||r)&&o!==_){const{offset:n=0,size:r=o-n}=t||{};if(r>0&&o>n)return((t,e,n)=>{let r,o=e,i=0,c=n;return new x({start:()=>f(),async pull(t){r||await f();const{value:e,done:n}=await r.read();if(n)throw new w(Vn);const s=e.length>i?e.subarray(0,i):e;i-=s.length,c-=s.length,s.length&&t.enqueue(s),i||(await(async()=>{const t=r;r=_,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function f(){const e=a.min(t.maximumRangeSize,c),n=await gr(_n,t,wr(t,o,e));if(206!=n.status)throw new w(Vn);const f=n.headers.get(qn);if(f){const t=s(f.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=o)throw new w(Vn)}lr(t,n),ur(t,n),o+=e,i=e,r=n.body.getReader()}})(e,n,a.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return ir(this,t,e,gr,hr)}}class sr extends Qn{constructor(t,e){super(),or(this,t,e)}async init(){await ar(this,br,pr),super.init()}readUint8Array(t,e){return ir(this,t,e,br,pr)}}function or(t,e,r){const{preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:f=Kn,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:f,fetch:u})}async function ar(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=wt(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(o||a)&&(typeof s==j||s)){const r=await e(_n,t,wr(t,i?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==jn))throw new w(Vn);{if(i){const e=new d(await r.arrayBuffer());206==r.status&&e.length==H&&(t.Tt=e)}ur(t,r);const s=cr(r);s===_?await yr(t,e,n):t.size=s}}else await yr(t,e,n)}async function ir(t,e,n,r,o){const{useRangeHeader:a,forceRangeRequests:i,Tt:c,size:f,options:u}=t;if(a||i){if(c&&e==f-H&&n==H)return c;if(f>e&&0!==n){e+n>f&&(n=f-e);const o=await r(_n,t,wr(t,e,n));if(206!=o.status)throw new w(Vn);const a=o.headers.get(qn);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(Vn)}lr(t,o),ur(t,o);const i=new d(await o.arrayBuffer());if(i.length!=n)throw new w(Vn);return i}return J}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function cr(t){const e=t.headers.get(qn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function fr({headers:t}){return{Ut:t.get("Etag")||_,lastModified:t.get("Last-Modified")||_}}function ur(t,e){const{checkResourceChanges:n,Et:r}=t;n&&!r&&206==e.status&&(t.Et=fr(e))}function lr(t,e){const{checkResourceChanges:r,Et:s,size:o}=t;if(r){const t=cr(e);if(t!==_&&o!==_&&t!=o)throw new w(Zn);if(s){const t=fr(e);if(n.entries(s).some(([e,n])=>n!==_&&t[e]!==_&&n!=t[e]))throw new w(Zn)}}}function wr(t,e=0,r=1){return n.assign({},dr(t),{[Nn]:jn+"="+(0>e?e:e+"-"+(e+r-1))})}function dr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function hr(t){await mr(t,gr)}async function pr(t){await mr(t,br)}async function mr(t,e){const n=await e(_n,t,dr(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function yr(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,dr(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=s(o):await n(t,t.options)}}async function gr(t,{fetch:e=fetch,options:r,url:s},o){const a=await e(s,n.assign({},r,{method:t,headers:o}));if(200>a.status||a.status>299)throw 416==a.status?new w(Vn):new w(Hn+(a.statusText||a.status));return a}function br(t,{url:e},r){return new g((s,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)o(416==a.status?new w(Vn):new w(Hn+(a.statusText||a.status)));else{const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new w("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class vr extends Qn{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new sr(t,e):new rr(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Sr extends Qn{constructor(t){super(),this.Wt=t}async init(){const t=this;t.Mt=0;const e=t.Wt=await g.all(t.Wt.map(Cr));t.Ot=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}Lt(t){const{Ot:e,size:n}=this,r=e[t];return r===_?n:r}async readUint8Array(t,e){const n=this,{Wt:r}=this;let s,o=0,i=t;for(;r[o]&&i>=r[o].size;)i-=r[o].size,o++;const c=r[o];if(c){const r=c.size;if(i+e>r){const o=r-i;s=ue(await Dr(c,i,o),await n.readUint8Array(t+o,e-o))}else s=await Dr(c,i,e)}else s=J;return n.Mt=a.max(o,n.Mt),s}}class kr extends Jn{constructor(t,e=4294967295){super();const r=this;let s,o,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new R({async write(e){if(e===Xn)return void(a&&await f());const{availableSize:n}=r;if(a)e.length<n?await c(e):(await c(e.subarray(0,n)),await f(),e.length>n&&await this.write(e.subarray(n)));else{const{value:n,done:i}=await t.next();if(i&&!n)throw new w("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Rr(s),o=n.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),s.size+=e,r.availableSize-=e)}async function f(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}n.defineProperty(r,Gn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Xn)}finally{t.releaseLock()}}}class zr{constructor(t){return e.isArray(t)&&(t=new Sr(t)),(t instanceof x||typeof t.getReader==K)&&(t={readable:nn(t)}),t}}class xr{constructor(t){t.writable===_&&typeof t.next==K&&(t=new kr(t)),(t instanceof R||typeof t.getWriter==K)&&(t={writable:sn(t)});try{t.size=t.size===_?0:t.size}catch{throw new w("Invalid writer (size must be writable)")}return t}}async function Rr(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function Cr(t){return t=new zr(t),await Rr(t),t.size!==_&&t.readUint8Array||(t=new er(await rn(t.readable)),await Rr(t)),t}function Dr(t,e,n){return t.readUint8Array(e,n)}function Fr(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==_&&(r.filename=n),t.push(r)}}const Ar="filename",Ir="rawFilename",Tr="comment",Ur="rawComment",Er="uncompressedSize",Wr="compressedSize",Mr="offset",Or="diskNumberStart",Lr="lastModDate",Pr="rawLastModDate",Br="lastAccessDate",Hr="rawLastAccessDate",Vr="creationDate",Zr="rawCreationDate",qr=[Ar,Ir,Er,Wr,Lr,Pr,Tr,Ur,Br,Hr,Vr,Zr,Mr,Or,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Nr{constructor(t){qr.forEach(e=>this[e]=t[e])}}const _r="File format is not recognized",jr="Encryption method not supported",Kr="Split zip file",Gr="malformed extra field",Xr="wrapped entries count",Jr="appended data",Qr="prepended data",Yr="mismatched zip64 end of central directory record",$r=/^[a-zA-Z]:/,ts="utf-8",es="cp437",ns=[[Er,U],[Wr,U],[Mr,U],[Or,E]],rs={[E]:{Pt:Ws,bytes:4},[U]:{Pt:Ms,bytes:8}},ss=o(s.MAX_SAFE_INTEGER);class os{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,r,o={}){const i=this,c=wt(),{reader:f,index:u,offset:h,diskNumberStart:p,extraFieldAES:m,extraFieldZip64:y,compressionMethod:b,bitFlag:v,rawBitFlag:S,crc32:k,rawLastModDate:z,uncompressedSize:x,compressedSize:C}=i,{dataDescriptor:D}=v,F=e.localDirectory={},A=e.warnings=[],T=ms(f,p)+h,U=await Dr(f,T,30),E=le(U);let M=Fs(i,o,"password"),L=Fs(i,o,"rawPassword");const P=(t=>{if(t!==_&&typeof t!=X&&"compressed"!==t)throw new w("Invalid passThrough option (must be a boolean or 'compressed')");return t})(Fs(i,o,"passThrough")),B=!!P,H=!0===P;if(((t,e)=>{if(t&&typeof t!=G||e&&!(e instanceof d))throw new w("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(M,L),M=M&&M.length&&M,L=L&&L.length&&L,m&&99!=m.originalCompressionMethod)throw new w(Xt);if(30>U.length||67324752!=Ws(E,0))throw new w("Local file header not found");fs(F,E,4);const{extraFieldLength:V,filenameLength:Z}=F,q=F.dataOffset=T+30+Z+V,N=Fs(i,o,"checkLocalDirectory"),j=bs(o,i.options),Q=((t,e)=>t===_?e!=tt:!!t)(N,j),$=Fs(i,o,"checkLocalFilename"),et=((t,e)=>t===_?e==Y:!!t)($===_?N:$,j);let nt=J;if(et&&(Z||V)){const t=await Dr(f,T+30,Z+V);nt=t.subarray(0,Z),F.rawExtraField=t.subarray(Z)}else F.rawExtraField=V?await Dr(f,T+30+Z,V):J;et&&(F.rawFilename=nt),us(i,F,E,4,!0)&&Fr(A,Gr),((t,e,n,r,s)=>{const{rawFilename:o}=t,a=!s,i=t.Bt&&!(8192&~e.rawBitFlag);!r||i||n.length==o.length&&!n.some((t,e)=>t!=o[e])||Cs(a,s,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Cs(a,s,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Cs(a,s,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Cs(a,s,"mismatched local file header (crc32 or sizes)")})(i,F,nt,et,Q?_:A);const{lastAccessDate:rt,creationDate:st,uid:ot,gid:at}=F;rt&&(e.lastAccessDate=rt),st&&(e.creationDate=st),ot!==_&&e.uid===_&&(e.uid=ot),at!==_&&e.gid===_&&(e.gid=at);const it=Fs(i,o,"checkPasswordOnly"),ct=i.encrypted&&F.encrypted&&(!H||it),ft=ct&&!m;if(H||(e.zipCrypto=ft),ct&&!(64&~F.rawBitFlag))throw new w(jr);const ut=B?_:(t=>Jt.get(t))(b);if(0!=b&&8!=b&&9!=b&&!ut&&!B)throw new w(Xt);if(ct){if(!ft&&(1>m.strength||m.strength>3))throw new w(jr);if(!M&&!L)throw new w("File contains encrypted entry")}if(q+C>f.size)throw new w("Entry data out of bounds");const lt=C,dt=nn(f.createReadable({offset:q,size:lt})),ht=(t=>{if(t&&(typeof t.addEventListener!=K||typeof t.aborted!=X))throw new w("Invalid signal (must be an AbortSignal instance)");return t||_})(Fs(i,o,"signal"));(t=>{if(t&&t.aborted)throw t.reason===_?new DOMException("The operation was aborted","AbortError"):t.reason})(ht);let pt=Fs(i,o,"checkOverlappingEntry");const mt=Fs(i,o,"checkOverlappingEntryOnly");mt&&(pt=!0);const{onstart:yt,onprogress:gt,onend:bt}=o,vt=0!=b&&!B,St=B?C-((t,e,n)=>t?e?12:16+4*n:0)(ct,ft,m&&m.strength):x,kt=9==b;let zt=Fs(i,o,"useCompressionStream");kt&&(zt=!1);const xt=Fs(i,o,"checkCrc32"),Rt=(xt===_?Fs(i,o,"checkSignature"):xt)&&!B&&(!ct||ft||m&&1==m.vendorVersion),Ct={options:{codecType:vn,password:M,rawPassword:L,zipCrypto:ft,encryptionStrength:m&&m.strength,checkCrc32:Rt,checkAuthenticationCode:Fs(i,o,"checkAuthenticationCode"),passwordVerification:ft&&(D?z>>>8&W:k>>>24&W),outputSize:St,crc32:k,compressed:vt,encrypted:ct,useWebWorkers:Fs(i,o,"useWebWorkers"),useCompressionStream:zt,transferStreams:Fs(i,o,"transferStreams"),deflate64:kt,format:ut?ut.format:_,codecURI:ut?ut.codecURI:_,compressionMethod:b,rawBitFlag:S,checkPasswordOnly:it},config:c,gt:{signal:ht,size:lt,onstart:yt,onprogress:gt,onend:bt}};let Dt,Ft,At;pt&&await(async({reader:t,Ht:e,index:n,offset:r,crc32:s,compressedSize:o,uncompressedSize:a,dataOffset:i,dataDescriptor:c,extraFieldZip64:f,Vt:u})=>{let l=0;if(c&&(l=f?20:12),l){const n=await Dr(t,i+o,l+4),r=le(n);let c=n.length==l+4&&Ws(r,0)==O;if(c){const t=ps(r,4,f);(e.encrypted&&!e.zipCrypto||t.crc32==s)&&t.compressedSize==o&&t.uncompressedSize==a?l+=4:c=!1}if(n.length>=l){const t=ps(r,c?4:0,f);t.signature=c,e.localDirectory.dataDescriptor=t}}const d={start:r,end:i+o+l,Ht:e};for(const[t,e]of u)if(t!=n&&d.start<e.end&&e.start<d.end){const t=new w("Overlapping entry found");throw t.overlappingEntry=e.Ht,t}u.set(n,d)})({reader:f,Ht:e,index:u,offset:T,crc32:k,compressedSize:C,uncompressedSize:x,dataOffset:q,dataDescriptor:D||F.bitFlag.dataDescriptor,extraFieldZip64:y||F.extraFieldZip64,Vt:r});try{if(!mt){it&&(t=new R),t=new xr(t),await Rr(t,((t,e,n)=>a.min(t,n?1032*e:e))(St,C,vt)),({writable:Dt}=t);const{outputSize:e}=await async function(t,e){const{options:n,config:r}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:c,checkCrc32:f,computeCrc32:u,encrypted:d,format:h,codecURI:p}=n,{workerURI:m,createWorker:y,maxWorkers:b}=r;h&&(p&&(n.codecURI=((t,e)=>{try{return new l(t,e).toString()}catch{return t}})(p,r.baseURI)),await(async(t,e)=>{!Qt.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=K&&typeof r!=K)throw new w("Invalid codec module");Qt.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(h,n.codecURI)),e.transferStreams=!h&&(o||o===_&&r.transferStreams);const v=!(c||f||u||d),S=h===_||!!n.codecURI;return e.useWebWorkers=!v&&S&&(a||a===_&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:_,e.createWorker=e.useWebWorkers&&y?y:_,n.useCompressionStream=i||i===_&&r.useCompressionStream,(await(async()=>{const n=Dn.find(t=>!t.bt);if(n)return On(n),new xn(n,t,e,k);if(Dn.length<b){const n={Zt:Tn};return Tn++,Dn.push(n),new xn(n,t,e,k)}return new g(n=>{Fn.push({resolve:n,stream:t,St:e}),In=r.workerStarvationTimeout,Un()})})()).run();function k(t){if(En(),Fn.length){const[{resolve:e,stream:n,St:r}]=Fn.splice(0,1);e(new xn(t,n,r,k)),Un()}else t.kt?(On(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.Ct?t.Ct=!1:t.Ft=I(async()=>{Dn=Dn.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):Dn=Dn.filter(e=>e!=t)}}({readable:dt,writable:Dt},Ct);if(e!=St)throw n.assign(new w(on),{outputSize:e});t.size+=e}}catch(e){const{outputSize:n}=Ct;if(n!==_?t.size+=n:zn(e)&&e.outputSize!==_&&(t.size+=e.outputSize),!it||!zn(e)||e.message!=ge)throw Ft=e,At=!0,e}finally{const e=!(t=>!(!t||!t.getData))(t)&&Fs(i,o,"preventClose");if(!e&&Dt&&!Dt.locked){const t=Dt.getWriter();if(At)try{await t.abort(Ft)}catch{}else await t.close()}}return it||mt?_:t.getData?t.getData():Dt}}function as(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(134630224==Ws(t,n))return!0;return!1}function is(t,e,n){let r=0;for(;n+46<=e.length&&Ws(t,n)==L;)n+=46+Es(t,n+28)+Es(t,n+30)+Es(t,n+32),r++;return r%65536?0:r}function cs(t){if(t.length>=6){const e=le(t);if(84233040==Ws(e,0)){const n=Es(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function fs(t,e,r){const s=t.rawBitFlag=Es(e,r+2),o=!(1&~s),a=Ws(e,r+6);n.assign(t,{encrypted:o,version:Es(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:a,lastModDate:Is(a),filenameLength:Es(e,r+22),extraFieldLength:Es(e,r+24)})}function us(t,e,r,s,o){const{rawExtraField:a}=e,f=e.extraField=new c,u=le(a);let l=0,d=!1;try{for(;l<a.length;){const t=Es(u,l),e=Es(u,l+2);f.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{d=!0}l>a.length&&(d=!0);const h=Es(r,s+4);n.assign(e,{signature:Ws(r,s+10),crc32:Ws(r,s+10),compressedSize:Ws(r,s+14),uncompressedSize:Ws(r,s+18)});const p=f.get(1);p&&(((t,e)=>{e.zip64=!0;const n=le(t.data),r=ns.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+rs[e].bytes,0);if(t.data.length<s)throw new w("Zip64 extra field not found");for(let s=0,o=0;s<r.length;s++){const[a,i]=r[s],c=rs[i];e[a]=t[a]=c.Pt(n,o),o+=c.bytes}})(p,e),e.extraFieldZip64=p);const m=f.get(28789);m&&(ls(m,Ar,Ir,e,t),e.extraFieldUnicodePath=m);const y=f.get(25461);y&&(ls(y,Tr,Ur,e,t),e.extraFieldUnicodeComment=y);const g=f.get(39169);g&&g.data.length>=7?(((t,e,r)=>{const s=le(t.data),o=Us(s,4);n.assign(t,{vendorVersion:Us(s,0),vendorId:Us(s,2),strength:o,originalCompressionMethod:r,compressionMethod:Es(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=_)})(g,e,h),e.extraFieldAES=g):e.compressionMethod=h;const b=f.get(13);b&&(ws(b,e),e.extraFieldPkwareUnix=b);const v=f.get(22613);v&&(ws(v,e),e.extraFieldUnixType1=v);const S=f.get(10);S&&(((t,e)=>{const r=le(t.data);let s,o=4;try{for(;o<t.data.length&&!s;){const e=Es(r,o),n=Es(r,o+2);1==e&&(s=t.data.slice(o+4,o+4+n)),o+=4+n}}catch{}if(s&&24==s.length){const r=le(s),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:Ts(o),lastAccessDate:Ts(a),creationDate:Ts(i)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:i})}})(S,e),e.extraFieldNTFS=S);const k=f.get(30805);let z;if(k&&(z=ds(k,e,!1),e.extraFieldUnix=k),!z){const t=f.get(30837);t&&(ds(t,e,!0),e.extraFieldInfoZip=t)}const x=f.get(21589);x&&(((t,e,n)=>{if(!t.data.length)return;const r=le(t.data),s=Us(r,0),o=[],a=[];n?(1&~s||(o.push(Lr),a.push(Pr)),2&~s||(o.push(Br),a.push(Hr)),4&~s||(o.push(Vr),a.push(Zr))):5>t.data.length||(o.push(Lr),a.push(Pr));let c=1;o.forEach((n,s)=>{if(t.data.length>=c+4){const o=Ws(r,c);e[n]=t[n]=new i(1e3*(0|o));const f=a[s];t[f]=o}c+=4})})(x,e,o),e.extraFieldExtendedTimestamp=x);const R=f.get(6534);return R&&(e.extraFieldUSDZ=R),d}function ls(t,e,r,s,o){if(5>t.data.length)return void(t.valid=!1);const a=le(t.data),i=new ce;i.append(o[r]);const c=le(new d(4));c.setUint32(0,i.get(),!0);const f=Ws(a,1),u=Us(a,0);n.assign(t,{version:u,[e]:Pn(t.data.subarray(5)),valid:1==u&&!o.bitFlag.languageEncodingFlag&&f==Ws(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function ws(t,e){if(8>t.data.length)return;const r=le(t.data),s={lastAccessDate:new i(1e3*(0|Ws(r,0))),lastModDate:new i(1e3*(0|Ws(r,4)))};12>t.data.length||(s.uid=Es(r,8),s.gid=Es(r,10)),n.assign(t,s),n.assign(e,s)}function ds(t,e,r){try{const s=le(t.data);let o,a;if(r){let e=0;const r=Us(s,e++),i=Us(s,e++);o=hs(t.data.subarray(e,e+i)),e+=i;const c=Us(s,e++);a=hs(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:o,gid:a})}else 4>t.data.length||(o=Es(s,0),a=Es(s,2),n.assign(t,{uid:o,gid:a}));return o!==_&&(e.uid=o),a!==_&&(e.gid=a),o!==_||a!==_}catch{}}function hs(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ps(t,e,n){const r=Ws(t,e);let s,o;return n?(s=Ms(t,e+4),o=Ms(t,e+12)):(s=Ws(t,e+4),o=Ws(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:o}}function ms(t,e){return t.Lt?t.Lt(e):0}async function ys(t){return Ws(le(await Dr(t,0,4)))}function gs(t){return t===Y||t===$||t===tt}function bs(t,e){return vs(t,vs(e,$))}function vs(t,e){const n=t.strictness;if(n!==_){if(!gs(n))throw new w("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t.checkAmbiguity;return r===_?e:r?Y:e==tt?tt:$}function Ss(t,e){if(e==tt)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||$r.test(t))||e==Y&&(n.includes(".")||n.includes(""))}async function*ks(t,e){const n=t.size-e,r=await Dr(t,n,e),s=le(r);for(let t=r.length-H;t>=0;t--)101010256==Ws(s,t)&&(yield[s,n,r,t,n+t])}function zs(t,e,n){return{offset:n,buffer:t.slice(e,e+H).buffer}}async function xs(t,e,n,r,s,o,a){const i=Es(e,r+10),c=Ws(e,r+12),f=Ws(e,r+16);if(i==E||c==U||f==U)return await Rs(t,e,n,s-V,o,a)==B?2:0;if(!i&&!c)return 1;const u=Es(e,r+6);for(const r of[s-c,ms(t,u)+f])if(await Rs(t,e,n,r,o,a)==L)return 2;return 0}async function Rs(t,e,n,r,s,o){return 0>r||r+4>s?_:n>r?o.count>0?(o.count--,Ws(le(await Dr(t,r,4)),0)):_:Ws(e,r-n)}function Cs(t,e,n){t?Ds(n):Fr(e,n)}function Ds(t){const e=new w("Ambiguous archive");throw e.reason=t,e}function Fs(t,e,n){return e[n]===_?t.options[n]:e[n]}function As(t,e,n){return et(Fs(t,e,n))}function Is(t){const e=(4294901760&t)>>16,n=t&E,r=new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return N>r?N:r}function Ts(t){return new i(s(t/o(1e4)-o(116444736e5)))}function Us(t,e){return t.getUint8(e)}function Es(t,e){return t.getUint16(e,!0)}function Ws(t,e){return t.getUint32(e,!0)}function Ms(t,e){const n=t.getBigUint64(e,!0);if(n>ss)throw new w("64-bit value exceeds Number.MAX_SAFE_INTEGER");return s(n)}(t=>{const e=pt(yt(t));n.assign(st,e),n.assign(lt,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends Gt{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new jt)}}}),t.BlobReader=er,t.BlobWriter=nr,t.Data64URIWriter=class extends Yn{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",qt:""})}writeUint8Array(t){const e=this;let n,s=e.qt;const o=e.qt.length;for(e.qt="",n=0;n<3*a.floor((o+t.length)/3)-o;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.qt+=r.fromCharCode(t[n]);s.length>2?e.data+=k(s):e.qt=s+e.qt}getData(){return this.data+k(this.qt)}},t.HttpRangeReader=class extends vr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends nr{constructor(t){super(),n.assign(this,{encoding:t,Nt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Nt:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>Bn(t,e,!1))(new d(await n.arrayBuffer()),t)}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new zr(t),options:e,Vt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Rr(r),r.size!==_&&r.readUint8Array||(r=new er(await rn(r.readable)),await Rr(r)),r.size<H)throw new w(_r);const o=e.warnings=[],i=bs(t,e.options),c=i==Y,u=i!=tt,l=((t,e)=>{if(t!==_){const e=nt(t);if("number"!=typeof e||s.isNaN(e)||0>e)throw new w("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return e==Y?0:e==tt?1/0:E})(Fs(e,t,"maxAppendedDataSize"),i),d=((t,e)=>{if(t===_)return e;if(!gs(t))throw new w("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(Fs(e,t,"filenameValidation"),i),h=Fs(e,t,"normalizeFilename"),{_t:p,jt:m}=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,65557),o={count:64};let i,c,f=0;for await(const[n,a,u,l,w]of ks(t,s)){const s=Es(n,l+20);if(w+H+s==r){const s=await xs(t,n,a,l,w,r,o);if(2==s){if(i||(i=zs(u,l,w)),f++,!e||f>1)break}else 1!=s||c||(c=zs(u,l,w))}}return i||(i=c),i||(i=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,e==1/0?r:65557+e);let o,i;for await(const[e,a,c,f,u]of ks(t,s)){const s=zs(c,f,u);o||(o=s);const l=await xs(t,e,a,f,u,r,n);if(2==l)return s;1!=l||i||(i=s)}return i||o})(t,n,o)),{_t:i,jt:f}})(r,u,l);if(!p)throw await(async t=>await ys(t)==M)(r)?new w(Kr):new w("End of central directory not found");u&&m>1&&Ds("multiple end of central directory records");const y=le(p);let g=Ws(y,12),b=Ws(y,16);const v=p.offset,S=Es(y,20),k=v+H+S,x=r.size-k;x>l&&Ds(Jr),x>0&&Fr(o,Jr);let R=Es(y,4);const C=r.Mt||0;let D,F,A,I,T,O=Es(y,6),N=Es(y,10),j=0,K=Z;const G=b==U||g==U||N==E||O==E;if(b!=U&&O!=E&&(b+=ms(r,O)),G){const t=p.offset<V?J:await Dr(r,p.offset-V,V),e=le(t);if(t.length==V&&Ws(e,0)==B){b=ms(r,Ws(e,4))+Ms(e,8);let t=await Dr(r,b,Z),s=le(t);const i=p.offset-V-Z;if((t.length<Z||Ws(s,0)!=P)&&b!=i&&i>=0){const e=b;b=i,b>e&&(j=b-e),t=await Dr(r,b,Z),s=le(t)}if(t.length<Z||Ws(s,0)!=P)throw new w("End of Zip64 central directory locator not found");if(A=!0,I=Ms(s,4)>44,I){const t=a.min(Ms(s,4)-44,r.size-b-Z);t>0&&(K+=t,T=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=le(t),s=Es(r,26);n.assign(e,{compressionMethod:Es(r,0),compressedSize:Ms(r,2),uncompressedSize:Ms(r,10),encryptionAlgorithm:Es(r,18),bitLength:Es(r,20),flags:Es(r,22),hashAlgorithm:Es(r,24),hashData:t.subarray(28,28+s)})}return e})(await Dr(r,b+Z,t)))}R==E?R=Ws(s,16):R!=Ws(s,16)&&Cs(c,o,Yr),O==E?O=Ws(s,20):O!=Ws(s,20)&&Cs(c,o,Yr),N==E?N=Ms(s,32):N!=Ms(s,32)&&Cs(c,o,Yr),g==U?g=Ms(s,40):g!=Ms(s,40)&&Cs(c,o,Yr),b=ms(r,O)+Ms(s,48)+j}}let X=g;const Q=p.offset-(A?K+V:0);if(b<r.size||(j=r.size-b-g-H,b=r.size-g-H),C!=R)throw new w(Kr);if(0>b)throw new w(_r);let $=0,et=await Dr(r,b,g),rt=le(et);if(g){if(4>et.length)throw new w(_r);const t=Q-g;if(b!=t&&O==R){const e=Ws(rt,$)==L||!(!T||!T.compressedSize)||as(rt);let n=!e;if(n||0>t||t+4>r.size||(n=Ws(le(await Dr(r,t,4)),0)==L),n){const n=b;b=t,b>n&&(j+=b-n,D=e),et=await Dr(r,b,g),rt=le(et)}}}const st=Q-b;if(g==st||0>st||O!=R||(g=st,et=await Dr(r,b,g),rt=le(et)),0>b||b>=r.size)throw new w(_r);e.directoryOffset=b,e.directoryLength=X;const ot=As(e,t,"decryptCentralDirectory");let at,it;if(ot&&N&&et.length>=4&&Ws(rt,0)!=L&&(I||as(rt))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&n>=r?r:n})(T,X,et.length);it=et.subarray(t),et=await ot(et.subarray(0,t),T),rt=le(et),X=et.length,at=!0}!T||at||et.length>=4&&Ws(rt,0)!=L||Fr(o,"unknown zip64 extensible data"),F=b;const ct=Fs(e,t,"filenameEncoding"),ft=Fs(e,t,"commentEncoding"),ut=new f;let lt,wt=-1;const dt=!c&&!A;!N&&dt&&(N=is(rt,et,$),N&&Fr(o,Xr));for(let s=0;N>s;s++){const i=new os(r,e.options);if($+46>et.length||Ws(rt,$)!=L){if(0==s&&!at&&(I||as(rt)))throw new w("Encrypted central directory is not supported");throw new w("Central directory header not found")}fs(i,rt,$+6);const c=!!i.bitFlag.languageEncodingFlag,f=$+46,u=f+i.filenameLength,l=u+i.extraFieldLength,p=Es(rt,$+4),m=!(p>>8),y=p>>8==3,g=et.subarray(f,u),b=Es(rt,$+32),v=l+b,S=et.subarray(l,v),k=c,x=c,R=Ws(rt,$+38),C=R&W,D={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},A=Ws(rt,$+42),T=As(e,t,"decodeText")||Pn,U=k?ts:ct||es,M=x?ts:ft||es;let O=T(g,U,"filename");if(O===_&&(O=Pn(g,U)),h){const t=h(O);t!==_&&(O=t)}if(Ss(O,d)){const t=new w("Unsafe filename");throw t.filename=O,t}let P=T(S,M,"comment");P===_&&(P=Pn(S,M)),n.assign(i,{index:s,Bt:at,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:b,offset:A,diskNumberStart:Es(rt,$+34),internalFileAttributes:Es(rt,$+36),externalFileAttributes:R,msdosAttributesRaw:C,msdosAttributes:D,rawFilename:g,filenameUTF8:k,commentUTF8:x,rawExtraField:et.subarray(u,l),rawComment:S,filename:O,comment:P}),us(i,i,rt,$+6)&&Fr(o,Gr,O),i.offset+=j;const B=ms(r,i.diskNumberStart)+i.offset;F=a.min(B,F),wt>B&&Fr(o,"unsorted central directory",O),wt=B,(i.version&W)>63&&Fr(o,"unknown version needed to extract",O),32&~i.rawBitFlag||Fr(o,"compressed patched data",O),ut.has(i.filename)&&(lt=!0),ut.add(i.filename);const H=i.externalFileAttributes>>16&E;i.unixMode===_&&16877&H&&(i.unixMode=H);const V=!!(2048&i.unixMode),Z=!!(1024&i.unixMode),K=!!(512&i.unixMode),G=40960==((i.unixMode===_?H:i.unixMode)&q),X=!G&&(i.unixMode!==_?!!(73&i.unixMode):y&&!!(73&H)),J=i.unixMode!==_&&16384==(i.unixMode&q),Q=16384==(H&q);n.assign(i,{setuid:V,setgid:Z,sticky:K,symlink:G,unixExternalUpper:H,executable:X,directory:J||Q||m&&D.directory||i.filename.endsWith("/"),zipCrypto:i.encrypted&&!i.extraFieldAES});const Y=new Nr(i);if(Y.getData=(t,n)=>i.getData(t,Y,e.Vt,n),Y.arrayBuffer=async t=>{const r=new z,s=rn(r.readable).then(t=>t.arrayBuffer());return s.catch(()=>{}),await i.getData(r,Y,e.Vt,n.assign({},t,{preventClose:!1})),s},$=v,s==N-1&&dt){const t=is(rt,et,$);t&&(N+=t,Fr(o,Xr))}const{onprogress:tt}=t;if(tt)try{await tt(s+1,N,new Nr(i))}catch{}yield Y}let ht=$,pt=cs(et.subarray($))||(at?cs(it):_);if(!pt&&!at){const t=b+$,e=a.min(Q-t,65541);6>e||(pt=cs(await Dr(r,t,e)))}pt&&(e.digitalSignature=pt,ht=$+6+pt.length),($!=X&&ht!=X||!at&&$!=g&&ht!=g)&&Cs(c,o,"trailing central directory data"),lt&&Cs(c,o,"duplicate filename");const mt=Fs(e,t,"extractPrependedData"),yt=Fs(e,t,"extractAppendedData"),gt=(c||mt)&&N&&4==F&&await(async t=>{const e=await ys(t);return e==M||808471376==e})(r)?4:0;return c&&(j||N&&F>gt)&&Ds(Qr),(j||N&&F>4)&&Fr(o,Qr),D&&Fr(o,"prepended central directory"),mt&&(e.prependedData=F>gt?await Dr(r,gt,F-gt):J),e.comment=S?await Dr(r,v+H,S):J,yt&&(e.appendedData=k<r.size?await Dr(r,k,r.size-k):J),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[Q](){return this.close()}},t.configure=t=>{n.assign(lt,pt(yt(t)))},t.inflateRaw=(t,e)=>Nt(t,{i:2},e&&e.Gt,e&&e.m)});
@@ -7,7 +7,7 @@
7
7
  "name": "single-file-core-zip-build",
8
8
  "devDependencies": {
9
9
  "@rollup/plugin-terser": "1.0.0",
10
- "@zip.js/zip.js": "2.11.1",
10
+ "@zip.js/zip.js": "2.13.1",
11
11
  "rollup": "4.62.4",
12
12
  "terser": "5.50.0"
13
13
  }
@@ -502,9 +502,9 @@
502
502
  "license": "MIT"
503
503
  },
504
504
  "node_modules/@zip.js/zip.js": {
505
- "version": "2.11.1",
506
- "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.11.1.tgz",
507
- "integrity": "sha512-x86tIhuszaDZ9ek8Tp9AkcSvyWffiTH8SiDNhsmtW+DoSKkTDnLkX3lHGG39whb6gMWo6q+cU6DYTF/2htjwuQ==",
505
+ "version": "2.13.1",
506
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.13.1.tgz",
507
+ "integrity": "sha512-D+iRyi2/uBCXPDQBhz2Z+Emcj2Cd8K/FG0y0l8WFeZJAZiP46m7cCajsGW3ktSq1HWov3nogZxyQ3FBisxOQSQ==",
508
508
  "dev": true,
509
509
  "license": "BSD-3-Clause",
510
510
  "engines": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "devDependencies": {
10
10
  "@rollup/plugin-terser": "1.0.0",
11
- "@zip.js/zip.js": "2.11.1",
11
+ "@zip.js/zip.js": "2.13.1",
12
12
  "rollup": "4.62.4",
13
13
  "terser": "5.50.0"
14
14
  }
@@ -145,6 +145,7 @@
145
145
  "hashData",
146
146
  "ZipReaderOptions",
147
147
  "checkLocalDirectory",
148
+ "checkLocalFilename",
148
149
  "checkPasswordOnly",
149
150
  "checkCrc32",
150
151
  "checkAuthenticationCode",
@@ -210,6 +211,7 @@
210
211
  "extraFieldUSDZ",
211
212
  "EntryError",
212
213
  "corruptedEntry",
214
+ "outputSize",
213
215
  "overlappingEntry",
214
216
  "reason",
215
217
  "entryId",
@@ -260,6 +262,7 @@
260
262
  "ZipWriterAddDataOptions",
261
263
  "localExtraField",
262
264
  "centralExtraField",
265
+ "entry",
263
266
  "ZipWriterCloseOptions",
264
267
  "signCentralDirectory",
265
268
  "ZipWriterConstructorOptions",
@@ -356,6 +359,7 @@
356
359
  "FS",
357
360
  "fs",
358
361
  "ERR_HTTP_RANGE",
362
+ "ERR_HTTP_STATUS",
359
363
  "ERR_HTTP_RESOURCE_CHANGED",
360
364
  "ERR_BAD_FORMAT",
361
365
  "ERR_EOCDR_NOT_FOUND",
@@ -384,6 +388,8 @@
384
388
  "ERR_INVALID_FUNCTION_OPTION",
385
389
  "ERR_INVALID_SIGNAL",
386
390
  "ERR_INVALID_MAX_WORKERS",
391
+ "ERR_INVALID_BASE_URI",
392
+ "ERR_INVALID_URI",
387
393
  "ERR_INVALID_VERSION",
388
394
  "ERR_INVALID_EXTRAFIELD",
389
395
  "ERR_INVALID_EXTRAFIELD_TYPE",
@@ -391,6 +397,7 @@
391
397
  "ERR_INVALID_EXTRAFIELD_DATA",
392
398
  "ERR_INVALID_ENCRYPTION_STRENGTH",
393
399
  "ERR_UNSUPPORTED_ENCRYPTION_USDZ",
400
+ "ERR_UNSUPPORTED_SPLIT_USDZ",
394
401
  "ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH",
395
402
  "ERR_UNSUPPORTED_FORMAT",
396
403
  "ERR_SPLIT_ZIP_FILE",
@@ -406,9 +413,12 @@
406
413
  "ERR_ITERATOR_COMPLETED_TOO_SOON",
407
414
  "ERR_UNDEFINED_UNCOMPRESSED_SIZE",
408
415
  "ERR_UNDEFINED_COMPRESSION_METHOD",
416
+ "ERR_UNDEFINED_CRC32",
409
417
  "ERR_UNDETERMINED_SIZE",
410
418
  "ERR_UNDEFINED_READER",
419
+ "ERR_INVALID_READER",
411
420
  "ERR_WRITER_NOT_INITIALIZED",
421
+ "ERR_WRITER_SIZE_NOT_WRITABLE",
412
422
  "ERR_ZIP_NOT_EMPTY",
413
423
  "ERR_INVALID_SIGNATURE_DATA",
414
424
  "ERR_INVALID_UID",
@@ -421,12 +431,19 @@
421
431
  "ERR_INVALID_LEVEL",
422
432
  "ERR_INVALID_PASSWORD_TYPE",
423
433
  "ERR_INVALID_PASS_THROUGH",
434
+ "ERR_INVALID_PASS_THROUGH_VALUE",
435
+ "ERR_UNSUPPORTED_PASS_THROUGH_VALUE",
424
436
  "ERR_INVALID_READER_OPTIONS",
437
+ "ERR_INVALID_ENTRY",
425
438
  "ERR_ZIP_CRYPTO_LAST_MOD_DATE",
426
439
  "ERR_ENTRY_EXISTS",
427
440
  "ERR_DUPLICATE_IMPORTED_ENTRY",
428
441
  "ERR_INVALID_DUPLICATES",
429
442
  "ERR_READABLE_CONSUMED",
443
+ "ERR_ANCESTOR_ENTRY",
444
+ "ERR_ROOT_DIRECTORY_NOT_MOVABLE",
445
+ "ERR_TARGET_NOT_DIRECTORY",
446
+ "ERR_PARENT_NOT_DIRECTORY",
430
447
  "ERR_ABORTED",
431
448
  "ERR_UNSUPPORTED_CONTEXT",
432
449
  "ERR_UNSUPPORTED_CRYPTO_API",
@@ -443,9 +460,13 @@
443
460
  "WARNING_TRAILING_CENTRAL_DIRECTORY_DATA",
444
461
  "WARNING_DUPLICATE_FILENAME",
445
462
  "WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY",
463
+ "WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY",
464
+ "WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME",
446
465
  "WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG",
447
466
  "WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD",
448
467
  "WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES",
468
+ "WARNING_COMPRESSION_UNAVAILABLE",
469
+ "WARNING_CLAMPED_LAST_MODIFICATION_DATE",
449
470
  "once",
450
471
  "passive",
451
472
  "addressLine",
@@ -3440,7 +3461,6 @@
3440
3461
  "onnavigatesuccess",
3441
3462
  "traverseTo",
3442
3463
  "updateCurrentEntry",
3443
- "entry",
3444
3464
  "sameDocument",
3445
3465
  "getState",
3446
3466
  "ondispose",
@@ -5542,12 +5562,13 @@
5542
5562
  "codecType",
5543
5563
  "compressed",
5544
5564
  "computeCrc32",
5565
+ "errorValue",
5545
5566
  "inputSize",
5546
5567
  "messageId",
5547
- "outputSize",
5548
5568
  "passwordVerification",
5549
5569
  "inBufferSize",
5550
5570
  "outBuffer",
5571
+ "return",
5551
5572
  "zip",
5552
5573
  "$&",
5553
5574
  "$'",