var e;!function(e){e[e.Silent=0]="Silent",e[e.Debug=1]="Debug",e[e.Verbose=2]="Verbose"}(e||(e={}));let t=e.Silent;function n(...e){t>=1&&console.log(...e)}function i(...e){t>=2&&console.log(...e)}function r(e){t=e}function s(e){return new Promise(((t,n)=>{let i=new FileReader;i.onload=()=>{t(i.result)},i.onerror=()=>{n(i.error)},i.readAsArrayBuffer(e)}))}async function a(e,t,n,i,r){let s=(new Date).getTime(),a=!1;e(t,n,0);let o=(async()=>{let r,o=s+i;do{r=(new Date).getTime(),e(t,n,(r-s)/i),await new Promise(((e,t)=>{window.requestAnimationFrame(e)}))}while(!a&&re.blocks)).reduce(((e,t)=>e+t),0)}async function v(e,t){let n=new w,i=new ArrayBuffer(u),r=new DataView(i),a=new Uint8Array(i);r.setUint32(0,l,!0),r.setUint16(4,d,!0),r.setUint16(6,f,!0),r.setUint16(8,u,!0),r.setUint16(10,m,!0),r.setUint32(12,e.blockSize,!0),r.setUint32(16,e.blocks,!0),r.setUint32(20,t.length,!0),r.setUint32(24,0,!0),n.append(new Blob([i]));for(let e of t){i=new ArrayBuffer(m+e.data.size),r=new DataView(i),a=new Uint8Array(i),r.setUint16(0,e.type,!0),r.setUint16(2,0,!0),r.setUint32(4,e.blocks,!0),r.setUint32(8,m+e.data.size,!0);let t=new Uint8Array(await s(e.data));a.set(t,m),n.append(new Blob([i]))}return n.getBlob()}const y=15,_=256,k=573,z=256,S=-1,C=0,A=4,U=0,W=1,j=-2,q=-5;function F(e){return D(e.map((([e,t])=>new Array(e).fill(t,0,e))))}function D(e){return e.reduce(((e,t)=>e.concat(Array.isArray(t)?D(t):t)),[])}const E=[0,1,2,3].concat(...F([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function L(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=function(n){const i=e.dyn_tree,r=e.stat_desc.static_tree,s=e.stat_desc.elems;let a,o,c,l=-1;for(n.heap_len=0,n.heap_max=k,a=0;a=1;a--)n.pqdownheap(i,a);c=s;do{a=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=a,n.heap[--n.heap_max]=o,i[2*c]=i[2*a]+i[2*o],n.depth[c]=Math.max(n.depth[a],n.depth[o])+1,i[2*a+1]=i[2*o+1]=c,n.heap[1]=c++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,a=e.stat_desc.max_length;let o,c,l,d,f,u,m=0;for(d=0;d<=y;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;oa&&(d=a,m++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,f=0,c>=s&&(f=r[c-s]),u=n[2*c],t.opt_len+=u*(d+f),i&&(t.static_len+=u*(i[2*c+1]+f)));if(0!==m){do{for(d=a-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[a]--,m-=2}while(m>0);for(d=a;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(e,n,i){const r=[];let s,a,o,c=0;for(s=1;s<=y;s++)r[s]=c=c+i[s-1]<<1;for(a=0;a<=n;a++)o=e[2*a+1],0!==o&&(e[2*a]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function I(e,t,n,i,r){const s=this;s.static_tree=e,s.extra_bits=t,s.extra_base=n,s.elems=i,s.max_length=r}L._length_code=[0,1,2,3,4,5,6,7].concat(...F([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),L.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],L.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],L.d_code=function(e){return e<256?E[e]:E[256+(e>>>7)]},L.extra_lbits=[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],L.extra_dbits=[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],L.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],L.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const R=F([[144,8],[112,9],[24,7],[8,8]]);I.static_ltree=D([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,R[t]])));const T=F([[30,5]]);I.static_dtree=D([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,T[t]]))),I.static_l_desc=new I(I.static_ltree,L.extra_lbits,257,286,y),I.static_d_desc=new I(I.static_dtree,L.extra_dbits,0,30,y),I.static_bl_desc=new I(null,L.extra_blbits,0,19,7);function $(e,t,n,i,r){const s=this;s.good_length=e,s.max_lazy=t,s.nice_length=n,s.max_chain=i,s.func=r}const O=[new $(0,0,0,0,0),new $(4,4,8,4,1),new $(4,5,16,8,1),new $(4,6,32,32,1),new $(4,4,16,16,2),new $(8,16,32,32,2),new $(8,16,128,128,2),new $(8,32,128,256,2),new $(32,128,258,1024,2),new $(32,258,258,4096,2)],B=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,M=666,K=258,P=262;function N(e,t,n,i){const r=e[2*t],s=e[2*n];return r>>8&255)}function fe(e,t){let n;const i=t;ae>16-i?(n=e,se|=n<>>16-ae,ae+=i-16):(se|=e<=8&&(le(255&se),se>>>=8,ae-=8)}function he(t,n){let i,r,s;if(e.dist_buf[ne]=t,e.lc_buf[ne]=255&n,ne++,0===t?H[2*n]++:(ie++,t--,H[2*(L._length_code[n]+_+1)]++,Z[2*L.d_code(t)]++),0==(8191&ne)&&T>2){for(i=8*ne,r=y-x,s=0;s<30;s++)i+=Z[2*s]*(5+L.extra_dbits[s]);if(i>>>=3,ie8?de(se):ae>0&&le(255&se),se=0,ae=0}function ge(t,n,i){fe(0+(i?1:0),3),function(t,n,i){xe(),re=8,i&&(de(n),de(~n)),e.pending_buf.set(c.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function be(t,n,i){let r,s,a=0;T>0?(J.build_tree(e),Q.build_tree(e),a=function(){let t;for(ce(H,J.max_code),ce(Z,Q.max_code),ee.build_tree(e),t=18;t>=3&&0===G[2*L.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=r&&(r=s)):r=s=n+5,n+4<=r&&-1!=t?ge(t,n,i):s==r?(fe(2+(i?1:0),3),we(I.static_ltree,I.static_dtree)):(fe(4+(i?1:0),3),function(e,t,n){let i;for(fe(e-257,5),fe(t-1,5),fe(n-4,4),i=0;i=0?x:-1,y-x,e),x=y,t.flush_pending()}function ye(){let e,n,i,r;do{if(r=l-F-y,0===r&&0===y&&0===F)r=s;else if(-1==r)r--;else if(y>=s+s-P){c.set(c.subarray(s,s+s),0),k-=s,y-=s,x-=s,e=m,i=e;do{n=65535&f[--i],f[i]=n>=s?n-s:0}while(0!=--e);e=s,i=e;do{n=65535&d[--i],d[i]=n>=s?n-s:0}while(0!=--e);r+=s}if(0===t.avail_in)return;e=t.read_buf(c,y+F,r),F+=e,F>=3&&(u=255&c[y],u=(u<s-P?y-(s-P):0;let f=X;const u=o,m=y+K;let p=c[r+a-1],h=c[r+a];D>=Y&&(i>>=2),f>F&&(f=F);do{if(t=e,c[t+a]==h&&c[t+a-1]==p&&c[t]==c[r]&&c[++t]==c[r+1]){r+=2,t++;do{}while(c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&ra){if(k=e,a=n,n>=f)break;p=c[r+a-1],h=c[r+a]}}}while((e=65535&d[e&u])>l&&0!=--i);return a<=F?a:F}function ke(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=V,r=C,J.dyn_tree=H,J.stat_desc=I.static_l_desc,Q.dyn_tree=Z,Q.stat_desc=I.static_d_desc,ee.dyn_tree=G,ee.stat_desc=I.static_bl_desc,se=0,ae=0,re=8,oe(),function(){l=2*s,f[m-1]=0;for(let e=0;e9||8!=l||r<9||r>15||n<0||n>9||x<0||x>2?j:(t.dstate=e,a=r,s=1<9||n<0||n>2?j:(O[T].func!=O[t].func&&0!==e.total_in&&(i=e.deflate(1)),T!=t&&(T=t,R=O[T].max_lazy,Y=O[T].good_length,X=O[T].nice_length,E=O[T].max_chain),$=n,i)},e.deflateSetDictionary=function(e,t,i){let r,a=i,l=0;if(!t||42!=n)return j;if(a<3)return U;for(a>s-P&&(a=s-P,l=i-a),c.set(t.subarray(l,l+a),0),y=a,x=a,u=255&c[0],u=(u<A||p<0)return j;if(!l.next_out||!l.next_in&&0!==l.avail_in||n==M&&p!=A)return l.msg=B[2-j],j;if(0===l.avail_out)return l.msg=B[7],q;var N;if(t=l,L=r,r=p,42==n&&(S=8+(a-8<<4)<<8,E=(T-1&255)>>1,E>3&&(E=3),S|=E<<6,0!==y&&(S|=32),S+=31-S%31,n=V,le((N=S)>>8&255),le(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return r=-1,U}else if(0===t.avail_in&&p<=L&&p!=A)return t.msg=B[7],q;if(n==M&&0!==t.avail_in)return l.msg=B[7],q;if(0!==t.avail_in||0!==F||p!=C&&n!=M){switch(K=-1,O[T].func){case 0:K=function(e){let n,r=65535;for(r>i-5&&(r=i-5);;){if(F<=1){if(ye(),0===F&&e==C)return 0;if(0===F)break}if(y+=F,F=0,n=x+r,(0===y||y>=n)&&(F=y-n,y=n,ve(!1),0===t.avail_out))return 0;if(y-x>=s-P&&(ve(!1),0===t.avail_out))return 0}return ve(e==A),0===t.avail_out?e==A?2:0:e==A?3:1}(p);break;case 1:K=function(e){let n,i=0;for(;;){if(F=3&&(u=(u<=3)if(n=he(y-k,g-3),F-=g,g<=R&&F>=3){g--;do{y++,u=(u<=3&&(u=(u<4096)&&(g=2)),D>=3&&g<=D){i=y+F-3,n=he(y-1-b,D-3),F-=D-1,D-=2;do{++y<=i&&(u=(u<n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const H=0,Z=1,G=-2,J=-3,Q=-4,ee=-5,te=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],ne=1440,ie=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],re=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],se=[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,0,0],ae=[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,112,112],oe=[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],ce=[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],le=15;function de(){let e,t,n,i,r,s;function a(e,t,a,o,c,l,d,f,u,m,p){let h,w,x,g,b,v,y,_,k,z,S,C,A,U,W;z=0,b=a;do{n[e[t+z]]++,z++,b--}while(0!==b);if(n[0]==a)return d[0]=-1,f[0]=0,H;for(_=f[0],v=1;v<=le&&0===n[v];v++);for(y=v,_b&&(_=b),f[0]=_,U=1<C+_;){if(g++,C+=_,W=x-C,W=W>_?_:W,(w=1<<(v=y-C))>h+1&&(w-=h+1,A=y,vne)return J;r[g]=S=m[0],m[0]+=W,0!==g?(s[g]=b,i[0]=v,i[1]=_,v=b>>>C-_,i[2]=S-r[g-1]-v,u.set(i,3*(r[g-1]+v))):d[0]=S}for(i[1]=y-C,z>=a?i[0]=192:p[z]>>C;v>>=1)b^=v;for(b^=v,k=(1<257?(m==J?u.msg="oversubscribed distance tree":m==ee?(u.msg="incomplete distance tree",m=J):m!=Q&&(u.msg="empty distance tree with lengths",m=J),m):H)}}de.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=ie,i[0]=re,H};const fe=0,ue=1,me=2,pe=3,he=4,we=5,xe=6,ge=7,be=8,ve=9;function ye(){const e=this;let t,n,i,r,s=0,a=0,o=0,c=0,l=0,d=0,f=0,u=0,m=0,p=0;function h(e,t,n,i,r,s,a,o){let c,l,d,f,u,m,p,h,w,x,g,b,v,y,_,k;p=o.next_in_index,h=o.avail_in,u=a.bitb,m=a.bitk,w=a.write,x=w>=l[k+1],m-=l[k+1],0!=(16&f)){for(f&=15,v=l[k+2]+(u&te[f]),u>>=f,m-=f;m<15;)h--,u|=(255&o.read_byte(p++))<>=l[k+1],m-=l[k+1],0!=(16&f)){for(f&=15;m>=f,m-=f,x-=v,w>=y)_=w-y,w-_>0&&2>w-_?(a.win[w++]=a.win[_++],a.win[w++]=a.win[_++],v-=2):(a.win.set(a.win.subarray(_,_+2),w),w+=2,_+=2,v-=2);else{_=w-y;do{_+=a.end}while(_<0);if(f=a.end-_,v>f){if(v-=f,w-_>0&&f>w-_)do{a.win[w++]=a.win[_++]}while(0!=--f);else a.win.set(a.win.subarray(_,_+f),w),w+=f,_+=f,f=0;_=0}}if(w-_>0&&v>w-_)do{a.win[w++]=a.win[_++]}while(0!=--v);else a.win.set(a.win.subarray(_,_+v),w),w+=v,_+=v,v=0;break}if(0!=(64&f))return o.msg="invalid distance code",v=o.avail_in-h,v=m>>3>3:v,h+=v,p-=v,m-=v<<3,a.bitb=u,a.bitk=m,o.avail_in=h,o.total_in+=p-o.next_in_index,o.next_in_index=p,a.write=w,J;c+=l[k+2],c+=u&te[f],k=3*(d+c),f=l[k]}break}if(0!=(64&f))return 0!=(32&f)?(v=o.avail_in-h,v=m>>3>3:v,h+=v,p-=v,m-=v<<3,a.bitb=u,a.bitk=m,o.avail_in=h,o.total_in+=p-o.next_in_index,o.next_in_index=p,a.write=w,Z):(o.msg="invalid literal/length code",v=o.avail_in-h,v=m>>3>3:v,h+=v,p-=v,m-=v<<3,a.bitb=u,a.bitk=m,o.avail_in=h,o.total_in+=p-o.next_in_index,o.next_in_index=p,a.write=w,J);if(c+=l[k+2],c+=u&te[f],k=3*(d+c),0===(f=l[k])){u>>=l[k+1],m-=l[k+1],a.win[w++]=l[k+2],x--;break}}else u>>=l[k+1],m-=l[k+1],a.win[w++]=l[k+2],x--}while(x>=258&&h>=10);return v=o.avail_in-h,v=m>>3>3:v,h+=v,p-=v,m-=v<<3,a.bitb=u,a.bitk=m,o.avail_in=h,o.total_in+=p-o.next_in_index,o.next_in_index=p,a.write=w,H}e.init=function(e,s,a,o,c,l){t=fe,f=e,u=s,i=a,m=o,r=c,p=l,n=null},e.proc=function(e,w,x){let g,b,v,y,_,k,z,S=0,C=0,A=0;for(A=w.next_in_index,y=w.avail_in,S=e.bitb,C=e.bitk,_=e.write,k=_=258&&y>=10&&(e.bitb=S,e.bitk=C,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,x=h(f,u,i,m,r,p,e,w),A=w.next_in_index,y=w.avail_in,S=e.bitb,C=e.bitk,_=e.write,k=_>>=n[b+1],C-=n[b+1],v=n[b],0===v){c=n[b+2],t=xe;break}if(0!=(16&v)){l=15&v,s=n[b+2],t=me;break}if(0==(64&v)){o=v,a=b/3+n[b+2];break}if(0!=(32&v)){t=ge;break}return t=ve,w.msg="invalid literal/length code",x=J,e.bitb=S,e.bitk=C,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);case me:for(g=l;C>=g,C-=g,o=u,n=r,a=p,t=pe;case pe:for(g=o;C>=n[b+1],C-=n[b+1],v=n[b],0!=(16&v)){l=15&v,d=n[b+2],t=he;break}if(0==(64&v)){o=v,a=b/3+n[b+2];break}return t=ve,w.msg="invalid distance code",x=J,e.bitb=S,e.bitk=C,w.avail_in=y,w.total_in+=A-w.next_in_index,w.next_in_index=A,e.write=_,e.inflate_flush(w,x);case he:for(g=l;C>=g,C-=g,t=we;case we:for(z=_-d;z<0;)z+=e.end;for(;0!==s;){if(0===k&&(_==e.end&&0!==e.read&&(_=0,k=_7&&(C-=8,y++,A--),e.write=_,x=e.inflate_flush(w,x),_=e.write,k=_e.avail_out&&(i=e.avail_out),0!==i&&t==ee&&(t=H),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(s,s+i),r),r+=i,s+=i,s==n.end&&(s=0,n.write==n.end&&(n.write=0),i=n.write-s,i>e.avail_out&&(i=e.avail_out),0!==i&&t==ee&&(t=H),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(s,s+i),r),r+=i,s+=i),e.next_out_index=r,n.read=s,t},n.proc=function(e,t){let p,h,w,x,g,b,v,y;for(x=e.next_in_index,g=e.avail_in,h=n.bitb,w=n.bitk,b=n.write,v=b>>1){case 0:h>>>=3,w-=3,p=7&w,h>>>=p,w-=p,r=ze;break;case 1:_=[],k=[],z=[[]],S=[[]],de.inflate_trees_fixed(_,k,z,S),d.init(_[0],k[0],z[0],0,S[0],0),h>>>=3,w-=3,r=We;break;case 2:h>>>=3,w-=3,r=Ce;break;case 3:return h>>>=3,w-=3,r=Fe,e.msg="invalid block type",t=J,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t)}break;case ze:for(;w<32;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);t=H,g--,h|=(255&e.read_byte(x++))<>>16&65535)!=(65535&h))return r=Fe,e.msg="invalid stored block lengths",t=J,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);s=65535&h,h=w=0,r=0!==s?Se:0!==f?je:ke;break;case Se:if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);if(0===v&&(b==n.end&&0!==n.read&&(b=0,v=bg&&(p=g),p>v&&(p=v),n.win.set(e.read_buf(x,p),b),x+=p,g-=p,b+=p,v-=p,0!=(s-=p))break;r=0!==f?je:ke;break;case Ce:for(;w<14;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);t=H,g--,h|=(255&e.read_byte(x++))<29||(p>>5&31)>29)return r=Fe,e.msg="too many length or distance symbols",t=J,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);if(p=258+(31&p)+(p>>5&31),!i||i.length>>=14,w-=14,o=0,r=Ae;case Ae:for(;o<4+(a>>>10);){for(;w<3;){if(0===g)return n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);t=H,g--,h|=(255&e.read_byte(x++))<>>=3,w-=3}for(;o<19;)i[_e[o++]]=0;if(c[0]=7,p=m.inflate_trees_bits(i,c,l,u,e),p!=H)return(t=p)==J&&(i=null,r=Fe),n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);o=0,r=Ue;case Ue:for(;p=a,!(o>=258+(31&p)+(p>>5&31));){let s,d;for(p=c[0];w>>=p,w-=p,i[o++]=d;else{for(y=18==d?7:d-14,s=18==d?11:3;w>>=p,w-=p,s+=h&te[y],h>>>=y,w-=y,y=o,p=a,y+s>258+(31&p)+(p>>5&31)||16==d&&y<1)return i=null,r=Fe,e.msg="invalid bit length repeat",t=J,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);d=16==d?i[y-1]:0;do{i[y++]=d}while(0!=--s);o=y}}if(l[0]=-1,C=[],A=[],U=[],W=[],C[0]=9,A[0]=6,p=a,p=m.inflate_trees_dynamic(257+(31&p),1+(p>>5&31),i,C,A,U,W,u,e),p!=H)return p==J&&(i=null,r=Fe),t=p,n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,n.inflate_flush(e,t);d.init(C[0],A[0],u,U[0],u,W[0]),r=We;case We:if(n.bitb=h,n.bitk=w,e.avail_in=g,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=b,(t=d.proc(n,e,t))!=Z)return n.inflate_flush(e,t);if(t=H,d.free(e),x=e.next_in_index,g=e.avail_in,h=n.bitb,w=n.bitk,b=n.write,v=b15?(e.inflateEnd(n),G):(e.wbits=i,n.istate.blocks=new De(n,1<>4)>r.wbits){r.mode=Ee,e.msg="invalid win size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=Ee,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=Ee,e.msg="need dictionary",r.marker=0,G;case 7:if(n=r.blocks.proc(e,n),n==J){r.mode=Ee,r.marker=0;break}if(n==H&&(n=t),n!=Z)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,Z;case Ee:return J;default:return G}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return G;const s=e.istate;return r>=1<{const e={};for(const t in Je)if(Je.hasOwnProperty(t))for(const n in Je[t])if(Je[t].hasOwnProperty(n)){const i=Je[t][n];if("string"==typeof i)e[i]=t+"/"+n;else for(let r=0;r>>1^3988292384:t>>>=1;Qe[e]=t}class et{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n>>8^Qe[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class tt extends TransformStream{constructor(){const e=new et;super({transform(t){e.append(t)},flush(t){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,e.get()),t.enqueue(n)}})}}const nt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=nt.getPartial(n);return 32===i?e.concat(t):nt._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+nt.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=nt.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,s=nt.getPartial(r);return i.push(nt.partial(t+s&31,t+s>32?n:i.pop(),1)),i}},it={bytes:{fromBits(e){const t=nt.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(n);let a=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);e<=r;e+=t.blockSize)t._block(s.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=nt.concat(t,[nt.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){return e<=19?t&n|~t&i:e<=39?t^n^i:e<=59?t&n|t&i|n&i:e<=79?t^n^i:void 0}_S(e,t){return t<>>32-e}_block(e){const t=this,n=t._h,i=Array(80);for(let t=0;t<16;t++)i[t]=e[t];let r=n[0],s=n[1],a=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,s,a,o)+c+i[e]+t._key[Math.floor(e/20)]|0;c=o,o=a,a=t._S(30,s),s=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}}},st={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let s,a,o,c=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],s=r;s<4*r+28;s++){let e=a[s-1];(s%r==0||8===r&&s%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%r==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[s]=a[s-r]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=s<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],s=[];let a,o,c,l;for(let e=0;e<256;e++)s[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=a=0;!n[d];d^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,n[d]=s,i[s]=d,l=r[c=r[o=r[d]]];let f=16843009*l^65537*c^257*o^16843008*d,u=257*r[s]^16843008*s;for(let n=0;n<4;n++)e[n][d]=u=u<<24^u>>>8,t[n][s]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],s=this._tables[t],a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let f,u,m,p=e[0]^n[0],h=e[t?3:1]^n[1],w=e[2]^n[2],x=e[t?1:3]^n[3],g=4;for(let e=0;e>>24]^o[h>>16&255]^c[w>>8&255]^l[255&x]^n[g],u=a[h>>>24]^o[w>>16&255]^c[x>>8&255]^l[255&p]^n[g+1],m=a[w>>>24]^o[x>>16&255]^c[p>>8&255]^l[255&h]^n[g+2],x=a[x>>>24]^o[p>>16&255]^c[h>>8&255]^l[255&w]^n[g+3],g+=4,p=f,h=u,w=m;for(let e=0;e<4;e++)r[t?3&-e:e]=d[p>>>24]<<24^d[h>>16&255]<<16^d[w>>8&255]<<8^d[255&x]^n[g++],f=p,p=h,h=w,w=x,x=f;return r}}},at={getRandomValues(e){const t=new Uint32Array(e.buffer),n=e=>{let t=987654321;const n=4294967295;return function(){t=36969*(65535&t)+(t>>16)&n;return(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i,r=0;r>24&255)){let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=nt.bitLength(t);for(let r=0;rnew ct.hmacSha1(it.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");const r=1+(i>>5)<<2;let s,a,o,c,l;const d=new ArrayBuffer(r),f=new DataView(d);let u=0;const m=nt;for(t=it.bytes.toBits(t),l=1;u<(r||1);l++){for(s=a=e.encrypt(m.concat(t,[l])),o=1;or&&(e=(new n).update(e).finalize());for(let t=0;tthis.resolveReady=e)),password:e,signed:t,strength:n-1,pending:new Uint8Array})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:a,ready:o}=n;r?(await async function(e,t,n,i){const r=await Tt(e,t,n,Ot(i,0,vt[t])),s=Ot(i,vt[t]);if(r[0]!=s[0]||r[1]!=s[1])throw new Error(dt)}(n,s,r,Ot(e,0,vt[s]+2)),e=Ot(e,vt[s]+2),i?t.error(new Error(ut)):a()):await o;const c=new Uint8Array(e.length-_t-(e.length-_t)%pt);t.enqueue(Rt(n,e,c,0,_t,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:r,ready:s}=this;await s;const a=Ot(r,0,r.length-_t),o=Ot(r,r.length-_t);let c=new Uint8Array;if(a.length){const e=Vt(Wt,a);i.update(e);const t=n.update(e);c=Bt(Wt,t)}if(t){const e=Ot(Bt(Wt,i.digest()),0,_t);for(let t=0;t<_t;t++)if(e[t]!=o[t])throw new Error(ft)}e.enqueue(c)}})}}class It extends TransformStream{constructor({password:e,encryptionStrength:t}){let n;super({start(){Object.assign(this,{ready:new Promise((e=>this.resolveReady=e)),password:e,strength:t-1,pending:new Uint8Array})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:s,ready:a}=n;let o=new Uint8Array;i?(o=await async function(e,t,n){const i=mt(new Uint8Array(vt[t])),r=await Tt(e,t,n,i);return $t(i,r)}(n,r,i),s()):await a;const c=new Uint8Array(o.length+e.length-e.length%pt);c.set(o,0),t.enqueue(Rt(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:i,pending:r,ready:s}=this;await s;let a=new Uint8Array;if(r.length){const e=t.update(Vt(Wt,r));i.update(e),a=Bt(Wt,e)}n.signature=Bt(Wt,i.digest()).slice(0,_t),e.enqueue($t(a,n.signature))}}),n=this}}function Rt(e,t,n,i,r,s){const{ctr:a,hmac:o,pending:c}=e,l=t.length-r;let d;for(c.length&&(t=$t(c,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,l-l%pt)),d=0;d<=l-pt;d+=pt){const e=Vt(Wt,Ot(t,d,d+pt));s&&o.update(e);const r=a.update(e);s||o.update(r),n.set(Bt(Wt,r),d+i)}return e.pending=Ot(t,d),n}async function Tt(e,t,n,i){e.password=null;const r=function(e){if("undefined"==typeof TextEncoder){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n>>24]),r=~e.crcKey2.get(),e.keys=[n,i,r]}function Zt(e){const t=2|e.keys[2];return Gt(Math.imul(t,1^t)>>>8)}function Gt(e){return 255&e}function Jt(e){return 4294967295&e}const Qt="deflate-raw";class en extends TransformStream{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:o,signed:c,level:l}=e,d=this;let f,u,m=nn(super.readable);s&&!o||!c||([m,f]=m.tee(),f=an(f,new tt)),r&&(m=sn(m,a,{level:l,chunkSize:t},i,n)),s&&(o?m=an(m,new Pt(e)):(u=new It(e),m=an(m,u))),rn(d,m,(async()=>{let e;s&&!o&&(e=u.signature),s&&!o||!c||(e=await f.getReader().read(),e=new DataView(e.value.buffer).getUint32(0)),d.signature=e}))}}class tn extends TransformStream{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:s,signed:a,signature:o,compressed:c,useCompressionStream:l}=e;let d,f,u=nn(super.readable);s&&(r?u=an(u,new Kt(e)):(f=new Lt(e),u=an(u,f))),c&&(u=sn(u,l,{chunkSize:t},i,n)),s&&!r||!a||([u,d]=u.tee(),d=an(d,new tt)),rn(this,u,(async()=>{if((!s||r)&&a){const e=await d.getReader().read(),t=new DataView(e.value.buffer);if(o!=t.getUint32(0,!1))throw new Error(ft)}}))}}function nn(e){return an(e,new TransformStream({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function rn(e,t,n){t=an(t,new TransformStream({flush:n})),Object.defineProperty(e,"readable",{get:()=>t})}function sn(e,t,n,i,r){try{e=an(e,new(t&&i?i:r)(Qt,n))}catch(i){if(!t)throw i;e=an(e,new r(Qt,n))}return e}function an(e,t){return e.pipeThrough(t)}const on="message",cn="start",ln="pull",dn="data",fn="ack",un="close",mn="inflate";class pn extends TransformStream{constructor(e,t){super({});const n=this,{codecType:i}=e;let r;i.startsWith("deflate")?r=en:i.startsWith(mn)&&(r=tn);let s=0;const a=new r(e,t),o=super.readable,c=new TransformStream({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){const{signature:e}=a;Object.assign(n,{signature:e,size:s})}});Object.defineProperty(n,"readable",{get:()=>o.pipeThrough(a).pipeThrough(c)})}}const hn=typeof Worker!=Ke;class wn{constructor(e,{readable:t,writable:n},{options:i,config:r,streamOptions:s,useWebWorkers:a,transferStreams:o,scripts:c},l){const{signal:d}=s;return Object.assign(e,{busy:!0,readable:t.pipeThrough(new xn(t,s,r),{signal:d}),writable:n,options:Object.assign({},i),scripts:c,transferStreams:o,terminate(){const{worker:t,busy:n}=e;t&&!n&&(t.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,l(e)}}),(a&&hn?vn:bn)(e,r)}}class xn extends TransformStream{constructor(e,{onstart:t,onprogress:n,size:i,onend:r},{chunkSize:s}){let a=0;super({start(){t&&gn(t,i)},async transform(e,t){a+=e.length,n&&await gn(n,a,i),t.enqueue(e)},flush(){e.size=a,r&&gn(r,a)}},{highWaterMark:1,size:()=>s})}}async function gn(e,...t){try{await e(...t)}catch(e){}}function bn(e,t){return{run:()=>async function({options:e,readable:t,writable:n,onTaskFinished:i},r){const s=new pn(e,r);try{await t.pipeThrough(s).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:e,size:i}=s;return{signature:e,size:i}}finally{i()}}(e,t)}}function vn(e,{baseURL:t,chunkSize:n}){return e.interface||Object.assign(e,{worker:kn(e.scripts[0],t,e),interface:{run:()=>async function(e,t){let n,i;const r=new Promise(((e,t)=>{n=e,i=t}));Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:r});const{readable:s,options:a,scripts:o}=e,{writable:c,closed:l}=function(e){const t=e.getWriter();let n;const i=new Promise((e=>n=e)),r=new WritableStream({async write(e){await t.ready,await t.write(e)},close(){t.releaseLock(),n()},abort:e=>t.abort(e)});return{writable:r,closed:i}}(e.writable),d=zn({type:cn,scripts:o.slice(1),options:a,config:t,readable:s,writable:c},e);d||Object.assign(e,{reader:s.getReader(),writer:c.getWriter()});const f=await r;try{await c.close()}catch(e){}return await l,f}(e,{chunkSize:n})}}),e.interface}let yn=!0,_n=!0;function kn(e,t,n){const i={type:"module"};let r,s;typeof e==Pe&&(e=e());try{r=new URL(e,t)}catch(t){r=e}if(yn)try{s=new Worker(r)}catch(e){yn=!1,s=new Worker(r,i)}else s=new Worker(r,i);return s.addEventListener(on,(e=>async function({data:e},t){const{type:n,value:i,messageId:r,result:s,error:a}=e,{reader:o,writer:c,resolveResult:l,rejectResult:d,onTaskFinished:f}=t;try{if(a){const{message:e,stack:t,code:n,name:i}=a,r=new Error(e);Object.assign(r,{stack:t,code:n,name:i}),u(r)}else{if(n==ln){const{value:e,done:n}=await o.read();zn({type:dn,value:e,done:n,messageId:r},t)}n==dn&&(await c.ready,await c.write(new Uint8Array(i)),zn({type:fn,messageId:r},t)),n==un&&u(null,s)}}catch(a){u(a)}function u(e,t){e?d(e):l(t),c&&c.releaseLock(),f()}}(e,n))),s}function zn(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:r}){try{let{value:n,readable:i,writable:s}=e;const a=[];if(n){const{buffer:t,length:i}=n;i!=t.byteLength&&(n=new Uint8Array(n)),e.value=n.buffer,a.push(e.value)}if(r&&_n?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch(n){_n=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),i(),e}}let Sn=[];const Cn=[];let An=0;function Un(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Wn=65536,jn="writable";class qn{constructor(){this.size=0}init(){this.initialized=!0}}class Fn extends qn{get readable(){const e=this,{chunkSize:t=Wn}=e,n=new ReadableStream({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:s,diskNumberStart:a}=n,{chunkOffset:o}=this;i.enqueue(await On(e,r+o,Math.min(t,s-o),a)),o+t>s?i.close():this.chunkOffset+=t}});return n}}class Dn extends Fn{constructor(e){super(),Object.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,i=e+t,r=e||it.writable}),this.blob=new Response(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Ln extends En{constructor(e){super(e),Object.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new Promise(((i,r)=>{Object.assign(t,{onload:({target:e})=>i(e.result),onerror:()=>r(t.error)}),t.readAsText(n,e)}))}}}class In extends Fn{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,await Promise.all(t.map((async t=>{await t.init(),e.size+=t.size}))),super.init()}async readUint8Array(e,t,n=0){const i=this,{readers:r}=this;let s,a=n;-1==a&&(a=r.length-1);let o=e;for(;o>=r[a].size;)o-=r[a].size,a++;const c=r[a],l=c.size;if(o+t<=l)s=await On(c,o,t);else{const r=l-o;s=new Uint8Array(t),s.set(await On(c,o,r)),s.set(await i.readUint8Array(e+r,t-r,n),r)}return i.lastDiskNumber=Math.max(a,i.lastDiskNumber),s}}class Rn extends qn{constructor(e,t=4294967295){super();const n=this;let i,r,s;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new WritableStream({async write(t){const{availableSize:a}=n;if(s)t.length>=a?(await o(t.slice(0,a)),await c(),n.diskOffset+=i.size,n.diskNumber++,s=null,await this.write(t.slice(a))):await o(t);else{const{value:a,done:o}=await e.next();if(o&&!a)throw new Error("Writer iterator completed too soon");i=a,i.size=0,i.maxSize&&(n.maxSize=i.maxSize),n.availableSize=n.maxSize,await Tn(i),r=a.writable,s=r.getWriter(),await this.write(t)}},async close(){await s.ready,await c()}});async function o(e){const t=e.length;t&&(await s.ready,await s.write(e),i.size+=t,n.size+=t,n.availableSize-=t)}async function c(){r.size=i.size,await s.close()}Object.defineProperty(n,jn,{get:()=>a})}}async function Tn(e,t){e.init&&!e.initialized&&await e.init(t)}function $n(e){return Array.isArray(e)&&(e=new In(e)),e instanceof ReadableStream&&(e={readable:e}),e}function On(e,t,n,i){return e.readUint8Array(t,n,i)}const Bn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Vn=256==Bn.length;function Mn(e,t){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(Vn){let t="";for(let n=0;nthis[t]=e[t]))}}const ai="File format is not recognized",oi="Zip64 extra field not found",ci="Compression method not supported",li="Split zip file",di="utf-8",fi="cp437",ui=[[Xn,Te],[Hn,Te],[Zn,Te],[Gn,$e]],mi={[$e]:{getValue:zi,bytes:4},[Te]:{getValue:Si,bytes:8}};class pi{constructor(e,t={}){Object.assign(this,{reader:$n(e),options:t,config:He})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await Tn(n),n.size!==Me&&n.readUint8Array||(n=new Dn(await new Response(n.readable).blob()),await Tn(n)),n.size<22)throw new Error(ai);n.chunkSize=function(e){return Math.max(e.chunkSize,64)}(i);const r=await async function(e,t,n,i,r){const s=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(Ci(s),0,t);const a=i+r;return await o(i)||await o(Math.min(a,n));async function o(t){const r=n-t,a=await On(e,r,t);for(let e=a.length-i;e>=0;e--)if(a[e]==s[0]&&a[e+1]==s[1]&&a[e+2]==s[2]&&a[e+3]==s[3])return{offset:r+e,buffer:a.slice(e,e+i).buffer}}}(n,101010256,n.size,22,1048560);if(!r){throw 134695760==zi(Ci(await On(n,0,4)))?new Error(li):new Error("End of central directory not found")}const s=Ci(r);let a=zi(s,12),o=zi(s,16);const c=r.offset,l=ki(s,20),d=c+22+l;let f=ki(s,4);const u=n.lastDiskNumber||0;let m=ki(s,6),p=ki(s,8),h=0,w=0;if(o==Te||a==Te||p==$e||m==$e){const e=Ci(await On(n,r.offset-20,20));if(117853008!=zi(e,0))throw new Error("End of Zip64 central directory not found");o=Si(e,8);let t=await On(n,o,56,-1),i=Ci(t);const s=r.offset-20-56;if(zi(i,0)!=Be&&o!=s){const e=o;o=s,h=o-e,t=await On(n,o,56,-1),i=Ci(t)}if(zi(i,0)!=Be)throw new Error("End of Zip64 central directory locator not found");f==$e&&(f=zi(i,16)),m==$e&&(m=zi(i,20)),p==$e&&(p=Si(i,32)),a==Te&&(a=Si(i,40)),o-=a}if(u!=f)throw new Error(li);if(o<0||o>=n.size)throw new Error(ai);let x=0,g=await On(n,o,a,m),b=Ci(g);if(a){const e=r.offset-a;if(zi(b,x)!=Oe&&o!=e){const t=o;o=e,h=o-t,g=await On(n,o,a,m),b=Ci(g)}}if(o<0||o>=n.size)throw new Error(ai);const v=bi(t,e,"filenameEncoding"),y=bi(t,e,"commentEncoding");for(let r=0;rs.getData(e,j,t),x=_;const{onprogress:q}=e;if(q)try{await q(r+1,p,new si(s))}catch(e){}yield j}const _=bi(t,e,"extractPrependedData"),k=bi(t,e,"extractAppendedData");return _&&(t.prependedData=w>0?await On(n,0,w):new Uint8Array),t.comment=l?await On(n,c+22,l):new Uint8Array,k&&(t.appendedData=d>>8&255:f>>>24&255),signature:f,compressed:0!=c,encrypted:g,useWebWorkers:bi(i,n,"useWebWorkers"),useCompressionStream:bi(i,n,"useCompressionStream"),transferStreams:bi(i,n,"transferStreams"),checkPasswordOnly:z},config:l,streamOptions:{signal:k,size:_,onstart:C,onprogress:A,onend:U}};let j=0;try{({outputSize:j}=await async function(e,t){const{options:n,config:i}=t,{transferStreams:r,useWebWorkers:s,useCompressionStream:a,codecType:o,compressed:c,signed:l,encrypted:d}=n,{workerScripts:f,maxWorkers:u,terminateWorkerTimeout:m}=i;t.transferStreams=r||r===Me;const p=!(c||l||d||t.transferStreams);let h;t.useWebWorkers=!p&&(s||s===Me&&i.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[o]:[],n.useCompressionStream=a||a===Me&&i.useCompressionStream;const w=Sn.find((e=>!e.busy));if(w)Un(w),h=new wn(w,e,t,x);else if(Sn.lengthCn.push({resolve:n,stream:e,workerOptions:t})));return h.run();function x(e){if(Cn.length){const[{resolve:t,stream:n,workerOptions:i}]=Cn.splice(0,1);t(new wn(e,n,i,x))}else e.worker?(Un(e),Number.isFinite(m)&&m>=0&&(e.terminateTimeout=setTimeout((()=>{Sn=Sn.filter((t=>t!=e)),e.terminate()}),m))):Sn=Sn.filter((t=>t!=e))}}({readable:y,writable:S},W))}catch(e){if(!z||e.message!=ut)throw e}finally{const e=bi(i,n,"preventClose");S.size+=j,e||S.locked||await S.close()}return z?void 0:e.getData?e.getData():S}}function wi(e,t,n){const i=e.rawBitFlag=ki(t,n+2),r=1==(1&i),s=zi(t,n+6);Object.assign(e,{encrypted:r,version:ki(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:s,lastModDate:vi(s),filenameLength:ki(t,n+22),extraFieldLength:ki(t,n+24)})}async function xi(e,t,n,i){const{rawExtraField:r}=t,s=t.extraField=new Map,a=Ci(new Uint8Array(r));let o=0;try{for(;ot[e]==n));for(let r=0,s=0;r{if(e.data.length>=a+4){const o=zi(n,a);t[i]=e[i]=new Date(1e3*o);const c=s[r];e[c]=o}a+=4}))}(p,t),t.extraFieldExtendedTimestamp=p)}async function gi(e,t,n,i,r){const s=Ci(e.data),a=new et;a.append(r[n]);const o=Ci(new Uint8Array(4));o.setUint32(0,a.get(),!0),Object.assign(e,{version:_i(s,0),signature:zi(s,1),[t]:await Mn(e.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&e.signature==zi(o,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function bi(e,t,n){return t[n]===Me?e.options[n]:t[n]}function vi(e){const t=(4294901760&e)>>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function yi(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function _i(e,t){return e.getUint8(t)}function ki(e,t){return e.getUint16(t,!0)}function zi(e,t){return e.getUint32(t,!0)}function Si(e,t){return Number(e.getBigUint64(t,!0))}function Ci(e){return new DataView(e.buffer)}let Ai;try{Ai=import.meta.url}catch(e){}function Ui(e,t){return e<0?Math.max(e+t,0):Math.min(e,t)}Ze({baseURL:Ai}),function(e){const t=()=>URL.createObjectURL(new Blob(['const{Array:e,Object:t,Number:n,Math:r,Error:s,Uint8Array:i,Uint16Array:o,Uint32Array:c,Int32Array:f,Map:a,DataView:l,Promise:u,TextEncoder:w,crypto:h,postMessage:d,TransformStream:p,ReadableStream:y,WritableStream:m,CompressionStream:b,DecompressionStream:g}=self;class k{constructor(e){return class extends p{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}const v=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;v[e]=t}class S{constructor(e){this.t=e||-1}append(e){let t=0|this.t;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^v[255&(t^e[n])];this.t=t}get(){return~this.t}}class z extends p{constructor(){const e=new S;super({transform(t){e.append(t)},flush(t){const n=new i(4);new l(n.buffer).setUint32(0,e.get()),t.enqueue(n)}})}}const C={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=C.i(n);return 32===r?e.concat(t):C.o(t,r,0|n,e.slice(0,e.length-1))},l(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+C.i(n)},u(e,t){if(32*e.length0&&t&&(e[n-1]=C.h(t,e[n-1]&2147483648>>t-1,1)),e},h:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,i:e=>r.round(e/1099511627776)||32,o(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=C.i(s);return r.push(C.h(t+i&31,t+i>32?n:r.pop(),1)),r}},x={p:{m(e){const t=C.l(e)/8,n=new i(t);let r;for(let s=0;t>s;s++)0==(3&s)&&(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},g(e){const t=[];let n,r=0;for(n=0;n9007199254740991)throw new s("Cannot hash more than 2^53 - 1 bits");const o=new c(n);let f=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);i>=e;e+=t.blockSize)t.I(o.subarray(16*f,16*(f+1))),f+=1;return n.splice(0,16*f),t}D(){const e=this;let t=e.C;const n=e.S;t=C.concat(t,[C.h(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(r.floor(e._/4294967296)),t.push(0|e._);t.length;)e.I(t.splice(0,16));return e.reset(),n}V(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}P(e,t){return t<>>32-e}I(t){const n=this,s=n.S,i=e(80);for(let e=0;16>e;e++)i[e]=t[e];let o=s[0],c=s[1],f=s[2],a=s[3],l=s[4];for(let e=0;79>=e;e++){16>e||(i[e]=n.P(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=n.P(5,o)+n.V(e,c,f,a)+l+i[e]+n.v[r.floor(e/20)]|0;l=a,a=f,f=n.P(30,c),c=o,o=t}s[0]=s[0]+o|0,s[1]=s[1]+c|0,s[2]=s[2]+f|0,s[3]=s[3]+a|0,s[4]=s[4]+l|0}},A={getRandomValues(e){const t=new c(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(r.random()>.5?1:-1))};for(let s,i=0;inew I.R(x.p.g(e)),B(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new s("invalid params to pbkdf2");const i=1+(r>>5)<<2;let o,c,f,a,u;const w=new ArrayBuffer(i),h=new l(w);let d=0;const p=C;for(t=x.p.g(t),u=1;(i||1)>d;u++){for(o=c=e.encrypt(p.concat(t,[u])),f=1;n>f;f++)for(c=e.encrypt(c),a=0;ad&&fs&&(e=(new n).update(e).D());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.K[0].update(r[0]),t.K[1].update(r[1]),t.U=new n(t.K[0])}reset(){const e=this;e.U=new e.M(e.K[0]),e.N=!1}update(e){this.N=!0,this.U.update(e)}digest(){const e=this,t=e.U.D(),n=new e.M(e.K[1]).update(t).D();return e.reset(),n}encrypt(e){if(this.N)throw new s("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},D=void 0!==h&&"function"==typeof h.getRandomValues,V="Invalid password",P="Invalid signature",R="zipjs-abort-check-password";function B(e){return D?h.getRandomValues(e):A.getRandomValues(e)}const E=16,M={name:"PBKDF2"},K=t.assign({hash:{name:"HMAC"}},M),U=t.assign({iterations:1e3,hash:{name:"SHA-1"}},M),N=["deriveBits"],O=[8,12,16],T=[16,24,32],W=10,j=[0,0,0,0],H="undefined",L="function",F=typeof h!=H,q=F&&h.subtle,G=F&&typeof q!=H,J=x.p,Q=class{constructor(e){const t=this;t.O=[[[],[],[],[],[]],[[],[],[],[],[]]],t.O[0][0][0]||t.T();const n=t.O[0][4],r=t.O[1],i=e.length;let o,c,f,a=1;if(4!==i&&6!==i&&8!==i)throw new s("invalid aes key size");for(t.v=[c=e.slice(0),f=[]],o=i;4*i+28>o;o++){let e=c[o-1];(o%i==0||8===i&&o%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%i==0&&(e=e<<8^e>>>24^a<<24,a=a<<1^283*(a>>7))),c[o]=c[o-i]^e}for(let e=0;o;e++,o--){const t=c[3&e?o:o-4];f[e]=4>=o||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.W(e,0)}decrypt(e){return this.W(e,1)}T(){const e=this.O[0],t=this.O[1],n=e[4],r=t[4],s=[],i=[];let o,c,f,a;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=o=0;!n[l];l^=c||1,o=i[o]||1){let i=o^o<<1^o<<2^o<<3^o<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,a=s[f=s[c=s[l]]];let u=16843009*a^65537*f^257*c^16843008*l,w=257*s[i]^16843008*i;for(let n=0;4>n;n++)e[n][l]=w=w<<24^w>>>8,t[n][i]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}W(e,t){if(4!==e.length)throw new s("invalid aes block size");const n=this.v[t],r=n.length/4-2,i=[0,0,0,0],o=this.O[t],c=o[0],f=o[1],a=o[2],l=o[3],u=o[4];let w,h,d,p=e[0]^n[0],y=e[t?3:1]^n[1],m=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;r>e;e++)w=c[p>>>24]^f[y>>16&255]^a[m>>8&255]^l[255&b]^n[g],h=c[y>>>24]^f[m>>16&255]^a[b>>8&255]^l[255&p]^n[g+1],d=c[m>>>24]^f[b>>16&255]^a[p>>8&255]^l[255&y]^n[g+2],b=c[b>>>24]^f[p>>16&255]^a[y>>8&255]^l[255&m]^n[g+3],g+=4,p=w,y=h,m=d;for(let e=0;4>e;e++)i[t?3&-e:e]=u[p>>>24]<<24^u[y>>16&255]<<16^u[m>>8&255]<<8^u[255&b]^n[g++],w=p,p=y,y=m,m=b,b=w;return i}},X=class{constructor(e,t){this.j=e,this.H=t,this.L=t}reset(){this.L=this.H}update(e){return this.F(this.j,e,this.L)}q(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}G(e){0===(e[0]=this.q(e[0]))&&(e[1]=this.q(e[1]))}F(e,t,n){let r;if(!(r=t.length))return[];const s=C.l(t);for(let s=0;r>s;s+=4){this.G(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return C.u(t,s)}},Y=I.R;let Z=F&&G&&typeof q.importKey==L,$=F&&G&&typeof q.deriveBits==L;class ee extends p{constructor({password:e,signed:n,encryptionStrength:r,checkPasswordOnly:o}){super({start(){t.assign(this,{ready:new u((e=>this.J=e)),password:e,signed:n,X:r-1,pending:new i})},async transform(e,t){const n=this,{password:r,X:c,J:f,ready:a}=n;r?(await(async(e,t,n,r)=>{const i=await re(e,t,n,ie(r,0,O[t])),o=ie(r,O[t]);if(i[0]!=o[0]||i[1]!=o[1])throw new s(V)})(n,c,r,ie(e,0,O[c]+2)),e=ie(e,O[c]+2),o?t.error(new s(R)):f()):await a;const l=new i(e.length-W-(e.length-W)%E);t.enqueue(ne(n,e,l,0,W,!0))},async flush(e){const{signed:t,Y:n,Z:r,pending:o,ready:c}=this;await c;const f=ie(o,0,o.length-W),a=ie(o,o.length-W);let l=new i;if(f.length){const e=ce(J,f);r.update(e);const t=n.update(e);l=oe(J,t)}if(t){const e=ie(oe(J,r.digest()),0,W);for(let t=0;W>t;t++)if(e[t]!=a[t])throw new s(P)}e.enqueue(l)}})}}class te extends p{constructor({password:e,encryptionStrength:n}){let r;super({start(){t.assign(this,{ready:new u((e=>this.J=e)),password:e,X:n-1,pending:new i})},async transform(e,t){const n=this,{password:r,X:s,J:o,ready:c}=n;let f=new i;r?(f=await(async(e,t,n)=>{const r=B(new i(O[t]));return se(r,await re(e,t,n,r))})(n,s,r),o()):await c;const a=new i(f.length+e.length-e.length%E);a.set(f,0),t.enqueue(ne(n,e,a,f.length,0))},async flush(e){const{Y:t,Z:n,pending:s,ready:o}=this;await o;let c=new i;if(s.length){const e=t.update(ce(J,s));n.update(e),c=oe(J,e)}r.signature=oe(J,n.digest()).slice(0,W),e.enqueue(se(c,r.signature))}}),r=this}}function ne(e,t,n,r,s,o){const{Y:c,Z:f,pending:a}=e,l=t.length-s;let u;for(a.length&&(t=se(a,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new i(t)).set(n,0)}return e})(n,l-l%E)),u=0;l-E>=u;u+=E){const e=ce(J,ie(t,u,u+E));o&&f.update(e);const s=c.update(e);o||f.update(s),n.set(oe(J,s),u+r)}return e.pending=ie(t,u),n}async function re(n,r,s,o){n.password=null;const c=(e=>{if(void 0===w){const t=new i((e=unescape(encodeURIComponent(e))).length);for(let n=0;n{if(!Z)return I.importKey(t);try{return await q.importKey("raw",t,n,!1,s)}catch(e){return Z=!1,I.importKey(t)}})(0,c,K,0,N),a=await(async(e,t,n)=>{if(!$)return I.B(t,e.salt,U.iterations,n);try{return await q.deriveBits(e,t,n)}catch(r){return $=!1,I.B(t,e.salt,U.iterations,n)}})(t.assign({salt:o},U),f,8*(2*T[r]+2)),l=new i(a),u=ce(J,ie(l,0,T[r])),h=ce(J,ie(l,T[r],2*T[r])),d=ie(l,2*T[r]);return t.assign(n,{keys:{key:u,$:h,passwordVerification:d},Y:new X(new Q(u),e.from(j)),Z:new Y(h)}),d}function se(e,t){let n=e;return e.length+t.length&&(n=new i(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ie(e,t,n){return e.subarray(t,n)}function oe(e,t){return e.m(t)}function ce(e,t){return e.g(t)}class fe extends p{constructor({password:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){t.assign(this,{password:e,passwordVerification:n}),we(this,e)},transform(e,t){const n=this;if(n.password){const t=le(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new s(V);e=e.subarray(12)}r?t.error(new s(R)):t.enqueue(le(n,e))}})}}class ae extends p{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),we(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=B(new i(12));t[11]=n.passwordVerification,r=new i(e.length+t.length),r.set(ue(n,t),0),s=12}else r=new i(e.length),s=0;r.set(ue(n,e),s),t.enqueue(r)}})}}function le(e,t){const n=new i(t.length);for(let r=0;r>>24]),i=~e.te.get(),e.keys=[n,s,i]}function de(e){const t=2|e.keys[2];return pe(r.imul(t,1^t)>>>8)}function pe(e){return 255&e}function ye(e){return 4294967295&e}const me="deflate-raw";class be extends p{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:o,zipCrypto:c,signed:f,level:a}=e,u=this;let w,h,d=ke(super.readable);i&&!c||!f||([d,w]=d.tee(),w=ze(w,new z)),s&&(d=Se(d,o,{level:a,chunkSize:t},r,n)),i&&(c?d=ze(d,new ae(e)):(h=new te(e),d=ze(d,h))),ve(u,d,(async()=>{let e;i&&!c&&(e=h.signature),i&&!c||!f||(e=await w.getReader().read(),e=new l(e.value.buffer).getUint32(0)),u.signature=e}))}}class ge extends p{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:o,signed:c,signature:f,compressed:a,useCompressionStream:u}=e;let w,h,d=ke(super.readable);o&&(i?d=ze(d,new fe(e)):(h=new ee(e),d=ze(d,h))),a&&(d=Se(d,u,{chunkSize:t},r,n)),o&&!i||!c||([d,w]=d.tee(),w=ze(w,new z)),ve(this,d,(async()=>{if((!o||i)&&c){const e=await w.getReader().read(),t=new l(e.value.buffer);if(f!=t.getUint32(0,!1))throw new s(P)}}))}}function ke(e){return ze(e,new p({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ve(e,n,r){n=ze(n,new p({flush:r})),t.defineProperty(e,"readable",{get:()=>n})}function Se(e,t,n,r,s){try{e=ze(e,new(t&&r?r:s)(me,n))}catch(r){if(!t)throw r;e=ze(e,new s(me,n))}return e}function ze(e,t){return e.pipeThrough(t)}const Ce="data";class xe extends p{constructor(e,n){super({});const r=this,{codecType:s}=e;let i;s.startsWith("deflate")?i=be:s.startsWith("inflate")&&(i=ge);let o=0;const c=new i(e,n),f=super.readable,a=new p({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;t.assign(r,{signature:e,size:o})}});t.defineProperty(r,"readable",{get:()=>f.pipeThrough(c).pipeThrough(a)})}}const _e=new a,Ae=new a;let Ie=0;async function De(e){try{const{options:t,scripts:r,config:s}=e;r&&r.length&&importScripts.apply(void 0,r),self.initCodec&&self.initCodec(),s.CompressionStreamNative=self.CompressionStream,s.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(s.CompressionStream=new k(self.Deflate)),self.Inflate&&(s.DecompressionStream=new k(self.Inflate));const i={highWaterMark:1,size:()=>s.chunkSize},o=e.readable||new y({async pull(e){const t=new u((e=>_e.set(Ie,e)));Ve({type:"pull",messageId:Ie}),Ie=(Ie+1)%n.MAX_SAFE_INTEGER;const{value:r,done:s}=await t;e.enqueue(r),s&&e.close()}},i),c=e.writable||new m({async write(e){let t;const r=new u((e=>t=e));Ae.set(Ie,t),Ve({type:Ce,value:e,messageId:Ie}),Ie=(Ie+1)%n.MAX_SAFE_INTEGER,await r}},i),f=new xe(t,s);await o.pipeThrough(f).pipeTo(c,{preventClose:!0,preventAbort:!0});try{await c.close()}catch(e){}const{signature:a,size:l}=f;Ve({type:"close",result:{signature:a,size:l}})}catch(e){Pe(e)}}function Ve(e){let{value:t}=e;if(t)if(t.length)try{t=new i(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Pe(e){const{message:t,stack:n,code:r,name:s}=e;d({error:{message:t,stack:n,code:r,name:s}})}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:r,done:s}=e;try{if("start"==t&&De(e),t==Ce){const e=_e.get(n);_e.delete(n),e({value:new i(r),done:s})}if("ack"==t){const e=Ae.get(n);Ae.delete(n),e()}}catch(e){Pe(e)}}));const Re=-2;function Be(t){return Ee(t.map((([t,n])=>new e(t).fill(n,0,t))))}function Ee(t){return t.reduce(((t,n)=>t.concat(e.isArray(n)?Ee(n):n)),[])}const Me=[0,1,2,3].concat(...Be([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function Ke(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.ne=n=>{const s=e.re,i=e.ie.se,o=e.ie.oe;let c,f,a,l=-1;for(n.ce=0,n.fe=573,c=0;o>c;c++)0!==s[2*c]?(n.ae[++n.ce]=l=c,n.le[c]=0):s[2*c+1]=0;for(;2>n.ce;)a=n.ae[++n.ce]=2>l?++l:0,s[2*a]=1,n.le[a]=0,n.ue--,i&&(n.we-=i[2*a+1]);for(e.he=l,c=r.floor(n.ce/2);c>=1;c--)n.de(s,c);a=o;do{c=n.ae[1],n.ae[1]=n.ae[n.ce--],n.de(s,1),f=n.ae[1],n.ae[--n.fe]=c,n.ae[--n.fe]=f,s[2*a]=s[2*c]+s[2*f],n.le[a]=r.max(n.le[c],n.le[f])+1,s[2*c+1]=s[2*f+1]=a,n.ae[1]=a++,n.de(s,1)}while(n.ce>=2);n.ae[--n.fe]=n.ae[1],(t=>{const n=e.re,r=e.ie.se,s=e.ie.pe,i=e.ie.ye,o=e.ie.me;let c,f,a,l,u,w,h=0;for(l=0;15>=l;l++)t.be[l]=0;for(n[2*t.ae[t.fe]+1]=0,c=t.fe+1;573>c;c++)f=t.ae[c],l=n[2*n[2*f+1]+1]+1,l>o&&(l=o,h++),n[2*f+1]=l,f>e.he||(t.be[l]++,u=0,i>f||(u=s[f-i]),w=n[2*f],t.ue+=w*(l+u),r&&(t.we+=w*(r[2*f+1]+u)));if(0!==h){do{for(l=o-1;0===t.be[l];)l--;t.be[l]--,t.be[l+1]+=2,t.be[o]--,h-=2}while(h>0);for(l=o;0!==l;l--)for(f=t.be[l];0!==f;)a=t.ae[--c],a>e.he||(n[2*a+1]!=l&&(t.ue+=(l-n[2*a+1])*n[2*a],n[2*a+1]=l),f--)}})(n),((e,n,r)=>{const s=[];let i,o,c,f=0;for(i=1;15>=i;i++)s[i]=f=f+r[i-1]<<1;for(o=0;n>=o;o++)c=e[2*o+1],0!==c&&(e[2*o]=t(s[c]++,c))})(s,e.he,n.be)}}function Ue(e,t,n,r,s){const i=this;i.se=e,i.pe=t,i.ye=n,i.oe=r,i.me=s}Ke.ge=[0,1,2,3,4,5,6,7].concat(...Be([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),Ke.ke=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],Ke.ve=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],Ke.Se=e=>256>e?Me[e]:Me[256+(e>>>7)],Ke.ze=[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],Ke.Ce=[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],Ke.xe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ke._e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const Ne=Be([[144,8],[112,9],[24,7],[8,8]]);Ue.Ae=Ee([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,Ne[t]])));const Oe=Be([[30,5]]);function Te(e,t,n,r,s){const i=this;i.Ie=e,i.De=t,i.Ve=n,i.Pe=r,i.Re=s}Ue.Be=Ee([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,Oe[t]]))),Ue.Ee=new Ue(Ue.Ae,Ke.ze,257,286,15),Ue.Me=new Ue(Ue.Be,Ke.Ce,0,30,15),Ue.Ke=new Ue(null,Ke.xe,0,19,7);const We=[new Te(0,0,0,0,0),new Te(4,4,8,4,1),new Te(4,5,16,8,1),new Te(4,6,32,32,1),new Te(4,4,16,16,2),new Te(8,16,32,32,2),new Te(8,16,128,128,2),new Te(8,32,128,256,2),new Te(32,128,258,1024,2),new Te(32,258,258,4096,2)],je=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],He=113,Le=666,Fe=262;function qe(e,t,n,r){const s=e[2*t],i=e[2*n];return i>s||s==i&&r[t]<=r[n]}function Ge(){const e=this;let t,n,s,c,f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z,C,x,_,A,I,D,V,P,R,B,E,M,K;const U=new Ke,N=new Ke,O=new Ke;let T,W,j,H,L,F;function q(){let t;for(t=0;286>t;t++)E[2*t]=0;for(t=0;30>t;t++)M[2*t]=0;for(t=0;19>t;t++)K[2*t]=0;E[512]=1,e.ue=e.we=0,W=j=0}function G(e,t){let n,r=-1,s=e[1],i=0,o=7,c=4;0===s&&(o=138,c=3),e[2*(t+1)+1]=65535;for(let f=0;t>=f;f++)n=s,s=e[2*(f+1)+1],++ii?K[2*n]+=i:0!==n?(n!=r&&K[2*n]++,K[32]++):i>10?K[36]++:K[34]++,i=0,r=n,0===s?(o=138,c=3):n==s?(o=6,c=3):(o=7,c=4))}function J(t){e.Ue[e.pending++]=t}function Q(e){J(255&e),J(e>>>8&255)}function X(e,t){let n;const r=t;F>16-r?(n=e,L|=n<>>16-F,F+=r-16):(L|=e<=n;n++)if(r=i,i=e[2*(n+1)+1],++o>=c||r!=i){if(f>o)do{Y(r,K)}while(0!=--o);else 0!==r?(r!=s&&(Y(r,K),o--),Y(16,K),X(o-3,2)):o>10?(Y(18,K),X(o-11,7)):(Y(17,K),X(o-3,3));o=0,s=r,0===i?(c=138,f=3):r==i?(c=6,f=3):(c=7,f=4)}}function $(){16==F?(Q(L),L=0,F=0):8>F||(J(255&L),L>>>=8,F-=8)}function ee(t,n){let s,i,o;if(e.Ne[W]=t,e.Oe[W]=255&n,W++,0===t?E[2*n]++:(j++,t--,E[2*(Ke.ge[n]+256+1)]++,M[2*Ke.Se(t)]++),0==(8191&W)&&V>2){for(s=8*W,i=C-k,o=0;30>o;o++)s+=M[2*o]*(5+Ke.Ce[o]);if(s>>>=3,jc);Y(256,t),H=t[513]}function ne(){F>8?Q(L):F>0&&J(255&L),L=0,F=0}function re(t,n,r){X(0+(r?1:0),3),((t,n)=>{ne(),H=8,Q(n),Q(~n),e.Ue.set(u.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function se(n){((t,n,r)=>{let s,i,o=0;V>0?(U.ne(e),N.ne(e),o=(()=>{let t;for(G(E,U.he),G(M,N.he),O.ne(e),t=18;t>=3&&0===K[2*Ke._e[t]+1];t--);return e.ue+=14+3*(t+1),t})(),s=e.ue+3+7>>>3,i=e.we+3+7>>>3,i>s||(s=i)):s=i=n+5,n+4>s||-1==t?i==s?(X(2+(r?1:0),3),te(Ue.Ae,Ue.Be)):(X(4+(r?1:0),3),((e,t,n)=>{let r;for(X(e-257,5),X(t-1,5),X(n-4,4),r=0;n>r;r++)X(K[2*Ke._e[r]+1],3);Z(E,e-1),Z(M,t-1)})(U.he+1,N.he+1,o+1),te(E,M)):re(t,n,r),q(),r&&ne()})(0>k?-1:k,C-k,n),k=C,t.Te()}function ie(){let e,n,r,s;do{if(s=w-_-C,0===s&&0===C&&0===_)s=f;else if(-1==s)s--;else if(C>=f+f-Fe){u.set(u.subarray(f,f+f),0),x-=f,C-=f,k-=f,e=y,r=e;do{n=65535&d[--r],d[r]=f>n?0:n-f}while(0!=--e);e=f,r=e;do{n=65535&h[--r],h[r]=f>n?0:n-f}while(0!=--e);s+=f}if(0===t.We)return;e=t.je(u,C+_,s),_+=e,3>_||(p=255&u[C],p=(p<_&&0!==t.We)}function oe(e){let t,n,r=I,s=C,i=A;const o=C>f-Fe?C-(f-Fe):0;let c=B;const a=l,w=C+258;let d=u[s+i-1],p=u[s+i];R>A||(r>>=2),c>_&&(c=_);do{if(t=e,u[t+i]==p&&u[t+i-1]==d&&u[t]==u[s]&&u[++t]==u[s+1]){s+=2,t++;do{}while(u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&w>s);if(n=258-(w-s),s=w-258,n>i){if(x=e,i=n,n>=c)break;d=u[s+i-1],p=u[s+i]}}}while((e=65535&h[e&a])>o&&0!=--r);return i>_?_:i}e.le=[],e.be=[],e.ae=[],E=[],M=[],K=[],e.de=(t,n)=>{const r=e.ae,s=r[n];let i=n<<1;for(;i<=e.ce&&(i(W||(W=8),j||(j=8),G||(G=0),t.Le=null,-1==S&&(S=6),1>j||j>9||8!=W||9>x||x>15||0>S||S>9||0>G||G>2?Re:(t.Fe=e,a=x,f=1<(t.qe=t.Ge=0,t.Le=null,e.pending=0,e.Je=0,n=He,c=0,U.re=E,U.ie=Ue.Ee,N.re=M,N.ie=Ue.Me,O.re=K,O.ie=Ue.Ke,L=0,F=0,H=8,q(),(()=>{w=2*f,d[y-1]=0;for(let e=0;y-1>e;e++)d[e]=0;D=We[V].De,R=We[V].Ie,B=We[V].Ve,I=We[V].Pe,C=0,k=0,_=0,v=A=2,z=0,p=0})(),0))(t))),e.Qe=()=>42!=n&&n!=He&&n!=Le?Re:(e.Oe=null,e.Ne=null,e.Ue=null,d=null,h=null,u=null,e.Fe=null,n==He?-3:0),e.Xe=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?Re:(We[V].Re!=We[t].Re&&0!==e.qe&&(r=e.Ye(1)),V!=t&&(V=t,D=We[V].De,R=We[V].Ie,B=We[V].Ve,I=We[V].Pe),P=n,r)},e.Ze=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return Re;if(3>i)return 0;for(i>f-Fe&&(i=f-Fe,o=r-i),u.set(t.subarray(o,o+i),0),C=i,k=i,p=255&u[0],p=(p<=s;s++)p=(p<{let o,w,m,I,R;if(i>4||0>i)return Re;if(!r.$e||!r.et&&0!==r.We||n==Le&&4!=i)return r.Le=je[4],Re;if(0===r.tt)return r.Le=je[7],-5;var B;if(t=r,I=c,c=i,42==n&&(w=8+(a-8<<4)<<8,m=(V-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==C&&(w|=32),w+=31-w%31,n=He,J((B=w)>>8&255),J(255&B)),0!==e.pending){if(t.Te(),0===t.tt)return c=-1,0}else if(0===t.We&&I>=i&&4!=i)return t.Le=je[7],-5;if(n==Le&&0!==t.We)return r.Le=je[7],-5;if(0!==t.We||0!==_||0!=i&&n!=Le){switch(R=-1,We[V].Re){case 0:R=(e=>{let n,r=65535;for(r>s-5&&(r=s-5);;){if(1>=_){if(ie(),0===_&&0==e)return 0;if(0===_)break}if(C+=_,_=0,n=k+r,(0===C||C>=n)&&(_=C-n,C=n,se(!1),0===t.tt))return 0;if(C-k>=f-Fe&&(se(!1),0===t.tt))return 0}return se(4==e),0===t.tt?4==e?2:0:4==e?3:1})(i);break;case 1:R=(e=>{let n,r=0;for(;;){if(Fe>_){if(ie(),Fe>_&&0==e)return 0;if(0===_)break}if(3>_||(p=(p<f-Fe||2!=P&&(v=oe(r)),3>v)n=ee(0,255&u[C]),_--,C++;else if(n=ee(C-x,v-3),_-=v,v>D||3>_)C+=v,v=0,p=255&u[C],p=(p<{let n,r,s=0;for(;;){if(Fe>_){if(ie(),Fe>_&&0==e)return 0;if(0===_)break}if(3>_||(p=(p<A&&f-Fe>=(C-s&65535)&&(2!=P&&(v=oe(s)),5>=v&&(1==P||3==v&&C-x>4096)&&(v=2)),3>A||v>A)if(0!==z){if(n=ee(0,255&u[C-1]),n&&se(!1),C++,_--,0===t.tt)return 0}else z=1,C++,_--;else{r=C+_-3,n=ee(C-1-S,A-3),_-=A-1,A-=2;do{++C>r||(p=(p<1+H+10-F&&(X(2,3),Y(256,Ue.Ae),$()),H=7;else if(re(0,0,!1),3==i)for(o=0;y>o;o++)d[o]=0;if(t.Te(),0===t.tt)return c=-1,0}}return 4!=i?0:1}}function Je(){const e=this;e.nt=0,e.rt=0,e.We=0,e.qe=0,e.tt=0,e.Ge=0}function Qe(e){const t=new Je,n=(o=e&&e.chunkSize?e.chunkSize:65536)+5*(r.floor(o/16383)+1);var o;const c=new i(n);let f=e?e.level:-1;void 0===f&&(f=-1),t.He(f),t.$e=c,this.append=(e,r)=>{let o,f,a=0,l=0,u=0;const w=[];if(e.length){t.nt=0,t.et=e,t.We=e.length;do{if(t.rt=0,t.tt=n,o=t.Ye(0),0!=o)throw new s("deflating: "+t.Le);t.rt&&(t.rt==n?w.push(new i(c)):w.push(c.slice(0,t.rt))),u+=t.rt,r&&t.nt>0&&t.nt!=a&&(r(t.nt),a=t.nt)}while(t.We>0||0===t.tt);return w.length>1?(f=new i(u),w.forEach((e=>{f.set(e,l),l+=e.length}))):f=w[0]||new i,f}},this.flush=()=>{let e,r,o=0,f=0;const a=[];do{if(t.rt=0,t.tt=n,e=t.Ye(4),1!=e&&0!=e)throw new s("deflating: "+t.Le);n-t.tt>0&&a.push(c.slice(0,t.rt)),f+=t.rt}while(t.We>0||0===t.tt);return t.Qe(),r=new i(f),a.forEach((e=>{r.set(e,o),o+=e.length})),r}}Je.prototype={He(e,t){const n=this;return n.Fe=new Ge,t||(t=15),n.Fe.He(n,e,t)},Ye(e){const t=this;return t.Fe?t.Fe.Ye(t,e):Re},Qe(){const e=this;if(!e.Fe)return Re;const t=e.Fe.Qe();return e.Fe=null,t},Xe(e,t){const n=this;return n.Fe?n.Fe.Xe(n,e,t):Re},Ze(e,t){const n=this;return n.Fe?n.Fe.Ze(n,e,t):Re},je(e,t,n){const r=this;let s=r.We;return s>n&&(s=n),0===s?0:(r.We-=s,e.set(r.et.subarray(r.nt,r.nt+s),t),r.nt+=s,r.qe+=s,s)},Te(){const e=this;let t=e.Fe.pending;t>e.tt&&(t=e.tt),0!==t&&(e.$e.set(e.Fe.Ue.subarray(e.Fe.Je,e.Fe.Je+t),e.rt),e.rt+=t,e.Fe.Je+=t,e.Ge+=t,e.tt-=t,e.Fe.pending-=t,0===e.Fe.pending&&(e.Fe.Je=0))}};const Xe=-2,Ye=-3,Ze=-5,$e=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],et=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],tt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],nt=[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,0,0],rt=[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,112,112],st=[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],it=[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];function ot(){let e,t,n,r,s,i;function o(e,t,o,c,f,a,l,u,w,h,d){let p,y,m,b,g,k,v,S,z,C,x,_,A,I,D;C=0,g=o;do{n[e[t+C]]++,C++,g--}while(0!==g);if(n[0]==o)return l[0]=-1,u[0]=0,0;for(S=u[0],k=1;15>=k&&0===n[k];k++);for(v=k,k>S&&(S=k),g=15;0!==g&&0===n[g];g--);for(m=g,S>g&&(S=g),u[0]=S,I=1<k;k++,I<<=1)if(0>(I-=n[k]))return Ye;if(0>(I-=n[g]))return Ye;for(n[g]+=I,i[1]=k=0,C=1,A=2;0!=--g;)i[A]=k+=n[C],A++,C++;g=0,C=0;do{0!==(k=e[t+C])&&(d[i[k]++]=g),C++}while(++g=v;v++)for(p=n[v];0!=p--;){for(;v>_+S;){if(b++,_+=S,D=m-_,D=D>S?S:D,(y=1<<(k=v-_))>p+1&&(y-=p+1,A=v,D>k))for(;++kn[++A];)y-=n[A];if(D=1<1440)return Ye;s[b]=x=h[0],h[0]+=D,0!==b?(i[b]=g,r[0]=k,r[1]=S,k=g>>>_-S,r[2]=x-s[b-1]-k,w.set(r,3*(s[b-1]+k))):l[0]=x}for(r[1]=v-_,o>C?d[C]d[C]?0:96,r[2]=d[C++]):(r[0]=a[d[C]-c]+16+64,r[2]=f[d[C++]-c]):r[0]=192,y=1<>>_;D>k;k+=y)w.set(r,3*(x+k));for(k=1<>>=1)g^=k;for(g^=k,z=(1<<_)-1;(g&z)!=i[b];)b--,_-=S,z=(1<<_)-1}return 0!==I&&1!=m?Ze:0}function c(o){let c;for(e||(e=[],t=[],n=new f(16),r=[],s=new f(15),i=new f(16)),t.lengthc;c++)t[c]=0;for(c=0;16>c;c++)n[c]=0;for(c=0;3>c;c++)r[c]=0;s.set(n.subarray(0,15),0),i.set(n.subarray(0,16),0)}this.st=(n,r,s,i,f)=>{let a;return c(19),e[0]=0,a=o(n,0,19,19,null,null,s,r,i,e,t),a==Ye?f.Le="oversubscribed dynamic bit lengths tree":a!=Ze&&0!==r[0]||(f.Le="incomplete dynamic bit lengths tree",a=Ye),a},this.it=(n,r,s,i,f,a,l,u,w)=>{let h;return c(288),e[0]=0,h=o(s,0,n,257,nt,rt,a,i,u,e,t),0!=h||0===i[0]?(h==Ye?w.Le="oversubscribed literal/length tree":-4!=h&&(w.Le="incomplete literal/length tree",h=Ye),h):(c(288),h=o(s,n,r,0,st,it,l,f,u,e,t),0!=h||0===f[0]&&n>257?(h==Ye?w.Le="oversubscribed distance tree":h==Ze?(w.Le="incomplete distance tree",h=Ye):-4!=h&&(w.Le="empty distance tree with lengths",h=Ye),h):0)}}function ct(){const e=this;let t,n,r,s,i=0,o=0,c=0,f=0,a=0,l=0,u=0,w=0,h=0,d=0;function p(e,t,n,r,s,i,o,c){let f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z;d=c.nt,p=c.We,w=o.ot,h=o.ct,y=o.write,m=yh;)p--,w|=(255&c.ft(d++))<>=a[z+1],h-=a[z+1],0!=(16&u)){for(u&=15,k=a[z+2]+(w&$e[u]),w>>=u,h-=u;15>h;)p--,w|=(255&c.ft(d++))<>=a[z+1],h-=a[z+1],0!=(16&u)){for(u&=15;u>h;)p--,w|=(255&c.ft(d++))<>=u,h-=u,m-=k,v>y){S=y-v;do{S+=o.end}while(0>S);if(u=o.end-S,k>u){if(k-=u,y-S>0&&u>y-S)do{o.lt[y++]=o.lt[S++]}while(0!=--u);else o.lt.set(o.lt.subarray(S,S+u),y),y+=u,S+=u,u=0;S=0}}else S=y-v,y-S>0&&2>y-S?(o.lt[y++]=o.lt[S++],o.lt[y++]=o.lt[S++],k-=2):(o.lt.set(o.lt.subarray(S,S+2),y),y+=2,S+=2,k-=2);if(y-S>0&&k>y-S)do{o.lt[y++]=o.lt[S++]}while(0!=--k);else o.lt.set(o.lt.subarray(S,S+k),y),y+=k,S+=k,k=0;break}if(0!=(64&u))return c.Le="invalid distance code",k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,Ye;f+=a[z+2],f+=w&$e[u],z=3*(l+f),u=a[z]}break}if(0!=(64&u))return 0!=(32&u)?(k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,1):(c.Le="invalid literal/length code",k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,Ye);if(f+=a[z+2],f+=w&$e[u],z=3*(l+f),0===(u=a[z])){w>>=a[z+1],h-=a[z+1],o.lt[y++]=a[z+2],m--;break}}else w>>=a[z+1],h-=a[z+1],o.lt[y++]=a[z+2],m--}while(m>=258&&p>=10);return k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,0}e.init=(e,i,o,c,f,a)=>{t=0,u=e,w=i,r=o,h=c,s=f,d=a,n=null},e.ut=(e,y,m)=>{let b,g,k,v,S,z,C,x=0,_=0,A=0;for(A=y.nt,v=y.We,x=e.ot,_=e.ct,S=e.write,z=S=258&&v>=10&&(e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,m=p(u,w,r,h,s,d,e,y),A=y.nt,v=y.We,x=e.ot,_=e.ct,S=e.write,z=S_;){if(0===v)return e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(A++))<<_,_+=8}if(g=3*(o+(x&$e[b])),x>>>=n[g+1],_-=n[g+1],k=n[g],0===k){f=n[g+2],t=6;break}if(0!=(16&k)){a=15&k,i=n[g+2],t=2;break}if(0==(64&k)){c=k,o=g/3+n[g+2];break}if(0!=(32&k)){t=7;break}return t=9,y.Le="invalid literal/length code",m=Ye,e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,e.wt(y,m);case 2:for(b=a;b>_;){if(0===v)return e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(A++))<<_,_+=8}i+=x&$e[b],x>>=b,_-=b,c=w,n=s,o=d,t=3;case 3:for(b=c;b>_;){if(0===v)return e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(A++))<<_,_+=8}if(g=3*(o+(x&$e[b])),x>>=n[g+1],_-=n[g+1],k=n[g],0!=(16&k)){a=15&k,l=n[g+2],t=4;break}if(0==(64&k)){c=k,o=g/3+n[g+2];break}return t=9,y.Le="invalid distance code",m=Ye,e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,e.wt(y,m);case 4:for(b=a;b>_;){if(0===v)return e.ot=x,e.ct=_,y.We=v,y.qe+=A-y.nt,y.nt=A,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(A++))<<_,_+=8}l+=x&$e[b],x>>=b,_-=b,t=5;case 5:for(C=S-l;0>C;)C+=e.end;for(;0!==i;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S7&&(_-=8,v++,A--),e.write=S,m=e.wt(y,m),S=e.write,z=S{}}ot.dt=(e,t,n,r)=>(e[0]=9,t[0]=5,n[0]=et,r[0]=tt,0);const ft=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function at(e,t){const n=this;let r,s=0,o=0,c=0,a=0;const l=[0],u=[0],w=new ct;let h=0,d=new f(4320);const p=new ot;n.ct=0,n.ot=0,n.lt=new i(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),6==s&&w.ht(e),s=0,n.ct=0,n.ot=0,n.read=n.write=0},n.reset(e,null),n.wt=(e,t)=>{let r,s,i;return s=e.rt,i=n.read,r=(i>n.write?n.end:n.write)-i,r>e.tt&&(r=e.tt),0!==r&&t==Ze&&(t=0),e.tt-=r,e.Ge+=r,e.$e.set(n.lt.subarray(i,i+r),s),s+=r,i+=r,i==n.end&&(i=0,n.write==n.end&&(n.write=0),r=n.write-i,r>e.tt&&(r=e.tt),0!==r&&t==Ze&&(t=0),e.tt-=r,e.Ge+=r,e.$e.set(n.lt.subarray(i,i+r),s),s+=r,i+=r),e.rt=s,n.read=i,t},n.ut=(e,t)=>{let i,f,y,m,b,g,k,v;for(m=e.nt,b=e.We,f=n.ot,y=n.ct,g=n.write,k=gy;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<>>1){case 0:f>>>=3,y-=3,i=7&y,f>>>=i,y-=i,s=1;break;case 1:S=[],z=[],C=[[]],x=[[]],ot.dt(S,z,C,x),w.init(S[0],z[0],C[0],0,x[0],0),f>>>=3,y-=3,s=6;break;case 2:f>>>=3,y-=3,s=3;break;case 3:return f>>>=3,y-=3,s=9,e.Le="invalid block type",t=Ye,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t)}break;case 1:for(;32>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<>>16&65535)!=(65535&f))return s=9,e.Le="invalid stored block lengths",t=Ye,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);o=65535&f,f=y=0,s=0!==o?2:0!==h?7:0;break;case 2:if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(0===k&&(g==n.end&&0!==n.read&&(g=0,k=gb&&(i=b),i>k&&(i=k),n.lt.set(e.je(m,i),g),m+=i,b-=i,g+=i,k-=i,0!=(o-=i))break;s=0!==h?7:0;break;case 3:for(;14>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<29||(i>>5&31)>29)return s=9,e.Le="too many length or distance symbols",t=Ye,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(i=258+(31&i)+(i>>5&31),!r||r.lengthv;v++)r[v]=0;f>>>=14,y-=14,a=0,s=4;case 4:for(;4+(c>>>10)>a;){for(;3>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<>>=3,y-=3}for(;19>a;)r[ft[a++]]=0;if(l[0]=7,i=p.st(r,l,u,d,e),0!=i)return(t=i)==Ye&&(r=null,s=9),n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);a=0,s=5;case 5:for(;i=c,258+(31&i)+(i>>5&31)>a;){let o,w;for(i=l[0];i>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<w)f>>>=i,y-=i,r[a++]=w;else{for(v=18==w?7:w-14,o=18==w?11:3;i+v>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<>>=i,y-=i,o+=f&$e[v],f>>>=v,y-=v,v=a,i=c,v+o>258+(31&i)+(i>>5&31)||16==w&&1>v)return r=null,s=9,e.Le="invalid bit length repeat",t=Ye,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);w=16==w?r[v-1]:0;do{r[v++]=w}while(0!=--o);a=v}}if(u[0]=-1,_=[],A=[],I=[],D=[],_[0]=9,A[0]=6,i=c,i=p.it(257+(31&i),1+(i>>5&31),r,_,A,I,D,d,e),0!=i)return i==Ye&&(r=null,s=9),t=i,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);w.init(_[0],A[0],d,I[0],d,D[0]),s=6;case 6:if(n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,1!=(t=w.ut(n,e,t)))return n.wt(e,t);if(t=0,w.ht(e),m=e.nt,b=e.We,f=n.ot,y=n.ct,g=n.write,k=g{n.reset(e,null),n.lt=null,d=null},n.yt=(e,t,r)=>{n.lt.set(e.subarray(t,t+r),0),n.read=n.write=r},n.bt=()=>1==s?1:0}const lt=13,ut=[0,0,255,255];function wt(){const e=this;function t(e){return e&&e.gt?(e.qe=e.Ge=0,e.Le=null,e.gt.mode=7,e.gt.kt.reset(e,null),0):Xe}e.mode=0,e.method=0,e.vt=[0],e.St=0,e.marker=0,e.zt=0,e.Ct=t=>(e.kt&&e.kt.ht(t),e.kt=null,0),e.xt=(n,r)=>(n.Le=null,e.kt=null,8>r||r>15?(e.Ct(n),Xe):(e.zt=r,n.gt.kt=new at(n,1<{let n,r;if(!e||!e.gt||!e.et)return Xe;const s=e.gt;for(t=4==t?Ze:0,n=Ze;;)switch(s.mode){case 0:if(0===e.We)return n;if(n=t,e.We--,e.qe++,8!=(15&(s.method=e.ft(e.nt++)))){s.mode=lt,e.Le="unknown compression method",s.marker=5;break}if(8+(s.method>>4)>s.zt){s.mode=lt,e.Le="invalid win size",s.marker=5;break}s.mode=1;case 1:if(0===e.We)return n;if(n=t,e.We--,e.qe++,r=255&e.ft(e.nt++),((s.method<<8)+r)%31!=0){s.mode=lt,e.Le="incorrect header check",s.marker=5;break}if(0==(32&r)){s.mode=7;break}s.mode=2;case 2:if(0===e.We)return n;n=t,e.We--,e.qe++,s.St=(255&e.ft(e.nt++))<<24&4278190080,s.mode=3;case 3:if(0===e.We)return n;n=t,e.We--,e.qe++,s.St+=(255&e.ft(e.nt++))<<16&16711680,s.mode=4;case 4:if(0===e.We)return n;n=t,e.We--,e.qe++,s.St+=(255&e.ft(e.nt++))<<8&65280,s.mode=5;case 5:return 0===e.We?n:(n=t,e.We--,e.qe++,s.St+=255&e.ft(e.nt++),s.mode=6,2);case 6:return s.mode=lt,e.Le="need dictionary",s.marker=0,Xe;case 7:if(n=s.kt.ut(e,n),n==Ye){s.mode=lt,s.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,s.kt.reset(e,s.vt),s.mode=12;case 12:return e.We=0,1;case lt:return Ye;default:return Xe}},e.At=(e,t,n)=>{let r=0,s=n;if(!e||!e.gt||6!=e.gt.mode)return Xe;const i=e.gt;return s<1<{let n,r,s,i,o;if(!e||!e.gt)return Xe;const c=e.gt;if(c.mode!=lt&&(c.mode=lt,c.marker=0),0===(n=e.We))return Ze;for(r=e.nt,s=c.marker;0!==n&&4>s;)e.ft(r)==ut[s]?s++:s=0!==e.ft(r)?0:4-s,r++,n--;return e.qe+=r-e.nt,e.nt=r,e.We=n,c.marker=s,4!=s?Ye:(i=e.qe,o=e.Ge,t(e),e.qe=i,e.Ge=o,c.mode=7,0)},e.Dt=e=>e&&e.gt&&e.gt.kt?e.gt.kt.bt():Xe}function ht(){}function dt(e){const t=new ht,n=e&&e.chunkSize?r.floor(2*e.chunkSize):131072,o=new i(n);let c=!1;t.xt(),t.$e=o,this.append=(e,r)=>{const f=[];let a,l,u=0,w=0,h=0;if(0!==e.length){t.nt=0,t.et=e,t.We=e.length;do{if(t.rt=0,t.tt=n,0!==t.We||c||(t.nt=0,c=!0),a=t._t(0),c&&a===Ze){if(0!==t.We)throw new s("inflating: bad input")}else if(0!==a&&1!==a)throw new s("inflating: "+t.Le);if((c||1===a)&&t.We===e.length)throw new s("inflating: bad input");t.rt&&(t.rt===n?f.push(new i(o)):f.push(o.slice(0,t.rt))),h+=t.rt,r&&t.nt>0&&t.nt!=u&&(r(t.nt),u=t.nt)}while(t.We>0||0===t.tt);return f.length>1?(l=new i(h),f.forEach((e=>{l.set(e,w),w+=e.length}))):l=f[0]||new i,l}},this.flush=()=>{t.Ct()}}ht.prototype={xt(e){const t=this;return t.gt=new wt,e||(e=15),t.gt.xt(t,e)},_t(e){const t=this;return t.gt?t.gt._t(t,e):Xe},Ct(){const e=this;if(!e.gt)return Xe;const t=e.gt.Ct(e);return e.gt=null,t},It(){const e=this;return e.gt?e.gt.It(e):Xe},At(e,t){const n=this;return n.gt?n.gt.At(n,e,t):Xe},ft(e){return this.et[e]},je(e,t){return this.et.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=Qe,self.Inflate=dt};\n'],{type:"text/javascript"}));e({workerScripts:{inflate:[t],deflate:[t]}})}(Ze),Ze({Deflate:function(e){const t=new X,n=(i=e&&e.chunkSize?e.chunkSize:65536)+5*(Math.floor(i/16383)+1);var i;const r=C,s=new Uint8Array(n);let a=e?e.level:S;void 0===a&&(a=S),t.deflateInit(a),t.next_out=s,this.append=function(e,i){let a,o,c=0,l=0,d=0;const f=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(r),a!=U)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?f.push(new Uint8Array(s)):f.push(s.slice(0,t.next_out_index))),d+=t.next_out_index,i&&t.next_in_index>0&&t.next_in_index!=c&&(i(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return f.length>1?(o=new Uint8Array(d),f.forEach((function(e){o.set(e,l),l+=e.length}))):o=f[0]||new Uint8Array,o}},this.flush=function(){let e,i,r=0,a=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(A),e!=W&&e!=U)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),i=new Uint8Array(a),o.forEach((function(e){i.set(e,r),r+=e.length})),i}},Inflate:function(e){const t=new Re,n=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,i=new Uint8Array(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=function(e,s){const a=[];let o,c,l=0,d=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||r||(t.next_in_index=0,r=!0),o=t.inflate(0),r&&o===ee){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(o!==H&&o!==Z)throw new Error("inflating: "+t.msg);if((r||o===Z)&&t.avail_in===e.length)throw new Error("inflating: bad input");t.next_out_index&&(t.next_out_index===n?a.push(new Uint8Array(i)):a.push(i.slice(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=l&&(s(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return a.length>1?(c=new Uint8Array(f),a.forEach((function(e){c.set(e,d),d+=e.length}))):c=a[0]||new Uint8Array,c}},this.flush=function(){t.inflateEnd()}}});class Wi extends Fn{constructor(e,t){super(e),this.blob=e,this.offset=t.offset+t.headerSize,this.size=t.compressedSize}async readUint8Array(e,t){const n=Ui(e,this.size)+this.offset,i=Ui(e+t,this.size)+this.offset,r=this.blob.slice(n,i);return new Uint8Array(await r.arrayBuffer())}}class ji extends Fn{constructor(e,t,n,i){super(),this.blob=e,this.entry=t,this.mimeString=n,this.options=i}async init(){const e=await async function(e,t){const n=t.offset,i=await e.slice(n,n+30).arrayBuffer(),r=new DataView(i);return{offset:n,compressionMethod:r.getUint16(8,!0),compressedSize:r.getUint32(18,!0),uncompressedSize:r.getUint32(22,!0),headerSize:30+r.getUint16(26,!0)+r.getUint16(28,!0)}}(this.blob,this.entry);if(0!==e.compressionMethod){const e=await c(this.entry,new En(this.mimeString),this.options);this.reader=new Dn(e)}else this.reader=new Wi(this.blob,e);this.size=this.reader.size}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}const qi=["boot","dt","dtbo","init_boot","pvmfw","recovery","vbmeta_system","vbmeta_vendor","vbmeta","vendor_boot","vendor_kernel_boot"],Fi=["odm","odm_dlkm","product","system_dlkm","system_ext","system","vendor_dlkm","vendor"],Di={load:"Loading",unpack:"Unpacking",flash:"Writing",wipe:"Wiping",reboot:"Restarting"},Ei=4e3;async function Li(e,t,i,r){const s=await c(t,new En("application/octet-stream"),{onstart(e){n(`Unpacking ${r} (${e} bytes)`),i("unpack",r,0)},onprogress(e,t){i("unpack",r,e/t)}});n(`Flashing ${r}`),i("flash",r,0),await e.flashBlob(r,s,(e=>{i("flash",r,e)}))}async function Ii(e,t,n,i){for(let r of i){let i=new RegExp(`${r}(?:-.+)?\\.img$`),s=t.find((e=>e.filename.match(i)));if(void 0!==s)if("bootloader"==r){let t=await e.getVariable("current-slot");if("a"==t)await Li(e,s,n,r+"_b"),await e.runCommand("set_active:b");else{if("b"!=t)throw new Oi("FAIL","Invalid slot given by bootloader.");await Li(e,s,n,r+"_a"),await e.runCommand("set_active:a")}}else await Li(e,s,n,r)}}async function Ri(e,t,n){try{await e.reboot(t,!1)}catch(e){}await e.waitForConnect(n)}async function Ti(e,t,i,r,o=((e,t,n)=>{})){o("load","package",0);let l=new pi(new Dn(t)),d=await l.getEntries();"yes"===await e.getVariable("is-userspace")&&await e.reboot("bootloader",!0,r),await Ii(e,d,o,["bootloader"]),await a(o,"reboot","device",Ei,Ri(e,"bootloader",r)),await Ii(e,d,o,["bootloader"]),await a(o,"reboot","device",Ei,Ri(e,"bootloader",r)),await Ii(e,d,o,["radio"]),await a(o,"reboot","device",Ei,Ri(e,"bootloader",r));let f=await e.getVariable("snapshot-update-status");null!==f&&"none"!==f&&await e.runCommand("snapshot-update:cancel");let u=d.find((e=>e.filename.match(/image-.+\.zip$/)));const m=new pi(new ji(t,u,"application/zip",{onstart(e){n(`Loading nested images from zip (${e} bytes)`),o("unpack","images",0)},onprogress(e,t){o("unpack","images",e/t)}})),p=await m.getEntries();if(u=p.find((e=>"android-info.txt"===e.filename)),void 0!==u){const t=await c(u,new Ln);await async function(e,t){for(let i of t.replace("\r","").split("\n")){let t=i.match(/^require\s+(.+?)=(.+)$/);if(!t)continue;let r=t[1];"board"===r&&(r="product");let s=t[2],a=s.split("|");if("partition-exists"===r){let t=await e.getVariable(`has-slot:${s}`);if("yes"!==t&&"no"!==t)throw new Oi("FAIL",`Requirement ${r}=${s} failed, device lacks partition`);if(!qi.includes(s)&&!Fi.includes(s))throw new Oi("FAIL",`Requirement ${r}=${s} failed, unrecognized partition`)}else{let t=await e.getVariable(r);if(!a.includes(t)){let e=`Requirement ${r}=${s} failed, value = ${t}`;throw n(e),new Oi("FAIL",e)}n(`Requirement ${r}=${s} passed`)}}}(e,t)}if(await Ii(e,p,o,qi),u=p.find((e=>"super_empty.img"===e.filename)),void 0!==u){await a(o,"reboot","device",16e3,e.reboot("fastboot",!0,r));let t=await e.getVariable("super-partition-name");t||(t="super");let n=i?"wipe":"flash";o(n,"super",0);const l=await c(u,new En("application/octet-stream"));await e.upload(t,await s(l),(e=>{o(n,"super",e)})),await e.runCommand(`update-super:${t}${i?":wipe":""}`)}await Ii(e,p,o,Fi),"yes"===await e.getVariable("is-userspace")&&await a(o,"reboot","device",Ei,e.reboot("bootloader",!0,r)),u=d.find((e=>e.filename.endsWith("avb_pkmd.bin"))),void 0!==u&&(await e.runCommand("erase:avb_custom_key"),await Li(e,u,o,"avb_custom_key")),i&&await a(o,"wipe","data",1e3,e.runCommand("erase:userdata"))}class $i extends Error{constructor(e){super(e),this.name="UsbError"}}class Oi extends Error{constructor(e,t){super(`Bootloader replied with ${e}: ${t}`),this.status=e,this.bootloaderMessage=t,this.name="FastbootError"}}class Bi{constructor(){this.device=null,this.epIn=null,this.epOut=null,this._registeredUsbListeners=!1,this._connectResolve=null,this._connectReject=null,this._disconnectResolve=null}get isConnected(){return null!==this.device&&this.device.opened&&this.device.configurations[0].interfaces[0].claimed}async _validateAndConnectDevice(){if(null===this.device)throw new $i("Attempted to connect to null device");let e=this.device.configurations[0].interfaces[0].alternates[0];if(2!==e.endpoints.length)throw new $i("Interface has wrong number of endpoints");this.epIn=null,this.epOut=null;for(let t of e.endpoints){if(i("Checking endpoint:",t),"bulk"!==t.type)throw new $i("Interface endpoint is not bulk");if("in"===t.direction){if(null!==this.epIn)throw new $i("Interface has multiple IN endpoints");this.epIn=t.endpointNumber}else if("out"===t.direction){if(null!==this.epOut)throw new $i("Interface has multiple OUT endpoints");this.epOut=t.endpointNumber}}i("Endpoints: in =",this.epIn,", out =",this.epOut);try{await this.device.open();try{await this.device.reset()}catch(e){}await this.device.selectConfiguration(1),await this.device.claimInterface(0)}catch(e){throw null!==this._connectReject&&(this._connectReject(e),this._connectResolve=null,this._connectReject=null),e}null!==this._connectResolve&&(this._connectResolve(void 0),this._connectResolve=null,this._connectReject=null)}async waitForDisconnect(){if(null!==this.device)return await new Promise(((e,t)=>{this._disconnectResolve=e}))}async waitForConnect(e=(()=>{})){return navigator.userAgent.includes("Android")&&(await this.waitForDisconnect(),e()),await new Promise(((e,t)=>{this._connectResolve=e,this._connectReject=t}))}async connect(){let e=await navigator.usb.getDevices();n("Found paired USB devices:",e),1===e.length?this.device=e[0]:(n("No or multiple paired devices are connected, requesting one"),this.device=await navigator.usb.requestDevice({filters:[{classCode:255,subclassCode:66,protocolCode:3}]})),n("Using USB device:",this.device),this._registeredUsbListeners||(navigator.usb.addEventListener("disconnect",(e=>{e.device===this.device&&(n("USB device disconnected"),null!==this._disconnectResolve&&(this._disconnectResolve(void 0),this._disconnectResolve=null))})),navigator.usb.addEventListener("connect",(async e=>{n("USB device connected"),this.device=e.device;let t=null!==this._connectReject;try{await this._validateAndConnectDevice()}catch(e){if(!t)throw e}})),this._registeredUsbListeners=!0),await this._validateAndConnectDevice()}async _readResponse(){let e,t={text:""};do{let i=await this.device.transferIn(this.epIn,64),r=(new TextDecoder).decode(i.data);e=r.substring(0,4);let s=r.substring(4);if(n(`Response: ${e} ${s}`),"OKAY"===e)t.text+=s;else if("INFO"===e)t.text+=s+"\n";else{if("DATA"!==e)throw new Oi(e,s);t.dataSize=s}}while("INFO"===e);return t}async runCommand(e){if(e.length>64)throw new RangeError;let t=(new TextEncoder).encode(e);return await this.device.transferOut(this.epOut,t),n("Command:",e),this._readResponse()}async getVariable(e){let t;try{t=(await(n=this.runCommand(`getvar:${e}`),i=1e4,new Promise(((e,t)=>{let r=!1,s=setTimeout((()=>{r=!0,t(new o(i))}),i);n.then((t=>{r||e(t)})).catch((e=>{r||t(e)})).finally((()=>{r||clearTimeout(s)}))})))).text}catch(e){if(!(e instanceof Oi&&"FAIL"==e.status))throw e;t=null}var n,i;return t?t.trim():null}async _getDownloadSize(){try{let e=(await this.getVariable("max-download-size")).toLowerCase();if(e)return Math.min(parseInt(e,16),1073741824)}catch(e){}return 536870912}async _sendRawPayload(e,t){let n=0,r=e.byteLength;for(;r>0;){let s=e.slice(16384*n,16384*(n+1));n%1e3==0&&i(` Sending ${s.byteLength} bytes to endpoint, ${r} remaining, i=${n}`),n%10==0&&t((e.byteLength-r)/e.byteLength),await this.device.transferOut(this.epOut,s),r-=s.byteLength,n+=1}t(1)}async upload(e,t,i=(e=>{})){n(`Uploading single sparse to ${e}: ${t.byteLength} bytes`);let r=t.byteLength.toString(16).padStart(8,"0");if(8!==r.length)throw new Oi("FAIL",`Transfer size overflow: ${r} is more than 8 digits`);let s=await this.runCommand(`download:${r}`);if(void 0===s.dataSize)throw new Oi("FAIL",`Unexpected response to download command: ${s.text}`);if(parseInt(s.dataSize,16)!==t.byteLength)throw new Oi("FAIL",`Bootloader wants ${t.byteLength} bytes, requested to send ${t.byteLength} bytes`);n(`Sending payload: ${t.byteLength} bytes`),await this._sendRawPayload(t,i),n("Payload sent, waiting for response..."),await this._readResponse()}async reboot(e="",t=!1,n=(()=>{})){e.length>0?await this.runCommand(`reboot-${e}`):await this.runCommand("reboot"),t&&await this.waitForConnect(n)}async flashBlob(e,t,r=(e=>{})){"yes"===await this.getVariable(`has-slot:${e}`)&&(e+="_"+await this.getVariable("current-slot"));let a=await this._getDownloadSize(),o=await s(t.slice(0,u)),c=t.size,l=!1;try{let e=x(o);null!==e&&(c=e.blocks*e.blockSize,l=!0)}catch(e){}"yes"===await this.getVariable(`is-logical:${e}`)&&(await this.runCommand(`resize-logical-partition:${e}:0`),await this.runCommand(`resize-logical-partition:${e}:${c}`)),t.size>a&&!l&&(n(`${e} image is raw, converting to sparse`),t=await async function(e){let t={blockSize:4096,blocks:e.size/4096,chunks:1,crc32:0},n=[];for(;e.size>0;){let i=Math.min(e.size,67108864);n.push({type:h.Raw,blocks:i/t.blockSize,data:e.slice(0,i)}),e=e.slice(i)}return v(t,n)}(t)),n(`Flashing ${t.size} bytes to ${e}, ${a} bytes per split`);let d=0,f=0;for await(let o of async function*(e,t){if(n(`Splitting ${e.size}-byte sparse image into ${t}-byte chunks`),e.size<=t)return n("Blob fits in 1 payload, not splitting"),void(yield{data:await s(e),bytes:e.size});let r=x(await s(e.slice(0,u)));if(null===r)throw new p("Blob is not a sparse image");r.crc32=0,e=e.slice(u);let a=[],o=0;for(let l=0;le.data.size)).reduce(((e,t)=>e+t),0)}(c));if(i(` Chunk ${l}: type ${d.type}, ${d.dataBytes} bytes / ${d.blocks} blocks, ${f} bytes remaining`),f>=d.dataBytes)i(" Space is available, adding chunk"),a.push(d),o+=d.blocks*r.blockSize;else{let e=b(a);a.push({type:h.Skip,blocks:r.blocks-e,data:new Blob([]),dataBytes:0}),i(`Partition is ${r.blocks} blocks, used ${e}, padded with ${r.blocks-e}, finishing split with ${b(a)} blocks`);let t=await v(r,a);n(`Finished ${t.size}-byte split with ${a.length} chunks`),yield{data:await s(t),bytes:o},i(`Starting new split: skipping first ${e} blocks and adding chunk`),a=[{type:h.Skip,blocks:e,data:new Blob([]),dataBytes:0},d],o=0}}var c;if(a.length>0&&(a.length>1||a[0].type!==h.Skip)){let e=await v(r,a);n(`Finishing final ${e.size}-byte split with ${a.length} chunks`),yield{data:await s(e),bytes:o}}}(t,a))await this.upload(e,o.data,(e=>{r((f+e*o.bytes)/c)})),n("Flashing payload..."),await this.runCommand(`flash:${e}`),d+=1,f+=o.bytes;n(`Flashed ${e} with ${d} split(s)`)}async bootBlob(e,t=(e=>{})){n(`Booting ${e.size} bytes image`);let i=await s(e);await this.upload("boot.img",i,t),n("Booting payload..."),await this.runCommand("boot"),n(`Booted ${e.size} bytes image`)}async flashFactoryZip(e,t,n,i=(e=>{})){return await Ti(this,e,t,n,i)}}export{Bi as FastbootDevice,Oi as FastbootError,o as TimeoutError,Di as USER_ACTION_MAP,$i as UsbError,Ze as configureZip,r as setDebugLevel}; //# sourceMappingURL=fastboot.min.mjs.map