@giszhc/file-utils 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,403 +1,3069 @@
1
- function y(e, r = "text") {
2
- return new Promise((t, n) => {
3
- const o = new FileReader();
4
- switch (r) {
1
+ function Ct(E, x = "text") {
2
+ return new Promise((r, b) => {
3
+ const u = new FileReader();
4
+ switch (x) {
5
5
  case "text":
6
- o.readAsText(e);
6
+ u.readAsText(E);
7
7
  break;
8
8
  case "arrayBuffer":
9
- o.readAsArrayBuffer(e);
9
+ u.readAsArrayBuffer(E);
10
10
  break;
11
11
  case "dataURL":
12
- o.readAsDataURL(e);
12
+ u.readAsDataURL(E);
13
13
  break;
14
14
  case "binaryString":
15
- o.readAsBinaryString(e);
15
+ u.readAsBinaryString(E);
16
16
  break;
17
17
  default:
18
- o.readAsText(e);
18
+ u.readAsText(E);
19
19
  }
20
- o.onload = (i) => {
21
- const a = i.target?.result;
22
- a !== void 0 ? t(a) : n(new Error("文件读取失败"));
23
- }, o.onerror = () => {
24
- n(new Error("文件读取错误"));
25
- }, o.onabort = () => {
26
- n(new Error("文件读取被中止"));
20
+ u.onload = (n) => {
21
+ const a = n.target?.result;
22
+ a !== void 0 ? r(a) : b(new Error("文件读取失败"));
23
+ }, u.onerror = () => {
24
+ b(new Error("文件读取错误"));
25
+ }, u.onabort = () => {
26
+ b(new Error("文件读取被中止"));
27
27
  };
28
28
  });
29
29
  }
30
- async function T(e, r = "utf-8") {
31
- return new Promise((t, n) => {
32
- const o = new FileReader();
33
- o.readAsText(e, r), o.onload = (i) => {
34
- const a = i.target?.result;
35
- a !== void 0 ? t(a) : n(new Error("文件读取失败"));
36
- }, o.onerror = () => {
37
- n(new Error("文件读取错误"));
38
- }, o.onabort = () => {
39
- n(new Error("文件读取被中止"));
30
+ async function ee(E, x = "utf-8") {
31
+ return new Promise((r, b) => {
32
+ const u = new FileReader();
33
+ u.readAsText(E, x), u.onload = (n) => {
34
+ const a = n.target?.result;
35
+ a !== void 0 ? r(a) : b(new Error("文件读取失败"));
36
+ }, u.onerror = () => {
37
+ b(new Error("文件读取错误"));
38
+ }, u.onabort = () => {
39
+ b(new Error("文件读取被中止"));
40
40
  };
41
41
  });
42
42
  }
43
- async function $(e, r = {}) {
44
- const { separator: t = ",", hasHeader: n = !0 } = r, o = await y(e, "text");
45
- if (!o.trim())
43
+ async function re(E, x = {}) {
44
+ const { separator: r = ",", hasHeader: b = !0 } = x, u = await Ct(E, "text");
45
+ if (!u.trim())
46
46
  return [];
47
- const i = o.split(/\r?\n/).filter((h) => h.trim() !== "");
48
- if (i.length === 0)
47
+ const n = u.split(/\r?\n/).filter((y) => y.trim() !== "");
48
+ if (n.length === 0)
49
49
  return [];
50
- let a = [], s = 0;
51
- n && (a = F(i[0], t), s = 1);
52
- const l = [];
53
- for (let h = s; h < i.length; h++) {
54
- const w = F(i[h], t);
55
- if (n && a.length > 0) {
56
- const d = {};
57
- a.forEach((u, c) => {
58
- d[u] = w[c] || "";
59
- }), l.push(d);
50
+ let a = [], i = 0;
51
+ b && (a = Bt(n[0], r), i = 1);
52
+ const h = [];
53
+ for (let y = i; y < n.length; y++) {
54
+ const k = Bt(n[y], r);
55
+ if (b && a.length > 0) {
56
+ const g = {};
57
+ a.forEach((v, o) => {
58
+ g[v] = k[o] || "";
59
+ }), h.push(g);
60
60
  } else
61
- l.push(w);
61
+ h.push(k);
62
62
  }
63
- return l;
64
- }
65
- function F(e, r) {
66
- const t = [];
67
- let n = "", o = !1;
68
- for (let i = 0; i < e.length; i++) {
69
- const a = e[i], s = e[i + 1];
70
- a === '"' ? o && s === '"' ? (n += '"', i++) : o = !o : a === r && !o ? (t.push(n.trim()), n = "") : n += a;
63
+ return h;
64
+ }
65
+ function Bt(E, x) {
66
+ const r = [];
67
+ let b = "", u = !1;
68
+ for (let n = 0; n < E.length; n++) {
69
+ const a = E[n], i = E[n + 1];
70
+ a === '"' ? u && i === '"' ? (b += '"', n++) : u = !u : a === x && !u ? (r.push(b.trim()), b = "") : b += a;
71
71
  }
72
- return t.push(n.trim()), t;
72
+ return r.push(b.trim()), r;
73
73
  }
74
- async function W(e) {
75
- const r = await y(e, "text");
74
+ async function ne(E) {
75
+ const x = await Ct(E, "text");
76
76
  try {
77
- return JSON.parse(r);
78
- } catch (t) {
79
- throw new Error(`JSON 解析失败:${t instanceof Error ? t.message : "未知错误"}`);
77
+ return JSON.parse(x);
78
+ } catch (r) {
79
+ throw new Error(`JSON 解析失败:${r instanceof Error ? r.message : "未知错误"}`);
80
80
  }
81
81
  }
82
- async function v(e, r, t) {
82
+ async function Zt(E, x, r) {
83
83
  try {
84
- const n = await fetch(e, t?.fetchOptions);
85
- if (!n.ok)
86
- throw new Error(`下载失败:${n.status} ${n.statusText}`);
87
- const o = await n.blob();
88
- let i = r;
89
- if (!i) {
90
- const a = n.headers.get("Content-Disposition");
84
+ const b = await fetch(E, r?.fetchOptions);
85
+ if (!b.ok)
86
+ throw new Error(`下载失败:${b.status} ${b.statusText}`);
87
+ const u = await b.blob();
88
+ let n = x;
89
+ if (!n) {
90
+ const a = b.headers.get("Content-Disposition");
91
91
  if (a) {
92
- const s = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(a);
93
- s && s[1] && (i = decodeURIComponent(s[1].replace(/['"]/g, "")));
92
+ const i = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(a);
93
+ i && i[1] && (n = decodeURIComponent(i[1].replace(/['"]/g, "")));
94
94
  }
95
- i || (i = e.split("/").pop() || "download");
95
+ n || (n = E.split("/").pop() || "download");
96
96
  }
97
- f(o, i, t);
98
- } catch (n) {
99
- throw console.error("文件下载失败:", n), n;
97
+ mt(u, n, r);
98
+ } catch (b) {
99
+ throw console.error("文件下载失败:", b), b;
100
100
  }
101
101
  }
102
- function f(e, r, t) {
103
- const n = URL.createObjectURL(e), o = document.createElement("a");
104
- o.href = n, o.download = r, t?.newWindow && (o.target = "_blank"), document.body.appendChild(o), o.click(), document.body.removeChild(o), URL.revokeObjectURL(n);
102
+ function mt(E, x, r) {
103
+ const b = URL.createObjectURL(E), u = document.createElement("a");
104
+ u.href = b, u.download = x, r?.newWindow && (u.target = "_blank"), document.body.appendChild(u), u.click(), document.body.removeChild(u), URL.revokeObjectURL(b);
105
105
  }
106
- function k(e, r, t) {
107
- e.startsWith("data:") ? (t = e.split(",")[0].split(":")[1].split(";")[0], e = e.split(",")[1]) : t || (t = "application/octet-stream");
108
- const o = atob(e), i = new Array(o.length);
109
- for (let l = 0; l < o.length; l++)
110
- i[l] = o.charCodeAt(l);
111
- const a = new Uint8Array(i), s = new Blob([a], { type: t });
112
- f(s, r);
106
+ function ie(E, x, r) {
107
+ E.startsWith("data:") ? (r = E.split(",")[0].split(":")[1].split(";")[0], E = E.split(",")[1]) : r || (r = "application/octet-stream");
108
+ const u = atob(E), n = new Array(u.length);
109
+ for (let h = 0; h < u.length; h++)
110
+ n[h] = u.charCodeAt(h);
111
+ const a = new Uint8Array(n), i = new Blob([a], { type: r });
112
+ mt(i, x);
113
113
  }
114
- async function I(e, r = 500) {
115
- for (let t = 0; t < e.length; t++)
114
+ async function ae(E, x = 500) {
115
+ for (let r = 0; r < E.length; r++)
116
116
  try {
117
- await v(e[t]), t < e.length - 1 && await new Promise((n) => setTimeout(n, r));
118
- } catch (n) {
119
- console.error(`第 ${t + 1} 个文件下载失败:`, n);
117
+ await Zt(E[r]), r < E.length - 1 && await new Promise((b) => setTimeout(b, x));
118
+ } catch (b) {
119
+ console.error(`第 ${r + 1} 个文件下载失败:`, b);
120
+ }
121
+ }
122
+ var kt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
123
+ function Mt(E) {
124
+ return E && E.__esModule && Object.prototype.hasOwnProperty.call(E, "default") ? E.default : E;
125
+ }
126
+ var vt = {}, Ft;
127
+ function Ht() {
128
+ if (Ft) return vt;
129
+ Ft = 1, Object.defineProperty(vt, "__esModule", {
130
+ value: !0
131
+ }), vt.changeDpiBlob = o, vt.changeDpiDataUrl = m;
132
+ function E(f) {
133
+ if (Array.isArray(f)) {
134
+ for (var _ = 0, S = Array(f.length); _ < f.length; _++)
135
+ S[_] = f[_];
136
+ return S;
137
+ } else
138
+ return Array.from(f);
139
+ }
140
+ function x() {
141
+ for (var f = new Int32Array(256), _ = 0; _ < 256; _++) {
142
+ for (var S = _, z = 0; z < 8; z++)
143
+ S = S & 1 ? 3988292384 ^ S >>> 1 : S >>> 1;
144
+ f[_] = S;
145
+ }
146
+ return f;
147
+ }
148
+ function r(f) {
149
+ var _ = -1;
150
+ b || (b = x());
151
+ for (var S = 0; S < f.length; S++)
152
+ _ = b[(_ ^ f[S]) & 255] ^ _ >>> 8;
153
+ return _ ^ -1;
154
+ }
155
+ var b = void 0, u = "image/png", n = "image/jpeg", a = "AAlwSFlz", i = "AAAJcEhZ", h = "AAAACXBI", y = 112, k = 72, g = 89, v = 115;
156
+ function o(f, _) {
157
+ var S = f.slice(0, 33);
158
+ return new Promise(function(z, F) {
159
+ var R = new FileReader();
160
+ R.onload = function() {
161
+ var P = new Uint8Array(R.result), T = f.slice(33), W = l(P, _, f.type);
162
+ z(new Blob([W, T], { type: f.type }));
163
+ }, R.readAsArrayBuffer(S);
164
+ });
165
+ }
166
+ function m(f, _) {
167
+ var S = f.split(","), z = S[0], F = S[1], R = void 0, P = void 0, T = !1;
168
+ if (z.indexOf(u) !== -1) {
169
+ R = u;
170
+ var W = s(F);
171
+ W >= 0 ? (P = Math.ceil((W + 28) / 3) * 4, T = !0) : P = 33 / 3 * 4;
120
172
  }
173
+ z.indexOf(n) !== -1 && (R = n, P = 18 / 3 * 4);
174
+ for (var J = F.substring(0, P), w = F.substring(P), D = atob(J), e = new Uint8Array(D.length), N = 0; N < e.length; N++)
175
+ e[N] = D.charCodeAt(N);
176
+ var Q = l(e, _, R, T), Z = btoa(String.fromCharCode.apply(String, E(Q)));
177
+ return [z, ",", Z, w].join("");
178
+ }
179
+ function s(f) {
180
+ var _ = f.indexOf(a);
181
+ return _ === -1 && (_ = f.indexOf(i)), _ === -1 && (_ = f.indexOf(h)), _;
182
+ }
183
+ function d(f) {
184
+ for (var _ = f.length - 1, S = _; S >= 4; S--)
185
+ if (f[S - 4] === 9 && f[S - 3] === y && f[S - 2] === k && f[S - 1] === g && f[S] === v)
186
+ return S - 3;
187
+ }
188
+ function l(f, _, S, z) {
189
+ if (S === n)
190
+ return f[13] = 1, f[14] = _ >> 8, f[15] = _ & 255, f[16] = _ >> 8, f[17] = _ & 255, f;
191
+ if (S === u) {
192
+ var F = new Uint8Array(13);
193
+ _ *= 39.3701, F[0] = y, F[1] = k, F[2] = g, F[3] = v, F[4] = _ >>> 24, F[5] = _ >>> 16, F[6] = _ >>> 8, F[7] = _ & 255, F[8] = F[4], F[9] = F[5], F[10] = F[6], F[11] = F[7], F[12] = 1;
194
+ var R = r(F), P = new Uint8Array(4);
195
+ if (P[0] = R >>> 24, P[1] = R >>> 16, P[2] = R >>> 8, P[3] = R & 255, z) {
196
+ var T = d(f);
197
+ return f.set(F, T), f.set(P, T + 13), f;
198
+ } else {
199
+ var W = new Uint8Array(4);
200
+ W[0] = 0, W[1] = 0, W[2] = 0, W[3] = 9;
201
+ var J = new Uint8Array(54);
202
+ return J.set(f, 0), J.set(W, 33), J.set(F, 37), J.set(P, 50), J;
203
+ }
204
+ }
205
+ }
206
+ return vt;
207
+ }
208
+ var Rt = Ht();
209
+ function se(E) {
210
+ return Ct(E, "dataURL");
121
211
  }
122
- function L(e) {
123
- return y(e, "dataURL");
212
+ function $t(E, x) {
213
+ E.startsWith("data:") ? (x = E.split(",")[0].split(":")[1].split(";")[0], E = E.split(",")[1]) : x || (x = "application/octet-stream");
214
+ const b = atob(E), u = new Array(b.length);
215
+ for (let a = 0; a < b.length; a++)
216
+ u[a] = b.charCodeAt(a);
217
+ const n = new Uint8Array(u);
218
+ return new Blob([n], { type: x });
124
219
  }
125
- function O(e, r) {
126
- e.startsWith("data:") ? (r = e.split(",")[0].split(":")[1].split(";")[0], e = e.split(",")[1]) : r || (r = "application/octet-stream");
127
- const n = atob(e), o = new Array(n.length);
128
- for (let a = 0; a < n.length; a++)
129
- o[a] = n.charCodeAt(a);
130
- const i = new Uint8Array(o);
131
- return new Blob([i], { type: r });
220
+ function Ut(E, x) {
221
+ return new File([E], x, { type: E.type });
132
222
  }
133
- async function R(e, r) {
223
+ function oe(E, x = "file", r) {
224
+ const b = $t(E, r);
225
+ return Ut(b, x);
226
+ }
227
+ function ue(E, x = "image/png", r = 1) {
228
+ return new Promise((b, u) => {
229
+ const n = new Image();
230
+ n.crossOrigin = "anonymous", n.onload = () => {
231
+ try {
232
+ const a = document.createElement("canvas");
233
+ a.width = n.width, a.height = n.height;
234
+ const i = a.getContext("2d");
235
+ if (!i) {
236
+ u(new Error("无法获取 Canvas 上下文"));
237
+ return;
238
+ }
239
+ i.drawImage(n, 0, 0);
240
+ const h = a.toDataURL(x, r);
241
+ b(h);
242
+ } catch (a) {
243
+ u(a);
244
+ }
245
+ }, n.onerror = () => {
246
+ u(new Error(`图片加载失败:${E}`));
247
+ }, n.src = E;
248
+ });
249
+ }
250
+ async function le(E, x = 96) {
251
+ return typeof E == "string" ? Rt.changeDpiDataUrl(E, x) : await Rt.changeDpiBlob(E, x);
252
+ }
253
+ function xt(E) {
254
+ throw new Error('Could not dynamically require "' + E + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
255
+ }
256
+ var At = { exports: {} };
257
+ var Tt;
258
+ function Gt() {
259
+ return Tt || (Tt = 1, (function(E, x) {
260
+ (function(r) {
261
+ E.exports = r();
262
+ })(function() {
263
+ return (function r(b, u, n) {
264
+ function a(y, k) {
265
+ if (!u[y]) {
266
+ if (!b[y]) {
267
+ var g = typeof xt == "function" && xt;
268
+ if (!k && g) return g(y, !0);
269
+ if (i) return i(y, !0);
270
+ var v = new Error("Cannot find module '" + y + "'");
271
+ throw v.code = "MODULE_NOT_FOUND", v;
272
+ }
273
+ var o = u[y] = { exports: {} };
274
+ b[y][0].call(o.exports, function(m) {
275
+ var s = b[y][1][m];
276
+ return a(s || m);
277
+ }, o, o.exports, r, b, u, n);
278
+ }
279
+ return u[y].exports;
280
+ }
281
+ for (var i = typeof xt == "function" && xt, h = 0; h < n.length; h++) a(n[h]);
282
+ return a;
283
+ })({ 1: [function(r, b, u) {
284
+ var n = r("./utils"), a = r("./support"), i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
285
+ u.encode = function(h) {
286
+ for (var y, k, g, v, o, m, s, d = [], l = 0, f = h.length, _ = f, S = n.getTypeOf(h) !== "string"; l < h.length; ) _ = f - l, g = S ? (y = h[l++], k = l < f ? h[l++] : 0, l < f ? h[l++] : 0) : (y = h.charCodeAt(l++), k = l < f ? h.charCodeAt(l++) : 0, l < f ? h.charCodeAt(l++) : 0), v = y >> 2, o = (3 & y) << 4 | k >> 4, m = 1 < _ ? (15 & k) << 2 | g >> 6 : 64, s = 2 < _ ? 63 & g : 64, d.push(i.charAt(v) + i.charAt(o) + i.charAt(m) + i.charAt(s));
287
+ return d.join("");
288
+ }, u.decode = function(h) {
289
+ var y, k, g, v, o, m, s = 0, d = 0, l = "data:";
290
+ if (h.substr(0, l.length) === l) throw new Error("Invalid base64 input, it looks like a data url.");
291
+ var f, _ = 3 * (h = h.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4;
292
+ if (h.charAt(h.length - 1) === i.charAt(64) && _--, h.charAt(h.length - 2) === i.charAt(64) && _--, _ % 1 != 0) throw new Error("Invalid base64 input, bad content length.");
293
+ for (f = a.uint8array ? new Uint8Array(0 | _) : new Array(0 | _); s < h.length; ) y = i.indexOf(h.charAt(s++)) << 2 | (v = i.indexOf(h.charAt(s++))) >> 4, k = (15 & v) << 4 | (o = i.indexOf(h.charAt(s++))) >> 2, g = (3 & o) << 6 | (m = i.indexOf(h.charAt(s++))), f[d++] = y, o !== 64 && (f[d++] = k), m !== 64 && (f[d++] = g);
294
+ return f;
295
+ };
296
+ }, { "./support": 30, "./utils": 32 }], 2: [function(r, b, u) {
297
+ var n = r("./external"), a = r("./stream/DataWorker"), i = r("./stream/Crc32Probe"), h = r("./stream/DataLengthProbe");
298
+ function y(k, g, v, o, m) {
299
+ this.compressedSize = k, this.uncompressedSize = g, this.crc32 = v, this.compression = o, this.compressedContent = m;
300
+ }
301
+ y.prototype = { getContentWorker: function() {
302
+ var k = new a(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new h("data_length")), g = this;
303
+ return k.on("end", function() {
304
+ if (this.streamInfo.data_length !== g.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch");
305
+ }), k;
306
+ }, getCompressedWorker: function() {
307
+ return new a(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression);
308
+ } }, y.createWorkerFrom = function(k, g, v) {
309
+ return k.pipe(new i()).pipe(new h("uncompressedSize")).pipe(g.compressWorker(v)).pipe(new h("compressedSize")).withStreamInfo("compression", g);
310
+ }, b.exports = y;
311
+ }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function(r, b, u) {
312
+ var n = r("./stream/GenericWorker");
313
+ u.STORE = { magic: "\0\0", compressWorker: function() {
314
+ return new n("STORE compression");
315
+ }, uncompressWorker: function() {
316
+ return new n("STORE decompression");
317
+ } }, u.DEFLATE = r("./flate");
318
+ }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function(r, b, u) {
319
+ var n = r("./utils"), a = (function() {
320
+ for (var i, h = [], y = 0; y < 256; y++) {
321
+ i = y;
322
+ for (var k = 0; k < 8; k++) i = 1 & i ? 3988292384 ^ i >>> 1 : i >>> 1;
323
+ h[y] = i;
324
+ }
325
+ return h;
326
+ })();
327
+ b.exports = function(i, h) {
328
+ return i !== void 0 && i.length ? n.getTypeOf(i) !== "string" ? (function(y, k, g, v) {
329
+ var o = a, m = v + g;
330
+ y ^= -1;
331
+ for (var s = v; s < m; s++) y = y >>> 8 ^ o[255 & (y ^ k[s])];
332
+ return -1 ^ y;
333
+ })(0 | h, i, i.length, 0) : (function(y, k, g, v) {
334
+ var o = a, m = v + g;
335
+ y ^= -1;
336
+ for (var s = v; s < m; s++) y = y >>> 8 ^ o[255 & (y ^ k.charCodeAt(s))];
337
+ return -1 ^ y;
338
+ })(0 | h, i, i.length, 0) : 0;
339
+ };
340
+ }, { "./utils": 32 }], 5: [function(r, b, u) {
341
+ u.base64 = !1, u.binary = !1, u.dir = !1, u.createFolders = !0, u.date = null, u.compression = null, u.compressionOptions = null, u.comment = null, u.unixPermissions = null, u.dosPermissions = null;
342
+ }, {}], 6: [function(r, b, u) {
343
+ var n = null;
344
+ n = typeof Promise < "u" ? Promise : r("lie"), b.exports = { Promise: n };
345
+ }, { lie: 37 }], 7: [function(r, b, u) {
346
+ var n = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Uint32Array < "u", a = r("pako"), i = r("./utils"), h = r("./stream/GenericWorker"), y = n ? "uint8array" : "array";
347
+ function k(g, v) {
348
+ h.call(this, "FlateWorker/" + g), this._pako = null, this._pakoAction = g, this._pakoOptions = v, this.meta = {};
349
+ }
350
+ u.magic = "\b\0", i.inherits(k, h), k.prototype.processChunk = function(g) {
351
+ this.meta = g.meta, this._pako === null && this._createPako(), this._pako.push(i.transformTo(y, g.data), !1);
352
+ }, k.prototype.flush = function() {
353
+ h.prototype.flush.call(this), this._pako === null && this._createPako(), this._pako.push([], !0);
354
+ }, k.prototype.cleanUp = function() {
355
+ h.prototype.cleanUp.call(this), this._pako = null;
356
+ }, k.prototype._createPako = function() {
357
+ this._pako = new a[this._pakoAction]({ raw: !0, level: this._pakoOptions.level || -1 });
358
+ var g = this;
359
+ this._pako.onData = function(v) {
360
+ g.push({ data: v, meta: g.meta });
361
+ };
362
+ }, u.compressWorker = function(g) {
363
+ return new k("Deflate", g);
364
+ }, u.uncompressWorker = function() {
365
+ return new k("Inflate", {});
366
+ };
367
+ }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function(r, b, u) {
368
+ function n(o, m) {
369
+ var s, d = "";
370
+ for (s = 0; s < m; s++) d += String.fromCharCode(255 & o), o >>>= 8;
371
+ return d;
372
+ }
373
+ function a(o, m, s, d, l, f) {
374
+ var _, S, z = o.file, F = o.compression, R = f !== y.utf8encode, P = i.transformTo("string", f(z.name)), T = i.transformTo("string", y.utf8encode(z.name)), W = z.comment, J = i.transformTo("string", f(W)), w = i.transformTo("string", y.utf8encode(W)), D = T.length !== z.name.length, e = w.length !== W.length, N = "", Q = "", Z = "", tt = z.dir, M = z.date, q = { crc32: 0, compressedSize: 0, uncompressedSize: 0 };
375
+ m && !s || (q.crc32 = o.crc32, q.compressedSize = o.compressedSize, q.uncompressedSize = o.uncompressedSize);
376
+ var I = 0;
377
+ m && (I |= 8), R || !D && !e || (I |= 2048);
378
+ var O = 0, X = 0;
379
+ tt && (O |= 16), l === "UNIX" ? (X = 798, O |= (function(G, at) {
380
+ var lt = G;
381
+ return G || (lt = at ? 16893 : 33204), (65535 & lt) << 16;
382
+ })(z.unixPermissions, tt)) : (X = 20, O |= (function(G) {
383
+ return 63 & (G || 0);
384
+ })(z.dosPermissions)), _ = M.getUTCHours(), _ <<= 6, _ |= M.getUTCMinutes(), _ <<= 5, _ |= M.getUTCSeconds() / 2, S = M.getUTCFullYear() - 1980, S <<= 4, S |= M.getUTCMonth() + 1, S <<= 5, S |= M.getUTCDate(), D && (Q = n(1, 1) + n(k(P), 4) + T, N += "up" + n(Q.length, 2) + Q), e && (Z = n(1, 1) + n(k(J), 4) + w, N += "uc" + n(Z.length, 2) + Z);
385
+ var K = "";
386
+ return K += `
387
+ \0`, K += n(I, 2), K += F.magic, K += n(_, 2), K += n(S, 2), K += n(q.crc32, 4), K += n(q.compressedSize, 4), K += n(q.uncompressedSize, 4), K += n(P.length, 2), K += n(N.length, 2), { fileRecord: g.LOCAL_FILE_HEADER + K + P + N, dirRecord: g.CENTRAL_FILE_HEADER + n(X, 2) + K + n(J.length, 2) + "\0\0\0\0" + n(O, 4) + n(d, 4) + P + N + J };
388
+ }
389
+ var i = r("../utils"), h = r("../stream/GenericWorker"), y = r("../utf8"), k = r("../crc32"), g = r("../signature");
390
+ function v(o, m, s, d) {
391
+ h.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = m, this.zipPlatform = s, this.encodeFileName = d, this.streamFiles = o, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [];
392
+ }
393
+ i.inherits(v, h), v.prototype.push = function(o) {
394
+ var m = o.meta.percent || 0, s = this.entriesCount, d = this._sources.length;
395
+ this.accumulate ? this.contentBuffer.push(o) : (this.bytesWritten += o.data.length, h.prototype.push.call(this, { data: o.data, meta: { currentFile: this.currentFile, percent: s ? (m + 100 * (s - d - 1)) / s : 100 } }));
396
+ }, v.prototype.openedSource = function(o) {
397
+ this.currentSourceOffset = this.bytesWritten, this.currentFile = o.file.name;
398
+ var m = this.streamFiles && !o.file.dir;
399
+ if (m) {
400
+ var s = a(o, m, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
401
+ this.push({ data: s.fileRecord, meta: { percent: 0 } });
402
+ } else this.accumulate = !0;
403
+ }, v.prototype.closedSource = function(o) {
404
+ this.accumulate = !1;
405
+ var m = this.streamFiles && !o.file.dir, s = a(o, m, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
406
+ if (this.dirRecords.push(s.dirRecord), m) this.push({ data: (function(d) {
407
+ return g.DATA_DESCRIPTOR + n(d.crc32, 4) + n(d.compressedSize, 4) + n(d.uncompressedSize, 4);
408
+ })(o), meta: { percent: 100 } });
409
+ else for (this.push({ data: s.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift());
410
+ this.currentFile = null;
411
+ }, v.prototype.flush = function() {
412
+ for (var o = this.bytesWritten, m = 0; m < this.dirRecords.length; m++) this.push({ data: this.dirRecords[m], meta: { percent: 100 } });
413
+ var s = this.bytesWritten - o, d = (function(l, f, _, S, z) {
414
+ var F = i.transformTo("string", z(S));
415
+ return g.CENTRAL_DIRECTORY_END + "\0\0\0\0" + n(l, 2) + n(l, 2) + n(f, 4) + n(_, 4) + n(F.length, 2) + F;
416
+ })(this.dirRecords.length, s, o, this.zipComment, this.encodeFileName);
417
+ this.push({ data: d, meta: { percent: 100 } });
418
+ }, v.prototype.prepareNextSource = function() {
419
+ this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume();
420
+ }, v.prototype.registerPrevious = function(o) {
421
+ this._sources.push(o);
422
+ var m = this;
423
+ return o.on("data", function(s) {
424
+ m.processChunk(s);
425
+ }), o.on("end", function() {
426
+ m.closedSource(m.previous.streamInfo), m._sources.length ? m.prepareNextSource() : m.end();
427
+ }), o.on("error", function(s) {
428
+ m.error(s);
429
+ }), this;
430
+ }, v.prototype.resume = function() {
431
+ return !!h.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0));
432
+ }, v.prototype.error = function(o) {
433
+ var m = this._sources;
434
+ if (!h.prototype.error.call(this, o)) return !1;
435
+ for (var s = 0; s < m.length; s++) try {
436
+ m[s].error(o);
437
+ } catch {
438
+ }
439
+ return !0;
440
+ }, v.prototype.lock = function() {
441
+ h.prototype.lock.call(this);
442
+ for (var o = this._sources, m = 0; m < o.length; m++) o[m].lock();
443
+ }, b.exports = v;
444
+ }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(r, b, u) {
445
+ var n = r("../compressions"), a = r("./ZipFileWorker");
446
+ u.generateWorker = function(i, h, y) {
447
+ var k = new a(h.streamFiles, y, h.platform, h.encodeFileName), g = 0;
448
+ try {
449
+ i.forEach(function(v, o) {
450
+ g++;
451
+ var m = (function(f, _) {
452
+ var S = f || _, z = n[S];
453
+ if (!z) throw new Error(S + " is not a valid compression method !");
454
+ return z;
455
+ })(o.options.compression, h.compression), s = o.options.compressionOptions || h.compressionOptions || {}, d = o.dir, l = o.date;
456
+ o._compressWorker(m, s).withStreamInfo("file", { name: v, dir: d, date: l, comment: o.comment || "", unixPermissions: o.unixPermissions, dosPermissions: o.dosPermissions }).pipe(k);
457
+ }), k.entriesCount = g;
458
+ } catch (v) {
459
+ k.error(v);
460
+ }
461
+ return k;
462
+ };
463
+ }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(r, b, u) {
464
+ function n() {
465
+ if (!(this instanceof n)) return new n();
466
+ if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
467
+ this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() {
468
+ var a = new n();
469
+ for (var i in this) typeof this[i] != "function" && (a[i] = this[i]);
470
+ return a;
471
+ };
472
+ }
473
+ (n.prototype = r("./object")).loadAsync = r("./load"), n.support = r("./support"), n.defaults = r("./defaults"), n.version = "3.10.1", n.loadAsync = function(a, i) {
474
+ return new n().loadAsync(a, i);
475
+ }, n.external = r("./external"), b.exports = n;
476
+ }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function(r, b, u) {
477
+ var n = r("./utils"), a = r("./external"), i = r("./utf8"), h = r("./zipEntries"), y = r("./stream/Crc32Probe"), k = r("./nodejsUtils");
478
+ function g(v) {
479
+ return new a.Promise(function(o, m) {
480
+ var s = v.decompressed.getContentWorker().pipe(new y());
481
+ s.on("error", function(d) {
482
+ m(d);
483
+ }).on("end", function() {
484
+ s.streamInfo.crc32 !== v.decompressed.crc32 ? m(new Error("Corrupted zip : CRC32 mismatch")) : o();
485
+ }).resume();
486
+ });
487
+ }
488
+ b.exports = function(v, o) {
489
+ var m = this;
490
+ return o = n.extend(o || {}, { base64: !1, checkCRC32: !1, optimizedBinaryString: !1, createFolders: !1, decodeFileName: i.utf8decode }), k.isNode && k.isStream(v) ? a.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : n.prepareContent("the loaded zip file", v, !0, o.optimizedBinaryString, o.base64).then(function(s) {
491
+ var d = new h(o);
492
+ return d.load(s), d;
493
+ }).then(function(s) {
494
+ var d = [a.Promise.resolve(s)], l = s.files;
495
+ if (o.checkCRC32) for (var f = 0; f < l.length; f++) d.push(g(l[f]));
496
+ return a.Promise.all(d);
497
+ }).then(function(s) {
498
+ for (var d = s.shift(), l = d.files, f = 0; f < l.length; f++) {
499
+ var _ = l[f], S = _.fileNameStr, z = n.resolve(_.fileNameStr);
500
+ m.file(z, _.decompressed, { binary: !0, optimizedBinaryString: !0, date: _.date, dir: _.dir, comment: _.fileCommentStr.length ? _.fileCommentStr : null, unixPermissions: _.unixPermissions, dosPermissions: _.dosPermissions, createFolders: o.createFolders }), _.dir || (m.file(z).unsafeOriginalName = S);
501
+ }
502
+ return d.zipComment.length && (m.comment = d.zipComment), m;
503
+ });
504
+ };
505
+ }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function(r, b, u) {
506
+ var n = r("../utils"), a = r("../stream/GenericWorker");
507
+ function i(h, y) {
508
+ a.call(this, "Nodejs stream input adapter for " + h), this._upstreamEnded = !1, this._bindStream(y);
509
+ }
510
+ n.inherits(i, a), i.prototype._bindStream = function(h) {
511
+ var y = this;
512
+ (this._stream = h).pause(), h.on("data", function(k) {
513
+ y.push({ data: k, meta: { percent: 0 } });
514
+ }).on("error", function(k) {
515
+ y.isPaused ? this.generatedError = k : y.error(k);
516
+ }).on("end", function() {
517
+ y.isPaused ? y._upstreamEnded = !0 : y.end();
518
+ });
519
+ }, i.prototype.pause = function() {
520
+ return !!a.prototype.pause.call(this) && (this._stream.pause(), !0);
521
+ }, i.prototype.resume = function() {
522
+ return !!a.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0);
523
+ }, b.exports = i;
524
+ }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function(r, b, u) {
525
+ var n = r("readable-stream").Readable;
526
+ function a(i, h, y) {
527
+ n.call(this, h), this._helper = i;
528
+ var k = this;
529
+ i.on("data", function(g, v) {
530
+ k.push(g) || k._helper.pause(), y && y(v);
531
+ }).on("error", function(g) {
532
+ k.emit("error", g);
533
+ }).on("end", function() {
534
+ k.push(null);
535
+ });
536
+ }
537
+ r("../utils").inherits(a, n), a.prototype._read = function() {
538
+ this._helper.resume();
539
+ }, b.exports = a;
540
+ }, { "../utils": 32, "readable-stream": 16 }], 14: [function(r, b, u) {
541
+ b.exports = { isNode: typeof Buffer < "u", newBufferFrom: function(n, a) {
542
+ if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(n, a);
543
+ if (typeof n == "number") throw new Error('The "data" argument must not be a number');
544
+ return new Buffer(n, a);
545
+ }, allocBuffer: function(n) {
546
+ if (Buffer.alloc) return Buffer.alloc(n);
547
+ var a = new Buffer(n);
548
+ return a.fill(0), a;
549
+ }, isBuffer: function(n) {
550
+ return Buffer.isBuffer(n);
551
+ }, isStream: function(n) {
552
+ return n && typeof n.on == "function" && typeof n.pause == "function" && typeof n.resume == "function";
553
+ } };
554
+ }, {}], 15: [function(r, b, u) {
555
+ function n(z, F, R) {
556
+ var P, T = i.getTypeOf(F), W = i.extend(R || {}, k);
557
+ W.date = W.date || /* @__PURE__ */ new Date(), W.compression !== null && (W.compression = W.compression.toUpperCase()), typeof W.unixPermissions == "string" && (W.unixPermissions = parseInt(W.unixPermissions, 8)), W.unixPermissions && 16384 & W.unixPermissions && (W.dir = !0), W.dosPermissions && 16 & W.dosPermissions && (W.dir = !0), W.dir && (z = l(z)), W.createFolders && (P = d(z)) && f.call(this, P, !0);
558
+ var J = T === "string" && W.binary === !1 && W.base64 === !1;
559
+ R && R.binary !== void 0 || (W.binary = !J), (F instanceof g && F.uncompressedSize === 0 || W.dir || !F || F.length === 0) && (W.base64 = !1, W.binary = !0, F = "", W.compression = "STORE", T = "string");
560
+ var w = null;
561
+ w = F instanceof g || F instanceof h ? F : m.isNode && m.isStream(F) ? new s(z, F) : i.prepareContent(z, F, W.binary, W.optimizedBinaryString, W.base64);
562
+ var D = new v(z, w, W);
563
+ this.files[z] = D;
564
+ }
565
+ var a = r("./utf8"), i = r("./utils"), h = r("./stream/GenericWorker"), y = r("./stream/StreamHelper"), k = r("./defaults"), g = r("./compressedObject"), v = r("./zipObject"), o = r("./generate"), m = r("./nodejsUtils"), s = r("./nodejs/NodejsStreamInputAdapter"), d = function(z) {
566
+ z.slice(-1) === "/" && (z = z.substring(0, z.length - 1));
567
+ var F = z.lastIndexOf("/");
568
+ return 0 < F ? z.substring(0, F) : "";
569
+ }, l = function(z) {
570
+ return z.slice(-1) !== "/" && (z += "/"), z;
571
+ }, f = function(z, F) {
572
+ return F = F !== void 0 ? F : k.createFolders, z = l(z), this.files[z] || n.call(this, z, null, { dir: !0, createFolders: F }), this.files[z];
573
+ };
574
+ function _(z) {
575
+ return Object.prototype.toString.call(z) === "[object RegExp]";
576
+ }
577
+ var S = { load: function() {
578
+ throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
579
+ }, forEach: function(z) {
580
+ var F, R, P;
581
+ for (F in this.files) P = this.files[F], (R = F.slice(this.root.length, F.length)) && F.slice(0, this.root.length) === this.root && z(R, P);
582
+ }, filter: function(z) {
583
+ var F = [];
584
+ return this.forEach(function(R, P) {
585
+ z(R, P) && F.push(P);
586
+ }), F;
587
+ }, file: function(z, F, R) {
588
+ if (arguments.length !== 1) return z = this.root + z, n.call(this, z, F, R), this;
589
+ if (_(z)) {
590
+ var P = z;
591
+ return this.filter(function(W, J) {
592
+ return !J.dir && P.test(W);
593
+ });
594
+ }
595
+ var T = this.files[this.root + z];
596
+ return T && !T.dir ? T : null;
597
+ }, folder: function(z) {
598
+ if (!z) return this;
599
+ if (_(z)) return this.filter(function(T, W) {
600
+ return W.dir && z.test(T);
601
+ });
602
+ var F = this.root + z, R = f.call(this, F), P = this.clone();
603
+ return P.root = R.name, P;
604
+ }, remove: function(z) {
605
+ z = this.root + z;
606
+ var F = this.files[z];
607
+ if (F || (z.slice(-1) !== "/" && (z += "/"), F = this.files[z]), F && !F.dir) delete this.files[z];
608
+ else for (var R = this.filter(function(T, W) {
609
+ return W.name.slice(0, z.length) === z;
610
+ }), P = 0; P < R.length; P++) delete this.files[R[P].name];
611
+ return this;
612
+ }, generate: function() {
613
+ throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
614
+ }, generateInternalStream: function(z) {
615
+ var F, R = {};
616
+ try {
617
+ if ((R = i.extend(z || {}, { streamFiles: !1, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: a.utf8encode })).type = R.type.toLowerCase(), R.compression = R.compression.toUpperCase(), R.type === "binarystring" && (R.type = "string"), !R.type) throw new Error("No output type specified.");
618
+ i.checkSupport(R.type), R.platform !== "darwin" && R.platform !== "freebsd" && R.platform !== "linux" && R.platform !== "sunos" || (R.platform = "UNIX"), R.platform === "win32" && (R.platform = "DOS");
619
+ var P = R.comment || this.comment || "";
620
+ F = o.generateWorker(this, R, P);
621
+ } catch (T) {
622
+ (F = new h("error")).error(T);
623
+ }
624
+ return new y(F, R.type || "string", R.mimeType);
625
+ }, generateAsync: function(z, F) {
626
+ return this.generateInternalStream(z).accumulate(F);
627
+ }, generateNodeStream: function(z, F) {
628
+ return (z = z || {}).type || (z.type = "nodebuffer"), this.generateInternalStream(z).toNodejsStream(F);
629
+ } };
630
+ b.exports = S;
631
+ }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function(r, b, u) {
632
+ b.exports = r("stream");
633
+ }, { stream: void 0 }], 17: [function(r, b, u) {
634
+ var n = r("./DataReader");
635
+ function a(i) {
636
+ n.call(this, i);
637
+ for (var h = 0; h < this.data.length; h++) i[h] = 255 & i[h];
638
+ }
639
+ r("../utils").inherits(a, n), a.prototype.byteAt = function(i) {
640
+ return this.data[this.zero + i];
641
+ }, a.prototype.lastIndexOfSignature = function(i) {
642
+ for (var h = i.charCodeAt(0), y = i.charCodeAt(1), k = i.charCodeAt(2), g = i.charCodeAt(3), v = this.length - 4; 0 <= v; --v) if (this.data[v] === h && this.data[v + 1] === y && this.data[v + 2] === k && this.data[v + 3] === g) return v - this.zero;
643
+ return -1;
644
+ }, a.prototype.readAndCheckSignature = function(i) {
645
+ var h = i.charCodeAt(0), y = i.charCodeAt(1), k = i.charCodeAt(2), g = i.charCodeAt(3), v = this.readData(4);
646
+ return h === v[0] && y === v[1] && k === v[2] && g === v[3];
647
+ }, a.prototype.readData = function(i) {
648
+ if (this.checkOffset(i), i === 0) return [];
649
+ var h = this.data.slice(this.zero + this.index, this.zero + this.index + i);
650
+ return this.index += i, h;
651
+ }, b.exports = a;
652
+ }, { "../utils": 32, "./DataReader": 18 }], 18: [function(r, b, u) {
653
+ var n = r("../utils");
654
+ function a(i) {
655
+ this.data = i, this.length = i.length, this.index = 0, this.zero = 0;
656
+ }
657
+ a.prototype = { checkOffset: function(i) {
658
+ this.checkIndex(this.index + i);
659
+ }, checkIndex: function(i) {
660
+ if (this.length < this.zero + i || i < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + i + "). Corrupted zip ?");
661
+ }, setIndex: function(i) {
662
+ this.checkIndex(i), this.index = i;
663
+ }, skip: function(i) {
664
+ this.setIndex(this.index + i);
665
+ }, byteAt: function() {
666
+ }, readInt: function(i) {
667
+ var h, y = 0;
668
+ for (this.checkOffset(i), h = this.index + i - 1; h >= this.index; h--) y = (y << 8) + this.byteAt(h);
669
+ return this.index += i, y;
670
+ }, readString: function(i) {
671
+ return n.transformTo("string", this.readData(i));
672
+ }, readData: function() {
673
+ }, lastIndexOfSignature: function() {
674
+ }, readAndCheckSignature: function() {
675
+ }, readDate: function() {
676
+ var i = this.readInt(4);
677
+ return new Date(Date.UTC(1980 + (i >> 25 & 127), (i >> 21 & 15) - 1, i >> 16 & 31, i >> 11 & 31, i >> 5 & 63, (31 & i) << 1));
678
+ } }, b.exports = a;
679
+ }, { "../utils": 32 }], 19: [function(r, b, u) {
680
+ var n = r("./Uint8ArrayReader");
681
+ function a(i) {
682
+ n.call(this, i);
683
+ }
684
+ r("../utils").inherits(a, n), a.prototype.readData = function(i) {
685
+ this.checkOffset(i);
686
+ var h = this.data.slice(this.zero + this.index, this.zero + this.index + i);
687
+ return this.index += i, h;
688
+ }, b.exports = a;
689
+ }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function(r, b, u) {
690
+ var n = r("./DataReader");
691
+ function a(i) {
692
+ n.call(this, i);
693
+ }
694
+ r("../utils").inherits(a, n), a.prototype.byteAt = function(i) {
695
+ return this.data.charCodeAt(this.zero + i);
696
+ }, a.prototype.lastIndexOfSignature = function(i) {
697
+ return this.data.lastIndexOf(i) - this.zero;
698
+ }, a.prototype.readAndCheckSignature = function(i) {
699
+ return i === this.readData(4);
700
+ }, a.prototype.readData = function(i) {
701
+ this.checkOffset(i);
702
+ var h = this.data.slice(this.zero + this.index, this.zero + this.index + i);
703
+ return this.index += i, h;
704
+ }, b.exports = a;
705
+ }, { "../utils": 32, "./DataReader": 18 }], 21: [function(r, b, u) {
706
+ var n = r("./ArrayReader");
707
+ function a(i) {
708
+ n.call(this, i);
709
+ }
710
+ r("../utils").inherits(a, n), a.prototype.readData = function(i) {
711
+ if (this.checkOffset(i), i === 0) return new Uint8Array(0);
712
+ var h = this.data.subarray(this.zero + this.index, this.zero + this.index + i);
713
+ return this.index += i, h;
714
+ }, b.exports = a;
715
+ }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function(r, b, u) {
716
+ var n = r("../utils"), a = r("../support"), i = r("./ArrayReader"), h = r("./StringReader"), y = r("./NodeBufferReader"), k = r("./Uint8ArrayReader");
717
+ b.exports = function(g) {
718
+ var v = n.getTypeOf(g);
719
+ return n.checkSupport(v), v !== "string" || a.uint8array ? v === "nodebuffer" ? new y(g) : a.uint8array ? new k(n.transformTo("uint8array", g)) : new i(n.transformTo("array", g)) : new h(g);
720
+ };
721
+ }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(r, b, u) {
722
+ u.LOCAL_FILE_HEADER = "PK", u.CENTRAL_FILE_HEADER = "PK", u.CENTRAL_DIRECTORY_END = "PK", u.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", u.ZIP64_CENTRAL_DIRECTORY_END = "PK", u.DATA_DESCRIPTOR = "PK\x07\b";
723
+ }, {}], 24: [function(r, b, u) {
724
+ var n = r("./GenericWorker"), a = r("../utils");
725
+ function i(h) {
726
+ n.call(this, "ConvertWorker to " + h), this.destType = h;
727
+ }
728
+ a.inherits(i, n), i.prototype.processChunk = function(h) {
729
+ this.push({ data: a.transformTo(this.destType, h.data), meta: h.meta });
730
+ }, b.exports = i;
731
+ }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function(r, b, u) {
732
+ var n = r("./GenericWorker"), a = r("../crc32");
733
+ function i() {
734
+ n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0);
735
+ }
736
+ r("../utils").inherits(i, n), i.prototype.processChunk = function(h) {
737
+ this.streamInfo.crc32 = a(h.data, this.streamInfo.crc32 || 0), this.push(h);
738
+ }, b.exports = i;
739
+ }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function(r, b, u) {
740
+ var n = r("../utils"), a = r("./GenericWorker");
741
+ function i(h) {
742
+ a.call(this, "DataLengthProbe for " + h), this.propName = h, this.withStreamInfo(h, 0);
743
+ }
744
+ n.inherits(i, a), i.prototype.processChunk = function(h) {
745
+ if (h) {
746
+ var y = this.streamInfo[this.propName] || 0;
747
+ this.streamInfo[this.propName] = y + h.data.length;
748
+ }
749
+ a.prototype.processChunk.call(this, h);
750
+ }, b.exports = i;
751
+ }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function(r, b, u) {
752
+ var n = r("../utils"), a = r("./GenericWorker");
753
+ function i(h) {
754
+ a.call(this, "DataWorker");
755
+ var y = this;
756
+ this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, h.then(function(k) {
757
+ y.dataIsReady = !0, y.data = k, y.max = k && k.length || 0, y.type = n.getTypeOf(k), y.isPaused || y._tickAndRepeat();
758
+ }, function(k) {
759
+ y.error(k);
760
+ });
761
+ }
762
+ n.inherits(i, a), i.prototype.cleanUp = function() {
763
+ a.prototype.cleanUp.call(this), this.data = null;
764
+ }, i.prototype.resume = function() {
765
+ return !!a.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, n.delay(this._tickAndRepeat, [], this)), !0);
766
+ }, i.prototype._tickAndRepeat = function() {
767
+ this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0));
768
+ }, i.prototype._tick = function() {
769
+ if (this.isPaused || this.isFinished) return !1;
770
+ var h = null, y = Math.min(this.max, this.index + 16384);
771
+ if (this.index >= this.max) return this.end();
772
+ switch (this.type) {
773
+ case "string":
774
+ h = this.data.substring(this.index, y);
775
+ break;
776
+ case "uint8array":
777
+ h = this.data.subarray(this.index, y);
778
+ break;
779
+ case "array":
780
+ case "nodebuffer":
781
+ h = this.data.slice(this.index, y);
782
+ }
783
+ return this.index = y, this.push({ data: h, meta: { percent: this.max ? this.index / this.max * 100 : 0 } });
784
+ }, b.exports = i;
785
+ }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function(r, b, u) {
786
+ function n(a) {
787
+ this.name = a || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = { data: [], end: [], error: [] }, this.previous = null;
788
+ }
789
+ n.prototype = { push: function(a) {
790
+ this.emit("data", a);
791
+ }, end: function() {
792
+ if (this.isFinished) return !1;
793
+ this.flush();
794
+ try {
795
+ this.emit("end"), this.cleanUp(), this.isFinished = !0;
796
+ } catch (a) {
797
+ this.emit("error", a);
798
+ }
799
+ return !0;
800
+ }, error: function(a) {
801
+ return !this.isFinished && (this.isPaused ? this.generatedError = a : (this.isFinished = !0, this.emit("error", a), this.previous && this.previous.error(a), this.cleanUp()), !0);
802
+ }, on: function(a, i) {
803
+ return this._listeners[a].push(i), this;
804
+ }, cleanUp: function() {
805
+ this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [];
806
+ }, emit: function(a, i) {
807
+ if (this._listeners[a]) for (var h = 0; h < this._listeners[a].length; h++) this._listeners[a][h].call(this, i);
808
+ }, pipe: function(a) {
809
+ return a.registerPrevious(this);
810
+ }, registerPrevious: function(a) {
811
+ if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
812
+ this.streamInfo = a.streamInfo, this.mergeStreamInfo(), this.previous = a;
813
+ var i = this;
814
+ return a.on("data", function(h) {
815
+ i.processChunk(h);
816
+ }), a.on("end", function() {
817
+ i.end();
818
+ }), a.on("error", function(h) {
819
+ i.error(h);
820
+ }), this;
821
+ }, pause: function() {
822
+ return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0);
823
+ }, resume: function() {
824
+ if (!this.isPaused || this.isFinished) return !1;
825
+ var a = this.isPaused = !1;
826
+ return this.generatedError && (this.error(this.generatedError), a = !0), this.previous && this.previous.resume(), !a;
827
+ }, flush: function() {
828
+ }, processChunk: function(a) {
829
+ this.push(a);
830
+ }, withStreamInfo: function(a, i) {
831
+ return this.extraStreamInfo[a] = i, this.mergeStreamInfo(), this;
832
+ }, mergeStreamInfo: function() {
833
+ for (var a in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, a) && (this.streamInfo[a] = this.extraStreamInfo[a]);
834
+ }, lock: function() {
835
+ if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
836
+ this.isLocked = !0, this.previous && this.previous.lock();
837
+ }, toString: function() {
838
+ var a = "Worker " + this.name;
839
+ return this.previous ? this.previous + " -> " + a : a;
840
+ } }, b.exports = n;
841
+ }, {}], 29: [function(r, b, u) {
842
+ var n = r("../utils"), a = r("./ConvertWorker"), i = r("./GenericWorker"), h = r("../base64"), y = r("../support"), k = r("../external"), g = null;
843
+ if (y.nodestream) try {
844
+ g = r("../nodejs/NodejsStreamOutputAdapter");
845
+ } catch {
846
+ }
847
+ function v(m, s) {
848
+ return new k.Promise(function(d, l) {
849
+ var f = [], _ = m._internalType, S = m._outputType, z = m._mimeType;
850
+ m.on("data", function(F, R) {
851
+ f.push(F), s && s(R);
852
+ }).on("error", function(F) {
853
+ f = [], l(F);
854
+ }).on("end", function() {
855
+ try {
856
+ var F = (function(R, P, T) {
857
+ switch (R) {
858
+ case "blob":
859
+ return n.newBlob(n.transformTo("arraybuffer", P), T);
860
+ case "base64":
861
+ return h.encode(P);
862
+ default:
863
+ return n.transformTo(R, P);
864
+ }
865
+ })(S, (function(R, P) {
866
+ var T, W = 0, J = null, w = 0;
867
+ for (T = 0; T < P.length; T++) w += P[T].length;
868
+ switch (R) {
869
+ case "string":
870
+ return P.join("");
871
+ case "array":
872
+ return Array.prototype.concat.apply([], P);
873
+ case "uint8array":
874
+ for (J = new Uint8Array(w), T = 0; T < P.length; T++) J.set(P[T], W), W += P[T].length;
875
+ return J;
876
+ case "nodebuffer":
877
+ return Buffer.concat(P);
878
+ default:
879
+ throw new Error("concat : unsupported type '" + R + "'");
880
+ }
881
+ })(_, f), z);
882
+ d(F);
883
+ } catch (R) {
884
+ l(R);
885
+ }
886
+ f = [];
887
+ }).resume();
888
+ });
889
+ }
890
+ function o(m, s, d) {
891
+ var l = s;
892
+ switch (s) {
893
+ case "blob":
894
+ case "arraybuffer":
895
+ l = "uint8array";
896
+ break;
897
+ case "base64":
898
+ l = "string";
899
+ }
900
+ try {
901
+ this._internalType = l, this._outputType = s, this._mimeType = d, n.checkSupport(l), this._worker = m.pipe(new a(l)), m.lock();
902
+ } catch (f) {
903
+ this._worker = new i("error"), this._worker.error(f);
904
+ }
905
+ }
906
+ o.prototype = { accumulate: function(m) {
907
+ return v(this, m);
908
+ }, on: function(m, s) {
909
+ var d = this;
910
+ return m === "data" ? this._worker.on(m, function(l) {
911
+ s.call(d, l.data, l.meta);
912
+ }) : this._worker.on(m, function() {
913
+ n.delay(s, arguments, d);
914
+ }), this;
915
+ }, resume: function() {
916
+ return n.delay(this._worker.resume, [], this._worker), this;
917
+ }, pause: function() {
918
+ return this._worker.pause(), this;
919
+ }, toNodejsStream: function(m) {
920
+ if (n.checkSupport("nodestream"), this._outputType !== "nodebuffer") throw new Error(this._outputType + " is not supported by this method");
921
+ return new g(this, { objectMode: this._outputType !== "nodebuffer" }, m);
922
+ } }, b.exports = o;
923
+ }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(r, b, u) {
924
+ if (u.base64 = !0, u.array = !0, u.string = !0, u.arraybuffer = typeof ArrayBuffer < "u" && typeof Uint8Array < "u", u.nodebuffer = typeof Buffer < "u", u.uint8array = typeof Uint8Array < "u", typeof ArrayBuffer > "u") u.blob = !1;
925
+ else {
926
+ var n = new ArrayBuffer(0);
927
+ try {
928
+ u.blob = new Blob([n], { type: "application/zip" }).size === 0;
929
+ } catch {
930
+ try {
931
+ var a = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();
932
+ a.append(n), u.blob = a.getBlob("application/zip").size === 0;
933
+ } catch {
934
+ u.blob = !1;
935
+ }
936
+ }
937
+ }
938
+ try {
939
+ u.nodestream = !!r("readable-stream").Readable;
940
+ } catch {
941
+ u.nodestream = !1;
942
+ }
943
+ }, { "readable-stream": 16 }], 31: [function(r, b, u) {
944
+ for (var n = r("./utils"), a = r("./support"), i = r("./nodejsUtils"), h = r("./stream/GenericWorker"), y = new Array(256), k = 0; k < 256; k++) y[k] = 252 <= k ? 6 : 248 <= k ? 5 : 240 <= k ? 4 : 224 <= k ? 3 : 192 <= k ? 2 : 1;
945
+ y[254] = y[254] = 1;
946
+ function g() {
947
+ h.call(this, "utf-8 decode"), this.leftOver = null;
948
+ }
949
+ function v() {
950
+ h.call(this, "utf-8 encode");
951
+ }
952
+ u.utf8encode = function(o) {
953
+ return a.nodebuffer ? i.newBufferFrom(o, "utf-8") : (function(m) {
954
+ var s, d, l, f, _, S = m.length, z = 0;
955
+ for (f = 0; f < S; f++) (64512 & (d = m.charCodeAt(f))) == 55296 && f + 1 < S && (64512 & (l = m.charCodeAt(f + 1))) == 56320 && (d = 65536 + (d - 55296 << 10) + (l - 56320), f++), z += d < 128 ? 1 : d < 2048 ? 2 : d < 65536 ? 3 : 4;
956
+ for (s = a.uint8array ? new Uint8Array(z) : new Array(z), f = _ = 0; _ < z; f++) (64512 & (d = m.charCodeAt(f))) == 55296 && f + 1 < S && (64512 & (l = m.charCodeAt(f + 1))) == 56320 && (d = 65536 + (d - 55296 << 10) + (l - 56320), f++), d < 128 ? s[_++] = d : (d < 2048 ? s[_++] = 192 | d >>> 6 : (d < 65536 ? s[_++] = 224 | d >>> 12 : (s[_++] = 240 | d >>> 18, s[_++] = 128 | d >>> 12 & 63), s[_++] = 128 | d >>> 6 & 63), s[_++] = 128 | 63 & d);
957
+ return s;
958
+ })(o);
959
+ }, u.utf8decode = function(o) {
960
+ return a.nodebuffer ? n.transformTo("nodebuffer", o).toString("utf-8") : (function(m) {
961
+ var s, d, l, f, _ = m.length, S = new Array(2 * _);
962
+ for (s = d = 0; s < _; ) if ((l = m[s++]) < 128) S[d++] = l;
963
+ else if (4 < (f = y[l])) S[d++] = 65533, s += f - 1;
964
+ else {
965
+ for (l &= f === 2 ? 31 : f === 3 ? 15 : 7; 1 < f && s < _; ) l = l << 6 | 63 & m[s++], f--;
966
+ 1 < f ? S[d++] = 65533 : l < 65536 ? S[d++] = l : (l -= 65536, S[d++] = 55296 | l >> 10 & 1023, S[d++] = 56320 | 1023 & l);
967
+ }
968
+ return S.length !== d && (S.subarray ? S = S.subarray(0, d) : S.length = d), n.applyFromCharCode(S);
969
+ })(o = n.transformTo(a.uint8array ? "uint8array" : "array", o));
970
+ }, n.inherits(g, h), g.prototype.processChunk = function(o) {
971
+ var m = n.transformTo(a.uint8array ? "uint8array" : "array", o.data);
972
+ if (this.leftOver && this.leftOver.length) {
973
+ if (a.uint8array) {
974
+ var s = m;
975
+ (m = new Uint8Array(s.length + this.leftOver.length)).set(this.leftOver, 0), m.set(s, this.leftOver.length);
976
+ } else m = this.leftOver.concat(m);
977
+ this.leftOver = null;
978
+ }
979
+ var d = (function(f, _) {
980
+ var S;
981
+ for ((_ = _ || f.length) > f.length && (_ = f.length), S = _ - 1; 0 <= S && (192 & f[S]) == 128; ) S--;
982
+ return S < 0 || S === 0 ? _ : S + y[f[S]] > _ ? S : _;
983
+ })(m), l = m;
984
+ d !== m.length && (a.uint8array ? (l = m.subarray(0, d), this.leftOver = m.subarray(d, m.length)) : (l = m.slice(0, d), this.leftOver = m.slice(d, m.length))), this.push({ data: u.utf8decode(l), meta: o.meta });
985
+ }, g.prototype.flush = function() {
986
+ this.leftOver && this.leftOver.length && (this.push({ data: u.utf8decode(this.leftOver), meta: {} }), this.leftOver = null);
987
+ }, u.Utf8DecodeWorker = g, n.inherits(v, h), v.prototype.processChunk = function(o) {
988
+ this.push({ data: u.utf8encode(o.data), meta: o.meta });
989
+ }, u.Utf8EncodeWorker = v;
990
+ }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function(r, b, u) {
991
+ var n = r("./support"), a = r("./base64"), i = r("./nodejsUtils"), h = r("./external");
992
+ function y(s) {
993
+ return s;
994
+ }
995
+ function k(s, d) {
996
+ for (var l = 0; l < s.length; ++l) d[l] = 255 & s.charCodeAt(l);
997
+ return d;
998
+ }
999
+ r("setimmediate"), u.newBlob = function(s, d) {
1000
+ u.checkSupport("blob");
1001
+ try {
1002
+ return new Blob([s], { type: d });
1003
+ } catch {
1004
+ try {
1005
+ var l = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();
1006
+ return l.append(s), l.getBlob(d);
1007
+ } catch {
1008
+ throw new Error("Bug : can't construct the Blob.");
1009
+ }
1010
+ }
1011
+ };
1012
+ var g = { stringifyByChunk: function(s, d, l) {
1013
+ var f = [], _ = 0, S = s.length;
1014
+ if (S <= l) return String.fromCharCode.apply(null, s);
1015
+ for (; _ < S; ) d === "array" || d === "nodebuffer" ? f.push(String.fromCharCode.apply(null, s.slice(_, Math.min(_ + l, S)))) : f.push(String.fromCharCode.apply(null, s.subarray(_, Math.min(_ + l, S)))), _ += l;
1016
+ return f.join("");
1017
+ }, stringifyByChar: function(s) {
1018
+ for (var d = "", l = 0; l < s.length; l++) d += String.fromCharCode(s[l]);
1019
+ return d;
1020
+ }, applyCanBeUsed: { uint8array: (function() {
1021
+ try {
1022
+ return n.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1;
1023
+ } catch {
1024
+ return !1;
1025
+ }
1026
+ })(), nodebuffer: (function() {
1027
+ try {
1028
+ return n.nodebuffer && String.fromCharCode.apply(null, i.allocBuffer(1)).length === 1;
1029
+ } catch {
1030
+ return !1;
1031
+ }
1032
+ })() } };
1033
+ function v(s) {
1034
+ var d = 65536, l = u.getTypeOf(s), f = !0;
1035
+ if (l === "uint8array" ? f = g.applyCanBeUsed.uint8array : l === "nodebuffer" && (f = g.applyCanBeUsed.nodebuffer), f) for (; 1 < d; ) try {
1036
+ return g.stringifyByChunk(s, l, d);
1037
+ } catch {
1038
+ d = Math.floor(d / 2);
1039
+ }
1040
+ return g.stringifyByChar(s);
1041
+ }
1042
+ function o(s, d) {
1043
+ for (var l = 0; l < s.length; l++) d[l] = s[l];
1044
+ return d;
1045
+ }
1046
+ u.applyFromCharCode = v;
1047
+ var m = {};
1048
+ m.string = { string: y, array: function(s) {
1049
+ return k(s, new Array(s.length));
1050
+ }, arraybuffer: function(s) {
1051
+ return m.string.uint8array(s).buffer;
1052
+ }, uint8array: function(s) {
1053
+ return k(s, new Uint8Array(s.length));
1054
+ }, nodebuffer: function(s) {
1055
+ return k(s, i.allocBuffer(s.length));
1056
+ } }, m.array = { string: v, array: y, arraybuffer: function(s) {
1057
+ return new Uint8Array(s).buffer;
1058
+ }, uint8array: function(s) {
1059
+ return new Uint8Array(s);
1060
+ }, nodebuffer: function(s) {
1061
+ return i.newBufferFrom(s);
1062
+ } }, m.arraybuffer = { string: function(s) {
1063
+ return v(new Uint8Array(s));
1064
+ }, array: function(s) {
1065
+ return o(new Uint8Array(s), new Array(s.byteLength));
1066
+ }, arraybuffer: y, uint8array: function(s) {
1067
+ return new Uint8Array(s);
1068
+ }, nodebuffer: function(s) {
1069
+ return i.newBufferFrom(new Uint8Array(s));
1070
+ } }, m.uint8array = { string: v, array: function(s) {
1071
+ return o(s, new Array(s.length));
1072
+ }, arraybuffer: function(s) {
1073
+ return s.buffer;
1074
+ }, uint8array: y, nodebuffer: function(s) {
1075
+ return i.newBufferFrom(s);
1076
+ } }, m.nodebuffer = { string: v, array: function(s) {
1077
+ return o(s, new Array(s.length));
1078
+ }, arraybuffer: function(s) {
1079
+ return m.nodebuffer.uint8array(s).buffer;
1080
+ }, uint8array: function(s) {
1081
+ return o(s, new Uint8Array(s.length));
1082
+ }, nodebuffer: y }, u.transformTo = function(s, d) {
1083
+ if (d = d || "", !s) return d;
1084
+ u.checkSupport(s);
1085
+ var l = u.getTypeOf(d);
1086
+ return m[l][s](d);
1087
+ }, u.resolve = function(s) {
1088
+ for (var d = s.split("/"), l = [], f = 0; f < d.length; f++) {
1089
+ var _ = d[f];
1090
+ _ === "." || _ === "" && f !== 0 && f !== d.length - 1 || (_ === ".." ? l.pop() : l.push(_));
1091
+ }
1092
+ return l.join("/");
1093
+ }, u.getTypeOf = function(s) {
1094
+ return typeof s == "string" ? "string" : Object.prototype.toString.call(s) === "[object Array]" ? "array" : n.nodebuffer && i.isBuffer(s) ? "nodebuffer" : n.uint8array && s instanceof Uint8Array ? "uint8array" : n.arraybuffer && s instanceof ArrayBuffer ? "arraybuffer" : void 0;
1095
+ }, u.checkSupport = function(s) {
1096
+ if (!n[s.toLowerCase()]) throw new Error(s + " is not supported by this platform");
1097
+ }, u.MAX_VALUE_16BITS = 65535, u.MAX_VALUE_32BITS = -1, u.pretty = function(s) {
1098
+ var d, l, f = "";
1099
+ for (l = 0; l < (s || "").length; l++) f += "\\x" + ((d = s.charCodeAt(l)) < 16 ? "0" : "") + d.toString(16).toUpperCase();
1100
+ return f;
1101
+ }, u.delay = function(s, d, l) {
1102
+ setImmediate(function() {
1103
+ s.apply(l || null, d || []);
1104
+ });
1105
+ }, u.inherits = function(s, d) {
1106
+ function l() {
1107
+ }
1108
+ l.prototype = d.prototype, s.prototype = new l();
1109
+ }, u.extend = function() {
1110
+ var s, d, l = {};
1111
+ for (s = 0; s < arguments.length; s++) for (d in arguments[s]) Object.prototype.hasOwnProperty.call(arguments[s], d) && l[d] === void 0 && (l[d] = arguments[s][d]);
1112
+ return l;
1113
+ }, u.prepareContent = function(s, d, l, f, _) {
1114
+ return h.Promise.resolve(d).then(function(S) {
1115
+ return n.blob && (S instanceof Blob || ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(S)) !== -1) && typeof FileReader < "u" ? new h.Promise(function(z, F) {
1116
+ var R = new FileReader();
1117
+ R.onload = function(P) {
1118
+ z(P.target.result);
1119
+ }, R.onerror = function(P) {
1120
+ F(P.target.error);
1121
+ }, R.readAsArrayBuffer(S);
1122
+ }) : S;
1123
+ }).then(function(S) {
1124
+ var z = u.getTypeOf(S);
1125
+ return z ? (z === "arraybuffer" ? S = u.transformTo("uint8array", S) : z === "string" && (_ ? S = a.decode(S) : l && f !== !0 && (S = (function(F) {
1126
+ return k(F, n.uint8array ? new Uint8Array(F.length) : new Array(F.length));
1127
+ })(S))), S) : h.Promise.reject(new Error("Can't read the data of '" + s + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"));
1128
+ });
1129
+ };
1130
+ }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, setimmediate: 54 }], 33: [function(r, b, u) {
1131
+ var n = r("./reader/readerFor"), a = r("./utils"), i = r("./signature"), h = r("./zipEntry"), y = r("./support");
1132
+ function k(g) {
1133
+ this.files = [], this.loadOptions = g;
1134
+ }
1135
+ k.prototype = { checkSignature: function(g) {
1136
+ if (!this.reader.readAndCheckSignature(g)) {
1137
+ this.reader.index -= 4;
1138
+ var v = this.reader.readString(4);
1139
+ throw new Error("Corrupted zip or bug: unexpected signature (" + a.pretty(v) + ", expected " + a.pretty(g) + ")");
1140
+ }
1141
+ }, isSignature: function(g, v) {
1142
+ var o = this.reader.index;
1143
+ this.reader.setIndex(g);
1144
+ var m = this.reader.readString(4) === v;
1145
+ return this.reader.setIndex(o), m;
1146
+ }, readBlockEndOfCentral: function() {
1147
+ this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2);
1148
+ var g = this.reader.readData(this.zipCommentLength), v = y.uint8array ? "uint8array" : "array", o = a.transformTo(v, g);
1149
+ this.zipComment = this.loadOptions.decodeFileName(o);
1150
+ }, readBlockZip64EndOfCentral: function() {
1151
+ this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {};
1152
+ for (var g, v, o, m = this.zip64EndOfCentralSize - 44; 0 < m; ) g = this.reader.readInt(2), v = this.reader.readInt(4), o = this.reader.readData(v), this.zip64ExtensibleData[g] = { id: g, length: v, value: o };
1153
+ }, readBlockZip64EndOfCentralLocator: function() {
1154
+ if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported");
1155
+ }, readLocalFiles: function() {
1156
+ var g, v;
1157
+ for (g = 0; g < this.files.length; g++) v = this.files[g], this.reader.setIndex(v.localHeaderOffset), this.checkSignature(i.LOCAL_FILE_HEADER), v.readLocalPart(this.reader), v.handleUTF8(), v.processAttributes();
1158
+ }, readCentralDir: function() {
1159
+ var g;
1160
+ for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(i.CENTRAL_FILE_HEADER); ) (g = new h({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(g);
1161
+ if (this.centralDirRecords !== this.files.length && this.centralDirRecords !== 0 && this.files.length === 0) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length);
1162
+ }, readEndOfCentral: function() {
1163
+ var g = this.reader.lastIndexOfSignature(i.CENTRAL_DIRECTORY_END);
1164
+ if (g < 0) throw this.isSignature(0, i.LOCAL_FILE_HEADER) ? new Error("Corrupted zip: can't find end of central directory") : new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");
1165
+ this.reader.setIndex(g);
1166
+ var v = g;
1167
+ if (this.checkSignature(i.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === a.MAX_VALUE_16BITS || this.diskWithCentralDirStart === a.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === a.MAX_VALUE_16BITS || this.centralDirRecords === a.MAX_VALUE_16BITS || this.centralDirSize === a.MAX_VALUE_32BITS || this.centralDirOffset === a.MAX_VALUE_32BITS) {
1168
+ if (this.zip64 = !0, (g = this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");
1169
+ if (this.reader.setIndex(g), this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, i.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");
1170
+ this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral();
1171
+ }
1172
+ var o = this.centralDirOffset + this.centralDirSize;
1173
+ this.zip64 && (o += 20, o += 12 + this.zip64EndOfCentralSize);
1174
+ var m = v - o;
1175
+ if (0 < m) this.isSignature(v, i.CENTRAL_FILE_HEADER) || (this.reader.zero = m);
1176
+ else if (m < 0) throw new Error("Corrupted zip: missing " + Math.abs(m) + " bytes.");
1177
+ }, prepareReader: function(g) {
1178
+ this.reader = n(g);
1179
+ }, load: function(g) {
1180
+ this.prepareReader(g), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles();
1181
+ } }, b.exports = k;
1182
+ }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utils": 32, "./zipEntry": 34 }], 34: [function(r, b, u) {
1183
+ var n = r("./reader/readerFor"), a = r("./utils"), i = r("./compressedObject"), h = r("./crc32"), y = r("./utf8"), k = r("./compressions"), g = r("./support");
1184
+ function v(o, m) {
1185
+ this.options = o, this.loadOptions = m;
1186
+ }
1187
+ v.prototype = { isEncrypted: function() {
1188
+ return (1 & this.bitFlag) == 1;
1189
+ }, useUTF8: function() {
1190
+ return (2048 & this.bitFlag) == 2048;
1191
+ }, readLocalPart: function(o) {
1192
+ var m, s;
1193
+ if (o.skip(22), this.fileNameLength = o.readInt(2), s = o.readInt(2), this.fileName = o.readData(this.fileNameLength), o.skip(s), this.compressedSize === -1 || this.uncompressedSize === -1) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");
1194
+ if ((m = (function(d) {
1195
+ for (var l in k) if (Object.prototype.hasOwnProperty.call(k, l) && k[l].magic === d) return k[l];
1196
+ return null;
1197
+ })(this.compressionMethod)) === null) throw new Error("Corrupted zip : compression " + a.pretty(this.compressionMethod) + " unknown (inner file : " + a.transformTo("string", this.fileName) + ")");
1198
+ this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, m, o.readData(this.compressedSize));
1199
+ }, readCentralPart: function(o) {
1200
+ this.versionMadeBy = o.readInt(2), o.skip(2), this.bitFlag = o.readInt(2), this.compressionMethod = o.readString(2), this.date = o.readDate(), this.crc32 = o.readInt(4), this.compressedSize = o.readInt(4), this.uncompressedSize = o.readInt(4);
1201
+ var m = o.readInt(2);
1202
+ if (this.extraFieldsLength = o.readInt(2), this.fileCommentLength = o.readInt(2), this.diskNumberStart = o.readInt(2), this.internalFileAttributes = o.readInt(2), this.externalFileAttributes = o.readInt(4), this.localHeaderOffset = o.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported");
1203
+ o.skip(m), this.readExtraFields(o), this.parseZIP64ExtraField(o), this.fileComment = o.readData(this.fileCommentLength);
1204
+ }, processAttributes: function() {
1205
+ this.unixPermissions = null, this.dosPermissions = null;
1206
+ var o = this.versionMadeBy >> 8;
1207
+ this.dir = !!(16 & this.externalFileAttributes), o == 0 && (this.dosPermissions = 63 & this.externalFileAttributes), o == 3 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || this.fileNameStr.slice(-1) !== "/" || (this.dir = !0);
1208
+ }, parseZIP64ExtraField: function() {
1209
+ if (this.extraFields[1]) {
1210
+ var o = n(this.extraFields[1].value);
1211
+ this.uncompressedSize === a.MAX_VALUE_32BITS && (this.uncompressedSize = o.readInt(8)), this.compressedSize === a.MAX_VALUE_32BITS && (this.compressedSize = o.readInt(8)), this.localHeaderOffset === a.MAX_VALUE_32BITS && (this.localHeaderOffset = o.readInt(8)), this.diskNumberStart === a.MAX_VALUE_32BITS && (this.diskNumberStart = o.readInt(4));
1212
+ }
1213
+ }, readExtraFields: function(o) {
1214
+ var m, s, d, l = o.index + this.extraFieldsLength;
1215
+ for (this.extraFields || (this.extraFields = {}); o.index + 4 < l; ) m = o.readInt(2), s = o.readInt(2), d = o.readData(s), this.extraFields[m] = { id: m, length: s, value: d };
1216
+ o.setIndex(l);
1217
+ }, handleUTF8: function() {
1218
+ var o = g.uint8array ? "uint8array" : "array";
1219
+ if (this.useUTF8()) this.fileNameStr = y.utf8decode(this.fileName), this.fileCommentStr = y.utf8decode(this.fileComment);
1220
+ else {
1221
+ var m = this.findExtraFieldUnicodePath();
1222
+ if (m !== null) this.fileNameStr = m;
1223
+ else {
1224
+ var s = a.transformTo(o, this.fileName);
1225
+ this.fileNameStr = this.loadOptions.decodeFileName(s);
1226
+ }
1227
+ var d = this.findExtraFieldUnicodeComment();
1228
+ if (d !== null) this.fileCommentStr = d;
1229
+ else {
1230
+ var l = a.transformTo(o, this.fileComment);
1231
+ this.fileCommentStr = this.loadOptions.decodeFileName(l);
1232
+ }
1233
+ }
1234
+ }, findExtraFieldUnicodePath: function() {
1235
+ var o = this.extraFields[28789];
1236
+ if (o) {
1237
+ var m = n(o.value);
1238
+ return m.readInt(1) !== 1 || h(this.fileName) !== m.readInt(4) ? null : y.utf8decode(m.readData(o.length - 5));
1239
+ }
1240
+ return null;
1241
+ }, findExtraFieldUnicodeComment: function() {
1242
+ var o = this.extraFields[25461];
1243
+ if (o) {
1244
+ var m = n(o.value);
1245
+ return m.readInt(1) !== 1 || h(this.fileComment) !== m.readInt(4) ? null : y.utf8decode(m.readData(o.length - 5));
1246
+ }
1247
+ return null;
1248
+ } }, b.exports = v;
1249
+ }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function(r, b, u) {
1250
+ function n(m, s, d) {
1251
+ this.name = m, this.dir = d.dir, this.date = d.date, this.comment = d.comment, this.unixPermissions = d.unixPermissions, this.dosPermissions = d.dosPermissions, this._data = s, this._dataBinary = d.binary, this.options = { compression: d.compression, compressionOptions: d.compressionOptions };
1252
+ }
1253
+ var a = r("./stream/StreamHelper"), i = r("./stream/DataWorker"), h = r("./utf8"), y = r("./compressedObject"), k = r("./stream/GenericWorker");
1254
+ n.prototype = { internalStream: function(m) {
1255
+ var s = null, d = "string";
1256
+ try {
1257
+ if (!m) throw new Error("No output type specified.");
1258
+ var l = (d = m.toLowerCase()) === "string" || d === "text";
1259
+ d !== "binarystring" && d !== "text" || (d = "string"), s = this._decompressWorker();
1260
+ var f = !this._dataBinary;
1261
+ f && !l && (s = s.pipe(new h.Utf8EncodeWorker())), !f && l && (s = s.pipe(new h.Utf8DecodeWorker()));
1262
+ } catch (_) {
1263
+ (s = new k("error")).error(_);
1264
+ }
1265
+ return new a(s, d, "");
1266
+ }, async: function(m, s) {
1267
+ return this.internalStream(m).accumulate(s);
1268
+ }, nodeStream: function(m, s) {
1269
+ return this.internalStream(m || "nodebuffer").toNodejsStream(s);
1270
+ }, _compressWorker: function(m, s) {
1271
+ if (this._data instanceof y && this._data.compression.magic === m.magic) return this._data.getCompressedWorker();
1272
+ var d = this._decompressWorker();
1273
+ return this._dataBinary || (d = d.pipe(new h.Utf8EncodeWorker())), y.createWorkerFrom(d, m, s);
1274
+ }, _decompressWorker: function() {
1275
+ return this._data instanceof y ? this._data.getContentWorker() : this._data instanceof k ? this._data : new i(this._data);
1276
+ } };
1277
+ for (var g = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], v = function() {
1278
+ throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
1279
+ }, o = 0; o < g.length; o++) n.prototype[g[o]] = v;
1280
+ b.exports = n;
1281
+ }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(r, b, u) {
1282
+ (function(n) {
1283
+ var a, i, h = n.MutationObserver || n.WebKitMutationObserver;
1284
+ if (h) {
1285
+ var y = 0, k = new h(m), g = n.document.createTextNode("");
1286
+ k.observe(g, { characterData: !0 }), a = function() {
1287
+ g.data = y = ++y % 2;
1288
+ };
1289
+ } else if (n.setImmediate || n.MessageChannel === void 0) a = "document" in n && "onreadystatechange" in n.document.createElement("script") ? function() {
1290
+ var s = n.document.createElement("script");
1291
+ s.onreadystatechange = function() {
1292
+ m(), s.onreadystatechange = null, s.parentNode.removeChild(s), s = null;
1293
+ }, n.document.documentElement.appendChild(s);
1294
+ } : function() {
1295
+ setTimeout(m, 0);
1296
+ };
1297
+ else {
1298
+ var v = new n.MessageChannel();
1299
+ v.port1.onmessage = m, a = function() {
1300
+ v.port2.postMessage(0);
1301
+ };
1302
+ }
1303
+ var o = [];
1304
+ function m() {
1305
+ var s, d;
1306
+ i = !0;
1307
+ for (var l = o.length; l; ) {
1308
+ for (d = o, o = [], s = -1; ++s < l; ) d[s]();
1309
+ l = o.length;
1310
+ }
1311
+ i = !1;
1312
+ }
1313
+ b.exports = function(s) {
1314
+ o.push(s) !== 1 || i || a();
1315
+ };
1316
+ }).call(this, typeof kt < "u" ? kt : typeof self < "u" ? self : typeof window < "u" ? window : {});
1317
+ }, {}], 37: [function(r, b, u) {
1318
+ var n = r("immediate");
1319
+ function a() {
1320
+ }
1321
+ var i = {}, h = ["REJECTED"], y = ["FULFILLED"], k = ["PENDING"];
1322
+ function g(l) {
1323
+ if (typeof l != "function") throw new TypeError("resolver must be a function");
1324
+ this.state = k, this.queue = [], this.outcome = void 0, l !== a && s(this, l);
1325
+ }
1326
+ function v(l, f, _) {
1327
+ this.promise = l, typeof f == "function" && (this.onFulfilled = f, this.callFulfilled = this.otherCallFulfilled), typeof _ == "function" && (this.onRejected = _, this.callRejected = this.otherCallRejected);
1328
+ }
1329
+ function o(l, f, _) {
1330
+ n(function() {
1331
+ var S;
1332
+ try {
1333
+ S = f(_);
1334
+ } catch (z) {
1335
+ return i.reject(l, z);
1336
+ }
1337
+ S === l ? i.reject(l, new TypeError("Cannot resolve promise with itself")) : i.resolve(l, S);
1338
+ });
1339
+ }
1340
+ function m(l) {
1341
+ var f = l && l.then;
1342
+ if (l && (typeof l == "object" || typeof l == "function") && typeof f == "function") return function() {
1343
+ f.apply(l, arguments);
1344
+ };
1345
+ }
1346
+ function s(l, f) {
1347
+ var _ = !1;
1348
+ function S(R) {
1349
+ _ || (_ = !0, i.reject(l, R));
1350
+ }
1351
+ function z(R) {
1352
+ _ || (_ = !0, i.resolve(l, R));
1353
+ }
1354
+ var F = d(function() {
1355
+ f(z, S);
1356
+ });
1357
+ F.status === "error" && S(F.value);
1358
+ }
1359
+ function d(l, f) {
1360
+ var _ = {};
1361
+ try {
1362
+ _.value = l(f), _.status = "success";
1363
+ } catch (S) {
1364
+ _.status = "error", _.value = S;
1365
+ }
1366
+ return _;
1367
+ }
1368
+ (b.exports = g).prototype.finally = function(l) {
1369
+ if (typeof l != "function") return this;
1370
+ var f = this.constructor;
1371
+ return this.then(function(_) {
1372
+ return f.resolve(l()).then(function() {
1373
+ return _;
1374
+ });
1375
+ }, function(_) {
1376
+ return f.resolve(l()).then(function() {
1377
+ throw _;
1378
+ });
1379
+ });
1380
+ }, g.prototype.catch = function(l) {
1381
+ return this.then(null, l);
1382
+ }, g.prototype.then = function(l, f) {
1383
+ if (typeof l != "function" && this.state === y || typeof f != "function" && this.state === h) return this;
1384
+ var _ = new this.constructor(a);
1385
+ return this.state !== k ? o(_, this.state === y ? l : f, this.outcome) : this.queue.push(new v(_, l, f)), _;
1386
+ }, v.prototype.callFulfilled = function(l) {
1387
+ i.resolve(this.promise, l);
1388
+ }, v.prototype.otherCallFulfilled = function(l) {
1389
+ o(this.promise, this.onFulfilled, l);
1390
+ }, v.prototype.callRejected = function(l) {
1391
+ i.reject(this.promise, l);
1392
+ }, v.prototype.otherCallRejected = function(l) {
1393
+ o(this.promise, this.onRejected, l);
1394
+ }, i.resolve = function(l, f) {
1395
+ var _ = d(m, f);
1396
+ if (_.status === "error") return i.reject(l, _.value);
1397
+ var S = _.value;
1398
+ if (S) s(l, S);
1399
+ else {
1400
+ l.state = y, l.outcome = f;
1401
+ for (var z = -1, F = l.queue.length; ++z < F; ) l.queue[z].callFulfilled(f);
1402
+ }
1403
+ return l;
1404
+ }, i.reject = function(l, f) {
1405
+ l.state = h, l.outcome = f;
1406
+ for (var _ = -1, S = l.queue.length; ++_ < S; ) l.queue[_].callRejected(f);
1407
+ return l;
1408
+ }, g.resolve = function(l) {
1409
+ return l instanceof this ? l : i.resolve(new this(a), l);
1410
+ }, g.reject = function(l) {
1411
+ var f = new this(a);
1412
+ return i.reject(f, l);
1413
+ }, g.all = function(l) {
1414
+ var f = this;
1415
+ if (Object.prototype.toString.call(l) !== "[object Array]") return this.reject(new TypeError("must be an array"));
1416
+ var _ = l.length, S = !1;
1417
+ if (!_) return this.resolve([]);
1418
+ for (var z = new Array(_), F = 0, R = -1, P = new this(a); ++R < _; ) T(l[R], R);
1419
+ return P;
1420
+ function T(W, J) {
1421
+ f.resolve(W).then(function(w) {
1422
+ z[J] = w, ++F !== _ || S || (S = !0, i.resolve(P, z));
1423
+ }, function(w) {
1424
+ S || (S = !0, i.reject(P, w));
1425
+ });
1426
+ }
1427
+ }, g.race = function(l) {
1428
+ var f = this;
1429
+ if (Object.prototype.toString.call(l) !== "[object Array]") return this.reject(new TypeError("must be an array"));
1430
+ var _ = l.length, S = !1;
1431
+ if (!_) return this.resolve([]);
1432
+ for (var z = -1, F = new this(a); ++z < _; ) R = l[z], f.resolve(R).then(function(P) {
1433
+ S || (S = !0, i.resolve(F, P));
1434
+ }, function(P) {
1435
+ S || (S = !0, i.reject(F, P));
1436
+ });
1437
+ var R;
1438
+ return F;
1439
+ };
1440
+ }, { immediate: 36 }], 38: [function(r, b, u) {
1441
+ var n = {};
1442
+ (0, r("./lib/utils/common").assign)(n, r("./lib/deflate"), r("./lib/inflate"), r("./lib/zlib/constants")), b.exports = n;
1443
+ }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function(r, b, u) {
1444
+ var n = r("./zlib/deflate"), a = r("./utils/common"), i = r("./utils/strings"), h = r("./zlib/messages"), y = r("./zlib/zstream"), k = Object.prototype.toString, g = 0, v = -1, o = 0, m = 8;
1445
+ function s(l) {
1446
+ if (!(this instanceof s)) return new s(l);
1447
+ this.options = a.assign({ level: v, method: m, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: o, to: "" }, l || {});
1448
+ var f = this.options;
1449
+ f.raw && 0 < f.windowBits ? f.windowBits = -f.windowBits : f.gzip && 0 < f.windowBits && f.windowBits < 16 && (f.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new y(), this.strm.avail_out = 0;
1450
+ var _ = n.deflateInit2(this.strm, f.level, f.method, f.windowBits, f.memLevel, f.strategy);
1451
+ if (_ !== g) throw new Error(h[_]);
1452
+ if (f.header && n.deflateSetHeader(this.strm, f.header), f.dictionary) {
1453
+ var S;
1454
+ if (S = typeof f.dictionary == "string" ? i.string2buf(f.dictionary) : k.call(f.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(f.dictionary) : f.dictionary, (_ = n.deflateSetDictionary(this.strm, S)) !== g) throw new Error(h[_]);
1455
+ this._dict_set = !0;
1456
+ }
1457
+ }
1458
+ function d(l, f) {
1459
+ var _ = new s(f);
1460
+ if (_.push(l, !0), _.err) throw _.msg || h[_.err];
1461
+ return _.result;
1462
+ }
1463
+ s.prototype.push = function(l, f) {
1464
+ var _, S, z = this.strm, F = this.options.chunkSize;
1465
+ if (this.ended) return !1;
1466
+ S = f === ~~f ? f : f === !0 ? 4 : 0, typeof l == "string" ? z.input = i.string2buf(l) : k.call(l) === "[object ArrayBuffer]" ? z.input = new Uint8Array(l) : z.input = l, z.next_in = 0, z.avail_in = z.input.length;
1467
+ do {
1468
+ if (z.avail_out === 0 && (z.output = new a.Buf8(F), z.next_out = 0, z.avail_out = F), (_ = n.deflate(z, S)) !== 1 && _ !== g) return this.onEnd(_), !(this.ended = !0);
1469
+ z.avail_out !== 0 && (z.avail_in !== 0 || S !== 4 && S !== 2) || (this.options.to === "string" ? this.onData(i.buf2binstring(a.shrinkBuf(z.output, z.next_out))) : this.onData(a.shrinkBuf(z.output, z.next_out)));
1470
+ } while ((0 < z.avail_in || z.avail_out === 0) && _ !== 1);
1471
+ return S === 4 ? (_ = n.deflateEnd(this.strm), this.onEnd(_), this.ended = !0, _ === g) : S !== 2 || (this.onEnd(g), !(z.avail_out = 0));
1472
+ }, s.prototype.onData = function(l) {
1473
+ this.chunks.push(l);
1474
+ }, s.prototype.onEnd = function(l) {
1475
+ l === g && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = a.flattenChunks(this.chunks)), this.chunks = [], this.err = l, this.msg = this.strm.msg;
1476
+ }, u.Deflate = s, u.deflate = d, u.deflateRaw = function(l, f) {
1477
+ return (f = f || {}).raw = !0, d(l, f);
1478
+ }, u.gzip = function(l, f) {
1479
+ return (f = f || {}).gzip = !0, d(l, f);
1480
+ };
1481
+ }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function(r, b, u) {
1482
+ var n = r("./zlib/inflate"), a = r("./utils/common"), i = r("./utils/strings"), h = r("./zlib/constants"), y = r("./zlib/messages"), k = r("./zlib/zstream"), g = r("./zlib/gzheader"), v = Object.prototype.toString;
1483
+ function o(s) {
1484
+ if (!(this instanceof o)) return new o(s);
1485
+ this.options = a.assign({ chunkSize: 16384, windowBits: 0, to: "" }, s || {});
1486
+ var d = this.options;
1487
+ d.raw && 0 <= d.windowBits && d.windowBits < 16 && (d.windowBits = -d.windowBits, d.windowBits === 0 && (d.windowBits = -15)), !(0 <= d.windowBits && d.windowBits < 16) || s && s.windowBits || (d.windowBits += 32), 15 < d.windowBits && d.windowBits < 48 && (15 & d.windowBits) == 0 && (d.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new k(), this.strm.avail_out = 0;
1488
+ var l = n.inflateInit2(this.strm, d.windowBits);
1489
+ if (l !== h.Z_OK) throw new Error(y[l]);
1490
+ this.header = new g(), n.inflateGetHeader(this.strm, this.header);
1491
+ }
1492
+ function m(s, d) {
1493
+ var l = new o(d);
1494
+ if (l.push(s, !0), l.err) throw l.msg || y[l.err];
1495
+ return l.result;
1496
+ }
1497
+ o.prototype.push = function(s, d) {
1498
+ var l, f, _, S, z, F, R = this.strm, P = this.options.chunkSize, T = this.options.dictionary, W = !1;
1499
+ if (this.ended) return !1;
1500
+ f = d === ~~d ? d : d === !0 ? h.Z_FINISH : h.Z_NO_FLUSH, typeof s == "string" ? R.input = i.binstring2buf(s) : v.call(s) === "[object ArrayBuffer]" ? R.input = new Uint8Array(s) : R.input = s, R.next_in = 0, R.avail_in = R.input.length;
1501
+ do {
1502
+ if (R.avail_out === 0 && (R.output = new a.Buf8(P), R.next_out = 0, R.avail_out = P), (l = n.inflate(R, h.Z_NO_FLUSH)) === h.Z_NEED_DICT && T && (F = typeof T == "string" ? i.string2buf(T) : v.call(T) === "[object ArrayBuffer]" ? new Uint8Array(T) : T, l = n.inflateSetDictionary(this.strm, F)), l === h.Z_BUF_ERROR && W === !0 && (l = h.Z_OK, W = !1), l !== h.Z_STREAM_END && l !== h.Z_OK) return this.onEnd(l), !(this.ended = !0);
1503
+ R.next_out && (R.avail_out !== 0 && l !== h.Z_STREAM_END && (R.avail_in !== 0 || f !== h.Z_FINISH && f !== h.Z_SYNC_FLUSH) || (this.options.to === "string" ? (_ = i.utf8border(R.output, R.next_out), S = R.next_out - _, z = i.buf2string(R.output, _), R.next_out = S, R.avail_out = P - S, S && a.arraySet(R.output, R.output, _, S, 0), this.onData(z)) : this.onData(a.shrinkBuf(R.output, R.next_out)))), R.avail_in === 0 && R.avail_out === 0 && (W = !0);
1504
+ } while ((0 < R.avail_in || R.avail_out === 0) && l !== h.Z_STREAM_END);
1505
+ return l === h.Z_STREAM_END && (f = h.Z_FINISH), f === h.Z_FINISH ? (l = n.inflateEnd(this.strm), this.onEnd(l), this.ended = !0, l === h.Z_OK) : f !== h.Z_SYNC_FLUSH || (this.onEnd(h.Z_OK), !(R.avail_out = 0));
1506
+ }, o.prototype.onData = function(s) {
1507
+ this.chunks.push(s);
1508
+ }, o.prototype.onEnd = function(s) {
1509
+ s === h.Z_OK && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = a.flattenChunks(this.chunks)), this.chunks = [], this.err = s, this.msg = this.strm.msg;
1510
+ }, u.Inflate = o, u.inflate = m, u.inflateRaw = function(s, d) {
1511
+ return (d = d || {}).raw = !0, m(s, d);
1512
+ }, u.ungzip = m;
1513
+ }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(r, b, u) {
1514
+ var n = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Int32Array < "u";
1515
+ u.assign = function(h) {
1516
+ for (var y = Array.prototype.slice.call(arguments, 1); y.length; ) {
1517
+ var k = y.shift();
1518
+ if (k) {
1519
+ if (typeof k != "object") throw new TypeError(k + "must be non-object");
1520
+ for (var g in k) k.hasOwnProperty(g) && (h[g] = k[g]);
1521
+ }
1522
+ }
1523
+ return h;
1524
+ }, u.shrinkBuf = function(h, y) {
1525
+ return h.length === y ? h : h.subarray ? h.subarray(0, y) : (h.length = y, h);
1526
+ };
1527
+ var a = { arraySet: function(h, y, k, g, v) {
1528
+ if (y.subarray && h.subarray) h.set(y.subarray(k, k + g), v);
1529
+ else for (var o = 0; o < g; o++) h[v + o] = y[k + o];
1530
+ }, flattenChunks: function(h) {
1531
+ var y, k, g, v, o, m;
1532
+ for (y = g = 0, k = h.length; y < k; y++) g += h[y].length;
1533
+ for (m = new Uint8Array(g), y = v = 0, k = h.length; y < k; y++) o = h[y], m.set(o, v), v += o.length;
1534
+ return m;
1535
+ } }, i = { arraySet: function(h, y, k, g, v) {
1536
+ for (var o = 0; o < g; o++) h[v + o] = y[k + o];
1537
+ }, flattenChunks: function(h) {
1538
+ return [].concat.apply([], h);
1539
+ } };
1540
+ u.setTyped = function(h) {
1541
+ h ? (u.Buf8 = Uint8Array, u.Buf16 = Uint16Array, u.Buf32 = Int32Array, u.assign(u, a)) : (u.Buf8 = Array, u.Buf16 = Array, u.Buf32 = Array, u.assign(u, i));
1542
+ }, u.setTyped(n);
1543
+ }, {}], 42: [function(r, b, u) {
1544
+ var n = r("./common"), a = !0, i = !0;
1545
+ try {
1546
+ String.fromCharCode.apply(null, [0]);
1547
+ } catch {
1548
+ a = !1;
1549
+ }
1550
+ try {
1551
+ String.fromCharCode.apply(null, new Uint8Array(1));
1552
+ } catch {
1553
+ i = !1;
1554
+ }
1555
+ for (var h = new n.Buf8(256), y = 0; y < 256; y++) h[y] = 252 <= y ? 6 : 248 <= y ? 5 : 240 <= y ? 4 : 224 <= y ? 3 : 192 <= y ? 2 : 1;
1556
+ function k(g, v) {
1557
+ if (v < 65537 && (g.subarray && i || !g.subarray && a)) return String.fromCharCode.apply(null, n.shrinkBuf(g, v));
1558
+ for (var o = "", m = 0; m < v; m++) o += String.fromCharCode(g[m]);
1559
+ return o;
1560
+ }
1561
+ h[254] = h[254] = 1, u.string2buf = function(g) {
1562
+ var v, o, m, s, d, l = g.length, f = 0;
1563
+ for (s = 0; s < l; s++) (64512 & (o = g.charCodeAt(s))) == 55296 && s + 1 < l && (64512 & (m = g.charCodeAt(s + 1))) == 56320 && (o = 65536 + (o - 55296 << 10) + (m - 56320), s++), f += o < 128 ? 1 : o < 2048 ? 2 : o < 65536 ? 3 : 4;
1564
+ for (v = new n.Buf8(f), s = d = 0; d < f; s++) (64512 & (o = g.charCodeAt(s))) == 55296 && s + 1 < l && (64512 & (m = g.charCodeAt(s + 1))) == 56320 && (o = 65536 + (o - 55296 << 10) + (m - 56320), s++), o < 128 ? v[d++] = o : (o < 2048 ? v[d++] = 192 | o >>> 6 : (o < 65536 ? v[d++] = 224 | o >>> 12 : (v[d++] = 240 | o >>> 18, v[d++] = 128 | o >>> 12 & 63), v[d++] = 128 | o >>> 6 & 63), v[d++] = 128 | 63 & o);
1565
+ return v;
1566
+ }, u.buf2binstring = function(g) {
1567
+ return k(g, g.length);
1568
+ }, u.binstring2buf = function(g) {
1569
+ for (var v = new n.Buf8(g.length), o = 0, m = v.length; o < m; o++) v[o] = g.charCodeAt(o);
1570
+ return v;
1571
+ }, u.buf2string = function(g, v) {
1572
+ var o, m, s, d, l = v || g.length, f = new Array(2 * l);
1573
+ for (o = m = 0; o < l; ) if ((s = g[o++]) < 128) f[m++] = s;
1574
+ else if (4 < (d = h[s])) f[m++] = 65533, o += d - 1;
1575
+ else {
1576
+ for (s &= d === 2 ? 31 : d === 3 ? 15 : 7; 1 < d && o < l; ) s = s << 6 | 63 & g[o++], d--;
1577
+ 1 < d ? f[m++] = 65533 : s < 65536 ? f[m++] = s : (s -= 65536, f[m++] = 55296 | s >> 10 & 1023, f[m++] = 56320 | 1023 & s);
1578
+ }
1579
+ return k(f, m);
1580
+ }, u.utf8border = function(g, v) {
1581
+ var o;
1582
+ for ((v = v || g.length) > g.length && (v = g.length), o = v - 1; 0 <= o && (192 & g[o]) == 128; ) o--;
1583
+ return o < 0 || o === 0 ? v : o + h[g[o]] > v ? o : v;
1584
+ };
1585
+ }, { "./common": 41 }], 43: [function(r, b, u) {
1586
+ b.exports = function(n, a, i, h) {
1587
+ for (var y = 65535 & n | 0, k = n >>> 16 & 65535 | 0, g = 0; i !== 0; ) {
1588
+ for (i -= g = 2e3 < i ? 2e3 : i; k = k + (y = y + a[h++] | 0) | 0, --g; ) ;
1589
+ y %= 65521, k %= 65521;
1590
+ }
1591
+ return y | k << 16 | 0;
1592
+ };
1593
+ }, {}], 44: [function(r, b, u) {
1594
+ b.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 };
1595
+ }, {}], 45: [function(r, b, u) {
1596
+ var n = (function() {
1597
+ for (var a, i = [], h = 0; h < 256; h++) {
1598
+ a = h;
1599
+ for (var y = 0; y < 8; y++) a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1;
1600
+ i[h] = a;
1601
+ }
1602
+ return i;
1603
+ })();
1604
+ b.exports = function(a, i, h, y) {
1605
+ var k = n, g = y + h;
1606
+ a ^= -1;
1607
+ for (var v = y; v < g; v++) a = a >>> 8 ^ k[255 & (a ^ i[v])];
1608
+ return -1 ^ a;
1609
+ };
1610
+ }, {}], 46: [function(r, b, u) {
1611
+ var n, a = r("../utils/common"), i = r("./trees"), h = r("./adler32"), y = r("./crc32"), k = r("./messages"), g = 0, v = 4, o = 0, m = -2, s = -1, d = 4, l = 2, f = 8, _ = 9, S = 286, z = 30, F = 19, R = 2 * S + 1, P = 15, T = 3, W = 258, J = W + T + 1, w = 42, D = 113, e = 1, N = 2, Q = 3, Z = 4;
1612
+ function tt(t, U) {
1613
+ return t.msg = k[U], U;
1614
+ }
1615
+ function M(t) {
1616
+ return (t << 1) - (4 < t ? 9 : 0);
1617
+ }
1618
+ function q(t) {
1619
+ for (var U = t.length; 0 <= --U; ) t[U] = 0;
1620
+ }
1621
+ function I(t) {
1622
+ var U = t.state, B = U.pending;
1623
+ B > t.avail_out && (B = t.avail_out), B !== 0 && (a.arraySet(t.output, U.pending_buf, U.pending_out, B, t.next_out), t.next_out += B, U.pending_out += B, t.total_out += B, t.avail_out -= B, U.pending -= B, U.pending === 0 && (U.pending_out = 0));
1624
+ }
1625
+ function O(t, U) {
1626
+ i._tr_flush_block(t, 0 <= t.block_start ? t.block_start : -1, t.strstart - t.block_start, U), t.block_start = t.strstart, I(t.strm);
1627
+ }
1628
+ function X(t, U) {
1629
+ t.pending_buf[t.pending++] = U;
1630
+ }
1631
+ function K(t, U) {
1632
+ t.pending_buf[t.pending++] = U >>> 8 & 255, t.pending_buf[t.pending++] = 255 & U;
1633
+ }
1634
+ function G(t, U) {
1635
+ var B, p, c = t.max_chain_length, A = t.strstart, j = t.prev_length, L = t.nice_match, C = t.strstart > t.w_size - J ? t.strstart - (t.w_size - J) : 0, H = t.window, Y = t.w_mask, $ = t.prev, V = t.strstart + W, it = H[A + j - 1], rt = H[A + j];
1636
+ t.prev_length >= t.good_match && (c >>= 2), L > t.lookahead && (L = t.lookahead);
1637
+ do
1638
+ if (H[(B = U) + j] === rt && H[B + j - 1] === it && H[B] === H[A] && H[++B] === H[A + 1]) {
1639
+ A += 2, B++;
1640
+ do
1641
+ ;
1642
+ while (H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && A < V);
1643
+ if (p = W - (V - A), A = V - W, j < p) {
1644
+ if (t.match_start = U, L <= (j = p)) break;
1645
+ it = H[A + j - 1], rt = H[A + j];
1646
+ }
1647
+ }
1648
+ while ((U = $[U & Y]) > C && --c != 0);
1649
+ return j <= t.lookahead ? j : t.lookahead;
1650
+ }
1651
+ function at(t) {
1652
+ var U, B, p, c, A, j, L, C, H, Y, $ = t.w_size;
1653
+ do {
1654
+ if (c = t.window_size - t.lookahead - t.strstart, t.strstart >= $ + ($ - J)) {
1655
+ for (a.arraySet(t.window, t.window, $, $, 0), t.match_start -= $, t.strstart -= $, t.block_start -= $, U = B = t.hash_size; p = t.head[--U], t.head[U] = $ <= p ? p - $ : 0, --B; ) ;
1656
+ for (U = B = $; p = t.prev[--U], t.prev[U] = $ <= p ? p - $ : 0, --B; ) ;
1657
+ c += $;
1658
+ }
1659
+ if (t.strm.avail_in === 0) break;
1660
+ if (j = t.strm, L = t.window, C = t.strstart + t.lookahead, H = c, Y = void 0, Y = j.avail_in, H < Y && (Y = H), B = Y === 0 ? 0 : (j.avail_in -= Y, a.arraySet(L, j.input, j.next_in, Y, C), j.state.wrap === 1 ? j.adler = h(j.adler, L, Y, C) : j.state.wrap === 2 && (j.adler = y(j.adler, L, Y, C)), j.next_in += Y, j.total_in += Y, Y), t.lookahead += B, t.lookahead + t.insert >= T) for (A = t.strstart - t.insert, t.ins_h = t.window[A], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[A + 1]) & t.hash_mask; t.insert && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[A + T - 1]) & t.hash_mask, t.prev[A & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = A, A++, t.insert--, !(t.lookahead + t.insert < T)); ) ;
1661
+ } while (t.lookahead < J && t.strm.avail_in !== 0);
1662
+ }
1663
+ function lt(t, U) {
1664
+ for (var B, p; ; ) {
1665
+ if (t.lookahead < J) {
1666
+ if (at(t), t.lookahead < J && U === g) return e;
1667
+ if (t.lookahead === 0) break;
1668
+ }
1669
+ if (B = 0, t.lookahead >= T && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), B !== 0 && t.strstart - B <= t.w_size - J && (t.match_length = G(t, B)), t.match_length >= T) if (p = i._tr_tally(t, t.strstart - t.match_start, t.match_length - T), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= T) {
1670
+ for (t.match_length--; t.strstart++, t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart, --t.match_length != 0; ) ;
1671
+ t.strstart++;
1672
+ } else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + 1]) & t.hash_mask;
1673
+ else p = i._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++;
1674
+ if (p && (O(t, !1), t.strm.avail_out === 0)) return e;
1675
+ }
1676
+ return t.insert = t.strstart < T - 1 ? t.strstart : T - 1, U === v ? (O(t, !0), t.strm.avail_out === 0 ? Q : Z) : t.last_lit && (O(t, !1), t.strm.avail_out === 0) ? e : N;
1677
+ }
1678
+ function et(t, U) {
1679
+ for (var B, p, c; ; ) {
1680
+ if (t.lookahead < J) {
1681
+ if (at(t), t.lookahead < J && U === g) return e;
1682
+ if (t.lookahead === 0) break;
1683
+ }
1684
+ if (B = 0, t.lookahead >= T && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = T - 1, B !== 0 && t.prev_length < t.max_lazy_match && t.strstart - B <= t.w_size - J && (t.match_length = G(t, B), t.match_length <= 5 && (t.strategy === 1 || t.match_length === T && 4096 < t.strstart - t.match_start) && (t.match_length = T - 1)), t.prev_length >= T && t.match_length <= t.prev_length) {
1685
+ for (c = t.strstart + t.lookahead - T, p = i._tr_tally(t, t.strstart - 1 - t.prev_match, t.prev_length - T), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; ++t.strstart <= c && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), --t.prev_length != 0; ) ;
1686
+ if (t.match_available = 0, t.match_length = T - 1, t.strstart++, p && (O(t, !1), t.strm.avail_out === 0)) return e;
1687
+ } else if (t.match_available) {
1688
+ if ((p = i._tr_tally(t, 0, t.window[t.strstart - 1])) && O(t, !1), t.strstart++, t.lookahead--, t.strm.avail_out === 0) return e;
1689
+ } else t.match_available = 1, t.strstart++, t.lookahead--;
1690
+ }
1691
+ return t.match_available && (p = i._tr_tally(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < T - 1 ? t.strstart : T - 1, U === v ? (O(t, !0), t.strm.avail_out === 0 ? Q : Z) : t.last_lit && (O(t, !1), t.strm.avail_out === 0) ? e : N;
1692
+ }
1693
+ function nt(t, U, B, p, c) {
1694
+ this.good_length = t, this.max_lazy = U, this.nice_length = B, this.max_chain = p, this.func = c;
1695
+ }
1696
+ function ut() {
1697
+ this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = f, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new a.Buf16(2 * R), this.dyn_dtree = new a.Buf16(2 * (2 * z + 1)), this.bl_tree = new a.Buf16(2 * (2 * F + 1)), q(this.dyn_ltree), q(this.dyn_dtree), q(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new a.Buf16(P + 1), this.heap = new a.Buf16(2 * S + 1), q(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new a.Buf16(2 * S + 1), q(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
1698
+ }
1699
+ function st(t) {
1700
+ var U;
1701
+ return t && t.state ? (t.total_in = t.total_out = 0, t.data_type = l, (U = t.state).pending = 0, U.pending_out = 0, U.wrap < 0 && (U.wrap = -U.wrap), U.status = U.wrap ? w : D, t.adler = U.wrap === 2 ? 0 : 1, U.last_flush = g, i._tr_init(U), o) : tt(t, m);
1702
+ }
1703
+ function ct(t) {
1704
+ var U = st(t);
1705
+ return U === o && (function(B) {
1706
+ B.window_size = 2 * B.w_size, q(B.head), B.max_lazy_match = n[B.level].max_lazy, B.good_match = n[B.level].good_length, B.nice_match = n[B.level].nice_length, B.max_chain_length = n[B.level].max_chain, B.strstart = 0, B.block_start = 0, B.lookahead = 0, B.insert = 0, B.match_length = B.prev_length = T - 1, B.match_available = 0, B.ins_h = 0;
1707
+ })(t.state), U;
1708
+ }
1709
+ function ft(t, U, B, p, c, A) {
1710
+ if (!t) return m;
1711
+ var j = 1;
1712
+ if (U === s && (U = 6), p < 0 ? (j = 0, p = -p) : 15 < p && (j = 2, p -= 16), c < 1 || _ < c || B !== f || p < 8 || 15 < p || U < 0 || 9 < U || A < 0 || d < A) return tt(t, m);
1713
+ p === 8 && (p = 9);
1714
+ var L = new ut();
1715
+ return (t.state = L).strm = t, L.wrap = j, L.gzhead = null, L.w_bits = p, L.w_size = 1 << L.w_bits, L.w_mask = L.w_size - 1, L.hash_bits = c + 7, L.hash_size = 1 << L.hash_bits, L.hash_mask = L.hash_size - 1, L.hash_shift = ~~((L.hash_bits + T - 1) / T), L.window = new a.Buf8(2 * L.w_size), L.head = new a.Buf16(L.hash_size), L.prev = new a.Buf16(L.w_size), L.lit_bufsize = 1 << c + 6, L.pending_buf_size = 4 * L.lit_bufsize, L.pending_buf = new a.Buf8(L.pending_buf_size), L.d_buf = 1 * L.lit_bufsize, L.l_buf = 3 * L.lit_bufsize, L.level = U, L.strategy = A, L.method = B, ct(t);
1716
+ }
1717
+ n = [new nt(0, 0, 0, 0, function(t, U) {
1718
+ var B = 65535;
1719
+ for (B > t.pending_buf_size - 5 && (B = t.pending_buf_size - 5); ; ) {
1720
+ if (t.lookahead <= 1) {
1721
+ if (at(t), t.lookahead === 0 && U === g) return e;
1722
+ if (t.lookahead === 0) break;
1723
+ }
1724
+ t.strstart += t.lookahead, t.lookahead = 0;
1725
+ var p = t.block_start + B;
1726
+ if ((t.strstart === 0 || t.strstart >= p) && (t.lookahead = t.strstart - p, t.strstart = p, O(t, !1), t.strm.avail_out === 0) || t.strstart - t.block_start >= t.w_size - J && (O(t, !1), t.strm.avail_out === 0)) return e;
1727
+ }
1728
+ return t.insert = 0, U === v ? (O(t, !0), t.strm.avail_out === 0 ? Q : Z) : (t.strstart > t.block_start && (O(t, !1), t.strm.avail_out), e);
1729
+ }), new nt(4, 4, 8, 4, lt), new nt(4, 5, 16, 8, lt), new nt(4, 6, 32, 32, lt), new nt(4, 4, 16, 16, et), new nt(8, 16, 32, 32, et), new nt(8, 16, 128, 128, et), new nt(8, 32, 128, 256, et), new nt(32, 128, 258, 1024, et), new nt(32, 258, 258, 4096, et)], u.deflateInit = function(t, U) {
1730
+ return ft(t, U, f, 15, 8, 0);
1731
+ }, u.deflateInit2 = ft, u.deflateReset = ct, u.deflateResetKeep = st, u.deflateSetHeader = function(t, U) {
1732
+ return t && t.state ? t.state.wrap !== 2 ? m : (t.state.gzhead = U, o) : m;
1733
+ }, u.deflate = function(t, U) {
1734
+ var B, p, c, A;
1735
+ if (!t || !t.state || 5 < U || U < 0) return t ? tt(t, m) : m;
1736
+ if (p = t.state, !t.output || !t.input && t.avail_in !== 0 || p.status === 666 && U !== v) return tt(t, t.avail_out === 0 ? -5 : m);
1737
+ if (p.strm = t, B = p.last_flush, p.last_flush = U, p.status === w) if (p.wrap === 2) t.adler = 0, X(p, 31), X(p, 139), X(p, 8), p.gzhead ? (X(p, (p.gzhead.text ? 1 : 0) + (p.gzhead.hcrc ? 2 : 0) + (p.gzhead.extra ? 4 : 0) + (p.gzhead.name ? 8 : 0) + (p.gzhead.comment ? 16 : 0)), X(p, 255 & p.gzhead.time), X(p, p.gzhead.time >> 8 & 255), X(p, p.gzhead.time >> 16 & 255), X(p, p.gzhead.time >> 24 & 255), X(p, p.level === 9 ? 2 : 2 <= p.strategy || p.level < 2 ? 4 : 0), X(p, 255 & p.gzhead.os), p.gzhead.extra && p.gzhead.extra.length && (X(p, 255 & p.gzhead.extra.length), X(p, p.gzhead.extra.length >> 8 & 255)), p.gzhead.hcrc && (t.adler = y(t.adler, p.pending_buf, p.pending, 0)), p.gzindex = 0, p.status = 69) : (X(p, 0), X(p, 0), X(p, 0), X(p, 0), X(p, 0), X(p, p.level === 9 ? 2 : 2 <= p.strategy || p.level < 2 ? 4 : 0), X(p, 3), p.status = D);
1738
+ else {
1739
+ var j = f + (p.w_bits - 8 << 4) << 8;
1740
+ j |= (2 <= p.strategy || p.level < 2 ? 0 : p.level < 6 ? 1 : p.level === 6 ? 2 : 3) << 6, p.strstart !== 0 && (j |= 32), j += 31 - j % 31, p.status = D, K(p, j), p.strstart !== 0 && (K(p, t.adler >>> 16), K(p, 65535 & t.adler)), t.adler = 1;
1741
+ }
1742
+ if (p.status === 69) if (p.gzhead.extra) {
1743
+ for (c = p.pending; p.gzindex < (65535 & p.gzhead.extra.length) && (p.pending !== p.pending_buf_size || (p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), I(t), c = p.pending, p.pending !== p.pending_buf_size)); ) X(p, 255 & p.gzhead.extra[p.gzindex]), p.gzindex++;
1744
+ p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), p.gzindex === p.gzhead.extra.length && (p.gzindex = 0, p.status = 73);
1745
+ } else p.status = 73;
1746
+ if (p.status === 73) if (p.gzhead.name) {
1747
+ c = p.pending;
1748
+ do {
1749
+ if (p.pending === p.pending_buf_size && (p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), I(t), c = p.pending, p.pending === p.pending_buf_size)) {
1750
+ A = 1;
1751
+ break;
1752
+ }
1753
+ A = p.gzindex < p.gzhead.name.length ? 255 & p.gzhead.name.charCodeAt(p.gzindex++) : 0, X(p, A);
1754
+ } while (A !== 0);
1755
+ p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), A === 0 && (p.gzindex = 0, p.status = 91);
1756
+ } else p.status = 91;
1757
+ if (p.status === 91) if (p.gzhead.comment) {
1758
+ c = p.pending;
1759
+ do {
1760
+ if (p.pending === p.pending_buf_size && (p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), I(t), c = p.pending, p.pending === p.pending_buf_size)) {
1761
+ A = 1;
1762
+ break;
1763
+ }
1764
+ A = p.gzindex < p.gzhead.comment.length ? 255 & p.gzhead.comment.charCodeAt(p.gzindex++) : 0, X(p, A);
1765
+ } while (A !== 0);
1766
+ p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), A === 0 && (p.status = 103);
1767
+ } else p.status = 103;
1768
+ if (p.status === 103 && (p.gzhead.hcrc ? (p.pending + 2 > p.pending_buf_size && I(t), p.pending + 2 <= p.pending_buf_size && (X(p, 255 & t.adler), X(p, t.adler >> 8 & 255), t.adler = 0, p.status = D)) : p.status = D), p.pending !== 0) {
1769
+ if (I(t), t.avail_out === 0) return p.last_flush = -1, o;
1770
+ } else if (t.avail_in === 0 && M(U) <= M(B) && U !== v) return tt(t, -5);
1771
+ if (p.status === 666 && t.avail_in !== 0) return tt(t, -5);
1772
+ if (t.avail_in !== 0 || p.lookahead !== 0 || U !== g && p.status !== 666) {
1773
+ var L = p.strategy === 2 ? (function(C, H) {
1774
+ for (var Y; ; ) {
1775
+ if (C.lookahead === 0 && (at(C), C.lookahead === 0)) {
1776
+ if (H === g) return e;
1777
+ break;
1778
+ }
1779
+ if (C.match_length = 0, Y = i._tr_tally(C, 0, C.window[C.strstart]), C.lookahead--, C.strstart++, Y && (O(C, !1), C.strm.avail_out === 0)) return e;
1780
+ }
1781
+ return C.insert = 0, H === v ? (O(C, !0), C.strm.avail_out === 0 ? Q : Z) : C.last_lit && (O(C, !1), C.strm.avail_out === 0) ? e : N;
1782
+ })(p, U) : p.strategy === 3 ? (function(C, H) {
1783
+ for (var Y, $, V, it, rt = C.window; ; ) {
1784
+ if (C.lookahead <= W) {
1785
+ if (at(C), C.lookahead <= W && H === g) return e;
1786
+ if (C.lookahead === 0) break;
1787
+ }
1788
+ if (C.match_length = 0, C.lookahead >= T && 0 < C.strstart && ($ = rt[V = C.strstart - 1]) === rt[++V] && $ === rt[++V] && $ === rt[++V]) {
1789
+ it = C.strstart + W;
1790
+ do
1791
+ ;
1792
+ while ($ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && V < it);
1793
+ C.match_length = W - (it - V), C.match_length > C.lookahead && (C.match_length = C.lookahead);
1794
+ }
1795
+ if (C.match_length >= T ? (Y = i._tr_tally(C, 1, C.match_length - T), C.lookahead -= C.match_length, C.strstart += C.match_length, C.match_length = 0) : (Y = i._tr_tally(C, 0, C.window[C.strstart]), C.lookahead--, C.strstart++), Y && (O(C, !1), C.strm.avail_out === 0)) return e;
1796
+ }
1797
+ return C.insert = 0, H === v ? (O(C, !0), C.strm.avail_out === 0 ? Q : Z) : C.last_lit && (O(C, !1), C.strm.avail_out === 0) ? e : N;
1798
+ })(p, U) : n[p.level].func(p, U);
1799
+ if (L !== Q && L !== Z || (p.status = 666), L === e || L === Q) return t.avail_out === 0 && (p.last_flush = -1), o;
1800
+ if (L === N && (U === 1 ? i._tr_align(p) : U !== 5 && (i._tr_stored_block(p, 0, 0, !1), U === 3 && (q(p.head), p.lookahead === 0 && (p.strstart = 0, p.block_start = 0, p.insert = 0))), I(t), t.avail_out === 0)) return p.last_flush = -1, o;
1801
+ }
1802
+ return U !== v ? o : p.wrap <= 0 ? 1 : (p.wrap === 2 ? (X(p, 255 & t.adler), X(p, t.adler >> 8 & 255), X(p, t.adler >> 16 & 255), X(p, t.adler >> 24 & 255), X(p, 255 & t.total_in), X(p, t.total_in >> 8 & 255), X(p, t.total_in >> 16 & 255), X(p, t.total_in >> 24 & 255)) : (K(p, t.adler >>> 16), K(p, 65535 & t.adler)), I(t), 0 < p.wrap && (p.wrap = -p.wrap), p.pending !== 0 ? o : 1);
1803
+ }, u.deflateEnd = function(t) {
1804
+ var U;
1805
+ return t && t.state ? (U = t.state.status) !== w && U !== 69 && U !== 73 && U !== 91 && U !== 103 && U !== D && U !== 666 ? tt(t, m) : (t.state = null, U === D ? tt(t, -3) : o) : m;
1806
+ }, u.deflateSetDictionary = function(t, U) {
1807
+ var B, p, c, A, j, L, C, H, Y = U.length;
1808
+ if (!t || !t.state || (A = (B = t.state).wrap) === 2 || A === 1 && B.status !== w || B.lookahead) return m;
1809
+ for (A === 1 && (t.adler = h(t.adler, U, Y, 0)), B.wrap = 0, Y >= B.w_size && (A === 0 && (q(B.head), B.strstart = 0, B.block_start = 0, B.insert = 0), H = new a.Buf8(B.w_size), a.arraySet(H, U, Y - B.w_size, B.w_size, 0), U = H, Y = B.w_size), j = t.avail_in, L = t.next_in, C = t.input, t.avail_in = Y, t.next_in = 0, t.input = U, at(B); B.lookahead >= T; ) {
1810
+ for (p = B.strstart, c = B.lookahead - (T - 1); B.ins_h = (B.ins_h << B.hash_shift ^ B.window[p + T - 1]) & B.hash_mask, B.prev[p & B.w_mask] = B.head[B.ins_h], B.head[B.ins_h] = p, p++, --c; ) ;
1811
+ B.strstart = p, B.lookahead = T - 1, at(B);
1812
+ }
1813
+ return B.strstart += B.lookahead, B.block_start = B.strstart, B.insert = B.lookahead, B.lookahead = 0, B.match_length = B.prev_length = T - 1, B.match_available = 0, t.next_in = L, t.input = C, t.avail_in = j, B.wrap = A, o;
1814
+ }, u.deflateInfo = "pako deflate (from Nodeca project)";
1815
+ }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(r, b, u) {
1816
+ b.exports = function() {
1817
+ this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
1818
+ };
1819
+ }, {}], 48: [function(r, b, u) {
1820
+ b.exports = function(n, a) {
1821
+ var i, h, y, k, g, v, o, m, s, d, l, f, _, S, z, F, R, P, T, W, J, w, D, e, N;
1822
+ i = n.state, h = n.next_in, e = n.input, y = h + (n.avail_in - 5), k = n.next_out, N = n.output, g = k - (a - n.avail_out), v = k + (n.avail_out - 257), o = i.dmax, m = i.wsize, s = i.whave, d = i.wnext, l = i.window, f = i.hold, _ = i.bits, S = i.lencode, z = i.distcode, F = (1 << i.lenbits) - 1, R = (1 << i.distbits) - 1;
1823
+ t: do {
1824
+ _ < 15 && (f += e[h++] << _, _ += 8, f += e[h++] << _, _ += 8), P = S[f & F];
1825
+ e: for (; ; ) {
1826
+ if (f >>>= T = P >>> 24, _ -= T, (T = P >>> 16 & 255) === 0) N[k++] = 65535 & P;
1827
+ else {
1828
+ if (!(16 & T)) {
1829
+ if ((64 & T) == 0) {
1830
+ P = S[(65535 & P) + (f & (1 << T) - 1)];
1831
+ continue e;
1832
+ }
1833
+ if (32 & T) {
1834
+ i.mode = 12;
1835
+ break t;
1836
+ }
1837
+ n.msg = "invalid literal/length code", i.mode = 30;
1838
+ break t;
1839
+ }
1840
+ W = 65535 & P, (T &= 15) && (_ < T && (f += e[h++] << _, _ += 8), W += f & (1 << T) - 1, f >>>= T, _ -= T), _ < 15 && (f += e[h++] << _, _ += 8, f += e[h++] << _, _ += 8), P = z[f & R];
1841
+ r: for (; ; ) {
1842
+ if (f >>>= T = P >>> 24, _ -= T, !(16 & (T = P >>> 16 & 255))) {
1843
+ if ((64 & T) == 0) {
1844
+ P = z[(65535 & P) + (f & (1 << T) - 1)];
1845
+ continue r;
1846
+ }
1847
+ n.msg = "invalid distance code", i.mode = 30;
1848
+ break t;
1849
+ }
1850
+ if (J = 65535 & P, _ < (T &= 15) && (f += e[h++] << _, (_ += 8) < T && (f += e[h++] << _, _ += 8)), o < (J += f & (1 << T) - 1)) {
1851
+ n.msg = "invalid distance too far back", i.mode = 30;
1852
+ break t;
1853
+ }
1854
+ if (f >>>= T, _ -= T, (T = k - g) < J) {
1855
+ if (s < (T = J - T) && i.sane) {
1856
+ n.msg = "invalid distance too far back", i.mode = 30;
1857
+ break t;
1858
+ }
1859
+ if (D = l, (w = 0) === d) {
1860
+ if (w += m - T, T < W) {
1861
+ for (W -= T; N[k++] = l[w++], --T; ) ;
1862
+ w = k - J, D = N;
1863
+ }
1864
+ } else if (d < T) {
1865
+ if (w += m + d - T, (T -= d) < W) {
1866
+ for (W -= T; N[k++] = l[w++], --T; ) ;
1867
+ if (w = 0, d < W) {
1868
+ for (W -= T = d; N[k++] = l[w++], --T; ) ;
1869
+ w = k - J, D = N;
1870
+ }
1871
+ }
1872
+ } else if (w += d - T, T < W) {
1873
+ for (W -= T; N[k++] = l[w++], --T; ) ;
1874
+ w = k - J, D = N;
1875
+ }
1876
+ for (; 2 < W; ) N[k++] = D[w++], N[k++] = D[w++], N[k++] = D[w++], W -= 3;
1877
+ W && (N[k++] = D[w++], 1 < W && (N[k++] = D[w++]));
1878
+ } else {
1879
+ for (w = k - J; N[k++] = N[w++], N[k++] = N[w++], N[k++] = N[w++], 2 < (W -= 3); ) ;
1880
+ W && (N[k++] = N[w++], 1 < W && (N[k++] = N[w++]));
1881
+ }
1882
+ break;
1883
+ }
1884
+ }
1885
+ break;
1886
+ }
1887
+ } while (h < y && k < v);
1888
+ h -= W = _ >> 3, f &= (1 << (_ -= W << 3)) - 1, n.next_in = h, n.next_out = k, n.avail_in = h < y ? y - h + 5 : 5 - (h - y), n.avail_out = k < v ? v - k + 257 : 257 - (k - v), i.hold = f, i.bits = _;
1889
+ };
1890
+ }, {}], 49: [function(r, b, u) {
1891
+ var n = r("../utils/common"), a = r("./adler32"), i = r("./crc32"), h = r("./inffast"), y = r("./inftrees"), k = 1, g = 2, v = 0, o = -2, m = 1, s = 852, d = 592;
1892
+ function l(w) {
1893
+ return (w >>> 24 & 255) + (w >>> 8 & 65280) + ((65280 & w) << 8) + ((255 & w) << 24);
1894
+ }
1895
+ function f() {
1896
+ this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new n.Buf16(320), this.work = new n.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
1897
+ }
1898
+ function _(w) {
1899
+ var D;
1900
+ return w && w.state ? (D = w.state, w.total_in = w.total_out = D.total = 0, w.msg = "", D.wrap && (w.adler = 1 & D.wrap), D.mode = m, D.last = 0, D.havedict = 0, D.dmax = 32768, D.head = null, D.hold = 0, D.bits = 0, D.lencode = D.lendyn = new n.Buf32(s), D.distcode = D.distdyn = new n.Buf32(d), D.sane = 1, D.back = -1, v) : o;
1901
+ }
1902
+ function S(w) {
1903
+ var D;
1904
+ return w && w.state ? ((D = w.state).wsize = 0, D.whave = 0, D.wnext = 0, _(w)) : o;
1905
+ }
1906
+ function z(w, D) {
1907
+ var e, N;
1908
+ return w && w.state ? (N = w.state, D < 0 ? (e = 0, D = -D) : (e = 1 + (D >> 4), D < 48 && (D &= 15)), D && (D < 8 || 15 < D) ? o : (N.window !== null && N.wbits !== D && (N.window = null), N.wrap = e, N.wbits = D, S(w))) : o;
1909
+ }
1910
+ function F(w, D) {
1911
+ var e, N;
1912
+ return w ? (N = new f(), (w.state = N).window = null, (e = z(w, D)) !== v && (w.state = null), e) : o;
1913
+ }
1914
+ var R, P, T = !0;
1915
+ function W(w) {
1916
+ if (T) {
1917
+ var D;
1918
+ for (R = new n.Buf32(512), P = new n.Buf32(32), D = 0; D < 144; ) w.lens[D++] = 8;
1919
+ for (; D < 256; ) w.lens[D++] = 9;
1920
+ for (; D < 280; ) w.lens[D++] = 7;
1921
+ for (; D < 288; ) w.lens[D++] = 8;
1922
+ for (y(k, w.lens, 0, 288, R, 0, w.work, { bits: 9 }), D = 0; D < 32; ) w.lens[D++] = 5;
1923
+ y(g, w.lens, 0, 32, P, 0, w.work, { bits: 5 }), T = !1;
1924
+ }
1925
+ w.lencode = R, w.lenbits = 9, w.distcode = P, w.distbits = 5;
1926
+ }
1927
+ function J(w, D, e, N) {
1928
+ var Q, Z = w.state;
1929
+ return Z.window === null && (Z.wsize = 1 << Z.wbits, Z.wnext = 0, Z.whave = 0, Z.window = new n.Buf8(Z.wsize)), N >= Z.wsize ? (n.arraySet(Z.window, D, e - Z.wsize, Z.wsize, 0), Z.wnext = 0, Z.whave = Z.wsize) : (N < (Q = Z.wsize - Z.wnext) && (Q = N), n.arraySet(Z.window, D, e - N, Q, Z.wnext), (N -= Q) ? (n.arraySet(Z.window, D, e - N, N, 0), Z.wnext = N, Z.whave = Z.wsize) : (Z.wnext += Q, Z.wnext === Z.wsize && (Z.wnext = 0), Z.whave < Z.wsize && (Z.whave += Q))), 0;
1930
+ }
1931
+ u.inflateReset = S, u.inflateReset2 = z, u.inflateResetKeep = _, u.inflateInit = function(w) {
1932
+ return F(w, 15);
1933
+ }, u.inflateInit2 = F, u.inflate = function(w, D) {
1934
+ var e, N, Q, Z, tt, M, q, I, O, X, K, G, at, lt, et, nt, ut, st, ct, ft, t, U, B, p, c = 0, A = new n.Buf8(4), j = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
1935
+ if (!w || !w.state || !w.output || !w.input && w.avail_in !== 0) return o;
1936
+ (e = w.state).mode === 12 && (e.mode = 13), tt = w.next_out, Q = w.output, q = w.avail_out, Z = w.next_in, N = w.input, M = w.avail_in, I = e.hold, O = e.bits, X = M, K = q, U = v;
1937
+ t: for (; ; ) switch (e.mode) {
1938
+ case m:
1939
+ if (e.wrap === 0) {
1940
+ e.mode = 13;
1941
+ break;
1942
+ }
1943
+ for (; O < 16; ) {
1944
+ if (M === 0) break t;
1945
+ M--, I += N[Z++] << O, O += 8;
1946
+ }
1947
+ if (2 & e.wrap && I === 35615) {
1948
+ A[e.check = 0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0), O = I = 0, e.mode = 2;
1949
+ break;
1950
+ }
1951
+ if (e.flags = 0, e.head && (e.head.done = !1), !(1 & e.wrap) || (((255 & I) << 8) + (I >> 8)) % 31) {
1952
+ w.msg = "incorrect header check", e.mode = 30;
1953
+ break;
1954
+ }
1955
+ if ((15 & I) != 8) {
1956
+ w.msg = "unknown compression method", e.mode = 30;
1957
+ break;
1958
+ }
1959
+ if (O -= 4, t = 8 + (15 & (I >>>= 4)), e.wbits === 0) e.wbits = t;
1960
+ else if (t > e.wbits) {
1961
+ w.msg = "invalid window size", e.mode = 30;
1962
+ break;
1963
+ }
1964
+ e.dmax = 1 << t, w.adler = e.check = 1, e.mode = 512 & I ? 10 : 12, O = I = 0;
1965
+ break;
1966
+ case 2:
1967
+ for (; O < 16; ) {
1968
+ if (M === 0) break t;
1969
+ M--, I += N[Z++] << O, O += 8;
1970
+ }
1971
+ if (e.flags = I, (255 & e.flags) != 8) {
1972
+ w.msg = "unknown compression method", e.mode = 30;
1973
+ break;
1974
+ }
1975
+ if (57344 & e.flags) {
1976
+ w.msg = "unknown header flags set", e.mode = 30;
1977
+ break;
1978
+ }
1979
+ e.head && (e.head.text = I >> 8 & 1), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0)), O = I = 0, e.mode = 3;
1980
+ case 3:
1981
+ for (; O < 32; ) {
1982
+ if (M === 0) break t;
1983
+ M--, I += N[Z++] << O, O += 8;
1984
+ }
1985
+ e.head && (e.head.time = I), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, A[2] = I >>> 16 & 255, A[3] = I >>> 24 & 255, e.check = i(e.check, A, 4, 0)), O = I = 0, e.mode = 4;
1986
+ case 4:
1987
+ for (; O < 16; ) {
1988
+ if (M === 0) break t;
1989
+ M--, I += N[Z++] << O, O += 8;
1990
+ }
1991
+ e.head && (e.head.xflags = 255 & I, e.head.os = I >> 8), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0)), O = I = 0, e.mode = 5;
1992
+ case 5:
1993
+ if (1024 & e.flags) {
1994
+ for (; O < 16; ) {
1995
+ if (M === 0) break t;
1996
+ M--, I += N[Z++] << O, O += 8;
1997
+ }
1998
+ e.length = I, e.head && (e.head.extra_len = I), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0)), O = I = 0;
1999
+ } else e.head && (e.head.extra = null);
2000
+ e.mode = 6;
2001
+ case 6:
2002
+ if (1024 & e.flags && (M < (G = e.length) && (G = M), G && (e.head && (t = e.head.extra_len - e.length, e.head.extra || (e.head.extra = new Array(e.head.extra_len)), n.arraySet(e.head.extra, N, Z, G, t)), 512 & e.flags && (e.check = i(e.check, N, G, Z)), M -= G, Z += G, e.length -= G), e.length)) break t;
2003
+ e.length = 0, e.mode = 7;
2004
+ case 7:
2005
+ if (2048 & e.flags) {
2006
+ if (M === 0) break t;
2007
+ for (G = 0; t = N[Z + G++], e.head && t && e.length < 65536 && (e.head.name += String.fromCharCode(t)), t && G < M; ) ;
2008
+ if (512 & e.flags && (e.check = i(e.check, N, G, Z)), M -= G, Z += G, t) break t;
2009
+ } else e.head && (e.head.name = null);
2010
+ e.length = 0, e.mode = 8;
2011
+ case 8:
2012
+ if (4096 & e.flags) {
2013
+ if (M === 0) break t;
2014
+ for (G = 0; t = N[Z + G++], e.head && t && e.length < 65536 && (e.head.comment += String.fromCharCode(t)), t && G < M; ) ;
2015
+ if (512 & e.flags && (e.check = i(e.check, N, G, Z)), M -= G, Z += G, t) break t;
2016
+ } else e.head && (e.head.comment = null);
2017
+ e.mode = 9;
2018
+ case 9:
2019
+ if (512 & e.flags) {
2020
+ for (; O < 16; ) {
2021
+ if (M === 0) break t;
2022
+ M--, I += N[Z++] << O, O += 8;
2023
+ }
2024
+ if (I !== (65535 & e.check)) {
2025
+ w.msg = "header crc mismatch", e.mode = 30;
2026
+ break;
2027
+ }
2028
+ O = I = 0;
2029
+ }
2030
+ e.head && (e.head.hcrc = e.flags >> 9 & 1, e.head.done = !0), w.adler = e.check = 0, e.mode = 12;
2031
+ break;
2032
+ case 10:
2033
+ for (; O < 32; ) {
2034
+ if (M === 0) break t;
2035
+ M--, I += N[Z++] << O, O += 8;
2036
+ }
2037
+ w.adler = e.check = l(I), O = I = 0, e.mode = 11;
2038
+ case 11:
2039
+ if (e.havedict === 0) return w.next_out = tt, w.avail_out = q, w.next_in = Z, w.avail_in = M, e.hold = I, e.bits = O, 2;
2040
+ w.adler = e.check = 1, e.mode = 12;
2041
+ case 12:
2042
+ if (D === 5 || D === 6) break t;
2043
+ case 13:
2044
+ if (e.last) {
2045
+ I >>>= 7 & O, O -= 7 & O, e.mode = 27;
2046
+ break;
2047
+ }
2048
+ for (; O < 3; ) {
2049
+ if (M === 0) break t;
2050
+ M--, I += N[Z++] << O, O += 8;
2051
+ }
2052
+ switch (e.last = 1 & I, O -= 1, 3 & (I >>>= 1)) {
2053
+ case 0:
2054
+ e.mode = 14;
2055
+ break;
2056
+ case 1:
2057
+ if (W(e), e.mode = 20, D !== 6) break;
2058
+ I >>>= 2, O -= 2;
2059
+ break t;
2060
+ case 2:
2061
+ e.mode = 17;
2062
+ break;
2063
+ case 3:
2064
+ w.msg = "invalid block type", e.mode = 30;
2065
+ }
2066
+ I >>>= 2, O -= 2;
2067
+ break;
2068
+ case 14:
2069
+ for (I >>>= 7 & O, O -= 7 & O; O < 32; ) {
2070
+ if (M === 0) break t;
2071
+ M--, I += N[Z++] << O, O += 8;
2072
+ }
2073
+ if ((65535 & I) != (I >>> 16 ^ 65535)) {
2074
+ w.msg = "invalid stored block lengths", e.mode = 30;
2075
+ break;
2076
+ }
2077
+ if (e.length = 65535 & I, O = I = 0, e.mode = 15, D === 6) break t;
2078
+ case 15:
2079
+ e.mode = 16;
2080
+ case 16:
2081
+ if (G = e.length) {
2082
+ if (M < G && (G = M), q < G && (G = q), G === 0) break t;
2083
+ n.arraySet(Q, N, Z, G, tt), M -= G, Z += G, q -= G, tt += G, e.length -= G;
2084
+ break;
2085
+ }
2086
+ e.mode = 12;
2087
+ break;
2088
+ case 17:
2089
+ for (; O < 14; ) {
2090
+ if (M === 0) break t;
2091
+ M--, I += N[Z++] << O, O += 8;
2092
+ }
2093
+ if (e.nlen = 257 + (31 & I), I >>>= 5, O -= 5, e.ndist = 1 + (31 & I), I >>>= 5, O -= 5, e.ncode = 4 + (15 & I), I >>>= 4, O -= 4, 286 < e.nlen || 30 < e.ndist) {
2094
+ w.msg = "too many length or distance symbols", e.mode = 30;
2095
+ break;
2096
+ }
2097
+ e.have = 0, e.mode = 18;
2098
+ case 18:
2099
+ for (; e.have < e.ncode; ) {
2100
+ for (; O < 3; ) {
2101
+ if (M === 0) break t;
2102
+ M--, I += N[Z++] << O, O += 8;
2103
+ }
2104
+ e.lens[j[e.have++]] = 7 & I, I >>>= 3, O -= 3;
2105
+ }
2106
+ for (; e.have < 19; ) e.lens[j[e.have++]] = 0;
2107
+ if (e.lencode = e.lendyn, e.lenbits = 7, B = { bits: e.lenbits }, U = y(0, e.lens, 0, 19, e.lencode, 0, e.work, B), e.lenbits = B.bits, U) {
2108
+ w.msg = "invalid code lengths set", e.mode = 30;
2109
+ break;
2110
+ }
2111
+ e.have = 0, e.mode = 19;
2112
+ case 19:
2113
+ for (; e.have < e.nlen + e.ndist; ) {
2114
+ for (; nt = (c = e.lencode[I & (1 << e.lenbits) - 1]) >>> 16 & 255, ut = 65535 & c, !((et = c >>> 24) <= O); ) {
2115
+ if (M === 0) break t;
2116
+ M--, I += N[Z++] << O, O += 8;
2117
+ }
2118
+ if (ut < 16) I >>>= et, O -= et, e.lens[e.have++] = ut;
2119
+ else {
2120
+ if (ut === 16) {
2121
+ for (p = et + 2; O < p; ) {
2122
+ if (M === 0) break t;
2123
+ M--, I += N[Z++] << O, O += 8;
2124
+ }
2125
+ if (I >>>= et, O -= et, e.have === 0) {
2126
+ w.msg = "invalid bit length repeat", e.mode = 30;
2127
+ break;
2128
+ }
2129
+ t = e.lens[e.have - 1], G = 3 + (3 & I), I >>>= 2, O -= 2;
2130
+ } else if (ut === 17) {
2131
+ for (p = et + 3; O < p; ) {
2132
+ if (M === 0) break t;
2133
+ M--, I += N[Z++] << O, O += 8;
2134
+ }
2135
+ O -= et, t = 0, G = 3 + (7 & (I >>>= et)), I >>>= 3, O -= 3;
2136
+ } else {
2137
+ for (p = et + 7; O < p; ) {
2138
+ if (M === 0) break t;
2139
+ M--, I += N[Z++] << O, O += 8;
2140
+ }
2141
+ O -= et, t = 0, G = 11 + (127 & (I >>>= et)), I >>>= 7, O -= 7;
2142
+ }
2143
+ if (e.have + G > e.nlen + e.ndist) {
2144
+ w.msg = "invalid bit length repeat", e.mode = 30;
2145
+ break;
2146
+ }
2147
+ for (; G--; ) e.lens[e.have++] = t;
2148
+ }
2149
+ }
2150
+ if (e.mode === 30) break;
2151
+ if (e.lens[256] === 0) {
2152
+ w.msg = "invalid code -- missing end-of-block", e.mode = 30;
2153
+ break;
2154
+ }
2155
+ if (e.lenbits = 9, B = { bits: e.lenbits }, U = y(k, e.lens, 0, e.nlen, e.lencode, 0, e.work, B), e.lenbits = B.bits, U) {
2156
+ w.msg = "invalid literal/lengths set", e.mode = 30;
2157
+ break;
2158
+ }
2159
+ if (e.distbits = 6, e.distcode = e.distdyn, B = { bits: e.distbits }, U = y(g, e.lens, e.nlen, e.ndist, e.distcode, 0, e.work, B), e.distbits = B.bits, U) {
2160
+ w.msg = "invalid distances set", e.mode = 30;
2161
+ break;
2162
+ }
2163
+ if (e.mode = 20, D === 6) break t;
2164
+ case 20:
2165
+ e.mode = 21;
2166
+ case 21:
2167
+ if (6 <= M && 258 <= q) {
2168
+ w.next_out = tt, w.avail_out = q, w.next_in = Z, w.avail_in = M, e.hold = I, e.bits = O, h(w, K), tt = w.next_out, Q = w.output, q = w.avail_out, Z = w.next_in, N = w.input, M = w.avail_in, I = e.hold, O = e.bits, e.mode === 12 && (e.back = -1);
2169
+ break;
2170
+ }
2171
+ for (e.back = 0; nt = (c = e.lencode[I & (1 << e.lenbits) - 1]) >>> 16 & 255, ut = 65535 & c, !((et = c >>> 24) <= O); ) {
2172
+ if (M === 0) break t;
2173
+ M--, I += N[Z++] << O, O += 8;
2174
+ }
2175
+ if (nt && (240 & nt) == 0) {
2176
+ for (st = et, ct = nt, ft = ut; nt = (c = e.lencode[ft + ((I & (1 << st + ct) - 1) >> st)]) >>> 16 & 255, ut = 65535 & c, !(st + (et = c >>> 24) <= O); ) {
2177
+ if (M === 0) break t;
2178
+ M--, I += N[Z++] << O, O += 8;
2179
+ }
2180
+ I >>>= st, O -= st, e.back += st;
2181
+ }
2182
+ if (I >>>= et, O -= et, e.back += et, e.length = ut, nt === 0) {
2183
+ e.mode = 26;
2184
+ break;
2185
+ }
2186
+ if (32 & nt) {
2187
+ e.back = -1, e.mode = 12;
2188
+ break;
2189
+ }
2190
+ if (64 & nt) {
2191
+ w.msg = "invalid literal/length code", e.mode = 30;
2192
+ break;
2193
+ }
2194
+ e.extra = 15 & nt, e.mode = 22;
2195
+ case 22:
2196
+ if (e.extra) {
2197
+ for (p = e.extra; O < p; ) {
2198
+ if (M === 0) break t;
2199
+ M--, I += N[Z++] << O, O += 8;
2200
+ }
2201
+ e.length += I & (1 << e.extra) - 1, I >>>= e.extra, O -= e.extra, e.back += e.extra;
2202
+ }
2203
+ e.was = e.length, e.mode = 23;
2204
+ case 23:
2205
+ for (; nt = (c = e.distcode[I & (1 << e.distbits) - 1]) >>> 16 & 255, ut = 65535 & c, !((et = c >>> 24) <= O); ) {
2206
+ if (M === 0) break t;
2207
+ M--, I += N[Z++] << O, O += 8;
2208
+ }
2209
+ if ((240 & nt) == 0) {
2210
+ for (st = et, ct = nt, ft = ut; nt = (c = e.distcode[ft + ((I & (1 << st + ct) - 1) >> st)]) >>> 16 & 255, ut = 65535 & c, !(st + (et = c >>> 24) <= O); ) {
2211
+ if (M === 0) break t;
2212
+ M--, I += N[Z++] << O, O += 8;
2213
+ }
2214
+ I >>>= st, O -= st, e.back += st;
2215
+ }
2216
+ if (I >>>= et, O -= et, e.back += et, 64 & nt) {
2217
+ w.msg = "invalid distance code", e.mode = 30;
2218
+ break;
2219
+ }
2220
+ e.offset = ut, e.extra = 15 & nt, e.mode = 24;
2221
+ case 24:
2222
+ if (e.extra) {
2223
+ for (p = e.extra; O < p; ) {
2224
+ if (M === 0) break t;
2225
+ M--, I += N[Z++] << O, O += 8;
2226
+ }
2227
+ e.offset += I & (1 << e.extra) - 1, I >>>= e.extra, O -= e.extra, e.back += e.extra;
2228
+ }
2229
+ if (e.offset > e.dmax) {
2230
+ w.msg = "invalid distance too far back", e.mode = 30;
2231
+ break;
2232
+ }
2233
+ e.mode = 25;
2234
+ case 25:
2235
+ if (q === 0) break t;
2236
+ if (G = K - q, e.offset > G) {
2237
+ if ((G = e.offset - G) > e.whave && e.sane) {
2238
+ w.msg = "invalid distance too far back", e.mode = 30;
2239
+ break;
2240
+ }
2241
+ at = G > e.wnext ? (G -= e.wnext, e.wsize - G) : e.wnext - G, G > e.length && (G = e.length), lt = e.window;
2242
+ } else lt = Q, at = tt - e.offset, G = e.length;
2243
+ for (q < G && (G = q), q -= G, e.length -= G; Q[tt++] = lt[at++], --G; ) ;
2244
+ e.length === 0 && (e.mode = 21);
2245
+ break;
2246
+ case 26:
2247
+ if (q === 0) break t;
2248
+ Q[tt++] = e.length, q--, e.mode = 21;
2249
+ break;
2250
+ case 27:
2251
+ if (e.wrap) {
2252
+ for (; O < 32; ) {
2253
+ if (M === 0) break t;
2254
+ M--, I |= N[Z++] << O, O += 8;
2255
+ }
2256
+ if (K -= q, w.total_out += K, e.total += K, K && (w.adler = e.check = e.flags ? i(e.check, Q, K, tt - K) : a(e.check, Q, K, tt - K)), K = q, (e.flags ? I : l(I)) !== e.check) {
2257
+ w.msg = "incorrect data check", e.mode = 30;
2258
+ break;
2259
+ }
2260
+ O = I = 0;
2261
+ }
2262
+ e.mode = 28;
2263
+ case 28:
2264
+ if (e.wrap && e.flags) {
2265
+ for (; O < 32; ) {
2266
+ if (M === 0) break t;
2267
+ M--, I += N[Z++] << O, O += 8;
2268
+ }
2269
+ if (I !== (4294967295 & e.total)) {
2270
+ w.msg = "incorrect length check", e.mode = 30;
2271
+ break;
2272
+ }
2273
+ O = I = 0;
2274
+ }
2275
+ e.mode = 29;
2276
+ case 29:
2277
+ U = 1;
2278
+ break t;
2279
+ case 30:
2280
+ U = -3;
2281
+ break t;
2282
+ case 31:
2283
+ return -4;
2284
+ default:
2285
+ return o;
2286
+ }
2287
+ return w.next_out = tt, w.avail_out = q, w.next_in = Z, w.avail_in = M, e.hold = I, e.bits = O, (e.wsize || K !== w.avail_out && e.mode < 30 && (e.mode < 27 || D !== 4)) && J(w, w.output, w.next_out, K - w.avail_out) ? (e.mode = 31, -4) : (X -= w.avail_in, K -= w.avail_out, w.total_in += X, w.total_out += K, e.total += K, e.wrap && K && (w.adler = e.check = e.flags ? i(e.check, Q, K, w.next_out - K) : a(e.check, Q, K, w.next_out - K)), w.data_type = e.bits + (e.last ? 64 : 0) + (e.mode === 12 ? 128 : 0) + (e.mode === 20 || e.mode === 15 ? 256 : 0), (X == 0 && K === 0 || D === 4) && U === v && (U = -5), U);
2288
+ }, u.inflateEnd = function(w) {
2289
+ if (!w || !w.state) return o;
2290
+ var D = w.state;
2291
+ return D.window && (D.window = null), w.state = null, v;
2292
+ }, u.inflateGetHeader = function(w, D) {
2293
+ var e;
2294
+ return w && w.state ? (2 & (e = w.state).wrap) == 0 ? o : ((e.head = D).done = !1, v) : o;
2295
+ }, u.inflateSetDictionary = function(w, D) {
2296
+ var e, N = D.length;
2297
+ return w && w.state ? (e = w.state).wrap !== 0 && e.mode !== 11 ? o : e.mode === 11 && a(1, D, N, 0) !== e.check ? -3 : J(w, D, N, N) ? (e.mode = 31, -4) : (e.havedict = 1, v) : o;
2298
+ }, u.inflateInfo = "pako inflate (from Nodeca project)";
2299
+ }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(r, b, u) {
2300
+ var n = r("../utils/common"), a = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], i = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], h = [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, 0, 0], y = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];
2301
+ b.exports = function(k, g, v, o, m, s, d, l) {
2302
+ var f, _, S, z, F, R, P, T, W, J = l.bits, w = 0, D = 0, e = 0, N = 0, Q = 0, Z = 0, tt = 0, M = 0, q = 0, I = 0, O = null, X = 0, K = new n.Buf16(16), G = new n.Buf16(16), at = null, lt = 0;
2303
+ for (w = 0; w <= 15; w++) K[w] = 0;
2304
+ for (D = 0; D < o; D++) K[g[v + D]]++;
2305
+ for (Q = J, N = 15; 1 <= N && K[N] === 0; N--) ;
2306
+ if (N < Q && (Q = N), N === 0) return m[s++] = 20971520, m[s++] = 20971520, l.bits = 1, 0;
2307
+ for (e = 1; e < N && K[e] === 0; e++) ;
2308
+ for (Q < e && (Q = e), w = M = 1; w <= 15; w++) if (M <<= 1, (M -= K[w]) < 0) return -1;
2309
+ if (0 < M && (k === 0 || N !== 1)) return -1;
2310
+ for (G[1] = 0, w = 1; w < 15; w++) G[w + 1] = G[w] + K[w];
2311
+ for (D = 0; D < o; D++) g[v + D] !== 0 && (d[G[g[v + D]]++] = D);
2312
+ if (R = k === 0 ? (O = at = d, 19) : k === 1 ? (O = a, X -= 257, at = i, lt -= 257, 256) : (O = h, at = y, -1), w = e, F = s, tt = D = I = 0, S = -1, z = (q = 1 << (Z = Q)) - 1, k === 1 && 852 < q || k === 2 && 592 < q) return 1;
2313
+ for (; ; ) {
2314
+ for (P = w - tt, W = d[D] < R ? (T = 0, d[D]) : d[D] > R ? (T = at[lt + d[D]], O[X + d[D]]) : (T = 96, 0), f = 1 << w - tt, e = _ = 1 << Z; m[F + (I >> tt) + (_ -= f)] = P << 24 | T << 16 | W | 0, _ !== 0; ) ;
2315
+ for (f = 1 << w - 1; I & f; ) f >>= 1;
2316
+ if (f !== 0 ? (I &= f - 1, I += f) : I = 0, D++, --K[w] == 0) {
2317
+ if (w === N) break;
2318
+ w = g[v + d[D]];
2319
+ }
2320
+ if (Q < w && (I & z) !== S) {
2321
+ for (tt === 0 && (tt = Q), F += e, M = 1 << (Z = w - tt); Z + tt < N && !((M -= K[Z + tt]) <= 0); ) Z++, M <<= 1;
2322
+ if (q += 1 << Z, k === 1 && 852 < q || k === 2 && 592 < q) return 1;
2323
+ m[S = I & z] = Q << 24 | Z << 16 | F - s | 0;
2324
+ }
2325
+ }
2326
+ return I !== 0 && (m[F + I] = w - tt << 24 | 64 << 16 | 0), l.bits = Q, 0;
2327
+ };
2328
+ }, { "../utils/common": 41 }], 51: [function(r, b, u) {
2329
+ b.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" };
2330
+ }, {}], 52: [function(r, b, u) {
2331
+ var n = r("../utils/common"), a = 0, i = 1;
2332
+ function h(c) {
2333
+ for (var A = c.length; 0 <= --A; ) c[A] = 0;
2334
+ }
2335
+ var y = 0, k = 29, g = 256, v = g + 1 + k, o = 30, m = 19, s = 2 * v + 1, d = 15, l = 16, f = 7, _ = 256, S = 16, z = 17, F = 18, R = [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], P = [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], T = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], W = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], J = new Array(2 * (v + 2));
2336
+ h(J);
2337
+ var w = new Array(2 * o);
2338
+ h(w);
2339
+ var D = new Array(512);
2340
+ h(D);
2341
+ var e = new Array(256);
2342
+ h(e);
2343
+ var N = new Array(k);
2344
+ h(N);
2345
+ var Q, Z, tt, M = new Array(o);
2346
+ function q(c, A, j, L, C) {
2347
+ this.static_tree = c, this.extra_bits = A, this.extra_base = j, this.elems = L, this.max_length = C, this.has_stree = c && c.length;
2348
+ }
2349
+ function I(c, A) {
2350
+ this.dyn_tree = c, this.max_code = 0, this.stat_desc = A;
2351
+ }
2352
+ function O(c) {
2353
+ return c < 256 ? D[c] : D[256 + (c >>> 7)];
2354
+ }
2355
+ function X(c, A) {
2356
+ c.pending_buf[c.pending++] = 255 & A, c.pending_buf[c.pending++] = A >>> 8 & 255;
2357
+ }
2358
+ function K(c, A, j) {
2359
+ c.bi_valid > l - j ? (c.bi_buf |= A << c.bi_valid & 65535, X(c, c.bi_buf), c.bi_buf = A >> l - c.bi_valid, c.bi_valid += j - l) : (c.bi_buf |= A << c.bi_valid & 65535, c.bi_valid += j);
2360
+ }
2361
+ function G(c, A, j) {
2362
+ K(c, j[2 * A], j[2 * A + 1]);
2363
+ }
2364
+ function at(c, A) {
2365
+ for (var j = 0; j |= 1 & c, c >>>= 1, j <<= 1, 0 < --A; ) ;
2366
+ return j >>> 1;
2367
+ }
2368
+ function lt(c, A, j) {
2369
+ var L, C, H = new Array(d + 1), Y = 0;
2370
+ for (L = 1; L <= d; L++) H[L] = Y = Y + j[L - 1] << 1;
2371
+ for (C = 0; C <= A; C++) {
2372
+ var $ = c[2 * C + 1];
2373
+ $ !== 0 && (c[2 * C] = at(H[$]++, $));
2374
+ }
2375
+ }
2376
+ function et(c) {
2377
+ var A;
2378
+ for (A = 0; A < v; A++) c.dyn_ltree[2 * A] = 0;
2379
+ for (A = 0; A < o; A++) c.dyn_dtree[2 * A] = 0;
2380
+ for (A = 0; A < m; A++) c.bl_tree[2 * A] = 0;
2381
+ c.dyn_ltree[2 * _] = 1, c.opt_len = c.static_len = 0, c.last_lit = c.matches = 0;
2382
+ }
2383
+ function nt(c) {
2384
+ 8 < c.bi_valid ? X(c, c.bi_buf) : 0 < c.bi_valid && (c.pending_buf[c.pending++] = c.bi_buf), c.bi_buf = 0, c.bi_valid = 0;
2385
+ }
2386
+ function ut(c, A, j, L) {
2387
+ var C = 2 * A, H = 2 * j;
2388
+ return c[C] < c[H] || c[C] === c[H] && L[A] <= L[j];
2389
+ }
2390
+ function st(c, A, j) {
2391
+ for (var L = c.heap[j], C = j << 1; C <= c.heap_len && (C < c.heap_len && ut(A, c.heap[C + 1], c.heap[C], c.depth) && C++, !ut(A, L, c.heap[C], c.depth)); ) c.heap[j] = c.heap[C], j = C, C <<= 1;
2392
+ c.heap[j] = L;
2393
+ }
2394
+ function ct(c, A, j) {
2395
+ var L, C, H, Y, $ = 0;
2396
+ if (c.last_lit !== 0) for (; L = c.pending_buf[c.d_buf + 2 * $] << 8 | c.pending_buf[c.d_buf + 2 * $ + 1], C = c.pending_buf[c.l_buf + $], $++, L === 0 ? G(c, C, A) : (G(c, (H = e[C]) + g + 1, A), (Y = R[H]) !== 0 && K(c, C -= N[H], Y), G(c, H = O(--L), j), (Y = P[H]) !== 0 && K(c, L -= M[H], Y)), $ < c.last_lit; ) ;
2397
+ G(c, _, A);
2398
+ }
2399
+ function ft(c, A) {
2400
+ var j, L, C, H = A.dyn_tree, Y = A.stat_desc.static_tree, $ = A.stat_desc.has_stree, V = A.stat_desc.elems, it = -1;
2401
+ for (c.heap_len = 0, c.heap_max = s, j = 0; j < V; j++) H[2 * j] !== 0 ? (c.heap[++c.heap_len] = it = j, c.depth[j] = 0) : H[2 * j + 1] = 0;
2402
+ for (; c.heap_len < 2; ) H[2 * (C = c.heap[++c.heap_len] = it < 2 ? ++it : 0)] = 1, c.depth[C] = 0, c.opt_len--, $ && (c.static_len -= Y[2 * C + 1]);
2403
+ for (A.max_code = it, j = c.heap_len >> 1; 1 <= j; j--) st(c, H, j);
2404
+ for (C = V; j = c.heap[1], c.heap[1] = c.heap[c.heap_len--], st(c, H, 1), L = c.heap[1], c.heap[--c.heap_max] = j, c.heap[--c.heap_max] = L, H[2 * C] = H[2 * j] + H[2 * L], c.depth[C] = (c.depth[j] >= c.depth[L] ? c.depth[j] : c.depth[L]) + 1, H[2 * j + 1] = H[2 * L + 1] = C, c.heap[1] = C++, st(c, H, 1), 2 <= c.heap_len; ) ;
2405
+ c.heap[--c.heap_max] = c.heap[1], (function(rt, ht) {
2406
+ var _t, dt, gt, ot, yt, Et, pt = ht.dyn_tree, Ot = ht.max_code, jt = ht.stat_desc.static_tree, Lt = ht.stat_desc.has_stree, Wt = ht.stat_desc.extra_bits, It = ht.stat_desc.extra_base, bt = ht.stat_desc.max_length, wt = 0;
2407
+ for (ot = 0; ot <= d; ot++) rt.bl_count[ot] = 0;
2408
+ for (pt[2 * rt.heap[rt.heap_max] + 1] = 0, _t = rt.heap_max + 1; _t < s; _t++) bt < (ot = pt[2 * pt[2 * (dt = rt.heap[_t]) + 1] + 1] + 1) && (ot = bt, wt++), pt[2 * dt + 1] = ot, Ot < dt || (rt.bl_count[ot]++, yt = 0, It <= dt && (yt = Wt[dt - It]), Et = pt[2 * dt], rt.opt_len += Et * (ot + yt), Lt && (rt.static_len += Et * (jt[2 * dt + 1] + yt)));
2409
+ if (wt !== 0) {
2410
+ do {
2411
+ for (ot = bt - 1; rt.bl_count[ot] === 0; ) ot--;
2412
+ rt.bl_count[ot]--, rt.bl_count[ot + 1] += 2, rt.bl_count[bt]--, wt -= 2;
2413
+ } while (0 < wt);
2414
+ for (ot = bt; ot !== 0; ot--) for (dt = rt.bl_count[ot]; dt !== 0; ) Ot < (gt = rt.heap[--_t]) || (pt[2 * gt + 1] !== ot && (rt.opt_len += (ot - pt[2 * gt + 1]) * pt[2 * gt], pt[2 * gt + 1] = ot), dt--);
2415
+ }
2416
+ })(c, A), lt(H, it, c.bl_count);
2417
+ }
2418
+ function t(c, A, j) {
2419
+ var L, C, H = -1, Y = A[1], $ = 0, V = 7, it = 4;
2420
+ for (Y === 0 && (V = 138, it = 3), A[2 * (j + 1) + 1] = 65535, L = 0; L <= j; L++) C = Y, Y = A[2 * (L + 1) + 1], ++$ < V && C === Y || ($ < it ? c.bl_tree[2 * C] += $ : C !== 0 ? (C !== H && c.bl_tree[2 * C]++, c.bl_tree[2 * S]++) : $ <= 10 ? c.bl_tree[2 * z]++ : c.bl_tree[2 * F]++, H = C, it = ($ = 0) === Y ? (V = 138, 3) : C === Y ? (V = 6, 3) : (V = 7, 4));
2421
+ }
2422
+ function U(c, A, j) {
2423
+ var L, C, H = -1, Y = A[1], $ = 0, V = 7, it = 4;
2424
+ for (Y === 0 && (V = 138, it = 3), L = 0; L <= j; L++) if (C = Y, Y = A[2 * (L + 1) + 1], !(++$ < V && C === Y)) {
2425
+ if ($ < it) for (; G(c, C, c.bl_tree), --$ != 0; ) ;
2426
+ else C !== 0 ? (C !== H && (G(c, C, c.bl_tree), $--), G(c, S, c.bl_tree), K(c, $ - 3, 2)) : $ <= 10 ? (G(c, z, c.bl_tree), K(c, $ - 3, 3)) : (G(c, F, c.bl_tree), K(c, $ - 11, 7));
2427
+ H = C, it = ($ = 0) === Y ? (V = 138, 3) : C === Y ? (V = 6, 3) : (V = 7, 4);
2428
+ }
2429
+ }
2430
+ h(M);
2431
+ var B = !1;
2432
+ function p(c, A, j, L) {
2433
+ K(c, (y << 1) + (L ? 1 : 0), 3), (function(C, H, Y, $) {
2434
+ nt(C), X(C, Y), X(C, ~Y), n.arraySet(C.pending_buf, C.window, H, Y, C.pending), C.pending += Y;
2435
+ })(c, A, j);
2436
+ }
2437
+ u._tr_init = function(c) {
2438
+ B || ((function() {
2439
+ var A, j, L, C, H, Y = new Array(d + 1);
2440
+ for (C = L = 0; C < k - 1; C++) for (N[C] = L, A = 0; A < 1 << R[C]; A++) e[L++] = C;
2441
+ for (e[L - 1] = C, C = H = 0; C < 16; C++) for (M[C] = H, A = 0; A < 1 << P[C]; A++) D[H++] = C;
2442
+ for (H >>= 7; C < o; C++) for (M[C] = H << 7, A = 0; A < 1 << P[C] - 7; A++) D[256 + H++] = C;
2443
+ for (j = 0; j <= d; j++) Y[j] = 0;
2444
+ for (A = 0; A <= 143; ) J[2 * A + 1] = 8, A++, Y[8]++;
2445
+ for (; A <= 255; ) J[2 * A + 1] = 9, A++, Y[9]++;
2446
+ for (; A <= 279; ) J[2 * A + 1] = 7, A++, Y[7]++;
2447
+ for (; A <= 287; ) J[2 * A + 1] = 8, A++, Y[8]++;
2448
+ for (lt(J, v + 1, Y), A = 0; A < o; A++) w[2 * A + 1] = 5, w[2 * A] = at(A, 5);
2449
+ Q = new q(J, R, g + 1, v, d), Z = new q(w, P, 0, o, d), tt = new q(new Array(0), T, 0, m, f);
2450
+ })(), B = !0), c.l_desc = new I(c.dyn_ltree, Q), c.d_desc = new I(c.dyn_dtree, Z), c.bl_desc = new I(c.bl_tree, tt), c.bi_buf = 0, c.bi_valid = 0, et(c);
2451
+ }, u._tr_stored_block = p, u._tr_flush_block = function(c, A, j, L) {
2452
+ var C, H, Y = 0;
2453
+ 0 < c.level ? (c.strm.data_type === 2 && (c.strm.data_type = (function($) {
2454
+ var V, it = 4093624447;
2455
+ for (V = 0; V <= 31; V++, it >>>= 1) if (1 & it && $.dyn_ltree[2 * V] !== 0) return a;
2456
+ if ($.dyn_ltree[18] !== 0 || $.dyn_ltree[20] !== 0 || $.dyn_ltree[26] !== 0) return i;
2457
+ for (V = 32; V < g; V++) if ($.dyn_ltree[2 * V] !== 0) return i;
2458
+ return a;
2459
+ })(c)), ft(c, c.l_desc), ft(c, c.d_desc), Y = (function($) {
2460
+ var V;
2461
+ for (t($, $.dyn_ltree, $.l_desc.max_code), t($, $.dyn_dtree, $.d_desc.max_code), ft($, $.bl_desc), V = m - 1; 3 <= V && $.bl_tree[2 * W[V] + 1] === 0; V--) ;
2462
+ return $.opt_len += 3 * (V + 1) + 5 + 5 + 4, V;
2463
+ })(c), C = c.opt_len + 3 + 7 >>> 3, (H = c.static_len + 3 + 7 >>> 3) <= C && (C = H)) : C = H = j + 5, j + 4 <= C && A !== -1 ? p(c, A, j, L) : c.strategy === 4 || H === C ? (K(c, 2 + (L ? 1 : 0), 3), ct(c, J, w)) : (K(c, 4 + (L ? 1 : 0), 3), (function($, V, it, rt) {
2464
+ var ht;
2465
+ for (K($, V - 257, 5), K($, it - 1, 5), K($, rt - 4, 4), ht = 0; ht < rt; ht++) K($, $.bl_tree[2 * W[ht] + 1], 3);
2466
+ U($, $.dyn_ltree, V - 1), U($, $.dyn_dtree, it - 1);
2467
+ })(c, c.l_desc.max_code + 1, c.d_desc.max_code + 1, Y + 1), ct(c, c.dyn_ltree, c.dyn_dtree)), et(c), L && nt(c);
2468
+ }, u._tr_tally = function(c, A, j) {
2469
+ return c.pending_buf[c.d_buf + 2 * c.last_lit] = A >>> 8 & 255, c.pending_buf[c.d_buf + 2 * c.last_lit + 1] = 255 & A, c.pending_buf[c.l_buf + c.last_lit] = 255 & j, c.last_lit++, A === 0 ? c.dyn_ltree[2 * j]++ : (c.matches++, A--, c.dyn_ltree[2 * (e[j] + g + 1)]++, c.dyn_dtree[2 * O(A)]++), c.last_lit === c.lit_bufsize - 1;
2470
+ }, u._tr_align = function(c) {
2471
+ K(c, 2, 3), G(c, _, J), (function(A) {
2472
+ A.bi_valid === 16 ? (X(A, A.bi_buf), A.bi_buf = 0, A.bi_valid = 0) : 8 <= A.bi_valid && (A.pending_buf[A.pending++] = 255 & A.bi_buf, A.bi_buf >>= 8, A.bi_valid -= 8);
2473
+ })(c);
2474
+ };
2475
+ }, { "../utils/common": 41 }], 53: [function(r, b, u) {
2476
+ b.exports = function() {
2477
+ this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
2478
+ };
2479
+ }, {}], 54: [function(r, b, u) {
2480
+ (function(n) {
2481
+ (function(a, i) {
2482
+ if (!a.setImmediate) {
2483
+ var h, y, k, g, v = 1, o = {}, m = !1, s = a.document, d = Object.getPrototypeOf && Object.getPrototypeOf(a);
2484
+ d = d && d.setTimeout ? d : a, h = {}.toString.call(a.process) === "[object process]" ? function(S) {
2485
+ process.nextTick(function() {
2486
+ f(S);
2487
+ });
2488
+ } : (function() {
2489
+ if (a.postMessage && !a.importScripts) {
2490
+ var S = !0, z = a.onmessage;
2491
+ return a.onmessage = function() {
2492
+ S = !1;
2493
+ }, a.postMessage("", "*"), a.onmessage = z, S;
2494
+ }
2495
+ })() ? (g = "setImmediate$" + Math.random() + "$", a.addEventListener ? a.addEventListener("message", _, !1) : a.attachEvent("onmessage", _), function(S) {
2496
+ a.postMessage(g + S, "*");
2497
+ }) : a.MessageChannel ? ((k = new MessageChannel()).port1.onmessage = function(S) {
2498
+ f(S.data);
2499
+ }, function(S) {
2500
+ k.port2.postMessage(S);
2501
+ }) : s && "onreadystatechange" in s.createElement("script") ? (y = s.documentElement, function(S) {
2502
+ var z = s.createElement("script");
2503
+ z.onreadystatechange = function() {
2504
+ f(S), z.onreadystatechange = null, y.removeChild(z), z = null;
2505
+ }, y.appendChild(z);
2506
+ }) : function(S) {
2507
+ setTimeout(f, 0, S);
2508
+ }, d.setImmediate = function(S) {
2509
+ typeof S != "function" && (S = new Function("" + S));
2510
+ for (var z = new Array(arguments.length - 1), F = 0; F < z.length; F++) z[F] = arguments[F + 1];
2511
+ var R = { callback: S, args: z };
2512
+ return o[v] = R, h(v), v++;
2513
+ }, d.clearImmediate = l;
2514
+ }
2515
+ function l(S) {
2516
+ delete o[S];
2517
+ }
2518
+ function f(S) {
2519
+ if (m) setTimeout(f, 0, S);
2520
+ else {
2521
+ var z = o[S];
2522
+ if (z) {
2523
+ m = !0;
2524
+ try {
2525
+ (function(F) {
2526
+ var R = F.callback, P = F.args;
2527
+ switch (P.length) {
2528
+ case 0:
2529
+ R();
2530
+ break;
2531
+ case 1:
2532
+ R(P[0]);
2533
+ break;
2534
+ case 2:
2535
+ R(P[0], P[1]);
2536
+ break;
2537
+ case 3:
2538
+ R(P[0], P[1], P[2]);
2539
+ break;
2540
+ default:
2541
+ R.apply(i, P);
2542
+ }
2543
+ })(z);
2544
+ } finally {
2545
+ l(S), m = !1;
2546
+ }
2547
+ }
2548
+ }
2549
+ }
2550
+ function _(S) {
2551
+ S.source === a && typeof S.data == "string" && S.data.indexOf(g) === 0 && f(+S.data.slice(g.length));
2552
+ }
2553
+ })(typeof self > "u" ? n === void 0 ? this : n : self);
2554
+ }).call(this, typeof kt < "u" ? kt : typeof self < "u" ? self : typeof window < "u" ? window : {});
2555
+ }, {}] }, {}, [10])(10);
2556
+ });
2557
+ })(At)), At.exports;
2558
+ }
2559
+ var Kt = Gt();
2560
+ const Yt = /* @__PURE__ */ Mt(Kt), Jt = function(E, x) {
2561
+ return new Promise((r, b) => {
2562
+ const u = new Yt();
2563
+ E.forEach((n) => {
2564
+ u.file(n.name, n);
2565
+ }), u.generateAsync({ type: "blob" }).then((n) => {
2566
+ const a = Ut(n, `${x}.zip`);
2567
+ r(a);
2568
+ }, b);
2569
+ });
2570
+ }, he = async function(E, x) {
2571
+ const r = await Jt(E, x);
2572
+ await mt(r, r.name);
2573
+ };
2574
+ async function fe(E, x) {
134
2575
  try {
135
2576
  if (navigator.clipboard && navigator.clipboard.writeText) {
136
- await navigator.clipboard.writeText(e), r?.onSuccess && r.onSuccess(e);
2577
+ await navigator.clipboard.writeText(E), x?.onSuccess && x.onSuccess(E);
137
2578
  return;
138
2579
  }
139
- const t = document.createElement("textarea");
140
- t.value = e, t.style.position = "fixed", t.style.top = "0", t.style.left = "0", t.style.width = "2em", t.style.height = "2em", t.style.padding = "0", t.style.border = "none", t.style.outline = "none", t.style.boxShadow = "none", t.style.background = "transparent", t.style.opacity = "0", document.body.appendChild(t), t.focus(), t.select();
2580
+ const r = document.createElement("textarea");
2581
+ r.value = E, r.style.position = "fixed", r.style.top = "0", r.style.left = "0", r.style.width = "2em", r.style.height = "2em", r.style.padding = "0", r.style.border = "none", r.style.outline = "none", r.style.boxShadow = "none", r.style.background = "transparent", r.style.opacity = "0", document.body.appendChild(r), r.focus(), r.select();
141
2582
  try {
142
2583
  if (document.execCommand("copy"))
143
- r?.onSuccess && r.onSuccess(e);
2584
+ x?.onSuccess && x.onSuccess(E);
144
2585
  else
145
2586
  throw new Error("execCommand 复制失败");
146
2587
  } catch {
147
2588
  throw new Error("无法使用 execCommand 复制文本");
148
2589
  } finally {
149
- document.body.removeChild(t);
2590
+ document.body.removeChild(r);
150
2591
  }
151
- } catch (t) {
152
- const n = t instanceof Error ? t : new Error("未知错误");
153
- throw r?.onError ? r.onError(n) : console.error("复制到剪贴板失败:", n), n;
2592
+ } catch (r) {
2593
+ const b = r instanceof Error ? r : new Error("未知错误");
2594
+ throw x?.onError ? x.onError(b) : console.error("复制到剪贴板失败:", b), b;
154
2595
  }
155
2596
  }
156
- async function j() {
2597
+ async function ce() {
157
2598
  try {
158
2599
  if (navigator.clipboard && navigator.clipboard.readText)
159
2600
  return await navigator.clipboard.readText();
160
2601
  throw new Error("当前浏览器不支持读取剪贴板");
161
- } catch (e) {
162
- throw console.error("从剪贴板读取失败:", e), new Error("无法从剪贴板读取内容,请检查浏览器权限");
2602
+ } catch (E) {
2603
+ throw console.error("从剪贴板读取失败:", E), new Error("无法从剪贴板读取内容,请检查浏览器权限");
163
2604
  }
164
2605
  }
165
- function z(e, r, t) {
2606
+ function de(E, x, r) {
166
2607
  const {
167
- download: n = !0,
168
- encoding: o = "utf-8"
169
- } = t || {}, i = new Blob([e], { type: `text/plain;charset=${o}` });
170
- if (n) {
171
- f(i, r);
2608
+ download: b = !0,
2609
+ encoding: u = "utf-8"
2610
+ } = r || {}, n = new Blob([E], { type: `text/plain;charset=${u}` });
2611
+ if (b) {
2612
+ mt(n, x);
172
2613
  return;
173
2614
  }
174
- return new File([i], r, { type: `text/plain;charset=${o}` });
2615
+ return new File([n], x, { type: `text/plain;charset=${u}` });
175
2616
  }
176
- function p(e, r) {
177
- if (e == null)
2617
+ function St(E, x) {
2618
+ if (E == null)
178
2619
  return "";
179
- const t = String(e);
180
- return t.includes(r) || t.includes('"') || t.includes(`
181
- `) || t.includes("\r") ? `"${t.replace(/"/g, '""')}"` : t;
2620
+ const r = String(E);
2621
+ return r.includes(x) || r.includes('"') || r.includes(`
2622
+ `) || r.includes("\r") ? `"${r.replace(/"/g, '""')}"` : r;
182
2623
  }
183
- function U(e, r, t = {}) {
2624
+ function pe(E, x, r = {}) {
184
2625
  const {
185
- separator: n = ",",
186
- includeHeader: o = !0,
187
- download: i = !0,
2626
+ separator: b = ",",
2627
+ includeHeader: u = !0,
2628
+ download: n = !0,
188
2629
  encoding: a = "utf-8"
189
- } = t;
190
- if (e.length === 0)
2630
+ } = r;
2631
+ if (E.length === 0)
191
2632
  throw new Error("数据不能为空");
192
- let s = "";
193
- if (typeof e[0] == "object" && !Array.isArray(e[0])) {
194
- const d = e, u = Array.from(
195
- new Set(d.flatMap((c) => Object.keys(c)))
2633
+ let i = "";
2634
+ if (typeof E[0] == "object" && !Array.isArray(E[0])) {
2635
+ const g = E, v = Array.from(
2636
+ new Set(g.flatMap((o) => Object.keys(o)))
196
2637
  );
197
- o && (s += u.join(n) + `
198
- `), d.forEach((c) => {
199
- const g = u.map((b) => {
200
- const A = c[b];
201
- return p(A, n);
2638
+ u && (i += v.join(b) + `
2639
+ `), g.forEach((o) => {
2640
+ const m = v.map((s) => {
2641
+ const d = o[s];
2642
+ return St(d, b);
202
2643
  });
203
- s += g.join(n) + `
2644
+ i += m.join(b) + `
204
2645
  `;
205
2646
  });
206
2647
  } else {
207
- const d = e;
208
- if (o && d.length > 0) {
209
- const u = d[0].map(
210
- (c) => p(c, n)
2648
+ const g = E;
2649
+ if (u && g.length > 0) {
2650
+ const v = g[0].map(
2651
+ (o) => St(o, b)
211
2652
  );
212
- s += u.join(n) + `
2653
+ i += v.join(b) + `
213
2654
  `;
214
- for (let c = 1; c < d.length; c++) {
215
- const g = d[c].map(
216
- (b) => p(b, n)
2655
+ for (let o = 1; o < g.length; o++) {
2656
+ const m = g[o].map(
2657
+ (s) => St(s, b)
217
2658
  );
218
- s += g.join(n) + `
2659
+ i += m.join(b) + `
219
2660
  `;
220
2661
  }
221
- } else o || d.forEach((u) => {
222
- const c = u.map(
223
- (g) => p(g, n)
2662
+ } else u || g.forEach((v) => {
2663
+ const o = v.map(
2664
+ (m) => St(m, b)
224
2665
  );
225
- s += c.join(n) + `
2666
+ i += o.join(b) + `
226
2667
  `;
227
2668
  });
228
2669
  }
229
- s = s.trimEnd();
230
- const h = "\uFEFF", w = new Blob([h + s], {
2670
+ i = i.trimEnd();
2671
+ const y = "\uFEFF", k = new Blob([y + i], {
231
2672
  type: `text/csv;charset=${a}`
232
2673
  });
233
- if (i) {
234
- f(w, r);
2674
+ if (n) {
2675
+ mt(k, x);
235
2676
  return;
236
2677
  }
237
- return new File([w], r, { type: `text/csv;charset=${a}` });
2678
+ return new File([k], x, { type: `text/csv;charset=${a}` });
238
2679
  }
239
- function H(e, r, t = {}) {
2680
+ function me(E, x, r = {}) {
240
2681
  const {
241
- pretty: n = !0,
242
- spaces: o = 2,
243
- download: i = !0,
2682
+ pretty: b = !0,
2683
+ spaces: u = 2,
2684
+ download: n = !0,
244
2685
  encoding: a = "utf-8"
245
- } = t;
2686
+ } = r;
246
2687
  try {
247
- const s = n ? JSON.stringify(e, null, o) : JSON.stringify(e), l = new Blob([s], {
2688
+ const i = b ? JSON.stringify(E, null, u) : JSON.stringify(E), h = new Blob([i], {
248
2689
  type: `application/json;charset=${a}`
249
2690
  });
250
- if (i) {
251
- f(l, r);
2691
+ if (n) {
2692
+ mt(h, x);
252
2693
  return;
253
2694
  }
254
- return new File([l], r, { type: `application/json;charset=${a}` });
255
- } catch (s) {
256
- throw console.error("JSON 序列化失败:", s), new Error("数据无法序列化为 JSON");
2695
+ return new File([h], x, { type: `application/json;charset=${a}` });
2696
+ } catch (i) {
2697
+ throw console.error("JSON 序列化失败:", i), new Error("数据无法序列化为 JSON");
257
2698
  }
258
2699
  }
259
- function x(e) {
260
- const r = typeof e == "string" ? e : e.name, t = r.lastIndexOf(".");
261
- return t === -1 || t === r.length - 1 ? "" : r.slice(t).toLowerCase();
2700
+ function Pt(E) {
2701
+ const x = typeof E == "string" ? E : E.name, r = x.lastIndexOf(".");
2702
+ return r === -1 || r === x.length - 1 ? "" : x.slice(r + 1).toLowerCase();
262
2703
  }
263
- function J(e) {
264
- const r = typeof e == "string" ? e : e.name, t = r.lastIndexOf(".");
265
- return t === -1 ? r : r.slice(0, t);
2704
+ function _e(E) {
2705
+ const x = typeof E == "string" ? E : E.name, r = x.lastIndexOf(".");
2706
+ return r === -1 ? x : x.slice(0, r);
266
2707
  }
267
- function M(e) {
2708
+ function ge(E) {
268
2709
  return {
269
- name: e.name,
270
- size: e.size,
271
- type: e.type,
272
- lastModified: e.lastModified
2710
+ name: E.name,
2711
+ size: E.size,
2712
+ type: E.type,
2713
+ lastModified: E.lastModified
273
2714
  };
274
2715
  }
275
- function E(e, r) {
276
- if (!e || !r || r.length === 0)
2716
+ function Vt(E, x) {
2717
+ if (!E || !x || x.length === 0)
277
2718
  return !1;
278
- const t = e.type.toLowerCase(), n = x(e).toLowerCase();
279
- return r.some((o) => {
280
- const i = o.toLowerCase();
281
- if (i.endsWith("/*")) {
282
- const a = i.split("/")[0];
283
- return t.startsWith(`${a}/`);
2719
+ const r = E.type.toLowerCase(), b = `.${Pt(E).toLowerCase()}`;
2720
+ return x.some((u) => {
2721
+ const n = u.toLowerCase();
2722
+ if (n.endsWith("/*")) {
2723
+ const a = n.split("/")[0];
2724
+ return r.startsWith(`${a}/`);
284
2725
  }
285
- return i.startsWith(".") ? n === i : t === i;
2726
+ return n.startsWith(".") ? b === n : r === n;
286
2727
  });
287
2728
  }
288
- function C(e, r) {
289
- return e ? e.size <= r : !1;
2729
+ function Xt(E, x) {
2730
+ return E ? E.size <= x : !1;
290
2731
  }
291
- function m(e) {
292
- if (!e)
2732
+ function zt(E) {
2733
+ if (!E)
293
2734
  return !1;
294
- if (e.type.startsWith("image/"))
2735
+ if (E.type.startsWith("image/"))
295
2736
  return !0;
296
- const r = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg", ".ico"], t = x(e);
297
- return r.includes(t);
2737
+ const x = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg", ".ico"], r = `.${Pt(E)}`;
2738
+ return x.includes(r);
298
2739
  }
299
- function B(e) {
300
- return new Promise((r, t) => {
301
- if (!m(e)) {
302
- t(new Error("文件不是有效的图片格式"));
2740
+ function qt(E) {
2741
+ return new Promise((x, r) => {
2742
+ if (!zt(E)) {
2743
+ r(new Error("文件不是有效的图片格式"));
303
2744
  return;
304
2745
  }
305
- const n = new FileReader();
306
- n.onload = (o) => {
307
- const i = new Image();
308
- i.onload = () => {
309
- r({
310
- width: i.width,
311
- height: i.height
2746
+ const b = new FileReader();
2747
+ b.onload = (u) => {
2748
+ const n = new Image();
2749
+ n.onload = () => {
2750
+ x({
2751
+ width: n.width,
2752
+ height: n.height
312
2753
  });
313
- }, i.onerror = () => {
314
- t(new Error("图片加载失败"));
315
- }, i.src = o.target?.result;
316
- }, n.onerror = () => {
317
- t(new Error("文件读取失败"));
318
- }, n.readAsDataURL(e);
2754
+ }, n.onerror = () => {
2755
+ r(new Error("图片加载失败"));
2756
+ }, n.src = u.target?.result;
2757
+ }, b.onerror = () => {
2758
+ r(new Error("文件读取失败"));
2759
+ }, b.readAsDataURL(E);
319
2760
  });
320
2761
  }
321
- async function N(e, r = {}) {
322
- const t = [];
323
- if (r.acceptTypes && r.acceptTypes.length > 0 && (E(e, r.acceptTypes) || t.push(`不支持的文件类型。接受:${r.acceptTypes.join(", ")}`)), r.maxSize !== void 0 && !C(e, r.maxSize)) {
324
- const n = S(r.maxSize);
325
- t.push(`文件过大。最大允许:${n}`);
2762
+ async function be(E, x = {}) {
2763
+ const r = [];
2764
+ if (x.acceptTypes && x.acceptTypes.length > 0 && (Vt(E, x.acceptTypes) || r.push(`不支持的文件类型。接受:${x.acceptTypes.join(", ")}`)), x.maxSize !== void 0 && !Xt(E, x.maxSize)) {
2765
+ const b = Qt(x.maxSize);
2766
+ r.push(`文件过大。最大允许:${b}`);
326
2767
  }
327
- if (r.mustBeImage && !m(e) && t.push("文件必须是图片格式"), m(e) && (r.minWidth !== void 0 || r.maxWidth !== void 0 || r.minHeight !== void 0 || r.maxHeight !== void 0))
2768
+ if (x.mustBeImage && !zt(E) && r.push("文件必须是图片格式"), zt(E) && (x.minWidth !== void 0 || x.maxWidth !== void 0 || x.minHeight !== void 0 || x.maxHeight !== void 0))
328
2769
  try {
329
- const n = await B(e);
330
- r.minWidth !== void 0 && n.width < r.minWidth && t.push(`图片宽度过小。最小宽度:${r.minWidth}px`), r.maxWidth !== void 0 && n.width > r.maxWidth && t.push(`图片宽度过大。最大宽度:${r.maxWidth}px`), r.minHeight !== void 0 && n.height < r.minHeight && t.push(`图片高度过小。最小高度:${r.minHeight}px`), r.maxHeight !== void 0 && n.height > r.maxHeight && t.push(`图片高度过大。最大高度:${r.maxHeight}px`);
2770
+ const b = await qt(E);
2771
+ x.minWidth !== void 0 && b.width < x.minWidth && r.push(`图片宽度过小。最小宽度:${x.minWidth}px`), x.maxWidth !== void 0 && b.width > x.maxWidth && r.push(`图片宽度过大。最大宽度:${x.maxWidth}px`), x.minHeight !== void 0 && b.height < x.minHeight && r.push(`图片高度过小。最小高度:${x.minHeight}px`), x.maxHeight !== void 0 && b.height > x.maxHeight && r.push(`图片高度过大。最大高度:${x.maxHeight}px`);
331
2772
  } catch {
332
- t.push("无法获取图片尺寸");
2773
+ r.push("无法获取图片尺寸");
333
2774
  }
334
2775
  return {
335
- valid: t.length === 0,
336
- errors: t
2776
+ valid: r.length === 0,
2777
+ errors: r
337
2778
  };
338
2779
  }
339
- function S(e, r = 2) {
340
- if (e === 0) return "0 B";
341
- const t = ["B", "KB", "MB", "GB", "TB"], n = 1024, o = Math.floor(Math.log(e) / Math.log(n));
342
- return parseFloat((e / Math.pow(n, o)).toFixed(r)) + " " + t[o];
343
- }
344
- const D = {
345
- // 读取
346
- readFile: y,
347
- readTxtFile: T,
348
- readCsvFile: $,
349
- readJsonFile: W,
350
- // 下载
351
- downloadFile: v,
352
- downloadBlob: f,
353
- downloadBase64: k,
354
- downloadMultiple: I,
355
- // 转换
356
- fileToBase64: L,
357
- base64ToBlob: O,
358
- // 剪贴板
359
- copyToClipboard: R,
360
- pasteFromClipboard: j,
361
- // 生成
362
- generateTxtFile: z,
363
- generateCsvFile: U,
364
- generateJsonFile: H,
365
- // 验证
366
- checkFileType: E,
367
- checkFileSize: C,
368
- isImage: m,
369
- getImageDimensions: B,
370
- validateFile: N,
371
- formatFileSize: S,
372
- // 工具
373
- getFileExtension: x,
374
- getFileNameWithoutExtension: J,
375
- getFileInfo: M
2780
+ function Qt(E, x = 2) {
2781
+ if (E === 0) return "0 B";
2782
+ const r = ["B", "KB", "MB", "GB", "TB"], b = 1024, u = Math.floor(Math.log(E) / Math.log(b));
2783
+ return parseFloat((E / Math.pow(b, u)).toFixed(x)) + " " + r[u];
2784
+ }
2785
+ function Dt(E) {
2786
+ if (E === null || typeof E != "object")
2787
+ return E;
2788
+ if (E instanceof Date)
2789
+ return new Date(E.getTime());
2790
+ if (E instanceof RegExp)
2791
+ return new RegExp(E.source, E.flags);
2792
+ if (Array.isArray(E))
2793
+ return E.map((r) => Dt(r));
2794
+ const x = {};
2795
+ for (const r in E)
2796
+ Object.prototype.hasOwnProperty.call(E, r) && (x[r] = Dt(E[r]));
2797
+ return x;
2798
+ }
2799
+ const ve = function(E, x = 2) {
2800
+ return Number(E.toFixed(x));
376
2801
  };
2802
+ function ye(E = location.href) {
2803
+ const x = {};
2804
+ return new URL(E).searchParams.forEach((b, u) => {
2805
+ x[u] = b;
2806
+ }), x;
2807
+ }
2808
+ function Nt(E, x) {
2809
+ const r = x || new FormData();
2810
+ return Object.keys(E).forEach((b) => {
2811
+ const u = E[b];
2812
+ u instanceof File ? r.append(b, u) : Array.isArray(u) ? u.forEach((n, a) => {
2813
+ typeof n == "object" && n !== null ? Nt({ [`${b}[${a}]`]: n }, r) : r.append(`${b}[${a}]`, n);
2814
+ }) : typeof u == "object" && u !== null && !(u instanceof Blob) ? Nt(u, r) : r.append(b, u);
2815
+ }), r;
2816
+ }
2817
+ function we(E, x, r = !1) {
2818
+ const b = {}, u = new Set(x);
2819
+ if (r)
2820
+ for (const n of x)
2821
+ n in E && (b[n] = E[n]);
2822
+ else
2823
+ for (const n in E)
2824
+ Object.prototype.hasOwnProperty.call(E, n) && !u.has(n) && (b[n] = E[n]);
2825
+ return b;
2826
+ }
2827
+ function ke(E = !1) {
2828
+ const x = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (r) => {
2829
+ const b = Math.random() * 16 | 0;
2830
+ return (r === "x" ? b : b & 3 | 8).toString(16);
2831
+ });
2832
+ return E ? x.replace(/-/g, "") : x;
2833
+ }
2834
+ function xe(E) {
2835
+ return Object.fromEntries(
2836
+ Object.entries(E).filter(
2837
+ ([x, r]) => r !== "" && r !== null && r !== void 0
2838
+ )
2839
+ );
2840
+ }
2841
+ function Se(E) {
2842
+ return E.reduce((x, r) => x + r, 0);
2843
+ }
2844
+ function Ee(E, x = 2) {
2845
+ if (isNaN(E)) return "0";
2846
+ const b = E.toFixed(x).split(".");
2847
+ return b[0] = b[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","), b.join(".");
2848
+ }
2849
+ function te(E, x = 3, r = 4, b = "*") {
2850
+ if (!E || typeof E != "string") return "";
2851
+ const u = E.length;
2852
+ if (u <= x + r)
2853
+ return b.repeat(u);
2854
+ const n = E.substring(0, x), a = E.substring(u - r), i = u - x - r;
2855
+ return n + b.repeat(i) + a;
2856
+ }
2857
+ function Ae(E, x = "*") {
2858
+ return !E || E.length < 7 ? E : te(E, 3, 4, x);
2859
+ }
2860
+ function ze(E) {
2861
+ return E.map((x) => Number(x));
2862
+ }
2863
+ function Ce(E, x, r, b) {
2864
+ const u = /* @__PURE__ */ new Map();
2865
+ E.forEach((n, a) => {
2866
+ u.set(n, a);
2867
+ }), x.sort((n, a) => {
2868
+ const i = u.get(r(n)) ?? -1, h = u.get(b(a)) ?? -1;
2869
+ return i === h ? 0 : i > h ? 1 : -1;
2870
+ });
2871
+ }
2872
+ function Oe(E) {
2873
+ const x = (u, n) => {
2874
+ const a = [];
2875
+ return u.forEach((i) => {
2876
+ if (i.pid === n) {
2877
+ const h = x(u, i.id);
2878
+ h.length && (i.children = h), a.push(i);
2879
+ }
2880
+ }), a;
2881
+ }, r = [];
2882
+ return E.filter(
2883
+ (u) => !E.some((n) => n.id === u.pid)
2884
+ ).forEach((u) => {
2885
+ const n = x(E, u.id);
2886
+ n.length && (u.children = n), r.push(u);
2887
+ }), r;
2888
+ }
2889
+ function Ie(E, x = !1) {
2890
+ const r = [], b = function(u) {
2891
+ for (const n of u) {
2892
+ const a = { ...n };
2893
+ x && a.children && delete a.children, r.push(a), n.children && b(n.children);
2894
+ }
2895
+ };
2896
+ return b(E), r;
2897
+ }
2898
+ class Be {
2899
+ // 提示语映射
2900
+ static messages = {
2901
+ email: "请输入正确的邮箱地址",
2902
+ number: "请输入合法的数字",
2903
+ phone: "请输入正确的 11 位手机号码",
2904
+ url: "请输入以 http/https/ftp/mapbox 开头的合法链接",
2905
+ ip: "请输入正确的 IP 地址 (0-255.0-255.0-255.0-255)",
2906
+ longitude: "经度应在 -180 到 180 之间",
2907
+ latitude: "纬度应在 -90 到 90 之间",
2908
+ noSpace: "内容不能包含空格",
2909
+ password: "密码需 8-18 位,含大小写字母、数字及特殊符号 (.|@|_)",
2910
+ empty: "内容不能为空",
2911
+ chinese: "内容必须包含中文",
2912
+ inputCoordinates: "坐标格式不正确或数值超出经纬度范围"
2913
+ };
2914
+ // --- 基础验证方法 ---
2915
+ static isEmail = (x) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(x);
2916
+ static isNumber = (x) => /^-?\d+(\.\d+)?$/.test(x);
2917
+ static isPhone = (x) => /^1[3-9]\d{9}$/.test(x);
2918
+ static isUrl = (x) => /^(https?|ftp|mapbox):\/\/[^\s/$.?#].[^\s]*$/i.test(x);
2919
+ static isIP = (x) => /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(x);
2920
+ static isNoSpace = (x) => typeof x == "string" && !/\s/.test(x);
2921
+ static isChinese = (x) => /[\u4e00-\u9fa5]/.test(x);
2922
+ static isPassword = (x) => /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[.@_])[\da-zA-Z.@_]{8,18}$/.test(x);
2923
+ /**
2924
+ * 验证经度
2925
+ * @param lng - 经度值
2926
+ * @returns boolean - 是否在 -180 到 180 之间
2927
+ */
2928
+ static isLongitude(x) {
2929
+ const r = Number(x);
2930
+ return !isNaN(r) && r >= -180 && r <= 180;
2931
+ }
2932
+ /**
2933
+ * 验证纬度
2934
+ * @param lat - 纬度值
2935
+ * @returns boolean - 是否在 -90 到 90 之间
2936
+ */
2937
+ static isLatitude(x) {
2938
+ const r = Number(x);
2939
+ return !isNaN(r) && r >= -90 && r <= 90;
2940
+ }
2941
+ /**
2942
+ * 检查是否为空
2943
+ * @param value - 需要检查的值
2944
+ * @returns boolean - 是否为空
2945
+ */
2946
+ static isEmpty(x) {
2947
+ return x == null || x === "null" || x === "undefined" ? !0 : typeof x == "string" ? x.trim() === "" : Array.isArray(x) ? x.length === 0 : typeof x == "object" ? Object.keys(x).length === 0 : !1;
2948
+ }
2949
+ /**
2950
+ * 验证输入坐标串 (递归平铺校验)
2951
+ * 支持格式:"lng,lat" 或 "lng,lat;lng,lat" 或 "lng,lat;lng,lat|lng,lat"
2952
+ * @param latLngS - 坐标字符串
2953
+ * @returns boolean - 坐标格式是否正确
2954
+ */
2955
+ static isInputCoordinates(x) {
2956
+ if (this.isEmpty(x)) return !1;
2957
+ try {
2958
+ const r = this.generateCoordinates(x);
2959
+ if (!r || r.length === 0) return !1;
2960
+ const b = (u) => typeof u[0] == "number" ? this.isLongitude(u[0]) && this.isLatitude(u[1]) : u.every((n) => b(n));
2961
+ return b(r);
2962
+ } catch {
2963
+ return !1;
2964
+ }
2965
+ }
2966
+ /**
2967
+ * 生成坐标数组 (支持多级分隔符)
2968
+ * @param latLngS - 坐标字符串
2969
+ * @returns any[] | null - 解析后的坐标数组
2970
+ */
2971
+ static generateCoordinates(x) {
2972
+ if (typeof x != "string") return null;
2973
+ if (x.includes("|"))
2974
+ return x.split("|").map((r) => this.generateCoordinates(r));
2975
+ if (x.includes(";"))
2976
+ return x.split(";").map((r) => this.generateCoordinates(r));
2977
+ if (x.includes(",")) {
2978
+ const r = x.split(",").map((b) => Number(b.trim()));
2979
+ return r.length >= 2 ? r : null;
2980
+ }
2981
+ return null;
2982
+ }
2983
+ /**
2984
+ * 快速生成 Form 表单校验规则
2985
+ * @param type - 对应 messages 的 key
2986
+ * @param trigger - 触发方式 'blur' | 'change'
2987
+ * @returns any - Element UI 表单验证规则对象
2988
+ */
2989
+ static getRule(x, r = "blur") {
2990
+ return {
2991
+ validator: (b, u, n) => {
2992
+ if (this.isEmpty(u)) return n();
2993
+ const a = `is${x.charAt(0).toUpperCase() + x.slice(1)}`, i = this[a];
2994
+ if (i && !i.call(this, u))
2995
+ return n(new Error(this.messages[x] || "输入格式有误"));
2996
+ n();
2997
+ },
2998
+ trigger: r
2999
+ };
3000
+ }
3001
+ /**
3002
+ * 带错误消息的验证
3003
+ * @param type - 验证类型
3004
+ * @param value - 验证值
3005
+ * @returns IVerifyResult - 验证结果
3006
+ */
3007
+ static validate(x, r) {
3008
+ const b = `is${x.charAt(0).toUpperCase() + x.slice(1)}`, u = this[b];
3009
+ if (u) {
3010
+ const n = u.call(this, r);
3011
+ return {
3012
+ valid: n,
3013
+ message: n ? void 0 : this.messages[x]
3014
+ };
3015
+ }
3016
+ return {
3017
+ valid: !1,
3018
+ message: "未知的验证类型"
3019
+ };
3020
+ }
3021
+ }
377
3022
  export {
378
- O as base64ToBlob,
379
- C as checkFileSize,
380
- E as checkFileType,
381
- R as copyToClipboard,
382
- D as default,
383
- k as downloadBase64,
384
- f as downloadBlob,
385
- v as downloadFile,
386
- I as downloadMultiple,
387
- L as fileToBase64,
388
- S as formatFileSize,
389
- U as generateCsvFile,
390
- H as generateJsonFile,
391
- z as generateTxtFile,
392
- x as getFileExtension,
393
- M as getFileInfo,
394
- J as getFileNameWithoutExtension,
395
- B as getImageDimensions,
396
- m as isImage,
397
- j as pasteFromClipboard,
398
- $ as readCsvFile,
399
- y as readFile,
400
- W as readJsonFile,
401
- T as readTxtFile,
402
- N as validateFile
3023
+ Be as VerifyUtils,
3024
+ Ce as arrayCustomSort,
3025
+ ze as arrayStringFormatNumber,
3026
+ Se as arraySum,
3027
+ $t as base64ToBlob,
3028
+ oe as base64ToFile,
3029
+ Ut as blobToFile,
3030
+ Xt as checkFileSize,
3031
+ Vt as checkFileType,
3032
+ fe as copyToClipboard,
3033
+ Dt as deepClone,
3034
+ ie as downloadBase64,
3035
+ mt as downloadBlob,
3036
+ Zt as downloadFile,
3037
+ he as downloadFileListAsZip,
3038
+ ae as downloadMultiple,
3039
+ le as fileChangedImageDPI,
3040
+ Jt as fileListToZip,
3041
+ se as fileToBase64,
3042
+ xe as filterEmptyValue,
3043
+ Ee as formatAmount,
3044
+ Qt as formatFileSize,
3045
+ Ae as formatPhone,
3046
+ pe as generateCsvFile,
3047
+ me as generateJsonFile,
3048
+ de as generateTxtFile,
3049
+ ke as generateUUID,
3050
+ ge as getFileInfo,
3051
+ _e as getFileNamePrefix,
3052
+ Pt as getFileNameSuffix,
3053
+ qt as getImageDimensions,
3054
+ ue as imageUrlToBase64,
3055
+ zt as isImage,
3056
+ Ie as jsonConvertGeneralList,
3057
+ Oe as jsonConvertTreeList,
3058
+ te as maskString,
3059
+ ve as numberFixed,
3060
+ Nt as objectToFormData,
3061
+ we as omitKeys,
3062
+ ye as parseUrlParams,
3063
+ ce as pasteFromClipboard,
3064
+ re as readCsvFile,
3065
+ Ct as readFile,
3066
+ ne as readJsonFile,
3067
+ ee as readTxtFile,
3068
+ be as validateFile
403
3069
  };