@zip.js/zip.js 2.8.41 → 2.8.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +37 -0
  2. package/deno.json +6 -2
  3. package/dist/README.md +10 -1
  4. package/dist/zip-core-external.js +8261 -0
  5. package/dist/zip-core-external.min.js +1 -0
  6. package/dist/zip-core.js +144 -11
  7. package/dist/zip-core.min.js +1 -1
  8. package/dist/zip-fs-core-external.js +9277 -0
  9. package/dist/zip-fs-core-external.min.js +1 -0
  10. package/dist/zip-fs-core.js +144 -11
  11. package/dist/zip-fs-core.min.js +1 -1
  12. package/dist/zip-fs-external.js +10914 -0
  13. package/dist/zip-fs-external.min.js +1 -0
  14. package/dist/zip-fs-native.js +146 -13
  15. package/dist/zip-fs-native.min.js +1 -1
  16. package/dist/zip-fs.js +220 -32
  17. package/dist/zip-fs.min.js +1 -1
  18. package/dist/zip-legacy.js +146 -13
  19. package/dist/zip-legacy.min.js +1 -1
  20. package/dist/zip-native.js +146 -13
  21. package/dist/zip-native.min.js +1 -1
  22. package/dist/zip-web-worker-native.js +1 -1
  23. package/dist/zip-web-worker.js +1 -1
  24. package/dist/zip.js +220 -32
  25. package/dist/zip.min.js +1 -1
  26. package/index-native.cjs +146 -13
  27. package/index-native.min.js +1 -1
  28. package/index.cjs +220 -32
  29. package/index.min.js +1 -1
  30. package/lib/core/codec-worker.js +27 -3
  31. package/lib/core/external-assets.js +42 -0
  32. package/lib/core/streams/codec-stream.js +4 -2
  33. package/lib/core/streams/zip-entry-stream.js +119 -8
  34. package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +27 -17
  35. package/lib/core/streams/zlib-wasm/zlib-streams.js +14 -1
  36. package/lib/core/web-worker-base.js +6 -2
  37. package/lib/core/web-worker-inline-native.js +1 -1
  38. package/lib/core/web-worker-inline-wasm.js +1 -1
  39. package/lib/core/zip-writer.js +6 -3
  40. package/lib/zip-core-external.js +34 -0
  41. package/lib/zip-fs-core-external.js +30 -0
  42. package/lib/zip-fs-external.js +30 -0
  43. package/lib/zip-mime-types.js +29 -0
  44. package/lib/zip-module-wasm-base.js +64 -0
  45. package/lib/zip-module-wasm.js +1 -31
  46. package/package.json +63 -2
  47. package/worker-message-property-names.js +1 -1
@@ -1 +1 @@
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:n,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:w,Error:u,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:v,navigator:A,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self;var C=void 0!==x?x.currentScript:null;const U=4294967295,I=65535,M=255,O=67324752,N=134695760,_=N,L=33639248,P=101010256,W=101075792,Z=117853008,V=22,B=20,H=21589,j=2048,q=16384,K=2048,Y=1024,G="/",X=30,J=new o(2107,11,31,23,59,58),Q=new o(1980,0,1),$=void 0,ee=1/0,te="undefined",re="function",ne=new f;let se=2;try{typeof A!=te&&A.hardwareConcurrency&&(se=A.hardwareConcurrency)}catch{}const ae={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:se,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=te&&k,DecompressionStream:typeof v!=te&&v},ie=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],oe={...ae};function ce(){return oe}function le(e){return i.max(e.chunkSize,64)}function de(e){for(const t of ie){const r=e[t];r!==$&&(oe[t]=r)}}const we="Invalid codec definition",ue="Reserved compression method",fe="Invalid codec module",pe="string",he=[0,8,9,99],me=new c,ye=new c;function ge(e){return me.get(e)}function Se(e){return ye.get(e)}function be(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=re&&typeof n!=re)throw new u(fe);ye.set(e,{CompressionStream:r,DecompressionStream:n})}const xe=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;xe[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=xe[t-1][e];xe[t][e]=r>>>8^xe[0][255&r]}const[ze,Fe,Ee,Re,De,ke,ve,Ae]=xe;class Te{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Ae[255&e]^ve[e>>>8&255]^ke[e>>>16&255]^De[e>>>24&255]^Re[255&r]^Ee[r>>>8&255]^Fe[r>>>16&255]^ze[r>>>24&255]}}for(;r>n;n++)t=t>>>8^ze[255&(t^e[n])];this.o=t}get(){return~this.o}}class Ce extends E{constructor(){let e;const t=new Te;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 Ue(e){if(typeof S==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 S).encode(e)}function Ie(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Me(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Oe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Ne={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Ne.l(r);return 32===n?e.concat(t):Ne.h(t,n,0|r,e.slice(0,e.length-1))},m(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Ne.l(r)},S(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]=Ne.F(t,e[r-1]&2147483648>>t-1,1)),e},F:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Ne.l(s);return n.push(Ne.F(t+a&31,t+a>32?r:n.pop(),1)),n}},_e={bytes:{R(e){const t=Ne.m(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},D(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(Ne.F(8*(3&r),n)),t}}},Le=class{constructor(e){const t=this;t.blockSize=512,t.v=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.C=e.C.slice(0),t.U=e.U):t.reset()}reset(){const e=this;return e.T=e.v.slice(0),e.C=[],e.U=0,e}update(e){const t=this;"string"==typeof e&&(e=_e.I.D(e));const r=t.C=Ne.concat(t.C,e),n=t.U,s=t.U=n+Ne.m(e);if(s>9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.M(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}O(){const e=this;let t=e.C;const r=e.T;t=Ne.concat(t,[Ne.F(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.U/4294967296)),t.push(0|e.U);t.length;)e.M(t.splice(0,16));return e.reset(),r}N(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_(e,t){return t<<e|t>>>32-e}M(e){const r=this,n=r.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._(5,a)+r.N(e,o,c,l)+d+s[e]+r.A[i.floor(e/20)]|0;d=l,l=c,c=r._(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},Pe={importKey:e=>new Pe.L(_e.bytes.D(e)),P(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new u("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),w=new m(d);let f=0;const p=Ne;for(t=_e.bytes.D(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.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;(s||1)>f&&o<a.length;o++)w.setInt32(f,a[o]),f+=4}return d.slice(0,n/8)},L:class{constructor(e){const t=this,r=t.W=Le,n=[[],[]];t.Z=[new r,new r];const s=t.Z[0].blockSize/32;e.length>s&&(e=(new r).update(e).O());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.Z[0].update(n[0]),t.Z[1].update(n[1]),t.V=new r(t.Z[0])}reset(){const e=this;e.V=new e.W(e.Z[0]),e.B=!1}update(e){this.B=!0,this.V.update(e)}digest(){const e=this,t=e.V.O(),r=new e.W(e.Z[1]).update(t).O();return e.reset(),r}encrypt(e){if(this.B)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},We=typeof z!=te&&typeof z.getRandomValues==re,Ze="Invalid password",Ve="Invalid signature",Be="zipjs-abort-check-password";function He(e){if(We)return z.getRandomValues(e);throw new u("Crypto API not supported")}const je=16,qe={name:"PBKDF2"},Ke=r.assign({hash:{name:"HMAC"}},qe),Ye=r.assign({iterations:1e3,hash:{name:"SHA-1"}},qe),Ge=["deriveBits"],Xe=[8,12,16],Je=[16,24,32],Qe=10,$e=[0,0,0,0],et=typeof z!=te,tt=et&&z.subtle,rt=et&&typeof tt!=te,nt=_e.bytes,st=class{constructor(e){const t=this;t.H=[[[],[],[],[],[]],[[],[],[],[],[]]],t.H[0][0][0]||t.j();const r=t.H[0][4],n=t.H[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new u("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.K(e,0)}decrypt(e){return this.K(e,1)}j(){const e=this.H[0],t=this.H[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[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,n[a]=d,l=s[c=s[o=s[d]]];let w=16843009*l^65537*c^257*o^16843008*d,u=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=u=u<<24^u>>>8,t[r][a]=w=w<<24^w>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}K(e,t){if(4!==e.length)throw new u("invalid aes block size");const r=this.A[t],n=r.length/4-2,s=[0,0,0,0],a=this.H[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let w,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],S=4;for(let e=0;n>e;e++)w=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&g]^r[S],f=i[m>>>24]^o[y>>16&255]^c[g>>8&255]^l[255&h]^r[S+1],p=i[y>>>24]^o[g>>16&255]^c[h>>8&255]^l[255&m]^r[S+2],g=i[g>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^r[S+3],S+=4,h=w,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&g]^r[S++],w=h,h=m,m=y,y=g,g=w;return s}},at=class{constructor(e,t){this.Y=e,this.G=t,this.X=t}reset(){this.X=this.G}update(e){return this.J(this.Y,e,this.X)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}J(e,t,r){let n;if(!(n=t.length))return[];const s=Ne.m(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return Ne.S(t,s)}},it=Pe.L;let ot=et&&rt&&typeof tt.importKey==re,ct=et&&rt&&typeof tt.deriveBits==re;class lt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n}){super({start(){wt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,te:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await ft(e,t,r,ht(n,0,Xe[t])),a=ht(n,Xe[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new u(Ze)})(r,a,s,ht(e,0,Xe[a]+2)),e=ht(e,Xe[a]+2),n?t.error(new u(Be)):i()):await o;const c=new f(e.length-Qe-(e.length-Qe)%je);t.enqueue(ut(r,e,c,0,Qe,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;const a=ht(n,0,n.length-Qe),i=ht(n,n.length-Qe);let o=ne;if(a.length){const e=yt(nt,a);r.update(e);const n=t.update(e);o=mt(nt,n)}const c=ht(mt(nt,r.digest()),0,Qe);let l=n.length<Qe?1:0;for(let e=0;Qe>e;e++)l|=c[e]^i[e];if(l)throw new u(Ve);e.enqueue(o)}}})}}class dt extends E{constructor({password:e,rawPassword:t,encryptionStrength:r}){let n;super({start(){wt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:a,ready:i}=r;let o=ne;n?(o=await(async(e,t,r)=>{const n=He(new f(Xe[t]));return Ie(n,await ft(e,t,r,n))})(r,s,n),a()):await i;const c=new f(o.length+e.length-e.length%je);c.set(o,0),t.enqueue(ut(r,e,c,o.length,0))},async flush(e){const{re:t,ne:r,pending:s,ready:a}=this;if(r&&t){await a;let i=ne;if(s.length){const e=t.update(yt(nt,s));r.update(e),i=mt(nt,e)}n.signature=mt(nt,r.digest()).slice(0,Qe),e.enqueue(Ie(i,n.signature))}}}),n=this}}function wt(e,t,n,s){r.assign(e,{ready:new g(t=>e.te=t),password:pt(t,n),strength:s-1,pending:ne})}function ut(e,t,r,n,s,a){const{re:i,ne:o,pending:c}=e;c.length&&(t=Ie(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(l-l%je)),d=0;l-je>=d;d+=je){const e=yt(nt,ht(t,d,d+je));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(mt(nt,s),d+n)}return e.pending=ht(t,d),r}async function ft(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!ot)return Pe.importKey(t);try{return await tt.importKey("raw",t,r,!1,s)}catch{return ot=!1,Pe.importKey(t)}})(0,s,Ke,0,Ge),o=await(async(e,t,r)=>{if(!ct)return Pe.P(t,e.salt,Ye.iterations,r);try{return await tt.deriveBits(e,t,r)}catch{return ct=!1,Pe.P(t,e.salt,Ye.iterations,r)}})(r.assign({salt:a},Ye),i,8*(2*Je[n]+2)),c=new f(o),l=yt(nt,ht(c,0,Je[n])),d=yt(nt,ht(c,Je[n],2*Je[n])),w=ht(c,2*Je[n]);return r.assign(e,{keys:{key:l,se:d,passwordVerification:w},re:new at(new st(l),t.from($e)),ne:new it(d)}),w}function pt(e,t){return t===$?Ue(e):t}function ht(e,t,r){return e.subarray(t,r)}function mt(e,t){return e.R(t)}function yt(e,t){return e.D(t)}class gt extends E{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){bt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=xt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new u(Ze);e=e.subarray(12)}n?t.error(new u(Be)):t.enqueue(xt(r,e))}})}}class St extends E{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){bt(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=He(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(zt(r,t),0),s=12}else n=new f(e.length),s=0;n.set(zt(r,e),s),t.enqueue(n)}})}}function bt(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,ae:new Te(s[0]),ie:new Te(s[2])}),n)for(let t=0;t<n.length;t++)Ft(e,n[t]);else for(let r=0;r<t.length;r++)Ft(e,t.charCodeAt(r))})(e,t,n)}function xt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Et(e)^t[n],Ft(e,r[n]);return r}function zt(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=Et(e)^t[n],Ft(e,t[n]);return r}function Ft(e,t){let[,r]=e.keys;e.ae.append([t]);const n=~e.ae.get();r=Dt(i.imul(Dt(r+Rt(n)),134775813)+1),e.ie.append([r>>>24]);const s=~e.ie.get();e.keys=[n,r,s]}function Et(e){const t=2|e.keys[2];return Rt(i.imul(t,1^t)>>>8)}function Rt(e){return 255&e}function Dt(e){return 4294967295&e}function kt(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function vt(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const At="Invalid uncompressed size",Tt="Invalid compressed data",Ct="deflate-raw";class Ut extends E{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l,deflate64:d,format:w,compressionMethod:u}=e,f=this;let p,h,y,g=super.readable;const S=w&&Se(w),b=c&&s&&!d&&!S&&(!a||o)&&!(!i||!n);a&&!o||!c||b||(p=new Ce,g=Pt(g,p)),s&&(S?g=Wt(g,_t(S.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:u})):b?(y=new It,g=Wt(g,new n("gzip")),g=Pt(g,y)):g=Lt(g,i,{level:l,chunkSize:t},n,r)),a&&(o?g=Pt(g,new St(e)):(h=new dt(e),g=Pt(g,h))),Nt(f,g,()=>{let e;a&&!o&&(e=h.signature),a&&!o||!c||(e=b?y.signature:new m(p.value.buffer).getUint32(0)),f.signature=e})}}class It extends E{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=i.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=Ie(r,e));const a=s-8,o=i.min(a,r.length);n.enqueue(Ie(r.subarray(0,o),e.subarray(0,a-o))),r=Ie(r.subarray(o),e.subarray(a-o))},flush(){const t=Oe(r);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Mt extends E{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:f,rawBitFlag:p,outputSize:h}=e;let y,g,S=super.readable;if(a&&(s?S=Pt(S,new gt(e)):(g=new lt(e),S=Pt(S,g))),c){const e=w&&Se(w);S=e?Wt(S,_t(e.DecompressionStream,w,{chunkSize:t,compressionMethod:f,rawBitFlag:p,uncompressedSize:h})):Lt(S,l,{chunkSize:t,deflate64:d},n,r),S=(e=>{const t=e.getReader();return new R({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new u(Tt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(S)}a&&!s||!i||(y=new Ce,S=Pt(S,y)),Nt(this,S,()=>{if((!a||s)&&i){const e=new m(y.value.buffer);if(o!=e.getUint32(0,!1))throw new u(Ve)}})}}const Ot=new c;function Nt(e,t,n){t=Pt(t,new E({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function _t(e,t,r){if(!e)throw new u("Compression method not supported");return new e(t,r)}function Lt(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":Ct;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return Wt(e,o)}function Pt(e,t){return kt(e).pipeThrough(t)}function Wt(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const Zt="data",Vt="deflate",Bt="inflate";class Ht extends E{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(Vt)?a=Ut:s.startsWith(Bt)&&(a=Mt),n.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:i})}}),d=new E({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==$&&n.outputSize>e.outputSize))throw new u(At)},flush(){const{signature:e}=o;r.assign(n,{signature:e,inputSize:i})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class jt extends E{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const qt={type:"module"},Kt="error";let Yt,Gt,Xt,Jt,Qt=!0;try{Qt=typeof structuredClone==re&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class $t{constructor(e,{readable:t,writable:n},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:w}=i;return r.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new jt(le(a))).pipeThrough(new er(i),{signal:w}),writable:n,options:r.assign({},s),workerURI:l,transferStreams:c,terminate:()=>new g(t=>{const{de:r,ce:n}=e;r?(n?e.we=t:(r.terminate(),t()),e.ue=null):t()}),fe(){if(e.ce){const{we:t}=e;t&&(e.we=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,d(e)}}}),Yt===$&&(Yt=typeof T!=te),(o&&Yt?nr:rr)(e,a)}}class er extends E{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await tr(e,r)},async transform(e,n){s+=e.length,t&&await tr(t,s,r),n.enqueue(e)},async flush(){n&&await tr(n,s)}})}}async function tr(e,...t){try{await e(...t)}catch{}}function rr(e,t){return{run:()=>sr(e,t)}}function nr(e,t){const{baseURI:n,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.ue){let c;typeof o==re&&(o=o());try{c=ir(e.workerURI,n,e)}catch{return Yt=!1,rr(e,t)}r.assign(e,{de:c,he:!1,pe:!1,ue:{run:async()=>{try{return await(async(e,t)=>{let n,a;const i=new g((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,me:n,ye:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ge:w}=(e=>{const t=new AbortController,{writable:r,readable:n}=new E,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,ge:()=>t.abort()}})(e.writable);let f;try{f=lr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){w();try{await d}catch{}throw e.fe(),t}f||r.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.he||!s.isFinite(p)||0>p||(e.Se=setTimeout(()=>(e=>{if(e.Se=null,e.he)return;const{ye:t,writer:r}=e;if(ar(e),e.de=null,t){const e=new u("Worker startup timeout");e.be=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:n,workerStartupTimeout:i})}catch(r){if(r&&r.be){Yt=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,sr(e,t)}throw r}}}})}return e.ue}async function sr({options:e,readable:t,writable:r,fe:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Vt),r=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.xe&&!(e=>{if(!e)return!1;let t=Ot.get(e);if(t===$){try{new e(Ct),t=!0}catch{t=!1}Ot.set(e,t)}return t})(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.xe||(e.useCompressionStream=!0)}}a=new Ht(e,s),await t.pipeThrough(a).pipeThrough(new jt(le(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:i,outputSize:o}=a;return{signature:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function ar(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.ue=null}function ir(e,t,n,s,a=!0){let i,o,c;if(Xt===$||Gt!==e){const r=typeof e==re;o=r?e(a):e;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){s===$&&(s=!1),s&&(c=qt);try{i=new T(o,c)}catch(a){if(d)try{w.revokeObjectURL(o)}catch{}if(r&&d)return ir(e,t,n,s,!1);if(s)throw a;return ir(e,t,n,!0,!1)}}else{s===$&&(s=!0),s&&(c=qt);try{o=new w(o,t)}catch{}try{i=new T(o,c)}catch(r){if(s)throw r;return ir(e,t,n,!1,a)}}Gt=e,Xt=o,Jt=c}else i=new T(Xt,Jt);return i.addEventListener("message",e=>{n.he=!0,or(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,me:d,ye:w,fe:p,le:h}=t,m=()=>t.le!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:a}=o,i=new u(e);r.assign(i,{stack:t,code:n,name:s,outputSize:a}),y(i)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||lr({type:Zt,value:e,done:r,messageId:a},t)}n==Zt&&(await l.ready,await l.write(new f(s)),m()||lr({type:"ack",messageId:a},t)),"close"==n&&y(null,i)}}catch(o){m()||(ar(t),y(o))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),p())}})(e,n)}),i.addEventListener(Kt,e=>cr(e,n)),i.addEventListener("messageerror",e=>cr(e,n)),i}function or(e){const{Se:t}=e;t&&(clearTimeout(t),e.Se=null)}function cr(e,t){e.preventDefault&&e.preventDefault(),or(t);const{he:n,ye:s,writer:a,fe:i}=t;if(ar(t),n||(t.de=null),s){let t=e.error||new u(e.message||Kt);n||(t=r.assign(new u(t.message||Kt),{be:!0})),s(t),a&&a.releaseLock(),n&&i()}}function lr(e,{de:t,writer:r,transferStreams:n,he:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=Me(r),o.push(e.value.buffer)),n&&Qt&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Qt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let dr=[];const wr=[];let ur,fr,pr=0;async function hr(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,signed:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:p,maxWorkers:h}=n;u&&(f&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(f,n.baseURI)),await(async(e,t)=>{!ye.has(e)&&t&&be(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(u,r.codecURI)),t.transferStreams=a||a===$&&n.transferStreams;const m=!c&&!l&&!d,y=u===$||!!r.codecURI;return t.useWebWorkers=!m&&y&&(i||i===$&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&p?p:$,r.useCompressionStream=o||o===$&&n.useCompressionStream,(await(async()=>{const r=dr.find(e=>!e.ce);if(r)return br(r),new $t(r,e,t,S);if(dr.length<h){const r={ze:pr};return pr++,dr.push(r),new $t(r,e,t,S)}return new g(r=>{wr.push({resolve:r,stream:e,Fe:t}),fr=n.workerStarvationTimeout,mr()})})()).run();function S(e){if(yr(),wr.length){const[{resolve:t,stream:r,Fe:n}]=wr.splice(0,1);t(new $t(e,r,n,S)),mr()}else e.de?(br(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.pe?e.pe=!1:e.Ee=setTimeout(async()=>{dr=dr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):dr=dr.filter(t=>t!=e)}}function mr(){!ur&&wr.length&&s.isFinite(fr)&&fr>=0&&(ur=setTimeout(gr,fr))}function yr(){ur&&(clearTimeout(ur),ur=null)}function gr(){if(ur=null,wr.length){const[{resolve:e,stream:t,Fe:n}]=wr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:$});e(new $t({},t,s,Sr)),mr()}}function Sr(){yr(),mr()}function br(e){const{Ee:t}=e;t&&(clearTimeout(t),e.Ee=null)}const xr="HTTP error ",zr="HTTP Range not supported",Fr="HTTP resource changed",Er="Writer iterator completed too soon",Rr="Writer not initialized",Dr="Content-Range",kr="Range",vr="GET",Ar="bytes",Tr=16777216,Cr="writable",Ur=Symbol();class Ir{constructor(){this.size=0}init(){this.initialized=!0}}class Mr extends Ir{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=le(ce())}={}){const n=this;let s=0;return new R({async pull(a){const o=t===$?r:i.min(r,t-s),c=await dn(n,e+s,o);a.enqueue(c),s+r>t||t===$&&!c.length&&o?a.close():s+=r}})}}class Or extends Ir{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new u(Rr);return e.writeUint8Array(Me(t))}});r.defineProperty(e,Cr,{get:()=>t})}writeUint8Array(){}}let Nr,_r;class Lr extends Mr{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),_r||(_r=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Nr=1==t}catch{Nr=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Nr?kt(t.slice(n,n+s).stream()):super.createReadable(e):kt(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new f(a)}}class Pr extends Ir{constructor(e){super();const t=this,n=new E;if(r.defineProperty(t,Cr,{get:()=>n.writable}),typeof y.prototype.stream!=re||new y([]).stream()instanceof R){const r=[];e&&r.push(["Content-Type",e]),t.blob=new d(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Wr extends Mr{constructor(e,t){super(),Vr(this,e,t)}async init(){await Br(this,tn,Jr),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=t;if((r||n)&&a!==$){const{offset:r=0,size:n=a-r}=e||{};if(n>0&&a>r)return((e,t,r)=>{let n,a=t,o=0,c=r;return new R({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new u(zr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=n;n=$,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),r=await tn(vr,e,Gr(e,a,t));if(206!=r.status)throw new u(zr);const l=r.headers.get(Dr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new u(zr)}Yr(e,r),Kr(e,r),a+=t,o=t,n=r.body.getReader()}})(t,r,i.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return Hr(this,e,t,tn,Jr)}}class Zr extends Mr{constructor(e,t){super(),Vr(this,e,t)}async init(){await Br(this,rn,Qr),super.init()}readUint8Array(e,t){return Hr(this,e,t,rn,Qr)}}function Vr(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Tr,fetch:d}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Br(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ce(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(vr,e,Gr(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Ar))throw new u(zr);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==V&&(e.Re=t)}Kr(e,n);const s=jr(n);s===$?await en(e,t,r):e.size=s}}else await en(e,t,r)}async function Hr(e,t,r,n,a){const{useRangeHeader:i,forceRangeRequests:o,Re:c,size:l,options:d}=e;if(i||o){if(c&&t==l-V&&r==V)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(vr,e,Gr(e,t,r));if(206!=a.status)throw new u(zr);const i=a.headers.get(Dr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new u(zr)}Yr(e,a),Kr(e,a);const o=new f(await a.arrayBuffer());if(o.length!=r)throw new u(zr);return o}return ne}{const{data:n}=e;return n||await a(e,d),e.data.subarray(t,t+r)}}function jr(e){const t=e.headers.get(Dr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function qr({headers:e}){return{De:e.get("Etag")||$,lastModified:e.get("Last-Modified")||$}}function Kr(e,t){const{checkResourceChanges:r,ke:n}=e;r&&!n&&206==t.status&&(e.ke=qr(t))}function Yr(e,t){const{checkResourceChanges:n,ke:s,size:a}=e;if(n){const e=jr(t);if(e!==$&&a!==$&&e!=a)throw new u(Fr);if(s){const e=qr(t);if(r.entries(s).some(([t,r])=>r!==$&&e[t]!==$&&r!=e[t]))throw new u(Fr)}}}function Gr(e,t=0,n=1){return r.assign({},Xr(e),{[kr]:Ar+"="+(0>t?t:t+"-"+(t+n-1))})}function Xr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Jr(e){await $r(e,tn)}async function Qr(e){await $r(e,rn)}async function $r(e,t){const r=await t(vr,e,Xr(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function en(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Xr(e)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?e.size=s(a):await r(e,e.options)}}async function tn(e,{fetch:t=fetch,options:n,url:s},a){const i=await t(s,r.assign({},n,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new u(zr):new u(xr+(i.statusText||i.status))}function rn(e,{url:t},n){return new g((s,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)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new u(zr):new u(xr+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new u("Network error")),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class nn extends Mr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Zr(e,t):new Wr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class sn extends Mr{constructor(e){super(),this.ve=e}async init(){const e=this,{ve:t}=e;e.Ae=0,await g.all(t.map(e=>ln(e))),e.Te=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}Ce(e){const{Te:t,size:r}=this,n=t[e];return n===$?r:n}async readUint8Array(e,t){const r=this,{ve:n}=this;let s,a=0,o=e;for(;n[a]&&o>=n[a].size;)o-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(o+t>n){const a=n-o;s=Ie(await dn(c,o,a),await r.readUint8Array(e+a,t-a))}else s=await dn(c,o,t)}else s=ne;return r.Ae=i.max(a,r.Ae),s}}class an extends Ir{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Ur)return void(i&&await l());const{availableSize:r}=n;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new u(Er);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ln(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,i=null,n.availableSize=n.maxSize}async function d(){await i.close()}r.defineProperty(n,Cr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Ur)}finally{e.releaseLock()}}}class on{constructor(e){return t.isArray(e)&&(e=new sn(e)),(e instanceof R||typeof e.getReader==re)&&(e={readable:kt(e)}),e}}class cn{constructor(e){return e.writable===$&&typeof e.next==re&&(e=new an(e)),(e instanceof D||typeof e.getWriter==re)&&(e={writable:vt(e)}),e.size===$&&(e.size=0),e}}async function ln(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function dn(e,t,r){return e.readUint8Array(t,r)}const wn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function un(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=wn[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const fn="filename",pn="rawFilename",hn="comment",mn="rawComment",yn="uncompressedSize",gn="compressedSize",Sn="offset",bn="diskNumberStart",xn="lastModDate",zn="rawLastModDate",Fn="lastAccessDate",En="creationDate",Rn="rawCreationDate",Dn="internalFileAttributes",kn="externalFileAttributes",vn="msdosAttributesRaw",An="msdosAttributes",Tn="msDosCompatible",Cn="zip64",Un="encrypted",In="version",Mn="versionMadeBy",On="zipCrypto",Nn="directory",_n="executable",Ln="compressionMethod",Pn="signature",Wn="extraField",Zn="unixMode",Vn="setuid",Bn="setgid",Hn="sticky",jn=[fn,pn,yn,gn,xn,zn,hn,mn,Fn,En,Rn,Sn,bn,Dn,kn,vn,An,Tn,Cn,Un,In,Mn,On,Nn,_n,Ln,Pn,Wn,"extraFieldUnix","extraFieldInfoZip","uid","gid",Zn,Vn,Bn,Hn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class qn{constructor(e){jn.forEach(t=>this[t]=e[t])}}const Kn="password",Yn="rawPassword",Gn="passThrough",Xn="signal",Jn="checkAmbiguity",Qn="useWebWorkers",$n="useCompressionStream",es="transferStreams",ts="preventClose",rs="offset",ns="usdz",ss="strictness",as="strict",is="tolerant",os="File format is not recognized",cs="End of central directory not found",ls="End of Zip64 central directory locator not found",ds="Central directory header not found",ws="Local file header not found",us="Zip64 extra field not found",fs="File contains encrypted entry",ps="Encryption method not supported",hs="Compression method not supported",ms="Split zip file",ys="Overlapping entry found",gs="Ambiguous archive",Ss="Encrypted central directory is not supported",bs="utf-8",xs="cp437",zs=[[yn,U],[gn,U],[Sn,U],[bn,I]],Fs={[I]:{Ue:Gs,bytes:4},[U]:{Ue:Xs,bytes:8}};class Es{constructor(e,t={}){r.assign(this,{reader:new on(e),options:t,config:ce(),Ie:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:s}=t;if(await ln(n),n.size!==$&&n.readUint8Array||(n=new Lr(await new d(n.readable).blob()),await ln(n)),n.size<V)throw new u(os);const a=Ms(Hs(t,e,ss),Hs(t,e,Jn)),o=a==as,c=a!=is,w=((e,t)=>e!==$?e:t==as?0:t==is?1/0:I)(Hs(t,e,"maxAppendedDataSize"),a),{Me:f,Oe:p}=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,65557),a={count:Os};let o,c,l=0;for await(const[r,i,d,w,u]of Ps(e,s)){const s=Ys(r,w+20);if(u+V+s==n){const s=await Zs(e,r,i,w,u,n,a);if(s==Ls){if(o||(o=Ws(d,w,u)),l++,!t||l>1)break}else s!=_s||c||(c=Ws(d,w,u))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=i.min(n,t==1/0?n:65557+t);let a,o;for await(const[t,i,c,l,d]of Ps(e,s)){const s=Ws(c,l,d);a||(a=s);const w=await Zs(e,t,i,l,d,n,r);if(w==Ls)return s;w!=_s||o||(o=s)}return o||a})(e,r,a)),{Me:o,Oe:l}})(n,c,w);if(!f)throw Gs(Oe(await dn(n,0,4)))==N?new u(ms):new u(cs);c&&p>1&&Bs("multiple end of central directory records");const h=Oe(f);let m=Gs(h,12),y=Gs(h,16);const S=f.offset,b=Ys(h,20),x=S+V+b;n.size-x>w&&Bs("appended data");let z=Ys(h,4);const F=n.Ae||0;let R,D,k,v=Ys(h,6),A=Ys(h,10),T=0;const C=y==U||m==U||A==I||v==I;if(y!=U&&v!=I&&(y+=Is(n,v)),C){const e=f.offset<B?ne:await dn(n,f.offset-B,B),t=Oe(e);if(e.length==B&&Gs(t,0)==Z){y=Is(n,Gs(t,4))+Xs(t,8);let e=await dn(n,y,56),r=Oe(e);const s=f.offset-B-56;if((56>e.length||Gs(r,0)!=W)&&y!=s&&s>=0){const t=y;y=s,y>t&&(T=y-t),e=await dn(n,y,56),r=Oe(e)}if(56>e.length||Gs(r,0)!=W)throw new u(ls);D=!0,k=Xs(r,4)>44,z==I?z=Gs(r,16):o&&z!=Gs(r,16)&&Bs("mismatched zip64 end of central directory record"),v==I?v=Gs(r,20):o&&v!=Gs(r,20)&&Bs("mismatched zip64 end of central directory record"),A==I?A=Xs(r,32):o&&A!=Xs(r,32)&&Bs("mismatched zip64 end of central directory record"),m==U?m=Xs(r,40):o&&m!=Xs(r,40)&&Bs("mismatched zip64 end of central directory record"),y=Is(n,v)+Xs(r,48)+T}}const O=m,_=f.offset-(D?76:0);if(y<n.size||(T=n.size-y-m-V,y=n.size-m-V),F!=z)throw new u(ms);if(0>y)throw new u(os);let P=0,H=await dn(n,y,m),j=Oe(H);if(m){if(4>H.length)throw new u(os);const e=_-m;if(y!=e&&v==z){let t=!(Gs(j,P)==L);if(t||0>e||e+4>n.size||(t=Gs(Oe(await dn(n,e,4)),0)==L),t){const t=y;y=e,y>t&&(T+=y-t),H=await dn(n,y,m),j=Oe(H)}}}const X=_-y;if(m==X||0>X||v!=z||(m=X,H=await dn(n,y,m),j=Oe(H)),0>y||y>=n.size)throw new u(os);R=y;const J=Hs(t,e,"filenameEncoding"),Q=Hs(t,e,"commentEncoding"),ee=o?new l:$;let te;for(let a=0;A>a;a++){const c=new Ds(n,s,t.options);if(P+46>H.length||Gs(j,P)!=L){if(0==a&&(k||ks(j)))throw new u(Ss);throw new u(ds)}vs(c,j,P+6);const l=!!c.bitFlag.languageEncodingFlag,w=P+46,f=w+c.filenameLength,p=f+c.extraFieldLength,h=Ys(j,P+4),m=!(h>>8),y=h>>8==3,S=H.subarray(w,f),b=Ys(j,P+32),x=p+b,z=H.subarray(p,x),F=l,D=l,v=Gs(j,P+38),C=v&M,U={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},O=Gs(j,P+42),N=Hs(t,e,"decodeText")||un,_=F?bs:J||xs,W=D?bs:Q||xs;let Z=N(S,_);Z===$&&(Z=un(S,_));let V=N(z,W);V===$&&(V=un(z,W)),r.assign(c,{index:a,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Ne:b,offset:O,diskNumberStart:Ys(j,P+34),internalFileAttributes:Ys(j,P+36),externalFileAttributes:v,msdosAttributesRaw:C,msdosAttributes:U,rawFilename:S,filenameUTF8:F,commentUTF8:D,rawExtraField:H.subarray(f,p),rawComment:z,filename:Z,comment:V}),As(c,c,j,P+6),c.offset+=T,R=i.min(Is(n,c.diskNumberStart)+c.offset,R),o&&(ee.has(c.filename)&&(te=!0),ee.add(c.filename));const B=c.externalFileAttributes>>16&I;c.unixMode===$&&16877&B&&(c.unixMode=B);const X=!!(c.unixMode&K),re=!!(c.unixMode&Y),ne=!!(512&c.unixMode),se=c.unixMode!==$?!!(73&c.unixMode):y&&!!(73&B),ae=c.unixMode!==$&&(61440&c.unixMode)==q,ie=(61440&B)==q;r.assign(c,{setuid:X,setgid:re,sticky:ne,unixExternalUpper:B,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:se,directory:ae||ie||m&&U.directory||c.filename.endsWith(G)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new qn(c);oe.getData=(e,r)=>c.getData(e,oe,t.Ie,r),oe.arrayBuffer=async e=>{const r=new E,[n]=await g.all([new d(r.readable).arrayBuffer(),c.getData(r,oe,t.Ie,e)]);return n},P=x;const{onprogress:ce}=e;if(ce)try{await ce(a+1,A,new qn(c))}catch{}yield oe}o&&P!=O&&Bs("trailing central directory data"),te&&Bs("duplicate filename"),o&&(T||A&&R>0)&&Bs("prepended data");const re=Hs(t,e,"extractPrependedData"),se=Hs(t,e,"extractAppendedData");return re&&(t.prependedData=R>0?await dn(n,0,R):ne),t.comment=b?await dn(n,S+V,b):ne,se&&(t.appendedData=x<n.size?await dn(n,x,n.size-x):ne),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class Rs{constructor(e={}){const{readable:t,writable:r}=new E,n=new Es(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new E;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}class Ds{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:a,index:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:f,bitFlag:p,rawBitFlag:h,signature:m,rawLastModDate:y,uncompressedSize:g,compressedSize:S}=s,{dataDescriptor:b}=p,x=t.localDirectory={},z=Is(a,c)+o,F=await dn(a,z,X),E=Oe(F);let R=Hs(s,n,Kn),k=Hs(s,n,Yn);const v=Hs(s,n,Gn);if(R=R&&R.length&&R,k=k&&k.length&&k,l&&99!=l.originalCompressionMethod)throw new u(hs);if(F.length<X||Gs(E,0)!=O)throw new u(ws);vs(x,E,4);const{extraFieldLength:A,filenameLength:T}=x,C=Ms(Hs(s,n,ss),Hs(s,n,Jn))==as;let U=ne;if(C&&(T||A)){const e=await dn(a,z+X,T+A);U=e.subarray(0,T),x.rawExtraField=e.subarray(T)}else x.rawExtraField=A?await dn(a,z+X+T,A):ne;As(s,x,E,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Bs("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Bs("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Bs("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Bs("mismatched local file header (signature or sizes)")})(s,x,U);const{lastAccessDate:I,creationDate:N}=x;I&&(t.lastAccessDate=I),N&&(t.creationDate=N);const L=s.encrypted&&x.encrypted&&!v,P=L&&!l;if(v||(t.zipCrypto=P),L&&!(64&~x.rawBitFlag))throw new u(ps);const W=v?$:ge(w);if(0!=w&&8!=w&&9!=w&&!W&&!v)throw new u(hs);if(L){if(!P&&(1>l.strength||l.strength>3))throw new u(ps);if(!R&&!k)throw new u(fs)}const Z=z+X+T+A,V=S,B=kt(a.createReadable({offset:Z,size:V})),H=Hs(s,n,Xn),j=Hs(s,n,"checkPasswordOnly");let q=Hs(s,n,"checkOverlappingEntry");const K=Hs(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:J}=n,Q=9==w;let ee=Hs(s,n,$n);Q&&(ee=!1);const te={options:{codecType:Bt,password:R,rawPassword:k,zipCrypto:P,encryptionStrength:l&&l.strength,signed:Hs(s,n,"checkSignature")&&!v,passwordVerification:P&&(b?y>>>8&M:m>>>24&M),outputSize:v?S:g,signature:m,compressed:0!=w&&!v,encrypted:L,useWebWorkers:Hs(s,n,Qn),useCompressionStream:ee,transferStreams:Hs(s,n,es),deflate64:Q,format:W?W.format:$,codecURI:W?W.codecURI:$,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:j},config:f,oe:{signal:H,size:V,onstart:Y,onprogress:G,onend:J}};let re;q&&await(async({reader:e,_e:t,index:r,offset:n,signature:s,compressedSize:a,uncompressedSize:i,Le:o,dataDescriptor:c,extraFieldZip64:l,Ie:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await dn(e,o+a,w+4);if(r.length==w+4&&Gs(Oe(r),0)==_){const e=Gs(Oe(r),4);let n,o;l?(n=Xs(Oe(r),8),o=Xs(Oe(r),16)):(n=Gs(Oe(r),8),o=Gs(Oe(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&o==i&&(w+=4)}}const f={start:n,end:o+a+w,_e:t};for(const[e,t]of d)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new u(ys);throw e.Pe=t._e,e}d.set(r,f)})({reader:a,_e:t,index:i,offset:z,signature:m,compressedSize:S,uncompressedSize:g,Le:Z,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Ie:r});try{if(!K){j&&(e=new D),e=new cn(e),await ln(e,v?S:g),({writable:re}=e);const{outputSize:t}=await hr({readable:B,writable:re},te);if(e.size+=t,t!=(v?S:g))throw new u(At)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!j||t.message!=Be)throw t}finally{Hs(s,n,ts)||!re||re.locked||await re.getWriter().close()}return j||K?$:e.getData?e.getData():re}}function ks(e){const t=i.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==Gs(e,r))return!0;return!1}function vs(e,t,n){const s=e.rawBitFlag=Ys(t,n+2),a=!(1&~s),i=Gs(t,n+6);r.assign(e,{encrypted:a,version:Ys(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&j)==j},rawLastModDate:i,lastModDate:js(i),filenameLength:Ys(t,n+22),extraFieldLength:Ys(t,n+24)})}function As(e,t,n,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Oe(i);let w=0;try{for(;w<i.length;){const e=Ys(d,w),t=Ys(d,w+2);l.set(e,{type:e,data:i.slice(w+4,w+4+t)}),w+=4+t}}catch{}const f=Ys(n,s+4);r.assign(t,{signature:Gs(n,s+10),compressedSize:Gs(n,s+14),uncompressedSize:Gs(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Oe(e.data),n=zs.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Fs[t].bytes,0);if(e.data.length<s)throw new u(us);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=Fs[o];t[i]=e[i]=c.Ue(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Ts(h,fn,pn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Ts(m,hn,mn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Oe(e.data),a=Ks(s,4);r.assign(e,{We:Ks(s,0),vendorId:Ks(s,2),strength:a,originalCompressionMethod:n,compressionMethod:Ys(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=l.get(10);g&&(((e,t)=>{const n=Oe(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=Ys(n,a),r=Ys(n,a+2);1==t&&(s=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}try{if(s&&24==s.length){const n=Oe(s),a=n.getBigUint64(0,!0),i=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:qs(a),lastAccessDate:qs(i),creationDate:qs(o)};r.assign(e,c),r.assign(t,c)}}catch{}})(g,t),t.extraFieldNTFS=g);const S=l.get(30805);if(S)Cs(S,t,!1),t.extraFieldUnix=S;else{const e=l.get(30837);e&&(Cs(e,t,!0),t.extraFieldInfoZip=e)}const b=l.get(H);b&&(((e,t,r)=>{if(!e.data.length)return;const n=Oe(e.data),s=Ks(n,0),a=[],i=[];r?(1&~s||(a.push(xn),i.push(zn)),2&~s||(a.push(Fn),i.push("rawLastAccessDate")),4&~s||(a.push(En),i.push(Rn))):5>e.data.length||(a.push(xn),i.push(zn));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=Gs(n,c);t[r]=e[r]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(b,t,a),t.extraFieldExtendedTimestamp=b);const x=l.get(6534);x&&(t.extraFieldUSDZ=x)}function Ts(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Oe(e.data),o=new Te;o.append(a[n]);const c=Oe(new f(4));c.setUint32(0,o.get(),!0);const l=Gs(i,1);r.assign(e,{version:Ks(i,0),[t]:un(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Gs(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Cs(e,t,n){try{const s=Oe(e.data);let a,i;if(n){let t=0;const n=Ks(s,t++),o=Ks(s,t++);a=Us(e.data.subarray(t,t+o)),t+=o;const c=Ks(s,t++);i=Us(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:i})}else 4>e.data.length||(a=Ys(s,0),i=Ys(s,2),r.assign(e,{uid:a,gid:i}));a!==$&&(t.uid=a),i!==$&&(t.gid=i)}catch{}}function Us(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Is(e,t){return e.Ce?e.Ce(t):0}function Ms(e,t){return e===$?t?as:"balanced":e}const Os=64,Ns=0,_s=1,Ls=2;async function*Ps(e,t){const r=e.size-t,n=await dn(e,r,t),s=Oe(n);for(let e=n.length-V;e>=0;e--)Gs(s,e)==P&&(yield[s,r,n,e,r+e])}function Ws(e,t,r){return{offset:r,buffer:e.slice(t,t+V).buffer}}async function Zs(e,t,r,n,s,a,i){const o=Ys(t,n+10),c=Gs(t,n+12),l=Gs(t,n+16);if(o==I||c==U||l==U)return await Vs(e,t,r,s-B,a,i)==Z?Ls:Ns;if(!o&&!c)return _s;const d=Ys(t,n+6);for(const n of[s-c,Is(e,d)+l])if(await Vs(e,t,r,n,a,i)==L)return Ls;return Ns}async function Vs(e,t,r,n,s,a){return 0>n||n+4>s?$:r>n?a.count>0?(a.count--,Gs(Oe(await dn(e,n,4)),0)):$:Gs(t,n-r)}function Bs(e){const t=new u(gs);throw t.reason=e,t}function Hs(e,t,r){return t[r]===$?e.options[r]:t[r]}function js(e){const t=(4294901760&e)>>16,r=e&I;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 qs(e){return new o(s(e/a(1e4)-a(116444736e5)))}function Ks(e,t){return e.getUint8(t)}function Ys(e,t){return e.getUint16(t,!0)}function Gs(e,t){return e.getUint32(t,!0)}function Xs(e,t){return s(e.getBigUint64(t,!0))}var Js=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:gs,ERR_BAD_FORMAT:os,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ds,ERR_ENCRYPTED:fs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ss,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ls,ERR_EOCDR_NOT_FOUND:cs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:us,ERR_INVALID_COMPRESSED_DATA:Tt,ERR_INVALID_PASSWORD:Ze,ERR_INVALID_SIGNATURE:Ve,ERR_INVALID_UNCOMPRESSED_SIZE:At,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ws,ERR_OVERLAPPING_ENTRY:ys,ERR_SPLIT_ZIP_FILE:ms,ERR_UNSUPPORTED_COMPRESSION:hs,ERR_UNSUPPORTED_ENCRYPTION:ps,ZipReader:Es,ZipReaderStream:Rs});const Qs="File already exists",$s="Zip file comment exceeds 64KB",ea="File entry comment exceeds 64KB",ta="File entry name exceeds 64KB",ra="Version exceeds 65535",na="The strength must equal 1, 2, or 3",sa="Encryption is not supported in USDZ files",aa="Extra field type exceeds 65535",ia="Extra field data exceeds 64KB",oa=-2147483648,ca=2147483647,la="Zip64 is not supported (set the 'zip64' option to 'true')",da="Undefined uncompressed size",wa="Undefined reader",ua="Zip file not empty",fa=new f([7,0,2,0,65,69,3,0,0]),pa="infozip",ha="unix";let ma=0;const ya=[];class ga{constructor(e,t={}){e=new cn(e);const{availableSize:n=ee,maxSize:s=ee}=e,a=n>0&&n!==ee&&s>0&&s!==ee;r.assign(this,{writer:e,Ze:a,options:t,config:ce(),files:new c,Ve:new l,offset:t[rs]===$?e.size||e.writable.size||0:t[rs],Be:t[rs]===$?0:t[rs]-(e.size||e.writable.size||0),He:new l,je:0,qe:$})}async prependZip(e){if(this.Ve.size)throw new u(ua);e=new on(e),await ln(e);const{ZipReader:t}=await g.resolve().then(()=>Js),n=new t(e.readable),s=await n.getEntries();await n.close(),await ln(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ve=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:u,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:S,languageEncodingFlag:b,dataDescriptor:x}=o;f=f||ne,p=p||ne,h=h||ne,m=m||ne,y=y||ne,g=g||ne,e.extraFieldAES&&(u=99);const z=La(f,p,h,m,y,g),F=w&&l>=U,E=w&&d>=U,R=-7&Wa(S,b,x,c,u)|S<<1,{Qe:D,$e:k}=Pa({version:t,bitFlag:R,compressionMethod:u,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:i,et:E,nt:F,extraFieldLength:z}),{signature:v}=e;return v!==$&&Oa(k,10,v),r.assign(e,{nt:F,et:E,st:w&&e.offset>=U,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(a?4:0),Qe:D,$e:k}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{He:c,config:l}=s;let d,w;ma<l.maxWorkers?ma++:await new g(e=>ya.push(e));try{if(e=e.trim(),Ua(s,n,Nn)&&!e.endsWith(G)&&(e+=G),s.Ve.has(e))throw new u(Qs);return s.Ve.add(e),w=!0,d=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Ua(e,r,Tn),s=Ua(e,r,Mn,n?20:768);const a=Ua(e,r,_n),i=Ua(e,r,"uid"),o=Ua(e,r,"gid");let c=Ua(e,r,Zn),l=Ua(e,r,"unixExtraFieldType"),d=Ua(e,r,Vn),w=Ua(e,r,Bn),f=Ua(e,r,Hn);if(i!==$&&(0>i||i>U))throw new u("Invalid uid (must be integer 0..2^32-1)");if(o!==$&&(0>o||o>U))throw new u("Invalid gid (must be integer 0..2^32-1)");if(c!==$&&(0>c||c>I))throw new u("Invalid UNIX mode (must be integer 0..65535)");if(l!==$&&l!==pa&&l!==ha)throw new u("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(l===ha&&(i!==$&&i>I||o!==$&&o>I))throw new u("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");l!==$||i===$&&o===$||(l=pa);let p=Ua(e,r,vn),h=Ua(e,r,An);const m=p!==$||h!==$;if(i!==$||o!==$||c!==$||l?(n=!1,s=s&I|768):m&&(n=!0,s&=M),p!==$&&(0>p||p>M))throw new u("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new u("Invalid msdosAttributes (must be an object with boolean flags)");if(s>I)throw new u(ra);let y=Ua(e,r,kn);const g=y!==$;g||(y=0),!r[Nn]&&t.endsWith(G)&&(r[Nn]=!0);const S=Ua(e,r,Nn);let b;if(S?(t.endsWith(G)||(t+=G),g||(y=16,n||(y|=16877<<16))):n||g||(y=a?493<<16:27525120),!n){const e=c!==$||!!(d||w||f);b=y>>16&I,c=c===$?b:c&I,d?c|=K:d=!!(c&K),w?c|=Y:w=!!(c&Y),f?c|=512:f=!!(512&c),g&&!e||(S&&(c|=q),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==$)e&=M;else if(t!==$){const{readOnly:r,hidden:n,system:s,directory:a,archive:i}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&M}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&U|p&M),{name:t,ct:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:b,uid:i,gid:o,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,r)=>{const n=Ua(e,r,"encodeText",Ue);let s=n(t);if(s===$&&(s=Ue(t)),La(s)>I)throw new u(ta);const a=r[hn]||"";let i=n(a);if(i===$&&(i=Ue(a)),La(i)>I)throw new u(ea);const c=Ua(e,r,In,20);if(c>I)throw new u(ra);const l=Ua(e,r,xn,new o),d=Ua(e,r,Fn),w=Ua(e,r,En),p=Ua(e,r,Dn,0),h=Ua(e,r,Gn);let m,y;h||(m=Ua(e,r,Kn),y=Ua(e,r,Yn));const g=Ua(e,r,"encryptionStrength",3),S=Ua(e,r,On),b=Ua(e,r,"extendedTimestamp",!0),x=Ua(e,r,"ntfsTimestamp"),z=Ua(e,r,"keepOrder",!0),F=Ua(e,r,Qn),E=Ua(e,r,es),R=Ua(e,r,"bufferedWrite"),D=Ua(e,r,"createTempStream"),k=Ua(e,r,"dataDescriptorSignature",!0),v=Ua(e,r,Xn),A=Ua(e,r,"useUnicodeFileNames",!0),T=Ua(e,r,Ln),C=h||T===$?$:ge(T);if(!h&&T!==$&&0!==T&&8!==T&&!C)throw new u("Compression method not supported");let U=Ua(e,r,"level");if(e.options[ns]){if(m!==$||y!==$)throw new u(sa);U===$&&T===$&&(U=0)}let M=Ua(e,r,$n),O=Ua(e,r,"dataDescriptor");R&&O===$&&(O=!1),(O===$||S)&&(O=!0),U!==$&&6!=U&&(M=!1),M||C||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(U=0);const N=Ua(e,r,Cn);if(!S&&(m!==$||y!==$)&&(1>g||g>3))throw new u(na);let _=ne;const L=r[Wn];if(L){let e=0,t=0;L.forEach(t=>e+=4+La(t)),_=new f(e);const r=Oe(_);L.forEach((e,n)=>{if(n>I)throw new u(aa);if(La(e)>I)throw new u(ia);Ma(r,t,n),Ma(r,t+2,La(e)),_a(_,e,t+4),t+=4+La(e)})}return{comment:a,ct:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:g,zipCrypto:S,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:R,createTempStream:D,dataDescriptorSignature:k,signal:v,useUnicodeFileNames:A,compressionMethod:T,format:C?C.format:$,codecURI:C?C.codecURI:$,lt:C?C.versionNeeded:$,level:U,useCompressionStream:M,dataDescriptor:O,zip64:N,rawExtraField:_}}})(e,t,s),{comment:d}=l,w=s[Wn];let p;e.files.set(t,$);try{const d=await(async(e,t,{ct:r},n)=>{const{passThrough:s,zipCrypto:a,password:i,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new u(wa);if(h=n[yn],h===$)throw new u(da)}const m=!0===d,y=Ua(e,n,Un),g=!!t&&(!!(i&&La(i)||o&&La(o))||s&&y);t||(w=0,f=0);const S=g?a?12:16+4*c:0;t&&(t=new on(t),await ln(t),s?(n.uncompressedSize=h,p=Ia(h)+S):t.size===$?(l=!0,(d||d===$)&&(d=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=Ia(h)+S));const b=m||h>=U,x=m||p>=U;if(b||x){if(!1===d)throw new u(la);d=!0}return d=d||!1,{reader:t,ct:{dataDescriptor:l,zip64:d,nt:b,et:x,uncompressedSize:h,level:w,compressionMethod:f,encrypted:g}}})(e,n,l,s);({reader:n}=d);const w=Ea(e.writer),h=Fa(e.writer),m=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:f,rawExtraField:p,encryptionStrength:h,extendedTimestamp:m,ntfsTimestamp:y,passThrough:g,encrypted:S,nt:b,et:x,uncompressedSize:z}=e;let{version:F,compressionMethod:E}=e;const R=!f&&(E===$?a===$||a>0:0!==E);let D;const k=g||!R,v=c&&(e.bufferedWrite||!w||!b&&!x||k),A=v||c&&w&&(b||x);if(c&&(b||x)){const e=20,t=za(e);if(t.uint16(1),t.uint16(e-4),D=t.array,v&&(t.wt(z),k)){const e=S?l?12:16+4*h:0;t.wt(g?0:z+e)}}else D=ne;let T,C,U,M,N;if(S&&!l){const e=za(La(fa)+2);e.uint16(39169),e.bytes(fa),T=e.array,T[8]=h}else T=ne;if(m){const e=Aa(r),t=Ta(e);if(t){const t=9+(n?4:0)+(s?4:0),r=za(t);M=1+(n?2:0)+(s?4:0),r.uint16(H),r.uint16(t-4),r.uint8(M),r.uint32(e),n&&r.uint32(Ca(Aa(n))),s&&r.uint32(Ca(Aa(s))),U=r.array}else U=ne;if(y===$?!t||n||s:y)try{const e=va(r),t=za(36);t.uint16(10),t.uint16(32),t.ut(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(va(n)||e),t.wt(va(s)||e),C=t.array}catch{C=ne}else C=ne}else C=U=ne;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=pa||t===$&&r===$)if(n!=ha||t===$&&r===$)N=ne;else{const e=za(8);e.uint16(30805),e.uint16(4),e.uint16((t===$?0:t)&I),e.uint16((r===$?0:r)&I),N=e.array}else{const e=xa(t),n=xa(r),s=3+e.length+n.length,a=za(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(n.length),a.bytes(n),N=a.array}}catch{N=ne}E===$&&(E=R?8:0);const{lt:_}=e;R&&_!==$&&(F=F>_?F:_),c&&(F=F>45?F:45),S&&!l&&(F=F>51?F:51,T[9]=E,E=99);const L=A?La(D):0,P=L+La(T,U,C,N,p);if(P>I)throw new u(ia);const W=new o(2e3*i.ceil(r.getTime()/2e3)),{Qe:Z,$e:V,rawLastModDate:B}=Pa({version:F,bitFlag:Wa(a,d,w,S,E),compressionMethod:E,uncompressedSize:z,lastModDate:Q>W?Q:W>J?J:W,rawFilename:t,et:x,nt:b,extraFieldLength:P}),j=za(X+La(t)+P),q=j.array,K=Oe(q);return j.uint32(O),j.bytes(Z),j.bytes(t),A&&j.bytes(D),j.bytes(T),j.bytes(U),j.bytes(C),j.bytes(N),j.bytes(p),w&&(x||Oa(K,18,0),b||Oa(K,22,0)),{ft:q,ht:K,Qe:Z,$e:V,lastModDate:r,rawLastModDate:B,encrypted:S,compressed:R,version:F,compressionMethod:E,ot:M,Ke:ne,yt:L,Ge:U,Xe:C,Je:N,Ye:T,extraFieldLength:P}})(s=r.assign({},s,c.ct,l.ct,d.ct,{internalFileAttribute:l.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Pn],offset:e.offset-w,diskNumberStart:h})),y=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ne,a=0,i=e?20:12;return r&&(i+=4),t&&(s=new f(i),n=Oe(s),r&&(a=4,Oa(n,0,_))),{gt:s,St:n,bt:a}})(s),S=La(m.ft,y.gt);p=await(async(e,t,n,s,i)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=i,{xt:p}=s,h=e.options[ns],m=e.qe;let y,S,b,x,z,F,R,k={},v=0;o.set(t,k),e.qe=k;try{let S;l&&(S=m&&m.lock,k.lock=new g(e=>b=e)),i.bufferedWrite||!l||e.zt||e.je||!d?(y=!0,e.je++,R=i.createTempStream?await i.createTempStream():new E($,$,{highWaterMark:ee}),R.size=0,await ln(c)):(R=c,await A()),await ln(R);const C=Ea(c);if(e.Ze){delete e.Ze;const t=new f(4);Oa(Oe(t),0,N),await ka(c,t),e.offset+=4}h&&!y&&ba(s,e.offset-C);const{ft:I}=p;y||(await S,await T());const O=Fa(c),_=Da(e,c);if(k.diskNumberStart=O,y||(z=!0,F=c.size,await ka(R,I)),k=await(async(e,t,{diskNumberStart:n,lock:s},i,o,c)=>{const{xt:l,Ft:d,Et:w}=i,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,Ke:x,yt:z,Ge:F,ot:E,Xe:R,Je:D,Ye:k}=l,{gt:v}=d,{rawFilename:A,lastAccessDate:T,creationDate:C,password:I,rawPassword:O,level:N,zip64:_,nt:L,et:P,zipCrypto:W,dataDescriptor:Z,directory:V,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,ge={lock:s,versionMadeBy:H,zip64:_,directory:!!V,executable:!!B,filenameUTF8:!0,rawFilename:A,commentUTF8:!0,rawComment:j,Ke:x,yt:z,Ge:F,Xe:R,Je:D,Ye:k,rawExtraField:q,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe};let{signature:Se,uncompressedSize:be}=c,xe=0;he||(be=0);const{writable:ze}=t;if(e){const r=kt(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Vt,level:N,rawPassword:O,password:I,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&M,signed:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:me,codecURI:ye,compressionMethod:b},config:o,oe:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await hr({readable:r,writable:ze},s);if(xe=e.outputSize,t.size+=xe,he||(be=e.inputSize,Se=e.signature),!P&&xe>=U||!L&&be>=U)throw new u(la)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,xt:n,Ft:s},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{$e:l,encrypted:d}=n,{St:w,bt:u}=s;d&&!o||e===$||(Oa(l,10,e),c&&Oa(w,u,e)),i?c&&(Na(w,u+4,a(t)),Na(w,u+12,a(r))):(Oa(l,14,t),Oa(l,18,r),c&&(Oa(w,u+4,t),Oa(w,u+8,r)))})({signature:Se,compressedSize:xe,uncompressedSize:be,xt:l,Ft:d},c),Z&&await ka(t,v),r.assign(ge,{uncompressedSize:be,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:T,encrypted:y,zipCrypto:W,size:w+xe,compressionMethod:b,version:S,Qe:f,$e:p,signature:Se,ot:E,nt:L,et:P}),ge})(n,R,k,s,e.config,i),y||(z=!1),o.set(t,k),k.filename=t,y){if(await g.all([R.writable.getWriter().close(),S]),await A(),x=!0,F=c.size,await T(),k.diskNumberStart=Fa(c),k.offset=Da(e,c),h){const t=s.Et;ba(s,e.offset-Ea(c)),k.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,yt:n,signature:s,compressedSize:i,uncompressedSize:o,nt:c,et:l},d,{dataDescriptor:w})=>{if(w||(t||Oa(d,14,s),l||Oa(d,18,i),c||Oa(d,22,o)),r&&n){const t=X+La(e)+4;Na(d,t,a(o)),Na(d,t+8,a(i))}})(k,p.ht,i),await ka(c,p.ft),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=La(e),v+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,c,w),c.size+=R.size,x=!1}else k.diskNumberStart=O,k.offset=_;return e.offset+=k.size,k}catch(r){if(x||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=v)}throw o.delete(t),r}finally{if(y&&e.je--,b&&b(),S&&S(),y&&R&&R.dispose)try{await R.dispose()}catch{}}async function A(){e.zt=!0;const{Rt:t}=e;e.Rt=new g(t=>S=()=>{e.zt=!1,t()}),await t}async function T(){Ra(c,La(p.ft))&&await c.closeDisk()}})(e,t,n,{xt:m,Ft:y,Et:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:d,extraField:w}),new qn(p)})(s,e,t,n),c.add(d),await d}catch(t){throw w&&s.Ve.delete(e),t}finally{c.delete(d);const e=ya.shift();e?e():ma--}}remove(e){const{Ve:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==$){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ne,r={}){const{He:n,writer:s}=this,{writable:i}=s;if(La(e)>I)throw new u($s);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ye:n,rawComment:s,Xe:a,Je:i,rawExtraField:o,extendedTimestamp:c,ot:l,lastModDate:d,nt:w,et:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=U,y=r.diskNumberStart>=I;let g,S;if(m||y||w||f){const e=4+(w?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=za(e);t.uint16(1),t.uint16(e-4),w&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ne;r.Ke=g,r.st=m,r.it=y;const b=Aa(d);if(c&&Ta(b)){const e=za(9);e.uint16(H),e.uint16(5),e.uint8(l),e.uint32(b),S=e.array}else S=ne;r.Ge=S;const x=La(g,n,a,i,S,o);if(x>I)throw new u(ia);t+=46+La(e,s)+x}return t})(e.files),i=await(async(e,r,n)=>{const{files:s,writer:a}=e,i=new f(r);await ln(a);let o=0,c=0,l=Fa(a),d=Ea(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,Ke:u,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:S,Qe:b,$e:x,nt:z,et:F,it:E,st:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:v,uncompressedSize:A,compressedSize:T}=r,C=La(u,f,p,h,m,y),M=46+La(w,g)+C;Ra(a,o+M-c)&&(await ka(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Fa(a),d=Ea(a)),z||Oa(x,18,A),F||Oa(x,14,T),(R||E)&&45>r.version&&Ma(x,0,45);const O=za(M);if(O.uint32(L),O.uint16(S),O.bytes(b.subarray(0,24)),O.uint16(C),O.uint16(La(g)),O.uint16(E?I:v),O.uint16(D),O.uint32(k),O.uint32(R?U:t),O.bytes(w),O.bytes(u),O.bytes(f),O.bytes(p),O.bytes(h),O.bytes(m),O.bytes(y),O.bytes(g),_a(i,O.array,o),o+=M,n.onprogress)try{await n.onprogress(e+1,s.size,new qn(r))}catch{}}return await ka(a,c?i.slice(c):i),{diskNumber:l,diskOffset:d}})(e,s,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Dt:i}=n;let{kt:o}=n,c=e.files.size,l=i.diskNumber,d=Da(e,i),w=Fa(s);Ra(s,V)&&w++;let f=Ua(e,r,Cn);if(!(U>d&&U>o&&I>c&&I>w)){if(!1===f)throw new u(la);f=!0}const p=La(t);if(p>I)throw new u($s);const h=za(f?98:V);Ra(s,La(h.array)+p)&&await s.closeDisk(),w=Fa(s),f&&(h.uint32(W),h.wt(44),h.uint16(45),h.uint16(45),h.uint32(w),h.uint32(l),h.wt(c),h.wt(c),h.wt(o),h.wt(d),h.uint32(Z),h.uint32(w),h.wt(a(Da(e,s))+a(o)),h.uint32(w+1),Ua(e,r,"supportZip64SplitFile",!0)&&(w=I,l=I),c=I,d=U,o=U),h.uint32(P),h.uint16(w),h.uint16(l),h.uint16(c),h.uint16(c),h.uint32(o),h.uint32(d),h.uint16(p),await ka(s,h.array),p&&await ka(s,t)})(e,r,n,{Dt:i,kt:s})})(this,e,r),Ua(this,r,ts)||await i.getWriter().close(),s.getData?s.getData():i}}function Sa(e,t,r){e.He.add(t),t.catch(e=>{try{r(e)}catch{}})}function ba(e,t){const{xt:r}=e;let{ft:n,extraFieldLength:s}=r,a=64-(t+La(n))%64;4>a&&(a+=64);const i=new f(a),o=Oe(i);Ma(o,0,6534),Ma(o,2,a-4);const c=n;r.ft=n=new f(La(c)+a),_a(n,c),_a(n,i,La(c));const l=Oe(n);Ma(l,28,s+a),r.ht=l,e.Et+=a}function xa(e){if(e===$)return ne;{const t=new f(4);Oe(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function za(e){const t=new f(e),r=Oe(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Ma(r,n,e),n+=2},uint32:e=>{Oa(r,n,e),n+=4},wt:e=>{Na(r,n,a(e)),n+=8},bytes:e=>{_a(t,e,n),n+=La(e)},ut:e=>n+=e}}function Fa(e){const{diskNumber:t=0}=e;return t}function Ea(e){const{diskOffset:t=0}=e;return t}function Ra(e,t){const{availableSize:r=ee}=e;return t>r}function Da(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Be:0)}async function ka(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=La(t),await n.write(t)}finally{n.releaseLock()}}function va(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Aa(e){return i.floor(e.getTime()/1e3)}function Ta(e){return e>=oa&&ca>=e}function Ca(e){return i.min(ca,i.max(oa,e))}function Ua(e,t,r,n){const s=t[r]===$?e.options[r]:t[r];return s===$?n:s}function Ia(e){return e+5*(i.floor(e/16383)+1)}function Ma(e,t,r){e.setUint16(t,r,!0)}function Oa(e,t,r){e.setUint32(t,r,!0)}function Na(e,t,r){e.setBigUint64(t,r,!0)}function _a(e,t,r){e.set(t,r)}function La(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Pa({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,et:c,nt:l,extraFieldLength:d}){const w=za(26),u=w.array,f=Oe(u);if(w.uint16(e),w.uint16(t),w.uint16(r),i===$){const e=new h(1),t=Oe(e);Ma(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Ma(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return w.uint32(i),w.ut(4),c||s!==$?w.uint32(c?U:s):w.ut(4),l||n!==$?w.uint32(l?U:n):w.ut(4),w.uint16(La(o)),w.uint16(d),{Qe:u,$e:f,rawLastModDate:i}}function Wa(e,t,r,n,s){let a=0;return t&&(a|=j),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const Za=1048576,Va=".zip.js-temp",Ba=1048576,Ha=1048576,ja=".zip.js-temp";try{(e=>{for(const t of ie){const r=e[t];r!==$&&(ae[t]=r)}de(e)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new w("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Lr,e.BlobWriter=Pr,e.Data64URIReader=class extends Mr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,vt:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{vt:r,dataURI:n}=this,s=new f(t),a=4*i.floor(e/3),o=atob(n.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++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Or{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=gs,e.ERR_BAD_FORMAT=os,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ds,e.ERR_DUPLICATED_NAME=Qs,e.ERR_ENCRYPTED=fs,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Ss,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ls,e.ERR_EOCDR_NOT_FOUND=cs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=us,e.ERR_HTTP_RANGE=zr,e.ERR_HTTP_RESOURCE_CHANGED=Fr,e.ERR_INVALID_CODEC_DEFINITION=we,e.ERR_INVALID_CODEC_MODULE=fe,e.ERR_INVALID_COMMENT=$s,e.ERR_INVALID_COMPRESSED_DATA=Tt,e.ERR_INVALID_ENCRYPTION_STRENGTH=na,e.ERR_INVALID_ENTRY_COMMENT=ea,e.ERR_INVALID_ENTRY_NAME=ta,e.ERR_INVALID_EXTRAFIELD_DATA=ia,e.ERR_INVALID_EXTRAFIELD_TYPE=aa,e.ERR_INVALID_PASSWORD=Ze,e.ERR_INVALID_SIGNATURE=Ve,e.ERR_INVALID_UNCOMPRESSED_SIZE=At,e.ERR_INVALID_VERSION=ra,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Er,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ws,e.ERR_OVERLAPPING_ENTRY=ys,e.ERR_RESERVED_COMPRESSION_METHOD=ue,e.ERR_SPLIT_ZIP_FILE=ms,e.ERR_UNDEFINED_READER=wa,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=da,e.ERR_UNSUPPORTED_COMPRESSION=hs,e.ERR_UNSUPPORTED_ENCRYPTION=ps,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=sa,e.ERR_UNSUPPORTED_FORMAT=la,e.ERR_WRITER_NOT_INITIALIZED=Rr,e.ERR_ZIP_NOT_EMPTY=ua,e.HttpRangeReader=class extends nn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=nn,e.Reader=Mr,e.SplitDataReader=sn,e.SplitDataWriter=an,e.TextReader=class extends Lr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Pr{constructor(e){super(e),r.assign(this,{encoding:e,At:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,At:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends Mr{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 Or{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 n=t.array;t.array=new f(e),t.array.set(n)}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=Or,e.ZipReader=Es,e.ZipReaderStream=Rs,e.ZipWriter=ga,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new ga(r,e),this.He=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new E({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Sa(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new E({start(e){t=e}});return Sa(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await g.all(t.from(this.He)),this.zipWriter.close(e,r)}},e.configure=de,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=Ba}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new D({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;n=new d(t.readable).blob(),r=t.writable.getWriter(),i=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=Za,directoryName:r=Va,getDirectory:n=()=>A.storage.getDirectory()}=e;let s;function a(){return s||(s=g.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,s,i,o=0,c=!1;const l=new D({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();r=z.randomUUID(),n=await t.getFileHandle(r,{create:!0}),s=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let d=0;return{writable:l,readable:new R({async pull(t){if(c){if(!i){const e=await n.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:t=Ha,directoryName:r=ja,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new u("createSyncAccessHandle is only available in dedicated workers");const s=n||(()=>A.storage.getDirectory());let a;function o(){return a||(a=g.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,n,s=0,a=!1,c=0,l=0;const d=new D({async write(i){a?(n.write(i,{at:c}),c+=i.length):(e.push(i),s+=i.length,s>t&&await(async()=>{const t=await o();r=z.randomUUID();const s=await t.getFileHandle(r,{create:!0});n=await s.createSyncAccessHandle(),a=!0;for(const t of e)n.write(t,{at:c}),c+=t.length;e.length=0})())},close(){n&&n.flush()}});let w=0;return{writable:d,readable:new R({pull(t){if(a){const e=c-l;if(0>=e)return void t.close();const r=new f(i.min(524288,e)),s=n.read(r,{at:l});s?(l+=s,t.enqueue(r.subarray(0,s))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await o();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof r!=pe||!r.length)throw new u(we);if(he.includes(t))throw new u(ue);const c=typeof a==re||typeof i==re;if(!(c||typeof n==pe&&n.length))throw new u(we);me.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:o}),c&&be(r,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of ie)delete oe[e];r.assign(oe,ae)},e.terminateWorkers=async()=>{await g.allSettled(dr.map(e=>(br(e),e.terminate()))),Yt=$},e.unregisterCodec=e=>{const t=me.get(e);if(t){let r;me.delete(e),me.forEach(e=>r=r||e.format==t.format),r||ye.delete(t.format)}}});
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:w,Error:u,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:v,DecompressionStream:k,navigator:A,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self;var C=void 0!==x?x.currentScript:null;const U=4294967295,I=65535,M=255,O=67324752,N=134695760,_=N,L=33639248,P=101010256,W=101075792,Z=117853008,V=22,B=20,H=21589,j=2048,q=16384,K=2048,Y=1024,G="/",X=30,J=new o(2107,11,31,23,59,58),Q=new o(1980,0,1),$=void 0,ee=1/0,te="undefined",ne="function",re=new f;let se=2;try{typeof A!=te&&A.hardwareConcurrency&&(se=A.hardwareConcurrency)}catch{}const ae={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:se,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof v!=te&&v,DecompressionStream:typeof k!=te&&k},ie=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],oe={...ae};function ce(){return oe}function le(e){return i.max(e.chunkSize,64)}function de(e){for(const t of ie){const n=e[t];n!==$&&(oe[t]=n)}}const we="Invalid codec definition",ue="Reserved compression method",fe="Invalid codec module",pe="string",he=[0,8,9,99],me=new c,ye=new c;function ge(e){return me.get(e)}function Se(e){return ye.get(e)}function be(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=ne&&typeof r!=ne)throw new u(fe);ye.set(e,{CompressionStream:n,DecompressionStream:r})}const xe=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;xe[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const n=xe[t-1][e];xe[t][e]=n>>>8^xe[0][255&n]}const[ze,Fe,Ee,Re,De,ve,ke,Ae]=xe;class Te{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;a>=r;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=Ae[255&e]^ke[e>>>8&255]^ve[e>>>16&255]^De[e>>>24&255]^Re[255&n]^Ee[n>>>8&255]^Fe[n>>>16&255]^ze[n>>>24&255]}}for(;n>r;r++)t=t>>>8^ze[255&(t^e[r])];this.o=t}get(){return~this.o}}class Ce extends E{constructor(){let e;const t=new Te;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new f(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Ue(e){if(typeof S==te){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new S).encode(e)}function Ie(e,t){const n=new f(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Me(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Oe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Ne={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Ne.l(n);return 32===r?e.concat(t):Ne.h(t,r,0|n,e.slice(0,e.length-1))},m(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Ne.l(n)},S(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Ne.F(t,e[n-1]&2147483648>>t-1,1)),e},F:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Ne.l(s);return r.push(Ne.F(t+a&31,t+a>32?n:r.pop(),1)),r}},_e={bytes:{R(e){const t=Ne.m(e)/8,n=new f(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},D(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(Ne.F(8*(3&n),r)),t}}},Le=class{constructor(e){const t=this;t.blockSize=512,t.v=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.C=e.C.slice(0),t.U=e.U):t.reset()}reset(){const e=this;return e.T=e.v.slice(0),e.C=[],e.U=0,e}update(e){const t=this;"string"==typeof e&&(e=_e.I.D(e));const n=t.C=Ne.concat(t.C,e),r=t.U,s=t.U=r+Ne.m(e);if(s>9007199254740991)throw new u("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;e+=t.blockSize)t.M(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}O(){const e=this;let t=e.C;const n=e.T;t=Ne.concat(t,[Ne.F(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.U/4294967296)),t.push(0|e.U);t.length;)e.M(t.splice(0,16));return e.reset(),n}N(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}_(e,t){return t<<e|t>>>32-e}M(e){const n=this,r=n.T,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n._(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._(5,a)+n.N(e,o,c,l)+d+s[e]+n.A[i.floor(e/20)]|0;d=l,l=c,c=n._(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},Pe={importKey:e=>new Pe.L(_e.bytes.D(e)),P(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new u("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),w=new m(d);let f=0;const p=Ne;for(t=_e.bytes.D(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;n>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>f&&o<a.length;o++)w.setInt32(f,a[o]),f+=4}return d.slice(0,r/8)},L:class{constructor(e){const t=this,n=t.W=Le,r=[[],[]];t.Z=[new n,new n];const s=t.Z[0].blockSize/32;e.length>s&&(e=(new n).update(e).O());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.Z[0].update(r[0]),t.Z[1].update(r[1]),t.V=new n(t.Z[0])}reset(){const e=this;e.V=new e.W(e.Z[0]),e.B=!1}update(e){this.B=!0,this.V.update(e)}digest(){const e=this,t=e.V.O(),n=new e.W(e.Z[1]).update(t).O();return e.reset(),n}encrypt(e){if(this.B)throw new u("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},We=typeof z!=te&&typeof z.getRandomValues==ne,Ze="Invalid password",Ve="Invalid signature",Be="zipjs-abort-check-password";function He(e){if(We)return z.getRandomValues(e);throw new u("Crypto API not supported")}const je=16,qe={name:"PBKDF2"},Ke=n.assign({hash:{name:"HMAC"}},qe),Ye=n.assign({iterations:1e3,hash:{name:"SHA-1"}},qe),Ge=["deriveBits"],Xe=[8,12,16],Je=[16,24,32],Qe=10,$e=[0,0,0,0],et=typeof z!=te,tt=et&&z.subtle,nt=et&&typeof tt!=te,rt=_e.bytes,st=class{constructor(e){const t=this;t.H=[[[],[],[],[],[]],[[],[],[],[],[]]],t.H[0][0][0]||t.j();const n=t.H[0][4],r=t.H[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new u("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.K(e,0)}decrypt(e){return this.K(e,1)}j(){const e=this.H[0],t=this.H[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[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,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let w=16843009*l^65537*c^257*o^16843008*d,u=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=u=u<<24^u>>>8,t[n][a]=w=w<<24^w>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}K(e,t){if(4!==e.length)throw new u("invalid aes block size");const n=this.A[t],r=n.length/4-2,s=[0,0,0,0],a=this.H[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let w,f,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],g=e[t?1:3]^n[3],S=4;for(let e=0;r>e;e++)w=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&g]^n[S],f=i[m>>>24]^o[y>>16&255]^c[g>>8&255]^l[255&h]^n[S+1],p=i[y>>>24]^o[g>>16&255]^c[h>>8&255]^l[255&m]^n[S+2],g=i[g>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[S+3],S+=4,h=w,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&g]^n[S++],w=h,h=m,m=y,y=g,g=w;return s}},at=class{constructor(e,t){this.Y=e,this.G=t,this.X=t}reset(){this.X=this.G}update(e){return this.J(this.Y,e,this.X)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}J(e,t,n){let r;if(!(r=t.length))return[];const s=Ne.m(t);for(let s=0;r>s;s+=4){this.ee(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return Ne.S(t,s)}},it=Pe.L;let ot=et&&nt&&typeof tt.importKey==ne,ct=et&&nt&&typeof tt.deriveBits==ne;class lt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r}){super({start(){wt(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,te:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await ft(e,t,n,ht(r,0,Xe[t])),a=ht(r,Xe[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new u(Ze)})(n,a,s,ht(e,0,Xe[a]+2)),e=ht(e,Xe[a]+2),r?t.error(new u(Be)):i()):await o;const c=new f(e.length-Qe-(e.length-Qe)%je);t.enqueue(ut(n,e,c,0,Qe,!0))},async flush(e){const{ne:t,re:n,pending:r,ready:s}=this;if(n&&t){await s;const a=ht(r,0,r.length-Qe),i=ht(r,r.length-Qe);let o=re;if(a.length){const e=yt(rt,a);n.update(e);const r=t.update(e);o=mt(rt,r)}const c=ht(mt(rt,n.digest()),0,Qe);let l=r.length<Qe?1:0;for(let e=0;Qe>e;e++)l|=c[e]^i[e];if(l)throw new u(Ve);e.enqueue(o)}}})}}class dt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n}){let r;super({start(){wt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,te:a,ready:i}=n;let o=re;r?(o=await(async(e,t,n)=>{const r=He(new f(Xe[t]));return Ie(r,await ft(e,t,n,r))})(n,s,r),a()):await i;const c=new f(o.length+e.length-e.length%je);c.set(o,0),t.enqueue(ut(n,e,c,o.length,0))},async flush(e){const{ne:t,re:n,pending:s,ready:a}=this;if(n&&t){await a;let i=re;if(s.length){const e=t.update(yt(rt,s));n.update(e),i=mt(rt,e)}r.signature=mt(rt,n.digest()).slice(0,Qe),e.enqueue(Ie(i,r.signature))}}}),r=this}}function wt(e,t,r,s){n.assign(e,{ready:new g(t=>e.te=t),password:pt(t,r),strength:s-1,pending:re})}function ut(e,t,n,r,s,a){const{ne:i,re:o,pending:c}=e;c.length&&(t=Ie(c,t));const l=t.length-s;let d;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new f(t)).set(n,0)}return e})(n,r+(l-l%je)),d=0;l-je>=d;d+=je){const e=yt(rt,ht(t,d,d+je));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(mt(rt,s),d+r)}return e.pending=ht(t,d),n}async function ft(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!ot)return Pe.importKey(t);try{return await tt.importKey("raw",t,n,!1,s)}catch{return ot=!1,Pe.importKey(t)}})(0,s,Ke,0,Ge),o=await(async(e,t,n)=>{if(!ct)return Pe.P(t,e.salt,Ye.iterations,n);try{return await tt.deriveBits(e,t,n)}catch{return ct=!1,Pe.P(t,e.salt,Ye.iterations,n)}})(n.assign({salt:a},Ye),i,8*(2*Je[r]+2)),c=new f(o),l=yt(rt,ht(c,0,Je[r])),d=yt(rt,ht(c,Je[r],2*Je[r])),w=ht(c,2*Je[r]);return n.assign(e,{keys:{key:l,se:d,passwordVerification:w},ne:new at(new st(l),t.from($e)),re:new it(d)}),w}function pt(e,t){return t===$?Ue(e):t}function ht(e,t,n){return e.subarray(t,n)}function mt(e,t){return e.R(t)}function yt(e,t){return e.D(t)}class gt extends E{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){bt(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=xt(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new u(Ze);e=e.subarray(12)}r?t.error(new u(Be)):t.enqueue(xt(n,e))}})}}class St extends E{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){bt(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=He(new f(12));t[11]=n.passwordVerification,r=new f(e.length+t.length),r.set(zt(n,t),0),s=12}else r=new f(e.length),s=0;r.set(zt(n,e),s),t.enqueue(r)}})}}function bt(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ae:new Te(s[0]),ie:new Te(s[2])}),r)for(let t=0;t<r.length;t++)Ft(e,r[t]);else for(let n=0;n<t.length;n++)Ft(e,t.charCodeAt(n))})(e,t,r)}function xt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=Et(e)^t[r],Ft(e,n[r]);return n}function zt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=Et(e)^t[r],Ft(e,t[r]);return n}function Ft(e,t){let[,n]=e.keys;e.ae.append([t]);const r=~e.ae.get();n=Dt(i.imul(Dt(n+Rt(r)),134775813)+1),e.ie.append([n>>>24]);const s=~e.ie.get();e.keys=[r,n,s]}function Et(e){const t=2|e.keys[2];return Rt(i.imul(t,1^t)>>>8)}function Rt(e){return 255&e}function Dt(e){return 4294967295&e}function vt(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function kt(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const At="Invalid uncompressed size",Tt="Invalid compressed data",Ct="deflate-raw",Ut="gzip",It=[31,139,8];class Mt extends E{constructor(e,{chunkSize:t,CompressionStreamZlib:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l,deflate64:d,format:w,compressionMethod:u}=e,f=this;let p,h,y,g=super.readable;const S=w&&Se(w),b=c&&s&&!d&&!S&&(!a||o)&&!(!i||!r);if(a&&!o||!c||b||(p=new Ce,g=Bt(g,p)),s)if(S)g=Ht(g,Zt(S.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:u}));else if(b)y=new Ot,g=Ht(g,new r(Ut)),g=Bt(g,y);else try{g=Vt(g,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Ut)}catch{throw e}g=Ht(g,t),g=Bt(g,new Ot)}a&&(o?g=Bt(g,new St(e)):(h=new dt(e),g=Bt(g,h))),Wt(f,g,()=>{let e;a&&!o&&(e=h.signature),a&&!o||!c||(e=b?y.signature:new m(p.value.buffer).getUint32(0)),f.signature=e})}}class Ot extends E{constructor(){let e,t=10,n=new f(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(8>=s)return void(n=Ie(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(Ie(n.subarray(0,o),e.subarray(0,a-o))),n=Ie(n.subarray(o),e.subarray(a-o))},flush(){const t=Oe(n);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Nt extends E{constructor(e,{chunkSize:t,DecompressionStreamZlib:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,b,x=super.readable;if(a&&(s?x=Bt(x,new gt(e)):(b=new lt(e),x=Bt(x,b))),c){const e=w&&Se(w);if(e)x=Ht(x,Zt(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=Vt(x,l,{chunkSize:t,deflate64:d},r,n)}catch(e){if(d||y===$)throw e;let t;try{t=new r(Ut)}catch{throw e}x=((e,t,n)=>{const r=new Te;let s,a,i,o=0,c=!1;const l=new g((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const d=new E({start(e){const t=new f(10);t.set(It),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Oe(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),w=new E({transform(e,t){r.append(e),o+=e.length,n>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=Bt(e,d),Bt(e=Ht(e,t),w);function p(){h(),s=setTimeout(()=>i(new u(At)),5e3)}function h(){clearTimeout(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new u(Tt);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(x)}a&&!s||!i||(S=new Ce,x=Bt(x,S)),Wt(this,x,()=>{if((!a||s)&&i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new u(Ve)}})}}const _t=new c;function Lt(e,t){if(!e)return!1;let n=_t.get(e);n||(n=new c,_t.set(e,n));let r=n.get(t);if(r===$){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Pt(e){return Lt(e,Ct)}function Wt(e,t,r){t=Bt(t,new E({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Zt(e,t,n){if(!e)throw new u("Compression method not supported");return new e(t,n)}function Vt(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":Ct;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Ht(e,o)}function Bt(e,t){return vt(e).pipeThrough(t)}function Ht(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const jt="data",qt="deflate",Kt="inflate";class Yt extends E{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(qt)?a=Mt:s.startsWith(Kt)&&(a=Nt),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new E({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==$&&r.outputSize>e.outputSize))throw new u(At)},flush(){const{signature:e}=o;n.assign(r,{signature:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Gt extends E{constructor(e){const t=[];let n=0;function r(){const r=new f(e);let s=0;for(;e>s;){const n=t[0],a=e-s;n.length>a?(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a):(r.set(n,s),s+=n.length,t.shift())}return n-=e,r}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new f(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Xt={type:"module"},Jt="error";let Qt,$t,en,tn,nn=!0;try{nn=typeof structuredClone==ne&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class rn{constructor(e,{readable:t,writable:r},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:w}=i;return n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Gt(le(a))).pipeThrough(new sn(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,transferStreams:c,terminate:()=>new g(t=>{const{de:n,ce:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.ue=null):t()}),fe(){if(e.ce){const{we:t}=e;t&&(e.we=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,d(e)}}}),Qt===$&&(Qt=typeof T!=te),(o&&Qt?cn:on)(e,a)}}class sn extends E{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await an(e,n)},async transform(e,r){s+=e.length,t&&await an(t,s,n),r.enqueue(e)},async flush(){r&&await an(r,s)}})}}async function an(e,...t){try{await e(...t)}catch{}}function on(e,t){return{run:()=>ln(e,t)}}function cn(e,t){const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.ue){let c;typeof o==ne&&(o=o());try{c=wn(e.workerURI,r,e)}catch{return Qt=!1,on(e,t)}n.assign(e,{de:c,he:!1,pe:!1,ue:{run:async()=>{try{return await(async(e,t)=>{let r,a;const i=new g((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,me:r,ye:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ge:w}=(e=>{const t=new AbortController,{writable:n,readable:r}=new E,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ge:()=>t.abort()}})(e.writable);let f;try{f=pn({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){w();try{await d}catch{}throw e.fe(),t}f||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.he||!s.isFinite(p)||0>p||(e.Se=setTimeout(()=>(e=>{if(e.Se=null,e.he)return;const{ye:t,writer:n}=e;if(dn(e),e.de=null,t){const e=new u("Worker startup timeout");e.be=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.be){Qt=!1;const{reader:n}=e;return n&&n.releaseLock(),e.reader=null,e.writer=null,ln(e,t)}throw n}}}})}return e.ue}async function ln({options:e,readable:t,writable:n,fe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(qt),n=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.xe&&!Pt(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.xe||(e.useCompressionStream=!0)}}a=new Yt(e,s),await t.pipeThrough(a).pipeThrough(new Gt(le(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:r,inputSize:i,outputSize:o}=a;return{signature:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}function dn(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.ue=null}function wn(e,t,r,s,a=!0){let i,o,c;if(en===$||$t!==e){const n=typeof e==ne;o=n?e(a):e;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){s===$&&(s=!1),s&&(c=Xt);try{i=new T(o,c)}catch(a){if(d)try{w.revokeObjectURL(o)}catch{}if(n&&d)return wn(e,t,r,s,!1);if(s)throw a;return wn(e,t,r,!0,!1)}}else{s===$&&(s=!0),s&&(c=Xt);try{o=new w(o,t)}catch{}try{i=new T(o,c)}catch(n){if(s)throw n;return wn(e,t,r,!1,a)}}$t=e,en=o,tn=c}else i=new T(en,tn);return i.addEventListener("message",e=>{r.he=!0,un(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,me:d,ye:w,fe:p,le:h}=t,m=()=>t.le!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i}=o,c=new u(e);n.assign(c,{stack:t,code:r,name:s,outputSize:a}),i&&(c.cause=n.assign(new u(i.message),{name:i.name})),y(c)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||pn({type:jt,value:e,done:n,messageId:a},t)}r==jt&&(await l.ready,await l.write(new f(s)),m()||pn({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(dn(t),y(o))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),p())}})(e,r)}),i.addEventListener(Jt,e=>fn(e,r)),i.addEventListener("messageerror",e=>fn(e,r)),i}function un(e){const{Se:t}=e;t&&(clearTimeout(t),e.Se=null)}function fn(e,t){e.preventDefault&&e.preventDefault(),un(t);const{he:r,ye:s,writer:a,fe:i}=t;if(dn(t),r||(t.de=null),s){let t=e.error||new u(e.message||Jt);r||(t=n.assign(new u(t.message||Jt),{be:!0})),s(t),a&&a.releaseLock(),r&&i()}}function pn(e,{de:t,writer:n,transferStreams:r,he:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=Me(n),o.push(e.value.buffer)),r&&nn&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{nn=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}let hn=[];const mn=[];let yn,gn,Sn=0;async function bn(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,signed:l,encrypted:d,format:u,codecURI:f}=n,{workerURI:p,maxWorkers:h}=r;u&&(f&&(n.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(f,r.baseURI)),await(async(e,t)=>{!ye.has(e)&&t&&be(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(u,n.codecURI)),t.transferStreams=a||a===$&&r.transferStreams;const m=!c&&!l&&!d,y=u===$||!!n.codecURI;return t.useWebWorkers=!m&&y&&(i||i===$&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&p?p:$,n.useCompressionStream=o||o===$&&r.useCompressionStream,(await(async()=>{const n=hn.find(e=>!e.ce);if(n)return Rn(n),new rn(n,e,t,S);if(hn.length<h){const n={ze:Sn};return Sn++,hn.push(n),new rn(n,e,t,S)}return new g(n=>{mn.push({resolve:n,stream:e,Fe:t}),gn=r.workerStarvationTimeout,xn()})})()).run();function S(e){if(zn(),mn.length){const[{resolve:t,stream:n,Fe:r}]=mn.splice(0,1);t(new rn(e,n,r,S)),xn()}else e.de?(Rn(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.Ee=setTimeout(async()=>{hn=hn.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):hn=hn.filter(t=>t!=e)}}function xn(){!yn&&mn.length&&s.isFinite(gn)&&gn>=0&&(yn=setTimeout(Fn,gn))}function zn(){yn&&(clearTimeout(yn),yn=null)}function Fn(){if(yn=null,mn.length){const[{resolve:e,stream:t,Fe:r}]=mn.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:$});e(new rn({},t,s,En)),xn()}}function En(){zn(),xn()}function Rn(e){const{Ee:t}=e;t&&(clearTimeout(t),e.Ee=null)}const Dn="HTTP error ",vn="HTTP Range not supported",kn="HTTP resource changed",An="Writer iterator completed too soon",Tn="Writer not initialized",Cn="Content-Range",Un="Range",In="GET",Mn="bytes",On=16777216,Nn="writable",_n=Symbol();class Ln{constructor(){this.size=0}init(){this.initialized=!0}}class Pn extends Ln{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=le(ce())}={}){const r=this;let s=0;return new R({async pull(a){const o=t===$?n:i.min(n,t-s),c=await pr(r,e+s,o);a.enqueue(c),s+n>t||t===$&&!c.length&&o?a.close():s+=n}})}}class Wn extends Ln{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new u(Tn);return e.writeUint8Array(Me(t))}});n.defineProperty(e,Nn,{get:()=>t})}writeUint8Array(){}}let Zn,Vn;class Bn extends Pn{constructor(e){super(),n.assign(this,{blob:e,size:e.size}),Vn||(Vn=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Zn=1==t}catch{Zn=!1}})())}createReadable(e){const{blob:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return r||n>s?Zn?vt(t.slice(r,r+s).stream()):super.createReadable(e):vt(t.stream())}async readUint8Array(e,t){const n=this,r=e+t,s=e||r<n.size?n.blob.slice(e,r):n.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new f(a)}}class Hn extends Ln{constructor(e){super();const t=this,r=new E;if(n.defineProperty(t,Nn,{get:()=>r.writable}),typeof y.prototype.stream!=ne||new y([]).stream()instanceof R){const n=[];e&&n.push(["Content-Type",e]),t.blob=new d(r.readable,{headers:n}).blob()}else{const n=[];t.blob=r.readable.pipeTo(new D({write(e){n.push(e)}})).then(()=>new y(n,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class jn extends Pn{constructor(e,t){super(),Kn(this,e,t)}async init(){await Yn(this,ir,nr),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==$){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&a>n)return((e,t,n)=>{let r,a=t,o=0,c=n;return new R({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new u(vn);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=$,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await ir(In,e,er(e,a,t));if(206!=n.status)throw new u(vn);const l=n.headers.get(Cn);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new u(vn)}$n(e,n),Qn(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return Gn(this,e,t,ir,nr)}}class qn extends Pn{constructor(e,t){super(),Kn(this,e,t)}async init(){await Yn(this,or,rr),super.init()}readUint8Array(e,t){return Gn(this,e,t,or,rr)}}function Kn(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=On,fetch:d}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Yn(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ce(),{protocol:n}=new w(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(void 0===s||s)){const r=await t(In,e,er(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Mn))throw new u(vn);{if(o){const t=new f(await r.arrayBuffer());206==r.status&&t.length==V&&(e.Re=t)}Qn(e,r);const s=Xn(r);s===$?await ar(e,t,n):e.size=s}}else await ar(e,t,n)}async function Gn(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,Re:c,size:l,options:d}=e;if(i||o){if(c&&t==l-V&&n==V)return c;if(l>t&&0!==n){t+n>l&&(n=l-t);const a=await r(In,e,er(e,t,n));if(206!=a.status)throw new u(vn);const i=a.headers.get(Cn);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new u(vn)}$n(e,a),Qn(e,a);const o=new f(await a.arrayBuffer());if(o.length!=n)throw new u(vn);return o}return re}{const{data:r}=e;return r||await a(e,d),e.data.subarray(t,t+n)}}function Xn(e){const t=e.headers.get(Cn);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Jn({headers:e}){return{De:e.get("Etag")||$,lastModified:e.get("Last-Modified")||$}}function Qn(e,t){const{checkResourceChanges:n,ve:r}=e;n&&!r&&206==t.status&&(e.ve=Jn(t))}function $n(e,t){const{checkResourceChanges:r,ve:s,size:a}=e;if(r){const e=Xn(t);if(e!==$&&a!==$&&e!=a)throw new u(kn);if(s){const e=Jn(t);if(n.entries(s).some(([t,n])=>n!==$&&e[t]!==$&&n!=e[t]))throw new u(kn)}}}function er(e,t=0,r=1){return n.assign({},tr(e),{[Un]:Mn+"="+(0>t?t:t+"-"+(t+r-1))})}function tr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function nr(e){await sr(e,ir)}async function rr(e){await sr(e,or)}async function sr(e,t){const n=await t(In,e,tr(e));e.data=new f(await n.arrayBuffer()),e.size=e.data.length}async function ar(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,tr(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function ir(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new u(vn):new u(Dn+(i.statusText||i.status))}function or(e,{url:t},r){return new g((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new u(vn):new u(Dn+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new u("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class cr extends Pn{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new qn(e,t):new jn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class lr extends Pn{constructor(e){super(),this.ke=e}async init(){const e=this,{ke:t}=e;e.Ae=0,await g.all(t.map(e=>fr(e))),e.Te=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ce(e){const{Te:t,size:n}=this,r=t[e];return r===$?n:r}async readUint8Array(e,t){const n=this,{ke:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t>r){const a=r-o;s=Ie(await pr(c,o,a),await n.readUint8Array(e+a,t-a))}else s=await pr(c,o,t)}else s=re;return n.Ae=i.max(a,n.Ae),s}}class dr extends Ln{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===_n)return void(i&&await l());const{availableSize:n}=r;if(i)t.length<n?await c(t):(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new u(An);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await fr(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await d(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function d(){await i.close()}n.defineProperty(r,Nn,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(_n)}finally{e.releaseLock()}}}class wr{constructor(e){return t.isArray(e)&&(e=new lr(e)),(e instanceof R||typeof e.getReader==ne)&&(e={readable:vt(e)}),e}}class ur{constructor(e){return e.writable===$&&typeof e.next==ne&&(e=new dr(e)),(e instanceof D||typeof e.getWriter==ne)&&(e={writable:kt(e)}),e.size===$&&(e.size=0),e}}async function fr(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function pr(e,t,n){return e.readUint8Array(t,n)}const hr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function mr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=hr[e[n]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const yr="filename",gr="rawFilename",Sr="comment",br="rawComment",xr="uncompressedSize",zr="compressedSize",Fr="offset",Er="diskNumberStart",Rr="lastModDate",Dr="rawLastModDate",vr="lastAccessDate",kr="creationDate",Ar="rawCreationDate",Tr="internalFileAttributes",Cr="externalFileAttributes",Ur="msdosAttributesRaw",Ir="msdosAttributes",Mr="msDosCompatible",Or="zip64",Nr="encrypted",_r="version",Lr="versionMadeBy",Pr="zipCrypto",Wr="directory",Zr="executable",Vr="compressionMethod",Br="signature",Hr="extraField",jr="unixMode",qr="setuid",Kr="setgid",Yr="sticky",Gr=[yr,gr,xr,zr,Rr,Dr,Sr,br,vr,kr,Ar,Fr,Er,Tr,Cr,Ur,Ir,Mr,Or,Nr,_r,Lr,Pr,Wr,Zr,Vr,Br,Hr,"extraFieldUnix","extraFieldInfoZip","uid","gid",jr,qr,Kr,Yr,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Xr{constructor(e){Gr.forEach(t=>this[t]=e[t])}}const Jr="password",Qr="rawPassword",$r="passThrough",es="signal",ts="checkAmbiguity",ns="useWebWorkers",rs="useCompressionStream",ss="transferStreams",as="preventClose",is="offset",os="usdz",cs="strictness",ls="strict",ds="tolerant",ws="File format is not recognized",us="End of central directory not found",fs="End of Zip64 central directory locator not found",ps="Central directory header not found",hs="Local file header not found",ms="Zip64 extra field not found",ys="File contains encrypted entry",gs="Encryption method not supported",Ss="Compression method not supported",bs="Split zip file",xs="Overlapping entry found",zs="Ambiguous archive",Fs="Encrypted central directory is not supported",Es="utf-8",Rs="cp437",Ds=[[xr,U],[zr,U],[Fr,U],[Er,I]],vs={[I]:{Ue:$s,bytes:4},[U]:{Ue:ea,bytes:8}};class ks{constructor(e,t={}){n.assign(this,{reader:new wr(e),options:t,config:ce(),Ie:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await fr(r),r.size!==$&&r.readUint8Array||(r=new Bn(await new d(r.readable).blob()),await fr(r)),r.size<V)throw new u(ws);const a=Ls(Ys(t,e,cs),Ys(t,e,ts)),o=a==ls,c=a!=ds,w=((e,t)=>e!==$?e:t==ls?0:t==ds?1/0:I)(Ys(t,e,"maxAppendedDataSize"),a),{Me:f,Oe:p}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:Ps};let o,c,l=0;for await(const[n,i,d,w,u]of Bs(e,s)){const s=Qs(n,w+20);if(u+V+s==r){const s=await js(e,n,i,w,u,r,a);if(s==Vs){if(o||(o=Hs(d,w,u)),l++,!t||l>1)break}else s!=Zs||c||(c=Hs(d,w,u))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,d]of Bs(e,s)){const s=Hs(c,l,d);a||(a=s);const w=await js(e,t,i,l,d,r,n);if(w==Vs)return s;w!=Zs||o||(o=s)}return o||a})(e,n,a)),{Me:o,Oe:l}})(r,c,w);if(!f)throw $s(Oe(await pr(r,0,4)))==N?new u(bs):new u(us);c&&p>1&&Ks("multiple end of central directory records");const h=Oe(f);let m=$s(h,12),y=$s(h,16);const S=f.offset,b=Qs(h,20),x=S+V+b;r.size-x>w&&Ks("appended data");let z=Qs(h,4);const F=r.Ae||0;let R,D,v,k=Qs(h,6),A=Qs(h,10),T=0;const C=y==U||m==U||A==I||k==I;if(y!=U&&k!=I&&(y+=_s(r,k)),C){const e=f.offset<B?re:await pr(r,f.offset-B,B),t=Oe(e);if(e.length==B&&$s(t,0)==Z){y=_s(r,$s(t,4))+ea(t,8);let e=await pr(r,y,56),n=Oe(e);const s=f.offset-B-56;if((56>e.length||$s(n,0)!=W)&&y!=s&&s>=0){const t=y;y=s,y>t&&(T=y-t),e=await pr(r,y,56),n=Oe(e)}if(56>e.length||$s(n,0)!=W)throw new u(fs);D=!0,v=ea(n,4)>44,z==I?z=$s(n,16):o&&z!=$s(n,16)&&Ks("mismatched zip64 end of central directory record"),k==I?k=$s(n,20):o&&k!=$s(n,20)&&Ks("mismatched zip64 end of central directory record"),A==I?A=ea(n,32):o&&A!=ea(n,32)&&Ks("mismatched zip64 end of central directory record"),m==U?m=ea(n,40):o&&m!=ea(n,40)&&Ks("mismatched zip64 end of central directory record"),y=_s(r,k)+ea(n,48)+T}}const O=m,_=f.offset-(D?76:0);if(y<r.size||(T=r.size-y-m-V,y=r.size-m-V),F!=z)throw new u(bs);if(0>y)throw new u(ws);let P=0,H=await pr(r,y,m),j=Oe(H);if(m){if(4>H.length)throw new u(ws);const e=_-m;if(y!=e&&k==z){let t=!($s(j,P)==L);if(t||0>e||e+4>r.size||(t=$s(Oe(await pr(r,e,4)),0)==L),t){const t=y;y=e,y>t&&(T+=y-t),H=await pr(r,y,m),j=Oe(H)}}}const X=_-y;if(m==X||0>X||k!=z||(m=X,H=await pr(r,y,m),j=Oe(H)),0>y||y>=r.size)throw new u(ws);R=y;const J=Ys(t,e,"filenameEncoding"),Q=Ys(t,e,"commentEncoding"),ee=o?new l:$;let te;for(let a=0;A>a;a++){const c=new Ts(r,s,t.options);if(P+46>H.length||$s(j,P)!=L){if(0==a&&(v||Cs(j)))throw new u(Fs);throw new u(ps)}Us(c,j,P+6);const l=!!c.bitFlag.languageEncodingFlag,w=P+46,f=w+c.filenameLength,p=f+c.extraFieldLength,h=Qs(j,P+4),m=!(h>>8),y=h>>8==3,S=H.subarray(w,f),b=Qs(j,P+32),x=p+b,z=H.subarray(p,x),F=l,D=l,k=$s(j,P+38),C=k&M,U={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},O=$s(j,P+42),N=Ys(t,e,"decodeText")||mr,_=F?Es:J||Rs,W=D?Es:Q||Rs;let Z=N(S,_);Z===$&&(Z=mr(S,_));let V=N(z,W);V===$&&(V=mr(z,W)),n.assign(c,{index:a,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Ne:b,offset:O,diskNumberStart:Qs(j,P+34),internalFileAttributes:Qs(j,P+36),externalFileAttributes:k,msdosAttributesRaw:C,msdosAttributes:U,rawFilename:S,filenameUTF8:F,commentUTF8:D,rawExtraField:H.subarray(f,p),rawComment:z,filename:Z,comment:V}),Is(c,c,j,P+6),c.offset+=T,R=i.min(_s(r,c.diskNumberStart)+c.offset,R),o&&(ee.has(c.filename)&&(te=!0),ee.add(c.filename));const B=c.externalFileAttributes>>16&I;c.unixMode===$&&16877&B&&(c.unixMode=B);const X=!!(c.unixMode&K),ne=!!(c.unixMode&Y),re=!!(512&c.unixMode),se=c.unixMode!==$?!!(73&c.unixMode):y&&!!(73&B),ae=c.unixMode!==$&&(61440&c.unixMode)==q,ie=(61440&B)==q;n.assign(c,{setuid:X,setgid:ne,sticky:re,unixExternalUpper:B,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:se,directory:ae||ie||m&&U.directory||c.filename.endsWith(G)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new Xr(c);oe.getData=(e,n)=>c.getData(e,oe,t.Ie,n),oe.arrayBuffer=async e=>{const n=new E,[r]=await g.all([new d(n.readable).arrayBuffer(),c.getData(n,oe,t.Ie,e)]);return r},P=x;const{onprogress:ce}=e;if(ce)try{await ce(a+1,A,new Xr(c))}catch{}yield oe}o&&P!=O&&Ks("trailing central directory data"),te&&Ks("duplicate filename"),o&&(T||A&&R>0)&&Ks("prepended data");const ne=Ys(t,e,"extractPrependedData"),se=Ys(t,e,"extractAppendedData");return ne&&(t.prependedData=R>0?await pr(r,0,R):re),t.comment=b?await pr(r,S+V,b):re,se&&(t.appendedData=x<r.size?await pr(r,x,r.size-x):re),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class As{constructor(e={}){const{readable:t,writable:n}=new E,r=new ks(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new E;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class Ts{constructor(e,t,r){n.assign(this,{reader:e,config:t,options:r})}async getData(e,t,n,r={}){const s=this,{reader:a,index:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:f,bitFlag:p,rawBitFlag:h,signature:m,rawLastModDate:y,uncompressedSize:g,compressedSize:S}=s,{dataDescriptor:b}=p,x=t.localDirectory={},z=_s(a,c)+o,F=await pr(a,z,X),E=Oe(F);let R=Ys(s,r,Jr),v=Ys(s,r,Qr);const k=Ys(s,r,$r);if(R=R&&R.length&&R,v=v&&v.length&&v,l&&99!=l.originalCompressionMethod)throw new u(Ss);if(F.length<X||$s(E,0)!=O)throw new u(hs);Us(x,E,4);const{extraFieldLength:A,filenameLength:T}=x,C=Ls(Ys(s,r,cs),Ys(s,r,ts))==ls;let U=re;if(C&&(T||A)){const e=await pr(a,z+X,T+A);U=e.subarray(0,T),x.rawExtraField=e.subarray(T)}else x.rawExtraField=A?await pr(a,z+X+T,A):re;Is(s,x,E,4,!0),C&&((e,t,n)=>{const{rawFilename:r}=e;(n.length!=r.length||n.some((e,t)=>e!=r[t]))&&Ks("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Ks("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Ks("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Ks("mismatched local file header (signature or sizes)")})(s,x,U);const{lastAccessDate:I,creationDate:N}=x;I&&(t.lastAccessDate=I),N&&(t.creationDate=N);const L=s.encrypted&&x.encrypted&&!k,P=L&&!l;if(k||(t.zipCrypto=P),L&&!(64&~x.rawBitFlag))throw new u(gs);const W=k?$:ge(w);if(0!=w&&8!=w&&9!=w&&!W&&!k)throw new u(Ss);if(L){if(!P&&(1>l.strength||l.strength>3))throw new u(gs);if(!R&&!v)throw new u(ys)}const Z=z+X+T+A,V=S,B=vt(a.createReadable({offset:Z,size:V})),H=Ys(s,r,es),j=Ys(s,r,"checkPasswordOnly");let q=Ys(s,r,"checkOverlappingEntry");const K=Ys(s,r,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:J}=r,Q=9==w;let ee=Ys(s,r,rs);Q&&(ee=!1);const te={options:{codecType:Kt,password:R,rawPassword:v,zipCrypto:P,encryptionStrength:l&&l.strength,signed:Ys(s,r,"checkSignature")&&!k,passwordVerification:P&&(b?y>>>8&M:m>>>24&M),outputSize:k?S:g,signature:m,compressed:0!=w&&!k,encrypted:L,useWebWorkers:Ys(s,r,ns),useCompressionStream:ee,transferStreams:Ys(s,r,ss),deflate64:Q,format:W?W.format:$,codecURI:W?W.codecURI:$,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:j},config:f,oe:{signal:H,size:V,onstart:Y,onprogress:G,onend:J}};let ne;q&&await(async({reader:e,_e:t,index:n,offset:r,signature:s,compressedSize:a,uncompressedSize:i,Le:o,dataDescriptor:c,extraFieldZip64:l,Ie:d})=>{let w=0;if(c&&(w=l?20:12),w){const n=await pr(e,o+a,w+4);if(n.length==w+4&&$s(Oe(n),0)==_){const e=$s(Oe(n),4);let r,o;l?(r=ea(Oe(n),8),o=ea(Oe(n),16)):(r=$s(Oe(n),8),o=$s(Oe(n),12)),(t.encrypted&&!t.zipCrypto||e==s)&&r==a&&o==i&&(w+=4)}}const f={start:r,end:o+a+w,_e:t};for(const[e,t]of d)if(e!=n&&f.start<t.end&&t.start<f.end){const e=new u(xs);throw e.Pe=t._e,e}d.set(n,f)})({reader:a,_e:t,index:i,offset:z,signature:m,compressedSize:S,uncompressedSize:g,Le:Z,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Ie:n});try{if(!K){j&&(e=new D),e=new ur(e),await fr(e,k?S:g),({writable:ne}=e);const{outputSize:t}=await bn({readable:B,writable:ne},te);if(e.size+=t,t!=(k?S:g))throw new u(At)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!j||t.message!=Be)throw t}finally{Ys(s,r,as)||!ne||ne.locked||await ne.getWriter().close()}return j||K?$:e.getData?e.getData():ne}}function Cs(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;t>n;n++)if(134630224==$s(e,n))return!0;return!1}function Us(e,t,r){const s=e.rawBitFlag=Qs(t,r+2),a=!(1&~s),i=$s(t,r+6);n.assign(e,{encrypted:a,version:Qs(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&j)==j},rawLastModDate:i,lastModDate:Gs(i),filenameLength:Qs(t,r+22),extraFieldLength:Qs(t,r+24)})}function Is(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Oe(i);let w=0;try{for(;w<i.length;){const e=Qs(d,w),t=Qs(d,w+2);l.set(e,{type:e,data:i.slice(w+4,w+4+t)}),w+=4+t}}catch{}const f=Qs(r,s+4);n.assign(t,{signature:$s(r,s+10),compressedSize:$s(r,s+14),uncompressedSize:$s(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=Oe(e.data),r=Ds.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+vs[t].bytes,0);if(e.data.length<s)throw new u(ms);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=vs[o];t[i]=e[i]=c.Ue(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Ms(h,yr,gr,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Ms(m,Sr,br,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=Oe(e.data),a=Js(s,4);n.assign(e,{We:Js(s,0),vendorId:Js(s,2),strength:a,originalCompressionMethod:r,compressionMethod:Qs(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=l.get(10);g&&(((e,t)=>{const r=Oe(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=Qs(r,a),n=Qs(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}try{if(s&&24==s.length){const r=Oe(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:Xs(a),lastAccessDate:Xs(i),creationDate:Xs(o)};n.assign(e,c),n.assign(t,c)}}catch{}})(g,t),t.extraFieldNTFS=g);const S=l.get(30805);if(S)Os(S,t,!1),t.extraFieldUnix=S;else{const e=l.get(30837);e&&(Os(e,t,!0),t.extraFieldInfoZip=e)}const b=l.get(H);b&&(((e,t,n)=>{if(!e.data.length)return;const r=Oe(e.data),s=Js(r,0),a=[],i=[];n?(1&~s||(a.push(Rr),i.push(Dr)),2&~s||(a.push(vr),i.push("rawLastAccessDate")),4&~s||(a.push(kr),i.push(Ar))):5>e.data.length||(a.push(Rr),i.push(Dr));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=$s(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(b,t,a),t.extraFieldExtendedTimestamp=b);const x=l.get(6534);x&&(t.extraFieldUSDZ=x)}function Ms(e,t,r,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Oe(e.data),o=new Te;o.append(a[r]);const c=Oe(new f(4));c.setUint32(0,o.get(),!0);const l=$s(i,1);n.assign(e,{version:Js(i,0),[t]:mr(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==$s(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Os(e,t,r){try{const s=Oe(e.data);let a,i;if(r){let t=0;const r=Js(s,t++),o=Js(s,t++);a=Ns(e.data.subarray(t,t+o)),t+=o;const c=Js(s,t++);i=Ns(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else 4>e.data.length||(a=Qs(s,0),i=Qs(s,2),n.assign(e,{uid:a,gid:i}));a!==$&&(t.uid=a),i!==$&&(t.gid=i)}catch{}}function Ns(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){return e.Ce?e.Ce(t):0}function Ls(e,t){return e===$?t?ls:"balanced":e}const Ps=64,Ws=0,Zs=1,Vs=2;async function*Bs(e,t){const n=e.size-t,r=await pr(e,n,t),s=Oe(r);for(let e=r.length-V;e>=0;e--)$s(s,e)==P&&(yield[s,n,r,e,n+e])}function Hs(e,t,n){return{offset:n,buffer:e.slice(t,t+V).buffer}}async function js(e,t,n,r,s,a,i){const o=Qs(t,r+10),c=$s(t,r+12),l=$s(t,r+16);if(o==I||c==U||l==U)return await qs(e,t,n,s-B,a,i)==Z?Vs:Ws;if(!o&&!c)return Zs;const d=Qs(t,r+6);for(const r of[s-c,_s(e,d)+l])if(await qs(e,t,n,r,a,i)==L)return Vs;return Ws}async function qs(e,t,n,r,s,a){return 0>r||r+4>s?$:n>r?a.count>0?(a.count--,$s(Oe(await pr(e,r,4)),0)):$:$s(t,r-n)}function Ks(e){const t=new u(zs);throw t.reason=e,t}function Ys(e,t,n){return t[n]===$?e.options[n]:t[n]}function Gs(e){const t=(4294901760&e)>>16,n=e&I;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch{}}function Xs(e){return new o(s(e/a(1e4)-a(116444736e5)))}function Js(e,t){return e.getUint8(t)}function Qs(e,t){return e.getUint16(t,!0)}function $s(e,t){return e.getUint32(t,!0)}function ea(e,t){return s(e.getBigUint64(t,!0))}var ta=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:zs,ERR_BAD_FORMAT:ws,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ps,ERR_ENCRYPTED:ys,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Fs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:fs,ERR_EOCDR_NOT_FOUND:us,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ms,ERR_INVALID_COMPRESSED_DATA:Tt,ERR_INVALID_PASSWORD:Ze,ERR_INVALID_SIGNATURE:Ve,ERR_INVALID_UNCOMPRESSED_SIZE:At,ERR_LOCAL_FILE_HEADER_NOT_FOUND:hs,ERR_OVERLAPPING_ENTRY:xs,ERR_SPLIT_ZIP_FILE:bs,ERR_UNSUPPORTED_COMPRESSION:Ss,ERR_UNSUPPORTED_ENCRYPTION:gs,ZipReader:ks,ZipReaderStream:As});const na="File already exists",ra="Zip file comment exceeds 64KB",sa="File entry comment exceeds 64KB",aa="File entry name exceeds 64KB",ia="Version exceeds 65535",oa="The strength must equal 1, 2, or 3",ca="Encryption is not supported in USDZ files",la="Extra field type exceeds 65535",da="Extra field data exceeds 64KB",wa=-2147483648,ua=2147483647,fa="Zip64 is not supported (set the 'zip64' option to 'true')",pa="Undefined uncompressed size",ha="Undefined reader",ma="Zip file not empty",ya=new f([7,0,2,0,65,69,3,0,0]),ga="infozip",Sa="unix";let ba=0;const xa=[];class za{constructor(e,t={}){e=new ur(e);const{availableSize:r=ee,maxSize:s=ee}=e,a=r>0&&r!==ee&&s>0&&s!==ee;n.assign(this,{writer:e,Ze:a,options:t,config:ce(),files:new c,Ve:new l,offset:t[is]===$?e.size||e.writable.size||0:t[is],Be:t[is]===$?0:t[is]-(e.size||e.writable.size||0),He:new l,je:0,qe:$})}async prependZip(e){if(this.Ve.size)throw new u(ma);e=new wr(e),await fr(e);const{ZipReader:t}=await g.resolve().then(()=>ta),r=new t(e.readable),s=await r.getEntries();await r.close(),await fr(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ve=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:u,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:S,languageEncodingFlag:b,dataDescriptor:x}=o;f=f||re,p=p||re,h=h||re,m=m||re,y=y||re,g=g||re,e.extraFieldAES&&(u=99);const z=Va(f,p,h,m,y,g),F=w&&l>=U,E=w&&d>=U,R=-7&Ha(S,b,x,c,u)|S<<1,{Qe:D,$e:v}=Ba({version:t,bitFlag:R,compressionMethod:u,uncompressedSize:l,compressedSize:d,rawLastModDate:r,rawFilename:i,et:E,nt:F,extraFieldLength:z}),{signature:k}=e;return k!==$&&Pa(v,10,k),n.assign(e,{nt:F,et:E,st:w&&e.offset>=U,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(a?4:0),Qe:D,$e:v}),[e.filename,e]}))}async add(e="",t,r={}){const s=this;r=n.assign({},r);const{He:c,config:l}=s;let d,w;ba<l.maxWorkers?ba++:await new g(e=>xa.push(e));try{if(e=e.trim(),Na(s,r,Wr)&&!e.endsWith(G)&&(e+=G),s.Ve.has(e))throw new u(na);return s.Ve.add(e),w=!0,d=(async(e,t,r,s)=>{const c=((e,t,n)=>{t=t.trim();let r=Na(e,n,Mr),s=Na(e,n,Lr,r?20:768);const a=Na(e,n,Zr),i=Na(e,n,"uid"),o=Na(e,n,"gid");let c=Na(e,n,jr),l=Na(e,n,"unixExtraFieldType"),d=Na(e,n,qr),w=Na(e,n,Kr),f=Na(e,n,Yr);if(i!==$&&(0>i||i>U))throw new u("Invalid uid (must be integer 0..2^32-1)");if(o!==$&&(0>o||o>U))throw new u("Invalid gid (must be integer 0..2^32-1)");if(c!==$&&(0>c||c>I))throw new u("Invalid UNIX mode (must be integer 0..65535)");if(l!==$&&l!==ga&&l!==Sa)throw new u("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(l===Sa&&(i!==$&&i>I||o!==$&&o>I))throw new u("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");l!==$||i===$&&o===$||(l=ga);let p=Na(e,n,Ur),h=Na(e,n,Ir);const m=p!==$||h!==$;if(i!==$||o!==$||c!==$||l?(r=!1,s=s&I|768):m&&(r=!0,s&=M),p!==$&&(0>p||p>M))throw new u("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new u("Invalid msdosAttributes (must be an object with boolean flags)");if(s>I)throw new u(ia);let y=Na(e,n,Cr);const g=y!==$;g||(y=0),!n[Wr]&&t.endsWith(G)&&(n[Wr]=!0);const S=Na(e,n,Wr);let b;if(S?(t.endsWith(G)||(t+=G),g||(y=16,r||(y|=16877<<16))):r||g||(y=a?493<<16:27525120),!r){const e=c!==$||!!(d||w||f);b=y>>16&I,c=c===$?b:c&I,d?c|=K:d=!!(c&K),w?c|=Y:w=!!(c&Y),f?c|=512:f=!!(512&c),g&&!e||(S&&(c|=q),y=(c&I)<<16|y&I)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==$)e&=M;else if(t!==$){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&M}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&U|p&M),{name:t,ct:{versionMadeBy:s,msDosCompatible:r,externalFileAttributes:y,unixExternalUpper:b,uid:i,gid:o,unixMode:c,unixExtraFieldType:l,setuid:d,setgid:w,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const l=((e,t,n)=>{const r=Na(e,n,"encodeText",Ue);let s=r(t);if(s===$&&(s=Ue(t)),Va(s)>I)throw new u(aa);const a=n[Sr]||"";let i=r(a);if(i===$&&(i=Ue(a)),Va(i)>I)throw new u(sa);const c=Na(e,n,_r,20);if(c>I)throw new u(ia);const l=Na(e,n,Rr,new o),d=Na(e,n,vr),w=Na(e,n,kr),p=Na(e,n,Tr,0),h=Na(e,n,$r);let m,y;h||(m=Na(e,n,Jr),y=Na(e,n,Qr));const g=Na(e,n,"encryptionStrength",3),S=Na(e,n,Pr),b=Na(e,n,"extendedTimestamp",!0),x=Na(e,n,"ntfsTimestamp"),z=Na(e,n,"keepOrder",!0),F=Na(e,n,ns),E=Na(e,n,ss),R=Na(e,n,"bufferedWrite"),D=Na(e,n,"createTempStream"),v=Na(e,n,"dataDescriptorSignature",!0),k=Na(e,n,es),A=Na(e,n,"useUnicodeFileNames",!0),T=Na(e,n,Vr),C=h||T===$?$:ge(T);if(!h&&T!==$&&0!==T&&8!==T&&!C)throw new u("Compression method not supported");let U=Na(e,n,"level");if(e.options[os]){if(m!==$||y!==$)throw new u(ca);U===$&&T===$&&(U=0)}let M=Na(e,n,rs),O=Na(e,n,"dataDescriptor");R&&O===$&&(O=!1),(O===$||S)&&(O=!0),U!==$&&6!=U&&(M=!1);const N=Na(e,n,Or);if(!S&&(m!==$||y!==$)&&(1>g||g>3))throw new u(oa);let _=re;const L=n[Hr];if(L){let e=0,t=0;L.forEach(t=>e+=4+Va(t)),_=new f(e);const n=Oe(_);L.forEach((e,r)=>{if(r>I)throw new u(la);if(Va(e)>I)throw new u(da);La(n,t,r),La(n,t+2,Va(e)),Za(_,e,t+4),t+=4+Va(e)})}return{comment:a,ct:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:w,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:g,zipCrypto:S,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:R,createTempStream:D,dataDescriptorSignature:v,signal:k,useUnicodeFileNames:A,compressionMethod:T,format:C?C.format:$,codecURI:C?C.codecURI:$,lt:C?C.versionNeeded:$,level:U,useCompressionStream:M,dataDescriptor:O,zip64:N,rawExtraField:_}}})(e,t,s),{comment:d}=l,w=s[Hr];let p;e.files.set(t,$);try{const{ct:d}=l;0==d.level||d.compressionMethod!==$||d.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamZlib:n}=e;if(n&&!n.xe)return!0;if(Pt(t)||Lt(t,Ut))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(d.level=0);const w=await(async(e,t,{ct:n},r)=>{const{passThrough:s,zipCrypto:a,password:i,rawPassword:o,encryptionStrength:c}=n;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:f}=n,p=0,h=0;if(s){if(!t)throw new u(ha);if(h=r[xr],h===$)throw new u(pa)}const m=!0===d,y=Na(e,r,Nr),g=!!t&&(!!(i&&Va(i)||o&&Va(o))||s&&y);t||(w=0,f=0);const S=g?a?12:16+4*c:0;t&&(t=new wr(t),await fr(t),s?(r.uncompressedSize=h,p=_a(h)+S):t.size===$?(l=!0,(d||d===$)&&(d=!0,h=p=4294967296)):(r.uncompressedSize=h=t.size,p=_a(h)+S));const b=m||h>=U,x=m||p>=U;if(b||x){if(!1===d)throw new u(fa);d=!0}return d=d||!1,{reader:t,ct:{dataDescriptor:l,zip64:d,nt:b,et:x,uncompressedSize:h,level:w,compressionMethod:f,encrypted:g}}})(e,r,l,s);({reader:r}=w);const h=ka(e.writer),m=va(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:f,rawExtraField:p,encryptionStrength:h,extendedTimestamp:m,ntfsTimestamp:y,passThrough:g,encrypted:S,nt:b,et:x,uncompressedSize:z}=e;let{version:F,compressionMethod:E}=e;const R=!f&&(E===$?a===$||a>0:0!==E);let D;const v=g||!R,k=c&&(e.bufferedWrite||!w||!b&&!x||v),A=k||c&&w&&(b||x);if(c&&(b||x)){const e=20,t=Da(e);if(t.uint16(1),t.uint16(e-4),D=t.array,k&&(t.wt(z),v)){const e=S?l?12:16+4*h:0;t.wt(g?0:z+e)}}else D=re;let T,C,U,M,N;if(S&&!l){const e=Da(Va(ya)+2);e.uint16(39169),e.bytes(ya),T=e.array,T[8]=h}else T=re;if(m){const e=Ia(n),t=Ma(e);if(t){const t=9+(r?4:0)+(s?4:0),n=Da(t);M=1+(r?2:0)+(s?4:0),n.uint16(H),n.uint16(t-4),n.uint8(M),n.uint32(e),r&&n.uint32(Oa(Ia(r))),s&&n.uint32(Oa(Ia(s))),U=n.array}else U=re;if(y===$?!t||r||s:y)try{const e=Ua(n),t=Da(36);t.uint16(10),t.uint16(32),t.ut(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(Ua(r)||e),t.wt(Ua(s)||e),C=t.array}catch{C=re}else C=re}else C=U=re;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=ga||t===$&&n===$)if(r!=Sa||t===$&&n===$)N=re;else{const e=Da(8);e.uint16(30805),e.uint16(4),e.uint16((t===$?0:t)&I),e.uint16((n===$?0:n)&I),N=e.array}else{const e=Ra(t),r=Ra(n),s=3+e.length+r.length,a=Da(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(r.length),a.bytes(r),N=a.array}}catch{N=re}E===$&&(E=R?8:0);const{lt:_}=e;R&&_!==$&&(F=F>_?F:_),c&&(F=F>45?F:45),S&&!l&&(F=F>51?F:51,T[9]=E,E=99);const L=A?Va(D):0,P=L+Va(T,U,C,N,p);if(P>I)throw new u(da);const W=new o(2e3*i.ceil(n.getTime()/2e3)),{Qe:Z,$e:V,rawLastModDate:B}=Ba({version:F,bitFlag:Ha(a,d,w,S,E),compressionMethod:E,uncompressedSize:z,lastModDate:Q>W?Q:W>J?J:W,rawFilename:t,et:x,nt:b,extraFieldLength:P}),j=Da(X+Va(t)+P),q=j.array,K=Oe(q);return j.uint32(O),j.bytes(Z),j.bytes(t),A&&j.bytes(D),j.bytes(T),j.bytes(U),j.bytes(C),j.bytes(N),j.bytes(p),w&&(x||Pa(K,18,0),b||Pa(K,22,0)),{ft:q,ht:K,Qe:Z,$e:V,lastModDate:n,rawLastModDate:B,encrypted:S,compressed:R,version:F,compressionMethod:E,ot:M,Ke:re,yt:L,Ge:U,Xe:C,Je:N,Ye:T,extraFieldLength:P}})(s=n.assign({},s,c.ct,l.ct,w.ct,{internalFileAttribute:l.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Br],offset:e.offset-h,diskNumberStart:m})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=re,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new f(i),r=Oe(s),n&&(a=4,Pa(r,0,_))),{gt:s,St:r,bt:a}})(s),b=Va(y.ft,S.gt);p=await(async(e,t,r,s,i)=>{const{files:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=i,{xt:p}=s,h=e.options[os],m=e.qe;let y,S,b,x,z,F,R,v={},k=0;o.set(t,v),e.qe=v;try{let S;l&&(S=m&&m.lock,v.lock=new g(e=>b=e)),i.bufferedWrite||!l||e.zt||e.je||!d?(y=!0,e.je++,R=i.createTempStream?await i.createTempStream():new E($,$,{highWaterMark:ee}),R.size=0,await fr(c)):(R=c,await A()),await fr(R);const C=ka(c);if(e.Ze){delete e.Ze;const t=new f(4);Pa(Oe(t),0,N),await Ca(c,t),e.offset+=4}h&&!y&&Ea(s,e.offset-C);const{ft:I}=p;y||(await S,await T());const O=va(c),_=Ta(e,c);if(v.diskNumberStart=O,y||(z=!0,F=c.size,await Ca(R,I)),v=await(async(e,t,{diskNumberStart:r,lock:s},i,o,c)=>{const{xt:l,Ft:d,Et:w}=i,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,Ke:x,yt:z,Ge:F,ot:E,Xe:R,Je:D,Ye:v}=l,{gt:k}=d,{rawFilename:A,lastAccessDate:T,creationDate:C,password:I,rawPassword:O,level:N,zip64:_,nt:L,et:P,zipCrypto:W,dataDescriptor:Z,directory:V,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:se,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:me,codecURI:ye}=c,ge={lock:s,versionMadeBy:H,zip64:_,directory:!!V,executable:!!B,filenameUTF8:!0,rawFilename:A,commentUTF8:!0,rawComment:j,Ke:x,yt:z,Ge:F,Xe:R,Je:D,Ye:v,rawExtraField:q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:se,diskNumberStart:r,uid:ae,gid:ie,unixMode:oe,setuid:ce,setgid:le,sticky:de,unixExternalUpper:we,msdosAttributesRaw:ue,msdosAttributes:fe};let{signature:Se,uncompressedSize:be}=c,xe=0;he||(be=0);const{writable:ze}=t;if(e){const n=vt(e.createReadable?e.createReadable():e.readable),r=e.size,s={options:{codecType:qt,level:N,rawPassword:O,password:I,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&M,signed:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:me,codecURI:ye,compressionMethod:b},config:o,oe:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const e=await bn({readable:n,writable:ze},s);if(xe=e.outputSize,t.size+=xe,he||(be=e.inputSize,Se=e.signature),!P&&xe>=U||!L&&be>=U)throw new u(fa)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:n,xt:r,Ft:s},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{$e:l,encrypted:d}=r,{St:w,bt:u}=s;d&&!o||e===$||(Pa(l,10,e),c&&Pa(w,u,e)),i?c&&(Wa(w,u+4,a(t)),Wa(w,u+12,a(n))):(Pa(l,14,t),Pa(l,18,n),c&&(Pa(w,u+4,t),Pa(w,u+8,n)))})({signature:Se,compressedSize:xe,uncompressedSize:be,xt:l,Ft:d},c),Z&&await Ca(t,k),n.assign(ge,{uncompressedSize:be,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:T,encrypted:y,zipCrypto:W,size:w+xe,compressionMethod:b,version:S,Qe:f,$e:p,signature:Se,ot:E,nt:L,et:P}),ge})(r,R,v,s,e.config,i),y||(z=!1),o.set(t,v),v.filename=t,y){if(await g.all([R.writable.getWriter().close(),S]),await A(),x=!0,F=c.size,await T(),v.diskNumberStart=va(c),v.offset=Ta(e,c),h){const t=s.Et;Ea(s,e.offset-ka(c)),v.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:n,yt:r,signature:s,compressedSize:i,uncompressedSize:o,nt:c,et:l},d,{dataDescriptor:w})=>{if(w||(t||Pa(d,14,s),l||Pa(d,18,i),c||Pa(d,22,o)),n&&r){const t=X+Va(e)+4;Wa(d,t,a(o)),Wa(d,t+8,a(i))}})(v,p.ht,i),await Ca(c,p.ft),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await r.ready,await r.write(e),t=Va(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(R.readable,c,w),c.size+=R.size,x=!1}else v.diskNumberStart=O,v.offset=_;return e.offset+=v.size,v}catch(n){if(x||z){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),n}finally{if(y&&e.je--,b&&b(),S&&S(),y&&R&&R.dispose)try{await R.dispose()}catch{}}async function A(){e.zt=!0;const{Rt:t}=e;e.Rt=new g(t=>S=()=>{e.zt=!1,t()}),await t}async function T(){Aa(c,Va(p.ft))&&await c.closeDisk()}})(e,t,r,{xt:y,Ft:S,Et:b},s)}catch(n){throw e.files.delete(t),n}return n.assign(p,{name:t,comment:d,extraField:w}),new Xr(p)})(s,e,t,r),c.add(d),await d}catch(t){throw w&&s.Ve.delete(e),t}finally{c.delete(d);const e=xa.shift();e?e():ba--}}remove(e){const{Ve:t,files:n}=this;if("string"==typeof e&&(e=n.get(e)),e&&e.filename!==$){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=re,n={}){const{He:r,writer:s}=this,{writable:i}=s;if(Va(e)>I)throw new u(ra);for(;r.size;)await g.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,Ye:r,rawComment:s,Xe:a,Je:i,rawExtraField:o,extendedTimestamp:c,ot:l,lastModDate:d,nt:w,et:f,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=U,y=n.diskNumberStart>=I;let g,S;if(m||y||w||f){const e=4+(w?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Da(e);t.uint16(1),t.uint16(e-4),w&&t.wt(p),f&&t.wt(h),m&&t.wt(n.offset),y&&t.uint32(n.diskNumberStart),g=t.array}else g=re;n.Ke=g,n.st=m,n.it=y;const b=Ia(d);if(c&&Ma(b)){const e=Da(9);e.uint16(H),e.uint16(5),e.uint8(l),e.uint32(b),S=e.array}else S=re;n.Ge=S;const x=Va(g,r,a,i,S,o);if(x>I)throw new u(da);t+=46+Va(e,s)+x}return t})(e.files),i=await(async(e,n,r)=>{const{files:s,writer:a}=e,i=new f(n);await fr(a);let o=0,c=0,l=va(a),d=ka(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,Ke:u,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:S,Qe:b,$e:x,nt:z,et:F,it:E,st:R,internalFileAttributes:D,externalFileAttributes:v,diskNumberStart:k,uncompressedSize:A,compressedSize:T}=n,C=Va(u,f,p,h,m,y),M=46+Va(w,g)+C;Aa(a,o+M-c)&&(await Ca(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=va(a),d=ka(a)),z||Pa(x,18,A),F||Pa(x,14,T),(R||E)&&45>n.version&&La(x,0,45);const O=Da(M);if(O.uint32(L),O.uint16(S),O.bytes(b.subarray(0,24)),O.uint16(C),O.uint16(Va(g)),O.uint16(E?I:k),O.uint16(D),O.uint32(v),O.uint32(R?U:t),O.bytes(w),O.bytes(u),O.bytes(f),O.bytes(p),O.bytes(h),O.bytes(m),O.bytes(y),O.bytes(g),Za(i,O.array,o),o+=M,r.onprogress)try{await r.onprogress(e+1,s.size,new Xr(n))}catch{}}return await Ca(a,c?i.slice(c):i),{diskNumber:l,diskOffset:d}})(e,s,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Dt:i}=r;let{vt:o}=r,c=e.files.size,l=i.diskNumber,d=Ta(e,i),w=va(s);Aa(s,V)&&w++;let f=Na(e,n,Or);if(!(U>d&&U>o&&I>c&&I>w)){if(!1===f)throw new u(fa);f=!0}const p=Va(t);if(p>I)throw new u(ra);const h=Da(f?98:V);Aa(s,Va(h.array)+p)&&await s.closeDisk(),w=va(s),f&&(h.uint32(W),h.wt(44),h.uint16(45),h.uint16(45),h.uint32(w),h.uint32(l),h.wt(c),h.wt(c),h.wt(o),h.wt(d),h.uint32(Z),h.uint32(w),h.wt(a(Ta(e,s))+a(o)),h.uint32(w+1),Na(e,n,"supportZip64SplitFile",!0)&&(w=I,l=I),c=I,d=U,o=U),h.uint32(P),h.uint16(w),h.uint16(l),h.uint16(c),h.uint16(c),h.uint32(o),h.uint32(d),h.uint16(p),await Ca(s,h.array),p&&await Ca(s,t)})(e,n,r,{Dt:i,vt:s})})(this,e,n),Na(this,n,as)||await i.getWriter().close(),s.getData?s.getData():i}}function Fa(e,t,n){e.He.add(t),t.catch(e=>{try{n(e)}catch{}})}function Ea(e,t){const{xt:n}=e;let{ft:r,extraFieldLength:s}=n,a=64-(t+Va(r))%64;4>a&&(a+=64);const i=new f(a),o=Oe(i);La(o,0,6534),La(o,2,a-4);const c=r;n.ft=r=new f(Va(c)+a),Za(r,c),Za(r,i,Va(c));const l=Oe(r);La(l,28,s+a),n.ht=l,e.Et+=a}function Ra(e){if(e===$)return re;{const t=new f(4);Oe(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function Da(e){const t=new f(e),n=Oe(t);let r=0;return{array:t,uint8:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},uint16:e=>{La(n,r,e),r+=2},uint32:e=>{Pa(n,r,e),r+=4},wt:e=>{Wa(n,r,a(e)),r+=8},bytes:e=>{Za(t,e,r),r+=Va(e)},ut:e=>r+=e}}function va(e){const{diskNumber:t=0}=e;return t}function ka(e){const{diskOffset:t=0}=e;return t}function Aa(e,t){const{availableSize:n=ee}=e;return t>n}function Ta(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Be:0)}async function Ca(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Va(t),await r.write(t)}finally{r.releaseLock()}}function Ua(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Ia(e){return i.floor(e.getTime()/1e3)}function Ma(e){return e>=wa&&ua>=e}function Oa(e){return i.min(ua,i.max(wa,e))}function Na(e,t,n,r){const s=t[n]===$?e.options[n]:t[n];return s===$?r:s}function _a(e){return e+5*(i.floor(e/16383)+1)}function La(e,t,n){e.setUint16(t,n,!0)}function Pa(e,t,n){e.setUint32(t,n,!0)}function Wa(e,t,n){e.setBigUint64(t,n,!0)}function Za(e,t,n){e.set(t,n)}function Va(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Ba({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,et:c,nt:l,extraFieldLength:d}){const w=Da(26),u=w.array,f=Oe(u);if(w.uint16(e),w.uint16(t),w.uint16(n),i===$){const e=new h(1),t=Oe(e);La(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),La(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return w.uint32(i),w.ut(4),c||s!==$?w.uint32(c?U:s):w.ut(4),l||r!==$?w.uint32(l?U:r):w.ut(4),w.uint16(Va(o)),w.uint16(d),{Qe:u,$e:f,rawLastModDate:i}}function Ha(e,t,n,r,s){let a=0;return t&&(a|=j),n&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const ja=1048576,qa=".zip.js-temp",Ka=1048576,Ya=1048576,Ga=".zip.js-temp";try{(e=>{for(const t of ie){const n=e[t];n!==$&&(ae[t]=n)}de(e)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:C&&"SCRIPT"===C.tagName.toUpperCase()&&C.src||new w("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Bn,e.BlobWriter=Hn,e.Data64URIReader=class extends Pn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,kt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{kt:n,dataURI:r}=this,s=new f(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Wn{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n,s=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=r.fromCharCode(e[n]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=zs,e.ERR_BAD_FORMAT=ws,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ps,e.ERR_DUPLICATED_NAME=na,e.ERR_ENCRYPTED=ys,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Fs,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=fs,e.ERR_EOCDR_NOT_FOUND=us,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ms,e.ERR_HTTP_RANGE=vn,e.ERR_HTTP_RESOURCE_CHANGED=kn,e.ERR_INVALID_CODEC_DEFINITION=we,e.ERR_INVALID_CODEC_MODULE=fe,e.ERR_INVALID_COMMENT=ra,e.ERR_INVALID_COMPRESSED_DATA=Tt,e.ERR_INVALID_ENCRYPTION_STRENGTH=oa,e.ERR_INVALID_ENTRY_COMMENT=sa,e.ERR_INVALID_ENTRY_NAME=aa,e.ERR_INVALID_EXTRAFIELD_DATA=da,e.ERR_INVALID_EXTRAFIELD_TYPE=la,e.ERR_INVALID_PASSWORD=Ze,e.ERR_INVALID_SIGNATURE=Ve,e.ERR_INVALID_UNCOMPRESSED_SIZE=At,e.ERR_INVALID_VERSION=ia,e.ERR_ITERATOR_COMPLETED_TOO_SOON=An,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=hs,e.ERR_OVERLAPPING_ENTRY=xs,e.ERR_RESERVED_COMPRESSION_METHOD=ue,e.ERR_SPLIT_ZIP_FILE=bs,e.ERR_UNDEFINED_READER=ha,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=pa,e.ERR_UNSUPPORTED_COMPRESSION=Ss,e.ERR_UNSUPPORTED_ENCRYPTION=gs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ca,e.ERR_UNSUPPORTED_FORMAT=fa,e.ERR_WRITER_NOT_INITIALIZED=Tn,e.ERR_ZIP_NOT_EMPTY=ma,e.HttpRangeReader=class extends cr{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=cr,e.Reader=Pn,e.SplitDataReader=lr,e.SplitDataWriter=dr,e.TextReader=class extends Bn{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Hn{constructor(e){super(e),n.assign(this,{encoding:e,At:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,At:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new g((s,a)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(r,e)})}}},e.Uint8ArrayReader=class extends Pn{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Wn{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){n.assign(this,{offset:0,array:new f(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;n>e;)e*=2;const r=t.array;t.array=new f(e),t.array.set(r)}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=Wn,e.ZipReader=ks,e.ZipReaderStream=As,e.ZipWriter=za,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new E;this.readable=t,this.zipWriter=new za(n,e),this.He=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new E({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Fa(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new E({start(e){t=e}});return Fa(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await g.all(t.from(this.He)),this.zipWriter.close(e,n)}},e.configure=de,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=Ka}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new D({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;r=new d(t.readable).blob(),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=ja,directoryName:n=qa,getDirectory:r=()=>A.storage.getDirectory()}=e;let s;function a(){return s||(s=g.resolve(r()).then(e=>e.getDirectoryHandle(n,{create:!0}))),s}return()=>{const e=[];let n,r,s,i,o=0,c=!1;const l=new D({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();n=z.randomUUID(),r=await t.getFileHandle(n,{create:!0}),s=(await r.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let d=0;return{writable:l,readable:new R({async pull(t){if(c){if(!i){const e=await r.getFile();i=e.stream().getReader()}const{value:e,done:n}=await i.read();n?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(n){try{const e=await a();await e.removeEntry(n)}catch{}r=n=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:t=Ya,directoryName:n=Ga,getDirectory:r}=e;if(!(r||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new u("createSyncAccessHandle is only available in dedicated workers");const s=r||(()=>A.storage.getDirectory());let a;function o(){return a||(a=g.resolve(s()).then(e=>e.getDirectoryHandle(n,{create:!0}))),a}return()=>{const e=[];let n,r,s=0,a=!1,c=0,l=0;const d=new D({async write(i){a?(r.write(i,{at:c}),c+=i.length):(e.push(i),s+=i.length,s>t&&await(async()=>{const t=await o();n=z.randomUUID();const s=await t.getFileHandle(n,{create:!0});r=await s.createSyncAccessHandle(),a=!0;for(const t of e)r.write(t,{at:c}),c+=t.length;e.length=0})())},close(){r&&r.flush()}});let w=0;return{writable:d,readable:new R({pull(t){if(a){const e=c-l;if(0>=e)return void t.close();const n=new f(i.min(524288,e)),s=r.read(n,{at:l});s?(l+=s,t.enqueue(n.subarray(0,s))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(r){try{r.close()}catch{}r=null}if(n){try{const e=await o();await e.removeEntry(n)}catch{}n=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>I||typeof n!=pe||!n.length)throw new u(we);if(he.includes(t))throw new u(ue);const c=typeof a==ne||typeof i==ne;if(!(c||typeof r==pe&&r.length))throw new u(we);me.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&be(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of ie)delete oe[e];n.assign(oe,ae)},e.terminateWorkers=async()=>{await g.allSettled(hn.map(e=>(Rn(e),e.terminate()))),Qt=$},e.unregisterCodec=e=>{const t=me.get(e);if(t){let n;me.delete(e),me.forEach(e=>n=n||e.format==t.format),n||ye.delete(t.format)}}});