Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@zip.js/zip.js

Package Overview
Dependencies
Maintainers
2
Versions
321
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zip.js/zip.js - npm Package Compare versions

Comparing version
2.8.19
to
2.8.20
+1
-1
deno.json
{
"name": "@zip-js/zip-js",
"version": "2.8.19",
"version": "2.8.20",
"exports": {

@@ -5,0 +5,0 @@ ".": "./index.js"

@@ -1,1 +0,1 @@

((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:s,Number:n,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:w,Uint32Array:h,DataView:m,Blob:g,Promise:y,TextEncoder:b,TextDecoder:z,document:S,crypto:x,btoa:E,TransformStream:F,ReadableStream:R,WritableStream:k,CompressionStream:D,DecompressionStream:_,navigator:A,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==S?S.currentScript:null;const v=4294967295,C=65535,I=255,N=67324752,W=134695760,M=W,O=33639248,L=101010256,P=101075792,Z=117853008,H=22,V=21589,B=2048,q=16384,K=2048,j=1024,Y=512,G="/",X=30,J=new o(2107,11,31),Q=new o(1980,0,1),$=void 0,ee=1/0,te="undefined",re="function";let se=2;try{typeof A!=te&&A.hardwareConcurrency&&(se=A.hardwareConcurrency)}catch{}const ne={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:se,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof D!=te&&D,DecompressionStream:typeof _!=te&&_},ae=r.assign({},ne);function ie(){return ae}function oe(e){return i.max(e.chunkSize,64)}function ce(e){const{baseURI:t,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:n,useCompressionStream:a,useWebWorkers:i,CompressionStream:o,DecompressionStream:c,CompressionStreamZlib:l,DecompressionStreamZlib:d,workerURI:u,wasmURI:f}=e;le("baseURI",t),le("wasmURI",f),le("workerURI",u),le("chunkSize",r),le("maxWorkers",s),le("terminateWorkerTimeout",n),le("useCompressionStream",a),le("useWebWorkers",i),le("CompressionStream",o),le("DecompressionStream",c),le("CompressionStreamZlib",l),le("DecompressionStreamZlib",d)}function le(e,t){t!==$&&(ae[e]=t)}const de=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;de[e]=t}class ue{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,s=0|e.length;s>r;r++)t=t>>>8^de[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class fe extends F{constructor(){let e;const t=new ue;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function pe(e){if(typeof b==te){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const we={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],s=we.getPartial(r);return 32===s?e.concat(t):we._shiftRight(t,s,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+we.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=we.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(r),r=0;if(0===t)return s.concat(e);for(let n=0;n<e.length;n++)s.push(r|e[n]>>>t),r=e[n]<<32-t;const n=e.length?e[e.length-1]:0,a=we.getPartial(n);return s.push(we.partial(t+a&31,t+a>32?r:s.pop(),1)),s}},he={bytes:{fromBits(e){const t=we.bitLength(e)/8,r=new p(t);let s;for(let n=0;t>n;n++)3&n||(s=e[n/4]),r[n]=s>>>24,s<<=8;return r},toBits(e){const t=[];let r,s=0;for(r=0;r<e.length;r++)s=s<<8|e[r],3&~r||(t.push(s),s=0);return 3&r&&t.push(we.partial(8*(3&r),s)),t}}},me=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=he.utf8String.toBits(e));const r=t._buffer=we.concat(t._buffer,e),s=t._length,n=t._length=s+we.bitLength(e);if(n>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);n>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=we.concat(t,[we.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,s){return e>19?e>39?e>59?e>79?void 0:t^r^s:t&r|t&s|r&s:t^r^s:t&r|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,s=r._h,n=t(80);for(let t=0;16>t;t++)n[t]=e[t];let a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];for(let e=0;79>=e;e++){16>e||(n[e]=r._S(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const t=r._S(5,a)+r._f(e,o,c,l)+d+n[e]+r._key[i.floor(e/20)]|0;d=l,l=c,c=r._S(30,o),o=a,a=t}s[0]=s[0]+a|0,s[1]=s[1]+o|0,s[2]=s[2]+c|0,s[3]=s[3]+l|0,s[4]=s[4]+d|0}},ge={getRandomValues(e){const t=new h(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let s,n=0;n<e.length;n+=4){const e=r(4294967296*(s||i.random()));s=987654071*e(),t[n/4]=4294967296*e()|0}return e}},ye={importKey:e=>new ye.hmacSha1(he.bytes.toBits(e)),pbkdf2(e,t,r,s){if(r=r||1e4,0>s||0>r)throw new f("invalid params to pbkdf2");const n=1+(s>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(n),u=new m(d);let p=0;const w=we;for(t=he.bytes.toBits(t),l=1;(n||1)>p;l++){for(a=i=e.encrypt(w.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(n||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=me,s=[[],[]];t._baseHash=[new r,new r];const n=t._baseHash[0].blockSize/32;e.length>n&&(e=(new r).update(e).finalize());for(let t=0;n>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new r(t._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,t=e._resultHash.finalize(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},be=typeof x!=te&&typeof x.getRandomValues==re,ze="Invalid password",Se="Invalid signature",xe="zipjs-abort-check-password";function Ee(e){return be?x.getRandomValues(e):ge.getRandomValues(e)}const Fe=16,Re={name:"PBKDF2"},ke=r.assign({hash:{name:"HMAC"}},Re),De=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Re),_e=["deriveBits"],Ae=[8,12,16],Te=[16,24,32],Ue=10,ve=[0,0,0,0],Ce=typeof x!=te,Ie=Ce&&x.subtle,Ne=Ce&&typeof Ie!=te,We=he.bytes,Me=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],s=t._tables[1],n=e.length;let a,i,o,c=1;if(4!==n&&6!==n&&8!==n)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=n;4*n+28>a;a++){let e=i[a-1];(a%n===0||8===n&&a%n===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%n===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-n]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:s[0][r[t>>>24]]^s[1][r[t>>16&255]]^s[2][r[t>>8&255]]^s[3][r[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],r=e[4],s=t[4],n=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(n[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,s[a]=d,l=n[c=n[o=n[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*n[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],s=r.length/4-2,n=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,p,w,h=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],y=e[t?1:3]^r[3],b=4;for(let e=0;s>e;e++)u=i[h>>>24]^o[m>>16&255]^c[g>>8&255]^l[255&y]^r[b],p=i[m>>>24]^o[g>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=i[g>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&m]^r[b+2],y=i[y>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&g]^r[b+3],b+=4,h=u,m=p,g=w;for(let e=0;4>e;e++)n[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&y]^r[b++],u=h,h=m,m=g,g=y,y=u;return n}},Oe=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}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 t=e>>16&255,r=e>>8&255,s=255&e;255===t?(t=0,255===r?(r=0,255===s?s=0:++s):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let s;if(!(s=t.length))return[];const n=we.bitLength(t);for(let n=0;s>n;n+=4){this.incCounter(r);const s=e.encrypt(r);t[n]^=s[0],t[n+1]^=s[1],t[n+2]^=s[2],t[n+3]^=s[3]}return we.clamp(t,n)}},Le=ye.hmacSha1;let Pe=Ce&&Ne&&typeof Ie.importKey==re,Ze=Ce&&Ne&&typeof Ie.deriveBits==re;class He extends F{constructor({password:e,rawPassword:t,signed:s,encryptionStrength:n,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ke(e,t),signed:s,strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:i,ready:o}=r;s?(await(async(e,t,r,s)=>{const n=await qe(e,t,r,Ye(s,0,Ae[t])),a=Ye(s,Ae[t]);if(n[0]!=a[0]||n[1]!=a[1])throw new f(ze)})(r,n,s,Ye(e,0,Ae[n]+2)),e=Ye(e,Ae[n]+2),a?t.error(new f(xe)):i()):await o;const c=new p(e.length-Ue-(e.length-Ue)%Fe);t.enqueue(Be(r,e,c,0,Ue,!0))},async flush(e){const{signed:t,ctr:r,hmac:s,pending:n,ready:a}=this;if(s&&r){await a;const i=Ye(n,0,n.length-Ue),o=Ye(n,n.length-Ue);let c=new p;if(i.length){const e=Xe(We,i);s.update(e);const t=r.update(e);c=Ge(We,t)}if(t){const e=Ye(Ge(We,s.digest()),0,Ue);for(let t=0;Ue>t;t++)if(e[t]!=o[t])throw new f(Se)}e.enqueue(c)}}})}}class Ve extends F{constructor({password:e,rawPassword:t,encryptionStrength:s}){let n;super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ke(e,t),strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:a,ready:i}=r;let o=new p;s?(o=await(async(e,t,r)=>{const s=Ee(new p(Ae[t]));return je(s,await qe(e,t,r,s))})(r,n,s),a()):await i;const c=new p(o.length+e.length-e.length%Fe);c.set(o,0),t.enqueue(Be(r,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:s,ready:a}=this;if(r&&t){await a;let i=new p;if(s.length){const e=t.update(Xe(We,s));r.update(e),i=Ge(We,e)}n.signature=Ge(We,r.digest()).slice(0,Ue),e.enqueue(je(i,n.signature))}}}),n=this}}function Be(e,t,r,s,n,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-n;let d;for(c.length&&(t=je(c,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,l-l%Fe)),d=0;l-Fe>=d;d+=Fe){const e=Xe(We,Ye(t,d,d+Fe));a&&o.update(e);const n=i.update(e);a||o.update(n),r.set(Ge(We,n),d+s)}return e.pending=Ye(t,d),r}async function qe(e,s,n,a){e.password=null;const i=await(async(e,t,r,s,n)=>{if(!Pe)return ye.importKey(t);try{return await Ie.importKey("raw",t,r,!1,n)}catch{return Pe=!1,ye.importKey(t)}})(0,n,ke,0,_e),o=await(async(e,t,r)=>{if(!Ze)return ye.pbkdf2(t,e.salt,De.iterations,r);try{return await Ie.deriveBits(e,t,r)}catch{return Ze=!1,ye.pbkdf2(t,e.salt,De.iterations,r)}})(r.assign({salt:a},De),i,8*(2*Te[s]+2)),c=new p(o),l=Xe(We,Ye(c,0,Te[s])),d=Xe(We,Ye(c,Te[s],2*Te[s])),u=Ye(c,2*Te[s]);return r.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new Oe(new Me(l),t.from(ve)),hmac:new Le(d)}),u}function Ke(e,t){return t===$?pe(e):t}function je(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Ye(e,t,r){return e.subarray(t,r)}function Ge(e,t){return e.fromBits(t)}function Xe(e,t){return e.toBits(t)}class Je extends F{constructor({password:e,passwordVerification:t,checkPasswordOnly:s}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;if(r.password){const t=$e(r,e.subarray(0,12));if(r.password=null,t.at(-1)!=r.passwordVerification)throw new f(ze);e=e.subarray(12)}s?t.error(new f(xe)):t.enqueue($e(r,e))}})}}class Qe extends F{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;let s,n;if(r.password){r.password=null;const t=Ee(new p(12));t[11]=r.passwordVerification,s=new p(e.length+t.length),s.set(et(r,t),0),n=12}else s=new p(e.length),n=0;s.set(et(r,e),n),t.enqueue(s)}})}}function $e(e,t){const r=new p(t.length);for(let s=0;s<t.length;s++)r[s]=st(e)^t[s],rt(e,r[s]);return r}function et(e,t){const r=new p(t.length);for(let s=0;s<t.length;s++)r[s]=st(e)^t[s],rt(e,t[s]);return r}function tt(e,t){const s=[305419896,591751049,878082192];r.assign(e,{keys:s,crcKey0:new ue(s[0]),crcKey2:new ue(s[2])});for(let r=0;r<t.length;r++)rt(e,t.charCodeAt(r))}function rt(e,t){let[r,s,n]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),s=at(i.imul(at(s+nt(r)),134775813)+1),e.crcKey2.append([s>>>24]),n=~e.crcKey2.get(),e.keys=[r,s,n]}function st(e){const t=2|e.keys[2];return nt(i.imul(t,1^t)>>>8)}function nt(e){return 255&e}function at(e){return 4294967295&e}const it="Invalid uncompressed size";class ot extends F{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:s}){super({});const{compressed:n,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,f,p=super.readable;a&&!o||!c||(u=new fe,p=ut(p,u)),n&&(p=dt(p,i,{level:l,chunkSize:t},s,r,s)),a&&(o?p=ut(p,new Qe(e)):(f=new Ve(e),p=ut(p,f))),lt(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new m(u.value.buffer).getUint32(0)),d.signature=e})}}class ct extends F{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:s}){super({});const{zipCrypto:n,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l,deflate64:d}=e;let u,p,w=super.readable;a&&(n?w=ut(w,new Je(e)):(p=new He(e),w=ut(w,p))),c&&(w=dt(w,l,{chunkSize:t,deflate64:d},s,r,s)),a&&!n||!i||(u=new fe,w=ut(w,u)),lt(this,w,()=>{if((!a||n)&&i){const e=new m(u.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Se)}})}}function lt(e,t,s){t=ut(t,new F({flush:s})),r.defineProperty(e,"readable",{get:()=>t})}function dt(e,t,r,s,n,a){const i=t&&s?s:n||a,o=r.deflate64?"deflate64-raw":"deflate-raw";try{e=ut(e,new i(o,r))}catch(s){if(!t)throw s;if(n)e=ut(e,new n(o,r));else{if(!a)throw s;e=ut(e,new a(o,r))}}return e}function ut(e,t){return e.pipeThrough(t)}const ft="data",pt="close",wt="deflate",ht="inflate";class mt extends F{constructor(e,t){super({});const s=this,{codecType:n}=e;let a;n.startsWith(wt)?a=ot:n.startsWith(ht)&&(a=ct),s.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(s,{inputSize:i})}}),d=new F({transform(t,r){if(t&&t.length&&(r.enqueue(t),s.outputSize+=t.length,e.outputSize!==$&&s.outputSize>e.outputSize))throw new f(it)},flush(){const{signature:e}=o;r.assign(s,{signature:e,inputSize:i})}});r.defineProperty(s,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class gt extends F{constructor(e){let t;super({transform:function r(s,n){if(t){const e=new p(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(n.enqueue(s.slice(0,e)),r(s.slice(e),n)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const yt={type:"module"};let bt,zt,St,xt=!0;class Et{constructor(e,{readable:t,writable:s},{options:n,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new gt(a.chunkSize)).pipeThrough(new Ft(i),{signal:u}),writable:s,options:r.assign({},n),workerURI:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:r,busy:s}=e;r?(s?e.resolveTerminated=t:(r.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),bt===$&&(bt=typeof T!=te),(o&&bt?Dt:kt)(e,a)}}class Ft extends F{constructor({onstart:e,onprogress:t,size:r,onend:s}){let n=0;super({async start(){e&&await Rt(e,r)},async transform(e,s){n+=e.length,t&&await Rt(t,n,r),s.enqueue(e)},async flush(){s&&await Rt(s,n)}})}}async function Rt(e,...t){try{await e(...t)}catch{}}function kt(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:s},n)=>{let a;try{if(!e.useCompressionStream)try{await void 0}catch{e.useCompressionStream=!0}a=new mt(e,n),await t.pipeThrough(a).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:s,inputSize:i,outputSize:o}=a;return{signature:s,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{s()}})(e,t)}}function Dt(e,t){const{baseURI:s,chunkSize:n}=t;let{wasmURI:a}=t;if(!e.interface){let i;typeof a==re&&(a=a());try{i=_t(e.workerURI,s,e)}catch{return bt=!1,kt(e,t)}r.assign(e,{worker:i,interface:{run:()=>(async(e,t)=>{let s,n;const a=new y((e,t)=>{s=e,n=t});r.assign(e,{reader:null,writer:null,resolveResult:s,rejectResult:n,result:a});const{readable:i,options:o}=e,{writable:c,closed:l}=(e=>{let t;const r=new y(e=>t=e);return{writable:new k({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),d=At({type:"start",options:o,config:t,readable:i,writable:c},e);d||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const u=await a;return d||await c.getWriter().close(),await l,u})(e,{chunkSize:n,wasmURI:a,baseURI:s})}})}return e.interface}function _t(e,t,s,n,a=!0){let i,o,c;if(zt===$){const r=typeof e==re;o=r?e(a):e;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){n===$&&(n=!1),n&&(c=yt);try{i=new T(o,c)}catch(a){if(d)try{u.revokeObjectURL(o)}catch{}if(r&&d)return _t(e,t,s,n,!1);if(n)throw a;return _t(e,t,s,!0,!1)}}else{n===$&&(n=!0),n&&(c=yt);try{o=new u(o,t)}catch{}try{i=new T(o,c)}catch(r){if(n)throw r;return _t(e,t,s,!1,a)}}zt=o,St=c}else i=new T(zt,St);return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:s,value:n,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:s,name:n,outputSize:a}=o,i=new f(e);r.assign(i,{stack:t,code:s,name:n,outputSize:a}),h(i)}else{if("pull"==s){const{value:e,done:r}=await c.read();At({type:ft,value:e,done:r,messageId:a},t)}s==ft&&(await l.ready,await l.write(new p(n)),At({type:"ack",messageId:a},t)),s==pt&&h(null,i)}}catch(o){At({type:pt,messageId:a},t),h(o)}function h(e,t){e?u(e):d(t),l&&l.releaseLock(),w()}})(e,s)),i}function At(e,{worker:t,writer:r,onTaskFinished:s,transferStreams:n}){try{const{value:r,readable:s,writable:a}=e,i=[];if(r&&(e.value=r,i.push(e.value.buffer)),n&&xt?(s&&i.push(s),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch{xt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),s(),e}}let Tt=[];const Ut=[];let vt=0;async function Ct(e,t){const{options:r,config:s}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,signed:l,encrypted:d}=r,{workerURI:u,maxWorkers:f}=s;t.transferStreams=a||a===$;const p=!(c||l||d||t.transferStreams);return t.useWebWorkers=!p&&(i||i===$&&s.useWebWorkers),t.workerURI=t.useWebWorkers&&u?u:$,r.useCompressionStream=o||o===$&&s.useCompressionStream,(await(async()=>{const r=Tt.find(e=>!e.busy);if(r)return It(r),new Et(r,e,t,w);if(Tt.length<f){const r={indexWorker:vt};return vt++,Tt.push(r),new Et(r,e,t,w)}return new y(r=>Ut.push({resolve:r,stream:e,workerOptions:t}))})()).run();function w(e){if(Ut.length){const[{resolve:t,stream:r,workerOptions:s}]=Ut.splice(0,1);t(new Et(e,r,s,w))}else e.worker?(It(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:s}=r;n.isFinite(s)&&s>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{Tt=Tt.filter(t=>t!=e);try{await e.terminate()}catch{}},s))})(e,t)):Tt=Tt.filter(t=>t!=e)}}function It(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Nt="HTTP error ",Wt="HTTP Range not supported",Mt="Range",Ot="GET",Lt="bytes",Pt=65536,Zt="writable";class Ht{constructor(){this.size=0}init(){this.initialized=!0}}class Vt extends Ht{get readable(){const e=this,{chunkSize:t=Pt}=e,r=new R({start(){this.chunkOffset=0},async pull(s){const{offset:n=0,size:a,diskNumberStart:o}=r,{chunkOffset:c}=this,l=a===$?t:i.min(t,a-c),d=await fr(e,n+c,l,o);s.enqueue(d),c+t>a||a===$&&!d.length&&l?s.close():this.chunkOffset+=t}});return r}}class Bt extends Ht{constructor(){super();const e=this,t=new k({write(t){if(!e.initialized)throw new f("Writer not initialized");return e.writeUint8Array(t)}});r.defineProperty(e,Zt,{get:()=>t})}writeUint8Array(){}}class qt extends Vt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,s=e+t,n=e||s<r.size?r.blob.slice(e,s):r.blob;let a=await n.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,s)),new p(a)}}class Kt extends Ht{constructor(e){super();const t=new F,s=[];e&&s.push(["Content-Type",e]),r.defineProperty(this,Zt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:s}).blob()}getData(){return this.blob}}class jt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Xt(this,nr,er),super.init()}readUint8Array(e,t){return Jt(this,e,t,nr,er)}}class Yt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Xt(this,ar,tr),super.init()}readUint8Array(e,t){return Jt(this,e,t,ar,tr)}}function Gt(e,t,s){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=s;delete(s=r.assign({},s)).preventHeadRequest,delete s.useRangeHeader,delete s.forceRangeRequests,delete s.combineSizeEocd,delete s.useXHR,r.assign(e,{url:t,options:s,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Xt(e,t,r){const{url:s,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURI:t}=ie(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(s)&&(i||o)&&(void 0===a||a)){const s=await t(Ot,e,Qt(e,c?-22:void 0)),a=s.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==Lt))throw new f(Wt);{let a;c&&(e.eocdCache=new p(await s.arrayBuffer()));const i=s.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=n(t))}}a===$?await sr(e,t,r):e.size=a}}else await sr(e,t,r)}async function Jt(e,t,r,s,n){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-H&&r==H)return o;if(c>t){t+r>c&&(r=c-t);const n=await s(Ot,e,Qt(e,t,r));if(206!=n.status)throw new f(Wt);return new p(await n.arrayBuffer())}return new p}{const{data:s}=e;return s||await n(e,l),new p(e.data.subarray(t,t+r))}}function Qt(e,t=0,s=1){return r.assign({},$t(e),{[Mt]:Lt+"="+(0>t?t:t+"-"+(t+s-1))})}function $t({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function er(e){await rr(e,nr)}async function tr(e){await rr(e,ar)}async function rr(e,t){const r=await t(Ot,e,$t(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function sr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const s=(await t("HEAD",e,$t(e))).headers.get("Content-Length");s?e.size=n(s):await r(e,e.options)}}async function nr(e,{options:t,url:s},n){const a=await fetch(s,r.assign({},t,{method:e,headers:n}));if(400>a.status)return a;throw 416==a.status?new f(Wt):new f(Nt+(a.statusText||a.status))}function ar(e,{url:t},s){return new y((n,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new f(Wt):new f(Nt+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),s)for(const e of r.entries(s))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ir extends Vt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Yt(e,t):new jt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class or extends Vt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.all(t.map(async(r,s)=>{await r.init(),s!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const s=this,{readers:n}=this;let a,o=r;-1==o&&(o=n.length-1);let c=e;for(;n[o]&&c>=n[o].size;)c-=n[o].size,o++;const l=n[o];if(l){const n=l.size;if(c+t>n){const i=n-c;a=new p(t);const o=await fr(l,c,i);a.set(o,0);const d=await s.readUint8Array(e+i,t-i,r);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await fr(l,c,t)}else a=new p;return s.lastDiskNumber=i.max(o,s.lastDiskNumber),a}}class cr extends Ht{constructor(e,t=4294967295){super();const s=this;let n,a,i;r.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new k({async write(t){const{availableSize:r}=s;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),s.diskOffset+=n.size,s.diskNumber++,i=null,await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f("Writer iterator completed too soon");n=r,n.size=0,n.maxSize&&(s.maxSize=n.maxSize),s.availableSize=s.maxSize,await ur(n),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await l()}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),n.size+=t,s.size+=t,s.availableSize-=t)}async function l(){await i.close()}r.defineProperty(s,Zt,{get:()=>o})}}class lr{constructor(e){return t.isArray(e)&&(e=new or(e)),e instanceof R&&(e={readable:e}),e}}class dr{constructor(e){return e.writable===$&&typeof e.next==re&&(e=new cr(e)),e instanceof k&&(e={writable:e}),e.size===$&&(e.size=0),e instanceof cr||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:ee,maxSize:ee}),e}}async function ur(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function fr(e,t,r,s){return e.readUint8Array(t,r,s)}const pr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function wr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=pr[e[r]];return t}})(e):new z(t).decode(e)}const hr="filename",mr="rawFilename",gr="comment",yr="rawComment",br="uncompressedSize",zr="compressedSize",Sr="offset",xr="diskNumberStart",Er="lastModDate",Fr="rawLastModDate",Rr="lastAccessDate",kr="creationDate",Dr="rawCreationDate",_r="internalFileAttributes",Ar="externalFileAttributes",Tr="msdosAttributesRaw",Ur="msdosAttributes",vr="msDosCompatible",Cr="zip64",Ir="encrypted",Nr="version",Wr="versionMadeBy",Mr="zipCrypto",Or="directory",Lr="executable",Pr="compressionMethod",Zr="signature",Hr="extraField",Vr="unixMode",Br="setuid",qr="setgid",Kr="sticky",jr=[hr,mr,br,zr,Er,Fr,gr,yr,Rr,kr,Dr,Sr,xr,_r,Ar,Tr,Ur,vr,Cr,Ir,Nr,Wr,Mr,Or,Lr,Pr,Zr,Hr,"extraFieldUnix","extraFieldInfoZip","uid","gid",Vr,Br,qr,Kr,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Yr{constructor(e){jr.forEach(t=>this[t]=e[t])}}const Gr="password",Xr="rawPassword",Jr="passThrough",Qr="signal",$r="useWebWorkers",es="useCompressionStream",ts="preventClose",rs="supportZip64SplitFile",ss="offset",ns="usdz",as="File format is not recognized",is="End of central directory not found",os="End of Zip64 central directory locator not found",cs="Central directory header not found",ls="Local file header not found",ds="Zip64 extra field not found",us="File contains encrypted entry",fs="Encryption method not supported",ps="Compression method not supported",ws="Split zip file",hs="Overlapping entry found",ms="utf-8",gs="cp437",ys=[[br,v],[zr,v],[Sr,v],[xr,C]],bs={[C]:{getValue:vs,bytes:4},[v]:{getValue:Cs,bytes:8}};class zs{constructor(e,t={}){r.assign(this,{reader:new lr(e),options:t,config:ie(),readRanges:[]})}async*getEntriesGenerator(e={}){const t=this;let{reader:s}=t;const{config:n}=t;if(await ur(s),s.size!==$&&s.readUint8Array||(s=new qt(await new d(s.readable).blob()),await ur(s)),s.size<H)throw new f(as);s.chunkSize=oe(n);const a=await(async(e,t,r)=>{const s=new p(4);var n;return n=t,Is(s).setUint32(0,n,!0),await a(22)||await a(i.min(1048582,r));async function a(t){const n=r-t,a=await fr(e,n,t);for(let e=a.length-22;e>=0;e--)if(a[e]==s[0]&&a[e+1]==s[1]&&a[e+2]==s[2]&&a[e+3]==s[3])return{offset:n+e,buffer:a.slice(e,e+22).buffer}}})(s,L,s.size);if(!a)throw vs(Is(await fr(s,0,4)))==W?new f(ws):new f(is);const o=Is(a);let c=vs(o,12),l=vs(o,16);const u=a.offset,w=Us(o,20),h=u+H+w;let m=Us(o,4);const g=s.lastDiskNumber||0;let b=Us(o,6),z=Us(o,8),S=0,x=0;if(l==v||c==v||z==C||b==C){const e=Is(await fr(s,a.offset-20,20));if(vs(e,0)==Z){l=Cs(e,8);let t=await fr(s,l,56,-1),r=Is(t);const n=a.offset-20-56;if(vs(r,0)!=P&&l!=n){const e=l;l=n,l>e&&(S=l-e),t=await fr(s,l,56,-1),r=Is(t)}if(vs(r,0)!=P)throw new f(os);m==C&&(m=vs(r,16)),b==C&&(b=vs(r,20)),z==C&&(z=Cs(r,32)),c==v&&(c=Cs(r,40)),l-=c}}if(l<s.size||(S=s.size-l-c-H,l=s.size-c-H),g!=m)throw new f(ws);if(0>l)throw new f(as);let E=0,R=await fr(s,l,c,b),k=Is(R);if(c){const e=a.offset-c;if(vs(k,E)!=O&&l!=e){const t=l;l=e,l>t&&(S+=l-t),R=await fr(s,l,c,b),k=Is(R)}}const D=a.offset-l-(s.lastDiskOffset||0);if(c==D||0>D||(c=D,R=await fr(s,l,c,b),k=Is(R)),0>l||l>=s.size)throw new f(as);const _=Ds(t,e,"filenameEncoding"),A=Ds(t,e,"commentEncoding");for(let a=0;z>a;a++){const o=new Ss(s,n,t.options);if(vs(k,E)!=O)throw new f(cs);xs(o,k,E+6);const c=!!o.bitFlag.languageEncodingFlag,l=E+46,u=l+o.filenameLength,p=u+o.extraFieldLength,w=Us(k,E+4),h=!(w>>8),m=w>>8==3,g=R.subarray(l,u),b=Us(k,E+32),D=p+b,T=R.subarray(p,D),U=c,v=c,N=vs(k,E+38),W=N&I,M={readOnly:!!(1&W),hidden:!!(2&W),system:!!(4&W),directory:!!(16&W),archive:!!(32&W)},L=vs(k,E+42)+S,P=Ds(t,e,"decodeText")||wr,Z=U?ms:_||gs,H=v?ms:A||gs;let V=P(g,Z);V===$&&(V=wr(g,Z));let B=P(T,H);B===$&&(B=wr(T,H)),r.assign(o,{versionMadeBy:w,msDosCompatible:h,compressedSize:0,uncompressedSize:0,commentLength:b,offset:L,diskNumberStart:Us(k,E+34),internalFileAttributes:Us(k,E+36),externalFileAttributes:N,msdosAttributesRaw:W,msdosAttributes:M,rawFilename:g,filenameUTF8:U,commentUTF8:v,rawExtraField:R.subarray(u,p),rawComment:T,filename:V,comment:B}),x=i.max(L,x),Es(o,o,k,E+6);const X=o.externalFileAttributes>>16&C;o.unixMode===$&&16877&X&&(o.unixMode=X);const J=!!(o.unixMode&K),Q=!!(o.unixMode&j),ee=!!(o.unixMode&Y),te=o.unixMode!==$?!!(73&o.unixMode):m&&!!(73&X),re=o.unixMode!==$&&(61440&o.unixMode)==q,se=(61440&X)==q;r.assign(o,{setuid:J,setgid:Q,sticky:ee,unixExternalUpper:X,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:te,directory:re||se||h&&M.directory||V.endsWith(G)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ne=new Yr(o);ne.getData=(e,r)=>o.getData(e,ne,t.readRanges,r),ne.arrayBuffer=async e=>{const r=new F,[s]=await y.all([new d(r.readable).arrayBuffer(),o.getData(r,ne,t.readRanges,e)]);return s},E=D;const{onprogress:ae}=e;if(ae)try{await ae(a+1,z,new Yr(o))}catch{}yield ne}const T=Ds(t,e,"extractPrependedData"),U=Ds(t,e,"extractAppendedData");return T&&(t.prependedData=x>0?await fr(s,0,x):new p),t.comment=w?await fr(s,u+H,w):new p,U&&(t.appendedData=h<s.size?await fr(s,h,s.size-h):new p),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Ss{constructor(e,t,s){r.assign(this,{reader:e,config:t,options:s})}async getData(e,t,s,n={}){const a=this,{reader:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:u,config:w,bitFlag:h,signature:m,rawLastModDate:g,uncompressedSize:y,compressedSize:b}=a,{dataDescriptor:z}=h,S=t.localDirectory={},x=Is(await fr(i,o,X,c));let E=Ds(a,n,Gr),F=Ds(a,n,Xr);const R=Ds(a,n,Jr);if(E=E&&E.length&&E,F=F&&F.length&&F,l&&99!=l.originalCompressionMethod)throw new f(ps);if(0!=u&&8!=u&&9!=u&&!R)throw new f(ps);if(vs(x,0)!=N)throw new f(ls);xs(S,x,4);const{extraFieldLength:D,filenameLength:_,lastAccessDate:A,creationDate:T}=S;S.rawExtraField=D?await fr(i,o+X+_,D,c):new p,Es(a,S,x,4,!0),r.assign(t,{lastAccessDate:A,creationDate:T});const U=a.encrypted&&S.encrypted&&!R,v=U&&!l;if(R||(t.zipCrypto=v),U){if(!v&&l.strength===$)throw new f(fs);if(!E&&!F)throw new f(us)}const C=o+X+_+D,W=b,O=i.readable;r.assign(O,{diskNumberStart:c,offset:C,size:W});const L=Ds(a,n,Qr),P=Ds(a,n,"checkPasswordOnly");let Z=Ds(a,n,"checkOverlappingEntry");const H=Ds(a,n,"checkOverlappingEntryOnly");H&&(Z=!0);const{onstart:V,onprogress:B,onend:q}=n,K=9==u;let j=Ds(a,n,es);K&&(j=!1);const Y={options:{codecType:ht,password:E,rawPassword:F,zipCrypto:v,encryptionStrength:l&&l.strength,signed:Ds(a,n,"checkSignature")&&!R,passwordVerification:v&&(z?g>>>8&I:m>>>24&I),outputSize:R?b:y,signature:m,compressed:0!=u&&!R,encrypted:a.encrypted&&!R,useWebWorkers:Ds(a,n,$r),useCompressionStream:j,transferStreams:Ds(a,n,"transferStreams"),deflate64:K,checkPasswordOnly:P},config:w,streamOptions:{signal:L,size:W,onstart:V,onprogress:B,onend:q}};let G;Z&&await(async({reader:e,fileEntry:t,offset:r,diskNumberStart:s,signature:n,compressedSize:a,uncompressedSize:i,dataOffset:o,dataDescriptor:c,extraFieldZip64:l,readRanges:d})=>{let u=0;if(s)for(let t=0;s>t;t++)u+=e.readers[t].size;let p=0;if(c&&(p=l?20:12),p){const r=await fr(e,o+a,p+4,s);if(vs(Is(r),0)==M){const e=vs(Is(r),4);let s,o;l?(s=Cs(Is(r),8),o=Cs(Is(r),16)):(s=vs(Is(r),8),o=vs(Is(r),12)),(t.encrypted&&!t.zipCrypto||e==n)&&s==a&&o==i&&(p+=4)}}const w={start:u+r,end:u+o+a+p,fileEntry:t};for(const e of d)if(e.fileEntry!=t&&w.start>=e.start&&w.start<e.end){const t=new f(hs);throw t.overlappingEntry=e.fileEntry,t}d.push(w)})({reader:i,fileEntry:t,offset:o,diskNumberStart:c,signature:m,compressedSize:b,uncompressedSize:y,dataOffset:C,dataDescriptor:z||S.bitFlag.dataDescriptor,extraFieldZip64:d||S.extraFieldZip64,readRanges:s});try{if(!H){P&&(e=new k),e=new dr(e),await ur(e,R?b:y),({writable:G}=e);const{outputSize:t}=await Ct({readable:O,writable:G},Y);if(e.size+=t,t!=(R?b:y))throw new f(it)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!P||t.message!=xe)throw t}finally{Ds(a,n,ts)||!G||G.locked||await G.getWriter().close()}return P||H?$:e.getData?e.getData():G}}function xs(e,t,s){const n=e.rawBitFlag=Us(t,s+2),a=!(1&~n),i=vs(t,s+6);r.assign(e,{encrypted:a,version:Us(t,s),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&B)==B},rawLastModDate:i,lastModDate:_s(i),filenameLength:Us(t,s+22),extraFieldLength:Us(t,s+24)})}function Es(e,t,s,n,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Is(new p(i));let u=0;try{for(;u<i.length;){const e=Us(d,u),t=Us(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch{}const w=Us(s,n+4);r.assign(t,{signature:vs(s,n+10),compressedSize:vs(s,n+14),uncompressedSize:vs(s,n+18)});const h=l.get(1);h&&(((e,t)=>{t.zip64=!0;const r=Is(e.data),s=ys.filter(([e,r])=>t[e]==r);for(let n=0,a=0;n<s.length;n++){const[i,o]=s[n];if(t[i]==o){const s=bs[o];t[i]=e[i]=s.getValue(r,a),a+=s.bytes}else if(e[i])throw new f(ds)}})(h,t),t.extraFieldZip64=h);const m=l.get(28789);m&&(Fs(m,hr,mr,t,e),t.extraFieldUnicodePath=m);const g=l.get(25461);g&&(Fs(g,gr,yr,t,e),t.extraFieldUnicodeComment=g);const y=l.get(39169);y?(((e,t,s)=>{const n=Is(e.data),a=Ts(n,4);r.assign(e,{vendorVersion:Ts(n,0),vendorId:Ts(n,2),strength:a,originalCompressionMethod:s,compressionMethod:Us(n,5)}),t.compressionMethod=e.compressionMethod})(y,t,w),t.extraFieldAES=y):t.compressionMethod=w;const b=l.get(10);b&&(((e,t)=>{const s=Is(e.data);let n,a=4;try{for(;a<e.data.length&&!n;){const t=Us(s,a),r=Us(s,a+2);1==t&&(n=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}try{if(n&&24==n.length){const s=Is(n),a=s.getBigUint64(0,!0),i=s.getBigUint64(8,!0),o=s.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:As(a),lastAccessDate:As(i),creationDate:As(o)};r.assign(e,c),r.assign(t,c)}}catch{}})(b,t),t.extraFieldNTFS=b);const z=l.get(30805);if(z)Rs(z,t,!1),t.extraFieldUnix=z;else{const e=l.get(30837);e&&(Rs(e,t,!0),t.extraFieldInfoZip=e)}const S=l.get(V);S&&(((e,t,r)=>{const s=Is(e.data),n=Ts(s,0),a=[],i=[];r?(1&~n||(a.push(Er),i.push(Fr)),2&~n||(a.push(Rr),i.push("rawLastAccessDate")),4&~n||(a.push(kr),i.push(Dr))):5>e.data.length||(a.push(Er),i.push(Fr));let c=1;a.forEach((r,n)=>{if(e.data.length>=c+4){const a=vs(s,c);t[r]=e[r]=new o(1e3*a);const l=i[n];e[l]=a}c+=4})})(S,t,a),t.extraFieldExtendedTimestamp=S);const x=l.get(6534);x&&(t.extraFieldUSDZ=x)}function Fs(e,t,s,n,a){const i=Is(e.data),o=new ue;o.append(a[s]);const c=Is(new p(4));c.setUint32(0,o.get(),!0);const l=vs(i,1);r.assign(e,{version:Ts(i,0),[t]:wr(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==vs(c,0)}),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function Rs(e,t,s){try{const n=Is(new p(e.data));let a=0;const i=Ts(n,a++),o=Ts(n,a++),c=e.data.subarray(a,a+o);a+=o;const l=ks(c),d=Ts(n,a++),u=e.data.subarray(a,a+d);a+=d;const f=ks(u);let w=$;if(!s&&a+2<=e.data.length){const t=e.data;w=new m(t.buffer,t.byteOffset+a,2).getUint16(0,!0)}r.assign(e,{version:i,uid:l,gid:f,unixMode:w}),l!==$&&(t.uid=l),f!==$&&(t.gid=f),w!==$&&(t.unixMode=w)}catch{}}function ks(e){const t=new p(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ds(e,t,r){return t[r]===$?e.options[r]:t[r]}function _s(e){const t=(4294901760&e)>>16,r=e&C;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch{}}function As(e){return new o(n(e/a(1e4)-a(116444736e5)))}function Ts(e,t){return e.getUint8(t)}function Us(e,t){return e.getUint16(t,!0)}function vs(e,t){return e.getUint32(t,!0)}function Cs(e,t){return n(e.getBigUint64(t,!0))}function Is(e){return new m(e.buffer)}const Ns="File already exists",Ws="Zip file comment exceeds 64KB",Ms="File entry comment exceeds 64KB",Os="File entry name exceeds 64KB",Ls="Version exceeds 65535",Ps="The strength must equal 1, 2, or 3",Zs="Extra field type exceeds 65535",Hs="Extra field data exceeds 64KB",Vs="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Bs="Undefined uncompressed size",qs="Zip file not empty",Ks=new p([7,0,2,0,65,69,3,0,0]),js="infozip",Ys="unix";let Gs=0;const Xs=[];class Js{constructor(e,t={}){const s=(e=new dr(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==ee&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==ee;r.assign(this,{writer:e,addSplitZipSignature:s,options:t,config:ie(),files:new c,filenames:new l,offset:t[ss]===$?e.size||e.writable.size||0:t[ss],pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(qs);e=new lr(e);const t=new zs(e.readable),s=await t.getEntries();await t.close(),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,compressionMethod:s,lastModDate:n,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:w,zip64:h}=e;let{rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraFieldUnix:z,rawExtraField:S}=e;const{level:x,languageEncodingFlag:E,dataDescriptor:F}=c;m=m||new p,g=g||new p,y=y||new p,b=b||new p,z=e.rawExtraFieldUnix||new p,S=S||new p;const R=un(m,g,y,b,z,S),k=h&&d>v,D=h&&u>v,{headerArray:_,headerView:A}=fn({version:t,bitFlag:pn(x,E,F,l,s),compressionMethod:s,uncompressedSize:d,compressedSize:u,lastModDate:n,rawFilename:o,zip64CompressedSize:D,zip64UncompressedSize:k,extraFieldLength:R});return r.assign(e,{zip64UncompressedSize:k,zip64CompressedSize:D,zip64Offset:h&&this.offset-f>v,zip64DiskNumberStart:h&&w>C,rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraFieldUnix:z,rawExtraField:S,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:_,headerView:A}),[e.filename,e]}))}async add(e="",s,n={}){const c=this,{pendingAddFileCalls:l,config:d}=c;let u;Gs<d.maxWorkers?Gs++:await new y(e=>Xs.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(Ns);return c.filenames.add(e),u=(async(e,s,n,c)=>{s=s.trim();let l=rn(e,c,vr),d=rn(e,c,Wr,l?20:768);const u=rn(e,c,Lr),h=rn(e,c,"uid"),g=rn(e,c,"gid");let b=rn(e,c,Vr);const z=rn(e,c,"unixExtraFieldType");let S=rn(e,c,Br),x=rn(e,c,qr),E=rn(e,c,Kr);if(h!==$&&(0>h||h>v))throw new f("Invalid uid (must be integer 0..2^32-1)");if(g!==$&&(0>g||g>v))throw new f("Invalid gid (must be integer 0..2^32-1)");if(b!==$&&(0>b||b>C))throw new f("Invalid UNIX mode (must be integer 0..65535)");if(z!==$&&z!==js&&z!==Ys)throw new f("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");let R=rn(e,c,Tr),k=rn(e,c,Ur);const D=R!==$||k!==$;if(h!==$||g!==$||b!==$||z?(l=!1,d=d&C|768):D&&(l=!0,d&=I),R!==$&&(0>R||R>I))throw new f("Invalid msdosAttributesRaw (must be integer 0..255)");if(k&&"object"!=typeof k)throw new f("Invalid msdosAttributes (must be an object with boolean flags)");if(d>C)throw new f(Ls);let _=rn(e,c,Ar,0);!c[Or]&&s.endsWith(G)&&(c[Or]=!0);const A=rn(e,c,Or);let T;A?(s.endsWith(G)||(s+=G),0===_&&(_=16,l||(_|=16877<<16))):l||0!==_||(_=u?493<<16:27525120),l||(T=_>>16&C,b=b===$?T:b&C,S?b|=K:S=!!(b&K),x?b|=j:x=!!(b&j),E?b|=Y:E=!!(b&Y),A&&(b|=q),_=(b&C)<<16|_&I),({msdosAttributesRaw:R,msdosAttributes:k}=((e,t)=>{if(e!==$)e&=I;else if(t!==$){const{readOnly:r,hidden:s,system:n,directory:a,archive:i}=t;let o=0;r&&(o|=1),s&&(o|=2),n&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&I}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(R,k)),D&&(_=_&v|R&I);const U=rn(e,c,"encodeText",pe);let O=U(s);if(O===$&&(O=pe(s)),un(O)>C)throw new f(Os);const L=c[gr]||"";let P=U(L);if(P===$&&(P=pe(L)),un(P)>C)throw new f(Ms);const Z=rn(e,c,Nr,20);if(Z>C)throw new f(Ls);const H=rn(e,c,Er,new o),B=rn(e,c,Rr),te=rn(e,c,kr),re=rn(e,c,_r,0),se=rn(e,c,Jr);let ne,ae;se||(ne=rn(e,c,Gr),ae=rn(e,c,Xr));const ie=rn(e,c,"encryptionStrength",3),ce=rn(e,c,Mr),le=rn(e,c,"extendedTimestamp",!0),de=rn(e,c,"keepOrder",!0),ue=rn(e,c,$r),fe=rn(e,c,"bufferedWrite"),we=rn(e,c,"dataDescriptorSignature",!1),he=rn(e,c,Qr),me=rn(e,c,"useUnicodeFileNames",!0),ge=rn(e,c,Pr);let ye=rn(e,c,"level"),be=rn(e,c,es),ze=rn(e,c,"dataDescriptor");fe&&ze===$&&(ze=!1),(ze===$||ce)&&(ze=!0),ye!==$&&6!=ye&&(be=!1),be||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(ye=0);let Se=rn(e,c,Cr);if(!ce&&(ne!==$||ae!==$)&&(1>ie||ie>3))throw new f(Ps);let xe=new p;const Ee=c[Hr];if(Ee){let e=0,t=0;Ee.forEach(t=>e+=4+un(t)),xe=new p(e),Ee.forEach((e,r)=>{if(r>C)throw new f(Zs);if(un(e)>C)throw new f(Hs);ln(xe,new w([r]),t),ln(xe,new w([un(e)]),t+2),ln(xe,e,t+4),t+=4+un(e)})}let Fe=0,Re=0,ke=0;if(se&&(ke=c[br],ke===$))throw new f(Bs);const De=!0===Se;n&&(n=new lr(n),await ur(n),se?(c.uncompressedSize=ke,Fe=sn(ke)):n.size===$?(ze=!0,(Se||Se===$)&&(Se=!0,ke=Fe=4294967296)):(c.uncompressedSize=ke=n.size,Fe=sn(ke)));const{diskOffset:_e,diskNumber:Ae,maxSize:Te}=e.writer,Ue=De||ke>v,ve=De||Fe>v,Ce=De||e.offset+e.pendingEntriesSize-_e>v,Ie=rn(e,c,rs,!0)&&De||Ae+i.ceil(e.pendingEntriesSize/Te)>C;if(Ce||Ue||ve||Ie){if(!1===Se||!de)throw new f(Vs);Se=!0}Se=Se||!1;const Ne=rn(e,c,Ir),We=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:s,creationDate:n,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,encryptionStrength:h,extendedTimestamp:g,passThrough:y,encrypted:b,zip64UncompressedSize:z,zip64CompressedSize:S,zip64Offset:x,zip64DiskNumberStart:E,uncompressedSize:F,offset:R,diskNumberStart:k}=e;let{version:D,compressionMethod:_}=e;const A=!f&&(o>0||o===$&&0!==_);let T,U;const v=y||!A,I=c&&(e.bufferedWrite||!z&&!S||v);if(c){let e=4,t=4;z&&(e+=8,t+=8),S&&(e+=8,t+=8),x&&(e+=8),E&&(e+=4),T=new p(e);const r=dn(T);U=new p(t);const s=dn(U);if(an(r,0,1),an(r,2,un(T)-4),an(s,0,1),an(s,2,un(U)-4),I){const e=dn(T),t=dn(U);let r=4,s=4;z&&(cn(e,r,a(F)),r+=8,cn(t,s,a(F)),s+=8),S&&v&&(cn(e,r,a(F)),r+=8,cn(t,s,a(F)),s+=8),x&&(cn(e,r,a(R)),r+=8),E&&(on(e,r,k),r+=4),4==s&&(U=new p)}}else T=new p,U=new p;let W,M,O,L,P;if(b&&!l){W=new p(un(Ks)+2);const e=dn(W);an(e,0,39169),ln(W,Ks,2),nn(e,8,h)}else W=new p;if(g){O=new p(9+(s?4:0)+(n?4:0));const e=dn(O);an(e,0,V),an(e,2,un(O)-4),L=1+(s?2:0)+(n?4:0),nn(e,4,L);let t=5;on(e,t,i.floor(r.getTime()/1e3)),t+=4,s&&(on(e,t,i.floor(s.getTime()/1e3)),t+=4),n&&on(e,t,i.floor(n.getTime()/1e3));try{M=new p(36);const e=dn(M),t=tn(r);an(e,0,10),an(e,2,32),an(e,8,1),an(e,10,24),cn(e,12,t),cn(e,20,tn(s)||t),cn(e,28,tn(n)||t)}catch{M=new p}}else M=O=new p;try{const{uid:t,gid:r,unixMode:s,setuid:n,setgid:a,sticky:i,unixExtraFieldType:o}=e;if(!o||t===$&&r===$&&s===$)P=new p;else{const e=Qs(t),c=Qs(r);let l=new p;if(o==Ys&&s!==$){let e=s&C;n&&(e|=K),a&&(e|=j),i&&(e|=Y),l=new p(2),new m(l.buffer).setUint16(0,e,!0)}const d=3+e.length+c.length+l.length;P=new p(4+d);const u=dn(P);an(u,0,o==js?30837:30805),an(u,2,d),nn(u,4,1),nn(u,5,e.length);let f=6;ln(P,e,f),f+=e.length,nn(u,f,c.length),f++,ln(P,c,f),f+=c.length,ln(P,l,f)}}catch{P=new p}_===$&&(_=A?8:0),c&&(D=D>45?D:45),b&&!l&&(D=D>51?D:51,W[9]=_,_=99);const Z=I?un(U):0,H=Z+un(W,O,M,P,w),{headerArray:B,headerView:q,rawLastModDate:G}=fn({version:D,bitFlag:pn(o,d,u,b,_),compressionMethod:_,uncompressedSize:F,lastModDate:Q>r?Q:r>J?J:r,rawFilename:t,zip64CompressedSize:S,zip64UncompressedSize:z,extraFieldLength:H});let ee=X;const te=new p(ee+un(t)+H),re=dn(te);return on(re,0,N),ln(te,B,4),ln(te,t,ee),ee+=un(t),I&&ln(te,U,ee),ee+=Z,ln(te,W,ee),ee+=un(W),ln(te,O,ee),ee+=un(O),ln(te,M,ee),ee+=un(M),ln(te,P,ee),ee+=un(P),ln(te,w,ee),u&&(on(re,18,0),on(re,22,0)),{localHeaderArray:te,localHeaderView:re,headerArray:B,headerView:q,lastModDate:r,rawLastModDate:G,encrypted:b,compressed:A,version:D,compressionMethod:_,extraFieldExtendedTimestampFlag:L,rawExtraFieldZip64:T,localExtraFieldZip64Length:Z,rawExtraFieldExtendedTimestamp:O,rawExtraFieldNTFS:M,rawExtraFieldUnix:P,rawExtraFieldAES:W,extraFieldLength:H}})(c=r.assign({},c,{rawFilename:O,rawComment:P,version:Z,versionMadeBy:d,lastModDate:H,lastAccessDate:B,creationDate:te,rawExtraField:xe,zip64:Se,zip64UncompressedSize:Ue,zip64CompressedSize:ve,zip64Offset:Ce,zip64DiskNumberStart:Ie,password:ne,rawPassword:ae,level:ye,useWebWorkers:ue,encryptionStrength:ie,extendedTimestamp:le,zipCrypto:ce,bufferedWrite:fe,keepOrder:de,useUnicodeFileNames:me,dataDescriptor:ze,dataDescriptorSignature:we,signal:he,msDosCompatible:l,internalFileAttribute:re,internalFileAttributes:re,externalFileAttribute:_,externalFileAttributes:_,useCompressionStream:be,passThrough:se,encrypted:!!(ne&&un(ne)||ae&&un(ae))||se&&Ne,signature:c[Zr],compressionMethod:ge,uncompressedSize:ke,offset:e.offset-_e,diskNumberStart:Ae,uid:h,gid:g,setuid:S,setgid:x,sticky:E,unixMode:b,msdosAttributesRaw:R,msdosAttributes:k,unixExternalUpper:T})),Me=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let s,n=new p,a=0,i=e?20:12;return r&&(i+=4),t&&(n=new p(i),s=dn(n),r&&(a=4,on(s,0,M))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:a}})(c),Oe=un(We.localHeaderArray,Me.dataDescriptorArray);let Le;Re=Oe+Fe,e.options[ns]&&(Re+=Re+64),e.pendingEntriesSize+=Re;try{Le=await(async(e,s,n,i,o)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:w}=o,{headerInfo:h}=i,m=e.options[ns],g=t.from(c.values()).pop();let b,z,S,x,E,R,k={};c.set(s,k);try{let t;d&&(t=g&&g.lock,k.lock=new y(e=>S=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&d)&&u||m?(R=l,await D()):(R=new F($,$,{highWaterMark:ee}),R.size=0,b=!0,e.bufferedWrites++,await ur(l)),await ur(R);const{writable:z,diskOffset:A}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);on(dn(t),0,W),await en(l,t),e.offset+=4}m&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:s,extraFieldLength:n}=r,a=dn(s),i=64-(t+un(s))%64;4>i&&(i+=64);const o=new p(i),c=dn(o);an(c,0,6534),an(c,2,i-2);const l=s;r.localHeaderArray=s=new p(un(l)+i),ln(s,l),ln(s,o,un(l)),a=dn(s),an(a,28,n+i),e.metadataSize+=i})(i,e.offset-A);const{localHeaderView:T,localHeaderArray:U}=h;b||(await t,await _(z));const{diskNumber:C}=l;k.diskNumberStart=C,b||(E=!0,await en(R,U)),k=await(async(e,t,{diskNumberStart:s,lock:n},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:f,headerView:p,lastModDate:w,rawLastModDate:h,encrypted:m,compressed:g,version:y,compressionMethod:b,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:x,extraFieldExtendedTimestampFlag:E,rawExtraFieldNTFS:F,rawExtraFieldUnix:R,rawExtraFieldAES:k}=l,{dataDescriptorArray:D}=d,{rawFilename:_,lastAccessDate:A,creationDate:T,password:U,rawPassword:v,level:C,zip64:N,zip64UncompressedSize:W,zip64CompressedSize:M,zip64Offset:O,zip64DiskNumberStart:L,zipCrypto:P,dataDescriptor:Z,directory:H,executable:V,versionMadeBy:B,rawComment:q,rawExtraField:K,useWebWorkers:j,onstart:Y,onprogress:G,onend:X,signal:J,encryptionStrength:Q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:se,uid:ne,gid:ae,unixMode:ie,setuid:ce,setgid:le,sticky:de,unixExternalUpper:ue,msdosAttributesRaw:fe,msdosAttributes:pe,useCompressionStream:we,passThrough:he}=c,me={lock:n,versionMadeBy:B,zip64:N,directory:!!H,executable:!!V,filenameUTF8:!0,rawFilename:_,commentUTF8:!0,rawComment:q,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:x,rawExtraFieldNTFS:F,rawExtraFieldUnix:R,rawExtraFieldAES:k,rawExtraField:K,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:se,diskNumberStart:s,uid:ne,gid:ae,unixMode:ie,setuid:ce,setgid:le,sticky:de,unixExternalUpper:ue,msdosAttributesRaw:fe,msdosAttributes:pe};let{signature:ge,uncompressedSize:ye}=c,be=0;he||(ye=0);const{writable:ze}=t;if(e){e.chunkSize=oe(o);const r=e.readable,s=e.size,n={options:{codecType:wt,level:C,rawPassword:v,password:U,encryptionStrength:Q,zipCrypto:m&&P,passwordVerification:m&&P&&h>>8&I,signed:!he,compressed:g&&!he,encrypted:m&&!he,useWebWorkers:j,useCompressionStream:we,transferStreams:!1},config:o,streamOptions:{signal:J,size:s,onstart:Y,onprogress:G,onend:X}};try{const e=await Ct({readable:r,writable:ze},n);be=e.outputSize,t.size+=be,he||(ye=e.inputSize,ge=e.signature)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:n},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=s,{dataDescriptorView:u,dataDescriptorOffset:f}=n;d&&!o||e===$||(on(l,10,e),c&&on(u,f,e)),i?c&&(cn(u,f+4,a(t)),cn(u,f+12,a(r))):(on(l,14,t),on(l,18,r),c&&(on(u,f+4,t),on(u,f+8,r)))})({signature:ge,compressedSize:be,uncompressedSize:ye,headerInfo:l,dataDescriptorInfo:d},c),Z&&await en(t,D),r.assign(me,{uncompressedSize:ye,compressedSize:be,lastModDate:w,rawLastModDate:h,creationDate:T,lastAccessDate:A,encrypted:m,zipCrypto:P,size:u+be,compressionMethod:b,version:y,headerArray:f,headerView:p,signature:ge,extraFieldExtendedTimestampFlag:E,zip64UncompressedSize:W,zip64CompressedSize:M,zip64Offset:O,zip64DiskNumberStart:L}),me})(n,R,k,i,e.config,o);const{zip64:N}=k;if(b||(E=!1),c.set(s,k),k.filename=s,b?(await y.all([R.writable.getWriter().close(),t]),await D(),x=!0,k.diskNumberStart=l.diskNumber,k.offset=e.offset-l.diskOffset,N&&$s(k),(({rawFilename:e,encrypted:t,zip64:r,localExtraFieldZip64Length:s,signature:n,compressedSize:i,uncompressedSize:o,zip64UncompressedSize:c,zip64CompressedSize:l},d,{dataDescriptor:u})=>{if(u||(t||on(d,14,n),l||on(d,18,i),c||on(d,22,o)),r&&s){let t=X+un(e)+4;c&&(cn(d,t,a(o)),t+=8),l&&(cn(d,t,a(i)),t+=8)}})(k,T,o),await _(z),await en(l,U),await R.readable.pipeTo(z,{preventClose:!0,preventAbort:!0,signal:w}),l.size+=R.size,x=!1):(k.offset=e.offset-A,N&&$s(k)),k.offset>v&&!N)throw new f(Vs);return e.offset+=k.size,k}catch(t){if(x||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}b?e.offset+=R.size:e.offset=R.size}throw c.delete(s),t}finally{b&&e.bufferedWrites--,S&&S(),z&&z()}async function D(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>z=()=>{e.writerLocked=!1,t()}),await t}async function _(e){un(h.localHeaderArray)>l.availableSize&&(l.availableSize=0,await en(e,new p))}})(e,s,n,{headerInfo:We,dataDescriptorInfo:Me,metadataSize:Oe},c)}finally{e.pendingEntriesSize-=Re}return r.assign(Le,{name:s,comment:L,extraField:Ee}),new Yr(Le)})(c,e,s,n),l.add(u),await u}catch(t){throw c.filenames.delete(e),t}finally{l.delete(u);const e=Xs.shift();e?e():Gs--}}remove(e){const{filenames:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==$){const{filename:s}=e;if(t.has(s)&&r.has(s))return t.delete(s),r.delete(s),!0}return!1}async close(e=new p,r={}){const{pendingAddFileCalls:s,writer:n}=this,{writable:o}=n;for(;s.size;)await y.allSettled(t.from(s));return await(async(e,r,s)=>{const{files:n,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,w=e.offset-c,h=n.size;for(const[,e]of n){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:s,rawComment:n,rawExtraFieldNTFS:a,rawExtraFieldUnix:o,rawExtraField:c,extendedTimestamp:l,extraFieldExtendedTimestampFlag:d,lastModDate:f}=e;let w;if(l){w=new p(9);const e=dn(w);an(e,0,V),an(e,2,5),nn(e,4,d),on(e,5,i.floor(f.getTime()/1e3))}else w=new p;e.rawExtraFieldExtendedTimestamp=w,u+=46+un(t,n,r,s,a,o,w,c)}const m=new p(u),g=dn(m);await ur(o);let y=0;for(const[e,r]of t.from(n.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraFieldUnix:f,rawExtraField:p,rawComment:w,versionMadeBy:h,headerArray:b,headerView:z,zip64:S,zip64UncompressedSize:x,zip64CompressedSize:E,zip64DiskNumberStart:F,zip64Offset:R,internalFileAttributes:k,externalFileAttributes:D,diskNumberStart:_,uncompressedSize:A,compressedSize:T}=r,U=un(i,c,l,u,f,p);on(g,d,O),an(g,d+4,h),x||on(z,18,A),E||on(z,14,T),ln(m,b,d+6);let I=d+X;if(an(g,I,U),I+=2,an(g,I,un(w)),I+=2,an(g,I,S&&F?C:_),I+=2,an(g,I,k),I+=2,D&&on(g,I,D),I+=4,on(g,I,S&&R?v:t),I+=4,ln(m,a,I),I+=un(a),ln(m,i,I),I+=un(i),ln(m,c,I),I+=un(c),ln(m,l,I),I+=un(l),ln(m,u,I),I+=un(u),ln(m,f,I),I+=un(f),ln(m,p,I),I+=un(p),ln(m,w,I),I+=un(w),d-y>o.availableSize&&(o.availableSize=0,await en(o,m.slice(y,d)),y=d),d=I,s.onprogress)try{await s.onprogress(e+1,n.size,new Yr(r))}catch{}}await en(o,y?m.slice(y):m);let b=o.diskNumber;const{availableSize:z}=o;H>z&&b++;let S=rn(e,s,Cr);if(w>v||u>v||h>C||b>C){if(!1===S)throw new f(Vs);S=!0}const x=new p(S?98:H),E=dn(x);d=0,S&&(on(E,0,P),cn(E,4,a(44)),an(E,12,45),an(E,14,45),on(E,16,b),on(E,20,l),cn(E,24,a(h)),cn(E,32,a(h)),cn(E,40,a(u)),cn(E,48,a(w)),on(E,56,Z),cn(E,64,a(w)+a(u)),on(E,72,b+1),rn(e,s,rs,!0)&&(b=C,l=C),h=C,w=v,u=v,d+=76),on(E,d,L),an(E,d+4,b),an(E,d+6,l),an(E,d+8,h),an(E,d+10,h),on(E,d+12,u),on(E,d+16,w);const F=un(r);if(F){if(F>C)throw new f(Ws);an(E,d+20,F)}await en(o,x),F&&await en(o,r)})(this,e,r),rn(this,r,ts)||await o.getWriter().close(),n.getData?n.getData():o}}function Qs(e){if(e===$)return new p;{const t=new p(4);dn(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function $s({compressedSize:e,uncompressedSize:t,offset:r,diskNumberStart:s,zip64UncompressedSize:n,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=dn(l);let u=4;n&&(cn(d,u,a(t)),u+=8),i&&(cn(d,u,a(e)),u+=8),o&&(cn(d,u,a(r)),u+=8),c&&on(d,u,s)}async function en(e,t){const{writable:r}=e,s=r.getWriter();try{await s.ready,e.size+=un(t),await s.write(t)}finally{s.releaseLock()}}function tn(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function rn(e,t,r,s){const n=t[r]===$?e.options[r]:t[r];return n===$?s:n}function sn(e){return e+5*(i.floor(e/16383)+1)}function nn(e,t,r){e.setUint8(t,r)}function an(e,t,r){e.setUint16(t,r,!0)}function on(e,t,r){e.setUint32(t,r,!0)}function cn(e,t,r){e.setBigUint64(t,r,!0)}function ln(e,t,r){e.set(t,r)}function dn(e){return new m(e.buffer)}function un(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function fn({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:s,compressedSize:n,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new p(26),u=dn(d);an(u,0,e),an(u,2,t),an(u,4,r);const f=new h(1),w=dn(f);an(w,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),an(w,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const m=f[0];return on(u,6,m),(o||n!==$)&&on(u,14,o?v:n),(c||s!==$)&&on(u,18,c?v:s),an(u,22,un(i)),an(u,24,l),{headerArray:d,headerView:u,rawLastModDate:m}}function pn(e,t,r,s,n){let a=0;return t&&(a|=B),r&&(a|=8),8!=n&&9!=n||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),s&&(a|=1),a}try{ce({baseURI:void 0===S&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===S?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new u("zip-core.min.js",S.baseURI).href})}catch{}e.BlobReader=qt,e.BlobWriter=Kt,e.Data64URIReader=class extends Vt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const s=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:s,size:i.floor(.75*(t-s))})}readUint8Array(e,t){const{dataStart:r,dataURI:s}=this,n=new p(t),a=4*i.floor(e/3),o=atob(s.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)n[e-c]=o.charCodeAt(e),l++;return l<n.length?n.subarray(0,l):n}},e.Data64URIWriter=class extends Bt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,n=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)n+=s.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=s.fromCharCode(e[r]);n.length&&(n.length>2?t.data+=E(n):t.pending+=n)}getData(){return this.data+E(this.pending)}},e.ERR_BAD_FORMAT=as,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=cs,e.ERR_DUPLICATED_NAME=Ns,e.ERR_ENCRYPTED=us,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=os,e.ERR_EOCDR_NOT_FOUND=is,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ds,e.ERR_HTTP_RANGE=Wt,e.ERR_INVALID_COMMENT=Ws,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ps,e.ERR_INVALID_ENTRY_COMMENT=Ms,e.ERR_INVALID_ENTRY_NAME=Os,e.ERR_INVALID_EXTRAFIELD_DATA=Hs,e.ERR_INVALID_EXTRAFIELD_TYPE=Zs,e.ERR_INVALID_PASSWORD=ze,e.ERR_INVALID_SIGNATURE=Se,e.ERR_INVALID_UNCOMPRESSED_SIZE=it,e.ERR_INVALID_VERSION=Ls,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ls,e.ERR_OVERLAPPING_ENTRY=hs,e.ERR_SPLIT_ZIP_FILE=ws,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Bs,e.ERR_UNSUPPORTED_COMPRESSION=ps,e.ERR_UNSUPPORTED_ENCRYPTION=fs,e.ERR_UNSUPPORTED_FORMAT=Vs,e.ERR_ZIP_NOT_EMPTY=qs,e.HttpRangeReader=class extends ir{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=ir,e.Reader=Vt,e.SplitDataReader=or,e.SplitDataWriter=cr,e.TextReader=class extends qt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends Kt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,s=await super.getData();if(s.text&&t)return s.text();{const t=new FileReader;return new y((n,a)=>{r.assign(t,{onload:({target:e})=>n(e.result),onerror:()=>a(t.error)}),t.readAsText(s,e)})}}},e.Uint8ArrayReader=class extends Vt{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Bt{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new p(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const s=t.array;t.array=new p(e),t.array.set(s)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=Bt,e.ZipReader=zs,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:r}=new F,s=new zs(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const n={...r,readable:(()=>{const{readable:e,writable:t}=new F;if(r.getData)return r.getData(t),e})()};delete n.getData,e.enqueue(n)}}),this.writable=r}},e.ZipWriter=Js,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new F;this.readable=t,this.zipWriter=new Js(r,e)}transform(e){const{readable:t,writable:r}=new F({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new F;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=ce,e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await y.allSettled(Tt.map(e=>(It(e),e.terminate())))}});
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:s,Number:n,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:p,Uint8Array:f,Uint16Array:w,Uint32Array:h,DataView:m,Blob:g,Promise:y,TextEncoder:b,TextDecoder:z,document:S,crypto:x,btoa:E,TransformStream:F,ReadableStream:R,WritableStream:k,CompressionStream:D,DecompressionStream:_,navigator:A,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==S?S.currentScript:null;const v=4294967295,C=65535,I=255,N=67324752,M=134695760,O=M,W=33639248,L=101010256,P=101075792,Z=117853008,H=22,V=21589,B=2048,q=16384,K=2048,j=1024,Y=512,G="/",X=30,J=new o(2107,11,31),Q=new o(1980,0,1),$=void 0,ee=1/0,te="undefined",re="function";let se=2;try{typeof A!=te&&A.hardwareConcurrency&&(se=A.hardwareConcurrency)}catch{}const ne={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:se,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof D!=te&&D,DecompressionStream:typeof _!=te&&_},ae=r.assign({},ne);function ie(){return ae}function oe(e){return i.max(e.chunkSize,64)}function ce(e){const{baseURI:t,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:n,useCompressionStream:a,useWebWorkers:i,CompressionStream:o,DecompressionStream:c,CompressionStreamZlib:l,DecompressionStreamZlib:d,workerURI:u,wasmURI:p}=e;le("baseURI",t),le("wasmURI",p),le("workerURI",u),le("chunkSize",r),le("maxWorkers",s),le("terminateWorkerTimeout",n),le("useCompressionStream",a),le("useWebWorkers",i),le("CompressionStream",o),le("DecompressionStream",c),le("CompressionStreamZlib",l),le("DecompressionStreamZlib",d)}function le(e,t){t!==$&&(ae[e]=t)}const de=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;de[e]=t}class ue{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,s=0|e.length;s>r;r++)t=t>>>8^de[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class pe extends F{constructor(){let e;const t=new ue;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function fe(e){if(typeof b==te){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const we={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],s=we.getPartial(r);return 32===s?e.concat(t):we._shiftRight(t,s,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+we.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=we.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(r),r=0;if(0===t)return s.concat(e);for(let n=0;n<e.length;n++)s.push(r|e[n]>>>t),r=e[n]<<32-t;const n=e.length?e[e.length-1]:0,a=we.getPartial(n);return s.push(we.partial(t+a&31,t+a>32?r:s.pop(),1)),s}},he={bytes:{fromBits(e){const t=we.bitLength(e)/8,r=new f(t);let s;for(let n=0;t>n;n++)3&n||(s=e[n/4]),r[n]=s>>>24,s<<=8;return r},toBits(e){const t=[];let r,s=0;for(r=0;r<e.length;r++)s=s<<8|e[r],3&~r||(t.push(s),s=0);return 3&r&&t.push(we.partial(8*(3&r),s)),t}}},me=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=he.utf8String.toBits(e));const r=t._buffer=we.concat(t._buffer,e),s=t._length,n=t._length=s+we.bitLength(e);if(n>9007199254740991)throw new p("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);n>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=we.concat(t,[we.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,s){return e>19?e>39?e>59?e>79?void 0:t^r^s:t&r|t&s|r&s:t^r^s:t&r|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,s=r._h,n=t(80);for(let t=0;16>t;t++)n[t]=e[t];let a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];for(let e=0;79>=e;e++){16>e||(n[e]=r._S(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const t=r._S(5,a)+r._f(e,o,c,l)+d+n[e]+r._key[i.floor(e/20)]|0;d=l,l=c,c=r._S(30,o),o=a,a=t}s[0]=s[0]+a|0,s[1]=s[1]+o|0,s[2]=s[2]+c|0,s[3]=s[3]+l|0,s[4]=s[4]+d|0}},ge={getRandomValues(e){const t=new h(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let s,n=0;n<e.length;n+=4){const e=r(4294967296*(s||i.random()));s=987654071*e(),t[n/4]=4294967296*e()|0}return e}},ye={importKey:e=>new ye.hmacSha1(he.bytes.toBits(e)),pbkdf2(e,t,r,s){if(r=r||1e4,0>s||0>r)throw new p("invalid params to pbkdf2");const n=1+(s>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(n),u=new m(d);let f=0;const w=we;for(t=he.bytes.toBits(t),l=1;(n||1)>f;l++){for(a=i=e.encrypt(w.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(n||1)>f&&o<a.length;o++)u.setInt32(f,a[o]),f+=4}return d.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=me,s=[[],[]];t._baseHash=[new r,new r];const n=t._baseHash[0].blockSize/32;e.length>n&&(e=(new r).update(e).finalize());for(let t=0;n>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new r(t._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,t=e._resultHash.finalize(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new p("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},be=typeof x!=te&&typeof x.getRandomValues==re,ze="Invalid password",Se="Invalid signature",xe="zipjs-abort-check-password";function Ee(e){return be?x.getRandomValues(e):ge.getRandomValues(e)}const Fe=16,Re={name:"PBKDF2"},ke=r.assign({hash:{name:"HMAC"}},Re),De=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Re),_e=["deriveBits"],Ae=[8,12,16],Te=[16,24,32],Ue=10,ve=[0,0,0,0],Ce=typeof x!=te,Ie=Ce&&x.subtle,Ne=Ce&&typeof Ie!=te,Me=he.bytes,Oe=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],s=t._tables[1],n=e.length;let a,i,o,c=1;if(4!==n&&6!==n&&8!==n)throw new p("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=n;4*n+28>a;a++){let e=i[a-1];(a%n===0||8===n&&a%n===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%n===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-n]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:s[0][r[t>>>24]]^s[1][r[t>>16&255]]^s[2][r[t>>8&255]]^s[3][r[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],r=e[4],s=t[4],n=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(n[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,s[a]=d,l=n[c=n[o=n[d]]];let u=16843009*l^65537*c^257*o^16843008*d,p=257*n[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=p=p<<24^p>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new p("invalid aes block size");const r=this._key[t],s=r.length/4-2,n=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,w,h=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],y=e[t?1:3]^r[3],b=4;for(let e=0;s>e;e++)u=i[h>>>24]^o[m>>16&255]^c[g>>8&255]^l[255&y]^r[b],f=i[m>>>24]^o[g>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=i[g>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&m]^r[b+2],y=i[y>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&g]^r[b+3],b+=4,h=u,m=f,g=w;for(let e=0;4>e;e++)n[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&y]^r[b++],u=h,h=m,m=g,g=y,y=u;return n}},We=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}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 t=e>>16&255,r=e>>8&255,s=255&e;255===t?(t=0,255===r?(r=0,255===s?s=0:++s):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let s;if(!(s=t.length))return[];const n=we.bitLength(t);for(let n=0;s>n;n+=4){this.incCounter(r);const s=e.encrypt(r);t[n]^=s[0],t[n+1]^=s[1],t[n+2]^=s[2],t[n+3]^=s[3]}return we.clamp(t,n)}},Le=ye.hmacSha1;let Pe=Ce&&Ne&&typeof Ie.importKey==re,Ze=Ce&&Ne&&typeof Ie.deriveBits==re;class He extends F{constructor({password:e,rawPassword:t,signed:s,encryptionStrength:n,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ke(e,t),signed:s,strength:n-1,pending:new f})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:i,ready:o}=r;s?(await(async(e,t,r,s)=>{const n=await qe(e,t,r,Ye(s,0,Ae[t])),a=Ye(s,Ae[t]);if(n[0]!=a[0]||n[1]!=a[1])throw new p(ze)})(r,n,s,Ye(e,0,Ae[n]+2)),e=Ye(e,Ae[n]+2),a?t.error(new p(xe)):i()):await o;const c=new f(e.length-Ue-(e.length-Ue)%Fe);t.enqueue(Be(r,e,c,0,Ue,!0))},async flush(e){const{signed:t,ctr:r,hmac:s,pending:n,ready:a}=this;if(s&&r){await a;const i=Ye(n,0,n.length-Ue),o=Ye(n,n.length-Ue);let c=new f;if(i.length){const e=Xe(Me,i);s.update(e);const t=r.update(e);c=Ge(Me,t)}if(t){const e=Ye(Ge(Me,s.digest()),0,Ue);for(let t=0;Ue>t;t++)if(e[t]!=o[t])throw new p(Se)}e.enqueue(c)}}})}}class Ve extends F{constructor({password:e,rawPassword:t,encryptionStrength:s}){let n;super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ke(e,t),strength:s-1,pending:new f})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:a,ready:i}=r;let o=new f;s?(o=await(async(e,t,r)=>{const s=Ee(new f(Ae[t]));return je(s,await qe(e,t,r,s))})(r,n,s),a()):await i;const c=new f(o.length+e.length-e.length%Fe);c.set(o,0),t.enqueue(Be(r,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:s,ready:a}=this;if(r&&t){await a;let i=new f;if(s.length){const e=t.update(Xe(Me,s));r.update(e),i=Ge(Me,e)}n.signature=Ge(Me,r.digest()).slice(0,Ue),e.enqueue(je(i,n.signature))}}}),n=this}}function Be(e,t,r,s,n,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-n;let d;for(c.length&&(t=je(c,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,l-l%Fe)),d=0;l-Fe>=d;d+=Fe){const e=Xe(Me,Ye(t,d,d+Fe));a&&o.update(e);const n=i.update(e);a||o.update(n),r.set(Ge(Me,n),d+s)}return e.pending=Ye(t,d),r}async function qe(e,s,n,a){e.password=null;const i=await(async(e,t,r,s,n)=>{if(!Pe)return ye.importKey(t);try{return await Ie.importKey("raw",t,r,!1,n)}catch{return Pe=!1,ye.importKey(t)}})(0,n,ke,0,_e),o=await(async(e,t,r)=>{if(!Ze)return ye.pbkdf2(t,e.salt,De.iterations,r);try{return await Ie.deriveBits(e,t,r)}catch{return Ze=!1,ye.pbkdf2(t,e.salt,De.iterations,r)}})(r.assign({salt:a},De),i,8*(2*Te[s]+2)),c=new f(o),l=Xe(Me,Ye(c,0,Te[s])),d=Xe(Me,Ye(c,Te[s],2*Te[s])),u=Ye(c,2*Te[s]);return r.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new We(new Oe(l),t.from(ve)),hmac:new Le(d)}),u}function Ke(e,t){return t===$?fe(e):t}function je(e,t){let r=e;return e.length+t.length&&(r=new f(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Ye(e,t,r){return e.subarray(t,r)}function Ge(e,t){return e.fromBits(t)}function Xe(e,t){return e.toBits(t)}class Je extends F{constructor({password:e,passwordVerification:t,checkPasswordOnly:s}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;if(r.password){const t=$e(r,e.subarray(0,12));if(r.password=null,t.at(-1)!=r.passwordVerification)throw new p(ze);e=e.subarray(12)}s?t.error(new p(xe)):t.enqueue($e(r,e))}})}}class Qe extends F{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;let s,n;if(r.password){r.password=null;const t=Ee(new f(12));t[11]=r.passwordVerification,s=new f(e.length+t.length),s.set(et(r,t),0),n=12}else s=new f(e.length),n=0;s.set(et(r,e),n),t.enqueue(s)}})}}function $e(e,t){const r=new f(t.length);for(let s=0;s<t.length;s++)r[s]=st(e)^t[s],rt(e,r[s]);return r}function et(e,t){const r=new f(t.length);for(let s=0;s<t.length;s++)r[s]=st(e)^t[s],rt(e,t[s]);return r}function tt(e,t){const s=[305419896,591751049,878082192];r.assign(e,{keys:s,crcKey0:new ue(s[0]),crcKey2:new ue(s[2])});for(let r=0;r<t.length;r++)rt(e,t.charCodeAt(r))}function rt(e,t){let[r,s,n]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),s=at(i.imul(at(s+nt(r)),134775813)+1),e.crcKey2.append([s>>>24]),n=~e.crcKey2.get(),e.keys=[r,s,n]}function st(e){const t=2|e.keys[2];return nt(i.imul(t,1^t)>>>8)}function nt(e){return 255&e}function at(e){return 4294967295&e}const it="Invalid uncompressed size";class ot extends F{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:s}){super({});const{compressed:n,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,p,f=super.readable;a&&!o||!c||(u=new pe,f=ut(f,u)),n&&(f=dt(f,i,{level:l,chunkSize:t},s,r,s)),a&&(o?f=ut(f,new Qe(e)):(p=new Ve(e),f=ut(f,p))),lt(d,f,()=>{let e;a&&!o&&(e=p.signature),a&&!o||!c||(e=new m(u.value.buffer).getUint32(0)),d.signature=e})}}class ct extends F{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:s}){super({});const{zipCrypto:n,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l,deflate64:d}=e;let u,f,w=super.readable;a&&(n?w=ut(w,new Je(e)):(f=new He(e),w=ut(w,f))),c&&(w=dt(w,l,{chunkSize:t,deflate64:d},s,r,s)),a&&!n||!i||(u=new pe,w=ut(w,u)),lt(this,w,()=>{if((!a||n)&&i){const e=new m(u.value.buffer);if(o!=e.getUint32(0,!1))throw new p(Se)}})}}function lt(e,t,s){t=ut(t,new F({flush:s})),r.defineProperty(e,"readable",{get:()=>t})}function dt(e,t,r,s,n,a){const i=t&&s?s:n||a,o=r.deflate64?"deflate64-raw":"deflate-raw";try{e=ut(e,new i(o,r))}catch(s){if(!t)throw s;if(n)e=ut(e,new n(o,r));else{if(!a)throw s;e=ut(e,new a(o,r))}}return e}function ut(e,t){return e.pipeThrough(t)}const pt="data",ft="close",wt="deflate",ht="inflate";class mt extends F{constructor(e,t){super({});const s=this,{codecType:n}=e;let a;n.startsWith(wt)?a=ot:n.startsWith(ht)&&(a=ct),s.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(s,{inputSize:i})}}),d=new F({transform(t,r){if(t&&t.length&&(r.enqueue(t),s.outputSize+=t.length,e.outputSize!==$&&s.outputSize>e.outputSize))throw new p(it)},flush(){const{signature:e}=o;r.assign(s,{signature:e,inputSize:i})}});r.defineProperty(s,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class gt extends F{constructor(e){let t;super({transform:function r(s,n){if(t){const e=new f(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(n.enqueue(s.slice(0,e)),r(s.slice(e),n)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const yt={type:"module"};let bt,zt,St,xt=!0;class Et{constructor(e,{readable:t,writable:s},{options:n,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new gt(a.chunkSize)).pipeThrough(new Ft(i),{signal:u}),writable:s,options:r.assign({},n),workerURI:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:r,busy:s}=e;r?(s?e.resolveTerminated=t:(r.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),bt===$&&(bt=typeof T!=te),(o&&bt?Dt:kt)(e,a)}}class Ft extends F{constructor({onstart:e,onprogress:t,size:r,onend:s}){let n=0;super({async start(){e&&await Rt(e,r)},async transform(e,s){n+=e.length,t&&await Rt(t,n,r),s.enqueue(e)},async flush(){s&&await Rt(s,n)}})}}async function Rt(e,...t){try{await e(...t)}catch{}}function kt(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:s},n)=>{let a;try{if(!e.useCompressionStream)try{await void 0}catch{e.useCompressionStream=!0}a=new mt(e,n),await t.pipeThrough(a).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:s,inputSize:i,outputSize:o}=a;return{signature:s,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{s()}})(e,t)}}function Dt(e,t){const{baseURI:s,chunkSize:n}=t;let{wasmURI:a}=t;if(!e.interface){let i;typeof a==re&&(a=a());try{i=_t(e.workerURI,s,e)}catch{return bt=!1,kt(e,t)}r.assign(e,{worker:i,interface:{run:()=>(async(e,t)=>{let s,n;const a=new y((e,t)=>{s=e,n=t});r.assign(e,{reader:null,writer:null,resolveResult:s,rejectResult:n,result:a});const{readable:i,options:o}=e,{writable:c,closed:l}=(e=>{const{writable:t,readable:r}=new F;return{writable:t,closed:r.pipeTo(e,{preventClose:!0})}})(e.writable),d=At({type:"start",options:o,config:t,readable:i,writable:c},e);d||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const u=await a;return d||await c.getWriter().close(),await l,u})(e,{chunkSize:n,wasmURI:a,baseURI:s})}})}return e.interface}function _t(e,t,s,n,a=!0){let i,o,c;if(zt===$){const r=typeof e==re;o=r?e(a):e;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){n===$&&(n=!1),n&&(c=yt);try{i=new T(o,c)}catch(a){if(d)try{u.revokeObjectURL(o)}catch{}if(r&&d)return _t(e,t,s,n,!1);if(n)throw a;return _t(e,t,s,!0,!1)}}else{n===$&&(n=!0),n&&(c=yt);try{o=new u(o,t)}catch{}try{i=new T(o,c)}catch(r){if(n)throw r;return _t(e,t,s,!1,a)}}zt=o,St=c}else i=new T(zt,St);return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:s,value:n,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:s,name:n,outputSize:a}=o,i=new p(e);r.assign(i,{stack:t,code:s,name:n,outputSize:a}),h(i)}else{if("pull"==s){const{value:e,done:r}=await c.read();At({type:pt,value:e,done:r,messageId:a},t)}s==pt&&(await l.ready,await l.write(new f(n)),At({type:"ack",messageId:a},t)),s==ft&&h(null,i)}}catch(o){At({type:ft,messageId:a},t),h(o)}function h(e,t){e?u(e):d(t),l&&l.releaseLock(),w()}})(e,s)),i}function At(e,{worker:t,writer:r,onTaskFinished:s,transferStreams:n}){try{const{value:r,readable:s,writable:a}=e,i=[];if(r&&(e.value=r,i.push(e.value.buffer)),n&&xt?(s&&i.push(s),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch{xt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),s(),e}}let Tt=[];const Ut=[];let vt=0;async function Ct(e,t){const{options:r,config:s}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,signed:l,encrypted:d}=r,{workerURI:u,maxWorkers:p}=s;t.transferStreams=a||a===$;const f=!(c||l||d||t.transferStreams);return t.useWebWorkers=!f&&(i||i===$&&s.useWebWorkers),t.workerURI=t.useWebWorkers&&u?u:$,r.useCompressionStream=o||o===$&&s.useCompressionStream,(await(async()=>{const r=Tt.find(e=>!e.busy);if(r)return It(r),new Et(r,e,t,w);if(Tt.length<p){const r={indexWorker:vt};return vt++,Tt.push(r),new Et(r,e,t,w)}return new y(r=>Ut.push({resolve:r,stream:e,workerOptions:t}))})()).run();function w(e){if(Ut.length){const[{resolve:t,stream:r,workerOptions:s}]=Ut.splice(0,1);t(new Et(e,r,s,w))}else e.worker?(It(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:s}=r;n.isFinite(s)&&s>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{Tt=Tt.filter(t=>t!=e);try{await e.terminate()}catch{}},s))})(e,t)):Tt=Tt.filter(t=>t!=e)}}function It(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Nt="HTTP error ",Mt="HTTP Range not supported",Ot="Range",Wt="GET",Lt="bytes",Pt=65536,Zt="writable";class Ht{constructor(){this.size=0}init(){this.initialized=!0}}class Vt extends Ht{get readable(){const e=this,{chunkSize:t=Pt}=e,r=new R({start(){this.chunkOffset=0},async pull(s){const{offset:n=0,size:a,diskNumberStart:o}=r,{chunkOffset:c}=this,l=a===$?t:i.min(t,a-c),d=await pr(e,n+c,l,o);s.enqueue(d),c+t>a||a===$&&!d.length&&l?s.close():this.chunkOffset+=t}});return r}}class Bt extends Ht{constructor(){super();const e=this,t=new k({write(t){if(!e.initialized)throw new p("Writer not initialized");return e.writeUint8Array(t)}});r.defineProperty(e,Zt,{get:()=>t})}writeUint8Array(){}}class qt extends Vt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,s=e+t,n=e||s<r.size?r.blob.slice(e,s):r.blob;let a=await n.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,s)),new f(a)}}class Kt extends Ht{constructor(e){super();const t=new F,s=[];e&&s.push(["Content-Type",e]),r.defineProperty(this,Zt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:s}).blob()}getData(){return this.blob}}class jt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Xt(this,nr,er),super.init()}readUint8Array(e,t){return Jt(this,e,t,nr,er)}}class Yt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Xt(this,ar,tr),super.init()}readUint8Array(e,t){return Jt(this,e,t,ar,tr)}}function Gt(e,t,s){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=s;delete(s=r.assign({},s)).preventHeadRequest,delete s.useRangeHeader,delete s.forceRangeRequests,delete s.combineSizeEocd,delete s.useXHR,r.assign(e,{url:t,options:s,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Xt(e,t,r){const{url:s,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURI:t}=ie(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(s)&&(i||o)&&(void 0===a||a)){const s=await t(Wt,e,Qt(e,c?-22:void 0)),a=s.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==Lt))throw new p(Mt);{let a;c&&(e.eocdCache=new f(await s.arrayBuffer()));const i=s.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=n(t))}}a===$?await sr(e,t,r):e.size=a}}else await sr(e,t,r)}async function Jt(e,t,r,s,n){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-H&&r==H)return o;if(c>t){t+r>c&&(r=c-t);const n=await s(Wt,e,Qt(e,t,r));if(206!=n.status)throw new p(Mt);return new f(await n.arrayBuffer())}return new f}{const{data:s}=e;return s||await n(e,l),new f(e.data.subarray(t,t+r))}}function Qt(e,t=0,s=1){return r.assign({},$t(e),{[Ot]:Lt+"="+(0>t?t:t+"-"+(t+s-1))})}function $t({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function er(e){await rr(e,nr)}async function tr(e){await rr(e,ar)}async function rr(e,t){const r=await t(Wt,e,$t(e));e.data=new f(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function sr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const s=(await t("HEAD",e,$t(e))).headers.get("Content-Length");s?e.size=n(s):await r(e,e.options)}}async function nr(e,{options:t,url:s},n){const a=await fetch(s,r.assign({},t,{method:e,headers:n}));if(400>a.status)return a;throw 416==a.status?new p(Mt):new p(Nt+(a.statusText||a.status))}function ar(e,{url:t},s){return new y((n,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new p(Mt):new p(Nt+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new p("Network error")),!1),i.open(e,t),s)for(const e of r.entries(s))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ir extends Vt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Yt(e,t):new jt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class or extends Vt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.all(t.map(async(r,s)=>{await r.init(),s!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const s=this,{readers:n}=this;let a,o=r;-1==o&&(o=n.length-1);let c=e;for(;n[o]&&c>=n[o].size;)c-=n[o].size,o++;const l=n[o];if(l){const n=l.size;if(c+t>n){const i=n-c;a=new f(t);const o=await pr(l,c,i);a.set(o,0);const d=await s.readUint8Array(e+i,t-i,r);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await pr(l,c,t)}else a=new f;return s.lastDiskNumber=i.max(o,s.lastDiskNumber),a}}class cr extends Ht{constructor(e,t=4294967295){super();const s=this;let n,a,i;r.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new k({async write(t){const{availableSize:r}=s;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),s.diskOffset+=n.size,s.diskNumber++,i=null,await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new p("Writer iterator completed too soon");n=r,n.size=0,n.maxSize&&(s.maxSize=n.maxSize),s.availableSize=s.maxSize,await ur(n),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await l()}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),n.size+=t,s.size+=t,s.availableSize-=t)}async function l(){await i.close()}r.defineProperty(s,Zt,{get:()=>o})}}class lr{constructor(e){return t.isArray(e)&&(e=new or(e)),e instanceof R&&(e={readable:e}),e}}class dr{constructor(e){return e.writable===$&&typeof e.next==re&&(e=new cr(e)),e instanceof k&&(e={writable:e}),e.size===$&&(e.size=0),e instanceof cr||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:ee,maxSize:ee}),e}}async function ur(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function pr(e,t,r,s){return e.readUint8Array(t,r,s)}const fr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function wr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=fr[e[r]];return t}})(e):new z(t).decode(e)}const hr="filename",mr="rawFilename",gr="comment",yr="rawComment",br="uncompressedSize",zr="compressedSize",Sr="offset",xr="diskNumberStart",Er="lastModDate",Fr="rawLastModDate",Rr="lastAccessDate",kr="creationDate",Dr="rawCreationDate",_r="internalFileAttributes",Ar="externalFileAttributes",Tr="msdosAttributesRaw",Ur="msdosAttributes",vr="msDosCompatible",Cr="zip64",Ir="encrypted",Nr="version",Mr="versionMadeBy",Or="zipCrypto",Wr="directory",Lr="executable",Pr="compressionMethod",Zr="signature",Hr="extraField",Vr="unixMode",Br="setuid",qr="setgid",Kr="sticky",jr=[hr,mr,br,zr,Er,Fr,gr,yr,Rr,kr,Dr,Sr,xr,_r,Ar,Tr,Ur,vr,Cr,Ir,Nr,Mr,Or,Wr,Lr,Pr,Zr,Hr,"extraFieldUnix","extraFieldInfoZip","uid","gid",Vr,Br,qr,Kr,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Yr{constructor(e){jr.forEach(t=>this[t]=e[t])}}const Gr="password",Xr="rawPassword",Jr="passThrough",Qr="signal",$r="useWebWorkers",es="useCompressionStream",ts="transferStreams",rs="preventClose",ss="supportZip64SplitFile",ns="offset",as="usdz",is="File format is not recognized",os="End of central directory not found",cs="End of Zip64 central directory locator not found",ls="Central directory header not found",ds="Local file header not found",us="Zip64 extra field not found",ps="File contains encrypted entry",fs="Encryption method not supported",ws="Compression method not supported",hs="Split zip file",ms="Overlapping entry found",gs="utf-8",ys="cp437",bs=[[br,v],[zr,v],[Sr,v],[xr,C]],zs={[C]:{getValue:Cs,bytes:4},[v]:{getValue:Is,bytes:8}};class Ss{constructor(e,t={}){r.assign(this,{reader:new lr(e),options:t,config:ie(),readRanges:[]})}async*getEntriesGenerator(e={}){const t=this;let{reader:s}=t;const{config:n}=t;if(await ur(s),s.size!==$&&s.readUint8Array||(s=new qt(await new d(s.readable).blob()),await ur(s)),s.size<H)throw new p(is);s.chunkSize=oe(n);const a=await(async(e,t,r)=>{const s=new f(4);var n;return n=t,Ns(s).setUint32(0,n,!0),await a(22)||await a(i.min(1048582,r));async function a(t){const n=r-t,a=await pr(e,n,t);for(let e=a.length-22;e>=0;e--)if(a[e]==s[0]&&a[e+1]==s[1]&&a[e+2]==s[2]&&a[e+3]==s[3])return{offset:n+e,buffer:a.slice(e,e+22).buffer}}})(s,L,s.size);if(!a)throw Cs(Ns(await pr(s,0,4)))==M?new p(hs):new p(os);const o=Ns(a);let c=Cs(o,12),l=Cs(o,16);const u=a.offset,w=vs(o,20),h=u+H+w;let m=vs(o,4);const g=s.lastDiskNumber||0;let b=vs(o,6),z=vs(o,8),S=0,x=0;if(l==v||c==v||z==C||b==C){const e=Ns(await pr(s,a.offset-20,20));if(Cs(e,0)==Z){l=Is(e,8);let t=await pr(s,l,56,-1),r=Ns(t);const n=a.offset-20-56;if(Cs(r,0)!=P&&l!=n){const e=l;l=n,l>e&&(S=l-e),t=await pr(s,l,56,-1),r=Ns(t)}if(Cs(r,0)!=P)throw new p(cs);m==C&&(m=Cs(r,16)),b==C&&(b=Cs(r,20)),z==C&&(z=Is(r,32)),c==v&&(c=Is(r,40)),l-=c}}if(l<s.size||(S=s.size-l-c-H,l=s.size-c-H),g!=m)throw new p(hs);if(0>l)throw new p(is);let E=0,R=await pr(s,l,c,b),k=Ns(R);if(c){const e=a.offset-c;if(Cs(k,E)!=W&&l!=e){const t=l;l=e,l>t&&(S+=l-t),R=await pr(s,l,c,b),k=Ns(R)}}const D=a.offset-l-(s.lastDiskOffset||0);if(c==D||0>D||(c=D,R=await pr(s,l,c,b),k=Ns(R)),0>l||l>=s.size)throw new p(is);const _=_s(t,e,"filenameEncoding"),A=_s(t,e,"commentEncoding");for(let a=0;z>a;a++){const o=new xs(s,n,t.options);if(Cs(k,E)!=W)throw new p(ls);Es(o,k,E+6);const c=!!o.bitFlag.languageEncodingFlag,l=E+46,u=l+o.filenameLength,f=u+o.extraFieldLength,w=vs(k,E+4),h=!(w>>8),m=w>>8==3,g=R.subarray(l,u),b=vs(k,E+32),D=f+b,T=R.subarray(f,D),U=c,v=c,N=Cs(k,E+38),M=N&I,O={readOnly:!!(1&M),hidden:!!(2&M),system:!!(4&M),directory:!!(16&M),archive:!!(32&M)},L=Cs(k,E+42)+S,P=_s(t,e,"decodeText")||wr,Z=U?gs:_||ys,H=v?gs:A||ys;let V=P(g,Z);V===$&&(V=wr(g,Z));let B=P(T,H);B===$&&(B=wr(T,H)),r.assign(o,{versionMadeBy:w,msDosCompatible:h,compressedSize:0,uncompressedSize:0,commentLength:b,offset:L,diskNumberStart:vs(k,E+34),internalFileAttributes:vs(k,E+36),externalFileAttributes:N,msdosAttributesRaw:M,msdosAttributes:O,rawFilename:g,filenameUTF8:U,commentUTF8:v,rawExtraField:R.subarray(u,f),rawComment:T,filename:V,comment:B}),x=i.max(L,x),Fs(o,o,k,E+6);const X=o.externalFileAttributes>>16&C;o.unixMode===$&&16877&X&&(o.unixMode=X);const J=!!(o.unixMode&K),Q=!!(o.unixMode&j),ee=!!(o.unixMode&Y),te=o.unixMode!==$?!!(73&o.unixMode):m&&!!(73&X),re=o.unixMode!==$&&(61440&o.unixMode)==q,se=(61440&X)==q;r.assign(o,{setuid:J,setgid:Q,sticky:ee,unixExternalUpper:X,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:te,directory:re||se||h&&O.directory||V.endsWith(G)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ne=new Yr(o);ne.getData=(e,r)=>o.getData(e,ne,t.readRanges,r),ne.arrayBuffer=async e=>{const r=new F,[s]=await y.all([new d(r.readable).arrayBuffer(),o.getData(r,ne,t.readRanges,e)]);return s},E=D;const{onprogress:ae}=e;if(ae)try{await ae(a+1,z,new Yr(o))}catch{}yield ne}const T=_s(t,e,"extractPrependedData"),U=_s(t,e,"extractAppendedData");return T&&(t.prependedData=x>0?await pr(s,0,x):new f),t.comment=w?await pr(s,u+H,w):new f,U&&(t.appendedData=h<s.size?await pr(s,h,s.size-h):new f),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class xs{constructor(e,t,s){r.assign(this,{reader:e,config:t,options:s})}async getData(e,t,s,n={}){const a=this,{reader:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:u,config:w,bitFlag:h,signature:m,rawLastModDate:g,uncompressedSize:y,compressedSize:b}=a,{dataDescriptor:z}=h,S=t.localDirectory={},x=Ns(await pr(i,o,X,c));let E=_s(a,n,Gr),F=_s(a,n,Xr);const R=_s(a,n,Jr);if(E=E&&E.length&&E,F=F&&F.length&&F,l&&99!=l.originalCompressionMethod)throw new p(ws);if(0!=u&&8!=u&&9!=u&&!R)throw new p(ws);if(Cs(x,0)!=N)throw new p(ds);Es(S,x,4);const{extraFieldLength:D,filenameLength:_,lastAccessDate:A,creationDate:T}=S;S.rawExtraField=D?await pr(i,o+X+_,D,c):new f,Fs(a,S,x,4,!0),r.assign(t,{lastAccessDate:A,creationDate:T});const U=a.encrypted&&S.encrypted&&!R,v=U&&!l;if(R||(t.zipCrypto=v),U){if(!v&&l.strength===$)throw new p(fs);if(!E&&!F)throw new p(ps)}const C=o+X+_+D,M=b,W=i.readable;r.assign(W,{diskNumberStart:c,offset:C,size:M});const L=_s(a,n,Qr),P=_s(a,n,"checkPasswordOnly");let Z=_s(a,n,"checkOverlappingEntry");const H=_s(a,n,"checkOverlappingEntryOnly");H&&(Z=!0);const{onstart:V,onprogress:B,onend:q}=n,K=9==u;let j=_s(a,n,es);K&&(j=!1);const Y={options:{codecType:ht,password:E,rawPassword:F,zipCrypto:v,encryptionStrength:l&&l.strength,signed:_s(a,n,"checkSignature")&&!R,passwordVerification:v&&(z?g>>>8&I:m>>>24&I),outputSize:R?b:y,signature:m,compressed:0!=u&&!R,encrypted:a.encrypted&&!R,useWebWorkers:_s(a,n,$r),useCompressionStream:j,transferStreams:_s(a,n,ts),deflate64:K,checkPasswordOnly:P},config:w,streamOptions:{signal:L,size:M,onstart:V,onprogress:B,onend:q}};let G;Z&&await(async({reader:e,fileEntry:t,offset:r,diskNumberStart:s,signature:n,compressedSize:a,uncompressedSize:i,dataOffset:o,dataDescriptor:c,extraFieldZip64:l,readRanges:d})=>{let u=0;if(s)for(let t=0;s>t;t++)u+=e.readers[t].size;let f=0;if(c&&(f=l?20:12),f){const r=await pr(e,o+a,f+4,s);if(Cs(Ns(r),0)==O){const e=Cs(Ns(r),4);let s,o;l?(s=Is(Ns(r),8),o=Is(Ns(r),16)):(s=Cs(Ns(r),8),o=Cs(Ns(r),12)),(t.encrypted&&!t.zipCrypto||e==n)&&s==a&&o==i&&(f+=4)}}const w={start:u+r,end:u+o+a+f,fileEntry:t};for(const e of d)if(e.fileEntry!=t&&w.start>=e.start&&w.start<e.end){const t=new p(ms);throw t.overlappingEntry=e.fileEntry,t}d.push(w)})({reader:i,fileEntry:t,offset:o,diskNumberStart:c,signature:m,compressedSize:b,uncompressedSize:y,dataOffset:C,dataDescriptor:z||S.bitFlag.dataDescriptor,extraFieldZip64:d||S.extraFieldZip64,readRanges:s});try{if(!H){P&&(e=new k),e=new dr(e),await ur(e,R?b:y),({writable:G}=e);const{outputSize:t}=await Ct({readable:W,writable:G},Y);if(e.size+=t,t!=(R?b:y))throw new p(it)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!P||t.message!=xe)throw t}finally{_s(a,n,rs)||!G||G.locked||await G.getWriter().close()}return P||H?$:e.getData?e.getData():G}}function Es(e,t,s){const n=e.rawBitFlag=vs(t,s+2),a=!(1&~n),i=Cs(t,s+6);r.assign(e,{encrypted:a,version:vs(t,s),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&B)==B},rawLastModDate:i,lastModDate:As(i),filenameLength:vs(t,s+22),extraFieldLength:vs(t,s+24)})}function Fs(e,t,s,n,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Ns(new f(i));let u=0;try{for(;u<i.length;){const e=vs(d,u),t=vs(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch{}const w=vs(s,n+4);r.assign(t,{signature:Cs(s,n+10),compressedSize:Cs(s,n+14),uncompressedSize:Cs(s,n+18)});const h=l.get(1);h&&(((e,t)=>{t.zip64=!0;const r=Ns(e.data),s=bs.filter(([e,r])=>t[e]==r);for(let n=0,a=0;n<s.length;n++){const[i,o]=s[n];if(t[i]==o){const s=zs[o];t[i]=e[i]=s.getValue(r,a),a+=s.bytes}else if(e[i])throw new p(us)}})(h,t),t.extraFieldZip64=h);const m=l.get(28789);m&&(Rs(m,hr,mr,t,e),t.extraFieldUnicodePath=m);const g=l.get(25461);g&&(Rs(g,gr,yr,t,e),t.extraFieldUnicodeComment=g);const y=l.get(39169);y?(((e,t,s)=>{const n=Ns(e.data),a=Us(n,4);r.assign(e,{vendorVersion:Us(n,0),vendorId:Us(n,2),strength:a,originalCompressionMethod:s,compressionMethod:vs(n,5)}),t.compressionMethod=e.compressionMethod})(y,t,w),t.extraFieldAES=y):t.compressionMethod=w;const b=l.get(10);b&&(((e,t)=>{const s=Ns(e.data);let n,a=4;try{for(;a<e.data.length&&!n;){const t=vs(s,a),r=vs(s,a+2);1==t&&(n=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}try{if(n&&24==n.length){const s=Ns(n),a=s.getBigUint64(0,!0),i=s.getBigUint64(8,!0),o=s.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:Ts(a),lastAccessDate:Ts(i),creationDate:Ts(o)};r.assign(e,c),r.assign(t,c)}}catch{}})(b,t),t.extraFieldNTFS=b);const z=l.get(30805);if(z)ks(z,t,!1),t.extraFieldUnix=z;else{const e=l.get(30837);e&&(ks(e,t,!0),t.extraFieldInfoZip=e)}const S=l.get(V);S&&(((e,t,r)=>{const s=Ns(e.data),n=Us(s,0),a=[],i=[];r?(1&~n||(a.push(Er),i.push(Fr)),2&~n||(a.push(Rr),i.push("rawLastAccessDate")),4&~n||(a.push(kr),i.push(Dr))):5>e.data.length||(a.push(Er),i.push(Fr));let c=1;a.forEach((r,n)=>{if(e.data.length>=c+4){const a=Cs(s,c);t[r]=e[r]=new o(1e3*a);const l=i[n];e[l]=a}c+=4})})(S,t,a),t.extraFieldExtendedTimestamp=S);const x=l.get(6534);x&&(t.extraFieldUSDZ=x)}function Rs(e,t,s,n,a){const i=Ns(e.data),o=new ue;o.append(a[s]);const c=Ns(new f(4));c.setUint32(0,o.get(),!0);const l=Cs(i,1);r.assign(e,{version:Us(i,0),[t]:wr(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Cs(c,0)}),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function ks(e,t,s){try{const n=Ns(new f(e.data));let a=0;const i=Us(n,a++),o=Us(n,a++),c=e.data.subarray(a,a+o);a+=o;const l=Ds(c),d=Us(n,a++),u=e.data.subarray(a,a+d);a+=d;const p=Ds(u);let w=$;if(!s&&a+2<=e.data.length){const t=e.data;w=new m(t.buffer,t.byteOffset+a,2).getUint16(0,!0)}r.assign(e,{version:i,uid:l,gid:p,unixMode:w}),l!==$&&(t.uid=l),p!==$&&(t.gid=p),w!==$&&(t.unixMode=w)}catch{}}function Ds(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function _s(e,t,r){return t[r]===$?e.options[r]:t[r]}function As(e){const t=(4294901760&e)>>16,r=e&C;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch{}}function Ts(e){return new o(n(e/a(1e4)-a(116444736e5)))}function Us(e,t){return e.getUint8(t)}function vs(e,t){return e.getUint16(t,!0)}function Cs(e,t){return e.getUint32(t,!0)}function Is(e,t){return n(e.getBigUint64(t,!0))}function Ns(e){return new m(e.buffer)}const Ms="File already exists",Os="Zip file comment exceeds 64KB",Ws="File entry comment exceeds 64KB",Ls="File entry name exceeds 64KB",Ps="Version exceeds 65535",Zs="The strength must equal 1, 2, or 3",Hs="Extra field type exceeds 65535",Vs="Extra field data exceeds 64KB",Bs="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",qs="Undefined uncompressed size",Ks="Zip file not empty",js=new f([7,0,2,0,65,69,3,0,0]),Ys="infozip",Gs="unix";let Xs=0;const Js=[];class Qs{constructor(e,t={}){const s=(e=new dr(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==ee&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==ee;r.assign(this,{writer:e,addSplitZipSignature:s,options:t,config:ie(),files:new c,filenames:new l,offset:t[ns]===$?e.size||e.writable.size||0:t[ns],pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new p(Ks);e=new lr(e);const t=new Ss(e.readable),s=await t.getEntries();await t.close(),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,compressionMethod:s,lastModDate:n,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:p,diskNumber:w,zip64:h}=e;let{rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraFieldUnix:z,rawExtraField:S}=e;const{level:x,languageEncodingFlag:E,dataDescriptor:F}=c;m=m||new f,g=g||new f,y=y||new f,b=b||new f,z=e.rawExtraFieldUnix||new f,S=S||new f;const R=pn(m,g,y,b,z,S),k=h&&d>v,D=h&&u>v,{headerArray:_,headerView:A}=fn({version:t,bitFlag:wn(x,E,F,l,s),compressionMethod:s,uncompressedSize:d,compressedSize:u,lastModDate:n,rawFilename:o,zip64CompressedSize:D,zip64UncompressedSize:k,extraFieldLength:R});return r.assign(e,{zip64UncompressedSize:k,zip64CompressedSize:D,zip64Offset:h&&this.offset-p>v,zip64DiskNumberStart:h&&w>C,rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraFieldUnix:z,rawExtraField:S,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:_,headerView:A}),[e.filename,e]}))}async add(e="",s,n={}){const c=this,{pendingAddFileCalls:l,config:d}=c;let u;Xs<d.maxWorkers?Xs++:await new y(e=>Js.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new p(Ms);return c.filenames.add(e),u=(async(e,s,n,c)=>{s=s.trim();let l=sn(e,c,vr),d=sn(e,c,Mr,l?20:768);const u=sn(e,c,Lr),h=sn(e,c,"uid"),g=sn(e,c,"gid");let b=sn(e,c,Vr);const z=sn(e,c,"unixExtraFieldType");let S=sn(e,c,Br),x=sn(e,c,qr),E=sn(e,c,Kr);if(h!==$&&(0>h||h>v))throw new p("Invalid uid (must be integer 0..2^32-1)");if(g!==$&&(0>g||g>v))throw new p("Invalid gid (must be integer 0..2^32-1)");if(b!==$&&(0>b||b>C))throw new p("Invalid UNIX mode (must be integer 0..65535)");if(z!==$&&z!==Ys&&z!==Gs)throw new p("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");let R=sn(e,c,Tr),k=sn(e,c,Ur);const D=R!==$||k!==$;if(h!==$||g!==$||b!==$||z?(l=!1,d=d&C|768):D&&(l=!0,d&=I),R!==$&&(0>R||R>I))throw new p("Invalid msdosAttributesRaw (must be integer 0..255)");if(k&&"object"!=typeof k)throw new p("Invalid msdosAttributes (must be an object with boolean flags)");if(d>C)throw new p(Ps);let _=sn(e,c,Ar,0);!c[Wr]&&s.endsWith(G)&&(c[Wr]=!0);const A=sn(e,c,Wr);let T;A?(s.endsWith(G)||(s+=G),0===_&&(_=16,l||(_|=16877<<16))):l||0!==_||(_=u?493<<16:27525120),l||(T=_>>16&C,b=b===$?T:b&C,S?b|=K:S=!!(b&K),x?b|=j:x=!!(b&j),E?b|=Y:E=!!(b&Y),A&&(b|=q),_=(b&C)<<16|_&I),({msdosAttributesRaw:R,msdosAttributes:k}=((e,t)=>{if(e!==$)e&=I;else if(t!==$){const{readOnly:r,hidden:s,system:n,directory:a,archive:i}=t;let o=0;r&&(o|=1),s&&(o|=2),n&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&I}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(R,k)),D&&(_=_&v|R&I);const U=sn(e,c,"encodeText",fe);let W=U(s);if(W===$&&(W=fe(s)),pn(W)>C)throw new p(Ls);const L=c[gr]||"";let P=U(L);if(P===$&&(P=fe(L)),pn(P)>C)throw new p(Ws);const Z=sn(e,c,Nr,20);if(Z>C)throw new p(Ps);const H=sn(e,c,Er,new o),B=sn(e,c,Rr),te=sn(e,c,kr),re=sn(e,c,_r,0),se=sn(e,c,Jr);let ne,ae;se||(ne=sn(e,c,Gr),ae=sn(e,c,Xr));const ie=sn(e,c,"encryptionStrength",3),ce=sn(e,c,Or),le=sn(e,c,"extendedTimestamp",!0),de=sn(e,c,"keepOrder",!0),ue=sn(e,c,$r),pe=sn(e,c,ts,!0),we=sn(e,c,"bufferedWrite"),he=sn(e,c,"createTempStream"),me=sn(e,c,"dataDescriptorSignature",!1),ge=sn(e,c,Qr),ye=sn(e,c,"useUnicodeFileNames",!0),be=sn(e,c,Pr);let ze=sn(e,c,"level"),Se=sn(e,c,es),xe=sn(e,c,"dataDescriptor");we&&xe===$&&(xe=!1),(xe===$||ce)&&(xe=!0),ze!==$&&6!=ze&&(Se=!1),Se||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(ze=0);let Ee=sn(e,c,Cr);if(!ce&&(ne!==$||ae!==$)&&(1>ie||ie>3))throw new p(Zs);let Fe=new f;const Re=c[Hr];if(Re){let e=0,t=0;Re.forEach(t=>e+=4+pn(t)),Fe=new f(e),Re.forEach((e,r)=>{if(r>C)throw new p(Hs);if(pn(e)>C)throw new p(Vs);dn(Fe,new w([r]),t),dn(Fe,new w([pn(e)]),t+2),dn(Fe,e,t+4),t+=4+pn(e)})}let ke=0,De=0,_e=0;if(se&&(_e=c[br],_e===$))throw new p(qs);const Ae=!0===Ee;n&&(n=new lr(n),await ur(n),se?(c.uncompressedSize=_e,ke=nn(_e)):n.size===$?(xe=!0,(Ee||Ee===$)&&(Ee=!0,_e=ke=4294967296)):(c.uncompressedSize=_e=n.size,ke=nn(_e)));const{diskOffset:Te,diskNumber:Ue,maxSize:ve}=e.writer,Ce=Ae||_e>v,Ie=Ae||ke>v,Ne=Ae||e.offset+e.pendingEntriesSize-Te>v,Me=sn(e,c,ss,!0)&&Ae||Ue+i.ceil(e.pendingEntriesSize/ve)>C;if(Ne||Ce||Ie||Me){if(!1===Ee||!de)throw new p(Bs);Ee=!0}Ee=Ee||!1;const Oe=sn(e,c,Ir),We=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:s,creationDate:n,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:p,rawExtraField:w,encryptionStrength:h,extendedTimestamp:g,passThrough:y,encrypted:b,zip64UncompressedSize:z,zip64CompressedSize:S,zip64Offset:x,zip64DiskNumberStart:E,uncompressedSize:F,offset:R,diskNumberStart:k}=e;let{version:D,compressionMethod:_}=e;const A=!p&&(o>0||o===$&&0!==_);let T,U;const v=y||!A,I=c&&(e.bufferedWrite||!z&&!S||v);if(c){let e=4,t=4;z&&(e+=8,t+=8),S&&(e+=8,t+=8),x&&(e+=8),E&&(e+=4),T=new f(e);const r=un(T);U=new f(t);const s=un(U);if(on(r,0,1),on(r,2,pn(T)-4),on(s,0,1),on(s,2,pn(U)-4),I){const e=un(T),t=un(U);let r=4,s=4;z&&(ln(e,r,a(F)),r+=8,ln(t,s,a(F)),s+=8),S&&v&&(ln(e,r,a(F)),r+=8,ln(t,s,a(F)),s+=8),x&&(ln(e,r,a(R)),r+=8),E&&(cn(e,r,k),r+=4),4==s&&(U=new f)}}else T=new f,U=new f;let M,O,W,L,P;if(b&&!l){M=new f(pn(js)+2);const e=un(M);on(e,0,39169),dn(M,js,2),an(e,8,h)}else M=new f;if(g){W=new f(9+(s?4:0)+(n?4:0));const e=un(W);on(e,0,V),on(e,2,pn(W)-4),L=1+(s?2:0)+(n?4:0),an(e,4,L);let t=5;cn(e,t,i.floor(r.getTime()/1e3)),t+=4,s&&(cn(e,t,i.floor(s.getTime()/1e3)),t+=4),n&&cn(e,t,i.floor(n.getTime()/1e3));try{O=new f(36);const e=un(O),t=rn(r);on(e,0,10),on(e,2,32),on(e,8,1),on(e,10,24),ln(e,12,t),ln(e,20,rn(s)||t),ln(e,28,rn(n)||t)}catch{O=new f}}else O=W=new f;try{const{uid:t,gid:r,unixMode:s,setuid:n,setgid:a,sticky:i,unixExtraFieldType:o}=e;if(!o||t===$&&r===$&&s===$)P=new f;else{const e=$s(t),c=$s(r);let l=new f;if(o==Gs&&s!==$){let e=s&C;n&&(e|=K),a&&(e|=j),i&&(e|=Y),l=new f(2),new m(l.buffer).setUint16(0,e,!0)}const d=3+e.length+c.length+l.length;P=new f(4+d);const u=un(P);on(u,0,o==Ys?30837:30805),on(u,2,d),an(u,4,1),an(u,5,e.length);let p=6;dn(P,e,p),p+=e.length,an(u,p,c.length),p++,dn(P,c,p),p+=c.length,dn(P,l,p)}}catch{P=new f}_===$&&(_=A?8:0),c&&(D=D>45?D:45),b&&!l&&(D=D>51?D:51,M[9]=_,_=99);const Z=I?pn(U):0,H=Z+pn(M,W,O,P,w),{headerArray:B,headerView:q,rawLastModDate:G}=fn({version:D,bitFlag:wn(o,d,u,b,_),compressionMethod:_,uncompressedSize:F,lastModDate:Q>r?Q:r>J?J:r,rawFilename:t,zip64CompressedSize:S,zip64UncompressedSize:z,extraFieldLength:H});let ee=X;const te=new f(ee+pn(t)+H),re=un(te);return cn(re,0,N),dn(te,B,4),dn(te,t,ee),ee+=pn(t),I&&dn(te,U,ee),ee+=Z,dn(te,M,ee),ee+=pn(M),dn(te,W,ee),ee+=pn(W),dn(te,O,ee),ee+=pn(O),dn(te,P,ee),ee+=pn(P),dn(te,w,ee),u&&(cn(re,18,0),cn(re,22,0)),{localHeaderArray:te,localHeaderView:re,headerArray:B,headerView:q,lastModDate:r,rawLastModDate:G,encrypted:b,compressed:A,version:D,compressionMethod:_,extraFieldExtendedTimestampFlag:L,rawExtraFieldZip64:T,localExtraFieldZip64Length:Z,rawExtraFieldExtendedTimestamp:W,rawExtraFieldNTFS:O,rawExtraFieldUnix:P,rawExtraFieldAES:M,extraFieldLength:H}})(c=r.assign({},c,{rawFilename:W,rawComment:P,version:Z,versionMadeBy:d,lastModDate:H,lastAccessDate:B,creationDate:te,rawExtraField:Fe,zip64:Ee,zip64UncompressedSize:Ce,zip64CompressedSize:Ie,zip64Offset:Ne,zip64DiskNumberStart:Me,password:ne,rawPassword:ae,level:ze,useWebWorkers:ue,transferStreams:pe,encryptionStrength:ie,extendedTimestamp:le,zipCrypto:ce,bufferedWrite:we,createTempStream:he,keepOrder:de,useUnicodeFileNames:ye,dataDescriptor:xe,dataDescriptorSignature:me,signal:ge,msDosCompatible:l,internalFileAttribute:re,internalFileAttributes:re,externalFileAttribute:_,externalFileAttributes:_,useCompressionStream:Se,passThrough:se,encrypted:!!(ne&&pn(ne)||ae&&pn(ae))||se&&Oe,signature:c[Zr],compressionMethod:be,uncompressedSize:_e,offset:e.offset-Te,diskNumberStart:Ue,uid:h,gid:g,setuid:S,setgid:x,sticky:E,unixMode:b,msdosAttributesRaw:R,msdosAttributes:k,unixExternalUpper:T})),Le=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let s,n=new f,a=0,i=e?20:12;return r&&(i+=4),t&&(n=new f(i),s=un(n),r&&(a=4,cn(s,0,O))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:a}})(c),Pe=pn(We.localHeaderArray,Le.dataDescriptorArray);let Ze;De=Pe+ke,e.options[as]&&(De+=De+64),e.pendingEntriesSize+=De;try{Ze=await(async(e,s,n,i,o)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:w}=o,{headerInfo:h}=i,m=e.options[as],g=t.from(c.values()).pop();let b,z,S,x,E,R,k={};c.set(s,k);try{let t;d&&(t=g&&g.lock,k.lock=new y(e=>S=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&d)&&u||m?(R=l,await D()):(R=o.createTempStream?await o.createTempStream():new F($,$,{highWaterMark:ee}),R.size=0,b=!0,e.bufferedWrites++,await ur(l)),await ur(R);const{writable:z,diskOffset:A}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new f(4);cn(un(t),0,M),await tn(l,t),e.offset+=4}m&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:s,extraFieldLength:n}=r,a=un(s),i=64-(t+pn(s))%64;4>i&&(i+=64);const o=new f(i),c=un(o);on(c,0,6534),on(c,2,i-2);const l=s;r.localHeaderArray=s=new f(pn(l)+i),dn(s,l),dn(s,o,pn(l)),a=un(s),on(a,28,n+i),e.metadataSize+=i})(i,e.offset-A);const{localHeaderView:T,localHeaderArray:U}=h;b||(await t,await _(z));const{diskNumber:C}=l;k.diskNumberStart=C,b||(E=!0,await tn(R,U)),k=await(async(e,t,{diskNumberStart:s,lock:n},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:p,headerView:f,lastModDate:w,rawLastModDate:h,encrypted:m,compressed:g,version:y,compressionMethod:b,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:x,extraFieldExtendedTimestampFlag:E,rawExtraFieldNTFS:F,rawExtraFieldUnix:R,rawExtraFieldAES:k}=l,{dataDescriptorArray:D}=d,{rawFilename:_,lastAccessDate:A,creationDate:T,password:U,rawPassword:v,level:C,zip64:N,zip64UncompressedSize:M,zip64CompressedSize:O,zip64Offset:W,zip64DiskNumberStart:L,zipCrypto:P,dataDescriptor:Z,directory:H,executable:V,versionMadeBy:B,rawComment:q,rawExtraField:K,useWebWorkers:j,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:se,externalFileAttributes:ne,uid:ae,gid:ie,unixMode:ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:pe,msdosAttributesRaw:fe,msdosAttributes:we,useCompressionStream:he,passThrough:me}=c,ge={lock:n,versionMadeBy:B,zip64:N,directory:!!H,executable:!!V,filenameUTF8:!0,rawFilename:_,commentUTF8:!0,rawComment:q,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:x,rawExtraFieldNTFS:F,rawExtraFieldUnix:R,rawExtraFieldAES:k,rawExtraField:K,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:se,externalFileAttributes:ne,diskNumberStart:s,uid:ae,gid:ie,unixMode:ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:pe,msdosAttributesRaw:fe,msdosAttributes:we};let{signature:ye,uncompressedSize:be}=c,ze=0;me||(be=0);const{writable:Se}=t;if(e){e.chunkSize=oe(o);const r=e.readable,s=e.size,n={options:{codecType:wt,level:C,rawPassword:v,password:U,encryptionStrength:ee,zipCrypto:m&&P,passwordVerification:m&&P&&h>>8&I,signed:!me,compressed:g&&!me,encrypted:m&&!me,useWebWorkers:j,useCompressionStream:he,transferStreams:Y},config:o,streamOptions:{signal:Q,size:s,onstart:G,onprogress:X,onend:J}};try{const e=await Ct({readable:r,writable:Se},n);ze=e.outputSize,t.size+=ze,me||(be=e.inputSize,ye=e.signature)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:n},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=s,{dataDescriptorView:u,dataDescriptorOffset:p}=n;d&&!o||e===$||(cn(l,10,e),c&&cn(u,p,e)),i?c&&(ln(u,p+4,a(t)),ln(u,p+12,a(r))):(cn(l,14,t),cn(l,18,r),c&&(cn(u,p+4,t),cn(u,p+8,r)))})({signature:ye,compressedSize:ze,uncompressedSize:be,headerInfo:l,dataDescriptorInfo:d},c),Z&&await tn(t,D),r.assign(ge,{uncompressedSize:be,compressedSize:ze,lastModDate:w,rawLastModDate:h,creationDate:T,lastAccessDate:A,encrypted:m,zipCrypto:P,size:u+ze,compressionMethod:b,version:y,headerArray:p,headerView:f,signature:ye,extraFieldExtendedTimestampFlag:E,zip64UncompressedSize:M,zip64CompressedSize:O,zip64Offset:W,zip64DiskNumberStart:L}),ge})(n,R,k,i,e.config,o);const{zip64:N}=k;if(b||(E=!1),c.set(s,k),k.filename=s,b?(await y.all([R.writable.getWriter().close(),t]),await D(),x=!0,k.diskNumberStart=l.diskNumber,k.offset=e.offset-l.diskOffset,N&&en(k),(({rawFilename:e,encrypted:t,zip64:r,localExtraFieldZip64Length:s,signature:n,compressedSize:i,uncompressedSize:o,zip64UncompressedSize:c,zip64CompressedSize:l},d,{dataDescriptor:u})=>{if(u||(t||cn(d,14,n),l||cn(d,18,i),c||cn(d,22,o)),r&&s){let t=X+pn(e)+4;c&&(ln(d,t,a(o)),t+=8),l&&(ln(d,t,a(i)),t+=8)}})(k,T,o),await _(z),await tn(l,U),await R.readable.pipeTo(z,{preventClose:!0,preventAbort:!0,signal:w}),l.size+=R.size,x=!1):(k.offset=e.offset-A,N&&en(k)),k.offset>v&&!N)throw new p(Bs);return e.offset+=k.size,k}catch(t){if(x||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}b?e.offset+=R.size:e.offset=R.size}throw c.delete(s),t}finally{b&&e.bufferedWrites--,S&&S(),z&&z()}async function D(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>z=()=>{e.writerLocked=!1,t()}),await t}async function _(e){pn(h.localHeaderArray)>l.availableSize&&(l.availableSize=0,await tn(e,new f))}})(e,s,n,{headerInfo:We,dataDescriptorInfo:Le,metadataSize:Pe},c)}finally{e.pendingEntriesSize-=De}return r.assign(Ze,{name:s,comment:L,extraField:Re}),new Yr(Ze)})(c,e,s,n),l.add(u),await u}catch(t){throw c.filenames.delete(e),t}finally{l.delete(u);const e=Js.shift();e?e():Xs--}}remove(e){const{filenames:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==$){const{filename:s}=e;if(t.has(s)&&r.has(s))return t.delete(s),r.delete(s),!0}return!1}async close(e=new f,r={}){const{pendingAddFileCalls:s,writer:n}=this,{writable:o}=n;for(;s.size;)await y.allSettled(t.from(s));return await(async(e,r,s)=>{const{files:n,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,w=e.offset-c,h=n.size;for(const[,e]of n){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:s,rawComment:n,rawExtraFieldNTFS:a,rawExtraFieldUnix:o,rawExtraField:c,extendedTimestamp:l,extraFieldExtendedTimestampFlag:d,lastModDate:p}=e;let w;if(l){w=new f(9);const e=un(w);on(e,0,V),on(e,2,5),an(e,4,d),cn(e,5,i.floor(p.getTime()/1e3))}else w=new f;e.rawExtraFieldExtendedTimestamp=w,u+=46+pn(t,n,r,s,a,o,w,c)}const m=new f(u),g=un(m);await ur(o);let y=0;for(const[e,r]of t.from(n.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraFieldUnix:p,rawExtraField:f,rawComment:w,versionMadeBy:h,headerArray:b,headerView:z,zip64:S,zip64UncompressedSize:x,zip64CompressedSize:E,zip64DiskNumberStart:F,zip64Offset:R,internalFileAttributes:k,externalFileAttributes:D,diskNumberStart:_,uncompressedSize:A,compressedSize:T}=r,U=pn(i,c,l,u,p,f);cn(g,d,W),on(g,d+4,h),x||cn(z,18,A),E||cn(z,14,T),dn(m,b,d+6);let I=d+X;if(on(g,I,U),I+=2,on(g,I,pn(w)),I+=2,on(g,I,S&&F?C:_),I+=2,on(g,I,k),I+=2,D&&cn(g,I,D),I+=4,cn(g,I,S&&R?v:t),I+=4,dn(m,a,I),I+=pn(a),dn(m,i,I),I+=pn(i),dn(m,c,I),I+=pn(c),dn(m,l,I),I+=pn(l),dn(m,u,I),I+=pn(u),dn(m,p,I),I+=pn(p),dn(m,f,I),I+=pn(f),dn(m,w,I),I+=pn(w),d-y>o.availableSize&&(o.availableSize=0,await tn(o,m.slice(y,d)),y=d),d=I,s.onprogress)try{await s.onprogress(e+1,n.size,new Yr(r))}catch{}}await tn(o,y?m.slice(y):m);let b=o.diskNumber;const{availableSize:z}=o;H>z&&b++;let S=sn(e,s,Cr);if(w>v||u>v||h>C||b>C){if(!1===S)throw new p(Bs);S=!0}const x=new f(S?98:H),E=un(x);d=0,S&&(cn(E,0,P),ln(E,4,a(44)),on(E,12,45),on(E,14,45),cn(E,16,b),cn(E,20,l),ln(E,24,a(h)),ln(E,32,a(h)),ln(E,40,a(u)),ln(E,48,a(w)),cn(E,56,Z),ln(E,64,a(w)+a(u)),cn(E,72,b+1),sn(e,s,ss,!0)&&(b=C,l=C),h=C,w=v,u=v,d+=76),cn(E,d,L),on(E,d+4,b),on(E,d+6,l),on(E,d+8,h),on(E,d+10,h),cn(E,d+12,u),cn(E,d+16,w);const F=pn(r);if(F){if(F>C)throw new p(Os);on(E,d+20,F)}await tn(o,x),F&&await tn(o,r)})(this,e,r),sn(this,r,rs)||await o.getWriter().close(),n.getData?n.getData():o}}function $s(e){if(e===$)return new f;{const t=new f(4);un(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function en({compressedSize:e,uncompressedSize:t,offset:r,diskNumberStart:s,zip64UncompressedSize:n,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=un(l);let u=4;n&&(ln(d,u,a(t)),u+=8),i&&(ln(d,u,a(e)),u+=8),o&&(ln(d,u,a(r)),u+=8),c&&cn(d,u,s)}async function tn(e,t){const{writable:r}=e,s=r.getWriter();try{await s.ready,e.size+=pn(t),await s.write(t)}finally{s.releaseLock()}}function rn(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function sn(e,t,r,s){const n=t[r]===$?e.options[r]:t[r];return n===$?s:n}function nn(e){return e+5*(i.floor(e/16383)+1)}function an(e,t,r){e.setUint8(t,r)}function on(e,t,r){e.setUint16(t,r,!0)}function cn(e,t,r){e.setUint32(t,r,!0)}function ln(e,t,r){e.setBigUint64(t,r,!0)}function dn(e,t,r){e.set(t,r)}function un(e){return new m(e.buffer)}function pn(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function fn({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:s,compressedSize:n,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new f(26),u=un(d);on(u,0,e),on(u,2,t),on(u,4,r);const p=new h(1),w=un(p);on(w,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),on(w,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const m=p[0];return cn(u,6,m),(o||n!==$)&&cn(u,14,o?v:n),(c||s!==$)&&cn(u,18,c?v:s),on(u,22,pn(i)),on(u,24,l),{headerArray:d,headerView:u,rawLastModDate:m}}function wn(e,t,r,s,n){let a=0;return t&&(a|=B),r&&(a|=8),8!=n&&9!=n||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),s&&(a|=1),a}try{ce({baseURI:void 0===S&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===S?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new u("zip-core.min.js",S.baseURI).href})}catch{}e.BlobReader=qt,e.BlobWriter=Kt,e.Data64URIReader=class extends Vt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const s=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:s,size:i.floor(.75*(t-s))})}readUint8Array(e,t){const{dataStart:r,dataURI:s}=this,n=new f(t),a=4*i.floor(e/3),o=atob(s.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)n[e-c]=o.charCodeAt(e),l++;return l<n.length?n.subarray(0,l):n}},e.Data64URIWriter=class extends Bt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,n=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)n+=s.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=s.fromCharCode(e[r]);n.length&&(n.length>2?t.data+=E(n):t.pending+=n)}getData(){return this.data+E(this.pending)}},e.ERR_BAD_FORMAT=is,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ls,e.ERR_DUPLICATED_NAME=Ms,e.ERR_ENCRYPTED=ps,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=cs,e.ERR_EOCDR_NOT_FOUND=os,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=us,e.ERR_HTTP_RANGE=Mt,e.ERR_INVALID_COMMENT=Os,e.ERR_INVALID_ENCRYPTION_STRENGTH=Zs,e.ERR_INVALID_ENTRY_COMMENT=Ws,e.ERR_INVALID_ENTRY_NAME=Ls,e.ERR_INVALID_EXTRAFIELD_DATA=Vs,e.ERR_INVALID_EXTRAFIELD_TYPE=Hs,e.ERR_INVALID_PASSWORD=ze,e.ERR_INVALID_SIGNATURE=Se,e.ERR_INVALID_UNCOMPRESSED_SIZE=it,e.ERR_INVALID_VERSION=Ps,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ds,e.ERR_OVERLAPPING_ENTRY=ms,e.ERR_SPLIT_ZIP_FILE=hs,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=qs,e.ERR_UNSUPPORTED_COMPRESSION=ws,e.ERR_UNSUPPORTED_ENCRYPTION=fs,e.ERR_UNSUPPORTED_FORMAT=Bs,e.ERR_ZIP_NOT_EMPTY=Ks,e.HttpRangeReader=class extends ir{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=ir,e.Reader=Vt,e.SplitDataReader=or,e.SplitDataWriter=cr,e.TextReader=class extends qt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends Kt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,s=await super.getData();if(s.text&&t)return s.text();{const t=new FileReader;return new y((n,a)=>{r.assign(t,{onload:({target:e})=>n(e.result),onerror:()=>a(t.error)}),t.readAsText(s,e)})}}},e.Uint8ArrayReader=class extends Vt{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Bt{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const s=t.array;t.array=new f(e),t.array.set(s)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=Bt,e.ZipReader=Ss,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:r}=new F,s=new Ss(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const n={...r,readable:(()=>{const{readable:e,writable:t}=new F;if(r.getData)return r.getData(t),e})()};delete n.getData,e.enqueue(n)}}),this.writable=r}},e.ZipWriter=Qs,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new F;this.readable=t,this.zipWriter=new Qs(r,e)}transform(e){const{readable:t,writable:r}=new F({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new F;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=ce,e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await y.allSettled(Tt.map(e=>(It(e),e.terminate())))}});

@@ -246,19 +246,4 @@ /*

function watchClosedStream(writableSource) {
let resolveStreamClosed;
const closed = new Promise(resolve => resolveStreamClosed = resolve);
const writable = new WritableStream({
async write(chunk) {
const writer = writableSource.getWriter();
await writer.ready;
await writer.write(chunk);
writer.releaseLock();
},
close() {
resolveStreamClosed();
},
abort(reason) {
const writer = writableSource.getWriter();
return writer.abort(reason);
}
});
const { writable, readable } = new TransformStream();
const closed = readable.pipeTo(writableSource, { preventClose: true });
return { writable, closed };

@@ -265,0 +250,0 @@ }

@@ -143,2 +143,3 @@ /*

OPTION_USE_COMPRESSION_STREAM,
OPTION_TRANSFER_STREAMS,
OPTION_PREVENT_CLOSE,

@@ -150,2 +151,3 @@ OPTION_ENCRYPTION_STRENGTH,

OPTION_BUFFERED_WRITE,
OPTION_CREATE_TEMP_STREAM,
OPTION_DATA_DESCRIPTOR_SIGNATURE,

@@ -529,3 +531,5 @@ OPTION_USE_UNICODE_FILE_NAMES,

const useWebWorkers = getOptionValue(zipWriter, options, OPTION_USE_WEB_WORKERS);
const transferStreams = getOptionValue(zipWriter, options, OPTION_TRANSFER_STREAMS, true);
const bufferedWrite = getOptionValue(zipWriter, options, OPTION_BUFFERED_WRITE);
const createTempStream = getOptionValue(zipWriter, options, OPTION_CREATE_TEMP_STREAM);
const dataDescriptorSignature = getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR_SIGNATURE, false);

@@ -636,2 +640,3 @@ const signal = getOptionValue(zipWriter, options, OPTION_SIGNAL);

useWebWorkers,
transferStreams,
encryptionStrength,

@@ -641,2 +646,3 @@ extendedTimestamp,

bufferedWrite,
createTempStream,
keepOrder,

@@ -718,3 +724,7 @@ useUnicodeFileNames,

if ((options.bufferedWrite || zipWriter.writerLocked || (zipWriter.bufferedWrites && keepOrder) || !dataDescriptor) && !usdz) {
fileWriter = new TransformStream(UNDEFINED_VALUE, UNDEFINED_VALUE, { highWaterMark: INFINITY_VALUE });
if (options.createTempStream) {
fileWriter = await options.createTempStream();
} else {
fileWriter = new TransformStream(UNDEFINED_VALUE, UNDEFINED_VALUE, { highWaterMark: INFINITY_VALUE });
}
fileWriter.size = 0;

@@ -884,2 +894,3 @@ bufferedWrite = true;

useWebWorkers,
transferStreams,
onstart,

@@ -965,3 +976,3 @@ onprogress,

useCompressionStream,
transferStreams: false
transferStreams
},

@@ -968,0 +979,0 @@ config,

@@ -6,3 +6,3 @@ {

"license": "BSD-3-Clause",
"version": "2.8.19",
"version": "2.8.20",
"type": "module",

@@ -9,0 +9,0 @@ "keywords": [

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display