@zip.js/zip.js 2.8.56 → 2.8.58

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