@zip.js/zip.js 2.8.26 → 2.8.29

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.
Files changed (53) hide show
  1. package/BENCHMARKS.md +168 -0
  2. package/README.md +2 -2
  3. package/deno.json +1 -1
  4. package/dist/zip-core.js +1113 -574
  5. package/dist/zip-core.min.js +1 -1
  6. package/dist/zip-fs-core.js +1209 -622
  7. package/dist/zip-fs-core.min.js +1 -1
  8. package/dist/zip-fs-native.js +1270 -632
  9. package/dist/zip-fs-native.min.js +1 -1
  10. package/dist/zip-fs.js +1347 -686
  11. package/dist/zip-fs.min.js +1 -1
  12. package/dist/zip-legacy.js +1114 -575
  13. package/dist/zip-legacy.min.js +1 -1
  14. package/dist/zip-module.wasm +0 -0
  15. package/dist/zip-native.js +1116 -577
  16. package/dist/zip-native.min.js +1 -1
  17. package/dist/zip-web-worker-native.js +1 -1
  18. package/dist/zip-web-worker.js +1 -1
  19. package/dist/zip.js +1193 -631
  20. package/dist/zip.min.js +1 -1
  21. package/eslint.config.mjs +6 -1
  22. package/index-native.cjs +1270 -632
  23. package/index-native.min.js +1 -1
  24. package/index.cjs +1347 -686
  25. package/index.d.ts +2451 -2355
  26. package/index.min.js +1 -1
  27. package/lib/core/codec-pool.js +39 -1
  28. package/lib/core/codec-worker.js +130 -35
  29. package/lib/core/configuration.js +3 -0
  30. package/lib/core/constants.js +6 -0
  31. package/lib/core/io.js +55 -25
  32. package/lib/core/options.js +2 -0
  33. package/lib/core/streams/aes-crypto-stream.js +12 -12
  34. package/lib/core/streams/codec-stream.js +11 -5
  35. package/lib/core/streams/codecs/sjcl.js +1 -33
  36. package/lib/core/streams/common-crypto.js +4 -4
  37. package/lib/core/streams/zip-crypto-stream.js +25 -15
  38. package/lib/core/streams/zip-entry-stream.js +89 -5
  39. package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
  40. package/lib/core/streams/zlib-wasm/zlib-streams.js +79 -56
  41. package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
  42. package/lib/core/util/decode-cp437.js +1 -1
  43. package/lib/core/util/decode-text.js +2 -1
  44. package/lib/core/web-worker-base.js +12 -4
  45. package/lib/core/web-worker-inline-native.js +1 -1
  46. package/lib/core/web-worker-inline-wasm.js +1 -1
  47. package/lib/core/zip-fs.js +154 -55
  48. package/lib/core/zip-reader.js +185 -67
  49. package/lib/core/zip-writer.js +613 -376
  50. package/lib/core/zlib-streams-inline.js +1 -1
  51. package/lib/zip-core-reader.js +3 -1
  52. package/lib/zip-core-writer.js +1 -0
  53. package/package.json +20 -6
@@ -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:n,Math:g,Date:o,Map:a,Set:s,Response:B,URL:l,Error:c,Uint8Array:u,Uint16Array:I,Uint32Array:h,DataView:d,Blob:w,Promise:f,TextEncoder:E,TextDecoder:C,document:F,crypto:Q,btoa:p,TransformStream:D,ReadableStream:m,WritableStream:Y,CompressionStream:S,DecompressionStream:y,navigator:b,Worker:M}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==F?F.currentScript:null;const W=4294967295,G=65535,U=255,T=67324752,x=134695760,K=x,k=33639248,R=101010256,z=101075792,N=117853008,H=22,L=21589,J=2048,v=16384,Z=2048,P=1024,V=512,j="/",q=30,X=new o(2107,11,31),_=new o(1980,0,1),$=void 0,AA=1/0,eA="undefined",tA="function";let iA=2;try{typeof b!=eA&&b.hardwareConcurrency&&(iA=b.hardwareConcurrency)}catch{}const rA={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:iA,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof S!=eA&&S,DecompressionStream:typeof y!=eA&&y},nA=t.assign({},rA);function gA(){return nA}function oA(A){return g.max(A.chunkSize,64)}function aA(A){const{baseURI:e,chunkSize:t,maxWorkers:i,terminateWorkerTimeout:r,useCompressionStream:n,useWebWorkers:g,CompressionStream:o,DecompressionStream:a,CompressionStreamZlib:s,DecompressionStreamZlib:B,workerURI:l,wasmURI:c}=A;sA("baseURI",e),sA("wasmURI",c),sA("workerURI",l),sA("chunkSize",t),sA("maxWorkers",i),sA("terminateWorkerTimeout",r),sA("useCompressionStream",n),sA("useWebWorkers",g),sA("CompressionStream",o),sA("DecompressionStream",a),sA("CompressionStreamZlib",s),sA("DecompressionStreamZlib",B)}function sA(A,e){e!==$&&(nA[A]=e)}const BA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lA=[];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;lA[A]=e}class cA{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^lA[255&(e^A[t])];this.crc=e}get(){return~this.crc}}class uA extends D{constructor(){let A;const e=new cA;super({transform(A,t){e.append(A),t.enqueue(A)},flush(){const t=new u(4);new d(t.buffer).setUint32(0,e.get()),A.value=t}}),A=this}}function IA(A){if(typeof E==eA){const e=new u((A=unescape(encodeURIComponent(A))).length);for(let t=0;t<e.length;t++)e[t]=A.charCodeAt(t);return e}return(new E).encode(A)}const hA={concat(A,e){if(0===A.length||0===e.length)return A.concat(e);const t=A[A.length-1],i=hA.getPartial(t);return 32===i?A.concat(e):hA._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)+hA.getPartial(t)},clamp(A,e){if(32*A.length<e)return A;const t=(A=A.slice(0,g.ceil(e/32))).length;return e&=31,t>0&&e&&(A[t-1]=hA.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=>g.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,n=hA.getPartial(r);return i.push(hA.partial(e+n&31,e+n>32?t:i.pop(),1)),i}},dA={bytes:{fromBits(A){const e=hA.bitLength(A)/8,t=new u(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(hA.partial(8*(3&t),i)),e}}},wA=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=dA.utf8String.toBits(A));const t=e._buffer=hA.concat(e._buffer,A),i=e._length,r=e._length=i+hA.bitLength(A);if(r>9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const n=new h(t);let g=0;for(let A=e.blockSize+i-(e.blockSize+i&e.blockSize-1);r>=A;A+=e.blockSize)e._block(n.subarray(16*g,16*(g+1))),g+=1;return t.splice(0,16*g),e}finalize(){const A=this;let e=A._buffer;const t=A._h;e=hA.concat(e,[hA.partial(1,1)]);for(let A=e.length+2;15&A;A++)e.push(0);for(e.push(g.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 n=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,n)+t._f(A,o,a,s)+B+r[A]+t._key[g.floor(A/20)]|0;B=s,s=a,a=t._S(30,o),o=n,n=e}i[0]=i[0]+n|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}},fA={getRandomValues(A){const e=new h(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)*(g.random()>.5?1:-1))};for(let i,r=0;r<A.length;r+=4){const A=t(4294967296*(i||g.random()));i=987654071*A(),e[r/4]=4294967296*A()|0}return A}},EA={importKey:A=>new EA.hmacSha1(dA.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 n,g,o,a,s;const B=new ArrayBuffer(r),l=new d(B);let u=0;const I=hA;for(e=dA.bytes.toBits(e),s=1;(r||1)>u;s++){for(n=g=A.encrypt(I.concat(e,[s])),o=1;t>o;o++)for(g=A.encrypt(g),a=0;a<g.length;a++)n[a]^=g[a];for(o=0;(r||1)>u&&o<n.length;o++)l.setInt32(u,n[o]),u+=4}return B.slice(0,i/8)},hmacSha1:class{constructor(A){const e=this,t=e._hash=wA,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)}}},CA=typeof Q!=eA&&typeof Q.getRandomValues==tA,FA="Invalid password",QA="Invalid signature",pA="zipjs-abort-check-password";function DA(A){return CA?Q.getRandomValues(A):fA.getRandomValues(A)}const mA=16,YA={name:"PBKDF2"},SA=t.assign({hash:{name:"HMAC"}},YA),yA=t.assign({iterations:1e3,hash:{name:"SHA-1"}},YA),bA=["deriveBits"],MA=[8,12,16],OA=[16,24,32],WA=10,GA=[0,0,0,0],UA=typeof Q!=eA,TA=UA&&Q.subtle,xA=UA&&typeof TA!=eA,KA=dA.bytes,kA=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 n,g,o,a=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(e._key=[g=A.slice(0),o=[]],n=r;4*r+28>n;n++){let A=g[n-1];(n%r===0||8===r&&n%r===4)&&(A=t[A>>>24]<<24^t[A>>16&255]<<16^t[A>>8&255]<<8^t[255&A],n%r===0&&(A=A<<8^A>>>24^a<<24,a=a<<1^283*(a>>7))),g[n]=g[n-r]^A}for(let A=0;n;A++,n--){const e=g[3&A?n:n-4];o[A]=4>=n||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=[],n=[];let g,o,a,s;for(let A=0;256>A;A++)n[(r[A]=A<<1^283*(A>>7))^A]=A;for(let B=g=0;!t[B];B^=o||1,g=n[g]||1){let n=g^g<<1^g<<2^g<<3^g<<4;n=n>>8^255&n^99,t[B]=n,i[n]=B,s=r[a=r[o=r[B]]];let l=16843009*s^65537*a^257*o^16843008*B,c=257*r[n]^16843008*n;for(let t=0;4>t;t++)A[t][B]=c=c<<24^c>>>8,e[t][n]=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],n=this._tables[e],g=n[0],o=n[1],a=n[2],s=n[3],B=n[4];let l,u,I,h=A[0]^t[0],d=A[e?3:1]^t[1],w=A[2]^t[2],f=A[e?1:3]^t[3],E=4;for(let A=0;i>A;A++)l=g[h>>>24]^o[d>>16&255]^a[w>>8&255]^s[255&f]^t[E],u=g[d>>>24]^o[w>>16&255]^a[f>>8&255]^s[255&h]^t[E+1],I=g[w>>>24]^o[f>>16&255]^a[h>>8&255]^s[255&d]^t[E+2],f=g[f>>>24]^o[h>>16&255]^a[d>>8&255]^s[255&w]^t[E+3],E+=4,h=l,d=u,w=I;for(let A=0;4>A;A++)r[e?3&-A:A]=B[h>>>24]<<24^B[d>>16&255]<<16^B[w>>8&255]<<8^B[255&f]^t[E++],l=h,h=d,d=w,w=f,f=l;return r}},RA=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=hA.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 hA.clamp(e,r)}},zA=EA.hmacSha1;let NA=UA&&xA&&typeof TA.importKey==tA,HA=UA&&xA&&typeof TA.deriveBits==tA;class LA extends D{constructor({password:A,rawPassword:e,signed:i,encryptionStrength:r,checkPasswordOnly:n}){super({start(){t.assign(this,{ready:new f(A=>this.resolveReady=A),password:PA(A,e),signed:i,strength:r-1,pending:new u})},async transform(A,e){const t=this,{password:i,strength:r,resolveReady:g,ready:o}=t;i?(await(async(A,e,t,i)=>{const r=await ZA(A,e,t,jA(i,0,MA[e])),n=jA(i,MA[e]);if(r[0]!=n[0]||r[1]!=n[1])throw new c(FA)})(t,r,i,jA(A,0,MA[r]+2)),A=jA(A,MA[r]+2),n?e.error(new c(pA)):g()):await o;const a=new u(A.length-WA-(A.length-WA)%mA);e.enqueue(vA(t,A,a,0,WA,!0))},async flush(A){const{signed:e,ctr:t,hmac:i,pending:r,ready:n}=this;if(i&&t){await n;const g=jA(r,0,r.length-WA),o=jA(r,r.length-WA);let a=new u;if(g.length){const A=XA(KA,g);i.update(A);const e=t.update(A);a=qA(KA,e)}if(e){const A=jA(qA(KA,i.digest()),0,WA);for(let e=0;WA>e;e++)if(A[e]!=o[e])throw new c(QA)}A.enqueue(a)}}})}}class JA extends D{constructor({password:A,rawPassword:e,encryptionStrength:i}){let r;super({start(){t.assign(this,{ready:new f(A=>this.resolveReady=A),password:PA(A,e),strength:i-1,pending:new u})},async transform(A,e){const t=this,{password:i,strength:r,resolveReady:n,ready:g}=t;let o=new u;i?(o=await(async(A,e,t)=>{const i=DA(new u(MA[e]));return VA(i,await ZA(A,e,t,i))})(t,r,i),n()):await g;const a=new u(o.length+A.length-A.length%mA);a.set(o,0),e.enqueue(vA(t,A,a,o.length,0))},async flush(A){const{ctr:e,hmac:t,pending:i,ready:n}=this;if(t&&e){await n;let g=new u;if(i.length){const A=e.update(XA(KA,i));t.update(A),g=qA(KA,A)}r.signature=qA(KA,t.digest()).slice(0,WA),A.enqueue(VA(g,r.signature))}}}),r=this}}function vA(A,e,t,i,r,n){const{ctr:g,hmac:o,pending:a}=A,s=e.length-r;let B;for(a.length&&(e=VA(a,e),t=((A,e)=>{if(e&&e>A.length){const t=A;(A=new u(e)).set(t,0)}return A})(t,s-s%mA)),B=0;s-mA>=B;B+=mA){const A=XA(KA,jA(e,B,B+mA));n&&o.update(A);const r=g.update(A);n||o.update(r),t.set(qA(KA,r),B+i)}return A.pending=jA(e,B),t}async function ZA(A,i,r,n){A.password=null;const g=await(async(A,e,t,i,r)=>{if(!NA)return EA.importKey(e);try{return await TA.importKey("raw",e,t,!1,r)}catch{return NA=!1,EA.importKey(e)}})(0,r,SA,0,bA),o=await(async(A,e,t)=>{if(!HA)return EA.pbkdf2(e,A.salt,yA.iterations,t);try{return await TA.deriveBits(A,e,t)}catch{return HA=!1,EA.pbkdf2(e,A.salt,yA.iterations,t)}})(t.assign({salt:n},yA),g,8*(2*OA[i]+2)),a=new u(o),s=XA(KA,jA(a,0,OA[i])),B=XA(KA,jA(a,OA[i],2*OA[i])),l=jA(a,2*OA[i]);return t.assign(A,{keys:{key:s,authentication:B,passwordVerification:l},ctr:new RA(new kA(s),e.from(GA)),hmac:new zA(B)}),l}function PA(A,e){return e===$?IA(A):e}function VA(A,e){let t=A;return A.length+e.length&&(t=new u(A.length+e.length),t.set(A,0),t.set(e,A.length)),t}function jA(A,e,t){return A.subarray(e,t)}function qA(A,e){return A.fromBits(e)}function XA(A,e){return A.toBits(e)}class _A extends D{constructor({password:A,passwordVerification:e,checkPasswordOnly:i}){super({start(){t.assign(this,{password:A,passwordVerification:e}),te(this,A)},transform(A,e){const t=this;if(t.password){const e=Ae(t,A.subarray(0,12));if(t.password=null,e.at(-1)!=t.passwordVerification)throw new c(FA);A=A.subarray(12)}i?e.error(new c(pA)):e.enqueue(Ae(t,A))}})}}class $A extends D{constructor({password:A,passwordVerification:e}){super({start(){t.assign(this,{password:A,passwordVerification:e}),te(this,A)},transform(A,e){const t=this;let i,r;if(t.password){t.password=null;const e=DA(new u(12));e[11]=t.passwordVerification,i=new u(A.length+e.length),i.set(ee(t,e),0),r=12}else i=new u(A.length),r=0;i.set(ee(t,A),r),e.enqueue(i)}})}}function Ae(A,e){const t=new u(e.length);for(let i=0;i<e.length;i++)t[i]=re(A)^e[i],ie(A,t[i]);return t}function ee(A,e){const t=new u(e.length);for(let i=0;i<e.length;i++)t[i]=re(A)^e[i],ie(A,e[i]);return t}function te(A,e){const i=[305419896,591751049,878082192];t.assign(A,{keys:i,crcKey0:new cA(i[0]),crcKey2:new cA(i[2])});for(let t=0;t<e.length;t++)ie(A,e.charCodeAt(t))}function ie(A,e){let[t,i,r]=A.keys;A.crcKey0.append([e]),t=~A.crcKey0.get(),i=ge(g.imul(ge(i+ne(t)),134775813)+1),A.crcKey2.append([i>>>24]),r=~A.crcKey2.get(),A.keys=[t,i,r]}function re(A){const e=2|A.keys[2];return ne(g.imul(e,1^e)>>>8)}function ne(A){return 255&A}function ge(A){return 4294967295&A}const oe="Invalid uncompressed size";class ae extends D{constructor(A,{chunkSize:e,CompressionStreamZlib:t,CompressionStream:i}){super({});const{compressed:r,encrypted:n,useCompressionStream:g,zipCrypto:o,signed:a,level:s}=A,B=this;let l,c,u=super.readable;n&&!o||!a||(l=new uA,u=ce(u,l)),r&&(u=le(u,g,{level:s,chunkSize:e},i,t,i)),n&&(o?u=ce(u,new $A(A)):(c=new JA(A),u=ce(u,c))),Be(B,u,()=>{let A;n&&!o&&(A=c.signature),n&&!o||!a||(A=new d(l.value.buffer).getUint32(0)),B.signature=A})}}class se extends D{constructor(A,{chunkSize:e,DecompressionStreamZlib:t,DecompressionStream:i}){super({});const{zipCrypto:r,encrypted:n,signed:g,signature:o,compressed:a,useCompressionStream:s,deflate64:B}=A;let l,u,I=super.readable;n&&(r?I=ce(I,new _A(A)):(u=new LA(A),I=ce(I,u))),a&&(I=le(I,s,{chunkSize:e,deflate64:B},i,t,i)),n&&!r||!g||(l=new uA,I=ce(I,l)),Be(this,I,()=>{if((!n||r)&&g){const A=new d(l.value.buffer);if(o!=A.getUint32(0,!1))throw new c(QA)}})}}function Be(A,e,i){e=ce(e,new D({flush:i})),t.defineProperty(A,"readable",{get:()=>e})}function le(A,e,t,i,r,n){const g=e&&i?i:r||n,o=t.deflate64?"deflate64-raw":"deflate-raw";try{A=ce(A,new g(o,t))}catch(i){if(!e)throw i;if(r)A=ce(A,new r(o,t));else{if(!n)throw i;A=ce(A,new n(o,t))}}return A}function ce(A,e){return A.pipeThrough(e)}const ue="data",Ie="close",he="deflate",de="inflate";class we extends D{constructor(A,e){super({});const i=this,{codecType:r}=A;let n;r.startsWith(he)?n=ae:r.startsWith(de)&&(n=se),i.outputSize=0;let g=0;const o=new n(A,e),a=super.readable,s=new D({transform(A,e){A&&A.length&&(g+=A.length,e.enqueue(A))},flush(){t.assign(i,{inputSize:g})}}),B=new D({transform(e,t){if(e&&e.length&&(t.enqueue(e),i.outputSize+=e.length,A.outputSize!==$&&i.outputSize>A.outputSize))throw new c(oe)},flush(){const{signature:A}=o;t.assign(i,{signature:A,inputSize:g})}});t.defineProperty(i,"readable",{get:()=>a.pipeThrough(s).pipeThrough(o).pipeThrough(B)})}}class fe extends D{constructor(A){let e;super({transform:function t(i,r){if(e){const A=new u(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)}})}}const Ee={type:"module"};let Ce,Fe,Qe,pe=!0;try{pe=typeof structuredClone==tA&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class De{constructor(A,{readable:e,writable:i},{options:r,config:n,streamOptions:g,useWebWorkers:o,transferStreams:a,workerURI:s},B){const{signal:l}=g;return t.assign(A,{busy:!0,readable:e.pipeThrough(new fe(n.chunkSize)).pipeThrough(new me(g),{signal:l}),writable:i,options:t.assign({},r),workerURI:s,transferStreams:a,terminate:()=>new f(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)}}),Ce===$&&(Ce=typeof M!=eA),(o&&Ce?ye:Se)(A,n)}}class me extends D{constructor({onstart:A,onprogress:e,size:t,onend:i}){let r=0;super({async start(){A&&await Ye(A,t)},async transform(A,i){r+=A.length,e&&await Ye(e,r,t),i.enqueue(A)},async flush(){i&&await Ye(i,r)}})}}async function Ye(A,...e){try{await A(...e)}catch{}}function Se(A,e){return{run:()=>(async({options:A,readable:e,writable:t,onTaskFinished:i},r)=>{let n;try{if(!A.useCompressionStream)try{await void 0}catch{A.useCompressionStream=!0}n=new we(A,r),await e.pipeThrough(n).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:g,outputSize:o}=n;return{signature:i,inputSize:g,outputSize:o}}catch(A){throw n&&(A.outputSize=n.outputSize),A}finally{i()}})(A,e)}}function ye(A,e){const{baseURI:i,chunkSize:r}=e;let{wasmURI:n}=e;if(!A.interface){let g;typeof n==tA&&(n=n());try{g=be(A.workerURI,i,A)}catch{return Ce=!1,Se(A,e)}t.assign(A,{worker:g,interface:{run:()=>(async(A,e)=>{let i,r;const n=new f((A,e)=>{i=A,r=e});t.assign(A,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:n});const{readable:g,options:o}=A,{writable:a,closed:s}=(A=>{const{writable:e,readable:t}=new D;return{writable:e,closed:t.pipeTo(A,{preventClose:!0})}})(A.writable),B=Me({type:"start",options:o,config:e,readable:g,writable:a},A);B||t.assign(A,{reader:g.getReader(),writer:a.getWriter()});const l=await n;return B||await a.getWriter().close(),await s,l})(A,{chunkSize:r,wasmURI:n,baseURI:i})}})}return A.interface}function be(A,e,i,r,n=!0){let g,o,a;if(Fe===$){const t=typeof A==tA;o=t?A(n):A;const s=o.startsWith("data:"),B=o.startsWith("blob:");if(s||B){r===$&&(r=!1),r&&(a=Ee);try{g=new M(o,a)}catch(n){if(B)try{l.revokeObjectURL(o)}catch{}if(t&&B)return be(A,e,i,r,!1);if(r)throw n;return be(A,e,i,!0,!1)}}else{r===$&&(r=!0),r&&(a=Ee);try{o=new l(o,e)}catch{}try{g=new M(o,a)}catch(t){if(r)throw t;return be(A,e,i,!1,n)}}Fe=o,Qe=a}else g=new M(Fe,Qe);return g.addEventListener("message",A=>(async({data:A},e)=>{const{type:i,value:r,messageId:n,result:g,error:o}=A,{reader:a,writer:s,resolveResult:B,rejectResult:l,onTaskFinished:I}=e;try{if(o){const{message:A,stack:e,code:i,name:r,outputSize:n}=o,g=new c(A);t.assign(g,{stack:e,code:i,name:r,outputSize:n}),h(g)}else{if("pull"==i){const{value:A,done:t}=await a.read();Me({type:ue,value:A,done:t,messageId:n},e)}i==ue&&(await s.ready,await s.write(new u(r)),Me({type:"ack",messageId:n},e)),i==Ie&&h(null,g)}}catch(o){Me({type:Ie,messageId:n},e),h(o)}function h(A,e){A?l(A):B(e),s&&s.releaseLock(),I()}})(A,i)),g}function Me(A,{worker:e,writer:t,onTaskFinished:i,transferStreams:r}){try{const{value:t,readable:i,writable:n}=A,g=[];if(t&&(A.value=t,g.push(A.value.buffer)),r&&pe?(i&&g.push(i),n&&g.push(n)):A.readable=A.writable=null,g.length)try{return e.postMessage(A,g),!0}catch{pe=!1,A.readable=A.writable=null,e.postMessage(A)}else e.postMessage(A)}catch(A){throw t&&t.releaseLock(),i(),A}}let Oe=[];const We=[];let Ge=0;async function Ue(A,e){const{options:t,config:i}=e,{transferStreams:n,useWebWorkers:g,useCompressionStream:o,compressed:a,signed:s,encrypted:B}=t,{workerURI:l,maxWorkers:c}=i;e.transferStreams=n||n===$;const u=!(a||s||B||e.transferStreams);return e.useWebWorkers=!u&&(g||g===$&&i.useWebWorkers),e.workerURI=e.useWebWorkers&&l?l:$,t.useCompressionStream=o||o===$&&i.useCompressionStream,(await(async()=>{const t=Oe.find(A=>!A.busy);if(t)return Te(t),new De(t,A,e,I);if(Oe.length<c){const t={indexWorker:Ge};return Ge++,Oe.push(t),new De(t,A,e,I)}return new f(t=>We.push({resolve:t,stream:A,workerOptions:e}))})()).run();function I(A){if(We.length){const[{resolve:e,stream:t,workerOptions:i}]=We.splice(0,1);e(new De(A,t,i,I))}else A.worker?(Te(A),((A,e)=>{const{config:t}=e,{terminateWorkerTimeout:i}=t;r.isFinite(i)&&i>=0&&(A.terminated?A.terminated=!1:A.terminateTimeout=setTimeout(async()=>{Oe=Oe.filter(e=>e!=A);try{await A.terminate()}catch{}},i))})(A,e)):Oe=Oe.filter(e=>e!=A)}}function Te(A){const{terminateTimeout:e}=A;e&&(clearTimeout(e),A.terminateTimeout=null)}const xe="HTTP error ",Ke="HTTP Range not supported",ke="Range",Re="GET",ze="bytes",Ne=65536,He="writable";class Le{constructor(){this.size=0}init(){this.initialized=!0}}class Je extends Le{get readable(){const A=this,{chunkSize:e=Ne}=A,t=new m({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:n,diskNumberStart:o}=t,{chunkOffset:a}=this,s=n===$?e:g.min(e,n-a),B=await ut(A,r+a,s,o);i.enqueue(B),a+e>n||n===$&&!B.length&&s?i.close():this.chunkOffset+=e}});return t}}class ve extends Le{constructor(){super();const A=this,e=new Y({write(e){if(!A.initialized)throw new c("Writer not initialized");return A.writeUint8Array(e)}});t.defineProperty(A,He,{get:()=>e})}writeUint8Array(){}}class Ze extends Je{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 n=await r.arrayBuffer();return n.byteLength>e&&(n=n.slice(A,i)),new u(n)}}class Pe extends Le{constructor(A){super();const e=new D,i=[];A&&i.push(["Content-Type",A]),t.defineProperty(this,He,{get:()=>e.writable}),this.blob=new B(e.readable,{headers:i}).blob()}getData(){return this.blob}}class Ve extends Je{constructor(A,e){super(),qe(this,A,e)}async init(){await Xe(this,nt,et),super.init()}readUint8Array(A,e){return _e(this,A,e,nt,et)}}class je extends Je{constructor(A,e){super(),qe(this,A,e)}async init(){await Xe(this,gt,tt),super.init()}readUint8Array(A,e){return _e(this,A,e,gt,tt)}}function qe(A,e,i){const{preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:g,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:n,forceRangeRequests:g,combineSizeEocd:o})}async function Xe(A,e,t){const{url:i,preventHeadRequest:n,useRangeHeader:g,forceRangeRequests:o,combineSizeEocd:a}=A;if((A=>{const{baseURI:e}=gA(),{protocol:t}=new l(A,e);return"http:"==t||"https:"==t})(i)&&(g||o)&&(void 0===n||n)){const i=await e(Re,A,$e(A,a?-22:void 0)),n=i.headers.get("Accept-Ranges");if(!(o||n&&n.toLowerCase()==ze))throw new c(Ke);{let n;a&&(A.eocdCache=new u(await i.arrayBuffer()));const g=i.headers.get("Content-Range");if(g){const A=g.trim().split(/\s*\/\s*/);if(A.length){const e=A[1];e&&"*"!=e&&(n=r(e))}}n===$?await rt(A,e,t):A.size=n}}else await rt(A,e,t)}async function _e(A,e,t,i,r){const{useRangeHeader:n,forceRangeRequests:g,eocdCache:o,size:a,options:s}=A;if(n||g){if(o&&e==a-H&&t==H)return o;if(a>e&&0!==t){e+t>a&&(t=a-e);const r=await i(Re,A,$e(A,e,t));if(206!=r.status)throw new c(Ke);return new u(await r.arrayBuffer())}return new u}{const{data:i}=A;return i||await r(A,s),new u(A.data.subarray(e,e+t))}}function $e(A,e=0,i=1){return t.assign({},At(A),{[ke]:ze+"="+(0>e?e:e+"-"+(e+i-1))})}function At({options:A}){const{headers:e}=A;if(e)return Symbol.iterator in e?t.fromEntries(e):e}async function et(A){await it(A,nt)}async function tt(A){await it(A,gt)}async function it(A,e){const t=await e(Re,A,At(A));A.data=new u(await t.arrayBuffer()),A.size||(A.size=A.data.length)}async function rt(A,e,t){if(A.preventHeadRequest)await t(A,A.options);else{const i=(await e("HEAD",A,At(A))).headers.get("Content-Length");i?A.size=r(i):await t(A,A.options)}}async function nt(A,{options:e,url:i},r){const n=await fetch(i,t.assign({},e,{method:A,headers:r}));if(400>n.status)return n;throw 416==n.status?new c(Ke):new c(xe+(n.statusText||n.status))}function gt(A,{url:e},i){return new f((r,n)=>{const g=new XMLHttpRequest;if(g.addEventListener("load",()=>{if(400>g.status){const A=[];g.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:g.status,arrayBuffer:()=>g.response,headers:new a(A)})}else n(416==g.status?new c(Ke):new c(xe+(g.statusText||g.status)))},!1),g.addEventListener("error",A=>n(A.detail?A.detail.error:new c("Network error")),!1),g.open(A,e),i)for(const A of t.entries(i))g.setRequestHeader(A[0],A[1]);g.responseType="arraybuffer",g.send()})}class ot extends Je{constructor(A,e={}){super(),t.assign(this,{url:A,reader:e.useXHR?new je(A,e):new Ve(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 at extends Je{constructor(A){super(),this.readers=A}async init(){const A=this,{readers:e}=A;A.lastDiskNumber=0,A.lastDiskOffset=0,await f.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 n,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 g=r-a;n=new u(e);const o=await ut(s,a,g);n.set(o,0);const B=await i.readUint8Array(A+g,e-g,t);n.set(B,g),o.length+B.length<e&&(n=n.subarray(0,o.length+B.length))}else n=await ut(s,a,e)}else n=new u;return i.lastDiskNumber=g.max(o,i.lastDiskNumber),n}}class st extends Le{constructor(A,e=4294967295){super();const i=this;let r,n,g;t.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new Y({async write(e){const{availableSize:t}=i;if(g)e.length<t?await a(e):(await a(e.subarray(0,t)),await s(),i.diskOffset+=r.size,i.diskNumber++,g=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 ct(r),n=t.writable,g=n.getWriter(),await this.write(e)}},async close(){await g.ready,await s()}});async function a(A){const e=A.length;e&&(await g.ready,await g.write(A),r.size+=e,i.size+=e,i.availableSize-=e)}async function s(){await g.close()}t.defineProperty(i,He,{get:()=>o})}}class Bt{constructor(A){return e.isArray(A)&&(A=new at(A)),A instanceof m&&(A={readable:A}),A}}class lt{constructor(A){return A.writable===$&&typeof A.next==tA&&(A=new st(A)),A instanceof Y&&(A={writable:A}),A.size===$&&(A.size=0),A instanceof st||t.assign(A,{diskNumber:0,diskOffset:0,availableSize:AA,maxSize:AA}),A}}async function ct(A,e){if(!A.init||A.initialized)return f.resolve();await A.init(e)}function ut(A,e,t,i){return A.readUint8Array(e,t,i)}const It="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function ht(A,e){return e&&"cp437"==e.trim().toLowerCase()?(A=>{{let e="";for(let t=0;t<A.length;t++)e+=It[A[t]];return e}})(A):new C(e).decode(A)}const dt="filename",wt="rawFilename",ft="comment",Et="rawComment",Ct="uncompressedSize",Ft="compressedSize",Qt="offset",pt="diskNumberStart",Dt="lastModDate",mt="rawLastModDate",Yt="lastAccessDate",St="creationDate",yt="rawCreationDate",bt="internalFileAttributes",Mt="externalFileAttributes",Ot="msdosAttributesRaw",Wt="msdosAttributes",Gt="msDosCompatible",Ut="zip64",Tt="encrypted",xt="version",Kt="versionMadeBy",kt="zipCrypto",Rt="directory",zt="executable",Nt="compressionMethod",Ht="signature",Lt="extraField",Jt="unixMode",vt="setuid",Zt="setgid",Pt="sticky",Vt=[dt,wt,Ct,Ft,Dt,mt,ft,Et,Yt,St,yt,Qt,pt,bt,Mt,Ot,Wt,Gt,Ut,Tt,xt,Kt,kt,Rt,zt,Nt,Ht,Lt,"extraFieldUnix","extraFieldInfoZip","uid","gid",Jt,vt,Zt,Pt,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class jt{constructor(A){Vt.forEach(e=>this[e]=A[e])}}const qt="password",Xt="rawPassword",_t="passThrough",$t="signal",Ai="useWebWorkers",ei="useCompressionStream",ti="transferStreams",ii="preventClose",ri="offset",ni="usdz",gi="File format is not recognized",oi="End of central directory not found",ai="End of Zip64 central directory locator not found",si="Central directory header not found",Bi="Local file header not found",li="Zip64 extra field not found",ci="File contains encrypted entry",ui="Encryption method not supported",Ii="Compression method not supported",hi="Split zip file",di="Overlapping entry found",wi="utf-8",fi="cp437",Ei=[[Ct,W],[Ft,W],[Qt,W],[pt,G]],Ci={[G]:{getValue:Gi,bytes:4},[W]:{getValue:Ui,bytes:8}};class Fi{constructor(A,e={}){t.assign(this,{reader:new Bt(A),options:e,config:gA(),readRanges:[]})}async*getEntriesGenerator(A={}){const e=this;let{reader:i}=e;const{config:r}=e;if(await ct(i),i.size!==$&&i.readUint8Array||(i=new Ze(await new B(i.readable).blob()),await ct(i)),i.size<H)throw new c(gi);i.chunkSize=oA(r);const n=await(async(A,e,t)=>{const i=new u(4);var r;return r=e,Ti(i).setUint32(0,r,!0),await n(22)||await n(g.min(1048582,t));async function n(e){const r=t-e,n=await ut(A,r,e);for(let A=n.length-22;A>=0;A--)if(n[A]==i[0]&&n[A+1]==i[1]&&n[A+2]==i[2]&&n[A+3]==i[3])return{offset:r+A,buffer:n.slice(A,A+22).buffer}}})(i,R,i.size);if(!n)throw Gi(Ti(await ut(i,0,4)))==x?new c(hi):new c(oi);const o=Ti(n);let a=Gi(o,12),s=Gi(o,16);const l=n.offset,I=Wi(o,20),h=l+H+I;let d=Wi(o,4);const w=i.lastDiskNumber||0;let E=Wi(o,6),C=Wi(o,8),F=0,Q=0;if(s==W||a==W||C==G||E==G){const A=Ti(await ut(i,n.offset-20,20));if(Gi(A,0)==N){s=Ui(A,8);let e=await ut(i,s,56,-1),t=Ti(e);const r=n.offset-20-56;if(Gi(t,0)!=z&&s!=r){const A=s;s=r,s>A&&(F=s-A),e=await ut(i,s,56,-1),t=Ti(e)}if(Gi(t,0)!=z)throw new c(ai);d==G&&(d=Gi(t,16)),E==G&&(E=Gi(t,20)),C==G&&(C=Ui(t,32)),a==W&&(a=Ui(t,40)),s-=a}}if(s<i.size||(F=i.size-s-a-H,s=i.size-a-H),w!=d)throw new c(hi);if(0>s)throw new c(gi);let p=0,m=await ut(i,s,a,E),Y=Ti(m);if(a){const A=n.offset-a;if(Gi(Y,p)!=k&&s!=A){const e=s;s=A,s>e&&(F+=s-e),m=await ut(i,s,a,E),Y=Ti(m)}}const S=n.offset-s-(i.lastDiskOffset||0);if(a==S||0>S||(a=S,m=await ut(i,s,a,E),Y=Ti(m)),0>s||s>=i.size)throw new c(gi);const y=yi(e,A,"filenameEncoding"),b=yi(e,A,"commentEncoding");for(let n=0;C>n;n++){const o=new Qi(i,r,e.options);if(Gi(Y,p)!=k)throw new c(si);pi(o,Y,p+6);const a=!!o.bitFlag.languageEncodingFlag,s=p+46,l=s+o.filenameLength,u=l+o.extraFieldLength,I=Wi(Y,p+4),h=!(I>>8),d=I>>8==3,w=m.subarray(s,l),E=Wi(Y,p+32),S=u+E,M=m.subarray(u,S),O=a,W=a,T=Gi(Y,p+38),x=T&U,K={readOnly:!!(1&x),hidden:!!(2&x),system:!!(4&x),directory:!!(16&x),archive:!!(32&x)},R=Gi(Y,p+42)+F,z=yi(e,A,"decodeText")||ht,N=O?wi:y||fi,H=W?wi:b||fi;let L=z(w,N);L===$&&(L=ht(w,N));let J=z(M,H);J===$&&(J=ht(M,H)),t.assign(o,{versionMadeBy:I,msDosCompatible:h,compressedSize:0,uncompressedSize:0,commentLength:E,offset:R,diskNumberStart:Wi(Y,p+34),internalFileAttributes:Wi(Y,p+36),externalFileAttributes:T,msdosAttributesRaw:x,msdosAttributes:K,rawFilename:w,filenameUTF8:O,commentUTF8:W,rawExtraField:m.subarray(l,u),rawComment:M,filename:L,comment:J}),Q=g.max(R,Q),Di(o,o,Y,p+6);const q=o.externalFileAttributes>>16&G;o.unixMode===$&&16877&q&&(o.unixMode=q);const X=!!(o.unixMode&Z),_=!!(o.unixMode&P),AA=!!(o.unixMode&V),eA=o.unixMode!==$?!!(73&o.unixMode):d&&!!(73&q),tA=o.unixMode!==$&&(61440&o.unixMode)==v,iA=(61440&q)==v;t.assign(o,{setuid:X,setgid:_,sticky:AA,unixExternalUpper:q,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:eA,directory:tA||iA||h&&K.directory||L.endsWith(j)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const rA=new jt(o);rA.getData=(A,t)=>o.getData(A,rA,e.readRanges,t),rA.arrayBuffer=async A=>{const t=new D,[i]=await f.all([new B(t.readable).arrayBuffer(),o.getData(t,rA,e.readRanges,A)]);return i},p=S;const{onprogress:nA}=A;if(nA)try{await nA(n+1,C,new jt(o))}catch{}yield rA}const M=yi(e,A,"extractPrependedData"),O=yi(e,A,"extractAppendedData");return M&&(e.prependedData=Q>0?await ut(i,0,Q):new u),e.comment=I?await ut(i,l+H,I):new u,O&&(e.appendedData=h<i.size?await ut(i,h,i.size-h):new u),!0}async getEntries(A={}){const e=[];for await(const t of this.getEntriesGenerator(A))e.push(t);return e}async close(){}}class Qi{constructor(A,e,i){t.assign(this,{reader:A,config:e,options:i})}async getData(A,e,i,r={}){const n=this,{reader:g,offset:o,diskNumberStart:a,extraFieldAES:s,extraFieldZip64:B,compressionMethod:l,config:I,bitFlag:h,signature:d,rawLastModDate:w,uncompressedSize:f,compressedSize:E}=n,{dataDescriptor:C}=h,F=e.localDirectory={},Q=Ti(await ut(g,o,q,a));let p=yi(n,r,qt),D=yi(n,r,Xt);const m=yi(n,r,_t);if(p=p&&p.length&&p,D=D&&D.length&&D,s&&99!=s.originalCompressionMethod)throw new c(Ii);if(0!=l&&8!=l&&9!=l&&!m)throw new c(Ii);if(Gi(Q,0)!=T)throw new c(Bi);pi(F,Q,4);const{extraFieldLength:S,filenameLength:y,lastAccessDate:b,creationDate:M}=F;F.rawExtraField=S?await ut(g,o+q+y,S,a):new u,Di(n,F,Q,4,!0),t.assign(e,{lastAccessDate:b,creationDate:M});const O=n.encrypted&&F.encrypted&&!m,W=O&&!s;if(m||(e.zipCrypto=W),O){if(!W&&s.strength===$)throw new c(ui);if(!p&&!D)throw new c(ci)}const G=o+q+y+S,x=E,k=g.readable;t.assign(k,{diskNumberStart:a,offset:G,size:x});const R=yi(n,r,$t),z=yi(n,r,"checkPasswordOnly");let N=yi(n,r,"checkOverlappingEntry");const H=yi(n,r,"checkOverlappingEntryOnly");H&&(N=!0);const{onstart:L,onprogress:J,onend:v}=r,Z=9==l;let P=yi(n,r,ei);Z&&(P=!1);const V={options:{codecType:de,password:p,rawPassword:D,zipCrypto:W,encryptionStrength:s&&s.strength,signed:yi(n,r,"checkSignature")&&!m,passwordVerification:W&&(C?w>>>8&U:d>>>24&U),outputSize:m?E:f,signature:d,compressed:0!=l&&!m,encrypted:n.encrypted&&!m,useWebWorkers:yi(n,r,Ai),useCompressionStream:P,transferStreams:yi(n,r,ti),deflate64:Z,checkPasswordOnly:z},config:I,streamOptions:{signal:R,size:x,onstart:L,onprogress:J,onend:v}};let j;N&&await(async({reader:A,fileEntry:e,offset:t,diskNumberStart:i,signature:r,compressedSize:n,uncompressedSize:g,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 u=0;if(a&&(u=s?20:12),u){const t=await ut(A,o+n,u+4,i);if(Gi(Ti(t),0)==K){const A=Gi(Ti(t),4);let i,o;s?(i=Ui(Ti(t),8),o=Ui(Ti(t),16)):(i=Gi(Ti(t),8),o=Gi(Ti(t),12)),(e.encrypted&&!e.zipCrypto||A==r)&&i==n&&o==g&&(u+=4)}}const I={start:l+t,end:l+o+n+u,fileEntry:e};for(const A of B)if(A.fileEntry!=e&&I.start>=A.start&&I.start<A.end){const e=new c(di);throw e.overlappingEntry=A.fileEntry,e}B.push(I)})({reader:g,fileEntry:e,offset:o,diskNumberStart:a,signature:d,compressedSize:E,uncompressedSize:f,dataOffset:G,dataDescriptor:C||F.bitFlag.dataDescriptor,extraFieldZip64:B||F.extraFieldZip64,readRanges:i});try{if(!H){z&&(A=new Y),A=new lt(A),await ct(A,m?E:f),({writable:j}=A);const{outputSize:e}=await Ue({readable:k,writable:j},V);if(A.size+=e,e!=(m?E:f))throw new c(oe)}}catch(e){if(e.outputSize!==$&&(A.size+=e.outputSize),!z||e.message!=pA)throw e}finally{yi(n,r,ii)||!j||j.locked||await j.getWriter().close()}return z||H?$:A.getData?A.getData():j}}function pi(A,e,i){const r=A.rawBitFlag=Wi(e,i+2),n=!(1&~r),g=Gi(e,i+6);t.assign(A,{encrypted:n,version:Wi(e,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&J)==J},rawLastModDate:g,lastModDate:bi(g),filenameLength:Wi(e,i+22),extraFieldLength:Wi(e,i+24)})}function Di(A,e,i,r,n){const{rawExtraField:g}=e,s=e.extraField=new a,B=Ti(new u(g));let l=0;try{for(;l<g.length;){const A=Wi(B,l),e=Wi(B,l+2);s.set(A,{type:A,data:g.slice(l+4,l+4+e)}),l+=4+e}}catch{}const I=Wi(i,r+4);t.assign(e,{signature:Gi(i,r+10),compressedSize:Gi(i,r+14),uncompressedSize:Gi(i,r+18)});const h=s.get(1);h&&(((A,e)=>{e.zip64=!0;const t=Ti(A.data),i=Ei.filter(([A,t])=>e[A]==t);for(let r=0,n=0;r<i.length;r++){const[g,o]=i[r];if(e[g]==o){const i=Ci[o];e[g]=A[g]=i.getValue(t,n),n+=i.bytes}else if(A[g])throw new c(li)}})(h,e),e.extraFieldZip64=h);const d=s.get(28789);d&&(mi(d,dt,wt,e,A),e.extraFieldUnicodePath=d);const w=s.get(25461);w&&(mi(w,ft,Et,e,A),e.extraFieldUnicodeComment=w);const f=s.get(39169);f?(((A,e,i)=>{const r=Ti(A.data),n=Oi(r,4);t.assign(A,{vendorVersion:Oi(r,0),vendorId:Oi(r,2),strength:n,originalCompressionMethod:i,compressionMethod:Wi(r,5)}),e.compressionMethod=A.compressionMethod})(f,e,I),e.extraFieldAES=f):e.compressionMethod=I;const E=s.get(10);E&&(((A,e)=>{const i=Ti(A.data);let r,n=4;try{for(;n<A.data.length&&!r;){const e=Wi(i,n),t=Wi(i,n+2);1==e&&(r=A.data.slice(n+4,n+4+t)),n+=4+t}}catch{}try{if(r&&24==r.length){const i=Ti(r),n=i.getBigUint64(0,!0),g=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);t.assign(A,{rawLastModDate:n,rawLastAccessDate:g,rawCreationDate:o});const a={lastModDate:Mi(n),lastAccessDate:Mi(g),creationDate:Mi(o)};t.assign(A,a),t.assign(e,a)}}catch{}})(E,e),e.extraFieldNTFS=E);const C=s.get(30805);if(C)Yi(C,e,!1),e.extraFieldUnix=C;else{const A=s.get(30837);A&&(Yi(A,e,!0),e.extraFieldInfoZip=A)}const F=s.get(L);F&&(((A,e,t)=>{const i=Ti(A.data),r=Oi(i,0),n=[],g=[];t?(1&~r||(n.push(Dt),g.push(mt)),2&~r||(n.push(Yt),g.push("rawLastAccessDate")),4&~r||(n.push(St),g.push(yt))):5>A.data.length||(n.push(Dt),g.push(mt));let a=1;n.forEach((t,r)=>{if(A.data.length>=a+4){const n=Gi(i,a);e[t]=A[t]=new o(1e3*n);const s=g[r];A[s]=n}a+=4})})(F,e,n),e.extraFieldExtendedTimestamp=F);const Q=s.get(6534);Q&&(e.extraFieldUSDZ=Q)}function mi(A,e,i,r,n){const g=Ti(A.data),o=new cA;o.append(n[i]);const a=Ti(new u(4));a.setUint32(0,o.get(),!0);const s=Gi(g,1);t.assign(A,{version:Oi(g,0),[e]:ht(A.data.subarray(5)),valid:!n.bitFlag.languageEncodingFlag&&s==Gi(a,0)}),A.valid&&(r[e]=A[e],r[e+"UTF8"]=!0)}function Yi(A,e,i){try{const r=Ti(new u(A.data));let n=0;const g=Oi(r,n++),o=Oi(r,n++),a=A.data.subarray(n,n+o);n+=o;const s=Si(a),B=Oi(r,n++),l=A.data.subarray(n,n+B);n+=B;const c=Si(l);let I=$;if(!i&&n+2<=A.data.length){const e=A.data;I=new d(e.buffer,e.byteOffset+n,2).getUint16(0,!0)}t.assign(A,{version:g,uid:s,gid:c,unixMode:I}),s!==$&&(e.uid=s),c!==$&&(e.gid=c),I!==$&&(e.unixMode=I)}catch{}}function Si(A){const e=new u(4);return e.set(A,0),new d(e.buffer,e.byteOffset,4).getUint32(0,!0)}function yi(A,e,t){return e[t]===$?A.options[t]:e[t]}function bi(A){const e=(4294901760&A)>>16,t=A&G;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 Mi(A){return new o(r(A/n(1e4)-n(116444736e5)))}function Oi(A,e){return A.getUint8(e)}function Wi(A,e){return A.getUint16(e,!0)}function Gi(A,e){return A.getUint32(e,!0)}function Ui(A,e){return r(A.getBigUint64(e,!0))}function Ti(A){return new d(A.buffer)}const xi="File already exists",Ki="Zip file comment exceeds 64KB",ki="File entry comment exceeds 64KB",Ri="File entry name exceeds 64KB",zi="Version exceeds 65535",Ni="The strength must equal 1, 2, or 3",Hi="Extra field type exceeds 65535",Li="Extra field data exceeds 64KB",Ji="Zip64 is not supported (set the 'zip64' option to 'true')",vi="Undefined uncompressed size",Zi="Zip file not empty",Pi=new u([7,0,2,0,65,69,3,0,0]),Vi="infozip",ji="unix";let qi=0;const Xi=[];class _i{constructor(A,e={}){const i=(A=new lt(A)).availableSize!==$&&A.availableSize>0&&A.availableSize!==AA&&A.maxSize!==$&&A.maxSize>0&&A.maxSize!==AA;t.assign(this,{writer:A,addSplitZipSignature:i,options:e,config:gA(),files:new a,filenames:new s,offset:e[ri]===$?A.size||A.writable.size||0:e[ri],pendingEntriesSize:0,pendingAddFileCalls:new s,bufferedWrites:0})}async prependZip(A){if(this.filenames.size)throw new c(Zi);A=new Bt(A);const e=new Fi(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:n,creationDate:g,rawFilename:o,bitFlag:a,encrypted:s,uncompressedSize:B,compressedSize:l,diskOffset:c,diskNumber:I,zip64:h}=A;let{rawExtraFieldZip64:d,rawExtraFieldAES:w,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:E,rawExtraFieldUnix:C,rawExtraField:F}=A;const{level:Q,languageEncodingFlag:p,dataDescriptor:D}=a;d=d||new u,w=w||new u,f=f||new u,E=E||new u,C=A.rawExtraFieldUnix||new u,F=F||new u;const m=Br(d,w,f,E,C,F),Y=h&&B>W,S=h&&l>W,{headerArray:y,headerView:b}=lr({version:e,bitFlag:cr(Q,p,D,s,i),compressionMethod:i,uncompressedSize:B,compressedSize:l,lastModDate:r,rawFilename:o,zip64CompressedSize:S,zip64UncompressedSize:Y,extraFieldLength:m});return t.assign(A,{zip64UncompressedSize:Y,zip64CompressedSize:S,zip64Offset:h&&this.offset-c>W,zip64DiskNumberStart:h&&I>G,rawExtraFieldZip64:d,rawExtraFieldAES:w,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:E,rawExtraFieldUnix:C,rawExtraField:F,extendedTimestamp:f.length>0||E.length>0,extraFieldExtendedTimestampFlag:1+(n?2:0)+(g?4:0),headerArray:y,headerView:b}),[A.filename,A]}))}async add(A="",i,r={}){const a=this,{pendingAddFileCalls:s,config:B}=a;let l;qi<B.maxWorkers?qi++:await new f(A=>Xi.push(A));try{if(A=A.trim(),a.filenames.has(A))throw new c(xi);return a.filenames.add(A),l=(async(A,i,r,a)=>{i=i.trim();let s=tr(A,a,Gt),B=tr(A,a,Kt,s?20:768);const l=tr(A,a,zt),h=tr(A,a,"uid"),w=tr(A,a,"gid");let E=tr(A,a,Jt);const C=tr(A,a,"unixExtraFieldType");let F=tr(A,a,vt),Q=tr(A,a,Zt),p=tr(A,a,Pt);if(h!==$&&(0>h||h>W))throw new c("Invalid uid (must be integer 0..2^32-1)");if(w!==$&&(0>w||w>W))throw new c("Invalid gid (must be integer 0..2^32-1)");if(E!==$&&(0>E||E>G))throw new c("Invalid UNIX mode (must be integer 0..65535)");if(C!==$&&C!==Vi&&C!==ji)throw new c("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");let m=tr(A,a,Ot),Y=tr(A,a,Wt);const S=m!==$||Y!==$;if(h!==$||w!==$||E!==$||C?(s=!1,B=B&G|768):S&&(s=!0,B&=U),m!==$&&(0>m||m>U))throw new c("Invalid msdosAttributesRaw (must be integer 0..255)");if(Y&&"object"!=typeof Y)throw new c("Invalid msdosAttributes (must be an object with boolean flags)");if(B>G)throw new c(zi);let y=tr(A,a,Mt,0);!a[Rt]&&i.endsWith(j)&&(a[Rt]=!0);const b=tr(A,a,Rt);let M;b?(i.endsWith(j)||(i+=j),0===y&&(y=16,s||(y|=16877<<16))):s||0!==y||(y=l?493<<16:27525120),s||(M=y>>16&G,E=E===$?M:E&G,F?E|=Z:F=!!(E&Z),Q?E|=P:Q=!!(E&P),p?E|=V:p=!!(E&V),b&&(E|=v),y=(E&G)<<16|y&U),({msdosAttributesRaw:m,msdosAttributes:Y}=((A,e)=>{if(A!==$)A&=U;else if(e!==$){const{readOnly:t,hidden:i,system:r,directory:n,archive:g}=e;let o=0;t&&(o|=1),i&&(o|=2),r&&(o|=4),n&&(o|=16),g&&(o|=32),A=o&U}return e===$&&(e={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)}),{msdosAttributesRaw:A,msdosAttributes:e}})(m,Y)),S&&(y=y&W|m&U);const O=tr(A,a,"encodeText",IA);let k=O(i);if(k===$&&(k=IA(i)),Br(k)>G)throw new c(Ri);const R=a[ft]||"";let z=O(R);if(z===$&&(z=IA(R)),Br(z)>G)throw new c(ki);const N=tr(A,a,xt,20);if(N>G)throw new c(zi);const H=tr(A,a,Dt,new o),J=tr(A,a,Yt),eA=tr(A,a,St),tA=tr(A,a,bt,0),iA=tr(A,a,_t);let rA,nA;iA||(rA=tr(A,a,qt),nA=tr(A,a,Xt));const gA=tr(A,a,"encryptionStrength",3),aA=tr(A,a,kt),sA=tr(A,a,"extendedTimestamp",!0),BA=tr(A,a,"keepOrder",!0),lA=tr(A,a,Ai),cA=tr(A,a,ti,!0),uA=tr(A,a,"bufferedWrite"),hA=tr(A,a,"createTempStream"),dA=tr(A,a,"dataDescriptorSignature",!1),wA=tr(A,a,$t),fA=tr(A,a,"useUnicodeFileNames",!0),EA=tr(A,a,Nt);let CA=tr(A,a,"level"),FA=tr(A,a,ei),QA=tr(A,a,"dataDescriptor");uA&&QA===$&&(QA=!1),(QA===$||aA)&&(QA=!0),CA!==$&&6!=CA&&(FA=!1),FA||A.config.CompressionStream!==$||A.config.CompressionStreamZlib!==$||(CA=0);let pA=tr(A,a,Ut);if(!aA&&(rA!==$||nA!==$)&&(1>gA||gA>3))throw new c(Ni);let DA=new u;const mA=a[Lt];if(mA){let A=0,e=0;mA.forEach(e=>A+=4+Br(e)),DA=new u(A),mA.forEach((A,t)=>{if(t>G)throw new c(Hi);if(Br(A)>G)throw new c(Li);ar(DA,new I([t]),e),ar(DA,new I([Br(A)]),e+2),ar(DA,A,e+4),e+=4+Br(A)})}let YA=0,SA=0,yA=0;if(iA&&(yA=a[Ct],yA===$))throw new c(vi);const bA=!0===pA;r&&(r=new Bt(r),await ct(r),iA?(a.uncompressedSize=yA,YA=ir(yA)):r.size===$?(QA=!0,(pA||pA===$)&&(pA=!0,yA=YA=4294967296)):(a.uncompressedSize=yA=r.size,YA=ir(yA)));const{diskOffset:MA,diskNumber:OA}=A.writer,WA=bA||yA>W,GA=bA||YA>W;if(WA||GA){if(!1===pA)throw new c(Ji);pA=!0}pA=pA||!1;const UA=tr(A,a,Tt),TA=(A=>{const{rawFilename:e,lastModDate:t,lastAccessDate:i,creationDate:r,level:o,zip64:a,zipCrypto:s,useUnicodeFileNames:B,dataDescriptor:l,directory:c,rawExtraField:I,encryptionStrength:h,extendedTimestamp:w,passThrough:f,encrypted:E,zip64UncompressedSize:C,zip64CompressedSize:F,uncompressedSize:Q}=A;let{version:p,compressionMethod:D}=A;const m=!c&&(o>0||o===$&&0!==D);let Y;const S=f||!m,y=a&&(A.bufferedWrite||!C&&!F||S);if(a){let A=4;C&&(A+=8),F&&(A+=8),Y=new u(A);const e=sr(Y);if(nr(e,0,1),nr(e,2,Br(Y)-4),y){const A=sr(Y);let e=4;C&&(or(A,e,n(Q)),e+=8),F&&S&&(or(A,e,n(Q)),e+=8),4==e&&(Y=new u)}}else Y=new u;let b,M,O,W,U;if(E&&!s){b=new u(Br(Pi)+2);const A=sr(b);nr(A,0,39169),ar(b,Pi,2),rr(A,8,h)}else b=new u;if(w){O=new u(9+(i?4:0)+(r?4:0));const A=sr(O);nr(A,0,L),nr(A,2,Br(O)-4),W=1+(i?2:0)+(r?4:0),rr(A,4,W);let e=5;gr(A,e,g.floor(t.getTime()/1e3)),e+=4,i&&(gr(A,e,g.floor(i.getTime()/1e3)),e+=4),r&&gr(A,e,g.floor(r.getTime()/1e3));try{M=new u(36);const A=sr(M),e=er(t);nr(A,0,10),nr(A,2,32),nr(A,8,1),nr(A,10,24),or(A,12,e),or(A,20,er(i)||e),or(A,28,er(r)||e)}catch{M=new u}}else M=O=new u;try{const{uid:e,gid:t,unixMode:i,setuid:r,setgid:n,sticky:g,unixExtraFieldType:o}=A;if(!o||e===$&&t===$&&i===$)U=new u;else{const A=$i(e),a=$i(t);let s=new u;if(o==ji&&i!==$){let A=i&G;r&&(A|=Z),n&&(A|=P),g&&(A|=V),s=new u(2),new d(s.buffer).setUint16(0,A,!0)}const B=3+A.length+a.length+s.length;U=new u(4+B);const l=sr(U);nr(l,0,o==Vi?30837:30805),nr(l,2,B),rr(l,4,1),rr(l,5,A.length);let c=6;ar(U,A,c),c+=A.length,rr(l,c,a.length),c++,ar(U,a,c),c+=a.length,ar(U,s,c)}}catch{U=new u}D===$&&(D=m?8:0),a&&(p=p>45?p:45),E&&!s&&(p=p>51?p:51,b[9]=D,D=99);const x=y?Br(Y):0,K=x+Br(b,O,M,U,I),{headerArray:k,headerView:R,rawLastModDate:z}=lr({version:p,bitFlag:cr(o,B,l,E,D),compressionMethod:D,uncompressedSize:Q,lastModDate:_>t?_:t>X?X:t,rawFilename:e,zip64CompressedSize:F,zip64UncompressedSize:C,extraFieldLength:K});let N=q;const H=new u(N+Br(e)+K),J=sr(H);return gr(J,0,T),ar(H,k,4),ar(H,e,N),N+=Br(e),y&&ar(H,Y,N),N+=x,ar(H,b,N),N+=Br(b),ar(H,O,N),N+=Br(O),ar(H,M,N),N+=Br(M),ar(H,U,N),N+=Br(U),ar(H,I,N),l&&(gr(J,18,0),gr(J,22,0)),{localHeaderArray:H,localHeaderView:J,headerArray:k,headerView:R,lastModDate:t,rawLastModDate:z,encrypted:E,compressed:m,version:p,compressionMethod:D,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:new u,localExtraFieldZip64Length:x,rawExtraFieldExtendedTimestamp:O,rawExtraFieldNTFS:M,rawExtraFieldUnix:U,rawExtraFieldAES:b,extraFieldLength:K}})(a=t.assign({},a,{rawFilename:k,rawComment:z,version:N,versionMadeBy:B,lastModDate:H,lastAccessDate:J,creationDate:eA,rawExtraField:DA,zip64:pA,zip64UncompressedSize:WA,zip64CompressedSize:GA,password:rA,rawPassword:nA,level:CA,useWebWorkers:lA,transferStreams:cA,encryptionStrength:gA,extendedTimestamp:sA,zipCrypto:aA,bufferedWrite:uA,createTempStream:hA,keepOrder:BA,useUnicodeFileNames:fA,dataDescriptor:QA,dataDescriptorSignature:dA,signal:wA,msDosCompatible:s,internalFileAttribute:tA,internalFileAttributes:tA,externalFileAttribute:y,externalFileAttributes:y,useCompressionStream:FA,passThrough:iA,encrypted:!!(rA&&Br(rA)||nA&&Br(nA))||iA&&UA,signature:a[Ht],compressionMethod:EA,uncompressedSize:yA,offset:A.offset-MA,diskNumberStart:OA,uid:h,gid:w,setuid:F,setgid:Q,sticky:p,unixMode:E,msdosAttributesRaw:m,msdosAttributes:Y,unixExternalUpper:M})),xA=(({zip64:A,dataDescriptor:e,dataDescriptorSignature:t})=>{let i,r=new u,n=0,g=A?20:12;return t&&(g+=4),e&&(r=new u(g),i=sr(r),t&&(n=4,gr(i,0,K))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:n}})(a),KA=Br(TA.localHeaderArray,xA.dataDescriptorArray);let kA;SA=KA+YA,A.options[ni]&&(SA+=SA+64),A.pendingEntriesSize+=SA;try{kA=await(async(A,i,r,g,o)=>{const{files:a,writer:s}=A,{keepOrder:B,dataDescriptor:l,signal:c}=o,{headerInfo:I}=g,h=A.options[ni],d=e.from(a.values()).pop();let w,E,C,F,Q,p,m={};a.set(i,m);try{let e;B&&(e=d&&d.lock,m.lock=new f(A=>C=A)),!o.bufferedWrite&&B&&!A.writerLocked&&!A.bufferedWrites&&l||h?(p=s,await Y()):(p=o.createTempStream?await o.createTempStream():new D($,$,{highWaterMark:AA}),p.size=0,w=!0,A.bufferedWrites++,await ct(s)),await ct(p);const{writable:E,diskOffset:y}=s;if(A.addSplitZipSignature){delete A.addSplitZipSignature;const e=new u(4);gr(sr(e),0,x),await Ar(s,e),A.offset+=4}h&&((A,e)=>{const{headerInfo:t}=A;let{localHeaderArray:i,extraFieldLength:r}=t,n=sr(i),g=64-(e+Br(i))%64;4>g&&(g+=64);const o=new u(g),a=sr(o);nr(a,0,6534),nr(a,2,g-2);const s=i;t.localHeaderArray=i=new u(Br(s)+g),ar(i,s),ar(i,o,Br(s)),n=sr(i),nr(n,28,r+g),A.metadataSize+=g})(g,A.offset-y);const{localHeaderView:b,localHeaderArray:M}=I;w||(await e,await S(E));const{diskNumber:O}=s;return m.diskNumberStart=O,w||(Q=!0,await Ar(p,M)),m=await(async(A,e,{diskNumberStart:i,lock:r},g,o,a)=>{const{headerInfo:s,dataDescriptorInfo:B,metadataSize:l}=g,{headerArray:c,headerView:u,lastModDate:I,rawLastModDate:h,encrypted:d,compressed:w,version:f,compressionMethod:E,rawExtraFieldZip64:C,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,extraFieldExtendedTimestampFlag:p,rawExtraFieldNTFS:D,rawExtraFieldUnix:m,rawExtraFieldAES:Y}=s,{dataDescriptorArray:S}=B,{rawFilename:y,lastAccessDate:b,creationDate:M,password:O,rawPassword:W,level:G,zip64:T,zip64UncompressedSize:x,zip64CompressedSize:K,zipCrypto:k,dataDescriptor:R,directory:z,executable:N,versionMadeBy:H,rawComment:L,rawExtraField:J,useWebWorkers:v,transferStreams:Z,onstart:P,onprogress:V,onend:j,signal:q,encryptionStrength:X,extendedTimestamp:_,msDosCompatible:AA,internalFileAttributes:eA,externalFileAttributes:tA,uid:iA,gid:rA,unixMode:nA,setuid:gA,setgid:aA,sticky:sA,unixExternalUpper:BA,msdosAttributesRaw:lA,msdosAttributes:cA,useCompressionStream:uA,passThrough:IA}=a,hA={lock:r,versionMadeBy:H,zip64:T,directory:!!z,executable:!!N,filenameUTF8:!0,rawFilename:y,commentUTF8:!0,rawComment:L,rawExtraFieldZip64:C,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:Q,rawExtraFieldNTFS:D,rawExtraFieldUnix:m,rawExtraFieldAES:Y,rawExtraField:J,extendedTimestamp:_,msDosCompatible:AA,internalFileAttributes:eA,externalFileAttributes:tA,diskNumberStart:i,uid:iA,gid:rA,unixMode:nA,setuid:gA,setgid:aA,sticky:sA,unixExternalUpper:BA,msdosAttributesRaw:lA,msdosAttributes:cA};let{signature:dA,uncompressedSize:wA}=a,fA=0;IA||(wA=0);const{writable:EA}=e;if(A){A.chunkSize=oA(o);const t=A.readable,i=A.size,r={options:{codecType:he,level:G,rawPassword:W,password:O,encryptionStrength:X,zipCrypto:d&&k,passwordVerification:d&&k&&h>>8&U,signed:!IA,compressed:w&&!IA,encrypted:d&&!IA,useWebWorkers:v,useCompressionStream:uA,transferStreams:Z},config:o,streamOptions:{signal:q,size:i,onstart:P,onprogress:V,onend:j}};try{const A=await Ue({readable:t,writable:EA},r);fA=A.outputSize,e.size+=fA,IA||(wA=A.inputSize,dA=A.signature)}catch(A){throw A.outputSize!==$&&(e.size+=A.outputSize),A}}return(({signature:A,compressedSize:e,uncompressedSize:t,headerInfo:i,dataDescriptorInfo:r},{zip64:g,zipCrypto:o,dataDescriptor:a})=>{const{headerView:s,encrypted:B}=i,{dataDescriptorView:l,dataDescriptorOffset:c}=r;B&&!o||A===$||(gr(s,10,A),a&&gr(l,c,A)),g?a&&(or(l,c+4,n(e)),or(l,c+12,n(t))):(gr(s,14,e),gr(s,18,t),a&&(gr(l,c+4,e),gr(l,c+8,t)))})({signature:dA,compressedSize:fA,uncompressedSize:wA,headerInfo:s,dataDescriptorInfo:B},a),R&&await Ar(e,S),t.assign(hA,{uncompressedSize:wA,compressedSize:fA,lastModDate:I,rawLastModDate:h,creationDate:M,lastAccessDate:b,encrypted:d,zipCrypto:k,size:l+fA,compressionMethod:E,version:f,headerArray:c,headerView:u,signature:dA,extraFieldExtendedTimestampFlag:p,zip64UncompressedSize:x,zip64CompressedSize:K}),hA})(r,p,m,g,A.config,o),w||(Q=!1),a.set(i,m),m.filename=i,w?(await f.all([p.writable.getWriter().close(),e]),await Y(),F=!0,m.diskNumberStart=s.diskNumber,m.offset=A.offset-s.diskOffset,(({rawFilename:A,encrypted:e,zip64:t,localExtraFieldZip64Length:i,signature:r,compressedSize:g,uncompressedSize:o,zip64UncompressedSize:a,zip64CompressedSize:s},B,{dataDescriptor:l})=>{if(l||(e||gr(B,14,r),s||gr(B,18,g),a||gr(B,22,o)),t&&i){let e=q+Br(A)+4;a&&(or(B,e,n(o)),e+=8),s&&(or(B,e,n(g)),e+=8)}})(m,b,o),await S(E),await Ar(s,M),await p.readable.pipeTo(E,{preventClose:!0,preventAbort:!0,signal:c}),s.size+=p.size,F=!1):m.offset=A.offset-y,A.offset+=m.size,m}catch(e){if(F||Q){if(A.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch{}w?A.offset+=p.size:A.offset=p.size}throw a.delete(i),e}finally{w&&A.bufferedWrites--,C&&C(),E&&E()}async function Y(){A.writerLocked=!0;const{lockWriter:e}=A;A.lockWriter=new f(e=>E=()=>{A.writerLocked=!1,e()}),await e}async function S(A){Br(I.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Ar(A,new u))}})(A,i,r,{headerInfo:TA,dataDescriptorInfo:xA,metadataSize:KA},a)}finally{A.pendingEntriesSize-=SA}return t.assign(kA,{name:i,comment:R,extraField:mA}),new jt(kA)})(a,A,i,r),s.add(l),await l}catch(e){throw a.filenames.delete(A),e}finally{s.delete(l);const A=Xi.shift();A?A():qi--}}remove(A){const{filenames:e,files:t}=this;if("string"==typeof A&&(A=t.get(A)),A&&A.filename!==$){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 u,t={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:o}=r;for(;i.size;)await f.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,I=A.offset-a,h=r.size;for(const[,A]of r){const{rawFilename:e,rawExtraFieldAES:t,rawComment:i,rawExtraFieldNTFS:r,rawExtraFieldUnix:o,rawExtraField:a,extendedTimestamp:s,extraFieldExtendedTimestampFlag:B,lastModDate:c,zip64UncompressedSize:I,zip64CompressedSize:h,uncompressedSize:d,compressedSize:w}=A,f=A.offset>W,E=A.diskNumberStart>G;let C,F;if(f||E||I||h){let e=4;I&&(e+=8),h&&(e+=8),f&&(e+=8),E&&(e+=4),C=new u(e);const t=sr(C);nr(t,0,1),nr(t,2,e-4);let i=4;I&&(or(t,i,n(d)),i+=8),h&&(or(t,i,n(w)),i+=8),f&&(or(t,i,n(A.offset)),i+=8),E&&gr(t,i,A.diskNumberStart)}else C=new u;if(A.rawExtraFieldZip64=C,A.zip64Offset=f,A.zip64DiskNumberStart=E,s){F=new u(9);const A=sr(F);nr(A,0,L),nr(A,2,5),rr(A,4,B),gr(A,5,g.floor(c.getTime()/1e3))}else F=new u;A.rawExtraFieldExtendedTimestamp=F,l+=46+Br(e,i,C,t,r,o,F,a)}const d=new u(l),w=sr(d);await ct(o);let f=0;for(const[A,t]of e.from(r.values()).entries()){const{offset:e,rawFilename:n,rawExtraFieldZip64:g,rawExtraFieldAES:a,rawExtraFieldExtendedTimestamp:s,rawExtraFieldNTFS:l,rawExtraFieldUnix:c,rawExtraField:u,rawComment:I,versionMadeBy:h,headerArray:E,headerView:C,zip64UncompressedSize:F,zip64CompressedSize:Q,zip64DiskNumberStart:p,zip64Offset:D,internalFileAttributes:m,externalFileAttributes:Y,diskNumberStart:S,uncompressedSize:y,compressedSize:b}=t,M=Br(g,a,s,l,c,u);gr(w,B,k),nr(w,B+4,h),F||gr(C,18,y),Q||gr(C,14,b),ar(d,E,B+6);let O=B+q;if(nr(w,O,M),O+=2,nr(w,O,Br(I)),O+=2,nr(w,O,p?G:S),O+=2,nr(w,O,m),O+=2,Y&&gr(w,O,Y),O+=4,gr(w,O,D?W:e),O+=4,ar(d,n,O),O+=Br(n),ar(d,g,O),O+=Br(g),ar(d,a,O),O+=Br(a),ar(d,s,O),O+=Br(s),ar(d,l,O),O+=Br(l),ar(d,c,O),O+=Br(c),ar(d,u,O),O+=Br(u),ar(d,I,O),O+=Br(I),B-f>o.availableSize&&(o.availableSize=0,await Ar(o,d.slice(f,B)),f=B),B=O,i.onprogress)try{await i.onprogress(A+1,r.size,new jt(t))}catch{}}await Ar(o,f?d.slice(f):d);let E=o.diskNumber;const{availableSize:C}=o;H>C&&E++;let F=tr(A,i,Ut);if(I>W||l>W||h>G||E>G){if(!1===F)throw new c(Ji);F=!0}const Q=new u(F?98:H),p=sr(Q);B=0,F&&(gr(p,0,z),or(p,4,n(44)),nr(p,12,45),nr(p,14,45),gr(p,16,E),gr(p,20,s),or(p,24,n(h)),or(p,32,n(h)),or(p,40,n(l)),or(p,48,n(I)),gr(p,56,N),or(p,64,n(I)+n(l)),gr(p,72,E+1),tr(A,i,"supportZip64SplitFile",!0)&&(E=G,s=G),h=G,I=W,l=W,B+=76),gr(p,B,R),nr(p,B+4,E),nr(p,B+6,s),nr(p,B+8,h),nr(p,B+10,h),gr(p,B+12,l),gr(p,B+16,I);const D=Br(t);if(D){if(D>G)throw new c(Ki);nr(p,B+20,D)}await Ar(o,Q),D&&await Ar(o,t)})(this,A,t),tr(this,t,ii)||await o.getWriter().close(),r.getData?r.getData():o}}function $i(A){if(A===$)return new u;{const e=new u(4);sr(e).setUint32(0,A,!0);let t=4;for(;t>1&&0===e[t-1];)t--;return e.subarray(0,t)}}async function Ar(A,e){const{writable:t}=A,i=t.getWriter();try{await i.ready,A.size+=Br(e),await i.write(e)}finally{i.releaseLock()}}function er(A){if(A)return(n(A.getTime())+n(116444736e5))*n(1e4)}function tr(A,e,t,i){const r=e[t]===$?A.options[t]:e[t];return r===$?i:r}function ir(A){return A+5*(g.floor(A/16383)+1)}function rr(A,e,t){A.setUint8(e,t)}function nr(A,e,t){A.setUint16(e,t,!0)}function gr(A,e,t){A.setUint32(e,t,!0)}function or(A,e,t){A.setBigUint64(e,t,!0)}function ar(A,e,t){A.set(e,t)}function sr(A){return new d(A.buffer)}function Br(...A){let e=0;return A.forEach(A=>A&&(e+=A.length)),e}function lr({version:A,bitFlag:e,compressionMethod:t,uncompressedSize:i,compressedSize:r,lastModDate:n,rawFilename:g,zip64CompressedSize:o,zip64UncompressedSize:a,extraFieldLength:s}){const B=new u(26),l=sr(B);nr(l,0,A),nr(l,2,e),nr(l,4,t);const c=new h(1),I=sr(c);nr(I,0,(n.getHours()<<6|n.getMinutes())<<5|n.getSeconds()/2),nr(I,2,(n.getFullYear()-1980<<4|n.getMonth()+1)<<5|n.getDate());const d=c[0];return gr(l,6,d),(o||r!==$)&&gr(l,14,o?W:r),(a||i!==$)&&gr(l,18,a?W:i),nr(l,22,Br(g)),nr(l,24,s),{headerArray:B,headerView:l,rawLastModDate:d}}function cr(A,e,t,i,r){let n=0;return e&&(n|=J),t&&(n|=8),8!=r&&9!=r||(0>A||A>3||(n|=6),A>3&&5>=A&&(n|=4),9==A&&(n|=2)),i&&(n|=1),n}try{aA({baseURI:void 0===F&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===F?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new l("zip-native.min.js",F.baseURI).href})}catch{}var{Uint8Array:ur,Uint16Array:Ir,Int32Array:hr,TransformStream:dr,Math:wr,Error:fr,Array:Er}=globalThis,Cr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Fr=new ur(0),Qr=new Ir(0),pr=[];for(let A=0;6>A;A++)pr.push(A,0==A?8:4);pr.push(0,1);var Dr=[];for(let A=0;14>A;A++)Dr.push(A,0==A?4:2);var mr=new Ir([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]),Yr=new Ir([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]);function Sr(A,e,t,i,r){if(0==r)return;let n=A instanceof ur?A:new ur(A.buffer,A.byteOffset,A.byteLength),g=t instanceof ur?t.subarray(i,i+r):new ur(t.buffer,t.byteOffset+i,r);n.set(g,e)}function yr(A,e,t){0!=t&&(A instanceof ur?A:new ur(A.buffer,A.byteOffset,A.byteLength)).fill(0,e,e+t)}function br(){return{next_in:Fr,next_in_index:0,avail_in:0,total_in:0,next_out:Fr,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Mr(A,e){let t=1<<e;return{o:A,u:new ur(t),h:t,v:e,k:0,m:0,p:0,I:0}}function Or(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 Ir(e)}var Wr=class{constructor(A,e){this.L=A,this.M=e,this.F=0}},Gr=class{constructor(A,e,t,i,r){this.q=A,this.N=e,this.V=t,this.W=i,this.S=r}};function Ur(A){return an[-6>A||A>2?9:2-A]||""}function Tr(A,e){try{A.msg=Ur(e)}catch(t){A.msg="zlib error "+i(e)+" ("+t+")"}return e}function xr(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 Kr(A,e){A.$[A.A++]=e}function kr(A,e){Kr(A,255&e),Kr(A,e>>>8&255)}function Rr(A,e,t){let i=255&t,r=65535&e,n=A.U+A.D;return A.$[n]=255&r,A.$[n+1]=r>>>8&255,A.$[n+2]=i,A.D+=3,r=r-1&65535,A.C[dn[i]+$r+1].Z++,A.T[Hr(r)].Z++,A.D==A.B}function zr(A,e){let t=255&e,i=A.U+A.D;return A.$[i]=0,A.$[i+1]=0,A.$[i+2]=t,A.D+=3,A.C[t].Z++,A.D==A.B}function Nr(A){return A.h-Xr}function Hr(A){return 256>A?wn[A]:wn[256+(A>>7)]}function Lr(A){let e=Vr+7,t=1<<e,i=(1<<e)-1,r=wr.floor((e+jr-1)/jr),n=1<<8+Vr;return{...Mr(A,15),o:A,R:42,G:0,O:void 0,P:32767,H:e,J:t,X:i,Y:r,j:new Ir(32768),K:new Ir(t),ee:n,$:new ur(32768),te:0,ne:32768,A:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,he:0,de:0,we:0,be:0,ge:0,ve:0,ke:0,me:0,xe:0,ye:0,pe:new hr(2*An+1),Ie:new ur(2*An+1),ze:new Ir(nn+1),D:0,B:0,Le:Fr,U:0,Ee:0,Me:0,Fe:8,qe:32768,Ne:0,Ve:0,We:0,C:new Er(rn).fill(0).map(()=>({Z:0,Qe:0,Ze:0,De:0})),T:new Er(2*en+1).fill(0).map(()=>({Z:0,Qe:0,Ze:0,De:0})),Se:new Er(2*tn+1).fill(0).map(()=>({Z:0,Qe:0,Ze:0,De:0})),$e:Zr(),Ae:Zr(),Ue:Zr()}}function Jr(A){let e=[];for(let t=0;t<A.length;t+=2){let i=A[t],r=A[t+1],n=vr();n.Qe=i,n.De=r,e.push(n)}return e}function vr(){return{Z:0,Qe:0,Ze:0,De:0}}function Zr(){return new Wr([],new Gr(null,Fr,0,0,0))}function Pr(A){let{code:e,length:t}=(A=>{let e=wr.max(...A),t=new Er(e+1).fill(0);for(let e of A)e>0&&t[e]++;let i=new Er(A.length).fill(0),r=new Er(e+1).fill(0),n=0;for(let A=1;e>=A;A++)n=n+t[A-1]<<1,r[A]=n;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 Ir(2*A.length),r=0;for(let n=0;n<A.length;n++){let A=t[n]||0,g=e[n]||0;i[r++]=A?xr(g,A):0,i[r++]=A}return new Ir(i)}var Vr=8,jr=3,qr=258,Xr=qr+jr+1,_r=qr,$r=256,An=$r+1+29,en=30,tn=19,rn=2*An+1,nn=15,gn=256,on=-1,an=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],sn=Or(pr),Bn=Or(Dr),ln=new Ir(19);ln[16]=2,ln[17]=3,ln[18]=7;var cn=Pr((()=>{let A=new Er(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})()),un=Pr(new Er(30).fill(5)),In=Jr(cn),hn=Jr(un),dn=((A,e)=>{let t=0;for(let i=0;i<A.length;i++){let r=e[i]?1<<e[i]:1,n=A[i]+r-1;n>t&&(t=n)}258>t&&(t=258);let i=new ur(t+1);for(let r=0;t>=r;r++)for(let t=0;t<A.length;t++){let n=e[t]?1<<e[t]:1,g=A[t];if(r>=g&&g+n-1>=r){i[r]=t;break}}return i})(Yr,sn),wn=(A=>{let e=new ur(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})(((A,e)=>{let t=0;for(let i=0;i<A.length;i++){let r=e[i]?1<<e[i]:1,n=A[i]+r-1;n>t&&(t=n)}let i=new ur(t+1);for(let r=0;t>=r;r++)for(let t=0;t<A.length;t++){let n=e[t]?1<<e[t]:1,g=A[t];if(r>=g&&g+n-1>=r){i[r]=t;break}}return i})(mr,Bn));function fn(A){return A%65521>>>0}function En(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=fn(i),(i<<16|A)>>>0}for(;t>=5552;){t-=5552;let r=wr.floor(347);do{for(let t=0;16>t;t++)i+=A+=e[t];e=e.subarray(16)}while(--r);A=fn(A),i=fn(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=fn(A),i=fn(i)}return(i<<16|A)>>>0}var Cn=(()=>{let A=new Er(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 Fn(A=0,e,t){if(!e)return 0;void 0===t&&(t=e.length),t=wr.min(t,e.length),A=~A>>>0;for(let i=0;t>i;i++)A=A>>>8^Cn[255&(A^e[i])];return(4294967295^A)>>>0}function Qn(A){16==A.I?(kr(A,A.p),A.p=0,A.I=0):A.I>=8&&(Kr(A,A.p),A.p>>=8,A.I-=8)}function pn(A){A.I>8?kr(A,A.p):A.I>0&&Kr(A,A.p),A.Ee=1+(A.I-1&7),A.p=0,A.I=0}function Dn(A,e,t){A.I>16-t?(A.p=65535&(A.p|e<<A.I),kr(A,A.p),A.p=e>>16-A.I&65535,A.I+=t-16):(A.p=65535&(A.p|e<<A.I),A.I+=t)}function mn(A){for(let e=0;e<A.C.length;e++)A.C[e].Z=0;for(let e=0;e<A.T.length;e++)A.T[e].Z=0;for(let e=0;e<A.Se.length;e++)A.Se[e].Z=0;A.C[gn].Z=1,A.ie=A.fe=0,A.D=A._e=0}function Yn(A,e,t){return t=A.pe[1],A.pe[1]=A.pe[A.Ve--],yn(A,e,1),t}function Sn(A,e,t,i){return A[e].Z<A[t].Z||A[e].Z==A[t].Z&&i[e]<=i[t]}function yn(A,e,t){let i=A.pe[t],r=t<<1;for(;r<=A.Ve&&(r<A.Ve&&Sn(e,A.pe[r+1],A.pe[r],A.Ie)&&r++,!Sn(e,i,A.pe[r],A.Ie));)A.pe[t]=A.pe[r],t=r,r<<=1;A.pe[t]=i}function bn(A,e){let t,i,r,n=e.L,g=e.M.q,o=e.M.W,a=-1;for(A.Ve=0,A.We=rn,t=0;o>t;t++)0!=n[t].Z?(A.pe[++A.Ve]=a=t,A.Ie[t]=0):n[t].De=0;for(;2>A.Ve;)r=A.pe[++A.Ve]=2>a?++a:0,n[r].Z=1,A.Ie[r]=0,A.ie--,g&&(A.fe-=g[r].De);for(e.F=a,t=wr.floor(A.Ve/2);t>=1;t--)yn(A,n,t);r=o;do{t=Yn(A,n,t),i=A.pe[1],A.pe[--A.We]=t,A.pe[--A.We]=i,n[r].Z=n[t].Z+n[i].Z,A.Ie[r]=(A.Ie[t]<A.Ie[i]?A.Ie[i]:A.Ie[t])+1,n[t].Ze=n[i].Ze=r,A.pe[1]=r++,yn(A,n,1)}while(A.Ve>=2);A.pe[--A.We]=A.pe[1],((A,e)=>{let t,i,r,n,g,o,a=e.L,s=e.F,B=e.M.q,l=e.M.N,c=e.M.V,u=e.M.S,I=0;for(n=0;nn>=n;n++)A.ze[n]=0;for(a[A.pe[A.We]].De=0,t=A.We+1;rn>t;t++)i=A.pe[t],n=a[a[i].Ze].De+1,n>u&&(n=u,I++),a[i].De=n,s>=i&&(A.ze[n]++,g=0,i>=c&&(g=l[i-c]),o=a[i].Z,A.ie+=o*(n+g),B&&(A.fe+=o*(B[i].De+g)));if(0!=I){do{for(n=u-1;0==A.ze[n];)n--;A.ze[n]--,A.ze[n+1]+=2,A.ze[u]--,I-=2}while(I>0);for(n=u;0!=n;n--)for(i=A.ze[n];0!=i;)r=A.pe[--t],s>=r&&(a[r].De!=n&&(A.ie+=(n-a[r].De)*a[r].Z,a[r].De=n),i--)}})(A,e),((A,e,t)=>{let i,r,n=[],g=0;for(i=1;nn>=i;i++)g=g+t[i-1]<<1,n[i]=g;for(r=0;e>=r;r++){let e=A[r].De;0!=e&&(A[r].Qe=xr(n[e]++,e))}})(n,e.F,A.ze)}function Mn(A,e,t){let i,r,n=-1,g=e[0].De,o=0,a=7,s=4;for(0==g&&(a=138,s=3),e[t+1].De=65535,i=0;t>=i;i++)r=g,g=e[i+1].De,(++o>=a||r!=g)&&(s>o?A.Se[r].Z+=o:0!=r?(r!=n&&A.Se[r].Z++,A.Se[16].Z++):o>10?A.Se[18].Z++:A.Se[17].Z++,o=0,n=r,0==g?(a=138,s=3):r==g?(a=6,s=3):(a=7,s=4))}function On(A,e,t){let i,r=-1,n=e[0].De,g=0,o=7,a=4;0==n&&(o=138,a=3);for(let s=0;t>=s;s++)if(i=n,n=e[s+1].De,++g>=o||i!=n){if(a>g)do{Dn(A,A.Se[i].Qe,A.Se[i].De)}while(0!=--g);else 0!=i?(i!=r&&(Dn(A,A.Se[i].Qe,A.Se[i].De),g--),Dn(A,A.Se[16].Qe,A.Se[16].De),Dn(A,g-3,2)):g>10?(Dn(A,A.Se[18].Qe,A.Se[18].De),Dn(A,g-11,7)):(Dn(A,A.Se[17].Qe,A.Se[17].De),Dn(A,g-3,3));g=0,r=i,0==n?(o=138,a=3):i==n?(o=6,a=3):(o=7,a=4)}}function Wn(A,e,t,i,r=0){Dn(A,0+i,3),pn(A),kr(A,t),kr(A,~t),t&&e&&Sr(A.$,A.A,e,r,t),A.A+=t}function Gn(A,e,t){let i,r,n,g,o=0;if(0!=A.D)do{i=255&A.Le[o],i+=(255&A.Le[o+1])<<8,r=A.Le[o+2],o+=3,0==i?Dn(A,e[r].Qe,e[r].De):(n=dn[r],Dn(A,e[n+$r+1].Qe,e[n+$r+1].De),g=sn[n],0!=g&&(r-=Yr[n],Dn(A,r,g)),i--,n=Hr(i),Dn(A,t[n].Qe,t[n].De),g=Bn[n],0!=g&&(i-=mr[n],Dn(A,i,g)))}while(o<A.D);Dn(A,e[gn].Qe,e[gn].De)}var Un=[{Ce:$n,Te:0,Be:0,Re:0,Ge:0},{Ce:Ag,Te:4,Be:4,Re:8,Ge:4},{Ce:Ag,Te:5,Be:5,Re:16,Ge:8},{Ce:Ag,Te:6,Be:16,Re:32,Ge:32},{Ce:eg,Te:4,Be:4,Re:16,Ge:16},{Ce:eg,Te:16,Be:8,Re:16,Ge:32},{Ce:eg,Te:16,Be:16,Re:32,Ge:128},{Ce:eg,Te:32,Be:32,Re:128,Ge:256},{Ce:eg,Te:128,Be:128,Re:256,Ge:1024},{Ce:eg,Te:258,Be:258,Re:258,Ge:4096}];function Tn(A){return 2*A-(A>4?9:0)}function xn(A,e,t){return((e<<A.Y^t)&A.X)>>>0}function Kn(A,e){A.be=xn(A,A.be,A.u[e+(jr-1)]);let t=A.j[e&A.P]=A.K[A.be];return A.K[A.be]=e,t}function kn(A){A.K[A.J-1]=0,yr(A.K,0,(A.J-1)*A.K.BYTES_PER_ELEMENT)}function Rn(A){let e,t,i=A.h;for(e=A.J;e>0;)e--,t=A.K[e],A.K[e]=i>t?0:t-i;for(e=i;e>0;)e--,t=A.j[e],A.j[e]=i>t?0:t-i}function zn(A,e,t,i){let r=A.avail_in;return r>i&&(r=i),0==r?0:(A.avail_in-=r,Sr(e,t,A.next_in,A.next_in_index,r),1==A.l.G?A.i=En(A.i,new ur(e.buffer,e.byteOffset+t,r),r):2==A.l.G&&(A.i=Fn(A.i,new ur(e.buffer,e.byteOffset+t,r),r)),A.next_in_index+=r,A.total_in+=r,r)}function Nn(A){let e,t,i=A.h;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+Nr(A)&&(Sr(A.u,0,A.u,i,i-t),A.Ne-=i,A.ae-=i,A.ue-=i,A.le>A.ae&&(A.le=A.ae),Rn(A),t+=i),0==A.o.avail_in)break;if(e=zn(A.o,A.u,A.ae+A.ce,t),A.ce+=e,A.ce+A.le>=jr){let e=A.ae-A.le;for(A.be=A.u[e],A.be=xn(A,A.be,A.u[e+1]);A.le&&(A.be=xn(A,A.be,A.u[e+jr-1]),A.j[e&A.P]=A.K[A.be],A.K[A.be]=e,e++,A.le--,A.ce+A.le>=jr););}}while(A.ce<Xr&&0!=A.o.avail_in);if(A.k<A.qe){let e,t=A.ae+A.ce;A.k<t?(e=A.qe-t,e>_r&&(e=_r),yr(A.u,t,e),A.k=t+e):A.k<t+_r&&(e=t+_r-A.k,e>A.qe-A.k&&(e=A.qe-A.k),yr(A.u,A.k,e),A.k+=e)}}function Hn(A){if(null==A)return!0;let e=A.l;return!e||e.o!=A||42!=e.R&&57!=e.R&&69!=e.R&&73!=e.R&&91!=e.R&&103!=e.R&&113!=e.R&&666!=e.R}function Ln(A,e){Kr(A,e>>8),Kr(A,255&e)}function Jn(A){let e,t=A.l;(A=>{Qn(A)})(t),e=t.A,e>A.avail_out&&(e=A.avail_out),0!=e&&(Sr(A.next_out,A.next_out_index,t.$,t.re,e),A.next_out_index+=e,t.re+=e,A.total_out+=e,A.avail_out-=e,t.A-=e,0==t.A&&(t.re=t.te))}function vn(A,e){let t=A.l;t.O&&t.O.Oe&&(A.i=Fn(A.i,new ur(t.$.buffer,t.te+e,t.A-e),t.A-e))}function Zn(A,e){let t,i=A.l;if(Hn(A)||e>5||0>e)return Tr(A,-2);if(!A.next_out||0!=A.avail_in&&!A.next_in||666==i.R&&4!=e)return Tr(A,-2);if(0==A.avail_out)return Tr(A,-5);if(t=i.oe,i.oe=e,0!=i.A){if(Jn(A),0==A.avail_out)return i.oe=on,0}else if(0==A.avail_in&&Tn(e)<=Tn(t)&&4!=e)return Tr(A,-5);if(666==i.R&&0!=A.avail_in)return Tr(A,-5);if(42==i.R&&0==i.G&&(i.R=113),42==i.R){let e,t=8+(i.v-8<<4)<<8;if(e=i.ve>=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,Ln(i,t),0!=i.ae&&(Ln(i,A.i>>16),Ln(i,65535&A.i)),A.i=1,i.R=113,Jn(A),0!=i.A)return i.oe=on,0}if(57==i.R)if(A.i=Fn(0),Kr(i,31),Kr(i,139),Kr(i,8),i.O)Kr(i,(i.O.Pe?1:0)+(i.O.Oe?2:0)+(null==i.O.He?0:4)+(null==i.O.Je?0:8)+(null==i.O.Xe?0:16)),Kr(i,255&i.O.Ye),Kr(i,i.O.Ye>>>8&255),Kr(i,i.O.Ye>>>16&255),Kr(i,i.O.Ye>>>24&255),Kr(i,9==i.ge?2:i.ve>=2||2>i.ge?4:0),Kr(i,255&i.O.je),null!=i.O.He&&(Kr(i,255&i.O.Ke),Kr(i,i.O.Ke>>>8&255)),i.O.Oe&&(A.i=Fn(A.i,i.$,i.A)),i.Me=0,i.R=69;else if(Kr(i,0),Kr(i,0),Kr(i,0),Kr(i,0),Kr(i,0),Kr(i,9==i.ge?2:i.ve>=2||2>i.ge?4:0),Kr(i,255),i.R=113,Jn(A),0!=i.A)return i.oe=on,0;if(69==i.R){if(i.O&&null!=i.O.He){let e=i.A,t=(65535&i.O.Ke)-i.Me;for(;i.A+t>i.ne;){let r=i.ne-i.A;if(Sr(i.$,i.A,i.O.He,i.Me,r),i.A=i.ne,vn(A,e),i.Me+=r,Jn(A),0!=i.A)return i.oe=on,0;e=0,t-=r}Sr(i.$,i.A,i.O.He,i.Me,t),i.A+=t,vn(A,e),i.Me=0}i.R=73}if(73==i.R){if(i.O&&i.O.Je&&i.O.Je.length){let e,t=i.A;do{if(i.A==i.ne){if(vn(A,t),Jn(A),0!=i.A)return i.oe=on,0;t=0}e=i.O.Je[i.Me++],Kr(i,e)}while(0!=e);vn(A,t),i.Me=0}i.R=91}if(91==i.R){if(i.O&&i.O.Xe&&i.O.Xe.length){let e,t=i.A;do{if(i.A==i.ne){if(vn(A,t),Jn(A),0!=i.A)return i.oe=on,0;t=0}e=i.O.Xe[i.Me++],Kr(i,e)}while(0!=e);vn(A,t)}i.R=103}if(103==i.R){if(i.O&&i.O.Oe){if(i.A+2>i.ne&&(Jn(A),0!=i.A))return i.oe=on,0;Kr(i,255&A.i),Kr(i,A.i>>>8&255),A.i=Fn(0)}if(i.R=113,Jn(A),0!=i.A)return i.oe=on,0}if(0!=A.avail_in||0!=i.ce||0!=e&&666!=i.R){let t=0==i.ge?$n(i,e):2==i.ve?((A,e)=>{let t=!1;for(;;){if(0==A.ce&&(Nn(A),0==A.ce)){if(0==e)return 0;break}if(A.se=0,t=zr(A,A.u[A.ae]),A.ce--,A.ae++,t){let e=qn(A,!1);if(null!=e)return e}}if(A.le=0,4==e)return qn(A,!0)??3;if(A.D){let e=qn(A,!1);if(null!=e)return e}return 1})(i,e):3==i.ve?((A,e)=>{let t,i,r,n;for(;;){if(A.ce<=qr){if(Nn(A),A.ce<=qr&&0==e)return 0;if(0==A.ce)break}if(A.se=0,A.ce>=jr&&A.ae>0&&(r=A.ae-1,i=A.u[r],i==++r&&i==++r&&i==++r)){n=A.ae+qr;do{}while(i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&n>r);A.se=qr-(n-r),A.se>A.ce&&(A.se=A.ce)}if(A.se<jr?(t=zr(A,A.u[A.ae]),A.ce--,A.ae++):(A.ae,A.ae,A.se,t=Rr(A,1,A.se-jr),A.ce-=A.se,A.ae+=A.se,A.se=0),t){let e=qn(A,!1);if(null!=e)return e}}if(A.le=0,4==e)return qn(A,!0)??3;if(A.D){let e=qn(A,!1);if(null!=e)return e}return 1})(i,e):Un[i.ge].Ce(i,e);if((2==t||3==t)&&(i.R=666),0==t||2==t)return 0==A.avail_out&&(i.oe=on),0;if(1==t&&(1==e?(A=>{Dn(A,2,3),Dn(A,In[gn].Qe,In[gn].De),Qn(A)})(i):5!=e&&(Wn(i,null,0,0),3==e&&(kn(i),0==i.ce&&(i.ae=0,i.ue=0,i.le=0))),Jn(A),0==A.avail_out))return i.oe=on,0}return 4!=e?0:i.G>0?(2==i.G?(Kr(i,255&A.i),Kr(i,A.i>>>8&255),Kr(i,A.i>>>16&255),Kr(i,A.i>>>24&255),Kr(i,255&A.total_in),Kr(i,A.total_in>>>8&255),Kr(i,A.total_in>>>16&255),Kr(i,A.total_in>>>24&255)):(Ln(i,A.i>>>16&65535),Ln(i,65535&A.i)),Jn(A),i.G>0&&(i.G=-i.G),0!=i.A?0:1):1}function Pn(A){if(Hn(A))return-2;let e=A.l,t=e.R;return e.u=Fr,e.j=Qr,e.K=Qr,e.$=Fr,e.Le=Fr,e.pe=new hr(0),e.Ie=Fr,e.ze=Qr,e.C.length=0,e.T.length=0,e.Se.length=0,e.O=void 0,e.te=0,e.re=0,e.U=0,113==t?-3:0}function Vn(A,e){let t,i,r=A.xe,n=A.ae,g=A.he,o=A.me,a=A.ae>Nr(A)?A.ae-Nr(A):0,s=A.j,B=A.P,l=A.u[n],c=A.u[n+1],u=A.u[n+g-1],I=A.u[n+g];A.he>=A.ke&&(r>>=2),o>A.ce&&(o=A.ce);do{if(t=e,A.u[t+g]!=I||A.u[t+g-1]!=u||A.u[t]!=l||A.u[t+1]!=c)continue;let r=wr.min(qr,A.ce),a=2;for(;r>a&&A.u[n+a]==A.u[t+a];)a++;if(i=a,i>g){if(A.Ne=e,g=i,i>=o)break;u=A.u[n+g-1],I=A.u[n+g]}}while((e=s[e&B])>a&&0!=--r);return g>A.ce?A.ce:g}function jn(A,e){((A,e,t,i,r=0)=>{let n,g,o=0;A.ge>0?(2==A.o.t&&(A.o.t=(A=>{let e,t=4093624447;for(e=0;31>=e;e++,t>>=1)if(1&t&&0!=A.C[e].Z)return 0;if(0!=A.C[9].Z||0!=A.C[10].Z||0!=A.C[13].Z)return 1;for(e=32;$r>e;e++)if(0!=A.C[e].Z)return 1;return 0})(A)),bn(A,A.$e),bn(A,A.Ae),o=(A=>{let e;for(Mn(A,A.C,A.$e.F),Mn(A,A.T,A.Ae.F),bn(A,A.Ue),e=tn-1;e>=3&&0==A.Se[Cr[e]].De;e--);return A.ie+=3*(e+1)+5+5+4,e})(A),n=A.ie+3+7>>3,g=A.fe+3+7>>3,(n>=g||4==A.ve)&&(n=g)):n=g=t+5,n>=t+4&&e?Wn(A,e,t,i,r):g==n?(Dn(A,2+i,3),Gn(A,In,hn)):(Dn(A,4+i,3),((A,e,t,i)=>{let r;for(Dn(A,e-257,5),Dn(A,t-1,5),Dn(A,i-4,4),r=0;i>r;r++)Dn(A,A.Se[Cr[r]].De,3);On(A,A.C,e-1),On(A,A.T,t-1)})(A,A.$e.F+1,A.Ae.F+1,o+1),Gn(A,A.C,A.T)),mn(A),i&&pn(A)})(A,A.u,A.ae-A.ue,e,A.ue),A.ue=A.ae,Jn(A.o)}function qn(A,e){return jn(A,e?1:0),0==A.o.avail_out?e?2:0:null}var Xn=65535;function _n(A,e){return e>A?A:e}function $n(A,e){let t,i,r,n=_n(A.ne-5,A.h),g=0,o=A.o.avail_in;do{if(t=Xn,r=A.I+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),n>t&&(0==t&&4!=e||0==e||t!=i+A.o.avail_in)))break;g=4==e&&t==i+A.o.avail_in?1:0,Wn(A,null,0,g),A.$[A.A-4]=t,A.$[A.A-3]=t>>8,A.$[A.A-2]=~t,A.$[A.A-1]=~t>>8,Jn(A.o),i&&(i>t&&(i=t),Sr(A.o.next_out,A.o.next_out_index,A.u,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&&(zn(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==g);if(o-=A.o.avail_in,o){if(o<A.h)A.qe-A.ae<=o&&(A.ae-=A.h,Sr(A.u,0,A.u,A.h,A.ae),2>A._e&&A._e++,A.le>A.ae&&(A.le=A.ae)),Sr(A.u,A.ae,A.o.next_in,A.o.next_in_index-o,o),A.ae+=o,A.le+=_n(o,A.h-A.le);else{A._e=2;let e=A.o.next_in_index-A.h;Sr(A.u,0,A.o.next_in,e,A.h),A.ae=A.h,A.le=A.ae}A.ue=A.ae}return A.k<A.ae&&(A.k=A.ae),g?(A.Ee=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.h&&(A.ue-=A.h,A.ae-=A.h,Sr(A.u,0,A.u,A.h,A.ae),2>A._e&&A._e++,r+=A.h,A.le>A.ae&&(A.le=A.ae)),r>A.o.avail_in&&(r=A.o.avail_in),r&&(zn(A.o,A.u,A.ae,r),A.ae+=r,A.le+=_n(r,A.h-A.le)),A.k<A.ae&&(A.k=A.ae),r=A.I+42>>3,r=_n(A.ne-r,Xn),n=_n(r,A.h),i=A.ae-A.ue,(i>=n||(i||4==e)&&0!=e&&0==A.o.avail_in&&r>=i)&&(t=_n(i,r),g=4==e&&0==A.o.avail_in&&t==i?1:0,Wn(A,A.u,t,g,A.ue),A.ue+=t,Jn(A.o)),g&&(A.Ee=8),g?2:0)}function Ag(A,e){let t,i=!1;for(;;){if(A.ce<Xr){if(Nn(A),A.ce<Xr&&0==e)return 0;if(0==A.ce)break}if(t=0,A.ce>=jr&&(t=Kn(A,A.ae)),0!=t&&A.ae-t<=Nr(A)&&(A.se=Vn(A,t)),A.se<jr)i=zr(A,A.u[A.ae]),A.ce--,A.ae++;else if(A.ae,A.Ne,A.se,i=Rr(A,A.ae-A.Ne,A.se-jr),A.ce-=A.se,A.se>A.ye||A.ce<jr)A.ae+=A.se,A.se=0,A.be=A.u[A.ae],A.be=xn(A,A.be,A.u[A.ae+1]);else{A.se--;do{A.ae++,t=Kn(A,A.ae)}while(0!=--A.se);A.ae++}if(i){let e=qn(A,!1);if(null!=e)return e}}if(A.le=A.ae<jr-1?A.ae:jr-1,4==e)return qn(A,!0)??3;if(A.D){let e=qn(A,!1);if(null!=e)return e}return 1}function eg(A,e){let t,i=!1;for(;;){if(A.ce<Xr){if(Nn(A),A.ce<Xr&&0==e)return 0;if(0==A.ce)break}if(t=0,A.ce>=jr&&(t=Kn(A,A.ae)),A.he=A.se,A.de=A.Ne,A.se=jr-1,0!=t&&A.he<A.ye&&A.ae-t<=Nr(A)&&(A.se=Vn(A,t),5>=A.se&&1==A.ve&&(A.se=jr-1)),A.he<jr||A.se>A.he)if(A.we){if(i=zr(A,A.u[A.ae-1]),i&&jn(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-jr;A.ae,A.de,A.he,i=Rr(A,A.ae-1-A.de,A.he-jr),A.ce-=A.he-1,A.he-=2;do{++A.ae<=e&&(t=Kn(A,A.ae))}while(0!=--A.he);if(A.we=0,A.se=jr-1,A.ae++,i){let e=qn(A,!1);if(null!=e)return e}}}if(A.we&&(i=zr(A,A.u[A.ae-1]),A.we=0),A.le=A.ae<jr-1?A.ae:jr-1,4==e)return qn(A,!0)??3;if(A.D){let e=qn(A,!1);if(null!=e)return e}return 1}var tg=852,ig=mr.map(A=>A+1),rg=Yr.subarray(0,-1).map(A=>A+3),ng=[16,1,73,1,200,1],gg=Dr.map(fg),og=Dr.map(Eg);gg.push(64,2),og.push(142,2);var ag=pr.map(fg),sg=pr.map(Eg);ag.push(...ng),sg.push(...ng);var Bg=new Ir([...rg,258,0,0]),lg=new Ir([...rg,3,0,0]),cg=Or(ag),ug=Or(sg),Ig=new Ir([...ig,0,0]),hg=new Ir([...ig,32769,49153]),dg=Or(gg),wg=Or(og);function fg(A,e){return e%2?A:A+16}function Eg(A,e){return e%2?A:A+128}function Cg(A,e){let t,i=A.l,r=A.next_in_index,n=A.next_out_index,g=A.next_in,o=A.next_out,a=i.u,s=i.p>>>0,B=i.I>>>0,l=i.et,c=i.tt,u=(1<<i.nt)-1,I=(1<<i.rt)-1,h=i.h>>>0,d=i.k>>>0,w=i.m>>>0,f=i.it,E=n-(e-A.avail_out),C=n+(A.avail_out-257),F=r+(A.avail_in-5),Q=0,p=0,D=0,m=0;A:do{for(;15>B;){if(r>=g.length)break A;s+=g[r++]<<B,B+=8}for(t=l[s&u];;){if(D=t.ft,s>>>=D,B-=D,D=t._t,0==D){o[n++]=t.lt;break}if(16&D){if(Q=t.lt,D&=15,D){for(;D>B;){if(r>=g.length){i.ot=16200;break A}s+=g[r++]<<B,B+=8}Q+=s&(1<<D)-1,s>>>=D,B-=D}for(;15>B;){if(r>=g.length){i.ot=16200;break A}s+=g[r++]<<B,B+=8}for(t=c[s&I];;){if(D=t.ft,s>>>=D,B-=D,D=t._t,16&D){if(p=t.lt,D&=15,D){for(;D>B;){if(r>=g.length){i.ot=16200;break A}s+=g[r++]<<B,B+=8}p+=s&(1<<D)-1,s>>>=D,B-=D}let e=Q,l=n-E;if(p>l){let t=p-l;if(t>d&&f){A.msg="invalid distance too far back",i.ot=16209;break A}if(0==w){if(m=h-t,t>=e){for(let A=0;e>A;++A)o[n++]=a[m++];continue A}for(let A=0;t>A;++A)o[n++]=a[m++];e-=t,m=n-p}else if(t>w){m=h+w-t;let A=t-w;if(A>=e){for(let A=0;e>A;++A)o[n++]=a[m++];continue A}for(let e=0;A>e;++e)o[n++]=a[m++];if(e-=A,m=0,e>w){for(let A=0;w>A;++A)o[n++]=a[m++];e-=w,m=n-p}}else{if(m=w-t,t>=e){for(let A=0;e>A;++A)o[n++]=a[m++];continue A}for(let A=0;t>A;++A)o[n++]=a[m++];e-=t,m=n-p}for(;e>2;)o[n++]=o[m++],o[n++]=o[m++],o[n++]=o[m++],e-=3;e&&(o[n++]=o[m++],e>1&&(o[n++]=o[m++]))}else{for(m=n-p;e>2;)o[n++]=o[m++],o[n++]=o[m++],o[n++]=o[m++],e-=3;e&&(o[n++]=o[m++],e>1&&(o[n++]=o[m++]))}break}if(64&D){A.msg="invalid distance code",i.ot=16209;break A}t=c[t.lt+(s&(1<<D)-1)]}break}if(64&D){if(32&D){i.ot=16191;break A}A.msg="invalid literal/length code",i.ot=16209;break A}t=l[t.lt+(s&(1<<D)-1)]}}while(F>r&&C>n);let Y=B>>3;r-=Y,B-=Y<<3,s&=(1<<B)-1,A.next_in_index=r,A.next_out_index=n,A.avail_in=F>r?F-r+5:5-(r-F),A.avail_out=C>n?C-n+257:257-(n-C),i.p=s>>>0,i.I=B>>>0}function Fg(A,e){let t=[],i=e?1446:1444;return{...Mr(A,0),o:A,ot:16180,ut:!1,G:0,ct:!1,st:0,ht:0,dt:0,wt:0,u:Fr,bt:0,gt:0,He:0,et:t,tt:t,nt:0,rt:0,vt:0,kt:0,xt:0,yt:0,It:t,zt:new Ir(320),Lt:new Ir(288),Et:new Er(i).fill(null).map(()=>Qg()),Mt:0,it:!0,Ft:0,qt:0,Nt:e}}function Qg(A=0,e=0,t=0){return{_t:A,ft:e,lt:t}}function pg(A=1){return{_t:64,ft:A,lt:0}}function Dg(A){return(255&A)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>24&255}var mg={Nt:!1,Vt:Bg,Wt:cg,St:Ig,$t:dg,At:20,Ut:257,Qt:0,Dt:592,Zt:!1,Ct:!0},Yg={Nt:!0,Vt:lg,Wt:ug,St:hg,$t:wg,At:19,Ut:256,Qt:-1,Dt:594,Zt:!0,Ct:!1};function Sg(A,e,t,i,r,n,g,o){let a,s,B,l,c,u,I,h,d,w,f,E,C,F,Q,p,D,m,Y,S=new Ir(16),y=new Ir(16),b=o?Yg:mg;for(a=0;15>=a;a++)S[a]=0;for(s=0;t>s;s++)S[e[s]]++;for(c=r.Tt,l=15;l>=1&&0==S[l];l--);if(c>l&&(c=l),0==l)return b.Ct?(Q=pg(1),i.Tt[0]=Q,i.Tt[1]=Q,r.Tt=1,0):-1;for(B=1;l>B&&0==S[B];B++);for(B>c&&(c=B),h=1,a=1;15>=a;a++)if(h<<=1,h-=S[a],0>h)return-1;if(h>0&&(0==A||1!=l))return-1;for(y[1]=0,a=1;15>a;a++)y[a+1]=y[a]+S[a];for(s=0;t>s;s++)0!=e[s]&&(n[y[e[s]]++]=s);switch(A){case 0:D=m=n,Y=b.At;break;case 1:D=b.Vt,m=b.Wt,Y=b.Ut;break;default:D=b.St,m=b.$t,Y=b.Qt}if(w=0,s=0,a=B,p=g.Tt,u=c,I=0,C=-1,d=1<<c,F=d-1,1==A&&(b.Zt?d>=tg:d>tg)||2==A&&(b.Zt?d>=b.Dt:d>b.Dt))return 1;for(;;){Q=yg(n,s,a,I,A,D,m,Y,b.Nt),f=1<<a-I,E=1<<u,B=E;do{E-=f;let A=(w>>I)+E;i.Tt[p+A]={...Q}}while(0!=E);for(f=1<<a-1;w&f;)f>>=1;if(0!=f?(w&=f-1,w+=f):w=0,s++,0==--S[a]){if(a==l)break;a=e[n[s]]}if(a>c&&(w&F)!=C){for(0==I&&(I=c),p+=1<<u,u=a-I,h=1<<u;l>u+I&&(h-=S[u+I],h>0);)u++,h<<=1;if(d+=1<<u,1==A&&(b.Zt?d>=tg:d>tg)||2==A&&(b.Zt?d>=b.Dt:d>b.Dt))return 1;C=w&F,i.Tt[g.Tt+C]={_t:u,ft:c,lt:p-g.Tt}}}if(0!=w)for(Q=pg(a-I);0!=w;){for(0!=I&&(w&F)!=C&&(I=0,a=c,p=g.Tt,u=c,Q.ft=a),i.Tt[p+(w>>I)]={...Q},f=1<<a-1;w&f;)f>>=1;0!=f?(w&=f-1,w+=f):w=0}return g.Tt+=d,r.Tt=c,0}function yg(A,e,t,i,r,n,g,o,a){let s;if(a?A[e]<o:A[e]+1<o)s=Qg(0,t-i,A[e]);else if(a?A[e]>o:A[e]>=o)if(a&&1==r){let r=A[e]-257;s=Qg(g[r],t-i,n[r])}else{let r=a?A[e]:A[e]-o;s=Qg(g[r],t-i,n[r])}else s=((A=0)=>({_t:96,ft:A,lt:0}))(t-i);return s}var bg,Mg,Og=new Er(544),Wg=!0;function Gg(A){let e;return!(A&&(e=A.l,!(!e||e.o!=A||e.Nt&&(16191>e.ot||e.ot>16209)||!e.Nt&&(16180>e.ot||e.ot>16211))))}function Ug(A){let e={Tt:0};if(Wg){let t,i,r;for(t=0;144>t;)A.zt[t++]=8;for(;256>t;)A.zt[t++]=9;for(;280>t;)A.zt[t++]=7;for(;288>t;)A.zt[t++]=8;for(let A=0;544>A;A++)Og[A]=Qg();r=Og,bg=r,i=9;let n={Tt:r},g={Tt:i},o={Tt:0};for(Sg(1,A.zt,288,n,g,A.Lt,o,A.Nt),r=n.Tt,i=g.Tt,A.Mt=o.Tt,t=0;32>t;)A.zt[t++]=5;i=5;let a=o.Tt,s={Tt:r},B={Tt:i};e.Tt=a,Sg(2,A.zt,32,s,B,A.Lt,e,A.Nt),Mg=r.slice(a),Wg=!1}A.et=bg,A.nt=9,A.tt=Mg,A.rt=5,A.Mt=e.Tt}var Tg=class extends fr{constructor(){super("Need more input")}};function xg(A,e){let t,i,r,n,g,o,a,s,B,l,c,u,I,h,d,w,f,E=new ur(4);if(Gg(A)||!A.next_out||!A.next_in&&0!=A.avail_in)return-2;o=0,s=0,a=0,B=0,i=Fr,r=0,n=Fr,g=0,t=A.l,16191==t.ot&&(t.ot=16192),D(),l=o,c=a,f=0;try{for(;;)switch(t.ot){case 16180:if(0==t.G){t.ot=16192;break}if(y(16),2&t.G&&35615==s){0==t.v&&(t.v=15),t.dt=Fn(0),t.dt=Q(t.dt,s),Y(),t.ot=16181;break}if(t.O&&(t.O.Bt=-1),!(1&t.G)||((b(8)<<8)+(s>>8))%31){A.msg="incorrect header check",t.ot=16209;break}if(8!=b(4)){A.msg="unknown compression method",t.ot=16209;break}if(M(4),w=b(4)+8,0==t.v&&(t.v=w),w>15||w>t.v){A.msg="invalid window size",t.ot=16209;break}t.ht=1<<w,t.st=0,A.i=t.dt=En(0),t.ot=512&s?16189:16191,Y();break;case 16181:if(y(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.O&&(t.O.Pe=s>>8&1),512&t.st&&4&t.G&&(t.dt=Q(t.dt,s)),Y(),t.ot=16182;case 16182:y(32),t.O&&(t.O.Ye=s),512&t.st&&4&t.G&&(t.dt=p(t.dt,s)),Y(),t.ot=16183;case 16183:y(16),t.O&&(t.O.Rt=255&s,t.O.je=s>>8),512&t.st&&4&t.G&&(t.dt=Q(t.dt,s)),Y(),t.ot=16184;case 16184:1024&t.st?(y(16),t.bt=s,t.O&&(t.O.Ke=s),512&t.st&&4&t.G&&(t.dt=Q(t.dt,s)),Y()):t.O&&(t.O.He=Fr),t.ot=16185;case 16185:if(1024&t.st&&(u=t.bt,u>o&&(u=o),u&&(t.O&&t.O.He&&t.O.Gt&&(w=t.O.Ke-t.bt)<t.O.Gt&&Sr(t.O.He,w,i,r,u),512&t.st&&4&t.G&&(t.dt=Fn(t.dt,i.subarray(r,r+u),u)),o-=u,r+=u,t.bt-=u),t.bt))return C();t.bt=0,t.ot=16186;case 16186:if(2048&t.st){if(0==o)return C();u=0;do{w=i[r+u++],t.O&&t.O.Ot&&t.bt<t.O.Ot&&(t.O.Je[t.bt++]=w)}while(w&&o>u);if(512&t.st&&4&t.G&&(t.dt=Fn(t.dt,i.subarray(r,r+u),u)),o-=u,r+=u,w)return C()}else t.O&&(t.O.Je=Fr);t.bt=0,t.ot=16187;case 16187:if(4096&t.st){if(0==o)return C();u=0;do{w=i[r+u++],t.O&&t.O.Pt&&t.bt<t.O.Pt&&(t.O.Xe[t.bt++]=w)}while(w&&o>u);if(512&t.st&&4&t.G&&(t.dt=Fn(t.dt,i.subarray(r,r+u),u)),o-=u,r+=u,w)return C()}else t.O&&(t.O.Xe=Fr);t.ot=16188;case 16188:if(512&t.st){if(y(16),4&t.G&&s!=(65535&t.dt)){A.msg="header crc mismatch",t.ot=16209;break}Y()}t.O&&(t.O.Oe=t.st>>9&1,t.O.Bt=1),A.i=t.dt=Fn(0),t.ot=16191;break;case 16189:y(32),A.i=t.dt=Dg(s),Y(),t.ot=16190;case 16190:if(!t.ct)return m(),2;A.i=t.dt=En(0),t.ot=16191;case 16191:if(5==e||6==e)return C();case 16192:if(t.ut){O(),t.ot=16206;break}switch(y(3),t.ut=!!b(1),M(1),b(2)){case 0:t.ot=16193;break;case 1:if(Ug(t),t.ot=16199,6==e)return M(2),C();break;case 2:t.ot=16196;break;case 3:A.msg="invalid block type",t.ot=16209}M(2);break;case 16193:if(O(),y(32),(65535&s)!=(s>>>16^65535)){A.msg="invalid stored block lengths",t.ot=16209;break}if(t.bt=65535&s,Y(),t.ot=16194,6==e)return C();case 16194:t.ot=16195;case 16195:if(u=t.bt,u){if(u>o&&(u=o),u>a&&(u=a),0==u)return C();Sr(n,g,i,r,u),o-=u,r+=u,a-=u,g+=u,t.bt-=u;break}t.ot=16191;break;case 16196:if(y(14),t.kt=b(5)+257,M(5),t.xt=b(5)+1,M(5),t.vt=b(4)+4,M(4),t.kt>286||!t.Nt&&t.xt>30){A.msg=t.Nt?"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.vt;)y(3),t.zt[Cr[t.yt++]]=b(3),M(3);for(;19>t.yt;)t.zt[Cr[t.yt++]]=0;t.It=t.Et,t.et=t.tt=t.It,t.nt=7;let l={Tt:t.It},E={Tt:t.nt},W={Tt:0};if(f=Sg(0,t.zt,19,l,E,t.Lt,W,t.Nt),t.It=l.Tt,t.nt=E.Tt,f){A.msg="invalid code lengths set",t.ot=16209;break}t.yt=0,t.ot=16198;case 16198:for(;t.yt<t.kt+t.xt;){for(;h=t.et[b(t.nt)],h.ft>B;)S();if(16>h.lt)M(h.ft),t.zt[t.yt++]=h.lt;else{if(16==h.lt){if(y(h.ft+2),M(h.ft),0==t.yt){A.msg="invalid bit length repeat",t.ot=16209;break}w=t.zt[t.yt-1],u=3+b(2),M(2)}else 17==h.lt?(y(h.ft+3),M(h.ft),w=0,u=3+b(3),M(3)):(y(h.ft+7),M(h.ft),w=0,u=11+b(7),M(7));if(t.yt+u>t.kt+t.xt){A.msg="invalid bit length repeat",t.ot=16209;break}for(;u--;)t.zt[t.yt++]=w}}if(16209==t.ot)break;if(0==t.zt[256]){A.msg="invalid code -- missing end-of-block",t.ot=16209;break}t.It=t.Et,t.nt=9;let G={Tt:t.It},U={Tt:t.nt},T={Tt:0};f=Sg(1,t.zt,t.kt,G,U,t.Lt,T,t.Nt),t.It=G.Tt,t.nt=U.Tt;let x=T.Tt;if(t.et=t.It.slice(0,x),f){A.msg="invalid literal/lengths set",t.ot=16209;break}t.rt=6;let K=t.zt.subarray(t.kt,t.kt+t.xt),k={Tt:t.It},R={Tt:t.rt},z={Tt:x};if(f=Sg(2,K,t.xt,k,R,t.Lt,z,t.Nt),t.It=k.Tt,t.rt=R.Tt,t.tt=t.It.slice(x),f){A.msg="invalid distances set",t.ot=16209;break}if(t.ot=16199,6==e)return C();case 16199:t.ot=16200;case 16200:if(!t.Nt&&o>=6&&a>=258){m(),Cg(A,c),D(),16191==t.ot&&(t.Ft=-1);break}for(t.Ft=0;h=t.et[b(t.nt)],h.ft>B;)S();if(h._t&&!(240&h._t)){for(d=h;h=t.et[d.lt+(b(d.ft+d._t)>>d.ft)],d.ft+h.ft>B;)S();M(d.ft),t.Ft+=d.ft}if(M(h.ft),t.Ft+=h.ft,t.bt=h.lt,0==h._t){t.ot=16205;break}if(32&h._t){t.Ft=-1,t.ot=16191;break}if(64&h._t){A.msg="invalid literal/length code",t.ot=16209;break}t.He=15&h._t,t.ot=16201;case 16201:t.He&&(y(t.He),t.bt+=b(t.He),M(t.He),t.Ft+=t.He),t.qt=t.bt,t.ot=16202;case 16202:for(;h=t.tt[b(t.rt)],h.ft>B;)S();if(!(240&h._t)){for(d=h;h=t.tt[d.lt+(b(d.ft+d._t)>>d.ft)],d.ft+h.ft>B;)S();M(d.ft),t.Ft+=d.ft}if(M(h.ft),t.Ft+=h.ft,64&h._t){A.msg="invalid distance code",t.ot=16209;break}t.gt=h.lt,t.He=15&h._t,t.ot=16203;case 16203:t.He&&(y(t.He),t.gt+=b(t.He),M(t.He),t.Ft+=t.He),t.ot=16204;case 16204:if(0==a)return C();if(u=c-a,t.gt>u){if(u=t.gt-u,u>t.k&&t.it){A.msg="invalid distance too far back",t.ot=16209;break}u>t.m?(u-=t.m,I=t.h-u):I=t.m-u,u>t.bt&&(u=t.bt),u>a&&(u=a);for(let A=0;u>A;++A)n[g]=255&t.u[I],++g,++I}else{I=g-t.gt,u=t.bt,u>a&&(u=a);for(let A=0;u>A;++A)n[g]=n[I],++g,++I}u>a&&(u=a),a-=u,t.bt-=u,0==t.bt&&(t.ot=16200);break;case 16205:if(0==a)return C();n[g++]=t.bt,a--,t.ot=16200;break;case 16206:if(t.G){if(y(32),c-=a,A.total_out+=c,t.wt+=c,4&t.G&&c){let e=n.subarray(g-c,g);A.i=t.dt=F(t.dt,e,c)}if(c=a,4&t.G&&(t.st?s:Dg(s)>>>0)!=t.dt){A.msg="incorrect data check",t.ot=16209;break}Y()}t.ot=16207;case 16207:if(t.G&&t.st){if(y(32),4&t.G&&s!=(4294967295&t.wt)){A.msg="incorrect length check",t.ot=16209;break}Y()}t.ot=16208;case 16208:return f=1,C();case 16209:return f=-3,C();case 16210:return-4;default:return-2}}catch(A){if(A instanceof Tg)return C();throw A}function C(){if(m(),t.h||c!=A.avail_out&&16209>t.ot&&(t.Nt?16208>t.ot:16206>t.ot)||4!=e){let e=c-A.avail_out;if(((A,e,t)=>{let i=A.l;if(!(i.u&&0!=i.u.length||(i.u=new ur(1<<i.v),i.u)))return 1;if(0==i.h&&(i.h=1<<i.v,i.m=0,i.k=0),t<i.h){let A=i.h-i.m;A>t&&(A=t),Sr(i.u,i.m,e,e.length-t,A),(t-=A)?(Sr(i.u,0,e,e.length-t,t),i.m=t,i.k=i.h):(i.m+=A,i.m==i.h&&(i.m=0),i.k<i.h&&(i.k+=A))}else Sr(i.u,0,e,e.length-i.h,i.h),i.m=0,i.k=i.h;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.G&&c&&(A.i=t.dt=F(t.dt,A.next_out.subarray(A.next_out_index-c,A.next_out_index),c)),A.t=t.I+(t.ut?64:0)+(16191==t.ot?128:0)+(16199==t.ot||16194==t.ot?256:0),(0==l&&0==c&&0==f||4==e&&0==f)&&(f=-5),f}function F(A,e,i){return t.st?Fn(A,e,i):En(A,e,i)}function Q(A,e){return E[0]=255&e,E[1]=e>>>8&255,Fn(A,E,2)>>>0}function p(A,e){return E[0]=255&e,E[1]=e>>>8&255,E[2]=e>>>16&255,E[3]=e>>>24&255,Fn(A,E,4)>>>0}function D(){n=A.next_out,g=A.next_out_index,a=A.avail_out,i=A.next_in,r=A.next_in_index,o=A.avail_in,s=t.p,B=t.I}function m(){A.next_out=n,A.next_out_index=g,A.avail_out=a,A.next_in=i,A.next_in_index=r,A.avail_in=o,t.p=s,t.I=B}function Y(){s=0,B=0}function S(){if(0==o)throw new Tg;o--,s+=(255&i[r])<<B,r++,s>>>=0,B+=8}function y(A){for(;A>B;)S()}function b(A){return s&(1<<A)-1}function M(A){s>>>=A,B-=A}function O(){s>>>=7&B,B-=7&B}}function Kg(A){return Gg(A)?-2:0}var kg=65536,Rg=class{constructor(A=16,e=kg){this.Ht=[],this.Jt=A;for(let t=0;t<wr.min(A,4);t++)this.Ht.push(new ur(e))}acquire(A=kg){for(let e=this.Ht.length-1;e>=0;e--){let t=this.Ht[e];if(t.length>=A)return this.Ht.splice(e,1),t}return new ur(A)}release(A){this.Ht.length<this.Jt&&this.Ht.push(A)}};function zg(A){let e=new Rg(32,kg),t=null;function i(A){try{e.release(A)}catch{}}return new dr({start(){},transform(r,n){if(!t){let e=A.Xt(),i=A.Yt(e);if(0!=i&&0!=i)throw new fr("init failed: "+i);t={o:e}}let g=t.o,o=0;for(;o<r.length;){let t=wr.min(r.length-o,32768),a=r.subarray(o,o+t);for(g.next_in=a,g.next_in_index=0,g.avail_in=a.length;g.avail_in>0;){let t=e.acquire(),r=!1;try{g.next_out=t,g.next_out_index=0,g.avail_out=t.length;let i=A.jt(g,0),o=t.length-g.avail_out;if(o>0){let A=!1,i={Kt:t.subarray(0,o),release:()=>{A||(A=!0,e.release(t))}};r=!0,n.enqueue(i)}if(0!=i&&1!=i)throw new fr("process error: "+i)}finally{r||i(t)}}o+=t}},flush(r){if(!t)return;let n=t.o;for(;;){let t=e.acquire(),g=!1;try{n.next_out=t,n.next_out_index=0,n.avail_out=t.length;let i=A.jt(n,4),o=t.length-n.avail_out;if(o>0){let A=!1,i={Kt:t.subarray(0,o),release:()=>{A||(A=!0,e.release(t))}};g=!0,r.enqueue(i)}if(1==i)break;if(0!=i)throw new fr("finalization error: "+i)}finally{g||i(t)}}let g=A.en(n);if(0!=g&&0!=g)throw new fr("end failed: "+g)}})}function Ng(){return new dr({start(){},transform(A,e){try{e.enqueue(A.Kt.slice(0))}finally{A.release()}},flush(){}})}aA({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 zg({Xt:()=>(()=>{let A=br();return A.l=Lr(A),A})(),Yt:A=>((A,e,t=8,i=15,r=Vr,n=0)=>{let g=1;if(!A)return-2;if(A.msg="",-1==e&&(e=6),0>i){if(g=0,-15>i)return-2;i=-i}else i>15&&(g=2,i-=16);if(1>r||r>9||8!=t||8>i||i>15||0>e||e>9||0>n||n>4||8==i&&1!=g)return-2;8==i&&(i=9);let o=Lr(A);return o?(A.l=o,o.o=A,o.R=42,o.G=g,o.O=void 0,o.v=i,o.h=1<<o.v,o.P=o.h-1,o.H=r+7,o.J=1<<o.H,o.X=o.J-1,o.Y=(o.H+jr-1)/jr,o.u=new ur(2*o.h),o.j=new Ir(o.h),o.K=new Ir(o.J),o.k=0,o.ee=1<<r+6,o.$=new ur(4*o.ee),o.ne=4*o.ee,o.u&&o.j&&o.K&&o.$?(o.Le=o.$.subarray(o.ee),o.U=o.te+o.ee,o.B=3*(o.ee-1),o.ge=e,o.ve=n,o.Fe=t,(A=>{let e=(A=>{let e;return Hn(A)?-2:(A.total_in=A.total_out=0,A.msg="",A.t=2,e=A.l,e.A=0,e.re=e.te,0>e.G&&(e.G=-e.G),e.R=2==e.G?57:42,A.i=2==e.G?Fn(0):En(0),e.oe=-2,(A=>{if(A.C&&A.C.length>=rn)for(let e=0;rn>e;e++)A.C[e]=vr();else{A.C=[];for(let e=0;rn>e;e++)A.C.push(vr())}if(A.T&&A.T.length>=2*en+1)for(let e=0;2*en+1>e;e++)A.T[e]=vr();else{A.T=[];for(let e=0;2*en+1>e;e++)A.T.push(vr())}if(A.Se&&A.Se.length>=2*tn+1)for(let e=0;2*tn+1>e;e++)A.Se[e]=vr();else{A.Se=[];for(let e=0;2*tn+1>e;e++)A.Se.push(vr())}A.$e=new Wr(A.C,new Gr(In,sn,$r+1,An,nn)),A.Ae=new Wr(A.T,new Gr(hn,Bn,0,en,nn)),A.Ue=new Wr(A.Se,new Gr(null,ln,0,tn,7)),A.p=0,A.I=0,A.Ee=0,mn(A)})(e),0)})(A);return 0==e&&(A=>{A.qe=2*A.h,kn(A),A.ye=Un[A.ge].Te,A.ke=Un[A.ge].Be,A.me=Un[A.ge].Re,A.xe=Un[A.ge].Ge,A.ae=0,A.ue=0,A.ce=0,A.le=0,A.se=A.he=jr-1,A.we=0,A.be=0})(A.l),e})(A)):(o.R=666,A.msg=Ur(-4),Pn(A),-4)):-4})(A,i,8,t,8,0),jt:Zn,en:Pn})}(A,e);this.writable=t.writable,this.readable=t.readable.pipeThrough(Ng())}},DecompressionStreamZlib:class{constructor(A="deflate"){let e=((A="deflate")=>{let e="gzip"==A?31:"deflate-raw"==A?-15:15;return zg({Xt:()=>(A=>{let e=br();return e.l=Fg(e,!!A),e})("deflate64-raw"==A),Yt:A=>function(A,e){let t,i;if(!A)return-2;A.msg="";let r=!!A.l.Nt;return i=Fg(A,r),r&&(e=-16),A.l=i,i.o=A,i.ot=i.Nt?16191:16180,t=((A,e)=>{let t,i,r;if(Gg(A))return-2;if(i=A.l,i.Nt?(e=-16,r=16):r=15,0>e){if(-r>e)return-2;t=0,e=-e}else t=5+(e>>4),!i.Nt&&48>e&&(e&=15);return e&&(8>e||e>r)?-2:(i.u.length>0&&i.v!=e&&(i.u=Fr),i.G=t,i.v=e,(A=>{let e;return Gg(A)?-2:(e=A.l,e.h=0,e.k=0,e.m=0,(A=>{let e;return Gg(A)?-2:(e=A.l,A.total_in=A.total_out=e.wt=0,A.msg="",e.G&&(A.i=1&e.G),e.ot=e.Nt?16191:16180,e.ut=!1,e.ct=!1,e.st=-1,e.ht=e.Nt?65536:32768,delete e.O,e.p=0,e.I=0,e.et=e.Et,e.tt=e.Et,e.It=e.Et,e.it=!0,e.Ft=-1,0)})(A))})(A))})(A,e),t}(A,e),jt:xg,en:Kg})})(A);this.writable=e.writable,this.readable=e.readable.pipeThrough(Ng())}}}),(A=>{A({workerURI:A=>{const e="text/javascript",t=(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=BA.indexOf(A[i])<<18|BA.indexOf(A[i+1])<<12|(63&BA.indexOf(A[i+2]))<<6|63&BA.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 u(t)})(A);let e=new u(1024),t=0;for(let r=0;r<A.length;){const n=A[r++];if(128&n){const g=3+(127&n),o=A[r++]<<8|A[r++],a=t-o;i(t+g);for(let A=0;g>A;A++)e[t++]=e[a+A]}else{const g=n;i(t+g);for(let i=0;g>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+=BA[t>>18&63]+BA[t>>12&63]+BA[t>>6&63]+BA[63&t]}const r=t-i;if(1===r){const t=A[i]<<16;e+=BA[t>>18&63]+BA[t>>12&63]+"=="}else if(2===r){const t=A[i]<<16|A[i+1]<<8;e+=BA[t>>18&63]+BA[t>>12&63]+BA[t>>6&63]+"="}return e})(new u(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 u(i);r.set(e.subarray(0,t)),e=r}}})("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");if(A){const A=atob(t),i=new w([A],{type:e});return l.createObjectURL(i)}return"data:"+e+";base64,"+t}})})(aA),A.BlobReader=Ze,A.BlobWriter=Pe,A.Data64URIReader=class extends Je{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:g.floor(.75*(e-i))})}readUint8Array(A,e){const{dataStart:t,dataURI:i}=this,r=new u(e),n=4*g.floor(A/3),o=atob(i.substring(n+t,4*g.ceil((A+e)/3)+t)),a=A-3*g.floor(n/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 ve{constructor(A){super(),t.assign(this,{data:"data:"+(A||"")+";base64,",pending:[]})}writeUint8Array(A){const e=this;let t=0,r=e.pending;const n=e.pending.length;for(e.pending="",t=0;t<3*g.floor((n+A.length)/3)-n;t++)r+=i.fromCharCode(A[t]);for(;t<A.length;t++)e.pending+=i.fromCharCode(A[t]);r.length&&(r.length>2?e.data+=p(r):e.pending+=r)}getData(){return this.data+p(this.pending)}},A.ERR_BAD_FORMAT=gi,A.ERR_CENTRAL_DIRECTORY_NOT_FOUND=si,A.ERR_DUPLICATED_NAME=xi,A.ERR_ENCRYPTED=ci,A.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ai,A.ERR_EOCDR_NOT_FOUND=oi,A.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=li,A.ERR_HTTP_RANGE=Ke,A.ERR_INVALID_COMMENT=Ki,A.ERR_INVALID_ENCRYPTION_STRENGTH=Ni,A.ERR_INVALID_ENTRY_COMMENT=ki,A.ERR_INVALID_ENTRY_NAME=Ri,A.ERR_INVALID_EXTRAFIELD_DATA=Li,A.ERR_INVALID_EXTRAFIELD_TYPE=Hi,A.ERR_INVALID_PASSWORD=FA,A.ERR_INVALID_SIGNATURE=QA,A.ERR_INVALID_UNCOMPRESSED_SIZE=oe,A.ERR_INVALID_VERSION=zi,A.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Bi,A.ERR_OVERLAPPING_ENTRY=di,A.ERR_SPLIT_ZIP_FILE=hi,A.ERR_UNDEFINED_UNCOMPRESSED_SIZE=vi,A.ERR_UNSUPPORTED_COMPRESSION=Ii,A.ERR_UNSUPPORTED_ENCRYPTION=ui,A.ERR_UNSUPPORTED_FORMAT=Ji,A.ERR_ZIP_NOT_EMPTY=Zi,A.HttpRangeReader=class extends ot{constructor(A,e={}){e.useRangeHeader=!0,super(A,e)}},A.HttpReader=ot,A.Reader=Je,A.SplitDataReader=at,A.SplitDataWriter=st,A.TextReader=class extends Ze{constructor(A){super(new w([A],{type:"text/plain"}))}},A.TextWriter=class extends Pe{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 f((r,n)=>{t.assign(e,{onload:({target:A})=>r(A.result),onerror:()=>n(e.error)}),e.readAsText(i,A)})}}},A.Uint8ArrayReader=class extends Je{constructor(A){super(),A=new u(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 ve{constructor(A){super(),this.defaultBufferSize=A||262144}init(A=0){t.assign(this,{offset:0,array:new u(A>0?A:this.defaultBufferSize)}),super.init()}writeUint8Array(A){const e=this,t=e.offset+A.length;if(t>e.array.length){let A=e.array.length?2*e.array.length:e.defaultBufferSize;for(;t>A;)A*=2;const i=e.array;e.array=new u(A),e.array.set(i)}e.array.set(A,e.offset),e.offset+=A.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},A.Writer=ve,A.ZipReader=Fi,A.ZipReaderStream=class{constructor(A={}){const{readable:e,writable:t}=new D,i=new Fi(e,A).getEntriesGenerator();this.readable=new m({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 D;if(t.getData)return t.getData(e),A})()};delete r.getData,A.enqueue(r)}}),this.writable=t}},A.ZipWriter=_i,A.ZipWriterStream=class{constructor(A={}){const{readable:e,writable:t}=new D;this.readable=e,this.zipWriter=new _i(t,A)}transform(A){const{readable:e,writable:t}=new D({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(A,e),{readable:this.readable,writable:t}}writable(A){const{readable:e,writable:t}=new D;return this.zipWriter.add(A,e),t}close(A,e={}){return this.zipWriter.close(A,e)}},A.configure=aA,A.getMimeType=()=>"application/octet-stream",A.terminateWorkers=async()=>{await f.allSettled(Oe.map(A=>(Te(A),A.terminate())))}});
1
+ ((e,A)=>{"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define(["exports"],A):A((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:A,Object:t,String:i,Number:r,BigInt:n,Math:a,Date:o,Map:g,Set:s,Response:B,URL:l,Error:c,Uint8Array:u,Uint16Array:h,Uint32Array:w,DataView:d,Blob:I,Promise:f,TextEncoder:C,TextDecoder:E,document:D,crypto:F,btoa:m,TransformStream:p,ReadableStream:Q,WritableStream:Y,CompressionStream:y,DecompressionStream:S,navigator:b,Worker:M}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==D?D.currentScript:null;const O=4294967295,W=65535,G=255,T=67324752,k=134695760,R=k,K=33639248,x=101010256,H=101075792,z=117853008,L=22,N=21589,J=2048,v=16384,V=2048,P=1024,X="/",Z=30,q=new o(2107,11,31),_=new o(1980,0,1),j=void 0,$=1/0,ee="undefined",Ae="function";let te=2;try{typeof b!=ee&&b.hardwareConcurrency&&(te=b.hardwareConcurrency)}catch{}const ie={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:te,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof y!=ee&&y,DecompressionStream:typeof S!=ee&&S},re=t.assign({},ie);function ne(){return re}function ae(e){return a.max(e.chunkSize,64)}function oe(e){const{baseURI:A,chunkSize:t,maxWorkers:i,terminateWorkerTimeout:r,workerStarvationTimeout:n,useCompressionStream:a,useWebWorkers:o,CompressionStream:g,DecompressionStream:s,CompressionStreamZlib:B,DecompressionStreamZlib:l,workerURI:c,wasmURI:u}=e;ge("baseURI",A),ge("wasmURI",u),ge("workerURI",c),ge("chunkSize",t),ge("maxWorkers",i),ge("terminateWorkerTimeout",r),ge("workerStarvationTimeout",n),ge("useCompressionStream",a),ge("useWebWorkers",o),ge("CompressionStream",g),ge("DecompressionStream",s),ge("CompressionStreamZlib",B),ge("DecompressionStreamZlib",l)}function ge(e,A){A!==j&&(re[e]=A)}const se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=[];for(let e=0;256>e;e++){let A=e;for(let e=0;8>e;e++)1&A?A=A>>>1^3988292384:A>>>=1;Be[e]=A}class le{constructor(e){this.crc=e||-1}append(e){let A=0|this.crc;for(let t=0,i=0|e.length;i>t;t++)A=A>>>8^Be[255&(A^e[t])];this.crc=A}get(){return~this.crc}}class ce extends p{constructor(){let e;const A=new le;super({transform(e,t){A.append(e),t.enqueue(e)},flush(){const t=new u(4);new d(t.buffer).setUint32(0,A.get()),e.value=t}}),e=this}}function ue(e){if(typeof C==ee){const A=new u((e=unescape(encodeURIComponent(e))).length);for(let t=0;t<A.length;t++)A[t]=e.charCodeAt(t);return A}return(new C).encode(e)}const he={concat(e,A){if(0===e.length||0===A.length)return e.concat(A);const t=e[e.length-1],i=he.getPartial(t);return 32===i?e.concat(A):he._shiftRight(A,i,0|t,e.slice(0,e.length-1))},bitLength(e){const A=e.length;if(0===A)return 0;const t=e[A-1];return 32*(A-1)+he.getPartial(t)},clamp(e,A){if(32*e.length<A)return e;const t=(e=e.slice(0,a.ceil(A/32))).length;return A&=31,t>0&&A&&(e[t-1]=he.partial(A,e[t-1]&2147483648>>A-1,1)),e},partial:(e,A,t)=>32===e?A:(t?0|A:A<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,A,t,i){for(void 0===i&&(i=[]);A>=32;A-=32)i.push(t),t=0;if(0===A)return i.concat(e);for(let r=0;r<e.length;r++)i.push(t|e[r]>>>A),t=e[r]<<32-A;const r=e.length?e[e.length-1]:0,n=he.getPartial(r);return i.push(he.partial(A+n&31,A+n>32?t:i.pop(),1)),i}},we={bytes:{fromBits(e){const A=he.bitLength(e)/8,t=new u(A);let i;for(let r=0;A>r;r++)3&r||(i=e[r/4]),t[r]=i>>>24,i<<=8;return t},toBits(e){const A=[];let t,i=0;for(t=0;t<e.length;t++)i=i<<8|e[t],3&~t||(A.push(i),i=0);return 3&t&&A.push(he.partial(8*(3&t),i)),A}}},de=class{constructor(e){const A=this;A.blockSize=512,A._init=[1732584193,4023233417,2562383102,271733878,3285377520],A._key=[1518500249,1859775393,2400959708,3395469782],e?(A._h=e._h.slice(0),A._buffer=e._buffer.slice(0),A._length=e._length):A.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const A=this;"string"==typeof e&&(e=we.utf8String.toBits(e));const t=A._buffer=he.concat(A._buffer,e),i=A._length,r=A._length=i+he.bitLength(e);if(r>9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const n=new w(t);let a=0;for(let e=A.blockSize+i-(A.blockSize+i&A.blockSize-1);r>=e;e+=A.blockSize)A._block(n.subarray(16*a,16*(a+1))),a+=1;return t.splice(0,16*a),A}finalize(){const e=this;let A=e._buffer;const t=e._h;A=he.concat(A,[he.partial(1,1)]);for(let e=A.length+2;15&e;e++)A.push(0);for(A.push(a.floor(e._length/4294967296)),A.push(0|e._length);A.length;)e._block(A.splice(0,16));return e.reset(),t}_f(e,A,t,i){return e>19?e>39?e>59?e>79?void 0:A^t^i:A&t|A&i|t&i:A^t^i:A&t|~A&i}_S(e,A){return A<<e|A>>>32-e}_block(e){const t=this,i=t._h,r=A(80);for(let A=0;16>A;A++)r[A]=e[A];let n=i[0],o=i[1],g=i[2],s=i[3],B=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const A=t._S(5,n)+t._f(e,o,g,s)+B+r[e]+t._key[a.floor(e/20)]|0;B=s,s=g,g=t._S(30,o),o=n,n=A}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+g|0,i[3]=i[3]+s|0,i[4]=i[4]+B|0}},Ie={importKey:e=>new Ie.hmacSha1(we.bytes.toBits(e)),pbkdf2(e,A,t,i){if(t=t||1e4,0>i||0>t)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let n,a,o,g,s;const B=new ArrayBuffer(r),l=new d(B);let u=0;const h=he;for(A=we.bytes.toBits(A),s=1;(r||1)>u;s++){for(n=a=e.encrypt(h.concat(A,[s])),o=1;t>o;o++)for(a=e.encrypt(a),g=0;g<a.length;g++)n[g]^=a[g];for(o=0;(r||1)>u&&o<n.length;o++)l.setInt32(u,n[o]),u+=4}return B.slice(0,i/8)},hmacSha1:class{constructor(e){const A=this,t=A._hash=de,i=[[],[]];A._baseHash=[new t,new t];const r=A._baseHash[0].blockSize/32;e.length>r&&(e=(new t).update(e).finalize());for(let A=0;r>A;A++)i[0][A]=909522486^e[A],i[1][A]=1549556828^e[A];A._baseHash[0].update(i[0]),A._baseHash[1].update(i[1]),A._resultHash=new t(A._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,A=e._resultHash.finalize(),t=new e._hash(e._baseHash[1]).update(A).finalize();return e.reset(),t}encrypt(e){if(this._updated)throw new c("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},fe=typeof F!=ee&&typeof F.getRandomValues==Ae,Ce="Invalid password",Ee="Invalid signature",De="zipjs-abort-check-password";function Fe(e){if(fe)return F.getRandomValues(e);throw new c("Crypto API not supported")}const me=16,pe={name:"PBKDF2"},Qe=t.assign({hash:{name:"HMAC"}},pe),Ye=t.assign({iterations:1e3,hash:{name:"SHA-1"}},pe),ye=["deriveBits"],Se=[8,12,16],be=[16,24,32],Me=10,Ue=[0,0,0,0],Oe=typeof F!=ee,We=Oe&&F.subtle,Ge=Oe&&typeof We!=ee,Te=we.bytes,ke=class{constructor(e){const A=this;A._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],A._tables[0][0][0]||A._precompute();const t=A._tables[0][4],i=A._tables[1],r=e.length;let n,a,o,g=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(A._key=[a=e.slice(0),o=[]],n=r;4*r+28>n;n++){let e=a[n-1];(n%r===0||8===r&&n%r===4)&&(e=t[e>>>24]<<24^t[e>>16&255]<<16^t[e>>8&255]<<8^t[255&e],n%r===0&&(e=e<<8^e>>>24^g<<24,g=g<<1^283*(g>>7))),a[n]=a[n-r]^e}for(let e=0;n;e++,n--){const A=a[3&e?n:n-4];o[e]=4>=n||4>e?A:i[0][t[A>>>24]]^i[1][t[A>>16&255]]^i[2][t[A>>8&255]]^i[3][t[255&A]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],A=this._tables[1],t=e[4],i=A[4],r=[],n=[];let a,o,g,s;for(let e=0;256>e;e++)n[(r[e]=e<<1^283*(e>>7))^e]=e;for(let B=a=0;!t[B];B^=o||1,a=n[a]||1){let n=a^a<<1^a<<2^a<<3^a<<4;n=n>>8^255&n^99,t[B]=n,i[n]=B,s=r[g=r[o=r[B]]];let l=16843009*s^65537*g^257*o^16843008*B,c=257*r[n]^16843008*n;for(let t=0;4>t;t++)e[t][B]=c=c<<24^c>>>8,A[t][n]=l=l<<24^l>>>8}for(let t=0;5>t;t++)e[t]=e[t].slice(0),A[t]=A[t].slice(0)}_crypt(e,A){if(4!==e.length)throw new c("invalid aes block size");const t=this._key[A],i=t.length/4-2,r=[0,0,0,0],n=this._tables[A],a=n[0],o=n[1],g=n[2],s=n[3],B=n[4];let l,u,h,w=e[0]^t[0],d=e[A?3:1]^t[1],I=e[2]^t[2],f=e[A?1:3]^t[3],C=4;for(let e=0;i>e;e++)l=a[w>>>24]^o[d>>16&255]^g[I>>8&255]^s[255&f]^t[C],u=a[d>>>24]^o[I>>16&255]^g[f>>8&255]^s[255&w]^t[C+1],h=a[I>>>24]^o[f>>16&255]^g[w>>8&255]^s[255&d]^t[C+2],f=a[f>>>24]^o[w>>16&255]^g[d>>8&255]^s[255&I]^t[C+3],C+=4,w=l,d=u,I=h;for(let e=0;4>e;e++)r[A?3&-e:e]=B[w>>>24]<<24^B[d>>16&255]<<16^B[I>>8&255]<<8^B[255&f]^t[C++],l=w,w=d,d=I,I=f,f=l;return r}},Re=class{constructor(e,A){this._prf=e,this._initIv=A,this._iv=A}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let A=e>>16&255,t=e>>8&255,i=255&e;255===A?(A=0,255===t?(t=0,255===i?i=0:++i):++t):++A,e=0,e+=A<<16,e+=t<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,A,t){let i;if(!(i=A.length))return[];const r=he.bitLength(A);for(let r=0;i>r;r+=4){this.incCounter(t);const i=e.encrypt(t);A[r]^=i[0],A[r+1]^=i[1],A[r+2]^=i[2],A[r+3]^=i[3]}return he.clamp(A,r)}},Ke=Ie.hmacSha1;let xe=Oe&&Ge&&typeof We.importKey==Ae,He=Oe&&Ge&&typeof We.deriveBits==Ae;class ze extends p{constructor({password:e,rawPassword:A,encryptionStrength:i,checkPasswordOnly:r}){super({start(){t.assign(this,{ready:new f(e=>this.resolveReady=e),password:ve(e,A),strength:i-1,pending:new u})},async transform(e,A){const t=this,{password:i,strength:n,resolveReady:a,ready:o}=t;i?(await(async(e,A,t,i)=>{const r=await Je(e,A,t,Pe(i,0,Se[A])),n=Pe(i,Se[A]);if(r[0]!=n[0]||r[1]!=n[1])throw new c(Ce)})(t,n,i,Pe(e,0,Se[n]+2)),e=Pe(e,Se[n]+2),r?A.error(new c(De)):a()):await o;const g=new u(e.length-Me-(e.length-Me)%me);A.enqueue(Ne(t,e,g,0,Me,!0))},async flush(e){const{ctr:A,hmac:t,pending:i,ready:r}=this;if(t&&A){await r;const n=Pe(i,0,i.length-Me),a=Pe(i,i.length-Me);let o=new u;if(n.length){const e=Ze(Te,n);t.update(e);const i=A.update(e);o=Xe(Te,i)}const g=Pe(Xe(Te,t.digest()),0,Me);let s=i.length<Me?1:0;for(let e=0;Me>e;e++)s|=g[e]^a[e];if(s)throw new c(Ee);e.enqueue(o)}}})}}class Le extends p{constructor({password:e,rawPassword:A,encryptionStrength:i}){let r;super({start(){t.assign(this,{ready:new f(e=>this.resolveReady=e),password:ve(e,A),strength:i-1,pending:new u})},async transform(e,A){const t=this,{password:i,strength:r,resolveReady:n,ready:a}=t;let o=new u;i?(o=await(async(e,A,t)=>{const i=Fe(new u(Se[A]));return Ve(i,await Je(e,A,t,i))})(t,r,i),n()):await a;const g=new u(o.length+e.length-e.length%me);g.set(o,0),A.enqueue(Ne(t,e,g,o.length,0))},async flush(e){const{ctr:A,hmac:t,pending:i,ready:n}=this;if(t&&A){await n;let a=new u;if(i.length){const e=A.update(Ze(Te,i));t.update(e),a=Xe(Te,e)}r.signature=Xe(Te,t.digest()).slice(0,Me),e.enqueue(Ve(a,r.signature))}}}),r=this}}function Ne(e,A,t,i,r,n){const{ctr:a,hmac:o,pending:g}=e;g.length&&(A=Ve(g,A));const s=A.length-r;let B;for(t=((e,A)=>{if(A&&A>e.length){const t=e;(e=new u(A)).set(t,0)}return e})(t,i+(s-s%me)),B=0;s-me>=B;B+=me){const e=Ze(Te,Pe(A,B,B+me));n&&o.update(e);const r=a.update(e);n||o.update(r),t.set(Xe(Te,r),B+i)}return e.pending=Pe(A,B),t}async function Je(e,i,r,n){e.password=null;const a=await(async(e,A,t,i,r)=>{if(!xe)return Ie.importKey(A);try{return await We.importKey("raw",A,t,!1,r)}catch{return xe=!1,Ie.importKey(A)}})(0,r,Qe,0,ye),o=await(async(e,A,t)=>{if(!He)return Ie.pbkdf2(A,e.salt,Ye.iterations,t);try{return await We.deriveBits(e,A,t)}catch{return He=!1,Ie.pbkdf2(A,e.salt,Ye.iterations,t)}})(t.assign({salt:n},Ye),a,8*(2*be[i]+2)),g=new u(o),s=Ze(Te,Pe(g,0,be[i])),B=Ze(Te,Pe(g,be[i],2*be[i])),l=Pe(g,2*be[i]);return t.assign(e,{keys:{key:s,authentication:B,passwordVerification:l},ctr:new Re(new ke(s),A.from(Ue)),hmac:new Ke(B)}),l}function ve(e,A){return A===j?ue(e):A}function Ve(e,A){let t=e;return e.length+A.length&&(t=new u(e.length+A.length),t.set(e,0),t.set(A,e.length)),t}function Pe(e,A,t){return e.subarray(A,t)}function Xe(e,A){return e.fromBits(A)}function Ze(e,A){return e.toBits(A)}class qe extends p{constructor({password:e,rawPassword:A,passwordVerification:i,checkPasswordOnly:r}){super({start(){t.assign(this,{password:e,rawPassword:A,passwordVerification:i}),eA(this,e,A)},transform(e,A){const t=this;if(t.password||t.rawPassword){const A=je(t,e.subarray(0,12));if(t.password=t.rawPassword=null,0!=(A.at(-1)^t.passwordVerification))throw new c(Ce);e=e.subarray(12)}r?A.error(new c(De)):A.enqueue(je(t,e))}})}}class _e extends p{constructor({password:e,rawPassword:A,passwordVerification:i}){super({start(){t.assign(this,{password:e,rawPassword:A,passwordVerification:i}),eA(this,e,A)},transform(e,A){const t=this;let i,r;if(t.password||t.rawPassword){t.password=t.rawPassword=null;const A=Fe(new u(12));A[11]=t.passwordVerification,i=new u(e.length+A.length),i.set($e(t,A),0),r=12}else i=new u(e.length),r=0;i.set($e(t,e),r),A.enqueue(i)}})}}function je(e,A){const t=new u(A.length);for(let i=0;i<A.length;i++)t[i]=tA(e)^A[i],AA(e,t[i]);return t}function $e(e,A){const t=new u(A.length);for(let i=0;i<A.length;i++)t[i]=tA(e)^A[i],AA(e,A[i]);return t}function eA(e,A,i){const r=[305419896,591751049,878082192];if(t.assign(e,{keys:r,crcKey0:new le(r[0]),crcKey2:new le(r[2])}),i)for(let A=0;A<i.length;A++)AA(e,i[A]);else for(let t=0;t<A.length;t++)AA(e,A.charCodeAt(t))}function AA(e,A){let[,t]=e.keys;e.crcKey0.append([A]);const i=~e.crcKey0.get();t=rA(a.imul(rA(t+iA(i)),134775813)+1),e.crcKey2.append([t>>>24]);const r=~e.crcKey2.get();e.keys=[i,t,r]}function tA(e){const A=2|e.keys[2];return iA(a.imul(A,1^A)>>>8)}function iA(e){return 255&e}function rA(e){return 4294967295&e}const nA="Invalid uncompressed size",aA="Invalid compressed data";class oA extends p{constructor(e,{chunkSize:A,CompressionStreamZlib:t,CompressionStream:i}){super({});const{compressed:r,encrypted:n,useCompressionStream:a,zipCrypto:o,signed:g,level:s}=e,B=this;let l,c,u=super.readable;n&&!o||!g||(l=new ce,u=lA(u,l)),r&&(u=BA(u,a,{level:s,chunkSize:A},i,t,i)),n&&(o?u=lA(u,new _e(e)):(c=new Le(e),u=lA(u,c))),sA(B,u,()=>{let e;n&&!o&&(e=c.signature),n&&!o||!g||(e=new d(l.value.buffer).getUint32(0)),B.signature=e})}}class gA extends p{constructor(e,{chunkSize:A,DecompressionStreamZlib:t,DecompressionStream:i}){super({});const{zipCrypto:r,encrypted:n,signed:a,signature:o,compressed:g,useCompressionStream:s,deflate64:B}=e;let l,u,h=super.readable;n&&(r?h=lA(h,new qe(e)):(u=new ze(e),h=lA(h,u))),g&&(h=BA(h,s,{chunkSize:A,deflate64:B},i,t,i),h=(e=>{const A=e.getReader();return new Q({async pull(e){let t;try{t=await A.read()}catch(e){if(e&&e.message)throw e;const A=new c(aA);throw A.cause=e,A}const{value:i,done:r}=t;r?e.close():e.enqueue(i)},cancel:e=>A.cancel(e)})})(h)),n&&!r||!a||(l=new ce,h=lA(h,l)),sA(this,h,()=>{if((!n||r)&&a){const e=new d(l.value.buffer);if(o!=e.getUint32(0,!1))throw new c(Ee)}})}}function sA(e,A,i){A=lA(A,new p({flush:i})),t.defineProperty(e,"readable",{get:()=>A})}function BA(e,A,t,i,r,n){const a=A&&i?i:r||n,o=t.deflate64?"deflate64-raw":"deflate-raw";let g;try{g=new a(o,t)}catch(e){if(!A)throw e;if(r)g=new r(o,t);else{if(!n)throw e;g=new n(o,t)}}return((e,A)=>{const t=A.writable.getWriter(),i=e.getReader();return(async()=>{try{for(;;){await t.ready;const e=await i.read();if(e.done){await t.close();break}await t.write(e.value)}}catch(e){await(async(e,A)=>{try{await e.abort(A)}catch{}})(t,e),await(async(e,A)=>{try{await e.cancel(A)}catch{}})(i,e)}})(),A.readable})(e,g)}function lA(e,A){return e.pipeThrough(A)}const cA="data",uA="deflate",hA="inflate";class wA extends p{constructor(e,A){super({});const i=this,{codecType:r}=e;let n;r.startsWith(uA)?n=oA:r.startsWith(hA)&&(n=gA),i.outputSize=0;let a=0;const o=new n(e,A),g=super.readable,s=new p({transform(e,A){e&&e.length&&(a+=e.length,A.enqueue(e))},flush(){t.assign(i,{inputSize:a})}}),B=new p({transform(A,t){if(A&&A.length&&(t.enqueue(A),i.outputSize+=A.length,e.outputSize!==j&&i.outputSize>e.outputSize))throw new c(nA)},flush(){const{signature:e}=o;t.assign(i,{signature:e,inputSize:a})}});t.defineProperty(i,"readable",{get:()=>g.pipeThrough(s).pipeThrough(o).pipeThrough(B)})}}class dA extends p{constructor(e){let A;1>e&&(e=65536),super({transform:(t,i)=>{if(A){const e=new u(A.length+t.length);e.set(A),e.set(t,A.length),t=e,A=null}let r=0;for(;t.length-r>e;)i.enqueue(t.slice(r,r+e)),r+=e;A=r?t.slice(r):t},flush(e){A&&A.length&&e.enqueue(A)}})}}const IA={type:"module"},fA="error";let CA,EA,DA,FA,mA=!0;try{mA=typeof structuredClone==Ae&&structuredClone(new DOMException("","AbortError")).code!==j}catch{}class pA{constructor(e,{readable:A,writable:i},{options:r,config:n,streamOptions:a,useWebWorkers:o,transferStreams:g,workerURI:s},B){const{signal:l}=a;return t.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:A.pipeThrough(new dA(ae(n))).pipeThrough(new QA(a),{signal:l}),writable:i,options:t.assign({},r),workerURI:s,transferStreams:g,terminate:()=>new f(A=>{const{worker:t,busy:i}=e;t?(i?e.resolveTerminated=A:(t.terminate(),A()),e.interface=null):A()}),onTaskFinished(){if(e.busy){const{resolveTerminated:A}=e;A&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),A()),e.busy=!1,B(e)}}}),CA===j&&(CA=typeof M!=ee),(o&&CA?SA:yA)(e,n)}}class QA extends p{constructor({onstart:e,onprogress:A,size:t,onend:i}){let r=0;super({async start(){e&&await YA(e,t)},async transform(e,i){r+=e.length,A&&await YA(A,r,t),i.enqueue(e)},async flush(){i&&await YA(i,r)}})}}async function YA(e,...A){try{await e(...A)}catch{}}function yA(e,A){return{run:()=>(async({options:e,readable:A,writable:t,onTaskFinished:i},r)=>{let n;try{if(!e.useCompressionStream)try{await void 0}catch{const A=e.codecType.startsWith(uA)?r.CompressionStreamZlib:r.DecompressionStreamZlib;A&&!A.requiresModule||(e.useCompressionStream=!0)}n=new wA(e,r),await A.pipeThrough(n).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:a,outputSize:o}=n;return{signature:i,inputSize:a,outputSize:o}}catch(e){throw n&&(e.outputSize=n.outputSize),e}finally{i()}})(e,A)}}function SA(e,A){const{baseURI:i,chunkSize:r}=A;let{wasmURI:n}=A;if(!e.interface){let a;typeof n==Ae&&(n=n());try{a=MA(e.workerURI,i,e)}catch{return CA=!1,yA(e,A)}t.assign(e,{worker:a,terminated:!1,interface:{run:()=>(async(e,A)=>{let i,r;const n=new f((e,A)=>{i=e,r=A});t.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:n});const{readable:a,options:o}=e,{writable:g,closed:s,abortPipe:B}=(e=>{const A=new AbortController,{writable:t,readable:i}=new p,r=i.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:A.signal});return r.catch(()=>{}),{writable:t,closed:r,abortPipe:()=>A.abort()}})(e.writable);let l;try{l=OA({type:"start",options:o,config:A,readable:a,writable:g},e)}catch(A){B();try{await s}catch{}throw e.onTaskFinished(),A}l||t.assign(e,{reader:a.getReader(),writer:g.getWriter()});try{const e=await n;return await c(),await s,e}catch(e){await c(),B();try{await s}catch{}throw e}async function c(){if(!l&&!g.locked)try{await g.getWriter().close()}catch{}}})(e,{chunkSize:r,wasmURI:n,baseURI:i})}})}return e.interface}function bA(e){const{worker:A}=e;if(A)try{A.terminate()}catch{}e.interface=null}function MA(e,A,i,r,n=!0){let a,o,g;if(DA===j||EA!==e){const t=typeof e==Ae;o=t?e(n):e;const s=o.startsWith("data:"),B=o.startsWith("blob:");if(s||B){r===j&&(r=!1),r&&(g=IA);try{a=new M(o,g)}catch(n){if(B)try{l.revokeObjectURL(o)}catch{}if(t&&B)return MA(e,A,i,r,!1);if(r)throw n;return MA(e,A,i,!0,!1)}}else{r===j&&(r=!0),r&&(g=IA);try{o=new l(o,A)}catch{}try{a=new M(o,g)}catch(t){if(r)throw t;return MA(e,A,i,!1,n)}}EA=e,DA=o,FA=g}else a=new M(DA,FA);return a.addEventListener("message",e=>(async({data:e},A)=>{const{type:i,value:r,messageId:n,result:a,error:o}=e,{reader:g,writer:s,resolveResult:B,rejectResult:l,onTaskFinished:h,generation:w}=A,d=()=>A.generation!=w;try{if(o){const{message:e,stack:A,code:i,name:r,outputSize:n}=o,a=new c(e);t.assign(a,{stack:A,code:i,name:r,outputSize:n}),I(a)}else{if("pull"==i){const{value:e,done:t}=await g.read();d()||OA({type:cA,value:e,done:t,messageId:n},A)}i==cA&&(await s.ready,await s.write(new u(r)),d()||OA({type:"ack",messageId:n},A)),"close"==i&&I(null,a)}}catch(o){d()||(bA(A),I(o))}function I(e,A){d()||(e?l(e):B(A),s&&s.releaseLock(),h())}})(e,i)),a.addEventListener(fA,e=>UA(e,i)),a.addEventListener("messageerror",e=>UA(e,i)),a}function UA(e,A){e.preventDefault&&e.preventDefault();const{rejectResult:t,writer:i,onTaskFinished:r}=A;bA(A),t&&(t(e.error||new c(e.message||fA)),i&&i.releaseLock(),r())}function OA(e,{worker:A,writer:t,transferStreams:i}){try{const{value:t,readable:r,writable:n}=e,a=[];if(t&&(e.value=t,a.push(e.value.buffer)),i&&mA?(r&&a.push(r),n&&a.push(n)):e.readable=e.writable=null,a.length)try{return A.postMessage(e,a),!0}catch{mA=!1,e.readable=e.writable=null,A.postMessage(e)}else A.postMessage(e)}catch(e){throw t&&t.releaseLock(),e}}let WA=[];const GA=[];let TA,kA,RA=0;async function KA(e,A){const{options:t,config:i}=A,{transferStreams:n,useWebWorkers:a,useCompressionStream:o,compressed:g,signed:s,encrypted:B}=t,{workerURI:l,maxWorkers:c}=i;A.transferStreams=n||n===j;const u=!(g||s||B||A.transferStreams);return A.useWebWorkers=!u&&(a||a===j&&i.useWebWorkers),A.workerURI=A.useWebWorkers&&l?l:j,t.useCompressionStream=o||o===j&&i.useCompressionStream,(await(async()=>{const t=WA.find(e=>!e.busy);if(t)return NA(t),new pA(t,e,A,h);if(WA.length<c){const t={indexWorker:RA};return RA++,WA.push(t),new pA(t,e,A,h)}return new f(t=>{GA.push({resolve:t,stream:e,workerOptions:A}),kA=i.workerStarvationTimeout,xA()})})()).run();function h(e){if(HA(),GA.length){const[{resolve:A,stream:t,workerOptions:i}]=GA.splice(0,1);A(new pA(e,t,i,h)),xA()}else e.worker?(NA(e),((e,A)=>{const{config:t}=A,{terminateWorkerTimeout:i}=t;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{WA=WA.filter(A=>A!=e);try{await e.terminate()}catch{}},i))})(e,A)):WA=WA.filter(A=>A!=e)}}function xA(){!TA&&GA.length&&r.isFinite(kA)&&kA>=0&&(TA=setTimeout(zA,kA))}function HA(){TA&&(clearTimeout(TA),TA=null)}function zA(){if(TA=null,GA.length){const[{resolve:e,stream:A,workerOptions:i}]=GA.splice(0,1),r=t.assign({},i,{useWebWorkers:!1,workerURI:j});e(new pA({},A,r,LA)),xA()}}function LA(){HA(),xA()}function NA(e){const{terminateTimeout:A}=e;A&&(clearTimeout(A),e.terminateTimeout=null)}const JA="HTTP error ",vA="HTTP Range not supported",VA="Content-Range",PA="Range",XA="GET",ZA="bytes",qA=65536,_A="writable";class jA{constructor(){this.size=0}init(){this.initialized=!0}}class $A extends jA{get readable(){const e=this,{chunkSize:A=qA}=e,t=new Q({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:n,diskNumberStart:o}=t,{chunkOffset:g}=this,s=n===j?A:a.min(A,n-g),B=await Ft(e,r+g,s,o);i.enqueue(B),g+A>n||n===j&&!B.length&&s?i.close():this.chunkOffset+=A}});return t}}class et extends jA{constructor(){super();const e=this,A=new Y({write(A){if(!e.initialized)throw new c("Writer not initialized");return e.writeUint8Array(A)}});t.defineProperty(e,_A,{get:()=>A})}writeUint8Array(){}}class At extends $A{constructor(e){super(),t.assign(this,{blob:e,size:e.size})}async readUint8Array(e,A){const t=this,i=e+A,r=e||i<t.size?t.blob.slice(e,i):t.blob;let n=await r.arrayBuffer();return n.byteLength>A&&(n=n.slice(e,i)),new u(n)}}class tt extends jA{constructor(e){super();const A=this,i=new p,r=[];e&&r.push(["Content-Type",e]),t.defineProperty(A,_A,{get:()=>i.writable}),A.blob=new B(i.readable,{headers:r}).blob(),A.blob.catch(()=>{})}getData(){return this.blob}}class it extends $A{constructor(e,A){super(),nt(this,e,A)}async init(){await at(this,ht,Bt),super.init()}readUint8Array(e,A){return ot(this,e,A,ht,Bt)}}class rt extends $A{constructor(e,A){super(),nt(this,e,A)}async init(){await at(this,wt,lt),super.init()}readUint8Array(e,A){return ot(this,e,A,wt,lt)}}function nt(e,A,i){const{preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:a,combineSizeEocd:o,fetch:g}=i;delete(i=t.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,delete i.fetch,t.assign(e,{url:A,options:i,preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:a,combineSizeEocd:o,fetch:g})}async function at(e,A,t){const{url:i,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:g}=e;if((e=>{const{baseURI:A}=ne(),{protocol:t}=new l(e,A);return"http:"==t||"https:"==t})(i)&&(a||o)&&(void 0===n||n)){const i=await A(XA,e,gt(e,g?-22:void 0)),n=i.headers.get("Accept-Ranges");if(!(o||n&&n.toLowerCase()==ZA))throw new c(vA);{if(g){const A=new u(await i.arrayBuffer());206==i.status&&A.length==L&&(e.eocdCache=A)}let n;const a=i.headers.get(VA);if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const A=e[1];A&&"*"!=A&&(n=r(A))}}n===j?await ut(e,A,t):e.size=n}}else await ut(e,A,t)}async function ot(e,A,t,i,n){const{useRangeHeader:a,forceRangeRequests:o,eocdCache:g,size:s,options:B}=e;if(a||o){if(g&&A==s-L&&t==L)return g;if(s>A&&0!==t){A+t>s&&(t=s-A);const n=await i(XA,e,gt(e,A,t));if(206!=n.status)throw new c(vA);const a=n.headers.get(VA);if(a){const e=r(a.trim().split(/[\s-]+/)[1]);if(!r.isNaN(e)&&e!=A)throw new c(vA)}const o=new u(await n.arrayBuffer());if(o.length!=t)throw new c(vA);return o}return new u}{const{data:i}=e;return i||await n(e,B),new u(e.data.subarray(A,A+t))}}function gt(e,A=0,i=1){return t.assign({},st(e),{[PA]:ZA+"="+(0>A?A:A+"-"+(A+i-1))})}function st({options:e}){const{headers:A}=e;if(A)return Symbol.iterator in A?t.fromEntries(A):A}async function Bt(e){await ct(e,ht)}async function lt(e){await ct(e,wt)}async function ct(e,A){const t=await A(XA,e,st(e));e.data=new u(await t.arrayBuffer()),e.size=e.data.length}async function ut(e,A,t){if(e.preventHeadRequest)await t(e,e.options);else{const i=await A("HEAD",e,st(e)),n=i.headers.get("Content-Length");n&&!i.headers.get("Content-Encoding")?e.size=r(n):await t(e,e.options)}}async function ht(e,{fetch:A=fetch,options:i,url:r},n){const a=await A(r,t.assign({},i,{method:e,headers:n}));if(400>a.status)return a;throw 416==a.status?new c(vA):new c(JA+(a.statusText||a.status))}function wt(e,{url:A},i){return new f((r,n)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(A=>{const t=A.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(t)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new g(e)})}else n(416==a.status?new c(vA):new c(JA+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>n(e.detail?e.detail.error:new c("Network error")),!1),a.open(e,A),i)for(const e of t.entries(i))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class dt extends $A{constructor(e,A={}){super(),t.assign(this,{url:e,reader:A.useXHR&&!A.fetch?new rt(e,A):new it(e,A)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,A){return this.reader.readUint8Array(e,A)}}class It extends $A{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:A}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await f.all(A.map(async(t,i)=>{await Dt(t),i!=A.length-1&&(e.lastDiskOffset+=t.size),e.size+=t.size})),super.init()}async readUint8Array(e,A,t=0){const i=this,{readers:r}=this;let n,o=t;-1==o&&(o=r.length-1);let g=e;for(;r[o]&&g>=r[o].size;)g-=r[o].size,o++;const s=r[o];if(s){const r=s.size;if(g+A>r){const a=r-g;n=new u(A);const o=await Ft(s,g,a);n.set(o,0);const B=await i.readUint8Array(e+a,A-a,t);n.set(B,a),o.length+B.length<A&&(n=n.subarray(0,o.length+B.length))}else n=await Ft(s,g,A)}else n=new u;return i.lastDiskNumber=a.max(o,i.lastDiskNumber),n}}class ft extends jA{constructor(e,A=4294967295){super();const i=this;let r,n,a;t.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:A,availableSize:A});const o=new Y({async write(A){const{availableSize:t}=i;if(a)A.length<t?await g(A):(await g(A.subarray(0,t)),await s(),i.diskOffset+=r.size,i.diskNumber++,a=null,i.availableSize=i.maxSize,A.length>t&&await this.write(A.subarray(t)));else{const{value:t,done:o}=await e.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 Dt(r),n=t.writable,a=n.getWriter(),await this.write(A)}},async close(){a&&(await a.ready,await s())},async abort(e){a&&await a.abort(e)}});async function g(e){const A=e.length;A&&(await a.ready,await a.write(e),r.size+=A,i.availableSize-=A)}async function s(){await a.close()}t.defineProperty(i,_A,{get:()=>o})}}class Ct{constructor(e){return A.isArray(e)&&(e=new It(e)),e instanceof Q&&(e={readable:e}),e}}class Et{constructor(e){return e.writable===j&&typeof e.next==Ae&&(e=new ft(e)),e instanceof Y&&(e={writable:e}),e.size===j&&(e.size=0),e instanceof ft||t.assign(e,{diskNumber:0,diskOffset:0,availableSize:$,maxSize:$}),e}}async function Dt(e,A){if(!e.init||e.initialized)return f.resolve();await e.init(A)}function Ft(e,A,t,i){return e.readUint8Array(A,t,i)}const mt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function pt(e,A){return A&&"cp437"==A.trim().toLowerCase()?(e=>{{let A="";for(let t=0;t<e.length;t++)A+=mt[e[t]];return A}})(e):new E(A,{ignoreBOM:!0}).decode(e)}const Qt="filename",Yt="rawFilename",yt="comment",St="rawComment",bt="uncompressedSize",Mt="compressedSize",Ut="offset",Ot="diskNumberStart",Wt="lastModDate",Gt="rawLastModDate",Tt="lastAccessDate",kt="creationDate",Rt="rawCreationDate",Kt="internalFileAttributes",xt="externalFileAttributes",Ht="msdosAttributesRaw",zt="msdosAttributes",Lt="msDosCompatible",Nt="zip64",Jt="encrypted",vt="version",Vt="versionMadeBy",Pt="zipCrypto",Xt="directory",Zt="executable",qt="compressionMethod",_t="signature",jt="extraField",$t="unixMode",ei="setuid",Ai="setgid",ti="sticky",ii=[Qt,Yt,bt,Mt,Wt,Gt,yt,St,Tt,kt,Rt,Ut,Ot,Kt,xt,Ht,zt,Lt,Nt,Jt,vt,Vt,Pt,Xt,Zt,qt,_t,jt,"extraFieldUnix","extraFieldInfoZip","uid","gid",$t,ei,Ai,ti,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class ri{constructor(e){ii.forEach(A=>this[A]=e[A])}}const ni="password",ai="rawPassword",oi="passThrough",gi="signal",si="checkAmbiguity",Bi="useWebWorkers",li="useCompressionStream",ci="transferStreams",ui="preventClose",hi="offset",wi="File format is not recognized",di="End of central directory not found",Ii="End of Zip64 central directory locator not found",fi="Central directory header not found",Ci="Local file header not found",Ei="Zip64 extra field not found",Di="File contains encrypted entry",Fi="Encryption method not supported",mi="Compression method not supported",pi="Split zip file",Qi="Overlapping entry found",Yi="Ambiguous archive",yi="utf-8",Si="cp437",bi=[[bt,O],[Mt,O],[Ut,O],[Ot,W]],Mi={[W]:{getValue:Ji,bytes:4},[O]:{getValue:vi,bytes:8}};class Ui{constructor(e,A={}){t.assign(this,{reader:new Ct(e),options:A,config:ne(),readRanges:new g})}async*getEntriesGenerator(e={}){const A=this;let{reader:i}=A;const{config:r}=A;if(await Dt(i),i.size!==j&&i.readUint8Array||(i=new At(await new B(i.readable).blob()),await Dt(i)),i.size<L)throw new c(wi);i.chunkSize=ae(r);const n=await(async(e,A,t)=>{const i=new u(4);var r;return r=A,Vi(i).setUint32(0,r,!0),await n(22)||await n(a.min(1048582,t));async function n(A){const r=t-A,n=await Ft(e,r,A);for(let e=n.length-22;e>=0;e--)if(n[e]==i[0]&&n[e+1]==i[1]&&n[e+2]==i[2]&&n[e+3]==i[3])return{offset:r+e,buffer:n.slice(e,e+22).buffer}}})(i,x,i.size);if(!n)throw Ji(Vi(await Ft(i,0,4)))==k?new c(pi):new c(di);const o=Vi(n);let g=Ji(o,12),l=Ji(o,16);const h=n.offset,w=Ni(o,20),d=h+L+w,I=xi(A,e,si);I&&d!=i.size&&Ki("appended data");let C=Ni(o,4);const E=i.lastDiskNumber||0;let D,F,m=Ni(o,6),Q=Ni(o,10),Y=0;if(l==O||g==O||Q==W||m==W){const e=20>n.offset?new u:await Ft(i,n.offset-20,20),A=Vi(e);if(20==e.length&&Ji(A,0)==z){l=vi(A,8);let e=await Ft(i,l,56,-1),t=Vi(e);const r=n.offset-20-56-(i.lastDiskOffset||0);if((56>e.length||Ji(t,0)!=H)&&l!=r&&r>=0){const A=l;l=r,l>A&&(Y=l-A),e=await Ft(i,l,56,-1),t=Vi(e)}if(56>e.length||Ji(t,0)!=H)throw new c(Ii);F=!0,C==W?C=Ji(t,16):I&&C!=Ji(t,16)&&Ki("mismatched zip64 end of central directory record"),m==W?m=Ji(t,20):I&&m!=Ji(t,20)&&Ki("mismatched zip64 end of central directory record"),Q==W?Q=vi(t,32):I&&Q!=vi(t,32)&&Ki("mismatched zip64 end of central directory record"),g==O?g=vi(t,40):I&&g!=vi(t,40)&&Ki("mismatched zip64 end of central directory record"),l=vi(t,48)+Y}}const y=g,S=n.offset-(F?76:0);if(l<i.size||(Y=i.size-l-g-L,l=i.size-g-L),E!=C)throw new c(pi);if(0>l)throw new c(wi);let b=0,M=await Ft(i,l,g,m),U=Vi(M);if(g){if(4>M.length)throw new c(wi);const e=S-g-(i.lastDiskOffset||0);if(Ji(U,b)!=K&&l!=e&&m==C){const A=l;l=e,l>A&&(Y+=l-A),M=await Ft(i,l,g,m),U=Vi(M)}}const T=S-l-(i.lastDiskOffset||0);if(g==T||0>T||m!=C||(g=T,M=await Ft(i,l,g,m),U=Vi(M)),0>l||l>=i.size)throw new c(wi);D=l;const R=xi(A,e,"filenameEncoding"),N=xi(A,e,"commentEncoding"),J=I?new s:j;let Z;for(let n=0;Q>n;n++){const o=new Oi(i,r,A.options);if(b+46>M.length||Ji(U,b)!=K)throw new c(fi);Wi(o,U,b+6);const g=!!o.bitFlag.languageEncodingFlag,s=b+46,l=s+o.filenameLength,u=l+o.extraFieldLength,h=Ni(U,b+4),w=!(h>>8),d=h>>8==3,C=M.subarray(s,l),E=Ni(U,b+32),F=u+E,m=M.subarray(u,F),y=g,S=g,O=Ji(U,b+38),T=O&G,k={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},x=Ji(U,b+42),H=xi(A,e,"decodeText")||pt,z=y?yi:R||Si,L=S?yi:N||Si;let q=H(C,z);q===j&&(q=pt(C,z));let _=H(m,L);_===j&&(_=pt(m,L)),t.assign(o,{index:n,versionMadeBy:h,msDosCompatible:w,compressedSize:0,uncompressedSize:0,commentLength:E,offset:x,diskNumberStart:Ni(U,b+34),internalFileAttributes:Ni(U,b+36),externalFileAttributes:O,msdosAttributesRaw:T,msdosAttributes:k,rawFilename:C,filenameUTF8:y,commentUTF8:S,rawExtraField:M.subarray(l,u),rawComment:m,filename:q,comment:_}),Gi(o,o,U,b+6),o.offset+=Y,D=a.min(o.offset,D),I&&(J.has(o.filename)&&(Z=!0),J.add(o.filename));const $=o.externalFileAttributes>>16&W;o.unixMode===j&&16877&$&&(o.unixMode=$);const ee=!!(o.unixMode&V),Ae=!!(o.unixMode&P),te=!!(512&o.unixMode),ie=o.unixMode!==j?!!(73&o.unixMode):d&&!!(73&$),re=o.unixMode!==j&&(61440&o.unixMode)==v,ne=(61440&$)==v;t.assign(o,{setuid:ee,setgid:Ae,sticky:te,unixExternalUpper:$,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:ie,directory:re||ne||w&&k.directory||o.filename.endsWith(X)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ae=new ri(o);ae.getData=(e,t)=>o.getData(e,ae,A.readRanges,t),ae.arrayBuffer=async e=>{const t=new p,[i]=await f.all([new B(t.readable).arrayBuffer(),o.getData(t,ae,A.readRanges,e)]);return i},b=F;const{onprogress:oe}=e;if(oe)try{await oe(n+1,Q,new ri(o))}catch{}yield ae}I&&b!=y&&Ki("trailing central directory data"),Z&&Ki("duplicate filename"),I&&(Y||Q&&D>0)&&Ki("prepended data");const q=xi(A,e,"extractPrependedData"),_=xi(A,e,"extractAppendedData");return q&&(A.prependedData=D>0?await Ft(i,0,D):new u),A.comment=w?await Ft(i,h+L,w):new u,_&&(A.appendedData=d<i.size?await Ft(i,d,i.size-d):new u),!0}async getEntries(e={}){const A=[];for await(const t of this.getEntriesGenerator(e))A.push(t);return A}async close(){}}class Oi{constructor(e,A,i){t.assign(this,{reader:e,config:A,options:i})}async getData(e,A,i,r={}){const n=this,{reader:o,index:g,offset:s,diskNumberStart:B,extraFieldAES:l,extraFieldZip64:h,compressionMethod:w,config:d,bitFlag:I,signature:f,rawLastModDate:C,uncompressedSize:E,compressedSize:D}=n,{dataDescriptor:F}=I,m=A.localDirectory={},p=await Ft(o,s,Z,B),Q=Vi(p);let y=xi(n,r,ni),S=xi(n,r,ai);const b=xi(n,r,oi);if(y=y&&y.length&&y,S=S&&S.length&&S,l&&99!=l.originalCompressionMethod)throw new c(mi);if(0!=w&&8!=w&&9!=w&&!b)throw new c(mi);if(p.length<Z||Ji(Q,0)!=T)throw new c(Ci);Wi(m,Q,4);const{extraFieldLength:M,filenameLength:U}=m,O=xi(n,r,si);let W=new u;if(O&&(U||M)){const e=await Ft(o,s+Z,U+M,B);W=e.subarray(0,U),m.rawExtraField=e.subarray(U)}else m.rawExtraField=M?await Ft(o,s+Z+U,M,B):new u;Gi(n,m,Q,4,!0),O&&((e,A,t)=>{const{rawFilename:i}=e;(t.length!=i.length||t.some((e,A)=>e!=i[A]))&&Ki("mismatched local file header (filename)"),(2057&A.rawBitFlag)!=(2057&e.rawBitFlag)&&Ki("mismatched local file header (general purpose bit flag)"),A.compressionMethod!=e.compressionMethod&&Ki("mismatched local file header (compression method)"),A.bitFlag.dataDescriptor||!(A.signature||A.compressedSize||A.uncompressedSize)||A.signature==e.signature&&A.compressedSize==e.compressedSize&&A.uncompressedSize==e.uncompressedSize||Ki("mismatched local file header (signature or sizes)")})(n,m,W);const{lastAccessDate:k,creationDate:K}=m;k&&(A.lastAccessDate=k),K&&(A.creationDate=K);const x=n.encrypted&&m.encrypted&&!b,H=x&&!l;if(b||(A.zipCrypto=H),x){if(!H&&l.strength===j)throw new c(Fi);if(!y&&!S)throw new c(Di)}const z=s+Z+U+M,L=D,N=o.readable;t.assign(N,{diskNumberStart:B,offset:z,size:L});const J=xi(n,r,gi),v=xi(n,r,"checkPasswordOnly");let V=xi(n,r,"checkOverlappingEntry");const P=xi(n,r,"checkOverlappingEntryOnly");P&&(V=!0);const{onstart:X,onprogress:q,onend:_}=r,$=9==w;let ee=xi(n,r,li);$&&(ee=!1);const Ae={options:{codecType:hA,password:y,rawPassword:S,zipCrypto:H,encryptionStrength:l&&l.strength,signed:xi(n,r,"checkSignature")&&!b,passwordVerification:H&&(F?C>>>8&G:f>>>24&G),outputSize:b?D:E,signature:f,compressed:0!=w&&!b,encrypted:x,useWebWorkers:xi(n,r,Bi),useCompressionStream:ee,transferStreams:xi(n,r,ci),deflate64:$,checkPasswordOnly:v},config:d,streamOptions:{signal:J,size:L,onstart:X,onprogress:q,onend:_}};let te;V&&await(async({reader:e,fileEntry:A,index:t,offset:i,diskNumberStart:r,signature:n,compressedSize:o,uncompressedSize:g,dataOffset:s,dataDescriptor:B,extraFieldZip64:l,readRanges:u})=>{let h=0;if(r&&e.readers)for(let A=0;A<a.min(r,e.readers.length);A++)h+=e.readers[A].size;let w=0;if(B&&(w=l?20:12),w){const t=await Ft(e,s+o,w+4,r);if(t.length==w+4&&Ji(Vi(t),0)==R){const e=Ji(Vi(t),4);let i,r;l?(i=vi(Vi(t),8),r=vi(Vi(t),16)):(i=Ji(Vi(t),8),r=Ji(Vi(t),12)),(A.encrypted&&!A.zipCrypto||e==n)&&i==o&&r==g&&(w+=4)}}const d={start:h+i,end:h+s+o+w,fileEntry:A};for(const[e,A]of u)if(e!=t&&d.start<A.end&&A.start<d.end){const e=new c(Qi);throw e.overlappingEntry=A.fileEntry,e}u.set(t,d)})({reader:o,fileEntry:A,index:g,offset:s,diskNumberStart:B,signature:f,compressedSize:D,uncompressedSize:E,dataOffset:z,dataDescriptor:F||m.bitFlag.dataDescriptor,extraFieldZip64:h||m.extraFieldZip64,readRanges:i});try{if(!P){v&&(e=new Y),e=new Et(e),await Dt(e,b?D:E),({writable:te}=e);const{outputSize:A}=await KA({readable:N,writable:te},Ae);if(e.size+=A,A!=(b?D:E))throw new c(nA)}}catch(A){if(A.outputSize!==j&&(e.size+=A.outputSize),!v||A.message!=De)throw A}finally{xi(n,r,ui)||!te||te.locked||await te.getWriter().close()}return v||P?j:e.getData?e.getData():te}}function Wi(e,A,i){const r=e.rawBitFlag=Ni(A,i+2),n=!(1&~r),a=Ji(A,i+6);t.assign(e,{encrypted:n,version:Ni(A,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&J)==J},rawLastModDate:a,lastModDate:Hi(a),filenameLength:Ni(A,i+22),extraFieldLength:Ni(A,i+24)})}function Gi(e,A,i,r,n){const{rawExtraField:a}=A,s=A.extraField=new g,B=Vi(new u(a));let l=0;try{for(;l<a.length;){const e=Ni(B,l),A=Ni(B,l+2);s.set(e,{type:e,data:a.slice(l+4,l+4+A)}),l+=4+A}}catch{}const h=Ni(i,r+4);t.assign(A,{signature:Ji(i,r+10),compressedSize:Ji(i,r+14),uncompressedSize:Ji(i,r+18)});const w=s.get(1);w&&(((e,A)=>{A.zip64=!0;const t=Vi(e.data),i=bi.filter(([e,t])=>A[e]==t),r=i.reduce((e,[,A])=>e+Mi[A].bytes,0);if(e.data.length<r)throw new c(Ei);for(let r=0,n=0;r<i.length;r++){const[a,o]=i[r],g=Mi[o];A[a]=e[a]=g.getValue(t,n),n+=g.bytes}})(w,A),A.extraFieldZip64=w);const d=s.get(28789);d&&(Ti(d,Qt,Yt,A,e),A.extraFieldUnicodePath=d);const I=s.get(25461);I&&(Ti(I,yt,St,A,e),A.extraFieldUnicodeComment=I);const f=s.get(39169);f&&f.data.length>=7?(((e,A,i)=>{const r=Vi(e.data),n=Li(r,4);t.assign(e,{vendorVersion:Li(r,0),vendorId:Li(r,2),strength:n,originalCompressionMethod:i,compressionMethod:Ni(r,5)}),A.compressionMethod=e.compressionMethod})(f,A,h),A.extraFieldAES=f):A.compressionMethod=h;const C=s.get(10);C&&(((e,A)=>{const i=Vi(e.data);let r,n=4;try{for(;n<e.data.length&&!r;){const A=Ni(i,n),t=Ni(i,n+2);1==A&&(r=e.data.slice(n+4,n+4+t)),n+=4+t}}catch{}try{if(r&&24==r.length){const i=Vi(r),n=i.getBigUint64(0,!0),a=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);t.assign(e,{rawLastModDate:n,rawLastAccessDate:a,rawCreationDate:o});const g={lastModDate:zi(n),lastAccessDate:zi(a),creationDate:zi(o)};t.assign(e,g),t.assign(A,g)}}catch{}})(C,A),A.extraFieldNTFS=C);const E=s.get(30805);if(E)ki(E,A,!1),A.extraFieldUnix=E;else{const e=s.get(30837);e&&(ki(e,A,!0),A.extraFieldInfoZip=e)}const D=s.get(N);D&&(((e,A,t)=>{if(!e.data.length)return;const i=Vi(e.data),r=Li(i,0),n=[],a=[];t?(1&~r||(n.push(Wt),a.push(Gt)),2&~r||(n.push(Tt),a.push("rawLastAccessDate")),4&~r||(n.push(kt),a.push(Rt))):5>e.data.length||(n.push(Wt),a.push(Gt));let g=1;n.forEach((t,r)=>{if(e.data.length>=g+4){const n=Ji(i,g);A[t]=e[t]=new o(1e3*(0|n));const s=a[r];e[s]=n}g+=4})})(D,A,n),A.extraFieldExtendedTimestamp=D);const F=s.get(6534);F&&(A.extraFieldUSDZ=F)}function Ti(e,A,i,r,n){if(5>e.data.length)return void(e.valid=!1);const a=Vi(e.data),o=new le;o.append(n[i]);const g=Vi(new u(4));g.setUint32(0,o.get(),!0);const s=Ji(a,1);t.assign(e,{version:Li(a,0),[A]:pt(e.data.subarray(5)),valid:!n.bitFlag.languageEncodingFlag&&s==Ji(g,0)}),e.valid&&(r[A]=e[A],r[A+"UTF8"]=!0)}function ki(e,A,i){try{const r=Vi(new u(e.data));let n,a;if(i){let A=0;const i=Li(r,A++),o=Li(r,A++);n=Ri(e.data.subarray(A,A+o)),A+=o;const g=Li(r,A++);a=Ri(e.data.subarray(A,A+g)),t.assign(e,{version:i,uid:n,gid:a})}else 4>e.data.length||(n=Ni(r,0),a=Ni(r,2),t.assign(e,{uid:n,gid:a}));n!==j&&(A.uid=n),a!==j&&(A.gid=a)}catch{}}function Ri(e){const A=new u(4);return A.set(e,0),new d(A.buffer,A.byteOffset,4).getUint32(0,!0)}function Ki(e){const A=new c(Yi);throw A.reason=e,A}function xi(e,A,t){return A[t]===j?e.options[t]:A[t]}function Hi(e){const A=(4294901760&e)>>16,t=e&W;try{return new o(1980+((65024&A)>>9),((480&A)>>5)-1,31&A,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch{}}function zi(e){return new o(r(e/n(1e4)-n(116444736e5)))}function Li(e,A){return e.getUint8(A)}function Ni(e,A){return e.getUint16(A,!0)}function Ji(e,A){return e.getUint32(A,!0)}function vi(e,A){return r(e.getBigUint64(A,!0))}function Vi(e){return new d(e.buffer,e.byteOffset,e.byteLength)}const Pi="File already exists",Xi="Zip file comment exceeds 64KB",Zi="File entry comment exceeds 64KB",qi="File entry name exceeds 64KB",_i="Version exceeds 65535",ji="The strength must equal 1, 2, or 3",$i="Extra field type exceeds 65535",er="Extra field data exceeds 64KB",Ar=-2147483648,tr=2147483647,ir="Zip64 is not supported (set the 'zip64' option to 'true')",rr="Undefined uncompressed size",nr="Undefined reader",ar="Zip file not empty",or=new u([7,0,2,0,65,69,3,0,0]),gr="infozip",sr="unix";let Br=0;const lr=[];class cr{constructor(e,A={}){const i=(e=new Et(e)).availableSize!==j&&e.availableSize>0&&e.availableSize!==$&&e.maxSize!==j&&e.maxSize>0&&e.maxSize!==$;t.assign(this,{writer:e,addSplitZipSignature:i,options:A,config:ne(),files:new g,filenames:new s,offset:A[hi]===j?e.size||e.writable.size||0:A[hi],initialOffset:A[hi]===j?0:A[hi]-(e.size||e.writable.size||0),pendingAddFileCalls:new s,bufferedWrites:0,lastFileEntry:j})}async prependZip(e){if(this.filenames.size)throw new c(ar);e=new Ct(e),await Dt(e);const A=new Ui(e.readable),i=await A.getEntries();await A.close(),await Dt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new s(i.map(e=>e.filename)),this.files=new g(i.map(e=>{const{version:A,rawLastModDate:i,lastAccessDate:r,creationDate:n,rawFilename:a,bitFlag:o,encrypted:g,uncompressedSize:s,compressedSize:B,diskOffset:l,diskNumber:c,zip64:h}=e;let{compressionMethod:w,rawExtraFieldZip64:d,rawExtraFieldAES:I,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:C,rawExtraFieldUnix:E,rawExtraField:D}=e;const{level:F,languageEncodingFlag:m,dataDescriptor:p}=o;d=d||new u,I=I||new u,f=f||new u,C=C||new u,E=E||new u,D=D||new u,e.extraFieldAES&&(w=99);const Q=Mr(d,I,f,C,E,D),Y=h&&s>=O,y=h&&B>=O,S=-7&Or(F,m,p,g,w)|F<<1,{headerArray:b,headerView:M}=Ur({version:A,bitFlag:S,compressionMethod:w,uncompressedSize:s,compressedSize:B,rawLastModDate:i,rawFilename:a,zip64CompressedSize:y,zip64UncompressedSize:Y,extraFieldLength:Q}),{signature:U}=e;return U!==j&&Yr(M,10,U),t.assign(e,{zip64UncompressedSize:Y,zip64CompressedSize:y,zip64Offset:h&&this.offset-l>=O,zip64DiskNumberStart:h&&c>=W,rawExtraFieldZip64:d,rawExtraFieldAES:I,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:C,rawExtraFieldUnix:E,rawExtraField:D,extendedTimestamp:f.length>0||C.length>0,extraFieldExtendedTimestampFlag:1+(r?2:0)+(n?4:0),headerArray:b,headerView:M}),[e.filename,e]}))}async add(e="",A,i={}){const r=this;i=t.assign({},i);const{pendingAddFileCalls:a,config:g}=r;let s,B;Br<g.maxWorkers?Br++:await new f(e=>lr.push(e));try{if(e=e.trim(),mr(r,i,Xt)&&!e.endsWith(X)&&(e+=X),r.filenames.has(e))throw new c(Pi);return r.filenames.add(e),B=!0,s=(async(e,A,i,r)=>{const a=((e,A,t)=>{A=A.trim();let i=mr(e,t,Lt),r=mr(e,t,Vt,i?20:768);const n=mr(e,t,Zt),a=mr(e,t,"uid"),o=mr(e,t,"gid");let g=mr(e,t,$t),s=mr(e,t,"unixExtraFieldType"),B=mr(e,t,ei),l=mr(e,t,Ai),u=mr(e,t,ti);if(a!==j&&(0>a||a>O))throw new c("Invalid uid (must be integer 0..2^32-1)");if(o!==j&&(0>o||o>O))throw new c("Invalid gid (must be integer 0..2^32-1)");if(g!==j&&(0>g||g>W))throw new c("Invalid UNIX mode (must be integer 0..65535)");if(s!==j&&s!==gr&&s!==sr)throw new c("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(s===sr&&(a!==j&&a>W||o!==j&&o>W))throw new c("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");s!==j||a===j&&o===j||(s=gr);let h=mr(e,t,Ht),w=mr(e,t,zt);const d=h!==j||w!==j;if(a!==j||o!==j||g!==j||s?(i=!1,r=r&W|768):d&&(i=!0,r&=G),h!==j&&(0>h||h>G))throw new c("Invalid msdosAttributesRaw (must be integer 0..255)");if(w&&"object"!=typeof w)throw new c("Invalid msdosAttributes (must be an object with boolean flags)");if(r>W)throw new c(_i);let I=mr(e,t,xt,0);!t[Xt]&&A.endsWith(X)&&(t[Xt]=!0);const f=mr(e,t,Xt);let C;return f?(A.endsWith(X)||(A+=X),0===I&&(I=16,i||(I|=16877<<16))):i||0!==I||(I=n?493<<16:27525120),i||(C=I>>16&W,g=g===j?C:g&W,B?g|=V:B=!!(g&V),l?g|=P:l=!!(g&P),u?g|=512:u=!!(512&g),f&&(g|=v),I=(g&W)<<16|I&G),({msdosAttributesRaw:h,msdosAttributes:w}=((e,A)=>{if(e!==j)e&=G;else if(A!==j){const{readOnly:t,hidden:i,system:r,directory:n,archive:a}=A;let o=0;t&&(o|=1),i&&(o|=2),r&&(o|=4),n&&(o|=16),a&&(o|=32),e=o&G}return A===j&&(A={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:A}})(h,w)),d&&(I=I&O|h&G),{name:A,resolvedOptions:{versionMadeBy:r,msDosCompatible:i,externalFileAttributes:I,unixExternalUpper:C,uid:a,gid:o,unixMode:g,unixExtraFieldType:s,setuid:B,setgid:l,sticky:u,msdosAttributesRaw:h,msdosAttributes:w}}})(e,A,r);({name:A}=a);const g=((e,A,t)=>{const i=mr(e,t,"encodeText",ue);let r=i(A);if(r===j&&(r=ue(A)),Mr(r)>W)throw new c(qi);const n=t[yt]||"";let a=i(n);if(a===j&&(a=ue(n)),Mr(a)>W)throw new c(Zi);const g=mr(e,t,vt,20);if(g>W)throw new c(_i);const s=mr(e,t,Wt,new o),B=mr(e,t,Tt),l=mr(e,t,kt),h=mr(e,t,Kt,0),w=mr(e,t,oi);let d,I;w||(d=mr(e,t,ni),I=mr(e,t,ai));const f=mr(e,t,"encryptionStrength",3),C=mr(e,t,Pt),E=mr(e,t,"extendedTimestamp",!0),D=mr(e,t,"keepOrder",!0),F=mr(e,t,Bi),m=mr(e,t,ci,!0),p=mr(e,t,"bufferedWrite"),Q=mr(e,t,"createTempStream"),Y=mr(e,t,"dataDescriptorSignature",!0),y=mr(e,t,gi),S=mr(e,t,"useUnicodeFileNames",!0),b=mr(e,t,qt);if(!w&&b!==j&&0!==b&&8!==b)throw new c("Compression method not supported");let M=mr(e,t,"level"),U=mr(e,t,li),O=mr(e,t,"dataDescriptor");p&&O===j&&(O=!1),(O===j||C)&&(O=!0),M!==j&&6!=M&&(U=!1),U||e.config.CompressionStream!==j||e.config.CompressionStreamZlib!==j||(M=0);const G=mr(e,t,Nt);if(!C&&(d!==j||I!==j)&&(1>f||f>3))throw new c(ji);let T=new u;const k=t[jt];if(k){let e=0,A=0;k.forEach(A=>e+=4+Mr(A)),T=new u(e);const t=br(T);k.forEach((e,i)=>{if(i>W)throw new c($i);if(Mr(e)>W)throw new c(er);Qr(t,A,i),Qr(t,A+2,Mr(e)),Sr(T,e,A+4),A+=4+Mr(e)})}return{comment:n,resolvedOptions:{rawFilename:r,rawComment:a,version:g,lastModDate:s,lastAccessDate:B,creationDate:l,internalFileAttributes:h,passThrough:w,password:d,rawPassword:I,encryptionStrength:f,zipCrypto:C,extendedTimestamp:E,keepOrder:D,useWebWorkers:F,transferStreams:m,bufferedWrite:p,createTempStream:Q,dataDescriptorSignature:Y,signal:y,useUnicodeFileNames:S,compressionMethod:b,level:M,useCompressionStream:U,dataDescriptor:O,zip64:G,rawExtraField:T}}})(e,A,r),{comment:s}=g,B=r[jt];let l;e.files.set(A,j);try{const o=await(async(e,A,{resolvedOptions:t},i)=>{const{passThrough:r,zipCrypto:n,password:a,rawPassword:o,encryptionStrength:g}=t;let{dataDescriptor:s,zip64:B,level:l,compressionMethod:u}=t,h=0,w=0;if(r){if(!A)throw new c(nr);if(w=i[bt],w===j)throw new c(rr)}const d=!0===B,I=mr(e,i,Jt),f=!!A&&(!!(a&&Mr(a)||o&&Mr(o))||r&&I);A||(l=0,u=0);const C=f?n?12:16+4*g:0;A&&(A=new Ct(A),await Dt(A),r?(i.uncompressedSize=w,h=pr(w)+C):A.size===j?(s=!0,(B||B===j)&&(B=!0,w=h=4294967296)):(i.uncompressedSize=w=A.size,h=pr(w)+C));const E=d||w>=O,D=d||h>=O;if(E||D){if(!1===B)throw new c(ir);B=!0}return B=B||!1,{reader:A,resolvedOptions:{dataDescriptor:s,zip64:B,zip64UncompressedSize:E,zip64CompressedSize:D,uncompressedSize:w,level:l,compressionMethod:u,encrypted:f}}})(e,i,g,r);({reader:i}=o);const{diskOffset:s,diskNumber:B}=e.writer,h=(e=>{const{rawFilename:A,lastModDate:t,lastAccessDate:i,creationDate:r,level:n,zip64:a,zipCrypto:o,useUnicodeFileNames:g,dataDescriptor:s,directory:B,rawExtraField:l,encryptionStrength:h,extendedTimestamp:w,passThrough:d,encrypted:I,zip64UncompressedSize:f,zip64CompressedSize:C,uncompressedSize:E}=e;let{version:D,compressionMethod:F}=e;const m=!B&&(F===j?n===j||n>0:0!==F);let p;const Q=d||!m,Y=a&&(e.bufferedWrite||!s||!f&&!C||Q),y=Y||a&&s&&(f||C);if(a&&(f||C)){const e=20,A=dr(e);if(A.uint16(1),A.uint16(e-4),p=A.array,Y&&(A.uint64(E),Q)){const e=I?o?12:16+4*h:0;A.uint64(d?0:E+e)}}else p=new u;let S,b,M,U,O;if(I&&!o){const e=dr(Mr(or)+2);e.uint16(39169),e.bytes(or),S=e.array,S[8]=h}else S=new u;if(w){const e=Er(t);if(Dr(e)){const A=9+(i?4:0)+(r?4:0),t=dr(A);U=1+(i?2:0)+(r?4:0),t.uint16(N),t.uint16(A-4),t.uint8(U),t.uint32(e),i&&t.uint32(Fr(Er(i))),r&&t.uint32(Fr(Er(r))),M=t.array}else M=new u;try{const e=Cr(t),A=dr(36);A.uint16(10),A.uint16(32),A.skip(4),A.uint16(1),A.uint16(24),A.uint64(e),A.uint64(Cr(i)||e),A.uint64(Cr(r)||e),b=A.array}catch{b=new u}}else b=M=new u;try{const{uid:A,gid:t,unixExtraFieldType:i}=e;if(i!=gr||A===j&&t===j)if(i!=sr||A===j&&t===j)O=new u;else{const e=dr(8);e.uint16(30805),e.uint16(4),e.uint16((A===j?0:A)&W),e.uint16((t===j?0:t)&W),O=e.array}else{const e=wr(A),i=wr(t),r=3+e.length+i.length,n=dr(4+r);n.uint16(30837),n.uint16(r),n.uint8(1),n.uint8(e.length),n.bytes(e),n.uint8(i.length),n.bytes(i),O=n.array}}catch{O=new u}F===j&&(F=m?8:0),a&&(D=D>45?D:45),I&&!o&&(D=D>51?D:51,S[9]=F,F=99);const G=y?Mr(p):0,k=G+Mr(S,M,b,O,l);if(k>W)throw new c(er);const{headerArray:R,headerView:K,rawLastModDate:x}=Ur({version:D,bitFlag:Or(n,g,s,I,F),compressionMethod:F,uncompressedSize:E,lastModDate:_>t?_:t>q?q:t,rawFilename:A,zip64CompressedSize:C,zip64UncompressedSize:f,extraFieldLength:k}),H=dr(Z+Mr(A)+k),z=H.array,L=br(z);return H.uint32(T),H.bytes(R),H.bytes(A),y&&H.bytes(p),H.bytes(S),H.bytes(M),H.bytes(b),H.bytes(O),H.bytes(l),s&&(C||Yr(L,18,0),f||Yr(L,22,0)),{localHeaderArray:z,localHeaderView:L,headerArray:R,headerView:K,lastModDate:t,rawLastModDate:x,encrypted:I,compressed:m,version:D,compressionMethod:F,extraFieldExtendedTimestampFlag:U,rawExtraFieldZip64:new u,localExtraFieldZip64Length:G,rawExtraFieldExtendedTimestamp:M,rawExtraFieldNTFS:b,rawExtraFieldUnix:O,rawExtraFieldAES:S,extraFieldLength:k}})(r=t.assign({},r,a.resolvedOptions,g.resolvedOptions,o.resolvedOptions,{internalFileAttribute:g.resolvedOptions.internalFileAttributes,externalFileAttribute:a.resolvedOptions.externalFileAttributes,signature:r[_t],offset:e.offset-s,diskNumberStart:B})),w=(({zip64:e,dataDescriptor:A,dataDescriptorSignature:t})=>{let i,r=new u,n=0,a=e?20:12;return t&&(a+=4),A&&(r=new u(a),i=br(r),t&&(n=4,Yr(i,0,R))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:n}})(r),d=Mr(h.localHeaderArray,w.dataDescriptorArray);l=await(async(e,A,i,r,a)=>{const{files:o,writer:g}=e,{keepOrder:s,dataDescriptor:B,signal:l}=a,{headerInfo:h}=r,w=e.options.usdz,d=e.lastFileEntry;let I,C,E,D,F,m,Q,y={},S=0;o.set(A,y),e.lastFileEntry=y;try{let C;s&&(C=d&&d.lock,y.lock=new f(e=>E=e)),a.bufferedWrite||!s||e.writerLocked||e.bufferedWrites||!B?(I=!0,e.bufferedWrites++,Q=a.createTempStream?await a.createTempStream():new p(j,j,{highWaterMark:$}),Q.size=0,await Dt(g)):(Q=g,await b()),await Dt(Q);const{diskOffset:U}=g;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const A=new u(4);Yr(br(A),0,k),await fr(g,A),e.offset+=4}w&&!I&&hr(r,e.offset-U);const{localHeaderArray:W}=h;I||(await C,await M());const T=g.diskNumber,R=Ir(e,g);if(y.diskNumberStart=T,I||(F=!0,m=g.size,await fr(Q,W)),y=await(async(e,A,{diskNumberStart:i,lock:r},a,o,g)=>{const{headerInfo:s,dataDescriptorInfo:B,metadataSize:l}=a,{headerArray:u,headerView:h,lastModDate:w,rawLastModDate:d,encrypted:I,compressed:f,version:C,compressionMethod:E,rawExtraFieldZip64:D,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:m,extraFieldExtendedTimestampFlag:p,rawExtraFieldNTFS:Q,rawExtraFieldUnix:Y,rawExtraFieldAES:y}=s,{dataDescriptorArray:S}=B,{rawFilename:b,lastAccessDate:M,creationDate:U,password:W,rawPassword:T,level:k,zip64:R,zip64UncompressedSize:K,zip64CompressedSize:x,zipCrypto:H,dataDescriptor:z,directory:L,executable:N,versionMadeBy:J,rawComment:v,rawExtraField:V,useWebWorkers:P,transferStreams:X,onstart:Z,onprogress:q,onend:_,signal:$,encryptionStrength:ee,extendedTimestamp:Ae,msDosCompatible:te,internalFileAttributes:ie,externalFileAttributes:re,uid:ne,gid:oe,unixMode:ge,setuid:se,setgid:Be,sticky:le,unixExternalUpper:ce,msdosAttributesRaw:ue,msdosAttributes:he,useCompressionStream:we,passThrough:de}=g,Ie={lock:r,versionMadeBy:J,zip64:R,directory:!!L,executable:!!N,filenameUTF8:!0,rawFilename:b,commentUTF8:!0,rawComment:v,rawExtraFieldZip64:D,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:m,rawExtraFieldNTFS:Q,rawExtraFieldUnix:Y,rawExtraFieldAES:y,rawExtraField:V,extendedTimestamp:Ae,msDosCompatible:te,internalFileAttributes:ie,externalFileAttributes:re,diskNumberStart:i,uid:ne,gid:oe,unixMode:ge,setuid:se,setgid:Be,sticky:le,unixExternalUpper:ce,msdosAttributesRaw:ue,msdosAttributes:he};let{signature:fe,uncompressedSize:Ce}=g,Ee=0;de||(Ce=0);const{writable:De}=A;if(e){e.chunkSize=ae(o);const t=e.readable,i=e.size,r={options:{codecType:uA,level:k,rawPassword:T,password:W,encryptionStrength:ee,zipCrypto:I&&H,passwordVerification:I&&H&&d>>8&G,signed:!de,compressed:f&&!de,encrypted:I&&!de,useWebWorkers:P,useCompressionStream:we,transferStreams:X},config:o,streamOptions:{signal:$,size:i,onstart:Z,onprogress:q,onend:_}};try{const e=await KA({readable:t,writable:De},r);if(Ee=e.outputSize,A.size+=Ee,de||(Ce=e.inputSize,fe=e.signature),!x&&Ee>=O||!K&&Ce>=O)throw new c(ir)}catch(e){throw e.outputSize!==j&&(A.size+=e.outputSize),e}}return(({signature:e,compressedSize:A,uncompressedSize:t,headerInfo:i,dataDescriptorInfo:r},{zip64:a,zipCrypto:o,dataDescriptor:g})=>{const{headerView:s,encrypted:B}=i,{dataDescriptorView:l,dataDescriptorOffset:c}=r;B&&!o||e===j||(Yr(s,10,e),g&&Yr(l,c,e)),a?g&&(yr(l,c+4,n(A)),yr(l,c+12,n(t))):(Yr(s,14,A),Yr(s,18,t),g&&(Yr(l,c+4,A),Yr(l,c+8,t)))})({signature:fe,compressedSize:Ee,uncompressedSize:Ce,headerInfo:s,dataDescriptorInfo:B},g),z&&await fr(A,S),t.assign(Ie,{uncompressedSize:Ce,compressedSize:Ee,lastModDate:w,rawLastModDate:d,creationDate:U,lastAccessDate:M,encrypted:I,zipCrypto:H,size:l+Ee,compressionMethod:E,version:C,headerArray:u,headerView:h,signature:fe,extraFieldExtendedTimestampFlag:p,zip64UncompressedSize:K,zip64CompressedSize:x}),Ie})(i,Q,y,r,e.config,a),I||(F=!1),o.set(A,y),y.filename=A,I){if(await f.all([Q.writable.getWriter().close(),C]),await b(),D=!0,m=g.size,await M(),y.diskNumberStart=g.diskNumber,y.offset=Ir(e,g),w){const A=r.metadataSize;hr(r,e.offset-g.diskOffset),y.size+=r.metadataSize-A}(({rawFilename:e,encrypted:A,zip64:t,localExtraFieldZip64Length:i,signature:r,compressedSize:a,uncompressedSize:o,zip64UncompressedSize:g,zip64CompressedSize:s},B,{dataDescriptor:l})=>{if(l||(A||Yr(B,14,r),s||Yr(B,18,a),g||Yr(B,22,o)),t&&i){const A=Z+Mr(e)+4;yr(B,A,n(o)),yr(B,A+8,n(a))}})(y,h.localHeaderView,a),await fr(g,h.localHeaderArray),await(async(e,A,t)=>{const i=A.writable.getWriter();try{await e.pipeTo(new Y({async write(e){var A;await i.ready,await i.write(e),A=Mr(e),S+=A}}),{preventClose:!0,preventAbort:!0,signal:t})}finally{i.releaseLock()}})(Q.readable,g,l),g.size+=Q.size,D=!1}else y.diskNumberStart=T,y.offset=R;return e.offset+=y.size,y}catch(t){if(D||F){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=g.size-m,I&&(e.offset+=S)}throw o.delete(A),t}finally{I&&e.bufferedWrites--,E&&E(),C&&C()}async function b(){e.writerLocked=!0;const{lockWriter:A}=e;e.lockWriter=new f(A=>C=()=>{e.writerLocked=!1,A()}),await A}async function M(){Mr(h.localHeaderArray)>g.availableSize&&(g.availableSize=0,await fr(g,new u))}})(e,A,i,{headerInfo:h,dataDescriptorInfo:w,metadataSize:d},r)}catch(t){throw e.files.delete(A),t}return t.assign(l,{name:A,comment:s,extraField:B}),new ri(l)})(r,e,A,i),a.add(s),await s}catch(A){throw B&&r.filenames.delete(e),A}finally{a.delete(s);const e=lr.shift();e?e():Br--}}remove(e){const{filenames:A,files:t}=this;if("string"==typeof e&&(e=t.get(e)),e&&e.filename!==j){const{filename:i}=e;if(A.has(i)&&t.has(i))return A.delete(i),t.delete(i),!0}return!1}async close(e=new u,t={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:a}=r;if(Mr(e)>W)throw new c(Xi);for(;i.size;)await f.allSettled(A.from(i));return await(async(e,t,i)=>{const r=(e=>{let A=0;for(const[,t]of e){const{rawFilename:e,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:n,rawExtraFieldUnix:a,rawExtraField:o,extendedTimestamp:g,extraFieldExtendedTimestampFlag:s,lastModDate:B,zip64UncompressedSize:l,zip64CompressedSize:h,uncompressedSize:w,compressedSize:d}=t,I=t.offset>=O,f=t.diskNumberStart>=W;let C,E;if(I||f||l||h){const e=4+(l?8:0)+(h?8:0)+(I?8:0)+(f?4:0),A=dr(e);A.uint16(1),A.uint16(e-4),l&&A.uint64(w),h&&A.uint64(d),I&&A.uint64(t.offset),f&&A.uint32(t.diskNumberStart),C=A.array}else C=new u;t.rawExtraFieldZip64=C,t.zip64Offset=I,t.zip64DiskNumberStart=f;const D=Er(B);if(g&&Dr(D)){const e=dr(9);e.uint16(N),e.uint16(5),e.uint8(s),e.uint32(D),E=e.array}else E=new u;t.rawExtraFieldExtendedTimestamp=E;const F=Mr(C,i,n,a,E,o);if(F>W)throw new c(er);A+=46+Mr(e,r)+F}return A})(e.files),{cdStartDiskNumber:a,cdStartDiskOffset:o}=await(async(e,t,i)=>{const{files:r,writer:n}=e,a=new u(t);await Dt(n);let o=0,g=0,s=n.diskNumber,B=n.diskOffset;for(const[e,t]of A.from(r.values()).entries()){const{offset:A,rawFilename:l,rawExtraFieldZip64:c,rawExtraFieldAES:h,rawExtraFieldExtendedTimestamp:w,rawExtraFieldNTFS:d,rawExtraFieldUnix:I,rawExtraField:f,rawComment:C,versionMadeBy:E,headerArray:D,headerView:F,zip64UncompressedSize:m,zip64CompressedSize:p,zip64DiskNumberStart:Q,zip64Offset:Y,internalFileAttributes:y,externalFileAttributes:S,diskNumberStart:b,uncompressedSize:M,compressedSize:U}=t,G=Mr(c,h,w,d,I,f),T=46+Mr(l,C)+G;o+T-g>n.availableSize&&(await fr(n,a.slice(g,o)),g=o,n.availableSize=0,await fr(n,new u)),0==e&&(s=n.diskNumber,B=n.diskOffset),m||Yr(F,18,M),p||Yr(F,14,U),(Y||Q)&&45>t.version&&Qr(F,0,45);const k=dr(T);if(k.uint32(K),k.uint16(E),k.bytes(D.subarray(0,24)),k.uint16(G),k.uint16(Mr(C)),k.uint16(Q?W:b),k.uint16(y),k.uint32(S),k.uint32(Y?O:A),k.bytes(l),k.bytes(c),k.bytes(h),k.bytes(w),k.bytes(d),k.bytes(I),k.bytes(f),k.bytes(C),Sr(a,k.array,o),o+=T,i.onprogress)try{await i.onprogress(e+1,r.size,new ri(t))}catch{}}return await fr(n,g?a.slice(g):a),{cdStartDiskNumber:s,cdStartDiskOffset:B}})(e,r,i);await(async(e,A,t,i)=>{const{writer:r}=e,{cdStartDiskNumber:a,cdStartDiskOffset:o}=i;let{directoryDataLength:g}=i,s=e.files.size,B=a,l=e.offset-o-(a?e.initialOffset:0),h=r.diskNumber;r.availableSize<L&&h++;let w=mr(e,t,Nt);if(!(O>l&&O>g&&W>s&&W>h)){if(!1===w)throw new c(ir);w=!0}const d=Mr(A);if(d>W)throw new c(Xi);const I=dr(w?98:L);Mr(I.array)+d>r.availableSize&&(r.availableSize=0,await fr(r,new u)),h=r.diskNumber,w&&(I.uint32(H),I.uint64(44),I.uint16(45),I.uint16(45),I.uint32(h),I.uint32(B),I.uint64(s),I.uint64(s),I.uint64(g),I.uint64(l),I.uint32(z),I.uint32(h),I.uint64(n(e.offset)+n(g)-n(r.diskOffset)-n(r.diskNumber?e.initialOffset:0)),I.uint32(h+1),mr(e,t,"supportZip64SplitFile",!0)&&(h=W,B=W),s=W,l=O,g=O),I.uint32(x),I.uint16(h),I.uint16(B),I.uint16(s),I.uint16(s),I.uint32(g),I.uint32(l),I.uint16(d),await fr(r,I.array),d&&await fr(r,A)})(e,t,i,{cdStartDiskNumber:a,cdStartDiskOffset:o,directoryDataLength:r})})(this,e,t),mr(this,t,ui)||await a.getWriter().close(),r.getData?r.getData():a}}function ur(e,A,t){e.pendingAddFileCalls.add(A),A.catch(e=>{try{t(e)}catch{}})}function hr(e,A){const{headerInfo:t}=e;let i,{localHeaderArray:r,extraFieldLength:n}=t,a=64-(A+Mr(r))%64;4>a&&(a+=64);const o=new u(a),g=br(o);Qr(g,0,6534),Qr(g,2,a-4);const s=r;t.localHeaderArray=r=new u(Mr(s)+a),Sr(r,s),Sr(r,o,Mr(s)),i=br(r),Qr(i,28,n+a),t.localHeaderView=i,e.metadataSize+=a}function wr(e){if(e===j)return new u;{const A=new u(4);br(A).setUint32(0,e,!0);let t=4;for(;t>1&&0===A[t-1];)t--;return A.subarray(0,t)}}function dr(e){const A=new u(e),t=br(A);let i=0;return{array:A,uint8:e=>{((e,A,t)=>{e.setUint8(A,t)})(t,i,e),i+=1},uint16:e=>{Qr(t,i,e),i+=2},uint32:e=>{Yr(t,i,e),i+=4},uint64:e=>{yr(t,i,n(e)),i+=8},bytes:e=>{Sr(A,e,i),i+=Mr(e)},skip:e=>i+=e}}function Ir(e,A){return e.offset-A.diskOffset-(A.diskNumber?e.initialOffset:0)}async function fr(e,A){const{writable:t}=e,i=t.getWriter();try{await i.ready,e.size+=Mr(A),await i.write(A)}finally{i.releaseLock()}}function Cr(e){if(e)return(n(e.getTime())+n(116444736e5))*n(1e4)}function Er(e){return a.floor(e.getTime()/1e3)}function Dr(e){return e>=Ar&&tr>=e}function Fr(e){return a.min(tr,a.max(Ar,e))}function mr(e,A,t,i){const r=A[t]===j?e.options[t]:A[t];return r===j?i:r}function pr(e){return e+5*(a.floor(e/16383)+1)}function Qr(e,A,t){e.setUint16(A,t,!0)}function Yr(e,A,t){e.setUint32(A,t,!0)}function yr(e,A,t){e.setBigUint64(A,t,!0)}function Sr(e,A,t){e.set(A,t)}function br(e){return new d(e.buffer,e.byteOffset,e.byteLength)}function Mr(...e){let A=0;return e.forEach(e=>e&&(A+=e.length)),A}function Ur({version:e,bitFlag:A,compressionMethod:t,uncompressedSize:i,compressedSize:r,lastModDate:n,rawLastModDate:a,rawFilename:o,zip64CompressedSize:g,zip64UncompressedSize:s,extraFieldLength:B}){const l=dr(26),c=l.array,u=br(c);if(l.uint16(e),l.uint16(A),l.uint16(t),a===j){const e=new w(1),A=br(e);Qr(A,0,(n.getHours()<<6|n.getMinutes())<<5|n.getSeconds()/2),Qr(A,2,(n.getFullYear()-1980<<4|n.getMonth()+1)<<5|n.getDate()),a=e[0]}return l.uint32(a),l.skip(4),g||r!==j?l.uint32(g?O:r):l.skip(4),s||i!==j?l.uint32(s?O:i):l.skip(4),l.uint16(Mr(o)),l.uint16(B),{headerArray:c,headerView:u,rawLastModDate:a}}function Or(e,A,t,i,r){let n=0;return A&&(n|=J),t&&(n|=8),8!=r&&9!=r||(0>e||e>3||(n|=6),e>3&&5>=e&&(n|=4),9==e&&(n|=2)),i&&(n|=1),n}try{oe({baseURI:void 0===D&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===D?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new l("zip-native.min.js",D.baseURI).href})}catch{}var{Uint8Array:Wr,Uint16Array:Gr,Int32Array:Tr,TransformStream:kr,Math:Rr,Error:Kr,Array:xr}=globalThis,Hr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],zr=new Wr(0),Lr=new Gr(0),Nr=[];for(let e=0;6>e;e++)Nr.push(e,0==e?8:4);Nr.push(0,1);var Jr=[];for(let e=0;14>e;e++)Jr.push(e,0==e?4:2);var vr=new Gr([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]),Vr=new Gr([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]);function Pr(e,A,t,i,r){if(0==r)return;let n=e instanceof Wr?e:new Wr(e.buffer,e.byteOffset,e.byteLength),a=t instanceof Wr?t.subarray(i,i+r):new Wr(t.buffer,t.byteOffset+i,r);n.set(a,A)}function Xr(e,A,t){0!=t&&(e instanceof Wr?e:new Wr(e.buffer,e.byteOffset,e.byteLength)).fill(0,A,A+t)}function Zr(){return{next_in:zr,next_in_index:0,avail_in:0,total_in:0,next_out:zr,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function qr(e,A){let t=1<<A;return{o:e,u:new Wr(t),h:t,k:A,m:0,v:0,p:0,M:0}}function _r(e){let A=[];for(let t=0;t<e.length;t+=2){let i=e[t],r=e[t+1];for(let e=0;r>e;e++)A.push(i)}return new Gr(A)}var jr=class{constructor(e,A){this.L=e,this.Z=A,this.q=0}},$r=class{constructor(e,A,t,i,r){this.N=e,this.V=A,this.W=t,this.S=i,this.$=r}};function en(e){return Sn[-6>e||e>2?9:2-e]||""}function An(e,A){try{e.msg=en(A)}catch(t){e.msg="zlib error "+i(A)+" ("+t+")"}return A}function tn(e,A){let t=e>>>0,i=0;for(let e=0;A>e;e++)i=i<<1|1&t,t>>>=1;return i}function rn(e,A){e.I[e.D++]=A}function nn(e,A){rn(e,255&A),rn(e,A>>>8&255)}function an(e,A,t){let i=255&t,r=65535&A,n=e.A+e.U;return e.I[n]=255&r,e.I[n+1]=r>>>8&255,e.I[n+2]=i,e.U+=3,r=r-1&65535,e.R[kn[i]+En+1].P++,e.X[sn(r)].P++,e.U==e.C}function on(e,A){let t=255&A,i=e.A+e.U;return e.I[i]=0,e.I[i+1]=0,e.I[i+2]=t,e.U+=3,e.R[t].P++,e.U==e.C}function gn(e){return e.h-fn}function sn(e){return 256>e?Rn[e]:Rn[256+(e>>7)]}function Bn(e){let A=wn+7,t=1<<A,i=(1<<A)-1,r=Rr.floor((A+dn-1)/dn),n=1<<8+wn;return{...qr(e,15),o:e,H:42,O:0,T:void 0,Y:32767,B:A,F:t,j:i,G:r,J:new Gr(32768),K:new Gr(t),ee:n,I:new Wr(32768),te:0,ne:32768,D: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,be:0,ge:0,me:0,ve:0,xe:0,ye:0,pe:new Tr(2*Dn+1),ze:new Wr(2*Dn+1),Me:new Gr(Qn+1),U:0,C:0,Le:zr,A:0,Ee:0,Ze:0,qe:8,Ne:32768,Ve:0,We:0,Se:0,R:new xr(pn).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),X:new xr(2*Fn+1).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),$e:new xr(2*mn+1).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),Ie:un(),De:un(),Ae:un()}}function ln(e){let A=[];for(let t=0;t<e.length;t+=2){let i=e[t],r=e[t+1],n=cn();n.Qe=i,n.Ue=r,A.push(n)}return A}function cn(){return{P:0,Qe:0,Pe:0,Ue:0}}function un(){return new jr([],new $r(null,zr,0,0,0))}function hn(e){let{code:A,length:t}=(e=>{let A=Rr.max(...e),t=new xr(A+1).fill(0);for(let A of e)A>0&&t[A]++;let i=new xr(e.length).fill(0),r=new xr(A+1).fill(0),n=0;for(let e=1;A>=e;e++)n=n+t[e-1]<<1,r[e]=n;for(let A=0;A<e.length;A++){let t=e[A];0!=t&&(i[A]=r[t]++)}return{code:i,length:e}})(e),i=new Gr(2*e.length),r=0;for(let n=0;n<e.length;n++){let e=t[n]||0,a=A[n]||0;i[r++]=e?tn(a,e):0,i[r++]=e}return new Gr(i)}var wn=8,dn=3,In=258,fn=In+dn+1,Cn=In,En=256,Dn=En+1+29,Fn=30,mn=19,pn=2*Dn+1,Qn=15,Yn=256,yn=-1,Sn=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],bn=_r(Nr),Mn=_r(Jr),Un=new Gr(19);Un[16]=2,Un[17]=3,Un[18]=7;var On=hn((()=>{let e=new xr(288).fill(0);for(let A=0;143>=A;A++)e[A]=8;for(let A=144;255>=A;A++)e[A]=9;for(let A=256;279>=A;A++)e[A]=7;for(let A=280;287>=A;A++)e[A]=8;return e})()),Wn=hn(new xr(30).fill(5)),Gn=ln(On),Tn=ln(Wn),kn=((e,A)=>{let t=0;for(let i=0;i<e.length;i++){let r=A[i]?1<<A[i]:1,n=e[i]+r-1;n>t&&(t=n)}258>t&&(t=258);let i=new Wr(t+1);for(let r=0;t>=r;r++)for(let t=0;t<e.length;t++){let n=A[t]?1<<A[t]:1,a=e[t];if(r>=a&&a+n-1>=r){i[r]=t;break}}return i})(Vr,bn),Rn=(e=>{let A=new Wr(512),t=e.length-1;for(let i=0;256>i;i++)A[i]=i>t?e[t]:e[i];for(let i=256;t>=i;i++){let t=i>>7;A[256+(t>255?255:t)]=e[i]}for(let e=257;512>e;e++)0==A[e]&&(A[e]=A[e-1]);return A})(((e,A)=>{let t=0;for(let i=0;i<e.length;i++){let r=A[i]?1<<A[i]:1,n=e[i]+r-1;n>t&&(t=n)}let i=new Wr(t+1);for(let r=0;t>=r;r++)for(let t=0;t<e.length;t++){let n=A[t]?1<<A[t]:1,a=e[t];if(r>=a&&a+n-1>=r){i[r]=t;break}}return i})(vr,Mn));function Kn(e){return e%65521>>>0}function xn(e,A,t){if(void 0===A||void 0===t)return 1;let i=e>>>16&65535;if(e&=65535,1==t)return(e+=A[0])>=65521&&(e-=65521),i+=e,i>=65521&&(i-=65521),(i<<16|e)>>>0;if(16>t){for(let r=0;t>r;r++)i+=e+=A[r];return e>=65521&&(e-=65521),i=Kn(i),(i<<16|e)>>>0}for(;t>=5552;){t-=5552;let r=Rr.floor(347);do{for(let t=0;16>t;t++)i+=e+=A[t];A=A.subarray(16)}while(--r);e=Kn(e),i=Kn(i)}if(t){for(;t>=16;){t-=16;for(let t=0;16>t;t++)i+=e+=A[t];A=A.subarray(16)}for(let r=0;t>r;r++)i+=e+=A[r];e=Kn(e),i=Kn(i)}return(i<<16|e)>>>0}var Hn=(()=>{let e=new xr(256);for(let A=0;256>A;A++){let t=A;for(let e=0;8>e;e++)t=1&t?3988292384^t>>>1:t>>>1;e[A]=t>>>0}return e})();function zn(e=0,A,t){if(!A)return 0;void 0===t&&(t=A.length),t=Rr.min(t,A.length),e=~e>>>0;for(let i=0;t>i;i++)e=e>>>8^Hn[255&(e^A[i])];return(4294967295^e)>>>0}function Ln(e){16==e.M?(nn(e,e.p),e.p=0,e.M=0):e.M>=8&&(rn(e,e.p),e.p>>=8,e.M-=8)}function Nn(e){e.M>8?nn(e,e.p):e.M>0&&rn(e,e.p),e.Ee=1+(e.M-1&7),e.p=0,e.M=0}function Jn(e,A,t){e.M>16-t?(e.p=65535&(e.p|A<<e.M),nn(e,e.p),e.p=A>>16-e.M&65535,e.M+=t-16):(e.p=65535&(e.p|A<<e.M),e.M+=t)}function vn(e){for(let A=0;A<e.R.length;A++)e.R[A].P=0;for(let A=0;A<e.X.length;A++)e.X[A].P=0;for(let A=0;A<e.$e.length;A++)e.$e[A].P=0;e.R[Yn].P=1,e.ie=e.fe=0,e.U=e._e=0}function Vn(e,A,t){return t=e.pe[1],e.pe[1]=e.pe[e.We--],Xn(e,A,1),t}function Pn(e,A,t,i){return e[A].P<e[t].P||e[A].P==e[t].P&&i[A]<=i[t]}function Xn(e,A,t){let i=e.pe[t],r=t<<1;for(;r<=e.We&&(r<e.We&&Pn(A,e.pe[r+1],e.pe[r],e.ze)&&r++,!Pn(A,i,e.pe[r],e.ze));)e.pe[t]=e.pe[r],t=r,r<<=1;e.pe[t]=i}function Zn(e,A){let t,i,r,n=A.L,a=A.Z.N,o=A.Z.S,g=-1;for(e.We=0,e.Se=pn,t=0;o>t;t++)0!=n[t].P?(e.pe[++e.We]=g=t,e.ze[t]=0):n[t].Ue=0;for(;2>e.We;)r=e.pe[++e.We]=2>g?++g:0,n[r].P=1,e.ze[r]=0,e.ie--,a&&(e.fe-=a[r].Ue);for(A.q=g,t=Rr.floor(e.We/2);t>=1;t--)Xn(e,n,t);r=o;do{t=Vn(e,n,t),i=e.pe[1],e.pe[--e.Se]=t,e.pe[--e.Se]=i,n[r].P=n[t].P+n[i].P,e.ze[r]=(e.ze[t]<e.ze[i]?e.ze[i]:e.ze[t])+1,n[t].Pe=n[i].Pe=r,e.pe[1]=r++,Xn(e,n,1)}while(e.We>=2);e.pe[--e.Se]=e.pe[1],((e,A)=>{let t,i,r,n,a,o,g=A.L,s=A.q,B=A.Z.N,l=A.Z.V,c=A.Z.W,u=A.Z.$,h=0;for(n=0;Qn>=n;n++)e.Me[n]=0;for(g[e.pe[e.Se]].Ue=0,t=e.Se+1;pn>t;t++)i=e.pe[t],n=g[g[i].Pe].Ue+1,n>u&&(n=u,h++),g[i].Ue=n,s>=i&&(e.Me[n]++,a=0,i>=c&&(a=l[i-c]),o=g[i].P,e.ie+=o*(n+a),B&&(e.fe+=o*(B[i].Ue+a)));if(0!=h){do{for(n=u-1;0==e.Me[n];)n--;e.Me[n]--,e.Me[n+1]+=2,e.Me[u]--,h-=2}while(h>0);for(n=u;0!=n;n--)for(i=e.Me[n];0!=i;)r=e.pe[--t],s>=r&&(g[r].Ue!=n&&(e.ie+=(n-g[r].Ue)*g[r].P,g[r].Ue=n),i--)}})(e,A),((e,A,t)=>{let i,r,n=[],a=0;for(i=1;Qn>=i;i++)a=a+t[i-1]<<1,n[i]=a;for(r=0;A>=r;r++){let A=e[r].Ue;0!=A&&(e[r].Qe=tn(n[A]++,A))}})(n,A.q,e.Me)}function qn(e,A,t){let i,r,n=-1,a=A[0].Ue,o=0,g=7,s=4;for(0==a&&(g=138,s=3),A[t+1].Ue=65535,i=0;t>=i;i++)r=a,a=A[i+1].Ue,(++o>=g||r!=a)&&(s>o?e.$e[r].P+=o:0!=r?(r!=n&&e.$e[r].P++,e.$e[16].P++):o>10?e.$e[18].P++:e.$e[17].P++,o=0,n=r,0==a?(g=138,s=3):r==a?(g=6,s=3):(g=7,s=4))}function _n(e,A,t){let i,r=-1,n=A[0].Ue,a=0,o=7,g=4;0==n&&(o=138,g=3);for(let s=0;t>=s;s++)if(i=n,n=A[s+1].Ue,++a>=o||i!=n){if(g>a)do{Jn(e,e.$e[i].Qe,e.$e[i].Ue)}while(0!=--a);else 0!=i?(i!=r&&(Jn(e,e.$e[i].Qe,e.$e[i].Ue),a--),Jn(e,e.$e[16].Qe,e.$e[16].Ue),Jn(e,a-3,2)):a>10?(Jn(e,e.$e[18].Qe,e.$e[18].Ue),Jn(e,a-11,7)):(Jn(e,e.$e[17].Qe,e.$e[17].Ue),Jn(e,a-3,3));a=0,r=i,0==n?(o=138,g=3):i==n?(o=6,g=3):(o=7,g=4)}}function jn(e,A,t,i,r=0){Jn(e,0+i,3),Nn(e),nn(e,t),nn(e,~t),t&&A&&Pr(e.I,e.D,A,r,t),e.D+=t}function $n(e,A,t){let i,r,n,a,o=0;if(0!=e.U)do{i=255&e.Le[o],i+=(255&e.Le[o+1])<<8,r=e.Le[o+2],o+=3,0==i?Jn(e,A[r].Qe,A[r].Ue):(n=kn[r],Jn(e,A[n+En+1].Qe,A[n+En+1].Ue),a=bn[n],0!=a&&(r-=Vr[n],Jn(e,r,a)),i--,n=sn(i),Jn(e,t[n].Qe,t[n].Ue),a=Mn[n],0!=a&&(i-=vr[n],Jn(e,i,a)))}while(o<e.U);Jn(e,A[Yn].Qe,A[Yn].Ue)}var ea=[{Re:Ca,Xe:0,Ce:0,He:0,Oe:0},{Re:Ea,Xe:4,Ce:4,He:8,Oe:4},{Re:Ea,Xe:5,Ce:5,He:16,Oe:8},{Re:Ea,Xe:6,Ce:16,He:32,Oe:32},{Re:Da,Xe:4,Ce:4,He:16,Oe:16},{Re:Da,Xe:16,Ce:8,He:16,Oe:32},{Re:Da,Xe:16,Ce:16,He:32,Oe:128},{Re:Da,Xe:32,Ce:32,He:128,Oe:256},{Re:Da,Xe:128,Ce:128,He:256,Oe:1024},{Re:Da,Xe:258,Ce:258,He:258,Oe:4096}];function Aa(e){return 2*e-(e>4?9:0)}function ta(e,A,t){return((A<<e.G^t)&e.j)>>>0}function ia(e,A){e.ke=ta(e,e.ke,e.u[A+(dn-1)]);let t=e.J[A&e.Y]=e.K[e.ke];return e.K[e.ke]=A,t}function ra(e){e.K[e.F-1]=0,Xr(e.K,0,(e.F-1)*e.K.BYTES_PER_ELEMENT)}function na(e){let A,t,i=e.h;for(A=e.F;A>0;)A--,t=e.K[A],e.K[A]=i>t?0:t-i;for(A=i;A>0;)A--,t=e.J[A],e.J[A]=i>t?0:t-i}function aa(e,A,t,i){let r=e.avail_in;return r>i&&(r=i),0==r?0:(e.avail_in-=r,Pr(A,t,e.next_in,e.next_in_index,r),1==e.l.O?e.i=xn(e.i,new Wr(A.buffer,A.byteOffset+t,r),r):2==e.l.O&&(e.i=zn(e.i,new Wr(A.buffer,A.byteOffset+t,r),r)),e.next_in_index+=r,e.total_in+=r,r)}function oa(e){let A,t,i=e.h;do{if(t=e.Ne-e.ce-e.ae,0==t&&0==e.ae&&0==e.ce?t=i:-1==t&&t--,e.ae>=i+gn(e)&&(Pr(e.u,0,e.u,i,i-t),e.Ve-=i,e.ae-=i,e.ue-=i,e.le>e.ae&&(e.le=e.ae),na(e),t+=i),0==e.o.avail_in)break;if(A=aa(e.o,e.u,e.ae+e.ce,t),e.ce+=A,e.ce+e.le>=dn){let A=e.ae-e.le;for(e.ke=e.u[A],e.ke=ta(e,e.ke,e.u[A+1]);e.le&&(e.ke=ta(e,e.ke,e.u[A+dn-1]),e.J[A&e.Y]=e.K[e.ke],e.K[e.ke]=A,A++,e.le--,e.ce+e.le>=dn););}}while(e.ce<fn&&0!=e.o.avail_in);if(e.m<e.Ne){let A,t=e.ae+e.ce;e.m<t?(A=e.Ne-t,A>Cn&&(A=Cn),Xr(e.u,t,A),e.m=t+A):e.m<t+Cn&&(A=t+Cn-e.m,A>e.Ne-e.m&&(A=e.Ne-e.m),Xr(e.u,e.m,A),e.m+=A)}}function ga(e){if(null==e)return!0;let A=e.l;return!A||A.o!=e||42!=A.H&&57!=A.H&&69!=A.H&&73!=A.H&&91!=A.H&&103!=A.H&&113!=A.H&&666!=A.H}function sa(e,A){rn(e,A>>8),rn(e,255&A)}function Ba(e){let A,t=e.l;(e=>{Ln(e)})(t),A=t.D,A>e.avail_out&&(A=e.avail_out),0!=A&&(Pr(e.next_out,e.next_out_index,t.I,t.re,A),e.next_out_index+=A,t.re+=A,e.total_out+=A,e.avail_out-=A,t.D-=A,0==t.D&&(t.re=t.te))}function la(e,A){let t=e.l;t.T&&t.T.Te&&(e.i=zn(e.i,new Wr(t.I.buffer,t.te+A,t.D-A),t.D-A))}function ca(e,A){let t,i=e.l;if(ga(e)||A>5||0>A)return An(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==i.H&&4!=A)return An(e,-2);if(0==e.avail_out)return An(e,-5);if(t=i.oe,i.oe=A,0!=i.D){if(Ba(e),0==e.avail_out)return i.oe=yn,0}else if(0==e.avail_in&&Aa(A)<=Aa(t)&&4!=A)return An(e,-5);if(666==i.H&&0!=e.avail_in)return An(e,-5);if(42==i.H&&0==i.O&&(i.H=113),42==i.H){let A,t=8+(i.k-8<<4)<<8;if(A=i.ge>=2||2>i.be?0:6>i.be?1:6==i.be?2:3,t|=A<<6,0!=i.ae&&(t|=32),t+=31-t%31,sa(i,t),0!=i.ae&&(sa(i,e.i>>16),sa(i,65535&e.i)),e.i=1,i.H=113,Ba(e),0!=i.D)return i.oe=yn,0}if(57==i.H)if(e.i=zn(0),rn(i,31),rn(i,139),rn(i,8),i.T)rn(i,(i.T.Ye?1:0)+(i.T.Te?2:0)+(null==i.T.Be?0:4)+(null==i.T.Fe?0:8)+(null==i.T.je?0:16)),rn(i,255&i.T.Ge),rn(i,i.T.Ge>>>8&255),rn(i,i.T.Ge>>>16&255),rn(i,i.T.Ge>>>24&255),rn(i,9==i.be?2:i.ge>=2||2>i.be?4:0),rn(i,255&i.T.Je),null!=i.T.Be&&(rn(i,255&i.T.Ke),rn(i,i.T.Ke>>>8&255)),i.T.Te&&(e.i=zn(e.i,i.I,i.D)),i.Ze=0,i.H=69;else if(rn(i,0),rn(i,0),rn(i,0),rn(i,0),rn(i,0),rn(i,9==i.be?2:i.ge>=2||2>i.be?4:0),rn(i,255),i.H=113,Ba(e),0!=i.D)return i.oe=yn,0;if(69==i.H){if(i.T&&null!=i.T.Be){let A=i.D,t=(65535&i.T.Ke)-i.Ze;for(;i.D+t>i.ne;){let r=i.ne-i.D;if(Pr(i.I,i.D,i.T.Be,i.Ze,r),i.D=i.ne,la(e,A),i.Ze+=r,Ba(e),0!=i.D)return i.oe=yn,0;A=0,t-=r}Pr(i.I,i.D,i.T.Be,i.Ze,t),i.D+=t,la(e,A),i.Ze=0}i.H=73}if(73==i.H){if(i.T&&i.T.Fe&&i.T.Fe.length){let A,t=i.D;do{if(i.D==i.ne){if(la(e,t),Ba(e),0!=i.D)return i.oe=yn,0;t=0}A=i.T.Fe[i.Ze++],rn(i,A)}while(0!=A);la(e,t),i.Ze=0}i.H=91}if(91==i.H){if(i.T&&i.T.je&&i.T.je.length){let A,t=i.D;do{if(i.D==i.ne){if(la(e,t),Ba(e),0!=i.D)return i.oe=yn,0;t=0}A=i.T.je[i.Ze++],rn(i,A)}while(0!=A);la(e,t)}i.H=103}if(103==i.H){if(i.T&&i.T.Te){if(i.D+2>i.ne&&(Ba(e),0!=i.D))return i.oe=yn,0;rn(i,255&e.i),rn(i,e.i>>>8&255),e.i=zn(0)}if(i.H=113,Ba(e),0!=i.D)return i.oe=yn,0}if(0!=e.avail_in||0!=i.ce||0!=A&&666!=i.H){let t=0==i.be?Ca(i,A):2==i.ge?((e,A)=>{let t=!1;for(;;){if(0==e.ce&&(oa(e),0==e.ce)){if(0==A)return 0;break}if(e.se=0,t=on(e,e.u[e.ae]),e.ce--,e.ae++,t){let A=da(e,!1);if(null!=A)return A}}if(e.le=0,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1})(i,A):3==i.ge?((e,A)=>{let t,i,r,n;for(;;){if(e.ce<=In){if(oa(e),e.ce<=In&&0==A)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=dn&&e.ae>0&&(r=e.ae-1,i=e.u[r],i==++r&&i==++r&&i==++r)){n=e.ae+In;do{}while(i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&n>r);e.se=In-(n-r),e.se>e.ce&&(e.se=e.ce)}if(e.se<dn?(t=on(e,e.u[e.ae]),e.ce--,e.ae++):(e.ae,e.ae,e.se,t=an(e,1,e.se-dn),e.ce-=e.se,e.ae+=e.se,e.se=0),t){let A=da(e,!1);if(null!=A)return A}}if(e.le=0,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1})(i,A):ea[i.be].Re(i,A);if((2==t||3==t)&&(i.H=666),0==t||2==t)return 0==e.avail_out&&(i.oe=yn),0;if(1==t&&(1==A?(e=>{Jn(e,2,3),Jn(e,Gn[Yn].Qe,Gn[Yn].Ue),Ln(e)})(i):5!=A&&(jn(i,null,0,0),3==A&&(ra(i),0==i.ce&&(i.ae=0,i.ue=0,i.le=0))),Ba(e),0==e.avail_out))return i.oe=yn,0}return 4!=A?0:i.O>0?(2==i.O?(rn(i,255&e.i),rn(i,e.i>>>8&255),rn(i,e.i>>>16&255),rn(i,e.i>>>24&255),rn(i,255&e.total_in),rn(i,e.total_in>>>8&255),rn(i,e.total_in>>>16&255),rn(i,e.total_in>>>24&255)):(sa(i,e.i>>>16&65535),sa(i,65535&e.i)),Ba(e),i.O>0&&(i.O=-i.O),0!=i.D?0:1):1}function ua(e){if(ga(e))return-2;let A=e.l,t=A.H;return A.u=zr,A.J=Lr,A.K=Lr,A.I=zr,A.Le=zr,A.pe=new Tr(0),A.ze=zr,A.Me=Lr,A.R.length=0,A.X.length=0,A.$e.length=0,A.T=void 0,A.te=0,A.re=0,A.A=0,113==t?-3:0}function ha(e,A){let t,i,r=e.xe,n=e.ae,a=e.de,o=e.ve,g=e.ae>gn(e)?e.ae-gn(e):0,s=e.J,B=e.Y,l=e.u[n],c=e.u[n+1],u=e.u[n+a-1],h=e.u[n+a];e.de>=e.me&&(r>>=2),o>e.ce&&(o=e.ce);do{if(t=A,e.u[t+a]!=h||e.u[t+a-1]!=u||e.u[t]!=l||e.u[t+1]!=c)continue;let r=Rr.min(In,e.ce),g=2;for(;r>g&&e.u[n+g]==e.u[t+g];)g++;if(i=g,i>a){if(e.Ve=A,a=i,i>=o)break;u=e.u[n+a-1],h=e.u[n+a]}}while((A=s[A&B])>g&&0!=--r);return a>e.ce?e.ce:a}function wa(e,A){((e,A,t,i,r=0)=>{let n,a,o=0;e.be>0?(2==e.o.t&&(e.o.t=(e=>{let A,t=4093624447;for(A=0;31>=A;A++,t>>=1)if(1&t&&0!=e.R[A].P)return 0;if(0!=e.R[9].P||0!=e.R[10].P||0!=e.R[13].P)return 1;for(A=32;En>A;A++)if(0!=e.R[A].P)return 1;return 0})(e)),Zn(e,e.Ie),Zn(e,e.De),o=(e=>{let A;for(qn(e,e.R,e.Ie.q),qn(e,e.X,e.De.q),Zn(e,e.Ae),A=mn-1;A>=3&&0==e.$e[Hr[A]].Ue;A--);return e.ie+=3*(A+1)+5+5+4,A})(e),n=e.ie+3+7>>3,a=e.fe+3+7>>3,(n>=a||4==e.ge)&&(n=a)):n=a=t+5,n>=t+4&&A?jn(e,A,t,i,r):a==n?(Jn(e,2+i,3),$n(e,Gn,Tn)):(Jn(e,4+i,3),((e,A,t,i)=>{let r;for(Jn(e,A-257,5),Jn(e,t-1,5),Jn(e,i-4,4),r=0;i>r;r++)Jn(e,e.$e[Hr[r]].Ue,3);_n(e,e.R,A-1),_n(e,e.X,t-1)})(e,e.Ie.q+1,e.De.q+1,o+1),$n(e,e.R,e.X)),vn(e),i&&Nn(e)})(e,e.u,e.ae-e.ue,A,e.ue),e.ue=e.ae,Ba(e.o)}function da(e,A){return wa(e,A?1:0),0==e.o.avail_out?A?2:0:null}var Ia=65535;function fa(e,A){return A>e?e:A}function Ca(e,A){let t,i,r,n=fa(e.ne-5,e.h),a=0,o=e.o.avail_in;do{if(t=Ia,r=e.M+42>>3,e.o.avail_out<r||(r=e.o.avail_out-r,i=e.ae-e.ue,t>i+e.o.avail_in&&(t=i+e.o.avail_in),t>r&&(t=r),n>t&&(0==t&&4!=A||0==A||t!=i+e.o.avail_in)))break;a=4==A&&t==i+e.o.avail_in?1:0,jn(e,null,0,a),e.I[e.D-4]=t,e.I[e.D-3]=t>>8,e.I[e.D-2]=~t,e.I[e.D-1]=~t>>8,Ba(e.o),i&&(i>t&&(i=t),Pr(e.o.next_out,e.o.next_out_index,e.u,e.ue,i),e.o.next_out_index+=i,e.o.avail_out-=i,e.o.total_out+=i,e.ue+=i,t-=i),t&&(aa(e.o,e.o.next_out,e.o.next_out_index,t),e.o.next_out_index+=t,e.o.avail_out-=t,e.o.total_out+=t)}while(0==a);if(o-=e.o.avail_in,o){if(o<e.h)e.Ne-e.ae<=o&&(e.ae-=e.h,Pr(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,e.le>e.ae&&(e.le=e.ae)),Pr(e.u,e.ae,e.o.next_in,e.o.next_in_index-o,o),e.ae+=o,e.le+=fa(o,e.h-e.le);else{e._e=2;let A=e.o.next_in_index-e.h;Pr(e.u,0,e.o.next_in,A,e.h),e.ae=e.h,e.le=e.ae}e.ue=e.ae}return e.m<e.ae&&(e.m=e.ae),a?(e.Ee=8,3):0!=A&&4!=A&&0==e.o.avail_in&&e.ae==e.ue?1:(r=e.Ne-e.ae,e.o.avail_in>r&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,Pr(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,r+=e.h,e.le>e.ae&&(e.le=e.ae)),r>e.o.avail_in&&(r=e.o.avail_in),r&&(aa(e.o,e.u,e.ae,r),e.ae+=r,e.le+=fa(r,e.h-e.le)),e.m<e.ae&&(e.m=e.ae),r=e.M+42>>3,r=fa(e.ne-r,Ia),n=fa(r,e.h),i=e.ae-e.ue,(i>=n||(i||4==A)&&0!=A&&0==e.o.avail_in&&r>=i)&&(t=fa(i,r),a=4==A&&0==e.o.avail_in&&t==i?1:0,jn(e,e.u,t,a,e.ue),e.ue+=t,Ba(e.o)),a&&(e.Ee=8),a?2:0)}function Ea(e,A){let t,i=!1;for(;;){if(e.ce<fn){if(oa(e),e.ce<fn&&0==A)return 0;if(0==e.ce)break}if(t=0,e.ce>=dn&&(t=ia(e,e.ae)),0!=t&&e.ae-t<=gn(e)&&(e.se=ha(e,t)),e.se<dn)i=on(e,e.u[e.ae]),e.ce--,e.ae++;else if(e.ae,e.Ve,e.se,i=an(e,e.ae-e.Ve,e.se-dn),e.ce-=e.se,e.se>e.ye||e.ce<dn)e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=ta(e,e.ke,e.u[e.ae+1]);else{e.se--;do{e.ae++,t=ia(e,e.ae)}while(0!=--e.se);e.ae++}if(i){let A=da(e,!1);if(null!=A)return A}}if(e.le=e.ae<dn-1?e.ae:dn-1,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1}function Da(e,A){let t,i=!1;for(;;){if(e.ce<fn){if(oa(e),e.ce<fn&&0==A)return 0;if(0==e.ce)break}if(t=0,e.ce>=dn&&(t=ia(e,e.ae)),e.de=e.se,e.he=e.Ve,e.se=dn-1,0!=t&&e.de<e.ye&&e.ae-t<=gn(e)&&(e.se=ha(e,t),5>=e.se&&1==e.ge&&(e.se=dn-1)),e.de<dn||e.se>e.de)if(e.we){if(i=on(e,e.u[e.ae-1]),i&&wa(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;else{let A=e.ae+e.ce-dn;e.ae,e.he,e.de,i=an(e,e.ae-1-e.he,e.de-dn),e.ce-=e.de-1,e.de-=2;do{++e.ae<=A&&(t=ia(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=dn-1,e.ae++,i){let A=da(e,!1);if(null!=A)return A}}}if(e.we&&(i=on(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<dn-1?e.ae:dn-1,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1}var Fa=852,ma=vr.map(e=>e+1),pa=Vr.subarray(0,-1).map(e=>e+3),Qa=Jr.map(Ra),Ya=Jr.map(Ka);Qa.push(64,2),Ya.push(142,2);var ya=Nr.slice(0,-2).map(Ra),Sa=Nr.slice(0,-2).map(Ka);ya.push(16,1,73,1,200,1),Sa.push(144,1,72,1,78,1);var ba=new Gr([...pa,258,0,0]),Ma=new Gr([...pa,3,0,0]),Ua=_r(ya),Oa=_r(Sa),Wa=new Gr([...ma,0,0]),Ga=new Gr([...ma,32769,49153]),Ta=_r(Qa),ka=_r(Ya);function Ra(e,A){return A%2?e:e+16}function Ka(e,A){return A%2?e:e+128}function xa(e,A){let t,i=e.l,r=e.next_in_index,n=e.next_out_index,a=e.next_in,o=e.next_out,g=i.u,s=i.p>>>0,B=i.M>>>0,l=i.et,c=i.tt,u=(1<<i.nt)-1,h=(1<<i.rt)-1,w=i.h>>>0,d=i.m>>>0,I=i.v>>>0,f=i.it,C=n-(A-e.avail_out),E=n+(e.avail_out-257),D=r+(e.avail_in-5),F=0,m=0,p=0,Q=0;e:do{for(;15>B;){if(r>=a.length)break e;s+=a[r++]<<B,B+=8}for(t=l[s&u];;){if(p=t.ft,s>>>=p,B-=p,p=t._t,0==p){o[n++]=t.lt;break}if(16&p){if(F=t.lt,p&=15,p){for(;p>B;){if(r>=a.length){i.ot=16200;break e}s+=a[r++]<<B,B+=8}F+=s&(1<<p)-1,s>>>=p,B-=p}for(;15>B;){if(r>=a.length){i.ot=16200;break e}s+=a[r++]<<B,B+=8}for(t=c[s&h];;){if(p=t.ft,s>>>=p,B-=p,p=t._t,16&p){if(m=t.lt,p&=15,p){for(;p>B;){if(r>=a.length){i.ot=16200;break e}s+=a[r++]<<B,B+=8}m+=s&(1<<p)-1,s>>>=p,B-=p}let A=F,l=n-C;if(m>l){let t=m-l;if(t>d&&f){e.msg="invalid distance too far back",i.ot=16209;break e}if(0==I){if(Q=w-t,t>=A){for(let e=0;A>e;++e)o[n++]=g[Q++];continue e}for(let e=0;t>e;++e)o[n++]=g[Q++];A-=t,Q=n-m}else if(t>I){Q=w+I-t;let e=t-I;if(e>=A){for(let e=0;A>e;++e)o[n++]=g[Q++];continue e}for(let A=0;e>A;++A)o[n++]=g[Q++];if(A-=e,Q=0,A>I){for(let e=0;I>e;++e)o[n++]=g[Q++];A-=I,Q=n-m}}else{if(Q=I-t,t>=A){for(let e=0;A>e;++e)o[n++]=g[Q++];continue e}for(let e=0;t>e;++e)o[n++]=g[Q++];A-=t,Q=n-m}for(;A>2;)o[n++]=o[Q++],o[n++]=o[Q++],o[n++]=o[Q++],A-=3;A&&(o[n++]=o[Q++],A>1&&(o[n++]=o[Q++]))}else{for(Q=n-m;A>2;)o[n++]=o[Q++],o[n++]=o[Q++],o[n++]=o[Q++],A-=3;A&&(o[n++]=o[Q++],A>1&&(o[n++]=o[Q++]))}break}if(64&p){e.msg="invalid distance code",i.ot=16209;break e}t=c[t.lt+(s&(1<<p)-1)]}break}if(64&p){if(32&p){i.ot=16191;break e}e.msg="invalid literal/length code",i.ot=16209;break e}t=l[t.lt+(s&(1<<p)-1)]}}while(D>r&&E>n);let Y=B>>3;r-=Y,B-=Y<<3,s&=(1<<B)-1,e.next_in_index=r,e.next_out_index=n,e.avail_in=D>r?D-r+5:5-(r-D),e.avail_out=E>n?E-n+257:257-(n-E),i.p=s>>>0,i.M=B>>>0}function Ha(e,A){let t=[],i=A?1446:1444;return{...qr(e,0),o:e,ot:16180,ut:!1,O:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:zr,kt:0,bt:0,Be:0,et:t,tt:t,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,zt:t,Mt:new Gr(320),Lt:new Gr(288),Et:new xr(i).fill(null).map(()=>za()),Zt:0,it:!0,qt:0,Nt:0,Vt:A}}function za(e=0,A=0,t=0){return{_t:e,ft:A,lt:t}}function La(e=1){return{_t:64,ft:e,lt:0}}function Na(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Ja={Vt:!1,Wt:ba,St:Ua,$t:Wa,It:Ta,Dt:20,At:257,Qt:0,Ut:592,Pt:!1,Rt:!0},va={Vt:!0,Wt:Ma,St:Oa,$t:Ga,It:ka,Dt:19,At:256,Qt:-1,Ut:594,Pt:!0,Rt:!1};function Va(e,A,t,i,r,n,a,o){let g,s,B,l,c,u,h,w,d,I,f,C,E,D,F,m,p,Q,Y,y=new Gr(16),S=new Gr(16),b=o?va:Ja;for(g=0;15>=g;g++)y[g]=0;for(s=0;t>s;s++)y[A[s]]++;for(c=r.Xt,l=15;l>=1&&0==y[l];l--);if(c>l&&(c=l),0==l)return b.Rt?(F=La(1),i.Xt[0]=F,i.Xt[1]=F,r.Xt=1,0):-1;for(B=1;l>B&&0==y[B];B++);for(B>c&&(c=B),w=1,g=1;15>=g;g++)if(w<<=1,w-=y[g],0>w)return-1;if(w>0&&(0==e||1!=l))return-1;for(S[1]=0,g=1;15>g;g++)S[g+1]=S[g]+y[g];for(s=0;t>s;s++)0!=A[s]&&(n[S[A[s]]++]=s);switch(e){case 0:p=Q=n,Y=b.Dt;break;case 1:p=b.Wt,Q=b.St,Y=b.At;break;default:p=b.$t,Q=b.It,Y=b.Qt}if(I=0,s=0,g=B,m=a.Xt,u=c,h=0,E=-1,d=1<<c,D=d-1,1==e&&(b.Pt?d>=Fa:d>Fa)||2==e&&(b.Pt?d>=b.Ut:d>b.Ut))return 1;for(;;){F=Pa(n,s,g,h,e,p,Q,Y,b.Vt),f=1<<g-h,C=1<<u,B=C;do{C-=f;let e=(I>>h)+C;i.Xt[m+e]={...F}}while(0!=C);for(f=1<<g-1;I&f;)f>>=1;if(0!=f?(I&=f-1,I+=f):I=0,s++,0==--y[g]){if(g==l)break;g=A[n[s]]}if(g>c&&(I&D)!=E){for(0==h&&(h=c),m+=1<<u,u=g-h,w=1<<u;l>u+h&&(w-=y[u+h],w>0);)u++,w<<=1;if(d+=1<<u,1==e&&(b.Pt?d>=Fa:d>Fa)||2==e&&(b.Pt?d>=b.Ut:d>b.Ut))return 1;E=I&D,i.Xt[a.Xt+E]={_t:u,ft:c,lt:m-a.Xt}}}if(0!=I)for(F=La(g-h);0!=I;){for(0!=h&&(I&D)!=E&&(h=0,g=c,m=a.Xt,u=c,F.ft=g),i.Xt[m+(I>>h)]={...F},f=1<<g-1;I&f;)f>>=1;0!=f?(I&=f-1,I+=f):I=0}return a.Xt+=d,r.Xt=c,0}function Pa(e,A,t,i,r,n,a,o,g){let s;if(g?e[A]<o:e[A]+1<o)s=za(0,t-i,e[A]);else if(g?e[A]>o:e[A]>=o)if(g&&1==r){let r=e[A]-257;s=za(a[r],t-i,n[r])}else{let r=g?e[A]:e[A]-o;s=za(a[r],t-i,n[r])}else s=((e=0)=>({_t:96,ft:e,lt:0}))(t-i);return s}var Xa={Ct:!0,Ht:new xr(544),Ot:[],Tt:[]},Za={Ct:!0,Ht:new xr(544),Ot:[],Tt:[]};function qa(e){let A;return!(e&&(A=e.l,!(!A||A.o!=e||A.Vt&&(16191>A.ot||A.ot>16209)||!A.Vt&&(16180>A.ot||A.ot>16211))))}function _a(e){let A=e.Vt?Za:Xa,t={Xt:0};if(A.Ct){let i,r,n;for(i=0;144>i;)e.Mt[i++]=8;for(;256>i;)e.Mt[i++]=9;for(;280>i;)e.Mt[i++]=7;for(;288>i;)e.Mt[i++]=8;for(let e=0;544>e;e++)A.Ht[e]=za();n=A.Ht,A.Ot=n,r=9;let a={Xt:n},o={Xt:r},g={Xt:0};for(Va(1,e.Mt,288,a,o,e.Lt,g,e.Vt),n=a.Xt,r=o.Xt,e.Zt=g.Xt,i=0;32>i;)e.Mt[i++]=5;r=5;let s=g.Xt,B={Xt:n},l={Xt:r};t.Xt=s,Va(2,e.Mt,32,B,l,e.Lt,t,e.Vt),A.Tt=n.slice(s),A.Ct=!1}e.et=A.Ot,e.nt=9,e.tt=A.Tt,e.rt=5,e.Zt=t.Xt}var ja=class extends Kr{constructor(){super("Need more input")}};function $a(e,A){let t,i,r,n,a,o,g,s,B,l,c,u,h,w,d,I,f,C=new Wr(4);if(qa(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;o=0,s=0,g=0,B=0,i=zr,r=0,n=zr,a=0,t=e.l,16191==t.ot&&(t.ot=16192),p(),l=o,c=g,f=0;try{for(;;)switch(t.ot){case 16180:if(0==t.O){t.ot=16192;break}if(S(16),2&t.O&&35615==s){0==t.k&&(t.k=15),t.ht=zn(0),t.ht=F(t.ht,s),Y(),t.ot=16181;break}if(t.T&&(t.T.Yt=-1),!(1&t.O)||((b(8)<<8)+(s>>8))%31){e.msg="incorrect header check",t.ot=16209;break}if(8!=b(4)){e.msg="unknown compression method",t.ot=16209;break}if(M(4),I=b(4)+8,0==t.k&&(t.k=I),I>15||I>t.k){e.msg="invalid window size",t.ot=16209;break}t.dt=1<<I,t.st=0,e.i=t.ht=xn(0),t.ot=512&s?16189:16191,Y();break;case 16181:if(S(16),t.st=s,8!=(255&t.st)){e.msg="unknown compression method",t.ot=16209;break}if(57344&t.st){e.msg="unknown header flags set",t.ot=16209;break}t.T&&(t.T.Ye=s>>8&1),512&t.st&&4&t.O&&(t.ht=F(t.ht,s)),Y(),t.ot=16182;case 16182:S(32),t.T&&(t.T.Ge=s),512&t.st&&4&t.O&&(t.ht=m(t.ht,s)),Y(),t.ot=16183;case 16183:S(16),t.T&&(t.T.Bt=255&s,t.T.Je=s>>8),512&t.st&&4&t.O&&(t.ht=F(t.ht,s)),Y(),t.ot=16184;case 16184:1024&t.st?(S(16),t.kt=s,t.T&&(t.T.Ke=s),512&t.st&&4&t.O&&(t.ht=F(t.ht,s)),Y()):t.T&&(t.T.Be=zr),t.ot=16185;case 16185:if(1024&t.st&&(u=t.kt,u>o&&(u=o),u&&(t.T&&t.T.Be&&t.T.Ft&&(I=t.T.Ke-t.kt)<t.T.Ft&&Pr(t.T.Be,I,i,r,u),512&t.st&&4&t.O&&(t.ht=zn(t.ht,i.subarray(r,r+u),u)),o-=u,r+=u,t.kt-=u),t.kt))return E();t.kt=0,t.ot=16186;case 16186:if(2048&t.st){if(0==o)return E();u=0;do{I=i[r+u++],t.T&&t.T.jt&&t.kt<t.T.jt&&(t.T.Fe[t.kt++]=I)}while(I&&o>u);if(512&t.st&&4&t.O&&(t.ht=zn(t.ht,i.subarray(r,r+u),u)),o-=u,r+=u,I)return E()}else t.T&&(t.T.Fe=zr);t.kt=0,t.ot=16187;case 16187:if(4096&t.st){if(0==o)return E();u=0;do{I=i[r+u++],t.T&&t.T.Gt&&t.kt<t.T.Gt&&(t.T.je[t.kt++]=I)}while(I&&o>u);if(512&t.st&&4&t.O&&(t.ht=zn(t.ht,i.subarray(r,r+u),u)),o-=u,r+=u,I)return E()}else t.T&&(t.T.je=zr);t.ot=16188;case 16188:if(512&t.st){if(S(16),4&t.O&&s!=(65535&t.ht)){e.msg="header crc mismatch",t.ot=16209;break}Y()}t.T&&(t.T.Te=t.st>>9&1,t.T.Yt=1),e.i=t.ht=zn(0),t.ot=16191;break;case 16189:S(32),e.i=t.ht=Na(s),Y(),t.ot=16190;case 16190:if(!t.ct)return Q(),2;e.i=t.ht=xn(0),t.ot=16191;case 16191:if(5==A||6==A)return E();case 16192:if(t.ut){U(),t.ot=16206;break}switch(S(3),t.ut=!!b(1),M(1),b(2)){case 0:t.ot=16193;break;case 1:if(_a(t),t.ot=16199,6==A)return M(2),E();break;case 2:t.ot=16196;break;case 3:e.msg="invalid block type",t.ot=16209}M(2);break;case 16193:if(U(),S(32),(65535&s)!=(s>>>16^65535)){e.msg="invalid stored block lengths",t.ot=16209;break}if(t.kt=65535&s,Y(),t.ot=16194,6==A)return E();case 16194:t.ot=16195;case 16195:if(u=t.kt,u){if(u>o&&(u=o),u>g&&(u=g),0==u)return E();Pr(n,a,i,r,u),o-=u,r+=u,g-=u,a+=u,t.kt-=u;break}t.ot=16191;break;case 16196:if(S(14),t.vt=b(5)+257,M(5),t.xt=b(5)+1,M(5),t.gt=b(4)+4,M(4),t.vt>286||!t.Vt&&t.xt>30){e.msg=t.Vt?"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.gt;)S(3),t.Mt[Hr[t.yt++]]=b(3),M(3);for(;19>t.yt;)t.Mt[Hr[t.yt++]]=0;t.zt=t.Et,t.et=t.tt=t.zt,t.nt=7;let l={Xt:t.zt},C={Xt:t.nt},O={Xt:0};if(f=Va(0,t.Mt,19,l,C,t.Lt,O,t.Vt),t.zt=l.Xt,t.nt=C.Xt,f){e.msg="invalid code lengths set",t.ot=16209;break}t.yt=0,t.ot=16198;case 16198:for(;t.yt<t.vt+t.xt;){for(;w=t.et[b(t.nt)],w.ft>B;)y();if(16>w.lt)M(w.ft),t.Mt[t.yt++]=w.lt;else{if(16==w.lt){if(S(w.ft+2),M(w.ft),0==t.yt){e.msg="invalid bit length repeat",t.ot=16209;break}I=t.Mt[t.yt-1],u=3+b(2),M(2)}else 17==w.lt?(S(w.ft+3),M(w.ft),I=0,u=3+b(3),M(3)):(S(w.ft+7),M(w.ft),I=0,u=11+b(7),M(7));if(t.yt+u>t.vt+t.xt){e.msg="invalid bit length repeat",t.ot=16209;break}for(;u--;)t.Mt[t.yt++]=I}}if(16209==t.ot)break;if(0==t.Mt[256]){e.msg="invalid code -- missing end-of-block",t.ot=16209;break}t.zt=t.Et,t.nt=9;let W={Xt:t.zt},G={Xt:t.nt},T={Xt:0};f=Va(1,t.Mt,t.vt,W,G,t.Lt,T,t.Vt),t.zt=W.Xt,t.nt=G.Xt;let k=T.Xt;if(t.et=t.zt.slice(0,k),f){e.msg="invalid literal/lengths set",t.ot=16209;break}t.rt=6;let R=t.Mt.subarray(t.vt,t.vt+t.xt),K={Xt:t.zt},x={Xt:t.rt},H={Xt:k};if(f=Va(2,R,t.xt,K,x,t.Lt,H,t.Vt),t.zt=K.Xt,t.rt=x.Xt,t.tt=t.zt.slice(k),f){e.msg="invalid distances set",t.ot=16209;break}if(t.ot=16199,6==A)return E();case 16199:t.ot=16200;case 16200:if(!t.Vt&&o>=6&&g>=258){Q(),xa(e,c),p(),16191==t.ot&&(t.qt=-1);break}for(t.qt=0;w=t.et[b(t.nt)],w.ft>B;)y();if(w._t&&!(240&w._t)){for(d=w;w=t.et[d.lt+(b(d.ft+d._t)>>d.ft)],d.ft+w.ft>B;)y();M(d.ft),t.qt+=d.ft}if(M(w.ft),t.qt+=w.ft,t.kt=w.lt,0==w._t){t.ot=16205;break}if(32&w._t){t.qt=-1,t.ot=16191;break}if(64&w._t){e.msg="invalid literal/length code",t.ot=16209;break}t.Be=w._t&(t.Vt?31:15),t.ot=16201;case 16201:t.Be&&(S(t.Be),t.kt+=b(t.Be),M(t.Be),t.qt+=t.Be),t.Nt=t.kt,t.ot=16202;case 16202:for(;w=t.tt[b(t.rt)],w.ft>B;)y();if(!(240&w._t)){for(d=w;w=t.tt[d.lt+(b(d.ft+d._t)>>d.ft)],d.ft+w.ft>B;)y();M(d.ft),t.qt+=d.ft}if(M(w.ft),t.qt+=w.ft,64&w._t){e.msg="invalid distance code",t.ot=16209;break}t.bt=w.lt,t.Be=15&w._t,t.ot=16203;case 16203:t.Be&&(S(t.Be),t.bt+=b(t.Be),M(t.Be),t.qt+=t.Be),t.ot=16204;case 16204:if(0==g)return E();if(u=c-g,t.bt>u){if(u=t.bt-u,u>t.m&&t.it){e.msg="invalid distance too far back",t.ot=16209;break}u>t.v?(u-=t.v,h=t.h-u):h=t.v-u,u>t.kt&&(u=t.kt),u>g&&(u=g);for(let e=0;u>e;++e)n[a]=255&t.u[h],++a,++h}else{h=a-t.bt,u=t.kt,u>g&&(u=g);for(let e=0;u>e;++e)n[a]=n[h],++a,++h}u>g&&(u=g),g-=u,t.kt-=u,0==t.kt&&(t.ot=16200);break;case 16205:if(0==g)return E();n[a++]=t.kt,g--,t.ot=16200;break;case 16206:if(t.O){if(S(32),c-=g,e.total_out+=c,t.wt+=c,4&t.O&&c){let A=n.subarray(a-c,a);e.i=t.ht=D(t.ht,A,c)}if(c=g,4&t.O&&(t.st?s:Na(s)>>>0)!=t.ht){e.msg="incorrect data check",t.ot=16209;break}Y()}t.ot=16207;case 16207:if(t.O&&t.st){if(S(32),4&t.O&&s!=(4294967295&t.wt)){e.msg="incorrect length check",t.ot=16209;break}Y()}t.ot=16208;case 16208:return f=1,E();case 16209:return f=-3,E();case 16210:return-4;default:return-2}}catch(e){if(e instanceof ja)return E();throw e}function E(){if(Q(),t.h||c!=e.avail_out&&16209>t.ot&&(t.Vt?16208>t.ot:16206>t.ot)||4!=A){let A=c-e.avail_out;if(((e,A,t)=>{let i=e.l;if(!(i.u&&0!=i.u.length||(i.u=new Wr(1<<i.k),i.u)))return 1;if(0==i.h&&(i.h=1<<i.k,i.v=0,i.m=0),t<i.h){let e=i.h-i.v;e>t&&(e=t),Pr(i.u,i.v,A,A.length-t,e),(t-=e)?(Pr(i.u,0,A,A.length-t,t),i.v=t,i.m=i.h):(i.v+=e,i.v==i.h&&(i.v=0),i.m<i.h&&(i.m+=e))}else Pr(i.u,0,A,A.length-i.h,i.h),i.v=0,i.m=i.h;return 0})(e,e.next_out.subarray(e.next_out_index-A,e.next_out_index),A))return t.ot=16210,-4}return l-=e.avail_in,c-=e.avail_out,e.total_in+=l,e.total_out+=c,t.wt+=c,4&t.O&&c&&(e.i=t.ht=D(t.ht,e.next_out.subarray(e.next_out_index-c,e.next_out_index),c)),e.t=t.M+(t.ut?64:0)+(16191==t.ot?128:0)+(16199==t.ot||16194==t.ot?256:0),(0==l&&0==c&&0==f||4==A&&0==f)&&(f=-5),f}function D(e,A,i){return t.st?zn(e,A,i):xn(e,A,i)}function F(e,A){return C[0]=255&A,C[1]=A>>>8&255,zn(e,C,2)>>>0}function m(e,A){return C[0]=255&A,C[1]=A>>>8&255,C[2]=A>>>16&255,C[3]=A>>>24&255,zn(e,C,4)>>>0}function p(){n=e.next_out,a=e.next_out_index,g=e.avail_out,i=e.next_in,r=e.next_in_index,o=e.avail_in,s=t.p,B=t.M}function Q(){e.next_out=n,e.next_out_index=a,e.avail_out=g,e.next_in=i,e.next_in_index=r,e.avail_in=o,t.p=s,t.M=B}function Y(){s=0,B=0}function y(){if(0==o)throw new ja;o--,s+=(255&i[r])<<B,r++,s>>>=0,B+=8}function S(e){for(;e>B;)y()}function b(e){return s&(1<<e)-1}function M(e){s>>>=e,B-=e}function U(){s>>>=7&B,B-=7&B}}function eo(e){return qa(e)?-2:0}var Ao=65536,to=class{constructor(e=16,A=Ao){this.Jt=[],this.Kt=e;for(let t=0;t<Rr.min(e,4);t++)this.Jt.push(new Wr(A))}acquire(e=Ao){for(let A=this.Jt.length-1;A>=0;A--){let t=this.Jt[A];if(t.length>=e)return this.Jt.splice(A,1),t}return new Wr(e)}release(e){this.Jt.length<this.Kt&&this.Jt.push(e)}};function io(e){let A=new to(32,Ao),t=null;function i(e){try{A.release(e)}catch{}}return new kr({start(){},transform(r,n){if(!t){let A=e.en(),i=e.tn(A);if(0!=i&&0!=i)throw new Kr("init failed: "+i);t={o:A}}let a=t.o,o=0;for(;o<r.length;){let t=Rr.min(r.length-o,32768),g=r.subarray(o,o+t);for(a.next_in=g,a.next_in_index=0,a.avail_in=g.length;a.avail_in>0;){let t=A.acquire(),r=!1;try{a.next_out=t,a.next_out_index=0,a.avail_out=t.length;let i=e.nn(a,0),o=t.length-a.avail_out;if(o>0){let e=!1,i={rn:t.subarray(0,o),release:()=>{e||(e=!0,A.release(t))}};r=!0,n.enqueue(i)}if(0!=i&&1!=i)throw new Kr("process error: "+i)}finally{r||i(t)}}o+=t}},flush(r){if(!t)return;let n=t.o;for(;;){let t=A.acquire(),a=!1;try{n.next_out=t,n.next_out_index=0,n.avail_out=t.length;let i=e.nn(n,4),o=t.length-n.avail_out;if(o>0){let e=!1,i={rn:t.subarray(0,o),release:()=>{e||(e=!0,A.release(t))}};a=!0,r.enqueue(i)}if(1==i)break;if(0!=i)throw new Kr("finalization error: "+i)}finally{a||i(t)}}let a=e.fn(n);if(0!=a&&0!=a)throw new Kr("end failed: "+a)}})}function ro(){return new kr({start(){},transform(e,A){try{A.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}oe({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",A){let t=function(e="deflate",A){let t="gzip"==e?31:"deflate-raw"==e?-15:15,i=A&&"number"==typeof A.level?A.level:-1;return io({en:()=>(()=>{let e=Zr();return e.l=Bn(e),e})(),tn:e=>((e,A,t=8,i=15,r=wn,n=0)=>{let a=1;if(!e)return-2;if(e.msg="",-1==A&&(A=6),0>i){if(a=0,-15>i)return-2;i=-i}else i>15&&(a=2,i-=16);if(1>r||r>9||8!=t||8>i||i>15||0>A||A>9||0>n||n>4||8==i&&1!=a)return-2;8==i&&(i=9);let o=Bn(e);return o?(e.l=o,o.o=e,o.H=42,o.O=a,o.T=void 0,o.k=i,o.h=1<<o.k,o.Y=o.h-1,o.B=r+7,o.F=1<<o.B,o.j=o.F-1,o.G=(o.B+dn-1)/dn,o.u=new Wr(2*o.h),o.J=new Gr(o.h),o.K=new Gr(o.F),o.m=0,o.ee=1<<r+6,o.I=new Wr(4*o.ee),o.ne=4*o.ee,o.u&&o.J&&o.K&&o.I?(o.Le=o.I.subarray(o.ee),o.A=o.te+o.ee,o.C=3*(o.ee-1),o.be=A,o.ge=n,o.qe=t,(e=>{let A=(e=>{let A;return ga(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,A=e.l,A.D=0,A.re=A.te,0>A.O&&(A.O=-A.O),A.H=2==A.O?57:42,e.i=2==A.O?zn(0):xn(0),A.oe=-2,(e=>{if(e.R&&e.R.length>=pn)for(let A=0;pn>A;A++)e.R[A]=cn();else{e.R=[];for(let A=0;pn>A;A++)e.R.push(cn())}if(e.X&&e.X.length>=2*Fn+1)for(let A=0;2*Fn+1>A;A++)e.X[A]=cn();else{e.X=[];for(let A=0;2*Fn+1>A;A++)e.X.push(cn())}if(e.$e&&e.$e.length>=2*mn+1)for(let A=0;2*mn+1>A;A++)e.$e[A]=cn();else{e.$e=[];for(let A=0;2*mn+1>A;A++)e.$e.push(cn())}e.Ie=new jr(e.R,new $r(Gn,bn,En+1,Dn,Qn)),e.De=new jr(e.X,new $r(Tn,Mn,0,Fn,Qn)),e.Ae=new jr(e.$e,new $r(null,Un,0,mn,7)),e.p=0,e.M=0,e.Ee=0,vn(e)})(A),0)})(e);return 0==A&&(e=>{e.Ne=2*e.h,ra(e),e.ye=ea[e.be].Xe,e.me=ea[e.be].Ce,e.ve=ea[e.be].He,e.xe=ea[e.be].Oe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=dn-1,e.we=0,e.ke=0})(e.l),A})(e)):(o.H=666,e.msg=en(-4),ua(e),-4)):-4})(e,i,8,t,8,0),nn:ca,fn:ua})}(e,A);this.writable=t.writable,this.readable=t.readable.pipeThrough(ro())}},DecompressionStreamZlib:class{constructor(e="deflate"){let A=((e="deflate")=>{let A="gzip"==e?31:"deflate-raw"==e?-15:15;return io({en:()=>(e=>{let A=Zr();return A.l=Ha(A,!!e),A})("deflate64-raw"==e),tn:e=>function(e,A){let t,i;if(!e)return-2;e.msg="";let r=!!e.l.Vt;return i=Ha(e,r),r&&(A=-16),e.l=i,i.o=e,i.ot=i.Vt?16191:16180,t=((e,A)=>{let t,i,r;if(qa(e))return-2;if(i=e.l,i.Vt?(A=-16,r=16):r=15,0>A){if(-r>A)return-2;t=0,A=-A}else t=5+(A>>4),!i.Vt&&48>A&&(A&=15);return A&&(8>A||A>r)?-2:(i.u.length>0&&i.k!=A&&(i.u=zr),i.O=t,i.k=A,(e=>{let A;return qa(e)?-2:(A=e.l,A.h=0,A.m=0,A.v=0,(e=>{let A;return qa(e)?-2:(A=e.l,e.total_in=e.total_out=A.wt=0,e.msg="",A.O&&(e.i=1&A.O),A.ot=A.Vt?16191:16180,A.ut=!1,A.ct=!1,A.st=-1,A.dt=A.Vt?65536:32768,delete A.T,A.p=0,A.M=0,A.et=A.Et,A.tt=A.Et,A.zt=A.Et,A.it=!0,A.qt=-1,0)})(e))})(e))})(e,A),t}(e,A),nn:$a,fn:eo})})(e);this.writable=A.writable,this.readable=A.readable.pipeThrough(ro())}}}),(e=>{e({workerURI:e=>{const A="text/javascript",t=(e=>{e=(e=>{const A=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let i=0;A>i;i+=4){const A=se.indexOf(e[i])<<18|se.indexOf(e[i+1])<<12|(63&se.indexOf(e[i+2]))<<6|63&se.indexOf(e[i+3]);t.push(A>>16&255),"="!==e[i+2]&&t.push(A>>8&255),"="!==e[i+3]&&t.push(255&A)}return new u(t)})(e);let A=new u(1024),t=0;for(let r=0;r<e.length;){const n=e[r++];if(128&n){const a=3+(127&n),o=e[r++]<<8|e[r++],g=t-o;i(t+a);for(let e=0;a>e;e++)A[t++]=A[g+e]}else{const a=n;i(t+a);for(let i=0;a>i&&r<e.length;i++)A[t++]=e[r++]}}return(e=>{let A="";const t=e.length;let i=0;for(;t>i+2;i+=3){const t=e[i]<<16|e[i+1]<<8|e[i+2];A+=se[t>>18&63]+se[t>>12&63]+se[t>>6&63]+se[63&t]}const r=t-i;if(1===r){const t=e[i]<<16;A+=se[t>>18&63]+se[t>>12&63]+"=="}else if(2===r){const t=e[i]<<16|e[i+1]<<8;A+=se[t>>18&63]+se[t>>12&63]+se[t>>6&63]+"="}return A})(new u(A.buffer.slice(0,t)));function i(e){if(A.length<e){let i=2*A.length;for(;e>i;)i*=2;const r=new u(i);r.set(A.subarray(0,t)),A=r}}})("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");if(e){const e=atob(t),i=new I([e],{type:A});return l.createObjectURL(i)}return"data:"+A+";base64,"+t}})})(oe),e.BlobReader=At,e.BlobWriter=tt,e.Data64URIReader=class extends $A{constructor(e){super();let A=e.length;for(;"="==e.charAt(A-1);)A--;const i=e.indexOf(",")+1;t.assign(this,{dataURI:e,dataStart:i,size:a.floor(.75*(A-i))})}readUint8Array(e,A){const{dataStart:t,dataURI:i}=this,r=new u(A),n=4*a.floor(e/3),o=atob(i.substring(n+t,4*a.ceil((e+A)/3)+t)),g=e-3*a.floor(n/4);let s=0;for(let e=g;g+A>e&&e<o.length;e++)r[e-g]=o.charCodeAt(e),s++;return s<r.length?r.subarray(0,s):r}},e.Data64URIWriter=class extends et{constructor(e){super(),t.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const A=this;let t,r=A.pending;const n=A.pending.length;for(A.pending="",t=0;t<3*a.floor((n+e.length)/3)-n;t++)r+=i.fromCharCode(e[t]);for(;t<e.length;t++)A.pending+=i.fromCharCode(e[t]);r.length>2?A.data+=m(r):A.pending=r+A.pending}getData(){return this.data+m(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Yi,e.ERR_BAD_FORMAT=wi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=fi,e.ERR_DUPLICATED_NAME=Pi,e.ERR_ENCRYPTED=Di,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ii,e.ERR_EOCDR_NOT_FOUND=di,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ei,e.ERR_HTTP_RANGE=vA,e.ERR_INVALID_COMMENT=Xi,e.ERR_INVALID_COMPRESSED_DATA=aA,e.ERR_INVALID_ENCRYPTION_STRENGTH=ji,e.ERR_INVALID_ENTRY_COMMENT=Zi,e.ERR_INVALID_ENTRY_NAME=qi,e.ERR_INVALID_EXTRAFIELD_DATA=er,e.ERR_INVALID_EXTRAFIELD_TYPE=$i,e.ERR_INVALID_PASSWORD=Ce,e.ERR_INVALID_SIGNATURE=Ee,e.ERR_INVALID_UNCOMPRESSED_SIZE=nA,e.ERR_INVALID_VERSION=_i,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Ci,e.ERR_OVERLAPPING_ENTRY=Qi,e.ERR_SPLIT_ZIP_FILE=pi,e.ERR_UNDEFINED_READER=nr,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=rr,e.ERR_UNSUPPORTED_COMPRESSION=mi,e.ERR_UNSUPPORTED_ENCRYPTION=Fi,e.ERR_UNSUPPORTED_FORMAT=ir,e.ERR_ZIP_NOT_EMPTY=ar,e.HttpRangeReader=class extends dt{constructor(e,A={}){super(e,t.assign({},A,{useRangeHeader:!0}))}},e.HttpReader=dt,e.Reader=$A,e.SplitDataReader=It,e.SplitDataWriter=ft,e.TextReader=class extends At{constructor(e){super(new I([e],{type:"text/plain"}))}},e.TextWriter=class extends tt{constructor(e){super(e),t.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:A}=this,i=await super.getData();if(i.text&&A)return i.text();{const A=new FileReader;return new f((r,n)=>{t.assign(A,{onload:({target:e})=>r(e.result),onerror:()=>n(A.error)}),A.readAsText(i,e)})}}},e.Uint8ArrayReader=class extends $A{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),t.assign(this,{array:e,size:e.length})}readUint8Array(e,A){return this.array.slice(e,e+A)}},e.Uint8ArrayWriter=class extends et{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){t.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const A=this,t=A.offset+e.length;if(t>A.array.length){let e=A.array.length?2*A.array.length:A.defaultBufferSize;for(;t>e;)e*=2;const i=A.array;A.array=new u(e),A.array.set(i)}A.array.set(e,A.offset),A.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=et,e.ZipReader=Ui,e.ZipReaderStream=class{constructor(e={}){const{readable:A,writable:t}=new p,i=new Ui(A,e).getEntriesGenerator();this.readable=new Q({async pull(e){const{done:A,value:t}=await i.next();if(A)return e.close();const r={...t,readable:(()=>{const{readable:e,writable:A}=new p;if(t.getData)return(async()=>{try{await t.getData(A)}catch(e){try{await A.abort(e)}catch{}}})(),e})()};delete r.getData,e.enqueue(r)}}),this.writable=t}},e.ZipWriter=cr,e.ZipWriterStream=class{constructor(e={}){const{readable:A,writable:t}=new p;this.readable=A,this.zipWriter=new cr(t,e),this.pendingAddFileCalls=new s}transform(e){const A=this.zipWriter;let t;const{readable:i,writable:r}=new p({start(e){t=e},flush:()=>{(async()=>{try{await A.close()}catch(e){try{await A.writer.writable.abort(e)}catch{}}})()}});return ur(this,this.zipWriter.add(e,i),e=>t.error(e)),{readable:this.readable,writable:r}}writable(e){let A;const{readable:t,writable:i}=new p({start(e){A=e}});return ur(this,this.zipWriter.add(e,t),e=>A.error(e)),i}async close(e,t={}){return await f.all(A.from(this.pendingAddFileCalls)),this.zipWriter.close(e,t)}},e.configure=oe,e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await f.allSettled(WA.map(e=>(NA(e),e.terminate())))}});