single-file-core 1.5.129 → 1.6.0
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 +27 -1
- package/core/index.js +34 -21
- package/core/infobar.js +7 -7
- package/core/lib/processor-helper-inline.js +1 -1
- package/core/lib/processor-helper.js +1 -1
- package/package.json +1 -1
- package/processors/compression/compression.js +2 -1
- package/processors/frame-tree/content/content-frame-tree.js +1 -1
- package/processors/hooks/content/content-hooks-frames-web.js +48 -38
- package/processors/hooks/content/content-hooks-frames.js +28 -27
- package/processors/lazy/content/content-lazy-loader.js +10 -10
- package/single-file.js +10 -9
- package/test/capture/canonical-link.js +50 -0
- package/test/capture/common.js +1 -0
- package/test/capture/deferred-content-options.js +71 -0
- package/test/capture/dom.js +13 -1
- package/test/capture/maff-metadata.js +205 -0
- package/test/capture/script-uri-sanitization.js +82 -0
- package/test/sfz-harness/pages-archive.js +5 -2
- package/vendor/zip/z-worker.js +1 -1
- package/vendor/zip/zip.js +707 -951
- package/vendor/zip/zip.min.js +1 -1
- package/zip-build/package-lock.json +4 -4
- package/zip-build/package.json +1 -1
- package/zip-build/reserved-property-names.json +4 -0
- package/zip-build/rollup.config.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:I,clearTimeout:T}="undefined"!=typeof globalThis?globalThis:this||self,U=4294967295,E=65535,W=255,M=134695760,O=M,L=33639248,P=101075792,B=117853008,H=22,V=20,Z=56,q=61440,N=new i(1980,0,1),_=void 0,j="undefined",K="function",G="string",X="boolean",J=new d,Q=Symbol.asyncDispose||Symbol(),Y="strict",$="balanced",tt="tolerant";function et(t){if(t&&typeof t!=K)throw new w("Invalid option (must be a function)");return t}function nt(t){return typeof t==G&&t.trim()?s(t):t}let rt=2;try{typeof F!=j&&F.hardwareConcurrency&&(rt=F.hardwareConcurrency)}catch{}const st={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=j&&C,DecompressionStream:typeof D!=j&&D},ot="maxWorkers",at="baseURI",it=["wasmURI","workerURI"],ct=["chunkSize",ot,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ft=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ut=[at,...it,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ft],lt={...st};function wt(){return lt}function dt(t){return ht(t.chunkSize)}function ht(t){return t=nt(t),s.isInteger(t)&&t>=1?a.max(t,64):65536}function pt(t){const e={};for(const n of ut){const r=t[n];r!==_&&(e[n]=mt(n,r))}return e}function mt(t,e){if(ct.includes(t)){if(e=nt(e),t==ot&&(!s.isInteger(e)||1>e))throw new w("Invalid maxWorkers (must be an integer greater than 0)")}else if(ft.includes(t))et(e);else if(t==at){if(e&&typeof e!=G)throw new w("Invalid baseURI (must be a string)")}else if(it.includes(t)&&e&&typeof e!=G&&typeof e!=K)throw new w("Invalid URI (must be a string or a function returning a string)");return e}function yt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===_&&r===_)return t;const s=n.assign({},t);return s.CompressionStreamFallback===_&&(s.CompressionStreamFallback=e),s.DecompressionStreamFallback===_&&(s.DecompressionStreamFallback=r),s}var gt=d,bt=h,vt=Int32Array,St=new gt([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),kt=new gt([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),zt=new gt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),xt=(t,e)=>{for(var n=new bt(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new vt(n[30]);for(r=1;30>r;++r)for(var o=n[r];o<n[r+1];++o)s[o]=o-n[r]<<5|r;return{b:n,r:s}},Rt=xt(St,2),Ct=Rt.b,Dt=Rt.r;Ct[28]=258,Dt[258]=28;for(var Ft=xt(kt,0).b,At=new bt(32768),It=0;32768>It;++It){var Tt=(43690&It)>>1|(21845&It)<<1;Tt=(61680&(Tt=(52428&Tt)>>2|(13107&Tt)<<2))>>4|(3855&Tt)<<4,At[It]=((65280&Tt)>>8|(255&Tt)<<8)>>1}var Ut=(t,e,n)=>{for(var r=t.length,s=0,o=new bt(e);r>s;++s)t[s]&&++o[t[s]-1];var a,i=new bt(e);for(s=1;e>s;++s)i[s]=i[s-1]+o[s-1]<<1;if(n){a=new bt(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var f=s<<4|t[s],u=e-t[s],l=i[t[s]-1]++<<u,w=l|(1<<u)-1;w>=l;++l)a[At[l]>>c]=f}else for(a=new bt(r),s=0;r>s;++s)t[s]&&(a[s]=At[i[t[s]-1]++]>>15-t[s]);return a},Et=new gt(288);for(It=0;144>It;++It)Et[It]=8;for(It=144;256>It;++It)Et[It]=9;for(It=256;280>It;++It)Et[It]=7;for(It=280;288>It;++It)Et[It]=8;var Wt=new gt(32);for(It=0;32>It;++It)Wt[It]=5;var Mt=Ut(Et,9,1),Ot=Ut(Wt,5,1),Lt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},Pt=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Bt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},Ht=t=>(t+7)/8|0,Vt=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new gt(t.subarray(e,n))),Zt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],qt=(t,e,n)=>{var r=new w(e||Zt[t]);if(r.code=t,w.captureStackTrace&&w.captureStackTrace(r,qt),!n)throw r;return r},Nt=(t,e,n,r)=>{var s=t.length,o=r?r.length:0;if(!s||e.f&&!e.o)return n||new gt(0);var i=!n,c=i||2!=e.i,f=e.i;i&&(n=new gt(3*s));var u=t=>{var e=n.length;if(t>e){var r=new gt(a.max(2*e,t));r.set(n),n=r}},l=e.f||0,w=e.p||0,d=e.b||0,h=e.o,p=e.d,m=e.l,y=e.n,g=8*s;do{if(!h){l=Pt(t,w,1);var b=Pt(t,w+1,3);if(w+=3,!b){var v=t[(T=Ht(w)+4)-4]|t[T-3]<<8,S=T+v;if(S>s){f&&qt(0);break}c&&u(d+v),n.set(t.subarray(T,S),d),e.b=d+=v,e.p=w=8*S,e.f=l;continue}if(1==b)h=Mt,p=Ot,m=9,y=5;else if(2==b){var k=Pt(t,w,31)+257,z=Pt(t,w+10,15)+4,x=k+Pt(t,w+5,31)+1;w+=14;for(var R=new gt(x),C=new gt(19),D=0;z>D;++D)C[zt[D]]=Pt(t,w+3*D,7);w+=3*z;var F=Lt(C),A=(1<<F)-1,I=Ut(C,F,1);for(D=0;x>D;){var T,U=I[Pt(t,w,A)];if(w+=15&U,16>(T=U>>4))R[D++]=T;else{var E=0,W=0;for(16==T?(W=3+Pt(t,w,3),w+=2,E=R[D-1]):17==T?(W=3+Pt(t,w,7),w+=3):18==T&&(W=11+Pt(t,w,127),w+=7);W--;)R[D++]=E}}var M=R.subarray(0,k),O=R.subarray(k);m=Lt(M),y=Lt(O),h=Ut(M,m,1),p=Ut(O,y,1)}else qt(1);if(w>g){f&&qt(0);break}}c&&u(d+131072);for(var L=(1<<m)-1,P=(1<<y)-1,B=w;;B=w){var H=(E=h[Bt(t,w)&L])>>4;if((w+=15&E)>g){f&&qt(0);break}if(E||qt(2),256>H)n[d++]=H;else{if(256==H){B=w,h=null;break}var V=H-254;if(H>264){var Z=St[D=H-257];V=Pt(t,w,(1<<Z)-1)+Ct[D],w+=Z}var q=p[Bt(t,w)&P],N=q>>4;if(q||qt(3),w+=15&q,O=Ft[N],N>3&&(Z=kt[N],O+=Bt(t,w)&(1<<Z)-1,w+=Z),w>g){f&&qt(0);break}c&&u(d+131072);var _=d+V;if(O>d){var j=o-O,K=a.min(O,_);for(0>j+d&&qt(3);K>d;++d)n[d]=r[j+d]}for(;_>d;++d)n[d]=n[d-O]}}e.o=h,e.p=B,e.b=d,e.f=l,h&&(l=1,e.l=m,e.d=p,e.n=y)}while(!l);return d!=n.length&&i?Vt(n,0,d):n.subarray(0,d)},_t=new gt(0),jt=function(){function t(t,e){"function"==typeof t&&(e=t,t={}),this.h=e;var n=t&&t.m&&t.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new gt(32768),this.p=new gt(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||qt(5),this.d&&qt(4),this.p.length){if(t.length){var e=new gt(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length),this.p=e}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var e=this.s.b,n=Nt(this.p,this.s,this.v);this.h(Vt(n,e,this.s.b),this.d),this.v=Vt(n,this.s.b-32768),this.s.b=this.v.length,this.p=Vt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),Kt=void 0!==v&&new v;try{Kt.decode(_t,{stream:!0})}catch(t){}class Gt extends z{constructor(t){super({start(e){t.h=t=>{t.length&&e.enqueue(t)}},transform(e){t.push(e)},flush(){t.push(new d(0),!0)}})}}const Xt="Compression method not supported",Jt=new c,Qt=new c;function Yt(t){return Qt.get(t)}const $t=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;$t[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=$t[e-1][t];$t[e][t]=n>>>8^$t[0][255&n]}const[te,ee,ne,re,se,oe,ae,ie]=$t;class ce{constructor(t){this.S=t||-1}append(t){let e=0|this.S;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const s=new m(t.buffer,t.byteOffset,n),o=n-8;for(;o>=r;r+=8){const t=e^s.getInt32(r,!0),n=s.getInt32(r+4,!0);e=ie[255&t]^ae[t>>>8&255]^oe[t>>>16&255]^se[t>>>24&255]^re[255&n]^ne[n>>>8&255]^ee[n>>>16&255]^te[n>>>24&255]}}for(;n>r;r++)e=e>>>8^te[255&(e^t[r])];this.S=e}get(){return~this.S}}class fe extends z{constructor(){let t;const e=new ce;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function ue(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function le(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const we={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=we.R(n);return 32===r?t.concat(e):we.C(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+we.R(n)},D(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,a.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=we.F(e,t[n-1]&2147483648>>e-1,1)),t},F:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>a.round(t/1099511627776)||32,C(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,o=we.R(s);return r.push(we.F(e+o&31,e+o>32?n:r.pop(),1)),r}},de={bytes:{A(t){const e=we.bitLength(t)/8,n=new d(e);let r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},I(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(we.F(8*(3&n),r)),e}}},he=class{constructor(t){const e=this;e.blockSize=512,e.T=[1732584193,4023233417,2562383102,271733878,3285377520],e.U=[1518500249,1859775393,2400959708,3395469782],t?(e.W=t.W.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.W=t.T.slice(0),t.M=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=de.L.I(t));const n=e.M=we.concat(e.M,t),r=e.O,s=e.O=r+we.bitLength(t);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const o=new p(n);let a=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=t;t+=e.blockSize)e.P(o.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}B(){const t=this;let e=t.M;const n=t.W;e=we.concat(e,[we.F(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(a.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.P(e.splice(0,16));return t.reset(),n}H(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}P(t){const n=this,r=n.W,s=e(80);for(let e=0;16>e;e++)s[e]=t[e];let o=r[0],i=r[1],c=r[2],f=r[3],u=r[4];for(let t=0;79>=t;t++){16>t||(s[t]=n.V(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=n.V(5,o)+n.H(t,i,c,f)+u+s[t]+n.U[a.floor(t/20)]|0;u=f,f=c,c=n.V(30,i),i=o,o=e}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+f|0,r[4]=r[4]+u|0}},pe={importKey:t=>new pe.Z(de.bytes.I(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let o,a,i,c,f;const u=new ArrayBuffer(s),l=new m(u);let d=0;const h=we;for(e=de.bytes.I(e),f=1;(s||1)>d;f++){for(o=a=t.encrypt(h.concat(e,[f])),i=1;n>i;i++)for(a=t.encrypt(a),c=0;c<a.length;c++)o[c]^=a[c];for(i=0;(s||1)>d&&i<o.length;i++)l.setInt32(d,o[i]),d+=4}return u.slice(0,r/8)},Z:class{constructor(t){const e=this,n=e._=he,r=[[],[]];e.j=[new n,new n];const s=e.j[0].blockSize/32;t.length>s&&(t=(new n).update(t).B());for(let e=0;s>e;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){const t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){const t=this,e=t.K.B(),n=new t._(t.j[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.G)throw new w("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},me=typeof S!=j&&typeof S.getRandomValues==K,ye="Invalid password",ge="zipjs-abort-check-password";function be(t){if(me)return S.getRandomValues(t);throw new w("Crypto API not supported")}const ve=16,Se={name:"PBKDF2"},ke=n.assign({hash:{name:"HMAC"}},Se),ze=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Se),xe=["deriveBits"],Re=[8,12,16],Ce=[16,24,32],De=10,Fe=[0,0,0,0],Ae=typeof S!=j,Ie=Ae&&S.subtle,Te=Ae&&typeof Ie!=j,Ue=de.bytes,Ee=class{constructor(t){const e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();const n=e.X[0][4],r=e.X[1],s=t.length;let o,a,i,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(e.U=[a=t.slice(0),i=[]],o=s;4*s+28>o;o++){let t=a[o-1];(o%s===0||8===s&&o%s===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],o%s===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),a[o]=a[o-s]^t}for(let t=0;o;t++,o--){const e=a[3&t?o:o-4];i[t]=4>=o||4>t?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){const t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],o=[];let a,i,c,f;for(let t=0;256>t;t++)o[(s[t]=t<<1^283*(t>>7))^t]=t;for(let u=a=0;!n[u];u^=i||1,a=o[a]||1){let o=a^a<<1^a<<2^a<<3^a<<4;o=o>>8^255&o^99,n[u]=o,r[o]=u,f=s[c=s[i=s[u]]];let l=16843009*f^65537*c^257*i^16843008*u,w=257*s[o]^16843008*o;for(let n=0;4>n;n++)t[n][u]=w=w<<24^w>>>8,e[n][o]=l=l<<24^l>>>8}for(let n=0;5>n;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}Y(t,e){if(4!==t.length)throw new w("invalid aes block size");const n=this.U[e],r=n.length/4-2,s=[0,0,0,0],o=this.X[e],a=o[0],i=o[1],c=o[2],f=o[3],u=o[4];let l,d,h,p=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],b=4;for(let t=0;r>t;t++)l=a[p>>>24]^i[m>>16&255]^c[y>>8&255]^f[255&g]^n[b],d=a[m>>>24]^i[y>>16&255]^c[g>>8&255]^f[255&p]^n[b+1],h=a[y>>>24]^i[g>>16&255]^c[p>>8&255]^f[255&m]^n[b+2],g=a[g>>>24]^i[p>>16&255]^c[m>>8&255]^f[255&y]^n[b+3],b+=4,p=l,m=d,y=h;for(let t=0;4>t;t++)s[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&g]^n[b++],l=p,p=m,m=y,y=g,g=l;return s}},We=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){0===(t[0]=this.ot(t[0]))&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];const s=we.bitLength(e);for(let s=0;r>s;s+=4){this.it(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return we.D(e,s)}},Me=pe.Z;let Oe=Ae&&Te&&typeof Ie.importKey==K,Le=Ae&&Te&&typeof Ie.deriveBits==K;class Pe extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){He(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:o,ct:a,ready:i}=n;s?(await(async(t,e,n,r)=>{const s=await Ze(t,e,n,Ne(r,0,Re[e])),o=Ne(r,Re[e]);if(s[0]!=o[0]||s[1]!=o[1])throw new w(ye)})(n,o,s,Ne(t,0,Re[o]+2)),t=Ne(t,Re[o]+2),r?e.error(new w(ge)):a()):await i;const c=new d(t.length-De-(t.length-De)%ve);e.enqueue(Ve(n,t,c,0,De,!0))},async flush(t){const{ft:e,ut:n,lt:r,ready:o}=this;if(n&&e){await o;const a=Ne(r,0,r.length-De),i=Ne(r,r.length-De);let c=J;if(a.length){const t=je(Ue,a);n.update(t);const r=e.update(t);c=_e(Ue,r)}const f=Ne(_e(Ue,n.digest()),0,De);let u=r.length<De?1:0;for(let t=0;De>t;t++)u|=f[t]^i[t];if(u&&s)throw new w("Invalid authentication code");t.enqueue(c)}}})}}class Be extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){He(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,ct:o,ready:a}=n;let i=J;r?(i=await(async(t,e,n)=>{const r=be(new d(Re[e]));return ue(r,await Ze(t,e,n,r))})(n,s,r),o()):await a;const c=new d(i.length+t.length-t.length%ve);c.set(i,0),e.enqueue(Ve(n,t,c,i.length,0))},async flush(t){const{ft:e,ut:n,lt:r,ready:s}=this;if(n&&e){await s;let o=J;if(r.length){const t=e.update(je(Ue,r));n.update(t),o=_e(Ue,t)}const a=_e(Ue,n.digest()).slice(0,De);t.enqueue(ue(o,a))}}})}}function He(t,e,r,s){n.assign(t,{ready:new g(e=>t.ct=e),password:qe(e,r),strength:s-1,lt:J})}function Ve(t,e,n,r,s,o){const{ft:a,ut:i,lt:c}=t;c.length&&(e=ue(c,e));const f=e.length-s;let u;for(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new d(e)).set(n,0)}return t})(n,r+(f-f%ve)),u=0;f-ve>=u;u+=ve){const t=je(Ue,Ne(e,u,u+ve));o&&i.update(t);const s=a.update(t);o||i.update(s),n.set(_e(Ue,s),u+r)}return t.lt=Ne(e,u),n}async function Ze(t,r,s,o){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!Oe)return pe.importKey(e);try{return await Ie.importKey("raw",e,n,!1,s)}catch{return Oe=!1,pe.importKey(e)}})(0,s,ke,0,xe),i=await(async(t,e,n)=>{if(!Le)return pe.N(e,t.salt,ze.iterations,n);try{return await Ie.deriveBits(t,e,n)}catch{return Le=!1,pe.N(e,t.salt,ze.iterations,n)}})(n.assign({salt:o},ze),a,8*(2*Ce[r]+2)),c=new d(i),f=je(Ue,Ne(c,0,Ce[r])),u=je(Ue,Ne(c,Ce[r],2*Ce[r])),l=Ne(c,2*Ce[r]);return n.assign(t,{keys:{key:f,wt:u,passwordVerification:l},ft:new We(new Ee(f),e.from(Fe)),ut:new Me(u)}),l}function qe(t,e){return e===_?(t=>{if(typeof b==j){const e=new d((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)})(t):e}function Ne(t,e,n){return t.subarray(e,n)}function _e(t,e){return t.A(e)}function je(t,e){return t.I(e)}class Ke extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){Xe(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=Je(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(ye);t=t.subarray(12)}r?e.error(new w(ge)):e.enqueue(Je(n,t))}})}}class Ge extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){Xe(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=be(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(Qe(n,e),0),s=12}else r=new d(t.length),s=0;r.set(Qe(n,t),s),e.enqueue(r)}})}}function Xe(t,e,r,s){n.assign(t,{password:e,rawPassword:r,passwordVerification:s}),((t,e,r)=>{const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,ht:new ce(s[0]),yt:new ce(s[2])}),r)for(let e=0;e<r.length;e++)Ye(t,r[e]);else for(let n=0;n<e.length;n++)Ye(t,e.charCodeAt(n))})(t,e,r)}function Je(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=$e(t)^e[r],Ye(t,n[r]);return n}function Qe(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=$e(t)^e[r],Ye(t,e[r]);return n}function Ye(t,e){let[,n]=t.keys;t.ht.append([e]);const r=~t.ht.get();n=en(a.imul(en(n+tn(r)),134775813)+1),t.yt.append([n>>>24]);const s=~t.yt.get();t.keys=[r,n,s]}function $e(t){const e=2|t.keys[2];return tn(a.imul(e,1^e)>>>8)}function tn(t){return 255&t}function en(t){return 4294967295&t}function nn(t){if(t instanceof x)return t;const e=t.getReader();return new x({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function rn(t,e){t=nn(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=K||new y([]).stream()instanceof x)return new u(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function sn(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const on="Invalid uncompressed size",an="deflate-raw",cn="gzip",fn=[31,139,8];class un extends z{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:o,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:f,deflate64:u,format:l,compressionMethod:w,inputSize:d}=t,h=this;let p,y,g,b=super.readable;const v=l&&Yt(l),S=c&&s&&!u&&!v&&(!o||i)&&!(!a||!r);if(o&&!i||!c||S||(p=new fe,b=yn(b,p)),s)if(v)b=gn(b,pn(v.CompressionStream,l,{level:f,chunkSize:e,compressionMethod:w,uncompressedSize:d}));else if(S)g=new ln,b=gn(b,new r(cn)),b=yn(b,g);else try{b=mn(b,a,{level:f,chunkSize:e},r,n)}catch(t){let e;try{e=new r(cn)}catch{throw t}b=gn(b,e),b=yn(b,new ln)}o&&(i?b=yn(b,new Ge(t)):(y=new Be(t),b=yn(b,y))),hn(h,b,()=>{o&&!i||!c||(h.crc32=S?g.crc32:new m(p.value.buffer).getUint32(0))})}}class ln extends z{constructor(){let t,e=10,n=new d(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(8>=s)return void(n=ue(n,t));const o=s-8,i=a.min(o,n.length);r.enqueue(ue(n.subarray(0,i),t.subarray(0,o-i))),n=ue(n.subarray(i),t.subarray(o-i))},flush(){const e=le(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class wn extends z{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:o,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:u,format:l,compressionMethod:h,rawBitFlag:p,outputSize:y}=t;let b,v,S=super.readable;if(o&&(s?S=yn(S,new Ke(t)):(v=new Pe(t),S=yn(S,v))),c){const t=l&&Yt(l);if(t)S=gn(S,pn(t.DecompressionStream,l,{chunkSize:e,compressionMethod:h,rawBitFlag:p,uncompressedSize:y}));else try{S=mn(S,f,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===_)throw t;let e;try{e=new r(cn)}catch{throw t}S=((t,e,n)=>{const r=new ce;let s,o,a,i=0,c=!1;const f=new g((t,e)=>{o=t,a=e});f.catch(()=>{}),n||o();const u=new z({start(t){const e=new d(10);e.set(fn),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,h();try{await f}finally{p()}const e=new d(8),s=le(e);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),t.enqueue(e)},cancel(t){a(t)}}),l=new z({transform(t,e){r.append(t),i+=t.length,n>i?c&&h():o(),e.enqueue(t)},cancel(t){a(t)}});return t=yn(t,u),yn(t=gn(t,e),l);function h(){p(),s=I(()=>a(new w(on)),5e3)}function p(){T(s)}})(S,e,y)}S=(t=>{const e=t.getReader();return new x({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new w("Invalid compressed data");throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})})(S)}a&&(b=new fe,S=yn(S,b)),hn(this,S,()=>{if(a){const t=new m(b.value.buffer);if(i!=t.getUint32(0,!1))throw new w("Invalid CRC32")}})}}const dn=new c;function hn(t,e,r){e=yn(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function pn(t,e,n){if(!t)throw new w(Xt);return new t(e,n)}function mn(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":an;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return gn(t,i)}function yn(t,e){return nn(t).pipeThrough(e)}function gn(t,e){const n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(n,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(r,t)}})(),e.readable}const bn="deflate",vn="inflate";class Sn extends z{constructor(t,e){super({});const r=this,{codecType:s}=t;let o;s.startsWith(bn)?o=un:s.startsWith(vn)&&(o=wn),r.outputSize=0;let a=0;const i=new o(t,e),c=super.readable,f=new z({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),u=new z({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==_&&r.outputSize>t.outputSize))throw new w(on)},flush(){const{crc32:t}=i;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(f).pipeThrough(i).pipeThrough(u)})}}class kn extends z{constructor(t){const e=[];let r=0,o=0;function a(){const n=new d(t);let s=0;for(;t>s;){const r=e[0],o=t-s;r.length>o?(n.set(r.subarray(0,o),s),e[0]=r.subarray(o),s+=o):(n.set(r,s),s+=r.length,e.shift())}return r-=t,n}s.isFinite(t)&&t>=1||(t=65536),super({transform(n,s){for(e.push(n),r+=n.length;r>t;)o+=t,s.enqueue(a())},flush(t){r&&(o+=r,t.enqueue(((t,e)=>{const n=new d(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,r)))}}),n.defineProperty(this,"outputSize",{get:()=>o})}}function zn(t){return!!t&&"object"==typeof t}class xn{constructor(t,{readable:e,writable:r},s,o){const{options:a,config:i,gt:f,useWebWorkers:u,transferStreams:l,workerURI:w}=s;let{createWorker:d}=s;const{signal:h}=f;return n.assign(t,{bt:!0,vt:(t.vt||0)+1,readable:e.pipeThrough(new kn(dt(i))).pipeThrough(new Rn(f),{signal:h}),writable:r,options:n.assign({},a),St:s,workerURI:w,createWorker:d,transferStreams:l,terminate:()=>new g(e=>{const{kt:n,bt:r}=t;n?(r?t.zt=e:(n.terminate(),e()),t.xt=null):e()}),Rt(){if(t.bt){const{zt:e}=t;e&&(t.zt=null,t.Ct=!0,t.kt.terminate(),e()),t.bt=!1,o(t)}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,Rt:r,St:s},o)=>{let a,i;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(bn),n=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(n&&n.Dt&&!((t,e)=>{if(!t)return!1;let n=dn.get(t);n||(n=new c,dn.set(t,n));let r=n.get(e);if(r===_){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,an))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.Dt||(t.useCompressionStream=!0)}}a=new Sn(t,o),i=new kn(dt(o)),await e.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:f}=a;return{crc32:r,inputSize:s,outputSize:f}}catch(t){if(a){const e=i?i.outputSize:0;if(s.outputSize=e,zn(t))try{t.outputSize=e}catch{}}throw t}finally{r()}})(t,e)}))(t,i)}}class Rn extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await Cn(t,n)},async transform(t,r){s+=t.length,e&&await Cn(e,s,n),r.enqueue(t)},async flush(){r&&await Cn(r,s)}})}}async function Cn(t,...e){try{await t(...e)}catch{}}let Dn=[];const Fn=[];let An,In,Tn=0;function Un(){!An&&Fn.length&&s.isFinite(In)&&In>=0&&(An=I(Wn,In))}function En(){An&&(T(An),An=null)}function Wn(){if(An=null,Fn.length){const[{resolve:t,stream:e,St:r}]=Fn.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:_,createWorker:_});t(new xn({},e,s,Mn)),Un()}}function Mn(){En(),Un()}function On(t){const{Ft:e}=t;e&&(T(e),t.Ft=null)}const Ln="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Pn(t,e){return Bn(t,e,!0)}function Bn(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{let e="";for(let n=0;n<t.length;n++)e+=Ln[t[n]];return e})(t):new v(e,{ignoreBOM:n}).decode(t)}const Hn="HTTP error ",Vn="HTTP Range not supported",Zn="HTTP resource changed",qn="Content-Range",Nn="Range",_n="GET",jn="bytes",Kn=16777216,Gn="writable",Xn=Symbol();class Jn{constructor(){this.size=0}init(){this.initialized=!0}}class Qn extends Jn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=dt(wt())}={}){const r=this;let s=0;return n=ht(n),new x({async pull(o){const i=e===_?n:a.min(n,e-s),c=await Dr(r,t+s,i);c.length&&(o.enqueue(c),s+=c.length),(e!==_&&s>=e||!c.length&&i)&&o.close()}})}}class Yn extends Jn{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new w("Writer not initialized");return t.writeUint8Array((n=e).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(t,Gn,{get:()=>e})}writeUint8Array(){}}let $n,tr;class er extends Qn{constructor(t){super(),n.assign(this,{At:t,size:t.size}),tr||(tr=(async()=>{try{const t=new y([new d(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();$n=1==e}catch{$n=!1}})())}createReadable(t){const{At:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};if(typeof e.stream==K){if(!r&&s>=n)return nn(e.stream());if($n)return nn(e.slice(r,r+s).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,s=t||r<n.size?n.At.slice(t,r):n.At;let o=await s.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,r)),new d(o)}}class nr extends Jn{constructor(t){super();const e=this,r=new z;n.defineProperty(e,Gn,{get:()=>r.writable}),e.contentType=t,e.It=rn(r.readable,t),e.It.catch(()=>{})}getData(){return this.It}}class rr extends Qn{constructor(t,e){super(),or(this,t,e)}async init(){await ar(this,gr,hr),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=e;if((n||r)&&o!==_){const{offset:n=0,size:r=o-n}=t||{};if(r>0&&o>n)return((t,e,n)=>{let r,o=e,i=0,c=n;return new x({start:()=>f(),async pull(t){r||await f();const{value:e,done:n}=await r.read();if(n)throw new w(Vn);const s=e.length>i?e.subarray(0,i):e;i-=s.length,c-=s.length,s.length&&t.enqueue(s),i||(await(async()=>{const t=r;r=_,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function f(){const e=a.min(t.maximumRangeSize,c),n=await gr(_n,t,wr(t,o,e));if(206!=n.status)throw new w(Vn);const f=n.headers.get(qn);if(f){const t=s(f.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=o)throw new w(Vn)}lr(t,n),ur(t,n),o+=e,i=e,r=n.body.getReader()}})(e,n,a.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return ir(this,t,e,gr,hr)}}class sr extends Qn{constructor(t,e){super(),or(this,t,e)}async init(){await ar(this,br,pr),super.init()}readUint8Array(t,e){return ir(this,t,e,br,pr)}}function or(t,e,r){const{preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:f=Kn,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:f,fetch:u})}async function ar(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=wt(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(o||a)&&(typeof s==j||s)){const r=await e(_n,t,wr(t,i?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==jn))throw new w(Vn);{if(i){const e=new d(await r.arrayBuffer());206==r.status&&e.length==H&&(t.Tt=e)}ur(t,r);const s=cr(r);s===_?await yr(t,e,n):t.size=s}}else await yr(t,e,n)}async function ir(t,e,n,r,o){const{useRangeHeader:a,forceRangeRequests:i,Tt:c,size:f,options:u}=t;if(a||i){if(c&&e==f-H&&n==H)return c;if(f>e&&0!==n){e+n>f&&(n=f-e);const o=await r(_n,t,wr(t,e,n));if(206!=o.status)throw new w(Vn);const a=o.headers.get(qn);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(Vn)}lr(t,o),ur(t,o);const i=new d(await o.arrayBuffer());if(i.length!=n)throw new w(Vn);return i}return J}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function cr(t){const e=t.headers.get(qn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function fr({headers:t}){return{Ut:t.get("Etag")||_,lastModified:t.get("Last-Modified")||_}}function ur(t,e){const{checkResourceChanges:n,Et:r}=t;n&&!r&&206==e.status&&(t.Et=fr(e))}function lr(t,e){const{checkResourceChanges:r,Et:s,size:o}=t;if(r){const t=cr(e);if(t!==_&&o!==_&&t!=o)throw new w(Zn);if(s){const t=fr(e);if(n.entries(s).some(([e,n])=>n!==_&&t[e]!==_&&n!=t[e]))throw new w(Zn)}}}function wr(t,e=0,r=1){return n.assign({},dr(t),{[Nn]:jn+"="+(0>e?e:e+"-"+(e+r-1))})}function dr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function hr(t){await mr(t,gr)}async function pr(t){await mr(t,br)}async function mr(t,e){const n=await e(_n,t,dr(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function yr(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,dr(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=s(o):await n(t,t.options)}}async function gr(t,{fetch:e=fetch,options:r,url:s},o){const a=await e(s,n.assign({},r,{method:t,headers:o}));if(200>a.status||a.status>299)throw 416==a.status?new w(Vn):new w(Hn+(a.statusText||a.status));return a}function br(t,{url:e},r){return new g((s,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)o(416==a.status?new w(Vn):new w(Hn+(a.statusText||a.status)));else{const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new w("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class vr extends Qn{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new sr(t,e):new rr(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Sr extends Qn{constructor(t){super(),this.Wt=t}async init(){const t=this;t.Mt=0;const e=t.Wt=await g.all(t.Wt.map(Cr));t.Ot=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}Lt(t){const{Ot:e,size:n}=this,r=e[t];return r===_?n:r}async readUint8Array(t,e){const n=this,{Wt:r}=this;let s,o=0,i=t;for(;r[o]&&i>=r[o].size;)i-=r[o].size,o++;const c=r[o];if(c){const r=c.size;if(i+e>r){const o=r-i;s=ue(await Dr(c,i,o),await n.readUint8Array(t+o,e-o))}else s=await Dr(c,i,e)}else s=J;return n.Mt=a.max(o,n.Mt),s}}class kr extends Jn{constructor(t,e=4294967295){super();const r=this;let s,o,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new R({async write(e){if(e===Xn)return void(a&&await f());const{availableSize:n}=r;if(a)e.length<n?await c(e):(await c(e.subarray(0,n)),await f(),e.length>n&&await this.write(e.subarray(n)));else{const{value:n,done:i}=await t.next();if(i&&!n)throw new w("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Rr(s),o=n.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),s.size+=e,r.availableSize-=e)}async function f(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}n.defineProperty(r,Gn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Xn)}finally{t.releaseLock()}}}class zr{constructor(t){return e.isArray(t)&&(t=new Sr(t)),(t instanceof x||typeof t.getReader==K)&&(t={readable:nn(t)}),t}}class xr{constructor(t){t.writable===_&&typeof t.next==K&&(t=new kr(t)),(t instanceof R||typeof t.getWriter==K)&&(t={writable:sn(t)});try{t.size=t.size===_?0:t.size}catch{throw new w("Invalid writer (size must be writable)")}return t}}async function Rr(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function Cr(t){return t=new zr(t),await Rr(t),t.size!==_&&t.readUint8Array||(t=new er(await rn(t.readable)),await Rr(t)),t}function Dr(t,e,n){return t.readUint8Array(e,n)}function Fr(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==_&&(r.filename=n),t.push(r)}}const Ar="filename",Ir="rawFilename",Tr="comment",Ur="rawComment",Er="uncompressedSize",Wr="compressedSize",Mr="offset",Or="diskNumberStart",Lr="lastModDate",Pr="rawLastModDate",Br="lastAccessDate",Hr="rawLastAccessDate",Vr="creationDate",Zr="rawCreationDate",qr=[Ar,Ir,Er,Wr,Lr,Pr,Tr,Ur,Br,Hr,Vr,Zr,Mr,Or,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Nr{constructor(t){qr.forEach(e=>this[e]=t[e])}}const _r="File format is not recognized",jr="Encryption method not supported",Kr="Split zip file",Gr="malformed extra field",Xr="wrapped entries count",Jr="appended data",Qr="prepended data",Yr="mismatched zip64 end of central directory record",$r=/^[a-zA-Z]:/,ts="utf-8",es="cp437",ns=[[Er,U],[Wr,U],[Mr,U],[Or,E]],rs={[E]:{Pt:Ws,bytes:4},[U]:{Pt:Ms,bytes:8}},ss=o(s.MAX_SAFE_INTEGER);class os{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,r,o={}){const i=this,c=wt(),{reader:f,index:u,offset:h,diskNumberStart:p,extraFieldAES:m,extraFieldZip64:y,compressionMethod:b,bitFlag:v,rawBitFlag:S,crc32:k,rawLastModDate:z,uncompressedSize:x,compressedSize:C}=i,{dataDescriptor:D}=v,F=e.localDirectory={},A=e.warnings=[],T=ms(f,p)+h,U=await Dr(f,T,30),E=le(U);let M=Fs(i,o,"password"),L=Fs(i,o,"rawPassword");const P=(t=>{if(t!==_&&typeof t!=X&&"compressed"!==t)throw new w("Invalid passThrough option (must be a boolean or 'compressed')");return t})(Fs(i,o,"passThrough")),B=!!P,H=!0===P;if(((t,e)=>{if(t&&typeof t!=G||e&&!(e instanceof d))throw new w("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(M,L),M=M&&M.length&&M,L=L&&L.length&&L,m&&99!=m.originalCompressionMethod)throw new w(Xt);if(30>U.length||67324752!=Ws(E,0))throw new w("Local file header not found");fs(F,E,4);const{extraFieldLength:V,filenameLength:Z}=F,q=F.dataOffset=T+30+Z+V,N=Fs(i,o,"checkLocalDirectory"),j=bs(o,i.options),Q=((t,e)=>t===_?e!=tt:!!t)(N,j),$=Fs(i,o,"checkLocalFilename"),et=((t,e)=>t===_?e==Y:!!t)($===_?N:$,j);let nt=J;if(et&&(Z||V)){const t=await Dr(f,T+30,Z+V);nt=t.subarray(0,Z),F.rawExtraField=t.subarray(Z)}else F.rawExtraField=V?await Dr(f,T+30+Z,V):J;et&&(F.rawFilename=nt),us(i,F,E,4,!0)&&Fr(A,Gr),((t,e,n,r,s)=>{const{rawFilename:o}=t,a=!s,i=t.Bt&&!(8192&~e.rawBitFlag);!r||i||n.length==o.length&&!n.some((t,e)=>t!=o[e])||Cs(a,s,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Cs(a,s,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Cs(a,s,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Cs(a,s,"mismatched local file header (crc32 or sizes)")})(i,F,nt,et,Q?_:A);const{lastAccessDate:rt,creationDate:st,uid:ot,gid:at}=F;rt&&(e.lastAccessDate=rt),st&&(e.creationDate=st),ot!==_&&e.uid===_&&(e.uid=ot),at!==_&&e.gid===_&&(e.gid=at);const it=Fs(i,o,"checkPasswordOnly"),ct=i.encrypted&&F.encrypted&&(!H||it),ft=ct&&!m;if(H||(e.zipCrypto=ft),ct&&!(64&~F.rawBitFlag))throw new w(jr);const ut=B?_:(t=>Jt.get(t))(b);if(0!=b&&8!=b&&9!=b&&!ut&&!B)throw new w(Xt);if(ct){if(!ft&&(1>m.strength||m.strength>3))throw new w(jr);if(!M&&!L)throw new w("File contains encrypted entry")}if(q+C>f.size)throw new w("Entry data out of bounds");const lt=C,dt=nn(f.createReadable({offset:q,size:lt})),ht=(t=>{if(t&&(typeof t.addEventListener!=K||typeof t.aborted!=X))throw new w("Invalid signal (must be an AbortSignal instance)");return t||_})(Fs(i,o,"signal"));(t=>{if(t&&t.aborted)throw t.reason===_?new DOMException("The operation was aborted","AbortError"):t.reason})(ht);let pt=Fs(i,o,"checkOverlappingEntry");const mt=Fs(i,o,"checkOverlappingEntryOnly");mt&&(pt=!0);const{onstart:yt,onprogress:gt,onend:bt}=o,vt=0!=b&&!B,St=B?C-((t,e,n)=>t?e?12:16+4*n:0)(ct,ft,m&&m.strength):x,kt=9==b;let zt=Fs(i,o,"useCompressionStream");kt&&(zt=!1);const xt=Fs(i,o,"checkCrc32"),Rt=(xt===_?Fs(i,o,"checkSignature"):xt)&&!B&&(!ct||ft||m&&1==m.vendorVersion),Ct={options:{codecType:vn,password:M,rawPassword:L,zipCrypto:ft,encryptionStrength:m&&m.strength,checkCrc32:Rt,checkAuthenticationCode:Fs(i,o,"checkAuthenticationCode"),passwordVerification:ft&&(D?z>>>8&W:k>>>24&W),outputSize:St,crc32:k,compressed:vt,encrypted:ct,useWebWorkers:Fs(i,o,"useWebWorkers"),useCompressionStream:zt,transferStreams:Fs(i,o,"transferStreams"),deflate64:kt,format:ut?ut.format:_,codecURI:ut?ut.codecURI:_,compressionMethod:b,rawBitFlag:S,checkPasswordOnly:it},config:c,gt:{signal:ht,size:lt,onstart:yt,onprogress:gt,onend:bt}};let Dt,Ft,At;pt&&await(async({reader:t,Ht:e,index:n,offset:r,crc32:s,compressedSize:o,uncompressedSize:a,dataOffset:i,dataDescriptor:c,extraFieldZip64:f,Vt:u})=>{let l=0;if(c&&(l=f?20:12),l){const n=await Dr(t,i+o,l+4),r=le(n);let c=n.length==l+4&&Ws(r,0)==O;if(c){const t=ps(r,4,f);(e.encrypted&&!e.zipCrypto||t.crc32==s)&&t.compressedSize==o&&t.uncompressedSize==a?l+=4:c=!1}if(n.length>=l){const t=ps(r,c?4:0,f);t.signature=c,e.localDirectory.dataDescriptor=t}}const d={start:r,end:i+o+l,Ht:e};for(const[t,e]of u)if(t!=n&&d.start<e.end&&e.start<d.end){const t=new w("Overlapping entry found");throw t.overlappingEntry=e.Ht,t}u.set(n,d)})({reader:f,Ht:e,index:u,offset:T,crc32:k,compressedSize:C,uncompressedSize:x,dataOffset:q,dataDescriptor:D||F.bitFlag.dataDescriptor,extraFieldZip64:y||F.extraFieldZip64,Vt:r});try{if(!mt){it&&(t=new R),t=new xr(t),await Rr(t,((t,e,n)=>a.min(t,n?1032*e:e))(St,C,vt)),({writable:Dt}=t);const{outputSize:e}=await async function(t,e){const{options:n,config:r}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:c,checkCrc32:f,computeCrc32:u,encrypted:d,format:h,codecURI:p}=n,{workerURI:m,createWorker:y,maxWorkers:b}=r;h&&(p&&(n.codecURI=((t,e)=>{try{return new l(t,e).toString()}catch{return t}})(p,r.baseURI)),await(async(t,e)=>{!Qt.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=K&&typeof r!=K)throw new w("Invalid codec module");Qt.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(h,n.codecURI)),e.transferStreams=!h&&(o||o===_&&r.transferStreams);const v=!(c||f||u||d),S=h===_||!!n.codecURI;return e.useWebWorkers=!v&&S&&(a||a===_&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:_,e.createWorker=e.useWebWorkers&&y?y:_,n.useCompressionStream=i||i===_&&r.useCompressionStream,(await(async()=>{const n=Dn.find(t=>!t.bt);if(n)return On(n),new xn(n,t,e,k);if(Dn.length<b){const n={Zt:Tn};return Tn++,Dn.push(n),new xn(n,t,e,k)}return new g(n=>{Fn.push({resolve:n,stream:t,St:e}),In=r.workerStarvationTimeout,Un()})})()).run();function k(t){if(En(),Fn.length){const[{resolve:e,stream:n,St:r}]=Fn.splice(0,1);e(new xn(t,n,r,k)),Un()}else t.kt?(On(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.Ct?t.Ct=!1:t.Ft=I(async()=>{Dn=Dn.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):Dn=Dn.filter(e=>e!=t)}}({readable:dt,writable:Dt},Ct);if(e!=St)throw n.assign(new w(on),{outputSize:e});t.size+=e}}catch(e){const{outputSize:n}=Ct;if(n!==_?t.size+=n:zn(e)&&e.outputSize!==_&&(t.size+=e.outputSize),!it||!zn(e)||e.message!=ge)throw Ft=e,At=!0,e}finally{const e=!(t=>!(!t||!t.getData))(t)&&Fs(i,o,"preventClose");if(!e&&Dt&&!Dt.locked){const t=Dt.getWriter();if(At)try{await t.abort(Ft)}catch{}else await t.close()}}return it||mt?_:t.getData?t.getData():Dt}}function as(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(134630224==Ws(t,n))return!0;return!1}function is(t,e,n){let r=0;for(;n+46<=e.length&&Ws(t,n)==L;)n+=46+Es(t,n+28)+Es(t,n+30)+Es(t,n+32),r++;return r%65536?0:r}function cs(t){if(t.length>=6){const e=le(t);if(84233040==Ws(e,0)){const n=Es(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function fs(t,e,r){const s=t.rawBitFlag=Es(e,r+2),o=!(1&~s),a=Ws(e,r+6);n.assign(t,{encrypted:o,version:Es(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:a,lastModDate:Is(a),filenameLength:Es(e,r+22),extraFieldLength:Es(e,r+24)})}function us(t,e,r,s,o){const{rawExtraField:a}=e,f=e.extraField=new c,u=le(a);let l=0,d=!1;try{for(;l<a.length;){const t=Es(u,l),e=Es(u,l+2);f.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{d=!0}l>a.length&&(d=!0);const h=Es(r,s+4);n.assign(e,{signature:Ws(r,s+10),crc32:Ws(r,s+10),compressedSize:Ws(r,s+14),uncompressedSize:Ws(r,s+18)});const p=f.get(1);p&&(((t,e)=>{e.zip64=!0;const n=le(t.data),r=ns.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+rs[e].bytes,0);if(t.data.length<s)throw new w("Zip64 extra field not found");for(let s=0,o=0;s<r.length;s++){const[a,i]=r[s],c=rs[i];e[a]=t[a]=c.Pt(n,o),o+=c.bytes}})(p,e),e.extraFieldZip64=p);const m=f.get(28789);m&&(ls(m,Ar,Ir,e,t),e.extraFieldUnicodePath=m);const y=f.get(25461);y&&(ls(y,Tr,Ur,e,t),e.extraFieldUnicodeComment=y);const g=f.get(39169);g&&g.data.length>=7?(((t,e,r)=>{const s=le(t.data),o=Us(s,4);n.assign(t,{vendorVersion:Us(s,0),vendorId:Us(s,2),strength:o,originalCompressionMethod:r,compressionMethod:Es(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=_)})(g,e,h),e.extraFieldAES=g):e.compressionMethod=h;const b=f.get(13);b&&(ws(b,e),e.extraFieldPkwareUnix=b);const v=f.get(22613);v&&(ws(v,e),e.extraFieldUnixType1=v);const S=f.get(10);S&&(((t,e)=>{const r=le(t.data);let s,o=4;try{for(;o<t.data.length&&!s;){const e=Es(r,o),n=Es(r,o+2);1==e&&(s=t.data.slice(o+4,o+4+n)),o+=4+n}}catch{}if(s&&24==s.length){const r=le(s),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:Ts(o),lastAccessDate:Ts(a),creationDate:Ts(i)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:i})}})(S,e),e.extraFieldNTFS=S);const k=f.get(30805);let z;if(k&&(z=ds(k,e,!1),e.extraFieldUnix=k),!z){const t=f.get(30837);t&&(ds(t,e,!0),e.extraFieldInfoZip=t)}const x=f.get(21589);x&&(((t,e,n)=>{if(!t.data.length)return;const r=le(t.data),s=Us(r,0),o=[],a=[];n?(1&~s||(o.push(Lr),a.push(Pr)),2&~s||(o.push(Br),a.push(Hr)),4&~s||(o.push(Vr),a.push(Zr))):5>t.data.length||(o.push(Lr),a.push(Pr));let c=1;o.forEach((n,s)=>{if(t.data.length>=c+4){const o=Ws(r,c);e[n]=t[n]=new i(1e3*(0|o));const f=a[s];t[f]=o}c+=4})})(x,e,o),e.extraFieldExtendedTimestamp=x);const R=f.get(6534);return R&&(e.extraFieldUSDZ=R),d}function ls(t,e,r,s,o){if(5>t.data.length)return void(t.valid=!1);const a=le(t.data),i=new ce;i.append(o[r]);const c=le(new d(4));c.setUint32(0,i.get(),!0);const f=Ws(a,1),u=Us(a,0);n.assign(t,{version:u,[e]:Pn(t.data.subarray(5)),valid:1==u&&!o.bitFlag.languageEncodingFlag&&f==Ws(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function ws(t,e){if(8>t.data.length)return;const r=le(t.data),s={lastAccessDate:new i(1e3*(0|Ws(r,0))),lastModDate:new i(1e3*(0|Ws(r,4)))};12>t.data.length||(s.uid=Es(r,8),s.gid=Es(r,10)),n.assign(t,s),n.assign(e,s)}function ds(t,e,r){try{const s=le(t.data);let o,a;if(r){let e=0;const r=Us(s,e++),i=Us(s,e++);o=hs(t.data.subarray(e,e+i)),e+=i;const c=Us(s,e++);a=hs(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:o,gid:a})}else 4>t.data.length||(o=Es(s,0),a=Es(s,2),n.assign(t,{uid:o,gid:a}));return o!==_&&(e.uid=o),a!==_&&(e.gid=a),o!==_||a!==_}catch{}}function hs(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ps(t,e,n){const r=Ws(t,e);let s,o;return n?(s=Ms(t,e+4),o=Ms(t,e+12)):(s=Ws(t,e+4),o=Ws(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:o}}function ms(t,e){return t.Lt?t.Lt(e):0}async function ys(t){return Ws(le(await Dr(t,0,4)))}function gs(t){return t===Y||t===$||t===tt}function bs(t,e){return vs(t,vs(e,$))}function vs(t,e){const n=t.strictness;if(n!==_){if(!gs(n))throw new w("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t.checkAmbiguity;return r===_?e:r?Y:e==tt?tt:$}function Ss(t,e){if(e==tt)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||$r.test(t))||e==Y&&(n.includes(".")||n.includes(""))}async function*ks(t,e){const n=t.size-e,r=await Dr(t,n,e),s=le(r);for(let t=r.length-H;t>=0;t--)101010256==Ws(s,t)&&(yield[s,n,r,t,n+t])}function zs(t,e,n){return{offset:n,buffer:t.slice(e,e+H).buffer}}async function xs(t,e,n,r,s,o,a){const i=Es(e,r+10),c=Ws(e,r+12),f=Ws(e,r+16);if(i==E||c==U||f==U)return await Rs(t,e,n,s-V,o,a)==B?2:0;if(!i&&!c)return 1;const u=Es(e,r+6);for(const r of[s-c,ms(t,u)+f])if(await Rs(t,e,n,r,o,a)==L)return 2;return 0}async function Rs(t,e,n,r,s,o){return 0>r||r+4>s?_:n>r?o.count>0?(o.count--,Ws(le(await Dr(t,r,4)),0)):_:Ws(e,r-n)}function Cs(t,e,n){t?Ds(n):Fr(e,n)}function Ds(t){const e=new w("Ambiguous archive");throw e.reason=t,e}function Fs(t,e,n){return e[n]===_?t.options[n]:e[n]}function As(t,e,n){return et(Fs(t,e,n))}function Is(t){const e=(4294901760&t)>>16,n=t&E,r=new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return N>r?N:r}function Ts(t){return new i(s(t/o(1e4)-o(116444736e5)))}function Us(t,e){return t.getUint8(e)}function Es(t,e){return t.getUint16(e,!0)}function Ws(t,e){return t.getUint32(e,!0)}function Ms(t,e){const n=t.getBigUint64(e,!0);if(n>ss)throw new w("64-bit value exceeds Number.MAX_SAFE_INTEGER");return s(n)}(t=>{const e=pt(yt(t));n.assign(st,e),n.assign(lt,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends Gt{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new jt)}}}),t.BlobReader=er,t.BlobWriter=nr,t.Data64URIWriter=class extends Yn{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",qt:""})}writeUint8Array(t){const e=this;let n,s=e.qt;const o=e.qt.length;for(e.qt="",n=0;n<3*a.floor((o+t.length)/3)-o;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.qt+=r.fromCharCode(t[n]);s.length>2?e.data+=k(s):e.qt=s+e.qt}getData(){return this.data+k(this.qt)}},t.HttpRangeReader=class extends vr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends nr{constructor(t){super(),n.assign(this,{encoding:t,Nt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Nt:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>Bn(t,e,!1))(new d(await n.arrayBuffer()),t)}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new zr(t),options:e,Vt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Rr(r),r.size!==_&&r.readUint8Array||(r=new er(await rn(r.readable)),await Rr(r)),r.size<H)throw new w(_r);const o=e.warnings=[],i=bs(t,e.options),c=i==Y,u=i!=tt,l=((t,e)=>{if(t!==_){const e=nt(t);if("number"!=typeof e||s.isNaN(e)||0>e)throw new w("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return e==Y?0:e==tt?1/0:E})(Fs(e,t,"maxAppendedDataSize"),i),d=((t,e)=>{if(t===_)return e;if(!gs(t))throw new w("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(Fs(e,t,"filenameValidation"),i),h=Fs(e,t,"normalizeFilename"),{_t:p,jt:m}=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,65557),o={count:64};let i,c,f=0;for await(const[n,a,u,l,w]of ks(t,s)){const s=Es(n,l+20);if(w+H+s==r){const s=await xs(t,n,a,l,w,r,o);if(2==s){if(i||(i=zs(u,l,w)),f++,!e||f>1)break}else 1!=s||c||(c=zs(u,l,w))}}return i||(i=c),i||(i=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,e==1/0?r:65557+e);let o,i;for await(const[e,a,c,f,u]of ks(t,s)){const s=zs(c,f,u);o||(o=s);const l=await xs(t,e,a,f,u,r,n);if(2==l)return s;1!=l||i||(i=s)}return i||o})(t,n,o)),{_t:i,jt:f}})(r,u,l);if(!p)throw await(async t=>await ys(t)==M)(r)?new w(Kr):new w("End of central directory not found");u&&m>1&&Ds("multiple end of central directory records");const y=le(p);let g=Ws(y,12),b=Ws(y,16);const v=p.offset,S=Es(y,20),k=v+H+S,x=r.size-k;x>l&&Ds(Jr),x>0&&Fr(o,Jr);let R=Es(y,4);const C=r.Mt||0;let D,F,A,I,T,O=Es(y,6),N=Es(y,10),j=0,K=Z;const G=b==U||g==U||N==E||O==E;if(b!=U&&O!=E&&(b+=ms(r,O)),G){const t=p.offset<V?J:await Dr(r,p.offset-V,V),e=le(t);if(t.length==V&&Ws(e,0)==B){b=ms(r,Ws(e,4))+Ms(e,8);let t=await Dr(r,b,Z),s=le(t);const i=p.offset-V-Z;if((t.length<Z||Ws(s,0)!=P)&&b!=i&&i>=0){const e=b;b=i,b>e&&(j=b-e),t=await Dr(r,b,Z),s=le(t)}if(t.length<Z||Ws(s,0)!=P)throw new w("End of Zip64 central directory locator not found");if(A=!0,I=Ms(s,4)>44,I){const t=a.min(Ms(s,4)-44,r.size-b-Z);t>0&&(K+=t,T=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=le(t),s=Es(r,26);n.assign(e,{compressionMethod:Es(r,0),compressedSize:Ms(r,2),uncompressedSize:Ms(r,10),encryptionAlgorithm:Es(r,18),bitLength:Es(r,20),flags:Es(r,22),hashAlgorithm:Es(r,24),hashData:t.subarray(28,28+s)})}return e})(await Dr(r,b+Z,t)))}R==E?R=Ws(s,16):R!=Ws(s,16)&&Cs(c,o,Yr),O==E?O=Ws(s,20):O!=Ws(s,20)&&Cs(c,o,Yr),N==E?N=Ms(s,32):N!=Ms(s,32)&&Cs(c,o,Yr),g==U?g=Ms(s,40):g!=Ms(s,40)&&Cs(c,o,Yr),b=ms(r,O)+Ms(s,48)+j}}let X=g;const Q=p.offset-(A?K+V:0);if(b<r.size||(j=r.size-b-g-H,b=r.size-g-H),C!=R)throw new w(Kr);if(0>b)throw new w(_r);let $=0,et=await Dr(r,b,g),rt=le(et);if(g){if(4>et.length)throw new w(_r);const t=Q-g;if(b!=t&&O==R){const e=Ws(rt,$)==L||!(!T||!T.compressedSize)||as(rt);let n=!e;if(n||0>t||t+4>r.size||(n=Ws(le(await Dr(r,t,4)),0)==L),n){const n=b;b=t,b>n&&(j+=b-n,D=e),et=await Dr(r,b,g),rt=le(et)}}}const st=Q-b;if(g==st||0>st||O!=R||(g=st,et=await Dr(r,b,g),rt=le(et)),0>b||b>=r.size)throw new w(_r);e.directoryOffset=b,e.directoryLength=X;const ot=As(e,t,"decryptCentralDirectory");let at,it;if(ot&&N&&et.length>=4&&Ws(rt,0)!=L&&(I||as(rt))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&n>=r?r:n})(T,X,et.length);it=et.subarray(t),et=await ot(et.subarray(0,t),T),rt=le(et),X=et.length,at=!0}!T||at||et.length>=4&&Ws(rt,0)!=L||Fr(o,"unknown zip64 extensible data"),F=b;const ct=Fs(e,t,"filenameEncoding"),ft=Fs(e,t,"commentEncoding"),ut=new f;let lt,wt=-1;const dt=!c&&!A;!N&&dt&&(N=is(rt,et,$),N&&Fr(o,Xr));for(let s=0;N>s;s++){const i=new os(r,e.options);if($+46>et.length||Ws(rt,$)!=L){if(0==s&&!at&&(I||as(rt)))throw new w("Encrypted central directory is not supported");throw new w("Central directory header not found")}fs(i,rt,$+6);const c=!!i.bitFlag.languageEncodingFlag,f=$+46,u=f+i.filenameLength,l=u+i.extraFieldLength,p=Es(rt,$+4),m=!(p>>8),y=p>>8==3,g=et.subarray(f,u),b=Es(rt,$+32),v=l+b,S=et.subarray(l,v),k=c,x=c,R=Ws(rt,$+38),C=R&W,D={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},A=Ws(rt,$+42),T=As(e,t,"decodeText")||Pn,U=k?ts:ct||es,M=x?ts:ft||es;let O=T(g,U,"filename");if(O===_&&(O=Pn(g,U)),h){const t=h(O);t!==_&&(O=t)}if(Ss(O,d)){const t=new w("Unsafe filename");throw t.filename=O,t}let P=T(S,M,"comment");P===_&&(P=Pn(S,M)),n.assign(i,{index:s,Bt:at,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:b,offset:A,diskNumberStart:Es(rt,$+34),internalFileAttributes:Es(rt,$+36),externalFileAttributes:R,msdosAttributesRaw:C,msdosAttributes:D,rawFilename:g,filenameUTF8:k,commentUTF8:x,rawExtraField:et.subarray(u,l),rawComment:S,filename:O,comment:P}),us(i,i,rt,$+6)&&Fr(o,Gr,O),i.offset+=j;const B=ms(r,i.diskNumberStart)+i.offset;F=a.min(B,F),wt>B&&Fr(o,"unsorted central directory",O),wt=B,(i.version&W)>63&&Fr(o,"unknown version needed to extract",O),32&~i.rawBitFlag||Fr(o,"compressed patched data",O),ut.has(i.filename)&&(lt=!0),ut.add(i.filename);const H=i.externalFileAttributes>>16&E;i.unixMode===_&&16877&H&&(i.unixMode=H);const V=!!(2048&i.unixMode),Z=!!(1024&i.unixMode),K=!!(512&i.unixMode),G=40960==((i.unixMode===_?H:i.unixMode)&q),X=!G&&(i.unixMode!==_?!!(73&i.unixMode):y&&!!(73&H)),J=i.unixMode!==_&&16384==(i.unixMode&q),Q=16384==(H&q);n.assign(i,{setuid:V,setgid:Z,sticky:K,symlink:G,unixExternalUpper:H,executable:X,directory:J||Q||m&&D.directory||i.filename.endsWith("/"),zipCrypto:i.encrypted&&!i.extraFieldAES});const Y=new Nr(i);if(Y.getData=(t,n)=>i.getData(t,Y,e.Vt,n),Y.arrayBuffer=async t=>{const r=new z,s=rn(r.readable).then(t=>t.arrayBuffer());return s.catch(()=>{}),await i.getData(r,Y,e.Vt,n.assign({},t,{preventClose:!1})),s},$=v,s==N-1&&dt){const t=is(rt,et,$);t&&(N+=t,Fr(o,Xr))}const{onprogress:tt}=t;if(tt)try{await tt(s+1,N,new Nr(i))}catch{}yield Y}let ht=$,pt=cs(et.subarray($))||(at?cs(it):_);if(!pt&&!at){const t=b+$,e=a.min(Q-t,65541);6>e||(pt=cs(await Dr(r,t,e)))}pt&&(e.digitalSignature=pt,ht=$+6+pt.length),($!=X&&ht!=X||!at&&$!=g&&ht!=g)&&Cs(c,o,"trailing central directory data"),lt&&Cs(c,o,"duplicate filename");const mt=Fs(e,t,"extractPrependedData"),yt=Fs(e,t,"extractAppendedData"),gt=(c||mt)&&N&&4==F&&await(async t=>{const e=await ys(t);return e==M||808471376==e})(r)?4:0;return c&&(j||N&&F>gt)&&Ds(Qr),(j||N&&F>4)&&Fr(o,Qr),D&&Fr(o,"prepended central directory"),mt&&(e.prependedData=F>gt?await Dr(r,gt,F-gt):J),e.comment=S?await Dr(r,v+H,S):J,yt&&(e.appendedData=k<r.size?await Dr(r,k,r.size-k):J),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[Q](){return this.close()}},t.configure=t=>{n.assign(lt,pt(yt(t)))},t.inflateRaw=(t,e)=>Nt(t,{i:2},e&&e.Gt,e&&e.m)});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:o,BigInt:s,Math:a,Date:i,Map:c,Set:u,Response:f,URL:w,Error:l,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:x,ReadableStream:z,WritableStream:R,CompressionStream:D,DecompressionStream:C,navigator:A,Worker:F,setTimeout:I,clearTimeout:U}="undefined"!=typeof globalThis?globalThis:self,T=4294967295,E=65535,W=255,M=134695760,O=M,L=33639248,P=101075792,H=117853008,B=22,V=20,Z=56,q=61440,N=new i(1980,0,1),j=void 0,G="undefined",K="function",X="string",_="boolean",$=new d,J=Symbol.asyncDispose||Symbol(),Q="strict",Y="balanced",ee="tolerant";function te(e){if(e&&typeof e!=K)throw new l("Invalid option (must be a function)");return e}function ne(e){return typeof e==X&&e.trim()?o(e):e}let re=2;try{typeof A!=G&&A.hardwareConcurrency&&(re=A.hardwareConcurrency)}catch{}const oe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:re,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof D!=G&&D,DecompressionStream:typeof C!=G&&C},se="maxWorkers",ae="baseURI",ie=["wasmURI","workerURI"],ce=["chunkSize",se,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ue=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],fe=[ae,...ie,"useCompressionStream","useWebWorkers","transferStreams",...ce,...ue],we={...oe};function le(){return we}function de(e){return pe(e.chunkSize)}function pe(e){return e=ne(e),o.isInteger(e)&&e>=1?a.max(e,64):65536}function he(e){const t={};for(const n of fe){const r=e[n];r!==j&&(t[n]=me(n,r))}return t}function me(e,t){if(ce.includes(e)){if(t=ne(t),e==se&&(!o.isInteger(t)||1>t))throw new l("Invalid maxWorkers (must be an integer greater than 0)")}else if(ue.includes(e))te(t);else if(e==ae){if(t&&typeof t!=X)throw new l("Invalid baseURI (must be a string)")}else if(ie.includes(e)&&t&&typeof t!=X&&typeof t!=K)throw new l("Invalid URI (must be a string or a function returning a string)");return t}function ye(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===j&&r===j)return e;const o=n.assign({},e);return o.CompressionStreamFallback===j&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===j&&(o.DecompressionStreamFallback=r),o}var ge=d,be=p,ve=Int32Array,Se=new ge([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]),ke=new ge([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]),xe=new ge([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ze=(e,t)=>{for(var n=new be(31),r=0;31>r;++r)n[r]=t+=1<<e[r-1];var o=new ve(n[30]);for(r=1;30>r;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},Re=ze(Se,2),De=Re.b,Ce=Re.r;De[28]=258,Ce[258]=28;for(var Ae=ze(ke,0).b,Fe=new be(32768),Ie=0;32768>Ie;++Ie){var Ue=(43690&Ie)>>1|(21845&Ie)<<1;Ue=(61680&(Ue=(52428&Ue)>>2|(13107&Ue)<<2))>>4|(3855&Ue)<<4,Fe[Ie]=((65280&Ue)>>8|(255&Ue)<<8)>>1}var Te=(e,t,n)=>{for(var r=e.length,o=0,s=new be(t);r>o;++o)e[o]&&++s[e[o]-1];var a,i=new be(t);for(o=1;t>o;++o)i[o]=i[o-1]+s[o-1]<<1;if(n){a=new be(1<<t);var c=15-t;for(o=0;r>o;++o)if(e[o])for(var u=o<<4|e[o],f=t-e[o],w=i[e[o]-1]++<<f,l=w|(1<<f)-1;l>=w;++w)a[Fe[w]>>c]=u}else for(a=new be(r),o=0;r>o;++o)e[o]&&(a[o]=Fe[i[e[o]-1]++]>>15-e[o]);return a},Ee=new ge(288);for(Ie=0;144>Ie;++Ie)Ee[Ie]=8;for(Ie=144;256>Ie;++Ie)Ee[Ie]=9;for(Ie=256;280>Ie;++Ie)Ee[Ie]=7;for(Ie=280;288>Ie;++Ie)Ee[Ie]=8;var We=new ge(32);for(Ie=0;32>Ie;++Ie)We[Ie]=5;var Me=Te(Ee,9,1),Oe=Te(We,5,1),Le=e=>{for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},Pe=(e,t,n)=>{var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},He=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},Be=e=>(e+7)/8|0,Ve=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new ge(e.subarray(t,n))),Ze=["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"],qe=(e,t,n)=>{var r=new l(t||Ze[e]);if(r.code=e,l.captureStackTrace&&l.captureStackTrace(r,qe),!n)throw r;return r},Ne=(e,t,n,r)=>{var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.o)return n||new ge(0);var i=!n,c=i||2!=t.i,u=t.i;i&&(n=new ge(3*o));var f=e=>{var t=n.length;if(e>t){var r=new ge(a.max(2*t,e));r.set(n),n=r}},w=t.f||0,l=t.p||0,d=t.b||0,p=t.o,h=t.d,m=t.l,y=t.n,g=8*o;do{if(!p){w=Pe(e,l,1);var b=Pe(e,l+1,3);if(l+=3,!b){var v=e[(U=Be(l)+4)-4]|e[U-3]<<8,S=U+v;if(S>o){u&&qe(0);break}c&&f(d+v),n.set(e.subarray(U,S),d),t.b=d+=v,t.p=l=8*S,t.f=w;continue}if(1==b)p=Me,h=Oe,m=9,y=5;else if(2==b){var k=Pe(e,l,31)+257,x=Pe(e,l+10,15)+4,z=k+Pe(e,l+5,31)+1;l+=14;for(var R=new ge(z),D=new ge(19),C=0;x>C;++C)D[xe[C]]=Pe(e,l+3*C,7);l+=3*x;var A=Le(D),F=(1<<A)-1,I=Te(D,A,1);for(C=0;z>C;){var U,T=I[Pe(e,l,F)];if(l+=15&T,16>(U=T>>4))R[C++]=U;else{var E=0,W=0;for(16==U?(W=3+Pe(e,l,3),l+=2,E=R[C-1]):17==U?(W=3+Pe(e,l,7),l+=3):18==U&&(W=11+Pe(e,l,127),l+=7);W--;)R[C++]=E}}var M=R.subarray(0,k),O=R.subarray(k);m=Le(M),y=Le(O),p=Te(M,m,1),h=Te(O,y,1)}else qe(1);if(l>g){u&&qe(0);break}}c&&f(d+131072);for(var L=(1<<m)-1,P=(1<<y)-1,H=l;;H=l){var B=(E=p[He(e,l)&L])>>4;if((l+=15&E)>g){u&&qe(0);break}if(E||qe(2),256>B)n[d++]=B;else{if(256==B){H=l,p=null;break}var V=B-254;if(B>264){var Z=Se[C=B-257];V=Pe(e,l,(1<<Z)-1)+De[C],l+=Z}var q=h[He(e,l)&P],N=q>>4;if(q||qe(3),l+=15&q,O=Ae[N],N>3&&(Z=ke[N],O+=He(e,l)&(1<<Z)-1,l+=Z),l>g){u&&qe(0);break}c&&f(d+131072);var j=d+V;if(O>d){var G=s-O,K=a.min(O,j);for(0>G+d&&qe(3);K>d;++d)n[d]=r[G+d]}for(;j>d;++d)n[d]=n[d-O]}}t.o=p,t.p=H,t.b=d,t.f=w,p&&(w=1,t.l=m,t.d=h,t.n=y)}while(!w);return d!=n.length&&i?Ve(n,0,d):n.subarray(0,d)},je=new ge(0),Ge=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.h=t;var n=e&&e.m&&e.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new ge(32768),this.p=new ge(0),n&&this.v.set(n)}return e.prototype.e=function(e){if(this.h||qe(5),this.d&&qe(4),this.p.length){if(e.length){var t=new ge(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Ne(this.p,this.s,this.v);this.h(Ve(n,t,this.s.b),this.d),this.v=Ve(n,this.s.b-32768),this.s.b=this.v.length,this.p=Ve(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),Ke=void 0!==v&&new v;try{Ke.decode(je,{stream:!0})}catch(e){}class Xe extends x{constructor(e){super({start(t){e.h=e=>{e.length&&t.enqueue(e)}},transform(t){e.push(t)},flush(){e.push(new d(0),!0)}})}}const _e="Compression method not supported",$e=new c,Je=new c;function Qe(e){return Je.get(e)}const Ye=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;Ye[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const n=Ye[t-1][e];Ye[t][e]=n>>>8^Ye[0][255&n]}const[et,tt,nt,rt,ot,st,at,it]=Ye;class ct{constructor(e){this.S=e||-1}append(e){let t=0|this.S;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(e.buffer,e.byteOffset,n),s=n-8;for(;s>=r;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=it[255&e]^at[e>>>8&255]^st[e>>>16&255]^ot[e>>>24&255]^rt[255&n]^nt[n>>>8&255]^tt[n>>>16&255]^et[n>>>24&255]}}for(;n>r;r++)t=t>>>8^et[255&(t^e[r])];this.S=t}get(){return~this.S}}class ut extends x{constructor(){let e;const t=new ct;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function ft(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function wt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const lt=64,dt=20,pt=new d([128]),ht=new d(1),mt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),yt=new d(256),gt=new Int32Array(256),bt=new Int32Array(256),vt=new Int32Array(256),St=new Int32Array(256);let kt=!1;function xt(e){const t=(()=>{const e=new Int32Array(mt),t=new Int32Array(16),n=new d(lt),r=new m(n.buffer),o=new d(8);let s=0,i=0;return{update:c,digest:()=>{const t=8*i,n=a.floor(t/4294967296),r=t>>>0;for(c(pt,0,1);56!=s;)c(ht,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(dt),f=new m(u.buffer);for(let t=0;t<e.length;t++)f.setInt32(4*t,e[t]);return e.set(mt),s=0,i=0,u}};function c(e,t,o){const a=t+o;if(i+=o,s){for(;a>t&<>s;)n[s++]=e[t++];s==lt&&(u(r,0),s=0)}if(a>=t+lt){const n=new m(e.buffer,e.byteOffset,e.byteLength);for(;a>=t+lt;t+=lt)u(n,t)}for(;a>t;)n[s++]=e[t++]}function u(n,r){for(let e=0;16>e;e++)t[e]=n.getInt32(r+4*e);let o,s=e[0],a=e[1],i=e[2],c=e[3],u=e[4];for(let e=0;15>e;e+=5)u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+t[e]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+t[e+1]|0,s=s<<30|s>>>2,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+t[e+2]|0,u=u<<30|u>>>2,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+t[e+3]|0,c=c<<30|c>>>2,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+t[e+4]|0,i=i<<30|i>>>2;u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+t[15]|0,a=a<<30|a>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+o|0,s=s<<30|s>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+o|0,i=i<<30|i>>>2;for(let e=20;40>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a^i^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+1859775393+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+1859775393+o|0,i=i<<30|i>>>2;for(let e=40;60>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a&i|(a|i)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s&a|(s|a)&i)+c+2400959708+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u&s|(u|s)&a)+i+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c&u|(c|u)&s)+a+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i&c|(i|c)&u)+s+2400959708+o|0,i=i<<30|i>>>2;for(let e=60;80>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a^i^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+3395469782+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+3395469782+o|0,i=i<<30|i>>>2;e[0]=e[0]+s|0,e[1]=e[1]+a|0,e[2]=e[2]+i|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}})(),n=new d(lt),r=new d(lt);e.length>lt&&(t.update(e,0,e.length),e=t.digest());for(let t=0;lt>t;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,lt),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,lt),t.update(e,0,dt);const o=t.digest();return t.update(n,0,lt),o}}}function zt(e){return yt[e>>>24]<<24|yt[e>>>16&255]<<16|yt[e>>>8&255]<<8|yt[255&e]}function Rt(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function Dt(e){return 255&(e<<1^27*(e>>7))}const Ct=typeof S!=G&&typeof S.getRandomValues==K,At="Invalid password",Ft="zipjs-abort-check-password";function It(e){if(Ct)return S.getRandomValues(e);throw new l("Crypto API not supported")}const Ut={name:"PBKDF2"},Tt=n.assign({hash:{name:"HMAC"}},Ut),Et=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ut),Wt=["deriveBits"],Mt=[8,12,16],Ot=[16,24,32],Lt=10,Pt=typeof S!=G,Ht=Pt&&S.subtle;let Bt=Pt&&typeof Ht!=G&&typeof Ht.importKey==K&&typeof Ht.deriveBits==K;class Vt extends x{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){qt(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:s,R:a,ready:i}=n;o?(await(async(e,t,n,r)=>{const o=await Gt(e,t,n,Xt(r,0,Mt[t])),s=Xt(r,Mt[t]);if(o[0]!=s[0]||o[1]!=s[1])throw jt(e),new l(At)})(n,s,o,Xt(e,0,Mt[s]+2)),e=Xt(e,Mt[s]+2),r?(jt(n),t.error(new l(Ft))):a()):await i;const c=new d(e.length-Lt-(e.length-Lt)%16);t.enqueue(Nt(n,e,c,0,Lt,!0))},async flush(e){const{D:t,C:n,ready:r}=this;if(t){await r;const s=Xt(n,n.length-Lt),a=new d(Xt(n,0,n.length-Lt));t.process(a,!0);const i=t.digest();let c=n.length<Lt?1:0;for(let e=0;Lt>e;e++)c|=i[e]^s[e];if(c&&o)throw new l("Invalid authentication code");e.enqueue(a)}},cancel(){jt(this)}})}}class Zt extends x{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){qt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,R:s,ready:a}=n;let i=$;r?(i=await(async(e,t,n)=>{const r=It(new d(Mt[t]));return ft(r,await Gt(e,t,n,r))})(n,o,r),s()):await a;const c=new d(i.length+e.length-e.length%16);c.set(i,0),t.enqueue(Nt(n,e,c,i.length,0,!1))},async flush(e){const{D:t,C:n,ready:r}=this;if(t){await r;const o=new d(n);t.process(o,!1);const s=Xt(t.digest(),0,Lt);e.enqueue(ft(o,s))}},cancel(){jt(this)}})}}function qt(e,t,r,o){n.assign(e,{ready:new g(t=>e.R=t),password:Kt(t,r),strength:o-1,C:$})}function Nt(e,t,n,r,o,s){const{D:a,C:i}=e;i.length&&(t=ft(i,t));const c=t.length-o,u=c-c%16;if(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,r+u),u){const e=Xt(n,r,r+u);e.set(Xt(t,0,u)),a.process(e,s)}return e.C=Xt(t,u),n}function jt({D:e}){e&&e.dispose&&e.dispose()}async function Gt(e,t,r,o){e.password=null;const s=Ot[t],i=await(async(e,t,r)=>{if(Bt)try{const o=await Ht.importKey("raw",e,Tt,!1,Wt);return new d(await Ht.deriveBits(n.assign({salt:t},Et),o,8*r))}catch{Bt=!1}return((e,t,n,r)=>{const o=xt(e),s=new d(r),i=new d(t.length+4),c=new m(i.buffer);i.set(t);for(let e=1,n=0;r>n;e++,n+=dt){c.setUint32(t.length,e),o.update(i,0,i.length);let u=o.digest();const f=u.slice();for(let e=1;1e3>e;e++){o.update(u,0,dt),u=o.digest();for(let e=0;dt>e;e++)f[e]^=u[e]}s.set(f.subarray(0,a.min(dt,r-n)),n)}return s})(e,t,0,r)})(r,o,2*s+2);return e.D=((e,t)=>{(()=>{if(!kt){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),yt[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);yt[0]=99;for(let e=0;256>e;e++){const t=yt[e],n=Dt(t),r=n<<24|t<<16|t<<8|n^t;gt[e]=r,bt[e]=r>>>8|r<<24,vt[e]=r>>>16|r<<16,St[e]=r>>>24|r<<8}kt=!0}})();const n=new Int32Array(60),r=((e,t)=>{const n=e.length>>2,r=n+6,o=4*(r+1);let s=1;for(let r=0;n>r;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;o>e;e++){let r=t[e-1];e%n==0?(r=zt(r<<8|r>>>24)^s<<24,s=Dt(s)):n>6&&e%n==4&&(r=zt(r)),t[e]=t[e-n]^r}return r})(e,n),o=new Int32Array(4),s=xt(t);let a=0,i=0,c=0,u=0;return{process(e,t){t&&s.update(e,0,e.length),(e=>{const t=new m(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;n>=r+16;r+=16)f(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(n>r){f();for(let t=0;n>r;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}})(e),t||s.update(e,0,e.length)},digest:()=>s.digest()};function f(){a=a+1|0,a||(i=i+1|0,i||(c=c+1|0,c||(u=u+1|0)));let e=Rt(a)^n[0],t=Rt(i)^n[1],s=Rt(c)^n[2],f=Rt(u)^n[3],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[4],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[5],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[6],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[7];e=gt[w>>>24]^bt[l>>>16&255]^vt[d>>>8&255]^St[255&p]^n[8],t=gt[l>>>24]^bt[d>>>16&255]^vt[p>>>8&255]^St[255&w]^n[9],s=gt[d>>>24]^bt[p>>>16&255]^vt[w>>>8&255]^St[255&l]^n[10],f=gt[p>>>24]^bt[w>>>16&255]^vt[l>>>8&255]^St[255&d]^n[11],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[12],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[13],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[14],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[15],e=gt[w>>>24]^bt[l>>>16&255]^vt[d>>>8&255]^St[255&p]^n[16],t=gt[l>>>24]^bt[d>>>16&255]^vt[p>>>8&255]^St[255&w]^n[17],s=gt[d>>>24]^bt[p>>>16&255]^vt[w>>>8&255]^St[255&l]^n[18],f=gt[p>>>24]^bt[w>>>16&255]^vt[l>>>8&255]^St[255&d]^n[19],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[20],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[21],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[22],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[23],e=gt[w>>>24]^bt[l>>>16&255]^vt[d>>>8&255]^St[255&p]^n[24],t=gt[l>>>24]^bt[d>>>16&255]^vt[p>>>8&255]^St[255&w]^n[25],s=gt[d>>>24]^bt[p>>>16&255]^vt[w>>>8&255]^St[255&l]^n[26],f=gt[p>>>24]^bt[w>>>16&255]^vt[l>>>8&255]^St[255&d]^n[27],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[28],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[29],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[30],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[31],e=gt[w>>>24]^bt[l>>>16&255]^vt[d>>>8&255]^St[255&p]^n[32],t=gt[l>>>24]^bt[d>>>16&255]^vt[p>>>8&255]^St[255&w]^n[33],s=gt[d>>>24]^bt[p>>>16&255]^vt[w>>>8&255]^St[255&l]^n[34],f=gt[p>>>24]^bt[w>>>16&255]^vt[l>>>8&255]^St[255&d]^n[35],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[36],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[37],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[38],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[39];let h=40;r>10&&(e=gt[w>>>24]^bt[l>>>16&255]^vt[d>>>8&255]^St[255&p]^n[40],t=gt[l>>>24]^bt[d>>>16&255]^vt[p>>>8&255]^St[255&w]^n[41],s=gt[d>>>24]^bt[p>>>16&255]^vt[w>>>8&255]^St[255&l]^n[42],f=gt[p>>>24]^bt[w>>>16&255]^vt[l>>>8&255]^St[255&d]^n[43],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[44],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[45],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[46],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[47],h=48),r>12&&(e=gt[w>>>24]^bt[l>>>16&255]^vt[d>>>8&255]^St[255&p]^n[48],t=gt[l>>>24]^bt[d>>>16&255]^vt[p>>>8&255]^St[255&w]^n[49],s=gt[d>>>24]^bt[p>>>16&255]^vt[w>>>8&255]^St[255&l]^n[50],f=gt[p>>>24]^bt[w>>>16&255]^vt[l>>>8&255]^St[255&d]^n[51],w=gt[e>>>24]^bt[t>>>16&255]^vt[s>>>8&255]^St[255&f]^n[52],l=gt[t>>>24]^bt[s>>>16&255]^vt[f>>>8&255]^St[255&e]^n[53],d=gt[s>>>24]^bt[f>>>16&255]^vt[e>>>8&255]^St[255&t]^n[54],p=gt[f>>>24]^bt[e>>>16&255]^vt[t>>>8&255]^St[255&s]^n[55],h=56),o[0]=(yt[w>>>24]<<24|yt[l>>>16&255]<<16|yt[d>>>8&255]<<8|yt[255&p])^n[h],o[1]=(yt[l>>>24]<<24|yt[d>>>16&255]<<16|yt[p>>>8&255]<<8|yt[255&w])^n[h+1],o[2]=(yt[d>>>24]<<24|yt[p>>>16&255]<<16|yt[w>>>8&255]<<8|yt[255&l])^n[h+2],o[3]=(yt[p>>>24]<<24|yt[w>>>16&255]<<16|yt[l>>>8&255]<<8|yt[255&d])^n[h+3]}})(Xt(i,0,s),Xt(i,s,2*s)),Xt(i,2*s)}function Kt(e,t){return t===j?(e=>{if(typeof b==G){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)})(e):t}function Xt(e,t,n){return e.subarray(t,n)}class _t extends x{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Jt(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Qt(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new l(At);e=e.subarray(12)}r?t.error(new l(Ft)):t.enqueue(Qt(n,e))}})}}class $t extends x{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Jt(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=It(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(Yt(n,t),0),o=12}else r=new d(e.length),o=0;r.set(Yt(n,e),o),t.enqueue(r)}})}}function Jt(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),((e,t,r)=>{const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,A:new ct(o[0]),F:new ct(o[2])}),r)for(let t=0;t<r.length;t++)en(e,r[t]);else for(let n=0;n<t.length;n++)en(e,t.charCodeAt(n))})(e,t,r)}function Qt(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=tn(e)^t[r],en(e,n[r]);return n}function Yt(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=tn(e)^t[r],en(e,t[r]);return n}function en(e,t){let[,n]=e.keys;e.A.append([t]);const r=~e.A.get();n=rn(a.imul(rn(n+nn(r)),134775813)+1),e.F.append([n>>>24]);const o=~e.F.get();e.keys=[r,n,o]}function tn(e){const t=2|e.keys[2];return nn(a.imul(t,1^t)>>>8)}function nn(e){return 255&e}function rn(e){return 4294967295&e}function on(e){if(e instanceof z)return e;const t=e.getReader();return new z({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function sn(e,t){e=on(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=K||new y([]).stream()instanceof z)return new f(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new R({write(e){r.push(e)}})).then(()=>new y(r,n))}function an(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const cn="Invalid uncompressed size",un="deflate-raw",fn="gzip",wn=[31,139,8];class ln extends x{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:s,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:u,deflate64:f,format:w,compressionMethod:l,inputSize:d}=e,p=this;let h,y,g,b=super.readable;const v=w&&Qe(w),S=((e,t,n)=>e&&t?t:n&&n.I?n:void 0)(a,r,n),k=c&&o&&!f&&!v&&(!s||i)&&!!S;if(s&&!i||!c||k||(h=new ut,b=bn(b,h)),o)if(v)b=vn(b,yn(v.CompressionStream,w,{level:u,chunkSize:t,compressionMethod:l,uncompressedSize:d}));else if(k)g=new dn,b=vn(b,new S(fn,{level:u,chunkSize:t})),b=bn(b,g);else try{b=gn(b,a,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(fn)}catch{throw e}b=vn(b,t),b=bn(b,new dn)}s&&(i?b=bn(b,new $t(e)):(y=new Zt(e),b=bn(b,y))),mn(p,b,()=>{s&&!i||!c||(p.crc32=k?g.crc32:new m(h.value.buffer).getUint32(0))})}}class dn extends x{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=a.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(8>=o)return void(n=ft(n,e));const s=o-8,i=a.min(s,n.length);r.enqueue(ft(n.subarray(0,i),e.subarray(0,s-i))),n=ft(n.subarray(i),e.subarray(s-i))},flush(){const t=wt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class pn extends x{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:s,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:u,deflate64:f,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let b,v,S,k=super.readable;if(s&&(o?k=bn(k,new _t(e)):(v=new Vt(e),k=bn(k,v))),c){const e=w&&Qe(w);if(e)k=vn(k,yn(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{k=gn(k,u,{chunkSize:t,deflate64:f},r,n)}catch(e){if(f||y===j)throw e;let t;try{t=new r(fn)}catch{throw e}S=new ct,k=((e,t,n,r)=>{let o,s,a,i=0,c=!1;const u=new g((e,t)=>{s=e,a=t});u.catch(()=>{}),n||s();const f=new x({start(e){const t=new d(10);t.set(wn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{h()}const t=new d(8),o=wt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){a(e)}}),w=new x({transform(e,t){r.append(e),i+=e.length,n>i?c&&p():s(),t.enqueue(e)},cancel(e){a(e)}});return e=bn(e,f),bn(e=vn(e,t),w);function p(){h(),o=I(()=>a(new l(cn)),5e3)}function h(){U(o)}})(k,t,y,S)}k=(e=>{const t=e.getReader();return new z({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new l("Invalid compressed data");throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(k)}a&&!S&&(b=new ut,k=bn(k,b)),mn(this,k,()=>{if(a){const e=S?S.get()>>>0:new m(b.value.buffer).getUint32(0,!1);if(i!=e)throw new l("Invalid CRC32")}})}}const hn=new c;function mn(e,t,r){t=bn(t,new x({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function yn(e,t,n){if(!e)throw new l(_e);return new e(t,n)}function gn(e,t,n,r,o){const s=t&&r?r:o||r,a=n.deflate64?"deflate64-raw":un;let i;try{i=new s(a,n)}catch(e){if(!t||!o||s==o)throw e;i=new o(a,n)}return vn(e,i)}function bn(e,t){return on(e).pipeThrough(t)}function vn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const Sn="deflate",kn="inflate";class xn extends x{constructor(e,t){super({});const r=this,{codecType:o}=e;let s;o.startsWith(Sn)?s=ln:o.startsWith(kn)&&(s=pn),r.outputSize=0;let a=0;const i=new s(e,t),c=super.readable,u=new x({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:a})}}),f=new x({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==j&&r.outputSize>e.outputSize))throw new l(cn)},flush(){const{crc32:e}=i;n.assign(r,{crc32:e,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(i).pipeThrough(f)})}}class zn extends x{constructor(e){const t=[];let r=0,s=0;function a(){const n=new d(e);let o=0;for(;e>o;){const r=t[0],s=e-o;r.length>s?(n.set(r.subarray(0,s),o),t[0]=r.subarray(s),o+=s):(n.set(r,o),o+=r.length,t.shift())}return r-=e,n}o.isFinite(e)&&e>=1||(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)s+=e,o.enqueue(a())},flush(e){r&&(s+=r,e.enqueue(((e,t)=>{const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}function Rn(e){return!!e&&"object"==typeof e}let Dn=()=>{};class Cn{constructor(e,{readable:t,writable:r},o,s){const{options:a,config:i,U:u,useWebWorkers:f,transferStreams:w,workerURI:l}=o;let{createWorker:d}=o;const{signal:p}=u;return n.assign(e,{T:!0,W:(e.W||0)+1,readable:t.pipeThrough(new zn(de(i))).pipeThrough(new An(u),{signal:p}),writable:r,options:n.assign({},a),M:o,workerURI:l,createWorker:d,transferStreams:w,terminate:()=>new g(t=>{const{O:n,T:r}=e;r?(e.L=e.L||[],e.L.push(t)):(n&&(n.terminate(),e.O=null),t()),e.P=null}),H(){if(e.T){const{L:t,O:n}=e;t&&(e.L=null,n&&(e.B=!0,n.terminate())),e.T=!1;const r=s(e);t&&t.forEach(e=>e(r))}}}),((e,t)=>({run:()=>(async({options:e,readable:t,writable:n,H:r,M:o},s)=>{let a,i,u;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Sn),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;e.useCompressionStream?n&&n.I&&!((e,t)=>{if(!e)return!1;let n=hn.get(e);n||(n=new c,hn.set(e,n));let r=n.get(t);if(r===j){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r})(r,un)&&await f():await f()||n&&!n.I||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await f(),a=new xn(e,s),i=new zn(de(s)),await t.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:u}=a;return{crc32:r,inputSize:o,outputSize:u}}catch(e){if(a){const t=i?i.outputSize:0;if(o.outputSize=t,Rn(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function f(){return u||(u=(async()=>{if(Dn)try{return await void 0,!0}catch{}return!1})()),u}})(e,t)}))(e,i)}}class An extends x{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Fn(e,n)},async transform(e,r){o+=e.length,t&&await Fn(t,o,n),r.enqueue(e)},async flush(){r&&await Fn(r,o)}})}}async function Fn(e,...t){try{await e(...t)}catch{}}let In=[];const Un=[];let Tn,En,Wn=0;function Mn(){!Tn&&Un.length&&o.isFinite(En)&&En>=0&&(Tn=I(Ln,En))}function On(){Tn&&(U(Tn),Tn=null)}function Ln(){if(Tn=null,Un.length){const[{resolve:e,stream:t,M:n}]=Un.splice(0,1);e(new Cn({},t,Pn(n),Hn)),Mn()}}function Pn(e){return n.assign({},e,{useWebWorkers:!1,workerURI:j,createWorker:j})}function Hn(){On(),Mn()}function Bn(e){const{V:t}=e;t&&(U(t),e.V=null)}const Vn="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Zn(e,t){return Nn(e,t,!0)}function qn(e){if(!e.some(e=>e>127))return!1;try{return new v("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function Nn(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{let t="";for(let n=0;n<e.length;n++)t+=Vn[e[n]];return t})(e):new v(t,{ignoreBOM:n}).decode(e)}const jn="HTTP error ",Gn="HTTP Range not supported",Kn="HTTP resource changed",Xn="Content-Range",_n="Range",$n="GET",Jn="bytes",Qn=16777216,Yn="writable",er=Symbol();class tr{constructor(){this.size=0}init(){this.initialized=!0}}class nr extends tr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=de(le())}={}){const r=this;let o=0;return n=pe(n),new z({async pull(s){const i=t===j?n:a.min(n,t-o),c=await Er(r,e+o,i);c.length&&(s.enqueue(c),o+=c.length),(t!==j&&o>=t||!c.length&&i)&&s.close()}})}}class rr extends tr{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new l("Writer not initialized");return e.writeUint8Array((n=t).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(e,Yn,{get:()=>t})}writeUint8Array(){}}let or,sr;class ar extends nr{constructor(e){super(),n.assign(this,{Z:e,size:e.size}),sr||(sr=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();or=1==t}catch{or=!1}})())}createReadable(e){const{Z:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==K){if(!r&&o>=n)return on(t.stream());if(or)return on(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=e||r<n.size?n.Z.slice(e,r):n.Z;let s=await o.arrayBuffer();return s.byteLength>t&&(s=s.slice(e,r)),new d(s)}}class ir extends tr{constructor(e){super();const t=this,r=new x;n.defineProperty(t,Yn,{get:()=>r.writable}),t.contentType=e,t.N=sn(r.readable,e),t.N.catch(()=>{})}getData(){return this.N}}class cr extends nr{constructor(e,t){super(),fr(this,e,t)}async init(){await wr(this,zr,vr),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=t;if((n||r)&&o!==j){const{offset:n=0,size:r=o-n}=e||{};if(r>0&&o>n)return((e,t,n)=>{let r,o=t,s=0,i=n;return new z({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new l(Gn);const o=t.length>s?t.subarray(0,s):t;s-=o.length,i-=o.length,o.length&&e.enqueue(o),s||(await(async()=>{const e=r;r=j,await e.cancel()})(),i||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=a.min(e.maximumRangeSize,i),n=await zr($n,e,gr(e,o,t));if(206!=n.status)throw new l(Gn);const c=dr(n);if(c!==j&&c!=o)throw new l(Gn);yr(e,n),mr(e,n),o+=t,s=t,r=n.body.getReader()}})(t,n,a.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return lr(this,e,t,zr,vr)}}class ur extends nr{constructor(e,t){super(),fr(this,e,t)}async init(){await wr(this,Rr,Sr),super.init()}readUint8Array(e,t){return lr(this,e,t,Rr,Sr)}}function fr(e,t,r){const{preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:u=Qn,fetch:f}=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(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:u,fetch:f})}async function wr(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i}=e;if((e=>{const{baseURI:t}=le(),{protocol:n}=new w(e,t);return"http:"==n||"https:"==n})(r)&&(s||a)&&(typeof o==G||o)){const r=await t($n,e,gr(e,i?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==Jn))throw new l(Gn);{let o;i&&206==r.status&&(o=new d(await r.arrayBuffer())),mr(e,r);const s=pr(r);s===j?await xr(e,t,n):e.size=s,o&&o.length&&dr(r)===e.size-o.length&&(e.j=o)}}else await xr(e,t,n)}async function lr(e,t,n,r,o){const{useRangeHeader:s,forceRangeRequests:a,j:i,size:c,options:u}=e;if(s||a){if(c>t&&0!==n){if(t+n>c&&(n=c-t),i&&t>=c-i.length){const e=t-(c-i.length);return i.slice(e,e+n)}const o=await r($n,e,gr(e,t,n));if(206!=o.status)throw new l(Gn);const s=dr(o);if(s!==j&&s!=t)throw new l(Gn);yr(e,o),mr(e,o);const a=new d(await o.arrayBuffer());if(a.length!=n)throw new l(Gn);return a}return $}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function dr(e){const t=e.headers.get(Xn);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function pr(e){const t=e.headers.get(Xn);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function hr({headers:e}){return{G:e.get("Etag")||j,lastModified:e.get("Last-Modified")||j}}function mr(e,t){const{checkResourceChanges:n,K:r}=e;n&&!r&&206==t.status&&(e.K=hr(t))}function yr(e,t){const{checkResourceChanges:r,K:o,size:s}=e;if(r){const e=pr(t);if(e!==j&&s!==j&&e!=s)throw new l(Kn);if(o){const e=hr(t);if(n.entries(o).some(([t,n])=>n!==j&&e[t]!==j&&n!=e[t]))throw new l(Kn)}}}function gr(e,t=0,r=1){return n.assign({},br(e),{[_n]:Jn+"="+(0>t?t:t+"-"+(t+r-1))})}function br({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function vr(e){await kr(e,zr)}async function Sr(e){await kr(e,Rr)}async function kr(e,t){const n=await t($n,e,br(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function xr(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,br(e)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?e.size=o(s):await n(e,e.options)}}async function zr(e,{fetch:t=fetch,options:r,url:o},s){const a=await t(o,n.assign({},r,{method:e,headers:s}));if(200>a.status||a.status>299)throw 416==a.status?new l(Gn):new l(jn+(a.statusText||a.status));return a}function Rr(e,{url:t},r){return new g((o,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)s(416==a.status?new l(Gn):new l(jn+(a.statusText||a.status)));else{const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}},!1),a.addEventListener("error",e=>s(e.detail?e.detail.error:new l("Network error")),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Dr extends nr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new ur(e,t):new cr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Cr extends nr{constructor(e){super(),this.X=e}async init(){const e=this;e._=0;const t=e.X=await g.all(e.X.map(Tr));e.$=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}J(e){const{$:t,size:n}=this,r=t[e];return r===j?n:r}async readUint8Array(e,t){const n=this,{X:r}=this;let o,s=0,i=e;for(;r[s]&&i>=r[s].size;)i-=r[s].size,s++;const c=r[s];if(c){const r=c.size;if(i+t>r){const s=r-i;o=ft(await Er(c,i,s),await n.readUint8Array(e+s,t-s))}else o=await Er(c,i,t)}else o=$;return n._=a.max(s,n._),o}}class Ar extends tr{constructor(e,t=4294967295){super();const r=this;let o,s,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new R({async write(t){if(t===er)return void(a&&await u());const{availableSize:n}=r;if(a)t.length<n?await c(t):(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n)));else{const{value:n,done:i}=await e.next();if(i&&!n)throw new l("Writer iterator completed too soon");o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Ur(o),s=n.writable,a=s.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await f())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),o.size+=t,r.availableSize-=t)}async function u(){await f(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function f(){await a.close()}n.defineProperty(r,Yn,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(er)}finally{e.releaseLock()}}}class Fr{constructor(e){return t.isArray(e)&&(e=new Cr(e)),(e instanceof z||typeof e.getReader==K)&&(e={readable:on(e)}),e}}class Ir{constructor(e){e.writable===j&&typeof e.next==K&&(e=new Ar(e)),(e instanceof R||typeof e.getWriter==K)&&(e={writable:an(e)});try{e.size=e.size===j?0:e.size}catch{throw new l("Invalid writer (size must be writable)")}return e}}async function Ur(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function Tr(e){return e=new Fr(e),await Ur(e),e.size!==j&&e.readUint8Array||(e=new ar(await sn(e.readable)),await Ur(e)),e}function Er(e,t,n){return e.readUint8Array(t,n)}function Wr(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==j&&(r.filename=n),e.push(r)}}const Mr="filename",Or="rawFilename",Lr="comment",Pr="rawComment",Hr="uncompressedSize",Br="compressedSize",Vr="offset",Zr="diskNumberStart",qr="lastModDate",Nr="rawLastModDate",jr="lastAccessDate",Gr="rawLastAccessDate",Kr="creationDate",Xr="rawCreationDate",_r=[Mr,Or,Hr,Br,qr,Nr,Lr,Pr,jr,Gr,Kr,Xr,Vr,Zr,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class $r{constructor(e){_r.forEach(t=>this[t]=e[t])}}const Jr="File format is not recognized",Qr="Encryption method not supported",Yr="Split zip file",eo="malformed extra field",to="wrapped entries count",no="appended data",ro="prepended data",oo="mismatched zip64 end of central directory record",so=/^[a-zA-Z]:/,ao=/(^|[\\/])\.\.([\\/]|$)/,io="utf-8",co="cp437",uo=[[Hr,T],[Br,T],[Vr,T],[Zr,E]],fo={[E]:{Y:qo,bytes:4},[T]:{Y:No,bytes:8}},wo=s(o.MAX_SAFE_INTEGER);class lo{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,s={}){const i=this,c=le(),{reader:u,index:f,offset:p,diskNumberStart:h,extraFieldAES:m,extraFieldZip64:y,compressionMethod:b,bitFlag:v,rawBitFlag:S,crc32:k,rawLastModDate:x,uncompressedSize:z,compressedSize:D}=i,{dataDescriptor:C}=v,A=t.localDirectory={},F=t.warnings=[],U=Ro(u,h)+p,T=await Er(u,U,30),E=wt(T);let M=Lo(i,s,"password"),L=Lo(i,s,"rawPassword");const P=(e=>{if(e!==j&&typeof e!=_&&"compressed"!==e)throw new l("Invalid passThrough option (must be a boolean or 'compressed')");return e})(Lo(i,s,"passThrough")),H=!!P,B=!0===P;if(((e,t)=>{if(e&&typeof e!=X||t&&!(t instanceof d))throw new l("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(M,L),M=M&&M.length&&M,L=L&&L.length&&L,m&&99!=m.originalCompressionMethod)throw new l(_e);if(30>T.length||67324752!=qo(E,0))throw new l("Local file header not found");yo(A,E,4);const{extraFieldLength:V,filenameLength:Z}=A,q=A.dataOffset=U+30+Z+V,N=Lo(i,s,"checkLocalDirectory"),G=Ao(s,i.options),J=((e,t)=>e===j?t!=ee:!!e)(N,G),Y=Lo(i,s,"checkLocalFilename"),te=((e,t)=>e===j?t==Q:!!e)(Y===j?N:Y,G);let ne=$;if(te&&(Z||V)){const e=await Er(u,U+30,Z+V);ne=e.subarray(0,Z),A.rawExtraField=e.subarray(Z)}else A.rawExtraField=V?await Er(u,U+30+Z,V):$;te&&(A.rawFilename=ne),go(i,A,E,4,!0)&&Wr(F,eo),((e,t,n,r,o)=>{const{rawFilename:s}=e,a=!o,i=e.ee&&!(8192&~t.rawBitFlag);!r||i||n.length==s.length&&!n.some((e,t)=>e!=s[t])||Mo(a,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Mo(a,o,"mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Mo(a,o,"mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||i||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Mo(a,o,"mismatched local file header (crc32 or sizes)")})(i,A,ne,te,J?j:F);const{lastAccessDate:re,creationDate:oe,uid:se,gid:ae}=A;re&&(t.lastAccessDate=re),oe&&(t.creationDate=oe),se!==j&&t.uid===j&&(t.uid=se),ae!==j&&t.gid===j&&(t.gid=ae);const ie=Lo(i,s,"checkPasswordOnly"),ce=i.encrypted&&A.encrypted&&(!B||ie),ue=ce&&!m;if(B||(t.zipCrypto=ue),ce&&!(64&~A.rawBitFlag))throw new l(Qr);const fe=H?j:(e=>$e.get(e))(b);if(0!=b&&8!=b&&9!=b&&!fe&&!H)throw new l(_e);if(ce){if(!ue&&(1>m.strength||m.strength>3))throw new l(Qr);if(!M&&!L)throw new l("File contains encrypted entry")}if(q+D>u.size)throw new l("Entry data out of bounds");const we=D,de=(e=>{if(e&&(typeof e.addEventListener!=K||typeof e.aborted!=_))throw new l("Invalid signal (must be an AbortSignal instance)");return e||j})(Lo(i,s,"signal"));(e=>{if(e&&e.aborted)throw e.reason===j?new DOMException("The operation was aborted","AbortError"):e.reason})(de);let pe=Lo(i,s,"checkOverlappingEntry");const he=Lo(i,s,"checkOverlappingEntryOnly");he&&(pe=!0);const{onstart:me,onprogress:ye,onend:ge}=s,be=0!=b&&!H,ve=H?D-((e,t,n)=>e?t?12:16+4*n:0)(ce,ue,m&&m.strength):z,Se=9==b;let ke=Lo(i,s,"useCompressionStream");Se&&(ke=!1);const xe=Lo(i,s,"checkCrc32"),ze=(xe===j?Lo(i,s,"checkSignature"):xe)&&!H&&(!ce||ue||m&&1==m.vendorVersion),Re={options:{codecType:kn,password:M,rawPassword:L,zipCrypto:ue,encryptionStrength:m&&m.strength,checkCrc32:ze,checkAuthenticationCode:Lo(i,s,"checkAuthenticationCode"),passwordVerification:ue&&(C?x>>>8&W:k>>>24&W),outputSize:ve,crc32:k,compressed:be,encrypted:ce,useWebWorkers:Lo(i,s,"useWebWorkers"),useCompressionStream:ke,transferStreams:Lo(i,s,"transferStreams"),deflate64:Se,format:fe?fe.format:j,codecURI:fe?fe.codecURI:j,compressionMethod:b,rawBitFlag:S,checkPasswordOnly:ie},config:c,U:{signal:de,size:we,onstart:me,onprogress:ye,onend:ge}};let De,Ce,Ae;pe&&await(async({reader:e,te:t,index:n,offset:r,crc32:o,compressedSize:s,uncompressedSize:a,dataOffset:i,dataDescriptor:c,extraFieldZip64:u,ne:f})=>{let w=0;if(c&&(w=u?20:12),w){const n=await Er(e,i+s,w+4),r=wt(n);let c=n.length==w+4&&qo(r,0)==O;if(c){const e=zo(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==s&&e.uncompressedSize==a?w+=4:c=!1}if(n.length>=w){const e=zo(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:i+s+w,te:t},{re:p,oe:h,se:m}=f;if(!p.has(n)){const e=((e,t)=>{let n=0,r=e.length;for(;r>n;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],s=e[n];return o&&xo(t,o)?o:s&&xo(t,s)?s:void 0})(h,d)||m.find(e=>xo(d,e));if(e){const t=new l("Overlapping entry found");throw t.overlappingEntry=e.te,t}p.add(n),m.push(d),m.length*m.length>h.length&&(m.sort((e,t)=>e.start-t.start),f.oe=((e,t)=>{const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n})(h,m),m.length=0)}})({reader:u,te:t,index:f,offset:U,crc32:k,compressedSize:D,uncompressedSize:z,dataOffset:q,dataDescriptor:C||A.bitFlag.dataDescriptor,extraFieldZip64:y||A.extraFieldZip64,ne:r});try{if(!he){ie&&(e=new R),e=new Ir(e),await Ur(e,((e,t,n)=>a.min(e,n?1032*t:t))(ve,D,be)),({writable:De}=e);const t=on(u.createReadable({offset:q,size:we})),{outputSize:r}=await async function(e,t){const{options:n,config:r}=t,{transferStreams:s,useWebWorkers:a,useCompressionStream:i,compressed:c,checkCrc32:u,computeCrc32:f,encrypted:d,format:p,codecURI:h}=n,{workerURI:m,createWorker:y,maxWorkers:b}=r;p&&(h&&(n.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(h,r.baseURI)),await(async(e,t)=>{!Je.has(e)&&t&&((e,t)=>{const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=K&&typeof r!=K)throw new l("Invalid codec module");Je.set(e,{CompressionStream:n,DecompressionStream:r})})(e,await(import(t)))})(p,n.codecURI)),t.transferStreams=!p&&(s||s===j&&r.transferStreams);const v=!(c||u||f||d),S=p===j||!!n.codecURI;return t.useWebWorkers=!v&&S&&(a||a===j&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:j,t.createWorker=t.useWebWorkers&&y?y:j,n.useCompressionStream=i||i===j&&r.useCompressionStream,(await(async()=>{const n=In.find(e=>!e.T);if(n)return Bn(n),new Cn(n,e,t,k);if(In.length<b){const n={ae:Wn};return Wn++,In.push(n),new Cn(n,e,t,k)}return new g(n=>{Un.push({resolve:n,stream:e,M:t}),En=r.workerStarvationTimeout,Mn()})})()).run();function k(e){if(On(),e.B)return e.B=!1,(()=>{const e=Un.splice(0).map(({resolve:e,stream:t,M:n})=>new g(r=>{e(new Cn({},t,Pn(n),()=>{Hn(),r()}))}));return On(),g.all(e)})();if(Un.length){const[{resolve:t,stream:n,M:r}]=Un.splice(0,1);t(new Cn(e,n,r,k)),Mn()}else e.O?(Bn(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.V=I(async()=>{In=In.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):In=In.filter(t=>t!=e)}}({readable:t,writable:De},Re);if(r!=ve)throw n.assign(new l(cn),{outputSize:r});e.size+=r}}catch(t){const{outputSize:n}=Re;if(n!==j?e.size+=n:Rn(t)&&t.outputSize!==j&&(e.size+=t.outputSize),!ie||!Rn(t)||t.message!=Ft)throw Ce=t,Ae=!0,t}finally{const t=!(e=>!(!e||!e.getData))(e)&&Lo(i,s,"preventClose");if(!t&&De&&!De.locked){const e=De.getWriter();if(Ae)try{await e.abort(Ce)}catch{}else await e.close()}}return ie||he?j:e.getData?e.getData():De}}function po(e){const t=a.min(e.byteLength,1024)-3;for(let n=0;t>n;n++)if(134630224==qo(e,n))return!0;return!1}function ho(e,t,n){let r=0;for(;n+46<=t.length&&qo(e,n)==L;)n+=46+Zo(e,n+28)+Zo(e,n+30)+Zo(e,n+32),r++;return r%65536?0:r}function mo(e){if(e.length>=6){const t=wt(e);if(84233040==qo(t,0)){const n=Zo(t,4);if(6+n<=e.length)return new d(e.subarray(6,6+n))}}}function yo(e,t,r){const o=e.rawBitFlag=Zo(t,r+2),s=!(1&~o),a=qo(t,r+6);n.assign(e,{encrypted:s,version:Zo(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:!(2048&~o)},rawLastModDate:a,lastModDate:Ho(a),filenameLength:Zo(t,r+22),extraFieldLength:Zo(t,r+24)})}function go(e,t,r,o,s){const{rawExtraField:a}=t,u=t.extraField=new c,f=wt(a);let w=0,d=!1;try{for(;w<a.length;){const e=Zo(f,w),t=Zo(f,w+2);u.set(e,{type:e,data:a.slice(w+4,w+4+t)}),w+=4+t}}catch{d=!0}w>a.length&&(d=!0);const p=Zo(r,o+4);n.assign(t,{signature:qo(r,o+10),crc32:qo(r,o+10),compressedSize:qo(r,o+14),uncompressedSize:qo(r,o+18)});const h=u.get(1);h&&(((e,t)=>{t.zip64=!0;const n=wt(e.data),r=uo.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+fo[t].bytes,0);if(e.data.length<o)throw new l("Zip64 extra field not found");for(let o=0,s=0;o<r.length;o++){const[a,i]=r[o],c=fo[i];t[a]=e[a]=c.Y(n,s),s+=c.bytes}})(h,t),t.extraFieldZip64=h);const m=u.get(28789);m&&(bo(m,Mr,Or,t,e),t.extraFieldUnicodePath=m);const y=u.get(25461);y&&(bo(y,Lr,Pr,t,e),t.extraFieldUnicodeComment=y);const g=u.get(39169);g&&g.data.length>=7?(((e,t,r)=>{const o=wt(e.data),s=Vo(o,4);n.assign(e,{vendorVersion:Vo(o,0),vendorId:Vo(o,2),strength:s,originalCompressionMethod:r,compressionMethod:Zo(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=j)})(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const b=u.get(13);b&&(vo(b,t),t.extraFieldPkwareUnix=b);const v=u.get(22613);v&&(vo(v,t),t.extraFieldUnixType1=v);const S=u.get(10);S&&(((e,t)=>{const r=wt(e.data);let o,s=4;try{for(;s<e.data.length&&!o;){const t=Zo(r,s),n=Zo(r,s+2);1==t&&(o=e.data.slice(s+4,s+4+n)),s+=4+n}}catch{}if(o&&24==o.length){const r=wt(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:Bo(s),lastAccessDate:Bo(a),creationDate:Bo(i)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:a,rawCreationDate:i})}})(S,t),t.extraFieldNTFS=S);const k=u.get(30805);let x;if(k&&(x=So(k,t,!1),t.extraFieldUnix=k),!x){const e=u.get(30837);e&&(So(e,t,!0),t.extraFieldInfoZip=e)}const z=u.get(21589);z&&(((e,t,n)=>{if(!e.data.length)return;const r=wt(e.data),o=Vo(r,0),s=[],a=[];n?(1&~o||(s.push(qr),a.push(Nr)),2&~o||(s.push(jr),a.push(Gr)),4&~o||(s.push(Kr),a.push(Xr))):5>e.data.length||(s.push(qr),a.push(Nr));let c=1;s.forEach((n,o)=>{if(e.data.length>=c+4){const s=qo(r,c);t[n]=e[n]=new i(1e3*(0|s));const u=a[o];e[u]=s}c+=4})})(z,t,s),t.extraFieldExtendedTimestamp=z);const R=u.get(6534);return R&&(t.extraFieldUSDZ=R),d}function bo(e,t,r,o,s){if(5>e.data.length)return void(e.valid=!1);const a=wt(e.data),i=new ct;i.append(s[r]);const c=wt(new d(4));c.setUint32(0,i.get(),!0);const u=qo(a,1),f=Vo(a,0);n.assign(e,{version:f,[t]:Zn(e.data.subarray(5)),valid:1==f&&!s.bitFlag.languageEncodingFlag&&u==qo(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function vo(e,t){if(8>e.data.length)return;const r=wt(e.data),o={lastAccessDate:new i(1e3*(0|qo(r,0))),lastModDate:new i(1e3*(0|qo(r,4)))};12>e.data.length||(o.uid=Zo(r,8),o.gid=Zo(r,10)),n.assign(e,o),n.assign(t,o)}function So(e,t,r){try{const o=wt(e.data);let s,a;if(r){let t=0;const r=Vo(o,t++),i=Vo(o,t++);s=ko(e.data.subarray(t,t+i)),t+=i;const c=Vo(o,t++);a=ko(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:s,gid:a})}else 4>e.data.length||(s=Zo(o,0),a=Zo(o,2),n.assign(e,{uid:s,gid:a}));return s!==j&&(t.uid=s),a!==j&&(t.gid=a),s!==j||a!==j}catch{}}function ko(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function xo(e,t){return e.start<t.end&&t.start<e.end}function zo(e,t,n){const r=qo(e,t);let o,s;return n?(o=No(e,t+4),s=No(e,t+12)):(o=qo(e,t+4),s=qo(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:s}}function Ro(e,t){return e.J?e.J(t):0}async function Do(e){return qo(wt(await Er(e,0,4)))}function Co(e){return e===Q||e===Y||e===ee}function Ao(e,t){return Fo(e,Fo(t,Y))}function Fo(e,t){const n=e.strictness;if(n!==j){if(!Co(n))throw new l("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=e.checkAmbiguity;return r===j?t:r?Q:t==ee?ee:Y}function Io(e,t){if(t==ee)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(ao.test(e)||e.startsWith("/")||e.startsWith("\\")||so.test(e))||t==Q&&(n.includes(".")||n.includes("")||e.includes("\0"))}async function*Uo(e,t){const n=e.size-t,r=await Er(e,n,t),o=wt(r);for(let e=r.length-B;e>=0;e--)101010256==qo(o,e)&&(yield[o,n,r,e,n+e])}function To(e,t,n){return{offset:n,buffer:new d(e.subarray(t,t+B)).buffer}}async function Eo(e,t,n,r,o,s,a){const i=Zo(t,r+10),c=qo(t,r+12),u=qo(t,r+16);if(i==E||c==T||u==T)return await Wo(e,t,n,o-V,s,a)==H?2:0;if(!i&&!c)return 1;const f=Zo(t,r+6);for(const r of[o-c,Ro(e,f)+u])if(await Wo(e,t,n,r,s,a)==L)return 2;return 0}async function Wo(e,t,n,r,o,s){return 0>r||r+4>o?j:n>r?s.count>0?(s.count--,qo(wt(await Er(e,r,4)),0)):j:qo(t,r-n)}function Mo(e,t,n){e?Oo(n):Wr(t,n)}function Oo(e){const t=new l("Ambiguous archive");throw t.reason=e,t}function Lo(e,t,n){return t[n]===j?e.options[n]:t[n]}function Po(e,t,n){return te(Lo(e,t,n))}function Ho(e){const t=(4294901760&e)>>16,n=e&E,r=new i(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return N>r?N:r}function Bo(e){return new i(o(e/s(1e4)-s(116444736e5)))}function Vo(e,t){return e.getUint8(t)}function Zo(e,t){return e.getUint16(t,!0)}function qo(e,t){return e.getUint32(t,!0)}function No(e,t){const n=e.getBigUint64(t,!0);if(n>wo)throw new l("64-bit value exceeds Number.MAX_SAFE_INTEGER");return o(n)}(e=>{const t=he(ye(e));n.assign(oe,t),n.assign(we,t)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends Xe{constructor(e){(e=>{if("deflate-raw"!=e)throw new TypeError("Unsupported compression format: "+e)})(e),super(new Ge)}}}),e.BlobReader=ar,e.BlobWriter=ir,e.Data64URIWriter=class extends rr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",ie:""})}writeUint8Array(e){const t=this;let n,o=t.ie;const s=t.ie.length;for(t.ie="",n=0;n<3*a.floor((s+e.length)/3)-s;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.ie+=r.fromCharCode(e[n]);o.length>2?t.data+=k(o):t.ie=o+t.ie}getData(){return this.data+k(this.ie)}},e.HttpRangeReader=class extends Dr{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.TextWriter=class extends ir{constructor(e){super(),n.assign(this,{encoding:e,ce:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,ce:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>Nn(e,t,!1))(new d(await n.arrayBuffer()),e)}},e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:new Fr(e),options:t,ne:{re:new u,oe:[],se:[]}})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Ur(r),r.size!==j&&r.readUint8Array||(r=new ar(await sn(r.readable)),await Ur(r)),r.size<B)throw new l(Jr);const s=t.warnings=[],i=Ao(e,t.options),c=i==Q,f=i!=ee,w=((e,t)=>{if(e!==j){const t=ne(e);if("number"!=typeof t||o.isNaN(t)||0>t)throw new l("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return t}return t==Q?0:t==ee?1/0:E})(Lo(t,e,"maxAppendedDataSize"),i),p=((e,t)=>{if(e===j)return t;if(!Co(e))throw new l("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return e})(Lo(t,e,"filenameValidation"),i),h=Lo(t,e,"normalizeFilename"),{ue:m,fe:y}=await(async(e,t,n)=>{const{size:r}=e,o=a.min(r,65557),s={count:64};let i,c,u=0;for await(const[n,a,f,w,l]of Uo(e,o)){const o=Zo(n,w+20);if(l+B+o==r){const o=await Eo(e,n,a,w,l,r,s);if(2==o){if(i||(i=To(f,w,l)),u++,!t||u>1)break}else 1!=o||c||(c=To(f,w,l))}}return i||(i=c),i||(i=await(async(e,t,n)=>{const{size:r}=e,o=a.min(r,t==1/0?r:65557+t);let s,i;for await(const[t,a,c,u,f]of Uo(e,o)){const o=To(c,u,f);s||(s=o);const w=await Eo(e,t,a,u,f,r,n);if(2==w)return o;1!=w||i||(i=o)}return i||s})(e,n,s)),{ue:i,fe:u}})(r,f,w);if(!m)throw await(async e=>await Do(e)==M)(r)?new l(Yr):new l("End of central directory not found");f&&y>1&&Oo("multiple end of central directory records");const g=wt(m);let b=qo(g,12),v=qo(g,16);const S=m.offset,k=Zo(g,20),z=S+B+k,R=r.size-z;R>w&&Oo(no),R>0&&Wr(s,no);let D=Zo(g,4);const C=r._||0;let A,F,I,U,O,N=Zo(g,6),G=Zo(g,10),K=0,X=Z;const _=v==T||b==T||G==E||N==E;if(v!=T&&N!=E&&(v+=Ro(r,N)),_){const e=m.offset<V?$:await Er(r,m.offset-V,V),t=wt(e);if(e.length==V&&qo(t,0)==H){v=Ro(r,qo(t,4))+No(t,8);let e=await Er(r,v,Z),o=wt(e);const i=m.offset-V-Z;if((e.length<Z||qo(o,0)!=P)&&v!=i&&i>=0){const t=v;v=i,v>t&&(K=v-t),e=await Er(r,v,Z),o=wt(e)}if(e.length<Z||qo(o,0)!=P)throw new l("End of Zip64 central directory locator not found");if(I=!0,U=No(o,4)>44,U){const e=a.min(No(o,4)-44,r.size-v-Z);e>0&&(X+=e,O=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=wt(e),o=Zo(r,26);n.assign(t,{compressionMethod:Zo(r,0),compressedSize:No(r,2),uncompressedSize:No(r,10),encryptionAlgorithm:Zo(r,18),bitLength:Zo(r,20),flags:Zo(r,22),hashAlgorithm:Zo(r,24),hashData:e.subarray(28,28+o)})}return t})(await Er(r,v+Z,e)))}D==E?D=qo(o,16):D!=qo(o,16)&&Mo(c,s,oo),N==E?N=qo(o,20):N!=qo(o,20)&&Mo(c,s,oo),G==E?G=No(o,32):G!=No(o,32)&&Mo(c,s,oo),b==T?b=No(o,40):b!=No(o,40)&&Mo(c,s,oo),v=Ro(r,N)+No(o,48)+K}}let J=b;const Y=m.offset-(I?X+V:0);if(v<r.size||(K=r.size-v-b-B,v=r.size-b-B),C!=D)throw new l(Yr);if(0>v)throw new l(Jr);let te=0,re=await Er(r,v,b),oe=wt(re);if(b){if(4>re.length)throw new l(Jr);const e=Y-b;if(v!=e&&N==D){const t=qo(oe,te)==L||!(!O||!O.compressedSize)||po(oe);let n=!t;if(n||0>e||e+4>r.size||(n=qo(wt(await Er(r,e,4)),0)==L),n){const n=v;v=e,v>n&&(K+=v-n,A=t),re=await Er(r,v,b),oe=wt(re)}}}const se=Y-v;if(b==se||0>se||N!=D||(b=se,re=await Er(r,v,b),oe=wt(re)),0>v||v>=r.size)throw new l(Jr);t.directoryOffset=v,t.directoryLength=J;const ae=Po(t,e,"decryptCentralDirectory");let ie,ce;if(ae&&G&&re.length>=4&&qo(oe,0)!=L&&(U||po(oe))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&n>=r?r:n})(O,J,re.length);ce=re.subarray(e),re=await ae(re.subarray(0,e),O),oe=wt(re),J=re.length,ie=!0}!O||ie||re.length>=4&&qo(oe,0)!=L||Wr(s,"unknown zip64 extensible data"),F=v;const ue=Lo(t,e,"filenameEncoding"),fe=Lo(t,e,"commentEncoding"),we=new u;let le,de=-1;const pe=!c&&!I;!G&&pe&&(G=ho(oe,re,te),G&&Wr(s,to));for(let o=0;G>o;o++){const i=new lo(r,t.options);if(te+46>re.length||qo(oe,te)!=L){if(0==o&&!ie&&(U||po(oe)))throw new l("Encrypted central directory is not supported");throw new l("Central directory header not found")}yo(i,oe,te+6);const c=!!i.bitFlag.languageEncodingFlag,u=te+46,f=u+i.filenameLength+i.extraFieldLength,w=Zo(oe,te+4),m=!(w>>8),y=w>>8==3,g=Zo(oe,te+32),b=f+g,v=new d(re.subarray(u,b)),S=v.subarray(0,i.filenameLength),k=v.subarray(i.filenameLength+i.extraFieldLength),z=c||!ue&&qn(S),R=c||!fe&&qn(k),D=qo(oe,te+38),C=D&W,A={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},I=qo(oe,te+42),T=Po(t,e,"decodeText")||Zn,M=z?io:ue||co,O=R?io:fe||co;let P=T(S,M,"filename");if(P===j&&(P=Zn(S,M)),h){const e=h(P);e!==j&&(P=e)}if(Io(P,p)){const e=new l("Unsafe filename");throw e.filename=P,e}let H=T(k,O,"comment");H===j&&(H=Zn(k,O)),n.assign(i,{index:o,ee:ie,versionMadeBy:w,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,we:g,offset:I,diskNumberStart:Zo(oe,te+34),internalFileAttributes:Zo(oe,te+36),externalFileAttributes:D,msdosAttributesRaw:C,msdosAttributes:A,rawFilename:S,filenameUTF8:z,commentUTF8:R,rawExtraField:v.subarray(i.filenameLength,i.filenameLength+i.extraFieldLength),rawComment:k,filename:P,comment:H}),go(i,i,oe,te+6)&&Wr(s,eo,P),i.offset+=K;const B=Ro(r,i.diskNumberStart)+i.offset;F=a.min(B,F),de>B&&Wr(s,"unsorted central directory",P),de=B,(i.version&W)>63&&Wr(s,"unknown version needed to extract",P),32&~i.rawBitFlag||Wr(s,"compressed patched data",P),we.has(i.filename)&&(le=!0),we.add(i.filename);const V=i.externalFileAttributes>>16&E;i.unixMode===j&&16877&V&&(i.unixMode=V);const Z=!!(2048&i.unixMode),N=!!(1024&i.unixMode),X=!!(512&i.unixMode),_=40960==((i.unixMode===j?V:i.unixMode)&q),$=!_&&(i.unixMode!==j?!!(73&i.unixMode):y&&!!(73&V)),J=i.unixMode!==j&&16384==(i.unixMode&q),Q=16384==(V&q);n.assign(i,{setuid:Z,setgid:N,sticky:X,symlink:_,unixExternalUpper:V,executable:$,directory:J||Q||m&&A.directory||i.filename.endsWith("/"),zipCrypto:i.encrypted&&!i.extraFieldAES});const Y=new $r(i);if(Y.getData=(e,n)=>i.getData(e,Y,t.ne,n),Y.arrayBuffer=async e=>{const r=new x,o=sn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await i.getData(r,Y,t.ne,n.assign({},e,{preventClose:!1})),o},te=b,o==G-1&&pe){const e=ho(oe,re,te);e&&(G+=e,Wr(s,to))}const{onprogress:ee}=e;if(ee)try{await ee(o+1,G,new $r(i))}catch{}yield Y}let he=te,me=mo(re.subarray(te))||(ie?mo(ce):j);if(!me&&!ie){const e=v+te,t=a.min(Y-e,65541);6>t||(me=mo(await Er(r,e,t)))}me&&(t.digitalSignature=me,he=te+6+me.length),(te!=J&&he!=J||!ie&&te!=b&&he!=b)&&Mo(c,s,"trailing central directory data"),le&&Mo(c,s,"duplicate filename");const ye=Lo(t,e,"extractPrependedData"),ge=Lo(t,e,"extractAppendedData"),be=(c||ye)&&G&&4==F&&await(async e=>{const t=await Do(e);return t==M||808471376==t})(r)?4:0;return c&&(K||G&&F>be)&&Oo(ro),(K||G&&F>4)&&Wr(s,ro),A&&Wr(s,"prepended central directory"),ye&&(t.prependedData=F>be?await Er(r,be,F-be):$),t.comment=k?await Er(r,S+B,k):$,ge&&(t.appendedData=z<r.size?await Er(r,z,r.size-z):$),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[J](){return this.close()}},e.configure=e=>{n.assign(we,he(ye(e)))},e.inflateRaw=(e,t)=>Ne(e,{i:2},t&&t.le,t&&t.m)});
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"name": "single-file-core-zip-build",
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@rollup/plugin-terser": "1.0.0",
|
|
10
|
-
"@zip.js/zip.js": "2.
|
|
10
|
+
"@zip.js/zip.js": "2.15.0",
|
|
11
11
|
"rollup": "4.62.4",
|
|
12
12
|
"terser": "5.50.0"
|
|
13
13
|
}
|
|
@@ -502,9 +502,9 @@
|
|
|
502
502
|
"license": "MIT"
|
|
503
503
|
},
|
|
504
504
|
"node_modules/@zip.js/zip.js": {
|
|
505
|
-
"version": "2.
|
|
506
|
-
"resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.
|
|
507
|
-
"integrity": "sha512-
|
|
505
|
+
"version": "2.15.0",
|
|
506
|
+
"resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.15.0.tgz",
|
|
507
|
+
"integrity": "sha512-hYAuHAaWjt0axbofaDL5XUlmrQPsBDcK3f45ApZuh6N+8UGVk26GoGdtGDvcvzahsHytTQ6DtBVXwG9IcCMjjQ==",
|
|
508
508
|
"dev": true,
|
|
509
509
|
"license": "BSD-3-Clause",
|
|
510
510
|
"engines": {
|
package/zip-build/package.json
CHANGED
|
@@ -31,7 +31,7 @@ const bundledTerserOptions = {
|
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
const GLOBALS = "const { Array, Object, String, Number, BigInt, Math, Date, Map, Set, Response, URL, Error, Uint8Array, Uint16Array, Uint32Array, DataView, Blob, Promise, TextEncoder, TextDecoder, crypto, btoa, TransformStream, ReadableStream, WritableStream, CompressionStream, DecompressionStream, navigator, Worker, setTimeout, clearTimeout } = typeof globalThis !== 'undefined' ? globalThis :
|
|
34
|
+
const GLOBALS = "const { Array, Object, String, Number, BigInt, Math, Date, Map, Set, Response, URL, Error, Uint8Array, Uint16Array, Uint32Array, DataView, Blob, Promise, TextEncoder, TextDecoder, crypto, btoa, TransformStream, ReadableStream, WritableStream, CompressionStream, DecompressionStream, navigator, Worker, setTimeout, clearTimeout } = typeof globalThis !== 'undefined' ? globalThis : self;";
|
|
35
35
|
const GLOBALS_WORKER = "const { Array, Object, Number, Math, Error, Uint8Array, Uint16Array, Uint32Array, Int32Array, Map, DataView, Promise, TextEncoder, crypto, postMessage, TransformStream, ReadableStream, WritableStream, CompressionStream, DecompressionStream } = self;";
|
|
36
36
|
|
|
37
37
|
export default [{
|