@zip.js/zip.js 2.5.13 → 2.5.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli-deno/mc-zip.js +21 -19
- package/dist/z-worker-fflate.js +1 -1
- package/dist/z-worker-pako.js +1 -1
- package/dist/z-worker.js +1 -1
- package/dist/zip-fs-full.js +139 -142
- package/dist/zip-fs-full.min.js +1 -1
- package/dist/zip-fs.js +137 -140
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-full.js +139 -142
- package/dist/zip-full.min.js +1 -1
- package/dist/zip-no-worker-deflate.min.js +1 -1
- package/dist/zip-no-worker-inflate.min.js +1 -1
- package/dist/zip-no-worker.min.js +1 -1
- package/dist/zip.js +137 -140
- package/dist/zip.min.js +1 -1
- package/index.d.ts +6 -2
- package/lib/core/codec-pool-worker.js +45 -33
- package/lib/core/codec-pool.js +11 -8
- package/lib/core/configuration.js +40 -28
- package/lib/core/io.js +21 -35
- package/lib/core/streams/aes-crypto-stream.js +5 -5
- package/lib/core/streams/codecs/deflate.js +1 -1
- package/lib/core/streams/codecs/inflate.js +1 -1
- package/lib/core/util/decode-text.js +1 -8
- package/lib/core/util/stream-codec-shim.js +2 -2
- package/lib/core/z-worker-core.js +10 -8
- package/lib/core/zip-writer.js +12 -21
- package/lib/z-worker-inline.js +1 -1
- package/package.json +1 -1
- package/rollup-fflate.config.dev.js +1 -1
- package/rollup-fflate.config.js +2 -2
- package/rollup.config.dev.js +1 -1
- package/rollup.config.js +2 -2
- package/tests/all/test-abort-signal-read.js +4 -2
package/dist/zip-full.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zip = {}));
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
-
const { Array, Object, String, BigInt, Math, Date, Map, URL, Error, Uint8Array, Uint16Array, Uint32Array, DataView, Blob, Promise, TextEncoder, TextDecoder,
|
|
7
|
+
const { Array, Object, String, BigInt, Math, Date, Map, URL, Error, Uint8Array, Uint16Array, Uint32Array, DataView, Blob, Promise, TextEncoder, TextDecoder, document, crypto, btoa, TransformStream, ReadableStream, WritableStream, CompressionStream, DecompressionStream, navigator } = globalThis;
|
|
8
8
|
|
|
9
9
|
/*
|
|
10
10
|
Copyright (c) 2022 Gildas Lormeau. All rights reserved.
|
|
@@ -2036,7 +2036,7 @@
|
|
|
2036
2036
|
bufferIndex += chunk.length;
|
|
2037
2037
|
});
|
|
2038
2038
|
} else {
|
|
2039
|
-
array = buffers[0] || new Uint8Array(
|
|
2039
|
+
array = buffers[0] || new Uint8Array();
|
|
2040
2040
|
}
|
|
2041
2041
|
return array;
|
|
2042
2042
|
};
|
|
@@ -4228,7 +4228,7 @@
|
|
|
4228
4228
|
bufferIndex += chunk.length;
|
|
4229
4229
|
});
|
|
4230
4230
|
} else {
|
|
4231
|
-
array = buffers[0] || new Uint8Array(
|
|
4231
|
+
array = buffers[0] || new Uint8Array();
|
|
4232
4232
|
}
|
|
4233
4233
|
return array;
|
|
4234
4234
|
};
|
|
@@ -4271,6 +4271,7 @@
|
|
|
4271
4271
|
/* global navigator */
|
|
4272
4272
|
|
|
4273
4273
|
const MINIMUM_CHUNK_SIZE = 64;
|
|
4274
|
+
const UNDEFINED_TYPE$2 = undefined;
|
|
4274
4275
|
const DEFAULT_CONFIGURATION = {
|
|
4275
4276
|
chunkSize: 512 * 1024,
|
|
4276
4277
|
maxWorkers: (typeof navigator != "undefined" && navigator.hardwareConcurrency) || 2,
|
|
@@ -4290,53 +4291,64 @@
|
|
|
4290
4291
|
}
|
|
4291
4292
|
|
|
4292
4293
|
function configure(configuration) {
|
|
4293
|
-
|
|
4294
|
-
|
|
4294
|
+
const {
|
|
4295
|
+
baseURL,
|
|
4296
|
+
chunkSize,
|
|
4297
|
+
maxWorkers,
|
|
4298
|
+
terminateWorkerTimeout,
|
|
4299
|
+
useCompressionStream,
|
|
4300
|
+
useWebWorkers,
|
|
4301
|
+
Deflate,
|
|
4302
|
+
Inflate,
|
|
4303
|
+
workerScripts
|
|
4304
|
+
} = configuration;
|
|
4305
|
+
if (baseURL !== UNDEFINED_TYPE$2) {
|
|
4306
|
+
config.baseURL = baseURL;
|
|
4295
4307
|
}
|
|
4296
|
-
if (
|
|
4297
|
-
config.chunkSize =
|
|
4308
|
+
if (chunkSize !== UNDEFINED_TYPE$2) {
|
|
4309
|
+
config.chunkSize = chunkSize;
|
|
4298
4310
|
}
|
|
4299
|
-
if (
|
|
4300
|
-
config.maxWorkers =
|
|
4311
|
+
if (maxWorkers !== UNDEFINED_TYPE$2) {
|
|
4312
|
+
config.maxWorkers = maxWorkers;
|
|
4301
4313
|
}
|
|
4302
|
-
if (
|
|
4303
|
-
config.terminateWorkerTimeout =
|
|
4314
|
+
if (terminateWorkerTimeout !== UNDEFINED_TYPE$2) {
|
|
4315
|
+
config.terminateWorkerTimeout = terminateWorkerTimeout;
|
|
4304
4316
|
}
|
|
4305
|
-
if (
|
|
4306
|
-
config.useCompressionStream =
|
|
4317
|
+
if (useCompressionStream !== UNDEFINED_TYPE$2) {
|
|
4318
|
+
config.useCompressionStream = useCompressionStream;
|
|
4307
4319
|
}
|
|
4308
|
-
if (
|
|
4309
|
-
config.useWebWorkers =
|
|
4320
|
+
if (useWebWorkers !== UNDEFINED_TYPE$2) {
|
|
4321
|
+
config.useWebWorkers = useWebWorkers;
|
|
4310
4322
|
}
|
|
4311
|
-
if (
|
|
4312
|
-
config.Deflate =
|
|
4323
|
+
if (Deflate !== UNDEFINED_TYPE$2) {
|
|
4324
|
+
config.Deflate = Deflate;
|
|
4313
4325
|
}
|
|
4314
|
-
if (
|
|
4315
|
-
config.Inflate =
|
|
4326
|
+
if (Inflate !== UNDEFINED_TYPE$2) {
|
|
4327
|
+
config.Inflate = Inflate;
|
|
4316
4328
|
}
|
|
4317
|
-
if (
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
throw new Error("workerScripts.deflate must be an array");
|
|
4321
|
-
}
|
|
4329
|
+
if (workerScripts !== UNDEFINED_TYPE$2) {
|
|
4330
|
+
const { deflate, inflate } = workerScripts;
|
|
4331
|
+
if (deflate || inflate) {
|
|
4322
4332
|
if (!config.workerScripts) {
|
|
4323
4333
|
config.workerScripts = {};
|
|
4324
4334
|
}
|
|
4325
|
-
config.workerScripts.deflate = configuration.workerScripts.deflate;
|
|
4326
4335
|
}
|
|
4327
|
-
if (
|
|
4328
|
-
if (!Array.isArray(
|
|
4329
|
-
throw new Error("workerScripts.
|
|
4336
|
+
if (deflate) {
|
|
4337
|
+
if (!Array.isArray(deflate)) {
|
|
4338
|
+
throw new Error("workerScripts.deflate must be an array");
|
|
4330
4339
|
}
|
|
4331
|
-
|
|
4332
|
-
|
|
4340
|
+
config.workerScripts.deflate = deflate;
|
|
4341
|
+
}
|
|
4342
|
+
if (inflate) {
|
|
4343
|
+
if (!Array.isArray(inflate)) {
|
|
4344
|
+
throw new Error("workerScripts.inflate must be an array");
|
|
4333
4345
|
}
|
|
4334
|
-
config.workerScripts.inflate =
|
|
4346
|
+
config.workerScripts.inflate = inflate;
|
|
4335
4347
|
}
|
|
4336
4348
|
}
|
|
4337
4349
|
}
|
|
4338
4350
|
|
|
4339
|
-
var e=e=>{if("function"==typeof URL.createObjectURL){const t=()=>URL.createObjectURL(new Blob(['const{Array:t,Object:e,Math:n,Error:r,Uint8Array:i,Uint16Array:s,Uint32Array:o,Int32Array:f,DataView:c,TextEncoder:l,crypto:a,postMessage:u,TransformStream:w,ReadableStream:h,WritableStream:d,CompressionStream:p,DecompressionStream:b}=globalThis,y=[];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)1&e?e=e>>>1^3988292384:e>>>=1;y[t]=e}class m{constructor(t){this.t=t||-1}append(t){let e=0|this.t;for(let n=0,r=0|t.length;r>n;n++)e=e>>>8^y[255&(e^t[n])];this.t=e}get(){return~this.t}}class g extends w{constructor(){super({start(){this.i=new m},transform(t){this.i.append(t)},flush(t){const e=new i(4);new c(e.buffer).setUint32(0,this.i.get()),t.enqueue(e)}})}}const k={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=k.o(n);return 32===r?t.concat(e):k.l(e,r,0|n,t.slice(0,t.length-1))},u(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+k.o(n)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,n.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=k.p(e,t[r-1]&2147483648>>e-1,1)),t},p:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,o:t=>n.round(t/1099511627776)||32,l(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let i=0;i<t.length;i++)r.push(n|t[i]>>>e),n=t[i]<<32-e;const i=t.length?t[t.length-1]:0,s=k.o(i);return r.push(k.p(e+s&31,e+s>32?n:r.pop(),1)),r}},v={m:{g(t){const e=k.u(t)/8,n=new i(e);let r;for(let i=0;e>i;i++)0==(3&i)&&(r=t[i/4]),n[i]=r>>>24,r<<=8;return n},k(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3==(3&n)&&(e.push(r),r=0);return 3&n&&e.push(k.p(8*(3&n),r)),e}}},S={v:function(t){t?(this.S=t.S.slice(0),this._=t._.slice(0),this.C=t.C):this.reset()}};S.v.prototype={blockSize:512,reset(){const t=this;return t.S=this.I.slice(0),t._=[],t.C=0,t},update(t){const e=this;"string"==typeof t&&(t=v.A.k(t));const n=e._=k.concat(e._,t),i=e.C,s=e.C=i+k.u(t);if(s>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const f=new o(n);let c=0;for(let t=e.blockSize+i-(e.blockSize+i&e.blockSize-1);s>=t;t+=e.blockSize)e.V(f.subarray(16*c,16*(c+1))),c+=1;return n.splice(0,16*c),e},P(){const t=this;let e=t._;const r=t.S;e=k.concat(e,[k.p(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(n.floor(t.C/4294967296)),e.push(0|t.C);e.length;)t.V(e.splice(0,16));return t.reset(),r},I:[1732584193,4023233417,2562383102,271733878,3285377520],B:[1518500249,1859775393,2400959708,3395469782],D:(t,e,n,r)=>t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r,M:(t,e)=>e<<t|e>>>32-t,V(e){const r=this,i=r.S,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let o=i[0],f=i[1],c=i[2],l=i[3],a=i[4];for(let t=0;79>=t;t++){16>t||(s[t]=r.M(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=r.M(5,o)+r.D(t,f,c,l)+a+s[t]+r.B[n.floor(t/20)]|0;a=l,l=c,c=r.M(30,f),f=o,o=e}i[0]=i[0]+o|0,i[1]=i[1]+f|0,i[2]=i[2]+c|0,i[3]=i[3]+l|0,i[4]=i[4]+a|0}};const _={getRandomValues(t){const e=new o(t.buffer),r=t=>{let e=987654321;const r=4294967295;return()=>(e=36969*(65535&e)+(e>>16)&r,(((e<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r)/4294967296+.5)*(n.random()>.5?1:-1))};for(let i,s=0;s<t.length;s+=4){const t=r(4294967296*(i||n.random()));i=987654071*t(),e[s/4]=4294967296*t()|0}return t}},z={importKey:t=>new z.R(v.m.k(t)),U(t,e,n,i){if(n=n||1e4,0>i||0>n)throw new r("invalid params to pbkdf2");const s=1+(i>>5)<<2;let o,f,l,a,u;const w=new ArrayBuffer(s),h=new c(w);let d=0;const p=k;for(e=v.m.k(e),u=1;(s||1)>d;u++){for(o=f=t.encrypt(p.concat(e,[u])),l=1;n>l;l++)for(f=t.encrypt(f),a=0;a<f.length;a++)o[a]^=f[a];for(l=0;(s||1)>d&&l<o.length;l++)h.setInt32(d,o[l]),d+=4}return w.slice(0,i/8)},R:class{constructor(t){const e=this,n=e.T=S.v,r=[[],[]],i=n.prototype.blockSize/32;e.W=[new n,new n],t.length>i&&(t=n.hash(t));for(let e=0;i>e;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.W[0].update(r[0]),e.W[1].update(r[1]),e.j=new n(e.W[0])}reset(){const t=this;t.j=new t.T(t.W[0]),t.H=!1}update(t){this.H=!0,this.j.update(t)}digest(){const t=this,e=t.j.P(),n=new t.T(t.W[1]).update(e).P();return t.reset(),n}encrypt(t){if(this.H)throw new r("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},C={name:"PBKDF2"},I=e.assign({hash:{name:"HMAC"}},C),x=e.assign({iterations:1e3,hash:{name:"SHA-1"}},C),A=["deriveBits"],V=[8,12,16],P=[16,24,32],B=[0,0,0,0],D=void 0!==a,E=D&&void 0!==a.subtle,M=D&&"function"==typeof a.getRandomValues,R=D&&E&&"function"==typeof a.subtle.importKey,U=D&&E&&"function"==typeof a.subtle.deriveBits,T=v.m,W=class{constructor(t){const e=this;e.K=[[[],[],[],[],[]],[[],[],[],[],[]]],e.K[0][0][0]||e.L();const n=e.K[0][4],i=e.K[1],s=t.length;let o,f,c,l=1;if(4!==s&&6!==s&&8!==s)throw new r("invalid aes key size");for(e.B=[f=t.slice(0),c=[]],o=s;4*s+28>o;o++){let t=f[o-1];(o%s==0||8===s&&o%s==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],o%s==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),f[o]=f[o-s]^t}for(let t=0;o;t++,o--){const e=f[3&t?o:o-4];c[t]=4>=o||4>t?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this.F(t,0)}decrypt(t){return this.F(t,1)}L(){const t=this.K[0],e=this.K[1],n=t[4],r=e[4],i=[],s=[];let o,f,c,l;for(let t=0;256>t;t++)s[(i[t]=t<<1^283*(t>>7))^t]=t;for(let a=o=0;!n[a];a^=f||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,n[a]=s,r[s]=a,l=i[c=i[f=i[a]]];let u=16843009*l^65537*c^257*f^16843008*a,w=257*i[s]^16843008*s;for(let n=0;4>n;n++)t[n][a]=w=w<<24^w>>>8,e[n][s]=u=u<<24^u>>>8}for(let n=0;5>n;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}F(t,e){if(4!==t.length)throw new r("invalid aes block size");const n=this.B[e],i=n.length/4-2,s=[0,0,0,0],o=this.K[e],f=o[0],c=o[1],l=o[2],a=o[3],u=o[4];let w,h,d,p=t[0]^n[0],b=t[e?3:1]^n[1],y=t[2]^n[2],m=t[e?1:3]^n[3],g=4;for(let t=0;i>t;t++)w=f[p>>>24]^c[b>>16&255]^l[y>>8&255]^a[255&m]^n[g],h=f[b>>>24]^c[y>>16&255]^l[m>>8&255]^a[255&p]^n[g+1],d=f[y>>>24]^c[m>>16&255]^l[p>>8&255]^a[255&b]^n[g+2],m=f[m>>>24]^c[p>>16&255]^l[b>>8&255]^a[255&y]^n[g+3],g+=4,p=w,b=h,y=d;for(let t=0;4>t;t++)s[e?3&-t:t]=u[p>>>24]<<24^u[b>>16&255]<<16^u[y>>8&255]<<8^u[255&m]^n[g++],w=p,p=b,b=y,y=m,m=w;return s}},j=class{constructor(t,e){this.N=t,this.O=e,this.q=e}reset(){this.q=this.O}update(t){return this.G(this.N,t,this.q)}J(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}X(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}G(t,e,n){let r;if(!(r=e.length))return[];const i=k.u(e);for(let i=0;r>i;i+=4){this.X(n);const r=t.encrypt(n);e[i]^=r[0],e[i+1]^=r[1],e[i+2]^=r[2],e[i+3]^=r[3]}return k.h(e,i)}},H=z.R;class K extends w{constructor(n,s,o){let f;super({start(){e.assign(this,{ready:new Promise((t=>this.Y=t)),password:n,signed:s,Z:o-1,pending:new i(0)})},async transform(e,n){const s=this;if(s.password){const n=s.password;s.password=null;const i=q(e,0,V[s.Z]+2);await(async(t,e,n)=>{await N(t,n,q(e,0,V[t.Z]));const i=q(e,V[t.Z]),s=t.keys.passwordVerification;if(s[0]!=i[0]||s[1]!=i[1])throw new r("Invalid pasword")})(s,i,n),s.$=new j(new W(s.keys.key),t.from(B)),s.tt=new H(s.keys.et),e=q(e,V[s.Z]+2),s.Y()}else await s.ready;const o=new i(e.length-10-(e.length-10)%16);n.enqueue(F(s,e,o,0,10,!0))},async flush(t){const e=this;await e.ready;const n=e.pending,r=q(n,0,n.length-10),s=q(n,n.length-10);let o=new i(0);if(r.length){const t=J(T,r);e.tt.update(t);const n=e.$.update(t);o=G(T,n)}if(f.valid=!0,e.signed){const t=q(G(T,e.tt.digest()),0,10);for(let e=0;10>e;e++)t[e]!=s[e]&&(f.valid=!1)}t.enqueue(o)}}),f=this}}class L extends w{constructor(n,r){let s;super({start(){e.assign(this,{ready:new Promise((t=>this.Y=t)),password:n,Z:r-1,pending:new i(0)})},async transform(e,n){const r=this;let s=new i(0);if(r.password){const e=r.password;r.password=null,s=await(async(t,e)=>{const n=(r=new i(V[t.Z]),M?a.getRandomValues(r):_.getRandomValues(r));var r;return await N(t,e,n),O(n,t.keys.passwordVerification)})(r,e),r.$=new j(new W(r.keys.key),t.from(B)),r.tt=new H(r.keys.et),r.Y()}else await r.ready;const o=new i(s.length+e.length-e.length%16);o.set(s,0),n.enqueue(F(r,e,o,s.length,0))},async flush(t){const e=this;await e.ready;let n=new i(0);if(e.pending.length){const t=e.$.update(J(T,e.pending));e.tt.update(t),n=G(T,t)}s.signature=G(T,e.tt.digest()).slice(0,10),t.enqueue(O(n,s.signature))}}),s=this}}function F(t,e,n,r,s,o){const f=e.length-s;let c;for(t.pending.length&&(e=O(t.pending,e),n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new i(e)).set(n,0)}return t})(n,f-f%16)),c=0;f-16>=c;c+=16){const i=J(T,q(e,c,c+16));o&&t.tt.update(i);const s=t.$.update(i);o||t.tt.update(s),n.set(G(T,s),c+r)}return t.pending=q(e,c),n}async function N(t,n,r){const s=(t=>{if(void 0===l){const e=new i((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new l).encode(t)})(n),o=await((t,e,n,r,i)=>R?a.subtle.importKey("raw",e,n,!1,i):z.importKey(e))(0,s,I,0,A),f=await(async(t,e,n)=>U?await a.subtle.deriveBits(t,e,n):z.U(e,t.salt,x.iterations,n))(e.assign({salt:r},x),o,8*(2*P[t.Z]+2)),c=new i(f);t.keys={key:J(T,q(c,0,P[t.Z])),et:J(T,q(c,P[t.Z],2*P[t.Z])),passwordVerification:q(c,2*P[t.Z])}}function O(t,e){let n=t;return t.length+e.length&&(n=new i(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function q(t,e,n){return t.subarray(e,n)}function G(t,e){return t.g(e)}function J(t,e){return t.k(e)}class Q extends w{constructor(t,n){let i;super({start(){e.assign(this,{password:t,passwordVerification:n}),$(this,t)},transform(t,e){const n=this;if(n.password){const e=Y(n,t.subarray(0,12));if(n.password=null,e[11]!=n.passwordVerification)throw new r("Invalid pasword");t=t.subarray(12)}e.enqueue(Y(n,t))},flush(){i.valid=!0}}),i=this}}class X extends w{constructor(t,n){super({start(){e.assign(this,{password:t,passwordVerification:n}),$(this,t)},transform(t,e){const n=this;let r,s;if(n.password){n.password=null;const e=a.getRandomValues(new i(12));e[11]=n.passwordVerification,r=new i(t.length+e.length),r.set(Z(n,e),0),s=12}else r=new i(t.length),s=0;r.set(Z(n,t),s),e.enqueue(r)},flush(){}})}}function Y(t,e){const n=new i(e.length);for(let r=0;r<e.length;r++)n[r]=et(t)^e[r],tt(t,n[r]);return n}function Z(t,e){const n=new i(e.length);for(let r=0;r<e.length;r++)n[r]=et(t)^e[r],tt(t,e[r]);return n}function $(t,e){t.keys=[305419896,591751049,878082192],t.nt=new m(t.keys[0]),t.rt=new m(t.keys[2]);for(let n=0;n<e.length;n++)tt(t,e.charCodeAt(n))}function tt(t,e){t.nt.append([e]),t.keys[0]=~t.nt.get(),t.keys[1]=rt(t.keys[1]+nt(t.keys[0])),t.keys[1]=rt(n.imul(t.keys[1],134775813)+1),t.rt.append([t.keys[1]>>>24]),t.keys[2]=~t.rt.get()}function et(t){const e=2|t.keys[2];return nt(n.imul(e,1^e)>>>8)}function nt(t){return 255&t}function rt(t){return 4294967295&t}class it extends w{constructor(t,e){let n;super({start(){n=new t(e)},transform(t,e){t=n.append(t),e.enqueue(t)},flush(t){const e=n.flush();e&&t.enqueue(e)}})}}const st=void 0===p,ot=void 0===b;let ft=!0,ct=!0;class lt extends w{constructor(t,e,{chunkSize:n},...r){super({},...r);const{compressed:i,it:s,password:o,passwordVerification:f,encryptionStrength:l,zipCrypto:a,signed:u}=e,w=this;let h,d,b=wt(super.readable);const y=!!o;if(y&&!a||!u||([b,h]=b.tee(),h=h.pipeThrough(new g)),i)if(void 0!==s&&!s||st&&!ct)b=ut(t,b,n);else try{b=b.pipeThrough(new p("deflate-raw"))}catch(e){ct=!1,b=ut(t,b,n)}y&&(a?b=b.pipeThrough(new X(o,f)):(d=new L(o,l),b=b.pipeThrough(d))),ht(w,b,(async()=>{let t;y&&!a&&(t=d.signature),y&&!a||!u||(t=await h.getReader().read(),t=new c(t.value.buffer).getUint32(0)),w.signature=t}))}}class at extends w{constructor(t,e,{chunkSize:n},...i){super({},...i);const{zipCrypto:s,password:o,passwordVerification:f,signed:l,encryptionStrength:a,compressed:u,it:w}=e;let h,d,p=wt(super.readable);const y=!!o;if(y&&(s?p=p.pipeThrough(new Q(o,f)):(d=new K(o,l,a),p=p.pipeThrough(d))),u)if(void 0!==w&&!w||ot&&!ft)p=ut(t,p,n);else try{p=p.pipeThrough(new b("deflate-raw"))}catch(e){ft=!1,p=ut(t,p,n)}y&&!s||!l||([p,h]=p.tee(),h=h.pipeThrough(new g)),ht(this,p,(async()=>{if(y&&!s&&!d.valid)throw new r("Invalid signature");if((!y||s)&&l){const t=await h.getReader().read();if(t!=new c(t.value.buffer).getUint32(0,!1))throw new r("Invalid signature")}}))}}function ut(t,e,n){return e.pipeThrough(new it(t,{chunkSize:n}))}function wt(t){return t.pipeThrough(new w({transform(t,e){t&&t.length&&e.enqueue(t)}}))}function ht(t,n,r){t.length=0,n=n.pipeThrough(new w({transform(e,n){e&&e.length&&(t.length+=e.length,n.enqueue(e))},flush:r})),e.defineProperty(t,"readable",{get:()=>n})}const dt=new Map;let pt,bt=0;async function yt(t){try{t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate);const r={highWaterMark:1,size:()=>t.config.chunkSize},i=new h({async pull(t){let e=new Promise(((t,e)=>dt.set(bt,{resolve:t,reject:e})));mt({type:"pull",messageId:bt}),bt=(bt+1)%Number.MAX_SAFE_INTEGER;const{value:n,done:r}=await e;t.enqueue(n),r&&t.close()}},r),s=new d({write(t){mt({type:"data",data:t})}},r);pt=((t,e,n,r,i)=>{const s=new AbortController,{signal:o}=s;if(r.codecType.startsWith("deflate"))return{st:()=>f(lt),abort:c};if(r.codecType.startsWith("inflate"))return{st:()=>f(at),abort:c};async function f(s){const f=new s(t,r,i);await e.pipeThrough(f,{signal:o}).pipeTo(n,{ot:!0});const{length:c,signature:l}=f;return{length:c,signature:l}}function c(){s.abort()}})(n,i,s,e,t.config),mt({type:"close",result:await pt.st()})}catch(t){u({error:{message:t.message,stack:t.stack}})}}function mt(t){if(t.data){let{data:e}=t;if(e&&e.length)try{e.length!=e.buffer.byteLength&&(e=new i(e)),t.data=e.buffer,u(t,[t.data])}catch(e){u(t)}else u(t)}else u(t)}addEventListener("message",(async t=>{const e=t.data,{type:n,messageId:r,data:s,done:o}=e;try{if("start"==n&&yt(e),"data"==n){const{resolve:t}=dt.get(r);dt.delete(r),t({value:new i(s),done:o})}"abort"==n&&pt.abort()}catch(t){u({error:{message:t.message,stack:t.stack}})}}));const gt=(()=>{const e=-2;function o(e){return f(e.map((([e,n])=>new t(e).fill(n,0,e))))}function f(e){return e.reduce(((e,n)=>e.concat(t.isArray(n)?f(n):n)),[])}const c=[0,1,2,3].concat(...o([[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 t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.ft=r=>{const i=t.ct,s=t.ut.lt,o=t.ut.wt;let f,c,l,a=-1;for(r.ht=0,r.dt=573,f=0;o>f;f++)0!==i[2*f]?(r.bt[++r.ht]=a=f,r.yt[f]=0):i[2*f+1]=0;for(;2>r.ht;)l=r.bt[++r.ht]=2>a?++a:0,i[2*l]=1,r.yt[l]=0,r.gt--,s&&(r.kt-=s[2*l+1]);for(t.vt=a,f=n.floor(r.ht/2);f>=1;f--)r.St(i,f);l=o;do{f=r.bt[1],r.bt[1]=r.bt[r.ht--],r.St(i,1),c=r.bt[1],r.bt[--r.dt]=f,r.bt[--r.dt]=c,i[2*l]=i[2*f]+i[2*c],r.yt[l]=n.max(r.yt[f],r.yt[c])+1,i[2*f+1]=i[2*c+1]=l,r.bt[1]=l++,r.St(i,1)}while(r.ht>=2);r.bt[--r.dt]=r.bt[1],(e=>{const n=t.ct,r=t.ut.lt,i=t.ut._t,s=t.ut.zt,o=t.ut.Ct;let f,c,l,a,u,w,h=0;for(a=0;15>=a;a++)e.It[a]=0;for(n[2*e.bt[e.dt]+1]=0,f=e.dt+1;573>f;f++)c=e.bt[f],a=n[2*n[2*c+1]+1]+1,a>o&&(a=o,h++),n[2*c+1]=a,c>t.vt||(e.It[a]++,u=0,s>c||(u=i[c-s]),w=n[2*c],e.gt+=w*(a+u),r&&(e.kt+=w*(r[2*c+1]+u)));if(0!==h){do{for(a=o-1;0===e.It[a];)a--;e.It[a]--,e.It[a+1]+=2,e.It[o]--,h-=2}while(h>0);for(a=o;0!==a;a--)for(c=e.It[a];0!==c;)l=e.bt[--f],l>t.vt||(n[2*l+1]!=a&&(e.gt+=(a-n[2*l+1])*n[2*l],n[2*l+1]=a),c--)}})(r),((t,n,r)=>{const i=[];let s,o,f,c=0;for(s=1;15>=s;s++)i[s]=c=c+r[s-1]<<1;for(o=0;n>=o;o++)f=t[2*o+1],0!==f&&(t[2*o]=e(i[f]++,f))})(i,t.vt,r.It)}}function a(t,e,n,r,i){const s=this;s.lt=t,s._t=e,s.zt=n,s.wt=r,s.Ct=i}l.xt=[0,1,2,3,4,5,6,7].concat(...o([[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.At=[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.Vt=[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.Pt=t=>256>t?c[t]:c[256+(t>>>7)],l.Bt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],l.Dt=[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.Et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],l.Mt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const u=o([[144,8],[112,9],[24,7],[8,8]]);a.Rt=f([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(((t,e)=>[t,u[e]])));const w=o([[30,5]]);function h(t,e,n,r,i){const s=this;s.Ut=t,s.Tt=e,s.Wt=n,s.jt=r,s.Ht=i}a.Kt=f([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(((t,e)=>[t,w[e]]))),a.Lt=new a(a.Rt,l.Bt,257,286,15),a.Ft=new a(a.Kt,l.Dt,0,30,15),a.Nt=new a(null,l.Et,0,19,7);const d=[new h(0,0,0,0,0),new h(4,4,8,4,1),new h(4,5,16,8,1),new h(4,6,32,32,1),new h(4,4,16,16,2),new h(8,16,32,32,2),new h(8,16,128,128,2),new h(8,32,128,256,2),new h(32,128,258,1024,2),new h(32,258,258,4096,2)],p=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],b=113,y=666,m=262;function g(t,e,n,r){const i=t[2*e],s=t[2*n];return s>i||i==s&&r[e]<=r[n]}function k(){const t=this;let r,o,f,c,u,w,h,k,v,S,_,z,C,I,x,A,V,P,B,D,E,M,R,U,T,W,j,H,K,L,F,N,O;const q=new l,G=new l,J=new l;let Q,X,Y,Z,$,tt;function et(){let e;for(e=0;286>e;e++)F[2*e]=0;for(e=0;30>e;e++)N[2*e]=0;for(e=0;19>e;e++)O[2*e]=0;F[512]=1,t.gt=t.kt=0,X=Y=0}function nt(t,e){let n,r=-1,i=t[1],s=0,o=7,f=4;0===i&&(o=138,f=3),t[2*(e+1)+1]=65535;for(let c=0;e>=c;c++)n=i,i=t[2*(c+1)+1],++s<o&&n==i||(f>s?O[2*n]+=s:0!==n?(n!=r&&O[2*n]++,O[32]++):s>10?O[36]++:O[34]++,s=0,r=n,0===i?(o=138,f=3):n==i?(o=6,f=3):(o=7,f=4))}function rt(e){t.Ot[t.pending++]=e}function it(t){rt(255&t),rt(t>>>8&255)}function st(t,e){let n;const r=e;tt>16-r?(n=t,$|=n<<tt&65535,it($),$=n>>>16-tt,tt+=r-16):($|=t<<tt&65535,tt+=r)}function ot(t,e){const n=2*t;st(65535&e[n],65535&e[n+1])}function ft(t,e){let n,r,i=-1,s=t[1],o=0,f=7,c=4;for(0===s&&(f=138,c=3),n=0;e>=n;n++)if(r=s,s=t[2*(n+1)+1],++o>=f||r!=s){if(c>o)do{ot(r,O)}while(0!=--o);else 0!==r?(r!=i&&(ot(r,O),o--),ot(16,O),st(o-3,2)):o>10?(ot(18,O),st(o-11,7)):(ot(17,O),st(o-3,3));o=0,i=r,0===s?(f=138,c=3):r==s?(f=6,c=3):(f=7,c=4)}}function ct(){16==tt?(it($),$=0,tt=0):8>tt||(rt(255&$),$>>>=8,tt-=8)}function lt(e,r){let i,s,o;if(t.qt[X]=e,t.Gt[X]=255&r,X++,0===e?F[2*r]++:(Y++,e--,F[2*(l.xt[r]+256+1)]++,N[2*l.Pt(e)]++),0==(8191&X)&&j>2){for(i=8*X,s=E-V,o=0;30>o;o++)i+=N[2*o]*(5+l.Dt[o]);if(i>>>=3,Y<n.floor(X/2)&&i<n.floor(s/2))return!0}return X==Q-1}function at(e,n){let r,i,s,o,f=0;if(0!==X)do{r=t.qt[f],i=t.Gt[f],f++,0===r?ot(i,e):(s=l.xt[i],ot(s+256+1,e),o=l.Bt[s],0!==o&&(i-=l.At[s],st(i,o)),r--,s=l.Pt(r),ot(s,n),o=l.Dt[s],0!==o&&(r-=l.Vt[s],st(r,o)))}while(X>f);ot(256,e),Z=e[513]}function ut(){tt>8?it($):tt>0&&rt(255&$),$=0,tt=0}function wt(e,n,r){st(0+(r?1:0),3),((e,n)=>{ut(),Z=8,it(n),it(~n),t.Ot.set(k.subarray(e,e+n),t.pending),t.pending+=n})(e,n)}function ht(e){((e,n,r)=>{let i,s,o=0;j>0?(q.ft(t),G.ft(t),o=(()=>{let e;for(nt(F,q.vt),nt(N,G.vt),J.ft(t),e=18;e>=3&&0===O[2*l.Mt[e]+1];e--);return t.gt+=14+3*(e+1),e})(),i=t.gt+3+7>>>3,s=t.kt+3+7>>>3,s>i||(i=s)):i=s=n+5,n+4>i||-1==e?s==i?(st(2+(r?1:0),3),at(a.Rt,a.Kt)):(st(4+(r?1:0),3),((t,e,n)=>{let r;for(st(t-257,5),st(e-1,5),st(n-4,4),r=0;n>r;r++)st(O[2*l.Mt[r]+1],3);ft(F,t-1),ft(N,e-1)})(q.vt+1,G.vt+1,o+1),at(F,N)):wt(e,n,r),et(),r&&ut()})(0>V?-1:V,E-V,e),V=E,r.Jt()}function dt(){let t,e,n,i;do{if(i=v-R-E,0===i&&0===E&&0===R)i=u;else if(-1==i)i--;else if(E>=u+u-m){k.set(k.subarray(u,u+u),0),M-=u,E-=u,V-=u,t=C,n=t;do{e=65535&_[--n],_[n]=u>e?0:e-u}while(0!=--t);t=u,n=t;do{e=65535&S[--n],S[n]=u>e?0:e-u}while(0!=--t);i+=u}if(0===r.Qt)return;t=r.Xt(k,E+R,i),R+=t,3>R||(z=255&k[E],z=(z<<A^255&k[E+1])&x)}while(m>R&&0!==r.Qt)}function pt(t){let e,n,r=T,i=E,s=U;const o=E>u-m?E-(u-m):0;let f=L;const c=h,l=E+258;let a=k[i+s-1],w=k[i+s];K>U||(r>>=2),f>R&&(f=R);do{if(e=t,k[e+s]==w&&k[e+s-1]==a&&k[e]==k[i]&&k[++e]==k[i+1]){i+=2,e++;do{}while(k[++i]==k[++e]&&k[++i]==k[++e]&&k[++i]==k[++e]&&k[++i]==k[++e]&&k[++i]==k[++e]&&k[++i]==k[++e]&&k[++i]==k[++e]&&k[++i]==k[++e]&&l>i);if(n=258-(l-i),i=l-258,n>s){if(M=t,s=n,n>=f)break;a=k[i+s-1],w=k[i+s]}}}while((t=65535&S[t&c])>o&&0!=--r);return s>R?R:s}t.yt=[],t.It=[],t.bt=[],F=[],N=[],O=[],t.St=(e,n)=>{const r=t.bt,i=r[n];let s=n<<1;for(;s<=t.ht&&(s<t.ht&&g(e,r[s+1],r[s],t.yt)&&s++,!g(e,i,r[s],t.yt));)r[n]=r[s],n=s,s<<=1;r[n]=i},t.Yt=(r,l,p,y,m,g)=>(y||(y=8),m||(m=8),g||(g=0),r.Zt=null,-1==l&&(l=6),1>m||m>9||8!=y||9>p||p>15||0>l||l>9||0>g||g>2?e:(r.$t=t,w=p,u=1<<w,h=u-1,I=m+7,C=1<<I,x=C-1,A=n.floor((I+3-1)/3),k=new i(2*u),S=[],_=[],Q=1<<m+6,t.Ot=new i(4*Q),f=4*Q,t.qt=new s(Q),t.Gt=new i(Q),j=l,H=g,(e=>(e.te=e.ee=0,e.Zt=null,t.pending=0,t.ne=0,o=b,c=0,q.ct=F,q.ut=a.Lt,G.ct=N,G.ut=a.Ft,J.ct=O,J.ut=a.Nt,$=0,tt=0,Z=8,et(),(()=>{v=2*u,_[C-1]=0;for(let t=0;C-1>t;t++)_[t]=0;W=d[j].Tt,K=d[j].Ut,L=d[j].Wt,T=d[j].jt,E=0,V=0,R=0,P=U=2,D=0,z=0})(),0))(r))),t.re=()=>42!=o&&o!=b&&o!=y?e:(t.Gt=null,t.qt=null,t.Ot=null,_=null,S=null,k=null,t.$t=null,o==b?-3:0),t.ie=(t,n,r)=>{let i=0;return-1==n&&(n=6),0>n||n>9||0>r||r>2?e:(d[j].Ht!=d[n].Ht&&0!==t.te&&(i=t.se(1)),j!=n&&(j=n,W=d[j].Tt,K=d[j].Ut,L=d[j].Wt,T=d[j].jt),H=r,i)},t.oe=(t,n,r)=>{let i,s=r,f=0;if(!n||42!=o)return e;if(3>s)return 0;for(s>u-m&&(s=u-m,f=r-s),k.set(n.subarray(f,f+s),0),E=s,V=s,z=255&k[0],z=(z<<A^255&k[1])&x,i=0;s-3>=i;i++)z=(z<<A^255&k[i+2])&x,S[i&h]=_[z],_[z]=i;return 0},t.se=(n,i)=>{let s,l,g,v,I;if(i>4||0>i)return e;if(!n.fe||!n.ce&&0!==n.Qt||o==y&&4!=i)return n.Zt=p[4],e;if(0===n.le)return n.Zt=p[7],-5;var T;if(r=n,v=c,c=i,42==o&&(l=8+(w-8<<4)<<8,g=(j-1&255)>>1,g>3&&(g=3),l|=g<<6,0!==E&&(l|=32),l+=31-l%31,o=b,rt((T=l)>>8&255),rt(255&T)),0!==t.pending){if(r.Jt(),0===r.le)return c=-1,0}else if(0===r.Qt&&v>=i&&4!=i)return r.Zt=p[7],-5;if(o==y&&0!==r.Qt)return n.Zt=p[7],-5;if(0!==r.Qt||0!==R||0!=i&&o!=y){switch(I=-1,d[j].Ht){case 0:I=(t=>{let e,n=65535;for(n>f-5&&(n=f-5);;){if(1>=R){if(dt(),0===R&&0==t)return 0;if(0===R)break}if(E+=R,R=0,e=V+n,(0===E||E>=e)&&(R=E-e,E=e,ht(!1),0===r.le))return 0;if(E-V>=u-m&&(ht(!1),0===r.le))return 0}return ht(4==t),0===r.le?4==t?2:0:4==t?3:1})(i);break;case 1:I=(t=>{let e,n=0;for(;;){if(m>R){if(dt(),m>R&&0==t)return 0;if(0===R)break}if(3>R||(z=(z<<A^255&k[E+2])&x,n=65535&_[z],S[E&h]=_[z],_[z]=E),0===n||(E-n&65535)>u-m||2!=H&&(P=pt(n)),3>P)e=lt(0,255&k[E]),R--,E++;else if(e=lt(E-M,P-3),R-=P,P>W||3>R)E+=P,P=0,z=255&k[E],z=(z<<A^255&k[E+1])&x;else{P--;do{E++,z=(z<<A^255&k[E+2])&x,n=65535&_[z],S[E&h]=_[z],_[z]=E}while(0!=--P);E++}if(e&&(ht(!1),0===r.le))return 0}return ht(4==t),0===r.le?4==t?2:0:4==t?3:1})(i);break;case 2:I=(t=>{let e,n,i=0;for(;;){if(m>R){if(dt(),m>R&&0==t)return 0;if(0===R)break}if(3>R||(z=(z<<A^255&k[E+2])&x,i=65535&_[z],S[E&h]=_[z],_[z]=E),U=P,B=M,P=2,0!==i&&W>U&&u-m>=(E-i&65535)&&(2!=H&&(P=pt(i)),5>=P&&(1==H||3==P&&E-M>4096)&&(P=2)),3>U||P>U)if(0!==D){if(e=lt(0,255&k[E-1]),e&&ht(!1),E++,R--,0===r.le)return 0}else D=1,E++,R--;else{n=E+R-3,e=lt(E-1-B,U-3),R-=U-1,U-=2;do{++E>n||(z=(z<<A^255&k[E+2])&x,i=65535&_[z],S[E&h]=_[z],_[z]=E)}while(0!=--U);if(D=0,P=2,E++,e&&(ht(!1),0===r.le))return 0}}return 0!==D&&(e=lt(0,255&k[E-1]),D=0),ht(4==t),0===r.le?4==t?2:0:4==t?3:1})(i)}if(2!=I&&3!=I||(o=y),0==I||2==I)return 0===r.le&&(c=-1),0;if(1==I){if(1==i)st(2,3),ot(256,a.Rt),ct(),9>1+Z+10-tt&&(st(2,3),ot(256,a.Rt),ct()),Z=7;else if(wt(0,0,!1),3==i)for(s=0;C>s;s++)_[s]=0;if(r.Jt(),0===r.le)return c=-1,0}}return 4!=i?0:1}}function v(){const t=this;t.ae=0,t.ue=0,t.Qt=0,t.te=0,t.le=0,t.ee=0}return v.prototype={Yt(t,e){const n=this;return n.$t=new k,e||(e=15),n.$t.Yt(n,t,e)},se(t){const n=this;return n.$t?n.$t.se(n,t):e},re(){const t=this;if(!t.$t)return e;const n=t.$t.re();return t.$t=null,n},ie(t,n){const r=this;return r.$t?r.$t.ie(r,t,n):e},oe(t,n){const r=this;return r.$t?r.$t.oe(r,t,n):e},Xt(t,e,n){const r=this;let i=r.Qt;return i>n&&(i=n),0===i?0:(r.Qt-=i,t.set(r.ce.subarray(r.ae,r.ae+i),e),r.ae+=i,r.te+=i,i)},Jt(){const t=this;let e=t.$t.pending;e>t.le&&(e=t.le),0!==e&&(t.fe.set(t.$t.Ot.subarray(t.$t.ne,t.$t.ne+e),t.ue),t.ue+=e,t.$t.ne+=e,t.ee+=e,t.le-=e,t.$t.pending-=e,0===t.$t.pending&&(t.$t.ne=0))}},function(t){const e=new v,s=(o=t&&t.chunkSize?t.chunkSize:65536)+5*(n.floor(o/16383)+1);var o;const f=new i(s);let c=t?t.level:-1;void 0===c&&(c=-1),e.Yt(c),e.fe=f,this.append=(t,n)=>{let o,c,l=0,a=0,u=0;const w=[];if(t.length){e.ae=0,e.ce=t,e.Qt=t.length;do{if(e.ue=0,e.le=s,o=e.se(0),0!=o)throw new r("deflating: "+e.Zt);e.ue&&(e.ue==s?w.push(new i(f)):w.push(f.slice(0,e.ue))),u+=e.ue,n&&e.ae>0&&e.ae!=l&&(n(e.ae),l=e.ae)}while(e.Qt>0||0===e.le);return w.length>1?(c=new i(u),w.forEach((t=>{c.set(t,a),a+=t.length}))):c=w[0]||new i(0),c}},this.flush=()=>{let t,n,o=0,c=0;const l=[];do{if(e.ue=0,e.le=s,t=e.se(4),1!=t&&0!=t)throw new r("deflating: "+e.Zt);s-e.le>0&&l.push(f.slice(0,e.ue)),c+=e.ue}while(e.Qt>0||0===e.le);return e.re(),n=new i(c),l.forEach((t=>{n.set(t,o),o+=t.length})),n}}})(),kt=(()=>{const t=-2,e=-3,s=-5,o=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],c=[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],l=[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],a=[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],u=[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],w=[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],h=[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 d(){let t,n,r,i,o,c;function l(t,n,f,l,a,u,w,h,d,p,b){let y,m,g,k,v,S,_,z,C,I,x,A,V,P,B;I=0,v=f;do{r[t[n+I]]++,I++,v--}while(0!==v);if(r[0]==f)return w[0]=-1,h[0]=0,0;for(z=h[0],S=1;15>=S&&0===r[S];S++);for(_=S,S>z&&(z=S),v=15;0!==v&&0===r[v];v--);for(g=v,z>v&&(z=v),h[0]=z,P=1<<S;v>S;S++,P<<=1)if(0>(P-=r[S]))return e;if(0>(P-=r[v]))return e;for(r[v]+=P,c[1]=S=0,I=1,V=2;0!=--v;)c[V]=S+=r[I],V++,I++;v=0,I=0;do{0!==(S=t[n+I])&&(b[c[S]++]=v),I++}while(++v<f);for(f=c[g],c[0]=v=0,I=0,k=-1,A=-z,o[0]=0,x=0,B=0;g>=_;_++)for(y=r[_];0!=y--;){for(;_>A+z;){if(k++,A+=z,B=g-A,B=B>z?z:B,(m=1<<(S=_-A))>y+1&&(m-=y+1,V=_,B>S))for(;++S<B&&(m<<=1)>r[++V];)m-=r[V];if(B=1<<S,p[0]+B>1440)return e;o[k]=x=p[0],p[0]+=B,0!==k?(c[k]=v,i[0]=S,i[1]=z,S=v>>>A-z,i[2]=x-o[k-1]-S,d.set(i,3*(o[k-1]+S))):w[0]=x}for(i[1]=_-A,f>I?b[I]<l?(i[0]=256>b[I]?0:96,i[2]=b[I++]):(i[0]=u[b[I]-l]+16+64,i[2]=a[b[I++]-l]):i[0]=192,m=1<<_-A,S=v>>>A;B>S;S+=m)d.set(i,3*(x+S));for(S=1<<_-1;0!=(v&S);S>>>=1)v^=S;for(v^=S,C=(1<<A)-1;(v&C)!=c[k];)k--,A-=z,C=(1<<A)-1}return 0!==P&&1!=g?s:0}function d(e){let s;for(t||(t=[],n=[],r=new f(16),i=[],o=new f(15),c=new f(16)),n.length<e&&(n=[]),s=0;e>s;s++)n[s]=0;for(s=0;16>s;s++)r[s]=0;for(s=0;3>s;s++)i[s]=0;o.set(r.subarray(0,15),0),c.set(r.subarray(0,16),0)}this.we=(r,i,o,f,c)=>{let a;return d(19),t[0]=0,a=l(r,0,19,19,null,null,o,i,f,t,n),a==e?c.Zt="oversubscribed dynamic bit lengths tree":a!=s&&0!==i[0]||(c.Zt="incomplete dynamic bit lengths tree",a=e),a},this.he=(r,i,o,f,c,p,b,y,m)=>{let g;return d(288),t[0]=0,g=l(o,0,r,257,a,u,p,f,y,t,n),0!=g||0===f[0]?(g==e?m.Zt="oversubscribed literal/length tree":-4!=g&&(m.Zt="incomplete literal/length tree",g=e),g):(d(288),g=l(o,r,i,0,w,h,b,c,y,t,n),0!=g||0===c[0]&&r>257?(g==e?m.Zt="oversubscribed distance tree":g==s?(m.Zt="incomplete distance tree",g=e):-4!=g&&(m.Zt="empty distance tree with lengths",g=e),g):0)}}function p(){const n=this;let r,i,s,f,c=0,l=0,a=0,u=0,w=0,h=0,d=0,p=0,b=0,y=0;function m(t,n,r,i,s,f,c,l){let a,u,w,h,d,p,b,y,m,g,k,v,S,_,z,C;b=l.ae,y=l.Qt,d=c.de,p=c.pe,m=c.write,g=m<c.read?c.read-m-1:c.end-m,k=o[t],v=o[n];do{for(;20>p;)y--,d|=(255&l.be(b++))<<p,p+=8;if(a=d&k,u=r,w=i,C=3*(w+a),0!==(h=u[C]))for(;;){if(d>>=u[C+1],p-=u[C+1],0!=(16&h)){for(h&=15,S=u[C+2]+(d&o[h]),d>>=h,p-=h;15>p;)y--,d|=(255&l.be(b++))<<p,p+=8;for(a=d&v,u=s,w=f,C=3*(w+a),h=u[C];;){if(d>>=u[C+1],p-=u[C+1],0!=(16&h)){for(h&=15;h>p;)y--,d|=(255&l.be(b++))<<p,p+=8;if(_=u[C+2]+(d&o[h]),d>>=h,p-=h,g-=S,_>m){z=m-_;do{z+=c.end}while(0>z);if(h=c.end-z,S>h){if(S-=h,m-z>0&&h>m-z)do{c.ye[m++]=c.ye[z++]}while(0!=--h);else c.ye.set(c.ye.subarray(z,z+h),m),m+=h,z+=h,h=0;z=0}}else z=m-_,m-z>0&&2>m-z?(c.ye[m++]=c.ye[z++],c.ye[m++]=c.ye[z++],S-=2):(c.ye.set(c.ye.subarray(z,z+2),m),m+=2,z+=2,S-=2);if(m-z>0&&S>m-z)do{c.ye[m++]=c.ye[z++]}while(0!=--S);else c.ye.set(c.ye.subarray(z,z+S),m),m+=S,z+=S,S=0;break}if(0!=(64&h))return l.Zt="invalid distance code",S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,e;a+=u[C+2],a+=d&o[h],C=3*(w+a),h=u[C]}break}if(0!=(64&h))return 0!=(32&h)?(S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,1):(l.Zt="invalid literal/length code",S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,e);if(a+=u[C+2],a+=d&o[h],C=3*(w+a),0===(h=u[C])){d>>=u[C+1],p-=u[C+1],c.ye[m++]=u[C+2],g--;break}}else d>>=u[C+1],p-=u[C+1],c.ye[m++]=u[C+2],g--}while(g>=258&&y>=10);return S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,0}n.init=(t,e,n,o,c,l)=>{r=0,d=t,p=e,s=n,b=o,f=c,y=l,i=null},n.me=(n,g,k)=>{let v,S,_,z,C,I,x,A=0,V=0,P=0;for(P=g.ae,z=g.Qt,A=n.de,V=n.pe,C=n.write,I=C<n.read?n.read-C-1:n.end-C;;)switch(r){case 0:if(I>=258&&z>=10&&(n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,k=m(d,p,s,b,f,y,n,g),P=g.ae,z=g.Qt,A=n.de,V=n.pe,C=n.write,I=C<n.read?n.read-C-1:n.end-C,0!=k)){r=1==k?7:9;break}a=d,i=s,l=b,r=1;case 1:for(v=a;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(P++))<<V,V+=8}if(S=3*(l+(A&o[v])),A>>>=i[S+1],V-=i[S+1],_=i[S],0===_){u=i[S+2],r=6;break}if(0!=(16&_)){w=15&_,c=i[S+2],r=2;break}if(0==(64&_)){a=_,l=S/3+i[S+2];break}if(0!=(32&_)){r=7;break}return r=9,g.Zt="invalid literal/length code",k=e,n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);case 2:for(v=w;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(P++))<<V,V+=8}c+=A&o[v],A>>=v,V-=v,a=p,i=f,l=y,r=3;case 3:for(v=a;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(P++))<<V,V+=8}if(S=3*(l+(A&o[v])),A>>=i[S+1],V-=i[S+1],_=i[S],0!=(16&_)){w=15&_,h=i[S+2],r=4;break}if(0==(64&_)){a=_,l=S/3+i[S+2];break}return r=9,g.Zt="invalid distance code",k=e,n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);case 4:for(v=w;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(P++))<<V,V+=8}h+=A&o[v],A>>=v,V-=v,r=5;case 5:for(x=C-h;0>x;)x+=n.end;for(;0!==c;){if(0===I&&(C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I&&(n.write=C,k=n.ge(g,k),C=n.write,I=C<n.read?n.read-C-1:n.end-C,C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I)))return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);n.ye[C++]=n.ye[x++],I--,x==n.end&&(x=0),c--}r=0;break;case 6:if(0===I&&(C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I&&(n.write=C,k=n.ge(g,k),C=n.write,I=C<n.read?n.read-C-1:n.end-C,C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I)))return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);k=0,n.ye[C++]=u,I--,r=0;break;case 7:if(V>7&&(V-=8,z++,P--),n.write=C,k=n.ge(g,k),C=n.write,I=C<n.read?n.read-C-1:n.end-C,n.read!=n.write)return n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);r=8;case 8:return k=1,n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);case 9:return k=e,n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k);default:return k=t,n.de=A,n.pe=V,g.Qt=z,g.te+=P-g.ae,g.ae=P,n.write=C,n.ge(g,k)}},n.ke=()=>{}}d.ve=(t,e,n,r)=>(t[0]=9,e[0]=5,n[0]=c,r[0]=l,0);const b=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function y(n,r){const c=this;let l,a=0,u=0,w=0,h=0;const y=[0],m=[0],g=new p;let k=0,v=new f(4320);const S=new d;c.pe=0,c.de=0,c.ye=new i(r),c.end=r,c.read=0,c.write=0,c.reset=(t,e)=>{e&&(e[0]=0),6==a&&g.ke(t),a=0,c.pe=0,c.de=0,c.read=c.write=0},c.reset(n,null),c.ge=(t,e)=>{let n,r,i;return r=t.ue,i=c.read,n=(i>c.write?c.end:c.write)-i,n>t.le&&(n=t.le),0!==n&&e==s&&(e=0),t.le-=n,t.ee+=n,t.fe.set(c.ye.subarray(i,i+n),r),r+=n,i+=n,i==c.end&&(i=0,c.write==c.end&&(c.write=0),n=c.write-i,n>t.le&&(n=t.le),0!==n&&e==s&&(e=0),t.le-=n,t.ee+=n,t.fe.set(c.ye.subarray(i,i+n),r),r+=n,i+=n),t.ue=r,c.read=i,e},c.me=(n,r)=>{let i,s,f,p,_,z,C,I;for(p=n.ae,_=n.Qt,s=c.de,f=c.pe,z=c.write,C=z<c.read?c.read-z-1:c.end-z;;){let x,A,V,P,B,D,E,M;switch(a){case 0:for(;3>f;){if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,s|=(255&n.be(p++))<<f,f+=8}switch(i=7&s,k=1&i,i>>>1){case 0:s>>>=3,f-=3,i=7&f,s>>>=i,f-=i,a=1;break;case 1:x=[],A=[],V=[[]],P=[[]],d.ve(x,A,V,P),g.init(x[0],A[0],V[0],0,P[0],0),s>>>=3,f-=3,a=6;break;case 2:s>>>=3,f-=3,a=3;break;case 3:return s>>>=3,f-=3,a=9,n.Zt="invalid block type",r=e,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r)}break;case 1:for(;32>f;){if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,s|=(255&n.be(p++))<<f,f+=8}if((~s>>>16&65535)!=(65535&s))return a=9,n.Zt="invalid stored block lengths",r=e,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);u=65535&s,s=f=0,a=0!==u?2:0!==k?7:0;break;case 2:if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);if(0===C&&(z==c.end&&0!==c.read&&(z=0,C=z<c.read?c.read-z-1:c.end-z),0===C&&(c.write=z,r=c.ge(n,r),z=c.write,C=z<c.read?c.read-z-1:c.end-z,z==c.end&&0!==c.read&&(z=0,C=z<c.read?c.read-z-1:c.end-z),0===C)))return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);if(r=0,i=u,i>_&&(i=_),i>C&&(i=C),c.ye.set(n.Xt(p,i),z),p+=i,_-=i,z+=i,C-=i,0!=(u-=i))break;a=0!==k?7:0;break;case 3:for(;14>f;){if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,s|=(255&n.be(p++))<<f,f+=8}if(w=i=16383&s,(31&i)>29||(i>>5&31)>29)return a=9,n.Zt="too many length or distance symbols",r=e,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);if(i=258+(31&i)+(i>>5&31),!l||l.length<i)l=[];else for(I=0;i>I;I++)l[I]=0;s>>>=14,f-=14,h=0,a=4;case 4:for(;4+(w>>>10)>h;){for(;3>f;){if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,s|=(255&n.be(p++))<<f,f+=8}l[b[h++]]=7&s,s>>>=3,f-=3}for(;19>h;)l[b[h++]]=0;if(y[0]=7,i=S.we(l,y,m,v,n),0!=i)return(r=i)==e&&(l=null,a=9),c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);h=0,a=5;case 5:for(;i=w,258+(31&i)+(i>>5&31)>h;){let t,u;for(i=y[0];i>f;){if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,s|=(255&n.be(p++))<<f,f+=8}if(i=v[3*(m[0]+(s&o[i]))+1],u=v[3*(m[0]+(s&o[i]))+2],16>u)s>>>=i,f-=i,l[h++]=u;else{for(I=18==u?7:u-14,t=18==u?11:3;i+I>f;){if(0===_)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,s|=(255&n.be(p++))<<f,f+=8}if(s>>>=i,f-=i,t+=s&o[I],s>>>=I,f-=I,I=h,i=w,I+t>258+(31&i)+(i>>5&31)||16==u&&1>I)return l=null,a=9,n.Zt="invalid bit length repeat",r=e,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);u=16==u?l[I-1]:0;do{l[I++]=u}while(0!=--t);h=I}}if(m[0]=-1,B=[],D=[],E=[],M=[],B[0]=9,D[0]=6,i=w,i=S.he(257+(31&i),1+(i>>5&31),l,B,D,E,M,v,n),0!=i)return i==e&&(l=null,a=9),r=i,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);g.init(B[0],D[0],v,E[0],v,M[0]),a=6;case 6:if(c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,1!=(r=g.me(c,n,r)))return c.ge(n,r);if(r=0,g.ke(n),p=n.ae,_=n.Qt,s=c.de,f=c.pe,z=c.write,C=z<c.read?c.read-z-1:c.end-z,0===k){a=0;break}a=7;case 7:if(c.write=z,r=c.ge(n,r),z=c.write,C=z<c.read?c.read-z-1:c.end-z,c.read!=c.write)return c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);a=8;case 8:return r=1,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);case 9:return r=e,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);default:return r=t,c.de=s,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r)}}},c.ke=t=>{c.reset(t,null),c.ye=null,v=null},c.Se=(t,e,n)=>{c.ye.set(t.subarray(e,e+n),0),c.read=c.write=n},c._e=()=>1==a?1:0}const m=13,g=[0,0,255,255];function k(){const n=this;function r(e){return e&&e.ze?(e.te=e.ee=0,e.Zt=null,e.ze.mode=7,e.ze.Ce.reset(e,null),0):t}n.mode=0,n.method=0,n.Ie=[0],n.xe=0,n.marker=0,n.Ae=0,n.Ve=t=>(n.Ce&&n.Ce.ke(t),n.Ce=null,0),n.Pe=(e,i)=>(e.Zt=null,n.Ce=null,8>i||i>15?(n.Ve(e),t):(n.Ae=i,e.ze.Ce=new y(e,1<<i),r(e),0)),n.Be=(n,r)=>{let i,o;if(!n||!n.ze||!n.ce)return t;const f=n.ze;for(r=4==r?s:0,i=s;;)switch(f.mode){case 0:if(0===n.Qt)return i;if(i=r,n.Qt--,n.te++,8!=(15&(f.method=n.be(n.ae++)))){f.mode=m,n.Zt="unknown compression method",f.marker=5;break}if(8+(f.method>>4)>f.Ae){f.mode=m,n.Zt="invalid win size",f.marker=5;break}f.mode=1;case 1:if(0===n.Qt)return i;if(i=r,n.Qt--,n.te++,o=255&n.be(n.ae++),((f.method<<8)+o)%31!=0){f.mode=m,n.Zt="incorrect header check",f.marker=5;break}if(0==(32&o)){f.mode=7;break}f.mode=2;case 2:if(0===n.Qt)return i;i=r,n.Qt--,n.te++,f.xe=(255&n.be(n.ae++))<<24&4278190080,f.mode=3;case 3:if(0===n.Qt)return i;i=r,n.Qt--,n.te++,f.xe+=(255&n.be(n.ae++))<<16&16711680,f.mode=4;case 4:if(0===n.Qt)return i;i=r,n.Qt--,n.te++,f.xe+=(255&n.be(n.ae++))<<8&65280,f.mode=5;case 5:return 0===n.Qt?i:(i=r,n.Qt--,n.te++,f.xe+=255&n.be(n.ae++),f.mode=6,2);case 6:return f.mode=m,n.Zt="need dictionary",f.marker=0,t;case 7:if(i=f.Ce.me(n,i),i==e){f.mode=m,f.marker=0;break}if(0==i&&(i=r),1!=i)return i;i=r,f.Ce.reset(n,f.Ie),f.mode=12;case 12:return n.Qt=0,1;case m:return e;default:return t}},n.De=(e,n,r)=>{let i=0,s=r;if(!e||!e.ze||6!=e.ze.mode)return t;const o=e.ze;return s<1<<o.Ae||(s=(1<<o.Ae)-1,i=r-s),o.Ce.Se(n,i,s),o.mode=7,0},n.Ee=n=>{let i,o,f,c,l;if(!n||!n.ze)return t;const a=n.ze;if(a.mode!=m&&(a.mode=m,a.marker=0),0===(i=n.Qt))return s;for(o=n.ae,f=a.marker;0!==i&&4>f;)n.be(o)==g[f]?f++:f=0!==n.be(o)?0:4-f,o++,i--;return n.te+=o-n.ae,n.ae=o,n.Qt=i,a.marker=f,4!=f?e:(c=n.te,l=n.ee,r(n),n.te=c,n.ee=l,a.mode=7,0)},n.Me=e=>e&&e.ze&&e.ze.Ce?e.ze.Ce._e():t}function v(){}return v.prototype={Pe(t){const e=this;return e.ze=new k,t||(t=15),e.ze.Pe(e,t)},Be(e){const n=this;return n.ze?n.ze.Be(n,e):t},Ve(){const e=this;if(!e.ze)return t;const n=e.ze.Ve(e);return e.ze=null,n},Ee(){const e=this;return e.ze?e.ze.Ee(e):t},De(e,n){const r=this;return r.ze?r.ze.De(r,e,n):t},be(t){return this.ce[t]},Xt(t,e){return this.ce.subarray(t,t+e)}},function(t){const e=new v,o=t&&t.chunkSize?n.floor(2*t.chunkSize):131072,f=new i(o);let c=!1;e.Pe(),e.fe=f,this.append=(t,n)=>{const l=[];let a,u,w=0,h=0,d=0;if(0!==t.length){e.ae=0,e.ce=t,e.Qt=t.length;do{if(e.ue=0,e.le=o,0!==e.Qt||c||(e.ae=0,c=!0),a=e.Be(0),c&&a===s){if(0!==e.Qt)throw new r("inflating: bad input")}else if(0!==a&&1!==a)throw new r("inflating: "+e.Zt);if((c||1===a)&&e.Qt===t.length)throw new r("inflating: bad input");e.ue&&(e.ue===o?l.push(new i(f)):l.push(f.slice(0,e.ue))),d+=e.ue,n&&e.ae>0&&e.ae!=w&&(n(e.ae),w=e.ae)}while(e.Qt>0||0===e.le);return l.length>1?(u=new i(d),l.forEach((t=>{u.set(t,h),h+=t.length}))):u=l[0]||new i(0),u}},this.flush=()=>{e.Ve()}}})();self.initCodec=()=>{self.Deflate=gt,self.Inflate=kt};\n'],{type:"text/javascript"}));e({workerScripts:{inflate:[t],deflate:[t]}});}};
|
|
4351
|
+
var e=e=>{if("function"==typeof URL.createObjectURL){const t=()=>URL.createObjectURL(new Blob(['const{Array:t,Object:e,Math:n,Error:r,Uint8Array:s,Uint16Array:i,Uint32Array:o,Int32Array:f,DataView:c,Promise:l,TextEncoder:a,crypto:u,postMessage:w,TransformStream:h,ReadableStream:d,WritableStream:p,CompressionStream:b,DecompressionStream:y}=globalThis,m=[];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)1&e?e=e>>>1^3988292384:e>>>=1;m[t]=e}class g{constructor(t){this.t=t||-1}append(t){let e=0|this.t;for(let n=0,r=0|t.length;r>n;n++)e=e>>>8^m[255&(e^t[n])];this.t=e}get(){return~this.t}}class k extends h{constructor(){super({start(){this.i=new g},transform(t){this.i.append(t)},flush(t){const e=new s(4);new c(e.buffer).setUint32(0,this.i.get()),t.enqueue(e)}})}}const v={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=v.o(n);return 32===r?t.concat(e):v.l(e,r,0|n,t.slice(0,t.length-1))},u(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+v.o(n)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,n.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=v.p(e,t[r-1]&2147483648>>e-1,1)),t},p:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,o:t=>n.round(t/1099511627776)||32,l(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,i=v.o(s);return r.push(v.p(e+i&31,e+i>32?n:r.pop(),1)),r}},S={m:{g(t){const e=v.u(t)/8,n=new s(e);let r;for(let s=0;e>s;s++)0==(3&s)&&(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},k(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3==(3&n)&&(e.push(r),r=0);return 3&n&&e.push(v.p(8*(3&n),r)),e}}},_={v:function(t){t?(this.S=t.S.slice(0),this._=t._.slice(0),this.C=t.C):this.reset()}};_.v.prototype={blockSize:512,reset(){const t=this;return t.S=this.I.slice(0),t._=[],t.C=0,t},update(t){const e=this;"string"==typeof t&&(t=S.A.k(t));const n=e._=v.concat(e._,t),s=e.C,i=e.C=s+v.u(t);if(i>9007199254740991)throw new r("Cannot hash more than 2^53 - 1 bits");const f=new o(n);let c=0;for(let t=e.blockSize+s-(e.blockSize+s&e.blockSize-1);i>=t;t+=e.blockSize)e.V(f.subarray(16*c,16*(c+1))),c+=1;return n.splice(0,16*c),e},B(){const t=this;let e=t._;const r=t.S;e=v.concat(e,[v.p(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(n.floor(t.C/4294967296)),e.push(0|t.C);e.length;)t.V(e.splice(0,16));return t.reset(),r},I:[1732584193,4023233417,2562383102,271733878,3285377520],D:[1518500249,1859775393,2400959708,3395469782],M:(t,e,n,r)=>t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r,P:(t,e)=>e<<t|e>>>32-t,V(e){const r=this,s=r.S,i=t(80);for(let t=0;16>t;t++)i[t]=e[t];let o=s[0],f=s[1],c=s[2],l=s[3],a=s[4];for(let t=0;79>=t;t++){16>t||(i[t]=r.P(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const e=r.P(5,o)+r.M(t,f,c,l)+a+i[t]+r.D[n.floor(t/20)]|0;a=l,l=c,c=r.P(30,f),f=o,o=e}s[0]=s[0]+o|0,s[1]=s[1]+f|0,s[2]=s[2]+c|0,s[3]=s[3]+l|0,s[4]=s[4]+a|0}};const z={getRandomValues(t){const e=new o(t.buffer),r=t=>{let e=987654321;const r=4294967295;return()=>(e=36969*(65535&e)+(e>>16)&r,(((e<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r)/4294967296+.5)*(n.random()>.5?1:-1))};for(let s,i=0;i<t.length;i+=4){const t=r(4294967296*(s||n.random()));s=987654071*t(),e[i/4]=4294967296*t()|0}return t}},C={importKey:t=>new C.R(S.m.k(t)),T(t,e,n,s){if(n=n||1e4,0>s||0>n)throw new r("invalid params to pbkdf2");const i=1+(s>>5)<<2;let o,f,l,a,u;const w=new ArrayBuffer(i),h=new c(w);let d=0;const p=v;for(e=S.m.k(e),u=1;(i||1)>d;u++){for(o=f=t.encrypt(p.concat(e,[u])),l=1;n>l;l++)for(f=t.encrypt(f),a=0;a<f.length;a++)o[a]^=f[a];for(l=0;(i||1)>d&&l<o.length;l++)h.setInt32(d,o[l]),d+=4}return w.slice(0,s/8)},R:class{constructor(t){const e=this,n=e.U=_.v,r=[[],[]],s=n.prototype.blockSize/32;e.W=[new n,new n],t.length>s&&(t=n.hash(t));for(let e=0;s>e;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.W[0].update(r[0]),e.W[1].update(r[1]),e.j=new n(e.W[0])}reset(){const t=this;t.j=new t.U(t.W[0]),t.H=!1}update(t){this.H=!0,this.j.update(t)}digest(){const t=this,e=t.j.B(),n=new t.U(t.W[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.H)throw new r("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},I={name:"PBKDF2"},x=e.assign({hash:{name:"HMAC"}},I),A=e.assign({iterations:1e3,hash:{name:"SHA-1"}},I),V=["deriveBits"],B=[8,12,16],D=[16,24,32],E=[0,0,0,0],M=void 0!==u,P=M&&void 0!==u.subtle,R=M&&"function"==typeof u.getRandomValues,T=M&&P&&"function"==typeof u.subtle.importKey,U=M&&P&&"function"==typeof u.subtle.deriveBits,W=S.m,j=class{constructor(t){const e=this;e.K=[[[],[],[],[],[]],[[],[],[],[],[]]],e.K[0][0][0]||e.L();const n=e.K[0][4],s=e.K[1],i=t.length;let o,f,c,l=1;if(4!==i&&6!==i&&8!==i)throw new r("invalid aes key size");for(e.D=[f=t.slice(0),c=[]],o=i;4*i+28>o;o++){let t=f[o-1];(o%i==0||8===i&&o%i==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],o%i==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),f[o]=f[o-i]^t}for(let t=0;o;t++,o--){const e=f[3&t?o:o-4];c[t]=4>=o||4>t?e:s[0][n[e>>>24]]^s[1][n[e>>16&255]]^s[2][n[e>>8&255]]^s[3][n[255&e]]}}encrypt(t){return this.F(t,0)}decrypt(t){return this.F(t,1)}L(){const t=this.K[0],e=this.K[1],n=t[4],r=e[4],s=[],i=[];let o,f,c,l;for(let t=0;256>t;t++)i[(s[t]=t<<1^283*(t>>7))^t]=t;for(let a=o=0;!n[a];a^=f||1,o=i[o]||1){let i=o^o<<1^o<<2^o<<3^o<<4;i=i>>8^255&i^99,n[a]=i,r[i]=a,l=s[c=s[f=s[a]]];let u=16843009*l^65537*c^257*f^16843008*a,w=257*s[i]^16843008*i;for(let n=0;4>n;n++)t[n][a]=w=w<<24^w>>>8,e[n][i]=u=u<<24^u>>>8}for(let n=0;5>n;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}F(t,e){if(4!==t.length)throw new r("invalid aes block size");const n=this.D[e],s=n.length/4-2,i=[0,0,0,0],o=this.K[e],f=o[0],c=o[1],l=o[2],a=o[3],u=o[4];let w,h,d,p=t[0]^n[0],b=t[e?3:1]^n[1],y=t[2]^n[2],m=t[e?1:3]^n[3],g=4;for(let t=0;s>t;t++)w=f[p>>>24]^c[b>>16&255]^l[y>>8&255]^a[255&m]^n[g],h=f[b>>>24]^c[y>>16&255]^l[m>>8&255]^a[255&p]^n[g+1],d=f[y>>>24]^c[m>>16&255]^l[p>>8&255]^a[255&b]^n[g+2],m=f[m>>>24]^c[p>>16&255]^l[b>>8&255]^a[255&y]^n[g+3],g+=4,p=w,b=h,y=d;for(let t=0;4>t;t++)i[e?3&-t:t]=u[p>>>24]<<24^u[b>>16&255]<<16^u[y>>8&255]<<8^u[255&m]^n[g++],w=p,p=b,b=y,y=m,m=w;return i}},H=class{constructor(t,e){this.N=t,this.O=e,this.q=e}reset(){this.q=this.O}update(t){return this.G(this.N,t,this.q)}J(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}X(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}G(t,e,n){let r;if(!(r=e.length))return[];const s=v.u(e);for(let s=0;r>s;s+=4){this.X(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return v.h(e,s)}},K=C.R;class L extends h{constructor(n,i,o){let f;super({start(){e.assign(this,{ready:new l((t=>this.Y=t)),password:n,signed:i,Z:o-1,pending:new s})},async transform(e,n){const i=this;if(i.password){const n=i.password;i.password=null;const s=G(e,0,B[i.Z]+2);await(async(t,e,n)=>{await O(t,n,G(e,0,B[t.Z]));const s=G(e,B[t.Z]),i=t.keys.passwordVerification;if(i[0]!=s[0]||i[1]!=s[1])throw new r("Invalid pasword")})(i,s,n),i.$=new H(new j(i.keys.key),t.from(E)),i.tt=new K(i.keys.et),e=G(e,B[i.Z]+2),i.Y()}else await i.ready;const o=new s(e.length-10-(e.length-10)%16);n.enqueue(N(i,e,o,0,10,!0))},async flush(t){const e=this;await e.ready;const n=e.pending,r=G(n,0,n.length-10),i=G(n,n.length-10);let o=new s;if(r.length){const t=Q(W,r);e.tt.update(t);const n=e.$.update(t);o=J(W,n)}if(f.valid=!0,e.signed){const t=G(J(W,e.tt.digest()),0,10);for(let e=0;10>e;e++)t[e]!=i[e]&&(f.valid=!1)}t.enqueue(o)}}),f=this}}class F extends h{constructor(n,r){let i;super({start(){e.assign(this,{ready:new l((t=>this.Y=t)),password:n,Z:r-1,pending:new s})},async transform(e,n){const r=this;let i=new s;if(r.password){const e=r.password;r.password=null,i=await(async(t,e)=>{const n=(r=new s(B[t.Z]),R?u.getRandomValues(r):z.getRandomValues(r));var r;return await O(t,e,n),q(n,t.keys.passwordVerification)})(r,e),r.$=new H(new j(r.keys.key),t.from(E)),r.tt=new K(r.keys.et),r.Y()}else await r.ready;const o=new s(i.length+e.length-e.length%16);o.set(i,0),n.enqueue(N(r,e,o,i.length,0))},async flush(t){const e=this;await e.ready;let n=new s;if(e.pending.length){const t=e.$.update(Q(W,e.pending));e.tt.update(t),n=J(W,t)}i.signature=J(W,e.tt.digest()).slice(0,10),t.enqueue(q(n,i.signature))}}),i=this}}function N(t,e,n,r,i,o){const f=e.length-i;let c;for(t.pending.length&&(e=q(t.pending,e),n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new s(e)).set(n,0)}return t})(n,f-f%16)),c=0;f-16>=c;c+=16){const s=Q(W,G(e,c,c+16));o&&t.tt.update(s);const i=t.$.update(s);o||t.tt.update(i),n.set(J(W,i),c+r)}return t.pending=G(e,c),n}async function O(t,n,r){const i=(t=>{if(void 0===a){const e=new s((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new a).encode(t)})(n),o=await((t,e,n,r,s)=>T?u.subtle.importKey("raw",e,n,!1,s):C.importKey(e))(0,i,x,0,V),f=await(async(t,e,n)=>U?await u.subtle.deriveBits(t,e,n):C.T(e,t.salt,A.iterations,n))(e.assign({salt:r},A),o,8*(2*D[t.Z]+2)),c=new s(f);t.keys={key:Q(W,G(c,0,D[t.Z])),et:Q(W,G(c,D[t.Z],2*D[t.Z])),passwordVerification:G(c,2*D[t.Z])}}function q(t,e){let n=t;return t.length+e.length&&(n=new s(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function G(t,e,n){return t.subarray(e,n)}function J(t,e){return t.g(e)}function Q(t,e){return t.k(e)}class X extends h{constructor(t,n){let s;super({start(){e.assign(this,{password:t,passwordVerification:n}),tt(this,t)},transform(t,e){const n=this;if(n.password){const e=Z(n,t.subarray(0,12));if(n.password=null,e[11]!=n.passwordVerification)throw new r("Invalid pasword");t=t.subarray(12)}e.enqueue(Z(n,t))},flush(){s.valid=!0}}),s=this}}class Y extends h{constructor(t,n){super({start(){e.assign(this,{password:t,passwordVerification:n}),tt(this,t)},transform(t,e){const n=this;let r,i;if(n.password){n.password=null;const e=u.getRandomValues(new s(12));e[11]=n.passwordVerification,r=new s(t.length+e.length),r.set($(n,e),0),i=12}else r=new s(t.length),i=0;r.set($(n,t),i),e.enqueue(r)},flush(){}})}}function Z(t,e){const n=new s(e.length);for(let r=0;r<e.length;r++)n[r]=nt(t)^e[r],et(t,n[r]);return n}function $(t,e){const n=new s(e.length);for(let r=0;r<e.length;r++)n[r]=nt(t)^e[r],et(t,e[r]);return n}function tt(t,e){t.keys=[305419896,591751049,878082192],t.nt=new g(t.keys[0]),t.rt=new g(t.keys[2]);for(let n=0;n<e.length;n++)et(t,e.charCodeAt(n))}function et(t,e){t.nt.append([e]),t.keys[0]=~t.nt.get(),t.keys[1]=st(t.keys[1]+rt(t.keys[0])),t.keys[1]=st(n.imul(t.keys[1],134775813)+1),t.rt.append([t.keys[1]>>>24]),t.keys[2]=~t.rt.get()}function nt(t){const e=2|t.keys[2];return rt(n.imul(e,1^e)>>>8)}function rt(t){return 255&t}function st(t){return 4294967295&t}class it extends h{constructor(t,e){let n;super({start(){n=new t(e)},transform(t,e){t=n.append(t),e.enqueue(t)},flush(t){const e=n.flush();e&&t.enqueue(e)}})}}const ot=void 0===b,ft=void 0===y;let ct=!0,lt=!0;class at extends h{constructor(t,e,{chunkSize:n},...r){super({},...r);const{compressed:s,st:i,password:o,passwordVerification:f,encryptionStrength:l,zipCrypto:a,signed:u}=e,w=this;let h,d,p=ht(super.readable);const y=!!o;if(y&&!a||!u||([p,h]=p.tee(),h=h.pipeThrough(new k)),s)if(void 0!==i&&!i||ot&&!lt)p=wt(t,p,n);else try{p=p.pipeThrough(new b("deflate-raw"))}catch(e){lt=!1,p=wt(t,p,n)}y&&(a?p=p.pipeThrough(new Y(o,f)):(d=new F(o,l),p=p.pipeThrough(d))),dt(w,p,(async()=>{let t;y&&!a&&(t=d.signature),y&&!a||!u||(t=await h.getReader().read(),t=new c(t.value.buffer).getUint32(0)),w.signature=t}))}}class ut extends h{constructor(t,e,{chunkSize:n},...s){super({},...s);const{zipCrypto:i,password:o,passwordVerification:f,signed:l,encryptionStrength:a,compressed:u,st:w}=e;let h,d,p=ht(super.readable);const b=!!o;if(b&&(i?p=p.pipeThrough(new X(o,f)):(d=new L(o,l,a),p=p.pipeThrough(d))),u)if(void 0!==w&&!w||ft&&!ct)p=wt(t,p,n);else try{p=p.pipeThrough(new y("deflate-raw"))}catch(e){ct=!1,p=wt(t,p,n)}b&&!i||!l||([p,h]=p.tee(),h=h.pipeThrough(new k)),dt(this,p,(async()=>{if(b&&!i&&!d.valid)throw new r("Invalid signature");if((!b||i)&&l){const t=await h.getReader().read();if(t!=new c(t.value.buffer).getUint32(0,!1))throw new r("Invalid signature")}}))}}function wt(t,e,n){return e.pipeThrough(new it(t,{chunkSize:n}))}function ht(t){return t.pipeThrough(new h({transform(t,e){t&&t.length&&e.enqueue(t)}}))}function dt(t,n,r){t.length=0,n=n.pipeThrough(new h({transform(e,n){e&&e.length&&(t.length+=e.length,n.enqueue(e))},flush:r})),e.defineProperty(t,"readable",{get:()=>n})}const pt=new Map;let bt,yt=0;async function mt(t){try{const{options:e,scripts:n,config:r}=t,{codecType:s}=e;let i;n&&n.length&&importScripts.apply(void 0,n),self.initCodec&&self.initCodec(),s.startsWith("deflate")?i=self.Deflate:s.startsWith("inflate")&&(i=self.Inflate);const o={highWaterMark:1,size:()=>r.chunkSize},f=new d({async pull(t){let e=new l(((t,e)=>pt.set(yt,{resolve:t,reject:e})));gt({type:"pull",messageId:yt}),yt=(yt+1)%Number.MAX_SAFE_INTEGER;const{value:n,done:r}=await e;t.enqueue(n),r&&t.close()}},o),c=new p({write(t){gt({type:"data",data:t})}},o);bt=((t,e,n,r,s)=>{const i=new AbortController,{signal:o}=i;if(r.codecType.startsWith("deflate"))return{it:()=>f(at),abort:c};if(r.codecType.startsWith("inflate"))return{it:()=>f(ut),abort:c};async function f(i){const f=new i(t,r,s);await e.pipeThrough(f,{signal:o}).pipeTo(n,{ot:!0});const{length:c,signature:l}=f;return{length:c,signature:l}}function c(){i.abort()}})(i,f,c,e,r),gt({type:"close",result:await bt.it()})}catch(t){const{message:e,stack:n}=t;w({error:{message:e,stack:n}})}}function gt(t){if(t.data){let{data:e}=t;if(e&&e.length)try{e.length!=e.buffer.byteLength&&(e=new s(e)),t.data=e.buffer,w(t,[t.data])}catch(e){w(t)}else w(t)}else w(t)}addEventListener("message",(async t=>{const e=t.data,{type:n,messageId:r,data:i,done:o}=e;try{if("start"==n&&mt(e),"data"==n){const{resolve:t}=pt.get(r);pt.delete(r),t({value:new s(i),done:o})}"abort"==n&&bt.abort()}catch(t){w({error:{message:t.message,stack:t.stack}})}}));const kt=(()=>{const e=-2;function o(e){return f(e.map((([e,n])=>new t(e).fill(n,0,e))))}function f(e){return e.reduce(((e,n)=>e.concat(t.isArray(n)?f(n):n)),[])}const c=[0,1,2,3].concat(...o([[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 t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.ft=r=>{const s=t.ct,i=t.ut.lt,o=t.ut.wt;let f,c,l,a=-1;for(r.ht=0,r.dt=573,f=0;o>f;f++)0!==s[2*f]?(r.bt[++r.ht]=a=f,r.yt[f]=0):s[2*f+1]=0;for(;2>r.ht;)l=r.bt[++r.ht]=2>a?++a:0,s[2*l]=1,r.yt[l]=0,r.gt--,i&&(r.kt-=i[2*l+1]);for(t.vt=a,f=n.floor(r.ht/2);f>=1;f--)r.St(s,f);l=o;do{f=r.bt[1],r.bt[1]=r.bt[r.ht--],r.St(s,1),c=r.bt[1],r.bt[--r.dt]=f,r.bt[--r.dt]=c,s[2*l]=s[2*f]+s[2*c],r.yt[l]=n.max(r.yt[f],r.yt[c])+1,s[2*f+1]=s[2*c+1]=l,r.bt[1]=l++,r.St(s,1)}while(r.ht>=2);r.bt[--r.dt]=r.bt[1],(e=>{const n=t.ct,r=t.ut.lt,s=t.ut._t,i=t.ut.zt,o=t.ut.Ct;let f,c,l,a,u,w,h=0;for(a=0;15>=a;a++)e.It[a]=0;for(n[2*e.bt[e.dt]+1]=0,f=e.dt+1;573>f;f++)c=e.bt[f],a=n[2*n[2*c+1]+1]+1,a>o&&(a=o,h++),n[2*c+1]=a,c>t.vt||(e.It[a]++,u=0,i>c||(u=s[c-i]),w=n[2*c],e.gt+=w*(a+u),r&&(e.kt+=w*(r[2*c+1]+u)));if(0!==h){do{for(a=o-1;0===e.It[a];)a--;e.It[a]--,e.It[a+1]+=2,e.It[o]--,h-=2}while(h>0);for(a=o;0!==a;a--)for(c=e.It[a];0!==c;)l=e.bt[--f],l>t.vt||(n[2*l+1]!=a&&(e.gt+=(a-n[2*l+1])*n[2*l],n[2*l+1]=a),c--)}})(r),((t,n,r)=>{const s=[];let i,o,f,c=0;for(i=1;15>=i;i++)s[i]=c=c+r[i-1]<<1;for(o=0;n>=o;o++)f=t[2*o+1],0!==f&&(t[2*o]=e(s[f]++,f))})(s,t.vt,r.It)}}function a(t,e,n,r,s){const i=this;i.lt=t,i._t=e,i.zt=n,i.wt=r,i.Ct=s}l.xt=[0,1,2,3,4,5,6,7].concat(...o([[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.At=[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.Vt=[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.Bt=t=>256>t?c[t]:c[256+(t>>>7)],l.Dt=[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.Et=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],l.Mt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],l.Pt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const u=o([[144,8],[112,9],[24,7],[8,8]]);a.Rt=f([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(((t,e)=>[t,u[e]])));const w=o([[30,5]]);function h(t,e,n,r,s){const i=this;i.Tt=t,i.Ut=e,i.Wt=n,i.jt=r,i.Ht=s}a.Kt=f([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(((t,e)=>[t,w[e]]))),a.Lt=new a(a.Rt,l.Dt,257,286,15),a.Ft=new a(a.Kt,l.Et,0,30,15),a.Nt=new a(null,l.Mt,0,19,7);const d=[new h(0,0,0,0,0),new h(4,4,8,4,1),new h(4,5,16,8,1),new h(4,6,32,32,1),new h(4,4,16,16,2),new h(8,16,32,32,2),new h(8,16,128,128,2),new h(8,32,128,256,2),new h(32,128,258,1024,2),new h(32,258,258,4096,2)],p=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],b=113,y=666,m=262;function g(t,e,n,r){const s=t[2*e],i=t[2*n];return i>s||s==i&&r[e]<=r[n]}function k(){const t=this;let r,o,f,c,u,w,h,k,v,S,_,z,C,I,x,A,V,B,D,E,M,P,R,T,U,W,j,H,K,L,F,N,O;const q=new l,G=new l,J=new l;let Q,X,Y,Z,$,tt;function et(){let e;for(e=0;286>e;e++)F[2*e]=0;for(e=0;30>e;e++)N[2*e]=0;for(e=0;19>e;e++)O[2*e]=0;F[512]=1,t.gt=t.kt=0,X=Y=0}function nt(t,e){let n,r=-1,s=t[1],i=0,o=7,f=4;0===s&&(o=138,f=3),t[2*(e+1)+1]=65535;for(let c=0;e>=c;c++)n=s,s=t[2*(c+1)+1],++i<o&&n==s||(f>i?O[2*n]+=i:0!==n?(n!=r&&O[2*n]++,O[32]++):i>10?O[36]++:O[34]++,i=0,r=n,0===s?(o=138,f=3):n==s?(o=6,f=3):(o=7,f=4))}function rt(e){t.Ot[t.pending++]=e}function st(t){rt(255&t),rt(t>>>8&255)}function it(t,e){let n;const r=e;tt>16-r?(n=t,$|=n<<tt&65535,st($),$=n>>>16-tt,tt+=r-16):($|=t<<tt&65535,tt+=r)}function ot(t,e){const n=2*t;it(65535&e[n],65535&e[n+1])}function ft(t,e){let n,r,s=-1,i=t[1],o=0,f=7,c=4;for(0===i&&(f=138,c=3),n=0;e>=n;n++)if(r=i,i=t[2*(n+1)+1],++o>=f||r!=i){if(c>o)do{ot(r,O)}while(0!=--o);else 0!==r?(r!=s&&(ot(r,O),o--),ot(16,O),it(o-3,2)):o>10?(ot(18,O),it(o-11,7)):(ot(17,O),it(o-3,3));o=0,s=r,0===i?(f=138,c=3):r==i?(f=6,c=3):(f=7,c=4)}}function ct(){16==tt?(st($),$=0,tt=0):8>tt||(rt(255&$),$>>>=8,tt-=8)}function lt(e,r){let s,i,o;if(t.qt[X]=e,t.Gt[X]=255&r,X++,0===e?F[2*r]++:(Y++,e--,F[2*(l.xt[r]+256+1)]++,N[2*l.Bt(e)]++),0==(8191&X)&&j>2){for(s=8*X,i=M-V,o=0;30>o;o++)s+=N[2*o]*(5+l.Et[o]);if(s>>>=3,Y<n.floor(X/2)&&s<n.floor(i/2))return!0}return X==Q-1}function at(e,n){let r,s,i,o,f=0;if(0!==X)do{r=t.qt[f],s=t.Gt[f],f++,0===r?ot(s,e):(i=l.xt[s],ot(i+256+1,e),o=l.Dt[i],0!==o&&(s-=l.At[i],it(s,o)),r--,i=l.Bt(r),ot(i,n),o=l.Et[i],0!==o&&(r-=l.Vt[i],it(r,o)))}while(X>f);ot(256,e),Z=e[513]}function ut(){tt>8?st($):tt>0&&rt(255&$),$=0,tt=0}function wt(e,n,r){it(0+(r?1:0),3),((e,n)=>{ut(),Z=8,st(n),st(~n),t.Ot.set(k.subarray(e,e+n),t.pending),t.pending+=n})(e,n)}function ht(e){((e,n,r)=>{let s,i,o=0;j>0?(q.ft(t),G.ft(t),o=(()=>{let e;for(nt(F,q.vt),nt(N,G.vt),J.ft(t),e=18;e>=3&&0===O[2*l.Pt[e]+1];e--);return t.gt+=14+3*(e+1),e})(),s=t.gt+3+7>>>3,i=t.kt+3+7>>>3,i>s||(s=i)):s=i=n+5,n+4>s||-1==e?i==s?(it(2+(r?1:0),3),at(a.Rt,a.Kt)):(it(4+(r?1:0),3),((t,e,n)=>{let r;for(it(t-257,5),it(e-1,5),it(n-4,4),r=0;n>r;r++)it(O[2*l.Pt[r]+1],3);ft(F,t-1),ft(N,e-1)})(q.vt+1,G.vt+1,o+1),at(F,N)):wt(e,n,r),et(),r&&ut()})(0>V?-1:V,M-V,e),V=M,r.Jt()}function dt(){let t,e,n,s;do{if(s=v-R-M,0===s&&0===M&&0===R)s=u;else if(-1==s)s--;else if(M>=u+u-m){k.set(k.subarray(u,u+u),0),P-=u,M-=u,V-=u,t=C,n=t;do{e=65535&_[--n],_[n]=u>e?0:e-u}while(0!=--t);t=u,n=t;do{e=65535&S[--n],S[n]=u>e?0:e-u}while(0!=--t);s+=u}if(0===r.Qt)return;t=r.Xt(k,M+R,s),R+=t,3>R||(z=255&k[M],z=(z<<A^255&k[M+1])&x)}while(m>R&&0!==r.Qt)}function pt(t){let e,n,r=U,s=M,i=T;const o=M>u-m?M-(u-m):0;let f=L;const c=h,l=M+258;let a=k[s+i-1],w=k[s+i];K>T||(r>>=2),f>R&&(f=R);do{if(e=t,k[e+i]==w&&k[e+i-1]==a&&k[e]==k[s]&&k[++e]==k[s+1]){s+=2,e++;do{}while(k[++s]==k[++e]&&k[++s]==k[++e]&&k[++s]==k[++e]&&k[++s]==k[++e]&&k[++s]==k[++e]&&k[++s]==k[++e]&&k[++s]==k[++e]&&k[++s]==k[++e]&&l>s);if(n=258-(l-s),s=l-258,n>i){if(P=t,i=n,n>=f)break;a=k[s+i-1],w=k[s+i]}}}while((t=65535&S[t&c])>o&&0!=--r);return i>R?R:i}t.yt=[],t.It=[],t.bt=[],F=[],N=[],O=[],t.St=(e,n)=>{const r=t.bt,s=r[n];let i=n<<1;for(;i<=t.ht&&(i<t.ht&&g(e,r[i+1],r[i],t.yt)&&i++,!g(e,s,r[i],t.yt));)r[n]=r[i],n=i,i<<=1;r[n]=s},t.Yt=(r,l,p,y,m,g)=>(y||(y=8),m||(m=8),g||(g=0),r.Zt=null,-1==l&&(l=6),1>m||m>9||8!=y||9>p||p>15||0>l||l>9||0>g||g>2?e:(r.$t=t,w=p,u=1<<w,h=u-1,I=m+7,C=1<<I,x=C-1,A=n.floor((I+3-1)/3),k=new s(2*u),S=[],_=[],Q=1<<m+6,t.Ot=new s(4*Q),f=4*Q,t.qt=new i(Q),t.Gt=new s(Q),j=l,H=g,(e=>(e.te=e.ee=0,e.Zt=null,t.pending=0,t.ne=0,o=b,c=0,q.ct=F,q.ut=a.Lt,G.ct=N,G.ut=a.Ft,J.ct=O,J.ut=a.Nt,$=0,tt=0,Z=8,et(),(()=>{v=2*u,_[C-1]=0;for(let t=0;C-1>t;t++)_[t]=0;W=d[j].Ut,K=d[j].Tt,L=d[j].Wt,U=d[j].jt,M=0,V=0,R=0,B=T=2,E=0,z=0})(),0))(r))),t.re=()=>42!=o&&o!=b&&o!=y?e:(t.Gt=null,t.qt=null,t.Ot=null,_=null,S=null,k=null,t.$t=null,o==b?-3:0),t.se=(t,n,r)=>{let s=0;return-1==n&&(n=6),0>n||n>9||0>r||r>2?e:(d[j].Ht!=d[n].Ht&&0!==t.te&&(s=t.ie(1)),j!=n&&(j=n,W=d[j].Ut,K=d[j].Tt,L=d[j].Wt,U=d[j].jt),H=r,s)},t.oe=(t,n,r)=>{let s,i=r,f=0;if(!n||42!=o)return e;if(3>i)return 0;for(i>u-m&&(i=u-m,f=r-i),k.set(n.subarray(f,f+i),0),M=i,V=i,z=255&k[0],z=(z<<A^255&k[1])&x,s=0;i-3>=s;s++)z=(z<<A^255&k[s+2])&x,S[s&h]=_[z],_[z]=s;return 0},t.ie=(n,s)=>{let i,l,g,v,I;if(s>4||0>s)return e;if(!n.fe||!n.ce&&0!==n.Qt||o==y&&4!=s)return n.Zt=p[4],e;if(0===n.le)return n.Zt=p[7],-5;var U;if(r=n,v=c,c=s,42==o&&(l=8+(w-8<<4)<<8,g=(j-1&255)>>1,g>3&&(g=3),l|=g<<6,0!==M&&(l|=32),l+=31-l%31,o=b,rt((U=l)>>8&255),rt(255&U)),0!==t.pending){if(r.Jt(),0===r.le)return c=-1,0}else if(0===r.Qt&&v>=s&&4!=s)return r.Zt=p[7],-5;if(o==y&&0!==r.Qt)return n.Zt=p[7],-5;if(0!==r.Qt||0!==R||0!=s&&o!=y){switch(I=-1,d[j].Ht){case 0:I=(t=>{let e,n=65535;for(n>f-5&&(n=f-5);;){if(1>=R){if(dt(),0===R&&0==t)return 0;if(0===R)break}if(M+=R,R=0,e=V+n,(0===M||M>=e)&&(R=M-e,M=e,ht(!1),0===r.le))return 0;if(M-V>=u-m&&(ht(!1),0===r.le))return 0}return ht(4==t),0===r.le?4==t?2:0:4==t?3:1})(s);break;case 1:I=(t=>{let e,n=0;for(;;){if(m>R){if(dt(),m>R&&0==t)return 0;if(0===R)break}if(3>R||(z=(z<<A^255&k[M+2])&x,n=65535&_[z],S[M&h]=_[z],_[z]=M),0===n||(M-n&65535)>u-m||2!=H&&(B=pt(n)),3>B)e=lt(0,255&k[M]),R--,M++;else if(e=lt(M-P,B-3),R-=B,B>W||3>R)M+=B,B=0,z=255&k[M],z=(z<<A^255&k[M+1])&x;else{B--;do{M++,z=(z<<A^255&k[M+2])&x,n=65535&_[z],S[M&h]=_[z],_[z]=M}while(0!=--B);M++}if(e&&(ht(!1),0===r.le))return 0}return ht(4==t),0===r.le?4==t?2:0:4==t?3:1})(s);break;case 2:I=(t=>{let e,n,s=0;for(;;){if(m>R){if(dt(),m>R&&0==t)return 0;if(0===R)break}if(3>R||(z=(z<<A^255&k[M+2])&x,s=65535&_[z],S[M&h]=_[z],_[z]=M),T=B,D=P,B=2,0!==s&&W>T&&u-m>=(M-s&65535)&&(2!=H&&(B=pt(s)),5>=B&&(1==H||3==B&&M-P>4096)&&(B=2)),3>T||B>T)if(0!==E){if(e=lt(0,255&k[M-1]),e&&ht(!1),M++,R--,0===r.le)return 0}else E=1,M++,R--;else{n=M+R-3,e=lt(M-1-D,T-3),R-=T-1,T-=2;do{++M>n||(z=(z<<A^255&k[M+2])&x,s=65535&_[z],S[M&h]=_[z],_[z]=M)}while(0!=--T);if(E=0,B=2,M++,e&&(ht(!1),0===r.le))return 0}}return 0!==E&&(e=lt(0,255&k[M-1]),E=0),ht(4==t),0===r.le?4==t?2:0:4==t?3:1})(s)}if(2!=I&&3!=I||(o=y),0==I||2==I)return 0===r.le&&(c=-1),0;if(1==I){if(1==s)it(2,3),ot(256,a.Rt),ct(),9>1+Z+10-tt&&(it(2,3),ot(256,a.Rt),ct()),Z=7;else if(wt(0,0,!1),3==s)for(i=0;C>i;i++)_[i]=0;if(r.Jt(),0===r.le)return c=-1,0}}return 4!=s?0:1}}function v(){const t=this;t.ae=0,t.ue=0,t.Qt=0,t.te=0,t.le=0,t.ee=0}return v.prototype={Yt(t,e){const n=this;return n.$t=new k,e||(e=15),n.$t.Yt(n,t,e)},ie(t){const n=this;return n.$t?n.$t.ie(n,t):e},re(){const t=this;if(!t.$t)return e;const n=t.$t.re();return t.$t=null,n},se(t,n){const r=this;return r.$t?r.$t.se(r,t,n):e},oe(t,n){const r=this;return r.$t?r.$t.oe(r,t,n):e},Xt(t,e,n){const r=this;let s=r.Qt;return s>n&&(s=n),0===s?0:(r.Qt-=s,t.set(r.ce.subarray(r.ae,r.ae+s),e),r.ae+=s,r.te+=s,s)},Jt(){const t=this;let e=t.$t.pending;e>t.le&&(e=t.le),0!==e&&(t.fe.set(t.$t.Ot.subarray(t.$t.ne,t.$t.ne+e),t.ue),t.ue+=e,t.$t.ne+=e,t.ee+=e,t.le-=e,t.$t.pending-=e,0===t.$t.pending&&(t.$t.ne=0))}},function(t){const e=new v,i=(o=t&&t.chunkSize?t.chunkSize:65536)+5*(n.floor(o/16383)+1);var o;const f=new s(i);let c=t?t.level:-1;void 0===c&&(c=-1),e.Yt(c),e.fe=f,this.append=(t,n)=>{let o,c,l=0,a=0,u=0;const w=[];if(t.length){e.ae=0,e.ce=t,e.Qt=t.length;do{if(e.ue=0,e.le=i,o=e.ie(0),0!=o)throw new r("deflating: "+e.Zt);e.ue&&(e.ue==i?w.push(new s(f)):w.push(f.slice(0,e.ue))),u+=e.ue,n&&e.ae>0&&e.ae!=l&&(n(e.ae),l=e.ae)}while(e.Qt>0||0===e.le);return w.length>1?(c=new s(u),w.forEach((t=>{c.set(t,a),a+=t.length}))):c=w[0]||new s,c}},this.flush=()=>{let t,n,o=0,c=0;const l=[];do{if(e.ue=0,e.le=i,t=e.ie(4),1!=t&&0!=t)throw new r("deflating: "+e.Zt);i-e.le>0&&l.push(f.slice(0,e.ue)),c+=e.ue}while(e.Qt>0||0===e.le);return e.re(),n=new s(c),l.forEach((t=>{n.set(t,o),o+=t.length})),n}}})(),vt=(()=>{const t=-2,e=-3,i=-5,o=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],c=[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],l=[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],a=[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],u=[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],w=[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],h=[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 d(){let t,n,r,s,o,c;function l(t,n,f,l,a,u,w,h,d,p,b){let y,m,g,k,v,S,_,z,C,I,x,A,V,B,D;I=0,v=f;do{r[t[n+I]]++,I++,v--}while(0!==v);if(r[0]==f)return w[0]=-1,h[0]=0,0;for(z=h[0],S=1;15>=S&&0===r[S];S++);for(_=S,S>z&&(z=S),v=15;0!==v&&0===r[v];v--);for(g=v,z>v&&(z=v),h[0]=z,B=1<<S;v>S;S++,B<<=1)if(0>(B-=r[S]))return e;if(0>(B-=r[v]))return e;for(r[v]+=B,c[1]=S=0,I=1,V=2;0!=--v;)c[V]=S+=r[I],V++,I++;v=0,I=0;do{0!==(S=t[n+I])&&(b[c[S]++]=v),I++}while(++v<f);for(f=c[g],c[0]=v=0,I=0,k=-1,A=-z,o[0]=0,x=0,D=0;g>=_;_++)for(y=r[_];0!=y--;){for(;_>A+z;){if(k++,A+=z,D=g-A,D=D>z?z:D,(m=1<<(S=_-A))>y+1&&(m-=y+1,V=_,D>S))for(;++S<D&&(m<<=1)>r[++V];)m-=r[V];if(D=1<<S,p[0]+D>1440)return e;o[k]=x=p[0],p[0]+=D,0!==k?(c[k]=v,s[0]=S,s[1]=z,S=v>>>A-z,s[2]=x-o[k-1]-S,d.set(s,3*(o[k-1]+S))):w[0]=x}for(s[1]=_-A,f>I?b[I]<l?(s[0]=256>b[I]?0:96,s[2]=b[I++]):(s[0]=u[b[I]-l]+16+64,s[2]=a[b[I++]-l]):s[0]=192,m=1<<_-A,S=v>>>A;D>S;S+=m)d.set(s,3*(x+S));for(S=1<<_-1;0!=(v&S);S>>>=1)v^=S;for(v^=S,C=(1<<A)-1;(v&C)!=c[k];)k--,A-=z,C=(1<<A)-1}return 0!==B&&1!=g?i:0}function d(e){let i;for(t||(t=[],n=[],r=new f(16),s=[],o=new f(15),c=new f(16)),n.length<e&&(n=[]),i=0;e>i;i++)n[i]=0;for(i=0;16>i;i++)r[i]=0;for(i=0;3>i;i++)s[i]=0;o.set(r.subarray(0,15),0),c.set(r.subarray(0,16),0)}this.we=(r,s,o,f,c)=>{let a;return d(19),t[0]=0,a=l(r,0,19,19,null,null,o,s,f,t,n),a==e?c.Zt="oversubscribed dynamic bit lengths tree":a!=i&&0!==s[0]||(c.Zt="incomplete dynamic bit lengths tree",a=e),a},this.he=(r,s,o,f,c,p,b,y,m)=>{let g;return d(288),t[0]=0,g=l(o,0,r,257,a,u,p,f,y,t,n),0!=g||0===f[0]?(g==e?m.Zt="oversubscribed literal/length tree":-4!=g&&(m.Zt="incomplete literal/length tree",g=e),g):(d(288),g=l(o,r,s,0,w,h,b,c,y,t,n),0!=g||0===c[0]&&r>257?(g==e?m.Zt="oversubscribed distance tree":g==i?(m.Zt="incomplete distance tree",g=e):-4!=g&&(m.Zt="empty distance tree with lengths",g=e),g):0)}}function p(){const n=this;let r,s,i,f,c=0,l=0,a=0,u=0,w=0,h=0,d=0,p=0,b=0,y=0;function m(t,n,r,s,i,f,c,l){let a,u,w,h,d,p,b,y,m,g,k,v,S,_,z,C;b=l.ae,y=l.Qt,d=c.de,p=c.pe,m=c.write,g=m<c.read?c.read-m-1:c.end-m,k=o[t],v=o[n];do{for(;20>p;)y--,d|=(255&l.be(b++))<<p,p+=8;if(a=d&k,u=r,w=s,C=3*(w+a),0!==(h=u[C]))for(;;){if(d>>=u[C+1],p-=u[C+1],0!=(16&h)){for(h&=15,S=u[C+2]+(d&o[h]),d>>=h,p-=h;15>p;)y--,d|=(255&l.be(b++))<<p,p+=8;for(a=d&v,u=i,w=f,C=3*(w+a),h=u[C];;){if(d>>=u[C+1],p-=u[C+1],0!=(16&h)){for(h&=15;h>p;)y--,d|=(255&l.be(b++))<<p,p+=8;if(_=u[C+2]+(d&o[h]),d>>=h,p-=h,g-=S,_>m){z=m-_;do{z+=c.end}while(0>z);if(h=c.end-z,S>h){if(S-=h,m-z>0&&h>m-z)do{c.ye[m++]=c.ye[z++]}while(0!=--h);else c.ye.set(c.ye.subarray(z,z+h),m),m+=h,z+=h,h=0;z=0}}else z=m-_,m-z>0&&2>m-z?(c.ye[m++]=c.ye[z++],c.ye[m++]=c.ye[z++],S-=2):(c.ye.set(c.ye.subarray(z,z+2),m),m+=2,z+=2,S-=2);if(m-z>0&&S>m-z)do{c.ye[m++]=c.ye[z++]}while(0!=--S);else c.ye.set(c.ye.subarray(z,z+S),m),m+=S,z+=S,S=0;break}if(0!=(64&h))return l.Zt="invalid distance code",S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,e;a+=u[C+2],a+=d&o[h],C=3*(w+a),h=u[C]}break}if(0!=(64&h))return 0!=(32&h)?(S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,1):(l.Zt="invalid literal/length code",S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,e);if(a+=u[C+2],a+=d&o[h],C=3*(w+a),0===(h=u[C])){d>>=u[C+1],p-=u[C+1],c.ye[m++]=u[C+2],g--;break}}else d>>=u[C+1],p-=u[C+1],c.ye[m++]=u[C+2],g--}while(g>=258&&y>=10);return S=l.Qt-y,S=S>p>>3?p>>3:S,y+=S,b-=S,p-=S<<3,c.de=d,c.pe=p,l.Qt=y,l.te+=b-l.ae,l.ae=b,c.write=m,0}n.init=(t,e,n,o,c,l)=>{r=0,d=t,p=e,i=n,b=o,f=c,y=l,s=null},n.me=(n,g,k)=>{let v,S,_,z,C,I,x,A=0,V=0,B=0;for(B=g.ae,z=g.Qt,A=n.de,V=n.pe,C=n.write,I=C<n.read?n.read-C-1:n.end-C;;)switch(r){case 0:if(I>=258&&z>=10&&(n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,k=m(d,p,i,b,f,y,n,g),B=g.ae,z=g.Qt,A=n.de,V=n.pe,C=n.write,I=C<n.read?n.read-C-1:n.end-C,0!=k)){r=1==k?7:9;break}a=d,s=i,l=b,r=1;case 1:for(v=a;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(B++))<<V,V+=8}if(S=3*(l+(A&o[v])),A>>>=s[S+1],V-=s[S+1],_=s[S],0===_){u=s[S+2],r=6;break}if(0!=(16&_)){w=15&_,c=s[S+2],r=2;break}if(0==(64&_)){a=_,l=S/3+s[S+2];break}if(0!=(32&_)){r=7;break}return r=9,g.Zt="invalid literal/length code",k=e,n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);case 2:for(v=w;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(B++))<<V,V+=8}c+=A&o[v],A>>=v,V-=v,a=p,s=f,l=y,r=3;case 3:for(v=a;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(B++))<<V,V+=8}if(S=3*(l+(A&o[v])),A>>=s[S+1],V-=s[S+1],_=s[S],0!=(16&_)){w=15&_,h=s[S+2],r=4;break}if(0==(64&_)){a=_,l=S/3+s[S+2];break}return r=9,g.Zt="invalid distance code",k=e,n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);case 4:for(v=w;v>V;){if(0===z)return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);k=0,z--,A|=(255&g.be(B++))<<V,V+=8}h+=A&o[v],A>>=v,V-=v,r=5;case 5:for(x=C-h;0>x;)x+=n.end;for(;0!==c;){if(0===I&&(C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I&&(n.write=C,k=n.ge(g,k),C=n.write,I=C<n.read?n.read-C-1:n.end-C,C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I)))return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);n.ye[C++]=n.ye[x++],I--,x==n.end&&(x=0),c--}r=0;break;case 6:if(0===I&&(C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I&&(n.write=C,k=n.ge(g,k),C=n.write,I=C<n.read?n.read-C-1:n.end-C,C==n.end&&0!==n.read&&(C=0,I=C<n.read?n.read-C-1:n.end-C),0===I)))return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);k=0,n.ye[C++]=u,I--,r=0;break;case 7:if(V>7&&(V-=8,z++,B--),n.write=C,k=n.ge(g,k),C=n.write,I=C<n.read?n.read-C-1:n.end-C,n.read!=n.write)return n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);r=8;case 8:return k=1,n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);case 9:return k=e,n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k);default:return k=t,n.de=A,n.pe=V,g.Qt=z,g.te+=B-g.ae,g.ae=B,n.write=C,n.ge(g,k)}},n.ke=()=>{}}d.ve=(t,e,n,r)=>(t[0]=9,e[0]=5,n[0]=c,r[0]=l,0);const b=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function y(n,r){const c=this;let l,a=0,u=0,w=0,h=0;const y=[0],m=[0],g=new p;let k=0,v=new f(4320);const S=new d;c.pe=0,c.de=0,c.ye=new s(r),c.end=r,c.read=0,c.write=0,c.reset=(t,e)=>{e&&(e[0]=0),6==a&&g.ke(t),a=0,c.pe=0,c.de=0,c.read=c.write=0},c.reset(n,null),c.ge=(t,e)=>{let n,r,s;return r=t.ue,s=c.read,n=(s>c.write?c.end:c.write)-s,n>t.le&&(n=t.le),0!==n&&e==i&&(e=0),t.le-=n,t.ee+=n,t.fe.set(c.ye.subarray(s,s+n),r),r+=n,s+=n,s==c.end&&(s=0,c.write==c.end&&(c.write=0),n=c.write-s,n>t.le&&(n=t.le),0!==n&&e==i&&(e=0),t.le-=n,t.ee+=n,t.fe.set(c.ye.subarray(s,s+n),r),r+=n,s+=n),t.ue=r,c.read=s,e},c.me=(n,r)=>{let s,i,f,p,_,z,C,I;for(p=n.ae,_=n.Qt,i=c.de,f=c.pe,z=c.write,C=z<c.read?c.read-z-1:c.end-z;;){let x,A,V,B,D,E,M,P;switch(a){case 0:for(;3>f;){if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,i|=(255&n.be(p++))<<f,f+=8}switch(s=7&i,k=1&s,s>>>1){case 0:i>>>=3,f-=3,s=7&f,i>>>=s,f-=s,a=1;break;case 1:x=[],A=[],V=[[]],B=[[]],d.ve(x,A,V,B),g.init(x[0],A[0],V[0],0,B[0],0),i>>>=3,f-=3,a=6;break;case 2:i>>>=3,f-=3,a=3;break;case 3:return i>>>=3,f-=3,a=9,n.Zt="invalid block type",r=e,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r)}break;case 1:for(;32>f;){if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,i|=(255&n.be(p++))<<f,f+=8}if((~i>>>16&65535)!=(65535&i))return a=9,n.Zt="invalid stored block lengths",r=e,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);u=65535&i,i=f=0,a=0!==u?2:0!==k?7:0;break;case 2:if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);if(0===C&&(z==c.end&&0!==c.read&&(z=0,C=z<c.read?c.read-z-1:c.end-z),0===C&&(c.write=z,r=c.ge(n,r),z=c.write,C=z<c.read?c.read-z-1:c.end-z,z==c.end&&0!==c.read&&(z=0,C=z<c.read?c.read-z-1:c.end-z),0===C)))return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);if(r=0,s=u,s>_&&(s=_),s>C&&(s=C),c.ye.set(n.Xt(p,s),z),p+=s,_-=s,z+=s,C-=s,0!=(u-=s))break;a=0!==k?7:0;break;case 3:for(;14>f;){if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,i|=(255&n.be(p++))<<f,f+=8}if(w=s=16383&i,(31&s)>29||(s>>5&31)>29)return a=9,n.Zt="too many length or distance symbols",r=e,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);if(s=258+(31&s)+(s>>5&31),!l||l.length<s)l=[];else for(I=0;s>I;I++)l[I]=0;i>>>=14,f-=14,h=0,a=4;case 4:for(;4+(w>>>10)>h;){for(;3>f;){if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,i|=(255&n.be(p++))<<f,f+=8}l[b[h++]]=7&i,i>>>=3,f-=3}for(;19>h;)l[b[h++]]=0;if(y[0]=7,s=S.we(l,y,m,v,n),0!=s)return(r=s)==e&&(l=null,a=9),c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);h=0,a=5;case 5:for(;s=w,258+(31&s)+(s>>5&31)>h;){let t,u;for(s=y[0];s>f;){if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,i|=(255&n.be(p++))<<f,f+=8}if(s=v[3*(m[0]+(i&o[s]))+1],u=v[3*(m[0]+(i&o[s]))+2],16>u)i>>>=s,f-=s,l[h++]=u;else{for(I=18==u?7:u-14,t=18==u?11:3;s+I>f;){if(0===_)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);r=0,_--,i|=(255&n.be(p++))<<f,f+=8}if(i>>>=s,f-=s,t+=i&o[I],i>>>=I,f-=I,I=h,s=w,I+t>258+(31&s)+(s>>5&31)||16==u&&1>I)return l=null,a=9,n.Zt="invalid bit length repeat",r=e,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);u=16==u?l[I-1]:0;do{l[I++]=u}while(0!=--t);h=I}}if(m[0]=-1,D=[],E=[],M=[],P=[],D[0]=9,E[0]=6,s=w,s=S.he(257+(31&s),1+(s>>5&31),l,D,E,M,P,v,n),0!=s)return s==e&&(l=null,a=9),r=s,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);g.init(D[0],E[0],v,M[0],v,P[0]),a=6;case 6:if(c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,1!=(r=g.me(c,n,r)))return c.ge(n,r);if(r=0,g.ke(n),p=n.ae,_=n.Qt,i=c.de,f=c.pe,z=c.write,C=z<c.read?c.read-z-1:c.end-z,0===k){a=0;break}a=7;case 7:if(c.write=z,r=c.ge(n,r),z=c.write,C=z<c.read?c.read-z-1:c.end-z,c.read!=c.write)return c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);a=8;case 8:return r=1,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);case 9:return r=e,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r);default:return r=t,c.de=i,c.pe=f,n.Qt=_,n.te+=p-n.ae,n.ae=p,c.write=z,c.ge(n,r)}}},c.ke=t=>{c.reset(t,null),c.ye=null,v=null},c.Se=(t,e,n)=>{c.ye.set(t.subarray(e,e+n),0),c.read=c.write=n},c._e=()=>1==a?1:0}const m=13,g=[0,0,255,255];function k(){const n=this;function r(e){return e&&e.ze?(e.te=e.ee=0,e.Zt=null,e.ze.mode=7,e.ze.Ce.reset(e,null),0):t}n.mode=0,n.method=0,n.Ie=[0],n.xe=0,n.marker=0,n.Ae=0,n.Ve=t=>(n.Ce&&n.Ce.ke(t),n.Ce=null,0),n.Be=(e,s)=>(e.Zt=null,n.Ce=null,8>s||s>15?(n.Ve(e),t):(n.Ae=s,e.ze.Ce=new y(e,1<<s),r(e),0)),n.De=(n,r)=>{let s,o;if(!n||!n.ze||!n.ce)return t;const f=n.ze;for(r=4==r?i:0,s=i;;)switch(f.mode){case 0:if(0===n.Qt)return s;if(s=r,n.Qt--,n.te++,8!=(15&(f.method=n.be(n.ae++)))){f.mode=m,n.Zt="unknown compression method",f.marker=5;break}if(8+(f.method>>4)>f.Ae){f.mode=m,n.Zt="invalid win size",f.marker=5;break}f.mode=1;case 1:if(0===n.Qt)return s;if(s=r,n.Qt--,n.te++,o=255&n.be(n.ae++),((f.method<<8)+o)%31!=0){f.mode=m,n.Zt="incorrect header check",f.marker=5;break}if(0==(32&o)){f.mode=7;break}f.mode=2;case 2:if(0===n.Qt)return s;s=r,n.Qt--,n.te++,f.xe=(255&n.be(n.ae++))<<24&4278190080,f.mode=3;case 3:if(0===n.Qt)return s;s=r,n.Qt--,n.te++,f.xe+=(255&n.be(n.ae++))<<16&16711680,f.mode=4;case 4:if(0===n.Qt)return s;s=r,n.Qt--,n.te++,f.xe+=(255&n.be(n.ae++))<<8&65280,f.mode=5;case 5:return 0===n.Qt?s:(s=r,n.Qt--,n.te++,f.xe+=255&n.be(n.ae++),f.mode=6,2);case 6:return f.mode=m,n.Zt="need dictionary",f.marker=0,t;case 7:if(s=f.Ce.me(n,s),s==e){f.mode=m,f.marker=0;break}if(0==s&&(s=r),1!=s)return s;s=r,f.Ce.reset(n,f.Ie),f.mode=12;case 12:return n.Qt=0,1;case m:return e;default:return t}},n.Ee=(e,n,r)=>{let s=0,i=r;if(!e||!e.ze||6!=e.ze.mode)return t;const o=e.ze;return i<1<<o.Ae||(i=(1<<o.Ae)-1,s=r-i),o.Ce.Se(n,s,i),o.mode=7,0},n.Me=n=>{let s,o,f,c,l;if(!n||!n.ze)return t;const a=n.ze;if(a.mode!=m&&(a.mode=m,a.marker=0),0===(s=n.Qt))return i;for(o=n.ae,f=a.marker;0!==s&&4>f;)n.be(o)==g[f]?f++:f=0!==n.be(o)?0:4-f,o++,s--;return n.te+=o-n.ae,n.ae=o,n.Qt=s,a.marker=f,4!=f?e:(c=n.te,l=n.ee,r(n),n.te=c,n.ee=l,a.mode=7,0)},n.Pe=e=>e&&e.ze&&e.ze.Ce?e.ze.Ce._e():t}function v(){}return v.prototype={Be(t){const e=this;return e.ze=new k,t||(t=15),e.ze.Be(e,t)},De(e){const n=this;return n.ze?n.ze.De(n,e):t},Ve(){const e=this;if(!e.ze)return t;const n=e.ze.Ve(e);return e.ze=null,n},Me(){const e=this;return e.ze?e.ze.Me(e):t},Ee(e,n){const r=this;return r.ze?r.ze.Ee(r,e,n):t},be(t){return this.ce[t]},Xt(t,e){return this.ce.subarray(t,t+e)}},function(t){const e=new v,o=t&&t.chunkSize?n.floor(2*t.chunkSize):131072,f=new s(o);let c=!1;e.Be(),e.fe=f,this.append=(t,n)=>{const l=[];let a,u,w=0,h=0,d=0;if(0!==t.length){e.ae=0,e.ce=t,e.Qt=t.length;do{if(e.ue=0,e.le=o,0!==e.Qt||c||(e.ae=0,c=!0),a=e.De(0),c&&a===i){if(0!==e.Qt)throw new r("inflating: bad input")}else if(0!==a&&1!==a)throw new r("inflating: "+e.Zt);if((c||1===a)&&e.Qt===t.length)throw new r("inflating: bad input");e.ue&&(e.ue===o?l.push(new s(f)):l.push(f.slice(0,e.ue))),d+=e.ue,n&&e.ae>0&&e.ae!=w&&(n(e.ae),w=e.ae)}while(e.Qt>0||0===e.le);return l.length>1?(u=new s(d),l.forEach((t=>{u.set(t,h),h+=t.length}))):u=l[0]||new s,u}},this.flush=()=>{e.Ve()}}})();self.initCodec=()=>{self.Deflate=kt,self.Inflate=vt};\n'],{type:"text/javascript"}));e({workerScripts:{inflate:[t],deflate:[t]}});}};
|
|
4340
4352
|
|
|
4341
4353
|
/*
|
|
4342
4354
|
Copyright (c) 2022 Gildas Lormeau. All rights reserved.
|
|
@@ -4432,7 +4444,7 @@
|
|
|
4432
4444
|
return getResponse(this);
|
|
4433
4445
|
}
|
|
4434
4446
|
flush() {
|
|
4435
|
-
this.codec.push(new Uint8Array(
|
|
4447
|
+
this.codec.push(new Uint8Array(), true);
|
|
4436
4448
|
return getResponse(this);
|
|
4437
4449
|
}
|
|
4438
4450
|
};
|
|
@@ -4443,7 +4455,7 @@
|
|
|
4443
4455
|
codec.pendingData = null;
|
|
4444
4456
|
return output;
|
|
4445
4457
|
} else {
|
|
4446
|
-
return new Uint8Array(
|
|
4458
|
+
return new Uint8Array();
|
|
4447
4459
|
}
|
|
4448
4460
|
}
|
|
4449
4461
|
}
|
|
@@ -5483,7 +5495,7 @@
|
|
|
5483
5495
|
password,
|
|
5484
5496
|
signed,
|
|
5485
5497
|
strength: strength - 1,
|
|
5486
|
-
pending: new Uint8Array(
|
|
5498
|
+
pending: new Uint8Array()
|
|
5487
5499
|
});
|
|
5488
5500
|
},
|
|
5489
5501
|
async transform(chunk, controller) {
|
|
@@ -5509,7 +5521,7 @@
|
|
|
5509
5521
|
const pending = aesCrypto.pending;
|
|
5510
5522
|
const chunkToDecrypt = subarray(pending, 0, pending.length - SIGNATURE_LENGTH);
|
|
5511
5523
|
const originalSignature = subarray(pending, pending.length - SIGNATURE_LENGTH);
|
|
5512
|
-
let decryptedChunkArray = new Uint8Array(
|
|
5524
|
+
let decryptedChunkArray = new Uint8Array();
|
|
5513
5525
|
if (chunkToDecrypt.length) {
|
|
5514
5526
|
const encryptedChunk = toBits(codecBytes, chunkToDecrypt);
|
|
5515
5527
|
aesCrypto.hmac.update(encryptedChunk);
|
|
@@ -5542,12 +5554,12 @@
|
|
|
5542
5554
|
ready: new Promise(resolve => this.resolveReady = resolve),
|
|
5543
5555
|
password,
|
|
5544
5556
|
strength: strength - 1,
|
|
5545
|
-
pending: new Uint8Array(
|
|
5557
|
+
pending: new Uint8Array()
|
|
5546
5558
|
});
|
|
5547
5559
|
},
|
|
5548
5560
|
async transform(chunk, controller) {
|
|
5549
5561
|
const aesCrypto = this;
|
|
5550
|
-
let preamble = new Uint8Array(
|
|
5562
|
+
let preamble = new Uint8Array();
|
|
5551
5563
|
if (aesCrypto.password) {
|
|
5552
5564
|
const password = aesCrypto.password;
|
|
5553
5565
|
aesCrypto.password = null;
|
|
@@ -5565,7 +5577,7 @@
|
|
|
5565
5577
|
async flush(controller) {
|
|
5566
5578
|
const aesCrypto = this;
|
|
5567
5579
|
await aesCrypto.ready;
|
|
5568
|
-
let encryptedChunkArray = new Uint8Array(
|
|
5580
|
+
let encryptedChunkArray = new Uint8Array();
|
|
5569
5581
|
if (aesCrypto.pending.length) {
|
|
5570
5582
|
const encryptedChunk = aesCrypto.ctr.update(toBits(codecBytes, aesCrypto.pending));
|
|
5571
5583
|
aesCrypto.hmac.update(encryptedChunk);
|
|
@@ -6199,14 +6211,15 @@
|
|
|
6199
6211
|
|
|
6200
6212
|
function createWorkerInterface(workerData, config) {
|
|
6201
6213
|
const interfaceCodec = createCodec(workerData.codecConstructor, workerData.readable, workerData.writable, workerData.options, config);
|
|
6214
|
+
const { onTaskFinished } = workerData;
|
|
6202
6215
|
const codec = {
|
|
6203
6216
|
abort() {
|
|
6204
6217
|
interfaceCodec.abort();
|
|
6205
|
-
|
|
6218
|
+
onTaskFinished();
|
|
6206
6219
|
},
|
|
6207
|
-
run() {
|
|
6208
|
-
const result = interfaceCodec.run();
|
|
6209
|
-
|
|
6220
|
+
async run() {
|
|
6221
|
+
const result = await interfaceCodec.run();
|
|
6222
|
+
onTaskFinished();
|
|
6210
6223
|
return result;
|
|
6211
6224
|
}
|
|
6212
6225
|
};
|
|
@@ -6215,11 +6228,15 @@
|
|
|
6215
6228
|
|
|
6216
6229
|
function createWebWorkerInterface(workerData, { baseURL, chunkSize }) {
|
|
6217
6230
|
const workerOptions = { type: "module" };
|
|
6218
|
-
|
|
6219
|
-
workerData
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6231
|
+
const { readable, writable } = workerData;
|
|
6232
|
+
Object.assign(workerData, {
|
|
6233
|
+
reader: readable.getReader(),
|
|
6234
|
+
writer: writable.getWriter(),
|
|
6235
|
+
result: new Promise((resolve, reject) => {
|
|
6236
|
+
workerData.resolveResult = resolve;
|
|
6237
|
+
workerData.rejectResult = reject;
|
|
6238
|
+
}),
|
|
6239
|
+
aborted: false
|
|
6223
6240
|
});
|
|
6224
6241
|
if (!workerData.interface) {
|
|
6225
6242
|
if (!classicWorkersSupported) {
|
|
@@ -6235,6 +6252,7 @@
|
|
|
6235
6252
|
workerData.worker.addEventListener(MESSAGE_EVENT_TYPE, onMessage, false);
|
|
6236
6253
|
workerData.interface = {
|
|
6237
6254
|
abort() {
|
|
6255
|
+
workerData.aborted = true;
|
|
6238
6256
|
sendMessage({ type: MESSAGE_ABORT });
|
|
6239
6257
|
workerData.writer.releaseLock();
|
|
6240
6258
|
workerData.onTaskFinished();
|
|
@@ -6264,12 +6282,13 @@
|
|
|
6264
6282
|
}
|
|
6265
6283
|
|
|
6266
6284
|
function sendMessage(message) {
|
|
6267
|
-
const { worker } = workerData;
|
|
6285
|
+
const { worker, writer, onTaskFinished } = workerData;
|
|
6268
6286
|
try {
|
|
6269
6287
|
let { data } = message;
|
|
6270
6288
|
if (data) {
|
|
6271
6289
|
try {
|
|
6272
|
-
|
|
6290
|
+
const { buffer, length } = data;
|
|
6291
|
+
if (length != buffer.byteLength) {
|
|
6273
6292
|
data = new Uint8Array(data);
|
|
6274
6293
|
}
|
|
6275
6294
|
message.data = data.buffer;
|
|
@@ -6281,43 +6300,48 @@
|
|
|
6281
6300
|
worker.postMessage(message);
|
|
6282
6301
|
}
|
|
6283
6302
|
} catch (error) {
|
|
6284
|
-
|
|
6285
|
-
|
|
6303
|
+
writer.releaseLock();
|
|
6304
|
+
onTaskFinished();
|
|
6286
6305
|
throw error;
|
|
6287
6306
|
}
|
|
6288
6307
|
}
|
|
6289
6308
|
|
|
6290
6309
|
async function onMessage(event) {
|
|
6291
6310
|
const message = event.data;
|
|
6311
|
+
const { reader, writer, resolveResult, rejectResult, onTaskFinished } = workerData;
|
|
6312
|
+
const { type, data, messageId, result } = message;
|
|
6292
6313
|
const reponseError = message.error;
|
|
6293
6314
|
try {
|
|
6294
6315
|
if (reponseError) {
|
|
6295
|
-
const
|
|
6296
|
-
error
|
|
6297
|
-
|
|
6298
|
-
|
|
6299
|
-
workerData.onTaskFinished();
|
|
6316
|
+
const { message, stack } = reponseError;
|
|
6317
|
+
const error = new Error(message);
|
|
6318
|
+
error.stack = stack;
|
|
6319
|
+
close(error);
|
|
6300
6320
|
} else {
|
|
6301
|
-
if (
|
|
6302
|
-
const { value, done } = await
|
|
6303
|
-
sendMessage({ type: MESSAGE_DATA, data: value, done, messageId
|
|
6321
|
+
if (type == MESSAGE_PULL) {
|
|
6322
|
+
const { value, done } = await reader.read();
|
|
6323
|
+
sendMessage({ type: MESSAGE_DATA, data: value, done, messageId });
|
|
6304
6324
|
}
|
|
6305
|
-
if (
|
|
6306
|
-
|
|
6307
|
-
|
|
6308
|
-
await workerData.writer.ready;
|
|
6309
|
-
await workerData.writer.write(data);
|
|
6325
|
+
if (type == MESSAGE_DATA) {
|
|
6326
|
+
await writer.ready;
|
|
6327
|
+
await writer.write(new Uint8Array(data));
|
|
6310
6328
|
}
|
|
6311
|
-
if (
|
|
6312
|
-
|
|
6313
|
-
workerData.writer.releaseLock();
|
|
6314
|
-
workerData.onTaskFinished();
|
|
6329
|
+
if (type == MESSAGE_CLOSE) {
|
|
6330
|
+
close(null, result);
|
|
6315
6331
|
}
|
|
6316
6332
|
}
|
|
6317
6333
|
} catch (error) {
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6334
|
+
close(error);
|
|
6335
|
+
}
|
|
6336
|
+
|
|
6337
|
+
function close(error, result) {
|
|
6338
|
+
if (error && !workerData.aborted) {
|
|
6339
|
+
rejectResult(error);
|
|
6340
|
+
} else {
|
|
6341
|
+
resolveResult(result);
|
|
6342
|
+
}
|
|
6343
|
+
writer.releaseLock();
|
|
6344
|
+
onTaskFinished();
|
|
6321
6345
|
}
|
|
6322
6346
|
}
|
|
6323
6347
|
}
|
|
@@ -6358,11 +6382,12 @@
|
|
|
6358
6382
|
async function runWorker(stream, workerOptions) {
|
|
6359
6383
|
const { options, config, streamOptions } = workerOptions;
|
|
6360
6384
|
const streamCopy = !options.compressed && !options.signed && !options.encrypted;
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6385
|
+
const { useWebWorkers, useCompressionStream, codecType } = options;
|
|
6386
|
+
const { workerScripts } = config;
|
|
6387
|
+
workerOptions.webWorker = !streamCopy && (useWebWorkers || (useWebWorkers === undefined && config.useWebWorkers));
|
|
6388
|
+
workerOptions.scripts = workerOptions.webWorker && workerScripts ? workerScripts[codecType] : [];
|
|
6389
|
+
options.useCompressionStream = useCompressionStream === undefined ? config.useCompressionStream : useCompressionStream;
|
|
6364
6390
|
let codec;
|
|
6365
|
-
|
|
6366
6391
|
if (pool.length < config.maxWorkers) {
|
|
6367
6392
|
const workerData = { indexWorker };
|
|
6368
6393
|
indexWorker++;
|
|
@@ -6394,12 +6419,13 @@
|
|
|
6394
6419
|
const [{ resolve, stream, workerOptions }] = pendingRequests.splice(0, 1);
|
|
6395
6420
|
resolve(getWorker(workerData, stream, workerOptions, onTaskFinished));
|
|
6396
6421
|
} else if (workerData.worker) {
|
|
6422
|
+
const { terminateWorkerTimeout } = config;
|
|
6397
6423
|
clearTerminateTimeout(workerData);
|
|
6398
|
-
if (Number.isFinite(
|
|
6424
|
+
if (Number.isFinite(terminateWorkerTimeout) && terminateWorkerTimeout >= 0) {
|
|
6399
6425
|
workerData.terminateTimeout = setTimeout(() => {
|
|
6400
6426
|
pool = pool.filter(data => data != workerData);
|
|
6401
6427
|
workerData.terminate();
|
|
6402
|
-
},
|
|
6428
|
+
}, terminateWorkerTimeout);
|
|
6403
6429
|
}
|
|
6404
6430
|
} else {
|
|
6405
6431
|
pool = pool.filter(data => data != workerData);
|
|
@@ -6408,8 +6434,9 @@
|
|
|
6408
6434
|
}
|
|
6409
6435
|
|
|
6410
6436
|
function clearTerminateTimeout(workerData) {
|
|
6411
|
-
|
|
6412
|
-
|
|
6437
|
+
const { terminateTimeout } = workerData;
|
|
6438
|
+
if (terminateTimeout) {
|
|
6439
|
+
clearTimeout(terminateTimeout);
|
|
6413
6440
|
workerData.terminateTimeout = null;
|
|
6414
6441
|
}
|
|
6415
6442
|
}
|
|
@@ -6449,7 +6476,7 @@
|
|
|
6449
6476
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
6450
6477
|
*/
|
|
6451
6478
|
|
|
6452
|
-
/* global Blob,
|
|
6479
|
+
/* global Blob, atob, btoa, XMLHttpRequest, document, fetch, ReadableStream, WritableStream, TransformStream */
|
|
6453
6480
|
|
|
6454
6481
|
const ERR_HTTP_STATUS = "HTTP error ";
|
|
6455
6482
|
const ERR_HTTP_RANGE = "HTTP Range not supported";
|
|
@@ -6550,16 +6577,7 @@
|
|
|
6550
6577
|
|
|
6551
6578
|
getData() {
|
|
6552
6579
|
const writer = this;
|
|
6553
|
-
|
|
6554
|
-
return writer.blob.text();
|
|
6555
|
-
} else {
|
|
6556
|
-
const reader = new FileReader();
|
|
6557
|
-
return new Promise((resolve, reject) => {
|
|
6558
|
-
reader.onload = event => resolve(event.target.result);
|
|
6559
|
-
reader.onerror = () => reject(reader.error);
|
|
6560
|
-
reader.readAsText(writer.blob, writer.encoding);
|
|
6561
|
-
});
|
|
6562
|
-
}
|
|
6580
|
+
return writer.blob.text();
|
|
6563
6581
|
}
|
|
6564
6582
|
}
|
|
6565
6583
|
|
|
@@ -6633,16 +6651,7 @@
|
|
|
6633
6651
|
|
|
6634
6652
|
async readUint8Array(offset, length) {
|
|
6635
6653
|
const reader = this;
|
|
6636
|
-
|
|
6637
|
-
return new Uint8Array(await reader.blob.slice(offset, offset + length).arrayBuffer());
|
|
6638
|
-
} else {
|
|
6639
|
-
const reader = new FileReader();
|
|
6640
|
-
return new Promise((resolve, reject) => {
|
|
6641
|
-
reader.onload = event => resolve(new Uint8Array(event.target.result));
|
|
6642
|
-
reader.onerror = () => reject(reader.error);
|
|
6643
|
-
reader.readAsArrayBuffer(reader.blob.slice(offset, offset + length));
|
|
6644
|
-
});
|
|
6645
|
-
}
|
|
6654
|
+
return new Uint8Array(await reader.blob.slice(offset, offset + length).arrayBuffer());
|
|
6646
6655
|
}
|
|
6647
6656
|
}
|
|
6648
6657
|
|
|
@@ -6690,9 +6699,12 @@
|
|
|
6690
6699
|
|
|
6691
6700
|
class ReadableStreamReader {
|
|
6692
6701
|
|
|
6693
|
-
constructor(
|
|
6702
|
+
constructor(readable) {
|
|
6694
6703
|
const reader = this;
|
|
6695
|
-
|
|
6704
|
+
if (!readable) {
|
|
6705
|
+
readable = new ReadableStream({});
|
|
6706
|
+
}
|
|
6707
|
+
reader.readable = readable.pipeThrough(new TransformStream({
|
|
6696
6708
|
transform(chunk, controller) {
|
|
6697
6709
|
if (chunk) {
|
|
6698
6710
|
reader.size += chunk.length;
|
|
@@ -6708,14 +6720,18 @@
|
|
|
6708
6720
|
}
|
|
6709
6721
|
|
|
6710
6722
|
getReadable() {
|
|
6711
|
-
return this.
|
|
6723
|
+
return this.readable;
|
|
6712
6724
|
}
|
|
6713
6725
|
}
|
|
6714
6726
|
|
|
6715
6727
|
class WritableStreamWriter extends Writer {
|
|
6716
6728
|
|
|
6717
|
-
constructor(writable) {
|
|
6729
|
+
constructor(writable, { preventClose } = {}) {
|
|
6718
6730
|
super();
|
|
6731
|
+
this.preventClose = preventClose;
|
|
6732
|
+
if (!writable) {
|
|
6733
|
+
writable = new WritableStream({});
|
|
6734
|
+
}
|
|
6719
6735
|
Object.defineProperty(this, "writable", {
|
|
6720
6736
|
get() {
|
|
6721
6737
|
return writable;
|
|
@@ -6723,16 +6739,13 @@
|
|
|
6723
6739
|
});
|
|
6724
6740
|
}
|
|
6725
6741
|
|
|
6726
|
-
async writeUint8Array(array) {
|
|
6727
|
-
await this.writer.ready;
|
|
6728
|
-
const writer = this.writable.getWriter();
|
|
6729
|
-
await writer.write(array);
|
|
6730
|
-
writer.releaseLock();
|
|
6731
|
-
}
|
|
6732
|
-
|
|
6733
6742
|
async getData() {
|
|
6734
|
-
|
|
6735
|
-
|
|
6743
|
+
const writer = this;
|
|
6744
|
+
const { writable } = writer;
|
|
6745
|
+
if (!writer.preventClose) {
|
|
6746
|
+
await writable.getWriter().close();
|
|
6747
|
+
}
|
|
6748
|
+
return writable;
|
|
6736
6749
|
}
|
|
6737
6750
|
}
|
|
6738
6751
|
|
|
@@ -6966,7 +6979,7 @@
|
|
|
6966
6979
|
|
|
6967
6980
|
constructor() {
|
|
6968
6981
|
super();
|
|
6969
|
-
this.array = new Uint8Array(
|
|
6982
|
+
this.array = new Uint8Array();
|
|
6970
6983
|
}
|
|
6971
6984
|
|
|
6972
6985
|
writeUint8Array(array) {
|
|
@@ -7132,13 +7145,6 @@
|
|
|
7132
7145
|
function decodeText(value, encoding) {
|
|
7133
7146
|
if (encoding && encoding.trim().toLowerCase() == "cp437") {
|
|
7134
7147
|
return decodeCP437(value);
|
|
7135
|
-
} else if (typeof TextDecoder == "undefined") {
|
|
7136
|
-
const fileReader = new FileReader();
|
|
7137
|
-
return new Promise((resolve, reject) => {
|
|
7138
|
-
fileReader.onload = event => resolve(event.target.result);
|
|
7139
|
-
fileReader.onerror = () => reject(fileReader.error);
|
|
7140
|
-
fileReader.readAsText(new Blob([value]));
|
|
7141
|
-
});
|
|
7142
7148
|
} else {
|
|
7143
7149
|
return new TextDecoder(encoding).decode(value);
|
|
7144
7150
|
}
|
|
@@ -7801,7 +7807,7 @@
|
|
|
7801
7807
|
}
|
|
7802
7808
|
}
|
|
7803
7809
|
|
|
7804
|
-
async close(comment = new Uint8Array(
|
|
7810
|
+
async close(comment = new Uint8Array(), options = {}) {
|
|
7805
7811
|
while (this.pendingAddFileCalls.size) {
|
|
7806
7812
|
await Promise.all(Array.from(this.pendingAddFileCalls));
|
|
7807
7813
|
}
|
|
@@ -7846,7 +7852,7 @@
|
|
|
7846
7852
|
if (password !== undefined && encryptionStrength !== undefined && (encryptionStrength < 1 || encryptionStrength > 3)) {
|
|
7847
7853
|
throw new Error(ERR_INVALID_ENCRYPTION_STRENGTH);
|
|
7848
7854
|
}
|
|
7849
|
-
let rawExtraField = new Uint8Array(
|
|
7855
|
+
let rawExtraField = new Uint8Array();
|
|
7850
7856
|
const { extraField } = options;
|
|
7851
7857
|
if (extraField) {
|
|
7852
7858
|
let extraFieldSize = 0;
|
|
@@ -8073,7 +8079,7 @@
|
|
|
8073
8079
|
arraySet(rawExtraFieldAES, EXTRAFIELD_DATA_AES, 2);
|
|
8074
8080
|
setUint8(extraFieldAESView, 8, encryptionStrength);
|
|
8075
8081
|
} else {
|
|
8076
|
-
rawExtraFieldAES = new Uint8Array(
|
|
8082
|
+
rawExtraFieldAES = new Uint8Array();
|
|
8077
8083
|
}
|
|
8078
8084
|
let rawExtraFieldNTFS;
|
|
8079
8085
|
let rawExtraFieldExtendedTimestamp;
|
|
@@ -8103,10 +8109,10 @@
|
|
|
8103
8109
|
setBigUint64(extraFieldNTFSView, 20, getTimeNTFS(lastAccessDate) || lastModTimeNTFS);
|
|
8104
8110
|
setBigUint64(extraFieldNTFSView, 28, getTimeNTFS(creationDate) || lastModTimeNTFS);
|
|
8105
8111
|
} catch (_error) {
|
|
8106
|
-
rawExtraFieldNTFS = new Uint8Array(
|
|
8112
|
+
rawExtraFieldNTFS = new Uint8Array();
|
|
8107
8113
|
}
|
|
8108
8114
|
} else {
|
|
8109
|
-
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array(
|
|
8115
|
+
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array();
|
|
8110
8116
|
}
|
|
8111
8117
|
const fileEntry = {
|
|
8112
8118
|
version: version || VERSION_DEFLATE,
|
|
@@ -8117,7 +8123,7 @@
|
|
|
8117
8123
|
rawFilename,
|
|
8118
8124
|
commentUTF8: true,
|
|
8119
8125
|
rawComment,
|
|
8120
|
-
rawExtraFieldZip64: zip64 ? new Uint8Array(EXTRAFIELD_LENGTH_ZIP64 + 4) : new Uint8Array(
|
|
8126
|
+
rawExtraFieldZip64: zip64 ? new Uint8Array(EXTRAFIELD_LENGTH_ZIP64 + 4) : new Uint8Array(),
|
|
8121
8127
|
rawExtraFieldExtendedTimestamp,
|
|
8122
8128
|
rawExtraFieldNTFS,
|
|
8123
8129
|
rawExtraFieldAES,
|
|
@@ -8213,7 +8219,7 @@
|
|
|
8213
8219
|
await writeUint8Array(writable, localHeaderArray);
|
|
8214
8220
|
fileEntry.dataWritten = true;
|
|
8215
8221
|
}
|
|
8216
|
-
let dataDescriptorArray = new Uint8Array(
|
|
8222
|
+
let dataDescriptorArray = new Uint8Array();
|
|
8217
8223
|
let dataDescriptorView, dataDescriptorOffset = 0;
|
|
8218
8224
|
if (dataDescriptor) {
|
|
8219
8225
|
dataDescriptorArray = new Uint8Array(zip64 ? (dataDescriptorSignature ? 24 : 20) : (dataDescriptorSignature ? 16 : 12));
|
|
@@ -8320,7 +8326,7 @@
|
|
|
8320
8326
|
setUint8(extraFieldExtendedTimestampView, 4, 0x1);
|
|
8321
8327
|
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(fileEntry.lastModDate.getTime() / 1000));
|
|
8322
8328
|
} else {
|
|
8323
|
-
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array(
|
|
8329
|
+
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array();
|
|
8324
8330
|
}
|
|
8325
8331
|
const extraFieldLength = rawExtraFieldZip64.length + rawExtraFieldAES.length + rawExtraFieldExtendedTimestamp.length + rawExtraFieldNTFS.length + rawExtraField.length;
|
|
8326
8332
|
setUint32(directoryView, offset, CENTRAL_FILE_HEADER_SIGNATURE);
|
|
@@ -8385,19 +8391,10 @@
|
|
|
8385
8391
|
}
|
|
8386
8392
|
|
|
8387
8393
|
function sliceAsArrayBuffer(blob, start, end) {
|
|
8388
|
-
if (
|
|
8389
|
-
|
|
8390
|
-
return blob.slice(start, end).arrayBuffer();
|
|
8391
|
-
} else {
|
|
8392
|
-
return blob.arrayBuffer();
|
|
8393
|
-
}
|
|
8394
|
+
if (start || end) {
|
|
8395
|
+
return blob.slice(start, end).arrayBuffer();
|
|
8394
8396
|
} else {
|
|
8395
|
-
|
|
8396
|
-
return new Promise((resolve, reject) => {
|
|
8397
|
-
fileReader.onload = event => resolve(event.target.result);
|
|
8398
|
-
fileReader.onerror = () => reject(fileReader.error);
|
|
8399
|
-
fileReader.readAsArrayBuffer(start || end ? blob.slice(start, end) : blob);
|
|
8400
|
-
});
|
|
8397
|
+
return blob.arrayBuffer();
|
|
8401
8398
|
}
|
|
8402
8399
|
}
|
|
8403
8400
|
|