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