single-file-core 1.5.87 → 1.5.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/helper.js +12 -3
- package/package.json +1 -1
- package/processors/compression/compression-display.js +44 -6
- package/processors/compression/compression-router.js +382 -25
- package/processors/frame-tree/content/content-frame-tree.js +26 -24
- package/vendor/zip/z-worker.js +1 -1
- package/vendor/zip/zip.js +1468 -780
- package/vendor/zip/zip.min.js +1 -1
package/vendor/zip/zip.min.js
CHANGED
|
@@ -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:z,ReadableStream:x,WritableStream:R,CompressionStream:C,DecompressionStream:D,navigator:F,Worker:A,setTimeout:T,clearTimeout:U}="undefined"!=typeof globalThis?globalThis:this||self,E=4294967295,W=65535,I=134695760,M=I,O=33639248,P=101075792,L=117853008,H=22,B=20,V=56,Z=void 0,q="undefined",N="function",_=new d;let j=2;try{typeof F!=q&&F.hardwareConcurrency&&(j=F.hardwareConcurrency)}catch{}const K={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:j,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=q&&C,DecompressionStream:typeof D!=q&&D},G=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],X={...K};function J(){return X}function Q(t){return a.max(t.chunkSize,64)}function Y(t){t=$(t);for(const e of G){const n=t[e];n!==Z&&(X[e]=n)}}function $(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===Z&&r===Z)return t;const s=n.assign({},t);return s.CompressionStreamFallback===Z&&(s.CompressionStreamFallback=e),s.DecompressionStreamFallback===Z&&(s.DecompressionStreamFallback=r),s}var tt=d,et=h,nt=Int32Array,rt=new tt([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]),st=new tt([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]),ot=new tt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),at=(t,e)=>{for(var n=new et(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new nt(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}},it=at(rt,2),ct=it.b,ft=it.r;ct[28]=258,ft[258]=28;for(var ut=at(st,0).b,lt=new et(32768),wt=0;32768>wt;++wt){var dt=(43690&wt)>>1|(21845&wt)<<1;dt=(61680&(dt=(52428&dt)>>2|(13107&dt)<<2))>>4|(3855&dt)<<4,lt[wt]=((65280&dt)>>8|(255&dt)<<8)>>1}var ht=(t,e,n)=>{for(var r=t.length,s=0,o=new et(e);r>s;++s)t[s]&&++o[t[s]-1];var a,i=new et(e);for(s=1;e>s;++s)i[s]=i[s-1]+o[s-1]<<1;if(n){a=new et(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[lt[l]>>c]=f}else for(a=new et(r),s=0;r>s;++s)t[s]&&(a[s]=lt[i[t[s]-1]++]>>15-t[s]);return a},pt=new tt(288);for(wt=0;144>wt;++wt)pt[wt]=8;for(wt=144;256>wt;++wt)pt[wt]=9;for(wt=256;280>wt;++wt)pt[wt]=7;for(wt=280;288>wt;++wt)pt[wt]=8;var mt=new tt(32);for(wt=0;32>wt;++wt)mt[wt]=5;var yt=ht(pt,9,1),gt=ht(mt,5,1),bt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},vt=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},St=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},kt=t=>(t+7)/8|0,zt=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new tt(t.subarray(e,n))),xt=["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"],Rt=(t,e,n)=>{var r=new w(e||xt[t]);if(r.code=t,w.captureStackTrace&&w.captureStackTrace(r,Rt),!n)throw r;return r},Ct=(t,e,n,r)=>{var s=t.length,o=r?r.length:0;if(!s||e.f&&!e.o)return n||new tt(0);var i=!n,c=i||2!=e.i,f=e.i;i&&(n=new tt(3*s));var u=t=>{var e=n.length;if(t>e){var r=new tt(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=vt(t,w,1);var b=vt(t,w+1,3);if(w+=3,!b){var v=t[(U=kt(w)+4)-4]|t[U-3]<<8,S=U+v;if(S>s){f&&Rt(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=yt,p=gt,m=9,y=5;else if(2==b){var k=vt(t,w,31)+257,z=vt(t,w+10,15)+4,x=k+vt(t,w+5,31)+1;w+=14;for(var R=new tt(x),C=new tt(19),D=0;z>D;++D)C[ot[D]]=vt(t,w+3*D,7);w+=3*z;var F=bt(C),A=(1<<F)-1,T=ht(C,F,1);for(D=0;x>D;){var U,E=T[vt(t,w,A)];if(w+=15&E,16>(U=E>>4))R[D++]=U;else{var W=0,I=0;for(16==U?(I=3+vt(t,w,3),w+=2,W=R[D-1]):17==U?(I=3+vt(t,w,7),w+=3):18==U&&(I=11+vt(t,w,127),w+=7);I--;)R[D++]=W}}var M=R.subarray(0,k),O=R.subarray(k);m=bt(M),y=bt(O),h=ht(M,m,1),p=ht(O,y,1)}else Rt(1);if(w>g){f&&Rt(0);break}}c&&u(d+131072);for(var P=(1<<m)-1,L=(1<<y)-1,H=w;;H=w){var B=(W=h[St(t,w)&P])>>4;if((w+=15&W)>g){f&&Rt(0);break}if(W||Rt(2),256>B)n[d++]=B;else{if(256==B){H=w,h=null;break}var V=B-254;if(B>264){var Z=rt[D=B-257];V=vt(t,w,(1<<Z)-1)+ct[D],w+=Z}var q=p[St(t,w)&L],N=q>>4;if(q||Rt(3),w+=15&q,O=ut[N],N>3&&(Z=st[N],O+=St(t,w)&(1<<Z)-1,w+=Z),w>g){f&&Rt(0);break}c&&u(d+131072);var _=d+V;if(O>d){var j=o-O,K=a.min(O,_);for(0>j+d&&Rt(3);K>d;++d)n[d]=r[j+d]}for(;_>d;++d)n[d]=n[d-O]}}e.o=h,e.p=H,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?zt(n,0,d):n.subarray(0,d)},Dt=new tt(0),Ft=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 tt(32768),this.p=new tt(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||Rt(5),this.d&&Rt(4),this.p.length){if(t.length){var e=new tt(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=Ct(this.p,this.s,this.v);this.h(zt(n,e,this.s.b),this.d),this.v=zt(n,this.s.b-32768),this.s.b=this.v.length,this.p=zt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),At=void 0!==v&&new v;try{At.decode(Dt,{stream:!0})}catch(t){}class Tt 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 Ut=new c,Et=new c;function Wt(t){return Et.get(t)}const It=[[],[],[],[],[],[],[],[]];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;It[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=It[e-1][t];It[e][t]=n>>>8^It[0][255&n]}const[Mt,Ot,Pt,Lt,Ht,Bt,Vt,Zt]=It;class qt{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=Zt[255&t]^Vt[t>>>8&255]^Bt[t>>>16&255]^Ht[t>>>24&255]^Lt[255&n]^Pt[n>>>8&255]^Ot[n>>>16&255]^Mt[n>>>24&255]}}for(;n>r;r++)e=e>>>8^Mt[255&(e^t[r])];this.S=e}get(){return~this.S}}class Nt extends z{constructor(){let t;const e=new qt;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 _t(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function jt(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const Kt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=Kt.R(n);return 32===r?t.concat(e):Kt.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)+Kt.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]=Kt.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=Kt.R(s);return r.push(Kt.F(e+o&31,e+o>32?n:r.pop(),1)),r}},Gt={bytes:{A(t){const e=Kt.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(Kt.F(8*(3&n),r)),e}}},Xt=class{constructor(t){const e=this;e.blockSize=512,e.U=[1732584193,4023233417,2562383102,271733878,3285377520],e.W=[1518500249,1859775393,2400959708,3395469782],t?(e.I=t.I.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.I=t.U.slice(0),t.M=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=Gt.P.T(t));const n=e.M=Kt.concat(e.M,t),r=e.O,s=e.O=r+Kt.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.L(o.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}H(){const t=this;let e=t.M;const n=t.I;e=Kt.concat(e,[Kt.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.L(e.splice(0,16));return t.reset(),n}B(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}L(t){const n=this,r=n.I,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.B(t,i,c,f)+u+s[t]+n.W[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}},Jt={importKey:t=>new Jt.Z(Gt.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=Kt;for(e=Gt.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._=Xt,r=[[],[]];e.j=[new n,new n];const s=e.j[0].blockSize/32;t.length>s&&(t=(new n).update(t).H());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.H(),n=new t._(t.j[1]).update(e).H();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)}}},Qt=typeof S!=q&&typeof S.getRandomValues==N,Yt="Invalid password",$t="Invalid signature",te=$t,ee="zipjs-abort-check-password";function ne(t){if(Qt)return S.getRandomValues(t);throw new w("Crypto API not supported")}const re=16,se={name:"PBKDF2"},oe=n.assign({hash:{name:"HMAC"}},se),ae=n.assign({iterations:1e3,hash:{name:"SHA-1"}},se),ie=["deriveBits"],ce=[8,12,16],fe=[16,24,32],ue=10,le=[0,0,0,0],we=typeof S!=q,de=we&&S.subtle,he=we&&typeof de!=q,pe=Gt.bytes,me=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.W=[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.W[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}},ye=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=Kt.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 Kt.D(e,s)}},ge=Jt.Z;let be=we&&he&&typeof de.importKey==N,ve=we&&he&&typeof de.deriveBits==N;class Se extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){ze(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 Re(t,e,n,De(r,0,ce[e])),o=De(r,ce[e]);if(s[0]!=o[0]||s[1]!=o[1])throw new w(Yt)})(n,o,s,De(t,0,ce[o]+2)),t=De(t,ce[o]+2),r?e.error(new w(ee)):a()):await i;const c=new d(t.length-ue-(t.length-ue)%re);e.enqueue(xe(n,t,c,0,ue,!0))},async flush(t){const{ft:e,ut:n,pending:r,ready:o}=this;if(n&&e){await o;const a=De(r,0,r.length-ue),i=De(r,r.length-ue);let c=_;if(a.length){const t=Ae(pe,a);n.update(t);const r=e.update(t);c=Fe(pe,r)}const f=De(Fe(pe,n.digest()),0,ue);let u=r.length<ue?1:0;for(let t=0;ue>t;t++)u|=f[t]^i[t];if(u&&s)throw new w(te);t.enqueue(c)}}})}}class ke extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){ze(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,ct:o,ready:a}=n;let i=_;r?(i=await(async(t,e,n)=>{const r=ne(new d(ce[e]));return _t(r,await Re(t,e,n,r))})(n,s,r),o()):await a;const c=new d(i.length+t.length-t.length%re);c.set(i,0),e.enqueue(xe(n,t,c,i.length,0))},async flush(t){const{ft:e,ut:n,pending:r,ready:s}=this;if(n&&e){await s;let o=_;if(r.length){const t=e.update(Ae(pe,r));n.update(t),o=Fe(pe,t)}const a=Fe(pe,n.digest()).slice(0,ue);t.enqueue(_t(o,a))}}})}}function ze(t,e,r,s){n.assign(t,{ready:new g(e=>t.ct=e),password:Ce(e,r),strength:s-1,pending:_})}function xe(t,e,n,r,s,o){const{ft:a,ut:i,pending:c}=t;c.length&&(e=_t(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%re)),u=0;f-re>=u;u+=re){const t=Ae(pe,De(e,u,u+re));o&&i.update(t);const s=a.update(t);o||i.update(s),n.set(Fe(pe,s),u+r)}return t.pending=De(e,u),n}async function Re(t,r,s,o){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!be)return Jt.importKey(e);try{return await de.importKey("raw",e,n,!1,s)}catch{return be=!1,Jt.importKey(e)}})(0,s,oe,0,ie),i=await(async(t,e,n)=>{if(!ve)return Jt.N(e,t.salt,ae.iterations,n);try{return await de.deriveBits(t,e,n)}catch{return ve=!1,Jt.N(e,t.salt,ae.iterations,n)}})(n.assign({salt:o},ae),a,8*(2*fe[r]+2)),c=new d(i),f=Ae(pe,De(c,0,fe[r])),u=Ae(pe,De(c,fe[r],2*fe[r])),l=De(c,2*fe[r]);return n.assign(t,{keys:{key:f,lt:u,passwordVerification:l},ft:new ye(new me(f),e.from(le)),ut:new ge(u)}),l}function Ce(t,e){return e===Z?(t=>{if(typeof b==q){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 De(t,e,n){return t.subarray(e,n)}function Fe(t,e){return t.A(e)}function Ae(t,e){return t.T(e)}class Te extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){Ee(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=We(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(Yt);t=t.subarray(12)}r?e.error(new w(ee)):e.enqueue(We(n,t))}})}}class Ue extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){Ee(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=ne(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(Ie(n,e),0),s=12}else r=new d(t.length),s=0;r.set(Ie(n,t),s),e.enqueue(r)}})}}function Ee(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,wt:new qt(s[0]),ht:new qt(s[2])}),r)for(let e=0;e<r.length;e++)Me(t,r[e]);else for(let n=0;n<e.length;n++)Me(t,e.charCodeAt(n))})(t,e,r)}function We(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Oe(t)^e[r],Me(t,n[r]);return n}function Ie(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Oe(t)^e[r],Me(t,e[r]);return n}function Me(t,e){let[,n]=t.keys;t.wt.append([e]);const r=~t.wt.get();n=Le(a.imul(Le(n+Pe(r)),134775813)+1),t.ht.append([n>>>24]);const s=~t.ht.get();t.keys=[r,n,s]}function Oe(t){const e=2|t.keys[2];return Pe(a.imul(e,1^e)>>>8)}function Pe(t){return 255&t}function Le(t){return 4294967295&t}function He(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 Be(t,e){if(t=He(t),typeof y.prototype.stream!=N||new y([]).stream()instanceof x){const n={};return e&&(n.headers=[["Content-Type",e]]),new u(t,n).blob()}const n=[];return t.pipeTo(new R({write(t){n.push(t)}})).then(()=>new y(n,e?{type:e}:{}))}function Ve(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 Ze="Invalid uncompressed size",qe=$t,Ne="deflate-raw",_e="gzip",je=[31,139,8];class Ke 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}=t,d=this;let h,p,y,g=super.readable;const b=l&&Wt(l),v=c&&s&&!u&&!b&&(!o||i)&&!(!a||!r);if(o&&!i||!c||v||(h=new Nt,g=tn(g,h)),s)if(b)g=en(g,Ye(b.CompressionStream,l,{level:f,chunkSize:e,compressionMethod:w}));else if(v)y=new Ge,g=en(g,new r(_e)),g=tn(g,y);else try{g=$e(g,a,{level:f,chunkSize:e},r,n)}catch(t){let e;try{e=new r(_e)}catch{throw t}g=en(g,e),g=tn(g,new Ge)}o&&(i?g=tn(g,new Ue(t)):(p=new ke(t),g=tn(g,p))),Qe(d,g,()=>{o&&!i||!c||(d.crc32=v?y.crc32:new m(h.value.buffer).getUint32(0))})}}class Ge 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=_t(n,t));const o=s-8,i=a.min(o,n.length);r.enqueue(_t(n.subarray(0,i),t.subarray(0,o-i))),n=_t(n.subarray(i),t.subarray(o-i))},flush(){const e=jt(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Xe 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=tn(S,new Te(t)):(v=new Se(t),S=tn(S,v))),c){const t=l&&Wt(l);if(t)S=en(S,Ye(t.DecompressionStream,l,{chunkSize:e,compressionMethod:h,rawBitFlag:p,uncompressedSize:y}));else try{S=$e(S,f,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===Z)throw t;let e;try{e=new r(_e)}catch{throw t}S=((t,e,n)=>{const r=new qt;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(je),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=jt(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=tn(t,u),tn(t=en(t,e),l);function h(){p(),s=T(()=>a(new w(Ze)),5e3)}function p(){U(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 Nt,S=tn(S,b)),Qe(this,S,()=>{if(a){const t=new m(b.value.buffer);if(i!=t.getUint32(0,!1))throw new w(qe)}})}}const Je=new c;function Qe(t,e,r){e=tn(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function Ye(t,e,n){if(!t)throw new w("Compression method not supported");return new t(e,n)}function $e(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":Ne;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return en(t,i)}function tn(t,e){return He(t).pipeThrough(e)}function en(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 nn="deflate",rn="inflate";class sn extends z{constructor(t,e){super({});const r=this,{codecType:s}=t;let o;s.startsWith(nn)?o=Ke:s.startsWith(rn)&&(o=Xe),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!==Z&&r.outputSize>t.outputSize))throw new w(Ze)},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 on extends z{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 an{constructor(t,{readable:e,writable:r},{options:s,config:o,yt:a,useWebWorkers:i,transferStreams:f,workerURI:u,createWorker:l},w){const{signal:d}=a;return n.assign(t,{gt:!0,bt:(t.bt||0)+1,readable:e.pipeThrough(new on(Q(o))).pipeThrough(new cn(a),{signal:d}),writable:r,options:n.assign({},s),workerURI:u,createWorker:l,transferStreams:f,terminate:()=>new g(e=>{const{vt:n,gt:r}=t;n?(r?t.St=e:(n.terminate(),e()),t.kt=null):e()}),zt(){if(t.gt){const{St:e}=t;e&&(t.St=null,t.xt=!0,t.vt.terminate(),e()),t.gt=!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(nn),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(n&&n.Rt&&!((t,e)=>{if(!t)return!1;let n=Je.get(t);n||(n=new c,Je.set(t,n));let r=n.get(e);if(r===Z){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,Ne))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.Rt||(t.useCompressionStream=!0)}}o=new sn(t,s),await e.pipeThrough(o).pipeThrough(new on(Q(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 cn extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await fn(t,n)},async transform(t,r){s+=t.length,e&&await fn(e,s,n),r.enqueue(t)},async flush(){r&&await fn(r,s)}})}}async function fn(t,...e){try{await t(...e)}catch{}}let un=[];const ln=[];let wn,dn,hn=0;function pn(){!wn&&ln.length&&s.isFinite(dn)&&dn>=0&&(wn=T(yn,dn))}function mn(){wn&&(U(wn),wn=null)}function yn(){if(wn=null,ln.length){const[{resolve:t,stream:e,Ct:r}]=ln.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:Z,createWorker:Z});t(new an({},e,s,gn)),pn()}}function gn(){mn(),pn()}function bn(t){const{Dt:e}=t;e&&(U(e),t.Dt=null)}const vn="HTTP error ",Sn="HTTP Range not supported",kn="HTTP resource changed",zn="Content-Range",xn="Range",Rn="GET",Cn="bytes",Dn=16777216,Fn="writable",An=Symbol();class Tn{constructor(){this.size=0}init(){this.initialized=!0}}class Un extends Tn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=Q(J())}={}){const r=this;let s=0;return new x({async pull(o){const i=e===Z?n:a.min(n,e-s),c=await ar(r,t+s,i);o.enqueue(c),s+n>e||e===Z&&!c.length&&i?o.close():s+=n}})}}class En extends Tn{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,Fn,{get:()=>e})}writeUint8Array(){}}let Wn,In;class Mn extends Un{constructor(t){super(),n.assign(this,{blob:t,size:t.size}),In||(In=(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();Wn=1==e}catch{Wn=!1}})())}createReadable(t){const{blob:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};return r||n>s?Wn?He(e.slice(r,r+s).stream()):super.createReadable(t):He(e.stream())}async readUint8Array(t,e){const n=this,r=t+e,s=t||r<n.size?n.blob.slice(t,r):n.blob;let o=await s.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,r)),new d(o)}}class On extends Tn{constructor(t){super();const e=this,r=new z;n.defineProperty(e,Fn,{get:()=>r.writable}),e.blob=Be(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class Pn extends Un{constructor(t,e){super(),Hn(this,t,e)}async init(){await Bn(this,Yn,Gn),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=e;if((n||r)&&o!==Z){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(Sn);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=Z,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function f(){const e=a.min(t.maximumRangeSize,c),n=await Yn(Rn,t,jn(t,o,e));if(206!=n.status)throw new w(Sn);const f=n.headers.get(zn);if(f){const t=s(f.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=o)throw new w(Sn)}_n(t,n),Nn(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 Vn(this,t,e,Yn,Gn)}}class Ln extends Un{constructor(t,e){super(),Hn(this,t,e)}async init(){await Bn(this,$n,Xn),super.init()}readUint8Array(t,e){return Vn(this,t,e,$n,Xn)}}function Hn(t,e,r){const{preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:f=Dn,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 Bn(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=J(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(o||a)&&(typeof s==q||s)){const r=await e(Rn,t,jn(t,i?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Cn))throw new w(Sn);{if(i){const e=new d(await r.arrayBuffer());206==r.status&&e.length==H&&(t.Ft=e)}Nn(t,r);const s=Zn(r);s===Z?await Qn(t,e,n):t.size=s}}else await Qn(t,e,n)}async function Vn(t,e,n,r,o){const{useRangeHeader:a,forceRangeRequests:i,Ft: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(Rn,t,jn(t,e,n));if(206!=o.status)throw new w(Sn);const a=o.headers.get(zn);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(Sn)}_n(t,o),Nn(t,o);const i=new d(await o.arrayBuffer());if(i.length!=n)throw new w(Sn);return i}return _}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function Zn(t){const e=t.headers.get(zn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function qn({headers:t}){return{At:t.get("Etag")||Z,lastModified:t.get("Last-Modified")||Z}}function Nn(t,e){const{checkResourceChanges:n,Tt:r}=t;n&&!r&&206==e.status&&(t.Tt=qn(e))}function _n(t,e){const{checkResourceChanges:r,Tt:s,size:o}=t;if(r){const t=Zn(e);if(t!==Z&&o!==Z&&t!=o)throw new w(kn);if(s){const t=qn(e);if(n.entries(s).some(([e,n])=>n!==Z&&t[e]!==Z&&n!=t[e]))throw new w(kn)}}}function jn(t,e=0,r=1){return n.assign({},Kn(t),{[xn]:Cn+"="+(0>e?e:e+"-"+(e+r-1))})}function Kn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function Gn(t){await Jn(t,Yn)}async function Xn(t){await Jn(t,$n)}async function Jn(t,e){const n=await e(Rn,t,Kn(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function Qn(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,Kn(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=s(o):await n(t,t.options)}}async function Yn(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(Sn):new w(vn+(a.statusText||a.status))}function $n(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(Sn):new w(vn+(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 tr extends Un{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Ln(t,e):new Pn(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 er extends Un{constructor(t){super(),this.Ut=t}async init(){const t=this,{Ut:e}=t;t.Et=0,await g.all(e.map(t=>or(t))),t.Wt=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}It(t){const{Wt:e,size:n}=this,r=e[t];return r===Z?n:r}async readUint8Array(t,e){const n=this,{Ut: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=_t(await ar(c,i,o),await n.readUint8Array(t+o,e-o))}else s=await ar(c,i,e)}else s=_;return n.Et=a.max(o,n.Et),s}}class nr extends Tn{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===An)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 or(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,Fn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(An)}finally{t.releaseLock()}}}class rr{constructor(t){return e.isArray(t)&&(t=new er(t)),(t instanceof x||typeof t.getReader==N)&&(t={readable:He(t)}),t}}class sr{constructor(t){return t.writable===Z&&typeof t.next==N&&(t=new nr(t)),(t instanceof R||typeof t.getWriter==N)&&(t={writable:Ve(t)}),t.size===Z&&(t.size=0),t}}async function or(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}function ar(t,e,n){return t.readUint8Array(e,n)}const ir="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function cr(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let n=0;n<t.length;n++)e+=ir[t[n]];return e}})(t):new v(e,{ignoreBOM:!0}).decode(t)}const fr="filename",ur="rawFilename",lr="comment",wr="rawComment",dr="uncompressedSize",hr="compressedSize",pr="offset",mr="diskNumberStart",yr="lastModDate",gr="rawLastModDate",br="lastAccessDate",vr="rawLastAccessDate",Sr="creationDate",kr="rawCreationDate",zr=[fr,ur,dr,hr,yr,gr,lr,wr,br,vr,Sr,kr,pr,mr,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","setuid","setgid","sticky","bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class xr{constructor(t){zr.forEach(e=>this[e]=t[e])}}const Rr="checkAmbiguity",Cr="strictness",Dr="strict",Fr="balanced",Ar="tolerant",Tr="File format is not recognized",Ur="Encryption method not supported",Er="Compression method not supported",Wr="Split zip file",Ir=/^[a-zA-Z]:/,Mr="utf-8",Or="cp437",Pr=[[dr,E],[hr,E],[pr,E],[mr,W]],Lr={[W]:{Mt:is,bytes:4},[E]:{Mt:cs,bytes:8}};class Hr{constructor(t,e,r){n.assign(this,{reader:t,config:e,options:r})}async getData(t,e,n,r={}){const o=this,{reader:a,index:i,offset:c,diskNumberStart:f,extraFieldAES:u,extraFieldZip64:d,compressionMethod:h,config:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:v,uncompressedSize:S,compressedSize:k}=o,{dataDescriptor:z}=m,x=e.localDirectory={},C=Kr(a,f)+c,D=await ar(a,C,30),F=jt(D);let A=ns(o,r,"password"),U=ns(o,r,"rawPassword");const E=ns(o,r,"passThrough");if(A=A&&A.length&&A,U=U&&U.length&&U,u&&99!=u.originalCompressionMethod)throw new w(Er);if(30>D.length||67324752!=is(F,0))throw new w("Local file header not found");Vr(x,F,4);const{extraFieldLength:W,filenameLength:I}=x,O=Xr(ns(o,r,Cr),ns(o,r,Rr))==Dr;let P=_;if(O&&(I||W)){const t=await ar(a,C+30,I+W);P=t.subarray(0,I),x.rawExtraField=t.subarray(I)}else x.rawExtraField=W?await ar(a,C+30+I,W):_;Zr(o,x,F,4,!0),O&&((t,e,n)=>{const{rawFilename:r}=t;(n.length!=r.length||n.some((t,e)=>t!=r[e]))&&es("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&es("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&es("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||es("mismatched local file header (crc32 or sizes)")})(o,x,P);const{lastAccessDate:L,creationDate:H}=x;L&&(e.lastAccessDate=L),H&&(e.creationDate=H);const B=o.encrypted&&x.encrypted&&!E,V=B&&!u;if(E||(e.zipCrypto=V),B&&!(64&~x.rawBitFlag))throw new w(Ur);const q=E?Z:(t=>Ut.get(t))(h);if(0!=h&&8!=h&&9!=h&&!q&&!E)throw new w(Er);if(B){if(!V&&(1>u.strength||u.strength>3))throw new w(Ur);if(!A&&!U)throw new w("File contains encrypted entry")}const j=C+30+I+W,K=k,G=He(a.createReadable({offset:j,size:K})),X=ns(o,r,"signal"),J=ns(o,r,"checkPasswordOnly");let Q=ns(o,r,"checkOverlappingEntry");const Y=ns(o,r,"checkOverlappingEntryOnly");Y&&(Q=!0);const{onstart:$,onprogress:tt,onend:et}=r,nt=9==h;let rt=ns(o,r,"useCompressionStream");nt&&(rt=!1);const st=ns(o,r,"checkCrc32"),ot=(st===Z?ns(o,r,"checkSignature"):st)&&!E&&(!B||V||u&&1==u.vendorVersion),at={options:{codecType:rn,password:A,rawPassword:U,zipCrypto:V,encryptionStrength:u&&u.strength,checkCrc32:ot,checkAuthenticationCode:ns(o,r,"checkAuthenticationCode"),passwordVerification:V&&(z?v>>>8&255:b>>>24&255),outputSize:E?k:S,crc32:b,compressed:0!=h&&!E,encrypted:B,useWebWorkers:ns(o,r,"useWebWorkers"),useCompressionStream:rt,transferStreams:ns(o,r,"transferStreams"),deflate64:nt,format:q?q.format:Z,codecURI:q?q.codecURI:Z,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:J},config:p,yt:{signal:X,size:K,onstart:$,onprogress:tt,onend:et}};let it,ct;Q&&await(async({reader:t,Ot:e,index:n,offset:r,crc32:s,compressedSize:o,uncompressedSize:a,Pt:i,dataDescriptor:c,extraFieldZip64:f,Lt:u})=>{let l=0;if(c&&(l=f?20:12),l){const n=await ar(t,i+o,l+4);if(n.length==l+4&&is(jt(n),0)==M){const t=is(jt(n),4);let r,i;f?(r=cs(jt(n),8),i=cs(jt(n),16)):(r=is(jt(n),8),i=is(jt(n),12)),(e.encrypted&&!e.zipCrypto||t==s)&&r==o&&i==a&&(l+=4)}}const d={start:r,end:i+o+l,Ot: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.Ht=e.Ot,t}u.set(n,d)})({reader:a,Ot:e,index:i,offset:C,crc32:b,compressedSize:k,uncompressedSize:S,Pt:j,dataDescriptor:z||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Lt:n});try{if(!Y){J&&(t=new R),t=new sr(t),await or(t,E?k:S),({writable:it}=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)=>{!Et.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=N&&typeof r!=N)throw new w("Invalid codec module");Et.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(h,n.codecURI)),e.transferStreams=!h&&(o||o===Z&&r.transferStreams);const v=!(c||f||u||d),S=h===Z||!!n.codecURI;return e.useWebWorkers=!v&&S&&(a||a===Z&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:Z,e.createWorker=e.useWebWorkers&&y?y:Z,n.useCompressionStream=i||i===Z&&r.useCompressionStream,(await(async()=>{const n=un.find(t=>!t.gt);if(n)return bn(n),new an(n,t,e,k);if(un.length<b){const n={Bt:hn};return hn++,un.push(n),new an(n,t,e,k)}return new g(n=>{ln.push({resolve:n,stream:t,Ct:e}),dn=r.workerStarvationTimeout,pn()})})()).run();function k(t){if(mn(),ln.length){const[{resolve:e,stream:n,Ct:r}]=ln.splice(0,1);e(new an(t,n,r,k)),pn()}else t.vt?(bn(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.xt?t.xt=!1:t.Dt=T(async()=>{un=un.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):un=un.filter(e=>e!=t)}}({readable:G,writable:it},at);if(t.size+=e,e!=(E?k:S))throw new w(Ze)}}catch(e){if(e.outputSize!==Z&&(t.size+=e.outputSize),!J||e.message!=ee)throw ct=e,e}finally{if(!ns(o,r,"preventClose")&&it&&!it.locked){const t=it.getWriter();if(ct)try{await t.abort(ct)}catch{}else await t.close()}}return J||Y?Z:t.getData?t.getData():it}}function Br(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(134630224==is(t,n))return!0;return!1}function Vr(t,e,r){const s=t.rawBitFlag=as(e,r+2),o=!(1&~s),a=is(e,r+6);n.assign(t,{encrypted:o,version:as(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:a,lastModDate:rs(a),filenameLength:as(e,r+22),extraFieldLength:as(e,r+24)})}function Zr(t,e,r,s,o){const{rawExtraField:a}=e,f=e.extraField=new c,u=jt(a);let l=0;try{for(;l<a.length;){const t=as(u,l),e=as(u,l+2);f.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{}const d=as(r,s+4);n.assign(e,{signature:is(r,s+10),crc32:is(r,s+10),compressedSize:is(r,s+14),uncompressedSize:is(r,s+18)});const h=f.get(1);h&&(((t,e)=>{e.zip64=!0;const n=jt(t.data),r=Pr.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+Lr[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=Lr[i];e[a]=t[a]=c.Mt(n,o),o+=c.bytes}})(h,e),e.extraFieldZip64=h);const p=f.get(28789);p&&(qr(p,fr,ur,e,t),e.extraFieldUnicodePath=p);const m=f.get(25461);m&&(qr(m,lr,wr,e,t),e.extraFieldUnicodeComment=m);const y=f.get(39169);y&&y.data.length>=7?(((t,e,r)=>{const s=jt(t.data),o=os(s,4);n.assign(t,{vendorVersion:os(s,0),vendorId:os(s,2),strength:o,originalCompressionMethod:r,compressionMethod:as(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=Z)})(y,e,d),e.extraFieldAES=y):e.compressionMethod=d;const g=f.get(13);g&&(Nr(g,e),e.extraFieldPkwareUnix=g);const b=f.get(22613);b&&(Nr(b,e),e.extraFieldUnixType1=b);const v=f.get(10);v&&(((t,e)=>{const r=jt(t.data);let s,o=4;try{for(;o<t.data.length&&!s;){const e=as(r,o),n=as(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=jt(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:ss(o),lastAccessDate:ss(a),creationDate:ss(i)};n.assign(t,c),n.assign(e,c)}})(v,e),e.extraFieldNTFS=v);const S=f.get(30805);if(S)_r(S,e,!1),e.extraFieldUnix=S;else{const t=f.get(30837);t&&(_r(t,e,!0),e.extraFieldInfoZip=t)}const k=f.get(21589);k&&(((t,e,n)=>{if(!t.data.length)return;const r=jt(t.data),s=os(r,0),o=[],a=[];n?(1&~s||(o.push(yr),a.push(gr)),2&~s||(o.push(br),a.push(vr)),4&~s||(o.push(Sr),a.push(kr))):5>t.data.length||(o.push(yr),a.push(gr));let c=1;o.forEach((n,s)=>{if(t.data.length>=c+4){const o=is(r,c);e[n]=t[n]=new i(1e3*(0|o));const f=a[s];t[f]=o}c+=4})})(k,e,o),e.extraFieldExtendedTimestamp=k);const z=f.get(6534);z&&(e.extraFieldUSDZ=z)}function qr(t,e,r,s,o){if(5>t.data.length)return void(t.valid=!1);const a=jt(t.data),i=new qt;i.append(o[r]);const c=jt(new d(4));c.setUint32(0,i.get(),!0);const f=is(a,1);n.assign(t,{version:os(a,0),[e]:cr(t.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&f==is(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function Nr(t,e){if(8>t.data.length)return;const r=jt(t.data),s={lastAccessDate:new i(1e3*is(r,0)),lastModDate:new i(1e3*is(r,4))};12>t.data.length||(s.uid=as(r,8),s.gid=as(r,10)),n.assign(t,s),n.assign(e,s)}function _r(t,e,r){try{const s=jt(t.data);let o,a;if(r){let e=0;const r=os(s,e++),i=os(s,e++);o=jr(t.data.subarray(e,e+i)),e+=i;const c=os(s,e++);a=jr(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:o,gid:a})}else 4>t.data.length||(o=as(s,0),a=as(s,2),n.assign(t,{uid:o,gid:a}));o!==Z&&(e.uid=o),a!==Z&&(e.gid=a)}catch{}}function jr(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Kr(t,e){return t.It?t.It(e):0}function Gr(t){return t===Dr||t===Fr||t===Ar}function Xr(t,e){if(t===Z)return e?Dr:Fr;if(!Gr(t))throw new w("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return t}function Jr(t,e){if(e==Ar)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ir.test(t))||e==Dr&&(n.includes(".")||n.includes(""))}async function*Qr(t,e){const n=t.size-e,r=await ar(t,n,e),s=jt(r);for(let t=r.length-H;t>=0;t--)101010256==is(s,t)&&(yield[s,n,r,t,n+t])}function Yr(t,e,n){return{offset:n,buffer:t.slice(e,e+H).buffer}}async function $r(t,e,n,r,s,o,a){const i=as(e,r+10),c=is(e,r+12),f=is(e,r+16);if(i==W||c==E||f==E)return await ts(t,e,n,s-B,o,a)==L?2:0;if(!i&&!c)return 1;const u=as(e,r+6);for(const r of[s-c,Kr(t,u)+f])if(await ts(t,e,n,r,o,a)==O)return 2;return 0}async function ts(t,e,n,r,s,o){return 0>r||r+4>s?Z:n>r?o.count>0?(o.count--,is(jt(await ar(t,r,4)),0)):Z:is(e,r-n)}function es(t){const e=new w("Ambiguous archive");throw e.reason=t,e}function ns(t,e,n){return e[n]===Z?t.options[n]:e[n]}function rs(t){const e=(4294901760&t)>>16,n=t&W;return new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function ss(t){return new i(s(t/o(1e4)-o(116444736e5)))}function os(t,e){return t.getUint8(e)}function as(t,e){return t.getUint16(e,!0)}function is(t,e){return t.getUint32(e,!0)}function cs(t,e){return s(t.getBigUint64(e,!0))}(t=>{t=$(t);for(const e of G){const n=t[e];n!==Z&&(K[e]=n)}Y(t)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends Tt{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new Ft)}}}),t.BlobReader=Mn,t.BlobWriter=On,t.Data64URIWriter=class extends En{constructor(t){super(),n.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let n,s=e.pending;const o=e.pending.length;for(e.pending="",n=0;n<3*a.floor((o+t.length)/3)-o;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=r.fromCharCode(t[n]);s.length>2?e.data+=k(s):e.pending=s+e.pending}getData(){return this.data+k(this.pending)}},t.HttpRangeReader=class extends tr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends On{constructor(t){super(t),n.assign(this,{encoding:t,Vt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Vt:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new g((s,o)=>{n.assign(e,{onload:({target:t})=>s(t.result),onerror:()=>o(e.error)}),e.readAsText(r,t)})}}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new rr(t),options:e,config:J(),Lt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;const{config:o}=e;if(await or(r),r.size!==Z&&r.readUint8Array||(r=new Mn(await Be(r.readable)),await or(r)),r.size<H)throw new w(Tr);const i=Xr(ns(e,t,Cr),ns(e,t,Rr)),c=i==Dr,u=i!=Ar,l=((t,e)=>{if(t!==Z){const e="string"==typeof(n=t)&&n.trim()?s(n):n;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}var n;return e==Dr?0:e==Ar?1/0:W})(ns(e,t,"maxAppendedDataSize"),i),d=((t,e)=>{if(t===Z)return e;if(!Gr(t))throw new w("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(ns(e,t,"filenameValidation"),i),h=ns(e,t,"normalizeFilename"),{Zt:p,qt: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 Qr(t,s)){const s=as(n,l+20);if(w+H+s==r){const s=await $r(t,n,a,l,w,r,o);if(2==s){if(i||(i=Yr(u,l,w)),f++,!e||f>1)break}else 1!=s||c||(c=Yr(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 Qr(t,s)){const s=Yr(c,f,u);o||(o=s);const l=await $r(t,e,a,f,u,r,n);if(2==l)return s;1!=l||i||(i=s)}return i||o})(t,n,o)),{Zt:i,qt:f}})(r,u,l);if(!p)throw is(jt(await ar(r,0,4)))==I?new w(Wr):new w("End of central directory not found");u&&m>1&&es("multiple end of central directory records");const y=jt(p);let g=is(y,12),b=is(y,16);const v=p.offset,S=as(y,20),k=v+H+S;r.size-k>l&&es("appended data");let x=as(y,4);const R=r.Et||0;let C,D,F,A,T=as(y,6),U=as(y,10),M=0;const q=b==E||g==E||U==W||T==W;if(b!=E&&T!=W&&(b+=Kr(r,T)),q){const t=p.offset<B?_:await ar(r,p.offset-B,B),e=jt(t);if(t.length==B&&is(e,0)==L){b=Kr(r,is(e,4))+cs(e,8);let t=await ar(r,b,V),o=jt(t);const i=p.offset-B-V;if((t.length<V||is(o,0)!=P)&&b!=i&&i>=0){const e=b;b=i,b>e&&(M=b-e),t=await ar(r,b,V),o=jt(t)}if(t.length<V||is(o,0)!=P)throw new w("End of Zip64 central directory locator not found");if(D=!0,F=cs(o,4)>44,F){const t=a.min(s(cs(o,4))-44,r.size-b-V);t>0&&(A=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=jt(t),o=as(r,26);n.assign(e,{compressionMethod:as(r,0),compressedSize:s(cs(r,2)),uncompressedSize:s(cs(r,10)),encryptionAlgorithm:as(r,18),bitLength:as(r,20),flags:as(r,22),hashAlgorithm:as(r,24),hashData:t.subarray(28,28+o)})}return e})(await ar(r,b+V,t)))}x==W?x=is(o,16):c&&x!=is(o,16)&&es("mismatched zip64 end of central directory record"),T==W?T=is(o,20):c&&T!=is(o,20)&&es("mismatched zip64 end of central directory record"),U==W?U=cs(o,32):c&&U!=cs(o,32)&&es("mismatched zip64 end of central directory record"),g==E?g=cs(o,40):c&&g!=cs(o,40)&&es("mismatched zip64 end of central directory record"),b=Kr(r,T)+cs(o,48)+M}}let N=g;const j=p.offset-(D?76:0);if(b<r.size||(M=r.size-b-g-H,b=r.size-g-H),R!=x)throw new w(Wr);if(0>b)throw new w(Tr);let K=0,G=await ar(r,b,g),X=jt(G);if(g){if(4>G.length)throw new w(Tr);const t=j-g;if(b!=t&&T==x){let e=!(is(X,K)==O);if(e||0>t||t+4>r.size||(e=is(jt(await ar(r,t,4)),0)==O),e){const e=b;b=t,b>e&&(M+=b-e),G=await ar(r,b,g),X=jt(G)}}}const J=j-b;if(g==J||0>J||T!=x||(g=J,G=await ar(r,b,g),X=jt(G)),0>b||b>=r.size)throw new w(Tr);e.directoryOffset=b,e.directoryLength=N;const Q=ns(e,t,"decryptCentralDirectory");let Y;Q&&U&&G.length>=4&&is(X,0)!=O&&(F||Br(X))&&(G=await Q(G,A),X=jt(G),N=G.length,Y=!0),C=b;const $=ns(e,t,"filenameEncoding"),tt=ns(e,t,"commentEncoding"),et=c?new f:Z;let nt;for(let s=0;U>s;s++){const i=new Hr(r,o,e.options);if(K+46>G.length||is(X,K)!=O){if(0==s&&!Y&&(F||Br(X)))throw new w("Encrypted central directory is not supported");throw new w("Central directory header not found")}Vr(i,X,K+6);const f=!!i.bitFlag.languageEncodingFlag,u=K+46,l=u+i.filenameLength,p=l+i.extraFieldLength,m=as(X,K+4),y=!(m>>8),g=m>>8==3,b=G.subarray(u,l),v=as(X,K+32),S=p+v,k=G.subarray(p,S),x=f,R=f,D=is(X,K+38),A=255&D,T={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},E=is(X,K+42),I=ns(e,t,"decodeText")||cr,P=x?Mr:$||Or,L=R?Mr:tt||Or;let H=I(b,P,"filename");if(H===Z&&(H=cr(b,P)),h){const t=h(H);t!==Z&&(H=t)}if(Jr(H,d)){const t=new w("Unsafe filename");throw t.filename=H,t}let B=I(k,L,"comment");B===Z&&(B=cr(k,L)),n.assign(i,{index:s,versionMadeBy:m,msDosCompatible:y,compressedSize:0,uncompressedSize:0,Nt:v,offset:E,diskNumberStart:as(X,K+34),internalFileAttributes:as(X,K+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:T,rawFilename:b,filenameUTF8:x,commentUTF8:R,rawExtraField:G.subarray(l,p),rawComment:k,filename:H,comment:B}),Zr(i,i,X,K+6),i.offset+=M,C=a.min(Kr(r,i.diskNumberStart)+i.offset,C),c&&(et.has(i.filename)&&(nt=!0),et.add(i.filename));const V=i.externalFileAttributes>>16&W;i.unixMode===Z&&16877&V&&(i.unixMode=V);const q=!!(2048&i.unixMode),N=!!(1024&i.unixMode),_=!!(512&i.unixMode),j=i.unixMode!==Z?!!(73&i.unixMode):g&&!!(73&V),J=i.unixMode!==Z&&16384==(61440&i.unixMode),Q=16384==(61440&V);n.assign(i,{setuid:q,setgid:N,sticky:_,unixExternalUpper:V,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:j,directory:J||Q||y&&T.directory||i.filename.endsWith("/")&&!i.uncompressedSize,zipCrypto:i.encrypted&&!i.extraFieldAES});const rt=new xr(i);rt.getData=(t,n)=>i.getData(t,rt,e.Lt,n),rt.arrayBuffer=async t=>{const n=new z,r=Be(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,rt,e.Lt,t),r},K=S;const{onprogress:st}=t;if(st)try{await st(s+1,U,new xr(i))}catch{}yield rt}let rt=K;if(K+6<=G.length&&84233040==is(X,K)){const t=as(X,K+4);K+6+t>G.length||(e.digitalSignature=G.subarray(K+6,K+6+t),rt=K+6+t)}c&&K!=N&&rt!=N&&es("trailing central directory data"),nt&&es("duplicate filename"),c&&(M||U&&C>0)&&es("prepended data");const st=ns(e,t,"extractPrependedData"),ot=ns(e,t,"extractAppendedData");return st&&(e.prependedData=C>0?await ar(r,0,C):_),e.comment=S?await ar(r,v+H,S):_,ot&&(e.appendedData=k<r.size?await ar(r,k,r.size-k):_),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}},t.configure=Y,t.inflateRaw=(t,e)=>Ct(t,{i:2},e&&e._t,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:k,btoa:S,TransformStream:x,ReadableStream:z,WritableStream:R,CompressionStream:D,DecompressionStream:F,navigator:C,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 C!=j&&C.hardwareConcurrency&&(et=C.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 D!=j&&D,DecompressionStream:typeof F!=j&&F},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}},kt=vt(yt,2),St=kt.b,xt=kt.r;St[28]=258,xt[258]=28;for(var zt=vt(gt,0).b,Rt=new pt(32768),Dt=0;32768>Dt;++Dt){var Ft=(43690&Dt)>>1|(21845&Dt)<<1;Ft=(61680&(Ft=(52428&Ft)>>2|(13107&Ft)<<2))>>4|(3855&Ft)<<4,Rt[Dt]=((65280&Ft)>>8|(255&Ft)<<8)>>1}var Ct=(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(Dt=0;144>Dt;++Dt)At[Dt]=8;for(Dt=144;256>Dt;++Dt)At[Dt]=9;for(Dt=256;280>Dt;++Dt)At[Dt]=7;for(Dt=280;288>Dt;++Dt)At[Dt]=8;var Tt=new ht(32);for(Dt=0;32>Dt;++Dt)Tt[Dt]=5;var Ut=Ct(At,9,1),Et=Ct(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,k=U+v;if(k>s){f&&Bt(0);break}c&&u(d+v),n.set(t.subarray(U,k),d),e.b=d+=v,e.p=w=8*k,e.f=l;continue}if(1==b)h=Ut,p=Et,m=9,y=5;else if(2==b){var S=Wt(t,w,31)+257,x=Wt(t,w+10,15)+4,z=S+Wt(t,w+5,31)+1;w+=14;for(var R=new ht(z),D=new ht(19),F=0;x>F;++F)D[bt[F]]=Wt(t,w+3*F,7);w+=3*x;var C=It(D),A=(1<<C)-1,T=Ct(D,C,1);for(F=0;z>F;){var U,E=T[Wt(t,w,A)];if(w+=15&E,16>(U=E>>4))R[F++]=U;else{var I=0,W=0;for(16==U?(W=3+Wt(t,w,3),w+=2,I=R[F-1]):17==U?(W=3+Wt(t,w,7),w+=3):18==U&&(W=11+Wt(t,w,127),w+=7);W--;)R[F++]=I}}var M=R.subarray(0,S),O=R.subarray(S);m=It(M),y=It(O),h=Ct(M,m,1),p=Ct(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[F=H-257];V=Wt(t,w,(1<<Z)-1)+St[F],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=new c,jt=new c;function Kt(t){return jt.get(t)}const Gt=[[],[],[],[],[],[],[],[]];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;Gt[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=Gt[e-1][t];Gt[e][t]=n>>>8^Gt[0][255&n]}const[Xt,Jt,Qt,Yt,$t,te,ee,ne]=Gt;class re{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=ne[255&t]^ee[t>>>8&255]^te[t>>>16&255]^$t[t>>>24&255]^Yt[255&n]^Qt[n>>>8&255]^Jt[n>>>16&255]^Xt[n>>>24&255]}}for(;n>r;r++)e=e>>>8^Xt[255&(e^t[r])];this.S=e}get(){return~this.S}}class se extends x{constructor(){let t;const e=new re;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 oe(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function ae(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const ie={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=ie.R(n);return 32===r?t.concat(e):ie.D(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)+ie.R(n)},F(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]=ie.C(e,t[n-1]&2147483648>>e-1,1)),t},C:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>a.round(t/1099511627776)||32,D(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=ie.R(s);return r.push(ie.C(e+o&31,e+o>32?n:r.pop(),1)),r}},ce={bytes:{A(t){const e=ie.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(ie.C(8*(3&n),r)),e}}},fe=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=ce.L.T(t));const n=e.M=ie.concat(e.M,t),r=e.O,s=e.O=r+ie.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=ie.concat(e,[ie.C(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}},ue={importKey:t=>new ue.Z(ce.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=ie;for(e=ce.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._=fe,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)}}},le=typeof k!=j&&typeof k.getRandomValues==K,we="Invalid password",de="Invalid signature",he=de,pe="zipjs-abort-check-password";function me(t){if(le)return k.getRandomValues(t);throw new w("Crypto API not supported")}const ye=16,ge={name:"PBKDF2"},be=n.assign({hash:{name:"HMAC"}},ge),ve=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ge),ke=["deriveBits"],Se=[8,12,16],xe=[16,24,32],ze=10,Re=[0,0,0,0],De=typeof k!=j,Fe=De&&k.subtle,Ce=De&&typeof Fe!=j,Ae=ce.bytes,Te=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}},Ue=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=ie.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 ie.F(e,s)}},Ee=ue.Z;let Ie=De&&Ce&&typeof Fe.importKey==K,We=De&&Ce&&typeof Fe.deriveBits==K;class Me extends x{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Le(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 Be(t,e,n,Ve(r,0,Se[e])),o=Ve(r,Se[e]);if(s[0]!=o[0]||s[1]!=o[1])throw new w(we)})(n,o,s,Ve(t,0,Se[o]+2)),t=Ve(t,Se[o]+2),r?e.error(new w(pe)):a()):await i;const c=new d(t.length-ze-(t.length-ze)%ye);e.enqueue(Pe(n,t,c,0,ze,!0))},async flush(t){const{ft:e,ut:n,lt:r,ready:o}=this;if(n&&e){await o;const a=Ve(r,0,r.length-ze),i=Ve(r,r.length-ze);let c=X;if(a.length){const t=qe(Ae,a);n.update(t);const r=e.update(t);c=Ze(Ae,r)}const f=Ve(Ze(Ae,n.digest()),0,ze);let u=r.length<ze?1:0;for(let t=0;ze>t;t++)u|=f[t]^i[t];if(u&&s)throw new w(he);t.enqueue(c)}}})}}class Oe extends x{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){Le(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=me(new d(Se[e]));return oe(r,await Be(t,e,n,r))})(n,s,r),o()):await a;const c=new d(i.length+t.length-t.length%ye);c.set(i,0),e.enqueue(Pe(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(qe(Ae,r));n.update(t),o=Ze(Ae,t)}const a=Ze(Ae,n.digest()).slice(0,ze);t.enqueue(oe(o,a))}}})}}function Le(t,e,r,s){n.assign(t,{ready:new g(e=>t.ct=e),password:He(e,r),strength:s-1,lt:X})}function Pe(t,e,n,r,s,o){const{ft:a,ut:i,lt:c}=t;c.length&&(e=oe(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%ye)),u=0;f-ye>=u;u+=ye){const t=qe(Ae,Ve(e,u,u+ye));o&&i.update(t);const s=a.update(t);o||i.update(s),n.set(Ze(Ae,s),u+r)}return t.lt=Ve(e,u),n}async function Be(t,r,s,o){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!Ie)return ue.importKey(e);try{return await Fe.importKey("raw",e,n,!1,s)}catch{return Ie=!1,ue.importKey(e)}})(0,s,be,0,ke),i=await(async(t,e,n)=>{if(!We)return ue.N(e,t.salt,ve.iterations,n);try{return await Fe.deriveBits(t,e,n)}catch{return We=!1,ue.N(e,t.salt,ve.iterations,n)}})(n.assign({salt:o},ve),a,8*(2*xe[r]+2)),c=new d(i),f=qe(Ae,Ve(c,0,xe[r])),u=qe(Ae,Ve(c,xe[r],2*xe[r])),l=Ve(c,2*xe[r]);return n.assign(t,{keys:{key:f,wt:u,passwordVerification:l},ft:new Ue(new Te(f),e.from(Re)),ut:new Ee(u)}),l}function He(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 Ve(t,e,n){return t.subarray(e,n)}function Ze(t,e){return t.A(e)}function qe(t,e){return t.T(e)}class Ne extends x{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){je(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=Ke(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(we);t=t.subarray(12)}r?e.error(new w(pe)):e.enqueue(Ke(n,t))}})}}class _e extends x{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){je(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=me(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(Ge(n,e),0),s=12}else r=new d(t.length),s=0;r.set(Ge(n,t),s),e.enqueue(r)}})}}function je(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 re(s[0]),yt:new re(s[2])}),r)for(let e=0;e<r.length;e++)Xe(t,r[e]);else for(let n=0;n<e.length;n++)Xe(t,e.charCodeAt(n))})(t,e,r)}function Ke(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Je(t)^e[r],Xe(t,n[r]);return n}function Ge(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Je(t)^e[r],Xe(t,e[r]);return n}function Xe(t,e){let[,n]=t.keys;t.ht.append([e]);const r=~t.ht.get();n=Ye(a.imul(Ye(n+Qe(r)),134775813)+1),t.yt.append([n>>>24]);const s=~t.yt.get();t.keys=[r,n,s]}function Je(t){const e=2|t.keys[2];return Qe(a.imul(e,1^e)>>>8)}function Qe(t){return 255&t}function Ye(t){return 4294967295&t}function $e(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 tn(t,e){t=$e(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 en(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 nn="Invalid uncompressed size",rn=de,sn="deflate-raw",on="gzip",an=[31,139,8];class cn 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}=t,d=this;let h,p,y,g=super.readable;const b=l&&Kt(l),v=c&&s&&!u&&!b&&(!o||i)&&!(!a||!r);if(o&&!i||!c||v||(h=new se,g=pn(g,h)),s)if(b)g=mn(g,dn(b.CompressionStream,l,{level:f,chunkSize:e,compressionMethod:w}));else if(v)y=new fn,g=mn(g,new r(on)),g=pn(g,y);else try{g=hn(g,a,{level:f,chunkSize:e},r,n)}catch(t){let e;try{e=new r(on)}catch{throw t}g=mn(g,e),g=pn(g,new fn)}o&&(i?g=pn(g,new _e(t)):(p=new Oe(t),g=pn(g,p))),wn(d,g,()=>{o&&!i||!c||(d.crc32=v?y.crc32:new m(h.value.buffer).getUint32(0))})}}class fn 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=oe(n,t));const o=s-8,i=a.min(o,n.length);r.enqueue(oe(n.subarray(0,i),t.subarray(0,o-i))),n=oe(n.subarray(i),t.subarray(o-i))},flush(){const e=ae(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class un 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,k=super.readable;if(o&&(s?k=pn(k,new Ne(t)):(v=new Me(t),k=pn(k,v))),c){const t=l&&Kt(l);if(t)k=mn(k,dn(t.DecompressionStream,l,{chunkSize:e,compressionMethod:h,rawBitFlag:p,uncompressedSize:y}));else try{k=hn(k,f,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===_)throw t;let e;try{e=new r(on)}catch{throw t}k=((t,e,n)=>{const r=new re;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(an),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=ae(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=pn(t,u),pn(t=mn(t,e),l);function h(){p(),s=T(()=>a(new w(nn)),5e3)}function p(){U(s)}})(k,e,y)}k=(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)})})(k)}a&&(b=new se,k=pn(k,b)),wn(this,k,()=>{if(a){const t=new m(b.value.buffer);if(i!=t.getUint32(0,!1))throw new w(rn)}})}}const ln=new c;function wn(t,e,r){e=pn(e,new x({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function dn(t,e,n){if(!t)throw new w("Compression method not supported");return new t(e,n)}function hn(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":sn;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return mn(t,i)}function pn(t,e){return $e(t).pipeThrough(e)}function mn(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 yn="deflate",gn="inflate";class bn extends x{constructor(t,e){super({});const r=this,{codecType:s}=t;let o;s.startsWith(yn)?o=cn:s.startsWith(gn)&&(o=un),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(nn)},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 vn 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 kn{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 vn(ft(o))).pipeThrough(new Sn(a),{signal:d}),writable:r,options:n.assign({},s),workerURI:u,createWorker:l,transferStreams:f,terminate:()=>new g(e=>{const{kt:n,bt:r}=t;n?(r?t.St=e:(n.terminate(),e()),t.xt=null):e()}),zt(){if(t.bt){const{St:e}=t;e&&(t.St=null,t.Rt=!0,t.kt.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(yn),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(n&&n.Dt&&!((t,e)=>{if(!t)return!1;let n=ln.get(t);n||(n=new c,ln.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,sn))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.Dt||(t.useCompressionStream=!0)}}o=new bn(t,s),await e.pipeThrough(o).pipeThrough(new vn(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 Sn extends x{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await xn(t,n)},async transform(t,r){s+=t.length,e&&await xn(e,s,n),r.enqueue(t)},async flush(){r&&await xn(r,s)}})}}async function xn(t,...e){try{await t(...e)}catch{}}let zn=[];const Rn=[];let Dn,Fn,Cn=0;function An(){!Dn&&Rn.length&&s.isFinite(Fn)&&Fn>=0&&(Dn=T(Un,Fn))}function Tn(){Dn&&(U(Dn),Dn=null)}function Un(){if(Dn=null,Rn.length){const[{resolve:t,stream:e,Ft:r}]=Rn.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:_,createWorker:_});t(new kn({},e,s,En)),An()}}function En(){Tn(),An()}function In(t){const{Ct:e}=t;e&&(U(e),t.Ct=null)}const Wn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Mn(t,e){return On(t,e,!0)}function On(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let n=0;n<t.length;n++)e+=Wn[t[n]];return e}})(t):new v(e,{ignoreBOM:n}).decode(t)}const Ln="HTTP error ",Pn="HTTP Range not supported",Bn="HTTP resource changed",Hn="Content-Range",Vn="Range",Zn="GET",qn="bytes",Nn=16777216,_n="writable",jn=Symbol();class Kn{constructor(){this.size=0}init(){this.initialized=!0}}class Gn extends Kn{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 zr(r,t+s,i);c.length&&o.enqueue(c),s+n>=e||!c.length&&i?o.close():s+=n}})}}class Xn extends Kn{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,_n,{get:()=>e})}writeUint8Array(){}}let Jn,Qn;class Yn extends Gn{constructor(t){super(),n.assign(this,{At:t,size:t.size}),Qn||(Qn=(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();Jn=1==e}catch{Jn=!1}})())}createReadable(t){const{At:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};return r||n>s?Jn?$e(e.slice(r,r+s).stream()):super.createReadable(t):$e(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 $n extends Kn{constructor(t){super();const e=this,r=new x;n.defineProperty(e,_n,{get:()=>r.writable}),e.contentType=t,e.Tt=tn(r.readable,t),e.Tt.catch(()=>{})}getData(){return this.Tt}}class tr extends Gn{constructor(t,e){super(),nr(this,t,e)}async init(){await rr(this,pr,lr),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(Pn);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 pr(Zn,t,fr(t,o,e));if(206!=n.status)throw new w(Pn);const f=n.headers.get(Hn);if(f){const t=s(f.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=o)throw new w(Pn)}cr(t,n),ir(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 sr(this,t,e,pr,lr)}}class er extends Gn{constructor(t,e){super(),nr(this,t,e)}async init(){await rr(this,mr,wr),super.init()}readUint8Array(t,e){return sr(this,t,e,mr,wr)}}function nr(t,e,r){const{preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:f=Nn,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 rr(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(Zn,t,fr(t,i?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==qn))throw new w(Pn);{if(i){const e=new d(await r.arrayBuffer());206==r.status&&e.length==H&&(t.Ut=e)}ir(t,r);const s=or(r);s===_?await hr(t,e,n):t.size=s}}else await hr(t,e,n)}async function sr(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(Zn,t,fr(t,e,n));if(206!=o.status)throw new w(Pn);const a=o.headers.get(Hn);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(Pn)}cr(t,o),ir(t,o);const i=new d(await o.arrayBuffer());if(i.length!=n)throw new w(Pn);return i}return X}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function or(t){const e=t.headers.get(Hn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function ar({headers:t}){return{Et:t.get("Etag")||_,lastModified:t.get("Last-Modified")||_}}function ir(t,e){const{checkResourceChanges:n,It:r}=t;n&&!r&&206==e.status&&(t.It=ar(e))}function cr(t,e){const{checkResourceChanges:r,It:s,size:o}=t;if(r){const t=or(e);if(t!==_&&o!==_&&t!=o)throw new w(Bn);if(s){const t=ar(e);if(n.entries(s).some(([e,n])=>n!==_&&t[e]!==_&&n!=t[e]))throw new w(Bn)}}}function fr(t,e=0,r=1){return n.assign({},ur(t),{[Vn]:qn+"="+(0>e?e:e+"-"+(e+r-1))})}function ur({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function lr(t){await dr(t,pr)}async function wr(t){await dr(t,mr)}async function dr(t,e){const n=await e(Zn,t,ur(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function hr(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,ur(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=s(o):await n(t,t.options)}}async function pr(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(Pn):new w(Ln+(a.statusText||a.status))}function mr(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(Pn):new w(Ln+(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 yr extends Gn{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new er(t,e):new tr(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 gr extends Gn{constructor(t){super(),this.Wt=t}async init(){const t=this;t.Mt=0;const e=t.Wt=await g.all(t.Wt.map(xr));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=oe(await zr(c,i,o),await n.readUint8Array(t+o,e-o))}else s=await zr(c,i,e)}else s=X;return n.Mt=a.max(o,n.Mt),s}}class br extends Kn{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===jn)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 Sr(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,_n,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(jn)}finally{t.releaseLock()}}}class vr{constructor(t){return e.isArray(t)&&(t=new gr(t)),(t instanceof z||typeof t.getReader==K)&&(t={readable:$e(t)}),t}}class kr{constructor(t){return t.writable===_&&typeof t.next==K&&(t=new br(t)),(t instanceof R||typeof t.getWriter==K)&&(t={writable:en(t)}),t.size===_&&(t.size=0),t}}async function Sr(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function xr(t){return t=new vr(t),await Sr(t),t.size!==_&&t.readUint8Array||(t=new Yn(await tn(t.readable)),await Sr(t)),t}function zr(t,e,n){return t.readUint8Array(e,n)}const Rr="filename",Dr="rawFilename",Fr="comment",Cr="rawComment",Ar="uncompressedSize",Tr="compressedSize",Ur="offset",Er="diskNumberStart",Ir="lastModDate",Wr="rawLastModDate",Mr="lastAccessDate",Or="rawLastAccessDate",Lr="creationDate",Pr="rawCreationDate",Br=[Rr,Dr,Ar,Tr,Ir,Wr,Fr,Cr,Mr,Or,Lr,Pr,Ur,Er,"internalFileAttributes","externalFileAttributes","internalFileAttribute","externalFileAttribute","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 Hr{constructor(t){Br.forEach(e=>this[e]=t[e])}}const Vr="File format is not recognized",Zr="Encryption method not supported",qr="Compression method not supported",Nr="Split zip file",_r="malformed extra field",jr="wrapped entries count",Kr="appended data",Gr="prepended data",Xr="mismatched zip64 end of central directory record",Jr=/^[a-zA-Z]:/,Qr="utf-8",Yr="cp437",$r=[[Ar,E],[Tr,E],[Ur,E],[Er,I]],ts={[I]:{Pt:Es,bytes:4},[E]:{Pt:Is,bytes:8}},es=o(s.MAX_SAFE_INTEGER);class ns{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:k,rawLastModDate:S,uncompressedSize:x,compressedSize:z}=o,{dataDescriptor:D}=b,F=e.localDirectory={},C=e.warnings=[],A=ds(c,h)+u,U=await zr(c,A,30),E=ae(U);let I=Ds(o,r,"password"),M=Ds(o,r,"rawPassword");const L=Ds(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(qr);if(30>U.length||67324752!=Es(E,0))throw new w("Local file header not found");as(F,E,4);const{extraFieldLength:P,filenameLength:B}=F,H=F.dataOffset=A+30+B+P,V=Ds(o,r,"checkLocalDirectory"),Z=ms(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 zr(c,A+30,B+P);j=t.subarray(0,B),F.rawExtraField=t.subarray(B)}else F.rawExtraField=P?await zr(c,A+30+B,P):X;N&&(F.rawFilename=j),is(o,F,E,4,!0)&&zs(C,_r),((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])||xs(a,s,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&xs(a,s,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&xs(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||xs(a,s,"mismatched local file header (crc32 or sizes)")})(o,F,j,N,q?_:C);const{lastAccessDate:Q,creationDate:$,uid:tt,gid:et}=F;Q&&(e.lastAccessDate=Q),$&&(e.creationDate=$),tt!==_&&e.uid===_&&(e.uid=tt),et!==_&&e.gid===_&&(e.gid=et);const nt=o.encrypted&&F.encrypted&&!L,rt=nt&&!p;if(L||(e.zipCrypto=rt),nt&&!(64&~F.rawBitFlag))throw new w(Zr);const st=L?_:(t=>_t.get(t))(y);if(0!=y&&8!=y&&9!=y&&!st&&!L)throw new w(qr);if(nt){if(!rt&&(1>p.strength||p.strength>3))throw new w(Zr);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=$e(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||_})(Ds(o,r,"signal")),ft=Ds(o,r,"checkPasswordOnly");let ut=Ds(o,r,"checkOverlappingEntry");const lt=Ds(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=Ds(o,r,"useCompressionStream");yt&&(gt=!1);const bt=Ds(o,r,"checkCrc32"),vt=(bt===_?Ds(o,r,"checkSignature"):bt)&&!L&&(!nt||rt||p&&1==p.vendorVersion),kt={options:{codecType:gn,password:I,rawPassword:M,zipCrypto:rt,encryptionStrength:p&&p.strength,checkCrc32:vt,checkAuthenticationCode:Ds(o,r,"checkAuthenticationCode"),passwordVerification:rt&&(D?S>>>8&W:k>>>24&W),outputSize:mt,crc32:k,compressed:pt,encrypted:nt,useWebWorkers:Ds(o,r,"useWebWorkers"),useCompressionStream:gt,transferStreams:Ds(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 St,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 zr(t,i+o,l+4),r=ae(n);let c=n.length==l+4&&Es(r,0)==O;if(c){const t=ws(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=ws(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:k,compressedSize:z,uncompressedSize:x,dataOffset:H,dataDescriptor:D||F.bitFlag.dataDescriptor,extraFieldZip64:m||F.extraFieldZip64,Vt:n});try{if(!lt){ft&&(t=new R),t=new kr(t),await Sr(t,((t,e,n)=>a.min(t,n?1032*e:e))(mt,z,pt)),({writable:St}=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)=>{!jt.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=K&&typeof r!=K)throw new w("Invalid codec module");jt.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),k=h===_||!!n.codecURI;return e.useWebWorkers=!v&&k&&(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=zn.find(t=>!t.bt);if(n)return In(n),new kn(n,t,e,S);if(zn.length<b){const n={Zt:Cn};return Cn++,zn.push(n),new kn(n,t,e,S)}return new g(n=>{Rn.push({resolve:n,stream:t,Ft:e}),Fn=r.workerStarvationTimeout,An()})})()).run();function S(t){if(Tn(),Rn.length){const[{resolve:e,stream:n,Ft:r}]=Rn.splice(0,1);e(new kn(t,n,r,S)),An()}else t.kt?(In(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.Rt?t.Rt=!1:t.Ct=T(async()=>{zn=zn.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):zn=zn.filter(e=>e!=t)}}({readable:at,writable:St},kt);if(t.size+=e,e!=mt)throw new w(nn)}}catch(e){if(e.outputSize!==_&&(t.size+=e.outputSize),!ft||e.message!=pe)throw xt=e,e}finally{const e=!(t=>!(!t||!t.getData))(t)&&Ds(o,r,"preventClose");if(!e&&St&&!St.locked){const t=St.getWriter();if(xt)try{await t.abort(xt)}catch{}else await t.close()}}return ft||lt?_:t.getData?t.getData():St}}function rs(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(134630224==Es(t,n))return!0;return!1}function ss(t,e,n){let r=0;for(;n+46<=e.length&&Es(t,n)==L;)n+=46+Us(t,n+28)+Us(t,n+30)+Us(t,n+32),r++;return r%65536?0:r}function os(t){if(t.length>=6){const e=ae(t);if(84233040==Es(e,0)){const n=Us(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function as(t,e,r){const s=t.rawBitFlag=Us(e,r+2),o=!(1&~s),a=Es(e,r+6);n.assign(t,{encrypted:o,version:Us(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:a,lastModDate:Cs(a),filenameLength:Us(e,r+22),extraFieldLength:Us(e,r+24)})}function is(t,e,r,s,o){const{rawExtraField:a}=e,f=e.extraField=new c,u=ae(a);let l=0,d=!1;try{for(;l<a.length;){const t=Us(u,l),e=Us(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=Us(r,s+4);n.assign(e,{signature:Es(r,s+10),crc32:Es(r,s+10),compressedSize:Es(r,s+14),uncompressedSize:Es(r,s+18)});const p=f.get(1);p&&(((t,e)=>{e.zip64=!0;const n=ae(t.data),r=$r.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+ts[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=ts[i];e[a]=t[a]=c.Pt(n,o),o+=c.bytes}})(p,e),e.extraFieldZip64=p);const m=f.get(28789);m&&(cs(m,Rr,Dr,e,t),e.extraFieldUnicodePath=m);const y=f.get(25461);y&&(cs(y,Fr,Cr,e,t),e.extraFieldUnicodeComment=y);const g=f.get(39169);g&&g.data.length>=7?(((t,e,r)=>{const s=ae(t.data),o=Ts(s,4);n.assign(t,{vendorVersion:Ts(s,0),vendorId:Ts(s,2),strength:o,originalCompressionMethod:r,compressionMethod:Us(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&&(fs(b,e),e.extraFieldPkwareUnix=b);const v=f.get(22613);v&&(fs(v,e),e.extraFieldUnixType1=v);const k=f.get(10);k&&(((t,e)=>{const r=ae(t.data);let s,o=4;try{for(;o<t.data.length&&!s;){const e=Us(r,o),n=Us(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=ae(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:As(o),lastAccessDate:As(a),creationDate:As(i)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:i})}})(k,e),e.extraFieldNTFS=k);const S=f.get(30805);let x;if(S&&(x=us(S,e,!1),e.extraFieldUnix=S),!x){const t=f.get(30837);t&&(us(t,e,!0),e.extraFieldInfoZip=t)}const z=f.get(21589);z&&(((t,e,n)=>{if(!t.data.length)return;const r=ae(t.data),s=Ts(r,0),o=[],a=[];n?(1&~s||(o.push(Ir),a.push(Wr)),2&~s||(o.push(Mr),a.push(Or)),4&~s||(o.push(Lr),a.push(Pr))):5>t.data.length||(o.push(Ir),a.push(Wr));let c=1;o.forEach((n,s)=>{if(t.data.length>=c+4){const o=Es(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 cs(t,e,r,s,o){if(5>t.data.length)return void(t.valid=!1);const a=ae(t.data),i=new re;i.append(o[r]);const c=ae(new d(4));c.setUint32(0,i.get(),!0);const f=Es(a,1),u=Ts(a,0);n.assign(t,{version:u,[e]:Mn(t.data.subarray(5)),valid:1==u&&!o.bitFlag.languageEncodingFlag&&f==Es(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function fs(t,e){if(8>t.data.length)return;const r=ae(t.data),s={lastAccessDate:new i(1e3*(0|Es(r,0))),lastModDate:new i(1e3*(0|Es(r,4)))};12>t.data.length||(s.uid=Us(r,8),s.gid=Us(r,10)),n.assign(t,s),n.assign(e,s)}function us(t,e,r){try{const s=ae(t.data);let o,a;if(r){let e=0;const r=Ts(s,e++),i=Ts(s,e++);o=ls(t.data.subarray(e,e+i)),e+=i;const c=Ts(s,e++);a=ls(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:o,gid:a})}else 4>t.data.length||(o=Us(s,0),a=Us(s,2),n.assign(t,{uid:o,gid:a}));return o!==_&&(e.uid=o),a!==_&&(e.gid=a),o!==_||a!==_}catch{}}function ls(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ws(t,e,n){const r=Es(t,e);let s,o;return n?(s=Is(t,e+4),o=Is(t,e+12)):(s=Es(t,e+4),o=Es(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:o}}function ds(t,e){return t.Lt?t.Lt(e):0}async function hs(t){return Es(ae(await zr(t,0,4)))}function ps(t){return t===J||t===Q||t===Y}function ms(t,e){return ys(t,ys(e,Q))}function ys(t,e){const n=t.strictness;if(n!==_){if(!ps(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 gs(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("\\\\")||Jr.test(t))||e==J&&(n.includes(".")||n.includes(""))}async function*bs(t,e){const n=t.size-e,r=await zr(t,n,e),s=ae(r);for(let t=r.length-H;t>=0;t--)101010256==Es(s,t)&&(yield[s,n,r,t,n+t])}function vs(t,e,n){return{offset:n,buffer:t.slice(e,e+H).buffer}}async function ks(t,e,n,r,s,o,a){const i=Us(e,r+10),c=Es(e,r+12),f=Es(e,r+16);if(i==I||c==E||f==E)return await Ss(t,e,n,s-V,o,a)==B?2:0;if(!i&&!c)return 1;const u=Us(e,r+6);for(const r of[s-c,ds(t,u)+f])if(await Ss(t,e,n,r,o,a)==L)return 2;return 0}async function Ss(t,e,n,r,s,o){return 0>r||r+4>s?_:n>r?o.count>0?(o.count--,Es(ae(await zr(t,r,4)),0)):_:Es(e,r-n)}function xs(t,e,n){t?Rs(n):zs(e,n)}function zs(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==_&&(r.filename=n),t.push(r)}}function Rs(t){const e=new w("Ambiguous archive");throw e.reason=t,e}function Ds(t,e,n){return e[n]===_?t.options[n]:e[n]}function Fs(t,e,n){return $(Ds(t,e,n))}function Cs(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 As(t){return new i(s(t/o(1e4)-o(116444736e5)))}function Ts(t,e){return t.getUint8(e)}function Us(t,e){return t.getUint16(e,!0)}function Es(t,e){return t.getUint32(e,!0)}function Is(t,e){const n=t.getBigUint64(e,!0);if(n>es)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=Yn,t.BlobWriter=$n,t.Data64URIWriter=class extends Xn{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+=S(s):e.qt=s+e.qt}getData(){return this.data+S(this.qt)}},t.HttpRangeReader=class extends yr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends $n{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)=>On(t,e,!1))(new d(await n.arrayBuffer()),t)}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new vr(t),options:e,Vt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Sr(r),r.size!==_&&r.readUint8Array||(r=new Yn(await tn(r.readable)),await Sr(r)),r.size<H)throw new w(Vr);const o=e.warnings=[],i=ms(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})(Ds(e,t,"maxAppendedDataSize"),i),d=((t,e)=>{if(t===_)return e;if(!ps(t))throw new w("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(Ds(e,t,"filenameValidation"),i),h=Ds(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 bs(t,s)){const s=Us(n,l+20);if(w+H+s==r){const s=await ks(t,n,a,l,w,r,o);if(2==s){if(i||(i=vs(u,l,w)),f++,!e||f>1)break}else 1!=s||c||(c=vs(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 bs(t,s)){const s=vs(c,f,u);o||(o=s);const l=await ks(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 hs(t)==M)(r)?new w(Nr):new w("End of central directory not found");u&&m>1&&Rs("multiple end of central directory records");const y=ae(p);let g=Es(y,12),b=Es(y,16);const v=p.offset,k=Us(y,20),S=v+H+k,z=r.size-S;z>l&&Rs(Kr),z>0&&zs(o,Kr);let R=Us(y,4);const D=r.Mt||0;let F,C,A,T,U=Us(y,6),O=Us(y,10),N=0,j=Z;const K=b==E||g==E||O==I||U==I;if(b!=E&&U!=I&&(b+=ds(r,U)),K){const t=p.offset<V?X:await zr(r,p.offset-V,V),e=ae(t);if(t.length==V&&Es(e,0)==B){b=ds(r,Es(e,4))+Is(e,8);let t=await zr(r,b,Z),s=ae(t);const i=p.offset-V-Z;if((t.length<Z||Es(s,0)!=P)&&b!=i&&i>=0){const e=b;b=i,b>e&&(N=b-e),t=await zr(r,b,Z),s=ae(t)}if(t.length<Z||Es(s,0)!=P)throw new w("End of Zip64 central directory locator not found");if(C=!0,A=Is(s,4)>44,A){const t=a.min(Is(s,4)-44,r.size-b-Z);t>0&&(j+=t,T=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=ae(t),s=Us(r,26);n.assign(e,{compressionMethod:Us(r,0),compressedSize:Is(r,2),uncompressedSize:Is(r,10),encryptionAlgorithm:Us(r,18),bitLength:Us(r,20),flags:Us(r,22),hashAlgorithm:Us(r,24),hashData:t.subarray(28,28+s)})}return e})(await zr(r,b+Z,t)))}R==I?R=Es(s,16):R!=Es(s,16)&&xs(c,o,Xr),U==I?U=Es(s,20):U!=Es(s,20)&&xs(c,o,Xr),O==I?O=Is(s,32):O!=Is(s,32)&&xs(c,o,Xr),g==E?g=Is(s,40):g!=Is(s,40)&&xs(c,o,Xr),b=ds(r,U)+Is(s,48)+N}}let G=g;const Q=p.offset-(C?j+V:0);if(b<r.size||(N=r.size-b-g-H,b=r.size-g-H),D!=R)throw new w(Nr);if(0>b)throw new w(Vr);let $=0,et=await zr(r,b,g),nt=ae(et);if(g){if(4>et.length)throw new w(Vr);const t=Q-g;if(b!=t&&U==R){let e=!(Es(nt,$)==L||T&&T.compressedSize||rs(nt));if(e||0>t||t+4>r.size||(e=Es(ae(await zr(r,t,4)),0)==L),e){const e=b;b=t,b>e&&(N+=b-e),et=await zr(r,b,g),nt=ae(et)}}}const rt=Q-b;if(g==rt||0>rt||U!=R||(g=rt,et=await zr(r,b,g),nt=ae(et)),0>b||b>=r.size)throw new w(Vr);e.directoryOffset=b,e.directoryLength=G;const st=Fs(e,t,"decryptCentralDirectory");let ot,at;if(st&&O&&et.length>=4&&Es(nt,0)!=L&&(A||rs(nt))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&n>=r?r:n})(T,G,et.length);at=et.subarray(t),et=await st(et.subarray(0,t),T),nt=ae(et),G=et.length,ot=!0}!T||ot||et.length>=4&&Es(nt,0)!=L||zs(o,"unknown zip64 extensible data"),F=b;const it=Ds(e,t,"filenameEncoding"),ct=Ds(e,t,"commentEncoding"),ft=new f;let ut,lt=-1;const wt=!c&&!C;!O&&wt&&(O=ss(nt,et,$),O&&zs(o,jr));for(let s=0;O>s;s++){const i=new ns(r,e.options);if($+46>et.length||Es(nt,$)!=L){if(0==s&&!ot&&(A||rs(nt)))throw new w("Encrypted central directory is not supported");throw new w("Central directory header not found")}as(i,nt,$+6);const c=!!i.bitFlag.languageEncodingFlag,f=$+46,u=f+i.filenameLength,l=u+i.extraFieldLength,p=Us(nt,$+4),m=!(p>>8),y=p>>8==3,g=et.subarray(f,u),b=Us(nt,$+32),v=l+b,k=et.subarray(l,v),S=c,z=c,R=Es(nt,$+38),D=R&W,C={readOnly:!!(1&D),hidden:!!(2&D),system:!!(4&D),directory:!!(16&D),archive:!!(32&D)},T=Es(nt,$+42),U=Fs(e,t,"decodeText")||Mn,E=S?Qr:it||Yr,M=z?Qr:ct||Yr;let P=U(g,E,"filename");if(P===_&&(P=Mn(g,E)),h){const t=h(P);t!==_&&(P=t)}if(gs(P,d)){const t=new w("Unsafe filename");throw t.filename=P,t}let B=U(k,M,"comment");B===_&&(B=Mn(k,M)),n.assign(i,{index:s,Bt:ot,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:b,offset:T,diskNumberStart:Us(nt,$+34),internalFileAttributes:Us(nt,$+36),externalFileAttributes:R,msdosAttributesRaw:D,msdosAttributes:C,rawFilename:g,filenameUTF8:S,commentUTF8:z,rawExtraField:et.subarray(u,l),rawComment:k,filename:P,comment:B}),is(i,i,nt,$+6)&&zs(o,_r,P),i.offset+=N;const H=ds(r,i.diskNumberStart)+i.offset;F=a.min(H,F),lt>H&&zs(o,"unsorted central directory",P),lt=H,(i.version&W)>63&&zs(o,"unknown version needed to extract",P),32&~i.rawBitFlag||zs(o,"compressed patched data",P),ft.has(i.filename)&&(ut=!0),ft.add(i.filename);const V=i.externalFileAttributes>>16&I;i.unixMode===_&&16877&V&&(i.unixMode=V);const Z=!!(2048&i.unixMode),j=!!(1024&i.unixMode),K=!!(512&i.unixMode),G=40960==((i.unixMode===_?V:i.unixMode)&q),X=!G&&(i.unixMode!==_?!!(73&i.unixMode):y&&!!(73&V)),J=i.unixMode!==_&&16384==(i.unixMode&q),Q=16384==(V&q);n.assign(i,{setuid:Z,setgid:j,sticky:K,symlink:G,unixExternalUpper:V,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:X,directory:J||Q||m&&C.directory||i.filename.endsWith("/"),zipCrypto:i.encrypted&&!i.extraFieldAES});const Y=new Hr(i);if(Y.getData=(t,n)=>i.getData(t,Y,e.Vt,n),Y.arrayBuffer=async t=>{const n=new x,r=tn(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,Y,e.Vt,t),r},$=v,s==O-1&&wt){const t=ss(nt,et,$);t&&(O+=t,zs(o,jr))}const{onprogress:tt}=t;if(tt)try{await tt(s+1,O,new Hr(i))}catch{}yield Y}let dt=$,ht=os(et.subarray($))||(ot?os(at):_);if(!ht&&!ot){const t=b+$,e=a.min(Q-t,65541);6>e||(ht=os(await zr(r,t,e)))}ht&&(e.digitalSignature=ht,dt=$+6+ht.length),($!=G&&dt!=G||!ot&&$!=g&&dt!=g)&&xs(c,o,"trailing central directory data"),ut&&xs(c,o,"duplicate filename");const pt=Ds(e,t,"extractPrependedData"),mt=Ds(e,t,"extractAppendedData"),yt=(c||pt)&&O&&4==F&&await(async t=>{const e=await hs(t);return e==M||808471376==e})(r)?4:0;return c&&(N||O&&F>yt)&&Rs(Gr),(N||O&&F>4)&&zs(o,Gr),pt&&(e.prependedData=F>yt?await zr(r,yt,F-yt):X),e.comment=k?await zr(r,v+H,k):X,mt&&(e.appendedData=S<r.size?await zr(r,S,r.size-S):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)});
|