@zip.js/zip.js 2.11.3 → 2.12.0
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 +444 -114
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +454 -111
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +509 -236
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +522 -233
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +509 -236
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +524 -235
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +525 -236
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +456 -113
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +456 -113
- 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 +457 -114
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +524 -235
- package/index-native.min.js +1 -1
- package/index.cjs +525 -236
- package/index.d.cts +480 -59
- package/index.d.ts +480 -59
- package/index.min.js +1 -1
- package/lib/core/codec-worker-web.js +10 -2
- package/lib/core/codec-worker.js +4 -3
- package/lib/core/configuration.js +20 -5
- package/lib/core/constants.js +2 -0
- package/lib/core/io.js +20 -10
- package/lib/core/options.js +29 -0
- package/lib/core/streams/codec-stream.js +6 -0
- package/lib/core/util/warnings.js +42 -0
- package/lib/core/version.js +1 -1
- package/lib/core/web-worker-base.js +4 -3
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-entry.js +49 -1
- package/lib/core/zip-fs.js +43 -134
- package/lib/core/zip-reader.js +108 -47
- package/lib/core/zip-writer.js +238 -54
- package/lib/zip-core-base.js +9 -3
- package/lib/zip-core-reader.js +2 -0
- package/lib/zip-core-writer.js +6 -1
- package/lib/zip-module-wasm-base.js +2 -2
- package/package.json +5 -3
package/dist/zip-fs-core.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:u,Response:l,URL:d,Error:f,Uint8Array:w,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:b,TextDecoder:g,document:E,crypto:z,btoa:x,TransformStream:R,ReadableStream:D,WritableStream:F,CompressionStream:A,DecompressionStream:k,navigator:C,Worker:I,Symbol:T,setTimeout:v,clearTimeout:_,structuredClone:N}="undefined"!=typeof globalThis?globalThis:self;var U=void 0!==E?E.currentScript:null;const O=4294967295,M=65535,L=255,B=67324752,W=134695760,P=W,Z=84233040,H=33639248,V=101010256,G=101075792,j=117853008,q=46,K=22,Y=20,X=56,J=39169,Q=21589,$=6534,tt=30837,et=30805,nt=2048,rt=61440,ot=16384,it=2048,st=1024,at="/",ct=30,ut=new a(2107,11,31,23,59,58),lt=new a(1980,0,1),dt=void 0,ft=1/0,wt="undefined",pt="function",ht="object",mt="string",yt=new w,St="password",bt="rawPassword",gt="passThrough",Et="signal",zt="useWebWorkers",xt="useCompressionStream",Rt="transferStreams",Dt="preventClose",Ft="dataDescriptor",At="offset",kt="usdz",Ct="maxAppendedDataSize",It="signCentralDirectory",Tt="filename",vt="comment",_t="strict",Nt="balanced",Ut="tolerant",Ot="Invalid option (must be a function)",Mt="Invalid signal (must be an AbortSignal instance)",Lt="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Bt(t){if(t&&typeof t!=pt)throw new f(Ot);return t}function Wt(t){if(t&&(typeof t.addEventListener!=pt||"boolean"!=typeof t.aborted))throw new f(Mt);return t||dt}function Pt(t,e){if(t&&typeof t!=mt||e&&!(e instanceof w))throw new f(Lt)}function Zt(t,e,n){if(!o.isInteger(t)||t<0||t>e)throw new f(n)}function Ht(t,e,n){t!==dt&&Zt(t,e,n)}function Vt(t){return typeof t==mt&&t.trim()?o(t):t}const Gt="Invalid maxWorkers (must be an integer greater than 0)";let jt=2;try{typeof C!=wt&&C.hardwareConcurrency&&(jt=C.hardwareConcurrency)}catch{}const qt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:jt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=wt&&A,DecompressionStream:typeof k!=wt&&k},Kt="maxWorkers",Yt=["chunkSize",Kt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Xt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Jt=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Yt,...Xt],Qt={...qt};function $t(){return Qt}function te(t){return ee(t.chunkSize)}function ee(t){return t=Vt(t),o.isInteger(t)&&t>=1?s.max(t,64):65536}function ne(t){const e={};for(const n of Jt){const r=t[n];r!==dt&&(e[n]=re(n,r))}return e}function re(t,e){if(Yt.includes(t)){if(e=Vt(e),t==Kt&&(!o.isInteger(e)||e<1))throw new f(Gt)}else Xt.includes(t)&&Bt(e);return e}function oe(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===dt&&r===dt)return t;const o=n.assign({},t);return o.CompressionStreamFallback===dt&&(o.CompressionStreamFallback=e),o.DecompressionStreamFallback===dt&&(o.DecompressionStreamFallback=r),o}function ie(t,e){const n=new w(t.length+e.length);return n.set(t),n.set(e,t.length),n}function se(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new w(t):t}function ae(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const ce=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;ce[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const n=ce[e-1][t];ce[e][t]=n>>>8^ce[0][255&n]}const[ue,le,de,fe,we,pe,he,me]=ce;class ye{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const o=new m(t.buffer,t.byteOffset,n),i=n-8;for(;r<=i;r+=8){const t=e^o.getInt32(r,!0),n=o.getInt32(r+4,!0);e=me[255&t]^he[t>>>8&255]^pe[t>>>16&255]^we[t>>>24&255]^fe[255&n]^de[n>>>8&255]^le[n>>>16&255]^ue[n>>>24&255]}}for(;r<n;r++)e=e>>>8^ue[255&(e^t[r])];this.o=e}get(){return~this.o}}class Se extends R{constructor(){let t;const e=new ye;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new w(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function be(t){if(typeof b==wt){t=unescape(encodeURIComponent(t));const e=new w(t.length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)}const ge={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=ge.l(n);return 32===r?t.concat(e):ge.h(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+ge.l(n)},m(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,s.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=ge.S(e,t[n-1]&2147483648>>e-1,1)),t},S:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,l:t=>s.round(t/1099511627776)||32,h(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let o=0;o<t.length;o++)r.push(n|t[o]>>>e),n=t[o]<<32-e;const o=t.length?t[t.length-1]:0,i=ge.l(o);return r.push(ge.S(e+i&31,e+i>32?n:r.pop(),1)),r}},Ee={bytes:{R(t){const e=ge.bitLength(t)/8,n=new w(e);let r;for(let o=0;o<e;o++)3&o||(r=t[o/4]),n[o]=r>>>24,r<<=8;return n},D(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(ge.S(8*(3&n),r)),e}}},ze=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.A=[1518500249,1859775393,2400959708,3395469782],t?(e.C=t.C.slice(0),e.I=t.I.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.C=t.F.slice(0),t.I=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=Ee.v.D(t));const n=e.I=ge.concat(e.I,t),r=e.T,o=e.T=r+ge.bitLength(t);if(o>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let s=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);t<=o;t+=e.blockSize)e._(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e}N(){const t=this;let e=t.I;const n=t.C;e=ge.concat(e,[ge.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(s.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t._(e.splice(0,16));return t.reset(),n}U(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0}O(t,e){return e<<t|e>>>32-t}_(t){const n=this,r=n.C,o=e(80);for(let e=0;e<16;e++)o[e]=t[e];let i=r[0],a=r[1],c=r[2],u=r[3],l=r[4];for(let t=0;t<=79;t++){t>=16&&(o[t]=n.O(1,o[t-3]^o[t-8]^o[t-14]^o[t-16]));const e=n.O(5,i)+n.U(t,a,c,u)+l+o[t]+n.A[s.floor(t/20)]|0;l=u,u=c,c=n.O(30,a),a=i,i=e}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0}},xe={importKey:t=>new xe.M(Ee.bytes.D(t)),L(t,e,n,r){if(n=n||1e4,r<0||n<0)throw new f("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,u;const l=new ArrayBuffer(o),d=new m(l);let w=0;const p=ge;for(e=Ee.bytes.D(e),u=1;w<(o||1);u++){for(i=s=t.encrypt(p.concat(e,[u])),a=1;a<n;a++)for(s=t.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)d.setInt32(w,i[a]),w+=4}return l.slice(0,r/8)},M:class{constructor(t){const e=this,n=e.B=ze,r=[[],[]];e.W=[new n,new n];const o=e.W[0].blockSize/32;t.length>o&&(t=(new n).update(t).N());for(let e=0;e<o;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.W[0].update(r[0]),e.W[1].update(r[1]),e.P=new n(e.W[0])}reset(){const t=this;t.P=new t.B(t.W[0]),t.Z=!1}update(t){this.Z=!0,this.P.update(t)}digest(){const t=this,e=t.P.N(),n=new t.B(t.W[1]).update(e).N();return t.reset(),n}encrypt(t){if(this.Z)throw new f("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Re=typeof z!=wt&&typeof z.getRandomValues==pt,De="Invalid password",Fe="Invalid authentication code",Ae="zipjs-abort-check-password",ke="Crypto API not supported";function Ce(t){if(Re)return z.getRandomValues(t);throw new f(ke)}const Ie=16,Te={name:"PBKDF2"},ve=n.assign({hash:{name:"HMAC"}},Te),_e=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Te),Ne=["deriveBits"],Ue=[8,12,16],Oe=[16,24,32],Me=10,Le=[0,0,0,0],Be=typeof z!=wt,We=Be&&z.subtle,Pe=Be&&typeof We!=wt,Ze=Ee.bytes,He=class{constructor(t){const e=this;e.H=[[[],[],[],[],[]],[[],[],[],[],[]]],e.H[0][0][0]||e.V();const n=e.H[0][4],r=e.H[1],o=t.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new f("invalid aes key size");for(e.A=[s=t.slice(0),a=[]],i=o;i<4*o+28;i++){let t=s[i-1];(i%o===0||8===o&&i%o===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],i%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^t}for(let t=0;i;t++,i--){const e=s[3&t?i:i-4];a[t]=i<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.G(t,0)}decrypt(t){return this.G(t,1)}V(){const t=this.H[0],e=this.H[1],n=t[4],r=e[4],o=[],i=[];let s,a,c,u;for(let t=0;t<256;t++)i[(o[t]=t<<1^283*(t>>7))^t]=t;for(let l=s=0;!n[l];l^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,u=o[c=o[a=o[l]]];let d=16843009*u^65537*c^257*a^16843008*l,f=257*o[i]^16843008*i;for(let n=0;n<4;n++)t[n][l]=f=f<<24^f>>>8,e[n][i]=d=d<<24^d>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}G(t,e){if(4!==t.length)throw new f("invalid aes block size");const n=this.A[e],r=n.length/4-2,o=[0,0,0,0],i=this.H[e],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4];let d,w,p,h=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],S=t[e?1:3]^n[3],b=4;for(let t=0;t<r;t++)d=s[h>>>24]^a[m>>16&255]^c[y>>8&255]^u[255&S]^n[b],w=s[m>>>24]^a[y>>16&255]^c[S>>8&255]^u[255&h]^n[b+1],p=s[y>>>24]^a[S>>16&255]^c[h>>8&255]^u[255&m]^n[b+2],S=s[S>>>24]^a[h>>16&255]^c[m>>8&255]^u[255&y]^n[b+3],b+=4,h=d,m=w,y=p;for(let t=0;t<4;t++)o[e?3&-t:t]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&S]^n[b++],d=h,h=m,m=y,y=S,S=d;return o}},Ve=class{constructor(t,e){this.j=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.j,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,n){let r;if(!(r=e.length))return[];const o=ge.bitLength(e);for(let o=0;o<r;o+=4){this.$(n);const r=t.encrypt(n);e[o]^=r[0],e[o+1]^=r[1],e[o+2]^=r[2],e[o+3]^=r[3]}return ge.m(e,o)}},Ge=xe.M;let je=Be&&Pe&&typeof We.importKey==pt,qe=Be&&Pe&&typeof We.deriveBits==pt;class Ke extends R{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Xe(this,t,e,n)},async transform(t,e){const n=this,{password:o,strength:i,et:s,ready:a}=n;o?(await async function(t,e,n,r){const o=await Qe(t,e,n,tn(r,0,Ue[e])),i=tn(r,Ue[e]);if(o[0]!=i[0]||o[1]!=i[1])throw new f(De)}(n,i,o,tn(t,0,Ue[i]+2)),t=tn(t,Ue[i]+2),r?e.error(new f(Ae)):s()):await a;const c=new w(t.length-Me-(t.length-Me)%Ie);e.enqueue(Je(n,t,c,0,Me,!0))},async flush(t){const{nt:e,ot:n,it:r,ready:i}=this;if(n&&e){await i;const s=tn(r,0,r.length-Me),a=tn(r,r.length-Me);let c=yt;if(s.length){const t=nn(Ze,s);n.update(t);const r=e.update(t);c=en(Ze,r)}const u=tn(en(Ze,n.digest()),0,Me);let l=r.length<Me?1:0;for(let t=0;t<Me;t++)l|=u[t]^a[t];if(l&&o)throw new f(Fe);t.enqueue(c)}}})}}class Ye extends R{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){Xe(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:o,et:i,ready:s}=n;let a=yt;r?(a=await async function(t,e,n){const r=Ce(new w(Ue[e]));return ie(r,await Qe(t,e,n,r))}(n,o,r),i()):await s;const c=new w(a.length+t.length-t.length%Ie);c.set(a,0),e.enqueue(Je(n,t,c,a.length,0))},async flush(t){const{nt:e,ot:n,it:r,ready:o}=this;if(n&&e){await o;let i=yt;if(r.length){const t=e.update(nn(Ze,r));n.update(t),i=en(Ze,t)}const s=en(Ze,n.digest()).slice(0,Me);t.enqueue(ie(i,s))}}})}}function Xe(t,e,r,o){n.assign(t,{ready:new S(e=>t.et=e),password:$e(e,r),strength:o-1,it:yt})}function Je(t,e,n,r,o,i){const{nt:s,ot:a,it:c}=t;c.length&&(e=ie(c,e));const u=e.length-o;let l;for(n=function(t,e){if(e&&e>t.length){const n=t;(t=new w(e)).set(n,0)}return t}(n,r+(u-u%Ie)),l=0;l<=u-Ie;l+=Ie){const t=nn(Ze,tn(e,l,l+Ie));i&&a.update(t);const o=s.update(t);i||a.update(o),n.set(en(Ze,o),l+r)}return t.it=tn(e,l),n}async function Qe(t,r,o,i){t.password=null;const s=await async function(t,e,n,r,o){if(!je)return xe.importKey(e);try{return await We.importKey("raw",e,n,!1,o)}catch{return je=!1,xe.importKey(e)}}(0,o,ve,0,Ne),a=await async function(t,e,n){if(!qe)return xe.L(e,t.salt,_e.iterations,n);try{return await We.deriveBits(t,e,n)}catch{return qe=!1,xe.L(e,t.salt,_e.iterations,n)}}(n.assign({salt:i},_e),s,8*(2*Oe[r]+2)),c=new w(a),u=nn(Ze,tn(c,0,Oe[r])),l=nn(Ze,tn(c,Oe[r],2*Oe[r])),d=tn(c,2*Oe[r]);return n.assign(t,{keys:{key:u,st:l,passwordVerification:d},nt:new Ve(new He(u),e.from(Le)),ot:new Ge(l)}),d}function $e(t,e){return e===dt?be(t):e}function tn(t,e,n){return t.subarray(e,n)}function en(t,e){return t.R(e)}function nn(t,e){return t.D(e)}class rn extends R{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){sn(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=an(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new f(De);t=t.subarray(12)}r?e.error(new f(Ae)):e.enqueue(an(n,t))}})}}class on extends R{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){sn(this,t,e,n)},transform(t,e){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=Ce(new w(12));e[11]=n.passwordVerification,r=new w(t.length+e.length),r.set(cn(n,e),0),o=12}else r=new w(t.length),o=0;r.set(cn(n,t),o),e.enqueue(r)}})}}function sn(t,e,r,o){n.assign(t,{password:e,rawPassword:r,passwordVerification:o}),function(t,e,r){const o=[305419896,591751049,878082192];if(n.assign(t,{keys:o,ct:new ye(o[0]),ut:new ye(o[2])}),r)for(let e=0;e<r.length;e++)un(t,r[e]);else for(let n=0;n<e.length;n++)un(t,e.charCodeAt(n))}(t,e,r)}function an(t,e){const n=new w(e.length);for(let r=0;r<e.length;r++)n[r]=ln(t)^e[r],un(t,n[r]);return n}function cn(t,e){const n=new w(e.length);for(let r=0;r<e.length;r++)n[r]=ln(t)^e[r],un(t,e[r]);return n}function un(t,e){let[,n]=t.keys;t.ct.append([e]);const r=~t.ct.get();n=fn(s.imul(fn(n+dn(r)),134775813)+1),t.ut.append([n>>>24]);const o=~t.ut.get();t.keys=[r,n,o]}function ln(t){const e=2|t.keys[2];return dn(s.imul(e,1^e)>>>8)}function dn(t){return 255&t}function fn(t){return 4294967295&t}function wn(t){if(t instanceof D)return t;const e=t.getReader();return new D({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function pn(t,e){t=wn(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=pt||new y([]).stream()instanceof D)return new l(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new F({write(t){r.push(t)}})).then(()=>new y(r,n))}function hn(t){if(t instanceof F)return t;const e=t.getWriter();return new F({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const mn="Invalid codec definition",yn="Reserved compression method",Sn="Invalid codec module",bn="Compression method not supported",gn=[0,8,9,99],En=new c,zn=new c;function xn(t){return En.get(t)}function Rn(){return e.from(En.values(),t=>n.assign({},t,zn.get(t.format)))}function Dn(t){return zn.get(t)}function Fn(t,e){const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=pt&&typeof r!=pt)throw new f(Sn);zn.set(t,{CompressionStream:n,DecompressionStream:r})}const An="Invalid uncompressed size",kn="Invalid compressed data",Cn="Invalid CRC32",In="deflate-raw",Tn="deflate64-raw",vn="gzip",_n=[31,139,8];class Nn extends R{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:d,compressionMethod:f,inputSize:w}=t,p=this;let h,y,S,b=super.readable;const g=d&&Dn(d),E=c&&o&&!l&&!g&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||E||(h=new Se,b=Hn(b,h)),o)if(g)b=Vn(b,Pn(g.CompressionStream,d,{level:u,chunkSize:e,compressionMethod:f,uncompressedSize:w}));else if(E)S=new Un,b=Vn(b,new r(vn)),b=Hn(b,S);else try{b=Zn(b,s,{level:u,chunkSize:e},r,n)}catch(t){let e;try{e=new r(vn)}catch{throw t}b=Vn(b,e),b=Hn(b,new Un)}i&&(a?b=Hn(b,new on(t)):(y=new Ye(t),b=Hn(b,y))),Wn(p,b,()=>{i&&!a||!c||(p.crc32=E?S.crc32:new m(h.value.buffer).getUint32(0))})}}class Un extends R{constructor(){let t,e=10,n=new w(0);super({transform(t,r){if(e){const n=s.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const o=n.length+t.length;if(o<=8)return void(n=ie(n,t));const i=o-8,a=s.min(i,n.length);r.enqueue(ie(n.subarray(0,a),t.subarray(0,i-a))),n=ie(n.subarray(a),t.subarray(i-a))},flush(){const e=ae(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class On extends R{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:d,compressionMethod:p,rawBitFlag:h,outputSize:y}=t;let b,g,E=super.readable;if(i&&(o?E=Hn(E,new rn(t)):(g=new Ke(t),E=Hn(E,g))),c){const t=d&&Dn(d);if(t)E=Vn(E,Pn(t.DecompressionStream,d,{chunkSize:e,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{E=Zn(E,u,{chunkSize:e,deflate64:l},r,n)}catch(t){if(l||y===dt)throw t;let e;try{e=new r(vn)}catch{throw t}E=function(t,e,n){const r=new ye;let o,i,s,a=0,c=!1;const u=new S((t,e)=>{i=t,s=e});u.catch(()=>{}),n||i();const l=new R({start(t){const e=new w(10);e.set(_n),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,p();try{await u}finally{h()}const e=new w(8),o=ae(e);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),t.enqueue(e)},cancel(t){s(t)}}),d=new R({transform(t,e){r.append(t),a+=t.length,a>=n?i():c&&p(),e.enqueue(t)},cancel(t){s(t)}});return t=Hn(t,l),Hn(t=Vn(t,e),d);function p(){h(),o=v(()=>s(new f(An)),5e3)}function h(){_(o)}}(E,e,y)}E=function(t){const e=t.getReader();return new D({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new f(kn);throw e.cause=t,e}const{value:r,done:o}=n;o?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}(E)}s&&(b=new Se,E=Hn(E,b)),Wn(this,E,()=>{if(s){const t=new m(b.value.buffer);if(a!=t.getUint32(0,!1))throw new f(Cn)}})}}const Mn=new c;function Ln(t,e){if(!t)return!1;let n=Mn.get(t);n||(n=new c,Mn.set(t,n));let r=n.get(e);if(r===dt){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function Bn(t){return Ln(t,In)}function Wn(t,e,r){e=Hn(e,new R({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function Pn(t,e,n){if(!t)throw new f(bn);return new t(e,n)}function Zn(t,e,n,r,o){const i=e&&r?r:o||r,s=n.deflate64?Tn:In;let a;try{a=new i(s,n)}catch(t){if(!e||!o||i==o)throw t;a=new o(s,n)}return Vn(t,a)}function Hn(t,e){return wn(t).pipeThrough(e)}function Vn(t,e){const n=e.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(n,t),await async function(t,e){try{await t.cancel(e)}catch{}}(r,t)}}(),e.readable}const Gn="data",jn="deflate",qn="inflate";class Kn extends R{constructor(t,e){super({});const r=this,{codecType:o}=t;let i;o.startsWith(jn)?i=Nn:o.startsWith(qn)&&(i=On),r.outputSize=0;let s=0;const a=new i(t,e),c=super.readable,u=new R({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:s})}}),l=new R({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==dt&&r.outputSize>t.outputSize))throw new f(An)},flush(){const{crc32:t}=a;n.assign(r,{crc32:t,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class Yn extends R{constructor(t){const e=[];let n=0;function r(){const r=new w(t);let o=0;for(;o<t;){const n=e[0],i=t-o;n.length<=i?(r.set(n,o),o+=n.length,e.shift()):(r.set(n.subarray(0,i),o),e[0]=n.subarray(i),o+=i)}return n-=t,r}(!o.isFinite(t)||t<1)&&(t=65536),super({transform(o,i){for(e.push(o),n+=o.length;n>t;)i.enqueue(r())},flush(t){n&&t.enqueue(function(t,e){const n=new w(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}(e,n))}})}}const Xn="Worker startup timeout";let Jn,Qn,$n;async function tr(t){const{CompressionStream:e,CompressionStreamFallback:n}=t;if(n&&!n.lt)return!0;if(Bn(e)||Ln(e,vn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}function er(t){t.createWorker?Qn=!0:Jn=!1}class nr{constructor(t,{readable:e,writable:r},{options:o,config:i,ft:s,useWebWorkers:a,transferStreams:c,workerURI:u,createWorker:l},d){const{signal:f}=s;return Qn&&(l=dt),n.assign(t,{wt:!0,ht:(t.ht||0)+1,readable:e.pipeThrough(new Yn(te(i))).pipeThrough(new rr(s),{signal:f}),writable:r,options:n.assign({},o),workerURI:u,createWorker:l,transferStreams:c,terminate:()=>new S(e=>{const{yt:n,wt:r}=t;n?(r?t.St=e:(n.terminate(),e()),t.bt=null):e()}),gt(){if(t.wt){const{St:e}=t;e&&(t.St=null,t.Et=!0,t.yt.terminate(),e()),t.wt=!1,d(t)}}}),Jn===dt&&(Jn=typeof I!=wt),(a&&$n&&(Jn&&u||l)?$n:ir)(t,i)}}class rr extends R{constructor({onstart:t,onprogress:e,size:n,onend:r}){let o=0;super({async start(){t&&await or(t,n)},async transform(t,r){o+=t.length,e&&await or(e,o,n),r.enqueue(t)},async flush(){r&&await or(r,o)}})}}async function or(t,...e){try{await t(...e)}catch{}}function ir(t,e){return{run:()=>sr(t,e)}}async function sr({options:t,readable:e,writable:n,gt:r},o){let i;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(jn),n=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(n&&n.lt&&!Bn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.lt||(t.useCompressionStream=!0)}}i=new Kn(t,o),await e.pipeThrough(i).pipeThrough(new Yn(te(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(t){throw i&&(t.outputSize=i.outputSize),t}finally{r()}}const ar={type:"module"},cr="error";let ur,lr,dr,fr=!0;try{fr=typeof N==pt&&N(new DOMException("","AbortError")).code!==dt}catch{}var wr;function pr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function hr(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function mr(t,e,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(lr===dt||ur!==t){const n=typeof t==pt;c=n?t(i):t;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===dt&&(o=!1),o&&(u=ar);try{a=new I(c,u)}catch(i){if(l)try{d.revokeObjectURL(c)}catch{}if(n&&l)return mr(t,e,r,o,!1);if(o)throw i;return mr(t,e,r,!0,!1)}}else{o===dt&&(o=!0),o&&(u=ar);try{c=new d(c,e)}catch{}try{a=new I(c,u)}catch(n){if(o)return mr(t,e,r,!1,i);throw n}}ur=t,lr=c,dr=u}else a=new I(lr,dr);return a.addEventListener("message",t=>{r.zt=!0,yr(r),async function({data:t},e){const{type:r,value:o,messageId:i,result:s,error:a}=t,{reader:c,writer:u,xt:l,Rt:d,gt:p,ht:h}=e,m=()=>e.ht!=h;try{if(a){const{message:t,stack:e,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,u=new f(t);n.assign(u,{stack:e,code:r,name:o,outputSize:i}),s&&(u.cause=n.assign(new f(s.message),{name:s.name})),c&&(u.codecImportFailed=!0),y(u)}else{if("pull"==r){const{value:t,done:n}=await c.read();m()||br({type:Gn,value:t,done:n,messageId:i},e)}r==Gn&&(await u.ready,await u.write(new w(o)),m()||br({type:"ack",messageId:i},e)),"close"==r&&y(null,s)}}catch(a){m()||(hr(e),y(a))}function y(t,e){m()||(t?d(t):l(e),u&&u.releaseLock(),t&&t.codecImportFailed||p())}}(t,r)}),a.addEventListener(cr,t=>Sr(t,r)),a.addEventListener("messageerror",t=>Sr(t,r)),a}function yr(t){const{Dt:e}=t;e&&(_(e),t.Dt=null)}function Sr(t,e){t.preventDefault&&t.preventDefault(),yr(e);const{zt:r,Rt:o,writer:i,gt:s}=e;hr(e),r||(e.yt=null);let a=t.error||new f(t.message||cr);r||(a=n.assign(new f(a.message||cr),{Ft:!0}),e.At=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function br(t,{yt:e,writer:n,transferStreams:r,zt:o}){try{const{value:n,readable:i,writable:s}=t,a=[];if(n&&(t.value=se(n),a.push(t.value.buffer)),r&&fr&&o?(i&&a.push(i),s&&a.push(s)):t.readable=t.writable=null,a.length)try{return e.postMessage(t,a),!0}catch{fr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw n&&n.releaseLock(),t}}wr=function(t,e){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=e;let{wasmURI:a}=e;if(!t.bt){let c;typeof a==pt&&(a=a());try{c=mr(t.workerURI,r,t)}catch{return er(t),ir(t,e)}n.assign(t,{yt:c,zt:!1,Et:!1,At:null,bt:{run:async()=>{try{return await async function(t,e){if(!t.yt){const{At:e}=t;t.At=null;const n=e||new f(Xn);throw n.Ft=!0,n}let r,i;const s=new S((t,e)=>{r=t,i=e});n.assign(t,{reader:null,writer:null,xt:r,Rt:i,result:s});const{readable:a,options:c}=t,{writable:u,closed:l,kt:d}=function(t){const e=new AbortController,{writable:n,readable:r}=new R,o=r.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return o.catch(()=>{}),{writable:n,closed:o,kt:()=>e.abort()}}(t.writable);let w;try{w=br({type:"start",options:c,config:e,readable:a,writable:u},t)}catch(e){d();try{await l}catch{}throw t.gt(),e}w||n.assign(t,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=e;!t.zt&&o.isFinite(p)&&p>=0&&(t.Dt=v(()=>function(t){if(t.Dt=null,t.zt)return;const{Rt:e,writer:n}=t;if(hr(t),t.yt=null,e){const t=new f(Xn);t.Ft=!0,e(t),n&&n.releaseLock()}}(t),p));try{const t=await s;return await h(),await l,t}catch(t){await h(),d();try{await l}catch{}throw t}async function h(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(t,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.Ft)return er(t),pr(t),sr(t,e);if(n&&n.codecImportFailed){if(t.reader)return pr(t),sr(t,e);t.gt()}throw n}}}})}return t.bt},$n=wr;let gr=[];const Er=[];let zr,xr,Rr=0;async function Dr(t,e){const{options:n,config:r}=e,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:f,format:w,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(t,e){try{return new d(t,e).toString()}catch{return t}}(p,r.baseURI)),await async function(t,e){!zn.has(t)&&e&&Fn(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(w,n.codecURI)),e.transferStreams=!w&&(i||i===dt&&r.transferStreams);const b=!(c||u||l||f),g=w===dt||Boolean(n.codecURI);return e.useWebWorkers=!b&&g&&(s||s===dt&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:dt,e.createWorker=e.useWebWorkers&&m?m:dt,n.useCompressionStream=a||a===dt&&r.useCompressionStream,(await async function(){const n=gr.find(t=>!t.wt);if(n)return Ir(n),new nr(n,t,e,E);if(gr.length<y){const n={Ct:Rr};return Rr++,gr.push(n),new nr(n,t,e,E)}return new S(n=>{Er.push({resolve:n,stream:t,It:e}),xr=r.workerStarvationTimeout,Fr()})}()).run();function E(t){if(Ar(),Er.length){const[{resolve:e,stream:n,It:r}]=Er.splice(0,1);e(new nr(t,n,r,E)),Fr()}else t.yt?(Ir(t),function(t,e){const{config:n}=e,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(t.Et?t.Et=!1:t.Tt=v(async()=>{gr=gr.filter(e=>e!=t);try{await t.terminate()}catch{}},r))}(t,e)):gr=gr.filter(e=>e!=t)}}function Fr(){!zr&&Er.length&&o.isFinite(xr)&&xr>=0&&(zr=v(kr,xr))}function Ar(){zr&&(_(zr),zr=null)}function kr(){if(zr=null,Er.length){const[{resolve:t,stream:e,It:r}]=Er.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:dt,createWorker:dt});t(new nr({},e,o,Cr)),Fr()}}function Cr(){Ar(),Fr()}function Ir(t){const{Tt:e}=t;e&&(_(e),t.Tt=null)}const Tr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function vr(t,e){return _r(t,e,!0)}function _r(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let n=0;n<t.length;n++)e+=Tr[t[n]];return e}(t):new g(e,{ignoreBOM:n}).decode(t)}const Nr="HTTP error ",Ur="HTTP Range not supported",Or="HTTP resource changed",Mr="Writer iterator completed too soon",Lr="Writer not initialized",Br="Content-Range",Wr="Range",Pr="GET",Zr="bytes",Hr=16777216,Vr="writable",Gr=T();class jr{constructor(){this.size=0}init(){this.initialized=!0}}class qr extends jr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=te($t())}={}){const r=this;let o=0;return n=ee(n),new D({async pull(i){const a=e===dt?n:s.min(n,e-o),c=await vo(r,t+o,a);c.length&&(i.enqueue(c),o+=c.length),(e!==dt&&o>=e||!c.length&&a)&&i.close()}})}}class Kr extends jr{constructor(){super();const t=this,e=new F({write(e){if(!t.initialized)throw new f(Lr);return t.writeUint8Array(se(e))}});n.defineProperty(t,Vr,{get:()=>e})}writeUint8Array(){}}class Yr extends qr{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;n.assign(this,{vt:t,_t:r,size:s.floor(.75*(e-r))})}readUint8Array(t,e){const{_t:n,vt:r}=this,o=new w(e),i=4*s.floor(t/3),a=atob(r.substring(i+n,4*s.ceil((t+e)/3)+n)),c=t-3*s.floor(i/4);let u=0;for(let t=c;t<c+e&&t<a.length;t++)o[t-c]=a.charCodeAt(t),u++;return u<o.length?o.subarray(0,u):o}}class Xr extends Kr{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Nt:""})}writeUint8Array(t){const e=this;let n,o=e.Nt;const i=e.Nt.length;for(e.Nt="",n=0;n<3*s.floor((i+t.length)/3)-i;n++)o+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.Nt+=r.fromCharCode(t[n]);o.length>2?e.data+=x(o):e.Nt=o+e.Nt}getData(){return this.data+x(this.Nt)}}let Jr,Qr;class $r extends qr{constructor(t){super(),n.assign(this,{Ut:t,size:t.size}),Qr||(Qr=(async()=>{try{const t=new y([new w(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();Jr=1==e}catch{Jr=!1}})())}createReadable(t){const{Ut:e,size:n}=this,{offset:r=0,size:o=n-r}=t||{};return!r&&o>=n?wn(e.stream()):Jr?wn(e.slice(r,r+o).stream()):super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,o=!t&&r>=n.size?n.Ut:n.Ut.slice(t,r);let i=await o.arrayBuffer();return i.byteLength>e&&(i=i.slice(t,r)),new w(i)}}class to extends jr{constructor(t){super();const e=this,r=new R;n.defineProperty(e,Vr,{get:()=>r.writable}),e.contentType=t,e.Ot=pn(r.readable,t),e.Ot.catch(()=>{})}getData(){return this.Ot}}class eo extends $r{constructor(t){super(new y([t],{type:"text/plain"}))}}function no(t){let e=0;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);r<128?e+=1:r<2048?e+=2:r<55296||r>=57344?e+=3:r<56320&&56320==(64512&t.charCodeAt(n+1))?(e+=4,n++):e+=3}return e}class ro extends to{constructor(t){super(),n.assign(this,{encoding:t,Mt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Mt:e}=this,n=await super.getData();return n.text&&e?n.text():function(t,e){return _r(t,e,!1)}(new w(await n.arrayBuffer()),t)}}class oo extends qr{constructor(t,e){super(),so(this,t,e)}async init(){await ao(this,go,mo),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=e;if((n||r)&&i!==dt){const{offset:n=0,size:r=i-n}=t||{};if(r>0&&n<i)return function(t,e,n){let r,i=e,a=0,c=n;return new D({start:()=>u(),async pull(t){r||await u();const{value:e,done:n}=await r.read();if(n)throw new f(Ur);const o=e.length>a?e.subarray(0,a):e;a-=o.length,c-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=r;r=dt,await t.cancel()}(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function u(){const e=s.min(t.maximumRangeSize,c),n=await go(Pr,t,po(t,i,e));if(206!=n.status)throw new f(Ur);const u=n.headers.get(Br);if(u){const t=o(u.trim().split(/[\s-]+/)[1]);if(!o.isNaN(t)&&t!=i)throw new f(Ur)}wo(t,n),fo(t,n),i+=e,a=e,r=n.body.getReader()}}(e,n,s.min(r,i-n))}return super.createReadable(t)}readUint8Array(t,e){return co(this,t,e,go,mo)}}class io extends qr{constructor(t,e){super(),so(this,t,e)}async init(){await ao(this,Eo,yo),super.init()}readUint8Array(t,e){return co(this,t,e,Eo,yo)}}function so(t,e,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=Hr,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function ao(t,e,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=t;if(function(t){const{baseURI:e}=$t(),{protocol:n}=new d(t,e);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==wt||o)){const r=await e(Pr,t,po(t,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Zr))throw new f(Ur);{if(a){const e=new w(await r.arrayBuffer());206==r.status&&e.length==K&&(t.Lt=e)}fo(t,r);const o=uo(r);o===dt?await bo(t,e,n):t.size=o}}else await bo(t,e,n)}async function co(t,e,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,Lt:c,size:u,options:l}=t;if(s||a){if(c&&e==u-K&&n==K)return c;if(e>=u||0===n)return yt;{e+n>u&&(n=u-e);const i=await r(Pr,t,po(t,e,n));if(206!=i.status)throw new f(Ur);const s=i.headers.get(Br);if(s){const t=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(t)&&t!=e)throw new f(Ur)}wo(t,i),fo(t,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new f(Ur);return a}}{const{data:r}=t;return r||await i(t,l),t.data.subarray(e,e+n)}}function uo(t){const e=t.headers.get(Br);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=o(t);if(!o.isNaN(e))return e}}}function lo({headers:t}){return{Bt:t.get("Etag")||dt,lastModified:t.get("Last-Modified")||dt}}function fo(t,e){const{checkResourceChanges:n,Wt:r}=t;n&&!r&&206==e.status&&(t.Wt=lo(e))}function wo(t,e){const{checkResourceChanges:r,Wt:o,size:i}=t;if(r){const t=uo(e);if(t!==dt&&i!==dt&&t!=i)throw new f(Or);if(o){const t=lo(e);if(n.entries(o).some(([e,n])=>n!==dt&&t[e]!==dt&&n!=t[e]))throw new f(Or)}}}function po(t,e=0,r=1){return n.assign({},ho(t),{[Wr]:Zr+"="+(e<0?e:e+"-"+(e+r-1))})}function ho({options:t}){const{headers:e}=t;if(e)return T.iterator in e?n.fromEntries(e):e}async function mo(t){await So(t,go)}async function yo(t){await So(t,Eo)}async function So(t,e){const n=await e(Pr,t,ho(t));t.data=new w(await n.arrayBuffer()),t.size=t.data.length}async function bo(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,ho(t)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?t.size=o(i):await n(t,t.options)}}async function go(t,{fetch:e=fetch,options:r,url:o},i){const s=await e(o,n.assign({},r,{method:t,headers:i}));if(s.status<400)return s;throw 416==s.status?new f(Ur):new f(Nr+(s.statusText||s.status))}function Eo(t,{url:e},r){return new S((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(t)})}else i(416==s.status?new f(Ur):new f(Nr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>i(t.detail?t.detail.error:new f("Network error")),!1),s.open(t,e),r)for(const t of n.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class zo extends qr{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new io(t,e):new oo(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class xo extends qr{constructor(t){super(),t=new w(t.buffer,t.byteOffset,t.byteLength),n.assign(this,{Pt:t,size:t.length})}readUint8Array(t,e){return this.Pt.slice(t,t+e)}}class Ro extends Kr{constructor(t){super(),this.Zt=t||262144}init(t=0){n.assign(this,{offset:0,Pt:new w(t>0?t:this.Zt)}),super.init()}writeUint8Array(t){const e=this,n=e.offset+t.length;if(n>e.Pt.length){let t=e.Pt.length?2*e.Pt.length:e.Zt;for(;t<n;)t*=2;const r=e.Pt;e.Pt=new w(t),e.Pt.set(r)}e.Pt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Pt.length?this.Pt:this.Pt.slice(0,this.offset)}}class Do extends qr{constructor(t){super(),this.Ht=t}async init(){const t=this;t.Vt=0;const e=t.Ht=await S.all(t.Ht.map(To));t.Gt=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}jt(t){const{Gt:e,size:n}=this,r=e[t];return r===dt?n:r}async readUint8Array(t,e){const n=this,{Ht:r}=this;let o,i=0,a=t;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+e<=r)o=await vo(c,a,e);else{const i=r-a;o=ie(await vo(c,a,i),await n.readUint8Array(t+i,e-i))}}else o=yt;return n.Vt=s.max(i,n.Vt),o}}class Fo extends jr{constructor(t,e=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const a=new F({async write(e){if(e===Gr)return void(s&&await u());const{availableSize:n}=r;if(s)e.length>=n?(await c(e.subarray(0,n)),await u(),e.length>n&&await this.write(e.subarray(n))):await c(e);else{const{value:n,done:a}=await t.next();if(a&&!n)throw new f(Mr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Io(o),i=n.writable,s=i.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function c(t){const e=t.length;e&&(await s.ready,await s.write(t),o.size+=e,r.availableSize-=e)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,Vr,{get:()=>a})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Gr)}finally{t.releaseLock()}}}class Ao{constructor(t){return e.isArray(t)&&(t=new Do(t)),(t instanceof D||typeof t.getReader==pt)&&(t={readable:wn(t)}),t}}class ko{constructor(t){return t.writable===dt&&typeof t.next==pt&&(t=new Fo(t)),(t instanceof F||typeof t.getWriter==pt)&&(t={writable:hn(t)}),t.size===dt&&(t.size=0),t}}function Co(t){return Boolean(t&&t.getData)}async function Io(t,e){if(!t.init||t.initialized)return S.resolve();await t.init(e)}async function To(t){return t=new Ao(t),await Io(t),t.size!==dt&&t.readUint8Array||(t=new $r(await pn(t.readable)),await Io(t)),t}function vo(t,e,n){return t.readUint8Array(e,n)}function _o(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?qr.prototype.createReadable.call(t,e):t.readable}const No="filename",Uo="rawFilename",Oo="comment",Mo="rawComment",Lo="uncompressedSize",Bo="compressedSize",Wo="offset",Po="diskNumberStart",Zo="lastModDate",Ho="rawLastModDate",Vo="lastAccessDate",Go="rawLastAccessDate",jo="creationDate",qo="rawCreationDate",Ko="internalFileAttributes",Yo="externalFileAttributes",Xo="msdosAttributesRaw",Jo="msdosAttributes",Qo="msDosCompatible",$o="zip64",ti="encrypted",ei="version",ni="versionMadeBy",ri="zipCrypto",oi="directory",ii="executable",si="compressionMethod",ai="signature",ci="extraField",ui="unixMode",li="setuid",di="setgid",fi="sticky",wi=[No,Uo,Lo,Bo,Zo,Ho,Oo,Mo,Vo,Go,jo,qo,Wo,Po,Ko,Yo,Xo,Jo,Qo,$o,ti,ei,ni,ri,oi,ii,"symlink",si,ai,"crc32",ci,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ui,"unixExternalUpper",li,di,fi,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class pi{constructor(t){wi.forEach(e=>this[e]=t[e])}}const hi="File format is not recognized",mi="End of central directory not found",yi="End of Zip64 central directory locator not found",Si="Central directory header not found",bi="Local file header not found",gi="Zip64 extra field not found",Ei="File contains encrypted entry",zi="Encryption method not supported",xi="Split zip file",Ri="Overlapping entry found",Di="Entry data out of bounds",Fi="Ambiguous archive",Ai="Encrypted central directory is not supported",ki="Unsafe filename",Ci="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ii="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ti="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",vi="64-bit value exceeds Number.MAX_SAFE_INTEGER",_i="unsorted central directory",Ni="unknown version needed to extract",Ui="compressed patched data",Oi="malformed extra field",Mi="unknown zip64 extensible data",Li="wrapped entries count",Bi="appended data",Wi="prepended data",Pi="prepended central directory",Zi="trailing central directory data",Hi="duplicate filename",Vi="mismatched zip64 end of central directory record",Gi="mismatched local file header (general purpose bit flag)",ji="mismatched local file header (compression method)",qi="mismatched local file header (crc32 or sizes)",Ki=/^[a-zA-Z]:/,Yi="utf-8",Xi="cp437",Ji=[[Lo,O],[Bo,O],[Wo,O],[Po,M]],Qi={[M]:{qt:Us,bytes:4},[O]:{qt:Os,bytes:8}},$i=i(o.MAX_SAFE_INTEGER);class ts{constructor(t,e={}){n.assign(this,{reader:new Ao(t),options:e,Kt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Io(r),r.size!==dt&&r.readUint8Array||(r=new $r(await pn(r.readable)),await Io(r)),r.size<K)throw new f(hi);const o=e.warnings=[],i=ys(t,e.options),a=i==_t,c=i!=Ut,l=gs(Cs(e,t,Ct),i),d=function(t,e){if(t===dt)return e;if(!ms(t))throw new f(Ii);return t}(Cs(e,t,"filenameValidation"),i),w=Cs(e,t,"normalizeFilename"),{Yt:p,Xt:h}=await Es(r,c,l);if(!p)throw await async function(t){return await hs(t)==W}(r)?new f(xi):new f(mi);c&&h>1&&ks("multiple end of central directory records");const m=ae(p);let y=Us(m,12),S=Us(m,16);const b=p.offset,g=Ns(m,20),E=b+K+g,z=r.size-E;z>l&&ks(Bi),z>0&&As(o,Bi);let x=Ns(m,4);const D=r.Vt||0;let F,A,k,C,I,T=Ns(m,6),v=Ns(m,10),_=0,N=X;const U=S==O||y==O||v==M||T==M;if(S!=O&&T!=M&&(S+=ps(r,T)),U){const t=p.offset>=Y?await vo(r,p.offset-Y,Y):yt,e=ae(t);if(t.length==Y&&Us(e,0)==j){S=ps(r,Us(e,4))+Os(e,8);let t=await vo(r,S,X),i=ae(t);const c=p.offset-Y-X;if((t.length<X||Us(i,0)!=G)&&S!=c&&c>=0){const e=S;S=c,S>e&&(_=S-e),t=await vo(r,S,X),i=ae(t)}if(t.length<X||Us(i,0)!=G)throw new f(yi);if(k=!0,C=Os(i,4)>44,C){const t=s.min(Os(i,4)-44,r.size-S-X);t>0&&(N+=t,I=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=ae(t),o=Ns(r,26);n.assign(e,{compressionMethod:Ns(r,0),compressedSize:Os(r,2),uncompressedSize:Os(r,10),encryptionAlgorithm:Ns(r,18),bitLength:Ns(r,20),flags:Ns(r,22),hashAlgorithm:Ns(r,24),hashData:t.subarray(28,28+o)})}return e}(await vo(r,S+X,t)))}x==M?x=Us(i,16):x!=Us(i,16)&&Fs(a,o,Vi),T==M?T=Us(i,20):T!=Us(i,20)&&Fs(a,o,Vi),v==M?v=Os(i,32):v!=Os(i,32)&&Fs(a,o,Vi),y==O?y=Os(i,40):y!=Os(i,40)&&Fs(a,o,Vi),S=ps(r,T)+Os(i,48)+_}}let B=y;const P=p.offset-(k?N+Y:0);if(S>=r.size&&(_=r.size-S-y-K,S=r.size-y-K),D!=x)throw new f(xi);if(S<0)throw new f(hi);let Z=0,V=await vo(r,S,y),J=ae(V);if(y){if(V.length<4)throw new f(hi);const t=P-y;if(S!=t&&T==x){const e=Us(J,Z)==H||Boolean(I&&I.compressedSize)||os(J);let n=!e;if(!n&&t>=0&&t+4<=r.size&&(n=Us(ae(await vo(r,t,4)),0)==H),n){const n=S;S=t,S>n&&(_+=S-n,F=e),V=await vo(r,S,y),J=ae(V)}}}const Q=P-S;if(y!=Q&&Q>=0&&T==x&&(y=Q,V=await vo(r,S,y),J=ae(V)),S<0||S>=r.size)throw new f(hi);e.directoryOffset=S,e.directoryLength=B;const $=Is(e,t,"decryptCentralDirectory");let tt,et;if($&&v&&V.length>=4&&Us(J,0)!=H&&(C||os(J))){const t=function(t,e,n){const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n}(I,B,V.length);et=V.subarray(t),V=await $(V.subarray(0,t),I),J=ae(V),B=V.length,tt=!0}I&&!tt&&(V.length<4||Us(J,0)==H)&&As(o,Mi),A=S;const nt=Cs(e,t,"filenameEncoding"),ct=Cs(e,t,"commentEncoding"),ut=new u;let lt,ft=-1;const wt=!a&&!k;!v&&wt&&(v=is(J,V,Z),v&&As(o,Li));for(let i=0;i<v;i++){const a=new rs(r,e.options);if(Z+q>V.length||Us(J,Z)!=H){if(0==i&&!tt&&(C||os(J)))throw new f(Ai);throw new f(Si)}as(a,J,Z+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=Z+q,l=u+a.filenameLength,p=l+a.extraFieldLength,h=Ns(J,Z+4),m=!(h>>8),y=h>>8==3,S=V.subarray(u,l),b=Ns(J,Z+32),g=p+b,E=V.subarray(p,g),z=c,x=c,D=Us(J,Z+38),F=D&L,k={readOnly:Boolean(1&F),hidden:Boolean(2&F),system:Boolean(4&F),directory:Boolean(16&F),archive:Boolean(32&F)},I=Us(J,Z+42),T=Is(e,t,"decodeText")||vr,N=z?Yi:nt||Xi,U=x?Yi:ct||Xi;let O=T(S,N,Tt);if(O===dt&&(O=vr(S,N)),w){const t=w(O);t!==dt&&(O=t)}if(bs(O,d)){const t=new f(ki);throw t.filename=O,t}let B=T(E,U,vt);B===dt&&(B=vr(E,U)),n.assign(a,{index:i,Jt:tt,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:b,offset:I,diskNumberStart:Ns(J,Z+34),internalFileAttributes:Ns(J,Z+36),externalFileAttributes:D,msdosAttributesRaw:F,msdosAttributes:k,rawFilename:S,filenameUTF8:z,commentUTF8:x,rawExtraField:V.subarray(l,p),rawComment:E,filename:O,comment:B}),cs(a,a,J,Z+6)&&As(o,Oi,O),a.offset+=_;const W=ps(r,a.diskNumberStart)+a.offset;A=s.min(W,A),W<ft&&As(o,_i,O),ft=W,(a.version&L)>63&&As(o,Ni,O),32&~a.rawBitFlag||As(o,Ui,O),ut.has(a.filename)&&(lt=!0),ut.add(a.filename);const P=a.externalFileAttributes>>16&M;a.unixMode===dt&&16877&P&&(a.unixMode=P);const G=Boolean(a.unixMode&it),j=Boolean(a.unixMode&st),K=Boolean(512&a.unixMode),Y=40960==((a.unixMode===dt?P:a.unixMode)&rt),X=!Y&&(a.unixMode!==dt?!!(73&a.unixMode):y&&!!(73&P)),Q=a.unixMode!==dt&&(a.unixMode&rt)==ot,$=(P&rt)==ot;n.assign(a,{setuid:G,setgid:j,sticky:K,symlink:Y,unixExternalUpper:P,executable:X,directory:Q||$||m&&k.directory||a.filename.endsWith(at),zipCrypto:a.encrypted&&!a.extraFieldAES});const et=new pi(a);if(et.getData=(t,n)=>a.getData(t,et,e.Kt,n),et.arrayBuffer=async t=>{const n=new R,r=pn(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(n,et,e.Kt,t),r},Z=g,i==v-1&&wt){const t=is(J,V,Z);t&&(v+=t,As(o,Li))}const{onprogress:pt}=t;if(pt)try{await pt(i+1,v,new pi(a))}catch{}yield et}let pt=Z,ht=ss(V.subarray(Z))||(tt?ss(et):dt);if(!ht&&!tt){const t=S+Z,e=s.min(P-t,65541);e>=6&&(ht=ss(await vo(r,t,e)))}ht&&(e.digitalSignature=ht,pt=Z+6+ht.length),(Z!=B&&pt!=B||!tt&&Z!=y&&pt!=y)&&Fs(a,o,Zi),lt&&Fs(a,o,Hi);const mt=Cs(e,t,"extractPrependedData"),St=Cs(e,t,"extractAppendedData"),bt=(a||mt)&&v&&4==A&&await async function(t){const e=await hs(t);return e==W||808471376==e}(r)?4:0;return a&&(_||v&&A>bt)&&ks(Wi),(_||v&&A>4)&&As(o,Wi),F&&As(o,Pi),mt&&(e.prependedData=A>bt?await vo(r,bt,A-bt):yt),e.comment=g?await vo(r,b+K,g):yt,St&&(e.appendedData=E<r.size?await vo(r,E,r.size-E):yt),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class es{constructor(t={}){const{readable:e,writable:n}=new R,r=new ts(e,t).getEntriesGenerator();this.readable=new D({async pull(t){const{done:e,value:n}=await r.next();if(e)return t.close();const o={...n,readable:function(){const{readable:t,writable:e}=new R;if(n.getData)return async function(){try{await n.getData(e)}catch(t){try{await e.abort(t)}catch{}}}(),t}()};delete o.getData,t.enqueue(o)}}),this.writable=n}}async function ns(t,e={}){if(t=new Ao(t),await Io(t),t.size!==dt&&t.readUint8Array||(t=new $r(await pn(t.readable)),await Io(t)),t.size<K)return!1;const n=ys(e,{}),r=n!=Ut,o=gs(e[Ct],n),{Yt:i,Xt:s}=await Es(t,r,o);if(!i||n==_t&&s>1)return!1;const a=Ns(ae(i),20),c=i.offset+K+a;return t.size-c<=o}let rs=class{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,n,r={}){const o=this,i=$t(),{reader:a,index:c,offset:u,diskNumberStart:l,extraFieldAES:d,extraFieldZip64:w,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:S,uncompressedSize:b,compressedSize:g}=o,{dataDescriptor:E}=h,z=e.localDirectory={},x=e.warnings=[],R=ps(a,l)+u,D=await vo(a,R,ct),A=ae(D);let k=Cs(o,r,St),C=Cs(o,r,bt);const I=Cs(o,r,gt);if(Pt(k,C),k=k&&k.length&&k,C=C&&C.length&&C,d&&99!=d.originalCompressionMethod)throw new f(bn);if(D.length<ct||Us(A,0)!=B)throw new f(bi);as(z,A,4);const{extraFieldLength:T,filenameLength:v}=z,_=z.dataOffset=R+ct+v+T,N=Cs(o,r,"checkLocalDirectory"),U=ys(r,o.options),O=function(t,e){return t===dt?e!=Ut:Boolean(t)}(N,U),M=function(t,e){return t===dt?e==_t:Boolean(t)}(N,U);let W=yt;if(M&&(v||T)){const t=await vo(a,R+ct,v+T);W=t.subarray(0,v),z.rawExtraField=t.subarray(v)}else z.rawExtraField=T?await vo(a,R+ct+v,T):yt;M&&(z.rawFilename=W),cs(o,z,A,4,!0)&&As(x,Oi),function(t,e,n,r,o){const{rawFilename:i}=t,s=!o,a=t.Jt&&!(8192&~e.rawBitFlag);!r||a||n.length==i.length&&!n.some((t,e)=>t!=i[e])||Fs(s,o,"mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Fs(s,o,Gi),e.compressionMethod!=t.compressionMethod&&Fs(s,o,ji),e.bitFlag.dataDescriptor||a||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Fs(s,o,qi)}(o,z,W,M,O?dt:x);const{lastAccessDate:Z,creationDate:H,uid:V,gid:G}=z;Z&&(e.lastAccessDate=Z),H&&(e.creationDate=H),V!==dt&&e.uid===dt&&(e.uid=V),G!==dt&&e.gid===dt&&(e.gid=G);const j=o.encrypted&&z.encrypted&&!I,q=j&&!d;if(I||(e.zipCrypto=q),j&&!(64&~z.rawBitFlag))throw new f(zi);const K=I?dt:xn(p);if(0!=p&&8!=p&&9!=p&&!K&&!I)throw new f(bn);if(j){if(!q&&(d.strength<1||d.strength>3))throw new f(zi);if(!k&&!C)throw new f(Ei)}if(_+g>a.size)throw new f(Di);const Y=g,X=wn(a.createReadable({offset:_,size:Y})),J=Wt(Cs(o,r,Et)),Q=Cs(o,r,"checkPasswordOnly");let $=Cs(o,r,"checkOverlappingEntry");const tt=Cs(o,r,"checkOverlappingEntryOnly");tt&&($=!0);const{onstart:et,onprogress:nt,onend:rt}=r,ot=0!=p&&!I,it=I?g:b,st=9==p;let at=Cs(o,r,xt);st&&(at=!1);const ut=Cs(o,r,"checkCrc32"),lt=(ut===dt?Cs(o,r,"checkSignature"):ut)&&!I&&(!j||q||d&&1==d.vendorVersion),ft={options:{codecType:qn,password:k,rawPassword:C,zipCrypto:q,encryptionStrength:d&&d.strength,checkCrc32:lt,checkAuthenticationCode:Cs(o,r,"checkAuthenticationCode"),passwordVerification:q&&(E?S>>>8&L:y>>>24&L),outputSize:it,crc32:y,compressed:ot,encrypted:j,useWebWorkers:Cs(o,r,zt),useCompressionStream:at,transferStreams:Cs(o,r,Rt),deflate64:st,format:K?K.format:dt,codecURI:K?K.codecURI:dt,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:Q},config:i,ft:{signal:J,size:Y,onstart:et,onprogress:nt,onend:rt}};let wt,pt;$&&await async function({reader:t,$t:e,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,Kt:l}){let d=0;if(c&&(d=u?20:12),d){const n=await vo(t,a+i,d+4),r=ae(n);let c=n.length==d+4&&Us(r,0)==P;if(c){const t=ws(r,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:c=!1}if(n.length>=d){const t=ws(r,c?4:0,u);t.signature=c,e.localDirectory.dataDescriptor=t}}const w={start:r,end:a+i+d,$t:e};for(const[t,e]of l)if(t!=n&&w.start<e.end&&e.start<w.end){const t=new f(Ri);throw t.overlappingEntry=e.$t,t}l.set(n,w)}({reader:a,$t:e,index:c,offset:R,crc32:y,compressedSize:g,uncompressedSize:b,dataOffset:_,dataDescriptor:E||z.bitFlag.dataDescriptor,extraFieldZip64:w||z.extraFieldZip64,Kt:n});try{if(!tt){Q&&(t=new F),t=new ko(t),await Io(t,function(t,e,n){return s.min(t,n?1032*e:e)}(it,g,ot)),({writable:wt}=t);const{outputSize:e}=await Dr({readable:X,writable:wt},ft);if(t.size+=e,e!=it)throw new f(An)}}catch(e){if(e.outputSize!==dt&&(t.size+=e.outputSize),!Q||e.message!=Ae)throw pt=e,e}finally{if((Co(t)||!Cs(o,r,Dt))&&wt&&!wt.locked){const t=wt.getWriter();if(pt)try{await t.abort(pt)}catch{}else await t.close()}}return Q||tt?dt:t.getData?t.getData():wt}};function os(t){const e=s.min(t.byteLength,1024)-3;for(let n=0;n<e;n++)if(134630224==Us(t,n))return!0;return!1}function is(t,e,n){let r=0;for(;n+q<=e.length&&Us(t,n)==H;)n+=q+Ns(t,n+28)+Ns(t,n+30)+Ns(t,n+32),r++;return r%65536?0:r}function ss(t){if(t.length>=6){const e=ae(t);if(Us(e,0)==Z){const n=Ns(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function as(t,e,r){const o=t.rawBitFlag=Ns(e,r+2),i=!(1&~o),s=Us(e,r+6);n.assign(t,{encrypted:i,version:Ns(e,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&nt)==nt},rawLastModDate:s,lastModDate:Ts(s),filenameLength:Ns(e,r+22),extraFieldLength:Ns(e,r+24)})}function cs(t,e,r,o,i){const{rawExtraField:s}=e,u=e.extraField=new c,l=ae(s);let d=0,w=!1;try{for(;d<s.length;){const t=Ns(l,d),e=Ns(l,d+2);u.set(t,{type:t,data:s.slice(d+4,d+4+e)}),d+=4+e}}catch{w=!0}d>s.length&&(w=!0);const p=Ns(r,o+4);n.assign(e,{signature:Us(r,o+10),crc32:Us(r,o+10),compressedSize:Us(r,o+14),uncompressedSize:Us(r,o+18)});const h=u.get(1);h&&(function(t,e){e.zip64=!0;const n=ae(t.data),r=Ji.filter(([t,n])=>e[t]==n),o=r.reduce((t,[,e])=>t+Qi[e].bytes,0);if(t.data.length<o)throw new f(gi);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Qi[a];e[s]=t[s]=c.qt(n,i),i+=c.bytes}}(h,e),e.extraFieldZip64=h);const m=u.get(28789);m&&(us(m,No,Uo,e,t),e.extraFieldUnicodePath=m);const y=u.get(25461);y&&(us(y,Oo,Mo,e,t),e.extraFieldUnicodeComment=y);const S=u.get(J);S&&S.data.length>=7?(function(t,e,r){const o=ae(t.data),i=_s(o,4);n.assign(t,{vendorVersion:_s(o,0),vendorId:_s(o,2),strength:i,originalCompressionMethod:r,compressionMethod:Ns(o,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=dt)}(S,e,p),e.extraFieldAES=S):e.compressionMethod=p;const b=u.get(13);b&&(ls(b,e),e.extraFieldPkwareUnix=b);const g=u.get(22613);g&&(ls(g,e),e.extraFieldUnixType1=g);const E=u.get(10);E&&(function(t,e){const r=ae(t.data);let o,i=4;try{for(;i<t.data.length&&!o;){const e=Ns(r,i),n=Ns(r,i+2);1==e&&(o=t.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=ae(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:vs(i),lastAccessDate:vs(s),creationDate:vs(a)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:s,rawCreationDate:a})}}(E,e),e.extraFieldNTFS=E);const z=u.get(et);let x;if(z&&(x=ds(z,e,!1),e.extraFieldUnix=z),!x){const t=u.get(tt);t&&(ds(t,e,!0),e.extraFieldInfoZip=t)}const R=u.get(Q);R&&(function(t,e,n){if(!t.data.length)return;const r=ae(t.data),o=_s(r,0),i=[],s=[];n?(1&~o||(i.push(Zo),s.push(Ho)),2&~o||(i.push(Vo),s.push(Go)),4&~o||(i.push(jo),s.push(qo))):t.data.length>=5&&(i.push(Zo),s.push(Ho));let c=1;i.forEach((n,o)=>{if(t.data.length>=c+4){const i=Us(r,c);e[n]=t[n]=new a(1e3*(0|i));const u=s[o];t[u]=i}c+=4})}(R,e,i),e.extraFieldExtendedTimestamp=R);const D=u.get($);return D&&(e.extraFieldUSDZ=D),w}function us(t,e,r,o,i){if(t.data.length<5)return void(t.valid=!1);const s=ae(t.data),a=new ye;a.append(i[r]);const c=ae(new w(4));c.setUint32(0,a.get(),!0);const u=Us(s,1),l=_s(s,0);n.assign(t,{version:l,[e]:vr(t.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==Us(c,0)}),t.valid&&(o[e]=t[e],o[e+"UTF8"]=!0)}function ls(t,e){if(t.data.length<8)return;const r=ae(t.data),o={lastAccessDate:new a(1e3*(0|Us(r,0))),lastModDate:new a(1e3*(0|Us(r,4)))};t.data.length>=12&&(o.uid=Ns(r,8),o.gid=Ns(r,10)),n.assign(t,o),n.assign(e,o)}function ds(t,e,r){try{const o=ae(t.data);let i,s;if(r){let e=0;const r=_s(o,e++),a=_s(o,e++);i=fs(t.data.subarray(e,e+a)),e+=a;const c=_s(o,e++);s=fs(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:i,gid:s})}else t.data.length>=4&&(i=Ns(o,0),s=Ns(o,2),n.assign(t,{uid:i,gid:s}));return i!==dt&&(e.uid=i),s!==dt&&(e.gid=s),i!==dt||s!==dt}catch{}}function fs(t){const e=new w(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ws(t,e,n){const r=Us(t,e);let o,i;return n?(o=Os(t,e+4),i=Os(t,e+12)):(o=Us(t,e+4),i=Us(t,e+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function ps(t,e){return t.jt?t.jt(e):0}async function hs(t){return Us(ae(await vo(t,0,4)))}function ms(t){return t===_t||t===Nt||t===Ut}function ys(t,e){return Ss(t,Ss(e,Nt))}function Ss(t,e){const n=t.strictness;if(n!==dt){if(!ms(n))throw new f(Ci);return n}const r=t.checkAmbiguity;return r===dt?e:r?_t:e==Ut?Ut:Nt}function bs(t,e){if(e==Ut)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ki.test(t))||e==_t&&(n.includes(".")||n.includes(""))}function gs(t,e){if(t!==dt){const e=Vt(t);if("number"!=typeof e||o.isNaN(e)||e<0)throw new f(Ti);return e}return e==_t?0:e==Ut?1/0:M}async function Es(t,e,n){const{size:r}=t,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,d,f]of zs(t,o)){const o=Ns(n,d+20);if(f+K+o==r){const o=await Rs(t,n,s,d,f,r,i);if(2==o){if(a||(a=xs(l,d,f)),u++,!e||u>1)break}else 1!=o||c||(c=xs(l,d,f))}}return a||(a=c),a||(a=await async function(t,e,n){const{size:r}=t,o=s.min(r,e==1/0?r:65557+e);let i,a;for await(const[e,s,c,u,l]of zs(t,o)){const o=xs(c,u,l);i||(i=o);const d=await Rs(t,e,s,u,l,r,n);if(2==d)return o;1!=d||a||(a=o)}return a||i}(t,n,i)),{Yt:a,Xt:u}}async function*zs(t,e){const n=t.size-e,r=await vo(t,n,e),o=ae(r);for(let t=r.length-K;t>=0;t--)Us(o,t)==V&&(yield[o,n,r,t,n+t])}function xs(t,e,n){return{offset:n,buffer:t.slice(e,e+K).buffer}}async function Rs(t,e,n,r,o,i,s){const a=Ns(e,r+10),c=Us(e,r+12),u=Us(e,r+16);if(a==M||c==O||u==O)return await Ds(t,e,n,o-Y,i,s)==j?2:0;if(!a&&!c)return 1;const l=Ns(e,r+6);for(const r of[o-c,ps(t,l)+u])if(await Ds(t,e,n,r,i,s)==H)return 2;return 0}async function Ds(t,e,n,r,o,i){return r<0||r+4>o?dt:r>=n?Us(e,r-n):i.count>0?(i.count--,Us(ae(await vo(t,r,4)),0)):dt}function Fs(t,e,n){t?ks(n):As(e,n)}function As(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==dt&&(r.filename=n),t.push(r)}}function ks(t){const e=new f(Fi);throw e.reason=t,e}function Cs(t,e,n){return e[n]===dt?t.options[n]:e[n]}function Is(t,e,n){return Bt(Cs(t,e,n))}function Ts(t){const e=(4294901760&t)>>16,n=t&M,r=new a(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<lt?lt:r}function vs(t){return new a(o(t/i(1e4)-i(116444736e5)))}function _s(t,e){return t.getUint8(e)}function Ns(t,e){return t.getUint16(e,!0)}function Us(t,e){return t.getUint32(e,!0)}function Os(t,e){const n=t.getBigUint64(e,!0);if(n>$i)throw new f(vi);return o(n)}var Ms=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Fi,ERR_BAD_FORMAT:hi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Si,ERR_ENCRYPTED:Ei,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ai,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Di,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:yi,ERR_EOCDR_NOT_FOUND:mi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:gi,ERR_INVALID_AUTHENTICATION_CODE:Fe,ERR_INVALID_COMPRESSED_DATA:kn,ERR_INVALID_CRC32:Cn,ERR_INVALID_FILENAME_VALIDATION:Ii,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ti,ERR_INVALID_PASSWORD:De,ERR_INVALID_STRICTNESS:Ci,ERR_INVALID_UNCOMPRESSED_SIZE:An,ERR_LOCAL_FILE_HEADER_NOT_FOUND:bi,ERR_OVERLAPPING_ENTRY:Ri,ERR_SPLIT_ZIP_FILE:xi,ERR_UNSAFE_FILENAME:ki,ERR_UNSUPPORTED_COMPRESSION:bn,ERR_UNSUPPORTED_ENCRYPTION:zi,ERR_UNSUPPORTED_UINT64:vi,ERR_WORKER_STARTUP_TIMEOUT:Xn,WARNING_APPENDED_DATA:Bi,WARNING_COMPRESSED_PATCHED_DATA:Ui,WARNING_DUPLICATE_FILENAME:Hi,WARNING_MALFORMED_EXTRA_FIELD:Oi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Gi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:ji,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:qi,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Vi,WARNING_PREPENDED_CENTRAL_DIRECTORY:Pi,WARNING_PREPENDED_DATA:Wi,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Zi,WARNING_UNKNOWN_VERSION:Ni,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Mi,WARNING_UNSORTED_CENTRAL_DIRECTORY:_i,WARNING_WRAPPED_ENTRIES_COUNT:Li,ZipReader:ts,ZipReaderStream:es,isZipFile:ns});const Ls="File already exists",Bs="Zip file comment exceeds 64KB",Ws="Invalid zip file comment (must be a Uint8Array)",Ps="File entry comment exceeds 64KB",Zs="Invalid file entry comment (must be a string)",Hs="Invalid date (must be a valid Date instance)",Vs="File entry name exceeds 64KB",Gs="Version exceeds 65535",js="The strength must equal 1, 2, or 3",qs="Encryption is not supported in USDZ files",Ks="Split zip files are not supported in USDZ files",Ys="Encryption is not supported when the 'passThrough' option is set",Xs="Invalid extra field (must be a Map)",Js="Invalid extra field type (must be integer 0..65535)",Qs="Invalid extra field data (must be a Uint8Array)",$s="Extra field data exceeds 64KB",ta=-2147483648,ea=2147483647,na=i(0),ra=i("0x7fffffffffffffff"),oa="Zip64 is not supported (set the 'zip64' option to 'true')",ia="Undefined uncompressed size",sa="Undefined compression method",aa="Undetermined size",ca="Undefined reader",ua="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",la="Zip file not empty",da="Invalid uid (must be integer 0..2^32-1)",fa="Invalid gid (must be integer 0..2^32-1)",wa="Invalid UNIX mode (must be integer 0..65535)",pa="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ha="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ma="Invalid msdosAttributesRaw (must be integer 0..255)",ya="Invalid msdosAttributes (must be an object with boolean flags)",Sa="Invalid level (must be integer 0..9)",ba="Signature data exceeds 64KB",ga=new w([7,0,2,0,65,69,3,0,0]),Ea="infozip",za="unix";let xa=0;const Ra=[];class Da{constructor(t,e={}){t=new ko(t);const{availableSize:r=ft,maxSize:o=ft}=t,i=r>0&&r!==ft&&o>0&&o!==ft;if(i&&e[kt])throw new f(Ks);n.assign(this,{writer:t,te:i,options:e,ee:new c,ne:new u,offset:e[At]===dt?t.size||t.writable.size||0:e[At],re:e[At]===dt?0:e[At]-(t.size||t.writable.size||0),oe:new u,ie:[],se:0,ae:0,ce:dt})}prependZip(t){return Aa(this,async function(t,e){if(t.ne.size)throw new f(la);await t.ue(e)}(this,t))}appendZip(t){return Aa(this,this.ue(t))}async ue(t){const r=this,{oe:o,ne:i,ee:s}=r;for(;o.size;)await S.allSettled(e.from(o));let a;const u=new S(t=>a=t);o.add(u);const l=[];let d;try{t=new Ao(t),await Io(t),t.size!==dt&&t.readUint8Array||(t=new $r(await pn(t.readable)),await Io(t));const{ZipReader:o}=await S.resolve().then(function(){return Ms}),a=new o(t),u=await a.getEntries();await a.close(),await Io(r.writer);const{directoryOffset:w}=a;u.forEach(({filename:t})=>{if(i.has(t))throw new f(Ls);i.add(t),l.push(t)}),r.le=!0;const{de:p}=r;r.de=new S(t=>d=()=>{r.le=!1,t()}),await p,r.te&&(delete r.te,await async function(t){return ae(await vo(t,0,4)).getUint32(0,!0)==W}(t)||(await Xa(r.writer,Ka()),r.offset+=4));const h=await async function(t,n,r,o){const{writer:i}=t,s=new c;if(i.closeDisk){const a=e.from(r).sort((t,e)=>qa(n,t)-qa(n,e));let c=0;for(const e of a){const r=qa(n,e);await Ga(t,n,c,r-c),Za(i,await ja(n,r))&&await i.closeDisk(),s.set(e,{offset:Ha(t,i),diskNumberStart:Wa(i)}),c=r}await Ga(t,n,c,o-c)}else{const e=t.offset;await Ga(t,n,0,o),r.forEach(t=>s.set(t,{offset:e+qa(n,t),diskNumberStart:0}))}return s}(r,t,u,w);u.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=t;let{compressionMethod:d,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=i;f=Va(f||yt),t.extraFieldAES&&(d=99);const y=wc(f),S=Boolean(l)&&l.uncompressedSize!==dt,b=Boolean(l)&&l.compressedSize!==dt,g=-7&hc(w,p,m,a,d)|w<<1,{fe:E,we:z}=pc({version:e,bitFlag:g,compressionMethod:d,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,pe:b,he:S,extraFieldLength:y}),{crc32:x}=t;x!==dt&&lc(z,10,x);const{offset:R,diskNumberStart:D}=h.get(t);n.assign(t,{me:!0,he:S,pe:b,offset:R,diskNumberStart:D,ye:!1,Se:yt,be:yt,ge:yt,Ee:yt,ze:yt,rawExtraField:f,xe:yt,extendedTimestamp:!1,fe:E,we:z}),s.set(t.filename,t)})}catch(t){throw l.forEach(t=>i.delete(t)),t}finally{a(),o.delete(u),d&&d()}}add(t="",e,r={}){const o=this,{oe:s}=o,a=async function(t,e,r,o){if(nc(t,o=n.assign({},o),oi)&&!e.endsWith(at)&&(e+=at),t.ne.has(e))throw new f(Ls);t.ne.add(e),xa<$t().maxWorkers?xa++:await new S(t=>Ra.push(t));try{return await async function(t,e,r,o){const s=Ia(t,e,o);({name:e}=s);const a=Ta(t,e,o),{comment:c}=a,u=o[ci];t.ee.set(e,dt);const l=t.ce,d={};let w,p;a.Re.keepOrder&&(d.De=new S(t=>w=t)),t.ce=d;try{const{Re:c}=a;0==c.level||c.compressionMethod!==dt||c.passThrough||await tr($t())||(c.level=0);const u=await async function(t,e,{Re:r},o){if(r.passThrough&&!e&&!nc(t,o,oi))throw new f(ca);let i;if(e){if(e=new Ao(e),await Io(e),!e.readable&&!e.readUint8Array)throw new f(ua);({size:i}=e)}return n.assign({reader:e},_a(t,Boolean(e),i,r,o))}(t,r,a,o);({reader:r}=u);const h=Pa(t.writer),m=Wa(t.writer),y=Na(o=n.assign({},o,s.Re,a.Re,u.Re,{signature:o[ai],crc32:o.crc32===dt?o[ai]:o.crc32,offset:t.offset-h,diskNumberStart:m,[kt]:t.options[kt]})),b=Ma(o),g=wc(y.Fe,b.Ae);p=await async function(t,e,r,o,s){const{ee:a,writer:c}=t,{keepOrder:u,dataDescriptor:l,ke:d,signal:w}=s,{Ce:p,$t:h,Ie:m,Te:y}=o,b=t.options[kt];let g,E,z,x,D,F,A,k=h,C=0;const I=u&&m?m.De:dt;a.set(e,k);try{s.bufferedWrite||!u||t.le||t.se||t.ae||!l&&!d?(g=!0,t.se++,A=s.createTempStream?await s.createTempStream():new R(dt,dt,{highWaterMark:ft}),A.size=0,await Io(c)):(E=!0,t.ae++,A=c,await I,await T()),await Io(A);const h=Pa(c);t.te&&!g&&await Ya(t,c),b&&!g&&Ua(o,t.offset-h);const{Fe:m}=p;g||await v();const y=Wa(c),z=Ha(t,c);if(k.diskNumberStart=y,g||(D=!0,F=c.size,await Xa(A,m)),k=await async function(t,e,{diskNumberStart:r,De:o},s,a,c){const{Ce:u,ve:l,_e:d}=s,{fe:w,we:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:b,compressionMethod:g,Se:E,Ne:z,ge:x,Ue:R,Ee:D,ze:F,be:A}=u,{Ae:k}=l,{rawFilename:C,lastAccessDate:I,creationDate:T,password:v,rawPassword:_,level:N,zip64:U,me:M,he:B,pe:W,zipCrypto:P,dataDescriptor:Z,directory:H,executable:V,versionMadeBy:G,rawComment:j,rawExtraField:q,xe:K,useWebWorkers:Y,transferStreams:X,onstart:J,onprogress:Q,onend:$,signal:tt,encryptionStrength:et,extendedTimestamp:nt,msDosCompatible:rt,internalFileAttributes:ot,externalFileAttributes:it,uid:st,gid:at,unixMode:ct,symlink:ut,setuid:lt,setgid:ft,sticky:wt,unixExternalUpper:pt,msdosAttributesRaw:ht,msdosAttributes:mt,useCompressionStream:yt,passThrough:St,format:bt,codecURI:gt}=c,Et={De:o,versionMadeBy:G,zip64:U,me:M,directory:Boolean(H),executable:Boolean(V),filenameUTF8:!0,rawFilename:C,commentUTF8:!0,rawComment:j,Se:E,Ne:z,ge:x,Ee:D,ze:F,be:A,rawExtraField:q,xe:K,extendedTimestamp:nt,msDosCompatible:rt,internalFileAttributes:ot,externalFileAttributes:it,diskNumberStart:r,uid:st,gid:at,unixMode:ct,symlink:Boolean(ut),setuid:lt,setgid:ft,sticky:wt,unixExternalUpper:pt,msdosAttributesRaw:ht,msdosAttributes:mt};let{crc32:zt,uncompressedSize:xt}=c,Rt=0;St||(xt=0);const{writable:Dt}=e;if(t){const n=t.size,r=wn(_o(t,{size:n})),o={options:{codecType:jn,inputSize:n,level:N,rawPassword:_,password:v,encryptionStrength:et,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&L,computeCrc32:!St,compressed:S&&!St,encrypted:y&&!St,useWebWorkers:Y,useCompressionStream:yt,transferStreams:X,format:bt,codecURI:gt,compressionMethod:g},config:a,ft:{signal:tt,size:n,onstart:J,onprogress:Q,onend:$}};try{const t=await Dr({readable:r,writable:Dt},o);if(Rt=t.outputSize,e.size+=Rt,St||(xt=t.inputSize,y&&!P||(zt=t.crc32)),!W&&Rt>=O||!B&&xt>=O)throw new f(oa)}catch(t){throw t.outputSize!==dt&&(e.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:n,Ce:r,ve:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:u}){const{we:l,encrypted:d}=r,{Oe:f,Me:w}=o;d&&!a&&!c||t===dt||(lc(l,10,t),u&&lc(f,w,t)),s?u&&(dc(f,w+4,i(e)),dc(f,w+12,i(n))):(lc(l,14,e),lc(l,18,n),u&&(lc(f,w+4,e),lc(f,w+8,n)))}({crc32:zt,compressedSize:Rt,uncompressedSize:xt,Ce:u,ve:l},c),Z&&await Xa(e,k),n.assign(Et,{uncompressedSize:xt,compressedSize:Rt,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(P),size:d+Rt,compressionMethod:g,version:b,fe:w,we:p,signature:zt,crc32:!y||P||St?zt:dt,Ue:R,he:B,pe:W}),Et}(r,A,k,o,$t(),s),g||(D=!1),a.set(e,k),k.filename=e,g){if(await S.all([A.writable.getWriter().close(),I]),await T(),t.te&&await Ya(t,c),x=!0,F=c.size,await v(),k.diskNumberStart=Wa(c),k.offset=Ha(t,c),b){const e=o._e;Ua(o,t.offset-Pa(c)),k.size+=o._e-e}!function({rawFilename:t,encrypted:e,zip64:n,Ne:r,crc32:o,compressedSize:s,uncompressedSize:a,he:c,pe:u},l,{dataDescriptor:d,passThrough:f}){if(d||((!e||f&&o!==dt)&&lc(l,14,o),u||lc(l,18,s),c||lc(l,22,a)),n&&r){const e=ct+wc(t)+4;dc(l,e,i(a)),dc(l,e+8,i(s))}}(k,p.Le,s),await Xa(c,p.Fe),await Ja(A.readable,c,w,t=>C+=t),c.size+=A.size,x=!1}else k.diskNumberStart=y,k.offset=z;return t.offset+=k.size,k}catch(n){if(x||D){if(t.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}t.offset+=c.size-F,g&&(t.offset+=C)}throw a.delete(e),n}finally{if(g&&t.se--,E&&t.ae--,y&&y(I),z&&z(),g&&A&&A.dispose)try{await A.dispose()}catch{}}async function T(){t.le=!0;const{de:e}=t;t.de=new S(e=>z=()=>{t.le=!1,e()}),await e}async function v(){Za(c,wc(p.Fe))&&await c.closeDisk()}}(t,e,r,{Ce:y,ve:b,_e:g,$t:d,Ie:l,Te:w},o)}catch(n){throw t.ee.delete(e),n}finally{w&&w(l&&l.De)}return n.assign(p,{name:e,comment:c,extraField:u}),new pi(p)}(t,e,r,o)}catch(n){throw t.ne.delete(e),n}finally{const t=Ra.shift();t?t():xa--}}(o,t,e,r);s.add(a);const c=()=>s.delete(a);return S.prototype.then.call(a,c,c),Aa(o,a)}remove(t){const{ne:e,ee:n}=this;if(typeof t==mt&&(t=n.get(t)),t&&t.filename!==dt){const{filename:r}=t;if(e.has(r)&&n.has(r))return e.delete(r),n.delete(r),!0}return!1}async close(t=yt,n={}){const r=this,{oe:o,writer:s}=this,{writable:a}=s;if(!(t instanceof w))throw new f(Ws);if(wc(t)>M)throw new f(Bs);for(;o.size;)await S.allSettled(e.from(o));await S.allSettled(r.ie.map(t=>t.Be));const c=r.ie.filter(t=>t.error&&!t.We);if(c.length){const t=c.map(t=>t.error);c.forEach(t=>t.We=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(t,n,r){const{Pe:o,Ze:s}=La(t.ee),{He:a,Ve:c,Ge:u}=await async function(t,n,r){const{ee:o,writer:i}=t,s=new w(n);await Io(i);let a=0,c=0,u=Wa(i),l=Pa(i),d=0;for(const[t,n]of e.from(o.values()).entries()){const{offset:e,rawFilename:f,Se:w,be:p,ge:h,Ee:m,ze:y,rawExtraField:S,xe:b,rawComment:g,versionMadeBy:E,fe:z,we:x,he:R,pe:D,ye:F,je:A,internalFileAttributes:k,externalFileAttributes:C,diskNumberStart:I,uncompressedSize:T,compressedSize:v}=n,_=wc(w,p,h,m,y,S,b),N=q+wc(f,g)+_;Za(i,a+N-c)&&(await Xa(i,s.slice(c,a)),c=a,d=0,await i.closeDisk()),0==t&&(u=Wa(i),l=Pa(i)),R||lc(x,18,T),D||lc(x,14,v),(A||F)&&n.version<45&&uc(x,0,45);const U=Ba(N);if(U.qe(H),U.Ke(E),U.Ye(z.subarray(0,24)),U.Ke(_),U.Ke(wc(g)),U.Ke(F?M:I),U.Ke(k),U.qe(C),U.qe(A?O:e),U.Ye(f),U.Ye(w),U.Ye(p),U.Ye(h),U.Ye(m),U.Ye(y),U.Ye(S),U.Ye(b),U.Ye(g),fc(s,U.Pt,a),a+=N,d++,r.onprogress)try{await r.onprogress(t+1,o.size,new pi(n))}catch{}}return await Xa(i,c?s.slice(c):s),{He:{diskNumber:u,diskOffset:l},Ve:{diskNumber:Wa(i),Xe:d},Ge:s}}(t,o,r),l=await async function(t,e,n){const r=oc(t,n,It);if(r){const n=await r(e),o=wc(n);if(o>M)throw new f(ba);const i=Ba(6+o);i.qe(Z),i.Ke(o),i.Ye(n);const{writer:s}=t;return Za(s,wc(i.Pt))&&await s.closeDisk(),await Xa(s,i.Pt),6+o}return 0}(t,u,r);await async function(t,e,n,r){const{writer:o}=t,{He:s,Ve:a,Je:c,Ze:u}=r;let{Pe:l}=r,d=t.ee.size,w=s.diskNumber,p=Ha(t,s);const h=wc(e);if(h>M)throw new f(Bs);let m=nc(t,n,$o),y=Wa(o);if(Za(o,(m?98:K)+h)&&y++,p>=O||l>=O||d>=M||y>=M){if(!1===m)throw new f(oa);m=!0}else m===dt&&u&&(m=!0);const S=Ba(m?98:K);Za(o,wc(S.Pt)+h)&&await o.closeDisk(),y=Wa(o);let b=y==a.diskNumber?a.Xe:0;m&&(S.qe(G),S.Qe(44),S.Ke(45),S.Ke(45),S.qe(y),S.qe(w),S.Qe(b),S.Qe(d),S.Qe(l),S.Qe(p),S.qe(j),S.qe(y),S.Qe(i(Ha(t,o))+i(l)+i(c)),S.qe(y+1),nc(t,n,"supportZip64SplitFile",!0)&&(y=M,w=M),b=M,d=M,p=O,l=O),S.qe(V),S.Ke(y),S.Ke(w),S.Ke(b),S.Ke(d),S.qe(l),S.qe(p),S.Ke(h),await Xa(o,S.Pt),h&&await Xa(o,e)}(t,n,r,{He:a,Ve:c,Pe:o,Je:l,Ze:s})}(r,t,n),!Co(s)&&nc(r,n,Dt)||await a.getWriter().close(),s.getData?s.getData():a}}class Fa extends S{then(t,e){const{$e:n}=this;return n&&(n.We=!0),super.then(t,e)}}function Aa(t,e){const n=new Fa((t,n)=>S.prototype.then.call(e,t,n)),r={};return n.$e=r,r.Be=S.prototype.then.call(n,dt,t=>r.error=t),t.ie.push(r),n}async function ka(t,e){try{await t.writer.writable.abort(e)}catch{}}function Ca(t,e,n){t.oe.add(e),e.catch(t=>{try{n(t)}catch{}})}function Ia(t,n,r){let o=nc(t,r,Qo),i=nc(t,r,ni,o?20:768);const s=nc(t,r,ii),a=ic(t,r,"uid"),c=ic(t,r,"gid");let u=ic(t,r,ui),l=nc(t,r,"unixExtraFieldType"),d=nc(t,r,li),w=nc(t,r,di),p=nc(t,r,fi);if(Ht(a,O,da),Ht(c,O,fa),Ht(u,M,wa),l!==dt&&l!==Ea&&l!==za)throw new f(pa);if(l===za&&(a!==dt&&a>M||c!==dt&&c>M))throw new f(ha);l!==dt||a===dt&&c===dt||(l=Ea);let h=ic(t,r,Xo),m=nc(t,r,Jo);const y=h!==dt||m!==dt;if(a!==dt||c!==dt||u!==dt||l||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),Ht(h,L,ma),m&&(typeof m!==ht||e.isArray(m)))throw new f(ya);if(i>M)throw new f(Gs);let S=nc(t,r,Yo);const b=S!==dt;b||(S=0),!r[oi]&&n.endsWith(at)&&(r[oi]=!0);const g=nc(t,r,oi);if(g?(n.endsWith(at)||(n+=at),b||(S=16,o||(S|=16877<<16))):o||b||(S=s?493<<16:27525120),!o){const t=u!==dt||Boolean(d||w||p);u=u===dt?S>>16&M:u&M,d?u|=it:d=Boolean(u&it),w?u|=st:w=Boolean(u&st),p?u|=512:p=Boolean(512&u),b&&!t||(g?u=-61441&u|ot:u&rt||(u|=32768),S=(u&M)<<16|S&M)}({msdosAttributesRaw:h,msdosAttributes:m}=function(t,e){if(t!==dt)t&=L;else if(e!==dt){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=e;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),t=a&L}return e===dt&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,m)),y&&(S=S&O|h&L);const E=S>>16&M,z=u!==dt&&40960==(u&rt);return{name:n,Re:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:S,unixExternalUpper:E,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:z,setuid:d,setgid:w,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}function Ta(t,e,n){const r=oc(t,n,"encodeText")||be;let i=r(e,Tt);if(i===dt&&(i=be(e)),wc(i)>M)throw new f(Vs);const s=n[Oo]||"";if(typeof s!=mt)throw new f(Zs);let c=r(s,vt);if(c===dt&&(c=be(s)),wc(c)>M)throw new f(Ps);const u=nc(t,n,ei);if(u!==dt&&u>M)throw new f(Gs);const l=rc(t,n,Zo,new a),d=nc(t,n,Ho),w=rc(t,n,Vo),p=rc(t,n,jo),h=nc(t,n,Ko,0),m=nc(t,n,gt),y=nc(t,n,St),S=nc(t,n,bt);Pt(y,S);const b=ic(t,n,"encryptionStrength",3),g=nc(t,n,ri),E=nc(t,n,"extendedTimestamp",!0),z=nc(t,n,"ntfsTimestamp"),x=nc(t,n,"keepOrder",!0),R=nc(t,n,zt),D=nc(t,n,Rt),F=nc(t,n,"bufferedWrite"),A=oc(t,n,"createTempStream"),k=nc(t,n,"dataDescriptorSignature",!0),C=Wt(nc(t,n,Et)),I=nc(t,n,"useUnicodeFileNames",!0),T=nc(t,n,si),v=m||T===dt?dt:xn(T);if(!m&&T!==dt&&0!==T&&8!==T&&!v)throw new f(bn);let _=ic(t,n,"level");if(Ht(_,9,Sa),t.options[kt]){if(y!==dt||S!==dt)throw new f(qs);_===dt&&T===dt&&(_=0)}m&&(_=dt);let N=nc(t,n,xt),U=nc(t,n,Ft);F&&U===dt&&(U=!1),(U===dt||g&&!m)&&(U=!0),_!==dt&&6!=_&&(N=!1);const O=nc(t,n,$o);if(!(g||y===dt&&S===dt||o.isInteger(b)&&b>=1&&b<=3))throw new f(js);const L=va(n[ci]),B=va(n.localExtraField),W=va(n.centralExtraField);return{comment:s,Re:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:d,lastAccessDate:w,creationDate:p,internalFileAttributes:h,passThrough:m,password:y,rawPassword:S,encryptionStrength:b,zipCrypto:g,extendedTimestamp:E,ntfsTimestamp:z,keepOrder:x,useWebWorkers:R,transferStreams:D,bufferedWrite:F,createTempStream:A,dataDescriptorSignature:k,signal:C,useUnicodeFileNames:I,compressionMethod:T,format:v?v.format:dt,codecURI:v?v.codecURI:dt,tn:v?v.versionNeeded:dt,level:_,useCompressionStream:N,dataDescriptor:U,zip64:O,rawExtraField:L,en:B,xe:W}}}function va(t){if(!t)return yt;if(!(t instanceof c))throw new f(Xs);let e=0,n=0;t.forEach((t,n)=>{if(Zt(n,M,Js),!(t instanceof w))throw new f(Qs);if(wc(t)>M)throw new f($s);e+=4+wc(t)});const r=new w(e),o=ae(r);return t.forEach((t,e)=>{uc(o,n,e),uc(o,n+2,wc(t)),fc(r,t,n+4),n+=4+wc(t)}),r}function _a(t,e,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:u}=r;let{dataDescriptor:l,zip64:d,level:w,compressionMethod:p}=r,h=0,m=0,y=!1;if(i&&e){if(m=o[Lo],m===dt)throw new f(ia);if(p===dt)throw new f(sa)}const S=!0===d,b=nc(t,o,ti);if(e&&i&&!b&&wc(a,c))throw new f(Ys);const g=e&&(Boolean(a&&wc(a)||c&&wc(c))||i&&b);e||(w=0,p=0);const E=g?s?12:16+4*u:0;e&&(i?(o.uncompressedSize=m,h=n===dt?sc(m)+E:n):n===dt?(l=!0,(d||d===dt)&&(d=y=!0,h=4294967296)):(o.uncompressedSize=m=n,h=(ac(p,w)?sc(m):m)+E));const z=!(g||e&&(0!==n||i)||ac(p,w));z&&!s&&nc(t,o,Ft)===dt&&(l=!1);const x=S||y||m>=O,R=S||h>=O;if(x||R){if(!1===d)throw new f(oa);d=!0}return d=d||!1,{nn:h,Re:{dataDescriptor:l,ke:z,zip64:d,me:S,rn:y,he:x,pe:R,uncompressedSize:m,level:w,compressionMethod:p,encrypted:g}}}function Na(t){const{rawFilename:e,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:p,rawExtraField:h,en:m,encryptionStrength:y,extendedTimestamp:S,ntfsTimestamp:b,passThrough:g,encrypted:E,he:z,pe:x,uncompressedSize:R,rn:D,crc32:F}=t;let{version:A,compressionMethod:k}=t;const C=!p&&ac(k,c);let I;const T=g||!C,v=u&&(t.bufferedWrite||!w||!z&&!x||T&&!D),_=v||u&&w&&(z||x);if(u&&(z||x)){const t=20,e=Ba(t);if(e.Ke(1),e.Ke(t-4),I=e.Pt,v&&(e.Qe(R),T)){const t=E?l?12:16+4*y:0;e.Qe(g?0:R+t)}}else I=yt;let N,U,O,L,W;if(E&&!l){const t=Ba(wc(ga)+2);t.Ke(J),t.Ye(ga),N=t.Pt,N[8]=y}else N=yt;if(S){const t=$a(n),e=tc(t);if(e){const e=9+(o?4:0)+(i?4:0),n=Ba(e);L=1+(o?2:0)+(i?4:0),n.Ke(Q),n.Ke(e-4),n.sn(L),n.qe(t),o&&n.qe(ec($a(o))),i&&n.qe(ec($a(i))),O=n.Pt}else O=yt;if(b===dt?!e||Boolean(o||i):b)try{const t=Qa(n),e=Ba(36);e.Ke(10),e.Ke(32),e.an(4),e.Ke(1),e.Ke(24),e.Qe(t),e.Qe(o?Qa(o):t),e.Qe(i?Qa(i):t),U=e.Pt}catch{U=yt}else U=yt}else U=O=yt;try{const{uid:e,gid:n,unixExtraFieldType:r}=t;if(r!=Ea||e===dt&&n===dt)if(r!=za||e===dt&&n===dt)W=yt;else{const t=Ba(8);t.Ke(et),t.Ke(4),t.Ke((e===dt?0:e)&M),t.Ke((n===dt?0:n)&M),W=t.Pt}else{const t=Oa(e===dt?0:e),r=Oa(n===dt?0:n),o=3+t.length+r.length,i=Ba(4+o);i.Ke(tt),i.Ke(o),i.sn(1),i.sn(t.length),i.Ye(t),i.sn(r.length),i.Ye(r),W=i.Pt}}catch{W=yt}k===dt&&(k=C?8:0),A===dt&&(A=0!=k||p||E?20:10);const{tn:P}=t;C&&P!==dt&&(A=A>P?A:P),u&&(A=A>45?A:45),E&&!l&&(A=A>51?A:51,g&&F!==dt&&(N[4]=1),uc(ae(N),9,k),k=99);const Z=_?wc(I):0,H=Z+wc(N,O,U,W,h,m);if(H+(t[kt]?67:0)>M)throw new f($s);const V=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),G=V<lt?lt:V>ut?ut:V,j=wc(O)?new a(1e3*$a(n)):wc(U)?n:G,{fe:q,we:K,rawLastModDate:Y}=pc({version:A,bitFlag:hc(c,d,w,E,k),compressionMethod:k,uncompressedSize:R,lastModDate:G,rawLastModDate:r,rawFilename:e,pe:x,he:z,extraFieldLength:H}),X=Ba(ct+wc(e)+H),$=X.Pt,nt=ae($);return X.qe(B),X.Ye(q),X.Ye(e),_&&X.Ye(I),X.Ye(N),X.Ye(O),X.Ye(U),X.Ye(W),X.Ye(h),X.Ye(m),w&&(x||lc(nt,18,0),z||lc(nt,22,0)),{Fe:$,Le:nt,fe:q,we:K,lastModDate:j,rawLastModDate:Y,encrypted:E,compressed:C,version:A,compressionMethod:k,Ue:L,Se:yt,Ne:Z,ge:O,Ee:U,ze:W,be:N,extraFieldLength:H}}function Ua(t,e){const{Ce:n}=t;let{Fe:r,extraFieldLength:o}=n,i=64-(e+wc(r))%64;i<4&&(i+=64);const s=new w(i),a=ae(s);uc(a,0,$),uc(a,2,i-4);const c=r;n.Fe=r=new w(wc(c)+i),fc(r,c),fc(r,s,wc(c));const u=ae(r);uc(u,28,o+i),n.Le=u,t._e+=i}function Oa(t){const e=new w(4);ae(e).setUint32(0,t,!0);let n=4;for(;n>1&&0===e[n-1];)n--;return e.subarray(0,n)}function Ma({zip64:t,dataDescriptor:e,dataDescriptorSignature:n}){let r,o=yt,i=0,s=t?20:12;return n&&(s+=4),e&&(o=new w(s),r=ae(o),n&&(i=4,lc(r,0,P))),{Ae:o,Oe:r,Me:i}}function La(t){let e=0,n=!1;for(const[,r]of t){const{rawFilename:t,be:o,rawComment:i,Ee:s,ze:a,rawExtraField:c,xe:u,extendedTimestamp:l,Ue:d,lastModDate:w,me:p,uncompressedSize:h,compressedSize:m}=r;let{he:y,pe:S}=r;p||(y&&h<O&&(y=r.he=!1),S&&m<O&&(S=r.pe=!1)),n=n||y||S;const b=r.offset>=O,g=r.diskNumberStart>=M;let E,z;if(b||g||y||S){const t=4+(y?8:0)+(S?8:0)+(b?8:0)+(g?4:0),e=Ba(t);e.Ke(1),e.Ke(t-4),y&&e.Qe(h),S&&e.Qe(m),b&&e.Qe(r.offset),g&&e.qe(r.diskNumberStart),E=e.Pt}else E=yt;r.Se=E,r.je=b,r.ye=g;const x=$a(w);if(l&&tc(x)){const t=Ba(9);t.Ke(Q),t.Ke(5),t.sn(d),t.qe(x),z=t.Pt}else z=yt;r.ge=z;const R=wc(E,o,s,a,z,c,u);if(R>M)throw new f($s);e+=q+wc(t,i)+R}return{Pe:e,Ze:n}}function Ba(t){const e=new w(t),n=ae(e);let r=0;return{Pt:e,sn:t=>{!function(t,e,n){t.setUint8(e,n)}(n,r,t),r+=1},Ke:t=>{uc(n,r,t),r+=2},qe:t=>{lc(n,r,t),r+=4},Qe:t=>{dc(n,r,i(t)),r+=8},Ye:t=>{fc(e,t,r),r+=wc(t)},an:t=>r+=t}}function Wa(t){const{diskNumber:e=0}=t;return e}function Pa(t){const{diskOffset:e=0}=t;return e}function Za(t,e){const{availableSize:n=ft}=t;return e>n}function Ha(t,{diskNumber:e=0,diskOffset:n=0}){return t.offset-n-(e?t.re:0)}function Va(t){const e=ae(t);let n=0;for(;n+4<=wc(t);){const r=4+cc(e,n+2);if(1==cc(e,n))return Va(ie(t.subarray(0,n),t.subarray(s.min(n+r,wc(t)))));n+=r}return t}async function Ga(t,e,n,r){if(r>0){const{writer:o}=t;let i=0;try{await Ja(_o(e,{offset:n,size:r}),o,dt,t=>i+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=i,t.offset+=i}}}async function ja(t,e){const n=await vo(t,e,ct);if(wc(n)<ct)return ct;const r=ae(n);return ct+cc(r,26)+cc(r,28)}function qa(t,{offset:e,diskNumberStart:n}){return e+(t.jt?t.jt(n):0)}function Ka(){const t=new w(4);return lc(ae(t),0,W),t}async function Ya(t,e){delete t.te,await Xa(e,Ka()),t.offset+=4}async function Xa(t,e){const{writable:n}=t,r=n.getWriter();try{await r.ready,t.size+=wc(e),await r.write(e)}finally{r.releaseLock()}}async function Ja(t,e,n,r){const o=e.writable.getWriter();try{await t.pipeTo(new F({async write(t){await o.ready,await o.write(t),r(wc(t))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Qa(t){if(t){const e=(i(t.getTime())+i(116444736e5))*i(1e4);return e<na?na:e>ra?ra:e}}function $a(t){return s.floor(t.getTime()/1e3)}function tc(t){return t>=ta&&t<=ea}function ec(t){return s.min(ea,s.max(ta,t))}function nc(t,e,n,r){const o=e[n]===dt?t.options[n]:e[n];return o===dt?r:o}function rc(t,e,n,r){const i=nc(t,e,n,r);if(null===i)return r;if(i!==dt&&(typeof i.getTime!=pt||o.isNaN(i.getTime())))throw new f(Hs);return i}function oc(t,e,n){return Bt(nc(t,e,n))}function ic(t,e,n,r){return Vt(nc(t,e,n,r))}function sc(t){return t+5*(s.floor(t/16383)+1)}function ac(t,e){return t===dt?e===dt||e>0:0!==t}function cc(t,e){return t.getUint16(e,!0)}function uc(t,e,n){t.setUint16(e,n,!0)}function lc(t,e,n){t.setUint32(e,n,!0)}function dc(t,e,n){t.setBigUint64(e,n,!0)}function fc(t,e,n){t.set(e,n)}function wc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function pc({version:t,bitFlag:e,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,pe:c,he:u,extraFieldLength:l}){const d=Ba(26),f=d.Pt,w=ae(f);if(d.Ke(t),d.Ke(e),d.Ke(n),s===dt){const t=new h(1),e=ae(t);uc(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),uc(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.qe(s),d.an(4),c||o!==dt?d.qe(c?O:o):d.an(4),u||r!==dt?d.qe(u?O:r):d.an(4),d.Ke(wc(a)),d.Ke(l),{fe:f,we:w,rawLastModDate:s}}function hc(t,e,n,r,o){let i=0;return e&&(i|=nt),n&&(i|=8),8!=o&&9!=o||(t>=0&&t<=3&&(i|=6),t>3&&t<=5&&(i|=4),9==t&&(i|=2)),r&&(i|=1),i}function mc(t,e){if(!t)return!1;const{cn:n}=t;return n?n.includes(e):Ln(t,e)}const yc=1048576,Sc=".zip.js-temp",bc=1048576,gc=1048576,Ec=".zip.js-temp",zc="createSyncAccessHandle is only available in dedicated workers";try{!function(t){const e=ne(oe(t));n.assign(qt,e),n.assign(Qt,e)}({baseURI:void 0===E&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===E?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new d("zip-fs-core.min.js",E.baseURI).href})}catch{}const xc="Entry filename already exists",Rc="Duplicate entry filename in the imported zip file",Dc='Invalid duplicates option (must be "throw", "keep-first" or "keep-last")',Fc="Entry is a ancestor of target entry",Ac="Readable stream already consumed",kc="throw",Cc="keep-first",Ic="keep-last",Tc=new u([kc,Cc,Ic]),vc="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",_c="Invalid readerOptions (must be an object)",Nc="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Uc="zipjs-abort-export",Oc="The operation was aborted",Mc=new u([1,J,10,Q,28789,25461,$,tt,et,22613,13]);class Lc{constructor(t,e,r,o){const i=this;if(t.root&&o&&o.getChildByName(e))throw new f(xc);r||(r={}),n.assign(i,{fs:t,name:e,data:r.data,options:r.options&&n.assign({},r.options),id:t.un++,parent:o,children:[],uncompressedSize:r.uncompressedSize||0,ln:r.ln||r.uncompressedSize===dt,passThrough:r.passThrough,dn:r.dn||new a}),!o&&t.root||(t.entries[i.id]=i),o&&i.parent.children.push(i)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,n=this.parent;for(;n&&n!=t;)e=(n.name?n.name+"/":"")+e,n=n.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return Boolean(e)}rename(t){const e=this;let n=e.parent;if(n){const r=du(t);r&&(t=r.pop(),n=fu(n,r,e));const o=n.getChildByName(t);if(o&&o!=e)throw new f(xc);n!=e.parent&&(Xc(e),e.parent=n,n.children.push(e),uu(e.fs,e))}e.name=t}setOptions(t){const e=n.assign({},this.options,t);this.options=n.fromEntries(n.entries(e).filter(([,t])=>t!==dt))}}class Bc extends Lc{constructor(t,e,n,r){super(t,e,n,r);const o=this;o.Reader=n.Reader,o.Writer=n.Writer,n.getData&&(o.getData=n.getData)}clone(){return new Bc(this.fs,this.name,this)}async getData(t,e={}){const n=this;if(!t||t.constructor==n.Writer&&n.data&&function(t,e){const{contentType:n}=t;return n===dt||(t.constructor==to?e.type==n:t.constructor!=Xr||e.startsWith("data:"+(n||"")+";base64,"))}(t,n.data))return n.data;{const r=n.reader=Kc(n.Reader,n.data,e),o=n.uncompressedSize||r.size;await S.all([Io(r),Io(t,o)]);const i=Wt(e.signal),s=function(t,e,n,r){const{onstart:o,onprogress:i,onend:s}=n,{readable:a}=e;return t.data instanceof pi||!o&&!i&&!s?a:wn(a).pipeThrough(new rr({onstart:o,onprogress:i,onend:s,size:e.size}),{signal:r})}(n,r,e,i),a=!Co(t)&&Boolean(e.preventClose);return n.uncompressedSize=r.size,await wn(s).pipeTo(hn(t.writable),{signal:i,preventClose:a,preventAbort:a}),t.getData?t.getData():t.writable}}isPasswordProtected(){return Boolean(this.data&&this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,n.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==De)return!1;throw t}}getText(t,e){return this.getData(new ro(t),e)}getBlob(t,e){return this.getData(new to(t),e)}getData64URI(t,e){return this.getData(new Xr(t),e)}getUint8Array(t){return this.getData(new Ro,t)}getWritable(t=new F,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return se(await this.getUint8Array(t)).buffer}replaceBlob(t){eu(this,{data:t,Reader:$r,Writer:to,uncompressedSize:t.size})}replaceText(t){eu(this,{data:t,Reader:eo,Writer:ro,uncompressedSize:no(t)})}replaceData64URI(t){eu(this,{data:t,Reader:Yr,Writer:Xr,uncompressedSize:nu(t)})}replaceUint8Array(t){eu(this,{data:t,Reader:xo,Writer:Ro,uncompressedSize:t.length})}replaceReadable(t){eu(this,{data:null,Reader:jc(t),Writer:null,uncompressedSize:dt})}}class Wc extends Lc{constructor(t,e,n,r){super(t,e,n,r),this.directory=!0}clone(t){const e=this,n=new Wc(e.fs,e.name,e);return t&&(n.children=e.children.map(e=>{const r=e.clone(t);return r.parent=n,r})),n}addDirectory(t,e){return lu(this,t,{options:e},!0)}addText(t,e,n={}){return lu(this,t,{data:e,Reader:eo,Writer:ro,options:n,uncompressedSize:no(e)})}addBlob(t,e,n={}){return lu(this,t,{data:e,Reader:$r,Writer:to,options:n,uncompressedSize:e.size})}addData64URI(t,e,n={}){return lu(this,t,{data:e,Reader:Yr,Writer:Xr,options:n,uncompressedSize:nu(e)})}addUint8Array(t,e,n={}){return lu(this,t,{data:e,Reader:xo,Writer:Ro,options:n,uncompressedSize:e.length})}addHttpContent(t,e,n={}){return lu(this,t,{data:e,Reader:class extends zo{constructor(t){super(t,n)}},options:n})}addReadable(t,e,n={}){return lu(this,t,{Reader:jc(e),options:n})}addFileSystemEntry(t,e={}){return iu(this,t,e)}addFileSystemHandle(t,e={}){return iu(this,t,e)}addFile(t,e={}){return(e=n.assign({},e)).lastModDate||(e.lastModDate=new a(t.lastModified)),lu(this,t.name,{data:t,Reader:function(){return{readable:t.stream(),size:t.size}},options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new $r(t),e)}importData64URI(t,e){return this.importZip(new Yr(t),e)}importUint8Array(t,e){return this.importZip(new xo(t),e)}importHttpContent(t,e){return this.importZip(new zo(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new to(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new Xr(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Ro,t)}async exportWritable(t=new F,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return async function(t,e,r){const{onstart:o,onprogress:i,onend:s}=r,a=tu(r.readerOptions),c=new AbortController,{signal:u}=c,l=function(t,e){if(!Wt(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const n=()=>e.abort(t.reason);return t.addEventListener("abort",n,{once:!0}),()=>t.removeEventListener("abort",n)}(r.signal,c),d=n.assign({},r,a,{signal:u,onstart:dt,onprogress:dt,onend:dt,preventClose:!1}),w=Hc([t],t=>Gc(t,d.passThrough)),p=[];let h=!1,m=0;try{o&&await or(o,w),await b(t,e),s&&await or(s,m)}catch(t){try{t.exportedEntryNames=p}catch{}throw t}finally{l()}return e;function y(t){const e=t.getWriter();return new F({async write(t){await e.write(t),m+=t.length,i&&await or(i,m,w)},close:()=>e.close(),abort:t=>e.abort(t)})}async function b(t,e){if(r.concurrent){const n=(await S.allSettled(t.children.map(t=>g(t,e)))).filter(t=>"rejected"==t.status);if(n.length){const t=n.filter(t=>!Jc(t.reason));throw function(t){const[e]=t,n=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(n.length)try{e.entryErrors=[...e.entryErrors||[],...n]}catch{}return e}((t.length?t:n).map(t=>t.reason))}}else for(const n of t.children)await g(n,e)}async function g(e,n){if(u.aborted){if(h||Jc(u.reason))return;throw u.reason===dt?new DOMException(Oc,"AbortError"):u.reason}try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await b(e,t)}else{const r=await n.getFileHandle(e.name,{create:!0}),o=await r.createWritable();try{await e.getData({writable:y(o)},d)}catch(t){throw h?new f(Uc):t}p.push(e.getRelativeName(t))}}catch(n){h=!0,c.abort(new f(Uc));try{n.entryName===dt&&(n.entryName=e.getRelativeName(t),n.entryId=e.id)}catch{}throw n}}}(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==pt?(r=t,e=n.assign({},r.options,e)):(await Io(t),r=new ts(t,e));const o=function(t){if(t===dt)return kc;if(Tc.has(t))return t;throw new f(Dc)}(e.duplicates),i=[],s=await r.getEntries(e);for(const t of s){let r=this;try{const s=t.filename.split("/").filter(t=>""!=t&&"."!=t),a=s.pop();let c=!1;for(const t of s){const e=r;if(r=r.getChildByName(t),r){if(!r.directory){if(o==Cc){c=!0;break}if(o!=Ic)throw new f(Rc);this.fs.remove(r),r=new Wc(this.fs,t,{data:null},e),i.push(r)}}else r=new Wc(this.fs,t,{data:null},e),i.push(r)}if(c)continue;if(t.directory){let e=r;if(a){if(e=r.getChildByName(a),e&&!e.directory){if(o==Cc)continue;if(o!=Ic)throw new f(Rc);this.fs.remove(e),e=dt}e||(e=new Wc(this.fs,a,{data:null},r),i.push(e))}e==this||e.data||(e.data=t)}else{const s=r.getChildByName(a);if(s){if(o==Cc)continue;if(o!=Ic)throw new f(Rc);this.fs.remove(s)}i.push(lu(r,a,{data:t,Reader:qc(n.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}}catch(e){i.reverse().forEach(t=>this.fs.remove(t));try{e.cause={entry:t}}catch{}throw e}}return i}async exportZip(t,e={}){const r=this;(e=n.assign({},e)).bufferedWrite===dt&&(e.bufferedWrite=!0);const[o]=await S.all([Yc(r,tu(e.readerOptions)),Io(t)]),i=new Da(t,e);return await async function(t,e,r,o,i){const{onstart:s,onprogress:a,onend:c,onentryprogress:u}=o,l=e,d=Hc(e.children,t=>ou(t)?0:1);let f=0,w=0;if(s&&await or(s,r),o.bufferedWrite)await async function t(e){const n=(await S.allSettled(e.children.map(async e=>{await p(e),await t(e)}))).find(t=>"rejected"==t.status);if(n)throw n.reason}(e);else for(const t of e.getChildren({recursive:!0}))await p(t);async function p(e){if(ou(e))return;const{name:s,fn:c}=Qc(e,l,o);let p=0;const h=await t.add(s,i.get(e),n.assign(c,{onstart:dt,onend:dt,onprogress:async t=>{f+=t-p,p=t,a&&await or(a,f,r)}}));w++,u&&await or(u,w,d,h)}c&&await or(c,f)}(i,r,Hc([r],Vc),e,o),await i.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(t={}){const e=this;tu((t=n.assign({},t)).readerOptions),t.bufferedWrite===dt&&(t.bufferedWrite=!0);const r=e.getChildren({recursive:!0}),o=r.filter(t=>!ou(t)).map(n=>{const{name:r,fn:o}=Qc(n,e,t);return{name:r,size:n.directory?0:$c(n,ru(n,t)),options:o}}),i=!t.bufferedWrite||o.every(t=>!1!==t.options.keepOrder)&&r.every(t=>ou(t)||!t.children.length);return async function(t,e,r,o){const i={options:t};if(Bt(t[It]))throw new f(aa);if(o!==dt&&!(o instanceof w))throw new f(Ws);const a=wc(o);if(a>M)throw new f(Bs);const u=t[kt],l=new c,d=t[At]===dt?0:t[At];let p=d,h=ft;for(const t of e){let{name:e}=t;const{size:r}=t,o=n.assign({},t.options);nc(i,o,oi)&&!e.endsWith(at)&&(e+=at);const a=Ia(i,e,o);({name:e}=a);const{Re:c}=Ta(i,e,o);0==c.level||c.compressionMethod!==dt||c.passThrough||await tr($t())||(c.level=0);const d=!nc(i,o,oi);if(d&&r===dt)throw new f(aa);const{nn:w,Re:m}=_a(i,d,r,c,o);if(d&&!c.passThrough&&ac(m.compressionMethod,m.level))throw new f(aa);const y=n.assign({},o,a.Re,c,m,{[kt]:u}),S=Na(y),b=Ma(y),g={Ce:S,_e:wc(S.Fe,b.Ae)};u&&Ua(g,p);const E=d?w:0;l.set(e,n.assign({},y,S,{offset:p,diskNumberStart:0,compressedSize:E}));const z=g._e+E;h=s.min(h,z),p+=z}if(l.size>1&&(u||p-h>=O)&&!r)throw new f(aa);const{Pe:m,Ze:y}=La(l);let S=nc(i,t,$o);if(p>=O||m>=O||l.size>=M){if(!1===S)throw new f(oa);S=!0}else S===dt&&y&&(S=!0);return p-d+m+a+(S?98:K)}(t,o,i,t.globalComment)}getChildByName(t){const e=this.children;for(let n=0;n<e.length;n++){const r=e[n];if(r.name==t)return r}}getChildren(t={}){return function(t,e){const n=[],r=[t];let o=0;for(;o<r.length;)for(const t of r[o++].children)n.push(t),e&&r.push(t);return n}(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const n=this.children;return!(await S.all(n.map(n=>n.checkPassword(t,e)))).includes(!1)}}class Pc{constructor(){au(this)}get children(){return this.root.children}remove(t){Xc(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const n of t.children)e.push(n)}t.parent=dt}move(t,e){if(t==this.root)throw new f("Root directory cannot be moved");if(!e.directory)throw new f("Target entry is not a directory");if(e.isDescendantOf(t))throw new f(Fc);if(t!=e){const n=e.getChildByName(t.name);if(n){if(n!=t)throw new f(xc)}else Xc(t),t.parent=e,e.children.push(t),uu(this,t)}}find(t){const e=t.split("/");let n=this.root;for(let t=0;n&&t<e.length;t++)n=n.directory?n.getChildByName(e[t]):dt;return n||(n=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),n}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,n){return this.root.addText(t,e,n)}addBlob(t,e,n){return this.root.addBlob(t,e,n)}addData64URI(t,e,n){return this.root.addData64URI(t,e,n)}addUint8Array(t,e,n){return this.root.addUint8Array(t,e,n)}addHttpContent(t,e,n){return this.root.addHttpContent(t,e,n)}addReadable(t,e,n){return this.root.addReadable(t,e,n)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return cu(this,n=>n.importBlob(t,e))}importData64URI(t,e){return cu(this,n=>n.importData64URI(t,e))}importUint8Array(t,e){return cu(this,n=>n.importUint8Array(t,e))}importHttpContent(t,e){return cu(this,n=>n.importHttpContent(t,e))}importReadable(t,e){return cu(this,n=>n.importReadable(t,e))}importZip(t,e){return cu(this,n=>n.importZip(t,e))}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const Zc={FS:Pc,ZipDirectoryEntry:Wc,ZipFileEntry:Bc};function Hc(t,n){let r=0;const o=e.from(t);for(;o.length;){const t=o.pop();r+=n(t)||0;for(const e of t.children)o.push(e)}return r}function Vc(t){return t.uncompressedSize}function Gc(t,e){const{data:n}=t;return e&&n instanceof pi?n.compressedSize:t.uncompressedSize}function jc(t){let e;return function(){if(e)throw new f(Ac);return e=!0,{readable:t}}}function qc(t){return class extends qr{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=n.assign({},t,e.options),{checkOverlappingEntry:o,checkOverlappingEntryOnly:i}=r,s=await e.entry.getData(new to,n.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:i||o,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.wn=new $r(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.wn.readUint8Array(t,e)}}}function Kc(t,e,n){return t.prototype?new t(e,n):t(e,n)}async function Yc(t,e){const n=[],r=[t],o=new c;for(;r.length;){const t=r.pop();for(const e of t.children)e.directory?r.push(e):n.push(e)}return await S.all(n.map(async t=>{const n=t.reader=Kc(t.Reader,t.data,e);o.set(t,n);try{await Io(n)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}n.size!==dt&&(t.uncompressedSize=n.size,t.ln=!1)})),o}function Xc(t){if(t.parent){const e=t.parent.children;e.forEach((n,r)=>{n.id==t.id&&e.splice(r,1)})}}function Jc(t){return Boolean(t)&&t.message==Uc}function Qc(t,e,r){const o=r.relativePath?t.getRelativeName(e):t.getFullname(),i=t.options||{};let u={},l={};if(t.data instanceof pi){const{externalFileAttributes:e,versionMadeBy:o,comment:d,lastModDate:w,rawLastModDate:p,creationDate:h,lastAccessDate:m,uncompressedSize:y,encrypted:S,zipCrypto:b,crc32:g,compressionMethod:E,extraFieldAES:z,internalFileAttributes:x,extraField:R,bitFlag:D,uid:F,gid:A}=t.data;u={externalFileAttributes:e,versionMadeBy:o,comment:d,lastModDate:w,creationDate:h,lastAccessDate:m,internalFileAttributes:x};const k=function(t){if(t){const e=new c;if(t.forEach((t,n)=>{Mc.has(n)||e.set(n,t.data)}),e.size)return e}}(R);if(k&&(u.extraField=k),F===dt&&A===dt||n.assign(u,{uid:F,gid:A,unixExtraFieldType:"infozip"}),ru(t,r)){let t;z&&(t=z.strength),l={passThrough:!0,encrypted:S,zipCrypto:b,crc32:g,uncompressedSize:y,encryptionStrength:t,compressionMethod:E},D&&(l.dataDescriptor=D.dataDescriptor);const e=i.lastModDate===dt?r.lastModDate:i.lastModDate;if(e===dt)l.rawLastModDate=p;else if(b&&(!D||D.dataDescriptor)&&e instanceof a&&function(t){let e=new a(2e3*s.ceil(s.floor(t.getTime()/1e3)/2));return e<lt?e=lt:e>ut&&(e=ut),(e.getHours()<<3|e.getMinutes()>>3)&L}(e)!=(p>>>8&L))throw new f(Nc)}}const d=n.assign({lastModDate:t.dn},u,r,i,l,{directory:t.directory});if(!t.directory&&d.passThrough&&d.uncompressedSize===dt)throw new f(vc);return{name:o,fn:d}}function $c(t,e){const{reader:n}=t;return n&&n.size!==dt?n.size:t.ln?dt:Gc(t,e)}function tu(t){if(t&&(typeof t!=ht||e.isArray(t)))throw new f(_c);return t}function eu(t,e){const{uncompressedSize:r}=e;n.assign(t,e,{reader:null,passThrough:dt,uncompressedSize:r===dt?0:r,ln:r===dt})}function nu(t){let e=t.length;for(;"="==t.charAt(e-1);)e--;const n=t.indexOf(",")+1;return s.floor(.75*(e-n))}function ru(t,e){const{readerOptions:n}=e;return Boolean(!t.directory&&(t.passThrough||n&&n.passThrough))}function ou(t){return t.directory&&null===t.data}function iu(t,e,r){return async function t(e,o,i,s=""){if(o){const c=s?s+"/"+o.name:o.name;try{if((o.isFile||o.isDirectory)&&(o=await su(o)),"file"==o.kind){const t=await o.getFile();i.push(lu(e,t.name,{Reader:function(){return{readable:t.stream(),size:t.size}},options:n.assign({},{lastModDate:new a(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==o.kind){const n=e.addDirectory(o.name,r);i.push(n);for await(const e of o.values())await t(n,e,i,c)}}catch(t){try{t.entryName===dt&&(t.entryName=c)}catch{}throw t}}return i}(t,e,[])}async function su(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new S((e,n)=>t.file(e,n))),t.isDirectory){e.kind="directory";const n=await async function(t){const e=[];function n(t,r,o){t.readEntries(async i=>{if(i.length){for(const t of i)e.push(await su(t));n(t,r,o)}else r(e)},o)}return await new S((e,r)=>n(t.createReader(),e,r)),{[T.iterator](){let t=0;return{next(){const n={value:e[t],done:t==e.length};return t++,n}}}}}(t);e.values=()=>n}return e}function au(t){t.entries=[],t.un=0,t.root=new Wc(t)}function cu(t,e){const{entries:r,un:o,root:i}=t;return au(t),e(t.root).catch(e=>{throw n.assign(t,{entries:r,un:o,root:i}),e})}function uu(t,e){const n=[e];for(;n.length;){const e=n.pop();t.entries[e.id]=e;for(const t of e.children)n.push(t)}}function lu(t,e,n,r){if(t.directory){const o=du(e);return o&&(e=o.pop(),t=fu(t,o)),r?new Wc(t.fs,e,n,t):new Bc(t.fs,e,n,t)}throw new f("Parent entry is not a directory")}function du(t){if(t.includes("/")){const e=t.split("/").filter(t=>""!=t&&"."!=t);if(e.length)return e}}function fu(t,e,n){return e.forEach(e=>{const r=t;if(t=t.getChildByName(e)){if(!t.directory)throw new f(xc);if(n&&(t==n||t.isDescendantOf(n)))throw new f(Fc)}else t=new Wc(r.fs,e,{data:null},r)}),t}t.BlobReader=$r,t.BlobWriter=to,t.Data64URIReader=Yr,t.Data64URIWriter=Xr,t.ERR_ABORTED=Oc,t.ERR_AMBIGUOUS_ARCHIVE=Fi,t.ERR_BAD_FORMAT=hi,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Si,t.ERR_DUPLICATED_NAME=Ls,t.ERR_DUPLICATE_IMPORTED_ENTRY=Rc,t.ERR_ENCRYPTED=Ei,t.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Ai,t.ERR_ENTRY_DATA_OUT_OF_BOUNDS=Di,t.ERR_ENTRY_EXISTS=xc,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=yi,t.ERR_EOCDR_NOT_FOUND=mi,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=gi,t.ERR_HTTP_RANGE=Ur,t.ERR_HTTP_RESOURCE_CHANGED=Or,t.ERR_INVALID_AUTHENTICATION_CODE=Fe,t.ERR_INVALID_CODEC_DEFINITION=mn,t.ERR_INVALID_CODEC_MODULE=Sn,t.ERR_INVALID_COMMENT=Bs,t.ERR_INVALID_COMMENT_TYPE=Ws,t.ERR_INVALID_COMPRESSED_DATA=kn,t.ERR_INVALID_CRC32=Cn,t.ERR_INVALID_DATE=Hs,t.ERR_INVALID_DUPLICATES=Dc,t.ERR_INVALID_ENCRYPTION_STRENGTH=js,t.ERR_INVALID_ENTRY_COMMENT=Ps,t.ERR_INVALID_ENTRY_COMMENT_TYPE=Zs,t.ERR_INVALID_ENTRY_NAME=Vs,t.ERR_INVALID_EXTRAFIELD=Xs,t.ERR_INVALID_EXTRAFIELD_DATA=$s,t.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Qs,t.ERR_INVALID_EXTRAFIELD_TYPE=Js,t.ERR_INVALID_FILENAME_VALIDATION=Ii,t.ERR_INVALID_FUNCTION_OPTION=Ot,t.ERR_INVALID_GID=fa,t.ERR_INVALID_LEVEL=Sa,t.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Ti,t.ERR_INVALID_MAX_WORKERS=Gt,t.ERR_INVALID_MSDOS_ATTRIBUTES=ma,t.ERR_INVALID_MSDOS_DATA=ya,t.ERR_INVALID_PASSWORD=De,t.ERR_INVALID_PASSWORD_TYPE=Lt,t.ERR_INVALID_PASS_THROUGH=vc,t.ERR_INVALID_READER=ua,t.ERR_INVALID_READER_OPTIONS=_c,t.ERR_INVALID_SIGNAL=Mt,t.ERR_INVALID_SIGNATURE_DATA=ba,t.ERR_INVALID_STRICTNESS=Ci,t.ERR_INVALID_UID=da,t.ERR_INVALID_UNCOMPRESSED_SIZE=An,t.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=pa,t.ERR_INVALID_UNIX_ID_SIZE=ha,t.ERR_INVALID_UNIX_MODE=wa,t.ERR_INVALID_VERSION=Gs,t.ERR_ITERATOR_COMPLETED_TOO_SOON=Mr,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=bi,t.ERR_OVERLAPPING_ENTRY=Ri,t.ERR_READABLE_CONSUMED=Ac,t.ERR_RESERVED_COMPRESSION_METHOD=yn,t.ERR_SPLIT_ZIP_FILE=xi,t.ERR_UNDEFINED_COMPRESSION_METHOD=sa,t.ERR_UNDEFINED_READER=ca,t.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ia,t.ERR_UNDETERMINED_SIZE=aa,t.ERR_UNSAFE_FILENAME=ki,t.ERR_UNSUPPORTED_COMPRESSION=bn,t.ERR_UNSUPPORTED_CONTEXT=zc,t.ERR_UNSUPPORTED_CRYPTO_API=ke,t.ERR_UNSUPPORTED_ENCRYPTION=zi,t.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ys,t.ERR_UNSUPPORTED_ENCRYPTION_USDZ=qs,t.ERR_UNSUPPORTED_FORMAT=oa,t.ERR_UNSUPPORTED_SPLIT_USDZ=Ks,t.ERR_UNSUPPORTED_UINT64=vi,t.ERR_WORKER_STARTUP_TIMEOUT=Xn,t.ERR_WRITER_NOT_INITIALIZED=Lr,t.ERR_ZIP_CRYPTO_LAST_MOD_DATE=Nc,t.ERR_ZIP_NOT_EMPTY=la,t.HttpRangeReader=class extends zo{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.HttpReader=zo,t.Reader=qr,t.SplitDataReader=Do,t.SplitDataWriter=Fo,t.TextReader=eo,t.TextWriter=ro,t.Uint8ArrayReader=xo,t.Uint8ArrayWriter=Ro,t.VERSION="2.11.3",t.WARNING_APPENDED_DATA=Bi,t.WARNING_COMPRESSED_PATCHED_DATA=Ui,t.WARNING_DUPLICATE_FILENAME=Hi,t.WARNING_MALFORMED_EXTRA_FIELD=Oi,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Gi,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=ji,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=qi,t.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Vi,t.WARNING_PREPENDED_CENTRAL_DIRECTORY=Pi,t.WARNING_PREPENDED_DATA=Wi,t.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Zi,t.WARNING_UNKNOWN_VERSION=Ni,t.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Mi,t.WARNING_UNSORTED_CENTRAL_DIRECTORY=_i,t.WARNING_WRAPPED_ENTRIES_COUNT=Li,t.Writer=Kr,t.ZipDirectoryEntry=Wc,t.ZipEntry=Lc,t.ZipFS=Pc,t.ZipFileEntry=Bc,t.ZipReader=ts,t.ZipReaderStream=es,t.ZipWriter=Da,t.ZipWriterStream=class{constructor(t={}){const{readable:e,writable:n}=new R;this.readable=e,this.zipWriter=new Da(n,t),this.oe=new u}transform(t){const e=this.zipWriter;let n;const{readable:r,writable:o}=new R({start(t){n=t},flush:()=>{!async function(){try{await e.close()}catch(t){await ka(e,t)}}()}});return Ca(this,this.zipWriter.add(t,r),t=>n.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:n,writable:r}=new R({start(t){e=t}});return Ca(this,this.zipWriter.add(t,n),t=>e.error(t)),r}async close(t,n={}){const{zipWriter:r}=this,o=(await S.allSettled(e.from(this.oe))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(o.length){const[t]=o;try{t.entryErrors=o}catch{}throw await ka(r,t),t}try{return await r.close(t,n)}catch(t){throw await ka(r,t),t}}},t.configure=function(t){n.assign(Qt,ne(oe(t)))},t.createBlobTempStream=function(t={}){const{thresholdBytes:e=bc}=t;return function(){const t=[];let n,r,o,i=0,s=!1;const a=new F({async write(o){s?await n.write(o):(t.push(o),i+=o.length,i>e&&await async function(){const e=new R;r=pn(e.readable),n=e.writable.getWriter(),s=!0;for(const e of t)await n.write(e);t.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new D({async pull(e){if(s){if(!o){const t=await r;o=t.stream().getReader()}const{value:t,done:n}=await o.read();n?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),t.length=0}}}},t.createOPFSTempStream=function(t={}){const{thresholdBytes:n=yc,directoryName:r=Sc,getDirectory:o=()=>C.storage.getDirectory()}=t;let i;function s(){return i||(i=S.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),i}return function(){const t=[];let r,o,i,a,c=0,u=!1;const l=new F({async write(a){u?await i.write(a):(t.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=z.randomUUID?z.randomUUID():e.from(z.getRandomValues(new w(16)),t=>t.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const e of t)await i.write(e);t.length=0}())},async close(){i&&(await i.close(),i=null)}});let d=0;return{writable:l,readable:new D({async pull(e){if(u){if(!a){const t=await o.getFile();a=t.stream().getReader()}const{value:t,done:n}=await a.read();n?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}o=r=null}t.length=0}}}},t.createSyncAccessHandleTempStream=function(t={}){const{thresholdBytes:n=gc,directoryName:r=Ec,getDirectory:o}=t;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new f(zc);const i=o||(()=>C.storage.getDirectory());let a;function c(){return a||(a=S.resolve(i()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,o,i=0,a=!1,u=0,l=0;const d=new F({async write(s){a?(o.write(s,{at:u}),u+=s.length):(t.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=z.randomUUID?z.randomUUID():e.from(z.getRandomValues(new w(16)),t=>t.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const e of t)o.write(e,{at:u}),u+=e.length;t.length=0}())},close(){o&&o.flush()}});let f=0;return{writable:d,readable:new D({pull(e){if(a){const t=u-l;if(t<=0)return void e.close();const n=new w(s.min(524288,t)),r=o.read(n,{at:l});r?(l+=r,e.enqueue(n.subarray(0,r))):e.close()}else f<t.length?e.enqueue(t[f++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const t=await c();await t.removeEntry(r)}catch{}r=null}t.length=0}}}},t.fs=Zc,t.getMimeType=function(){return"application/octet-stream"},t.getRegisteredCodecs=Rn,t.getSupportedCompressionMethods=function(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:n,DecompressionStreamFallback:r}=$t(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:mc(n,In)||mc(t,In)||mc(t,vn),decompression:mc(r,In)||mc(e,In)||mc(e,vn),registered:!1},{compressionMethod:9,compression:!1,decompression:mc(r,Tn)||mc(e,Tn),registered:!1}];for(const t of Rn()){const e=Dn(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==pt:dt,decompression:e?typeof e.DecompressionStream==pt:dt,registered:!0})}return o},t.isZipFile=ns,t.registerCodec=function(t={}){const{compressionMethod:e,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=t;if(!o.isInteger(e)||e<0||e>M||typeof n!=mt||!n.length)throw new f(mn);if(gn.includes(e))throw new f(yn);const c=typeof i==pt||typeof s==pt;if(!(c||typeof r==mt&&r.length))throw new f(mn);En.set(e,{compressionMethod:e,format:n,codecURI:r,versionNeeded:a}),c&&Fn(n,{CompressionStream:i,DecompressionStream:s})},t.resetConfiguration=function(){for(const t of Jt)delete Qt[t];n.assign(Qt,qt)},t.terminateWorkers=async function(){await S.allSettled(gr.map(t=>(Ir(t),t.terminate()))),Jn=dt,Qn=!1},t.unregisterCodec=function(t){const e=En.get(t);if(e){let n;En.delete(t),En.forEach(t=>n=n||t.format==e.format),n||zn.delete(e.format)}}});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:u,Response:l,URL:d,Error:f,Uint8Array:w,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:E,crypto:x,btoa:R,TransformStream:z,ReadableStream:F,WritableStream:D,CompressionStream:A,DecompressionStream:C,navigator:I,Worker:T,Symbol:k,setTimeout:v,clearTimeout:_,structuredClone:N}="undefined"!=typeof globalThis?globalThis:self;var U=void 0!==E?E.currentScript:null;const O=4294967295,M=65535,L=255,B=67324752,W=134695760,P=W,Z=84233040,H=33639248,V=101010256,G=101075792,j=117853008,q=46,K=22,Y=20,X=56,J=39169,Q=21589,$=6534,tt=30837,et=30805,nt=2048,rt=61440,ot=16384,it=2048,st=1024,at="/",ct=30,ut=new a(2107,11,31,23,59,58),lt=new a(1980,0,1),dt=void 0,ft=1/0,wt="undefined",pt="function",ht="object",mt="string",yt="boolean",gt=new w,St=k.asyncDispose||k(),bt="password",Et="rawPassword",xt="passThrough",Rt="signal",zt="useWebWorkers",Ft="useCompressionStream",Dt="transferStreams",At="preventClose",Ct="level",It="useUnicodeFileNames",Tt="dataDescriptor",kt="offset",vt="usdz",_t="maxAppendedDataSize",Nt="signCentralDirectory",Ut="entry",Ot="filename",Mt="comment",Lt="strict",Bt="balanced",Wt="tolerant",Pt="compressed",Zt="Invalid option (must be a function)",Ht="Invalid signal (must be an AbortSignal instance)",Vt="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Gt="Invalid passThrough option (must be a boolean or 'compressed')",jt="The operation was aborted";function qt(t){if(t&&typeof t!=pt)throw new f(Zt);return t}function Kt(t){if(t&&(typeof t.addEventListener!=pt||typeof t.aborted!=yt))throw new f(Ht);return t||dt}function Yt(t){if(t&&t.aborted)throw t.reason===dt?new DOMException(jt,"AbortError"):t.reason}function Xt(t,e){if(t&&typeof t!=mt||e&&!(e instanceof w))throw new f(Vt)}function Jt(t){if(t!==dt&&typeof t!=yt&&t!==Pt)throw new f(Gt);return t}function Qt(t,e,n){if(!o.isInteger(t)||t<0||t>e)throw new f(n)}function $t(t,e,n){t!==dt&&Qt(t,e,n)}function te(t){return typeof t==mt&&t.trim()?o(t):t}const ee="Invalid maxWorkers (must be an integer greater than 0)",ne="Invalid baseURI (must be a string)",re="Invalid URI (must be a string or a function returning a string)";let oe=2;try{typeof I!=wt&&I.hardwareConcurrency&&(oe=I.hardwareConcurrency)}catch{}const ie={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=wt&&A,DecompressionStream:typeof C!=wt&&C},se="maxWorkers",ae="baseURI",ce=["wasmURI","workerURI"],ue=["chunkSize",se,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],le=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],de=[ae,...ce,"useCompressionStream","useWebWorkers","transferStreams",...ue,...le],fe={...ie};function we(){return fe}function pe(t){return he(t.chunkSize)}function he(t){return t=te(t),o.isInteger(t)&&t>=1?s.max(t,64):65536}function me(t){const e={};for(const n of de){const r=t[n];r!==dt&&(e[n]=ye(n,r))}return e}function ye(t,e){if(ue.includes(t)){if(e=te(e),t==se&&(!o.isInteger(e)||e<1))throw new f(ee)}else if(le.includes(t))qt(e);else if(t==ae){if(e&&typeof e!=mt)throw new f(ne)}else if(ce.includes(t)&&e&&typeof e!=mt&&typeof e!=pt)throw new f(re);return e}function ge(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===dt&&r===dt)return t;const o=n.assign({},t);return o.CompressionStreamFallback===dt&&(o.CompressionStreamFallback=e),o.DecompressionStreamFallback===dt&&(o.DecompressionStreamFallback=r),o}function Se(t,e){const n=new w(t.length+e.length);return n.set(t),n.set(e,t.length),n}function be(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new w(t):t}function Ee(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const xe=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;xe[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const n=xe[e-1][t];xe[e][t]=n>>>8^xe[0][255&n]}const[Re,ze,Fe,De,Ae,Ce,Ie,Te]=xe;class ke{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const o=new m(t.buffer,t.byteOffset,n),i=n-8;for(;r<=i;r+=8){const t=e^o.getInt32(r,!0),n=o.getInt32(r+4,!0);e=Te[255&t]^Ie[t>>>8&255]^Ce[t>>>16&255]^Ae[t>>>24&255]^De[255&n]^Fe[n>>>8&255]^ze[n>>>16&255]^Re[n>>>24&255]}}for(;r<n;r++)e=e>>>8^Re[255&(e^t[r])];this.o=e}get(){return~this.o}}class ve extends z{constructor(){let t;const e=new ke;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new w(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function _e(t){if(typeof S==wt){t=unescape(encodeURIComponent(t));const e=new w(t.length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new S).encode(t)}const Ne={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=Ne.l(n);return 32===r?t.concat(e):Ne.h(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+Ne.l(n)},m(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,s.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=Ne.S(e,t[n-1]&2147483648>>e-1,1)),t},S:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,l:t=>s.round(t/1099511627776)||32,h(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let o=0;o<t.length;o++)r.push(n|t[o]>>>e),n=t[o]<<32-e;const o=t.length?t[t.length-1]:0,i=Ne.l(o);return r.push(Ne.S(e+i&31,e+i>32?n:r.pop(),1)),r}},Ue={bytes:{R(t){const e=Ne.bitLength(t)/8,n=new w(e);let r;for(let o=0;o<e;o++)3&o||(r=t[o/4]),n[o]=r>>>24,r<<=8;return n},F(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(Ne.S(8*(3&n),r)),e}}},Oe=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.A=[1518500249,1859775393,2400959708,3395469782],t?(e.C=t.C.slice(0),e.I=t.I.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.C=t.D.slice(0),t.I=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=Ue.v.F(t));const n=e.I=Ne.concat(e.I,t),r=e.T,o=e.T=r+Ne.bitLength(t);if(o>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let s=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);t<=o;t+=e.blockSize)e._(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e}N(){const t=this;let e=t.I;const n=t.C;e=Ne.concat(e,[Ne.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(s.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t._(e.splice(0,16));return t.reset(),n}U(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0}O(t,e){return e<<t|e>>>32-t}_(t){const n=this,r=n.C,o=e(80);for(let e=0;e<16;e++)o[e]=t[e];let i=r[0],a=r[1],c=r[2],u=r[3],l=r[4];for(let t=0;t<=79;t++){t>=16&&(o[t]=n.O(1,o[t-3]^o[t-8]^o[t-14]^o[t-16]));const e=n.O(5,i)+n.U(t,a,c,u)+l+o[t]+n.A[s.floor(t/20)]|0;l=u,u=c,c=n.O(30,a),a=i,i=e}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0}},Me={importKey:t=>new Me.M(Ue.bytes.F(t)),L(t,e,n,r){if(n=n||1e4,r<0||n<0)throw new f("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,u;const l=new ArrayBuffer(o),d=new m(l);let w=0;const p=Ne;for(e=Ue.bytes.F(e),u=1;w<(o||1);u++){for(i=s=t.encrypt(p.concat(e,[u])),a=1;a<n;a++)for(s=t.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)d.setInt32(w,i[a]),w+=4}return l.slice(0,r/8)},M:class{constructor(t){const e=this,n=e.B=Oe,r=[[],[]];e.W=[new n,new n];const o=e.W[0].blockSize/32;t.length>o&&(t=(new n).update(t).N());for(let e=0;e<o;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.W[0].update(r[0]),e.W[1].update(r[1]),e.P=new n(e.W[0])}reset(){const t=this;t.P=new t.B(t.W[0]),t.Z=!1}update(t){this.Z=!0,this.P.update(t)}digest(){const t=this,e=t.P.N(),n=new t.B(t.W[1]).update(e).N();return t.reset(),n}encrypt(t){if(this.Z)throw new f("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Le=typeof x!=wt&&typeof x.getRandomValues==pt,Be="Invalid password",We="Invalid authentication code",Pe="zipjs-abort-check-password",Ze="Crypto API not supported";function He(t){if(Le)return x.getRandomValues(t);throw new f(Ze)}const Ve=16,Ge={name:"PBKDF2"},je=n.assign({hash:{name:"HMAC"}},Ge),qe=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ge),Ke=["deriveBits"],Ye=[8,12,16],Xe=[16,24,32],Je=10,Qe=[0,0,0,0],$e=typeof x!=wt,tn=$e&&x.subtle,en=$e&&typeof tn!=wt,nn=Ue.bytes,rn=class{constructor(t){const e=this;e.H=[[[],[],[],[],[]],[[],[],[],[],[]]],e.H[0][0][0]||e.V();const n=e.H[0][4],r=e.H[1],o=t.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new f("invalid aes key size");for(e.A=[s=t.slice(0),a=[]],i=o;i<4*o+28;i++){let t=s[i-1];(i%o===0||8===o&&i%o===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],i%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^t}for(let t=0;i;t++,i--){const e=s[3&t?i:i-4];a[t]=i<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.G(t,0)}decrypt(t){return this.G(t,1)}V(){const t=this.H[0],e=this.H[1],n=t[4],r=e[4],o=[],i=[];let s,a,c,u;for(let t=0;t<256;t++)i[(o[t]=t<<1^283*(t>>7))^t]=t;for(let l=s=0;!n[l];l^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,u=o[c=o[a=o[l]]];let d=16843009*u^65537*c^257*a^16843008*l,f=257*o[i]^16843008*i;for(let n=0;n<4;n++)t[n][l]=f=f<<24^f>>>8,e[n][i]=d=d<<24^d>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}G(t,e){if(4!==t.length)throw new f("invalid aes block size");const n=this.A[e],r=n.length/4-2,o=[0,0,0,0],i=this.H[e],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4];let d,w,p,h=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],S=4;for(let t=0;t<r;t++)d=s[h>>>24]^a[m>>16&255]^c[y>>8&255]^u[255&g]^n[S],w=s[m>>>24]^a[y>>16&255]^c[g>>8&255]^u[255&h]^n[S+1],p=s[y>>>24]^a[g>>16&255]^c[h>>8&255]^u[255&m]^n[S+2],g=s[g>>>24]^a[h>>16&255]^c[m>>8&255]^u[255&y]^n[S+3],S+=4,h=d,m=w,y=p;for(let t=0;t<4;t++)o[e?3&-t:t]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^n[S++],d=h,h=m,m=y,y=g,g=d;return o}},on=class{constructor(t,e){this.j=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.j,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,n){let r;if(!(r=e.length))return[];const o=Ne.bitLength(e);for(let o=0;o<r;o+=4){this.$(n);const r=t.encrypt(n);e[o]^=r[0],e[o+1]^=r[1],e[o+2]^=r[2],e[o+3]^=r[3]}return Ne.m(e,o)}},sn=Me.M;let an=$e&&en&&typeof tn.importKey==pt,cn=$e&&en&&typeof tn.deriveBits==pt;class un extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){dn(this,t,e,n)},async transform(t,e){const n=this,{password:o,strength:i,et:s,ready:a}=n;o?(await async function(t,e,n,r){const o=await wn(t,e,n,hn(r,0,Ye[e])),i=hn(r,Ye[e]);if(o[0]!=i[0]||o[1]!=i[1])throw new f(Be)}(n,i,o,hn(t,0,Ye[i]+2)),t=hn(t,Ye[i]+2),r?e.error(new f(Pe)):s()):await a;const c=new w(t.length-Je-(t.length-Je)%Ve);e.enqueue(fn(n,t,c,0,Je,!0))},async flush(t){const{nt:e,ot:n,it:r,ready:i}=this;if(n&&e){await i;const s=hn(r,0,r.length-Je),a=hn(r,r.length-Je);let c=gt;if(s.length){const t=yn(nn,s);n.update(t);const r=e.update(t);c=mn(nn,r)}const u=hn(mn(nn,n.digest()),0,Je);let l=r.length<Je?1:0;for(let t=0;t<Je;t++)l|=u[t]^a[t];if(l&&o)throw new f(We);t.enqueue(c)}}})}}class ln extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){dn(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:o,et:i,ready:s}=n;let a=gt;r?(a=await async function(t,e,n){const r=He(new w(Ye[e]));return Se(r,await wn(t,e,n,r))}(n,o,r),i()):await s;const c=new w(a.length+t.length-t.length%Ve);c.set(a,0),e.enqueue(fn(n,t,c,a.length,0))},async flush(t){const{nt:e,ot:n,it:r,ready:o}=this;if(n&&e){await o;let i=gt;if(r.length){const t=e.update(yn(nn,r));n.update(t),i=mn(nn,t)}const s=mn(nn,n.digest()).slice(0,Je);t.enqueue(Se(i,s))}}})}}function dn(t,e,r,o){n.assign(t,{ready:new g(e=>t.et=e),password:pn(e,r),strength:o-1,it:gt})}function fn(t,e,n,r,o,i){const{nt:s,ot:a,it:c}=t;c.length&&(e=Se(c,e));const u=e.length-o;let l;for(n=function(t,e){if(e&&e>t.length){const n=t;(t=new w(e)).set(n,0)}return t}(n,r+(u-u%Ve)),l=0;l<=u-Ve;l+=Ve){const t=yn(nn,hn(e,l,l+Ve));i&&a.update(t);const o=s.update(t);i||a.update(o),n.set(mn(nn,o),l+r)}return t.it=hn(e,l),n}async function wn(t,r,o,i){t.password=null;const s=await async function(t,e,n,r,o){if(!an)return Me.importKey(e);try{return await tn.importKey("raw",e,n,!1,o)}catch{return an=!1,Me.importKey(e)}}(0,o,je,0,Ke),a=await async function(t,e,n){if(!cn)return Me.L(e,t.salt,qe.iterations,n);try{return await tn.deriveBits(t,e,n)}catch{return cn=!1,Me.L(e,t.salt,qe.iterations,n)}}(n.assign({salt:i},qe),s,8*(2*Xe[r]+2)),c=new w(a),u=yn(nn,hn(c,0,Xe[r])),l=yn(nn,hn(c,Xe[r],2*Xe[r])),d=hn(c,2*Xe[r]);return n.assign(t,{keys:{key:u,st:l,passwordVerification:d},nt:new on(new rn(u),e.from(Qe)),ot:new sn(l)}),d}function pn(t,e){return e===dt?_e(t):e}function hn(t,e,n){return t.subarray(e,n)}function mn(t,e){return t.R(e)}function yn(t,e){return t.F(e)}class gn extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){bn(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=En(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new f(Be);t=t.subarray(12)}r?e.error(new f(Pe)):e.enqueue(En(n,t))}})}}class Sn extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){bn(this,t,e,n)},transform(t,e){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=He(new w(12));e[11]=n.passwordVerification,r=new w(t.length+e.length),r.set(xn(n,e),0),o=12}else r=new w(t.length),o=0;r.set(xn(n,t),o),e.enqueue(r)}})}}function bn(t,e,r,o){n.assign(t,{password:e,rawPassword:r,passwordVerification:o}),function(t,e,r){const o=[305419896,591751049,878082192];if(n.assign(t,{keys:o,ct:new ke(o[0]),ut:new ke(o[2])}),r)for(let e=0;e<r.length;e++)Rn(t,r[e]);else for(let n=0;n<e.length;n++)Rn(t,e.charCodeAt(n))}(t,e,r)}function En(t,e){const n=new w(e.length);for(let r=0;r<e.length;r++)n[r]=zn(t)^e[r],Rn(t,n[r]);return n}function xn(t,e){const n=new w(e.length);for(let r=0;r<e.length;r++)n[r]=zn(t)^e[r],Rn(t,e[r]);return n}function Rn(t,e){let[,n]=t.keys;t.ct.append([e]);const r=~t.ct.get();n=Dn(s.imul(Dn(n+Fn(r)),134775813)+1),t.ut.append([n>>>24]);const o=~t.ut.get();t.keys=[r,n,o]}function zn(t){const e=2|t.keys[2];return Fn(s.imul(e,1^e)>>>8)}function Fn(t){return 255&t}function Dn(t){return 4294967295&t}function An(t){if(t instanceof F)return t;const e=t.getReader();return new F({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function Cn(t,e){t=An(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=pt||new y([]).stream()instanceof F)return new l(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new D({write(t){r.push(t)}})).then(()=>new y(r,n))}function In(t){if(t instanceof D)return t;const e=t.getWriter();return new D({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Tn="Invalid codec definition",kn="Reserved compression method",vn="Invalid codec module",_n="Compression method not supported",Nn=[0,8,9,99],Un=new c,On=new c;function Mn(t){return Un.get(t)}function Ln(){return e.from(Un.values(),t=>n.assign({},t,On.get(t.format)))}function Bn(t){return On.get(t)}function Wn(t,e){const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=pt&&typeof r!=pt)throw new f(vn);On.set(t,{CompressionStream:n,DecompressionStream:r})}const Pn="Invalid uncompressed size",Zn="Invalid compressed data",Hn="Invalid CRC32",Vn="deflate-raw",Gn="deflate64-raw",jn="gzip",qn=[31,139,8];class Kn extends z{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:d,compressionMethod:f,inputSize:w}=t,p=this;let h,y,g,S=super.readable;const b=d&&Bn(d),E=c&&o&&!l&&!b&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||E||(h=new ve,S=rr(S,h)),o)if(b)S=or(S,er(b.CompressionStream,d,{level:u,chunkSize:e,compressionMethod:f,uncompressedSize:w}));else if(E)g=new Yn,S=or(S,new r(jn)),S=rr(S,g);else try{S=nr(S,s,{level:u,chunkSize:e},r,n)}catch(t){let e;try{e=new r(jn)}catch{throw t}S=or(S,e),S=rr(S,new Yn)}i&&(a?S=rr(S,new Sn(t)):(y=new ln(t),S=rr(S,y))),tr(p,S,()=>{i&&!a||!c||(p.crc32=E?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Yn extends z{constructor(){let t,e=10,n=new w(0);super({transform(t,r){if(e){const n=s.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const o=n.length+t.length;if(o<=8)return void(n=Se(n,t));const i=o-8,a=s.min(i,n.length);r.enqueue(Se(n.subarray(0,a),t.subarray(0,i-a))),n=Se(n.subarray(a),t.subarray(i-a))},flush(){const e=Ee(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Xn extends z{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:d,compressionMethod:p,rawBitFlag:h,outputSize:y}=t;let S,b,E=super.readable;if(i&&(o?E=rr(E,new gn(t)):(b=new un(t),E=rr(E,b))),c){const t=d&&Bn(d);if(t)E=or(E,er(t.DecompressionStream,d,{chunkSize:e,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{E=nr(E,u,{chunkSize:e,deflate64:l},r,n)}catch(t){if(l||y===dt)throw t;let e;try{e=new r(jn)}catch{throw t}E=function(t,e,n){const r=new ke;let o,i,s,a=0,c=!1;const u=new g((t,e)=>{i=t,s=e});u.catch(()=>{}),n||i();const l=new z({start(t){const e=new w(10);e.set(qn),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,p();try{await u}finally{h()}const e=new w(8),o=Ee(e);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),t.enqueue(e)},cancel(t){s(t)}}),d=new z({transform(t,e){r.append(t),a+=t.length,a>=n?i():c&&p(),e.enqueue(t)},cancel(t){s(t)}});return t=rr(t,l),rr(t=or(t,e),d);function p(){h(),o=v(()=>s(new f(Pn)),5e3)}function h(){_(o)}}(E,e,y)}E=function(t){const e=t.getReader();return new F({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new f(Zn);throw e.cause=t,e}const{value:r,done:o}=n;o?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}(E)}s&&(S=new ve,E=rr(E,S)),tr(this,E,()=>{if(s){const t=new m(S.value.buffer);if(a!=t.getUint32(0,!1))throw new f(Hn)}})}}const Jn=new c;function Qn(t,e){if(!t)return!1;let n=Jn.get(t);n||(n=new c,Jn.set(t,n));let r=n.get(e);if(r===dt){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function $n(t){return Qn(t,Vn)}function tr(t,e,r){e=rr(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function er(t,e,n){if(!t)throw new f(_n);return new t(e,n)}function nr(t,e,n,r,o){const i=e&&r?r:o||r,s=n.deflate64?Gn:Vn;let a;try{a=new i(s,n)}catch(t){if(!e||!o||i==o)throw t;a=new o(s,n)}return or(t,a)}function rr(t,e){return An(t).pipeThrough(e)}function or(t,e){const n=e.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(n,t),await async function(t,e){try{await t.cancel(e)}catch{}}(r,t)}}(),e.readable}const ir="data",sr="deflate",ar="inflate";class cr extends z{constructor(t,e){super({});const r=this,{codecType:o}=t;let i;o.startsWith(sr)?i=Kn:o.startsWith(ar)&&(i=Xn),r.outputSize=0;let s=0;const a=new i(t,e),c=super.readable,u=new z({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:s})}}),l=new z({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==dt&&r.outputSize>t.outputSize))throw new f(Pn)},flush(){const{crc32:t}=a;n.assign(r,{crc32:t,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class ur extends z{constructor(t){const e=[];let r=0,i=0;function s(){const n=new w(t);let o=0;for(;o<t;){const r=e[0],i=t-o;r.length<=i?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,i),o),e[0]=r.subarray(i),o+=i)}return r-=t,n}(!o.isFinite(t)||t<1)&&(t=65536),super({transform(n,o){for(e.push(n),r+=n.length;r>t;)i+=t,o.enqueue(s())},flush(t){r&&(i+=r,t.enqueue(function(t,e){const n=new w(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}(e,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const lr="Worker startup timeout";let dr,fr,wr;async function pr(t){const{CompressionStream:e,CompressionStreamFallback:n}=t;if(n&&!n.lt)return!0;if($n(e)||Qn(e,jn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}function hr(t){t.createWorker?fr=!0:dr=!1}class mr{constructor(t,{readable:e,writable:r},{options:o,config:i,ft:s,useWebWorkers:a,transferStreams:c,workerURI:u,createWorker:l},d){const{signal:f}=s;return fr&&(l=dt),n.assign(t,{wt:!0,ht:(t.ht||0)+1,readable:e.pipeThrough(new ur(pe(i))).pipeThrough(new yr(s),{signal:f}),writable:r,options:n.assign({},o),workerURI:u,createWorker:l,transferStreams:c,terminate:()=>new g(e=>{const{yt:n,wt:r}=t;n?(r?t.gt=e:(n.terminate(),e()),t.St=null):e()}),bt(){if(t.wt){const{gt:e}=t;e&&(t.gt=null,t.Et=!0,t.yt.terminate(),e()),t.wt=!1,d(t)}}}),dr===dt&&(dr=typeof T!=wt),(a&&wr&&(dr&&u||l)?wr:Sr)(t,i)}}class yr extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let o=0;super({async start(){t&&await gr(t,n)},async transform(t,r){o+=t.length,e&&await gr(e,o,n),r.enqueue(t)},async flush(){r&&await gr(r,o)}})}}async function gr(t,...e){try{await t(...e)}catch{}}function Sr(t,e){return{run:()=>br(t,e)}}async function br({options:t,readable:e,writable:n,bt:r},o){let i,s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(sr),n=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(n&&n.lt&&!$n(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.lt||(t.useCompressionStream=!0)}}i=new cr(t,o),s=new ur(pe(o)),await e.pipeThrough(i).pipeThrough(s).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:a,outputSize:c}=i;return{crc32:r,inputSize:a,outputSize:c}}catch(t){throw i&&(t.outputSize=s?s.outputSize:0),t}finally{r()}}const Er={type:"module"},xr="error";let Rr,zr,Fr,Dr=!0;try{Dr=typeof N==pt&&N(new DOMException("","AbortError")).code!==dt}catch{}var Ar;function Cr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Ir(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.St=null}function Tr(t,e,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(zr===dt||Rr!==t){const n=typeof t==pt;c=n?t(i):t;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===dt&&(o=!1),o&&(u=Er);try{a=new T(c,u)}catch(i){if(l)try{d.revokeObjectURL(c)}catch{}if(n&&l)return Tr(t,e,r,o,!1);if(o)throw i;return Tr(t,e,r,!0,!1)}}else{o===dt&&(o=!0),o&&(u=Er);try{c=new d(c,e)}catch{}try{a=new T(c,u)}catch(n){if(o)return Tr(t,e,r,!1,i);throw n}}Rr=t,zr=c,Fr=u}else a=new T(zr,Fr);return a.addEventListener("message",t=>{r.xt=!0,kr(r),async function({data:t},e){const{type:r,value:o,messageId:i,result:s,error:a}=t,{reader:c,writer:u,Rt:l,zt:d,bt:p,ht:h}=e,m=()=>e.ht!=h;try{if(a){const{message:t,stack:e,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,u=new f(t);n.assign(u,{stack:e,code:r,name:o,outputSize:i}),s&&(u.cause=n.assign(new f(s.message),{name:s.name})),c&&(u.codecImportFailed=!0),y(u)}else{if("pull"==r){const{value:t,done:n}=await c.read();m()||_r({type:ir,value:t,done:n,messageId:i},e)}if(r==ir){const t=new w(o);await u.ready,await u.write(t),e.outputSize+=t.length,m()||_r({type:"ack",messageId:i},e)}"close"==r&&y(null,s)}}catch(a){m()||(Ir(e),y(a))}function y(t,e){m()||(t?d(t):l(e),u&&u.releaseLock(),t&&t.codecImportFailed||p())}}(t,r)}),a.addEventListener(xr,t=>vr(t,r)),a.addEventListener("messageerror",t=>vr(t,r)),a}function kr(t){const{Ft:e}=t;e&&(_(e),t.Ft=null)}function vr(t,e){t.preventDefault&&t.preventDefault(),kr(e);const{xt:r,zt:o,writer:i,bt:s}=e;Ir(e),r||(e.yt=null);let a=t.error||new f(t.message||xr);r||(a=n.assign(new f(a.message||xr),{Dt:!0}),e.At=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function _r(t,{yt:e,writer:n,transferStreams:r,xt:o}){try{const{value:n,readable:i,writable:s}=t,a=[];if(n&&(t.value=be(n),a.push(t.value.buffer)),r&&Dr&&o?(i&&a.push(i),s&&a.push(s)):t.readable=t.writable=null,a.length)try{return e.postMessage(t,a),!0}catch{Dr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw n&&n.releaseLock(),t}}Ar=function(t,e){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=e;let{wasmURI:a}=e;if(!t.St){let c;typeof a==pt&&(a=a());try{c=Tr(t.workerURI,r,t)}catch{return hr(t),Sr(t,e)}n.assign(t,{yt:c,xt:!1,Et:!1,At:null,St:{run:async()=>{try{return await async function(t,e){if(!t.yt){const{At:e}=t;t.At=null;const n=e||new f(lr);throw n.Dt=!0,n}let r,i;const s=new g((e,n)=>{r=e,i=e=>{e&&e.outputSize===dt&&(e.outputSize=t.outputSize),n(e)}});n.assign(t,{reader:null,writer:null,outputSize:0,Rt:r,zt:i,result:s});const{readable:a,options:c}=t,{writable:u,closed:l,Ct:d}=function(t){const e=new AbortController,{writable:n,readable:r}=new z,o=r.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return o.catch(()=>{}),{writable:n,closed:o,Ct:()=>e.abort()}}(t.writable);let w;try{w=_r({type:"start",options:c,config:e,readable:a,writable:u},t)}catch(e){d();try{await l}catch{}throw t.bt(),e}w||n.assign(t,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=e;!t.xt&&o.isFinite(p)&&p>=0&&(t.Ft=v(()=>function(t){if(t.Ft=null,t.xt)return;const{zt:e,writer:n}=t;if(Ir(t),t.yt=null,e){const t=new f(lr);t.Dt=!0,e(t),n&&n.releaseLock()}}(t),p));try{const t=await s;return await h(),await l,t}catch(t){await h(),d();try{await l}catch{}throw t}async function h(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(t,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.Dt)return hr(t),Cr(t),br(t,e);if(n&&n.codecImportFailed){if(t.reader)return Cr(t),br(t,e);t.bt()}throw n}}}})}return t.St},wr=Ar;let Nr=[];const Ur=[];let Or,Mr,Lr=0;async function Br(t,e){const{options:n,config:r}=e,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:f,format:w,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(t,e){try{return new d(t,e).toString()}catch{return t}}(p,r.baseURI)),await async function(t,e){!On.has(t)&&e&&Wn(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(w,n.codecURI)),e.transferStreams=!w&&(i||i===dt&&r.transferStreams);const S=!(c||u||l||f),b=w===dt||Boolean(n.codecURI);return e.useWebWorkers=!S&&b&&(s||s===dt&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:dt,e.createWorker=e.useWebWorkers&&m?m:dt,n.useCompressionStream=a||a===dt&&r.useCompressionStream,(await async function(){const n=Nr.find(t=>!t.wt);if(n)return Vr(n),new mr(n,t,e,E);if(Nr.length<y){const n={It:Lr};return Lr++,Nr.push(n),new mr(n,t,e,E)}return new g(n=>{Ur.push({resolve:n,stream:t,Tt:e}),Mr=r.workerStarvationTimeout,Wr()})}()).run();function E(t){if(Pr(),Ur.length){const[{resolve:e,stream:n,Tt:r}]=Ur.splice(0,1);e(new mr(t,n,r,E)),Wr()}else t.yt?(Vr(t),function(t,e){const{config:n}=e,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(t.Et?t.Et=!1:t.kt=v(async()=>{Nr=Nr.filter(e=>e!=t);try{await t.terminate()}catch{}},r))}(t,e)):Nr=Nr.filter(e=>e!=t)}}function Wr(){!Or&&Ur.length&&o.isFinite(Mr)&&Mr>=0&&(Or=v(Zr,Mr))}function Pr(){Or&&(_(Or),Or=null)}function Zr(){if(Or=null,Ur.length){const[{resolve:t,stream:e,Tt:r}]=Ur.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:dt,createWorker:dt});t(new mr({},e,o,Hr)),Wr()}}function Hr(){Pr(),Wr()}function Vr(t){const{kt:e}=t;e&&(_(e),t.kt=null)}const Gr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function jr(t,e){return qr(t,e,!0)}function qr(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let n=0;n<t.length;n++)e+=Gr[t[n]];return e}(t):new b(e,{ignoreBOM:n}).decode(t)}const Kr="HTTP error ",Yr="HTTP Range not supported",Xr="HTTP resource changed",Jr="Writer iterator completed too soon",Qr="Writer not initialized",$r="Invalid writer (size must be writable)",to="Content-Range",eo="Range",no="GET",ro="bytes",oo=16777216,io="writable",so=k();class ao{constructor(){this.size=0}init(){this.initialized=!0}}class co extends ao{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=pe(we())}={}){const r=this;let o=0;return n=he(n),new F({async pull(i){const a=e===dt?n:s.min(n,e-o),c=await qo(r,t+o,a);c.length&&(i.enqueue(c),o+=c.length),(e!==dt&&o>=e||!c.length&&a)&&i.close()}})}}class uo extends ao{constructor(){super();const t=this,e=new D({write(e){if(!t.initialized)throw new f(Qr);return t.writeUint8Array(be(e))}});n.defineProperty(t,io,{get:()=>e})}writeUint8Array(){}}class lo extends co{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;n.assign(this,{vt:t,_t:r,size:s.floor(.75*(e-r))})}readUint8Array(t,e){const{_t:n,vt:r}=this,o=new w(e),i=4*s.floor(t/3),a=atob(r.substring(i+n,4*s.ceil((t+e)/3)+n)),c=t-3*s.floor(i/4);let u=0;for(let t=c;t<c+e&&t<a.length;t++)o[t-c]=a.charCodeAt(t),u++;return u<o.length?o.subarray(0,u):o}}class fo extends uo{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Nt:""})}writeUint8Array(t){const e=this;let n,o=e.Nt;const i=e.Nt.length;for(e.Nt="",n=0;n<3*s.floor((i+t.length)/3)-i;n++)o+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.Nt+=r.fromCharCode(t[n]);o.length>2?e.data+=R(o):e.Nt=o+e.Nt}getData(){return this.data+R(this.Nt)}}let wo,po;class ho extends co{constructor(t){super(),n.assign(this,{Ut:t,size:t.size}),po||(po=(async()=>{try{const t=new y([new w(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();wo=1==e}catch{wo=!1}})())}createReadable(t){const{Ut:e,size:n}=this,{offset:r=0,size:o=n-r}=t||{};if(typeof e.stream==pt){if(!r&&o>=n)return An(e.stream());if(wo)return An(e.slice(r,r+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,o=!t&&r>=n.size?n.Ut:n.Ut.slice(t,r);let i=await o.arrayBuffer();return i.byteLength>e&&(i=i.slice(t,r)),new w(i)}}class mo extends ao{constructor(t){super();const e=this,r=new z;n.defineProperty(e,io,{get:()=>r.writable}),e.contentType=t,e.Ot=Cn(r.readable,t),e.Ot.catch(()=>{})}getData(){return this.Ot}}class yo extends ho{constructor(t){super(new y([t],{type:"text/plain"}))}}function go(t){let e=0;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);r<128?e+=1:r<2048?e+=2:r<55296||r>=57344?e+=3:r<56320&&56320==(64512&t.charCodeAt(n+1))?(e+=4,n++):e+=3}return e}class So extends mo{constructor(t){super(),n.assign(this,{encoding:t,Mt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Mt:e}=this,n=await super.getData();return n.text&&e?n.text():function(t,e){return qr(t,e,!1)}(new w(await n.arrayBuffer()),t)}}class bo extends co{constructor(t,e){super(),xo(this,t,e)}async init(){await Ro(this,Uo,ko),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=e;if((n||r)&&i!==dt){const{offset:n=0,size:r=i-n}=t||{};if(r>0&&n<i)return function(t,e,n){let r,i=e,a=0,c=n;return new F({start:()=>u(),async pull(t){r||await u();const{value:e,done:n}=await r.read();if(n)throw new f(Yr);const o=e.length>a?e.subarray(0,a):e;a-=o.length,c-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=r;r=dt,await t.cancel()}(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function u(){const e=s.min(t.maximumRangeSize,c),n=await Uo(no,t,Io(t,i,e));if(206!=n.status)throw new f(Yr);const u=n.headers.get(to);if(u){const t=o(u.trim().split(/[\s-]+/)[1]);if(!o.isNaN(t)&&t!=i)throw new f(Yr)}Co(t,n),Ao(t,n),i+=e,a=e,r=n.body.getReader()}}(e,n,s.min(r,i-n))}return super.createReadable(t)}readUint8Array(t,e){return zo(this,t,e,Uo,ko)}}class Eo extends co{constructor(t,e){super(),xo(this,t,e)}async init(){await Ro(this,Oo,vo),super.init()}readUint8Array(t,e){return zo(this,t,e,Oo,vo)}}function xo(t,e,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=oo,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function Ro(t,e,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=t;if(function(t){const{baseURI:e}=we(),{protocol:n}=new d(t,e);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==wt||o)){const r=await e(no,t,Io(t,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==ro))throw new f(Yr);{if(a){const e=new w(await r.arrayBuffer());206==r.status&&e.length==K&&(t.Lt=e)}Ao(t,r);const o=Fo(r);o===dt?await No(t,e,n):t.size=o}}else await No(t,e,n)}async function zo(t,e,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,Lt:c,size:u,options:l}=t;if(s||a){if(c&&e==u-K&&n==K)return c;if(e>=u||0===n)return gt;{e+n>u&&(n=u-e);const i=await r(no,t,Io(t,e,n));if(206!=i.status)throw new f(Yr);const s=i.headers.get(to);if(s){const t=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(t)&&t!=e)throw new f(Yr)}Co(t,i),Ao(t,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new f(Yr);return a}}{const{data:r}=t;return r||await i(t,l),t.data.subarray(e,e+n)}}function Fo(t){const e=t.headers.get(to);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=o(t);if(!o.isNaN(e))return e}}}function Do({headers:t}){return{Bt:t.get("Etag")||dt,lastModified:t.get("Last-Modified")||dt}}function Ao(t,e){const{checkResourceChanges:n,Wt:r}=t;n&&!r&&206==e.status&&(t.Wt=Do(e))}function Co(t,e){const{checkResourceChanges:r,Wt:o,size:i}=t;if(r){const t=Fo(e);if(t!==dt&&i!==dt&&t!=i)throw new f(Xr);if(o){const t=Do(e);if(n.entries(o).some(([e,n])=>n!==dt&&t[e]!==dt&&n!=t[e]))throw new f(Xr)}}}function Io(t,e=0,r=1){return n.assign({},To(t),{[eo]:ro+"="+(e<0?e:e+"-"+(e+r-1))})}function To({options:t}){const{headers:e}=t;if(e)return k.iterator in e?n.fromEntries(e):e}async function ko(t){await _o(t,Uo)}async function vo(t){await _o(t,Oo)}async function _o(t,e){const n=await e(no,t,To(t));t.data=new w(await n.arrayBuffer()),t.size=t.data.length}async function No(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,To(t)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?t.size=o(i):await n(t,t.options)}}async function Uo(t,{fetch:e=fetch,options:r,url:o},i){const s=await e(o,n.assign({},r,{method:t,headers:i}));if(s.status>=200&&s.status<=299)return s;throw 416==s.status?new f(Yr):new f(Kr+(s.statusText||s.status))}function Oo(t,{url:e},r){return new g((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status>=200&&s.status<=299){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(t)})}else i(416==s.status?new f(Yr):new f(Kr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>i(t.detail?t.detail.error:new f("Network error")),!1),s.open(t,e),r)for(const t of n.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Mo extends co{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Eo(t,e):new bo(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Lo extends co{constructor(t){super(),t=new w(t.buffer,t.byteOffset,t.byteLength),n.assign(this,{Pt:t,size:t.length})}readUint8Array(t,e){return this.Pt.slice(t,t+e)}}class Bo extends uo{constructor(t){super(),this.Zt=t||262144}init(t=0){n.assign(this,{offset:0,Pt:new w(t>0?t:this.Zt)}),super.init()}writeUint8Array(t){const e=this,n=e.offset+t.length;if(n>e.Pt.length){let t=e.Pt.length?2*e.Pt.length:e.Zt;for(;t<n;)t*=2;const r=e.Pt;e.Pt=new w(t),e.Pt.set(r)}e.Pt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Pt.length?this.Pt:this.Pt.slice(0,this.offset)}}class Wo extends co{constructor(t){super(),this.Ht=t}async init(){const t=this;t.Vt=0;const e=t.Ht=await g.all(t.Ht.map(jo));t.Gt=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}jt(t){const{Gt:e,size:n}=this,r=e[t];return r===dt?n:r}async readUint8Array(t,e){const n=this,{Ht:r}=this;let o,i=0,a=t;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+e<=r)o=await qo(c,a,e);else{const i=r-a;o=Se(await qo(c,a,i),await n.readUint8Array(t+i,e-i))}}else o=gt;return n.Vt=s.max(i,n.Vt),o}}class Po extends ao{constructor(t,e=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const a=new D({async write(e){if(e===so)return void(s&&await u());const{availableSize:n}=r;if(s)e.length>=n?(await c(e.subarray(0,n)),await u(),e.length>n&&await this.write(e.subarray(n))):await c(e);else{const{value:n,done:a}=await t.next();if(a&&!n)throw new f(Jr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Go(o),i=n.writable,s=i.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function c(t){const e=t.length;e&&(await s.ready,await s.write(t),o.size+=e,r.availableSize-=e)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,io,{get:()=>a})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(so)}finally{t.releaseLock()}}}class Zo{constructor(t){return e.isArray(t)&&(t=new Wo(t)),(t instanceof F||typeof t.getReader==pt)&&(t={readable:An(t)}),t}}class Ho{constructor(t){t.writable===dt&&typeof t.next==pt&&(t=new Po(t)),(t instanceof D||typeof t.getWriter==pt)&&(t={writable:In(t)});try{t.size=t.size===dt?0:t.size}catch{throw new f($r)}return t}}function Vo(t){return Boolean(t&&t.getData)}async function Go(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function jo(t){return t=new Zo(t),await Go(t),t.size!==dt&&t.readUint8Array||(t=new ho(await Cn(t.readable)),await Go(t)),t}function qo(t,e,n){return t.readUint8Array(e,n)}function Ko(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?co.prototype.createReadable.call(t,e):t.readable}function Yo(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==dt&&(r.filename=n),t.push(r)}}const Xo="filename",Jo="rawFilename",Qo="comment",$o="rawComment",ti="uncompressedSize",ei="compressedSize",ni="offset",ri="diskNumberStart",oi="lastModDate",ii="rawLastModDate",si="lastAccessDate",ai="rawLastAccessDate",ci="creationDate",ui="rawCreationDate",li="internalFileAttributes",di="externalFileAttributes",fi="msdosAttributesRaw",wi="msdosAttributes",pi="msDosCompatible",hi="zip64",mi="encrypted",yi="version",gi="versionMadeBy",Si="zipCrypto",bi="directory",Ei="executable",xi="compressionMethod",Ri="signature",zi="extraField",Fi="unixMode",Di="setuid",Ai="setgid",Ci="sticky",Ii=[Xo,Jo,ti,ei,oi,ii,Qo,$o,si,ai,ci,ui,ni,ri,li,di,fi,wi,pi,hi,mi,yi,gi,Si,bi,Ei,"symlink",xi,Ri,"crc32",zi,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Fi,"unixExternalUpper",Di,Ai,Ci,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ti{constructor(t){Ii.forEach(e=>this[e]=t[e])}}const ki=new u([1,J,10,Q,28789,25461,$,tt,et,22613,13]);function vi(t,e,n){return t?e?12:16+4*n:0}const _i="File format is not recognized",Ni="End of central directory not found",Ui="End of Zip64 central directory locator not found",Oi="Central directory header not found",Mi="Local file header not found",Li="Zip64 extra field not found",Bi="File contains encrypted entry",Wi="Encryption method not supported",Pi="Split zip file",Zi="Overlapping entry found",Hi="Entry data out of bounds",Vi="Ambiguous archive",Gi="Encrypted central directory is not supported",ji="Unsafe filename",qi="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ki="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Yi="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Xi="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ji="unsorted central directory",Qi="unknown version needed to extract",$i="compressed patched data",ts="malformed extra field",es="unknown zip64 extensible data",ns="wrapped entries count",rs="appended data",os="prepended data",is="prepended central directory",ss="trailing central directory data",as="duplicate filename",cs="mismatched zip64 end of central directory record",us="multiple end of central directory records",ls="mismatched local file header (filename)",ds="mismatched local file header (general purpose bit flag)",fs="mismatched local file header (compression method)",ws="mismatched local file header (crc32 or sizes)",ps=/^[a-zA-Z]:/,hs="utf-8",ms="cp437",ys=[[ti,O],[ei,O],[ni,O],[ri,M]],gs={[M]:{qt:ta,bytes:4},[O]:{qt:ea,bytes:8}},Ss=i(o.MAX_SAFE_INTEGER);class bs{constructor(t,e={}){n.assign(this,{reader:new Zo(t),options:e,Kt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Go(r),r.size!==dt&&r.readUint8Array||(r=new ho(await Cn(r.readable)),await Go(r)),r.size<K)throw new f(_i);const o=e.warnings=[],i=Ms(t,e.options),a=i==Lt,c=i!=Wt,l=Ws(Ks(e,t,_t),i),d=function(t,e){if(t===dt)return e;if(!Os(t))throw new f(Ki);return t}(Ks(e,t,"filenameValidation"),i),w=Ks(e,t,"normalizeFilename"),{Yt:p,Xt:h}=await Ps(r,c,l);if(!p)throw await async function(t){return await Us(t)==W}(r)?new f(Pi):new f(Ni);c&&h>1&&qs(us);const m=Ee(p);let y=ta(m,12),g=ta(m,16);const S=p.offset,b=$s(m,20),E=S+K+b,x=r.size-E;x>l&&qs(rs),x>0&&Yo(o,rs);let R=$s(m,4);const F=r.Vt||0;let D,A,C,I,T,k=$s(m,6),v=$s(m,10),_=0,N=X;const U=g==O||y==O||v==M||k==M;if(g!=O&&k!=M&&(g+=Ns(r,k)),U){const t=p.offset>=Y?await qo(r,p.offset-Y,Y):gt,e=Ee(t);if(t.length==Y&&ta(e,0)==j){g=Ns(r,ta(e,4))+ea(e,8);let t=await qo(r,g,X),i=Ee(t);const c=p.offset-Y-X;if((t.length<X||ta(i,0)!=G)&&g!=c&&c>=0){const e=g;g=c,g>e&&(_=g-e),t=await qo(r,g,X),i=Ee(t)}if(t.length<X||ta(i,0)!=G)throw new f(Ui);if(C=!0,I=ea(i,4)>44,I){const t=s.min(ea(i,4)-44,r.size-g-X);t>0&&(N+=t,T=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Ee(t),o=$s(r,26);n.assign(e,{compressionMethod:$s(r,0),compressedSize:ea(r,2),uncompressedSize:ea(r,10),encryptionAlgorithm:$s(r,18),bitLength:$s(r,20),flags:$s(r,22),hashAlgorithm:$s(r,24),hashData:t.subarray(28,28+o)})}return e}(await qo(r,g+X,t)))}R==M?R=ta(i,16):R!=ta(i,16)&&js(a,o,cs),k==M?k=ta(i,20):k!=ta(i,20)&&js(a,o,cs),v==M?v=ea(i,32):v!=ea(i,32)&&js(a,o,cs),y==O?y=ea(i,40):y!=ea(i,40)&&js(a,o,cs),g=Ns(r,k)+ea(i,48)+_}}let B=y;const P=p.offset-(C?N+Y:0);if(g>=r.size&&(_=r.size-g-y-K,g=r.size-y-K),F!=R)throw new f(Pi);if(g<0)throw new f(_i);let Z=0,V=await qo(r,g,y),J=Ee(V);if(y){if(V.length<4)throw new f(_i);const t=P-y;if(g!=t&&k==R){const e=ta(J,Z)==H||Boolean(T&&T.compressedSize)||zs(J);let n=!e;if(!n&&t>=0&&t+4<=r.size&&(n=ta(Ee(await qo(r,t,4)),0)==H),n){const n=g;g=t,g>n&&(_+=g-n,D=e),V=await qo(r,g,y),J=Ee(V)}}}const Q=P-g;if(y!=Q&&Q>=0&&k==R&&(y=Q,V=await qo(r,g,y),J=Ee(V)),g<0||g>=r.size)throw new f(_i);e.directoryOffset=g,e.directoryLength=B;const $=Ys(e,t,"decryptCentralDirectory");let tt,et;if($&&v&&V.length>=4&&ta(J,0)!=H&&(I||zs(J))){const t=function(t,e,n){const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n}(T,B,V.length);et=V.subarray(t),V=await $(V.subarray(0,t),T),J=Ee(V),B=V.length,tt=!0}T&&!tt&&(V.length<4||ta(J,0)==H)&&Yo(o,es),A=g;const nt=Ks(e,t,"filenameEncoding"),ct=Ks(e,t,"commentEncoding"),ut=new u;let lt,ft=-1;const wt=!a&&!C;!v&&wt&&(v=Fs(J,V,Z),v&&Yo(o,ns));for(let i=0;i<v;i++){const a=new Rs(r,e.options);if(Z+q>V.length||ta(J,Z)!=H){if(0==i&&!tt&&(I||zs(J)))throw new f(Gi);throw new f(Oi)}As(a,J,Z+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=Z+q,l=u+a.filenameLength,p=l+a.extraFieldLength,h=$s(J,Z+4),m=!(h>>8),y=h>>8==3,g=V.subarray(u,l),S=$s(J,Z+32),b=p+S,E=V.subarray(p,b),x=c,R=c,F=ta(J,Z+38),D=F&L,C={readOnly:Boolean(1&D),hidden:Boolean(2&D),system:Boolean(4&D),directory:Boolean(16&D),archive:Boolean(32&D)},T=ta(J,Z+42),k=Ys(e,t,"decodeText")||jr,N=x?hs:nt||ms,U=R?hs:ct||ms;let O=k(g,N,Ot);if(O===dt&&(O=jr(g,N)),w){const t=w(O);t!==dt&&(O=t)}if(Bs(O,d)){const t=new f(ji);throw t.filename=O,t}let B=k(E,U,Mt);B===dt&&(B=jr(E,U)),n.assign(a,{index:i,Jt:tt,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:S,offset:T,diskNumberStart:$s(J,Z+34),internalFileAttributes:$s(J,Z+36),externalFileAttributes:F,msdosAttributesRaw:D,msdosAttributes:C,rawFilename:g,filenameUTF8:x,commentUTF8:R,rawExtraField:V.subarray(l,p),rawComment:E,filename:O,comment:B}),Cs(a,a,J,Z+6)&&Yo(o,ts,O),a.offset+=_;const W=Ns(r,a.diskNumberStart)+a.offset;A=s.min(W,A),W<ft&&Yo(o,Ji,O),ft=W,(a.version&L)>63&&Yo(o,Qi,O),32&~a.rawBitFlag||Yo(o,$i,O),ut.has(a.filename)&&(lt=!0),ut.add(a.filename);const P=a.externalFileAttributes>>16&M;a.unixMode===dt&&16877&P&&(a.unixMode=P);const G=Boolean(a.unixMode&it),j=Boolean(a.unixMode&st),K=Boolean(512&a.unixMode),Y=40960==((a.unixMode===dt?P:a.unixMode)&rt),X=!Y&&(a.unixMode!==dt?!!(73&a.unixMode):y&&!!(73&P)),Q=a.unixMode!==dt&&(a.unixMode&rt)==ot,$=(P&rt)==ot;n.assign(a,{setuid:G,setgid:j,sticky:K,symlink:Y,unixExternalUpper:P,executable:X,directory:Q||$||m&&C.directory||a.filename.endsWith(at),zipCrypto:a.encrypted&&!a.extraFieldAES});const et=new Ti(a);if(et.getData=(t,n)=>a.getData(t,et,e.Kt,n),et.arrayBuffer=async t=>{const r=new z,o=Cn(r.readable).then(t=>t.arrayBuffer());return o.catch(()=>{}),await a.getData(r,et,e.Kt,n.assign({},t,{preventClose:!1})),o},Z=b,i==v-1&&wt){const t=Fs(J,V,Z);t&&(v+=t,Yo(o,ns))}const{onprogress:pt}=t;if(pt)try{await pt(i+1,v,new Ti(a))}catch{}yield et}let pt=Z,ht=Ds(V.subarray(Z))||(tt?Ds(et):dt);if(!ht&&!tt){const t=g+Z,e=s.min(P-t,65541);e>=6&&(ht=Ds(await qo(r,t,e)))}ht&&(e.digitalSignature=ht,pt=Z+6+ht.length),(Z!=B&&pt!=B||!tt&&Z!=y&&pt!=y)&&js(a,o,ss),lt&&js(a,o,as);const mt=Ks(e,t,"extractPrependedData"),yt=Ks(e,t,"extractAppendedData"),St=(a||mt)&&v&&4==A&&await async function(t){const e=await Us(t);return e==W||808471376==e}(r)?4:0;return a&&(_||v&&A>St)&&qs(os),(_||v&&A>4)&&Yo(o,os),D&&Yo(o,is),mt&&(e.prependedData=A>St?await qo(r,St,A-St):gt),e.comment=b?await qo(r,S+K,b):gt,yt&&(e.appendedData=E<r.size?await qo(r,E,r.size-E):gt),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[St](){return this.close()}}class Es{constructor(t={}){let r;const{readable:o,writable:i}=new z({start(t){r=t}}),s=new bs(o,t),a=s.getEntriesGenerator(),c=new u;this.readable=new F({async pull(t){const{done:e,value:r}=await a.next();if(e)return t.close();const o=function(t,e){const{readable:n,writable:r}=new z;let o;const i={cancel:async t=>{e.delete(i),await(o?o.cancel(t):n.cancel(t))}};return i.readable=new F({async pull(s){o||(o=n.getReader(),e.add(i),async function(){try{await t.getData(r,{preventClose:!1})}catch(t){try{await r.abort(t)}catch{}}finally{e.delete(i)}}());const{done:a,value:c}=await o.read();a?s.close():s.enqueue(c)},cancel:t=>i.cancel(t)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(i)},async cancel(t){const n=e.from(c);c.clear(),r.error(t),await g.allSettled(n.map(e=>e.cancel(t))),await g.allSettled([a.return(),s.close()])}}),this.writable=i}}async function xs(t,e={}){if(t=new Zo(t),await Go(t),t.size!==dt&&t.readUint8Array||(t=new ho(await Cn(t.readable)),await Go(t)),t.size<K)return!1;const n=Ms(e,{}),r=n!=Wt,o=Ws(e[_t],n),{Yt:i,Xt:s}=await Ps(t,r,o);if(!i||n==Lt&&s>1)return!1;const a=$s(Ee(i),20),c=i.offset+K+a;return t.size-c<=o}let Rs=class{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,r,o={}){const i=this,a=we(),{reader:c,index:u,offset:l,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:h,bitFlag:m,rawBitFlag:y,crc32:g,rawLastModDate:S,uncompressedSize:b,compressedSize:E}=i,{dataDescriptor:x}=m,R=e.localDirectory={},z=e.warnings=[],F=Ns(c,d)+l,A=await qo(c,F,ct),C=Ee(A);let I=Ks(i,o,bt),T=Ks(i,o,Et);const k=Jt(Ks(i,o,xt)),v=Boolean(k),_=!0===k;if(Xt(I,T),I=I&&I.length&&I,T=T&&T.length&&T,w&&99!=w.originalCompressionMethod)throw new f(_n);if(A.length<ct||ta(C,0)!=B)throw new f(Mi);As(R,C,4);const{extraFieldLength:N,filenameLength:U}=R,O=R.dataOffset=F+ct+U+N,M=Ks(i,o,"checkLocalDirectory"),W=Ms(o,i.options),Z=function(t,e){return t===dt?e!=Wt:Boolean(t)}(M,W),H=Ks(i,o,"checkLocalFilename"),V=function(t,e){return t===dt?e==Lt:Boolean(t)}(H===dt?M:H,W);let G=gt;if(V&&(U||N)){const t=await qo(c,F+ct,U+N);G=t.subarray(0,U),R.rawExtraField=t.subarray(U)}else R.rawExtraField=N?await qo(c,F+ct+U,N):gt;V&&(R.rawFilename=G),Cs(i,R,C,4,!0)&&Yo(z,ts),function(t,e,n,r,o){const{rawFilename:i}=t,s=!o,a=t.Jt&&!(8192&~e.rawBitFlag);!r||a||n.length==i.length&&!n.some((t,e)=>t!=i[e])||js(s,o,ls),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&js(s,o,ds),e.compressionMethod!=t.compressionMethod&&js(s,o,fs),e.bitFlag.dataDescriptor||a||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||js(s,o,ws)}(i,R,G,V,Z?dt:z);const{lastAccessDate:j,creationDate:q,uid:K,gid:Y}=R;j&&(e.lastAccessDate=j),q&&(e.creationDate=q),K!==dt&&e.uid===dt&&(e.uid=K),Y!==dt&&e.gid===dt&&(e.gid=Y);const X=Ks(i,o,"checkPasswordOnly"),J=i.encrypted&&R.encrypted&&(!_||X),Q=J&&!w;if(_||(e.zipCrypto=Q),J&&!(64&~R.rawBitFlag))throw new f(Wi);const $=v?dt:Mn(h);if(0!=h&&8!=h&&9!=h&&!$&&!v)throw new f(_n);if(J){if(!Q&&(w.strength<1||w.strength>3))throw new f(Wi);if(!I&&!T)throw new f(Bi)}if(O+E>c.size)throw new f(Hi);const tt=E,et=An(c.createReadable({offset:O,size:tt})),nt=Kt(Ks(i,o,Rt));Yt(nt);let rt=Ks(i,o,"checkOverlappingEntry");const ot=Ks(i,o,"checkOverlappingEntryOnly");ot&&(rt=!0);const{onstart:it,onprogress:st,onend:at}=o,ut=0!=h&&!v,lt=v?E-vi(J,Q,w&&w.strength):b,ft=9==h;let wt=Ks(i,o,Ft);ft&&(wt=!1);const pt=Ks(i,o,"checkCrc32"),ht=(pt===dt?Ks(i,o,"checkSignature"):pt)&&!v&&(!J||Q||w&&1==w.vendorVersion),mt={options:{codecType:ar,password:I,rawPassword:T,zipCrypto:Q,encryptionStrength:w&&w.strength,checkCrc32:ht,checkAuthenticationCode:Ks(i,o,"checkAuthenticationCode"),passwordVerification:Q&&(x?S>>>8&L:g>>>24&L),outputSize:lt,crc32:g,compressed:ut,encrypted:J,useWebWorkers:Ks(i,o,zt),useCompressionStream:wt,transferStreams:Ks(i,o,Dt),deflate64:ft,format:$?$.format:dt,codecURI:$?$.codecURI:dt,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:X},config:a,ft:{signal:nt,size:tt,onstart:it,onprogress:st,onend:at}};let yt,St;rt&&await async function({reader:t,$t:e,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,Kt:l}){let d=0;if(c&&(d=u?20:12),d){const n=await qo(t,a+i,d+4),r=Ee(n);let c=n.length==d+4&&ta(r,0)==P;if(c){const t=_s(r,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:c=!1}if(n.length>=d){const t=_s(r,c?4:0,u);t.signature=c,e.localDirectory.dataDescriptor=t}}const w={start:r,end:a+i+d,$t:e};for(const[t,e]of l)if(t!=n&&w.start<e.end&&e.start<w.end){const t=new f(Zi);throw t.overlappingEntry=e.$t,t}l.set(n,w)}({reader:c,$t:e,index:u,offset:F,crc32:g,compressedSize:E,uncompressedSize:b,dataOffset:O,dataDescriptor:x||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,Kt:r});try{if(!ot){X&&(t=new D),t=new Ho(t),await Go(t,function(t,e,n){return s.min(t,n?1032*e:e)}(lt,E,ut)),({writable:yt}=t);const{outputSize:e}=await Br({readable:et,writable:yt},mt);if(e!=lt)throw n.assign(new f(Pn),{outputSize:e});t.size+=e}}catch(e){if(e.outputSize!==dt&&(t.size+=e.outputSize),!X||e.message!=Pe)throw St=e,e}finally{if((Vo(t)||!Ks(i,o,At))&&yt&&!yt.locked){const t=yt.getWriter();if(St)try{await t.abort(St)}catch{}else await t.close()}}return X||ot?dt:t.getData?t.getData():yt}};function zs(t){const e=s.min(t.byteLength,1024)-3;for(let n=0;n<e;n++)if(134630224==ta(t,n))return!0;return!1}function Fs(t,e,n){let r=0;for(;n+q<=e.length&&ta(t,n)==H;)n+=q+$s(t,n+28)+$s(t,n+30)+$s(t,n+32),r++;return r%65536?0:r}function Ds(t){if(t.length>=6){const e=Ee(t);if(ta(e,0)==Z){const n=$s(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function As(t,e,r){const o=t.rawBitFlag=$s(e,r+2),i=!(1&~o),s=ta(e,r+6);n.assign(t,{encrypted:i,version:$s(e,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&nt)==nt},rawLastModDate:s,lastModDate:Xs(s),filenameLength:$s(e,r+22),extraFieldLength:$s(e,r+24)})}function Cs(t,e,r,o,i){const{rawExtraField:s}=e,u=e.extraField=new c,l=Ee(s);let d=0,w=!1;try{for(;d<s.length;){const t=$s(l,d),e=$s(l,d+2);u.set(t,{type:t,data:s.slice(d+4,d+4+e)}),d+=4+e}}catch{w=!0}d>s.length&&(w=!0);const p=$s(r,o+4);n.assign(e,{signature:ta(r,o+10),crc32:ta(r,o+10),compressedSize:ta(r,o+14),uncompressedSize:ta(r,o+18)});const h=u.get(1);h&&(function(t,e){e.zip64=!0;const n=Ee(t.data),r=ys.filter(([t,n])=>e[t]==n),o=r.reduce((t,[,e])=>t+gs[e].bytes,0);if(t.data.length<o)throw new f(Li);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=gs[a];e[s]=t[s]=c.qt(n,i),i+=c.bytes}}(h,e),e.extraFieldZip64=h);const m=u.get(28789);m&&(Is(m,Xo,Jo,e,t),e.extraFieldUnicodePath=m);const y=u.get(25461);y&&(Is(y,Qo,$o,e,t),e.extraFieldUnicodeComment=y);const g=u.get(J);g&&g.data.length>=7?(function(t,e,r){const o=Ee(t.data),i=Qs(o,4);n.assign(t,{vendorVersion:Qs(o,0),vendorId:Qs(o,2),strength:i,originalCompressionMethod:r,compressionMethod:$s(o,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=dt)}(g,e,p),e.extraFieldAES=g):e.compressionMethod=p;const S=u.get(13);S&&(Ts(S,e),e.extraFieldPkwareUnix=S);const b=u.get(22613);b&&(Ts(b,e),e.extraFieldUnixType1=b);const E=u.get(10);E&&(function(t,e){const r=Ee(t.data);let o,i=4;try{for(;i<t.data.length&&!o;){const e=$s(r,i),n=$s(r,i+2);1==e&&(o=t.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=Ee(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:Js(i),lastAccessDate:Js(s),creationDate:Js(a)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:s,rawCreationDate:a})}}(E,e),e.extraFieldNTFS=E);const x=u.get(et);let R;if(x&&(R=ks(x,e,!1),e.extraFieldUnix=x),!R){const t=u.get(tt);t&&(ks(t,e,!0),e.extraFieldInfoZip=t)}const z=u.get(Q);z&&(function(t,e,n){if(!t.data.length)return;const r=Ee(t.data),o=Qs(r,0),i=[],s=[];n?(1&~o||(i.push(oi),s.push(ii)),2&~o||(i.push(si),s.push(ai)),4&~o||(i.push(ci),s.push(ui))):t.data.length>=5&&(i.push(oi),s.push(ii));let c=1;i.forEach((n,o)=>{if(t.data.length>=c+4){const i=ta(r,c);e[n]=t[n]=new a(1e3*(0|i));const u=s[o];t[u]=i}c+=4})}(z,e,i),e.extraFieldExtendedTimestamp=z);const F=u.get($);return F&&(e.extraFieldUSDZ=F),w}function Is(t,e,r,o,i){if(t.data.length<5)return void(t.valid=!1);const s=Ee(t.data),a=new ke;a.append(i[r]);const c=Ee(new w(4));c.setUint32(0,a.get(),!0);const u=ta(s,1),l=Qs(s,0);n.assign(t,{version:l,[e]:jr(t.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==ta(c,0)}),t.valid&&(o[e]=t[e],o[e+"UTF8"]=!0)}function Ts(t,e){if(t.data.length<8)return;const r=Ee(t.data),o={lastAccessDate:new a(1e3*(0|ta(r,0))),lastModDate:new a(1e3*(0|ta(r,4)))};t.data.length>=12&&(o.uid=$s(r,8),o.gid=$s(r,10)),n.assign(t,o),n.assign(e,o)}function ks(t,e,r){try{const o=Ee(t.data);let i,s;if(r){let e=0;const r=Qs(o,e++),a=Qs(o,e++);i=vs(t.data.subarray(e,e+a)),e+=a;const c=Qs(o,e++);s=vs(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:i,gid:s})}else t.data.length>=4&&(i=$s(o,0),s=$s(o,2),n.assign(t,{uid:i,gid:s}));return i!==dt&&(e.uid=i),s!==dt&&(e.gid=s),i!==dt||s!==dt}catch{}}function vs(t){const e=new w(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function _s(t,e,n){const r=ta(t,e);let o,i;return n?(o=ea(t,e+4),i=ea(t,e+12)):(o=ta(t,e+4),i=ta(t,e+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function Ns(t,e){return t.jt?t.jt(e):0}async function Us(t){return ta(Ee(await qo(t,0,4)))}function Os(t){return t===Lt||t===Bt||t===Wt}function Ms(t,e){return Ls(t,Ls(e,Bt))}function Ls(t,e){const n=t.strictness;if(n!==dt){if(!Os(n))throw new f(qi);return n}const r=t.checkAmbiguity;return r===dt?e:r?Lt:e==Wt?Wt:Bt}function Bs(t,e){if(e==Wt)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||ps.test(t))||e==Lt&&(n.includes(".")||n.includes(""))}function Ws(t,e){if(t!==dt){const e=te(t);if("number"!=typeof e||o.isNaN(e)||e<0)throw new f(Yi);return e}return e==Lt?0:e==Wt?1/0:M}async function Ps(t,e,n){const{size:r}=t,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,d,f]of Zs(t,o)){const o=$s(n,d+20);if(f+K+o==r){const o=await Vs(t,n,s,d,f,r,i);if(2==o){if(a||(a=Hs(l,d,f)),u++,!e||u>1)break}else 1!=o||c||(c=Hs(l,d,f))}}return a||(a=c),a||(a=await async function(t,e,n){const{size:r}=t,o=s.min(r,e==1/0?r:65557+e);let i,a;for await(const[e,s,c,u,l]of Zs(t,o)){const o=Hs(c,u,l);i||(i=o);const d=await Vs(t,e,s,u,l,r,n);if(2==d)return o;1!=d||a||(a=o)}return a||i}(t,n,i)),{Yt:a,Xt:u}}async function*Zs(t,e){const n=t.size-e,r=await qo(t,n,e),o=Ee(r);for(let t=r.length-K;t>=0;t--)ta(o,t)==V&&(yield[o,n,r,t,n+t])}function Hs(t,e,n){return{offset:n,buffer:t.slice(e,e+K).buffer}}async function Vs(t,e,n,r,o,i,s){const a=$s(e,r+10),c=ta(e,r+12),u=ta(e,r+16);if(a==M||c==O||u==O)return await Gs(t,e,n,o-Y,i,s)==j?2:0;if(!a&&!c)return 1;const l=$s(e,r+6);for(const r of[o-c,Ns(t,l)+u])if(await Gs(t,e,n,r,i,s)==H)return 2;return 0}async function Gs(t,e,n,r,o,i){return r<0||r+4>o?dt:r>=n?ta(e,r-n):i.count>0?(i.count--,ta(Ee(await qo(t,r,4)),0)):dt}function js(t,e,n){t?qs(n):Yo(e,n)}function qs(t){const e=new f(Vi);throw e.reason=t,e}function Ks(t,e,n){return e[n]===dt?t.options[n]:e[n]}function Ys(t,e,n){return qt(Ks(t,e,n))}function Xs(t){const e=(4294901760&t)>>16,n=t&M,r=new a(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<lt?lt:r}function Js(t){return new a(o(t/i(1e4)-i(116444736e5)))}function Qs(t,e){return t.getUint8(e)}function $s(t,e){return t.getUint16(e,!0)}function ta(t,e){return t.getUint32(e,!0)}function ea(t,e){const n=t.getBigUint64(e,!0);if(n>Ss)throw new f(Xi);return o(n)}var na=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Vi,ERR_BAD_FORMAT:_i,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Oi,ERR_ENCRYPTED:Bi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Gi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Hi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ui,ERR_EOCDR_NOT_FOUND:Ni,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Li,ERR_INVALID_AUTHENTICATION_CODE:We,ERR_INVALID_COMPRESSED_DATA:Zn,ERR_INVALID_CRC32:Hn,ERR_INVALID_FILENAME_VALIDATION:Ki,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Yi,ERR_INVALID_PASSWORD:Be,ERR_INVALID_STRICTNESS:qi,ERR_INVALID_UNCOMPRESSED_SIZE:Pn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Mi,ERR_OVERLAPPING_ENTRY:Zi,ERR_SPLIT_ZIP_FILE:Pi,ERR_UNSAFE_FILENAME:ji,ERR_UNSUPPORTED_COMPRESSION:_n,ERR_UNSUPPORTED_ENCRYPTION:Wi,ERR_UNSUPPORTED_UINT64:Xi,ERR_WORKER_STARTUP_TIMEOUT:lr,WARNING_APPENDED_DATA:rs,WARNING_COMPRESSED_PATCHED_DATA:$i,WARNING_DUPLICATE_FILENAME:as,WARNING_MALFORMED_EXTRA_FIELD:ts,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:ds,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:fs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:ws,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:ls,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:cs,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:us,WARNING_PREPENDED_CENTRAL_DIRECTORY:is,WARNING_PREPENDED_DATA:os,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:ss,WARNING_UNKNOWN_VERSION:Qi,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:es,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ji,WARNING_WRAPPED_ENTRIES_COUNT:ns,ZipReader:bs,ZipReaderStream:Es,isZipFile:xs});const ra="File already exists",oa="Zip file comment exceeds 64KB",ia="Invalid zip file comment (must be a Uint8Array)",sa="File entry comment exceeds 64KB",aa="Invalid file entry comment (must be a string)",ca="Invalid date (must be a valid Date instance)",ua="File entry name exceeds 64KB",la="Version exceeds 65535",da="The strength must equal 1, 2, or 3",fa="Encryption is not supported in USDZ files",wa="Split zip files are not supported in USDZ files",pa="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",ha="Invalid extra field (must be a Map)",ma="Invalid extra field type (must be integer 0..65535)",ya="Invalid extra field data (must be a Uint8Array)",ga="Extra field data exceeds 64KB",Sa=-2147483648,ba=2147483647,Ea=i(0),xa=i("0x7fffffffffffffff"),Ra="Zip64 is not supported (set the 'zip64' option to 'true')",za="Undefined uncompressed size",Fa="Undefined compression method",Da="Undefined CRC32",Aa="Undetermined size",Ca="Undefined reader",Ia="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Ta="Zip file not empty",ka="Invalid uid (must be integer 0..2^32-1)",va="Invalid gid (must be integer 0..2^32-1)",_a="Invalid UNIX mode (must be integer 0..65535)",Na="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ua="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Oa="Invalid msdosAttributesRaw (must be integer 0..255)",Ma="Invalid msdosAttributes (must be an object with boolean flags)",La="Invalid level (must be integer 0..9)",Ba="Signature data exceeds 64KB",Wa="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Pa="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Za="compression unavailable",Ha="clamped last modification date",Va=new w([7,0,2,0,65,69,3,0,0]),Ga="infozip",ja="unix",qa=[8,9,5,3];let Ka=0;const Ya=[];class Xa{constructor(t,e={}){t=new Ho(t);const{availableSize:r=ft,maxSize:o=ft}=t,i=r>0&&r!==ft&&o>0&&o!==ft;if(i&&e[vt])throw new f(wa);n.assign(this,{writer:t,te:i,options:e,ee:new c,ne:new u,offset:e[kt]===dt?t.size||t.writable.size||0:e[kt],re:e[kt]===dt?0:e[kt]-(t.size||t.writable.size||0),oe:new u,ie:[],warnings:[],se:0,ae:0,ce:dt,ue:!1})}prependZip(t){return $a(this,async function(t,e){if(t.ne.size)throw new f(Ta);await t.le(e)}(this,t))}appendZip(t){return $a(this,this.le(t))}async le(t){const r=this,{oe:o,ne:i,ee:s}=r;for(;o.size;)await g.allSettled(e.from(o));let a;const u=new g(t=>a=t);o.add(u);const l=[];let d;try{t=new Zo(t),await Go(t),t.size!==dt&&t.readUint8Array||(t=new ho(await Cn(t.readable)),await Go(t));const{ZipReader:o}=await g.resolve().then(function(){return na}),a=new o(t),u=await a.getEntries();await a.close(),await Go(r.writer);const{directoryOffset:w}=a;u.forEach(({filename:t})=>{if(i.has(t))throw new f(ra);i.add(t),l.push(t)}),r.de=!0;const{fe:p}=r;r.fe=new g(t=>d=()=>{r.de=!1,t()}),await p,r.te&&(delete r.te,await async function(t){return Ee(await qo(t,0,4)).getUint32(0,!0)==W}(t)||(await zc(r.writer,xc()),r.offset+=4));const h=await async function(t,n,r,o){const{writer:i}=t,s=new c;if(i.closeDisk){const a=e.from(r).sort((t,e)=>Ec(n,t)-Ec(n,e));let c=0;for(const e of a){const r=Ec(n,e);await Sc(t,n,c,r-c),mc(i,await bc(n,r))&&await i.closeDisk(),s.set(e,{offset:yc(t,i),diskNumberStart:pc(i)}),c=r}await Sc(t,n,c,o-c)}else{const e=t.offset;await Sc(t,n,0,o),r.forEach(t=>s.set(t,{offset:e+Ec(n,t),diskNumberStart:0}))}return s}(r,t,u,w);u.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=t;let{compressionMethod:d,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=i;f=gc(f||gt),t.extraFieldAES&&(d=99);const y=Wc(f),g=Boolean(l)&&l.uncompressedSize!==dt,S=Boolean(l)&&l.compressedSize!==dt,b=-7&Hc(w,p,m,a,d)|w<<1,{we:E,pe:x}=Pc({version:e,bitFlag:b,compressionMethod:d,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,he:S,me:g,extraFieldLength:y}),{crc32:R}=t;R!==dt&&Mc(x,10,R);const{offset:z,diskNumberStart:F}=h.get(t);n.assign(t,{ye:!0,me:g,he:S,offset:z,diskNumberStart:F,ge:!1,Se:gt,be:gt,Ee:gt,xe:gt,Re:gt,rawExtraField:f,ze:gt,extendedTimestamp:!1,we:E,pe:x}),s.set(t.filename,t)})}catch(t){throw l.forEach(t=>i.delete(t)),t}finally{a(),o.delete(u),d&&d()}}add(t="",e,r={}){const o=this,{oe:s}=o,a=async function(t,e,r,o){const s=(o=n.assign({},o))[Ut];if(s!==dt){const{Fe:e,De:r}=nc(s,Jt(Ic(t,o,xt)),Ic(t,o,oi));delete o[Ut],o=n.assign(e,r,o)}if(Ic(t,o,bi)&&!e.endsWith(at)&&(e+=at),t.ne.has(e))throw new f(ra);t.ne.add(e),Ka<we().maxWorkers?Ka++:await new g(t=>Ya.push(t));try{return await async function(t,e,r,o){const s=rc(t,e,o);({name:e}=s);const a=oc(t,e,o),{comment:c}=a,u=o[zi];t.ee.set(e,dt);const l=t.ce,d={};let w,p;a.Ae.keepOrder&&(d.Ce=new g(t=>w=t)),t.ce=d;try{const{Ae:c}=a;0==c.level||c.compressionMethod!==dt||c.Ie||await pr(we())||(c.level=0,Yo(t.warnings,Za,e));const u=await async function(t,e,{Ae:r},o){if(r.Ie&&!e&&!Ic(t,o,bi))throw new f(Ca);let i;if(e){if(e=new Zo(e),await Go(e),!e.readable&&!e.readUint8Array)throw new f(Ia);({size:i}=e)}return n.assign({reader:e},sc(t,Boolean(e),i,r,o))}(t,r,a,o);({reader:r}=u);const h=hc(t.writer),m=pc(t.writer);let y=o.crc32===dt?o[Ri]:o.crc32;const S=u.Ae.encrypted&&!c.zipCrypto;if(c.Ie&&!c.Te&&S&&(y=dt),c.Ie&&r&&!S&&y===dt)throw new f(Da);const b=cc(o=n.assign({},o,s.Ae,a.Ae,u.Ae,{signature:o[Ri],crc32:y,offset:t.offset-h,diskNumberStart:m,[vt]:t.options[vt]}));b.ke&&Yo(t.warnings,Ha,e);const E=dc(o),x=Wc(b.ve,E._e);p=await async function(t,e,r,o,s){const{ee:a,writer:c}=t,{keepOrder:u,dataDescriptor:l,Ne:d,signal:w}=s,{Ue:p,$t:h,Oe:m,Me:y}=o,S=t.options[vt];let b,E,x,R,F,D,A,C=h,I=0;const T=u&&m?m.Ce:dt;a.set(e,C);try{s.bufferedWrite||!u||t.de||t.se||t.ae||!l&&!d?(b=!0,t.se++,A=s.createTempStream?await s.createTempStream():new z(dt,dt,{highWaterMark:ft}),A.size=0,await Go(c)):(E=!0,t.ae++,A=c,await T,await k()),await Go(A);const h=hc(c);t.te&&!b&&await Rc(t,c),S&&!b&&uc(o,t.offset-h);const{ve:m}=p;b||await v();const y=pc(c),x=yc(t,c);if(C.diskNumberStart=y,b||(F=!0,D=c.size,await zc(A,m)),C=await async function(t,e,{diskNumberStart:r,Ce:o},s,a,c){const{Ue:u,Le:l,Be:d}=s,{we:w,pe:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,Se:E,We:x,Ee:R,Pe:z,Ze:F,xe:D,Re:A,be:C}=u,{_e:I}=l,{rawFilename:T,lastAccessDate:k,creationDate:v,password:_,rawPassword:N,level:U,useUnicodeFileNames:M,zip64:B,ye:W,me:P,he:Z,zipCrypto:H,dataDescriptor:V,directory:G,executable:j,versionMadeBy:q,rawComment:K,rawExtraField:Y,ze:X,useWebWorkers:J,transferStreams:Q,onstart:$,onprogress:tt,onend:et,signal:nt,encryptionStrength:rt,extendedTimestamp:ot,msDosCompatible:it,internalFileAttributes:st,externalFileAttributes:at,uid:ct,gid:ut,unixMode:lt,symlink:ft,setuid:wt,setgid:pt,sticky:ht,unixExternalUpper:mt,msdosAttributesRaw:yt,msdosAttributes:gt,useCompressionStream:St,Ie:bt,Te:Et,format:xt,codecURI:Rt}=c,zt={Ce:o,versionMadeBy:q,zip64:B,ye:W,directory:Boolean(G),executable:Boolean(j),filenameUTF8:Boolean(M),rawFilename:T,commentUTF8:Boolean(M),rawComment:K,Se:E,We:x,Ee:R,xe:D,Re:A,be:C,rawExtraField:Y,ze:X,extendedTimestamp:ot,msDosCompatible:it,internalFileAttributes:st,externalFileAttributes:at,diskNumberStart:r,uid:ct,gid:ut,unixMode:lt,symlink:Boolean(ft),setuid:wt,setgid:pt,sticky:ht,unixExternalUpper:mt,msdosAttributesRaw:yt,msdosAttributes:gt};let{crc32:Ft,uncompressedSize:Dt}=c,At=0;bt||(Dt=0);const{writable:Ct}=e;if(t){const n=t.size,r=An(Ko(t,{size:n})),o={options:{codecType:sr,inputSize:n,level:U,rawPassword:N,password:_,encryptionStrength:rt,zipCrypto:y&&H,passwordVerification:y&&H&&m>>8&L,computeCrc32:!bt,compressed:g&&!bt,encrypted:y&&!Et,useWebWorkers:J,useCompressionStream:St,transferStreams:Q,format:xt,codecURI:Rt,compressionMethod:b},config:a,ft:{signal:nt,size:n,onstart:$,onprogress:tt,onend:et}};try{const t=await Br({readable:r,writable:Ct},o);if(At=t.outputSize,e.size+=At,bt||(Dt=t.inputSize,y&&!H||(Ft=t.crc32)),!Z&&At>=O||!P&&Dt>=O)throw new f(Ra)}catch(t){throw t.outputSize!==dt&&(e.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:n,Ue:r,Le:o},{zip64:s,zipCrypto:a,Ie:c,dataDescriptor:u}){const{pe:l,encrypted:d}=r,{He:f,Ve:w}=o;d&&!a&&!c||t===dt||(Mc(l,10,t),u&&Mc(f,w,t)),s?u&&(Lc(f,w+4,i(e)),Lc(f,w+12,i(n))):(Mc(l,14,e),Mc(l,18,n),u&&(Mc(f,w+4,e),Mc(f,w+8,n)))}({crc32:Ft,compressedSize:At,uncompressedSize:Dt,Ue:u,Le:l},c),V&&await zc(e,I),n.assign(zt,{uncompressedSize:Dt,compressedSize:At,lastModDate:h,rawLastModDate:m,creationDate:v,lastAccessDate:k,encrypted:Boolean(y),zipCrypto:Boolean(H),size:d+At,compressionMethod:b,version:S,we:w,pe:p,signature:Ft,crc32:!y||H||bt?Ft:dt,Pe:z,Ze:F,me:P,he:Z}),zt}(r,A,C,o,we(),s),b||(F=!1),a.set(e,C),C.filename=e,b){if(await g.all([A.writable.getWriter().close(),T]),await k(),t.te&&await Rc(t,c),R=!0,D=c.size,await v(),C.diskNumberStart=pc(c),C.offset=yc(t,c),S){const e=o.Be;uc(o,t.offset-hc(c)),C.size+=o.Be-e}!function({rawFilename:t,encrypted:e,zip64:n,We:r,crc32:o,compressedSize:s,uncompressedSize:a,me:c,he:u},l,{dataDescriptor:d,Ie:f}){if(d||((!e||f&&o!==dt)&&Mc(l,14,o),u||Mc(l,18,s),c||Mc(l,22,a)),n&&r){const e=ct+Wc(t)+4;Lc(l,e,i(a)),Lc(l,e+8,i(s))}}(C,p.Ge,s),await zc(c,p.ve),await Fc(A.readable,c,w,t=>I+=t),c.size+=A.size,R=!1}else C.diskNumberStart=y,C.offset=x;return t.offset+=C.size,C}catch(n){if(R||F){if(t.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}t.offset+=c.size-D,b&&(t.offset+=I)}throw a.delete(e),n}finally{if(b&&t.se--,E&&t.ae--,y&&y(T),x&&x(),b&&A&&A.dispose)try{await A.dispose()}catch{}}async function k(){t.de=!0;const{fe:e}=t;t.fe=new g(e=>x=()=>{t.de=!1,e()}),await e}async function v(){mc(c,Wc(p.ve))&&await c.closeDisk()}}(t,e,r,{Ue:b,Le:E,Be:x,$t:d,Oe:l,Me:w},o)}catch(n){throw t.ee.delete(e),n}finally{w&&w(l&&l.Ce)}return n.assign(p,{name:e,comment:c,extraField:u}),new Ti(p)}(t,e,r,o)}catch(n){throw t.ne.delete(e),n}finally{const t=Ya.shift();t?t():Ka--}}(o,t,e,r);s.add(a);const c=()=>s.delete(a);return g.prototype.then.call(a,c,c),$a(o,a)}remove(t){const{ne:e,ee:n}=this;if(typeof t==mt&&(t=n.get(t)),t&&t.filename!==dt){const{filename:r}=t;if(e.has(r)&&n.has(r))return e.delete(r),n.delete(r),!0}return!1}async close(t=gt,n={}){const r=this,{oe:o,writer:s}=this,{writable:a}=s;if(r.ue)return Qa(s);if(!(t instanceof w))throw new f(ia);if(Wc(t)>M)throw new f(oa);for(;o.size;)await g.allSettled(e.from(o));await g.allSettled(r.ie.map(t=>t.je));const c=r.ie.filter(t=>t.error&&!t.qe);if(c.length){const t=c.map(t=>t.error);c.forEach(t=>t.qe=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(t,n,r){const{Ke:o,Ye:s}=fc(t.ee),{Xe:a,Je:c,Qe:u}=await async function(t,n,r){const{ee:o,writer:i}=t,s=new w(n);await Go(i);let a=0,c=0,u=pc(i),l=hc(i),d=0;for(const[t,n]of e.from(o.values()).entries()){const{offset:e,rawFilename:f,Se:w,be:p,Ee:h,xe:m,Re:y,rawExtraField:g,ze:S,rawComment:b,versionMadeBy:E,we:x,pe:R,me:z,he:F,ge:D,$e:A,internalFileAttributes:C,externalFileAttributes:I,diskNumberStart:T,uncompressedSize:k,compressedSize:v}=n,_=Wc(w,p,h,m,y,g,S),N=q+Wc(f,b)+_;mc(i,a+N-c)&&(await zc(i,s.slice(c,a)),c=a,d=0,await i.closeDisk()),0==t&&(u=pc(i),l=hc(i)),z||Mc(R,18,k),F||Mc(R,14,v),(A||D)&&n.version<45&&Oc(R,0,45);const U=wc(N);if(U.tn(H),U.en(E),U.nn(x.subarray(0,24)),U.en(_),U.en(Wc(b)),U.en(D?M:T),U.en(C),U.tn(I),U.tn(A?O:e),U.nn(f),U.nn(w),U.nn(p),U.nn(h),U.nn(m),U.nn(y),U.nn(g),U.nn(S),U.nn(b),Bc(s,U.Pt,a),a+=N,d++,r.onprogress)try{await r.onprogress(t+1,o.size,new Ti(n))}catch{}}return await zc(i,c?s.slice(c):s),{Xe:{diskNumber:u,diskOffset:l},Je:{diskNumber:pc(i),rn:d},Qe:s}}(t,o,r),l=await async function(t,e,n){const r=kc(t,n,Nt);if(r){const n=await r(e),o=Wc(n);if(o>M)throw new f(Ba);const i=wc(6+o);i.tn(Z),i.en(o),i.nn(n);const{writer:s}=t;return mc(s,Wc(i.Pt))&&await s.closeDisk(),await zc(s,i.Pt),6+o}return 0}(t,u,r);await async function(t,e,n,r){const{writer:o}=t,{Xe:s,Je:a,sn:c,Ye:u}=r;let{Ke:l}=r,d=t.ee.size,w=s.diskNumber,p=yc(t,s);const h=Wc(e);if(h>M)throw new f(oa);let m=Ic(t,n,hi),y=pc(o);if(mc(o,(m?98:K)+h)&&y++,p>=O||l>=O||d>=M||y>=M){if(!1===m)throw new f(Ra);m=!0}else m===dt&&u&&(m=!0);const g=wc(m?98:K);mc(o,Wc(g.Pt)+h)&&await o.closeDisk(),y=pc(o);let S=y==a.diskNumber?a.rn:0;m&&(g.tn(G),g.an(44),g.en(45),g.en(45),g.tn(y),g.tn(w),g.an(S),g.an(d),g.an(l),g.an(p),g.tn(j),g.tn(y),g.an(i(yc(t,o))+i(l)+i(c)),g.tn(y+1),Ic(t,n,"supportZip64SplitFile",!0)&&(y=M,w=M),S=M,d=M,p=O,l=O),g.tn(V),g.en(y),g.en(w),g.en(S),g.en(d),g.tn(l),g.tn(p),g.en(h),await zc(o,g.Pt),h&&await zc(o,e)}(t,n,r,{Xe:a,Je:c,Ke:o,sn:l,Ye:s})}(r,t,n),r.ue=!0,!Vo(s)&&Ic(r,n,At)||await a.getWriter().close(),Qa(s)}[St](){return this.close()}}class Ja extends g{then(t,e){const{cn:n}=this;return n&&(n.qe=!0),super.then(t,e)}}function Qa(t){return t.getData?t.getData():t.writable}function $a(t,e){const n=new Ja((t,n)=>g.prototype.then.call(e,t,n)),r={};return n.cn=r,r.je=g.prototype.then.call(n,dt,t=>r.error=t),t.ie.push(r),n}async function tc(t,e){try{await t.writer.writable.abort(e)}catch{}}function ec(t,e,n){t.oe.add(e),e.catch(t=>{try{n(t)}catch{}})}function nc(t,r,o){if(null===t||typeof t!=ht||e.isArray(t))throw new f(Wa);const{externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:d,rawLastModDate:w,creationDate:p,lastAccessDate:h,uncompressedSize:m,encrypted:y,zipCrypto:g,crc32:S,compressionMethod:b,extraFieldAES:E,extraFieldUnix:x,internalFileAttributes:R,extraField:z,bitFlag:F,directory:D,uid:A,gid:C}=t,I={externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:d,creationDate:p,lastAccessDate:h,internalFileAttributes:R,directory:D};F&&F.languageEncodingFlag&&(I[It]=!0);const T=function(t){if(t){const e=new c;if(t.forEach((t,n)=>{ki.has(n)||e.set(n,t.data)}),e.size)return e}}(z);T&&(I[zi]=T),A===dt&&C===dt||n.assign(I,{uid:A,gid:C,unixExtraFieldType:x?ja:Ga});const k={};if(r&&!D)if(n.assign(k,{uncompressedSize:m,crc32:S,compressionMethod:b}),r!==Pt&&n.assign(k,{encrypted:y,zipCrypto:g,encryptionStrength:E?E.strength:dt}),F&&(k.dataDescriptor=F.dataDescriptor,k[Ct]=qa[F.level]),o===dt)k.rawLastModDate=w;else if(r!==Pt&&g&&(!F||F.dataDescriptor)&&o instanceof a&&function(t){let e=new a(2e3*s.ceil(s.floor(t.getTime()/1e3)/2));return e<lt?e=lt:e>ut&&(e=ut),(e.getHours()<<3|e.getMinutes()>>3)&L}(o)!=(w>>>8&L))throw new f(Pa);return{Fe:I,De:k}}function rc(t,n,r){let o=Ic(t,r,pi),i=Ic(t,r,gi,o?20:768);const s=Ic(t,r,Ei),a=vc(t,r,"uid"),c=vc(t,r,"gid");let u=vc(t,r,Fi),l=Ic(t,r,"unixExtraFieldType"),d=Ic(t,r,Di),w=Ic(t,r,Ai),p=Ic(t,r,Ci);if($t(a,O,ka),$t(c,O,va),$t(u,M,_a),l!==dt&&l!==Ga&&l!==ja)throw new f(Na);if(l===ja&&(a!==dt&&a>M||c!==dt&&c>M))throw new f(Ua);l!==dt||a===dt&&c===dt||(l=Ga);let h=vc(t,r,fi),m=Ic(t,r,wi);const y=h!==dt||m!==dt;if(a!==dt||c!==dt||u!==dt||l||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),$t(h,L,Oa),m&&(typeof m!==ht||e.isArray(m)))throw new f(Ma);if(i>M)throw new f(la);let g=Ic(t,r,di);const S=g!==dt;S||(g=0),!r[bi]&&n.endsWith(at)&&(r[bi]=!0);const b=Ic(t,r,bi);if(b?(n.endsWith(at)||(n+=at),S||(g=16,o||(g|=16877<<16))):o||S||(g=s?493<<16:27525120),!o){const t=u!==dt||Boolean(d||w||p);u=u===dt?g>>16&M:u&M,d?u|=it:d=Boolean(u&it),w?u|=st:w=Boolean(u&st),p?u|=512:p=Boolean(512&u),S&&!t||(b?u=-61441&u|ot:u&rt||(u|=32768),g=(u&M)<<16|g&M)}({msdosAttributesRaw:h,msdosAttributes:m}=function(t,e){if(t!==dt)t&=L;else if(e!==dt){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=e;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),t=a&L}return e===dt&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,m)),y&&(g=g&O|h&L);const E=g>>16&M,x=u!==dt&&40960==(u&rt);return{name:n,Ae:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:E,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:x,setuid:d,setgid:w,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}function oc(t,e,n){const r=kc(t,n,"encodeText")||_e;let i=r(e,Ot);if(i===dt&&(i=_e(e)),Wc(i)>M)throw new f(ua);const s=n[Qo]||"";if(typeof s!=mt)throw new f(aa);let c=r(s,Mt);if(c===dt&&(c=_e(s)),Wc(c)>M)throw new f(sa);const u=Ic(t,n,yi);if(u!==dt&&u>M)throw new f(la);const l=Tc(t,n,oi,new a),d=Ic(t,n,ii),w=Tc(t,n,si),p=Tc(t,n,ci),h=Ic(t,n,li,0),m=Jt(Ic(t,n,xt)),y=Boolean(m),g=!0===m,S=Ic(t,n,bt),b=Ic(t,n,Et);Xt(S,b);const E=vc(t,n,"encryptionStrength",3),x=Ic(t,n,Si),R=Ic(t,n,"extendedTimestamp",!0),z=Ic(t,n,"ntfsTimestamp"),F=Ic(t,n,"keepOrder",!0),D=Ic(t,n,zt),A=Ic(t,n,Dt),C=Ic(t,n,"bufferedWrite"),I=kc(t,n,"createTempStream"),T=Ic(t,n,"dataDescriptorSignature",!0),k=Kt(Ic(t,n,Rt));Yt(k);const v=Ic(t,n,It,!Zc(i)||!Zc(c)),_=Ic(t,n,xi),N=y||_===dt?dt:Mn(_);if(!y&&_!==dt&&0!==_&&8!==_&&!N)throw new f(_n);let U=vc(t,n,Ct);if($t(U,9,La),t.options[vt]){if(S!==dt||b!==dt)throw new f(fa);U===dt&&_===dt&&(U=0)}y&&(U=te(n[Ct]));let O=Ic(t,n,Ft),L=Ic(t,n,Tt);C&&L===dt&&(L=!1),(L===dt||x&&!g)&&(L=!0),U!==dt&&6!=U&&(O=!1);const B=Ic(t,n,hi);if(!(x||S===dt&&b===dt||o.isInteger(E)&&E>=1&&E<=3))throw new f(da);const W=ic(n[zi]),P=ic(n.localExtraField),Z=ic(n.centralExtraField);return{comment:s,Ae:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:d,lastAccessDate:w,creationDate:p,internalFileAttributes:h,Ie:y,Te:g,password:S,rawPassword:b,encryptionStrength:E,zipCrypto:x,extendedTimestamp:R,ntfsTimestamp:z,keepOrder:F,useWebWorkers:D,transferStreams:A,bufferedWrite:C,createTempStream:I,dataDescriptorSignature:T,signal:k,useUnicodeFileNames:v,compressionMethod:_,format:N?N.format:dt,codecURI:N?N.codecURI:dt,un:N?N.versionNeeded:dt,level:U,useCompressionStream:O,dataDescriptor:L,zip64:B,rawExtraField:W,ln:P,ze:Z}}}function ic(t){if(!t)return gt;if(!(t instanceof c))throw new f(ha);let e=0,n=0;t.forEach((t,n)=>{if(Qt(n,M,ma),!(t instanceof w))throw new f(ya);if(Wc(t)>M)throw new f(ga);e+=4+Wc(t)});const r=new w(e),o=Ee(r);return t.forEach((t,e)=>{Oc(o,n,e),Oc(o,n+2,Wc(t)),Bc(r,t,n+4),n+=4+Wc(t)}),r}function sc(t,e,n,r,o){const{Ie:i,Te:s,zipCrypto:a,password:c,rawPassword:u,encryptionStrength:l}=r;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:h}=r,m=0,y=0,g=!1;if(i&&e){if(y=o[ti],y===dt)throw new f(za);if(h===dt)throw new f(Fa)}const S=!0===w,b=Ic(t,o,mi);if(e&&s&&!b&&Wc(c,u))throw new f(pa);const E=e&&(Boolean(c&&Wc(c)||u&&Wc(u))||s&&b);e||(p=0,h=0);const x=vi(E,a,l);e&&(i?(o.uncompressedSize=y,m=n===dt?_c(y)+x:n+(s?0:x)):n===dt?(d=!0,(w||w===dt)&&(w=g=!0,m=4294967296)):(o.uncompressedSize=y=n,m=(Nc(h,p)?_c(y):y)+x));const R=!(E||e&&(0!==n||i)||Nc(h,p));R&&!a&&Ic(t,o,Tt)===dt&&(d=!1);const z=S||g||y>=O,F=S||m>=O;if(z||F){if(!1===w)throw new f(Ra);w=!0}return w=w||!1,{dn:m,Ae:{dataDescriptor:d,Ne:R,zip64:w,ye:S,fn:g,me:z,he:F,uncompressedSize:y,level:p,compressionMethod:h,encrypted:E}}}function ac(t,e,n){const r=t.slice().sort((t,e)=>n?e-t:t-e);let o=e,i=0;for(const t of r){if(o>=O)break;o+=t,i++}return i}function cc(t){const{rawFilename:e,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:p,rawExtraField:h,ln:m,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:S,Ie:b,encrypted:E,me:x,he:R,uncompressedSize:z,fn:F,crc32:D}=t;let{version:A,compressionMethod:C}=t;const I=!p&&Nc(C,c);let T;const k=b||!I,v=u&&(t.bufferedWrite||!w||!x&&!R||k&&!F),_=v||u&&w&&(x||R);if(u&&(x||R)){const t=20,e=wc(t);if(e.en(1),e.en(t-4),T=e.Pt,v&&(e.an(z),k)){const t=vi(E,l,y);e.an(b?0:z+t)}}else T=gt;let N,U,O,L,W;if(E&&!l){const t=wc(Wc(Va)+2);t.en(J),t.nn(Va),N=t.Pt,N[8]=y}else N=gt;if(g){const t=Ac(n),e=(P=t)>=Sa&&P<=ba;if(e){const e=9+(o?4:0)+(i?4:0),n=wc(e);L=1+(o?2:0)+(i?4:0),W=t,n.en(Q),n.en(e-4),n.wn(L),n.tn(t),o&&n.tn(Cc(Ac(o))),i&&n.tn(Cc(Ac(i))),O=n.Pt}else O=gt;if(S===dt?!e||Boolean(o||i):S)try{const t=Dc(n),e=wc(36);e.en(10),e.en(32),e.pn(4),e.en(1),e.en(24),e.an(t),e.an(o?Dc(o):t),e.an(i?Dc(i):t),U=e.Pt}catch{U=gt}else U=gt}else U=O=gt;var P;let Z;try{const{uid:e,gid:n,unixExtraFieldType:r}=t;if(r!=Ga||e===dt&&n===dt)if(r!=ja||e===dt&&n===dt)Z=gt;else{const t=wc(8);t.en(et),t.en(4),t.en((e===dt?0:e)&M),t.en((n===dt?0:n)&M),Z=t.Pt}else{const t=lc(e===dt?0:e),r=lc(n===dt?0:n),o=3+t.length+r.length,i=wc(4+o);i.en(tt),i.en(o),i.wn(1),i.wn(t.length),i.nn(t),i.wn(r.length),i.nn(r),Z=i.Pt}}catch{Z=gt}C===dt&&(C=I?8:0),A===dt&&(A=0!=C||p||E?20:10);const{un:H}=t;I&&H!==dt&&(A=A>H?A:H),u&&(A=A>45?A:45),E&&!l&&(A=A>51?A:51,b&&D!==dt&&(N[4]=1),Oc(Ee(N),9,C),C=99);const V=_?Wc(T):0,G=V+Wc(N,O,U,Z,h,m);if(G+(t[vt]?67:0)>M)throw new f(ga);const j=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),q=j<lt?lt:j>ut?ut:j,K=Wc(O)?new a(1e3*Ac(n)):Wc(U)?n:q,{we:Y,pe:X,rawLastModDate:$}=Pc({version:A,bitFlag:Hc(c,d,w,E,C),compressionMethod:C,uncompressedSize:z,lastModDate:q,rawLastModDate:r,rawFilename:e,he:R,me:x,extraFieldLength:G}),nt=wc(ct+Wc(e)+G),rt=nt.Pt,ot=Ee(rt);return nt.tn(B),nt.nn(Y),nt.nn(e),_&&nt.nn(T),nt.nn(N),nt.nn(O),nt.nn(U),nt.nn(Z),nt.nn(h),nt.nn(m),w&&(R||Mc(ot,18,0),x||Mc(ot,22,0)),{ve:rt,Ge:ot,we:Y,pe:X,lastModDate:K,ke:K===q&&j.getTime()!=q.getTime(),rawLastModDate:$,encrypted:E,compressed:I,version:A,compressionMethod:C,Pe:L,Ze:W,Se:gt,We:V,Ee:O,xe:U,Re:Z,be:N,extraFieldLength:G}}function uc(t,e){const{Ue:n}=t;let{ve:r,extraFieldLength:o}=n,i=64-(e+Wc(r))%64;i<4&&(i+=64);const s=new w(i),a=Ee(s);Oc(a,0,$),Oc(a,2,i-4);const c=r;n.ve=r=new w(Wc(c)+i),Bc(r,c),Bc(r,s,Wc(c));const u=Ee(r);Oc(u,28,o+i),n.Ge=u,t.Be+=i}function lc(t){const e=new w(4);Ee(e).setUint32(0,t,!0);let n=4;for(;n>1&&0===e[n-1];)n--;return e.subarray(0,n)}function dc({zip64:t,dataDescriptor:e,dataDescriptorSignature:n}){let r,o=gt,i=0,s=t?20:12;return n&&(s+=4),e&&(o=new w(s),r=Ee(o),n&&(i=4,Mc(r,0,P))),{_e:o,He:r,Ve:i}}function fc(t){let e=0,n=!1;for(const[,r]of t){const{rawFilename:t,be:o,rawComment:i,xe:s,Re:a,rawExtraField:c,ze:u,Pe:l,Ze:d,ye:w,uncompressedSize:p,compressedSize:h}=r;let{me:m,he:y}=r;w||(m&&p<O&&(m=r.me=!1),y&&h<O&&(y=r.he=!1)),n=n||m||y;const g=r.offset>=O,S=r.diskNumberStart>=M;let b,E;if(g||S||m||y){const t=4+(m?8:0)+(y?8:0)+(g?8:0)+(S?4:0),e=wc(t);e.en(1),e.en(t-4),m&&e.an(p),y&&e.an(h),g&&e.an(r.offset),S&&e.tn(r.diskNumberStart),b=e.Pt}else b=gt;if(r.Se=b,r.$e=g,r.ge=S,d===dt)E=gt;else{const t=wc(9);t.en(Q),t.en(5),t.wn(l),t.tn(d),E=t.Pt}r.Ee=E;const x=Wc(b,o,s,a,E,c,u);if(x>M)throw new f(ga);e+=q+Wc(t,i)+x}return{Ke:e,Ye:n}}function wc(t){const e=new w(t),n=Ee(e);let r=0;return{Pt:e,wn:t=>{!function(t,e,n){t.setUint8(e,n)}(n,r,t),r+=1},en:t=>{Oc(n,r,t),r+=2},tn:t=>{Mc(n,r,t),r+=4},an:t=>{Lc(n,r,i(t)),r+=8},nn:t=>{Bc(e,t,r),r+=Wc(t)},pn:t=>r+=t}}function pc(t){const{diskNumber:e=0}=t;return e}function hc(t){const{diskOffset:e=0}=t;return e}function mc(t,e){const{availableSize:n=ft}=t;return e>n}function yc(t,{diskNumber:e=0,diskOffset:n=0}){return t.offset-n-(e?t.re:0)}function gc(t){const e=Ee(t);let n=0;for(;n+4<=Wc(t);){const r=4+Uc(e,n+2);if(1==Uc(e,n))return gc(Se(t.subarray(0,n),t.subarray(s.min(n+r,Wc(t)))));n+=r}return t}async function Sc(t,e,n,r){if(r>0){const{writer:o}=t;let i=0;try{await Fc(Ko(e,{offset:n,size:r}),o,dt,t=>i+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=i,t.offset+=i}}}async function bc(t,e){const n=await qo(t,e,ct);if(Wc(n)<ct)return ct;const r=Ee(n);return ct+Uc(r,26)+Uc(r,28)}function Ec(t,{offset:e,diskNumberStart:n}){return e+(t.jt?t.jt(n):0)}function xc(){const t=new w(4);return Mc(Ee(t),0,W),t}async function Rc(t,e){delete t.te,await zc(e,xc()),t.offset+=4}async function zc(t,e){const{writable:n}=t,r=n.getWriter();try{await r.ready,t.size+=Wc(e),await r.write(e)}finally{r.releaseLock()}}async function Fc(t,e,n,r){const o=e.writable.getWriter();try{await t.pipeTo(new D({async write(t){await o.ready,await o.write(t),r(Wc(t))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Dc(t){if(t){const e=(i(t.getTime())+i(116444736e5))*i(1e4);return e<Ea?Ea:e>xa?xa:e}}function Ac(t){return s.floor(t.getTime()/1e3)}function Cc(t){return s.min(ba,s.max(Sa,t))}function Ic(t,e,n,r){const o=e[n]===dt?t.options[n]:e[n];return o===dt?r:o}function Tc(t,e,n,r){const i=Ic(t,e,n,r);if(null===i)return r;if(i!==dt&&(typeof i.getTime!=pt||o.isNaN(i.getTime())))throw new f(ca);return i}function kc(t,e,n){return qt(Ic(t,e,n))}function vc(t,e,n,r){return te(Ic(t,e,n,r))}function _c(t){return t+5*(s.floor(t/16383)+1)}function Nc(t,e){return t===dt?e===dt||e>0:0!==t}function Uc(t,e){return t.getUint16(e,!0)}function Oc(t,e,n){t.setUint16(e,n,!0)}function Mc(t,e,n){t.setUint32(e,n,!0)}function Lc(t,e,n){t.setBigUint64(e,n,!0)}function Bc(t,e,n){t.set(e,n)}function Wc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Pc({version:t,bitFlag:e,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,he:c,me:u,extraFieldLength:l}){const d=wc(26),f=d.Pt,w=Ee(f);if(d.en(t),d.en(e),d.en(n),s===dt){const t=new h(1),e=Ee(t);Oc(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Oc(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.tn(s),d.pn(4),c||o!==dt?d.tn(c?O:o):d.pn(4),u||r!==dt?d.tn(u?O:r):d.pn(4),d.en(Wc(a)),d.en(l),{we:f,pe:w,rawLastModDate:s}}function Zc(t){return t.every(t=>t>=32&&t<=126)}function Hc(t,e,n,r,o){let i=0;return e&&(i|=nt),n&&(i|=8),8!=o&&9!=o||(t>=0&&t<=3&&(i|=6),t>3&&t<=5&&(i|=4),9==t&&(i|=2)),r&&(i|=1),i}function Vc(t,e){if(!t)return!1;const{hn:n}=t;return n?n.includes(e):Qn(t,e)}const Gc=1048576,jc=".zip.js-temp",qc=1048576,Kc=1048576,Yc=".zip.js-temp",Xc="createSyncAccessHandle is only available in dedicated workers";try{!function(t){const e=me(ge(t));n.assign(ie,e),n.assign(fe,e)}({baseURI:void 0===E&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===E?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new d("zip-fs-core.min.js",E.baseURI).href})}catch{}const Jc="Entry filename already exists",Qc="Duplicate entry filename in the imported zip file",$c='Invalid duplicates option (must be "throw", "keep-first" or "keep-last")',tu="Entry is an ancestor of target entry",eu="Root directory cannot be moved",nu="Target entry is not a directory",ru="Parent entry is not a directory",ou="Readable stream already consumed",iu="throw",su="keep-first",au="keep-last",cu=new u([iu,su,au]),uu="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",lu="Invalid readerOptions (must be an object)",du="The 'compressed' passThrough option is only supported by Entry#getData() and ZipWriter#add()",fu="zipjs-abort-export";class wu{constructor(t,e,r,o){const i=this;if(t.root&&o&&o.getChildByName(e))throw new f(Jc);r||(r={}),n.assign(i,{fs:t,name:e,data:r.data,options:r.options&&n.assign({},r.options),id:t.yn++,parent:o,children:[],uncompressedSize:r.uncompressedSize||0,gn:r.gn||r.uncompressedSize===dt,passThrough:r.passThrough,Sn:r.Sn||new a}),!o&&t.root||(t.entries[i.id]=i),o&&i.parent.children.push(i)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,n=this.parent;for(;n&&n!=t;)e=(n.name?n.name+"/":"")+e,n=n.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return Boolean(e)}rename(t){const e=this;let n=e.parent;if(n){const r=Pu(t);r&&(t=r.pop(),n=Zu(n,r,e));const o=n.getChildByName(t);if(o&&o!=e)throw new f(Jc);n!=e.parent&&(Fu(e),e.parent=n,n.children.push(e),Bu(e.fs,e))}e.name=t}setOptions(t){const e=n.assign({},this.options,t);this.options=n.fromEntries(n.entries(e).filter(([,t])=>t!==dt))}}class pu extends wu{constructor(t,e,n,r){super(t,e,n,r);const o=this;o.Reader=n.Reader,o.Writer=n.Writer,n.getData&&(o.getData=n.getData)}clone(){return new pu(this.fs,this.name,this)}async getData(t,e={}){const n=this;if(!t||t.constructor==n.Writer&&n.data&&function(t,e){const{contentType:n}=t;return n===dt||(t.constructor==mo?e.type==n:t.constructor!=fo||e.startsWith("data:"+(n||"")+";base64,"))}(t,n.data))return n.data;{const r=n.reader=Ru(n.Reader,n.data,e),o=n.uncompressedSize||r.size;await g.all([Go(r),Go(t,o)]);const i=Kt(e.signal),s=function(t,e,n,r){const{onstart:o,onprogress:i,onend:s}=n,{readable:a}=e;return t.data instanceof Ti||!o&&!i&&!s?a:An(a).pipeThrough(new yr({onstart:o,onprogress:i,onend:s,size:e.size}),{signal:r})}(n,r,e,i),a=!Vo(t)&&Boolean(e.preventClose);return n.uncompressedSize=r.size,await An(s).pipeTo(In(t.writable),{signal:i,preventClose:a,preventAbort:a}),t.getData?t.getData():t.writable}}isPasswordProtected(){return Boolean(this.data&&this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,n.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==Be)return!1;throw t}}getText(t,e){return this.getData(new So(t),e)}getBlob(t,e){return this.getData(new mo(t),e)}getData64URI(t,e){return this.getData(new fo(t),e)}getUint8Array(t){return this.getData(new Bo,t)}getWritable(t=new D,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return be(await this.getUint8Array(t)).buffer}replaceBlob(t){ku(this,{data:t,Reader:ho,Writer:mo,uncompressedSize:t.size})}replaceText(t){ku(this,{data:t,Reader:yo,Writer:So,uncompressedSize:go(t)})}replaceData64URI(t){ku(this,{data:t,Reader:lo,Writer:fo,uncompressedSize:vu(t)})}replaceUint8Array(t){ku(this,{data:t,Reader:Lo,Writer:Bo,uncompressedSize:t.length})}replaceReadable(t){ku(this,{data:null,Reader:Eu(t),Writer:null,uncompressedSize:dt})}}class hu extends wu{constructor(t,e,n,r){super(t,e,n,r),this.directory=!0}clone(t){const e=this,n=new hu(e.fs,e.name,e);return t&&(n.children=e.children.map(e=>{const r=e.clone(t);return r.parent=n,r})),n}addDirectory(t,e){return Wu(this,t,{options:e},!0)}addText(t,e,n={}){return Wu(this,t,{data:e,Reader:yo,Writer:So,options:n,uncompressedSize:go(e)})}addBlob(t,e,n={}){return Wu(this,t,{data:e,Reader:ho,Writer:mo,options:n,uncompressedSize:e.size})}addData64URI(t,e,n={}){return Wu(this,t,{data:e,Reader:lo,Writer:fo,options:n,uncompressedSize:vu(e)})}addUint8Array(t,e,n={}){return Wu(this,t,{data:e,Reader:Lo,Writer:Bo,options:n,uncompressedSize:e.length})}addHttpContent(t,e,n={}){return Wu(this,t,{data:e,Reader:class extends Mo{constructor(t){super(t,n)}},options:n})}addReadable(t,e,n={}){return Wu(this,t,{Reader:Eu(e),options:n})}addFileSystemEntry(t,e={}){return Uu(this,t,e)}addFileSystemHandle(t,e={}){return Uu(this,t,e)}addFile(t,e={}){return(e=n.assign({},e)).lastModDate||(e.lastModDate=new a(t.lastModified)),Wu(this,t.name,{data:t,Reader:function(){return{readable:t.stream(),size:t.size}},options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new ho(t),e)}importData64URI(t,e){return this.importZip(new lo(t),e)}importUint8Array(t,e){return this.importZip(new Lo(t),e)}importHttpContent(t,e){return this.importZip(new Mo(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new mo(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new fo(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Bo,t)}async exportWritable(t=new D,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return async function(t,e,r){const{onstart:o,onprogress:i,onend:s}=r;Tu(r.passThrough);const a=Iu(r.readerOptions),c=new AbortController,{signal:u}=c,l=function(t,e){if(!Kt(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const n=()=>e.abort(t.reason);return t.addEventListener("abort",n,{once:!0}),()=>t.removeEventListener("abort",n)}(r.signal,c),d=n.assign({},r,a,{signal:u,onstart:dt,onprogress:dt,onend:dt,preventClose:!1}),w=gu([t],t=>bu(t,d.passThrough)),p=[];let h=!1,m=0;try{o&&await gr(o,w),await S(t,e),s&&await gr(s,m)}catch(t){try{t.exportedEntryNames=p}catch{}throw t}finally{l()}return e;function y(t){const e=t.getWriter();return new D({async write(t){await e.write(t),m+=t.length,i&&await gr(i,m,w)},close:()=>e.close(),abort:t=>e.abort(t)})}async function S(t,e){if(r.concurrent){const n=(await g.allSettled(t.children.map(t=>b(t,e)))).filter(t=>"rejected"==t.status);if(n.length){const t=n.filter(t=>!Du(t.reason));throw function(t){const[e]=t,n=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(n.length)try{e.entryErrors=[...e.entryErrors||[],...n]}catch{}return e}((t.length?t:n).map(t=>t.reason))}}else for(const n of t.children)await b(n,e)}async function b(e,n){if(u.aborted){if(h||Du(u.reason))return;Yt(u)}try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await S(e,t)}else{const r=await n.getFileHandle(e.name,{create:!0}),o=await r.createWritable();try{await e.getData({writable:y(o)},d)}catch(t){throw h?new f(fu):t}p.push(e.getRelativeName(t))}}catch(n){h=!0,c.abort(new f(fu));try{n.entryName===dt&&(n.entryName=e.getRelativeName(t),n.entryId=e.id)}catch{}throw n}}}(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==pt?(r=t,e=n.assign({},r.options,e)):(await Go(t),r=new bs(t,e)),Tu(e.passThrough);const o=function(t){if(t===dt)return iu;if(cu.has(t))return t;throw new f($c)}(e.duplicates),i=[],s=await r.getEntries(e);for(const t of s){let r=this;try{const s=t.filename.split("/").filter(t=>""!=t&&"."!=t),a=s.pop();let c=!1;for(const t of s){const e=r;if(r=r.getChildByName(t),r){if(!r.directory){if(o==su){c=!0;break}if(o!=au)throw new f(Qc);this.fs.remove(r),r=new hu(this.fs,t,{data:null},e),i.push(r)}}else r=new hu(this.fs,t,{data:null},e),i.push(r)}if(c)continue;if(t.directory){let e=r;if(a){if(e=r.getChildByName(a),e&&!e.directory){if(o==su)continue;if(o!=au)throw new f(Qc);this.fs.remove(e),e=dt}e||(e=new hu(this.fs,a,{data:null},r),i.push(e))}e==this||e.data||(e.data=t)}else{const s=r.getChildByName(a);if(s){if(o==su)continue;if(o!=au)throw new f(Qc);this.fs.remove(s)}i.push(Wu(r,a,{data:t,Reader:xu(n.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}}catch(e){i.reverse().forEach(t=>this.fs.remove(t));try{e.cause={entry:t}}catch{}throw e}}return i}async exportZip(t,e={}){const r=this,o=Boolean(t)&&typeof t.add==pt;e=n.assign({},e),o||e.bufferedWrite!==dt||(e.bufferedWrite=!0);const[i]=await g.all([zu(r,Iu(e.readerOptions)),o?dt:Go(t)]),s=o?t:new Xa(t,e);return await async function(t,e,r,o,i){const{onstart:s,onprogress:a,onend:c,onentryprogress:u}=o,l=e,d=gu(e.children,t=>Nu(t)?0:1);let f=0,w=0;if(s&&await gr(s,r),o.bufferedWrite)await async function t(e){const n=(await g.allSettled(e.children.map(async e=>{await p(e),await t(e)}))).find(t=>"rejected"==t.status);if(n)throw n.reason}(e);else for(const t of e.getChildren({recursive:!0}))await p(t);async function p(e){if(Nu(e))return;const{name:s,Fe:c}=Au(e,l,o);let p=0;const h=await t.add(s,i.get(e),n.assign(c,{onstart:dt,onend:dt,onprogress:async t=>{f+=t-p,p=t,a&&await gr(a,f,r)}}));w++,u&&await gr(u,w,d,h)}c&&await gr(c,f)}(s,r,gu([r],Su),e,i),o?s:(await s.close(e.globalComment),t.getData?t.getData():t.writable)}async getExportedSize(t={}){const e=this;Iu((t=n.assign({},t)).readerOptions),t.bufferedWrite===dt&&(t.bufferedWrite=!0);const r=e.getChildren({recursive:!0}),o=r.filter(t=>!Nu(t)).map(n=>{const{name:r,Fe:o}=Au(n,e,t);return{name:r,size:n.directory?0:Cu(n,_u(n,t)),options:o}}),i=!t.bufferedWrite||o.every(t=>!1!==t.options.keepOrder)&&r.every(t=>Nu(t)||!t.children.length);return await async function(t,e,r,o){const i={options:t};if(qt(t[Nt]))throw new f(Aa);if(o!==dt&&!(o instanceof w))throw new f(ia);const a=Wc(o);if(a>M)throw new f(oa);const l=t[vt],d=new c,p=t[kt]===dt?0:t[kt];let h=p,m=ft;const y=[],g=new u;for(const t of e){let{name:e}=t;const{size:r}=t,o=n.assign({},t.options);Ic(i,o,bi)&&!e.endsWith(at)&&(e+=at);const a=rc(i,e,o);({name:e}=a);const{Ae:c}=oc(i,e,o);0==c.level||c.compressionMethod!==dt||c.Ie||await pr(we())||(c.level=0);const u=!Ic(i,o,bi);if(u&&r===dt)throw new f(Aa);const{dn:w,Ae:p}=sc(i,u,r,c,o);if(u&&!c.Ie&&Nc(p.compressionMethod,p.level))throw new f(Aa);const S=n.assign({},o,a.Ae,c,p,{[vt]:l}),b=cc(S),E=dc(S),x={Ue:b,Be:Wc(b.ve,E._e)};l&&uc(x,h);const R=u?w:0;d.set(e,n.assign({},S,b,{offset:h,diskNumberStart:0,compressedSize:R}));const z=x.Be+R;y.push(z),g.add(Boolean(S.ye||S.uncompressedSize>=O||R>=O)),m=s.min(m,z),h+=z}if(d.size>1&&(l||h-m>=O&&(g.size>1||ac(y,p,!0)!=ac(y,p,!1)))&&!r)throw new f(Aa);const{Ke:S,Ye:b}=fc(d);let E=Ic(i,t,hi);if(h>=O||S>=O||d.size>=M){if(!1===E)throw new f(Ra);E=!0}else E===dt&&b&&(E=!0);return h-p+S+a+(E?98:K)}(t,o,i,t.globalComment)}getChildByName(t){const e=this.children;for(let n=0;n<e.length;n++){const r=e[n];if(r.name==t)return r}}getChildren(t={}){return function(t,e){const n=[],r=[t];let o=0;for(;o<r.length;)for(const t of r[o++].children)n.push(t),e&&r.push(t);return n}(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const n=this.children;return!(await g.all(n.map(n=>n.checkPassword(t,e)))).includes(!1)}}class mu{constructor(){Mu(this)}get children(){return this.root.children}remove(t){Fu(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const n of t.children)e.push(n)}t.parent=dt}move(t,e){if(t==this.root)throw new f(eu);if(!e.directory)throw new f(nu);if(e.isDescendantOf(t))throw new f(tu);if(t!=e){const n=e.getChildByName(t.name);if(n){if(n!=t)throw new f(Jc)}else Fu(t),t.parent=e,e.children.push(t),Bu(this,t)}}find(t){const e=t.split("/");let n=this.root;for(let t=0;n&&t<e.length;t++)n=n.directory?n.getChildByName(e[t]):dt;return n||(n=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),n}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,n){return this.root.addText(t,e,n)}addBlob(t,e,n){return this.root.addBlob(t,e,n)}addData64URI(t,e,n){return this.root.addData64URI(t,e,n)}addUint8Array(t,e,n){return this.root.addUint8Array(t,e,n)}addHttpContent(t,e,n){return this.root.addHttpContent(t,e,n)}addReadable(t,e,n){return this.root.addReadable(t,e,n)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return Lu(this,n=>n.importBlob(t,e))}importData64URI(t,e){return Lu(this,n=>n.importData64URI(t,e))}importUint8Array(t,e){return Lu(this,n=>n.importUint8Array(t,e))}importHttpContent(t,e){return Lu(this,n=>n.importHttpContent(t,e))}importReadable(t,e){return Lu(this,n=>n.importReadable(t,e))}importZip(t,e){return Lu(this,n=>n.importZip(t,e))}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const yu={FS:mu,ZipDirectoryEntry:hu,ZipFileEntry:pu};function gu(t,n){let r=0;const o=e.from(t);for(;o.length;){const t=o.pop();r+=n(t)||0;for(const e of t.children)o.push(e)}return r}function Su(t){return t.uncompressedSize}function bu(t,e){const{data:n}=t;return e&&n instanceof Ti?n.compressedSize:t.uncompressedSize}function Eu(t){let e;return function(){if(e)throw new f(ou);return e=!0,{readable:t}}}function xu(t){return class extends co{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=n.assign({},t,e.options),{checkOverlappingEntry:o,checkOverlappingEntryOnly:i}=r,s=await e.entry.getData(new mo,n.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:i||o,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.bn=new ho(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.bn.readUint8Array(t,e)}}}function Ru(t,e,n){return t.prototype?new t(e,n):t(e,n)}async function zu(t,e){const n=[],r=[t],o=new c;for(;r.length;){const t=r.pop();for(const e of t.children)e.directory?r.push(e):n.push(e)}return await g.all(n.map(async t=>{const n=t.reader=Ru(t.Reader,t.data,e);o.set(t,n);try{await Go(n)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}n.size!==dt&&(t.uncompressedSize=n.size,t.gn=!1)})),o}function Fu(t){if(t.parent){const e=t.parent.children;e.forEach((n,r)=>{n.id==t.id&&e.splice(r,1)})}}function Du(t){return Boolean(t)&&t.message==fu}function Au(t,e,r){const o=r.relativePath?t.getRelativeName(e):t.getFullname(),i=t.options||{};let s={},a={};if(t.data instanceof Ti){const e=_u(t,r),n=i.lastModDate===dt?r.lastModDate:i.lastModDate;({Fe:s,De:a}=nc(t.data,e,n)),e&&(a.passThrough=!0)}const c=n.assign({lastModDate:t.Sn},s,r,i,a,{directory:t.directory});if(!t.directory&&c.passThrough&&c.uncompressedSize===dt)throw new f(uu);return{name:o,Fe:c}}function Cu(t,e){const{reader:n}=t;return n&&n.size!==dt?n.size:t.gn?dt:bu(t,e)}function Iu(t){if(t&&(typeof t!=ht||e.isArray(t)))throw new f(lu);return t&&Tu(t.passThrough),t}function Tu(t){if(Jt(t)===Pt)throw new f(du)}function ku(t,e){const{uncompressedSize:r}=e;n.assign(t,e,{reader:null,passThrough:dt,uncompressedSize:r===dt?0:r,gn:r===dt})}function vu(t){let e=t.length;for(;"="==t.charAt(e-1);)e--;const n=t.indexOf(",")+1;return s.floor(.75*(e-n))}function _u(t,e){const{readerOptions:n}=e;return Boolean(!t.directory&&(t.passThrough||n&&n.passThrough))}function Nu(t){return t.directory&&null===t.data}function Uu(t,e,r){return async function t(e,o,i,s=""){if(o){const c=s?s+"/"+o.name:o.name;try{if((o.isFile||o.isDirectory)&&(o=await Ou(o)),"file"==o.kind){const t=await o.getFile();i.push(Wu(e,t.name,{Reader:function(){return{readable:t.stream(),size:t.size}},options:n.assign({},{lastModDate:new a(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==o.kind){const n=e.addDirectory(o.name,r);i.push(n);for await(const e of o.values())await t(n,e,i,c)}}catch(t){try{t.entryName===dt&&(t.entryName=c)}catch{}throw t}}return i}(t,e,[])}async function Ou(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new g((e,n)=>t.file(e,n))),t.isDirectory){e.kind="directory";const n=await async function(t){const e=[];function n(t,r,o){t.readEntries(async i=>{if(i.length){for(const t of i)e.push(await Ou(t));n(t,r,o)}else r(e)},o)}return await new g((e,r)=>n(t.createReader(),e,r)),{[k.iterator](){let t=0;return{next(){const n={value:e[t],done:t==e.length};return t++,n}}}}}(t);e.values=()=>n}return e}function Mu(t){t.entries=[],t.yn=0,t.root=new hu(t)}function Lu(t,e){const{entries:r,yn:o,root:i}=t;return Mu(t),e(t.root).catch(e=>{throw n.assign(t,{entries:r,yn:o,root:i}),e})}function Bu(t,e){const n=[e];for(;n.length;){const e=n.pop();t.entries[e.id]=e;for(const t of e.children)n.push(t)}}function Wu(t,e,n,r){if(t.directory){const o=Pu(e);return o&&(e=o.pop(),t=Zu(t,o)),r?new hu(t.fs,e,n,t):new pu(t.fs,e,n,t)}throw new f(ru)}function Pu(t){if(t.includes("/")){const e=t.split("/").filter(t=>""!=t&&"."!=t);if(e.length)return e}}function Zu(t,e,n){return e.forEach(e=>{const r=t;if(t=t.getChildByName(e)){if(!t.directory)throw new f(Jc);if(n&&(t==n||t.isDescendantOf(n)))throw new f(tu)}else t=new hu(r.fs,e,{data:null},r)}),t}t.BlobReader=ho,t.BlobWriter=mo,t.Data64URIReader=lo,t.Data64URIWriter=fo,t.ERR_ABORTED=jt,t.ERR_AMBIGUOUS_ARCHIVE=Vi,t.ERR_ANCESTOR_ENTRY=tu,t.ERR_BAD_FORMAT=_i,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Oi,t.ERR_DUPLICATED_NAME=ra,t.ERR_DUPLICATE_IMPORTED_ENTRY=Qc,t.ERR_ENCRYPTED=Bi,t.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Gi,t.ERR_ENTRY_DATA_OUT_OF_BOUNDS=Hi,t.ERR_ENTRY_EXISTS=Jc,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ui,t.ERR_EOCDR_NOT_FOUND=Ni,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Li,t.ERR_HTTP_RANGE=Yr,t.ERR_HTTP_RESOURCE_CHANGED=Xr,t.ERR_HTTP_STATUS=Kr,t.ERR_INVALID_AUTHENTICATION_CODE=We,t.ERR_INVALID_BASE_URI=ne,t.ERR_INVALID_CODEC_DEFINITION=Tn,t.ERR_INVALID_CODEC_MODULE=vn,t.ERR_INVALID_COMMENT=oa,t.ERR_INVALID_COMMENT_TYPE=ia,t.ERR_INVALID_COMPRESSED_DATA=Zn,t.ERR_INVALID_CRC32=Hn,t.ERR_INVALID_DATE=ca,t.ERR_INVALID_DUPLICATES=$c,t.ERR_INVALID_ENCRYPTION_STRENGTH=da,t.ERR_INVALID_ENTRY=Wa,t.ERR_INVALID_ENTRY_COMMENT=sa,t.ERR_INVALID_ENTRY_COMMENT_TYPE=aa,t.ERR_INVALID_ENTRY_NAME=ua,t.ERR_INVALID_EXTRAFIELD=ha,t.ERR_INVALID_EXTRAFIELD_DATA=ga,t.ERR_INVALID_EXTRAFIELD_DATA_TYPE=ya,t.ERR_INVALID_EXTRAFIELD_TYPE=ma,t.ERR_INVALID_FILENAME_VALIDATION=Ki,t.ERR_INVALID_FUNCTION_OPTION=Zt,t.ERR_INVALID_GID=va,t.ERR_INVALID_LEVEL=La,t.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Yi,t.ERR_INVALID_MAX_WORKERS=ee,t.ERR_INVALID_MSDOS_ATTRIBUTES=Oa,t.ERR_INVALID_MSDOS_DATA=Ma,t.ERR_INVALID_PASSWORD=Be,t.ERR_INVALID_PASSWORD_TYPE=Vt,t.ERR_INVALID_PASS_THROUGH=uu,t.ERR_INVALID_PASS_THROUGH_VALUE=Gt,t.ERR_INVALID_READER=Ia,t.ERR_INVALID_READER_OPTIONS=lu,t.ERR_INVALID_SIGNAL=Ht,t.ERR_INVALID_SIGNATURE_DATA=Ba,t.ERR_INVALID_STRICTNESS=qi,t.ERR_INVALID_UID=ka,t.ERR_INVALID_UNCOMPRESSED_SIZE=Pn,t.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Na,t.ERR_INVALID_UNIX_ID_SIZE=Ua,t.ERR_INVALID_UNIX_MODE=_a,t.ERR_INVALID_URI=re,t.ERR_INVALID_VERSION=la,t.ERR_ITERATOR_COMPLETED_TOO_SOON=Jr,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Mi,t.ERR_OVERLAPPING_ENTRY=Zi,t.ERR_PARENT_NOT_DIRECTORY=ru,t.ERR_READABLE_CONSUMED=ou,t.ERR_RESERVED_COMPRESSION_METHOD=kn,t.ERR_ROOT_DIRECTORY_NOT_MOVABLE=eu,t.ERR_SPLIT_ZIP_FILE=Pi,t.ERR_TARGET_NOT_DIRECTORY=nu,t.ERR_UNDEFINED_COMPRESSION_METHOD=Fa,t.ERR_UNDEFINED_CRC32=Da,t.ERR_UNDEFINED_READER=Ca,t.ERR_UNDEFINED_UNCOMPRESSED_SIZE=za,t.ERR_UNDETERMINED_SIZE=Aa,t.ERR_UNSAFE_FILENAME=ji,t.ERR_UNSUPPORTED_COMPRESSION=_n,t.ERR_UNSUPPORTED_CONTEXT=Xc,t.ERR_UNSUPPORTED_CRYPTO_API=Ze,t.ERR_UNSUPPORTED_ENCRYPTION=Wi,t.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=pa,t.ERR_UNSUPPORTED_ENCRYPTION_USDZ=fa,t.ERR_UNSUPPORTED_FORMAT=Ra,t.ERR_UNSUPPORTED_PASS_THROUGH_VALUE=du,t.ERR_UNSUPPORTED_SPLIT_USDZ=wa,t.ERR_UNSUPPORTED_UINT64=Xi,t.ERR_WORKER_STARTUP_TIMEOUT=lr,t.ERR_WRITER_NOT_INITIALIZED=Qr,t.ERR_WRITER_SIZE_NOT_WRITABLE=$r,t.ERR_ZIP_CRYPTO_LAST_MOD_DATE=Pa,t.ERR_ZIP_NOT_EMPTY=Ta,t.HttpRangeReader=class extends Mo{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.HttpReader=Mo,t.Reader=co,t.SplitDataReader=Wo,t.SplitDataWriter=Po,t.TextReader=yo,t.TextWriter=So,t.Uint8ArrayReader=Lo,t.Uint8ArrayWriter=Bo,t.VERSION="2.12.0",t.WARNING_APPENDED_DATA=rs,t.WARNING_CLAMPED_LAST_MODIFICATION_DATE=Ha,t.WARNING_COMPRESSED_PATCHED_DATA=$i,t.WARNING_COMPRESSION_UNAVAILABLE=Za,t.WARNING_DUPLICATE_FILENAME=as,t.WARNING_MALFORMED_EXTRA_FIELD=ts,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=ds,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=fs,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=ws,t.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=ls,t.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=cs,t.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=us,t.WARNING_PREPENDED_CENTRAL_DIRECTORY=is,t.WARNING_PREPENDED_DATA=os,t.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=ss,t.WARNING_UNKNOWN_VERSION=Qi,t.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=es,t.WARNING_UNSORTED_CENTRAL_DIRECTORY=Ji,t.WARNING_WRAPPED_ENTRIES_COUNT=ns,t.Writer=uo,t.ZipDirectoryEntry=hu,t.ZipEntry=wu,t.ZipFS=mu,t.ZipFileEntry=pu,t.ZipReader=bs,t.ZipReaderStream=Es,t.ZipWriter=Xa,t.ZipWriterStream=class{constructor(t={}){const{readable:e,writable:n}=new z;this.readable=e,this.zipWriter=new Xa(n,t),this.oe=new u}transform(t){const e=this.zipWriter;let n;const{readable:r,writable:o}=new z({start(t){n=t},flush:()=>{!async function(){try{await e.close()}catch(t){await tc(e,t)}}()}});return ec(this,this.zipWriter.add(t,r),t=>n.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:n,writable:r}=new z({start(t){e=t}});return ec(this,this.zipWriter.add(t,n),t=>e.error(t)),r}async close(t,n={}){const{zipWriter:r}=this,o=(await g.allSettled(e.from(this.oe))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(o.length){const[t]=o;try{t.entryErrors=o}catch{}throw await tc(r,t),t}try{return await r.close(t,n)}catch(t){throw await tc(r,t),t}}},t.configure=function(t){n.assign(fe,me(ge(t)))},t.createBlobTempStream=function(t={}){const{thresholdBytes:e=qc}=t;return function(){const t=[];let n,r,o,i=0,s=!1;const a=new D({async write(o){s?await n.write(o):(t.push(o),i+=o.length,i>e&&await async function(){const e=new z;r=Cn(e.readable),n=e.writable.getWriter(),s=!0;for(const e of t)await n.write(e);t.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new F({async pull(e){if(s){if(!o){const t=await r;o=t.stream().getReader()}const{value:t,done:n}=await o.read();n?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),t.length=0}}}},t.createOPFSTempStream=function(t={}){const{thresholdBytes:n=Gc,directoryName:r=jc,getDirectory:o=()=>I.storage.getDirectory()}=t;let i;function s(){return i||(i=g.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),i}return function(){const t=[];let r,o,i,a,c=0,u=!1;const l=new D({async write(a){u?await i.write(a):(t.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=x.randomUUID?x.randomUUID():e.from(x.getRandomValues(new w(16)),t=>t.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const e of t)await i.write(e);t.length=0}())},async close(){i&&(await i.close(),i=null)}});let d=0;return{writable:l,readable:new F({async pull(e){if(u){if(!a){const t=await o.getFile();a=t.stream().getReader()}const{value:t,done:n}=await a.read();n?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}o=r=null}t.length=0}}}},t.createSyncAccessHandleTempStream=function(t={}){const{thresholdBytes:n=Kc,directoryName:r=Yc,getDirectory:o}=t;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new f(Xc);const i=o||(()=>I.storage.getDirectory());let a;function c(){return a||(a=g.resolve(i()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,o,i=0,a=!1,u=0,l=0;const d=new D({async write(s){a?(o.write(s,{at:u}),u+=s.length):(t.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=x.randomUUID?x.randomUUID():e.from(x.getRandomValues(new w(16)),t=>t.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const e of t)o.write(e,{at:u}),u+=e.length;t.length=0}())},close(){o&&o.flush()}});let f=0;return{writable:d,readable:new F({pull(e){if(a){const t=u-l;if(t<=0)return void e.close();const n=new w(s.min(524288,t)),r=o.read(n,{at:l});r?(l+=r,e.enqueue(n.subarray(0,r))):e.close()}else f<t.length?e.enqueue(t[f++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const t=await c();await t.removeEntry(r)}catch{}r=null}t.length=0}}}},t.fs=yu,t.getMimeType=function(){return"application/octet-stream"},t.getRegisteredCodecs=Ln,t.getSupportedCompressionMethods=function(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:n,DecompressionStreamFallback:r}=we(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Vc(n,Vn)||Vc(t,Vn)||Vc(t,jn),decompression:Vc(r,Vn)||Vc(e,Vn)||Vc(e,jn),registered:!1},{compressionMethod:9,compression:!1,decompression:Vc(r,Gn)||Vc(e,Gn),registered:!1}];for(const t of Ln()){const e=Bn(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==pt:dt,decompression:e?typeof e.DecompressionStream==pt:dt,registered:!0})}return o},t.isZipFile=xs,t.registerCodec=function(t={}){const{compressionMethod:e,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=t;if(!o.isInteger(e)||e<0||e>M||typeof n!=mt||!n.length)throw new f(Tn);if(Nn.includes(e))throw new f(kn);const c=typeof i==pt||typeof s==pt;if(!(c||typeof r==mt&&r.length))throw new f(Tn);Un.set(e,{compressionMethod:e,format:n,codecURI:r,versionNeeded:a}),c&&Wn(n,{CompressionStream:i,DecompressionStream:s})},t.resetConfiguration=function(){for(const t of de)delete fe[t];n.assign(fe,ie)},t.terminateWorkers=async function(){await g.allSettled(Nr.map(t=>(Vr(t),t.terminate()))),dr=dt,fr=!1},t.unregisterCodec=function(t){const e=Un.get(t);if(e){let n;Un.delete(t),Un.forEach(t=>n=n||t.format==e.format),n||On.delete(e.format)}}});
|