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