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