@missing-elements/h5p-offline-player 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const A='"use strict";(()=>{var Vd=Object.defineProperty;var ie=(t,e)=>()=>(t&&(e=t(t=0)),e);var Xd=(t,e)=>{for(var r in e)Vd(t,r,{get:e[r],enumerable:!0})};var Zr,Ot,w,Vt,Se,K,Zn,We,pc,xi,Z,jn,ue=ie(()=>{Zr=new Date(2107,11,31,23,59,58),Ot=new Date(1980,0,1),w=void 0,Vt=1/0,Se="undefined",K="function",Zn="object",We="string",pc="number",xi="boolean",Z=new Uint8Array,jn=Symbol.asyncDispose||Symbol()});function pr(t){if(t&&typeof t!=K)throw new Error(Xc);return t}function Jr(t){if(t&&(typeof t.addEventListener!=K||typeof t.aborted!=xi))throw new Error(Zc);return t||w}function Zt(t){if(t&&t.aborted)throw t.reason===w?new DOMException(Kc,Zd):t.reason}function os(t,e){if(t&&typeof t!=We||e&&!(e instanceof Uint8Array))throw new Error(Mi)}function mr(t){if(t!==w&&typeof t!=xi&&t!==qr)throw new Error(jc);return t}function vi(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function hr(t,e,r){t!==w&&vi(t,e,r)}function Pt(t){return typeof t==We&&t.trim()?Number(t):t}var mc,hc,gc,Rc,wc,Kn,qn,jr,Jn,_c,Tc,Ac,yc,Sc,Ic,bc,Nc,Oc,Qn,$n,es,ts,Dc,Pc,xc,Cc,rs,Lc,Uc,Fc,Ci,Li,Mc,vc,Kr,Xt,kc,zc,Bc,Hc,Yc,Wc,Ui,Gc,Vc,Fi,ns,ss,Dt,is,at,qr,Xc,Zc,Mi,jc,Kc,Zd,gr=ie(()=>{ue();mc="filenameEncoding",hc="commentEncoding",gc="decodeText",Rc="extractPrependedData",wc="extractAppendedData",Kn="password",qn="rawPassword",jr="passThrough",Jn="signal",_c="checkPasswordOnly",Tc="checkOverlappingEntryOnly",Ac="checkOverlappingEntry",yc="checkAmbiguity",Sc="checkLocalDirectory",Ic="checkLocalFilename",bc="checkSignature",Nc="checkCrc32",Oc="checkAuthenticationCode",Qn="useWebWorkers",$n="useCompressionStream",es="transferStreams",ts="preventClose",Dc="encryptionStrength",Pc="extendedTimestamp",xc="ntfsTimestamp",Cc="keepOrder",rs="level",Lc="bufferedWrite",Uc="createTempStream",Fc="dataDescriptorSignature",Ci="useUnicodeFileNames",Li="dataDescriptor",Mc="supportZip64SplitFile",vc="encodeText",Kr="offset",Xt="usdz",kc="unixExtraFieldType",zc="localExtraField",Bc="centralExtraField",Hc="strictness",Yc="filenameValidation",Wc="normalizeFilename",Ui="maxAppendedDataSize",Gc="decryptCentralDirectory",Vc="signCentralDirectory",Fi="entry",ns="filename",ss="comment",Dt="strict",is="balanced",at="tolerant",qr="compressed",Xc="Invalid option (must be a function)",Zc="Invalid signal (must be an AbortSignal instance)",Mi="Invalid password (password must be a string, rawPassword must be a Uint8Array)",jc="Invalid passThrough option (must be a boolean or \'compressed\')",Kc="The operation was aborted",Zd="AbortError"});function ct(){return ki}function Qr(t){return zi(t.chunkSize)}function zi(t){return t=Pt(t),Number.isInteger(t)&&t>=Jc?Math.max(t,jd):qc}function Bi(t){Object.assign(ki,cl(ll(t)))}function cl(t){let e={};for(let r of qd){let n=t[r];n!==w&&(e[r]=Jd(r,n))}return e}function Jd(t,e){if(ol.includes(t)){if(e=Pt(e),t==nl&&(!Number.isInteger(e)||e<Jc))throw new Error(Qc)}else if(al.includes(t))pr(e);else if(t==sl){if(e&&typeof e!=We)throw new Error($c)}else if(il.includes(t)&&e&&typeof e!=We&&typeof e!=K)throw new Error(el);return e}function ll(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===w&&r===w)return t;let n=Object.assign({},t);return n.CompressionStreamFallback===w&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===w&&(n.DecompressionStreamFallback=r),n}function xt(t){let e=cl(ll(t));Object.assign(rl,e),Object.assign(ki,e)}var qc,jd,Jc,Qc,$c,el,tl,rl,nl,sl,il,Kd,ol,al,qd,ki,Ge=ie(()=>{ue();gr();qc=64*1024,jd=64,Jc=1,Qc="Invalid maxWorkers (must be an integer greater than 0)",$c="Invalid baseURI (must be a string)",el="Invalid URI (must be a string or a function returning a string)",tl=2;try{typeof navigator!=Se&&navigator.hardwareConcurrency&&(tl=navigator.hardwareConcurrency)}catch{}rl={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:qc,maxWorkers:tl,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=Se&&CompressionStream,DecompressionStream:typeof DecompressionStream!=Se&&DecompressionStream},nl="maxWorkers",sl="baseURI",il=["wasmURI","workerURI"],Kd=["useCompressionStream","useWebWorkers","transferStreams"],ol=["chunkSize",nl,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],al=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],qd=[sl,...il,...Kd,...ol,...al],ki={...rl}});function Be(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function cs(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function L(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}var Ct=ie(()=>{});function Re(t){return!!t&&typeof t=="object"}var jt=ie(()=>{});var $r,ul,Qd,$d,eE,tE,rE,nE,sE,Ve,en=ie(()=>{$r=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e=e&1?e>>>1^3988292384:e>>>1;$r[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){let r=$r[e-1][t];$r[e][t]=r>>>8^$r[0][r&255]}[ul,Qd,$d,eE,tE,rE,nE,sE]=$r,Ve=class{constructor(e){this.crc=e||-1}append(e){let r=this.crc|0,n=e.length|0,s=0;if(n>=8&&e.buffer){let i=new DataView(e.buffer,e.byteOffset,n),o=n-8;for(;s<=o;s+=8){let a=r^i.getInt32(s,!0),c=i.getInt32(s+4,!0);r=sE[a&255]^nE[a>>>8&255]^rE[a>>>16&255]^tE[a>>>24&255]^eE[c&255]^$d[c>>>8&255]^Qd[c>>>16&255]^ul[c>>>24&255]}}for(;s<n;s++)r=r>>>8^ul[(r^e[s])&255];this.crc=r}get(){return~this.crc}}});var tn,dl=ie(()=>{en();tn=class extends TransformStream{constructor(){let e,r=new Ve;super({transform(n,s){r.append(n),s.enqueue(n)},flush(){let n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,r.get()),e.value=n}}),e=this}}});function Rr(t){if(typeof TextEncoder==Se){t=unescape(encodeURIComponent(t));let e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}else return new TextEncoder().encode(t)}var Hi=ie(()=>{ue()});function rn(t,e){fE();let r=new Int32Array(60),n=uE(t,r),s=new Int32Array(16/4),i=gl(e),o=0,a=0,c=0,f=0;return{process(l,h){h&&i.update(l,0,l.length),R(l),h||i.update(l,0,l.length)},digest(){return i.digest()}};function R(l){let h=new DataView(l.buffer,l.byteOffset,l.byteLength),m=l.length,d=0;for(;d+16<=m;d+=16)p(),h.setInt32(d,h.getInt32(d)^s[0]),h.setInt32(d+4,h.getInt32(d+4)^s[1]),h.setInt32(d+8,h.getInt32(d+8)^s[2]),h.setInt32(d+12,h.getInt32(d+12)^s[3]);if(d<m){p();for(let E=0;d<m;d++,E++)l[d]^=s[E>>2]>>>24-8*(E&3)}}function p(){o=o+1|0,o||(a=a+1|0,a||(c=c+1|0,c||(f=f+1|0)));let l=ls(o)^r[0],h=ls(a)^r[1],m=ls(c)^r[2],d=ls(f)^r[3],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[4],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[5],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[6],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[7];l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[8],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[9],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[10],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[11],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[12],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[13],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[14],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[15],l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[16],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[17],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[18],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[19],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[20],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[21],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[22],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[23],l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[24],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[25],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[26],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[27],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[28],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[29],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[30],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[31],l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[32],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[33],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[34],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[35],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[36],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[37],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[38],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[39];let A=40;n>10&&(l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[40],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[41],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[42],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[43],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[44],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[45],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[46],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[47],A=48),n>12&&(l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[48],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[49],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[50],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[51],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[52],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[53],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[54],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[55],A=56),s[0]=(ce[E>>>24]<<24|ce[u>>>16&255]<<16|ce[g>>>8&255]<<8|ce[_&255])^r[A],s[1]=(ce[u>>>24]<<24|ce[g>>>16&255]<<16|ce[_>>>8&255]<<8|ce[E&255])^r[A+1],s[2]=(ce[g>>>24]<<24|ce[_>>>16&255]<<16|ce[E>>>8&255]<<8|ce[u&255])^r[A+2],s[3]=(ce[_>>>24]<<24|ce[E>>>16&255]<<16|ce[u>>>8&255]<<8|ce[g&255])^r[A+3]}}function hl(t,e,r,n){let s=gl(t),i=new Uint8Array(n),o=new Uint8Array(e.length+4),a=new DataView(o.buffer);o.set(e);for(let c=1,f=0;f<n;c++,f+=20){a.setUint32(e.length,c),s.update(o,0,o.length);let R=s.digest(),p=R.slice();for(let l=1;l<r;l++){s.update(R,0,20),R=s.digest();for(let h=0;h<20;h++)p[h]^=R[h]}i.set(p.subarray(0,Math.min(20,n-f)),f)}return i}function gl(t){let e=lE(),r=new Uint8Array(64),n=new Uint8Array(64);t.length>64&&(e.update(t,0,t.length),t=e.digest());for(let s=0;s<64;s++){let i=s<t.length?t[s]:0;r[s]=i^aE,n[s]=i^cE}return e.update(r,0,64),{update(s,i,o){e.update(s,i,o)},digest(){let s=e.digest();e.update(n,0,64),e.update(s,0,20);let i=e.digest();return e.update(r,0,64),i}}}function lE(){let t=new Int32Array(El),e=new Int32Array(16),r=new Uint8Array(64),n=new DataView(r.buffer),s=new Uint8Array(8),i=0,o=0;return{update:a,digest:c};function a(R,p,l){let h=p+l;if(o+=l,i){for(;p<h&&i<64;)r[i++]=R[p++];i==64&&(f(n,0),i=0)}if(p+64<=h){let m=new DataView(R.buffer,R.byteOffset,R.byteLength);for(;p+64<=h;p+=64)f(m,p)}for(;p<h;)r[i++]=R[p++]}function c(){let R=o*8,p=Math.floor(R/4294967296),l=R>>>0;for(a(iE,0,1);i!=56;)a(oE,0,1);s[0]=p>>>24,s[1]=p>>>16,s[2]=p>>>8,s[3]=p,s[4]=l>>>24,s[5]=l>>>16,s[6]=l>>>8,s[7]=l,a(s,0,8);let h=new Uint8Array(20),m=new DataView(h.buffer);for(let d=0;d<t.length;d++)m.setInt32(4*d,t[d]);return t.set(El),i=0,o=0,h}function f(R,p){for(let g=0;g<16;g++)e[g]=R.getInt32(p+4*g);let l=t[0],h=t[1],m=t[2],d=t[3],E=t[4],u;for(let g=0;g<15;g+=5)E=(l<<5|l>>>27)+((m^d)&h^d)+E+1518500249+e[g]|0,h=h<<30|h>>>2,d=(E<<5|E>>>27)+((h^m)&l^m)+d+1518500249+e[g+1]|0,l=l<<30|l>>>2,m=(d<<5|d>>>27)+((l^h)&E^h)+m+1518500249+e[g+2]|0,E=E<<30|E>>>2,h=(m<<5|m>>>27)+((E^l)&d^l)+h+1518500249+e[g+3]|0,d=d<<30|d>>>2,l=(h<<5|h>>>27)+((d^E)&m^E)+l+1518500249+e[g+4]|0,m=m<<30|m>>>2;E=(l<<5|l>>>27)+((m^d)&h^d)+E+1518500249+e[15]|0,h=h<<30|h>>>2,u=e[13]^e[8]^e[2]^e[0],u=u<<1|u>>>31,e[0]=u,d=(E<<5|E>>>27)+((h^m)&l^m)+d+1518500249+u|0,l=l<<30|l>>>2,u=e[14]^e[9]^e[3]^e[1],u=u<<1|u>>>31,e[1]=u,m=(d<<5|d>>>27)+((l^h)&E^h)+m+1518500249+u|0,E=E<<30|E>>>2,u=e[15]^e[10]^e[4]^e[2],u=u<<1|u>>>31,e[2]=u,h=(m<<5|m>>>27)+((E^l)&d^l)+h+1518500249+u|0,d=d<<30|d>>>2,u=e[0]^e[11]^e[5]^e[3],u=u<<1|u>>>31,e[3]=u,l=(h<<5|h>>>27)+((d^E)&m^E)+l+1518500249+u|0,m=m<<30|m>>>2;for(let g=20;g<40;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,E=(l<<5|l>>>27)+(h^m^d)+E+1859775393+u|0,h=h<<30|h>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,d=(E<<5|E>>>27)+(l^h^m)+d+1859775393+u|0,l=l<<30|l>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,m=(d<<5|d>>>27)+(E^l^h)+m+1859775393+u|0,E=E<<30|E>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,h=(m<<5|m>>>27)+(d^E^l)+h+1859775393+u|0,d=d<<30|d>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,l=(h<<5|h>>>27)+(m^d^E)+l+1859775393+u|0,m=m<<30|m>>>2;for(let g=40;g<60;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,E=(l<<5|l>>>27)+(h&m|(h|m)&d)+E+2400959708+u|0,h=h<<30|h>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,d=(E<<5|E>>>27)+(l&h|(l|h)&m)+d+2400959708+u|0,l=l<<30|l>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,m=(d<<5|d>>>27)+(E&l|(E|l)&h)+m+2400959708+u|0,E=E<<30|E>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,h=(m<<5|m>>>27)+(d&E|(d|E)&l)+h+2400959708+u|0,d=d<<30|d>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,l=(h<<5|h>>>27)+(m&d|(m|d)&E)+l+2400959708+u|0,m=m<<30|m>>>2;for(let g=60;g<80;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,E=(l<<5|l>>>27)+(h^m^d)+E+3395469782+u|0,h=h<<30|h>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,d=(E<<5|E>>>27)+(l^h^m)+d+3395469782+u|0,l=l<<30|l>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,m=(d<<5|d>>>27)+(E^l^h)+m+3395469782+u|0,E=E<<30|E>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,h=(m<<5|m>>>27)+(d^E^l)+h+3395469782+u|0,d=d<<30|d>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,l=(h<<5|h>>>27)+(m^d^E)+l+3395469782+u|0,m=m<<30|m>>>2;t[0]=t[0]+l|0,t[1]=t[1]+h|0,t[2]=t[2]+m|0,t[3]=t[3]+d|0,t[4]=t[4]+E|0}}function fE(){if(!pl){let t=1,e=1;do t=(t^t<<1^(t&128?27:0))&255,e=(e^e<<1)&255,e=(e^e<<2)&255,e=(e^e<<4)&255,e&128&&(e^=9),ce[t]=(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)&255;while(t!=1);ce[0]=99;for(let r=0;r<256;r++){let n=ce[r],s=Rl(n),i=s<<24|n<<16|n<<8|s^n;O[r]=i,D[r]=i>>>8|i<<24,P[r]=i>>>16|i<<16,x[r]=i>>>24|i<<8}pl=!0}}function uE(t,e){let r=t.length>>2,n=r+6,s=4*(n+1),i=1;for(let o=0;o<r;o++)e[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let o=r;o<s;o++){let a=e[o-1];o%r==0?(a=ml(a<<8|a>>>24)^i<<24,i=Rl(i)):r>6&&o%r==4&&(a=ml(a)),e[o]=e[o-r]^a}return n}function ml(t){return ce[t>>>24]<<24|ce[t>>>16&255]<<16|ce[t>>>8&255]<<8|ce[t&255]}function ls(t){return t<<24|(t&65280)<<8|t>>>8&65280|t>>>24}function Rl(t){return(t<<1^(t>>7)*27)&255}var iE,oE,El,aE,cE,ce,O,D,P,x,pl,Yi=ie(()=>{iE=new Uint8Array([128]),oE=new Uint8Array(1),El=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),aE=54,cE=92,ce=new Uint8Array(256),O=new Int32Array(256),D=new Int32Array(256),P=new Int32Array(256),x=new Int32Array(256),pl=!1});function fs(t){if(dE)return crypto.getRandomValues(t);throw new Error(wr)}var dE,Xe,Lt,ft,wr,us=ie(()=>{ue();dE=typeof crypto!=Se&&typeof crypto.getRandomValues==K,Xe="Invalid password",Lt="Invalid authentication code",ft="zipjs-abort-check-password",wr="Crypto API not supported"});function Sl(t){yl=t||rn}function Il(t,e,r,n){Object.assign(t,{ready:new Promise(s=>t.resolveReady=s),password:SE(e,r),strength:n-1,pendingInput:Z,discarded:!1})}function bl(t,e){let r=t.readable.getReader(),n=new ReadableStream({async pull(s){try{let{value:i,done:o}=await r.read();o?s.close():s.enqueue(i)}catch(i){throw on(e),r.cancel(i).catch(()=>{}),i}},cancel(s){return on(e),r.cancel(s)}});Object.defineProperty(t,"readable",{get(){return n}})}function Nl(t,e,r,n,s,i){let{engine:o,pendingInput:a}=t;a.length&&(e=Be(a,e));let c=e.length-s,f=c-c%Gi;if(r=IE(r,n+f),f){let R=Ce(r,n,n+f);R.set(Ce(e,0,f)),o.process(R,i)}return t.pendingInput=Ce(e,f),r}async function TE(t,e,r,n){let s=await Ol(t,e,r,Ce(n,0,nn[e])),i=Ce(n,nn[e]);if(s[0]!=i[0]||s[1]!=i[1])throw on(t),new Error(Xe)}function on(t){let{engine:e}=t;t.discarded=!0,e&&e.dispose&&e.dispose()}async function AE(t,e,r){let n=fs(new Uint8Array(nn[e])),s=await Ol(t,e,r,n);return Be(n,s)}async function Ol(t,e,r,n){t.password=null;let s=wE[e],i=await yE(r,n,s*2+Wi);return t.engine=yl(Ce(i,0,s),Ce(i,s,s*2)),t.discarded&&on(t),Ce(i,s*2)}async function yE(t,e,r){if(wl)try{let n=await sn.importKey(EE,t,hE,!1,RE);return new Uint8Array(await sn.deriveBits(Object.assign({salt:e},gE),n,r*8))}catch{wl=!1}return hl(t,e,Tl,r)}function SE(t,e){return e===w?Rr(t):e}function IE(t,e){if(e&&e>t.length){let r=t;t=new Uint8Array(e),t.set(r,0)}return t}function Ce(t,e,r){return t.subarray(e,r)}var Gi,EE,_l,pE,mE,Tl,hE,gE,RE,nn,wE,Ut,Wi,Al,sn,_E,wl,yl,ds,Es,Vi=ie(()=>{ue();Hi();Ct();Yi();us();Gi=16,EE="raw",_l={name:"PBKDF2"},pE={name:"HMAC"},mE="SHA-1",Tl=1e3,hE=Object.assign({hash:pE},_l),gE=Object.assign({iterations:Tl,hash:{name:mE}},_l),RE=["deriveBits"],nn=[8,12,16],wE=[16,24,32],Ut=10,Wi=2,Al=typeof crypto!=Se,sn=Al&&crypto.subtle,_E=Al&&typeof sn!=Se,wl=_E&&typeof sn.importKey==K&&typeof sn.deriveBits==K,yl=rn,ds=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n,checkPasswordOnly:s,checkAuthenticationCode:i=!0}){let o={};super({start(){Il(o,e,r,n)},async transform(a,c){let{password:f,strength:R,resolveReady:p,ready:l}=o;if(f?(await TE(o,R,f,Ce(a,0,nn[R]+Wi)),a=Ce(a,nn[R]+Wi),s?(on(o),c.error(new Error(ft))):p()):await l,o.discarded)return;let h=new Uint8Array(a.length-Ut-(a.length-Ut)%Gi);c.enqueue(Nl(o,a,h,0,Ut,!0))},async flush(a){let{engine:c,pendingInput:f,ready:R}=o;if(c){if(await R,o.discarded)return;let p=Ce(f,f.length-Ut),l=new Uint8Array(Ce(f,0,f.length-Ut));c.process(l,!0);let h=c.digest(),m=f.length<Ut?1:0;for(let d=0;d<Ut;d++)m|=h[d]^p[d];if(m&&i){a.error(new Error(Lt));return}a.enqueue(l)}}}),bl(this,o)}},Es=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n}){let s={};super({start(){Il(s,e,r,n)},async transform(i,o){let{password:a,strength:c,resolveReady:f,ready:R}=s,p=Z;if(a?(p=await AE(s,c,a),f()):await R,s.discarded)return;let l=new Uint8Array(p.length+i.length-i.length%Gi);l.set(p,0),o.enqueue(Nl(s,i,l,p.length,0,!1))},async flush(i){let{engine:o,pendingInput:a,ready:c}=s;if(o){if(await c,s.discarded)return;let f=new Uint8Array(a);o.process(f,!1);let R=Ce(o.digest(),0,Ut);i.enqueue(Be(f,R))}}}),bl(this,s)}}});function Cl(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),bE(t,e,r)}function Dl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ll(t)^e[n],hs(t,r[n]);return r}function Pl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ll(t)^e[n],hs(t,e[n]);return r}function bE(t,e,r){let n=[305419896,591751049,878082192];if(Object.assign(t,{cryptoKeys:n,crcKey0:new Ve(n[0]),crcKey2:new Ve(n[2])}),r)for(let s=0;s<r.length;s++)hs(t,r[s]);else for(let s=0;s<e.length;s++)hs(t,e.charCodeAt(s))}function hs(t,e){let[,r]=t.cryptoKeys;t.crcKey0.append([e]);let n=~t.crcKey0.get();r=xl(Math.imul(xl(r+Ul(n)),134775813)+1),t.crcKey2.append([r>>>24]);let s=~t.crcKey2.get();t.cryptoKeys=[n,r,s]}function Ll(t){let e=t.cryptoKeys[2]|2;return Ul(Math.imul(e,e^1)>>>8)}function Ul(t){return t&255}function xl(t){return t&4294967295}var _r,ps,ms,Fl=ie(()=>{en();us();_r=12,ps=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n,checkPasswordOnly:s}){super({start(){Cl(this,e,r,n)},transform(i,o){let a=this;if(a.password||a.rawPassword){let c=Dl(a,i.subarray(0,_r));if(a.password=a.rawPassword=null,(c[_r-1]^a.passwordVerification)!=0)throw new Error(Xe);i=i.subarray(_r)}s?o.error(new Error(ft)):o.enqueue(Dl(a,i))}})}},ms=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n}){super({start(){Cl(this,e,r,n)},transform(s,i){let o=this,a,c;if(o.password||o.rawPassword){o.password=o.rawPassword=null;let f=fs(new Uint8Array(_r));f[_r-1]=o.passwordVerification,a=new Uint8Array(s.length+f.length),a.set(Pl(o,f),0),c=_r}else a=new Uint8Array(s.length),c=0;a.set(Pl(o,s),c),i.enqueue(a)}})}}});function He(t){if(t instanceof ReadableStream)return t;let e=t.getReader();return new ReadableStream({async pull(r){try{let{value:n,done:s}=await e.read();s?r.close():r.enqueue(n)}catch(n){throw e.cancel(n).catch(()=>{}),n}},cancel(r){return e.cancel(r)}})}function ut(t,e){t=He(t);let r=e?{type:e}:{};if(NE())return new Response(t).blob().then(s=>e?new Blob([s],r):s);let n=[];return t.pipeTo(new WritableStream({write(s){n.push(s)}})).then(()=>new Blob(n,r))}function NE(){return typeof Blob.prototype.stream!=K||new Blob([]).stream()instanceof ReadableStream}function Xi(t){if(t instanceof WritableStream)return t;let e=t.getWriter();return new WritableStream({write(r){return e.write(r)},close(){return e.close()},abort(r){return e.abort(r)}})}var Kt=ie(()=>{ue()});function gs(t){return OE.get(t)}function Rs(t){return Zi.get(t)}function DE(t,e){let{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=K&&typeof n!=K)throw new Error(Ml);Zi.set(t,{CompressionStream:r,DecompressionStream:n})}async function vl(t,e){!Zi.has(t)&&e&&DE(t,await import(e))}var Ml,dt,OE,Zi,Jt=ie(()=>{ue();Ml="Invalid codec module",dt="Compression method not supported",OE=new Map,Zi=new Map});function CE(t,e,r,n,s){let i=e.writable.getWriter(),o=e.readable.getReader(),a=n===w?new Ve:w,c=0,f=!1,R=!1,p,l,h=new ReadableStream({start(A){l=A},pull(){g()},cancel(A){return R=!0,g(),o.cancel(A)}});return m(),d(),h;async function m(){let A=t.getReader();try{let T=new Uint8Array(Bl);for(T.set(xE),await i.write(T);;){await u(),await i.ready;let{value:I,done:N}=await Xl(A,s);if(N)break;await i.write(I)}a&&await i.write(new Uint8Array(0));let y=new Uint8Array(ji),S=L(y);S.setUint32(0,a?a.get():n,!0),S.setUint32(4,r,!0),f=!0,await i.write(y),await i.close()}catch(T){await Vl(i,T),await As(A,T)}}async function d(){try{for(;;){let{value:A,done:T}=await E();if(T)break;if(c+=A.length,c>r)throw new Error(Qe);a&&a.append(A),l.enqueue(A)}R||(R=!0,l.close())}catch(A){_(A),await As(o,A)}}function E(){return o.read().catch(A=>{if(f){if(!a)throw Ss(A,Ft);if(c!=r)throw Ss(A,Qe);return{done:!0}}throw Zl(A,s)})}function u(){if(!R&&l.desiredSize<=0)return new Promise(A=>p=A)}function g(){if(p){let A=p;p=w,A()}}function _(A){R||(R=!0,l.error(A),g())}}function qi(t,e){if(!t)return!1;let r=kl.get(t);r||(r=new Map,kl.set(t,r));let n=r.get(e);if(n===w){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Is(t){return qi(t,Ki)}function Ji(t){return qi(t,Ar)}function Hl(t,e,r){e=Et(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get(){return e}})}function Yl(t,e,r){if(!t)throw new Error(dt);return new t(e,r)}function Wl(t,e,r){if(t&&e)return e;if(r&&r.requiresModule)return r}function Gl(t,e,r,n,s,i){let o=e&&n?n:s||n,a=r.deflate64?zl:Ki,c;try{c=new o(a,r)}catch(f){if(e&&s&&o!=s)c=new s(a,r);else throw f}return cn(t,c,i)}function Et(t,e){return He(t).pipeThrough(e)}function cn(t,e,r){let n=e.writable.getWriter(),s=t.getReader();return i(),e.readable;async function i(){try{for(;;){await n.ready;let o=await Xl(s,r);if(o.done){await n.close();break}await n.write(o.value)}}catch(o){await Vl(n,o),await As(s,o)}}}async function Vl(t,e){try{await t.abort(e)}catch{}}async function As(t,e){try{await t.cancel(e)}catch{}}function Xl(t,e){let r=t.read();return e?r.catch(n=>{throw e.add(n),n}):r}function Zl(t,e){return e.has(t)?t:Ss(t,jl(t)?$t:Qt)}function ys(t){return jl(t)?Ss(t,$t):t}function jl(t){return Re(t)&&t.code==PE}function Ss(t,e){let r=new Error(e);return r.cause=t,r}function LE(t,e){let r=t.getReader();return new ReadableStream({async pull(n){try{let{value:s,done:i}=await r.read();i?n.close():n.enqueue(s)}catch(s){throw await As(r,s),Zl(s,e)}},cancel(n){return r.cancel(n)}})}var Qe,Qt,$t,Ft,PE,Ki,zl,Ar,Bl,ji,xE,ws,_s,Ts,kl,Qi=ie(()=>{en();dl();Vi();Fl();us();ue();Ct();Kt();jt();Jt();Qe="Invalid uncompressed size",Qt="Invalid compressed data",$t="Codec out of memory",Ft="Invalid CRC32",PE="Z_MEM_ERROR",Ki="deflate-raw",zl="deflate64-raw",Ar="gzip",Bl=10,ji=8,xE=[31,139,8],ws=class extends TransformStream{constructor(e,{chunkSize:r,CompressionStreamFallback:n,CompressionStream:s}){super({});let{compressed:i,encrypted:o,useCompressionStream:a,zipCrypto:c,computeCrc32:f,level:R,deflate64:p,format:l,compressionMethod:h,inputSize:m}=e,d=this,E,u,g,_=super.readable,A=l&&Rs(l),T=Wl(a,s,n),y=f&&i&&!p&&!A&&(!o||c)&&!!T;if((!o||c)&&f&&!y&&(E=new tn,_=Et(_,E)),i)if(A)_=cn(_,Yl(A.CompressionStream,l,{level:R,chunkSize:r,compressionMethod:h,uncompressedSize:m}));else if(y)g=new _s,_=cn(_,new T(Ar,{level:R,chunkSize:r})),_=Et(_,g);else try{_=Gl(_,a,{level:R,chunkSize:r},s,n)}catch(S){if(!a&&n)throw ys(S);let I;try{I=new s(Ar)}catch{throw ys(S)}_=cn(_,I),_=Et(_,new _s)}o&&(c?_=Et(_,new ms(e)):(u=new Es(e),_=Et(_,u))),Hl(d,_,()=>{(!o||c)&&f&&(d.crc32=y?g.crc32:new DataView(E.value.buffer).getUint32(0))})}},_s=class extends TransformStream{constructor(){let e,r=Bl,n=new Uint8Array(0);super({transform(s,i){if(r){let f=Math.min(r,s.length);if(r-=f,s=s.subarray(f),!s.length)return}let o=n.length+s.length;if(o<=ji){n=Be(n,s);return}let a=o-ji,c=Math.min(a,n.length);i.enqueue(Be(n.subarray(0,c),s.subarray(0,a-c))),n=Be(n.subarray(c),s.subarray(a-c))},flush(){let s=L(n);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}};Ts=class extends TransformStream{constructor(e,{chunkSize:r,DecompressionStreamFallback:n,DecompressionStream:s}){super({});let{zipCrypto:i,encrypted:o,checkCrc32:a,crc32:c,compressed:f,useCompressionStream:R,deflate64:p,format:l,compressionMethod:h,rawBitFlag:m,outputSize:d}=e,E,u,g,_=super.readable;if(o&&(i?_=Et(_,new ps(e)):(u=new ds(e),_=Et(_,u))),f){let A=new Set,T=l&&Rs(l),y;if(T)_=cn(_,Yl(T.DecompressionStream,l,{chunkSize:r,compressionMethod:h,rawBitFlag:m,uncompressedSize:d}),A);else{let S=Wl(R,s,n);if(a&&!p&&c!==w&&d!==w&&S)try{y=new S(Ar,{chunkSize:r})}catch{y=w}if(!y)try{_=Gl(_,R,{chunkSize:r,deflate64:p},s,n,A)}catch(I){if(p||d===w||!R&&n)throw ys(I);try{y=new s(Ar)}catch{throw ys(I)}}}y?(g=!0,_=CE(_,y,d,c,A)):_=LE(_,A)}a&&!g&&(E=new tn,_=Et(_,E)),Hl(this,_,()=>{if(E){let A=new DataView(E.value.buffer).getUint32(0,!1);if(c!=A)throw new Error(Ft)}})}},kl=new Map});var UE,Kl,ql,Jl,$i,Ql,$l,yr,Ns,bs,ln,Os=ie(()=>{ue();Qi();UE=64*1024,Kl="message",ql="start",Jl="pull",$i="data",Ql="ack",$l="close",yr="deflate",Ns="inflate",bs=class extends TransformStream{constructor(e,r){super({});let n=this,{codecType:s}=e,i;s.startsWith(yr)?i=ws:s.startsWith(Ns)&&(i=Ts),n.outputSize=0;let o=0,a=new i(e,r),c=super.readable,f=new TransformStream({transform(p,l){p&&p.length&&(o+=p.length,l.enqueue(p))},flush(){Object.assign(n,{inputSize:o})}}),R=new TransformStream({transform(p,l){if(p&&p.length&&(l.enqueue(p),n.outputSize+=p.length,e.outputSize!==w&&n.outputSize>e.outputSize))throw new Error(Qe)},flush(){let{crc32:p}=a;Object.assign(n,{crc32:p,inputSize:o})}});Object.defineProperty(n,"readable",{get(){return c.pipeThrough(f).pipeThrough(a).pipeThrough(R)}})}},ln=class extends TransformStream{constructor(e){let r=[],n=0,s=0;(!Number.isFinite(e)||e<1)&&(e=UE),super({transform(a,c){for(r.push(a),n+=a.length;n>e;)s+=e,c.enqueue(i())},flush(a){n&&(s+=n,a.enqueue(o(r,n)))}}),Object.defineProperty(this,"outputSize",{get:()=>s});function i(){let a=new Uint8Array(e),c=0;for(;c<e;){let f=r[0],R=e-c;f.length<=R?(a.set(f,c),c+=f.length,r.shift()):(a.set(f.subarray(0,R),c),r[0]=f.subarray(R),c+=R)}return n-=e,a}function o(a,c){let f=new Uint8Array(c),R=0;for(let p of a)f.set(p,R),R+=p.length;return f}}}});function tf({initModule:t}){to=t}function rf(t){eo=t}async function nf(t){let{CompressionStream:e,CompressionStreamFallback:r}=t;return r&&!r.requiresModule||Is(e)||Ji(e)?!0:r?await sf(t):!1}async function sf(t){if(to)try{return await to(t),!0}catch{}return!1}function ro(t){t.createWorker?ef=!0:Ds=!1}async function Ps(t,...e){try{await t(...e)}catch{}}function no(t,e){return{run:()=>Cs(t,e)}}async function Cs({options:t,readable:e,writable:r,onTaskFinished:n,workerOptions:s},i){let o,a,c;try{if(t.compressed&&!t.format){let m=t.codecType.startsWith(yr),d=m?i.CompressionStreamFallback:i.DecompressionStreamFallback,E=m?i.CompressionStream:i.DecompressionStream;t.useCompressionStream?d&&d.requiresModule&&!Is(E)&&await f():!await f()&&(!d||d.requiresModule)&&(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await f(),o=new bs(t,i),a=new ln(Qr(i));let{signal:R}=s.streamOptions;await e.pipeThrough(o).pipeThrough(a).pipeTo(r,{preventClose:!0,preventAbort:!0,signal:R});let{crc32:p,inputSize:l,outputSize:h}=o;return{crc32:p,inputSize:l,outputSize:h}}catch(R){if(o){let p=a?a.outputSize:0;if(s.outputSize=p,Re(R))try{R.outputSize=p}catch{}}throw R}finally{n()}function f(){return c||(c=sf(i)),c}}var er,Ds,ef,eo,to,Mt,xs,Sr=ie(()=>{ue();Ge();jt();Os();er="Worker startup timeout",to=()=>{};Mt=class{constructor(e,{readable:r,writable:n},s,i){let{options:o,config:a,streamOptions:c,useWebWorkers:f,transferStreams:R,workerURI:p}=s,{createWorker:l}=s,{signal:h}=c;return ef&&(l=w),Object.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:r.pipeThrough(new ln(Qr(a))).pipeThrough(new xs(c),{signal:h}),writable:n,options:Object.assign({},o),workerOptions:s,workerURI:p,createWorker:l,transferStreams:R,terminate(){return new Promise(m=>{let{worker:d,busy:E}=e;E?(e.terminateResolvers=e.terminateResolvers||[],e.terminateResolvers.push(m)):(d&&(d.terminate(),e.worker=null),m()),e.interface=null})},onTaskFinished(){if(e.busy){let{terminateResolvers:m,worker:d}=e;m&&(e.terminateResolvers=null,d&&(e.terminated=!0,d.terminate())),e.busy=!1;let E=i(e);m&&m.forEach(u=>u(E))}}}),Ds===w&&(Ds=typeof Worker!=Se),(f&&eo&&(Ds&&p||l)?eo:no)(e,a)}},xs=class extends TransformStream{constructor({onstart:e,onprogress:r,size:n,onend:s}){let i=0;super({async start(){e&&await Ps(e,n)},async transform(o,a){i+=o.length,r&&await Ps(r,i,n),a.enqueue(o)},async flush(){s&&await Ps(s,i)}})}}});async function Ms(t,e){let{options:r,config:n}=e,{transferStreams:s,useWebWorkers:i,useCompressionStream:o,compressed:a,checkCrc32:c,computeCrc32:f,encrypted:R,format:p,codecURI:l}=r,{workerURI:h,createWorker:m,maxWorkers:d}=n;p&&(l&&(r.codecURI=YE(l,n.baseURI)),await vl(p,r.codecURI)),e.transferStreams=!p&&(s||s===w&&n.transferStreams);let E=!a&&!c&&!f&&!R,u=p===w||!!r.codecURI;return e.useWebWorkers=!E&&u&&(i||i===w&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:w,e.createWorker=e.useWebWorkers&&m?m:w,r.useCompressionStream=o||o===w&&n.useCompressionStream,(await g()).run();async function g(){let A=tr.find(T=>!T.busy);if(A)return pf(A),new Mt(A,t,e,_);if(tr.length<d){let T={indexWorker:Ef};return Ef++,tr.push(T),new Mt(T,t,e,_)}else return new Promise(T=>{rr.push({resolve:T,stream:t,workerOptions:e}),Us=n.workerStarvationTimeout,Fs()})}function _(A){if(lo(),A.terminated)return A.terminated=!1,GE();if(rr.length){let[{resolve:T,stream:y,workerOptions:S}]=rr.splice(0,1);T(new Mt(A,y,S,_)),Fs()}else A.worker?(pf(A),VE(A,e)):tr=tr.filter(T=>T!=A)}}function YE(t,e){try{return new URL(t,e).toString()}catch{return t}}function Fs(){!Ir&&rr.length&&Number.isFinite(Us)&&Us>=0&&(Ir=setTimeout(WE,Us))}function lo(){Ir&&(clearTimeout(Ir),Ir=null)}function WE(){if(Ir=null,rr.length){let[{resolve:t,stream:e,workerOptions:r}]=rr.splice(0,1);t(new Mt({},e,mf(r),hf)),Fs()}}function GE(){let t=rr.splice(0).map(({resolve:e,stream:r,workerOptions:n})=>new Promise(s=>{e(new Mt({},r,mf(n),()=>{hf(),s()}))}));return lo(),Promise.all(t)}function mf(t){return Object.assign({},t,{useWebWorkers:!1,workerURI:w,createWorker:w})}function hf(){lo(),Fs()}function VE(t,e){let{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.terminateTimeout=setTimeout(async()=>{tr=tr.filter(s=>s!=t);try{await t.terminate()}catch{}},n))}function pf(t){let{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}var tr,rr,Ir,Us,Ef,vs=ie(()=>{ue();Os();Jt();Sr();tr=[],rr=[],Ef=0});function gf(t){let e="";for(let r=0;r<t.length;r++)e+=XE[t[r]];return e}var XE,Rf=ie(()=>{XE="\\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 fn(t,e){return ZE(t,e,!0)}function fo(t){if(t.some(e=>e>127))try{return new TextDecoder("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}else return!1}function ZE(t,e,r){return e&&e.trim().toLowerCase()=="cp437"?gf(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}var uo=ie(()=>{Rf()});function KE(){Af=(async()=>{try{let e=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader(),r=0,n=await e.read();for(;!n.done;)r+=n.value.length,n=await e.read();Eo=r==1}catch{Eo=!1}})()}function un(t){return!!(t&&t.getData)}async function ge(t,e){if(t.init&&!t.initialized)await t.init(e);else return Promise.resolve()}async function qE(t){return t=new mt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new $e(await ut(t.readable)),await ge(t)),t}function re(t,e,r){return t.readUint8Array(e,r)}function po(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?pt.prototype.createReadable.call(t,e):t.readable}var _f,Tf,ER,pR,mR,jE,wf,ks,pt,Eo,Af,$e,zs,Bs,mt,br,dn=ie(()=>{ue();Ge();Ct();Kt();uo();_f="Writer iterator completed too soon",Tf="Invalid writer (size must be writable)",ER=256*1024,pR=16*1024*1024,mR=65557,jE="writable",wf=Symbol(),ks=class{constructor(){this.size=0}init(){this.initialized=!0}},pt=class extends ks{get readable(){return this.createReadable()}createReadable({offset:e=0,size:r,chunkSize:n=Qr(ct())}={}){let s=this,i=0;return n=zi(n),new ReadableStream({async pull(o){let a=r===w?n:Math.min(n,r-i),c=await re(s,e+i,a);c.length&&(o.enqueue(c),i+=c.length),(r!==w&&i>=r||!c.length&&a)&&o.close()}})}};$e=class extends pt{constructor(e){super(),Object.assign(this,{sourceBlob:e,size:e.size}),Af||KE()}createReadable(e){let r=this,{sourceBlob:n,size:s}=r,{offset:i=0,size:o=s-i}=e||{};if(typeof n.stream==K){if(!i&&o>=s)return He(n.stream());if(Eo)return He(n.slice(i,i+o).stream())}return super.createReadable(e)}async readUint8Array(e,r){let n=this,s=e+r,a=await(!e&&s>=n.size?n.sourceBlob:n.sourceBlob.slice(e,s)).arrayBuffer();return a.byteLength>r&&(a=a.slice(e,s)),new Uint8Array(a)}},zs=class extends pt{constructor(e){super(),this.readers=e}async init(){let e=this;e.lastDiskNumber=0;let r=e.readers=await Promise.all(e.readers.map(qE));e.diskOffsets=r.map(n=>{let s=e.size;return e.size+=n.size,s}),super.init()}getDiskOffset(e){let{diskOffsets:r,size:n}=this,s=r[e];return s===w?n:s}async readUint8Array(e,r){let n=this,{readers:s}=this,i,o=0,a=e;for(;s[o]&&a>=s[o].size;)a-=s[o].size,o++;let c=s[o];if(c){let f=c.size;if(a+r<=f)i=await re(c,a,r);else{let R=f-a,p=await re(c,a,R),l=await n.readUint8Array(e+R,r-R);i=Be(p,l)}}else i=Z;return n.lastDiskNumber=Math.max(o,n.lastDiskNumber),i}},Bs=class extends ks{constructor(e,r=4294967295){super();let n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:r,availableSize:r});let s,i,o,a=new WritableStream({async write(p){if(p===wf){o&&await f();return}let{availableSize:l}=n;if(o)p.length>=l?(await c(p.subarray(0,l)),await f(),p.length>l&&await this.write(p.subarray(l))):await c(p);else{let{value:h,done:m}=await e.next();if(m&&!h)throw new Error(_f);s=h,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ge(s),i=h.writable,o=i.getWriter(),await this.write(p)}},async close(){o&&(await o.ready,await R())},async abort(p){o&&await o.abort(p)}});Object.defineProperty(n,jE,{get(){return a}});async function c(p){let l=p.length;l&&(await o.ready,await o.write(p),s.size+=l,n.availableSize-=l)}async function f(){await R(),n.diskOffset+=s.size,n.diskNumber++,o=null,n.availableSize=n.maxSize}async function R(){await o.close()}}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(wf)}finally{e.releaseLock()}}},mt=class{constructor(e){return Array.isArray(e)&&(e=new zs(e)),(e instanceof ReadableStream||typeof e.getReader==K)&&(e={readable:He(e)}),e}},br=class{constructor(e){e.writable===w&&typeof e.next==K&&(e=new Bs(e)),(e instanceof WritableStream||typeof e.getWriter==K)&&(e={writable:Xi(e)});try{e.size=e.size===w?0:e.size}catch{throw new Error(Tf)}return e}}});function Te(t,e,r){if(!t.some(n=>n.reason==e)){let n={reason:e};r!==w&&(n.filename=r),t.push(n)}}var mo=ie(()=>{ue()});function yf(t){if(t){let e=new Map;if(t.forEach((r,n)=>{wp.has(n)||e.set(n,r.data)}),e.size)return e}}function yn(t,e,r){return t?e?12:16+r*4:0}var _o,To,Rn,Ao,wn,yo,So,Io,sr,Or,_n,bo,Tn,No,Oo,Do,Po,xo,Co,Hs,Lo,Uo,Fo,Mo,ir,vo,JE,ko,Ys,QE,An,$E,ep,tp,rp,zo,Bo,Ho,Yo,Wo,Go,np,sp,ip,op,ap,cp,lp,fp,up,dp,Ep,pp,mp,hp,gp,Rp,ht,wp,Ws=ie(()=>{ue();_o="filename",To="rawFilename",Rn="comment",Ao="rawComment",wn="uncompressedSize",yo="compressedSize",So="offset",Io="diskNumberStart",sr="lastModDate",Or="rawLastModDate",_n="lastAccessDate",bo="rawLastAccessDate",Tn="creationDate",No="rawCreationDate",Oo="internalFileAttributes",Do="externalFileAttributes",Po="msdosAttributesRaw",xo="msdosAttributes",Co="msDosCompatible",Hs="zip64",Lo="encrypted",Uo="version",Fo="versionMadeBy",Mo="zipCrypto",ir="directory",vo="executable",JE="symlink",ko="compressionMethod",Ys="signature",QE="crc32",An="extraField",$E="extraFieldInfoZip",ep="extraFieldUnix",tp="extraFieldUnixType1",rp="extraFieldPkwareUnix",zo="uid",Bo="gid",Ho="unixMode",Yo="setuid",Wo="setgid",Go="sticky",np="bitFlag",sp="rawBitFlag",ip="filenameLength",op="extraFieldLength",ap="unixExternalUpper",cp="filenameUTF8",lp="commentUTF8",fp="rawExtraField",up="extraFieldZip64",dp="extraFieldUnicodePath",Ep="extraFieldUnicodeComment",pp="extraFieldAES",mp="extraFieldNTFS",hp="extraFieldExtendedTimestamp",gp="extraFieldUSDZ",Rp=[_o,To,wn,yo,sr,Or,Rn,Ao,_n,bo,Tn,No,So,Io,Oo,Do,Po,xo,Co,Hs,Lo,Uo,Fo,Mo,ir,vo,JE,ko,Ys,QE,An,ep,$E,tp,rp,zo,Bo,Ho,ap,Yo,Wo,Go,np,sp,ip,op,cp,lp,fp,up,dp,Ep,pp,mp,hp,gp],ht=class{constructor(e){Rp.forEach(r=>this[r]=e[r])}},wp=new Set([1,39169,10,21589,28789,25461,6534,30837,30805,22613,13])});var Jf={};Xd(Jf,{ERR_AMBIGUOUS_ARCHIVE:()=>Ea,ERR_BAD_FORMAT:()=>Dr,ERR_CENTRAL_DIRECTORY_NOT_FOUND:()=>ca,ERR_CODEC_OUT_OF_MEMORY:()=>$t,ERR_ENCRYPTED:()=>ai,ERR_ENCRYPTED_CENTRAL_DIRECTORY:()=>pa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:()=>da,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:()=>aa,ERR_EOCDR_NOT_FOUND:()=>oa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:()=>fa,ERR_INVALID_AUTHENTICATION_CODE:()=>Lt,ERR_INVALID_COMPRESSED_DATA:()=>Qt,ERR_INVALID_CRC32:()=>Ft,ERR_INVALID_FILENAME_VALIDATION:()=>ga,ERR_INVALID_MAX_APPENDED_DATA_SIZE:()=>Ra,ERR_INVALID_PASSWORD:()=>Xe,ERR_INVALID_STRICTNESS:()=>ha,ERR_INVALID_UNCOMPRESSED_SIZE:()=>Qe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:()=>la,ERR_OVERLAPPING_ENTRY:()=>ua,ERR_SPLIT_ZIP_FILE:()=>Zs,ERR_UNSAFE_FILENAME:()=>ma,ERR_UNSUPPORTED_COMPRESSION:()=>dt,ERR_UNSUPPORTED_ENCRYPTION:()=>Xs,ERR_UNSUPPORTED_UINT64:()=>wa,ERR_WORKER_STARTUP_TIMEOUT:()=>er,WARNING_APPENDED_DATA:()=>Ks,WARNING_COMPRESSED_PATCHED_DATA:()=>Aa,WARNING_DUPLICATE_FILENAME:()=>ba,WARNING_MALFORMED_EXTRA_FIELD:()=>ci,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:()=>Da,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:()=>Pa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:()=>xa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:()=>Oa,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:()=>Pr,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:()=>Na,WARNING_PREPENDED_CENTRAL_DIRECTORY:()=>Sa,WARNING_PREPENDED_DATA:()=>qs,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:()=>Ia,WARNING_UNKNOWN_VERSION:()=>Ta,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:()=>ya,WARNING_UNSORTED_CENTRAL_DIRECTORY:()=>_a,WARNING_WRAPPED_ENTRIES_COUNT:()=>js,ZipReader:()=>zt,ZipReaderStream:()=>Qs,isZipFile:()=>Yf});function Pp(t,e){let{readable:r,writable:n}=new TransformStream,s,i={cancel:async a=>{e.delete(i),await(s?s.cancel(a):r.cancel(a))}};return i.readable=new ReadableStream({async pull(a){s||(s=r.getReader(),e.add(i),o());let{done:c,value:f}=await s.read();c?a.close():a.enqueue(f)},cancel:a=>i.cancel(a)},{highWaterMark:0}),i;async function o(){try{await t.getData(n,{preventClose:!1})}catch(a){try{await n.abort(a)}catch{}}finally{e.delete(i)}}}async function Yf(t,e={}){if(t=new mt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new $e(await ut(t.readable)),await ge(t)),t.size<22)return!1;let r=La(e,{}),n=r!=at,s=Zf(e[Ui],r),{endOfDirectoryInfo:i,endOfDirectoryReachingEndCount:o}=await jf(t,n,s);if(!i||r==Dt&&o>1)return!1;let a=V(L(i),20),c=i.offset+22+a;return t.size-c<=s}function Vo(t){let e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(v(t,r)==134630224)return!0;return!1}function Cf(t,e,r){let n=0;for(;r+46<=e.length&&v(t,r)==33639248;)r+=46+V(t,r+28)+V(t,r+30)+V(t,r+32),n++;return n%65536?0:n}function Xo(t){if(t.length>=6){let e=L(t);if(v(e,0)==84233040){let r=V(e,4);if(6+r<=t.length)return new Uint8Array(t.subarray(6,6+r))}}}function xp(t,e,r){let n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}function Cp(t){let e={rawExtensibleData:t};if(t.length>=28){let r=L(t),n=V(r,26);Object.assign(e,{compressionMethod:V(r,0),compressedSize:Le(r,2),uncompressedSize:Le(r,10),encryptionAlgorithm:V(r,18),bitLength:V(r,20),flags:V(r,22),hashAlgorithm:V(r,24),hashData:t.subarray(28,28+n)})}return e}function Wf(t,e,r){let n=t.rawBitFlag=V(e,r+2),s=(n&1)==1,i=v(e,r+6);Object.assign(t,{encrypted:s,version:V(e,r),bitFlag:{level:(n&6)>>1,dataDescriptor:(n&8)==8,languageEncodingFlag:(n&2048)==2048},rawLastModDate:i,lastModDate:Kp(i),filenameLength:V(e,r+22),extraFieldLength:V(e,r+24)})}function Gf(t,e,r,n,s){let{rawExtraField:i}=e,o=e.extraField=new Map,a=L(i),c=0,f=!1;try{for(;c<i.length;){let y=V(a,c),S=V(a,c+2);o.set(y,{type:y,data:i.slice(c+4,c+4+S)}),c+=4+S}}catch{f=!0}c>i.length&&(f=!0);let R=V(r,n+4);Object.assign(e,{signature:v(r,n+10),crc32:v(r,n+10),compressedSize:v(r,n+14),uncompressedSize:v(r,n+18)});let p=o.get(1);p&&(Lp(p,e),e.extraFieldZip64=p);let l=o.get(28789);l&&(Lf(l,_o,To,e,t),e.extraFieldUnicodePath=l);let h=o.get(25461);h&&(Lf(h,Rn,Ao,e,t),e.extraFieldUnicodeComment=h);let m=o.get(39169);m&&m.data.length>=7?(Up(m,e,R),e.extraFieldAES=m):e.compressionMethod=R;let d=o.get(13);d&&(Uf(d,e),e.extraFieldPkwareUnix=d);let E=o.get(22613);E&&(Uf(E,e),e.extraFieldUnixType1=E);let u=o.get(10);u&&(Fp(u,e),e.extraFieldNTFS=u);let g=o.get(30805),_;if(g&&(_=Ff(g,e,!1),e.extraFieldUnix=g),!_){let y=o.get(30837);y&&(Ff(y,e,!0),e.extraFieldInfoZip=y)}let A=o.get(21589);A&&(Mp(A,e,s),e.extraFieldExtendedTimestamp=A);let T=o.get(6534);return T&&(e.extraFieldUSDZ=T),f}function Lp(t,e){e.zip64=!0;let r=L(t.data),n=bp.filter(([i,o])=>e[i]==o),s=n.reduce((i,[,o])=>i+Pf[o].bytes,0);if(t.data.length<s)throw new Error(fa);for(let i=0,o=0;i<n.length;i++){let[a,c]=n[i],f=Pf[c];e[a]=t[a]=f.getValue(r,o),o+=f.bytes}}function Lf(t,e,r,n,s){if(t.data.length<5){t.valid=!1;return}let i=L(t.data),o=new Ve;o.append(s[r]);let a=L(new Uint8Array(4));a.setUint32(0,o.get(),!0);let c=v(i,1),f=kt(i,0);Object.assign(t,{version:f,[e]:fn(t.data.subarray(5)),valid:f==1&&!s.bitFlag.languageEncodingFlag&&c==v(a,0)}),t.valid&&(n[e]=t[e],n[e+Ip]=!0)}function Up(t,e,r){let n=L(t.data),s=kt(n,4);Object.assign(t,{vendorVersion:kt(n,0),vendorId:kt(n,2),strength:s,originalCompressionMethod:r,compressionMethod:V(n,5)}),e.compressionMethod=t.compressionMethod,t.vendorVersion!=Hf&&(e.crc32=w)}function Fp(t,e){let r=L(t.data),n=4,s;try{for(;n<t.data.length&&!s;){let i=V(r,n),o=V(r,n+2);i==1&&(s=t.data.slice(n+4,n+4+o)),n+=4+o}}catch{}if(s&&s.length==24){let i=L(s),o=i.getBigUint64(0,!0),a=i.getBigUint64(8,!0),c=i.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:c});let f=Zo(o),R=Zo(a),p=Zo(c),l={lastModDate:f,lastAccessDate:R,creationDate:p};Object.assign(t,l),Object.assign(e,l,{rawLastAccessDate:a,rawCreationDate:c})}}function Uf(t,e){if(t.data.length<8)return;let r=L(t.data),n=new Date((v(r,0)|0)*1e3),s=new Date((v(r,4)|0)*1e3),i={lastAccessDate:n,lastModDate:s};t.data.length>=12&&(i.uid=V(r,8),i.gid=V(r,10)),Object.assign(t,i),Object.assign(e,i)}function Ff(t,e,r){try{let n=L(t.data),s,i;if(r){let o=0,a=kt(n,o++),c=kt(n,o++);s=Mf(t.data.subarray(o,o+c)),o+=c;let f=kt(n,o++);i=Mf(t.data.subarray(o,o+f)),Object.assign(t,{version:a,uid:s,gid:i})}else t.data.length>=4&&(s=V(n,0),i=V(n,2),Object.assign(t,{uid:s,gid:i}));return s!==w&&(e.uid=s),i!==w&&(e.gid=i),s!==w||i!==w}catch{}}function Mf(t){let e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Mp(t,e,r){if(!t.data.length)return;let n=L(t.data),s=kt(n,0),i=[],o=[];r?((s&1)==1&&(i.push(sr),o.push(Or)),(s&2)==2&&(i.push(_n),o.push(bo)),(s&4)==4&&(i.push(Tn),o.push(No))):t.data.length>=5&&(i.push(sr),o.push(Or));let a=1;i.forEach((c,f)=>{if(t.data.length>=a+4){let R=v(n,a);e[c]=t[c]=new Date((R|0)*1e3);let p=o[f];t[p]=R}a+=4})}async function vp({reader:t,fileEntry:e,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:o,dataOffset:a,dataDescriptor:c,extraFieldZip64:f,readRanges:R}){let p=0;if(c&&(f?p=20:p=12),p){let E=await re(t,a+i,p+4),u=L(E),g=E.length==p+4&&v(u,0)==134695760;if(g){let _=vf(u,4,f);(e.encrypted&&!e.zipCrypto||_.crc32==s)&&_.compressedSize==i&&_.uncompressedSize==o?p+=4:g=!1}if(E.length>=p){let _=vf(u,g?4:0,f);_.signature=g,e.localDirectory.dataDescriptor=_}}let l={start:n,end:a+i+p,fileEntry:e},{indexes:h,sortedRanges:m,pendingRanges:d}=R;if(!h.has(r)){let E=kp(m,l)||d.find(u=>Ko(l,u));if(E){let u=new Error(ua);throw u.overlappingEntry=E.fileEntry,u}h.add(r),d.push(l),d.length*d.length>m.length&&(d.sort((u,g)=>u.start-g.start),R.sortedRanges=zp(m,d),d.length=0)}}function kp(t,e){let r=0,n=t.length;for(;r<n;){let o=r+n>>>1;t[o].start<e.start?r=o+1:n=o}let s=t[r-1],i=t[r];if(s&&Ko(e,s))return s;if(i&&Ko(e,i))return i}function Ko(t,e){return t.start<e.end&&e.start<t.end}function zp(t,e){let r=[],n=0,s=0;for(;n<t.length||s<e.length;)s==e.length||n<t.length&&t[n].start<e[s].start?r.push(t[n++]):r.push(e[s++]);return r}function vf(t,e,r){let n=v(t,e),s,i;return r?(s=Le(t,e+4),i=Le(t,e+12)):(s=v(t,e+4),i=v(t,e+8)),{crc32:n,compressedSize:s,uncompressedSize:i}}function xr(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function Bp(t){return await Vf(t)==134695760}async function Hp(t){let e=await Vf(t);return e==134695760||e==808471376}async function Vf(t){let e=await re(t,0,4);return v(L(e))}function Xf(t){return t===Dt||t===is||t===at}function Yp(t,e,r){return Math.min(t,r?e*Dp:e)}function La(t,e){return kf(t,kf(e,is))}function kf(t,e){let r=t[Hc];if(r!==w){if(!Xf(r))throw new Error(ha);return r}let n=t[yc];return n===w?e:n?Dt:e==at?at:is}function Wp(t,e){return t===w?e!=at:!!t}function Gp(t,e){return t===w?e==Dt:!!t}function Vp(t,e){if(t===w)return e;if(!Xf(t))throw new Error(ga);return t}function Xp(t,e){if(e==at)return!1;let r=t.split("/");return r.length>1&&r[r.length-1]===""&&r.pop(),Sp.test(t)||t.startsWith("/")||t.startsWith("\\\\")||yp.test(t)?!0:e==Dt&&(r.includes(".")||r.includes("")||t.includes("\\0"))}function Zf(t,e){if(t!==w){let r=Pt(t);if(typeof r!=pc||Number.isNaN(r)||r<0)throw new Error(Ra);return r}return e==Dt?0:e==at?1/0:65535}async function jf(t,e,r){let{size:n}=t,s=Math.min(n,65557),i={remaining:Op},o,a,c=0;for await(let[f,R,p,l,h]of Kf(t,s)){let m=V(f,l+20);if(h+22+m==n){let d=await qf(t,f,R,l,h,n,i);if(d==Js){if(o||(o=qo(p,l,h)),c++,!e||c>1)break}else d==Ca&&!a&&(a=qo(p,l,h))}}return o||(o=a),o||(o=await Zp(t,r,i)),{endOfDirectoryInfo:o,endOfDirectoryReachingEndCount:c}}async function Zp(t,e,r){let{size:n}=t,s=Math.min(n,e==1/0?n:65557+e),i,o;for await(let[a,c,f,R,p]of Kf(t,s)){let l=qo(f,R,p);i||(i=l);let h=await qf(t,a,c,R,p,n,r);if(h==Js)return l;h==Ca&&!o&&(o=l)}return o||i}async function*Kf(t,e){let r=t.size-e,n=await re(t,r,e),s=L(n);for(let i=n.length-22;i>=0;i--)v(s,i)==101010256&&(yield[s,r,n,i,r+i])}function qo(t,e,r){return{offset:r,buffer:new Uint8Array(t.subarray(e,e+22)).buffer}}async function qf(t,e,r,n,s,i,o){let a=V(e,n+10),c=v(e,n+12),f=v(e,n+16);if(a==65535||c==4294967295||f==4294967295)return await zf(t,e,r,s-20,i,o)==117853008?Js:xf;if(!a&&!c)return Ca;let R=V(e,n+6);for(let p of[s-c,xr(t,R)+f])if(await zf(t,e,r,p,i,o)==33639248)return Js;return xf}async function zf(t,e,r,n,s,i){if(n<0||n+4>s)return w;if(n>=r)return v(e,n-r);if(i.remaining>0){i.remaining--;let o=await re(t,n,4);return v(L(o),0)}return w}function jp(t,e,r,n,s){let{rawFilename:i}=t,o=!s,a=t.decryptedDirectory&&(e.rawBitFlag&8192)==8192;n&&!a&&(r.length!=i.length||r.some((c,f)=>c!=i[f]))&&tt(o,s,Oa),(e.rawBitFlag&Df)!=(t.rawBitFlag&Df)&&tt(o,s,Da),e.compressionMethod!=t.compressionMethod&&tt(o,s,Pa),!e.bitFlag.dataDescriptor&&!a&&(e.crc32||e.compressedSize||e.uncompressedSize)&&(e.crc32!=t.crc32||e.compressedSize!=t.compressedSize||e.uncompressedSize!=t.uncompressedSize)&&tt(o,s,xa)}function tt(t,e,r){t?Gs(r):Te(e,r)}function Gs(t){let e=new Error(Ea);throw e.reason=t,e}function oe(t,e,r){return e[r]===w?t.options[r]:e[r]}function Bf(t,e,r){return pr(oe(t,e,r))}function Kp(t){let e=(t&4294901760)>>16,r=t&65535,n=new Date(1980+((e&65024)>>9),((e&480)>>5)-1,e&31,(r&63488)>>11,(r&2016)>>5,(r&31)*2,0);return n<Ot?Ot:n}function Zo(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function kt(t,e){return t.getUint8(e)}function V(t,e){return t.getUint16(e,!0)}function v(t,e){return t.getUint32(e,!0)}function Le(t,e){let r=t.getBigUint64(e,!0);if(r>Np)throw new Error(wa);return Number(r)}var Dr,oa,aa,ca,la,fa,ai,Xs,Zs,ua,da,Ea,pa,ma,ha,ga,Ra,wa,_a,Ta,Aa,ci,ya,js,Ks,qs,Sa,Ia,ba,Pr,Na,Oa,Da,Pa,xa,Ap,yp,Sp,Nf,Ip,Of,Df,Hf,bp,Pf,Np,Op,Dp,xf,Ca,Js,zt,Qs,jo,li=ie(()=>{ue();Ge();Jt();vs();dn();uo();Ct();mo();Kt();jt();en();Ws();gr();Dr="File format is not recognized",oa="End of central directory not found",aa="End of Zip64 central directory locator not found",ca="Central directory header not found",la="Local file header not found",fa="Zip64 extra field not found",ai="File contains encrypted entry",Xs="Encryption method not supported",Zs="Split zip file",ua="Overlapping entry found",da="Entry data out of bounds",Ea="Ambiguous archive",pa="Encrypted central directory is not supported",ma="Unsafe filename",ha="Invalid strictness (must be \'strict\', \'balanced\' or \'tolerant\')",ga="Invalid filenameValidation (must be \'strict\', \'balanced\' or \'tolerant\')",Ra="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",wa="64-bit value exceeds Number.MAX_SAFE_INTEGER",_a="unsorted central directory",Ta="unknown version needed to extract",Aa="compressed patched data",ci="malformed extra field",ya="unknown zip64 extensible data",js="wrapped entries count",Ks="appended data",qs="prepended data",Sa="prepended central directory",Ia="trailing central directory data",ba="duplicate filename",Pr="mismatched zip64 end of central directory record",Na="multiple end of central directory records",Oa="mismatched local file header (filename)",Da="mismatched local file header (general purpose bit flag)",Pa="mismatched local file header (compression method)",xa="mismatched local file header (crc32 or sizes)",Ap=63,yp=/^[a-zA-Z]:/,Sp=/(^|[\\\\/])\\.\\.([\\\\/]|$)/,Nf="utf-8",Ip="UTF8",Of="cp437",Df=2057,Hf=1,bp=[[wn,4294967295],[yo,4294967295],[So,4294967295],[Io,65535]],Pf={65535:{getValue:v,bytes:4},4294967295:{getValue:Le,bytes:8}},Np=BigInt(Number.MAX_SAFE_INTEGER),Op=64,Dp=1032,xf=0,Ca=1,Js=2,zt=class{constructor(e,r={}){Object.assign(this,{reader:new mt(e),options:r,readRanges:{indexes:new Set,sortedRanges:[],pendingRanges:[]}})}async*getEntriesGenerator(e={}){let r=this,{reader:n}=r;if(await ge(n),(n.size===w||!n.readUint8Array)&&(n=new $e(await ut(n.readable)),await ge(n)),n.size<22)throw new Error(Dr);let s=r.warnings=[],i=La(e,r.options),o=i==Dt,a=i!=at,c=Zf(oe(r,e,Ui),i),f=Vp(oe(r,e,Yc),i),R=oe(r,e,Wc),{endOfDirectoryInfo:p,endOfDirectoryReachingEndCount:l}=await jf(n,a,c);if(!p)throw await Bp(n)?new Error(Zs):new Error(oa);a&&l>1&&Gs(Na);let h=L(p),m=v(h,12),d=v(h,16),E=p.offset,u=V(h,20),g=E+22+u,_=n.size-g;_>c&&Gs(Ks),_>0&&Te(s,Ks);let A=V(h,4),T=n.lastDiskNumber||0,y=V(h,6),S=V(h,10),I=0,N,U,H,q,$=56,j,W=d==4294967295||m==4294967295||S==65535||y==65535;if(d!=4294967295&&y!=65535&&(d+=xr(n,y)),W){let J=p.offset>=20?await re(n,p.offset-20,20):Z,b=L(J);if(J.length==20&&v(b,0)==117853008){d=xr(n,v(b,4))+Le(b,8);let Y=await re(n,d,56),Q=L(Y),pe=p.offset-20-56;if((Y.length<56||v(Q,0)!=101075792)&&d!=pe&&pe>=0){let xe=d;d=pe,d>xe&&(I=d-xe),Y=await re(n,d,56),Q=L(Y)}if(Y.length<56||v(Q,0)!=101075792)throw new Error(aa);if(H=!0,q=Le(Q,4)>44,q){let xe=Math.min(Le(Q,4)-44,n.size-d-56);if(xe>0){$+=xe;let Ke=await re(n,d+56,xe);j=Cp(Ke)}}A==65535?A=v(Q,16):A!=v(Q,16)&&tt(o,s,Pr),y==65535?y=v(Q,20):y!=v(Q,20)&&tt(o,s,Pr),S==65535?S=Le(Q,32):S!=Le(Q,32)&&tt(o,s,Pr),m==4294967295?m=Le(Q,40):m!=Le(Q,40)&&tt(o,s,Pr),d=xr(n,y)+Le(Q,48)+I}}let F=m,ne=p.offset-(H?$+20:0);if(d>=n.size&&(I=n.size-d-m-22,d=n.size-m-22),T!=A)throw new Error(Zs);if(d<0)throw new Error(Dr);let z=0,X=await re(n,d,m),M=L(X);if(m){if(X.length<4)throw new Error(Dr);let J=ne-m;if(d!=J&&y==A){let b=v(M,z)==33639248||!!(j&&j.compressedSize)||Vo(M),Y=!b;if(!Y&&J>=0&&J+4<=n.size){let Q=await re(n,J,4);Y=v(L(Q),0)==33639248}if(Y){let Q=d;d=J,d>Q&&(I+=d-Q,N=b),X=await re(n,d,m),M=L(X)}}}let G=ne-d;if(m!=G&&G>=0&&y==A&&(m=G,X=await re(n,d,m),M=L(X)),d<0||d>=n.size)throw new Error(Dr);r.directoryOffset=d,r.directoryLength=F;let Ee=Bf(r,e,Gc),me,it;if(Ee&&S&&X.length>=4&&v(M,0)!=33639248&&(q||Vo(M))){let J=xp(j,F,X.length);it=X.subarray(J),X=await Ee(X.subarray(0,J),j),M=L(X),F=X.length,me=!0}j&&!me&&(X.length<4||v(M,0)==33639248)&&Te(s,ya),U=d;let Me=oe(r,e,mc),ve=oe(r,e,hc),je=new Set,Ne,Oe=-1,De=!o&&!H;!S&&De&&(S=Cf(M,X,z),S&&Te(s,js));for(let J=0;J<S;J++){let b=new jo(n,r.options);if(z+46>X.length||v(M,z)!=33639248)throw J==0&&!me&&(q||Vo(M))?new Error(pa):new Error(ca);Wf(b,M,z+6);let Y=!!b.bitFlag.languageEncodingFlag,Q=z+46,xe=Q+b.filenameLength+b.extraFieldLength,Ke=V(M,z+4),Ht=Ke>>8==0,Wr=Ke>>8==3,Yt=V(M,z+32),Ye=xe+Yt,yt=new Uint8Array(X.subarray(Q,Ye)),ot=yt.subarray(0,b.filenameLength),de=yt.subarray(b.filenameLength+b.extraFieldLength),ye=Y||!Me&&fo(ot),Yn=Y||!ve&&fo(de),St=v(M,z+38),It=St&255,Wn={readOnly:!!(It&1),hidden:!!(It&2),system:!!(It&4),directory:!!(It&16),archive:!!(It&32)},Pi=v(M,z+42),Gr=Bf(r,e,gc)||fn,Wt=ye?Nf:Me||Of,bt=Yn?Nf:ve||Of,he=Gr(ot,Wt,ns);if(he===w&&(he=fn(ot,Wt)),R){let ze=R(he);ze!==w&&(he=ze)}if(Xp(he,f)){let ze=new Error(ma);throw ze.filename=he,ze}let Vr=Gr(de,bt,ss);Vr===w&&(Vr=fn(de,bt)),Object.assign(b,{index:J,decryptedDirectory:me,versionMadeBy:Ke,msDosCompatible:Ht,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:Yt,offset:Pi,diskNumberStart:V(M,z+34),internalFileAttributes:V(M,z+36),externalFileAttributes:St,msdosAttributesRaw:It,msdosAttributes:Wn,rawFilename:ot,filenameUTF8:ye,commentUTF8:Yn,rawExtraField:yt.subarray(b.filenameLength,b.filenameLength+b.extraFieldLength),rawComment:de,filename:he,comment:Vr}),Gf(b,b,M,z+6)&&Te(s,ci,he),b.offset+=I;let Gt=xr(n,b.diskNumberStart)+b.offset;U=Math.min(Gt,U),Gt<Oe&&Te(s,_a,he),Oe=Gt,(b.version&255)>Ap&&Te(s,Ta,he),(b.rawBitFlag&32)==32&&Te(s,Aa,he),je.has(b.filename)&&(Ne=!0),je.add(b.filename);let Nt=b.externalFileAttributes>>16&65535;b.unixMode===w&&(Nt&16877)!=0&&(b.unixMode=Nt);let Gn=!!(b.unixMode&2048),qe=!!(b.unixMode&1024),Vn=!!(b.unixMode&512),uc=((b.unixMode===w?Nt:b.unixMode)&61440)==40960,Hd=!uc&&(b.unixMode!==w?(b.unixMode&73)!=0:Wr&&(Nt&73)!=0),Yd=b.unixMode!==w&&(b.unixMode&61440)==16384,Wd=(Nt&61440)==16384;Object.assign(b,{setuid:Gn,setgid:qe,sticky:Vn,symlink:uc,unixExternalUpper:Nt,executable:Hd,directory:Yd||Wd||Ht&&Wn.directory||b.filename.endsWith("/"),zipCrypto:b.encrypted&&!b.extraFieldAES});let Xr=new ht(b);if(Xr.getData=(ze,Xn)=>b.getData(ze,Xr,r.readRanges,Xn),Xr.arrayBuffer=async ze=>{let Xn=new TransformStream,Ec=ut(Xn.readable).then(Gd=>Gd.arrayBuffer());return Ec.catch(()=>{}),await b.getData(Xn,Xr,r.readRanges,Object.assign({},ze,{preventClose:!1})),Ec},z=Ye,J==S-1&&De){let ze=Cf(M,X,z);ze&&(S+=ze,Te(s,js))}let{onprogress:dc}=e;if(dc)try{await dc(J+1,S,new ht(b))}catch{}yield Xr}let ae=z,Pe=Xo(X.subarray(z))||(me?Xo(it):w);if(!Pe&&!me){let J=d+z,b=Math.min(ne-J,65541);b>=6&&(Pe=Xo(await re(n,J,b)))}Pe&&(r.digitalSignature=Pe,ae=z+6+Pe.length),(z!=F&&ae!=F||!me&&z!=m&&ae!=m)&&tt(o,s,Ia),Ne&&tt(o,s,ba);let ke=oe(r,e,Rc),fe=oe(r,e,wc),te=(o||ke)&&S&&U==4&&await Hp(n)?4:0;return o&&(I||S&&U>te)&&Gs(qs),(I||S&&U>4)&&Te(s,qs),N&&Te(s,Sa),ke&&(r.prependedData=U>te?await re(n,te,U-te):Z),r.comment=u?await re(n,E+22,u):Z,fe&&(r.appendedData=g<n.size?await re(n,g,n.size-g):Z),!0}async getEntries(e={}){let r=[];for await(let n of this.getEntriesGenerator(e))r.push(n);return r}async close(){let{reader:e}=this;!e.readUint8Array&&e.readable&&!e.readable.locked&&await e.readable.cancel()}[jn](){return this.close()}},Qs=class{constructor(e={}){let r,{readable:n,writable:s}=new TransformStream({start(c){r=c}}),i=new zt(n,e),o=i.getEntriesGenerator(),a=new Set;this.readable=new ReadableStream({async pull(c){let{done:f,value:R}=await o.next();if(f)return c.close();let p=Pp(R,a),l={...R,readable:p.readable};delete l.getData,Object.defineProperties(l,{localDirectory:{get:()=>R.localDirectory,enumerable:!0},warnings:{get:()=>R.warnings,enumerable:!0}}),c.enqueue(l)},async cancel(c){let f=Array.from(a);a.clear(),r.error(c),await Promise.allSettled(f.map(R=>R.cancel(c))),await Promise.allSettled([o.return(),i.close()])}}),this.writable=s}};jo=class{constructor(e,r){Object.assign(this,{reader:e,options:r})}async getData(e,r,n,s={}){let i=this,o=ct(),{reader:a,index:c,offset:f,diskNumberStart:R,extraFieldAES:p,extraFieldZip64:l,compressionMethod:h,bitFlag:m,rawBitFlag:d,crc32:E,rawLastModDate:u,uncompressedSize:g,compressedSize:_}=i,{dataDescriptor:A}=m,T=r.localDirectory={},y=r.warnings=[],S=xr(a,R)+f,I=await re(a,S,30),N=L(I),U=oe(i,s,Kn),H=oe(i,s,qn),q=mr(oe(i,s,jr)),$=!!q,j=q===!0;if(os(U,H),U=U&&U.length?U:w,H=H&&H.length?H:w,p&&p.originalCompressionMethod!=99)throw new Error(dt);if(I.length<30||v(N,0)!=67324752)throw new Error(la);Wf(T,N,4);let{extraFieldLength:W,filenameLength:F}=T,ne=T.dataOffset=S+30+F+W,z=oe(i,s,Sc),X=La(s,i.options),M=Wp(z,X),G=oe(i,s,Ic),Ee=Gp(G===w?z:G,X),me=Z;if(Ee&&(F||W)){let de=await re(a,S+30,F+W);me=de.subarray(0,F),T.rawExtraField=de.subarray(F)}else T.rawExtraField=W?await re(a,S+30+F,W):Z;Ee&&(T.rawFilename=me),Gf(i,T,N,4,!0)&&Te(y,ci),jp(i,T,me,Ee,M?w:y);let{lastAccessDate:it,creationDate:Me,uid:ve,gid:je}=T;it&&(r.lastAccessDate=it),Me&&(r.creationDate=Me),ve!==w&&r.uid===w&&(r.uid=ve),je!==w&&r.gid===w&&(r.gid=je);let Ne=oe(i,s,_c),Oe=i.encrypted&&T.encrypted&&(!j||Ne),De=Oe&&!p;if(j||(r.zipCrypto=De),Oe&&(T.rawBitFlag&64)==64)throw new Error(Xs);let ae=$?w:gs(h);if(h!=0&&h!=8&&h!=9&&!ae&&!$)throw new Error(dt);if(Oe){if(!De&&(p.strength<1||p.strength>3))throw new Error(Xs);if(!U&&!H)throw new Error(ai)}if(ne+_>a.size)throw new Error(da);let Pe=_,ke=Jr(oe(i,s,Jn));Zt(ke);let fe=oe(i,s,Ac),te=oe(i,s,Tc);te&&(fe=!0);let{onstart:J,onprogress:b,onend:Y}=s,Q=h!=0&&!$,pe=$?_-yn(Oe,De,p&&p.strength):g,xe=h==9,Ke=oe(i,s,$n);xe&&(Ke=!1);let Ht=oe(i,s,Nc),Wr=(Ht===w?oe(i,s,bc):Ht)&&!$&&(!Oe||De||p&&p.vendorVersion==Hf),Yt={options:{codecType:Ns,password:U,rawPassword:H,zipCrypto:De,encryptionStrength:p&&p.strength,checkCrc32:Wr,checkAuthenticationCode:oe(i,s,Oc),passwordVerification:De&&(A?u>>>8&255:E>>>24&255),outputSize:pe,crc32:E,compressed:Q,encrypted:Oe,useWebWorkers:oe(i,s,Qn),useCompressionStream:Ke,transferStreams:oe(i,s,es),deflate64:xe,format:ae?ae.format:w,codecURI:ae?ae.codecURI:w,compressionMethod:h,rawBitFlag:d,checkPasswordOnly:Ne},config:o,streamOptions:{signal:ke,size:Pe,onstart:J,onprogress:b,onend:Y}};fe&&await vp({reader:a,fileEntry:r,index:c,offset:S,crc32:E,compressedSize:_,uncompressedSize:g,dataOffset:ne,dataDescriptor:A||T.bitFlag.dataDescriptor,extraFieldZip64:l||T.extraFieldZip64,readRanges:n});let Ye,yt,ot;try{if(!te){Ne&&(e=new WritableStream),e=new br(e),await ge(e,Yp(pe,_,Q)),{writable:Ye}=e;let de=He(a.createReadable({offset:ne,size:Pe})),{outputSize:ye}=await Ms({readable:de,writable:Ye},Yt);if(Zt(ke),ye!=pe)throw Object.assign(new Error(Qe),{outputSize:ye});e.size+=ye}}catch(de){let{outputSize:ye}=Yt;if(ye!==w?e.size+=ye:Re(de)&&de.outputSize!==w&&(e.size+=de.outputSize),!Ne||!Re(de)||de.message!=ft)throw yt=de,ot=!0,de}finally{if(!(!un(e)&&oe(i,s,ts))&&Ye&&!Ye.locked){let ye=Ye.getWriter();if(ot)try{await ye.abort(yt)}catch{}else await ye.close()}}return Ne||te?w:e.getData?e.getData():Ye}}});Ge();var as=new Uint8Array(288);as.fill(8,0,144),as.fill(9,144,256),as.fill(7,256,280),as.fill(8,280,288),new Uint8Array(30).fill(5);var lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fl=t=>t({workerURI:e=>{let r="text/javascript",n=`!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}function Ft(t){return Boolean(t)&&"object"==typeof t}const Ut=new f;function Bt(t){return Ut.get(t)}const Wt="Invalid uncompressed size",Ot="Codec out of memory",Vt="Invalid CRC32",Kt="deflate-raw",Tt="gzip",_t=[31,139,8];class jt extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Bt(l),b=Gt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Qt(g,y)),r)if(v)g=Xt(g,qt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new Ht,g=Xt(g,new b(Tt,{level:f,chunkSize:n})),g=Qt(g,S);else try{g=Jt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw en(t);let n;try{n=new o(Tt)}catch{throw en(t)}g=Xt(g,n),g=Qt(g,new Ht)}c&&(a?g=Qt(g,new Ct(t)):(m=new ht(t),g=Qt(g,m))),Nt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Ht extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Lt extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Qt(C,new zt(t)):(k=new pt(t),C=Qt(C,k))),l){const t=new Set,s=h&&Bt(h);let a;if(s)C=Xt(C,qt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=Gt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Tt,{chunkSize:n})}catch{a=v}if(!a)try{C=Jt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw en(t);try{a=new o(Tt)}catch{throw en(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(_t),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await tn(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Yt(a,t),await $t(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Wt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await $t(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw rn(t,Vt);if(d!=e)throw rn(t,Wt);return{done:!0}}throw nn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await $t(e,t),nn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Qt(C,b)),Nt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Vt)}})}}const Zt=new f;function Nt(t,e,o){e=Qt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function qt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function Gt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Jt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Kt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Xt(t,i,c)}function Qt(t,n){return Dt(t).pipeThrough(n)}function Xt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await tn(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Yt(o,t),await $t(r,t)}}(),n.readable}async function Yt(t,n){try{await t.abort(n)}catch{}}async function $t(t,n){try{await t.cancel(n)}catch{}}function tn(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function nn(t,n){return n.has(t)?t:rn(t,on(t)?Ot:"Invalid compressed data")}function en(t){return on(t)?rn(t,Ot):t}function on(t){return Ft(t)&&"Z_MEM_ERROR"==t.code}function rn(t,n){const e=new r(n);return e.cause=t,e}const cn="data",sn="deflate";class an extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(sn)?s=jt:c.startsWith("inflate")&&(s=Lt),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Wt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class fn extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let un=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(un=navigator.hardwareConcurrency)}catch{}const wn=new f,ln=new f,dn=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let pn=0;async function hn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ut.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ut.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Ft(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Zt.get(t);e||(e=new f,Zt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(sn)?i.CompressionStream:i.DecompressionStream,Kt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>wn.set(pn,t));yn({type:"pull",messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);ln.set(pn,n),yn({type:cn,value:t,messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new an(a,i),c=new fn(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):65536;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;yn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Ft(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}mn(t,n)}}function yn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function mn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Ft(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Ft(i)&&(u.cause={name:i.name,message:i.message}),f&&(u.codecImportFailed=!0),dn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&hn(t),n==cn){const t=wn.get(e);wn.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=ln.get(e);ln.delete(e),t()}}catch(t){mn(t)}}),p({type:"ready"});const Sn="deflate",gn="deflate-raw",vn="deflate64-raw",bn="gzip",kn=[Sn,gn,bn],zn=[Sn,gn,bn,vn];let Cn,In,Mn,An,En;function Rn(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function xn(t,n,e={}){if(!(t?kn:zn).includes(n))throw new TypeError("Unsupported format: "+n);if(!Cn){const t=new r("WASM module not loaded");throw t.cause=En,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=In(a),f.in=In(i),f.inBufferSize=i,!f.M||!f.in)throw Rn(new r("allocation failed"),-4);if(t?(f.P=Cn.deflate_process,f.D=Cn.deflate_last_consumed,f.F=Cn.deflate_end,f.A=Cn.deflate_new(),e=n===bn?Cn.deflate_init_gzip(f.A,s):n===gn?Cn.deflate_init_raw(f.A,s):Cn.deflate_init(f.A,s)):n===vn?(f.P=Cn.inflate9_process,f.D=Cn.inflate9_last_consumed,f.F=Cn.inflate9_end,f.A=Cn.inflate9_new(),e=Cn.inflate9_init_raw(f.A)):(f.P=Cn.inflate_process,f.D=Cn.inflate_last_consumed,f.F=Cn.inflate_end,f.A=Cn.inflate_new(),e=n===gn?Cn.inflate_init_raw(f.A):n===bn?Cn.inflate_init_gzip(f.A):Cn.inflate_init(f.A)),0!==e)throw Rn(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(An.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&Mn&&(Mn(f.in),f.in=0),f.in=In(c),f.inBufferSize=c,!f.in))throw Rn(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw Rn(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(An.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw Rn(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=Rn(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&Mn&&Mn(t.in),t.in=0,t.M&&Mn&&Mn(t.M),t.M=0,n}}class Pn{constructor(t=Sn,n){return xn(!0,t,n)}}class Dn{constructor(t=Sn,n){return xn(!1,t,n)}}Pn.requiresModule=!0,Dn.requiresModule=!0,Pn.supportedFormats=kn,Dn.supportedFormats=zn;const Fn=65536;let Un,Bn;function Wn(t){return new c(t.memory.buffer)}let On=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:Pn,DecompressionStreamFallback:Dn,U:function(t,n){const e=Un;let o=e?function(t,n,e){Bn||(Bn=t.malloc(Fn));const o=Bn?t.aes_hmac_new():0;if(o){const r=Wn(t);if(r.set(n,Bn),r.set(e,Bn+n.length),t.aes_hmac_init(o,Bn,n.length,Bn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Bn;return{process(t,n){for(let c=0;c<t.length;c+=Fn){const s=t.subarray(c,c+Fn),a=Wn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Wn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!On)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(Cn=t,({malloc:In,free:Mn,memory:An}=Cn),"function"!=typeof In||"function"!=typeof Mn||!An)throw Cn=In=Mn=An=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Un=a,Bn=0)}(t,n),On=!0}catch(t){throw function(t){En=t}(t),t}}(t.wasmURI,t)})});\n`;if(typeof n=="string"&&(n=new TextEncoder().encode(n)),e){let s=new Blob([n],{type:r});return URL.createObjectURL(s)}return"data:"+r+";base64,"+(function(s){let i="",o=s.length,a=0;for(;a+2<o;a+=3){let f=s[a]<<16|s[a+1]<<8|s[a+2];i+=lt[f>>18&63]+lt[f>>12&63]+lt[f>>6&63]+lt[63&f]}let c=o-a;if(c===1){let f=s[a]<<16;i+=lt[f>>18&63]+lt[f>>12&63]+"=="}else if(c===2){let f=s[a]<<16|s[a+1]<<8;i+=lt[f>>18&63]+lt[f>>12&63]+lt[f>>6&63]+"="}return i})(n)}});Ge();ue();Ct();jt();Os();Sr();var of={type:"module"},io="error",FE="messageerror",af="abort",cf,so,lf,oo=!0;try{oo=typeof structuredClone==K&&structuredClone(new DOMException("","AbortError")).code!==w}catch{}rf(ME);function ME(t,e){let{baseURI:r,chunkSize:n,workerStartupTimeout:s}=e,{wasmURI:i}=e;if(!t.interface){typeof i==K&&(i=i());let o;try{o=Ls(t.workerURI,r,t)}catch{return ro(t),no(t,e)}Object.assign(t,{worker:o,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await vE(t,{chunkSize:n,wasmURI:i,baseURI:r,workerStartupTimeout:s})}catch(a){if(a&&a.workerStartupFailed)return ro(t),ff(t),Cs(t,e);if(a&&a.codecImportFailed){if(t.reader)return ff(t),Cs(t,e);t.onTaskFinished()}throw a}}}})}return t.interface}async function vE(t,e){if(!t.worker){let{startupError:h}=t;t.startupError=null;let m=h||new Error(er);throw m.workerStartupFailed=!0,m}let r,n,s=new Promise((h,m)=>{r=h,n=d=>{let{outputSize:E,workerOptions:u}=t;if(u.outputSize=E,Re(d))try{d.outputSize=E}catch{}m(d)}});Object.assign(t,{reader:null,writer:null,outputSize:0,destinationFailed:!1,destinationError:null,resolveResult:r,rejectResult:n,result:s});let{readable:i,options:o}=t,{writable:a,closed:c,abortPipe:f}=kE(t.writable,t),R;try{R=ao({type:ql,options:o,config:e,readable:i,writable:a},t)}catch(h){f();try{await c}catch{}throw t.onTaskFinished(),h}R||Object.assign(t,{reader:i.getReader(),writer:a.getWriter()});let{workerStartupTimeout:p}=e;!t.workerAlive&&Number.isFinite(p)&&p>=0&&(t.startupTimeout=setTimeout(()=>zE(t),p));try{let h=await s;return await l(),await c,h}catch(h){await l(),f();try{await c}catch{}let{outputSize:m,workerOptions:d,destinationFailed:E,destinationError:u}=t;d.outputSize=m;let g=Re(h)&&(h.codecImportFailed||h.workerStartupFailed),_=E&&!g?u:h;if(Re(_))try{_.outputSize=m}catch{}throw _}async function l(){if(!R&&!a.locked)try{await a.getWriter().close()}catch{}}}function kE(t,e){let r=new AbortController,n,{writable:s,readable:i}=new TransformStream({transform(c,f){e.outputSize+=c.length,f.enqueue(c)}}),o=i.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});o.catch(c=>{n||Object.assign(e,{destinationFailed:!0,destinationError:c})});let{signal:a}=e.workerOptions.streamOptions;if(a){let c=()=>r.abort(a.reason),f=()=>a.removeEventListener(af,c);a.addEventListener(af,c),o.then(f,f)}return{writable:s,closed:o,abortPipe:()=>{n=!0,r.abort()}}}function ff(t){let{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function co(t){let{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function Ls(t,e,r,n,s=!0){let{createWorker:i}=r,o,a,c;if(i)o=i();else if(so===w||cf!==t){let f=typeof t==K;f?a=t(s):a=t;let R=a.startsWith("data:"),p=a.startsWith("blob:");if(R||p){n===w&&(n=!1),n&&(c=of);try{o=new Worker(a,c)}catch(l){if(p)try{URL.revokeObjectURL(a)}catch{}if(f&&p)return Ls(t,e,r,n,!1);if(n)throw l;return Ls(t,e,r,!0,!1)}}else{n===w&&(n=!0),n&&(c=of);try{a=new URL(a,e)}catch{}try{o=new Worker(a,c)}catch(l){if(n)return Ls(t,e,r,!1,s);throw l}}cf=t,so=a,lf=c}else o=new Worker(so,lf);return o.addEventListener(Kl,f=>{r.workerAlive=!0,df(r),BE(f,r)}),o.addEventListener(io,f=>uf(f,r)),o.addEventListener(FE,f=>uf(f,r)),o}function zE(t){if(t.startupTimeout=null,t.workerAlive)return;let{rejectResult:e,writer:r}=t;if(co(t),t.worker=null,e){let n=new Error(er);n.workerStartupFailed=!0,e(n),r&&r.releaseLock()}}function df(t){let{startupTimeout:e}=t;e&&(clearTimeout(e),t.startupTimeout=null)}function uf(t,e){t.preventDefault&&t.preventDefault(),df(e);let{workerAlive:r,rejectResult:n,writer:s,onTaskFinished:i}=e;co(e),r||(e.worker=null);let o=t.error||new Error(t.message||io);r||(o=Object.assign(new Error(o.message||io),{workerStartupFailed:!0}),e.startupError=o),n&&(n(o),s&&s.releaseLock(),r&&i())}function ao(t,{worker:e,writer:r,transferStreams:n,workerAlive:s}){try{let{value:i,readable:o,writable:a}=t,c=[];if(i&&(t.value=cs(i),c.push(t.value.buffer)),n&&oo&&s?(o&&c.push(o),a&&c.push(a)):t.readable=t.writable=null,c.length)try{return e.postMessage(t,c),!0}catch{oo=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(i){throw r&&r.releaseLock(),i}}async function BE({data:t},e){let{type:r,value:n,messageId:s,result:i,error:o,errorValue:a}=t,{reader:c,writer:f,resolveResult:R,rejectResult:p,onTaskFinished:l,generation:h}=e,m=()=>e.generation!=h;try{if(o)d(HE(o,a));else{if(r==Jl){let{value:g,done:_}=await c.read();m()||ao({type:$i,value:g,done:_,messageId:s},e)}if(r==$i){let g=new Uint8Array(n);await f.ready,await f.write(g),m()||ao({type:Ql,messageId:s},e)}r==$l&&E(i)}}catch(g){m()||(co(e),d(g))}function d(g){m()||(p(g),u(),Re(g)&&g.codecImportFailed||l())}function E(g){m()||(R(g),u(),l())}function u(){f&&f.releaseLock()}}function HE(t,e){let{message:r,stack:n,code:s,name:i,outputSize:o,cause:a,codecImportFailed:c}=t,f;if(e?f=e.value:f=Object.assign(new Error(r),{stack:n,code:s,name:i}),Re(f))try{o!==w&&(f.outputSize=o),c&&(f.codecImportFailed=!0),a&&!Re(f.cause)&&(f.cause=Object.assign(new Error(a.message),{name:a.name})),e&&(f.name!==i&&(f.name=i),f.code!==s&&(f.code=s))}catch{}return f}li();ue();Ge();Jt();Sr();vs();dn();Hi();Ct();mo();Kt();jt();Ws();gr();var Wa="File already exists",Ga="Zip file comment exceeds 64KB",du="Invalid zip file comment (must be a Uint8Array)",Eu="File entry comment exceeds 64KB",pu="Invalid file entry comment (must be a string)",mu="Invalid date (must be a valid Date instance)",hu="File entry name exceeds 64KB",Va="Version exceeds 65535",gu="The strength must equal 1, 2, or 3",Ru="Encryption is not supported in USDZ files",wu="Split zip files are not supported in USDZ files",_u="Encryption is not supported when the \'passThrough\' option is set to true (use \'compressed\' instead)",Tu="Invalid extra field (must be a Map)",Au="Invalid extra field type (must be integer 0..65535)",yu="Invalid extra field data (must be a Uint8Array)",gi="Extra field data exceeds 64KB",Su=-2147483648,Iu=2147483647,tu=BigInt(0),ru=BigInt("0x7fffffffffffffff"),Ri="Zip64 is not supported (set the \'zip64\' option to \'true\')",bu="Undefined uncompressed size",Nu="Undefined compression method",Ou="Undefined CRC32";var Du="Undefined reader",Pu="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a \'readable\' property)",xu="Zip file not empty",Cu="Invalid uid (must be integer 0..2^32-1)",Lu="Invalid gid (must be integer 0..2^32-1)",Uu="Invalid UNIX mode (must be integer 0..65535)",Fu="Invalid unixExtraFieldType (must be \'infozip\' or \'unix\')",Mu="uid/gid must be 0..65535 for unixExtraFieldType \'unix\' (use \'infozip\' for larger ids)",vu="Invalid msdosAttributesRaw (must be integer 0..255)",ku="Invalid msdosAttributes (must be an object with boolean flags)",zu="Invalid level (must be integer 0..9)",Bu="Signature data exceeds 64KB",Hu="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Yu="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Wu="compression unavailable",Gu="clamped last modification date",nu=new Uint8Array([7,0,2,0,65,69,3,0,0]),om=4,am=9,cm=67,lm=32,fm=126,um=1,Ei="infozip",pi="unix",dm=[8,9,5,3],Em=9,Ua=0,su=[],mi=class{constructor(e,r={}){e=new br(e);let{availableSize:n=Vt,maxSize:s=Vt}=e,i=n>0&&n!==Vt&&s>0&&s!==Vt;if(i&&r[Xt])throw new Error(wu);Object.assign(this,{writer:e,addSplitZipSignature:i,options:r,fileEntries:new Map,filenames:new Set,offset:r[Kr]===w?e.size||e.writable.size||0:r[Kr],initialOffset:r[Kr]===w?0:r[Kr]-(e.size||e.writable.size||0),pendingAddFileCalls:new Set,pendingErrors:[],warnings:[],bufferedWrites:0,directWrites:0,lastFileEntry:w,archiveClosed:!1})}prependZip(e){return Fa(this,pm(this,e))}appendZip(e){return Fa(this,this.appendZipEntries(e))}async appendZipEntries(e){let r=this,{pendingAddFileCalls:n,filenames:s,fileEntries:i}=r;for(;n.size;)await Promise.allSettled(Array.from(n));let o,a=new Promise(R=>o=R);n.add(a);let c=[],f;try{e=new mt(e),await ge(e),(e.size===w||!e.readUint8Array)&&(e=new $e(await ut(e.readable)),await ge(e));let{ZipReader:R}=await Promise.resolve().then(()=>(li(),Jf)),p=new R(e),l=await p.getEntries();await p.close(),await ge(r.writer);let{directoryOffset:h}=p;l.forEach(({filename:E})=>{if(s.has(E))throw new Error(Wa);s.add(E),c.push(E)}),r.writerLocked=!0;let{lockWriter:m}=r;r.lockWriter=new Promise(E=>f=()=>{r.writerLocked=!1,E()}),await m,r.addSplitZipSignature&&(delete r.addSplitZipSignature,await Um(e)||(await nt(r.writer,Zu()),r.offset+=4));let d=await Fm(r,e,l,h);l.forEach(E=>{let{version:u,rawLastModDate:g,rawFilename:_,bitFlag:A,encrypted:T,uncompressedSize:y,compressedSize:S,extraFieldZip64:I}=E,{compressionMethod:N,rawExtraField:U}=E,{level:H,languageEncodingFlag:q,dataDescriptor:$}=A;U=Xu(U||Z),E.extraFieldAES&&(N=99);let j=B(U),W=!!I&&I.uncompressedSize!==w,F=!!I&&I.compressedSize!==w,ne=qu(H,q,$,T,N)&-7|H<<1,{headerArray:z,headerView:X}=Ku({version:u,bitFlag:ne,compressionMethod:N,uncompressedSize:y,compressedSize:S,rawLastModDate:g,rawFilename:_,zip64CompressedSize:F,zip64UncompressedSize:W,extraFieldLength:j}),{crc32:M}=E;M!==w&&_e(X,10,M);let{offset:G,diskNumberStart:Ee}=d.get(E);Object.assign(E,{zip64Enabled:!0,zip64UncompressedSize:W,zip64CompressedSize:F,offset:G,diskNumberStart:Ee,zip64DiskNumberStart:!1,rawExtraFieldZip64:Z,rawExtraFieldAES:Z,rawExtraFieldExtendedTimestamp:Z,rawExtraFieldNTFS:Z,rawExtraFieldUnix:Z,rawExtraField:U,rawCentralExtraField:Z,headerArray:z,headerView:X}),i.set(E.filename,E)})}catch(R){throw c.forEach(p=>s.delete(p)),R}finally{o(),n.delete(a),f&&f()}}add(e="",r,n={}){let s=this,{pendingAddFileCalls:i}=s,o=mm(s,e,r,n);i.add(o);let a=()=>i.delete(o);return Promise.prototype.then.call(o,a,a),Fa(s,o)}remove(e){let{filenames:r,fileEntries:n}=this;if(typeof e==We&&(e=n.get(e)),e&&e.filename!==w){let{filename:s}=e;if(r.has(s)&&n.has(s))return r.delete(s),n.delete(s),!0}return!1}async close(e=Z,r={}){let n=this,{pendingAddFileCalls:s,writer:i}=this,{writable:o}=i;if(n.archiveClosed)return iu(i);if(!(e instanceof Uint8Array))throw new Error(du);if(B(e)>65535)throw new Error(Ga);for(;s.size;)await Promise.allSettled(Array.from(s));await Promise.allSettled(n.pendingErrors.map(f=>f.recorded));let a=n.pendingErrors.filter(f=>f.failed&&!f.observed);if(a.length){let f=a.map(p=>p.error);a.forEach(p=>p.observed=!0);let[R]=f;try{R.entryErrors=f}catch{}throw R}return await Dm(n,e,r),n.archiveClosed=!0,!un(i)&&k(n,r,ts)||await o.getWriter().close(),iu(i)}[jn](){return this.close()}};var Ba=class extends Promise{then(e,r){let{watcher:n}=this;return n&&(n.observed=!0),super.then(e,r)}};function iu(t){return t.getData?t.getData():t.writable}function Fa(t,e){let r=new Ba((s,i)=>Promise.prototype.then.call(e,s,i)),n={};return r.watcher=n,n.recorded=Promise.prototype.then.call(r,w,s=>Object.assign(n,{failed:!0,error:s})),t.pendingErrors.push(n),r}async function pm(t,e){if(t.filenames.size)throw new Error(xu);await t.appendZipEntries(e)}async function mm(t,e,r,n){n=Object.assign({},n);let s=n[Fi];if(s!==w){let{entryOptions:i,passThroughOptions:o}=Vu(s,mr(k(t,n,jr)),k(t,n,sr));delete n[Fi],n=Object.assign(i,o,n)}if(k(t,n,ir)&&!e.endsWith("/")&&(e+="/"),t.filenames.has(e))throw new Error(Wa);t.filenames.add(e),Ua<ct().maxWorkers?Ua++:await new Promise(i=>su.push(i));try{return await hm(t,e,r,n)}catch(i){throw t.filenames.delete(e),i}finally{let i=su.shift();i?i():Ua--}}async function hm(t,e,r,n){let s=Rm(t,e,n);({name:e}=s);let i=wm(t,e,n),{comment:o}=i,a=n[An];t.fileEntries.set(e,w);let c=t.lastFileEntry,f={},R;i.resolvedOptions.keepOrder&&(f.lockFileEntry=new Promise(l=>R=l)),t.lastFileEntry=f;let p;try{let{resolvedOptions:l}=i;l.level!=0&&l.compressionMethod===w&&!l.passThroughCompression&&!await nf(ct())&&(l.level=0,Te(t.warnings,Wu,e));let h=await _m(t,r,i,n);({reader:r}=h);let m=Pn(t.writer),d=wt(t.writer),E=n.crc32===w?n[Ys]:n.crc32,u=h.resolvedOptions.encrypted&&!l.zipCrypto;if(l.passThroughCompression&&!l.passThroughEncryption&&u&&(E=w),l.passThroughCompression&&r&&!u&&E===w)throw new Error(Ou);n=Object.assign({},n,s.resolvedOptions,i.resolvedOptions,h.resolvedOptions,{signature:n[Ys],crc32:E,offset:t.offset-m,diskNumberStart:d,[Xt]:t.options[Xt]});let g=Sm(n);g.lastModDateClamped&&Te(t.warnings,Gu,e);let _=bm(n),A=B(g.localHeaderArray,_.dataDescriptorArray);p=await Am(t,e,r,{headerInfo:g,dataDescriptorInfo:_,metadataSize:A,fileEntry:f,previousFileEntry:c,releaseLockFileEntry:R},n)}catch(l){throw t.fileEntries.delete(e),l}finally{R&&R(c&&c.lockFileEntry)}return Object.assign(p,{name:e,comment:o,extraField:a}),new ht(p)}function Vu(t,e,r){if(t===null||typeof t!=Zn||Array.isArray(t))throw new Error(Hu);let{externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:o,rawLastModDate:a,creationDate:c,lastAccessDate:f,uncompressedSize:R,encrypted:p,zipCrypto:l,crc32:h,compressionMethod:m,extraFieldAES:d,extraFieldUnix:E,internalFileAttributes:u,extraField:g,bitFlag:_,directory:A,uid:T,gid:y}=t,S={externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:o,creationDate:c,lastAccessDate:f,internalFileAttributes:u,directory:A};_&&_.languageEncodingFlag&&(S[Ci]=!0);let I=yf(g);I&&(S[An]=I),(T!==w||y!==w)&&Object.assign(S,{uid:T,gid:y,unixExtraFieldType:E?pi:Ei});let N={};if(e&&!A){if(Object.assign(N,{uncompressedSize:R,crc32:h,compressionMethod:m}),e!==qr&&Object.assign(N,{encrypted:p,zipCrypto:l,encryptionStrength:d?d.strength:w}),_&&(N.dataDescriptor=_.dataDescriptor,N[rs]=dm[_.level]),r===w)N.rawLastModDate=a;else if(e!==qr&&l&&(!_||_.dataDescriptor)&&r instanceof Date&&gm(r)!=(a>>>8&255))throw new Error(Yu)}return{entryOptions:S,passThroughOptions:N}}function gm(t){let e=new Date(Math.ceil(Math.floor(t.getTime()/1e3)/2)*2e3);return e<Ot?e=Ot:e>Zr&&(e=Zr),(e.getHours()<<3|e.getMinutes()>>3)&255}function Rm(t,e,r){let n=k(t,r,Co),s=k(t,r,Fo,n?20:768),i=k(t,r,vo),o=vr(t,r,zo),a=vr(t,r,Bo),c=vr(t,r,Ho),f=k(t,r,kc),R=k(t,r,Yo),p=k(t,r,Wo),l=k(t,r,Go);if(hr(o,4294967295,Cu),hr(a,4294967295,Lu),hr(c,65535,Uu),f!==w&&f!==Ei&&f!==pi)throw new Error(Fu);if(f===pi&&(o!==w&&o>65535||a!==w&&a>65535))throw new Error(Mu);f===w&&(o!==w||a!==w)&&(f=Ei);let h=vr(t,r,Po),m=k(t,r,xo),d=o!==w||a!==w||c!==w||f||i,E=h!==w||m!==w;if(d?(n=!1,s=s&255|768):E&&(n=!0,s=s&255),hr(h,255,vu),m&&(typeof m!==Zn||Array.isArray(m)))throw new Error(ku);if(s>65535)throw new Error(Va);let u=k(t,r,Do),g=u!==w;g||(u=0),!r[ir]&&e.endsWith("/")&&(r[ir]=!0);let _=k(t,r,ir);if(_?(e.endsWith("/")||(e+="/"),g||(u=16,n||(u|=16877<<16))):!n&&!g&&(i?u=493<<16:u=420<<16),!n){let y=c!==w||!!(R||p||l),S=u>>16&65535;c=c===w?S:c&65535,R?c|=2048:R=!!(c&2048),p?c|=1024:p=!!(c&1024),l?c|=512:l=!!(c&512),(!g||y)&&(_?c=c&-61441|16384:c&61440||(c|=32768),u=(c&65535)<<16|u&65535)}({msdosAttributesRaw:h,msdosAttributes:m}=Im(h,m)),E&&(u=u&4294967295|h&255);let A=u>>16&65535,T=c!==w&&(c&61440)==40960;return{name:e,resolvedOptions:{versionMadeBy:s,msDosCompatible:!!n,externalFileAttributes:u,unixExternalUpper:A,uid:o,gid:a,unixMode:c,unixExtraFieldType:f,symlink:T,setuid:R,setgid:p,sticky:l,msdosAttributesRaw:h,msdosAttributes:m}}}function wm(t,e,r){let n=Ha(t,r,vc)||Rr,s=n(e,ns);if(s===w&&(s=Rr(e)),B(s)>65535)throw new Error(hu);let i=r[Rn]||"";if(typeof i!=We)throw new Error(pu);let o=n(i,ss);if(o===w&&(o=Rr(i)),B(o)>65535)throw new Error(Eu);let a=k(t,r,Uo);if(a!==w&&a>65535)throw new Error(Va);let c=za(t,r,sr,new Date),f=k(t,r,Or),R=za(t,r,_n),p=za(t,r,Tn),l=k(t,r,Oo,0),h=mr(k(t,r,jr)),m=!!h,d=h===!0,E=k(t,r,Kn),u=k(t,r,qn);os(E,u),E=E&&E.length?E:w,u=u&&u.length?u:w;let g=vr(t,r,Dc,3),_=k(t,r,Mo),A=k(t,r,Pc,!0),T=k(t,r,xc),y=k(t,r,Cc,!0),S=k(t,r,Qn),I=k(t,r,es),N=k(t,r,Lc),U=Ha(t,r,Uc),H=k(t,r,Fc,!0),q=Jr(k(t,r,Jn));Zt(q);let $=k(t,r,Ci,!uu(s)||!uu(o)),j=k(t,r,ko),W=m||j===w?w:gs(j);if(!m&&j!==w&&j!==0&&j!==8&&!W)throw new Error(dt);let F=vr(t,r,rs);if(hr(F,Em,zu),t.options[Xt]){if(E!==w||u!==w)throw new Error(Ru);F===w&&j===w&&(F=0)}m&&(F=Pt(r[rs]));let ne=k(t,r,$n),z=k(t,r,Li);N&&z===w&&(z=!1),(z===w||_&&!d)&&(z=!0),F!==w&&F!=6&&(ne=!1);let X=k(t,r,Hs);if(!_&&(E!==w||u!==w)&&!(Number.isInteger(g)&&g>=1&&g<=3))throw new Error(gu);let M=Ma(r[An]),G=Ma(r[zc]),Ee=Ma(r[Bc]);return{comment:i,resolvedOptions:{rawFilename:s,rawComment:o,version:a,lastModDate:c,rawLastModDate:f,lastAccessDate:R,creationDate:p,internalFileAttributes:l,passThroughCompression:m,passThroughEncryption:d,password:E,rawPassword:u,encryptionStrength:g,zipCrypto:_,extendedTimestamp:A,ntfsTimestamp:T,keepOrder:y,useWebWorkers:S,transferStreams:I,bufferedWrite:N,createTempStream:U,dataDescriptorSignature:H,signal:q,useUnicodeFileNames:$,compressionMethod:j,format:W?W.format:w,codecURI:W?W.codecURI:w,codecVersionNeeded:W?W.versionNeeded:w,level:F,useCompressionStream:ne,dataDescriptor:z,zip64:X,rawExtraField:M,rawLocalExtraField:G,rawCentralExtraField:Ee}}}function Ma(t){if(!t)return Z;if(!(t instanceof Map))throw new Error(Tu);let e=0,r=0;t.forEach((i,o)=>{if(vi(o,65535,Au),!(i instanceof Uint8Array))throw new Error(yu);if(B(i)>65535)throw new Error(gi);e+=4+B(i)});let n=new Uint8Array(e),s=L(n);return t.forEach((i,o)=>{rt(s,r,o),rt(s,r+2,B(i)),Ln(n,i,r+4),r+=4+B(i)}),n}async function _m(t,e,{resolvedOptions:r},n){if(r.passThroughCompression&&!e&&!k(t,n,ir))throw new Error(Du);let s;if(e){if(e=new mt(e),await ge(e),!e.readable&&!e.readUint8Array)throw new Error(Pu);({size:s}=e)}return Object.assign({reader:e},Tm(t,!!e,s,r,n))}function Tm(t,e,r,n,s){let{passThroughCompression:i,passThroughEncryption:o,zipCrypto:a,password:c,rawPassword:f,encryptionStrength:R}=n,{dataDescriptor:p,zip64:l,level:h,compressionMethod:m}=n,d=0,E=0,u=!1;if(i&&e){if(E=s[wn],E===w)throw new Error(bu);if(m===w)throw new Error(Nu)}let g=l===!0,_=k(t,s,Lo);if(e&&o&&!_&&B(c,f))throw new Error(_u);let A=e&&(!!(c&&B(c)||f&&B(f))||o&&_);e||(h=0,m=0);let T=yn(A,a,R);e&&(i?(s.uncompressedSize=E,d=r===w?fu(E)+T:r+(o?0:T)):r===w?(p=!0,(l||l===w)&&(l=u=!0,d=4294967296)):(s.uncompressedSize=E=r,d=(Ya(m,h)?fu(E):E)+T));let y=!A&&(!e||r===0&&!i)&&!Ya(m,h);y&&k(t,s,Li)===w&&(p=!1);let S=g||u||E>=4294967295,I=g||d>=4294967295;if(S||I){if(l===!1)throw new Error(Ri);l=!0}return l=l||!1,{maximumCompressedSize:d,resolvedOptions:{dataDescriptor:p,emptyEntry:y,zip64:l,zip64Enabled:g,unknownSize:u,zip64UncompressedSize:S,zip64CompressedSize:I,uncompressedSize:E,level:h,compressionMethod:m,encrypted:A}}}async function Am(t,e,r,n,s){let{fileEntries:i,writer:o}=t,{keepOrder:a,dataDescriptor:c,emptyEntry:f,signal:R}=s,{headerInfo:p,fileEntry:l,previousFileEntry:h,releaseLockFileEntry:m}=n,d=t.options[Xt],E=l,u,g,_,A,T,y,S=0,I,N=a&&h?h.lockFileEntry:w;i.set(e,E);try{s.bufferedWrite||!a||t.writerLocked||t.bufferedWrites||t.directWrites||!c&&!f?(u=!0,t.bufferedWrites++,s.createTempStream?I=await s.createTempStream():I=new TransformStream(w,w,{highWaterMark:Vt}),I.size=0,await ge(o)):(g=!0,t.directWrites++,I=o,await N,await U()),await ge(I);let q=Pn(o);t.addSplitZipSignature&&!u&&await cu(t,o),d&&!u&&ou(n,t.offset-q);let{localHeaderArray:$}=p;u||await H();let j=wt(o),W=xn(t,o);if(E.diskNumberStart=j,u||(T=!0,y=o.size,await nt(I,$)),E=await ym(r,I,E,n,ct(),s),u||(T=!1),i.set(e,E),E.filename=e,u){if(await Promise.all([I.writable.getWriter().close(),N]),await U(),t.addSplitZipSignature&&await cu(t,o),A=!0,y=o.size,await H(),E.diskNumberStart=wt(o),E.offset=xn(t,o),d){let F=n.metadataSize;ou(n,t.offset-Pn(o)),E.size+=n.metadataSize-F}Om(E,p.localHeaderView,s),await nt(o,p.localHeaderArray),await ju(I.readable,o,R,F=>S+=F),o.size+=I.size,A=!1}else E.diskNumberStart=j,E.offset=W;return t.offset+=E.size,E}catch(q){if(A||T){if(t.hasCorruptedEntries=!0,q)try{q.corruptedEntry=!0}catch{}t.offset+=o.size-y,u&&(t.offset+=S)}throw i.delete(e),q}finally{if(u&&t.bufferedWrites--,g&&t.directWrites--,m&&m(N),_&&_(),u&&I&&I.dispose)try{await I.dispose()}catch{}}async function U(){t.writerLocked=!0;let{lockWriter:q}=t;t.lockWriter=new Promise($=>_=()=>{t.writerLocked=!1,$()}),await q}async function H(){kr(o,B(p.localHeaderArray))&&await o.closeDisk()}}async function ym(t,e,{diskNumberStart:r,lockFileEntry:n},s,i,o){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:f}=s,{headerArray:R,headerView:p,lastModDate:l,rawLastModDate:h,encrypted:m,compressed:d,version:E,compressionMethod:u,rawExtraFieldZip64:g,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N}=a,{dataDescriptorArray:U}=c,{rawFilename:H,lastAccessDate:q,creationDate:$,password:j,rawPassword:W,level:F,useUnicodeFileNames:ne,zip64:z,zip64Enabled:X,zip64UncompressedSize:M,zip64CompressedSize:G,zipCrypto:Ee,dataDescriptor:me,directory:it,executable:Me,versionMadeBy:ve,rawComment:je,rawExtraField:Ne,rawCentralExtraField:Oe,useWebWorkers:De,transferStreams:ae,onstart:Pe,onprogress:ke,onend:fe,signal:te,encryptionStrength:J,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:pe,uid:xe,gid:Ke,unixMode:Ht,symlink:Wr,setuid:Yt,setgid:Ye,sticky:yt,unixExternalUpper:ot,msdosAttributesRaw:de,msdosAttributes:ye,useCompressionStream:Yn,passThroughCompression:St,passThroughEncryption:It,format:Wn,codecURI:Pi}=o,Gr={lockFileEntry:n,versionMadeBy:ve,zip64:z,zip64Enabled:X,directory:!!it,executable:!!Me,filenameUTF8:!!ne,rawFilename:H,commentUTF8:!!ne,rawComment:je,rawExtraFieldZip64:g,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N,rawExtraField:Ne,rawCentralExtraField:Oe,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:pe,diskNumberStart:r,uid:xe,gid:Ke,unixMode:Ht,symlink:!!Wr,setuid:Yt,setgid:Ye,sticky:yt,unixExternalUpper:ot,msdosAttributesRaw:de,msdosAttributes:ye},{crc32:Wt,uncompressedSize:bt}=o,he=0;St||(bt=0);let{writable:Vr}=e;if(t){let Gt=t.size,Nt=He(po(t,{size:Gt})),Gn={options:{codecType:yr,inputSize:Gt,level:F,rawPassword:W,password:j,encryptionStrength:J,zipCrypto:m&&Ee,passwordVerification:m&&Ee&&h>>8&255,computeCrc32:!St,compressed:d&&!St,encrypted:m&&!It,useWebWorkers:De,useCompressionStream:Yn,transferStreams:ae,format:Wn,codecURI:Pi,compressionMethod:u},config:i,streamOptions:{signal:te,size:Gt,onstart:Pe,onprogress:ke,onend:fe}};try{let qe=await Ms({readable:Nt,writable:Vr},Gn);if(he=qe.outputSize,e.size+=he,Zt(te),St||(bt=qe.inputSize,(!m||Ee)&&(Wt=qe.crc32)),!G&&he>=4294967295||!M&&bt>=4294967295)throw new Error(Ri)}catch(qe){let{outputSize:Vn}=Gn;throw Vn!==w?e.size+=Vn:Re(qe)&&qe.outputSize!==w&&(e.size+=qe.outputSize),qe}}return Nm({crc32:Wt,compressedSize:he,uncompressedSize:bt,headerInfo:a,dataDescriptorInfo:c},o),me&&await nt(e,U),Object.assign(Gr,{uncompressedSize:bt,compressedSize:he,lastModDate:l,rawLastModDate:h,creationDate:$,lastAccessDate:q,encrypted:!!m,zipCrypto:!!Ee,size:f+he,compressionMethod:u,version:E,headerArray:R,headerView:p,signature:Wt,crc32:m&&!Ee&&!St?w:Wt,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,zip64UncompressedSize:M,zip64CompressedSize:G}),Gr}function Sm(t){let{rawFilename:e,lastModDate:r,rawLastModDate:n,lastAccessDate:s,creationDate:i,level:o,zip64:a,zipCrypto:c,useUnicodeFileNames:f,dataDescriptor:R,directory:p,rawExtraField:l,rawLocalExtraField:h,encryptionStrength:m,extendedTimestamp:d,ntfsTimestamp:E,passThroughCompression:u,encrypted:g,zip64UncompressedSize:_,zip64CompressedSize:A,uncompressedSize:T,unknownSize:y,crc32:S}=t,{version:I,compressionMethod:N}=t,U=!p&&Ya(N,o),H,q=u||!U,$=a&&(t.bufferedWrite||!R||!_&&!A||q&&!y),j=$||a&&R&&(_||A);if(a&&(_||A)){let te=Ue(20);if(te.writeUint16(1),te.writeUint16(16),H=te.array,$&&(te.writeUint64(T),q)){let J=yn(g,c,m);te.writeUint64(u?0:T+J)}}else H=Z;let W;if(g&&!c){let fe=Ue(B(nu)+2);fe.writeUint16(39169),fe.writeBytes(nu),W=fe.array,W[8]=m}else W=Z;let F,ne,z,X;if(d){let fe=ui(r),te=vm(fe);if(te){let b=9+(s?4:0)+(i?4:0),Y=Ue(b);z=1+(s?2:0)+(i?4:0),X=fe,Y.writeUint16(21589),Y.writeUint16(b-4),Y.writeUint8(z),Y.writeUint32(fe),s&&Y.writeUint32(lu(ui(s))),i&&Y.writeUint32(lu(ui(i))),ne=Y.array}else ne=Z;if(E===w?!te||!!(s||i):E)try{let b=ka(r),Y=Ue(36);Y.writeUint16(10),Y.writeUint16(32),Y.skip(4),Y.writeUint16(1),Y.writeUint16(24),Y.writeUint64(b),Y.writeUint64(s?ka(s):b),Y.writeUint64(i?ka(i):b),F=Y.array}catch{F=Z}else F=Z}else F=ne=Z;let M;try{let{uid:fe,gid:te,unixExtraFieldType:J}=t;if(J==Ei&&(fe!==w||te!==w)){let b=au(fe===w?0:fe),Y=au(te===w?0:te),Q=3+b.length+Y.length,pe=Ue(4+Q);pe.writeUint16(30837),pe.writeUint16(Q),pe.writeUint8(1),pe.writeUint8(b.length),pe.writeBytes(b),pe.writeUint8(Y.length),pe.writeBytes(Y),M=pe.array}else if(J==pi&&(fe!==w||te!==w)){let b=Ue(8);b.writeUint16(30805),b.writeUint16(4),b.writeUint16((fe===w?0:fe)&65535),b.writeUint16((te===w?0:te)&65535),M=b.array}else M=Z}catch{M=Z}N===w&&(N=U?8:0),I===w&&(I=N==0&&!p&&!g?10:20);let{codecVersionNeeded:G}=t;U&&G!==w&&(I=I>G?I:G),a&&(I=I>45?I:45),g&&!c&&(I=I>51?I:51,u&&S!==w&&(W[om]=um),rt(L(W),am,N),N=99);let Ee=j?B(H):0,me=Ee+B(W,ne,F,M,l,h),it=t[Xt]?cm:0;if(me+it>65535)throw new Error(gi);let Me=new Date(Math.ceil(Math.floor(r.getTime()/1e3)/2)*2e3),ve=Me<Ot?Ot:Me>Zr?Zr:Me,je=B(ne)?new Date(ui(r)*1e3):B(F)?r:ve,{headerArray:Ne,headerView:Oe,rawLastModDate:De}=Ku({version:I,bitFlag:qu(o,f,R,g,N),compressionMethod:N,uncompressedSize:T,lastModDate:ve,rawLastModDate:n,rawFilename:e,zip64CompressedSize:A,zip64UncompressedSize:_,extraFieldLength:me}),ae=Ue(30+B(e)+me),Pe=ae.array,ke=L(Pe);return ae.writeUint32(67324752),ae.writeBytes(Ne),ae.writeBytes(e),j&&ae.writeBytes(H),ae.writeBytes(W),ae.writeBytes(ne),ae.writeBytes(F),ae.writeBytes(M),ae.writeBytes(l),ae.writeBytes(h),R&&(A||_e(ke,18,0),_||_e(ke,22,0)),{localHeaderArray:Pe,localHeaderView:ke,headerArray:Ne,headerView:Oe,lastModDate:je,lastModDateClamped:je===ve&&Me.getTime()!=ve.getTime(),rawLastModDate:De,encrypted:g,compressed:U,version:I,compressionMethod:N,extraFieldExtendedTimestampFlag:z,extraFieldExtendedTimestampTime:X,rawExtraFieldZip64:Z,localExtraFieldZip64Length:Ee,rawExtraFieldExtendedTimestamp:ne,rawExtraFieldNTFS:F,rawExtraFieldUnix:M,rawExtraFieldAES:W,extraFieldLength:me}}function ou(t,e){let{headerInfo:r}=t,{localHeaderArray:n,extraFieldLength:s}=r,i=64-(e+B(n))%64;i<4&&(i+=64);let o=new Uint8Array(i),a=L(o);rt(a,0,6534),rt(a,2,i-4);let c=n;r.localHeaderArray=n=new Uint8Array(B(c)+i),Ln(n,c),Ln(n,o,B(c));let f=L(n);rt(f,28,s+i),r.localHeaderView=f,t.metadataSize+=i}function au(t){let e=new Uint8Array(4);L(e).setUint32(0,t,!0);let n=4;for(;n>1&&e[n-1]===0;)n--;return e.subarray(0,n)}function Im(t,e){if(t!==w)t=t&255;else if(e!==w){let{readOnly:r,hidden:n,system:s,directory:i,archive:o}=e,a=0;r&&(a|=1),n&&(a|=2),s&&(a|=4),i&&(a|=16),o&&(a|=32),t=a&255}return e===w&&(e={readOnly:!!(t&1),hidden:!!(t&2),system:!!(t&4),directory:!!(t&16),archive:!!(t&32)}),{msdosAttributesRaw:t,msdosAttributes:e}}function bm({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n=Z,s,i=0,o=t?20:12;return r&&(o+=4),e&&(n=new Uint8Array(o),s=L(n),r&&(i=4,_e(s,0,134695760))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:i}}function Nm({crc32:t,compressedSize:e,uncompressedSize:r,headerInfo:n,dataDescriptorInfo:s},{zip64:i,zipCrypto:o,passThroughCompression:a,dataDescriptor:c}){let{headerView:f,encrypted:R}=n,{dataDescriptorView:p,dataDescriptorOffset:l}=s;(!R||o||a)&&t!==w&&(_e(f,10,t),c&&_e(p,l,t)),i?c&&(Cn(p,l+4,BigInt(e)),Cn(p,l+12,BigInt(r))):(_e(f,14,e),_e(f,18,r),c&&(_e(p,l+4,e),_e(p,l+8,r)))}function Om({rawFilename:t,encrypted:e,zip64:r,localExtraFieldZip64Length:n,crc32:s,compressedSize:i,uncompressedSize:o,zip64UncompressedSize:a,zip64CompressedSize:c},f,{dataDescriptor:R,passThroughCompression:p}){if(R||((!e||p&&s!==w)&&_e(f,14,s),c||_e(f,18,i),a||_e(f,22,o)),r&&n){let l=30+B(t)+4;Cn(f,l,BigInt(o)),Cn(f,l+8,BigInt(i))}}async function Dm(t,e,r){let{directoryDataLength:n,zip64Entries:s}=Pm(t.fileEntries),{directoryStart:i,directoryEnd:o,directoryArray:a}=await xm(t,n,r),c=await Cm(t,a,r);await Lm(t,e,r,{directoryStart:i,directoryEnd:o,directoryDataLength:n,signatureLength:c,zip64Entries:s})}function Pm(t){let e=0,r=!1;for(let[,n]of t){let{rawFilename:s,rawExtraFieldAES:i,rawComment:o,rawExtraFieldNTFS:a,rawExtraFieldUnix:c,rawExtraField:f,rawCentralExtraField:R,extraFieldExtendedTimestampFlag:p,extraFieldExtendedTimestampTime:l,zip64Enabled:h,uncompressedSize:m,compressedSize:d}=n,{zip64UncompressedSize:E,zip64CompressedSize:u}=n;h||(E&&m<4294967295&&(E=n.zip64UncompressedSize=!1),u&&d<4294967295&&(u=n.zip64CompressedSize=!1)),r=r||E||u;let g=n.offset>=4294967295,_=n.diskNumberStart>=65535,A;if(g||_||E||u){let S=4+(E?8:0)+(u?8:0)+(g?8:0)+(_?4:0),I=Ue(S);I.writeUint16(1),I.writeUint16(S-4),E&&I.writeUint64(m),u&&I.writeUint64(d),g&&I.writeUint64(n.offset),_&&I.writeUint32(n.diskNumberStart),A=I.array}else A=Z;n.rawExtraFieldZip64=A,n.zip64Offset=g,n.zip64DiskNumberStart=_;let T;if(l===w)T=Z;else{let S=Ue(9);S.writeUint16(21589),S.writeUint16(5),S.writeUint8(p),S.writeUint32(l),T=S.array}n.rawExtraFieldExtendedTimestamp=T;let y=B(A,i,a,c,T,f,R);if(y>65535)throw new Error(gi);e+=46+B(s,o)+y}return{directoryDataLength:e,zip64Entries:r}}async function xm(t,e,r){let{fileEntries:n,writer:s}=t,i=new Uint8Array(e);await ge(s);let o=0,a=0,c=wt(s),f=Pn(s),R=0;for(let[p,l]of Array.from(n.values()).entries()){let{offset:h,rawFilename:m,rawExtraFieldZip64:d,rawExtraFieldAES:E,rawExtraFieldExtendedTimestamp:u,rawExtraFieldNTFS:g,rawExtraFieldUnix:_,rawExtraField:A,rawCentralExtraField:T,rawComment:y,versionMadeBy:S,headerArray:I,headerView:N,zip64UncompressedSize:U,zip64CompressedSize:H,zip64DiskNumberStart:q,zip64Offset:$,internalFileAttributes:j,externalFileAttributes:W,diskNumberStart:F,uncompressedSize:ne,compressedSize:z}=l,X=B(d,E,u,g,_,A,T),M=46+B(m,y)+X;kr(s,o+M-a)&&(await nt(s,i.slice(a,o)),a=o,R=0,await s.closeDisk()),p==0&&(c=wt(s),f=Pn(s)),U||_e(N,18,ne),H||_e(N,14,z),($||q)&&l.version<45&&rt(N,0,45);let G=Ue(M);if(G.writeUint32(33639248),G.writeUint16(S),G.writeBytes(I.subarray(0,24)),G.writeUint16(X),G.writeUint16(B(y)),G.writeUint16(q?65535:F),G.writeUint16(j),G.writeUint32(W),G.writeUint32($?4294967295:h),G.writeBytes(m),G.writeBytes(d),G.writeBytes(E),G.writeBytes(u),G.writeBytes(g),G.writeBytes(_),G.writeBytes(A),G.writeBytes(T),G.writeBytes(y),Ln(i,G.array,o),o+=M,R++,r.onprogress)try{await r.onprogress(p+1,n.size,new ht(l))}catch{}}return await nt(s,a?i.slice(a):i),{directoryStart:{diskNumber:c,diskOffset:f},directoryEnd:{diskNumber:wt(s),entriesLength:R},directoryArray:i}}async function Cm(t,e,r){let n=Ha(t,r,Vc);if(n){let s=await n(e),i=B(s);if(i>65535)throw new Error(Bu);let o=Ue(6+i);o.writeUint32(84233040),o.writeUint16(i),o.writeBytes(s);let{writer:a}=t;return kr(a,B(o.array))&&await a.closeDisk(),await nt(a,o.array),6+i}return 0}async function Lm(t,e,r,n){let{writer:s}=t,{directoryStart:i,directoryEnd:o,signatureLength:a,zip64Entries:c}=n,{directoryDataLength:f}=n,R=t.fileEntries.size,p=i.diskNumber,l=xn(t,i),h=B(e);if(h>65535)throw new Error(Ga);let m=k(t,r,Hs),d=wt(s);if(kr(s,(m?98:22)+h)&&d++,l>=4294967295||f>=4294967295||R>=65535||d>=65535){if(m===!1)throw new Error(Ri);m=!0}else m===w&&c&&(m=!0);let E=Ue(m?98:22);kr(s,B(E.array)+h)&&await s.closeDisk(),d=wt(s);let u=d==o.diskNumber?o.entriesLength:0;m&&(E.writeUint32(101075792),E.writeUint64(44),E.writeUint16(45),E.writeUint16(45),E.writeUint32(d),E.writeUint32(p),E.writeUint64(u),E.writeUint64(R),E.writeUint64(f),E.writeUint64(l),E.writeUint32(117853008),E.writeUint32(d),E.writeUint64(BigInt(xn(t,s))+BigInt(f)+BigInt(a)),E.writeUint32(d+1),k(t,r,Mc,!0)&&(d=65535,p=65535),u=65535,R=65535,l=4294967295,f=4294967295),E.writeUint32(101010256),E.writeUint16(d),E.writeUint16(p),E.writeUint16(u),E.writeUint16(R),E.writeUint32(f),E.writeUint32(l),E.writeUint16(h),await nt(s,E.array),h&&await nt(s,e)}function Ue(t){let e=new Uint8Array(t),r=L(e),n=0;return{array:e,writeUint8:s=>{zm(r,n,s),n+=1},writeUint16:s=>{rt(r,n,s),n+=2},writeUint32:s=>{_e(r,n,s),n+=4},writeUint64:s=>{Cn(r,n,BigInt(s)),n+=8},writeBytes:s=>{Ln(e,s,n),n+=B(s)},skip:s=>n+=s}}function wt(t){let{diskNumber:e=0}=t;return e}function Pn(t){let{diskOffset:e=0}=t;return e}function kr(t,e){let{availableSize:r=Vt}=t;return e>r}function xn(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.initialOffset:0)}async function Um(t){let e=await re(t,0,4);return km(L(e),0)==134695760}function Xu(t){let e=L(t),r=0;for(;r+4<=B(t);){let n=4+hi(e,r+2);if(hi(e,r)==1)return Xu(Be(t.subarray(0,r),t.subarray(Math.min(r+n,B(t)))));r+=n}return t}async function Fm(t,e,r,n){let{writer:s}=t,i=new Map;if(s.closeDisk){let o=Array.from(r).sort((c,f)=>fi(e,c)-fi(e,f)),a=0;for(let c of o){let f=fi(e,c);await va(t,e,a,f-a),kr(s,await Mm(e,f))&&await s.closeDisk(),i.set(c,{offset:xn(t,s),diskNumberStart:wt(s)}),a=f}await va(t,e,a,n-a)}else{let o=t.offset;await va(t,e,0,n),r.forEach(a=>i.set(a,{offset:o+fi(e,a),diskNumberStart:0}))}return i}async function va(t,e,r,n){if(n>0){let{writer:s}=t,i=0;try{await ju(po(e,{offset:r,size:n}),s,w,o=>i+=o)}catch(o){t.hasCorruptedEntries=!0;try{o.corruptedEntry=!0}catch{}throw o}finally{s.size+=i,t.offset+=i}}}async function Mm(t,e){let r=await re(t,e,30);if(B(r)<30)return 30;let n=L(r);return 30+hi(n,26)+hi(n,28)}function fi(t,{offset:e,diskNumberStart:r}){return e+(t.getDiskOffset?t.getDiskOffset(r):0)}function Zu(){let t=new Uint8Array(4);return _e(L(t),0,134695760),t}async function cu(t,e){delete t.addSplitZipSignature,await nt(e,Zu()),t.offset+=4}async function nt(t,e){let{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=B(e),await n.write(e)}finally{n.releaseLock()}}async function ju(t,e,r,n){let s=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(i){await s.ready,await s.write(i),n(B(i))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{s.releaseLock()}}function ka(t){if(t){let e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<tu?tu:e>ru?ru:e}}function ui(t){return Math.floor(t.getTime()/1e3)}function vm(t){return t>=Su&&t<=Iu}function lu(t){return Math.min(Iu,Math.max(Su,t))}function k(t,e,r,n){let s=e[r]===w?t.options[r]:e[r];return s===w?n:s}function za(t,e,r,n){let s=k(t,e,r,n);if(s===null)return n;if(s!==w&&(typeof s.getTime!=K||Number.isNaN(s.getTime())))throw new Error(mu);return s}function Ha(t,e,r){return pr(k(t,e,r))}function vr(t,e,r,n){return Pt(k(t,e,r,n))}function fu(t){return t+5*(Math.floor(t/16383)+1)}function Ya(t,e){return t===w?e===w||e>0:t!==0}function hi(t,e){return t.getUint16(e,!0)}function km(t,e){return t.getUint32(e,!0)}function zm(t,e,r){t.setUint8(e,r)}function rt(t,e,r){t.setUint16(e,r,!0)}function _e(t,e,r){t.setUint32(e,r,!0)}function Cn(t,e,r){t.setBigUint64(e,r,!0)}function Ln(t,e,r){t.set(e,r)}function B(...t){let e=0;return t.forEach(r=>r&&(e+=r.length)),e}function Ku({version:t,bitFlag:e,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:o,rawFilename:a,zip64CompressedSize:c,zip64UncompressedSize:f,extraFieldLength:R}){let p=Ue(26),l=p.array,h=L(l);if(p.writeUint16(t),p.writeUint16(e),p.writeUint16(r),o===w){let m=new Uint32Array(1),d=L(m);rt(d,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),rt(d,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),o=m[0]}return p.writeUint32(o),p.skip(4),c||s!==w?p.writeUint32(c?4294967295:s):p.skip(4),f||n!==w?p.writeUint32(f?4294967295:n):p.skip(4),p.writeUint16(B(a)),p.writeUint16(R),{headerArray:l,headerView:h,rawLastModDate:o}}function uu(t){return t.every(e=>e>=lm&&e<=fm)}function qu(t,e,r,n,s){let i=0;return e&&(i=i|2048),r&&(i=i|8),(s==8||s==9)&&(t>=0&&t<=3&&(i=i|6),t>3&&t<=5&&(i=i|4),t==9&&(i=i|2)),n&&(i=i|1),i}dn();gr();Ge();Jt();ue();Ge();Jt();Qi();var lw=1024*1024;Kt();var dw=1024*1024;var pw=1024*1024;var mw=512*1024;var qm={};try{xt({baseURI:qm.url})}catch{}Ge();var Jm=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],Qm=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],$m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],eh=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],th=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Fn=new Uint8Array(288);Fn.fill(8,0,144),Fn.fill(9,144,256),Fn.fill(7,256,280),Fn.fill(8,280,288);var rh=new Uint8Array(30).fill(5);function Un(t){let e=new Uint16Array(16);for(let s of t)e[s]++;e[0]=0;let r=new Uint16Array(17);for(let s=1;s<=15;s++)r[s+1]=r[s]+e[s];let n=new Uint16Array(t.length);for(let s=0;s<t.length;s++)t[s]&&(n[r[t[s]]++]=s);return{lengthCounts:e,symbols:n}}var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ju(t){let e;t({wasmURI:()=>(e||(e="data:application/wasm;base64,"+(function(r){let n="",s=r.length,i=0;for(;i+2<s;i+=3){let a=r[i]<<16|r[i+1]<<8|r[i+2];n+=Fe[a>>18&63]+Fe[a>>12&63]+Fe[a>>6&63]+Fe[63&a]}let o=s-i;if(o===1){let a=r[i]<<16;n+=Fe[a>>18&63]+Fe[a>>12&63]+"=="}else if(o===2){let a=r[i]<<16|r[i+1]<<8;n+=Fe[a>>18&63]+Fe[a>>12&63]+Fe[a>>6&63]+"="}return n})((function(r){let n=0,s=0,i=0,o=new Uint8Array(1024),a=0,c=0;for(;!c;){c=R(1);let E=R(2);if(E==0)p();else if(E==1)l(Un(Fn),Un(rh));else{if(E!=2)throw new Error("invalid deflate block type");l(...h())}}return o.subarray(0,a);function f(){if(n>=r.length)throw new Error("unexpected end of deflate data");return r[n++]}function R(E){for(;i<E;)s|=f()<<i,i+=8;let u=s&(1<<E)-1;return s>>>=E,i-=E,u}function p(){s=0,i=0;let E=f()|f()<<8;n+=2,d(a+E);for(let u=0;u<E;u++)o[a++]=f()}function l(E,u){let g=m(E);for(;g!=256;){if(g<256)d(a+1),o[a++]=g;else{let _=g-257,A=Jm[_]+R(Qm[_]),T=m(u),y=$m[T]+R(eh[T]);d(a+A);let S=a-y;for(let I=0;I<A;I++)o[a++]=o[S+I]}g=m(E)}}function h(){let E=R(5)+257,u=R(5)+1,g=R(4)+4,_=new Uint8Array(19);for(let S=0;S<g;S++)_[th[S]]=R(3);let A=Un(_),T=new Uint8Array(E+u),y=0;for(;y<T.length;){let S=m(A);if(S<16)T[y++]=S;else if(S==16){let I=T[y-1],N=R(2)+3;for(;N--;)T[y++]=I}else y+=S==17?R(3)+3:R(7)+11}return[Un(T.subarray(0,E)),Un(T.subarray(E))]}function m(E){let{lengthCounts:u,symbols:g}=E,_=0,A=0,T=0;for(let y=1;y<=15;y++){_|=R(1);let S=u[y];if(_-A<S)return g[T+(_-A)];T+=S,A=A+S<<1,_<<=1}throw new Error("invalid huffman code")}function d(E){if(o.length<E){let u=2*o.length;for(;u<E;)u*=2;let g=new Uint8Array(u);g.set(o.subarray(0,a)),o=g}}})((function(r){let n=(r=String(r).replace(/[^A-Za-z0-9+/=]/g,"")).length,s=[];for(let i=0;i<n;i+=4){let o=Fe.indexOf(r[i])<<18|Fe.indexOf(r[i+1])<<12|(63&Fe.indexOf(r[i+2]))<<6|63&Fe.indexOf(r[i+3]);s.push(o>>16&255),r[i+2]!=="="&&s.push(o>>8&255),r[i+3]!=="="&&s.push(255&o)}return new Uint8Array(s)})("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")))),e)})}ue();Ge();Sr();vs();Vi();var Ti="deflate",wi="deflate-raw",Qu="deflate64-raw",_i="gzip";var nh="Z_MEM_ERROR",$u=[Ti,wi,_i],ed=[Ti,wi,_i,Qu],le,Br,_t,Mn,td;function rd(t){if(le=t,{malloc:Br,free:_t,memory:Mn}=le,typeof Br!="function"||typeof _t!="function"||!Mn)throw le=Br=_t=Mn=null,new Error("Invalid WASM module")}function nd(t){td=t}function zr(t,e){return e===-4&&(t.code=nh),t}function sd(t,e,r={}){if(!(t?$u:ed).includes(e))throw new TypeError("Unsupported format: "+e);if(!le){let T=new Error("WASM module not loaded");throw T.cause=td,T}let n=typeof r.level=="number"?r.level:-1,s=typeof r.outBuffer=="number"?r.outBuffer:64*1024,i=typeof r.inBufferSize=="number"?r.inBufferSize:64*1024,o={out:0,in:0,inBufferSize:0,streamHandle:0,streamEnded:!1},a,c,f,R,p=!0,l=!1;d();let h=new ReadableStream({start(T){a=T},pull(){p=!1,_()},cancel(T){l=!0,R=T,A(o),c.error(T),_()}},{highWaterMark:0}),m=new WritableStream({start(T){c=T},async write(T){if(p&&await new Promise(y=>f=y),l)throw R;try{E(T)}catch(y){throw A(o),a.error(y),y}},close(){if(l)return;try{u()}catch(y){throw A(o),a.error(y),y}let T=A(o);if(T!==0){let y=zr(new Error("end error:"+T),T);throw a.error(y),y}a.close()},abort(T){A(o),a.error(T)}},{highWaterMark:1});return{readable:h,writable:m};function d(){try{let T;if(o.out=Br(s),o.in=Br(i),o.inBufferSize=i,!o.out||!o.in)throw zr(new Error("allocation failed"),-4);if(t?(o._process=le.deflate_process,o._last_consumed=le.deflate_last_consumed,o._end=le.deflate_end,o.streamHandle=le.deflate_new(),e===_i?T=le.deflate_init_gzip(o.streamHandle,n):e===wi?T=le.deflate_init_raw(o.streamHandle,n):T=le.deflate_init(o.streamHandle,n)):e===Qu?(o._process=le.inflate9_process,o._last_consumed=le.inflate9_last_consumed,o._end=le.inflate9_end,o.streamHandle=le.inflate9_new(),T=le.inflate9_init_raw(o.streamHandle)):(o._process=le.inflate_process,o._last_consumed=le.inflate_last_consumed,o._end=le.inflate_end,o.streamHandle=le.inflate_new(),e===wi?T=le.inflate_init_raw(o.streamHandle):e===_i?T=le.inflate_init_gzip(o.streamHandle):T=le.inflate_init(o.streamHandle)),T!==0)throw zr(new Error("init failed:"+T),T)}catch(T){throw A(o),T}}function E(T){let y=new Uint8Array(Mn.buffer),S=o._process,I=o._last_consumed,N=o.out,U=0;for(;U<T.length;){if(o.streamEnded)throw new Error("trailing data after the end of the stream");let H=Math.min(T.length-U,32*1024);if((!o.in||o.inBufferSize<H)&&(o.in&&_t&&(_t(o.in),o.in=0),o.in=Br(H),o.inBufferSize=H,!o.in))throw zr(new Error("allocation failed"),-4);y.set(T.subarray(U,U+H),o.in);let q=S(o.streamHandle,o.in,H,N,s,0),$=q>>24&255,j=$&128?$-256:$;if(j<0)throw zr(new Error("process error:"+j),j);let W=q&16777215;W&&g(y.slice(N,N+W));let F=I(o.streamHandle);if($===1)o.streamEnded=!0;else if(F===0&&W===0)break;U+=F}}function u(){let T=new Uint8Array(Mn.buffer),y=o._process,S=o.out;for(;;){let I=y(o.streamHandle,0,0,S,s,4),N=I>>24&255,U=N&128?N-256:N;if(U<0)throw zr(new Error("process error:"+U),U);let H=I&16777215;if(H&&g(T.slice(S,S+H)),N===1||H===0)break}}function g(T){p=!0,a.enqueue(T)}function _(){if(f){let T=f;f=null,T()}}function A(T){let y=0;return T.streamHandle&&T._end&&(y=T._end(T.streamHandle)),T.streamHandle=0,T.in&&_t&&_t(T.in),T.in=0,T.out&&_t&&_t(T.out),T.out=0,y}}var ur=class{constructor(e=Ti,r){return sd(!0,e,r)}},dr=class{constructor(e=Ti,r){return sd(!1,e,r)}};ur.requiresModule=!0;dr.requiresModule=!0;ur.supportedFormats=$u;dr.supportedFormats=ed;ue();Yi();var Xa=64*1024,sh=20,id,Tt;function od(t){typeof t.aes_hmac_new==K&&(id=t,Tt=0)}function ja(t,e){let r=id,n=r?ih(r,t,e):0;if(!n)return rn(t,e);let s=Tt;return{process(i,o){for(let a=0;a<i.length;a+=Xa){let c=i.subarray(a,a+Xa),f=Za(r);f.set(c,s),r.aes_hmac_process(n,s,c.length,o?1:0),c.set(f.subarray(s,s+c.length))}},digest(){return r.aes_hmac_end(n,s),n=0,Za(r).slice(s,s+sh)},dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}}function ih(t,e,r){Tt||(Tt=t.malloc(Xa));let n=Tt?t.aes_hmac_new():0;if(n){let s=Za(t);if(s.set(e,Tt),s.set(r,Tt+e.length),t.aes_hmac_init(n,Tt,e.length,Tt+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}function Za(t){return new Uint8Array(t.memory.buffer)}var ad=!1;async function cd(t,{baseURI:e}){if(!ad)try{await oh(t,e),ad=!0}catch(r){throw nd(r),r}}async function oh(t,e){let r,n;try{try{n=new URL(t,e)}catch{}r=await(await fetch(n)).arrayBuffer()}catch(i){if(t.startsWith("data:application/wasm;base64,"))r=ah(t);else throw i}let s=await WebAssembly.instantiate(r);rd(s.instance.exports),od(s.instance.exports)}function ah(t){let e=t.split(",")[1],r=atob(e),n=r.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=r.charCodeAt(i);return s.buffer}var Ai;Sl(ja);tf({initModule:t=>{if(!Ai){let{wasmURI:e}=t;typeof e==K&&(e=e()),Ai=cd(e,t).catch(r=>{throw Ai=null,r})}return Ai}});xt({CompressionStreamFallback:ur,DecompressionStreamFallback:dr});Ju(xt);dn();li();Ws();gr();Sr();ue();Ct();Kt();jt();var U_=new Uint8Array(0);fl(xt);var vn="h5p-pkg-v0-";var Ze="__archive__";var ld="h5p-player";var kn="packages",Hr="https://chunks.h5p-player.invalid/";function zn(t,e){let r=e.end-e.start+1,n=0,s=0,i=new TransformStream({transform(o,a){if(s>=r)return;let c=n;if(n+=o.length,n<=e.start)return;let f=Math.max(0,e.start-c),R=Math.min(o.length,f+(r-s)),p=o.subarray(f,R);s+=p.length,a.enqueue(p),s>=r&&a.terminate()}});return t.pipeTo(i.writable).catch(()=>{}),i.readable}function fd(t,e){return`h5p:${t}:${e}`}function ud(t){return`h5p:${t}:`}var ch=/^h5p:([^:]+):/;async function yi(){let t=new Set,e=typeof navigator>"u"?void 0:navigator.locks;if(!e?.query)return t;try{let{held:r=[]}=await e.query();for(let n of r){let s=n.name?ch.exec(n.name):null;s&&t.add(s[1])}}catch{}return t}var lh="/__meta__",fh="/__forward__",uh="__forward_index__",dh=32;function Hn(t){return t.split("/").map(encodeURIComponent).join("/")}function Bn(t){return`${vn}${t}`}function dd(t,e){return`${Hr}${t}/whole/${Hn(e)}`}function Ka(t,e,r){return`${Hr}${t}/chunk/${Hn(e)}/${r}`}function Ed(t,e){return`${Hr}${t}/chunk/${Hn(e)}${lh}`}function pd(t){return`${Hr}${t}/chunk/${Hn(Ze)}${fh}`}function Qa(t){return t instanceof DOMException&&(t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")}var st=class extends Error{constructor(e="Not enough storage to cache this package"){super(e),this.name="QuotaError"}};function md(t){return{first:Math.floor(t.start/8388608),last:Math.floor(t.end/8388608)}}function hd(t,e){let r=t*8388608;return{from:Math.max(0,e.start-r),to:Math.min(8388608,e.end-r+1)}}var At=class{constructor(e){this.cachePromise=null;this.pkgId=e}cache(){return this.cachePromise??=caches.open(Bn(this.pkgId)),this.cachePromise}async getWhole(e){return(await this.cache()).match(dd(this.pkgId,e))}async putWhole(e,r,n,s){let i=new Headers({"content-type":n});s!==void 0&&i.set("content-length",String(s)),await this.write(dd(this.pkgId,e),()=>new Response(r(),{headers:i}))}async getMeta(e){let n=await(await this.cache()).match(Ed(this.pkgId,e));if(n)try{return await n.json()}catch{return}}async setMeta(e,r){await this.write(Ed(this.pkgId,e),()=>new Response(JSON.stringify(r),{headers:{"content-type":"application/json"}})),Ja({pkgId:this.pkgId,entry:e,meta:r})}async discardChunks(e){let r=await this.cache(),n=`${Hr}${this.pkgId}/chunk/${Hn(e)}/`,s=(await r.keys()).filter(i=>i.url.startsWith(n)&&/^\\d+$/.test(i.url.slice(n.length)));await Promise.all(s.map(i=>r.delete(i)))}async putChunk(e,r,n){let s=n.slice();await this.write(Ka(this.pkgId,e,r),()=>new Response(s.buffer,{headers:{"content-type":"application/octet-stream"}}))}async getChunk(e,r){let s=await(await this.cache()).match(Ka(this.pkgId,e,r));if(s)return new Uint8Array(await s.arrayBuffer())}readRange(e,r,n){let{first:s,last:i}=md(r),o=s,a=null,c=this;return new ReadableStream({async pull(f){for(;;){if(a){let{done:m,value:d}=await a.read();if(!m){f.enqueue(d);return}a=null,o+=1}if(o>i){f.close();return}if(n){let m=Math.min((o+1)*8388608,r.end+1);if(!await n(m)){f.error(new Error(`Extraction of ${e} stalled before byte ${m}`));return}}let R=await c.chunkBody(e,o);if(!R){f.error(new Error(`Missing chunk ${o} of ${e}`));return}let{from:p,to:l}=hd(o,r);a=(p===0&&l>=8388608?R:zn(R,{start:p,end:l-1})).getReader()}},async cancel(f){await a?.cancel(f)}},{highWaterMark:0})}async chunkBody(e,r){return(await(await this.cache()).match(Ka(this.pkgId,e,r)))?.body??void 0}async readRangeBytes(e,r){let n=new Uint8Array(r.end-r.start+1),{first:s,last:i}=md(r),o=0;for(let a=s;a<=i;a+=1){let c=await this.getChunk(e,a);if(!c)throw new Error(`Missing chunk ${a} of ${e}`);let{from:f,to:R}=hd(a,r),p=c.subarray(f,Math.min(R,c.length));n.set(p,o),o+=p.length}return o===n.length?n:n.subarray(0,o)}getArchiveMeta(){return this.getMeta(Ze)}async getForwardIndex(){let r=await(await this.cache()).match(pd(this.pkgId));if(r)try{return await r.json()}catch{return}}async setForwardIndex(e){await this.write(pd(this.pkgId),()=>new Response(JSON.stringify(e),{headers:{"content-type":"application/json"}})),Ja({pkgId:this.pkgId,entry:uh,meta:{size:null,available:e.parsedTo,complete:e.done}})}readArchiveRange(e){return this.readRangeBytes(Ze,e)}async write(e,r){let n=await this.cache();for(let s=0;;s+=1){let i=r();try{await n.put(e,i);return}catch(o){if(i.body?.cancel().catch(()=>{}),!Qa(o))throw o;if(s>=dh)throw new st;if(!await Eh(this.pkgId))throw new st}}}async destroy(){this.cachePromise=null,await caches.delete(Bn(this.pkgId))}},qa=null;function Rd(t){qa=t}var wd=null;function _d(t){wd=t}async function Eh(t){let e=qa?await qa(t):await mh(t);return e?(await ph(Bn(e)),await caches.delete(Bn(e)),await wd?.(e),!0):!1}async function ph(t){if(!await caches.has(t))return;let e=await caches.open(t),r=await e.keys();await Promise.all(r.map(n=>e.delete(n)))}async function mh(t){let[e,r]=await Promise.all([caches.keys(),yi()]),n=Bn(t),s=e.find(i=>i.startsWith(vn)&&i!==n&&!r.has(i.slice(vn.length)));return s?s.slice(vn.length):null}var hh="h5p-player-watermark",gd;function gh(){if(typeof BroadcastChannel!="function")return null;let t=new BroadcastChannel(hh);return t.unref?.(),t}function Ja(t){gd??=gh();try{gd?.postMessage(t)}catch{}}function Td(t,e,r){Ja({pkgId:t,entry:e,received:r})}var Bt=null;function Ad(t,e){Bt===e&&(Bt=null),t.close()}function wh(){if(Bt)return Bt;let t=new Promise((e,r)=>{let n=indexedDB.open(ld,1);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(kn)||s.createObjectStore(kn,{keyPath:"pkgId"}).createIndex("lastPlayed","lastPlayed")},n.onsuccess=()=>{let s=n.result;s.onversionchange=()=>Ad(s,t),s.onclose=()=>Ad(s,t),e(s)},n.onerror=()=>r(n.error)});return Bt=t,t.catch(()=>{Bt===t&&(Bt=null)}),t}function _h(t){return t instanceof DOMException&&(t.name==="InvalidStateError"||t.name==="NotFoundError"||t.name==="TransactionInactiveError")}function Sd(t){return new Promise((e,r)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>r(t.error)})}async function yd(t,e){let n=(await wh()).transaction(kn,t),s=await e(n.objectStore(kn));return await new Promise((i,o)=>{n.oncomplete=()=>i(),n.onerror=()=>o(n.error),n.onabort=()=>o(n.error)}),s}async function Id(t,e){try{return await yd(t,e)}catch(r){if(!_h(r))throw r;return Bt=null,yd(t,e)}}function bd(t){return Id("readwrite",async e=>{await Sd(e.delete(t))})}function Th(){return Id("readonly",t=>Sd(t.getAll()))}async function Nd(){return(await Th()).sort((e,r)=>e.lastPlayed-r.lastPlayed)}async function yh(t,e={}){let[r,n]=await Promise.all([(e.packagesByAge??Nd)(),(e.busyPackages??yi)()]);return r.find(s=>s.pkgId!==t&&!n.has(s.pkgId))?.pkgId??null}function Od(t){Rd(e=>yh(e)),_d(async e=>{t?.(e),await bd(e)})}var Sh=new TextDecoder,Si=class{constructor(){this.entries=[];this.parsedTo=0;this.done=!1;this.stopped=null;this.buffer=new Uint8Array(0);this.position=0;this.state={kind:"header"}}push(e){this.stopped||this.done||e.length===0||(this.buffer=this.buffer.length===0?e:bh(this.buffer,e),this.drain())}finish(){!this.done&&!this.stopped&&this.state.kind==="descriptor"&&(this.stopped="unresolved-descriptor")}snapshot(){return{entries:[...this.entries],parsedTo:this.parsedTo,done:this.done,stopped:this.stopped}}consume(e){this.buffer=this.buffer.subarray(e),this.position+=e}drain(){for(;;){let e=this.state;if(e.kind==="skip"){let r=Math.min(e.remaining,this.buffer.length);if(this.consume(r),e.remaining-=r,e.remaining>0)return;this.record(e.entry),this.state={kind:"header"},this.parsedTo=this.position;continue}if(e.kind==="header"){if(!this.readHeader())return;continue}if(!this.findDescriptor(e.entry))return}}readHeader(){let{buffer:e}=this;if(e.length<4)return!1;let r=new DataView(e.buffer,e.byteOffset,e.byteLength),n=r.getUint32(0,!0);if(n===33639248||n===101010256||n===101075792||n===117853008)return this.done=!0,this.stopped="central-directory",this.parsedTo=this.position,!1;if(n!==67324752)return this.stopped="bad-signature",!1;if(e.length<30)return!1;let s=r.getUint16(6,!0),i=r.getUint16(8,!0),o=r.getUint32(14,!0),a=r.getUint32(18,!0),c=r.getUint32(22,!0),f=r.getUint16(26,!0),R=r.getUint16(28,!0),p=30+f+R;if(e.length<p)return!1;let l=Sh.decode(e.subarray(30,30+f)),h=e.subarray(30+f,p),m=Ih(h,c===4294967295,a===4294967295);m&&(c=m.uncompressedSize??c,a=m.compressedSize??a);let d={name:l,directory:l.endsWith("/"),method:i,encrypted:(s&1)!==0,crc32:o,compressedSize:a,uncompressedSize:c,headerOffset:this.position,dataStart:this.position+p,zip64:m!==null};return this.consume(p),s&8?(this.state={kind:"descriptor",entry:d},!0):(this.state={kind:"skip",remaining:a,entry:d},!0)}findDescriptor(e){let{buffer:r}=this,n=e.zip64?24:16,s=new DataView(r.buffer,r.byteOffset,r.byteLength),i=0;for(;i+n<=r.length&&(i=r.indexOf(80,i),!(i<0||i+n>r.length));){if(s.getUint32(i,!0)===134695760){let a=this.position+i-e.dataStart,c=e.zip64?Ii(s,i+8):s.getUint32(i+8,!0);if(c===a)return e.crc32=s.getUint32(i+4,!0),e.compressedSize=c,e.uncompressedSize=e.zip64?Ii(s,i+16):s.getUint32(i+12,!0),this.record(e),this.consume(i+n),this.state={kind:"header"},this.parsedTo=this.position,!0}i+=1}let o=Math.min(r.length,n-1);return this.consume(r.length-o),!1}record(e){let{zip64:r,...n}=e;this.entries.push(n)}};function Ih(t,e,r){let n=new DataView(t.buffer,t.byteOffset,t.byteLength),s=0;for(;s+4<=t.length;){let i=n.getUint16(s,!0),o=n.getUint16(s+2,!0);if(i===1){let a={},c=s+4;return e&&c+8<=s+4+o&&(a.uncompressedSize=Ii(n,c),c+=8),r&&c+8<=s+4+o&&(a.compressedSize=Ii(n,c)),a}s+=4+o}return null}function Ii(t,e){let r=t.getBigUint64(e,!0);if(r>BigInt(Number.MAX_SAFE_INTEGER))throw new RangeError("zip64 size beyond a safe integer");return Number(r)}function bh(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r}var se=class extends Error{constructor(e,r,n){super(r,n),this.name="PlayerError",this.code=e,this.missingLibraries=n?.missingLibraries}};var $a=class{constructor(e,r){this.descriptor=e;this.size=r;this.received=0}counted(e){return e.pipeThrough(new TransformStream({transform:(r,n)=>{this.received+=r.length,n.enqueue(r)}}))}async fetchRange(e){let r=await fetch(this.descriptor.url,{headers:{Range:`bytes=${e.start}-${e.end}`},cache:"no-store"});if(r.status!==206&&r.status!==200)throw new se("network",`Range request failed with ${r.status}`);return r}async read(e){let r=await this.fetchRange(e);if(r.status!==200){let n=new Uint8Array(await r.arrayBuffer());return this.received+=n.length,n}if(!r.body)throw new se("network","Range response had no body");return new Uint8Array(await new Response(zn(this.counted(r.body),e)).arrayBuffer())}async stream(e){let r=await this.fetchRange(e);if(!r.body)throw new se("network","Range response had no body");let n=this.counted(r.body);return r.status===200?zn(n,e):n}},ec=class{constructor(e,r,n){this.descriptor=e;this.size=r;this.store=new At(n)}read(e){return this.store.readRangeBytes(Ze,e)}async stream(e){return this.store.readRange(Ze,e)}},tc=class{constructor(e,r){this.descriptor=e;this.blob=r}get size(){return this.blob.size}async read(e){let r=this.blob.slice(e.start,e.end+1);return new Uint8Array(await r.arrayBuffer())}async stream(e){return this.blob.slice(e.start,e.end+1).stream()}};async function Dd(t,e,r,n={}){switch(e.type){case"range-http":return new $a(e,e.size);case"chunked":{let s=await new At(t).getArchiveMeta();if(!s||!s.complete&&!n.partial)throw new se("bad-archive","Archive has not finished downloading");return new ec(e,s.size??s.available,t)}case"file":{if(!r)throw new se("bad-archive","The picked file is no longer available");return new tc(e,r)}}}function rc(t){if(!Number.isFinite(t)||t<0)return"? B";if(t<1024)return`${Math.round(t)} B`;let e=["kB","MB","GB","TB"],r=t/1024,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n+=1;return`${r<10?r.toFixed(1):String(Math.round(r))} ${e[n]}`}async function Nh(){let t=typeof navigator>"u"?void 0:navigator.storage;if(typeof t?.estimate!="function")return null;try{let{usage:e,quota:r}=await t.estimate();return typeof e!="number"||typeof r!="number"?null:{usage:e,quota:r}}catch{return null}}async function nc(t,e){let r=await Nh(),n=e===null?`Not enough storage for ${t}`:`Not enough storage: ${t} needs ${rc(e)}`;return r?`${n}; this site is using ${rc(r.usage)} of the ${rc(r.quota)} the browser allows it.`:`${n}.`}var Oh=/[\\u0000-\\u001f\\u007f]/;function sc(t){if(!t||Oh.test(t))return null;let e=t.replace(/\\\\/g,"/");if(e.startsWith("/")||/^[a-zA-Z]:/.test(e))return null;let r=[];for(let n of e.split("/"))if(!(n===""||n===".")){if(n==="..")return null;r.push(n)}return r.length===0?null:r.join("/")}function Pd(t){let e=new Map,r=[];for(let n of t){if(n.directory)continue;let s=sc(n.filename);if(s===null||e.has(s)){r.push(n.filename);continue}e.set(s,n)}return{index:e,rejected:r}}var Dh=new Set(["js","mjs","json","css","html","htm","txt","xml","csv","vtt","srt","svg"]);function Ph(t){let e=t.slice(t.lastIndexOf("/")+1),r=e.lastIndexOf(".");return r<=0?"":e.slice(r+1).toLowerCase()}function xd(t){return Dh.has(Ph(t))}var oc=class{constructor(e){this.arrived=[];this.reader=null;this.finished=!1;this.failure=null;this.wake=null;this.cancelled=!1;this.received=0;this.pump(e)}async pump(e){try{let r=await e();if(this.cancelled){await r.cancel();return}for(this.reader=r.getReader();;){let{done:n,value:s}=await this.reader.read();if(n)break;this.arrived.push(s),this.received+=s.length,this.wake?.()}}catch(r){this.cancelled||(this.failure=r)}finally{this.finished=!0,this.wake?.()}}async next(){for(;;){let e=this.arrived.shift();if(e)return e;if(this.failure)throw this.failure;if(this.finished)return null;await new Promise(r=>{this.wake=r}),this.wake=null}}cancel(){this.cancelled=!0,this.arrived.length=0,this.reader?.cancel().catch(()=>{}),this.wake?.()}};function Lh(t,e){let r=e.end-e.start+1,n=Math.ceil(r/4194304),s=new Map,i=0,o=0,a=c=>{let f=e.start+c*4194304,R={start:f,end:Math.min(f+4194304-1,e.end)};s.set(c,new oc(()=>t.stream(R)))};return new ReadableStream({async pull(c){for(;;){if(o>=n){c.close();return}i===o&&a(i++);let f=s.get(o);if(f.received>0)for(;i<n&&s.size<4;)a(i++);let R=await f.next();if(R){c.enqueue(R);return}s.delete(o),o+=1}},cancel(){for(let c of s.values())c.cancel();s.clear(),i=n,o=n}},{highWaterMark:0})}var bi=class extends pt{constructor(r){super(r);this.handle=r;this.size=r.size}async readUint8Array(r,n){if(n===0)return new Uint8Array(0);let s=Math.min(r+n,this.size)-1;return s<r?new Uint8Array(0):this.handle.read({start:r,end:s})}createReadable(r={}){let n=r.offset??0,s=Math.min(n+(r.size??this.size-n),this.size)-1;if(s<n)return new Blob([]).stream();let i=this.handle;if(i.descriptor.type==="range-http"&&s-n+1>=8388608)return Lh(i,{start:n,end:s});let o=null;return new ReadableStream({async pull(a){o??=(await i.stream({start:n,end:s})).getReader();let{done:c,value:f}=await o.read();c?a.close():a.enqueue(f)},async cancel(a){await o?.cancel(a)}},{highWaterMark:0})}};var ac=0,Fd=8,Fh=67324752,Cd=30,Ni=class t{constructor(e,r,n,s,i,o=!1){this.handle=r;this.parsedTo=0;this.forwardDone=!1;this.forwardStopped=!1;this.absorbed=0;this.lastTopFolder=null;this.fallbacks=[];this.librariesByName=null;this.dataRanges=new Map;this.pkgId=e,this.entries=n,this.rejected=s,this.manifest=i,this.partial=o}get title(){return this.manifest.title}static async open(e,r,n={}){let s;try{s=await new zt(new bi(r)).getEntries({filenameValidation:"tolerant"})}catch(p){throw new se("bad-archive","Could not read the archive index",{cause:p})}let{index:i,rejected:o}=Pd(s),a=new Map;for(let[p,l]of i)a.set(p,{name:p,size:l.uncompressedSize,compressedSize:l.compressedSize,method:l.compressionMethod,strategy:Md(p,l),zip:l});if(!a.has("h5p.json"))throw new se("bad-archive","Archive has no h5p.json, so it is not an H5P package");let c=new t(e,r,a,o,{}),f=await Ud(c),R=new t(e,r,a,o,f);return n.requireLibraries!==!1&&R.assertLibrariesPresent(),R}static async fromForwardIndex(e,r,n){let s=new t(e,r,new Map,[],{},!0);return await s.absorb(n),s}async absorb(e){if(!this.partial)return!1;let r=e.entries.slice(this.absorbed);this.absorbed=e.entries.length,this.parsedTo=e.parsedTo,this.forwardDone=e.done,this.forwardStopped=e.stopped!==null&&!e.done;let n=!1;for(let s of r){if(s.directory)continue;let i=sc(s.name);if(i===null||this.entries.has(i)){this.rejected.push(s.name);continue}this.entries.set(i,Mh(i,s)),this.lastTopFolder=Ld(i),i==="h5p.json"&&(n=!0)}return r.length>0&&(this.librariesByName=null),n&&(this.manifest=await Ud(this)),r.length>0}bootReady(){if(!this.partial)return!0;if(this.forwardStopped||!this.entries.has("h5p.json"))return!1;let e=this.manifest.preloadedDependencies;if(!Array.isArray(e)||e.length===0)return!1;let r=this.entryNames(),n=this.availableLibraries();return e.every(s=>{let i=Oi(s).find(o=>r.has(`${o}/library.json`))??lc(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)});return i!==void 0&&this.folderComplete(i)})}provablyAbsent(e){if(!this.partial||this.forwardDone)return!0;let r=Ld(e);if(r===null)return!1;if(this.hasFolder(r))return this.folderComplete(r);let n=cc(r);return n!==null&&this.hasFolder(n.machineName)&&this.folderComplete(n.machineName)}folderComplete(e){return this.forwardDone||this.lastTopFolder!==e}hasFolder(e){let r=`${e}/`;for(let n of this.entries.keys())if(n.startsWith(r))return!0;return!1}use(e){e===this||this.fallbacks.includes(e)||(this.fallbacks.push(e),this.librariesByName=null)}get(e){return this.locate(e)??this.locateCompatible(e)}locate(e){let r=this.entries.get(e);if(r)return{reader:this,entry:r};for(let n of this.fallbacks){let s=n.locate(e);if(s)return s}}locateCompatible(e){let r=e.indexOf("/");if(r<0)return;let n=cc(e.slice(0,r));if(!n)return;let s=lc(this.availableLibraries(),n);if(!(!s||s===n.folder))return this.locate(`${s}/${e.slice(r+1)}`)}availableLibraries(){if(this.librariesByName)return this.librariesByName;let e=vd(this.entries.keys());for(let r of this.fallbacks)for(let[n,s]of r.availableLibraries()){let i=e.get(n);i?i.push(...s):e.set(n,[...s])}return this.librariesByName=e,e}entryNames(){let e=new Set(this.entries.keys());for(let r of this.fallbacks)for(let n of r.entryNames())e.add(n);return e}missingLibraries(){return zh(this.entryNames(),this.manifest)}get hasFallbacks(){return this.fallbacks.length>0}mergedManifest(){let e=this.entryNames(),r=new Map,n=s=>{r.has(s.machineName)||Oi(s).some(i=>e.has(`${i}/library.json`))&&r.set(s.machineName,s)};for(let s of this.manifest.preloadedDependencies??[])n(s);for(let s of this.fallbacks)for(let i of s.manifest.preloadedDependencies??[])n(i);return{...this.manifest,preloadedDependencies:[...r.values()]}}assertLibrariesPresent(){let e=this.missingLibraries();if(e)throw new se("bad-archive",Bh(e),{missingLibraries:e})}prefetchable(){return[...this.entries.values()].filter(e=>e.strategy.kind==="chunked").map(e=>({entry:e.name,size:e.size}))}inflate(e){if(!e.zip)return this.inflateDirect(e);if(e.zip.encrypted)throw new se("bad-archive",`${e.name} is encrypted`);let r=e.zip.getData;if(!r)throw new se("bad-archive",`${e.name} has no readable data`);let n=new TransformStream;return r.call(e.zip,n.writable).catch(s=>{if(!n.writable.locked)try{n.writable.abort(s)}catch{}}),n.readable}dataRange(e){let r=this.dataRanges.get(e.name);if(r)return r;let n=this.readDataRange(e);return this.dataRanges.set(e.name,n),n.catch(()=>this.dataRanges.delete(e.name)),n}inflateDirect(e){if(e.encrypted)throw new se("bad-archive",`${e.name} is encrypted`);if(e.method!==ac&&e.method!==Fd)throw new se("bad-archive",`${e.name} uses compression method ${e.method}`);if(e.compressedSize===0)return new Blob([]).stream();let r=vh(()=>this.sliceStream(e,{start:0,end:e.compressedSize-1}));if(e.method===ac)return r;let n=new DecompressionStream("deflate-raw");return r.pipeThrough(n)}async readDataRange(e){if(e.dataStart!==void 0)return{start:e.dataStart,end:e.dataStart+e.compressedSize-1};if(!e.zip)throw new se("bad-archive",`${e.name} has no known location`);let r=await this.handle.read({start:e.zip.offset,end:e.zip.offset+Cd-1}),n=new DataView(r.buffer,r.byteOffset,r.byteLength);if(n.getUint32(0,!0)!==Fh)throw new se("bad-archive",`${e.name} has a malformed local header`);let s=n.getUint16(26,!0),i=n.getUint16(28,!0),o=e.zip.offset+Cd+s+i;return{start:o,end:o+e.compressedSize-1}}async sliceStream(e,r){let n=await this.dataRange(e);return this.handle.stream({start:n.start+r.start,end:n.start+r.end})}};function Md(t,e){return xd(t)?{kind:"inline"}:e.uncompressedSize<=16777216?{kind:"inline"}:e.compressionMethod===ac?{kind:"slice"}:e.compressionMethod===Fd?{kind:"chunked"}:{kind:"inline"}}function Mh(t,e){return{name:t,size:e.uncompressedSize,compressedSize:e.compressedSize,method:e.method,strategy:Md(t,{uncompressedSize:e.uncompressedSize,compressionMethod:e.method}),dataStart:e.dataStart,encrypted:e.encrypted}}function Ld(t){let e=t.indexOf("/");return e<0?null:t.slice(0,e)}function vh(t){let e=null;return new ReadableStream({async pull(r){e??=(await t()).getReader();let{done:n,value:s}=await e.read();n?r.close():r.enqueue(s)},async cancel(r){await e?.cancel(r)}},{highWaterMark:0})}async function Ud(t){let{entry:e}=t.get("h5p.json");try{let r=await new Response(t.inflate(e)).json();if(!r||typeof r!="object")throw new Error("not an object");return r}catch(r){throw new se("bad-archive","h5p.json is not readable JSON",{cause:r})}}function Oi(t){return[`${t.machineName}-${t.majorVersion}.${t.minorVersion}`,t.machineName]}function cc(t){let e=/^(.+)-(\\d+)\\.(\\d+)$/.exec(t);return e?{machineName:e[1],major:Number(e[2]),minor:Number(e[3]),folder:t}:null}function vd(t){let e=new Map;for(let r of t){let n=r.indexOf("/");if(n<0||r.slice(n+1)!=="library.json")continue;let s=cc(r.slice(0,n));if(!s)continue;let i=e.get(s.machineName);i?i.push(s):e.set(s.machineName,[s])}return e}function lc(t,e){return(t.get(e.machineName)??[]).filter(n=>n.major===e.major&&n.minor>=e.minor).sort((n,s)=>n.minor-s.minor)[0]?.folder}function kh(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r))return[];let n=vd(t);return r.filter(s=>Oi(s).some(i=>t.has(`${i}/library.json`))?!1:!lc(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)}))}function zh(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r)||r.length===0)return{mainLibrary:e.mainLibrary,folders:[],all:!0};let n=kh(t,e);return n.length===0?null:{mainLibrary:e.mainLibrary,folders:n.map(s=>Oi(s)[0]),all:n.length===r.length}}function Bh(t){if(t.folders.length===0)return"h5p.json lists no preloadedDependencies, so there is nothing to run";let e=t.folders.join(", ");return t.all?`This package contains no libraries, only content. Exports from h5p.com and h5p.org often leave them out because the site they came from already has them. Set the "libraries" attribute to fetch them, or re-export with them included. Missing: ${e}`:`This package is missing ${t.folders.length} of its libraries: ${e}. Set the "libraries" attribute to fetch them, or re-export with them included.`}var kd=256*1024;function fc(t){let{store:e,entry:r,totalSize:n,onProgress:s}=t,i=t.startOffset??0;if(i%8388608!==0)throw new Error("A resumed write must start on a chunk boundary");let o=i/8388608,a=new Uint8Array(8388608),c=0,f=i,R=kd,p=async l=>{await e.setMeta(r,{size:l?f:n,available:f,complete:l}),s?.(f)};return new WritableStream({async write(l){let h=0;for(;h<l.length;){let m=8388608-c,d=Math.min(m,l.length-h);a.set(l.subarray(h,h+d),c),c+=d,h+=d,f+=d,c===8388608?(await e.putChunk(r,o,a),o+=1,a=new Uint8Array(8388608),c=0,R=kd,await p(!1)):c>=R&&(await e.putChunk(r,o,a.subarray(0,c)),R=c*2,await p(!1))}},async close(){c>0&&await e.putChunk(r,o,a.subarray(0,c)),await p(!0)},abort(){}})}Bi({useWebWorkers:!1});var zd=self,Yr=new Map,Bd=new Map,Di=new Map;function Yh(t,e){let r=Di.get(t);if(r)return r;let n=(async()=>{let s=await Dd(t,e,Bd.get(t));return Ni.open(t,s,{requireLibraries:!1})})();return Di.set(t,n),n.catch(()=>Di.delete(t)),n}function Er(t){zd.postMessage(t)}Od(t=>{Di.delete(t)});function Wh(t,e){return fd(t,e??Ze)}zd.addEventListener("message",t=>{let e=t.data;if(e){if(e.type==="abort"){for(let[r,n]of Yr)r.startsWith(ud(e.pkgId))&&(n.abort(),Yr.delete(r));return}e.file&&Bd.set(e.pkgId,e.file),Gh(e)}});async function Gh(t){let e=t.type==="extract"?t.entry:void 0,r=Wh(t.pkgId,e);if(Yr.has(r))return;let n=new AbortController;Yr.set(r,n);try{await navigator.locks.request(r,{signal:n.signal},async()=>{t.type==="download"?await Vh(t.pkgId,t.source,n.signal):await Xh(t.pkgId,t.entry,t.source,n.signal)})}catch(s){if(n.signal.aborted)return;let i=Kh(s),o=s instanceof Error?s.message:String(s);e&&await jh(t.pkgId,e,i,o),Er({type:"failed",pkgId:t.pkgId,entry:e,code:i,message:o})}finally{Yr.get(r)===n&&Yr.delete(r)}}async function Vh(t,e,r){if(e.type!=="chunked")throw new se("network","Only a chunked source is downloaded ahead of play");let n=new At(t),s=await n.getArchiveMeta();if(s?.complete){Er({type:"done",pkgId:t,size:s.size??s.available});return}let i=s?Math.floor(s.available/8388608)*8388608:0,o=await fetch(e.url,{signal:r,cache:"no-store",headers:i>0?{Range:`bytes=${i}-`}:void 0});if(i>0&&o.status!==206&&(i=0,o.status!==200&&(o=await fetch(e.url,{signal:r,cache:"no-store"}))),!o.ok&&o.status!==206)throw new se("network",`${e.url} returned ${o.status}`);if(!o.body)throw new se("network","The archive response had no body");let a=o.headers.get("content-length"),c=a?Number(a)+i:e.size,f=new Si;i>0&&await n.readRange(Ze,{start:0,end:i-1}).pipeTo(new WritableStream({write:d=>f.push(d)}));let R=-1,p=Promise.resolve(),l=d=>{d&&f.finish();let E=f.snapshot();return!d&&E.entries.length===R||(R=E.entries.length,p=p.then(()=>n.setForwardIndex(E))),p},h=new TransformStream({transform(d,E){f.push(d),E.enqueue(d)}});try{await o.body.pipeThrough(h).pipeTo(fc({store:n,entry:Ze,totalSize:c,startOffset:i,onProgress:d=>{Er({type:"progress",pkgId:t,loaded:d,total:c}),l(!1)}}),{signal:r})}catch(d){throw d instanceof st?new st(`${await nc("this package",c)} Its host does not support partial downloads, so the whole archive has to be stored before it can play.`):d}await l(!0);let m=await n.getArchiveMeta();Er({type:"done",pkgId:t,size:m?.size??m?.available??0})}async function Xh(t,e,r,n){let s=new At(t),i=await s.getMeta(e);if(i?.complete){Er({type:"done",pkgId:t,entry:e,size:i.size??i.available});return}let o=await Yh(t,r),a=o.get(e);if(!a)throw new se("bad-archive",`${e} is not in the archive`);let{entry:c}=a;await s.setMeta(e,{size:c.size,available:0,complete:!1});let f=Zh(o.handle,t,e);try{await o.inflate(c).pipeTo(fc({store:s,entry:e,totalSize:c.size,onProgress:R=>Er({type:"progress",pkgId:t,entry:e,loaded:R,total:c.size})}),{signal:n})}catch(R){throw R instanceof st?new st(await nc("this file",c.size)):R}finally{f()}Er({type:"done",pkgId:t,entry:e,size:c.size})}function Zh(t,e,r){if(t.received===void 0)return()=>{};let n=t.received,s=setInterval(()=>{let i=t.received??n;i!==n&&(n=i,Td(e,r,i))},1e3);return()=>clearInterval(s)}async function jh(t,e,r,n){let s=new At(t);try{let i=await s.getMeta(e);await s.discardChunks(e),await s.setMeta(e,{size:i?.size??null,available:0,complete:!1,error:{code:r,message:n,at:Date.now()}})}catch{}}function Kh(t){return t instanceof se?t.code:t instanceof st||Qa(t)?"quota":"network"}})();\n',p="0.1.1",z="https://api.h5p.org/v1/content-types/";class o extends Error{constructor(e,r,t){super(r,t),this.name="PlayerError",this.code=e,this.missingLibraries=t?.missingLibraries}}function x(n,e){return`h5p:${n}:${e}`}const U=new TextEncoder;async function I(n){const e=await crypto.subtle.digest("SHA-256",U.encode(n));return Array.from(new Uint8Array(e)).map(r=>r.toString(16).padStart(2,"0")).join("")}async function g(n){return(await I(n)).slice(0,32)}function y(n,e){return g(`url\0${n}\0${e??""}`)}function T(n){return g(`file\0${n.name}\0${n.size}\0${n.lastModified}`)}async function d(n){try{await n.body?.cancel()}catch{}}function D(n){if(!n)return null;const e=/\/(\d+)$/.exec(n.trim());return e?Number(e[1]):null}function F(n){return n.headers.get("etag")??n.headers.get("last-modified")}async function b(n,e){let r;try{r=await fetch(n,{headers:{Range:"bytes=0-0"},signal:e,cache:"no-store"})}catch(a){throw e?.aborted?a:new o("no-cors",`Cannot read ${n} from the browser (no CORS headers?)`,{cause:a})}const t=F(r);if(!r.ok&&r.status!==206)throw await d(r),new o("network",`${n} returned ${r.status}`);if(r.status===206){const a=D(r.headers.get("content-range"));await d(r);const s=a??await C(n,e);return s===null?{type:"chunked",url:n,size:null,validator:t}:{type:"range-http",url:n,size:s,validator:t}}const i=r.headers.get("content-length");return await d(r),{type:"chunked",url:n,size:i?Number(i):null,validator:t}}async function C(n,e){const r=await fetch(n,{signal:e,cache:"no-store"}),t=r.headers.get("content-length");return await d(r),t?Number(t):null}function E(n){const e=n.endsWith("/")?n:`${n}/`,r=e.endsWith("h5p/")?e:`${e}h5p/`;return{base:r,virtual:`${r}virtual/`,frame:`${r}frame/`,ping:`${r}virtual/_ping`}}const L=new URL("./h5p-sw.js",import.meta.url).href,O=new URL("./frame-assets/",import.meta.url).href,w={mainJs:"main.bundle.js",frameJs:"frame.bundle.js",frameCss:"styles/h5p.css"},S=`
1
+ const A='"use strict";(()=>{var Vd=Object.defineProperty;var ie=(t,e)=>()=>(t&&(e=t(t=0)),e);var Xd=(t,e)=>{for(var r in e)Vd(t,r,{get:e[r],enumerable:!0})};var Zr,Ot,w,Vt,Se,K,Zn,We,pc,xi,Z,jn,ue=ie(()=>{Zr=new Date(2107,11,31,23,59,58),Ot=new Date(1980,0,1),w=void 0,Vt=1/0,Se="undefined",K="function",Zn="object",We="string",pc="number",xi="boolean",Z=new Uint8Array,jn=Symbol.asyncDispose||Symbol()});function pr(t){if(t&&typeof t!=K)throw new Error(Xc);return t}function Jr(t){if(t&&(typeof t.addEventListener!=K||typeof t.aborted!=xi))throw new Error(Zc);return t||w}function Zt(t){if(t&&t.aborted)throw t.reason===w?new DOMException(Kc,Zd):t.reason}function os(t,e){if(t&&typeof t!=We||e&&!(e instanceof Uint8Array))throw new Error(Mi)}function mr(t){if(t!==w&&typeof t!=xi&&t!==qr)throw new Error(jc);return t}function vi(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function hr(t,e,r){t!==w&&vi(t,e,r)}function Pt(t){return typeof t==We&&t.trim()?Number(t):t}var mc,hc,gc,Rc,wc,Kn,qn,jr,Jn,_c,Tc,Ac,yc,Sc,Ic,bc,Nc,Oc,Qn,$n,es,ts,Dc,Pc,xc,Cc,rs,Lc,Uc,Fc,Ci,Li,Mc,vc,Kr,Xt,kc,zc,Bc,Hc,Yc,Wc,Ui,Gc,Vc,Fi,ns,ss,Dt,is,at,qr,Xc,Zc,Mi,jc,Kc,Zd,gr=ie(()=>{ue();mc="filenameEncoding",hc="commentEncoding",gc="decodeText",Rc="extractPrependedData",wc="extractAppendedData",Kn="password",qn="rawPassword",jr="passThrough",Jn="signal",_c="checkPasswordOnly",Tc="checkOverlappingEntryOnly",Ac="checkOverlappingEntry",yc="checkAmbiguity",Sc="checkLocalDirectory",Ic="checkLocalFilename",bc="checkSignature",Nc="checkCrc32",Oc="checkAuthenticationCode",Qn="useWebWorkers",$n="useCompressionStream",es="transferStreams",ts="preventClose",Dc="encryptionStrength",Pc="extendedTimestamp",xc="ntfsTimestamp",Cc="keepOrder",rs="level",Lc="bufferedWrite",Uc="createTempStream",Fc="dataDescriptorSignature",Ci="useUnicodeFileNames",Li="dataDescriptor",Mc="supportZip64SplitFile",vc="encodeText",Kr="offset",Xt="usdz",kc="unixExtraFieldType",zc="localExtraField",Bc="centralExtraField",Hc="strictness",Yc="filenameValidation",Wc="normalizeFilename",Ui="maxAppendedDataSize",Gc="decryptCentralDirectory",Vc="signCentralDirectory",Fi="entry",ns="filename",ss="comment",Dt="strict",is="balanced",at="tolerant",qr="compressed",Xc="Invalid option (must be a function)",Zc="Invalid signal (must be an AbortSignal instance)",Mi="Invalid password (password must be a string, rawPassword must be a Uint8Array)",jc="Invalid passThrough option (must be a boolean or \'compressed\')",Kc="The operation was aborted",Zd="AbortError"});function ct(){return ki}function Qr(t){return zi(t.chunkSize)}function zi(t){return t=Pt(t),Number.isInteger(t)&&t>=Jc?Math.max(t,jd):qc}function Bi(t){Object.assign(ki,cl(ll(t)))}function cl(t){let e={};for(let r of qd){let n=t[r];n!==w&&(e[r]=Jd(r,n))}return e}function Jd(t,e){if(ol.includes(t)){if(e=Pt(e),t==nl&&(!Number.isInteger(e)||e<Jc))throw new Error(Qc)}else if(al.includes(t))pr(e);else if(t==sl){if(e&&typeof e!=We)throw new Error($c)}else if(il.includes(t)&&e&&typeof e!=We&&typeof e!=K)throw new Error(el);return e}function ll(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===w&&r===w)return t;let n=Object.assign({},t);return n.CompressionStreamFallback===w&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===w&&(n.DecompressionStreamFallback=r),n}function xt(t){let e=cl(ll(t));Object.assign(rl,e),Object.assign(ki,e)}var qc,jd,Jc,Qc,$c,el,tl,rl,nl,sl,il,Kd,ol,al,qd,ki,Ge=ie(()=>{ue();gr();qc=64*1024,jd=64,Jc=1,Qc="Invalid maxWorkers (must be an integer greater than 0)",$c="Invalid baseURI (must be a string)",el="Invalid URI (must be a string or a function returning a string)",tl=2;try{typeof navigator!=Se&&navigator.hardwareConcurrency&&(tl=navigator.hardwareConcurrency)}catch{}rl={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:qc,maxWorkers:tl,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=Se&&CompressionStream,DecompressionStream:typeof DecompressionStream!=Se&&DecompressionStream},nl="maxWorkers",sl="baseURI",il=["wasmURI","workerURI"],Kd=["useCompressionStream","useWebWorkers","transferStreams"],ol=["chunkSize",nl,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],al=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],qd=[sl,...il,...Kd,...ol,...al],ki={...rl}});function Be(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function cs(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function L(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}var Ct=ie(()=>{});function Re(t){return!!t&&typeof t=="object"}var jt=ie(()=>{});var $r,ul,Qd,$d,eE,tE,rE,nE,sE,Ve,en=ie(()=>{$r=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let r=0;r<8;r++)e=e&1?e>>>1^3988292384:e>>>1;$r[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){let r=$r[e-1][t];$r[e][t]=r>>>8^$r[0][r&255]}[ul,Qd,$d,eE,tE,rE,nE,sE]=$r,Ve=class{constructor(e){this.crc=e||-1}append(e){let r=this.crc|0,n=e.length|0,s=0;if(n>=8&&e.buffer){let i=new DataView(e.buffer,e.byteOffset,n),o=n-8;for(;s<=o;s+=8){let a=r^i.getInt32(s,!0),c=i.getInt32(s+4,!0);r=sE[a&255]^nE[a>>>8&255]^rE[a>>>16&255]^tE[a>>>24&255]^eE[c&255]^$d[c>>>8&255]^Qd[c>>>16&255]^ul[c>>>24&255]}}for(;s<n;s++)r=r>>>8^ul[(r^e[s])&255];this.crc=r}get(){return~this.crc}}});var tn,dl=ie(()=>{en();tn=class extends TransformStream{constructor(){let e,r=new Ve;super({transform(n,s){r.append(n),s.enqueue(n)},flush(){let n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,r.get()),e.value=n}}),e=this}}});function Rr(t){if(typeof TextEncoder==Se){t=unescape(encodeURIComponent(t));let e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}else return new TextEncoder().encode(t)}var Hi=ie(()=>{ue()});function rn(t,e){fE();let r=new Int32Array(60),n=uE(t,r),s=new Int32Array(16/4),i=gl(e),o=0,a=0,c=0,f=0;return{process(l,h){h&&i.update(l,0,l.length),R(l),h||i.update(l,0,l.length)},digest(){return i.digest()}};function R(l){let h=new DataView(l.buffer,l.byteOffset,l.byteLength),m=l.length,d=0;for(;d+16<=m;d+=16)p(),h.setInt32(d,h.getInt32(d)^s[0]),h.setInt32(d+4,h.getInt32(d+4)^s[1]),h.setInt32(d+8,h.getInt32(d+8)^s[2]),h.setInt32(d+12,h.getInt32(d+12)^s[3]);if(d<m){p();for(let E=0;d<m;d++,E++)l[d]^=s[E>>2]>>>24-8*(E&3)}}function p(){o=o+1|0,o||(a=a+1|0,a||(c=c+1|0,c||(f=f+1|0)));let l=ls(o)^r[0],h=ls(a)^r[1],m=ls(c)^r[2],d=ls(f)^r[3],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[4],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[5],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[6],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[7];l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[8],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[9],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[10],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[11],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[12],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[13],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[14],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[15],l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[16],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[17],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[18],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[19],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[20],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[21],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[22],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[23],l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[24],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[25],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[26],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[27],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[28],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[29],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[30],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[31],l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[32],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[33],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[34],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[35],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[36],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[37],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[38],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[39];let A=40;n>10&&(l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[40],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[41],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[42],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[43],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[44],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[45],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[46],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[47],A=48),n>12&&(l=O[E>>>24]^D[u>>>16&255]^P[g>>>8&255]^x[_&255]^r[48],h=O[u>>>24]^D[g>>>16&255]^P[_>>>8&255]^x[E&255]^r[49],m=O[g>>>24]^D[_>>>16&255]^P[E>>>8&255]^x[u&255]^r[50],d=O[_>>>24]^D[E>>>16&255]^P[u>>>8&255]^x[g&255]^r[51],E=O[l>>>24]^D[h>>>16&255]^P[m>>>8&255]^x[d&255]^r[52],u=O[h>>>24]^D[m>>>16&255]^P[d>>>8&255]^x[l&255]^r[53],g=O[m>>>24]^D[d>>>16&255]^P[l>>>8&255]^x[h&255]^r[54],_=O[d>>>24]^D[l>>>16&255]^P[h>>>8&255]^x[m&255]^r[55],A=56),s[0]=(ce[E>>>24]<<24|ce[u>>>16&255]<<16|ce[g>>>8&255]<<8|ce[_&255])^r[A],s[1]=(ce[u>>>24]<<24|ce[g>>>16&255]<<16|ce[_>>>8&255]<<8|ce[E&255])^r[A+1],s[2]=(ce[g>>>24]<<24|ce[_>>>16&255]<<16|ce[E>>>8&255]<<8|ce[u&255])^r[A+2],s[3]=(ce[_>>>24]<<24|ce[E>>>16&255]<<16|ce[u>>>8&255]<<8|ce[g&255])^r[A+3]}}function hl(t,e,r,n){let s=gl(t),i=new Uint8Array(n),o=new Uint8Array(e.length+4),a=new DataView(o.buffer);o.set(e);for(let c=1,f=0;f<n;c++,f+=20){a.setUint32(e.length,c),s.update(o,0,o.length);let R=s.digest(),p=R.slice();for(let l=1;l<r;l++){s.update(R,0,20),R=s.digest();for(let h=0;h<20;h++)p[h]^=R[h]}i.set(p.subarray(0,Math.min(20,n-f)),f)}return i}function gl(t){let e=lE(),r=new Uint8Array(64),n=new Uint8Array(64);t.length>64&&(e.update(t,0,t.length),t=e.digest());for(let s=0;s<64;s++){let i=s<t.length?t[s]:0;r[s]=i^aE,n[s]=i^cE}return e.update(r,0,64),{update(s,i,o){e.update(s,i,o)},digest(){let s=e.digest();e.update(n,0,64),e.update(s,0,20);let i=e.digest();return e.update(r,0,64),i}}}function lE(){let t=new Int32Array(El),e=new Int32Array(16),r=new Uint8Array(64),n=new DataView(r.buffer),s=new Uint8Array(8),i=0,o=0;return{update:a,digest:c};function a(R,p,l){let h=p+l;if(o+=l,i){for(;p<h&&i<64;)r[i++]=R[p++];i==64&&(f(n,0),i=0)}if(p+64<=h){let m=new DataView(R.buffer,R.byteOffset,R.byteLength);for(;p+64<=h;p+=64)f(m,p)}for(;p<h;)r[i++]=R[p++]}function c(){let R=o*8,p=Math.floor(R/4294967296),l=R>>>0;for(a(iE,0,1);i!=56;)a(oE,0,1);s[0]=p>>>24,s[1]=p>>>16,s[2]=p>>>8,s[3]=p,s[4]=l>>>24,s[5]=l>>>16,s[6]=l>>>8,s[7]=l,a(s,0,8);let h=new Uint8Array(20),m=new DataView(h.buffer);for(let d=0;d<t.length;d++)m.setInt32(4*d,t[d]);return t.set(El),i=0,o=0,h}function f(R,p){for(let g=0;g<16;g++)e[g]=R.getInt32(p+4*g);let l=t[0],h=t[1],m=t[2],d=t[3],E=t[4],u;for(let g=0;g<15;g+=5)E=(l<<5|l>>>27)+((m^d)&h^d)+E+1518500249+e[g]|0,h=h<<30|h>>>2,d=(E<<5|E>>>27)+((h^m)&l^m)+d+1518500249+e[g+1]|0,l=l<<30|l>>>2,m=(d<<5|d>>>27)+((l^h)&E^h)+m+1518500249+e[g+2]|0,E=E<<30|E>>>2,h=(m<<5|m>>>27)+((E^l)&d^l)+h+1518500249+e[g+3]|0,d=d<<30|d>>>2,l=(h<<5|h>>>27)+((d^E)&m^E)+l+1518500249+e[g+4]|0,m=m<<30|m>>>2;E=(l<<5|l>>>27)+((m^d)&h^d)+E+1518500249+e[15]|0,h=h<<30|h>>>2,u=e[13]^e[8]^e[2]^e[0],u=u<<1|u>>>31,e[0]=u,d=(E<<5|E>>>27)+((h^m)&l^m)+d+1518500249+u|0,l=l<<30|l>>>2,u=e[14]^e[9]^e[3]^e[1],u=u<<1|u>>>31,e[1]=u,m=(d<<5|d>>>27)+((l^h)&E^h)+m+1518500249+u|0,E=E<<30|E>>>2,u=e[15]^e[10]^e[4]^e[2],u=u<<1|u>>>31,e[2]=u,h=(m<<5|m>>>27)+((E^l)&d^l)+h+1518500249+u|0,d=d<<30|d>>>2,u=e[0]^e[11]^e[5]^e[3],u=u<<1|u>>>31,e[3]=u,l=(h<<5|h>>>27)+((d^E)&m^E)+l+1518500249+u|0,m=m<<30|m>>>2;for(let g=20;g<40;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,E=(l<<5|l>>>27)+(h^m^d)+E+1859775393+u|0,h=h<<30|h>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,d=(E<<5|E>>>27)+(l^h^m)+d+1859775393+u|0,l=l<<30|l>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,m=(d<<5|d>>>27)+(E^l^h)+m+1859775393+u|0,E=E<<30|E>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,h=(m<<5|m>>>27)+(d^E^l)+h+1859775393+u|0,d=d<<30|d>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,l=(h<<5|h>>>27)+(m^d^E)+l+1859775393+u|0,m=m<<30|m>>>2;for(let g=40;g<60;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,E=(l<<5|l>>>27)+(h&m|(h|m)&d)+E+2400959708+u|0,h=h<<30|h>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,d=(E<<5|E>>>27)+(l&h|(l|h)&m)+d+2400959708+u|0,l=l<<30|l>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,m=(d<<5|d>>>27)+(E&l|(E|l)&h)+m+2400959708+u|0,E=E<<30|E>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,h=(m<<5|m>>>27)+(d&E|(d|E)&l)+h+2400959708+u|0,d=d<<30|d>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,l=(h<<5|h>>>27)+(m&d|(m|d)&E)+l+2400959708+u|0,m=m<<30|m>>>2;for(let g=60;g<80;g+=5)u=e[g-3&15]^e[g-8&15]^e[g-14&15]^e[g&15],u=u<<1|u>>>31,e[g&15]=u,E=(l<<5|l>>>27)+(h^m^d)+E+3395469782+u|0,h=h<<30|h>>>2,u=e[g-2&15]^e[g-7&15]^e[g-13&15]^e[g+1&15],u=u<<1|u>>>31,e[g+1&15]=u,d=(E<<5|E>>>27)+(l^h^m)+d+3395469782+u|0,l=l<<30|l>>>2,u=e[g-1&15]^e[g-6&15]^e[g-12&15]^e[g+2&15],u=u<<1|u>>>31,e[g+2&15]=u,m=(d<<5|d>>>27)+(E^l^h)+m+3395469782+u|0,E=E<<30|E>>>2,u=e[g&15]^e[g-5&15]^e[g-11&15]^e[g+3&15],u=u<<1|u>>>31,e[g+3&15]=u,h=(m<<5|m>>>27)+(d^E^l)+h+3395469782+u|0,d=d<<30|d>>>2,u=e[g+1&15]^e[g-4&15]^e[g-10&15]^e[g+4&15],u=u<<1|u>>>31,e[g+4&15]=u,l=(h<<5|h>>>27)+(m^d^E)+l+3395469782+u|0,m=m<<30|m>>>2;t[0]=t[0]+l|0,t[1]=t[1]+h|0,t[2]=t[2]+m|0,t[3]=t[3]+d|0,t[4]=t[4]+E|0}}function fE(){if(!pl){let t=1,e=1;do t=(t^t<<1^(t&128?27:0))&255,e=(e^e<<1)&255,e=(e^e<<2)&255,e=(e^e<<4)&255,e&128&&(e^=9),ce[t]=(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)&255;while(t!=1);ce[0]=99;for(let r=0;r<256;r++){let n=ce[r],s=Rl(n),i=s<<24|n<<16|n<<8|s^n;O[r]=i,D[r]=i>>>8|i<<24,P[r]=i>>>16|i<<16,x[r]=i>>>24|i<<8}pl=!0}}function uE(t,e){let r=t.length>>2,n=r+6,s=4*(n+1),i=1;for(let o=0;o<r;o++)e[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let o=r;o<s;o++){let a=e[o-1];o%r==0?(a=ml(a<<8|a>>>24)^i<<24,i=Rl(i)):r>6&&o%r==4&&(a=ml(a)),e[o]=e[o-r]^a}return n}function ml(t){return ce[t>>>24]<<24|ce[t>>>16&255]<<16|ce[t>>>8&255]<<8|ce[t&255]}function ls(t){return t<<24|(t&65280)<<8|t>>>8&65280|t>>>24}function Rl(t){return(t<<1^(t>>7)*27)&255}var iE,oE,El,aE,cE,ce,O,D,P,x,pl,Yi=ie(()=>{iE=new Uint8Array([128]),oE=new Uint8Array(1),El=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),aE=54,cE=92,ce=new Uint8Array(256),O=new Int32Array(256),D=new Int32Array(256),P=new Int32Array(256),x=new Int32Array(256),pl=!1});function fs(t){if(dE)return crypto.getRandomValues(t);throw new Error(wr)}var dE,Xe,Lt,ft,wr,us=ie(()=>{ue();dE=typeof crypto!=Se&&typeof crypto.getRandomValues==K,Xe="Invalid password",Lt="Invalid authentication code",ft="zipjs-abort-check-password",wr="Crypto API not supported"});function Sl(t){yl=t||rn}function Il(t,e,r,n){Object.assign(t,{ready:new Promise(s=>t.resolveReady=s),password:SE(e,r),strength:n-1,pendingInput:Z,discarded:!1})}function bl(t,e){let r=t.readable.getReader(),n=new ReadableStream({async pull(s){try{let{value:i,done:o}=await r.read();o?s.close():s.enqueue(i)}catch(i){throw on(e),r.cancel(i).catch(()=>{}),i}},cancel(s){return on(e),r.cancel(s)}});Object.defineProperty(t,"readable",{get(){return n}})}function Nl(t,e,r,n,s,i){let{engine:o,pendingInput:a}=t;a.length&&(e=Be(a,e));let c=e.length-s,f=c-c%Gi;if(r=IE(r,n+f),f){let R=Ce(r,n,n+f);R.set(Ce(e,0,f)),o.process(R,i)}return t.pendingInput=Ce(e,f),r}async function TE(t,e,r,n){let s=await Ol(t,e,r,Ce(n,0,nn[e])),i=Ce(n,nn[e]);if(s[0]!=i[0]||s[1]!=i[1])throw on(t),new Error(Xe)}function on(t){let{engine:e}=t;t.discarded=!0,e&&e.dispose&&e.dispose()}async function AE(t,e,r){let n=fs(new Uint8Array(nn[e])),s=await Ol(t,e,r,n);return Be(n,s)}async function Ol(t,e,r,n){t.password=null;let s=wE[e],i=await yE(r,n,s*2+Wi);return t.engine=yl(Ce(i,0,s),Ce(i,s,s*2)),t.discarded&&on(t),Ce(i,s*2)}async function yE(t,e,r){if(wl)try{let n=await sn.importKey(EE,t,hE,!1,RE);return new Uint8Array(await sn.deriveBits(Object.assign({salt:e},gE),n,r*8))}catch{wl=!1}return hl(t,e,Tl,r)}function SE(t,e){return e===w?Rr(t):e}function IE(t,e){if(e&&e>t.length){let r=t;t=new Uint8Array(e),t.set(r,0)}return t}function Ce(t,e,r){return t.subarray(e,r)}var Gi,EE,_l,pE,mE,Tl,hE,gE,RE,nn,wE,Ut,Wi,Al,sn,_E,wl,yl,ds,Es,Vi=ie(()=>{ue();Hi();Ct();Yi();us();Gi=16,EE="raw",_l={name:"PBKDF2"},pE={name:"HMAC"},mE="SHA-1",Tl=1e3,hE=Object.assign({hash:pE},_l),gE=Object.assign({iterations:Tl,hash:{name:mE}},_l),RE=["deriveBits"],nn=[8,12,16],wE=[16,24,32],Ut=10,Wi=2,Al=typeof crypto!=Se,sn=Al&&crypto.subtle,_E=Al&&typeof sn!=Se,wl=_E&&typeof sn.importKey==K&&typeof sn.deriveBits==K,yl=rn,ds=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n,checkPasswordOnly:s,checkAuthenticationCode:i=!0}){let o={};super({start(){Il(o,e,r,n)},async transform(a,c){let{password:f,strength:R,resolveReady:p,ready:l}=o;if(f?(await TE(o,R,f,Ce(a,0,nn[R]+Wi)),a=Ce(a,nn[R]+Wi),s?(on(o),c.error(new Error(ft))):p()):await l,o.discarded)return;let h=new Uint8Array(a.length-Ut-(a.length-Ut)%Gi);c.enqueue(Nl(o,a,h,0,Ut,!0))},async flush(a){let{engine:c,pendingInput:f,ready:R}=o;if(c){if(await R,o.discarded)return;let p=Ce(f,f.length-Ut),l=new Uint8Array(Ce(f,0,f.length-Ut));c.process(l,!0);let h=c.digest(),m=f.length<Ut?1:0;for(let d=0;d<Ut;d++)m|=h[d]^p[d];if(m&&i){a.error(new Error(Lt));return}a.enqueue(l)}}}),bl(this,o)}},Es=class extends TransformStream{constructor({password:e,rawPassword:r,encryptionStrength:n}){let s={};super({start(){Il(s,e,r,n)},async transform(i,o){let{password:a,strength:c,resolveReady:f,ready:R}=s,p=Z;if(a?(p=await AE(s,c,a),f()):await R,s.discarded)return;let l=new Uint8Array(p.length+i.length-i.length%Gi);l.set(p,0),o.enqueue(Nl(s,i,l,p.length,0,!1))},async flush(i){let{engine:o,pendingInput:a,ready:c}=s;if(o){if(await c,s.discarded)return;let f=new Uint8Array(a);o.process(f,!1);let R=Ce(o.digest(),0,Ut);i.enqueue(Be(f,R))}}}),bl(this,s)}}});function Cl(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),bE(t,e,r)}function Dl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ll(t)^e[n],hs(t,r[n]);return r}function Pl(t,e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ll(t)^e[n],hs(t,e[n]);return r}function bE(t,e,r){let n=[305419896,591751049,878082192];if(Object.assign(t,{cryptoKeys:n,crcKey0:new Ve(n[0]),crcKey2:new Ve(n[2])}),r)for(let s=0;s<r.length;s++)hs(t,r[s]);else for(let s=0;s<e.length;s++)hs(t,e.charCodeAt(s))}function hs(t,e){let[,r]=t.cryptoKeys;t.crcKey0.append([e]);let n=~t.crcKey0.get();r=xl(Math.imul(xl(r+Ul(n)),134775813)+1),t.crcKey2.append([r>>>24]);let s=~t.crcKey2.get();t.cryptoKeys=[n,r,s]}function Ll(t){let e=t.cryptoKeys[2]|2;return Ul(Math.imul(e,e^1)>>>8)}function Ul(t){return t&255}function xl(t){return t&4294967295}var _r,ps,ms,Fl=ie(()=>{en();us();_r=12,ps=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n,checkPasswordOnly:s}){super({start(){Cl(this,e,r,n)},transform(i,o){let a=this;if(a.password||a.rawPassword){let c=Dl(a,i.subarray(0,_r));if(a.password=a.rawPassword=null,(c[_r-1]^a.passwordVerification)!=0)throw new Error(Xe);i=i.subarray(_r)}s?o.error(new Error(ft)):o.enqueue(Dl(a,i))}})}},ms=class extends TransformStream{constructor({password:e,rawPassword:r,passwordVerification:n}){super({start(){Cl(this,e,r,n)},transform(s,i){let o=this,a,c;if(o.password||o.rawPassword){o.password=o.rawPassword=null;let f=fs(new Uint8Array(_r));f[_r-1]=o.passwordVerification,a=new Uint8Array(s.length+f.length),a.set(Pl(o,f),0),c=_r}else a=new Uint8Array(s.length),c=0;a.set(Pl(o,s),c),i.enqueue(a)}})}}});function He(t){if(t instanceof ReadableStream)return t;let e=t.getReader();return new ReadableStream({async pull(r){try{let{value:n,done:s}=await e.read();s?r.close():r.enqueue(n)}catch(n){throw e.cancel(n).catch(()=>{}),n}},cancel(r){return e.cancel(r)}})}function ut(t,e){t=He(t);let r=e?{type:e}:{};if(NE())return new Response(t).blob().then(s=>e?new Blob([s],r):s);let n=[];return t.pipeTo(new WritableStream({write(s){n.push(s)}})).then(()=>new Blob(n,r))}function NE(){return typeof Blob.prototype.stream!=K||new Blob([]).stream()instanceof ReadableStream}function Xi(t){if(t instanceof WritableStream)return t;let e=t.getWriter();return new WritableStream({write(r){return e.write(r)},close(){return e.close()},abort(r){return e.abort(r)}})}var Kt=ie(()=>{ue()});function gs(t){return OE.get(t)}function Rs(t){return Zi.get(t)}function DE(t,e){let{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=K&&typeof n!=K)throw new Error(Ml);Zi.set(t,{CompressionStream:r,DecompressionStream:n})}async function vl(t,e){!Zi.has(t)&&e&&DE(t,await import(e))}var Ml,dt,OE,Zi,Jt=ie(()=>{ue();Ml="Invalid codec module",dt="Compression method not supported",OE=new Map,Zi=new Map});function CE(t,e,r,n,s){let i=e.writable.getWriter(),o=e.readable.getReader(),a=n===w?new Ve:w,c=0,f=!1,R=!1,p,l,h=new ReadableStream({start(A){l=A},pull(){g()},cancel(A){return R=!0,g(),o.cancel(A)}});return m(),d(),h;async function m(){let A=t.getReader();try{let T=new Uint8Array(Bl);for(T.set(xE),await i.write(T);;){await u(),await i.ready;let{value:I,done:N}=await Xl(A,s);if(N)break;await i.write(I)}a&&await i.write(new Uint8Array(0));let y=new Uint8Array(ji),S=L(y);S.setUint32(0,a?a.get():n,!0),S.setUint32(4,r,!0),f=!0,await i.write(y),await i.close()}catch(T){await Vl(i,T),await As(A,T)}}async function d(){try{for(;;){let{value:A,done:T}=await E();if(T)break;if(c+=A.length,c>r)throw new Error(Qe);a&&a.append(A),l.enqueue(A)}R||(R=!0,l.close())}catch(A){_(A),await As(o,A)}}function E(){return o.read().catch(A=>{if(f){if(!a)throw Ss(A,Ft);if(c!=r)throw Ss(A,Qe);return{done:!0}}throw Zl(A,s)})}function u(){if(!R&&l.desiredSize<=0)return new Promise(A=>p=A)}function g(){if(p){let A=p;p=w,A()}}function _(A){R||(R=!0,l.error(A),g())}}function qi(t,e){if(!t)return!1;let r=kl.get(t);r||(r=new Map,kl.set(t,r));let n=r.get(e);if(n===w){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Is(t){return qi(t,Ki)}function Ji(t){return qi(t,Ar)}function Hl(t,e,r){e=Et(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get(){return e}})}function Yl(t,e,r){if(!t)throw new Error(dt);return new t(e,r)}function Wl(t,e,r){if(t&&e)return e;if(r&&r.requiresModule)return r}function Gl(t,e,r,n,s,i){let o=e&&n?n:s||n,a=r.deflate64?zl:Ki,c;try{c=new o(a,r)}catch(f){if(e&&s&&o!=s)c=new s(a,r);else throw f}return cn(t,c,i)}function Et(t,e){return He(t).pipeThrough(e)}function cn(t,e,r){let n=e.writable.getWriter(),s=t.getReader();return i(),e.readable;async function i(){try{for(;;){await n.ready;let o=await Xl(s,r);if(o.done){await n.close();break}await n.write(o.value)}}catch(o){await Vl(n,o),await As(s,o)}}}async function Vl(t,e){try{await t.abort(e)}catch{}}async function As(t,e){try{await t.cancel(e)}catch{}}function Xl(t,e){let r=t.read();return e?r.catch(n=>{throw e.add(n),n}):r}function Zl(t,e){return e.has(t)?t:Ss(t,jl(t)?$t:Qt)}function ys(t){return jl(t)?Ss(t,$t):t}function jl(t){return Re(t)&&t.code==PE}function Ss(t,e){let r=new Error(e);return r.cause=t,r}function LE(t,e){let r=t.getReader();return new ReadableStream({async pull(n){try{let{value:s,done:i}=await r.read();i?n.close():n.enqueue(s)}catch(s){throw await As(r,s),Zl(s,e)}},cancel(n){return r.cancel(n)}})}var Qe,Qt,$t,Ft,PE,Ki,zl,Ar,Bl,ji,xE,ws,_s,Ts,kl,Qi=ie(()=>{en();dl();Vi();Fl();us();ue();Ct();Kt();jt();Jt();Qe="Invalid uncompressed size",Qt="Invalid compressed data",$t="Codec out of memory",Ft="Invalid CRC32",PE="Z_MEM_ERROR",Ki="deflate-raw",zl="deflate64-raw",Ar="gzip",Bl=10,ji=8,xE=[31,139,8],ws=class extends TransformStream{constructor(e,{chunkSize:r,CompressionStreamFallback:n,CompressionStream:s}){super({});let{compressed:i,encrypted:o,useCompressionStream:a,zipCrypto:c,computeCrc32:f,level:R,deflate64:p,format:l,compressionMethod:h,inputSize:m}=e,d=this,E,u,g,_=super.readable,A=l&&Rs(l),T=Wl(a,s,n),y=f&&i&&!p&&!A&&(!o||c)&&!!T;if((!o||c)&&f&&!y&&(E=new tn,_=Et(_,E)),i)if(A)_=cn(_,Yl(A.CompressionStream,l,{level:R,chunkSize:r,compressionMethod:h,uncompressedSize:m}));else if(y)g=new _s,_=cn(_,new T(Ar,{level:R,chunkSize:r})),_=Et(_,g);else try{_=Gl(_,a,{level:R,chunkSize:r},s,n)}catch(S){if(!a&&n)throw ys(S);let I;try{I=new s(Ar)}catch{throw ys(S)}_=cn(_,I),_=Et(_,new _s)}o&&(c?_=Et(_,new ms(e)):(u=new Es(e),_=Et(_,u))),Hl(d,_,()=>{(!o||c)&&f&&(d.crc32=y?g.crc32:new DataView(E.value.buffer).getUint32(0))})}},_s=class extends TransformStream{constructor(){let e,r=Bl,n=new Uint8Array(0);super({transform(s,i){if(r){let f=Math.min(r,s.length);if(r-=f,s=s.subarray(f),!s.length)return}let o=n.length+s.length;if(o<=ji){n=Be(n,s);return}let a=o-ji,c=Math.min(a,n.length);i.enqueue(Be(n.subarray(0,c),s.subarray(0,a-c))),n=Be(n.subarray(c),s.subarray(a-c))},flush(){let s=L(n);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}};Ts=class extends TransformStream{constructor(e,{chunkSize:r,DecompressionStreamFallback:n,DecompressionStream:s}){super({});let{zipCrypto:i,encrypted:o,checkCrc32:a,crc32:c,compressed:f,useCompressionStream:R,deflate64:p,format:l,compressionMethod:h,rawBitFlag:m,outputSize:d}=e,E,u,g,_=super.readable;if(o&&(i?_=Et(_,new ps(e)):(u=new ds(e),_=Et(_,u))),f){let A=new Set,T=l&&Rs(l),y;if(T)_=cn(_,Yl(T.DecompressionStream,l,{chunkSize:r,compressionMethod:h,rawBitFlag:m,uncompressedSize:d}),A);else{let S=Wl(R,s,n);if(a&&!p&&c!==w&&d!==w&&S)try{y=new S(Ar,{chunkSize:r})}catch{y=w}if(!y)try{_=Gl(_,R,{chunkSize:r,deflate64:p},s,n,A)}catch(I){if(p||d===w||!R&&n)throw ys(I);try{y=new s(Ar)}catch{throw ys(I)}}}y?(g=!0,_=CE(_,y,d,c,A)):_=LE(_,A)}a&&!g&&(E=new tn,_=Et(_,E)),Hl(this,_,()=>{if(E){let A=new DataView(E.value.buffer).getUint32(0,!1);if(c!=A)throw new Error(Ft)}})}},kl=new Map});var UE,Kl,ql,Jl,$i,Ql,$l,yr,Ns,bs,ln,Os=ie(()=>{ue();Qi();UE=64*1024,Kl="message",ql="start",Jl="pull",$i="data",Ql="ack",$l="close",yr="deflate",Ns="inflate",bs=class extends TransformStream{constructor(e,r){super({});let n=this,{codecType:s}=e,i;s.startsWith(yr)?i=ws:s.startsWith(Ns)&&(i=Ts),n.outputSize=0;let o=0,a=new i(e,r),c=super.readable,f=new TransformStream({transform(p,l){p&&p.length&&(o+=p.length,l.enqueue(p))},flush(){Object.assign(n,{inputSize:o})}}),R=new TransformStream({transform(p,l){if(p&&p.length&&(l.enqueue(p),n.outputSize+=p.length,e.outputSize!==w&&n.outputSize>e.outputSize))throw new Error(Qe)},flush(){let{crc32:p}=a;Object.assign(n,{crc32:p,inputSize:o})}});Object.defineProperty(n,"readable",{get(){return c.pipeThrough(f).pipeThrough(a).pipeThrough(R)}})}},ln=class extends TransformStream{constructor(e){let r=[],n=0,s=0;(!Number.isFinite(e)||e<1)&&(e=UE),super({transform(a,c){for(r.push(a),n+=a.length;n>e;)s+=e,c.enqueue(i())},flush(a){n&&(s+=n,a.enqueue(o(r,n)))}}),Object.defineProperty(this,"outputSize",{get:()=>s});function i(){let a=new Uint8Array(e),c=0;for(;c<e;){let f=r[0],R=e-c;f.length<=R?(a.set(f,c),c+=f.length,r.shift()):(a.set(f.subarray(0,R),c),r[0]=f.subarray(R),c+=R)}return n-=e,a}function o(a,c){let f=new Uint8Array(c),R=0;for(let p of a)f.set(p,R),R+=p.length;return f}}}});function tf({initModule:t}){to=t}function rf(t){eo=t}async function nf(t){let{CompressionStream:e,CompressionStreamFallback:r}=t;return r&&!r.requiresModule||Is(e)||Ji(e)?!0:r?await sf(t):!1}async function sf(t){if(to)try{return await to(t),!0}catch{}return!1}function ro(t){t.createWorker?ef=!0:Ds=!1}async function Ps(t,...e){try{await t(...e)}catch{}}function no(t,e){return{run:()=>Cs(t,e)}}async function Cs({options:t,readable:e,writable:r,onTaskFinished:n,workerOptions:s},i){let o,a,c;try{if(t.compressed&&!t.format){let m=t.codecType.startsWith(yr),d=m?i.CompressionStreamFallback:i.DecompressionStreamFallback,E=m?i.CompressionStream:i.DecompressionStream;t.useCompressionStream?d&&d.requiresModule&&!Is(E)&&await f():!await f()&&(!d||d.requiresModule)&&(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await f(),o=new bs(t,i),a=new ln(Qr(i));let{signal:R}=s.streamOptions;await e.pipeThrough(o).pipeThrough(a).pipeTo(r,{preventClose:!0,preventAbort:!0,signal:R});let{crc32:p,inputSize:l,outputSize:h}=o;return{crc32:p,inputSize:l,outputSize:h}}catch(R){if(o){let p=a?a.outputSize:0;if(s.outputSize=p,Re(R))try{R.outputSize=p}catch{}}throw R}finally{n()}function f(){return c||(c=sf(i)),c}}var er,Ds,ef,eo,to,Mt,xs,Sr=ie(()=>{ue();Ge();jt();Os();er="Worker startup timeout",to=()=>{};Mt=class{constructor(e,{readable:r,writable:n},s,i){let{options:o,config:a,streamOptions:c,useWebWorkers:f,transferStreams:R,workerURI:p}=s,{createWorker:l}=s,{signal:h}=c;return ef&&(l=w),Object.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:r.pipeThrough(new ln(Qr(a))).pipeThrough(new xs(c),{signal:h}),writable:n,options:Object.assign({},o),workerOptions:s,workerURI:p,createWorker:l,transferStreams:R,terminate(){return new Promise(m=>{let{worker:d,busy:E}=e;E?(e.terminateResolvers=e.terminateResolvers||[],e.terminateResolvers.push(m)):(d&&(d.terminate(),e.worker=null),m()),e.interface=null})},onTaskFinished(){if(e.busy){let{terminateResolvers:m,worker:d}=e;m&&(e.terminateResolvers=null,d&&(e.terminated=!0,d.terminate())),e.busy=!1;let E=i(e);m&&m.forEach(u=>u(E))}}}),Ds===w&&(Ds=typeof Worker!=Se),(f&&eo&&(Ds&&p||l)?eo:no)(e,a)}},xs=class extends TransformStream{constructor({onstart:e,onprogress:r,size:n,onend:s}){let i=0;super({async start(){e&&await Ps(e,n)},async transform(o,a){i+=o.length,r&&await Ps(r,i,n),a.enqueue(o)},async flush(){s&&await Ps(s,i)}})}}});async function Ms(t,e){let{options:r,config:n}=e,{transferStreams:s,useWebWorkers:i,useCompressionStream:o,compressed:a,checkCrc32:c,computeCrc32:f,encrypted:R,format:p,codecURI:l}=r,{workerURI:h,createWorker:m,maxWorkers:d}=n;p&&(l&&(r.codecURI=YE(l,n.baseURI)),await vl(p,r.codecURI)),e.transferStreams=!p&&(s||s===w&&n.transferStreams);let E=!a&&!c&&!f&&!R,u=p===w||!!r.codecURI;return e.useWebWorkers=!E&&u&&(i||i===w&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:w,e.createWorker=e.useWebWorkers&&m?m:w,r.useCompressionStream=o||o===w&&n.useCompressionStream,(await g()).run();async function g(){let A=tr.find(T=>!T.busy);if(A)return pf(A),new Mt(A,t,e,_);if(tr.length<d){let T={indexWorker:Ef};return Ef++,tr.push(T),new Mt(T,t,e,_)}else return new Promise(T=>{rr.push({resolve:T,stream:t,workerOptions:e}),Us=n.workerStarvationTimeout,Fs()})}function _(A){if(lo(),A.terminated)return A.terminated=!1,GE();if(rr.length){let[{resolve:T,stream:y,workerOptions:S}]=rr.splice(0,1);T(new Mt(A,y,S,_)),Fs()}else A.worker?(pf(A),VE(A,e)):tr=tr.filter(T=>T!=A)}}function YE(t,e){try{return new URL(t,e).toString()}catch{return t}}function Fs(){!Ir&&rr.length&&Number.isFinite(Us)&&Us>=0&&(Ir=setTimeout(WE,Us))}function lo(){Ir&&(clearTimeout(Ir),Ir=null)}function WE(){if(Ir=null,rr.length){let[{resolve:t,stream:e,workerOptions:r}]=rr.splice(0,1);t(new Mt({},e,mf(r),hf)),Fs()}}function GE(){let t=rr.splice(0).map(({resolve:e,stream:r,workerOptions:n})=>new Promise(s=>{e(new Mt({},r,mf(n),()=>{hf(),s()}))}));return lo(),Promise.all(t)}function mf(t){return Object.assign({},t,{useWebWorkers:!1,workerURI:w,createWorker:w})}function hf(){lo(),Fs()}function VE(t,e){let{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.terminateTimeout=setTimeout(async()=>{tr=tr.filter(s=>s!=t);try{await t.terminate()}catch{}},n))}function pf(t){let{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}var tr,rr,Ir,Us,Ef,vs=ie(()=>{ue();Os();Jt();Sr();tr=[],rr=[],Ef=0});function gf(t){let e="";for(let r=0;r<t.length;r++)e+=XE[t[r]];return e}var XE,Rf=ie(()=>{XE="\\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 fn(t,e){return ZE(t,e,!0)}function fo(t){if(t.some(e=>e>127))try{return new TextDecoder("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}else return!1}function ZE(t,e,r){return e&&e.trim().toLowerCase()=="cp437"?gf(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}var uo=ie(()=>{Rf()});function KE(){Af=(async()=>{try{let e=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader(),r=0,n=await e.read();for(;!n.done;)r+=n.value.length,n=await e.read();Eo=r==1}catch{Eo=!1}})()}function un(t){return!!(t&&t.getData)}async function ge(t,e){if(t.init&&!t.initialized)await t.init(e);else return Promise.resolve()}async function qE(t){return t=new mt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new $e(await ut(t.readable)),await ge(t)),t}function re(t,e,r){return t.readUint8Array(e,r)}function po(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?pt.prototype.createReadable.call(t,e):t.readable}var _f,Tf,ER,pR,mR,jE,wf,ks,pt,Eo,Af,$e,zs,Bs,mt,br,dn=ie(()=>{ue();Ge();Ct();Kt();uo();_f="Writer iterator completed too soon",Tf="Invalid writer (size must be writable)",ER=256*1024,pR=16*1024*1024,mR=65557,jE="writable",wf=Symbol(),ks=class{constructor(){this.size=0}init(){this.initialized=!0}},pt=class extends ks{get readable(){return this.createReadable()}createReadable({offset:e=0,size:r,chunkSize:n=Qr(ct())}={}){let s=this,i=0;return n=zi(n),new ReadableStream({async pull(o){let a=r===w?n:Math.min(n,r-i),c=await re(s,e+i,a);c.length&&(o.enqueue(c),i+=c.length),(r!==w&&i>=r||!c.length&&a)&&o.close()}})}};$e=class extends pt{constructor(e){super(),Object.assign(this,{sourceBlob:e,size:e.size}),Af||KE()}createReadable(e){let r=this,{sourceBlob:n,size:s}=r,{offset:i=0,size:o=s-i}=e||{};if(typeof n.stream==K){if(!i&&o>=s)return He(n.stream());if(Eo)return He(n.slice(i,i+o).stream())}return super.createReadable(e)}async readUint8Array(e,r){let n=this,s=e+r,a=await(!e&&s>=n.size?n.sourceBlob:n.sourceBlob.slice(e,s)).arrayBuffer();return a.byteLength>r&&(a=a.slice(e,s)),new Uint8Array(a)}},zs=class extends pt{constructor(e){super(),this.readers=e}async init(){let e=this;e.lastDiskNumber=0;let r=e.readers=await Promise.all(e.readers.map(qE));e.diskOffsets=r.map(n=>{let s=e.size;return e.size+=n.size,s}),super.init()}getDiskOffset(e){let{diskOffsets:r,size:n}=this,s=r[e];return s===w?n:s}async readUint8Array(e,r){let n=this,{readers:s}=this,i,o=0,a=e;for(;s[o]&&a>=s[o].size;)a-=s[o].size,o++;let c=s[o];if(c){let f=c.size;if(a+r<=f)i=await re(c,a,r);else{let R=f-a,p=await re(c,a,R),l=await n.readUint8Array(e+R,r-R);i=Be(p,l)}}else i=Z;return n.lastDiskNumber=Math.max(o,n.lastDiskNumber),i}},Bs=class extends ks{constructor(e,r=4294967295){super();let n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:r,availableSize:r});let s,i,o,a=new WritableStream({async write(p){if(p===wf){o&&await f();return}let{availableSize:l}=n;if(o)p.length>=l?(await c(p.subarray(0,l)),await f(),p.length>l&&await this.write(p.subarray(l))):await c(p);else{let{value:h,done:m}=await e.next();if(m&&!h)throw new Error(_f);s=h,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ge(s),i=h.writable,o=i.getWriter(),await this.write(p)}},async close(){o&&(await o.ready,await R())},async abort(p){o&&await o.abort(p)}});Object.defineProperty(n,jE,{get(){return a}});async function c(p){let l=p.length;l&&(await o.ready,await o.write(p),s.size+=l,n.availableSize-=l)}async function f(){await R(),n.diskOffset+=s.size,n.diskNumber++,o=null,n.availableSize=n.maxSize}async function R(){await o.close()}}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(wf)}finally{e.releaseLock()}}},mt=class{constructor(e){return Array.isArray(e)&&(e=new zs(e)),(e instanceof ReadableStream||typeof e.getReader==K)&&(e={readable:He(e)}),e}},br=class{constructor(e){e.writable===w&&typeof e.next==K&&(e=new Bs(e)),(e instanceof WritableStream||typeof e.getWriter==K)&&(e={writable:Xi(e)});try{e.size=e.size===w?0:e.size}catch{throw new Error(Tf)}return e}}});function Te(t,e,r){if(!t.some(n=>n.reason==e)){let n={reason:e};r!==w&&(n.filename=r),t.push(n)}}var mo=ie(()=>{ue()});function yf(t){if(t){let e=new Map;if(t.forEach((r,n)=>{wp.has(n)||e.set(n,r.data)}),e.size)return e}}function yn(t,e,r){return t?e?12:16+r*4:0}var _o,To,Rn,Ao,wn,yo,So,Io,sr,Or,_n,bo,Tn,No,Oo,Do,Po,xo,Co,Hs,Lo,Uo,Fo,Mo,ir,vo,JE,ko,Ys,QE,An,$E,ep,tp,rp,zo,Bo,Ho,Yo,Wo,Go,np,sp,ip,op,ap,cp,lp,fp,up,dp,Ep,pp,mp,hp,gp,Rp,ht,wp,Ws=ie(()=>{ue();_o="filename",To="rawFilename",Rn="comment",Ao="rawComment",wn="uncompressedSize",yo="compressedSize",So="offset",Io="diskNumberStart",sr="lastModDate",Or="rawLastModDate",_n="lastAccessDate",bo="rawLastAccessDate",Tn="creationDate",No="rawCreationDate",Oo="internalFileAttributes",Do="externalFileAttributes",Po="msdosAttributesRaw",xo="msdosAttributes",Co="msDosCompatible",Hs="zip64",Lo="encrypted",Uo="version",Fo="versionMadeBy",Mo="zipCrypto",ir="directory",vo="executable",JE="symlink",ko="compressionMethod",Ys="signature",QE="crc32",An="extraField",$E="extraFieldInfoZip",ep="extraFieldUnix",tp="extraFieldUnixType1",rp="extraFieldPkwareUnix",zo="uid",Bo="gid",Ho="unixMode",Yo="setuid",Wo="setgid",Go="sticky",np="bitFlag",sp="rawBitFlag",ip="filenameLength",op="extraFieldLength",ap="unixExternalUpper",cp="filenameUTF8",lp="commentUTF8",fp="rawExtraField",up="extraFieldZip64",dp="extraFieldUnicodePath",Ep="extraFieldUnicodeComment",pp="extraFieldAES",mp="extraFieldNTFS",hp="extraFieldExtendedTimestamp",gp="extraFieldUSDZ",Rp=[_o,To,wn,yo,sr,Or,Rn,Ao,_n,bo,Tn,No,So,Io,Oo,Do,Po,xo,Co,Hs,Lo,Uo,Fo,Mo,ir,vo,JE,ko,Ys,QE,An,ep,$E,tp,rp,zo,Bo,Ho,ap,Yo,Wo,Go,np,sp,ip,op,cp,lp,fp,up,dp,Ep,pp,mp,hp,gp],ht=class{constructor(e){Rp.forEach(r=>this[r]=e[r])}},wp=new Set([1,39169,10,21589,28789,25461,6534,30837,30805,22613,13])});var Jf={};Xd(Jf,{ERR_AMBIGUOUS_ARCHIVE:()=>Ea,ERR_BAD_FORMAT:()=>Dr,ERR_CENTRAL_DIRECTORY_NOT_FOUND:()=>ca,ERR_CODEC_OUT_OF_MEMORY:()=>$t,ERR_ENCRYPTED:()=>ai,ERR_ENCRYPTED_CENTRAL_DIRECTORY:()=>pa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:()=>da,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:()=>aa,ERR_EOCDR_NOT_FOUND:()=>oa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:()=>fa,ERR_INVALID_AUTHENTICATION_CODE:()=>Lt,ERR_INVALID_COMPRESSED_DATA:()=>Qt,ERR_INVALID_CRC32:()=>Ft,ERR_INVALID_FILENAME_VALIDATION:()=>ga,ERR_INVALID_MAX_APPENDED_DATA_SIZE:()=>Ra,ERR_INVALID_PASSWORD:()=>Xe,ERR_INVALID_STRICTNESS:()=>ha,ERR_INVALID_UNCOMPRESSED_SIZE:()=>Qe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:()=>la,ERR_OVERLAPPING_ENTRY:()=>ua,ERR_SPLIT_ZIP_FILE:()=>Zs,ERR_UNSAFE_FILENAME:()=>ma,ERR_UNSUPPORTED_COMPRESSION:()=>dt,ERR_UNSUPPORTED_ENCRYPTION:()=>Xs,ERR_UNSUPPORTED_UINT64:()=>wa,ERR_WORKER_STARTUP_TIMEOUT:()=>er,WARNING_APPENDED_DATA:()=>Ks,WARNING_COMPRESSED_PATCHED_DATA:()=>Aa,WARNING_DUPLICATE_FILENAME:()=>ba,WARNING_MALFORMED_EXTRA_FIELD:()=>ci,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:()=>Da,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:()=>Pa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:()=>xa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:()=>Oa,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:()=>Pr,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:()=>Na,WARNING_PREPENDED_CENTRAL_DIRECTORY:()=>Sa,WARNING_PREPENDED_DATA:()=>qs,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:()=>Ia,WARNING_UNKNOWN_VERSION:()=>Ta,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:()=>ya,WARNING_UNSORTED_CENTRAL_DIRECTORY:()=>_a,WARNING_WRAPPED_ENTRIES_COUNT:()=>js,ZipReader:()=>zt,ZipReaderStream:()=>Qs,isZipFile:()=>Yf});function Pp(t,e){let{readable:r,writable:n}=new TransformStream,s,i={cancel:async a=>{e.delete(i),await(s?s.cancel(a):r.cancel(a))}};return i.readable=new ReadableStream({async pull(a){s||(s=r.getReader(),e.add(i),o());let{done:c,value:f}=await s.read();c?a.close():a.enqueue(f)},cancel:a=>i.cancel(a)},{highWaterMark:0}),i;async function o(){try{await t.getData(n,{preventClose:!1})}catch(a){try{await n.abort(a)}catch{}}finally{e.delete(i)}}}async function Yf(t,e={}){if(t=new mt(t),await ge(t),(t.size===w||!t.readUint8Array)&&(t=new $e(await ut(t.readable)),await ge(t)),t.size<22)return!1;let r=La(e,{}),n=r!=at,s=Zf(e[Ui],r),{endOfDirectoryInfo:i,endOfDirectoryReachingEndCount:o}=await jf(t,n,s);if(!i||r==Dt&&o>1)return!1;let a=V(L(i),20),c=i.offset+22+a;return t.size-c<=s}function Vo(t){let e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(v(t,r)==134630224)return!0;return!1}function Cf(t,e,r){let n=0;for(;r+46<=e.length&&v(t,r)==33639248;)r+=46+V(t,r+28)+V(t,r+30)+V(t,r+32),n++;return n%65536?0:n}function Xo(t){if(t.length>=6){let e=L(t);if(v(e,0)==84233040){let r=V(e,4);if(6+r<=t.length)return new Uint8Array(t.subarray(6,6+r))}}}function xp(t,e,r){let n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}function Cp(t){let e={rawExtensibleData:t};if(t.length>=28){let r=L(t),n=V(r,26);Object.assign(e,{compressionMethod:V(r,0),compressedSize:Le(r,2),uncompressedSize:Le(r,10),encryptionAlgorithm:V(r,18),bitLength:V(r,20),flags:V(r,22),hashAlgorithm:V(r,24),hashData:t.subarray(28,28+n)})}return e}function Wf(t,e,r){let n=t.rawBitFlag=V(e,r+2),s=(n&1)==1,i=v(e,r+6);Object.assign(t,{encrypted:s,version:V(e,r),bitFlag:{level:(n&6)>>1,dataDescriptor:(n&8)==8,languageEncodingFlag:(n&2048)==2048},rawLastModDate:i,lastModDate:Kp(i),filenameLength:V(e,r+22),extraFieldLength:V(e,r+24)})}function Gf(t,e,r,n,s){let{rawExtraField:i}=e,o=e.extraField=new Map,a=L(i),c=0,f=!1;try{for(;c<i.length;){let y=V(a,c),S=V(a,c+2);o.set(y,{type:y,data:i.slice(c+4,c+4+S)}),c+=4+S}}catch{f=!0}c>i.length&&(f=!0);let R=V(r,n+4);Object.assign(e,{signature:v(r,n+10),crc32:v(r,n+10),compressedSize:v(r,n+14),uncompressedSize:v(r,n+18)});let p=o.get(1);p&&(Lp(p,e),e.extraFieldZip64=p);let l=o.get(28789);l&&(Lf(l,_o,To,e,t),e.extraFieldUnicodePath=l);let h=o.get(25461);h&&(Lf(h,Rn,Ao,e,t),e.extraFieldUnicodeComment=h);let m=o.get(39169);m&&m.data.length>=7?(Up(m,e,R),e.extraFieldAES=m):e.compressionMethod=R;let d=o.get(13);d&&(Uf(d,e),e.extraFieldPkwareUnix=d);let E=o.get(22613);E&&(Uf(E,e),e.extraFieldUnixType1=E);let u=o.get(10);u&&(Fp(u,e),e.extraFieldNTFS=u);let g=o.get(30805),_;if(g&&(_=Ff(g,e,!1),e.extraFieldUnix=g),!_){let y=o.get(30837);y&&(Ff(y,e,!0),e.extraFieldInfoZip=y)}let A=o.get(21589);A&&(Mp(A,e,s),e.extraFieldExtendedTimestamp=A);let T=o.get(6534);return T&&(e.extraFieldUSDZ=T),f}function Lp(t,e){e.zip64=!0;let r=L(t.data),n=bp.filter(([i,o])=>e[i]==o),s=n.reduce((i,[,o])=>i+Pf[o].bytes,0);if(t.data.length<s)throw new Error(fa);for(let i=0,o=0;i<n.length;i++){let[a,c]=n[i],f=Pf[c];e[a]=t[a]=f.getValue(r,o),o+=f.bytes}}function Lf(t,e,r,n,s){if(t.data.length<5){t.valid=!1;return}let i=L(t.data),o=new Ve;o.append(s[r]);let a=L(new Uint8Array(4));a.setUint32(0,o.get(),!0);let c=v(i,1),f=kt(i,0);Object.assign(t,{version:f,[e]:fn(t.data.subarray(5)),valid:f==1&&!s.bitFlag.languageEncodingFlag&&c==v(a,0)}),t.valid&&(n[e]=t[e],n[e+Ip]=!0)}function Up(t,e,r){let n=L(t.data),s=kt(n,4);Object.assign(t,{vendorVersion:kt(n,0),vendorId:kt(n,2),strength:s,originalCompressionMethod:r,compressionMethod:V(n,5)}),e.compressionMethod=t.compressionMethod,t.vendorVersion!=Hf&&(e.crc32=w)}function Fp(t,e){let r=L(t.data),n=4,s;try{for(;n<t.data.length&&!s;){let i=V(r,n),o=V(r,n+2);i==1&&(s=t.data.slice(n+4,n+4+o)),n+=4+o}}catch{}if(s&&s.length==24){let i=L(s),o=i.getBigUint64(0,!0),a=i.getBigUint64(8,!0),c=i.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:c});let f=Zo(o),R=Zo(a),p=Zo(c),l={lastModDate:f,lastAccessDate:R,creationDate:p};Object.assign(t,l),Object.assign(e,l,{rawLastAccessDate:a,rawCreationDate:c})}}function Uf(t,e){if(t.data.length<8)return;let r=L(t.data),n=new Date((v(r,0)|0)*1e3),s=new Date((v(r,4)|0)*1e3),i={lastAccessDate:n,lastModDate:s};t.data.length>=12&&(i.uid=V(r,8),i.gid=V(r,10)),Object.assign(t,i),Object.assign(e,i)}function Ff(t,e,r){try{let n=L(t.data),s,i;if(r){let o=0,a=kt(n,o++),c=kt(n,o++);s=Mf(t.data.subarray(o,o+c)),o+=c;let f=kt(n,o++);i=Mf(t.data.subarray(o,o+f)),Object.assign(t,{version:a,uid:s,gid:i})}else t.data.length>=4&&(s=V(n,0),i=V(n,2),Object.assign(t,{uid:s,gid:i}));return s!==w&&(e.uid=s),i!==w&&(e.gid=i),s!==w||i!==w}catch{}}function Mf(t){let e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Mp(t,e,r){if(!t.data.length)return;let n=L(t.data),s=kt(n,0),i=[],o=[];r?((s&1)==1&&(i.push(sr),o.push(Or)),(s&2)==2&&(i.push(_n),o.push(bo)),(s&4)==4&&(i.push(Tn),o.push(No))):t.data.length>=5&&(i.push(sr),o.push(Or));let a=1;i.forEach((c,f)=>{if(t.data.length>=a+4){let R=v(n,a);e[c]=t[c]=new Date((R|0)*1e3);let p=o[f];t[p]=R}a+=4})}async function vp({reader:t,fileEntry:e,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:o,dataOffset:a,dataDescriptor:c,extraFieldZip64:f,readRanges:R}){let p=0;if(c&&(f?p=20:p=12),p){let E=await re(t,a+i,p+4),u=L(E),g=E.length==p+4&&v(u,0)==134695760;if(g){let _=vf(u,4,f);(e.encrypted&&!e.zipCrypto||_.crc32==s)&&_.compressedSize==i&&_.uncompressedSize==o?p+=4:g=!1}if(E.length>=p){let _=vf(u,g?4:0,f);_.signature=g,e.localDirectory.dataDescriptor=_}}let l={start:n,end:a+i+p,fileEntry:e},{indexes:h,sortedRanges:m,pendingRanges:d}=R;if(!h.has(r)){let E=kp(m,l)||d.find(u=>Ko(l,u));if(E){let u=new Error(ua);throw u.overlappingEntry=E.fileEntry,u}h.add(r),d.push(l),d.length*d.length>m.length&&(d.sort((u,g)=>u.start-g.start),R.sortedRanges=zp(m,d),d.length=0)}}function kp(t,e){let r=0,n=t.length;for(;r<n;){let o=r+n>>>1;t[o].start<e.start?r=o+1:n=o}let s=t[r-1],i=t[r];if(s&&Ko(e,s))return s;if(i&&Ko(e,i))return i}function Ko(t,e){return t.start<e.end&&e.start<t.end}function zp(t,e){let r=[],n=0,s=0;for(;n<t.length||s<e.length;)s==e.length||n<t.length&&t[n].start<e[s].start?r.push(t[n++]):r.push(e[s++]);return r}function vf(t,e,r){let n=v(t,e),s,i;return r?(s=Le(t,e+4),i=Le(t,e+12)):(s=v(t,e+4),i=v(t,e+8)),{crc32:n,compressedSize:s,uncompressedSize:i}}function xr(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function Bp(t){return await Vf(t)==134695760}async function Hp(t){let e=await Vf(t);return e==134695760||e==808471376}async function Vf(t){let e=await re(t,0,4);return v(L(e))}function Xf(t){return t===Dt||t===is||t===at}function Yp(t,e,r){return Math.min(t,r?e*Dp:e)}function La(t,e){return kf(t,kf(e,is))}function kf(t,e){let r=t[Hc];if(r!==w){if(!Xf(r))throw new Error(ha);return r}let n=t[yc];return n===w?e:n?Dt:e==at?at:is}function Wp(t,e){return t===w?e!=at:!!t}function Gp(t,e){return t===w?e==Dt:!!t}function Vp(t,e){if(t===w)return e;if(!Xf(t))throw new Error(ga);return t}function Xp(t,e){if(e==at)return!1;let r=t.split("/");return r.length>1&&r[r.length-1]===""&&r.pop(),Sp.test(t)||t.startsWith("/")||t.startsWith("\\\\")||yp.test(t)?!0:e==Dt&&(r.includes(".")||r.includes("")||t.includes("\\0"))}function Zf(t,e){if(t!==w){let r=Pt(t);if(typeof r!=pc||Number.isNaN(r)||r<0)throw new Error(Ra);return r}return e==Dt?0:e==at?1/0:65535}async function jf(t,e,r){let{size:n}=t,s=Math.min(n,65557),i={remaining:Op},o,a,c=0;for await(let[f,R,p,l,h]of Kf(t,s)){let m=V(f,l+20);if(h+22+m==n){let d=await qf(t,f,R,l,h,n,i);if(d==Js){if(o||(o=qo(p,l,h)),c++,!e||c>1)break}else d==Ca&&!a&&(a=qo(p,l,h))}}return o||(o=a),o||(o=await Zp(t,r,i)),{endOfDirectoryInfo:o,endOfDirectoryReachingEndCount:c}}async function Zp(t,e,r){let{size:n}=t,s=Math.min(n,e==1/0?n:65557+e),i,o;for await(let[a,c,f,R,p]of Kf(t,s)){let l=qo(f,R,p);i||(i=l);let h=await qf(t,a,c,R,p,n,r);if(h==Js)return l;h==Ca&&!o&&(o=l)}return o||i}async function*Kf(t,e){let r=t.size-e,n=await re(t,r,e),s=L(n);for(let i=n.length-22;i>=0;i--)v(s,i)==101010256&&(yield[s,r,n,i,r+i])}function qo(t,e,r){return{offset:r,buffer:new Uint8Array(t.subarray(e,e+22)).buffer}}async function qf(t,e,r,n,s,i,o){let a=V(e,n+10),c=v(e,n+12),f=v(e,n+16);if(a==65535||c==4294967295||f==4294967295)return await zf(t,e,r,s-20,i,o)==117853008?Js:xf;if(!a&&!c)return Ca;let R=V(e,n+6);for(let p of[s-c,xr(t,R)+f])if(await zf(t,e,r,p,i,o)==33639248)return Js;return xf}async function zf(t,e,r,n,s,i){if(n<0||n+4>s)return w;if(n>=r)return v(e,n-r);if(i.remaining>0){i.remaining--;let o=await re(t,n,4);return v(L(o),0)}return w}function jp(t,e,r,n,s){let{rawFilename:i}=t,o=!s,a=t.decryptedDirectory&&(e.rawBitFlag&8192)==8192;n&&!a&&(r.length!=i.length||r.some((c,f)=>c!=i[f]))&&tt(o,s,Oa),(e.rawBitFlag&Df)!=(t.rawBitFlag&Df)&&tt(o,s,Da),e.compressionMethod!=t.compressionMethod&&tt(o,s,Pa),!e.bitFlag.dataDescriptor&&!a&&(e.crc32||e.compressedSize||e.uncompressedSize)&&(e.crc32!=t.crc32||e.compressedSize!=t.compressedSize||e.uncompressedSize!=t.uncompressedSize)&&tt(o,s,xa)}function tt(t,e,r){t?Gs(r):Te(e,r)}function Gs(t){let e=new Error(Ea);throw e.reason=t,e}function oe(t,e,r){return e[r]===w?t.options[r]:e[r]}function Bf(t,e,r){return pr(oe(t,e,r))}function Kp(t){let e=(t&4294901760)>>16,r=t&65535,n=new Date(1980+((e&65024)>>9),((e&480)>>5)-1,e&31,(r&63488)>>11,(r&2016)>>5,(r&31)*2,0);return n<Ot?Ot:n}function Zo(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function kt(t,e){return t.getUint8(e)}function V(t,e){return t.getUint16(e,!0)}function v(t,e){return t.getUint32(e,!0)}function Le(t,e){let r=t.getBigUint64(e,!0);if(r>Np)throw new Error(wa);return Number(r)}var Dr,oa,aa,ca,la,fa,ai,Xs,Zs,ua,da,Ea,pa,ma,ha,ga,Ra,wa,_a,Ta,Aa,ci,ya,js,Ks,qs,Sa,Ia,ba,Pr,Na,Oa,Da,Pa,xa,Ap,yp,Sp,Nf,Ip,Of,Df,Hf,bp,Pf,Np,Op,Dp,xf,Ca,Js,zt,Qs,jo,li=ie(()=>{ue();Ge();Jt();vs();dn();uo();Ct();mo();Kt();jt();en();Ws();gr();Dr="File format is not recognized",oa="End of central directory not found",aa="End of Zip64 central directory locator not found",ca="Central directory header not found",la="Local file header not found",fa="Zip64 extra field not found",ai="File contains encrypted entry",Xs="Encryption method not supported",Zs="Split zip file",ua="Overlapping entry found",da="Entry data out of bounds",Ea="Ambiguous archive",pa="Encrypted central directory is not supported",ma="Unsafe filename",ha="Invalid strictness (must be \'strict\', \'balanced\' or \'tolerant\')",ga="Invalid filenameValidation (must be \'strict\', \'balanced\' or \'tolerant\')",Ra="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",wa="64-bit value exceeds Number.MAX_SAFE_INTEGER",_a="unsorted central directory",Ta="unknown version needed to extract",Aa="compressed patched data",ci="malformed extra field",ya="unknown zip64 extensible data",js="wrapped entries count",Ks="appended data",qs="prepended data",Sa="prepended central directory",Ia="trailing central directory data",ba="duplicate filename",Pr="mismatched zip64 end of central directory record",Na="multiple end of central directory records",Oa="mismatched local file header (filename)",Da="mismatched local file header (general purpose bit flag)",Pa="mismatched local file header (compression method)",xa="mismatched local file header (crc32 or sizes)",Ap=63,yp=/^[a-zA-Z]:/,Sp=/(^|[\\\\/])\\.\\.([\\\\/]|$)/,Nf="utf-8",Ip="UTF8",Of="cp437",Df=2057,Hf=1,bp=[[wn,4294967295],[yo,4294967295],[So,4294967295],[Io,65535]],Pf={65535:{getValue:v,bytes:4},4294967295:{getValue:Le,bytes:8}},Np=BigInt(Number.MAX_SAFE_INTEGER),Op=64,Dp=1032,xf=0,Ca=1,Js=2,zt=class{constructor(e,r={}){Object.assign(this,{reader:new mt(e),options:r,readRanges:{indexes:new Set,sortedRanges:[],pendingRanges:[]}})}async*getEntriesGenerator(e={}){let r=this,{reader:n}=r;if(await ge(n),(n.size===w||!n.readUint8Array)&&(n=new $e(await ut(n.readable)),await ge(n)),n.size<22)throw new Error(Dr);let s=r.warnings=[],i=La(e,r.options),o=i==Dt,a=i!=at,c=Zf(oe(r,e,Ui),i),f=Vp(oe(r,e,Yc),i),R=oe(r,e,Wc),{endOfDirectoryInfo:p,endOfDirectoryReachingEndCount:l}=await jf(n,a,c);if(!p)throw await Bp(n)?new Error(Zs):new Error(oa);a&&l>1&&Gs(Na);let h=L(p),m=v(h,12),d=v(h,16),E=p.offset,u=V(h,20),g=E+22+u,_=n.size-g;_>c&&Gs(Ks),_>0&&Te(s,Ks);let A=V(h,4),T=n.lastDiskNumber||0,y=V(h,6),S=V(h,10),I=0,N,U,H,q,$=56,j,W=d==4294967295||m==4294967295||S==65535||y==65535;if(d!=4294967295&&y!=65535&&(d+=xr(n,y)),W){let J=p.offset>=20?await re(n,p.offset-20,20):Z,b=L(J);if(J.length==20&&v(b,0)==117853008){d=xr(n,v(b,4))+Le(b,8);let Y=await re(n,d,56),Q=L(Y),pe=p.offset-20-56;if((Y.length<56||v(Q,0)!=101075792)&&d!=pe&&pe>=0){let xe=d;d=pe,d>xe&&(I=d-xe),Y=await re(n,d,56),Q=L(Y)}if(Y.length<56||v(Q,0)!=101075792)throw new Error(aa);if(H=!0,q=Le(Q,4)>44,q){let xe=Math.min(Le(Q,4)-44,n.size-d-56);if(xe>0){$+=xe;let Ke=await re(n,d+56,xe);j=Cp(Ke)}}A==65535?A=v(Q,16):A!=v(Q,16)&&tt(o,s,Pr),y==65535?y=v(Q,20):y!=v(Q,20)&&tt(o,s,Pr),S==65535?S=Le(Q,32):S!=Le(Q,32)&&tt(o,s,Pr),m==4294967295?m=Le(Q,40):m!=Le(Q,40)&&tt(o,s,Pr),d=xr(n,y)+Le(Q,48)+I}}let F=m,ne=p.offset-(H?$+20:0);if(d>=n.size&&(I=n.size-d-m-22,d=n.size-m-22),T!=A)throw new Error(Zs);if(d<0)throw new Error(Dr);let z=0,X=await re(n,d,m),M=L(X);if(m){if(X.length<4)throw new Error(Dr);let J=ne-m;if(d!=J&&y==A){let b=v(M,z)==33639248||!!(j&&j.compressedSize)||Vo(M),Y=!b;if(!Y&&J>=0&&J+4<=n.size){let Q=await re(n,J,4);Y=v(L(Q),0)==33639248}if(Y){let Q=d;d=J,d>Q&&(I+=d-Q,N=b),X=await re(n,d,m),M=L(X)}}}let G=ne-d;if(m!=G&&G>=0&&y==A&&(m=G,X=await re(n,d,m),M=L(X)),d<0||d>=n.size)throw new Error(Dr);r.directoryOffset=d,r.directoryLength=F;let Ee=Bf(r,e,Gc),me,it;if(Ee&&S&&X.length>=4&&v(M,0)!=33639248&&(q||Vo(M))){let J=xp(j,F,X.length);it=X.subarray(J),X=await Ee(X.subarray(0,J),j),M=L(X),F=X.length,me=!0}j&&!me&&(X.length<4||v(M,0)==33639248)&&Te(s,ya),U=d;let Me=oe(r,e,mc),ve=oe(r,e,hc),je=new Set,Ne,Oe=-1,De=!o&&!H;!S&&De&&(S=Cf(M,X,z),S&&Te(s,js));for(let J=0;J<S;J++){let b=new jo(n,r.options);if(z+46>X.length||v(M,z)!=33639248)throw J==0&&!me&&(q||Vo(M))?new Error(pa):new Error(ca);Wf(b,M,z+6);let Y=!!b.bitFlag.languageEncodingFlag,Q=z+46,xe=Q+b.filenameLength+b.extraFieldLength,Ke=V(M,z+4),Ht=Ke>>8==0,Wr=Ke>>8==3,Yt=V(M,z+32),Ye=xe+Yt,yt=new Uint8Array(X.subarray(Q,Ye)),ot=yt.subarray(0,b.filenameLength),de=yt.subarray(b.filenameLength+b.extraFieldLength),ye=Y||!Me&&fo(ot),Yn=Y||!ve&&fo(de),St=v(M,z+38),It=St&255,Wn={readOnly:!!(It&1),hidden:!!(It&2),system:!!(It&4),directory:!!(It&16),archive:!!(It&32)},Pi=v(M,z+42),Gr=Bf(r,e,gc)||fn,Wt=ye?Nf:Me||Of,bt=Yn?Nf:ve||Of,he=Gr(ot,Wt,ns);if(he===w&&(he=fn(ot,Wt)),R){let ze=R(he);ze!==w&&(he=ze)}if(Xp(he,f)){let ze=new Error(ma);throw ze.filename=he,ze}let Vr=Gr(de,bt,ss);Vr===w&&(Vr=fn(de,bt)),Object.assign(b,{index:J,decryptedDirectory:me,versionMadeBy:Ke,msDosCompatible:Ht,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:Yt,offset:Pi,diskNumberStart:V(M,z+34),internalFileAttributes:V(M,z+36),externalFileAttributes:St,msdosAttributesRaw:It,msdosAttributes:Wn,rawFilename:ot,filenameUTF8:ye,commentUTF8:Yn,rawExtraField:yt.subarray(b.filenameLength,b.filenameLength+b.extraFieldLength),rawComment:de,filename:he,comment:Vr}),Gf(b,b,M,z+6)&&Te(s,ci,he),b.offset+=I;let Gt=xr(n,b.diskNumberStart)+b.offset;U=Math.min(Gt,U),Gt<Oe&&Te(s,_a,he),Oe=Gt,(b.version&255)>Ap&&Te(s,Ta,he),(b.rawBitFlag&32)==32&&Te(s,Aa,he),je.has(b.filename)&&(Ne=!0),je.add(b.filename);let Nt=b.externalFileAttributes>>16&65535;b.unixMode===w&&(Nt&16877)!=0&&(b.unixMode=Nt);let Gn=!!(b.unixMode&2048),qe=!!(b.unixMode&1024),Vn=!!(b.unixMode&512),uc=((b.unixMode===w?Nt:b.unixMode)&61440)==40960,Hd=!uc&&(b.unixMode!==w?(b.unixMode&73)!=0:Wr&&(Nt&73)!=0),Yd=b.unixMode!==w&&(b.unixMode&61440)==16384,Wd=(Nt&61440)==16384;Object.assign(b,{setuid:Gn,setgid:qe,sticky:Vn,symlink:uc,unixExternalUpper:Nt,executable:Hd,directory:Yd||Wd||Ht&&Wn.directory||b.filename.endsWith("/"),zipCrypto:b.encrypted&&!b.extraFieldAES});let Xr=new ht(b);if(Xr.getData=(ze,Xn)=>b.getData(ze,Xr,r.readRanges,Xn),Xr.arrayBuffer=async ze=>{let Xn=new TransformStream,Ec=ut(Xn.readable).then(Gd=>Gd.arrayBuffer());return Ec.catch(()=>{}),await b.getData(Xn,Xr,r.readRanges,Object.assign({},ze,{preventClose:!1})),Ec},z=Ye,J==S-1&&De){let ze=Cf(M,X,z);ze&&(S+=ze,Te(s,js))}let{onprogress:dc}=e;if(dc)try{await dc(J+1,S,new ht(b))}catch{}yield Xr}let ae=z,Pe=Xo(X.subarray(z))||(me?Xo(it):w);if(!Pe&&!me){let J=d+z,b=Math.min(ne-J,65541);b>=6&&(Pe=Xo(await re(n,J,b)))}Pe&&(r.digitalSignature=Pe,ae=z+6+Pe.length),(z!=F&&ae!=F||!me&&z!=m&&ae!=m)&&tt(o,s,Ia),Ne&&tt(o,s,ba);let ke=oe(r,e,Rc),fe=oe(r,e,wc),te=(o||ke)&&S&&U==4&&await Hp(n)?4:0;return o&&(I||S&&U>te)&&Gs(qs),(I||S&&U>4)&&Te(s,qs),N&&Te(s,Sa),ke&&(r.prependedData=U>te?await re(n,te,U-te):Z),r.comment=u?await re(n,E+22,u):Z,fe&&(r.appendedData=g<n.size?await re(n,g,n.size-g):Z),!0}async getEntries(e={}){let r=[];for await(let n of this.getEntriesGenerator(e))r.push(n);return r}async close(){let{reader:e}=this;!e.readUint8Array&&e.readable&&!e.readable.locked&&await e.readable.cancel()}[jn](){return this.close()}},Qs=class{constructor(e={}){let r,{readable:n,writable:s}=new TransformStream({start(c){r=c}}),i=new zt(n,e),o=i.getEntriesGenerator(),a=new Set;this.readable=new ReadableStream({async pull(c){let{done:f,value:R}=await o.next();if(f)return c.close();let p=Pp(R,a),l={...R,readable:p.readable};delete l.getData,Object.defineProperties(l,{localDirectory:{get:()=>R.localDirectory,enumerable:!0},warnings:{get:()=>R.warnings,enumerable:!0}}),c.enqueue(l)},async cancel(c){let f=Array.from(a);a.clear(),r.error(c),await Promise.allSettled(f.map(R=>R.cancel(c))),await Promise.allSettled([o.return(),i.close()])}}),this.writable=s}};jo=class{constructor(e,r){Object.assign(this,{reader:e,options:r})}async getData(e,r,n,s={}){let i=this,o=ct(),{reader:a,index:c,offset:f,diskNumberStart:R,extraFieldAES:p,extraFieldZip64:l,compressionMethod:h,bitFlag:m,rawBitFlag:d,crc32:E,rawLastModDate:u,uncompressedSize:g,compressedSize:_}=i,{dataDescriptor:A}=m,T=r.localDirectory={},y=r.warnings=[],S=xr(a,R)+f,I=await re(a,S,30),N=L(I),U=oe(i,s,Kn),H=oe(i,s,qn),q=mr(oe(i,s,jr)),$=!!q,j=q===!0;if(os(U,H),U=U&&U.length?U:w,H=H&&H.length?H:w,p&&p.originalCompressionMethod!=99)throw new Error(dt);if(I.length<30||v(N,0)!=67324752)throw new Error(la);Wf(T,N,4);let{extraFieldLength:W,filenameLength:F}=T,ne=T.dataOffset=S+30+F+W,z=oe(i,s,Sc),X=La(s,i.options),M=Wp(z,X),G=oe(i,s,Ic),Ee=Gp(G===w?z:G,X),me=Z;if(Ee&&(F||W)){let de=await re(a,S+30,F+W);me=de.subarray(0,F),T.rawExtraField=de.subarray(F)}else T.rawExtraField=W?await re(a,S+30+F,W):Z;Ee&&(T.rawFilename=me),Gf(i,T,N,4,!0)&&Te(y,ci),jp(i,T,me,Ee,M?w:y);let{lastAccessDate:it,creationDate:Me,uid:ve,gid:je}=T;it&&(r.lastAccessDate=it),Me&&(r.creationDate=Me),ve!==w&&r.uid===w&&(r.uid=ve),je!==w&&r.gid===w&&(r.gid=je);let Ne=oe(i,s,_c),Oe=i.encrypted&&T.encrypted&&(!j||Ne),De=Oe&&!p;if(j||(r.zipCrypto=De),Oe&&(T.rawBitFlag&64)==64)throw new Error(Xs);let ae=$?w:gs(h);if(h!=0&&h!=8&&h!=9&&!ae&&!$)throw new Error(dt);if(Oe){if(!De&&(p.strength<1||p.strength>3))throw new Error(Xs);if(!U&&!H)throw new Error(ai)}if(ne+_>a.size)throw new Error(da);let Pe=_,ke=Jr(oe(i,s,Jn));Zt(ke);let fe=oe(i,s,Ac),te=oe(i,s,Tc);te&&(fe=!0);let{onstart:J,onprogress:b,onend:Y}=s,Q=h!=0&&!$,pe=$?_-yn(Oe,De,p&&p.strength):g,xe=h==9,Ke=oe(i,s,$n);xe&&(Ke=!1);let Ht=oe(i,s,Nc),Wr=(Ht===w?oe(i,s,bc):Ht)&&!$&&(!Oe||De||p&&p.vendorVersion==Hf),Yt={options:{codecType:Ns,password:U,rawPassword:H,zipCrypto:De,encryptionStrength:p&&p.strength,checkCrc32:Wr,checkAuthenticationCode:oe(i,s,Oc),passwordVerification:De&&(A?u>>>8&255:E>>>24&255),outputSize:pe,crc32:E,compressed:Q,encrypted:Oe,useWebWorkers:oe(i,s,Qn),useCompressionStream:Ke,transferStreams:oe(i,s,es),deflate64:xe,format:ae?ae.format:w,codecURI:ae?ae.codecURI:w,compressionMethod:h,rawBitFlag:d,checkPasswordOnly:Ne},config:o,streamOptions:{signal:ke,size:Pe,onstart:J,onprogress:b,onend:Y}};fe&&await vp({reader:a,fileEntry:r,index:c,offset:S,crc32:E,compressedSize:_,uncompressedSize:g,dataOffset:ne,dataDescriptor:A||T.bitFlag.dataDescriptor,extraFieldZip64:l||T.extraFieldZip64,readRanges:n});let Ye,yt,ot;try{if(!te){Ne&&(e=new WritableStream),e=new br(e),await ge(e,Yp(pe,_,Q)),{writable:Ye}=e;let de=He(a.createReadable({offset:ne,size:Pe})),{outputSize:ye}=await Ms({readable:de,writable:Ye},Yt);if(Zt(ke),ye!=pe)throw Object.assign(new Error(Qe),{outputSize:ye});e.size+=ye}}catch(de){let{outputSize:ye}=Yt;if(ye!==w?e.size+=ye:Re(de)&&de.outputSize!==w&&(e.size+=de.outputSize),!Ne||!Re(de)||de.message!=ft)throw yt=de,ot=!0,de}finally{if(!(!un(e)&&oe(i,s,ts))&&Ye&&!Ye.locked){let ye=Ye.getWriter();if(ot)try{await ye.abort(yt)}catch{}else await ye.close()}}return Ne||te?w:e.getData?e.getData():Ye}}});Ge();var as=new Uint8Array(288);as.fill(8,0,144),as.fill(9,144,256),as.fill(7,256,280),as.fill(8,280,288),new Uint8Array(30).fill(5);var lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fl=t=>t({workerURI:e=>{let r="text/javascript",n=`!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}function Ft(t){return Boolean(t)&&"object"==typeof t}const Ut=new f;function Bt(t){return Ut.get(t)}const Wt="Invalid uncompressed size",Ot="Codec out of memory",Vt="Invalid CRC32",Kt="deflate-raw",Tt="gzip",_t=[31,139,8];class jt extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Bt(l),b=Gt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Qt(g,y)),r)if(v)g=Xt(g,qt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new Ht,g=Xt(g,new b(Tt,{level:f,chunkSize:n})),g=Qt(g,S);else try{g=Jt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw en(t);let n;try{n=new o(Tt)}catch{throw en(t)}g=Xt(g,n),g=Qt(g,new Ht)}c&&(a?g=Qt(g,new Ct(t)):(m=new ht(t),g=Qt(g,m))),Nt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Ht extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Lt extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Qt(C,new zt(t)):(k=new pt(t),C=Qt(C,k))),l){const t=new Set,s=h&&Bt(h);let a;if(s)C=Xt(C,qt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=Gt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Tt,{chunkSize:n})}catch{a=v}if(!a)try{C=Jt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw en(t);try{a=new o(Tt)}catch{throw en(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(_t),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await tn(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Yt(a,t),await $t(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Wt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await $t(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw rn(t,Vt);if(d!=e)throw rn(t,Wt);return{done:!0}}throw nn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await $t(e,t),nn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Qt(C,b)),Nt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Vt)}})}}const Zt=new f;function Nt(t,e,o){e=Qt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function qt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function Gt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Jt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Kt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Xt(t,i,c)}function Qt(t,n){return Dt(t).pipeThrough(n)}function Xt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await tn(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Yt(o,t),await $t(r,t)}}(),n.readable}async function Yt(t,n){try{await t.abort(n)}catch{}}async function $t(t,n){try{await t.cancel(n)}catch{}}function tn(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function nn(t,n){return n.has(t)?t:rn(t,on(t)?Ot:"Invalid compressed data")}function en(t){return on(t)?rn(t,Ot):t}function on(t){return Ft(t)&&"Z_MEM_ERROR"==t.code}function rn(t,n){const e=new r(n);return e.cause=t,e}const cn="data",sn="deflate";class an extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(sn)?s=jt:c.startsWith("inflate")&&(s=Lt),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Wt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class fn extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let un=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(un=navigator.hardwareConcurrency)}catch{}const wn=new f,ln=new f,dn=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let pn=0;async function hn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ut.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ut.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Ft(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Zt.get(t);e||(e=new f,Zt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(sn)?i.CompressionStream:i.DecompressionStream,Kt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>wn.set(pn,t));yn({type:"pull",messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);ln.set(pn,n),yn({type:cn,value:t,messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new an(a,i),c=new fn(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):65536;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;yn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Ft(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}mn(t,n)}}function yn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function mn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Ft(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Ft(i)&&(u.cause={name:i.name,message:i.message}),f&&(u.codecImportFailed=!0),dn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&hn(t),n==cn){const t=wn.get(e);wn.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=ln.get(e);ln.delete(e),t()}}catch(t){mn(t)}}),p({type:"ready"});const Sn="deflate",gn="deflate-raw",vn="deflate64-raw",bn="gzip",kn=[Sn,gn,bn],zn=[Sn,gn,bn,vn];let Cn,In,Mn,An,En;function Rn(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function xn(t,n,e={}){if(!(t?kn:zn).includes(n))throw new TypeError("Unsupported format: "+n);if(!Cn){const t=new r("WASM module not loaded");throw t.cause=En,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=In(a),f.in=In(i),f.inBufferSize=i,!f.M||!f.in)throw Rn(new r("allocation failed"),-4);if(t?(f.P=Cn.deflate_process,f.D=Cn.deflate_last_consumed,f.F=Cn.deflate_end,f.A=Cn.deflate_new(),e=n===bn?Cn.deflate_init_gzip(f.A,s):n===gn?Cn.deflate_init_raw(f.A,s):Cn.deflate_init(f.A,s)):n===vn?(f.P=Cn.inflate9_process,f.D=Cn.inflate9_last_consumed,f.F=Cn.inflate9_end,f.A=Cn.inflate9_new(),e=Cn.inflate9_init_raw(f.A)):(f.P=Cn.inflate_process,f.D=Cn.inflate_last_consumed,f.F=Cn.inflate_end,f.A=Cn.inflate_new(),e=n===gn?Cn.inflate_init_raw(f.A):n===bn?Cn.inflate_init_gzip(f.A):Cn.inflate_init(f.A)),0!==e)throw Rn(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(An.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&Mn&&(Mn(f.in),f.in=0),f.in=In(c),f.inBufferSize=c,!f.in))throw Rn(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw Rn(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(An.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw Rn(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=Rn(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&Mn&&Mn(t.in),t.in=0,t.M&&Mn&&Mn(t.M),t.M=0,n}}class Pn{constructor(t=Sn,n){return xn(!0,t,n)}}class Dn{constructor(t=Sn,n){return xn(!1,t,n)}}Pn.requiresModule=!0,Dn.requiresModule=!0,Pn.supportedFormats=kn,Dn.supportedFormats=zn;const Fn=65536;let Un,Bn;function Wn(t){return new c(t.memory.buffer)}let On=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:Pn,DecompressionStreamFallback:Dn,U:function(t,n){const e=Un;let o=e?function(t,n,e){Bn||(Bn=t.malloc(Fn));const o=Bn?t.aes_hmac_new():0;if(o){const r=Wn(t);if(r.set(n,Bn),r.set(e,Bn+n.length),t.aes_hmac_init(o,Bn,n.length,Bn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Bn;return{process(t,n){for(let c=0;c<t.length;c+=Fn){const s=t.subarray(c,c+Fn),a=Wn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Wn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!On)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(Cn=t,({malloc:In,free:Mn,memory:An}=Cn),"function"!=typeof In||"function"!=typeof Mn||!An)throw Cn=In=Mn=An=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Un=a,Bn=0)}(t,n),On=!0}catch(t){throw function(t){En=t}(t),t}}(t.wasmURI,t)})});\n`;if(typeof n=="string"&&(n=new TextEncoder().encode(n)),e){let s=new Blob([n],{type:r});return URL.createObjectURL(s)}return"data:"+r+";base64,"+(function(s){let i="",o=s.length,a=0;for(;a+2<o;a+=3){let f=s[a]<<16|s[a+1]<<8|s[a+2];i+=lt[f>>18&63]+lt[f>>12&63]+lt[f>>6&63]+lt[63&f]}let c=o-a;if(c===1){let f=s[a]<<16;i+=lt[f>>18&63]+lt[f>>12&63]+"=="}else if(c===2){let f=s[a]<<16|s[a+1]<<8;i+=lt[f>>18&63]+lt[f>>12&63]+lt[f>>6&63]+"="}return i})(n)}});Ge();ue();Ct();jt();Os();Sr();var of={type:"module"},io="error",FE="messageerror",af="abort",cf,so,lf,oo=!0;try{oo=typeof structuredClone==K&&structuredClone(new DOMException("","AbortError")).code!==w}catch{}rf(ME);function ME(t,e){let{baseURI:r,chunkSize:n,workerStartupTimeout:s}=e,{wasmURI:i}=e;if(!t.interface){typeof i==K&&(i=i());let o;try{o=Ls(t.workerURI,r,t)}catch{return ro(t),no(t,e)}Object.assign(t,{worker:o,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await vE(t,{chunkSize:n,wasmURI:i,baseURI:r,workerStartupTimeout:s})}catch(a){if(a&&a.workerStartupFailed)return ro(t),ff(t),Cs(t,e);if(a&&a.codecImportFailed){if(t.reader)return ff(t),Cs(t,e);t.onTaskFinished()}throw a}}}})}return t.interface}async function vE(t,e){if(!t.worker){let{startupError:h}=t;t.startupError=null;let m=h||new Error(er);throw m.workerStartupFailed=!0,m}let r,n,s=new Promise((h,m)=>{r=h,n=d=>{let{outputSize:E,workerOptions:u}=t;if(u.outputSize=E,Re(d))try{d.outputSize=E}catch{}m(d)}});Object.assign(t,{reader:null,writer:null,outputSize:0,destinationFailed:!1,destinationError:null,resolveResult:r,rejectResult:n,result:s});let{readable:i,options:o}=t,{writable:a,closed:c,abortPipe:f}=kE(t.writable,t),R;try{R=ao({type:ql,options:o,config:e,readable:i,writable:a},t)}catch(h){f();try{await c}catch{}throw t.onTaskFinished(),h}R||Object.assign(t,{reader:i.getReader(),writer:a.getWriter()});let{workerStartupTimeout:p}=e;!t.workerAlive&&Number.isFinite(p)&&p>=0&&(t.startupTimeout=setTimeout(()=>zE(t),p));try{let h=await s;return await l(),await c,h}catch(h){await l(),f();try{await c}catch{}let{outputSize:m,workerOptions:d,destinationFailed:E,destinationError:u}=t;d.outputSize=m;let g=Re(h)&&(h.codecImportFailed||h.workerStartupFailed),_=E&&!g?u:h;if(Re(_))try{_.outputSize=m}catch{}throw _}async function l(){if(!R&&!a.locked)try{await a.getWriter().close()}catch{}}}function kE(t,e){let r=new AbortController,n,{writable:s,readable:i}=new TransformStream({transform(c,f){e.outputSize+=c.length,f.enqueue(c)}}),o=i.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});o.catch(c=>{n||Object.assign(e,{destinationFailed:!0,destinationError:c})});let{signal:a}=e.workerOptions.streamOptions;if(a){let c=()=>r.abort(a.reason),f=()=>a.removeEventListener(af,c);a.addEventListener(af,c),o.then(f,f)}return{writable:s,closed:o,abortPipe:()=>{n=!0,r.abort()}}}function ff(t){let{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function co(t){let{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function Ls(t,e,r,n,s=!0){let{createWorker:i}=r,o,a,c;if(i)o=i();else if(so===w||cf!==t){let f=typeof t==K;f?a=t(s):a=t;let R=a.startsWith("data:"),p=a.startsWith("blob:");if(R||p){n===w&&(n=!1),n&&(c=of);try{o=new Worker(a,c)}catch(l){if(p)try{URL.revokeObjectURL(a)}catch{}if(f&&p)return Ls(t,e,r,n,!1);if(n)throw l;return Ls(t,e,r,!0,!1)}}else{n===w&&(n=!0),n&&(c=of);try{a=new URL(a,e)}catch{}try{o=new Worker(a,c)}catch(l){if(n)return Ls(t,e,r,!1,s);throw l}}cf=t,so=a,lf=c}else o=new Worker(so,lf);return o.addEventListener(Kl,f=>{r.workerAlive=!0,df(r),BE(f,r)}),o.addEventListener(io,f=>uf(f,r)),o.addEventListener(FE,f=>uf(f,r)),o}function zE(t){if(t.startupTimeout=null,t.workerAlive)return;let{rejectResult:e,writer:r}=t;if(co(t),t.worker=null,e){let n=new Error(er);n.workerStartupFailed=!0,e(n),r&&r.releaseLock()}}function df(t){let{startupTimeout:e}=t;e&&(clearTimeout(e),t.startupTimeout=null)}function uf(t,e){t.preventDefault&&t.preventDefault(),df(e);let{workerAlive:r,rejectResult:n,writer:s,onTaskFinished:i}=e;co(e),r||(e.worker=null);let o=t.error||new Error(t.message||io);r||(o=Object.assign(new Error(o.message||io),{workerStartupFailed:!0}),e.startupError=o),n&&(n(o),s&&s.releaseLock(),r&&i())}function ao(t,{worker:e,writer:r,transferStreams:n,workerAlive:s}){try{let{value:i,readable:o,writable:a}=t,c=[];if(i&&(t.value=cs(i),c.push(t.value.buffer)),n&&oo&&s?(o&&c.push(o),a&&c.push(a)):t.readable=t.writable=null,c.length)try{return e.postMessage(t,c),!0}catch{oo=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(i){throw r&&r.releaseLock(),i}}async function BE({data:t},e){let{type:r,value:n,messageId:s,result:i,error:o,errorValue:a}=t,{reader:c,writer:f,resolveResult:R,rejectResult:p,onTaskFinished:l,generation:h}=e,m=()=>e.generation!=h;try{if(o)d(HE(o,a));else{if(r==Jl){let{value:g,done:_}=await c.read();m()||ao({type:$i,value:g,done:_,messageId:s},e)}if(r==$i){let g=new Uint8Array(n);await f.ready,await f.write(g),m()||ao({type:Ql,messageId:s},e)}r==$l&&E(i)}}catch(g){m()||(co(e),d(g))}function d(g){m()||(p(g),u(),Re(g)&&g.codecImportFailed||l())}function E(g){m()||(R(g),u(),l())}function u(){f&&f.releaseLock()}}function HE(t,e){let{message:r,stack:n,code:s,name:i,outputSize:o,cause:a,codecImportFailed:c}=t,f;if(e?f=e.value:f=Object.assign(new Error(r),{stack:n,code:s,name:i}),Re(f))try{o!==w&&(f.outputSize=o),c&&(f.codecImportFailed=!0),a&&!Re(f.cause)&&(f.cause=Object.assign(new Error(a.message),{name:a.name})),e&&(f.name!==i&&(f.name=i),f.code!==s&&(f.code=s))}catch{}return f}li();ue();Ge();Jt();Sr();vs();dn();Hi();Ct();mo();Kt();jt();Ws();gr();var Wa="File already exists",Ga="Zip file comment exceeds 64KB",du="Invalid zip file comment (must be a Uint8Array)",Eu="File entry comment exceeds 64KB",pu="Invalid file entry comment (must be a string)",mu="Invalid date (must be a valid Date instance)",hu="File entry name exceeds 64KB",Va="Version exceeds 65535",gu="The strength must equal 1, 2, or 3",Ru="Encryption is not supported in USDZ files",wu="Split zip files are not supported in USDZ files",_u="Encryption is not supported when the \'passThrough\' option is set to true (use \'compressed\' instead)",Tu="Invalid extra field (must be a Map)",Au="Invalid extra field type (must be integer 0..65535)",yu="Invalid extra field data (must be a Uint8Array)",gi="Extra field data exceeds 64KB",Su=-2147483648,Iu=2147483647,tu=BigInt(0),ru=BigInt("0x7fffffffffffffff"),Ri="Zip64 is not supported (set the \'zip64\' option to \'true\')",bu="Undefined uncompressed size",Nu="Undefined compression method",Ou="Undefined CRC32";var Du="Undefined reader",Pu="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a \'readable\' property)",xu="Zip file not empty",Cu="Invalid uid (must be integer 0..2^32-1)",Lu="Invalid gid (must be integer 0..2^32-1)",Uu="Invalid UNIX mode (must be integer 0..65535)",Fu="Invalid unixExtraFieldType (must be \'infozip\' or \'unix\')",Mu="uid/gid must be 0..65535 for unixExtraFieldType \'unix\' (use \'infozip\' for larger ids)",vu="Invalid msdosAttributesRaw (must be integer 0..255)",ku="Invalid msdosAttributes (must be an object with boolean flags)",zu="Invalid level (must be integer 0..9)",Bu="Signature data exceeds 64KB",Hu="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Yu="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Wu="compression unavailable",Gu="clamped last modification date",nu=new Uint8Array([7,0,2,0,65,69,3,0,0]),om=4,am=9,cm=67,lm=32,fm=126,um=1,Ei="infozip",pi="unix",dm=[8,9,5,3],Em=9,Ua=0,su=[],mi=class{constructor(e,r={}){e=new br(e);let{availableSize:n=Vt,maxSize:s=Vt}=e,i=n>0&&n!==Vt&&s>0&&s!==Vt;if(i&&r[Xt])throw new Error(wu);Object.assign(this,{writer:e,addSplitZipSignature:i,options:r,fileEntries:new Map,filenames:new Set,offset:r[Kr]===w?e.size||e.writable.size||0:r[Kr],initialOffset:r[Kr]===w?0:r[Kr]-(e.size||e.writable.size||0),pendingAddFileCalls:new Set,pendingErrors:[],warnings:[],bufferedWrites:0,directWrites:0,lastFileEntry:w,archiveClosed:!1})}prependZip(e){return Fa(this,pm(this,e))}appendZip(e){return Fa(this,this.appendZipEntries(e))}async appendZipEntries(e){let r=this,{pendingAddFileCalls:n,filenames:s,fileEntries:i}=r;for(;n.size;)await Promise.allSettled(Array.from(n));let o,a=new Promise(R=>o=R);n.add(a);let c=[],f;try{e=new mt(e),await ge(e),(e.size===w||!e.readUint8Array)&&(e=new $e(await ut(e.readable)),await ge(e));let{ZipReader:R}=await Promise.resolve().then(()=>(li(),Jf)),p=new R(e),l=await p.getEntries();await p.close(),await ge(r.writer);let{directoryOffset:h}=p;l.forEach(({filename:E})=>{if(s.has(E))throw new Error(Wa);s.add(E),c.push(E)}),r.writerLocked=!0;let{lockWriter:m}=r;r.lockWriter=new Promise(E=>f=()=>{r.writerLocked=!1,E()}),await m,r.addSplitZipSignature&&(delete r.addSplitZipSignature,await Um(e)||(await nt(r.writer,Zu()),r.offset+=4));let d=await Fm(r,e,l,h);l.forEach(E=>{let{version:u,rawLastModDate:g,rawFilename:_,bitFlag:A,encrypted:T,uncompressedSize:y,compressedSize:S,extraFieldZip64:I}=E,{compressionMethod:N,rawExtraField:U}=E,{level:H,languageEncodingFlag:q,dataDescriptor:$}=A;U=Xu(U||Z),E.extraFieldAES&&(N=99);let j=B(U),W=!!I&&I.uncompressedSize!==w,F=!!I&&I.compressedSize!==w,ne=qu(H,q,$,T,N)&-7|H<<1,{headerArray:z,headerView:X}=Ku({version:u,bitFlag:ne,compressionMethod:N,uncompressedSize:y,compressedSize:S,rawLastModDate:g,rawFilename:_,zip64CompressedSize:F,zip64UncompressedSize:W,extraFieldLength:j}),{crc32:M}=E;M!==w&&_e(X,10,M);let{offset:G,diskNumberStart:Ee}=d.get(E);Object.assign(E,{zip64Enabled:!0,zip64UncompressedSize:W,zip64CompressedSize:F,offset:G,diskNumberStart:Ee,zip64DiskNumberStart:!1,rawExtraFieldZip64:Z,rawExtraFieldAES:Z,rawExtraFieldExtendedTimestamp:Z,rawExtraFieldNTFS:Z,rawExtraFieldUnix:Z,rawExtraField:U,rawCentralExtraField:Z,headerArray:z,headerView:X}),i.set(E.filename,E)})}catch(R){throw c.forEach(p=>s.delete(p)),R}finally{o(),n.delete(a),f&&f()}}add(e="",r,n={}){let s=this,{pendingAddFileCalls:i}=s,o=mm(s,e,r,n);i.add(o);let a=()=>i.delete(o);return Promise.prototype.then.call(o,a,a),Fa(s,o)}remove(e){let{filenames:r,fileEntries:n}=this;if(typeof e==We&&(e=n.get(e)),e&&e.filename!==w){let{filename:s}=e;if(r.has(s)&&n.has(s))return r.delete(s),n.delete(s),!0}return!1}async close(e=Z,r={}){let n=this,{pendingAddFileCalls:s,writer:i}=this,{writable:o}=i;if(n.archiveClosed)return iu(i);if(!(e instanceof Uint8Array))throw new Error(du);if(B(e)>65535)throw new Error(Ga);for(;s.size;)await Promise.allSettled(Array.from(s));await Promise.allSettled(n.pendingErrors.map(f=>f.recorded));let a=n.pendingErrors.filter(f=>f.failed&&!f.observed);if(a.length){let f=a.map(p=>p.error);a.forEach(p=>p.observed=!0);let[R]=f;try{R.entryErrors=f}catch{}throw R}return await Dm(n,e,r),n.archiveClosed=!0,!un(i)&&k(n,r,ts)||await o.getWriter().close(),iu(i)}[jn](){return this.close()}};var Ba=class extends Promise{then(e,r){let{watcher:n}=this;return n&&(n.observed=!0),super.then(e,r)}};function iu(t){return t.getData?t.getData():t.writable}function Fa(t,e){let r=new Ba((s,i)=>Promise.prototype.then.call(e,s,i)),n={};return r.watcher=n,n.recorded=Promise.prototype.then.call(r,w,s=>Object.assign(n,{failed:!0,error:s})),t.pendingErrors.push(n),r}async function pm(t,e){if(t.filenames.size)throw new Error(xu);await t.appendZipEntries(e)}async function mm(t,e,r,n){n=Object.assign({},n);let s=n[Fi];if(s!==w){let{entryOptions:i,passThroughOptions:o}=Vu(s,mr(k(t,n,jr)),k(t,n,sr));delete n[Fi],n=Object.assign(i,o,n)}if(k(t,n,ir)&&!e.endsWith("/")&&(e+="/"),t.filenames.has(e))throw new Error(Wa);t.filenames.add(e),Ua<ct().maxWorkers?Ua++:await new Promise(i=>su.push(i));try{return await hm(t,e,r,n)}catch(i){throw t.filenames.delete(e),i}finally{let i=su.shift();i?i():Ua--}}async function hm(t,e,r,n){let s=Rm(t,e,n);({name:e}=s);let i=wm(t,e,n),{comment:o}=i,a=n[An];t.fileEntries.set(e,w);let c=t.lastFileEntry,f={},R;i.resolvedOptions.keepOrder&&(f.lockFileEntry=new Promise(l=>R=l)),t.lastFileEntry=f;let p;try{let{resolvedOptions:l}=i;l.level!=0&&l.compressionMethod===w&&!l.passThroughCompression&&!await nf(ct())&&(l.level=0,Te(t.warnings,Wu,e));let h=await _m(t,r,i,n);({reader:r}=h);let m=Pn(t.writer),d=wt(t.writer),E=n.crc32===w?n[Ys]:n.crc32,u=h.resolvedOptions.encrypted&&!l.zipCrypto;if(l.passThroughCompression&&!l.passThroughEncryption&&u&&(E=w),l.passThroughCompression&&r&&!u&&E===w)throw new Error(Ou);n=Object.assign({},n,s.resolvedOptions,i.resolvedOptions,h.resolvedOptions,{signature:n[Ys],crc32:E,offset:t.offset-m,diskNumberStart:d,[Xt]:t.options[Xt]});let g=Sm(n);g.lastModDateClamped&&Te(t.warnings,Gu,e);let _=bm(n),A=B(g.localHeaderArray,_.dataDescriptorArray);p=await Am(t,e,r,{headerInfo:g,dataDescriptorInfo:_,metadataSize:A,fileEntry:f,previousFileEntry:c,releaseLockFileEntry:R},n)}catch(l){throw t.fileEntries.delete(e),l}finally{R&&R(c&&c.lockFileEntry)}return Object.assign(p,{name:e,comment:o,extraField:a}),new ht(p)}function Vu(t,e,r){if(t===null||typeof t!=Zn||Array.isArray(t))throw new Error(Hu);let{externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:o,rawLastModDate:a,creationDate:c,lastAccessDate:f,uncompressedSize:R,encrypted:p,zipCrypto:l,crc32:h,compressionMethod:m,extraFieldAES:d,extraFieldUnix:E,internalFileAttributes:u,extraField:g,bitFlag:_,directory:A,uid:T,gid:y}=t,S={externalFileAttributes:n,versionMadeBy:s,comment:i,lastModDate:o,creationDate:c,lastAccessDate:f,internalFileAttributes:u,directory:A};_&&_.languageEncodingFlag&&(S[Ci]=!0);let I=yf(g);I&&(S[An]=I),(T!==w||y!==w)&&Object.assign(S,{uid:T,gid:y,unixExtraFieldType:E?pi:Ei});let N={};if(e&&!A){if(Object.assign(N,{uncompressedSize:R,crc32:h,compressionMethod:m}),e!==qr&&Object.assign(N,{encrypted:p,zipCrypto:l,encryptionStrength:d?d.strength:w}),_&&(N.dataDescriptor=_.dataDescriptor,N[rs]=dm[_.level]),r===w)N.rawLastModDate=a;else if(e!==qr&&l&&(!_||_.dataDescriptor)&&r instanceof Date&&gm(r)!=(a>>>8&255))throw new Error(Yu)}return{entryOptions:S,passThroughOptions:N}}function gm(t){let e=new Date(Math.ceil(Math.floor(t.getTime()/1e3)/2)*2e3);return e<Ot?e=Ot:e>Zr&&(e=Zr),(e.getHours()<<3|e.getMinutes()>>3)&255}function Rm(t,e,r){let n=k(t,r,Co),s=k(t,r,Fo,n?20:768),i=k(t,r,vo),o=vr(t,r,zo),a=vr(t,r,Bo),c=vr(t,r,Ho),f=k(t,r,kc),R=k(t,r,Yo),p=k(t,r,Wo),l=k(t,r,Go);if(hr(o,4294967295,Cu),hr(a,4294967295,Lu),hr(c,65535,Uu),f!==w&&f!==Ei&&f!==pi)throw new Error(Fu);if(f===pi&&(o!==w&&o>65535||a!==w&&a>65535))throw new Error(Mu);f===w&&(o!==w||a!==w)&&(f=Ei);let h=vr(t,r,Po),m=k(t,r,xo),d=o!==w||a!==w||c!==w||f||i,E=h!==w||m!==w;if(d?(n=!1,s=s&255|768):E&&(n=!0,s=s&255),hr(h,255,vu),m&&(typeof m!==Zn||Array.isArray(m)))throw new Error(ku);if(s>65535)throw new Error(Va);let u=k(t,r,Do),g=u!==w;g||(u=0),!r[ir]&&e.endsWith("/")&&(r[ir]=!0);let _=k(t,r,ir);if(_?(e.endsWith("/")||(e+="/"),g||(u=16,n||(u|=16877<<16))):!n&&!g&&(i?u=493<<16:u=420<<16),!n){let y=c!==w||!!(R||p||l),S=u>>16&65535;c=c===w?S:c&65535,R?c|=2048:R=!!(c&2048),p?c|=1024:p=!!(c&1024),l?c|=512:l=!!(c&512),(!g||y)&&(_?c=c&-61441|16384:c&61440||(c|=32768),u=(c&65535)<<16|u&65535)}({msdosAttributesRaw:h,msdosAttributes:m}=Im(h,m)),E&&(u=u&4294967295|h&255);let A=u>>16&65535,T=c!==w&&(c&61440)==40960;return{name:e,resolvedOptions:{versionMadeBy:s,msDosCompatible:!!n,externalFileAttributes:u,unixExternalUpper:A,uid:o,gid:a,unixMode:c,unixExtraFieldType:f,symlink:T,setuid:R,setgid:p,sticky:l,msdosAttributesRaw:h,msdosAttributes:m}}}function wm(t,e,r){let n=Ha(t,r,vc)||Rr,s=n(e,ns);if(s===w&&(s=Rr(e)),B(s)>65535)throw new Error(hu);let i=r[Rn]||"";if(typeof i!=We)throw new Error(pu);let o=n(i,ss);if(o===w&&(o=Rr(i)),B(o)>65535)throw new Error(Eu);let a=k(t,r,Uo);if(a!==w&&a>65535)throw new Error(Va);let c=za(t,r,sr,new Date),f=k(t,r,Or),R=za(t,r,_n),p=za(t,r,Tn),l=k(t,r,Oo,0),h=mr(k(t,r,jr)),m=!!h,d=h===!0,E=k(t,r,Kn),u=k(t,r,qn);os(E,u),E=E&&E.length?E:w,u=u&&u.length?u:w;let g=vr(t,r,Dc,3),_=k(t,r,Mo),A=k(t,r,Pc,!0),T=k(t,r,xc),y=k(t,r,Cc,!0),S=k(t,r,Qn),I=k(t,r,es),N=k(t,r,Lc),U=Ha(t,r,Uc),H=k(t,r,Fc,!0),q=Jr(k(t,r,Jn));Zt(q);let $=k(t,r,Ci,!uu(s)||!uu(o)),j=k(t,r,ko),W=m||j===w?w:gs(j);if(!m&&j!==w&&j!==0&&j!==8&&!W)throw new Error(dt);let F=vr(t,r,rs);if(hr(F,Em,zu),t.options[Xt]){if(E!==w||u!==w)throw new Error(Ru);F===w&&j===w&&(F=0)}m&&(F=Pt(r[rs]));let ne=k(t,r,$n),z=k(t,r,Li);N&&z===w&&(z=!1),(z===w||_&&!d)&&(z=!0),F!==w&&F!=6&&(ne=!1);let X=k(t,r,Hs);if(!_&&(E!==w||u!==w)&&!(Number.isInteger(g)&&g>=1&&g<=3))throw new Error(gu);let M=Ma(r[An]),G=Ma(r[zc]),Ee=Ma(r[Bc]);return{comment:i,resolvedOptions:{rawFilename:s,rawComment:o,version:a,lastModDate:c,rawLastModDate:f,lastAccessDate:R,creationDate:p,internalFileAttributes:l,passThroughCompression:m,passThroughEncryption:d,password:E,rawPassword:u,encryptionStrength:g,zipCrypto:_,extendedTimestamp:A,ntfsTimestamp:T,keepOrder:y,useWebWorkers:S,transferStreams:I,bufferedWrite:N,createTempStream:U,dataDescriptorSignature:H,signal:q,useUnicodeFileNames:$,compressionMethod:j,format:W?W.format:w,codecURI:W?W.codecURI:w,codecVersionNeeded:W?W.versionNeeded:w,level:F,useCompressionStream:ne,dataDescriptor:z,zip64:X,rawExtraField:M,rawLocalExtraField:G,rawCentralExtraField:Ee}}}function Ma(t){if(!t)return Z;if(!(t instanceof Map))throw new Error(Tu);let e=0,r=0;t.forEach((i,o)=>{if(vi(o,65535,Au),!(i instanceof Uint8Array))throw new Error(yu);if(B(i)>65535)throw new Error(gi);e+=4+B(i)});let n=new Uint8Array(e),s=L(n);return t.forEach((i,o)=>{rt(s,r,o),rt(s,r+2,B(i)),Ln(n,i,r+4),r+=4+B(i)}),n}async function _m(t,e,{resolvedOptions:r},n){if(r.passThroughCompression&&!e&&!k(t,n,ir))throw new Error(Du);let s;if(e){if(e=new mt(e),await ge(e),!e.readable&&!e.readUint8Array)throw new Error(Pu);({size:s}=e)}return Object.assign({reader:e},Tm(t,!!e,s,r,n))}function Tm(t,e,r,n,s){let{passThroughCompression:i,passThroughEncryption:o,zipCrypto:a,password:c,rawPassword:f,encryptionStrength:R}=n,{dataDescriptor:p,zip64:l,level:h,compressionMethod:m}=n,d=0,E=0,u=!1;if(i&&e){if(E=s[wn],E===w)throw new Error(bu);if(m===w)throw new Error(Nu)}let g=l===!0,_=k(t,s,Lo);if(e&&o&&!_&&B(c,f))throw new Error(_u);let A=e&&(!!(c&&B(c)||f&&B(f))||o&&_);e||(h=0,m=0);let T=yn(A,a,R);e&&(i?(s.uncompressedSize=E,d=r===w?fu(E)+T:r+(o?0:T)):r===w?(p=!0,(l||l===w)&&(l=u=!0,d=4294967296)):(s.uncompressedSize=E=r,d=(Ya(m,h)?fu(E):E)+T));let y=!A&&(!e||r===0&&!i)&&!Ya(m,h);y&&k(t,s,Li)===w&&(p=!1);let S=g||u||E>=4294967295,I=g||d>=4294967295;if(S||I){if(l===!1)throw new Error(Ri);l=!0}return l=l||!1,{maximumCompressedSize:d,resolvedOptions:{dataDescriptor:p,emptyEntry:y,zip64:l,zip64Enabled:g,unknownSize:u,zip64UncompressedSize:S,zip64CompressedSize:I,uncompressedSize:E,level:h,compressionMethod:m,encrypted:A}}}async function Am(t,e,r,n,s){let{fileEntries:i,writer:o}=t,{keepOrder:a,dataDescriptor:c,emptyEntry:f,signal:R}=s,{headerInfo:p,fileEntry:l,previousFileEntry:h,releaseLockFileEntry:m}=n,d=t.options[Xt],E=l,u,g,_,A,T,y,S=0,I,N=a&&h?h.lockFileEntry:w;i.set(e,E);try{s.bufferedWrite||!a||t.writerLocked||t.bufferedWrites||t.directWrites||!c&&!f?(u=!0,t.bufferedWrites++,s.createTempStream?I=await s.createTempStream():I=new TransformStream(w,w,{highWaterMark:Vt}),I.size=0,await ge(o)):(g=!0,t.directWrites++,I=o,await N,await U()),await ge(I);let q=Pn(o);t.addSplitZipSignature&&!u&&await cu(t,o),d&&!u&&ou(n,t.offset-q);let{localHeaderArray:$}=p;u||await H();let j=wt(o),W=xn(t,o);if(E.diskNumberStart=j,u||(T=!0,y=o.size,await nt(I,$)),E=await ym(r,I,E,n,ct(),s),u||(T=!1),i.set(e,E),E.filename=e,u){if(await Promise.all([I.writable.getWriter().close(),N]),await U(),t.addSplitZipSignature&&await cu(t,o),A=!0,y=o.size,await H(),E.diskNumberStart=wt(o),E.offset=xn(t,o),d){let F=n.metadataSize;ou(n,t.offset-Pn(o)),E.size+=n.metadataSize-F}Om(E,p.localHeaderView,s),await nt(o,p.localHeaderArray),await ju(I.readable,o,R,F=>S+=F),o.size+=I.size,A=!1}else E.diskNumberStart=j,E.offset=W;return t.offset+=E.size,E}catch(q){if(A||T){if(t.hasCorruptedEntries=!0,q)try{q.corruptedEntry=!0}catch{}t.offset+=o.size-y,u&&(t.offset+=S)}throw i.delete(e),q}finally{if(u&&t.bufferedWrites--,g&&t.directWrites--,m&&m(N),_&&_(),u&&I&&I.dispose)try{await I.dispose()}catch{}}async function U(){t.writerLocked=!0;let{lockWriter:q}=t;t.lockWriter=new Promise($=>_=()=>{t.writerLocked=!1,$()}),await q}async function H(){kr(o,B(p.localHeaderArray))&&await o.closeDisk()}}async function ym(t,e,{diskNumberStart:r,lockFileEntry:n},s,i,o){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:f}=s,{headerArray:R,headerView:p,lastModDate:l,rawLastModDate:h,encrypted:m,compressed:d,version:E,compressionMethod:u,rawExtraFieldZip64:g,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N}=a,{dataDescriptorArray:U}=c,{rawFilename:H,lastAccessDate:q,creationDate:$,password:j,rawPassword:W,level:F,useUnicodeFileNames:ne,zip64:z,zip64Enabled:X,zip64UncompressedSize:M,zip64CompressedSize:G,zipCrypto:Ee,dataDescriptor:me,directory:it,executable:Me,versionMadeBy:ve,rawComment:je,rawExtraField:Ne,rawCentralExtraField:Oe,useWebWorkers:De,transferStreams:ae,onstart:Pe,onprogress:ke,onend:fe,signal:te,encryptionStrength:J,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:pe,uid:xe,gid:Ke,unixMode:Ht,symlink:Wr,setuid:Yt,setgid:Ye,sticky:yt,unixExternalUpper:ot,msdosAttributesRaw:de,msdosAttributes:ye,useCompressionStream:Yn,passThroughCompression:St,passThroughEncryption:It,format:Wn,codecURI:Pi}=o,Gr={lockFileEntry:n,versionMadeBy:ve,zip64:z,zip64Enabled:X,directory:!!it,executable:!!Me,filenameUTF8:!!ne,rawFilename:H,commentUTF8:!!ne,rawComment:je,rawExtraFieldZip64:g,localExtraFieldZip64Length:_,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:S,rawExtraFieldUnix:I,rawExtraFieldAES:N,rawExtraField:Ne,rawCentralExtraField:Oe,extendedTimestamp:b,msDosCompatible:Y,internalFileAttributes:Q,externalFileAttributes:pe,diskNumberStart:r,uid:xe,gid:Ke,unixMode:Ht,symlink:!!Wr,setuid:Yt,setgid:Ye,sticky:yt,unixExternalUpper:ot,msdosAttributesRaw:de,msdosAttributes:ye},{crc32:Wt,uncompressedSize:bt}=o,he=0;St||(bt=0);let{writable:Vr}=e;if(t){let Gt=t.size,Nt=He(po(t,{size:Gt})),Gn={options:{codecType:yr,inputSize:Gt,level:F,rawPassword:W,password:j,encryptionStrength:J,zipCrypto:m&&Ee,passwordVerification:m&&Ee&&h>>8&255,computeCrc32:!St,compressed:d&&!St,encrypted:m&&!It,useWebWorkers:De,useCompressionStream:Yn,transferStreams:ae,format:Wn,codecURI:Pi,compressionMethod:u},config:i,streamOptions:{signal:te,size:Gt,onstart:Pe,onprogress:ke,onend:fe}};try{let qe=await Ms({readable:Nt,writable:Vr},Gn);if(he=qe.outputSize,e.size+=he,Zt(te),St||(bt=qe.inputSize,(!m||Ee)&&(Wt=qe.crc32)),!G&&he>=4294967295||!M&&bt>=4294967295)throw new Error(Ri)}catch(qe){let{outputSize:Vn}=Gn;throw Vn!==w?e.size+=Vn:Re(qe)&&qe.outputSize!==w&&(e.size+=qe.outputSize),qe}}return Nm({crc32:Wt,compressedSize:he,uncompressedSize:bt,headerInfo:a,dataDescriptorInfo:c},o),me&&await nt(e,U),Object.assign(Gr,{uncompressedSize:bt,compressedSize:he,lastModDate:l,rawLastModDate:h,creationDate:$,lastAccessDate:q,encrypted:!!m,zipCrypto:!!Ee,size:f+he,compressionMethod:u,version:E,headerArray:R,headerView:p,signature:Wt,crc32:m&&!Ee&&!St?w:Wt,extraFieldExtendedTimestampFlag:T,extraFieldExtendedTimestampTime:y,zip64UncompressedSize:M,zip64CompressedSize:G}),Gr}function Sm(t){let{rawFilename:e,lastModDate:r,rawLastModDate:n,lastAccessDate:s,creationDate:i,level:o,zip64:a,zipCrypto:c,useUnicodeFileNames:f,dataDescriptor:R,directory:p,rawExtraField:l,rawLocalExtraField:h,encryptionStrength:m,extendedTimestamp:d,ntfsTimestamp:E,passThroughCompression:u,encrypted:g,zip64UncompressedSize:_,zip64CompressedSize:A,uncompressedSize:T,unknownSize:y,crc32:S}=t,{version:I,compressionMethod:N}=t,U=!p&&Ya(N,o),H,q=u||!U,$=a&&(t.bufferedWrite||!R||!_&&!A||q&&!y),j=$||a&&R&&(_||A);if(a&&(_||A)){let te=Ue(20);if(te.writeUint16(1),te.writeUint16(16),H=te.array,$&&(te.writeUint64(T),q)){let J=yn(g,c,m);te.writeUint64(u?0:T+J)}}else H=Z;let W;if(g&&!c){let fe=Ue(B(nu)+2);fe.writeUint16(39169),fe.writeBytes(nu),W=fe.array,W[8]=m}else W=Z;let F,ne,z,X;if(d){let fe=ui(r),te=vm(fe);if(te){let b=9+(s?4:0)+(i?4:0),Y=Ue(b);z=1+(s?2:0)+(i?4:0),X=fe,Y.writeUint16(21589),Y.writeUint16(b-4),Y.writeUint8(z),Y.writeUint32(fe),s&&Y.writeUint32(lu(ui(s))),i&&Y.writeUint32(lu(ui(i))),ne=Y.array}else ne=Z;if(E===w?!te||!!(s||i):E)try{let b=ka(r),Y=Ue(36);Y.writeUint16(10),Y.writeUint16(32),Y.skip(4),Y.writeUint16(1),Y.writeUint16(24),Y.writeUint64(b),Y.writeUint64(s?ka(s):b),Y.writeUint64(i?ka(i):b),F=Y.array}catch{F=Z}else F=Z}else F=ne=Z;let M;try{let{uid:fe,gid:te,unixExtraFieldType:J}=t;if(J==Ei&&(fe!==w||te!==w)){let b=au(fe===w?0:fe),Y=au(te===w?0:te),Q=3+b.length+Y.length,pe=Ue(4+Q);pe.writeUint16(30837),pe.writeUint16(Q),pe.writeUint8(1),pe.writeUint8(b.length),pe.writeBytes(b),pe.writeUint8(Y.length),pe.writeBytes(Y),M=pe.array}else if(J==pi&&(fe!==w||te!==w)){let b=Ue(8);b.writeUint16(30805),b.writeUint16(4),b.writeUint16((fe===w?0:fe)&65535),b.writeUint16((te===w?0:te)&65535),M=b.array}else M=Z}catch{M=Z}N===w&&(N=U?8:0),I===w&&(I=N==0&&!p&&!g?10:20);let{codecVersionNeeded:G}=t;U&&G!==w&&(I=I>G?I:G),a&&(I=I>45?I:45),g&&!c&&(I=I>51?I:51,u&&S!==w&&(W[om]=um),rt(L(W),am,N),N=99);let Ee=j?B(H):0,me=Ee+B(W,ne,F,M,l,h),it=t[Xt]?cm:0;if(me+it>65535)throw new Error(gi);let Me=new Date(Math.ceil(Math.floor(r.getTime()/1e3)/2)*2e3),ve=Me<Ot?Ot:Me>Zr?Zr:Me,je=B(ne)?new Date(ui(r)*1e3):B(F)?r:ve,{headerArray:Ne,headerView:Oe,rawLastModDate:De}=Ku({version:I,bitFlag:qu(o,f,R,g,N),compressionMethod:N,uncompressedSize:T,lastModDate:ve,rawLastModDate:n,rawFilename:e,zip64CompressedSize:A,zip64UncompressedSize:_,extraFieldLength:me}),ae=Ue(30+B(e)+me),Pe=ae.array,ke=L(Pe);return ae.writeUint32(67324752),ae.writeBytes(Ne),ae.writeBytes(e),j&&ae.writeBytes(H),ae.writeBytes(W),ae.writeBytes(ne),ae.writeBytes(F),ae.writeBytes(M),ae.writeBytes(l),ae.writeBytes(h),R&&(A||_e(ke,18,0),_||_e(ke,22,0)),{localHeaderArray:Pe,localHeaderView:ke,headerArray:Ne,headerView:Oe,lastModDate:je,lastModDateClamped:je===ve&&Me.getTime()!=ve.getTime(),rawLastModDate:De,encrypted:g,compressed:U,version:I,compressionMethod:N,extraFieldExtendedTimestampFlag:z,extraFieldExtendedTimestampTime:X,rawExtraFieldZip64:Z,localExtraFieldZip64Length:Ee,rawExtraFieldExtendedTimestamp:ne,rawExtraFieldNTFS:F,rawExtraFieldUnix:M,rawExtraFieldAES:W,extraFieldLength:me}}function ou(t,e){let{headerInfo:r}=t,{localHeaderArray:n,extraFieldLength:s}=r,i=64-(e+B(n))%64;i<4&&(i+=64);let o=new Uint8Array(i),a=L(o);rt(a,0,6534),rt(a,2,i-4);let c=n;r.localHeaderArray=n=new Uint8Array(B(c)+i),Ln(n,c),Ln(n,o,B(c));let f=L(n);rt(f,28,s+i),r.localHeaderView=f,t.metadataSize+=i}function au(t){let e=new Uint8Array(4);L(e).setUint32(0,t,!0);let n=4;for(;n>1&&e[n-1]===0;)n--;return e.subarray(0,n)}function Im(t,e){if(t!==w)t=t&255;else if(e!==w){let{readOnly:r,hidden:n,system:s,directory:i,archive:o}=e,a=0;r&&(a|=1),n&&(a|=2),s&&(a|=4),i&&(a|=16),o&&(a|=32),t=a&255}return e===w&&(e={readOnly:!!(t&1),hidden:!!(t&2),system:!!(t&4),directory:!!(t&16),archive:!!(t&32)}),{msdosAttributesRaw:t,msdosAttributes:e}}function bm({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n=Z,s,i=0,o=t?20:12;return r&&(o+=4),e&&(n=new Uint8Array(o),s=L(n),r&&(i=4,_e(s,0,134695760))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:i}}function Nm({crc32:t,compressedSize:e,uncompressedSize:r,headerInfo:n,dataDescriptorInfo:s},{zip64:i,zipCrypto:o,passThroughCompression:a,dataDescriptor:c}){let{headerView:f,encrypted:R}=n,{dataDescriptorView:p,dataDescriptorOffset:l}=s;(!R||o||a)&&t!==w&&(_e(f,10,t),c&&_e(p,l,t)),i?c&&(Cn(p,l+4,BigInt(e)),Cn(p,l+12,BigInt(r))):(_e(f,14,e),_e(f,18,r),c&&(_e(p,l+4,e),_e(p,l+8,r)))}function Om({rawFilename:t,encrypted:e,zip64:r,localExtraFieldZip64Length:n,crc32:s,compressedSize:i,uncompressedSize:o,zip64UncompressedSize:a,zip64CompressedSize:c},f,{dataDescriptor:R,passThroughCompression:p}){if(R||((!e||p&&s!==w)&&_e(f,14,s),c||_e(f,18,i),a||_e(f,22,o)),r&&n){let l=30+B(t)+4;Cn(f,l,BigInt(o)),Cn(f,l+8,BigInt(i))}}async function Dm(t,e,r){let{directoryDataLength:n,zip64Entries:s}=Pm(t.fileEntries),{directoryStart:i,directoryEnd:o,directoryArray:a}=await xm(t,n,r),c=await Cm(t,a,r);await Lm(t,e,r,{directoryStart:i,directoryEnd:o,directoryDataLength:n,signatureLength:c,zip64Entries:s})}function Pm(t){let e=0,r=!1;for(let[,n]of t){let{rawFilename:s,rawExtraFieldAES:i,rawComment:o,rawExtraFieldNTFS:a,rawExtraFieldUnix:c,rawExtraField:f,rawCentralExtraField:R,extraFieldExtendedTimestampFlag:p,extraFieldExtendedTimestampTime:l,zip64Enabled:h,uncompressedSize:m,compressedSize:d}=n,{zip64UncompressedSize:E,zip64CompressedSize:u}=n;h||(E&&m<4294967295&&(E=n.zip64UncompressedSize=!1),u&&d<4294967295&&(u=n.zip64CompressedSize=!1)),r=r||E||u;let g=n.offset>=4294967295,_=n.diskNumberStart>=65535,A;if(g||_||E||u){let S=4+(E?8:0)+(u?8:0)+(g?8:0)+(_?4:0),I=Ue(S);I.writeUint16(1),I.writeUint16(S-4),E&&I.writeUint64(m),u&&I.writeUint64(d),g&&I.writeUint64(n.offset),_&&I.writeUint32(n.diskNumberStart),A=I.array}else A=Z;n.rawExtraFieldZip64=A,n.zip64Offset=g,n.zip64DiskNumberStart=_;let T;if(l===w)T=Z;else{let S=Ue(9);S.writeUint16(21589),S.writeUint16(5),S.writeUint8(p),S.writeUint32(l),T=S.array}n.rawExtraFieldExtendedTimestamp=T;let y=B(A,i,a,c,T,f,R);if(y>65535)throw new Error(gi);e+=46+B(s,o)+y}return{directoryDataLength:e,zip64Entries:r}}async function xm(t,e,r){let{fileEntries:n,writer:s}=t,i=new Uint8Array(e);await ge(s);let o=0,a=0,c=wt(s),f=Pn(s),R=0;for(let[p,l]of Array.from(n.values()).entries()){let{offset:h,rawFilename:m,rawExtraFieldZip64:d,rawExtraFieldAES:E,rawExtraFieldExtendedTimestamp:u,rawExtraFieldNTFS:g,rawExtraFieldUnix:_,rawExtraField:A,rawCentralExtraField:T,rawComment:y,versionMadeBy:S,headerArray:I,headerView:N,zip64UncompressedSize:U,zip64CompressedSize:H,zip64DiskNumberStart:q,zip64Offset:$,internalFileAttributes:j,externalFileAttributes:W,diskNumberStart:F,uncompressedSize:ne,compressedSize:z}=l,X=B(d,E,u,g,_,A,T),M=46+B(m,y)+X;kr(s,o+M-a)&&(await nt(s,i.slice(a,o)),a=o,R=0,await s.closeDisk()),p==0&&(c=wt(s),f=Pn(s)),U||_e(N,18,ne),H||_e(N,14,z),($||q)&&l.version<45&&rt(N,0,45);let G=Ue(M);if(G.writeUint32(33639248),G.writeUint16(S),G.writeBytes(I.subarray(0,24)),G.writeUint16(X),G.writeUint16(B(y)),G.writeUint16(q?65535:F),G.writeUint16(j),G.writeUint32(W),G.writeUint32($?4294967295:h),G.writeBytes(m),G.writeBytes(d),G.writeBytes(E),G.writeBytes(u),G.writeBytes(g),G.writeBytes(_),G.writeBytes(A),G.writeBytes(T),G.writeBytes(y),Ln(i,G.array,o),o+=M,R++,r.onprogress)try{await r.onprogress(p+1,n.size,new ht(l))}catch{}}return await nt(s,a?i.slice(a):i),{directoryStart:{diskNumber:c,diskOffset:f},directoryEnd:{diskNumber:wt(s),entriesLength:R},directoryArray:i}}async function Cm(t,e,r){let n=Ha(t,r,Vc);if(n){let s=await n(e),i=B(s);if(i>65535)throw new Error(Bu);let o=Ue(6+i);o.writeUint32(84233040),o.writeUint16(i),o.writeBytes(s);let{writer:a}=t;return kr(a,B(o.array))&&await a.closeDisk(),await nt(a,o.array),6+i}return 0}async function Lm(t,e,r,n){let{writer:s}=t,{directoryStart:i,directoryEnd:o,signatureLength:a,zip64Entries:c}=n,{directoryDataLength:f}=n,R=t.fileEntries.size,p=i.diskNumber,l=xn(t,i),h=B(e);if(h>65535)throw new Error(Ga);let m=k(t,r,Hs),d=wt(s);if(kr(s,(m?98:22)+h)&&d++,l>=4294967295||f>=4294967295||R>=65535||d>=65535){if(m===!1)throw new Error(Ri);m=!0}else m===w&&c&&(m=!0);let E=Ue(m?98:22);kr(s,B(E.array)+h)&&await s.closeDisk(),d=wt(s);let u=d==o.diskNumber?o.entriesLength:0;m&&(E.writeUint32(101075792),E.writeUint64(44),E.writeUint16(45),E.writeUint16(45),E.writeUint32(d),E.writeUint32(p),E.writeUint64(u),E.writeUint64(R),E.writeUint64(f),E.writeUint64(l),E.writeUint32(117853008),E.writeUint32(d),E.writeUint64(BigInt(xn(t,s))+BigInt(f)+BigInt(a)),E.writeUint32(d+1),k(t,r,Mc,!0)&&(d=65535,p=65535),u=65535,R=65535,l=4294967295,f=4294967295),E.writeUint32(101010256),E.writeUint16(d),E.writeUint16(p),E.writeUint16(u),E.writeUint16(R),E.writeUint32(f),E.writeUint32(l),E.writeUint16(h),await nt(s,E.array),h&&await nt(s,e)}function Ue(t){let e=new Uint8Array(t),r=L(e),n=0;return{array:e,writeUint8:s=>{zm(r,n,s),n+=1},writeUint16:s=>{rt(r,n,s),n+=2},writeUint32:s=>{_e(r,n,s),n+=4},writeUint64:s=>{Cn(r,n,BigInt(s)),n+=8},writeBytes:s=>{Ln(e,s,n),n+=B(s)},skip:s=>n+=s}}function wt(t){let{diskNumber:e=0}=t;return e}function Pn(t){let{diskOffset:e=0}=t;return e}function kr(t,e){let{availableSize:r=Vt}=t;return e>r}function xn(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.initialOffset:0)}async function Um(t){let e=await re(t,0,4);return km(L(e),0)==134695760}function Xu(t){let e=L(t),r=0;for(;r+4<=B(t);){let n=4+hi(e,r+2);if(hi(e,r)==1)return Xu(Be(t.subarray(0,r),t.subarray(Math.min(r+n,B(t)))));r+=n}return t}async function Fm(t,e,r,n){let{writer:s}=t,i=new Map;if(s.closeDisk){let o=Array.from(r).sort((c,f)=>fi(e,c)-fi(e,f)),a=0;for(let c of o){let f=fi(e,c);await va(t,e,a,f-a),kr(s,await Mm(e,f))&&await s.closeDisk(),i.set(c,{offset:xn(t,s),diskNumberStart:wt(s)}),a=f}await va(t,e,a,n-a)}else{let o=t.offset;await va(t,e,0,n),r.forEach(a=>i.set(a,{offset:o+fi(e,a),diskNumberStart:0}))}return i}async function va(t,e,r,n){if(n>0){let{writer:s}=t,i=0;try{await ju(po(e,{offset:r,size:n}),s,w,o=>i+=o)}catch(o){t.hasCorruptedEntries=!0;try{o.corruptedEntry=!0}catch{}throw o}finally{s.size+=i,t.offset+=i}}}async function Mm(t,e){let r=await re(t,e,30);if(B(r)<30)return 30;let n=L(r);return 30+hi(n,26)+hi(n,28)}function fi(t,{offset:e,diskNumberStart:r}){return e+(t.getDiskOffset?t.getDiskOffset(r):0)}function Zu(){let t=new Uint8Array(4);return _e(L(t),0,134695760),t}async function cu(t,e){delete t.addSplitZipSignature,await nt(e,Zu()),t.offset+=4}async function nt(t,e){let{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=B(e),await n.write(e)}finally{n.releaseLock()}}async function ju(t,e,r,n){let s=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(i){await s.ready,await s.write(i),n(B(i))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{s.releaseLock()}}function ka(t){if(t){let e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<tu?tu:e>ru?ru:e}}function ui(t){return Math.floor(t.getTime()/1e3)}function vm(t){return t>=Su&&t<=Iu}function lu(t){return Math.min(Iu,Math.max(Su,t))}function k(t,e,r,n){let s=e[r]===w?t.options[r]:e[r];return s===w?n:s}function za(t,e,r,n){let s=k(t,e,r,n);if(s===null)return n;if(s!==w&&(typeof s.getTime!=K||Number.isNaN(s.getTime())))throw new Error(mu);return s}function Ha(t,e,r){return pr(k(t,e,r))}function vr(t,e,r,n){return Pt(k(t,e,r,n))}function fu(t){return t+5*(Math.floor(t/16383)+1)}function Ya(t,e){return t===w?e===w||e>0:t!==0}function hi(t,e){return t.getUint16(e,!0)}function km(t,e){return t.getUint32(e,!0)}function zm(t,e,r){t.setUint8(e,r)}function rt(t,e,r){t.setUint16(e,r,!0)}function _e(t,e,r){t.setUint32(e,r,!0)}function Cn(t,e,r){t.setBigUint64(e,r,!0)}function Ln(t,e,r){t.set(e,r)}function B(...t){let e=0;return t.forEach(r=>r&&(e+=r.length)),e}function Ku({version:t,bitFlag:e,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:o,rawFilename:a,zip64CompressedSize:c,zip64UncompressedSize:f,extraFieldLength:R}){let p=Ue(26),l=p.array,h=L(l);if(p.writeUint16(t),p.writeUint16(e),p.writeUint16(r),o===w){let m=new Uint32Array(1),d=L(m);rt(d,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),rt(d,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),o=m[0]}return p.writeUint32(o),p.skip(4),c||s!==w?p.writeUint32(c?4294967295:s):p.skip(4),f||n!==w?p.writeUint32(f?4294967295:n):p.skip(4),p.writeUint16(B(a)),p.writeUint16(R),{headerArray:l,headerView:h,rawLastModDate:o}}function uu(t){return t.every(e=>e>=lm&&e<=fm)}function qu(t,e,r,n,s){let i=0;return e&&(i=i|2048),r&&(i=i|8),(s==8||s==9)&&(t>=0&&t<=3&&(i=i|6),t>3&&t<=5&&(i=i|4),t==9&&(i=i|2)),n&&(i=i|1),i}dn();gr();Ge();Jt();ue();Ge();Jt();Qi();var lw=1024*1024;Kt();var dw=1024*1024;var pw=1024*1024;var mw=512*1024;var qm={};try{xt({baseURI:qm.url})}catch{}Ge();var Jm=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],Qm=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],$m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],eh=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],th=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Fn=new Uint8Array(288);Fn.fill(8,0,144),Fn.fill(9,144,256),Fn.fill(7,256,280),Fn.fill(8,280,288);var rh=new Uint8Array(30).fill(5);function Un(t){let e=new Uint16Array(16);for(let s of t)e[s]++;e[0]=0;let r=new Uint16Array(17);for(let s=1;s<=15;s++)r[s+1]=r[s]+e[s];let n=new Uint16Array(t.length);for(let s=0;s<t.length;s++)t[s]&&(n[r[t[s]]++]=s);return{lengthCounts:e,symbols:n}}var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ju(t){let e;t({wasmURI:()=>(e||(e="data:application/wasm;base64,"+(function(r){let n="",s=r.length,i=0;for(;i+2<s;i+=3){let a=r[i]<<16|r[i+1]<<8|r[i+2];n+=Fe[a>>18&63]+Fe[a>>12&63]+Fe[a>>6&63]+Fe[63&a]}let o=s-i;if(o===1){let a=r[i]<<16;n+=Fe[a>>18&63]+Fe[a>>12&63]+"=="}else if(o===2){let a=r[i]<<16|r[i+1]<<8;n+=Fe[a>>18&63]+Fe[a>>12&63]+Fe[a>>6&63]+"="}return n})((function(r){let n=0,s=0,i=0,o=new Uint8Array(1024),a=0,c=0;for(;!c;){c=R(1);let E=R(2);if(E==0)p();else if(E==1)l(Un(Fn),Un(rh));else{if(E!=2)throw new Error("invalid deflate block type");l(...h())}}return o.subarray(0,a);function f(){if(n>=r.length)throw new Error("unexpected end of deflate data");return r[n++]}function R(E){for(;i<E;)s|=f()<<i,i+=8;let u=s&(1<<E)-1;return s>>>=E,i-=E,u}function p(){s=0,i=0;let E=f()|f()<<8;n+=2,d(a+E);for(let u=0;u<E;u++)o[a++]=f()}function l(E,u){let g=m(E);for(;g!=256;){if(g<256)d(a+1),o[a++]=g;else{let _=g-257,A=Jm[_]+R(Qm[_]),T=m(u),y=$m[T]+R(eh[T]);d(a+A);let S=a-y;for(let I=0;I<A;I++)o[a++]=o[S+I]}g=m(E)}}function h(){let E=R(5)+257,u=R(5)+1,g=R(4)+4,_=new Uint8Array(19);for(let S=0;S<g;S++)_[th[S]]=R(3);let A=Un(_),T=new Uint8Array(E+u),y=0;for(;y<T.length;){let S=m(A);if(S<16)T[y++]=S;else if(S==16){let I=T[y-1],N=R(2)+3;for(;N--;)T[y++]=I}else y+=S==17?R(3)+3:R(7)+11}return[Un(T.subarray(0,E)),Un(T.subarray(E))]}function m(E){let{lengthCounts:u,symbols:g}=E,_=0,A=0,T=0;for(let y=1;y<=15;y++){_|=R(1);let S=u[y];if(_-A<S)return g[T+(_-A)];T+=S,A=A+S<<1,_<<=1}throw new Error("invalid huffman code")}function d(E){if(o.length<E){let u=2*o.length;for(;u<E;)u*=2;let g=new Uint8Array(u);g.set(o.subarray(0,a)),o=g}}})((function(r){let n=(r=String(r).replace(/[^A-Za-z0-9+/=]/g,"")).length,s=[];for(let i=0;i<n;i+=4){let o=Fe.indexOf(r[i])<<18|Fe.indexOf(r[i+1])<<12|(63&Fe.indexOf(r[i+2]))<<6|63&Fe.indexOf(r[i+3]);s.push(o>>16&255),r[i+2]!=="="&&s.push(o>>8&255),r[i+3]!=="="&&s.push(255&o)}return new Uint8Array(s)})("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")))),e)})}ue();Ge();Sr();vs();Vi();var Ti="deflate",wi="deflate-raw",Qu="deflate64-raw",_i="gzip";var nh="Z_MEM_ERROR",$u=[Ti,wi,_i],ed=[Ti,wi,_i,Qu],le,Br,_t,Mn,td;function rd(t){if(le=t,{malloc:Br,free:_t,memory:Mn}=le,typeof Br!="function"||typeof _t!="function"||!Mn)throw le=Br=_t=Mn=null,new Error("Invalid WASM module")}function nd(t){td=t}function zr(t,e){return e===-4&&(t.code=nh),t}function sd(t,e,r={}){if(!(t?$u:ed).includes(e))throw new TypeError("Unsupported format: "+e);if(!le){let T=new Error("WASM module not loaded");throw T.cause=td,T}let n=typeof r.level=="number"?r.level:-1,s=typeof r.outBuffer=="number"?r.outBuffer:64*1024,i=typeof r.inBufferSize=="number"?r.inBufferSize:64*1024,o={out:0,in:0,inBufferSize:0,streamHandle:0,streamEnded:!1},a,c,f,R,p=!0,l=!1;d();let h=new ReadableStream({start(T){a=T},pull(){p=!1,_()},cancel(T){l=!0,R=T,A(o),c.error(T),_()}},{highWaterMark:0}),m=new WritableStream({start(T){c=T},async write(T){if(p&&await new Promise(y=>f=y),l)throw R;try{E(T)}catch(y){throw A(o),a.error(y),y}},close(){if(l)return;try{u()}catch(y){throw A(o),a.error(y),y}let T=A(o);if(T!==0){let y=zr(new Error("end error:"+T),T);throw a.error(y),y}a.close()},abort(T){A(o),a.error(T)}},{highWaterMark:1});return{readable:h,writable:m};function d(){try{let T;if(o.out=Br(s),o.in=Br(i),o.inBufferSize=i,!o.out||!o.in)throw zr(new Error("allocation failed"),-4);if(t?(o._process=le.deflate_process,o._last_consumed=le.deflate_last_consumed,o._end=le.deflate_end,o.streamHandle=le.deflate_new(),e===_i?T=le.deflate_init_gzip(o.streamHandle,n):e===wi?T=le.deflate_init_raw(o.streamHandle,n):T=le.deflate_init(o.streamHandle,n)):e===Qu?(o._process=le.inflate9_process,o._last_consumed=le.inflate9_last_consumed,o._end=le.inflate9_end,o.streamHandle=le.inflate9_new(),T=le.inflate9_init_raw(o.streamHandle)):(o._process=le.inflate_process,o._last_consumed=le.inflate_last_consumed,o._end=le.inflate_end,o.streamHandle=le.inflate_new(),e===wi?T=le.inflate_init_raw(o.streamHandle):e===_i?T=le.inflate_init_gzip(o.streamHandle):T=le.inflate_init(o.streamHandle)),T!==0)throw zr(new Error("init failed:"+T),T)}catch(T){throw A(o),T}}function E(T){let y=new Uint8Array(Mn.buffer),S=o._process,I=o._last_consumed,N=o.out,U=0;for(;U<T.length;){if(o.streamEnded)throw new Error("trailing data after the end of the stream");let H=Math.min(T.length-U,32*1024);if((!o.in||o.inBufferSize<H)&&(o.in&&_t&&(_t(o.in),o.in=0),o.in=Br(H),o.inBufferSize=H,!o.in))throw zr(new Error("allocation failed"),-4);y.set(T.subarray(U,U+H),o.in);let q=S(o.streamHandle,o.in,H,N,s,0),$=q>>24&255,j=$&128?$-256:$;if(j<0)throw zr(new Error("process error:"+j),j);let W=q&16777215;W&&g(y.slice(N,N+W));let F=I(o.streamHandle);if($===1)o.streamEnded=!0;else if(F===0&&W===0)break;U+=F}}function u(){let T=new Uint8Array(Mn.buffer),y=o._process,S=o.out;for(;;){let I=y(o.streamHandle,0,0,S,s,4),N=I>>24&255,U=N&128?N-256:N;if(U<0)throw zr(new Error("process error:"+U),U);let H=I&16777215;if(H&&g(T.slice(S,S+H)),N===1||H===0)break}}function g(T){p=!0,a.enqueue(T)}function _(){if(f){let T=f;f=null,T()}}function A(T){let y=0;return T.streamHandle&&T._end&&(y=T._end(T.streamHandle)),T.streamHandle=0,T.in&&_t&&_t(T.in),T.in=0,T.out&&_t&&_t(T.out),T.out=0,y}}var ur=class{constructor(e=Ti,r){return sd(!0,e,r)}},dr=class{constructor(e=Ti,r){return sd(!1,e,r)}};ur.requiresModule=!0;dr.requiresModule=!0;ur.supportedFormats=$u;dr.supportedFormats=ed;ue();Yi();var Xa=64*1024,sh=20,id,Tt;function od(t){typeof t.aes_hmac_new==K&&(id=t,Tt=0)}function ja(t,e){let r=id,n=r?ih(r,t,e):0;if(!n)return rn(t,e);let s=Tt;return{process(i,o){for(let a=0;a<i.length;a+=Xa){let c=i.subarray(a,a+Xa),f=Za(r);f.set(c,s),r.aes_hmac_process(n,s,c.length,o?1:0),c.set(f.subarray(s,s+c.length))}},digest(){return r.aes_hmac_end(n,s),n=0,Za(r).slice(s,s+sh)},dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}}function ih(t,e,r){Tt||(Tt=t.malloc(Xa));let n=Tt?t.aes_hmac_new():0;if(n){let s=Za(t);if(s.set(e,Tt),s.set(r,Tt+e.length),t.aes_hmac_init(n,Tt,e.length,Tt+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}function Za(t){return new Uint8Array(t.memory.buffer)}var ad=!1;async function cd(t,{baseURI:e}){if(!ad)try{await oh(t,e),ad=!0}catch(r){throw nd(r),r}}async function oh(t,e){let r,n;try{try{n=new URL(t,e)}catch{}r=await(await fetch(n)).arrayBuffer()}catch(i){if(t.startsWith("data:application/wasm;base64,"))r=ah(t);else throw i}let s=await WebAssembly.instantiate(r);rd(s.instance.exports),od(s.instance.exports)}function ah(t){let e=t.split(",")[1],r=atob(e),n=r.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=r.charCodeAt(i);return s.buffer}var Ai;Sl(ja);tf({initModule:t=>{if(!Ai){let{wasmURI:e}=t;typeof e==K&&(e=e()),Ai=cd(e,t).catch(r=>{throw Ai=null,r})}return Ai}});xt({CompressionStreamFallback:ur,DecompressionStreamFallback:dr});Ju(xt);dn();li();Ws();gr();Sr();ue();Ct();Kt();jt();var U_=new Uint8Array(0);fl(xt);var vn="h5p-pkg-v0-";var Ze="__archive__";var ld="h5p-player";var kn="packages",Hr="https://chunks.h5p-player.invalid/";function zn(t,e){let r=e.end-e.start+1,n=0,s=0,i=new TransformStream({transform(o,a){if(s>=r)return;let c=n;if(n+=o.length,n<=e.start)return;let f=Math.max(0,e.start-c),R=Math.min(o.length,f+(r-s)),p=o.subarray(f,R);s+=p.length,a.enqueue(p),s>=r&&a.terminate()}});return t.pipeTo(i.writable).catch(()=>{}),i.readable}function fd(t,e){return`h5p:${t}:${e}`}function ud(t){return`h5p:${t}:`}var ch=/^h5p:([^:]+):/;async function yi(){let t=new Set,e=typeof navigator>"u"?void 0:navigator.locks;if(!e?.query)return t;try{let{held:r=[]}=await e.query();for(let n of r){let s=n.name?ch.exec(n.name):null;s&&t.add(s[1])}}catch{}return t}var lh="/__meta__",fh="/__forward__",uh="__forward_index__",dh=32;function Hn(t){return t.split("/").map(encodeURIComponent).join("/")}function Bn(t){return`${vn}${t}`}function dd(t,e){return`${Hr}${t}/whole/${Hn(e)}`}function Ka(t,e,r){return`${Hr}${t}/chunk/${Hn(e)}/${r}`}function Ed(t,e){return`${Hr}${t}/chunk/${Hn(e)}${lh}`}function pd(t){return`${Hr}${t}/chunk/${Hn(Ze)}${fh}`}function Qa(t){return t instanceof DOMException&&(t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")}var st=class extends Error{constructor(e="Not enough storage to cache this package"){super(e),this.name="QuotaError"}};function md(t){return{first:Math.floor(t.start/8388608),last:Math.floor(t.end/8388608)}}function hd(t,e){let r=t*8388608;return{from:Math.max(0,e.start-r),to:Math.min(8388608,e.end-r+1)}}var At=class{constructor(e){this.cachePromise=null;this.pkgId=e}cache(){return this.cachePromise??=caches.open(Bn(this.pkgId)),this.cachePromise}async getWhole(e){return(await this.cache()).match(dd(this.pkgId,e))}async putWhole(e,r,n,s){let i=new Headers({"content-type":n});s!==void 0&&i.set("content-length",String(s)),await this.write(dd(this.pkgId,e),()=>new Response(r(),{headers:i}))}async getMeta(e){let n=await(await this.cache()).match(Ed(this.pkgId,e));if(n)try{return await n.json()}catch{return}}async setMeta(e,r){await this.write(Ed(this.pkgId,e),()=>new Response(JSON.stringify(r),{headers:{"content-type":"application/json"}})),Ja({pkgId:this.pkgId,entry:e,meta:r})}async discardChunks(e){let r=await this.cache(),n=`${Hr}${this.pkgId}/chunk/${Hn(e)}/`,s=(await r.keys()).filter(i=>i.url.startsWith(n)&&/^\\d+$/.test(i.url.slice(n.length)));await Promise.all(s.map(i=>r.delete(i)))}async putChunk(e,r,n){let s=n.slice();await this.write(Ka(this.pkgId,e,r),()=>new Response(s.buffer,{headers:{"content-type":"application/octet-stream"}}))}async getChunk(e,r){let s=await(await this.cache()).match(Ka(this.pkgId,e,r));if(s)return new Uint8Array(await s.arrayBuffer())}readRange(e,r,n){let{first:s,last:i}=md(r),o=s,a=null,c=this;return new ReadableStream({async pull(f){for(;;){if(a){let{done:m,value:d}=await a.read();if(!m){f.enqueue(d);return}a=null,o+=1}if(o>i){f.close();return}if(n){let m=Math.min((o+1)*8388608,r.end+1);if(!await n(m)){f.error(new Error(`Extraction of ${e} stalled before byte ${m}`));return}}let R=await c.chunkBody(e,o);if(!R){f.error(new Error(`Missing chunk ${o} of ${e}`));return}let{from:p,to:l}=hd(o,r);a=(p===0&&l>=8388608?R:zn(R,{start:p,end:l-1})).getReader()}},async cancel(f){await a?.cancel(f)}},{highWaterMark:0})}async chunkBody(e,r){return(await(await this.cache()).match(Ka(this.pkgId,e,r)))?.body??void 0}async readRangeBytes(e,r){let n=new Uint8Array(r.end-r.start+1),{first:s,last:i}=md(r),o=0;for(let a=s;a<=i;a+=1){let c=await this.getChunk(e,a);if(!c)throw new Error(`Missing chunk ${a} of ${e}`);let{from:f,to:R}=hd(a,r),p=c.subarray(f,Math.min(R,c.length));n.set(p,o),o+=p.length}return o===n.length?n:n.subarray(0,o)}getArchiveMeta(){return this.getMeta(Ze)}async getForwardIndex(){let r=await(await this.cache()).match(pd(this.pkgId));if(r)try{return await r.json()}catch{return}}async setForwardIndex(e){await this.write(pd(this.pkgId),()=>new Response(JSON.stringify(e),{headers:{"content-type":"application/json"}})),Ja({pkgId:this.pkgId,entry:uh,meta:{size:null,available:e.parsedTo,complete:e.done}})}readArchiveRange(e){return this.readRangeBytes(Ze,e)}async write(e,r){let n=await this.cache();for(let s=0;;s+=1){let i=r();try{await n.put(e,i);return}catch(o){if(i.body?.cancel().catch(()=>{}),!Qa(o))throw o;if(s>=dh)throw new st;if(!await Eh(this.pkgId))throw new st}}}async destroy(){this.cachePromise=null,await caches.delete(Bn(this.pkgId))}},qa=null;function Rd(t){qa=t}var wd=null;function _d(t){wd=t}async function Eh(t){let e=qa?await qa(t):await mh(t);return e?(await ph(Bn(e)),await caches.delete(Bn(e)),await wd?.(e),!0):!1}async function ph(t){if(!await caches.has(t))return;let e=await caches.open(t),r=await e.keys();await Promise.all(r.map(n=>e.delete(n)))}async function mh(t){let[e,r]=await Promise.all([caches.keys(),yi()]),n=Bn(t),s=e.find(i=>i.startsWith(vn)&&i!==n&&!r.has(i.slice(vn.length)));return s?s.slice(vn.length):null}var hh="h5p-player-watermark",gd;function gh(){if(typeof BroadcastChannel!="function")return null;let t=new BroadcastChannel(hh);return t.unref?.(),t}function Ja(t){gd??=gh();try{gd?.postMessage(t)}catch{}}function Td(t,e,r){Ja({pkgId:t,entry:e,received:r})}var Bt=null;function Ad(t,e){Bt===e&&(Bt=null),t.close()}function wh(){if(Bt)return Bt;let t=new Promise((e,r)=>{let n=indexedDB.open(ld,1);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(kn)||s.createObjectStore(kn,{keyPath:"pkgId"}).createIndex("lastPlayed","lastPlayed")},n.onsuccess=()=>{let s=n.result;s.onversionchange=()=>Ad(s,t),s.onclose=()=>Ad(s,t),e(s)},n.onerror=()=>r(n.error)});return Bt=t,t.catch(()=>{Bt===t&&(Bt=null)}),t}function _h(t){return t instanceof DOMException&&(t.name==="InvalidStateError"||t.name==="NotFoundError"||t.name==="TransactionInactiveError")}function Sd(t){return new Promise((e,r)=>{t.onsuccess=()=>e(t.result),t.onerror=()=>r(t.error)})}async function yd(t,e){let n=(await wh()).transaction(kn,t),s=await e(n.objectStore(kn));return await new Promise((i,o)=>{n.oncomplete=()=>i(),n.onerror=()=>o(n.error),n.onabort=()=>o(n.error)}),s}async function Id(t,e){try{return await yd(t,e)}catch(r){if(!_h(r))throw r;return Bt=null,yd(t,e)}}function bd(t){return Id("readwrite",async e=>{await Sd(e.delete(t))})}function Th(){return Id("readonly",t=>Sd(t.getAll()))}async function Nd(){return(await Th()).sort((e,r)=>e.lastPlayed-r.lastPlayed)}async function yh(t,e={}){let[r,n]=await Promise.all([(e.packagesByAge??Nd)(),(e.busyPackages??yi)()]);return r.find(s=>s.pkgId!==t&&!n.has(s.pkgId))?.pkgId??null}function Od(t){Rd(e=>yh(e)),_d(async e=>{t?.(e),await bd(e)})}var Sh=new TextDecoder,Si=class{constructor(){this.entries=[];this.parsedTo=0;this.done=!1;this.stopped=null;this.buffer=new Uint8Array(0);this.position=0;this.state={kind:"header"}}push(e){this.stopped||this.done||e.length===0||(this.buffer=this.buffer.length===0?e:bh(this.buffer,e),this.drain())}finish(){!this.done&&!this.stopped&&this.state.kind==="descriptor"&&(this.stopped="unresolved-descriptor")}snapshot(){return{entries:[...this.entries],parsedTo:this.parsedTo,done:this.done,stopped:this.stopped}}consume(e){this.buffer=this.buffer.subarray(e),this.position+=e}drain(){for(;;){let e=this.state;if(e.kind==="skip"){let r=Math.min(e.remaining,this.buffer.length);if(this.consume(r),e.remaining-=r,e.remaining>0)return;this.record(e.entry),this.state={kind:"header"},this.parsedTo=this.position;continue}if(e.kind==="header"){if(!this.readHeader())return;continue}if(!this.findDescriptor(e.entry))return}}readHeader(){let{buffer:e}=this;if(e.length<4)return!1;let r=new DataView(e.buffer,e.byteOffset,e.byteLength),n=r.getUint32(0,!0);if(n===33639248||n===101010256||n===101075792||n===117853008)return this.done=!0,this.stopped="central-directory",this.parsedTo=this.position,!1;if(n!==67324752)return this.stopped="bad-signature",!1;if(e.length<30)return!1;let s=r.getUint16(6,!0),i=r.getUint16(8,!0),o=r.getUint32(14,!0),a=r.getUint32(18,!0),c=r.getUint32(22,!0),f=r.getUint16(26,!0),R=r.getUint16(28,!0),p=30+f+R;if(e.length<p)return!1;let l=Sh.decode(e.subarray(30,30+f)),h=e.subarray(30+f,p),m=Ih(h,c===4294967295,a===4294967295);m&&(c=m.uncompressedSize??c,a=m.compressedSize??a);let d={name:l,directory:l.endsWith("/"),method:i,encrypted:(s&1)!==0,crc32:o,compressedSize:a,uncompressedSize:c,headerOffset:this.position,dataStart:this.position+p,zip64:m!==null};return this.consume(p),s&8?(this.state={kind:"descriptor",entry:d},!0):(this.state={kind:"skip",remaining:a,entry:d},!0)}findDescriptor(e){let{buffer:r}=this,n=e.zip64?24:16,s=new DataView(r.buffer,r.byteOffset,r.byteLength),i=0;for(;i+n<=r.length&&(i=r.indexOf(80,i),!(i<0||i+n>r.length));){if(s.getUint32(i,!0)===134695760){let a=this.position+i-e.dataStart,c=e.zip64?Ii(s,i+8):s.getUint32(i+8,!0);if(c===a)return e.crc32=s.getUint32(i+4,!0),e.compressedSize=c,e.uncompressedSize=e.zip64?Ii(s,i+16):s.getUint32(i+12,!0),this.record(e),this.consume(i+n),this.state={kind:"header"},this.parsedTo=this.position,!0}i+=1}let o=Math.min(r.length,n-1);return this.consume(r.length-o),!1}record(e){let{zip64:r,...n}=e;this.entries.push(n)}};function Ih(t,e,r){let n=new DataView(t.buffer,t.byteOffset,t.byteLength),s=0;for(;s+4<=t.length;){let i=n.getUint16(s,!0),o=n.getUint16(s+2,!0);if(i===1){let a={},c=s+4;return e&&c+8<=s+4+o&&(a.uncompressedSize=Ii(n,c),c+=8),r&&c+8<=s+4+o&&(a.compressedSize=Ii(n,c)),a}s+=4+o}return null}function Ii(t,e){let r=t.getBigUint64(e,!0);if(r>BigInt(Number.MAX_SAFE_INTEGER))throw new RangeError("zip64 size beyond a safe integer");return Number(r)}function bh(t,e){let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r}var se=class extends Error{constructor(e,r,n){super(r,n),this.name="PlayerError",this.code=e,this.missingLibraries=n?.missingLibraries}};var $a=class{constructor(e,r){this.descriptor=e;this.size=r;this.received=0}counted(e){return e.pipeThrough(new TransformStream({transform:(r,n)=>{this.received+=r.length,n.enqueue(r)}}))}async fetchRange(e){let r=await fetch(this.descriptor.url,{headers:{Range:`bytes=${e.start}-${e.end}`},cache:"no-store"});if(r.status!==206&&r.status!==200)throw new se("network",`Range request failed with ${r.status}`);return r}async read(e){let r=await this.fetchRange(e);if(r.status!==200){let n=new Uint8Array(await r.arrayBuffer());return this.received+=n.length,n}if(!r.body)throw new se("network","Range response had no body");return new Uint8Array(await new Response(zn(this.counted(r.body),e)).arrayBuffer())}async stream(e){let r=await this.fetchRange(e);if(!r.body)throw new se("network","Range response had no body");let n=this.counted(r.body);return r.status===200?zn(n,e):n}},ec=class{constructor(e,r,n){this.descriptor=e;this.size=r;this.store=new At(n)}read(e){return this.store.readRangeBytes(Ze,e)}async stream(e){return this.store.readRange(Ze,e)}},tc=class{constructor(e,r){this.descriptor=e;this.blob=r}get size(){return this.blob.size}async read(e){let r=this.blob.slice(e.start,e.end+1);return new Uint8Array(await r.arrayBuffer())}async stream(e){return this.blob.slice(e.start,e.end+1).stream()}};async function Dd(t,e,r,n={}){switch(e.type){case"range-http":return new $a(e,e.size);case"chunked":{let s=await new At(t).getArchiveMeta();if(!s||!s.complete&&!n.partial)throw new se("bad-archive","Archive has not finished downloading");return new ec(e,s.size??s.available,t)}case"file":{if(!r)throw new se("bad-archive","The picked file is no longer available");return new tc(e,r)}}}function rc(t){if(!Number.isFinite(t)||t<0)return"? B";if(t<1024)return`${Math.round(t)} B`;let e=["kB","MB","GB","TB"],r=t/1024,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n+=1;return`${r<10?r.toFixed(1):String(Math.round(r))} ${e[n]}`}async function Nh(){let t=typeof navigator>"u"?void 0:navigator.storage;if(typeof t?.estimate!="function")return null;try{let{usage:e,quota:r}=await t.estimate();return typeof e!="number"||typeof r!="number"?null:{usage:e,quota:r}}catch{return null}}async function nc(t,e){let r=await Nh(),n=e===null?`Not enough storage for ${t}`:`Not enough storage: ${t} needs ${rc(e)}`;return r?`${n}; this site is using ${rc(r.usage)} of the ${rc(r.quota)} the browser allows it.`:`${n}.`}var Oh=/[\\u0000-\\u001f\\u007f]/;function sc(t){if(!t||Oh.test(t))return null;let e=t.replace(/\\\\/g,"/");if(e.startsWith("/")||/^[a-zA-Z]:/.test(e))return null;let r=[];for(let n of e.split("/"))if(!(n===""||n===".")){if(n==="..")return null;r.push(n)}return r.length===0?null:r.join("/")}function Pd(t){let e=new Map,r=[];for(let n of t){if(n.directory)continue;let s=sc(n.filename);if(s===null||e.has(s)){r.push(n.filename);continue}e.set(s,n)}return{index:e,rejected:r}}var Dh=new Set(["js","mjs","json","css","html","htm","txt","xml","csv","vtt","srt","svg"]);function Ph(t){let e=t.slice(t.lastIndexOf("/")+1),r=e.lastIndexOf(".");return r<=0?"":e.slice(r+1).toLowerCase()}function xd(t){return Dh.has(Ph(t))}var oc=class{constructor(e){this.arrived=[];this.reader=null;this.finished=!1;this.failure=null;this.wake=null;this.cancelled=!1;this.received=0;this.pump(e)}async pump(e){try{let r=await e();if(this.cancelled){await r.cancel();return}for(this.reader=r.getReader();;){let{done:n,value:s}=await this.reader.read();if(n)break;this.arrived.push(s),this.received+=s.length,this.wake?.()}}catch(r){this.cancelled||(this.failure=r)}finally{this.finished=!0,this.wake?.()}}async next(){for(;;){let e=this.arrived.shift();if(e)return e;if(this.failure)throw this.failure;if(this.finished)return null;await new Promise(r=>{this.wake=r}),this.wake=null}}cancel(){this.cancelled=!0,this.arrived.length=0,this.reader?.cancel().catch(()=>{}),this.wake?.()}};function Lh(t,e){let r=e.end-e.start+1,n=Math.ceil(r/4194304),s=new Map,i=0,o=0,a=c=>{let f=e.start+c*4194304,R={start:f,end:Math.min(f+4194304-1,e.end)};s.set(c,new oc(()=>t.stream(R)))};return new ReadableStream({async pull(c){for(;;){if(o>=n){c.close();return}i===o&&a(i++);let f=s.get(o);if(f.received>0)for(;i<n&&s.size<4;)a(i++);let R=await f.next();if(R){c.enqueue(R);return}s.delete(o),o+=1}},cancel(){for(let c of s.values())c.cancel();s.clear(),i=n,o=n}},{highWaterMark:0})}var bi=class extends pt{constructor(r){super(r);this.handle=r;this.size=r.size}async readUint8Array(r,n){if(n===0)return new Uint8Array(0);let s=Math.min(r+n,this.size)-1;return s<r?new Uint8Array(0):this.handle.read({start:r,end:s})}createReadable(r={}){let n=r.offset??0,s=Math.min(n+(r.size??this.size-n),this.size)-1;if(s<n)return new Blob([]).stream();let i=this.handle;if(i.descriptor.type==="range-http"&&s-n+1>=8388608)return Lh(i,{start:n,end:s});let o=null;return new ReadableStream({async pull(a){o??=(await i.stream({start:n,end:s})).getReader();let{done:c,value:f}=await o.read();c?a.close():a.enqueue(f)},async cancel(a){await o?.cancel(a)}},{highWaterMark:0})}};var ac=0,Fd=8,Fh=67324752,Cd=30,Ni=class t{constructor(e,r,n,s,i,o=!1){this.handle=r;this.parsedTo=0;this.forwardDone=!1;this.forwardStopped=!1;this.absorbed=0;this.lastTopFolder=null;this.fallbacks=[];this.librariesByName=null;this.dataRanges=new Map;this.pkgId=e,this.entries=n,this.rejected=s,this.manifest=i,this.partial=o}get title(){return this.manifest.title}static async open(e,r,n={}){let s;try{s=await new zt(new bi(r)).getEntries({filenameValidation:"tolerant"})}catch(p){throw new se("bad-archive","Could not read the archive index",{cause:p})}let{index:i,rejected:o}=Pd(s),a=new Map;for(let[p,l]of i)a.set(p,{name:p,size:l.uncompressedSize,compressedSize:l.compressedSize,method:l.compressionMethod,strategy:Md(p,l),zip:l});if(!a.has("h5p.json"))throw new se("bad-archive","Archive has no h5p.json, so it is not an H5P package");let c=new t(e,r,a,o,{}),f=await Ud(c),R=new t(e,r,a,o,f);return n.requireLibraries!==!1&&R.assertLibrariesPresent(),R}static async fromForwardIndex(e,r,n){let s=new t(e,r,new Map,[],{},!0);return await s.absorb(n),s}async absorb(e){if(!this.partial)return!1;let r=e.entries.slice(this.absorbed);this.absorbed=e.entries.length,this.parsedTo=e.parsedTo,this.forwardDone=e.done,this.forwardStopped=e.stopped!==null&&!e.done;let n=!1;for(let s of r){if(s.directory)continue;let i=sc(s.name);if(i===null||this.entries.has(i)){this.rejected.push(s.name);continue}this.entries.set(i,Mh(i,s)),this.lastTopFolder=Ld(i),i==="h5p.json"&&(n=!0)}return r.length>0&&(this.librariesByName=null),n&&(this.manifest=await Ud(this)),r.length>0}bootReady(){if(!this.partial)return!0;if(this.forwardStopped||!this.entries.has("h5p.json"))return!1;let e=this.manifest.preloadedDependencies;if(!Array.isArray(e)||e.length===0)return!1;let r=this.entryNames(),n=this.availableLibraries();return e.every(s=>{let i=Oi(s).find(o=>r.has(`${o}/library.json`))??lc(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)});return i!==void 0&&this.folderComplete(i)})}provablyAbsent(e){if(!this.partial||this.forwardDone)return!0;let r=Ld(e);if(r===null)return!1;if(this.hasFolder(r))return this.folderComplete(r);let n=cc(r);return n!==null&&this.hasFolder(n.machineName)&&this.folderComplete(n.machineName)}folderComplete(e){return this.forwardDone||this.lastTopFolder!==e}hasFolder(e){let r=`${e}/`;for(let n of this.entries.keys())if(n.startsWith(r))return!0;return!1}use(e){e===this||this.fallbacks.includes(e)||(this.fallbacks.push(e),this.librariesByName=null)}get(e){return this.locate(e)??this.locateCompatible(e)}locate(e){let r=this.entries.get(e);if(r)return{reader:this,entry:r};for(let n of this.fallbacks){let s=n.locate(e);if(s)return s}}locateCompatible(e){let r=e.indexOf("/");if(r<0)return;let n=cc(e.slice(0,r));if(!n)return;let s=lc(this.availableLibraries(),n);if(!(!s||s===n.folder))return this.locate(`${s}/${e.slice(r+1)}`)}availableLibraries(){if(this.librariesByName)return this.librariesByName;let e=vd(this.entries.keys());for(let r of this.fallbacks)for(let[n,s]of r.availableLibraries()){let i=e.get(n);i?i.push(...s):e.set(n,[...s])}return this.librariesByName=e,e}entryNames(){let e=new Set(this.entries.keys());for(let r of this.fallbacks)for(let n of r.entryNames())e.add(n);return e}missingLibraries(){return zh(this.entryNames(),this.manifest)}get hasFallbacks(){return this.fallbacks.length>0}mergedManifest(){let e=this.entryNames(),r=new Map,n=s=>{r.has(s.machineName)||Oi(s).some(i=>e.has(`${i}/library.json`))&&r.set(s.machineName,s)};for(let s of this.manifest.preloadedDependencies??[])n(s);for(let s of this.fallbacks)for(let i of s.manifest.preloadedDependencies??[])n(i);return{...this.manifest,preloadedDependencies:[...r.values()]}}assertLibrariesPresent(){let e=this.missingLibraries();if(e)throw new se("bad-archive",Bh(e),{missingLibraries:e})}prefetchable(){return[...this.entries.values()].filter(e=>e.strategy.kind==="chunked").map(e=>({entry:e.name,size:e.size}))}inflate(e){if(!e.zip)return this.inflateDirect(e);if(e.zip.encrypted)throw new se("bad-archive",`${e.name} is encrypted`);let r=e.zip.getData;if(!r)throw new se("bad-archive",`${e.name} has no readable data`);let n=new TransformStream;return r.call(e.zip,n.writable).catch(s=>{if(!n.writable.locked)try{n.writable.abort(s)}catch{}}),n.readable}dataRange(e){let r=this.dataRanges.get(e.name);if(r)return r;let n=this.readDataRange(e);return this.dataRanges.set(e.name,n),n.catch(()=>this.dataRanges.delete(e.name)),n}inflateDirect(e){if(e.encrypted)throw new se("bad-archive",`${e.name} is encrypted`);if(e.method!==ac&&e.method!==Fd)throw new se("bad-archive",`${e.name} uses compression method ${e.method}`);if(e.compressedSize===0)return new Blob([]).stream();let r=vh(()=>this.sliceStream(e,{start:0,end:e.compressedSize-1}));if(e.method===ac)return r;let n=new DecompressionStream("deflate-raw");return r.pipeThrough(n)}async readDataRange(e){if(e.dataStart!==void 0)return{start:e.dataStart,end:e.dataStart+e.compressedSize-1};if(!e.zip)throw new se("bad-archive",`${e.name} has no known location`);let r=await this.handle.read({start:e.zip.offset,end:e.zip.offset+Cd-1}),n=new DataView(r.buffer,r.byteOffset,r.byteLength);if(n.getUint32(0,!0)!==Fh)throw new se("bad-archive",`${e.name} has a malformed local header`);let s=n.getUint16(26,!0),i=n.getUint16(28,!0),o=e.zip.offset+Cd+s+i;return{start:o,end:o+e.compressedSize-1}}async sliceStream(e,r){let n=await this.dataRange(e);return this.handle.stream({start:n.start+r.start,end:n.start+r.end})}};function Md(t,e){return xd(t)?{kind:"inline"}:e.uncompressedSize<=16777216?{kind:"inline"}:e.compressionMethod===ac?{kind:"slice"}:e.compressionMethod===Fd?{kind:"chunked"}:{kind:"inline"}}function Mh(t,e){return{name:t,size:e.uncompressedSize,compressedSize:e.compressedSize,method:e.method,strategy:Md(t,{uncompressedSize:e.uncompressedSize,compressionMethod:e.method}),dataStart:e.dataStart,encrypted:e.encrypted}}function Ld(t){let e=t.indexOf("/");return e<0?null:t.slice(0,e)}function vh(t){let e=null;return new ReadableStream({async pull(r){e??=(await t()).getReader();let{done:n,value:s}=await e.read();n?r.close():r.enqueue(s)},async cancel(r){await e?.cancel(r)}},{highWaterMark:0})}async function Ud(t){let{entry:e}=t.get("h5p.json");try{let r=await new Response(t.inflate(e)).json();if(!r||typeof r!="object")throw new Error("not an object");return r}catch(r){throw new se("bad-archive","h5p.json is not readable JSON",{cause:r})}}function Oi(t){return[`${t.machineName}-${t.majorVersion}.${t.minorVersion}`,t.machineName]}function cc(t){let e=/^(.+)-(\\d+)\\.(\\d+)$/.exec(t);return e?{machineName:e[1],major:Number(e[2]),minor:Number(e[3]),folder:t}:null}function vd(t){let e=new Map;for(let r of t){let n=r.indexOf("/");if(n<0||r.slice(n+1)!=="library.json")continue;let s=cc(r.slice(0,n));if(!s)continue;let i=e.get(s.machineName);i?i.push(s):e.set(s.machineName,[s])}return e}function lc(t,e){return(t.get(e.machineName)??[]).filter(n=>n.major===e.major&&n.minor>=e.minor).sort((n,s)=>n.minor-s.minor)[0]?.folder}function kh(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r))return[];let n=vd(t);return r.filter(s=>Oi(s).some(i=>t.has(`${i}/library.json`))?!1:!lc(n,{machineName:s.machineName,major:Number(s.majorVersion),minor:Number(s.minorVersion)}))}function zh(t,e){let r=e.preloadedDependencies;if(!Array.isArray(r)||r.length===0)return{mainLibrary:e.mainLibrary,folders:[],all:!0};let n=kh(t,e);return n.length===0?null:{mainLibrary:e.mainLibrary,folders:n.map(s=>Oi(s)[0]),all:n.length===r.length}}function Bh(t){if(t.folders.length===0)return"h5p.json lists no preloadedDependencies, so there is nothing to run";let e=t.folders.join(", ");return t.all?`This package contains no libraries, only content. Exports from h5p.com and h5p.org often leave them out because the site they came from already has them. Set the "libraries" attribute to fetch them, or re-export with them included. Missing: ${e}`:`This package is missing ${t.folders.length} of its libraries: ${e}. Set the "libraries" attribute to fetch them, or re-export with them included.`}var kd=256*1024;function fc(t){let{store:e,entry:r,totalSize:n,onProgress:s}=t,i=t.startOffset??0;if(i%8388608!==0)throw new Error("A resumed write must start on a chunk boundary");let o=i/8388608,a=new Uint8Array(8388608),c=0,f=i,R=kd,p=async l=>{await e.setMeta(r,{size:l?f:n,available:f,complete:l}),s?.(f)};return new WritableStream({async write(l){let h=0;for(;h<l.length;){let m=8388608-c,d=Math.min(m,l.length-h);a.set(l.subarray(h,h+d),c),c+=d,h+=d,f+=d,c===8388608?(await e.putChunk(r,o,a),o+=1,a=new Uint8Array(8388608),c=0,R=kd,await p(!1)):c>=R&&(await e.putChunk(r,o,a.subarray(0,c)),R=c*2,await p(!1))}},async close(){c>0&&await e.putChunk(r,o,a.subarray(0,c)),await p(!0)},abort(){}})}Bi({useWebWorkers:!1});var zd=self,Yr=new Map,Bd=new Map,Di=new Map;function Yh(t,e){let r=Di.get(t);if(r)return r;let n=(async()=>{let s=await Dd(t,e,Bd.get(t));return Ni.open(t,s,{requireLibraries:!1})})();return Di.set(t,n),n.catch(()=>Di.delete(t)),n}function Er(t){zd.postMessage(t)}Od(t=>{Di.delete(t)});function Wh(t,e){return fd(t,e??Ze)}zd.addEventListener("message",t=>{let e=t.data;if(e){if(e.type==="abort"){for(let[r,n]of Yr)r.startsWith(ud(e.pkgId))&&(n.abort(),Yr.delete(r));return}e.file&&Bd.set(e.pkgId,e.file),Gh(e)}});async function Gh(t){let e=t.type==="extract"?t.entry:void 0,r=Wh(t.pkgId,e);if(Yr.has(r))return;let n=new AbortController;Yr.set(r,n);try{await navigator.locks.request(r,{signal:n.signal},async()=>{t.type==="download"?await Vh(t.pkgId,t.source,n.signal):await Xh(t.pkgId,t.entry,t.source,n.signal)})}catch(s){if(n.signal.aborted)return;let i=Kh(s),o=s instanceof Error?s.message:String(s);e&&await jh(t.pkgId,e,i,o),Er({type:"failed",pkgId:t.pkgId,entry:e,code:i,message:o})}finally{Yr.get(r)===n&&Yr.delete(r)}}async function Vh(t,e,r){if(e.type!=="chunked")throw new se("network","Only a chunked source is downloaded ahead of play");let n=new At(t),s=await n.getArchiveMeta();if(s?.complete){Er({type:"done",pkgId:t,size:s.size??s.available});return}let i=s?Math.floor(s.available/8388608)*8388608:0,o=await fetch(e.url,{signal:r,cache:"no-store",headers:i>0?{Range:`bytes=${i}-`}:void 0});if(i>0&&o.status!==206&&(i=0,o.status!==200&&(o=await fetch(e.url,{signal:r,cache:"no-store"}))),!o.ok&&o.status!==206)throw new se("network",`${e.url} returned ${o.status}`);if(!o.body)throw new se("network","The archive response had no body");let a=o.headers.get("content-length"),c=e.size??(a?Number(a)+i:null),f=new Si;i>0&&await n.readRange(Ze,{start:0,end:i-1}).pipeTo(new WritableStream({write:d=>f.push(d)}));let R=-1,p=Promise.resolve(),l=d=>{d&&f.finish();let E=f.snapshot();return!d&&E.entries.length===R||(R=E.entries.length,p=p.then(()=>n.setForwardIndex(E))),p},h=new TransformStream({transform(d,E){f.push(d),E.enqueue(d)}});try{await o.body.pipeThrough(h).pipeTo(fc({store:n,entry:Ze,totalSize:c,startOffset:i,onProgress:d=>{Er({type:"progress",pkgId:t,loaded:d,total:c}),l(!1)}}),{signal:r})}catch(d){throw d instanceof st?new st(`${await nc("this package",c)} Its host does not support partial downloads, so the whole archive has to be stored before it can play.`):d}await l(!0);let m=await n.getArchiveMeta();Er({type:"done",pkgId:t,size:m?.size??m?.available??0})}async function Xh(t,e,r,n){let s=new At(t),i=await s.getMeta(e);if(i?.complete){Er({type:"done",pkgId:t,entry:e,size:i.size??i.available});return}let o=await Yh(t,r),a=o.get(e);if(!a)throw new se("bad-archive",`${e} is not in the archive`);let{entry:c}=a;await s.setMeta(e,{size:c.size,available:0,complete:!1});let f=Zh(o.handle,t,e);try{await o.inflate(c).pipeTo(fc({store:s,entry:e,totalSize:c.size,onProgress:R=>Er({type:"progress",pkgId:t,entry:e,loaded:R,total:c.size})}),{signal:n})}catch(R){throw R instanceof st?new st(await nc("this file",c.size)):R}finally{f()}Er({type:"done",pkgId:t,entry:e,size:c.size})}function Zh(t,e,r){if(t.received===void 0)return()=>{};let n=t.received,s=setInterval(()=>{let i=t.received??n;i!==n&&(n=i,Td(e,r,i))},1e3);return()=>clearInterval(s)}async function jh(t,e,r,n){let s=new At(t);try{let i=await s.getMeta(e);await s.discardChunks(e),await s.setMeta(e,{size:i?.size??null,available:0,complete:!1,error:{code:r,message:n,at:Date.now()}})}catch{}}function Kh(t){return t instanceof se?t.code:t instanceof st||Qa(t)?"quota":"network"}})();\n',p="0.1.2",z="https://api.h5p.org/v1/content-types/";class o extends Error{constructor(e,r,t){super(r,t),this.name="PlayerError",this.code=e,this.missingLibraries=t?.missingLibraries}}function x(n,e){return`h5p:${n}:${e}`}const U=new TextEncoder;async function I(n){const e=await crypto.subtle.digest("SHA-256",U.encode(n));return Array.from(new Uint8Array(e)).map(r=>r.toString(16).padStart(2,"0")).join("")}async function g(n){return(await I(n)).slice(0,32)}function y(n,e){return g(`url\0${n}\0${e??""}`)}function T(n){return g(`file\0${n.name}\0${n.size}\0${n.lastModified}`)}async function d(n){try{await n.body?.cancel()}catch{}}function D(n){if(!n)return null;const e=/\/(\d+)$/.exec(n.trim());return e?Number(e[1]):null}function F(n){return n.headers.get("etag")??n.headers.get("last-modified")}async function b(n,e){let r;try{r=await fetch(n,{headers:{Range:"bytes=0-0"},signal:e,cache:"no-store"})}catch(a){throw e?.aborted?a:new o("no-cors",`Cannot read ${n} from the browser (no CORS headers?)`,{cause:a})}const t=F(r);if(!r.ok&&r.status!==206)throw await d(r),new o("network",`${n} returned ${r.status}`);if(r.status===206){const a=D(r.headers.get("content-range"));await d(r);const s=a??await C(n,e);return s===null?{type:"chunked",url:n,size:null,validator:t}:{type:"range-http",url:n,size:s,validator:t}}const i=r.headers.get("content-length");return await d(r),{type:"chunked",url:n,size:i?Number(i):null,validator:t}}async function C(n,e){const r=await fetch(n,{headers:{Range:"bytes=0-"},signal:e,cache:"no-store"}),t=r.headers.get("content-length");return await d(r),r.ok&&t?Number(t):null}function E(n){const e=n.endsWith("/")?n:`${n}/`,r=e.endsWith("h5p/")?e:`${e}h5p/`;return{base:r,virtual:`${r}virtual/`,frame:`${r}frame/`,ping:`${r}virtual/_ping`}}const L=new URL("./h5p-sw.js",import.meta.url).href,O=new URL("./frame-assets/",import.meta.url).href,w={mainJs:"main.bundle.js",frameJs:"frame.bundle.js",frameCss:"styles/h5p.css"},S=`
2
2
  :host { display: block; position: relative; width: 100%; }
3
3
  :host([hidden]) { display: none !important; }
4
4
  :host(:fullscreen) { height: 100% !important; width: 100% !important; }