!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).singlefile={})}(this,(function(n){"use strict";const{Array:e,Object:t,String:a,Number:o,BigInt:i,Math:r,Date:s,Map:l,Set:c,Response:m,URL:d,Error:h,Uint8Array:p,Uint16Array:u,Uint32Array:g,DataView:w,Blob:b,Promise:f,TextEncoder:y,TextDecoder:k,crypto:v,btoa:j,TransformStream:S,ReadableStream:x,WritableStream:C,CompressionStream:A,DecompressionStream:L,navigator:z,Worker:E}=globalThis,T=4294967295,I=65535,R=8,M=0,D=99,_=67324752,P=134695760,N=P,B=33639248,O=101010256,U=101075792,F=117853008,q=22,H=1,W=39169,V=10,G=1,K=21589,J=6534,Y=1,Z=8,$=2048,X=45,Q=51,nn="/",en=new s(2107,11,31),tn=new s(1980,0,1),an=void 0,on="undefined",rn="function";class sn{constructor(n){return class extends S{constructor(e,t){const a=new n(t);super({transform(n,e){e.enqueue(a.append(n))},flush(n){const e=a.flush();e&&n.enqueue(e)}})}}}}const ln=64;let cn=2;try{typeof z!=on&&z.hardwareConcurrency&&(cn=z.hardwareConcurrency)}catch(n){}const mn={chunkSize:524288,maxWorkers:cn,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:an,CompressionStreamNative:typeof A!=on&&A,DecompressionStreamNative:typeof L!=on&&L},dn=t.assign({},mn);function hn(){return dn}function pn(n){return r.max(n.chunkSize,ln)}function un(n){const{baseURL:t,chunkSize:a,maxWorkers:o,terminateWorkerTimeout:i,useCompressionStream:r,useWebWorkers:s,Deflate:l,Inflate:c,CompressionStream:m,DecompressionStream:d,workerScripts:p}=n;if(gn("baseURL",t),gn("chunkSize",a),gn("maxWorkers",o),gn("terminateWorkerTimeout",i),gn("useCompressionStream",r),gn("useWebWorkers",s),l&&(dn.CompressionStream=new sn(l)),c&&(dn.DecompressionStream=new sn(c)),gn("CompressionStream",m),gn("DecompressionStream",d),p!==an){const{deflate:n,inflate:t}=p;if((n||t)&&(dn.workerScripts||(dn.workerScripts={})),n){if(!e.isArray(n))throw new h("workerScripts.deflate must be an array");dn.workerScripts.deflate=n}if(t){if(!e.isArray(t))throw new h("workerScripts.inflate must be an array");dn.workerScripts.inflate=t}}}function gn(n,e){e!==an&&(dn[n]=e)}function wn(n,e,a){return class{constructor(o){const i=this;var r,s;r=o,s="level",(typeof t.hasOwn===rn?t.hasOwn(r,s):r.hasOwnProperty(s))&&o.level===an&&delete o.level,i.codec=new n(t.assign({},e,o)),a(i.codec,(n=>{if(i.pendingData){const e=i.pendingData;i.pendingData=new p(e.length+n.length);const{pendingData:t}=i;t.set(e,0),t.set(n,e.length)}else i.pendingData=new p(n)}))}append(n){return this.codec.push(n),o(this)}flush(){return this.codec.push(new p,!0),o(this)}};function o(n){if(n.pendingData){const e=n.pendingData;return n.pendingData=null,e}return new p}}const bn=[];for(let n=0;n<256;n++){let e=n;for(let n=0;n<8;n++)1&e?e=e>>>1^3988292384:e>>>=1;bn[n]=e}class fn{constructor(n){this.crc=n||-1}append(n){let e=0|this.crc;for(let t=0,a=0|n.length;t>>8^bn[255&(e^n[t])];this.crc=e}get(){return~this.crc}}class yn extends S{constructor(){let n;const e=new fn;super({transform(n,t){e.append(n),t.enqueue(n)},flush(){const t=new p(4);new w(t.buffer).setUint32(0,e.get()),n.value=t}}),n=this}}function kn(n){if(typeof y==on){n=unescape(encodeURIComponent(n));const e=new p(n.length);for(let t=0;t0&&e&&(n[t-1]=vn.partial(e,n[t-1]&2147483648>>e-1,1)),n},partial:(n,e,t)=>32===n?e:(t?0|e:e<<32-n)+1099511627776*n,getPartial:n=>r.round(n/1099511627776)||32,_shiftRight(n,e,t,a){for(void 0===a&&(a=[]);e>=32;e-=32)a.push(t),t=0;if(0===e)return a.concat(n);for(let o=0;o>>e),t=n[o]<<32-e;const o=n.length?n[n.length-1]:0,i=vn.getPartial(o);return a.push(vn.partial(e+i&31,e+i>32?t:a.pop(),1)),a}},jn={bytes:{fromBits(n){const e=vn.bitLength(n)/8,t=new p(e);let a;for(let o=0;o>>24,a<<=8;return t},toBits(n){const e=[];let t,a=0;for(t=0;t9007199254740991)throw new h("Cannot hash more than 2^53 - 1 bits");const i=new g(t);let r=0;for(let n=e.blockSize+a-(e.blockSize+a&e.blockSize-1);n<=o;n+=e.blockSize)e._block(i.subarray(16*r,16*(r+1))),r+=1;return t.splice(0,16*r),e}finalize(){const n=this;let e=n._buffer;const t=n._h;e=vn.concat(e,[vn.partial(1,1)]);for(let n=e.length+2;15&n;n++)e.push(0);for(e.push(r.floor(n._length/4294967296)),e.push(0|n._length);e.length;)n._block(e.splice(0,16));return n.reset(),t}_f(n,e,t,a){return n<=19?e&t|~e&a:n<=39?e^t^a:n<=59?e&t|e&a|t&a:n<=79?e^t^a:void 0}_S(n,e){return e<>>32-n}_block(n){const t=this,a=t._h,o=e(80);for(let e=0;e<16;e++)o[e]=n[e];let i=a[0],s=a[1],l=a[2],c=a[3],m=a[4];for(let n=0;n<=79;n++){n>=16&&(o[n]=t._S(1,o[n-3]^o[n-8]^o[n-14]^o[n-16]));const e=t._S(5,i)+t._f(n,s,l,c)+m+o[n]+t._key[r.floor(n/20)]|0;m=c,c=l,l=t._S(30,s),s=i,i=e}a[0]=a[0]+i|0,a[1]=a[1]+s|0,a[2]=a[2]+l|0,a[3]=a[3]+c|0,a[4]=a[4]+m|0}}},xn={aes:class{constructor(n){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const t=e._tables[0][4],a=e._tables[1],o=n.length;let i,r,s,l=1;if(4!==o&&6!==o&&8!==o)throw new h("invalid aes key size");for(e._key=[r=n.slice(0),s=[]],i=o;i<4*o+28;i++){let n=r[i-1];(i%o==0||8===o&&i%o==4)&&(n=t[n>>>24]<<24^t[n>>16&255]<<16^t[n>>8&255]<<8^t[255&n],i%o==0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[i]=r[i-o]^n}for(let n=0;i;n++,i--){const e=r[3&n?i:i-4];s[n]=i<=4||n<4?e:a[0][t[e>>>24]]^a[1][t[e>>16&255]]^a[2][t[e>>8&255]]^a[3][t[255&e]]}}encrypt(n){return this._crypt(n,0)}decrypt(n){return this._crypt(n,1)}_precompute(){const n=this._tables[0],e=this._tables[1],t=n[4],a=e[4],o=[],i=[];let r,s,l,c;for(let n=0;n<256;n++)i[(o[n]=n<<1^283*(n>>7))^n]=n;for(let m=r=0;!t[m];m^=s||1,r=i[r]||1){let i=r^r<<1^r<<2^r<<3^r<<4;i=i>>8^255&i^99,t[m]=i,a[i]=m,c=o[l=o[s=o[m]]];let d=16843009*c^65537*l^257*s^16843008*m,h=257*o[i]^16843008*i;for(let t=0;t<4;t++)n[t][m]=h=h<<24^h>>>8,e[t][i]=d=d<<24^d>>>8}for(let t=0;t<5;t++)n[t]=n[t].slice(0),e[t]=e[t].slice(0)}_crypt(n,e){if(4!==n.length)throw new h("invalid aes block size");const t=this._key[e],a=t.length/4-2,o=[0,0,0,0],i=this._tables[e],r=i[0],s=i[1],l=i[2],c=i[3],m=i[4];let d,p,u,g=n[0]^t[0],w=n[e?3:1]^t[1],b=n[2]^t[2],f=n[e?1:3]^t[3],y=4;for(let n=0;n>>24]^s[w>>16&255]^l[b>>8&255]^c[255&f]^t[y],p=r[w>>>24]^s[b>>16&255]^l[f>>8&255]^c[255&g]^t[y+1],u=r[b>>>24]^s[f>>16&255]^l[g>>8&255]^c[255&w]^t[y+2],f=r[f>>>24]^s[g>>16&255]^l[w>>8&255]^c[255&b]^t[y+3],y+=4,g=d,w=p,b=u;for(let n=0;n<4;n++)o[e?3&-n:n]=m[g>>>24]<<24^m[w>>16&255]<<16^m[b>>8&255]<<8^m[255&f]^t[y++],d=g,g=w,w=b,b=f,f=d;return o}}},Cn={getRandomValues(n){const e=new g(n.buffer),t=n=>{let e=987654321;const t=4294967295;return function(){e=36969*(65535&e)+(e>>16)&t;return(((e<<16)+(n=18e3*(65535&n)+(n>>16)&t)&t)/4294967296+.5)*(r.random()>.5?1:-1)}};for(let a,o=0;o>24))n+=1<<24;else{let e=n>>16&255,t=n>>8&255,a=255&n;255===e?(e=0,255===t?(t=0,255===a?a=0:++a):++t):++e,n=0,n+=e<<16,n+=t<<8,n+=a}return n}incCounter(n){0===(n[0]=this.incWord(n[0]))&&(n[1]=this.incWord(n[1]))}calculate(n,e,t){let a;if(!(a=e.length))return[];const o=vn.bitLength(e);for(let o=0;onew Ln.hmacSha1(jn.bytes.toBits(n)),pbkdf2(n,e,t,a){if(t=t||1e4,a<0||t<0)throw new h("invalid params to pbkdf2");const o=1+(a>>5)<<2;let i,r,s,l,c;const m=new ArrayBuffer(o),d=new w(m);let p=0;const u=vn;for(e=jn.bytes.toBits(e),c=1;p<(o||1);c++){for(i=r=n.encrypt(u.concat(e,[c])),s=1;so&&(n=(new t).update(n).finalize());for(let e=0;ethis.resolveReady=n)),password:te(n,e),signed:a,strength:o-1,pending:new p})},async transform(n,e){const t=this,{password:a,strength:o,resolveReady:r,ready:s}=t;a?(await async function(n,e,t,a){const o=await ee(n,e,t,oe(a,0,On[e])),i=oe(a,On[e]);if(o[0]!=i[0]||o[1]!=i[1])throw new h(En)}(t,o,a,oe(n,0,On[o]+2)),n=oe(n,On[o]+2),i?e.error(new h(In)):r()):await s;const l=new p(n.length-Fn-(n.length-Fn)%Mn);e.enqueue(ne(t,n,l,0,Fn,!0))},async flush(n){const{signed:e,ctr:t,hmac:a,pending:o,ready:i}=this;if(a&&t){await i;const r=oe(o,0,o.length-Fn),s=oe(o,o.length-Fn);let l=new p;if(r.length){const n=re(Gn,r);a.update(n);const e=t.update(n);l=ie(Gn,e)}if(e){const n=oe(ie(Gn,a.digest()),0,Fn);for(let e=0;ethis.resolveReady=n)),password:te(n,e),strength:a-1,pending:new p})},async transform(n,e){const t=this,{password:a,strength:o,resolveReady:i,ready:r}=t;let s=new p;a?(s=await async function(n,e,t){const a=Rn(new p(On[e])),o=await ee(n,e,t,a);return ae(a,o)}(t,o,a),i()):await r;const l=new p(s.length+n.length-n.length%Mn);l.set(s,0),e.enqueue(ne(t,n,l,s.length,0))},async flush(n){const{ctr:e,hmac:t,pending:a,ready:i}=this;if(t&&e){await i;let r=new p;if(a.length){const n=e.update(re(Gn,a));t.update(n),r=ie(Gn,n)}o.signature=ie(Gn,t.digest()).slice(0,Fn),n.enqueue(ae(r,o.signature))}}}),o=this}}function ne(n,e,t,a,o,i){const{ctr:r,hmac:s,pending:l}=n,c=e.length-o;let m;for(l.length&&(e=ae(l,e),t=function(n,e){if(e&&e>n.length){const t=n;(n=new p(e)).set(t,0)}return n}(t,c-c%Mn)),m=0;m<=c-Mn;m+=Mn){const n=re(Gn,oe(e,m,m+Mn));i&&s.update(n);const o=r.update(n);i||s.update(o),t.set(ie(Gn,o),m+a)}return n.pending=oe(e,m),t}async function ee(n,a,o,i){n.password=null;const r=await async function(n,e,t,a,o){if(!Zn)return Ln.importKey(e);try{return await Wn.importKey(n,e,t,a,o)}catch(n){return Zn=!1,Ln.importKey(e)}}(Dn,o,Pn,!1,Bn),s=await async function(n,e,t){if(!$n)return Ln.pbkdf2(e,n.salt,Nn.iterations,t);try{return await Wn.deriveBits(n,e,t)}catch(a){return $n=!1,Ln.pbkdf2(e,n.salt,Nn.iterations,t)}}(t.assign({salt:i},Nn),r,8*(2*Un[a]+2)),l=new p(s),c=re(Gn,oe(l,0,Un[a])),m=re(Gn,oe(l,Un[a],2*Un[a])),d=oe(l,2*Un[a]);return t.assign(n,{keys:{key:c,authentication:m,passwordVerification:d},ctr:new Jn(new Kn(c),e.from(qn)),hmac:new Yn(m)}),d}function te(n,e){return e===an?kn(n):e}function ae(n,e){let t=n;return n.length+e.length&&(t=new p(n.length+e.length),t.set(n,0),t.set(e,n.length)),t}function oe(n,e,t){return n.subarray(e,t)}function ie(n,e){return n.fromBits(e)}function re(n,e){return n.toBits(e)}const se=12;class le extends S{constructor({password:n,passwordVerification:e,checkPasswordOnly:a}){super({start(){t.assign(this,{password:n,passwordVerification:e}),he(this,n)},transform(n,e){const t=this;if(t.password){const e=me(t,n.subarray(0,se));if(t.password=null,e[11]!=t.passwordVerification)throw new h(En);n=n.subarray(se)}a?e.error(new h(In)):e.enqueue(me(t,n))}})}}class ce extends S{constructor({password:n,passwordVerification:e}){super({start(){t.assign(this,{password:n,passwordVerification:e}),he(this,n)},transform(n,e){const t=this;let a,o;if(t.password){t.password=null;const e=Rn(new p(se));e[11]=t.passwordVerification,a=new p(n.length+e.length),a.set(de(t,e),0),o=se}else a=new p(n.length),o=0;a.set(de(t,n),o),e.enqueue(a)}})}}function me(n,e){const t=new p(e.length);for(let a=0;a>>24]),o=~n.crcKey2.get(),n.keys=[t,a,o]}function ue(n){const e=2|n.keys[2];return ge(r.imul(e,1^e)>>>8)}function ge(n){return 255&n}function we(n){return 4294967295&n}const be="deflate-raw";class fe extends S{constructor(n,{chunkSize:e,CompressionStream:t,CompressionStreamNative:a}){super({});const{compressed:o,encrypted:i,useCompressionStream:r,zipCrypto:s,signed:l,level:c}=n,m=this;let d,h,p=ke(super.readable);i&&!s||!l||(d=new yn,p=Se(p,d)),o&&(p=je(p,r,{level:c,chunkSize:e},a,t)),i&&(s?p=Se(p,new ce(n)):(h=new Qn(n),p=Se(p,h))),ve(m,p,(()=>{let n;i&&!s&&(n=h.signature),i&&!s||!l||(n=new w(d.value.buffer).getUint32(0)),m.signature=n}))}}class ye extends S{constructor(n,{chunkSize:e,DecompressionStream:t,DecompressionStreamNative:a}){super({});const{zipCrypto:o,encrypted:i,signed:r,signature:s,compressed:l,useCompressionStream:c}=n;let m,d,p=ke(super.readable);i&&(o?p=Se(p,new le(n)):(d=new Xn(n),p=Se(p,d))),l&&(p=je(p,c,{chunkSize:e},a,t)),i&&!o||!r||(m=new yn,p=Se(p,m)),ve(this,p,(()=>{if((!i||o)&&r){const n=new w(m.value.buffer);if(s!=n.getUint32(0,!1))throw new h(Tn)}}))}}function ke(n){return Se(n,new S({transform(n,e){n&&n.length&&e.enqueue(n)}}))}function ve(n,e,a){e=Se(e,new S({flush:a})),t.defineProperty(n,"readable",{get:()=>e})}function je(n,e,t,a,o){try{n=Se(n,new(e&&a?a:o)(be,t))}catch(a){if(!e)return n;try{n=Se(n,new o(be,t))}catch(e){return n}}return n}function Se(n,e){return n.pipeThrough(e)}const xe="message",Ce="start",Ae="pull",Le="data",ze="ack",Ee="close",Te="deflate",Ie="inflate";class Re extends S{constructor(n,e){super({});const a=this,{codecType:o}=n;let i;o.startsWith(Te)?i=fe:o.startsWith(Ie)&&(i=ye);let r=0,s=0;const l=new i(n,e),c=super.readable,m=new S({transform(n,e){n&&n.length&&(s+=n.length,e.enqueue(n))},flush(){t.assign(a,{inputSize:s})}}),d=new S({transform(n,e){n&&n.length&&(r+=n.length,e.enqueue(n))},flush(){const{signature:n}=l;t.assign(a,{signature:n,outputSize:r,inputSize:s})}});t.defineProperty(a,"readable",{get:()=>c.pipeThrough(m).pipeThrough(l).pipeThrough(d)})}}class Me extends S{constructor(n){let e;super({transform:function t(a,o){if(e){const n=new p(e.length+a.length);n.set(e),n.set(a,e.length),a=n,e=null}a.length>n?(o.enqueue(a.slice(0,n)),t(a.slice(n),o)):e=a},flush(n){e&&e.length&&n.enqueue(e)}})}}let De=typeof E!=on;class _e{constructor(n,{readable:e,writable:a},{options:o,config:i,streamOptions:r,useWebWorkers:s,transferStreams:l,scripts:c},m){const{signal:d}=r;return t.assign(n,{busy:!0,readable:e.pipeThrough(new Me(i.chunkSize)).pipeThrough(new Pe(e,r),{signal:d}),writable:a,options:t.assign({},o),scripts:c,transferStreams:l,terminate:()=>new f((e=>{const{worker:t,busy:a}=n;t?(a?n.resolveTerminated=e:(t.terminate(),e()),n.interface=null):e()})),onTaskFinished(){const{resolveTerminated:e}=n;e&&(n.resolveTerminated=null,n.terminated=!0,n.worker.terminate(),e()),n.busy=!1,m(n)}}),(s&&De?Oe:Be)(n,i)}}class Pe extends S{constructor(n,{onstart:e,onprogress:t,size:a,onend:o}){let i=0;super({async start(){e&&await Ne(e,a)},async transform(n,e){i+=n.length,t&&await Ne(t,i,a),e.enqueue(n)},async flush(){n.size=i,o&&await Ne(o,i)}})}}async function Ne(n,...e){try{await n(...e)}catch(n){}}function Be(n,e){return{run:()=>async function({options:n,readable:e,writable:t,onTaskFinished:a},o){try{const a=new Re(n,o);await e.pipeThrough(a).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:r,outputSize:s}=a;return{signature:i,inputSize:r,outputSize:s}}finally{a()}}(n,e)}}function Oe(n,e){const{baseURL:a,chunkSize:o}=e;if(!n.interface){let i;try{i=function(n,e,a){const o={type:"module"};let i,r;typeof n==rn&&(n=n());try{i=new d(n,e)}catch(e){i=n}if(Ue)try{r=new E(i)}catch(n){Ue=!1,r=new E(i,o)}else r=new E(i,o);return r.addEventListener(xe,(n=>async function({data:n},e){const{type:a,value:o,messageId:i,result:r,error:s}=n,{reader:l,writer:c,resolveResult:m,rejectResult:d,onTaskFinished:u}=e;try{if(s){const{message:n,stack:e,code:a,name:o}=s,i=new h(n);t.assign(i,{stack:e,code:a,name:o}),g(i)}else{if(a==Ae){const{value:n,done:t}=await l.read();qe({type:Le,value:n,done:t,messageId:i},e)}a==Le&&(await c.ready,await c.write(new p(o)),qe({type:ze,messageId:i},e)),a==Ee&&g(null,r)}}catch(s){qe({type:Ee,messageId:i},e),g(s)}function g(n,e){n?d(n):m(e),c&&c.releaseLock(),u()}}(n,a))),r}(n.scripts[0],a,n)}catch(t){return De=!1,Be(n,e)}t.assign(n,{worker:i,interface:{run:()=>async function(n,e){let a,o;const i=new f(((n,e)=>{a=n,o=e}));t.assign(n,{reader:null,writer:null,resolveResult:a,rejectResult:o,result:i});const{readable:r,options:s,scripts:l}=n,{writable:c,closed:m}=function(n){let e;const t=new f((n=>e=n)),a=new C({async write(e){const t=n.getWriter();await t.ready,await t.write(e),t.releaseLock()},close(){e()},abort:e=>n.getWriter().abort(e)});return{writable:a,closed:t}}(n.writable),d=qe({type:Ce,scripts:l.slice(1),options:s,config:e,readable:r,writable:c},n);d||t.assign(n,{reader:r.getReader(),writer:c.getWriter()});const h=await i;d||await c.getWriter().close();return await m,h}(n,{chunkSize:o})}})}return n.interface}let Ue=!0,Fe=!0;function qe(n,{worker:e,writer:t,onTaskFinished:a,transferStreams:o}){try{let{value:t,readable:a,writable:i}=n;const r=[];if(t&&(t.byteLength!n.busy));if(t)return Ke(t),new _e(t,n,e,g);if(He.lengthWe.push({resolve:t,stream:n,workerOptions:e})))}()).run();function g(n){if(We.length){const[{resolve:e,stream:t,workerOptions:a}]=We.splice(0,1);e(new _e(n,t,a,g))}else n.worker?(Ke(n),function(n,e){const{config:t}=e,{terminateWorkerTimeout:a}=t;o.isFinite(a)&&a>=0&&(n.terminated?n.terminated=!1:n.terminateTimeout=setTimeout((async()=>{He=He.filter((e=>e!=n));try{await n.terminate()}catch(n){}}),a))}(n,e)):He=He.filter((e=>e!=n))}}function Ke(n){const{terminateTimeout:e}=n;e&&(clearTimeout(e),n.terminateTimeout=null)}const Je="HTTP error ",Ye="HTTP Range not supported",Ze="Writer iterator completed too soon",$e="Content-Length",Xe="Range",Qe="HEAD",nt="GET",et="bytes",tt=65536,at="writable";class ot{constructor(){this.size=0}init(){this.initialized=!0}}class it extends ot{get readable(){const n=this,{chunkSize:e=tt}=n,t=new x({start(){this.chunkOffset=0},async pull(a){const{offset:o=0,size:i,diskNumberStart:s}=t,{chunkOffset:l}=this;a.enqueue(await Tt(n,o+l,r.min(e,i-l),s)),l+e>i?a.close():this.chunkOffset+=e}});return t}}class rt extends ot{constructor(){super();const n=this,e=new C({write:e=>n.writeUint8Array(e)});t.defineProperty(n,at,{get:()=>e})}writeUint8Array(){}}class st extends it{constructor(n){super(),t.assign(this,{blob:n,size:n.size})}async readUint8Array(n,e){const t=this,a=n+e,o=n||ae&&(i=i.slice(n,a)),new p(i)}}class lt extends ot{constructor(n){super();const e=new S,a=[];n&&a.push(["Content-Type",n]),t.defineProperty(this,at,{get:()=>e.writable}),this.blob=new m(e.readable,{headers:a}).blob()}getData(){return this.blob}}class ct extends st{constructor(n){super(new b([n],{type:"text/plain"}))}}class mt extends it{constructor(n,e){super(),ht(this,n,e)}async init(){await pt(this,vt,bt),super.init()}readUint8Array(n,e){return ut(this,n,e,vt,bt)}}class dt extends it{constructor(n,e){super(),ht(this,n,e)}async init(){await pt(this,jt,ft),super.init()}readUint8Array(n,e){return ut(this,n,e,jt,ft)}}function ht(n,e,a){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:r,combineSizeEocd:s}=a;delete(a=t.assign({},a)).preventHeadRequest,delete a.useRangeHeader,delete a.forceRangeRequests,delete a.combineSizeEocd,delete a.useXHR,t.assign(n,{url:e,options:a,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:r,combineSizeEocd:s})}async function pt(n,e,t){const{url:a,preventHeadRequest:i,useRangeHeader:r,forceRangeRequests:s,combineSizeEocd:l}=n;if(function(n){const{baseURL:e}=hn(),{protocol:t}=new d(n,e);return"http:"==t||"https:"==t}(a)&&(r||s)&&(void 0===i||i)){const a=await e(nt,n,gt(n,l?-22:void 0));if(!s&&a.headers.get("Accept-Ranges")!=et)throw new h(Ye);{let i;l&&(n.eocdCache=new p(await a.arrayBuffer()));const r=a.headers.get("Content-Range");if(r){const n=r.trim().split(/\s*\/\s*/);if(n.length){const e=n[1];e&&"*"!=e&&(i=o(e))}}i===an?await kt(n,e,t):n.size=i}}else await kt(n,e,t)}async function ut(n,e,t,a,o){const{useRangeHeader:i,forceRangeRequests:r,eocdCache:s,size:l,options:c}=n;if(i||r){if(s&&e==l-q&&t==q)return s;const o=await a(nt,n,gt(n,e,t));if(206!=o.status)throw new h(Ye);return new p(await o.arrayBuffer())}{const{data:a}=n;return a||await o(n,c),new p(n.data.subarray(e,e+t))}}function gt(n,e=0,a=1){return t.assign({},wt(n),{[Xe]:et+"="+(e<0?e:e+"-"+(e+a-1))})}function wt({options:n}){const{headers:e}=n;if(e)return Symbol.iterator in e?t.fromEntries(e):e}async function bt(n){await yt(n,vt)}async function ft(n){await yt(n,jt)}async function yt(n,e){const t=await e(nt,n,wt(n));n.data=new p(await t.arrayBuffer()),n.size||(n.size=n.data.length)}async function kt(n,e,t){if(n.preventHeadRequest)await t(n,n.options);else{const a=(await e(Qe,n,wt(n))).headers.get($e);a?n.size=o(a):await t(n,n.options)}}async function vt(n,{options:e,url:a},o){const i=await fetch(a,t.assign({},e,{method:n,headers:o}));if(i.status<400)return i;throw 416==i.status?new h(Ye):new h(Je+(i.statusText||i.status))}function jt(n,{url:e},a){return new f(((o,i)=>{const r=new XMLHttpRequest;if(r.addEventListener("load",(()=>{if(r.status<400){const n=[];r.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((e=>{const t=e.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,(n=>n.toUpperCase())),n.push(t)})),o({status:r.status,arrayBuffer:()=>r.response,headers:new l(n)})}else i(416==r.status?new h(Ye):new h(Je+(r.statusText||r.status)))}),!1),r.addEventListener("error",(n=>i(n.detail?n.detail.error:new h("Network error"))),!1),r.open(n,e),a)for(const n of t.entries(a))r.setRequestHeader(n[0],n[1]);r.responseType="arraybuffer",r.send()}))}class St extends it{constructor(n,e={}){super(),t.assign(this,{url:n,reader:e.useXHR?new dt(n,e):new mt(n,e)})}set size(n){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(n,e){return this.reader.readUint8Array(n,e)}}class xt extends rt{init(n=0){t.assign(this,{offset:0,array:new p(n)}),super.init()}writeUint8Array(n){const e=this;if(e.offset+n.length>e.array.length){const t=e.array;e.array=new p(t.length+n.length),e.array.set(t)}e.array.set(n,e.offset),e.offset+=n.length}getData(){return this.array}}class Ct extends it{constructor(n){super(),this.readers=n}async init(){const n=this,{readers:e}=n;n.lastDiskNumber=0,n.lastDiskOffset=0,await f.all(e.map((async(t,a)=>{await t.init(),a!=e.length-1&&(n.lastDiskOffset+=t.size),n.size+=t.size}))),super.init()}async readUint8Array(n,e,t=0){const a=this,{readers:o}=this;let i,s=t;-1==s&&(s=o.length-1);let l=n;for(;l>=o[s].size;)l-=o[s].size,s++;const c=o[s],m=c.size;if(l+e<=m)i=await Tt(c,l,e);else{const o=m-l;i=new p(e),i.set(await Tt(c,l,o)),i.set(await a.readUint8Array(n+o,e-o,t),o)}return a.lastDiskNumber=r.max(s,a.lastDiskNumber),i}}class At extends ot{constructor(n,e=4294967295){super();const a=this;let o,i,r;t.assign(a,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const s=new C({async write(e){const{availableSize:t}=a;if(r)e.length>=t?(await l(e.slice(0,t)),await c(),a.diskOffset+=o.size,a.diskNumber++,r=null,await this.write(e.slice(t))):await l(e);else{const{value:t,done:s}=await n.next();if(s&&!t)throw new h(Ze);o=t,o.size=0,o.maxSize&&(a.maxSize=o.maxSize),a.availableSize=a.maxSize,await Lt(o),i=t.writable,r=i.getWriter(),await this.write(e)}},async close(){await r.ready,await c()}});async function l(n){const e=n.length;e&&(await r.ready,await r.write(n),o.size+=e,a.size+=e,a.availableSize-=e)}async function c(){i.size=o.size,await r.close()}t.defineProperty(a,at,{get:()=>s})}}async function Lt(n,e){if(!n.init||n.initialized)return f.resolve();await n.init(e)}function zt(n){return e.isArray(n)&&(n=new Ct(n)),n instanceof x&&(n={readable:n}),n}function Et(n){n.writable===an&&typeof n.next==rn&&(n=new At(n)),n instanceof C&&(n={writable:n});const{writable:e}=n;return e.size===an&&(e.size=0),n instanceof At||t.assign(n,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),n}function Tt(n,e,t,a){return n.readUint8Array(e,t,a)}const It=Ct,Rt=At,Mt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Dt=256==Mt.length;function _t(n,e){return e&&"cp437"==e.trim().toLowerCase()?function(n){if(Dt){let e="";for(let t=0;tthis[e]=n[e]))}}const ta="File format is not recognized",aa="End of central directory not found",oa="End of Zip64 central directory locator not found",ia="Central directory header not found",ra="Local file header not found",sa="Zip64 extra field not found",la="File contains encrypted entry",ca="Encryption method not supported",ma="Compression method not supported",da="Split zip file",ha="utf-8",pa="cp437",ua=[[Ut,T],[Ft,T],[qt,T],[Ht,I]],ga={[I]:{getValue:Aa,bytes:4},[T]:{getValue:La,bytes:8}};class wa{constructor(n,e={}){t.assign(this,{reader:zt(n),options:e,config:hn()})}async*getEntriesGenerator(n={}){const e=this;let{reader:a}=e;const{config:o}=e;if(await Lt(a),a.size!==an&&a.readUint8Array||(a=new st(await new m(a.readable).blob()),await Lt(a)),a.size=0;n--)if(r[n]==i[0]&&r[n+1]==i[1]&&r[n+2]==i[2]&&r[n+3]==i[3])return{offset:o+n,buffer:r.slice(n,n+a).buffer}}}(a,O,a.size,q,1048560);if(!i){throw Aa(za(await Tt(a,0,4)))==P?new h(da):new h(aa)}const s=za(i);let l=Aa(s,12),c=Aa(s,16);const d=i.offset,u=Ca(s,20),g=d+q+u;let w=Ca(s,4);const b=a.lastDiskNumber||0;let f=Ca(s,6),y=Ca(s,8),k=0,v=0;if(c==T||l==T||y==I||f==I){const n=za(await Tt(a,i.offset-20,20));if(Aa(n,0)==F){c=La(n,8);let e=await Tt(a,c,56,-1),t=za(e);const o=i.offset-20-56;if(Aa(t,0)!=U&&c!=o){const n=c;c=o,k=c-n,e=await Tt(a,c,56,-1),t=za(e)}if(Aa(t,0)!=U)throw new h(oa);w==I&&(w=Aa(t,16)),f==I&&(f=Aa(t,20)),y==I&&(y=La(t,32)),l==T&&(l=La(t,40)),c-=l}}if(c>=a.size&&(k=a.size-c-l-q,c=a.size-l-q),b!=w)throw new h(da);if(c<0)throw new h(ta);let j=0,S=await Tt(a,c,l,f),x=za(S);if(l){const n=i.offset-l;if(Aa(x,j)!=B&&c!=n){const e=c;c=n,k+=c-e,S=await Tt(a,c,l,f),x=za(S)}}const C=i.offset-c-(a.lastDiskOffset||0);if(l!=C&&C>=0&&(l=C,S=await Tt(a,c,l,f),x=za(S)),c<0||c>=a.size)throw new h(ta);const A=va(e,n,"filenameEncoding"),L=va(e,n,"commentEncoding");for(let i=0;is.getData(n,P,e),j=b;const{onprogress:N}=n;if(N)try{await N(i+1,y,new ea(s))}catch(n){}yield P}const z=va(e,n,"extractPrependedData"),E=va(e,n,"extractAppendedData");return z&&(e.prependedData=v>0?await Tt(a,0,v):new p),e.comment=u?await Tt(a,d+q,u):new p,E&&(e.appendedData=g>>8&255:u>>>24&255),signature:u,compressed:0!=c,encrypted:j,useWebWorkers:va(o,a,"useWebWorkers"),useCompressionStream:va(o,a,"useCompressionStream"),transferStreams:va(o,a,"transferStreams"),checkPasswordOnly:E},config:m,streamOptions:{signal:z,size:A,onstart:I,onprogress:P,onend:N}};let O=0;try{({outputSize:O}=await Ge({readable:L,writable:T},B))}catch(n){if(!E||n.message!=In)throw n}finally{const n=va(o,a,"preventClose");T.size+=O,n||T.locked||await T.getWriter().close()}return E?an:n.getData?n.getData():T}}function fa(n,e,a){const o=n.rawBitFlag=Ca(e,a+2),i=(o&Y)==Y,r=Aa(e,a+6);t.assign(n,{encrypted:i,version:Ca(e,a),bitFlag:{level:(6&o)>>1,dataDescriptor:(o&Z)==Z,languageEncodingFlag:(o&$)==$},rawLastModDate:r,lastModDate:ja(r),filenameLength:Ca(e,a+22),extraFieldLength:Ca(e,a+24)})}async function ya(n,e,a,o,i){const{rawExtraField:r}=e,c=e.extraField=new l,m=za(new p(r));let d=0;try{for(;de[n]==t));for(let o=0,i=0;o=5&&(i.push(Wt),r.push(Vt));let l=1;i.forEach(((t,o)=>{if(n.data.length>=l+4){const i=Aa(a,l);e[t]=n[t]=new s(1e3*i);const c=r[o];n[c]=i}l+=4}))}(k,e,i),e.extraFieldExtendedTimestamp=k);const v=c.get(J);v&&(e.extraFieldUSDZ=v)}async function ka(n,e,a,o,i){const r=za(n.data),s=new fn;s.append(i[a]);const l=za(new p(4));l.setUint32(0,s.get(),!0);const c=Aa(r,1);t.assign(n,{version:xa(r,0),[e]:_t(n.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&c==Aa(l,0)}),n.valid&&(o[e]=n[e],o[e+"UTF8"]=!0)}function va(n,e,t){return e[t]===an?n.options[t]:e[t]}function ja(n){const e=(4294901760&n)>>16,t=65535&n;try{return new s(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch(n){}}function Sa(n){return new s(o(n/i(1e4)-i(116444736e5)))}function xa(n,e){return n.getUint8(e)}function Ca(n,e){return n.getUint16(e,!0)}function Aa(n,e){return n.getUint32(e,!0)}function La(n,e){return o(n.getBigUint64(e,!0))}function za(n){return new w(n.buffer)}const Ea="File already exists",Ta="Zip file comment exceeds 64KB",Ia="File entry comment exceeds 64KB",Ra="File entry name exceeds 64KB",Ma="Version exceeds 65535",Da="The strength must equal 1, 2, or 3",_a="Extra field type exceeds 65535",Pa="Extra field data exceeds 64KB",Na="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Ba=new p([7,0,2,0,65,69,3,0,0]);let Oa=0;const Ua=[];class Fa{constructor(n,e={}){const a=(n=Et(n)).availableSize!==an&&n.availableSize>0&&n.availableSize!==1/0&&n.maxSize!==an&&n.maxSize>0&&n.maxSize!==1/0;t.assign(this,{writer:n,addSplitZipSignature:a,options:e,config:hn(),files:new l,filenames:new c,offset:n.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(n="",a,o={}){const l=this,{pendingAddFileCalls:c,config:d}=l;let b;OaUa.push(n)));try{if(n=n.trim(),l.filenames.has(n))throw new h(Ea);return l.filenames.add(n),b=async function(n,a,o,l){a=a.trim(),l.directory&&!a.endsWith(nn)?a+=nn:l.directory=a.endsWith(nn);const c=Wa(n,l,"encodeText",kn);let d=c(a);d===an&&(d=kn(a));if($a(d)>I)throw new h(Ra);const b=l.comment||"";let y=c(b);y===an&&(y=kn(b));if($a(y)>I)throw new h(Ia);const k=Wa(n,l,"version",20);if(k>I)throw new h(Ma);const v=Wa(n,l,"versionMadeBy",20);if(v>I)throw new h(Ma);const j=Wa(n,l,Wt,new s),x=Wa(n,l,Gt),C=Wa(n,l,Jt),A=Wa(n,l,Xt,!0),L=Wa(n,l,Zt,0),z=Wa(n,l,$t,0),E=Wa(n,l,"password"),B=Wa(n,l,"rawPassword"),O=Wa(n,l,"encryptionStrength",3),U=Wa(n,l,"zipCrypto"),F=Wa(n,l,"extendedTimestamp",!0),q=Wa(n,l,"keepOrder",!0),on=Wa(n,l,"level"),rn=Wa(n,l,"useWebWorkers"),sn=Wa(n,l,"bufferedWrite"),ln=Wa(n,l,"dataDescriptorSignature",!1),cn=Wa(n,l,"signal"),mn=Wa(n,l,"useCompressionStream");let dn=Wa(n,l,"dataDescriptor",!0),hn=Wa(n,l,Qt);if(E!==an&&O!==an&&(O<1||O>3))throw new h(Da);let un=new p;const{extraField:gn}=l;if(gn){let n=0,e=0;gn.forEach((e=>n+=4+$a(e))),un=new p(n),gn.forEach(((n,t)=>{if(t>I)throw new h(_a);if($a(n)>I)throw new h(Pa);Ya(un,new u([t]),e),Ya(un,new u([$a(n)]),e+2),Ya(un,n,e+4),e+=4+$a(n)}))}let wn=0,bn=0,fn=0;const yn=!0===hn;o&&(o=zt(o),await Lt(o),o.size===an?(dn=!0,(hn||hn===an)&&(hn=!0,fn=wn=T+1)):(fn=o.size,wn=function(n){return n+5*(r.floor(n/16383)+1)}(fn)));const{diskOffset:vn,diskNumber:jn,maxSize:Sn}=n.writer,xn=yn||fn>T,Cn=yn||wn>T,An=yn||n.offset+n.pendingEntriesSize-vn>T,Ln=Wa(n,l,"supportZip64SplitFile",!0),zn=Ln&&yn||jn+r.ceil(n.pendingEntriesSize/Sn)>I;if(An||xn||Cn||zn){if(!1===hn||!q)throw new h(Na);hn=!0}hn=hn||!1,l=t.assign({},l,{rawFilename:d,rawComment:y,version:k,versionMadeBy:v,lastModDate:j,lastAccessDate:x,creationDate:C,rawExtraField:un,zip64:hn,zip64UncompressedSize:xn,zip64CompressedSize:Cn,zip64Offset:An,zip64DiskNumberStart:zn,password:E,rawPassword:B,level:mn||n.config.CompressionStream!==an||n.config.CompressionStreamNative!==an?on:0,useWebWorkers:rn,encryptionStrength:O,extendedTimestamp:F,zipCrypto:U,bufferedWrite:sn,keepOrder:q,dataDescriptor:dn,dataDescriptorSignature:ln,signal:cn,msDosCompatible:A,internalFileAttribute:L,externalFileAttribute:z,useCompressionStream:mn});const En=function(n){const{rawFilename:e,lastModDate:t,lastAccessDate:a,creationDate:o,rawPassword:i,password:s,level:l,zip64:c,zipCrypto:m,dataDescriptor:d,directory:h,rawExtraField:u,encryptionStrength:w,extendedTimestamp:b}=n,f=0!==l&&!h,y=Boolean(s&&$a(s)||i&&$a(i));let k,v,j,S,x=n.version;if(y&&!m){k=new p($a(Ba)+2);const n=Za(k);Ga(n,0,W),Ya(k,Ba,2),Va(n,8,w)}else k=new p;if(b){j=new p(9+(a?4:0)+(o?4:0));const n=Za(j);Ga(n,0,K),Ga(n,2,$a(j)-4),S=1+(a?2:0)+(o?4:0),Va(n,4,S);let e=5;Ka(n,e,r.floor(t.getTime()/1e3)),e+=4,a&&(Ka(n,e,r.floor(a.getTime()/1e3)),e+=4),o&&Ka(n,e,r.floor(o.getTime()/1e3));try{v=new p(36);const n=Za(v),e=Ha(t);Ga(n,0,V),Ga(n,2,32),Ga(n,8,G),Ga(n,10,24),Ja(n,12,e),Ja(n,20,Ha(a)||e),Ja(n,28,Ha(o)||e)}catch(n){v=new p}}else v=j=new p;let C=$;d&&(C|=Z);let A=M;f&&(A=R);c&&(x=x>X?x:X);y&&(C|=Y,m||(x=x>Q?x:Q,A=D,f&&(k[9]=R)));const L=new p(26),z=Za(L);Ga(z,0,x),Ga(z,2,C),Ga(z,4,A);const E=new g(1),T=Za(E);let I;I=ten?en:t;Ga(T,0,(I.getHours()<<6|I.getMinutes())<<5|I.getSeconds()/2),Ga(T,2,(I.getFullYear()-1980<<4|I.getMonth()+1)<<5|I.getDate());const P=E[0];Ka(z,6,P),Ga(z,22,$a(e));const N=$a(k,j,v,u);Ga(z,24,N);const B=new p(30+$a(e)+N);return Ka(Za(B),0,_),Ya(B,L,4),Ya(B,e,30),Ya(B,k,30+$a(e)),Ya(B,j,30+$a(e,k)),Ya(B,v,30+$a(e,k,j)),Ya(B,u,30+$a(e,k,j,v)),{localHeaderArray:B,headerArray:L,headerView:z,lastModDate:t,rawLastModDate:P,encrypted:y,compressed:f,version:x,compressionMethod:A,extraFieldExtendedTimestampFlag:S,rawExtraFieldExtendedTimestamp:j,rawExtraFieldNTFS:v,rawExtraFieldAES:k,extraFieldLength:N}}(l),Tn=function(n){const{zip64:e,dataDescriptor:t,dataDescriptorSignature:a}=n;let o,i=new p,r=0;t&&(i=new p(e?a?24:20:a?16:12),o=Za(i),a&&(r=4,Ka(o,0,N)));return{dataDescriptorArray:i,dataDescriptorView:o,dataDescriptorOffset:r}}(l),In=$a(En.localHeaderArray,Tn.dataDescriptorArray);bn=In+wn,n.options.usdz&&(bn+=bn+64);let Rn;n.pendingEntriesSize+=bn;try{Rn=await async function(n,a,o,r,s){const{files:l,writer:c}=n,{keepOrder:d,dataDescriptor:u,signal:g}=s,{headerInfo:b}=r,{usdz:y}=n.options,k=e.from(l.values()).pop();let v,j,x,C,A,L,z,E={};l.set(a,E);try{let e;d&&(e=k&&k.lock,I()),!(s.bufferedWrite||n.writerLocked||n.bufferedWrites&&d)&&u||y?(L=c,await R()):(L=new S,z=new m(L.readable).blob(),L.writable.size=0,v=!0,n.bufferedWrites++,await Lt(c)),await Lt(L);const{writable:b}=c;let{diskOffset:f}=c;if(n.addSplitZipSignature){delete n.addSplitZipSignature;const e=new p(4);Ka(Za(e),0,P),await qa(b,e),n.offset+=4}y&&function(n,e){const{headerInfo:t}=n;let{localHeaderArray:a,extraFieldLength:o}=t,i=Za(a),r=64-(e+$a(a))%64;r<4&&(r+=64);const s=new p(r),l=Za(s);Ga(l,0,J),Ga(l,2,r-2);const c=a;t.localHeaderArray=a=new p($a(c)+r),Ya(a,c),Ya(a,s,$a(c)),i=Za(a),Ga(i,28,o+r),n.metadataSize+=r}(r,n.offset-f),v||(await e,await M(b));const{diskNumber:j}=c;if(A=!0,E.diskNumberStart=j,E=await async function(n,e,{diskNumberStart:a,lock:o},r,s,l){const{headerInfo:c,dataDescriptorInfo:m,metadataSize:d}=r,{localHeaderArray:h,headerArray:u,lastModDate:g,rawLastModDate:w,encrypted:b,compressed:f,version:y,compressionMethod:k,rawExtraFieldExtendedTimestamp:v,extraFieldExtendedTimestampFlag:j,rawExtraFieldNTFS:S,rawExtraFieldAES:x}=c,{dataDescriptorArray:C}=m,{rawFilename:A,lastAccessDate:L,creationDate:z,password:E,rawPassword:I,level:R,zip64:M,zip64UncompressedSize:D,zip64CompressedSize:_,zip64Offset:P,zip64DiskNumberStart:N,zipCrypto:B,dataDescriptor:O,directory:U,versionMadeBy:F,rawComment:q,rawExtraField:W,useWebWorkers:V,onstart:G,onprogress:K,onend:J,signal:Y,encryptionStrength:Z,extendedTimestamp:$,msDosCompatible:X,internalFileAttribute:Q,externalFileAttribute:nn,useCompressionStream:en}=l,tn={lock:o,versionMadeBy:F,zip64:M,directory:Boolean(U),filenameUTF8:!0,rawFilename:A,commentUTF8:!0,rawComment:q,rawExtraFieldExtendedTimestamp:v,rawExtraFieldNTFS:S,rawExtraFieldAES:x,rawExtraField:W,extendedTimestamp:$,msDosCompatible:X,internalFileAttribute:Q,externalFileAttribute:nn,diskNumberStart:a};let on,rn=0,sn=0;const{writable:ln}=e;if(n){n.chunkSize=pn(s),await qa(ln,h);const e=n.readable,t=e.size=n.size,a={options:{codecType:Te,level:R,rawPassword:I,password:E,encryptionStrength:Z,zipCrypto:b&&B,passwordVerification:b&&B&&w>>8&255,signed:!0,compressed:f,encrypted:b,useWebWorkers:V,useCompressionStream:en,transferStreams:!1},config:s,streamOptions:{signal:Y,size:t,onstart:G,onprogress:K,onend:J}},o=await Ge({readable:e,writable:ln},a);sn=o.inputSize,rn=o.outputSize,on=o.signature,ln.size+=sn}else await qa(ln,h);let cn;if(M){let n=4;D&&(n+=8),_&&(n+=8),P&&(n+=8),N&&(n+=4),cn=new p(n)}else cn=new p;(function(n,e){const{signature:t,rawExtraFieldZip64:a,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:l}=n,{headerView:c,encrypted:m}=s,{dataDescriptorView:d,dataDescriptorOffset:h}=l,{zip64:p,zip64UncompressedSize:u,zip64CompressedSize:g,zipCrypto:w,dataDescriptor:b}=e;m&&!w||t===an||(Ka(c,10,t),b&&Ka(d,h,t));if(p){const n=Za(a);Ga(n,0,H),Ga(n,2,$a(a)-4);let e=4;u&&(Ka(c,18,T),Ja(n,e,i(r)),e+=8),g&&(Ka(c,14,T),Ja(n,e,i(o))),b&&(Ja(d,h+4,i(o)),Ja(d,h+12,i(r)))}else Ka(c,14,o),Ka(c,18,r),b&&(Ka(d,h+4,o),Ka(d,h+8,r))})({signature:on,rawExtraFieldZip64:cn,compressedSize:rn,uncompressedSize:sn,headerInfo:c,dataDescriptorInfo:m},l),O&&await qa(ln,C);return t.assign(tn,{uncompressedSize:sn,compressedSize:rn,lastModDate:g,rawLastModDate:w,creationDate:z,lastAccessDate:L,encrypted:b,size:d+rn,compressionMethod:k,version:y,headerArray:u,signature:on,rawExtraFieldZip64:cn,extraFieldExtendedTimestampFlag:j,zip64UncompressedSize:D,zip64CompressedSize:_,zip64Offset:P,zip64DiskNumberStart:N}),tn}(o,L,E,r,n.config,s),A=!1,l.set(a,E),E.filename=a,v){await L.writable.getWriter().close();let n=await z;await e,await R(),C=!0,u||(n=await async function(n,e,t,{zipCrypto:a}){let o;o=await e.slice(0,26).arrayBuffer(),26!=o.byteLength&&(o=o.slice(0,26));const i=new w(o);n.encrypted&&!a||Ka(i,14,n.signature);n.zip64?(Ka(i,18,T),Ka(i,22,T)):(Ka(i,18,n.compressedSize),Ka(i,22,n.uncompressedSize));return await qa(t,new p(o)),e.slice(o.byteLength)}(E,n,b,s)),await M(b),E.diskNumberStart=c.diskNumber,f=c.diskOffset,await n.stream().pipeTo(b,{preventClose:!0,preventAbort:!0,signal:g}),b.size+=n.size,C=!1}if(E.offset=n.offset-f,E.zip64)!function(n,e){const{rawExtraFieldZip64:t,offset:a,diskNumberStart:o}=n,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:l,zip64DiskNumberStart:c}=e,m=Za(t);let d=4;r&&(d+=8);s&&(d+=8);l&&(Ja(m,d,i(a)),d+=8);c&&Ka(m,d,o)}(E,s);else if(E.offset>T)throw new h(Na);return n.offset+=E.size,E}catch(e){if(v&&C||!v&&A){if(n.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch(n){}v?n.offset+=L.writable.size:n.offset=L.writable.size}throw l.delete(a),e}finally{v&&n.bufferedWrites--,x&&x(),j&&j()}function I(){E.lock=new f((n=>x=n))}async function R(){n.writerLocked=!0;const{lockWriter:e}=n;n.lockWriter=new f((e=>j=()=>{n.writerLocked=!1,e()})),await e}async function M(n){$a(b.localHeaderArray)>c.availableSize&&(c.availableSize=0,await qa(n,new p))}}(n,a,o,{headerInfo:En,dataDescriptorInfo:Tn,metadataSize:In},l)}finally{n.pendingEntriesSize-=bn}return t.assign(Rn,{name:a,comment:b,extraField:gn}),new ea(Rn)}(l,n,a,o),c.add(b),await b}catch(e){throw l.filenames.delete(n),e}finally{c.delete(b);const n=Ua.shift();n?n():Oa--}}async close(n=new p,t={}){const{pendingAddFileCalls:a,writer:o}=this,{writable:s}=o;for(;a.size;)await f.allSettled(e.from(a));await async function(n,t,a){const{files:o,writer:s}=n,{diskOffset:l,writable:c}=s;let{diskNumber:m}=s,d=0,u=0,g=n.offset-l,w=o.size;for(const[,n]of o){const{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:a,rawComment:o,rawExtraFieldNTFS:i,rawExtraField:s,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:m}=n;let d;if(l){d=new p(9);const n=Za(d);Ga(n,0,K),Ga(n,2,5),Va(n,4,c),Ka(n,5,r.floor(m.getTime()/1e3))}else d=new p;n.rawExtraFieldCDExtendedTimestamp=d,u+=46+$a(e,o,t,a,i,d,s)}const b=new p(u),f=Za(b);await Lt(s);let y=0;for(const[n,t]of e.from(o.values()).entries()){const{offset:e,rawFilename:i,rawExtraFieldZip64:r,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:m,rawExtraFieldNTFS:h,rawExtraField:p,rawComment:u,versionMadeBy:g,headerArray:w,directory:k,zip64:v,zip64UncompressedSize:j,zip64CompressedSize:S,zip64DiskNumberStart:x,zip64Offset:C,msDosCompatible:A,internalFileAttribute:L,externalFileAttribute:z,diskNumberStart:E,uncompressedSize:R,compressedSize:M}=t,D=$a(r,l,m,h,p);Ka(f,d,B),Ga(f,d+4,g);const _=Za(w);j||Ka(_,18,R),S||Ka(_,14,M),Ya(b,w,d+6),Ga(f,d+30,D),Ga(f,d+32,$a(u)),Ga(f,d+34,v&&x?I:E),Ga(f,d+36,L),z?Ka(f,d+38,z):k&&A&&Va(f,d+38,16),Ka(f,d+42,v&&C?T:e),Ya(b,i,d+46),Ya(b,r,d+46+$a(i)),Ya(b,l,d+46+$a(i,r)),Ya(b,m,d+46+$a(i,r,l)),Ya(b,h,d+46+$a(i,r,l,m)),Ya(b,p,d+46+$a(i,r,l,m,h)),Ya(b,u,d+46+$a(i)+D);const P=46+$a(i,u)+D;if(d-y>s.availableSize&&(s.availableSize=0,await qa(c,b.slice(y,d)),y=d),d+=P,a.onprogress)try{await a.onprogress(n+1,o.size,new ea(t))}catch(n){}}await qa(c,y?b.slice(y):b);let k=s.diskNumber;const{availableSize:v}=s;vT||u>T||w>I||k>I){if(!1===j)throw new h(Na);j=!0}const S=new p(j?98:q),x=Za(S);if(d=0,j){Ka(x,0,U),Ja(x,4,i(44)),Ga(x,12,45),Ga(x,14,45),Ka(x,16,k),Ka(x,20,m),Ja(x,24,i(w)),Ja(x,32,i(w)),Ja(x,40,i(u)),Ja(x,48,i(g)),Ka(x,56,F),Ja(x,64,i(g)+i(u)),Ka(x,72,k+1);Wa(n,a,"supportZip64SplitFile",!0)&&(k=I,m=I),w=I,g=T,u=T,d+=76}Ka(x,d,O),Ga(x,d+4,k),Ga(x,d+6,m),Ga(x,d+8,w),Ga(x,d+10,w),Ka(x,d+12,u),Ka(x,d+16,g);const C=$a(t);if(C){if(!(C<=I))throw new h(Ta);Ga(x,d+20,C)}await qa(c,S),C&&await qa(c,t)}(this,n,t);return Wa(this,t,"preventClose")||await s.getWriter().close(),o.getData?o.getData():s}}async function qa(n,e){const t=n.getWriter();try{await t.ready,n.size+=$a(e),await t.write(e)}finally{t.releaseLock()}}function Ha(n){if(n)return(i(n.getTime())+i(116444736e5))*i(1e4)}function Wa(n,e,t,a){const o=e[t]===an?n.options[t]:e[t];return o===an?a:o}function Va(n,e,t){n.setUint8(e,t)}function Ga(n,e,t){n.setUint16(e,t,!0)}function Ka(n,e,t){n.setUint32(e,t,!0)}function Ja(n,e,t){n.setBigUint64(e,t,!0)}function Ya(n,e,t){n.set(e,t)}function Za(n){return new w(n.buffer)}function $a(...n){let e=0;return n.forEach((n=>n&&(e+=n.length))),e}let Xa;try{Xa="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("single-file.js",document.baseURI).href}catch(n){}un({baseURL:Xa}),function(n){const e=()=>d.createObjectURL(new b(['const{Array:e,Object:t,Number:n,Math:s,Error:r,Uint8Array:a,Uint16Array:i,Uint32Array:o,Int32Array:l,Map:c,DataView:h,Promise:f,TextEncoder:u,crypto:p,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:y,CompressionStream:v,DecompressionStream:b}=self,m=void 0,_="undefined",S="function";class k{constructor(e){return class extends g{constructor(t,n){const s=new e(n);super({transform(e,t){t.enqueue(s.append(e))},flush(e){const t=s.flush();t&&e.enqueue(t)}})}}}}const z=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;z[e]=t}class D{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,s=0|e.length;s>n;n++)t=t>>>8^z[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class C extends g{constructor(){let e;const t=new D;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const x={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],s=x.getPartial(n);return 32===s?e.concat(t):x._shiftRight(t,s,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+x.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=x.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(n),n=0;if(0===t)return s.concat(e);for(let r=0;r>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=x.getPartial(r);return s.push(x.partial(t+a&31,t+a>32?n:s.pop(),1)),s}},I={bytes:{fromBits(e){const t=x.bitLength(e)/8,n=new a(t);let s;for(let r=0;t>r;r++)3&r||(s=e[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(e){const t=[];let n,s=0;for(n=0;n9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const i=new o(n);let l=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);a>=e;e+=t.blockSize)t._block(i.subarray(16*l,16*(l+1))),l+=1;return n.splice(0,16*l),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=x.concat(t,[x.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,s){return e>19?e>39?e>59?e>79?void 0:t^n^s:t&n|t&s|n&s:t^n^s:t&n|~t&s}_S(e,t){return t<>>32-e}_block(t){const n=this,r=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let i=r[0],o=r[1],l=r[2],c=r[3],h=r[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,i)+n._f(e,o,l,c)+h+a[e]+n._key[s.floor(e/20)]|0;h=c,c=l,l=n._S(30,o),o=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+l|0,r[3]=r[3]+c|0,r[4]=r[4]+h|0}},A={getRandomValues(e){const t=new o(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let r,a=0;anew q.hmacSha1(I.bytes.toBits(e)),pbkdf2(e,t,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const a=1+(s>>5)<<2;let i,o,l,c,f;const u=new ArrayBuffer(a),p=new h(u);let d=0;const g=x;for(t=I.bytes.toBits(t),f=1;(a||1)>d;f++){for(i=o=e.encrypt(g.concat(t,[f])),l=1;n>l;l++)for(o=e.encrypt(o),c=0;cd&&lr&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)s[0][t]=909522486^e[t],s[1][t]=1549556828^e[t];t._baseHash[0].update(s[0]),t._baseHash[1].update(s[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new r("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},R=typeof p!=_&&typeof p.getRandomValues==S,H="Invalid password",P="Invalid signature",B="zipjs-abort-check-password";function K(e){return R?p.getRandomValues(e):A.getRandomValues(e)}const V=16,E={name:"PBKDF2"},U=t.assign({hash:{name:"HMAC"}},E),W=t.assign({iterations:1e3,hash:{name:"SHA-1"}},E),M=["deriveBits"],N=[8,12,16],O=[16,24,32],F=10,L=[0,0,0,0],j=typeof p!=_,G=j&&p.subtle,X=j&&typeof G!=_,J=I.bytes,Q=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],s=t._tables[1],a=e.length;let i,o,l,c=1;if(4!==a&&6!==a&&8!==a)throw new r("invalid aes key size");for(t._key=[o=e.slice(0),l=[]],i=a;4*a+28>i;i++){let e=o[i-1];(i%a==0||8===a&&i%a==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%a==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[i]=o[i-a]^e}for(let e=0;i;e++,i--){const t=o[3&e?i:i-4];l[e]=4>=i||4>e?t:s[0][n[t>>>24]]^s[1][n[t>>16&255]]^s[2][n[t>>8&255]]^s[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],s=t[4],r=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let h=i=0;!n[h];h^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[h]=a,s[a]=h,c=r[l=r[o=r[h]]];let f=16843009*c^65537*l^257*o^16843008*h,u=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][h]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new r("invalid aes block size");const n=this._key[t],s=n.length/4-2,a=[0,0,0,0],i=this._tables[t],o=i[0],l=i[1],c=i[2],h=i[3],f=i[4];let u,p,d,g=e[0]^n[0],w=e[t?3:1]^n[1],y=e[2]^n[2],v=e[t?1:3]^n[3],b=4;for(let e=0;s>e;e++)u=o[g>>>24]^l[w>>16&255]^c[y>>8&255]^h[255&v]^n[b],p=o[w>>>24]^l[y>>16&255]^c[v>>8&255]^h[255&g]^n[b+1],d=o[y>>>24]^l[v>>16&255]^c[g>>8&255]^h[255&w]^n[b+2],v=o[v>>>24]^l[g>>16&255]^c[w>>8&255]^h[255&y]^n[b+3],b+=4,g=u,w=p,y=d;for(let e=0;4>e;e++)a[t?3&-e:e]=f[g>>>24]<<24^f[w>>16&255]<<16^f[y>>8&255]<<8^f[255&v]^n[b++],u=g,g=w,w=y,y=v,v=u;return a}},Y=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,s=255&e;255===t?(t=0,255===n?(n=0,255===s?s=0:++s):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let s;if(!(s=t.length))return[];const r=x.bitLength(t);for(let r=0;s>r;r+=4){this.incCounter(n);const s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return x.clamp(t,r)}},Z=q.hmacSha1;let $=j&&X&&typeof G.importKey==S,ee=j&&X&&typeof G.deriveBits==S;class te extends g{constructor({password:e,rawPassword:n,signed:s,encryptionStrength:i,checkPasswordOnly:o}){super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:ae(e,n),signed:s,strength:i-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:i,resolveReady:l,ready:c}=n;s?(await(async(e,t,n,s)=>{const a=await re(e,t,n,oe(s,0,N[t])),i=oe(s,N[t]);if(a[0]!=i[0]||a[1]!=i[1])throw new r(H)})(n,i,s,oe(e,0,N[i]+2)),e=oe(e,N[i]+2),o?t.error(new r(B)):l()):await c;const h=new a(e.length-F-(e.length-F)%V);t.enqueue(se(n,e,h,0,F,!0))},async flush(e){const{signed:t,ctr:n,hmac:s,pending:i,ready:o}=this;if(s&&n){await o;const l=oe(i,0,i.length-F),c=oe(i,i.length-F);let h=new a;if(l.length){const e=ce(J,l);s.update(e);const t=n.update(e);h=le(J,t)}if(t){const e=oe(le(J,s.digest()),0,F);for(let t=0;F>t;t++)if(e[t]!=c[t])throw new r(P)}e.enqueue(h)}}})}}class ne extends g{constructor({password:e,rawPassword:n,encryptionStrength:s}){let r;super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:ae(e,n),strength:s-1,pending:new a})},async transform(e,t){const n=this,{password:s,strength:r,resolveReady:i,ready:o}=n;let l=new a;s?(l=await(async(e,t,n)=>{const s=K(new a(N[t]));return ie(s,await re(e,t,n,s))})(n,r,s),i()):await o;const c=new a(l.length+e.length-e.length%V);c.set(l,0),t.enqueue(se(n,e,c,l.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:i}=this;if(n&&t){await i;let o=new a;if(s.length){const e=t.update(ce(J,s));n.update(e),o=le(J,e)}r.signature=le(J,n.digest()).slice(0,F),e.enqueue(ie(o,r.signature))}}}),r=this}}function se(e,t,n,s,r,i){const{ctr:o,hmac:l,pending:c}=e,h=t.length-r;let f;for(c.length&&(t=ie(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,h-h%V)),f=0;h-V>=f;f+=V){const e=ce(J,oe(t,f,f+V));i&&l.update(e);const r=o.update(e);i||l.update(r),n.set(le(J,r),f+s)}return e.pending=oe(t,f),n}async function re(n,s,r,i){n.password=null;const o=await(async(e,t,n,s,r)=>{if(!$)return q.importKey(t);try{return await G.importKey("raw",t,n,!1,r)}catch(e){return $=!1,q.importKey(t)}})(0,r,U,0,M),l=await(async(e,t,n)=>{if(!ee)return q.pbkdf2(t,e.salt,W.iterations,n);try{return await G.deriveBits(e,t,n)}catch(s){return ee=!1,q.pbkdf2(t,e.salt,W.iterations,n)}})(t.assign({salt:i},W),o,8*(2*O[s]+2)),c=new a(l),h=ce(J,oe(c,0,O[s])),f=ce(J,oe(c,O[s],2*O[s])),u=oe(c,2*O[s]);return t.assign(n,{keys:{key:h,authentication:f,passwordVerification:u},ctr:new Y(new Q(h),e.from(L)),hmac:new Z(f)}),u}function ae(e,t){return t===m?(e=>{if(typeof u==_){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n>>24]),a=~e.crcKey2.get(),e.keys=[n,r,a]}function we(e){const t=2|e.keys[2];return ye(s.imul(t,1^t)>>>8)}function ye(e){return 255&e}function ve(e){return 4294967295&e}const be="deflate-raw";class me extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:s}){super({});const{compressed:r,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,f=this;let u,p,d=Se(super.readable);a&&!o||!l||(u=new C,d=De(d,u)),r&&(d=ze(d,i,{level:c,chunkSize:t},s,n)),a&&(o?d=De(d,new fe(e)):(p=new ne(e),d=De(d,p))),ke(f,d,(()=>{let e;a&&!o&&(e=p.signature),a&&!o||!l||(e=new h(u.value.buffer).getUint32(0)),f.signature=e}))}}class _e extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:s}){super({});const{zipCrypto:a,encrypted:i,signed:o,signature:l,compressed:c,useCompressionStream:f}=e;let u,p,d=Se(super.readable);i&&(a?d=De(d,new he(e)):(p=new te(e),d=De(d,p))),c&&(d=ze(d,f,{chunkSize:t},s,n)),i&&!a||!o||(u=new C,d=De(d,u)),ke(this,d,(()=>{if((!i||a)&&o){const e=new h(u.value.buffer);if(l!=e.getUint32(0,!1))throw new r(P)}}))}}function Se(e){return De(e,new g({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ke(e,n,s){n=De(n,new g({flush:s})),t.defineProperty(e,"readable",{get:()=>n})}function ze(e,t,n,s,r){try{e=De(e,new(t&&s?s:r)(be,n))}catch(s){if(!t)return e;try{e=De(e,new r(be,n))}catch(t){return e}}return e}function De(e,t){return e.pipeThrough(t)}const Ce="data",xe="close";class Ie extends g{constructor(e,n){super({});const s=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=me:r.startsWith("inflate")&&(a=_e);let i=0,o=0;const l=new a(e,n),c=super.readable,h=new g({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){t.assign(s,{inputSize:o})}}),f=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;t.assign(s,{signature:e,outputSize:i,inputSize:o})}});t.defineProperty(s,"readable",{get:()=>c.pipeThrough(h).pipeThrough(l).pipeThrough(f)})}}class Te extends g{constructor(e){let t;super({transform:function n(s,r){if(t){const e=new a(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(r.enqueue(s.slice(0,e)),n(s.slice(e),r)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}const Ae=new c,qe=new c;let Re,He=0,Pe=!0;async function Be(e){try{const{options:t,scripts:s,config:r}=e;if(s&&s.length)try{Pe?importScripts.apply(m,s):await Ke(s)}catch(e){Pe=!1,await Ke(s)}self.initCodec&&self.initCodec(),r.CompressionStreamNative=self.CompressionStream,r.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(r.CompressionStream=new k(self.Deflate)),self.Inflate&&(r.DecompressionStream=new k(self.Inflate));const a={highWaterMark:1},i=e.readable||new w({async pull(e){const t=new f((e=>Ae.set(He,e)));Ve({type:"pull",messageId:He}),He=(He+1)%n.MAX_SAFE_INTEGER;const{value:s,done:r}=await t;e.enqueue(s),r&&e.close()}},a),o=e.writable||new y({async write(e){let t;const s=new f((e=>t=e));qe.set(He,t),Ve({type:Ce,value:e,messageId:He}),He=(He+1)%n.MAX_SAFE_INTEGER,await s}},a),l=new Ie(t,r);Re=new AbortController;const{signal:c}=Re;await i.pipeThrough(l).pipeThrough(new Te(r.chunkSize)).pipeTo(o,{signal:c,preventClose:!0,preventAbort:!0}),await o.getWriter().close();const{signature:h,inputSize:u,outputSize:p}=l;Ve({type:xe,result:{signature:h,inputSize:u,outputSize:p}})}catch(e){Ee(e)}}async function Ke(e){for(const t of e)await import(t)}function Ve(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ee(e=new r("Unknown error")){const{message:t,stack:n,code:s,name:a}=e;d({error:{message:t,stack:n,code:s,name:a}})}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:s,done:r}=e;try{if("start"==t&&Be(e),t==Ce){const e=Ae.get(n);Ae.delete(n),e({value:new a(s),done:r})}if("ack"==t){const e=qe.get(n);qe.delete(n),e()}t==xe&&Re.abort()}catch(e){Ee(e)}}));var Ue=a,We=i,Me=l,Ne=new Ue([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Oe=new Ue([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Fe=new Ue([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Le=(e,t)=>{for(var n=new We(31),s=0;31>s;++s)n[s]=t+=1<s;++s)for(var a=n[s];a$e;++$e){var et=(43690&$e)>>1|(21845&$e)<<1;et=(61680&(et=(52428&et)>>2|(13107&et)<<2))>>4|(3855&et)<<4,Ze[$e]=((65280&et)>>8|(255&et)<<8)>>1}var tt=(e,t,n)=>{for(var s=e.length,r=0,a=new We(t);s>r;++r)e[r]&&++a[e[r]-1];var i,o=new We(t);for(r=1;t>r;++r)o[r]=o[r-1]+a[r-1]<<1;if(n){i=new We(1<r;++r)if(e[r])for(var c=r<<4|e[r],h=t-e[r],f=o[e[r]-1]++<=f;++f)i[Ze[f]>>l]=c}else for(i=new We(s),r=0;s>r;++r)e[r]&&(i[r]=Ze[o[e[r]-1]++]>>15-e[r]);return i},nt=new Ue(288);for($e=0;144>$e;++$e)nt[$e]=8;for($e=144;256>$e;++$e)nt[$e]=9;for($e=256;280>$e;++$e)nt[$e]=7;for($e=280;288>$e;++$e)nt[$e]=8;var st=new Ue(32);for($e=0;32>$e;++$e)st[$e]=5;var rt=tt(nt,9,0),at=tt(nt,9,1),it=tt(st,5,0),ot=tt(st,5,1),lt=e=>{for(var t=e[0],n=1;nt&&(t=e[n]);return t},ct=(e,t,n)=>{var s=t/8|0;return(e[s]|e[s+1]<<8)>>(7&t)&n},ht=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},ft=e=>(e+7)/8|0,ut=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new Ue(e.subarray(t,n))),pt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],dt=(e,t,n)=>{var s=new r(t||pt[e]);if(s.code=e,r.captureStackTrace&&r.captureStackTrace(s,dt),!n)throw s;return s},gt=(e,t,n)=>{n<<=7&t;var s=t/8|0;e[s]|=n,e[s+1]|=n>>8},wt=(e,t,n)=>{n<<=7&t;var s=t/8|0;e[s]|=n,e[s+1]|=n>>8,e[s+2]|=n>>16},yt=(e,t)=>{for(var n=[],s=0;se.f-t.f)),n.push({s:-1,f:25001});var o=n[0],l=n[1],c=0,h=1,f=2;for(n[0]={s:-1,f:o.f+l.f,l:o,r:l};h!=r-1;)o=n[n[c].fs;++s)a[s].s>u&&(u=a[s].s);var p=new We(u+1),d=vt(n[h-1],p,0);if(d>t){s=0;var g=0,w=d-t,y=1<p[t.s]-p[e.s]||e.f-t.f));r>s;++s){var v=a[s].s;if(p[v]<=t)break;g+=y-(1<>=w;g>0;){var b=a[s].s;p[b]=0&&g;--s){var m=a[s].s;p[m]==t&&(--p[m],++g)}d=t}return{t:new Ue(p),l:d}},vt=(e,t,n)=>-1==e.s?s.max(vt(e.l,t,n+1),vt(e.r,t,n+1)):t[e.s]=n,bt=e=>{for(var t=e.length;t&&!e[--t];);for(var n=new We(++t),s=0,r=e[0],a=1,i=e=>{n[s++]=e},o=1;t>=o;++o)if(e[o]==r&&o!=t)++a;else{if(!r&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(r),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(r);a=1,r=e[o]}return{c:n.subarray(0,s),n:t}},mt=(e,t)=>{for(var n=0,s=0;s{var s=n.length,r=ft(t+2);e[r]=255&s,e[r+1]=s>>8,e[r+2]=255^e[r],e[r+3]=255^e[r+1];for(var a=0;s>a;++a)e[r+a+4]=n[a];return 8*(r+4+s)},St=(e,t,n,s,r,a,i,o,l,c,h)=>{gt(t,h++,n),++r[256];for(var f=yt(r,15),u=f.t,p=f.l,d=yt(a,15),g=d.t,w=d.l,y=bt(u),v=y.c,b=y.n,m=bt(g),_=m.c,S=m.n,k=new We(19),z=0;z4&&!C[Fe[I-1]];--I);var T,A,q,R,H=c+5<<3,P=mt(r,nt)+mt(a,st)+i,B=mt(r,u)+mt(a,g)+i+14+3*I+mt(k,C)+2*k[16]+3*k[17]+7*k[18];if(l>=0&&P>=H&&B>=H)return _t(t,h,e.subarray(l,l+c));if(gt(t,h,1+(P>B)),h+=2,P>B){T=tt(u,p,0),A=u,q=tt(g,w,0),R=g;var K=tt(C,x,0);for(gt(t,h,b-257),gt(t,h+5,S-1),gt(t,h+10,I-4),h+=14,z=0;I>z;++z)gt(t,h+3*z,C[Fe[z]]);h+=3*I;for(var V=[v,_],E=0;2>E;++E){var U=V[E];for(z=0;z15&&(gt(t,h,U[z]>>5&127),h+=U[z]>>12)}}}else T=rt,A=nt,q=it,R=st;for(z=0;o>z;++z){var M=s[z];if(M>255){wt(t,h,T[257+(W=M>>18&31)]),h+=A[W+257],W>7&&(gt(t,h,M>>23&31),h+=Ne[W]);var N=31&M;wt(t,h,q[N]),h+=R[N],N>3&&(wt(t,h,M>>5&8191),h+=Oe[N])}else wt(t,h,T[M]),h+=A[M]}return wt(t,h,T[256]),h+A[256]},kt=new Me([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),zt=new Ue(0),Dt=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new Ue(98304),this.o.dictionary){var n=this.o.dictionary.subarray(-32768);this.b.set(n,32768-n.length),this.s.i=32768-n.length}}return e.prototype.p=function(e,t){this.ondata(((e,t,n,r,a)=>{if(!a&&(a={l:1},t.dictionary)){var i=t.dictionary.subarray(-32768),o=new Ue(i.length+e.length);o.set(i),o.set(e,i.length),e=o,a.w=i.length}return((e,t,n,r,a,i)=>{var o=i.z||e.length,l=new Ue(0+o+5*(1+s.ceil(o/7e3))+0),c=l.subarray(0,l.length-0),h=i.l,f=7&(i.r||0);if(t){f&&(c[0]=i.r>>3);for(var u=kt[t-1],p=u>>13,d=8191&u,g=(1<(e[t]^e[t+1]<C+2;++C){var A=m(C),q=32767&C,R=y[A];if(w[q]=R,y[A]=q,C>=I){var H=o-C;if((z>7e3||x>24576)&&(H>423||!h)){f=St(e,c,0,_,S,k,D,x,T,C-T,f),x=z=D=0,T=C;for(var P=0;286>P;++P)S[P]=0;for(P=0;30>P;++P)k[P]=0}var B=2,K=0,V=d,E=q-R&32767;if(H>2&&A==m(C-E))for(var U=s.min(p,H)-1,W=s.min(32767,C),M=s.min(258,H);W>=E&&--V&&q!=R;){if(e[C+B]==e[C+B-E]){for(var N=0;M>N&&e[C+N]==e[C+N-E];++N);if(N>B){if(B=N,K=E,N>U)break;var O=s.min(E,N-2),F=0;for(P=0;O>P;++P){var L=C-E+P&32767,j=L-w[L]&32767;j>F&&(F=j,R=L)}}}E+=(q=R)-(R=w[q])&32767}if(K){_[x++]=268435456|Xe[B]<<18|Ye[K];var G=31&Xe[B],X=31&Ye[K];D+=Ne[G]+Oe[X],++S[257+G],++k[X],I=C+B,++z}else _[x++]=e[C],++S[e[C]]}}for(C=s.max(C,I);o>C;++C)_[x++]=e[C],++S[e[C]];f=St(e,c,h,_,S,k,D,x,T,C-T,f),h||(i.r=7&f|c[f/8|0]<<3,f-=7,i.h=y,i.p=w,i.i=C,i.w=I)}else{for(C=i.w||0;o+h>C;C+=65535){var J=C+65535;o>J||(c[f/8|0]=h,J=o),f=_t(c,f+1,e.subarray(C,J))}i.i=o}return ut(l,0,0+ft(f)+0)})(e,null==t.level?6:t.level,null==t.mem?a.l?s.ceil(1.5*s.max(8,s.min(13,s.log(e.length)))):20:12+t.mem,0,0,a)})(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||dt(5),this.s.l&&dt(4);var n=e.length+this.s.z;if(n>this.b.length){if(n>2*this.b.length-32768){var s=new Ue(-32768&n);s.set(this.b.subarray(0,this.s.z)),this.b=s}var r=this.b.length-this.s.z;this.b.set(e.subarray(0,r),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(r),32768),this.s.z=e.length-r+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||dt(5),this.s.l&&dt(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),Ct=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new Ue(32768),this.p=new Ue(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||dt(5),this.d&&dt(4),this.p.length){if(e.length){var t=new Ue(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=((e,t,n)=>{var r=e.length;if(!r||t.f&&!t.l)return n||new Ue(0);var a=!n,i=a||2!=t.i,o=t.i;a&&(n=new Ue(3*r));var l=e=>{var t=n.length;if(e>t){var r=new Ue(s.max(2*t,e));r.set(n),n=r}},c=t.f||0,h=t.p||0,f=t.b||0,u=t.l,p=t.d,d=t.m,g=t.n,w=8*r;do{if(!u){c=ct(e,h,1);var y=ct(e,h+1,3);if(h+=3,!y){var v=e[(T=ft(h)+4)-4]|e[T-3]<<8,b=T+v;if(b>r){o&&dt(0);break}i&&l(f+v),n.set(e.subarray(T,b),f),t.b=f+=v,t.p=h=8*b,t.f=c;continue}if(1==y)u=at,p=ot,d=9,g=5;else if(2==y){var m=ct(e,h,31)+257,_=ct(e,h+10,15)+4,S=m+ct(e,h+5,31)+1;h+=14;for(var k=new Ue(S),z=new Ue(19),D=0;_>D;++D)z[Fe[D]]=ct(e,h+3*D,7);h+=3*_;var C=lt(z),x=(1<D;){var T,A=I[ct(e,h,x)];if(h+=15&A,16>(T=A>>4))k[D++]=T;else{var q=0,R=0;for(16==T?(R=3+ct(e,h,3),h+=2,q=k[D-1]):17==T?(R=3+ct(e,h,7),h+=3):18==T&&(R=11+ct(e,h,127),h+=7);R--;)k[D++]=q}}var H=k.subarray(0,m),P=k.subarray(m);d=lt(H),g=lt(P),u=tt(H,d,1),p=tt(P,g,1)}else dt(1);if(h>w){o&&dt(0);break}}i&&l(f+131072);for(var B=(1<>4;if((h+=15&q)>w){o&&dt(0);break}if(q||dt(2),256>E)n[f++]=E;else{if(256==E){V=h,u=null;break}var U=E-254;if(E>264){var W=Ne[D=E-257];U=ct(e,h,(1<>4;if(M||dt(3),h+=15&M,P=Qe[N],N>3&&(W=Oe[N],P+=ht(e,h)&(1<w){o&&dt(0);break}i&&l(f+131072);var O=f+U;if(P>f){var F=0-P,L=s.min(P,O);for(0>F+f&&dt(3);L>f;++f)n[f]=(void 0)[F+f]}for(;O>f;++f)n[f]=n[f-P]}}t.l=u,t.p=V,t.b=f,t.f=c,u&&(c=1,t.m=d,t.d=p,t.n=g)}while(!c);return f!=n.length&&a?ut(n,0,f):n.subarray(0,f)})(this.p,this.s,this.o);this.ondata(ut(n,t,this.s.b),this.d),this.o=ut(n,this.s.b-32768),this.s.b=this.o.length,this.p=ut(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),xt="undefined"!=typeof TextDecoder&&new TextDecoder;try{xt.decode(zt,{stream:!0})}catch(e){}function It(e,n,s){return class{constructor(r){const i=this;var o,l;o=r,l="level",(typeof t.hasOwn===S?t.hasOwn(o,l):o.hasOwnProperty(l))&&r.level===m&&delete r.level,i.codec=new e(t.assign({},n,r)),s(i.codec,(e=>{if(i.pendingData){const t=i.pendingData;i.pendingData=new a(t.length+e.length);const{pendingData:n}=i;n.set(t,0),n.set(e,t.length)}else i.pendingData=new a(e)}))}append(e){return this.codec.push(e),r(this)}flush(){return this.codec.push(new a,!0),r(this)}};function r(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}const{Deflate:Tt,Inflate:At}=((e,t={},n)=>({Deflate:It(e.Deflate,t.deflate,n),Inflate:It(e.Inflate,t.inflate,n)}))({Deflate:Dt,Inflate:Ct},m,((e,t)=>e.ondata=t));self.initCodec=()=>{self.Deflate=Tt,self.Inflate=At};\n'],{type:"text/javascript"}));n({workerScripts:{inflate:[e],deflate:[e]}})}(un);var Qa=Object.freeze({__proto__:null,BlobReader:st,BlobWriter:lt,Data64URIReader:class extends it{constructor(n){super();let e=n.length;for(;"="==n.charAt(e-1);)e--;const a=n.indexOf(",")+1;t.assign(this,{dataURI:n,dataStart:a,size:r.floor(.75*(e-a))})}readUint8Array(n,e){const{dataStart:t,dataURI:a}=this,o=new p(e),i=4*r.floor(n/3),s=atob(a.substring(i+t,4*r.ceil((n+e)/3)+t)),l=n-3*r.floor(i/4);for(let n=l;n2?e.data+=j(o):e.pending=o}getData(){return this.data+j(this.pending)}},ERR_BAD_FORMAT:ta,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ia,ERR_DUPLICATED_NAME:Ea,ERR_ENCRYPTED:la,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:oa,ERR_EOCDR_NOT_FOUND:aa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:sa,ERR_HTTP_RANGE:Ye,ERR_INVALID_COMMENT:Ta,ERR_INVALID_ENCRYPTION_STRENGTH:Da,ERR_INVALID_ENTRY_COMMENT:Ia,ERR_INVALID_ENTRY_NAME:Ra,ERR_INVALID_EXTRAFIELD_DATA:Pa,ERR_INVALID_EXTRAFIELD_TYPE:_a,ERR_INVALID_PASSWORD:En,ERR_INVALID_SIGNATURE:Tn,ERR_INVALID_VERSION:Ma,ERR_ITERATOR_COMPLETED_TOO_SOON:Ze,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ra,ERR_SPLIT_ZIP_FILE:da,ERR_UNSUPPORTED_COMPRESSION:ma,ERR_UNSUPPORTED_ENCRYPTION:ca,ERR_UNSUPPORTED_FORMAT:Na,HttpRangeReader:class extends St{constructor(n,e={}){e.useRangeHeader=!0,super(n,e)}},HttpReader:St,Reader:it,SplitDataReader:Ct,SplitDataWriter:At,SplitZipReader:It,SplitZipWriter:Rt,TextReader:ct,TextWriter:class extends lt{constructor(n){super(n),t.assign(this,{encoding:n,utf8:!n||"utf-8"==n.toLowerCase()})}async getData(){const{encoding:n,utf8:e}=this,a=await super.getData();if(a.text&&e)return a.text();{const e=new FileReader;return new f(((o,i)=>{t.assign(e,{onload:({target:n})=>o(n.result),onerror:()=>i(e.error)}),e.readAsText(a,n)}))}}},Uint8ArrayReader:class extends it{constructor(n){super(),t.assign(this,{array:n,size:n.length})}readUint8Array(n,e){return this.array.slice(n,n+e)}},Uint8ArrayWriter:xt,Writer:rt,ZipReader:wa,ZipReaderStream:class{constructor(n={}){const{readable:e,writable:t}=new S,a=new wa(e,n).getEntriesGenerator();this.readable=new x({async pull(n){const{done:e,value:t}=await a.next();if(e)return n.close();const o={...t,readable:function(){const{readable:n,writable:e}=new S;if(t.getData)return t.getData(e),n}()};delete o.getData,n.enqueue(o)}}),this.writable=t}},ZipWriter:Fa,ZipWriterStream:class{constructor(n={}){const{readable:e,writable:t}=new S;this.readable=e,this.zipWriter=new Fa(t,n)}transform(n){const{readable:e,writable:t}=new S({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(n,e),{readable:this.readable,writable:t}}writable(n){const{readable:e,writable:t}=new S;return this.zipWriter.add(n,e),t}close(n=void 0,e={}){return this.zipWriter.close(n,e)}},configure:un,getMimeType:function(){return"application/octet-stream"},initReader:zt,initShimAsyncCodec:function(n,e={},t){return{Deflate:wn(n.Deflate,e.deflate,t),Inflate:wn(n.Inflate,e.inflate,t)}},initStream:Lt,initWriter:Et,readUint8Array:Tt,terminateWorkers:async function(){await f.allSettled(He.map((n=>(Ke(n),n.terminate()))))}});async function no(n,{password:e,prompt:t=(()=>{}),shadowRootScriptURL:a,zipOptions:o={useWebWorkers:!1},noBlobURL:i}={}){const r={gif:"image/gif",jpg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",bmp:"image/bmp",ico:"image/vnd.microsoft.icon",webp:"image/webp",svg:"image/svg+xml",avi:"video/x-msvideo",ogv:"video/ogg",mp4:"video/mp4",mpeg:"video/mpeg",ts:"video/mp2t",webm:"video/webm","3gp":"video/3gpp","3g2":"video/3gpp",mp3:"audio/mpeg",oga:"audio/ogg",mid:"audio/midi",midi:"audio/midi",opus:"audio/opus",wav:"audio/wav",weba:"audio/webm",heif:"image/heif",heic:"image/heic",avif:"image/avif",apng:"image/apng",mov:"video/quicktime",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},s=/stylesheet_[0-9]+\.css/,l=/scripts\/[0-9]+\.js/,c=/^([0-9_]+\/)?index\.html$/,m=/index\.html$/,d=/frames\//,h=/^frames\/\d+\/index.html/,p=/manifest\.json$/,u=";charset=utf-8",g=/([{}()^$&.*?/+|[\\\\]|\]|-)/g;Array.isArray(n)&&(n=new Blob([new Uint8Array(n)])),zip.configure(o);const w=new zip.BlobReader(n),b=new zip.ZipReader(w),f=await b.getEntries(),y={password:e};let k,v,j,S=[],x=[],C=[];await Promise.all(f.map((async n=>{const{filename:e}=n;let a,o,c,h;const p={};if(!y.password&&n.encrypted&&(y.password=t("Please enter the password to view the page")),e.match(m)||e.match(s)||e.match(l))e.match(m)?x.push(p):C.push(p),a=new zip.TextWriter,c=await n.getData(a,y),e.match(m)?h="text/html"+u:e.match(s)?h="text/css"+u:e.match(l)&&(h="text/javascript"+u);else{S.push(p);const t=e.match(/\.([^.]+)/);if(h=t&&t[1]&&r[t[1]]?r[t[1]]:"application/octet-stream",e.match(d)||i)o=await n.getData(new zip.Data64URIWriter(h),y);else{const e=await n.getData(new zip.BlobWriter(h),y);o=URL.createObjectURL(e)}}const g=n.filename.match(/^([0-9_]+\/)?(.*)$/)[2];let w="";const b=e.match(/(.*\/)[^/]+$/);b&&b[1]&&(w=b[1]),Object.assign(p,{prefixPath:w,filename:n.filename,name:g,url:n.comment,content:o,mimeType:h,textContent:c,parentResources:[]})}))),await b.close(),x.sort(z),C.sort((function(n,e){const t=n.filename.length-e.filename.length;return t||n.filename.localeCompare(e.filename)})),S=S.sort(z).concat(...C).concat(...x);for(const n of S){const{filename:e,prefixPath:t}=n;let{textContent:a}=n;void 0!==a&&(e.match(c)&&(v=a),e.match(l)||(S.forEach((e=>{const{filename:o,parentResources:i,content:r}=e;if(o.startsWith(t)&&o!=n.filename){const s=o.substring(t.length);s.match(p)||a.includes(s)&&(i.push(n.filename),void 0===e.textContent&&(a=L(a,s,r)))}})),n.textContent=a))}for(const n of S){let{textContent:e,prefixPath:t,filename:o}=n;if(void 0!==e){if(!o.match(l)){const a=o;for(const n of S){const{filename:o}=n;if(o.startsWith(t)&&o!=a){const a=o.substring(t.length);if(!a.match(p)){-1!=e.indexOf(a)&&(n.content=await A(n),e=L(e,a,n.content))}}}n.textContent=e,n.content=await A(n)}o.match(m)&&a&&(n.textContent=e.replace(/