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