@zip.js/zip.js 2.12.0 → 2.13.1

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 (41) hide show
  1. package/deno.json +1 -1
  2. package/dist/zip-core-external.js +158 -41
  3. package/dist/zip-core-external.min.js +1 -1
  4. package/dist/zip-core.js +158 -41
  5. package/dist/zip-core.min.js +1 -1
  6. package/dist/zip-fs-core-external.js +159 -42
  7. package/dist/zip-fs-core-external.min.js +1 -1
  8. package/dist/zip-fs-core.js +159 -42
  9. package/dist/zip-fs-core.min.js +1 -1
  10. package/dist/zip-fs-external.js +159 -42
  11. package/dist/zip-fs-external.min.js +1 -1
  12. package/dist/zip-fs-native.js +161 -44
  13. package/dist/zip-fs-native.min.js +1 -1
  14. package/dist/zip-fs.js +160 -43
  15. package/dist/zip-fs.min.js +1 -1
  16. package/dist/zip-legacy.js +160 -43
  17. package/dist/zip-legacy.min.js +1 -1
  18. package/dist/zip-native.js +160 -43
  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 +159 -42
  23. package/dist/zip.min.js +1 -1
  24. package/index-native.cjs +161 -44
  25. package/index-native.min.js +1 -1
  26. package/index.cjs +160 -43
  27. package/index.d.cts +19 -7
  28. package/index.d.ts +19 -7
  29. package/index.min.js +1 -1
  30. package/lib/core/codec-worker-web.js +96 -30
  31. package/lib/core/codec-worker.js +15 -3
  32. package/lib/core/util/error.js +35 -0
  33. package/lib/core/version.js +1 -1
  34. package/lib/core/web-worker-base.js +43 -7
  35. package/lib/core/web-worker-inline-native.js +1 -1
  36. package/lib/core/web-worker-inline-wasm.js +1 -1
  37. package/lib/core/zip-fs.js +2 -1
  38. package/lib/core/zip-reader.js +9 -4
  39. package/lib/core/zip-writer.js +8 -3
  40. package/package.json +1 -1
  41. package/worker-message-property-names.js +1 -1
@@ -1 +1 @@
1
- const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,l=101075792,u=117853008,f=46,d=22,w=20,p=56,m=39169,h=21589,y=6534,E=30837,b=30805,S=2048,g=61440,A=16384,R=2048,D=1024,x="/",F=30,z=new Date(2107,11,31,23,59,58),T=new Date(1980,0,1),I=void 0,O=1/0,U="undefined",C="function",k="object",M="string",N="boolean",v=new Uint8Array,_=Symbol.asyncDispose||Symbol(),L="password",B="rawPassword",P="passThrough",W="signal",j="useWebWorkers",V="useCompressionStream",Z="transferStreams",H="preventClose",G="level",K="useUnicodeFileNames",Y="dataDescriptor",q="offset",X="usdz",J="maxAppendedDataSize",Q="entry",$="filename",tt="comment",et="strict",rt="balanced",nt="tolerant",ot="compressed",at="Invalid option (must be a function)",it="Invalid signal (must be an AbortSignal instance)",st="Invalid password (password must be a string, rawPassword must be a Uint8Array)",ct="Invalid passThrough option (must be a boolean or 'compressed')",lt="The operation was aborted";function ut(t){if(t&&typeof t!=C)throw new Error(at);return t}function ft(t){if(t&&(typeof t.addEventListener!=C||typeof t.aborted!=N))throw new Error(it);return t||I}function dt(t){if(t&&t.aborted)throw t.reason===I?new DOMException(lt,"AbortError"):t.reason}function wt(t,e){if(t&&typeof t!=M||e&&!(e instanceof Uint8Array))throw new Error(st)}function pt(t){if(t!==I&&typeof t!=N&&t!==ot)throw new Error(ct);return t}function mt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function ht(t,e,r){t!==I&&mt(t,e,r)}function yt(t){return typeof t==M&&t.trim()?Number(t):t}const Et="Invalid maxWorkers (must be an integer greater than 0)",bt="Invalid baseURI (must be a string)",St="Invalid URI (must be a string or a function returning a string)";let gt=2;try{typeof navigator!=U&&navigator.hardwareConcurrency&&(gt=navigator.hardwareConcurrency)}catch{}const At={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:gt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=U&&CompressionStream,DecompressionStream:typeof DecompressionStream!=U&&DecompressionStream},Rt="maxWorkers",Dt="baseURI",xt=["wasmURI","workerURI"],Ft=["chunkSize",Rt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],zt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Tt=[Dt,...xt,"useCompressionStream","useWebWorkers","transferStreams",...Ft,...zt],It={...At};function Ot(){return It}function Ut(t){return Ct(t.chunkSize)}function Ct(t){return t=yt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function kt(t){Object.assign(It,Mt(vt(t)))}function Mt(t){const e={};for(const r of Tt){const n=t[r];n!==I&&(e[r]=Nt(r,n))}return e}function Nt(t,e){if(Ft.includes(t)){if(e=yt(e),t==Rt&&(!Number.isInteger(e)||e<1))throw new Error(Et)}else if(zt.includes(t))ut(e);else if(t==Dt){if(e&&typeof e!=M)throw new Error(bt)}else if(xt.includes(t)&&e&&typeof e!=M&&typeof e!=C)throw new Error(St);return e}function vt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===I&&r===I)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===I&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===I&&(n.DecompressionStreamFallback=r),n}function _t(t){const e=Mt(vt(t));Object.assign(At,e),Object.assign(It,e)}function Lt(){for(const t of Tt)delete It[t];Object.assign(It,At)}function Bt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function Pt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Wt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const jt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;jt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=jt[e-1][t];jt[e][t]=r>>>8^jt[0][255&r]}const[Vt,Zt,Ht,Gt,Kt,Yt,qt,Xt]=jt;class Jt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=Xt[255&t]^qt[t>>>8&255]^Yt[t>>>16&255]^Kt[t>>>24&255]^Gt[255&r]^Ht[r>>>8&255]^Zt[r>>>16&255]^Vt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Vt[255&(e^t[n])];this.o=e}get(){return~this.o}}class Qt extends TransformStream{constructor(){let t;const e=new Jt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function $t(t){if(typeof TextEncoder==U){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const te={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=te.l(r);return 32===n?t.concat(e):te.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+te.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=te.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let o=0;o<t.length;o++)n.push(r|t[o]>>>e),r=t[o]<<32-e;const o=t.length?t[t.length-1]:0,a=te.l(o);return n.push(te.S(e+a&31,e+a>32?r:n.pop(),1)),n}},ee={bytes:{A(t){const e=te.bitLength(t)/8,r=new Uint8Array(e);let n;for(let o=0;o<e;o++)3&o||(n=t[o/4]),r[o]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(te.S(8*(3&r),n)),e}}},re=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.F=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.I=t.I.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.I=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=ee.U.R(t));const r=e.I=te.concat(e.I,t),n=e.O,o=e.O=n+te.bitLength(t);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=o;t+=e.blockSize)e.C(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}M(){const t=this;let e=t.I;const r=t.T;e=te.concat(e,[te.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.C(e.splice(0,16));return t.reset(),r}N(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}v(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.T,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let o=r[0],a=r[1],i=r[2],s=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.v(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.v(5,o)+e.N(t,a,i,s)+c+n[t]+e.F[Math.floor(t/20)]|0;c=s,s=i,i=e.v(30,a),a=o,o=r}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0}},ne={importKey:t=>new ne._(ee.bytes.R(t)),L(t,e,r,n){if(r=r||1e4,n<0||r<0)throw new Error("invalid params to pbkdf2");const o=1+(n>>5)<<2;let a,i,s,c,l;const u=new ArrayBuffer(o),f=new DataView(u);let d=0;const w=te;for(e=ee.bytes.R(e),l=1;d<(o||1);l++){for(a=i=t.encrypt(w.concat(e,[l])),s=1;s<r;s++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(s=0;d<(o||1)&&s<a.length;s++)f.setInt32(d,a[s]),d+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.B=re,n=[[],[]];e.P=[new r,new r];const o=e.P[0].blockSize/32;t.length>o&&(t=(new r).update(t).M());for(let e=0;e<o;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.P[0].update(n[0]),e.P[1].update(n[1]),e.W=new r(e.P[0])}reset(){const t=this;t.W=new t.B(t.P[0]),t.j=!1}update(t){this.j=!0,this.W.update(t)}digest(){const t=this,e=t.W.M(),r=new t.B(t.P[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.j)throw new Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},oe=typeof crypto!=U&&typeof crypto.getRandomValues==C,ae="Invalid password",ie="Invalid authentication code",se="zipjs-abort-check-password",ce="Crypto API not supported";function le(t){if(oe)return crypto.getRandomValues(t);throw new Error(ce)}const ue=16,fe={name:"PBKDF2"},de=Object.assign({hash:{name:"HMAC"}},fe),we=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},fe),pe=["deriveBits"],me=[8,12,16],he=[16,24,32],ye=10,Ee=[0,0,0,0],be=typeof crypto!=U,Se=be&&crypto.subtle,ge=be&&typeof Se!=U,Ae=ee.bytes,Re=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],o=t.length;let a,i,s,c=1;if(4!==o&&6!==o&&8!==o)throw new Error("invalid aes key size");for(e.F=[i=t.slice(0),s=[]],a=o;a<4*o+28;a++){let t=i[a-1];(a%o===0||8===o&&a%o===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],a%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-o]^t}for(let t=0;a;t++,a--){const e=i[3&t?a:a-4];s[t]=a<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],o=[],a=[];let i,s,c,l;for(let t=0;t<256;t++)a[(o[t]=t<<1^283*(t>>7))^t]=t;for(let u=i=0;!r[u];u^=s||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[u]=a,n[a]=u,l=o[c=o[s=o[u]]];let f=16843009*l^65537*c^257*s^16843008*u,d=257*o[a]^16843008*a;for(let r=0;r<4;r++)t[r][u]=d=d<<24^d>>>8,e[r][a]=f=f<<24^f>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw new Error("invalid aes block size");const r=this.F[e],n=r.length/4-2,o=[0,0,0,0],a=this.V[e],i=a[0],s=a[1],c=a[2],l=a[3],u=a[4];let f,d,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],E=4;for(let t=0;t<n;t++)f=i[p>>>24]^s[m>>16&255]^c[h>>8&255]^l[255&y]^r[E],d=i[m>>>24]^s[h>>16&255]^c[y>>8&255]^l[255&p]^r[E+1],w=i[h>>>24]^s[y>>16&255]^c[p>>8&255]^l[255&m]^r[E+2],y=i[y>>>24]^s[p>>16&255]^c[m>>8&255]^l[255&h]^r[E+3],E+=4,p=f,m=d,h=w;for(let t=0;t<4;t++)o[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[E++],f=p,p=m,m=h,h=y,y=f;return o}},De=class{constructor(t,e){this.G=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.G,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const o=te.bitLength(e);for(let o=0;o<n;o+=4){this.$(r);const n=t.encrypt(r);e[o]^=n[0],e[o+1]^=n[1],e[o+2]^=n[2],e[o+3]^=n[3]}return te.h(e,o)}},xe=ne._;let Fe=be&&ge&&typeof Se.importKey==C,ze=be&&ge&&typeof Se.deriveBits==C;class Te extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){Oe(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,et:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await Ce(t,e,r,Me(n,0,me[e])),a=Me(n,me[e]);if(o[0]!=a[0]||o[1]!=a[1])throw new Error(ae)}(r,a,o,Me(t,0,me[a]+2)),t=Me(t,me[a]+2),n?e.error(new Error(se)):i()):await s;const c=new Uint8Array(t.length-ye-(t.length-ye)%ue);e.enqueue(Ue(r,t,c,0,ye,!0))},async flush(t){const{nt:e,ot:r,it:n,ready:a}=this;if(r&&e){await a;const i=Me(n,0,n.length-ye),s=Me(n,n.length-ye);let c=v;if(i.length){const t=ve(Ae,i);r.update(t);const n=e.update(t);c=Ne(Ae,n)}const l=Me(Ne(Ae,r.digest()),0,ye);let u=n.length<ye?1:0;for(let t=0;t<ye;t++)u|=l[t]^s[t];if(u&&o)throw new Error(ie);t.enqueue(c)}}})}}class Ie extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Oe(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,et:a,ready:i}=r;let s=v;n?(s=await async function(t,e,r){const n=le(new Uint8Array(me[e]));return Bt(n,await Ce(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%ue);c.set(s,0),e.enqueue(Ue(r,t,c,s.length,0))},async flush(t){const{nt:e,ot:r,it:n,ready:o}=this;if(r&&e){await o;let a=v;if(n.length){const t=e.update(ve(Ae,n));r.update(t),a=Ne(Ae,t)}const i=Ne(Ae,r.digest()).slice(0,ye);t.enqueue(Bt(a,i))}}})}}function Oe(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:ke(e,r),strength:n-1,it:v})}function Ue(t,e,r,n,o,a){const{nt:i,ot:s,it:c}=t;c.length&&(e=Bt(c,e));const l=e.length-o;let u;for(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+(l-l%ue)),u=0;u<=l-ue;u+=ue){const t=ve(Ae,Me(e,u,u+ue));a&&s.update(t);const o=i.update(t);a||s.update(o),r.set(Ne(Ae,o),u+n)}return t.it=Me(e,u),r}async function Ce(t,e,r,n){t.password=null;const o=await async function(t,e,r,n,o){if(!Fe)return ne.importKey(e);try{return await Se.importKey("raw",e,r,!1,o)}catch{return Fe=!1,ne.importKey(e)}}(0,r,de,0,pe),a=await async function(t,e,r){if(!ze)return ne.L(e,t.salt,we.iterations,r);try{return await Se.deriveBits(t,e,r)}catch{return ze=!1,ne.L(e,t.salt,we.iterations,r)}}(Object.assign({salt:n},we),o,8*(2*he[e]+2)),i=new Uint8Array(a),s=ve(Ae,Me(i,0,he[e])),c=ve(Ae,Me(i,he[e],2*he[e])),l=Me(i,2*he[e]);return Object.assign(t,{keys:{key:s,st:c,passwordVerification:l},nt:new De(new Re(s),Array.from(Ee)),ot:new xe(c)}),l}function ke(t,e){return e===I?$t(t):e}function Me(t,e,r){return t.subarray(e,r)}function Ne(t,e){return t.A(e)}function ve(t,e){return t.R(e)}class _e extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Be(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Pe(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(ae);t=t.subarray(12)}n?e.error(new Error(se)):e.enqueue(Pe(r,t))}})}}class Le extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Be(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=le(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(We(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(We(r,t),o),e.enqueue(n)}})}}function Be(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Jt(n[0]),lt:new Jt(n[2])}),r)for(let e=0;e<r.length;e++)je(t,r[e]);else for(let r=0;r<e.length;r++)je(t,e.charCodeAt(r))}(t,e,r)}function Pe(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ve(t)^e[n],je(t,r[n]);return r}function We(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ve(t)^e[n],je(t,e[n]);return r}function je(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=He(Math.imul(He(r+Ze(n)),134775813)+1),t.lt.append([r>>>24]);const o=~t.lt.get();t.keys=[n,r,o]}function Ve(t){const e=2|t.keys[2];return Ze(Math.imul(e,1^e)>>>8)}function Ze(t){return 255&t}function He(t){return 4294967295&t}function Ge(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Ke(t,e){t=Ge(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=C||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Ye(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const qe="Invalid codec definition",Xe="Reserved compression method",Je="Invalid codec module",Qe="Compression method not supported",$e=[0,8,9,99],tr=new Map,er=new Map;function rr(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=M||!n.length)throw new Error(qe);if($e.includes(r))throw new Error(Xe);const c=typeof a==C||typeof i==C;if(!(c||typeof o==M&&o.length))throw new Error(qe);tr.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&sr(n,{CompressionStream:a,DecompressionStream:i})}function nr(t){const e=tr.get(t);if(e){let r;tr.delete(t),tr.forEach(t=>r=r||t.format==e.format),r||er.delete(e.format)}}function or(t){return tr.get(t)}function ar(){return Array.from(tr.values(),t=>Object.assign({},t,er.get(t.format)))}function ir(t){return er.get(t)}function sr(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=C&&typeof n!=C)throw new Error(Je);er.set(t,{CompressionStream:r,DecompressionStream:n})}const cr="Invalid uncompressed size",lr="Invalid compressed data",ur="Invalid CRC32",fr="deflate-raw",dr="deflate64-raw",wr="gzip",pr=[31,139,8];class mr extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=t,p=this;let m,h,y,E=super.readable;const b=f&&ir(f),S=c&&o&&!u&&!b&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(m=new Qt,E=Dr(E,m)),o)if(b)E=xr(E,Ar(b.CompressionStream,f,{level:l,chunkSize:e,compressionMethod:d,uncompressedSize:w}));else if(S)y=new hr,E=xr(E,new n(wr)),E=Dr(E,y);else try{E=Rr(E,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(wr)}catch{throw t}E=xr(E,e),E=Dr(E,new hr)}a&&(s?E=Dr(E,new Le(t)):(h=new Ie(t),E=Dr(E,h))),gr(p,E,()=>{a&&!s||!c||(p.crc32=S?y.crc32:new DataView(m.value.buffer).getUint32(0))})}}class hr extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=Bt(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(Bt(r.subarray(0,i),t.subarray(0,a-i))),r=Bt(r.subarray(i),t.subarray(a-i))},flush(){const e=Wt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class yr extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:d,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(a&&(o?y=Dr(y,new _e(t)):(h=new Te(t),y=Dr(y,h))),c){const t=f&&ir(f);if(t)y=xr(y,Ar(t.DecompressionStream,f,{chunkSize:e,compressionMethod:d,rawBitFlag:w,uncompressedSize:p}));else try{y=Rr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||p===I)throw t;let e;try{e=new n(wr)}catch{throw t}y=function(t,e,r){const n=new Jt;let o,a,i,s=0,c=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),r||a();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(pr),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,d();try{await l}finally{w()}const e=new Uint8Array(8),o=Wt(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&d(),e.enqueue(t)},cancel(t){i(t)}});return t=Dr(t,u),Dr(t=xr(t,e),f);function d(){w(),o=setTimeout(()=>i(new Error(cr)),5e3)}function w(){clearTimeout(o)}}(y,e,p)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(lr);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(m=new Qt,y=Dr(y,m)),gr(this,y,()=>{if(i){const t=new DataView(m.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(ur)}})}}const Er=new Map;function br(t,e){if(!t)return!1;let r=Er.get(t);r||(r=new Map,Er.set(t,r));let n=r.get(e);if(n===I){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Sr(t){return br(t,fr)}function gr(t,e,r){e=Dr(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Ar(t,e,r){if(!t)throw new Error(Qe);return new t(e,r)}function Rr(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?dr:fr;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return xr(t,s)}function Dr(t,e){return Ge(t).pipeThrough(e)}function xr(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const Fr="data",zr="deflate",Tr="inflate";class Ir extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(zr)?o=mr:n.startsWith(Tr)&&(o=yr),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==I&&r.outputSize>t.outputSize))throw new Error(cr)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class Or extends TransformStream{constructor(t){const e=[];let r=0,n=0;function o(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,i){for(e.push(a),r+=a.length;r>t;)n+=t,i.enqueue(o())},flush(t){r&&(n+=r,t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r)))}}),Object.defineProperty(this,"outputSize",{get:()=>n})}}const Ur="Worker startup timeout";let Cr,kr,Mr,Nr=()=>{};function vr(t){t.createWorker?kr=!0:Cr=!1}class _r{constructor(t,{readable:e,writable:r},{options:n,config:o,ut:a,useWebWorkers:i,transferStreams:s,workerURI:c,createWorker:l},u){const{signal:f}=a;return kr&&(l=I),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new Or(Ut(o))).pipeThrough(new Lr(a),{signal:f}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:s,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.Et=null):e()}),bt(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.St=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),Cr===I&&(Cr=typeof Worker!=U),(i&&Mr&&(Cr&&c||l)?Mr:Pr)(t,o)}}class Lr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await Br(t,r)},async transform(t,n){o+=t.length,e&&await Br(e,o,r),n.enqueue(t)},async flush(){n&&await Br(n,o)}})}}async function Br(t,...e){try{await t(...e)}catch{}}function Pr(t,e){return{run:()=>Wr(t,e)}}async function Wr({options:t,readable:e,writable:r,bt:n},o){let a,i;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(zr),r=e?o.CompressionStreamFallback:o.DecompressionStreamFallback,n=e?o.CompressionStream:o.DecompressionStream;if(t.useCompressionStream){if(r&&r.gt&&!Sr(n))try{await Nr(o)}catch{}}else try{await Nr(o)}catch{r&&!r.gt||(t.useCompressionStream=!0)}}a=new Ir(t,o),i=new Or(Ut(o)),await e.pipeThrough(a).pipeThrough(i).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:s,outputSize:c}=a;return{crc32:n,inputSize:s,outputSize:c}}catch(t){throw a&&(t.outputSize=i?i.outputSize:0),t}finally{n()}}const jr={type:"module"},Vr="error";let Zr,Hr,Gr,Kr=!0;try{Kr=typeof structuredClone==C&&structuredClone(new DOMException("","AbortError")).code!==I}catch{}var Yr;function qr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Xr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function Jr(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Hr===I||Zr!==t){const a=typeof t==C;s=a?t(o):t;const l=s.startsWith("data:"),u=s.startsWith("blob:");if(l||u){n===I&&(n=!1),n&&(c=jr);try{i=new Worker(s,c)}catch(o){if(u)try{URL.revokeObjectURL(s)}catch{}if(a&&u)return Jr(t,e,r,n,!1);if(n)throw o;return Jr(t,e,r,!0,!1)}}else{n===I&&(n=!0),n&&(c=jr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return Jr(t,e,r,!1,o);throw a}}Zr=t,Hr=s,Gr=c}else i=new Worker(Hr,Gr);return i.addEventListener("message",t=>{r.At=!0,Qr(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i}=t,{reader:s,writer:c,Rt:l,Dt:u,bt:f,wt:d}=e,w=()=>e.wt!=d;try{if(i){const{message:t,stack:e,code:r,name:n,outputSize:o,cause:a,codecImportFailed:s}=i,c=new Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:o}),a&&(c.cause=Object.assign(new Error(a.message),{name:a.name})),s&&(c.codecImportFailed=!0),p(c)}else{if("pull"==r){const{value:t,done:r}=await s.read();w()||tn({type:Fr,value:t,done:r,messageId:o},e)}if(r==Fr){const t=new Uint8Array(n);await c.ready,await c.write(t),e.outputSize+=t.length,w()||tn({type:"ack",messageId:o},e)}"close"==r&&p(null,a)}}catch(i){w()||(Xr(e),p(i))}function p(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||f())}}(t,r)}),i.addEventListener(Vr,t=>$r(t,r)),i.addEventListener("messageerror",t=>$r(t,r)),i}function Qr(t){const{xt:e}=t;e&&(clearTimeout(e),t.xt=null)}function $r(t,e){t.preventDefault&&t.preventDefault(),Qr(e);const{At:r,Dt:n,writer:o,bt:a}=e;Xr(e),r||(e.ht=null);let i=t.error||new Error(t.message||Vr);r||(i=Object.assign(new Error(i.message||Vr),{Ft:!0}),e.zt=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function tn(t,{ht:e,writer:r,transferStreams:n,At:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=Pt(r),s.push(t.value.buffer)),n&&Kr&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{Kr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Yr=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.Et){let i;typeof a==C&&(a=a());try{i=Jr(t.workerURI,r,t)}catch{return vr(t),Pr(t,e)}Object.assign(t,{ht:i,At:!1,St:!1,zt:null,Et:{run:async()=>{try{return await async function(t,e){if(!t.ht){const{zt:e}=t;t.zt=null;const r=e||new Error(Ur);throw r.Ft=!0,r}let r,n;const o=new Promise((e,o)=>{r=e,n=e=>{e&&e.outputSize===I&&(e.outputSize=t.outputSize),o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,Rt:r,Dt:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,Tt:l}=function(t){const e=new AbortController,{writable:r,readable:n}=new TransformStream,o=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return o.catch(()=>{}),{writable:r,closed:o,Tt:()=>e.abort()}}(t.writable);let u;try{u=tn({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}u||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.At&&Number.isFinite(f)&&f>=0&&(t.xt=setTimeout(()=>function(t){if(t.xt=null,t.At)return;const{Dt:e,writer:r}=t;if(Xr(t),t.ht=null,e){const t=new Error(Ur);t.Ft=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await d(),await c,t}catch(t){await d(),l();try{await c}catch{}throw t}async function d(){if(!u&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.Ft)return vr(t),qr(t),Wr(t,e);if(r&&r.codecImportFailed){if(t.reader)return qr(t),Wr(t,e);t.bt()}throw r}}}})}return t.Et},Mr=Yr;let en=[];const rn=[];let nn,on,an=0;async function sn(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:d}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;f&&(d&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(d,n.baseURI)),await async function(t,e){!er.has(t)&&e&&sr(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===I&&n.transferStreams);const h=!(s||c||l||u),y=f===I||Boolean(r.codecURI);return e.useWebWorkers=!h&&y&&(a||a===I&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:I,e.createWorker=e.useWebWorkers&&p?p:I,r.useCompressionStream=i||i===I&&n.useCompressionStream,(await async function(){const r=en.find(t=>!t.ft);if(r)return dn(r),new _r(r,t,e,E);if(en.length<m){const r={It:an};return an++,en.push(r),new _r(r,t,e,E)}return new Promise(r=>{rn.push({resolve:r,stream:t,Ot:e}),on=n.workerStarvationTimeout,cn()})}()).run();function E(t){if(ln(),rn.length){const[{resolve:e,stream:r,Ot:n}]=rn.splice(0,1);e(new _r(t,r,n,E)),cn()}else t.ht?(dn(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.Ut=setTimeout(async()=>{en=en.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):en=en.filter(e=>e!=t)}}function cn(){!nn&&rn.length&&Number.isFinite(on)&&on>=0&&(nn=setTimeout(un,on))}function ln(){nn&&(clearTimeout(nn),nn=null)}function un(){if(nn=null,rn.length){const[{resolve:t,stream:e,Ot:r}]=rn.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:I,createWorker:I});t(new _r({},e,n,fn)),cn()}}function fn(){ln(),cn()}function dn(t){const{Ut:e}=t;e&&(clearTimeout(e),t.Ut=null)}const wn="\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 pn(t,e){return mn(t,e,!0)}function mn(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=wn[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const hn="HTTP error ",yn="HTTP Range not supported",En="HTTP resource changed",bn="Writer iterator completed too soon",Sn="Writer not initialized",gn="Invalid writer (size must be writable)",An="Content-Range",Rn="Range",Dn="GET",xn="bytes",Fn=16777216,zn="writable",Tn=Symbol();class In{constructor(){this.size=0}init(){this.initialized=!0}}class On extends In{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=Ut(Ot())}={}){const n=this;let o=0;return r=Ct(r),new ReadableStream({async pull(a){const i=e===I?r:Math.min(r,e-o),s=await mo(n,t+o,i);s.length&&(a.enqueue(s),o+=s.length),(e!==I&&o>=e||!s.length&&i)&&a.close()}})}}class Un extends In{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(Sn);return t.writeUint8Array(Pt(e))}});Object.defineProperty(t,zn,{get:()=>e})}writeUint8Array(){}}class Cn extends On{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Ct:t,kt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{kt:r,Ct:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class kn extends Un{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Mt:""})}writeUint8Array(t){const e=this;let r,n=e.Mt;const o=e.Mt.length;for(e.Mt="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Mt+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Mt=n+e.Mt}getData(){return this.data+btoa(this.Mt)}}let Mn,Nn;class vn extends On{constructor(t){super(),Object.assign(this,{Nt:t,size:t.size}),Nn||(Nn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Mn=1==e}catch{Mn=!1}})())}createReadable(t){const{Nt:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};if(typeof e.stream==C){if(!n&&o>=r)return Ge(e.stream());if(Mn)return Ge(e.slice(n,n+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r.Nt:r.Nt.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class _n extends In{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,zn,{get:()=>r.writable}),e.contentType=t,e.vt=Ke(r.readable,t),e.vt.catch(()=>{})}getData(){return this.vt}}class Ln extends vn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Bn extends _n{constructor(t){super(),Object.assign(this,{encoding:t,_t:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,_t:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return mn(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Pn extends On{constructor(t,e){super(),jn(this,t,e)}async init(){await Vn(this,eo,Jn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==I){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(yn);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=I,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await eo(Dn,t,qn(t,o,e));if(206!=r.status)throw new Error(yn);const s=r.headers.get(An);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=o)throw new Error(yn)}Yn(t,r),Kn(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return Zn(this,t,e,eo,Jn)}}class Wn extends On{constructor(t,e){super(),jn(this,t,e)}async init(){await Vn(this,ro,Qn),super.init()}readUint8Array(t,e){return Zn(this,t,e,ro,Qn)}}function jn(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=Fn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:l})}async function Vn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=Ot(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==U||o)){const n=await e(Dn,t,qn(t,s?-22:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==xn))throw new Error(yn);{if(s){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Lt=e)}Kn(t,n);const o=Hn(n);o===I?await to(t,e,r):t.size=o}}else await to(t,e,r)}async function Zn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,Lt:s,size:c,options:l}=t;if(a||i){if(s&&e==c-d&&r==d)return s;if(e>=c||0===r)return v;{e+r>c&&(r=c-e);const o=await n(Dn,t,qn(t,e,r));if(206!=o.status)throw new Error(yn);const a=o.headers.get(An);if(a){const t=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw new Error(yn)}Yn(t,o),Kn(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(yn);return i}}{const{data:n}=t;return n||await o(t,l),t.data.subarray(e,e+r)}}function Hn(t){const e=t.headers.get(An);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Gn({headers:t}){return{Bt:t.get("Etag")||I,lastModified:t.get("Last-Modified")||I}}function Kn(t,e){const{checkResourceChanges:r,Pt:n}=t;r&&!n&&206==e.status&&(t.Pt=Gn(e))}function Yn(t,e){const{checkResourceChanges:r,Pt:n,size:o}=t;if(r){const t=Hn(e);if(t!==I&&o!==I&&t!=o)throw new Error(En);if(n){const t=Gn(e);if(Object.entries(n).some(([e,r])=>r!==I&&t[e]!==I&&r!=t[e]))throw new Error(En)}}}function qn(t,e=0,r=1){return Object.assign({},Xn(t),{[Rn]:xn+"="+(e<0?e:e+"-"+(e+r-1))})}function Xn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Jn(t){await $n(t,eo)}async function Qn(t){await $n(t,ro)}async function $n(t,e){const r=await e(Dn,t,Xn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function to(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Xn(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function eo(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new Error(yn):new Error(hn+(a.statusText||a.status))}function ro(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(yn):new Error(hn+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class no extends On{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Wn(t,e):new Pn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class oo extends no{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class ao extends On{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Wt:t,size:t.length})}readUint8Array(t,e){return this.Wt.slice(t,t+e)}}class io extends Un{constructor(t){super(),this.jt=t||262144}init(t=0){Object.assign(this,{offset:0,Wt:new Uint8Array(t>0?t:this.jt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Wt.length){let t=e.Wt.length?2*e.Wt.length:e.jt;for(;t<r;)t*=2;const n=e.Wt;e.Wt=new Uint8Array(t),e.Wt.set(n)}e.Wt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Wt.length?this.Wt:this.Wt.slice(0,this.offset)}}class so extends On{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(po));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Gt(t){const{Ht:e,size:r}=this,n=e[t];return n===I?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await mo(s,i,e);else{const a=n-i;o=Bt(await mo(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=v;return r.Zt=Math.max(a,r.Zt),o}}class co extends In{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===Tn)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error(bn);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await wo(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await l())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}Object.defineProperty(r,zn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Tn)}finally{t.releaseLock()}}}class lo{constructor(t){return Array.isArray(t)&&(t=new so(t)),(t instanceof ReadableStream||typeof t.getReader==C)&&(t={readable:Ge(t)}),t}}class uo{constructor(t){t.writable===I&&typeof t.next==C&&(t=new co(t)),(t instanceof WritableStream||typeof t.getWriter==C)&&(t={writable:Ye(t)});try{t.size=t.size===I?0:t.size}catch{throw new Error(gn)}return t}}function fo(t){return Boolean(t&&t.getData)}async function wo(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function po(t){return t=new lo(t),await wo(t),t.size!==I&&t.readUint8Array||(t=new vn(await Ke(t.readable)),await wo(t)),t}function mo(t,e,r){return t.readUint8Array(e,r)}function ho(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?On.prototype.createReadable.call(t,e):t.readable}function yo(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==I&&(n.filename=r),t.push(n)}}const Eo="filename",bo="rawFilename",So="comment",go="rawComment",Ao="uncompressedSize",Ro="compressedSize",Do="offset",xo="diskNumberStart",Fo="lastModDate",zo="rawLastModDate",To="lastAccessDate",Io="rawLastAccessDate",Oo="creationDate",Uo="rawCreationDate",Co="internalFileAttributes",ko="externalFileAttributes",Mo="msdosAttributesRaw",No="msdosAttributes",vo="msDosCompatible",_o="zip64",Lo="encrypted",Bo="version",Po="versionMadeBy",Wo="zipCrypto",jo="directory",Vo="executable",Zo="compressionMethod",Ho="signature",Go="extraField",Ko="unixMode",Yo="setuid",qo="setgid",Xo="sticky",Jo=[Eo,bo,Ao,Ro,Fo,zo,So,go,To,Io,Oo,Uo,Do,xo,Co,ko,Mo,No,vo,_o,Lo,Bo,Po,Wo,jo,Vo,"symlink",Zo,Ho,"crc32",Go,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Ko,"unixExternalUpper",Yo,qo,Xo,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Qo{constructor(t){Jo.forEach(e=>this[e]=t[e])}}const $o=new Set([1,m,10,h,28789,25461,y,E,b,22613,13]);function ta(t,e,r){return t?e?12:16+4*r:0}const ea="File format is not recognized",ra="End of central directory not found",na="End of Zip64 central directory locator not found",oa="Central directory header not found",aa="Local file header not found",ia="Zip64 extra field not found",sa="File contains encrypted entry",ca="Encryption method not supported",la="Split zip file",ua="Overlapping entry found",fa="Entry data out of bounds",da="Ambiguous archive",wa="Encrypted central directory is not supported",pa="Unsafe filename",ma="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ha="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ya="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ea="64-bit value exceeds Number.MAX_SAFE_INTEGER",ba="unsorted central directory",Sa="unknown version needed to extract",ga="compressed patched data",Aa="malformed extra field",Ra="unknown zip64 extensible data",Da="wrapped entries count",xa="appended data",Fa="prepended data",za="prepended central directory",Ta="trailing central directory data",Ia="duplicate filename",Oa="mismatched zip64 end of central directory record",Ua="multiple end of central directory records",Ca="mismatched local file header (filename)",ka="mismatched local file header (general purpose bit flag)",Ma="mismatched local file header (compression method)",Na="mismatched local file header (crc32 or sizes)",va=/^[a-zA-Z]:/,_a="utf-8",La="cp437",Ba=[[Ao,t],[Ro,t],[Do,t],[xo,e]],Pa={[e]:{Kt:Ai,bytes:4},[t]:{Kt:Ri,bytes:8}},Wa=BigInt(Number.MAX_SAFE_INTEGER);class ja{constructor(t,e={}){Object.assign(this,{reader:new lo(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await wo(i),i.size!==I&&i.readUint8Array||(i=new vn(await Ke(i.readable)),await wo(i)),i.size<d)throw new Error(ea);const c=a.warnings=[],m=ai(n,a.options),h=m==et,y=m!=nt,E=ci(hi(a,n,J),m),b=function(t,e){if(t===I)return e;if(!oi(t))throw new Error(ha);return t}(hi(a,n,"filenameValidation"),m),S=hi(a,n,"normalizeFilename"),{qt:F,Xt:z}=await li(i,y,E);if(!F)throw await async function(t){return await ni(t)==o}(i)?new Error(la):new Error(ra);y&&z>1&&mi(Ua);const T=Wt(F);let O=Ai(T,12),U=Ai(T,16);const C=F.offset,k=gi(T,20),M=C+d+k,N=i.size-M;N>E&&mi(xa),N>0&&yo(c,xa);let _=gi(T,4);const L=i.Zt||0;let B,P,W,j,V,Z=gi(T,6),H=gi(T,10),G=0,K=p;const Y=U==t||O==t||H==e||Z==e;if(U!=t&&Z!=e&&(U+=ri(i,Z)),Y){const r=F.offset>=w?await mo(i,F.offset-w,w):v,n=Wt(r);if(r.length==w&&Ai(n,0)==u){U=ri(i,Ai(n,4))+Ri(n,8);let r=await mo(i,U,p),o=Wt(r);const a=F.offset-w-p;if((r.length<p||Ai(o,0)!=l)&&U!=a&&a>=0){const t=U;U=a,U>t&&(G=U-t),r=await mo(i,U,p),o=Wt(r)}if(r.length<p||Ai(o,0)!=l)throw new Error(na);if(W=!0,j=Ri(o,4)>44,j){const t=Math.min(Ri(o,4)-44,i.size-U-p);t>0&&(K+=t,V=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Wt(t),n=gi(r,26);Object.assign(e,{compressionMethod:gi(r,0),compressedSize:Ri(r,2),uncompressedSize:Ri(r,10),encryptionAlgorithm:gi(r,18),bitLength:gi(r,20),flags:gi(r,22),hashAlgorithm:gi(r,24),hashData:t.subarray(28,28+n)})}return e}(await mo(i,U+p,t)))}_==e?_=Ai(o,16):_!=Ai(o,16)&&pi(h,c,Oa),Z==e?Z=Ai(o,20):Z!=Ai(o,20)&&pi(h,c,Oa),H==e?H=Ri(o,32):H!=Ri(o,32)&&pi(h,c,Oa),O==t?O=Ri(o,40):O!=Ri(o,40)&&pi(h,c,Oa),U=ri(i,Z)+Ri(o,48)+G}}let q=O;const X=F.offset-(W?K+w:0);if(U>=i.size&&(G=i.size-U-O-d,U=i.size-O-d),L!=_)throw new Error(la);if(U<0)throw new Error(ea);let Q=0,rt=await mo(i,U,O),ot=Wt(rt);if(O){if(rt.length<4)throw new Error(ea);const t=X-O;if(U!=t&&Z==_){const e=Ai(ot,Q)==s||Boolean(V&&V.compressedSize)||Ga(ot);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Ai(Wt(await mo(i,t,4)),0)==s),r){const r=U;U=t,U>r&&(G+=U-r,B=e),rt=await mo(i,U,O),ot=Wt(rt)}}}const at=X-U;if(O!=at&&at>=0&&Z==_&&(O=at,rt=await mo(i,U,O),ot=Wt(rt)),U<0||U>=i.size)throw new Error(ea);a.directoryOffset=U,a.directoryLength=q;const it=yi(a,n,"decryptCentralDirectory");let st,ct;if(it&&H&&rt.length>=4&&Ai(ot,0)!=s&&(j||Ga(ot))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(V,q,rt.length);ct=rt.subarray(t),rt=await it(rt.subarray(0,t),V),ot=Wt(rt),q=rt.length,st=!0}V&&!st&&(rt.length<4||Ai(ot,0)==s)&&yo(c,Ra),P=U;const lt=hi(a,n,"filenameEncoding"),ut=hi(a,n,"commentEncoding"),ft=new Set;let dt,wt=-1;const pt=!h&&!W;!H&&pt&&(H=Ka(ot,rt,Q),H&&yo(c,Da));for(let t=0;t<H;t++){const o=new Ha(i,a.options);if(Q+f>rt.length||Ai(ot,Q)!=s){if(0==t&&!st&&(j||Ga(ot)))throw new Error(wa);throw new Error(oa)}qa(o,ot,Q+6);const l=Boolean(o.bitFlag.languageEncodingFlag),u=Q+f,d=u+o.filenameLength,w=d+o.extraFieldLength,p=gi(ot,Q+4),m=!(p>>8),h=p>>8==3,y=rt.subarray(u,d),E=gi(ot,Q+32),F=w+E,z=rt.subarray(w,F),T=l,O=l,U=Ai(ot,Q+38),C=U&r,k={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},M=Ai(ot,Q+42),N=yi(a,n,"decodeText")||pn,v=T?_a:lt||La,_=O?_a:ut||La;let L=N(y,v,$);if(L===I&&(L=pn(y,v)),S){const t=S(L);t!==I&&(L=t)}if(si(L,b)){const t=new Error(pa);throw t.filename=L,t}let B=N(z,_,tt);B===I&&(B=pn(z,_)),Object.assign(o,{index:t,Jt:st,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:E,offset:M,diskNumberStart:gi(ot,Q+34),internalFileAttributes:gi(ot,Q+36),externalFileAttributes:U,msdosAttributesRaw:C,msdosAttributes:k,rawFilename:y,filenameUTF8:T,commentUTF8:O,rawExtraField:rt.subarray(d,w),rawComment:z,filename:L,comment:B}),Xa(o,o,ot,Q+6)&&yo(c,Aa,L),o.offset+=G;const W=ri(i,o.diskNumberStart)+o.offset;P=Math.min(W,P),W<wt&&yo(c,ba,L),wt=W,(o.version&r)>63&&yo(c,Sa,L),32&~o.rawBitFlag||yo(c,ga,L),ft.has(o.filename)&&(dt=!0),ft.add(o.filename);const V=o.externalFileAttributes>>16&e;o.unixMode===I&&16877&V&&(o.unixMode=V);const Z=Boolean(o.unixMode&R),K=Boolean(o.unixMode&D),Y=Boolean(512&o.unixMode),q=40960==((o.unixMode===I?V:o.unixMode)&g),X=!q&&(o.unixMode!==I?!!(73&o.unixMode):h&&!!(73&V)),J=o.unixMode!==I&&(o.unixMode&g)==A,et=(V&g)==A;Object.assign(o,{setuid:Z,setgid:K,sticky:Y,symlink:q,unixExternalUpper:V,executable:X,directory:J||et||m&&k.directory||o.filename.endsWith(x),zipCrypto:o.encrypted&&!o.extraFieldAES});const nt=new Qo(o);if(nt.getData=(t,e)=>o.getData(t,nt,a.Yt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=Ke(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,nt,a.Yt,Object.assign({},t,{preventClose:!1})),r},Q=F,t==H-1&&pt){const t=Ka(ot,rt,Q);t&&(H+=t,yo(c,Da))}const{onprogress:at}=n;if(at)try{await at(t+1,H,new Qo(o))}catch{}yield nt}let mt=Q,ht=Ya(rt.subarray(Q))||(st?Ya(ct):I);if(!ht&&!st){const t=U+Q,e=Math.min(X-t,65541);e>=6&&(ht=Ya(await mo(i,t,e)))}ht&&(a.digitalSignature=ht,mt=Q+6+ht.length),(Q!=q&&mt!=q||!st&&Q!=O&&mt!=O)&&pi(h,c,Ta),dt&&pi(h,c,Ia);const yt=hi(a,n,"extractPrependedData"),Et=hi(a,n,"extractAppendedData"),bt=(h||yt)&&H&&4==P&&await async function(t){const e=await ni(t);return e==o||808471376==e}(i)?4:0;return h&&(G||H&&P>bt)&&mi(Fa),(G||H&&P>4)&&yo(c,Fa),B&&yo(c,za),yt&&(a.prependedData=P>bt?await mo(i,bt,P-bt):v),a.comment=k?await mo(i,C+d,k):v,Et&&(a.appendedData=M<i.size?await mo(i,M,i.size-M):v),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[_](){return this.close()}}class Va{constructor(t={}){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}}),o=new ja(r,t),a=o.getEntriesGenerator(),i=new Set;this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await a.next();if(e)return t.close();const n=function(t,e){const{readable:r,writable:n}=new TransformStream;let o;const a={cancel:async t=>{e.delete(a),await(o?o.cancel(t):r.cancel(t))}};return a.readable=new ReadableStream({async pull(i){o||(o=r.getReader(),e.add(a),async function(){try{await t.getData(n,{preventClose:!1})}catch(t){try{await n.abort(t)}catch{}}finally{e.delete(a)}}());const{done:s,value:c}=await o.read();s?i.close():i.enqueue(c)},cancel:t=>a.cancel(t)},{highWaterMark:0}),a}(r,i),o={...r,readable:n.readable};delete o.getData,Object.defineProperties(o,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(o)},async cancel(t){const r=Array.from(i);i.clear(),e.error(t),await Promise.allSettled(r.map(e=>e.cancel(t))),await Promise.allSettled([a.return(),o.close()])}}),this.writable=n}}async function Za(t,e={}){if(t=new lo(t),await wo(t),t.size!==I&&t.readUint8Array||(t=new vn(await Ke(t.readable)),await wo(t)),t.size<d)return!1;const r=ai(e,{}),n=r!=nt,o=ci(e[J],r),{qt:a,Xt:i}=await li(t,n,o);if(!a||r==et&&i>1)return!1;const s=gi(Wt(a),20),c=a.offset+d+s;return t.size-c<=o}class Ha{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=Ot(),{reader:l,index:u,offset:f,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:b,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:A}=h,R=e.localDirectory={},D=e.warnings=[],x=ri(l,d)+f,z=await mo(l,x,F),T=Wt(z);let O=hi(s,i,L),U=hi(s,i,B);const C=pt(hi(s,i,P)),k=Boolean(C),M=!0===C;if(wt(O,U),O=O&&O.length&&O,U=U&&U.length&&U,w&&99!=w.originalCompressionMethod)throw new Error(Qe);if(z.length<F||Ai(T,0)!=n)throw new Error(aa);qa(R,T,4);const{extraFieldLength:N,filenameLength:_}=R,G=R.dataOffset=x+F+_+N,K=hi(s,i,"checkLocalDirectory"),Y=ai(i,s.options),q=function(t,e){return t===I?e!=nt:Boolean(t)}(K,Y),X=hi(s,i,"checkLocalFilename"),J=function(t,e){return t===I?e==et:Boolean(t)}(X===I?K:X,Y);let Q=v;if(J&&(_||N)){const t=await mo(l,x+F,_+N);Q=t.subarray(0,_),R.rawExtraField=t.subarray(_)}else R.rawExtraField=N?await mo(l,x+F+_,N):v;J&&(R.rawFilename=Q),Xa(s,R,T,4,!0)&&yo(D,Aa),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||pi(i,o,Ca),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&pi(i,o,ka),e.compressionMethod!=t.compressionMethod&&pi(i,o,Ma),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||pi(i,o,Na)}(s,R,Q,J,q?I:D);const{lastAccessDate:$,creationDate:tt,uid:rt,gid:ot}=R;$&&(e.lastAccessDate=$),tt&&(e.creationDate=tt),rt!==I&&e.uid===I&&(e.uid=rt),ot!==I&&e.gid===I&&(e.gid=ot);const at=hi(s,i,"checkPasswordOnly"),it=s.encrypted&&R.encrypted&&(!M||at),st=it&&!w;if(M||(e.zipCrypto=st),it&&!(64&~R.rawBitFlag))throw new Error(ca);const ct=k?I:or(m);if(0!=m&&8!=m&&9!=m&&!ct&&!k)throw new Error(Qe);if(it){if(!st&&(w.strength<1||w.strength>3))throw new Error(ca);if(!O&&!U)throw new Error(sa)}if(G+g>l.size)throw new Error(fa);const lt=g,ut=Ge(l.createReadable({offset:G,size:lt})),mt=ft(hi(s,i,W));dt(mt);let ht=hi(s,i,"checkOverlappingEntry");const yt=hi(s,i,"checkOverlappingEntryOnly");yt&&(ht=!0);const{onstart:Et,onprogress:bt,onend:St}=i,gt=0!=m&&!k,At=k?g-ta(it,st,w&&w.strength):S,Rt=9==m;let Dt=hi(s,i,V);Rt&&(Dt=!1);const xt=hi(s,i,"checkCrc32"),Ft=(xt===I?hi(s,i,"checkSignature"):xt)&&!k&&(!it||st||w&&1==w.vendorVersion),zt={options:{codecType:Tr,password:O,rawPassword:U,zipCrypto:st,encryptionStrength:w&&w.strength,checkCrc32:Ft,checkAuthenticationCode:hi(s,i,"checkAuthenticationCode"),passwordVerification:st&&(A?b>>>8&r:E>>>24&r),outputSize:At,crc32:E,compressed:gt,encrypted:it,useWebWorkers:hi(s,i,j),useCompressionStream:Dt,transferStreams:hi(s,i,Z),deflate64:Rt,format:ct?ct.format:I,codecURI:ct?ct.codecURI:I,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:at},config:c,ut:{signal:mt,size:lt,onstart:Et,onprogress:bt,onend:St}};let Tt,It;ht&&await async function({reader:t,$t:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:l,extraFieldZip64:u,Yt:f}){let d=0;if(l&&(d=u?20:12),d){const r=await mo(t,c+i,d+4),n=Wt(r);let l=r.length==d+4&&Ai(n,0)==a;if(l){const t=ei(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:l=!1}if(r.length>=d){const t=ei(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+i+d,$t:e};for(const[t,e]of f)if(t!=r&&w.start<e.end&&e.start<w.end){const t=new Error(ua);throw t.overlappingEntry=e.$t,t}f.set(r,w)}({reader:l,$t:e,index:u,offset:x,crc32:E,compressedSize:g,uncompressedSize:S,dataOffset:G,dataDescriptor:A||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,Yt:o});try{if(!yt){at&&(t=new WritableStream),t=new uo(t),await wo(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(At,g,gt)),({writable:Tt}=t);const{outputSize:e}=await sn({readable:ut,writable:Tt},zt);if(e!=At)throw Object.assign(new Error(cr),{outputSize:e});t.size+=e}}catch(e){if(e.outputSize!==I&&(t.size+=e.outputSize),!at||e.message!=se)throw It=e,e}finally{if((fo(t)||!hi(s,i,H))&&Tt&&!Tt.locked){const t=Tt.getWriter();if(It)try{await t.abort(It)}catch{}else await t.close()}}return at||yt?I:t.getData?t.getData():Tt}}function Ga(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Ai(t,r))return!0;return!1}function Ka(t,e,r){let n=0;for(;r+f<=e.length&&Ai(t,r)==s;)r+=f+gi(t,r+28)+gi(t,r+30)+gi(t,r+32),n++;return n%65536?0:n}function Ya(t){if(t.length>=6){const e=Wt(t);if(Ai(e,0)==i){const r=gi(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function qa(t,e,r){const n=t.rawBitFlag=gi(e,r+2),o=!(1&~n),a=Ai(e,r+6);Object.assign(t,{encrypted:o,version:gi(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:a,lastModDate:Ei(a),filenameLength:gi(e,r+22),extraFieldLength:gi(e,r+24)})}function Xa(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=Wt(a);let c=0,l=!1;try{for(;c<a.length;){const t=gi(s,c),e=gi(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>a.length&&(l=!0);const u=gi(r,n+4);Object.assign(e,{signature:Ai(r,n+10),crc32:Ai(r,n+10),compressedSize:Ai(r,n+14),uncompressedSize:Ai(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=Wt(t.data),n=Ba.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+Pa[e].bytes,0);if(t.data.length<o)throw new Error(ia);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=Pa[s];e[i]=t[i]=c.Kt(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const d=i.get(28789);d&&(Ja(d,Eo,bo,e,t),e.extraFieldUnicodePath=d);const w=i.get(25461);w&&(Ja(w,So,go,e,t),e.extraFieldUnicodeComment=w);const p=i.get(m);p&&p.data.length>=7?(function(t,e,r){const n=Wt(t.data),o=Si(n,4);Object.assign(t,{vendorVersion:Si(n,0),vendorId:Si(n,2),strength:o,originalCompressionMethod:r,compressionMethod:gi(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=I)}(p,e,u),e.extraFieldAES=p):e.compressionMethod=u;const S=i.get(13);S&&(Qa(S,e),e.extraFieldPkwareUnix=S);const g=i.get(22613);g&&(Qa(g,e),e.extraFieldUnixType1=g);const A=i.get(10);A&&(function(t,e){const r=Wt(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=gi(r,o),a=gi(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=Wt(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:bi(o),lastAccessDate:bi(a),creationDate:bi(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(A,e),e.extraFieldNTFS=A);const R=i.get(b);let D;if(R&&(D=$a(R,e,!1),e.extraFieldUnix=R),!D){const t=i.get(E);t&&($a(t,e,!0),e.extraFieldInfoZip=t)}const x=i.get(h);x&&(function(t,e,r){if(!t.data.length)return;const n=Wt(t.data),o=Si(n,0),a=[],i=[];r?(1&~o||(a.push(Fo),i.push(zo)),2&~o||(a.push(To),i.push(Io)),4&~o||(a.push(Oo),i.push(Uo))):t.data.length>=5&&(a.push(Fo),i.push(zo));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Ai(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(x,e,o),e.extraFieldExtendedTimestamp=x);const F=i.get(y);return F&&(e.extraFieldUSDZ=F),l}function Ja(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=Wt(t.data),i=new Jt;i.append(o[r]);const s=Wt(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Ai(a,1),l=Si(a,0);Object.assign(t,{version:l,[e]:pn(t.data.subarray(5)),valid:1==l&&!o.bitFlag.languageEncodingFlag&&c==Ai(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Qa(t,e){if(t.data.length<8)return;const r=Wt(t.data),n={lastAccessDate:new Date(1e3*(0|Ai(r,0))),lastModDate:new Date(1e3*(0|Ai(r,4)))};t.data.length>=12&&(n.uid=gi(r,8),n.gid=gi(r,10)),Object.assign(t,n),Object.assign(e,n)}function $a(t,e,r){try{const n=Wt(t.data);let o,a;if(r){let e=0;const r=Si(n,e++),i=Si(n,e++);o=ti(t.data.subarray(e,e+i)),e+=i;const s=Si(n,e++);a=ti(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=gi(n,0),a=gi(n,2),Object.assign(t,{uid:o,gid:a}));return o!==I&&(e.uid=o),a!==I&&(e.gid=a),o!==I||a!==I}catch{}}function ti(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ei(t,e,r){const n=Ai(t,e);let o,a;return r?(o=Ri(t,e+4),a=Ri(t,e+12)):(o=Ai(t,e+4),a=Ai(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function ri(t,e){return t.Gt?t.Gt(e):0}async function ni(t){return Ai(Wt(await mo(t,0,4)))}function oi(t){return t===et||t===rt||t===nt}function ai(t,e){return ii(t,ii(e,rt))}function ii(t,e){const r=t.strictness;if(r!==I){if(!oi(r))throw new Error(ma);return r}const n=t.checkAmbiguity;return n===I?e:n?et:e==nt?nt:rt}function si(t,e){if(e==nt)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||va.test(t))||e==et&&(r.includes(".")||r.includes(""))}function ci(t,r){if(t!==I){const e=yt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(ya);return e}return r==et?0:r==nt?1/0:e}async function li(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,l,u,f,w]of ui(t,o)){const o=gi(r,f+20);if(w+d+o==n){const o=await di(t,r,l,f,w,n,a);if(2==o){if(i||(i=fi(u,f,w)),c++,!e||c>1)break}else 1!=o||s||(s=fi(u,f,w))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,l,u]of ui(t,o)){const o=fi(c,l,u);a||(a=o);const f=await di(t,e,s,l,u,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{qt:i,Xt:c}}async function*ui(t,e){const r=t.size-e,n=await mo(t,r,e),o=Wt(n);for(let t=n.length-d;t>=0;t--)Ai(o,t)==c&&(yield[o,r,n,t,r+t])}function fi(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function di(r,n,o,a,i,c,l){const f=gi(n,a+10),d=Ai(n,a+12),p=Ai(n,a+16);if(f==e||d==t||p==t)return await wi(r,n,o,i-w,c,l)==u?2:0;if(!f&&!d)return 1;const m=gi(n,a+6);for(const t of[i-d,ri(r,m)+p])if(await wi(r,n,o,t,c,l)==s)return 2;return 0}async function wi(t,e,r,n,o,a){return n<0||n+4>o?I:n>=r?Ai(e,n-r):a.count>0?(a.count--,Ai(Wt(await mo(t,n,4)),0)):I}function pi(t,e,r){t?mi(r):yo(e,r)}function mi(t){const e=new Error(da);throw e.reason=t,e}function hi(t,e,r){return e[r]===I?t.options[r]:e[r]}function yi(t,e,r){return ut(hi(t,e,r))}function Ei(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<T?T:o}function bi(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Si(t,e){return t.getUint8(e)}function gi(t,e){return t.getUint16(e,!0)}function Ai(t,e){return t.getUint32(e,!0)}function Ri(t,e){const r=t.getBigUint64(e,!0);if(r>Wa)throw new Error(Ea);return Number(r)}var Di=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:da,ERR_BAD_FORMAT:ea,ERR_CENTRAL_DIRECTORY_NOT_FOUND:oa,ERR_ENCRYPTED:sa,ERR_ENCRYPTED_CENTRAL_DIRECTORY:wa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:fa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:na,ERR_EOCDR_NOT_FOUND:ra,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ia,ERR_INVALID_AUTHENTICATION_CODE:ie,ERR_INVALID_COMPRESSED_DATA:lr,ERR_INVALID_CRC32:ur,ERR_INVALID_FILENAME_VALIDATION:ha,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ya,ERR_INVALID_PASSWORD:ae,ERR_INVALID_STRICTNESS:ma,ERR_INVALID_UNCOMPRESSED_SIZE:cr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:aa,ERR_OVERLAPPING_ENTRY:ua,ERR_SPLIT_ZIP_FILE:la,ERR_UNSAFE_FILENAME:pa,ERR_UNSUPPORTED_COMPRESSION:Qe,ERR_UNSUPPORTED_ENCRYPTION:ca,ERR_UNSUPPORTED_UINT64:Ea,ERR_WORKER_STARTUP_TIMEOUT:Ur,WARNING_APPENDED_DATA:xa,WARNING_COMPRESSED_PATCHED_DATA:ga,WARNING_DUPLICATE_FILENAME:Ia,WARNING_MALFORMED_EXTRA_FIELD:Aa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:ka,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Ma,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Na,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Ca,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Oa,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:Ua,WARNING_PREPENDED_CENTRAL_DIRECTORY:za,WARNING_PREPENDED_DATA:Fa,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Ta,WARNING_UNKNOWN_VERSION:Sa,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ra,WARNING_UNSORTED_CENTRAL_DIRECTORY:ba,WARNING_WRAPPED_ENTRIES_COUNT:Da,ZipReader:ja,ZipReaderStream:Va,isZipFile:Za});const xi="File already exists",Fi="Zip file comment exceeds 64KB",zi="Invalid zip file comment (must be a Uint8Array)",Ti="File entry comment exceeds 64KB",Ii="Invalid file entry comment (must be a string)",Oi="Invalid date (must be a valid Date instance)",Ui="File entry name exceeds 64KB",Ci="Version exceeds 65535",ki="The strength must equal 1, 2, or 3",Mi="Encryption is not supported in USDZ files",Ni="Split zip files are not supported in USDZ files",vi="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",_i="Invalid extra field (must be a Map)",Li="Invalid extra field type (must be integer 0..65535)",Bi="Invalid extra field data (must be a Uint8Array)",Pi="Extra field data exceeds 64KB",Wi=-2147483648,ji=2147483647,Vi=BigInt(0),Zi=BigInt("0x7fffffffffffffff"),Hi="Zip64 is not supported (set the 'zip64' option to 'true')",Gi="Undefined uncompressed size",Ki="Undefined compression method",Yi="Undefined CRC32",qi="Undetermined size",Xi="Undefined reader",Ji="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Qi="Zip file not empty",$i="Invalid uid (must be integer 0..2^32-1)",ts="Invalid gid (must be integer 0..2^32-1)",es="Invalid UNIX mode (must be integer 0..65535)",rs="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ns="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",os="Invalid msdosAttributesRaw (must be integer 0..255)",as="Invalid msdosAttributes (must be an object with boolean flags)",is="Invalid level (must be integer 0..9)",ss="Signature data exceeds 64KB",cs="Invalid entry option (must be an entry returned by ZipReader#getEntries())",ls="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",us="compression unavailable",fs="clamped last modification date",ds=new Uint8Array([7,0,2,0,65,69,3,0,0]),ws="infozip",ps="unix",ms=[8,9,5,3];let hs=0;const ys=[];class Es{constructor(t,e={}){t=new uo(t);const{availableSize:r=O,maxSize:n=O}=t,o=r>0&&r!==O&&n>0&&n!==O;if(o&&e[X])throw new Error(Ni);Object.assign(this,{writer:t,te:o,options:e,ee:new Map,re:new Set,offset:e[q]===I?t.size||t.writable.size||0:e[q],ne:e[q]===I?0:e[q]-(t.size||t.writable.size||0),oe:new Set,ae:[],warnings:[],ie:0,se:0,ce:I,le:!1})}prependZip(t){return As(this,async function(t,e){if(t.re.size)throw new Error(Qi);await t.ue(e)}(this,t))}appendZip(t){return As(this,this.ue(t))}async ue(t){const e=this,{oe:r,re:n,ee:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let l;try{t=new lo(t),await wo(t),t.size!==I&&t.readUint8Array||(t=new vn(await Ke(t.readable)),await wo(t));const{ZipReader:r}=await Promise.resolve().then(function(){return Di}),i=new r(t),s=await i.getEntries();await i.close(),await wo(e.writer);const{directoryOffset:u}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(xi);n.add(t),c.push(t)}),e.fe=!0;const{de:f}=e;e.de=new Promise(t=>l=()=>{e.fe=!1,t()}),await f,e.te&&(delete e.te,await async function(t){return Wt(await mo(t,0,4)).getUint32(0,!0)==o}(t)||(await Bs(e.writer,_s()),e.offset+=4));const d=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>vs(e,t)-vs(e,r));let s=0;for(const r of i){const n=vs(e,r);await Ms(t,e,s,n-s),Us(o,await Ns(e,n))&&await o.closeDisk(),a.set(r,{offset:Cs(t,o),diskNumberStart:Is(o)}),s=n}await Ms(t,e,s,n-s)}else{const o=t.offset;await Ms(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+vs(e,t),diskNumberStart:0}))}return a}(e,t,s,u);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:l}=t;let{compressionMethod:u,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=o;f=ks(f||v),t.extraFieldAES&&(u=99);const h=ec(f),y=Boolean(l)&&l.uncompressedSize!==I,E=Boolean(l)&&l.compressedSize!==I,b=-7&oc(w,p,m,i,u)|w<<1,{we:S,pe:g}=rc({version:e,bitFlag:b,compressionMethod:u,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,me:E,he:y,extraFieldLength:h}),{crc32:A}=t;A!==I&&Qs(g,10,A);const{offset:R,diskNumberStart:D}=d.get(t);Object.assign(t,{ye:!0,he:y,me:E,offset:R,diskNumberStart:D,Ee:!1,be:v,Se:v,ge:v,Ae:v,Re:v,rawExtraField:f,De:v,extendedTimestamp:!1,we:S,pe:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),l&&l()}}add(o="",i,s={}){const c=this,{oe:l}=c,u=async function(o,i,s,c){const l=(c=Object.assign({},c))[Q];if(l!==I){const{xe:t,Fe:e}=function(t,e,n){if(null===t||typeof t!=k||Array.isArray(t))throw new Error(cs);const{externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,rawLastModDate:c,creationDate:l,lastAccessDate:u,uncompressedSize:f,encrypted:d,zipCrypto:w,crc32:p,compressionMethod:m,extraFieldAES:h,extraFieldUnix:y,internalFileAttributes:E,extraField:b,bitFlag:S,directory:g,uid:A,gid:R}=t,D={externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,creationDate:l,lastAccessDate:u,internalFileAttributes:E,directory:g};S&&S.languageEncodingFlag&&(D[K]=!0);const x=function(t){if(t){const e=new Map;if(t.forEach((t,r)=>{$o.has(r)||e.set(r,t.data)}),e.size)return e}}(b);x&&(D[Go]=x),A===I&&R===I||Object.assign(D,{uid:A,gid:R,unixExtraFieldType:y?ps:ws});const F={};if(e&&!g)if(Object.assign(F,{uncompressedSize:f,crc32:p,compressionMethod:m}),e!==ot&&Object.assign(F,{encrypted:d,zipCrypto:w,encryptionStrength:h?h.strength:I}),S&&(F.dataDescriptor=S.dataDescriptor,F[G]=ms[S.level]),n===I)F.rawLastModDate=c;else if(e!==ot&&w&&(!S||S.dataDescriptor)&&n instanceof Date&&function(t){let e=new Date(2e3*Math.ceil(Math.floor(t.getTime()/1e3)/2));return e<T?e=T:e>z&&(e=z),(e.getHours()<<3|e.getMinutes()>>3)&r}(n)!=(c>>>8&r))throw new Error(ls);return{xe:D,Fe:F}}(l,pt(Zs(o,c,P)),Zs(o,c,Fo));delete c[Q],c=Object.assign(t,e,c)}if(Zs(o,c,jo)&&!i.endsWith(x)&&(i+=x),o.re.has(i))throw new Error(xi);o.re.add(i),hs<Ot().maxWorkers?hs++:await new Promise(t=>ys.push(t));try{return await async function(o,i,s,c){const l=function(n,o,a){let i=Zs(n,a,vo),s=Zs(n,a,Po,i?20:768);const c=Zs(n,a,Vo),l=Ks(n,a,"uid"),u=Ks(n,a,"gid");let f=Ks(n,a,Ko),d=Zs(n,a,"unixExtraFieldType"),w=Zs(n,a,Yo),p=Zs(n,a,qo),m=Zs(n,a,Xo);if(ht(l,t,$i),ht(u,t,ts),ht(f,e,es),d!==I&&d!==ws&&d!==ps)throw new Error(rs);if(d===ps&&(l!==I&&l>e||u!==I&&u>e))throw new Error(ns);d!==I||l===I&&u===I||(d=ws);let h=Ks(n,a,Mo),y=Zs(n,a,No);const E=h!==I||y!==I;if(l!==I||u!==I||f!==I||d||c?(i=!1,s=s&r|768):E&&(i=!0,s&=r),ht(h,r,os),y&&(typeof y!==k||Array.isArray(y)))throw new Error(as);if(s>e)throw new Error(Ci);let b=Zs(n,a,ko);const S=b!==I;S||(b=0),!a[jo]&&o.endsWith(x)&&(a[jo]=!0);const F=Zs(n,a,jo);if(F?(o.endsWith(x)||(o+=x),S||(b=16,i||(b|=16877<<16))):i||S||(b=c?493<<16:27525120),!i){const t=f!==I||Boolean(w||p||m);f=f===I?b>>16&e:f&e,w?f|=R:w=Boolean(f&R),p?f|=D:p=Boolean(f&D),m?f|=512:m=Boolean(512&f),S&&!t||(F?f=-61441&f|A:f&g||(f|=32768),b=(f&e)<<16|b&e)}({msdosAttributesRaw:h,msdosAttributes:y}=function(t,e){if(t!==I)t&=r;else if(e!==I){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===I&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,y)),E&&(b=b&t|h&r);const z=b>>16&e,T=f!==I&&40960==(f&g);return{name:o,ze:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:b,unixExternalUpper:z,uid:l,gid:u,unixMode:f,unixExtraFieldType:d,symlink:T,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:h,msdosAttributes:y}}}(o,i,c);({name:i}=l);const u=function(t,r,n){const o=Gs(t,n,"encodeText")||$t;let a=o(r,$);if(a===I&&(a=$t(r)),ec(a)>e)throw new Error(Ui);const i=n[So]||"";if(typeof i!=M)throw new Error(Ii);let s=o(i,tt);if(s===I&&(s=$t(i)),ec(s)>e)throw new Error(Ti);const c=Zs(t,n,Bo);if(c!==I&&c>e)throw new Error(Ci);const l=Hs(t,n,Fo,new Date),u=Zs(t,n,zo),f=Hs(t,n,To),d=Hs(t,n,Oo),w=Zs(t,n,Co,0),p=pt(Zs(t,n,P)),m=Boolean(p),h=!0===p,y=Zs(t,n,L),E=Zs(t,n,B);wt(y,E);const b=Ks(t,n,"encryptionStrength",3),S=Zs(t,n,Wo),g=Zs(t,n,"extendedTimestamp",!0),A=Zs(t,n,"ntfsTimestamp"),R=Zs(t,n,"keepOrder",!0),D=Zs(t,n,j),x=Zs(t,n,Z),F=Zs(t,n,"bufferedWrite"),z=Gs(t,n,"createTempStream"),T=Zs(t,n,"dataDescriptorSignature",!0),O=ft(Zs(t,n,W));dt(O);const U=Zs(t,n,K,!nc(a)||!nc(s)),C=Zs(t,n,Zo),k=m||C===I?I:or(C);if(!m&&C!==I&&0!==C&&8!==C&&!k)throw new Error(Qe);let N=Ks(t,n,G);if(ht(N,9,is),t.options[X]){if(y!==I||E!==I)throw new Error(Mi);N===I&&C===I&&(N=0)}m&&(N=yt(n[G]));let v=Zs(t,n,V),_=Zs(t,n,Y);F&&_===I&&(_=!1),(_===I||S&&!h)&&(_=!0),N!==I&&6!=N&&(v=!1);const H=Zs(t,n,_o);if(!(S||y===I&&E===I||Number.isInteger(b)&&b>=1&&b<=3))throw new Error(ki);const q=xs(n[Go]),J=xs(n.localExtraField),Q=xs(n.centralExtraField);return{comment:i,ze:{rawFilename:a,rawComment:s,version:c,lastModDate:l,rawLastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:w,Te:m,Ie:h,password:y,rawPassword:E,encryptionStrength:b,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:A,keepOrder:R,useWebWorkers:D,transferStreams:x,bufferedWrite:F,createTempStream:z,dataDescriptorSignature:T,signal:O,useUnicodeFileNames:U,compressionMethod:C,format:k?k.format:I,codecURI:k?k.codecURI:I,Oe:k?k.versionNeeded:I,level:N,useCompressionStream:v,dataDescriptor:_,zip64:H,rawExtraField:q,Ue:J,De:Q}}}(o,i,c),{comment:f}=u,d=c[Go];o.ee.set(i,I);const w=o.ce,p={};let y,S;u.ze.keepOrder&&(p.Ce=new Promise(t=>y=t)),o.ce=p;try{const{ze:f}=u;0==f.level||f.compressionMethod!==I||f.Te||await async function(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.gt)return!0;if(Sr(e)||br(e,wr))return!0;if(r)try{return await Nr(t),!0}catch{return!1}return!1}(Ot())||(f.level=0,yo(o.warnings,us,i));const d=await async function(e,r,{ze:n},o){if(n.Te&&!r&&!Zs(e,o,jo))throw new Error(Xi);let a;if(r){if(r=new lo(r),await wo(r),!r.readable&&!r.readUint8Array)throw new Error(Ji);({size:a}=r)}return Object.assign({reader:r},function(e,r,n,o,a){const{Te:i,Ie:s,zipCrypto:c,password:l,rawPassword:u,encryptionStrength:f}=o;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:m}=o,h=0,y=0,E=!1;if(i&&r){if(y=a[Ao],y===I)throw new Error(Gi);if(m===I)throw new Error(Ki)}const b=!0===w,S=Zs(e,a,Lo);if(r&&s&&!S&&ec(l,u))throw new Error(vi);const g=r&&(Boolean(l&&ec(l)||u&&ec(u))||s&&S);r||(p=0,m=0);const A=ta(g,c,f);r&&(i?(a.uncompressedSize=y,h=n===I?Ys(y)+A:n+(s?0:A)):n===I?(d=!0,(w||w===I)&&(w=E=!0,h=4294967296)):(a.uncompressedSize=y=n,h=(qs(m,p)?Ys(y):y)+A));const R=!(g||r&&(0!==n||i)||qs(m,p));R&&!c&&Zs(e,a,Y)===I&&(d=!1);const D=b||E||y>=t,x=b||h>=t;if(D||x){if(!1===w)throw new Error(Hi);w=!0}return w=w||!1,{ke:h,ze:{dataDescriptor:d,Me:R,zip64:w,ye:b,Ne:E,he:D,me:x,uncompressedSize:y,level:p,compressionMethod:m,encrypted:g}}}(e,Boolean(r),a,n,o))}(o,s,u,c);({reader:s}=d);const g=Os(o.writer),A=Is(o.writer);let R=c.crc32===I?c[Ho]:c.crc32;const D=d.ze.encrypted&&!f.zipCrypto;if(f.Te&&!f.Ie&&D&&(R=I),f.Te&&s&&!D&&R===I)throw new Error(Yi);const x=function(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:d,directory:w,rawExtraField:p,Ue:y,encryptionStrength:S,extendedTimestamp:g,ntfsTimestamp:A,Te:R,encrypted:D,he:x,me:O,uncompressedSize:U,Ne:C,crc32:k}=t;let{version:M,compressionMethod:N}=t;const _=!w&&qs(N,c);let L;const B=R||!_,P=l&&(t.bufferedWrite||!d||!x&&!O||B&&!C),W=P||l&&d&&(x||O);if(l&&(x||O)){const t=20,e=Ts(t);if(e.ve(1),e.ve(t-4),L=e.Wt,P&&(e._e(U),B)){const t=ta(D,u,S);e._e(R?0:U+t)}}else L=v;let j,V,Z,H,G,K;if(D&&!u){const t=Ts(ec(ds)+2);t.ve(m),t.Le(ds),j=t.Wt,j[8]=S}else j=v;if(g){const t=js(o),e=(Y=t)>=Wi&&Y<=ji;if(e){const e=9+(i?4:0)+(s?4:0),r=Ts(e);H=1+(i?2:0)+(s?4:0),G=t,r.ve(h),r.ve(e-4),r.Be(H),r.Pe(t),i&&r.Pe(Vs(js(i))),s&&r.Pe(Vs(js(s))),Z=r.Wt}else Z=v;if(A===I?!e||Boolean(i||s):A)try{const t=Ws(o),e=Ts(36);e.ve(10),e.ve(32),e.We(4),e.ve(1),e.ve(24),e._e(t),e._e(i?Ws(i):t),e._e(s?Ws(s):t),V=e.Wt}catch{V=v}else V=v}else V=Z=v;var Y;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=ws||r===I&&n===I)if(o!=ps||r===I&&n===I)K=v;else{const t=Ts(8);t.ve(b),t.ve(4),t.ve((r===I?0:r)&e),t.ve((n===I?0:n)&e),K=t.Wt}else{const t=zs(r===I?0:r),e=zs(n===I?0:n),o=3+t.length+e.length,a=Ts(4+o);a.ve(E),a.ve(o),a.Be(1),a.Be(t.length),a.Le(t),a.Be(e.length),a.Le(e),K=a.Wt}}catch{K=v}N===I&&(N=_?8:0),M===I&&(M=0!=N||w||D?20:10);const{Oe:q}=t;_&&q!==I&&(M=M>q?M:q),l&&(M=M>45?M:45),D&&!u&&(M=M>51?M:51,R&&k!==I&&(j[4]=1),Js(Wt(j),9,N),N=99);const J=W?ec(L):0,Q=J+ec(j,Z,V,K,p,y);if(Q+(t[X]?67:0)>e)throw new Error(Pi);const $=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),tt=$<T?T:$>z?z:$,et=ec(Z)?new Date(1e3*js(o)):ec(V)?o:tt,{we:rt,pe:nt,rawLastModDate:ot}=rc({version:M,bitFlag:oc(c,f,d,D,N),compressionMethod:N,uncompressedSize:U,lastModDate:tt,rawLastModDate:a,rawFilename:r,me:O,he:x,extraFieldLength:Q}),at=Ts(F+ec(r)+Q),it=at.Wt,st=Wt(it);return at.Pe(n),at.Le(rt),at.Le(r),W&&at.Le(L),at.Le(j),at.Le(Z),at.Le(V),at.Le(K),at.Le(p),at.Le(y),d&&(O||Qs(st,18,0),x||Qs(st,22,0)),{je:it,Ve:st,we:rt,pe:nt,lastModDate:et,Ze:et===tt&&$.getTime()!=tt.getTime(),rawLastModDate:ot,encrypted:D,compressed:_,version:M,compressionMethod:N,He:H,Ge:G,be:v,Ke:J,ge:Z,Ae:V,Re:K,Se:j,extraFieldLength:Q}}(c=Object.assign({},c,l.ze,u.ze,d.ze,{signature:c[Ho],crc32:R,offset:o.offset-g,diskNumberStart:A,[X]:o.options[X]}));x.Ze&&yo(o.warnings,fs,i);const U=function({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=v,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=Wt(o),r&&(i=4,Qs(n,0,a))),{Ye:o,qe:n,Xe:i}}(c),C=ec(x.je,U.Ye);S=await async function(e,n,o,a,i){const{ee:s,writer:c}=e,{keepOrder:l,dataDescriptor:u,Me:f,signal:d}=i,{Je:w,$t:p,Qe:m,$e:h}=a,y=e.options[X];let E,b,S,g,A,R,D,x=p,z=0;const T=l&&m?m.Ce:I;s.set(n,x);try{i.bufferedWrite||!l||e.fe||e.ie||e.se||!u&&!f?(E=!0,e.ie++,D=i.createTempStream?await i.createTempStream():new TransformStream(I,I,{highWaterMark:O}),D.size=0,await wo(c)):(b=!0,e.se++,D=c,await T,await U()),await wo(D);const p=Os(c);e.te&&!E&&await Ls(e,c),y&&!E&&Fs(a,e.offset-p);const{je:m}=w;E||await C();const h=Is(c),S=Cs(e,c);if(x.diskNumberStart=h,E||(A=!0,R=c.size,await Bs(D,m)),x=await async function(e,n,{diskNumberStart:o,Ce:a},i,s,c){const{Je:l,er:u,rr:f}=i,{we:d,pe:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:E,compressionMethod:b,be:S,Ke:g,ge:A,He:R,Ge:D,Ae:x,Re:F,Se:z}=l,{Ye:T}=u,{rawFilename:O,lastAccessDate:U,creationDate:C,password:k,rawPassword:M,level:N,useUnicodeFileNames:v,zip64:_,ye:L,he:B,me:P,zipCrypto:W,dataDescriptor:j,directory:V,executable:Z,versionMadeBy:H,rawComment:G,rawExtraField:K,De:Y,useWebWorkers:q,transferStreams:X,onstart:J,onprogress:Q,onend:$,signal:tt,encryptionStrength:et,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,uid:it,gid:st,unixMode:ct,symlink:lt,setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt,useCompressionStream:ht,Te:yt,Ie:Et,format:bt,codecURI:St}=c,gt={Ce:a,versionMadeBy:H,zip64:_,ye:L,directory:Boolean(V),executable:Boolean(Z),filenameUTF8:Boolean(v),rawFilename:O,commentUTF8:Boolean(v),rawComment:G,be:S,Ke:g,ge:A,Ae:x,Re:F,Se:z,rawExtraField:K,De:Y,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,diskNumberStart:o,uid:it,gid:st,unixMode:ct,symlink:Boolean(lt),setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt};let{crc32:At,uncompressedSize:Rt}=c,Dt=0;yt||(Rt=0);const{writable:xt}=n;if(e){const o=e.size,a=Ge(ho(e,{size:o})),i={options:{codecType:zr,inputSize:o,level:N,rawPassword:M,password:k,encryptionStrength:et,zipCrypto:h&&W,passwordVerification:h&&W&&m>>8&r,computeCrc32:!yt,compressed:y&&!yt,encrypted:h&&!Et,useWebWorkers:q,useCompressionStream:ht,transferStreams:X,format:bt,codecURI:St,compressionMethod:b},config:s,ut:{signal:tt,size:o,onstart:J,onprogress:Q,onend:$}};try{const e=await sn({readable:a,writable:xt},i);if(Dt=e.outputSize,n.size+=Dt,yt||(Rt=e.inputSize,h&&!W||(At=e.crc32)),!P&&Dt>=t||!B&&Rt>=t)throw new Error(Hi)}catch(t){throw t.outputSize!==I&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,Je:n,er:o},{zip64:a,zipCrypto:i,Te:s,dataDescriptor:c}){const{pe:l,encrypted:u}=n,{qe:f,Xe:d}=o;u&&!i&&!s||t===I||(Qs(l,10,t),c&&Qs(f,d,t)),a?c&&($s(f,d+4,BigInt(e)),$s(f,d+12,BigInt(r))):(Qs(l,14,e),Qs(l,18,r),c&&(Qs(f,d+4,e),Qs(f,d+8,r)))}({crc32:At,compressedSize:Dt,uncompressedSize:Rt,Je:l,er:u},c),j&&await Bs(n,T),Object.assign(gt,{uncompressedSize:Rt,compressedSize:Dt,lastModDate:p,rawLastModDate:m,creationDate:C,lastAccessDate:U,encrypted:Boolean(h),zipCrypto:Boolean(W),size:f+Dt,compressionMethod:b,version:E,we:d,pe:w,signature:At,crc32:!h||W||yt?At:I,He:R,Ge:D,he:B,me:P}),gt}(o,D,x,a,Ot(),i),E||(A=!1),s.set(n,x),x.filename=n,E){if(await Promise.all([D.writable.getWriter().close(),T]),await U(),e.te&&await Ls(e,c),g=!0,R=c.size,await C(),x.diskNumberStart=Is(c),x.offset=Cs(e,c),y){const t=a.rr;Fs(a,e.offset-Os(c)),x.size+=a.rr-t}!function({rawFilename:t,encrypted:e,zip64:r,Ke:n,crc32:o,compressedSize:a,uncompressedSize:i,he:s,me:c},l,{dataDescriptor:u,Te:f}){if(u||((!e||f&&o!==I)&&Qs(l,14,o),c||Qs(l,18,a),s||Qs(l,22,i)),r&&n){const e=F+ec(t)+4;$s(l,e,BigInt(i)),$s(l,e+8,BigInt(a))}}(x,w.Ve,i),await Bs(c,w.je),await Ps(D.readable,c,d,t=>z+=t),c.size+=D.size,g=!1}else x.diskNumberStart=h,x.offset=S;return e.offset+=x.size,x}catch(t){if(g||A){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,E&&(e.offset+=z)}throw s.delete(n),t}finally{if(E&&e.ie--,b&&e.se--,h&&h(T),S&&S(),E&&D&&D.dispose)try{await D.dispose()}catch{}}async function U(){e.fe=!0;const{de:t}=e;e.de=new Promise(t=>S=()=>{e.fe=!1,t()}),await t}async function C(){Us(c,ec(w.je))&&await c.closeDisk()}}(o,i,s,{Je:x,er:U,rr:C,$t:p,Qe:w,$e:y},c)}catch(t){throw o.ee.delete(i),t}finally{y&&y(w&&w.Ce)}return Object.assign(S,{name:i,comment:f,extraField:d}),new Qo(S)}(o,i,s,c)}catch(t){throw o.re.delete(i),t}finally{const t=ys.shift();t?t():hs--}}(c,o,i,s);l.add(u);const f=()=>l.delete(u);return Promise.prototype.then.call(u,f,f),As(c,u)}remove(t){const{re:e,ee:r}=this;if(typeof t==M&&(t=r.get(t)),t&&t.filename!==I){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=v,n={}){const o=this,{oe:a,writer:w}=this,{writable:p}=w;if(o.le)return gs(w);if(!(r instanceof Uint8Array))throw new Error(zi);if(ec(r)>e)throw new Error(Fi);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.ae.map(t=>t.nr));const m=o.ae.filter(t=>t.error&&!t.ar);if(m.length){const t=m.map(t=>t.error);m.forEach(t=>t.ar=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const{ir:a,sr:w}=function(r){let n=0,o=!1;for(const[,a]of r){const{rawFilename:r,Se:i,rawComment:s,Ae:c,Re:l,rawExtraField:u,De:d,He:w,Ge:p,ye:m,uncompressedSize:y,compressedSize:E}=a;let{he:b,me:S}=a;m||(b&&y<t&&(b=a.he=!1),S&&E<t&&(S=a.me=!1)),o=o||b||S;const g=a.offset>=t,A=a.diskNumberStart>=e;let R,D;if(g||A||b||S){const t=4+(b?8:0)+(S?8:0)+(g?8:0)+(A?4:0),e=Ts(t);e.ve(1),e.ve(t-4),b&&e._e(y),S&&e._e(E),g&&e._e(a.offset),A&&e.Pe(a.diskNumberStart),R=e.Wt}else R=v;if(a.be=R,a.cr=g,a.Ee=A,p===I)D=v;else{const t=Ts(9);t.ve(h),t.ve(5),t.Be(w),t.Pe(p),D=t.Wt}a.ge=D;const x=ec(R,i,c,l,D,u,d);if(x>e)throw new Error(Pi);n+=f+ec(r,s)+x}return{ir:n,sr:o}}(r.ee),{lr:p,ur:m,dr:y}=await async function(r,n,o){const{ee:a,writer:i}=r,c=new Uint8Array(n);await wo(i);let l=0,u=0,d=Is(i),w=Os(i),p=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:m,rawFilename:h,be:y,Se:E,ge:b,Ae:S,Re:g,rawExtraField:A,De:R,rawComment:D,versionMadeBy:x,we:F,pe:z,he:T,me:I,Ee:O,cr:U,internalFileAttributes:C,externalFileAttributes:k,diskNumberStart:M,uncompressedSize:N,compressedSize:v}=n,_=ec(y,E,b,S,g,A,R),L=f+ec(h,D)+_;Us(i,l+L-u)&&(await Bs(i,c.slice(u,l)),u=l,p=0,await i.closeDisk()),0==r&&(d=Is(i),w=Os(i)),T||Qs(z,18,N),I||Qs(z,14,v),(U||O)&&n.version<45&&Js(z,0,45);const B=Ts(L);if(B.Pe(s),B.ve(x),B.Le(F.subarray(0,24)),B.ve(_),B.ve(ec(D)),B.ve(O?e:M),B.ve(C),B.Pe(k),B.Pe(U?t:m),B.Le(h),B.Le(y),B.Le(E),B.Le(b),B.Le(S),B.Le(g),B.Le(A),B.Le(R),B.Le(D),tc(c,B.Wt,l),l+=L,p++,o.onprogress)try{await o.onprogress(r+1,a.size,new Qo(n))}catch{}}return await Bs(i,u?c.slice(u):c),{lr:{diskNumber:d,diskOffset:w},ur:{diskNumber:Is(i),wr:p},dr:c}}(r,a,o),E=await async function(t,r,n){const o=Gs(t,n,"signCentralDirectory");if(o){const n=await o(r),a=ec(n);if(a>e)throw new Error(ss);const s=Ts(6+a);s.Pe(i),s.ve(a),s.Le(n);const{writer:c}=t;return Us(c,ec(s.Wt))&&await c.closeDisk(),await Bs(c,s.Wt),6+a}return 0}(r,y,o);await async function(r,n,o,a){const{writer:i}=r,{lr:s,ur:f,pr:w,sr:p}=a;let{ir:m}=a,h=r.ee.size,y=s.diskNumber,E=Cs(r,s);const b=ec(n);if(b>e)throw new Error(Fi);let S=Zs(r,o,_o),g=Is(i);if(Us(i,(S?98:d)+b)&&g++,E>=t||m>=t||h>=e||g>=e){if(!1===S)throw new Error(Hi);S=!0}else S===I&&p&&(S=!0);const A=Ts(S?98:d);Us(i,ec(A.Wt)+b)&&await i.closeDisk(),g=Is(i);let R=g==f.diskNumber?f.wr:0;S&&(A.Pe(l),A._e(44),A.ve(45),A.ve(45),A.Pe(g),A.Pe(y),A._e(R),A._e(h),A._e(m),A._e(E),A.Pe(u),A.Pe(g),A._e(BigInt(Cs(r,i))+BigInt(m)+BigInt(w)),A.Pe(g+1),Zs(r,o,"supportZip64SplitFile",!0)&&(g=e,y=e),R=e,h=e,E=t,m=t),A.Pe(c),A.ve(g),A.ve(y),A.ve(R),A.ve(h),A.Pe(m),A.Pe(E),A.ve(b),await Bs(i,A.Wt),b&&await Bs(i,n)}(r,n,o,{lr:p,ur:m,ir:a,pr:E,sr:w})}(o,r,n),o.le=!0,!fo(w)&&Zs(o,n,H)||await p.getWriter().close(),gs(w)}[_](){return this.close()}}class bs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Es(r,t),this.oe=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Rs(e,t)}}()}});return Ds(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Ds(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.oe))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Rs(r,t),t}try{return await r.close(t,e)}catch(t){throw await Rs(r,t),t}}}class Ss extends Promise{then(t,e){const{mr:r}=this;return r&&(r.ar=!0),super.then(t,e)}}function gs(t){return t.getData?t.getData():t.writable}function As(t,e){const r=new Ss((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.mr=n,n.nr=Promise.prototype.then.call(r,I,t=>n.error=t),t.ae.push(n),r}async function Rs(t,e){try{await t.writer.writable.abort(e)}catch{}}function Ds(t,e,r){t.oe.add(e),e.catch(t=>{try{r(t)}catch{}})}function xs(t){if(!t)return v;if(!(t instanceof Map))throw new Error(_i);let r=0,n=0;t.forEach((t,n)=>{if(mt(n,e,Li),!(t instanceof Uint8Array))throw new Error(Bi);if(ec(t)>e)throw new Error(Pi);r+=4+ec(t)});const o=new Uint8Array(r),a=Wt(o);return t.forEach((t,e)=>{Js(a,n,e),Js(a,n+2,ec(t)),tc(o,t,n+4),n+=4+ec(t)}),o}function Fs(t,e){const{Je:r}=t;let{je:n,extraFieldLength:o}=r,a=64-(e+ec(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=Wt(i);Js(s,0,y),Js(s,2,a-4);const c=n;r.je=n=new Uint8Array(ec(c)+a),tc(n,c),tc(n,i,ec(c));const l=Wt(n);Js(l,28,o+a),r.Ve=l,t.rr+=a}function zs(t){const e=new Uint8Array(4);Wt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Ts(t){const e=new Uint8Array(t),r=Wt(e);let n=0;return{Wt:e,Be:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},ve:t=>{Js(r,n,t),n+=2},Pe:t=>{Qs(r,n,t),n+=4},_e:t=>{$s(r,n,BigInt(t)),n+=8},Le:t=>{tc(e,t,n),n+=ec(t)},We:t=>n+=t}}function Is(t){const{diskNumber:e=0}=t;return e}function Os(t){const{diskOffset:e=0}=t;return e}function Us(t,e){const{availableSize:r=O}=t;return e>r}function Cs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ne:0)}function ks(t){const e=Wt(t);let r=0;for(;r+4<=ec(t);){const n=4+Xs(e,r+2);if(1==Xs(e,r))return ks(Bt(t.subarray(0,r),t.subarray(Math.min(r+n,ec(t)))));r+=n}return t}async function Ms(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await Ps(ho(e,{offset:r,size:n}),o,I,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function Ns(t,e){const r=await mo(t,e,F);if(ec(r)<F)return F;const n=Wt(r);return F+Xs(n,26)+Xs(n,28)}function vs(t,{offset:e,diskNumberStart:r}){return e+(t.Gt?t.Gt(r):0)}function _s(){const t=new Uint8Array(4);return Qs(Wt(t),0,o),t}async function Ls(t,e){delete t.te,await Bs(e,_s()),t.offset+=4}async function Bs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=ec(e),await n.write(e)}finally{n.releaseLock()}}async function Ps(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(ec(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function Ws(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Vi?Vi:e>Zi?Zi:e}}function js(t){return Math.floor(t.getTime()/1e3)}function Vs(t){return Math.min(ji,Math.max(Wi,t))}function Zs(t,e,r,n){const o=e[r]===I?t.options[r]:e[r];return o===I?n:o}function Hs(t,e,r,n){const o=Zs(t,e,r,n);if(null===o)return n;if(o!==I&&(typeof o.getTime!=C||Number.isNaN(o.getTime())))throw new Error(Oi);return o}function Gs(t,e,r){return ut(Zs(t,e,r))}function Ks(t,e,r,n){return yt(Zs(t,e,r,n))}function Ys(t){return t+5*(Math.floor(t/16383)+1)}function qs(t,e){return t===I?e===I||e>0:0!==t}function Xs(t,e){return t.getUint16(e,!0)}function Js(t,e,r){t.setUint16(e,r,!0)}function Qs(t,e,r){t.setUint32(e,r,!0)}function $s(t,e,r){t.setBigUint64(e,r,!0)}function tc(t,e,r){t.set(e,r)}function ec(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function rc({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,me:l,he:u,extraFieldLength:f}){const d=Ts(26),w=d.Wt,p=Wt(w);if(d.ve(e),d.ve(r),d.ve(n),s===I){const t=new Uint32Array(1),e=Wt(t);Js(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Js(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.Pe(s),d.We(4),l||a!==I?d.Pe(l?t:a):d.We(4),u||o!==I?d.Pe(u?t:o):d.We(4),d.ve(ec(c)),d.ve(f),{we:w,pe:p,rawLastModDate:s}}function nc(t){return t.every(t=>t>=32&&t<=126)}function oc(t,e,r,n,o){let a=0;return e&&(a|=S),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function ac(){return"application/octet-stream"}function ic(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=Ot(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:sc(r,fr)||sc(t,fr)||sc(t,wr),decompression:sc(n,fr)||sc(e,fr)||sc(e,wr),registered:!1},{compressionMethod:9,compression:!1,decompression:sc(n,dr)||sc(e,dr),registered:!1}];for(const t of ar()){const e=ir(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==C:I,decompression:e?typeof e.DecompressionStream==C:I,registered:!0})}return o}function sc(t,e){if(!t)return!1;const{yr:r}=t;return r?r.includes(e):br(t,e)}const cc="2.12.0",lc=1048576,uc=".zip.js-temp";function fc(t={}){const{thresholdBytes:e=lc,directoryName:r=uc,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const l=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const dc=1048576;function wc(t={}){const{thresholdBytes:e=dc}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Ke(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const pc=1048576,mc=".zip.js-temp",hc="createSyncAccessHandle is only available in dedicated workers";function yc(t={}){const{thresholdBytes:e=pc,directoryName:r=mc,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(hc);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const l=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{_t({baseURI:import.meta.url})}catch{}const Ec="deflate",bc="deflate-raw",Sc="deflate64-raw",gc="gzip";let Ac,Rc,Dc,xc,Fc;function zc(t,e,r={}){if(!Ac){const t=new Error("WASM module not loaded");throw t.cause=Fc,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Er=Rc(o),this.in=Rc(a),this.inBufferSize=a,!this.Er||!this.in)throw new Error("allocation failed");if(this.Sr=new Uint8Array(o),t?(this.gr=Ac.deflate_process,this.Ar=Ac.deflate_last_consumed,this.Rr=Ac.deflate_end,this.Dr=Ac.deflate_new(),r=e===gc?Ac.deflate_init_gzip(this.Dr,n):e===bc?Ac.deflate_init_raw(this.Dr,n):Ac.deflate_init(this.Dr,n)):e===Sc?(this.gr=Ac.inflate9_process,this.Ar=Ac.inflate9_last_consumed,this.Rr=Ac.inflate9_end,this.Dr=Ac.inflate9_new(),r=Ac.inflate9_init_raw(this.Dr)):(this.gr=Ac.inflate_process,this.Ar=Ac.inflate_last_consumed,this.Rr=Ac.inflate_end,this.Dr=Ac.inflate_new(),r=e===bc?Ac.inflate_init_raw(this.Dr):e===gc?Ac.inflate_init_gzip(this.Dr):Ac.inflate_init(this.Dr)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(xc.buffer),a=this.gr,i=this.Ar,s=this.Er,c=this.Sr;let l=0;for(;l<r.length;){const t=Math.min(r.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Dc&&(Dc(this.in),this.in=0),this.in=Rc(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(l,l+t),this.in);const u=a(this.Dr,this.in,t,s,o,0),f=u>>24&255,d=128&f?f-256:f;if(d<0)throw new Error("process error:"+d);const w=16777215&u;w&&(c.set(n.subarray(s,s+w),0),e.enqueue(c.slice(0,w)));const p=i(this.Dr);if(0===p&&0===w)break;l+=p}}catch(t){i(this),e.error(t)}},flush(t){try{const e=new Uint8Array(xc.buffer),r=this.gr,n=this.Er,a=this.Sr;for(;;){const i=r(this.Dr,0,0,n,o,4),s=i>>24&255,c=128&s?s-256:s;if(c<0)throw new Error("process error:"+c);const l=16777215&i;if(l&&(a.set(e.subarray(n,n+l),0),t.enqueue(a.slice(0,l))),1===s||0===l)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){i(this)}});function i(t){let e=0;return t.Dr&&t.Rr&&(e=t.Rr(t.Dr)),t.Dr=0,t.in&&Dc&&Dc(t.in),t.in=0,t.Er&&Dc&&Dc(t.Er),t.Er=0,e}}class Tc{constructor(t=Ec,e){return zc(!0,t,e)}}class Ic{constructor(t=Ec,e){return zc(!1,t,e)}}Tc.gt=!0,Ic.gt=!0,Tc.yr=[Ec,bc,gc],Ic.yr=[Ec,bc,gc,Sc];let Oc,Uc=!1;async function Cc(){await async function(){await Promise.allSettled(en.map(t=>(dn(t),t.terminate()))),Cr=I,kr=!1}(),Oc=null,Uc=!1,Ac=Rc=Dc=xc=Fc=null}!function({Fr:t}){Nr=t}({Fr:t=>{if(!Oc){let{wasmURI:e}=t;typeof e==C&&(e=e()),Oc=async function(t,{baseURI:e}){if(!Uc)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}!function(t){if(Ac=t,({malloc:Rc,free:Dc,memory:xc}=Ac),"function"!=typeof Rc||"function"!=typeof Dc||!xc)throw Ac=Rc=Dc=xc=null,new Error("Invalid WASM module")}((await WebAssembly.instantiate(r)).instance.exports)}(t,e),Uc=!0}catch(t){throw function(t){Fc=t}(t),t}}(e,t).catch(t=>{throw Oc=null,t})}return Oc}}),_t({CompressionStreamFallback:Tc,DecompressionStreamFallback:Ic}),_t({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{vn as BlobReader,_n as BlobWriter,Cn as Data64URIReader,kn as Data64URIWriter,lt as ERR_ABORTED,da as ERR_AMBIGUOUS_ARCHIVE,ea as ERR_BAD_FORMAT,oa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,xi as ERR_DUPLICATED_NAME,sa as ERR_ENCRYPTED,wa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,fa as ERR_ENTRY_DATA_OUT_OF_BOUNDS,na as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ra as ERR_EOCDR_NOT_FOUND,ia as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,yn as ERR_HTTP_RANGE,En as ERR_HTTP_RESOURCE_CHANGED,hn as ERR_HTTP_STATUS,ie as ERR_INVALID_AUTHENTICATION_CODE,bt as ERR_INVALID_BASE_URI,qe as ERR_INVALID_CODEC_DEFINITION,Je as ERR_INVALID_CODEC_MODULE,Fi as ERR_INVALID_COMMENT,zi as ERR_INVALID_COMMENT_TYPE,lr as ERR_INVALID_COMPRESSED_DATA,ur as ERR_INVALID_CRC32,Oi as ERR_INVALID_DATE,ki as ERR_INVALID_ENCRYPTION_STRENGTH,cs as ERR_INVALID_ENTRY,Ti as ERR_INVALID_ENTRY_COMMENT,Ii as ERR_INVALID_ENTRY_COMMENT_TYPE,Ui as ERR_INVALID_ENTRY_NAME,_i as ERR_INVALID_EXTRAFIELD,Pi as ERR_INVALID_EXTRAFIELD_DATA,Bi as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Li as ERR_INVALID_EXTRAFIELD_TYPE,ha as ERR_INVALID_FILENAME_VALIDATION,at as ERR_INVALID_FUNCTION_OPTION,ts as ERR_INVALID_GID,is as ERR_INVALID_LEVEL,ya as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Et as ERR_INVALID_MAX_WORKERS,os as ERR_INVALID_MSDOS_ATTRIBUTES,as as ERR_INVALID_MSDOS_DATA,ae as ERR_INVALID_PASSWORD,st as ERR_INVALID_PASSWORD_TYPE,ct as ERR_INVALID_PASS_THROUGH_VALUE,Ji as ERR_INVALID_READER,it as ERR_INVALID_SIGNAL,ss as ERR_INVALID_SIGNATURE_DATA,ma as ERR_INVALID_STRICTNESS,$i as ERR_INVALID_UID,cr as ERR_INVALID_UNCOMPRESSED_SIZE,rs as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ns as ERR_INVALID_UNIX_ID_SIZE,es as ERR_INVALID_UNIX_MODE,St as ERR_INVALID_URI,Ci as ERR_INVALID_VERSION,bn as ERR_ITERATOR_COMPLETED_TOO_SOON,aa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ua as ERR_OVERLAPPING_ENTRY,Xe as ERR_RESERVED_COMPRESSION_METHOD,la as ERR_SPLIT_ZIP_FILE,Ki as ERR_UNDEFINED_COMPRESSION_METHOD,Yi as ERR_UNDEFINED_CRC32,Xi as ERR_UNDEFINED_READER,Gi as ERR_UNDEFINED_UNCOMPRESSED_SIZE,qi as ERR_UNDETERMINED_SIZE,pa as ERR_UNSAFE_FILENAME,Qe as ERR_UNSUPPORTED_COMPRESSION,hc as ERR_UNSUPPORTED_CONTEXT,ce as ERR_UNSUPPORTED_CRYPTO_API,ca as ERR_UNSUPPORTED_ENCRYPTION,vi as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Mi as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Hi as ERR_UNSUPPORTED_FORMAT,Ni as ERR_UNSUPPORTED_SPLIT_USDZ,Ea as ERR_UNSUPPORTED_UINT64,Ur as ERR_WORKER_STARTUP_TIMEOUT,Sn as ERR_WRITER_NOT_INITIALIZED,gn as ERR_WRITER_SIZE_NOT_WRITABLE,ls as ERR_ZIP_CRYPTO_LAST_MOD_DATE,Qi as ERR_ZIP_NOT_EMPTY,oo as HttpRangeReader,no as HttpReader,On as Reader,so as SplitDataReader,co as SplitDataWriter,Ln as TextReader,Bn as TextWriter,ao as Uint8ArrayReader,io as Uint8ArrayWriter,cc as VERSION,xa as WARNING_APPENDED_DATA,fs as WARNING_CLAMPED_LAST_MODIFICATION_DATE,ga as WARNING_COMPRESSED_PATCHED_DATA,us as WARNING_COMPRESSION_UNAVAILABLE,Ia as WARNING_DUPLICATE_FILENAME,Aa as WARNING_MALFORMED_EXTRA_FIELD,ka as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Ma as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,Na as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,Ca as WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,Oa as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,Ua as WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,za as WARNING_PREPENDED_CENTRAL_DIRECTORY,Fa as WARNING_PREPENDED_DATA,Ta as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,Sa as WARNING_UNKNOWN_VERSION,Ra as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,ba as WARNING_UNSORTED_CENTRAL_DIRECTORY,Da as WARNING_WRAPPED_ENTRIES_COUNT,Un as Writer,ja as ZipReader,Va as ZipReaderStream,Es as ZipWriter,bs as ZipWriterStream,kt as configure,wc as createBlobTempStream,fc as createOPFSTempStream,yc as createSyncAccessHandleTempStream,ac as getMimeType,ar as getRegisteredCodecs,ic as getSupportedCompressionMethods,Za as isZipFile,rr as registerCodec,Lt as resetConfiguration,Cc as terminateWorkers,nr as unregisterCodec};
1
+ const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,l=101075792,u=117853008,f=46,d=22,w=20,p=56,m=39169,h=21589,y=6534,E=30837,b=30805,S=2048,g=61440,A=16384,R=2048,D=1024,x="/",F=30,z=new Date(2107,11,31,23,59,58),T=new Date(1980,0,1),I=void 0,O=1/0,U="undefined",k="function",C="object",M="string",N="boolean",v=new Uint8Array,_=Symbol.asyncDispose||Symbol(),L="password",B="rawPassword",j="passThrough",P="signal",W="useWebWorkers",V="useCompressionStream",Z="transferStreams",H="preventClose",G="level",K="useUnicodeFileNames",Y="dataDescriptor",q="offset",X="usdz",J="maxAppendedDataSize",Q="entry",$="filename",tt="comment",et="strict",rt="balanced",nt="tolerant",ot="compressed",at="Invalid option (must be a function)",it="Invalid signal (must be an AbortSignal instance)",st="Invalid password (password must be a string, rawPassword must be a Uint8Array)",ct="Invalid passThrough option (must be a boolean or 'compressed')",lt="The operation was aborted";function ut(t){if(t&&typeof t!=k)throw new Error(at);return t}function ft(t){if(t&&(typeof t.addEventListener!=k||typeof t.aborted!=N))throw new Error(it);return t||I}function dt(t){if(t&&t.aborted)throw t.reason===I?new DOMException(lt,"AbortError"):t.reason}function wt(t,e){if(t&&typeof t!=M||e&&!(e instanceof Uint8Array))throw new Error(st)}function pt(t){if(t!==I&&typeof t!=N&&t!==ot)throw new Error(ct);return t}function mt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function ht(t,e,r){t!==I&&mt(t,e,r)}function yt(t){return typeof t==M&&t.trim()?Number(t):t}const Et="Invalid maxWorkers (must be an integer greater than 0)",bt="Invalid baseURI (must be a string)",St="Invalid URI (must be a string or a function returning a string)";let gt=2;try{typeof navigator!=U&&navigator.hardwareConcurrency&&(gt=navigator.hardwareConcurrency)}catch{}const At={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:gt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=U&&CompressionStream,DecompressionStream:typeof DecompressionStream!=U&&DecompressionStream},Rt="maxWorkers",Dt="baseURI",xt=["wasmURI","workerURI"],Ft=["chunkSize",Rt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],zt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Tt=[Dt,...xt,"useCompressionStream","useWebWorkers","transferStreams",...Ft,...zt],It={...At};function Ot(){return It}function Ut(t){return kt(t.chunkSize)}function kt(t){return t=yt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function Ct(t){Object.assign(It,Mt(vt(t)))}function Mt(t){const e={};for(const r of Tt){const n=t[r];n!==I&&(e[r]=Nt(r,n))}return e}function Nt(t,e){if(Ft.includes(t)){if(e=yt(e),t==Rt&&(!Number.isInteger(e)||e<1))throw new Error(Et)}else if(zt.includes(t))ut(e);else if(t==Dt){if(e&&typeof e!=M)throw new Error(bt)}else if(xt.includes(t)&&e&&typeof e!=M&&typeof e!=k)throw new Error(St);return e}function vt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===I&&r===I)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===I&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===I&&(n.DecompressionStreamFallback=r),n}function _t(t){const e=Mt(vt(t));Object.assign(At,e),Object.assign(It,e)}function Lt(){for(const t of Tt)delete It[t];Object.assign(It,At)}function Bt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function jt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Pt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Wt(t){return Boolean(t)&&"object"==typeof t}const Vt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Vt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Vt[e-1][t];Vt[e][t]=r>>>8^Vt[0][255&r]}const[Zt,Ht,Gt,Kt,Yt,qt,Xt,Jt]=Vt;class Qt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=Jt[255&t]^Xt[t>>>8&255]^qt[t>>>16&255]^Yt[t>>>24&255]^Kt[255&r]^Gt[r>>>8&255]^Ht[r>>>16&255]^Zt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Zt[255&(e^t[n])];this.o=e}get(){return~this.o}}class $t extends TransformStream{constructor(){let t;const e=new Qt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function te(t){if(typeof TextEncoder==U){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const ee={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ee.l(r);return 32===n?t.concat(e):ee.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ee.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=ee.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let o=0;o<t.length;o++)n.push(r|t[o]>>>e),r=t[o]<<32-e;const o=t.length?t[t.length-1]:0,a=ee.l(o);return n.push(ee.S(e+a&31,e+a>32?r:n.pop(),1)),n}},re={bytes:{A(t){const e=ee.bitLength(t)/8,r=new Uint8Array(e);let n;for(let o=0;o<e;o++)3&o||(n=t[o/4]),r[o]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(ee.S(8*(3&r),n)),e}}},ne=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.F=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.I=t.I.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.I=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=re.U.R(t));const r=e.I=ee.concat(e.I,t),n=e.O,o=e.O=n+ee.bitLength(t);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=o;t+=e.blockSize)e.C(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}M(){const t=this;let e=t.I;const r=t.T;e=ee.concat(e,[ee.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.C(e.splice(0,16));return t.reset(),r}N(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}v(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.T,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let o=r[0],a=r[1],i=r[2],s=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.v(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.v(5,o)+e.N(t,a,i,s)+c+n[t]+e.F[Math.floor(t/20)]|0;c=s,s=i,i=e.v(30,a),a=o,o=r}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0}},oe={importKey:t=>new oe._(re.bytes.R(t)),L(t,e,r,n){if(r=r||1e4,n<0||r<0)throw new Error("invalid params to pbkdf2");const o=1+(n>>5)<<2;let a,i,s,c,l;const u=new ArrayBuffer(o),f=new DataView(u);let d=0;const w=ee;for(e=re.bytes.R(e),l=1;d<(o||1);l++){for(a=i=t.encrypt(w.concat(e,[l])),s=1;s<r;s++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(s=0;d<(o||1)&&s<a.length;s++)f.setInt32(d,a[s]),d+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.B=ne,n=[[],[]];e.j=[new r,new r];const o=e.j[0].blockSize/32;t.length>o&&(t=(new r).update(t).M());for(let e=0;e<o;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.j[0].update(n[0]),e.j[1].update(n[1]),e.P=new r(e.j[0])}reset(){const t=this;t.P=new t.B(t.j[0]),t.W=!1}update(t){this.W=!0,this.P.update(t)}digest(){const t=this,e=t.P.M(),r=new t.B(t.j[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.W)throw new Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},ae=typeof crypto!=U&&typeof crypto.getRandomValues==k,ie="Invalid password",se="Invalid authentication code",ce="zipjs-abort-check-password",le="Crypto API not supported";function ue(t){if(ae)return crypto.getRandomValues(t);throw new Error(le)}const fe=16,de={name:"PBKDF2"},we=Object.assign({hash:{name:"HMAC"}},de),pe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},de),me=["deriveBits"],he=[8,12,16],ye=[16,24,32],Ee=10,be=[0,0,0,0],Se=typeof crypto!=U,ge=Se&&crypto.subtle,Ae=Se&&typeof ge!=U,Re=re.bytes,De=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],o=t.length;let a,i,s,c=1;if(4!==o&&6!==o&&8!==o)throw new Error("invalid aes key size");for(e.F=[i=t.slice(0),s=[]],a=o;a<4*o+28;a++){let t=i[a-1];(a%o===0||8===o&&a%o===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],a%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-o]^t}for(let t=0;a;t++,a--){const e=i[3&t?a:a-4];s[t]=a<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],o=[],a=[];let i,s,c,l;for(let t=0;t<256;t++)a[(o[t]=t<<1^283*(t>>7))^t]=t;for(let u=i=0;!r[u];u^=s||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[u]=a,n[a]=u,l=o[c=o[s=o[u]]];let f=16843009*l^65537*c^257*s^16843008*u,d=257*o[a]^16843008*a;for(let r=0;r<4;r++)t[r][u]=d=d<<24^d>>>8,e[r][a]=f=f<<24^f>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw new Error("invalid aes block size");const r=this.F[e],n=r.length/4-2,o=[0,0,0,0],a=this.V[e],i=a[0],s=a[1],c=a[2],l=a[3],u=a[4];let f,d,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],E=4;for(let t=0;t<n;t++)f=i[p>>>24]^s[m>>16&255]^c[h>>8&255]^l[255&y]^r[E],d=i[m>>>24]^s[h>>16&255]^c[y>>8&255]^l[255&p]^r[E+1],w=i[h>>>24]^s[y>>16&255]^c[p>>8&255]^l[255&m]^r[E+2],y=i[y>>>24]^s[p>>16&255]^c[m>>8&255]^l[255&h]^r[E+3],E+=4,p=f,m=d,h=w;for(let t=0;t<4;t++)o[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[E++],f=p,p=m,m=h,h=y,y=f;return o}},xe=class{constructor(t,e){this.G=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.G,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const o=ee.bitLength(e);for(let o=0;o<n;o+=4){this.$(r);const n=t.encrypt(r);e[o]^=n[0],e[o+1]^=n[1],e[o+2]^=n[2],e[o+3]^=n[3]}return ee.h(e,o)}},Fe=oe._;let ze=Se&&Ae&&typeof ge.importKey==k,Te=Se&&Ae&&typeof ge.deriveBits==k;class Ie extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){Ue(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,et:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await Ce(t,e,r,Ne(n,0,he[e])),a=Ne(n,he[e]);if(o[0]!=a[0]||o[1]!=a[1])throw new Error(ie)}(r,a,o,Ne(t,0,he[a]+2)),t=Ne(t,he[a]+2),n?e.error(new Error(ce)):i()):await s;const c=new Uint8Array(t.length-Ee-(t.length-Ee)%fe);e.enqueue(ke(r,t,c,0,Ee,!0))},async flush(t){const{nt:e,ot:r,it:n,ready:a}=this;if(r&&e){await a;const i=Ne(n,0,n.length-Ee),s=Ne(n,n.length-Ee);let c=v;if(i.length){const t=_e(Re,i);r.update(t);const n=e.update(t);c=ve(Re,n)}const l=Ne(ve(Re,r.digest()),0,Ee);let u=n.length<Ee?1:0;for(let t=0;t<Ee;t++)u|=l[t]^s[t];if(u&&o)throw new Error(se);t.enqueue(c)}}})}}class Oe extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Ue(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,et:a,ready:i}=r;let s=v;n?(s=await async function(t,e,r){const n=ue(new Uint8Array(he[e]));return Bt(n,await Ce(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%fe);c.set(s,0),e.enqueue(ke(r,t,c,s.length,0))},async flush(t){const{nt:e,ot:r,it:n,ready:o}=this;if(r&&e){await o;let a=v;if(n.length){const t=e.update(_e(Re,n));r.update(t),a=ve(Re,t)}const i=ve(Re,r.digest()).slice(0,Ee);t.enqueue(Bt(a,i))}}})}}function Ue(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Me(e,r),strength:n-1,it:v})}function ke(t,e,r,n,o,a){const{nt:i,ot:s,it:c}=t;c.length&&(e=Bt(c,e));const l=e.length-o;let u;for(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+(l-l%fe)),u=0;u<=l-fe;u+=fe){const t=_e(Re,Ne(e,u,u+fe));a&&s.update(t);const o=i.update(t);a||s.update(o),r.set(ve(Re,o),u+n)}return t.it=Ne(e,u),r}async function Ce(t,e,r,n){t.password=null;const o=await async function(t,e,r,n,o){if(!ze)return oe.importKey(e);try{return await ge.importKey("raw",e,r,!1,o)}catch{return ze=!1,oe.importKey(e)}}(0,r,we,0,me),a=await async function(t,e,r){if(!Te)return oe.L(e,t.salt,pe.iterations,r);try{return await ge.deriveBits(t,e,r)}catch{return Te=!1,oe.L(e,t.salt,pe.iterations,r)}}(Object.assign({salt:n},pe),o,8*(2*ye[e]+2)),i=new Uint8Array(a),s=_e(Re,Ne(i,0,ye[e])),c=_e(Re,Ne(i,ye[e],2*ye[e])),l=Ne(i,2*ye[e]);return Object.assign(t,{keys:{key:s,st:c,passwordVerification:l},nt:new xe(new De(s),Array.from(be)),ot:new Fe(c)}),l}function Me(t,e){return e===I?te(t):e}function Ne(t,e,r){return t.subarray(e,r)}function ve(t,e){return t.A(e)}function _e(t,e){return t.R(e)}class Le extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){je(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Pe(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(ie);t=t.subarray(12)}n?e.error(new Error(ce)):e.enqueue(Pe(r,t))}})}}class Be extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){je(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=ue(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(We(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(We(r,t),o),e.enqueue(n)}})}}function je(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Qt(n[0]),lt:new Qt(n[2])}),r)for(let e=0;e<r.length;e++)Ve(t,r[e]);else for(let r=0;r<e.length;r++)Ve(t,e.charCodeAt(r))}(t,e,r)}function Pe(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ze(t)^e[n],Ve(t,r[n]);return r}function We(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ze(t)^e[n],Ve(t,e[n]);return r}function Ve(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Ge(Math.imul(Ge(r+He(n)),134775813)+1),t.lt.append([r>>>24]);const o=~t.lt.get();t.keys=[n,r,o]}function Ze(t){const e=2|t.keys[2];return He(Math.imul(e,1^e)>>>8)}function He(t){return 255&t}function Ge(t){return 4294967295&t}function Ke(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Ye(t,e){t=Ke(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=k||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function qe(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Xe="Invalid codec definition",Je="Reserved compression method",Qe="Invalid codec module",$e="Compression method not supported",tr=[0,8,9,99],er=new Map,rr=new Map;function nr(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=M||!n.length)throw new Error(Xe);if(tr.includes(r))throw new Error(Je);const c=typeof a==k||typeof i==k;if(!(c||typeof o==M&&o.length))throw new Error(Xe);er.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&cr(n,{CompressionStream:a,DecompressionStream:i})}function or(t){const e=er.get(t);if(e){let r;er.delete(t),er.forEach(t=>r=r||t.format==e.format),r||rr.delete(e.format)}}function ar(t){return er.get(t)}function ir(){return Array.from(er.values(),t=>Object.assign({},t,rr.get(t.format)))}function sr(t){return rr.get(t)}function cr(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=k&&typeof n!=k)throw new Error(Qe);rr.set(t,{CompressionStream:r,DecompressionStream:n})}const lr="Invalid uncompressed size",ur="Invalid compressed data",fr="Invalid CRC32",dr="deflate-raw",wr="deflate64-raw",pr="gzip",mr=[31,139,8];class hr extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=t,p=this;let m,h,y,E=super.readable;const b=f&&sr(f),S=c&&o&&!u&&!b&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(m=new $t,E=xr(E,m)),o)if(b)E=Fr(E,Rr(b.CompressionStream,f,{level:l,chunkSize:e,compressionMethod:d,uncompressedSize:w}));else if(S)y=new yr,E=Fr(E,new n(pr)),E=xr(E,y);else try{E=Dr(E,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(pr)}catch{throw t}E=Fr(E,e),E=xr(E,new yr)}a&&(s?E=xr(E,new Be(t)):(h=new Oe(t),E=xr(E,h))),Ar(p,E,()=>{a&&!s||!c||(p.crc32=S?y.crc32:new DataView(m.value.buffer).getUint32(0))})}}class yr extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=Bt(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(Bt(r.subarray(0,i),t.subarray(0,a-i))),r=Bt(r.subarray(i),t.subarray(a-i))},flush(){const e=Pt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Er extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:d,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(a&&(o?y=xr(y,new Le(t)):(h=new Ie(t),y=xr(y,h))),c){const t=f&&sr(f);if(t)y=Fr(y,Rr(t.DecompressionStream,f,{chunkSize:e,compressionMethod:d,rawBitFlag:w,uncompressedSize:p}));else try{y=Dr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||p===I)throw t;let e;try{e=new n(pr)}catch{throw t}y=function(t,e,r){const n=new Qt;let o,a,i,s=0,c=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),r||a();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(mr),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,d();try{await l}finally{w()}const e=new Uint8Array(8),o=Pt(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&d(),e.enqueue(t)},cancel(t){i(t)}});return t=xr(t,u),xr(t=Fr(t,e),f);function d(){w(),o=setTimeout(()=>i(new Error(lr)),5e3)}function w(){clearTimeout(o)}}(y,e,p)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(ur);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(m=new $t,y=xr(y,m)),Ar(this,y,()=>{if(i){const t=new DataView(m.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(fr)}})}}const br=new Map;function Sr(t,e){if(!t)return!1;let r=br.get(t);r||(r=new Map,br.set(t,r));let n=r.get(e);if(n===I){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function gr(t){return Sr(t,dr)}function Ar(t,e,r){e=xr(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Rr(t,e,r){if(!t)throw new Error($e);return new t(e,r)}function Dr(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?wr:dr;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return Fr(t,s)}function xr(t,e){return Ke(t).pipeThrough(e)}function Fr(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const zr="data",Tr="deflate",Ir="inflate";class Or extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(Tr)?o=hr:n.startsWith(Ir)&&(o=Er),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==I&&r.outputSize>t.outputSize))throw new Error(lr)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class Ur extends TransformStream{constructor(t){const e=[];let r=0,n=0;function o(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,i){for(e.push(a),r+=a.length;r>t;)n+=t,i.enqueue(o())},flush(t){r&&(n+=r,t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r)))}}),Object.defineProperty(this,"outputSize",{get:()=>n})}}const kr="Worker startup timeout";let Cr,Mr,Nr,vr=()=>{};function _r(t){t.createWorker?Mr=!0:Cr=!1}class Lr{constructor(t,{readable:e,writable:r},n,o){const{options:a,config:i,ut:s,useWebWorkers:c,transferStreams:l,workerURI:u}=n;let{createWorker:f}=n;const{signal:d}=s;return Mr&&(f=I),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new Ur(Ut(i))).pipeThrough(new Br(s),{signal:d}),writable:r,options:Object.assign({},a),ht:n,workerURI:u,createWorker:f,transferStreams:l,terminate:()=>new Promise(e=>{const{yt:r,ft:n}=t;r?(n?t.Et=e:(r.terminate(),e()),t.bt=null):e()}),St(){if(t.ft){const{Et:e}=t;e&&(t.Et=null,t.gt=!0,t.yt.terminate(),e()),t.ft=!1,o(t)}}}),Cr===I&&(Cr=typeof Worker!=U),(c&&Nr&&(Cr&&u||f)?Nr:Pr)(t,i)}}class Br extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await jr(t,r)},async transform(t,n){o+=t.length,e&&await jr(e,o,r),n.enqueue(t)},async flush(){n&&await jr(n,o)}})}}async function jr(t,...e){try{await t(...e)}catch{}}function Pr(t,e){return{run:()=>Wr(t,e)}}async function Wr({options:t,readable:e,writable:r,St:n,ht:o},a){let i,s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Tr),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.At&&!gr(n))try{await vr(a)}catch{}}else try{await vr(a)}catch{r&&!r.At||(t.useCompressionStream=!0)}}i=new Or(t,a),s=new Ur(Ut(a)),await e.pipeThrough(i).pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:c}=i;return{crc32:n,inputSize:o,outputSize:c}}catch(t){if(i){const e=s?s.outputSize:0;if(o.outputSize=e,Wt(t))try{t.outputSize=e}catch{}}throw t}finally{n()}}const Vr={type:"module"},Zr="error";let Hr,Gr,Kr,Yr=!0;try{Yr=typeof structuredClone==k&&structuredClone(new DOMException("","AbortError")).code!==I}catch{}var qr;function Xr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Jr(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function Qr(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Gr===I||Hr!==t){const a=typeof t==k;s=a?t(o):t;const l=s.startsWith("data:"),u=s.startsWith("blob:");if(l||u){n===I&&(n=!1),n&&(c=Vr);try{i=new Worker(s,c)}catch(o){if(u)try{URL.revokeObjectURL(s)}catch{}if(a&&u)return Qr(t,e,r,n,!1);if(n)throw o;return Qr(t,e,r,!0,!1)}}else{n===I&&(n=!0),n&&(c=Vr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return Qr(t,e,r,!1,o);throw a}}Hr=t,Gr=s,Kr=c}else i=new Worker(Gr,Kr);return i.addEventListener("message",t=>{r.Rt=!0,$r(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i,errorValue:s}=t,{reader:c,writer:l,Dt:u,xt:f,St:d,wt:w}=e,p=()=>e.wt!=w;try{if(i)m(function(t,e){const{message:r,stack:n,code:o,name:a,outputSize:i,cause:s,codecImportFailed:c}=t;let l;if(e?l=e.value:(l=Object.assign(new Error(r),{stack:n,code:o,name:a}),s&&(l.cause=Object.assign(new Error(s.message),{name:s.name}))),Wt(l))try{i!==I&&(l.outputSize=i),c&&(l.codecImportFailed=!0),e&&(l.name!==a&&(l.name=a),l.code!==o&&(l.code=o))}catch{}return l}(i,s));else{if("pull"==r){const{value:t,done:r}=await c.read();p()||en({type:zr,value:t,done:r,messageId:o},e)}if(r==zr){const t=new Uint8Array(n);await l.ready,await l.write(t),p()||en({type:"ack",messageId:o},e)}"close"==r&&function(t){p()||(u(t),h(),d())}(a)}}catch(i){p()||(Jr(e),m(i))}function m(t){p()||(f(t),h(),Wt(t)&&t.codecImportFailed||d())}function h(){l&&l.releaseLock()}}(t,r)}),i.addEventListener(Zr,t=>tn(t,r)),i.addEventListener("messageerror",t=>tn(t,r)),i}function $r(t){const{Ft:e}=t;e&&(clearTimeout(e),t.Ft=null)}function tn(t,e){t.preventDefault&&t.preventDefault(),$r(e);const{Rt:r,xt:n,writer:o,St:a}=e;Jr(e),r||(e.yt=null);let i=t.error||new Error(t.message||Zr);r||(i=Object.assign(new Error(i.message||Zr),{zt:!0}),e.Tt=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function en(t,{yt:e,writer:r,transferStreams:n,Rt:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=jt(r),s.push(t.value.buffer)),n&&Yr&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{Yr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}qr=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.bt){let i;typeof a==k&&(a=a());try{i=Qr(t.workerURI,r,t)}catch{return _r(t),Pr(t,e)}Object.assign(t,{yt:i,Rt:!1,gt:!1,Tt:null,bt:{run:async()=>{try{return await async function(t,e){if(!t.yt){const{Tt:e}=t;t.Tt=null;const r=e||new Error(kr);throw r.zt=!0,r}let r,n;const o=new Promise((e,o)=>{r=e,n=e=>{const{outputSize:r,ht:n}=t;if(n.outputSize=r,Wt(e))try{e.outputSize=r}catch{}o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,It:!1,Ot:null,Dt:r,xt:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,Ut:l}=function(t,e){const r=new AbortController;let n;const{writable:o,readable:a}=new TransformStream({transform(t,r){e.outputSize+=t.length,r.enqueue(t)}}),i=a.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});return i.catch(t=>{n||Object.assign(e,{It:!0,Ot:t})}),{writable:o,closed:i,Ut:()=>{n=!0,r.abort()}}}(t.writable,t);let u;try{u=en({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.Rt&&Number.isFinite(f)&&f>=0&&(t.Ft=setTimeout(()=>function(t){if(t.Ft=null,t.Rt)return;const{xt:e,writer:r}=t;if(Jr(t),t.yt=null,e){const t=new Error(kr);t.zt=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await d(),await c,t}catch(e){await d(),l();try{await c}catch{}const{outputSize:r,ht:n,It:o,Ot:a}=t;n.outputSize=r;const i=Wt(e)&&(e.codecImportFailed||e.zt),s=o&&!i?a:e;if(Wt(s))try{s.outputSize=r}catch{}throw s}async function d(){if(!u&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.zt)return _r(t),Xr(t),Wr(t,e);if(r&&r.codecImportFailed){if(t.reader)return Xr(t),Wr(t,e);t.St()}throw r}}}})}return t.bt},Nr=qr;let rn=[];const nn=[];let on,an,sn=0;async function cn(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:d}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;f&&(d&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(d,n.baseURI)),await async function(t,e){!rr.has(t)&&e&&cr(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===I&&n.transferStreams);const h=!(s||c||l||u),y=f===I||Boolean(r.codecURI);return e.useWebWorkers=!h&&y&&(a||a===I&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:I,e.createWorker=e.useWebWorkers&&p?p:I,r.useCompressionStream=i||i===I&&n.useCompressionStream,(await async function(){const r=rn.find(t=>!t.ft);if(r)return wn(r),new Lr(r,t,e,E);if(rn.length<m){const r={kt:sn};return sn++,rn.push(r),new Lr(r,t,e,E)}return new Promise(r=>{nn.push({resolve:r,stream:t,ht:e}),an=n.workerStarvationTimeout,ln()})}()).run();function E(t){if(un(),nn.length){const[{resolve:e,stream:r,ht:n}]=nn.splice(0,1);e(new Lr(t,r,n,E)),ln()}else t.yt?(wn(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.gt?t.gt=!1:t.Ct=setTimeout(async()=>{rn=rn.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):rn=rn.filter(e=>e!=t)}}function ln(){!on&&nn.length&&Number.isFinite(an)&&an>=0&&(on=setTimeout(fn,an))}function un(){on&&(clearTimeout(on),on=null)}function fn(){if(on=null,nn.length){const[{resolve:t,stream:e,ht:r}]=nn.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:I,createWorker:I});t(new Lr({},e,n,dn)),ln()}}function dn(){un(),ln()}function wn(t){const{Ct:e}=t;e&&(clearTimeout(e),t.Ct=null)}const pn="\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 mn(t,e){return hn(t,e,!0)}function hn(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=pn[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const yn="HTTP error ",En="HTTP Range not supported",bn="HTTP resource changed",Sn="Writer iterator completed too soon",gn="Writer not initialized",An="Invalid writer (size must be writable)",Rn="Content-Range",Dn="Range",xn="GET",Fn="bytes",zn=16777216,Tn="writable",In=Symbol();class On{constructor(){this.size=0}init(){this.initialized=!0}}class Un extends On{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=Ut(Ot())}={}){const n=this;let o=0;return r=kt(r),new ReadableStream({async pull(a){const i=e===I?r:Math.min(r,e-o),s=await ho(n,t+o,i);s.length&&(a.enqueue(s),o+=s.length),(e!==I&&o>=e||!s.length&&i)&&a.close()}})}}class kn extends On{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(gn);return t.writeUint8Array(jt(e))}});Object.defineProperty(t,Tn,{get:()=>e})}writeUint8Array(){}}class Cn extends Un{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Mt:t,Nt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Nt:r,Mt:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class Mn extends kn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",vt:""})}writeUint8Array(t){const e=this;let r,n=e.vt;const o=e.vt.length;for(e.vt="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.vt+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.vt=n+e.vt}getData(){return this.data+btoa(this.vt)}}let Nn,vn;class _n extends Un{constructor(t){super(),Object.assign(this,{_t:t,size:t.size}),vn||(vn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Nn=1==e}catch{Nn=!1}})())}createReadable(t){const{_t:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};if(typeof e.stream==k){if(!n&&o>=r)return Ke(e.stream());if(Nn)return Ke(e.slice(n,n+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r._t:r._t.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class Ln extends On{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,Tn,{get:()=>r.writable}),e.contentType=t,e.Lt=Ye(r.readable,t),e.Lt.catch(()=>{})}getData(){return this.Lt}}class Bn extends _n{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class jn extends Ln{constructor(t){super(),Object.assign(this,{encoding:t,Bt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Bt:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return hn(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Pn extends Un{constructor(t,e){super(),Vn(this,t,e)}async init(){await Zn(this,ro,Qn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==I){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(En);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=I,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await ro(xn,t,Xn(t,o,e));if(206!=r.status)throw new Error(En);const s=r.headers.get(Rn);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=o)throw new Error(En)}qn(t,r),Yn(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return Hn(this,t,e,ro,Qn)}}class Wn extends Un{constructor(t,e){super(),Vn(this,t,e)}async init(){await Zn(this,no,$n),super.init()}readUint8Array(t,e){return Hn(this,t,e,no,$n)}}function Vn(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=zn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:l})}async function Zn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=Ot(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==U||o)){const n=await e(xn,t,Xn(t,s?-22:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==Fn))throw new Error(En);{if(s){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.jt=e)}Yn(t,n);const o=Gn(n);o===I?await eo(t,e,r):t.size=o}}else await eo(t,e,r)}async function Hn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,jt:s,size:c,options:l}=t;if(a||i){if(s&&e==c-d&&r==d)return s;if(e>=c||0===r)return v;{e+r>c&&(r=c-e);const o=await n(xn,t,Xn(t,e,r));if(206!=o.status)throw new Error(En);const a=o.headers.get(Rn);if(a){const t=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw new Error(En)}qn(t,o),Yn(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(En);return i}}{const{data:n}=t;return n||await o(t,l),t.data.subarray(e,e+r)}}function Gn(t){const e=t.headers.get(Rn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Kn({headers:t}){return{Pt:t.get("Etag")||I,lastModified:t.get("Last-Modified")||I}}function Yn(t,e){const{checkResourceChanges:r,Wt:n}=t;r&&!n&&206==e.status&&(t.Wt=Kn(e))}function qn(t,e){const{checkResourceChanges:r,Wt:n,size:o}=t;if(r){const t=Gn(e);if(t!==I&&o!==I&&t!=o)throw new Error(bn);if(n){const t=Kn(e);if(Object.entries(n).some(([e,r])=>r!==I&&t[e]!==I&&r!=t[e]))throw new Error(bn)}}}function Xn(t,e=0,r=1){return Object.assign({},Jn(t),{[Dn]:Fn+"="+(e<0?e:e+"-"+(e+r-1))})}function Jn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Qn(t){await to(t,ro)}async function $n(t){await to(t,no)}async function to(t,e){const r=await e(xn,t,Jn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function eo(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Jn(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function ro(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new Error(En):new Error(yn+(a.statusText||a.status))}function no(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(En):new Error(yn+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class oo extends Un{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Wn(t,e):new Pn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class ao extends oo{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class io extends Un{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Vt:t,size:t.length})}readUint8Array(t,e){return this.Vt.slice(t,t+e)}}class so extends kn{constructor(t){super(),this.Zt=t||262144}init(t=0){Object.assign(this,{offset:0,Vt:new Uint8Array(t>0?t:this.Zt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Vt.length){let t=e.Vt.length?2*e.Vt.length:e.Zt;for(;t<r;)t*=2;const n=e.Vt;e.Vt=new Uint8Array(t),e.Vt.set(n)}e.Vt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Vt.length?this.Vt:this.Vt.slice(0,this.offset)}}class co extends Un{constructor(t){super(),this.Ht=t}async init(){const t=this;t.Gt=0;const e=t.Ht=await Promise.all(t.Ht.map(mo));t.Kt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Yt(t){const{Kt:e,size:r}=this,n=e[t];return n===I?r:n}async readUint8Array(t,e){const r=this,{Ht:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await ho(s,i,e);else{const a=n-i;o=Bt(await ho(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=v;return r.Gt=Math.max(a,r.Gt),o}}class lo extends On{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===In)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error(Sn);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await po(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await l())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}Object.defineProperty(r,Tn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(In)}finally{t.releaseLock()}}}class uo{constructor(t){return Array.isArray(t)&&(t=new co(t)),(t instanceof ReadableStream||typeof t.getReader==k)&&(t={readable:Ke(t)}),t}}class fo{constructor(t){t.writable===I&&typeof t.next==k&&(t=new lo(t)),(t instanceof WritableStream||typeof t.getWriter==k)&&(t={writable:qe(t)});try{t.size=t.size===I?0:t.size}catch{throw new Error(An)}return t}}function wo(t){return Boolean(t&&t.getData)}async function po(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function mo(t){return t=new uo(t),await po(t),t.size!==I&&t.readUint8Array||(t=new _n(await Ye(t.readable)),await po(t)),t}function ho(t,e,r){return t.readUint8Array(e,r)}function yo(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?Un.prototype.createReadable.call(t,e):t.readable}function Eo(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==I&&(n.filename=r),t.push(n)}}const bo="filename",So="rawFilename",go="comment",Ao="rawComment",Ro="uncompressedSize",Do="compressedSize",xo="offset",Fo="diskNumberStart",zo="lastModDate",To="rawLastModDate",Io="lastAccessDate",Oo="rawLastAccessDate",Uo="creationDate",ko="rawCreationDate",Co="internalFileAttributes",Mo="externalFileAttributes",No="msdosAttributesRaw",vo="msdosAttributes",_o="msDosCompatible",Lo="zip64",Bo="encrypted",jo="version",Po="versionMadeBy",Wo="zipCrypto",Vo="directory",Zo="executable",Ho="compressionMethod",Go="signature",Ko="extraField",Yo="unixMode",qo="setuid",Xo="setgid",Jo="sticky",Qo=[bo,So,Ro,Do,zo,To,go,Ao,Io,Oo,Uo,ko,xo,Fo,Co,Mo,No,vo,_o,Lo,Bo,jo,Po,Wo,Vo,Zo,"symlink",Ho,Go,"crc32",Ko,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Yo,"unixExternalUpper",qo,Xo,Jo,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class $o{constructor(t){Qo.forEach(e=>this[e]=t[e])}}const ta=new Set([1,m,10,h,28789,25461,y,E,b,22613,13]);function ea(t,e,r){return t?e?12:16+4*r:0}const ra="File format is not recognized",na="End of central directory not found",oa="End of Zip64 central directory locator not found",aa="Central directory header not found",ia="Local file header not found",sa="Zip64 extra field not found",ca="File contains encrypted entry",la="Encryption method not supported",ua="Split zip file",fa="Overlapping entry found",da="Entry data out of bounds",wa="Ambiguous archive",pa="Encrypted central directory is not supported",ma="Unsafe filename",ha="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ya="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ea="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",ba="64-bit value exceeds Number.MAX_SAFE_INTEGER",Sa="unsorted central directory",ga="unknown version needed to extract",Aa="compressed patched data",Ra="malformed extra field",Da="unknown zip64 extensible data",xa="wrapped entries count",Fa="appended data",za="prepended data",Ta="prepended central directory",Ia="trailing central directory data",Oa="duplicate filename",Ua="mismatched zip64 end of central directory record",ka="multiple end of central directory records",Ca="mismatched local file header (filename)",Ma="mismatched local file header (general purpose bit flag)",Na="mismatched local file header (compression method)",va="mismatched local file header (crc32 or sizes)",_a=/^[a-zA-Z]:/,La="utf-8",Ba="cp437",ja=[[Ro,t],[Do,t],[xo,t],[Fo,e]],Pa={[e]:{qt:Ri,bytes:4},[t]:{qt:Di,bytes:8}},Wa=BigInt(Number.MAX_SAFE_INTEGER);class Va{constructor(t,e={}){Object.assign(this,{reader:new uo(t),options:e,Xt:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await po(i),i.size!==I&&i.readUint8Array||(i=new _n(await Ye(i.readable)),await po(i)),i.size<d)throw new Error(ra);const c=a.warnings=[],m=ii(n,a.options),h=m==et,y=m!=nt,E=li(yi(a,n,J),m),b=function(t,e){if(t===I)return e;if(!ai(t))throw new Error(ya);return t}(yi(a,n,"filenameValidation"),m),S=yi(a,n,"normalizeFilename"),{Jt:F,Qt:z}=await ui(i,y,E);if(!F)throw await async function(t){return await oi(t)==o}(i)?new Error(ua):new Error(na);y&&z>1&&hi(ka);const T=Pt(F);let O=Ri(T,12),U=Ri(T,16);const k=F.offset,C=Ai(T,20),M=k+d+C,N=i.size-M;N>E&&hi(Fa),N>0&&Eo(c,Fa);let _=Ai(T,4);const L=i.Gt||0;let B,j,P,W,V,Z=Ai(T,6),H=Ai(T,10),G=0,K=p;const Y=U==t||O==t||H==e||Z==e;if(U!=t&&Z!=e&&(U+=ni(i,Z)),Y){const r=F.offset>=w?await ho(i,F.offset-w,w):v,n=Pt(r);if(r.length==w&&Ri(n,0)==u){U=ni(i,Ri(n,4))+Di(n,8);let r=await ho(i,U,p),o=Pt(r);const a=F.offset-w-p;if((r.length<p||Ri(o,0)!=l)&&U!=a&&a>=0){const t=U;U=a,U>t&&(G=U-t),r=await ho(i,U,p),o=Pt(r)}if(r.length<p||Ri(o,0)!=l)throw new Error(oa);if(P=!0,W=Di(o,4)>44,W){const t=Math.min(Di(o,4)-44,i.size-U-p);t>0&&(K+=t,V=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Pt(t),n=Ai(r,26);Object.assign(e,{compressionMethod:Ai(r,0),compressedSize:Di(r,2),uncompressedSize:Di(r,10),encryptionAlgorithm:Ai(r,18),bitLength:Ai(r,20),flags:Ai(r,22),hashAlgorithm:Ai(r,24),hashData:t.subarray(28,28+n)})}return e}(await ho(i,U+p,t)))}_==e?_=Ri(o,16):_!=Ri(o,16)&&mi(h,c,Ua),Z==e?Z=Ri(o,20):Z!=Ri(o,20)&&mi(h,c,Ua),H==e?H=Di(o,32):H!=Di(o,32)&&mi(h,c,Ua),O==t?O=Di(o,40):O!=Di(o,40)&&mi(h,c,Ua),U=ni(i,Z)+Di(o,48)+G}}let q=O;const X=F.offset-(P?K+w:0);if(U>=i.size&&(G=i.size-U-O-d,U=i.size-O-d),L!=_)throw new Error(ua);if(U<0)throw new Error(ra);let Q=0,rt=await ho(i,U,O),ot=Pt(rt);if(O){if(rt.length<4)throw new Error(ra);const t=X-O;if(U!=t&&Z==_){const e=Ri(ot,Q)==s||Boolean(V&&V.compressedSize)||Ka(ot);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Ri(Pt(await ho(i,t,4)),0)==s),r){const r=U;U=t,U>r&&(G+=U-r,B=e),rt=await ho(i,U,O),ot=Pt(rt)}}}const at=X-U;if(O!=at&&at>=0&&Z==_&&(O=at,rt=await ho(i,U,O),ot=Pt(rt)),U<0||U>=i.size)throw new Error(ra);a.directoryOffset=U,a.directoryLength=q;const it=Ei(a,n,"decryptCentralDirectory");let st,ct;if(it&&H&&rt.length>=4&&Ri(ot,0)!=s&&(W||Ka(ot))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(V,q,rt.length);ct=rt.subarray(t),rt=await it(rt.subarray(0,t),V),ot=Pt(rt),q=rt.length,st=!0}V&&!st&&(rt.length<4||Ri(ot,0)==s)&&Eo(c,Da),j=U;const lt=yi(a,n,"filenameEncoding"),ut=yi(a,n,"commentEncoding"),ft=new Set;let dt,wt=-1;const pt=!h&&!P;!H&&pt&&(H=Ya(ot,rt,Q),H&&Eo(c,xa));for(let t=0;t<H;t++){const o=new Ga(i,a.options);if(Q+f>rt.length||Ri(ot,Q)!=s){if(0==t&&!st&&(W||Ka(ot)))throw new Error(pa);throw new Error(aa)}Xa(o,ot,Q+6);const l=Boolean(o.bitFlag.languageEncodingFlag),u=Q+f,d=u+o.filenameLength,w=d+o.extraFieldLength,p=Ai(ot,Q+4),m=!(p>>8),h=p>>8==3,y=rt.subarray(u,d),E=Ai(ot,Q+32),F=w+E,z=rt.subarray(w,F),T=l,O=l,U=Ri(ot,Q+38),k=U&r,C={readOnly:Boolean(1&k),hidden:Boolean(2&k),system:Boolean(4&k),directory:Boolean(16&k),archive:Boolean(32&k)},M=Ri(ot,Q+42),N=Ei(a,n,"decodeText")||mn,v=T?La:lt||Ba,_=O?La:ut||Ba;let L=N(y,v,$);if(L===I&&(L=mn(y,v)),S){const t=S(L);t!==I&&(L=t)}if(ci(L,b)){const t=new Error(ma);throw t.filename=L,t}let B=N(z,_,tt);B===I&&(B=mn(z,_)),Object.assign(o,{index:t,$t:st,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,te:E,offset:M,diskNumberStart:Ai(ot,Q+34),internalFileAttributes:Ai(ot,Q+36),externalFileAttributes:U,msdosAttributesRaw:k,msdosAttributes:C,rawFilename:y,filenameUTF8:T,commentUTF8:O,rawExtraField:rt.subarray(d,w),rawComment:z,filename:L,comment:B}),Ja(o,o,ot,Q+6)&&Eo(c,Ra,L),o.offset+=G;const P=ni(i,o.diskNumberStart)+o.offset;j=Math.min(P,j),P<wt&&Eo(c,Sa,L),wt=P,(o.version&r)>63&&Eo(c,ga,L),32&~o.rawBitFlag||Eo(c,Aa,L),ft.has(o.filename)&&(dt=!0),ft.add(o.filename);const V=o.externalFileAttributes>>16&e;o.unixMode===I&&16877&V&&(o.unixMode=V);const Z=Boolean(o.unixMode&R),K=Boolean(o.unixMode&D),Y=Boolean(512&o.unixMode),q=40960==((o.unixMode===I?V:o.unixMode)&g),X=!q&&(o.unixMode!==I?!!(73&o.unixMode):h&&!!(73&V)),J=o.unixMode!==I&&(o.unixMode&g)==A,et=(V&g)==A;Object.assign(o,{setuid:Z,setgid:K,sticky:Y,symlink:q,unixExternalUpper:V,executable:X,directory:J||et||m&&C.directory||o.filename.endsWith(x),zipCrypto:o.encrypted&&!o.extraFieldAES});const nt=new $o(o);if(nt.getData=(t,e)=>o.getData(t,nt,a.Xt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=Ye(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,nt,a.Xt,Object.assign({},t,{preventClose:!1})),r},Q=F,t==H-1&&pt){const t=Ya(ot,rt,Q);t&&(H+=t,Eo(c,xa))}const{onprogress:at}=n;if(at)try{await at(t+1,H,new $o(o))}catch{}yield nt}let mt=Q,ht=qa(rt.subarray(Q))||(st?qa(ct):I);if(!ht&&!st){const t=U+Q,e=Math.min(X-t,65541);e>=6&&(ht=qa(await ho(i,t,e)))}ht&&(a.digitalSignature=ht,mt=Q+6+ht.length),(Q!=q&&mt!=q||!st&&Q!=O&&mt!=O)&&mi(h,c,Ia),dt&&mi(h,c,Oa);const yt=yi(a,n,"extractPrependedData"),Et=yi(a,n,"extractAppendedData"),bt=(h||yt)&&H&&4==j&&await async function(t){const e=await oi(t);return e==o||808471376==e}(i)?4:0;return h&&(G||H&&j>bt)&&hi(za),(G||H&&j>4)&&Eo(c,za),B&&Eo(c,Ta),yt&&(a.prependedData=j>bt?await ho(i,bt,j-bt):v),a.comment=C?await ho(i,k+d,C):v,Et&&(a.appendedData=M<i.size?await ho(i,M,i.size-M):v),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[_](){return this.close()}}class Za{constructor(t={}){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}}),o=new Va(r,t),a=o.getEntriesGenerator(),i=new Set;this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await a.next();if(e)return t.close();const n=function(t,e){const{readable:r,writable:n}=new TransformStream;let o;const a={cancel:async t=>{e.delete(a),await(o?o.cancel(t):r.cancel(t))}};return a.readable=new ReadableStream({async pull(i){o||(o=r.getReader(),e.add(a),async function(){try{await t.getData(n,{preventClose:!1})}catch(t){try{await n.abort(t)}catch{}}finally{e.delete(a)}}());const{done:s,value:c}=await o.read();s?i.close():i.enqueue(c)},cancel:t=>a.cancel(t)},{highWaterMark:0}),a}(r,i),o={...r,readable:n.readable};delete o.getData,Object.defineProperties(o,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(o)},async cancel(t){const r=Array.from(i);i.clear(),e.error(t),await Promise.allSettled(r.map(e=>e.cancel(t))),await Promise.allSettled([a.return(),o.close()])}}),this.writable=n}}async function Ha(t,e={}){if(t=new uo(t),await po(t),t.size!==I&&t.readUint8Array||(t=new _n(await Ye(t.readable)),await po(t)),t.size<d)return!1;const r=ii(e,{}),n=r!=nt,o=li(e[J],r),{Jt:a,Qt:i}=await ui(t,n,o);if(!a||r==et&&i>1)return!1;const s=Ai(Pt(a),20),c=a.offset+d+s;return t.size-c<=o}class Ga{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=Ot(),{reader:l,index:u,offset:f,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:b,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:A}=h,R=e.localDirectory={},D=e.warnings=[],x=ni(l,d)+f,z=await ho(l,x,F),T=Pt(z);let O=yi(s,i,L),U=yi(s,i,B);const k=pt(yi(s,i,j)),C=Boolean(k),M=!0===k;if(wt(O,U),O=O&&O.length&&O,U=U&&U.length&&U,w&&99!=w.originalCompressionMethod)throw new Error($e);if(z.length<F||Ri(T,0)!=n)throw new Error(ia);Xa(R,T,4);const{extraFieldLength:N,filenameLength:_}=R,G=R.dataOffset=x+F+_+N,K=yi(s,i,"checkLocalDirectory"),Y=ii(i,s.options),q=function(t,e){return t===I?e!=nt:Boolean(t)}(K,Y),X=yi(s,i,"checkLocalFilename"),J=function(t,e){return t===I?e==et:Boolean(t)}(X===I?K:X,Y);let Q=v;if(J&&(_||N)){const t=await ho(l,x+F,_+N);Q=t.subarray(0,_),R.rawExtraField=t.subarray(_)}else R.rawExtraField=N?await ho(l,x+F+_,N):v;J&&(R.rawFilename=Q),Ja(s,R,T,4,!0)&&Eo(D,Ra),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.$t&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||mi(i,o,Ca),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&mi(i,o,Ma),e.compressionMethod!=t.compressionMethod&&mi(i,o,Na),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||mi(i,o,va)}(s,R,Q,J,q?I:D);const{lastAccessDate:$,creationDate:tt,uid:rt,gid:ot}=R;$&&(e.lastAccessDate=$),tt&&(e.creationDate=tt),rt!==I&&e.uid===I&&(e.uid=rt),ot!==I&&e.gid===I&&(e.gid=ot);const at=yi(s,i,"checkPasswordOnly"),it=s.encrypted&&R.encrypted&&(!M||at),st=it&&!w;if(M||(e.zipCrypto=st),it&&!(64&~R.rawBitFlag))throw new Error(la);const ct=C?I:ar(m);if(0!=m&&8!=m&&9!=m&&!ct&&!C)throw new Error($e);if(it){if(!st&&(w.strength<1||w.strength>3))throw new Error(la);if(!O&&!U)throw new Error(ca)}if(G+g>l.size)throw new Error(da);const lt=g,ut=Ke(l.createReadable({offset:G,size:lt})),mt=ft(yi(s,i,P));dt(mt);let ht=yi(s,i,"checkOverlappingEntry");const yt=yi(s,i,"checkOverlappingEntryOnly");yt&&(ht=!0);const{onstart:Et,onprogress:bt,onend:St}=i,gt=0!=m&&!C,At=C?g-ea(it,st,w&&w.strength):S,Rt=9==m;let Dt=yi(s,i,V);Rt&&(Dt=!1);const xt=yi(s,i,"checkCrc32"),Ft=(xt===I?yi(s,i,"checkSignature"):xt)&&!C&&(!it||st||w&&1==w.vendorVersion),zt={options:{codecType:Ir,password:O,rawPassword:U,zipCrypto:st,encryptionStrength:w&&w.strength,checkCrc32:Ft,checkAuthenticationCode:yi(s,i,"checkAuthenticationCode"),passwordVerification:st&&(A?b>>>8&r:E>>>24&r),outputSize:At,crc32:E,compressed:gt,encrypted:it,useWebWorkers:yi(s,i,W),useCompressionStream:Dt,transferStreams:yi(s,i,Z),deflate64:Rt,format:ct?ct.format:I,codecURI:ct?ct.codecURI:I,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:at},config:c,ut:{signal:mt,size:lt,onstart:Et,onprogress:bt,onend:St}};let Tt,It,Ut;ht&&await async function({reader:t,ee:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:l,extraFieldZip64:u,Xt:f}){let d=0;if(l&&(d=u?20:12),d){const r=await ho(t,c+i,d+4),n=Pt(r);let l=r.length==d+4&&Ri(n,0)==a;if(l){const t=ri(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:l=!1}if(r.length>=d){const t=ri(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+i+d,ee:e};for(const[t,e]of f)if(t!=r&&w.start<e.end&&e.start<w.end){const t=new Error(fa);throw t.overlappingEntry=e.ee,t}f.set(r,w)}({reader:l,ee:e,index:u,offset:x,crc32:E,compressedSize:g,uncompressedSize:S,dataOffset:G,dataDescriptor:A||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,Xt:o});try{if(!yt){at&&(t=new WritableStream),t=new fo(t),await po(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(At,g,gt)),({writable:Tt}=t);const{outputSize:e}=await cn({readable:ut,writable:Tt},zt);if(e!=At)throw Object.assign(new Error(lr),{outputSize:e});t.size+=e}}catch(e){const{outputSize:r}=zt;if(r!==I?t.size+=r:Wt(e)&&e.outputSize!==I&&(t.size+=e.outputSize),!at||!Wt(e)||e.message!=ce)throw It=e,Ut=!0,e}finally{if((wo(t)||!yi(s,i,H))&&Tt&&!Tt.locked){const t=Tt.getWriter();if(Ut)try{await t.abort(It)}catch{}else await t.close()}}return at||yt?I:t.getData?t.getData():Tt}}function Ka(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Ri(t,r))return!0;return!1}function Ya(t,e,r){let n=0;for(;r+f<=e.length&&Ri(t,r)==s;)r+=f+Ai(t,r+28)+Ai(t,r+30)+Ai(t,r+32),n++;return n%65536?0:n}function qa(t){if(t.length>=6){const e=Pt(t);if(Ri(e,0)==i){const r=Ai(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function Xa(t,e,r){const n=t.rawBitFlag=Ai(e,r+2),o=!(1&~n),a=Ri(e,r+6);Object.assign(t,{encrypted:o,version:Ai(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:a,lastModDate:bi(a),filenameLength:Ai(e,r+22),extraFieldLength:Ai(e,r+24)})}function Ja(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=Pt(a);let c=0,l=!1;try{for(;c<a.length;){const t=Ai(s,c),e=Ai(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>a.length&&(l=!0);const u=Ai(r,n+4);Object.assign(e,{signature:Ri(r,n+10),crc32:Ri(r,n+10),compressedSize:Ri(r,n+14),uncompressedSize:Ri(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=Pt(t.data),n=ja.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+Pa[e].bytes,0);if(t.data.length<o)throw new Error(sa);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=Pa[s];e[i]=t[i]=c.qt(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const d=i.get(28789);d&&(Qa(d,bo,So,e,t),e.extraFieldUnicodePath=d);const w=i.get(25461);w&&(Qa(w,go,Ao,e,t),e.extraFieldUnicodeComment=w);const p=i.get(m);p&&p.data.length>=7?(function(t,e,r){const n=Pt(t.data),o=gi(n,4);Object.assign(t,{vendorVersion:gi(n,0),vendorId:gi(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Ai(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=I)}(p,e,u),e.extraFieldAES=p):e.compressionMethod=u;const S=i.get(13);S&&($a(S,e),e.extraFieldPkwareUnix=S);const g=i.get(22613);g&&($a(g,e),e.extraFieldUnixType1=g);const A=i.get(10);A&&(function(t,e){const r=Pt(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Ai(r,o),a=Ai(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=Pt(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:Si(o),lastAccessDate:Si(a),creationDate:Si(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(A,e),e.extraFieldNTFS=A);const R=i.get(b);let D;if(R&&(D=ti(R,e,!1),e.extraFieldUnix=R),!D){const t=i.get(E);t&&(ti(t,e,!0),e.extraFieldInfoZip=t)}const x=i.get(h);x&&(function(t,e,r){if(!t.data.length)return;const n=Pt(t.data),o=gi(n,0),a=[],i=[];r?(1&~o||(a.push(zo),i.push(To)),2&~o||(a.push(Io),i.push(Oo)),4&~o||(a.push(Uo),i.push(ko))):t.data.length>=5&&(a.push(zo),i.push(To));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Ri(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(x,e,o),e.extraFieldExtendedTimestamp=x);const F=i.get(y);return F&&(e.extraFieldUSDZ=F),l}function Qa(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=Pt(t.data),i=new Qt;i.append(o[r]);const s=Pt(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Ri(a,1),l=gi(a,0);Object.assign(t,{version:l,[e]:mn(t.data.subarray(5)),valid:1==l&&!o.bitFlag.languageEncodingFlag&&c==Ri(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function $a(t,e){if(t.data.length<8)return;const r=Pt(t.data),n={lastAccessDate:new Date(1e3*(0|Ri(r,0))),lastModDate:new Date(1e3*(0|Ri(r,4)))};t.data.length>=12&&(n.uid=Ai(r,8),n.gid=Ai(r,10)),Object.assign(t,n),Object.assign(e,n)}function ti(t,e,r){try{const n=Pt(t.data);let o,a;if(r){let e=0;const r=gi(n,e++),i=gi(n,e++);o=ei(t.data.subarray(e,e+i)),e+=i;const s=gi(n,e++);a=ei(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=Ai(n,0),a=Ai(n,2),Object.assign(t,{uid:o,gid:a}));return o!==I&&(e.uid=o),a!==I&&(e.gid=a),o!==I||a!==I}catch{}}function ei(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ri(t,e,r){const n=Ri(t,e);let o,a;return r?(o=Di(t,e+4),a=Di(t,e+12)):(o=Ri(t,e+4),a=Ri(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function ni(t,e){return t.Yt?t.Yt(e):0}async function oi(t){return Ri(Pt(await ho(t,0,4)))}function ai(t){return t===et||t===rt||t===nt}function ii(t,e){return si(t,si(e,rt))}function si(t,e){const r=t.strictness;if(r!==I){if(!ai(r))throw new Error(ha);return r}const n=t.checkAmbiguity;return n===I?e:n?et:e==nt?nt:rt}function ci(t,e){if(e==nt)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||_a.test(t))||e==et&&(r.includes(".")||r.includes(""))}function li(t,r){if(t!==I){const e=yt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(Ea);return e}return r==et?0:r==nt?1/0:e}async function ui(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,l,u,f,w]of fi(t,o)){const o=Ai(r,f+20);if(w+d+o==n){const o=await wi(t,r,l,f,w,n,a);if(2==o){if(i||(i=di(u,f,w)),c++,!e||c>1)break}else 1!=o||s||(s=di(u,f,w))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,l,u]of fi(t,o)){const o=di(c,l,u);a||(a=o);const f=await wi(t,e,s,l,u,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{Jt:i,Qt:c}}async function*fi(t,e){const r=t.size-e,n=await ho(t,r,e),o=Pt(n);for(let t=n.length-d;t>=0;t--)Ri(o,t)==c&&(yield[o,r,n,t,r+t])}function di(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function wi(r,n,o,a,i,c,l){const f=Ai(n,a+10),d=Ri(n,a+12),p=Ri(n,a+16);if(f==e||d==t||p==t)return await pi(r,n,o,i-w,c,l)==u?2:0;if(!f&&!d)return 1;const m=Ai(n,a+6);for(const t of[i-d,ni(r,m)+p])if(await pi(r,n,o,t,c,l)==s)return 2;return 0}async function pi(t,e,r,n,o,a){return n<0||n+4>o?I:n>=r?Ri(e,n-r):a.count>0?(a.count--,Ri(Pt(await ho(t,n,4)),0)):I}function mi(t,e,r){t?hi(r):Eo(e,r)}function hi(t){const e=new Error(wa);throw e.reason=t,e}function yi(t,e,r){return e[r]===I?t.options[r]:e[r]}function Ei(t,e,r){return ut(yi(t,e,r))}function bi(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<T?T:o}function Si(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function gi(t,e){return t.getUint8(e)}function Ai(t,e){return t.getUint16(e,!0)}function Ri(t,e){return t.getUint32(e,!0)}function Di(t,e){const r=t.getBigUint64(e,!0);if(r>Wa)throw new Error(ba);return Number(r)}var xi=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:wa,ERR_BAD_FORMAT:ra,ERR_CENTRAL_DIRECTORY_NOT_FOUND:aa,ERR_ENCRYPTED:ca,ERR_ENCRYPTED_CENTRAL_DIRECTORY:pa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:da,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:oa,ERR_EOCDR_NOT_FOUND:na,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:sa,ERR_INVALID_AUTHENTICATION_CODE:se,ERR_INVALID_COMPRESSED_DATA:ur,ERR_INVALID_CRC32:fr,ERR_INVALID_FILENAME_VALIDATION:ya,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ea,ERR_INVALID_PASSWORD:ie,ERR_INVALID_STRICTNESS:ha,ERR_INVALID_UNCOMPRESSED_SIZE:lr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ia,ERR_OVERLAPPING_ENTRY:fa,ERR_SPLIT_ZIP_FILE:ua,ERR_UNSAFE_FILENAME:ma,ERR_UNSUPPORTED_COMPRESSION:$e,ERR_UNSUPPORTED_ENCRYPTION:la,ERR_UNSUPPORTED_UINT64:ba,ERR_WORKER_STARTUP_TIMEOUT:kr,WARNING_APPENDED_DATA:Fa,WARNING_COMPRESSED_PATCHED_DATA:Aa,WARNING_DUPLICATE_FILENAME:Oa,WARNING_MALFORMED_EXTRA_FIELD:Ra,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ma,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Na,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:va,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Ca,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Ua,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:ka,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ta,WARNING_PREPENDED_DATA:za,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Ia,WARNING_UNKNOWN_VERSION:ga,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Da,WARNING_UNSORTED_CENTRAL_DIRECTORY:Sa,WARNING_WRAPPED_ENTRIES_COUNT:xa,ZipReader:Va,ZipReaderStream:Za,isZipFile:Ha});const Fi="File already exists",zi="Zip file comment exceeds 64KB",Ti="Invalid zip file comment (must be a Uint8Array)",Ii="File entry comment exceeds 64KB",Oi="Invalid file entry comment (must be a string)",Ui="Invalid date (must be a valid Date instance)",ki="File entry name exceeds 64KB",Ci="Version exceeds 65535",Mi="The strength must equal 1, 2, or 3",Ni="Encryption is not supported in USDZ files",vi="Split zip files are not supported in USDZ files",_i="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Li="Invalid extra field (must be a Map)",Bi="Invalid extra field type (must be integer 0..65535)",ji="Invalid extra field data (must be a Uint8Array)",Pi="Extra field data exceeds 64KB",Wi=-2147483648,Vi=2147483647,Zi=BigInt(0),Hi=BigInt("0x7fffffffffffffff"),Gi="Zip64 is not supported (set the 'zip64' option to 'true')",Ki="Undefined uncompressed size",Yi="Undefined compression method",qi="Undefined CRC32",Xi="Undetermined size",Ji="Undefined reader",Qi="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",$i="Zip file not empty",ts="Invalid uid (must be integer 0..2^32-1)",es="Invalid gid (must be integer 0..2^32-1)",rs="Invalid UNIX mode (must be integer 0..65535)",ns="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",os="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",as="Invalid msdosAttributesRaw (must be integer 0..255)",is="Invalid msdosAttributes (must be an object with boolean flags)",ss="Invalid level (must be integer 0..9)",cs="Signature data exceeds 64KB",ls="Invalid entry option (must be an entry returned by ZipReader#getEntries())",us="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",fs="compression unavailable",ds="clamped last modification date",ws=new Uint8Array([7,0,2,0,65,69,3,0,0]),ps="infozip",ms="unix",hs=[8,9,5,3];let ys=0;const Es=[];class bs{constructor(t,e={}){t=new fo(t);const{availableSize:r=O,maxSize:n=O}=t,o=r>0&&r!==O&&n>0&&n!==O;if(o&&e[X])throw new Error(vi);Object.assign(this,{writer:t,re:o,options:e,ne:new Map,oe:new Set,offset:e[q]===I?t.size||t.writable.size||0:e[q],ae:e[q]===I?0:e[q]-(t.size||t.writable.size||0),ie:new Set,se:[],warnings:[],ce:0,le:0,ue:I,fe:!1})}prependZip(t){return Rs(this,async function(t,e){if(t.oe.size)throw new Error($i);await t.de(e)}(this,t))}appendZip(t){return Rs(this,this.de(t))}async de(t){const e=this,{ie:r,oe:n,ne:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let l;try{t=new uo(t),await po(t),t.size!==I&&t.readUint8Array||(t=new _n(await Ye(t.readable)),await po(t));const{ZipReader:r}=await Promise.resolve().then(function(){return xi}),i=new r(t),s=await i.getEntries();await i.close(),await po(e.writer);const{directoryOffset:u}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(Fi);n.add(t),c.push(t)}),e.we=!0;const{pe:f}=e;e.pe=new Promise(t=>l=()=>{e.we=!1,t()}),await f,e.re&&(delete e.re,await async function(t){return Pt(await ho(t,0,4)).getUint32(0,!0)==o}(t)||(await js(e.writer,Ls()),e.offset+=4));const d=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>_s(e,t)-_s(e,r));let s=0;for(const r of i){const n=_s(e,r);await Ns(t,e,s,n-s),ks(o,await vs(e,n))&&await o.closeDisk(),a.set(r,{offset:Cs(t,o),diskNumberStart:Os(o)}),s=n}await Ns(t,e,s,n-s)}else{const o=t.offset;await Ns(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+_s(e,t),diskNumberStart:0}))}return a}(e,t,s,u);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:l}=t;let{compressionMethod:u,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=o;f=Ms(f||v),t.extraFieldAES&&(u=99);const h=rc(f),y=Boolean(l)&&l.uncompressedSize!==I,E=Boolean(l)&&l.compressedSize!==I,b=-7&ac(w,p,m,i,u)|w<<1,{me:S,he:g}=nc({version:e,bitFlag:b,compressionMethod:u,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,ye:E,Ee:y,extraFieldLength:h}),{crc32:A}=t;A!==I&&$s(g,10,A);const{offset:R,diskNumberStart:D}=d.get(t);Object.assign(t,{be:!0,Ee:y,ye:E,offset:R,diskNumberStart:D,Se:!1,ge:v,Ae:v,Re:v,De:v,xe:v,rawExtraField:f,Fe:v,extendedTimestamp:!1,me:S,he:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),l&&l()}}add(o="",i,s={}){const c=this,{ie:l}=c,u=async function(o,i,s,c){const l=(c=Object.assign({},c))[Q];if(l!==I){const{ze:t,Te:e}=function(t,e,n){if(null===t||typeof t!=C||Array.isArray(t))throw new Error(ls);const{externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,rawLastModDate:c,creationDate:l,lastAccessDate:u,uncompressedSize:f,encrypted:d,zipCrypto:w,crc32:p,compressionMethod:m,extraFieldAES:h,extraFieldUnix:y,internalFileAttributes:E,extraField:b,bitFlag:S,directory:g,uid:A,gid:R}=t,D={externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,creationDate:l,lastAccessDate:u,internalFileAttributes:E,directory:g};S&&S.languageEncodingFlag&&(D[K]=!0);const x=function(t){if(t){const e=new Map;if(t.forEach((t,r)=>{ta.has(r)||e.set(r,t.data)}),e.size)return e}}(b);x&&(D[Ko]=x),A===I&&R===I||Object.assign(D,{uid:A,gid:R,unixExtraFieldType:y?ms:ps});const F={};if(e&&!g)if(Object.assign(F,{uncompressedSize:f,crc32:p,compressionMethod:m}),e!==ot&&Object.assign(F,{encrypted:d,zipCrypto:w,encryptionStrength:h?h.strength:I}),S&&(F.dataDescriptor=S.dataDescriptor,F[G]=hs[S.level]),n===I)F.rawLastModDate=c;else if(e!==ot&&w&&(!S||S.dataDescriptor)&&n instanceof Date&&function(t){let e=new Date(2e3*Math.ceil(Math.floor(t.getTime()/1e3)/2));return e<T?e=T:e>z&&(e=z),(e.getHours()<<3|e.getMinutes()>>3)&r}(n)!=(c>>>8&r))throw new Error(us);return{ze:D,Te:F}}(l,pt(Hs(o,c,j)),Hs(o,c,zo));delete c[Q],c=Object.assign(t,e,c)}if(Hs(o,c,Vo)&&!i.endsWith(x)&&(i+=x),o.oe.has(i))throw new Error(Fi);o.oe.add(i),ys<Ot().maxWorkers?ys++:await new Promise(t=>Es.push(t));try{return await async function(o,i,s,c){const l=function(n,o,a){let i=Hs(n,a,_o),s=Hs(n,a,Po,i?20:768);const c=Hs(n,a,Zo),l=Ys(n,a,"uid"),u=Ys(n,a,"gid");let f=Ys(n,a,Yo),d=Hs(n,a,"unixExtraFieldType"),w=Hs(n,a,qo),p=Hs(n,a,Xo),m=Hs(n,a,Jo);if(ht(l,t,ts),ht(u,t,es),ht(f,e,rs),d!==I&&d!==ps&&d!==ms)throw new Error(ns);if(d===ms&&(l!==I&&l>e||u!==I&&u>e))throw new Error(os);d!==I||l===I&&u===I||(d=ps);let h=Ys(n,a,No),y=Hs(n,a,vo);const E=h!==I||y!==I;if(l!==I||u!==I||f!==I||d||c?(i=!1,s=s&r|768):E&&(i=!0,s&=r),ht(h,r,as),y&&(typeof y!==C||Array.isArray(y)))throw new Error(is);if(s>e)throw new Error(Ci);let b=Hs(n,a,Mo);const S=b!==I;S||(b=0),!a[Vo]&&o.endsWith(x)&&(a[Vo]=!0);const F=Hs(n,a,Vo);if(F?(o.endsWith(x)||(o+=x),S||(b=16,i||(b|=16877<<16))):i||S||(b=c?493<<16:27525120),!i){const t=f!==I||Boolean(w||p||m);f=f===I?b>>16&e:f&e,w?f|=R:w=Boolean(f&R),p?f|=D:p=Boolean(f&D),m?f|=512:m=Boolean(512&f),S&&!t||(F?f=-61441&f|A:f&g||(f|=32768),b=(f&e)<<16|b&e)}({msdosAttributesRaw:h,msdosAttributes:y}=function(t,e){if(t!==I)t&=r;else if(e!==I){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===I&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,y)),E&&(b=b&t|h&r);const z=b>>16&e,T=f!==I&&40960==(f&g);return{name:o,Ie:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:b,unixExternalUpper:z,uid:l,gid:u,unixMode:f,unixExtraFieldType:d,symlink:T,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:h,msdosAttributes:y}}}(o,i,c);({name:i}=l);const u=function(t,r,n){const o=Ks(t,n,"encodeText")||te;let a=o(r,$);if(a===I&&(a=te(r)),rc(a)>e)throw new Error(ki);const i=n[go]||"";if(typeof i!=M)throw new Error(Oi);let s=o(i,tt);if(s===I&&(s=te(i)),rc(s)>e)throw new Error(Ii);const c=Hs(t,n,jo);if(c!==I&&c>e)throw new Error(Ci);const l=Gs(t,n,zo,new Date),u=Hs(t,n,To),f=Gs(t,n,Io),d=Gs(t,n,Uo),w=Hs(t,n,Co,0),p=pt(Hs(t,n,j)),m=Boolean(p),h=!0===p,y=Hs(t,n,L),E=Hs(t,n,B);wt(y,E);const b=Ys(t,n,"encryptionStrength",3),S=Hs(t,n,Wo),g=Hs(t,n,"extendedTimestamp",!0),A=Hs(t,n,"ntfsTimestamp"),R=Hs(t,n,"keepOrder",!0),D=Hs(t,n,W),x=Hs(t,n,Z),F=Hs(t,n,"bufferedWrite"),z=Ks(t,n,"createTempStream"),T=Hs(t,n,"dataDescriptorSignature",!0),O=ft(Hs(t,n,P));dt(O);const U=Hs(t,n,K,!oc(a)||!oc(s)),k=Hs(t,n,Ho),C=m||k===I?I:ar(k);if(!m&&k!==I&&0!==k&&8!==k&&!C)throw new Error($e);let N=Ys(t,n,G);if(ht(N,9,ss),t.options[X]){if(y!==I||E!==I)throw new Error(Ni);N===I&&k===I&&(N=0)}m&&(N=yt(n[G]));let v=Hs(t,n,V),_=Hs(t,n,Y);F&&_===I&&(_=!1),(_===I||S&&!h)&&(_=!0),N!==I&&6!=N&&(v=!1);const H=Hs(t,n,Lo);if(!(S||y===I&&E===I||Number.isInteger(b)&&b>=1&&b<=3))throw new Error(Mi);const q=Fs(n[Ko]),J=Fs(n.localExtraField),Q=Fs(n.centralExtraField);return{comment:i,Ie:{rawFilename:a,rawComment:s,version:c,lastModDate:l,rawLastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:w,Oe:m,Ue:h,password:y,rawPassword:E,encryptionStrength:b,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:A,keepOrder:R,useWebWorkers:D,transferStreams:x,bufferedWrite:F,createTempStream:z,dataDescriptorSignature:T,signal:O,useUnicodeFileNames:U,compressionMethod:k,format:C?C.format:I,codecURI:C?C.codecURI:I,ke:C?C.versionNeeded:I,level:N,useCompressionStream:v,dataDescriptor:_,zip64:H,rawExtraField:q,Ce:J,Fe:Q}}}(o,i,c),{comment:f}=u,d=c[Ko];o.ne.set(i,I);const w=o.ue,p={};let y,S;u.Ie.keepOrder&&(p.Me=new Promise(t=>y=t)),o.ue=p;try{const{Ie:f}=u;0==f.level||f.compressionMethod!==I||f.Oe||await async function(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.At)return!0;if(gr(e)||Sr(e,pr))return!0;if(r)try{return await vr(t),!0}catch{return!1}return!1}(Ot())||(f.level=0,Eo(o.warnings,fs,i));const d=await async function(e,r,{Ie:n},o){if(n.Oe&&!r&&!Hs(e,o,Vo))throw new Error(Ji);let a;if(r){if(r=new uo(r),await po(r),!r.readable&&!r.readUint8Array)throw new Error(Qi);({size:a}=r)}return Object.assign({reader:r},function(e,r,n,o,a){const{Oe:i,Ue:s,zipCrypto:c,password:l,rawPassword:u,encryptionStrength:f}=o;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:m}=o,h=0,y=0,E=!1;if(i&&r){if(y=a[Ro],y===I)throw new Error(Ki);if(m===I)throw new Error(Yi)}const b=!0===w,S=Hs(e,a,Bo);if(r&&s&&!S&&rc(l,u))throw new Error(_i);const g=r&&(Boolean(l&&rc(l)||u&&rc(u))||s&&S);r||(p=0,m=0);const A=ea(g,c,f);r&&(i?(a.uncompressedSize=y,h=n===I?qs(y)+A:n+(s?0:A)):n===I?(d=!0,(w||w===I)&&(w=E=!0,h=4294967296)):(a.uncompressedSize=y=n,h=(Xs(m,p)?qs(y):y)+A));const R=!(g||r&&(0!==n||i)||Xs(m,p));R&&!c&&Hs(e,a,Y)===I&&(d=!1);const D=b||E||y>=t,x=b||h>=t;if(D||x){if(!1===w)throw new Error(Gi);w=!0}return w=w||!1,{Ne:h,Ie:{dataDescriptor:d,ve:R,zip64:w,be:b,_e:E,Ee:D,ye:x,uncompressedSize:y,level:p,compressionMethod:m,encrypted:g}}}(e,Boolean(r),a,n,o))}(o,s,u,c);({reader:s}=d);const g=Us(o.writer),A=Os(o.writer);let R=c.crc32===I?c[Go]:c.crc32;const D=d.Ie.encrypted&&!f.zipCrypto;if(f.Oe&&!f.Ue&&D&&(R=I),f.Oe&&s&&!D&&R===I)throw new Error(qi);const x=function(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:d,directory:w,rawExtraField:p,Ce:y,encryptionStrength:S,extendedTimestamp:g,ntfsTimestamp:A,Oe:R,encrypted:D,Ee:x,ye:O,uncompressedSize:U,_e:k,crc32:C}=t;let{version:M,compressionMethod:N}=t;const _=!w&&Xs(N,c);let L;const B=R||!_,j=l&&(t.bufferedWrite||!d||!x&&!O||B&&!k),P=j||l&&d&&(x||O);if(l&&(x||O)){const t=20,e=Is(t);if(e.Le(1),e.Le(t-4),L=e.Vt,j&&(e.Be(U),B)){const t=ea(D,u,S);e.Be(R?0:U+t)}}else L=v;let W,V,Z,H,G,K;if(D&&!u){const t=Is(rc(ws)+2);t.Le(m),t.je(ws),W=t.Vt,W[8]=S}else W=v;if(g){const t=Vs(o),e=(Y=t)>=Wi&&Y<=Vi;if(e){const e=9+(i?4:0)+(s?4:0),r=Is(e);H=1+(i?2:0)+(s?4:0),G=t,r.Le(h),r.Le(e-4),r.Pe(H),r.We(t),i&&r.We(Zs(Vs(i))),s&&r.We(Zs(Vs(s))),Z=r.Vt}else Z=v;if(A===I?!e||Boolean(i||s):A)try{const t=Ws(o),e=Is(36);e.Le(10),e.Le(32),e.Ve(4),e.Le(1),e.Le(24),e.Be(t),e.Be(i?Ws(i):t),e.Be(s?Ws(s):t),V=e.Vt}catch{V=v}else V=v}else V=Z=v;var Y;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=ps||r===I&&n===I)if(o!=ms||r===I&&n===I)K=v;else{const t=Is(8);t.Le(b),t.Le(4),t.Le((r===I?0:r)&e),t.Le((n===I?0:n)&e),K=t.Vt}else{const t=Ts(r===I?0:r),e=Ts(n===I?0:n),o=3+t.length+e.length,a=Is(4+o);a.Le(E),a.Le(o),a.Pe(1),a.Pe(t.length),a.je(t),a.Pe(e.length),a.je(e),K=a.Vt}}catch{K=v}N===I&&(N=_?8:0),M===I&&(M=0!=N||w||D?20:10);const{ke:q}=t;_&&q!==I&&(M=M>q?M:q),l&&(M=M>45?M:45),D&&!u&&(M=M>51?M:51,R&&C!==I&&(W[4]=1),Qs(Pt(W),9,N),N=99);const J=P?rc(L):0,Q=J+rc(W,Z,V,K,p,y);if(Q+(t[X]?67:0)>e)throw new Error(Pi);const $=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),tt=$<T?T:$>z?z:$,et=rc(Z)?new Date(1e3*Vs(o)):rc(V)?o:tt,{me:rt,he:nt,rawLastModDate:ot}=nc({version:M,bitFlag:ac(c,f,d,D,N),compressionMethod:N,uncompressedSize:U,lastModDate:tt,rawLastModDate:a,rawFilename:r,ye:O,Ee:x,extraFieldLength:Q}),at=Is(F+rc(r)+Q),it=at.Vt,st=Pt(it);return at.We(n),at.je(rt),at.je(r),P&&at.je(L),at.je(W),at.je(Z),at.je(V),at.je(K),at.je(p),at.je(y),d&&(O||$s(st,18,0),x||$s(st,22,0)),{Ze:it,He:st,me:rt,he:nt,lastModDate:et,Ge:et===tt&&$.getTime()!=tt.getTime(),rawLastModDate:ot,encrypted:D,compressed:_,version:M,compressionMethod:N,Ke:H,Ye:G,ge:v,qe:J,Re:Z,De:V,xe:K,Ae:W,extraFieldLength:Q}}(c=Object.assign({},c,l.Ie,u.Ie,d.Ie,{signature:c[Go],crc32:R,offset:o.offset-g,diskNumberStart:A,[X]:o.options[X]}));x.Ge&&Eo(o.warnings,ds,i);const U=function({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=v,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=Pt(o),r&&(i=4,$s(n,0,a))),{Xe:o,Je:n,Qe:i}}(c),k=rc(x.Ze,U.Xe);S=await async function(e,n,o,a,i){const{ne:s,writer:c}=e,{keepOrder:l,dataDescriptor:u,ve:f,signal:d}=i,{$e:w,ee:p,er:m,rr:h}=a,y=e.options[X];let E,b,S,g,A,R,D,x=p,z=0;const T=l&&m?m.Me:I;s.set(n,x);try{i.bufferedWrite||!l||e.we||e.ce||e.le||!u&&!f?(E=!0,e.ce++,D=i.createTempStream?await i.createTempStream():new TransformStream(I,I,{highWaterMark:O}),D.size=0,await po(c)):(b=!0,e.le++,D=c,await T,await U()),await po(D);const p=Us(c);e.re&&!E&&await Bs(e,c),y&&!E&&zs(a,e.offset-p);const{Ze:m}=w;E||await k();const h=Os(c),S=Cs(e,c);if(x.diskNumberStart=h,E||(A=!0,R=c.size,await js(D,m)),x=await async function(e,n,{diskNumberStart:o,Me:a},i,s,c){const{$e:l,nr:u,ar:f}=i,{me:d,he:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:E,compressionMethod:b,ge:S,qe:g,Re:A,Ke:R,Ye:D,De:x,xe:F,Ae:z}=l,{Xe:T}=u,{rawFilename:O,lastAccessDate:U,creationDate:k,password:C,rawPassword:M,level:N,useUnicodeFileNames:v,zip64:_,be:L,Ee:B,ye:j,zipCrypto:P,dataDescriptor:W,directory:V,executable:Z,versionMadeBy:H,rawComment:G,rawExtraField:K,Fe:Y,useWebWorkers:q,transferStreams:X,onstart:J,onprogress:Q,onend:$,signal:tt,encryptionStrength:et,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,uid:it,gid:st,unixMode:ct,symlink:lt,setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt,useCompressionStream:ht,Oe:yt,Ue:Et,format:bt,codecURI:St}=c,gt={Me:a,versionMadeBy:H,zip64:_,be:L,directory:Boolean(V),executable:Boolean(Z),filenameUTF8:Boolean(v),rawFilename:O,commentUTF8:Boolean(v),rawComment:G,ge:S,qe:g,Re:A,De:x,xe:F,Ae:z,rawExtraField:K,Fe:Y,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,diskNumberStart:o,uid:it,gid:st,unixMode:ct,symlink:Boolean(lt),setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt};let{crc32:At,uncompressedSize:Rt}=c,Dt=0;yt||(Rt=0);const{writable:xt}=n;if(e){const o=e.size,a=Ke(yo(e,{size:o})),i={options:{codecType:Tr,inputSize:o,level:N,rawPassword:M,password:C,encryptionStrength:et,zipCrypto:h&&P,passwordVerification:h&&P&&m>>8&r,computeCrc32:!yt,compressed:y&&!yt,encrypted:h&&!Et,useWebWorkers:q,useCompressionStream:ht,transferStreams:X,format:bt,codecURI:St,compressionMethod:b},config:s,ut:{signal:tt,size:o,onstart:J,onprogress:Q,onend:$}};try{const e=await cn({readable:a,writable:xt},i);if(Dt=e.outputSize,n.size+=Dt,yt||(Rt=e.inputSize,h&&!P||(At=e.crc32)),!j&&Dt>=t||!B&&Rt>=t)throw new Error(Gi)}catch(t){const{outputSize:e}=i;throw e!==I?n.size+=e:Wt(t)&&t.outputSize!==I&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,$e:n,nr:o},{zip64:a,zipCrypto:i,Oe:s,dataDescriptor:c}){const{he:l,encrypted:u}=n,{Je:f,Qe:d}=o;u&&!i&&!s||t===I||($s(l,10,t),c&&$s(f,d,t)),a?c&&(tc(f,d+4,BigInt(e)),tc(f,d+12,BigInt(r))):($s(l,14,e),$s(l,18,r),c&&($s(f,d+4,e),$s(f,d+8,r)))}({crc32:At,compressedSize:Dt,uncompressedSize:Rt,$e:l,nr:u},c),W&&await js(n,T),Object.assign(gt,{uncompressedSize:Rt,compressedSize:Dt,lastModDate:p,rawLastModDate:m,creationDate:k,lastAccessDate:U,encrypted:Boolean(h),zipCrypto:Boolean(P),size:f+Dt,compressionMethod:b,version:E,me:d,he:w,signature:At,crc32:!h||P||yt?At:I,Ke:R,Ye:D,Ee:B,ye:j}),gt}(o,D,x,a,Ot(),i),E||(A=!1),s.set(n,x),x.filename=n,E){if(await Promise.all([D.writable.getWriter().close(),T]),await U(),e.re&&await Bs(e,c),g=!0,R=c.size,await k(),x.diskNumberStart=Os(c),x.offset=Cs(e,c),y){const t=a.ar;zs(a,e.offset-Us(c)),x.size+=a.ar-t}!function({rawFilename:t,encrypted:e,zip64:r,qe:n,crc32:o,compressedSize:a,uncompressedSize:i,Ee:s,ye:c},l,{dataDescriptor:u,Oe:f}){if(u||((!e||f&&o!==I)&&$s(l,14,o),c||$s(l,18,a),s||$s(l,22,i)),r&&n){const e=F+rc(t)+4;tc(l,e,BigInt(i)),tc(l,e+8,BigInt(a))}}(x,w.He,i),await js(c,w.Ze),await Ps(D.readable,c,d,t=>z+=t),c.size+=D.size,g=!1}else x.diskNumberStart=h,x.offset=S;return e.offset+=x.size,x}catch(t){if(g||A){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,E&&(e.offset+=z)}throw s.delete(n),t}finally{if(E&&e.ce--,b&&e.le--,h&&h(T),S&&S(),E&&D&&D.dispose)try{await D.dispose()}catch{}}async function U(){e.we=!0;const{pe:t}=e;e.pe=new Promise(t=>S=()=>{e.we=!1,t()}),await t}async function k(){ks(c,rc(w.Ze))&&await c.closeDisk()}}(o,i,s,{$e:x,nr:U,ar:k,ee:p,er:w,rr:y},c)}catch(t){throw o.ne.delete(i),t}finally{y&&y(w&&w.Me)}return Object.assign(S,{name:i,comment:f,extraField:d}),new $o(S)}(o,i,s,c)}catch(t){throw o.oe.delete(i),t}finally{const t=Es.shift();t?t():ys--}}(c,o,i,s);l.add(u);const f=()=>l.delete(u);return Promise.prototype.then.call(u,f,f),Rs(c,u)}remove(t){const{oe:e,ne:r}=this;if(typeof t==M&&(t=r.get(t)),t&&t.filename!==I){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=v,n={}){const o=this,{ie:a,writer:w}=this,{writable:p}=w;if(o.fe)return As(w);if(!(r instanceof Uint8Array))throw new Error(Ti);if(rc(r)>e)throw new Error(zi);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.se.map(t=>t.ir));const m=o.se.filter(t=>t.sr&&!t.cr);if(m.length){const t=m.map(t=>t.error);m.forEach(t=>t.cr=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const{lr:a,ur:w}=function(r){let n=0,o=!1;for(const[,a]of r){const{rawFilename:r,Ae:i,rawComment:s,De:c,xe:l,rawExtraField:u,Fe:d,Ke:w,Ye:p,be:m,uncompressedSize:y,compressedSize:E}=a;let{Ee:b,ye:S}=a;m||(b&&y<t&&(b=a.Ee=!1),S&&E<t&&(S=a.ye=!1)),o=o||b||S;const g=a.offset>=t,A=a.diskNumberStart>=e;let R,D;if(g||A||b||S){const t=4+(b?8:0)+(S?8:0)+(g?8:0)+(A?4:0),e=Is(t);e.Le(1),e.Le(t-4),b&&e.Be(y),S&&e.Be(E),g&&e.Be(a.offset),A&&e.We(a.diskNumberStart),R=e.Vt}else R=v;if(a.ge=R,a.dr=g,a.Se=A,p===I)D=v;else{const t=Is(9);t.Le(h),t.Le(5),t.Pe(w),t.We(p),D=t.Vt}a.Re=D;const x=rc(R,i,c,l,D,u,d);if(x>e)throw new Error(Pi);n+=f+rc(r,s)+x}return{lr:n,ur:o}}(r.ne),{wr:p,pr:m,mr:y}=await async function(r,n,o){const{ne:a,writer:i}=r,c=new Uint8Array(n);await po(i);let l=0,u=0,d=Os(i),w=Us(i),p=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:m,rawFilename:h,ge:y,Ae:E,Re:b,De:S,xe:g,rawExtraField:A,Fe:R,rawComment:D,versionMadeBy:x,me:F,he:z,Ee:T,ye:I,Se:O,dr:U,internalFileAttributes:k,externalFileAttributes:C,diskNumberStart:M,uncompressedSize:N,compressedSize:v}=n,_=rc(y,E,b,S,g,A,R),L=f+rc(h,D)+_;ks(i,l+L-u)&&(await js(i,c.slice(u,l)),u=l,p=0,await i.closeDisk()),0==r&&(d=Os(i),w=Us(i)),T||$s(z,18,N),I||$s(z,14,v),(U||O)&&n.version<45&&Qs(z,0,45);const B=Is(L);if(B.We(s),B.Le(x),B.je(F.subarray(0,24)),B.Le(_),B.Le(rc(D)),B.Le(O?e:M),B.Le(k),B.We(C),B.We(U?t:m),B.je(h),B.je(y),B.je(E),B.je(b),B.je(S),B.je(g),B.je(A),B.je(R),B.je(D),ec(c,B.Vt,l),l+=L,p++,o.onprogress)try{await o.onprogress(r+1,a.size,new $o(n))}catch{}}return await js(i,u?c.slice(u):c),{wr:{diskNumber:d,diskOffset:w},pr:{diskNumber:Os(i),yr:p},mr:c}}(r,a,o),E=await async function(t,r,n){const o=Ks(t,n,"signCentralDirectory");if(o){const n=await o(r),a=rc(n);if(a>e)throw new Error(cs);const s=Is(6+a);s.We(i),s.Le(a),s.je(n);const{writer:c}=t;return ks(c,rc(s.Vt))&&await c.closeDisk(),await js(c,s.Vt),6+a}return 0}(r,y,o);await async function(r,n,o,a){const{writer:i}=r,{wr:s,pr:f,Er:w,ur:p}=a;let{lr:m}=a,h=r.ne.size,y=s.diskNumber,E=Cs(r,s);const b=rc(n);if(b>e)throw new Error(zi);let S=Hs(r,o,Lo),g=Os(i);if(ks(i,(S?98:d)+b)&&g++,E>=t||m>=t||h>=e||g>=e){if(!1===S)throw new Error(Gi);S=!0}else S===I&&p&&(S=!0);const A=Is(S?98:d);ks(i,rc(A.Vt)+b)&&await i.closeDisk(),g=Os(i);let R=g==f.diskNumber?f.yr:0;S&&(A.We(l),A.Be(44),A.Le(45),A.Le(45),A.We(g),A.We(y),A.Be(R),A.Be(h),A.Be(m),A.Be(E),A.We(u),A.We(g),A.Be(BigInt(Cs(r,i))+BigInt(m)+BigInt(w)),A.We(g+1),Hs(r,o,"supportZip64SplitFile",!0)&&(g=e,y=e),R=e,h=e,E=t,m=t),A.We(c),A.Le(g),A.Le(y),A.Le(R),A.Le(h),A.We(m),A.We(E),A.Le(b),await js(i,A.Vt),b&&await js(i,n)}(r,n,o,{wr:p,pr:m,lr:a,Er:E,ur:w})}(o,r,n),o.fe=!0,!wo(w)&&Hs(o,n,H)||await p.getWriter().close(),As(w)}[_](){return this.close()}}class Ss{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new bs(r,t),this.ie=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Ds(e,t)}}()}});return xs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return xs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.ie))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Ds(r,t),t}try{return await r.close(t,e)}catch(t){throw await Ds(r,t),t}}}class gs extends Promise{then(t,e){const{Sr:r}=this;return r&&(r.cr=!0),super.then(t,e)}}function As(t){return t.getData?t.getData():t.writable}function Rs(t,e){const r=new gs((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.Sr=n,n.ir=Promise.prototype.then.call(r,I,t=>Object.assign(n,{sr:!0,error:t})),t.se.push(n),r}async function Ds(t,e){try{await t.writer.writable.abort(e)}catch{}}function xs(t,e,r){t.ie.add(e),e.catch(t=>{try{r(t)}catch{}})}function Fs(t){if(!t)return v;if(!(t instanceof Map))throw new Error(Li);let r=0,n=0;t.forEach((t,n)=>{if(mt(n,e,Bi),!(t instanceof Uint8Array))throw new Error(ji);if(rc(t)>e)throw new Error(Pi);r+=4+rc(t)});const o=new Uint8Array(r),a=Pt(o);return t.forEach((t,e)=>{Qs(a,n,e),Qs(a,n+2,rc(t)),ec(o,t,n+4),n+=4+rc(t)}),o}function zs(t,e){const{$e:r}=t;let{Ze:n,extraFieldLength:o}=r,a=64-(e+rc(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=Pt(i);Qs(s,0,y),Qs(s,2,a-4);const c=n;r.Ze=n=new Uint8Array(rc(c)+a),ec(n,c),ec(n,i,rc(c));const l=Pt(n);Qs(l,28,o+a),r.He=l,t.ar+=a}function Ts(t){const e=new Uint8Array(4);Pt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Is(t){const e=new Uint8Array(t),r=Pt(e);let n=0;return{Vt:e,Pe:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},Le:t=>{Qs(r,n,t),n+=2},We:t=>{$s(r,n,t),n+=4},Be:t=>{tc(r,n,BigInt(t)),n+=8},je:t=>{ec(e,t,n),n+=rc(t)},Ve:t=>n+=t}}function Os(t){const{diskNumber:e=0}=t;return e}function Us(t){const{diskOffset:e=0}=t;return e}function ks(t,e){const{availableSize:r=O}=t;return e>r}function Cs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}function Ms(t){const e=Pt(t);let r=0;for(;r+4<=rc(t);){const n=4+Js(e,r+2);if(1==Js(e,r))return Ms(Bt(t.subarray(0,r),t.subarray(Math.min(r+n,rc(t)))));r+=n}return t}async function Ns(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await Ps(yo(e,{offset:r,size:n}),o,I,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function vs(t,e){const r=await ho(t,e,F);if(rc(r)<F)return F;const n=Pt(r);return F+Js(n,26)+Js(n,28)}function _s(t,{offset:e,diskNumberStart:r}){return e+(t.Yt?t.Yt(r):0)}function Ls(){const t=new Uint8Array(4);return $s(Pt(t),0,o),t}async function Bs(t,e){delete t.re,await js(e,Ls()),t.offset+=4}async function js(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=rc(e),await n.write(e)}finally{n.releaseLock()}}async function Ps(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(rc(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function Ws(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Zi?Zi:e>Hi?Hi:e}}function Vs(t){return Math.floor(t.getTime()/1e3)}function Zs(t){return Math.min(Vi,Math.max(Wi,t))}function Hs(t,e,r,n){const o=e[r]===I?t.options[r]:e[r];return o===I?n:o}function Gs(t,e,r,n){const o=Hs(t,e,r,n);if(null===o)return n;if(o!==I&&(typeof o.getTime!=k||Number.isNaN(o.getTime())))throw new Error(Ui);return o}function Ks(t,e,r){return ut(Hs(t,e,r))}function Ys(t,e,r,n){return yt(Hs(t,e,r,n))}function qs(t){return t+5*(Math.floor(t/16383)+1)}function Xs(t,e){return t===I?e===I||e>0:0!==t}function Js(t,e){return t.getUint16(e,!0)}function Qs(t,e,r){t.setUint16(e,r,!0)}function $s(t,e,r){t.setUint32(e,r,!0)}function tc(t,e,r){t.setBigUint64(e,r,!0)}function ec(t,e,r){t.set(e,r)}function rc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function nc({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,ye:l,Ee:u,extraFieldLength:f}){const d=Is(26),w=d.Vt,p=Pt(w);if(d.Le(e),d.Le(r),d.Le(n),s===I){const t=new Uint32Array(1),e=Pt(t);Qs(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Qs(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.We(s),d.Ve(4),l||a!==I?d.We(l?t:a):d.Ve(4),u||o!==I?d.We(u?t:o):d.Ve(4),d.Le(rc(c)),d.Le(f),{me:w,he:p,rawLastModDate:s}}function oc(t){return t.every(t=>t>=32&&t<=126)}function ac(t,e,r,n,o){let a=0;return e&&(a|=S),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function ic(){return"application/octet-stream"}function sc(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=Ot(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:cc(r,dr)||cc(t,dr)||cc(t,pr),decompression:cc(n,dr)||cc(e,dr)||cc(e,pr),registered:!1},{compressionMethod:9,compression:!1,decompression:cc(n,wr)||cc(e,wr),registered:!1}];for(const t of ir()){const e=sr(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==k:I,decompression:e?typeof e.DecompressionStream==k:I,registered:!0})}return o}function cc(t,e){if(!t)return!1;const{gr:r}=t;return r?r.includes(e):Sr(t,e)}const lc="2.13.1",uc=1048576,fc=".zip.js-temp";function dc(t={}){const{thresholdBytes:e=uc,directoryName:r=fc,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const l=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const wc=1048576;function pc(t={}){const{thresholdBytes:e=wc}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Ye(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const mc=1048576,hc=".zip.js-temp",yc="createSyncAccessHandle is only available in dedicated workers";function Ec(t={}){const{thresholdBytes:e=mc,directoryName:r=hc,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(yc);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const l=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{_t({baseURI:import.meta.url})}catch{}const bc="deflate",Sc="deflate-raw",gc="deflate64-raw",Ac="gzip";let Rc,Dc,xc,Fc,zc;function Tc(t,e,r={}){if(!Rc){const t=new Error("WASM module not loaded");throw t.cause=zc,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Ar=Dc(o),this.in=Dc(a),this.inBufferSize=a,!this.Ar||!this.in)throw new Error("allocation failed");if(this.Rr=new Uint8Array(o),t?(this.Dr=Rc.deflate_process,this.Fr=Rc.deflate_last_consumed,this.zr=Rc.deflate_end,this.Tr=Rc.deflate_new(),r=e===Ac?Rc.deflate_init_gzip(this.Tr,n):e===Sc?Rc.deflate_init_raw(this.Tr,n):Rc.deflate_init(this.Tr,n)):e===gc?(this.Dr=Rc.inflate9_process,this.Fr=Rc.inflate9_last_consumed,this.zr=Rc.inflate9_end,this.Tr=Rc.inflate9_new(),r=Rc.inflate9_init_raw(this.Tr)):(this.Dr=Rc.inflate_process,this.Fr=Rc.inflate_last_consumed,this.zr=Rc.inflate_end,this.Tr=Rc.inflate_new(),r=e===Sc?Rc.inflate_init_raw(this.Tr):e===Ac?Rc.inflate_init_gzip(this.Tr):Rc.inflate_init(this.Tr)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(Fc.buffer),a=this.Dr,i=this.Fr,s=this.Ar,c=this.Rr;let l=0;for(;l<r.length;){const t=Math.min(r.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&xc&&(xc(this.in),this.in=0),this.in=Dc(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(l,l+t),this.in);const u=a(this.Tr,this.in,t,s,o,0),f=u>>24&255,d=128&f?f-256:f;if(d<0)throw new Error("process error:"+d);const w=16777215&u;w&&(c.set(n.subarray(s,s+w),0),e.enqueue(c.slice(0,w)));const p=i(this.Tr);if(0===p&&0===w)break;l+=p}}catch(t){i(this),e.error(t)}},flush(t){try{const e=new Uint8Array(Fc.buffer),r=this.Dr,n=this.Ar,a=this.Rr;for(;;){const i=r(this.Tr,0,0,n,o,4),s=i>>24&255,c=128&s?s-256:s;if(c<0)throw new Error("process error:"+c);const l=16777215&i;if(l&&(a.set(e.subarray(n,n+l),0),t.enqueue(a.slice(0,l))),1===s||0===l)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){i(this)}});function i(t){let e=0;return t.Tr&&t.zr&&(e=t.zr(t.Tr)),t.Tr=0,t.in&&xc&&xc(t.in),t.in=0,t.Ar&&xc&&xc(t.Ar),t.Ar=0,e}}class Ic{constructor(t=bc,e){return Tc(!0,t,e)}}class Oc{constructor(t=bc,e){return Tc(!1,t,e)}}Ic.At=!0,Oc.At=!0,Ic.gr=[bc,Sc,Ac],Oc.gr=[bc,Sc,Ac,gc];let Uc,kc=!1;async function Cc(){await async function(){await Promise.allSettled(rn.map(t=>(wn(t),t.terminate()))),Cr=I,Mr=!1}(),Uc=null,kc=!1,Rc=Dc=xc=Fc=zc=null}!function({Ir:t}){vr=t}({Ir:t=>{if(!Uc){let{wasmURI:e}=t;typeof e==k&&(e=e()),Uc=async function(t,{baseURI:e}){if(!kc)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}!function(t){if(Rc=t,({malloc:Dc,free:xc,memory:Fc}=Rc),"function"!=typeof Dc||"function"!=typeof xc||!Fc)throw Rc=Dc=xc=Fc=null,new Error("Invalid WASM module")}((await WebAssembly.instantiate(r)).instance.exports)}(t,e),kc=!0}catch(t){throw function(t){zc=t}(t),t}}(e,t).catch(t=>{throw Uc=null,t})}return Uc}}),_t({CompressionStreamFallback:Ic,DecompressionStreamFallback:Oc}),_t({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{_n as BlobReader,Ln as BlobWriter,Cn as Data64URIReader,Mn as Data64URIWriter,lt as ERR_ABORTED,wa as ERR_AMBIGUOUS_ARCHIVE,ra as ERR_BAD_FORMAT,aa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Fi as ERR_DUPLICATED_NAME,ca as ERR_ENCRYPTED,pa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,da as ERR_ENTRY_DATA_OUT_OF_BOUNDS,oa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,na as ERR_EOCDR_NOT_FOUND,sa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,En as ERR_HTTP_RANGE,bn as ERR_HTTP_RESOURCE_CHANGED,yn as ERR_HTTP_STATUS,se as ERR_INVALID_AUTHENTICATION_CODE,bt as ERR_INVALID_BASE_URI,Xe as ERR_INVALID_CODEC_DEFINITION,Qe as ERR_INVALID_CODEC_MODULE,zi as ERR_INVALID_COMMENT,Ti as ERR_INVALID_COMMENT_TYPE,ur as ERR_INVALID_COMPRESSED_DATA,fr as ERR_INVALID_CRC32,Ui as ERR_INVALID_DATE,Mi as ERR_INVALID_ENCRYPTION_STRENGTH,ls as ERR_INVALID_ENTRY,Ii as ERR_INVALID_ENTRY_COMMENT,Oi as ERR_INVALID_ENTRY_COMMENT_TYPE,ki as ERR_INVALID_ENTRY_NAME,Li as ERR_INVALID_EXTRAFIELD,Pi as ERR_INVALID_EXTRAFIELD_DATA,ji as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Bi as ERR_INVALID_EXTRAFIELD_TYPE,ya as ERR_INVALID_FILENAME_VALIDATION,at as ERR_INVALID_FUNCTION_OPTION,es as ERR_INVALID_GID,ss as ERR_INVALID_LEVEL,Ea as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Et as ERR_INVALID_MAX_WORKERS,as as ERR_INVALID_MSDOS_ATTRIBUTES,is as ERR_INVALID_MSDOS_DATA,ie as ERR_INVALID_PASSWORD,st as ERR_INVALID_PASSWORD_TYPE,ct as ERR_INVALID_PASS_THROUGH_VALUE,Qi as ERR_INVALID_READER,it as ERR_INVALID_SIGNAL,cs as ERR_INVALID_SIGNATURE_DATA,ha as ERR_INVALID_STRICTNESS,ts as ERR_INVALID_UID,lr as ERR_INVALID_UNCOMPRESSED_SIZE,ns as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,os as ERR_INVALID_UNIX_ID_SIZE,rs as ERR_INVALID_UNIX_MODE,St as ERR_INVALID_URI,Ci as ERR_INVALID_VERSION,Sn as ERR_ITERATOR_COMPLETED_TOO_SOON,ia as ERR_LOCAL_FILE_HEADER_NOT_FOUND,fa as ERR_OVERLAPPING_ENTRY,Je as ERR_RESERVED_COMPRESSION_METHOD,ua as ERR_SPLIT_ZIP_FILE,Yi as ERR_UNDEFINED_COMPRESSION_METHOD,qi as ERR_UNDEFINED_CRC32,Ji as ERR_UNDEFINED_READER,Ki as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Xi as ERR_UNDETERMINED_SIZE,ma as ERR_UNSAFE_FILENAME,$e as ERR_UNSUPPORTED_COMPRESSION,yc as ERR_UNSUPPORTED_CONTEXT,le as ERR_UNSUPPORTED_CRYPTO_API,la as ERR_UNSUPPORTED_ENCRYPTION,_i as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Ni as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Gi as ERR_UNSUPPORTED_FORMAT,vi as ERR_UNSUPPORTED_SPLIT_USDZ,ba as ERR_UNSUPPORTED_UINT64,kr as ERR_WORKER_STARTUP_TIMEOUT,gn as ERR_WRITER_NOT_INITIALIZED,An as ERR_WRITER_SIZE_NOT_WRITABLE,us as ERR_ZIP_CRYPTO_LAST_MOD_DATE,$i as ERR_ZIP_NOT_EMPTY,ao as HttpRangeReader,oo as HttpReader,Un as Reader,co as SplitDataReader,lo as SplitDataWriter,Bn as TextReader,jn as TextWriter,io as Uint8ArrayReader,so as Uint8ArrayWriter,lc as VERSION,Fa as WARNING_APPENDED_DATA,ds as WARNING_CLAMPED_LAST_MODIFICATION_DATE,Aa as WARNING_COMPRESSED_PATCHED_DATA,fs as WARNING_COMPRESSION_UNAVAILABLE,Oa as WARNING_DUPLICATE_FILENAME,Ra as WARNING_MALFORMED_EXTRA_FIELD,Ma as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Na as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,va as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,Ca as WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,Ua as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,ka as WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,Ta as WARNING_PREPENDED_CENTRAL_DIRECTORY,za as WARNING_PREPENDED_DATA,Ia as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,ga as WARNING_UNKNOWN_VERSION,Da as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Sa as WARNING_UNSORTED_CENTRAL_DIRECTORY,xa as WARNING_WRAPPED_ENTRIES_COUNT,kn as Writer,Va as ZipReader,Za as ZipReaderStream,bs as ZipWriter,Ss as ZipWriterStream,Ct as configure,pc as createBlobTempStream,dc as createOPFSTempStream,Ec as createSyncAccessHandleTempStream,ic as getMimeType,ir as getRegisteredCodecs,sc as getSupportedCompressionMethods,Ha as isZipFile,nr as registerCodec,Lt as resetConfiguration,Cc as terminateWorkers,or as unregisterCodec};