@zip.js/zip.js 2.8.36 → 2.8.38
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/deno.json +4 -2
- package/dist/zip-core.js +356 -63
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core.js +301 -63
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-native.js +359 -66
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +357 -64
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +358 -65
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +359 -66
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +357 -64
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +359 -66
- package/index-native.min.js +1 -1
- package/index.cjs +357 -64
- package/index.d.cts +126 -4
- package/index.d.ts +126 -4
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +21 -4
- package/lib/core/codec-registry.js +116 -0
- package/lib/core/codec-worker.js +94 -18
- package/lib/core/configuration.js +2 -0
- package/lib/core/constants.js +5 -1
- package/lib/core/options.js +2 -0
- package/lib/core/streams/codec-stream.js +6 -2
- package/lib/core/streams/zip-entry-stream.js +50 -16
- package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
- package/lib/core/web-worker-base.js +30 -8
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-reader.js +29 -3
- package/lib/core/zip-writer.js +68 -25
- package/lib/zip-core-base.js +7 -0
- package/lib/zip-core-reader.js +2 -1
- package/lib/zip-core-writer.js +1 -0
- package/package.json +1 -1
- package/worker-message-property-names.js +1 -1
package/index-native.cjs
CHANGED
|
@@ -40,6 +40,7 @@ const COMPRESSION_METHOD_AES = 0x63;
|
|
|
40
40
|
const LOCAL_FILE_HEADER_SIGNATURE = 0x04034b50;
|
|
41
41
|
const SPLIT_ZIP_FILE_SIGNATURE = 0x08074b50;
|
|
42
42
|
const DATA_DESCRIPTOR_RECORD_SIGNATURE = SPLIT_ZIP_FILE_SIGNATURE;
|
|
43
|
+
const ARCHIVE_EXTRA_DATA_SIGNATURE = 0x08064b50;
|
|
43
44
|
const CENTRAL_FILE_HEADER_SIGNATURE = 0x02014b50;
|
|
44
45
|
const END_OF_CENTRAL_DIR_SIGNATURE = 0x06054b50;
|
|
45
46
|
const ZIP64_END_OF_CENTRAL_DIR_SIGNATURE = 0x06064b50;
|
|
@@ -71,6 +72,7 @@ const BITFLAG_LEVEL_MAX_MASK = 0b010;
|
|
|
71
72
|
const BITFLAG_LEVEL_FAST_MASK = 0b100;
|
|
72
73
|
const BITFLAG_LEVEL_SUPER_FAST_MASK = 0b110;
|
|
73
74
|
const BITFLAG_DATA_DESCRIPTOR = 0b1000;
|
|
75
|
+
const BITFLAG_STRONG_ENCRYPTION = 0b1000000;
|
|
74
76
|
const BITFLAG_LANG_ENCODING_FLAG = 0b100000000000;
|
|
75
77
|
const FILE_ATTR_MSDOS_DIR_MASK = 0b10000;
|
|
76
78
|
const FILE_ATTR_MSDOS_READONLY_MASK = 0x01;
|
|
@@ -98,7 +100,7 @@ const HEADER_OFFSET_COMPRESSED_SIZE = 14;
|
|
|
98
100
|
const HEADER_OFFSET_UNCOMPRESSED_SIZE = 18;
|
|
99
101
|
const LOCAL_HEADER_COMMON_OFFSET = 4;
|
|
100
102
|
|
|
101
|
-
const MAX_DATE = new Date(2107, 11, 31);
|
|
103
|
+
const MAX_DATE = new Date(2107, 11, 31, 23, 59, 58);
|
|
102
104
|
const MIN_DATE = new Date(1980, 0, 1);
|
|
103
105
|
|
|
104
106
|
const UNDEFINED_VALUE = undefined;
|
|
@@ -154,6 +156,7 @@ const DEFAULT_CONFIGURATION = {
|
|
|
154
156
|
maxWorkers,
|
|
155
157
|
terminateWorkerTimeout: 5000,
|
|
156
158
|
workerStarvationTimeout: 5000,
|
|
159
|
+
workerStartupTimeout: 5000,
|
|
157
160
|
useWebWorkers: true,
|
|
158
161
|
useCompressionStream: true,
|
|
159
162
|
transferStreams: true,
|
|
@@ -169,6 +172,7 @@ const CONFIGURABLE_PROPERTY_NAMES = [
|
|
|
169
172
|
"maxWorkers",
|
|
170
173
|
"terminateWorkerTimeout",
|
|
171
174
|
"workerStarvationTimeout",
|
|
175
|
+
"workerStartupTimeout",
|
|
172
176
|
"useCompressionStream",
|
|
173
177
|
"useWebWorkers",
|
|
174
178
|
"transferStreams",
|
|
@@ -214,7 +218,104 @@ function resetConfiguration() {
|
|
|
214
218
|
Object.assign(config, DEFAULT_CONFIGURATION);
|
|
215
219
|
}
|
|
216
220
|
|
|
217
|
-
const n=[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],t=[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],e=[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],o=[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],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],r=new Uint8Array(288);r.fill(8,0,144),r.fill(9,144,256),r.fill(7,256,280),r.fill(8,280,288);const c=new Uint8Array(30).fill(5);function w(n){const t=new Uint16Array(16);for(const e of n)t[e]++;t[0]=0;const e=new Uint16Array(17);for(let n=1;15>=n;n++)e[n+1]=e[n]+t[n];const o=new Uint16Array(n.length);for(let t=0;t<n.length;t++)n[t]&&(o[e[n[t]]++]=t);return {o:t,symbols:o}}const P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Y(Y){Y({workerURI:Y=>{const m="text/javascript",F=(P=>{let Y=0,m=0,F=0,x=new Uint8Array(1024),b=0,l=0;for(;!l;){l=v(1);const n=v(2);if(0==n)z();else if(1==n)a(w(r),w(c));else {if(2!=n)throw Error("invalid deflate block type");a(...j());}}return x.subarray(0,b);function s(){if(Y>=P.length)throw Error("unexpected end of deflate data");return P[Y++]}function v(n){for(;n>F;)m|=s()<<F,F+=8;const t=m&(1<<n)-1;return m>>>=n,F-=n,t}function z(){m=0,F=0;const n=s()|s()<<8;Y+=2,Z(b+n);for(let t=0;n>t;t++)x[b++]=s();}function a(f,r){let c=X(f);for(;256!=c;){if(256>c)Z(b+1),x[b++]=c;else {const f=c-257,w=n[f]+v(t[f]),P=X(r),Y=e[P]+v(o[P]);Z(b+w);const m=b-Y;for(let n=0;w>n;n++)x[b++]=x[m+n];}c=X(f);}}function j(){const n=v(5)+257,t=v(5)+1,e=v(4)+4,o=new Uint8Array(19);for(let n=0;e>n;n++)o[f[n]]=v(3);const r=w(o),c=new Uint8Array(n+t);let P=0;for(;P<c.length;){const n=X(r);if(16>n)c[P++]=n;else if(16==n){const n=c[P-1];let t=v(2)+3;for(;t--;)c[P++]=n;}else P+=17==n?v(3)+3:v(7)+11;}return [w(c.subarray(0,n)),w(c.subarray(n))]}function X(n){const{o:t,symbols:e}=n;let o=0,f=0,r=0;for(let n=1;15>=n;n++){o|=v(1);const c=t[n];if(c>o-f)return e[r+(o-f)];r+=c,f=f+c<<1,o<<=1;}throw Error("invalid huffman code")}function Z(n){if(x.length<n){let t=2*x.length;for(;n>t;)t*=2;const e=new Uint8Array(t);e.set(x.subarray(0,b)),x=e;}}})((n=>{const t=(n=(n+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,e=[];for(let o=0;t>o;o+=4){const t=P.indexOf(n[o])<<18|P.indexOf(n[o+1])<<12|(63&P.indexOf(n[o+2]))<<6|63&P.indexOf(n[o+3]);e.push(t>>16&255),"="!==n[o+2]&&e.push(t>>8&255),"="!==n[o+3]&&e.push(255&t);}return new Uint8Array(e)})("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"));if(Y){const n=new Blob([F],{type:m});return URL.createObjectURL(n)}return "data:"+m+";base64,"+(n=>{let t="";const e=n.length;let o=0;for(;e>o+2;o+=3){const e=n[o]<<16|n[o+1]<<8|n[o+2];t+=P[e>>18&63]+P[e>>12&63]+P[e>>6&63]+P[63&e];}const f=e-o;if(1===f){const e=n[o]<<16;t+=P[e>>18&63]+P[e>>12&63]+"==";}else if(2===f){const e=n[o]<<16|n[o+1]<<8;t+=P[e>>18&63]+P[e>>12&63]+P[e>>6&63]+"=";}return t})(F)}});}
|
|
221
|
+
const r=[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],t=[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],n=[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],o=[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],e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],l=new Uint8Array(288);l.fill(8,0,144),l.fill(9,144,256),l.fill(7,256,280),l.fill(8,280,288);const u=new Uint8Array(30).fill(5);function f(r){const t=new Uint16Array(16);for(const n of r)t[n]++;t[0]=0;const n=new Uint16Array(17);for(let r=1;15>=r;r++)n[r+1]=n[r]+t[r];const o=new Uint16Array(r.length);for(let t=0;t<r.length;t++)r[t]&&(o[n[r[t]]++]=t);return {o:t,symbols:o}}const q$1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function a(a){a({workerURI:a=>{const i="text/javascript",Y=(q=>{let a=0,i=0,Y=0,x=new Uint8Array(1024),U=0,v=0;for(;!v;){v=G(1);const r=G(2);if(0==r)S();else if(1==r)K(f(l),f(u));else {if(2!=r)throw Error("invalid deflate block type");K(...N());}}return x.subarray(0,U);function s(){if(a>=q.length)throw Error("unexpected end of deflate data");return q[a++]}function G(r){for(;r>Y;)i|=s()<<Y,Y+=8;const t=i&(1<<r)-1;return i>>>=r,Y-=r,t}function S(){i=0,Y=0;const r=s()|s()<<8;a+=2,c(U+r);for(let t=0;r>t;t++)x[U++]=s();}function K(e,l){let u=V(e);for(;256!=u;){if(256>u)c(U+1),x[U++]=u;else {const e=u-257,f=r[e]+G(t[e]),q=V(l),a=n[q]+G(o[q]);c(U+f);const i=U-a;for(let r=0;f>r;r++)x[U++]=x[i+r];}u=V(e);}}function N(){const r=G(5)+257,t=G(5)+1,n=G(4)+4,o=new Uint8Array(19);for(let r=0;n>r;r++)o[e[r]]=G(3);const l=f(o),u=new Uint8Array(r+t);let q=0;for(;q<u.length;){const r=V(l);if(16>r)u[q++]=r;else if(16==r){const r=u[q-1];let t=G(2)+3;for(;t--;)u[q++]=r;}else q+=17==r?G(3)+3:G(7)+11;}return [f(u.subarray(0,r)),f(u.subarray(r))]}function V(r){const{o:t,symbols:n}=r;let o=0,e=0,l=0;for(let r=1;15>=r;r++){o|=G(1);const u=t[r];if(u>o-e)return n[l+(o-e)];l+=u,e=e+u<<1,o<<=1;}throw Error("invalid huffman code")}function c(r){if(x.length<r){let t=2*x.length;for(;r>t;)t*=2;const n=new Uint8Array(t);n.set(x.subarray(0,U)),x=n;}}})((r=>{const t=(r=(r+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let o=0;t>o;o+=4){const t=q$1.indexOf(r[o])<<18|q$1.indexOf(r[o+1])<<12|(63&q$1.indexOf(r[o+2]))<<6|63&q$1.indexOf(r[o+3]);n.push(t>>16&255),"="!==r[o+2]&&n.push(t>>8&255),"="!==r[o+3]&&n.push(255&t);}return new Uint8Array(n)})("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"));if(a){const r=new Blob([Y],{type:i});return URL.createObjectURL(r)}return "data:"+i+";base64,"+(r=>{let t="";const n=r.length;let o=0;for(;n>o+2;o+=3){const n=r[o]<<16|r[o+1]<<8|r[o+2];t+=q$1[n>>18&63]+q$1[n>>12&63]+q$1[n>>6&63]+q$1[63&n];}const e=n-o;if(1===e){const n=r[o]<<16;t+=q$1[n>>18&63]+q$1[n>>12&63]+"==";}else if(2===e){const n=r[o]<<16|r[o+1]<<8;t+=q$1[n>>18&63]+q$1[n>>12&63]+q$1[n>>6&63]+"=";}return t})(Y)}});}
|
|
222
|
+
|
|
223
|
+
/*
|
|
224
|
+
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
225
|
+
|
|
226
|
+
Redistribution and use in source and binary forms, with or without
|
|
227
|
+
modification, are permitted provided that the following conditions are met:
|
|
228
|
+
|
|
229
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
230
|
+
this list of conditions and the following disclaimer.
|
|
231
|
+
|
|
232
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
233
|
+
notice, this list of conditions and the following disclaimer in
|
|
234
|
+
the documentation and/or other materials provided with the distribution.
|
|
235
|
+
|
|
236
|
+
3. The names of the authors may not be used to endorse or promote products
|
|
237
|
+
derived from this software without specific prior written permission.
|
|
238
|
+
|
|
239
|
+
THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
|
|
240
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
241
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
|
|
242
|
+
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
243
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
244
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
245
|
+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
246
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
247
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
248
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
249
|
+
*/
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
const ERR_INVALID_CODEC_DEFINITION = "Invalid codec definition";
|
|
253
|
+
const ERR_RESERVED_COMPRESSION_METHOD = "Reserved compression method";
|
|
254
|
+
const ERR_INVALID_CODEC_MODULE = "Invalid codec module";
|
|
255
|
+
|
|
256
|
+
const STRING_TYPE = "string";
|
|
257
|
+
const RESERVED_COMPRESSION_METHODS = [
|
|
258
|
+
COMPRESSION_METHOD_STORE,
|
|
259
|
+
COMPRESSION_METHOD_DEFLATE,
|
|
260
|
+
COMPRESSION_METHOD_DEFLATE_64,
|
|
261
|
+
COMPRESSION_METHOD_AES
|
|
262
|
+
];
|
|
263
|
+
|
|
264
|
+
const registeredCodecs = new Map();
|
|
265
|
+
const codecStreams = new Map();
|
|
266
|
+
|
|
267
|
+
function registerCodec(codec = {}) {
|
|
268
|
+
const { compressionMethod, format, codecURI, CompressionStream, DecompressionStream, versionNeeded } = codec;
|
|
269
|
+
if (!Number.isInteger(compressionMethod) || compressionMethod < 0 || compressionMethod > MAX_16_BITS ||
|
|
270
|
+
typeof format != STRING_TYPE || !format.length) {
|
|
271
|
+
throw new Error(ERR_INVALID_CODEC_DEFINITION);
|
|
272
|
+
}
|
|
273
|
+
if (RESERVED_COMPRESSION_METHODS.includes(compressionMethod)) {
|
|
274
|
+
throw new Error(ERR_RESERVED_COMPRESSION_METHOD);
|
|
275
|
+
}
|
|
276
|
+
const hasStreams = typeof CompressionStream == FUNCTION_TYPE || typeof DecompressionStream == FUNCTION_TYPE;
|
|
277
|
+
if (!hasStreams && (typeof codecURI != STRING_TYPE || !codecURI.length)) {
|
|
278
|
+
throw new Error(ERR_INVALID_CODEC_DEFINITION);
|
|
279
|
+
}
|
|
280
|
+
registeredCodecs.set(compressionMethod, { compressionMethod, format, codecURI, versionNeeded });
|
|
281
|
+
if (hasStreams) {
|
|
282
|
+
setCodecStreams(format, { CompressionStream, DecompressionStream });
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
function unregisterCodec(compressionMethod) {
|
|
287
|
+
const codec = registeredCodecs.get(compressionMethod);
|
|
288
|
+
if (codec) {
|
|
289
|
+
registeredCodecs.delete(compressionMethod);
|
|
290
|
+
let formatUsed;
|
|
291
|
+
registeredCodecs.forEach(otherCodec => formatUsed = formatUsed || otherCodec.format == codec.format);
|
|
292
|
+
if (!formatUsed) {
|
|
293
|
+
codecStreams.delete(codec.format);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
function getRegisteredCodec(compressionMethod) {
|
|
299
|
+
return registeredCodecs.get(compressionMethod);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
function getCodecStreams(format) {
|
|
303
|
+
return codecStreams.get(format);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
function setCodecStreams(format, streams) {
|
|
307
|
+
const { CompressionStream, DecompressionStream } = streams;
|
|
308
|
+
if (typeof CompressionStream != FUNCTION_TYPE && typeof DecompressionStream != FUNCTION_TYPE) {
|
|
309
|
+
throw new Error(ERR_INVALID_CODEC_MODULE);
|
|
310
|
+
}
|
|
311
|
+
codecStreams.set(format, { CompressionStream, DecompressionStream });
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
async function ensureCodecStreams(format, codecURI) {
|
|
315
|
+
if (!codecStreams.has(format) && codecURI) {
|
|
316
|
+
setCodecStreams(format, await import(codecURI));
|
|
317
|
+
}
|
|
318
|
+
}
|
|
218
319
|
|
|
219
320
|
/*
|
|
220
321
|
Copyright (c) 2022 Gildas Lormeau. All rights reserved.
|
|
@@ -1752,6 +1853,7 @@ function getInt32(number) {
|
|
|
1752
1853
|
|
|
1753
1854
|
const ERR_INVALID_UNCOMPRESSED_SIZE = "Invalid uncompressed size";
|
|
1754
1855
|
const ERR_INVALID_COMPRESSED_DATA = "Invalid compressed data";
|
|
1856
|
+
const ERR_UNSUPPORTED_COMPRESSION$2 = "Compression method not supported";
|
|
1755
1857
|
const FORMAT_DEFLATE_RAW = "deflate-raw";
|
|
1756
1858
|
const FORMAT_DEFLATE64_RAW = "deflate64-raw";
|
|
1757
1859
|
const FORMAT_GZIP = "gzip";
|
|
@@ -1762,23 +1864,26 @@ class DeflateStream extends TransformStream {
|
|
|
1762
1864
|
|
|
1763
1865
|
constructor(options, { chunkSize, CompressionStreamZlib, CompressionStream }) {
|
|
1764
1866
|
super({});
|
|
1765
|
-
const { compressed, encrypted, useCompressionStream, zipCrypto, signed, level, deflate64 } = options;
|
|
1867
|
+
const { compressed, encrypted, useCompressionStream, zipCrypto, signed, level, deflate64, format } = options;
|
|
1766
1868
|
const stream = this;
|
|
1767
1869
|
let crc32Stream, encryptionStream, gzipCrc32Stream;
|
|
1768
1870
|
let readable = super.readable;
|
|
1769
|
-
const
|
|
1871
|
+
const codecStreams = format && getCodecStreams(format);
|
|
1872
|
+
const useGzipCrc32 = signed && compressed && !deflate64 && !codecStreams && (!encrypted || zipCrypto) &&
|
|
1770
1873
|
Boolean(useCompressionStream && CompressionStream);
|
|
1771
1874
|
if ((!encrypted || zipCrypto) && signed && !useGzipCrc32) {
|
|
1772
1875
|
crc32Stream = new Crc32Stream();
|
|
1773
1876
|
readable = pipeThrough(readable, crc32Stream);
|
|
1774
1877
|
}
|
|
1775
1878
|
if (compressed) {
|
|
1776
|
-
if (
|
|
1879
|
+
if (codecStreams) {
|
|
1880
|
+
readable = pipeThroughBackpressured(readable, createCodecStream(codecStreams.CompressionStream, format, { level, chunkSize }));
|
|
1881
|
+
} else if (useGzipCrc32) {
|
|
1777
1882
|
gzipCrc32Stream = new GzipToRawDeflateStream();
|
|
1778
1883
|
readable = pipeThroughBackpressured(readable, new CompressionStream(FORMAT_GZIP));
|
|
1779
1884
|
readable = pipeThrough(readable, gzipCrc32Stream);
|
|
1780
1885
|
} else {
|
|
1781
|
-
readable =
|
|
1886
|
+
readable = pipeThroughCompressionStream(readable, useCompressionStream, { level, chunkSize }, CompressionStream, CompressionStreamZlib);
|
|
1782
1887
|
}
|
|
1783
1888
|
}
|
|
1784
1889
|
if (encrypted) {
|
|
@@ -1847,7 +1952,7 @@ class InflateStream extends TransformStream {
|
|
|
1847
1952
|
|
|
1848
1953
|
constructor(options, { chunkSize, DecompressionStreamZlib, DecompressionStream }) {
|
|
1849
1954
|
super({});
|
|
1850
|
-
const { zipCrypto, encrypted, signed, signature, compressed, useCompressionStream, deflate64 } = options;
|
|
1955
|
+
const { zipCrypto, encrypted, signed, signature, compressed, useCompressionStream, deflate64, format } = options;
|
|
1851
1956
|
let crc32Stream, decryptionStream;
|
|
1852
1957
|
let readable = super.readable;
|
|
1853
1958
|
if (encrypted) {
|
|
@@ -1859,7 +1964,12 @@ class InflateStream extends TransformStream {
|
|
|
1859
1964
|
}
|
|
1860
1965
|
}
|
|
1861
1966
|
if (compressed) {
|
|
1862
|
-
|
|
1967
|
+
const codecStreams = format && getCodecStreams(format);
|
|
1968
|
+
if (codecStreams) {
|
|
1969
|
+
readable = pipeThroughBackpressured(readable, createCodecStream(codecStreams.DecompressionStream, format, { chunkSize }));
|
|
1970
|
+
} else {
|
|
1971
|
+
readable = pipeThroughCompressionStream(readable, useCompressionStream, { chunkSize, deflate64 }, DecompressionStream, DecompressionStreamZlib);
|
|
1972
|
+
}
|
|
1863
1973
|
readable = mapInflateStreamError(readable);
|
|
1864
1974
|
}
|
|
1865
1975
|
if ((!encrypted || zipCrypto) && signed) {
|
|
@@ -1877,6 +1987,25 @@ class InflateStream extends TransformStream {
|
|
|
1877
1987
|
}
|
|
1878
1988
|
}
|
|
1879
1989
|
|
|
1990
|
+
const deflateRawSupportByStream = new Map();
|
|
1991
|
+
|
|
1992
|
+
function supportsDeflateRaw(StreamClass) {
|
|
1993
|
+
if (!StreamClass) {
|
|
1994
|
+
return false;
|
|
1995
|
+
}
|
|
1996
|
+
let supported = deflateRawSupportByStream.get(StreamClass);
|
|
1997
|
+
if (supported === UNDEFINED_VALUE) {
|
|
1998
|
+
try {
|
|
1999
|
+
new StreamClass(FORMAT_DEFLATE_RAW);
|
|
2000
|
+
supported = true;
|
|
2001
|
+
} catch {
|
|
2002
|
+
supported = false;
|
|
2003
|
+
}
|
|
2004
|
+
deflateRawSupportByStream.set(StreamClass, supported);
|
|
2005
|
+
}
|
|
2006
|
+
return supported;
|
|
2007
|
+
}
|
|
2008
|
+
|
|
1880
2009
|
function setReadable(stream, readable, flush) {
|
|
1881
2010
|
readable = pipeThrough(readable, new TransformStream({ flush }));
|
|
1882
2011
|
Object.defineProperty(stream, "readable", {
|
|
@@ -1886,21 +2015,24 @@ function setReadable(stream, readable, flush) {
|
|
|
1886
2015
|
});
|
|
1887
2016
|
}
|
|
1888
2017
|
|
|
1889
|
-
function
|
|
1890
|
-
|
|
2018
|
+
function createCodecStream(CodecStreamClass, format, options) {
|
|
2019
|
+
if (!CodecStreamClass) {
|
|
2020
|
+
throw new Error(ERR_UNSUPPORTED_COMPRESSION$2);
|
|
2021
|
+
}
|
|
2022
|
+
return new CodecStreamClass(format, options);
|
|
2023
|
+
}
|
|
2024
|
+
|
|
2025
|
+
function pipeThroughCompressionStream(readable, useCompressionStream, options, CompressionStreamNative, CompressionStreamZlib) {
|
|
2026
|
+
const Stream = useCompressionStream && CompressionStreamNative ?
|
|
2027
|
+
CompressionStreamNative :
|
|
2028
|
+
CompressionStreamZlib || CompressionStreamNative;
|
|
1891
2029
|
const format = options.deflate64 ? FORMAT_DEFLATE64_RAW : FORMAT_DEFLATE_RAW;
|
|
1892
2030
|
let codecStream;
|
|
1893
2031
|
try {
|
|
1894
2032
|
codecStream = new Stream(format, options);
|
|
1895
2033
|
} catch (error) {
|
|
1896
|
-
if (useCompressionStream) {
|
|
1897
|
-
|
|
1898
|
-
codecStream = new CompressionStreamZlib(format, options);
|
|
1899
|
-
} else if (CompressionStream) {
|
|
1900
|
-
codecStream = new CompressionStream(format, options);
|
|
1901
|
-
} else {
|
|
1902
|
-
throw error;
|
|
1903
|
-
}
|
|
2034
|
+
if (useCompressionStream && CompressionStreamZlib && Stream != CompressionStreamZlib) {
|
|
2035
|
+
codecStream = new CompressionStreamZlib(format, options);
|
|
1904
2036
|
} else {
|
|
1905
2037
|
throw error;
|
|
1906
2038
|
}
|
|
@@ -2161,6 +2293,7 @@ class ChunkStream extends TransformStream {
|
|
|
2161
2293
|
const MODULE_WORKER_OPTIONS = { type: "module" };
|
|
2162
2294
|
const ERROR_EVENT_TYPE = "error";
|
|
2163
2295
|
const MESSAGE_ERROR_EVENT_TYPE = "messageerror";
|
|
2296
|
+
const ERR_WORKER_STARTUP_TIMEOUT = "Worker startup timeout";
|
|
2164
2297
|
|
|
2165
2298
|
let webWorkerSupported, webWorkerSource, webWorkerURI, webWorkerOptions;
|
|
2166
2299
|
let transferStreamsSupported = true;
|
|
@@ -2171,6 +2304,10 @@ try {
|
|
|
2171
2304
|
}
|
|
2172
2305
|
let initModule = () => { };
|
|
2173
2306
|
|
|
2307
|
+
function resetWebWorkerSupport() {
|
|
2308
|
+
webWorkerSupported = UNDEFINED_VALUE;
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2174
2311
|
class CodecWorker {
|
|
2175
2312
|
|
|
2176
2313
|
constructor(workerData, { readable, writable }, { options, config, streamOptions, useWebWorkers, transferStreams, workerURI }, onTaskFinished) {
|
|
@@ -2264,7 +2401,7 @@ function createWorkerInterface(workerData, config) {
|
|
|
2264
2401
|
}
|
|
2265
2402
|
|
|
2266
2403
|
function createWebWorkerInterface(workerData, config) {
|
|
2267
|
-
const { baseURI, chunkSize } = config;
|
|
2404
|
+
const { baseURI, chunkSize, workerStartupTimeout } = config;
|
|
2268
2405
|
let { wasmURI } = config;
|
|
2269
2406
|
|
|
2270
2407
|
if (!workerData.interface) {
|
|
@@ -2281,9 +2418,26 @@ function createWebWorkerInterface(workerData, config) {
|
|
|
2281
2418
|
}
|
|
2282
2419
|
Object.assign(workerData, {
|
|
2283
2420
|
worker,
|
|
2421
|
+
workerAlive: false,
|
|
2284
2422
|
terminated: false,
|
|
2285
2423
|
interface: {
|
|
2286
|
-
run: () =>
|
|
2424
|
+
run: async () => {
|
|
2425
|
+
try {
|
|
2426
|
+
return await runWebWorker(workerData, { chunkSize, wasmURI, baseURI, workerStartupTimeout });
|
|
2427
|
+
} catch (error) {
|
|
2428
|
+
if (error && error.workerStartupFailed) {
|
|
2429
|
+
webWorkerSupported = false;
|
|
2430
|
+
const { reader } = workerData;
|
|
2431
|
+
if (reader) {
|
|
2432
|
+
reader.releaseLock();
|
|
2433
|
+
}
|
|
2434
|
+
workerData.reader = null;
|
|
2435
|
+
workerData.writer = null;
|
|
2436
|
+
return runWorker$1(workerData, config);
|
|
2437
|
+
}
|
|
2438
|
+
throw error;
|
|
2439
|
+
}
|
|
2440
|
+
}
|
|
2287
2441
|
}
|
|
2288
2442
|
});
|
|
2289
2443
|
}
|
|
@@ -2293,15 +2447,23 @@ function createWebWorkerInterface(workerData, config) {
|
|
|
2293
2447
|
async function runWorker$1({ options, readable, writable, onTaskFinished }, config) {
|
|
2294
2448
|
let codecStream;
|
|
2295
2449
|
try {
|
|
2296
|
-
if (!options.
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
config
|
|
2303
|
-
|
|
2304
|
-
|
|
2450
|
+
if (options.compressed && !options.format) {
|
|
2451
|
+
const deflate = options.codecType.startsWith(CODEC_DEFLATE);
|
|
2452
|
+
const ZlibStream = deflate ? config.CompressionStreamZlib : config.DecompressionStreamZlib;
|
|
2453
|
+
const NativeStream = deflate ? config.CompressionStream : config.DecompressionStream;
|
|
2454
|
+
if (!options.useCompressionStream) {
|
|
2455
|
+
try {
|
|
2456
|
+
await initModule(config);
|
|
2457
|
+
} catch {
|
|
2458
|
+
if (!ZlibStream || ZlibStream.requiresModule) {
|
|
2459
|
+
options.useCompressionStream = true;
|
|
2460
|
+
}
|
|
2461
|
+
}
|
|
2462
|
+
} else if (ZlibStream && ZlibStream.requiresModule && !supportsDeflateRaw(NativeStream)) {
|
|
2463
|
+
try {
|
|
2464
|
+
await initModule(config);
|
|
2465
|
+
} catch {
|
|
2466
|
+
// ignored
|
|
2305
2467
|
}
|
|
2306
2468
|
}
|
|
2307
2469
|
}
|
|
@@ -2370,6 +2532,10 @@ async function runWebWorker(workerData, config) {
|
|
|
2370
2532
|
writer: writable.getWriter()
|
|
2371
2533
|
});
|
|
2372
2534
|
}
|
|
2535
|
+
const { workerStartupTimeout } = config;
|
|
2536
|
+
if (!workerData.workerAlive && Number.isFinite(workerStartupTimeout) && workerStartupTimeout >= 0) {
|
|
2537
|
+
workerData.startupTimeout = setTimeout(() => onStartupTimeout(workerData), workerStartupTimeout);
|
|
2538
|
+
}
|
|
2373
2539
|
try {
|
|
2374
2540
|
const resultValue = await result;
|
|
2375
2541
|
await closeWritable();
|
|
@@ -2482,28 +2648,68 @@ function getWebWorker(url, baseURI, workerData, isModuleType, useBlobURI = true)
|
|
|
2482
2648
|
} else {
|
|
2483
2649
|
worker = new Worker(webWorkerURI, webWorkerOptions);
|
|
2484
2650
|
}
|
|
2485
|
-
worker.addEventListener(MESSAGE_EVENT_TYPE, event =>
|
|
2651
|
+
worker.addEventListener(MESSAGE_EVENT_TYPE, event => {
|
|
2652
|
+
workerData.workerAlive = true;
|
|
2653
|
+
clearStartupTimeout(workerData);
|
|
2654
|
+
onMessage(event, workerData);
|
|
2655
|
+
});
|
|
2486
2656
|
worker.addEventListener(ERROR_EVENT_TYPE, event => onWorkerError(event, workerData));
|
|
2487
2657
|
worker.addEventListener(MESSAGE_ERROR_EVENT_TYPE, event => onWorkerError(event, workerData));
|
|
2488
2658
|
return worker;
|
|
2489
2659
|
}
|
|
2490
2660
|
|
|
2661
|
+
function onStartupTimeout(workerData) {
|
|
2662
|
+
workerData.startupTimeout = null;
|
|
2663
|
+
if (workerData.workerAlive) {
|
|
2664
|
+
return;
|
|
2665
|
+
}
|
|
2666
|
+
const { rejectResult, writer } = workerData;
|
|
2667
|
+
terminateWorker$1(workerData);
|
|
2668
|
+
workerData.worker = null;
|
|
2669
|
+
if (rejectResult) {
|
|
2670
|
+
const error = new Error(ERR_WORKER_STARTUP_TIMEOUT);
|
|
2671
|
+
error.workerStartupFailed = true;
|
|
2672
|
+
rejectResult(error);
|
|
2673
|
+
if (writer) {
|
|
2674
|
+
writer.releaseLock();
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2679
|
+
function clearStartupTimeout(workerData) {
|
|
2680
|
+
const { startupTimeout } = workerData;
|
|
2681
|
+
if (startupTimeout) {
|
|
2682
|
+
clearTimeout(startupTimeout);
|
|
2683
|
+
workerData.startupTimeout = null;
|
|
2684
|
+
}
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2491
2687
|
function onWorkerError(event, workerData) {
|
|
2492
2688
|
if (event.preventDefault) {
|
|
2493
2689
|
event.preventDefault();
|
|
2494
2690
|
}
|
|
2495
|
-
|
|
2691
|
+
clearStartupTimeout(workerData);
|
|
2692
|
+
const { workerAlive, rejectResult, writer, onTaskFinished } = workerData;
|
|
2496
2693
|
terminateWorker$1(workerData);
|
|
2694
|
+
if (!workerAlive) {
|
|
2695
|
+
workerData.worker = null;
|
|
2696
|
+
}
|
|
2497
2697
|
if (rejectResult) {
|
|
2498
|
-
|
|
2698
|
+
let error = event.error || new Error(event.message || ERROR_EVENT_TYPE);
|
|
2699
|
+
if (!workerAlive) {
|
|
2700
|
+
error = Object.assign(new Error(error.message || ERROR_EVENT_TYPE), { workerStartupFailed: true });
|
|
2701
|
+
}
|
|
2702
|
+
rejectResult(error);
|
|
2499
2703
|
if (writer) {
|
|
2500
2704
|
writer.releaseLock();
|
|
2501
2705
|
}
|
|
2502
|
-
|
|
2706
|
+
if (workerAlive) {
|
|
2707
|
+
onTaskFinished();
|
|
2708
|
+
}
|
|
2503
2709
|
}
|
|
2504
2710
|
}
|
|
2505
2711
|
|
|
2506
|
-
function sendMessage(message, { worker, writer, transferStreams }) {
|
|
2712
|
+
function sendMessage(message, { worker, writer, transferStreams, workerAlive }) {
|
|
2507
2713
|
try {
|
|
2508
2714
|
const { value, readable, writable } = message;
|
|
2509
2715
|
const transferables = [];
|
|
@@ -2511,7 +2717,7 @@ function sendMessage(message, { worker, writer, transferStreams }) {
|
|
|
2511
2717
|
message.value = toExactUint8Array(value);
|
|
2512
2718
|
transferables.push(message.value.buffer);
|
|
2513
2719
|
}
|
|
2514
|
-
if (transferStreams && transferStreamsSupported) {
|
|
2720
|
+
if (transferStreams && transferStreamsSupported && workerAlive) {
|
|
2515
2721
|
if (readable) {
|
|
2516
2722
|
transferables.push(readable);
|
|
2517
2723
|
}
|
|
@@ -2630,11 +2836,18 @@ let indexWorker = 0;
|
|
|
2630
2836
|
|
|
2631
2837
|
async function runWorker(stream, workerOptions) {
|
|
2632
2838
|
const { options, config } = workerOptions;
|
|
2633
|
-
const { transferStreams, useWebWorkers, useCompressionStream, compressed, signed, encrypted } = options;
|
|
2839
|
+
const { transferStreams, useWebWorkers, useCompressionStream, compressed, signed, encrypted, format, codecURI } = options;
|
|
2634
2840
|
const { workerURI, maxWorkers } = config;
|
|
2841
|
+
if (format) {
|
|
2842
|
+
if (codecURI) {
|
|
2843
|
+
options.codecURI = resolveCodecURI(codecURI, config.baseURI);
|
|
2844
|
+
}
|
|
2845
|
+
await ensureCodecStreams(format, options.codecURI);
|
|
2846
|
+
}
|
|
2635
2847
|
workerOptions.transferStreams = transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams);
|
|
2636
2848
|
const streamCopy = !compressed && !signed && !encrypted;
|
|
2637
|
-
|
|
2849
|
+
const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
|
|
2850
|
+
workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || (useWebWorkers === UNDEFINED_VALUE && config.useWebWorkers));
|
|
2638
2851
|
workerOptions.workerURI = workerOptions.useWebWorkers && workerURI ? workerURI : UNDEFINED_VALUE;
|
|
2639
2852
|
options.useCompressionStream = useCompressionStream || (useCompressionStream === UNDEFINED_VALUE && config.useCompressionStream);
|
|
2640
2853
|
return (await getWorker()).run();
|
|
@@ -2674,6 +2887,14 @@ async function runWorker(stream, workerOptions) {
|
|
|
2674
2887
|
}
|
|
2675
2888
|
}
|
|
2676
2889
|
|
|
2890
|
+
function resolveCodecURI(codecURI, baseURI) {
|
|
2891
|
+
try {
|
|
2892
|
+
return new URL(codecURI, baseURI).toString();
|
|
2893
|
+
} catch {
|
|
2894
|
+
return codecURI;
|
|
2895
|
+
}
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2677
2898
|
function armStarvationTimeout() {
|
|
2678
2899
|
if (!starvationTimeout && pendingRequests.length && Number.isFinite(starvationDelay) && starvationDelay >= 0) {
|
|
2679
2900
|
starvationTimeout = setTimeout(onWorkerStarvation, starvationDelay);
|
|
@@ -2734,6 +2955,7 @@ async function terminateWorkers() {
|
|
|
2734
2955
|
clearTerminateTimeout(workerData);
|
|
2735
2956
|
return workerData.terminate();
|
|
2736
2957
|
}));
|
|
2958
|
+
resetWebWorkerSupport();
|
|
2737
2959
|
}
|
|
2738
2960
|
|
|
2739
2961
|
/*
|
|
@@ -3957,6 +4179,7 @@ const OPTION_TRANSFER_STREAMS = "transferStreams";
|
|
|
3957
4179
|
const OPTION_PREVENT_CLOSE = "preventClose";
|
|
3958
4180
|
const OPTION_ENCRYPTION_STRENGTH = "encryptionStrength";
|
|
3959
4181
|
const OPTION_EXTENDED_TIMESTAMP = "extendedTimestamp";
|
|
4182
|
+
const OPTION_NTFS_TIMESTAMP = "ntfsTimestamp";
|
|
3960
4183
|
const OPTION_KEEP_ORDER = "keepOrder";
|
|
3961
4184
|
const OPTION_LEVEL = "level";
|
|
3962
4185
|
const OPTION_BUFFERED_WRITE = "bufferedWrite";
|
|
@@ -4016,6 +4239,7 @@ const ERR_UNSUPPORTED_COMPRESSION$1 = "Compression method not supported";
|
|
|
4016
4239
|
const ERR_SPLIT_ZIP_FILE = "Split zip file";
|
|
4017
4240
|
const ERR_OVERLAPPING_ENTRY = "Overlapping entry found";
|
|
4018
4241
|
const ERR_AMBIGUOUS_ARCHIVE = "Ambiguous archive";
|
|
4242
|
+
const ERR_ENCRYPTED_CENTRAL_DIRECTORY = "Encrypted central directory is not supported";
|
|
4019
4243
|
const CHARSET_UTF8 = "utf-8";
|
|
4020
4244
|
const PROPERTY_NAME_UTF8_SUFFIX = "UTF8";
|
|
4021
4245
|
const CHARSET_CP437 = "cp437";
|
|
@@ -4093,6 +4317,7 @@ class ZipReader {
|
|
|
4093
4317
|
let prependedDataLength = 0;
|
|
4094
4318
|
let startOffset;
|
|
4095
4319
|
let zip64EndOfDirectory;
|
|
4320
|
+
let zip64EndOfDirectoryVersion2;
|
|
4096
4321
|
const requiresZip64 = directoryDataOffset == MAX_32_BITS || directoryDataLength == MAX_32_BITS || filesLength == MAX_16_BITS || diskNumber == MAX_16_BITS;
|
|
4097
4322
|
if (directoryDataOffset != MAX_32_BITS && diskNumber != MAX_16_BITS) {
|
|
4098
4323
|
directoryDataOffset += getDiskOffset$1(reader, diskNumber);
|
|
@@ -4122,6 +4347,7 @@ class ZipReader {
|
|
|
4122
4347
|
throw new Error(ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND);
|
|
4123
4348
|
}
|
|
4124
4349
|
zip64EndOfDirectory = true;
|
|
4350
|
+
zip64EndOfDirectoryVersion2 = getBigUint64(endOfDirectoryView, 4) > ZIP64_END_OF_CENTRAL_DIR_LENGTH - 12;
|
|
4125
4351
|
if (lastDiskNumber == MAX_16_BITS) {
|
|
4126
4352
|
lastDiskNumber = getUint32(endOfDirectoryView, 16);
|
|
4127
4353
|
} else if (checkAmbiguity && lastDiskNumber != getUint32(endOfDirectoryView, 16)) {
|
|
@@ -4201,6 +4427,9 @@ class ZipReader {
|
|
|
4201
4427
|
for (let indexFile = 0; indexFile < filesLength; indexFile++) {
|
|
4202
4428
|
const fileEntry = new ZipEntry$1(reader, config, zipReader.options);
|
|
4203
4429
|
if (offset + CENTRAL_FILE_HEADER_LENGTH > directoryArray.length || getUint32(directoryView, offset) != CENTRAL_FILE_HEADER_SIGNATURE) {
|
|
4430
|
+
if (indexFile == 0 && (zip64EndOfDirectoryVersion2 || detectEncryptedCentralDirectory(directoryView))) {
|
|
4431
|
+
throw new Error(ERR_ENCRYPTED_CENTRAL_DIRECTORY);
|
|
4432
|
+
}
|
|
4204
4433
|
throw new Error(ERR_CENTRAL_DIRECTORY_NOT_FOUND);
|
|
4205
4434
|
}
|
|
4206
4435
|
readCommonHeader(fileEntry, directoryView, offset + 6);
|
|
@@ -4428,7 +4657,8 @@ let ZipEntry$1 = class ZipEntry {
|
|
|
4428
4657
|
throw new Error(ERR_UNSUPPORTED_COMPRESSION$1);
|
|
4429
4658
|
}
|
|
4430
4659
|
}
|
|
4431
|
-
|
|
4660
|
+
const registeredCodec = passThrough ? UNDEFINED_VALUE : getRegisteredCodec(compressionMethod);
|
|
4661
|
+
if ((compressionMethod != COMPRESSION_METHOD_STORE && compressionMethod != COMPRESSION_METHOD_DEFLATE && compressionMethod != COMPRESSION_METHOD_DEFLATE_64 && !registeredCodec) && !passThrough) {
|
|
4432
4662
|
throw new Error(ERR_UNSUPPORTED_COMPRESSION$1);
|
|
4433
4663
|
}
|
|
4434
4664
|
if (dataArray.length < HEADER_SIZE || getUint32(dataView, 0) != LOCAL_FILE_HEADER_SIGNATURE) {
|
|
@@ -4467,7 +4697,10 @@ let ZipEntry$1 = class ZipEntry {
|
|
|
4467
4697
|
fileEntry.zipCrypto = zipCrypto;
|
|
4468
4698
|
}
|
|
4469
4699
|
if (encrypted) {
|
|
4470
|
-
if (
|
|
4700
|
+
if ((localDirectory.rawBitFlag & BITFLAG_STRONG_ENCRYPTION) == BITFLAG_STRONG_ENCRYPTION) {
|
|
4701
|
+
throw new Error(ERR_UNSUPPORTED_ENCRYPTION);
|
|
4702
|
+
}
|
|
4703
|
+
if (!zipCrypto && (extraFieldAES.strength < 1 || extraFieldAES.strength > 3)) {
|
|
4471
4704
|
throw new Error(ERR_UNSUPPORTED_ENCRYPTION);
|
|
4472
4705
|
} else if (!password && !rawPassword) {
|
|
4473
4706
|
throw new Error(ERR_ENCRYPTED);
|
|
@@ -4506,6 +4739,8 @@ let ZipEntry$1 = class ZipEntry {
|
|
|
4506
4739
|
useCompressionStream,
|
|
4507
4740
|
transferStreams: getOptionValue$1(zipEntry, options, OPTION_TRANSFER_STREAMS),
|
|
4508
4741
|
deflate64,
|
|
4742
|
+
format: registeredCodec ? registeredCodec.format : UNDEFINED_VALUE,
|
|
4743
|
+
codecURI: registeredCodec ? registeredCodec.codecURI : UNDEFINED_VALUE,
|
|
4509
4744
|
checkPasswordOnly
|
|
4510
4745
|
},
|
|
4511
4746
|
config,
|
|
@@ -4558,6 +4793,16 @@ let ZipEntry$1 = class ZipEntry {
|
|
|
4558
4793
|
}
|
|
4559
4794
|
};
|
|
4560
4795
|
|
|
4796
|
+
function detectEncryptedCentralDirectory(directoryView) {
|
|
4797
|
+
const maxOffset = Math.min(directoryView.byteLength, 1024) - 3;
|
|
4798
|
+
for (let offset = 0; offset < maxOffset; offset++) {
|
|
4799
|
+
if (getUint32(directoryView, offset) == ARCHIVE_EXTRA_DATA_SIGNATURE) {
|
|
4800
|
+
return true;
|
|
4801
|
+
}
|
|
4802
|
+
}
|
|
4803
|
+
return false;
|
|
4804
|
+
}
|
|
4805
|
+
|
|
4561
4806
|
function readCommonHeader(directory, dataView, offset) {
|
|
4562
4807
|
const rawBitFlag = directory.rawBitFlag = getUint16(dataView, offset + 2);
|
|
4563
4808
|
const encrypted = (rawBitFlag & BITFLAG_ENCRYPTED) == BITFLAG_ENCRYPTED;
|
|
@@ -5072,6 +5317,7 @@ var zipReader = /*#__PURE__*/Object.freeze({
|
|
|
5072
5317
|
ERR_BAD_FORMAT: ERR_BAD_FORMAT,
|
|
5073
5318
|
ERR_CENTRAL_DIRECTORY_NOT_FOUND: ERR_CENTRAL_DIRECTORY_NOT_FOUND,
|
|
5074
5319
|
ERR_ENCRYPTED: ERR_ENCRYPTED,
|
|
5320
|
+
ERR_ENCRYPTED_CENTRAL_DIRECTORY: ERR_ENCRYPTED_CENTRAL_DIRECTORY,
|
|
5075
5321
|
ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND: ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,
|
|
5076
5322
|
ERR_EOCDR_NOT_FOUND: ERR_EOCDR_NOT_FOUND,
|
|
5077
5323
|
ERR_EXTRAFIELD_ZIP64_NOT_FOUND: ERR_EXTRAFIELD_ZIP64_NOT_FOUND,
|
|
@@ -5123,6 +5369,7 @@ const ERR_INVALID_ENTRY_COMMENT = "File entry comment exceeds 64KB";
|
|
|
5123
5369
|
const ERR_INVALID_ENTRY_NAME = "File entry name exceeds 64KB";
|
|
5124
5370
|
const ERR_INVALID_VERSION = "Version exceeds 65535";
|
|
5125
5371
|
const ERR_INVALID_ENCRYPTION_STRENGTH = "The strength must equal 1, 2, or 3";
|
|
5372
|
+
const ERR_UNSUPPORTED_ENCRYPTION_USDZ = "Encryption is not supported in USDZ files";
|
|
5126
5373
|
const ERR_INVALID_EXTRAFIELD_TYPE = "Extra field type exceeds 65535";
|
|
5127
5374
|
const ERR_INVALID_EXTRAFIELD_DATA = "Extra field data exceeds 64KB";
|
|
5128
5375
|
const ERR_UNSUPPORTED_COMPRESSION = "Compression method not supported";
|
|
@@ -5483,7 +5730,11 @@ function resolveAttributes(zipWriter, name, options) {
|
|
|
5483
5730
|
if (versionMadeBy > MAX_16_BITS) {
|
|
5484
5731
|
throw new Error(ERR_INVALID_VERSION);
|
|
5485
5732
|
}
|
|
5486
|
-
let externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES
|
|
5733
|
+
let externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES);
|
|
5734
|
+
const externalFileAttributesProvided = externalFileAttributes !== UNDEFINED_VALUE;
|
|
5735
|
+
if (!externalFileAttributesProvided) {
|
|
5736
|
+
externalFileAttributes = 0;
|
|
5737
|
+
}
|
|
5487
5738
|
if (!options[PROPERTY_NAME_DIRECTORY] && name.endsWith(DIRECTORY_SIGNATURE)) {
|
|
5488
5739
|
options[PROPERTY_NAME_DIRECTORY] = true;
|
|
5489
5740
|
}
|
|
@@ -5492,13 +5743,13 @@ function resolveAttributes(zipWriter, name, options) {
|
|
|
5492
5743
|
if (!name.endsWith(DIRECTORY_SIGNATURE)) {
|
|
5493
5744
|
name += DIRECTORY_SIGNATURE;
|
|
5494
5745
|
}
|
|
5495
|
-
if (
|
|
5746
|
+
if (!externalFileAttributesProvided) {
|
|
5496
5747
|
externalFileAttributes = FILE_ATTR_MSDOS_DIR_MASK;
|
|
5497
5748
|
if (!msDosCompatible) {
|
|
5498
5749
|
externalFileAttributes |= (FILE_ATTR_UNIX_TYPE_DIR | FILE_ATTR_UNIX_EXECUTABLE_MASK | FILE_ATTR_UNIX_DEFAULT_MASK) << 16;
|
|
5499
5750
|
}
|
|
5500
5751
|
}
|
|
5501
|
-
} else if (!msDosCompatible &&
|
|
5752
|
+
} else if (!msDosCompatible && !externalFileAttributesProvided) {
|
|
5502
5753
|
if (executable) {
|
|
5503
5754
|
externalFileAttributes = (FILE_ATTR_UNIX_EXECUTABLE_MASK | FILE_ATTR_UNIX_DEFAULT_MASK) << 16;
|
|
5504
5755
|
} else {
|
|
@@ -5507,6 +5758,7 @@ function resolveAttributes(zipWriter, name, options) {
|
|
|
5507
5758
|
}
|
|
5508
5759
|
let unixExternalUpper;
|
|
5509
5760
|
if (!msDosCompatible) {
|
|
5761
|
+
const unixModeProvided = unixMode !== UNDEFINED_VALUE || Boolean(setuid || setgid || sticky);
|
|
5510
5762
|
unixExternalUpper = (externalFileAttributes >> 16) & MAX_16_BITS;
|
|
5511
5763
|
unixMode = unixMode === UNDEFINED_VALUE ? unixExternalUpper : (unixMode & MAX_16_BITS);
|
|
5512
5764
|
if (setuid) {
|
|
@@ -5524,10 +5776,12 @@ function resolveAttributes(zipWriter, name, options) {
|
|
|
5524
5776
|
} else {
|
|
5525
5777
|
sticky = Boolean(unixMode & FILE_ATTR_UNIX_STICKY_MASK);
|
|
5526
5778
|
}
|
|
5527
|
-
if (
|
|
5528
|
-
|
|
5779
|
+
if (!externalFileAttributesProvided || unixModeProvided) {
|
|
5780
|
+
if (directory) {
|
|
5781
|
+
unixMode |= FILE_ATTR_UNIX_TYPE_DIR;
|
|
5782
|
+
}
|
|
5783
|
+
externalFileAttributes = ((unixMode & MAX_16_BITS) << 16) | (externalFileAttributes & MAX_16_BITS);
|
|
5529
5784
|
}
|
|
5530
|
-
externalFileAttributes = ((unixMode & MAX_16_BITS) << 16) | (externalFileAttributes & MAX_8_BITS);
|
|
5531
5785
|
}
|
|
5532
5786
|
({ msdosAttributesRaw, msdosAttributes } = normalizeMsdosAttributes(msdosAttributesRaw, msdosAttributes));
|
|
5533
5787
|
if (hasMsDosProvided) {
|
|
@@ -5587,6 +5841,7 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
5587
5841
|
const encryptionStrength = getOptionValue(zipWriter, options, OPTION_ENCRYPTION_STRENGTH, 3);
|
|
5588
5842
|
const zipCrypto = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIPCRYPTO);
|
|
5589
5843
|
const extendedTimestamp = getOptionValue(zipWriter, options, OPTION_EXTENDED_TIMESTAMP, true);
|
|
5844
|
+
const ntfsTimestamp = getOptionValue(zipWriter, options, OPTION_NTFS_TIMESTAMP);
|
|
5590
5845
|
const keepOrder = getOptionValue(zipWriter, options, OPTION_KEEP_ORDER, true);
|
|
5591
5846
|
const useWebWorkers = getOptionValue(zipWriter, options, OPTION_USE_WEB_WORKERS);
|
|
5592
5847
|
const transferStreams = getOptionValue(zipWriter, options, OPTION_TRANSFER_STREAMS);
|
|
@@ -5596,11 +5851,20 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
5596
5851
|
const signal = getOptionValue(zipWriter, options, OPTION_SIGNAL);
|
|
5597
5852
|
const useUnicodeFileNames = getOptionValue(zipWriter, options, OPTION_USE_UNICODE_FILE_NAMES, true);
|
|
5598
5853
|
const compressionMethod = getOptionValue(zipWriter, options, PROPERTY_NAME_COMPRESSION_METHOD);
|
|
5854
|
+
const registeredCodec = passThrough || compressionMethod === UNDEFINED_VALUE ? UNDEFINED_VALUE : getRegisteredCodec(compressionMethod);
|
|
5599
5855
|
if (!passThrough && compressionMethod !== UNDEFINED_VALUE &&
|
|
5600
|
-
compressionMethod !== COMPRESSION_METHOD_STORE && compressionMethod !== COMPRESSION_METHOD_DEFLATE) {
|
|
5856
|
+
compressionMethod !== COMPRESSION_METHOD_STORE && compressionMethod !== COMPRESSION_METHOD_DEFLATE && !registeredCodec) {
|
|
5601
5857
|
throw new Error(ERR_UNSUPPORTED_COMPRESSION);
|
|
5602
5858
|
}
|
|
5603
5859
|
let level = getOptionValue(zipWriter, options, OPTION_LEVEL);
|
|
5860
|
+
if (zipWriter.options[OPTION_USDZ]) {
|
|
5861
|
+
if (password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) {
|
|
5862
|
+
throw new Error(ERR_UNSUPPORTED_ENCRYPTION_USDZ);
|
|
5863
|
+
}
|
|
5864
|
+
if (level === UNDEFINED_VALUE && compressionMethod === UNDEFINED_VALUE) {
|
|
5865
|
+
level = 0;
|
|
5866
|
+
}
|
|
5867
|
+
}
|
|
5604
5868
|
let useCompressionStream = getOptionValue(zipWriter, options, OPTION_USE_COMPRESSION_STREAM);
|
|
5605
5869
|
let dataDescriptor = getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR);
|
|
5606
5870
|
if (bufferedWrite && dataDescriptor === UNDEFINED_VALUE) {
|
|
@@ -5612,7 +5876,7 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
5612
5876
|
if (level !== UNDEFINED_VALUE && level != 6) {
|
|
5613
5877
|
useCompressionStream = false;
|
|
5614
5878
|
}
|
|
5615
|
-
if (!useCompressionStream && (zipWriter.config.CompressionStream === UNDEFINED_VALUE && zipWriter.config.CompressionStreamZlib === UNDEFINED_VALUE)) {
|
|
5879
|
+
if (!useCompressionStream && !registeredCodec && (zipWriter.config.CompressionStream === UNDEFINED_VALUE && zipWriter.config.CompressionStreamZlib === UNDEFINED_VALUE)) {
|
|
5616
5880
|
level = 0;
|
|
5617
5881
|
}
|
|
5618
5882
|
const zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
|
|
@@ -5656,6 +5920,7 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
5656
5920
|
encryptionStrength,
|
|
5657
5921
|
zipCrypto,
|
|
5658
5922
|
extendedTimestamp,
|
|
5923
|
+
ntfsTimestamp,
|
|
5659
5924
|
keepOrder,
|
|
5660
5925
|
useWebWorkers,
|
|
5661
5926
|
transferStreams,
|
|
@@ -5665,6 +5930,9 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
5665
5930
|
signal,
|
|
5666
5931
|
useUnicodeFileNames,
|
|
5667
5932
|
compressionMethod,
|
|
5933
|
+
format: registeredCodec ? registeredCodec.format : UNDEFINED_VALUE,
|
|
5934
|
+
codecURI: registeredCodec ? registeredCodec.codecURI : UNDEFINED_VALUE,
|
|
5935
|
+
codecVersionNeeded: registeredCodec ? registeredCodec.versionNeeded : UNDEFINED_VALUE,
|
|
5668
5936
|
level,
|
|
5669
5937
|
useCompressionStream,
|
|
5670
5938
|
dataDescriptor,
|
|
@@ -5961,7 +6229,9 @@ async function createFileEntry(reader, writer, { diskNumberStart, lock }, entryI
|
|
|
5961
6229
|
msdosAttributesRaw,
|
|
5962
6230
|
msdosAttributes,
|
|
5963
6231
|
useCompressionStream,
|
|
5964
|
-
passThrough
|
|
6232
|
+
passThrough,
|
|
6233
|
+
format,
|
|
6234
|
+
codecURI
|
|
5965
6235
|
} = options;
|
|
5966
6236
|
const fileEntry = {
|
|
5967
6237
|
lock,
|
|
@@ -6021,7 +6291,9 @@ async function createFileEntry(reader, writer, { diskNumberStart, lock }, entryI
|
|
|
6021
6291
|
encrypted: encrypted && !passThrough,
|
|
6022
6292
|
useWebWorkers,
|
|
6023
6293
|
useCompressionStream,
|
|
6024
|
-
transferStreams
|
|
6294
|
+
transferStreams,
|
|
6295
|
+
format,
|
|
6296
|
+
codecURI
|
|
6025
6297
|
},
|
|
6026
6298
|
config,
|
|
6027
6299
|
streamOptions: { signal, size, onstart, onprogress, onend }
|
|
@@ -6093,6 +6365,7 @@ function getHeaderInfo(options) {
|
|
|
6093
6365
|
rawExtraField,
|
|
6094
6366
|
encryptionStrength,
|
|
6095
6367
|
extendedTimestamp,
|
|
6368
|
+
ntfsTimestamp,
|
|
6096
6369
|
passThrough,
|
|
6097
6370
|
encrypted,
|
|
6098
6371
|
zip64UncompressedSize,
|
|
@@ -6138,7 +6411,8 @@ function getHeaderInfo(options) {
|
|
|
6138
6411
|
let extraFieldExtendedTimestampFlag;
|
|
6139
6412
|
if (extendedTimestamp) {
|
|
6140
6413
|
const lastModTimeUnix = getTimeUnix(lastModDate);
|
|
6141
|
-
|
|
6414
|
+
const lastModTimeUnixInRange = inUnixTimeRange(lastModTimeUnix);
|
|
6415
|
+
if (lastModTimeUnixInRange) {
|
|
6142
6416
|
const extraFieldTimestampLength = 9 + (lastAccessDate ? 4 : 0) + (creationDate ? 4 : 0);
|
|
6143
6417
|
const extraFieldTimestamp = createRecordWriter(extraFieldTimestampLength);
|
|
6144
6418
|
extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x4 : 0);
|
|
@@ -6156,19 +6430,26 @@ function getHeaderInfo(options) {
|
|
|
6156
6430
|
} else {
|
|
6157
6431
|
rawExtraFieldExtendedTimestamp = EMPTY_UINT8_ARRAY;
|
|
6158
6432
|
}
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6433
|
+
const writeExtraFieldNTFS = ntfsTimestamp === UNDEFINED_VALUE ?
|
|
6434
|
+
!lastModTimeUnixInRange || Boolean(lastAccessDate || creationDate) :
|
|
6435
|
+
ntfsTimestamp;
|
|
6436
|
+
if (writeExtraFieldNTFS) {
|
|
6437
|
+
try {
|
|
6438
|
+
const lastModTimeNTFS = getTimeNTFS(lastModDate);
|
|
6439
|
+
const extraFieldNTFS = createRecordWriter(36);
|
|
6440
|
+
extraFieldNTFS.uint16(EXTRAFIELD_TYPE_NTFS);
|
|
6441
|
+
extraFieldNTFS.uint16(32);
|
|
6442
|
+
extraFieldNTFS.skip(4);
|
|
6443
|
+
extraFieldNTFS.uint16(EXTRAFIELD_TYPE_NTFS_TAG1);
|
|
6444
|
+
extraFieldNTFS.uint16(24);
|
|
6445
|
+
extraFieldNTFS.uint64(lastModTimeNTFS);
|
|
6446
|
+
extraFieldNTFS.uint64(getTimeNTFS(lastAccessDate) || lastModTimeNTFS);
|
|
6447
|
+
extraFieldNTFS.uint64(getTimeNTFS(creationDate) || lastModTimeNTFS);
|
|
6448
|
+
rawExtraFieldNTFS = extraFieldNTFS.array;
|
|
6449
|
+
} catch {
|
|
6450
|
+
rawExtraFieldNTFS = EMPTY_UINT8_ARRAY;
|
|
6451
|
+
}
|
|
6452
|
+
} else {
|
|
6172
6453
|
rawExtraFieldNTFS = EMPTY_UINT8_ARRAY;
|
|
6173
6454
|
}
|
|
6174
6455
|
} else {
|
|
@@ -6206,6 +6487,10 @@ function getHeaderInfo(options) {
|
|
|
6206
6487
|
if (compressionMethod === UNDEFINED_VALUE) {
|
|
6207
6488
|
compressionMethod = compressed ? COMPRESSION_METHOD_DEFLATE : COMPRESSION_METHOD_STORE;
|
|
6208
6489
|
}
|
|
6490
|
+
const { codecVersionNeeded } = options;
|
|
6491
|
+
if (compressed && codecVersionNeeded !== UNDEFINED_VALUE) {
|
|
6492
|
+
version = version > codecVersionNeeded ? version : codecVersionNeeded;
|
|
6493
|
+
}
|
|
6209
6494
|
if (zip64) {
|
|
6210
6495
|
version = version > VERSION_ZIP64 ? version : VERSION_ZIP64;
|
|
6211
6496
|
}
|
|
@@ -6219,6 +6504,7 @@ function getHeaderInfo(options) {
|
|
|
6219
6504
|
if (extraFieldLength > MAX_16_BITS) {
|
|
6220
6505
|
throw new Error(ERR_INVALID_EXTRAFIELD_DATA);
|
|
6221
6506
|
}
|
|
6507
|
+
const dosLastModDate = new Date(Math.ceil(lastModDate.getTime() / 2000) * 2000);
|
|
6222
6508
|
const {
|
|
6223
6509
|
headerArray,
|
|
6224
6510
|
headerView,
|
|
@@ -6228,7 +6514,7 @@ function getHeaderInfo(options) {
|
|
|
6228
6514
|
bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod),
|
|
6229
6515
|
compressionMethod,
|
|
6230
6516
|
uncompressedSize,
|
|
6231
|
-
lastModDate:
|
|
6517
|
+
lastModDate: dosLastModDate < MIN_DATE ? MIN_DATE : dosLastModDate > MAX_DATE ? MAX_DATE : dosLastModDate,
|
|
6232
6518
|
rawFilename,
|
|
6233
6519
|
zip64CompressedSize,
|
|
6234
6520
|
zip64UncompressedSize,
|
|
@@ -7317,7 +7603,7 @@ try {
|
|
|
7317
7603
|
// ignored
|
|
7318
7604
|
}
|
|
7319
7605
|
|
|
7320
|
-
var{Uint8Array:x,Uint16Array:g,Int32Array:R,TransformStream:H,Math:z,Error:L,Array:k}=globalThis,pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new x(0),qe=new g(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Se=[];for(let e=0;e<14;e++)Se.push(e,0==e?4:2);var Ee=new g([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]),ge=new g([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]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength),_=n instanceof x?n.subarray(r,r+i):new x(n.buffer,n.byteOffset+r,i);f.set(_,t);}function Ve(e,t,n){0!=n&&(e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n);}function je(){return {next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Je(e,t){let n=1<<t;return {o:e,u:new x(n),h:n,v:t,k:0,m:0,T:0,p:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r);}return new g(t)}var ne=class{constructor(e,t){this.M=e,this.C=t,this.Z=0;}},re=class{constructor(e,t,n,r,i){this.W=e,this.q=t,this.S=n,this.L=r,this.$=i;}};function D_(e){return Q_[e<-6||e>2?9:2-e]||""}function we(e,t){try{e.msg=D_(t);}catch(n){e.msg="zlib error "+String(t)+" ("+n+")";}return t}function $e(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function T(e,t){e.D[e.A++]=t;}function Ae(e,t){T(e,255&t),T(e,t>>>8&255);}function e_(e,t,n){let r=255&n,i=65535&t,f=e.I+e.H;return e.D[f]=255&i,e.D[f+1]=i>>>8&255,e.D[f+2]=r,e.H+=3,i=i-1&65535,e.N[__[r]+ie+1].j++,e.U[y_(i)].j++,e.H==e.R}function De(e,t){let n=255&t,r=e.I+e.H;return e.D[r]=0,e.D[r+1]=0,e.D[r+2]=n,e.H+=3,e.N[n].j++,e.H==e.R}function ye(e){return e.h-ae}function y_(e){return e<256?A_[e]:A_[256+(e>>7)]}function v_(e){let t=Ce+7,n=1<<t,r=(1<<t)-1,i=z.floor((t+v-1)/v),f=1<<8+Ce;return {...Je(e,15),o:e,Y:42,P:0,B:void 0,F:32767,G:t,O:n,V:r,X:i,J:new g(32768),K:new g(n),ee:f,D:new x(32768),te:0,ne:32768,A:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,he:0,de:0,we:0,be:0,ve:0,ke:0,ge:0,me:0,xe:0,Te:0,ye:new R(2*Te+1),pe:new x(2*Te+1),ze:new g(be+1),H:0,R:0,Me:Z,I:0,Ce:0,Ze:0,We:8,qe:32768,Se:0,Le:0,$e:0,N:new k(fe).fill(0).map(()=>Q()),U:new k(2*me+1).fill(0).map(()=>Q()),De:new k(2*oe+1).fill(0).map(()=>Q()),Ae:w_(),Ie:w_(),He:w_()}}function I_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Qe=r,f.je=i,t.push(f);}return t}function Q(){return {j:0,Qe:0,Ne:0,je:0}}function w_(){return new ne([],dn(null,Z,0,0,0))}function dn(e,t,n,r,i){return new re(e,t,n,r,i)}function $_(){let e=new k(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function k_(e){let{code:t,length:n}=mn(e),r=new g(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?$e(_,e):0,r[i++]=e;}return new g(r)}function et(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f);}r<n&&(r=n);let i=new x(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i);}return i[f]=e.length-1,i}function _t(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f);}let r=new x(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function tt(e){let t=new x(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r];}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function mn(e){let t=z.max(...e),n=new k(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new k(e.length).fill(0),i=new k(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++);}return {code:r,length:e}}var Ce=8,v=3,ee=258,ae=ee+v+1,nt=4096,Ue=16,He=ee,bn=29,ie=256,Te=ie+1+bn,me=30,oe=19,fe=2*Te+1,be=15,rt=9,at=255,it=32,ot=4,ve=256,t_=16,n_=17,r_=18,ft=0,N_=1,lt=2,$=-1,Q_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Se),Be=new g(19);Be[16]=2,Be[17]=3,Be[18]=7;var hn=k_($_()),sn=k_(new k(30).fill(5)),Fe=I_(hn),R_=I_(sn),__=et(ge,a_,ee),A_=tt(_t(Ee,i_));function he(e,t,n){if(void 0===t||void 0===n)return 1;let r=65535&e,i=e>>>16&65535,f=0;for(;n>0;){let e=n>2e3?2e3:n;n-=e;do{r=r+t[f++]|0,i=i+r|0;}while(--e);r%=65521,i%=65521;}return (i<<16|r)>>>0}var Ze=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Ze[0][e]=t;}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Ze[t-1][e];Ze[t][e]=n>>>8^Ze[0][255&n];}var[ut,xn,pn,Sn,En,gn,Tn,wn]=Ze;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=z.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,true),n=e.getInt32(i+4,true);r=wn[255&t]^Tn[t>>>8&255]^gn[t>>>16&255]^En[t>>>24&255]^Sn[255&n]^pn[n>>>8&255]^xn[n>>>16&255]^ut[n>>>24&255];}}for(;i<n;i++)r=r>>>8^ut[255&(r^t[i])];return (4294967295^r)>>>0}function xt(e){16==e.p?(Ae(e,e.T),e.T=0,e.p=0):e.p>=8&&(T(e,e.T),e.T>>=8,e.p-=8);}function pt(e){e.p>8?Ae(e,e.T):e.p>0&&T(e,e.T),e.Ce=1+(e.p-1&7),e.T=0,e.p=0;}function An(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].je;0!=t&&(e[i].Qe=$e(f[t]++,t));}}function C(e,t,n){e.p>Ue-n?(e.T=65535&(e.T|t<<e.p),Ae(e,e.T),e.T=t>>Ue-e.p&65535,e.p+=n-Ue):(e.T=65535&(e.T|t<<e.p),e.p+=n);}function St(e){for(let t=0;t<e.N.length;t++)e.N[t].j=0;for(let t=0;t<e.U.length;t++)e.U[t].j=0;for(let t=0;t<e.De.length;t++)e.De[t].j=0;e.N[ve].j=1,e.ie=e.fe=0,e.H=e._e=0;}function Et(e){if(e.N&&e.N.length>=fe)for(let t=0;t<fe;t++)e.N[t]=Q();else {e.N=[];for(let t=0;t<fe;t++)e.N.push(Q());}if(e.U&&e.U.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.U[t]=Q();else {e.U=[];for(let t=0;t<2*me+1;t++)e.U.push(Q());}if(e.De&&e.De.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.De[t]=Q();else {e.De=[];for(let t=0;t<2*oe+1;t++)e.De.push(Q());}e.Ae=new ne(e.N,new re(Fe,a_,ie+1,Te,be)),e.Ie=new ne(e.U,new re(R_,i_,0,me,be)),e.He=new ne(e.De,new re(null,Be,0,oe,7)),e.T=0,e.p=0,e.Ce=0,St(e);}var se=1;function Dn(e,t,n){return n=e.ye[se],e.ye[se]=e.ye[e.Le--],z_(e,t,se),n}function mt(e,t,n,r){return e[t].j<e[n].j||e[t].j==e[n].j&&r[t]<=r[n]}function z_(e,t,n){let r=e.ye[n],i=n<<1;for(;i<=e.Le&&(i<e.Le&&mt(t,e.ye[i+1],e.ye[i],e.pe)&&i++,!mt(t,r,e.ye[i],e.pe));)e.ye[n]=e.ye[i],n=i,i<<=1;e.ye[n]=r;}function yn(e,t){let n,r,i,f,_,l,o=t.M,u=t.Z,a=t.C.W,c=t.C.q,s=t.C.S,h=t.C.$,d=0;for(f=0;f<=be;f++)e.ze[f]=0;for(o[e.ye[e.$e]].je=0,n=e.$e+1;n<fe;n++)r=e.ye[n],f=o[o[r].Ne].je+1,f>h&&(f=h,d++),o[r].je=f,!(r>u)&&(e.ze[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].j,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].je+_)));if(0!=d){do{for(f=h-1;0==e.ze[f];)f--;e.ze[f]--,e.ze[f+1]+=2,e.ze[h]--,d-=2;}while(d>0);for(f=h;0!=f;f--)for(r=e.ze[f];0!=r;)i=e.ye[--n],!(i>u)&&(o[i].je!=f&&(e.ie+=(f-o[i].je)*o[i].j,o[i].je=f),r--);}}function L_(e,t){let n,r,i,f=t.M,_=t.C.W,l=t.C.L,o=-1;for(e.Le=0,e.$e=fe,n=0;n<l;n++)0!=f[n].j?(e.ye[++e.Le]=o=n,e.pe[n]=0):f[n].je=0;for(;e.Le<2;)i=e.ye[++e.Le]=o<2?++o:0,f[i].j=1,e.pe[i]=0,e.ie--,_&&(e.fe-=_[i].je);for(t.Z=o,n=z.floor(e.Le/2);n>=1;n--)z_(e,f,n);i=l;do{n=Dn(e,f,n),r=e.ye[se],e.ye[--e.$e]=n,e.ye[--e.$e]=r,f[i].j=f[n].j+f[r].j,e.pe[i]=(e.pe[n]>=e.pe[r]?e.pe[n]:e.pe[r])+1,f[n].Ne=f[r].Ne=i,e.ye[se]=i++,z_(e,f,se);}while(e.Le>=2);e.ye[--e.$e]=e.ye[se],yn(e,t),An(f,t.Z,e.ze);}function bt(e,t,n){let r,i,f=-1,_=t[0].je,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].je=65535,r=0;r<=n;r++)i=_,_=t[r+1].je,!(++l<o&&i==_)&&(l<u?e.De[i].j+=l:0!=i?(i!=f&&e.De[i].j++,e.De[t_].j++):l<=10?e.De[n_].j++:e.De[r_].j++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4));}function ht(e,t,n){let r,i=-1,f=t[0].je,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].je,!(++_<l&&r==f)){if(_<o)do{C(e,e.De[r].Qe,e.De[r].je);}while(0!=--_);else 0!=r?(r!=i&&(C(e,e.De[r].Qe,e.De[r].je),_--),C(e,e.De[t_].Qe,e.De[t_].je),C(e,_-3,2)):_<=10?(C(e,e.De[n_].Qe,e.De[n_].je),C(e,_-3,3)):(C(e,e.De[r_].Qe,e.De[r_].je),C(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4);}}function vn(e){let t;for(bt(e,e.N,e.Ae.Z),bt(e,e.U,e.Ie.Z),L_(e,e.He),t=oe-1;t>=3&&0==e.De[pe[t]].je;t--);return e.ie+=3*(t+1)+5+5+4,t}function In(e,t,n,r){let i;for(C(e,t-257,5),C(e,n-1,5),C(e,r-4,4),i=0;i<r;i++)C(e,e.De[pe[i]].je,3);ht(e,e.N,t-1),ht(e,e.U,n-1);}function Pe(e,t,n,r,i=0){C(e,(ft<<1)+r,3),pt(e),Ae(e,n),Ae(e,~n),n&&t&&M(e.D,e.A,t,i,n),e.A+=n;}function gt(e){xt(e);}function Tt(e){C(e,N_<<1,3),C(e,Fe[ve].Qe,Fe[ve].je),xt(e);}function st(e,t,n){let r,i,f,_,l=0;if(0!=e.H)do{r=255&e.Me[l],r+=(255&e.Me[l+1])<<8,i=e.Me[l+2],l+=3,0==r?C(e,t[i].Qe,t[i].je):(f=__[i],C(e,t[f+ie+1].Qe,t[f+ie+1].je),_=a_[f],0!=_&&(i-=ge[f],C(e,i,_)),r--,f=y_(r),C(e,n[f].Qe,n[f].je),_=i_[f],0!=_&&(r-=Ee[f],C(e,r,_)));}while(l<e.H);C(e,t[ve].Qe,t[ve].je);}function kn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.N[t].j)return 0;if(0!=e.N[9].j||0!=e.N[10].j||0!=e.N[13].j)return 1;for(t=32;t<ie;t++)if(0!=e.N[t].j)return 1;return 0}function wt(e,t,n,r,i=0){let f,_,l=0;e.ve>0?(2==e.o.t&&(e.o.t=kn(e)),L_(e,e.Ae),L_(e,e.Ie),l=vn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ke)&&(f=_)):f=_=n+5,n+4<=f&&t?Pe(e,t,n,r,i):_==f?(C(e,(N_<<1)+r,3),st(e,Fe,R_)):(C(e,(lt<<1)+r,3),In(e,e.Ae.Z+1,e.Ie.Z+1,l+1),st(e,e.N,e.U)),St(e),r&&pt(e);}function vt(){let e=je();return e.l=v_(e),e}var Ye=[{Ue:Lt,Re:0,Ye:0,Ee:0,Pe:0},{Ue:U_,Re:4,Ye:4,Ee:8,Pe:4},{Ue:U_,Re:4,Ye:5,Ee:16,Pe:8},{Ue:U_,Re:4,Ye:6,Ee:32,Pe:32},{Ue:Ne,Re:4,Ye:4,Ee:16,Pe:16},{Ue:Ne,Re:8,Ye:16,Ee:32,Pe:32},{Ue:Ne,Re:8,Ye:16,Ee:128,Pe:128},{Ue:Ne,Re:8,Ye:32,Ee:128,Pe:256},{Ue:Ne,Re:32,Ye:128,Ee:258,Pe:1024},{Ue:Ne,Re:32,Ye:258,Ee:258,Pe:4096}];function At(e){return 2*e-(e>4?9:0)}function l_(e,t,n){return ((t<<e.X^n)&e.V)>>>0}function u_(e,t){e.be=l_(e,e.be,e.u[t+(v-1)]);let n=e.J[t&e.F]=e.K[e.be];return e.K[e.be]=t,n}function It(e){e.K[e.O-1]=0,Ve(e.K,0,(e.O-1)*e.K.BYTES_PER_ELEMENT);}function Un(e){let t,n,r=e.h;for(t=e.O;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.J[t],e.J[t]=n>=r?n-r:0;}function H_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.P?e.i=he(e.i,new x(t.buffer,t.byteOffset+n,i),i):2==e.l.P&&(e.i=W(e.i,new x(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.qe-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ye(e)&&(M(e.u,0,e.u,r,r-n),e.Se-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Un(e),n+=r),0==e.o.avail_in)break;if(t=H_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=v){let t=e.ae-e.le;for(e.be=e.u[t],e.be=l_(e,e.be,e.u[t+1]);e.le&&(e.be=l_(e,e.be,e.u[t+v-1]),e.J[t&e.F]=e.K[e.be],e.K[e.be]=t,t++,e.le--,!(e.ce+e.le<v)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.k<e.qe){let t,n=e.ae+e.ce;e.k<n?(t=e.qe-n,t>He&&(t=He),Ve(e.u,n,t),e.k=n+t):e.k<n+He&&(t=n+He-e.k,t>e.qe-e.k&&(t=e.qe-e.k),Ve(e.u,e.k,t),e.k+=t);}}function kt(e,t,n=8,r=15,i=Ce,f=0){let _=1;if(!e)return -2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return -2;r=-r;}else r>15&&(_=2,r-=16);if(i<1||i>rt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return -2;8==r&&(r=9);let l=v_(e);return l?(e.l=l,l.o=e,l.Y=42,l.P=_,l.B=void 0,l.v=r,l.h=1<<l.v,l.F=l.h-1,l.G=i+7,l.O=1<<l.G,l.V=l.O-1,l.X=(l.G+v-1)/v,l.u=new x(2*l.h),l.J=new g(l.h),l.K=new g(l.O),l.k=0,l.ee=1<<i+6,l.D=new x(l.ee*ot),l.ne=4*l.ee,l.u&&l.J&&l.K&&l.D?(l.Me=l.D.subarray(l.ee),l.I=l.te+l.ee,l.R=3*(l.ee-1),l.ve=t,l.ke=f,l.We=n,Fn(e)):(l.Y=666,e.msg=D_(-4),P_(e),-4)):-4}function Z_(e){if(null==e)return true;let t=e.l;return !t||t.o!=e||42!=t.Y&&57!=t.Y&&69!=t.Y&&73!=t.Y&&91!=t.Y&&103!=t.Y&&113!=t.Y&&666!=t.Y}function Hn(e){let t;return Z_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.A=0,t.re=t.te,t.P<0&&(t.P=-t.P),t.Y=2==t.P?57:42,e.i=2==t.P?W(0):he(0),t.oe=-2,Et(t),0)}function Bn(e){e.qe=2*e.h,It(e),e.Te=Ye[e.ve].Ye,e.ge=Ye[e.ve].Re,e.me=Ye[e.ve].Ee,e.xe=Ye[e.ve].Pe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.he=v-1,e.we=0,e.be=0;}function Fn(e){let t=Hn(e);return 0==t&&Bn(e.l),t}function Me(e,t){T(e,t>>8),T(e,255&t);}function q(e){let t,n=e.l;gt(n),t=n.A,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.D,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.A-=t,0==n.A&&(n.re=n.te));}function Ie(e,t){let n=e.l;n.B&&n.B.Be&&(e.i=W(e.i,new x(n.D.buffer,n.te+t,n.A-t),n.A-t));}function Nt(e,t){let n,r=e.l;if(Z_(e)||t>5||t<0)return we(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.Y&&4!=t)return we(e,-2);if(0==e.avail_out)return we(e,-5);if(n=r.oe,r.oe=t,0!=r.A){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&At(t)<=At(n)&&4!=t)return we(e,-5);if(666==r.Y&&0!=e.avail_in)return we(e,-5);if(42==r.Y&&0==r.P&&(r.Y=113),42==r.Y){let t,n=8+(r.v-8<<4)<<8;if(t=r.ke>=2||r.ve<2?0:r.ve<6?1:6==r.ve?2:3,n|=t<<6,0!=r.ae&&(n|=it),n+=31-n%31,Me(r,n),0!=r.ae&&(Me(r,e.i>>16),Me(r,65535&e.i)),e.i=1,r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(57==r.Y)if(e.i=W(0),T(r,31),T(r,139),T(r,8),r.B)T(r,(r.B.Fe?1:0)+(r.B.Be?2:0)+(null==r.B.Ge?0:4)+(null==r.B.Oe?0:8)+(null==r.B.Ve?0:16)),T(r,255&r.B.Xe),T(r,r.B.Xe>>>8&255),T(r,r.B.Xe>>>16&255),T(r,r.B.Xe>>>24&255),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,255&r.B.Je),null!=r.B.Ge&&(T(r,255&r.B.Ke),T(r,r.B.Ke>>>8&255)),r.B.Be&&(e.i=W(e.i,r.D,r.A)),r.Ze=0,r.Y=69;else if(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,at),r.Y=113,q(e),0!=r.A)return r.oe=$,0;if(69==r.Y){if(r.B&&null!=r.B.Ge){let t=r.A,n=(65535&r.B.Ke)-r.Ze;for(;r.A+n>r.ne;){let i=r.ne-r.A;if(M(r.D,r.A,r.B.Ge,r.Ze,i),r.A=r.ne,Ie(e,t),r.Ze+=i,q(e),0!=r.A)return r.oe=$,0;t=0,n-=i;}M(r.D,r.A,r.B.Ge,r.Ze,n),r.A+=n,Ie(e,t),r.Ze=0;}r.Y=73;}if(73==r.Y){if(r.B&&r.B.Oe&&r.B.Oe.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Oe[r.Ze++],T(r,t);}while(0!=t);Ie(e,n),r.Ze=0;}r.Y=91;}if(91==r.Y){if(r.B&&r.B.Ve&&r.B.Ve.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Ve[r.Ze++],T(r,t);}while(0!=t);Ie(e,n);}r.Y=103;}if(103==r.Y){if(r.B&&r.B.Be){if(r.A+2>r.ne&&(q(e),0!=r.A))return r.oe=$,0;T(r,255&e.i),T(r,e.i>>>8&255),e.i=W(0);}if(r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.Y){let n=0==r.ve?Lt(r,t):2==r.ke?Pn(r,t):3==r.ke?Zn(r,t):Ye[r.ve].Ue(r,t);if((2==n||3==n)&&(r.Y=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Tt(r):5!=t&&(Pe(r,null,0,0),3==t&&(It(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.P<=0?1:(2==r.P?(T(r,255&e.i),T(r,e.i>>>8&255),T(r,e.i>>>16&255),T(r,e.i>>>24&255),T(r,255&e.total_in),T(r,e.total_in>>>8&255),T(r,e.total_in>>>16&255),T(r,e.total_in>>>24&255)):(Me(r,e.i>>>16&65535),Me(r,65535&e.i)),q(e),r.P>0&&(r.P=-r.P),0!=r.A?0:1)}function P_(e){if(Z_(e))return -2;let t=e.l,n=t.Y;return t.u=Z,t.J=qe,t.K=qe,t.D=Z,t.Me=Z,t.ye=new R(0),t.pe=Z,t.ze=qe,t.N.length=0,t.U.length=0,t.De.length=0,t.B=void 0,t.te=0,t.re=0,t.I=0,113==n?-3:0}function Rt(e,t){let n,r,i=e.xe,f=e.ae,_=e.he,l=e.me,o=e.ae>ye(e)?e.ae-ye(e):0,u=e.J,a=e.F,c=e.u,s=e.ce,h=ee<s?ee:s,d=c[f],w=c[f+1],b=c[f+_-1],v=c[f+_];_>=e.ge&&(i>>=2),l>s&&(l=s);do{if(n=t,c[n+_]!=v||c[n+_-1]!=b||c[n]!=d||c[n+1]!=w)continue;let i=2;for(;i<h&&c[f+i]==c[n+i];)i++;if(r=i,r>_){if(e.Se=t,_=r,r>=l)break;b=c[f+_-1],v=c[f+_];}}while((t=u[t&a])>o&&0!=--i);return _<=s?_:s}function zt(e,t){wt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o);}function j(e,t){return zt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var Dt=65535;function ke(e,t){return e<t?e:t}function Lt(e,t){let n,r,i,f=ke(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=Dt,i=e.p+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Pe(e,null,0,_),e.D[e.A-4]=n,e.D[e.A-3]=n>>8,e.D[e.A-2]=~n,e.D[e.A-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(H_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n);}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae;}else e.qe-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=ke(l,e.h-e.le);e.ue=e.ae;}return e.k<e.ae&&(e.k=e.ae),_?(e.Ce=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.qe-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(H_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=ke(i,e.h-e.le)),e.k<e.ae&&(e.k=e.ae),i=e.p+42>>3,i=ke(e.ne-i,Dt),f=ke(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=ke(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Pe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.Ce=8),_?2:0)}function U_(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),0!=n&&e.ae-n<=ye(e)&&(e.se=Rt(e,n)),e.se>=v)if(e.ae,e.Se,e.se,r=e_(e,e.ae-e.Se,e.se-v),e.ce-=e.se,e.se<=e.Te&&e.ce>=v){e.se--;do{e.ae++,n=u_(e,e.ae);}while(0!=--e.se);e.ae++;}else e.ae+=e.se,e.se=0,e.be=e.u[e.ae],e.be=l_(e,e.be,e.u[e.ae+1]);else r=De(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,false);if(null!=t)return t}}if(e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Ne(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),e.he=e.se,e.de=e.Se,e.se=v-1,0!=n&&e.he<e.Te&&e.ae-n<=ye(e)&&(e.se=Rt(e,n),e.se<=5&&(1==e.ke||e.se==v&&e.ae-e.Se>nt)&&(e.se=v-1)),e.he>=v&&e.se<=e.he){let t=e.ae+e.ce-v;e.ae,e.de,e.he,r=e_(e,e.ae-1-e.de,e.he-v),e.ce-=e.he-1,e.he-=2;do{++e.ae<=t&&(n=u_(e,e.ae));}while(0!=--e.he);if(e.we=0,e.se=v-1,e.ae++,r){let t=j(e,false);if(null!=t)return t}}else if(e.we){if(r=De(e,e.u[e.ae-1]),r&&zt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;}if(e.we&&(r=De(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Zn(e,t){let n,r,i,f;for(;;){if(e.ce<=ee){if(c_(e),e.ce<=ee&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=v&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+ee;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=ee-(f-i),e.se>e.ce&&(e.se=e.ce);}if(e.se>=v?(e.ae,e.ae,e.se,n=e_(e,1,e.se-v),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=De(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Pn(e,t){let n=false;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=De(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Ot=Ee.map(e=>e+1),Ct=ge.subarray(0,-1).map(e=>e+3),Mn=[16,1,73,1,200,1],Yn=[144,1,72,1,78,1],Ut=Se.map(qt),Ht=Se.map(Vt);Ut.push(64,2),Ht.push(142,2);var Bt=de.slice(0,-2).map(qt),Ft=de.slice(0,-2).map(Vt);Bt.push(...Mn),Ft.push(...Yn);var Zt=new g([...Ct,258,0,0]),Pt=new g([...Ct,3,0,0]),Mt=te(Bt),Yt=te(Ft),Xt=new g([...Ot,0,0]),Wt=new g([...Ot,32769,49153]),Gt=te(Ut),Kt=te(Ht);function qt(e,t){return t%2?e:e+16}function Vt(e,t){return t%2?e:e+128}function Jt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.T>>>0,a=r.p>>>0,c=r.et,s=r.tt,h=(1<<r.nt)-1,d=(1<<r.rt)-1,w=r.h>>>0,b=r.k>>>0,v=r.m>>>0,k=r.it,g=f-(t-e.avail_out),m=f+(e.avail_out-257),x=i+(e.avail_in-5),T=0,y=0,p=0,z=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8;}n=c[u&h];t:for(;;){if(p=n>>>16&255,u>>>=p,a-=p,p=n>>>24,0==p){l[f++]=65535&n;break}if(16&p){if(T=65535&n,p&=15,p){for(;a<p;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}T+=u&(1<<p)-1,u>>>=p,a-=p;}for(;a<15;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}n=s[u&d];n:for(;;){if(p=n>>>16&255,u>>>=p,a-=p,p=n>>>24,16&p){if(y=65535&n,p&=15,p){for(;a<p;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}y+=u&(1<<p)-1,u>>>=p,a-=p;}let t=T,c=f-g;if(y>c){let n=y-c;if(n>b&&k){e.msg="invalid distance too far back",r.ft=16209;break e}if(0==v){if(z=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-y;}else if(v<n){z=w+v-n;let e=n-v;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let t=0;t<e;++t)l[f++]=o[z++];if(t-=e,z=0,v<t){for(let e=0;e<v;++e)l[f++]=o[z++];t-=v,z=f-y;}}else {if(z=v-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-y;}for(;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}else {for(z=f-y;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}break}if(64&p){e.msg="invalid distance code",r.ft=16209;break e}n=s[(65535&n)+(u&(1<<p)-1)];continue n}break}if(64&p){if(32&p){r.ft=16191;break e}e.msg="invalid literal/length code",r.ft=16209;break e}n=c[(65535&n)+(u&(1<<p)-1)];continue t}}while(i<x&&f<m);let M=a>>3;i-=M,a-=M<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<x?x-i+5:5-(i-x),e.avail_out=f<m?m-f+257:257-(f-m),r.T=u>>>0,r.p=a>>>0;}var Xn=new R(0);function M_(e,t){let n=Xn,r=t?ue+m_:ue+d_;return {...Je(e,0),o:e,ft:16180,_t:false,P:0,lt:false,ot:0,ut:0,ct:0,st:0,u:Z,ht:0,dt:0,Ge:0,et:n,tt:n,nt:0,rt:0,wt:0,bt:0,vt:0,kt:0,gt:n,xt:new g(320),Tt:new g(288),yt:new R(r),zt:0,it:true,Mt:0,Ct:0,Zt:t}}function We(e,t,n){return e<<24|t<<16|n}function b_(e=0,t=0,n=0){return We(e,t,n)}function h_(e=1){return We(64,e,0)}function Qt(e=0){return We(96,e,0)}function Y_(e){return (255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Gn={Zt:false,Wt:Zt,qt:Mt,St:Xt,Lt:Gt,$t:20,Dt:257,At:0,It:d_,Ht:false,Qt:true},Kn={Zt:true,Wt:Pt,qt:Yt,St:Wt,Lt:Kt,$t:19,Dt:256,At:-1,It:m_,Ht:true,Qt:false};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,h,d,w,b,v,k,m,x,T,y,p,z,M,C,Z=new g(Le+1),W=new g(Le+1),q=l?Kn:Gn;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.jt,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return q.Qt?(y=h_(1),r.jt[0]=y,r.jt[1]=y,i.jt=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return -1;if(w>0&&(0==e||1!=c))return -1;for(W[1]=0,o=1;o<Le;o++)W[o+1]=W[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[W[t[u]]++]=u);switch(e){case 0:z=M=f,C=q.$t;break;case 1:z=q.Wt,M=q.qt,C=q.Dt;break;default:z=q.St,M=q.Lt,C=q.At;}if(v=0,u=0,o=a,p=_.jt,h=s,d=0,x=-1,b=1<<s,T=b-1,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;for(;;){y=qn(f,u,o,d,e,z,M,C,q.Zt),k=1<<o-d,m=1<<h,a=m;do{m-=k;let e=(v>>d)+m;r.jt[p+e]=y;}while(0!=m);for(k=1<<o-1;v&k;)k>>=1;if(0!=k?(v&=k-1,v+=k):v=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]];}if(o>s&&(v&T)!=x){for(0==d&&(d=s),p+=1<<h,h=o-d,w=1<<h;h+d<c&&(w-=Z[h+d],!(w<=0));)h++,w<<=1;if(b+=1<<h,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;x=v&T,r.jt[_.jt+x]=We(h,s,p-_.jt);}}if(0!=v)for(y=h_(o-d);0!=v;){for(0!=d&&(v&T)!=x&&(d=0,o=s,p=_.jt,h=s,y=h_(o)),r.jt[p+(v>>d)]=y,k=1<<o-1;v&k;)k>>=1;0!=k?(v&=k-1,v+=k):v=0;}return _.jt+=b,i.jt=s,0}function qn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=b_(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=b_(_[i],n-r,f[i]);}else {let i=o?e[t]:e[t]-l;u=b_(_[i],n-r,f[i]);}else u=Qt(n-r);return u}var p_=new R(0),Qn={Nt:true,Ut:new R(544),Rt:p_,Yt:p_},$n={Nt:true,Ut:new R(544),Rt:p_,Yt:p_};function $t(){let e=je();return e.l=M_(e,false),e}function Ge(e){let t;return !(e&&(t=e.l,!(!t||t.o!=e||t.Zt&&(t.ft<16191||t.ft>16209)||!t.Zt&&(t.ft<16180||t.ft>16211))))}function er(e){let t;return Ge(e)?-2:(t=e.l,e.total_in=e.total_out=t.st=0,e.msg="",t.P&&(e.i=1&t.P),t.ft=t.Zt?16191:16180,t._t=false,t.lt=false,t.ot=-1,t.ut=t.Zt?65536:32768,delete t.B,t.T=0,t.p=0,t.et=t.yt,t.tt=t.yt,t.gt=t.yt,t.it=true,t.Mt=-1,0)}function _r(e){let t;return Ge(e)?-2:(t=e.l,t.h=0,t.k=0,t.m=0,er(e))}function tr(e,t){let n,r;if(Ge(e))return -2;if(r=e.l,t<0){if(t<-16)return -2;n=0,r.Zt=-16==t,t=-t;}else n=5+(t>>4),r.Zt=false,t<48&&(t&=15);let i=r.Zt?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.v!=t&&(r.u=Z),r.P=n,r.v=t,_r(e))}function en(e,t){let n,r;if(!e)return -2;e.msg="";let i=-16==t;return r=M_(e,i),e.l=r,r.o=e,r.ft=i?16191:16180,n=tr(e,t),n}function nr(e){let t=e.Zt?$n:Qn,n={jt:0};if(t.Nt){let r,i,f;for(r=0;r<144;)e.xt[r++]=8;for(;r<256;)e.xt[r++]=9;for(;r<280;)e.xt[r++]=7;for(;r<288;)e.xt[r++]=8;t.Ut.fill(0),f=t.Ut,t.Rt=f,i=9;let _={jt:f},l={jt:i},o={jt:0};for(Oe(1,e.xt,288,_,l,e.Tt,o,e.Zt),f=_.jt,i=l.jt,e.zt=o.jt,r=0;r<32;)e.xt[r++]=5;i=5;let u=o.jt,a={jt:f},c={jt:i};n.jt=u,Oe(2,e.xt,32,a,c,e.Tt,n,e.Zt),t.Yt=f.slice(u),t.Nt=false;}e.et=t.Rt,e.nt=9,e.tt=t.Yt,e.rt=5,e.zt=n.jt;}function rr(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new x(1<<r.v),r.u)))return 1;if(0==r.h&&(r.h=1<<r.v,r.m=0,r.k=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.k=r.h;else {let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.k=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.k<r.h&&(r.k+=e));}return 0}var S_=class extends L{constructor(){super("Need more input");}};function _n(e,t){let n,r,i,f,_,l,o,u,a,c,s,h,d,w,b,v,k,g=new x(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return -2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ft&&(n.ft=16192),z(),c=l,s=o,k=0;try{for(;;)switch(n.ft){case 16180:if(0==n.P){n.ft=16192;break}if(L(16),2&n.P&&35615==u){0==n.v&&(n.v=15),n.ct=W(0),n.ct=y(n.ct,u),q(),n.ft=16181;break}if(n.B&&(n.B.Et=-1),!(1&n.P)||(($(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ft=16209;break}if(8!=$(4)){e.msg="unknown compression method",n.ft=16209;break}if(D(4),v=$(4)+8,0==n.v&&(n.v=v),v>15||v>n.v){e.msg="invalid window size",n.ft=16209;break}n.ut=1<<v,n.ot=0,e.i=n.ct=he(0),n.ft=512&u?16189:16191,q();break;case 16181:if(L(16),n.ot=u,8!=(255&n.ot)){e.msg="unknown compression method",n.ft=16209;break}if(57344&n.ot){e.msg="unknown header flags set",n.ft=16209;break}n.B&&(n.B.Fe=u>>8&1),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q(),n.ft=16182;case 16182:L(32),n.B&&(n.B.Xe=u),512&n.ot&&4&n.P&&(n.ct=p(n.ct,u)),q(),n.ft=16183;case 16183:L(16),n.B&&(n.B.Pt=255&u,n.B.Je=u>>8),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q(),n.ft=16184;case 16184:1024&n.ot?(L(16),n.ht=u,n.B&&(n.B.Ke=u),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q()):n.B&&(n.B.Ge=Z),n.ft=16185;case 16185:if(1024&n.ot&&(h=n.ht,h>l&&(h=l),h&&(n.B&&n.B.Ge&&n.B.Bt&&(v=n.B.Ke-n.ht)<n.B.Bt&&M(n.B.Ge,v,r,i,h),512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,n.ht-=h),n.ht))return m();n.ht=0,n.ft=16186;case 16186:if(2048&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Ft&&n.ht<n.B.Ft&&(n.B.Oe[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Oe=Z);n.ht=0,n.ft=16187;case 16187:if(4096&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Gt&&n.ht<n.B.Gt&&(n.B.Ve[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Ve=Z);n.ft=16188;case 16188:if(512&n.ot){if(L(16),4&n.P&&u!=(65535&n.ct)){e.msg="header crc mismatch",n.ft=16209;break}q();}n.B&&(n.B.Be=n.ot>>9&1,n.B.Et=1),e.i=n.ct=W(0),n.ft=16191;break;case 16189:L(32),e.i=n.ct=Y_(u),q(),n.ft=16190;case 16190:if(!n.lt)return C(),2;e.i=n.ct=he(0),n.ft=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n._t){A(),n.ft=16206;break}switch(L(3),n._t=!!$(1),D(1),$(2)){case 0:n.ft=16193;break;case 1:if(nr(n),n.ft=16199,6==t)return D(2),m();break;case 2:n.ft=16196;break;case 3:e.msg="invalid block type",n.ft=16209;}D(2);break;case 16193:if(A(),L(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ft=16209;break}if(n.ht=65535&u,q(),n.ft=16194,6==t)return m();case 16194:n.ft=16195;case 16195:if(h=n.ht,h){if(h>l&&(h=l),h>o&&(h=o),0==h)return m();M(f,_,r,i,h),l-=h,i+=h,o-=h,_+=h,n.ht-=h;break}n.ft=16191;break;case 16196:if(L(14),n.bt=$(5)+257,D(5),n.vt=$(5)+1,D(5),n.wt=$(4)+4,D(4),n.bt>286||!n.Zt&&n.vt>30){e.msg=n.Zt?"too many length":"too many length or distance symbols",n.ft=16209;break}n.kt=0,n.ft=16197;case 16197:for(;n.kt<n.wt;)L(3),n.xt[pe[n.kt++]]=$(3),D(3);for(;n.kt<19;)n.xt[pe[n.kt++]]=0;n.gt=n.yt,n.et=n.tt=n.gt,n.nt=7;let c={jt:n.gt},g={jt:n.nt},x={jt:0};if(k=Oe(0,n.xt,19,c,g,n.Tt,x,n.Zt),n.gt=c.jt,n.nt=g.jt,k){e.msg="invalid code lengths set",n.ft=16209;break}n.kt=0,n.ft=16198;case 16198:for(;n.kt<n.bt+n.vt;){for(;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if((65535&w)<16)D(w>>>16&255),n.xt[n.kt++]=65535&w;else {if(16==(65535&w)){if(L(2+(w>>>16&255)),D(w>>>16&255),0==n.kt){e.msg="invalid bit length repeat",n.ft=16209;break}v=n.xt[n.kt-1],h=3+$(2),D(2);}else 17==(65535&w)?(L(3+(w>>>16&255)),D(w>>>16&255),v=0,h=3+$(3),D(3)):(L(7+(w>>>16&255)),D(w>>>16&255),v=0,h=11+$(7),D(7));if(n.kt+h>n.bt+n.vt){e.msg="invalid bit length repeat",n.ft=16209;break}for(;h--;)n.xt[n.kt++]=v;}}if(16209==n.ft)break;if(0==n.xt[256]){e.msg="invalid code -- missing end-of-block",n.ft=16209;break}n.gt=n.yt,n.nt=9;let I={jt:n.gt},H={jt:n.nt},Q={jt:0};k=Oe(1,n.xt,n.bt,I,H,n.Tt,Q,n.Zt),n.gt=I.jt,n.nt=H.jt;let j=Q.jt;if(n.et=n.gt.slice(0,j),k){e.msg="invalid literal/lengths set",n.ft=16209;break}n.rt=6;let N=n.xt.subarray(n.bt,n.bt+n.vt),U={jt:n.gt},R={jt:n.rt},Y={jt:j};if(k=Oe(2,N,n.vt,U,R,n.Tt,Y,n.Zt),n.gt=U.jt,n.rt=R.jt,n.tt=n.gt.slice(j),k){e.msg="invalid distances set",n.ft=16209;break}if(n.ft=16199,6==t)return m();case 16199:n.ft=16200;case 16200:if(!n.Zt&&l>=6&&o>=258){C(),Jt(e,s),z(),16191==n.ft&&(n.Mt=-1);break}for(n.Mt=0;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if(w>>>24&&!(w>>>24&240)){for(b=w;w=n.et[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,n.ht=65535&w,!(w>>>24)){n.ft=16205;break}if(w>>>24&32){n.Mt=-1,n.ft=16191;break}if(w>>>24&64){e.msg="invalid literal/length code",n.ft=16209;break}n.Ge=w>>>24&(n.Zt?31:15),n.ft=16201;case 16201:n.Ge&&(L(n.Ge),n.ht+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.Ct=n.ht,n.ft=16202;case 16202:for(;w=n.tt[$(n.rt)],!((w>>>16&255)<=a);)S();if(!(w>>>24&240)){for(b=w;w=n.tt[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,w>>>24&64){e.msg="invalid distance code",n.ft=16209;break}n.dt=65535&w,n.Ge=w>>>24&15,n.ft=16203;case 16203:n.Ge&&(L(n.Ge),n.dt+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.ft=16204;case 16204:if(0==o)return m();if(h=s-o,n.dt>h){if(h=n.dt-h,h>n.k&&n.it){e.msg="invalid distance too far back",n.ft=16209;break}h>n.m?(h-=n.m,d=n.h-h):d=n.m-h,h>n.ht&&(h=n.ht),h>o&&(h=o);for(let e=0;e<h;++e)f[_]=255&n.u[d],++_,++d;}else {d=_-n.dt,h=n.ht,h>o&&(h=o);for(let e=0;e<h;++e)f[_]=f[d],++_,++d;}h>o&&(h=o),o-=h,n.ht-=h,0==n.ht&&(n.ft=16200);break;case 16205:if(0==o)return m();f[_++]=n.ht,o--,n.ft=16200;break;case 16206:if(n.P){if(L(32),s-=o,e.total_out+=s,n.st+=s,4&n.P&&s){let t=f.subarray(_-s,_);e.i=n.ct=T(n.ct,t,s);}if(s=o,4&n.P&&(n.ot?u:Y_(u)>>>0)!=n.ct){e.msg="incorrect data check",n.ft=16209;break}q();}n.ft=16207;case 16207:if(n.P&&n.ot){if(L(32),4&n.P&&u!=(4294967295&n.st)){e.msg="incorrect length check",n.ft=16209;break}q();}n.ft=16208;case 16208:return k=1,m();case 16209:return k=-3,m();case 16210:return -4;default:return -2}}catch(e){if(e instanceof S_)return m();throw e}function m(){if(C(),n.h||s!=e.avail_out&&n.ft<16209&&(n.Zt?n.ft<16208:n.ft<16206)||4!=t){let t=s-e.avail_out;if(rr(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ft=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.st+=s,4&n.P&&s&&(e.i=n.ct=T(n.ct,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.p+(n._t?64:0)+(16191==n.ft?128:0)+(16199==n.ft||16194==n.ft?256:0),(0==c&&0==s&&0==k||4==t&&0==k)&&(k=-5),k}function T(e,t,r){return n.ot?W(e,t,r):he(e,t,r)}function y(e,t){return g[0]=255&t,g[1]=t>>>8&255,W(e,g,2)>>>0}function p(e,t){return g[0]=255&t,g[1]=t>>>8&255,g[2]=t>>>16&255,g[3]=t>>>24&255,W(e,g,4)>>>0}function z(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.T,a=n.p;}function C(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.T=u,n.p=a;}function q(){u=0,a=0;}function S(){if(0==l)throw new S_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8;}function L(e){for(;a<e;)S();}function $(e){return u&(1<<e)-1}function D(e){u>>>=e,a-=e;}function A(){u>>>=7&a,a-=7&a;}}function tn(e){return Ge(e)?-2:0}var X_=65536,ar=32768,W_=class{constructor(e=16,t=X_){this.Ot=[],this.Vt=e;for(let n=0;n<z.min(e,4);n++)this.Ot.push(new x(t));}acquire(e=X_){for(let t=this.Ot.length-1;t>=0;t--){let n=this.Ot[t];if(n.length>=e)return this.Ot.splice(t,1),n}return new x(e)}release(e){this.Ot.length<this.Vt&&this.Ot.push(e);}};function nn(e){let t=new W_(32,X_),n=null;function r(e){try{t.release(e);}catch{}}return new H({start(){},transform(i,f){if(!n){let t=e.Xt(),r=e.Jt(t);if(0!=r&&0!=r)throw new L("init failed: "+r);n={o:t};}let _=n.o,l=0;for(;l<i.length;){let n=z.min(i.length-l,ar),o=i.subarray(l,l+n);for(_.next_in=o,_.next_in_index=0,_.avail_in=o.length;_.avail_in>0;){let n=t.acquire(),i=false;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let r=e.Kt(_,0),l=n.length-_.avail_out;if(l>0){let e=!1,r={en:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};i=!0,f.enqueue(r);}if(0!=r&&1!=r)throw new L("process error: "+r)}finally{i||r(n);}}l+=n;}},flush(i){if(!n)return;let f=n.o;for(;;){let n=t.acquire(),_=false;try{f.next_out=n,f.next_out_index=0,f.avail_out=n.length;let r=e.Kt(f,4),l=n.length-f.avail_out;if(l>0){let e=!1,r={en:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};_=!0,i.enqueue(r);}if(1==r)break;if(0!=r)throw new L("finalization error: "+r)}finally{_||r(n);}}let _=e.tn(f);if(0!=_&&0!=_)throw new L("end failed: "+_)}})}function rn(){return new H({start(){},transform(e,t){try{t.enqueue(e.en.slice(0));}finally{e.release();}},flush(){}})}function ir(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return nn({Xt:()=>vt(),Jt:e=>kt(e,r,8,n,8,0),Kt:Nt,tn:P_})}function or(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return nn({Xt:()=>$t(),Jt:e=>en(e,t),Kt:_n,tn:tn})}var E_=class{constructor(e="deflate",t){let n=ir(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(rn());}},g_=class{constructor(e="deflate"){let t=or(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(rn());}};
|
|
7606
|
+
var{Uint8Array:p,Uint16Array:g,Int32Array:R,TransformStream:H,Math:z,Error:L,Array:k}=globalThis,pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new p(0),qe=new g(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Se=[];for(let e=0;e<14;e++)Se.push(e,0==e?4:2);var Ee=new g([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]),ge=new g([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]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength),_=n instanceof p?n.subarray(r,r+i):new p(n.buffer,n.byteOffset+r,i);f.set(_,t);}function Ve(e,t,n){0!=n&&(e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n);}function je(){return {next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Je(e,t){let n=1<<t;return {o:e,u:new p(n),h:n,v:t,k:0,m:0,p:0,T:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r);}return new g(t)}var ne=class{constructor(e,t){this.M=e,this.C=t,this.Z=0;}},re=class{constructor(e,t,n,r,i){this.W=e,this.q=t,this.S=n,this.L=r,this.$=i;}};function D_(e){return Q_[e<-6||e>2?9:2-e]||""}function we(e,t){try{e.msg=D_(t);}catch(n){e.msg="zlib error "+String(t)+" ("+n+")";}return t}function $e(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function T(e,t){e.D[e.A++]=t;}function Ae(e,t){T(e,255&t),T(e,t>>>8&255);}function e_(e,t,n){let r=255&n,i=65535&t,f=e.I+e.H;return e.D[f]=255&i,e.D[f+1]=i>>>8&255,e.D[f+2]=r,e.H+=3,i=i-1&65535,e.N[__[r]+ie+1].j++,e.U[y_(i)].j++,e.H==e.R}function De(e,t){let n=255&t,r=e.I+e.H;return e.D[r]=0,e.D[r+1]=0,e.D[r+2]=n,e.H+=3,e.N[n].j++,e.H==e.R}function ye(e){return e.h-ae}function y_(e){return e<256?A_[e]:A_[256+(e>>7)]}function v_(e){let t=Ce+7,n=1<<t,r=(1<<t)-1,i=z.floor((t+v-1)/v),f=1<<8+Ce;return {...Je(e,15),o:e,Y:42,P:0,B:void 0,F:32767,G:t,O:n,V:r,X:i,J:new g(32768),K:new g(n),ee:f,D:new p(32768),te:0,ne:32768,A:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,he:0,de:0,we:0,be:0,ve:0,ke:0,ge:0,me:0,pe:0,xe:0,Te:new R(2*Te+1),ye:new p(2*Te+1),ze:new g(be+1),H:0,R:0,Me:Z,I:0,Ce:0,Ze:0,We:8,qe:32768,Se:0,Le:0,$e:0,N:new k(fe).fill(0).map(()=>Q()),U:new k(2*me+1).fill(0).map(()=>Q()),De:new k(2*oe+1).fill(0).map(()=>Q()),Ae:w_(),Ie:w_(),He:w_()}}function I_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Qe=r,f.je=i,t.push(f);}return t}function Q(){return {j:0,Qe:0,Ne:0,je:0}}function w_(){return new ne([],dn(null,Z,0,0,0))}function dn(e,t,n,r,i){return new re(e,t,n,r,i)}function $_(){let e=new k(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function k_(e){let{code:t,length:n}=mn(e),r=new g(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?$e(_,e):0,r[i++]=e;}return new g(r)}function et(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f);}r<n&&(r=n);let i=new p(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i);}return i[f]=e.length-1,i}function _t(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f);}let r=new p(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function tt(e){let t=new p(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r];}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function mn(e){let t=z.max(...e),n=new k(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new k(e.length).fill(0),i=new k(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++);}return {code:r,length:e}}var Ce=8,v=3,ee=258,ae=ee+v+1,nt=4096,Ue=16,He=ee,bn=29,ie=256,Te=ie+1+bn,me=30,oe=19,fe=2*Te+1,be=15,rt=9,at=255,it=32,ot=4,ve=256,t_=16,n_=17,r_=18,ft=0,N_=1,lt=2,$=-1,Q_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Se),Be=new g(19);Be[16]=2,Be[17]=3,Be[18]=7;var hn=k_($_()),sn=k_(new k(30).fill(5)),Fe=I_(hn),R_=I_(sn),__=et(ge,a_,ee),A_=tt(_t(Ee,i_));function he(e,t,n){if(void 0===t||void 0===n)return 1;let r=65535&e,i=e>>>16&65535,f=0;for(;n>0;){let e=n>2e3?2e3:n;n-=e;do{r=r+t[f++]|0,i=i+r|0;}while(--e);r%=65521,i%=65521;}return (i<<16|r)>>>0}var Ze=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Ze[0][e]=t;}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Ze[t-1][e];Ze[t][e]=n>>>8^Ze[0][255&n];}var[ut,xn,pn,Sn,En,gn,Tn,wn]=Ze;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=z.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,true),n=e.getInt32(i+4,true);r=wn[255&t]^Tn[t>>>8&255]^gn[t>>>16&255]^En[t>>>24&255]^Sn[255&n]^pn[n>>>8&255]^xn[n>>>16&255]^ut[n>>>24&255];}}for(;i<n;i++)r=r>>>8^ut[255&(r^t[i])];return (4294967295^r)>>>0}function xt(e){16==e.T?(Ae(e,e.p),e.p=0,e.T=0):e.T>=8&&(T(e,e.p),e.p>>=8,e.T-=8);}function pt(e){e.T>8?Ae(e,e.p):e.T>0&&T(e,e.p),e.Ce=1+(e.T-1&7),e.p=0,e.T=0;}function An(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].je;0!=t&&(e[i].Qe=$e(f[t]++,t));}}function C(e,t,n){e.T>Ue-n?(e.p=65535&(e.p|t<<e.T),Ae(e,e.p),e.p=t>>Ue-e.T&65535,e.T+=n-Ue):(e.p=65535&(e.p|t<<e.T),e.T+=n);}function St(e){for(let t=0;t<e.N.length;t++)e.N[t].j=0;for(let t=0;t<e.U.length;t++)e.U[t].j=0;for(let t=0;t<e.De.length;t++)e.De[t].j=0;e.N[ve].j=1,e.ie=e.fe=0,e.H=e._e=0;}function Et(e){if(e.N&&e.N.length>=fe)for(let t=0;t<fe;t++)e.N[t]=Q();else {e.N=[];for(let t=0;t<fe;t++)e.N.push(Q());}if(e.U&&e.U.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.U[t]=Q();else {e.U=[];for(let t=0;t<2*me+1;t++)e.U.push(Q());}if(e.De&&e.De.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.De[t]=Q();else {e.De=[];for(let t=0;t<2*oe+1;t++)e.De.push(Q());}e.Ae=new ne(e.N,new re(Fe,a_,ie+1,Te,be)),e.Ie=new ne(e.U,new re(R_,i_,0,me,be)),e.He=new ne(e.De,new re(null,Be,0,oe,7)),e.p=0,e.T=0,e.Ce=0,St(e);}var se=1;function Dn(e,t,n){return n=e.Te[se],e.Te[se]=e.Te[e.Le--],z_(e,t,se),n}function mt(e,t,n,r){return e[t].j<e[n].j||e[t].j==e[n].j&&r[t]<=r[n]}function z_(e,t,n){let r=e.Te[n],i=n<<1;for(;i<=e.Le&&(i<e.Le&&mt(t,e.Te[i+1],e.Te[i],e.ye)&&i++,!mt(t,r,e.Te[i],e.ye));)e.Te[n]=e.Te[i],n=i,i<<=1;e.Te[n]=r;}function yn(e,t){let n,r,i,f,_,l,o=t.M,u=t.Z,a=t.C.W,c=t.C.q,s=t.C.S,h=t.C.$,d=0;for(f=0;f<=be;f++)e.ze[f]=0;for(o[e.Te[e.$e]].je=0,n=e.$e+1;n<fe;n++)r=e.Te[n],f=o[o[r].Ne].je+1,f>h&&(f=h,d++),o[r].je=f,!(r>u)&&(e.ze[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].j,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].je+_)));if(0!=d){do{for(f=h-1;0==e.ze[f];)f--;e.ze[f]--,e.ze[f+1]+=2,e.ze[h]--,d-=2;}while(d>0);for(f=h;0!=f;f--)for(r=e.ze[f];0!=r;)i=e.Te[--n],!(i>u)&&(o[i].je!=f&&(e.ie+=(f-o[i].je)*o[i].j,o[i].je=f),r--);}}function L_(e,t){let n,r,i,f=t.M,_=t.C.W,l=t.C.L,o=-1;for(e.Le=0,e.$e=fe,n=0;n<l;n++)0!=f[n].j?(e.Te[++e.Le]=o=n,e.ye[n]=0):f[n].je=0;for(;e.Le<2;)i=e.Te[++e.Le]=o<2?++o:0,f[i].j=1,e.ye[i]=0,e.ie--,_&&(e.fe-=_[i].je);for(t.Z=o,n=z.floor(e.Le/2);n>=1;n--)z_(e,f,n);i=l;do{n=Dn(e,f,n),r=e.Te[se],e.Te[--e.$e]=n,e.Te[--e.$e]=r,f[i].j=f[n].j+f[r].j,e.ye[i]=(e.ye[n]>=e.ye[r]?e.ye[n]:e.ye[r])+1,f[n].Ne=f[r].Ne=i,e.Te[se]=i++,z_(e,f,se);}while(e.Le>=2);e.Te[--e.$e]=e.Te[se],yn(e,t),An(f,t.Z,e.ze);}function bt(e,t,n){let r,i,f=-1,_=t[0].je,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].je=65535,r=0;r<=n;r++)i=_,_=t[r+1].je,!(++l<o&&i==_)&&(l<u?e.De[i].j+=l:0!=i?(i!=f&&e.De[i].j++,e.De[t_].j++):l<=10?e.De[n_].j++:e.De[r_].j++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4));}function ht(e,t,n){let r,i=-1,f=t[0].je,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].je,!(++_<l&&r==f)){if(_<o)do{C(e,e.De[r].Qe,e.De[r].je);}while(0!=--_);else 0!=r?(r!=i&&(C(e,e.De[r].Qe,e.De[r].je),_--),C(e,e.De[t_].Qe,e.De[t_].je),C(e,_-3,2)):_<=10?(C(e,e.De[n_].Qe,e.De[n_].je),C(e,_-3,3)):(C(e,e.De[r_].Qe,e.De[r_].je),C(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4);}}function vn(e){let t;for(bt(e,e.N,e.Ae.Z),bt(e,e.U,e.Ie.Z),L_(e,e.He),t=oe-1;t>=3&&0==e.De[pe[t]].je;t--);return e.ie+=3*(t+1)+5+5+4,t}function In(e,t,n,r){let i;for(C(e,t-257,5),C(e,n-1,5),C(e,r-4,4),i=0;i<r;i++)C(e,e.De[pe[i]].je,3);ht(e,e.N,t-1),ht(e,e.U,n-1);}function Pe(e,t,n,r,i=0){C(e,(ft<<1)+r,3),pt(e),Ae(e,n),Ae(e,~n),n&&t&&M(e.D,e.A,t,i,n),e.A+=n;}function gt(e){xt(e);}function Tt(e){C(e,N_<<1,3),C(e,Fe[ve].Qe,Fe[ve].je),xt(e);}function st(e,t,n){let r,i,f,_,l=0;if(0!=e.H)do{r=255&e.Me[l],r+=(255&e.Me[l+1])<<8,i=e.Me[l+2],l+=3,0==r?C(e,t[i].Qe,t[i].je):(f=__[i],C(e,t[f+ie+1].Qe,t[f+ie+1].je),_=a_[f],0!=_&&(i-=ge[f],C(e,i,_)),r--,f=y_(r),C(e,n[f].Qe,n[f].je),_=i_[f],0!=_&&(r-=Ee[f],C(e,r,_)));}while(l<e.H);C(e,t[ve].Qe,t[ve].je);}function kn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.N[t].j)return 0;if(0!=e.N[9].j||0!=e.N[10].j||0!=e.N[13].j)return 1;for(t=32;t<ie;t++)if(0!=e.N[t].j)return 1;return 0}function wt(e,t,n,r,i=0){let f,_,l=0;e.ve>0?(2==e.o.t&&(e.o.t=kn(e)),L_(e,e.Ae),L_(e,e.Ie),l=vn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ke)&&(f=_)):f=_=n+5,n+4<=f&&t?Pe(e,t,n,r,i):_==f?(C(e,(N_<<1)+r,3),st(e,Fe,R_)):(C(e,(lt<<1)+r,3),In(e,e.Ae.Z+1,e.Ie.Z+1,l+1),st(e,e.N,e.U)),St(e),r&&pt(e);}function vt(){let e=je();return e.l=v_(e),e}var Ye=[{Ue:Lt,Re:0,Ye:0,Ee:0,Pe:0},{Ue:U_,Re:4,Ye:4,Ee:8,Pe:4},{Ue:U_,Re:4,Ye:5,Ee:16,Pe:8},{Ue:U_,Re:4,Ye:6,Ee:32,Pe:32},{Ue:Ne,Re:4,Ye:4,Ee:16,Pe:16},{Ue:Ne,Re:8,Ye:16,Ee:32,Pe:32},{Ue:Ne,Re:8,Ye:16,Ee:128,Pe:128},{Ue:Ne,Re:8,Ye:32,Ee:128,Pe:256},{Ue:Ne,Re:32,Ye:128,Ee:258,Pe:1024},{Ue:Ne,Re:32,Ye:258,Ee:258,Pe:4096}];function At(e){return 2*e-(e>4?9:0)}function l_(e,t,n){return ((t<<e.X^n)&e.V)>>>0}function u_(e,t){e.be=l_(e,e.be,e.u[t+(v-1)]);let n=e.J[t&e.F]=e.K[e.be];return e.K[e.be]=t,n}function It(e){e.K[e.O-1]=0,Ve(e.K,0,(e.O-1)*e.K.BYTES_PER_ELEMENT);}function Un(e){let t,n,r=e.h;for(t=e.O;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.J[t],e.J[t]=n>=r?n-r:0;}function H_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.P?e.i=he(e.i,new p(t.buffer,t.byteOffset+n,i),i):2==e.l.P&&(e.i=W(e.i,new p(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.qe-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ye(e)&&(M(e.u,0,e.u,r,r-n),e.Se-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Un(e),n+=r),0==e.o.avail_in)break;if(t=H_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=v){let t=e.ae-e.le;for(e.be=e.u[t],e.be=l_(e,e.be,e.u[t+1]);e.le&&(e.be=l_(e,e.be,e.u[t+v-1]),e.J[t&e.F]=e.K[e.be],e.K[e.be]=t,t++,e.le--,!(e.ce+e.le<v)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.k<e.qe){let t,n=e.ae+e.ce;e.k<n?(t=e.qe-n,t>He&&(t=He),Ve(e.u,n,t),e.k=n+t):e.k<n+He&&(t=n+He-e.k,t>e.qe-e.k&&(t=e.qe-e.k),Ve(e.u,e.k,t),e.k+=t);}}function kt(e,t,n=8,r=15,i=Ce,f=0){let _=1;if(!e)return -2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return -2;r=-r;}else r>15&&(_=2,r-=16);if(i<1||i>rt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return -2;8==r&&(r=9);let l=v_(e);return l?(e.l=l,l.o=e,l.Y=42,l.P=_,l.B=void 0,l.v=r,l.h=1<<l.v,l.F=l.h-1,l.G=i+7,l.O=1<<l.G,l.V=l.O-1,l.X=(l.G+v-1)/v,l.u=new p(2*l.h),l.J=new g(l.h),l.K=new g(l.O),l.k=0,l.ee=1<<i+6,l.D=new p(l.ee*ot),l.ne=4*l.ee,l.u&&l.J&&l.K&&l.D?(l.Me=l.D.subarray(l.ee),l.I=l.te+l.ee,l.R=3*(l.ee-1),l.ve=t,l.ke=f,l.We=n,Fn(e)):(l.Y=666,e.msg=D_(-4),P_(e),-4)):-4}function Z_(e){if(null==e)return true;let t=e.l;return !t||t.o!=e||42!=t.Y&&57!=t.Y&&69!=t.Y&&73!=t.Y&&91!=t.Y&&103!=t.Y&&113!=t.Y&&666!=t.Y}function Hn(e){let t;return Z_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.A=0,t.re=t.te,t.P<0&&(t.P=-t.P),t.Y=2==t.P?57:42,e.i=2==t.P?W(0):he(0),t.oe=-2,Et(t),0)}function Bn(e){e.qe=2*e.h,It(e),e.xe=Ye[e.ve].Ye,e.ge=Ye[e.ve].Re,e.me=Ye[e.ve].Ee,e.pe=Ye[e.ve].Pe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.he=v-1,e.we=0,e.be=0;}function Fn(e){let t=Hn(e);return 0==t&&Bn(e.l),t}function Me(e,t){T(e,t>>8),T(e,255&t);}function q(e){let t,n=e.l;gt(n),t=n.A,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.D,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.A-=t,0==n.A&&(n.re=n.te));}function Ie(e,t){let n=e.l;n.B&&n.B.Be&&(e.i=W(e.i,new p(n.D.buffer,n.te+t,n.A-t),n.A-t));}function Nt(e,t){let n,r=e.l;if(Z_(e)||t>5||t<0)return we(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.Y&&4!=t)return we(e,-2);if(0==e.avail_out)return we(e,-5);if(n=r.oe,r.oe=t,0!=r.A){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&At(t)<=At(n)&&4!=t)return we(e,-5);if(666==r.Y&&0!=e.avail_in)return we(e,-5);if(42==r.Y&&0==r.P&&(r.Y=113),42==r.Y){let t,n=8+(r.v-8<<4)<<8;if(t=r.ke>=2||r.ve<2?0:r.ve<6?1:6==r.ve?2:3,n|=t<<6,0!=r.ae&&(n|=it),n+=31-n%31,Me(r,n),0!=r.ae&&(Me(r,e.i>>16),Me(r,65535&e.i)),e.i=1,r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(57==r.Y)if(e.i=W(0),T(r,31),T(r,139),T(r,8),r.B)T(r,(r.B.Fe?1:0)+(r.B.Be?2:0)+(null==r.B.Ge?0:4)+(null==r.B.Oe?0:8)+(null==r.B.Ve?0:16)),T(r,255&r.B.Xe),T(r,r.B.Xe>>>8&255),T(r,r.B.Xe>>>16&255),T(r,r.B.Xe>>>24&255),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,255&r.B.Je),null!=r.B.Ge&&(T(r,255&r.B.Ke),T(r,r.B.Ke>>>8&255)),r.B.Be&&(e.i=W(e.i,r.D,r.A)),r.Ze=0,r.Y=69;else if(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,at),r.Y=113,q(e),0!=r.A)return r.oe=$,0;if(69==r.Y){if(r.B&&null!=r.B.Ge){let t=r.A,n=(65535&r.B.Ke)-r.Ze;for(;r.A+n>r.ne;){let i=r.ne-r.A;if(M(r.D,r.A,r.B.Ge,r.Ze,i),r.A=r.ne,Ie(e,t),r.Ze+=i,q(e),0!=r.A)return r.oe=$,0;t=0,n-=i;}M(r.D,r.A,r.B.Ge,r.Ze,n),r.A+=n,Ie(e,t),r.Ze=0;}r.Y=73;}if(73==r.Y){if(r.B&&r.B.Oe&&r.B.Oe.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Oe[r.Ze++],T(r,t);}while(0!=t);Ie(e,n),r.Ze=0;}r.Y=91;}if(91==r.Y){if(r.B&&r.B.Ve&&r.B.Ve.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Ve[r.Ze++],T(r,t);}while(0!=t);Ie(e,n);}r.Y=103;}if(103==r.Y){if(r.B&&r.B.Be){if(r.A+2>r.ne&&(q(e),0!=r.A))return r.oe=$,0;T(r,255&e.i),T(r,e.i>>>8&255),e.i=W(0);}if(r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.Y){let n=0==r.ve?Lt(r,t):2==r.ke?Pn(r,t):3==r.ke?Zn(r,t):Ye[r.ve].Ue(r,t);if((2==n||3==n)&&(r.Y=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Tt(r):5!=t&&(Pe(r,null,0,0),3==t&&(It(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.P<=0?1:(2==r.P?(T(r,255&e.i),T(r,e.i>>>8&255),T(r,e.i>>>16&255),T(r,e.i>>>24&255),T(r,255&e.total_in),T(r,e.total_in>>>8&255),T(r,e.total_in>>>16&255),T(r,e.total_in>>>24&255)):(Me(r,e.i>>>16&65535),Me(r,65535&e.i)),q(e),r.P>0&&(r.P=-r.P),0!=r.A?0:1)}function P_(e){if(Z_(e))return -2;let t=e.l,n=t.Y;return t.u=Z,t.J=qe,t.K=qe,t.D=Z,t.Me=Z,t.Te=new R(0),t.ye=Z,t.ze=qe,t.N.length=0,t.U.length=0,t.De.length=0,t.B=void 0,t.te=0,t.re=0,t.I=0,113==n?-3:0}function Rt(e,t){let n,r,i=e.pe,f=e.ae,_=e.he,l=e.me,o=e.ae>ye(e)?e.ae-ye(e):0,u=e.J,a=e.F,c=e.u,s=e.ce,h=ee<s?ee:s,d=c[f],w=c[f+1],b=c[f+_-1],v=c[f+_];_>=e.ge&&(i>>=2),l>s&&(l=s);do{if(n=t,c[n+_]!=v||c[n+_-1]!=b||c[n]!=d||c[n+1]!=w)continue;let i=2;for(;i<h&&c[f+i]==c[n+i];)i++;if(r=i,r>_){if(e.Se=t,_=r,r>=l)break;b=c[f+_-1],v=c[f+_];}}while((t=u[t&a])>o&&0!=--i);return _<=s?_:s}function zt(e,t){wt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o);}function j(e,t){return zt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var Dt=65535;function ke(e,t){return e<t?e:t}function Lt(e,t){let n,r,i,f=ke(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=Dt,i=e.T+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Pe(e,null,0,_),e.D[e.A-4]=n,e.D[e.A-3]=n>>8,e.D[e.A-2]=~n,e.D[e.A-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(H_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n);}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae;}else e.qe-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=ke(l,e.h-e.le);e.ue=e.ae;}return e.k<e.ae&&(e.k=e.ae),_?(e.Ce=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.qe-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(H_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=ke(i,e.h-e.le)),e.k<e.ae&&(e.k=e.ae),i=e.T+42>>3,i=ke(e.ne-i,Dt),f=ke(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=ke(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Pe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.Ce=8),_?2:0)}function U_(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),0!=n&&e.ae-n<=ye(e)&&(e.se=Rt(e,n)),e.se>=v)if(e.ae,e.Se,e.se,r=e_(e,e.ae-e.Se,e.se-v),e.ce-=e.se,e.se<=e.xe&&e.ce>=v){e.se--;do{e.ae++,n=u_(e,e.ae);}while(0!=--e.se);e.ae++;}else e.ae+=e.se,e.se=0,e.be=e.u[e.ae],e.be=l_(e,e.be,e.u[e.ae+1]);else r=De(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,false);if(null!=t)return t}}if(e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Ne(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),e.he=e.se,e.de=e.Se,e.se=v-1,0!=n&&e.he<e.xe&&e.ae-n<=ye(e)&&(e.se=Rt(e,n),e.se<=5&&(1==e.ke||e.se==v&&e.ae-e.Se>nt)&&(e.se=v-1)),e.he>=v&&e.se<=e.he){let t=e.ae+e.ce-v;e.ae,e.de,e.he,r=e_(e,e.ae-1-e.de,e.he-v),e.ce-=e.he-1,e.he-=2;do{++e.ae<=t&&(n=u_(e,e.ae));}while(0!=--e.he);if(e.we=0,e.se=v-1,e.ae++,r){let t=j(e,false);if(null!=t)return t}}else if(e.we){if(r=De(e,e.u[e.ae-1]),r&&zt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;}if(e.we&&(r=De(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Zn(e,t){let n,r,i,f;for(;;){if(e.ce<=ee){if(c_(e),e.ce<=ee&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=v&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+ee;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=ee-(f-i),e.se>e.ce&&(e.se=e.ce);}if(e.se>=v?(e.ae,e.ae,e.se,n=e_(e,1,e.se-v),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=De(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Pn(e,t){let n=false;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=De(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Ot=Ee.map(e=>e+1),Ct=ge.subarray(0,-1).map(e=>e+3),Mn=[16,1,73,1,200,1],Yn=[144,1,72,1,78,1],Ut=Se.map(qt),Ht=Se.map(Vt);Ut.push(64,2),Ht.push(142,2);var Bt=de.slice(0,-2).map(qt),Ft=de.slice(0,-2).map(Vt);Bt.push(...Mn),Ft.push(...Yn);var Zt=new g([...Ct,258,0,0]),Pt=new g([...Ct,3,0,0]),Mt=te(Bt),Yt=te(Ft),Xt=new g([...Ot,0,0]),Wt=new g([...Ot,32769,49153]),Gt=te(Ut),Kt=te(Ht);function qt(e,t){return t%2?e:e+16}function Vt(e,t){return t%2?e:e+128}function Jt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.p>>>0,a=r.T>>>0,c=r.et,s=r.tt,h=(1<<r.nt)-1,d=(1<<r.rt)-1,w=r.h>>>0,b=r.k>>>0,v=r.m>>>0,k=r.it,g=f-(t-e.avail_out),m=f+(e.avail_out-257),p=i+(e.avail_in-5),x=0,T=0,y=0,z=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8;}n=c[u&h];t:for(;;){if(y=n>>>16&255,u>>>=y,a-=y,y=n>>>24,0==y){l[f++]=65535&n;break}if(16&y){if(x=65535&n,y&=15,y){for(;a<y;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}x+=u&(1<<y)-1,u>>>=y,a-=y;}for(;a<15;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}n=s[u&d];n:for(;;){if(y=n>>>16&255,u>>>=y,a-=y,y=n>>>24,16&y){if(T=65535&n,y&=15,y){for(;a<y;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}T+=u&(1<<y)-1,u>>>=y,a-=y;}let t=x,c=f-g;if(T>c){let n=T-c;if(n>b&&k){e.msg="invalid distance too far back",r.ft=16209;break e}if(0==v){if(z=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-T;}else if(v<n){z=w+v-n;let e=n-v;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let t=0;t<e;++t)l[f++]=o[z++];if(t-=e,z=0,v<t){for(let e=0;e<v;++e)l[f++]=o[z++];t-=v,z=f-T;}}else {if(z=v-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-T;}for(;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}else {for(z=f-T;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}break}if(64&y){e.msg="invalid distance code",r.ft=16209;break e}n=s[(65535&n)+(u&(1<<y)-1)];continue n}break}if(64&y){if(32&y){r.ft=16191;break e}e.msg="invalid literal/length code",r.ft=16209;break e}n=c[(65535&n)+(u&(1<<y)-1)];continue t}}while(i<p&&f<m);let M=a>>3;i-=M,a-=M<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<p?p-i+5:5-(i-p),e.avail_out=f<m?m-f+257:257-(f-m),r.p=u>>>0,r.T=a>>>0;}var Xn=new R(0);function M_(e,t){let n=Xn,r=t?ue+m_:ue+d_;return {...Je(e,0),o:e,ft:16180,_t:false,P:0,lt:false,ot:0,ut:0,ct:0,st:0,u:Z,ht:0,dt:0,Ge:0,et:n,tt:n,nt:0,rt:0,wt:0,bt:0,vt:0,kt:0,gt:n,xt:new g(320),Tt:new g(288),yt:new R(r),zt:0,it:true,Mt:0,Ct:0,Zt:t}}function We(e,t,n){return e<<24|t<<16|n}function b_(e=0,t=0,n=0){return We(e,t,n)}function h_(e=1){return We(64,e,0)}function Qt(e=0){return We(96,e,0)}function Y_(e){return (255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Gn={Zt:false,Wt:Zt,qt:Mt,St:Xt,Lt:Gt,$t:20,Dt:257,At:0,It:d_,Ht:false,Qt:true},Kn={Zt:true,Wt:Pt,qt:Yt,St:Wt,Lt:Kt,$t:19,Dt:256,At:-1,It:m_,Ht:true,Qt:false};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,h,d,w,b,v,k,m,p,x,T,y,z,M,C,Z=new g(Le+1),W=new g(Le+1),q=l?Kn:Gn;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.jt,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return q.Qt?(T=h_(1),r.jt[0]=T,r.jt[1]=T,i.jt=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return -1;if(w>0&&(0==e||1!=c))return -1;for(W[1]=0,o=1;o<Le;o++)W[o+1]=W[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[W[t[u]]++]=u);switch(e){case 0:z=M=f,C=q.$t;break;case 1:z=q.Wt,M=q.qt,C=q.Dt;break;default:z=q.St,M=q.Lt,C=q.At;}if(v=0,u=0,o=a,y=_.jt,h=s,d=0,p=-1,b=1<<s,x=b-1,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;for(;;){T=qn(f,u,o,d,e,z,M,C,q.Zt),k=1<<o-d,m=1<<h,a=m;do{m-=k;let e=(v>>d)+m;r.jt[y+e]=T;}while(0!=m);for(k=1<<o-1;v&k;)k>>=1;if(0!=k?(v&=k-1,v+=k):v=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]];}if(o>s&&(v&x)!=p){for(0==d&&(d=s),y+=1<<h,h=o-d,w=1<<h;h+d<c&&(w-=Z[h+d],!(w<=0));)h++,w<<=1;if(b+=1<<h,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;p=v&x,r.jt[_.jt+p]=We(h,s,y-_.jt);}}if(0!=v)for(T=h_(o-d);0!=v;){for(0!=d&&(v&x)!=p&&(d=0,o=s,y=_.jt,h=s,T=h_(o)),r.jt[y+(v>>d)]=T,k=1<<o-1;v&k;)k>>=1;0!=k?(v&=k-1,v+=k):v=0;}return _.jt+=b,i.jt=s,0}function qn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=b_(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=b_(_[i],n-r,f[i]);}else {let i=o?e[t]:e[t]-l;u=b_(_[i],n-r,f[i]);}else u=Qt(n-r);return u}var p_=new R(0),Qn={Nt:true,Ut:new R(544),Rt:p_,Yt:p_},$n={Nt:true,Ut:new R(544),Rt:p_,Yt:p_};function $t(){let e=je();return e.l=M_(e,false),e}function Ge(e){let t;return !(e&&(t=e.l,!(!t||t.o!=e||t.Zt&&(t.ft<16191||t.ft>16209)||!t.Zt&&(t.ft<16180||t.ft>16211))))}function er(e){let t;return Ge(e)?-2:(t=e.l,e.total_in=e.total_out=t.st=0,e.msg="",t.P&&(e.i=1&t.P),t.ft=t.Zt?16191:16180,t._t=false,t.lt=false,t.ot=-1,t.ut=t.Zt?65536:32768,delete t.B,t.p=0,t.T=0,t.et=t.yt,t.tt=t.yt,t.gt=t.yt,t.it=true,t.Mt=-1,0)}function _r(e){let t;return Ge(e)?-2:(t=e.l,t.h=0,t.k=0,t.m=0,er(e))}function tr(e,t){let n,r;if(Ge(e))return -2;if(r=e.l,t<0){if(t<-16)return -2;n=0,r.Zt=-16==t,t=-t;}else n=5+(t>>4),r.Zt=false,t<48&&(t&=15);let i=r.Zt?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.v!=t&&(r.u=Z),r.P=n,r.v=t,_r(e))}function en(e,t){let n,r;if(!e)return -2;e.msg="";let i=-16==t;return r=M_(e,i),e.l=r,r.o=e,r.ft=i?16191:16180,n=tr(e,t),n}function nr(e){let t=e.Zt?$n:Qn,n={jt:0};if(t.Nt){let r,i,f;for(r=0;r<144;)e.xt[r++]=8;for(;r<256;)e.xt[r++]=9;for(;r<280;)e.xt[r++]=7;for(;r<288;)e.xt[r++]=8;t.Ut.fill(0),f=t.Ut,t.Rt=f,i=9;let _={jt:f},l={jt:i},o={jt:0};for(Oe(1,e.xt,288,_,l,e.Tt,o,e.Zt),f=_.jt,i=l.jt,e.zt=o.jt,r=0;r<32;)e.xt[r++]=5;i=5;let u=o.jt,a={jt:f},c={jt:i};n.jt=u,Oe(2,e.xt,32,a,c,e.Tt,n,e.Zt),t.Yt=f.slice(u),t.Nt=false;}e.et=t.Rt,e.nt=9,e.tt=t.Yt,e.rt=5,e.zt=n.jt;}function rr(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new p(1<<r.v),r.u)))return 1;if(0==r.h&&(r.h=1<<r.v,r.m=0,r.k=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.k=r.h;else {let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.k=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.k<r.h&&(r.k+=e));}return 0}var S_=class extends L{constructor(){super("Need more input");}};function _n(e,t){let n,r,i,f,_,l,o,u,a,c,s,h,d,w,b,v,k,g=new p(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return -2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ft&&(n.ft=16192),z(),c=l,s=o,k=0;try{for(;;)switch(n.ft){case 16180:if(0==n.P){n.ft=16192;break}if(L(16),2&n.P&&35615==u){0==n.v&&(n.v=15),n.ct=W(0),n.ct=T(n.ct,u),q(),n.ft=16181;break}if(n.B&&(n.B.Et=-1),!(1&n.P)||(($(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ft=16209;break}if(8!=$(4)){e.msg="unknown compression method",n.ft=16209;break}if(D(4),v=$(4)+8,0==n.v&&(n.v=v),v>15||v>n.v){e.msg="invalid window size",n.ft=16209;break}n.ut=1<<v,n.ot=0,e.i=n.ct=he(0),n.ft=512&u?16189:16191,q();break;case 16181:if(L(16),n.ot=u,8!=(255&n.ot)){e.msg="unknown compression method",n.ft=16209;break}if(57344&n.ot){e.msg="unknown header flags set",n.ft=16209;break}n.B&&(n.B.Fe=u>>8&1),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),q(),n.ft=16182;case 16182:L(32),n.B&&(n.B.Xe=u),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q(),n.ft=16183;case 16183:L(16),n.B&&(n.B.Pt=255&u,n.B.Je=u>>8),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),q(),n.ft=16184;case 16184:1024&n.ot?(L(16),n.ht=u,n.B&&(n.B.Ke=u),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),q()):n.B&&(n.B.Ge=Z),n.ft=16185;case 16185:if(1024&n.ot&&(h=n.ht,h>l&&(h=l),h&&(n.B&&n.B.Ge&&n.B.Bt&&(v=n.B.Ke-n.ht)<n.B.Bt&&M(n.B.Ge,v,r,i,h),512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,n.ht-=h),n.ht))return m();n.ht=0,n.ft=16186;case 16186:if(2048&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Ft&&n.ht<n.B.Ft&&(n.B.Oe[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Oe=Z);n.ht=0,n.ft=16187;case 16187:if(4096&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Gt&&n.ht<n.B.Gt&&(n.B.Ve[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Ve=Z);n.ft=16188;case 16188:if(512&n.ot){if(L(16),4&n.P&&u!=(65535&n.ct)){e.msg="header crc mismatch",n.ft=16209;break}q();}n.B&&(n.B.Be=n.ot>>9&1,n.B.Et=1),e.i=n.ct=W(0),n.ft=16191;break;case 16189:L(32),e.i=n.ct=Y_(u),q(),n.ft=16190;case 16190:if(!n.lt)return C(),2;e.i=n.ct=he(0),n.ft=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n._t){A(),n.ft=16206;break}switch(L(3),n._t=!!$(1),D(1),$(2)){case 0:n.ft=16193;break;case 1:if(nr(n),n.ft=16199,6==t)return D(2),m();break;case 2:n.ft=16196;break;case 3:e.msg="invalid block type",n.ft=16209;}D(2);break;case 16193:if(A(),L(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ft=16209;break}if(n.ht=65535&u,q(),n.ft=16194,6==t)return m();case 16194:n.ft=16195;case 16195:if(h=n.ht,h){if(h>l&&(h=l),h>o&&(h=o),0==h)return m();M(f,_,r,i,h),l-=h,i+=h,o-=h,_+=h,n.ht-=h;break}n.ft=16191;break;case 16196:if(L(14),n.bt=$(5)+257,D(5),n.vt=$(5)+1,D(5),n.wt=$(4)+4,D(4),n.bt>286||!n.Zt&&n.vt>30){e.msg=n.Zt?"too many length":"too many length or distance symbols",n.ft=16209;break}n.kt=0,n.ft=16197;case 16197:for(;n.kt<n.wt;)L(3),n.xt[pe[n.kt++]]=$(3),D(3);for(;n.kt<19;)n.xt[pe[n.kt++]]=0;n.gt=n.yt,n.et=n.tt=n.gt,n.nt=7;let c={jt:n.gt},g={jt:n.nt},p={jt:0};if(k=Oe(0,n.xt,19,c,g,n.Tt,p,n.Zt),n.gt=c.jt,n.nt=g.jt,k){e.msg="invalid code lengths set",n.ft=16209;break}n.kt=0,n.ft=16198;case 16198:for(;n.kt<n.bt+n.vt;){for(;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if((65535&w)<16)D(w>>>16&255),n.xt[n.kt++]=65535&w;else {if(16==(65535&w)){if(L(2+(w>>>16&255)),D(w>>>16&255),0==n.kt){e.msg="invalid bit length repeat",n.ft=16209;break}v=n.xt[n.kt-1],h=3+$(2),D(2);}else 17==(65535&w)?(L(3+(w>>>16&255)),D(w>>>16&255),v=0,h=3+$(3),D(3)):(L(7+(w>>>16&255)),D(w>>>16&255),v=0,h=11+$(7),D(7));if(n.kt+h>n.bt+n.vt){e.msg="invalid bit length repeat",n.ft=16209;break}for(;h--;)n.xt[n.kt++]=v;}}if(16209==n.ft)break;if(0==n.xt[256]){e.msg="invalid code -- missing end-of-block",n.ft=16209;break}n.gt=n.yt,n.nt=9;let I={jt:n.gt},H={jt:n.nt},Q={jt:0};k=Oe(1,n.xt,n.bt,I,H,n.Tt,Q,n.Zt),n.gt=I.jt,n.nt=H.jt;let j=Q.jt;if(n.et=n.gt.slice(0,j),k){e.msg="invalid literal/lengths set",n.ft=16209;break}n.rt=6;let N=n.xt.subarray(n.bt,n.bt+n.vt),U={jt:n.gt},R={jt:n.rt},Y={jt:j};if(k=Oe(2,N,n.vt,U,R,n.Tt,Y,n.Zt),n.gt=U.jt,n.rt=R.jt,n.tt=n.gt.slice(j),k){e.msg="invalid distances set",n.ft=16209;break}if(n.ft=16199,6==t)return m();case 16199:n.ft=16200;case 16200:if(!n.Zt&&l>=6&&o>=258){C(),Jt(e,s),z(),16191==n.ft&&(n.Mt=-1);break}for(n.Mt=0;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if(w>>>24&&!(w>>>24&240)){for(b=w;w=n.et[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,n.ht=65535&w,!(w>>>24)){n.ft=16205;break}if(w>>>24&32){n.Mt=-1,n.ft=16191;break}if(w>>>24&64){e.msg="invalid literal/length code",n.ft=16209;break}n.Ge=w>>>24&(n.Zt?31:15),n.ft=16201;case 16201:n.Ge&&(L(n.Ge),n.ht+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.Ct=n.ht,n.ft=16202;case 16202:for(;w=n.tt[$(n.rt)],!((w>>>16&255)<=a);)S();if(!(w>>>24&240)){for(b=w;w=n.tt[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,w>>>24&64){e.msg="invalid distance code",n.ft=16209;break}n.dt=65535&w,n.Ge=w>>>24&15,n.ft=16203;case 16203:n.Ge&&(L(n.Ge),n.dt+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.ft=16204;case 16204:if(0==o)return m();if(h=s-o,n.dt>h){if(h=n.dt-h,h>n.k&&n.it){e.msg="invalid distance too far back",n.ft=16209;break}h>n.m?(h-=n.m,d=n.h-h):d=n.m-h,h>n.ht&&(h=n.ht),h>o&&(h=o);for(let e=0;e<h;++e)f[_]=255&n.u[d],++_,++d;}else {d=_-n.dt,h=n.ht,h>o&&(h=o);for(let e=0;e<h;++e)f[_]=f[d],++_,++d;}h>o&&(h=o),o-=h,n.ht-=h,0==n.ht&&(n.ft=16200);break;case 16205:if(0==o)return m();f[_++]=n.ht,o--,n.ft=16200;break;case 16206:if(n.P){if(L(32),s-=o,e.total_out+=s,n.st+=s,4&n.P&&s){let t=f.subarray(_-s,_);e.i=n.ct=x(n.ct,t,s);}if(s=o,4&n.P&&(n.ot?u:Y_(u)>>>0)!=n.ct){e.msg="incorrect data check",n.ft=16209;break}q();}n.ft=16207;case 16207:if(n.P&&n.ot){if(L(32),4&n.P&&u!=(4294967295&n.st)){e.msg="incorrect length check",n.ft=16209;break}q();}n.ft=16208;case 16208:return k=1,m();case 16209:return k=-3,m();case 16210:return -4;default:return -2}}catch(e){if(e instanceof S_)return m();throw e}function m(){if(C(),n.h||s!=e.avail_out&&n.ft<16209&&(n.Zt?n.ft<16208:n.ft<16206)||4!=t){let t=s-e.avail_out;if(rr(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ft=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.st+=s,4&n.P&&s&&(e.i=n.ct=x(n.ct,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.T+(n._t?64:0)+(16191==n.ft?128:0)+(16199==n.ft||16194==n.ft?256:0),(0==c&&0==s&&0==k||4==t&&0==k)&&(k=-5),k}function x(e,t,r){return n.ot?W(e,t,r):he(e,t,r)}function T(e,t){return g[0]=255&t,g[1]=t>>>8&255,W(e,g,2)>>>0}function y(e,t){return g[0]=255&t,g[1]=t>>>8&255,g[2]=t>>>16&255,g[3]=t>>>24&255,W(e,g,4)>>>0}function z(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.p,a=n.T;}function C(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=u,n.T=a;}function q(){u=0,a=0;}function S(){if(0==l)throw new S_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8;}function L(e){for(;a<e;)S();}function $(e){return u&(1<<e)-1}function D(e){u>>>=e,a-=e;}function A(){u>>>=7&a,a-=7&a;}}function tn(e){return Ge(e)?-2:0}var X_=65536,ar=32768,W_=class{constructor(e=16,t=X_){this.Ot=[],this.Vt=e;for(let n=0;n<z.min(e,4);n++)this.Ot.push(new p(t));}acquire(e=X_){for(let t=this.Ot.length-1;t>=0;t--){let n=this.Ot[t];if(n.length>=e)return this.Ot.splice(t,1),n}return new p(e)}release(e){this.Ot.length<this.Vt&&this.Ot.push(e);}};function nn(e){let t=new W_(32,X_),n=null;function r(){let t=e.Xt(),n=e.Jt(t);if(0!=n&&0!=n)throw new L("init failed: "+n);return {o:t}}function i(e){try{t.release(e);}catch{}}return new H({start(){},transform(f,_){n||(n=r());let l=n.o;if(n.Kt)return;let o=0;for(;o<f.length;){let r=z.min(f.length-o,ar),u=f.subarray(o,o+r);for(l.next_in=u,l.next_in_index=0,l.avail_in=u.length;l.avail_in>0;){let r=t.acquire(),f=false;try{l.next_out=r,l.next_out_index=0,l.avail_out=r.length;let i=e.en(l,0),o=r.length-l.avail_out;if(o>0){let e=!1,n={tn:r.subarray(0,o),release:()=>{e||(e=!0,t.release(r));}};f=!0,_.enqueue(n);}if(1==i){n.Kt=!0;break}if(0!=i)throw new L("process error: "+i)}finally{f||i(r);}}if(n.Kt)break;o+=r;}},flush(f){if(n&&n.Kt)return;n||(n=r());let _=n.o;for(;;){let n=t.acquire(),r=false;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let i=e.en(_,4),l=n.length-_.avail_out;if(l>0){let e=!1,i={tn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};r=!0,f.enqueue(i);}if(1==i)break;if(0!=i)throw new L("finalization error: "+i)}finally{r||i(n);}}let l=e.nn(_);if(0!=l&&0!=l)throw new L("end failed: "+l)}})}function rn(){return new H({start(){},transform(e,t){try{t.enqueue(e.tn.slice(0));}finally{e.release();}},flush(){}})}function ir(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return nn({Xt:()=>vt(),Jt:e=>kt(e,r,8,n,8,0),en:Nt,nn:P_})}function or(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return nn({Xt:()=>$t(),Jt:e=>en(e,t),en:_n,nn:tn})}var E_=class{constructor(e="deflate",t){let n=ir(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(rn());}},g_=class{constructor(e="deflate"){let t=or(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(rn());}};
|
|
7321
7607
|
|
|
7322
7608
|
/*
|
|
7323
7609
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -10037,7 +10323,7 @@ function getMimeTypes() {
|
|
|
10037
10323
|
*/
|
|
10038
10324
|
|
|
10039
10325
|
|
|
10040
|
-
|
|
10326
|
+
a(setDefaultConfiguration);
|
|
10041
10327
|
|
|
10042
10328
|
exports.BlobReader = BlobReader;
|
|
10043
10329
|
exports.BlobWriter = BlobWriter;
|
|
@@ -10048,11 +10334,14 @@ exports.ERR_BAD_FORMAT = ERR_BAD_FORMAT;
|
|
|
10048
10334
|
exports.ERR_CENTRAL_DIRECTORY_NOT_FOUND = ERR_CENTRAL_DIRECTORY_NOT_FOUND;
|
|
10049
10335
|
exports.ERR_DUPLICATED_NAME = ERR_DUPLICATED_NAME;
|
|
10050
10336
|
exports.ERR_ENCRYPTED = ERR_ENCRYPTED;
|
|
10337
|
+
exports.ERR_ENCRYPTED_CENTRAL_DIRECTORY = ERR_ENCRYPTED_CENTRAL_DIRECTORY;
|
|
10051
10338
|
exports.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND = ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND;
|
|
10052
10339
|
exports.ERR_EOCDR_NOT_FOUND = ERR_EOCDR_NOT_FOUND;
|
|
10053
10340
|
exports.ERR_EXTRAFIELD_ZIP64_NOT_FOUND = ERR_EXTRAFIELD_ZIP64_NOT_FOUND;
|
|
10054
10341
|
exports.ERR_HTTP_RANGE = ERR_HTTP_RANGE;
|
|
10055
10342
|
exports.ERR_HTTP_RESOURCE_CHANGED = ERR_HTTP_RESOURCE_CHANGED;
|
|
10343
|
+
exports.ERR_INVALID_CODEC_DEFINITION = ERR_INVALID_CODEC_DEFINITION;
|
|
10344
|
+
exports.ERR_INVALID_CODEC_MODULE = ERR_INVALID_CODEC_MODULE;
|
|
10056
10345
|
exports.ERR_INVALID_COMMENT = ERR_INVALID_COMMENT;
|
|
10057
10346
|
exports.ERR_INVALID_COMPRESSED_DATA = ERR_INVALID_COMPRESSED_DATA;
|
|
10058
10347
|
exports.ERR_INVALID_ENCRYPTION_STRENGTH = ERR_INVALID_ENCRYPTION_STRENGTH;
|
|
@@ -10067,11 +10356,13 @@ exports.ERR_INVALID_VERSION = ERR_INVALID_VERSION;
|
|
|
10067
10356
|
exports.ERR_ITERATOR_COMPLETED_TOO_SOON = ERR_ITERATOR_COMPLETED_TOO_SOON;
|
|
10068
10357
|
exports.ERR_LOCAL_FILE_HEADER_NOT_FOUND = ERR_LOCAL_FILE_HEADER_NOT_FOUND;
|
|
10069
10358
|
exports.ERR_OVERLAPPING_ENTRY = ERR_OVERLAPPING_ENTRY;
|
|
10359
|
+
exports.ERR_RESERVED_COMPRESSION_METHOD = ERR_RESERVED_COMPRESSION_METHOD;
|
|
10070
10360
|
exports.ERR_SPLIT_ZIP_FILE = ERR_SPLIT_ZIP_FILE;
|
|
10071
10361
|
exports.ERR_UNDEFINED_READER = ERR_UNDEFINED_READER;
|
|
10072
10362
|
exports.ERR_UNDEFINED_UNCOMPRESSED_SIZE = ERR_UNDEFINED_UNCOMPRESSED_SIZE;
|
|
10073
10363
|
exports.ERR_UNSUPPORTED_COMPRESSION = ERR_UNSUPPORTED_COMPRESSION$1;
|
|
10074
10364
|
exports.ERR_UNSUPPORTED_ENCRYPTION = ERR_UNSUPPORTED_ENCRYPTION;
|
|
10365
|
+
exports.ERR_UNSUPPORTED_ENCRYPTION_USDZ = ERR_UNSUPPORTED_ENCRYPTION_USDZ;
|
|
10075
10366
|
exports.ERR_UNSUPPORTED_FORMAT = ERR_UNSUPPORTED_FORMAT;
|
|
10076
10367
|
exports.ERR_WRITER_NOT_INITIALIZED = ERR_WRITER_NOT_INITIALIZED;
|
|
10077
10368
|
exports.ERR_ZIP_NOT_EMPTY = ERR_ZIP_NOT_EMPTY;
|
|
@@ -10095,5 +10386,7 @@ exports.createOPFSTempStream = createOPFSTempStream;
|
|
|
10095
10386
|
exports.createSyncAccessHandleTempStream = createSyncAccessHandleTempStream;
|
|
10096
10387
|
exports.fs = fs;
|
|
10097
10388
|
exports.getMimeType = getMimeType;
|
|
10389
|
+
exports.registerCodec = registerCodec;
|
|
10098
10390
|
exports.resetConfiguration = resetConfiguration;
|
|
10099
10391
|
exports.terminateWorkers = terminateWorkers;
|
|
10392
|
+
exports.unregisterCodec = unregisterCodec;
|