@zip.js/zip.js 2.8.6 → 2.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- ((A,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).zip={})})(this,function(A){"use strict";const{Array:e,Object:t,String:i,Number:r,BigInt:g,Math:n,Date:o,Map:a,Set:s,Response:B,URL:l,Error:c,Uint8Array:I,Uint16Array:u,Uint32Array:C,DataView:E,Blob:h,Promise:w,TextEncoder:f,TextDecoder:d,document:F,crypto:Q,btoa:D,TransformStream:Y,ReadableStream:p,WritableStream:m,CompressionStream:y,DecompressionStream:S,navigator:M,Worker:b}="undefined"!=typeof globalThis?globalThis:this||self;var G=void 0!==F?F.currentScript:null;const O=4294967295,K=65535,U=67324752,k=134695760,W=k,T=33639248,L=101010256,z=101075792,H=117853008,N=22,R=21589,x=2048,J="/",X=30,P=new o(2107,11,31),V=new o(1980,0,1),v=void 0,Z="undefined",q="function";let j=2;try{typeof M!=Z&&M.hardwareConcurrency&&(j=M.hardwareConcurrency)}catch{}const _={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:j,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof y!=Z&&y,DecompressionStream:typeof S!=Z&&S},$=t.assign({},_);function AA(){return $}function eA(A){return n.max(A.chunkSize,64)}function tA(A){const{baseURI:e,chunkSize:t,maxWorkers:i,terminateWorkerTimeout:r,useCompressionStream:g,useWebWorkers:n,CompressionStream:o,DecompressionStream:a,CompressionStreamZlib:s,DecompressionStreamZlib:B,workerURI:l,wasmURI:c}=A;iA("baseURI",e),iA("wasmURI",c),iA("workerURI",l),iA("chunkSize",t),iA("maxWorkers",i),iA("terminateWorkerTimeout",r),iA("useCompressionStream",g),iA("useWebWorkers",n),iA("CompressionStream",o),iA("DecompressionStream",a),iA("CompressionStreamZlib",s),iA("DecompressionStreamZlib",B)}function iA(A,e){e!==v&&($[A]=e)}const rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",gA=[];for(let A=0;256>A;A++){let e=A;for(let A=0;8>A;A++)1&e?e=e>>>1^3988292384:e>>>=1;gA[A]=e}class nA{constructor(A){this.crc=A||-1}append(A){let e=0|this.crc;for(let t=0,i=0|A.length;i>t;t++)e=e>>>8^gA[255&(e^A[t])];this.crc=e}get(){return~this.crc}}class oA extends Y{constructor(){let A;const e=new nA;super({transform(A,t){e.append(A),t.enqueue(A)},flush(){const t=new I(4);new E(t.buffer).setUint32(0,e.get()),A.value=t}}),A=this}}function aA(A){if(typeof f==Z){const e=new I((A=unescape(encodeURIComponent(A))).length);for(let t=0;t<e.length;t++)e[t]=A.charCodeAt(t);return e}return(new f).encode(A)}const sA={concat(A,e){if(0===A.length||0===e.length)return A.concat(e);const t=A[A.length-1],i=sA.getPartial(t);return 32===i?A.concat(e):sA._shiftRight(e,i,0|t,A.slice(0,A.length-1))},bitLength(A){const e=A.length;if(0===e)return 0;const t=A[e-1];return 32*(e-1)+sA.getPartial(t)},clamp(A,e){if(32*A.length<e)return A;const t=(A=A.slice(0,n.ceil(e/32))).length;return e&=31,t>0&&e&&(A[t-1]=sA.partial(e,A[t-1]&2147483648>>e-1,1)),A},partial:(A,e,t)=>32===A?e:(t?0|e:e<<32-A)+1099511627776*A,getPartial:A=>n.round(A/1099511627776)||32,_shiftRight(A,e,t,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(t),t=0;if(0===e)return i.concat(A);for(let r=0;r<A.length;r++)i.push(t|A[r]>>>e),t=A[r]<<32-e;const r=A.length?A[A.length-1]:0,g=sA.getPartial(r);return i.push(sA.partial(e+g&31,e+g>32?t:i.pop(),1)),i}},BA={bytes:{fromBits(A){const e=sA.bitLength(A)/8,t=new I(e);let i;for(let r=0;e>r;r++)3&r||(i=A[r/4]),t[r]=i>>>24,i<<=8;return t},toBits(A){const e=[];let t,i=0;for(t=0;t<A.length;t++)i=i<<8|A[t],3&~t||(e.push(i),i=0);return 3&t&&e.push(sA.partial(8*(3&t),i)),e}}},lA=class{constructor(A){const e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],A?(e._h=A._h.slice(0),e._buffer=A._buffer.slice(0),e._length=A._length):e.reset()}reset(){const A=this;return A._h=A._init.slice(0),A._buffer=[],A._length=0,A}update(A){const e=this;"string"==typeof A&&(A=BA.utf8String.toBits(A));const t=e._buffer=sA.concat(e._buffer,A),i=e._length,r=e._length=i+sA.bitLength(A);if(r>9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const g=new C(t);let n=0;for(let A=e.blockSize+i-(e.blockSize+i&e.blockSize-1);r>=A;A+=e.blockSize)e._block(g.subarray(16*n,16*(n+1))),n+=1;return t.splice(0,16*n),e}finalize(){const A=this;let e=A._buffer;const t=A._h;e=sA.concat(e,[sA.partial(1,1)]);for(let A=e.length+2;15&A;A++)e.push(0);for(e.push(n.floor(A._length/4294967296)),e.push(0|A._length);e.length;)A._block(e.splice(0,16));return A.reset(),t}_f(A,e,t,i){return A>19?A>39?A>59?A>79?void 0:e^t^i:e&t|e&i|t&i:e^t^i:e&t|~e&i}_S(A,e){return e<<A|e>>>32-A}_block(A){const t=this,i=t._h,r=e(80);for(let e=0;16>e;e++)r[e]=A[e];let g=i[0],o=i[1],a=i[2],s=i[3],B=i[4];for(let A=0;79>=A;A++){16>A||(r[A]=t._S(1,r[A-3]^r[A-8]^r[A-14]^r[A-16]));const e=t._S(5,g)+t._f(A,o,a,s)+B+r[A]+t._key[n.floor(A/20)]|0;B=s,s=a,a=t._S(30,o),o=g,g=e}i[0]=i[0]+g|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+B|0}},cA={getRandomValues(A){const e=new C(A.buffer),t=A=>{let e=987654321;const t=4294967295;return()=>(e=36969*(65535&e)+(e>>16)&t,(((e<<16)+(A=18e3*(65535&A)+(A>>16)&t)&t)/4294967296+.5)*(n.random()>.5?1:-1))};for(let i,r=0;r<A.length;r+=4){const A=t(4294967296*(i||n.random()));i=987654071*A(),e[r/4]=4294967296*A()|0}return A}},IA={importKey:A=>new IA.hmacSha1(BA.bytes.toBits(A)),pbkdf2(A,e,t,i){if(t=t||1e4,0>i||0>t)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let g,n,o,a,s;const B=new ArrayBuffer(r),l=new E(B);let I=0;const u=sA;for(e=BA.bytes.toBits(e),s=1;(r||1)>I;s++){for(g=n=A.encrypt(u.concat(e,[s])),o=1;t>o;o++)for(n=A.encrypt(n),a=0;a<n.length;a++)g[a]^=n[a];for(o=0;(r||1)>I&&o<g.length;o++)l.setInt32(I,g[o]),I+=4}return B.slice(0,i/8)},hmacSha1:class{constructor(A){const e=this,t=e._hash=lA,i=[[],[]];e._baseHash=[new t,new t];const r=e._baseHash[0].blockSize/32;A.length>r&&(A=(new t).update(A).finalize());for(let e=0;r>e;e++)i[0][e]=909522486^A[e],i[1][e]=1549556828^A[e];e._baseHash[0].update(i[0]),e._baseHash[1].update(i[1]),e._resultHash=new t(e._baseHash[0])}reset(){const A=this;A._resultHash=new A._hash(A._baseHash[0]),A._updated=!1}update(A){this._updated=!0,this._resultHash.update(A)}digest(){const A=this,e=A._resultHash.finalize(),t=new A._hash(A._baseHash[1]).update(e).finalize();return A.reset(),t}encrypt(A){if(this._updated)throw new c("encrypt on already updated hmac called!");return this.update(A),this.digest(A)}}},uA=typeof Q!=Z&&typeof Q.getRandomValues==q,CA="Invalid password",EA="Invalid signature",hA="zipjs-abort-check-password";function wA(A){return uA?Q.getRandomValues(A):cA.getRandomValues(A)}const fA=16,dA={name:"PBKDF2"},FA=t.assign({hash:{name:"HMAC"}},dA),QA=t.assign({iterations:1e3,hash:{name:"SHA-1"}},dA),DA=["deriveBits"],YA=[8,12,16],pA=[16,24,32],mA=10,yA=[0,0,0,0],SA=typeof Q!=Z,MA=SA&&Q.subtle,bA=SA&&typeof MA!=Z,GA=BA.bytes,OA=class{constructor(A){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const t=e._tables[0][4],i=e._tables[1],r=A.length;let g,n,o,a=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(e._key=[n=A.slice(0),o=[]],g=r;4*r+28>g;g++){let A=n[g-1];(g%r===0||8===r&&g%r===4)&&(A=t[A>>>24]<<24^t[A>>16&255]<<16^t[A>>8&255]<<8^t[255&A],g%r===0&&(A=A<<8^A>>>24^a<<24,a=a<<1^283*(a>>7))),n[g]=n[g-r]^A}for(let A=0;g;A++,g--){const e=n[3&A?g:g-4];o[A]=4>=g||4>A?e:i[0][t[e>>>24]]^i[1][t[e>>16&255]]^i[2][t[e>>8&255]]^i[3][t[255&e]]}}encrypt(A){return this._crypt(A,0)}decrypt(A){return this._crypt(A,1)}_precompute(){const A=this._tables[0],e=this._tables[1],t=A[4],i=e[4],r=[],g=[];let n,o,a,s;for(let A=0;256>A;A++)g[(r[A]=A<<1^283*(A>>7))^A]=A;for(let B=n=0;!t[B];B^=o||1,n=g[n]||1){let g=n^n<<1^n<<2^n<<3^n<<4;g=g>>8^255&g^99,t[B]=g,i[g]=B,s=r[a=r[o=r[B]]];let l=16843009*s^65537*a^257*o^16843008*B,c=257*r[g]^16843008*g;for(let t=0;4>t;t++)A[t][B]=c=c<<24^c>>>8,e[t][g]=l=l<<24^l>>>8}for(let t=0;5>t;t++)A[t]=A[t].slice(0),e[t]=e[t].slice(0)}_crypt(A,e){if(4!==A.length)throw new c("invalid aes block size");const t=this._key[e],i=t.length/4-2,r=[0,0,0,0],g=this._tables[e],n=g[0],o=g[1],a=g[2],s=g[3],B=g[4];let l,I,u,C=A[0]^t[0],E=A[e?3:1]^t[1],h=A[2]^t[2],w=A[e?1:3]^t[3],f=4;for(let A=0;i>A;A++)l=n[C>>>24]^o[E>>16&255]^a[h>>8&255]^s[255&w]^t[f],I=n[E>>>24]^o[h>>16&255]^a[w>>8&255]^s[255&C]^t[f+1],u=n[h>>>24]^o[w>>16&255]^a[C>>8&255]^s[255&E]^t[f+2],w=n[w>>>24]^o[C>>16&255]^a[E>>8&255]^s[255&h]^t[f+3],f+=4,C=l,E=I,h=u;for(let A=0;4>A;A++)r[e?3&-A:A]=B[C>>>24]<<24^B[E>>16&255]<<16^B[h>>8&255]<<8^B[255&w]^t[f++],l=C,C=E,E=h,h=w,w=l;return r}},KA=class{constructor(A,e){this._prf=A,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(A){return this.calculate(this._prf,A,this._iv)}incWord(A){if(255&~(A>>24))A+=1<<24;else{let e=A>>16&255,t=A>>8&255,i=255&A;255===e?(e=0,255===t?(t=0,255===i?i=0:++i):++t):++e,A=0,A+=e<<16,A+=t<<8,A+=i}return A}incCounter(A){0===(A[0]=this.incWord(A[0]))&&(A[1]=this.incWord(A[1]))}calculate(A,e,t){let i;if(!(i=e.length))return[];const r=sA.bitLength(e);for(let r=0;i>r;r+=4){this.incCounter(t);const i=A.encrypt(t);e[r]^=i[0],e[r+1]^=i[1],e[r+2]^=i[2],e[r+3]^=i[3]}return sA.clamp(e,r)}},UA=IA.hmacSha1;let kA=SA&&bA&&typeof MA.importKey==q,WA=SA&&bA&&typeof MA.deriveBits==q;class TA extends Y{constructor({password:A,rawPassword:e,signed:i,encryptionStrength:r,checkPasswordOnly:g}){super({start(){t.assign(this,{ready:new w(A=>this.resolveReady=A),password:NA(A,e),signed:i,strength:r-1,pending:new I})},async transform(A,e){const t=this,{password:i,strength:r,resolveReady:n,ready:o}=t;i?(await(async(A,e,t,i)=>{const r=await HA(A,e,t,xA(i,0,YA[e])),g=xA(i,YA[e]);if(r[0]!=g[0]||r[1]!=g[1])throw new c(CA)})(t,r,i,xA(A,0,YA[r]+2)),A=xA(A,YA[r]+2),g?e.error(new c(hA)):n()):await o;const a=new I(A.length-mA-(A.length-mA)%fA);e.enqueue(zA(t,A,a,0,mA,!0))},async flush(A){const{signed:e,ctr:t,hmac:i,pending:r,ready:g}=this;if(i&&t){await g;const n=xA(r,0,r.length-mA),o=xA(r,r.length-mA);let a=new I;if(n.length){const A=XA(GA,n);i.update(A);const e=t.update(A);a=JA(GA,e)}if(e){const A=xA(JA(GA,i.digest()),0,mA);for(let e=0;mA>e;e++)if(A[e]!=o[e])throw new c(EA)}A.enqueue(a)}}})}}class LA extends Y{constructor({password:A,rawPassword:e,encryptionStrength:i}){let r;super({start(){t.assign(this,{ready:new w(A=>this.resolveReady=A),password:NA(A,e),strength:i-1,pending:new I})},async transform(A,e){const t=this,{password:i,strength:r,resolveReady:g,ready:n}=t;let o=new I;i?(o=await(async(A,e,t)=>{const i=wA(new I(YA[e]));return RA(i,await HA(A,e,t,i))})(t,r,i),g()):await n;const a=new I(o.length+A.length-A.length%fA);a.set(o,0),e.enqueue(zA(t,A,a,o.length,0))},async flush(A){const{ctr:e,hmac:t,pending:i,ready:g}=this;if(t&&e){await g;let n=new I;if(i.length){const A=e.update(XA(GA,i));t.update(A),n=JA(GA,A)}r.signature=JA(GA,t.digest()).slice(0,mA),A.enqueue(RA(n,r.signature))}}}),r=this}}function zA(A,e,t,i,r,g){const{ctr:n,hmac:o,pending:a}=A,s=e.length-r;let B;for(a.length&&(e=RA(a,e),t=((A,e)=>{if(e&&e>A.length){const t=A;(A=new I(e)).set(t,0)}return A})(t,s-s%fA)),B=0;s-fA>=B;B+=fA){const A=XA(GA,xA(e,B,B+fA));g&&o.update(A);const r=n.update(A);g||o.update(r),t.set(JA(GA,r),B+i)}return A.pending=xA(e,B),t}async function HA(A,i,r,g){A.password=null;const n=await(async(A,e,t,i,r)=>{if(!kA)return IA.importKey(e);try{return await MA.importKey("raw",e,t,!1,r)}catch{return kA=!1,IA.importKey(e)}})(0,r,FA,0,DA),o=await(async(A,e,t)=>{if(!WA)return IA.pbkdf2(e,A.salt,QA.iterations,t);try{return await MA.deriveBits(A,e,t)}catch{return WA=!1,IA.pbkdf2(e,A.salt,QA.iterations,t)}})(t.assign({salt:g},QA),n,8*(2*pA[i]+2)),a=new I(o),s=XA(GA,xA(a,0,pA[i])),B=XA(GA,xA(a,pA[i],2*pA[i])),l=xA(a,2*pA[i]);return t.assign(A,{keys:{key:s,authentication:B,passwordVerification:l},ctr:new KA(new OA(s),e.from(yA)),hmac:new UA(B)}),l}function NA(A,e){return e===v?aA(A):e}function RA(A,e){let t=A;return A.length+e.length&&(t=new I(A.length+e.length),t.set(A,0),t.set(e,A.length)),t}function xA(A,e,t){return A.subarray(e,t)}function JA(A,e){return A.fromBits(e)}function XA(A,e){return A.toBits(e)}class PA extends Y{constructor({password:A,passwordVerification:e,checkPasswordOnly:i}){super({start(){t.assign(this,{password:A,passwordVerification:e}),qA(this,A)},transform(A,e){const t=this;if(t.password){const e=vA(t,A.subarray(0,12));if(t.password=null,e.at(-1)!=t.passwordVerification)throw new c(CA);A=A.subarray(12)}i?e.error(new c(hA)):e.enqueue(vA(t,A))}})}}class VA extends Y{constructor({password:A,passwordVerification:e}){super({start(){t.assign(this,{password:A,passwordVerification:e}),qA(this,A)},transform(A,e){const t=this;let i,r;if(t.password){t.password=null;const e=wA(new I(12));e[11]=t.passwordVerification,i=new I(A.length+e.length),i.set(ZA(t,e),0),r=12}else i=new I(A.length),r=0;i.set(ZA(t,A),r),e.enqueue(i)}})}}function vA(A,e){const t=new I(e.length);for(let i=0;i<e.length;i++)t[i]=_A(A)^e[i],jA(A,t[i]);return t}function ZA(A,e){const t=new I(e.length);for(let i=0;i<e.length;i++)t[i]=_A(A)^e[i],jA(A,e[i]);return t}function qA(A,e){const i=[305419896,591751049,878082192];t.assign(A,{keys:i,crcKey0:new nA(i[0]),crcKey2:new nA(i[2])});for(let t=0;t<e.length;t++)jA(A,e.charCodeAt(t))}function jA(A,e){let[t,i,r]=A.keys;A.crcKey0.append([e]),t=~A.crcKey0.get(),i=Ae(n.imul(Ae(i+$A(t)),134775813)+1),A.crcKey2.append([i>>>24]),r=~A.crcKey2.get(),A.keys=[t,i,r]}function _A(A){const e=2|A.keys[2];return $A(n.imul(e,1^e)>>>8)}function $A(A){return 255&A}function Ae(A){return 4294967295&A}const ee="Invalid uncompressed size";class te extends Y{constructor(A,{chunkSize:e,CompressionStreamZlib:t,CompressionStream:i}){super({});const{compressed:r,encrypted:g,useCompressionStream:n,zipCrypto:o,signed:a,level:s}=A,B=this;let l,c,I=super.readable;g&&!o||!a||(l=new oA,I=ne(I,l)),r&&(I=ge(I,n,{level:s,chunkSize:e},i,t,i)),g&&(o?I=ne(I,new VA(A)):(c=new LA(A),I=ne(I,c))),re(B,I,()=>{let A;g&&!o&&(A=c.signature),g&&!o||!a||(A=new E(l.value.buffer).getUint32(0)),B.signature=A})}}class ie extends Y{constructor(A,{chunkSize:e,DecompressionStreamZlib:t,DecompressionStream:i}){super({});const{zipCrypto:r,encrypted:g,signed:n,signature:o,compressed:a,useCompressionStream:s,deflate64:B}=A;let l,I,u=super.readable;g&&(r?u=ne(u,new PA(A)):(I=new TA(A),u=ne(u,I))),a&&(u=ge(u,s,{chunkSize:e,deflate64:B},i,t,i)),g&&!r||!n||(l=new oA,u=ne(u,l)),re(this,u,()=>{if((!g||r)&&n){const A=new E(l.value.buffer);if(o!=A.getUint32(0,!1))throw new c(EA)}})}}function re(A,e,i){e=ne(e,new Y({flush:i})),t.defineProperty(A,"readable",{get:()=>e})}function ge(A,e,t,i,r,g){const n=e&&i?i:r||g,o=t.deflate64?"deflate64-raw":"deflate-raw";try{A=ne(A,new n(o,t))}catch(i){if(!e)throw i;if(r)A=ne(A,new r(o,t));else{if(!g)throw i;A=ne(A,new g(o,t))}}return A}function ne(A,e){return A.pipeThrough(e)}const oe="data",ae="close",se="deflate",Be="inflate";class le extends Y{constructor(A,e){super({});const i=this,{codecType:r}=A;let g;r.startsWith(se)?g=te:r.startsWith(Be)&&(g=ie),i.outputSize=0;let n=0;const o=new g(A,e),a=super.readable,s=new Y({transform(A,e){A&&A.length&&(n+=A.length,e.enqueue(A))},flush(){t.assign(i,{inputSize:n})}}),B=new Y({transform(e,t){if(e&&e.length&&(t.enqueue(e),i.outputSize+=e.length,A.outputSize!==v&&i.outputSize>A.outputSize))throw new c(ee)},flush(){const{signature:A}=o;t.assign(i,{signature:A,inputSize:n})}});t.defineProperty(i,"readable",{get:()=>a.pipeThrough(s).pipeThrough(o).pipeThrough(B)})}}class ce extends Y{constructor(A){let e;super({transform:function t(i,r){if(e){const A=new I(e.length+i.length);A.set(e),A.set(i,e.length),i=A,e=null}i.length>A?(r.enqueue(i.slice(0,A)),t(i.slice(A),r)):e=i},flush(A){e&&e.length&&A.enqueue(e)}})}}let Ie=typeof b!=Z;class ue{constructor(A,{readable:e,writable:i},{options:r,config:g,streamOptions:n,useWebWorkers:o,transferStreams:a,workerURI:s},B){const{signal:l}=n;return t.assign(A,{busy:!0,readable:e.pipeThrough(new ce(g.chunkSize)).pipeThrough(new Ce(n),{signal:l}),writable:i,options:t.assign({},r),workerURI:s,transferStreams:a,terminate:()=>new w(e=>{const{worker:t,busy:i}=A;t?(i?A.resolveTerminated=e:(t.terminate(),e()),A.interface=null):e()}),onTaskFinished(){const{resolveTerminated:e}=A;e&&(A.resolveTerminated=null,A.terminated=!0,A.worker.terminate(),e()),A.busy=!1,B(A)}}),(o&&Ie?we:he)(A,g)}}class Ce extends Y{constructor({onstart:A,onprogress:e,size:t,onend:i}){let r=0;super({async start(){A&&await Ee(A,t)},async transform(A,i){r+=A.length,e&&await Ee(e,r,t),i.enqueue(A)},async flush(){i&&await Ee(i,r)}})}}async function Ee(A,...e){try{await A(...e)}catch{}}function he(A,e){return{run:()=>(async({options:A,readable:e,writable:t,onTaskFinished:i},r)=>{let g;try{if(!A.useCompressionStream)try{await void 0}catch{A.useCompressionStream=!0}g=new le(A,r),await e.pipeThrough(g).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:n,outputSize:o}=g;return{signature:i,inputSize:n,outputSize:o}}catch(A){throw g&&(A.outputSize=g.outputSize),A}finally{i()}})(A,e)}}function we(A,e){const{baseURI:i,chunkSize:r}=e;let{wasmURI:g}=e;if(!A.interface){let n;typeof g==q&&(g=g());try{n=((A,e,i)=>{const r={type:"module"};let g,n;if(typeof A==q&&(A=A()),A.startsWith("data:")||A.startsWith("blob:"))try{n=new b(A)}catch{n=new b(A,r)}else{try{g=new l(A,e)}catch{g=A}n=new b(g,r)}return n.addEventListener("message",A=>(async({data:A},e)=>{const{type:i,value:r,messageId:g,result:n,error:o}=A,{reader:a,writer:s,resolveResult:B,rejectResult:l,onTaskFinished:u}=e;try{if(o){const{message:A,stack:e,code:i,name:r,outputSize:g}=o,n=new c(A);t.assign(n,{stack:e,code:i,name:r,outputSize:g}),C(n)}else{if("pull"==i){const{value:A,done:t}=await a.read();de({type:oe,value:A,done:t,messageId:g},e)}i==oe&&(await s.ready,await s.write(new I(r)),de({type:"ack",messageId:g},e)),i==ae&&C(null,n)}}catch(o){de({type:ae,messageId:g},e),C(o)}function C(A,e){A?l(A):B(e),s&&s.releaseLock(),u()}})(A,i)),n})(A.workerURI,i,A)}catch{return Ie=!1,he(A,e)}t.assign(A,{worker:n,interface:{run:()=>(async(A,e)=>{let i,r;const g=new w((A,e)=>{i=A,r=e});t.assign(A,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:g});const{readable:n,options:o}=A,{writable:a,closed:s}=(A=>{let e;const t=new w(A=>e=A);return{writable:new m({async write(e){const t=A.getWriter();await t.ready,await t.write(e),t.releaseLock()},close(){e()},abort:e=>A.getWriter().abort(e)}),closed:t}})(A.writable),B=de({type:"start",options:o,config:e,readable:n,writable:a},A);B||t.assign(A,{reader:n.getReader(),writer:a.getWriter()});const l=await g;return B||await a.getWriter().close(),await s,l})(A,{chunkSize:r,wasmURI:g,baseURI:i})}})}return A.interface}let fe=!0;function de(A,{worker:e,writer:t,onTaskFinished:i,transferStreams:r}){try{const{value:t,readable:i,writable:g}=A,n=[];if(t&&(t.byteLength<t.buffer.byteLength?A.value=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):A.value=t.buffer,n.push(A.value)),r&&fe?(i&&n.push(i),g&&n.push(g)):A.readable=A.writable=null,n.length)try{return e.postMessage(A,n),!0}catch{fe=!1,A.readable=A.writable=null,e.postMessage(A)}else e.postMessage(A)}catch(A){throw t&&t.releaseLock(),i(),A}}let Fe=[];const Qe=[];let De=0;async function Ye(A,e){const{options:t,config:i}=e,{transferStreams:g,useWebWorkers:n,useCompressionStream:o,compressed:a,signed:s,encrypted:B}=t,{workerURI:l,maxWorkers:c}=i;e.transferStreams=g||g===v;const I=!(a||s||B||e.transferStreams);return e.useWebWorkers=!I&&(n||n===v&&i.useWebWorkers),e.workerURI=e.useWebWorkers&&l?l:v,t.useCompressionStream=o||o===v&&i.useCompressionStream,(await(async()=>{const t=Fe.find(A=>!A.busy);if(t)return pe(t),new ue(t,A,e,u);if(Fe.length<c){const t={indexWorker:De};return De++,Fe.push(t),new ue(t,A,e,u)}return new w(t=>Qe.push({resolve:t,stream:A,workerOptions:e}))})()).run();function u(A){if(Qe.length){const[{resolve:e,stream:t,workerOptions:i}]=Qe.splice(0,1);e(new ue(A,t,i,u))}else A.worker?(pe(A),((A,e)=>{const{config:t}=e,{terminateWorkerTimeout:i}=t;r.isFinite(i)&&i>=0&&(A.terminated?A.terminated=!1:A.terminateTimeout=setTimeout(async()=>{Fe=Fe.filter(e=>e!=A);try{await A.terminate()}catch{}},i))})(A,e)):Fe=Fe.filter(e=>e!=A)}}function pe(A){const{terminateTimeout:e}=A;e&&(clearTimeout(e),A.terminateTimeout=null)}const me="HTTP error ",ye="HTTP Range not supported",Se="Range",Me="GET",be="bytes",Ge=65536,Oe="writable";class Ke{constructor(){this.size=0}init(){this.initialized=!0}}class Ue extends Ke{get readable(){const A=this,{chunkSize:e=Ge}=A,t=new p({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:g,diskNumberStart:o}=t,{chunkOffset:a}=this,s=g===v?e:n.min(e,g-a),B=await it(A,r+a,s,o);i.enqueue(B),a+e>g||g===v&&!B.length&&s?i.close():this.chunkOffset+=e}});return t}}class ke extends Ke{constructor(){super();const A=this,e=new m({write(e){if(!A.initialized)throw new c("Writer not initialized");return A.writeUint8Array(e)}});t.defineProperty(A,Oe,{get:()=>e})}writeUint8Array(){}}class We extends Ue{constructor(A){super(),t.assign(this,{blob:A,size:A.size})}async readUint8Array(A,e){const t=this,i=A+e,r=A||i<t.size?t.blob.slice(A,i):t.blob;let g=await r.arrayBuffer();return g.byteLength>e&&(g=g.slice(A,i)),new I(g)}}class Te extends Ke{constructor(A){super();const e=new Y,i=[];A&&i.push(["Content-Type",A]),t.defineProperty(this,Oe,{get:()=>e.writable}),this.blob=new B(e.readable,{headers:i}).blob()}getData(){return this.blob}}class Le extends Ue{constructor(A,e){super(),He(this,A,e)}async init(){await Ne(this,Ze,Xe),super.init()}readUint8Array(A,e){return Re(this,A,e,Ze,Xe)}}class ze extends Ue{constructor(A,e){super(),He(this,A,e)}async init(){await Ne(this,qe,Pe),super.init()}readUint8Array(A,e){return Re(this,A,e,qe,Pe)}}function He(A,e,i){const{preventHeadRequest:r,useRangeHeader:g,forceRangeRequests:n,combineSizeEocd:o}=i;delete(i=t.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,t.assign(A,{url:e,options:i,preventHeadRequest:r,useRangeHeader:g,forceRangeRequests:n,combineSizeEocd:o})}async function Ne(A,e,t){const{url:i,preventHeadRequest:g,useRangeHeader:n,forceRangeRequests:o,combineSizeEocd:a}=A;if((A=>{const{baseURI:e}=AA(),{protocol:t}=new l(A,e);return"http:"==t||"https:"==t})(i)&&(n||o)&&(void 0===g||g)){const i=await e(Me,A,xe(A,a?-22:void 0)),g=i.headers.get("Accept-Ranges");if(!(o||g&&g.toLowerCase()==be))throw new c(ye);{let g;a&&(A.eocdCache=new I(await i.arrayBuffer()));const n=i.headers.get("Content-Range");if(n){const A=n.trim().split(/\s*\/\s*/);if(A.length){const e=A[1];e&&"*"!=e&&(g=r(e))}}g===v?await ve(A,e,t):A.size=g}}else await ve(A,e,t)}async function Re(A,e,t,i,r){const{useRangeHeader:g,forceRangeRequests:n,eocdCache:o,size:a,options:s}=A;if(g||n){if(o&&e==a-N&&t==N)return o;if(a>e){e+t>a&&(t=a-e);const r=await i(Me,A,xe(A,e,t));if(206!=r.status)throw new c(ye);return new I(await r.arrayBuffer())}return new I}{const{data:i}=A;return i||await r(A,s),new I(A.data.subarray(e,e+t))}}function xe(A,e=0,i=1){return t.assign({},Je(A),{[Se]:be+"="+(0>e?e:e+"-"+(e+i-1))})}function Je({options:A}){const{headers:e}=A;if(e)return Symbol.iterator in e?t.fromEntries(e):e}async function Xe(A){await Ve(A,Ze)}async function Pe(A){await Ve(A,qe)}async function Ve(A,e){const t=await e(Me,A,Je(A));A.data=new I(await t.arrayBuffer()),A.size||(A.size=A.data.length)}async function ve(A,e,t){if(A.preventHeadRequest)await t(A,A.options);else{const i=(await e("HEAD",A,Je(A))).headers.get("Content-Length");i?A.size=r(i):await t(A,A.options)}}async function Ze(A,{options:e,url:i},r){const g=await fetch(i,t.assign({},e,{method:A,headers:r}));if(400>g.status)return g;throw 416==g.status?new c(ye):new c(me+(g.statusText||g.status))}function qe(A,{url:e},i){return new w((r,g)=>{const n=new XMLHttpRequest;if(n.addEventListener("load",()=>{if(400>n.status){const A=[];n.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const t=e.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,A=>A.toUpperCase()),A.push(t)}),r({status:n.status,arrayBuffer:()=>n.response,headers:new a(A)})}else g(416==n.status?new c(ye):new c(me+(n.statusText||n.status)))},!1),n.addEventListener("error",A=>g(A.detail?A.detail.error:new c("Network error")),!1),n.open(A,e),i)for(const A of t.entries(i))n.setRequestHeader(A[0],A[1]);n.responseType="arraybuffer",n.send()})}class je extends Ue{constructor(A,e={}){super(),t.assign(this,{url:A,reader:e.useXHR?new ze(A,e):new Le(A,e)})}set size(A){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(A,e){return this.reader.readUint8Array(A,e)}}class _e extends Ue{constructor(A){super(),this.readers=A}async init(){const A=this,{readers:e}=A;A.lastDiskNumber=0,A.lastDiskOffset=0,await w.all(e.map(async(t,i)=>{await t.init(),i!=e.length-1&&(A.lastDiskOffset+=t.size),A.size+=t.size})),super.init()}async readUint8Array(A,e,t=0){const i=this,{readers:r}=this;let g,o=t;-1==o&&(o=r.length-1);let a=A;for(;r[o]&&a>=r[o].size;)a-=r[o].size,o++;const s=r[o];if(s){const r=s.size;if(a+e>r){const n=r-a;g=new I(e);const o=await it(s,a,n);g.set(o,0);const B=await i.readUint8Array(A+n,e-n,t);g.set(B,n),o.length+B.length<e&&(g=g.subarray(0,o.length+B.length))}else g=await it(s,a,e)}else g=new I;return i.lastDiskNumber=n.max(o,i.lastDiskNumber),g}}class $e extends Ke{constructor(A,e=4294967295){super();const i=this;let r,g,n;t.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new m({async write(e){const{availableSize:t}=i;if(n)e.length<t?await a(e):(await a(e.subarray(0,t)),await s(),i.diskOffset+=r.size,i.diskNumber++,n=null,await this.write(e.subarray(t)));else{const{value:t,done:o}=await A.next();if(o&&!t)throw new c("Writer iterator completed too soon");r=t,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await tt(r),g=t.writable,n=g.getWriter(),await this.write(e)}},async close(){await n.ready,await s()}});async function a(A){const e=A.length;e&&(await n.ready,await n.write(A),r.size+=e,i.size+=e,i.availableSize-=e)}async function s(){await n.close()}t.defineProperty(i,Oe,{get:()=>o})}}class At{constructor(A){return e.isArray(A)&&(A=new _e(A)),A instanceof p&&(A={readable:A}),A}}class et{constructor(A){return A.writable===v&&typeof A.next==q&&(A=new $e(A)),A instanceof m&&(A={writable:A}),A.size===v&&(A.size=0),A instanceof $e||t.assign(A,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),A}}async function tt(A,e){if(!A.init||A.initialized)return w.resolve();await A.init(e)}function it(A,e,t,i){return A.readUint8Array(e,t,i)}const rt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function gt(A,e){return e&&"cp437"==e.trim().toLowerCase()?(A=>{{let e="";for(let t=0;t<A.length;t++)e+=rt[A[t]];return e}})(A):new d(e).decode(A)}const nt="filename",ot="rawFilename",at="comment",st="rawComment",Bt="uncompressedSize",lt="compressedSize",ct="offset",It="diskNumberStart",ut="lastModDate",Ct="rawLastModDate",Et="lastAccessDate",ht="creationDate",wt="internalFileAttributes",ft="externalFileAttributes",dt="msDosCompatible",Ft="zip64",Qt="encrypted",Dt="version",Yt="versionMadeBy",pt="zipCrypto",mt="directory",yt="executable",St="compressionMethod",Mt="signature",bt="extraField",Gt=[nt,ot,lt,Bt,ut,Ct,at,st,Et,ht,ct,It,It,wt,ft,dt,Ft,Qt,Dt,Yt,pt,mt,yt,St,Mt,bt,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Ot{constructor(A){Gt.forEach(e=>this[e]=A[e])}}const Kt="password",Ut="rawPassword",kt="passThrough",Wt="signal",Tt="useWebWorkers",Lt="useCompressionStream",zt="preventClose",Ht="supportZip64SplitFile",Nt="offset",Rt="usdz",xt="File format is not recognized",Jt="End of central directory not found",Xt="End of Zip64 central directory locator not found",Pt="Central directory header not found",Vt="Local file header not found",vt="Zip64 extra field not found",Zt="File contains encrypted entry",qt="Encryption method not supported",jt="Compression method not supported",_t="Split zip file",$t="Overlapping entry found",Ai="utf-8",ei="cp437",ti=[[Bt,O],[lt,O],[ct,O],[It,K]],ii={[K]:{getValue:ui,bytes:4},[O]:{getValue:Ci,bytes:8}};class ri{constructor(A,e={}){t.assign(this,{reader:new At(A),options:e,config:AA(),readRanges:[]})}async*getEntriesGenerator(A={}){const e=this;let{reader:i}=e;const{config:r}=e;if(await tt(i),i.size!==v&&i.readUint8Array||(i=new We(await new B(i.readable).blob()),await tt(i)),i.size<N)throw new c(xt);i.chunkSize=eA(r);const g=await(async(A,e,t)=>{const i=new I(4);var r;return r=e,Ei(i).setUint32(0,r,!0),await g(22)||await g(n.min(1048582,t));async function g(e){const r=t-e,g=await it(A,r,e);for(let A=g.length-22;A>=0;A--)if(g[A]==i[0]&&g[A+1]==i[1]&&g[A+2]==i[2]&&g[A+3]==i[3])return{offset:r+A,buffer:g.slice(A,A+22).buffer}}})(i,L,i.size);if(!g)throw ui(Ei(await it(i,0,4)))==k?new c(_t):new c(Jt);const o=Ei(g);let a=ui(o,12),s=ui(o,16);const l=g.offset,u=Ii(o,20),C=l+N+u;let E=Ii(o,4);const h=i.lastDiskNumber||0;let f=Ii(o,6),d=Ii(o,8),F=0,Q=0;if(s==O||a==O||d==K||f==K){const A=Ei(await it(i,g.offset-20,20));if(ui(A,0)==H){s=Ci(A,8);let e=await it(i,s,56,-1),t=Ei(e);const r=g.offset-20-56;if(ui(t,0)!=z&&s!=r){const A=s;s=r,s>A&&(F=s-A),e=await it(i,s,56,-1),t=Ei(e)}if(ui(t,0)!=z)throw new c(Xt);E==K&&(E=ui(t,16)),f==K&&(f=ui(t,20)),d==K&&(d=Ci(t,32)),a==O&&(a=Ci(t,40)),s-=a}}if(s<i.size||(F=i.size-s-a-N,s=i.size-a-N),h!=E)throw new c(_t);if(0>s)throw new c(xt);let D=0,p=await it(i,s,a,f),m=Ei(p);if(a){const A=g.offset-a;if(ui(m,D)!=T&&s!=A){const e=s;s=A,s>e&&(F+=s-e),p=await it(i,s,a,f),m=Ei(p)}}const y=g.offset-s-(i.lastDiskOffset||0);if(a==y||0>y||(a=y,p=await it(i,s,a,f),m=Ei(p)),0>s||s>=i.size)throw new c(xt);const S=si(e,A,"filenameEncoding"),M=si(e,A,"commentEncoding");for(let g=0;d>g;g++){const o=new gi(i,r,e.options);if(ui(m,D)!=T)throw new c(Pt);ni(o,m,D+6);const a=!!o.bitFlag.languageEncodingFlag,s=D+46,l=s+o.filenameLength,I=l+o.extraFieldLength,u=Ii(m,D+4),C=!(u>>8),E=u>>8==3,h=p.subarray(s,l),f=Ii(m,D+32),y=I+f,b=p.subarray(I,y),G=a,O=a,K=ui(m,D+38),U=C&&!(16&~ci(m,D+38))||E&&16384==(K>>16&61440)||h.length&&47==h.at(-1),k=E&&!!(K>>16&73),W=ui(m,D+42)+F;t.assign(o,{versionMadeBy:u,msDosCompatible:C,compressedSize:0,uncompressedSize:0,commentLength:f,directory:U,offset:W,diskNumberStart:Ii(m,D+34),internalFileAttributes:Ii(m,D+36),externalFileAttributes:K,rawFilename:h,filenameUTF8:G,commentUTF8:O,rawExtraField:p.subarray(l,I),executable:k}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const L=si(e,A,"decodeText")||gt,z=G?Ai:S||ei,H=O?Ai:M||ei;let N=L(h,z);N===v&&(N=gt(h,z));let R=L(b,H);R===v&&(R=gt(b,H)),t.assign(o,{rawComment:b,filename:N,comment:R,directory:U||N.endsWith(J)}),Q=n.max(W,Q),oi(o,o,m,D+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const x=new Ot(o);x.getData=(A,t)=>o.getData(A,x,e.readRanges,t),x.arrayBuffer=async A=>{const t=new Y,[i]=await w.all([new B(t.readable).arrayBuffer(),o.getData(t,x,e.readRanges,A)]);return i},D=y;const{onprogress:X}=A;if(X)try{await X(g+1,d,new Ot(o))}catch{}yield x}const b=si(e,A,"extractPrependedData"),G=si(e,A,"extractAppendedData");return b&&(e.prependedData=Q>0?await it(i,0,Q):new I),e.comment=u?await it(i,l+N,u):new I,G&&(e.appendedData=C<i.size?await it(i,C,i.size-C):new I),!0}async getEntries(A={}){const e=[];for await(const t of this.getEntriesGenerator(A))e.push(t);return e}async close(){}}class gi{constructor(A,e,i){t.assign(this,{reader:A,config:e,options:i})}async getData(A,e,i,r={}){const g=this,{reader:n,offset:o,diskNumberStart:a,extraFieldAES:s,extraFieldZip64:B,compressionMethod:l,config:u,bitFlag:C,signature:E,rawLastModDate:h,uncompressedSize:w,compressedSize:f}=g,{dataDescriptor:d}=C,F=e.localDirectory={},Q=Ei(await it(n,o,X,a));let D=si(g,r,Kt),Y=si(g,r,Ut);const p=si(g,r,kt);if(D=D&&D.length&&D,Y=Y&&Y.length&&Y,s&&99!=s.originalCompressionMethod)throw new c(jt);if(0!=l&&8!=l&&9!=l&&!p)throw new c(jt);if(ui(Q,0)!=U)throw new c(Vt);ni(F,Q,4);const{extraFieldLength:y,filenameLength:S,lastAccessDate:M,creationDate:b}=F;F.rawExtraField=y?await it(n,o+X+S,y,a):new I,oi(g,F,Q,4,!0),t.assign(e,{lastAccessDate:M,creationDate:b});const G=g.encrypted&&F.encrypted&&!p,O=G&&!s;if(p||(e.zipCrypto=O),G){if(!O&&s.strength===v)throw new c(qt);if(!D&&!Y)throw new c(Zt)}const K=o+X+S+y,k=f,T=n.readable;t.assign(T,{diskNumberStart:a,offset:K,size:k});const L=si(g,r,Wt),z=si(g,r,"checkPasswordOnly");let H=si(g,r,"checkOverlappingEntry");const N=si(g,r,"checkOverlappingEntryOnly");N&&(H=!0);const{onstart:R,onprogress:x,onend:J}=r,P=9==l;let V=si(g,r,Lt);P&&(V=!1);const Z={options:{codecType:Be,password:D,rawPassword:Y,zipCrypto:O,encryptionStrength:s&&s.strength,signed:si(g,r,"checkSignature")&&!p,passwordVerification:O&&(d?h>>>8&255:E>>>24&255),outputSize:p?f:w,signature:E,compressed:0!=l&&!p,encrypted:g.encrypted&&!p,useWebWorkers:si(g,r,Tt),useCompressionStream:V,transferStreams:si(g,r,"transferStreams"),deflate64:P,checkPasswordOnly:z},config:u,streamOptions:{signal:L,size:k,onstart:R,onprogress:x,onend:J}};let q;H&&await(async({reader:A,fileEntry:e,offset:t,diskNumberStart:i,signature:r,compressedSize:g,uncompressedSize:n,dataOffset:o,dataDescriptor:a,extraFieldZip64:s,readRanges:B})=>{let l=0;if(i)for(let e=0;i>e;e++)l+=A.readers[e].size;let I=0;if(a&&(I=s?20:12),I){const t=await it(A,o+g,I+4,i);if(ui(Ei(t),0)==W){const A=ui(Ei(t),4);let i,o;s?(i=Ci(Ei(t),8),o=Ci(Ei(t),16)):(i=ui(Ei(t),8),o=ui(Ei(t),12)),(e.encrypted&&!e.zipCrypto||A==r)&&i==g&&o==n&&(I+=4)}}const u={start:l+t,end:l+o+g+I,fileEntry:e};for(const A of B)if(A.fileEntry!=e&&u.start>=A.start&&u.start<A.end){const e=new c($t);throw e.overlappingEntry=A.fileEntry,e}B.push(u)})({reader:n,fileEntry:e,offset:o,diskNumberStart:a,signature:E,compressedSize:f,uncompressedSize:w,dataOffset:K,dataDescriptor:d||F.bitFlag.dataDescriptor,extraFieldZip64:B||F.extraFieldZip64,readRanges:i});try{if(!N){z&&(A=new m),A=new et(A),await tt(A,p?f:w),({writable:q}=A);const{outputSize:e}=await Ye({readable:T,writable:q},Z);if(A.size+=e,e!=(p?f:w))throw new c(ee)}}catch(e){if(e.outputSize!==v&&(A.size+=e.outputSize),!z||e.message!=hA)throw e}finally{si(g,r,zt)||!q||q.locked||await q.getWriter().close()}return z||N?v:A.getData?A.getData():q}}function ni(A,e,i){const r=A.rawBitFlag=Ii(e,i+2),g=!(1&~r),n=ui(e,i+6);t.assign(A,{encrypted:g,version:Ii(e,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&x)==x},rawLastModDate:n,lastModDate:Bi(n),filenameLength:Ii(e,i+22),extraFieldLength:Ii(e,i+24)})}function oi(A,e,i,r,g){const{rawExtraField:n}=e,s=e.extraField=new a,B=Ei(new I(n));let l=0;try{for(;l<n.length;){const A=Ii(B,l),e=Ii(B,l+2);s.set(A,{type:A,data:n.slice(l+4,l+4+e)}),l+=4+e}}catch{}const u=Ii(i,r+4);t.assign(e,{signature:ui(i,r+10),compressedSize:ui(i,r+14),uncompressedSize:ui(i,r+18)});const C=s.get(1);C&&(((A,e)=>{e.zip64=!0;const t=Ei(A.data),i=ti.filter(([A,t])=>e[A]==t);for(let r=0,g=0;r<i.length;r++){const[n,o]=i[r];if(e[n]==o){const i=ii[o];e[n]=A[n]=i.getValue(t,g),g+=i.bytes}else if(A[n])throw new c(vt)}})(C,e),e.extraFieldZip64=C);const E=s.get(28789);E&&(ai(E,nt,ot,e,A),e.extraFieldUnicodePath=E);const h=s.get(25461);h&&(ai(h,at,st,e,A),e.extraFieldUnicodeComment=h);const w=s.get(39169);w?(((A,e,i)=>{const r=Ei(A.data),g=ci(r,4);t.assign(A,{vendorVersion:ci(r,0),vendorId:ci(r,2),strength:g,originalCompressionMethod:i,compressionMethod:Ii(r,5)}),e.compressionMethod=A.compressionMethod})(w,e,u),e.extraFieldAES=w):e.compressionMethod=u;const f=s.get(10);f&&(((A,e)=>{const i=Ei(A.data);let r,g=4;try{for(;g<A.data.length&&!r;){const e=Ii(i,g),t=Ii(i,g+2);1==e&&(r=A.data.slice(g+4,g+4+t)),g+=4+t}}catch{}try{if(r&&24==r.length){const i=Ei(r),g=i.getBigUint64(0,!0),n=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);t.assign(A,{rawLastModDate:g,rawLastAccessDate:n,rawCreationDate:o});const a={lastModDate:li(g),lastAccessDate:li(n),creationDate:li(o)};t.assign(A,a),t.assign(e,a)}}catch{}})(f,e),e.extraFieldNTFS=f);const d=s.get(R);d&&(((A,e,t)=>{const i=Ei(A.data),r=ci(i,0),g=[],n=[];t?(1&~r||(g.push(ut),n.push(Ct)),2&~r||(g.push(Et),n.push("rawLastAccessDate")),4&~r||(g.push(ht),n.push("rawCreationDate"))):5>A.data.length||(g.push(ut),n.push(Ct));let a=1;g.forEach((t,r)=>{if(A.data.length>=a+4){const g=ui(i,a);e[t]=A[t]=new o(1e3*g);const s=n[r];A[s]=g}a+=4})})(d,e,g),e.extraFieldExtendedTimestamp=d);const F=s.get(6534);F&&(e.extraFieldUSDZ=F)}function ai(A,e,i,r,g){const n=Ei(A.data),o=new nA;o.append(g[i]);const a=Ei(new I(4));a.setUint32(0,o.get(),!0);const s=ui(n,1);t.assign(A,{version:ci(n,0),[e]:gt(A.data.subarray(5)),valid:!g.bitFlag.languageEncodingFlag&&s==ui(a,0)}),A.valid&&(r[e]=A[e],r[e+"UTF8"]=!0)}function si(A,e,t){return e[t]===v?A.options[t]:e[t]}function Bi(A){const e=(4294901760&A)>>16,t=65535&A;try{return new o(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch{}}function li(A){return new o(r(A/g(1e4)-g(116444736e5)))}function ci(A,e){return A.getUint8(e)}function Ii(A,e){return A.getUint16(e,!0)}function ui(A,e){return A.getUint32(e,!0)}function Ci(A,e){return r(A.getBigUint64(e,!0))}function Ei(A){return new E(A.buffer)}const hi="File already exists",wi="Zip file comment exceeds 64KB",fi="File entry comment exceeds 64KB",di="File entry name exceeds 64KB",Fi="Version exceeds 65535",Qi="The strength must equal 1, 2, or 3",Di="Extra field type exceeds 65535",Yi="Extra field data exceeds 64KB",pi="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",mi="Undefined uncompressed size",yi="Zip file not empty",Si=new I([7,0,2,0,65,69,3,0,0]);let Mi=0;const bi=[];class Gi{constructor(A,e={}){const i=(A=new et(A)).availableSize!==v&&A.availableSize>0&&A.availableSize!==1/0&&A.maxSize!==v&&A.maxSize>0&&A.maxSize!==1/0;t.assign(this,{writer:A,addSplitZipSignature:i,options:e,config:AA(),files:new a,filenames:new s,offset:e[Nt]===v?A.size||A.writable.size||0:e[Nt],pendingEntriesSize:0,pendingAddFileCalls:new s,bufferedWrites:0})}async prependZip(A){if(this.filenames.size)throw new c(yi);A=new At(A);const e=new ri(A.readable),i=await e.getEntries();await e.close(),await A.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=A.size,this.filenames=new s(i.map(A=>A.filename)),this.files=new a(i.map(A=>{const{version:e,compressionMethod:i,lastModDate:r,lastAccessDate:g,creationDate:n,rawFilename:o,bitFlag:a,encrypted:s,uncompressedSize:B,compressedSize:l,diskOffset:c,diskNumber:u,zip64:C}=A;let{rawExtraFieldZip64:E,rawExtraFieldAES:h,rawExtraFieldExtendedTimestamp:w,rawExtraFieldNTFS:f,rawExtraField:d}=A;const{level:F,languageEncodingFlag:Q,dataDescriptor:D}=a;E=E||new I,h=h||new I,w=w||new I,f=f||new I,d=d||new I;const Y=xi(E,h,w,f,d),p=C&&B>O,m=C&&l>O,{headerArray:y,headerView:S}=Ji({version:e,bitFlag:Xi(F,Q,D,s,i),compressionMethod:i,uncompressedSize:B,compressedSize:l,lastModDate:r,rawFilename:o,zip64CompressedSize:m,zip64UncompressedSize:p,extraFieldLength:Y});return t.assign(A,{zip64UncompressedSize:p,zip64CompressedSize:m,zip64Offset:C&&this.offset-c>O,zip64DiskNumberStart:C&&u>K,rawExtraFieldZip64:E,rawExtraFieldAES:h,rawExtraFieldExtendedTimestamp:w,rawExtraFieldNTFS:f,rawExtraField:d,extendedTimestamp:w.length>0||f.length>0,extraFieldExtendedTimestampFlag:1+(g?2:0)+(n?4:0),headerArray:y,headerView:S}),[A.filename,A]}))}async add(A="",i,r={}){const a=this,{pendingAddFileCalls:s,config:l}=a;let C;Mi<l.maxWorkers?Mi++:await new w(A=>bi.push(A));try{if(A=A.trim(),a.filenames.has(A))throw new c(hi);return a.filenames.add(A),C=(async(A,i,r,a)=>{i=i.trim();const s=ki(A,a,dt),l=ki(A,a,Yt,s?20:768),C=ki(A,a,yt);if(l>K)throw new c(Fi);let E=ki(A,a,ft,0);!a[mt]&&i.endsWith(J)&&(a[mt]=!0),ki(A,a,mt)?(i.endsWith(J)||(i+=J),0===E&&(E=16,s||(E|=16877<<16))):s||0!==E||(E=C?493<<16:27525120);const h=ki(A,a,"encodeText",aA);let f=h(i);if(f===v&&(f=aA(i)),xi(f)>K)throw new c(di);const d=a[at]||"";let F=h(d);if(F===v&&(F=aA(d)),xi(F)>K)throw new c(fi);const Q=ki(A,a,Dt,20);if(Q>K)throw new c(Fi);const D=ki(A,a,ut,new o),p=ki(A,a,Et),m=ki(A,a,ht),y=ki(A,a,wt,0),S=ki(A,a,kt);let M,b;S||(M=ki(A,a,Kt),b=ki(A,a,Ut));const G=ki(A,a,"encryptionStrength",3),T=ki(A,a,pt),L=ki(A,a,"extendedTimestamp",!0),z=ki(A,a,"keepOrder",!0),H=ki(A,a,Tt),N=ki(A,a,"bufferedWrite"),x=ki(A,a,"dataDescriptorSignature",!1),Z=ki(A,a,Wt),q=ki(A,a,"useUnicodeFileNames",!0),j=ki(A,a,St);let _=ki(A,a,"level"),$=ki(A,a,Lt),AA=ki(A,a,"dataDescriptor");N&&AA===v&&(AA=!1),(AA===v||T)&&(AA=!0),_!==v&&6!=_&&($=!1),$||A.config.CompressionStream!==v||A.config.CompressionStreamZlib!==v||(_=0);let tA=ki(A,a,Ft);if(!T&&(M!==v||b!==v)&&(1>G||G>3))throw new c(Qi);let iA=new I;const rA=a[bt];if(rA){let A=0,e=0;rA.forEach(e=>A+=4+xi(e)),iA=new I(A),rA.forEach((A,t)=>{if(t>K)throw new c(Di);if(xi(A)>K)throw new c(Yi);Ni(iA,new u([t]),e),Ni(iA,new u([xi(A)]),e+2),Ni(iA,A,e+4),e+=4+xi(A)})}let gA=0,nA=0,oA=0;if(S&&(oA=a[Bt],oA===v))throw new c(mi);const sA=!0===tA;r&&(r=new At(r),await tt(r),S?(a.uncompressedSize=oA,gA=Wi(oA)):r.size===v?(AA=!0,(tA||tA===v)&&(tA=!0,oA=gA=4294967296)):(a.uncompressedSize=oA=r.size,gA=Wi(oA)));const{diskOffset:BA,diskNumber:lA,maxSize:cA}=A.writer,IA=sA||oA>O,uA=sA||gA>O,CA=sA||A.offset+A.pendingEntriesSize-BA>O,EA=ki(A,a,Ht,!0)&&sA||lA+n.ceil(A.pendingEntriesSize/cA)>K;if(CA||IA||uA||EA){if(!1===tA||!z)throw new c(pi);tA=!0}tA=tA||!1;const hA=ki(A,a,Qt),wA=(A=>{const{rawFilename:e,lastModDate:t,lastAccessDate:i,creationDate:r,level:o,zip64:a,zipCrypto:s,useUnicodeFileNames:B,dataDescriptor:l,directory:c,rawExtraField:u,encryptionStrength:C,extendedTimestamp:E,passThrough:h,encrypted:w,zip64UncompressedSize:f,zip64CompressedSize:d,zip64Offset:F,zip64DiskNumberStart:Q,uncompressedSize:D,offset:Y,diskNumberStart:p}=A;let{version:m,compressionMethod:y}=A;const S=!c&&(o>0||o===v&&0!==y);let M;const b=h||!S,G=a&&(A.bufferedWrite||!f&&!d||b);if(a){let A=4;f&&(A+=8),d&&(A+=8),F&&(A+=8),Q&&(A+=4),M=new I(A);const e=Ri(M);if(Li(e,0,1),Li(e,2,xi(M)-4),G){const A=Ri(M);let e=4;f&&(Hi(A,e,g(D)),e+=8),d&&b&&(Hi(A,e,g(D)),e+=8),F&&(Hi(A,e,g(Y)),e+=8),Q&&(zi(A,e,p),e+=4)}}else M=new I;let O,K,k,W;if(w&&!s){O=new I(xi(Si)+2);const A=Ri(O);Li(A,0,39169),Ni(O,Si,2),Ti(A,8,C)}else O=new I;if(E){k=new I(9+(i?4:0)+(r?4:0));const A=Ri(k);Li(A,0,R),Li(A,2,xi(k)-4),W=1+(i?2:0)+(r?4:0),Ti(A,4,W);let e=5;zi(A,e,n.floor(t.getTime()/1e3)),e+=4,i&&(zi(A,e,n.floor(i.getTime()/1e3)),e+=4),r&&zi(A,e,n.floor(r.getTime()/1e3));try{K=new I(36);const A=Ri(K),e=Ui(t);Li(A,0,10),Li(A,2,32),Li(A,8,1),Li(A,10,24),Hi(A,12,e),Hi(A,20,Ui(i)||e),Hi(A,28,Ui(r)||e)}catch{K=new I}}else K=k=new I;y===v&&(y=S?8:0),a&&(m=m>45?m:45),w&&!s&&(m=m>51?m:51,O[9]=y,y=99);const T=G?xi(M):0,L=T+xi(O,k,K,u),{headerArray:z,headerView:H,rawLastModDate:N}=Ji({version:m,bitFlag:Xi(o,B,l,w,y),compressionMethod:y,uncompressedSize:D,lastModDate:V>t?V:t>P?P:t,rawFilename:e,zip64CompressedSize:d,zip64UncompressedSize:f,extraFieldLength:L});let x=X;const J=new I(x+xi(e)+L),Z=Ri(J);return zi(Z,0,U),Ni(J,z,4),Ni(J,e,x),x+=xi(e),G&&Ni(J,M,x),x+=T,Ni(J,O,x),x+=xi(O),Ni(J,k,x),x+=xi(k),Ni(J,K,x),x+=xi(K),Ni(J,u,x),l&&(zi(Z,18,0),zi(Z,22,0)),{localHeaderArray:J,localHeaderView:Z,headerArray:z,headerView:H,lastModDate:t,rawLastModDate:N,encrypted:w,compressed:S,version:m,compressionMethod:y,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:M,localExtraFieldZip64Length:T,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:K,rawExtraFieldAES:O,extraFieldLength:L}})(a=t.assign({},a,{rawFilename:f,rawComment:F,version:Q,versionMadeBy:l,lastModDate:D,lastAccessDate:p,creationDate:m,rawExtraField:iA,zip64:tA,zip64UncompressedSize:IA,zip64CompressedSize:uA,zip64Offset:CA,zip64DiskNumberStart:EA,password:M,rawPassword:b,level:_,useWebWorkers:H,encryptionStrength:G,extendedTimestamp:L,zipCrypto:T,bufferedWrite:N,keepOrder:z,useUnicodeFileNames:q,dataDescriptor:AA,dataDescriptorSignature:x,signal:Z,msDosCompatible:s,internalFileAttribute:y,internalFileAttributes:y,externalFileAttribute:E,externalFileAttributes:E,useCompressionStream:$,passThrough:S,encrypted:!!(M&&xi(M)||b&&xi(b))||S&&hA,signature:a[Mt],compressionMethod:j,uncompressedSize:oA,offset:A.offset-BA,diskNumberStart:lA})),fA=(({zip64:A,dataDescriptor:e,dataDescriptorSignature:t})=>{let i,r=new I,g=0,n=A?20:12;return t&&(n+=4),e&&(r=new I(n),i=Ri(r),t&&(g=4,zi(i,0,W))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:g}})(a),dA=xi(wA.localHeaderArray,fA.dataDescriptorArray);let FA;nA=dA+gA,A.options[Rt]&&(nA+=nA+64),A.pendingEntriesSize+=nA;try{FA=await(async(A,i,r,n,o)=>{const{files:a,writer:s}=A,{keepOrder:l,dataDescriptor:u,signal:C}=o,{headerInfo:E}=n,h=A.options[Rt],f=e.from(a.values()).pop();let d,F,Q,D,p,m,y,S={};a.set(i,S);try{let e;l&&(e=f&&f.lock,S.lock=new w(A=>Q=A)),!(o.bufferedWrite||A.writerLocked||A.bufferedWrites&&l)&&u||h?(m=s,await M()):(m=new Y,m.size=0,d=!0,A.bufferedWrites++,await tt(s)),await tt(m);const{writable:F,diskOffset:G}=s;if(A.addSplitZipSignature){delete A.addSplitZipSignature;const e=new I(4);zi(Ri(e),0,k),await Ki(s,e),A.offset+=4}h&&((A,e)=>{const{headerInfo:t}=A;let{localHeaderArray:i,extraFieldLength:r}=t,g=Ri(i),n=64-(e+xi(i))%64;4>n&&(n+=64);const o=new I(n),a=Ri(o);Li(a,0,6534),Li(a,2,n-2);const s=i;t.localHeaderArray=i=new I(xi(s)+n),Ni(i,s),Ni(i,o,xi(s)),g=Ri(i),Li(g,28,r+n),A.metadataSize+=n})(n,A.offset-G);const{localHeaderView:K,localHeaderArray:U}=E;d||(await e,await b(F));const{diskNumber:W}=s;p=!0,S.diskNumberStart=W,d?y=new B(m.readable).blob():await Ki(m,U),S=await(async(A,e,{diskNumberStart:i,lock:r},n,o,a)=>{const{headerInfo:s,dataDescriptorInfo:B,metadataSize:l}=n,{headerArray:c,headerView:I,lastModDate:u,rawLastModDate:C,encrypted:E,compressed:h,version:w,compressionMethod:f,rawExtraFieldZip64:d,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,extraFieldExtendedTimestampFlag:D,rawExtraFieldNTFS:Y,rawExtraFieldAES:p}=s,{dataDescriptorArray:m}=B,{rawFilename:y,lastAccessDate:S,creationDate:M,password:b,rawPassword:G,level:O,zip64:K,zip64UncompressedSize:U,zip64CompressedSize:k,zip64Offset:W,zip64DiskNumberStart:T,zipCrypto:L,dataDescriptor:z,directory:H,executable:N,versionMadeBy:R,rawComment:x,rawExtraField:J,useWebWorkers:X,onstart:P,onprogress:V,onend:Z,signal:q,encryptionStrength:j,extendedTimestamp:_,msDosCompatible:$,internalFileAttributes:AA,externalFileAttributes:tA,useCompressionStream:iA,passThrough:rA}=a,gA={lock:r,versionMadeBy:R,zip64:K,directory:!!H,executable:!!N,filenameUTF8:!0,rawFilename:y,commentUTF8:!0,rawComment:x,rawExtraFieldZip64:d,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,rawExtraFieldNTFS:Y,rawExtraFieldAES:p,rawExtraField:J,extendedTimestamp:_,msDosCompatible:$,internalFileAttributes:AA,externalFileAttributes:tA,diskNumberStart:i};let{signature:nA,uncompressedSize:oA}=a,aA=0;rA||(oA=0);const{writable:sA}=e;if(A){A.chunkSize=eA(o);const t=A.readable,i=A.size,r={options:{codecType:se,level:O,rawPassword:G,password:b,encryptionStrength:j,zipCrypto:E&&L,passwordVerification:E&&L&&C>>8&255,signed:!rA,compressed:h&&!rA,encrypted:E&&!rA,useWebWorkers:X,useCompressionStream:iA,transferStreams:!1},config:o,streamOptions:{signal:q,size:i,onstart:P,onprogress:V,onend:Z}};try{const A=await Ye({readable:t,writable:sA},r);aA=A.outputSize,e.size+=aA,rA||(oA=A.inputSize,nA=A.signature)}catch(A){throw A.outputSize!==v&&(e.size+=A.outputSize),A}}return(({signature:A,compressedSize:e,uncompressedSize:t,headerInfo:i,dataDescriptorInfo:r},{zip64:n,zipCrypto:o,dataDescriptor:a})=>{const{headerView:s,encrypted:B}=i,{dataDescriptorView:l,dataDescriptorOffset:c}=r;B&&!o||A===v||(zi(s,10,A),a&&zi(l,c,A)),n?a&&(Hi(l,c+4,g(e)),Hi(l,c+12,g(t))):(zi(s,14,e),zi(s,18,t),a&&(zi(l,c+4,e),zi(l,c+8,t)))})({signature:nA,compressedSize:aA,uncompressedSize:oA,headerInfo:s,dataDescriptorInfo:B},a),z&&await Ki(e,m),t.assign(gA,{uncompressedSize:oA,compressedSize:aA,lastModDate:u,rawLastModDate:C,creationDate:M,lastAccessDate:S,encrypted:E,zipCrypto:L,size:l+aA,compressionMethod:f,version:w,headerArray:c,headerView:I,signature:nA,extraFieldExtendedTimestampFlag:D,zip64UncompressedSize:U,zip64CompressedSize:k,zip64Offset:W,zip64DiskNumberStart:T}),gA})(r,m,S,n,A.config,o);const{zip64:T}=S;if(p=!1,a.set(i,S),S.filename=i,d){const[t]=await w.all([y,m.writable.getWriter().close(),e]);await M(),D=!0,S.diskNumberStart=s.diskNumber,S.offset=A.offset-s.diskOffset,T&&Oi(S),(({rawFilename:A,encrypted:e,zip64:t,localExtraFieldZip64Length:i,signature:r,compressedSize:n,uncompressedSize:o,offset:a,diskNumberStart:s,zip64UncompressedSize:B,zip64CompressedSize:l,zip64Offset:c,zip64DiskNumberStart:I},u,{dataDescriptor:C})=>{if(C||(e||zi(u,14,r),t||(zi(u,18,n),zi(u,22,o))),t&&i){let e=X+xi(A)+4;B&&(Hi(u,e,g(o)),e+=8),l&&(Hi(u,e,g(n)),e+=8),c&&(Hi(u,e,g(a)),e+=8),I&&zi(u,e,s)}})(S,K,o),await b(F),await Ki(s,U),await t.stream().pipeTo(F,{preventClose:!0,preventAbort:!0,signal:C}),s.size+=m.size,D=!1}else S.offset=A.offset-G,T&&Oi(S);if(S.offset>O&&!T)throw new c(pi);return A.offset+=S.size,S}catch(e){if(d&&D||!d&&p){if(A.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch{}d?A.offset+=m.size:A.offset=m.size}throw a.delete(i),e}finally{d&&A.bufferedWrites--,Q&&Q(),F&&F()}async function M(){A.writerLocked=!0;const{lockWriter:e}=A;A.lockWriter=new w(e=>F=()=>{A.writerLocked=!1,e()}),await e}async function b(A){xi(E.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Ki(A,new I))}})(A,i,r,{headerInfo:wA,dataDescriptorInfo:fA,metadataSize:dA},a)}finally{A.pendingEntriesSize-=nA}return t.assign(FA,{name:i,comment:d,extraField:rA}),new Ot(FA)})(a,A,i,r),s.add(C),await C}catch(e){throw a.filenames.delete(A),e}finally{s.delete(C);const A=bi.shift();A?A():Mi--}}remove(A){const{filenames:e,files:t}=this;if("string"==typeof A&&(A=t.get(A)),A&&A.filename!==v){const{filename:i}=A;if(e.has(i)&&t.has(i))return e.delete(i),t.delete(i),!0}return!1}async close(A=new I,t={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:o}=r;for(;i.size;)await w.allSettled(e.from(i));return await(async(A,t,i)=>{const{files:r,writer:o}=A,{diskOffset:a}=o;let{diskNumber:s}=o,B=0,l=0,u=A.offset-a,C=r.size;for(const[,A]of r){const{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:g,rawExtraField:o,extendedTimestamp:a,extraFieldExtendedTimestampFlag:s,lastModDate:B}=A;let c;if(a){c=new I(9);const A=Ri(c);Li(A,0,R),Li(A,2,5),Ti(A,4,s),zi(A,5,n.floor(B.getTime()/1e3))}else c=new I;A.rawExtraFieldExtendedTimestamp=c,l+=46+xi(e,r,t,i,g,c,o)}const E=new I(l),h=Ri(E);await tt(o);let w=0;for(const[A,t]of e.from(r.values()).entries()){const{offset:e,rawFilename:g,rawExtraFieldZip64:n,rawExtraFieldAES:a,rawExtraFieldExtendedTimestamp:s,rawExtraFieldNTFS:l,rawExtraField:c,rawComment:I,versionMadeBy:u,headerArray:C,headerView:f,zip64:d,zip64UncompressedSize:F,zip64CompressedSize:Q,zip64DiskNumberStart:D,zip64Offset:Y,internalFileAttributes:p,externalFileAttributes:m,diskNumberStart:y,uncompressedSize:S,compressedSize:M}=t,b=xi(n,a,s,l,c);zi(h,B,T),Li(h,B+4,u),F||zi(f,18,S),Q||zi(f,14,M),Ni(E,C,B+6);let G=B+X;if(Li(h,G,b),G+=2,Li(h,G,xi(I)),G+=2,Li(h,G,d&&D?K:y),G+=2,Li(h,G,p),G+=2,m&&zi(h,G,m),G+=4,zi(h,G,d&&Y?O:e),G+=4,Ni(E,g,G),G+=xi(g),Ni(E,n,G),G+=xi(n),Ni(E,a,G),G+=xi(a),Ni(E,s,G),G+=xi(s),Ni(E,l,G),G+=xi(l),Ni(E,c,G),G+=xi(c),Ni(E,I,G),B-w>o.availableSize&&(o.availableSize=0,await Ki(o,E.slice(w,B)),w=B),B=G,i.onprogress)try{await i.onprogress(A+1,r.size,new Ot(t))}catch{}}await Ki(o,w?E.slice(w):E);let f=o.diskNumber;const{availableSize:d}=o;N>d&&f++;let F=ki(A,i,Ft);if(u>O||l>O||C>K||f>K){if(!1===F)throw new c(pi);F=!0}const Q=new I(F?98:N),D=Ri(Q);B=0,F&&(zi(D,0,z),Hi(D,4,g(44)),Li(D,12,45),Li(D,14,45),zi(D,16,f),zi(D,20,s),Hi(D,24,g(C)),Hi(D,32,g(C)),Hi(D,40,g(l)),Hi(D,48,g(u)),zi(D,56,H),Hi(D,64,g(u)+g(l)),zi(D,72,f+1),ki(A,i,Ht,!0)&&(f=K,s=K),C=K,u=O,l=O,B+=76),zi(D,B,L),Li(D,B+4,f),Li(D,B+6,s),Li(D,B+8,C),Li(D,B+10,C),zi(D,B+12,l),zi(D,B+16,u);const Y=xi(t);if(Y){if(Y>K)throw new c(wi);Li(D,B+20,Y)}await Ki(o,Q),Y&&await Ki(o,t)})(this,A,t),ki(this,t,zt)||await o.getWriter().close(),r.getData?r.getData():o}}function Oi({compressedSize:A,uncompressedSize:e,offset:t,diskNumberStart:i,zip64UncompressedSize:r,zip64CompressedSize:n,zip64Offset:o,zip64DiskNumberStart:a,rawExtraFieldZip64:s}){const B=Ri(s);let l=4;r&&(Hi(B,l,g(e)),l+=8),n&&(Hi(B,l,g(A)),l+=8),o&&(Hi(B,l,g(t)),l+=8),a&&zi(B,l,i)}async function Ki(A,e){const{writable:t}=A,i=t.getWriter();try{await i.ready,A.size+=xi(e),await i.write(e)}finally{i.releaseLock()}}function Ui(A){if(A)return(g(A.getTime())+g(116444736e5))*g(1e4)}function ki(A,e,t,i){const r=e[t]===v?A.options[t]:e[t];return r===v?i:r}function Wi(A){return A+5*(n.floor(A/16383)+1)}function Ti(A,e,t){A.setUint8(e,t)}function Li(A,e,t){A.setUint16(e,t,!0)}function zi(A,e,t){A.setUint32(e,t,!0)}function Hi(A,e,t){A.setBigUint64(e,t,!0)}function Ni(A,e,t){A.set(e,t)}function Ri(A){return new E(A.buffer)}function xi(...A){let e=0;return A.forEach(A=>A&&(e+=A.length)),e}function Ji({version:A,bitFlag:e,compressionMethod:t,uncompressedSize:i,compressedSize:r,lastModDate:g,rawFilename:n,zip64CompressedSize:o,zip64UncompressedSize:a,extraFieldLength:s}){const B=new I(26),l=Ri(B);Li(l,0,A),Li(l,2,e),Li(l,4,t);const c=new C(1),u=Ri(c);Li(u,0,(g.getHours()<<6|g.getMinutes())<<5|g.getSeconds()/2),Li(u,2,(g.getFullYear()-1980<<4|g.getMonth()+1)<<5|g.getDate());const E=c[0];return zi(l,6,E),(o||r!==v)&&zi(l,14,o?O:r),(a||i!==v)&&zi(l,18,a?O:i),Li(l,22,xi(n)),Li(l,24,s),{headerArray:B,headerView:l,rawLastModDate:E}}function Xi(A,e,t,i,r){let g=0;return e&&(g|=x),t&&(g|=8),8!=r&&9!=r||(0>A||A>3||(g|=6),A>3&&5>=A&&(g|=4),9==A&&(g|=2)),i&&(g|=1),g}try{tA({baseURI:void 0===F&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===F?location.href:G&&"SCRIPT"===G.tagName.toUpperCase()&&G.src||new l("zip-native.min.js",F.baseURI).href})}catch{}var{Uint8Array:Pi,Uint16Array:Vi,Int32Array:vi,TransformStream:Zi,Math:qi,Error:ji,Array:_i}=globalThis,$i=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ar=new Pi(0),er=new Vi(0),tr=class{constructor(A,e){this.t=A,this.i=e,this._=0}},ir=class{constructor(A,e,t,i,r){this.l=A,this.o=e,this.u=t,this.h=i,this.k=r}};function rr(A,e,t,i,r){if(0==r)return;let g=A instanceof Pi?A:new Pi(A.buffer,A.byteOffset,A.byteLength),n=t instanceof Pi?t.subarray(i,i+r):new Pi(t.buffer,t.byteOffset+i,r);g.set(n,e)}function gr(A,e,t){0!=t&&(A instanceof Pi?A:new Pi(A.buffer,A.byteOffset,A.byteLength)).fill(0,e,e+t)}function nr(){return{next_in:Ar,next_in_index:0,avail_in:0,total_in:0,next_out:Ar,next_out_index:0,avail_out:0,total_out:0,msg:"",m:0,v:0,p:0,A:void 0}}function or(A,e){let t=1<<e;return{O:A,M:new Pi(t),F:t,D:e,q:0,C:0,N:0,S:0}}function ar(A){return kr[-6>A||A>2?9:2-A]||""}function sr(A,e){try{A.msg=ar(e)}catch(t){A.msg="zlib error "+i(e)+" ("+t+")"}return e}function Br(A,e){let t=A>>>0,i=0;for(let A=0;e>A;A++)i=i<<1|1&t,t>>>=1;return i}function lr(A,e){A.X[A.V++]=e}function cr(A,e){lr(A,255&e),lr(A,e>>>8&255)}function Ir(A,e,t){let i=255&t,r=65535&e,g=A.T+A.U;return A.X[g]=255&r,A.X[g+1]=r>>>8&255,A.X[g+2]=i,A.U+=3,r=r-1&65535,A.B[Pr[i]+yr+1].$++,A.I[Er(r)].$++,A.U==A.Z}function ur(A,e){let t=255&e,i=A.T+A.U;return A.X[i]=0,A.X[i+1]=0,A.X[i+2]=t,A.U+=3,A.B[t].$++,A.U==A.Z}function Cr(A){return A.F-pr}function Er(A){return 256>A?Vr[A]:Vr[256+(A>>7)]}function hr(A){let e=Qr+7,t=1<<e,i=(1<<e)-1,r=qi.floor((e+Dr-1)/Dr),g=1<<8+Qr;return{...or(A,15),O:A,H:42,L:0,K:void 0,W:32767,J:e,R:t,Y:i,j:r,P:new Vi(32768),G:new Vi(t),ee:g,X:new Pi(32768),te:0,ne:32768,V:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,ge:0,be:0,me:0,xe:0,ve:0,ye:0,pe:new vi(2*Sr+1),ze:new Pi(2*Sr+1),Ae:new Vi(Or+1),U:0,Z:0,Oe:Ar,T:0,Me:0,Fe:0,De:8,qe:32768,Ce:0,Ne:0,Se:0,B:new _i(Gr).fill(0).map(()=>({$:0,Qe:0,Ee:0,$e:0})),I:new _i(2*Mr+1).fill(0).map(()=>({$:0,Qe:0,Ee:0,$e:0})),Xe:new _i(2*br+1).fill(0).map(()=>({$:0,Qe:0,Ee:0,$e:0})),Ve:dr(),Te:dr(),Ue:dr()}}function wr(A){let e=[];for(let t=0;t<A.length;t+=2){let i=A[t],r=A[t+1],g=fr();g.Qe=i,g.$e=r,e.push(g)}return e}function fr(){return{$:0,Qe:0,Ee:0,$e:0}}function dr(){return new tr([],new ir(null,Ar,0,0,0))}function Fr(A){let{code:e,length:t}=(A=>{let e=qi.max(...A),t=new _i(e+1).fill(0);for(let e of A)e>0&&t[e]++;let i=new _i(A.length).fill(0),r=new _i(e+1).fill(0),g=0;for(let A=1;e>=A;A++)g=g+t[A-1]<<1,r[A]=g;for(let e=0;e<A.length;e++){let t=A[e];0!=t&&(i[e]=r[t]++)}return{code:i,length:A}})(A),i=new _i(2*A.length),r=0;for(let g=0;g<A.length;g++){let A=t[g]||0,n=e[g]||0;i[r++]=A?Br(n,A):0,i[r++]=A}return new vi(i)}var Qr=8,Dr=3,Yr=258,pr=Yr+Dr+1,mr=Yr,yr=256,Sr=yr+1+29,Mr=30,br=19,Gr=2*Sr+1,Or=15,Kr=256,Ur=-1,kr=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],Wr=new vi([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]),Tr=new vi([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Lr=[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],zr=[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],Hr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Nr=((A,e)=>{let t=0;for(let i=0;i<A.length;i++){let r=e[i]?1<<e[i]:1,g=A[i]+r-1;g>t&&(t=g)}let i=new Pi(t+1);for(let r=0;t>=r;r++)for(let t=0;t<A.length;t++){let g=e[t]?1<<e[t]:1,n=A[t];if(r>=n&&n+g-1>=r){i[r]=t;break}}return i})(Tr,zr),Rr=Fr((()=>{let A=new _i(288).fill(0);for(let e=0;143>=e;e++)A[e]=8;for(let e=144;255>=e;e++)A[e]=9;for(let e=256;279>=e;e++)A[e]=7;for(let e=280;287>=e;e++)A[e]=8;return A})()),xr=Fr(new _i(30).fill(5)),Jr=wr(Rr),Xr=wr(xr),Pr=((A,e)=>{let t=0;for(let i=0;i<A.length;i++){let r=e[i]?1<<e[i]:1,g=A[i]+r-1;g>t&&(t=g)}258>t&&(t=258);let i=new Pi(t+1);for(let r=0;t>=r;r++)for(let t=0;t<A.length;t++){let g=e[t]?1<<e[t]:1,n=A[t];if(r>=n&&n+g-1>=r){i[r]=t;break}}return i})(Wr,Lr),Vr=(A=>{let e=new Pi(512),t=A.length-1;for(let i=0;256>i;i++)e[i]=i>t?A[t]:A[i];for(let i=256;t>=i;i++){let t=i>>7;e[256+(t>255?255:t)]=A[i]}for(let A=257;512>A;A++)0==e[A]&&(e[A]=e[A-1]);return e})(Nr);function vr(A){return A%65521>>>0}function Zr(A,e,t){if(void 0===e||void 0===t)return 1;let i=A>>>16&65535;if(A&=65535,1==t)return(A+=e[0])>=65521&&(A-=65521),i+=A,i>=65521&&(i-=65521),(i<<16|A)>>>0;if(16>t){for(let r=0;t>r;r++)i+=A+=e[r];return A>=65521&&(A-=65521),i=vr(i),(i<<16|A)>>>0}for(;t>=5552;){t-=5552;let r=qi.floor(347);do{for(let t=0;16>t;t++)i+=A+=e[t];e=e.subarray(16)}while(--r);A=vr(A),i=vr(i)}if(t){for(;t>=16;){t-=16;for(let t=0;16>t;t++)i+=A+=e[t];e=e.subarray(16)}for(let r=0;t>r;r++)i+=A+=e[r];A=vr(A),i=vr(i)}return(i<<16|A)>>>0}var qr=(()=>{let A=new _i(256);for(let e=0;256>e;e++){let t=e;for(let A=0;8>A;A++)t=1&t?3988292384^t>>>1:t>>>1;A[e]=t>>>0}return A})();function jr(A=0,e,t){if(!e)return 0;void 0===t&&(t=e.length),t=qi.min(t,e.length),A=~A>>>0;for(let i=0;t>i;i++)A=A>>>8^qr[255&(A^e[i])];return(4294967295^A)>>>0}function _r(A){16==A.S?(cr(A,A.N),A.N=0,A.S=0):A.S>=8&&(lr(A,A.N),A.N>>=8,A.S-=8)}function $r(A){A.S>8?cr(A,A.N):A.S>0&&lr(A,A.N),A.Me=1+(A.S-1&7),A.N=0,A.S=0}function Ag(A,e,t){A.S>16-t?(A.N=65535&(A.N|e<<A.S),cr(A,A.N),A.N=e>>16-A.S&65535,A.S+=t-16):(A.N=65535&(A.N|e<<A.S),A.S+=t)}function eg(A){for(let e=0;e<A.B.length;e++)A.B[e].$=0;for(let e=0;e<A.I.length;e++)A.I[e].$=0;for(let e=0;e<A.Xe.length;e++)A.Xe[e].$=0;A.B[Kr].$=1,A.ie=A.fe=0,A.U=A._e=0}function tg(A,e,t){return t=A.pe[1],A.pe[1]=A.pe[A.Ne--],rg(A,e,1),t}function ig(A,e,t,i){return A[e].$<A[t].$||A[e].$==A[t].$&&i[e]<=i[t]}function rg(A,e,t){let i=A.pe[t],r=t<<1;for(;r<=A.Ne&&(r<A.Ne&&ig(e,A.pe[r+1],A.pe[r],A.ze)&&r++,!ig(e,i,A.pe[r],A.ze));)A.pe[t]=A.pe[r],t=r,r<<=1;A.pe[t]=i}function gg(A,e){let t,i,r,g=e.t,n=e.i.l,o=e.i.h,a=-1;for(A.Ne=0,A.Se=Gr,t=0;o>t;t++)0!=g[t].$?(A.pe[++A.Ne]=a=t,A.ze[t]=0):g[t].$e=0;for(;2>A.Ne;)r=A.pe[++A.Ne]=2>a?++a:0,g[r].$=1,A.ze[r]=0,A.ie--,n&&(A.fe-=n[r].$e);for(e._=a,t=qi.floor(A.Ne/2);t>=1;t--)rg(A,g,t);r=o;do{t=tg(A,g,t),i=A.pe[1],A.pe[--A.Se]=t,A.pe[--A.Se]=i,g[r].$=g[t].$+g[i].$,A.ze[r]=(A.ze[t]<A.ze[i]?A.ze[i]:A.ze[t])+1,g[t].Ee=g[i].Ee=r,A.pe[1]=r++,rg(A,g,1)}while(A.Ne>=2);A.pe[--A.Se]=A.pe[1],((A,e)=>{let t,i,r,g,n,o,a=e.t,s=e._,B=e.i.l,l=e.i.o,c=e.i.u,I=e.i.k,u=0;for(g=0;Or>=g;g++)A.Ae[g]=0;for(a[A.pe[A.Se]].$e=0,t=A.Se+1;Gr>t;t++)i=A.pe[t],g=a[a[i].Ee].$e+1,g>I&&(g=I,u++),a[i].$e=g,s>=i&&(A.Ae[g]++,n=0,i>=c&&(n=l[i-c]),o=a[i].$,A.ie+=o*(g+n),B&&(A.fe+=o*(B[i].$e+n)));if(0!=u){do{for(g=I-1;0==A.Ae[g];)g--;A.Ae[g]--,A.Ae[g+1]+=2,A.Ae[I]--,u-=2}while(u>0);for(g=I;0!=g;g--)for(i=A.Ae[g];0!=i;)r=A.pe[--t],s>=r&&(a[r].$e!=g&&(A.ie+=(g-a[r].$e)*a[r].$,a[r].$e=g),i--)}})(A,e),((A,e,t)=>{let i,r,g=[],n=0;for(i=1;Or>=i;i++)n=n+t[i-1]<<1,g[i]=n;for(r=0;e>=r;r++){let e=A[r].$e;0!=e&&(A[r].Qe=Br(g[e]++,e))}})(g,e._,A.Ae)}function ng(A,e,t){let i,r,g=-1,n=e[0].$e,o=0,a=7,s=4;for(0==n&&(a=138,s=3),e[t+1].$e=65535,i=0;t>=i;i++)r=n,n=e[i+1].$e,(++o>=a||r!=n)&&(s>o?A.Xe[r].$+=o:0!=r?(r!=g&&A.Xe[r].$++,A.Xe[16].$++):o>10?A.Xe[18].$++:A.Xe[17].$++,o=0,g=r,0==n?(a=138,s=3):r==n?(a=6,s=3):(a=7,s=4))}function og(A,e,t){let i,r=-1,g=e[0].$e,n=0,o=7,a=4;0==g&&(o=138,a=3);for(let s=0;t>=s;s++)if(i=g,g=e[s+1].$e,++n>=o||i!=g){if(a>n)do{Ag(A,A.Xe[i].Qe,A.Xe[i].$e)}while(0!=--n);else 0!=i?(i!=r&&(Ag(A,A.Xe[i].Qe,A.Xe[i].$e),n--),Ag(A,A.Xe[16].Qe,A.Xe[16].$e),Ag(A,n-3,2)):n>10?(Ag(A,A.Xe[18].Qe,A.Xe[18].$e),Ag(A,n-11,7)):(Ag(A,A.Xe[17].Qe,A.Xe[17].$e),Ag(A,n-3,3));n=0,r=i,0==g?(o=138,a=3):i==g?(o=6,a=3):(o=7,a=4)}}function ag(A,e,t,i,r=0){Ag(A,0+i,3),$r(A),cr(A,t),cr(A,~t),t&&e&&rr(A.X,A.V,e,r,t),A.V+=t}function sg(A,e,t){let i,r,g,n,o=0;if(0!=A.U)do{i=255&A.Oe[o],i+=(255&A.Oe[o+1])<<8,r=A.Oe[o+2],o+=3,0==i?Ag(A,e[r].Qe,e[r].$e):(g=Pr[r],Ag(A,e[g+yr+1].Qe,e[g+yr+1].$e),n=Lr[g],0!=n&&(r-=Wr[g],Ag(A,r,n)),i--,g=Er(i),Ag(A,t[g].Qe,t[g].$e),n=zr[g],0!=n&&(i-=Tr[g],Ag(A,i,n)))}while(o<A.U);Ag(A,e[Kr].Qe,e[Kr].$e)}var Bg=[{Be:Mg,Ie:0,Ze:0,He:0,Le:0},{Be:bg,Ie:4,Ze:4,He:8,Le:4},{Be:bg,Ie:5,Ze:5,He:16,Le:8},{Be:bg,Ie:6,Ze:16,He:32,Le:32},{Be:Gg,Ie:4,Ze:4,He:16,Le:16},{Be:Gg,Ie:16,Ze:8,He:16,Le:32},{Be:Gg,Ie:16,Ze:16,He:32,Le:128},{Be:Gg,Ie:32,Ze:32,He:128,Le:256},{Be:Gg,Ie:128,Ze:128,He:256,Le:1024},{Be:Gg,Ie:258,Ze:258,He:258,Le:4096}];function lg(A){return 2*A-(A>4?9:0)}function cg(A,e,t){return((e<<A.j^t)&A.Y)>>>0}function Ig(A,e){A.ke=cg(A,A.ke,A.M[e+(Dr-1)]);let t=A.P[e&A.W]=A.G[A.ke];return A.G[A.ke]=e,t}function ug(A){A.G[A.R-1]=0,gr(A.G,0,(A.R-1)*A.G.BYTES_PER_ELEMENT)}function Cg(A){let e,t,i=A.F;for(e=A.R;e>0;)e--,t=A.G[e],A.G[e]=i>t?0:t-i;for(e=i;e>0;)e--,t=A.P[e],A.P[e]=i>t?0:t-i}function Eg(A,e,t,i){let r=A.avail_in;return r>i&&(r=i),0==r?0:(A.avail_in-=r,rr(e,t,A.next_in,A.next_in_index,r),1==A.A.L?A.v=Zr(A.v,new Pi(e.buffer,e.byteOffset+t,r),r):2==A.A.L&&(A.v=jr(A.v,new Pi(e.buffer,e.byteOffset+t,r),r)),A.next_in_index+=r,A.total_in+=r,r)}function hg(A){let e,t,i=A.F;do{if(t=A.qe-A.ce-A.ae,0==t&&0==A.ae&&0==A.ce?t=i:-1==t&&t--,A.ae>=i+Cr(A)&&(rr(A.M,0,A.M,i,i-t),A.Ce-=i,A.ae-=i,A.ue-=i,A.le>A.ae&&(A.le=A.ae),Cg(A),t+=i),0==A.O.avail_in)break;if(e=Eg(A.O,A.M,A.ae+A.ce,t),A.ce+=e,A.ce+A.le>=Dr){let e=A.ae-A.le;for(A.ke=A.M[e],A.ke=cg(A,A.ke,A.M[e+1]);A.le&&(A.ke=cg(A,A.ke,A.M[e+Dr-1]),A.P[e&A.W]=A.G[A.ke],A.G[A.ke]=e,e++,A.le--,A.ce+A.le>=Dr););}}while(A.ce<pr&&0!=A.O.avail_in);if(A.q<A.qe){let e,t=A.ae+A.ce;A.q<t?(e=A.qe-t,e>mr&&(e=mr),gr(A.M,t,e),A.q=t+e):A.q<t+mr&&(e=t+mr-A.q,e>A.qe-A.q&&(e=A.qe-A.q),gr(A.M,A.q,e),A.q+=e)}}function wg(A){if(null==A)return!0;let e=A.A;return!e||e.O!=A||42!=e.H&&57!=e.H&&69!=e.H&&73!=e.H&&91!=e.H&&103!=e.H&&113!=e.H&&666!=e.H}function fg(A,e){lr(A,e>>8),lr(A,255&e)}function dg(A){let e,t=A.A;(A=>{_r(A)})(t),e=t.V,e>A.avail_out&&(e=A.avail_out),0!=e&&(rr(A.next_out,A.next_out_index,t.X,t.re,e),A.next_out_index+=e,t.re+=e,A.total_out+=e,A.avail_out-=e,t.V-=e,0==t.V&&(t.re=t.te))}function Fg(A,e){let t=A.A;t.K&&t.K.Ke&&(A.v=jr(A.v,new Pi(t.X.buffer,t.te+e,t.V-e),t.V-e))}function Qg(A,e){let t,i=A.A;if(wg(A)||e>5||0>e)return sr(A,-2);if(!A.next_out||0!=A.avail_in&&!A.next_in||666==i.H&&4!=e)return sr(A,-2);if(0==A.avail_out)return sr(A,-5);if(t=i.oe,i.oe=e,0!=i.V){if(dg(A),0==A.avail_out)return i.oe=Ur,0}else if(0==A.avail_in&&lg(e)<=lg(t)&&4!=e)return sr(A,-5);if(666==i.H&&0!=A.avail_in)return sr(A,-5);if(42==i.H&&0==i.L&&(i.H=113),42==i.H){let e,t=8+(i.D-8<<4)<<8;if(e=i.be>=2||2>i.ge?0:6>i.ge?1:6==i.ge?2:3,t|=e<<6,0!=i.ae&&(t|=32),t+=31-t%31,fg(i,t),0!=i.ae&&(fg(i,A.v>>16),fg(i,65535&A.v)),A.v=1,i.H=113,dg(A),0!=i.V)return i.oe=Ur,0}if(57==i.H)if(A.v=jr(0),lr(i,31),lr(i,139),lr(i,8),i.K)lr(i,(i.K.We?1:0)+(i.K.Ke?2:0)+(null==i.K.Je?0:4)+(null==i.K.Re?0:8)+(null==i.K.Ye?0:16)),lr(i,255&i.K.je),lr(i,i.K.je>>>8&255),lr(i,i.K.je>>>16&255),lr(i,i.K.je>>>24&255),lr(i,9==i.ge?2:i.be>=2||2>i.ge?4:0),lr(i,255&i.K.Pe),null!=i.K.Je&&(lr(i,255&i.K.Ge),lr(i,i.K.Ge>>>8&255)),i.K.Ke&&(A.v=jr(A.v,i.X,i.V)),i.Fe=0,i.H=69;else if(lr(i,0),lr(i,0),lr(i,0),lr(i,0),lr(i,0),lr(i,9==i.ge?2:i.be>=2||2>i.ge?4:0),lr(i,255),i.H=113,dg(A),0!=i.V)return i.oe=Ur,0;if(69==i.H){if(i.K&&null!=i.K.Je){let e=i.V,t=(65535&i.K.Ge)-i.Fe;for(;i.V+t>i.ne;){let r=i.ne-i.V;if(rr(i.X,i.V,i.K.Je,i.Fe,r),i.V=i.ne,Fg(A,e),i.Fe+=r,dg(A),0!=i.V)return i.oe=Ur,0;e=0,t-=r}rr(i.X,i.V,i.K.Je,i.Fe,t),i.V+=t,Fg(A,e),i.Fe=0}i.H=73}if(73==i.H){if(i.K&&i.K.Re&&i.K.Re.length){let e,t=i.V;do{if(i.V==i.ne){if(Fg(A,t),dg(A),0!=i.V)return i.oe=Ur,0;t=0}e=i.K.Re[i.Fe++],lr(i,e)}while(0!=e);Fg(A,t),i.Fe=0}i.H=91}if(91==i.H){if(i.K&&i.K.Ye&&i.K.Ye.length){let e,t=i.V;do{if(i.V==i.ne){if(Fg(A,t),dg(A),0!=i.V)return i.oe=Ur,0;t=0}e=i.K.Ye[i.Fe++],lr(i,e)}while(0!=e);Fg(A,t)}i.H=103}if(103==i.H){if(i.K&&i.K.Ke){if(i.V+2>i.ne&&(dg(A),0!=i.V))return i.oe=Ur,0;lr(i,255&A.v),lr(i,A.v>>>8&255),A.v=jr(0)}if(i.H=113,dg(A),0!=i.V)return i.oe=Ur,0}if(0!=A.avail_in||0!=i.ce||0!=e&&666!=i.H){let t=0==i.ge?Mg(i,e):2==i.be?((A,e)=>{let t=!1;for(;;){if(0==A.ce&&(hg(A),0==A.ce)){if(0==e)return 0;break}if(A.se=0,t=ur(A,A.M[A.ae]),A.ce--,A.ae++,t){let e=mg(A,!1);if(null!=e)return e}}if(A.le=0,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1})(i,e):3==i.be?((A,e)=>{let t,i,r,g;for(;;){if(A.ce<=Yr){if(hg(A),A.ce<=Yr&&0==e)return 0;if(0==A.ce)break}if(A.se=0,A.ce>=Dr&&A.ae>0&&(r=A.ae-1,i=A.M[r],i==++r&&i==++r&&i==++r)){g=A.ae+Yr;do{}while(i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&g>r);A.se=Yr-(g-r),A.se>A.ce&&(A.se=A.ce)}if(A.se<Dr?(t=ur(A,A.M[A.ae]),A.ce--,A.ae++):(A.ae,A.ae,A.se,t=Ir(A,1,A.se-Dr),A.ce-=A.se,A.ae+=A.se,A.se=0),t){let e=mg(A,!1);if(null!=e)return e}}if(A.le=0,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1})(i,e):Bg[i.ge].Be(i,e);if((2==t||3==t)&&(i.H=666),0==t||2==t)return 0==A.avail_out&&(i.oe=Ur),0;if(1==t&&(1==e?(A=>{Ag(A,2,3),Ag(A,Jr[Kr].Qe,Jr[Kr].$e),_r(A)})(i):5!=e&&(ag(i,null,0,0),3==e&&(ug(i),0==i.ce&&(i.ae=0,i.ue=0,i.le=0))),dg(A),0==A.avail_out))return i.oe=Ur,0}return 4!=e?0:i.L>0?(2==i.L?(lr(i,255&A.v),lr(i,A.v>>>8&255),lr(i,A.v>>>16&255),lr(i,A.v>>>24&255),lr(i,255&A.total_in),lr(i,A.total_in>>>8&255),lr(i,A.total_in>>>16&255),lr(i,A.total_in>>>24&255)):(fg(i,A.v>>>16&65535),fg(i,65535&A.v)),dg(A),i.L>0&&(i.L=-i.L),0!=i.V?0:1):1}function Dg(A){if(wg(A))return-2;let e=A.A,t=e.H;return e.M=Ar,e.P=er,e.G=er,e.X=Ar,e.Oe=Ar,e.pe=new vi(0),e.ze=Ar,e.Ae=er,e.B.length=0,e.I.length=0,e.Xe.length=0,e.K=void 0,e.te=0,e.re=0,e.T=0,113==t?-3:0}function Yg(A,e){let t,i,r=A.ve,g=A.ae,n=A.de,o=A.xe,a=A.ae>Cr(A)?A.ae-Cr(A):0,s=A.P,B=A.W,l=A.M[g],c=A.M[g+1],I=A.M[g+n-1],u=A.M[g+n];A.de>=A.me&&(r>>=2),o>A.ce&&(o=A.ce);do{if(t=e,A.M[t+n]!=u||A.M[t+n-1]!=I||A.M[t]!=l||A.M[t+1]!=c)continue;let r=qi.min(Yr,A.ce),a=2;for(;r>a&&A.M[g+a]==A.M[t+a];)a++;if(i=a,i>n){if(A.Ce=e,n=i,i>=o)break;I=A.M[g+n-1],u=A.M[g+n]}}while((e=s[e&B])>a&&0!=--r);return n>A.ce?A.ce:n}function pg(A,e){((A,e,t,i,r=0)=>{let g,n,o=0;A.ge>0?(2==A.O.m&&(A.O.m=(A=>{let e,t=4093624447;for(e=0;31>=e;e++,t>>=1)if(1&t&&0!=A.B[e].$)return 0;if(0!=A.B[9].$||0!=A.B[10].$||0!=A.B[13].$)return 1;for(e=32;yr>e;e++)if(0!=A.B[e].$)return 1;return 0})(A)),gg(A,A.Ve),gg(A,A.Te),o=(A=>{let e;for(ng(A,A.B,A.Ve._),ng(A,A.I,A.Te._),gg(A,A.Ue),e=br-1;e>=3&&0==A.Xe[$i[e]].$e;e--);return A.ie+=3*(e+1)+5+5+4,e})(A),g=A.ie+3+7>>3,n=A.fe+3+7>>3,(g>=n||4==A.be)&&(g=n)):g=n=t+5,g>=t+4&&e?ag(A,e,t,i,r):n==g?(Ag(A,2+i,3),sg(A,Jr,Xr)):(Ag(A,4+i,3),((A,e,t,i)=>{let r;for(Ag(A,e-257,5),Ag(A,t-1,5),Ag(A,i-4,4),r=0;i>r;r++)Ag(A,A.Xe[$i[r]].$e,3);og(A,A.B,e-1),og(A,A.I,t-1)})(A,A.Ve._+1,A.Te._+1,o+1),sg(A,A.B,A.I)),eg(A),i&&$r(A)})(A,A.M,A.ae-A.ue,e,A.ue),A.ue=A.ae,dg(A.O)}function mg(A,e){return pg(A,e?1:0),0==A.O.avail_out?e?2:0:null}var yg=65535;function Sg(A,e){return e>A?A:e}function Mg(A,e){let t,i,r,g=Sg(A.ne-5,A.F),n=0,o=A.O.avail_in;do{if(t=yg,r=A.S+42>>3,A.O.avail_out<r||(r=A.O.avail_out-r,i=A.ae-A.ue,t>i+A.O.avail_in&&(t=i+A.O.avail_in),t>r&&(t=r),g>t&&(0==t&&4!=e||0==e||t!=i+A.O.avail_in)))break;n=4==e&&t==i+A.O.avail_in?1:0,ag(A,null,0,n),A.X[A.V-4]=t,A.X[A.V-3]=t>>8,A.X[A.V-2]=~t,A.X[A.V-1]=~t>>8,dg(A.O),i&&(i>t&&(i=t),rr(A.O.next_out,A.O.next_out_index,A.M,A.ue,i),A.O.next_out_index+=i,A.O.avail_out-=i,A.O.total_out+=i,A.ue+=i,t-=i),t&&(Eg(A.O,A.O.next_out,A.O.next_out_index,t),A.O.next_out_index+=t,A.O.avail_out-=t,A.O.total_out+=t)}while(0==n);if(o-=A.O.avail_in,o){if(o<A.F)A.qe-A.ae<=o&&(A.ae-=A.F,rr(A.M,0,A.M,A.F,A.ae),2>A._e&&A._e++,A.le>A.ae&&(A.le=A.ae)),rr(A.M,A.ae,A.O.next_in,A.O.next_in_index-o,o),A.ae+=o,A.le+=Sg(o,A.F-A.le);else{A._e=2;let e=A.O.next_in_index-A.F;rr(A.M,0,A.O.next_in,e,A.F),A.ae=A.F,A.le=A.ae}A.ue=A.ae}return A.q<A.ae&&(A.q=A.ae),n?(A.Me=8,3):0!=e&&4!=e&&0==A.O.avail_in&&A.ae==A.ue?1:(r=A.qe-A.ae,A.O.avail_in>r&&A.ue>=A.F&&(A.ue-=A.F,A.ae-=A.F,rr(A.M,0,A.M,A.F,A.ae),2>A._e&&A._e++,r+=A.F,A.le>A.ae&&(A.le=A.ae)),r>A.O.avail_in&&(r=A.O.avail_in),r&&(Eg(A.O,A.M,A.ae,r),A.ae+=r,A.le+=Sg(r,A.F-A.le)),A.q<A.ae&&(A.q=A.ae),r=A.S+42>>3,r=Sg(A.ne-r,yg),g=Sg(r,A.F),i=A.ae-A.ue,(i>=g||(i||4==e)&&0!=e&&0==A.O.avail_in&&r>=i)&&(t=Sg(i,r),n=4==e&&0==A.O.avail_in&&t==i?1:0,ag(A,A.M,t,n,A.ue),A.ue+=t,dg(A.O)),n&&(A.Me=8),n?2:0)}function bg(A,e){let t,i=!1;for(;;){if(A.ce<pr){if(hg(A),A.ce<pr&&0==e)return 0;if(0==A.ce)break}if(t=0,A.ce>=Dr&&(t=Ig(A,A.ae)),0!=t&&A.ae-t<=Cr(A)&&(A.se=Yg(A,t)),A.se<Dr)i=ur(A,A.M[A.ae]),A.ce--,A.ae++;else if(A.ae,A.Ce,A.se,i=Ir(A,A.ae-A.Ce,A.se-Dr),A.ce-=A.se,A.se>A.ye||A.ce<Dr)A.ae+=A.se,A.se=0,A.ke=A.M[A.ae],A.ke=cg(A,A.ke,A.M[A.ae+1]);else{A.se--;do{A.ae++,t=Ig(A,A.ae)}while(0!=--A.se);A.ae++}if(i){let e=mg(A,!1);if(null!=e)return e}}if(A.le=A.ae<Dr-1?A.ae:Dr-1,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1}function Gg(A,e){let t,i=!1;for(;;){if(A.ce<pr){if(hg(A),A.ce<pr&&0==e)return 0;if(0==A.ce)break}if(t=0,A.ce>=Dr&&(t=Ig(A,A.ae)),A.de=A.se,A.he=A.Ce,A.se=Dr-1,0!=t&&A.de<A.ye&&A.ae-t<=Cr(A)&&(A.se=Yg(A,t),5>=A.se&&1==A.be&&(A.se=Dr-1)),A.de<Dr||A.se>A.de)if(A.we){if(i=ur(A,A.M[A.ae-1]),i&&pg(A,0),A.ae++,A.ce--,0==A.O.avail_out)return 0}else A.we=1,A.ae++,A.ce--;else{let e=A.ae+A.ce-Dr;A.ae,A.he,A.de,i=Ir(A,A.ae-1-A.he,A.de-Dr),A.ce-=A.de-1,A.de-=2;do{++A.ae<=e&&(t=Ig(A,A.ae))}while(0!=--A.de);if(A.we=0,A.se=Dr-1,A.ae++,i){let e=mg(A,!1);if(null!=e)return e}}}if(A.we&&(i=ur(A,A.M[A.ae-1]),A.we=0),A.le=A.ae<Dr-1?A.ae:Dr-1,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1}var Og=new Vi([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Kg=Hg([16,8,17,4,18,4,19,4,20,4,21,4,16,1,73,1,200,1]),Ug=new Vi([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),kg=Hg([16,4,17,2,18,2,19,2,20,2,21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2,64,2]),Wg=new Vi([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,3,0,0]),Tg=Hg([128,8,129,4,130,4,131,4,132,4,133,4,16,1,73,1,200,1]),Lg=new Vi([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,32769,49153]),zg=Hg([128,4,129,2,130,2,131,2,132,2,133,2,134,2,135,2,136,2,137,2,138,2,139,2,140,2,141,2,142,2]);function Hg(A){let e=[];for(let t=0;t<A.length;t+=2){let i=A[t],r=A[t+1];for(let A=0;r>A;A++)e.push(i)}return new Vi(e)}function Ng(A,e){let t,i=A.A,r=A.next_in_index,g=A.next_out_index,n=A.next_in,o=A.next_out,a=i.M,s=i.N>>>0,B=i.S>>>0,l=i.et,c=i.tt,I=(1<<i.nt)-1,u=(1<<i.rt)-1,C=i.F>>>0,E=i.q>>>0,h=i.C>>>0,w=i.it,f=g-(e-A.avail_out),d=g+(A.avail_out-257),F=r+(A.avail_in-5),Q=0,D=0,Y=0,p=0;A:do{for(;15>B;){if(r>=n.length)break A;s+=n[r++]<<B,B+=8}for(t=l[s&I];;){if(Y=t.ft,s>>>=Y,B-=Y,Y=t._t,0==Y){o[g++]=t.lt;break}if(16&Y){if(Q=t.lt,Y&=15,Y){for(;Y>B;){if(r>=n.length){i.ot=16200;break A}s+=n[r++]<<B,B+=8}Q+=s&(1<<Y)-1,s>>>=Y,B-=Y}for(;15>B;){if(r>=n.length){i.ot=16200;break A}s+=n[r++]<<B,B+=8}for(t=c[s&u];;){if(Y=t.ft,s>>>=Y,B-=Y,Y=t._t,16&Y){if(D=t.lt,Y&=15,Y){for(;Y>B;){if(r>=n.length){i.ot=16200;break A}s+=n[r++]<<B,B+=8}D+=s&(1<<Y)-1,s>>>=Y,B-=Y}let e=Q,l=g-f;if(D>l){let t=D-l;if(t>E&&w){A.msg="invalid distance too far back",i.ot=16209;break A}if(0==h){if(p=C-t,t>=e){for(let A=0;e>A;++A)o[g++]=a[p++];continue A}for(let A=0;t>A;++A)o[g++]=a[p++];e-=t,p=g-D}else if(t>h){p=C+h-t;let A=t-h;if(A>=e){for(let A=0;e>A;++A)o[g++]=a[p++];continue A}for(let e=0;A>e;++e)o[g++]=a[p++];if(e-=A,p=0,e>h){for(let A=0;h>A;++A)o[g++]=a[p++];e-=h,p=g-D}}else{if(p=h-t,t>=e){for(let A=0;e>A;++A)o[g++]=a[p++];continue A}for(let A=0;t>A;++A)o[g++]=a[p++];e-=t,p=g-D}for(;e>2;)o[g++]=o[p++],o[g++]=o[p++],o[g++]=o[p++],e-=3;e&&(o[g++]=o[p++],e>1&&(o[g++]=o[p++]))}else{for(p=g-D;e>2;)o[g++]=o[p++],o[g++]=o[p++],o[g++]=o[p++],e-=3;e&&(o[g++]=o[p++],e>1&&(o[g++]=o[p++]))}break}if(64&Y){A.msg="invalid distance code",i.ot=16209;break A}t=c[t.lt+(s&(1<<Y)-1)]}break}if(64&Y){if(32&Y){i.ot=16191;break A}A.msg="invalid literal/length code",i.ot=16209;break A}t=l[t.lt+(s&(1<<Y)-1)]}}while(F>r&&d>g);let m=B>>3;r-=m,B-=m<<3,s&=(1<<B)-1,A.next_in_index=r,A.next_out_index=g,A.avail_in=F>r?F-r+5:5-(r-F),A.avail_out=d>g?d-g+257:257-(g-d),i.N=s>>>0,i.S=B>>>0}function Rg(A,e){let t=[],i=e?1446:1444;return{...or(A,0),O:A,ot:16180,ut:!1,L:0,ct:!1,st:0,dt:0,ht:0,wt:0,M:Ar,kt:0,gt:0,Je:0,et:t,tt:t,nt:0,rt:0,bt:0,xt:0,vt:0,yt:0,zt:t,At:new Vi(320),Ot:new Vi(288),Mt:new _i(i).fill(null).map(()=>xg()),Ft:0,it:!0,Dt:0,qt:0,Ct:e}}function xg(A=0,e=0,t=0){return{_t:A,ft:e,lt:t}}function Jg(A=1){return{_t:64,ft:A,lt:0}}function Xg(A){return(255&A)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>24&255}var Pg={Ct:!1,Nt:Og,St:Kg,Xt:Ug,Vt:kg,Tt:20,Ut:257,Qt:0,$t:592,Et:!1,Bt:!0},Vg={Ct:!0,Nt:Wg,St:Tg,Xt:Lg,Vt:zg,Tt:19,Ut:256,Qt:-1,$t:594,Et:!0,Bt:!1};function vg(A,e,t,i,r,g,n,o){let a,s,B,l,c,I,u,C,E,h,w,f,d,F,Q,D,Y,p,m,y=new Vi(16),S=new Vi(16),M=o?Vg:Pg;for(a=0;15>=a;a++)y[a]=0;for(s=0;t>s;s++)y[e[s]]++;for(c=r.It,l=15;l>=1&&0==y[l];l--);if(c>l&&(c=l),0==l)return M.Bt?(Q=Jg(1),i.It[0]=Q,i.It[1]=Q,r.It=1,0):-1;for(B=1;l>B&&0==y[B];B++);for(B>c&&(c=B),C=1,a=1;15>=a;a++)if(C<<=1,C-=y[a],0>C)return-1;if(C>0&&(0==A||1!=l))return-1;for(S[1]=0,a=1;15>a;a++)S[a+1]=S[a]+y[a];for(s=0;t>s;s++)0!=e[s]&&(g[S[e[s]]++]=s);switch(A){case 0:Y=p=g,m=M.Tt;break;case 1:Y=M.Nt,p=M.St,m=M.Ut;break;default:Y=M.Xt,p=M.Vt,m=M.Qt}if(h=0,s=0,a=B,D=n.It,I=c,u=0,d=-1,E=1<<c,F=E-1,1==A&&(M.Et?E>=852:E>852)||2==A&&(M.Et?E>=M.$t:E>M.$t))return 1;for(;;){Q=Zg(g,s,a,u,A,Y,p,m,M.Ct),w=1<<a-u,f=1<<I,B=f;do{f-=w;let A=(h>>u)+f;i.It[D+A]={...Q}}while(0!=f);for(w=1<<a-1;h&w;)w>>=1;if(0!=w?(h&=w-1,h+=w):h=0,s++,0==--y[a]){if(a==l)break;a=e[g[s]]}if(a>c&&(h&F)!=d){for(0==u&&(u=c),D+=1<<I,I=a-u,C=1<<I;l>I+u&&(C-=y[I+u],C>0);)I++,C<<=1;if(E+=1<<I,1==A&&(M.Et?E>=852:E>852)||2==A&&(M.Et?E>=M.$t:E>M.$t))return 1;d=h&F,i.It[n.It+d]={_t:I,ft:c,lt:D-n.It}}}if(0!=h)for(Q=Jg(a-u);0!=h;){for(0!=u&&(h&F)!=d&&(u=0,a=c,D=n.It,I=c,Q.ft=a),i.It[D+(h>>u)]={...Q},w=1<<a-1;h&w;)w>>=1;0!=w?(h&=w-1,h+=w):h=0}return n.It+=E,r.It=c,0}function Zg(A,e,t,i,r,g,n,o,a){let s;if(a?A[e]<o:A[e]+1<o)s=xg(0,t-i,A[e]);else if(a?A[e]>o:A[e]>=o)if(a&&1==r){let r=A[e]-257;s=xg(n[r],t-i,g[r])}else{let r=a?A[e]:A[e]-o;s=xg(n[r],t-i,g[r])}else s=((A=0)=>({_t:96,ft:A,lt:0}))(t-i);return s}var qg,jg,_g=new _i(544),$g=!0;function An(A){let e;return!(A&&(e=A.A,!(!e||e.O!=A||e.Ct&&(16191>e.ot||e.ot>16209)||!e.Ct&&(16180>e.ot||e.ot>16211))))}function en(A){let e={It:0};if($g){let t,i,r;for(t=0;144>t;)A.At[t++]=8;for(;256>t;)A.At[t++]=9;for(;280>t;)A.At[t++]=7;for(;288>t;)A.At[t++]=8;for(let A=0;544>A;A++)_g[A]=xg();r=_g,qg=r,i=9;let g={It:r},n={It:i},o={It:0};for(vg(1,A.At,288,g,n,A.Ot,o,A.Ct),r=g.It,i=n.It,A.Ft=o.It,t=0;32>t;)A.At[t++]=5;i=5;let a=o.It,s={It:r},B={It:i};e.It=a,vg(2,A.At,32,s,B,A.Ot,e,A.Ct),jg=r.slice(a),$g=!1}A.et=qg,A.nt=9,A.tt=jg,A.rt=5,A.Ft=e.It}var tn=class extends ji{constructor(){super("Need more input")}};function rn(A,e){let t,i,r,g,n,o,a,s,B,l,c,I,u,C,E,h,w,f=new Pi(4);if(An(A)||!A.next_out||!A.next_in&&0!=A.avail_in)return-2;o=0,s=0,a=0,B=0,i=Ar,r=0,g=Ar,n=0,t=A.A,16191==t.ot&&(t.ot=16192),Y(),l=o,c=a,w=0;try{for(;;)switch(t.ot){case 16180:if(0==t.L){t.ot=16192;break}if(S(16),2&t.L&&35615==s){0==t.D&&(t.D=15),t.ht=jr(0),t.ht=Q(t.ht,s),m(),t.ot=16181;break}if(t.K&&(t.K.Zt=-1),!(1&t.L)||((M(8)<<8)+(s>>8))%31){A.msg="incorrect header check",t.ot=16209;break}if(8!=M(4)){A.msg="unknown compression method",t.ot=16209;break}if(b(4),h=M(4)+8,0==t.D&&(t.D=h),h>15||h>t.D){A.msg="invalid window size",t.ot=16209;break}t.dt=1<<h,t.st=0,A.v=t.ht=Zr(0),t.ot=512&s?16189:16191,m();break;case 16181:if(S(16),t.st=s,8!=(255&t.st)){A.msg="unknown compression method",t.ot=16209;break}if(57344&t.st){A.msg="unknown header flags set",t.ot=16209;break}t.K&&(t.K.We=s>>8&1),512&t.st&&4&t.L&&(t.ht=Q(t.ht,s)),m(),t.ot=16182;case 16182:S(32),t.K&&(t.K.je=s),512&t.st&&4&t.L&&(t.ht=D(t.ht,s)),m(),t.ot=16183;case 16183:S(16),t.K&&(t.K.Ht=255&s,t.K.Pe=s>>8),512&t.st&&4&t.L&&(t.ht=Q(t.ht,s)),m(),t.ot=16184;case 16184:1024&t.st?(S(16),t.kt=s,t.K&&(t.K.Ge=s),512&t.st&&4&t.L&&(t.ht=Q(t.ht,s)),m()):t.K&&(t.K.Je=Ar),t.ot=16185;case 16185:if(1024&t.st&&(I=t.kt,I>o&&(I=o),I&&(t.K&&t.K.Je&&t.K.Lt&&(h=t.K.Ge-t.kt)<t.K.Lt&&rr(t.K.Je,h,i,r,I),512&t.st&&4&t.L&&(t.ht=jr(t.ht,i.subarray(r,r+I),I)),o-=I,r+=I,t.kt-=I),t.kt))return d();t.kt=0,t.ot=16186;case 16186:if(2048&t.st){if(0==o)return d();I=0;do{h=i[r+I++],t.K&&t.K.Kt&&t.kt<t.K.Kt&&(t.K.Re[t.kt++]=h)}while(h&&o>I);if(512&t.st&&4&t.L&&(t.ht=jr(t.ht,i.subarray(r,r+I),I)),o-=I,r+=I,h)return d()}else t.K&&(t.K.Re=Ar);t.kt=0,t.ot=16187;case 16187:if(4096&t.st){if(0==o)return d();I=0;do{h=i[r+I++],t.K&&t.K.Wt&&t.kt<t.K.Wt&&(t.K.Ye[t.kt++]=h)}while(h&&o>I);if(512&t.st&&4&t.L&&(t.ht=jr(t.ht,i.subarray(r,r+I),I)),o-=I,r+=I,h)return d()}else t.K&&(t.K.Ye=Ar);t.ot=16188;case 16188:if(512&t.st){if(S(16),4&t.L&&s!=(65535&t.ht)){A.msg="header crc mismatch",t.ot=16209;break}m()}t.K&&(t.K.Ke=t.st>>9&1,t.K.Zt=1),A.v=t.ht=jr(0),t.ot=16191;break;case 16189:S(32),A.v=t.ht=Xg(s),m(),t.ot=16190;case 16190:if(!t.ct)return p(),2;A.v=t.ht=Zr(0),t.ot=16191;case 16191:if(5==e||6==e)return d();case 16192:if(t.ut){G(),t.ot=16206;break}switch(S(3),t.ut=!!M(1),b(1),M(2)){case 0:t.ot=16193;break;case 1:if(en(t),t.ot=16199,6==e)return b(2),d();break;case 2:t.ot=16196;break;case 3:A.msg="invalid block type",t.ot=16209}b(2);break;case 16193:if(G(),S(32),(65535&s)!=(s>>>16^65535)){A.msg="invalid stored block lengths",t.ot=16209;break}if(t.kt=65535&s,m(),t.ot=16194,6==e)return d();case 16194:t.ot=16195;case 16195:if(I=t.kt,I){if(I>o&&(I=o),I>a&&(I=a),0==I)return d();rr(g,n,i,r,I),o-=I,r+=I,a-=I,n+=I,t.kt-=I;break}t.ot=16191;break;case 16196:if(S(14),t.xt=M(5)+257,b(5),t.vt=M(5)+1,b(5),t.bt=M(4)+4,b(4),t.xt>286||!t.Ct&&t.vt>30){A.msg=t.Ct?"too many length":"too many length or distance symbols",t.ot=16209;break}t.yt=0,t.ot=16197;case 16197:for(;t.yt<t.bt;)S(3),t.At[$i[t.yt++]]=M(3),b(3);for(;19>t.yt;)t.At[$i[t.yt++]]=0;t.zt=t.Mt,t.et=t.tt=t.zt,t.nt=7;let l={It:t.zt},f={It:t.nt},O={It:0};if(w=vg(0,t.At,19,l,f,t.Ot,O,t.Ct),t.zt=l.It,t.nt=f.It,w){A.msg="invalid code lengths set",t.ot=16209;break}t.yt=0,t.ot=16198;case 16198:for(;t.yt<t.xt+t.vt;){for(;C=t.et[M(t.nt)],C.ft>B;)y();if(16>C.lt)b(C.ft),t.At[t.yt++]=C.lt;else{if(16==C.lt){if(S(C.ft+2),b(C.ft),0==t.yt){A.msg="invalid bit length repeat",t.ot=16209;break}h=t.At[t.yt-1],I=3+M(2),b(2)}else 17==C.lt?(S(C.ft+3),b(C.ft),h=0,I=3+M(3),b(3)):(S(C.ft+7),b(C.ft),h=0,I=11+M(7),b(7));if(t.yt+I>t.xt+t.vt){A.msg="invalid bit length repeat",t.ot=16209;break}for(;I--;)t.At[t.yt++]=h}}if(16209==t.ot)break;if(0==t.At[256]){A.msg="invalid code -- missing end-of-block",t.ot=16209;break}t.zt=t.Mt,t.nt=9;let K={It:t.zt},U={It:t.nt},k={It:0};w=vg(1,t.At,t.xt,K,U,t.Ot,k,t.Ct),t.zt=K.It,t.nt=U.It;let W=k.It;if(t.et=t.zt.slice(0,W),w){A.msg="invalid literal/lengths set",t.ot=16209;break}t.rt=6;let T=t.At.subarray(t.xt,t.xt+t.vt),L={It:t.zt},z={It:t.rt},H={It:W};if(w=vg(2,T,t.vt,L,z,t.Ot,H,t.Ct),t.zt=L.It,t.rt=z.It,t.tt=t.zt.slice(W),w){A.msg="invalid distances set",t.ot=16209;break}if(t.ot=16199,6==e)return d();case 16199:t.ot=16200;case 16200:if(!t.Ct&&o>=6&&a>=258){p(),Ng(A,c),Y(),16191==t.ot&&(t.Dt=-1);break}for(t.Dt=0;C=t.et[M(t.nt)],C.ft>B;)y();if(C._t&&!(240&C._t)){for(E=C;C=t.et[E.lt+(M(E.ft+E._t)>>E.ft)],E.ft+C.ft>B;)y();b(E.ft),t.Dt+=E.ft}if(b(C.ft),t.Dt+=C.ft,t.kt=C.lt,0==C._t){t.ot=16205;break}if(32&C._t){t.Dt=-1,t.ot=16191;break}if(64&C._t){A.msg="invalid literal/length code",t.ot=16209;break}t.Je=15&C._t,t.ot=16201;case 16201:t.Je&&(S(t.Je),t.kt+=M(t.Je),b(t.Je),t.Dt+=t.Je),t.qt=t.kt,t.ot=16202;case 16202:for(;C=t.tt[M(t.rt)],C.ft>B;)y();if(!(240&C._t)){for(E=C;C=t.tt[E.lt+(M(E.ft+E._t)>>E.ft)],E.ft+C.ft>B;)y();b(E.ft),t.Dt+=E.ft}if(b(C.ft),t.Dt+=C.ft,64&C._t){A.msg="invalid distance code",t.ot=16209;break}t.gt=C.lt,t.Je=15&C._t,t.ot=16203;case 16203:t.Je&&(S(t.Je),t.gt+=M(t.Je),b(t.Je),t.Dt+=t.Je),t.ot=16204;case 16204:if(0==a)return d();if(I=c-a,t.gt>I){if(I=t.gt-I,I>t.q&&t.it){A.msg="invalid distance too far back",t.ot=16209;break}I>t.C?(I-=t.C,u=t.F-I):u=t.C-I,I>t.kt&&(I=t.kt),I>a&&(I=a);for(let A=0;I>A;++A)g[n]=255&t.M[u],++n,++u}else{u=n-t.gt,I=t.kt,I>a&&(I=a);for(let A=0;I>A;++A)g[n]=g[u],++n,++u}I>a&&(I=a),a-=I,t.kt-=I,0==t.kt&&(t.ot=16200);break;case 16205:if(0==a)return d();g[n++]=t.kt,a--,t.ot=16200;break;case 16206:if(t.L){if(S(32),c-=a,A.total_out+=c,t.wt+=c,4&t.L&&c){let e=g.subarray(n-c,n);A.v=t.ht=F(t.ht,e,c)}if(c=a,4&t.L&&(t.st?s:Xg(s)>>>0)!=t.ht){A.msg="incorrect data check",t.ot=16209;break}m()}t.ot=16207;case 16207:if(t.L&&t.st){if(S(32),4&t.L&&s!=(4294967295&t.wt)){A.msg="incorrect length check",t.ot=16209;break}m()}t.ot=16208;case 16208:return w=1,d();case 16209:return w=-3,d();case 16210:return-4;default:return-2}}catch(A){if(A instanceof tn)return d();throw A}function d(){if(p(),t.F||c!=A.avail_out&&16209>t.ot&&(t.Ct?16208>t.ot:16206>t.ot)||4!=e){let e=c-A.avail_out;if(((A,e,t)=>{let i=A.A;if(!(i.M&&0!=i.M.length||(i.M=new Pi(1<<i.D),i.M)))return 1;if(0==i.F&&(i.F=1<<i.D,i.C=0,i.q=0),t<i.F){let A=i.F-i.C;A>t&&(A=t),rr(i.M,i.C,e,e.length-t,A),(t-=A)?(rr(i.M,0,e,e.length-t,t),i.C=t,i.q=i.F):(i.C+=A,i.C==i.F&&(i.C=0),i.q<i.F&&(i.q+=A))}else rr(i.M,0,e,e.length-i.F,i.F),i.C=0,i.q=i.F;return 0})(A,A.next_out.subarray(A.next_out_index-e,A.next_out_index),e))return t.ot=16210,-4}return l-=A.avail_in,c-=A.avail_out,A.total_in+=l,A.total_out+=c,t.wt+=c,4&t.L&&c&&(A.v=t.ht=F(t.ht,A.next_out.subarray(A.next_out_index-c,A.next_out_index),c)),A.m=t.S+(t.ut?64:0)+(16191==t.ot?128:0)+(16199==t.ot||16194==t.ot?256:0),(0==l&&0==c&&0==w||4==e&&0==w)&&(w=-5),w}function F(A,e,i){return t.st?jr(A,e,i):Zr(A,e,i)}function Q(A,e){return f[0]=255&e,f[1]=e>>>8&255,jr(A,f,2)>>>0}function D(A,e){return f[0]=255&e,f[1]=e>>>8&255,f[2]=e>>>16&255,f[3]=e>>>24&255,jr(A,f,4)>>>0}function Y(){g=A.next_out,n=A.next_out_index,a=A.avail_out,i=A.next_in,r=A.next_in_index,o=A.avail_in,s=t.N,B=t.S}function p(){A.next_out=g,A.next_out_index=n,A.avail_out=a,A.next_in=i,A.next_in_index=r,A.avail_in=o,t.N=s,t.S=B}function m(){s=0,B=0}function y(){if(0==o)throw new tn;o--,s+=(255&i[r])<<B,r++,s>>>=0,B+=8}function S(A){for(;A>B;)y()}function M(A){return s&(1<<A)-1}function b(A){s>>>=A,B-=A}function G(){s>>>=7&B,B-=7&B}}function gn(A){return An(A)?-2:0}var nn=65536,on=class{constructor(A=16,e=nn){this.Jt=[],this.Rt=A;for(let t=0;t<qi.min(A,4);t++)this.Jt.push(new Pi(e))}acquire(A=nn){for(let e=this.Jt.length-1;e>=0;e--){let t=this.Jt[e];if(t.length>=A)return this.Jt.splice(e,1),t}return new Pi(A)}release(A){this.Jt.length<this.Rt&&this.Jt.push(A)}};function an(A){let e=new on(32,nn),t=null;function i(A){try{e.release(A)}catch{}}return new Zi({start(){},transform(r,g){if(!t){let e=A.Yt(),i=A.jt(e);if(0!=i&&0!=i)throw new ji("init failed: "+i);t={O:e}}let n=t.O,o=0;for(;o<r.length;){let t=qi.min(r.length-o,32768),a=r.subarray(o,o+t);for(n.next_in=a,n.next_in_index=0,n.avail_in=a.length;n.avail_in>0;){let t=e.acquire(),r=!1;try{n.next_out=t,n.next_out_index=0,n.avail_out=t.length;let i=A.Pt(n,0),o=t.length-n.avail_out;if(o>0){let A=!1,i={Gt:t.subarray(0,o),release:()=>{A||(A=!0,e.release(t))}};r=!0,g.enqueue(i)}if(0!=i&&1!=i)throw new ji("process error: "+i)}finally{r||i(t)}}o+=t}},flush(r){if(!t)return;let g=t.O;for(;;){let t=e.acquire(),n=!1;try{g.next_out=t,g.next_out_index=0,g.avail_out=t.length;let i=A.Pt(g,4),o=t.length-g.avail_out;if(o>0){let A=!1,i={Gt:t.subarray(0,o),release:()=>{A||(A=!0,e.release(t))}};n=!0,r.enqueue(i)}if(1==i)break;if(0!=i)throw new ji("finalization error: "+i)}finally{n||i(t)}}let n=A.en(g);if(0!=n&&0!=n)throw new ji("end failed: "+n)}})}function sn(){return new Zi({start(){},transform(A,e){try{e.enqueue(A.Gt.slice(0))}finally{A.release()}},flush(){}})}tA({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(A="deflate",e){let t=function(A="deflate",e){let t="gzip"==A?31:"deflate-raw"==A?-15:15,i=e&&"number"==typeof e.level?e.level:-1;return an({Yt:()=>(()=>{let A=nr();return A.A=hr(A),A})(),jt:A=>((A,e,t=8,i=15,r=Qr,g=0)=>{let n=1;if(!A)return-2;if(A.msg="",-1==e&&(e=6),0>i){if(n=0,-15>i)return-2;i=-i}else i>15&&(n=2,i-=16);if(1>r||r>9||8!=t||8>i||i>15||0>e||e>9||0>g||g>4||8==i&&1!=n)return-2;8==i&&(i=9);let o=hr(A);return o?(A.A=o,o.O=A,o.H=42,o.L=n,o.K=void 0,o.D=i,o.F=1<<o.D,o.W=o.F-1,o.J=r+7,o.R=1<<o.J,o.Y=o.R-1,o.j=(o.J+Dr-1)/Dr,o.M=new Pi(2*o.F),o.P=new Vi(o.F),o.G=new Vi(o.R),o.q=0,o.ee=1<<r+6,o.X=new Pi(4*o.ee),o.ne=4*o.ee,o.M&&o.P&&o.G&&o.X?(o.Oe=o.X.subarray(o.ee),o.T=o.te+o.ee,o.Z=3*(o.ee-1),o.ge=e,o.be=g,o.De=t,(A=>{let e=(A=>{let e;return wg(A)?-2:(A.total_in=A.total_out=0,A.msg="",A.m=2,e=A.A,e.V=0,e.re=e.te,0>e.L&&(e.L=-e.L),e.H=2==e.L?57:42,A.v=2==e.L?jr(0):Zr(0),e.oe=-2,(A=>{if(A.B&&A.B.length>=Gr)for(let e=0;Gr>e;e++)A.B[e]=fr();else{A.B=[];for(let e=0;Gr>e;e++)A.B.push(fr())}if(A.I&&A.I.length>=2*Mr+1)for(let e=0;2*Mr+1>e;e++)A.I[e]=fr();else{A.I=[];for(let e=0;2*Mr+1>e;e++)A.I.push(fr())}if(A.Xe&&A.Xe.length>=2*br+1)for(let e=0;2*br+1>e;e++)A.Xe[e]=fr();else{A.Xe=[];for(let e=0;2*br+1>e;e++)A.Xe.push(fr())}A.Ve=new tr(A.B,new ir(Jr,Lr,yr+1,Sr,Or)),A.Te=new tr(A.I,new ir(Xr,zr,0,Mr,Or)),A.Ue=new tr(A.Xe,new ir(null,Hr,0,br,7)),A.N=0,A.S=0,A.Me=0,eg(A)})(e),0)})(A);return 0==e&&(A=>{A.qe=2*A.F,ug(A),A.ye=Bg[A.ge].Ie,A.me=Bg[A.ge].Ze,A.xe=Bg[A.ge].He,A.ve=Bg[A.ge].Le,A.ae=0,A.ue=0,A.ce=0,A.le=0,A.se=A.de=Dr-1,A.we=0,A.ke=0})(A.A),e})(A)):(o.H=666,A.msg=ar(-4),Dg(A),-4)):-4})(A,i,8,t,8,0),Pt:Qg,en:Dg})}(A,e);this.writable=t.writable,this.readable=t.readable.pipeThrough(sn())}},DecompressionStreamZlib:class{constructor(A="deflate"){let e=((A="deflate")=>{let e="gzip"==A?31:"deflate-raw"==A?-15:15;return an({Yt:()=>(A=>{let e=nr();return e.A=Rg(e,!!A),e})("deflate64-raw"==A),jt:A=>function(A,e){let t,i;if(!A)return-2;A.msg="";let r=!!A.A.Ct;return i=Rg(A,r),r&&(e=-16),A.A=i,i.O=A,i.ot=i.Ct?16191:16180,t=((A,e)=>{let t,i,r;if(An(A))return-2;if(i=A.A,i.Ct?(e=-16,r=16):r=15,0>e){if(-r>e)return-2;t=0,e=-e}else t=5+(e>>4),!i.Ct&&48>e&&(e&=15);return e&&(8>e||e>r)?-2:(i.M.length>0&&i.D!=e&&(i.M=Ar),i.L=t,i.D=e,(A=>{let e;return An(A)?-2:(e=A.A,e.F=0,e.q=0,e.C=0,(A=>{let e;return An(A)?-2:(e=A.A,A.total_in=A.total_out=e.wt=0,A.msg="",e.L&&(A.v=1&e.L),e.ot=e.Ct?16191:16180,e.ut=!1,e.ct=!1,e.st=-1,e.dt=e.Ct?65536:32768,delete e.K,e.N=0,e.S=0,e.et=e.Mt,e.tt=e.Mt,e.zt=e.Mt,e.it=!0,e.Dt=-1,0)})(A))})(A))})(A,e),t}(A,e),Pt:rn,en:gn})})(A);this.writable=e.writable,this.readable=e.readable.pipeThrough(sn())}}}),(A=>{let e;A({workerURI:()=>(e||(e="data:text/javascript;base64,"+(A=>{A=(A=>{const e=(A=(A+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let i=0;e>i;i+=4){const e=rA.indexOf(A[i])<<18|rA.indexOf(A[i+1])<<12|(63&rA.indexOf(A[i+2]))<<6|63&rA.indexOf(A[i+3]);t.push(e>>16&255),"="!==A[i+2]&&t.push(e>>8&255),"="!==A[i+3]&&t.push(255&e)}return new I(t)})(A);let e=new I(1024),t=0;for(let r=0;r<A.length;){const g=A[r++];if(128&g){const n=3+(127&g),o=A[r++]<<8|A[r++],a=t-o;i(t+n);for(let A=0;n>A;A++)e[t++]=e[a+A]}else{const n=g;i(t+n);for(let i=0;n>i&&r<A.length;i++)e[t++]=A[r++]}}return(A=>{let e="";const t=A.length;let i=0;for(;t>i+2;i+=3){const t=A[i]<<16|A[i+1]<<8|A[i+2];e+=rA[t>>18&63]+rA[t>>12&63]+rA[t>>6&63]+rA[63&t]}const r=t-i;if(1===r){const t=A[i]<<16;e+=rA[t>>18&63]+rA[t>>12&63]+"=="}else if(2===r){const t=A[i]<<16|A[i+1]<<8;e+=rA[t>>18&63]+rA[t>>12&63]+rA[t>>6&63]+"="}return e})(new I(e.buffer.slice(0,t)));function i(A){if(e.length<A){let i=2*e.length;for(;A>i;)i*=2;const r=new I(i);r.set(e.subarray(0,t)),e=r}}})("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")),e)})})(tA),A.BlobReader=We,A.BlobWriter=Te,A.Data64URIReader=class extends Ue{constructor(A){super();let e=A.length;for(;"="==A.charAt(e-1);)e--;const i=A.indexOf(",")+1;t.assign(this,{dataURI:A,dataStart:i,size:n.floor(.75*(e-i))})}readUint8Array(A,e){const{dataStart:t,dataURI:i}=this,r=new I(e),g=4*n.floor(A/3),o=atob(i.substring(g+t,4*n.ceil((A+e)/3)+t)),a=A-3*n.floor(g/4);let s=0;for(let A=a;a+e>A&&A<o.length;A++)r[A-a]=o.charCodeAt(A),s++;return s<r.length?r.subarray(0,s):r}},A.Data64URIWriter=class extends ke{constructor(A){super(),t.assign(this,{data:"data:"+(A||"")+";base64,",pending:[]})}writeUint8Array(A){const e=this;let t=0,r=e.pending;const g=e.pending.length;for(e.pending="",t=0;t<3*n.floor((g+A.length)/3)-g;t++)r+=i.fromCharCode(A[t]);for(;t<A.length;t++)e.pending+=i.fromCharCode(A[t]);r.length&&(r.length>2?e.data+=D(r):e.pending+=r)}getData(){return this.data+D(this.pending)}},A.ERR_BAD_FORMAT=xt,A.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Pt,A.ERR_DUPLICATED_NAME=hi,A.ERR_ENCRYPTED=Zt,A.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Xt,A.ERR_EOCDR_NOT_FOUND=Jt,A.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=vt,A.ERR_HTTP_RANGE=ye,A.ERR_INVALID_COMMENT=wi,A.ERR_INVALID_ENCRYPTION_STRENGTH=Qi,A.ERR_INVALID_ENTRY_COMMENT=fi,A.ERR_INVALID_ENTRY_NAME=di,A.ERR_INVALID_EXTRAFIELD_DATA=Yi,A.ERR_INVALID_EXTRAFIELD_TYPE=Di,A.ERR_INVALID_PASSWORD=CA,A.ERR_INVALID_SIGNATURE=EA,A.ERR_INVALID_UNCOMPRESSED_SIZE=ee,A.ERR_INVALID_VERSION=Fi,A.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Vt,A.ERR_OVERLAPPING_ENTRY=$t,A.ERR_SPLIT_ZIP_FILE=_t,A.ERR_UNDEFINED_UNCOMPRESSED_SIZE=mi,A.ERR_UNSUPPORTED_COMPRESSION=jt,A.ERR_UNSUPPORTED_ENCRYPTION=qt,A.ERR_UNSUPPORTED_FORMAT=pi,A.ERR_ZIP_NOT_EMPTY=yi,A.HttpRangeReader=class extends je{constructor(A,e={}){e.useRangeHeader=!0,super(A,e)}},A.HttpReader=je,A.Reader=Ue,A.SplitDataReader=_e,A.SplitDataWriter=$e,A.TextReader=class extends We{constructor(A){super(new h([A],{type:"text/plain"}))}},A.TextWriter=class extends Te{constructor(A){super(A),t.assign(this,{encoding:A,utf8:!A||"utf-8"==A.toLowerCase()})}async getData(){const{encoding:A,utf8:e}=this,i=await super.getData();if(i.text&&e)return i.text();{const e=new FileReader;return new w((r,g)=>{t.assign(e,{onload:({target:A})=>r(A.result),onerror:()=>g(e.error)}),e.readAsText(i,A)})}}},A.Uint8ArrayReader=class extends Ue{constructor(A){super(),A=new I(A.buffer,A.byteOffset,A.byteLength),t.assign(this,{array:A,size:A.length})}readUint8Array(A,e){return this.array.slice(A,A+e)}},A.Uint8ArrayWriter=class extends ke{init(A=0){t.assign(this,{offset:0,array:new I(A)}),super.init()}writeUint8Array(A){const e=this;if(e.offset+A.length>e.array.length){const t=e.array;e.array=new I(t.length+A.length),e.array.set(t)}e.array.set(A,e.offset),e.offset+=A.length}getData(){return this.array}},A.Writer=ke,A.ZipReader=ri,A.ZipReaderStream=class{constructor(A={}){const{readable:e,writable:t}=new Y,i=new ri(e,A).getEntriesGenerator();this.readable=new p({async pull(A){const{done:e,value:t}=await i.next();if(e)return A.close();const r={...t,readable:(()=>{const{readable:A,writable:e}=new Y;if(t.getData)return t.getData(e),A})()};delete r.getData,A.enqueue(r)}}),this.writable=t}},A.ZipWriter=Gi,A.ZipWriterStream=class{constructor(A={}){const{readable:e,writable:t}=new Y;this.readable=e,this.zipWriter=new Gi(t,A)}transform(A){const{readable:e,writable:t}=new Y({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(A,e),{readable:this.readable,writable:t}}writable(A){const{readable:e,writable:t}=new Y;return this.zipWriter.add(A,e),t}close(A,e={}){return this.zipWriter.close(A,e)}},A.configure=tA,A.getMimeType=()=>"application/octet-stream",A.terminateWorkers=async()=>{await w.allSettled(Fe.map(A=>(pe(A),A.terminate())))}});
1
+ ((A,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A="undefined"!=typeof globalThis?globalThis:A||self).zip={})})(this,function(A){"use strict";const{Array:e,Object:t,String:i,Number:r,BigInt:g,Math:n,Date:o,Map:a,Set:s,Response:B,URL:l,Error:c,Uint8Array:I,Uint16Array:u,Uint32Array:C,DataView:E,Blob:h,Promise:w,TextEncoder:f,TextDecoder:d,document:F,crypto:Q,btoa:D,TransformStream:Y,ReadableStream:p,WritableStream:m,CompressionStream:y,DecompressionStream:S,navigator:M,Worker:b}="undefined"!=typeof globalThis?globalThis:this||self;var G=void 0!==F?F.currentScript:null;const O=4294967295,K=65535,U=67324752,k=134695760,W=k,T=33639248,L=101010256,z=101075792,H=117853008,N=22,R=21589,x=2048,J="/",X=30,P=new o(2107,11,31),V=new o(1980,0,1),v=void 0,Z="undefined",q="function";let j=2;try{typeof M!=Z&&M.hardwareConcurrency&&(j=M.hardwareConcurrency)}catch{}const _={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:j,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof y!=Z&&y,DecompressionStream:typeof S!=Z&&S},$=t.assign({},_);function AA(){return $}function eA(A){return n.max(A.chunkSize,64)}function tA(A){const{baseURI:e,chunkSize:t,maxWorkers:i,terminateWorkerTimeout:r,useCompressionStream:g,useWebWorkers:n,CompressionStream:o,DecompressionStream:a,CompressionStreamZlib:s,DecompressionStreamZlib:B,workerURI:l,wasmURI:c}=A;iA("baseURI",e),iA("wasmURI",c),iA("workerURI",l),iA("chunkSize",t),iA("maxWorkers",i),iA("terminateWorkerTimeout",r),iA("useCompressionStream",g),iA("useWebWorkers",n),iA("CompressionStream",o),iA("DecompressionStream",a),iA("CompressionStreamZlib",s),iA("DecompressionStreamZlib",B)}function iA(A,e){e!==v&&($[A]=e)}const rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",gA=[];for(let A=0;256>A;A++){let e=A;for(let A=0;8>A;A++)1&e?e=e>>>1^3988292384:e>>>=1;gA[A]=e}class nA{constructor(A){this.crc=A||-1}append(A){let e=0|this.crc;for(let t=0,i=0|A.length;i>t;t++)e=e>>>8^gA[255&(e^A[t])];this.crc=e}get(){return~this.crc}}class oA extends Y{constructor(){let A;const e=new nA;super({transform(A,t){e.append(A),t.enqueue(A)},flush(){const t=new I(4);new E(t.buffer).setUint32(0,e.get()),A.value=t}}),A=this}}function aA(A){if(typeof f==Z){const e=new I((A=unescape(encodeURIComponent(A))).length);for(let t=0;t<e.length;t++)e[t]=A.charCodeAt(t);return e}return(new f).encode(A)}const sA={concat(A,e){if(0===A.length||0===e.length)return A.concat(e);const t=A[A.length-1],i=sA.getPartial(t);return 32===i?A.concat(e):sA._shiftRight(e,i,0|t,A.slice(0,A.length-1))},bitLength(A){const e=A.length;if(0===e)return 0;const t=A[e-1];return 32*(e-1)+sA.getPartial(t)},clamp(A,e){if(32*A.length<e)return A;const t=(A=A.slice(0,n.ceil(e/32))).length;return e&=31,t>0&&e&&(A[t-1]=sA.partial(e,A[t-1]&2147483648>>e-1,1)),A},partial:(A,e,t)=>32===A?e:(t?0|e:e<<32-A)+1099511627776*A,getPartial:A=>n.round(A/1099511627776)||32,_shiftRight(A,e,t,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(t),t=0;if(0===e)return i.concat(A);for(let r=0;r<A.length;r++)i.push(t|A[r]>>>e),t=A[r]<<32-e;const r=A.length?A[A.length-1]:0,g=sA.getPartial(r);return i.push(sA.partial(e+g&31,e+g>32?t:i.pop(),1)),i}},BA={bytes:{fromBits(A){const e=sA.bitLength(A)/8,t=new I(e);let i;for(let r=0;e>r;r++)3&r||(i=A[r/4]),t[r]=i>>>24,i<<=8;return t},toBits(A){const e=[];let t,i=0;for(t=0;t<A.length;t++)i=i<<8|A[t],3&~t||(e.push(i),i=0);return 3&t&&e.push(sA.partial(8*(3&t),i)),e}}},lA=class{constructor(A){const e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],A?(e._h=A._h.slice(0),e._buffer=A._buffer.slice(0),e._length=A._length):e.reset()}reset(){const A=this;return A._h=A._init.slice(0),A._buffer=[],A._length=0,A}update(A){const e=this;"string"==typeof A&&(A=BA.utf8String.toBits(A));const t=e._buffer=sA.concat(e._buffer,A),i=e._length,r=e._length=i+sA.bitLength(A);if(r>9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const g=new C(t);let n=0;for(let A=e.blockSize+i-(e.blockSize+i&e.blockSize-1);r>=A;A+=e.blockSize)e._block(g.subarray(16*n,16*(n+1))),n+=1;return t.splice(0,16*n),e}finalize(){const A=this;let e=A._buffer;const t=A._h;e=sA.concat(e,[sA.partial(1,1)]);for(let A=e.length+2;15&A;A++)e.push(0);for(e.push(n.floor(A._length/4294967296)),e.push(0|A._length);e.length;)A._block(e.splice(0,16));return A.reset(),t}_f(A,e,t,i){return A>19?A>39?A>59?A>79?void 0:e^t^i:e&t|e&i|t&i:e^t^i:e&t|~e&i}_S(A,e){return e<<A|e>>>32-A}_block(A){const t=this,i=t._h,r=e(80);for(let e=0;16>e;e++)r[e]=A[e];let g=i[0],o=i[1],a=i[2],s=i[3],B=i[4];for(let A=0;79>=A;A++){16>A||(r[A]=t._S(1,r[A-3]^r[A-8]^r[A-14]^r[A-16]));const e=t._S(5,g)+t._f(A,o,a,s)+B+r[A]+t._key[n.floor(A/20)]|0;B=s,s=a,a=t._S(30,o),o=g,g=e}i[0]=i[0]+g|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+B|0}},cA={getRandomValues(A){const e=new C(A.buffer),t=A=>{let e=987654321;const t=4294967295;return()=>(e=36969*(65535&e)+(e>>16)&t,(((e<<16)+(A=18e3*(65535&A)+(A>>16)&t)&t)/4294967296+.5)*(n.random()>.5?1:-1))};for(let i,r=0;r<A.length;r+=4){const A=t(4294967296*(i||n.random()));i=987654071*A(),e[r/4]=4294967296*A()|0}return A}},IA={importKey:A=>new IA.hmacSha1(BA.bytes.toBits(A)),pbkdf2(A,e,t,i){if(t=t||1e4,0>i||0>t)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let g,n,o,a,s;const B=new ArrayBuffer(r),l=new E(B);let I=0;const u=sA;for(e=BA.bytes.toBits(e),s=1;(r||1)>I;s++){for(g=n=A.encrypt(u.concat(e,[s])),o=1;t>o;o++)for(n=A.encrypt(n),a=0;a<n.length;a++)g[a]^=n[a];for(o=0;(r||1)>I&&o<g.length;o++)l.setInt32(I,g[o]),I+=4}return B.slice(0,i/8)},hmacSha1:class{constructor(A){const e=this,t=e._hash=lA,i=[[],[]];e._baseHash=[new t,new t];const r=e._baseHash[0].blockSize/32;A.length>r&&(A=(new t).update(A).finalize());for(let e=0;r>e;e++)i[0][e]=909522486^A[e],i[1][e]=1549556828^A[e];e._baseHash[0].update(i[0]),e._baseHash[1].update(i[1]),e._resultHash=new t(e._baseHash[0])}reset(){const A=this;A._resultHash=new A._hash(A._baseHash[0]),A._updated=!1}update(A){this._updated=!0,this._resultHash.update(A)}digest(){const A=this,e=A._resultHash.finalize(),t=new A._hash(A._baseHash[1]).update(e).finalize();return A.reset(),t}encrypt(A){if(this._updated)throw new c("encrypt on already updated hmac called!");return this.update(A),this.digest(A)}}},uA=typeof Q!=Z&&typeof Q.getRandomValues==q,CA="Invalid password",EA="Invalid signature",hA="zipjs-abort-check-password";function wA(A){return uA?Q.getRandomValues(A):cA.getRandomValues(A)}const fA=16,dA={name:"PBKDF2"},FA=t.assign({hash:{name:"HMAC"}},dA),QA=t.assign({iterations:1e3,hash:{name:"SHA-1"}},dA),DA=["deriveBits"],YA=[8,12,16],pA=[16,24,32],mA=10,yA=[0,0,0,0],SA=typeof Q!=Z,MA=SA&&Q.subtle,bA=SA&&typeof MA!=Z,GA=BA.bytes,OA=class{constructor(A){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const t=e._tables[0][4],i=e._tables[1],r=A.length;let g,n,o,a=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(e._key=[n=A.slice(0),o=[]],g=r;4*r+28>g;g++){let A=n[g-1];(g%r===0||8===r&&g%r===4)&&(A=t[A>>>24]<<24^t[A>>16&255]<<16^t[A>>8&255]<<8^t[255&A],g%r===0&&(A=A<<8^A>>>24^a<<24,a=a<<1^283*(a>>7))),n[g]=n[g-r]^A}for(let A=0;g;A++,g--){const e=n[3&A?g:g-4];o[A]=4>=g||4>A?e:i[0][t[e>>>24]]^i[1][t[e>>16&255]]^i[2][t[e>>8&255]]^i[3][t[255&e]]}}encrypt(A){return this._crypt(A,0)}decrypt(A){return this._crypt(A,1)}_precompute(){const A=this._tables[0],e=this._tables[1],t=A[4],i=e[4],r=[],g=[];let n,o,a,s;for(let A=0;256>A;A++)g[(r[A]=A<<1^283*(A>>7))^A]=A;for(let B=n=0;!t[B];B^=o||1,n=g[n]||1){let g=n^n<<1^n<<2^n<<3^n<<4;g=g>>8^255&g^99,t[B]=g,i[g]=B,s=r[a=r[o=r[B]]];let l=16843009*s^65537*a^257*o^16843008*B,c=257*r[g]^16843008*g;for(let t=0;4>t;t++)A[t][B]=c=c<<24^c>>>8,e[t][g]=l=l<<24^l>>>8}for(let t=0;5>t;t++)A[t]=A[t].slice(0),e[t]=e[t].slice(0)}_crypt(A,e){if(4!==A.length)throw new c("invalid aes block size");const t=this._key[e],i=t.length/4-2,r=[0,0,0,0],g=this._tables[e],n=g[0],o=g[1],a=g[2],s=g[3],B=g[4];let l,I,u,C=A[0]^t[0],E=A[e?3:1]^t[1],h=A[2]^t[2],w=A[e?1:3]^t[3],f=4;for(let A=0;i>A;A++)l=n[C>>>24]^o[E>>16&255]^a[h>>8&255]^s[255&w]^t[f],I=n[E>>>24]^o[h>>16&255]^a[w>>8&255]^s[255&C]^t[f+1],u=n[h>>>24]^o[w>>16&255]^a[C>>8&255]^s[255&E]^t[f+2],w=n[w>>>24]^o[C>>16&255]^a[E>>8&255]^s[255&h]^t[f+3],f+=4,C=l,E=I,h=u;for(let A=0;4>A;A++)r[e?3&-A:A]=B[C>>>24]<<24^B[E>>16&255]<<16^B[h>>8&255]<<8^B[255&w]^t[f++],l=C,C=E,E=h,h=w,w=l;return r}},KA=class{constructor(A,e){this._prf=A,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(A){return this.calculate(this._prf,A,this._iv)}incWord(A){if(255&~(A>>24))A+=1<<24;else{let e=A>>16&255,t=A>>8&255,i=255&A;255===e?(e=0,255===t?(t=0,255===i?i=0:++i):++t):++e,A=0,A+=e<<16,A+=t<<8,A+=i}return A}incCounter(A){0===(A[0]=this.incWord(A[0]))&&(A[1]=this.incWord(A[1]))}calculate(A,e,t){let i;if(!(i=e.length))return[];const r=sA.bitLength(e);for(let r=0;i>r;r+=4){this.incCounter(t);const i=A.encrypt(t);e[r]^=i[0],e[r+1]^=i[1],e[r+2]^=i[2],e[r+3]^=i[3]}return sA.clamp(e,r)}},UA=IA.hmacSha1;let kA=SA&&bA&&typeof MA.importKey==q,WA=SA&&bA&&typeof MA.deriveBits==q;class TA extends Y{constructor({password:A,rawPassword:e,signed:i,encryptionStrength:r,checkPasswordOnly:g}){super({start(){t.assign(this,{ready:new w(A=>this.resolveReady=A),password:NA(A,e),signed:i,strength:r-1,pending:new I})},async transform(A,e){const t=this,{password:i,strength:r,resolveReady:n,ready:o}=t;i?(await(async(A,e,t,i)=>{const r=await HA(A,e,t,xA(i,0,YA[e])),g=xA(i,YA[e]);if(r[0]!=g[0]||r[1]!=g[1])throw new c(CA)})(t,r,i,xA(A,0,YA[r]+2)),A=xA(A,YA[r]+2),g?e.error(new c(hA)):n()):await o;const a=new I(A.length-mA-(A.length-mA)%fA);e.enqueue(zA(t,A,a,0,mA,!0))},async flush(A){const{signed:e,ctr:t,hmac:i,pending:r,ready:g}=this;if(i&&t){await g;const n=xA(r,0,r.length-mA),o=xA(r,r.length-mA);let a=new I;if(n.length){const A=XA(GA,n);i.update(A);const e=t.update(A);a=JA(GA,e)}if(e){const A=xA(JA(GA,i.digest()),0,mA);for(let e=0;mA>e;e++)if(A[e]!=o[e])throw new c(EA)}A.enqueue(a)}}})}}class LA extends Y{constructor({password:A,rawPassword:e,encryptionStrength:i}){let r;super({start(){t.assign(this,{ready:new w(A=>this.resolveReady=A),password:NA(A,e),strength:i-1,pending:new I})},async transform(A,e){const t=this,{password:i,strength:r,resolveReady:g,ready:n}=t;let o=new I;i?(o=await(async(A,e,t)=>{const i=wA(new I(YA[e]));return RA(i,await HA(A,e,t,i))})(t,r,i),g()):await n;const a=new I(o.length+A.length-A.length%fA);a.set(o,0),e.enqueue(zA(t,A,a,o.length,0))},async flush(A){const{ctr:e,hmac:t,pending:i,ready:g}=this;if(t&&e){await g;let n=new I;if(i.length){const A=e.update(XA(GA,i));t.update(A),n=JA(GA,A)}r.signature=JA(GA,t.digest()).slice(0,mA),A.enqueue(RA(n,r.signature))}}}),r=this}}function zA(A,e,t,i,r,g){const{ctr:n,hmac:o,pending:a}=A,s=e.length-r;let B;for(a.length&&(e=RA(a,e),t=((A,e)=>{if(e&&e>A.length){const t=A;(A=new I(e)).set(t,0)}return A})(t,s-s%fA)),B=0;s-fA>=B;B+=fA){const A=XA(GA,xA(e,B,B+fA));g&&o.update(A);const r=n.update(A);g||o.update(r),t.set(JA(GA,r),B+i)}return A.pending=xA(e,B),t}async function HA(A,i,r,g){A.password=null;const n=await(async(A,e,t,i,r)=>{if(!kA)return IA.importKey(e);try{return await MA.importKey("raw",e,t,!1,r)}catch{return kA=!1,IA.importKey(e)}})(0,r,FA,0,DA),o=await(async(A,e,t)=>{if(!WA)return IA.pbkdf2(e,A.salt,QA.iterations,t);try{return await MA.deriveBits(A,e,t)}catch{return WA=!1,IA.pbkdf2(e,A.salt,QA.iterations,t)}})(t.assign({salt:g},QA),n,8*(2*pA[i]+2)),a=new I(o),s=XA(GA,xA(a,0,pA[i])),B=XA(GA,xA(a,pA[i],2*pA[i])),l=xA(a,2*pA[i]);return t.assign(A,{keys:{key:s,authentication:B,passwordVerification:l},ctr:new KA(new OA(s),e.from(yA)),hmac:new UA(B)}),l}function NA(A,e){return e===v?aA(A):e}function RA(A,e){let t=A;return A.length+e.length&&(t=new I(A.length+e.length),t.set(A,0),t.set(e,A.length)),t}function xA(A,e,t){return A.subarray(e,t)}function JA(A,e){return A.fromBits(e)}function XA(A,e){return A.toBits(e)}class PA extends Y{constructor({password:A,passwordVerification:e,checkPasswordOnly:i}){super({start(){t.assign(this,{password:A,passwordVerification:e}),qA(this,A)},transform(A,e){const t=this;if(t.password){const e=vA(t,A.subarray(0,12));if(t.password=null,e.at(-1)!=t.passwordVerification)throw new c(CA);A=A.subarray(12)}i?e.error(new c(hA)):e.enqueue(vA(t,A))}})}}class VA extends Y{constructor({password:A,passwordVerification:e}){super({start(){t.assign(this,{password:A,passwordVerification:e}),qA(this,A)},transform(A,e){const t=this;let i,r;if(t.password){t.password=null;const e=wA(new I(12));e[11]=t.passwordVerification,i=new I(A.length+e.length),i.set(ZA(t,e),0),r=12}else i=new I(A.length),r=0;i.set(ZA(t,A),r),e.enqueue(i)}})}}function vA(A,e){const t=new I(e.length);for(let i=0;i<e.length;i++)t[i]=_A(A)^e[i],jA(A,t[i]);return t}function ZA(A,e){const t=new I(e.length);for(let i=0;i<e.length;i++)t[i]=_A(A)^e[i],jA(A,e[i]);return t}function qA(A,e){const i=[305419896,591751049,878082192];t.assign(A,{keys:i,crcKey0:new nA(i[0]),crcKey2:new nA(i[2])});for(let t=0;t<e.length;t++)jA(A,e.charCodeAt(t))}function jA(A,e){let[t,i,r]=A.keys;A.crcKey0.append([e]),t=~A.crcKey0.get(),i=Ae(n.imul(Ae(i+$A(t)),134775813)+1),A.crcKey2.append([i>>>24]),r=~A.crcKey2.get(),A.keys=[t,i,r]}function _A(A){const e=2|A.keys[2];return $A(n.imul(e,1^e)>>>8)}function $A(A){return 255&A}function Ae(A){return 4294967295&A}const ee="Invalid uncompressed size";class te extends Y{constructor(A,{chunkSize:e,CompressionStreamZlib:t,CompressionStream:i}){super({});const{compressed:r,encrypted:g,useCompressionStream:n,zipCrypto:o,signed:a,level:s}=A,B=this;let l,c,I=super.readable;g&&!o||!a||(l=new oA,I=ne(I,l)),r&&(I=ge(I,n,{level:s,chunkSize:e},i,t,i)),g&&(o?I=ne(I,new VA(A)):(c=new LA(A),I=ne(I,c))),re(B,I,()=>{let A;g&&!o&&(A=c.signature),g&&!o||!a||(A=new E(l.value.buffer).getUint32(0)),B.signature=A})}}class ie extends Y{constructor(A,{chunkSize:e,DecompressionStreamZlib:t,DecompressionStream:i}){super({});const{zipCrypto:r,encrypted:g,signed:n,signature:o,compressed:a,useCompressionStream:s,deflate64:B}=A;let l,I,u=super.readable;g&&(r?u=ne(u,new PA(A)):(I=new TA(A),u=ne(u,I))),a&&(u=ge(u,s,{chunkSize:e,deflate64:B},i,t,i)),g&&!r||!n||(l=new oA,u=ne(u,l)),re(this,u,()=>{if((!g||r)&&n){const A=new E(l.value.buffer);if(o!=A.getUint32(0,!1))throw new c(EA)}})}}function re(A,e,i){e=ne(e,new Y({flush:i})),t.defineProperty(A,"readable",{get:()=>e})}function ge(A,e,t,i,r,g){const n=e&&i?i:r||g,o=t.deflate64?"deflate64-raw":"deflate-raw";try{A=ne(A,new n(o,t))}catch(i){if(!e)throw i;if(r)A=ne(A,new r(o,t));else{if(!g)throw i;A=ne(A,new g(o,t))}}return A}function ne(A,e){return A.pipeThrough(e)}const oe="data",ae="close",se="deflate",Be="inflate";class le extends Y{constructor(A,e){super({});const i=this,{codecType:r}=A;let g;r.startsWith(se)?g=te:r.startsWith(Be)&&(g=ie),i.outputSize=0;let n=0;const o=new g(A,e),a=super.readable,s=new Y({transform(A,e){A&&A.length&&(n+=A.length,e.enqueue(A))},flush(){t.assign(i,{inputSize:n})}}),B=new Y({transform(e,t){if(e&&e.length&&(t.enqueue(e),i.outputSize+=e.length,A.outputSize!==v&&i.outputSize>A.outputSize))throw new c(ee)},flush(){const{signature:A}=o;t.assign(i,{signature:A,inputSize:n})}});t.defineProperty(i,"readable",{get:()=>a.pipeThrough(s).pipeThrough(o).pipeThrough(B)})}}class ce extends Y{constructor(A){let e;super({transform:function t(i,r){if(e){const A=new I(e.length+i.length);A.set(e),A.set(i,e.length),i=A,e=null}i.length>A?(r.enqueue(i.slice(0,A)),t(i.slice(A),r)):e=i},flush(A){e&&e.length&&A.enqueue(e)}})}}let Ie=typeof b!=Z;class ue{constructor(A,{readable:e,writable:i},{options:r,config:g,streamOptions:n,useWebWorkers:o,transferStreams:a,workerURI:s},B){const{signal:l}=n;return t.assign(A,{busy:!0,readable:e.pipeThrough(new ce(g.chunkSize)).pipeThrough(new Ce(n),{signal:l}),writable:i,options:t.assign({},r),workerURI:s,transferStreams:a,terminate:()=>new w(e=>{const{worker:t,busy:i}=A;t?(i?A.resolveTerminated=e:(t.terminate(),e()),A.interface=null):e()}),onTaskFinished(){const{resolveTerminated:e}=A;e&&(A.resolveTerminated=null,A.terminated=!0,A.worker.terminate(),e()),A.busy=!1,B(A)}}),(o&&Ie?we:he)(A,g)}}class Ce extends Y{constructor({onstart:A,onprogress:e,size:t,onend:i}){let r=0;super({async start(){A&&await Ee(A,t)},async transform(A,i){r+=A.length,e&&await Ee(e,r,t),i.enqueue(A)},async flush(){i&&await Ee(i,r)}})}}async function Ee(A,...e){try{await A(...e)}catch{}}function he(A,e){return{run:()=>(async({options:A,readable:e,writable:t,onTaskFinished:i},r)=>{let g;try{if(!A.useCompressionStream)try{await void 0}catch{A.useCompressionStream=!0}g=new le(A,r),await e.pipeThrough(g).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:n,outputSize:o}=g;return{signature:i,inputSize:n,outputSize:o}}catch(A){throw g&&(A.outputSize=g.outputSize),A}finally{i()}})(A,e)}}function we(A,e){const{baseURI:i,chunkSize:r}=e;let{wasmURI:g}=e;if(!A.interface){let n;typeof g==q&&(g=g());try{n=((A,e,i)=>{const r={type:"module"};let g,n;if(typeof A==q&&(A=A()),A.startsWith("data:")||A.startsWith("blob:"))try{n=new b(A)}catch{n=new b(A,r)}else{try{g=new l(A,e)}catch{g=A}n=new b(g,r)}return n.addEventListener("message",A=>(async({data:A},e)=>{const{type:i,value:r,messageId:g,result:n,error:o}=A,{reader:a,writer:s,resolveResult:B,rejectResult:l,onTaskFinished:u}=e;try{if(o){const{message:A,stack:e,code:i,name:r,outputSize:g}=o,n=new c(A);t.assign(n,{stack:e,code:i,name:r,outputSize:g}),C(n)}else{if("pull"==i){const{value:A,done:t}=await a.read();de({type:oe,value:A,done:t,messageId:g},e)}i==oe&&(await s.ready,await s.write(new I(r)),de({type:"ack",messageId:g},e)),i==ae&&C(null,n)}}catch(o){de({type:ae,messageId:g},e),C(o)}function C(A,e){A?l(A):B(e),s&&s.releaseLock(),u()}})(A,i)),n})(A.workerURI,i,A)}catch{return Ie=!1,he(A,e)}t.assign(A,{worker:n,interface:{run:()=>(async(A,e)=>{let i,r;const g=new w((A,e)=>{i=A,r=e});t.assign(A,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:g});const{readable:n,options:o}=A,{writable:a,closed:s}=(A=>{let e;const t=new w(A=>e=A);return{writable:new m({async write(e){const t=A.getWriter();await t.ready,await t.write(e),t.releaseLock()},close(){e()},abort:e=>A.getWriter().abort(e)}),closed:t}})(A.writable),B=de({type:"start",options:o,config:e,readable:n,writable:a},A);B||t.assign(A,{reader:n.getReader(),writer:a.getWriter()});const l=await g;return B||await a.getWriter().close(),await s,l})(A,{chunkSize:r,wasmURI:g,baseURI:i})}})}return A.interface}let fe=!0;function de(A,{worker:e,writer:t,onTaskFinished:i,transferStreams:r}){try{const{value:t,readable:i,writable:g}=A,n=[];if(t&&(A.value=t,n.push(A.value.buffer)),r&&fe?(i&&n.push(i),g&&n.push(g)):A.readable=A.writable=null,n.length)try{return e.postMessage(A,n),!0}catch{fe=!1,A.readable=A.writable=null,e.postMessage(A)}else e.postMessage(A)}catch(A){throw t&&t.releaseLock(),i(),A}}let Fe=[];const Qe=[];let De=0;async function Ye(A,e){const{options:t,config:i}=e,{transferStreams:g,useWebWorkers:n,useCompressionStream:o,compressed:a,signed:s,encrypted:B}=t,{workerURI:l,maxWorkers:c}=i;e.transferStreams=g||g===v;const I=!(a||s||B||e.transferStreams);return e.useWebWorkers=!I&&(n||n===v&&i.useWebWorkers),e.workerURI=e.useWebWorkers&&l?l:v,t.useCompressionStream=o||o===v&&i.useCompressionStream,(await(async()=>{const t=Fe.find(A=>!A.busy);if(t)return pe(t),new ue(t,A,e,u);if(Fe.length<c){const t={indexWorker:De};return De++,Fe.push(t),new ue(t,A,e,u)}return new w(t=>Qe.push({resolve:t,stream:A,workerOptions:e}))})()).run();function u(A){if(Qe.length){const[{resolve:e,stream:t,workerOptions:i}]=Qe.splice(0,1);e(new ue(A,t,i,u))}else A.worker?(pe(A),((A,e)=>{const{config:t}=e,{terminateWorkerTimeout:i}=t;r.isFinite(i)&&i>=0&&(A.terminated?A.terminated=!1:A.terminateTimeout=setTimeout(async()=>{Fe=Fe.filter(e=>e!=A);try{await A.terminate()}catch{}},i))})(A,e)):Fe=Fe.filter(e=>e!=A)}}function pe(A){const{terminateTimeout:e}=A;e&&(clearTimeout(e),A.terminateTimeout=null)}const me="HTTP error ",ye="HTTP Range not supported",Se="Range",Me="GET",be="bytes",Ge=65536,Oe="writable";class Ke{constructor(){this.size=0}init(){this.initialized=!0}}class Ue extends Ke{get readable(){const A=this,{chunkSize:e=Ge}=A,t=new p({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:g,diskNumberStart:o}=t,{chunkOffset:a}=this,s=g===v?e:n.min(e,g-a),B=await it(A,r+a,s,o);i.enqueue(B),a+e>g||g===v&&!B.length&&s?i.close():this.chunkOffset+=e}});return t}}class ke extends Ke{constructor(){super();const A=this,e=new m({write(e){if(!A.initialized)throw new c("Writer not initialized");return A.writeUint8Array(e)}});t.defineProperty(A,Oe,{get:()=>e})}writeUint8Array(){}}class We extends Ue{constructor(A){super(),t.assign(this,{blob:A,size:A.size})}async readUint8Array(A,e){const t=this,i=A+e,r=A||i<t.size?t.blob.slice(A,i):t.blob;let g=await r.arrayBuffer();return g.byteLength>e&&(g=g.slice(A,i)),new I(g)}}class Te extends Ke{constructor(A){super();const e=new Y,i=[];A&&i.push(["Content-Type",A]),t.defineProperty(this,Oe,{get:()=>e.writable}),this.blob=new B(e.readable,{headers:i}).blob()}getData(){return this.blob}}class Le extends Ue{constructor(A,e){super(),He(this,A,e)}async init(){await Ne(this,Ze,Xe),super.init()}readUint8Array(A,e){return Re(this,A,e,Ze,Xe)}}class ze extends Ue{constructor(A,e){super(),He(this,A,e)}async init(){await Ne(this,qe,Pe),super.init()}readUint8Array(A,e){return Re(this,A,e,qe,Pe)}}function He(A,e,i){const{preventHeadRequest:r,useRangeHeader:g,forceRangeRequests:n,combineSizeEocd:o}=i;delete(i=t.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,t.assign(A,{url:e,options:i,preventHeadRequest:r,useRangeHeader:g,forceRangeRequests:n,combineSizeEocd:o})}async function Ne(A,e,t){const{url:i,preventHeadRequest:g,useRangeHeader:n,forceRangeRequests:o,combineSizeEocd:a}=A;if((A=>{const{baseURI:e}=AA(),{protocol:t}=new l(A,e);return"http:"==t||"https:"==t})(i)&&(n||o)&&(void 0===g||g)){const i=await e(Me,A,xe(A,a?-22:void 0)),g=i.headers.get("Accept-Ranges");if(!(o||g&&g.toLowerCase()==be))throw new c(ye);{let g;a&&(A.eocdCache=new I(await i.arrayBuffer()));const n=i.headers.get("Content-Range");if(n){const A=n.trim().split(/\s*\/\s*/);if(A.length){const e=A[1];e&&"*"!=e&&(g=r(e))}}g===v?await ve(A,e,t):A.size=g}}else await ve(A,e,t)}async function Re(A,e,t,i,r){const{useRangeHeader:g,forceRangeRequests:n,eocdCache:o,size:a,options:s}=A;if(g||n){if(o&&e==a-N&&t==N)return o;if(a>e){e+t>a&&(t=a-e);const r=await i(Me,A,xe(A,e,t));if(206!=r.status)throw new c(ye);return new I(await r.arrayBuffer())}return new I}{const{data:i}=A;return i||await r(A,s),new I(A.data.subarray(e,e+t))}}function xe(A,e=0,i=1){return t.assign({},Je(A),{[Se]:be+"="+(0>e?e:e+"-"+(e+i-1))})}function Je({options:A}){const{headers:e}=A;if(e)return Symbol.iterator in e?t.fromEntries(e):e}async function Xe(A){await Ve(A,Ze)}async function Pe(A){await Ve(A,qe)}async function Ve(A,e){const t=await e(Me,A,Je(A));A.data=new I(await t.arrayBuffer()),A.size||(A.size=A.data.length)}async function ve(A,e,t){if(A.preventHeadRequest)await t(A,A.options);else{const i=(await e("HEAD",A,Je(A))).headers.get("Content-Length");i?A.size=r(i):await t(A,A.options)}}async function Ze(A,{options:e,url:i},r){const g=await fetch(i,t.assign({},e,{method:A,headers:r}));if(400>g.status)return g;throw 416==g.status?new c(ye):new c(me+(g.statusText||g.status))}function qe(A,{url:e},i){return new w((r,g)=>{const n=new XMLHttpRequest;if(n.addEventListener("load",()=>{if(400>n.status){const A=[];n.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const t=e.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,A=>A.toUpperCase()),A.push(t)}),r({status:n.status,arrayBuffer:()=>n.response,headers:new a(A)})}else g(416==n.status?new c(ye):new c(me+(n.statusText||n.status)))},!1),n.addEventListener("error",A=>g(A.detail?A.detail.error:new c("Network error")),!1),n.open(A,e),i)for(const A of t.entries(i))n.setRequestHeader(A[0],A[1]);n.responseType="arraybuffer",n.send()})}class je extends Ue{constructor(A,e={}){super(),t.assign(this,{url:A,reader:e.useXHR?new ze(A,e):new Le(A,e)})}set size(A){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(A,e){return this.reader.readUint8Array(A,e)}}class _e extends Ue{constructor(A){super(),this.readers=A}async init(){const A=this,{readers:e}=A;A.lastDiskNumber=0,A.lastDiskOffset=0,await w.all(e.map(async(t,i)=>{await t.init(),i!=e.length-1&&(A.lastDiskOffset+=t.size),A.size+=t.size})),super.init()}async readUint8Array(A,e,t=0){const i=this,{readers:r}=this;let g,o=t;-1==o&&(o=r.length-1);let a=A;for(;r[o]&&a>=r[o].size;)a-=r[o].size,o++;const s=r[o];if(s){const r=s.size;if(a+e>r){const n=r-a;g=new I(e);const o=await it(s,a,n);g.set(o,0);const B=await i.readUint8Array(A+n,e-n,t);g.set(B,n),o.length+B.length<e&&(g=g.subarray(0,o.length+B.length))}else g=await it(s,a,e)}else g=new I;return i.lastDiskNumber=n.max(o,i.lastDiskNumber),g}}class $e extends Ke{constructor(A,e=4294967295){super();const i=this;let r,g,n;t.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new m({async write(e){const{availableSize:t}=i;if(n)e.length<t?await a(e):(await a(e.subarray(0,t)),await s(),i.diskOffset+=r.size,i.diskNumber++,n=null,await this.write(e.subarray(t)));else{const{value:t,done:o}=await A.next();if(o&&!t)throw new c("Writer iterator completed too soon");r=t,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await tt(r),g=t.writable,n=g.getWriter(),await this.write(e)}},async close(){await n.ready,await s()}});async function a(A){const e=A.length;e&&(await n.ready,await n.write(A),r.size+=e,i.size+=e,i.availableSize-=e)}async function s(){await n.close()}t.defineProperty(i,Oe,{get:()=>o})}}class At{constructor(A){return e.isArray(A)&&(A=new _e(A)),A instanceof p&&(A={readable:A}),A}}class et{constructor(A){return A.writable===v&&typeof A.next==q&&(A=new $e(A)),A instanceof m&&(A={writable:A}),A.size===v&&(A.size=0),A instanceof $e||t.assign(A,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),A}}async function tt(A,e){if(!A.init||A.initialized)return w.resolve();await A.init(e)}function it(A,e,t,i){return A.readUint8Array(e,t,i)}const rt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function gt(A,e){return e&&"cp437"==e.trim().toLowerCase()?(A=>{{let e="";for(let t=0;t<A.length;t++)e+=rt[A[t]];return e}})(A):new d(e).decode(A)}const nt="filename",ot="rawFilename",at="comment",st="rawComment",Bt="uncompressedSize",lt="compressedSize",ct="offset",It="diskNumberStart",ut="lastModDate",Ct="rawLastModDate",Et="lastAccessDate",ht="creationDate",wt="internalFileAttributes",ft="externalFileAttributes",dt="msDosCompatible",Ft="zip64",Qt="encrypted",Dt="version",Yt="versionMadeBy",pt="zipCrypto",mt="directory",yt="executable",St="compressionMethod",Mt="signature",bt="extraField",Gt=[nt,ot,lt,Bt,ut,Ct,at,st,Et,ht,ct,It,It,wt,ft,dt,Ft,Qt,Dt,Yt,pt,mt,yt,St,Mt,bt,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Ot{constructor(A){Gt.forEach(e=>this[e]=A[e])}}const Kt="password",Ut="rawPassword",kt="passThrough",Wt="signal",Tt="useWebWorkers",Lt="useCompressionStream",zt="preventClose",Ht="supportZip64SplitFile",Nt="offset",Rt="usdz",xt="File format is not recognized",Jt="End of central directory not found",Xt="End of Zip64 central directory locator not found",Pt="Central directory header not found",Vt="Local file header not found",vt="Zip64 extra field not found",Zt="File contains encrypted entry",qt="Encryption method not supported",jt="Compression method not supported",_t="Split zip file",$t="Overlapping entry found",Ai="utf-8",ei="cp437",ti=[[Bt,O],[lt,O],[ct,O],[It,K]],ii={[K]:{getValue:ui,bytes:4},[O]:{getValue:Ci,bytes:8}};class ri{constructor(A,e={}){t.assign(this,{reader:new At(A),options:e,config:AA(),readRanges:[]})}async*getEntriesGenerator(A={}){const e=this;let{reader:i}=e;const{config:r}=e;if(await tt(i),i.size!==v&&i.readUint8Array||(i=new We(await new B(i.readable).blob()),await tt(i)),i.size<N)throw new c(xt);i.chunkSize=eA(r);const g=await(async(A,e,t)=>{const i=new I(4);var r;return r=e,Ei(i).setUint32(0,r,!0),await g(22)||await g(n.min(1048582,t));async function g(e){const r=t-e,g=await it(A,r,e);for(let A=g.length-22;A>=0;A--)if(g[A]==i[0]&&g[A+1]==i[1]&&g[A+2]==i[2]&&g[A+3]==i[3])return{offset:r+A,buffer:g.slice(A,A+22).buffer}}})(i,L,i.size);if(!g)throw ui(Ei(await it(i,0,4)))==k?new c(_t):new c(Jt);const o=Ei(g);let a=ui(o,12),s=ui(o,16);const l=g.offset,u=Ii(o,20),C=l+N+u;let E=Ii(o,4);const h=i.lastDiskNumber||0;let f=Ii(o,6),d=Ii(o,8),F=0,Q=0;if(s==O||a==O||d==K||f==K){const A=Ei(await it(i,g.offset-20,20));if(ui(A,0)==H){s=Ci(A,8);let e=await it(i,s,56,-1),t=Ei(e);const r=g.offset-20-56;if(ui(t,0)!=z&&s!=r){const A=s;s=r,s>A&&(F=s-A),e=await it(i,s,56,-1),t=Ei(e)}if(ui(t,0)!=z)throw new c(Xt);E==K&&(E=ui(t,16)),f==K&&(f=ui(t,20)),d==K&&(d=Ci(t,32)),a==O&&(a=Ci(t,40)),s-=a}}if(s<i.size||(F=i.size-s-a-N,s=i.size-a-N),h!=E)throw new c(_t);if(0>s)throw new c(xt);let D=0,p=await it(i,s,a,f),m=Ei(p);if(a){const A=g.offset-a;if(ui(m,D)!=T&&s!=A){const e=s;s=A,s>e&&(F+=s-e),p=await it(i,s,a,f),m=Ei(p)}}const y=g.offset-s-(i.lastDiskOffset||0);if(a==y||0>y||(a=y,p=await it(i,s,a,f),m=Ei(p)),0>s||s>=i.size)throw new c(xt);const S=si(e,A,"filenameEncoding"),M=si(e,A,"commentEncoding");for(let g=0;d>g;g++){const o=new gi(i,r,e.options);if(ui(m,D)!=T)throw new c(Pt);ni(o,m,D+6);const a=!!o.bitFlag.languageEncodingFlag,s=D+46,l=s+o.filenameLength,I=l+o.extraFieldLength,u=Ii(m,D+4),C=!(u>>8),E=u>>8==3,h=p.subarray(s,l),f=Ii(m,D+32),y=I+f,b=p.subarray(I,y),G=a,O=a,K=ui(m,D+38),U=C&&!(16&~ci(m,D+38))||E&&16384==(K>>16&61440)||h.length&&47==h.at(-1),k=E&&!!(K>>16&73),W=ui(m,D+42)+F;t.assign(o,{versionMadeBy:u,msDosCompatible:C,compressedSize:0,uncompressedSize:0,commentLength:f,directory:U,offset:W,diskNumberStart:Ii(m,D+34),internalFileAttributes:Ii(m,D+36),externalFileAttributes:K,rawFilename:h,filenameUTF8:G,commentUTF8:O,rawExtraField:p.subarray(l,I),executable:k}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const L=si(e,A,"decodeText")||gt,z=G?Ai:S||ei,H=O?Ai:M||ei;let N=L(h,z);N===v&&(N=gt(h,z));let R=L(b,H);R===v&&(R=gt(b,H)),t.assign(o,{rawComment:b,filename:N,comment:R,directory:U||N.endsWith(J)}),Q=n.max(W,Q),oi(o,o,m,D+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const x=new Ot(o);x.getData=(A,t)=>o.getData(A,x,e.readRanges,t),x.arrayBuffer=async A=>{const t=new Y,[i]=await w.all([new B(t.readable).arrayBuffer(),o.getData(t,x,e.readRanges,A)]);return i},D=y;const{onprogress:X}=A;if(X)try{await X(g+1,d,new Ot(o))}catch{}yield x}const b=si(e,A,"extractPrependedData"),G=si(e,A,"extractAppendedData");return b&&(e.prependedData=Q>0?await it(i,0,Q):new I),e.comment=u?await it(i,l+N,u):new I,G&&(e.appendedData=C<i.size?await it(i,C,i.size-C):new I),!0}async getEntries(A={}){const e=[];for await(const t of this.getEntriesGenerator(A))e.push(t);return e}async close(){}}class gi{constructor(A,e,i){t.assign(this,{reader:A,config:e,options:i})}async getData(A,e,i,r={}){const g=this,{reader:n,offset:o,diskNumberStart:a,extraFieldAES:s,extraFieldZip64:B,compressionMethod:l,config:u,bitFlag:C,signature:E,rawLastModDate:h,uncompressedSize:w,compressedSize:f}=g,{dataDescriptor:d}=C,F=e.localDirectory={},Q=Ei(await it(n,o,X,a));let D=si(g,r,Kt),Y=si(g,r,Ut);const p=si(g,r,kt);if(D=D&&D.length&&D,Y=Y&&Y.length&&Y,s&&99!=s.originalCompressionMethod)throw new c(jt);if(0!=l&&8!=l&&9!=l&&!p)throw new c(jt);if(ui(Q,0)!=U)throw new c(Vt);ni(F,Q,4);const{extraFieldLength:y,filenameLength:S,lastAccessDate:M,creationDate:b}=F;F.rawExtraField=y?await it(n,o+X+S,y,a):new I,oi(g,F,Q,4,!0),t.assign(e,{lastAccessDate:M,creationDate:b});const G=g.encrypted&&F.encrypted&&!p,O=G&&!s;if(p||(e.zipCrypto=O),G){if(!O&&s.strength===v)throw new c(qt);if(!D&&!Y)throw new c(Zt)}const K=o+X+S+y,k=f,T=n.readable;t.assign(T,{diskNumberStart:a,offset:K,size:k});const L=si(g,r,Wt),z=si(g,r,"checkPasswordOnly");let H=si(g,r,"checkOverlappingEntry");const N=si(g,r,"checkOverlappingEntryOnly");N&&(H=!0);const{onstart:R,onprogress:x,onend:J}=r,P=9==l;let V=si(g,r,Lt);P&&(V=!1);const Z={options:{codecType:Be,password:D,rawPassword:Y,zipCrypto:O,encryptionStrength:s&&s.strength,signed:si(g,r,"checkSignature")&&!p,passwordVerification:O&&(d?h>>>8&255:E>>>24&255),outputSize:p?f:w,signature:E,compressed:0!=l&&!p,encrypted:g.encrypted&&!p,useWebWorkers:si(g,r,Tt),useCompressionStream:V,transferStreams:si(g,r,"transferStreams"),deflate64:P,checkPasswordOnly:z},config:u,streamOptions:{signal:L,size:k,onstart:R,onprogress:x,onend:J}};let q;H&&await(async({reader:A,fileEntry:e,offset:t,diskNumberStart:i,signature:r,compressedSize:g,uncompressedSize:n,dataOffset:o,dataDescriptor:a,extraFieldZip64:s,readRanges:B})=>{let l=0;if(i)for(let e=0;i>e;e++)l+=A.readers[e].size;let I=0;if(a&&(I=s?20:12),I){const t=await it(A,o+g,I+4,i);if(ui(Ei(t),0)==W){const A=ui(Ei(t),4);let i,o;s?(i=Ci(Ei(t),8),o=Ci(Ei(t),16)):(i=ui(Ei(t),8),o=ui(Ei(t),12)),(e.encrypted&&!e.zipCrypto||A==r)&&i==g&&o==n&&(I+=4)}}const u={start:l+t,end:l+o+g+I,fileEntry:e};for(const A of B)if(A.fileEntry!=e&&u.start>=A.start&&u.start<A.end){const e=new c($t);throw e.overlappingEntry=A.fileEntry,e}B.push(u)})({reader:n,fileEntry:e,offset:o,diskNumberStart:a,signature:E,compressedSize:f,uncompressedSize:w,dataOffset:K,dataDescriptor:d||F.bitFlag.dataDescriptor,extraFieldZip64:B||F.extraFieldZip64,readRanges:i});try{if(!N){z&&(A=new m),A=new et(A),await tt(A,p?f:w),({writable:q}=A);const{outputSize:e}=await Ye({readable:T,writable:q},Z);if(A.size+=e,e!=(p?f:w))throw new c(ee)}}catch(e){if(e.outputSize!==v&&(A.size+=e.outputSize),!z||e.message!=hA)throw e}finally{si(g,r,zt)||!q||q.locked||await q.getWriter().close()}return z||N?v:A.getData?A.getData():q}}function ni(A,e,i){const r=A.rawBitFlag=Ii(e,i+2),g=!(1&~r),n=ui(e,i+6);t.assign(A,{encrypted:g,version:Ii(e,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&x)==x},rawLastModDate:n,lastModDate:Bi(n),filenameLength:Ii(e,i+22),extraFieldLength:Ii(e,i+24)})}function oi(A,e,i,r,g){const{rawExtraField:n}=e,s=e.extraField=new a,B=Ei(new I(n));let l=0;try{for(;l<n.length;){const A=Ii(B,l),e=Ii(B,l+2);s.set(A,{type:A,data:n.slice(l+4,l+4+e)}),l+=4+e}}catch{}const u=Ii(i,r+4);t.assign(e,{signature:ui(i,r+10),compressedSize:ui(i,r+14),uncompressedSize:ui(i,r+18)});const C=s.get(1);C&&(((A,e)=>{e.zip64=!0;const t=Ei(A.data),i=ti.filter(([A,t])=>e[A]==t);for(let r=0,g=0;r<i.length;r++){const[n,o]=i[r];if(e[n]==o){const i=ii[o];e[n]=A[n]=i.getValue(t,g),g+=i.bytes}else if(A[n])throw new c(vt)}})(C,e),e.extraFieldZip64=C);const E=s.get(28789);E&&(ai(E,nt,ot,e,A),e.extraFieldUnicodePath=E);const h=s.get(25461);h&&(ai(h,at,st,e,A),e.extraFieldUnicodeComment=h);const w=s.get(39169);w?(((A,e,i)=>{const r=Ei(A.data),g=ci(r,4);t.assign(A,{vendorVersion:ci(r,0),vendorId:ci(r,2),strength:g,originalCompressionMethod:i,compressionMethod:Ii(r,5)}),e.compressionMethod=A.compressionMethod})(w,e,u),e.extraFieldAES=w):e.compressionMethod=u;const f=s.get(10);f&&(((A,e)=>{const i=Ei(A.data);let r,g=4;try{for(;g<A.data.length&&!r;){const e=Ii(i,g),t=Ii(i,g+2);1==e&&(r=A.data.slice(g+4,g+4+t)),g+=4+t}}catch{}try{if(r&&24==r.length){const i=Ei(r),g=i.getBigUint64(0,!0),n=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);t.assign(A,{rawLastModDate:g,rawLastAccessDate:n,rawCreationDate:o});const a={lastModDate:li(g),lastAccessDate:li(n),creationDate:li(o)};t.assign(A,a),t.assign(e,a)}}catch{}})(f,e),e.extraFieldNTFS=f);const d=s.get(R);d&&(((A,e,t)=>{const i=Ei(A.data),r=ci(i,0),g=[],n=[];t?(1&~r||(g.push(ut),n.push(Ct)),2&~r||(g.push(Et),n.push("rawLastAccessDate")),4&~r||(g.push(ht),n.push("rawCreationDate"))):5>A.data.length||(g.push(ut),n.push(Ct));let a=1;g.forEach((t,r)=>{if(A.data.length>=a+4){const g=ui(i,a);e[t]=A[t]=new o(1e3*g);const s=n[r];A[s]=g}a+=4})})(d,e,g),e.extraFieldExtendedTimestamp=d);const F=s.get(6534);F&&(e.extraFieldUSDZ=F)}function ai(A,e,i,r,g){const n=Ei(A.data),o=new nA;o.append(g[i]);const a=Ei(new I(4));a.setUint32(0,o.get(),!0);const s=ui(n,1);t.assign(A,{version:ci(n,0),[e]:gt(A.data.subarray(5)),valid:!g.bitFlag.languageEncodingFlag&&s==ui(a,0)}),A.valid&&(r[e]=A[e],r[e+"UTF8"]=!0)}function si(A,e,t){return e[t]===v?A.options[t]:e[t]}function Bi(A){const e=(4294901760&A)>>16,t=65535&A;try{return new o(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch{}}function li(A){return new o(r(A/g(1e4)-g(116444736e5)))}function ci(A,e){return A.getUint8(e)}function Ii(A,e){return A.getUint16(e,!0)}function ui(A,e){return A.getUint32(e,!0)}function Ci(A,e){return r(A.getBigUint64(e,!0))}function Ei(A){return new E(A.buffer)}const hi="File already exists",wi="Zip file comment exceeds 64KB",fi="File entry comment exceeds 64KB",di="File entry name exceeds 64KB",Fi="Version exceeds 65535",Qi="The strength must equal 1, 2, or 3",Di="Extra field type exceeds 65535",Yi="Extra field data exceeds 64KB",pi="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",mi="Undefined uncompressed size",yi="Zip file not empty",Si=new I([7,0,2,0,65,69,3,0,0]);let Mi=0;const bi=[];class Gi{constructor(A,e={}){const i=(A=new et(A)).availableSize!==v&&A.availableSize>0&&A.availableSize!==1/0&&A.maxSize!==v&&A.maxSize>0&&A.maxSize!==1/0;t.assign(this,{writer:A,addSplitZipSignature:i,options:e,config:AA(),files:new a,filenames:new s,offset:e[Nt]===v?A.size||A.writable.size||0:e[Nt],pendingEntriesSize:0,pendingAddFileCalls:new s,bufferedWrites:0})}async prependZip(A){if(this.filenames.size)throw new c(yi);A=new At(A);const e=new ri(A.readable),i=await e.getEntries();await e.close(),await A.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=A.size,this.filenames=new s(i.map(A=>A.filename)),this.files=new a(i.map(A=>{const{version:e,compressionMethod:i,lastModDate:r,lastAccessDate:g,creationDate:n,rawFilename:o,bitFlag:a,encrypted:s,uncompressedSize:B,compressedSize:l,diskOffset:c,diskNumber:u,zip64:C}=A;let{rawExtraFieldZip64:E,rawExtraFieldAES:h,rawExtraFieldExtendedTimestamp:w,rawExtraFieldNTFS:f,rawExtraField:d}=A;const{level:F,languageEncodingFlag:Q,dataDescriptor:D}=a;E=E||new I,h=h||new I,w=w||new I,f=f||new I,d=d||new I;const Y=xi(E,h,w,f,d),p=C&&B>O,m=C&&l>O,{headerArray:y,headerView:S}=Ji({version:e,bitFlag:Xi(F,Q,D,s,i),compressionMethod:i,uncompressedSize:B,compressedSize:l,lastModDate:r,rawFilename:o,zip64CompressedSize:m,zip64UncompressedSize:p,extraFieldLength:Y});return t.assign(A,{zip64UncompressedSize:p,zip64CompressedSize:m,zip64Offset:C&&this.offset-c>O,zip64DiskNumberStart:C&&u>K,rawExtraFieldZip64:E,rawExtraFieldAES:h,rawExtraFieldExtendedTimestamp:w,rawExtraFieldNTFS:f,rawExtraField:d,extendedTimestamp:w.length>0||f.length>0,extraFieldExtendedTimestampFlag:1+(g?2:0)+(n?4:0),headerArray:y,headerView:S}),[A.filename,A]}))}async add(A="",i,r={}){const a=this,{pendingAddFileCalls:s,config:l}=a;let C;Mi<l.maxWorkers?Mi++:await new w(A=>bi.push(A));try{if(A=A.trim(),a.filenames.has(A))throw new c(hi);return a.filenames.add(A),C=(async(A,i,r,a)=>{i=i.trim();const s=ki(A,a,dt),l=ki(A,a,Yt,s?20:768),C=ki(A,a,yt);if(l>K)throw new c(Fi);let E=ki(A,a,ft,0);!a[mt]&&i.endsWith(J)&&(a[mt]=!0),ki(A,a,mt)?(i.endsWith(J)||(i+=J),0===E&&(E=16,s||(E|=16877<<16))):s||0!==E||(E=C?493<<16:27525120);const h=ki(A,a,"encodeText",aA);let f=h(i);if(f===v&&(f=aA(i)),xi(f)>K)throw new c(di);const d=a[at]||"";let F=h(d);if(F===v&&(F=aA(d)),xi(F)>K)throw new c(fi);const Q=ki(A,a,Dt,20);if(Q>K)throw new c(Fi);const D=ki(A,a,ut,new o),p=ki(A,a,Et),m=ki(A,a,ht),y=ki(A,a,wt,0),S=ki(A,a,kt);let M,b;S||(M=ki(A,a,Kt),b=ki(A,a,Ut));const G=ki(A,a,"encryptionStrength",3),T=ki(A,a,pt),L=ki(A,a,"extendedTimestamp",!0),z=ki(A,a,"keepOrder",!0),H=ki(A,a,Tt),N=ki(A,a,"bufferedWrite"),x=ki(A,a,"dataDescriptorSignature",!1),Z=ki(A,a,Wt),q=ki(A,a,"useUnicodeFileNames",!0),j=ki(A,a,St);let _=ki(A,a,"level"),$=ki(A,a,Lt),AA=ki(A,a,"dataDescriptor");N&&AA===v&&(AA=!1),(AA===v||T)&&(AA=!0),_!==v&&6!=_&&($=!1),$||A.config.CompressionStream!==v||A.config.CompressionStreamZlib!==v||(_=0);let tA=ki(A,a,Ft);if(!T&&(M!==v||b!==v)&&(1>G||G>3))throw new c(Qi);let iA=new I;const rA=a[bt];if(rA){let A=0,e=0;rA.forEach(e=>A+=4+xi(e)),iA=new I(A),rA.forEach((A,t)=>{if(t>K)throw new c(Di);if(xi(A)>K)throw new c(Yi);Ni(iA,new u([t]),e),Ni(iA,new u([xi(A)]),e+2),Ni(iA,A,e+4),e+=4+xi(A)})}let gA=0,nA=0,oA=0;if(S&&(oA=a[Bt],oA===v))throw new c(mi);const sA=!0===tA;r&&(r=new At(r),await tt(r),S?(a.uncompressedSize=oA,gA=Wi(oA)):r.size===v?(AA=!0,(tA||tA===v)&&(tA=!0,oA=gA=4294967296)):(a.uncompressedSize=oA=r.size,gA=Wi(oA)));const{diskOffset:BA,diskNumber:lA,maxSize:cA}=A.writer,IA=sA||oA>O,uA=sA||gA>O,CA=sA||A.offset+A.pendingEntriesSize-BA>O,EA=ki(A,a,Ht,!0)&&sA||lA+n.ceil(A.pendingEntriesSize/cA)>K;if(CA||IA||uA||EA){if(!1===tA||!z)throw new c(pi);tA=!0}tA=tA||!1;const hA=ki(A,a,Qt),wA=(A=>{const{rawFilename:e,lastModDate:t,lastAccessDate:i,creationDate:r,level:o,zip64:a,zipCrypto:s,useUnicodeFileNames:B,dataDescriptor:l,directory:c,rawExtraField:u,encryptionStrength:C,extendedTimestamp:E,passThrough:h,encrypted:w,zip64UncompressedSize:f,zip64CompressedSize:d,zip64Offset:F,zip64DiskNumberStart:Q,uncompressedSize:D,offset:Y,diskNumberStart:p}=A;let{version:m,compressionMethod:y}=A;const S=!c&&(o>0||o===v&&0!==y);let M;const b=h||!S,G=a&&(A.bufferedWrite||!f&&!d||b);if(a){let A=4;f&&(A+=8),d&&(A+=8),F&&(A+=8),Q&&(A+=4),M=new I(A);const e=Ri(M);if(Li(e,0,1),Li(e,2,xi(M)-4),G){const A=Ri(M);let e=4;f&&(Hi(A,e,g(D)),e+=8),d&&b&&(Hi(A,e,g(D)),e+=8),F&&(Hi(A,e,g(Y)),e+=8),Q&&(zi(A,e,p),e+=4)}}else M=new I;let O,K,k,W;if(w&&!s){O=new I(xi(Si)+2);const A=Ri(O);Li(A,0,39169),Ni(O,Si,2),Ti(A,8,C)}else O=new I;if(E){k=new I(9+(i?4:0)+(r?4:0));const A=Ri(k);Li(A,0,R),Li(A,2,xi(k)-4),W=1+(i?2:0)+(r?4:0),Ti(A,4,W);let e=5;zi(A,e,n.floor(t.getTime()/1e3)),e+=4,i&&(zi(A,e,n.floor(i.getTime()/1e3)),e+=4),r&&zi(A,e,n.floor(r.getTime()/1e3));try{K=new I(36);const A=Ri(K),e=Ui(t);Li(A,0,10),Li(A,2,32),Li(A,8,1),Li(A,10,24),Hi(A,12,e),Hi(A,20,Ui(i)||e),Hi(A,28,Ui(r)||e)}catch{K=new I}}else K=k=new I;y===v&&(y=S?8:0),a&&(m=m>45?m:45),w&&!s&&(m=m>51?m:51,O[9]=y,y=99);const T=G?xi(M):0,L=T+xi(O,k,K,u),{headerArray:z,headerView:H,rawLastModDate:N}=Ji({version:m,bitFlag:Xi(o,B,l,w,y),compressionMethod:y,uncompressedSize:D,lastModDate:V>t?V:t>P?P:t,rawFilename:e,zip64CompressedSize:d,zip64UncompressedSize:f,extraFieldLength:L});let x=X;const J=new I(x+xi(e)+L),Z=Ri(J);return zi(Z,0,U),Ni(J,z,4),Ni(J,e,x),x+=xi(e),G&&Ni(J,M,x),x+=T,Ni(J,O,x),x+=xi(O),Ni(J,k,x),x+=xi(k),Ni(J,K,x),x+=xi(K),Ni(J,u,x),l&&(zi(Z,18,0),zi(Z,22,0)),{localHeaderArray:J,localHeaderView:Z,headerArray:z,headerView:H,lastModDate:t,rawLastModDate:N,encrypted:w,compressed:S,version:m,compressionMethod:y,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:M,localExtraFieldZip64Length:T,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:K,rawExtraFieldAES:O,extraFieldLength:L}})(a=t.assign({},a,{rawFilename:f,rawComment:F,version:Q,versionMadeBy:l,lastModDate:D,lastAccessDate:p,creationDate:m,rawExtraField:iA,zip64:tA,zip64UncompressedSize:IA,zip64CompressedSize:uA,zip64Offset:CA,zip64DiskNumberStart:EA,password:M,rawPassword:b,level:_,useWebWorkers:H,encryptionStrength:G,extendedTimestamp:L,zipCrypto:T,bufferedWrite:N,keepOrder:z,useUnicodeFileNames:q,dataDescriptor:AA,dataDescriptorSignature:x,signal:Z,msDosCompatible:s,internalFileAttribute:y,internalFileAttributes:y,externalFileAttribute:E,externalFileAttributes:E,useCompressionStream:$,passThrough:S,encrypted:!!(M&&xi(M)||b&&xi(b))||S&&hA,signature:a[Mt],compressionMethod:j,uncompressedSize:oA,offset:A.offset-BA,diskNumberStart:lA})),fA=(({zip64:A,dataDescriptor:e,dataDescriptorSignature:t})=>{let i,r=new I,g=0,n=A?20:12;return t&&(n+=4),e&&(r=new I(n),i=Ri(r),t&&(g=4,zi(i,0,W))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:g}})(a),dA=xi(wA.localHeaderArray,fA.dataDescriptorArray);let FA;nA=dA+gA,A.options[Rt]&&(nA+=nA+64),A.pendingEntriesSize+=nA;try{FA=await(async(A,i,r,n,o)=>{const{files:a,writer:s}=A,{keepOrder:l,dataDescriptor:u,signal:C}=o,{headerInfo:E}=n,h=A.options[Rt],f=e.from(a.values()).pop();let d,F,Q,D,p,m,y,S={};a.set(i,S);try{let e;l&&(e=f&&f.lock,S.lock=new w(A=>Q=A)),!(o.bufferedWrite||A.writerLocked||A.bufferedWrites&&l)&&u||h?(m=s,await M()):(m=new Y,m.size=0,d=!0,A.bufferedWrites++,await tt(s)),await tt(m);const{writable:F,diskOffset:G}=s;if(A.addSplitZipSignature){delete A.addSplitZipSignature;const e=new I(4);zi(Ri(e),0,k),await Ki(s,e),A.offset+=4}h&&((A,e)=>{const{headerInfo:t}=A;let{localHeaderArray:i,extraFieldLength:r}=t,g=Ri(i),n=64-(e+xi(i))%64;4>n&&(n+=64);const o=new I(n),a=Ri(o);Li(a,0,6534),Li(a,2,n-2);const s=i;t.localHeaderArray=i=new I(xi(s)+n),Ni(i,s),Ni(i,o,xi(s)),g=Ri(i),Li(g,28,r+n),A.metadataSize+=n})(n,A.offset-G);const{localHeaderView:K,localHeaderArray:U}=E;d||(await e,await b(F));const{diskNumber:W}=s;p=!0,S.diskNumberStart=W,d?y=new B(m.readable).blob():await Ki(m,U),S=await(async(A,e,{diskNumberStart:i,lock:r},n,o,a)=>{const{headerInfo:s,dataDescriptorInfo:B,metadataSize:l}=n,{headerArray:c,headerView:I,lastModDate:u,rawLastModDate:C,encrypted:E,compressed:h,version:w,compressionMethod:f,rawExtraFieldZip64:d,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,extraFieldExtendedTimestampFlag:D,rawExtraFieldNTFS:Y,rawExtraFieldAES:p}=s,{dataDescriptorArray:m}=B,{rawFilename:y,lastAccessDate:S,creationDate:M,password:b,rawPassword:G,level:O,zip64:K,zip64UncompressedSize:U,zip64CompressedSize:k,zip64Offset:W,zip64DiskNumberStart:T,zipCrypto:L,dataDescriptor:z,directory:H,executable:N,versionMadeBy:R,rawComment:x,rawExtraField:J,useWebWorkers:X,onstart:P,onprogress:V,onend:Z,signal:q,encryptionStrength:j,extendedTimestamp:_,msDosCompatible:$,internalFileAttributes:AA,externalFileAttributes:tA,useCompressionStream:iA,passThrough:rA}=a,gA={lock:r,versionMadeBy:R,zip64:K,directory:!!H,executable:!!N,filenameUTF8:!0,rawFilename:y,commentUTF8:!0,rawComment:x,rawExtraFieldZip64:d,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,rawExtraFieldNTFS:Y,rawExtraFieldAES:p,rawExtraField:J,extendedTimestamp:_,msDosCompatible:$,internalFileAttributes:AA,externalFileAttributes:tA,diskNumberStart:i};let{signature:nA,uncompressedSize:oA}=a,aA=0;rA||(oA=0);const{writable:sA}=e;if(A){A.chunkSize=eA(o);const t=A.readable,i=A.size,r={options:{codecType:se,level:O,rawPassword:G,password:b,encryptionStrength:j,zipCrypto:E&&L,passwordVerification:E&&L&&C>>8&255,signed:!rA,compressed:h&&!rA,encrypted:E&&!rA,useWebWorkers:X,useCompressionStream:iA,transferStreams:!1},config:o,streamOptions:{signal:q,size:i,onstart:P,onprogress:V,onend:Z}};try{const A=await Ye({readable:t,writable:sA},r);aA=A.outputSize,e.size+=aA,rA||(oA=A.inputSize,nA=A.signature)}catch(A){throw A.outputSize!==v&&(e.size+=A.outputSize),A}}return(({signature:A,compressedSize:e,uncompressedSize:t,headerInfo:i,dataDescriptorInfo:r},{zip64:n,zipCrypto:o,dataDescriptor:a})=>{const{headerView:s,encrypted:B}=i,{dataDescriptorView:l,dataDescriptorOffset:c}=r;B&&!o||A===v||(zi(s,10,A),a&&zi(l,c,A)),n?a&&(Hi(l,c+4,g(e)),Hi(l,c+12,g(t))):(zi(s,14,e),zi(s,18,t),a&&(zi(l,c+4,e),zi(l,c+8,t)))})({signature:nA,compressedSize:aA,uncompressedSize:oA,headerInfo:s,dataDescriptorInfo:B},a),z&&await Ki(e,m),t.assign(gA,{uncompressedSize:oA,compressedSize:aA,lastModDate:u,rawLastModDate:C,creationDate:M,lastAccessDate:S,encrypted:E,zipCrypto:L,size:l+aA,compressionMethod:f,version:w,headerArray:c,headerView:I,signature:nA,extraFieldExtendedTimestampFlag:D,zip64UncompressedSize:U,zip64CompressedSize:k,zip64Offset:W,zip64DiskNumberStart:T}),gA})(r,m,S,n,A.config,o);const{zip64:T}=S;if(p=!1,a.set(i,S),S.filename=i,d){const[t]=await w.all([y,m.writable.getWriter().close(),e]);await M(),D=!0,S.diskNumberStart=s.diskNumber,S.offset=A.offset-s.diskOffset,T&&Oi(S),(({rawFilename:A,encrypted:e,zip64:t,localExtraFieldZip64Length:i,signature:r,compressedSize:n,uncompressedSize:o,offset:a,diskNumberStart:s,zip64UncompressedSize:B,zip64CompressedSize:l,zip64Offset:c,zip64DiskNumberStart:I},u,{dataDescriptor:C})=>{if(C||(e||zi(u,14,r),t||(zi(u,18,n),zi(u,22,o))),t&&i){let e=X+xi(A)+4;B&&(Hi(u,e,g(o)),e+=8),l&&(Hi(u,e,g(n)),e+=8),c&&(Hi(u,e,g(a)),e+=8),I&&zi(u,e,s)}})(S,K,o),await b(F),await Ki(s,U),await t.stream().pipeTo(F,{preventClose:!0,preventAbort:!0,signal:C}),s.size+=m.size,D=!1}else S.offset=A.offset-G,T&&Oi(S);if(S.offset>O&&!T)throw new c(pi);return A.offset+=S.size,S}catch(e){if(d&&D||!d&&p){if(A.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch{}d?A.offset+=m.size:A.offset=m.size}throw a.delete(i),e}finally{d&&A.bufferedWrites--,Q&&Q(),F&&F()}async function M(){A.writerLocked=!0;const{lockWriter:e}=A;A.lockWriter=new w(e=>F=()=>{A.writerLocked=!1,e()}),await e}async function b(A){xi(E.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Ki(A,new I))}})(A,i,r,{headerInfo:wA,dataDescriptorInfo:fA,metadataSize:dA},a)}finally{A.pendingEntriesSize-=nA}return t.assign(FA,{name:i,comment:d,extraField:rA}),new Ot(FA)})(a,A,i,r),s.add(C),await C}catch(e){throw a.filenames.delete(A),e}finally{s.delete(C);const A=bi.shift();A?A():Mi--}}remove(A){const{filenames:e,files:t}=this;if("string"==typeof A&&(A=t.get(A)),A&&A.filename!==v){const{filename:i}=A;if(e.has(i)&&t.has(i))return e.delete(i),t.delete(i),!0}return!1}async close(A=new I,t={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:o}=r;for(;i.size;)await w.allSettled(e.from(i));return await(async(A,t,i)=>{const{files:r,writer:o}=A,{diskOffset:a}=o;let{diskNumber:s}=o,B=0,l=0,u=A.offset-a,C=r.size;for(const[,A]of r){const{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:g,rawExtraField:o,extendedTimestamp:a,extraFieldExtendedTimestampFlag:s,lastModDate:B}=A;let c;if(a){c=new I(9);const A=Ri(c);Li(A,0,R),Li(A,2,5),Ti(A,4,s),zi(A,5,n.floor(B.getTime()/1e3))}else c=new I;A.rawExtraFieldExtendedTimestamp=c,l+=46+xi(e,r,t,i,g,c,o)}const E=new I(l),h=Ri(E);await tt(o);let w=0;for(const[A,t]of e.from(r.values()).entries()){const{offset:e,rawFilename:g,rawExtraFieldZip64:n,rawExtraFieldAES:a,rawExtraFieldExtendedTimestamp:s,rawExtraFieldNTFS:l,rawExtraField:c,rawComment:I,versionMadeBy:u,headerArray:C,headerView:f,zip64:d,zip64UncompressedSize:F,zip64CompressedSize:Q,zip64DiskNumberStart:D,zip64Offset:Y,internalFileAttributes:p,externalFileAttributes:m,diskNumberStart:y,uncompressedSize:S,compressedSize:M}=t,b=xi(n,a,s,l,c);zi(h,B,T),Li(h,B+4,u),F||zi(f,18,S),Q||zi(f,14,M),Ni(E,C,B+6);let G=B+X;if(Li(h,G,b),G+=2,Li(h,G,xi(I)),G+=2,Li(h,G,d&&D?K:y),G+=2,Li(h,G,p),G+=2,m&&zi(h,G,m),G+=4,zi(h,G,d&&Y?O:e),G+=4,Ni(E,g,G),G+=xi(g),Ni(E,n,G),G+=xi(n),Ni(E,a,G),G+=xi(a),Ni(E,s,G),G+=xi(s),Ni(E,l,G),G+=xi(l),Ni(E,c,G),G+=xi(c),Ni(E,I,G),B-w>o.availableSize&&(o.availableSize=0,await Ki(o,E.slice(w,B)),w=B),B=G,i.onprogress)try{await i.onprogress(A+1,r.size,new Ot(t))}catch{}}await Ki(o,w?E.slice(w):E);let f=o.diskNumber;const{availableSize:d}=o;N>d&&f++;let F=ki(A,i,Ft);if(u>O||l>O||C>K||f>K){if(!1===F)throw new c(pi);F=!0}const Q=new I(F?98:N),D=Ri(Q);B=0,F&&(zi(D,0,z),Hi(D,4,g(44)),Li(D,12,45),Li(D,14,45),zi(D,16,f),zi(D,20,s),Hi(D,24,g(C)),Hi(D,32,g(C)),Hi(D,40,g(l)),Hi(D,48,g(u)),zi(D,56,H),Hi(D,64,g(u)+g(l)),zi(D,72,f+1),ki(A,i,Ht,!0)&&(f=K,s=K),C=K,u=O,l=O,B+=76),zi(D,B,L),Li(D,B+4,f),Li(D,B+6,s),Li(D,B+8,C),Li(D,B+10,C),zi(D,B+12,l),zi(D,B+16,u);const Y=xi(t);if(Y){if(Y>K)throw new c(wi);Li(D,B+20,Y)}await Ki(o,Q),Y&&await Ki(o,t)})(this,A,t),ki(this,t,zt)||await o.getWriter().close(),r.getData?r.getData():o}}function Oi({compressedSize:A,uncompressedSize:e,offset:t,diskNumberStart:i,zip64UncompressedSize:r,zip64CompressedSize:n,zip64Offset:o,zip64DiskNumberStart:a,rawExtraFieldZip64:s}){const B=Ri(s);let l=4;r&&(Hi(B,l,g(e)),l+=8),n&&(Hi(B,l,g(A)),l+=8),o&&(Hi(B,l,g(t)),l+=8),a&&zi(B,l,i)}async function Ki(A,e){const{writable:t}=A,i=t.getWriter();try{await i.ready,A.size+=xi(e),await i.write(e)}finally{i.releaseLock()}}function Ui(A){if(A)return(g(A.getTime())+g(116444736e5))*g(1e4)}function ki(A,e,t,i){const r=e[t]===v?A.options[t]:e[t];return r===v?i:r}function Wi(A){return A+5*(n.floor(A/16383)+1)}function Ti(A,e,t){A.setUint8(e,t)}function Li(A,e,t){A.setUint16(e,t,!0)}function zi(A,e,t){A.setUint32(e,t,!0)}function Hi(A,e,t){A.setBigUint64(e,t,!0)}function Ni(A,e,t){A.set(e,t)}function Ri(A){return new E(A.buffer)}function xi(...A){let e=0;return A.forEach(A=>A&&(e+=A.length)),e}function Ji({version:A,bitFlag:e,compressionMethod:t,uncompressedSize:i,compressedSize:r,lastModDate:g,rawFilename:n,zip64CompressedSize:o,zip64UncompressedSize:a,extraFieldLength:s}){const B=new I(26),l=Ri(B);Li(l,0,A),Li(l,2,e),Li(l,4,t);const c=new C(1),u=Ri(c);Li(u,0,(g.getHours()<<6|g.getMinutes())<<5|g.getSeconds()/2),Li(u,2,(g.getFullYear()-1980<<4|g.getMonth()+1)<<5|g.getDate());const E=c[0];return zi(l,6,E),(o||r!==v)&&zi(l,14,o?O:r),(a||i!==v)&&zi(l,18,a?O:i),Li(l,22,xi(n)),Li(l,24,s),{headerArray:B,headerView:l,rawLastModDate:E}}function Xi(A,e,t,i,r){let g=0;return e&&(g|=x),t&&(g|=8),8!=r&&9!=r||(0>A||A>3||(g|=6),A>3&&5>=A&&(g|=4),9==A&&(g|=2)),i&&(g|=1),g}try{tA({baseURI:void 0===F&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===F?location.href:G&&"SCRIPT"===G.tagName.toUpperCase()&&G.src||new l("zip-native.min.js",F.baseURI).href})}catch{}var{Uint8Array:Pi,Uint16Array:Vi,Int32Array:vi,TransformStream:Zi,Math:qi,Error:ji,Array:_i}=globalThis,$i=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ar=new Pi(0),er=new Vi(0),tr=class{constructor(A,e){this.t=A,this.i=e,this._=0}},ir=class{constructor(A,e,t,i,r){this.l=A,this.o=e,this.u=t,this.h=i,this.k=r}};function rr(A,e,t,i,r){if(0==r)return;let g=A instanceof Pi?A:new Pi(A.buffer,A.byteOffset,A.byteLength),n=t instanceof Pi?t.subarray(i,i+r):new Pi(t.buffer,t.byteOffset+i,r);g.set(n,e)}function gr(A,e,t){0!=t&&(A instanceof Pi?A:new Pi(A.buffer,A.byteOffset,A.byteLength)).fill(0,e,e+t)}function nr(){return{next_in:Ar,next_in_index:0,avail_in:0,total_in:0,next_out:Ar,next_out_index:0,avail_out:0,total_out:0,msg:"",m:0,v:0,p:0,A:void 0}}function or(A,e){let t=1<<e;return{O:A,M:new Pi(t),F:t,D:e,q:0,C:0,N:0,S:0}}function ar(A){return kr[-6>A||A>2?9:2-A]||""}function sr(A,e){try{A.msg=ar(e)}catch(t){A.msg="zlib error "+i(e)+" ("+t+")"}return e}function Br(A,e){let t=A>>>0,i=0;for(let A=0;e>A;A++)i=i<<1|1&t,t>>>=1;return i}function lr(A,e){A.X[A.V++]=e}function cr(A,e){lr(A,255&e),lr(A,e>>>8&255)}function Ir(A,e,t){let i=255&t,r=65535&e,g=A.T+A.U;return A.X[g]=255&r,A.X[g+1]=r>>>8&255,A.X[g+2]=i,A.U+=3,r=r-1&65535,A.B[Pr[i]+yr+1].$++,A.I[Er(r)].$++,A.U==A.Z}function ur(A,e){let t=255&e,i=A.T+A.U;return A.X[i]=0,A.X[i+1]=0,A.X[i+2]=t,A.U+=3,A.B[t].$++,A.U==A.Z}function Cr(A){return A.F-pr}function Er(A){return 256>A?Vr[A]:Vr[256+(A>>7)]}function hr(A){let e=Qr+7,t=1<<e,i=(1<<e)-1,r=qi.floor((e+Dr-1)/Dr),g=1<<8+Qr;return{...or(A,15),O:A,H:42,L:0,K:void 0,W:32767,J:e,R:t,Y:i,j:r,P:new Vi(32768),G:new Vi(t),ee:g,X:new Pi(32768),te:0,ne:32768,V:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,ge:0,be:0,me:0,xe:0,ve:0,ye:0,pe:new vi(2*Sr+1),ze:new Pi(2*Sr+1),Ae:new Vi(Or+1),U:0,Z:0,Oe:Ar,T:0,Me:0,Fe:0,De:8,qe:32768,Ce:0,Ne:0,Se:0,B:new _i(Gr).fill(0).map(()=>({$:0,Qe:0,Ee:0,$e:0})),I:new _i(2*Mr+1).fill(0).map(()=>({$:0,Qe:0,Ee:0,$e:0})),Xe:new _i(2*br+1).fill(0).map(()=>({$:0,Qe:0,Ee:0,$e:0})),Ve:dr(),Te:dr(),Ue:dr()}}function wr(A){let e=[];for(let t=0;t<A.length;t+=2){let i=A[t],r=A[t+1],g=fr();g.Qe=i,g.$e=r,e.push(g)}return e}function fr(){return{$:0,Qe:0,Ee:0,$e:0}}function dr(){return new tr([],new ir(null,Ar,0,0,0))}function Fr(A){let{code:e,length:t}=(A=>{let e=qi.max(...A),t=new _i(e+1).fill(0);for(let e of A)e>0&&t[e]++;let i=new _i(A.length).fill(0),r=new _i(e+1).fill(0),g=0;for(let A=1;e>=A;A++)g=g+t[A-1]<<1,r[A]=g;for(let e=0;e<A.length;e++){let t=A[e];0!=t&&(i[e]=r[t]++)}return{code:i,length:A}})(A),i=new _i(2*A.length),r=0;for(let g=0;g<A.length;g++){let A=t[g]||0,n=e[g]||0;i[r++]=A?Br(n,A):0,i[r++]=A}return new vi(i)}var Qr=8,Dr=3,Yr=258,pr=Yr+Dr+1,mr=Yr,yr=256,Sr=yr+1+29,Mr=30,br=19,Gr=2*Sr+1,Or=15,Kr=256,Ur=-1,kr=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],Wr=new vi([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]),Tr=new vi([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Lr=[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],zr=[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],Hr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Nr=((A,e)=>{let t=0;for(let i=0;i<A.length;i++){let r=e[i]?1<<e[i]:1,g=A[i]+r-1;g>t&&(t=g)}let i=new Pi(t+1);for(let r=0;t>=r;r++)for(let t=0;t<A.length;t++){let g=e[t]?1<<e[t]:1,n=A[t];if(r>=n&&n+g-1>=r){i[r]=t;break}}return i})(Tr,zr),Rr=Fr((()=>{let A=new _i(288).fill(0);for(let e=0;143>=e;e++)A[e]=8;for(let e=144;255>=e;e++)A[e]=9;for(let e=256;279>=e;e++)A[e]=7;for(let e=280;287>=e;e++)A[e]=8;return A})()),xr=Fr(new _i(30).fill(5)),Jr=wr(Rr),Xr=wr(xr),Pr=((A,e)=>{let t=0;for(let i=0;i<A.length;i++){let r=e[i]?1<<e[i]:1,g=A[i]+r-1;g>t&&(t=g)}258>t&&(t=258);let i=new Pi(t+1);for(let r=0;t>=r;r++)for(let t=0;t<A.length;t++){let g=e[t]?1<<e[t]:1,n=A[t];if(r>=n&&n+g-1>=r){i[r]=t;break}}return i})(Wr,Lr),Vr=(A=>{let e=new Pi(512),t=A.length-1;for(let i=0;256>i;i++)e[i]=i>t?A[t]:A[i];for(let i=256;t>=i;i++){let t=i>>7;e[256+(t>255?255:t)]=A[i]}for(let A=257;512>A;A++)0==e[A]&&(e[A]=e[A-1]);return e})(Nr);function vr(A){return A%65521>>>0}function Zr(A,e,t){if(void 0===e||void 0===t)return 1;let i=A>>>16&65535;if(A&=65535,1==t)return(A+=e[0])>=65521&&(A-=65521),i+=A,i>=65521&&(i-=65521),(i<<16|A)>>>0;if(16>t){for(let r=0;t>r;r++)i+=A+=e[r];return A>=65521&&(A-=65521),i=vr(i),(i<<16|A)>>>0}for(;t>=5552;){t-=5552;let r=qi.floor(347);do{for(let t=0;16>t;t++)i+=A+=e[t];e=e.subarray(16)}while(--r);A=vr(A),i=vr(i)}if(t){for(;t>=16;){t-=16;for(let t=0;16>t;t++)i+=A+=e[t];e=e.subarray(16)}for(let r=0;t>r;r++)i+=A+=e[r];A=vr(A),i=vr(i)}return(i<<16|A)>>>0}var qr=(()=>{let A=new _i(256);for(let e=0;256>e;e++){let t=e;for(let A=0;8>A;A++)t=1&t?3988292384^t>>>1:t>>>1;A[e]=t>>>0}return A})();function jr(A=0,e,t){if(!e)return 0;void 0===t&&(t=e.length),t=qi.min(t,e.length),A=~A>>>0;for(let i=0;t>i;i++)A=A>>>8^qr[255&(A^e[i])];return(4294967295^A)>>>0}function _r(A){16==A.S?(cr(A,A.N),A.N=0,A.S=0):A.S>=8&&(lr(A,A.N),A.N>>=8,A.S-=8)}function $r(A){A.S>8?cr(A,A.N):A.S>0&&lr(A,A.N),A.Me=1+(A.S-1&7),A.N=0,A.S=0}function Ag(A,e,t){A.S>16-t?(A.N=65535&(A.N|e<<A.S),cr(A,A.N),A.N=e>>16-A.S&65535,A.S+=t-16):(A.N=65535&(A.N|e<<A.S),A.S+=t)}function eg(A){for(let e=0;e<A.B.length;e++)A.B[e].$=0;for(let e=0;e<A.I.length;e++)A.I[e].$=0;for(let e=0;e<A.Xe.length;e++)A.Xe[e].$=0;A.B[Kr].$=1,A.ie=A.fe=0,A.U=A._e=0}function tg(A,e,t){return t=A.pe[1],A.pe[1]=A.pe[A.Ne--],rg(A,e,1),t}function ig(A,e,t,i){return A[e].$<A[t].$||A[e].$==A[t].$&&i[e]<=i[t]}function rg(A,e,t){let i=A.pe[t],r=t<<1;for(;r<=A.Ne&&(r<A.Ne&&ig(e,A.pe[r+1],A.pe[r],A.ze)&&r++,!ig(e,i,A.pe[r],A.ze));)A.pe[t]=A.pe[r],t=r,r<<=1;A.pe[t]=i}function gg(A,e){let t,i,r,g=e.t,n=e.i.l,o=e.i.h,a=-1;for(A.Ne=0,A.Se=Gr,t=0;o>t;t++)0!=g[t].$?(A.pe[++A.Ne]=a=t,A.ze[t]=0):g[t].$e=0;for(;2>A.Ne;)r=A.pe[++A.Ne]=2>a?++a:0,g[r].$=1,A.ze[r]=0,A.ie--,n&&(A.fe-=n[r].$e);for(e._=a,t=qi.floor(A.Ne/2);t>=1;t--)rg(A,g,t);r=o;do{t=tg(A,g,t),i=A.pe[1],A.pe[--A.Se]=t,A.pe[--A.Se]=i,g[r].$=g[t].$+g[i].$,A.ze[r]=(A.ze[t]<A.ze[i]?A.ze[i]:A.ze[t])+1,g[t].Ee=g[i].Ee=r,A.pe[1]=r++,rg(A,g,1)}while(A.Ne>=2);A.pe[--A.Se]=A.pe[1],((A,e)=>{let t,i,r,g,n,o,a=e.t,s=e._,B=e.i.l,l=e.i.o,c=e.i.u,I=e.i.k,u=0;for(g=0;Or>=g;g++)A.Ae[g]=0;for(a[A.pe[A.Se]].$e=0,t=A.Se+1;Gr>t;t++)i=A.pe[t],g=a[a[i].Ee].$e+1,g>I&&(g=I,u++),a[i].$e=g,s>=i&&(A.Ae[g]++,n=0,i>=c&&(n=l[i-c]),o=a[i].$,A.ie+=o*(g+n),B&&(A.fe+=o*(B[i].$e+n)));if(0!=u){do{for(g=I-1;0==A.Ae[g];)g--;A.Ae[g]--,A.Ae[g+1]+=2,A.Ae[I]--,u-=2}while(u>0);for(g=I;0!=g;g--)for(i=A.Ae[g];0!=i;)r=A.pe[--t],s>=r&&(a[r].$e!=g&&(A.ie+=(g-a[r].$e)*a[r].$,a[r].$e=g),i--)}})(A,e),((A,e,t)=>{let i,r,g=[],n=0;for(i=1;Or>=i;i++)n=n+t[i-1]<<1,g[i]=n;for(r=0;e>=r;r++){let e=A[r].$e;0!=e&&(A[r].Qe=Br(g[e]++,e))}})(g,e._,A.Ae)}function ng(A,e,t){let i,r,g=-1,n=e[0].$e,o=0,a=7,s=4;for(0==n&&(a=138,s=3),e[t+1].$e=65535,i=0;t>=i;i++)r=n,n=e[i+1].$e,(++o>=a||r!=n)&&(s>o?A.Xe[r].$+=o:0!=r?(r!=g&&A.Xe[r].$++,A.Xe[16].$++):o>10?A.Xe[18].$++:A.Xe[17].$++,o=0,g=r,0==n?(a=138,s=3):r==n?(a=6,s=3):(a=7,s=4))}function og(A,e,t){let i,r=-1,g=e[0].$e,n=0,o=7,a=4;0==g&&(o=138,a=3);for(let s=0;t>=s;s++)if(i=g,g=e[s+1].$e,++n>=o||i!=g){if(a>n)do{Ag(A,A.Xe[i].Qe,A.Xe[i].$e)}while(0!=--n);else 0!=i?(i!=r&&(Ag(A,A.Xe[i].Qe,A.Xe[i].$e),n--),Ag(A,A.Xe[16].Qe,A.Xe[16].$e),Ag(A,n-3,2)):n>10?(Ag(A,A.Xe[18].Qe,A.Xe[18].$e),Ag(A,n-11,7)):(Ag(A,A.Xe[17].Qe,A.Xe[17].$e),Ag(A,n-3,3));n=0,r=i,0==g?(o=138,a=3):i==g?(o=6,a=3):(o=7,a=4)}}function ag(A,e,t,i,r=0){Ag(A,0+i,3),$r(A),cr(A,t),cr(A,~t),t&&e&&rr(A.X,A.V,e,r,t),A.V+=t}function sg(A,e,t){let i,r,g,n,o=0;if(0!=A.U)do{i=255&A.Oe[o],i+=(255&A.Oe[o+1])<<8,r=A.Oe[o+2],o+=3,0==i?Ag(A,e[r].Qe,e[r].$e):(g=Pr[r],Ag(A,e[g+yr+1].Qe,e[g+yr+1].$e),n=Lr[g],0!=n&&(r-=Wr[g],Ag(A,r,n)),i--,g=Er(i),Ag(A,t[g].Qe,t[g].$e),n=zr[g],0!=n&&(i-=Tr[g],Ag(A,i,n)))}while(o<A.U);Ag(A,e[Kr].Qe,e[Kr].$e)}var Bg=[{Be:Mg,Ie:0,Ze:0,He:0,Le:0},{Be:bg,Ie:4,Ze:4,He:8,Le:4},{Be:bg,Ie:5,Ze:5,He:16,Le:8},{Be:bg,Ie:6,Ze:16,He:32,Le:32},{Be:Gg,Ie:4,Ze:4,He:16,Le:16},{Be:Gg,Ie:16,Ze:8,He:16,Le:32},{Be:Gg,Ie:16,Ze:16,He:32,Le:128},{Be:Gg,Ie:32,Ze:32,He:128,Le:256},{Be:Gg,Ie:128,Ze:128,He:256,Le:1024},{Be:Gg,Ie:258,Ze:258,He:258,Le:4096}];function lg(A){return 2*A-(A>4?9:0)}function cg(A,e,t){return((e<<A.j^t)&A.Y)>>>0}function Ig(A,e){A.ke=cg(A,A.ke,A.M[e+(Dr-1)]);let t=A.P[e&A.W]=A.G[A.ke];return A.G[A.ke]=e,t}function ug(A){A.G[A.R-1]=0,gr(A.G,0,(A.R-1)*A.G.BYTES_PER_ELEMENT)}function Cg(A){let e,t,i=A.F;for(e=A.R;e>0;)e--,t=A.G[e],A.G[e]=i>t?0:t-i;for(e=i;e>0;)e--,t=A.P[e],A.P[e]=i>t?0:t-i}function Eg(A,e,t,i){let r=A.avail_in;return r>i&&(r=i),0==r?0:(A.avail_in-=r,rr(e,t,A.next_in,A.next_in_index,r),1==A.A.L?A.v=Zr(A.v,new Pi(e.buffer,e.byteOffset+t,r),r):2==A.A.L&&(A.v=jr(A.v,new Pi(e.buffer,e.byteOffset+t,r),r)),A.next_in_index+=r,A.total_in+=r,r)}function hg(A){let e,t,i=A.F;do{if(t=A.qe-A.ce-A.ae,0==t&&0==A.ae&&0==A.ce?t=i:-1==t&&t--,A.ae>=i+Cr(A)&&(rr(A.M,0,A.M,i,i-t),A.Ce-=i,A.ae-=i,A.ue-=i,A.le>A.ae&&(A.le=A.ae),Cg(A),t+=i),0==A.O.avail_in)break;if(e=Eg(A.O,A.M,A.ae+A.ce,t),A.ce+=e,A.ce+A.le>=Dr){let e=A.ae-A.le;for(A.ke=A.M[e],A.ke=cg(A,A.ke,A.M[e+1]);A.le&&(A.ke=cg(A,A.ke,A.M[e+Dr-1]),A.P[e&A.W]=A.G[A.ke],A.G[A.ke]=e,e++,A.le--,A.ce+A.le>=Dr););}}while(A.ce<pr&&0!=A.O.avail_in);if(A.q<A.qe){let e,t=A.ae+A.ce;A.q<t?(e=A.qe-t,e>mr&&(e=mr),gr(A.M,t,e),A.q=t+e):A.q<t+mr&&(e=t+mr-A.q,e>A.qe-A.q&&(e=A.qe-A.q),gr(A.M,A.q,e),A.q+=e)}}function wg(A){if(null==A)return!0;let e=A.A;return!e||e.O!=A||42!=e.H&&57!=e.H&&69!=e.H&&73!=e.H&&91!=e.H&&103!=e.H&&113!=e.H&&666!=e.H}function fg(A,e){lr(A,e>>8),lr(A,255&e)}function dg(A){let e,t=A.A;(A=>{_r(A)})(t),e=t.V,e>A.avail_out&&(e=A.avail_out),0!=e&&(rr(A.next_out,A.next_out_index,t.X,t.re,e),A.next_out_index+=e,t.re+=e,A.total_out+=e,A.avail_out-=e,t.V-=e,0==t.V&&(t.re=t.te))}function Fg(A,e){let t=A.A;t.K&&t.K.Ke&&(A.v=jr(A.v,new Pi(t.X.buffer,t.te+e,t.V-e),t.V-e))}function Qg(A,e){let t,i=A.A;if(wg(A)||e>5||0>e)return sr(A,-2);if(!A.next_out||0!=A.avail_in&&!A.next_in||666==i.H&&4!=e)return sr(A,-2);if(0==A.avail_out)return sr(A,-5);if(t=i.oe,i.oe=e,0!=i.V){if(dg(A),0==A.avail_out)return i.oe=Ur,0}else if(0==A.avail_in&&lg(e)<=lg(t)&&4!=e)return sr(A,-5);if(666==i.H&&0!=A.avail_in)return sr(A,-5);if(42==i.H&&0==i.L&&(i.H=113),42==i.H){let e,t=8+(i.D-8<<4)<<8;if(e=i.be>=2||2>i.ge?0:6>i.ge?1:6==i.ge?2:3,t|=e<<6,0!=i.ae&&(t|=32),t+=31-t%31,fg(i,t),0!=i.ae&&(fg(i,A.v>>16),fg(i,65535&A.v)),A.v=1,i.H=113,dg(A),0!=i.V)return i.oe=Ur,0}if(57==i.H)if(A.v=jr(0),lr(i,31),lr(i,139),lr(i,8),i.K)lr(i,(i.K.We?1:0)+(i.K.Ke?2:0)+(null==i.K.Je?0:4)+(null==i.K.Re?0:8)+(null==i.K.Ye?0:16)),lr(i,255&i.K.je),lr(i,i.K.je>>>8&255),lr(i,i.K.je>>>16&255),lr(i,i.K.je>>>24&255),lr(i,9==i.ge?2:i.be>=2||2>i.ge?4:0),lr(i,255&i.K.Pe),null!=i.K.Je&&(lr(i,255&i.K.Ge),lr(i,i.K.Ge>>>8&255)),i.K.Ke&&(A.v=jr(A.v,i.X,i.V)),i.Fe=0,i.H=69;else if(lr(i,0),lr(i,0),lr(i,0),lr(i,0),lr(i,0),lr(i,9==i.ge?2:i.be>=2||2>i.ge?4:0),lr(i,255),i.H=113,dg(A),0!=i.V)return i.oe=Ur,0;if(69==i.H){if(i.K&&null!=i.K.Je){let e=i.V,t=(65535&i.K.Ge)-i.Fe;for(;i.V+t>i.ne;){let r=i.ne-i.V;if(rr(i.X,i.V,i.K.Je,i.Fe,r),i.V=i.ne,Fg(A,e),i.Fe+=r,dg(A),0!=i.V)return i.oe=Ur,0;e=0,t-=r}rr(i.X,i.V,i.K.Je,i.Fe,t),i.V+=t,Fg(A,e),i.Fe=0}i.H=73}if(73==i.H){if(i.K&&i.K.Re&&i.K.Re.length){let e,t=i.V;do{if(i.V==i.ne){if(Fg(A,t),dg(A),0!=i.V)return i.oe=Ur,0;t=0}e=i.K.Re[i.Fe++],lr(i,e)}while(0!=e);Fg(A,t),i.Fe=0}i.H=91}if(91==i.H){if(i.K&&i.K.Ye&&i.K.Ye.length){let e,t=i.V;do{if(i.V==i.ne){if(Fg(A,t),dg(A),0!=i.V)return i.oe=Ur,0;t=0}e=i.K.Ye[i.Fe++],lr(i,e)}while(0!=e);Fg(A,t)}i.H=103}if(103==i.H){if(i.K&&i.K.Ke){if(i.V+2>i.ne&&(dg(A),0!=i.V))return i.oe=Ur,0;lr(i,255&A.v),lr(i,A.v>>>8&255),A.v=jr(0)}if(i.H=113,dg(A),0!=i.V)return i.oe=Ur,0}if(0!=A.avail_in||0!=i.ce||0!=e&&666!=i.H){let t=0==i.ge?Mg(i,e):2==i.be?((A,e)=>{let t=!1;for(;;){if(0==A.ce&&(hg(A),0==A.ce)){if(0==e)return 0;break}if(A.se=0,t=ur(A,A.M[A.ae]),A.ce--,A.ae++,t){let e=mg(A,!1);if(null!=e)return e}}if(A.le=0,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1})(i,e):3==i.be?((A,e)=>{let t,i,r,g;for(;;){if(A.ce<=Yr){if(hg(A),A.ce<=Yr&&0==e)return 0;if(0==A.ce)break}if(A.se=0,A.ce>=Dr&&A.ae>0&&(r=A.ae-1,i=A.M[r],i==++r&&i==++r&&i==++r)){g=A.ae+Yr;do{}while(i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&g>r);A.se=Yr-(g-r),A.se>A.ce&&(A.se=A.ce)}if(A.se<Dr?(t=ur(A,A.M[A.ae]),A.ce--,A.ae++):(A.ae,A.ae,A.se,t=Ir(A,1,A.se-Dr),A.ce-=A.se,A.ae+=A.se,A.se=0),t){let e=mg(A,!1);if(null!=e)return e}}if(A.le=0,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1})(i,e):Bg[i.ge].Be(i,e);if((2==t||3==t)&&(i.H=666),0==t||2==t)return 0==A.avail_out&&(i.oe=Ur),0;if(1==t&&(1==e?(A=>{Ag(A,2,3),Ag(A,Jr[Kr].Qe,Jr[Kr].$e),_r(A)})(i):5!=e&&(ag(i,null,0,0),3==e&&(ug(i),0==i.ce&&(i.ae=0,i.ue=0,i.le=0))),dg(A),0==A.avail_out))return i.oe=Ur,0}return 4!=e?0:i.L>0?(2==i.L?(lr(i,255&A.v),lr(i,A.v>>>8&255),lr(i,A.v>>>16&255),lr(i,A.v>>>24&255),lr(i,255&A.total_in),lr(i,A.total_in>>>8&255),lr(i,A.total_in>>>16&255),lr(i,A.total_in>>>24&255)):(fg(i,A.v>>>16&65535),fg(i,65535&A.v)),dg(A),i.L>0&&(i.L=-i.L),0!=i.V?0:1):1}function Dg(A){if(wg(A))return-2;let e=A.A,t=e.H;return e.M=Ar,e.P=er,e.G=er,e.X=Ar,e.Oe=Ar,e.pe=new vi(0),e.ze=Ar,e.Ae=er,e.B.length=0,e.I.length=0,e.Xe.length=0,e.K=void 0,e.te=0,e.re=0,e.T=0,113==t?-3:0}function Yg(A,e){let t,i,r=A.ve,g=A.ae,n=A.de,o=A.xe,a=A.ae>Cr(A)?A.ae-Cr(A):0,s=A.P,B=A.W,l=A.M[g],c=A.M[g+1],I=A.M[g+n-1],u=A.M[g+n];A.de>=A.me&&(r>>=2),o>A.ce&&(o=A.ce);do{if(t=e,A.M[t+n]!=u||A.M[t+n-1]!=I||A.M[t]!=l||A.M[t+1]!=c)continue;let r=qi.min(Yr,A.ce),a=2;for(;r>a&&A.M[g+a]==A.M[t+a];)a++;if(i=a,i>n){if(A.Ce=e,n=i,i>=o)break;I=A.M[g+n-1],u=A.M[g+n]}}while((e=s[e&B])>a&&0!=--r);return n>A.ce?A.ce:n}function pg(A,e){((A,e,t,i,r=0)=>{let g,n,o=0;A.ge>0?(2==A.O.m&&(A.O.m=(A=>{let e,t=4093624447;for(e=0;31>=e;e++,t>>=1)if(1&t&&0!=A.B[e].$)return 0;if(0!=A.B[9].$||0!=A.B[10].$||0!=A.B[13].$)return 1;for(e=32;yr>e;e++)if(0!=A.B[e].$)return 1;return 0})(A)),gg(A,A.Ve),gg(A,A.Te),o=(A=>{let e;for(ng(A,A.B,A.Ve._),ng(A,A.I,A.Te._),gg(A,A.Ue),e=br-1;e>=3&&0==A.Xe[$i[e]].$e;e--);return A.ie+=3*(e+1)+5+5+4,e})(A),g=A.ie+3+7>>3,n=A.fe+3+7>>3,(g>=n||4==A.be)&&(g=n)):g=n=t+5,g>=t+4&&e?ag(A,e,t,i,r):n==g?(Ag(A,2+i,3),sg(A,Jr,Xr)):(Ag(A,4+i,3),((A,e,t,i)=>{let r;for(Ag(A,e-257,5),Ag(A,t-1,5),Ag(A,i-4,4),r=0;i>r;r++)Ag(A,A.Xe[$i[r]].$e,3);og(A,A.B,e-1),og(A,A.I,t-1)})(A,A.Ve._+1,A.Te._+1,o+1),sg(A,A.B,A.I)),eg(A),i&&$r(A)})(A,A.M,A.ae-A.ue,e,A.ue),A.ue=A.ae,dg(A.O)}function mg(A,e){return pg(A,e?1:0),0==A.O.avail_out?e?2:0:null}var yg=65535;function Sg(A,e){return e>A?A:e}function Mg(A,e){let t,i,r,g=Sg(A.ne-5,A.F),n=0,o=A.O.avail_in;do{if(t=yg,r=A.S+42>>3,A.O.avail_out<r||(r=A.O.avail_out-r,i=A.ae-A.ue,t>i+A.O.avail_in&&(t=i+A.O.avail_in),t>r&&(t=r),g>t&&(0==t&&4!=e||0==e||t!=i+A.O.avail_in)))break;n=4==e&&t==i+A.O.avail_in?1:0,ag(A,null,0,n),A.X[A.V-4]=t,A.X[A.V-3]=t>>8,A.X[A.V-2]=~t,A.X[A.V-1]=~t>>8,dg(A.O),i&&(i>t&&(i=t),rr(A.O.next_out,A.O.next_out_index,A.M,A.ue,i),A.O.next_out_index+=i,A.O.avail_out-=i,A.O.total_out+=i,A.ue+=i,t-=i),t&&(Eg(A.O,A.O.next_out,A.O.next_out_index,t),A.O.next_out_index+=t,A.O.avail_out-=t,A.O.total_out+=t)}while(0==n);if(o-=A.O.avail_in,o){if(o<A.F)A.qe-A.ae<=o&&(A.ae-=A.F,rr(A.M,0,A.M,A.F,A.ae),2>A._e&&A._e++,A.le>A.ae&&(A.le=A.ae)),rr(A.M,A.ae,A.O.next_in,A.O.next_in_index-o,o),A.ae+=o,A.le+=Sg(o,A.F-A.le);else{A._e=2;let e=A.O.next_in_index-A.F;rr(A.M,0,A.O.next_in,e,A.F),A.ae=A.F,A.le=A.ae}A.ue=A.ae}return A.q<A.ae&&(A.q=A.ae),n?(A.Me=8,3):0!=e&&4!=e&&0==A.O.avail_in&&A.ae==A.ue?1:(r=A.qe-A.ae,A.O.avail_in>r&&A.ue>=A.F&&(A.ue-=A.F,A.ae-=A.F,rr(A.M,0,A.M,A.F,A.ae),2>A._e&&A._e++,r+=A.F,A.le>A.ae&&(A.le=A.ae)),r>A.O.avail_in&&(r=A.O.avail_in),r&&(Eg(A.O,A.M,A.ae,r),A.ae+=r,A.le+=Sg(r,A.F-A.le)),A.q<A.ae&&(A.q=A.ae),r=A.S+42>>3,r=Sg(A.ne-r,yg),g=Sg(r,A.F),i=A.ae-A.ue,(i>=g||(i||4==e)&&0!=e&&0==A.O.avail_in&&r>=i)&&(t=Sg(i,r),n=4==e&&0==A.O.avail_in&&t==i?1:0,ag(A,A.M,t,n,A.ue),A.ue+=t,dg(A.O)),n&&(A.Me=8),n?2:0)}function bg(A,e){let t,i=!1;for(;;){if(A.ce<pr){if(hg(A),A.ce<pr&&0==e)return 0;if(0==A.ce)break}if(t=0,A.ce>=Dr&&(t=Ig(A,A.ae)),0!=t&&A.ae-t<=Cr(A)&&(A.se=Yg(A,t)),A.se<Dr)i=ur(A,A.M[A.ae]),A.ce--,A.ae++;else if(A.ae,A.Ce,A.se,i=Ir(A,A.ae-A.Ce,A.se-Dr),A.ce-=A.se,A.se>A.ye||A.ce<Dr)A.ae+=A.se,A.se=0,A.ke=A.M[A.ae],A.ke=cg(A,A.ke,A.M[A.ae+1]);else{A.se--;do{A.ae++,t=Ig(A,A.ae)}while(0!=--A.se);A.ae++}if(i){let e=mg(A,!1);if(null!=e)return e}}if(A.le=A.ae<Dr-1?A.ae:Dr-1,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1}function Gg(A,e){let t,i=!1;for(;;){if(A.ce<pr){if(hg(A),A.ce<pr&&0==e)return 0;if(0==A.ce)break}if(t=0,A.ce>=Dr&&(t=Ig(A,A.ae)),A.de=A.se,A.he=A.Ce,A.se=Dr-1,0!=t&&A.de<A.ye&&A.ae-t<=Cr(A)&&(A.se=Yg(A,t),5>=A.se&&1==A.be&&(A.se=Dr-1)),A.de<Dr||A.se>A.de)if(A.we){if(i=ur(A,A.M[A.ae-1]),i&&pg(A,0),A.ae++,A.ce--,0==A.O.avail_out)return 0}else A.we=1,A.ae++,A.ce--;else{let e=A.ae+A.ce-Dr;A.ae,A.he,A.de,i=Ir(A,A.ae-1-A.he,A.de-Dr),A.ce-=A.de-1,A.de-=2;do{++A.ae<=e&&(t=Ig(A,A.ae))}while(0!=--A.de);if(A.we=0,A.se=Dr-1,A.ae++,i){let e=mg(A,!1);if(null!=e)return e}}}if(A.we&&(i=ur(A,A.M[A.ae-1]),A.we=0),A.le=A.ae<Dr-1?A.ae:Dr-1,4==e)return mg(A,!0)??3;if(A.U){let e=mg(A,!1);if(null!=e)return e}return 1}var Og=new Vi([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Kg=Hg([16,8,17,4,18,4,19,4,20,4,21,4,16,1,73,1,200,1]),Ug=new Vi([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),kg=Hg([16,4,17,2,18,2,19,2,20,2,21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2,64,2]),Wg=new Vi([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,3,0,0]),Tg=Hg([128,8,129,4,130,4,131,4,132,4,133,4,16,1,73,1,200,1]),Lg=new Vi([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,32769,49153]),zg=Hg([128,4,129,2,130,2,131,2,132,2,133,2,134,2,135,2,136,2,137,2,138,2,139,2,140,2,141,2,142,2]);function Hg(A){let e=[];for(let t=0;t<A.length;t+=2){let i=A[t],r=A[t+1];for(let A=0;r>A;A++)e.push(i)}return new Vi(e)}function Ng(A,e){let t,i=A.A,r=A.next_in_index,g=A.next_out_index,n=A.next_in,o=A.next_out,a=i.M,s=i.N>>>0,B=i.S>>>0,l=i.et,c=i.tt,I=(1<<i.nt)-1,u=(1<<i.rt)-1,C=i.F>>>0,E=i.q>>>0,h=i.C>>>0,w=i.it,f=g-(e-A.avail_out),d=g+(A.avail_out-257),F=r+(A.avail_in-5),Q=0,D=0,Y=0,p=0;A:do{for(;15>B;){if(r>=n.length)break A;s+=n[r++]<<B,B+=8}for(t=l[s&I];;){if(Y=t.ft,s>>>=Y,B-=Y,Y=t._t,0==Y){o[g++]=t.lt;break}if(16&Y){if(Q=t.lt,Y&=15,Y){for(;Y>B;){if(r>=n.length){i.ot=16200;break A}s+=n[r++]<<B,B+=8}Q+=s&(1<<Y)-1,s>>>=Y,B-=Y}for(;15>B;){if(r>=n.length){i.ot=16200;break A}s+=n[r++]<<B,B+=8}for(t=c[s&u];;){if(Y=t.ft,s>>>=Y,B-=Y,Y=t._t,16&Y){if(D=t.lt,Y&=15,Y){for(;Y>B;){if(r>=n.length){i.ot=16200;break A}s+=n[r++]<<B,B+=8}D+=s&(1<<Y)-1,s>>>=Y,B-=Y}let e=Q,l=g-f;if(D>l){let t=D-l;if(t>E&&w){A.msg="invalid distance too far back",i.ot=16209;break A}if(0==h){if(p=C-t,t>=e){for(let A=0;e>A;++A)o[g++]=a[p++];continue A}for(let A=0;t>A;++A)o[g++]=a[p++];e-=t,p=g-D}else if(t>h){p=C+h-t;let A=t-h;if(A>=e){for(let A=0;e>A;++A)o[g++]=a[p++];continue A}for(let e=0;A>e;++e)o[g++]=a[p++];if(e-=A,p=0,e>h){for(let A=0;h>A;++A)o[g++]=a[p++];e-=h,p=g-D}}else{if(p=h-t,t>=e){for(let A=0;e>A;++A)o[g++]=a[p++];continue A}for(let A=0;t>A;++A)o[g++]=a[p++];e-=t,p=g-D}for(;e>2;)o[g++]=o[p++],o[g++]=o[p++],o[g++]=o[p++],e-=3;e&&(o[g++]=o[p++],e>1&&(o[g++]=o[p++]))}else{for(p=g-D;e>2;)o[g++]=o[p++],o[g++]=o[p++],o[g++]=o[p++],e-=3;e&&(o[g++]=o[p++],e>1&&(o[g++]=o[p++]))}break}if(64&Y){A.msg="invalid distance code",i.ot=16209;break A}t=c[t.lt+(s&(1<<Y)-1)]}break}if(64&Y){if(32&Y){i.ot=16191;break A}A.msg="invalid literal/length code",i.ot=16209;break A}t=l[t.lt+(s&(1<<Y)-1)]}}while(F>r&&d>g);let m=B>>3;r-=m,B-=m<<3,s&=(1<<B)-1,A.next_in_index=r,A.next_out_index=g,A.avail_in=F>r?F-r+5:5-(r-F),A.avail_out=d>g?d-g+257:257-(g-d),i.N=s>>>0,i.S=B>>>0}function Rg(A,e){let t=[],i=e?1446:1444;return{...or(A,0),O:A,ot:16180,ut:!1,L:0,ct:!1,st:0,dt:0,ht:0,wt:0,M:Ar,kt:0,gt:0,Je:0,et:t,tt:t,nt:0,rt:0,bt:0,xt:0,vt:0,yt:0,zt:t,At:new Vi(320),Ot:new Vi(288),Mt:new _i(i).fill(null).map(()=>xg()),Ft:0,it:!0,Dt:0,qt:0,Ct:e}}function xg(A=0,e=0,t=0){return{_t:A,ft:e,lt:t}}function Jg(A=1){return{_t:64,ft:A,lt:0}}function Xg(A){return(255&A)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>24&255}var Pg={Ct:!1,Nt:Og,St:Kg,Xt:Ug,Vt:kg,Tt:20,Ut:257,Qt:0,$t:592,Et:!1,Bt:!0},Vg={Ct:!0,Nt:Wg,St:Tg,Xt:Lg,Vt:zg,Tt:19,Ut:256,Qt:-1,$t:594,Et:!0,Bt:!1};function vg(A,e,t,i,r,g,n,o){let a,s,B,l,c,I,u,C,E,h,w,f,d,F,Q,D,Y,p,m,y=new Vi(16),S=new Vi(16),M=o?Vg:Pg;for(a=0;15>=a;a++)y[a]=0;for(s=0;t>s;s++)y[e[s]]++;for(c=r.It,l=15;l>=1&&0==y[l];l--);if(c>l&&(c=l),0==l)return M.Bt?(Q=Jg(1),i.It[0]=Q,i.It[1]=Q,r.It=1,0):-1;for(B=1;l>B&&0==y[B];B++);for(B>c&&(c=B),C=1,a=1;15>=a;a++)if(C<<=1,C-=y[a],0>C)return-1;if(C>0&&(0==A||1!=l))return-1;for(S[1]=0,a=1;15>a;a++)S[a+1]=S[a]+y[a];for(s=0;t>s;s++)0!=e[s]&&(g[S[e[s]]++]=s);switch(A){case 0:Y=p=g,m=M.Tt;break;case 1:Y=M.Nt,p=M.St,m=M.Ut;break;default:Y=M.Xt,p=M.Vt,m=M.Qt}if(h=0,s=0,a=B,D=n.It,I=c,u=0,d=-1,E=1<<c,F=E-1,1==A&&(M.Et?E>=852:E>852)||2==A&&(M.Et?E>=M.$t:E>M.$t))return 1;for(;;){Q=Zg(g,s,a,u,A,Y,p,m,M.Ct),w=1<<a-u,f=1<<I,B=f;do{f-=w;let A=(h>>u)+f;i.It[D+A]={...Q}}while(0!=f);for(w=1<<a-1;h&w;)w>>=1;if(0!=w?(h&=w-1,h+=w):h=0,s++,0==--y[a]){if(a==l)break;a=e[g[s]]}if(a>c&&(h&F)!=d){for(0==u&&(u=c),D+=1<<I,I=a-u,C=1<<I;l>I+u&&(C-=y[I+u],C>0);)I++,C<<=1;if(E+=1<<I,1==A&&(M.Et?E>=852:E>852)||2==A&&(M.Et?E>=M.$t:E>M.$t))return 1;d=h&F,i.It[n.It+d]={_t:I,ft:c,lt:D-n.It}}}if(0!=h)for(Q=Jg(a-u);0!=h;){for(0!=u&&(h&F)!=d&&(u=0,a=c,D=n.It,I=c,Q.ft=a),i.It[D+(h>>u)]={...Q},w=1<<a-1;h&w;)w>>=1;0!=w?(h&=w-1,h+=w):h=0}return n.It+=E,r.It=c,0}function Zg(A,e,t,i,r,g,n,o,a){let s;if(a?A[e]<o:A[e]+1<o)s=xg(0,t-i,A[e]);else if(a?A[e]>o:A[e]>=o)if(a&&1==r){let r=A[e]-257;s=xg(n[r],t-i,g[r])}else{let r=a?A[e]:A[e]-o;s=xg(n[r],t-i,g[r])}else s=((A=0)=>({_t:96,ft:A,lt:0}))(t-i);return s}var qg,jg,_g=new _i(544),$g=!0;function An(A){let e;return!(A&&(e=A.A,!(!e||e.O!=A||e.Ct&&(16191>e.ot||e.ot>16209)||!e.Ct&&(16180>e.ot||e.ot>16211))))}function en(A){let e={It:0};if($g){let t,i,r;for(t=0;144>t;)A.At[t++]=8;for(;256>t;)A.At[t++]=9;for(;280>t;)A.At[t++]=7;for(;288>t;)A.At[t++]=8;for(let A=0;544>A;A++)_g[A]=xg();r=_g,qg=r,i=9;let g={It:r},n={It:i},o={It:0};for(vg(1,A.At,288,g,n,A.Ot,o,A.Ct),r=g.It,i=n.It,A.Ft=o.It,t=0;32>t;)A.At[t++]=5;i=5;let a=o.It,s={It:r},B={It:i};e.It=a,vg(2,A.At,32,s,B,A.Ot,e,A.Ct),jg=r.slice(a),$g=!1}A.et=qg,A.nt=9,A.tt=jg,A.rt=5,A.Ft=e.It}var tn=class extends ji{constructor(){super("Need more input")}};function rn(A,e){let t,i,r,g,n,o,a,s,B,l,c,I,u,C,E,h,w,f=new Pi(4);if(An(A)||!A.next_out||!A.next_in&&0!=A.avail_in)return-2;o=0,s=0,a=0,B=0,i=Ar,r=0,g=Ar,n=0,t=A.A,16191==t.ot&&(t.ot=16192),Y(),l=o,c=a,w=0;try{for(;;)switch(t.ot){case 16180:if(0==t.L){t.ot=16192;break}if(S(16),2&t.L&&35615==s){0==t.D&&(t.D=15),t.ht=jr(0),t.ht=Q(t.ht,s),m(),t.ot=16181;break}if(t.K&&(t.K.Zt=-1),!(1&t.L)||((M(8)<<8)+(s>>8))%31){A.msg="incorrect header check",t.ot=16209;break}if(8!=M(4)){A.msg="unknown compression method",t.ot=16209;break}if(b(4),h=M(4)+8,0==t.D&&(t.D=h),h>15||h>t.D){A.msg="invalid window size",t.ot=16209;break}t.dt=1<<h,t.st=0,A.v=t.ht=Zr(0),t.ot=512&s?16189:16191,m();break;case 16181:if(S(16),t.st=s,8!=(255&t.st)){A.msg="unknown compression method",t.ot=16209;break}if(57344&t.st){A.msg="unknown header flags set",t.ot=16209;break}t.K&&(t.K.We=s>>8&1),512&t.st&&4&t.L&&(t.ht=Q(t.ht,s)),m(),t.ot=16182;case 16182:S(32),t.K&&(t.K.je=s),512&t.st&&4&t.L&&(t.ht=D(t.ht,s)),m(),t.ot=16183;case 16183:S(16),t.K&&(t.K.Ht=255&s,t.K.Pe=s>>8),512&t.st&&4&t.L&&(t.ht=Q(t.ht,s)),m(),t.ot=16184;case 16184:1024&t.st?(S(16),t.kt=s,t.K&&(t.K.Ge=s),512&t.st&&4&t.L&&(t.ht=Q(t.ht,s)),m()):t.K&&(t.K.Je=Ar),t.ot=16185;case 16185:if(1024&t.st&&(I=t.kt,I>o&&(I=o),I&&(t.K&&t.K.Je&&t.K.Lt&&(h=t.K.Ge-t.kt)<t.K.Lt&&rr(t.K.Je,h,i,r,I),512&t.st&&4&t.L&&(t.ht=jr(t.ht,i.subarray(r,r+I),I)),o-=I,r+=I,t.kt-=I),t.kt))return d();t.kt=0,t.ot=16186;case 16186:if(2048&t.st){if(0==o)return d();I=0;do{h=i[r+I++],t.K&&t.K.Kt&&t.kt<t.K.Kt&&(t.K.Re[t.kt++]=h)}while(h&&o>I);if(512&t.st&&4&t.L&&(t.ht=jr(t.ht,i.subarray(r,r+I),I)),o-=I,r+=I,h)return d()}else t.K&&(t.K.Re=Ar);t.kt=0,t.ot=16187;case 16187:if(4096&t.st){if(0==o)return d();I=0;do{h=i[r+I++],t.K&&t.K.Wt&&t.kt<t.K.Wt&&(t.K.Ye[t.kt++]=h)}while(h&&o>I);if(512&t.st&&4&t.L&&(t.ht=jr(t.ht,i.subarray(r,r+I),I)),o-=I,r+=I,h)return d()}else t.K&&(t.K.Ye=Ar);t.ot=16188;case 16188:if(512&t.st){if(S(16),4&t.L&&s!=(65535&t.ht)){A.msg="header crc mismatch",t.ot=16209;break}m()}t.K&&(t.K.Ke=t.st>>9&1,t.K.Zt=1),A.v=t.ht=jr(0),t.ot=16191;break;case 16189:S(32),A.v=t.ht=Xg(s),m(),t.ot=16190;case 16190:if(!t.ct)return p(),2;A.v=t.ht=Zr(0),t.ot=16191;case 16191:if(5==e||6==e)return d();case 16192:if(t.ut){G(),t.ot=16206;break}switch(S(3),t.ut=!!M(1),b(1),M(2)){case 0:t.ot=16193;break;case 1:if(en(t),t.ot=16199,6==e)return b(2),d();break;case 2:t.ot=16196;break;case 3:A.msg="invalid block type",t.ot=16209}b(2);break;case 16193:if(G(),S(32),(65535&s)!=(s>>>16^65535)){A.msg="invalid stored block lengths",t.ot=16209;break}if(t.kt=65535&s,m(),t.ot=16194,6==e)return d();case 16194:t.ot=16195;case 16195:if(I=t.kt,I){if(I>o&&(I=o),I>a&&(I=a),0==I)return d();rr(g,n,i,r,I),o-=I,r+=I,a-=I,n+=I,t.kt-=I;break}t.ot=16191;break;case 16196:if(S(14),t.xt=M(5)+257,b(5),t.vt=M(5)+1,b(5),t.bt=M(4)+4,b(4),t.xt>286||!t.Ct&&t.vt>30){A.msg=t.Ct?"too many length":"too many length or distance symbols",t.ot=16209;break}t.yt=0,t.ot=16197;case 16197:for(;t.yt<t.bt;)S(3),t.At[$i[t.yt++]]=M(3),b(3);for(;19>t.yt;)t.At[$i[t.yt++]]=0;t.zt=t.Mt,t.et=t.tt=t.zt,t.nt=7;let l={It:t.zt},f={It:t.nt},O={It:0};if(w=vg(0,t.At,19,l,f,t.Ot,O,t.Ct),t.zt=l.It,t.nt=f.It,w){A.msg="invalid code lengths set",t.ot=16209;break}t.yt=0,t.ot=16198;case 16198:for(;t.yt<t.xt+t.vt;){for(;C=t.et[M(t.nt)],C.ft>B;)y();if(16>C.lt)b(C.ft),t.At[t.yt++]=C.lt;else{if(16==C.lt){if(S(C.ft+2),b(C.ft),0==t.yt){A.msg="invalid bit length repeat",t.ot=16209;break}h=t.At[t.yt-1],I=3+M(2),b(2)}else 17==C.lt?(S(C.ft+3),b(C.ft),h=0,I=3+M(3),b(3)):(S(C.ft+7),b(C.ft),h=0,I=11+M(7),b(7));if(t.yt+I>t.xt+t.vt){A.msg="invalid bit length repeat",t.ot=16209;break}for(;I--;)t.At[t.yt++]=h}}if(16209==t.ot)break;if(0==t.At[256]){A.msg="invalid code -- missing end-of-block",t.ot=16209;break}t.zt=t.Mt,t.nt=9;let K={It:t.zt},U={It:t.nt},k={It:0};w=vg(1,t.At,t.xt,K,U,t.Ot,k,t.Ct),t.zt=K.It,t.nt=U.It;let W=k.It;if(t.et=t.zt.slice(0,W),w){A.msg="invalid literal/lengths set",t.ot=16209;break}t.rt=6;let T=t.At.subarray(t.xt,t.xt+t.vt),L={It:t.zt},z={It:t.rt},H={It:W};if(w=vg(2,T,t.vt,L,z,t.Ot,H,t.Ct),t.zt=L.It,t.rt=z.It,t.tt=t.zt.slice(W),w){A.msg="invalid distances set",t.ot=16209;break}if(t.ot=16199,6==e)return d();case 16199:t.ot=16200;case 16200:if(!t.Ct&&o>=6&&a>=258){p(),Ng(A,c),Y(),16191==t.ot&&(t.Dt=-1);break}for(t.Dt=0;C=t.et[M(t.nt)],C.ft>B;)y();if(C._t&&!(240&C._t)){for(E=C;C=t.et[E.lt+(M(E.ft+E._t)>>E.ft)],E.ft+C.ft>B;)y();b(E.ft),t.Dt+=E.ft}if(b(C.ft),t.Dt+=C.ft,t.kt=C.lt,0==C._t){t.ot=16205;break}if(32&C._t){t.Dt=-1,t.ot=16191;break}if(64&C._t){A.msg="invalid literal/length code",t.ot=16209;break}t.Je=15&C._t,t.ot=16201;case 16201:t.Je&&(S(t.Je),t.kt+=M(t.Je),b(t.Je),t.Dt+=t.Je),t.qt=t.kt,t.ot=16202;case 16202:for(;C=t.tt[M(t.rt)],C.ft>B;)y();if(!(240&C._t)){for(E=C;C=t.tt[E.lt+(M(E.ft+E._t)>>E.ft)],E.ft+C.ft>B;)y();b(E.ft),t.Dt+=E.ft}if(b(C.ft),t.Dt+=C.ft,64&C._t){A.msg="invalid distance code",t.ot=16209;break}t.gt=C.lt,t.Je=15&C._t,t.ot=16203;case 16203:t.Je&&(S(t.Je),t.gt+=M(t.Je),b(t.Je),t.Dt+=t.Je),t.ot=16204;case 16204:if(0==a)return d();if(I=c-a,t.gt>I){if(I=t.gt-I,I>t.q&&t.it){A.msg="invalid distance too far back",t.ot=16209;break}I>t.C?(I-=t.C,u=t.F-I):u=t.C-I,I>t.kt&&(I=t.kt),I>a&&(I=a);for(let A=0;I>A;++A)g[n]=255&t.M[u],++n,++u}else{u=n-t.gt,I=t.kt,I>a&&(I=a);for(let A=0;I>A;++A)g[n]=g[u],++n,++u}I>a&&(I=a),a-=I,t.kt-=I,0==t.kt&&(t.ot=16200);break;case 16205:if(0==a)return d();g[n++]=t.kt,a--,t.ot=16200;break;case 16206:if(t.L){if(S(32),c-=a,A.total_out+=c,t.wt+=c,4&t.L&&c){let e=g.subarray(n-c,n);A.v=t.ht=F(t.ht,e,c)}if(c=a,4&t.L&&(t.st?s:Xg(s)>>>0)!=t.ht){A.msg="incorrect data check",t.ot=16209;break}m()}t.ot=16207;case 16207:if(t.L&&t.st){if(S(32),4&t.L&&s!=(4294967295&t.wt)){A.msg="incorrect length check",t.ot=16209;break}m()}t.ot=16208;case 16208:return w=1,d();case 16209:return w=-3,d();case 16210:return-4;default:return-2}}catch(A){if(A instanceof tn)return d();throw A}function d(){if(p(),t.F||c!=A.avail_out&&16209>t.ot&&(t.Ct?16208>t.ot:16206>t.ot)||4!=e){let e=c-A.avail_out;if(((A,e,t)=>{let i=A.A;if(!(i.M&&0!=i.M.length||(i.M=new Pi(1<<i.D),i.M)))return 1;if(0==i.F&&(i.F=1<<i.D,i.C=0,i.q=0),t<i.F){let A=i.F-i.C;A>t&&(A=t),rr(i.M,i.C,e,e.length-t,A),(t-=A)?(rr(i.M,0,e,e.length-t,t),i.C=t,i.q=i.F):(i.C+=A,i.C==i.F&&(i.C=0),i.q<i.F&&(i.q+=A))}else rr(i.M,0,e,e.length-i.F,i.F),i.C=0,i.q=i.F;return 0})(A,A.next_out.subarray(A.next_out_index-e,A.next_out_index),e))return t.ot=16210,-4}return l-=A.avail_in,c-=A.avail_out,A.total_in+=l,A.total_out+=c,t.wt+=c,4&t.L&&c&&(A.v=t.ht=F(t.ht,A.next_out.subarray(A.next_out_index-c,A.next_out_index),c)),A.m=t.S+(t.ut?64:0)+(16191==t.ot?128:0)+(16199==t.ot||16194==t.ot?256:0),(0==l&&0==c&&0==w||4==e&&0==w)&&(w=-5),w}function F(A,e,i){return t.st?jr(A,e,i):Zr(A,e,i)}function Q(A,e){return f[0]=255&e,f[1]=e>>>8&255,jr(A,f,2)>>>0}function D(A,e){return f[0]=255&e,f[1]=e>>>8&255,f[2]=e>>>16&255,f[3]=e>>>24&255,jr(A,f,4)>>>0}function Y(){g=A.next_out,n=A.next_out_index,a=A.avail_out,i=A.next_in,r=A.next_in_index,o=A.avail_in,s=t.N,B=t.S}function p(){A.next_out=g,A.next_out_index=n,A.avail_out=a,A.next_in=i,A.next_in_index=r,A.avail_in=o,t.N=s,t.S=B}function m(){s=0,B=0}function y(){if(0==o)throw new tn;o--,s+=(255&i[r])<<B,r++,s>>>=0,B+=8}function S(A){for(;A>B;)y()}function M(A){return s&(1<<A)-1}function b(A){s>>>=A,B-=A}function G(){s>>>=7&B,B-=7&B}}function gn(A){return An(A)?-2:0}var nn=65536,on=class{constructor(A=16,e=nn){this.Jt=[],this.Rt=A;for(let t=0;t<qi.min(A,4);t++)this.Jt.push(new Pi(e))}acquire(A=nn){for(let e=this.Jt.length-1;e>=0;e--){let t=this.Jt[e];if(t.length>=A)return this.Jt.splice(e,1),t}return new Pi(A)}release(A){this.Jt.length<this.Rt&&this.Jt.push(A)}};function an(A){let e=new on(32,nn),t=null;function i(A){try{e.release(A)}catch{}}return new Zi({start(){},transform(r,g){if(!t){let e=A.Yt(),i=A.jt(e);if(0!=i&&0!=i)throw new ji("init failed: "+i);t={O:e}}let n=t.O,o=0;for(;o<r.length;){let t=qi.min(r.length-o,32768),a=r.subarray(o,o+t);for(n.next_in=a,n.next_in_index=0,n.avail_in=a.length;n.avail_in>0;){let t=e.acquire(),r=!1;try{n.next_out=t,n.next_out_index=0,n.avail_out=t.length;let i=A.Pt(n,0),o=t.length-n.avail_out;if(o>0){let A=!1,i={Gt:t.subarray(0,o),release:()=>{A||(A=!0,e.release(t))}};r=!0,g.enqueue(i)}if(0!=i&&1!=i)throw new ji("process error: "+i)}finally{r||i(t)}}o+=t}},flush(r){if(!t)return;let g=t.O;for(;;){let t=e.acquire(),n=!1;try{g.next_out=t,g.next_out_index=0,g.avail_out=t.length;let i=A.Pt(g,4),o=t.length-g.avail_out;if(o>0){let A=!1,i={Gt:t.subarray(0,o),release:()=>{A||(A=!0,e.release(t))}};n=!0,r.enqueue(i)}if(1==i)break;if(0!=i)throw new ji("finalization error: "+i)}finally{n||i(t)}}let n=A.en(g);if(0!=n&&0!=n)throw new ji("end failed: "+n)}})}function sn(){return new Zi({start(){},transform(A,e){try{e.enqueue(A.Gt.slice(0))}finally{A.release()}},flush(){}})}tA({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(A="deflate",e){let t=function(A="deflate",e){let t="gzip"==A?31:"deflate-raw"==A?-15:15,i=e&&"number"==typeof e.level?e.level:-1;return an({Yt:()=>(()=>{let A=nr();return A.A=hr(A),A})(),jt:A=>((A,e,t=8,i=15,r=Qr,g=0)=>{let n=1;if(!A)return-2;if(A.msg="",-1==e&&(e=6),0>i){if(n=0,-15>i)return-2;i=-i}else i>15&&(n=2,i-=16);if(1>r||r>9||8!=t||8>i||i>15||0>e||e>9||0>g||g>4||8==i&&1!=n)return-2;8==i&&(i=9);let o=hr(A);return o?(A.A=o,o.O=A,o.H=42,o.L=n,o.K=void 0,o.D=i,o.F=1<<o.D,o.W=o.F-1,o.J=r+7,o.R=1<<o.J,o.Y=o.R-1,o.j=(o.J+Dr-1)/Dr,o.M=new Pi(2*o.F),o.P=new Vi(o.F),o.G=new Vi(o.R),o.q=0,o.ee=1<<r+6,o.X=new Pi(4*o.ee),o.ne=4*o.ee,o.M&&o.P&&o.G&&o.X?(o.Oe=o.X.subarray(o.ee),o.T=o.te+o.ee,o.Z=3*(o.ee-1),o.ge=e,o.be=g,o.De=t,(A=>{let e=(A=>{let e;return wg(A)?-2:(A.total_in=A.total_out=0,A.msg="",A.m=2,e=A.A,e.V=0,e.re=e.te,0>e.L&&(e.L=-e.L),e.H=2==e.L?57:42,A.v=2==e.L?jr(0):Zr(0),e.oe=-2,(A=>{if(A.B&&A.B.length>=Gr)for(let e=0;Gr>e;e++)A.B[e]=fr();else{A.B=[];for(let e=0;Gr>e;e++)A.B.push(fr())}if(A.I&&A.I.length>=2*Mr+1)for(let e=0;2*Mr+1>e;e++)A.I[e]=fr();else{A.I=[];for(let e=0;2*Mr+1>e;e++)A.I.push(fr())}if(A.Xe&&A.Xe.length>=2*br+1)for(let e=0;2*br+1>e;e++)A.Xe[e]=fr();else{A.Xe=[];for(let e=0;2*br+1>e;e++)A.Xe.push(fr())}A.Ve=new tr(A.B,new ir(Jr,Lr,yr+1,Sr,Or)),A.Te=new tr(A.I,new ir(Xr,zr,0,Mr,Or)),A.Ue=new tr(A.Xe,new ir(null,Hr,0,br,7)),A.N=0,A.S=0,A.Me=0,eg(A)})(e),0)})(A);return 0==e&&(A=>{A.qe=2*A.F,ug(A),A.ye=Bg[A.ge].Ie,A.me=Bg[A.ge].Ze,A.xe=Bg[A.ge].He,A.ve=Bg[A.ge].Le,A.ae=0,A.ue=0,A.ce=0,A.le=0,A.se=A.de=Dr-1,A.we=0,A.ke=0})(A.A),e})(A)):(o.H=666,A.msg=ar(-4),Dg(A),-4)):-4})(A,i,8,t,8,0),Pt:Qg,en:Dg})}(A,e);this.writable=t.writable,this.readable=t.readable.pipeThrough(sn())}},DecompressionStreamZlib:class{constructor(A="deflate"){let e=((A="deflate")=>{let e="gzip"==A?31:"deflate-raw"==A?-15:15;return an({Yt:()=>(A=>{let e=nr();return e.A=Rg(e,!!A),e})("deflate64-raw"==A),jt:A=>function(A,e){let t,i;if(!A)return-2;A.msg="";let r=!!A.A.Ct;return i=Rg(A,r),r&&(e=-16),A.A=i,i.O=A,i.ot=i.Ct?16191:16180,t=((A,e)=>{let t,i,r;if(An(A))return-2;if(i=A.A,i.Ct?(e=-16,r=16):r=15,0>e){if(-r>e)return-2;t=0,e=-e}else t=5+(e>>4),!i.Ct&&48>e&&(e&=15);return e&&(8>e||e>r)?-2:(i.M.length>0&&i.D!=e&&(i.M=Ar),i.L=t,i.D=e,(A=>{let e;return An(A)?-2:(e=A.A,e.F=0,e.q=0,e.C=0,(A=>{let e;return An(A)?-2:(e=A.A,A.total_in=A.total_out=e.wt=0,A.msg="",e.L&&(A.v=1&e.L),e.ot=e.Ct?16191:16180,e.ut=!1,e.ct=!1,e.st=-1,e.dt=e.Ct?65536:32768,delete e.K,e.N=0,e.S=0,e.et=e.Mt,e.tt=e.Mt,e.zt=e.Mt,e.it=!0,e.Dt=-1,0)})(A))})(A))})(A,e),t}(A,e),Pt:rn,en:gn})})(A);this.writable=e.writable,this.readable=e.readable.pipeThrough(sn())}}}),(A=>{let e;A({workerURI:()=>(e||(e="data:text/javascript;base64,"+(A=>{A=(A=>{const e=(A=(A+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let i=0;e>i;i+=4){const e=rA.indexOf(A[i])<<18|rA.indexOf(A[i+1])<<12|(63&rA.indexOf(A[i+2]))<<6|63&rA.indexOf(A[i+3]);t.push(e>>16&255),"="!==A[i+2]&&t.push(e>>8&255),"="!==A[i+3]&&t.push(255&e)}return new I(t)})(A);let e=new I(1024),t=0;for(let r=0;r<A.length;){const g=A[r++];if(128&g){const n=3+(127&g),o=A[r++]<<8|A[r++],a=t-o;i(t+n);for(let A=0;n>A;A++)e[t++]=e[a+A]}else{const n=g;i(t+n);for(let i=0;n>i&&r<A.length;i++)e[t++]=A[r++]}}return(A=>{let e="";const t=A.length;let i=0;for(;t>i+2;i+=3){const t=A[i]<<16|A[i+1]<<8|A[i+2];e+=rA[t>>18&63]+rA[t>>12&63]+rA[t>>6&63]+rA[63&t]}const r=t-i;if(1===r){const t=A[i]<<16;e+=rA[t>>18&63]+rA[t>>12&63]+"=="}else if(2===r){const t=A[i]<<16|A[i+1]<<8;e+=rA[t>>18&63]+rA[t>>12&63]+rA[t>>6&63]+"="}return e})(new I(e.buffer.slice(0,t)));function i(A){if(e.length<A){let i=2*e.length;for(;A>i;)i*=2;const r=new I(i);r.set(e.subarray(0,t)),e=r}}})("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")),e)})})(tA),A.BlobReader=We,A.BlobWriter=Te,A.Data64URIReader=class extends Ue{constructor(A){super();let e=A.length;for(;"="==A.charAt(e-1);)e--;const i=A.indexOf(",")+1;t.assign(this,{dataURI:A,dataStart:i,size:n.floor(.75*(e-i))})}readUint8Array(A,e){const{dataStart:t,dataURI:i}=this,r=new I(e),g=4*n.floor(A/3),o=atob(i.substring(g+t,4*n.ceil((A+e)/3)+t)),a=A-3*n.floor(g/4);let s=0;for(let A=a;a+e>A&&A<o.length;A++)r[A-a]=o.charCodeAt(A),s++;return s<r.length?r.subarray(0,s):r}},A.Data64URIWriter=class extends ke{constructor(A){super(),t.assign(this,{data:"data:"+(A||"")+";base64,",pending:[]})}writeUint8Array(A){const e=this;let t=0,r=e.pending;const g=e.pending.length;for(e.pending="",t=0;t<3*n.floor((g+A.length)/3)-g;t++)r+=i.fromCharCode(A[t]);for(;t<A.length;t++)e.pending+=i.fromCharCode(A[t]);r.length&&(r.length>2?e.data+=D(r):e.pending+=r)}getData(){return this.data+D(this.pending)}},A.ERR_BAD_FORMAT=xt,A.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Pt,A.ERR_DUPLICATED_NAME=hi,A.ERR_ENCRYPTED=Zt,A.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Xt,A.ERR_EOCDR_NOT_FOUND=Jt,A.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=vt,A.ERR_HTTP_RANGE=ye,A.ERR_INVALID_COMMENT=wi,A.ERR_INVALID_ENCRYPTION_STRENGTH=Qi,A.ERR_INVALID_ENTRY_COMMENT=fi,A.ERR_INVALID_ENTRY_NAME=di,A.ERR_INVALID_EXTRAFIELD_DATA=Yi,A.ERR_INVALID_EXTRAFIELD_TYPE=Di,A.ERR_INVALID_PASSWORD=CA,A.ERR_INVALID_SIGNATURE=EA,A.ERR_INVALID_UNCOMPRESSED_SIZE=ee,A.ERR_INVALID_VERSION=Fi,A.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Vt,A.ERR_OVERLAPPING_ENTRY=$t,A.ERR_SPLIT_ZIP_FILE=_t,A.ERR_UNDEFINED_UNCOMPRESSED_SIZE=mi,A.ERR_UNSUPPORTED_COMPRESSION=jt,A.ERR_UNSUPPORTED_ENCRYPTION=qt,A.ERR_UNSUPPORTED_FORMAT=pi,A.ERR_ZIP_NOT_EMPTY=yi,A.HttpRangeReader=class extends je{constructor(A,e={}){e.useRangeHeader=!0,super(A,e)}},A.HttpReader=je,A.Reader=Ue,A.SplitDataReader=_e,A.SplitDataWriter=$e,A.TextReader=class extends We{constructor(A){super(new h([A],{type:"text/plain"}))}},A.TextWriter=class extends Te{constructor(A){super(A),t.assign(this,{encoding:A,utf8:!A||"utf-8"==A.toLowerCase()})}async getData(){const{encoding:A,utf8:e}=this,i=await super.getData();if(i.text&&e)return i.text();{const e=new FileReader;return new w((r,g)=>{t.assign(e,{onload:({target:A})=>r(A.result),onerror:()=>g(e.error)}),e.readAsText(i,A)})}}},A.Uint8ArrayReader=class extends Ue{constructor(A){super(),A=new I(A.buffer,A.byteOffset,A.byteLength),t.assign(this,{array:A,size:A.length})}readUint8Array(A,e){return this.array.slice(A,A+e)}},A.Uint8ArrayWriter=class extends ke{init(A=0){t.assign(this,{offset:0,array:new I(A)}),super.init()}writeUint8Array(A){const e=this;if(e.offset+A.length>e.array.length){const t=e.array;e.array=new I(t.length+A.length),e.array.set(t)}e.array.set(A,e.offset),e.offset+=A.length}getData(){return this.array}},A.Writer=ke,A.ZipReader=ri,A.ZipReaderStream=class{constructor(A={}){const{readable:e,writable:t}=new Y,i=new ri(e,A).getEntriesGenerator();this.readable=new p({async pull(A){const{done:e,value:t}=await i.next();if(e)return A.close();const r={...t,readable:(()=>{const{readable:A,writable:e}=new Y;if(t.getData)return t.getData(e),A})()};delete r.getData,A.enqueue(r)}}),this.writable=t}},A.ZipWriter=Gi,A.ZipWriterStream=class{constructor(A={}){const{readable:e,writable:t}=new Y;this.readable=e,this.zipWriter=new Gi(t,A)}transform(A){const{readable:e,writable:t}=new Y({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(A,e),{readable:this.readable,writable:t}}writable(A){const{readable:e,writable:t}=new Y;return this.zipWriter.add(A,e),t}close(A,e={}){return this.zipWriter.close(A,e)}},A.configure=tA,A.getMimeType=()=>"application/octet-stream",A.terminateWorkers=async()=>{await w.allSettled(Fe.map(A=>(pe(A),A.terminate())))}});