@zip.js/zip.js 2.16.0 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/deno.json +1 -1
  2. package/dist/zip-core-external.js +429 -274
  3. package/dist/zip-core-external.min.js +1 -1
  4. package/dist/zip-core.js +230 -151
  5. package/dist/zip-core.min.js +1 -1
  6. package/dist/zip-fs-core-external.js +580 -283
  7. package/dist/zip-fs-core-external.min.js +1 -1
  8. package/dist/zip-fs-core.js +383 -160
  9. package/dist/zip-fs-core.min.js +1 -1
  10. package/dist/zip-fs-external.js +580 -283
  11. package/dist/zip-fs-external.min.js +1 -1
  12. package/dist/zip-fs-native.js +386 -163
  13. package/dist/zip-fs-native.min.js +1 -1
  14. package/dist/zip-fs.js +583 -283
  15. package/dist/zip-fs.min.js +1 -1
  16. package/dist/zip-legacy.js +232 -153
  17. package/dist/zip-legacy.min.js +1 -1
  18. package/dist/zip-native.js +233 -154
  19. package/dist/zip-native.min.js +1 -1
  20. package/dist/zip-web-worker-native.js +1 -1
  21. package/dist/zip-web-worker.js +1 -1
  22. package/dist/zip.js +430 -274
  23. package/dist/zip.min.js +1 -1
  24. package/eslint.config.mjs +1 -1
  25. package/index-native.cjs +386 -163
  26. package/index-native.min.js +1 -1
  27. package/index.cjs +583 -283
  28. package/index.d.cts +168 -29
  29. package/index.d.ts +168 -29
  30. package/index.min.js +1 -1
  31. package/lib/core/codec-pool.js +2 -0
  32. package/lib/core/codec-worker-web.js +11 -3
  33. package/lib/core/codec-worker.js +2 -1
  34. package/lib/core/streams/aes-crypto-stream.js +60 -17
  35. package/lib/core/streams/codec-stream.js +2 -0
  36. package/lib/core/streams/zip-crypto-stream.js +7 -7
  37. package/lib/core/streams/zip-entry-stream.js +130 -113
  38. package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
  39. package/lib/core/streams/zlib-wasm/zlib-streams.js +199 -122
  40. package/lib/core/util/compatible-streams.js +10 -5
  41. package/lib/core/version.js +1 -1
  42. package/lib/core/web-worker-base.js +1 -1
  43. package/lib/core/web-worker-inline-native.js +1 -1
  44. package/lib/core/web-worker-inline-wasm.js +1 -1
  45. package/lib/core/zip-fs.js +157 -10
  46. package/lib/core/zip-reader.js +8 -5
  47. package/lib/core/zip-writer.js +5 -2
  48. package/lib/zip-core-reader.js +1 -0
  49. package/package.json +3 -2
@@ -1 +1 @@
1
- !function(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:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:u,Response:l,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:E,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:x,ReadableStream:A,WritableStream:D,CompressionStream:R,DecompressionStream:C,navigator:v,Worker:O,Symbol:I,setTimeout:T,clearTimeout:U,structuredClone:L}="undefined"!=typeof globalThis?globalThis:self;var W=void 0!==b?b.currentScript:null;const k=4294967295,B=65535,M=255,N=67324752,V=134695760,P=V,Y=84233040,q=33639248,G=101010256,Z=101075792,H=117853008,J=46,j=22,Q=20,K=56,X=39169,_=21589,$=6534,ee=30837,te=30805,ne=2048,re=61440,oe=16384,ie=2048,se=1024,ae="/",ce=30,ue=new a(2107,11,31,23,59,58),le=new a(1980,0,1),fe=void 0,we=1/0,de="undefined",pe="function",he="object",me="string",ye="boolean",ge=new d,Ee=I.asyncDispose||I(),Se="password",be="rawPassword",ze="passThrough",Fe="signal",xe="useWebWorkers",Ae="useCompressionStream",De="transferStreams",Re="preventClose",Ce="level",ve="useUnicodeFileNames",Oe="dataDescriptor",Ie="offset",Te="usdz",Ue="maxAppendedDataSize",Le="entry",We="filename",ke="comment",Be="strict",Me="balanced",Ne="tolerant",Ve="compressed",Pe="Invalid option (must be a function)",Ye="Invalid signal (must be an AbortSignal instance)",qe="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Ge="Invalid passThrough option (must be a boolean or 'compressed')",Ze="The operation was aborted";function He(e){if(e&&typeof e!=pe)throw new w(Pe);return e}function Je(e){if(e&&(typeof e.addEventListener!=pe||typeof e.aborted!=ye))throw new w(Ye);return e||fe}function je(e){if(e&&e.aborted)throw e.reason===fe?new DOMException(Ze,"AbortError"):e.reason}function Qe(e,t){if(e&&typeof e!=me||t&&!(t instanceof d))throw new w(qe)}function Ke(e){if(e!==fe&&typeof e!=ye&&e!==Ve)throw new w(Ge);return e}function Xe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new w(n)}function _e(e,t,n){e!==fe&&Xe(e,t,n)}function $e(e){return typeof e==me&&e.trim()?o(e):e}const et="Invalid maxWorkers (must be an integer greater than 0)",tt="Invalid baseURI (must be a string)",nt="Invalid URI (must be a string or a function returning a string)";let rt=2;try{typeof v!=de&&v.hardwareConcurrency&&(rt=v.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof R!=de&&R,DecompressionStream:typeof C!=de&&C},it="maxWorkers",st="baseURI",at=["wasmURI","workerURI"],ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ut=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=[st,...at,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ut],ft={...ot};function wt(){return ft}function dt(e){return pt(e.chunkSize)}function pt(e){return e=$e(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function ht(e){const t={};for(const n of lt){const r=e[n];r!==fe&&(t[n]=mt(n,r))}return t}function mt(e,t){if(ct.includes(e)){if(t=$e(t),e==it&&(!o.isInteger(t)||t<1))throw new w(et)}else if(ut.includes(e))He(t);else if(e==st){if(t&&typeof t!=me)throw new w(tt)}else if(at.includes(e)&&t&&typeof t!=me&&typeof t!=pe)throw new w(nt);return t}function yt(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===fe&&r===fe)return e;const o=n.assign({},e);return o.CompressionStreamFallback===fe&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===fe&&(o.DecompressionStreamFallback=r),o}function gt(e){const t=ht(yt(e));n.assign(ot,t),n.assign(ft,t)}const Et=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],St=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],bt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],zt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Ft=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],xt=new d(288);xt.fill(8,0,144),xt.fill(9,144,256),xt.fill(7,256,280),xt.fill(8,280,288);const At=new d(30).fill(5);function Dt(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const Rt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ct=(vt=()=>function(e){let t=0,n=0,r=0,o=new d(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)u();else if(1==e)l(Dt(xt),Dt(At));else{if(2!=e)throw new w("invalid deflate block type");l(...f())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=a()|a()<<8;t+=2,h(i+e);for(let t=0;t<e;t++)o[i++]=a()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)h(i+1),o[i++]=n;else{const e=n-257,r=Et[e]+c(St[e]),s=p(t),a=bt[s]+c(zt[s]);h(i+r);const u=i-a;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[Ft[e]]=c(3);const o=Dt(r),i=new d(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[Dt(i.subarray(0,e)),Dt(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new w("invalid huffman code")}function h(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new d(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=Rt.indexOf(e[r])<<18|Rt.indexOf(e[r+1])<<12|(63&Rt.indexOf(e[r+2]))<<6|63&Rt.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=vt();if("string"==typeof n&&(n=(new E).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=Rt[n>>18&63]+Rt[n>>12&63]+Rt[n>>6&63]+Rt[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=Rt[n>>18&63]+Rt[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=Rt[n>>18&63]+Rt[n>>12&63]+Rt[n>>6&63]+"="}return t}(n)}}));var vt;function Ot(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function It(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function Tt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function Ut(e){return Boolean(e)&&"object"==typeof e}const Lt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;Lt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Lt[t-1][e];Lt[t][e]=n>>>8^Lt[0][255&n]}const[Wt,kt,Bt,Mt,Nt,Vt,Pt,Yt]=Lt;class qt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=Yt[255&e]^Pt[e>>>8&255]^Vt[e>>>16&255]^Nt[e>>>24&255]^Mt[255&n]^Bt[n>>>8&255]^kt[n>>>16&255]^Wt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Wt[255&(t^e[r])];this.l=t}get(){return~this.l}}class Gt extends x{constructor(){let e;const t=new qt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Zt(e){if(typeof E==de){e=unescape(encodeURIComponent(e));const t=new d(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const Ht=64,Jt=20,jt=new d([128]),Qt=new d(1),Kt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Xt=new d(256),_t=new Int32Array(256),$t=new Int32Array(256),en=new Int32Array(256),tn=new Int32Array(256);let nn=!1;function rn(e){const t=function(){const e=new Int32Array(Kt),t=new Int32Array(16),n=new d(Ht),r=new m(n.buffer),o=new d(8);let i=0,a=0;return{update:c,digest:function(){const t=8*a,n=s.floor(t/4294967296),r=t>>>0;for(c(jt,0,1);56!=i;)c(Qt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(Jt),l=new m(u.buffer);for(let t=0;t<e.length;t++)l.setInt32(4*t,e[t]);return e.set(Kt),i=0,a=0,u}};function c(e,t,o){const s=t+o;if(a+=o,i){for(;t<s&&i<Ht;)n[i++]=e[t++];i==Ht&&(u(r,0),i=0)}if(t+Ht<=s){const n=new m(e.buffer,e.byteOffset,e.byteLength);for(;t+Ht<=s;t+=Ht)u(n,t)}for(;t<s;)n[i++]=e[t++]}function u(n,r){for(let e=0;e<16;e++)t[e]=n.getInt32(r+4*e);let o,i=e[0],s=e[1],a=e[2],c=e[3],u=e[4];for(let e=0;e<15;e+=5)u=(i<<5|i>>>27)+((a^c)&s^c)+u+1518500249+t[e]|0,s=s<<30|s>>>2,c=(u<<5|u>>>27)+((s^a)&i^a)+c+1518500249+t[e+1]|0,i=i<<30|i>>>2,a=(c<<5|c>>>27)+((i^s)&u^s)+a+1518500249+t[e+2]|0,u=u<<30|u>>>2,s=(a<<5|a>>>27)+((u^i)&c^i)+s+1518500249+t[e+3]|0,c=c<<30|c>>>2,i=(s<<5|s>>>27)+((c^u)&a^u)+i+1518500249+t[e+4]|0,a=a<<30|a>>>2;u=(i<<5|i>>>27)+((a^c)&s^c)+u+1518500249+t[15]|0,s=s<<30|s>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((s^a)&i^a)+c+1518500249+o|0,i=i<<30|i>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,a=(c<<5|c>>>27)+((i^s)&u^s)+a+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,s=(a<<5|a>>>27)+((u^i)&c^i)+s+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,i=(s<<5|s>>>27)+((c^u)&a^u)+i+1518500249+o|0,a=a<<30|a>>>2;for(let e=20;e<40;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(s^a^c)+u+1859775393+o|0,s=s<<30|s>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^s^a)+c+1859775393+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,a=(c<<5|c>>>27)+(u^i^s)+a+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,s=(a<<5|a>>>27)+(c^u^i)+s+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(s<<5|s>>>27)+(a^c^u)+i+1859775393+o|0,a=a<<30|a>>>2;for(let e=40;e<60;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(s&a|(s|a)&c)+u+2400959708+o|0,s=s<<30|s>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i&s|(i|s)&a)+c+2400959708+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,a=(c<<5|c>>>27)+(u&i|(u|i)&s)+a+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,s=(a<<5|a>>>27)+(c&u|(c|u)&i)+s+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(s<<5|s>>>27)+(a&c|(a|c)&u)+i+2400959708+o|0,a=a<<30|a>>>2;for(let e=60;e<80;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(s^a^c)+u+3395469782+o|0,s=s<<30|s>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^s^a)+c+3395469782+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,a=(c<<5|c>>>27)+(u^i^s)+a+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,s=(a<<5|a>>>27)+(c^u^i)+s+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(s<<5|s>>>27)+(a^c^u)+i+3395469782+o|0,a=a<<30|a>>>2;e[0]=e[0]+i|0,e[1]=e[1]+s|0,e[2]=e[2]+a|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}}(),n=new d(Ht),r=new d(Ht);e.length>Ht&&(t.update(e,0,e.length),e=t.digest());for(let t=0;t<Ht;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,Ht),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,Ht),t.update(e,0,Jt);const o=t.digest();return t.update(n,0,Ht),o}}}function on(e){return Xt[e>>>24]<<24|Xt[e>>>16&255]<<16|Xt[e>>>8&255]<<8|Xt[255&e]}function sn(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function an(e){return 255&(e<<1^27*(e>>7))}const cn=typeof z!=de&&typeof z.getRandomValues==pe,un="Invalid password",ln="Invalid authentication code",fn="zipjs-abort-check-password",wn="Crypto API not supported";function dn(e){if(cn)return z.getRandomValues(e);throw new w(wn)}const pn={name:"PBKDF2"},hn=n.assign({hash:{name:"HMAC"}},pn),mn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},pn),yn=["deriveBits"],gn=[8,12,16],En=[16,24,32],Sn=10,bn=typeof z!=de,zn=bn&&z.subtle;let Fn=bn&&typeof zn!=de&&typeof zn.importKey==pe&&typeof zn.deriveBits==pe;class xn extends x{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Dn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,h:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await vn(e,t,n,In(r,0,gn[t])),i=In(r,gn[t]);if(o[0]!=i[0]||o[1]!=i[1])throw Cn(e),new w(un)}(n,i,o,In(e,0,gn[i]+2)),e=In(e,gn[i]+2),r?(Cn(n),t.error(new w(fn))):s()):await a;const c=new d(e.length-Sn-(e.length-Sn)%16);t.enqueue(Rn(n,e,c,0,Sn,!0))},async flush(e){const{m:t,S:n,ready:r}=this;if(t){await r;const i=In(n,n.length-Sn),s=new d(In(n,0,n.length-Sn));t.process(s,!0);const a=t.digest();let c=n.length<Sn?1:0;for(let e=0;e<Sn;e++)c|=a[e]^i[e];if(c&&o)throw new w(ln);e.enqueue(s)}},cancel(){Cn(this)}})}}class An extends x{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Dn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,h:i,ready:s}=n;let a=ge;r?(a=await async function(e,t,n){const r=dn(new d(gn[t]));return Ot(r,await vn(e,t,n,r))}(n,o,r),i()):await s;const c=new d(a.length+e.length-e.length%16);c.set(a,0),t.enqueue(Rn(n,e,c,a.length,0,!1))},async flush(e){const{m:t,S:n,ready:r}=this;if(t){await r;const o=new d(n);t.process(o,!1);const i=In(t.digest(),0,Sn);e.enqueue(Ot(o,i))}},cancel(){Cn(this)}})}}function Dn(e,t,r,o){n.assign(e,{ready:new g(t=>e.h=t),password:On(t,r),strength:o-1,S:ge})}function Rn(e,t,n,r,o,i){const{m:s,S:a}=e;a.length&&(t=Ot(a,t));const c=t.length-o,u=c-c%16;if(n=function(e,t){if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e}(n,r+u),u){const e=In(n,r,r+u);e.set(In(t,0,u)),s.process(e,i)}return e.S=In(t,u),n}function Cn({m:e}){e&&e.dispose&&e.dispose()}async function vn(e,t,r,o){e.password=null;const i=En[t],a=await async function(e,t,r){if(Fn)try{const o=await zn.importKey("raw",e,hn,!1,yn);return new d(await zn.deriveBits(n.assign({salt:t},mn),o,8*r))}catch{Fn=!1}return function(e,t,n,r){const o=rn(e),i=new d(r),a=new d(t.length+4),c=new m(a.buffer);a.set(t);for(let e=1,n=0;n<r;e++,n+=Jt){c.setUint32(t.length,e),o.update(a,0,a.length);let u=o.digest();const l=u.slice();for(let e=1;e<1e3;e++){o.update(u,0,Jt),u=o.digest();for(let e=0;e<Jt;e++)l[e]^=u[e]}i.set(l.subarray(0,s.min(Jt,r-n)),n)}return i}(e,t,0,r)}(r,o,2*i+2);return e.m=function(e,t){!function(){if(!nn){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Xt[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Xt[0]=99;for(let e=0;e<256;e++){const t=Xt[e],n=an(t),r=n<<24|t<<16|t<<8|n^t;_t[e]=r,$t[e]=r>>>8|r<<24,en[e]=r>>>16|r<<16,tn[e]=r>>>24|r<<8}nn=!0}}();const n=new Int32Array(60),r=function(e,t){const n=e.length>>2,r=n+6,o=4*(r+1);let i=1;for(let r=0;r<n;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;e<o;e++){let r=t[e-1];e%n==0?(r=on(r<<8|r>>>24)^i<<24,i=an(i)):n>6&&e%n==4&&(r=on(r)),t[e]=t[e-n]^r}return r}(e,n),o=new Int32Array(4),i=rn(t);let s=0,a=0,c=0,u=0;return{process(e,t){t&&i.update(e,0,e.length),function(e){const t=new m(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;r+16<=n;r+=16)l(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(r<n){l();for(let t=0;r<n;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}}(e),t||i.update(e,0,e.length)},digest:()=>i.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(c=c+1|0,c||(u=u+1|0)));let e=sn(s)^n[0],t=sn(a)^n[1],i=sn(c)^n[2],l=sn(u)^n[3],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[4],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[5],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[6],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[7];e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[8],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[9],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[10],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[11],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[12],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[13],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[14],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[15],e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[16],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[17],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[18],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[19],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[20],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[21],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[22],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[23],e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[24],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[25],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[26],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[27],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[28],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[29],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[30],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[31],e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[32],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[33],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[34],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[35],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[36],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[37],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[38],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[39];let h=40;r>10&&(e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[40],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[41],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[42],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[43],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[44],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[45],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[46],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[47],h=48),r>12&&(e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[48],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[49],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[50],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[51],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[52],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[53],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[54],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[55],h=56),o[0]=(Xt[f>>>24]<<24|Xt[w>>>16&255]<<16|Xt[d>>>8&255]<<8|Xt[255&p])^n[h],o[1]=(Xt[w>>>24]<<24|Xt[d>>>16&255]<<16|Xt[p>>>8&255]<<8|Xt[255&f])^n[h+1],o[2]=(Xt[d>>>24]<<24|Xt[p>>>16&255]<<16|Xt[f>>>8&255]<<8|Xt[255&w])^n[h+2],o[3]=(Xt[p>>>24]<<24|Xt[f>>>16&255]<<16|Xt[w>>>8&255]<<8|Xt[255&d])^n[h+3]}}(In(a,0,i),In(a,i,2*i)),In(a,2*i)}function On(e,t){return t===fe?Zt(e):t}function In(e,t,n){return e.subarray(t,n)}class Tn extends x{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Ln(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Wn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(un);e=e.subarray(12)}r?t.error(new w(fn)):t.enqueue(Wn(n,e))}})}}class Un extends x{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Ln(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=dn(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(kn(n,t),0),o=12}else r=new d(e.length),o=0;r.set(kn(n,e),o),t.enqueue(r)}})}}function Ln(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,F:new qt(o[0]),A:new qt(o[2])}),r)for(let t=0;t<r.length;t++)Bn(e,r[t]);else for(let n=0;n<t.length;n++)Bn(e,t.charCodeAt(n))}(e,t,r)}function Wn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=Mn(e)^t[r],Bn(e,n[r]);return n}function kn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=Mn(e)^t[r],Bn(e,t[r]);return n}function Bn(e,t){let[,n]=e.keys;e.F.append([t]);const r=~e.F.get();n=Vn(s.imul(Vn(n+Nn(r)),134775813)+1),e.A.append([n>>>24]);const o=~e.A.get();e.keys=[r,n,o]}function Mn(e){const t=2|e.keys[2];return Nn(s.imul(t,1^t)>>>8)}function Nn(e){return 255&e}function Vn(e){return 4294967295&e}function Pn(e){if(e instanceof A)return e;const t=e.getReader();return new A({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function Yn(e,t){e=Pn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=pe||new y([]).stream()instanceof A)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function qn(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 Gn="Invalid codec definition",Zn="Reserved compression method",Hn="Invalid codec module",Jn="Compression method not supported",jn=[0,8,9,99],Qn=new c,Kn=new c;function Xn(e){return Qn.get(e)}function _n(){return t.from(Qn.values(),e=>n.assign({},e,Kn.get(e.format)))}function $n(e){return Kn.get(e)}function er(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=pe&&typeof r!=pe)throw new w(Hn);Kn.set(e,{CompressionStream:n,DecompressionStream:r})}const tr="Invalid uncompressed size",nr="Invalid compressed data",rr="Invalid CRC32",or="deflate-raw",ir="deflate64-raw",sr="gzip",ar=[31,139,8];class cr extends x{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:w,inputSize:d}=e,p=this;let h,y,g,E=super.readable;const S=f&&$n(f),b=mr(s,r,n),z=c&&o&&!l&&!S&&(!i||a)&&Boolean(b);if(i&&!a||!c||z||(h=new Gt,E=gr(E,h)),o)if(S)E=Er(E,hr(S.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:w,uncompressedSize:d}));else if(z)g=new ur,E=Er(E,new b(sr,{level:u,chunkSize:t})),E=gr(E,g);else try{E=yr(E,s,{level:u,chunkSize:t},r,n)}catch(e){if(!s&&n)throw e;let t;try{t=new r(sr)}catch{throw e}E=Er(E,t),E=gr(E,new ur)}i&&(a?E=gr(E,new Un(e)):(y=new An(e),E=gr(E,y))),pr(p,E,()=>{i&&!a||!c||(p.crc32=z?g.crc32:new m(h.value.buffer).getUint32(0))})}}class ur extends x{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=Ot(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(Ot(n.subarray(0,a),e.subarray(0,i-a))),n=Ot(n.subarray(a),e.subarray(i-a))},flush(){const t=Tt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class lr extends x{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let E,S,b,z=super.readable;if(i&&(o?z=gr(z,new Tn(e)):(S=new xn(e),z=gr(z,S))),c){const e=f&&$n(f);if(e)z=Er(z,hr(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else{let e;const o=mr(u,r,n);if(s&&!l&&a!==fe&&y!==fe&&o)try{e=new o(sr,{chunkSize:t})}catch{e=fe}if(!e)try{z=yr(z,u,{chunkSize:t,deflate64:l},r,n)}catch(t){if(l||y===fe||!u&&n)throw t;try{e=new r(sr)}catch{throw t}}e&&(b=!0,z=function(e,t,n,r){const o=t.writable.getWriter(),i=t.readable.getReader(),s=r===fe?new qt:fe;let a,c,u=0,l=!1,f=!1,p=!1,h=0,m=!1;const y=new g((e,t)=>{a=e,c=t});return y.catch(()=>{}),async function(){const t=e.getReader();try{const e=new d(10);for(e.set(ar),await o.write(e);;){await o.ready;const{value:e,done:n}=await t.read();if(n)break;await o.write(e)}l=!0,s&&(m&&S(),await y);const i=new d(8),a=Tt(i);a.setUint32(0,s?s.get():r,!0),a.setUint32(4,n,!0),f=!0,await o.write(i),await o.close()}catch(e){await Sr(o,e),await br(t,e)}}(),new A({async pull(e){let t;try{t=await function(){h++,m=!0;const e=i.read();return e.then(E,E),l&&s&&S(),e}()}catch(e){throw f?function(e){const t=new w(u==n?rr:tr);return t.cause=e,t}(e):e}const{value:r,done:o}=t;if(o)e.close();else{if(u+=r.length,u>n){const e=new w(tr);throw c(e),await br(i,e),e}s&&s.append(r),e.enqueue(r)}},cancel:e=>(c(e),i.cancel(e))});function E(){m=!1}async function S(){if(!p){p=!0;const e=h;await new g(e=>{const{port1:t,port2:n}=new MessageChannel;n.onmessage=()=>{t.close(),n.close(),e()},t.postMessage(fe)}),p=!1,m&&(h==e?a():S())}}}(z,e,y,a))}z=function(e){const t=e.getReader();return new A({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(nr);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(z)}s&&!b&&(E=new Gt,z=gr(z,E)),pr(this,z,()=>{if(E){const e=new m(E.value.buffer).getUint32(0,!1);if(a!=e)throw new w(rr)}})}}const fr=new c;function wr(e,t){if(!e)return!1;let n=fr.get(e);n||(n=new c,fr.set(e,n));let r=n.get(t);if(r===fe){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function dr(e){return wr(e,or)}function pr(e,t,r){t=gr(t,new x({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function hr(e,t,n){if(!e)throw new w(Jn);return new e(t,n)}function mr(e,t,n){return e&&t?t:n&&n.requiresModule?n:void 0}function yr(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?ir:or;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Er(e,a)}function gr(e,t){return Pn(e).pipeThrough(t)}function Er(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await Sr(n,e),await br(r,e)}}(),t.readable}async function Sr(e,t){try{await e.abort(t)}catch{}}async function br(e,t){try{await e.cancel(t)}catch{}}const zr="data",Fr="deflate",xr="inflate";class Ar extends x{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Fr)?i=cr:o.startsWith(xr)&&(i=lr),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,u=new x({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),l=new x({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==fe&&r.outputSize>e.outputSize))throw new w(tr)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class Dr extends x{constructor(e){const t=[];let r=0,i=0;function s(){const n=new d(e);let o=0;for(;o<e;){const r=t[0],i=e-o;r.length<=i?(n.set(r,o),o+=r.length,t.shift()):(n.set(r.subarray(0,i),o),t[0]=r.subarray(i),o+=i)}return r-=e,n}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)i+=e,o.enqueue(s())},flush(e){r&&(i+=r,e.enqueue(function(e,t){const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const Rr="Worker startup timeout";let Cr,vr,Or,Ir=()=>{};async function Tr(){if(Ir)try{return await void 0,!0}catch{}return!1}function Ur(e){e.createWorker?vr=!0:Cr=!1}class Lr{constructor(e,{readable:t,writable:r},o,i){const{options:s,config:a,D:c,useWebWorkers:u,transferStreams:l,workerURI:f}=o;let{createWorker:w}=o;const{signal:d}=c;return vr&&(w=fe),n.assign(e,{R:!0,C:(e.C||0)+1,readable:t.pipeThrough(new Dr(dt(a))).pipeThrough(new Wr(c),{signal:d}),writable:r,options:n.assign({},s),v:o,workerURI:f,createWorker:w,transferStreams:l,terminate:()=>new g(t=>{const{O:n,R:r}=e;r?(e.I=e.I||[],e.I.push(t)):(n&&(n.terminate(),e.O=null),t()),e.T=null}),U(){if(e.R){const{I:t,O:n}=e;t&&(e.I=null,n&&(e.L=!0,n.terminate())),e.R=!1;const r=i(e);t&&t.forEach(e=>e(r))}}}),Cr===fe&&(Cr=typeof O!=de),(u&&Or&&(Cr&&f||w)?Or:Br)(e,a)}}class Wr extends x{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await kr(e,n)},async transform(e,r){o+=e.length,t&&await kr(t,o,n),r.enqueue(e)},async flush(){r&&await kr(r,o)}})}}async function kr(e,...t){try{await e(...t)}catch{}}function Br(e,t){return{run:()=>Mr(e,t)}}async function Mr({options:e,readable:t,writable:n,U:r,v:o},i){let s,a,c;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Fr),n=t?i.CompressionStreamFallback:i.DecompressionStreamFallback,r=t?i.CompressionStream:i.DecompressionStream;e.useCompressionStream?n&&n.requiresModule&&!dr(r)&&await u():await u()||n&&!n.requiresModule||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await u(),s=new Ar(e,i),a=new Dr(dt(i)),await t.pipeThrough(s).pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:c}=s;return{crc32:r,inputSize:o,outputSize:c}}catch(e){if(s){const t=a?a.outputSize:0;if(o.outputSize=t,Ut(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function u(){return c||(c=Tr()),c}}const Nr={type:"module"},Vr="error";let Pr,Yr,qr,Gr=!0;try{Gr=typeof L==pe&&L(new DOMException("","AbortError")).code!==fe}catch{}var Zr;function Hr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function Jr(e){const{O:t}=e;if(t)try{t.terminate()}catch{}e.T=null}function jr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(Yr===fe||Pr!==e){const n=typeof e==pe;c=n?e(i):e;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===fe&&(o=!1),o&&(u=Nr);try{a=new O(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return jr(e,t,r,o,!1);if(o)throw i;return jr(e,t,r,!0,!1)}}else{o===fe&&(o=!0),o&&(u=Nr);try{c=new f(c,t)}catch{}try{a=new O(c,u)}catch(n){if(o)return jr(e,t,r,!1,i);throw n}}Pr=e,Yr=c,qr=u}else a=new O(Yr,qr);return a.addEventListener("message",e=>{r.W=!0,Qr(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a,errorValue:c}=e,{reader:u,writer:l,B:f,M:p,U:h,C:m}=t,y=()=>t.C!=m;try{if(a)g(function(e,t){const{message:r,stack:o,code:i,name:s,outputSize:a,cause:c,codecImportFailed:u}=e;let l;if(t?l=t.value:(l=n.assign(new w(r),{stack:o,code:i,name:s}),c&&(l.cause=n.assign(new w(c.message),{name:c.name}))),Ut(l))try{a!==fe&&(l.outputSize=a),u&&(l.codecImportFailed=!0),t&&(l.name!==s&&(l.name=s),l.code!==i&&(l.code=i))}catch{}return l}(a,c));else{if("pull"==r){const{value:e,done:n}=await u.read();y()||Xr({type:zr,value:e,done:n,messageId:i},t)}if(r==zr){const e=new d(o);await l.ready,await l.write(e),y()||Xr({type:"ack",messageId:i},t)}"close"==r&&function(e){y()||(f(e),E(),h())}(s)}}catch(a){y()||(Jr(t),g(a))}function g(e){y()||(p(e),E(),Ut(e)&&e.codecImportFailed||h())}function E(){l&&l.releaseLock()}}(e,r)}),a.addEventListener(Vr,e=>Kr(e,r)),a.addEventListener("messageerror",e=>Kr(e,r)),a}function Qr(e){const{N:t}=e;t&&(U(t),e.N=null)}function Kr(e,t){e.preventDefault&&e.preventDefault(),Qr(t);const{W:r,M:o,writer:i,U:s}=t;Jr(t),r||(t.O=null);let a=e.error||new w(e.message||Vr);r||(a=n.assign(new w(a.message||Vr),{V:!0}),t.P=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Xr(e,{O:t,writer:n,transferStreams:r,W:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=It(n),a.push(e.value.buffer)),r&&Gr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{Gr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}Zr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.T){let c;typeof a==pe&&(a=a());try{c=jr(e.workerURI,r,e)}catch{return Ur(e),Br(e,t)}n.assign(e,{O:c,W:!1,L:!1,P:null,T:{run:async()=>{try{return await async function(e,t){if(!e.O){const{P:t}=e;e.P=null;const n=t||new w(Rr);throw n.V=!0,n}let r,i;const s=new g((t,n)=>{r=t,i=t=>{const{outputSize:r,v:o}=e;if(o.outputSize=r,Ut(t))try{t.outputSize=r}catch{}n(t)}});n.assign(e,{reader:null,writer:null,outputSize:0,Y:!1,G:null,B:r,M:i,result:s});const{readable:a,options:c}=e,{writable:u,closed:l,Z:f}=function(e,t){const r=new AbortController;let o;const{writable:i,readable:s}=new x({transform(e,n){t.outputSize+=e.length,n.enqueue(e)}}),a=s.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:r.signal});return a.catch(e=>{o||n.assign(t,{Y:!0,G:e})}),{writable:i,closed:a,Z:()=>{o=!0,r.abort()}}}(e.writable,e);let d;try{d=Xr({type:"start",options:c,config:t,readable:a,writable:u},e)}catch(t){f();try{await l}catch{}throw e.U(),t}d||n.assign(e,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.W&&o.isFinite(p)&&p>=0&&(e.N=T(()=>function(e){if(e.N=null,e.W)return;const{M:t,writer:n}=e;if(Jr(e),e.O=null,t){const e=new w(Rr);e.V=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await h(),await l,e}catch(t){await h(),f();try{await l}catch{}const{outputSize:n,v:r,Y:o,G:i}=e;r.outputSize=n;const s=Ut(t)&&(t.codecImportFailed||t.V),a=o&&!s?i:t;if(Ut(a))try{a.outputSize=n}catch{}throw a}async function h(){if(!d&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.V)return Ur(e),Hr(e),Mr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Hr(e),Mr(e,t);e.U()}throw n}}}})}return e.T},Or=Zr;let _r=[];const $r=[];let eo,to,no=0;async function ro(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Kn.has(e)&&t&&er(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(d,n.codecURI)),t.transferStreams=!d&&(i||i===fe&&r.transferStreams);const E=!(c||u||l||w),S=d===fe||Boolean(n.codecURI);return t.useWebWorkers=!E&&S&&(s||s===fe&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:fe,t.createWorker=t.useWebWorkers&&m?m:fe,n.useCompressionStream=a||a===fe&&r.useCompressionStream,(await async function(){const n=_r.find(e=>!e.R);if(n)return lo(n),new Lr(n,e,t,b);if(_r.length<y){const n={H:no};return no++,_r.push(n),new Lr(n,e,t,b)}return new g(n=>{$r.push({resolve:n,stream:e,v:t}),to=r.workerStarvationTimeout,oo()})}()).run();function b(e){if(io(),e.L)return e.L=!1,ao();if($r.length){const[{resolve:t,stream:n,v:r}]=$r.splice(0,1);t(new Lr(e,n,r,b)),oo()}else e.O?(lo(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.J=T(async()=>{_r=_r.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):_r=_r.filter(t=>t!=e)}}function oo(){!eo&&$r.length&&o.isFinite(to)&&to>=0&&(eo=T(so,to))}function io(){eo&&(U(eo),eo=null)}function so(){if(eo=null,$r.length){const[{resolve:e,stream:t,v:n}]=$r.splice(0,1);e(new Lr({},t,co(n),uo)),oo()}}function ao(){const e=$r.splice(0).map(({resolve:e,stream:t,v:n})=>new g(r=>{e(new Lr({},t,co(n),()=>{uo(),r()}))}));return io(),g.all(e)}function co(e){return n.assign({},e,{useWebWorkers:!1,workerURI:fe,createWorker:fe})}function uo(){io(),oo()}function lo(e){const{J:t}=e;t&&(U(t),e.J=null)}const fo="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function wo(e,t){return ho(e,t,!0)}function po(e){if(!e.some(e=>e>127))return!1;try{return new S("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function ho(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=fo[e[n]];return t}(e):new S(t,{ignoreBOM:n}).decode(e)}const mo="HTTP error ",yo="HTTP Range not supported",go="HTTP resource changed",Eo="Writer iterator completed too soon",So="Writer not initialized",bo="Invalid writer (size must be writable)",zo="Content-Range",Fo="Range",xo="GET",Ao="bytes",Do=16777216,Ro="writable",Co=I();class vo{constructor(){this.size=0}init(){this.initialized=!0}}class Oo extends vo{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=dt(wt())}={}){const r=this;let o=0;return n=pt(n),new A({async pull(i){const a=t===fe?n:s.min(n,t-o),c=await ci(r,e+o,a);c.length&&(i.enqueue(c),o+=c.length),(t!==fe&&o>=t||!c.length&&a)&&i.close()}})}}class Io extends vo{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w(So);return e.writeUint8Array(It(t))}});n.defineProperty(e,Ro,{get:()=>t})}writeUint8Array(){}}let To,Uo;class Lo extends Oo{constructor(e){super(),n.assign(this,{j:e,size:e.size}),Uo||(Uo=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();To=1==t}catch{To=!1}})())}createReadable(e){const{j:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==pe){if(!r&&o>=n)return Pn(t.stream());if(To)return Pn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.j:n.j.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new d(i)}}class Wo extends vo{constructor(e){super();const t=this,r=new x;n.defineProperty(t,Ro,{get:()=>r.writable}),t.contentType=e,t.K=Yn(r.readable,e),t.K.catch(()=>{})}getData(){return this.K}}class ko extends Oo{constructor(e,t){super(),Mo(this,e,t)}async init(){await No(this,_o,jo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o,X:i}=t;if((n||r)&&o!==fe){const{offset:n=0,size:r=o-n}=e||{},a=i&&n>=o-i.length;if(r>0&&n<o&&!a)return function(e,t,n){let r,o=t,i=0,a=n;return new A({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new w(yo);const o=t.length>i?t.subarray(0,i):t;i-=o.length,a-=o.length,o.length&&e.enqueue(o),i||(await async function(){const e=r;r=fe,await e.cancel()}(),a||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=s.min(e.maximumRangeSize,a),n=await _o(xo,e,Ho(e,o,t));if(206!=n.status)throw new w(yo);const c=Po(n);if(c!==fe&&c!=o)throw new w(yo);Zo(e,n),Go(e,n),o+=t,i=t,r=n.body.getReader()}}(t,n,s.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Vo(this,e,t,_o,jo)}}class Bo extends Oo{constructor(e,t){super(),Mo(this,e,t)}async init(){await No(this,$o,Qo),super.init()}readUint8Array(e,t){return Vo(this,e,t,$o,Qo)}}function Mo(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=Do,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function No(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=wt(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==de||o)){const r=await t(xo,e,Ho(e,a?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Ao))throw new w(yo);{let o;a&&206==r.status&&(o=new d(await r.arrayBuffer())),Go(e,r);const i=Yo(r);i===fe?await Xo(e,t,n):e.size=i,o&&o.length&&Po(r)===e.size-o.length&&(e.X=o)}}else await Xo(e,t,n)}async function Vo(e,t,n,r,o){const{useRangeHeader:i,forceRangeRequests:s,X:a,size:c,options:u}=e;if(i||s){if(t>=c||0===n)return ge;{if(t+n>c&&(n=c-t),a&&t>=c-a.length){const e=t-(c-a.length);return a.slice(e,e+n)}const o=await r(xo,e,Ho(e,t,n));if(206!=o.status)throw new w(yo);const i=Po(o);if(i!==fe&&i!=t)throw new w(yo);Zo(e,o),Go(e,o);const s=new d(await o.arrayBuffer());if(s.length!=n)throw new w(yo);return s}}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function Po(e){const t=e.headers.get(zo);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function Yo(e){const t=e.headers.get(zo);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function qo({headers:e}){return{_:e.get("Etag")||fe,lastModified:e.get("Last-Modified")||fe}}function Go(e,t){const{checkResourceChanges:n,$:r}=e;n&&!r&&206==t.status&&(e.$=qo(t))}function Zo(e,t){const{checkResourceChanges:r,$:o,size:i}=e;if(r){const e=Yo(t);if(e!==fe&&i!==fe&&e!=i)throw new w(go);if(o){const e=qo(t);if(n.entries(o).some(([t,n])=>n!==fe&&e[t]!==fe&&n!=e[t]))throw new w(go)}}}function Ho(e,t=0,r=1){return n.assign({},Jo(e),{[Fo]:Ao+"="+(t<0?t:t+"-"+(t+r-1))})}function Jo({options:e}){const{headers:t}=e;if(t)return I.iterator in t?n.fromEntries(t):t}async function jo(e){await Ko(e,_o)}async function Qo(e){await Ko(e,$o)}async function Ko(e,t){const n=await t(xo,e,Jo(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function Xo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Jo(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function _o(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status>=200&&s.status<=299)return s;throw 416==s.status?new w(yo):new w(mo+(s.statusText||s.status))}function $o(e,{url:t},r){return new g((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status>=200&&s.status<=299){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new w(yo):new w(mo+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class ei extends Oo{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Bo(e,t):new ko(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 ti extends Oo{constructor(e){super(),this.ee=e}async init(){const e=this;e.te=0;const t=e.ee=await g.all(e.ee.map(ai));e.ne=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}re(e){const{ne:t,size:n}=this,r=t[e];return r===fe?n:r}async readUint8Array(e,t){const n=this,{ee:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await ci(c,a,t);else{const i=r-a;o=Ot(await ci(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=ge;return n.te=s.max(i,n.te),o}}class ni extends vo{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new D({async write(t){if(t===Co)return void(s&&await u());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new w(Eo);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await si(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await l())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,Ro,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Co)}finally{e.releaseLock()}}}class ri{constructor(e){return t.isArray(e)&&(e=new ti(e)),(e instanceof A||typeof e.getReader==pe)&&(e={readable:Pn(e)}),e}}class oi{constructor(e){e.writable===fe&&typeof e.next==pe&&(e=new ni(e)),(e instanceof D||typeof e.getWriter==pe)&&(e={writable:qn(e)});try{e.size=e.size===fe?0:e.size}catch{throw new w(bo)}return e}}function ii(e){return Boolean(e&&e.getData)}async function si(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function ai(e){return e=new ri(e),await si(e),e.size!==fe&&e.readUint8Array||(e=new Lo(await Yn(e.readable)),await si(e)),e}function ci(e,t,n){return e.readUint8Array(t,n)}function ui(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Oo.prototype.createReadable.call(e,t):e.readable}function li(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==fe&&(r.filename=n),e.push(r)}}const fi="filename",wi="rawFilename",di="comment",pi="rawComment",hi="uncompressedSize",mi="compressedSize",yi="offset",gi="diskNumberStart",Ei="lastModDate",Si="rawLastModDate",bi="lastAccessDate",zi="rawLastAccessDate",Fi="creationDate",xi="rawCreationDate",Ai="internalFileAttributes",Di="externalFileAttributes",Ri="msdosAttributesRaw",Ci="msdosAttributes",vi="msDosCompatible",Oi="zip64",Ii="encrypted",Ti="version",Ui="versionMadeBy",Li="zipCrypto",Wi="directory",ki="executable",Bi="compressionMethod",Mi="signature",Ni="extraField",Vi="unixMode",Pi="setuid",Yi="setgid",qi="sticky",Gi=[fi,wi,hi,mi,Ei,Si,di,pi,bi,zi,Fi,xi,yi,gi,Ai,Di,Ri,Ci,vi,Oi,Ii,Ti,Ui,Li,Wi,ki,"symlink",Bi,Mi,"crc32",Ni,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Vi,"unixExternalUpper",Pi,Yi,qi,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Zi{constructor(e){Gi.forEach(t=>this[t]=e[t])}}const Hi=new u([1,X,10,_,28789,25461,$,ee,te,22613,13]);function Ji(e,t,n){return e?t?12:16+4*n:0}const ji="File format is not recognized",Qi="End of central directory not found",Ki="End of Zip64 central directory locator not found",Xi="Central directory header not found",_i="Local file header not found",$i="Zip64 extra field not found",es="File contains encrypted entry",ts="Encryption method not supported",ns="Split zip file",rs="Overlapping entry found",os="Entry data out of bounds",is="Ambiguous archive",ss="Encrypted central directory is not supported",as="Unsafe filename",cs="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",us="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ls="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",fs="64-bit value exceeds Number.MAX_SAFE_INTEGER",ws="unsorted central directory",ds="unknown version needed to extract",ps="compressed patched data",hs="malformed extra field",ms="unknown zip64 extensible data",ys="wrapped entries count",gs="appended data",Es="prepended data",Ss="prepended central directory",bs="trailing central directory data",zs="duplicate filename",Fs="mismatched zip64 end of central directory record",xs="multiple end of central directory records",As="mismatched local file header (filename)",Ds="mismatched local file header (general purpose bit flag)",Rs="mismatched local file header (compression method)",Cs="mismatched local file header (crc32 or sizes)",vs=/^[a-zA-Z]:/,Os=/(^|[\\/])\.\.([\\/]|$)/,Is="utf-8",Ts="cp437",Us=[[hi,k],[mi,k],[yi,k],[gi,B]],Ls={[B]:{oe:ya,bytes:4},[k]:{oe:ga,bytes:8}},Ws=i(o.MAX_SAFE_INTEGER);class ks{constructor(e,t={}){n.assign(this,{reader:new ri(e),options:t,ie:{se:new u,ae:[],ce:[]}})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await si(r),r.size!==fe&&r.readUint8Array||(r=new Lo(await Yn(r.readable)),await si(r)),r.size<j)throw new w(ji);const o=t.warnings=[],i=ea(e,t.options),a=i==Be,c=i!=Ne,l=ra(fa(t,e,Ue),i),f=function(e,t){if(e===fe)return t;if(!$s(e))throw new w(us);return e}(fa(t,e,"filenameValidation"),i),p=fa(t,e,"normalizeFilename"),{ue:h,le:m}=await oa(r,c,l);if(!h)throw await async function(e){return await _s(e)==V}(r)?new w(ns):new w(Qi);c&&m>1&&la(xs);const y=Tt(h);let g=ya(y,12),E=ya(y,16);const S=h.offset,b=ma(y,20),z=S+j+b,F=r.size-z;F>l&&la(gs),F>0&&li(o,gs);let A=ma(y,4);const D=r.te||0;let R,C,v,O,I,T=ma(y,6),U=ma(y,10),L=0,W=K;const N=E==k||g==k||U==B||T==B;if(E!=k&&T!=B&&(E+=Xs(r,T)),N){const e=h.offset>=Q?await ci(r,h.offset-Q,Q):ge,t=Tt(e);if(e.length==Q&&ya(t,0)==H){E=Xs(r,ya(t,4))+ga(t,8);let e=await ci(r,E,K),i=Tt(e);const c=h.offset-Q-K;if((e.length<K||ya(i,0)!=Z)&&E!=c&&c>=0){const t=E;E=c,E>t&&(L=E-t),e=await ci(r,E,K),i=Tt(e)}if(e.length<K||ya(i,0)!=Z)throw new w(Ki);if(v=!0,O=ga(i,4)>44,O){const e=s.min(ga(i,4)-44,r.size-E-K);e>0&&(W+=e,I=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=Tt(e),o=ma(r,26);n.assign(t,{compressionMethod:ma(r,0),compressedSize:ga(r,2),uncompressedSize:ga(r,10),encryptionAlgorithm:ma(r,18),bitLength:ma(r,20),flags:ma(r,22),hashAlgorithm:ma(r,24),hashData:e.subarray(28,28+o)})}return t}(await ci(r,E+K,e)))}A==B?A=ya(i,16):A!=ya(i,16)&&ua(a,o,Fs),T==B?T=ya(i,20):T!=ya(i,20)&&ua(a,o,Fs),U==B?U=ga(i,32):U!=ga(i,32)&&ua(a,o,Fs),g==k?g=ga(i,40):g!=ga(i,40)&&ua(a,o,Fs),E=Xs(r,T)+ga(i,48)+L}}let P=g;const Y=h.offset-(v?W+Q:0);if(E>=r.size&&(L=r.size-E-g-j,E=r.size-g-j),D!=A)throw new w(ns);if(E<0)throw new w(ji);let G=0,X=await ci(r,E,g),_=Tt(X);if(g){if(X.length<4)throw new w(ji);const e=Y-g;if(E!=e&&T==A){const t=ya(_,G)==q||Boolean(I&&I.compressedSize)||Vs(_);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=ya(Tt(await ci(r,e,4)),0)==q),n){const n=E;E=e,E>n&&(L+=E-n,R=t),X=await ci(r,E,g),_=Tt(X)}}}const $=Y-E;if(g!=$&&$>=0&&T==A&&(g=$,X=await ci(r,E,g),_=Tt(X)),E<0||E>=r.size)throw new w(ji);t.directoryOffset=E,t.directoryLength=P;const ee=wa(t,e,"decryptCentralDirectory");let te,ne;if(ee&&U&&X.length>=4&&ya(_,0)!=q&&(O||Vs(_))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(I,P,X.length);ne=X.subarray(e),X=await ee(X.subarray(0,e),I),_=Tt(X),P=X.length,te=!0}I&&!te&&(X.length<4||ya(_,0)==q)&&li(o,ms),C=E;const ce=fa(t,e,"filenameEncoding"),ue=fa(t,e,"commentEncoding"),le=new u;let we,de=-1;const pe=!a&&!v;!U&&pe&&(U=Ps(_,X,G),U&&li(o,ys));for(let i=0;i<U;i++){const a=new Ns(r,t.options);if(G+J>X.length||ya(_,G)!=q){if(0==i&&!te&&(O||Vs(_)))throw new w(ss);throw new w(Xi)}qs(a,_,G+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=G+J,l=u+a.filenameLength+a.extraFieldLength,h=ma(_,G+4),m=!(h>>8),y=h>>8==3,g=ma(_,G+32),E=l+g,S=new d(X.subarray(u,E)),b=S.subarray(0,a.filenameLength),z=S.subarray(a.filenameLength+a.extraFieldLength),F=c||!ce&&po(b),A=c||!ue&&po(z),D=ya(_,G+38),R=D&M,v={readOnly:Boolean(1&R),hidden:Boolean(2&R),system:Boolean(4&R),directory:Boolean(16&R),archive:Boolean(32&R)},I=ya(_,G+42),T=wa(t,e,"decodeText")||wo,W=F?Is:ce||Ts,k=A?Is:ue||Ts;let N=T(b,W,We);if(N===fe&&(N=wo(b,W)),p){const e=p(N);e!==fe&&(N=e)}if(na(N,f)){const e=new w(as);throw e.filename=N,e}let V=T(z,k,ke);V===fe&&(V=wo(z,k)),n.assign(a,{index:i,fe:te,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,we:g,offset:I,diskNumberStart:ma(_,G+34),internalFileAttributes:ma(_,G+36),externalFileAttributes:D,msdosAttributesRaw:R,msdosAttributes:v,rawFilename:b,filenameUTF8:F,commentUTF8:A,rawExtraField:S.subarray(a.filenameLength,a.filenameLength+a.extraFieldLength),rawComment:z,filename:N,comment:V}),Gs(a,a,_,G+6)&&li(o,hs,N),a.offset+=L;const P=Xs(r,a.diskNumberStart)+a.offset;C=s.min(P,C),P<de&&li(o,ws,N),de=P,(a.version&M)>63&&li(o,ds,N),32&~a.rawBitFlag||li(o,ps,N),le.has(a.filename)&&(we=!0),le.add(a.filename);const Y=a.externalFileAttributes>>16&B;a.unixMode===fe&&16877&Y&&(a.unixMode=Y);const Z=Boolean(a.unixMode&ie),H=Boolean(a.unixMode&se),j=Boolean(512&a.unixMode),Q=40960==((a.unixMode===fe?Y:a.unixMode)&re),K=!Q&&(a.unixMode!==fe?!!(73&a.unixMode):y&&!!(73&Y)),$=a.unixMode!==fe&&(a.unixMode&re)==oe,ee=(Y&re)==oe;n.assign(a,{setuid:Z,setgid:H,sticky:j,symlink:Q,unixExternalUpper:Y,executable:K,directory:$||ee||m&&v.directory||a.filename.endsWith(ae),zipCrypto:a.encrypted&&!a.extraFieldAES});const ne=new Zi(a);if(ne.getData=(e,n)=>a.getData(e,ne,t.ie,n),ne.arrayBuffer=async e=>{const r=new x,o=Yn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await a.getData(r,ne,t.ie,n.assign({},e,{preventClose:!1})),o},G=E,i==U-1&&pe){const e=Ps(_,X,G);e&&(U+=e,li(o,ys))}const{onprogress:he}=e;if(he)try{await he(i+1,U,new Zi(a))}catch{}yield ne}let he=G,me=Ys(X.subarray(G))||(te?Ys(ne):fe);if(!me&&!te){const e=E+G,t=s.min(Y-e,65541);t>=6&&(me=Ys(await ci(r,e,t)))}me&&(t.digitalSignature=me,he=G+6+me.length),(G!=P&&he!=P||!te&&G!=g&&he!=g)&&ua(a,o,bs),we&&ua(a,o,zs);const ye=fa(t,e,"extractPrependedData"),Ee=fa(t,e,"extractAppendedData"),Se=(a||ye)&&U&&4==C&&await async function(e){const t=await _s(e);return t==V||808471376==t}(r)?4:0;return a&&(L||U&&C>Se)&&la(Es),(L||U&&C>4)&&li(o,Es),R&&li(o,Ss),ye&&(t.prependedData=C>Se?await ci(r,Se,C-Se):ge),t.comment=b?await ci(r,S+j,b):ge,Ee&&(t.appendedData=z<r.size?await ci(r,z,r.size-z):ge),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[Ee](){return this.close()}}class Bs{constructor(e={}){let r;const{readable:o,writable:i}=new x({start(e){r=e}}),s=new ks(o,e),a=s.getEntriesGenerator(),c=new u;this.readable=new A({async pull(e){const{done:t,value:r}=await a.next();if(t)return e.close();const o=function(e,t){const{readable:n,writable:r}=new x;let o;const i={cancel:async e=>{t.delete(i),await(o?o.cancel(e):n.cancel(e))}};return i.readable=new A({async pull(s){o||(o=n.getReader(),t.add(i),async function(){try{await e.getData(r,{preventClose:!1})}catch(e){try{await r.abort(e)}catch{}}finally{t.delete(i)}}());const{done:a,value:c}=await o.read();a?s.close():s.enqueue(c)},cancel:e=>i.cancel(e)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),e.enqueue(i)},async cancel(e){const n=t.from(c);c.clear(),r.error(e),await g.allSettled(n.map(t=>t.cancel(e))),await g.allSettled([a.return(),s.close()])}}),this.writable=i}}async function Ms(e,t={}){if(e=new ri(e),await si(e),e.size!==fe&&e.readUint8Array||(e=new Lo(await Yn(e.readable)),await si(e)),e.size<j)return!1;const n=ea(t,{}),r=n!=Ne,o=ra(t[Ue],n),{ue:i,le:s}=await oa(e,r,o);if(!i||n==Be&&s>1)return!1;const a=ma(Tt(i),20),c=i.offset+j+a;return e.size-c<=o}class Ns{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,o={}){const i=this,a=wt(),{reader:c,index:u,offset:l,diskNumberStart:f,extraFieldAES:d,extraFieldZip64:p,compressionMethod:h,bitFlag:m,rawBitFlag:y,crc32:g,rawLastModDate:E,uncompressedSize:S,compressedSize:b}=i,{dataDescriptor:z}=m,F=t.localDirectory={},x=t.warnings=[],A=Xs(c,f)+l,R=await ci(c,A,ce),C=Tt(R);let v=fa(i,o,Se),O=fa(i,o,be);const I=Ke(fa(i,o,ze)),T=Boolean(I),U=!0===I;if(Qe(v,O),v=v&&v.length&&v,O=O&&O.length&&O,d&&99!=d.originalCompressionMethod)throw new w(Jn);if(R.length<ce||ya(C,0)!=N)throw new w(_i);qs(F,C,4);const{extraFieldLength:L,filenameLength:W}=F,k=F.dataOffset=A+ce+W+L,B=fa(i,o,"checkLocalDirectory"),V=ea(o,i.options),Y=function(e,t){return e===fe?t!=Ne:Boolean(e)}(B,V),q=fa(i,o,"checkLocalFilename"),G=function(e,t){return e===fe?t==Be:Boolean(e)}(q===fe?B:q,V);let Z=ge;if(G&&(W||L)){const e=await ci(c,A+ce,W+L);Z=e.subarray(0,W),F.rawExtraField=e.subarray(W)}else F.rawExtraField=L?await ci(c,A+ce+W,L):ge;G&&(F.rawFilename=Z),Gs(i,F,C,4,!0)&&li(x,hs),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.fe&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||ua(s,o,As),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ua(s,o,Ds),t.compressionMethod!=e.compressionMethod&&ua(s,o,Rs),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ua(s,o,Cs)}(i,F,Z,G,Y?fe:x);const{lastAccessDate:H,creationDate:J,uid:j,gid:Q}=F;H&&(t.lastAccessDate=H),J&&(t.creationDate=J),j!==fe&&t.uid===fe&&(t.uid=j),Q!==fe&&t.gid===fe&&(t.gid=Q);const K=fa(i,o,"checkPasswordOnly"),X=i.encrypted&&F.encrypted&&(!U||K),_=X&&!d;if(U||(t.zipCrypto=_),X&&!(64&~F.rawBitFlag))throw new w(ts);const $=T?fe:Xn(h);if(0!=h&&8!=h&&9!=h&&!$&&!T)throw new w(Jn);if(X){if(!_&&(d.strength<1||d.strength>3))throw new w(ts);if(!v&&!O)throw new w(es)}if(k+b>c.size)throw new w(os);const ee=b,te=Je(fa(i,o,Fe));je(te);let ne=fa(i,o,"checkOverlappingEntry");const re=fa(i,o,"checkOverlappingEntryOnly");re&&(ne=!0);const{onstart:oe,onprogress:ie,onend:se}=o,ae=0!=h&&!T,ue=T?b-Ji(X,_,d&&d.strength):S,le=9==h;let we=fa(i,o,Ae);le&&(we=!1);const de=fa(i,o,"checkCrc32"),pe=(de===fe?fa(i,o,"checkSignature"):de)&&!T&&(!X||_||d&&1==d.vendorVersion),he={options:{codecType:xr,password:v,rawPassword:O,zipCrypto:_,encryptionStrength:d&&d.strength,checkCrc32:pe,checkAuthenticationCode:fa(i,o,"checkAuthenticationCode"),passwordVerification:_&&(z?E>>>8&M:g>>>24&M),outputSize:ue,crc32:g,compressed:ae,encrypted:X,useWebWorkers:fa(i,o,xe),useCompressionStream:we,transferStreams:fa(i,o,De),deflate64:le,format:$?$.format:fe,codecURI:$?$.codecURI:fe,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:K},config:a,D:{signal:te,size:ee,onstart:oe,onprogress:ie,onend:se}};let me,ye,Ee;ne&&await async function({reader:e,de:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,ie:l}){let f=0;if(c&&(f=u?20:12),f){const n=await ci(e,a+i,f+4),r=Tt(n);let c=n.length==f+4&&ya(r,0)==P;if(c){const e=Ks(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=Ks(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:a+i+f,de:t},{se:p,ae:h,ce:m}=l;if(!p.has(n)){const e=function(e,t){let n=0,r=e.length;for(;n<r;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],i=e[n];return o&&Qs(t,o)?o:i&&Qs(t,i)?i:void 0}(h,d)||m.find(e=>Qs(d,e));if(e){const t=new w(rs);throw t.overlappingEntry=e.de,t}p.add(n),m.push(d),m.length*m.length>h.length&&(m.sort((e,t)=>e.start-t.start),l.ae=function(e,t){const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n}(h,m),m.length=0)}}({reader:c,de:t,index:u,offset:A,crc32:g,compressedSize:b,uncompressedSize:S,dataOffset:k,dataDescriptor:z||F.bitFlag.dataDescriptor,extraFieldZip64:p||F.extraFieldZip64,ie:r});try{if(!re){K&&(e=new D),e=new oi(e),await si(e,function(e,t,n){return s.min(e,n?1032*t:t)}(ue,b,ae)),({writable:me}=e);const t=Pn(c.createReadable({offset:k,size:ee})),{outputSize:r}=await ro({readable:t,writable:me},he);if(r!=ue)throw n.assign(new w(tr),{outputSize:r});e.size+=r}}catch(t){const{outputSize:n}=he;if(n!==fe?e.size+=n:Ut(t)&&t.outputSize!==fe&&(e.size+=t.outputSize),!K||!Ut(t)||t.message!=fn)throw ye=t,Ee=!0,t}finally{if((ii(e)||!fa(i,o,Re))&&me&&!me.locked){const e=me.getWriter();if(Ee)try{await e.abort(ye)}catch{}else await e.close()}}return K||re?fe:e.getData?e.getData():me}}function Vs(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==ya(e,n))return!0;return!1}function Ps(e,t,n){let r=0;for(;n+J<=t.length&&ya(e,n)==q;)n+=J+ma(e,n+28)+ma(e,n+30)+ma(e,n+32),r++;return r%65536?0:r}function Ys(e){if(e.length>=6){const t=Tt(e);if(ya(t,0)==Y){const n=ma(t,4);if(6+n<=e.length)return new d(e.subarray(6,6+n))}}}function qs(e,t,r){const o=e.rawBitFlag=ma(t,r+2),i=!(1&~o),s=ya(t,r+6);n.assign(e,{encrypted:i,version:ma(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&ne)==ne},rawLastModDate:s,lastModDate:da(s),filenameLength:ma(t,r+22),extraFieldLength:ma(t,r+24)})}function Gs(e,t,r,o,i){const{rawExtraField:s}=t,u=t.extraField=new c,l=Tt(s);let f=0,d=!1;try{for(;f<s.length;){const e=ma(l,f),t=ma(l,f+2);u.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{d=!0}f>s.length&&(d=!0);const p=ma(r,o+4);n.assign(t,{signature:ya(r,o+10),crc32:ya(r,o+10),compressedSize:ya(r,o+14),uncompressedSize:ya(r,o+18)});const h=u.get(1);h&&(function(e,t){t.zip64=!0;const n=Tt(e.data),r=Us.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Ls[t].bytes,0);if(e.data.length<o)throw new w($i);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Ls[a];t[s]=e[s]=c.oe(n,i),i+=c.bytes}}(h,t),t.extraFieldZip64=h);const m=u.get(28789);m&&(Zs(m,fi,wi,t,e),t.extraFieldUnicodePath=m);const y=u.get(25461);y&&(Zs(y,di,pi,t,e),t.extraFieldUnicodeComment=y);const g=u.get(X);g&&g.data.length>=7?(function(e,t,r){const o=Tt(e.data),i=ha(o,4);n.assign(e,{vendorVersion:ha(o,0),vendorId:ha(o,2),strength:i,originalCompressionMethod:r,compressionMethod:ma(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=fe)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const E=u.get(13);E&&(Hs(E,t),t.extraFieldPkwareUnix=E);const S=u.get(22613);S&&(Hs(S,t),t.extraFieldUnixType1=S);const b=u.get(10);b&&(function(e,t){const r=Tt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=ma(r,i),n=ma(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=Tt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:pa(i),lastAccessDate:pa(s),creationDate:pa(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const z=u.get(te);let F;if(z&&(F=Js(z,t,!1),t.extraFieldUnix=z),!F){const e=u.get(ee);e&&(Js(e,t,!0),t.extraFieldInfoZip=e)}const x=u.get(_);x&&(function(e,t,n){if(!e.data.length)return;const r=Tt(e.data),o=ha(r,0),i=[],s=[];n?(1&~o||(i.push(Ei),s.push(Si)),2&~o||(i.push(bi),s.push(zi)),4&~o||(i.push(Fi),s.push(xi))):e.data.length>=5&&(i.push(Ei),s.push(Si));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=ya(r,c);t[n]=e[n]=new a(1e3*(0|i));const u=s[o];e[u]=i}c+=4})}(x,t,i),t.extraFieldExtendedTimestamp=x);const A=u.get($);return A&&(t.extraFieldUSDZ=A),d}function Zs(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=Tt(e.data),a=new qt;a.append(i[r]);const c=Tt(new d(4));c.setUint32(0,a.get(),!0);const u=ya(s,1),l=ha(s,0);n.assign(e,{version:l,[t]:wo(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==ya(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function Hs(e,t){if(e.data.length<8)return;const r=Tt(e.data),o={lastAccessDate:new a(1e3*(0|ya(r,0))),lastModDate:new a(1e3*(0|ya(r,4)))};e.data.length>=12&&(o.uid=ma(r,8),o.gid=ma(r,10)),n.assign(e,o),n.assign(t,o)}function Js(e,t,r){try{const o=Tt(e.data);let i,s;if(r){let t=0;const r=ha(o,t++),a=ha(o,t++);i=js(e.data.subarray(t,t+a)),t+=a;const c=ha(o,t++);s=js(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=ma(o,0),s=ma(o,2),n.assign(e,{uid:i,gid:s}));return i!==fe&&(t.uid=i),s!==fe&&(t.gid=s),i!==fe||s!==fe}catch{}}function js(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Qs(e,t){return e.start<t.end&&t.start<e.end}function Ks(e,t,n){const r=ya(e,t);let o,i;return n?(o=ga(e,t+4),i=ga(e,t+12)):(o=ya(e,t+4),i=ya(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function Xs(e,t){return e.re?e.re(t):0}async function _s(e){return ya(Tt(await ci(e,0,4)))}function $s(e){return e===Be||e===Me||e===Ne}function ea(e,t){return ta(e,ta(t,Me))}function ta(e,t){const n=e.strictness;if(n!==fe){if(!$s(n))throw new w(cs);return n}const r=e.checkAmbiguity;return r===fe?t:r?Be:t==Ne?Ne:Me}function na(e,t){if(t==Ne)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Os.test(e)||e.startsWith("/")||e.startsWith("\\")||vs.test(e))||t==Be&&(n.includes(".")||n.includes("")||e.includes("\0"))}function ra(e,t){if(e!==fe){const t=$e(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new w(ls);return t}return t==Be?0:t==Ne?1/0:B}async function oa(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,f,w]of ia(e,o)){const o=ma(n,f+20);if(w+j+o==r){const o=await aa(e,n,s,f,w,r,i);if(2==o){if(a||(a=sa(l,f,w)),u++,!t||u>1)break}else 1!=o||c||(c=sa(l,f,w))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,u,l]of ia(e,o)){const o=sa(c,u,l);i||(i=o);const f=await aa(e,t,s,u,l,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{ue:a,le:u}}async function*ia(e,t){const n=e.size-t,r=await ci(e,n,t),o=Tt(r);for(let e=r.length-j;e>=0;e--)ya(o,e)==G&&(yield[o,n,r,e,n+e])}function sa(e,t,n){return{offset:n,buffer:new d(e.subarray(t,t+j)).buffer}}async function aa(e,t,n,r,o,i,s){const a=ma(t,r+10),c=ya(t,r+12),u=ya(t,r+16);if(a==B||c==k||u==k)return await ca(e,t,n,o-Q,i,s)==H?2:0;if(!a&&!c)return 1;const l=ma(t,r+6);for(const r of[o-c,Xs(e,l)+u])if(await ca(e,t,n,r,i,s)==q)return 2;return 0}async function ca(e,t,n,r,o,i){return r<0||r+4>o?fe:r>=n?ya(t,r-n):i.count>0?(i.count--,ya(Tt(await ci(e,r,4)),0)):fe}function ua(e,t,n){e?la(n):li(t,n)}function la(e){const t=new w(is);throw t.reason=e,t}function fa(e,t,n){return t[n]===fe?e.options[n]:t[n]}function wa(e,t,n){return He(fa(e,t,n))}function da(e){const t=(4294901760&e)>>16,n=e&B,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<le?le:r}function pa(e){return new a(o(e/i(1e4)-i(116444736e5)))}function ha(e,t){return e.getUint8(t)}function ma(e,t){return e.getUint16(t,!0)}function ya(e,t){return e.getUint32(t,!0)}function ga(e,t){const n=e.getBigUint64(t,!0);if(n>Ws)throw new w(fs);return o(n)}var Ea=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:is,ERR_BAD_FORMAT:ji,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Xi,ERR_ENCRYPTED:es,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ss,ERR_ENTRY_DATA_OUT_OF_BOUNDS:os,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ki,ERR_EOCDR_NOT_FOUND:Qi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:$i,ERR_INVALID_AUTHENTICATION_CODE:ln,ERR_INVALID_COMPRESSED_DATA:nr,ERR_INVALID_CRC32:rr,ERR_INVALID_FILENAME_VALIDATION:us,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ls,ERR_INVALID_PASSWORD:un,ERR_INVALID_STRICTNESS:cs,ERR_INVALID_UNCOMPRESSED_SIZE:tr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:_i,ERR_OVERLAPPING_ENTRY:rs,ERR_SPLIT_ZIP_FILE:ns,ERR_UNSAFE_FILENAME:as,ERR_UNSUPPORTED_COMPRESSION:Jn,ERR_UNSUPPORTED_ENCRYPTION:ts,ERR_UNSUPPORTED_UINT64:fs,ERR_WORKER_STARTUP_TIMEOUT:Rr,WARNING_APPENDED_DATA:gs,WARNING_COMPRESSED_PATCHED_DATA:ps,WARNING_DUPLICATE_FILENAME:zs,WARNING_MALFORMED_EXTRA_FIELD:hs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ds,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Rs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Cs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:As,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Fs,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:xs,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ss,WARNING_PREPENDED_DATA:Es,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:bs,WARNING_UNKNOWN_VERSION:ds,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:ms,WARNING_UNSORTED_CENTRAL_DIRECTORY:ws,WARNING_WRAPPED_ENTRIES_COUNT:ys,ZipReader:ks,ZipReaderStream:Bs,isZipFile:Ms});const Sa="File already exists",ba="Zip file comment exceeds 64KB",za="Invalid zip file comment (must be a Uint8Array)",Fa="File entry comment exceeds 64KB",xa="Invalid file entry comment (must be a string)",Aa="Invalid date (must be a valid Date instance)",Da="File entry name exceeds 64KB",Ra="Version exceeds 65535",Ca="The strength must equal 1, 2, or 3",va="Encryption is not supported in USDZ files",Oa="Split zip files are not supported in USDZ files",Ia="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Ta="Invalid extra field (must be a Map)",Ua="Invalid extra field type (must be integer 0..65535)",La="Invalid extra field data (must be a Uint8Array)",Wa="Extra field data exceeds 64KB",ka=-2147483648,Ba=2147483647,Ma=i(0),Na=i("0x7fffffffffffffff"),Va="Zip64 is not supported (set the 'zip64' option to 'true')",Pa="Undefined uncompressed size",Ya="Undefined compression method",qa="Undefined CRC32",Ga="Undefined reader",Za="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Ha="Zip file not empty",Ja="Invalid uid (must be integer 0..2^32-1)",ja="Invalid gid (must be integer 0..2^32-1)",Qa="Invalid UNIX mode (must be integer 0..65535)",Ka="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Xa="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",_a="Invalid msdosAttributesRaw (must be integer 0..255)",$a="Invalid msdosAttributes (must be an object with boolean flags)",ec="Invalid level (must be integer 0..9)",tc="Signature data exceeds 64KB",nc="Invalid entry option (must be an entry returned by ZipReader#getEntries())",rc="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",oc="compression unavailable",ic="clamped last modification date",sc=new d([7,0,2,0,65,69,3,0,0]),ac="infozip",cc="unix",uc=[8,9,5,3];let lc=0;const fc=[];class wc{constructor(e,t={}){e=new oi(e);const{availableSize:r=we,maxSize:o=we}=e,i=r>0&&r!==we&&o>0&&o!==we;if(i&&t[Te])throw new w(Oa);n.assign(this,{writer:e,pe:i,options:t,he:new c,me:new u,offset:t[Ie]===fe?e.size||e.writable.size||0:t[Ie],ye:t[Ie]===fe?0:t[Ie]-(e.size||e.writable.size||0),ge:new u,Ee:[],warnings:[],Se:0,be:0,ze:fe,Fe:!1})}prependZip(e){return hc(this,async function(e,t){if(e.me.size)throw new w(Ha);await e.xe(t)}(this,e))}appendZip(e){return hc(this,this.xe(e))}async xe(e){const r=this,{ge:o,me:i,he:s}=r;for(;o.size;)await g.allSettled(t.from(o));let a;const u=new g(e=>a=e);o.add(u);const l=[];let f;try{e=new ri(e),await si(e),e.size!==fe&&e.readUint8Array||(e=new Lo(await Yn(e.readable)),await si(e));const{ZipReader:o}=await g.resolve().then(function(){return Ea}),a=new o(e),u=await a.getEntries();await a.close(),await si(r.writer);const{directoryOffset:d}=a;u.forEach(({filename:e})=>{if(i.has(e))throw new w(Sa);i.add(e),l.push(e)}),r.Ae=!0;const{De:p}=r;r.De=new g(e=>f=()=>{r.Ae=!1,e()}),await p,r.pe&&(delete r.pe,await async function(e){return Tt(await ci(e,0,4)).getUint32(0,!0)==V}(e)||(await Tc(r.writer,Oc()),r.offset+=4));const h=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>vc(n,e)-vc(n,t));let c=0;for(const t of a){const r=vc(n,t);await Rc(e,n,c,r-c),xc(i,await Cc(n,r))&&await i.closeDisk(),s.set(t,{offset:Ac(e,i),diskNumberStart:zc(i)}),c=r}await Rc(e,n,c,o-c)}else{const t=e.offset;await Rc(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+vc(n,e),diskNumberStart:0}))}return s}(r,e,u,d);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:w}=e;const{level:d,languageEncodingFlag:p,dataDescriptor:m}=i;w=Dc(w||ge),e.extraFieldAES&&(f=99);const y=jc(w),g=Boolean(l)&&l.uncompressedSize!==fe,E=Boolean(l)&&l.compressedSize!==fe,S=-7&Xc(d,p,m,a,f)|d<<1,{Re:b,Ce:z}=Qc({version:t,bitFlag:S,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,ve:E,Oe:g,extraFieldLength:y}),{crc32:F}=e;F!==fe&&Zc(z,10,F);const{offset:x,diskNumberStart:A}=h.get(e);n.assign(e,{Ie:!0,Oe:g,ve:E,offset:x,diskNumberStart:A,Te:!1,Ue:ge,Le:ge,We:ge,ke:ge,Be:ge,rawExtraField:w,Me:ge,Re:b,Ce:z}),s.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{a(),o.delete(u),f&&f()}}add(e="",r,u={}){const l=this,{ge:f}=l,p=async function(e,r,u,l){const f=(l=n.assign({},l))[Le];if(f!==fe){const{Ne:r,Ve:o}=function(e,r,o){if(null===e||typeof e!=he||t.isArray(e))throw new w(nc);const{externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,rawLastModDate:d,creationDate:p,lastAccessDate:h,uncompressedSize:m,encrypted:y,zipCrypto:g,crc32:E,compressionMethod:S,extraFieldAES:b,extraFieldUnix:z,internalFileAttributes:F,extraField:x,bitFlag:A,directory:D,uid:R,gid:C}=e,v={externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,creationDate:p,lastAccessDate:h,internalFileAttributes:F,directory:D};A&&A.languageEncodingFlag&&(v[ve]=!0);const O=function(e){if(e){const t=new c;if(e.forEach((e,n)=>{Hi.has(n)||t.set(n,e.data)}),t.size)return t}}(x);O&&(v[Ni]=O),R===fe&&C===fe||n.assign(v,{uid:R,gid:C,unixExtraFieldType:z?cc:ac});const I={};if(r&&!D)if(n.assign(I,{uncompressedSize:m,crc32:E,compressionMethod:S}),r!==Ve&&n.assign(I,{encrypted:y,zipCrypto:g,encryptionStrength:b?b.strength:fe}),A&&(I.dataDescriptor=A.dataDescriptor,I[Ce]=uc[A.level]),o===fe)I.rawLastModDate=d;else if(r!==Ve&&g&&(!A||A.dataDescriptor)&&o instanceof a&&function(e){let t=new a(2e3*s.ceil(s.floor(e.getTime()/1e3)/2));return t<le?t=le:t>ue&&(t=ue),(t.getHours()<<3|t.getMinutes()>>3)&M}(o)!=(d>>>8&M))throw new w(rc);return{Ne:v,Ve:I}}(f,Ke(Bc(e,l,ze)),Bc(e,l,Ei));delete l[Le],l=n.assign(r,o,l)}if(Bc(e,l,Wi)&&!r.endsWith(ae)&&(r+=ae),e.me.has(r))throw new w(Sa);e.me.add(r),lc<wt().maxWorkers?lc++:await new g(e=>fc.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Bc(e,r,vi),i=Bc(e,r,Ui,o?20:768);const s=Bc(e,r,ki),a=Vc(e,r,"uid"),c=Vc(e,r,"gid");let u=Vc(e,r,Vi),l=Bc(e,r,"unixExtraFieldType"),f=Bc(e,r,Pi),d=Bc(e,r,Yi),p=Bc(e,r,qi);if(_e(a,k,Ja),_e(c,k,ja),_e(u,B,Qa),l!==fe&&l!==ac&&l!==cc)throw new w(Ka);if(l===cc&&(a!==fe&&a>B||c!==fe&&c>B))throw new w(Xa);l!==fe||a===fe&&c===fe||(l=ac);let h=Vc(e,r,Ri),m=Bc(e,r,Ci);const y=h!==fe||m!==fe;if(a!==fe||c!==fe||u!==fe||l||s?(o=!1,i=i&M|768):y&&(o=!0,i&=M),_e(h,M,_a),m&&(typeof m!==he||t.isArray(m)))throw new w($a);if(i>B)throw new w(Ra);let g=Bc(e,r,Di);const E=g!==fe;E||(g=0),!r[Wi]&&n.endsWith(ae)&&(r[Wi]=!0);const S=Bc(e,r,Wi);if(S?(n.endsWith(ae)||(n+=ae),E||(g=16,o||(g|=16877<<16))):o||E||(g=s?493<<16:27525120),!o){const e=u!==fe||Boolean(f||d||p);u=u===fe?g>>16&B:u&B,f?u|=ie:f=Boolean(u&ie),d?u|=se:d=Boolean(u&se),p?u|=512:p=Boolean(512&u),E&&!e||(S?u=-61441&u|oe:u&re||(u|=32768),g=(u&B)<<16|g&B)}({msdosAttributesRaw:h,msdosAttributes:m}=function(e,t){if(e!==fe)e&=M;else if(t!==fe){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&M}return t===fe&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(h,m)),y&&(g=g&k|h&M);const b=g>>16&B,z=u!==fe&&40960==(u&re);return{name:n,Pe:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:b,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:z,setuid:f,setgid:d,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Nc(e,n,"encodeText")||Zt;let i=r(t,We);if(i===fe&&(i=Zt(t)),jc(i)>B)throw new w(Da);const s=n[di]||"";if(typeof s!=me)throw new w(xa);let c=r(s,ke);if(c===fe&&(c=Zt(s)),jc(c)>B)throw new w(Fa);const u=Bc(e,n,Ti);if(u!==fe&&u>B)throw new w(Ra);const l=Mc(e,n,Ei,new a),f=Bc(e,n,Si),d=Mc(e,n,bi),p=Mc(e,n,Fi),h=Bc(e,n,Ai,0),m=Ke(Bc(e,n,ze)),y=Boolean(m),g=!0===m,E=Bc(e,n,Se),S=Bc(e,n,be);Qe(E,S);const b=Vc(e,n,"encryptionStrength",3),z=Bc(e,n,Li),F=Bc(e,n,"extendedTimestamp",!0),x=Bc(e,n,"ntfsTimestamp"),A=Bc(e,n,"keepOrder",!0),D=Bc(e,n,xe),R=Bc(e,n,De),C=Bc(e,n,"bufferedWrite"),v=Nc(e,n,"createTempStream"),O=Bc(e,n,"dataDescriptorSignature",!0),I=Je(Bc(e,n,Fe));je(I);const T=Bc(e,n,ve,!Kc(i)||!Kc(c)),U=Bc(e,n,Bi),L=y||U===fe?fe:Xn(U);if(!y&&U!==fe&&0!==U&&8!==U&&!L)throw new w(Jn);let W=Vc(e,n,Ce);if(_e(W,9,ec),e.options[Te]){if(E!==fe||S!==fe)throw new w(va);W===fe&&U===fe&&(W=0)}y&&(W=$e(n[Ce]));let k=Bc(e,n,Ae),M=Bc(e,n,Oe);C&&M===fe&&(M=!1),(M===fe||z&&!g)&&(M=!0),W!==fe&&6!=W&&(k=!1);const N=Bc(e,n,Oi);if(!(z||E===fe&&S===fe||o.isInteger(b)&&b>=1&&b<=3))throw new w(Ca);const V=gc(n[Ni]),P=gc(n.localExtraField),Y=gc(n.centralExtraField);return{comment:s,Pe:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:d,creationDate:p,internalFileAttributes:h,Ye:y,qe:g,password:E,rawPassword:S,encryptionStrength:b,zipCrypto:z,extendedTimestamp:F,ntfsTimestamp:x,keepOrder:A,useWebWorkers:D,transferStreams:R,bufferedWrite:C,createTempStream:v,dataDescriptorSignature:O,signal:I,useUnicodeFileNames:T,compressionMethod:U,format:L?L.format:fe,codecURI:L?L.codecURI:fe,Ge:L?L.versionNeeded:fe,level:W,useCompressionStream:k,dataDescriptor:M,zip64:N,rawExtraField:V,Ze:P,Me:Y}}}(e,r,u),{comment:p}=f,h=u[Ni];e.he.set(r,fe);const m=e.ze,y={};let E,S;f.Pe.keepOrder&&(y.He=new g(e=>E=e)),e.ze=y;try{const{Pe:t}=f;0==t.level||t.compressionMethod!==fe||t.Ye||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;return!(!n||n.requiresModule)||!(!dr(t)&&(r=t,!wr(r,sr)))||!!n&&await Tr();var r}(wt())||(t.level=0,li(e.warnings,oc,r));const o=await async function(e,t,{Pe:r},o){if(r.Ye&&!t&&!Bc(e,o,Wi))throw new w(Ga);let i;if(t){if(t=new ri(t),await si(t),!t.readable&&!t.readUint8Array)throw new w(Za);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{Ye:i,qe:s,zipCrypto:a,password:c,rawPassword:u,encryptionStrength:l}=r;let{dataDescriptor:f,zip64:d,level:p,compressionMethod:h}=r,m=0,y=0,g=!1;if(i&&t){if(y=o[hi],y===fe)throw new w(Pa);if(h===fe)throw new w(Ya)}const E=!0===d,S=Bc(e,o,Ii);if(t&&s&&!S&&jc(c,u))throw new w(Ia);const b=t&&(Boolean(c&&jc(c)||u&&jc(u))||s&&S);t||(p=0,h=0);const z=Ji(b,a,l);t&&(i?(o.uncompressedSize=y,m=n===fe?Pc(y)+z:n+(s?0:z)):n===fe?(f=!0,(d||d===fe)&&(d=g=!0,m=4294967296)):(o.uncompressedSize=y=n,m=(Yc(h,p)?Pc(y):y)+z));const F=!(b||t&&(0!==n||i)||Yc(h,p));F&&Bc(e,o,Oe)===fe&&(f=!1);const x=E||g||y>=k,A=E||m>=k;if(x||A){if(!1===d)throw new w(Va);d=!0}return d=d||!1,{Je:m,Pe:{dataDescriptor:f,je:F,zip64:d,Ie:E,Qe:g,Oe:x,ve:A,uncompressedSize:y,level:p,compressionMethod:h,encrypted:b}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=Fc(e.writer),h=zc(e.writer);let b=u.crc32===fe?u[Mi]:u.crc32;const z=o.Pe.encrypted&&!t.zipCrypto;if(t.Ye&&!t.qe&&z&&(b=fe),t.Ye&&c&&!z&&b===fe)throw new w(qa);const F=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:d,directory:p,rawExtraField:h,Ze:m,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:E,Ye:S,encrypted:b,Oe:z,ve:F,uncompressedSize:x,Qe:A,crc32:D}=e;let{version:R,compressionMethod:C}=e;const v=!p&&Yc(C,c);let O;const I=S||!v,T=u&&(e.bufferedWrite||!d||!z&&!F||I&&!A),U=T||u&&d&&(z||F);if(u&&(z||F)){const e=20,t=bc(e);if(t.Ke(1),t.Ke(e-4),O=t.Xe,T&&(t._e(x),I)){const e=Ji(b,l,y);t._e(S?0:x+e)}}else O=ge;let L,W,k,M,V,P;if(b&&!l){const e=bc(jc(sc)+2);e.Ke(X),e.$e(sc),L=e.Xe,L[8]=y}else L=ge;if(g){const e=Wc(n),t=(Y=e)>=ka&&Y<=Ba;if(t){const t=9+(o?4:0)+(i?4:0),n=bc(t);M=1+(o?2:0)+(i?4:0),V=e,n.Ke(_),n.Ke(t-4),n.et(M),n.nt(e),o&&n.nt(kc(Wc(o))),i&&n.nt(kc(Wc(i))),k=n.Xe}else k=ge;if(E===fe?!t||Boolean(o||i):E)try{const e=Lc(n),t=bc(36);t.Ke(10),t.Ke(32),t.ot(4),t.Ke(1),t.Ke(24),t._e(e),t._e(o?Lc(o):e),t._e(i?Lc(i):e),W=t.Xe}catch{W=ge}else W=ge}else W=k=ge;var Y;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=ac||t===fe&&n===fe)if(r!=cc||t===fe&&n===fe)P=ge;else{const e=bc(8);e.Ke(te),e.Ke(4),e.Ke((t===fe?0:t)&B),e.Ke((n===fe?0:n)&B),P=e.Xe}else{const e=Sc(t===fe?0:t),r=Sc(n===fe?0:n),o=3+e.length+r.length,i=bc(4+o);i.Ke(ee),i.Ke(o),i.et(1),i.et(e.length),i.$e(e),i.et(r.length),i.$e(r),P=i.Xe}}catch{P=ge}C===fe&&(C=v?8:0),R===fe&&(R=0!=C||p||b?20:10);const{Ge:q}=e;v&&q!==fe&&(R=R>q?R:q),u&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,S&&D!==fe&&(L[4]=1),Gc(Tt(L),9,C),C=99);const G=U?jc(O):0,Z=G+jc(L,k,W,P,h,m);if(Z+(e[Te]?67:0)>B)throw new w(Wa);const H=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),J=H<le?le:H>ue?ue:H,j=jc(k)?new a(1e3*Wc(n)):jc(W)?n:J,{Re:Q,Ce:K,rawLastModDate:$}=Qc({version:R,bitFlag:Xc(c,f,d,b,C),compressionMethod:C,uncompressedSize:x,lastModDate:J,rawLastModDate:r,rawFilename:t,ve:F,Oe:z,extraFieldLength:Z}),ne=bc(ce+jc(t)+Z),re=ne.Xe,oe=Tt(re);return ne.nt(N),ne.$e(Q),ne.$e(t),U&&ne.$e(O),ne.$e(L),ne.$e(k),ne.$e(W),ne.$e(P),ne.$e(h),ne.$e(m),d&&(F||Zc(oe,18,0),z||Zc(oe,22,0)),{it:re,st:oe,Re:Q,Ce:K,lastModDate:j,ct:j===J&&H.getTime()!=J.getTime(),rawLastModDate:$,encrypted:b,compressed:v,version:R,compressionMethod:C,ut:M,lt:V,Ue:ge,ft:G,We:k,ke:W,Be:P,Le:L,extraFieldLength:Z}}(u=n.assign({},u,l.Pe,f.Pe,o.Pe,{signature:u[Mi],crc32:b,offset:e.offset-p,diskNumberStart:h,[Te]:e.options[Te]}));F.ct&&li(e.warnings,ic,r);const A=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=ge,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new d(s),r=Tt(o),n&&(i=4,Zc(r,0,P))),{wt:o,ht:r,yt:i}}(u),D=jc(F.it,A.wt);S=await async function(e,t,r,o,s){const{he:a,writer:c}=e,{keepOrder:u,dataDescriptor:l,je:f,signal:d}=s,{gt:p,de:h,Et:m,St:y}=o,E=e.options[Te];let S,b,z,F,A,D,R,C=h,v=0;const O=u&&m?m.He:fe;a.set(t,C);try{s.bufferedWrite||!u||e.Ae||e.Se||e.be||!l&&!f?(S=!0,e.Se++,R=s.createTempStream?await s.createTempStream():new x(fe,fe,{highWaterMark:we}),R.size=0,await si(c)):(b=!0,e.be++,R=c,await O,await I()),await si(R);const h=Fc(c);e.pe&&!S&&await Ic(e,c),E&&!S&&Ec(o,e.offset-h);const{it:m}=p;S||await T();const y=zc(c),z=Ac(e,c);if(C.diskNumberStart=y,S||(A=!0,D=c.size,await Tc(R,m)),C=await async function(e,t,{diskNumberStart:r,He:o},s,a,c){const{gt:u,bt:l,zt:f}=s,{Re:d,Ce:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:E,compressionMethod:S,Ue:b,ft:z,We:F,ut:x,lt:A,ke:D,Be:R,Le:C}=u,{wt:v}=l,{rawFilename:O,lastAccessDate:I,creationDate:T,password:U,rawPassword:L,level:W,useUnicodeFileNames:B,zip64:N,Ie:V,Oe:P,ve:Y,zipCrypto:q,dataDescriptor:G,directory:Z,executable:H,versionMadeBy:J,rawComment:j,rawExtraField:Q,Me:K,useWebWorkers:X,transferStreams:_,onstart:$,onprogress:ee,onend:te,signal:ne,encryptionStrength:re,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:se,externalFileAttributes:ae,uid:ce,gid:ue,unixMode:le,symlink:we,setuid:de,setgid:pe,sticky:he,unixExternalUpper:me,msdosAttributesRaw:ye,msdosAttributes:ge,useCompressionStream:Ee,Ye:Se,qe:be,format:ze,codecURI:Fe}=c,xe={He:o,versionMadeBy:J,zip64:N,Ie:V,directory:Boolean(Z),executable:Boolean(H),filenameUTF8:Boolean(B),rawFilename:O,commentUTF8:Boolean(B),rawComment:j,Ue:b,ft:z,We:F,ke:D,Be:R,Le:C,rawExtraField:Q,Me:K,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:se,externalFileAttributes:ae,diskNumberStart:r,uid:ce,gid:ue,unixMode:le,symlink:Boolean(we),setuid:de,setgid:pe,sticky:he,unixExternalUpper:me,msdosAttributesRaw:ye,msdosAttributes:ge};let{crc32:Ae,uncompressedSize:De}=c,Re=0;Se||(De=0);const{writable:Ce}=t;if(e){const n=e.size,r=Pn(ui(e,{size:n})),o={options:{codecType:Fr,inputSize:n,level:W,rawPassword:L,password:U,encryptionStrength:re,zipCrypto:y&&q,passwordVerification:y&&q&&m>>8&M,computeCrc32:!Se,compressed:g&&!Se,encrypted:y&&!be,useWebWorkers:X,useCompressionStream:Ee,transferStreams:_,format:ze,codecURI:Fe,compressionMethod:S},config:a,D:{signal:ne,size:n,onstart:$,onprogress:ee,onend:te}};try{const e=await ro({readable:r,writable:Ce},o);if(Re=e.outputSize,t.size+=Re,Se||(De=e.inputSize,y&&!q||(Ae=e.crc32)),!Y&&Re>=k||!P&&De>=k)throw new w(Va)}catch(e){const{outputSize:n}=o;throw n!==fe?t.size+=n:Ut(e)&&e.outputSize!==fe&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,gt:r,bt:o},{zip64:s,zipCrypto:a,Ye:c,dataDescriptor:u}){const{Ce:l,encrypted:f}=r,{ht:w,yt:d}=o;f&&!a&&!c||e===fe||(Zc(l,10,e),u&&Zc(w,d,e)),s?u&&(Hc(w,d+4,i(t)),Hc(w,d+12,i(n))):(Zc(l,14,t),Zc(l,18,n),u&&(Zc(w,d+4,t),Zc(w,d+8,n)))}({crc32:Ae,compressedSize:Re,uncompressedSize:De,gt:u,bt:l},c),G&&await Tc(t,v),n.assign(xe,{uncompressedSize:De,compressedSize:Re,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(q),size:f+Re,compressionMethod:S,version:E,Re:d,Ce:p,signature:Ae,crc32:!y||q||Se?Ae:fe,ut:x,lt:A,Oe:P,ve:Y}),xe}(r,R,C,o,wt(),s),S||(A=!1),a.set(t,C),C.filename=t,S){if(await g.all([R.writable.getWriter().close(),O]),await I(),e.pe&&await Ic(e,c),F=!0,D=c.size,await T(),C.diskNumberStart=zc(c),C.offset=Ac(e,c),E){const t=o.zt;Ec(o,e.offset-Fc(c)),C.size+=o.zt-t}!function({rawFilename:e,encrypted:t,zip64:n,ft:r,crc32:o,compressedSize:s,uncompressedSize:a,Oe:c,ve:u},l,{dataDescriptor:f,Ye:w}){if(f||((!t||w&&o!==fe)&&Zc(l,14,o),u||Zc(l,18,s),c||Zc(l,22,a)),n&&r){const t=ce+jc(e)+4;Hc(l,t,i(a)),Hc(l,t+8,i(s))}}(C,p.st,s),await Tc(c,p.it),await Uc(R.readable,c,d,e=>v+=e),c.size+=R.size,F=!1}else C.diskNumberStart=y,C.offset=z;return e.offset+=C.size,C}catch(n){if(F||A){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-D,S&&(e.offset+=v)}throw a.delete(t),n}finally{if(S&&e.Se--,b&&e.be--,y&&y(O),z&&z(),S&&R&&R.dispose)try{await R.dispose()}catch{}}async function I(){e.Ae=!0;const{De:t}=e;e.De=new g(t=>z=()=>{e.Ae=!1,t()}),await t}async function T(){xc(c,jc(p.it))&&await c.closeDisk()}}(e,r,c,{gt:F,bt:A,zt:D,de:y,Et:m,St:E},u)}catch(t){throw e.he.delete(r),t}finally{E&&E(m&&m.He)}return n.assign(S,{name:r,comment:p,extraField:h}),new Zi(S)}(e,r,u,l)}catch(t){throw e.me.delete(r),t}finally{const e=fc.shift();e?e():lc--}}(l,e,r,u);f.add(p);const h=()=>f.delete(p);return g.prototype.then.call(p,h,h),hc(l,p)}remove(e){const{me:t,he:n}=this;if(typeof e==me&&(e=n.get(e)),e&&e.filename!==fe){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ge,n={}){const r=this,{ge:o,writer:s}=this,{writable:a}=s;if(r.Fe)return pc(s);if(!(e instanceof d))throw new w(za);if(jc(e)>B)throw new w(ba);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Ee.map(e=>e.Ft));const c=r.Ee.filter(e=>e.xt&&!e.At);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.At=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{Dt:o,Rt:s}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,Le:o,rawComment:i,ke:s,Be:a,rawExtraField:c,Me:u,ut:l,lt:f,Ie:d,uncompressedSize:p,compressedSize:h}=r;let{Oe:m,ve:y}=r;d||(m&&p<k&&(m=r.Oe=!1),y&&h<k&&(y=r.ve=!1)),n=n||m||y;const g=r.offset>=k,E=r.diskNumberStart>=B;let S,b;if(g||E||m||y){const e=4+(m?8:0)+(y?8:0)+(g?8:0)+(E?4:0),t=bc(e);t.Ke(1),t.Ke(e-4),m&&t._e(p),y&&t._e(h),g&&t._e(r.offset),E&&t.nt(r.diskNumberStart),S=t.Xe}else S=ge;if(r.Ue=S,r.Ct=g,r.Te=E,f===fe)b=ge;else{const e=bc(9);e.Ke(_),e.Ke(5),e.et(l),e.nt(f),b=e.Xe}r.We=b;const z=jc(S,o,s,a,b,c,u);if(z>B)throw new w(Wa);t+=J+jc(e,i)+z}return{Dt:t,Rt:n}}(e.he),{vt:a,Ot:c,It:u}=await async function(e,n,r){const{he:o,writer:i}=e,s=new d(n);await si(i);let a=0,c=0,u=zc(i),l=Fc(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:w,Ue:d,Le:p,We:h,ke:m,Be:y,rawExtraField:g,Me:E,rawComment:S,versionMadeBy:b,Re:z,Ce:F,Oe:x,ve:A,Te:D,Ct:R,internalFileAttributes:C,externalFileAttributes:v,diskNumberStart:O,uncompressedSize:I,compressedSize:T}=n,U=jc(d,p,h,m,y,g,E),L=J+jc(w,S)+U;xc(i,a+L-c)&&(await Tc(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(u=zc(i),l=Fc(i)),x||Zc(F,18,I),A||Zc(F,14,T),(R||D)&&n.version<45&&Gc(F,0,45);const W=bc(L);if(W.nt(q),W.Ke(b),W.$e(z.subarray(0,24)),W.Ke(U),W.Ke(jc(S)),W.Ke(D?B:O),W.Ke(C),W.nt(v),W.nt(R?k:t),W.$e(w),W.$e(d),W.$e(p),W.$e(h),W.$e(m),W.$e(y),W.$e(g),W.$e(E),W.$e(S),Jc(s,W.Xe,a),a+=L,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new Zi(n))}catch{}}return await Tc(i,c?s.slice(c):s),{vt:{diskNumber:u,diskOffset:l},Ot:{diskNumber:zc(i),Tt:f},It:s}}(e,o,r),l=await async function(e,t,n){const r=Nc(e,n,"signCentralDirectory");if(r){const n=await r(t),o=jc(n);if(o>B)throw new w(tc);const i=bc(6+o);i.nt(Y),i.Ke(o),i.$e(n);const{writer:s}=e;return xc(s,jc(i.Xe))&&await s.closeDisk(),await Tc(s,i.Xe),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{vt:s,Ot:a,Ut:c,Rt:u}=r;let{Dt:l}=r,f=e.he.size,d=s.diskNumber,p=Ac(e,s);const h=jc(t);if(h>B)throw new w(ba);let m=Bc(e,n,Oi),y=zc(o);if(xc(o,(m?98:j)+h)&&y++,p>=k||l>=k||f>=B||y>=B){if(!1===m)throw new w(Va);m=!0}else m===fe&&u&&(m=!0);const g=bc(m?98:j);xc(o,jc(g.Xe)+h)&&await o.closeDisk(),y=zc(o);let E=y==a.diskNumber?a.Tt:0;m&&(g.nt(Z),g._e(44),g.Ke(45),g.Ke(45),g.nt(y),g.nt(d),g._e(E),g._e(f),g._e(l),g._e(p),g.nt(H),g.nt(y),g._e(i(Ac(e,o))+i(l)+i(c)),g.nt(y+1),Bc(e,n,"supportZip64SplitFile",!0)&&(y=B,d=B),E=B,f=B,p=k,l=k),g.nt(G),g.Ke(y),g.Ke(d),g.Ke(E),g.Ke(f),g.nt(l),g.nt(p),g.Ke(h),await Tc(o,g.Xe),h&&await Tc(o,t)}(e,n,r,{vt:a,Ot:c,Dt:o,Ut:l,Rt:s})}(r,e,n),r.Fe=!0,!ii(s)&&Bc(r,n,Re)||await a.getWriter().close(),pc(s)}[Ee](){return this.close()}}class dc extends g{then(e,t){const{Lt:n}=this;return n&&(n.At=!0),super.then(e,t)}}function pc(e){return e.getData?e.getData():e.writable}function hc(e,t){const r=new dc((e,n)=>g.prototype.then.call(t,e,n)),o={};return r.Lt=o,o.Ft=g.prototype.then.call(r,fe,e=>n.assign(o,{xt:!0,error:e})),e.Ee.push(o),r}async function mc(e,t){try{await e.writer.writable.abort(t)}catch{}}function yc(e,t,n){e.ge.add(t),t.catch(e=>{try{n(e)}catch{}})}function gc(e){if(!e)return ge;if(!(e instanceof c))throw new w(Ta);let t=0,n=0;e.forEach((e,n)=>{if(Xe(n,B,Ua),!(e instanceof d))throw new w(La);if(jc(e)>B)throw new w(Wa);t+=4+jc(e)});const r=new d(t),o=Tt(r);return e.forEach((e,t)=>{Gc(o,n,t),Gc(o,n+2,jc(e)),Jc(r,e,n+4),n+=4+jc(e)}),r}function Ec(e,t){const{gt:n}=e;let{it:r,extraFieldLength:o}=n,i=64-(t+jc(r))%64;i<4&&(i+=64);const s=new d(i),a=Tt(s);Gc(a,0,$),Gc(a,2,i-4);const c=r;n.it=r=new d(jc(c)+i),Jc(r,c),Jc(r,s,jc(c));const u=Tt(r);Gc(u,28,o+i),n.st=u,e.zt+=i}function Sc(e){const t=new d(4);Tt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function bc(e){const t=new d(e),n=Tt(t);let r=0;return{Xe:t,et:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Ke:e=>{Gc(n,r,e),r+=2},nt:e=>{Zc(n,r,e),r+=4},_e:e=>{Hc(n,r,i(e)),r+=8},$e:e=>{Jc(t,e,r),r+=jc(e)},ot:e=>r+=e}}function zc(e){const{diskNumber:t=0}=e;return t}function Fc(e){const{diskOffset:t=0}=e;return t}function xc(e,t){const{availableSize:n=we}=e;return t>n}function Ac(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.ye:0)}function Dc(e){const t=Tt(e);let n=0;for(;n+4<=jc(e);){const r=4+qc(t,n+2);if(1==qc(t,n))return Dc(Ot(e.subarray(0,n),e.subarray(s.min(n+r,jc(e)))));n+=r}return e}async function Rc(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Uc(ui(t,{offset:n,size:r}),o,fe,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Cc(e,t){const n=await ci(e,t,ce);if(jc(n)<ce)return ce;const r=Tt(n);return ce+qc(r,26)+qc(r,28)}function vc(e,{offset:t,diskNumberStart:n}){return t+(e.re?e.re(n):0)}function Oc(){const e=new d(4);return Zc(Tt(e),0,V),e}async function Ic(e,t){delete e.pe,await Tc(t,Oc()),e.offset+=4}async function Tc(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=jc(t),await r.write(t)}finally{r.releaseLock()}}async function Uc(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){await o.ready,await o.write(e),r(jc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Lc(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Ma?Ma:t>Na?Na:t}}function Wc(e){return s.floor(e.getTime()/1e3)}function kc(e){return s.min(Ba,s.max(ka,e))}function Bc(e,t,n,r){const o=t[n]===fe?e.options[n]:t[n];return o===fe?r:o}function Mc(e,t,n,r){const i=Bc(e,t,n,r);if(null===i)return r;if(i!==fe&&(typeof i.getTime!=pe||o.isNaN(i.getTime())))throw new w(Aa);return i}function Nc(e,t,n){return He(Bc(e,t,n))}function Vc(e,t,n,r){return $e(Bc(e,t,n,r))}function Pc(e){return e+5*(s.floor(e/16383)+1)}function Yc(e,t){return e===fe?t===fe||t>0:0!==e}function qc(e,t){return e.getUint16(t,!0)}function Gc(e,t,n){e.setUint16(t,n,!0)}function Zc(e,t,n){e.setUint32(t,n,!0)}function Hc(e,t,n){e.setBigUint64(t,n,!0)}function Jc(e,t,n){e.set(t,n)}function jc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Qc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,ve:c,Oe:u,extraFieldLength:l}){const f=bc(26),w=f.Xe,d=Tt(w);if(f.Ke(e),f.Ke(t),f.Ke(n),s===fe){const e=new h(1),t=Tt(e);Gc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Gc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.nt(s),f.ot(4),c||o!==fe?f.nt(c?k:o):f.ot(4),u||r!==fe?f.nt(u?k:r):f.ot(4),f.Ke(jc(a)),f.Ke(l),{Re:w,Ce:d,rawLastModDate:s}}function Kc(e){return e.every(e=>e>=32&&e<=126)}function Xc(e,t,n,r,o){let i=0;return t&&(i|=ne),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function _c(e,t){if(!e)return!1;const{supportedFormats:n}=e;return n?n.includes(t):wr(e,t)}const $c=1048576,eu=".zip.js-temp",tu=1048576,nu=1048576,ru=".zip.js-temp",ou="createSyncAccessHandle is only available in dedicated workers";try{gt({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:W&&"SCRIPT"===W.tagName.toUpperCase()&&W.src||new f("zip-legacy.min.js",b.baseURI).href})}catch{}Ct(gt),e.BlobReader=Lo,e.BlobWriter=Wo,e.Data64URIReader=class extends Oo{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Wt:e,kt:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{kt:n,Wt:r}=this,o=new d(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let u=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends Io{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Bt:""})}writeUint8Array(e){const t=this;let n,o=t.Bt;const i=t.Bt.length;for(t.Bt="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Bt+=r.fromCharCode(e[n]);o.length>2?t.data+=F(o):t.Bt=o+t.Bt}getData(){return this.data+F(this.Bt)}},e.ERR_ABORTED=Ze,e.ERR_AMBIGUOUS_ARCHIVE=is,e.ERR_BAD_FORMAT=ji,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Xi,e.ERR_DUPLICATED_NAME=Sa,e.ERR_ENCRYPTED=es,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=ss,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=os,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ki,e.ERR_EOCDR_NOT_FOUND=Qi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=$i,e.ERR_HTTP_RANGE=yo,e.ERR_HTTP_RESOURCE_CHANGED=go,e.ERR_HTTP_STATUS=mo,e.ERR_INVALID_AUTHENTICATION_CODE=ln,e.ERR_INVALID_BASE_URI=tt,e.ERR_INVALID_CODEC_DEFINITION=Gn,e.ERR_INVALID_CODEC_MODULE=Hn,e.ERR_INVALID_COMMENT=ba,e.ERR_INVALID_COMMENT_TYPE=za,e.ERR_INVALID_COMPRESSED_DATA=nr,e.ERR_INVALID_CRC32=rr,e.ERR_INVALID_DATE=Aa,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ca,e.ERR_INVALID_ENTRY=nc,e.ERR_INVALID_ENTRY_COMMENT=Fa,e.ERR_INVALID_ENTRY_COMMENT_TYPE=xa,e.ERR_INVALID_ENTRY_NAME=Da,e.ERR_INVALID_EXTRAFIELD=Ta,e.ERR_INVALID_EXTRAFIELD_DATA=Wa,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=La,e.ERR_INVALID_EXTRAFIELD_TYPE=Ua,e.ERR_INVALID_FILENAME_VALIDATION=us,e.ERR_INVALID_FUNCTION_OPTION=Pe,e.ERR_INVALID_GID=ja,e.ERR_INVALID_LEVEL=ec,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=ls,e.ERR_INVALID_MAX_WORKERS=et,e.ERR_INVALID_MSDOS_ATTRIBUTES=_a,e.ERR_INVALID_MSDOS_DATA=$a,e.ERR_INVALID_PASSWORD=un,e.ERR_INVALID_PASSWORD_TYPE=qe,e.ERR_INVALID_PASS_THROUGH_VALUE=Ge,e.ERR_INVALID_READER=Za,e.ERR_INVALID_SIGNAL=Ye,e.ERR_INVALID_SIGNATURE_DATA=tc,e.ERR_INVALID_STRICTNESS=cs,e.ERR_INVALID_UID=Ja,e.ERR_INVALID_UNCOMPRESSED_SIZE=tr,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ka,e.ERR_INVALID_UNIX_ID_SIZE=Xa,e.ERR_INVALID_UNIX_MODE=Qa,e.ERR_INVALID_URI=nt,e.ERR_INVALID_VERSION=Ra,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Eo,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=_i,e.ERR_OVERLAPPING_ENTRY=rs,e.ERR_RESERVED_COMPRESSION_METHOD=Zn,e.ERR_SPLIT_ZIP_FILE=ns,e.ERR_UNDEFINED_COMPRESSION_METHOD=Ya,e.ERR_UNDEFINED_CRC32=qa,e.ERR_UNDEFINED_READER=Ga,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Pa,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=as,e.ERR_UNSUPPORTED_COMPRESSION=Jn,e.ERR_UNSUPPORTED_CONTEXT=ou,e.ERR_UNSUPPORTED_CRYPTO_API=wn,e.ERR_UNSUPPORTED_ENCRYPTION=ts,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ia,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=va,e.ERR_UNSUPPORTED_FORMAT=Va,e.ERR_UNSUPPORTED_SPLIT_USDZ=Oa,e.ERR_UNSUPPORTED_UINT64=fs,e.ERR_WORKER_STARTUP_TIMEOUT=Rr,e.ERR_WRITER_NOT_INITIALIZED=So,e.ERR_WRITER_SIZE_NOT_WRITABLE=bo,e.ERR_ZIP_CRYPTO_LAST_MOD_DATE=rc,e.ERR_ZIP_NOT_EMPTY=Ha,e.HttpRangeReader=class extends ei{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ei,e.Reader=Oo,e.SplitDataReader=ti,e.SplitDataWriter=ni,e.TextReader=class extends Lo{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Wo{constructor(e){super(),n.assign(this,{encoding:e,Mt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Mt:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return ho(e,t,!1)}(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Oo{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Xe:e,size:e.length})}readUint8Array(e,t){return this.Xe.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Io{constructor(e){super(),this.Nt=e||262144}init(e=0){n.assign(this,{offset:0,Xe:new d(e>0?e:this.Nt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Xe.length){let e=t.Xe.length?2*t.Xe.length:t.Nt;for(;e<n;)e*=2;const r=t.Xe;t.Xe=new d(e),t.Xe.set(r)}t.Xe.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Xe.length?this.Xe:this.Xe.slice(0,this.offset)}},e.VERSION="2.16.0",e.WARNING_APPENDED_DATA=gs,e.WARNING_CLAMPED_LAST_MODIFICATION_DATE=ic,e.WARNING_COMPRESSED_PATCHED_DATA=ps,e.WARNING_COMPRESSION_UNAVAILABLE=oc,e.WARNING_DUPLICATE_FILENAME=zs,e.WARNING_MALFORMED_EXTRA_FIELD=hs,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ds,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Rs,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Cs,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=As,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Fs,e.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=xs,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Ss,e.WARNING_PREPENDED_DATA=Es,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=bs,e.WARNING_UNKNOWN_VERSION=ds,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=ms,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=ws,e.WARNING_WRAPPED_ENTRIES_COUNT=ys,e.Writer=Io,e.ZipReader=ks,e.ZipReaderStream=Bs,e.ZipWriter=wc,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new x;this.readable=t,this.zipWriter=new wc(n,e),this.ge=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new x({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await mc(t,e)}}()}});return yc(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new x({start(e){t=e}});return yc(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await g.allSettled(t.from(this.ge))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await mc(r,e),e}try{return await r.close(e,n)}catch(e){throw await mc(r,e),e}}},e.configure=function(e){n.assign(ft,ht(yt(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=tu}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new D({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new x;r=Yn(t.readable),n=t.writable.getWriter(),s=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new A({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=$c,directoryName:r=eu,getDirectory:o=()=>v.storage.getDirectory()}=e;let i;function s(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,u=!1;const l=new D({async write(a){u?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new A({async pull(t){if(u){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=nu,directoryName:r=ru,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(ou);const i=o||(()=>v.storage.getDirectory());let a;function c(){return a||(a=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,u=0,l=0;const f=new D({async write(s){a?(o.write(s,{at:u}),u+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let w=0;return{writable:f,readable:new A({pull(t){if(a){const e=u-l;if(e<=0)return void t.close();const n=new d(s.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=_n,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=wt(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:_c(n,or)||_c(e,or)||_c(e,sr),decompression:_c(r,or)||_c(t,or)||_c(t,sr),registered:!1},{compressionMethod:9,compression:!1,decompression:_c(r,ir)||_c(t,ir),registered:!1}];for(const e of _n()){const t=$n(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==pe:fe,decompression:t?typeof t.DecompressionStream==pe:fe,registered:!0})}return o},e.isZipFile=Ms,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>B||typeof n!=me||!n.length)throw new w(Gn);if(jn.includes(t))throw new w(Zn);const c=typeof i==pe||typeof s==pe;if(!(c||typeof r==me&&r.length))throw new w(Gn);Qn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&er(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of lt)delete ft[e];n.assign(ft,ot)},e.terminateWorkers=async function(){await g.allSettled([ao(),..._r.map(e=>(lo(e),e.terminate()))]),Cr=fe,vr=!1},e.unregisterCodec=function(e){const t=Qn.get(e);if(t){let n;Qn.delete(e),Qn.forEach(e=>n=n||e.format==t.format),n||Kn.delete(t.format)}}});
1
+ !function(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:n,String:r,Number:o,BigInt:i,Math:a,Date:s,Map:c,Set:u,Response:l,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:b,document:F,crypto:E,btoa:D,TransformStream:x,ReadableStream:A,WritableStream:z,CompressionStream:v,DecompressionStream:C,navigator:R,Worker:T,Symbol:O,setTimeout:I,clearTimeout:N,structuredClone:U}="undefined"!=typeof globalThis?globalThis:self;var k=void 0!==F?F.currentScript:null;const M=4294967295,L=65535,W=255,B=67324752,P=134695760,V=P,Z=84233040,Q=33639248,H=101010256,j=101075792,q=117853008,K=46,X=22,J=20,G=56,Y=39169,_=21589,$=6534,ee=30837,te=30805,ne=2048,re=61440,oe=16384,ie=2048,ae=1024,se="/",ce=30,ue=new s(2107,11,31,23,59,58),le=new s(1980,0,1),fe=void 0,we=1/0,de="undefined",pe="function",he="object",me="string",ye="boolean",ge=new d,Se=O.asyncDispose||O(),be="password",Fe="rawPassword",Ee="passThrough",De="signal",xe="useWebWorkers",Ae="useCompressionStream",ze="transferStreams",ve="preventClose",Ce="level",Re="useUnicodeFileNames",Te="dataDescriptor",Oe="offset",Ie="usdz",Ne="maxAppendedDataSize",Ue="entry",ke="filename",Me="comment",Le="strict",We="balanced",Be="tolerant",Pe="compressed",Ve="Invalid option (must be a function)",Ze="Invalid signal (must be an AbortSignal instance)",Qe="Invalid password (password must be a string, rawPassword must be a Uint8Array)",He="Invalid passThrough option (must be a boolean or 'compressed')",je="The operation was aborted";function qe(e){if(e&&typeof e!=pe)throw new w(Ve);return e}function Ke(e){if(e&&(typeof e.addEventListener!=pe||typeof e.aborted!=ye))throw new w(Ze);return e||fe}function Xe(e){if(e&&e.aborted)throw e.reason===fe?new DOMException(je,"AbortError"):e.reason}function Je(e,t){if(e&&typeof e!=me||t&&!(t instanceof d))throw new w(Qe)}function Ge(e){if(e!==fe&&typeof e!=ye&&e!==Pe)throw new w(He);return e}function Ye(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new w(n)}function _e(e,t,n){e!==fe&&Ye(e,t,n)}function $e(e){return typeof e==me&&e.trim()?o(e):e}const et="Invalid maxWorkers (must be an integer greater than 0)",tt="Invalid baseURI (must be a string)",nt="Invalid URI (must be a string or a function returning a string)";let rt=2;try{typeof R!=de&&R.hardwareConcurrency&&(rt=R.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof v!=de&&v,DecompressionStream:typeof C!=de&&C},it="maxWorkers",at="baseURI",st=["wasmURI","workerURI"],ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ut=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=[at,...st,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ut],ft={...ot};function wt(){return ft}function dt(e){return pt(e.chunkSize)}function pt(e){return e=$e(e),o.isInteger(e)&&e>=1?a.max(e,64):65536}function ht(e){const t={};for(const n of lt){const r=e[n];r!==fe&&(t[n]=mt(n,r))}return t}function mt(e,t){if(ct.includes(e)){if(t=$e(t),e==it&&(!o.isInteger(t)||t<1))throw new w(et)}else if(ut.includes(e))qe(t);else if(e==at){if(t&&typeof t!=me)throw new w(tt)}else if(st.includes(e)&&t&&typeof t!=me&&typeof t!=pe)throw new w(nt);return t}function yt(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===fe&&r===fe)return e;const o=n.assign({},e);return o.CompressionStreamFallback===fe&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===fe&&(o.DecompressionStreamFallback=r),o}function gt(e){const t=ht(yt(e));n.assign(ot,t),n.assign(ft,t)}const St=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],bt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ft=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Et=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Dt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],xt=new d(288);xt.fill(8,0,144),xt.fill(9,144,256),xt.fill(7,256,280),xt.fill(8,280,288);const At=new d(30).fill(5);function zt(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ct=(Rt=()=>function(e){let t=0,n=0,r=0,o=new d(1024),i=0,a=0;for(;!a;){a=c(1);const e=c(2);if(0==e)u();else if(1==e)l(zt(xt),zt(At));else{if(2!=e)throw new w("invalid deflate block type");l(...f())}}return o.subarray(0,i);function s(){if(t>=e.length)throw new w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=s()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=s()|s()<<8;t+=2,h(i+e);for(let t=0;t<e;t++)o[i++]=s()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)h(i+1),o[i++]=n;else{const e=n-257,r=St[e]+c(bt[e]),a=p(t),s=Ft[a]+c(Et[a]);h(i+r);const u=i-s;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[Dt[e]]=c(3);const o=zt(r),i=new d(e+t);let a=0;for(;a<i.length;){const e=p(o);if(e<16)i[a++]=e;else if(16==e){const e=i[a-1];let t=c(2)+3;for(;t--;)i[a++]=e}else a+=17==e?c(3)+3:c(7)+11}return[zt(i.subarray(0,e)),zt(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const a=t[e];if(r-o<a)return n[i+(r-o)];i+=a,o=o+a<<1,r<<=1}throw new w("invalid huffman code")}function h(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new d(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=vt.indexOf(e[r])<<18|vt.indexOf(e[r+1])<<12|(63&vt.indexOf(e[r+2]))<<6|63&vt.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=Rt();if("string"==typeof n&&(n=(new S).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=vt[n>>18&63]+vt[n>>12&63]+vt[n>>6&63]+vt[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=vt[n>>18&63]+vt[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=vt[n>>18&63]+vt[n>>12&63]+vt[n>>6&63]+"="}return t}(n)}}));var Rt;function Tt(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Ot(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function It(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function Nt(e){return Boolean(e)&&"object"==typeof e}const Ut=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;Ut[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Ut[t-1][e];Ut[t][e]=n>>>8^Ut[0][255&n]}const[kt,Mt,Lt,Wt,Bt,Pt,Vt,Zt]=Ut;class Qt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=Zt[255&e]^Vt[e>>>8&255]^Pt[e>>>16&255]^Bt[e>>>24&255]^Wt[255&n]^Lt[n>>>8&255]^Mt[n>>>16&255]^kt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^kt[255&(t^e[r])];this.l=t}get(){return~this.l}}class Ht extends x{constructor(){let e;const t=new Qt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function jt(e){if(typeof S==de){e=unescape(encodeURIComponent(e));const t=new d(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new S).encode(e)}const qt=64,Kt=20,Xt=new d([128]),Jt=new d(1),Gt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Yt=new d(256),_t=new Int32Array(256),$t=new Int32Array(256),en=new Int32Array(256),tn=new Int32Array(256);let nn=!1;function rn(e){const t=function(){const e=new Int32Array(Gt),t=new Int32Array(16),n=new d(qt),r=new m(n.buffer),o=new d(8);let i=0,s=0;return{update:c,digest:function(){const t=8*s,n=a.floor(t/4294967296),r=t>>>0;for(c(Xt,0,1);56!=i;)c(Jt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(Kt),l=new m(u.buffer);for(let t=0;t<e.length;t++)l.setInt32(4*t,e[t]);return e.set(Gt),i=0,s=0,u}};function c(e,t,o){const a=t+o;if(s+=o,i){for(;t<a&&i<qt;)n[i++]=e[t++];i==qt&&(u(r,0),i=0)}if(t+qt<=a){const n=new m(e.buffer,e.byteOffset,e.byteLength);for(;t+qt<=a;t+=qt)u(n,t)}for(;t<a;)n[i++]=e[t++]}function u(n,r){for(let e=0;e<16;e++)t[e]=n.getInt32(r+4*e);let o,i=e[0],a=e[1],s=e[2],c=e[3],u=e[4];for(let e=0;e<15;e+=5)u=(i<<5|i>>>27)+((s^c)&a^c)+u+1518500249+t[e]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^s)&i^s)+c+1518500249+t[e+1]|0,i=i<<30|i>>>2,s=(c<<5|c>>>27)+((i^a)&u^a)+s+1518500249+t[e+2]|0,u=u<<30|u>>>2,a=(s<<5|s>>>27)+((u^i)&c^i)+a+1518500249+t[e+3]|0,c=c<<30|c>>>2,i=(a<<5|a>>>27)+((c^u)&s^u)+i+1518500249+t[e+4]|0,s=s<<30|s>>>2;u=(i<<5|i>>>27)+((s^c)&a^c)+u+1518500249+t[15]|0,a=a<<30|a>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((a^s)&i^s)+c+1518500249+o|0,i=i<<30|i>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,s=(c<<5|c>>>27)+((i^a)&u^a)+s+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,a=(s<<5|s>>>27)+((u^i)&c^i)+a+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,i=(a<<5|a>>>27)+((c^u)&s^u)+i+1518500249+o|0,s=s<<30|s>>>2;for(let e=20;e<40;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(a^s^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^a^s)+c+1859775393+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,s=(c<<5|c>>>27)+(u^i^a)+s+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(s<<5|s>>>27)+(c^u^i)+a+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(a<<5|a>>>27)+(s^c^u)+i+1859775393+o|0,s=s<<30|s>>>2;for(let e=40;e<60;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(a&s|(a|s)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i&a|(i|a)&s)+c+2400959708+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,s=(c<<5|c>>>27)+(u&i|(u|i)&a)+s+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(s<<5|s>>>27)+(c&u|(c|u)&i)+a+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(a<<5|a>>>27)+(s&c|(s|c)&u)+i+2400959708+o|0,s=s<<30|s>>>2;for(let e=60;e<80;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(a^s^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^a^s)+c+3395469782+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,s=(c<<5|c>>>27)+(u^i^a)+s+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(s<<5|s>>>27)+(c^u^i)+a+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(a<<5|a>>>27)+(s^c^u)+i+3395469782+o|0,s=s<<30|s>>>2;e[0]=e[0]+i|0,e[1]=e[1]+a|0,e[2]=e[2]+s|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}}(),n=new d(qt),r=new d(qt);e.length>qt&&(t.update(e,0,e.length),e=t.digest());for(let t=0;t<qt;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,qt),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,qt),t.update(e,0,Kt);const o=t.digest();return t.update(n,0,qt),o}}}function on(e){return Yt[e>>>24]<<24|Yt[e>>>16&255]<<16|Yt[e>>>8&255]<<8|Yt[255&e]}function an(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function sn(e){return 255&(e<<1^27*(e>>7))}const cn=typeof E!=de&&typeof E.getRandomValues==pe,un="Invalid password",ln="Invalid authentication code",fn="zipjs-abort-check-password",wn="Crypto API not supported";function dn(e){if(cn)return E.getRandomValues(e);throw new w(wn)}const pn={name:"PBKDF2"},hn=n.assign({hash:{name:"HMAC"}},pn),mn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},pn),yn=["deriveBits"],gn=[8,12,16],Sn=[16,24,32],bn=10,Fn=typeof E!=de,En=Fn&&E.subtle;let Dn=Fn&&typeof En!=de&&typeof En.importKey==pe&&typeof En.deriveBits==pe;class xn extends x{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){const i={};super({start(){zn(i,e,t,n)},async transform(e,t){const{password:n,strength:o,h:a,ready:s}=i;if(n?(await async function(e,t,n,r){const o=await Tn(e,t,n,In(r,0,gn[t])),i=In(r,gn[t]);if(o[0]!=i[0]||o[1]!=i[1])throw Rn(e),new w(un)}(i,o,n,In(e,0,gn[o]+2)),e=In(e,gn[o]+2),r?(Rn(i),t.error(new w(fn))):a()):await s,i.m)return;const c=new d(e.length-bn-(e.length-bn)%16);t.enqueue(Cn(i,e,c,0,bn,!0))},async flush(e){const{S:t,F:n,ready:r}=i;if(t){if(await r,i.m)return;const a=In(n,n.length-bn),s=new d(In(n,0,n.length-bn));t.process(s,!0);const c=t.digest();let u=n.length<bn?1:0;for(let e=0;e<bn;e++)u|=c[e]^a[e];if(u&&o)return void e.error(new w(ln));e.enqueue(s)}}}),vn(this,i)}}class An extends x{constructor({password:e,rawPassword:t,encryptionStrength:n}){const r={};super({start(){zn(r,e,t,n)},async transform(e,t){const{password:n,strength:o,h:i,ready:a}=r;let s=ge;if(n?(s=await async function(e,t,n){const r=dn(new d(gn[t]));return Tt(r,await Tn(e,t,n,r))}(r,o,n),i()):await a,r.m)return;const c=new d(s.length+e.length-e.length%16);c.set(s,0),t.enqueue(Cn(r,e,c,s.length,0,!1))},async flush(e){const{S:t,F:n,ready:o}=r;if(t){if(await o,r.m)return;const i=new d(n);t.process(i,!1);const a=In(t.digest(),0,bn);e.enqueue(Tt(i,a))}}}),vn(this,r)}}function zn(e,t,r,o){n.assign(e,{ready:new g(t=>e.h=t),password:On(t,r),strength:o-1,F:ge,m:!1})}function vn(e,t){const r=e.readable.getReader(),o=new A({async pull(e){try{const{value:t,done:n}=await r.read();n?e.close():e.enqueue(t)}catch(e){throw Rn(t),r.cancel(e).catch(()=>{}),e}},cancel:e=>(Rn(t),r.cancel(e))});n.defineProperty(e,"readable",{get:()=>o})}function Cn(e,t,n,r,o,i){const{S:a,F:s}=e;s.length&&(t=Tt(s,t));const c=t.length-o,u=c-c%16;if(n=function(e,t){if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e}(n,r+u),u){const e=In(n,r,r+u);e.set(In(t,0,u)),a.process(e,i)}return e.F=In(t,u),n}function Rn(e){const{S:t}=e;e.m=!0,t&&t.dispose&&t.dispose()}async function Tn(e,t,r,o){e.password=null;const i=Sn[t],s=await async function(e,t,r){if(Dn)try{const o=await En.importKey("raw",e,hn,!1,yn);return new d(await En.deriveBits(n.assign({salt:t},mn),o,8*r))}catch{Dn=!1}return function(e,t,n,r){const o=rn(e),i=new d(r),s=new d(t.length+4),c=new m(s.buffer);s.set(t);for(let e=1,n=0;n<r;e++,n+=Kt){c.setUint32(t.length,e),o.update(s,0,s.length);let u=o.digest();const l=u.slice();for(let e=1;e<1e3;e++){o.update(u,0,Kt),u=o.digest();for(let e=0;e<Kt;e++)l[e]^=u[e]}i.set(l.subarray(0,a.min(Kt,r-n)),n)}return i}(e,t,0,r)}(r,o,2*i+2);return e.S=function(e,t){!function(){if(!nn){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Yt[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Yt[0]=99;for(let e=0;e<256;e++){const t=Yt[e],n=sn(t),r=n<<24|t<<16|t<<8|n^t;_t[e]=r,$t[e]=r>>>8|r<<24,en[e]=r>>>16|r<<16,tn[e]=r>>>24|r<<8}nn=!0}}();const n=new Int32Array(60),r=function(e,t){const n=e.length>>2,r=n+6,o=4*(r+1);let i=1;for(let r=0;r<n;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;e<o;e++){let r=t[e-1];e%n==0?(r=on(r<<8|r>>>24)^i<<24,i=sn(i)):n>6&&e%n==4&&(r=on(r)),t[e]=t[e-n]^r}return r}(e,n),o=new Int32Array(4),i=rn(t);let a=0,s=0,c=0,u=0;return{process(e,t){t&&i.update(e,0,e.length),function(e){const t=new m(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;r+16<=n;r+=16)l(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(r<n){l();for(let t=0;r<n;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}}(e),t||i.update(e,0,e.length)},digest:()=>i.digest()};function l(){a=a+1|0,a||(s=s+1|0,s||(c=c+1|0,c||(u=u+1|0)));let e=an(a)^n[0],t=an(s)^n[1],i=an(c)^n[2],l=an(u)^n[3],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[4],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[5],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[6],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[7];e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[8],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[9],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[10],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[11],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[12],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[13],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[14],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[15],e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[16],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[17],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[18],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[19],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[20],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[21],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[22],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[23],e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[24],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[25],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[26],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[27],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[28],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[29],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[30],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[31],e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[32],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[33],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[34],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[35],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[36],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[37],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[38],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[39];let h=40;r>10&&(e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[40],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[41],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[42],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[43],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[44],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[45],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[46],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[47],h=48),r>12&&(e=_t[f>>>24]^$t[w>>>16&255]^en[d>>>8&255]^tn[255&p]^n[48],t=_t[w>>>24]^$t[d>>>16&255]^en[p>>>8&255]^tn[255&f]^n[49],i=_t[d>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&w]^n[50],l=_t[p>>>24]^$t[f>>>16&255]^en[w>>>8&255]^tn[255&d]^n[51],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[52],w=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[53],d=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[54],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[55],h=56),o[0]=(Yt[f>>>24]<<24|Yt[w>>>16&255]<<16|Yt[d>>>8&255]<<8|Yt[255&p])^n[h],o[1]=(Yt[w>>>24]<<24|Yt[d>>>16&255]<<16|Yt[p>>>8&255]<<8|Yt[255&f])^n[h+1],o[2]=(Yt[d>>>24]<<24|Yt[p>>>16&255]<<16|Yt[f>>>8&255]<<8|Yt[255&w])^n[h+2],o[3]=(Yt[p>>>24]<<24|Yt[f>>>16&255]<<16|Yt[w>>>8&255]<<8|Yt[255&d])^n[h+3]}}(In(s,0,i),In(s,i,2*i)),e.m&&Rn(e),In(s,2*i)}function On(e,t){return t===fe?jt(e):t}function In(e,t,n){return e.subarray(t,n)}class Nn extends x{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){kn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Mn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(un);e=e.subarray(12)}r?t.error(new w(fn)):t.enqueue(Mn(n,e))}})}}class Un extends x{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){kn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=dn(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(Ln(n,t),0),o=12}else r=new d(e.length),o=0;r.set(Ln(n,e),o),t.enqueue(r)}})}}function kn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{D:o,A:new Qt(o[0]),v:new Qt(o[2])}),r)for(let t=0;t<r.length;t++)Wn(e,r[t]);else for(let n=0;n<t.length;n++)Wn(e,t.charCodeAt(n))}(e,t,r)}function Mn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=Bn(e)^t[r],Wn(e,n[r]);return n}function Ln(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=Bn(e)^t[r],Wn(e,t[r]);return n}function Wn(e,t){let[,n]=e.D;e.A.append([t]);const r=~e.A.get();n=Vn(a.imul(Vn(n+Pn(r)),134775813)+1),e.v.append([n>>>24]);const o=~e.v.get();e.D=[r,n,o]}function Bn(e){const t=2|e.D[2];return Pn(a.imul(t,1^t)>>>8)}function Pn(e){return 255&e}function Vn(e){return 4294967295&e}function Zn(e){if(e instanceof A)return e;const t=e.getReader();return new A({async pull(e){try{const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)}catch(e){throw t.cancel(e).catch(()=>{}),e}},cancel:e=>t.cancel(e)})}function Qn(e,t){e=Zn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=pe||new y([]).stream()instanceof A)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new z({write(e){r.push(e)}})).then(()=>new y(r,n))}function Hn(e){if(e instanceof z)return e;const t=e.getWriter();return new z({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const jn="Invalid codec definition",qn="Reserved compression method",Kn="Invalid codec module",Xn="Compression method not supported",Jn=[0,8,9,99],Gn=new c,Yn=new c;function _n(e){return Gn.get(e)}function $n(){return t.from(Gn.values(),e=>n.assign({},e,Yn.get(e.format)))}function er(e){return Yn.get(e)}function tr(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=pe&&typeof r!=pe)throw new w(Kn);Yn.set(e,{CompressionStream:n,DecompressionStream:r})}const nr="Invalid uncompressed size",rr="Invalid compressed data",or="Codec out of memory",ir="Invalid CRC32",ar="deflate-raw",sr="deflate64-raw",cr="gzip",ur=[31,139,8];class lr extends x{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:a,zipCrypto:s,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:w,inputSize:d}=e,p=this;let h,y,g,S=super.readable;const b=f&&er(f),F=gr(a,r,n),E=c&&o&&!l&&!b&&(!i||s)&&Boolean(F);if(i&&!s||!c||E||(h=new Ht,S=br(S,h)),o)if(b)S=Fr(S,yr(b.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:w,uncompressedSize:d}));else if(E)g=new fr,S=Fr(S,new F(cr,{level:u,chunkSize:t})),S=br(S,g);else try{S=Sr(S,a,{level:u,chunkSize:t},r,n)}catch(e){if(!a&&n)throw zr(e);let t;try{t=new r(cr)}catch{throw zr(e)}S=Fr(S,t),S=br(S,new fr)}i&&(s?S=br(S,new Un(e)):(y=new An(e),S=br(S,y))),mr(p,S,()=>{i&&!s||!c||(p.crc32=E?g.crc32:new m(h.value.buffer).getUint32(0))})}}class fr extends x{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=a.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=Tt(n,e));const i=o-8,s=a.min(i,n.length);r.enqueue(Tt(n.subarray(0,s),e.subarray(0,i-s))),n=Tt(n.subarray(s),e.subarray(i-s))},flush(){const t=It(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class wr extends x{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:a,crc32:s,compressed:c,useCompressionStream:l,deflate64:f,format:p,compressionMethod:h,rawBitFlag:y,outputSize:S}=e;let b,F,E,D=super.readable;if(i&&(o?D=br(D,new Nn(e)):(F=new xn(e),D=br(D,F))),c){const e=new u,o=p&&er(p);let i;if(o)D=Fr(D,yr(o.DecompressionStream,p,{chunkSize:t,compressionMethod:h,rawBitFlag:y,uncompressedSize:S}),e);else{const o=gr(l,r,n);if(a&&!f&&s!==fe&&S!==fe&&o)try{i=new o(cr,{chunkSize:t})}catch{i=fe}if(!i)try{D=Sr(D,l,{chunkSize:t,deflate64:f},r,n,e)}catch(e){if(f||S===fe||!l&&n)throw zr(e);try{i=new r(cr)}catch{throw zr(e)}}}i?(E=!0,D=function(e,t,n,r,o){const i=t.writable.getWriter(),a=t.readable.getReader(),s=r===fe?new Qt:fe;let c,u,l=0,f=!1,p=!1;const h=new A({start(e){u=e},pull(){S()},cancel:e=>(p=!0,S(),a.cancel(e))});return async function(){const t=e.getReader();try{const e=new d(10);for(e.set(ur),await i.write(e);;){await y(),await i.ready;const{value:e,done:n}=await xr(t,o);if(n)break;await i.write(e)}s&&await i.write(new d(0));const a=new d(8),c=It(a);c.setUint32(0,s?s.get():r,!0),c.setUint32(4,n,!0),f=!0,await i.write(a),await i.close()}catch(e){await Er(i,e),await Dr(t,e)}}(),async function(){try{for(;;){const{value:e,done:t}=await m();if(t)break;if(l+=e.length,l>n)throw new w(nr);s&&s.append(e),u.enqueue(e)}p||(p=!0,u.close())}catch(e){!function(e){p||(p=!0,u.error(e),S())}(e),await Dr(a,e)}}(),h;function m(){return a.read().catch(e=>{if(f){if(!s)throw Cr(e,ir);if(l!=n)throw Cr(e,nr);return{done:!0}}throw Ar(e,o)})}function y(){if(!p&&u.desiredSize<=0)return new g(e=>c=e)}function S(){if(c){const e=c;c=fe,e()}}}(D,i,S,s,e)):D=function(e,t){const n=e.getReader();return new A({async pull(e){try{const{value:t,done:r}=await n.read();r?e.close():e.enqueue(t)}catch(e){throw await Dr(n,e),Ar(e,t)}},cancel:e=>n.cancel(e)})}(D,e)}a&&!E&&(b=new Ht,D=br(D,b)),mr(this,D,()=>{if(b){const e=new m(b.value.buffer).getUint32(0,!1);if(s!=e)throw new w(ir)}})}}const dr=new c;function pr(e,t){if(!e)return!1;let n=dr.get(e);n||(n=new c,dr.set(e,n));let r=n.get(t);if(r===fe){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function hr(e){return pr(e,ar)}function mr(e,t,r){t=br(t,new x({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function yr(e,t,n){if(!e)throw new w(Xn);return new e(t,n)}function gr(e,t,n){return e&&t?t:n&&n.requiresModule?n:void 0}function Sr(e,t,n,r,o,i){const a=t&&r?r:o||r,s=n.deflate64?sr:ar;let c;try{c=new a(s,n)}catch(e){if(!t||!o||a==o)throw e;c=new o(s,n)}return Fr(e,c,i)}function br(e,t){return Zn(e).pipeThrough(t)}function Fr(e,t,n){const r=t.writable.getWriter(),o=e.getReader();return async function(){try{for(;;){await r.ready;const e=await xr(o,n);if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await Er(r,e),await Dr(o,e)}}(),t.readable}async function Er(e,t){try{await e.abort(t)}catch{}}async function Dr(e,t){try{await e.cancel(t)}catch{}}function xr(e,t){const n=e.read();return t?n.catch(e=>{throw t.add(e),e}):n}function Ar(e,t){return t.has(e)?e:Cr(e,vr(e)?or:rr)}function zr(e){return vr(e)?Cr(e,or):e}function vr(e){return Nt(e)&&"Z_MEM_ERROR"==e.code}function Cr(e,t){const n=new w(t);return n.cause=e,n}const Rr="data",Tr="deflate",Or="inflate";class Ir extends x{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Tr)?i=lr:o.startsWith(Or)&&(i=wr),r.outputSize=0;let a=0;const s=new i(e,t),c=super.readable,u=new x({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:a})}}),l=new x({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==fe&&r.outputSize>e.outputSize))throw new w(nr)},flush(){const{crc32:e}=s;n.assign(r,{crc32:e,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(s).pipeThrough(l)})}}class Nr extends x{constructor(e){const t=[];let r=0,i=0;function a(){const n=new d(e);let o=0;for(;o<e;){const r=t[0],i=e-o;r.length<=i?(n.set(r,o),o+=r.length,t.shift()):(n.set(r.subarray(0,i),o),t[0]=r.subarray(i),o+=i)}return r-=e,n}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)i+=e,o.enqueue(a())},flush(e){r&&(i+=r,e.enqueue(function(e,t){const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const Ur="Worker startup timeout";let kr,Mr,Lr,Wr=()=>{};async function Br(){if(Wr)try{return await void 0,!0}catch{}return!1}function Pr(e){e.createWorker?Mr=!0:kr=!1}class Vr{constructor(e,{readable:t,writable:r},o,i){const{options:a,config:s,C:c,useWebWorkers:u,transferStreams:l,workerURI:f}=o;let{createWorker:w}=o;const{signal:d}=c;return Mr&&(w=fe),n.assign(e,{R:!0,T:(e.T||0)+1,readable:t.pipeThrough(new Nr(dt(s))).pipeThrough(new Zr(c),{signal:d}),writable:r,options:n.assign({},a),O:o,workerURI:f,createWorker:w,transferStreams:l,terminate:()=>new g(t=>{const{I:n,R:r}=e;r?(e.N=e.N||[],e.N.push(t)):(n&&(n.terminate(),e.I=null),t()),e.U=null}),M(){if(e.R){const{N:t,I:n}=e;t&&(e.N=null,n&&(e.L=!0,n.terminate())),e.R=!1;const r=i(e);t&&t.forEach(e=>e(r))}}}),kr===fe&&(kr=typeof T!=de),(u&&Lr&&(kr&&f||w)?Lr:Hr)(e,s)}}class Zr extends x{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Qr(e,n)},async transform(e,r){o+=e.length,t&&await Qr(t,o,n),r.enqueue(e)},async flush(){r&&await Qr(r,o)}})}}async function Qr(e,...t){try{await e(...t)}catch{}}function Hr(e,t){return{run:()=>jr(e,t)}}async function jr({options:e,readable:t,writable:n,M:r,O:o},i){let a,s,c;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Tr),n=t?i.CompressionStreamFallback:i.DecompressionStreamFallback,r=t?i.CompressionStream:i.DecompressionStream;e.useCompressionStream?n&&n.requiresModule&&!hr(r)&&await u():await u()||n&&!n.requiresModule||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await u(),a=new Ir(e,i),s=new Nr(dt(i));const{signal:r}=o.C;await t.pipeThrough(a).pipeThrough(s).pipeTo(n,{preventClose:!0,preventAbort:!0,signal:r});const{crc32:c,inputSize:l,outputSize:f}=a;return{crc32:c,inputSize:l,outputSize:f}}catch(e){if(a){const t=s?s.outputSize:0;if(o.outputSize=t,Nt(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function u(){return c||(c=Br()),c}}const qr={type:"module"},Kr="error",Xr="abort";let Jr,Gr,Yr,_r=!0;try{_r=typeof U==pe&&U(new DOMException("","AbortError")).code!==fe}catch{}var $r;function eo(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function to(e){const{I:t}=e;if(t)try{t.terminate()}catch{}e.U=null}function no(e,t,r,o,i=!0){const{createWorker:a}=r;let s,c,u;if(a)s=a();else if(Gr===fe||Jr!==e){const n=typeof e==pe;c=n?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){o===fe&&(o=!1),o&&(u=qr);try{s=new T(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return no(e,t,r,o,!1);if(o)throw i;return no(e,t,r,!0,!1)}}else{o===fe&&(o=!0),o&&(u=qr);try{c=new f(c,t)}catch{}try{s=new T(c,u)}catch(n){if(o)return no(e,t,r,!1,i);throw n}}Jr=e,Gr=c,Yr=u}else s=new T(Gr,Yr);return s.addEventListener("message",e=>{r.W=!0,ro(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:a,error:s,errorValue:c}=e,{reader:u,writer:l,B:f,P:p,M:h,T:m}=t,y=()=>t.T!=m;try{if(s)g(function(e,t){const{message:r,stack:o,code:i,name:a,outputSize:s,cause:c,codecImportFailed:u}=e;let l;if(l=t?t.value:n.assign(new w(r),{stack:o,code:i,name:a}),Nt(l))try{s!==fe&&(l.outputSize=s),u&&(l.codecImportFailed=!0),c&&!Nt(l.cause)&&(l.cause=n.assign(new w(c.message),{name:c.name})),t&&(l.name!==a&&(l.name=a),l.code!==i&&(l.code=i))}catch{}return l}(s,c));else{if("pull"==r){const{value:e,done:n}=await u.read();y()||io({type:Rr,value:e,done:n,messageId:i},t)}if(r==Rr){const e=new d(o);await l.ready,await l.write(e),y()||io({type:"ack",messageId:i},t)}"close"==r&&function(e){y()||(f(e),S(),h())}(a)}}catch(s){y()||(to(t),g(s))}function g(e){y()||(p(e),S(),Nt(e)&&e.codecImportFailed||h())}function S(){l&&l.releaseLock()}}(e,r)}),s.addEventListener(Kr,e=>oo(e,r)),s.addEventListener("messageerror",e=>oo(e,r)),s}function ro(e){const{V:t}=e;t&&(N(t),e.V=null)}function oo(e,t){e.preventDefault&&e.preventDefault(),ro(t);const{W:r,P:o,writer:i,M:a}=t;to(t),r||(t.I=null);let s=e.error||new w(e.message||Kr);r||(s=n.assign(new w(s.message||Kr),{Z:!0}),t.H=s),o&&(o(s),i&&i.releaseLock(),r&&a())}function io(e,{I:t,writer:n,transferStreams:r,W:o}){try{const{value:n,readable:i,writable:a}=e,s=[];if(n&&(e.value=Ot(n),s.push(e.value.buffer)),r&&_r&&o?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch{_r=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}$r=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:s}=t;if(!e.U){let c;typeof s==pe&&(s=s());try{c=no(e.workerURI,r,e)}catch{return Pr(e),Hr(e,t)}n.assign(e,{I:c,W:!1,L:!1,H:null,U:{run:async()=>{try{return await async function(e,t){if(!e.I){const{H:t}=e;e.H=null;const n=t||new w(Ur);throw n.Z=!0,n}let r,i;const a=new g((t,n)=>{r=t,i=t=>{const{outputSize:r,O:o}=e;if(o.outputSize=r,Nt(t))try{t.outputSize=r}catch{}n(t)}});n.assign(e,{reader:null,writer:null,outputSize:0,j:!1,K:null,B:r,P:i,result:a});const{readable:s,options:c}=e,{writable:u,closed:l,X:f}=function(e,t){const r=new AbortController;let o;const{writable:i,readable:a}=new x({transform(e,n){t.outputSize+=e.length,n.enqueue(e)}}),s=a.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:r.signal});s.catch(e=>{o||n.assign(t,{j:!0,K:e})});const{signal:c}=t.O.C;if(c){const e=()=>r.abort(c.reason),t=()=>c.removeEventListener(Xr,e);c.addEventListener(Xr,e),s.then(t,t)}return{writable:i,closed:s,X:()=>{o=!0,r.abort()}}}(e.writable,e);let d;try{d=io({type:"start",options:c,config:t,readable:s,writable:u},e)}catch(t){f();try{await l}catch{}throw e.M(),t}d||n.assign(e,{reader:s.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.W&&o.isFinite(p)&&p>=0&&(e.V=I(()=>function(e){if(e.V=null,e.W)return;const{P:t,writer:n}=e;if(to(e),e.I=null,t){const e=new w(Ur);e.Z=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await a;return await h(),await l,e}catch(t){await h(),f();try{await l}catch{}const{outputSize:n,O:r,j:o,K:i}=e;r.outputSize=n;const a=Nt(t)&&(t.codecImportFailed||t.Z),s=o&&!a?i:t;if(Nt(s))try{s.outputSize=n}catch{}throw s}async function h(){if(!d&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(n){if(n&&n.Z)return Pr(e),eo(e),jr(e,t);if(n&&n.codecImportFailed){if(e.reader)return eo(e),jr(e,t);e.M()}throw n}}}})}return e.U},Lr=$r;let ao=[];const so=[];let co,uo,lo=0;async function fo(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:s,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Yn.has(e)&&t&&tr(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(d,n.codecURI)),t.transferStreams=!d&&(i||i===fe&&r.transferStreams);const S=!(c||u||l||w),b=d===fe||Boolean(n.codecURI);return t.useWebWorkers=!S&&b&&(a||a===fe&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:fe,t.createWorker=t.useWebWorkers&&m?m:fe,n.useCompressionStream=s||s===fe&&r.useCompressionStream,(await async function(){const n=ao.find(e=>!e.R);if(n)return So(n),new Vr(n,e,t,F);if(ao.length<y){const n={J:lo};return lo++,ao.push(n),new Vr(n,e,t,F)}return new g(n=>{so.push({resolve:n,stream:e,O:t}),uo=r.workerStarvationTimeout,wo()})}()).run();function F(e){if(po(),e.L)return e.L=!1,mo();if(so.length){const[{resolve:t,stream:n,O:r}]=so.splice(0,1);t(new Vr(e,n,r,F)),wo()}else e.I?(So(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.G=I(async()=>{ao=ao.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):ao=ao.filter(t=>t!=e)}}function wo(){!co&&so.length&&o.isFinite(uo)&&uo>=0&&(co=I(ho,uo))}function po(){co&&(N(co),co=null)}function ho(){if(co=null,so.length){const[{resolve:e,stream:t,O:n}]=so.splice(0,1);e(new Vr({},t,yo(n),go)),wo()}}function mo(){const e=so.splice(0).map(({resolve:e,stream:t,O:n})=>new g(r=>{e(new Vr({},t,yo(n),()=>{go(),r()}))}));return po(),g.all(e)}function yo(e){return n.assign({},e,{useWebWorkers:!1,workerURI:fe,createWorker:fe})}function go(){po(),wo()}function So(e){const{G:t}=e;t&&(N(t),e.G=null)}const bo="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Fo(e,t){return Do(e,t,!0)}function Eo(e){if(!e.some(e=>e>127))return!1;try{return new b("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function Do(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=bo[e[n]];return t}(e):new b(t,{ignoreBOM:n}).decode(e)}const xo="HTTP error ",Ao="HTTP Range not supported",zo="HTTP resource changed",vo="Writer iterator completed too soon",Co="Writer not initialized",Ro="Invalid writer (size must be writable)",To="Content-Range",Oo="Range",Io="GET",No="bytes",Uo=16777216,ko="writable",Mo=O();class Lo{constructor(){this.size=0}init(){this.initialized=!0}}class Wo extends Lo{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=dt(wt())}={}){const r=this;let o=0;return n=pt(n),new A({async pull(i){const s=t===fe?n:a.min(n,t-o),c=await mi(r,e+o,s);c.length&&(i.enqueue(c),o+=c.length),(t!==fe&&o>=t||!c.length&&s)&&i.close()}})}}class Bo extends Lo{constructor(){super();const e=this,t=new z({write(t){if(!e.initialized)throw new w(Co);return e.writeUint8Array(Ot(t))}});n.defineProperty(e,ko,{get:()=>t})}writeUint8Array(){}}let Po,Vo;class Zo extends Wo{constructor(e){super(),n.assign(this,{Y:e,size:e.size}),Vo||(Vo=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Po=1==t}catch{Po=!1}})())}createReadable(e){const{Y:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==pe){if(!r&&o>=n)return Zn(t.stream());if(Po)return Zn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.Y:n.Y.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new d(i)}}class Qo extends Lo{constructor(e){super();const t=this,r=new x;n.defineProperty(t,ko,{get:()=>r.writable}),t.contentType=e,t._=Qn(r.readable,e),t._.catch(()=>{})}getData(){return this._}}class Ho extends Wo{constructor(e,t){super(),qo(this,e,t)}async init(){await Ko(this,ai,ni),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o,$:i}=t;if((n||r)&&o!==fe){const{offset:n=0,size:r=o-n}=e||{},s=i&&n>=o-i.length;if(r>0&&n<o&&!s)return function(e,t,n){let r,o=t,i=0,s=n;return new A({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new w(Ao);const o=t.length>i?t.subarray(0,i):t;i-=o.length,s-=o.length,o.length&&e.enqueue(o),i||(await async function(){const e=r;r=fe,await e.cancel()}(),s||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=a.min(e.maximumRangeSize,s),n=await ai(Io,e,ei(e,o,t));if(206!=n.status)throw new w(Ao);const c=Jo(n);if(c!==fe&&c!=o)throw new w(Ao);$o(e,n),_o(e,n),o+=t,i=t,r=n.body.getReader()}}(t,n,a.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Xo(this,e,t,ai,ni)}}class jo extends Wo{constructor(e,t){super(),qo(this,e,t)}async init(){await Ko(this,si,ri),super.init()}readUint8Array(e,t){return Xo(this,e,t,si,ri)}}function qo(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:c=!0,maximumRangeSize:u=Uo,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function Ko(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s}=e;if(function(e){const{baseURI:t}=wt(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||a)&&(typeof o==de||o)){const r=await t(Io,e,ei(e,s?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==No))throw new w(Ao);{let o;s&&206==r.status&&(o=new d(await r.arrayBuffer())),_o(e,r);const i=Go(r);i===fe?await ii(e,t,n):e.size=i,o&&o.length&&Jo(r)===e.size-o.length&&(e.$=o)}}else await ii(e,t,n)}async function Xo(e,t,n,r,o){const{useRangeHeader:i,forceRangeRequests:a,$:s,size:c,options:u}=e;if(i||a){if(t>=c||0===n)return ge;{if(t+n>c&&(n=c-t),s&&t>=c-s.length){const e=t-(c-s.length);return s.slice(e,e+n)}const o=await r(Io,e,ei(e,t,n));if(206!=o.status)throw new w(Ao);const i=Jo(o);if(i!==fe&&i!=t)throw new w(Ao);$o(e,o),_o(e,o);const a=new d(await o.arrayBuffer());if(a.length!=n)throw new w(Ao);return a}}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function Jo(e){const t=e.headers.get(To);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function Go(e){const t=e.headers.get(To);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Yo({headers:e}){return{ee:e.get("Etag")||fe,lastModified:e.get("Last-Modified")||fe}}function _o(e,t){const{checkResourceChanges:n,te:r}=e;n&&!r&&206==t.status&&(e.te=Yo(t))}function $o(e,t){const{checkResourceChanges:r,te:o,size:i}=e;if(r){const e=Go(t);if(e!==fe&&i!==fe&&e!=i)throw new w(zo);if(o){const e=Yo(t);if(n.entries(o).some(([t,n])=>n!==fe&&e[t]!==fe&&n!=e[t]))throw new w(zo)}}}function ei(e,t=0,r=1){return n.assign({},ti(e),{[Oo]:No+"="+(t<0?t:t+"-"+(t+r-1))})}function ti({options:e}){const{headers:t}=e;if(t)return O.iterator in t?n.fromEntries(t):t}async function ni(e){await oi(e,ai)}async function ri(e){await oi(e,si)}async function oi(e,t){const n=await t(Io,e,ti(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function ii(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,ti(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function ai(e,{fetch:t=fetch,options:r,url:o},i){const a=await t(o,n.assign({},r,{method:e,headers:i}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new w(Ao):new w(xo+(a.statusText||a.status))}function si(e,{url:t},r){return new g((o,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(Ao):new w(xo+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class ci extends Wo{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new jo(e,t):new Ho(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 ui extends Wo{constructor(e){super(),this.ne=e}async init(){const e=this;e.re=0;const t=e.ne=await g.all(e.ne.map(hi));e.oe=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}ie(e){const{oe:t,size:n}=this,r=t[e];return r===fe?n:r}async readUint8Array(e,t){const n=this,{ne:r}=this;let o,i=0,s=e;for(;r[i]&&s>=r[i].size;)s-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(s+t<=r)o=await mi(c,s,t);else{const i=r-s;o=Tt(await mi(c,s,i),await n.readUint8Array(e+i,t-i))}}else o=ge;return n.re=a.max(i,n.re),o}}class li extends Lo{constructor(e,t=4294967295){super();const r=this;let o,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const s=new z({async write(t){if(t===Mo)return void(a&&await u());const{availableSize:n}=r;if(a)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:s}=await e.next();if(s&&!n)throw new w(vo);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await pi(o),i=n.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),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}n.defineProperty(r,ko,{get:()=>s})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Mo)}finally{e.releaseLock()}}}class fi{constructor(e){return t.isArray(e)&&(e=new ui(e)),(e instanceof A||typeof e.getReader==pe)&&(e={readable:Zn(e)}),e}}class wi{constructor(e){e.writable===fe&&typeof e.next==pe&&(e=new li(e)),(e instanceof z||typeof e.getWriter==pe)&&(e={writable:Hn(e)});try{e.size=e.size===fe?0:e.size}catch{throw new w(Ro)}return e}}function di(e){return Boolean(e&&e.getData)}async function pi(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function hi(e){return e=new fi(e),await pi(e),e.size!==fe&&e.readUint8Array||(e=new Zo(await Qn(e.readable)),await pi(e)),e}function mi(e,t,n){return e.readUint8Array(t,n)}function yi(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Wo.prototype.createReadable.call(e,t):e.readable}function gi(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==fe&&(r.filename=n),e.push(r)}}const Si="filename",bi="rawFilename",Fi="comment",Ei="rawComment",Di="uncompressedSize",xi="compressedSize",Ai="offset",zi="diskNumberStart",vi="lastModDate",Ci="rawLastModDate",Ri="lastAccessDate",Ti="rawLastAccessDate",Oi="creationDate",Ii="rawCreationDate",Ni="internalFileAttributes",Ui="externalFileAttributes",ki="msdosAttributesRaw",Mi="msdosAttributes",Li="msDosCompatible",Wi="zip64",Bi="encrypted",Pi="version",Vi="versionMadeBy",Zi="zipCrypto",Qi="directory",Hi="executable",ji="compressionMethod",qi="signature",Ki="extraField",Xi="unixMode",Ji="setuid",Gi="setgid",Yi="sticky",_i=[Si,bi,Di,xi,vi,Ci,Fi,Ei,Ri,Ti,Oi,Ii,Ai,zi,Ni,Ui,ki,Mi,Li,Wi,Bi,Pi,Vi,Zi,Qi,Hi,"symlink",ji,qi,"crc32",Ki,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Xi,"unixExternalUpper",Ji,Gi,Yi,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class $i{constructor(e){_i.forEach(t=>this[t]=e[t])}}const ea=new u([1,Y,10,_,28789,25461,$,ee,te,22613,13]);function ta(e,t,n){return e?t?12:16+4*n:0}const na="File format is not recognized",ra="End of central directory not found",oa="End of Zip64 central directory locator not found",ia="Central directory header not found",aa="Local file header not found",sa="Zip64 extra field not found",ca="File contains encrypted entry",ua="Encryption method not supported",la="Split zip file",fa="Overlapping entry found",wa="Entry data out of bounds",da="Ambiguous archive",pa="Encrypted central directory is not supported",ha="Unsafe filename",ma="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ya="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ga="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Sa="64-bit value exceeds Number.MAX_SAFE_INTEGER",ba="unsorted central directory",Fa="unknown version needed to extract",Ea="compressed patched data",Da="malformed extra field",xa="unknown zip64 extensible data",Aa="wrapped entries count",za="appended data",va="prepended data",Ca="prepended central directory",Ra="trailing central directory data",Ta="duplicate filename",Oa="mismatched zip64 end of central directory record",Ia="multiple end of central directory records",Na="mismatched local file header (filename)",Ua="mismatched local file header (general purpose bit flag)",ka="mismatched local file header (compression method)",Ma="mismatched local file header (crc32 or sizes)",La=/^[a-zA-Z]:/,Wa=/(^|[\\/])\.\.([\\/]|$)/,Ba="utf-8",Pa="cp437",Va=[[Di,M],[xi,M],[Ai,M],[zi,L]],Za={[L]:{ae:As,bytes:4},[M]:{ae:zs,bytes:8}},Qa=i(o.MAX_SAFE_INTEGER);class Ha{constructor(e,t={}){n.assign(this,{reader:new fi(e),options:t,se:{ce:new u,ue:[],le:[]}})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await pi(r),r.size!==fe&&r.readUint8Array||(r=new Zo(await Qn(r.readable)),await pi(r)),r.size<X)throw new w(na);const o=t.warnings=[],i=cs(e,t.options),s=i==Le,c=i!=Be,l=fs(Ss(t,e,Ne),i),f=function(e,t){if(e===fe)return t;if(!ss(e))throw new w(ya);return e}(Ss(t,e,"filenameValidation"),i),p=Ss(t,e,"normalizeFilename"),{fe:h,we:m}=await ws(r,c,l);if(!h)throw await async function(e){return await as(e)==P}(r)?new w(la):new w(ra);c&&m>1&&gs(Ia);const y=It(h);let g=As(y,12),S=As(y,16);const b=h.offset,F=xs(y,20),E=b+X+F,D=r.size-E;D>l&&gs(za),D>0&&gi(o,za);let A=xs(y,4);const z=r.re||0;let v,C,R,T,O,I=xs(y,6),N=xs(y,10),U=0,k=G;const B=S==M||g==M||N==L||I==L;if(S!=M&&I!=L&&(S+=is(r,I)),B){const e=h.offset>=J?await mi(r,h.offset-J,J):ge,t=It(e);if(e.length==J&&As(t,0)==q){S=is(r,As(t,4))+zs(t,8);let e=await mi(r,S,G),i=It(e);const c=h.offset-J-G;if((e.length<G||As(i,0)!=j)&&S!=c&&c>=0){const t=S;S=c,S>t&&(U=S-t),e=await mi(r,S,G),i=It(e)}if(e.length<G||As(i,0)!=j)throw new w(oa);if(R=!0,T=zs(i,4)>44,T){const e=a.min(zs(i,4)-44,r.size-S-G);e>0&&(k+=e,O=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=It(e),o=xs(r,26);n.assign(t,{compressionMethod:xs(r,0),compressedSize:zs(r,2),uncompressedSize:zs(r,10),encryptionAlgorithm:xs(r,18),bitLength:xs(r,20),flags:xs(r,22),hashAlgorithm:xs(r,24),hashData:e.subarray(28,28+o)})}return t}(await mi(r,S+G,e)))}A==L?A=As(i,16):A!=As(i,16)&&ys(s,o,Oa),I==L?I=As(i,20):I!=As(i,20)&&ys(s,o,Oa),N==L?N=zs(i,32):N!=zs(i,32)&&ys(s,o,Oa),g==M?g=zs(i,40):g!=zs(i,40)&&ys(s,o,Oa),S=is(r,I)+zs(i,48)+U}}let V=g;const Z=h.offset-(R?k+J:0);if(S>=r.size&&(U=r.size-S-g-X,S=r.size-g-X),z!=A)throw new w(la);if(S<0)throw new w(na);let H=0,Y=await mi(r,S,g),_=It(Y);if(g){if(Y.length<4)throw new w(na);const e=Z-g;if(S!=e&&I==A){const t=As(_,H)==Q||Boolean(O&&O.compressedSize)||Xa(_);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=As(It(await mi(r,e,4)),0)==Q),n){const n=S;S=e,S>n&&(U+=S-n,v=t),Y=await mi(r,S,g),_=It(Y)}}}const $=Z-S;if(g!=$&&$>=0&&I==A&&(g=$,Y=await mi(r,S,g),_=It(Y)),S<0||S>=r.size)throw new w(na);t.directoryOffset=S,t.directoryLength=V;const ee=bs(t,e,"decryptCentralDirectory");let te,ne;if(ee&&N&&Y.length>=4&&As(_,0)!=Q&&(T||Xa(_))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(O,V,Y.length);ne=Y.subarray(e),Y=await ee(Y.subarray(0,e),O),_=It(Y),V=Y.length,te=!0}O&&!te&&(Y.length<4||As(_,0)==Q)&&gi(o,xa),C=S;const ce=Ss(t,e,"filenameEncoding"),ue=Ss(t,e,"commentEncoding"),le=new u;let we,de=-1;const pe=!s&&!R;!N&&pe&&(N=Ja(_,Y,H),N&&gi(o,Aa));for(let i=0;i<N;i++){const s=new Ka(r,t.options);if(H+K>Y.length||As(_,H)!=Q){if(0==i&&!te&&(T||Xa(_)))throw new w(pa);throw new w(ia)}Ya(s,_,H+6);const c=Boolean(s.bitFlag.languageEncodingFlag),u=H+K,l=u+s.filenameLength+s.extraFieldLength,h=xs(_,H+4),m=!(h>>8),y=h>>8==3,g=xs(_,H+32),S=l+g,b=new d(Y.subarray(u,S)),F=b.subarray(0,s.filenameLength),E=b.subarray(s.filenameLength+s.extraFieldLength),D=c||!ce&&Eo(F),A=c||!ue&&Eo(E),z=As(_,H+38),v=z&W,R={readOnly:Boolean(1&v),hidden:Boolean(2&v),system:Boolean(4&v),directory:Boolean(16&v),archive:Boolean(32&v)},O=As(_,H+42),I=bs(t,e,"decodeText")||Fo,k=D?Ba:ce||Pa,M=A?Ba:ue||Pa;let B=I(F,k,ke);if(B===fe&&(B=Fo(F,k)),p){const e=p(B);e!==fe&&(B=e)}if(ls(B,f)){const e=new w(ha);throw e.filename=B,e}let P=I(E,M,Me);P===fe&&(P=Fo(E,M)),n.assign(s,{index:i,de:te,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,pe:g,offset:O,diskNumberStart:xs(_,H+34),internalFileAttributes:xs(_,H+36),externalFileAttributes:z,msdosAttributesRaw:v,msdosAttributes:R,rawFilename:F,filenameUTF8:D,commentUTF8:A,rawExtraField:b.subarray(s.filenameLength,s.filenameLength+s.extraFieldLength),rawComment:E,filename:B,comment:P}),_a(s,s,_,H+6)&&gi(o,Da,B),s.offset+=U;const V=is(r,s.diskNumberStart)+s.offset;C=a.min(V,C),V<de&&gi(o,ba,B),de=V,(s.version&W)>63&&gi(o,Fa,B),32&~s.rawBitFlag||gi(o,Ea,B),le.has(s.filename)&&(we=!0),le.add(s.filename);const Z=s.externalFileAttributes>>16&L;s.unixMode===fe&&16877&Z&&(s.unixMode=Z);const j=Boolean(s.unixMode&ie),q=Boolean(s.unixMode&ae),X=Boolean(512&s.unixMode),J=40960==((s.unixMode===fe?Z:s.unixMode)&re),G=!J&&(s.unixMode!==fe?!!(73&s.unixMode):y&&!!(73&Z)),$=s.unixMode!==fe&&(s.unixMode&re)==oe,ee=(Z&re)==oe;n.assign(s,{setuid:j,setgid:q,sticky:X,symlink:J,unixExternalUpper:Z,executable:G,directory:$||ee||m&&R.directory||s.filename.endsWith(se),zipCrypto:s.encrypted&&!s.extraFieldAES});const ne=new $i(s);if(ne.getData=(e,n)=>s.getData(e,ne,t.se,n),ne.arrayBuffer=async e=>{const r=new x,o=Qn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await s.getData(r,ne,t.se,n.assign({},e,{preventClose:!1})),o},H=S,i==N-1&&pe){const e=Ja(_,Y,H);e&&(N+=e,gi(o,Aa))}const{onprogress:he}=e;if(he)try{await he(i+1,N,new $i(s))}catch{}yield ne}let he=H,me=Ga(Y.subarray(H))||(te?Ga(ne):fe);if(!me&&!te){const e=S+H,t=a.min(Z-e,65541);t>=6&&(me=Ga(await mi(r,e,t)))}me&&(t.digitalSignature=me,he=H+6+me.length),(H!=V&&he!=V||!te&&H!=g&&he!=g)&&ys(s,o,Ra),we&&ys(s,o,Ta);const ye=Ss(t,e,"extractPrependedData"),Se=Ss(t,e,"extractAppendedData"),be=(s||ye)&&N&&4==C&&await async function(e){const t=await as(e);return t==P||808471376==t}(r)?4:0;return s&&(U||N&&C>be)&&gs(va),(U||N&&C>4)&&gi(o,va),v&&gi(o,Ca),ye&&(t.prependedData=C>be?await mi(r,be,C-be):ge),t.comment=F?await mi(r,b+X,F):ge,Se&&(t.appendedData=E<r.size?await mi(r,E,r.size-E):ge),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[Se](){return this.close()}}class ja{constructor(e={}){let r;const{readable:o,writable:i}=new x({start(e){r=e}}),a=new Ha(o,e),s=a.getEntriesGenerator(),c=new u;this.readable=new A({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const o=function(e,t){const{readable:n,writable:r}=new x;let o;const i={cancel:async e=>{t.delete(i),await(o?o.cancel(e):n.cancel(e))}};return i.readable=new A({async pull(a){o||(o=n.getReader(),t.add(i),async function(){try{await e.getData(r,{preventClose:!1})}catch(e){try{await r.abort(e)}catch{}}finally{t.delete(i)}}());const{done:s,value:c}=await o.read();s?a.close():a.enqueue(c)},cancel:e=>i.cancel(e)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),e.enqueue(i)},async cancel(e){const n=t.from(c);c.clear(),r.error(e),await g.allSettled(n.map(t=>t.cancel(e))),await g.allSettled([s.return(),a.close()])}}),this.writable=i}}async function qa(e,t={}){if(e=new fi(e),await pi(e),e.size!==fe&&e.readUint8Array||(e=new Zo(await Qn(e.readable)),await pi(e)),e.size<X)return!1;const n=cs(t,{}),r=n!=Be,o=fs(t[Ne],n),{fe:i,we:a}=await ws(e,r,o);if(!i||n==Le&&a>1)return!1;const s=xs(It(i),20),c=i.offset+X+s;return e.size-c<=o}class Ka{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,o={}){const i=this,s=wt(),{reader:c,index:u,offset:l,diskNumberStart:f,extraFieldAES:d,extraFieldZip64:p,compressionMethod:h,bitFlag:m,rawBitFlag:y,crc32:g,rawLastModDate:S,uncompressedSize:b,compressedSize:F}=i,{dataDescriptor:E}=m,D=t.localDirectory={},x=t.warnings=[],A=is(c,f)+l,v=await mi(c,A,ce),C=It(v);let R=Ss(i,o,be),T=Ss(i,o,Fe);const O=Ge(Ss(i,o,Ee)),I=Boolean(O),N=!0===O;if(Je(R,T),R=R&&R.length?R:fe,T=T&&T.length?T:fe,d&&99!=d.originalCompressionMethod)throw new w(Xn);if(v.length<ce||As(C,0)!=B)throw new w(aa);Ya(D,C,4);const{extraFieldLength:U,filenameLength:k}=D,M=D.dataOffset=A+ce+k+U,L=Ss(i,o,"checkLocalDirectory"),P=cs(o,i.options),Z=function(e,t){return e===fe?t!=Be:Boolean(e)}(L,P),Q=Ss(i,o,"checkLocalFilename"),H=function(e,t){return e===fe?t==Le:Boolean(e)}(Q===fe?L:Q,P);let j=ge;if(H&&(k||U)){const e=await mi(c,A+ce,k+U);j=e.subarray(0,k),D.rawExtraField=e.subarray(k)}else D.rawExtraField=U?await mi(c,A+ce+k,U):ge;H&&(D.rawFilename=j),_a(i,D,C,4,!0)&&gi(x,Da),function(e,t,n,r,o){const{rawFilename:i}=e,a=!o,s=e.de&&!(8192&~t.rawBitFlag);!r||s||n.length==i.length&&!n.some((e,t)=>e!=i[t])||ys(a,o,Na),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ys(a,o,Ua),t.compressionMethod!=e.compressionMethod&&ys(a,o,ka),t.bitFlag.dataDescriptor||s||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ys(a,o,Ma)}(i,D,j,H,Z?fe:x);const{lastAccessDate:q,creationDate:K,uid:X,gid:J}=D;q&&(t.lastAccessDate=q),K&&(t.creationDate=K),X!==fe&&t.uid===fe&&(t.uid=X),J!==fe&&t.gid===fe&&(t.gid=J);const G=Ss(i,o,"checkPasswordOnly"),Y=i.encrypted&&D.encrypted&&(!N||G),_=Y&&!d;if(N||(t.zipCrypto=_),Y&&!(64&~D.rawBitFlag))throw new w(ua);const $=I?fe:_n(h);if(0!=h&&8!=h&&9!=h&&!$&&!I)throw new w(Xn);if(Y){if(!_&&(d.strength<1||d.strength>3))throw new w(ua);if(!R&&!T)throw new w(ca)}if(M+F>c.size)throw new w(wa);const ee=F,te=Ke(Ss(i,o,De));Xe(te);let ne=Ss(i,o,"checkOverlappingEntry");const re=Ss(i,o,"checkOverlappingEntryOnly");re&&(ne=!0);const{onstart:oe,onprogress:ie,onend:ae}=o,se=0!=h&&!I,ue=I?F-ta(Y,_,d&&d.strength):b,le=9==h;let we=Ss(i,o,Ae);le&&(we=!1);const de=Ss(i,o,"checkCrc32"),pe=(de===fe?Ss(i,o,"checkSignature"):de)&&!I&&(!Y||_||d&&1==d.vendorVersion),he={options:{codecType:Or,password:R,rawPassword:T,zipCrypto:_,encryptionStrength:d&&d.strength,checkCrc32:pe,checkAuthenticationCode:Ss(i,o,"checkAuthenticationCode"),passwordVerification:_&&(E?S>>>8&W:g>>>24&W),outputSize:ue,crc32:g,compressed:se,encrypted:Y,useWebWorkers:Ss(i,o,xe),useCompressionStream:we,transferStreams:Ss(i,o,ze),deflate64:le,format:$?$.format:fe,codecURI:$?$.codecURI:fe,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:G},config:s,C:{signal:te,size:ee,onstart:oe,onprogress:ie,onend:ae}};let me,ye,Se;ne&&await async function({reader:e,he:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:a,dataOffset:s,dataDescriptor:c,extraFieldZip64:u,se:l}){let f=0;if(c&&(f=u?20:12),f){const n=await mi(e,s+i,f+4),r=It(n);let c=n.length==f+4&&As(r,0)==V;if(c){const e=os(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==a?f+=4:c=!1}if(n.length>=f){const e=os(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:s+i+f,he:t},{ce:p,ue:h,le:m}=l;if(!p.has(n)){const e=function(e,t){let n=0,r=e.length;for(;n<r;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],i=e[n];return o&&rs(t,o)?o:i&&rs(t,i)?i:void 0}(h,d)||m.find(e=>rs(d,e));if(e){const t=new w(fa);throw t.overlappingEntry=e.he,t}p.add(n),m.push(d),m.length*m.length>h.length&&(m.sort((e,t)=>e.start-t.start),l.ue=function(e,t){const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n}(h,m),m.length=0)}}({reader:c,he:t,index:u,offset:A,crc32:g,compressedSize:F,uncompressedSize:b,dataOffset:M,dataDescriptor:E||D.bitFlag.dataDescriptor,extraFieldZip64:p||D.extraFieldZip64,se:r});try{if(!re){G&&(e=new z),e=new wi(e),await pi(e,function(e,t,n){return a.min(e,n?1032*t:t)}(ue,F,se)),({writable:me}=e);const t=Zn(c.createReadable({offset:M,size:ee})),{outputSize:r}=await fo({readable:t,writable:me},he);if(Xe(te),r!=ue)throw n.assign(new w(nr),{outputSize:r});e.size+=r}}catch(t){const{outputSize:n}=he;if(n!==fe?e.size+=n:Nt(t)&&t.outputSize!==fe&&(e.size+=t.outputSize),!G||!Nt(t)||t.message!=fn)throw ye=t,Se=!0,t}finally{if((di(e)||!Ss(i,o,ve))&&me&&!me.locked){const e=me.getWriter();if(Se)try{await e.abort(ye)}catch{}else await e.close()}}return G||re?fe:e.getData?e.getData():me}}function Xa(e){const t=a.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==As(e,n))return!0;return!1}function Ja(e,t,n){let r=0;for(;n+K<=t.length&&As(e,n)==Q;)n+=K+xs(e,n+28)+xs(e,n+30)+xs(e,n+32),r++;return r%65536?0:r}function Ga(e){if(e.length>=6){const t=It(e);if(As(t,0)==Z){const n=xs(t,4);if(6+n<=e.length)return new d(e.subarray(6,6+n))}}}function Ya(e,t,r){const o=e.rawBitFlag=xs(t,r+2),i=!(1&~o),a=As(t,r+6);n.assign(e,{encrypted:i,version:xs(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&ne)==ne},rawLastModDate:a,lastModDate:Fs(a),filenameLength:xs(t,r+22),extraFieldLength:xs(t,r+24)})}function _a(e,t,r,o,i){const{rawExtraField:a}=t,u=t.extraField=new c,l=It(a);let f=0,d=!1;try{for(;f<a.length;){const e=xs(l,f),t=xs(l,f+2);u.set(e,{type:e,data:a.slice(f+4,f+4+t)}),f+=4+t}}catch{d=!0}f>a.length&&(d=!0);const p=xs(r,o+4);n.assign(t,{signature:As(r,o+10),crc32:As(r,o+10),compressedSize:As(r,o+14),uncompressedSize:As(r,o+18)});const h=u.get(1);h&&(function(e,t){t.zip64=!0;const n=It(e.data),r=Va.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Za[t].bytes,0);if(e.data.length<o)throw new w(sa);for(let o=0,i=0;o<r.length;o++){const[a,s]=r[o],c=Za[s];t[a]=e[a]=c.ae(n,i),i+=c.bytes}}(h,t),t.extraFieldZip64=h);const m=u.get(28789);m&&($a(m,Si,bi,t,e),t.extraFieldUnicodePath=m);const y=u.get(25461);y&&($a(y,Fi,Ei,t,e),t.extraFieldUnicodeComment=y);const g=u.get(Y);g&&g.data.length>=7?(function(e,t,r){const o=It(e.data),i=Ds(o,4);n.assign(e,{vendorVersion:Ds(o,0),vendorId:Ds(o,2),strength:i,originalCompressionMethod:r,compressionMethod:xs(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=fe)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const S=u.get(13);S&&(es(S,t),t.extraFieldPkwareUnix=S);const b=u.get(22613);b&&(es(b,t),t.extraFieldUnixType1=b);const F=u.get(10);F&&(function(e,t){const r=It(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=xs(r,i),n=xs(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=It(o),i=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),s=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:s});const c={lastModDate:Es(i),lastAccessDate:Es(a),creationDate:Es(s)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:a,rawCreationDate:s})}}(F,t),t.extraFieldNTFS=F);const E=u.get(te);let D;if(E&&(D=ts(E,t,!1),t.extraFieldUnix=E),!D){const e=u.get(ee);e&&(ts(e,t,!0),t.extraFieldInfoZip=e)}const x=u.get(_);x&&(function(e,t,n){if(!e.data.length)return;const r=It(e.data),o=Ds(r,0),i=[],a=[];n?(1&~o||(i.push(vi),a.push(Ci)),2&~o||(i.push(Ri),a.push(Ti)),4&~o||(i.push(Oi),a.push(Ii))):e.data.length>=5&&(i.push(vi),a.push(Ci));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=As(r,c);t[n]=e[n]=new s(1e3*(0|i));const u=a[o];e[u]=i}c+=4})}(x,t,i),t.extraFieldExtendedTimestamp=x);const A=u.get($);return A&&(t.extraFieldUSDZ=A),d}function $a(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const a=It(e.data),s=new Qt;s.append(i[r]);const c=It(new d(4));c.setUint32(0,s.get(),!0);const u=As(a,1),l=Ds(a,0);n.assign(e,{version:l,[t]:Fo(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==As(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function es(e,t){if(e.data.length<8)return;const r=It(e.data),o={lastAccessDate:new s(1e3*(0|As(r,0))),lastModDate:new s(1e3*(0|As(r,4)))};e.data.length>=12&&(o.uid=xs(r,8),o.gid=xs(r,10)),n.assign(e,o),n.assign(t,o)}function ts(e,t,r){try{const o=It(e.data);let i,a;if(r){let t=0;const r=Ds(o,t++),s=Ds(o,t++);i=ns(e.data.subarray(t,t+s)),t+=s;const c=Ds(o,t++);a=ns(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:a})}else e.data.length>=4&&(i=xs(o,0),a=xs(o,2),n.assign(e,{uid:i,gid:a}));return i!==fe&&(t.uid=i),a!==fe&&(t.gid=a),i!==fe||a!==fe}catch{}}function ns(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function rs(e,t){return e.start<t.end&&t.start<e.end}function os(e,t,n){const r=As(e,t);let o,i;return n?(o=zs(e,t+4),i=zs(e,t+12)):(o=As(e,t+4),i=As(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function is(e,t){return e.ie?e.ie(t):0}async function as(e){return As(It(await mi(e,0,4)))}function ss(e){return e===Le||e===We||e===Be}function cs(e,t){return us(e,us(t,We))}function us(e,t){const n=e.strictness;if(n!==fe){if(!ss(n))throw new w(ma);return n}const r=e.checkAmbiguity;return r===fe?t:r?Le:t==Be?Be:We}function ls(e,t){if(t==Be)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Wa.test(e)||e.startsWith("/")||e.startsWith("\\")||La.test(e))||t==Le&&(n.includes(".")||n.includes("")||e.includes("\0"))}function fs(e,t){if(e!==fe){const t=$e(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new w(ga);return t}return t==Le?0:t==Be?1/0:L}async function ws(e,t,n){const{size:r}=e,o=a.min(r,65557),i={me:64};let s,c,u=0;for await(const[n,a,l,f,w]of ds(e,o)){const o=xs(n,f+20);if(w+X+o==r){const o=await hs(e,n,a,f,w,r,i);if(2==o){if(s||(s=ps(l,f,w)),u++,!t||u>1)break}else 1!=o||c||(c=ps(l,f,w))}}return s||(s=c),s||(s=await async function(e,t,n){const{size:r}=e,o=a.min(r,t==1/0?r:65557+t);let i,s;for await(const[t,a,c,u,l]of ds(e,o)){const o=ps(c,u,l);i||(i=o);const f=await hs(e,t,a,u,l,r,n);if(2==f)return o;1!=f||s||(s=o)}return s||i}(e,n,i)),{fe:s,we:u}}async function*ds(e,t){const n=e.size-t,r=await mi(e,n,t),o=It(r);for(let e=r.length-X;e>=0;e--)As(o,e)==H&&(yield[o,n,r,e,n+e])}function ps(e,t,n){return{offset:n,buffer:new d(e.subarray(t,t+X)).buffer}}async function hs(e,t,n,r,o,i,a){const s=xs(t,r+10),c=As(t,r+12),u=As(t,r+16);if(s==L||c==M||u==M)return await ms(e,t,n,o-J,i,a)==q?2:0;if(!s&&!c)return 1;const l=xs(t,r+6);for(const r of[o-c,is(e,l)+u])if(await ms(e,t,n,r,i,a)==Q)return 2;return 0}async function ms(e,t,n,r,o,i){return r<0||r+4>o?fe:r>=n?As(t,r-n):i.me>0?(i.me--,As(It(await mi(e,r,4)),0)):fe}function ys(e,t,n){e?gs(n):gi(t,n)}function gs(e){const t=new w(da);throw t.reason=e,t}function Ss(e,t,n){return t[n]===fe?e.options[n]:t[n]}function bs(e,t,n){return qe(Ss(e,t,n))}function Fs(e){const t=(4294901760&e)>>16,n=e&L,r=new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<le?le:r}function Es(e){return new s(o(e/i(1e4)-i(116444736e5)))}function Ds(e,t){return e.getUint8(t)}function xs(e,t){return e.getUint16(t,!0)}function As(e,t){return e.getUint32(t,!0)}function zs(e,t){const n=e.getBigUint64(t,!0);if(n>Qa)throw new w(Sa);return o(n)}var vs=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:da,ERR_BAD_FORMAT:na,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ia,ERR_CODEC_OUT_OF_MEMORY:or,ERR_ENCRYPTED:ca,ERR_ENCRYPTED_CENTRAL_DIRECTORY:pa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:wa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:oa,ERR_EOCDR_NOT_FOUND:ra,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:sa,ERR_INVALID_AUTHENTICATION_CODE:ln,ERR_INVALID_COMPRESSED_DATA:rr,ERR_INVALID_CRC32:ir,ERR_INVALID_FILENAME_VALIDATION:ya,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ga,ERR_INVALID_PASSWORD:un,ERR_INVALID_STRICTNESS:ma,ERR_INVALID_UNCOMPRESSED_SIZE:nr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:aa,ERR_OVERLAPPING_ENTRY:fa,ERR_SPLIT_ZIP_FILE:la,ERR_UNSAFE_FILENAME:ha,ERR_UNSUPPORTED_COMPRESSION:Xn,ERR_UNSUPPORTED_ENCRYPTION:ua,ERR_UNSUPPORTED_UINT64:Sa,ERR_WORKER_STARTUP_TIMEOUT:Ur,WARNING_APPENDED_DATA:za,WARNING_COMPRESSED_PATCHED_DATA:Ea,WARNING_DUPLICATE_FILENAME:Ta,WARNING_MALFORMED_EXTRA_FIELD:Da,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ua,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:ka,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Ma,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Na,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Oa,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:Ia,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ca,WARNING_PREPENDED_DATA:va,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Ra,WARNING_UNKNOWN_VERSION:Fa,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:xa,WARNING_UNSORTED_CENTRAL_DIRECTORY:ba,WARNING_WRAPPED_ENTRIES_COUNT:Aa,ZipReader:Ha,ZipReaderStream:ja,isZipFile:qa});const Cs="File already exists",Rs="Zip file comment exceeds 64KB",Ts="Invalid zip file comment (must be a Uint8Array)",Os="File entry comment exceeds 64KB",Is="Invalid file entry comment (must be a string)",Ns="Invalid date (must be a valid Date instance)",Us="File entry name exceeds 64KB",ks="Version exceeds 65535",Ms="The strength must equal 1, 2, or 3",Ls="Encryption is not supported in USDZ files",Ws="Split zip files are not supported in USDZ files",Bs="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Ps="Invalid extra field (must be a Map)",Vs="Invalid extra field type (must be integer 0..65535)",Zs="Invalid extra field data (must be a Uint8Array)",Qs="Extra field data exceeds 64KB",Hs=-2147483648,js=2147483647,qs=i(0),Ks=i("0x7fffffffffffffff"),Xs="Zip64 is not supported (set the 'zip64' option to 'true')",Js="Undefined uncompressed size",Gs="Undefined compression method",Ys="Undefined CRC32",_s="Undefined reader",$s="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",ec="Zip file not empty",tc="Invalid uid (must be integer 0..2^32-1)",nc="Invalid gid (must be integer 0..2^32-1)",rc="Invalid UNIX mode (must be integer 0..65535)",oc="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ic="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ac="Invalid msdosAttributesRaw (must be integer 0..255)",sc="Invalid msdosAttributes (must be an object with boolean flags)",cc="Invalid level (must be integer 0..9)",uc="Signature data exceeds 64KB",lc="Invalid entry option (must be an entry returned by ZipReader#getEntries())",fc="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",wc="compression unavailable",dc="clamped last modification date",pc=new d([7,0,2,0,65,69,3,0,0]),hc="infozip",mc="unix",yc=[8,9,5,3];let gc=0;const Sc=[];class bc{constructor(e,t={}){e=new wi(e);const{availableSize:r=we,maxSize:o=we}=e,i=r>0&&r!==we&&o>0&&o!==we;if(i&&t[Ie])throw new w(Ws);n.assign(this,{writer:e,ye:i,options:t,ge:new c,Se:new u,offset:t[Oe]===fe?e.size||e.writable.size||0:t[Oe],be:t[Oe]===fe?0:t[Oe]-(e.size||e.writable.size||0),Fe:new u,Ee:[],warnings:[],De:0,xe:0,Ae:fe,ze:!1})}prependZip(e){return Dc(this,async function(e,t){if(e.Se.size)throw new w(ec);await e.ve(t)}(this,e))}appendZip(e){return Dc(this,this.ve(e))}async ve(e){const r=this,{Fe:o,Se:i,ge:a}=r;for(;o.size;)await g.allSettled(t.from(o));let s;const u=new g(e=>s=e);o.add(u);const l=[];let f;try{e=new fi(e),await pi(e),e.size!==fe&&e.readUint8Array||(e=new Zo(await Qn(e.readable)),await pi(e));const{ZipReader:o}=await g.resolve().then(function(){return vs}),s=new o(e),u=await s.getEntries();await s.close(),await pi(r.writer);const{directoryOffset:d}=s;u.forEach(({filename:e})=>{if(i.has(e))throw new w(Cs);i.add(e),l.push(e)}),r.Ce=!0;const{Re:p}=r;r.Re=new g(e=>f=()=>{r.Ce=!1,e()}),await p,r.ye&&(delete r.ye,await async function(e){return It(await mi(e,0,4)).getUint32(0,!0)==P}(e)||(await Pc(r.writer,Wc()),r.offset+=4));const h=await async function(e,n,r,o){const{writer:i}=e,a=new c;if(i.closeDisk){const s=t.from(r).sort((e,t)=>Lc(n,e)-Lc(n,t));let c=0;for(const t of s){const r=Lc(n,t);await kc(e,n,c,r-c),Ic(i,await Mc(n,r))&&await i.closeDisk(),a.set(t,{offset:Nc(e,i),diskNumberStart:Tc(i)}),c=r}await kc(e,n,c,o-c)}else{const t=e.offset;await kc(e,n,0,o),r.forEach(e=>a.set(e,{offset:t+Lc(n,e),diskNumberStart:0}))}return a}(r,e,u,d);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:s,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:w}=e;const{level:d,languageEncodingFlag:p,dataDescriptor:m}=i;w=Uc(w||ge),e.extraFieldAES&&(f=99);const y=nu(w),g=Boolean(l)&&l.uncompressedSize!==fe,S=Boolean(l)&&l.compressedSize!==fe,b=-7&iu(d,p,m,s,f)|d<<1,{Te:F,Oe:E}=ru({version:t,bitFlag:b,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,Ie:S,Ne:g,extraFieldLength:y}),{crc32:D}=e;D!==fe&&$c(E,10,D);const{offset:x,diskNumberStart:A}=h.get(e);n.assign(e,{Ue:!0,Ne:g,Ie:S,offset:x,diskNumberStart:A,ke:!1,Me:ge,Le:ge,We:ge,Be:ge,Pe:ge,rawExtraField:w,Ve:ge,Te:F,Oe:E}),a.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{s(),o.delete(u),f&&f()}}add(e="",r,u={}){const l=this,{Fe:f}=l,p=async function(e,r,u,l){const f=(l=n.assign({},l))[Ue];if(f!==fe){const{Ze:r,Qe:o}=function(e,r,o){if(null===e||typeof e!=he||t.isArray(e))throw new w(lc);const{externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,rawLastModDate:d,creationDate:p,lastAccessDate:h,uncompressedSize:m,encrypted:y,zipCrypto:g,crc32:S,compressionMethod:b,extraFieldAES:F,extraFieldUnix:E,internalFileAttributes:D,extraField:x,bitFlag:A,directory:z,uid:v,gid:C}=e,R={externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,creationDate:p,lastAccessDate:h,internalFileAttributes:D,directory:z};A&&A.languageEncodingFlag&&(R[Re]=!0);const T=function(e){if(e){const t=new c;if(e.forEach((e,n)=>{ea.has(n)||t.set(n,e.data)}),t.size)return t}}(x);T&&(R[Ki]=T),v===fe&&C===fe||n.assign(R,{uid:v,gid:C,unixExtraFieldType:E?mc:hc});const O={};if(r&&!z)if(n.assign(O,{uncompressedSize:m,crc32:S,compressionMethod:b}),r!==Pe&&n.assign(O,{encrypted:y,zipCrypto:g,encryptionStrength:F?F.strength:fe}),A&&(O.dataDescriptor=A.dataDescriptor,O[Ce]=yc[A.level]),o===fe)O.rawLastModDate=d;else if(r!==Pe&&g&&(!A||A.dataDescriptor)&&o instanceof s&&function(e){let t=new s(2e3*a.ceil(a.floor(e.getTime()/1e3)/2));return t<le?t=le:t>ue&&(t=ue),(t.getHours()<<3|t.getMinutes()>>3)&W}(o)!=(d>>>8&W))throw new w(fc);return{Ze:R,Qe:O}}(f,Ge(jc(e,l,Ee)),jc(e,l,vi));delete l[Ue],l=n.assign(r,o,l)}if(jc(e,l,Qi)&&!r.endsWith(se)&&(r+=se),e.Se.has(r))throw new w(Cs);e.Se.add(r),gc<wt().maxWorkers?gc++:await new g(e=>Sc.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=jc(e,r,Li),i=jc(e,r,Vi,o?20:768);const a=jc(e,r,Hi),s=Xc(e,r,"uid"),c=Xc(e,r,"gid");let u=Xc(e,r,Xi),l=jc(e,r,"unixExtraFieldType"),f=jc(e,r,Ji),d=jc(e,r,Gi),p=jc(e,r,Yi);if(_e(s,M,tc),_e(c,M,nc),_e(u,L,rc),l!==fe&&l!==hc&&l!==mc)throw new w(oc);if(l===mc&&(s!==fe&&s>L||c!==fe&&c>L))throw new w(ic);l!==fe||s===fe&&c===fe||(l=hc);let h=Xc(e,r,ki),m=jc(e,r,Mi);const y=h!==fe||m!==fe;if(s!==fe||c!==fe||u!==fe||l||a?(o=!1,i=i&W|768):y&&(o=!0,i&=W),_e(h,W,ac),m&&(typeof m!==he||t.isArray(m)))throw new w(sc);if(i>L)throw new w(ks);let g=jc(e,r,Ui);const S=g!==fe;S||(g=0),!r[Qi]&&n.endsWith(se)&&(r[Qi]=!0);const b=jc(e,r,Qi);if(b?(n.endsWith(se)||(n+=se),S||(g=16,o||(g|=16877<<16))):o||S||(g=a?493<<16:27525120),!o){const e=u!==fe||Boolean(f||d||p);u=u===fe?g>>16&L:u&L,f?u|=ie:f=Boolean(u&ie),d?u|=ae:d=Boolean(u&ae),p?u|=512:p=Boolean(512&u),S&&!e||(b?u=-61441&u|oe:u&re||(u|=32768),g=(u&L)<<16|g&L)}({msdosAttributesRaw:h,msdosAttributes:m}=function(e,t){if(e!==fe)e&=W;else if(t!==fe){const{readOnly:n,hidden:r,system:o,directory:i,archive:a}=t;let s=0;n&&(s|=1),r&&(s|=2),o&&(s|=4),i&&(s|=16),a&&(s|=32),e=s&W}return t===fe&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(h,m)),y&&(g=g&M|h&W);const F=g>>16&L,E=u!==fe&&40960==(u&re);return{name:n,He:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:F,uid:s,gid:c,unixMode:u,unixExtraFieldType:l,symlink:E,setuid:f,setgid:d,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Kc(e,n,"encodeText")||jt;let i=r(t,ke);if(i===fe&&(i=jt(t)),nu(i)>L)throw new w(Us);const a=n[Fi]||"";if(typeof a!=me)throw new w(Is);let c=r(a,Me);if(c===fe&&(c=jt(a)),nu(c)>L)throw new w(Os);const u=jc(e,n,Pi);if(u!==fe&&u>L)throw new w(ks);const l=qc(e,n,vi,new s),f=jc(e,n,Ci),d=qc(e,n,Ri),p=qc(e,n,Oi),h=jc(e,n,Ni,0),m=Ge(jc(e,n,Ee)),y=Boolean(m),g=!0===m;let S=jc(e,n,be),b=jc(e,n,Fe);Je(S,b),S=S&&S.length?S:fe,b=b&&b.length?b:fe;const F=Xc(e,n,"encryptionStrength",3),E=jc(e,n,Zi),D=jc(e,n,"extendedTimestamp",!0),x=jc(e,n,"ntfsTimestamp"),A=jc(e,n,"keepOrder",!0),z=jc(e,n,xe),v=jc(e,n,ze),C=jc(e,n,"bufferedWrite"),R=Kc(e,n,"createTempStream"),T=jc(e,n,"dataDescriptorSignature",!0),O=Ke(jc(e,n,De));Xe(O);const I=jc(e,n,Re,!ou(i)||!ou(c)),N=jc(e,n,ji),U=y||N===fe?fe:_n(N);if(!y&&N!==fe&&0!==N&&8!==N&&!U)throw new w(Xn);let k=Xc(e,n,Ce);if(_e(k,9,cc),e.options[Ie]){if(S!==fe||b!==fe)throw new w(Ls);k===fe&&N===fe&&(k=0)}y&&(k=$e(n[Ce]));let M=jc(e,n,Ae),W=jc(e,n,Te);C&&W===fe&&(W=!1),(W===fe||E&&!g)&&(W=!0),k!==fe&&6!=k&&(M=!1);const B=jc(e,n,Wi);if(!(E||S===fe&&b===fe||o.isInteger(F)&&F>=1&&F<=3))throw new w(Ms);const P=zc(n[Ki]),V=zc(n.localExtraField),Z=zc(n.centralExtraField);return{comment:a,He:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:d,creationDate:p,internalFileAttributes:h,je:y,qe:g,password:S,rawPassword:b,encryptionStrength:F,zipCrypto:E,extendedTimestamp:D,ntfsTimestamp:x,keepOrder:A,useWebWorkers:z,transferStreams:v,bufferedWrite:C,createTempStream:R,dataDescriptorSignature:T,signal:O,useUnicodeFileNames:I,compressionMethod:N,format:U?U.format:fe,codecURI:U?U.codecURI:fe,Ke:U?U.versionNeeded:fe,level:k,useCompressionStream:M,dataDescriptor:W,zip64:B,rawExtraField:P,Xe:V,Ve:Z}}}(e,r,u),{comment:p}=f,h=u[Ki];e.ge.set(r,fe);const m=e.Ae,y={};let S,b;f.He.keepOrder&&(y.Je=new g(e=>S=e)),e.Ae=y;try{const{He:t}=f;0==t.level||t.compressionMethod!==fe||t.je||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;return!(!n||n.requiresModule)||!(!hr(t)&&(r=t,!pr(r,cr)))||!!n&&await Br();var r}(wt())||(t.level=0,gi(e.warnings,wc,r));const o=await async function(e,t,{He:r},o){if(r.je&&!t&&!jc(e,o,Qi))throw new w(_s);let i;if(t){if(t=new fi(t),await pi(t),!t.readable&&!t.readUint8Array)throw new w($s);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{je:i,qe:a,zipCrypto:s,password:c,rawPassword:u,encryptionStrength:l}=r;let{dataDescriptor:f,zip64:d,level:p,compressionMethod:h}=r,m=0,y=0,g=!1;if(i&&t){if(y=o[Di],y===fe)throw new w(Js);if(h===fe)throw new w(Gs)}const S=!0===d,b=jc(e,o,Bi);if(t&&a&&!b&&nu(c,u))throw new w(Bs);const F=t&&(Boolean(c&&nu(c)||u&&nu(u))||a&&b);t||(p=0,h=0);const E=ta(F,s,l);t&&(i?(o.uncompressedSize=y,m=n===fe?Jc(y)+E:n+(a?0:E)):n===fe?(f=!0,(d||d===fe)&&(d=g=!0,m=4294967296)):(o.uncompressedSize=y=n,m=(Gc(h,p)?Jc(y):y)+E));const D=!(F||t&&(0!==n||i)||Gc(h,p));D&&jc(e,o,Te)===fe&&(f=!1);const x=S||g||y>=M,A=S||m>=M;if(x||A){if(!1===d)throw new w(Xs);d=!0}return d=d||!1,{Ge:m,He:{dataDescriptor:f,Ye:D,zip64:d,Ue:S,_e:g,Ne:x,Ie:A,uncompressedSize:y,level:p,compressionMethod:h,encrypted:F}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=Oc(e.writer),h=Tc(e.writer);let F=u.crc32===fe?u[qi]:u.crc32;const E=o.He.encrypted&&!t.zipCrypto;if(t.je&&!t.qe&&E&&(F=fe),t.je&&c&&!E&&F===fe)throw new w(Ys);const D=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:d,directory:p,rawExtraField:h,Xe:m,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:S,je:b,encrypted:F,Ne:E,Ie:D,uncompressedSize:x,_e:A,crc32:z}=e;let{version:v,compressionMethod:C}=e;const R=!p&&Gc(C,c);let T;const O=b||!R,I=u&&(e.bufferedWrite||!d||!E&&!D||O&&!A),N=I||u&&d&&(E||D);if(u&&(E||D)){const e=20,t=Rc(e);if(t.$e(1),t.$e(e-4),T=t.et,I&&(t.nt(x),O)){const e=ta(F,l,y);t.nt(b?0:x+e)}}else T=ge;let U,k,M,W,P,V;if(F&&!l){const e=Rc(nu(pc)+2);e.$e(Y),e.ot(pc),U=e.et,U[8]=y}else U=ge;if(g){const e=Qc(n),t=(Z=e)>=Hs&&Z<=js;if(t){const t=9+(o?4:0)+(i?4:0),n=Rc(t);W=1+(o?2:0)+(i?4:0),P=e,n.$e(_),n.$e(t-4),n.it(W),n.st(e),o&&n.st(Hc(Qc(o))),i&&n.st(Hc(Qc(i))),M=n.et}else M=ge;if(S===fe?!t||Boolean(o||i):S)try{const e=Zc(n),t=Rc(36);t.$e(10),t.$e(32),t.ct(4),t.$e(1),t.$e(24),t.nt(e),t.nt(o?Zc(o):e),t.nt(i?Zc(i):e),k=t.et}catch{k=ge}else k=ge}else k=M=ge;var Z;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=hc||t===fe&&n===fe)if(r!=mc||t===fe&&n===fe)V=ge;else{const e=Rc(8);e.$e(te),e.$e(4),e.$e((t===fe?0:t)&L),e.$e((n===fe?0:n)&L),V=e.et}else{const e=Cc(t===fe?0:t),r=Cc(n===fe?0:n),o=3+e.length+r.length,i=Rc(4+o);i.$e(ee),i.$e(o),i.it(1),i.it(e.length),i.ot(e),i.it(r.length),i.ot(r),V=i.et}}catch{V=ge}C===fe&&(C=R?8:0),v===fe&&(v=0!=C||p||F?20:10);const{Ke:Q}=e;R&&Q!==fe&&(v=v>Q?v:Q),u&&(v=v>45?v:45),F&&!l&&(v=v>51?v:51,b&&z!==fe&&(U[4]=1),_c(It(U),9,C),C=99);const H=N?nu(T):0,j=H+nu(U,M,k,V,h,m);if(j+(e[Ie]?67:0)>L)throw new w(Qs);const q=new s(2e3*a.ceil(a.floor(n.getTime()/1e3)/2)),K=q<le?le:q>ue?ue:q,X=nu(M)?new s(1e3*Qc(n)):nu(k)?n:K,{Te:J,Oe:G,rawLastModDate:$}=ru({version:v,bitFlag:iu(c,f,d,F,C),compressionMethod:C,uncompressedSize:x,lastModDate:K,rawLastModDate:r,rawFilename:t,Ie:D,Ne:E,extraFieldLength:j}),ne=Rc(ce+nu(t)+j),re=ne.et,oe=It(re);return ne.st(B),ne.ot(J),ne.ot(t),N&&ne.ot(T),ne.ot(U),ne.ot(M),ne.ot(k),ne.ot(V),ne.ot(h),ne.ot(m),d&&(D||$c(oe,18,0),E||$c(oe,22,0)),{ut:re,lt:oe,Te:J,Oe:G,lastModDate:X,ft:X===K&&q.getTime()!=K.getTime(),rawLastModDate:$,encrypted:F,compressed:R,version:v,compressionMethod:C,wt:W,ht:P,Me:ge,yt:H,We:M,Be:k,Pe:V,Le:U,extraFieldLength:j}}(u=n.assign({},u,l.He,f.He,o.He,{signature:u[qi],crc32:F,offset:e.offset-p,diskNumberStart:h,[Ie]:e.options[Ie]}));D.ft&&gi(e.warnings,dc,r);const A=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=ge,i=0,a=e?20:12;return n&&(a+=4),t&&(o=new d(a),r=It(o),n&&(i=4,$c(r,0,V))),{gt:o,St:r,bt:i}}(u),z=nu(D.ut,A.gt);b=await async function(e,t,r,o,a){const{ge:s,writer:c}=e,{keepOrder:u,dataDescriptor:l,Ye:f,signal:d}=a,{Ft:p,he:h,Et:m,Dt:y}=o,S=e.options[Ie];let b,F,E,D,A,z,v,C=h,R=0;const T=u&&m?m.Je:fe;s.set(t,C);try{a.bufferedWrite||!u||e.Ce||e.De||e.xe||!l&&!f?(b=!0,e.De++,v=a.createTempStream?await a.createTempStream():new x(fe,fe,{highWaterMark:we}),v.size=0,await pi(c)):(F=!0,e.xe++,v=c,await T,await O()),await pi(v);const h=Oc(c);e.ye&&!b&&await Bc(e,c),S&&!b&&vc(o,e.offset-h);const{ut:m}=p;b||await I();const y=Tc(c),E=Nc(e,c);if(C.diskNumberStart=y,b||(A=!0,z=c.size,await Pc(v,m)),C=await async function(e,t,{diskNumberStart:r,Je:o},a,s,c){const{Ft:u,xt:l,At:f}=a,{Te:d,Oe:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:b,Me:F,yt:E,We:D,wt:x,ht:A,Be:z,Pe:v,Le:C}=u,{gt:R}=l,{rawFilename:T,lastAccessDate:O,creationDate:I,password:N,rawPassword:U,level:k,useUnicodeFileNames:L,zip64:B,Ue:P,Ne:V,Ie:Z,zipCrypto:Q,dataDescriptor:H,directory:j,executable:q,versionMadeBy:K,rawComment:X,rawExtraField:J,Ve:G,useWebWorkers:Y,transferStreams:_,onstart:$,onprogress:ee,onend:te,signal:ne,encryptionStrength:re,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:ae,externalFileAttributes:se,uid:ce,gid:ue,unixMode:le,symlink:we,setuid:de,setgid:pe,sticky:he,unixExternalUpper:me,msdosAttributesRaw:ye,msdosAttributes:ge,useCompressionStream:Se,je:be,qe:Fe,format:Ee,codecURI:De}=c,xe={Je:o,versionMadeBy:K,zip64:B,Ue:P,directory:Boolean(j),executable:Boolean(q),filenameUTF8:Boolean(L),rawFilename:T,commentUTF8:Boolean(L),rawComment:X,Me:F,yt:E,We:D,Be:z,Pe:v,Le:C,rawExtraField:J,Ve:G,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:ae,externalFileAttributes:se,diskNumberStart:r,uid:ce,gid:ue,unixMode:le,symlink:Boolean(we),setuid:de,setgid:pe,sticky:he,unixExternalUpper:me,msdosAttributesRaw:ye,msdosAttributes:ge};let{crc32:Ae,uncompressedSize:ze}=c,ve=0;be||(ze=0);const{writable:Ce}=t;if(e){const n=e.size,r=Zn(yi(e,{size:n})),o={options:{codecType:Tr,inputSize:n,level:k,rawPassword:U,password:N,encryptionStrength:re,zipCrypto:y&&Q,passwordVerification:y&&Q&&m>>8&W,computeCrc32:!be,compressed:g&&!be,encrypted:y&&!Fe,useWebWorkers:Y,useCompressionStream:Se,transferStreams:_,format:Ee,codecURI:De,compressionMethod:b},config:s,C:{signal:ne,size:n,onstart:$,onprogress:ee,onend:te}};try{const e=await fo({readable:r,writable:Ce},o);if(ve=e.outputSize,t.size+=ve,Xe(ne),be||(ze=e.inputSize,y&&!Q||(Ae=e.crc32)),!Z&&ve>=M||!V&&ze>=M)throw new w(Xs)}catch(e){const{outputSize:n}=o;throw n!==fe?t.size+=n:Nt(e)&&e.outputSize!==fe&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Ft:r,xt:o},{zip64:a,zipCrypto:s,je:c,dataDescriptor:u}){const{Oe:l,encrypted:f}=r,{St:w,bt:d}=o;f&&!s&&!c||e===fe||($c(l,10,e),u&&$c(w,d,e)),a?u&&(eu(w,d+4,i(t)),eu(w,d+12,i(n))):($c(l,14,t),$c(l,18,n),u&&($c(w,d+4,t),$c(w,d+8,n)))}({crc32:Ae,compressedSize:ve,uncompressedSize:ze,Ft:u,xt:l},c),H&&await Pc(t,R),n.assign(xe,{uncompressedSize:ze,compressedSize:ve,lastModDate:h,rawLastModDate:m,creationDate:I,lastAccessDate:O,encrypted:Boolean(y),zipCrypto:Boolean(Q),size:f+ve,compressionMethod:b,version:S,Te:d,Oe:p,signature:Ae,crc32:!y||Q||be?Ae:fe,wt:x,ht:A,Ne:V,Ie:Z}),xe}(r,v,C,o,wt(),a),b||(A=!1),s.set(t,C),C.filename=t,b){if(await g.all([v.writable.getWriter().close(),T]),await O(),e.ye&&await Bc(e,c),D=!0,z=c.size,await I(),C.diskNumberStart=Tc(c),C.offset=Nc(e,c),S){const t=o.At;vc(o,e.offset-Oc(c)),C.size+=o.At-t}!function({rawFilename:e,encrypted:t,zip64:n,yt:r,crc32:o,compressedSize:a,uncompressedSize:s,Ne:c,Ie:u},l,{dataDescriptor:f,je:w}){if(f||((!t||w&&o!==fe)&&$c(l,14,o),u||$c(l,18,a),c||$c(l,22,s)),n&&r){const t=ce+nu(e)+4;eu(l,t,i(s)),eu(l,t+8,i(a))}}(C,p.lt,a),await Pc(c,p.ut),await Vc(v.readable,c,d,e=>R+=e),c.size+=v.size,D=!1}else C.diskNumberStart=y,C.offset=E;return e.offset+=C.size,C}catch(n){if(D||A){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,b&&(e.offset+=R)}throw s.delete(t),n}finally{if(b&&e.De--,F&&e.xe--,y&&y(T),E&&E(),b&&v&&v.dispose)try{await v.dispose()}catch{}}async function O(){e.Ce=!0;const{Re:t}=e;e.Re=new g(t=>E=()=>{e.Ce=!1,t()}),await t}async function I(){Ic(c,nu(p.ut))&&await c.closeDisk()}}(e,r,c,{Ft:D,xt:A,At:z,he:y,Et:m,Dt:S},u)}catch(t){throw e.ge.delete(r),t}finally{S&&S(m&&m.Je)}return n.assign(b,{name:r,comment:p,extraField:h}),new $i(b)}(e,r,u,l)}catch(t){throw e.Se.delete(r),t}finally{const e=Sc.shift();e?e():gc--}}(l,e,r,u);f.add(p);const h=()=>f.delete(p);return g.prototype.then.call(p,h,h),Dc(l,p)}remove(e){const{Se:t,ge:n}=this;if(typeof e==me&&(e=n.get(e)),e&&e.filename!==fe){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ge,n={}){const r=this,{Fe:o,writer:a}=this,{writable:s}=a;if(r.ze)return Ec(a);if(!(e instanceof d))throw new w(Ts);if(nu(e)>L)throw new w(Rs);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Ee.map(e=>e.zt));const c=r.Ee.filter(e=>e.vt&&!e.Ct);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Ct=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{Rt:o,Tt:a}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,Le:o,rawComment:i,Be:a,Pe:s,rawExtraField:c,Ve:u,wt:l,ht:f,Ue:d,uncompressedSize:p,compressedSize:h}=r;let{Ne:m,Ie:y}=r;d||(m&&p<M&&(m=r.Ne=!1),y&&h<M&&(y=r.Ie=!1)),n=n||m||y;const g=r.offset>=M,S=r.diskNumberStart>=L;let b,F;if(g||S||m||y){const e=4+(m?8:0)+(y?8:0)+(g?8:0)+(S?4:0),t=Rc(e);t.$e(1),t.$e(e-4),m&&t.nt(p),y&&t.nt(h),g&&t.nt(r.offset),S&&t.st(r.diskNumberStart),b=t.et}else b=ge;if(r.Me=b,r.Ot=g,r.ke=S,f===fe)F=ge;else{const e=Rc(9);e.$e(_),e.$e(5),e.it(l),e.st(f),F=e.et}r.We=F;const E=nu(b,o,a,s,F,c,u);if(E>L)throw new w(Qs);t+=K+nu(e,i)+E}return{Rt:t,Tt:n}}(e.ge),{It:s,Nt:c,Ut:u}=await async function(e,n,r){const{ge:o,writer:i}=e,a=new d(n);await pi(i);let s=0,c=0,u=Tc(i),l=Oc(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:w,Me:d,Le:p,We:h,Be:m,Pe:y,rawExtraField:g,Ve:S,rawComment:b,versionMadeBy:F,Te:E,Oe:D,Ne:x,Ie:A,ke:z,Ot:v,internalFileAttributes:C,externalFileAttributes:R,diskNumberStart:T,uncompressedSize:O,compressedSize:I}=n,N=nu(d,p,h,m,y,g,S),U=K+nu(w,b)+N;Ic(i,s+U-c)&&(await Pc(i,a.slice(c,s)),c=s,f=0,await i.closeDisk()),0==e&&(u=Tc(i),l=Oc(i)),x||$c(D,18,O),A||$c(D,14,I),(v||z)&&n.version<45&&_c(D,0,45);const k=Rc(U);if(k.st(Q),k.$e(F),k.ot(E.subarray(0,24)),k.$e(N),k.$e(nu(b)),k.$e(z?L:T),k.$e(C),k.st(R),k.st(v?M:t),k.ot(w),k.ot(d),k.ot(p),k.ot(h),k.ot(m),k.ot(y),k.ot(g),k.ot(S),k.ot(b),tu(a,k.et,s),s+=U,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new $i(n))}catch{}}return await Pc(i,c?a.slice(c):a),{It:{diskNumber:u,diskOffset:l},Nt:{diskNumber:Tc(i),kt:f},Ut:a}}(e,o,r),l=await async function(e,t,n){const r=Kc(e,n,"signCentralDirectory");if(r){const n=await r(t),o=nu(n);if(o>L)throw new w(uc);const i=Rc(6+o);i.st(Z),i.$e(o),i.ot(n);const{writer:a}=e;return Ic(a,nu(i.et))&&await a.closeDisk(),await Pc(a,i.et),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{It:a,Nt:s,Mt:c,Tt:u}=r;let{Rt:l}=r,f=e.ge.size,d=a.diskNumber,p=Nc(e,a);const h=nu(t);if(h>L)throw new w(Rs);let m=jc(e,n,Wi),y=Tc(o);if(Ic(o,(m?98:X)+h)&&y++,p>=M||l>=M||f>=L||y>=L){if(!1===m)throw new w(Xs);m=!0}else m===fe&&u&&(m=!0);const g=Rc(m?98:X);Ic(o,nu(g.et)+h)&&await o.closeDisk(),y=Tc(o);let S=y==s.diskNumber?s.kt:0;m&&(g.st(j),g.nt(44),g.$e(45),g.$e(45),g.st(y),g.st(d),g.nt(S),g.nt(f),g.nt(l),g.nt(p),g.st(q),g.st(y),g.nt(i(Nc(e,o))+i(l)+i(c)),g.st(y+1),jc(e,n,"supportZip64SplitFile",!0)&&(y=L,d=L),S=L,f=L,p=M,l=M),g.st(H),g.$e(y),g.$e(d),g.$e(S),g.$e(f),g.st(l),g.st(p),g.$e(h),await Pc(o,g.et),h&&await Pc(o,t)}(e,n,r,{It:s,Nt:c,Rt:o,Mt:l,Tt:a})}(r,e,n),r.ze=!0,!di(a)&&jc(r,n,ve)||await s.getWriter().close(),Ec(a)}[Se](){return this.close()}}class Fc extends g{then(e,t){const{Lt:n}=this;return n&&(n.Ct=!0),super.then(e,t)}}function Ec(e){return e.getData?e.getData():e.writable}function Dc(e,t){const r=new Fc((e,n)=>g.prototype.then.call(t,e,n)),o={};return r.Lt=o,o.zt=g.prototype.then.call(r,fe,e=>n.assign(o,{vt:!0,error:e})),e.Ee.push(o),r}async function xc(e,t){try{await e.writer.writable.abort(t)}catch{}}function Ac(e,t,n){e.Fe.add(t),t.catch(e=>{try{n(e)}catch{}})}function zc(e){if(!e)return ge;if(!(e instanceof c))throw new w(Ps);let t=0,n=0;e.forEach((e,n)=>{if(Ye(n,L,Vs),!(e instanceof d))throw new w(Zs);if(nu(e)>L)throw new w(Qs);t+=4+nu(e)});const r=new d(t),o=It(r);return e.forEach((e,t)=>{_c(o,n,t),_c(o,n+2,nu(e)),tu(r,e,n+4),n+=4+nu(e)}),r}function vc(e,t){const{Ft:n}=e;let{ut:r,extraFieldLength:o}=n,i=64-(t+nu(r))%64;i<4&&(i+=64);const a=new d(i),s=It(a);_c(s,0,$),_c(s,2,i-4);const c=r;n.ut=r=new d(nu(c)+i),tu(r,c),tu(r,a,nu(c));const u=It(r);_c(u,28,o+i),n.lt=u,e.At+=i}function Cc(e){const t=new d(4);It(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Rc(e){const t=new d(e),n=It(t);let r=0;return{et:t,it:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},$e:e=>{_c(n,r,e),r+=2},st:e=>{$c(n,r,e),r+=4},nt:e=>{eu(n,r,i(e)),r+=8},ot:e=>{tu(t,e,r),r+=nu(e)},ct:e=>r+=e}}function Tc(e){const{diskNumber:t=0}=e;return t}function Oc(e){const{diskOffset:t=0}=e;return t}function Ic(e,t){const{availableSize:n=we}=e;return t>n}function Nc(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.be:0)}function Uc(e){const t=It(e);let n=0;for(;n+4<=nu(e);){const r=4+Yc(t,n+2);if(1==Yc(t,n))return Uc(Tt(e.subarray(0,n),e.subarray(a.min(n+r,nu(e)))));n+=r}return e}async function kc(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Vc(yi(t,{offset:n,size:r}),o,fe,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Mc(e,t){const n=await mi(e,t,ce);if(nu(n)<ce)return ce;const r=It(n);return ce+Yc(r,26)+Yc(r,28)}function Lc(e,{offset:t,diskNumberStart:n}){return t+(e.ie?e.ie(n):0)}function Wc(){const e=new d(4);return $c(It(e),0,P),e}async function Bc(e,t){delete e.ye,await Pc(t,Wc()),e.offset+=4}async function Pc(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=nu(t),await r.write(t)}finally{r.releaseLock()}}async function Vc(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new z({async write(e){await o.ready,await o.write(e),r(nu(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Zc(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<qs?qs:t>Ks?Ks:t}}function Qc(e){return a.floor(e.getTime()/1e3)}function Hc(e){return a.min(js,a.max(Hs,e))}function jc(e,t,n,r){const o=t[n]===fe?e.options[n]:t[n];return o===fe?r:o}function qc(e,t,n,r){const i=jc(e,t,n,r);if(null===i)return r;if(i!==fe&&(typeof i.getTime!=pe||o.isNaN(i.getTime())))throw new w(Ns);return i}function Kc(e,t,n){return qe(jc(e,t,n))}function Xc(e,t,n,r){return $e(jc(e,t,n,r))}function Jc(e){return e+5*(a.floor(e/16383)+1)}function Gc(e,t){return e===fe?t===fe||t>0:0!==e}function Yc(e,t){return e.getUint16(t,!0)}function _c(e,t,n){e.setUint16(t,n,!0)}function $c(e,t,n){e.setUint32(t,n,!0)}function eu(e,t,n){e.setBigUint64(t,n,!0)}function tu(e,t,n){e.set(t,n)}function nu(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function ru({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:a,rawFilename:s,Ie:c,Ne:u,extraFieldLength:l}){const f=Rc(26),w=f.et,d=It(w);if(f.$e(e),f.$e(t),f.$e(n),a===fe){const e=new h(1),t=It(e);_c(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),_c(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return f.st(a),f.ct(4),c||o!==fe?f.st(c?M:o):f.ct(4),u||r!==fe?f.st(u?M:r):f.ct(4),f.$e(nu(s)),f.$e(l),{Te:w,Oe:d,rawLastModDate:a}}function ou(e){return e.every(e=>e>=32&&e<=126)}function iu(e,t,n,r,o){let i=0;return t&&(i|=ne),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function au(e,t){if(!e)return!1;const{supportedFormats:n}=e;return n?n.includes(t):pr(e,t)}const su=1048576,cu=".zip.js-temp",uu=1048576,lu=1048576,fu=".zip.js-temp",wu="createSyncAccessHandle is only available in dedicated workers";try{gt({baseURI:void 0===F&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===F?location.href:k&&"SCRIPT"===k.tagName.toUpperCase()&&k.src||new f("zip-legacy.min.js",F.baseURI).href})}catch{}Ct(gt),e.BlobReader=Zo,e.BlobWriter=Qo,e.Data64URIReader=class extends Wo{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Wt:e,Bt:r,size:a.floor(.75*(t-r))})}readUint8Array(e,t){const{Bt:n,Wt:r}=this,o=new d(t),i=4*a.floor(e/3),s=atob(r.substring(i+n,4*a.ceil((e+t)/3)+n)),c=e-3*a.floor(i/4);let u=0;for(let e=c;e<c+t&&e<s.length;e++)o[e-c]=s.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends Bo{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Pt:""})}writeUint8Array(e){const t=this;let n,o=t.Pt;const i=t.Pt.length;for(t.Pt="",n=0;n<3*a.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Pt+=r.fromCharCode(e[n]);o.length>2?t.data+=D(o):t.Pt=o+t.Pt}getData(){return this.data+D(this.Pt)}},e.ERR_ABORTED=je,e.ERR_AMBIGUOUS_ARCHIVE=da,e.ERR_BAD_FORMAT=na,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ia,e.ERR_CODEC_OUT_OF_MEMORY=or,e.ERR_DUPLICATED_NAME=Cs,e.ERR_ENCRYPTED=ca,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=pa,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=wa,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=oa,e.ERR_EOCDR_NOT_FOUND=ra,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=sa,e.ERR_HTTP_RANGE=Ao,e.ERR_HTTP_RESOURCE_CHANGED=zo,e.ERR_HTTP_STATUS=xo,e.ERR_INVALID_AUTHENTICATION_CODE=ln,e.ERR_INVALID_BASE_URI=tt,e.ERR_INVALID_CODEC_DEFINITION=jn,e.ERR_INVALID_CODEC_MODULE=Kn,e.ERR_INVALID_COMMENT=Rs,e.ERR_INVALID_COMMENT_TYPE=Ts,e.ERR_INVALID_COMPRESSED_DATA=rr,e.ERR_INVALID_CRC32=ir,e.ERR_INVALID_DATE=Ns,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ms,e.ERR_INVALID_ENTRY=lc,e.ERR_INVALID_ENTRY_COMMENT=Os,e.ERR_INVALID_ENTRY_COMMENT_TYPE=Is,e.ERR_INVALID_ENTRY_NAME=Us,e.ERR_INVALID_EXTRAFIELD=Ps,e.ERR_INVALID_EXTRAFIELD_DATA=Qs,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Zs,e.ERR_INVALID_EXTRAFIELD_TYPE=Vs,e.ERR_INVALID_FILENAME_VALIDATION=ya,e.ERR_INVALID_FUNCTION_OPTION=Ve,e.ERR_INVALID_GID=nc,e.ERR_INVALID_LEVEL=cc,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=ga,e.ERR_INVALID_MAX_WORKERS=et,e.ERR_INVALID_MSDOS_ATTRIBUTES=ac,e.ERR_INVALID_MSDOS_DATA=sc,e.ERR_INVALID_PASSWORD=un,e.ERR_INVALID_PASSWORD_TYPE=Qe,e.ERR_INVALID_PASS_THROUGH_VALUE=He,e.ERR_INVALID_READER=$s,e.ERR_INVALID_SIGNAL=Ze,e.ERR_INVALID_SIGNATURE_DATA=uc,e.ERR_INVALID_STRICTNESS=ma,e.ERR_INVALID_UID=tc,e.ERR_INVALID_UNCOMPRESSED_SIZE=nr,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=oc,e.ERR_INVALID_UNIX_ID_SIZE=ic,e.ERR_INVALID_UNIX_MODE=rc,e.ERR_INVALID_URI=nt,e.ERR_INVALID_VERSION=ks,e.ERR_ITERATOR_COMPLETED_TOO_SOON=vo,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=aa,e.ERR_OVERLAPPING_ENTRY=fa,e.ERR_RESERVED_COMPRESSION_METHOD=qn,e.ERR_SPLIT_ZIP_FILE=la,e.ERR_UNDEFINED_COMPRESSION_METHOD=Gs,e.ERR_UNDEFINED_CRC32=Ys,e.ERR_UNDEFINED_READER=_s,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Js,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=ha,e.ERR_UNSUPPORTED_COMPRESSION=Xn,e.ERR_UNSUPPORTED_CONTEXT=wu,e.ERR_UNSUPPORTED_CRYPTO_API=wn,e.ERR_UNSUPPORTED_ENCRYPTION=ua,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Bs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ls,e.ERR_UNSUPPORTED_FORMAT=Xs,e.ERR_UNSUPPORTED_SPLIT_USDZ=Ws,e.ERR_UNSUPPORTED_UINT64=Sa,e.ERR_WORKER_STARTUP_TIMEOUT=Ur,e.ERR_WRITER_NOT_INITIALIZED=Co,e.ERR_WRITER_SIZE_NOT_WRITABLE=Ro,e.ERR_ZIP_CRYPTO_LAST_MOD_DATE=fc,e.ERR_ZIP_NOT_EMPTY=ec,e.HttpRangeReader=class extends ci{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ci,e.Reader=Wo,e.SplitDataReader=ui,e.SplitDataWriter=li,e.TextReader=class extends Zo{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Qo{constructor(e){super(),n.assign(this,{encoding:e,Vt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Vt:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Do(e,t,!1)}(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Wo{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{et:e,size:e.length})}readUint8Array(e,t){return this.et.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Bo{constructor(e){super(),this.Zt=e||262144}init(e=0){n.assign(this,{offset:0,et:new d(e>0?e:this.Zt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.et.length){let e=t.et.length?2*t.et.length:t.Zt;for(;e<n;)e*=2;const r=t.et;t.et=new d(e),t.et.set(r)}t.et.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.et.length?this.et:this.et.slice(0,this.offset)}},e.VERSION="2.17.0",e.WARNING_APPENDED_DATA=za,e.WARNING_CLAMPED_LAST_MODIFICATION_DATE=dc,e.WARNING_COMPRESSED_PATCHED_DATA=Ea,e.WARNING_COMPRESSION_UNAVAILABLE=wc,e.WARNING_DUPLICATE_FILENAME=Ta,e.WARNING_MALFORMED_EXTRA_FIELD=Da,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ua,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=ka,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Ma,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=Na,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Oa,e.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=Ia,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Ca,e.WARNING_PREPENDED_DATA=va,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Ra,e.WARNING_UNKNOWN_VERSION=Fa,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=xa,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=ba,e.WARNING_WRAPPED_ENTRIES_COUNT=Aa,e.Writer=Bo,e.ZipReader=Ha,e.ZipReaderStream=ja,e.ZipWriter=bc,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new x;this.readable=t,this.zipWriter=new bc(n,e),this.Fe=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new x({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await xc(t,e)}}()}});return Ac(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new x({start(e){t=e}});return Ac(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await g.allSettled(t.from(this.Fe))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await xc(r,e),e}try{return await r.close(e,n)}catch(e){throw await xc(r,e),e}}},e.configure=function(e){n.assign(ft,ht(yt(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=uu}=e;return function(){const e=[];let n,r,o,i=0,a=!1;const s=new z({async write(o){a?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new x;r=Qn(t.readable),n=t.writable.getWriter(),a=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:s,readable:new A({async pull(t){if(a){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=su,directoryName:r=cu,getDirectory:o=()=>R.storage.getDirectory()}=e;let i;function a(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,s,c=0,u=!1;const l=new z({async write(s){u?await i.write(s):(e.push(s),c+=s.length,c>n&&await async function(){const n=await a();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new A({async pull(t){if(u){if(!s){const e=await o.getFile();s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=lu,directoryName:r=fu,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(wu);const i=o||(()=>R.storage.getDirectory());let s;function c(){return s||(s=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return function(){const e=[];let r,o,i=0,s=!1,u=0,l=0;const f=new z({async write(a){s?(o.write(a,{at:u}),u+=a.length):(e.push(a),i+=a.length,i>n&&await async function(){const n=await c();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),s=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let w=0;return{writable:f,readable:new A({pull(t){if(s){const e=u-l;if(e<=0)return void t.close();const n=new d(a.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=$n,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=wt(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:au(n,ar)||au(e,ar)||au(e,cr),decompression:au(r,ar)||au(t,ar)||au(t,cr),registered:!1},{compressionMethod:9,compression:!1,decompression:au(r,sr)||au(t,sr),registered:!1}];for(const e of $n()){const t=er(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==pe:fe,decompression:t?typeof t.DecompressionStream==pe:fe,registered:!0})}return o},e.isZipFile=qa,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:a,versionNeeded:s}=e;if(!o.isInteger(t)||t<0||t>L||typeof n!=me||!n.length)throw new w(jn);if(Jn.includes(t))throw new w(qn);const c=typeof i==pe||typeof a==pe;if(!(c||typeof r==me&&r.length))throw new w(jn);Gn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:s}),c&&tr(n,{CompressionStream:i,DecompressionStream:a})},e.resetConfiguration=function(){for(const e of lt)delete ft[e];n.assign(ft,ot)},e.terminateWorkers=async function(){await g.allSettled([mo(),...ao.map(e=>(So(e),e.terminate()))]),kr=fe,Mr=!1},e.unregisterCodec=function(e){const t=Gn.get(e);if(t){let n;Gn.delete(e),Gn.forEach(e=>n=n||e.format==t.format),n||Yn.delete(t.format)}}});