@zip.js/zip.js 2.8.54 → 2.8.56

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