@zip.js/zip.js 2.11.0 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zip-js/zip-js",
3
- "version": "2.11.0",
3
+ "version": "2.11.1",
4
4
  "exports": {
5
5
  ".": "./index.js",
6
6
  "./external": "./lib/zip-fs-external.js",
@@ -8531,7 +8531,7 @@ function formatSupported(StreamClass, format) {
8531
8531
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8532
8532
  */
8533
8533
 
8534
- const VERSION = "2.11.0";
8534
+ const VERSION = "2.11.1";
8535
8535
 
8536
8536
  /*
8537
8537
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -9120,18 +9120,17 @@ function _make(isCompress, type, options = {}) {
9120
9120
  }
9121
9121
  heap.set(buffer.subarray(offset, offset + toRead), this.in);
9122
9122
  const result = process(this.streamHandle, this.in, toRead, out, outBufferSize, 0);
9123
+ // checked before the byte count is used, so a status code can never be read as one
9124
+ const code = (result >> 24) & 0xff;
9125
+ const signedCode = (code & 0x80) ? code - 256 : code;
9126
+ if (signedCode < 0) {
9127
+ throw new Error("process error:" + signedCode);
9128
+ }
9123
9129
  const prod = result & 0x00ffffff;
9124
9130
  if (prod) {
9125
9131
  scratch.set(heap.subarray(out, out + prod), 0);
9126
9132
  controller.enqueue(scratch.slice(0, prod));
9127
9133
  }
9128
- if (!isCompress) {
9129
- const code = (result >> 24) & 0xff;
9130
- const signedCode = (code & 0x80) ? code - 256 : code;
9131
- if (signedCode < 0) {
9132
- throw new Error("process error:" + signedCode);
9133
- }
9134
- }
9135
9134
  const consumed = last_consumed(this.streamHandle);
9136
9135
  if (consumed === 0 && prod === 0) {
9137
9136
  break;
@@ -9151,14 +9150,12 @@ function _make(isCompress, type, options = {}) {
9151
9150
  const scratch = this._scratch;
9152
9151
  while (true) {
9153
9152
  const result = process(this.streamHandle, 0, 0, out, outBufferSize, 4);
9154
- const produced = result & 0x00ffffff;
9155
9153
  const code = (result >> 24) & 0xff;
9156
- if (!isCompress) {
9157
- const signedCode = (code & 0x80) ? code - 256 : code;
9158
- if (signedCode < 0) {
9159
- throw new Error("process error:" + signedCode);
9160
- }
9154
+ const signedCode = (code & 0x80) ? code - 256 : code;
9155
+ if (signedCode < 0) {
9156
+ throw new Error("process error:" + signedCode);
9161
9157
  }
9158
+ const produced = result & 0x00ffffff;
9162
9159
  if (produced) {
9163
9160
  scratch.set(heap.subarray(out, out + produced), 0);
9164
9161
  controller.enqueue(scratch.slice(0, produced));
@@ -1 +1 @@
1
- const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,l=101075792,u=117853008,f=46,w=22,d=20,m=56,p=21589,h=2048,y=61440,E=16384,b=2048,S=1024,g="/",A=30,R=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),D=void 0,F=1/0,z="undefined",T="function",I="string",U=new Uint8Array,k="password",O="rawPassword",C="passThrough",N="signal",M="useWebWorkers",v="useCompressionStream",_="transferStreams",L="preventClose",B="dataDescriptor",P="offset",W="usdz",j="maxAppendedDataSize",V="filename",Z="comment",H="strict",G="balanced",K="tolerant",q="Invalid option (must be a function)",Y="Invalid signal (must be an AbortSignal instance)",X="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function J(t){if(t&&typeof t!=T)throw new Error(q);return t}function Q(t){if(t&&(typeof t.addEventListener!=T||"boolean"!=typeof t.aborted))throw new Error(Y);return t||D}function $(t,e){if(t&&typeof t!=I||e&&!(e instanceof Uint8Array))throw new Error(X)}function tt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function et(t,e,r){t!==D&&tt(t,e,r)}function rt(t){return typeof t==I&&t.trim()?Number(t):t}const nt="Invalid maxWorkers (must be an integer greater than 0)";let ot=2;try{typeof navigator!=z&&navigator.hardwareConcurrency&&(ot=navigator.hardwareConcurrency)}catch{}const at={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ot,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=z&&CompressionStream,DecompressionStream:typeof DecompressionStream!=z&&DecompressionStream},it="maxWorkers",st=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ct=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...st,...ct],ut={...at};function ft(){return ut}function wt(t){return dt(t.chunkSize)}function dt(t){return t=rt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function mt(t){Object.assign(ut,pt(yt(t)))}function pt(t){const e={};for(const r of lt){const n=t[r];n!==D&&(e[r]=ht(r,n))}return e}function ht(t,e){if(st.includes(t)){if(e=rt(e),t==it&&(!Number.isInteger(e)||e<1))throw new Error(nt)}else ct.includes(t)&&J(e);return e}function yt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===D&&r===D)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===D&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===D&&(n.DecompressionStreamFallback=r),n}function Et(t){const e=pt(yt(t));Object.assign(at,e),Object.assign(ut,e)}function bt(){for(const t of lt)delete ut[t];Object.assign(ut,at)}function St(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function gt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function At(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Rt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Rt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Rt[e-1][t];Rt[e][t]=r>>>8^Rt[0][255&r]}const[xt,Dt,Ft,zt,Tt,It,Ut,kt]=Rt;class Ot{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=kt[255&t]^Ut[t>>>8&255]^It[t>>>16&255]^Tt[t>>>24&255]^zt[255&r]^Ft[r>>>8&255]^Dt[r>>>16&255]^xt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^xt[255&(e^t[n])];this.o=e}get(){return~this.o}}class Ct extends TransformStream{constructor(){let t;const e=new Ot;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Nt(t){if(typeof TextEncoder==z){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const Mt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=Mt.l(r);return 32===n?t.concat(e):Mt.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+Mt.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=Mt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let o=0;o<t.length;o++)n.push(r|t[o]>>>e),r=t[o]<<32-e;const o=t.length?t[t.length-1]:0,a=Mt.l(o);return n.push(Mt.S(e+a&31,e+a>32?r:n.pop(),1)),n}},vt={bytes:{A(t){const e=Mt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let o=0;o<e;o++)3&o||(n=t[o/4]),r[o]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(Mt.S(8*(3&r),n)),e}}},_t=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.F=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.I=t.I.slice(0),e.U=t.U):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.I=[],t.U=0,t}update(t){const e=this;"string"==typeof t&&(t=vt.O.R(t));const r=e.I=Mt.concat(e.I,t),n=e.U,o=e.U=n+Mt.bitLength(t);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=o;t+=e.blockSize)e.C(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}N(){const t=this;let e=t.I;const r=t.T;e=Mt.concat(e,[Mt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.U/4294967296)),e.push(0|t.U);e.length;)t.C(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}v(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.T,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let o=r[0],a=r[1],i=r[2],s=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.v(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.v(5,o)+e.M(t,a,i,s)+c+n[t]+e.F[Math.floor(t/20)]|0;c=s,s=i,i=e.v(30,a),a=o,o=r}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0}},Lt={importKey:t=>new Lt._(vt.bytes.R(t)),L(t,e,r,n){if(r=r||1e4,n<0||r<0)throw new Error("invalid params to pbkdf2");const o=1+(n>>5)<<2;let a,i,s,c,l;const u=new ArrayBuffer(o),f=new DataView(u);let w=0;const d=Mt;for(e=vt.bytes.R(e),l=1;w<(o||1);l++){for(a=i=t.encrypt(d.concat(e,[l])),s=1;s<r;s++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(s=0;w<(o||1)&&s<a.length;s++)f.setInt32(w,a[s]),w+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.B=_t,n=[[],[]];e.P=[new r,new r];const o=e.P[0].blockSize/32;t.length>o&&(t=(new r).update(t).N());for(let e=0;e<o;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.P[0].update(n[0]),e.P[1].update(n[1]),e.W=new r(e.P[0])}reset(){const t=this;t.W=new t.B(t.P[0]),t.j=!1}update(t){this.j=!0,this.W.update(t)}digest(){const t=this,e=t.W.N(),r=new t.B(t.P[1]).update(e).N();return t.reset(),r}encrypt(t){if(this.j)throw new Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Bt=typeof crypto!=z&&typeof crypto.getRandomValues==T,Pt="Invalid password",Wt="Invalid authentication code",jt="zipjs-abort-check-password",Vt="Crypto API not supported";function Zt(t){if(Bt)return crypto.getRandomValues(t);throw new Error(Vt)}const Ht=16,Gt={name:"PBKDF2"},Kt=Object.assign({hash:{name:"HMAC"}},Gt),qt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Gt),Yt=["deriveBits"],Xt=[8,12,16],Jt=[16,24,32],Qt=10,$t=[0,0,0,0],te=typeof crypto!=z,ee=te&&crypto.subtle,re=te&&typeof ee!=z,ne=vt.bytes,oe=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],o=t.length;let a,i,s,c=1;if(4!==o&&6!==o&&8!==o)throw new Error("invalid aes key size");for(e.F=[i=t.slice(0),s=[]],a=o;a<4*o+28;a++){let t=i[a-1];(a%o===0||8===o&&a%o===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],a%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-o]^t}for(let t=0;a;t++,a--){const e=i[3&t?a:a-4];s[t]=a<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],o=[],a=[];let i,s,c,l;for(let t=0;t<256;t++)a[(o[t]=t<<1^283*(t>>7))^t]=t;for(let u=i=0;!r[u];u^=s||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[u]=a,n[a]=u,l=o[c=o[s=o[u]]];let f=16843009*l^65537*c^257*s^16843008*u,w=257*o[a]^16843008*a;for(let r=0;r<4;r++)t[r][u]=w=w<<24^w>>>8,e[r][a]=f=f<<24^f>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw new Error("invalid aes block size");const r=this.F[e],n=r.length/4-2,o=[0,0,0,0],a=this.V[e],i=a[0],s=a[1],c=a[2],l=a[3],u=a[4];let f,w,d,m=t[0]^r[0],p=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],E=4;for(let t=0;t<n;t++)f=i[m>>>24]^s[p>>16&255]^c[h>>8&255]^l[255&y]^r[E],w=i[p>>>24]^s[h>>16&255]^c[y>>8&255]^l[255&m]^r[E+1],d=i[h>>>24]^s[y>>16&255]^c[m>>8&255]^l[255&p]^r[E+2],y=i[y>>>24]^s[m>>16&255]^c[p>>8&255]^l[255&h]^r[E+3],E+=4,m=f,p=w,h=d;for(let t=0;t<4;t++)o[e?3&-t:t]=u[m>>>24]<<24^u[p>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[E++],f=m,m=p,p=h,h=y,y=f;return o}},ae=class{constructor(t,e){this.G=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.G,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const o=Mt.bitLength(e);for(let o=0;o<n;o+=4){this.$(r);const n=t.encrypt(r);e[o]^=n[0],e[o+1]^=n[1],e[o+2]^=n[2],e[o+3]^=n[3]}return Mt.h(e,o)}},ie=Lt._;let se=te&&re&&typeof ee.importKey==T,ce=te&&re&&typeof ee.deriveBits==T;class le extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){fe(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,et:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await de(t,e,r,pe(n,0,Xt[e])),a=pe(n,Xt[e]);if(o[0]!=a[0]||o[1]!=a[1])throw new Error(Pt)}(r,a,o,pe(t,0,Xt[a]+2)),t=pe(t,Xt[a]+2),n?e.error(new Error(jt)):i()):await s;const c=new Uint8Array(t.length-Qt-(t.length-Qt)%Ht);e.enqueue(we(r,t,c,0,Qt,!0))},async flush(t){const{nt:e,ot:r,it:n,ready:a}=this;if(r&&e){await a;const i=pe(n,0,n.length-Qt),s=pe(n,n.length-Qt);let c=U;if(i.length){const t=ye(ne,i);r.update(t);const n=e.update(t);c=he(ne,n)}const l=pe(he(ne,r.digest()),0,Qt);let u=n.length<Qt?1:0;for(let t=0;t<Qt;t++)u|=l[t]^s[t];if(u&&o)throw new Error(Wt);t.enqueue(c)}}})}}class ue extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){fe(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,et:a,ready:i}=r;let s=U;n?(s=await async function(t,e,r){const n=Zt(new Uint8Array(Xt[e]));return St(n,await de(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%Ht);c.set(s,0),e.enqueue(we(r,t,c,s.length,0))},async flush(t){const{nt:e,ot:r,it:n,ready:o}=this;if(r&&e){await o;let a=U;if(n.length){const t=e.update(ye(ne,n));r.update(t),a=he(ne,t)}const i=he(ne,r.digest()).slice(0,Qt);t.enqueue(St(a,i))}}})}}function fe(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:me(e,r),strength:n-1,it:U})}function we(t,e,r,n,o,a){const{nt:i,ot:s,it:c}=t;c.length&&(e=St(c,e));const l=e.length-o;let u;for(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+(l-l%Ht)),u=0;u<=l-Ht;u+=Ht){const t=ye(ne,pe(e,u,u+Ht));a&&s.update(t);const o=i.update(t);a||s.update(o),r.set(he(ne,o),u+n)}return t.it=pe(e,u),r}async function de(t,e,r,n){t.password=null;const o=await async function(t,e,r,n,o){if(!se)return Lt.importKey(e);try{return await ee.importKey("raw",e,r,!1,o)}catch{return se=!1,Lt.importKey(e)}}(0,r,Kt,0,Yt),a=await async function(t,e,r){if(!ce)return Lt.L(e,t.salt,qt.iterations,r);try{return await ee.deriveBits(t,e,r)}catch{return ce=!1,Lt.L(e,t.salt,qt.iterations,r)}}(Object.assign({salt:n},qt),o,8*(2*Jt[e]+2)),i=new Uint8Array(a),s=ye(ne,pe(i,0,Jt[e])),c=ye(ne,pe(i,Jt[e],2*Jt[e])),l=pe(i,2*Jt[e]);return Object.assign(t,{keys:{key:s,st:c,passwordVerification:l},nt:new ae(new oe(s),Array.from($t)),ot:new ie(c)}),l}function me(t,e){return e===D?Nt(t):e}function pe(t,e,r){return t.subarray(e,r)}function he(t,e){return t.A(e)}function ye(t,e){return t.R(e)}class Ee extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Se(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=ge(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(Pt);t=t.subarray(12)}n?e.error(new Error(jt)):e.enqueue(ge(r,t))}})}}class be extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Se(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Zt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Ae(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(Ae(r,t),o),e.enqueue(n)}})}}function Se(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Ot(n[0]),lt:new Ot(n[2])}),r)for(let e=0;e<r.length;e++)Re(t,r[e]);else for(let r=0;r<e.length;r++)Re(t,e.charCodeAt(r))}(t,e,r)}function ge(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=xe(t)^e[n],Re(t,r[n]);return r}function Ae(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=xe(t)^e[n],Re(t,e[n]);return r}function Re(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Fe(Math.imul(Fe(r+De(n)),134775813)+1),t.lt.append([r>>>24]);const o=~t.lt.get();t.keys=[n,r,o]}function xe(t){const e=2|t.keys[2];return De(Math.imul(e,1^e)>>>8)}function De(t){return 255&t}function Fe(t){return 4294967295&t}function ze(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Te(t,e){t=ze(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=T||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Ie(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Ue="Invalid codec definition",ke="Reserved compression method",Oe="Invalid codec module",Ce="Compression method not supported",Ne=[0,8,9,99],Me=new Map,ve=new Map;function _e(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=I||!n.length)throw new Error(Ue);if(Ne.includes(r))throw new Error(ke);const c=typeof a==T||typeof i==T;if(!(c||typeof o==I&&o.length))throw new Error(Ue);Me.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&je(n,{CompressionStream:a,DecompressionStream:i})}function Le(t){const e=Me.get(t);if(e){let r;Me.delete(t),Me.forEach(t=>r=r||t.format==e.format),r||ve.delete(e.format)}}function Be(t){return Me.get(t)}function Pe(){return Array.from(Me.values(),t=>Object.assign({},t,ve.get(t.format)))}function We(t){return ve.get(t)}function je(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=T&&typeof n!=T)throw new Error(Oe);ve.set(t,{CompressionStream:r,DecompressionStream:n})}const Ve="Invalid uncompressed size",Ze="Invalid compressed data",He="Invalid CRC32",Ge="deflate-raw",Ke="deflate64-raw",qe="gzip",Ye=[31,139,8];class Xe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:w,inputSize:d}=t,m=this;let p,h,y,E=super.readable;const b=f&&We(f),S=c&&o&&!u&&!b&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(p=new Ct,E=ar(E,p)),o)if(b)E=ir(E,nr(b.CompressionStream,f,{level:l,chunkSize:e,compressionMethod:w,uncompressedSize:d}));else if(S)y=new Je,E=ir(E,new n(qe)),E=ar(E,y);else try{E=or(E,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(qe)}catch{throw t}E=ir(E,e),E=ar(E,new Je)}a&&(s?E=ar(E,new be(t)):(h=new ue(t),E=ar(E,h))),rr(m,E,()=>{a&&!s||!c||(m.crc32=S?y.crc32:new DataView(p.value.buffer).getUint32(0))})}}class Je extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=St(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(St(r.subarray(0,i),t.subarray(0,a-i))),r=St(r.subarray(i),t.subarray(a-i))},flush(){const e=At(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Qe extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:w,rawBitFlag:d,outputSize:m}=t;let p,h,y=super.readable;if(a&&(o?y=ar(y,new Ee(t)):(h=new le(t),y=ar(y,h))),c){const t=f&&We(f);if(t)y=ir(y,nr(t.DecompressionStream,f,{chunkSize:e,compressionMethod:w,rawBitFlag:d,uncompressedSize:m}));else try{y=or(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||m===D)throw t;let e;try{e=new n(qe)}catch{throw t}y=function(t,e,r){const n=new Ot;let o,a,i,s=0,c=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),r||a();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Ye),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,w();try{await l}finally{d()}const e=new Uint8Array(8),o=At(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&w(),e.enqueue(t)},cancel(t){i(t)}});return t=ar(t,u),ar(t=ir(t,e),f);function w(){d(),o=setTimeout(()=>i(new Error(Ve)),5e3)}function d(){clearTimeout(o)}}(y,e,m)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(Ze);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(p=new Ct,y=ar(y,p)),rr(this,y,()=>{if(i){const t=new DataView(p.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(He)}})}}const $e=new Map;function tr(t,e){if(!t)return!1;let r=$e.get(t);r||(r=new Map,$e.set(t,r));let n=r.get(e);if(n===D){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function er(t){return tr(t,Ge)}function rr(t,e,r){e=ar(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function nr(t,e,r){if(!t)throw new Error(Ce);return new t(e,r)}function or(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?Ke:Ge;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return ir(t,s)}function ar(t,e){return ze(t).pipeThrough(e)}function ir(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const sr="data",cr="deflate",lr="inflate";class ur extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(cr)?o=Xe:n.startsWith(lr)&&(o=Qe),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==D&&r.outputSize>t.outputSize))throw new Error(Ve)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class fr extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(o,a){for(e.push(o),r+=o.length;r>t;)a.enqueue(n())},flush(t){r&&t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r))}})}}const wr="Worker startup timeout";let dr,mr,pr,hr=()=>{};function yr(t){t.createWorker?mr=!0:dr=!1}class Er{constructor(t,{readable:e,writable:r},{options:n,config:o,ut:a,useWebWorkers:i,transferStreams:s,workerURI:c,createWorker:l},u){const{signal:f}=a;return mr&&(l=D),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new fr(wt(o))).pipeThrough(new br(a),{signal:f}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:s,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.Et=null):e()}),bt(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.St=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),dr===D&&(dr=typeof Worker!=z),(i&&pr&&(dr&&c||l)?pr:gr)(t,o)}}class br extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await Sr(t,r)},async transform(t,n){o+=t.length,e&&await Sr(e,o,r),n.enqueue(t)},async flush(){n&&await Sr(n,o)}})}}async function Sr(t,...e){try{await t(...e)}catch{}}function gr(t,e){return{run:()=>Ar(t,e)}}async function Ar({options:t,readable:e,writable:r,bt:n},o){let a;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(cr),r=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,n=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(r&&r.gt&&!er(n))try{await hr(o)}catch{}}else try{await hr(o)}catch{r&&!r.gt||(t.useCompressionStream=!0)}}a=new ur(t,o),await e.pipeThrough(a).pipeThrough(new fr(wt(o))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:s}=a;return{crc32:n,inputSize:i,outputSize:s}}catch(t){throw a&&(t.outputSize=a.outputSize),t}finally{n()}}const Rr={type:"module"},xr="error";let Dr,Fr,zr,Tr=!0;try{Tr=typeof structuredClone==T&&structuredClone(new DOMException("","AbortError")).code!==D}catch{}var Ir;function Ur(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function kr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function Or(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Fr===D||Dr!==t){const a=typeof t==T;s=a?t(o):t;const l=s.startsWith("data:"),u=s.startsWith("blob:");if(l||u){n===D&&(n=!1),n&&(c=Rr);try{i=new Worker(s,c)}catch(o){if(u)try{URL.revokeObjectURL(s)}catch{}if(a&&u)return Or(t,e,r,n,!1);if(n)throw o;return Or(t,e,r,!0,!1)}}else{n===D&&(n=!0),n&&(c=Rr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return Or(t,e,r,!1,o);throw a}}Dr=t,Fr=s,zr=c}else i=new Worker(Fr,zr);return i.addEventListener("message",t=>{r.At=!0,Cr(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i}=t,{reader:s,writer:c,Rt:l,xt:u,bt:f,wt:w}=e,d=()=>e.wt!=w;try{if(i){const{message:t,stack:e,code:r,name:n,outputSize:o,cause:a,codecImportFailed:s}=i,c=new Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:o}),a&&(c.cause=Object.assign(new Error(a.message),{name:a.name})),s&&(c.codecImportFailed=!0),m(c)}else{if("pull"==r){const{value:t,done:r}=await s.read();d()||Mr({type:sr,value:t,done:r,messageId:o},e)}r==sr&&(await c.ready,await c.write(new Uint8Array(n)),d()||Mr({type:"ack",messageId:o},e)),"close"==r&&m(null,a)}}catch(i){d()||(kr(e),m(i))}function m(t,e){d()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||f())}}(t,r)}),i.addEventListener(xr,t=>Nr(t,r)),i.addEventListener("messageerror",t=>Nr(t,r)),i}function Cr(t){const{Dt:e}=t;e&&(clearTimeout(e),t.Dt=null)}function Nr(t,e){t.preventDefault&&t.preventDefault(),Cr(e);const{At:r,xt:n,writer:o,bt:a}=e;kr(e),r||(e.ht=null);let i=t.error||new Error(t.message||xr);r||(i=Object.assign(new Error(i.message||xr),{Ft:!0}),e.zt=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function Mr(t,{ht:e,writer:r,transferStreams:n,At:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=gt(r),s.push(t.value.buffer)),n&&Tr&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{Tr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Ir=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.Et){let i;typeof a==T&&(a=a());try{i=Or(t.workerURI,r,t)}catch{return yr(t),gr(t,e)}Object.assign(t,{ht:i,At:!1,St:!1,zt:null,Et:{run:async()=>{try{return await async function(t,e){if(!t.ht){const{zt:e}=t;t.zt=null;const r=e||new Error(wr);throw r.Ft=!0,r}let r,n;const o=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,Rt:r,xt:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,Tt:l}=function(t){const e=new AbortController,{writable:r,readable:n}=new TransformStream,o=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return o.catch(()=>{}),{writable:r,closed:o,Tt:()=>e.abort()}}(t.writable);let u;try{u=Mr({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}u||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.At&&Number.isFinite(f)&&f>=0&&(t.Dt=setTimeout(()=>function(t){if(t.Dt=null,t.At)return;const{xt:e,writer:r}=t;if(kr(t),t.ht=null,e){const t=new Error(wr);t.Ft=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await w(),await c,t}catch(t){await w(),l();try{await c}catch{}throw t}async function w(){if(!u&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.Ft)return yr(t),Ur(t),Ar(t,e);if(r&&r.codecImportFailed){if(t.reader)return Ur(t),Ar(t,e);t.bt()}throw r}}}})}return t.Et},pr=Ir;let vr=[];const _r=[];let Lr,Br,Pr=0;async function Wr(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:w}=r,{workerURI:d,createWorker:m,maxWorkers:p}=n;f&&(w&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(w,n.baseURI)),await async function(t,e){!ve.has(t)&&e&&je(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===D&&n.transferStreams);const h=!(s||c||l||u),y=f===D||Boolean(r.codecURI);return e.useWebWorkers=!h&&y&&(a||a===D&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&d?d:D,e.createWorker=e.useWebWorkers&&m?m:D,r.useCompressionStream=i||i===D&&n.useCompressionStream,(await async function(){const r=vr.find(t=>!t.ft);if(r)return Gr(r),new Er(r,t,e,E);if(vr.length<p){const r={It:Pr};return Pr++,vr.push(r),new Er(r,t,e,E)}return new Promise(r=>{_r.push({resolve:r,stream:t,Ut:e}),Br=n.workerStarvationTimeout,jr()})}()).run();function E(t){if(Vr(),_r.length){const[{resolve:e,stream:r,Ut:n}]=_r.splice(0,1);e(new Er(t,r,n,E)),jr()}else t.ht?(Gr(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.kt=setTimeout(async()=>{vr=vr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):vr=vr.filter(e=>e!=t)}}function jr(){!Lr&&_r.length&&Number.isFinite(Br)&&Br>=0&&(Lr=setTimeout(Zr,Br))}function Vr(){Lr&&(clearTimeout(Lr),Lr=null)}function Zr(){if(Lr=null,_r.length){const[{resolve:t,stream:e,Ut:r}]=_r.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:D,createWorker:D});t(new Er({},e,n,Hr)),jr()}}function Hr(){Vr(),jr()}function Gr(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const Kr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function qr(t,e){return Yr(t,e,!0)}function Yr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=Kr[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Xr="HTTP error ",Jr="HTTP Range not supported",Qr="HTTP resource changed",$r="Writer iterator completed too soon",tn="Writer not initialized",en="Content-Range",rn="Range",nn="GET",on="bytes",an=16777216,sn="writable",cn=Symbol();class ln{constructor(){this.size=0}init(){this.initialized=!0}}class un extends ln{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=wt(ft())}={}){const n=this;let o=0;return r=dt(r),new ReadableStream({async pull(a){const i=e===D?r:Math.min(r,e-o),s=await qn(n,t+o,i);s.length&&a.enqueue(s),o+r>=e||!s.length&&i?a.close():o+=r}})}}class fn extends ln{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(tn);return t.writeUint8Array(gt(e))}});Object.defineProperty(t,sn,{get:()=>e})}writeUint8Array(){}}class wn extends un{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Ot:t,Ct:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Ct:r,Ot:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class dn extends fn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Nt:""})}writeUint8Array(t){const e=this;let r,n=e.Nt;const o=e.Nt.length;for(e.Nt="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Nt+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Nt=n+e.Nt}getData(){return this.data+btoa(this.Nt)}}let mn,pn;class hn extends un{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),pn||(pn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();mn=1==e}catch{mn=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};return!n&&o>=r?ze(e.stream()):mn?ze(e.slice(n,n+o).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class yn extends ln{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,sn,{get:()=>r.writable}),e.contentType=t,e.vt=Te(r.readable,t),e.vt.catch(()=>{})}getData(){return this.vt}}class En extends hn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class bn extends yn{constructor(t){super(),Object.assign(this,{encoding:t,_t:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,_t:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return Yr(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Sn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await Rn(this,Mn,kn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==D){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(Jr);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=D,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await Mn(nn,t,In(t,o,e));if(206!=r.status)throw new Error(Jr);const s=r.headers.get(en);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=o)throw new Error(Jr)}Tn(t,r),zn(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return xn(this,t,e,Mn,kn)}}class gn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await Rn(this,vn,On),super.init()}readUint8Array(t,e){return xn(this,t,e,vn,On)}}function An(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=an,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:l})}async function Rn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=ft(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==z||o)){const n=await e(nn,t,In(t,s?-22:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==on))throw new Error(Jr);{if(s){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==w&&(t.Lt=e)}zn(t,n);const o=Dn(n);o===D?await Nn(t,e,r):t.size=o}}else await Nn(t,e,r)}async function xn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,Lt:s,size:c,options:l}=t;if(a||i){if(s&&e==c-w&&r==w)return s;if(e>=c||0===r)return U;{e+r>c&&(r=c-e);const o=await n(nn,t,In(t,e,r));if(206!=o.status)throw new Error(Jr);const a=o.headers.get(en);if(a){const t=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw new Error(Jr)}Tn(t,o),zn(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(Jr);return i}}{const{data:n}=t;return n||await o(t,l),t.data.subarray(e,e+r)}}function Dn(t){const e=t.headers.get(en);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Fn({headers:t}){return{Bt:t.get("Etag")||D,lastModified:t.get("Last-Modified")||D}}function zn(t,e){const{checkResourceChanges:r,Pt:n}=t;r&&!n&&206==e.status&&(t.Pt=Fn(e))}function Tn(t,e){const{checkResourceChanges:r,Pt:n,size:o}=t;if(r){const t=Dn(e);if(t!==D&&o!==D&&t!=o)throw new Error(Qr);if(n){const t=Fn(e);if(Object.entries(n).some(([e,r])=>r!==D&&t[e]!==D&&r!=t[e]))throw new Error(Qr)}}}function In(t,e=0,r=1){return Object.assign({},Un(t),{[rn]:on+"="+(e<0?e:e+"-"+(e+r-1))})}function Un({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function kn(t){await Cn(t,Mn)}async function On(t){await Cn(t,vn)}async function Cn(t,e){const r=await e(nn,t,Un(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Nn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Un(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function Mn(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status<400)return a;throw 416==a.status?new Error(Jr):new Error(Xr+(a.statusText||a.status))}function vn(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status<400){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(Jr):new Error(Xr+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class _n extends un{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new gn(t,e):new Sn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Ln extends _n{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Bn extends un{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Wt:t,size:t.length})}readUint8Array(t,e){return this.Wt.slice(t,t+e)}}class Pn extends fn{constructor(t){super(),this.jt=t||262144}init(t=0){Object.assign(this,{offset:0,Wt:new Uint8Array(t>0?t:this.jt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Wt.length){let t=e.Wt.length?2*e.Wt.length:e.jt;for(;t<r;)t*=2;const n=e.Wt;e.Wt=new Uint8Array(t),e.Wt.set(n)}e.Wt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Wt.length?this.Wt:this.Wt.slice(0,this.offset)}}class Wn extends un{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Kn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Gt(t){const{Ht:e,size:r}=this,n=e[t];return n===D?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await qn(s,i,e);else{const a=n-i;o=St(await qn(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=U;return r.Zt=Math.max(a,r.Zt),o}}class jn extends ln{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===cn)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error($r);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Gn(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await l())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}Object.defineProperty(r,sn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(cn)}finally{t.releaseLock()}}}class Vn{constructor(t){return Array.isArray(t)&&(t=new Wn(t)),(t instanceof ReadableStream||typeof t.getReader==T)&&(t={readable:ze(t)}),t}}class Zn{constructor(t){return t.writable===D&&typeof t.next==T&&(t=new jn(t)),(t instanceof WritableStream||typeof t.getWriter==T)&&(t={writable:Ie(t)}),t.size===D&&(t.size=0),t}}function Hn(t){return Boolean(t&&t.getData)}async function Gn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Kn(t){return t=new Vn(t),await Gn(t),t.size!==D&&t.readUint8Array||(t=new hn(await Te(t.readable)),await Gn(t)),t}function qn(t,e,r){return t.readUint8Array(e,r)}function Yn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?un.prototype.createReadable.call(t,e):t.readable}const Xn="filename",Jn="rawFilename",Qn="comment",$n="rawComment",to="uncompressedSize",eo="compressedSize",ro="offset",no="diskNumberStart",oo="lastModDate",ao="rawLastModDate",io="lastAccessDate",so="rawLastAccessDate",co="creationDate",lo="rawCreationDate",uo="internalFileAttributes",fo="externalFileAttributes",wo="msdosAttributesRaw",mo="msdosAttributes",po="msDosCompatible",ho="zip64",yo="encrypted",Eo="version",bo="versionMadeBy",So="zipCrypto",go="directory",Ao="executable",Ro="compressionMethod",xo="signature",Do="extraField",Fo="unixMode",zo="setuid",To="setgid",Io="sticky",Uo=[Xn,Jn,to,eo,oo,ao,Qn,$n,io,so,co,lo,ro,no,uo,fo,wo,mo,po,ho,yo,Eo,bo,So,go,Ao,"symlink",Ro,xo,"crc32",Do,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Fo,"unixExternalUpper",zo,To,Io,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ko{constructor(t){Uo.forEach(e=>this[e]=t[e])}}const Oo="File format is not recognized",Co="End of central directory not found",No="End of Zip64 central directory locator not found",Mo="Central directory header not found",vo="Local file header not found",_o="Zip64 extra field not found",Lo="File contains encrypted entry",Bo="Encryption method not supported",Po="Split zip file",Wo="Overlapping entry found",jo="Entry data out of bounds",Vo="Ambiguous archive",Zo="Encrypted central directory is not supported",Ho="Unsafe filename",Go="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ko="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",qo="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Yo="64-bit value exceeds Number.MAX_SAFE_INTEGER",Xo="unsorted central directory",Jo="unknown version needed to extract",Qo="compressed patched data",$o="malformed extra field",ta="unknown zip64 extensible data",ea="wrapped entries count",ra="appended data",na="prepended data",oa="prepended central directory",aa="trailing central directory data",ia="duplicate filename",sa="mismatched zip64 end of central directory record",ca="mismatched local file header (general purpose bit flag)",la="mismatched local file header (compression method)",ua="mismatched local file header (crc32 or sizes)",fa=/^[a-zA-Z]:/,wa="utf-8",da="cp437",ma=[[to,t],[eo,t],[ro,t],[no,e]],pa={[e]:{Kt:Qa,bytes:4},[t]:{Kt:$a,bytes:8}},ha=BigInt(Number.MAX_SAFE_INTEGER);class ya{constructor(t,e={}){Object.assign(this,{reader:new Vn(t),options:e,qt:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await Gn(i),i.size!==D&&i.readUint8Array||(i=new hn(await Te(i.readable)),await Gn(i)),i.size<w)throw new Error(Oo);const c=a.warnings=[],p=Na(n,a.options),h=p==H,A=p!=K,R=_a(Ga(a,n,j),p),x=function(t,e){if(t===D)return e;if(!Ca(t))throw new Error(Ko);return t}(Ga(a,n,"filenameValidation"),p),F=Ga(a,n,"normalizeFilename"),{Yt:z,Xt:T}=await La(i,A,R);if(!z)throw await async function(t){return await Oa(t)==o}(i)?new Error(Po):new Error(Co);A&&T>1&&Ha("multiple end of central directory records");const I=At(z);let k=Qa(I,12),O=Qa(I,16);const C=z.offset,N=Ja(I,20),M=C+w+N,v=i.size-M;v>R&&Ha(ra),v>0&&Za(c,ra);let _=Ja(I,4);const L=i.Zt||0;let B,P,W,G,q,Y=Ja(I,6),X=Ja(I,10),J=0,Q=m;const $=O==t||k==t||X==e||Y==e;if(O!=t&&Y!=e&&(O+=ka(i,Y)),$){const r=z.offset>=d?await qn(i,z.offset-d,d):U,n=At(r);if(r.length==d&&Qa(n,0)==u){O=ka(i,Qa(n,4))+$a(n,8);let r=await qn(i,O,m),o=At(r);const a=z.offset-d-m;if((r.length<m||Qa(o,0)!=l)&&O!=a&&a>=0){const t=O;O=a,O>t&&(J=O-t),r=await qn(i,O,m),o=At(r)}if(r.length<m||Qa(o,0)!=l)throw new Error(No);if(W=!0,G=$a(o,4)>44,G){const t=Math.min($a(o,4)-44,i.size-O-m);t>0&&(Q+=t,q=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=At(t),n=Ja(r,26);Object.assign(e,{compressionMethod:Ja(r,0),compressedSize:$a(r,2),uncompressedSize:$a(r,10),encryptionAlgorithm:Ja(r,18),bitLength:Ja(r,20),flags:Ja(r,22),hashAlgorithm:Ja(r,24),hashData:t.subarray(28,28+n)})}return e}(await qn(i,O+m,t)))}_==e?_=Qa(o,16):_!=Qa(o,16)&&Va(h,c,sa),Y==e?Y=Qa(o,20):Y!=Qa(o,20)&&Va(h,c,sa),X==e?X=$a(o,32):X!=$a(o,32)&&Va(h,c,sa),k==t?k=$a(o,40):k!=$a(o,40)&&Va(h,c,sa),O=ka(i,Y)+$a(o,48)+J}}let tt=k;const et=z.offset-(W?Q+d:0);if(O>=i.size&&(J=i.size-O-k-w,O=i.size-k-w),L!=_)throw new Error(Po);if(O<0)throw new Error(Oo);let rt=0,nt=await qn(i,O,k),ot=At(nt);if(k){if(nt.length<4)throw new Error(Oo);const t=et-k;if(O!=t&&Y==_){const e=Qa(ot,rt)==s||Boolean(q&&q.compressedSize)||ga(ot);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Qa(At(await qn(i,t,4)),0)==s),r){const r=O;O=t,O>r&&(J+=O-r,B=e),nt=await qn(i,O,k),ot=At(nt)}}}const at=et-O;if(k!=at&&at>=0&&Y==_&&(k=at,nt=await qn(i,O,k),ot=At(nt)),O<0||O>=i.size)throw new Error(Oo);a.directoryOffset=O,a.directoryLength=tt;const it=Ka(a,n,"decryptCentralDirectory");let st,ct;if(it&&X&&nt.length>=4&&Qa(ot,0)!=s&&(G||ga(ot))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(q,tt,nt.length);ct=nt.subarray(t),nt=await it(nt.subarray(0,t),q),ot=At(nt),tt=nt.length,st=!0}q&&!st&&(nt.length<4||Qa(ot,0)==s)&&Za(c,ta),P=O;const lt=Ga(a,n,"filenameEncoding"),ut=Ga(a,n,"commentEncoding"),ft=new Set;let wt,dt=-1;const mt=!h&&!W;!X&&mt&&(X=Aa(ot,nt,rt),X&&Za(c,ea));for(let t=0;t<X;t++){const o=new Sa(i,a.options);if(rt+f>nt.length||Qa(ot,rt)!=s){if(0==t&&!st&&(G||ga(ot)))throw new Error(Zo);throw new Error(Mo)}xa(o,ot,rt+6);const l=Boolean(o.bitFlag.languageEncodingFlag),u=rt+f,w=u+o.filenameLength,d=w+o.extraFieldLength,m=Ja(ot,rt+4),p=!(m>>8),h=m>>8==3,A=nt.subarray(u,w),R=Ja(ot,rt+32),z=d+R,T=nt.subarray(d,z),I=l,U=l,k=Qa(ot,rt+38),O=k&r,C={readOnly:Boolean(1&O),hidden:Boolean(2&O),system:Boolean(4&O),directory:Boolean(16&O),archive:Boolean(32&O)},N=Qa(ot,rt+42),M=Ka(a,n,"decodeText")||qr,v=I?wa:lt||da,_=U?wa:ut||da;let L=M(A,v,V);if(L===D&&(L=qr(A,v)),F){const t=F(L);t!==D&&(L=t)}if(va(L,x)){const t=new Error(Ho);throw t.filename=L,t}let B=M(T,_,Z);B===D&&(B=qr(T,_)),Object.assign(o,{index:t,Jt:st,versionMadeBy:m,msDosCompatible:p,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:R,offset:N,diskNumberStart:Ja(ot,rt+34),internalFileAttributes:Ja(ot,rt+36),externalFileAttributes:k,msdosAttributesRaw:O,msdosAttributes:C,rawFilename:A,filenameUTF8:I,commentUTF8:U,rawExtraField:nt.subarray(w,d),rawComment:T,filename:L,comment:B}),Da(o,o,ot,rt+6)&&Za(c,$o,L),o.offset+=J;const W=ka(i,o.diskNumberStart)+o.offset;P=Math.min(W,P),W<dt&&Za(c,Xo,L),dt=W,(o.version&r)>63&&Za(c,Jo,L),32&~o.rawBitFlag||Za(c,Qo,L),ft.has(o.filename)&&(wt=!0),ft.add(o.filename);const j=o.externalFileAttributes>>16&e;o.unixMode===D&&16877&j&&(o.unixMode=j);const H=Boolean(o.unixMode&b),K=Boolean(o.unixMode&S),q=Boolean(512&o.unixMode),Y=40960==((o.unixMode===D?j:o.unixMode)&y),Q=!Y&&(o.unixMode!==D?!!(73&o.unixMode):h&&!!(73&j)),$=o.unixMode!==D&&(o.unixMode&y)==E,tt=(j&y)==E;Object.assign(o,{setuid:H,setgid:K,sticky:q,symlink:Y,unixExternalUpper:j,executable:Q,directory:$||tt||p&&C.directory||o.filename.endsWith(g),zipCrypto:o.encrypted&&!o.extraFieldAES});const et=new ko(o);if(et.getData=(t,e)=>o.getData(t,et,a.qt,e),et.arrayBuffer=async t=>{const e=new TransformStream,r=Te(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,et,a.qt,t),r},rt=z,t==X-1&&mt){const t=Aa(ot,nt,rt);t&&(X+=t,Za(c,ea))}const{onprogress:at}=n;if(at)try{await at(t+1,X,new ko(o))}catch{}yield et}let pt=rt,ht=Ra(nt.subarray(rt))||(st?Ra(ct):D);if(!ht&&!st){const t=O+rt,e=Math.min(et-t,65541);e>=6&&(ht=Ra(await qn(i,t,e)))}ht&&(a.digitalSignature=ht,pt=rt+6+ht.length),(rt!=tt&&pt!=tt||!st&&rt!=k&&pt!=k)&&Va(h,c,aa),wt&&Va(h,c,ia);const yt=Ga(a,n,"extractPrependedData"),Et=Ga(a,n,"extractAppendedData"),bt=(h||yt)&&X&&4==P&&await async function(t){const e=await Oa(t);return e==o||808471376==e}(i)?4:0;return h&&(J||X&&P>bt)&&Ha(na),(J||X&&P>4)&&Za(c,na),B&&Za(c,oa),yt&&(a.prependedData=P>bt?await qn(i,bt,P-bt):U),a.comment=N?await qn(i,C+w,N):U,Et&&(a.appendedData=M<i.size?await qn(i,M,i.size-M):U),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class Ea{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ya(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const o={...r,readable:function(){const{readable:t,writable:e}=new TransformStream;if(r.getData)return async function(){try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}}(),t}()};delete o.getData,t.enqueue(o)}}),this.writable=r}}async function ba(t,e={}){if(t=new Vn(t),await Gn(t),t.size!==D&&t.readUint8Array||(t=new hn(await Te(t.readable)),await Gn(t)),t.size<w)return!1;const r=Na(e,{}),n=r!=K,o=_a(e[j],r),{Yt:a,Xt:i}=await La(t,n,o);if(!a||r==H&&i>1)return!1;const s=Ja(At(a),20),c=a.offset+w+s;return t.size-c<=o}class Sa{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=ft(),{reader:l,index:u,offset:f,diskNumberStart:w,extraFieldAES:d,extraFieldZip64:m,compressionMethod:p,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:b,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:R}=h,x=e.localDirectory={},F=e.warnings=[],z=ka(l,w)+f,T=await qn(l,z,A),I=At(T);let B=Ga(s,i,k),P=Ga(s,i,O);const W=Ga(s,i,C);if($(B,P),B=B&&B.length&&B,P=P&&P.length&&P,d&&99!=d.originalCompressionMethod)throw new Error(Ce);if(T.length<A||Qa(I,0)!=n)throw new Error(vo);xa(x,I,4);const{extraFieldLength:j,filenameLength:V}=x,Z=x.dataOffset=z+A+V+j,G=Ga(s,i,"checkLocalDirectory"),q=Na(i,s.options),Y=function(t,e){return t===D?e!=K:Boolean(t)}(G,q),X=function(t,e){return t===D?e==H:Boolean(t)}(G,q);let J=U;if(X&&(V||j)){const t=await qn(l,z+A,V+j);J=t.subarray(0,V),x.rawExtraField=t.subarray(V)}else x.rawExtraField=j?await qn(l,z+A+V,j):U;X&&(x.rawFilename=J),Da(s,x,I,4,!0)&&Za(F,$o),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Va(i,o,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Va(i,o,ca),e.compressionMethod!=t.compressionMethod&&Va(i,o,la),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Va(i,o,ua)}(s,x,J,X,Y?D:F);const{lastAccessDate:tt,creationDate:et,uid:rt,gid:nt}=x;tt&&(e.lastAccessDate=tt),et&&(e.creationDate=et),rt!==D&&e.uid===D&&(e.uid=rt),nt!==D&&e.gid===D&&(e.gid=nt);const ot=s.encrypted&&x.encrypted&&!W,at=ot&&!d;if(W||(e.zipCrypto=at),ot&&!(64&~x.rawBitFlag))throw new Error(Bo);const it=W?D:Be(p);if(0!=p&&8!=p&&9!=p&&!it&&!W)throw new Error(Ce);if(ot){if(!at&&(d.strength<1||d.strength>3))throw new Error(Bo);if(!B&&!P)throw new Error(Lo)}if(Z+g>l.size)throw new Error(jo);const st=g,ct=ze(l.createReadable({offset:Z,size:st})),lt=Q(Ga(s,i,N)),ut=Ga(s,i,"checkPasswordOnly");let wt=Ga(s,i,"checkOverlappingEntry");const dt=Ga(s,i,"checkOverlappingEntryOnly");dt&&(wt=!0);const{onstart:mt,onprogress:pt,onend:ht}=i,yt=0!=p&&!W,Et=W?g:S,bt=9==p;let St=Ga(s,i,v);bt&&(St=!1);const gt=Ga(s,i,"checkCrc32"),Rt=(gt===D?Ga(s,i,"checkSignature"):gt)&&!W&&(!ot||at||d&&1==d.vendorVersion),xt={options:{codecType:lr,password:B,rawPassword:P,zipCrypto:at,encryptionStrength:d&&d.strength,checkCrc32:Rt,checkAuthenticationCode:Ga(s,i,"checkAuthenticationCode"),passwordVerification:at&&(R?b>>>8&r:E>>>24&r),outputSize:Et,crc32:E,compressed:yt,encrypted:ot,useWebWorkers:Ga(s,i,M),useCompressionStream:St,transferStreams:Ga(s,i,_),deflate64:bt,format:it?it.format:D,codecURI:it?it.codecURI:D,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:ut},config:c,ut:{signal:lt,size:st,onstart:mt,onprogress:pt,onend:ht}};let Dt,Ft;wt&&await async function({reader:t,$t:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:l,extraFieldZip64:u,qt:f}){let w=0;if(l&&(w=u?20:12),w){const r=await qn(t,c+i,w+4),n=At(r);let l=r.length==w+4&&Qa(n,0)==a;if(l){const t=Ua(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?w+=4:l=!1}if(r.length>=w){const t=Ua(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const d={start:n,end:c+i+w,$t:e};for(const[t,e]of f)if(t!=r&&d.start<e.end&&e.start<d.end){const t=new Error(Wo);throw t.overlappingEntry=e.$t,t}f.set(r,d)}({reader:l,$t:e,index:u,offset:z,crc32:E,compressedSize:g,uncompressedSize:S,dataOffset:Z,dataDescriptor:R||x.bitFlag.dataDescriptor,extraFieldZip64:m||x.extraFieldZip64,qt:o});try{if(!dt){ut&&(t=new WritableStream),t=new Zn(t),await Gn(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(Et,g,yt)),({writable:Dt}=t);const{outputSize:e}=await Wr({readable:ct,writable:Dt},xt);if(t.size+=e,e!=Et)throw new Error(Ve)}}catch(e){if(e.outputSize!==D&&(t.size+=e.outputSize),!ut||e.message!=jt)throw Ft=e,e}finally{if((Hn(t)||!Ga(s,i,L))&&Dt&&!Dt.locked){const t=Dt.getWriter();if(Ft)try{await t.abort(Ft)}catch{}else await t.close()}}return ut||dt?D:t.getData?t.getData():Dt}}function ga(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Qa(t,r))return!0;return!1}function Aa(t,e,r){let n=0;for(;r+f<=e.length&&Qa(t,r)==s;)r+=f+Ja(t,r+28)+Ja(t,r+30)+Ja(t,r+32),n++;return n%65536?0:n}function Ra(t){if(t.length>=6){const e=At(t);if(Qa(e,0)==i){const r=Ja(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function xa(t,e,r){const n=t.rawBitFlag=Ja(e,r+2),o=!(1&~n),a=Qa(e,r+6);Object.assign(t,{encrypted:o,version:Ja(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&h)==h},rawLastModDate:a,lastModDate:qa(a),filenameLength:Ja(e,r+22),extraFieldLength:Ja(e,r+24)})}function Da(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=At(a);let c=0,l=!1;try{for(;c<a.length;){const t=Ja(s,c),e=Ja(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>a.length&&(l=!0);const u=Ja(r,n+4);Object.assign(e,{signature:Qa(r,n+10),crc32:Qa(r,n+10),compressedSize:Qa(r,n+14),uncompressedSize:Qa(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=At(t.data),n=ma.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+pa[e].bytes,0);if(t.data.length<o)throw new Error(_o);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=pa[s];e[i]=t[i]=c.Kt(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const w=i.get(28789);w&&(Fa(w,Xn,Jn,e,t),e.extraFieldUnicodePath=w);const d=i.get(25461);d&&(Fa(d,Qn,$n,e,t),e.extraFieldUnicodeComment=d);const m=i.get(39169);m&&m.data.length>=7?(function(t,e,r){const n=At(t.data),o=Xa(n,4);Object.assign(t,{vendorVersion:Xa(n,0),vendorId:Xa(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Ja(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=D)}(m,e,u),e.extraFieldAES=m):e.compressionMethod=u;const h=i.get(13);h&&(za(h,e),e.extraFieldPkwareUnix=h);const y=i.get(22613);y&&(za(y,e),e.extraFieldUnixType1=y);const E=i.get(10);E&&(function(t,e){const r=At(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Ja(r,o),a=Ja(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=At(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:Ya(o),lastAccessDate:Ya(a),creationDate:Ya(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(E,e),e.extraFieldNTFS=E);const b=i.get(30805);let S;if(b&&(S=Ta(b,e,!1),e.extraFieldUnix=b),!S){const t=i.get(30837);t&&(Ta(t,e,!0),e.extraFieldInfoZip=t)}const g=i.get(p);g&&(function(t,e,r){if(!t.data.length)return;const n=At(t.data),o=Xa(n,0),a=[],i=[];r?(1&~o||(a.push(oo),i.push(ao)),2&~o||(a.push(io),i.push(so)),4&~o||(a.push(co),i.push(lo))):t.data.length>=5&&(a.push(oo),i.push(ao));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Qa(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(g,e,o),e.extraFieldExtendedTimestamp=g);const A=i.get(6534);return A&&(e.extraFieldUSDZ=A),l}function Fa(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=At(t.data),i=new Ot;i.append(o[r]);const s=At(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Qa(a,1),l=Xa(a,0);Object.assign(t,{version:l,[e]:qr(t.data.subarray(5)),valid:1==l&&!o.bitFlag.languageEncodingFlag&&c==Qa(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function za(t,e){if(t.data.length<8)return;const r=At(t.data),n={lastAccessDate:new Date(1e3*(0|Qa(r,0))),lastModDate:new Date(1e3*(0|Qa(r,4)))};t.data.length>=12&&(n.uid=Ja(r,8),n.gid=Ja(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ta(t,e,r){try{const n=At(t.data);let o,a;if(r){let e=0;const r=Xa(n,e++),i=Xa(n,e++);o=Ia(t.data.subarray(e,e+i)),e+=i;const s=Xa(n,e++);a=Ia(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=Ja(n,0),a=Ja(n,2),Object.assign(t,{uid:o,gid:a}));return o!==D&&(e.uid=o),a!==D&&(e.gid=a),o!==D||a!==D}catch{}}function Ia(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Ua(t,e,r){const n=Qa(t,e);let o,a;return r?(o=$a(t,e+4),a=$a(t,e+12)):(o=Qa(t,e+4),a=Qa(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function ka(t,e){return t.Gt?t.Gt(e):0}async function Oa(t){return Qa(At(await qn(t,0,4)))}function Ca(t){return t===H||t===G||t===K}function Na(t,e){return Ma(t,Ma(e,G))}function Ma(t,e){const r=t.strictness;if(r!==D){if(!Ca(r))throw new Error(Go);return r}const n=t.checkAmbiguity;return n===D?e:n?H:e==K?K:G}function va(t,e){if(e==K)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||fa.test(t))||e==H&&(r.includes(".")||r.includes(""))}function _a(t,r){if(t!==D){const e=rt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(qo);return e}return r==H?0:r==K?1/0:e}async function La(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,l,u,f,d]of Ba(t,o)){const o=Ja(r,f+20);if(d+w+o==n){const o=await Wa(t,r,l,f,d,n,a);if(2==o){if(i||(i=Pa(u,f,d)),c++,!e||c>1)break}else 1!=o||s||(s=Pa(u,f,d))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,l,u]of Ba(t,o)){const o=Pa(c,l,u);a||(a=o);const f=await Wa(t,e,s,l,u,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{Yt:i,Xt:c}}async function*Ba(t,e){const r=t.size-e,n=await qn(t,r,e),o=At(n);for(let t=n.length-w;t>=0;t--)Qa(o,t)==c&&(yield[o,r,n,t,r+t])}function Pa(t,e,r){return{offset:r,buffer:t.slice(e,e+w).buffer}}async function Wa(r,n,o,a,i,c,l){const f=Ja(n,a+10),w=Qa(n,a+12),m=Qa(n,a+16);if(f==e||w==t||m==t)return await ja(r,n,o,i-d,c,l)==u?2:0;if(!f&&!w)return 1;const p=Ja(n,a+6);for(const t of[i-w,ka(r,p)+m])if(await ja(r,n,o,t,c,l)==s)return 2;return 0}async function ja(t,e,r,n,o,a){return n<0||n+4>o?D:n>=r?Qa(e,n-r):a.count>0?(a.count--,Qa(At(await qn(t,n,4)),0)):D}function Va(t,e,r){t?Ha(r):Za(e,r)}function Za(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==D&&(n.filename=r),t.push(n)}}function Ha(t){const e=new Error(Vo);throw e.reason=t,e}function Ga(t,e,r){return e[r]===D?t.options[r]:e[r]}function Ka(t,e,r){return J(Ga(t,e,r))}function qa(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<x?x:o}function Ya(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Xa(t,e){return t.getUint8(e)}function Ja(t,e){return t.getUint16(e,!0)}function Qa(t,e){return t.getUint32(e,!0)}function $a(t,e){const r=t.getBigUint64(e,!0);if(r>ha)throw new Error(Yo);return Number(r)}var ti=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Vo,ERR_BAD_FORMAT:Oo,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Mo,ERR_ENCRYPTED:Lo,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Zo,ERR_ENTRY_DATA_OUT_OF_BOUNDS:jo,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:No,ERR_EOCDR_NOT_FOUND:Co,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:_o,ERR_INVALID_AUTHENTICATION_CODE:Wt,ERR_INVALID_COMPRESSED_DATA:Ze,ERR_INVALID_CRC32:He,ERR_INVALID_FILENAME_VALIDATION:Ko,ERR_INVALID_MAX_APPENDED_DATA_SIZE:qo,ERR_INVALID_PASSWORD:Pt,ERR_INVALID_STRICTNESS:Go,ERR_INVALID_UNCOMPRESSED_SIZE:Ve,ERR_LOCAL_FILE_HEADER_NOT_FOUND:vo,ERR_OVERLAPPING_ENTRY:Wo,ERR_SPLIT_ZIP_FILE:Po,ERR_UNSAFE_FILENAME:Ho,ERR_UNSUPPORTED_COMPRESSION:Ce,ERR_UNSUPPORTED_ENCRYPTION:Bo,ERR_UNSUPPORTED_UINT64:Yo,ERR_WORKER_STARTUP_TIMEOUT:wr,WARNING_APPENDED_DATA:ra,WARNING_COMPRESSED_PATCHED_DATA:Qo,WARNING_DUPLICATE_FILENAME:ia,WARNING_MALFORMED_EXTRA_FIELD:$o,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:ca,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:la,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:ua,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:sa,WARNING_PREPENDED_CENTRAL_DIRECTORY:oa,WARNING_PREPENDED_DATA:na,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:aa,WARNING_UNKNOWN_VERSION:Jo,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:ta,WARNING_UNSORTED_CENTRAL_DIRECTORY:Xo,WARNING_WRAPPED_ENTRIES_COUNT:ea,ZipReader:ya,ZipReaderStream:Ea,isZipFile:ba});const ei="File already exists",ri="Zip file comment exceeds 64KB",ni="Invalid zip file comment (must be a Uint8Array)",oi="File entry comment exceeds 64KB",ai="Invalid file entry comment (must be a string)",ii="Invalid date (must be a valid Date instance)",si="File entry name exceeds 64KB",ci="Version exceeds 65535",li="The strength must equal 1, 2, or 3",ui="Encryption is not supported in USDZ files",fi="Encryption is not supported when the 'passThrough' option is set",wi="Invalid extra field (must be a Map)",di="Invalid extra field type (must be integer 0..65535)",mi="Invalid extra field data (must be a Uint8Array)",pi="Extra field data exceeds 64KB",hi=-2147483648,yi=2147483647,Ei=BigInt(0),bi=BigInt("0x7fffffffffffffff"),Si="Zip64 is not supported (set the 'zip64' option to 'true')",gi="Undefined uncompressed size",Ai="Undefined compression method",Ri="Undetermined size",xi="Undefined reader",Di="Zip file not empty",Fi="Invalid uid (must be integer 0..2^32-1)",zi="Invalid gid (must be integer 0..2^32-1)",Ti="Invalid UNIX mode (must be integer 0..65535)",Ii="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ui="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ki="Invalid msdosAttributesRaw (must be integer 0..255)",Oi="Invalid msdosAttributes (must be an object with boolean flags)",Ci="Invalid level (must be integer 0..9)",Ni="Signature data exceeds 64KB",Mi=new Uint8Array([7,0,2,0,65,69,3,0,0]),vi="infozip",_i="unix";let Li=0;const Bi=[];class Pi{constructor(t,e={}){t=new Zn(t);const{availableSize:r=F,maxSize:n=F}=t,o=r>0&&r!==F&&n>0&&n!==F;Object.assign(this,{writer:t,te:o,options:e,ee:new Map,re:new Set,offset:e[P]===D?t.size||t.writable.size||0:e[P],ne:e[P]===D?0:e[P]-(t.size||t.writable.size||0),oe:new Set,ae:[],ie:0,se:D})}prependZip(t){return Vi(this,async function(t,e){if(t.re.size)throw new Error(Di);await t.ce(e)}(this,t))}appendZip(t){return Vi(this,this.ce(t))}async ce(t){const e=this,{oe:r,re:n,ee:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let l;try{t=new Vn(t),await Gn(t),t.size!==D&&t.readUint8Array||(t=new hn(await Te(t.readable)),await Gn(t));const{ZipReader:r}=await Promise.resolve().then(function(){return ti}),i=new r(t),s=await i.getEntries();await i.close(),await Gn(e.writer);const{directoryOffset:u}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(ei);n.add(t),c.push(t)}),e.le=!0;const{ue:f}=e;e.ue=new Promise(t=>l=()=>{e.le=!1,t()}),await f,e.te&&(delete e.te,await async function(t){return At(await qn(t,0,4)).getUint32(0,!0)==o}(t)||(await is(e.writer,os()),e.offset+=4));const w=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>ns(e,t)-ns(e,r));let s=0;for(const r of i){const n=ns(e,r);await es(t,e,s,n-s),Qi(o,await rs(e,n))&&await o.closeDisk(),a.set(r,{offset:$i(t,o),diskNumberStart:Xi(o)}),s=n}await es(t,e,s,n-s)}else{const o=t.offset;await es(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+ns(e,t),diskNumberStart:0}))}return a}(e,t,s,u);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:l}=t;let{compressionMethod:u,rawExtraField:f}=t;const{level:d,languageEncodingFlag:m,dataDescriptor:p}=o;f=ts(f||U),t.extraFieldAES&&(u=99);const h=Rs(f),y=Boolean(l)&&l.uncompressedSize!==D,E=Boolean(l)&&l.compressedSize!==D,b=-7&Ds(d,m,p,i,u)|d<<1,{fe:S,we:g}=xs({version:e,bitFlag:b,compressionMethod:u,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,de:E,me:y,extraFieldLength:h}),{crc32:A}=t;A!==D&&Ss(g,10,A);const{offset:R,diskNumberStart:x}=w.get(t);Object.assign(t,{me:y,de:E,offset:R,diskNumberStart:x,pe:!1,he:U,ye:U,Ee:U,be:U,Se:U,rawExtraField:f,ge:U,extendedTimestamp:!1,fe:S,we:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),l&&l()}}add(o="",i,s={}){const c=this,{oe:l}=c,u=async function(o,i,s,c){if(ws(o,c=Object.assign({},c),go)&&!i.endsWith(g)&&(i+=g),o.re.has(i))throw new Error(ei);o.re.add(i),Li<ft().maxWorkers?Li++:await new Promise(t=>Bi.push(t));try{return await async function(o,i,s,c){const l=function(n,o,a){let i=ws(n,a,po),s=ws(n,a,bo,i?20:768);const c=ws(n,a,Ao),l=ps(n,a,"uid"),u=ps(n,a,"gid");let f=ps(n,a,Fo),w=ws(n,a,"unixExtraFieldType"),d=ws(n,a,zo),m=ws(n,a,To),p=ws(n,a,Io);if(et(l,t,Fi),et(u,t,zi),et(f,e,Ti),w!==D&&w!==vi&&w!==_i)throw new Error(Ii);if(w===_i&&(l!==D&&l>e||u!==D&&u>e))throw new Error(Ui);w!==D||l===D&&u===D||(w=vi);let h=ps(n,a,wo),A=ws(n,a,mo);const R=h!==D||A!==D;if(l!==D||u!==D||f!==D||w||c?(i=!1,s=s&r|768):R&&(i=!0,s&=r),et(h,r,ki),A&&("object"!=typeof A||Array.isArray(A)))throw new Error(Oi);if(s>e)throw new Error(ci);let x=ws(n,a,fo);const F=x!==D;F||(x=0),!a[go]&&o.endsWith(g)&&(a[go]=!0);const z=ws(n,a,go);if(z?(o.endsWith(g)||(o+=g),F||(x=16,i||(x|=16877<<16))):i||F||(x=c?493<<16:27525120),!i){const t=f!==D||Boolean(d||m||p);f=f===D?x>>16&e:f&e,d?f|=b:d=Boolean(f&b),m?f|=S:m=Boolean(f&S),p?f|=512:p=Boolean(512&f),F&&!t||(z?f=-61441&f|E:f&y||(f|=32768),x=(f&e)<<16|x&e)}({msdosAttributesRaw:h,msdosAttributes:A}=function(t,e){if(t!==D)t&=r;else if(e!==D){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===D&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,A)),R&&(x=x&t|h&r);const T=x>>16&e,I=f!==D&&40960==(f&y);return{name:o,Ae:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:x,unixExternalUpper:T,uid:l,gid:u,unixMode:f,unixExtraFieldType:w,symlink:I,setuid:d,setgid:m,sticky:p,msdosAttributesRaw:h,msdosAttributes:A}}}(o,i,c);({name:i}=l);const u=function(t,r,n){const o=ms(t,n,"encodeText")||Nt;let a=o(r,V);if(a===D&&(a=Nt(r)),Rs(a)>e)throw new Error(si);const i=n[Qn]||"";if(typeof i!=I)throw new Error(ai);let s=o(i,Z);if(s===D&&(s=Nt(i)),Rs(s)>e)throw new Error(oi);const c=ws(t,n,Eo);if(c!==D&&c>e)throw new Error(ci);const l=ds(t,n,oo,new Date),u=ws(t,n,ao),f=ds(t,n,io),w=ds(t,n,co),d=ws(t,n,uo,0),m=ws(t,n,C),p=ws(t,n,k),h=ws(t,n,O);$(p,h);const y=ps(t,n,"encryptionStrength",3),E=ws(t,n,So),b=ws(t,n,"extendedTimestamp",!0),S=ws(t,n,"ntfsTimestamp"),g=ws(t,n,"keepOrder",!0),A=ws(t,n,M),R=ws(t,n,_),x=ws(t,n,"bufferedWrite"),F=ms(t,n,"createTempStream"),z=ws(t,n,"dataDescriptorSignature",!0),T=Q(ws(t,n,N)),U=ws(t,n,"useUnicodeFileNames",!0),L=ws(t,n,Ro),P=m||L===D?D:Be(L);if(!m&&L!==D&&0!==L&&8!==L&&!P)throw new Error(Ce);let j=ps(t,n,"level");if(et(j,9,Ci),t.options[W]){if(p!==D||h!==D)throw new Error(ui);j===D&&L===D&&(j=0)}m&&(j=D);let H=ws(t,n,v),G=ws(t,n,B);x&&G===D&&(G=!1),(G===D||E&&!m)&&(G=!0),j!==D&&6!=j&&(H=!1);const K=ws(t,n,ho);if(!(E||p===D&&h===D||Number.isInteger(y)&&y>=1&&y<=3))throw new Error(li);const q=Gi(n[Do]),Y=Gi(n.localExtraField),X=Gi(n.centralExtraField);return{comment:i,Ae:{rawFilename:a,rawComment:s,version:c,lastModDate:l,rawLastModDate:u,lastAccessDate:f,creationDate:w,internalFileAttributes:d,passThrough:m,password:p,rawPassword:h,encryptionStrength:y,zipCrypto:E,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:g,useWebWorkers:A,transferStreams:R,bufferedWrite:x,createTempStream:F,dataDescriptorSignature:z,signal:T,useUnicodeFileNames:U,compressionMethod:L,format:P?P.format:D,codecURI:P?P.codecURI:D,Re:P?P.versionNeeded:D,level:j,useCompressionStream:H,dataDescriptor:G,zip64:K,rawExtraField:q,xe:Y,ge:X}}}(o,i,c),{comment:f}=u,w=c[Do];o.ee.set(i,D);const d=o.se,m={};let h,z;u.Ae.keepOrder&&(m.De=new Promise(t=>h=t)),o.se=m;try{const{Ae:f}=u;0==f.level||f.compressionMethod!==D||f.passThrough||await async function(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.gt)return!0;if(er(e)||tr(e,qe))return!0;if(r)try{return await hr(t),!0}catch{return!1}return!1}(ft())||(f.level=0);const w=await async function(e,r,{Ae:n},o){if(n.passThrough&&!r&&!ws(e,o,go))throw new Error(xi);let a;return r&&(r=new Vn(r),await Gn(r),({size:a}=r)),Object.assign({reader:r},function(e,r,n,o,a){const{passThrough:i,zipCrypto:s,password:c,rawPassword:l,encryptionStrength:u}=o;let{dataDescriptor:f,zip64:w,level:d,compressionMethod:m}=o,p=0,h=0;if(i&&r){if(h=a[to],h===D)throw new Error(gi);if(m===D)throw new Error(Ai)}const y=!0===w,E=ws(e,a,yo);if(r&&i&&!E&&Rs(c,l))throw new Error(fi);const b=r&&(Boolean(c&&Rs(c)||l&&Rs(l))||i&&E);r||(d=0,m=0);const S=b?s?12:16+4*u:0;r&&(i?(a.uncompressedSize=h,p=n===D?hs(h)+S:n):n===D?(f=!0,(w||w===D)&&(w=!0,h=p=4294967296)):(a.uncompressedSize=h=n,p=(ys(m,d)?hs(h):h)+S));const g=!(b||r&&(0!==n||i)||ys(m,d));g&&!s&&ws(e,a,B)===D&&(f=!1);const A=y||h>=t,R=y||p>=t;if(A||R){if(!1===w)throw new Error(Si);w=!0}return w=w||!1,{Fe:p,Ae:{dataDescriptor:f,ze:g,zip64:w,me:A,de:R,uncompressedSize:h,level:d,compressionMethod:m,encrypted:b}}}(e,Boolean(r),a,n,o))}(o,s,u,c);({reader:s}=w);const y=Ji(o.writer),E=Xi(o.writer),b=function(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:w,directory:d,rawExtraField:m,xe:h,encryptionStrength:y,extendedTimestamp:E,ntfsTimestamp:b,passThrough:S,encrypted:g,me:F,de:z,uncompressedSize:T,crc32:I}=t;let{version:k,compressionMethod:O}=t;const C=!d&&ys(O,c);let N;const M=S||!C,v=l&&(t.bufferedWrite||!w||!F&&!z||M),_=v||l&&w&&(F||z);if(l&&(F||z)){const t=20,e=Yi(t);if(e.Te(1),e.Te(t-4),N=e.Wt,v&&(e.Ie(T),M)){const t=g?u?12:16+4*y:0;e.Ie(S?0:T+t)}}else N=U;let L,B,P,j,V;if(g&&!u){const t=Yi(Rs(Mi)+2);t.Te(39169),t.Ue(Mi),L=t.Wt,L[8]=y}else L=U;if(E){const t=ls(o),e=us(t);if(e){const e=9+(i?4:0)+(s?4:0),r=Yi(e);j=1+(i?2:0)+(s?4:0),r.Te(p),r.Te(e-4),r.ke(j),r.Oe(t),i&&r.Oe(fs(ls(i))),s&&r.Oe(fs(ls(s))),P=r.Wt}else P=U;if(b===D?!e||Boolean(i||s):b)try{const t=cs(o),e=Yi(36);e.Te(10),e.Te(32),e.Ce(4),e.Te(1),e.Te(24),e.Ie(t),e.Ie(i?cs(i):t),e.Ie(s?cs(s):t),B=e.Wt}catch{B=U}else B=U}else B=P=U;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=vi||r===D&&n===D)if(o!=_i||r===D&&n===D)V=U;else{const t=Yi(8);t.Te(30805),t.Te(4),t.Te((r===D?0:r)&e),t.Te((n===D?0:n)&e),V=t.Wt}else{const t=qi(r===D?0:r),e=qi(n===D?0:n),o=3+t.length+e.length,a=Yi(4+o);a.Te(30837),a.Te(o),a.ke(1),a.ke(t.length),a.Ue(t),a.ke(e.length),a.Ue(e),V=a.Wt}}catch{V=U}O===D&&(O=C?8:0),k===D&&(k=0!=O||d||g?20:10);const{Re:Z}=t;C&&Z!==D&&(k=k>Z?k:Z),l&&(k=k>45?k:45),g&&!u&&(k=k>51?k:51,S&&I!==D&&(L[4]=1),bs(At(L),9,O),O=99);const H=_?Rs(N):0,G=H+Rs(L,P,B,V,m,h);if(G+(t[W]?67:0)>e)throw new Error(pi);const K=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),{fe:q,we:Y,rawLastModDate:X}=xs({version:k,bitFlag:Ds(c,f,w,g,O),compressionMethod:O,uncompressedSize:T,lastModDate:K<x?x:K>R?R:K,rawLastModDate:a,rawFilename:r,de:z,me:F,extraFieldLength:G}),J=Yi(A+Rs(r)+G),Q=J.Wt,$=At(Q);return J.Oe(n),J.Ue(q),J.Ue(r),_&&J.Ue(N),J.Ue(L),J.Ue(P),J.Ue(B),J.Ue(V),J.Ue(m),J.Ue(h),w&&(z||Ss($,18,0),F||Ss($,22,0)),{Ne:Q,Me:$,fe:q,we:Y,lastModDate:o,rawLastModDate:X,encrypted:g,compressed:C,version:k,compressionMethod:O,ve:j,he:U,_e:H,Ee:P,be:B,Se:V,ye:L,extraFieldLength:G}}(c=Object.assign({},c,l.Ae,u.Ae,w.Ae,{signature:c[xo],crc32:c.crc32===D?c[xo]:c.crc32,offset:o.offset-y,diskNumberStart:E,[W]:o.options[W]})),S=function({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=U,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=At(o),r&&(i=4,Ss(n,0,a))),{Le:o,Be:n,Pe:i}}(c),g=Rs(b.Ne,S.Le);z=await async function(e,n,o,a,i){const{ee:s,writer:c}=e,{keepOrder:l,dataDescriptor:u,ze:f,signal:w}=i,{We:d,$t:m,je:p,Ve:h}=a,y=e.options[W];let E,b,S,g,R,x,z=m,T=0;const I=l&&p?p.De:D;s.set(n,z);try{i.bufferedWrite||!l||e.le||e.ie||!u&&!f?(E=!0,e.ie++,x=i.createTempStream?await i.createTempStream():new TransformStream(D,D,{highWaterMark:F}),x.size=0,await Gn(c)):(x=c,await I,await U()),await Gn(x);const m=Ji(c);e.te&&!E&&await as(e,c),y&&!E&&Ki(a,e.offset-m);const{Ne:p}=d;E||await k();const h=Xi(c),b=$i(e,c);if(z.diskNumberStart=h,E||(g=!0,R=c.size,await is(x,p)),z=await async function(e,n,{diskNumberStart:o,De:a},i,s,c){const{We:l,Ze:u,He:f}=i,{fe:w,we:d,lastModDate:m,rawLastModDate:p,encrypted:h,compressed:y,version:E,compressionMethod:b,he:S,_e:g,Ee:A,ve:R,be:x,Se:F,ye:z}=l,{Le:T}=u,{rawFilename:I,lastAccessDate:U,creationDate:k,password:O,rawPassword:C,level:N,zip64:M,me:v,de:_,zipCrypto:L,dataDescriptor:B,directory:P,executable:W,versionMadeBy:j,rawComment:V,rawExtraField:Z,ge:H,useWebWorkers:G,transferStreams:K,onstart:q,onprogress:Y,onend:X,signal:J,encryptionStrength:Q,extendedTimestamp:$,msDosCompatible:tt,internalFileAttributes:et,externalFileAttributes:rt,uid:nt,gid:ot,unixMode:at,symlink:it,setuid:st,setgid:ct,sticky:lt,unixExternalUpper:ut,msdosAttributesRaw:ft,msdosAttributes:wt,useCompressionStream:dt,passThrough:mt,format:pt,codecURI:ht}=c,yt={De:a,versionMadeBy:j,zip64:M,directory:Boolean(P),executable:Boolean(W),filenameUTF8:!0,rawFilename:I,commentUTF8:!0,rawComment:V,he:S,_e:g,Ee:A,be:x,Se:F,ye:z,rawExtraField:Z,ge:H,extendedTimestamp:$,msDosCompatible:tt,internalFileAttributes:et,externalFileAttributes:rt,diskNumberStart:o,uid:nt,gid:ot,unixMode:at,symlink:Boolean(it),setuid:st,setgid:ct,sticky:lt,unixExternalUpper:ut,msdosAttributesRaw:ft,msdosAttributes:wt};let{crc32:Et,uncompressedSize:bt}=c,St=0;mt||(bt=0);const{writable:gt}=n;if(e){const o=ze(Yn(e)),a=e.size,i={options:{codecType:cr,inputSize:a,level:N,rawPassword:C,password:O,encryptionStrength:Q,zipCrypto:h&&L,passwordVerification:h&&L&&p>>8&r,computeCrc32:!mt,compressed:y&&!mt,encrypted:h&&!mt,useWebWorkers:G,useCompressionStream:dt,transferStreams:K,format:pt,codecURI:ht,compressionMethod:b},config:s,ut:{signal:J,size:a,onstart:q,onprogress:Y,onend:X}};try{const e=await Wr({readable:o,writable:gt},i);if(St=e.outputSize,n.size+=St,mt||(bt=e.inputSize,h&&!L||(Et=e.crc32)),!_&&St>=t||!v&&bt>=t)throw new Error(Si)}catch(t){throw t.outputSize!==D&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,We:n,Ze:o},{zip64:a,zipCrypto:i,passThrough:s,dataDescriptor:c}){const{we:l,encrypted:u}=n,{Be:f,Pe:w}=o;u&&!i&&!s||t===D||(Ss(l,10,t),c&&Ss(f,w,t)),a?c&&(gs(f,w+4,BigInt(e)),gs(f,w+12,BigInt(r))):(Ss(l,14,e),Ss(l,18,r),c&&(Ss(f,w+4,e),Ss(f,w+8,r)))}({crc32:Et,compressedSize:St,uncompressedSize:bt,We:l,Ze:u},c),B&&await is(n,T),Object.assign(yt,{uncompressedSize:bt,compressedSize:St,lastModDate:m,rawLastModDate:p,creationDate:k,lastAccessDate:U,encrypted:Boolean(h),zipCrypto:Boolean(L),size:f+St,compressionMethod:b,version:E,fe:w,we:d,signature:Et,crc32:!h||L||mt?Et:D,ve:R,me:v,de:_}),yt}(o,x,z,a,ft(),i),E||(g=!1),s.set(n,z),z.filename=n,E){if(await Promise.all([x.writable.getWriter().close(),I]),await U(),e.te&&await as(e,c),S=!0,R=c.size,await k(),z.diskNumberStart=Xi(c),z.offset=$i(e,c),y){const t=a.He;Ki(a,e.offset-Ji(c)),z.size+=a.He-t}!function({rawFilename:t,encrypted:e,zip64:r,_e:n,crc32:o,compressedSize:a,uncompressedSize:i,me:s,de:c},l,{dataDescriptor:u,passThrough:f}){if(u||((!e||f&&o!==D)&&Ss(l,14,o),c||Ss(l,18,a),s||Ss(l,22,i)),r&&n){const e=A+Rs(t)+4;gs(l,e,BigInt(i)),gs(l,e+8,BigInt(a))}}(z,d.Me,i),await is(c,d.Ne),await ss(x.readable,c,w,t=>T+=t),c.size+=x.size,S=!1}else z.diskNumberStart=h,z.offset=b;return e.offset+=z.size,z}catch(t){if(S||g){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,E&&(e.offset+=T)}throw s.delete(n),t}finally{if(E&&e.ie--,h&&h(I),b&&b(),E&&x&&x.dispose)try{await x.dispose()}catch{}}async function U(){e.le=!0;const{ue:t}=e;e.ue=new Promise(t=>b=()=>{e.le=!1,t()}),await t}async function k(){Qi(c,Rs(d.Ne))&&await c.closeDisk()}}(o,i,s,{We:b,Ze:S,He:g,$t:m,je:d,Ve:h},c)}catch(t){throw o.ee.delete(i),t}finally{h&&h(d&&d.De)}return Object.assign(z,{name:i,comment:f,extraField:w}),new ko(z)}(o,i,s,c)}catch(t){throw o.re.delete(i),t}finally{const t=Bi.shift();t?t():Li--}}(c,o,i,s);l.add(u);const f=()=>l.delete(u);return Promise.prototype.then.call(u,f,f),Vi(c,u)}remove(t){const{re:e,ee:r}=this;if(typeof t==I&&(t=r.get(t)),t&&t.filename!==D){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=U,n={}){const o=this,{oe:a,writer:d}=this,{writable:m}=d;if(!(r instanceof Uint8Array))throw new Error(ni);if(Rs(r)>e)throw new Error(ri);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.ae.map(t=>t.Ge));const h=o.ae.filter(t=>t.error&&!t.Ke);if(h.length){const t=h.map(t=>t.error);h.forEach(t=>t.Ke=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const a=function(r){let n=0;for(const[,o]of r){const{rawFilename:r,ye:a,rawComment:i,be:s,Se:c,rawExtraField:l,ge:u,extendedTimestamp:w,ve:d,lastModDate:m,me:h,de:y,uncompressedSize:E,compressedSize:b}=o,S=o.offset>=t,g=o.diskNumberStart>=e;let A,R;if(S||g||h||y){const t=4+(h?8:0)+(y?8:0)+(S?8:0)+(g?4:0),e=Yi(t);e.Te(1),e.Te(t-4),h&&e.Ie(E),y&&e.Ie(b),S&&e.Ie(o.offset),g&&e.Oe(o.diskNumberStart),A=e.Wt}else A=U;o.he=A,o.qe=S,o.pe=g;const x=ls(m);if(w&&us(x)){const t=Yi(9);t.Te(p),t.Te(5),t.ke(d),t.Oe(x),R=t.Wt}else R=U;o.Ee=R;const D=Rs(A,a,s,c,R,l,u);if(D>e)throw new Error(pi);n+=f+Rs(r,i)+D}return n}(r.ee),{Ye:d,Xe:m,Je:h}=await async function(r,n,o){const{ee:a,writer:i}=r,c=new Uint8Array(n);await Gn(i);let l=0,u=0,w=Xi(i),d=Ji(i),m=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:p,rawFilename:h,he:y,ye:E,Ee:b,be:S,Se:g,rawExtraField:A,ge:R,rawComment:x,versionMadeBy:D,fe:F,we:z,me:T,de:I,pe:U,qe:k,internalFileAttributes:O,externalFileAttributes:C,diskNumberStart:N,uncompressedSize:M,compressedSize:v}=n,_=Rs(y,E,b,S,g,A,R),L=f+Rs(h,x)+_;Qi(i,l+L-u)&&(await is(i,c.slice(u,l)),u=l,m=0,await i.closeDisk()),0==r&&(w=Xi(i),d=Ji(i)),T||Ss(z,18,M),I||Ss(z,14,v),(k||U)&&n.version<45&&bs(z,0,45);const B=Yi(L);if(B.Oe(s),B.Te(D),B.Ue(F.subarray(0,24)),B.Te(_),B.Te(Rs(x)),B.Te(U?e:N),B.Te(O),B.Oe(C),B.Oe(k?t:p),B.Ue(h),B.Ue(y),B.Ue(E),B.Ue(b),B.Ue(S),B.Ue(g),B.Ue(A),B.Ue(R),B.Ue(x),As(c,B.Wt,l),l+=L,m++,o.onprogress)try{await o.onprogress(r+1,a.size,new ko(n))}catch{}}return await is(i,u?c.slice(u):c),{Ye:{diskNumber:w,diskOffset:d},Xe:{diskNumber:Xi(i),Qe:m},Je:c}}(r,a,o),y=await async function(t,r,n){const o=ms(t,n,"signCentralDirectory");if(o){const n=await o(r),a=Rs(n);if(a>e)throw new Error(Ni);const s=Yi(6+a);s.Oe(i),s.Te(a),s.Ue(n);const{writer:c}=t;return Qi(c,Rs(s.Wt))&&await c.closeDisk(),await is(c,s.Wt),6+a}return 0}(r,h,o);await async function(r,n,o,a){const{writer:i}=r,{Ye:s,Xe:f,$e:d}=a;let{er:m}=a,p=r.ee.size,h=s.diskNumber,y=$i(r,s);const E=Rs(n);if(E>e)throw new Error(ri);let b=ws(r,o,ho),S=Xi(i);if(Qi(i,(b?98:w)+E)&&S++,y>=t||m>=t||p>=e||S>=e){if(!1===b)throw new Error(Si);b=!0}const g=Yi(b?98:w);Qi(i,Rs(g.Wt)+E)&&await i.closeDisk(),S=Xi(i);let A=S==f.diskNumber?f.Qe:0;b&&(g.Oe(l),g.Ie(44),g.Te(45),g.Te(45),g.Oe(S),g.Oe(h),g.Ie(A),g.Ie(p),g.Ie(m),g.Ie(y),g.Oe(u),g.Oe(S),g.Ie(BigInt($i(r,i))+BigInt(m)+BigInt(d)),g.Oe(S+1),ws(r,o,"supportZip64SplitFile",!0)&&(S=e,h=e),A=e,p=e,y=t,m=t),g.Oe(c),g.Te(S),g.Te(h),g.Te(A),g.Te(p),g.Oe(m),g.Oe(y),g.Te(E),await is(i,g.Wt),E&&await is(i,n)}(r,n,o,{Ye:d,Xe:m,er:a,$e:y})}(o,r,n),!Hn(d)&&ws(o,n,L)||await m.getWriter().close(),d.getData?d.getData():m}}class Wi{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Pi(r,t),this.oe=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Zi(e,t)}}()}});return Hi(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Hi(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.oe))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Zi(r,t),t}try{return await r.close(t,e)}catch(t){throw await Zi(r,t),t}}}class ji extends Promise{then(t,e){const{rr:r}=this;return r&&(r.Ke=!0),super.then(t,e)}}function Vi(t,e){const r=new ji((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.rr=n,n.Ge=Promise.prototype.then.call(r,D,t=>n.error=t),t.ae.push(n),r}async function Zi(t,e){try{await t.writer.writable.abort(e)}catch{}}function Hi(t,e,r){t.oe.add(e),e.catch(t=>{try{r(t)}catch{}})}function Gi(t){if(!t)return U;if(!(t instanceof Map))throw new Error(wi);let r=0,n=0;t.forEach((t,n)=>{if(tt(n,e,di),!(t instanceof Uint8Array))throw new Error(mi);if(Rs(t)>e)throw new Error(pi);r+=4+Rs(t)});const o=new Uint8Array(r),a=At(o);return t.forEach((t,e)=>{bs(a,n,e),bs(a,n+2,Rs(t)),As(o,t,n+4),n+=4+Rs(t)}),o}function Ki(t,e){const{We:r}=t;let{Ne:n,extraFieldLength:o}=r,a=64-(e+Rs(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=At(i);bs(s,0,6534),bs(s,2,a-4);const c=n;r.Ne=n=new Uint8Array(Rs(c)+a),As(n,c),As(n,i,Rs(c));const l=At(n);bs(l,28,o+a),r.Me=l,t.He+=a}function qi(t){const e=new Uint8Array(4);At(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Yi(t){const e=new Uint8Array(t),r=At(e);let n=0;return{Wt:e,ke:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},Te:t=>{bs(r,n,t),n+=2},Oe:t=>{Ss(r,n,t),n+=4},Ie:t=>{gs(r,n,BigInt(t)),n+=8},Ue:t=>{As(e,t,n),n+=Rs(t)},Ce:t=>n+=t}}function Xi(t){const{diskNumber:e=0}=t;return e}function Ji(t){const{diskOffset:e=0}=t;return e}function Qi(t,e){const{availableSize:r=F}=t;return e>r}function $i(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ne:0)}function ts(t){const e=At(t);let r=0;for(;r+4<=Rs(t);){const n=4+Es(e,r+2);if(1==Es(e,r))return ts(St(t.subarray(0,r),t.subarray(Math.min(r+n,Rs(t)))));r+=n}return t}async function es(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await ss(Yn(e,{offset:r,size:n}),o,D,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function rs(t,e){const r=await qn(t,e,A);if(Rs(r)<A)return A;const n=At(r);return A+Es(n,26)+Es(n,28)}function ns(t,{offset:e,diskNumberStart:r}){return e+(t.Gt?t.Gt(r):0)}function os(){const t=new Uint8Array(4);return Ss(At(t),0,o),t}async function as(t,e){delete t.te,await is(e,os()),t.offset+=4}async function is(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Rs(e),await n.write(e)}finally{n.releaseLock()}}async function ss(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(Rs(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function cs(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Ei?Ei:e>bi?bi:e}}function ls(t){return Math.floor(t.getTime()/1e3)}function us(t){return t>=hi&&t<=yi}function fs(t){return Math.min(yi,Math.max(hi,t))}function ws(t,e,r,n){const o=e[r]===D?t.options[r]:e[r];return o===D?n:o}function ds(t,e,r,n){const o=ws(t,e,r,n);if(null===o)return n;if(o!==D&&(typeof o.getTime!=T||Number.isNaN(o.getTime())))throw new Error(ii);return o}function ms(t,e,r){return J(ws(t,e,r))}function ps(t,e,r,n){return rt(ws(t,e,r,n))}function hs(t){return t+5*(Math.floor(t/16383)+1)}function ys(t,e){return t===D?e===D||e>0:0!==t}function Es(t,e){return t.getUint16(e,!0)}function bs(t,e,r){t.setUint16(e,r,!0)}function Ss(t,e,r){t.setUint32(e,r,!0)}function gs(t,e,r){t.setBigUint64(e,r,!0)}function As(t,e,r){t.set(e,r)}function Rs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function xs({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,de:l,me:u,extraFieldLength:f}){const w=Yi(26),d=w.Wt,m=At(d);if(w.Te(e),w.Te(r),w.Te(n),s===D){const t=new Uint32Array(1),e=At(t);bs(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),bs(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return w.Oe(s),w.Ce(4),l||a!==D?w.Oe(l?t:a):w.Ce(4),u||o!==D?w.Oe(u?t:o):w.Ce(4),w.Te(Rs(c)),w.Te(f),{fe:d,we:m,rawLastModDate:s}}function Ds(t,e,r,n,o){let a=0;return e&&(a|=h),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function Fs(){return"application/octet-stream"}function zs(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=ft(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Ts(r,Ge)||Ts(t,Ge)||Ts(t,qe),decompression:Ts(n,Ge)||Ts(e,Ge)||Ts(e,qe),registered:!1},{compressionMethod:9,compression:!1,decompression:Ts(n,Ke)||Ts(e,Ke),registered:!1}];for(const t of Pe()){const e=We(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==T:D,decompression:e?typeof e.DecompressionStream==T:D,registered:!0})}return o}function Ts(t,e){if(!t)return!1;const{nr:r}=t;return r?r.includes(e):tr(t,e)}const Is="2.11.0",Us=1048576,ks=".zip.js-temp";function Os(t={}){const{thresholdBytes:e=Us,directoryName:r=ks,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const l=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Cs=1048576;function Ns(t={}){const{thresholdBytes:e=Cs}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Te(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const Ms=1048576,vs=".zip.js-temp",_s="createSyncAccessHandle is only available in dedicated workers";function Ls(t={}){const{thresholdBytes:e=Ms,directoryName:r=vs,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(_s);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const l=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{Et({baseURI:import.meta.url})}catch{}const Bs="deflate",Ps="deflate-raw",Ws="deflate64-raw",js="gzip";let Vs,Zs,Hs,Gs,Ks;function qs(t,e,r={}){if(!Vs){const t=new Error("WASM module not loaded");throw t.cause=Ks,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.ar=Zs(o),this.in=Zs(a),this.inBufferSize=a,!this.ar||!this.in)throw new Error("allocation failed");if(this.ir=new Uint8Array(o),t?(this.sr=Vs.deflate_process,this.cr=Vs.deflate_last_consumed,this.lr=Vs.deflate_end,this.ur=Vs.deflate_new(),r=e===js?Vs.deflate_init_gzip(this.ur,n):e===Ps?Vs.deflate_init_raw(this.ur,n):Vs.deflate_init(this.ur,n)):e===Ws?(this.sr=Vs.inflate9_process,this.cr=Vs.inflate9_last_consumed,this.lr=Vs.inflate9_end,this.ur=Vs.inflate9_new(),r=Vs.inflate9_init_raw(this.ur)):(this.sr=Vs.inflate_process,this.cr=Vs.inflate_last_consumed,this.lr=Vs.inflate_end,this.ur=Vs.inflate_new(),r=e===Ps?Vs.inflate_init_raw(this.ur):e===js?Vs.inflate_init_gzip(this.ur):Vs.inflate_init(this.ur)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(e,r){try{const n=e,a=new Uint8Array(Gs.buffer),i=this.sr,s=this.cr,c=this.ar,l=this.ir;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Hs&&(Hs(this.in),this.in=0),this.in=Zs(e),this.inBufferSize=e,!this.in))throw new Error("allocation failed");a.set(n.subarray(u,u+e),this.in);const f=i(this.ur,this.in,e,c,o,0),w=16777215&f;if(w&&(l.set(a.subarray(c,c+w),0),r.enqueue(l.slice(0,w))),!t){const t=f>>24&255,e=128&t?t-256:t;if(e<0)throw new Error("process error:"+e)}const d=s(this.ur);if(0===d&&0===w)break;u+=d}}catch(t){i(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Gs.buffer),n=this.sr,a=this.ar,i=this.ir;for(;;){const s=n(this.ur,0,0,a,o,4),c=16777215&s,l=s>>24&255;if(!t){const t=128&l?l-256:l;if(t<0)throw new Error("process error:"+t)}if(c&&(i.set(r.subarray(a,a+c),0),e.enqueue(i.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=i(this);0!==t&&e.error(new Error("end error:"+t))}},cancel(){i(this)}});function i(t){let e=0;return t.ur&&t.lr&&(e=t.lr(t.ur)),t.ur=0,t.in&&Hs&&Hs(t.in),t.in=0,t.ar&&Hs&&Hs(t.ar),t.ar=0,e}}class Ys{constructor(t=Bs,e){return qs(!0,t,e)}}class Xs{constructor(t=Bs,e){return qs(!1,t,e)}}Ys.gt=!0,Xs.gt=!0,Ys.nr=[Bs,Ps,js],Xs.nr=[Bs,Ps,js,Ws];let Js,Qs=!1;function $s(){Js=null,async function(){await Promise.allSettled(vr.map(t=>(Gr(t),t.terminate()))),dr=D,mr=!1}(),Qs=!1,Vs=Zs=Hs=Gs=Ks=null}!function({wr:t}){hr=t}({wr:t=>{if(!Js){let{wasmURI:e}=t;typeof e==T&&(e=e()),Js=async function(t,{baseURI:e}){if(!Qs)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}!function(t){if(Vs=t,({malloc:Zs,free:Hs,memory:Gs}=Vs),"function"!=typeof Zs||"function"!=typeof Hs||!Gs)throw Vs=Zs=Hs=Gs=null,new Error("Invalid WASM module")}((await WebAssembly.instantiate(r)).instance.exports)}(t,e),Qs=!0}catch(t){throw function(t){Ks=t}(t),t}}(e,t).catch(t=>{throw Js=null,t})}return Js}}),Et({CompressionStreamFallback:Ys,DecompressionStreamFallback:Xs}),Et({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{hn as BlobReader,yn as BlobWriter,wn as Data64URIReader,dn as Data64URIWriter,Vo as ERR_AMBIGUOUS_ARCHIVE,Oo as ERR_BAD_FORMAT,Mo as ERR_CENTRAL_DIRECTORY_NOT_FOUND,ei as ERR_DUPLICATED_NAME,Lo as ERR_ENCRYPTED,Zo as ERR_ENCRYPTED_CENTRAL_DIRECTORY,jo as ERR_ENTRY_DATA_OUT_OF_BOUNDS,No as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Co as ERR_EOCDR_NOT_FOUND,_o as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Jr as ERR_HTTP_RANGE,Qr as ERR_HTTP_RESOURCE_CHANGED,Wt as ERR_INVALID_AUTHENTICATION_CODE,Ue as ERR_INVALID_CODEC_DEFINITION,Oe as ERR_INVALID_CODEC_MODULE,ri as ERR_INVALID_COMMENT,ni as ERR_INVALID_COMMENT_TYPE,Ze as ERR_INVALID_COMPRESSED_DATA,He as ERR_INVALID_CRC32,ii as ERR_INVALID_DATE,li as ERR_INVALID_ENCRYPTION_STRENGTH,oi as ERR_INVALID_ENTRY_COMMENT,ai as ERR_INVALID_ENTRY_COMMENT_TYPE,si as ERR_INVALID_ENTRY_NAME,wi as ERR_INVALID_EXTRAFIELD,pi as ERR_INVALID_EXTRAFIELD_DATA,mi as ERR_INVALID_EXTRAFIELD_DATA_TYPE,di as ERR_INVALID_EXTRAFIELD_TYPE,Ko as ERR_INVALID_FILENAME_VALIDATION,q as ERR_INVALID_FUNCTION_OPTION,zi as ERR_INVALID_GID,Ci as ERR_INVALID_LEVEL,qo as ERR_INVALID_MAX_APPENDED_DATA_SIZE,nt as ERR_INVALID_MAX_WORKERS,ki as ERR_INVALID_MSDOS_ATTRIBUTES,Oi as ERR_INVALID_MSDOS_DATA,Pt as ERR_INVALID_PASSWORD,X as ERR_INVALID_PASSWORD_TYPE,Y as ERR_INVALID_SIGNAL,Ni as ERR_INVALID_SIGNATURE_DATA,Go as ERR_INVALID_STRICTNESS,Fi as ERR_INVALID_UID,Ve as ERR_INVALID_UNCOMPRESSED_SIZE,Ii as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,Ui as ERR_INVALID_UNIX_ID_SIZE,Ti as ERR_INVALID_UNIX_MODE,ci as ERR_INVALID_VERSION,$r as ERR_ITERATOR_COMPLETED_TOO_SOON,vo as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Wo as ERR_OVERLAPPING_ENTRY,ke as ERR_RESERVED_COMPRESSION_METHOD,Po as ERR_SPLIT_ZIP_FILE,Ai as ERR_UNDEFINED_COMPRESSION_METHOD,xi as ERR_UNDEFINED_READER,gi as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Ri as ERR_UNDETERMINED_SIZE,Ho as ERR_UNSAFE_FILENAME,Ce as ERR_UNSUPPORTED_COMPRESSION,_s as ERR_UNSUPPORTED_CONTEXT,Vt as ERR_UNSUPPORTED_CRYPTO_API,Bo as ERR_UNSUPPORTED_ENCRYPTION,fi as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,ui as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Si as ERR_UNSUPPORTED_FORMAT,Yo as ERR_UNSUPPORTED_UINT64,wr as ERR_WORKER_STARTUP_TIMEOUT,tn as ERR_WRITER_NOT_INITIALIZED,Di as ERR_ZIP_NOT_EMPTY,Ln as HttpRangeReader,_n as HttpReader,un as Reader,Wn as SplitDataReader,jn as SplitDataWriter,En as TextReader,bn as TextWriter,Bn as Uint8ArrayReader,Pn as Uint8ArrayWriter,Is as VERSION,ra as WARNING_APPENDED_DATA,Qo as WARNING_COMPRESSED_PATCHED_DATA,ia as WARNING_DUPLICATE_FILENAME,$o as WARNING_MALFORMED_EXTRA_FIELD,ca as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,la as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,ua as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,sa as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,oa as WARNING_PREPENDED_CENTRAL_DIRECTORY,na as WARNING_PREPENDED_DATA,aa as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,Jo as WARNING_UNKNOWN_VERSION,ta as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Xo as WARNING_UNSORTED_CENTRAL_DIRECTORY,ea as WARNING_WRAPPED_ENTRIES_COUNT,fn as Writer,ya as ZipReader,Ea as ZipReaderStream,Pi as ZipWriter,Wi as ZipWriterStream,mt as configure,Ns as createBlobTempStream,Os as createOPFSTempStream,Ls as createSyncAccessHandleTempStream,Fs as getMimeType,Pe as getRegisteredCodecs,zs as getSupportedCompressionMethods,ba as isZipFile,_e as registerCodec,bt as resetConfiguration,$s as terminateWorkers,Le as unregisterCodec};
1
+ const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,l=101075792,u=117853008,f=46,w=22,d=20,m=56,p=21589,h=2048,y=61440,E=16384,b=2048,S=1024,g="/",A=30,R=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),D=void 0,F=1/0,z="undefined",T="function",I="string",U=new Uint8Array,k="password",O="rawPassword",C="passThrough",N="signal",M="useWebWorkers",v="useCompressionStream",_="transferStreams",L="preventClose",B="dataDescriptor",P="offset",W="usdz",j="maxAppendedDataSize",V="filename",Z="comment",H="strict",G="balanced",K="tolerant",q="Invalid option (must be a function)",Y="Invalid signal (must be an AbortSignal instance)",X="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function J(t){if(t&&typeof t!=T)throw new Error(q);return t}function Q(t){if(t&&(typeof t.addEventListener!=T||"boolean"!=typeof t.aborted))throw new Error(Y);return t||D}function $(t,e){if(t&&typeof t!=I||e&&!(e instanceof Uint8Array))throw new Error(X)}function tt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function et(t,e,r){t!==D&&tt(t,e,r)}function rt(t){return typeof t==I&&t.trim()?Number(t):t}const nt="Invalid maxWorkers (must be an integer greater than 0)";let ot=2;try{typeof navigator!=z&&navigator.hardwareConcurrency&&(ot=navigator.hardwareConcurrency)}catch{}const at={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ot,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=z&&CompressionStream,DecompressionStream:typeof DecompressionStream!=z&&DecompressionStream},it="maxWorkers",st=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ct=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...st,...ct],ut={...at};function ft(){return ut}function wt(t){return dt(t.chunkSize)}function dt(t){return t=rt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function mt(t){Object.assign(ut,pt(yt(t)))}function pt(t){const e={};for(const r of lt){const n=t[r];n!==D&&(e[r]=ht(r,n))}return e}function ht(t,e){if(st.includes(t)){if(e=rt(e),t==it&&(!Number.isInteger(e)||e<1))throw new Error(nt)}else ct.includes(t)&&J(e);return e}function yt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===D&&r===D)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===D&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===D&&(n.DecompressionStreamFallback=r),n}function Et(t){const e=pt(yt(t));Object.assign(at,e),Object.assign(ut,e)}function bt(){for(const t of lt)delete ut[t];Object.assign(ut,at)}function St(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function gt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function At(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Rt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Rt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Rt[e-1][t];Rt[e][t]=r>>>8^Rt[0][255&r]}const[xt,Dt,Ft,zt,Tt,It,Ut,kt]=Rt;class Ot{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=kt[255&t]^Ut[t>>>8&255]^It[t>>>16&255]^Tt[t>>>24&255]^zt[255&r]^Ft[r>>>8&255]^Dt[r>>>16&255]^xt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^xt[255&(e^t[n])];this.o=e}get(){return~this.o}}class Ct extends TransformStream{constructor(){let t;const e=new Ot;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Nt(t){if(typeof TextEncoder==z){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const Mt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=Mt.l(r);return 32===n?t.concat(e):Mt.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+Mt.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=Mt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let o=0;o<t.length;o++)n.push(r|t[o]>>>e),r=t[o]<<32-e;const o=t.length?t[t.length-1]:0,a=Mt.l(o);return n.push(Mt.S(e+a&31,e+a>32?r:n.pop(),1)),n}},vt={bytes:{A(t){const e=Mt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let o=0;o<e;o++)3&o||(n=t[o/4]),r[o]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(Mt.S(8*(3&r),n)),e}}},_t=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.F=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.I=t.I.slice(0),e.U=t.U):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.I=[],t.U=0,t}update(t){const e=this;"string"==typeof t&&(t=vt.O.R(t));const r=e.I=Mt.concat(e.I,t),n=e.U,o=e.U=n+Mt.bitLength(t);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=o;t+=e.blockSize)e.C(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}N(){const t=this;let e=t.I;const r=t.T;e=Mt.concat(e,[Mt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.U/4294967296)),e.push(0|t.U);e.length;)t.C(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}v(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.T,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let o=r[0],a=r[1],i=r[2],s=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.v(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.v(5,o)+e.M(t,a,i,s)+c+n[t]+e.F[Math.floor(t/20)]|0;c=s,s=i,i=e.v(30,a),a=o,o=r}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0}},Lt={importKey:t=>new Lt._(vt.bytes.R(t)),L(t,e,r,n){if(r=r||1e4,n<0||r<0)throw new Error("invalid params to pbkdf2");const o=1+(n>>5)<<2;let a,i,s,c,l;const u=new ArrayBuffer(o),f=new DataView(u);let w=0;const d=Mt;for(e=vt.bytes.R(e),l=1;w<(o||1);l++){for(a=i=t.encrypt(d.concat(e,[l])),s=1;s<r;s++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(s=0;w<(o||1)&&s<a.length;s++)f.setInt32(w,a[s]),w+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.B=_t,n=[[],[]];e.P=[new r,new r];const o=e.P[0].blockSize/32;t.length>o&&(t=(new r).update(t).N());for(let e=0;e<o;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.P[0].update(n[0]),e.P[1].update(n[1]),e.W=new r(e.P[0])}reset(){const t=this;t.W=new t.B(t.P[0]),t.j=!1}update(t){this.j=!0,this.W.update(t)}digest(){const t=this,e=t.W.N(),r=new t.B(t.P[1]).update(e).N();return t.reset(),r}encrypt(t){if(this.j)throw new Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Bt=typeof crypto!=z&&typeof crypto.getRandomValues==T,Pt="Invalid password",Wt="Invalid authentication code",jt="zipjs-abort-check-password",Vt="Crypto API not supported";function Zt(t){if(Bt)return crypto.getRandomValues(t);throw new Error(Vt)}const Ht=16,Gt={name:"PBKDF2"},Kt=Object.assign({hash:{name:"HMAC"}},Gt),qt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Gt),Yt=["deriveBits"],Xt=[8,12,16],Jt=[16,24,32],Qt=10,$t=[0,0,0,0],te=typeof crypto!=z,ee=te&&crypto.subtle,re=te&&typeof ee!=z,ne=vt.bytes,oe=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],o=t.length;let a,i,s,c=1;if(4!==o&&6!==o&&8!==o)throw new Error("invalid aes key size");for(e.F=[i=t.slice(0),s=[]],a=o;a<4*o+28;a++){let t=i[a-1];(a%o===0||8===o&&a%o===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],a%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-o]^t}for(let t=0;a;t++,a--){const e=i[3&t?a:a-4];s[t]=a<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],o=[],a=[];let i,s,c,l;for(let t=0;t<256;t++)a[(o[t]=t<<1^283*(t>>7))^t]=t;for(let u=i=0;!r[u];u^=s||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[u]=a,n[a]=u,l=o[c=o[s=o[u]]];let f=16843009*l^65537*c^257*s^16843008*u,w=257*o[a]^16843008*a;for(let r=0;r<4;r++)t[r][u]=w=w<<24^w>>>8,e[r][a]=f=f<<24^f>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw new Error("invalid aes block size");const r=this.F[e],n=r.length/4-2,o=[0,0,0,0],a=this.V[e],i=a[0],s=a[1],c=a[2],l=a[3],u=a[4];let f,w,d,m=t[0]^r[0],p=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],E=4;for(let t=0;t<n;t++)f=i[m>>>24]^s[p>>16&255]^c[h>>8&255]^l[255&y]^r[E],w=i[p>>>24]^s[h>>16&255]^c[y>>8&255]^l[255&m]^r[E+1],d=i[h>>>24]^s[y>>16&255]^c[m>>8&255]^l[255&p]^r[E+2],y=i[y>>>24]^s[m>>16&255]^c[p>>8&255]^l[255&h]^r[E+3],E+=4,m=f,p=w,h=d;for(let t=0;t<4;t++)o[e?3&-t:t]=u[m>>>24]<<24^u[p>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[E++],f=m,m=p,p=h,h=y,y=f;return o}},ae=class{constructor(t,e){this.G=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.G,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const o=Mt.bitLength(e);for(let o=0;o<n;o+=4){this.$(r);const n=t.encrypt(r);e[o]^=n[0],e[o+1]^=n[1],e[o+2]^=n[2],e[o+3]^=n[3]}return Mt.h(e,o)}},ie=Lt._;let se=te&&re&&typeof ee.importKey==T,ce=te&&re&&typeof ee.deriveBits==T;class le extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){fe(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,et:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await de(t,e,r,pe(n,0,Xt[e])),a=pe(n,Xt[e]);if(o[0]!=a[0]||o[1]!=a[1])throw new Error(Pt)}(r,a,o,pe(t,0,Xt[a]+2)),t=pe(t,Xt[a]+2),n?e.error(new Error(jt)):i()):await s;const c=new Uint8Array(t.length-Qt-(t.length-Qt)%Ht);e.enqueue(we(r,t,c,0,Qt,!0))},async flush(t){const{nt:e,ot:r,it:n,ready:a}=this;if(r&&e){await a;const i=pe(n,0,n.length-Qt),s=pe(n,n.length-Qt);let c=U;if(i.length){const t=ye(ne,i);r.update(t);const n=e.update(t);c=he(ne,n)}const l=pe(he(ne,r.digest()),0,Qt);let u=n.length<Qt?1:0;for(let t=0;t<Qt;t++)u|=l[t]^s[t];if(u&&o)throw new Error(Wt);t.enqueue(c)}}})}}class ue extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){fe(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,et:a,ready:i}=r;let s=U;n?(s=await async function(t,e,r){const n=Zt(new Uint8Array(Xt[e]));return St(n,await de(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%Ht);c.set(s,0),e.enqueue(we(r,t,c,s.length,0))},async flush(t){const{nt:e,ot:r,it:n,ready:o}=this;if(r&&e){await o;let a=U;if(n.length){const t=e.update(ye(ne,n));r.update(t),a=he(ne,t)}const i=he(ne,r.digest()).slice(0,Qt);t.enqueue(St(a,i))}}})}}function fe(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:me(e,r),strength:n-1,it:U})}function we(t,e,r,n,o,a){const{nt:i,ot:s,it:c}=t;c.length&&(e=St(c,e));const l=e.length-o;let u;for(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+(l-l%Ht)),u=0;u<=l-Ht;u+=Ht){const t=ye(ne,pe(e,u,u+Ht));a&&s.update(t);const o=i.update(t);a||s.update(o),r.set(he(ne,o),u+n)}return t.it=pe(e,u),r}async function de(t,e,r,n){t.password=null;const o=await async function(t,e,r,n,o){if(!se)return Lt.importKey(e);try{return await ee.importKey("raw",e,r,!1,o)}catch{return se=!1,Lt.importKey(e)}}(0,r,Kt,0,Yt),a=await async function(t,e,r){if(!ce)return Lt.L(e,t.salt,qt.iterations,r);try{return await ee.deriveBits(t,e,r)}catch{return ce=!1,Lt.L(e,t.salt,qt.iterations,r)}}(Object.assign({salt:n},qt),o,8*(2*Jt[e]+2)),i=new Uint8Array(a),s=ye(ne,pe(i,0,Jt[e])),c=ye(ne,pe(i,Jt[e],2*Jt[e])),l=pe(i,2*Jt[e]);return Object.assign(t,{keys:{key:s,st:c,passwordVerification:l},nt:new ae(new oe(s),Array.from($t)),ot:new ie(c)}),l}function me(t,e){return e===D?Nt(t):e}function pe(t,e,r){return t.subarray(e,r)}function he(t,e){return t.A(e)}function ye(t,e){return t.R(e)}class Ee extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Se(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=ge(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(Pt);t=t.subarray(12)}n?e.error(new Error(jt)):e.enqueue(ge(r,t))}})}}class be extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Se(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Zt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Ae(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(Ae(r,t),o),e.enqueue(n)}})}}function Se(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Ot(n[0]),lt:new Ot(n[2])}),r)for(let e=0;e<r.length;e++)Re(t,r[e]);else for(let r=0;r<e.length;r++)Re(t,e.charCodeAt(r))}(t,e,r)}function ge(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=xe(t)^e[n],Re(t,r[n]);return r}function Ae(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=xe(t)^e[n],Re(t,e[n]);return r}function Re(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Fe(Math.imul(Fe(r+De(n)),134775813)+1),t.lt.append([r>>>24]);const o=~t.lt.get();t.keys=[n,r,o]}function xe(t){const e=2|t.keys[2];return De(Math.imul(e,1^e)>>>8)}function De(t){return 255&t}function Fe(t){return 4294967295&t}function ze(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Te(t,e){t=ze(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=T||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Ie(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Ue="Invalid codec definition",ke="Reserved compression method",Oe="Invalid codec module",Ce="Compression method not supported",Ne=[0,8,9,99],Me=new Map,ve=new Map;function _e(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=I||!n.length)throw new Error(Ue);if(Ne.includes(r))throw new Error(ke);const c=typeof a==T||typeof i==T;if(!(c||typeof o==I&&o.length))throw new Error(Ue);Me.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&je(n,{CompressionStream:a,DecompressionStream:i})}function Le(t){const e=Me.get(t);if(e){let r;Me.delete(t),Me.forEach(t=>r=r||t.format==e.format),r||ve.delete(e.format)}}function Be(t){return Me.get(t)}function Pe(){return Array.from(Me.values(),t=>Object.assign({},t,ve.get(t.format)))}function We(t){return ve.get(t)}function je(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=T&&typeof n!=T)throw new Error(Oe);ve.set(t,{CompressionStream:r,DecompressionStream:n})}const Ve="Invalid uncompressed size",Ze="Invalid compressed data",He="Invalid CRC32",Ge="deflate-raw",Ke="deflate64-raw",qe="gzip",Ye=[31,139,8];class Xe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:w,inputSize:d}=t,m=this;let p,h,y,E=super.readable;const b=f&&We(f),S=c&&o&&!u&&!b&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(p=new Ct,E=ar(E,p)),o)if(b)E=ir(E,nr(b.CompressionStream,f,{level:l,chunkSize:e,compressionMethod:w,uncompressedSize:d}));else if(S)y=new Je,E=ir(E,new n(qe)),E=ar(E,y);else try{E=or(E,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(qe)}catch{throw t}E=ir(E,e),E=ar(E,new Je)}a&&(s?E=ar(E,new be(t)):(h=new ue(t),E=ar(E,h))),rr(m,E,()=>{a&&!s||!c||(m.crc32=S?y.crc32:new DataView(p.value.buffer).getUint32(0))})}}class Je extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=St(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(St(r.subarray(0,i),t.subarray(0,a-i))),r=St(r.subarray(i),t.subarray(a-i))},flush(){const e=At(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Qe extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:w,rawBitFlag:d,outputSize:m}=t;let p,h,y=super.readable;if(a&&(o?y=ar(y,new Ee(t)):(h=new le(t),y=ar(y,h))),c){const t=f&&We(f);if(t)y=ir(y,nr(t.DecompressionStream,f,{chunkSize:e,compressionMethod:w,rawBitFlag:d,uncompressedSize:m}));else try{y=or(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||m===D)throw t;let e;try{e=new n(qe)}catch{throw t}y=function(t,e,r){const n=new Ot;let o,a,i,s=0,c=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),r||a();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Ye),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,w();try{await l}finally{d()}const e=new Uint8Array(8),o=At(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&w(),e.enqueue(t)},cancel(t){i(t)}});return t=ar(t,u),ar(t=ir(t,e),f);function w(){d(),o=setTimeout(()=>i(new Error(Ve)),5e3)}function d(){clearTimeout(o)}}(y,e,m)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(Ze);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(p=new Ct,y=ar(y,p)),rr(this,y,()=>{if(i){const t=new DataView(p.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(He)}})}}const $e=new Map;function tr(t,e){if(!t)return!1;let r=$e.get(t);r||(r=new Map,$e.set(t,r));let n=r.get(e);if(n===D){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function er(t){return tr(t,Ge)}function rr(t,e,r){e=ar(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function nr(t,e,r){if(!t)throw new Error(Ce);return new t(e,r)}function or(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?Ke:Ge;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return ir(t,s)}function ar(t,e){return ze(t).pipeThrough(e)}function ir(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const sr="data",cr="deflate",lr="inflate";class ur extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(cr)?o=Xe:n.startsWith(lr)&&(o=Qe),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==D&&r.outputSize>t.outputSize))throw new Error(Ve)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class fr extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(o,a){for(e.push(o),r+=o.length;r>t;)a.enqueue(n())},flush(t){r&&t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r))}})}}const wr="Worker startup timeout";let dr,mr,pr,hr=()=>{};function yr(t){t.createWorker?mr=!0:dr=!1}class Er{constructor(t,{readable:e,writable:r},{options:n,config:o,ut:a,useWebWorkers:i,transferStreams:s,workerURI:c,createWorker:l},u){const{signal:f}=a;return mr&&(l=D),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new fr(wt(o))).pipeThrough(new br(a),{signal:f}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:s,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.Et=null):e()}),bt(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.St=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),dr===D&&(dr=typeof Worker!=z),(i&&pr&&(dr&&c||l)?pr:gr)(t,o)}}class br extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await Sr(t,r)},async transform(t,n){o+=t.length,e&&await Sr(e,o,r),n.enqueue(t)},async flush(){n&&await Sr(n,o)}})}}async function Sr(t,...e){try{await t(...e)}catch{}}function gr(t,e){return{run:()=>Ar(t,e)}}async function Ar({options:t,readable:e,writable:r,bt:n},o){let a;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(cr),r=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,n=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(r&&r.gt&&!er(n))try{await hr(o)}catch{}}else try{await hr(o)}catch{r&&!r.gt||(t.useCompressionStream=!0)}}a=new ur(t,o),await e.pipeThrough(a).pipeThrough(new fr(wt(o))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:i,outputSize:s}=a;return{crc32:n,inputSize:i,outputSize:s}}catch(t){throw a&&(t.outputSize=a.outputSize),t}finally{n()}}const Rr={type:"module"},xr="error";let Dr,Fr,zr,Tr=!0;try{Tr=typeof structuredClone==T&&structuredClone(new DOMException("","AbortError")).code!==D}catch{}var Ir;function Ur(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function kr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function Or(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Fr===D||Dr!==t){const a=typeof t==T;s=a?t(o):t;const l=s.startsWith("data:"),u=s.startsWith("blob:");if(l||u){n===D&&(n=!1),n&&(c=Rr);try{i=new Worker(s,c)}catch(o){if(u)try{URL.revokeObjectURL(s)}catch{}if(a&&u)return Or(t,e,r,n,!1);if(n)throw o;return Or(t,e,r,!0,!1)}}else{n===D&&(n=!0),n&&(c=Rr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return Or(t,e,r,!1,o);throw a}}Dr=t,Fr=s,zr=c}else i=new Worker(Fr,zr);return i.addEventListener("message",t=>{r.At=!0,Cr(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i}=t,{reader:s,writer:c,Rt:l,xt:u,bt:f,wt:w}=e,d=()=>e.wt!=w;try{if(i){const{message:t,stack:e,code:r,name:n,outputSize:o,cause:a,codecImportFailed:s}=i,c=new Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:o}),a&&(c.cause=Object.assign(new Error(a.message),{name:a.name})),s&&(c.codecImportFailed=!0),m(c)}else{if("pull"==r){const{value:t,done:r}=await s.read();d()||Mr({type:sr,value:t,done:r,messageId:o},e)}r==sr&&(await c.ready,await c.write(new Uint8Array(n)),d()||Mr({type:"ack",messageId:o},e)),"close"==r&&m(null,a)}}catch(i){d()||(kr(e),m(i))}function m(t,e){d()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||f())}}(t,r)}),i.addEventListener(xr,t=>Nr(t,r)),i.addEventListener("messageerror",t=>Nr(t,r)),i}function Cr(t){const{Dt:e}=t;e&&(clearTimeout(e),t.Dt=null)}function Nr(t,e){t.preventDefault&&t.preventDefault(),Cr(e);const{At:r,xt:n,writer:o,bt:a}=e;kr(e),r||(e.ht=null);let i=t.error||new Error(t.message||xr);r||(i=Object.assign(new Error(i.message||xr),{Ft:!0}),e.zt=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function Mr(t,{ht:e,writer:r,transferStreams:n,At:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=gt(r),s.push(t.value.buffer)),n&&Tr&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{Tr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Ir=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.Et){let i;typeof a==T&&(a=a());try{i=Or(t.workerURI,r,t)}catch{return yr(t),gr(t,e)}Object.assign(t,{ht:i,At:!1,St:!1,zt:null,Et:{run:async()=>{try{return await async function(t,e){if(!t.ht){const{zt:e}=t;t.zt=null;const r=e||new Error(wr);throw r.Ft=!0,r}let r,n;const o=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,Rt:r,xt:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,Tt:l}=function(t){const e=new AbortController,{writable:r,readable:n}=new TransformStream,o=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return o.catch(()=>{}),{writable:r,closed:o,Tt:()=>e.abort()}}(t.writable);let u;try{u=Mr({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}u||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.At&&Number.isFinite(f)&&f>=0&&(t.Dt=setTimeout(()=>function(t){if(t.Dt=null,t.At)return;const{xt:e,writer:r}=t;if(kr(t),t.ht=null,e){const t=new Error(wr);t.Ft=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await w(),await c,t}catch(t){await w(),l();try{await c}catch{}throw t}async function w(){if(!u&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.Ft)return yr(t),Ur(t),Ar(t,e);if(r&&r.codecImportFailed){if(t.reader)return Ur(t),Ar(t,e);t.bt()}throw r}}}})}return t.Et},pr=Ir;let vr=[];const _r=[];let Lr,Br,Pr=0;async function Wr(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:w}=r,{workerURI:d,createWorker:m,maxWorkers:p}=n;f&&(w&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(w,n.baseURI)),await async function(t,e){!ve.has(t)&&e&&je(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===D&&n.transferStreams);const h=!(s||c||l||u),y=f===D||Boolean(r.codecURI);return e.useWebWorkers=!h&&y&&(a||a===D&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&d?d:D,e.createWorker=e.useWebWorkers&&m?m:D,r.useCompressionStream=i||i===D&&n.useCompressionStream,(await async function(){const r=vr.find(t=>!t.ft);if(r)return Gr(r),new Er(r,t,e,E);if(vr.length<p){const r={It:Pr};return Pr++,vr.push(r),new Er(r,t,e,E)}return new Promise(r=>{_r.push({resolve:r,stream:t,Ut:e}),Br=n.workerStarvationTimeout,jr()})}()).run();function E(t){if(Vr(),_r.length){const[{resolve:e,stream:r,Ut:n}]=_r.splice(0,1);e(new Er(t,r,n,E)),jr()}else t.ht?(Gr(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.kt=setTimeout(async()=>{vr=vr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):vr=vr.filter(e=>e!=t)}}function jr(){!Lr&&_r.length&&Number.isFinite(Br)&&Br>=0&&(Lr=setTimeout(Zr,Br))}function Vr(){Lr&&(clearTimeout(Lr),Lr=null)}function Zr(){if(Lr=null,_r.length){const[{resolve:t,stream:e,Ut:r}]=_r.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:D,createWorker:D});t(new Er({},e,n,Hr)),jr()}}function Hr(){Vr(),jr()}function Gr(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const Kr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function qr(t,e){return Yr(t,e,!0)}function Yr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=Kr[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Xr="HTTP error ",Jr="HTTP Range not supported",Qr="HTTP resource changed",$r="Writer iterator completed too soon",tn="Writer not initialized",en="Content-Range",rn="Range",nn="GET",on="bytes",an=16777216,sn="writable",cn=Symbol();class ln{constructor(){this.size=0}init(){this.initialized=!0}}class un extends ln{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=wt(ft())}={}){const n=this;let o=0;return r=dt(r),new ReadableStream({async pull(a){const i=e===D?r:Math.min(r,e-o),s=await qn(n,t+o,i);s.length&&a.enqueue(s),o+r>=e||!s.length&&i?a.close():o+=r}})}}class fn extends ln{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(tn);return t.writeUint8Array(gt(e))}});Object.defineProperty(t,sn,{get:()=>e})}writeUint8Array(){}}class wn extends un{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Ot:t,Ct:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Ct:r,Ot:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class dn extends fn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Nt:""})}writeUint8Array(t){const e=this;let r,n=e.Nt;const o=e.Nt.length;for(e.Nt="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Nt+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Nt=n+e.Nt}getData(){return this.data+btoa(this.Nt)}}let mn,pn;class hn extends un{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),pn||(pn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();mn=1==e}catch{mn=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};return!n&&o>=r?ze(e.stream()):mn?ze(e.slice(n,n+o).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class yn extends ln{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,sn,{get:()=>r.writable}),e.contentType=t,e.vt=Te(r.readable,t),e.vt.catch(()=>{})}getData(){return this.vt}}class En extends hn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class bn extends yn{constructor(t){super(),Object.assign(this,{encoding:t,_t:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,_t:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return Yr(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Sn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await Rn(this,Mn,kn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==D){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(Jr);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=D,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await Mn(nn,t,In(t,o,e));if(206!=r.status)throw new Error(Jr);const s=r.headers.get(en);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=o)throw new Error(Jr)}Tn(t,r),zn(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return xn(this,t,e,Mn,kn)}}class gn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await Rn(this,vn,On),super.init()}readUint8Array(t,e){return xn(this,t,e,vn,On)}}function An(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=an,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:l})}async function Rn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=ft(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==z||o)){const n=await e(nn,t,In(t,s?-22:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==on))throw new Error(Jr);{if(s){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==w&&(t.Lt=e)}zn(t,n);const o=Dn(n);o===D?await Nn(t,e,r):t.size=o}}else await Nn(t,e,r)}async function xn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,Lt:s,size:c,options:l}=t;if(a||i){if(s&&e==c-w&&r==w)return s;if(e>=c||0===r)return U;{e+r>c&&(r=c-e);const o=await n(nn,t,In(t,e,r));if(206!=o.status)throw new Error(Jr);const a=o.headers.get(en);if(a){const t=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw new Error(Jr)}Tn(t,o),zn(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(Jr);return i}}{const{data:n}=t;return n||await o(t,l),t.data.subarray(e,e+r)}}function Dn(t){const e=t.headers.get(en);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Fn({headers:t}){return{Bt:t.get("Etag")||D,lastModified:t.get("Last-Modified")||D}}function zn(t,e){const{checkResourceChanges:r,Pt:n}=t;r&&!n&&206==e.status&&(t.Pt=Fn(e))}function Tn(t,e){const{checkResourceChanges:r,Pt:n,size:o}=t;if(r){const t=Dn(e);if(t!==D&&o!==D&&t!=o)throw new Error(Qr);if(n){const t=Fn(e);if(Object.entries(n).some(([e,r])=>r!==D&&t[e]!==D&&r!=t[e]))throw new Error(Qr)}}}function In(t,e=0,r=1){return Object.assign({},Un(t),{[rn]:on+"="+(e<0?e:e+"-"+(e+r-1))})}function Un({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function kn(t){await Cn(t,Mn)}async function On(t){await Cn(t,vn)}async function Cn(t,e){const r=await e(nn,t,Un(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Nn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Un(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function Mn(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status<400)return a;throw 416==a.status?new Error(Jr):new Error(Xr+(a.statusText||a.status))}function vn(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status<400){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(Jr):new Error(Xr+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class _n extends un{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new gn(t,e):new Sn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Ln extends _n{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Bn extends un{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Wt:t,size:t.length})}readUint8Array(t,e){return this.Wt.slice(t,t+e)}}class Pn extends fn{constructor(t){super(),this.jt=t||262144}init(t=0){Object.assign(this,{offset:0,Wt:new Uint8Array(t>0?t:this.jt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Wt.length){let t=e.Wt.length?2*e.Wt.length:e.jt;for(;t<r;)t*=2;const n=e.Wt;e.Wt=new Uint8Array(t),e.Wt.set(n)}e.Wt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Wt.length?this.Wt:this.Wt.slice(0,this.offset)}}class Wn extends un{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Kn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Gt(t){const{Ht:e,size:r}=this,n=e[t];return n===D?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await qn(s,i,e);else{const a=n-i;o=St(await qn(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=U;return r.Zt=Math.max(a,r.Zt),o}}class jn extends ln{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===cn)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error($r);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Gn(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await l())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}Object.defineProperty(r,sn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(cn)}finally{t.releaseLock()}}}class Vn{constructor(t){return Array.isArray(t)&&(t=new Wn(t)),(t instanceof ReadableStream||typeof t.getReader==T)&&(t={readable:ze(t)}),t}}class Zn{constructor(t){return t.writable===D&&typeof t.next==T&&(t=new jn(t)),(t instanceof WritableStream||typeof t.getWriter==T)&&(t={writable:Ie(t)}),t.size===D&&(t.size=0),t}}function Hn(t){return Boolean(t&&t.getData)}async function Gn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Kn(t){return t=new Vn(t),await Gn(t),t.size!==D&&t.readUint8Array||(t=new hn(await Te(t.readable)),await Gn(t)),t}function qn(t,e,r){return t.readUint8Array(e,r)}function Yn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?un.prototype.createReadable.call(t,e):t.readable}const Xn="filename",Jn="rawFilename",Qn="comment",$n="rawComment",to="uncompressedSize",eo="compressedSize",ro="offset",no="diskNumberStart",oo="lastModDate",ao="rawLastModDate",io="lastAccessDate",so="rawLastAccessDate",co="creationDate",lo="rawCreationDate",uo="internalFileAttributes",fo="externalFileAttributes",wo="msdosAttributesRaw",mo="msdosAttributes",po="msDosCompatible",ho="zip64",yo="encrypted",Eo="version",bo="versionMadeBy",So="zipCrypto",go="directory",Ao="executable",Ro="compressionMethod",xo="signature",Do="extraField",Fo="unixMode",zo="setuid",To="setgid",Io="sticky",Uo=[Xn,Jn,to,eo,oo,ao,Qn,$n,io,so,co,lo,ro,no,uo,fo,wo,mo,po,ho,yo,Eo,bo,So,go,Ao,"symlink",Ro,xo,"crc32",Do,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Fo,"unixExternalUpper",zo,To,Io,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ko{constructor(t){Uo.forEach(e=>this[e]=t[e])}}const Oo="File format is not recognized",Co="End of central directory not found",No="End of Zip64 central directory locator not found",Mo="Central directory header not found",vo="Local file header not found",_o="Zip64 extra field not found",Lo="File contains encrypted entry",Bo="Encryption method not supported",Po="Split zip file",Wo="Overlapping entry found",jo="Entry data out of bounds",Vo="Ambiguous archive",Zo="Encrypted central directory is not supported",Ho="Unsafe filename",Go="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ko="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",qo="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Yo="64-bit value exceeds Number.MAX_SAFE_INTEGER",Xo="unsorted central directory",Jo="unknown version needed to extract",Qo="compressed patched data",$o="malformed extra field",ta="unknown zip64 extensible data",ea="wrapped entries count",ra="appended data",na="prepended data",oa="prepended central directory",aa="trailing central directory data",ia="duplicate filename",sa="mismatched zip64 end of central directory record",ca="mismatched local file header (general purpose bit flag)",la="mismatched local file header (compression method)",ua="mismatched local file header (crc32 or sizes)",fa=/^[a-zA-Z]:/,wa="utf-8",da="cp437",ma=[[to,t],[eo,t],[ro,t],[no,e]],pa={[e]:{Kt:Qa,bytes:4},[t]:{Kt:$a,bytes:8}},ha=BigInt(Number.MAX_SAFE_INTEGER);class ya{constructor(t,e={}){Object.assign(this,{reader:new Vn(t),options:e,qt:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await Gn(i),i.size!==D&&i.readUint8Array||(i=new hn(await Te(i.readable)),await Gn(i)),i.size<w)throw new Error(Oo);const c=a.warnings=[],p=Na(n,a.options),h=p==H,A=p!=K,R=_a(Ga(a,n,j),p),x=function(t,e){if(t===D)return e;if(!Ca(t))throw new Error(Ko);return t}(Ga(a,n,"filenameValidation"),p),F=Ga(a,n,"normalizeFilename"),{Yt:z,Xt:T}=await La(i,A,R);if(!z)throw await async function(t){return await Oa(t)==o}(i)?new Error(Po):new Error(Co);A&&T>1&&Ha("multiple end of central directory records");const I=At(z);let k=Qa(I,12),O=Qa(I,16);const C=z.offset,N=Ja(I,20),M=C+w+N,v=i.size-M;v>R&&Ha(ra),v>0&&Za(c,ra);let _=Ja(I,4);const L=i.Zt||0;let B,P,W,G,q,Y=Ja(I,6),X=Ja(I,10),J=0,Q=m;const $=O==t||k==t||X==e||Y==e;if(O!=t&&Y!=e&&(O+=ka(i,Y)),$){const r=z.offset>=d?await qn(i,z.offset-d,d):U,n=At(r);if(r.length==d&&Qa(n,0)==u){O=ka(i,Qa(n,4))+$a(n,8);let r=await qn(i,O,m),o=At(r);const a=z.offset-d-m;if((r.length<m||Qa(o,0)!=l)&&O!=a&&a>=0){const t=O;O=a,O>t&&(J=O-t),r=await qn(i,O,m),o=At(r)}if(r.length<m||Qa(o,0)!=l)throw new Error(No);if(W=!0,G=$a(o,4)>44,G){const t=Math.min($a(o,4)-44,i.size-O-m);t>0&&(Q+=t,q=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=At(t),n=Ja(r,26);Object.assign(e,{compressionMethod:Ja(r,0),compressedSize:$a(r,2),uncompressedSize:$a(r,10),encryptionAlgorithm:Ja(r,18),bitLength:Ja(r,20),flags:Ja(r,22),hashAlgorithm:Ja(r,24),hashData:t.subarray(28,28+n)})}return e}(await qn(i,O+m,t)))}_==e?_=Qa(o,16):_!=Qa(o,16)&&Va(h,c,sa),Y==e?Y=Qa(o,20):Y!=Qa(o,20)&&Va(h,c,sa),X==e?X=$a(o,32):X!=$a(o,32)&&Va(h,c,sa),k==t?k=$a(o,40):k!=$a(o,40)&&Va(h,c,sa),O=ka(i,Y)+$a(o,48)+J}}let tt=k;const et=z.offset-(W?Q+d:0);if(O>=i.size&&(J=i.size-O-k-w,O=i.size-k-w),L!=_)throw new Error(Po);if(O<0)throw new Error(Oo);let rt=0,nt=await qn(i,O,k),ot=At(nt);if(k){if(nt.length<4)throw new Error(Oo);const t=et-k;if(O!=t&&Y==_){const e=Qa(ot,rt)==s||Boolean(q&&q.compressedSize)||ga(ot);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Qa(At(await qn(i,t,4)),0)==s),r){const r=O;O=t,O>r&&(J+=O-r,B=e),nt=await qn(i,O,k),ot=At(nt)}}}const at=et-O;if(k!=at&&at>=0&&Y==_&&(k=at,nt=await qn(i,O,k),ot=At(nt)),O<0||O>=i.size)throw new Error(Oo);a.directoryOffset=O,a.directoryLength=tt;const it=Ka(a,n,"decryptCentralDirectory");let st,ct;if(it&&X&&nt.length>=4&&Qa(ot,0)!=s&&(G||ga(ot))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(q,tt,nt.length);ct=nt.subarray(t),nt=await it(nt.subarray(0,t),q),ot=At(nt),tt=nt.length,st=!0}q&&!st&&(nt.length<4||Qa(ot,0)==s)&&Za(c,ta),P=O;const lt=Ga(a,n,"filenameEncoding"),ut=Ga(a,n,"commentEncoding"),ft=new Set;let wt,dt=-1;const mt=!h&&!W;!X&&mt&&(X=Aa(ot,nt,rt),X&&Za(c,ea));for(let t=0;t<X;t++){const o=new Sa(i,a.options);if(rt+f>nt.length||Qa(ot,rt)!=s){if(0==t&&!st&&(G||ga(ot)))throw new Error(Zo);throw new Error(Mo)}xa(o,ot,rt+6);const l=Boolean(o.bitFlag.languageEncodingFlag),u=rt+f,w=u+o.filenameLength,d=w+o.extraFieldLength,m=Ja(ot,rt+4),p=!(m>>8),h=m>>8==3,A=nt.subarray(u,w),R=Ja(ot,rt+32),z=d+R,T=nt.subarray(d,z),I=l,U=l,k=Qa(ot,rt+38),O=k&r,C={readOnly:Boolean(1&O),hidden:Boolean(2&O),system:Boolean(4&O),directory:Boolean(16&O),archive:Boolean(32&O)},N=Qa(ot,rt+42),M=Ka(a,n,"decodeText")||qr,v=I?wa:lt||da,_=U?wa:ut||da;let L=M(A,v,V);if(L===D&&(L=qr(A,v)),F){const t=F(L);t!==D&&(L=t)}if(va(L,x)){const t=new Error(Ho);throw t.filename=L,t}let B=M(T,_,Z);B===D&&(B=qr(T,_)),Object.assign(o,{index:t,Jt:st,versionMadeBy:m,msDosCompatible:p,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:R,offset:N,diskNumberStart:Ja(ot,rt+34),internalFileAttributes:Ja(ot,rt+36),externalFileAttributes:k,msdosAttributesRaw:O,msdosAttributes:C,rawFilename:A,filenameUTF8:I,commentUTF8:U,rawExtraField:nt.subarray(w,d),rawComment:T,filename:L,comment:B}),Da(o,o,ot,rt+6)&&Za(c,$o,L),o.offset+=J;const W=ka(i,o.diskNumberStart)+o.offset;P=Math.min(W,P),W<dt&&Za(c,Xo,L),dt=W,(o.version&r)>63&&Za(c,Jo,L),32&~o.rawBitFlag||Za(c,Qo,L),ft.has(o.filename)&&(wt=!0),ft.add(o.filename);const j=o.externalFileAttributes>>16&e;o.unixMode===D&&16877&j&&(o.unixMode=j);const H=Boolean(o.unixMode&b),K=Boolean(o.unixMode&S),q=Boolean(512&o.unixMode),Y=40960==((o.unixMode===D?j:o.unixMode)&y),Q=!Y&&(o.unixMode!==D?!!(73&o.unixMode):h&&!!(73&j)),$=o.unixMode!==D&&(o.unixMode&y)==E,tt=(j&y)==E;Object.assign(o,{setuid:H,setgid:K,sticky:q,symlink:Y,unixExternalUpper:j,executable:Q,directory:$||tt||p&&C.directory||o.filename.endsWith(g),zipCrypto:o.encrypted&&!o.extraFieldAES});const et=new ko(o);if(et.getData=(t,e)=>o.getData(t,et,a.qt,e),et.arrayBuffer=async t=>{const e=new TransformStream,r=Te(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,et,a.qt,t),r},rt=z,t==X-1&&mt){const t=Aa(ot,nt,rt);t&&(X+=t,Za(c,ea))}const{onprogress:at}=n;if(at)try{await at(t+1,X,new ko(o))}catch{}yield et}let pt=rt,ht=Ra(nt.subarray(rt))||(st?Ra(ct):D);if(!ht&&!st){const t=O+rt,e=Math.min(et-t,65541);e>=6&&(ht=Ra(await qn(i,t,e)))}ht&&(a.digitalSignature=ht,pt=rt+6+ht.length),(rt!=tt&&pt!=tt||!st&&rt!=k&&pt!=k)&&Va(h,c,aa),wt&&Va(h,c,ia);const yt=Ga(a,n,"extractPrependedData"),Et=Ga(a,n,"extractAppendedData"),bt=(h||yt)&&X&&4==P&&await async function(t){const e=await Oa(t);return e==o||808471376==e}(i)?4:0;return h&&(J||X&&P>bt)&&Ha(na),(J||X&&P>4)&&Za(c,na),B&&Za(c,oa),yt&&(a.prependedData=P>bt?await qn(i,bt,P-bt):U),a.comment=N?await qn(i,C+w,N):U,Et&&(a.appendedData=M<i.size?await qn(i,M,i.size-M):U),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class Ea{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ya(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const o={...r,readable:function(){const{readable:t,writable:e}=new TransformStream;if(r.getData)return async function(){try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}}(),t}()};delete o.getData,t.enqueue(o)}}),this.writable=r}}async function ba(t,e={}){if(t=new Vn(t),await Gn(t),t.size!==D&&t.readUint8Array||(t=new hn(await Te(t.readable)),await Gn(t)),t.size<w)return!1;const r=Na(e,{}),n=r!=K,o=_a(e[j],r),{Yt:a,Xt:i}=await La(t,n,o);if(!a||r==H&&i>1)return!1;const s=Ja(At(a),20),c=a.offset+w+s;return t.size-c<=o}class Sa{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=ft(),{reader:l,index:u,offset:f,diskNumberStart:w,extraFieldAES:d,extraFieldZip64:m,compressionMethod:p,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:b,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:R}=h,x=e.localDirectory={},F=e.warnings=[],z=ka(l,w)+f,T=await qn(l,z,A),I=At(T);let B=Ga(s,i,k),P=Ga(s,i,O);const W=Ga(s,i,C);if($(B,P),B=B&&B.length&&B,P=P&&P.length&&P,d&&99!=d.originalCompressionMethod)throw new Error(Ce);if(T.length<A||Qa(I,0)!=n)throw new Error(vo);xa(x,I,4);const{extraFieldLength:j,filenameLength:V}=x,Z=x.dataOffset=z+A+V+j,G=Ga(s,i,"checkLocalDirectory"),q=Na(i,s.options),Y=function(t,e){return t===D?e!=K:Boolean(t)}(G,q),X=function(t,e){return t===D?e==H:Boolean(t)}(G,q);let J=U;if(X&&(V||j)){const t=await qn(l,z+A,V+j);J=t.subarray(0,V),x.rawExtraField=t.subarray(V)}else x.rawExtraField=j?await qn(l,z+A+V,j):U;X&&(x.rawFilename=J),Da(s,x,I,4,!0)&&Za(F,$o),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Va(i,o,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Va(i,o,ca),e.compressionMethod!=t.compressionMethod&&Va(i,o,la),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Va(i,o,ua)}(s,x,J,X,Y?D:F);const{lastAccessDate:tt,creationDate:et,uid:rt,gid:nt}=x;tt&&(e.lastAccessDate=tt),et&&(e.creationDate=et),rt!==D&&e.uid===D&&(e.uid=rt),nt!==D&&e.gid===D&&(e.gid=nt);const ot=s.encrypted&&x.encrypted&&!W,at=ot&&!d;if(W||(e.zipCrypto=at),ot&&!(64&~x.rawBitFlag))throw new Error(Bo);const it=W?D:Be(p);if(0!=p&&8!=p&&9!=p&&!it&&!W)throw new Error(Ce);if(ot){if(!at&&(d.strength<1||d.strength>3))throw new Error(Bo);if(!B&&!P)throw new Error(Lo)}if(Z+g>l.size)throw new Error(jo);const st=g,ct=ze(l.createReadable({offset:Z,size:st})),lt=Q(Ga(s,i,N)),ut=Ga(s,i,"checkPasswordOnly");let wt=Ga(s,i,"checkOverlappingEntry");const dt=Ga(s,i,"checkOverlappingEntryOnly");dt&&(wt=!0);const{onstart:mt,onprogress:pt,onend:ht}=i,yt=0!=p&&!W,Et=W?g:S,bt=9==p;let St=Ga(s,i,v);bt&&(St=!1);const gt=Ga(s,i,"checkCrc32"),Rt=(gt===D?Ga(s,i,"checkSignature"):gt)&&!W&&(!ot||at||d&&1==d.vendorVersion),xt={options:{codecType:lr,password:B,rawPassword:P,zipCrypto:at,encryptionStrength:d&&d.strength,checkCrc32:Rt,checkAuthenticationCode:Ga(s,i,"checkAuthenticationCode"),passwordVerification:at&&(R?b>>>8&r:E>>>24&r),outputSize:Et,crc32:E,compressed:yt,encrypted:ot,useWebWorkers:Ga(s,i,M),useCompressionStream:St,transferStreams:Ga(s,i,_),deflate64:bt,format:it?it.format:D,codecURI:it?it.codecURI:D,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:ut},config:c,ut:{signal:lt,size:st,onstart:mt,onprogress:pt,onend:ht}};let Dt,Ft;wt&&await async function({reader:t,$t:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:l,extraFieldZip64:u,qt:f}){let w=0;if(l&&(w=u?20:12),w){const r=await qn(t,c+i,w+4),n=At(r);let l=r.length==w+4&&Qa(n,0)==a;if(l){const t=Ua(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?w+=4:l=!1}if(r.length>=w){const t=Ua(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const d={start:n,end:c+i+w,$t:e};for(const[t,e]of f)if(t!=r&&d.start<e.end&&e.start<d.end){const t=new Error(Wo);throw t.overlappingEntry=e.$t,t}f.set(r,d)}({reader:l,$t:e,index:u,offset:z,crc32:E,compressedSize:g,uncompressedSize:S,dataOffset:Z,dataDescriptor:R||x.bitFlag.dataDescriptor,extraFieldZip64:m||x.extraFieldZip64,qt:o});try{if(!dt){ut&&(t=new WritableStream),t=new Zn(t),await Gn(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(Et,g,yt)),({writable:Dt}=t);const{outputSize:e}=await Wr({readable:ct,writable:Dt},xt);if(t.size+=e,e!=Et)throw new Error(Ve)}}catch(e){if(e.outputSize!==D&&(t.size+=e.outputSize),!ut||e.message!=jt)throw Ft=e,e}finally{if((Hn(t)||!Ga(s,i,L))&&Dt&&!Dt.locked){const t=Dt.getWriter();if(Ft)try{await t.abort(Ft)}catch{}else await t.close()}}return ut||dt?D:t.getData?t.getData():Dt}}function ga(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Qa(t,r))return!0;return!1}function Aa(t,e,r){let n=0;for(;r+f<=e.length&&Qa(t,r)==s;)r+=f+Ja(t,r+28)+Ja(t,r+30)+Ja(t,r+32),n++;return n%65536?0:n}function Ra(t){if(t.length>=6){const e=At(t);if(Qa(e,0)==i){const r=Ja(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function xa(t,e,r){const n=t.rawBitFlag=Ja(e,r+2),o=!(1&~n),a=Qa(e,r+6);Object.assign(t,{encrypted:o,version:Ja(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&h)==h},rawLastModDate:a,lastModDate:qa(a),filenameLength:Ja(e,r+22),extraFieldLength:Ja(e,r+24)})}function Da(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=At(a);let c=0,l=!1;try{for(;c<a.length;){const t=Ja(s,c),e=Ja(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>a.length&&(l=!0);const u=Ja(r,n+4);Object.assign(e,{signature:Qa(r,n+10),crc32:Qa(r,n+10),compressedSize:Qa(r,n+14),uncompressedSize:Qa(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=At(t.data),n=ma.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+pa[e].bytes,0);if(t.data.length<o)throw new Error(_o);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=pa[s];e[i]=t[i]=c.Kt(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const w=i.get(28789);w&&(Fa(w,Xn,Jn,e,t),e.extraFieldUnicodePath=w);const d=i.get(25461);d&&(Fa(d,Qn,$n,e,t),e.extraFieldUnicodeComment=d);const m=i.get(39169);m&&m.data.length>=7?(function(t,e,r){const n=At(t.data),o=Xa(n,4);Object.assign(t,{vendorVersion:Xa(n,0),vendorId:Xa(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Ja(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=D)}(m,e,u),e.extraFieldAES=m):e.compressionMethod=u;const h=i.get(13);h&&(za(h,e),e.extraFieldPkwareUnix=h);const y=i.get(22613);y&&(za(y,e),e.extraFieldUnixType1=y);const E=i.get(10);E&&(function(t,e){const r=At(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Ja(r,o),a=Ja(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=At(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:Ya(o),lastAccessDate:Ya(a),creationDate:Ya(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(E,e),e.extraFieldNTFS=E);const b=i.get(30805);let S;if(b&&(S=Ta(b,e,!1),e.extraFieldUnix=b),!S){const t=i.get(30837);t&&(Ta(t,e,!0),e.extraFieldInfoZip=t)}const g=i.get(p);g&&(function(t,e,r){if(!t.data.length)return;const n=At(t.data),o=Xa(n,0),a=[],i=[];r?(1&~o||(a.push(oo),i.push(ao)),2&~o||(a.push(io),i.push(so)),4&~o||(a.push(co),i.push(lo))):t.data.length>=5&&(a.push(oo),i.push(ao));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Qa(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(g,e,o),e.extraFieldExtendedTimestamp=g);const A=i.get(6534);return A&&(e.extraFieldUSDZ=A),l}function Fa(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=At(t.data),i=new Ot;i.append(o[r]);const s=At(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Qa(a,1),l=Xa(a,0);Object.assign(t,{version:l,[e]:qr(t.data.subarray(5)),valid:1==l&&!o.bitFlag.languageEncodingFlag&&c==Qa(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function za(t,e){if(t.data.length<8)return;const r=At(t.data),n={lastAccessDate:new Date(1e3*(0|Qa(r,0))),lastModDate:new Date(1e3*(0|Qa(r,4)))};t.data.length>=12&&(n.uid=Ja(r,8),n.gid=Ja(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ta(t,e,r){try{const n=At(t.data);let o,a;if(r){let e=0;const r=Xa(n,e++),i=Xa(n,e++);o=Ia(t.data.subarray(e,e+i)),e+=i;const s=Xa(n,e++);a=Ia(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=Ja(n,0),a=Ja(n,2),Object.assign(t,{uid:o,gid:a}));return o!==D&&(e.uid=o),a!==D&&(e.gid=a),o!==D||a!==D}catch{}}function Ia(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Ua(t,e,r){const n=Qa(t,e);let o,a;return r?(o=$a(t,e+4),a=$a(t,e+12)):(o=Qa(t,e+4),a=Qa(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function ka(t,e){return t.Gt?t.Gt(e):0}async function Oa(t){return Qa(At(await qn(t,0,4)))}function Ca(t){return t===H||t===G||t===K}function Na(t,e){return Ma(t,Ma(e,G))}function Ma(t,e){const r=t.strictness;if(r!==D){if(!Ca(r))throw new Error(Go);return r}const n=t.checkAmbiguity;return n===D?e:n?H:e==K?K:G}function va(t,e){if(e==K)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||fa.test(t))||e==H&&(r.includes(".")||r.includes(""))}function _a(t,r){if(t!==D){const e=rt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(qo);return e}return r==H?0:r==K?1/0:e}async function La(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,l,u,f,d]of Ba(t,o)){const o=Ja(r,f+20);if(d+w+o==n){const o=await Wa(t,r,l,f,d,n,a);if(2==o){if(i||(i=Pa(u,f,d)),c++,!e||c>1)break}else 1!=o||s||(s=Pa(u,f,d))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,l,u]of Ba(t,o)){const o=Pa(c,l,u);a||(a=o);const f=await Wa(t,e,s,l,u,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{Yt:i,Xt:c}}async function*Ba(t,e){const r=t.size-e,n=await qn(t,r,e),o=At(n);for(let t=n.length-w;t>=0;t--)Qa(o,t)==c&&(yield[o,r,n,t,r+t])}function Pa(t,e,r){return{offset:r,buffer:t.slice(e,e+w).buffer}}async function Wa(r,n,o,a,i,c,l){const f=Ja(n,a+10),w=Qa(n,a+12),m=Qa(n,a+16);if(f==e||w==t||m==t)return await ja(r,n,o,i-d,c,l)==u?2:0;if(!f&&!w)return 1;const p=Ja(n,a+6);for(const t of[i-w,ka(r,p)+m])if(await ja(r,n,o,t,c,l)==s)return 2;return 0}async function ja(t,e,r,n,o,a){return n<0||n+4>o?D:n>=r?Qa(e,n-r):a.count>0?(a.count--,Qa(At(await qn(t,n,4)),0)):D}function Va(t,e,r){t?Ha(r):Za(e,r)}function Za(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==D&&(n.filename=r),t.push(n)}}function Ha(t){const e=new Error(Vo);throw e.reason=t,e}function Ga(t,e,r){return e[r]===D?t.options[r]:e[r]}function Ka(t,e,r){return J(Ga(t,e,r))}function qa(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<x?x:o}function Ya(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Xa(t,e){return t.getUint8(e)}function Ja(t,e){return t.getUint16(e,!0)}function Qa(t,e){return t.getUint32(e,!0)}function $a(t,e){const r=t.getBigUint64(e,!0);if(r>ha)throw new Error(Yo);return Number(r)}var ti=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Vo,ERR_BAD_FORMAT:Oo,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Mo,ERR_ENCRYPTED:Lo,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Zo,ERR_ENTRY_DATA_OUT_OF_BOUNDS:jo,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:No,ERR_EOCDR_NOT_FOUND:Co,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:_o,ERR_INVALID_AUTHENTICATION_CODE:Wt,ERR_INVALID_COMPRESSED_DATA:Ze,ERR_INVALID_CRC32:He,ERR_INVALID_FILENAME_VALIDATION:Ko,ERR_INVALID_MAX_APPENDED_DATA_SIZE:qo,ERR_INVALID_PASSWORD:Pt,ERR_INVALID_STRICTNESS:Go,ERR_INVALID_UNCOMPRESSED_SIZE:Ve,ERR_LOCAL_FILE_HEADER_NOT_FOUND:vo,ERR_OVERLAPPING_ENTRY:Wo,ERR_SPLIT_ZIP_FILE:Po,ERR_UNSAFE_FILENAME:Ho,ERR_UNSUPPORTED_COMPRESSION:Ce,ERR_UNSUPPORTED_ENCRYPTION:Bo,ERR_UNSUPPORTED_UINT64:Yo,ERR_WORKER_STARTUP_TIMEOUT:wr,WARNING_APPENDED_DATA:ra,WARNING_COMPRESSED_PATCHED_DATA:Qo,WARNING_DUPLICATE_FILENAME:ia,WARNING_MALFORMED_EXTRA_FIELD:$o,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:ca,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:la,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:ua,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:sa,WARNING_PREPENDED_CENTRAL_DIRECTORY:oa,WARNING_PREPENDED_DATA:na,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:aa,WARNING_UNKNOWN_VERSION:Jo,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:ta,WARNING_UNSORTED_CENTRAL_DIRECTORY:Xo,WARNING_WRAPPED_ENTRIES_COUNT:ea,ZipReader:ya,ZipReaderStream:Ea,isZipFile:ba});const ei="File already exists",ri="Zip file comment exceeds 64KB",ni="Invalid zip file comment (must be a Uint8Array)",oi="File entry comment exceeds 64KB",ai="Invalid file entry comment (must be a string)",ii="Invalid date (must be a valid Date instance)",si="File entry name exceeds 64KB",ci="Version exceeds 65535",li="The strength must equal 1, 2, or 3",ui="Encryption is not supported in USDZ files",fi="Encryption is not supported when the 'passThrough' option is set",wi="Invalid extra field (must be a Map)",di="Invalid extra field type (must be integer 0..65535)",mi="Invalid extra field data (must be a Uint8Array)",pi="Extra field data exceeds 64KB",hi=-2147483648,yi=2147483647,Ei=BigInt(0),bi=BigInt("0x7fffffffffffffff"),Si="Zip64 is not supported (set the 'zip64' option to 'true')",gi="Undefined uncompressed size",Ai="Undefined compression method",Ri="Undetermined size",xi="Undefined reader",Di="Zip file not empty",Fi="Invalid uid (must be integer 0..2^32-1)",zi="Invalid gid (must be integer 0..2^32-1)",Ti="Invalid UNIX mode (must be integer 0..65535)",Ii="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ui="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ki="Invalid msdosAttributesRaw (must be integer 0..255)",Oi="Invalid msdosAttributes (must be an object with boolean flags)",Ci="Invalid level (must be integer 0..9)",Ni="Signature data exceeds 64KB",Mi=new Uint8Array([7,0,2,0,65,69,3,0,0]),vi="infozip",_i="unix";let Li=0;const Bi=[];class Pi{constructor(t,e={}){t=new Zn(t);const{availableSize:r=F,maxSize:n=F}=t,o=r>0&&r!==F&&n>0&&n!==F;Object.assign(this,{writer:t,te:o,options:e,ee:new Map,re:new Set,offset:e[P]===D?t.size||t.writable.size||0:e[P],ne:e[P]===D?0:e[P]-(t.size||t.writable.size||0),oe:new Set,ae:[],ie:0,se:D})}prependZip(t){return Vi(this,async function(t,e){if(t.re.size)throw new Error(Di);await t.ce(e)}(this,t))}appendZip(t){return Vi(this,this.ce(t))}async ce(t){const e=this,{oe:r,re:n,ee:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let l;try{t=new Vn(t),await Gn(t),t.size!==D&&t.readUint8Array||(t=new hn(await Te(t.readable)),await Gn(t));const{ZipReader:r}=await Promise.resolve().then(function(){return ti}),i=new r(t),s=await i.getEntries();await i.close(),await Gn(e.writer);const{directoryOffset:u}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(ei);n.add(t),c.push(t)}),e.le=!0;const{ue:f}=e;e.ue=new Promise(t=>l=()=>{e.le=!1,t()}),await f,e.te&&(delete e.te,await async function(t){return At(await qn(t,0,4)).getUint32(0,!0)==o}(t)||(await is(e.writer,os()),e.offset+=4));const w=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>ns(e,t)-ns(e,r));let s=0;for(const r of i){const n=ns(e,r);await es(t,e,s,n-s),Qi(o,await rs(e,n))&&await o.closeDisk(),a.set(r,{offset:$i(t,o),diskNumberStart:Xi(o)}),s=n}await es(t,e,s,n-s)}else{const o=t.offset;await es(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+ns(e,t),diskNumberStart:0}))}return a}(e,t,s,u);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:l}=t;let{compressionMethod:u,rawExtraField:f}=t;const{level:d,languageEncodingFlag:m,dataDescriptor:p}=o;f=ts(f||U),t.extraFieldAES&&(u=99);const h=Rs(f),y=Boolean(l)&&l.uncompressedSize!==D,E=Boolean(l)&&l.compressedSize!==D,b=-7&Ds(d,m,p,i,u)|d<<1,{fe:S,we:g}=xs({version:e,bitFlag:b,compressionMethod:u,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,de:E,me:y,extraFieldLength:h}),{crc32:A}=t;A!==D&&Ss(g,10,A);const{offset:R,diskNumberStart:x}=w.get(t);Object.assign(t,{me:y,de:E,offset:R,diskNumberStart:x,pe:!1,he:U,ye:U,Ee:U,be:U,Se:U,rawExtraField:f,ge:U,extendedTimestamp:!1,fe:S,we:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),l&&l()}}add(o="",i,s={}){const c=this,{oe:l}=c,u=async function(o,i,s,c){if(ws(o,c=Object.assign({},c),go)&&!i.endsWith(g)&&(i+=g),o.re.has(i))throw new Error(ei);o.re.add(i),Li<ft().maxWorkers?Li++:await new Promise(t=>Bi.push(t));try{return await async function(o,i,s,c){const l=function(n,o,a){let i=ws(n,a,po),s=ws(n,a,bo,i?20:768);const c=ws(n,a,Ao),l=ps(n,a,"uid"),u=ps(n,a,"gid");let f=ps(n,a,Fo),w=ws(n,a,"unixExtraFieldType"),d=ws(n,a,zo),m=ws(n,a,To),p=ws(n,a,Io);if(et(l,t,Fi),et(u,t,zi),et(f,e,Ti),w!==D&&w!==vi&&w!==_i)throw new Error(Ii);if(w===_i&&(l!==D&&l>e||u!==D&&u>e))throw new Error(Ui);w!==D||l===D&&u===D||(w=vi);let h=ps(n,a,wo),A=ws(n,a,mo);const R=h!==D||A!==D;if(l!==D||u!==D||f!==D||w||c?(i=!1,s=s&r|768):R&&(i=!0,s&=r),et(h,r,ki),A&&("object"!=typeof A||Array.isArray(A)))throw new Error(Oi);if(s>e)throw new Error(ci);let x=ws(n,a,fo);const F=x!==D;F||(x=0),!a[go]&&o.endsWith(g)&&(a[go]=!0);const z=ws(n,a,go);if(z?(o.endsWith(g)||(o+=g),F||(x=16,i||(x|=16877<<16))):i||F||(x=c?493<<16:27525120),!i){const t=f!==D||Boolean(d||m||p);f=f===D?x>>16&e:f&e,d?f|=b:d=Boolean(f&b),m?f|=S:m=Boolean(f&S),p?f|=512:p=Boolean(512&f),F&&!t||(z?f=-61441&f|E:f&y||(f|=32768),x=(f&e)<<16|x&e)}({msdosAttributesRaw:h,msdosAttributes:A}=function(t,e){if(t!==D)t&=r;else if(e!==D){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===D&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,A)),R&&(x=x&t|h&r);const T=x>>16&e,I=f!==D&&40960==(f&y);return{name:o,Ae:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:x,unixExternalUpper:T,uid:l,gid:u,unixMode:f,unixExtraFieldType:w,symlink:I,setuid:d,setgid:m,sticky:p,msdosAttributesRaw:h,msdosAttributes:A}}}(o,i,c);({name:i}=l);const u=function(t,r,n){const o=ms(t,n,"encodeText")||Nt;let a=o(r,V);if(a===D&&(a=Nt(r)),Rs(a)>e)throw new Error(si);const i=n[Qn]||"";if(typeof i!=I)throw new Error(ai);let s=o(i,Z);if(s===D&&(s=Nt(i)),Rs(s)>e)throw new Error(oi);const c=ws(t,n,Eo);if(c!==D&&c>e)throw new Error(ci);const l=ds(t,n,oo,new Date),u=ws(t,n,ao),f=ds(t,n,io),w=ds(t,n,co),d=ws(t,n,uo,0),m=ws(t,n,C),p=ws(t,n,k),h=ws(t,n,O);$(p,h);const y=ps(t,n,"encryptionStrength",3),E=ws(t,n,So),b=ws(t,n,"extendedTimestamp",!0),S=ws(t,n,"ntfsTimestamp"),g=ws(t,n,"keepOrder",!0),A=ws(t,n,M),R=ws(t,n,_),x=ws(t,n,"bufferedWrite"),F=ms(t,n,"createTempStream"),z=ws(t,n,"dataDescriptorSignature",!0),T=Q(ws(t,n,N)),U=ws(t,n,"useUnicodeFileNames",!0),L=ws(t,n,Ro),P=m||L===D?D:Be(L);if(!m&&L!==D&&0!==L&&8!==L&&!P)throw new Error(Ce);let j=ps(t,n,"level");if(et(j,9,Ci),t.options[W]){if(p!==D||h!==D)throw new Error(ui);j===D&&L===D&&(j=0)}m&&(j=D);let H=ws(t,n,v),G=ws(t,n,B);x&&G===D&&(G=!1),(G===D||E&&!m)&&(G=!0),j!==D&&6!=j&&(H=!1);const K=ws(t,n,ho);if(!(E||p===D&&h===D||Number.isInteger(y)&&y>=1&&y<=3))throw new Error(li);const q=Gi(n[Do]),Y=Gi(n.localExtraField),X=Gi(n.centralExtraField);return{comment:i,Ae:{rawFilename:a,rawComment:s,version:c,lastModDate:l,rawLastModDate:u,lastAccessDate:f,creationDate:w,internalFileAttributes:d,passThrough:m,password:p,rawPassword:h,encryptionStrength:y,zipCrypto:E,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:g,useWebWorkers:A,transferStreams:R,bufferedWrite:x,createTempStream:F,dataDescriptorSignature:z,signal:T,useUnicodeFileNames:U,compressionMethod:L,format:P?P.format:D,codecURI:P?P.codecURI:D,Re:P?P.versionNeeded:D,level:j,useCompressionStream:H,dataDescriptor:G,zip64:K,rawExtraField:q,xe:Y,ge:X}}}(o,i,c),{comment:f}=u,w=c[Do];o.ee.set(i,D);const d=o.se,m={};let h,z;u.Ae.keepOrder&&(m.De=new Promise(t=>h=t)),o.se=m;try{const{Ae:f}=u;0==f.level||f.compressionMethod!==D||f.passThrough||await async function(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.gt)return!0;if(er(e)||tr(e,qe))return!0;if(r)try{return await hr(t),!0}catch{return!1}return!1}(ft())||(f.level=0);const w=await async function(e,r,{Ae:n},o){if(n.passThrough&&!r&&!ws(e,o,go))throw new Error(xi);let a;return r&&(r=new Vn(r),await Gn(r),({size:a}=r)),Object.assign({reader:r},function(e,r,n,o,a){const{passThrough:i,zipCrypto:s,password:c,rawPassword:l,encryptionStrength:u}=o;let{dataDescriptor:f,zip64:w,level:d,compressionMethod:m}=o,p=0,h=0;if(i&&r){if(h=a[to],h===D)throw new Error(gi);if(m===D)throw new Error(Ai)}const y=!0===w,E=ws(e,a,yo);if(r&&i&&!E&&Rs(c,l))throw new Error(fi);const b=r&&(Boolean(c&&Rs(c)||l&&Rs(l))||i&&E);r||(d=0,m=0);const S=b?s?12:16+4*u:0;r&&(i?(a.uncompressedSize=h,p=n===D?hs(h)+S:n):n===D?(f=!0,(w||w===D)&&(w=!0,h=p=4294967296)):(a.uncompressedSize=h=n,p=(ys(m,d)?hs(h):h)+S));const g=!(b||r&&(0!==n||i)||ys(m,d));g&&!s&&ws(e,a,B)===D&&(f=!1);const A=y||h>=t,R=y||p>=t;if(A||R){if(!1===w)throw new Error(Si);w=!0}return w=w||!1,{Fe:p,Ae:{dataDescriptor:f,ze:g,zip64:w,me:A,de:R,uncompressedSize:h,level:d,compressionMethod:m,encrypted:b}}}(e,Boolean(r),a,n,o))}(o,s,u,c);({reader:s}=w);const y=Ji(o.writer),E=Xi(o.writer),b=function(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:w,directory:d,rawExtraField:m,xe:h,encryptionStrength:y,extendedTimestamp:E,ntfsTimestamp:b,passThrough:S,encrypted:g,me:F,de:z,uncompressedSize:T,crc32:I}=t;let{version:k,compressionMethod:O}=t;const C=!d&&ys(O,c);let N;const M=S||!C,v=l&&(t.bufferedWrite||!w||!F&&!z||M),_=v||l&&w&&(F||z);if(l&&(F||z)){const t=20,e=Yi(t);if(e.Te(1),e.Te(t-4),N=e.Wt,v&&(e.Ie(T),M)){const t=g?u?12:16+4*y:0;e.Ie(S?0:T+t)}}else N=U;let L,B,P,j,V;if(g&&!u){const t=Yi(Rs(Mi)+2);t.Te(39169),t.Ue(Mi),L=t.Wt,L[8]=y}else L=U;if(E){const t=ls(o),e=us(t);if(e){const e=9+(i?4:0)+(s?4:0),r=Yi(e);j=1+(i?2:0)+(s?4:0),r.Te(p),r.Te(e-4),r.ke(j),r.Oe(t),i&&r.Oe(fs(ls(i))),s&&r.Oe(fs(ls(s))),P=r.Wt}else P=U;if(b===D?!e||Boolean(i||s):b)try{const t=cs(o),e=Yi(36);e.Te(10),e.Te(32),e.Ce(4),e.Te(1),e.Te(24),e.Ie(t),e.Ie(i?cs(i):t),e.Ie(s?cs(s):t),B=e.Wt}catch{B=U}else B=U}else B=P=U;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=vi||r===D&&n===D)if(o!=_i||r===D&&n===D)V=U;else{const t=Yi(8);t.Te(30805),t.Te(4),t.Te((r===D?0:r)&e),t.Te((n===D?0:n)&e),V=t.Wt}else{const t=qi(r===D?0:r),e=qi(n===D?0:n),o=3+t.length+e.length,a=Yi(4+o);a.Te(30837),a.Te(o),a.ke(1),a.ke(t.length),a.Ue(t),a.ke(e.length),a.Ue(e),V=a.Wt}}catch{V=U}O===D&&(O=C?8:0),k===D&&(k=0!=O||d||g?20:10);const{Re:Z}=t;C&&Z!==D&&(k=k>Z?k:Z),l&&(k=k>45?k:45),g&&!u&&(k=k>51?k:51,S&&I!==D&&(L[4]=1),bs(At(L),9,O),O=99);const H=_?Rs(N):0,G=H+Rs(L,P,B,V,m,h);if(G+(t[W]?67:0)>e)throw new Error(pi);const K=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),{fe:q,we:Y,rawLastModDate:X}=xs({version:k,bitFlag:Ds(c,f,w,g,O),compressionMethod:O,uncompressedSize:T,lastModDate:K<x?x:K>R?R:K,rawLastModDate:a,rawFilename:r,de:z,me:F,extraFieldLength:G}),J=Yi(A+Rs(r)+G),Q=J.Wt,$=At(Q);return J.Oe(n),J.Ue(q),J.Ue(r),_&&J.Ue(N),J.Ue(L),J.Ue(P),J.Ue(B),J.Ue(V),J.Ue(m),J.Ue(h),w&&(z||Ss($,18,0),F||Ss($,22,0)),{Ne:Q,Me:$,fe:q,we:Y,lastModDate:o,rawLastModDate:X,encrypted:g,compressed:C,version:k,compressionMethod:O,ve:j,he:U,_e:H,Ee:P,be:B,Se:V,ye:L,extraFieldLength:G}}(c=Object.assign({},c,l.Ae,u.Ae,w.Ae,{signature:c[xo],crc32:c.crc32===D?c[xo]:c.crc32,offset:o.offset-y,diskNumberStart:E,[W]:o.options[W]})),S=function({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=U,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=At(o),r&&(i=4,Ss(n,0,a))),{Le:o,Be:n,Pe:i}}(c),g=Rs(b.Ne,S.Le);z=await async function(e,n,o,a,i){const{ee:s,writer:c}=e,{keepOrder:l,dataDescriptor:u,ze:f,signal:w}=i,{We:d,$t:m,je:p,Ve:h}=a,y=e.options[W];let E,b,S,g,R,x,z=m,T=0;const I=l&&p?p.De:D;s.set(n,z);try{i.bufferedWrite||!l||e.le||e.ie||!u&&!f?(E=!0,e.ie++,x=i.createTempStream?await i.createTempStream():new TransformStream(D,D,{highWaterMark:F}),x.size=0,await Gn(c)):(x=c,await I,await U()),await Gn(x);const m=Ji(c);e.te&&!E&&await as(e,c),y&&!E&&Ki(a,e.offset-m);const{Ne:p}=d;E||await k();const h=Xi(c),b=$i(e,c);if(z.diskNumberStart=h,E||(g=!0,R=c.size,await is(x,p)),z=await async function(e,n,{diskNumberStart:o,De:a},i,s,c){const{We:l,Ze:u,He:f}=i,{fe:w,we:d,lastModDate:m,rawLastModDate:p,encrypted:h,compressed:y,version:E,compressionMethod:b,he:S,_e:g,Ee:A,ve:R,be:x,Se:F,ye:z}=l,{Le:T}=u,{rawFilename:I,lastAccessDate:U,creationDate:k,password:O,rawPassword:C,level:N,zip64:M,me:v,de:_,zipCrypto:L,dataDescriptor:B,directory:P,executable:W,versionMadeBy:j,rawComment:V,rawExtraField:Z,ge:H,useWebWorkers:G,transferStreams:K,onstart:q,onprogress:Y,onend:X,signal:J,encryptionStrength:Q,extendedTimestamp:$,msDosCompatible:tt,internalFileAttributes:et,externalFileAttributes:rt,uid:nt,gid:ot,unixMode:at,symlink:it,setuid:st,setgid:ct,sticky:lt,unixExternalUpper:ut,msdosAttributesRaw:ft,msdosAttributes:wt,useCompressionStream:dt,passThrough:mt,format:pt,codecURI:ht}=c,yt={De:a,versionMadeBy:j,zip64:M,directory:Boolean(P),executable:Boolean(W),filenameUTF8:!0,rawFilename:I,commentUTF8:!0,rawComment:V,he:S,_e:g,Ee:A,be:x,Se:F,ye:z,rawExtraField:Z,ge:H,extendedTimestamp:$,msDosCompatible:tt,internalFileAttributes:et,externalFileAttributes:rt,diskNumberStart:o,uid:nt,gid:ot,unixMode:at,symlink:Boolean(it),setuid:st,setgid:ct,sticky:lt,unixExternalUpper:ut,msdosAttributesRaw:ft,msdosAttributes:wt};let{crc32:Et,uncompressedSize:bt}=c,St=0;mt||(bt=0);const{writable:gt}=n;if(e){const o=ze(Yn(e)),a=e.size,i={options:{codecType:cr,inputSize:a,level:N,rawPassword:C,password:O,encryptionStrength:Q,zipCrypto:h&&L,passwordVerification:h&&L&&p>>8&r,computeCrc32:!mt,compressed:y&&!mt,encrypted:h&&!mt,useWebWorkers:G,useCompressionStream:dt,transferStreams:K,format:pt,codecURI:ht,compressionMethod:b},config:s,ut:{signal:J,size:a,onstart:q,onprogress:Y,onend:X}};try{const e=await Wr({readable:o,writable:gt},i);if(St=e.outputSize,n.size+=St,mt||(bt=e.inputSize,h&&!L||(Et=e.crc32)),!_&&St>=t||!v&&bt>=t)throw new Error(Si)}catch(t){throw t.outputSize!==D&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,We:n,Ze:o},{zip64:a,zipCrypto:i,passThrough:s,dataDescriptor:c}){const{we:l,encrypted:u}=n,{Be:f,Pe:w}=o;u&&!i&&!s||t===D||(Ss(l,10,t),c&&Ss(f,w,t)),a?c&&(gs(f,w+4,BigInt(e)),gs(f,w+12,BigInt(r))):(Ss(l,14,e),Ss(l,18,r),c&&(Ss(f,w+4,e),Ss(f,w+8,r)))}({crc32:Et,compressedSize:St,uncompressedSize:bt,We:l,Ze:u},c),B&&await is(n,T),Object.assign(yt,{uncompressedSize:bt,compressedSize:St,lastModDate:m,rawLastModDate:p,creationDate:k,lastAccessDate:U,encrypted:Boolean(h),zipCrypto:Boolean(L),size:f+St,compressionMethod:b,version:E,fe:w,we:d,signature:Et,crc32:!h||L||mt?Et:D,ve:R,me:v,de:_}),yt}(o,x,z,a,ft(),i),E||(g=!1),s.set(n,z),z.filename=n,E){if(await Promise.all([x.writable.getWriter().close(),I]),await U(),e.te&&await as(e,c),S=!0,R=c.size,await k(),z.diskNumberStart=Xi(c),z.offset=$i(e,c),y){const t=a.He;Ki(a,e.offset-Ji(c)),z.size+=a.He-t}!function({rawFilename:t,encrypted:e,zip64:r,_e:n,crc32:o,compressedSize:a,uncompressedSize:i,me:s,de:c},l,{dataDescriptor:u,passThrough:f}){if(u||((!e||f&&o!==D)&&Ss(l,14,o),c||Ss(l,18,a),s||Ss(l,22,i)),r&&n){const e=A+Rs(t)+4;gs(l,e,BigInt(i)),gs(l,e+8,BigInt(a))}}(z,d.Me,i),await is(c,d.Ne),await ss(x.readable,c,w,t=>T+=t),c.size+=x.size,S=!1}else z.diskNumberStart=h,z.offset=b;return e.offset+=z.size,z}catch(t){if(S||g){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,E&&(e.offset+=T)}throw s.delete(n),t}finally{if(E&&e.ie--,h&&h(I),b&&b(),E&&x&&x.dispose)try{await x.dispose()}catch{}}async function U(){e.le=!0;const{ue:t}=e;e.ue=new Promise(t=>b=()=>{e.le=!1,t()}),await t}async function k(){Qi(c,Rs(d.Ne))&&await c.closeDisk()}}(o,i,s,{We:b,Ze:S,He:g,$t:m,je:d,Ve:h},c)}catch(t){throw o.ee.delete(i),t}finally{h&&h(d&&d.De)}return Object.assign(z,{name:i,comment:f,extraField:w}),new ko(z)}(o,i,s,c)}catch(t){throw o.re.delete(i),t}finally{const t=Bi.shift();t?t():Li--}}(c,o,i,s);l.add(u);const f=()=>l.delete(u);return Promise.prototype.then.call(u,f,f),Vi(c,u)}remove(t){const{re:e,ee:r}=this;if(typeof t==I&&(t=r.get(t)),t&&t.filename!==D){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=U,n={}){const o=this,{oe:a,writer:d}=this,{writable:m}=d;if(!(r instanceof Uint8Array))throw new Error(ni);if(Rs(r)>e)throw new Error(ri);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.ae.map(t=>t.Ge));const h=o.ae.filter(t=>t.error&&!t.Ke);if(h.length){const t=h.map(t=>t.error);h.forEach(t=>t.Ke=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const a=function(r){let n=0;for(const[,o]of r){const{rawFilename:r,ye:a,rawComment:i,be:s,Se:c,rawExtraField:l,ge:u,extendedTimestamp:w,ve:d,lastModDate:m,me:h,de:y,uncompressedSize:E,compressedSize:b}=o,S=o.offset>=t,g=o.diskNumberStart>=e;let A,R;if(S||g||h||y){const t=4+(h?8:0)+(y?8:0)+(S?8:0)+(g?4:0),e=Yi(t);e.Te(1),e.Te(t-4),h&&e.Ie(E),y&&e.Ie(b),S&&e.Ie(o.offset),g&&e.Oe(o.diskNumberStart),A=e.Wt}else A=U;o.he=A,o.qe=S,o.pe=g;const x=ls(m);if(w&&us(x)){const t=Yi(9);t.Te(p),t.Te(5),t.ke(d),t.Oe(x),R=t.Wt}else R=U;o.Ee=R;const D=Rs(A,a,s,c,R,l,u);if(D>e)throw new Error(pi);n+=f+Rs(r,i)+D}return n}(r.ee),{Ye:d,Xe:m,Je:h}=await async function(r,n,o){const{ee:a,writer:i}=r,c=new Uint8Array(n);await Gn(i);let l=0,u=0,w=Xi(i),d=Ji(i),m=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:p,rawFilename:h,he:y,ye:E,Ee:b,be:S,Se:g,rawExtraField:A,ge:R,rawComment:x,versionMadeBy:D,fe:F,we:z,me:T,de:I,pe:U,qe:k,internalFileAttributes:O,externalFileAttributes:C,diskNumberStart:N,uncompressedSize:M,compressedSize:v}=n,_=Rs(y,E,b,S,g,A,R),L=f+Rs(h,x)+_;Qi(i,l+L-u)&&(await is(i,c.slice(u,l)),u=l,m=0,await i.closeDisk()),0==r&&(w=Xi(i),d=Ji(i)),T||Ss(z,18,M),I||Ss(z,14,v),(k||U)&&n.version<45&&bs(z,0,45);const B=Yi(L);if(B.Oe(s),B.Te(D),B.Ue(F.subarray(0,24)),B.Te(_),B.Te(Rs(x)),B.Te(U?e:N),B.Te(O),B.Oe(C),B.Oe(k?t:p),B.Ue(h),B.Ue(y),B.Ue(E),B.Ue(b),B.Ue(S),B.Ue(g),B.Ue(A),B.Ue(R),B.Ue(x),As(c,B.Wt,l),l+=L,m++,o.onprogress)try{await o.onprogress(r+1,a.size,new ko(n))}catch{}}return await is(i,u?c.slice(u):c),{Ye:{diskNumber:w,diskOffset:d},Xe:{diskNumber:Xi(i),Qe:m},Je:c}}(r,a,o),y=await async function(t,r,n){const o=ms(t,n,"signCentralDirectory");if(o){const n=await o(r),a=Rs(n);if(a>e)throw new Error(Ni);const s=Yi(6+a);s.Oe(i),s.Te(a),s.Ue(n);const{writer:c}=t;return Qi(c,Rs(s.Wt))&&await c.closeDisk(),await is(c,s.Wt),6+a}return 0}(r,h,o);await async function(r,n,o,a){const{writer:i}=r,{Ye:s,Xe:f,$e:d}=a;let{er:m}=a,p=r.ee.size,h=s.diskNumber,y=$i(r,s);const E=Rs(n);if(E>e)throw new Error(ri);let b=ws(r,o,ho),S=Xi(i);if(Qi(i,(b?98:w)+E)&&S++,y>=t||m>=t||p>=e||S>=e){if(!1===b)throw new Error(Si);b=!0}const g=Yi(b?98:w);Qi(i,Rs(g.Wt)+E)&&await i.closeDisk(),S=Xi(i);let A=S==f.diskNumber?f.Qe:0;b&&(g.Oe(l),g.Ie(44),g.Te(45),g.Te(45),g.Oe(S),g.Oe(h),g.Ie(A),g.Ie(p),g.Ie(m),g.Ie(y),g.Oe(u),g.Oe(S),g.Ie(BigInt($i(r,i))+BigInt(m)+BigInt(d)),g.Oe(S+1),ws(r,o,"supportZip64SplitFile",!0)&&(S=e,h=e),A=e,p=e,y=t,m=t),g.Oe(c),g.Te(S),g.Te(h),g.Te(A),g.Te(p),g.Oe(m),g.Oe(y),g.Te(E),await is(i,g.Wt),E&&await is(i,n)}(r,n,o,{Ye:d,Xe:m,er:a,$e:y})}(o,r,n),!Hn(d)&&ws(o,n,L)||await m.getWriter().close(),d.getData?d.getData():m}}class Wi{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Pi(r,t),this.oe=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Zi(e,t)}}()}});return Hi(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Hi(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.oe))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Zi(r,t),t}try{return await r.close(t,e)}catch(t){throw await Zi(r,t),t}}}class ji extends Promise{then(t,e){const{rr:r}=this;return r&&(r.Ke=!0),super.then(t,e)}}function Vi(t,e){const r=new ji((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.rr=n,n.Ge=Promise.prototype.then.call(r,D,t=>n.error=t),t.ae.push(n),r}async function Zi(t,e){try{await t.writer.writable.abort(e)}catch{}}function Hi(t,e,r){t.oe.add(e),e.catch(t=>{try{r(t)}catch{}})}function Gi(t){if(!t)return U;if(!(t instanceof Map))throw new Error(wi);let r=0,n=0;t.forEach((t,n)=>{if(tt(n,e,di),!(t instanceof Uint8Array))throw new Error(mi);if(Rs(t)>e)throw new Error(pi);r+=4+Rs(t)});const o=new Uint8Array(r),a=At(o);return t.forEach((t,e)=>{bs(a,n,e),bs(a,n+2,Rs(t)),As(o,t,n+4),n+=4+Rs(t)}),o}function Ki(t,e){const{We:r}=t;let{Ne:n,extraFieldLength:o}=r,a=64-(e+Rs(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=At(i);bs(s,0,6534),bs(s,2,a-4);const c=n;r.Ne=n=new Uint8Array(Rs(c)+a),As(n,c),As(n,i,Rs(c));const l=At(n);bs(l,28,o+a),r.Me=l,t.He+=a}function qi(t){const e=new Uint8Array(4);At(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Yi(t){const e=new Uint8Array(t),r=At(e);let n=0;return{Wt:e,ke:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},Te:t=>{bs(r,n,t),n+=2},Oe:t=>{Ss(r,n,t),n+=4},Ie:t=>{gs(r,n,BigInt(t)),n+=8},Ue:t=>{As(e,t,n),n+=Rs(t)},Ce:t=>n+=t}}function Xi(t){const{diskNumber:e=0}=t;return e}function Ji(t){const{diskOffset:e=0}=t;return e}function Qi(t,e){const{availableSize:r=F}=t;return e>r}function $i(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ne:0)}function ts(t){const e=At(t);let r=0;for(;r+4<=Rs(t);){const n=4+Es(e,r+2);if(1==Es(e,r))return ts(St(t.subarray(0,r),t.subarray(Math.min(r+n,Rs(t)))));r+=n}return t}async function es(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await ss(Yn(e,{offset:r,size:n}),o,D,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function rs(t,e){const r=await qn(t,e,A);if(Rs(r)<A)return A;const n=At(r);return A+Es(n,26)+Es(n,28)}function ns(t,{offset:e,diskNumberStart:r}){return e+(t.Gt?t.Gt(r):0)}function os(){const t=new Uint8Array(4);return Ss(At(t),0,o),t}async function as(t,e){delete t.te,await is(e,os()),t.offset+=4}async function is(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Rs(e),await n.write(e)}finally{n.releaseLock()}}async function ss(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(Rs(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function cs(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Ei?Ei:e>bi?bi:e}}function ls(t){return Math.floor(t.getTime()/1e3)}function us(t){return t>=hi&&t<=yi}function fs(t){return Math.min(yi,Math.max(hi,t))}function ws(t,e,r,n){const o=e[r]===D?t.options[r]:e[r];return o===D?n:o}function ds(t,e,r,n){const o=ws(t,e,r,n);if(null===o)return n;if(o!==D&&(typeof o.getTime!=T||Number.isNaN(o.getTime())))throw new Error(ii);return o}function ms(t,e,r){return J(ws(t,e,r))}function ps(t,e,r,n){return rt(ws(t,e,r,n))}function hs(t){return t+5*(Math.floor(t/16383)+1)}function ys(t,e){return t===D?e===D||e>0:0!==t}function Es(t,e){return t.getUint16(e,!0)}function bs(t,e,r){t.setUint16(e,r,!0)}function Ss(t,e,r){t.setUint32(e,r,!0)}function gs(t,e,r){t.setBigUint64(e,r,!0)}function As(t,e,r){t.set(e,r)}function Rs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function xs({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,de:l,me:u,extraFieldLength:f}){const w=Yi(26),d=w.Wt,m=At(d);if(w.Te(e),w.Te(r),w.Te(n),s===D){const t=new Uint32Array(1),e=At(t);bs(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),bs(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return w.Oe(s),w.Ce(4),l||a!==D?w.Oe(l?t:a):w.Ce(4),u||o!==D?w.Oe(u?t:o):w.Ce(4),w.Te(Rs(c)),w.Te(f),{fe:d,we:m,rawLastModDate:s}}function Ds(t,e,r,n,o){let a=0;return e&&(a|=h),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function Fs(){return"application/octet-stream"}function zs(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=ft(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Ts(r,Ge)||Ts(t,Ge)||Ts(t,qe),decompression:Ts(n,Ge)||Ts(e,Ge)||Ts(e,qe),registered:!1},{compressionMethod:9,compression:!1,decompression:Ts(n,Ke)||Ts(e,Ke),registered:!1}];for(const t of Pe()){const e=We(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==T:D,decompression:e?typeof e.DecompressionStream==T:D,registered:!0})}return o}function Ts(t,e){if(!t)return!1;const{nr:r}=t;return r?r.includes(e):tr(t,e)}const Is="2.11.1",Us=1048576,ks=".zip.js-temp";function Os(t={}){const{thresholdBytes:e=Us,directoryName:r=ks,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const l=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Cs=1048576;function Ns(t={}){const{thresholdBytes:e=Cs}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Te(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const Ms=1048576,vs=".zip.js-temp",_s="createSyncAccessHandle is only available in dedicated workers";function Ls(t={}){const{thresholdBytes:e=Ms,directoryName:r=vs,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(_s);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const l=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{Et({baseURI:import.meta.url})}catch{}const Bs="deflate",Ps="deflate-raw",Ws="deflate64-raw",js="gzip";let Vs,Zs,Hs,Gs,Ks;function qs(t,e,r={}){if(!Vs){const t=new Error("WASM module not loaded");throw t.cause=Ks,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.ar=Zs(o),this.in=Zs(a),this.inBufferSize=a,!this.ar||!this.in)throw new Error("allocation failed");if(this.ir=new Uint8Array(o),t?(this.sr=Vs.deflate_process,this.cr=Vs.deflate_last_consumed,this.lr=Vs.deflate_end,this.ur=Vs.deflate_new(),r=e===js?Vs.deflate_init_gzip(this.ur,n):e===Ps?Vs.deflate_init_raw(this.ur,n):Vs.deflate_init(this.ur,n)):e===Ws?(this.sr=Vs.inflate9_process,this.cr=Vs.inflate9_last_consumed,this.lr=Vs.inflate9_end,this.ur=Vs.inflate9_new(),r=Vs.inflate9_init_raw(this.ur)):(this.sr=Vs.inflate_process,this.cr=Vs.inflate_last_consumed,this.lr=Vs.inflate_end,this.ur=Vs.inflate_new(),r=e===Ps?Vs.inflate_init_raw(this.ur):e===js?Vs.inflate_init_gzip(this.ur):Vs.inflate_init(this.ur)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(Gs.buffer),a=this.sr,i=this.cr,s=this.ar,c=this.ir;let l=0;for(;l<r.length;){const t=Math.min(r.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Hs&&(Hs(this.in),this.in=0),this.in=Zs(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(l,l+t),this.in);const u=a(this.ur,this.in,t,s,o,0),f=u>>24&255,w=128&f?f-256:f;if(w<0)throw new Error("process error:"+w);const d=16777215&u;d&&(c.set(n.subarray(s,s+d),0),e.enqueue(c.slice(0,d)));const m=i(this.ur);if(0===m&&0===d)break;l+=m}}catch(t){i(this),e.error(t)}},flush(t){try{const e=new Uint8Array(Gs.buffer),r=this.sr,n=this.ar,a=this.ir;for(;;){const i=r(this.ur,0,0,n,o,4),s=i>>24&255,c=128&s?s-256:s;if(c<0)throw new Error("process error:"+c);const l=16777215&i;if(l&&(a.set(e.subarray(n,n+l),0),t.enqueue(a.slice(0,l))),1===s||0===l)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){i(this)}});function i(t){let e=0;return t.ur&&t.lr&&(e=t.lr(t.ur)),t.ur=0,t.in&&Hs&&Hs(t.in),t.in=0,t.ar&&Hs&&Hs(t.ar),t.ar=0,e}}class Ys{constructor(t=Bs,e){return qs(!0,t,e)}}class Xs{constructor(t=Bs,e){return qs(!1,t,e)}}Ys.gt=!0,Xs.gt=!0,Ys.nr=[Bs,Ps,js],Xs.nr=[Bs,Ps,js,Ws];let Js,Qs=!1;function $s(){Js=null,async function(){await Promise.allSettled(vr.map(t=>(Gr(t),t.terminate()))),dr=D,mr=!1}(),Qs=!1,Vs=Zs=Hs=Gs=Ks=null}!function({wr:t}){hr=t}({wr:t=>{if(!Js){let{wasmURI:e}=t;typeof e==T&&(e=e()),Js=async function(t,{baseURI:e}){if(!Qs)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}!function(t){if(Vs=t,({malloc:Zs,free:Hs,memory:Gs}=Vs),"function"!=typeof Zs||"function"!=typeof Hs||!Gs)throw Vs=Zs=Hs=Gs=null,new Error("Invalid WASM module")}((await WebAssembly.instantiate(r)).instance.exports)}(t,e),Qs=!0}catch(t){throw function(t){Ks=t}(t),t}}(e,t).catch(t=>{throw Js=null,t})}return Js}}),Et({CompressionStreamFallback:Ys,DecompressionStreamFallback:Xs}),Et({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{hn as BlobReader,yn as BlobWriter,wn as Data64URIReader,dn as Data64URIWriter,Vo as ERR_AMBIGUOUS_ARCHIVE,Oo as ERR_BAD_FORMAT,Mo as ERR_CENTRAL_DIRECTORY_NOT_FOUND,ei as ERR_DUPLICATED_NAME,Lo as ERR_ENCRYPTED,Zo as ERR_ENCRYPTED_CENTRAL_DIRECTORY,jo as ERR_ENTRY_DATA_OUT_OF_BOUNDS,No as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Co as ERR_EOCDR_NOT_FOUND,_o as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Jr as ERR_HTTP_RANGE,Qr as ERR_HTTP_RESOURCE_CHANGED,Wt as ERR_INVALID_AUTHENTICATION_CODE,Ue as ERR_INVALID_CODEC_DEFINITION,Oe as ERR_INVALID_CODEC_MODULE,ri as ERR_INVALID_COMMENT,ni as ERR_INVALID_COMMENT_TYPE,Ze as ERR_INVALID_COMPRESSED_DATA,He as ERR_INVALID_CRC32,ii as ERR_INVALID_DATE,li as ERR_INVALID_ENCRYPTION_STRENGTH,oi as ERR_INVALID_ENTRY_COMMENT,ai as ERR_INVALID_ENTRY_COMMENT_TYPE,si as ERR_INVALID_ENTRY_NAME,wi as ERR_INVALID_EXTRAFIELD,pi as ERR_INVALID_EXTRAFIELD_DATA,mi as ERR_INVALID_EXTRAFIELD_DATA_TYPE,di as ERR_INVALID_EXTRAFIELD_TYPE,Ko as ERR_INVALID_FILENAME_VALIDATION,q as ERR_INVALID_FUNCTION_OPTION,zi as ERR_INVALID_GID,Ci as ERR_INVALID_LEVEL,qo as ERR_INVALID_MAX_APPENDED_DATA_SIZE,nt as ERR_INVALID_MAX_WORKERS,ki as ERR_INVALID_MSDOS_ATTRIBUTES,Oi as ERR_INVALID_MSDOS_DATA,Pt as ERR_INVALID_PASSWORD,X as ERR_INVALID_PASSWORD_TYPE,Y as ERR_INVALID_SIGNAL,Ni as ERR_INVALID_SIGNATURE_DATA,Go as ERR_INVALID_STRICTNESS,Fi as ERR_INVALID_UID,Ve as ERR_INVALID_UNCOMPRESSED_SIZE,Ii as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,Ui as ERR_INVALID_UNIX_ID_SIZE,Ti as ERR_INVALID_UNIX_MODE,ci as ERR_INVALID_VERSION,$r as ERR_ITERATOR_COMPLETED_TOO_SOON,vo as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Wo as ERR_OVERLAPPING_ENTRY,ke as ERR_RESERVED_COMPRESSION_METHOD,Po as ERR_SPLIT_ZIP_FILE,Ai as ERR_UNDEFINED_COMPRESSION_METHOD,xi as ERR_UNDEFINED_READER,gi as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Ri as ERR_UNDETERMINED_SIZE,Ho as ERR_UNSAFE_FILENAME,Ce as ERR_UNSUPPORTED_COMPRESSION,_s as ERR_UNSUPPORTED_CONTEXT,Vt as ERR_UNSUPPORTED_CRYPTO_API,Bo as ERR_UNSUPPORTED_ENCRYPTION,fi as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,ui as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Si as ERR_UNSUPPORTED_FORMAT,Yo as ERR_UNSUPPORTED_UINT64,wr as ERR_WORKER_STARTUP_TIMEOUT,tn as ERR_WRITER_NOT_INITIALIZED,Di as ERR_ZIP_NOT_EMPTY,Ln as HttpRangeReader,_n as HttpReader,un as Reader,Wn as SplitDataReader,jn as SplitDataWriter,En as TextReader,bn as TextWriter,Bn as Uint8ArrayReader,Pn as Uint8ArrayWriter,Is as VERSION,ra as WARNING_APPENDED_DATA,Qo as WARNING_COMPRESSED_PATCHED_DATA,ia as WARNING_DUPLICATE_FILENAME,$o as WARNING_MALFORMED_EXTRA_FIELD,ca as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,la as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,ua as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,sa as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,oa as WARNING_PREPENDED_CENTRAL_DIRECTORY,na as WARNING_PREPENDED_DATA,aa as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,Jo as WARNING_UNKNOWN_VERSION,ta as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Xo as WARNING_UNSORTED_CENTRAL_DIRECTORY,ea as WARNING_WRAPPED_ENTRIES_COUNT,fn as Writer,ya as ZipReader,Ea as ZipReaderStream,Pi as ZipWriter,Wi as ZipWriterStream,mt as configure,Ns as createBlobTempStream,Os as createOPFSTempStream,Ls as createSyncAccessHandleTempStream,Fs as getMimeType,Pe as getRegisteredCodecs,zs as getSupportedCompressionMethods,ba as isZipFile,_e as registerCodec,bt as resetConfiguration,$s as terminateWorkers,Le as unregisterCodec};
package/dist/zip-core.js CHANGED
@@ -8500,7 +8500,7 @@
8500
8500
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8501
8501
  */
8502
8502
 
8503
- const VERSION = "2.11.0";
8503
+ const VERSION = "2.11.1";
8504
8504
 
8505
8505
  /*
8506
8506
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.