useblocks 1.1.72 → 1.1.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +461 -0
- package/README.md +55 -6
- package/iframe/css/sandbox-dark.css +1 -1
- package/iframe/css/sandbox-darktheme.css +3 -3
- package/iframe/css/sandbox-light.css +1 -1
- package/iframe/css/sandbox.css +2 -2
- package/iframe/js/amp.D1dkO3ub.js +1 -0
- package/iframe/js/iframe-eblock.js +1 -1
- package/iframe/js/iframe.js +1 -1
- package/iframe/js/rules.4N5s3OV-.js +1 -1
- package/package.json +30 -9
- package/static/core/{842c8d41.js → 16c7408a.js} +4 -4
- package/static/core/{dd94baa62.js → 278c19282.js} +1208 -1127
- package/static/core/27b7d154.js +1098 -0
- package/static/core/{585259872.js → 7877b5712.js} +41 -41
- package/static/core/{ffc83e02.js → 86acf537.js} +7 -7
- package/static/core/{e02024fb2.js → 95074b4e2.js} +58 -58
- package/static/core/{ce9be2ec2.js → 9a1229572.js} +2155 -2090
- package/static/core/{b7c107e3.js → ab3c035c.js} +15 -15
- package/static/core/{d082c64e2.js → b8fa83f82.js} +2490 -2229
- package/static/core/{bfab4558.js → bb8665a8.js} +3551 -3153
- package/static/core/{513594a8.js → c013e7cc.js} +72 -72
- package/static/core/{efbe495c.js → c871702e.js} +2403 -2548
- package/static/core/cf26b064.js +3280 -0
- package/static/core/{d645302e.js → d15a988b.js} +272 -248
- package/static/core/{24c3f399.js → d4962564.js} +3 -3
- package/static/core/dc948de7.js +2134 -0
- package/static/core/{5e082e16.js → e9b6fbb9.js} +48 -48
- package/static/core/{d19e8c6f.js → ec6e74e5.js} +22978 -19773
- package/static/umd-runtime/{n8zqoGYh.js → D80ABE1O.js} +7 -1
- package/static/umd-runtime/runtime.js +2 -2
- package/static/umd-runtime/ui-kit.js +1704 -1628
- package/ui-kit/index.js +1390 -1310
- package/{useblocks-core.8837a348.js → useblocks-core.2fa005e8.js} +6 -6
- package/useblocks-esm.js +4 -4
- package/{useblocks-po.8837a348.js → useblocks-po.2fa005e8.js} +1 -1
- package/useblocks.d.ts +55 -24
- package/useblocks.js +3 -3
- package/favicon-b.ico +0 -0
- package/favicon.ico +0 -0
- package/fonts/SegoeUI-Bold.woff2 +0 -0
- package/fonts/SegoeUI-Semibold.woff2 +0 -0
- package/fonts/SegoeUI.woff2 +0 -0
- package/iframe/js/amp.DllX-Im0.js +0 -1
- package/js/amplitude.min.js +0 -10859
- package/js/sourcebuster.min.js +0 -672
- package/manifest.json +0 -17
- package/npm-publish.manifest.json +0 -51
- package/static/core/241f0387.js +0 -3189
- package/static/core/45b5e246.js +0 -925
- package/static/core/9bcb736c.js +0 -2122
- package/static/media/image-editor/images/samples/large_sample.jpg +0 -0
- package/static/media/image-editor/images/samples/sample1.jpg +0 -0
- package/static/media/image-editor/images/samples/sample1_thumbnail.jpg +0 -0
- package/static/media/image-editor/images/samples/sample2.jpg +0 -0
- package/static/media/image-editor/images/samples/sample2_thumbnail.jpg +0 -0
- package/static/media/image-editor/images/samples/sample3.jpg +0 -0
- package/static/media/image-editor/images/samples/sample3_thumbnail.jpg +0 -0
- package/static/media/image-editor/images/samples/sample4.json +0 -871
- package/static/media/image-editor/images/samples/sample4_preview.jpg +0 -0
- package/test-font.otf +0 -0
- package/test-font.ttf +0 -0
- package/test-font.woff2 +0 -0
- package/tsconfig.json +0 -14
- package/two_step_headless_plugin.html +0 -558
- /package/iframe/{iframe-eblock.8837a348.html → iframe-eblock.2fa005e8.html} +0 -0
- /package/iframe/{iframe.8837a348.html → iframe.2fa005e8.html} +0 -0
|
@@ -0,0 +1,3280 @@
|
|
|
1
|
+
__useblocks__.define("static/core/cf26b064.js", [
|
|
2
|
+
"require",
|
|
3
|
+
"exports",
|
|
4
|
+
"module",
|
|
5
|
+
"static/core/df237243.js",
|
|
6
|
+
"static/core/bb8665a8.js",
|
|
7
|
+
"static/core/27b7d154.js",
|
|
8
|
+
"static/core/9a1229572.js",
|
|
9
|
+
"static/core/278c19282.js",
|
|
10
|
+
"static/core/b8fa83f82.js",
|
|
11
|
+
"react"
|
|
12
|
+
], function(ze, le, Wn) {
|
|
13
|
+
const Ye = ze("./df237243.js"), he = ze("./bb8665a8.js"), _t = ze("./27b7d154.js"), lt = ze("./9a1229572.js"), qt = ze("./278c19282.js"), Ut = ze("./b8fa83f82.js");
|
|
14
|
+
let rt = ze("react");
|
|
15
|
+
var Xt = Ye.__commonJSMin(((g, I) => {
|
|
16
|
+
I.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
17
|
+
})), Kt = Ye.__commonJSMin(((g, I) => {
|
|
18
|
+
var k = Xt();
|
|
19
|
+
function z() {}
|
|
20
|
+
function G() {}
|
|
21
|
+
G.resetWarningCache = z, I.exports = function() {
|
|
22
|
+
function W(J, $, Fe, ae, Be, Ie) {
|
|
23
|
+
if (Ie !== k) {
|
|
24
|
+
var te = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");
|
|
25
|
+
throw te.name = "Invariant Violation", te;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
W.isRequired = W;
|
|
29
|
+
function V() {
|
|
30
|
+
return W;
|
|
31
|
+
}
|
|
32
|
+
var Z = {
|
|
33
|
+
array: W,
|
|
34
|
+
bigint: W,
|
|
35
|
+
bool: W,
|
|
36
|
+
func: W,
|
|
37
|
+
number: W,
|
|
38
|
+
object: W,
|
|
39
|
+
string: W,
|
|
40
|
+
symbol: W,
|
|
41
|
+
any: W,
|
|
42
|
+
arrayOf: V,
|
|
43
|
+
element: W,
|
|
44
|
+
elementType: W,
|
|
45
|
+
instanceOf: V,
|
|
46
|
+
node: W,
|
|
47
|
+
objectOf: V,
|
|
48
|
+
oneOf: V,
|
|
49
|
+
oneOfType: V,
|
|
50
|
+
shape: V,
|
|
51
|
+
exact: V,
|
|
52
|
+
checkPropTypes: G,
|
|
53
|
+
resetWarningCache: z
|
|
54
|
+
};
|
|
55
|
+
return Z.PropTypes = Z, Z;
|
|
56
|
+
};
|
|
57
|
+
})), Vt = Ye.__commonJSMin(((g, I) => {
|
|
58
|
+
I.exports = Kt()();
|
|
59
|
+
}));
|
|
60
|
+
function Et({ limitsInPlugin: g, hostedAiActive: I }) {
|
|
61
|
+
return g && !I;
|
|
62
|
+
}
|
|
63
|
+
function Zt({ limitsInPlugin: g, hostedAiActive: I, counter: k, limit: z }) {
|
|
64
|
+
return Et({
|
|
65
|
+
limitsInPlugin: g,
|
|
66
|
+
hostedAiActive: I
|
|
67
|
+
}) ? z > 0 && k >= z : !1;
|
|
68
|
+
}
|
|
69
|
+
var Yt = /\s+\d+$/;
|
|
70
|
+
function Jt(g) {
|
|
71
|
+
return g.trim().replace(Yt, "").toLowerCase().replaceAll("+", "-plus").split(/\s+/).filter(Boolean).join("-");
|
|
72
|
+
}
|
|
73
|
+
function Ft(g, I, k) {
|
|
74
|
+
if (!g || !I || !k) return;
|
|
75
|
+
const z = g.filter((W) => Jt(W.title ?? "") === I).map((W) => W.limits?.[k]);
|
|
76
|
+
if (z.length === 0) return;
|
|
77
|
+
const G = z.findIndex((W) => String(W ?? "").trim() !== "0");
|
|
78
|
+
return G === -1 ? "0" : z[G];
|
|
79
|
+
}
|
|
80
|
+
function It(g, I) {
|
|
81
|
+
if (!g || !g.is_unlimited || I == null) return g;
|
|
82
|
+
const k = String(I).trim();
|
|
83
|
+
return k === "" || Number(k) !== 0 ? g : {
|
|
84
|
+
...g,
|
|
85
|
+
is_unlimited: !1
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
var Mt = {
|
|
89
|
+
ai: "ai_limit",
|
|
90
|
+
email_generate: "email_generate_limit",
|
|
91
|
+
image_generate: "image_generate_limit",
|
|
92
|
+
preview: "preview_limit",
|
|
93
|
+
link_check: "link_check_limit",
|
|
94
|
+
image_check: "image_check_limit",
|
|
95
|
+
spam_check: "spam_check_limit"
|
|
96
|
+
};
|
|
97
|
+
function ut() {
|
|
98
|
+
return he.PLUGIN.isPlugin || !he.isPlanGatingAvailable();
|
|
99
|
+
}
|
|
100
|
+
function Pt(g) {
|
|
101
|
+
const { data: I } = he.useGetSubscriptionsQuery(void 0, { skip: ut() || g });
|
|
102
|
+
return I;
|
|
103
|
+
}
|
|
104
|
+
function St(g) {
|
|
105
|
+
if (g) return {
|
|
106
|
+
used: g.used ?? 0,
|
|
107
|
+
base_limit: g.base_limit ?? 0,
|
|
108
|
+
extra: g.extra ?? 0,
|
|
109
|
+
total_limit: g.total_limit ?? 0,
|
|
110
|
+
remaining: g.remaining ?? 0,
|
|
111
|
+
percent: g.percent ?? 0,
|
|
112
|
+
is_unlimited: g.is_unlimited ?? !1
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function en() {
|
|
116
|
+
const g = he.useSelector(he.selectProject)?.id, { data: I, isSuccess: k } = _t.useGetProjectPlanQuery(g, { skip: ut() || !g }), z = Pt(!I?.slug);
|
|
117
|
+
return (0, rt.useMemo)(() => {
|
|
118
|
+
const G = I?.limits ?? {}, W = {};
|
|
119
|
+
return Object.entries(G).forEach(([V, Z]) => {
|
|
120
|
+
const J = V, $ = It(St(Z), Ft(z, I?.slug, Mt[J]));
|
|
121
|
+
$ && (W[J] = $);
|
|
122
|
+
}), {
|
|
123
|
+
limits: W,
|
|
124
|
+
isLoaded: !!k
|
|
125
|
+
};
|
|
126
|
+
}, [
|
|
127
|
+
z,
|
|
128
|
+
I,
|
|
129
|
+
k
|
|
130
|
+
]);
|
|
131
|
+
}
|
|
132
|
+
function tn() {
|
|
133
|
+
const g = he.useSelector(he.selectProject)?.id, [I] = _t.useLazyGetProjectPlanQuery(), k = Pt(!1);
|
|
134
|
+
return (0, rt.useCallback)(async (z) => {
|
|
135
|
+
if (ut() || !g) return;
|
|
136
|
+
const G = await I(g, !1);
|
|
137
|
+
return It(St(G.data?.limits?.[z]), Ft(k, G.data?.slug, Mt[z]));
|
|
138
|
+
}, [
|
|
139
|
+
k,
|
|
140
|
+
I,
|
|
141
|
+
g
|
|
142
|
+
]);
|
|
143
|
+
}
|
|
144
|
+
function dt(g, I) {
|
|
145
|
+
if (g) {
|
|
146
|
+
if (I === "preview") {
|
|
147
|
+
const k = g;
|
|
148
|
+
return k.preview ?? k.test_sends;
|
|
149
|
+
}
|
|
150
|
+
return g[I];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function ht(g, I) {
|
|
154
|
+
if (g?.flags) {
|
|
155
|
+
if (I === "preview") {
|
|
156
|
+
const k = g.flags;
|
|
157
|
+
return k.preview ?? k.test_sends;
|
|
158
|
+
}
|
|
159
|
+
return g.flags[I];
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
var nn = [
|
|
163
|
+
10,
|
|
164
|
+
30,
|
|
165
|
+
300
|
|
166
|
+
], xt = [
|
|
167
|
+
10,
|
|
168
|
+
50,
|
|
169
|
+
150
|
|
170
|
+
];
|
|
171
|
+
function gt(g, I) {
|
|
172
|
+
for (const k of I) if (k > g) return k;
|
|
173
|
+
return "infinity";
|
|
174
|
+
}
|
|
175
|
+
function rn(g) {
|
|
176
|
+
return g <= 10 ? "email_10_30" : g <= 30 ? "email_30_300" : "email_300_inf";
|
|
177
|
+
}
|
|
178
|
+
function Ct(g) {
|
|
179
|
+
return g <= 10 ? "ai_10_50" : g <= 50 ? "ai_30_150" : "ai_150_inf";
|
|
180
|
+
}
|
|
181
|
+
function mt(g, I) {
|
|
182
|
+
return I?.limit_exceeded ? !0 : g.is_unlimited || g.total_limit <= 0 ? !1 : g.remaining <= 0 || g.used >= g.total_limit;
|
|
183
|
+
}
|
|
184
|
+
var on = [
|
|
185
|
+
"optimization",
|
|
186
|
+
"image_generate",
|
|
187
|
+
"preview",
|
|
188
|
+
"link_check",
|
|
189
|
+
"image_check",
|
|
190
|
+
"spam_check"
|
|
191
|
+
];
|
|
192
|
+
function Tt(g) {
|
|
193
|
+
return on.includes(g);
|
|
194
|
+
}
|
|
195
|
+
var an = {
|
|
196
|
+
optimization: "optimization_exceeded",
|
|
197
|
+
image_generate: "image_generate_exceeded",
|
|
198
|
+
preview: "preview_exceeded",
|
|
199
|
+
link_check: "link_check_exceeded",
|
|
200
|
+
image_check: "image_check_exceeded",
|
|
201
|
+
spam_check: "spam_check_exceeded"
|
|
202
|
+
};
|
|
203
|
+
function Ke(g, I, k) {
|
|
204
|
+
if (Tt(g)) return null;
|
|
205
|
+
const z = dt(I, g), G = ht(k, g);
|
|
206
|
+
if (!z || !mt(z, G)) return null;
|
|
207
|
+
const W = z.total_limit;
|
|
208
|
+
return {
|
|
209
|
+
kind: g,
|
|
210
|
+
presetId: an[g],
|
|
211
|
+
previousLimit: W,
|
|
212
|
+
nextLimit: "infinity"
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
function sn(g, I) {
|
|
216
|
+
if (!g) return null;
|
|
217
|
+
const k = dt(g, "ai"), z = ht(I, "ai");
|
|
218
|
+
if (k && mt(k, z)) {
|
|
219
|
+
const ae = k.total_limit;
|
|
220
|
+
return {
|
|
221
|
+
kind: "ai",
|
|
222
|
+
presetId: Ct(ae),
|
|
223
|
+
previousLimit: ae,
|
|
224
|
+
nextLimit: gt(ae, xt)
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
const G = dt(g, "email_generate"), W = ht(I, "email_generate");
|
|
228
|
+
if (G && mt(G, W)) {
|
|
229
|
+
const ae = G.total_limit;
|
|
230
|
+
return {
|
|
231
|
+
kind: "email_generate",
|
|
232
|
+
presetId: rn(ae),
|
|
233
|
+
previousLimit: ae,
|
|
234
|
+
nextLimit: gt(ae, nn)
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
const V = Ke("image_generate", g, I);
|
|
238
|
+
if (V) return V;
|
|
239
|
+
const Z = Ke("optimization", g, I);
|
|
240
|
+
if (Z) return Z;
|
|
241
|
+
const J = Ke("preview", g, I);
|
|
242
|
+
if (J) return J;
|
|
243
|
+
const $ = Ke("link_check", g, I);
|
|
244
|
+
if ($) return $;
|
|
245
|
+
return Ke("image_check", g, I) || Ke("spam_check", g, I);
|
|
246
|
+
}
|
|
247
|
+
function fn(g) {
|
|
248
|
+
return {
|
|
249
|
+
presetId: Ct(g),
|
|
250
|
+
previousLimit: g,
|
|
251
|
+
nextLimit: gt(g, xt)
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
function cn(g) {
|
|
255
|
+
const I = String(g ?? "").split(";")[0].trim();
|
|
256
|
+
if (!I) return "";
|
|
257
|
+
const k = I.toLowerCase(), z = k.indexOf("/");
|
|
258
|
+
if (z === -1) return k;
|
|
259
|
+
const G = k.slice(z + 1);
|
|
260
|
+
return G === "svg+xml" ? "svg" : G;
|
|
261
|
+
}
|
|
262
|
+
async function ln(g) {
|
|
263
|
+
if (typeof createImageBitmap == "function") try {
|
|
264
|
+
const I = await createImageBitmap(g);
|
|
265
|
+
try {
|
|
266
|
+
return {
|
|
267
|
+
width: I.width,
|
|
268
|
+
height: I.height
|
|
269
|
+
};
|
|
270
|
+
} finally {
|
|
271
|
+
I.close?.();
|
|
272
|
+
}
|
|
273
|
+
} catch {}
|
|
274
|
+
return new Promise((I, k) => {
|
|
275
|
+
const z = URL.createObjectURL(g), G = new Image();
|
|
276
|
+
G.onload = () => {
|
|
277
|
+
URL.revokeObjectURL(z);
|
|
278
|
+
const W = G.naturalWidth || G.width, V = G.naturalHeight || G.height;
|
|
279
|
+
W > 0 && V > 0 ? I({
|
|
280
|
+
width: W,
|
|
281
|
+
height: V
|
|
282
|
+
}) : k(new Error("Could not read image dimensions"));
|
|
283
|
+
}, G.onerror = () => {
|
|
284
|
+
URL.revokeObjectURL(z), k(new Error("Could not decode image"));
|
|
285
|
+
}, G.src = z;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
function pt(g) {
|
|
289
|
+
return g.trim();
|
|
290
|
+
}
|
|
291
|
+
var un = 64 * 1024 * 1024, dn = 2e3;
|
|
292
|
+
function it(g) {
|
|
293
|
+
g.abandonTimer !== void 0 && (clearTimeout(g.abandonTimer), g.abandonTimer = void 0);
|
|
294
|
+
}
|
|
295
|
+
function Rt(g, I) {
|
|
296
|
+
return I ? new Promise((k, z) => {
|
|
297
|
+
if (I.aborted) {
|
|
298
|
+
z(new DOMException("Aborted", "AbortError"));
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
const G = () => {
|
|
302
|
+
z(new DOMException("Aborted", "AbortError"));
|
|
303
|
+
};
|
|
304
|
+
I.addEventListener("abort", G, { once: !0 }), g.then((W) => {
|
|
305
|
+
I.removeEventListener("abort", G), k(W);
|
|
306
|
+
}, (W) => {
|
|
307
|
+
I.removeEventListener("abort", G), z(W);
|
|
308
|
+
});
|
|
309
|
+
}) : g;
|
|
310
|
+
}
|
|
311
|
+
function hn(g = {}) {
|
|
312
|
+
const I = g.maxCacheBytes ?? un, k = g.abandonDelayMs ?? dn, z = new Map(), G = new Map();
|
|
313
|
+
let W = 0;
|
|
314
|
+
function V(te) {
|
|
315
|
+
const Y = z.get(te);
|
|
316
|
+
Y && (W -= Y.size, z.delete(te));
|
|
317
|
+
}
|
|
318
|
+
function Z(te, Y) {
|
|
319
|
+
if (V(te), !(Y.size > I)) {
|
|
320
|
+
z.set(te, Y), W += Y.size;
|
|
321
|
+
for (const me of z.keys()) {
|
|
322
|
+
if (W <= I) break;
|
|
323
|
+
V(me);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
function J(te) {
|
|
328
|
+
const Y = G.get(te);
|
|
329
|
+
Y && (it(Y), G.delete(te));
|
|
330
|
+
}
|
|
331
|
+
function $(te, Y) {
|
|
332
|
+
Y.waiters -= 1, !(Y.waiters > 0 || Y.abandonTimer !== void 0 || G.get(te) !== Y) && (Y.abandonTimer = setTimeout(() => {
|
|
333
|
+
Y.abandonTimer = void 0, !(G.get(te) !== Y || Y.waiters > 0) && (G.delete(te), Y.controller.abort());
|
|
334
|
+
}, k));
|
|
335
|
+
}
|
|
336
|
+
function Fe(te, Y, me) {
|
|
337
|
+
return Y.waiters += 1, it(Y), me.then(() => $(te, Y), () => $(te, Y)), me;
|
|
338
|
+
}
|
|
339
|
+
async function ae(te, Y, me) {
|
|
340
|
+
const pe = pt(te);
|
|
341
|
+
if (!pe) throw new Error("Empty image URL");
|
|
342
|
+
const Re = z.get(pe);
|
|
343
|
+
if (Re) {
|
|
344
|
+
if (Y?.aborted) throw new DOMException("Aborted", "AbortError");
|
|
345
|
+
return z.delete(pe), z.set(pe, Re), Re;
|
|
346
|
+
}
|
|
347
|
+
const ue = G.get(pe);
|
|
348
|
+
if (ue) return Fe(pe, ue, Rt(ue.promise, Y));
|
|
349
|
+
const Pe = new AbortController(), xe = {
|
|
350
|
+
promise: me(pe, Pe.signal).then((Ce) => (J(pe), Z(pe, Ce), Ce)).catch((Ce) => {
|
|
351
|
+
throw J(pe), Ce;
|
|
352
|
+
}),
|
|
353
|
+
controller: Pe,
|
|
354
|
+
waiters: 0,
|
|
355
|
+
abandonTimer: void 0
|
|
356
|
+
};
|
|
357
|
+
return G.set(pe, xe), Fe(pe, xe, Rt(xe.promise, Y));
|
|
358
|
+
}
|
|
359
|
+
function Be(te) {
|
|
360
|
+
const Y = pt(te);
|
|
361
|
+
if (!Y) return;
|
|
362
|
+
const me = G.get(Y);
|
|
363
|
+
me && (it(me), me.controller.abort(), G.delete(Y)), V(Y);
|
|
364
|
+
}
|
|
365
|
+
function Ie() {
|
|
366
|
+
for (const [, te] of G) it(te), te.controller.abort();
|
|
367
|
+
G.clear(), z.clear(), W = 0;
|
|
368
|
+
}
|
|
369
|
+
return {
|
|
370
|
+
resolve: ae,
|
|
371
|
+
abandonKey: Be,
|
|
372
|
+
invalidateAll: Ie
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
var gn = Ye.__commonJSMin(((g, I) => {
|
|
376
|
+
(function(k, z) {
|
|
377
|
+
typeof g == "object" && typeof I < "u" ? I.exports = z() : typeof define == "function" && define.amd ? define(z) : (k = typeof globalThis < "u" ? globalThis : k || self).imageCompression = z();
|
|
378
|
+
})(g, (function() {
|
|
379
|
+
"use strict";
|
|
380
|
+
function k(T, R) {
|
|
381
|
+
return R.forEach((function(H) {
|
|
382
|
+
H && typeof H != "string" && !Array.isArray(H) && Object.keys(H).forEach((function(d) {
|
|
383
|
+
if (d !== "default" && !(d in T)) {
|
|
384
|
+
var e = Object.getOwnPropertyDescriptor(H, d);
|
|
385
|
+
Object.defineProperty(T, d, e.get ? e : {
|
|
386
|
+
enumerable: !0,
|
|
387
|
+
get: function() {
|
|
388
|
+
return H[d];
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
}));
|
|
393
|
+
})), Object.freeze(T);
|
|
394
|
+
}
|
|
395
|
+
function z(T, R) {
|
|
396
|
+
return new Promise((function(H, d) {
|
|
397
|
+
let e;
|
|
398
|
+
return G(T).then((function(t) {
|
|
399
|
+
try {
|
|
400
|
+
return e = t, H(new Blob([
|
|
401
|
+
R.slice(0, 2),
|
|
402
|
+
e,
|
|
403
|
+
R.slice(2)
|
|
404
|
+
], { type: "image/jpeg" }));
|
|
405
|
+
} catch (u) {
|
|
406
|
+
return d(u);
|
|
407
|
+
}
|
|
408
|
+
}), d);
|
|
409
|
+
}));
|
|
410
|
+
}
|
|
411
|
+
const G = (T) => new Promise(((R, H) => {
|
|
412
|
+
const d = new FileReader();
|
|
413
|
+
d.addEventListener("load", (({ target: { result: e } }) => {
|
|
414
|
+
const t = new DataView(e);
|
|
415
|
+
let u = 0;
|
|
416
|
+
if (t.getUint16(u) !== 65496) return H("not a valid JPEG");
|
|
417
|
+
for (u += 2;;) {
|
|
418
|
+
const a = t.getUint16(u);
|
|
419
|
+
if (a === 65498) break;
|
|
420
|
+
const p = t.getUint16(u + 2);
|
|
421
|
+
if (a === 65505 && t.getUint32(u + 4) === 1165519206) {
|
|
422
|
+
const _ = u + 10;
|
|
423
|
+
let r;
|
|
424
|
+
switch (t.getUint16(_)) {
|
|
425
|
+
case 18761:
|
|
426
|
+
r = !0;
|
|
427
|
+
break;
|
|
428
|
+
case 19789:
|
|
429
|
+
r = !1;
|
|
430
|
+
break;
|
|
431
|
+
default: return H("TIFF header contains invalid endian");
|
|
432
|
+
}
|
|
433
|
+
if (t.getUint16(_ + 2, r) !== 42) return H("TIFF header contains invalid version");
|
|
434
|
+
const i = t.getUint32(_ + 4, r), n = _ + i + 2 + 12 * t.getUint16(_ + i, r);
|
|
435
|
+
for (let s = _ + i + 2; s < n; s += 12) if (t.getUint16(s, r) == 274) {
|
|
436
|
+
if (t.getUint16(s + 2, r) !== 3) return H("Orientation data type is invalid");
|
|
437
|
+
if (t.getUint32(s + 4, r) !== 1) return H("Orientation data count is invalid");
|
|
438
|
+
t.setUint16(s + 8, 1, r);
|
|
439
|
+
break;
|
|
440
|
+
}
|
|
441
|
+
return R(e.slice(u, u + 2 + p));
|
|
442
|
+
}
|
|
443
|
+
u += 2 + p;
|
|
444
|
+
}
|
|
445
|
+
return R(new Blob());
|
|
446
|
+
})), d.readAsArrayBuffer(T);
|
|
447
|
+
}));
|
|
448
|
+
var W = {};
|
|
449
|
+
(function(T) {
|
|
450
|
+
var R, H, d = {};
|
|
451
|
+
T.exports = d, d.parse = function(e, t) {
|
|
452
|
+
for (var u = d.bin.readUshort, a = d.bin.readUint, p = 0, _ = {}, r = new Uint8Array(e), i = r.length - 4; a(r, i) != 101010256;) i--;
|
|
453
|
+
p = i, p += 4;
|
|
454
|
+
var n = u(r, p += 4);
|
|
455
|
+
u(r, p += 2);
|
|
456
|
+
var s = a(r, p += 2), h = a(r, p += 4);
|
|
457
|
+
p += 4, p = h;
|
|
458
|
+
for (var E = 0; E < n; E++) {
|
|
459
|
+
a(r, p), p += 4, p += 4, p += 4, a(r, p += 4), s = a(r, p += 4);
|
|
460
|
+
var S = a(r, p += 4), y = u(r, p += 4), D = u(r, p + 2), L = u(r, p + 4);
|
|
461
|
+
p += 6;
|
|
462
|
+
var P = a(r, p += 8);
|
|
463
|
+
p += 4, p += y + D + L, d._readLocal(r, P, _, s, S, t);
|
|
464
|
+
}
|
|
465
|
+
return _;
|
|
466
|
+
}, d._readLocal = function(e, t, u, a, p, _) {
|
|
467
|
+
var r = d.bin.readUshort, i = d.bin.readUint;
|
|
468
|
+
i(e, t), r(e, t += 4), r(e, t += 2);
|
|
469
|
+
var n = r(e, t += 2);
|
|
470
|
+
i(e, t += 2), i(e, t += 4), t += 4;
|
|
471
|
+
var s = r(e, t += 8), h = r(e, t += 2);
|
|
472
|
+
t += 2;
|
|
473
|
+
var E = d.bin.readUTF8(e, t, s);
|
|
474
|
+
if (t += s, t += h, _) u[E] = {
|
|
475
|
+
size: p,
|
|
476
|
+
csize: a
|
|
477
|
+
};
|
|
478
|
+
else {
|
|
479
|
+
var S = new Uint8Array(e.buffer, t);
|
|
480
|
+
if (n == 0) u[E] = new Uint8Array(S.buffer.slice(t, t + a));
|
|
481
|
+
else {
|
|
482
|
+
if (n != 8) throw "unknown compression method: " + n;
|
|
483
|
+
var y = new Uint8Array(p);
|
|
484
|
+
d.inflateRaw(S, y), u[E] = y;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}, d.inflateRaw = function(e, t) {
|
|
488
|
+
return d.F.inflate(e, t);
|
|
489
|
+
}, d.inflate = function(e, t) {
|
|
490
|
+
return e[0], e[1], d.inflateRaw(new Uint8Array(e.buffer, e.byteOffset + 2, e.length - 6), t);
|
|
491
|
+
}, d.deflate = function(e, t) {
|
|
492
|
+
t ??= { level: 6 };
|
|
493
|
+
var u = 0, a = new Uint8Array(50 + Math.floor(1.1 * e.length));
|
|
494
|
+
a[u] = 120, a[u + 1] = 156, u += 2, u = d.F.deflateRaw(e, a, u, t.level);
|
|
495
|
+
var p = d.adler(e, 0, e.length);
|
|
496
|
+
return a[u + 0] = p >>> 24 & 255, a[u + 1] = p >>> 16 & 255, a[u + 2] = p >>> 8 & 255, a[u + 3] = p >>> 0 & 255, new Uint8Array(a.buffer, 0, u + 4);
|
|
497
|
+
}, d.deflateRaw = function(e, t) {
|
|
498
|
+
t ??= { level: 6 };
|
|
499
|
+
var u = new Uint8Array(50 + Math.floor(1.1 * e.length)), a = d.F.deflateRaw(e, u, a, t.level);
|
|
500
|
+
return new Uint8Array(u.buffer, 0, a);
|
|
501
|
+
}, d.encode = function(e, t) {
|
|
502
|
+
t ??= !1;
|
|
503
|
+
var u = 0, a = d.bin.writeUint, p = d.bin.writeUshort, _ = {};
|
|
504
|
+
for (var r in e) {
|
|
505
|
+
var i = !d._noNeed(r) && !t, n = e[r], s = d.crc.crc(n, 0, n.length);
|
|
506
|
+
_[r] = {
|
|
507
|
+
cpr: i,
|
|
508
|
+
usize: n.length,
|
|
509
|
+
crc: s,
|
|
510
|
+
file: i ? d.deflateRaw(n) : n
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
for (var r in _) u += _[r].file.length + 30 + 46 + 2 * d.bin.sizeUTF8(r);
|
|
514
|
+
u += 22;
|
|
515
|
+
var h = new Uint8Array(u), E = 0, S = [];
|
|
516
|
+
for (var r in _) {
|
|
517
|
+
var y = _[r];
|
|
518
|
+
S.push(E), E = d._writeHeader(h, E, r, y, 0);
|
|
519
|
+
}
|
|
520
|
+
var D = 0, L = E;
|
|
521
|
+
for (var r in _) y = _[r], S.push(E), E = d._writeHeader(h, E, r, y, 1, S[D++]);
|
|
522
|
+
var P = E - L;
|
|
523
|
+
return a(h, E, 101010256), E += 4, p(h, E += 4, D), p(h, E += 2, D), a(h, E += 2, P), a(h, E += 4, L), E += 4, E += 2, h.buffer;
|
|
524
|
+
}, d._noNeed = function(e) {
|
|
525
|
+
var t = e.split(".").pop().toLowerCase();
|
|
526
|
+
return "png,jpg,jpeg,zip".indexOf(t) != -1;
|
|
527
|
+
}, d._writeHeader = function(e, t, u, a, p, _) {
|
|
528
|
+
var r = d.bin.writeUint, i = d.bin.writeUshort, n = a.file;
|
|
529
|
+
return r(e, t, p == 0 ? 67324752 : 33639248), t += 4, p == 1 && (t += 2), i(e, t, 20), i(e, t += 2, 0), i(e, t += 2, a.cpr ? 8 : 0), r(e, t += 2, 0), r(e, t += 4, a.crc), r(e, t += 4, n.length), r(e, t += 4, a.usize), i(e, t += 4, d.bin.sizeUTF8(u)), i(e, t += 2, 0), t += 2, p == 1 && (t += 2, t += 2, r(e, t += 6, _), t += 4), t += d.bin.writeUTF8(e, t, u), p == 0 && (e.set(n, t), t += n.length), t;
|
|
530
|
+
}, d.crc = {
|
|
531
|
+
table: (function() {
|
|
532
|
+
for (var e = new Uint32Array(256), t = 0; t < 256; t++) {
|
|
533
|
+
for (var u = t, a = 0; a < 8; a++) 1 & u ? u = 3988292384 ^ u >>> 1 : u >>>= 1;
|
|
534
|
+
e[t] = u;
|
|
535
|
+
}
|
|
536
|
+
return e;
|
|
537
|
+
})(),
|
|
538
|
+
update: function(e, t, u, a) {
|
|
539
|
+
for (var p = 0; p < a; p++) e = d.crc.table[255 & (e ^ t[u + p])] ^ e >>> 8;
|
|
540
|
+
return e;
|
|
541
|
+
},
|
|
542
|
+
crc: function(e, t, u) {
|
|
543
|
+
return 4294967295 ^ d.crc.update(4294967295, e, t, u);
|
|
544
|
+
}
|
|
545
|
+
}, d.adler = function(e, t, u) {
|
|
546
|
+
for (var a = 1, p = 0, _ = t, r = t + u; _ < r;) {
|
|
547
|
+
for (var i = Math.min(_ + 5552, r); _ < i;) p += a += e[_++];
|
|
548
|
+
a %= 65521, p %= 65521;
|
|
549
|
+
}
|
|
550
|
+
return p << 16 | a;
|
|
551
|
+
}, d.bin = {
|
|
552
|
+
readUshort: function(e, t) {
|
|
553
|
+
return e[t] | e[t + 1] << 8;
|
|
554
|
+
},
|
|
555
|
+
writeUshort: function(e, t, u) {
|
|
556
|
+
e[t] = 255 & u, e[t + 1] = u >> 8 & 255;
|
|
557
|
+
},
|
|
558
|
+
readUint: function(e, t) {
|
|
559
|
+
return 16777216 * e[t + 3] + (e[t + 2] << 16 | e[t + 1] << 8 | e[t]);
|
|
560
|
+
},
|
|
561
|
+
writeUint: function(e, t, u) {
|
|
562
|
+
e[t] = 255 & u, e[t + 1] = u >> 8 & 255, e[t + 2] = u >> 16 & 255, e[t + 3] = u >> 24 & 255;
|
|
563
|
+
},
|
|
564
|
+
readASCII: function(e, t, u) {
|
|
565
|
+
for (var a = "", p = 0; p < u; p++) a += String.fromCharCode(e[t + p]);
|
|
566
|
+
return a;
|
|
567
|
+
},
|
|
568
|
+
writeASCII: function(e, t, u) {
|
|
569
|
+
for (var a = 0; a < u.length; a++) e[t + a] = u.charCodeAt(a);
|
|
570
|
+
},
|
|
571
|
+
pad: function(e) {
|
|
572
|
+
return e.length < 2 ? "0" + e : e;
|
|
573
|
+
},
|
|
574
|
+
readUTF8: function(e, t, u) {
|
|
575
|
+
for (var a, p = "", _ = 0; _ < u; _++) p += "%" + d.bin.pad(e[t + _].toString(16));
|
|
576
|
+
try {
|
|
577
|
+
a = decodeURIComponent(p);
|
|
578
|
+
} catch {
|
|
579
|
+
return d.bin.readASCII(e, t, u);
|
|
580
|
+
}
|
|
581
|
+
return a;
|
|
582
|
+
},
|
|
583
|
+
writeUTF8: function(e, t, u) {
|
|
584
|
+
for (var a = u.length, p = 0, _ = 0; _ < a; _++) {
|
|
585
|
+
var r = u.charCodeAt(_);
|
|
586
|
+
if ((4294967168 & r) == 0) e[t + p] = r, p++;
|
|
587
|
+
else if ((4294965248 & r) == 0) e[t + p] = 192 | r >> 6, e[t + p + 1] = 128 | r >> 0 & 63, p += 2;
|
|
588
|
+
else if ((4294901760 & r) == 0) e[t + p] = 224 | r >> 12, e[t + p + 1] = 128 | r >> 6 & 63, e[t + p + 2] = 128 | r >> 0 & 63, p += 3;
|
|
589
|
+
else {
|
|
590
|
+
if ((4292870144 & r) != 0) throw "e";
|
|
591
|
+
e[t + p] = 240 | r >> 18, e[t + p + 1] = 128 | r >> 12 & 63, e[t + p + 2] = 128 | r >> 6 & 63, e[t + p + 3] = 128 | r >> 0 & 63, p += 4;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
return p;
|
|
595
|
+
},
|
|
596
|
+
sizeUTF8: function(e) {
|
|
597
|
+
for (var t = e.length, u = 0, a = 0; a < t; a++) {
|
|
598
|
+
var p = e.charCodeAt(a);
|
|
599
|
+
if ((4294967168 & p) == 0) u++;
|
|
600
|
+
else if ((4294965248 & p) == 0) u += 2;
|
|
601
|
+
else if ((4294901760 & p) == 0) u += 3;
|
|
602
|
+
else {
|
|
603
|
+
if ((4292870144 & p) != 0) throw "e";
|
|
604
|
+
u += 4;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
return u;
|
|
608
|
+
}
|
|
609
|
+
}, d.F = {}, d.F.deflateRaw = function(e, t, u, a) {
|
|
610
|
+
var p = [
|
|
611
|
+
[
|
|
612
|
+
0,
|
|
613
|
+
0,
|
|
614
|
+
0,
|
|
615
|
+
0,
|
|
616
|
+
0
|
|
617
|
+
],
|
|
618
|
+
[
|
|
619
|
+
4,
|
|
620
|
+
4,
|
|
621
|
+
8,
|
|
622
|
+
4,
|
|
623
|
+
0
|
|
624
|
+
],
|
|
625
|
+
[
|
|
626
|
+
4,
|
|
627
|
+
5,
|
|
628
|
+
16,
|
|
629
|
+
8,
|
|
630
|
+
0
|
|
631
|
+
],
|
|
632
|
+
[
|
|
633
|
+
4,
|
|
634
|
+
6,
|
|
635
|
+
16,
|
|
636
|
+
16,
|
|
637
|
+
0
|
|
638
|
+
],
|
|
639
|
+
[
|
|
640
|
+
4,
|
|
641
|
+
10,
|
|
642
|
+
16,
|
|
643
|
+
32,
|
|
644
|
+
0
|
|
645
|
+
],
|
|
646
|
+
[
|
|
647
|
+
8,
|
|
648
|
+
16,
|
|
649
|
+
32,
|
|
650
|
+
32,
|
|
651
|
+
0
|
|
652
|
+
],
|
|
653
|
+
[
|
|
654
|
+
8,
|
|
655
|
+
16,
|
|
656
|
+
128,
|
|
657
|
+
128,
|
|
658
|
+
0
|
|
659
|
+
],
|
|
660
|
+
[
|
|
661
|
+
8,
|
|
662
|
+
32,
|
|
663
|
+
128,
|
|
664
|
+
256,
|
|
665
|
+
0
|
|
666
|
+
],
|
|
667
|
+
[
|
|
668
|
+
32,
|
|
669
|
+
128,
|
|
670
|
+
258,
|
|
671
|
+
1024,
|
|
672
|
+
1
|
|
673
|
+
],
|
|
674
|
+
[
|
|
675
|
+
32,
|
|
676
|
+
258,
|
|
677
|
+
258,
|
|
678
|
+
4096,
|
|
679
|
+
1
|
|
680
|
+
]
|
|
681
|
+
][a], _ = d.F.U, r = d.F._goodIndex;
|
|
682
|
+
d.F._hash;
|
|
683
|
+
var i = d.F._putsE, n = 0, s = u << 3, h = 0, E = e.length;
|
|
684
|
+
if (a == 0) {
|
|
685
|
+
for (; n < E;) i(t, s, n + (A = Math.min(65535, E - n)) == E ? 1 : 0), s = d.F._copyExact(e, n, A, t, s + 8), n += A;
|
|
686
|
+
return s >>> 3;
|
|
687
|
+
}
|
|
688
|
+
var S = _.lits, y = _.strt, D = _.prev, L = 0, P = 0, j = 0, m = 0, C = 0, c = 0;
|
|
689
|
+
for (E > 2 && (y[c = d.F._hash(e, 0)] = 0), n = 0; n < E; n++) {
|
|
690
|
+
if (C = c, n + 1 < E - 2) {
|
|
691
|
+
c = d.F._hash(e, n + 1);
|
|
692
|
+
var f = n + 1 & 32767;
|
|
693
|
+
D[f] = y[c], y[c] = f;
|
|
694
|
+
}
|
|
695
|
+
if (h <= n) {
|
|
696
|
+
(L > 14e3 || P > 26697) && E - n > 100 && (h < n && (S[L] = n - h, L += 2, h = n), s = d.F._writeBlock(n == E - 1 || h == E ? 1 : 0, S, L, m, e, j, n - j, t, s), L = P = m = 0, j = n);
|
|
697
|
+
var b = 0;
|
|
698
|
+
n < E - 2 && (b = d.F._bestMatch(e, n, D, C, Math.min(p[2], E - n), p[3]));
|
|
699
|
+
var A = b >>> 16, w = 65535 & b;
|
|
700
|
+
if (b != 0) {
|
|
701
|
+
w = 65535 & b;
|
|
702
|
+
var U = r(A = b >>> 16, _.of0);
|
|
703
|
+
_.lhst[257 + U]++;
|
|
704
|
+
var v = r(w, _.df0);
|
|
705
|
+
_.dhst[v]++, m += _.exb[U] + _.dxb[v], S[L] = A << 23 | n - h, S[L + 1] = w << 16 | U << 8 | v, L += 2, h = n + A;
|
|
706
|
+
} else _.lhst[e[n]]++;
|
|
707
|
+
P++;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
for (j == n && e.length != 0 || (h < n && (S[L] = n - h, L += 2, h = n), s = d.F._writeBlock(1, S, L, m, e, j, n - j, t, s), L = 0, P = 0, L = P = m = 0, j = n); (7 & s) != 0;) s++;
|
|
711
|
+
return s >>> 3;
|
|
712
|
+
}, d.F._bestMatch = function(e, t, u, a, p, _) {
|
|
713
|
+
var r = 32767 & t, i = u[r], n = r - i + 32768 & 32767;
|
|
714
|
+
if (i == r || a != d.F._hash(e, t - n)) return 0;
|
|
715
|
+
for (var s = 0, h = 0, E = Math.min(32767, t); n <= E && --_ != 0 && i != r;) {
|
|
716
|
+
if (s == 0 || e[t + s] == e[t + s - n]) {
|
|
717
|
+
var S = d.F._howLong(e, t, n);
|
|
718
|
+
if (S > s) {
|
|
719
|
+
if (h = n, (s = S) >= p) break;
|
|
720
|
+
n + 2 < S && (S = n + 2);
|
|
721
|
+
for (var y = 0, D = 0; D < S - 2; D++) {
|
|
722
|
+
var L = t - n + D + 32768 & 32767, P = L - u[L] + 32768 & 32767;
|
|
723
|
+
P > y && (y = P, i = L);
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
n += (r = i) - (i = u[r]) + 32768 & 32767;
|
|
728
|
+
}
|
|
729
|
+
return s << 16 | h;
|
|
730
|
+
}, d.F._howLong = function(e, t, u) {
|
|
731
|
+
if (e[t] != e[t - u] || e[t + 1] != e[t + 1 - u] || e[t + 2] != e[t + 2 - u]) return 0;
|
|
732
|
+
var a = t, p = Math.min(e.length, t + 258);
|
|
733
|
+
for (t += 3; t < p && e[t] == e[t - u];) t++;
|
|
734
|
+
return t - a;
|
|
735
|
+
}, d.F._hash = function(e, t) {
|
|
736
|
+
return (e[t] << 8 | e[t + 1]) + (e[t + 2] << 4) & 65535;
|
|
737
|
+
}, d.saved = 0, d.F._writeBlock = function(e, t, u, a, p, _, r, i, n) {
|
|
738
|
+
var s, h, E, S, y, D, L, P, j, m = d.F.U, C = d.F._putsF, c = d.F._putsE;
|
|
739
|
+
m.lhst[256]++, h = (s = d.F.getTrees())[0], E = s[1], S = s[2], y = s[3], D = s[4], L = s[5], P = s[6], j = s[7];
|
|
740
|
+
var f = 32 + ((n + 3 & 7) == 0 ? 0 : 8 - (n + 3 & 7)) + (r << 3), b = a + d.F.contSize(m.fltree, m.lhst) + d.F.contSize(m.fdtree, m.dhst), A = a + d.F.contSize(m.ltree, m.lhst) + d.F.contSize(m.dtree, m.dhst);
|
|
741
|
+
A += 14 + 3 * L + d.F.contSize(m.itree, m.ihst) + (2 * m.ihst[16] + 3 * m.ihst[17] + 7 * m.ihst[18]);
|
|
742
|
+
for (var w = 0; w < 286; w++) m.lhst[w] = 0;
|
|
743
|
+
for (w = 0; w < 30; w++) m.dhst[w] = 0;
|
|
744
|
+
for (w = 0; w < 19; w++) m.ihst[w] = 0;
|
|
745
|
+
var U = f < b && f < A ? 0 : b < A ? 1 : 2;
|
|
746
|
+
if (C(i, n, e), C(i, n + 1, U), n += 3, U == 0) {
|
|
747
|
+
for (; (7 & n) != 0;) n++;
|
|
748
|
+
n = d.F._copyExact(p, _, r, i, n);
|
|
749
|
+
} else {
|
|
750
|
+
var v, M;
|
|
751
|
+
if (U == 1 && (v = m.fltree, M = m.fdtree), U == 2) {
|
|
752
|
+
d.F.makeCodes(m.ltree, h), d.F.revCodes(m.ltree, h), d.F.makeCodes(m.dtree, E), d.F.revCodes(m.dtree, E), d.F.makeCodes(m.itree, S), d.F.revCodes(m.itree, S), v = m.ltree, M = m.dtree, c(i, n, y - 257), c(i, n += 5, D - 1), c(i, n += 5, L - 4), n += 4;
|
|
753
|
+
for (var l = 0; l < L; l++) c(i, n + 3 * l, m.itree[1 + (m.ordr[l] << 1)]);
|
|
754
|
+
n += 3 * L, n = d.F._codeTiny(P, m.itree, i, n), n = d.F._codeTiny(j, m.itree, i, n);
|
|
755
|
+
}
|
|
756
|
+
for (var o = _, O = 0; O < u; O += 2) {
|
|
757
|
+
for (var F = t[O], B = F >>> 23, X = o + (8388607 & F); o < X;) n = d.F._writeLit(p[o++], v, i, n);
|
|
758
|
+
if (B != 0) {
|
|
759
|
+
var Q = t[O + 1], q = Q >> 16, N = Q >> 8 & 255, x = 255 & Q;
|
|
760
|
+
c(i, n = d.F._writeLit(257 + N, v, i, n), B - m.of0[N]), n += m.exb[N], C(i, n = d.F._writeLit(x, M, i, n), q - m.df0[x]), n += m.dxb[x], o += B;
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
n = d.F._writeLit(256, v, i, n);
|
|
764
|
+
}
|
|
765
|
+
return n;
|
|
766
|
+
}, d.F._copyExact = function(e, t, u, a, p) {
|
|
767
|
+
var _ = p >>> 3;
|
|
768
|
+
return a[_] = u, a[_ + 1] = u >>> 8, a[_ + 2] = 255 - a[_], a[_ + 3] = 255 - a[_ + 1], _ += 4, a.set(new Uint8Array(e.buffer, t, u), _), p + (u + 4 << 3);
|
|
769
|
+
}, d.F.getTrees = function() {
|
|
770
|
+
for (var e = d.F.U, t = d.F._hufTree(e.lhst, e.ltree, 15), u = d.F._hufTree(e.dhst, e.dtree, 15), a = [], p = d.F._lenCodes(e.ltree, a), _ = [], r = d.F._lenCodes(e.dtree, _), i = 0; i < a.length; i += 2) e.ihst[a[i]]++;
|
|
771
|
+
for (i = 0; i < _.length; i += 2) e.ihst[_[i]]++;
|
|
772
|
+
for (var n = d.F._hufTree(e.ihst, e.itree, 7), s = 19; s > 4 && e.itree[1 + (e.ordr[s - 1] << 1)] == 0;) s--;
|
|
773
|
+
return [
|
|
774
|
+
t,
|
|
775
|
+
u,
|
|
776
|
+
n,
|
|
777
|
+
p,
|
|
778
|
+
r,
|
|
779
|
+
s,
|
|
780
|
+
a,
|
|
781
|
+
_
|
|
782
|
+
];
|
|
783
|
+
}, d.F.getSecond = function(e) {
|
|
784
|
+
for (var t = [], u = 0; u < e.length; u += 2) t.push(e[u + 1]);
|
|
785
|
+
return t;
|
|
786
|
+
}, d.F.nonZero = function(e) {
|
|
787
|
+
for (var t = "", u = 0; u < e.length; u += 2) e[u + 1] != 0 && (t += (u >> 1) + ",");
|
|
788
|
+
return t;
|
|
789
|
+
}, d.F.contSize = function(e, t) {
|
|
790
|
+
for (var u = 0, a = 0; a < t.length; a++) u += t[a] * e[1 + (a << 1)];
|
|
791
|
+
return u;
|
|
792
|
+
}, d.F._codeTiny = function(e, t, u, a) {
|
|
793
|
+
for (var p = 0; p < e.length; p += 2) {
|
|
794
|
+
var _ = e[p], r = e[p + 1];
|
|
795
|
+
a = d.F._writeLit(_, t, u, a);
|
|
796
|
+
var i = _ == 16 ? 2 : _ == 17 ? 3 : 7;
|
|
797
|
+
_ > 15 && (d.F._putsE(u, a, r, i), a += i);
|
|
798
|
+
}
|
|
799
|
+
return a;
|
|
800
|
+
}, d.F._lenCodes = function(e, t) {
|
|
801
|
+
for (var u = e.length; u != 2 && e[u - 1] == 0;) u -= 2;
|
|
802
|
+
for (var a = 0; a < u; a += 2) {
|
|
803
|
+
var p = e[a + 1], _ = a + 3 < u ? e[a + 3] : -1, r = a + 5 < u ? e[a + 5] : -1, i = a == 0 ? -1 : e[a - 1];
|
|
804
|
+
if (p == 0 && _ == p && r == p) {
|
|
805
|
+
for (var n = a + 5; n + 2 < u && e[n + 2] == p;) n += 2;
|
|
806
|
+
(s = Math.min(n + 1 - a >>> 1, 138)) < 11 ? t.push(17, s - 3) : t.push(18, s - 11), a += 2 * s - 2;
|
|
807
|
+
} else if (p == i && _ == p && r == p) {
|
|
808
|
+
for (n = a + 5; n + 2 < u && e[n + 2] == p;) n += 2;
|
|
809
|
+
var s = Math.min(n + 1 - a >>> 1, 6);
|
|
810
|
+
t.push(16, s - 3), a += 2 * s - 2;
|
|
811
|
+
} else t.push(p, 0);
|
|
812
|
+
}
|
|
813
|
+
return u >>> 1;
|
|
814
|
+
}, d.F._hufTree = function(e, t, u) {
|
|
815
|
+
var a = [], p = e.length, _ = t.length, r = 0;
|
|
816
|
+
for (r = 0; r < _; r += 2) t[r] = 0, t[r + 1] = 0;
|
|
817
|
+
for (r = 0; r < p; r++) e[r] != 0 && a.push({
|
|
818
|
+
lit: r,
|
|
819
|
+
f: e[r]
|
|
820
|
+
});
|
|
821
|
+
var i = a.length, n = a.slice(0);
|
|
822
|
+
if (i == 0) return 0;
|
|
823
|
+
if (i == 1) {
|
|
824
|
+
var s = a[0].lit;
|
|
825
|
+
return n = s == 0 ? 1 : 0, t[1 + (s << 1)] = 1, t[1 + (n << 1)] = 1, 1;
|
|
826
|
+
}
|
|
827
|
+
a.sort((function(P, j) {
|
|
828
|
+
return P.f - j.f;
|
|
829
|
+
}));
|
|
830
|
+
var h = a[0], E = a[1], S = 0, y = 1, D = 2;
|
|
831
|
+
for (a[0] = {
|
|
832
|
+
lit: -1,
|
|
833
|
+
f: h.f + E.f,
|
|
834
|
+
l: h,
|
|
835
|
+
r: E,
|
|
836
|
+
d: 0
|
|
837
|
+
}; y != i - 1;) h = S != y && (D == i || a[S].f < a[D].f) ? a[S++] : a[D++], E = S != y && (D == i || a[S].f < a[D].f) ? a[S++] : a[D++], a[y++] = {
|
|
838
|
+
lit: -1,
|
|
839
|
+
f: h.f + E.f,
|
|
840
|
+
l: h,
|
|
841
|
+
r: E
|
|
842
|
+
};
|
|
843
|
+
var L = d.F.setDepth(a[y - 1], 0);
|
|
844
|
+
for (L > u && (d.F.restrictDepth(n, u, L), L = u), r = 0; r < i; r++) t[1 + (n[r].lit << 1)] = n[r].d;
|
|
845
|
+
return L;
|
|
846
|
+
}, d.F.setDepth = function(e, t) {
|
|
847
|
+
return e.lit != -1 ? (e.d = t, t) : Math.max(d.F.setDepth(e.l, t + 1), d.F.setDepth(e.r, t + 1));
|
|
848
|
+
}, d.F.restrictDepth = function(e, t, u) {
|
|
849
|
+
var a = 0, p = 1 << u - t, _ = 0;
|
|
850
|
+
for (e.sort((function(i, n) {
|
|
851
|
+
return n.d == i.d ? i.f - n.f : n.d - i.d;
|
|
852
|
+
})), a = 0; a < e.length && e[a].d > t; a++) {
|
|
853
|
+
var r = e[a].d;
|
|
854
|
+
e[a].d = t, _ += p - (1 << u - r);
|
|
855
|
+
}
|
|
856
|
+
for (_ >>>= u - t; _ > 0;) (r = e[a].d) < t ? (e[a].d++, _ -= 1 << t - r - 1) : a++;
|
|
857
|
+
for (; a >= 0; a--) e[a].d == t && _ < 0 && (e[a].d--, _++);
|
|
858
|
+
}, d.F._goodIndex = function(e, t) {
|
|
859
|
+
var u = 0;
|
|
860
|
+
return t[16 | u] <= e && (u |= 16), t[8 | u] <= e && (u |= 8), t[4 | u] <= e && (u |= 4), t[2 | u] <= e && (u |= 2), t[1 | u] <= e && (u |= 1), u;
|
|
861
|
+
}, d.F._writeLit = function(e, t, u, a) {
|
|
862
|
+
return d.F._putsF(u, a, t[e << 1]), a + t[1 + (e << 1)];
|
|
863
|
+
}, d.F.inflate = function(e, t) {
|
|
864
|
+
var u = Uint8Array;
|
|
865
|
+
if (e[0] == 3 && e[1] == 0) return t || new u(0);
|
|
866
|
+
var a = d.F, p = a._bitsF, _ = a._bitsE, r = a._decodeTiny, i = a.makeCodes, n = a.codes2map, s = a._get17, h = a.U, E = t == null;
|
|
867
|
+
E && (t = new u(e.length >>> 2 << 3));
|
|
868
|
+
for (var S, y, D = 0, L = 0, P = 0, j = 0, m = 0, C = 0, c = 0, f = 0, b = 0; D == 0;) if (D = p(e, b, 1), L = p(e, b + 1, 2), b += 3, L != 0) {
|
|
869
|
+
if (E && (t = d.F._check(t, f + (1 << 17))), L == 1 && (S = h.flmap, y = h.fdmap, C = 511, c = 31), L == 2) {
|
|
870
|
+
P = _(e, b, 5) + 257, j = _(e, b + 5, 5) + 1, m = _(e, b + 10, 4) + 4, b += 14;
|
|
871
|
+
for (var A = 0; A < 38; A += 2) h.itree[A] = 0, h.itree[A + 1] = 0;
|
|
872
|
+
var w = 1;
|
|
873
|
+
for (A = 0; A < m; A++) {
|
|
874
|
+
var U = _(e, b + 3 * A, 3);
|
|
875
|
+
h.itree[1 + (h.ordr[A] << 1)] = U, U > w && (w = U);
|
|
876
|
+
}
|
|
877
|
+
b += 3 * m, i(h.itree, w), n(h.itree, w, h.imap), S = h.lmap, y = h.dmap, b = r(h.imap, (1 << w) - 1, P + j, e, b, h.ttree);
|
|
878
|
+
var v = a._copyOut(h.ttree, 0, P, h.ltree);
|
|
879
|
+
C = (1 << v) - 1;
|
|
880
|
+
var M = a._copyOut(h.ttree, P, j, h.dtree);
|
|
881
|
+
c = (1 << M) - 1, i(h.ltree, v), n(h.ltree, v, S), i(h.dtree, M), n(h.dtree, M, y);
|
|
882
|
+
}
|
|
883
|
+
for (;;) {
|
|
884
|
+
var l = S[s(e, b) & C];
|
|
885
|
+
b += 15 & l;
|
|
886
|
+
var o = l >>> 4;
|
|
887
|
+
if (!(o >>> 8)) t[f++] = o;
|
|
888
|
+
else {
|
|
889
|
+
if (o == 256) break;
|
|
890
|
+
var O = f + o - 254;
|
|
891
|
+
if (o > 264) {
|
|
892
|
+
var F = h.ldef[o - 257];
|
|
893
|
+
O = f + (F >>> 3) + _(e, b, 7 & F), b += 7 & F;
|
|
894
|
+
}
|
|
895
|
+
var B = y[s(e, b) & c];
|
|
896
|
+
b += 15 & B;
|
|
897
|
+
var X = B >>> 4, Q = h.ddef[X], q = (Q >>> 4) + p(e, b, 15 & Q);
|
|
898
|
+
for (b += 15 & Q, E && (t = d.F._check(t, f + (1 << 17))); f < O;) t[f] = t[f++ - q], t[f] = t[f++ - q], t[f] = t[f++ - q], t[f] = t[f++ - q];
|
|
899
|
+
f = O;
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
} else {
|
|
903
|
+
7 & b && (b += 8 - (7 & b));
|
|
904
|
+
var N = 4 + (b >>> 3), x = e[N - 4] | e[N - 3] << 8;
|
|
905
|
+
E && (t = d.F._check(t, f + x)), t.set(new u(e.buffer, e.byteOffset + N, x), f), b = N + x << 3, f += x;
|
|
906
|
+
}
|
|
907
|
+
return t.length == f ? t : t.slice(0, f);
|
|
908
|
+
}, d.F._check = function(e, t) {
|
|
909
|
+
var u = e.length;
|
|
910
|
+
if (t <= u) return e;
|
|
911
|
+
var a = new Uint8Array(Math.max(u << 1, t));
|
|
912
|
+
return a.set(e, 0), a;
|
|
913
|
+
}, d.F._decodeTiny = function(e, t, u, a, p, _) {
|
|
914
|
+
for (var r = d.F._bitsE, i = d.F._get17, n = 0; n < u;) {
|
|
915
|
+
var s = e[i(a, p) & t];
|
|
916
|
+
p += 15 & s;
|
|
917
|
+
var h = s >>> 4;
|
|
918
|
+
if (h <= 15) _[n] = h, n++;
|
|
919
|
+
else {
|
|
920
|
+
var E = 0, S = 0;
|
|
921
|
+
h == 16 ? (S = 3 + r(a, p, 2), p += 2, E = _[n - 1]) : h == 17 ? (S = 3 + r(a, p, 3), p += 3) : h == 18 && (S = 11 + r(a, p, 7), p += 7);
|
|
922
|
+
for (var y = n + S; n < y;) _[n] = E, n++;
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
return p;
|
|
926
|
+
}, d.F._copyOut = function(e, t, u, a) {
|
|
927
|
+
for (var p = 0, _ = 0, r = a.length >>> 1; _ < u;) {
|
|
928
|
+
var i = e[_ + t];
|
|
929
|
+
a[_ << 1] = 0, a[1 + (_ << 1)] = i, i > p && (p = i), _++;
|
|
930
|
+
}
|
|
931
|
+
for (; _ < r;) a[_ << 1] = 0, a[1 + (_ << 1)] = 0, _++;
|
|
932
|
+
return p;
|
|
933
|
+
}, d.F.makeCodes = function(e, t) {
|
|
934
|
+
for (var u, a, p, _, r = d.F.U, i = e.length, n = r.bl_count, s = 0; s <= t; s++) n[s] = 0;
|
|
935
|
+
for (s = 1; s < i; s += 2) n[e[s]]++;
|
|
936
|
+
var h = r.next_code;
|
|
937
|
+
for (u = 0, n[0] = 0, a = 1; a <= t; a++) u = u + n[a - 1] << 1, h[a] = u;
|
|
938
|
+
for (p = 0; p < i; p += 2) (_ = e[p + 1]) != 0 && (e[p] = h[_], h[_]++);
|
|
939
|
+
}, d.F.codes2map = function(e, t, u) {
|
|
940
|
+
for (var a = e.length, p = d.F.U.rev15, _ = 0; _ < a; _ += 2) if (e[_ + 1] != 0) for (var r = _ >> 1, i = e[_ + 1], n = r << 4 | i, s = t - i, h = e[_] << s, E = h + (1 << s); h != E;) u[p[h] >>> 15 - t] = n, h++;
|
|
941
|
+
}, d.F.revCodes = function(e, t) {
|
|
942
|
+
for (var u = d.F.U.rev15, a = 15 - t, p = 0; p < e.length; p += 2) e[p] = u[e[p] << t - e[p + 1]] >>> a;
|
|
943
|
+
}, d.F._putsE = function(e, t, u) {
|
|
944
|
+
u <<= 7 & t;
|
|
945
|
+
var a = t >>> 3;
|
|
946
|
+
e[a] |= u, e[a + 1] |= u >>> 8;
|
|
947
|
+
}, d.F._putsF = function(e, t, u) {
|
|
948
|
+
u <<= 7 & t;
|
|
949
|
+
var a = t >>> 3;
|
|
950
|
+
e[a] |= u, e[a + 1] |= u >>> 8, e[a + 2] |= u >>> 16;
|
|
951
|
+
}, d.F._bitsE = function(e, t, u) {
|
|
952
|
+
return (e[t >>> 3] | e[1 + (t >>> 3)] << 8) >>> (7 & t) & (1 << u) - 1;
|
|
953
|
+
}, d.F._bitsF = function(e, t, u) {
|
|
954
|
+
return (e[t >>> 3] | e[1 + (t >>> 3)] << 8 | e[2 + (t >>> 3)] << 16) >>> (7 & t) & (1 << u) - 1;
|
|
955
|
+
}, d.F._get17 = function(e, t) {
|
|
956
|
+
return (e[t >>> 3] | e[1 + (t >>> 3)] << 8 | e[2 + (t >>> 3)] << 16) >>> (7 & t);
|
|
957
|
+
}, d.F._get25 = function(e, t) {
|
|
958
|
+
return (e[t >>> 3] | e[1 + (t >>> 3)] << 8 | e[2 + (t >>> 3)] << 16 | e[3 + (t >>> 3)] << 24) >>> (7 & t);
|
|
959
|
+
}, d.F.U = (R = Uint16Array, H = Uint32Array, {
|
|
960
|
+
next_code: new R(16),
|
|
961
|
+
bl_count: new R(16),
|
|
962
|
+
ordr: [
|
|
963
|
+
16,
|
|
964
|
+
17,
|
|
965
|
+
18,
|
|
966
|
+
0,
|
|
967
|
+
8,
|
|
968
|
+
7,
|
|
969
|
+
9,
|
|
970
|
+
6,
|
|
971
|
+
10,
|
|
972
|
+
5,
|
|
973
|
+
11,
|
|
974
|
+
4,
|
|
975
|
+
12,
|
|
976
|
+
3,
|
|
977
|
+
13,
|
|
978
|
+
2,
|
|
979
|
+
14,
|
|
980
|
+
1,
|
|
981
|
+
15
|
|
982
|
+
],
|
|
983
|
+
of0: [
|
|
984
|
+
3,
|
|
985
|
+
4,
|
|
986
|
+
5,
|
|
987
|
+
6,
|
|
988
|
+
7,
|
|
989
|
+
8,
|
|
990
|
+
9,
|
|
991
|
+
10,
|
|
992
|
+
11,
|
|
993
|
+
13,
|
|
994
|
+
15,
|
|
995
|
+
17,
|
|
996
|
+
19,
|
|
997
|
+
23,
|
|
998
|
+
27,
|
|
999
|
+
31,
|
|
1000
|
+
35,
|
|
1001
|
+
43,
|
|
1002
|
+
51,
|
|
1003
|
+
59,
|
|
1004
|
+
67,
|
|
1005
|
+
83,
|
|
1006
|
+
99,
|
|
1007
|
+
115,
|
|
1008
|
+
131,
|
|
1009
|
+
163,
|
|
1010
|
+
195,
|
|
1011
|
+
227,
|
|
1012
|
+
258,
|
|
1013
|
+
999,
|
|
1014
|
+
999,
|
|
1015
|
+
999
|
|
1016
|
+
],
|
|
1017
|
+
exb: [
|
|
1018
|
+
0,
|
|
1019
|
+
0,
|
|
1020
|
+
0,
|
|
1021
|
+
0,
|
|
1022
|
+
0,
|
|
1023
|
+
0,
|
|
1024
|
+
0,
|
|
1025
|
+
0,
|
|
1026
|
+
1,
|
|
1027
|
+
1,
|
|
1028
|
+
1,
|
|
1029
|
+
1,
|
|
1030
|
+
2,
|
|
1031
|
+
2,
|
|
1032
|
+
2,
|
|
1033
|
+
2,
|
|
1034
|
+
3,
|
|
1035
|
+
3,
|
|
1036
|
+
3,
|
|
1037
|
+
3,
|
|
1038
|
+
4,
|
|
1039
|
+
4,
|
|
1040
|
+
4,
|
|
1041
|
+
4,
|
|
1042
|
+
5,
|
|
1043
|
+
5,
|
|
1044
|
+
5,
|
|
1045
|
+
5,
|
|
1046
|
+
0,
|
|
1047
|
+
0,
|
|
1048
|
+
0,
|
|
1049
|
+
0
|
|
1050
|
+
],
|
|
1051
|
+
ldef: new R(32),
|
|
1052
|
+
df0: [
|
|
1053
|
+
1,
|
|
1054
|
+
2,
|
|
1055
|
+
3,
|
|
1056
|
+
4,
|
|
1057
|
+
5,
|
|
1058
|
+
7,
|
|
1059
|
+
9,
|
|
1060
|
+
13,
|
|
1061
|
+
17,
|
|
1062
|
+
25,
|
|
1063
|
+
33,
|
|
1064
|
+
49,
|
|
1065
|
+
65,
|
|
1066
|
+
97,
|
|
1067
|
+
129,
|
|
1068
|
+
193,
|
|
1069
|
+
257,
|
|
1070
|
+
385,
|
|
1071
|
+
513,
|
|
1072
|
+
769,
|
|
1073
|
+
1025,
|
|
1074
|
+
1537,
|
|
1075
|
+
2049,
|
|
1076
|
+
3073,
|
|
1077
|
+
4097,
|
|
1078
|
+
6145,
|
|
1079
|
+
8193,
|
|
1080
|
+
12289,
|
|
1081
|
+
16385,
|
|
1082
|
+
24577,
|
|
1083
|
+
65535,
|
|
1084
|
+
65535
|
|
1085
|
+
],
|
|
1086
|
+
dxb: [
|
|
1087
|
+
0,
|
|
1088
|
+
0,
|
|
1089
|
+
0,
|
|
1090
|
+
0,
|
|
1091
|
+
1,
|
|
1092
|
+
1,
|
|
1093
|
+
2,
|
|
1094
|
+
2,
|
|
1095
|
+
3,
|
|
1096
|
+
3,
|
|
1097
|
+
4,
|
|
1098
|
+
4,
|
|
1099
|
+
5,
|
|
1100
|
+
5,
|
|
1101
|
+
6,
|
|
1102
|
+
6,
|
|
1103
|
+
7,
|
|
1104
|
+
7,
|
|
1105
|
+
8,
|
|
1106
|
+
8,
|
|
1107
|
+
9,
|
|
1108
|
+
9,
|
|
1109
|
+
10,
|
|
1110
|
+
10,
|
|
1111
|
+
11,
|
|
1112
|
+
11,
|
|
1113
|
+
12,
|
|
1114
|
+
12,
|
|
1115
|
+
13,
|
|
1116
|
+
13,
|
|
1117
|
+
0,
|
|
1118
|
+
0
|
|
1119
|
+
],
|
|
1120
|
+
ddef: new H(32),
|
|
1121
|
+
flmap: new R(512),
|
|
1122
|
+
fltree: [],
|
|
1123
|
+
fdmap: new R(32),
|
|
1124
|
+
fdtree: [],
|
|
1125
|
+
lmap: new R(32768),
|
|
1126
|
+
ltree: [],
|
|
1127
|
+
ttree: [],
|
|
1128
|
+
dmap: new R(32768),
|
|
1129
|
+
dtree: [],
|
|
1130
|
+
imap: new R(512),
|
|
1131
|
+
itree: [],
|
|
1132
|
+
rev15: new R(32768),
|
|
1133
|
+
lhst: new H(286),
|
|
1134
|
+
dhst: new H(30),
|
|
1135
|
+
ihst: new H(19),
|
|
1136
|
+
lits: new H(15e3),
|
|
1137
|
+
strt: new R(65536),
|
|
1138
|
+
prev: new R(32768)
|
|
1139
|
+
}), (function() {
|
|
1140
|
+
for (var e = d.F.U, t = 0; t < 32768; t++) {
|
|
1141
|
+
var u = t;
|
|
1142
|
+
u = (4278255360 & (u = (4042322160 & (u = (3435973836 & (u = (2863311530 & u) >>> 1 | (1431655765 & u) << 1)) >>> 2 | (858993459 & u) << 2)) >>> 4 | (252645135 & u) << 4)) >>> 8 | (16711935 & u) << 8, e.rev15[t] = (u >>> 16 | u << 16) >>> 17;
|
|
1143
|
+
}
|
|
1144
|
+
function a(p, _, r) {
|
|
1145
|
+
for (; _-- != 0;) p.push(0, r);
|
|
1146
|
+
}
|
|
1147
|
+
for (t = 0; t < 32; t++) e.ldef[t] = e.of0[t] << 3 | e.exb[t], e.ddef[t] = e.df0[t] << 4 | e.dxb[t];
|
|
1148
|
+
a(e.fltree, 144, 8), a(e.fltree, 112, 9), a(e.fltree, 24, 7), a(e.fltree, 8, 8), d.F.makeCodes(e.fltree, 9), d.F.codes2map(e.fltree, 9, e.flmap), d.F.revCodes(e.fltree, 9), a(e.fdtree, 32, 5), d.F.makeCodes(e.fdtree, 5), d.F.codes2map(e.fdtree, 5, e.fdmap), d.F.revCodes(e.fdtree, 5), a(e.itree, 19, 0), a(e.ltree, 286, 0), a(e.dtree, 30, 0), a(e.ttree, 320, 0);
|
|
1149
|
+
})();
|
|
1150
|
+
})({
|
|
1151
|
+
get exports() {
|
|
1152
|
+
return W;
|
|
1153
|
+
},
|
|
1154
|
+
set exports(T) {
|
|
1155
|
+
W = T;
|
|
1156
|
+
}
|
|
1157
|
+
});
|
|
1158
|
+
var V = k({
|
|
1159
|
+
__proto__: null,
|
|
1160
|
+
default: W
|
|
1161
|
+
}, [W]);
|
|
1162
|
+
const Z = (function() {
|
|
1163
|
+
var T = {
|
|
1164
|
+
nextZero(r, i) {
|
|
1165
|
+
for (; r[i] != 0;) i++;
|
|
1166
|
+
return i;
|
|
1167
|
+
},
|
|
1168
|
+
readUshort: (r, i) => r[i] << 8 | r[i + 1],
|
|
1169
|
+
writeUshort(r, i, n) {
|
|
1170
|
+
r[i] = n >> 8 & 255, r[i + 1] = 255 & n;
|
|
1171
|
+
},
|
|
1172
|
+
readUint: (r, i) => 16777216 * r[i] + (r[i + 1] << 16 | r[i + 2] << 8 | r[i + 3]),
|
|
1173
|
+
writeUint(r, i, n) {
|
|
1174
|
+
r[i] = n >> 24 & 255, r[i + 1] = n >> 16 & 255, r[i + 2] = n >> 8 & 255, r[i + 3] = 255 & n;
|
|
1175
|
+
},
|
|
1176
|
+
readASCII(r, i, n) {
|
|
1177
|
+
let s = "";
|
|
1178
|
+
for (let h = 0; h < n; h++) s += String.fromCharCode(r[i + h]);
|
|
1179
|
+
return s;
|
|
1180
|
+
},
|
|
1181
|
+
writeASCII(r, i, n) {
|
|
1182
|
+
for (let s = 0; s < n.length; s++) r[i + s] = n.charCodeAt(s);
|
|
1183
|
+
},
|
|
1184
|
+
readBytes(r, i, n) {
|
|
1185
|
+
const s = [];
|
|
1186
|
+
for (let h = 0; h < n; h++) s.push(r[i + h]);
|
|
1187
|
+
return s;
|
|
1188
|
+
},
|
|
1189
|
+
pad: (r) => r.length < 2 ? `0${r}` : r,
|
|
1190
|
+
readUTF8(r, i, n) {
|
|
1191
|
+
let s, h = "";
|
|
1192
|
+
for (let E = 0; E < n; E++) h += `%${T.pad(r[i + E].toString(16))}`;
|
|
1193
|
+
try {
|
|
1194
|
+
s = decodeURIComponent(h);
|
|
1195
|
+
} catch {
|
|
1196
|
+
return T.readASCII(r, i, n);
|
|
1197
|
+
}
|
|
1198
|
+
return s;
|
|
1199
|
+
}
|
|
1200
|
+
};
|
|
1201
|
+
function R(r, i, n, s) {
|
|
1202
|
+
const h = i * n, E = t(s), S = Math.ceil(i * E / 8), y = new Uint8Array(4 * h), D = new Uint32Array(y.buffer), { ctype: L } = s, { depth: P } = s, j = T.readUshort;
|
|
1203
|
+
if (L == 6) {
|
|
1204
|
+
const F = h << 2;
|
|
1205
|
+
if (P == 8) for (var m = 0; m < F; m += 4) y[m] = r[m], y[m + 1] = r[m + 1], y[m + 2] = r[m + 2], y[m + 3] = r[m + 3];
|
|
1206
|
+
if (P == 16) for (m = 0; m < F; m++) y[m] = r[m << 1];
|
|
1207
|
+
} else if (L == 2) {
|
|
1208
|
+
const F = s.tabs.tRNS;
|
|
1209
|
+
if (F == null) {
|
|
1210
|
+
if (P == 8) for (m = 0; m < h; m++) {
|
|
1211
|
+
var C = 3 * m;
|
|
1212
|
+
D[m] = 255 << 24 | r[C + 2] << 16 | r[C + 1] << 8 | r[C];
|
|
1213
|
+
}
|
|
1214
|
+
if (P == 16) for (m = 0; m < h; m++) C = 6 * m, D[m] = 255 << 24 | r[C + 4] << 16 | r[C + 2] << 8 | r[C];
|
|
1215
|
+
} else {
|
|
1216
|
+
var c = F[0];
|
|
1217
|
+
const B = F[1], X = F[2];
|
|
1218
|
+
if (P == 8) for (m = 0; m < h; m++) {
|
|
1219
|
+
var f = m << 2;
|
|
1220
|
+
C = 3 * m, D[m] = 255 << 24 | r[C + 2] << 16 | r[C + 1] << 8 | r[C], r[C] == c && r[C + 1] == B && r[C + 2] == X && (y[f + 3] = 0);
|
|
1221
|
+
}
|
|
1222
|
+
if (P == 16) for (m = 0; m < h; m++) f = m << 2, C = 6 * m, D[m] = 255 << 24 | r[C + 4] << 16 | r[C + 2] << 8 | r[C], j(r, C) == c && j(r, C + 2) == B && j(r, C + 4) == X && (y[f + 3] = 0);
|
|
1223
|
+
}
|
|
1224
|
+
} else if (L == 3) {
|
|
1225
|
+
const F = s.tabs.PLTE, B = s.tabs.tRNS, X = B ? B.length : 0;
|
|
1226
|
+
if (P == 1) for (var b = 0; b < n; b++) {
|
|
1227
|
+
var A = b * S, w = b * i;
|
|
1228
|
+
for (m = 0; m < i; m++) {
|
|
1229
|
+
f = w + m << 2;
|
|
1230
|
+
var U = 3 * (v = r[A + (m >> 3)] >> 7 - ((7 & m) << 0) & 1);
|
|
1231
|
+
y[f] = F[U], y[f + 1] = F[U + 1], y[f + 2] = F[U + 2], y[f + 3] = v < X ? B[v] : 255;
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
if (P == 2) for (b = 0; b < n; b++) for (A = b * S, w = b * i, m = 0; m < i; m++) f = w + m << 2, U = 3 * (v = r[A + (m >> 2)] >> 6 - ((3 & m) << 1) & 3), y[f] = F[U], y[f + 1] = F[U + 1], y[f + 2] = F[U + 2], y[f + 3] = v < X ? B[v] : 255;
|
|
1235
|
+
if (P == 4) for (b = 0; b < n; b++) for (A = b * S, w = b * i, m = 0; m < i; m++) f = w + m << 2, U = 3 * (v = r[A + (m >> 1)] >> 4 - ((1 & m) << 2) & 15), y[f] = F[U], y[f + 1] = F[U + 1], y[f + 2] = F[U + 2], y[f + 3] = v < X ? B[v] : 255;
|
|
1236
|
+
if (P == 8) for (m = 0; m < h; m++) {
|
|
1237
|
+
var v;
|
|
1238
|
+
f = m << 2, U = 3 * (v = r[m]), y[f] = F[U], y[f + 1] = F[U + 1], y[f + 2] = F[U + 2], y[f + 3] = v < X ? B[v] : 255;
|
|
1239
|
+
}
|
|
1240
|
+
} else if (L == 4) {
|
|
1241
|
+
if (P == 8) for (m = 0; m < h; m++) {
|
|
1242
|
+
f = m << 2;
|
|
1243
|
+
var M = r[l = m << 1];
|
|
1244
|
+
y[f] = M, y[f + 1] = M, y[f + 2] = M, y[f + 3] = r[l + 1];
|
|
1245
|
+
}
|
|
1246
|
+
if (P == 16) for (m = 0; m < h; m++) {
|
|
1247
|
+
var l;
|
|
1248
|
+
f = m << 2, M = r[l = m << 2], y[f] = M, y[f + 1] = M, y[f + 2] = M, y[f + 3] = r[l + 2];
|
|
1249
|
+
}
|
|
1250
|
+
} else if (L == 0) for (c = s.tabs.tRNS ? s.tabs.tRNS : -1, b = 0; b < n; b++) {
|
|
1251
|
+
const F = b * S, B = b * i;
|
|
1252
|
+
if (P == 1) for (var o = 0; o < i; o++) {
|
|
1253
|
+
var O = (M = 255 * (r[F + (o >>> 3)] >>> 7 - (7 & o) & 1)) == 255 * c ? 0 : 255;
|
|
1254
|
+
D[B + o] = O << 24 | M << 16 | M << 8 | M;
|
|
1255
|
+
}
|
|
1256
|
+
else if (P == 2) for (o = 0; o < i; o++) O = (M = 85 * (r[F + (o >>> 2)] >>> 6 - ((3 & o) << 1) & 3)) == 85 * c ? 0 : 255, D[B + o] = O << 24 | M << 16 | M << 8 | M;
|
|
1257
|
+
else if (P == 4) for (o = 0; o < i; o++) O = (M = 17 * (r[F + (o >>> 1)] >>> 4 - ((1 & o) << 2) & 15)) == 17 * c ? 0 : 255, D[B + o] = O << 24 | M << 16 | M << 8 | M;
|
|
1258
|
+
else if (P == 8) for (o = 0; o < i; o++) O = (M = r[F + o]) == c ? 0 : 255, D[B + o] = O << 24 | M << 16 | M << 8 | M;
|
|
1259
|
+
else if (P == 16) for (o = 0; o < i; o++) M = r[F + (o << 1)], O = j(r, F + (o << 1)) == c ? 0 : 255, D[B + o] = O << 24 | M << 16 | M << 8 | M;
|
|
1260
|
+
}
|
|
1261
|
+
return y;
|
|
1262
|
+
}
|
|
1263
|
+
function H(r, i, n, s) {
|
|
1264
|
+
const h = t(r), E = Math.ceil(n * h / 8), S = new Uint8Array((E + 1 + r.interlace) * s);
|
|
1265
|
+
return i = r.tabs.CgBI ? e(i, S) : d(i, S), r.interlace == 0 ? i = u(i, r, 0, n, s) : r.interlace == 1 && (i = (function(D, L) {
|
|
1266
|
+
const P = L.width, j = L.height, m = t(L), C = m >> 3, c = Math.ceil(P * m / 8), f = new Uint8Array(j * c);
|
|
1267
|
+
let b = 0;
|
|
1268
|
+
const A = [
|
|
1269
|
+
0,
|
|
1270
|
+
0,
|
|
1271
|
+
4,
|
|
1272
|
+
0,
|
|
1273
|
+
2,
|
|
1274
|
+
0,
|
|
1275
|
+
1
|
|
1276
|
+
], w = [
|
|
1277
|
+
0,
|
|
1278
|
+
4,
|
|
1279
|
+
0,
|
|
1280
|
+
2,
|
|
1281
|
+
0,
|
|
1282
|
+
1,
|
|
1283
|
+
0
|
|
1284
|
+
], U = [
|
|
1285
|
+
8,
|
|
1286
|
+
8,
|
|
1287
|
+
8,
|
|
1288
|
+
4,
|
|
1289
|
+
4,
|
|
1290
|
+
2,
|
|
1291
|
+
2
|
|
1292
|
+
], v = [
|
|
1293
|
+
8,
|
|
1294
|
+
8,
|
|
1295
|
+
4,
|
|
1296
|
+
4,
|
|
1297
|
+
2,
|
|
1298
|
+
2,
|
|
1299
|
+
1
|
|
1300
|
+
];
|
|
1301
|
+
let M = 0;
|
|
1302
|
+
for (; M < 7;) {
|
|
1303
|
+
const o = U[M], O = v[M];
|
|
1304
|
+
let F = 0, B = 0, X = A[M];
|
|
1305
|
+
for (; X < j;) X += o, B++;
|
|
1306
|
+
let Q = w[M];
|
|
1307
|
+
for (; Q < P;) Q += O, F++;
|
|
1308
|
+
const q = Math.ceil(F * m / 8);
|
|
1309
|
+
u(D, L, b, F, B);
|
|
1310
|
+
let N = 0, x = A[M];
|
|
1311
|
+
for (; x < j;) {
|
|
1312
|
+
let K = w[M], se = b + N * q << 3;
|
|
1313
|
+
for (; K < P;) {
|
|
1314
|
+
var l;
|
|
1315
|
+
if (m == 1 && (l = (l = D[se >> 3]) >> 7 - (7 & se) & 1, f[x * c + (K >> 3)] |= l << 7 - ((7 & K) << 0)), m == 2 && (l = (l = D[se >> 3]) >> 6 - (7 & se) & 3, f[x * c + (K >> 2)] |= l << 6 - ((3 & K) << 1)), m == 4 && (l = (l = D[se >> 3]) >> 4 - (7 & se) & 15, f[x * c + (K >> 1)] |= l << 4 - ((1 & K) << 2)), m >= 8) {
|
|
1316
|
+
const ne = x * c + K * C;
|
|
1317
|
+
for (let ee = 0; ee < C; ee++) f[ne + ee] = D[(se >> 3) + ee];
|
|
1318
|
+
}
|
|
1319
|
+
se += m, K += O;
|
|
1320
|
+
}
|
|
1321
|
+
N++, x += o;
|
|
1322
|
+
}
|
|
1323
|
+
F * B != 0 && (b += B * (1 + q)), M += 1;
|
|
1324
|
+
}
|
|
1325
|
+
return f;
|
|
1326
|
+
})(i, r)), i;
|
|
1327
|
+
}
|
|
1328
|
+
function d(r, i) {
|
|
1329
|
+
return e(new Uint8Array(r.buffer, 2, r.length - 6), i);
|
|
1330
|
+
}
|
|
1331
|
+
var e = (function() {
|
|
1332
|
+
const r = { H: {} };
|
|
1333
|
+
return r.H.N = function(i, n) {
|
|
1334
|
+
const s = Uint8Array;
|
|
1335
|
+
let h, E, S = 0, y = 0, D = 0, L = 0, P = 0, j = 0, m = 0, C = 0, c = 0;
|
|
1336
|
+
if (i[0] == 3 && i[1] == 0) return n || new s(0);
|
|
1337
|
+
const f = r.H, b = f.b, A = f.e, w = f.R, U = f.n, v = f.A, M = f.Z, l = f.m, o = n == null;
|
|
1338
|
+
for (o && (n = new s(i.length >>> 2 << 5)); S == 0;) if (S = b(i, c, 1), y = b(i, c + 1, 2), c += 3, y != 0) {
|
|
1339
|
+
if (o && (n = r.H.W(n, C + (1 << 17))), y == 1 && (h = l.J, E = l.h, j = 511, m = 31), y == 2) {
|
|
1340
|
+
D = A(i, c, 5) + 257, L = A(i, c + 5, 5) + 1, P = A(i, c + 10, 4) + 4, c += 14;
|
|
1341
|
+
let F = 1;
|
|
1342
|
+
for (var O = 0; O < 38; O += 2) l.Q[O] = 0, l.Q[O + 1] = 0;
|
|
1343
|
+
for (O = 0; O < P; O++) {
|
|
1344
|
+
const Q = A(i, c + 3 * O, 3);
|
|
1345
|
+
l.Q[1 + (l.X[O] << 1)] = Q, Q > F && (F = Q);
|
|
1346
|
+
}
|
|
1347
|
+
c += 3 * P, U(l.Q, F), v(l.Q, F, l.u), h = l.w, E = l.d, c = w(l.u, (1 << F) - 1, D + L, i, c, l.v);
|
|
1348
|
+
const B = f.V(l.v, 0, D, l.C);
|
|
1349
|
+
j = (1 << B) - 1;
|
|
1350
|
+
const X = f.V(l.v, D, L, l.D);
|
|
1351
|
+
m = (1 << X) - 1, U(l.C, B), v(l.C, B, h), U(l.D, X), v(l.D, X, E);
|
|
1352
|
+
}
|
|
1353
|
+
for (;;) {
|
|
1354
|
+
const F = h[M(i, c) & j];
|
|
1355
|
+
c += 15 & F;
|
|
1356
|
+
const B = F >>> 4;
|
|
1357
|
+
if (!(B >>> 8)) n[C++] = B;
|
|
1358
|
+
else {
|
|
1359
|
+
if (B == 256) break;
|
|
1360
|
+
{
|
|
1361
|
+
let X = C + B - 254;
|
|
1362
|
+
if (B > 264) {
|
|
1363
|
+
const K = l.q[B - 257];
|
|
1364
|
+
X = C + (K >>> 3) + A(i, c, 7 & K), c += 7 & K;
|
|
1365
|
+
}
|
|
1366
|
+
const Q = E[M(i, c) & m];
|
|
1367
|
+
c += 15 & Q;
|
|
1368
|
+
const q = Q >>> 4, N = l.c[q], x = (N >>> 4) + b(i, c, 15 & N);
|
|
1369
|
+
for (c += 15 & N; C < X;) n[C] = n[C++ - x], n[C] = n[C++ - x], n[C] = n[C++ - x], n[C] = n[C++ - x];
|
|
1370
|
+
C = X;
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
} else {
|
|
1375
|
+
7 & c && (c += 8 - (7 & c));
|
|
1376
|
+
const F = 4 + (c >>> 3), B = i[F - 4] | i[F - 3] << 8;
|
|
1377
|
+
o && (n = r.H.W(n, C + B)), n.set(new s(i.buffer, i.byteOffset + F, B), C), c = F + B << 3, C += B;
|
|
1378
|
+
}
|
|
1379
|
+
return n.length == C ? n : n.slice(0, C);
|
|
1380
|
+
}, r.H.W = function(i, n) {
|
|
1381
|
+
const s = i.length;
|
|
1382
|
+
if (n <= s) return i;
|
|
1383
|
+
const h = new Uint8Array(s << 1);
|
|
1384
|
+
return h.set(i, 0), h;
|
|
1385
|
+
}, r.H.R = function(i, n, s, h, E, S) {
|
|
1386
|
+
const y = r.H.e, D = r.H.Z;
|
|
1387
|
+
let L = 0;
|
|
1388
|
+
for (; L < s;) {
|
|
1389
|
+
const P = i[D(h, E) & n];
|
|
1390
|
+
E += 15 & P;
|
|
1391
|
+
const j = P >>> 4;
|
|
1392
|
+
if (j <= 15) S[L] = j, L++;
|
|
1393
|
+
else {
|
|
1394
|
+
let m = 0, C = 0;
|
|
1395
|
+
j == 16 ? (C = 3 + y(h, E, 2), E += 2, m = S[L - 1]) : j == 17 ? (C = 3 + y(h, E, 3), E += 3) : j == 18 && (C = 11 + y(h, E, 7), E += 7);
|
|
1396
|
+
const c = L + C;
|
|
1397
|
+
for (; L < c;) S[L] = m, L++;
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
return E;
|
|
1401
|
+
}, r.H.V = function(i, n, s, h) {
|
|
1402
|
+
let E = 0, S = 0;
|
|
1403
|
+
const y = h.length >>> 1;
|
|
1404
|
+
for (; S < s;) {
|
|
1405
|
+
const D = i[S + n];
|
|
1406
|
+
h[S << 1] = 0, h[1 + (S << 1)] = D, D > E && (E = D), S++;
|
|
1407
|
+
}
|
|
1408
|
+
for (; S < y;) h[S << 1] = 0, h[1 + (S << 1)] = 0, S++;
|
|
1409
|
+
return E;
|
|
1410
|
+
}, r.H.n = function(i, n) {
|
|
1411
|
+
const s = r.H.m, h = i.length;
|
|
1412
|
+
let E, S, y, D;
|
|
1413
|
+
const L = s.j;
|
|
1414
|
+
for (var P = 0; P <= n; P++) L[P] = 0;
|
|
1415
|
+
for (P = 1; P < h; P += 2) L[i[P]]++;
|
|
1416
|
+
const j = s.K;
|
|
1417
|
+
for (E = 0, L[0] = 0, S = 1; S <= n; S++) E = E + L[S - 1] << 1, j[S] = E;
|
|
1418
|
+
for (y = 0; y < h; y += 2) D = i[y + 1], D != 0 && (i[y] = j[D], j[D]++);
|
|
1419
|
+
}, r.H.A = function(i, n, s) {
|
|
1420
|
+
const h = i.length, E = r.H.m.r;
|
|
1421
|
+
for (let S = 0; S < h; S += 2) if (i[S + 1] != 0) {
|
|
1422
|
+
const y = S >> 1, D = i[S + 1], L = y << 4 | D, P = n - D;
|
|
1423
|
+
let j = i[S] << P;
|
|
1424
|
+
const m = j + (1 << P);
|
|
1425
|
+
for (; j != m;) s[E[j] >>> 15 - n] = L, j++;
|
|
1426
|
+
}
|
|
1427
|
+
}, r.H.l = function(i, n) {
|
|
1428
|
+
const s = r.H.m.r, h = 15 - n;
|
|
1429
|
+
for (let E = 0; E < i.length; E += 2) i[E] = s[i[E] << n - i[E + 1]] >>> h;
|
|
1430
|
+
}, r.H.M = function(i, n, s) {
|
|
1431
|
+
s <<= 7 & n;
|
|
1432
|
+
const h = n >>> 3;
|
|
1433
|
+
i[h] |= s, i[h + 1] |= s >>> 8;
|
|
1434
|
+
}, r.H.I = function(i, n, s) {
|
|
1435
|
+
s <<= 7 & n;
|
|
1436
|
+
const h = n >>> 3;
|
|
1437
|
+
i[h] |= s, i[h + 1] |= s >>> 8, i[h + 2] |= s >>> 16;
|
|
1438
|
+
}, r.H.e = function(i, n, s) {
|
|
1439
|
+
return (i[n >>> 3] | i[1 + (n >>> 3)] << 8) >>> (7 & n) & (1 << s) - 1;
|
|
1440
|
+
}, r.H.b = function(i, n, s) {
|
|
1441
|
+
return (i[n >>> 3] | i[1 + (n >>> 3)] << 8 | i[2 + (n >>> 3)] << 16) >>> (7 & n) & (1 << s) - 1;
|
|
1442
|
+
}, r.H.Z = function(i, n) {
|
|
1443
|
+
return (i[n >>> 3] | i[1 + (n >>> 3)] << 8 | i[2 + (n >>> 3)] << 16) >>> (7 & n);
|
|
1444
|
+
}, r.H.i = function(i, n) {
|
|
1445
|
+
return (i[n >>> 3] | i[1 + (n >>> 3)] << 8 | i[2 + (n >>> 3)] << 16 | i[3 + (n >>> 3)] << 24) >>> (7 & n);
|
|
1446
|
+
}, r.H.m = (function() {
|
|
1447
|
+
const i = Uint16Array, n = Uint32Array;
|
|
1448
|
+
return {
|
|
1449
|
+
K: new i(16),
|
|
1450
|
+
j: new i(16),
|
|
1451
|
+
X: [
|
|
1452
|
+
16,
|
|
1453
|
+
17,
|
|
1454
|
+
18,
|
|
1455
|
+
0,
|
|
1456
|
+
8,
|
|
1457
|
+
7,
|
|
1458
|
+
9,
|
|
1459
|
+
6,
|
|
1460
|
+
10,
|
|
1461
|
+
5,
|
|
1462
|
+
11,
|
|
1463
|
+
4,
|
|
1464
|
+
12,
|
|
1465
|
+
3,
|
|
1466
|
+
13,
|
|
1467
|
+
2,
|
|
1468
|
+
14,
|
|
1469
|
+
1,
|
|
1470
|
+
15
|
|
1471
|
+
],
|
|
1472
|
+
S: [
|
|
1473
|
+
3,
|
|
1474
|
+
4,
|
|
1475
|
+
5,
|
|
1476
|
+
6,
|
|
1477
|
+
7,
|
|
1478
|
+
8,
|
|
1479
|
+
9,
|
|
1480
|
+
10,
|
|
1481
|
+
11,
|
|
1482
|
+
13,
|
|
1483
|
+
15,
|
|
1484
|
+
17,
|
|
1485
|
+
19,
|
|
1486
|
+
23,
|
|
1487
|
+
27,
|
|
1488
|
+
31,
|
|
1489
|
+
35,
|
|
1490
|
+
43,
|
|
1491
|
+
51,
|
|
1492
|
+
59,
|
|
1493
|
+
67,
|
|
1494
|
+
83,
|
|
1495
|
+
99,
|
|
1496
|
+
115,
|
|
1497
|
+
131,
|
|
1498
|
+
163,
|
|
1499
|
+
195,
|
|
1500
|
+
227,
|
|
1501
|
+
258,
|
|
1502
|
+
999,
|
|
1503
|
+
999,
|
|
1504
|
+
999
|
|
1505
|
+
],
|
|
1506
|
+
T: [
|
|
1507
|
+
0,
|
|
1508
|
+
0,
|
|
1509
|
+
0,
|
|
1510
|
+
0,
|
|
1511
|
+
0,
|
|
1512
|
+
0,
|
|
1513
|
+
0,
|
|
1514
|
+
0,
|
|
1515
|
+
1,
|
|
1516
|
+
1,
|
|
1517
|
+
1,
|
|
1518
|
+
1,
|
|
1519
|
+
2,
|
|
1520
|
+
2,
|
|
1521
|
+
2,
|
|
1522
|
+
2,
|
|
1523
|
+
3,
|
|
1524
|
+
3,
|
|
1525
|
+
3,
|
|
1526
|
+
3,
|
|
1527
|
+
4,
|
|
1528
|
+
4,
|
|
1529
|
+
4,
|
|
1530
|
+
4,
|
|
1531
|
+
5,
|
|
1532
|
+
5,
|
|
1533
|
+
5,
|
|
1534
|
+
5,
|
|
1535
|
+
0,
|
|
1536
|
+
0,
|
|
1537
|
+
0,
|
|
1538
|
+
0
|
|
1539
|
+
],
|
|
1540
|
+
q: new i(32),
|
|
1541
|
+
p: [
|
|
1542
|
+
1,
|
|
1543
|
+
2,
|
|
1544
|
+
3,
|
|
1545
|
+
4,
|
|
1546
|
+
5,
|
|
1547
|
+
7,
|
|
1548
|
+
9,
|
|
1549
|
+
13,
|
|
1550
|
+
17,
|
|
1551
|
+
25,
|
|
1552
|
+
33,
|
|
1553
|
+
49,
|
|
1554
|
+
65,
|
|
1555
|
+
97,
|
|
1556
|
+
129,
|
|
1557
|
+
193,
|
|
1558
|
+
257,
|
|
1559
|
+
385,
|
|
1560
|
+
513,
|
|
1561
|
+
769,
|
|
1562
|
+
1025,
|
|
1563
|
+
1537,
|
|
1564
|
+
2049,
|
|
1565
|
+
3073,
|
|
1566
|
+
4097,
|
|
1567
|
+
6145,
|
|
1568
|
+
8193,
|
|
1569
|
+
12289,
|
|
1570
|
+
16385,
|
|
1571
|
+
24577,
|
|
1572
|
+
65535,
|
|
1573
|
+
65535
|
|
1574
|
+
],
|
|
1575
|
+
z: [
|
|
1576
|
+
0,
|
|
1577
|
+
0,
|
|
1578
|
+
0,
|
|
1579
|
+
0,
|
|
1580
|
+
1,
|
|
1581
|
+
1,
|
|
1582
|
+
2,
|
|
1583
|
+
2,
|
|
1584
|
+
3,
|
|
1585
|
+
3,
|
|
1586
|
+
4,
|
|
1587
|
+
4,
|
|
1588
|
+
5,
|
|
1589
|
+
5,
|
|
1590
|
+
6,
|
|
1591
|
+
6,
|
|
1592
|
+
7,
|
|
1593
|
+
7,
|
|
1594
|
+
8,
|
|
1595
|
+
8,
|
|
1596
|
+
9,
|
|
1597
|
+
9,
|
|
1598
|
+
10,
|
|
1599
|
+
10,
|
|
1600
|
+
11,
|
|
1601
|
+
11,
|
|
1602
|
+
12,
|
|
1603
|
+
12,
|
|
1604
|
+
13,
|
|
1605
|
+
13,
|
|
1606
|
+
0,
|
|
1607
|
+
0
|
|
1608
|
+
],
|
|
1609
|
+
c: new n(32),
|
|
1610
|
+
J: new i(512),
|
|
1611
|
+
_: [],
|
|
1612
|
+
h: new i(32),
|
|
1613
|
+
$: [],
|
|
1614
|
+
w: new i(32768),
|
|
1615
|
+
C: [],
|
|
1616
|
+
v: [],
|
|
1617
|
+
d: new i(32768),
|
|
1618
|
+
D: [],
|
|
1619
|
+
u: new i(512),
|
|
1620
|
+
Q: [],
|
|
1621
|
+
r: new i(32768),
|
|
1622
|
+
s: new n(286),
|
|
1623
|
+
Y: new n(30),
|
|
1624
|
+
a: new n(19),
|
|
1625
|
+
t: new n(15e3),
|
|
1626
|
+
k: new i(65536),
|
|
1627
|
+
g: new i(32768)
|
|
1628
|
+
};
|
|
1629
|
+
})(), (function() {
|
|
1630
|
+
const i = r.H.m;
|
|
1631
|
+
for (var n = 0; n < 32768; n++) {
|
|
1632
|
+
let h = n;
|
|
1633
|
+
h = (2863311530 & h) >>> 1 | (1431655765 & h) << 1, h = (3435973836 & h) >>> 2 | (858993459 & h) << 2, h = (4042322160 & h) >>> 4 | (252645135 & h) << 4, h = (4278255360 & h) >>> 8 | (16711935 & h) << 8, i.r[n] = (h >>> 16 | h << 16) >>> 17;
|
|
1634
|
+
}
|
|
1635
|
+
function s(h, E, S) {
|
|
1636
|
+
for (; E-- != 0;) h.push(0, S);
|
|
1637
|
+
}
|
|
1638
|
+
for (n = 0; n < 32; n++) i.q[n] = i.S[n] << 3 | i.T[n], i.c[n] = i.p[n] << 4 | i.z[n];
|
|
1639
|
+
s(i._, 144, 8), s(i._, 112, 9), s(i._, 24, 7), s(i._, 8, 8), r.H.n(i._, 9), r.H.A(i._, 9, i.J), r.H.l(i._, 9), s(i.$, 32, 5), r.H.n(i.$, 5), r.H.A(i.$, 5, i.h), r.H.l(i.$, 5), s(i.Q, 19, 0), s(i.C, 286, 0), s(i.D, 30, 0), s(i.v, 320, 0);
|
|
1640
|
+
})(), r.H.N;
|
|
1641
|
+
})();
|
|
1642
|
+
function t(r) {
|
|
1643
|
+
return [
|
|
1644
|
+
1,
|
|
1645
|
+
null,
|
|
1646
|
+
3,
|
|
1647
|
+
1,
|
|
1648
|
+
2,
|
|
1649
|
+
null,
|
|
1650
|
+
4
|
|
1651
|
+
][r.ctype] * r.depth;
|
|
1652
|
+
}
|
|
1653
|
+
function u(r, i, n, s, h) {
|
|
1654
|
+
let E = t(i);
|
|
1655
|
+
const S = Math.ceil(s * E / 8);
|
|
1656
|
+
let y, D;
|
|
1657
|
+
E = Math.ceil(E / 8);
|
|
1658
|
+
let L = r[n], P = 0;
|
|
1659
|
+
if (L > 1 && (r[n] = [
|
|
1660
|
+
0,
|
|
1661
|
+
0,
|
|
1662
|
+
1
|
|
1663
|
+
][L - 2]), L == 3) for (P = E; P < S; P++) r[P + 1] = r[P + 1] + (r[P + 1 - E] >>> 1) & 255;
|
|
1664
|
+
for (let j = 0; j < h; j++) if (y = n + j * S, D = y + j + 1, L = r[D - 1], P = 0, L == 0) for (; P < S; P++) r[y + P] = r[D + P];
|
|
1665
|
+
else if (L == 1) {
|
|
1666
|
+
for (; P < E; P++) r[y + P] = r[D + P];
|
|
1667
|
+
for (; P < S; P++) r[y + P] = r[D + P] + r[y + P - E];
|
|
1668
|
+
} else if (L == 2) for (; P < S; P++) r[y + P] = r[D + P] + r[y + P - S];
|
|
1669
|
+
else if (L == 3) {
|
|
1670
|
+
for (; P < E; P++) r[y + P] = r[D + P] + (r[y + P - S] >>> 1);
|
|
1671
|
+
for (; P < S; P++) r[y + P] = r[D + P] + (r[y + P - S] + r[y + P - E] >>> 1);
|
|
1672
|
+
} else {
|
|
1673
|
+
for (; P < E; P++) r[y + P] = r[D + P] + a(0, r[y + P - S], 0);
|
|
1674
|
+
for (; P < S; P++) r[y + P] = r[D + P] + a(r[y + P - E], r[y + P - S], r[y + P - E - S]);
|
|
1675
|
+
}
|
|
1676
|
+
return r;
|
|
1677
|
+
}
|
|
1678
|
+
function a(r, i, n) {
|
|
1679
|
+
const s = r + i - n, h = s - r, E = s - i, S = s - n;
|
|
1680
|
+
return h * h <= E * E && h * h <= S * S ? r : E * E <= S * S ? i : n;
|
|
1681
|
+
}
|
|
1682
|
+
function p(r, i, n) {
|
|
1683
|
+
n.width = T.readUint(r, i), i += 4, n.height = T.readUint(r, i), i += 4, n.depth = r[i], i++, n.ctype = r[i], i++, n.compress = r[i], i++, n.filter = r[i], i++, n.interlace = r[i], i++;
|
|
1684
|
+
}
|
|
1685
|
+
function _(r, i, n, s, h, E, S, y, D) {
|
|
1686
|
+
const L = Math.min(i, h), P = Math.min(n, E);
|
|
1687
|
+
let j = 0, m = 0;
|
|
1688
|
+
for (let M = 0; M < P; M++) for (let l = 0; l < L; l++) if (S >= 0 && y >= 0 ? (j = M * i + l << 2, m = (y + M) * h + S + l << 2) : (j = (-y + M) * i - S + l << 2, m = M * h + l << 2), D == 0) s[m] = r[j], s[m + 1] = r[j + 1], s[m + 2] = r[j + 2], s[m + 3] = r[j + 3];
|
|
1689
|
+
else if (D == 1) {
|
|
1690
|
+
var C = r[j + 3] * .00392156862745098, c = r[j] * C, f = r[j + 1] * C, b = r[j + 2] * C, A = s[m + 3] * (1 / 255), w = s[m] * A, U = s[m + 1] * A, v = s[m + 2] * A;
|
|
1691
|
+
const o = 1 - C, O = C + A * o, F = O == 0 ? 0 : 1 / O;
|
|
1692
|
+
s[m + 3] = 255 * O, s[m + 0] = (c + w * o) * F, s[m + 1] = (f + U * o) * F, s[m + 2] = (b + v * o) * F;
|
|
1693
|
+
} else if (D == 2) C = r[j + 3], c = r[j], f = r[j + 1], b = r[j + 2], A = s[m + 3], w = s[m], U = s[m + 1], v = s[m + 2], C == A && c == w && f == U && b == v ? (s[m] = 0, s[m + 1] = 0, s[m + 2] = 0, s[m + 3] = 0) : (s[m] = c, s[m + 1] = f, s[m + 2] = b, s[m + 3] = C);
|
|
1694
|
+
else if (D == 3) {
|
|
1695
|
+
if (C = r[j + 3], c = r[j], f = r[j + 1], b = r[j + 2], A = s[m + 3], w = s[m], U = s[m + 1], v = s[m + 2], C == A && c == w && f == U && b == v) continue;
|
|
1696
|
+
if (C < 220 && A > 20) return !1;
|
|
1697
|
+
}
|
|
1698
|
+
return !0;
|
|
1699
|
+
}
|
|
1700
|
+
return {
|
|
1701
|
+
decode: function(i) {
|
|
1702
|
+
const n = new Uint8Array(i);
|
|
1703
|
+
let s = 8;
|
|
1704
|
+
const h = T, E = h.readUshort, S = h.readUint, y = {
|
|
1705
|
+
tabs: {},
|
|
1706
|
+
frames: []
|
|
1707
|
+
}, D = new Uint8Array(n.length);
|
|
1708
|
+
let L, P = 0, j = 0;
|
|
1709
|
+
const m = [
|
|
1710
|
+
137,
|
|
1711
|
+
80,
|
|
1712
|
+
78,
|
|
1713
|
+
71,
|
|
1714
|
+
13,
|
|
1715
|
+
10,
|
|
1716
|
+
26,
|
|
1717
|
+
10
|
|
1718
|
+
];
|
|
1719
|
+
for (var C = 0; C < 8; C++) if (n[C] != m[C]) throw "The input is not a PNG file!";
|
|
1720
|
+
for (; s < n.length;) {
|
|
1721
|
+
const M = h.readUint(n, s);
|
|
1722
|
+
s += 4;
|
|
1723
|
+
const l = h.readASCII(n, s, 4);
|
|
1724
|
+
if (s += 4, l == "IHDR") p(n, s, y);
|
|
1725
|
+
else if (l == "iCCP") {
|
|
1726
|
+
for (var c = s; n[c] != 0;) c++;
|
|
1727
|
+
h.readASCII(n, s, c - s), n[c + 1];
|
|
1728
|
+
const o = n.slice(c + 2, s + M);
|
|
1729
|
+
let O = null;
|
|
1730
|
+
try {
|
|
1731
|
+
O = d(o);
|
|
1732
|
+
} catch {
|
|
1733
|
+
O = e(o);
|
|
1734
|
+
}
|
|
1735
|
+
y.tabs[l] = O;
|
|
1736
|
+
} else if (l == "CgBI") y.tabs[l] = n.slice(s, s + 4);
|
|
1737
|
+
else if (l == "IDAT") {
|
|
1738
|
+
for (C = 0; C < M; C++) D[P + C] = n[s + C];
|
|
1739
|
+
P += M;
|
|
1740
|
+
} else if (l == "acTL") y.tabs[l] = {
|
|
1741
|
+
num_frames: S(n, s),
|
|
1742
|
+
num_plays: S(n, s + 4)
|
|
1743
|
+
}, L = new Uint8Array(n.length);
|
|
1744
|
+
else if (l == "fcTL") {
|
|
1745
|
+
j != 0 && ((v = y.frames[y.frames.length - 1]).data = H(y, L.slice(0, j), v.rect.width, v.rect.height), j = 0);
|
|
1746
|
+
const o = {
|
|
1747
|
+
x: S(n, s + 12),
|
|
1748
|
+
y: S(n, s + 16),
|
|
1749
|
+
width: S(n, s + 4),
|
|
1750
|
+
height: S(n, s + 8)
|
|
1751
|
+
};
|
|
1752
|
+
let O = E(n, s + 22);
|
|
1753
|
+
O = E(n, s + 20) / (O == 0 ? 100 : O);
|
|
1754
|
+
const F = {
|
|
1755
|
+
rect: o,
|
|
1756
|
+
delay: Math.round(1e3 * O),
|
|
1757
|
+
dispose: n[s + 24],
|
|
1758
|
+
blend: n[s + 25]
|
|
1759
|
+
};
|
|
1760
|
+
y.frames.push(F);
|
|
1761
|
+
} else if (l == "fdAT") {
|
|
1762
|
+
for (C = 0; C < M - 4; C++) L[j + C] = n[s + C + 4];
|
|
1763
|
+
j += M - 4;
|
|
1764
|
+
} else if (l == "pHYs") y.tabs[l] = [
|
|
1765
|
+
h.readUint(n, s),
|
|
1766
|
+
h.readUint(n, s + 4),
|
|
1767
|
+
n[s + 8]
|
|
1768
|
+
];
|
|
1769
|
+
else if (l == "cHRM") for (y.tabs[l] = [], C = 0; C < 8; C++) y.tabs[l].push(h.readUint(n, s + 4 * C));
|
|
1770
|
+
else if (l == "tEXt" || l == "zTXt") {
|
|
1771
|
+
y.tabs[l] ?? (y.tabs[l] = {});
|
|
1772
|
+
var f = h.nextZero(n, s), b = h.readASCII(n, s, f - s), A = s + M - f - 1;
|
|
1773
|
+
if (l == "tEXt") U = h.readASCII(n, f + 1, A);
|
|
1774
|
+
else {
|
|
1775
|
+
var w = d(n.slice(f + 2, f + 2 + A));
|
|
1776
|
+
U = h.readUTF8(w, 0, w.length);
|
|
1777
|
+
}
|
|
1778
|
+
y.tabs[l][b] = U;
|
|
1779
|
+
} else if (l == "iTXt") {
|
|
1780
|
+
y.tabs[l] ?? (y.tabs[l] = {}), f = 0, c = s, f = h.nextZero(n, c), b = h.readASCII(n, c, f - c);
|
|
1781
|
+
const o = n[c = f + 1];
|
|
1782
|
+
var U;
|
|
1783
|
+
n[c + 1], c += 2, f = h.nextZero(n, c), h.readASCII(n, c, f - c), c = f + 1, f = h.nextZero(n, c), h.readUTF8(n, c, f - c), A = M - ((c = f + 1) - s), o == 0 ? U = h.readUTF8(n, c, A) : (w = d(n.slice(c, c + A)), U = h.readUTF8(w, 0, w.length)), y.tabs[l][b] = U;
|
|
1784
|
+
} else if (l == "PLTE") y.tabs[l] = h.readBytes(n, s, M);
|
|
1785
|
+
else if (l == "hIST") {
|
|
1786
|
+
const o = y.tabs.PLTE.length / 3;
|
|
1787
|
+
for (y.tabs[l] = [], C = 0; C < o; C++) y.tabs[l].push(E(n, s + 2 * C));
|
|
1788
|
+
} else if (l == "tRNS") y.ctype == 3 ? y.tabs[l] = h.readBytes(n, s, M) : y.ctype == 0 ? y.tabs[l] = E(n, s) : y.ctype == 2 && (y.tabs[l] = [
|
|
1789
|
+
E(n, s),
|
|
1790
|
+
E(n, s + 2),
|
|
1791
|
+
E(n, s + 4)
|
|
1792
|
+
]);
|
|
1793
|
+
else if (l == "gAMA") y.tabs[l] = h.readUint(n, s) / 1e5;
|
|
1794
|
+
else if (l == "sRGB") y.tabs[l] = n[s];
|
|
1795
|
+
else if (l == "bKGD") y.ctype == 0 || y.ctype == 4 ? y.tabs[l] = [E(n, s)] : y.ctype == 2 || y.ctype == 6 ? y.tabs[l] = [
|
|
1796
|
+
E(n, s),
|
|
1797
|
+
E(n, s + 2),
|
|
1798
|
+
E(n, s + 4)
|
|
1799
|
+
] : y.ctype == 3 && (y.tabs[l] = n[s]);
|
|
1800
|
+
else if (l == "IEND") break;
|
|
1801
|
+
s += M, h.readUint(n, s), s += 4;
|
|
1802
|
+
}
|
|
1803
|
+
var v;
|
|
1804
|
+
return j != 0 && ((v = y.frames[y.frames.length - 1]).data = H(y, L.slice(0, j), v.rect.width, v.rect.height)), y.data = H(y, D, y.width, y.height), delete y.compress, delete y.interlace, delete y.filter, y;
|
|
1805
|
+
},
|
|
1806
|
+
toRGBA8: function(i) {
|
|
1807
|
+
const n = i.width, s = i.height;
|
|
1808
|
+
if (i.tabs.acTL == null) return [R(i.data, n, s, i).buffer];
|
|
1809
|
+
const h = [];
|
|
1810
|
+
i.frames[0].data ?? (i.frames[0].data = i.data);
|
|
1811
|
+
const E = n * s * 4, S = new Uint8Array(E), y = new Uint8Array(E), D = new Uint8Array(E);
|
|
1812
|
+
for (let P = 0; P < i.frames.length; P++) {
|
|
1813
|
+
const j = i.frames[P], m = j.rect.x, C = j.rect.y, c = j.rect.width, f = j.rect.height, b = R(j.data, c, f, i);
|
|
1814
|
+
if (P != 0) for (var L = 0; L < E; L++) D[L] = S[L];
|
|
1815
|
+
if (j.blend == 0 ? _(b, c, f, S, n, s, m, C, 0) : j.blend == 1 && _(b, c, f, S, n, s, m, C, 1), h.push(S.buffer.slice(0)), j.dispose != 0) {
|
|
1816
|
+
if (j.dispose == 1) _(y, c, f, S, n, s, m, C, 0);
|
|
1817
|
+
else if (j.dispose == 2) for (L = 0; L < E; L++) S[L] = D[L];
|
|
1818
|
+
}
|
|
1819
|
+
}
|
|
1820
|
+
return h;
|
|
1821
|
+
},
|
|
1822
|
+
_paeth: a,
|
|
1823
|
+
_copyTile: _,
|
|
1824
|
+
_bin: T
|
|
1825
|
+
};
|
|
1826
|
+
})();
|
|
1827
|
+
(function() {
|
|
1828
|
+
const { _copyTile: T } = Z, { _bin: R } = Z, H = Z._paeth;
|
|
1829
|
+
var d = {
|
|
1830
|
+
table: (function() {
|
|
1831
|
+
const c = new Uint32Array(256);
|
|
1832
|
+
for (let f = 0; f < 256; f++) {
|
|
1833
|
+
let b = f;
|
|
1834
|
+
for (let A = 0; A < 8; A++) 1 & b ? b = 3988292384 ^ b >>> 1 : b >>>= 1;
|
|
1835
|
+
c[f] = b;
|
|
1836
|
+
}
|
|
1837
|
+
return c;
|
|
1838
|
+
})(),
|
|
1839
|
+
update(c, f, b, A) {
|
|
1840
|
+
for (let w = 0; w < A; w++) c = d.table[255 & (c ^ f[b + w])] ^ c >>> 8;
|
|
1841
|
+
return c;
|
|
1842
|
+
},
|
|
1843
|
+
crc: (c, f, b) => 4294967295 ^ d.update(4294967295, c, f, b)
|
|
1844
|
+
};
|
|
1845
|
+
function e(c, f, b, A) {
|
|
1846
|
+
f[b] += c[0] * A >> 4, f[b + 1] += c[1] * A >> 4, f[b + 2] += c[2] * A >> 4, f[b + 3] += c[3] * A >> 4;
|
|
1847
|
+
}
|
|
1848
|
+
function t(c) {
|
|
1849
|
+
return Math.max(0, Math.min(255, c));
|
|
1850
|
+
}
|
|
1851
|
+
function u(c, f) {
|
|
1852
|
+
const b = c[0] - f[0], A = c[1] - f[1], w = c[2] - f[2], U = c[3] - f[3];
|
|
1853
|
+
return b * b + A * A + w * w + U * U;
|
|
1854
|
+
}
|
|
1855
|
+
function a(c, f, b, A, w, U, v) {
|
|
1856
|
+
v ??= 1;
|
|
1857
|
+
const M = A.length, l = [];
|
|
1858
|
+
for (var o = 0; o < M; o++) {
|
|
1859
|
+
const x = A[o];
|
|
1860
|
+
l.push([
|
|
1861
|
+
x >>> 0 & 255,
|
|
1862
|
+
x >>> 8 & 255,
|
|
1863
|
+
x >>> 16 & 255,
|
|
1864
|
+
x >>> 24 & 255
|
|
1865
|
+
]);
|
|
1866
|
+
}
|
|
1867
|
+
for (o = 0; o < M; o++) {
|
|
1868
|
+
let x = 4294967295;
|
|
1869
|
+
for (var O = 0, F = 0; F < M; F++) {
|
|
1870
|
+
var B = u(l[o], l[F]);
|
|
1871
|
+
F != o && B < x && (x = B, O = F);
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
const X = new Uint32Array(w.buffer), Q = new Int16Array(f * b * 4), q = [
|
|
1875
|
+
0,
|
|
1876
|
+
8,
|
|
1877
|
+
2,
|
|
1878
|
+
10,
|
|
1879
|
+
12,
|
|
1880
|
+
4,
|
|
1881
|
+
14,
|
|
1882
|
+
6,
|
|
1883
|
+
3,
|
|
1884
|
+
11,
|
|
1885
|
+
1,
|
|
1886
|
+
9,
|
|
1887
|
+
15,
|
|
1888
|
+
7,
|
|
1889
|
+
13,
|
|
1890
|
+
5
|
|
1891
|
+
];
|
|
1892
|
+
for (o = 0; o < q.length; o++) q[o] = 255 * ((q[o] + .5) / 16 - .5);
|
|
1893
|
+
for (let x = 0; x < b; x++) for (let K = 0; K < f; K++) {
|
|
1894
|
+
var N;
|
|
1895
|
+
o = 4 * (x * f + K), v != 2 ? N = [
|
|
1896
|
+
t(c[o] + Q[o]),
|
|
1897
|
+
t(c[o + 1] + Q[o + 1]),
|
|
1898
|
+
t(c[o + 2] + Q[o + 2]),
|
|
1899
|
+
t(c[o + 3] + Q[o + 3])
|
|
1900
|
+
] : (B = q[4 * (3 & x) + (3 & K)], N = [
|
|
1901
|
+
t(c[o] + B),
|
|
1902
|
+
t(c[o + 1] + B),
|
|
1903
|
+
t(c[o + 2] + B),
|
|
1904
|
+
t(c[o + 3] + B)
|
|
1905
|
+
]), O = 0;
|
|
1906
|
+
let se = 16777215;
|
|
1907
|
+
for (F = 0; F < M; F++) {
|
|
1908
|
+
const ie = u(N, l[F]);
|
|
1909
|
+
ie < se && (se = ie, O = F);
|
|
1910
|
+
}
|
|
1911
|
+
const ne = l[O], ee = [
|
|
1912
|
+
N[0] - ne[0],
|
|
1913
|
+
N[1] - ne[1],
|
|
1914
|
+
N[2] - ne[2],
|
|
1915
|
+
N[3] - ne[3]
|
|
1916
|
+
];
|
|
1917
|
+
v == 1 && (K != f - 1 && e(ee, Q, o + 4, 7), x != b - 1 && (K != 0 && e(ee, Q, o + 4 * f - 4, 3), e(ee, Q, o + 4 * f, 5), K != f - 1 && e(ee, Q, o + 4 * f + 4, 1))), U[o >> 2] = O, X[o >> 2] = A[O];
|
|
1918
|
+
}
|
|
1919
|
+
}
|
|
1920
|
+
function p(c, f, b, A, w) {
|
|
1921
|
+
w ??= {};
|
|
1922
|
+
const { crc: U } = d, v = R.writeUint, M = R.writeUshort, l = R.writeASCII;
|
|
1923
|
+
let o = 8;
|
|
1924
|
+
const O = c.frames.length > 1;
|
|
1925
|
+
let F, B = !1, X = 33 + (O ? 20 : 0);
|
|
1926
|
+
if (w.sRGB != null && (X += 13), w.pHYs != null && (X += 21), w.iCCP != null && (F = pako.deflate(w.iCCP), X += 21 + F.length + 4), c.ctype == 3) {
|
|
1927
|
+
for (var Q = c.plte.length, q = 0; q < Q; q++) c.plte[q] >>> 24 != 255 && (B = !0);
|
|
1928
|
+
X += 8 + 3 * Q + 4 + (B ? 8 + 1 * Q + 4 : 0);
|
|
1929
|
+
}
|
|
1930
|
+
for (var N = 0; N < c.frames.length; N++) O && (X += 38), X += (ne = c.frames[N]).cimg.length + 12, N != 0 && (X += 4);
|
|
1931
|
+
X += 12;
|
|
1932
|
+
const x = new Uint8Array(X), K = [
|
|
1933
|
+
137,
|
|
1934
|
+
80,
|
|
1935
|
+
78,
|
|
1936
|
+
71,
|
|
1937
|
+
13,
|
|
1938
|
+
10,
|
|
1939
|
+
26,
|
|
1940
|
+
10
|
|
1941
|
+
];
|
|
1942
|
+
for (q = 0; q < 8; q++) x[q] = K[q];
|
|
1943
|
+
if (v(x, o, 13), o += 4, l(x, o, "IHDR"), o += 4, v(x, o, f), o += 4, v(x, o, b), o += 4, x[o] = c.depth, o++, x[o] = c.ctype, o++, x[o] = 0, o++, x[o] = 0, o++, x[o] = 0, o++, v(x, o, U(x, o - 17, 17)), o += 4, w.sRGB != null && (v(x, o, 1), o += 4, l(x, o, "sRGB"), o += 4, x[o] = w.sRGB, o++, v(x, o, U(x, o - 5, 5)), o += 4), w.iCCP != null) {
|
|
1944
|
+
const ee = 13 + F.length;
|
|
1945
|
+
v(x, o, ee), o += 4, l(x, o, "iCCP"), o += 4, l(x, o, "ICC profile"), o += 11, o += 2, x.set(F, o), o += F.length, v(x, o, U(x, o - (ee + 4), ee + 4)), o += 4;
|
|
1946
|
+
}
|
|
1947
|
+
if (w.pHYs != null && (v(x, o, 9), o += 4, l(x, o, "pHYs"), o += 4, v(x, o, w.pHYs[0]), o += 4, v(x, o, w.pHYs[1]), o += 4, x[o] = w.pHYs[2], o++, v(x, o, U(x, o - 13, 13)), o += 4), O && (v(x, o, 8), o += 4, l(x, o, "acTL"), o += 4, v(x, o, c.frames.length), o += 4, v(x, o, w.loop != null ? w.loop : 0), o += 4, v(x, o, U(x, o - 12, 12)), o += 4), c.ctype == 3) {
|
|
1948
|
+
for (v(x, o, 3 * (Q = c.plte.length)), o += 4, l(x, o, "PLTE"), o += 4, q = 0; q < Q; q++) {
|
|
1949
|
+
const ee = 3 * q, ie = c.plte[q], de = 255 & ie, ge = ie >>> 8 & 255, Qe = ie >>> 16 & 255;
|
|
1950
|
+
x[o + ee + 0] = de, x[o + ee + 1] = ge, x[o + ee + 2] = Qe;
|
|
1951
|
+
}
|
|
1952
|
+
if (o += 3 * Q, v(x, o, U(x, o - 3 * Q - 4, 3 * Q + 4)), o += 4, B) {
|
|
1953
|
+
for (v(x, o, Q), o += 4, l(x, o, "tRNS"), o += 4, q = 0; q < Q; q++) x[o + q] = c.plte[q] >>> 24 & 255;
|
|
1954
|
+
o += Q, v(x, o, U(x, o - Q - 4, Q + 4)), o += 4;
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
let se = 0;
|
|
1958
|
+
for (N = 0; N < c.frames.length; N++) {
|
|
1959
|
+
var ne = c.frames[N];
|
|
1960
|
+
O && (v(x, o, 26), o += 4, l(x, o, "fcTL"), o += 4, v(x, o, se++), o += 4, v(x, o, ne.rect.width), o += 4, v(x, o, ne.rect.height), o += 4, v(x, o, ne.rect.x), o += 4, v(x, o, ne.rect.y), o += 4, M(x, o, A[N]), o += 2, M(x, o, 1e3), o += 2, x[o] = ne.dispose, o++, x[o] = ne.blend, o++, v(x, o, U(x, o - 30, 30)), o += 4);
|
|
1961
|
+
const ee = ne.cimg;
|
|
1962
|
+
v(x, o, (Q = ee.length) + (N == 0 ? 0 : 4)), o += 4;
|
|
1963
|
+
const ie = o;
|
|
1964
|
+
l(x, o, N == 0 ? "IDAT" : "fdAT"), o += 4, N != 0 && (v(x, o, se++), o += 4), x.set(ee, o), o += Q, v(x, o, U(x, ie, o - ie)), o += 4;
|
|
1965
|
+
}
|
|
1966
|
+
return v(x, o, 0), o += 4, l(x, o, "IEND"), o += 4, v(x, o, U(x, o - 4, 4)), o += 4, x.buffer;
|
|
1967
|
+
}
|
|
1968
|
+
function _(c, f, b) {
|
|
1969
|
+
for (let A = 0; A < c.frames.length; A++) {
|
|
1970
|
+
const w = c.frames[A];
|
|
1971
|
+
w.rect.width;
|
|
1972
|
+
const U = w.rect.height, v = new Uint8Array(U * w.bpl + U);
|
|
1973
|
+
w.cimg = s(w.img, U, w.bpp, w.bpl, v, f, b);
|
|
1974
|
+
}
|
|
1975
|
+
}
|
|
1976
|
+
function r(c, f, b, A, w) {
|
|
1977
|
+
const U = w[0], v = w[1], M = w[2], l = w[3], o = w[4], O = w[5];
|
|
1978
|
+
let F = 6, B = 8, X = 255;
|
|
1979
|
+
for (var Q = 0; Q < c.length; Q++) {
|
|
1980
|
+
const _e = new Uint8Array(c[Q]);
|
|
1981
|
+
for (var q = _e.length, N = 0; N < q; N += 4) X &= _e[N + 3];
|
|
1982
|
+
}
|
|
1983
|
+
const x = X != 255, K = (function(re, fe, ve, be, Ue, ye) {
|
|
1984
|
+
const we = [];
|
|
1985
|
+
for (var oe = 0; oe < re.length; oe++) {
|
|
1986
|
+
const Ee = new Uint8Array(re[oe]), Te = new Uint32Array(Ee.buffer);
|
|
1987
|
+
var Me;
|
|
1988
|
+
let je = 0, De = 0, ke = fe, $e = ve, wt = be ? 1 : 0;
|
|
1989
|
+
if (oe != 0) {
|
|
1990
|
+
const Hn = ye || be || oe == 1 || we[oe - 2].dispose != 0 ? 1 : 2;
|
|
1991
|
+
let At = 0, Gt = 1e9;
|
|
1992
|
+
for (let tt = 0; tt < Hn; tt++) {
|
|
1993
|
+
var et = new Uint8Array(re[oe - 1 - tt]);
|
|
1994
|
+
const Nn = new Uint32Array(re[oe - 1 - tt]);
|
|
1995
|
+
let Ne = fe, We = ve, Ze = -1, nt = -1;
|
|
1996
|
+
for (let qe = 0; qe < ve; qe++) for (let Xe = 0; Xe < fe; Xe++) Te[He = qe * fe + Xe] != Nn[He] && (Xe < Ne && (Ne = Xe), Xe > Ze && (Ze = Xe), qe < We && (We = qe), qe > nt && (nt = qe));
|
|
1997
|
+
Ze == -1 && (Ne = We = Ze = nt = 0), Ue && ((1 & Ne) == 1 && Ne--, (1 & We) == 1 && We--);
|
|
1998
|
+
const $t = (Ze - Ne + 1) * (nt - We + 1);
|
|
1999
|
+
$t < Gt && (Gt = $t, At = tt, je = Ne, De = We, ke = Ze - Ne + 1, $e = nt - We + 1);
|
|
2000
|
+
}
|
|
2001
|
+
et = new Uint8Array(re[oe - 1 - At]), At == 1 && (we[oe - 1].dispose = 2), Me = new Uint8Array(ke * $e * 4), T(et, fe, ve, Me, ke, $e, -je, -De, 0), wt = T(Ee, fe, ve, Me, ke, $e, -je, -De, 3) ? 1 : 0, wt == 1 ? n(Ee, fe, ve, Me, {
|
|
2002
|
+
x: je,
|
|
2003
|
+
y: De,
|
|
2004
|
+
width: ke,
|
|
2005
|
+
height: $e
|
|
2006
|
+
}) : T(Ee, fe, ve, Me, ke, $e, -je, -De, 0);
|
|
2007
|
+
} else Me = Ee.slice(0);
|
|
2008
|
+
we.push({
|
|
2009
|
+
rect: {
|
|
2010
|
+
x: je,
|
|
2011
|
+
y: De,
|
|
2012
|
+
width: ke,
|
|
2013
|
+
height: $e
|
|
2014
|
+
},
|
|
2015
|
+
img: Me,
|
|
2016
|
+
blend: wt,
|
|
2017
|
+
dispose: 0
|
|
2018
|
+
});
|
|
2019
|
+
}
|
|
2020
|
+
if (be) for (oe = 0; oe < we.length; oe++) {
|
|
2021
|
+
if ((Ge = we[oe]).blend == 1) continue;
|
|
2022
|
+
const Ee = Ge.rect, Te = we[oe - 1].rect, je = Math.min(Ee.x, Te.x), De = Math.min(Ee.y, Te.y), ke = {
|
|
2023
|
+
x: je,
|
|
2024
|
+
y: De,
|
|
2025
|
+
width: Math.max(Ee.x + Ee.width, Te.x + Te.width) - je,
|
|
2026
|
+
height: Math.max(Ee.y + Ee.height, Te.y + Te.height) - De
|
|
2027
|
+
};
|
|
2028
|
+
we[oe - 1].dispose = 1, oe - 1 != 0 && i(re, fe, ve, we, oe - 1, ke, Ue), i(re, fe, ve, we, oe, ke, Ue);
|
|
2029
|
+
}
|
|
2030
|
+
let Se = 0;
|
|
2031
|
+
if (re.length != 1) for (var He = 0; He < we.length; He++) {
|
|
2032
|
+
var Ge;
|
|
2033
|
+
Se += (Ge = we[He]).rect.width * Ge.rect.height;
|
|
2034
|
+
}
|
|
2035
|
+
return we;
|
|
2036
|
+
})(c, f, b, U, v, M), se = {}, ne = [], ee = [];
|
|
2037
|
+
if (A != 0) {
|
|
2038
|
+
const _e = [];
|
|
2039
|
+
for (N = 0; N < K.length; N++) _e.push(K[N].img.buffer);
|
|
2040
|
+
const re = E((function(be) {
|
|
2041
|
+
let Ue = 0;
|
|
2042
|
+
for (var ye = 0; ye < be.length; ye++) Ue += be[ye].byteLength;
|
|
2043
|
+
const we = new Uint8Array(Ue);
|
|
2044
|
+
let oe = 0;
|
|
2045
|
+
for (ye = 0; ye < be.length; ye++) {
|
|
2046
|
+
const Me = new Uint8Array(be[ye]), et = Me.length;
|
|
2047
|
+
for (let Se = 0; Se < et; Se += 4) {
|
|
2048
|
+
let He = Me[Se], Ge = Me[Se + 1], Ee = Me[Se + 2];
|
|
2049
|
+
const Te = Me[Se + 3];
|
|
2050
|
+
Te == 0 && (He = Ge = Ee = 0), we[oe + Se] = He, we[oe + Se + 1] = Ge, we[oe + Se + 2] = Ee, we[oe + Se + 3] = Te;
|
|
2051
|
+
}
|
|
2052
|
+
oe += et;
|
|
2053
|
+
}
|
|
2054
|
+
return we.buffer;
|
|
2055
|
+
})(_e), A);
|
|
2056
|
+
for (N = 0; N < re.plte.length; N++) ne.push(re.plte[N].est.rgba);
|
|
2057
|
+
let fe = 0;
|
|
2058
|
+
for (N = 0; N < K.length; N++) {
|
|
2059
|
+
const ve = (de = K[N]).img.length;
|
|
2060
|
+
var ie = new Uint8Array(re.inds.buffer, fe >> 2, ve >> 2);
|
|
2061
|
+
ee.push(ie);
|
|
2062
|
+
const be = new Uint8Array(re.abuf, fe, ve);
|
|
2063
|
+
O && a(de.img, de.rect.width, de.rect.height, ne, be, ie), de.img.set(be), fe += ve;
|
|
2064
|
+
}
|
|
2065
|
+
} else for (Q = 0; Q < K.length; Q++) {
|
|
2066
|
+
var de = K[Q];
|
|
2067
|
+
const _e = new Uint32Array(de.img.buffer);
|
|
2068
|
+
var ge = de.rect.width;
|
|
2069
|
+
for (q = _e.length, ie = new Uint8Array(q), ee.push(ie), N = 0; N < q; N++) {
|
|
2070
|
+
const re = _e[N];
|
|
2071
|
+
if (N != 0 && re == _e[N - 1]) ie[N] = ie[N - 1];
|
|
2072
|
+
else if (N > ge && re == _e[N - ge]) ie[N] = ie[N - ge];
|
|
2073
|
+
else {
|
|
2074
|
+
let fe = se[re];
|
|
2075
|
+
if (fe == null && (se[re] = fe = ne.length, ne.push(re), ne.length >= 300)) break;
|
|
2076
|
+
ie[N] = fe;
|
|
2077
|
+
}
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
const Qe = ne.length;
|
|
2081
|
+
for (Qe <= 256 && o == 0 && (B = Qe <= 2 ? 1 : Qe <= 4 ? 2 : Qe <= 16 ? 4 : 8, B = Math.max(B, l)), Q = 0; Q < K.length; Q++) {
|
|
2082
|
+
(de = K[Q]).rect.x, de.rect.y, ge = de.rect.width;
|
|
2083
|
+
const _e = de.rect.height;
|
|
2084
|
+
let re = de.img;
|
|
2085
|
+
new Uint32Array(re.buffer);
|
|
2086
|
+
let fe = 4 * ge, ve = 4;
|
|
2087
|
+
if (Qe <= 256 && o == 0) {
|
|
2088
|
+
fe = Math.ceil(B * ge / 8);
|
|
2089
|
+
var Oe = new Uint8Array(fe * _e);
|
|
2090
|
+
const be = ee[Q];
|
|
2091
|
+
for (let Ue = 0; Ue < _e; Ue++) {
|
|
2092
|
+
N = Ue * fe;
|
|
2093
|
+
const ye = Ue * ge;
|
|
2094
|
+
if (B == 8) for (var ce = 0; ce < ge; ce++) Oe[N + ce] = be[ye + ce];
|
|
2095
|
+
else if (B == 4) for (ce = 0; ce < ge; ce++) Oe[N + (ce >> 1)] |= be[ye + ce] << 4 - 4 * (1 & ce);
|
|
2096
|
+
else if (B == 2) for (ce = 0; ce < ge; ce++) Oe[N + (ce >> 2)] |= be[ye + ce] << 6 - 2 * (3 & ce);
|
|
2097
|
+
else if (B == 1) for (ce = 0; ce < ge; ce++) Oe[N + (ce >> 3)] |= be[ye + ce] << 7 - 1 * (7 & ce);
|
|
2098
|
+
}
|
|
2099
|
+
re = Oe, F = 3, ve = 1;
|
|
2100
|
+
} else if (x == 0 && K.length == 1) {
|
|
2101
|
+
Oe = new Uint8Array(ge * _e * 3);
|
|
2102
|
+
const be = ge * _e;
|
|
2103
|
+
for (N = 0; N < be; N++) {
|
|
2104
|
+
const Ue = 3 * N, ye = 4 * N;
|
|
2105
|
+
Oe[Ue] = re[ye], Oe[Ue + 1] = re[ye + 1], Oe[Ue + 2] = re[ye + 2];
|
|
2106
|
+
}
|
|
2107
|
+
re = Oe, F = 2, ve = 3, fe = 3 * ge;
|
|
2108
|
+
}
|
|
2109
|
+
de.img = re, de.bpl = fe, de.bpp = ve;
|
|
2110
|
+
}
|
|
2111
|
+
return {
|
|
2112
|
+
ctype: F,
|
|
2113
|
+
depth: B,
|
|
2114
|
+
plte: ne,
|
|
2115
|
+
frames: K
|
|
2116
|
+
};
|
|
2117
|
+
}
|
|
2118
|
+
function i(c, f, b, A, w, U, v) {
|
|
2119
|
+
const M = Uint8Array, l = Uint32Array, o = new M(c[w - 1]), O = new l(c[w - 1]), F = w + 1 < c.length ? new M(c[w + 1]) : null, B = new M(c[w]), X = new l(B.buffer);
|
|
2120
|
+
let Q = f, q = b, N = -1, x = -1;
|
|
2121
|
+
for (let se = 0; se < U.height; se++) for (let ne = 0; ne < U.width; ne++) {
|
|
2122
|
+
const ee = U.x + ne, ie = U.y + se, de = ie * f + ee, ge = X[de];
|
|
2123
|
+
ge == 0 || A[w - 1].dispose == 0 && O[de] == ge && (F == null || F[4 * de + 3] != 0) || (ee < Q && (Q = ee), ee > N && (N = ee), ie < q && (q = ie), ie > x && (x = ie));
|
|
2124
|
+
}
|
|
2125
|
+
N == -1 && (Q = q = N = x = 0), v && ((1 & Q) == 1 && Q--, (1 & q) == 1 && q--), U = {
|
|
2126
|
+
x: Q,
|
|
2127
|
+
y: q,
|
|
2128
|
+
width: N - Q + 1,
|
|
2129
|
+
height: x - q + 1
|
|
2130
|
+
};
|
|
2131
|
+
const K = A[w];
|
|
2132
|
+
K.rect = U, K.blend = 1, K.img = new Uint8Array(U.width * U.height * 4), A[w - 1].dispose == 0 ? (T(o, f, b, K.img, U.width, U.height, -U.x, -U.y, 0), n(B, f, b, K.img, U)) : T(B, f, b, K.img, U.width, U.height, -U.x, -U.y, 0);
|
|
2133
|
+
}
|
|
2134
|
+
function n(c, f, b, A, w) {
|
|
2135
|
+
T(c, f, b, A, w.width, w.height, -w.x, -w.y, 2);
|
|
2136
|
+
}
|
|
2137
|
+
function s(c, f, b, A, w, U, v) {
|
|
2138
|
+
const M = [];
|
|
2139
|
+
let l, o = [
|
|
2140
|
+
0,
|
|
2141
|
+
1,
|
|
2142
|
+
2,
|
|
2143
|
+
3,
|
|
2144
|
+
4
|
|
2145
|
+
];
|
|
2146
|
+
U != -1 ? o = [U] : (f * A > 5e5 || b == 1) && (o = [0]), v && (l = { level: 0 });
|
|
2147
|
+
const O = V;
|
|
2148
|
+
for (var F = 0; F < o.length; F++) {
|
|
2149
|
+
for (let Q = 0; Q < f; Q++) h(w, c, Q, A, b, o[F]);
|
|
2150
|
+
M.push(O.deflate(w, l));
|
|
2151
|
+
}
|
|
2152
|
+
let B, X = 1e9;
|
|
2153
|
+
for (F = 0; F < M.length; F++) M[F].length < X && (B = F, X = M[F].length);
|
|
2154
|
+
return M[B];
|
|
2155
|
+
}
|
|
2156
|
+
function h(c, f, b, A, w, U) {
|
|
2157
|
+
const v = b * A;
|
|
2158
|
+
let M = v + b;
|
|
2159
|
+
if (c[M] = U, M++, U == 0) if (A < 500) for (var l = 0; l < A; l++) c[M + l] = f[v + l];
|
|
2160
|
+
else c.set(new Uint8Array(f.buffer, v, A), M);
|
|
2161
|
+
else if (U == 1) {
|
|
2162
|
+
for (l = 0; l < w; l++) c[M + l] = f[v + l];
|
|
2163
|
+
for (l = w; l < A; l++) c[M + l] = f[v + l] - f[v + l - w] + 256 & 255;
|
|
2164
|
+
} else if (b == 0) {
|
|
2165
|
+
for (l = 0; l < w; l++) c[M + l] = f[v + l];
|
|
2166
|
+
if (U == 2) for (l = w; l < A; l++) c[M + l] = f[v + l];
|
|
2167
|
+
if (U == 3) for (l = w; l < A; l++) c[M + l] = f[v + l] - (f[v + l - w] >> 1) + 256 & 255;
|
|
2168
|
+
if (U == 4) for (l = w; l < A; l++) c[M + l] = f[v + l] - H(f[v + l - w], 0, 0) + 256 & 255;
|
|
2169
|
+
} else {
|
|
2170
|
+
if (U == 2) for (l = 0; l < A; l++) c[M + l] = f[v + l] + 256 - f[v + l - A] & 255;
|
|
2171
|
+
if (U == 3) {
|
|
2172
|
+
for (l = 0; l < w; l++) c[M + l] = f[v + l] + 256 - (f[v + l - A] >> 1) & 255;
|
|
2173
|
+
for (l = w; l < A; l++) c[M + l] = f[v + l] + 256 - (f[v + l - A] + f[v + l - w] >> 1) & 255;
|
|
2174
|
+
}
|
|
2175
|
+
if (U == 4) {
|
|
2176
|
+
for (l = 0; l < w; l++) c[M + l] = f[v + l] + 256 - H(0, f[v + l - A], 0) & 255;
|
|
2177
|
+
for (l = w; l < A; l++) c[M + l] = f[v + l] + 256 - H(f[v + l - w], f[v + l - A], f[v + l - w - A]) & 255;
|
|
2178
|
+
}
|
|
2179
|
+
}
|
|
2180
|
+
}
|
|
2181
|
+
function E(c, f) {
|
|
2182
|
+
const b = new Uint8Array(c), A = b.slice(0), w = new Uint32Array(A.buffer), U = S(A, f), v = U[0], M = U[1], l = b.length, o = new Uint8Array(l >> 2);
|
|
2183
|
+
let O;
|
|
2184
|
+
if (b.length < 2e7) for (var F = 0; F < l; F += 4) O = y(v, B = b[F] * (1 / 255), X = b[F + 1] * (1 / 255), Q = b[F + 2] * (1 / 255), q = b[F + 3] * (1 / 255)), o[F >> 2] = O.ind, w[F >> 2] = O.est.rgba;
|
|
2185
|
+
else for (F = 0; F < l; F += 4) {
|
|
2186
|
+
var B = b[F] * .00392156862745098, X = b[F + 1] * (1 / 255), Q = b[F + 2] * (1 / 255), q = b[F + 3] * (1 / 255);
|
|
2187
|
+
for (O = v; O.left;) O = D(O.est, B, X, Q, q) <= 0 ? O.left : O.right;
|
|
2188
|
+
o[F >> 2] = O.ind, w[F >> 2] = O.est.rgba;
|
|
2189
|
+
}
|
|
2190
|
+
return {
|
|
2191
|
+
abuf: A.buffer,
|
|
2192
|
+
inds: o,
|
|
2193
|
+
plte: M
|
|
2194
|
+
};
|
|
2195
|
+
}
|
|
2196
|
+
function S(c, f, b) {
|
|
2197
|
+
b ??= 1e-4;
|
|
2198
|
+
const A = new Uint32Array(c.buffer), w = {
|
|
2199
|
+
i0: 0,
|
|
2200
|
+
i1: c.length,
|
|
2201
|
+
bst: null,
|
|
2202
|
+
est: null,
|
|
2203
|
+
tdst: 0,
|
|
2204
|
+
left: null,
|
|
2205
|
+
right: null
|
|
2206
|
+
};
|
|
2207
|
+
w.bst = j(c, w.i0, w.i1), w.est = m(w.bst);
|
|
2208
|
+
const U = [w];
|
|
2209
|
+
for (; U.length < f;) {
|
|
2210
|
+
let M = 0, l = 0;
|
|
2211
|
+
for (var v = 0; v < U.length; v++) U[v].est.L > M && (M = U[v].est.L, l = v);
|
|
2212
|
+
if (M < b) break;
|
|
2213
|
+
const o = U[l], O = L(c, A, o.i0, o.i1, o.est.e, o.est.eMq255);
|
|
2214
|
+
if (o.i0 >= O || o.i1 <= O) {
|
|
2215
|
+
o.est.L = 0;
|
|
2216
|
+
continue;
|
|
2217
|
+
}
|
|
2218
|
+
const F = {
|
|
2219
|
+
i0: o.i0,
|
|
2220
|
+
i1: O,
|
|
2221
|
+
bst: null,
|
|
2222
|
+
est: null,
|
|
2223
|
+
tdst: 0,
|
|
2224
|
+
left: null,
|
|
2225
|
+
right: null
|
|
2226
|
+
};
|
|
2227
|
+
F.bst = j(c, F.i0, F.i1), F.est = m(F.bst);
|
|
2228
|
+
const B = {
|
|
2229
|
+
i0: O,
|
|
2230
|
+
i1: o.i1,
|
|
2231
|
+
bst: null,
|
|
2232
|
+
est: null,
|
|
2233
|
+
tdst: 0,
|
|
2234
|
+
left: null,
|
|
2235
|
+
right: null
|
|
2236
|
+
};
|
|
2237
|
+
for (B.bst = {
|
|
2238
|
+
R: [],
|
|
2239
|
+
m: [],
|
|
2240
|
+
N: o.bst.N - F.bst.N
|
|
2241
|
+
}, v = 0; v < 16; v++) B.bst.R[v] = o.bst.R[v] - F.bst.R[v];
|
|
2242
|
+
for (v = 0; v < 4; v++) B.bst.m[v] = o.bst.m[v] - F.bst.m[v];
|
|
2243
|
+
B.est = m(B.bst), o.left = F, o.right = B, U[l] = F, U.push(B);
|
|
2244
|
+
}
|
|
2245
|
+
for (U.sort(((M, l) => l.bst.N - M.bst.N)), v = 0; v < U.length; v++) U[v].ind = v;
|
|
2246
|
+
return [w, U];
|
|
2247
|
+
}
|
|
2248
|
+
function y(c, f, b, A, w) {
|
|
2249
|
+
if (c.left == null) return c.tdst = (function(F, B, X, Q, q) {
|
|
2250
|
+
const N = B - F[0], x = X - F[1], K = Q - F[2], se = q - F[3];
|
|
2251
|
+
return N * N + x * x + K * K + se * se;
|
|
2252
|
+
})(c.est.q, f, b, A, w), c;
|
|
2253
|
+
const U = D(c.est, f, b, A, w);
|
|
2254
|
+
let v = c.left, M = c.right;
|
|
2255
|
+
U > 0 && (v = c.right, M = c.left);
|
|
2256
|
+
const l = y(v, f, b, A, w);
|
|
2257
|
+
if (l.tdst <= U * U) return l;
|
|
2258
|
+
const o = y(M, f, b, A, w);
|
|
2259
|
+
return o.tdst < l.tdst ? o : l;
|
|
2260
|
+
}
|
|
2261
|
+
function D(c, f, b, A, w) {
|
|
2262
|
+
const { e: U } = c;
|
|
2263
|
+
return U[0] * f + U[1] * b + U[2] * A + U[3] * w - c.eMq;
|
|
2264
|
+
}
|
|
2265
|
+
function L(c, f, b, A, w, U) {
|
|
2266
|
+
for (A -= 4; b < A;) {
|
|
2267
|
+
for (; P(c, b, w) <= U;) b += 4;
|
|
2268
|
+
for (; P(c, A, w) > U;) A -= 4;
|
|
2269
|
+
if (b >= A) break;
|
|
2270
|
+
const v = f[b >> 2];
|
|
2271
|
+
f[b >> 2] = f[A >> 2], f[A >> 2] = v, b += 4, A -= 4;
|
|
2272
|
+
}
|
|
2273
|
+
for (; P(c, b, w) > U;) b -= 4;
|
|
2274
|
+
return b + 4;
|
|
2275
|
+
}
|
|
2276
|
+
function P(c, f, b) {
|
|
2277
|
+
return c[f] * b[0] + c[f + 1] * b[1] + c[f + 2] * b[2] + c[f + 3] * b[3];
|
|
2278
|
+
}
|
|
2279
|
+
function j(c, f, b) {
|
|
2280
|
+
const A = [
|
|
2281
|
+
0,
|
|
2282
|
+
0,
|
|
2283
|
+
0,
|
|
2284
|
+
0,
|
|
2285
|
+
0,
|
|
2286
|
+
0,
|
|
2287
|
+
0,
|
|
2288
|
+
0,
|
|
2289
|
+
0,
|
|
2290
|
+
0,
|
|
2291
|
+
0,
|
|
2292
|
+
0,
|
|
2293
|
+
0,
|
|
2294
|
+
0,
|
|
2295
|
+
0,
|
|
2296
|
+
0
|
|
2297
|
+
], w = [
|
|
2298
|
+
0,
|
|
2299
|
+
0,
|
|
2300
|
+
0,
|
|
2301
|
+
0
|
|
2302
|
+
], U = b - f >> 2;
|
|
2303
|
+
for (let v = f; v < b; v += 4) {
|
|
2304
|
+
const M = c[v] * .00392156862745098, l = c[v + 1] * (1 / 255), o = c[v + 2] * (1 / 255), O = c[v + 3] * (1 / 255);
|
|
2305
|
+
w[0] += M, w[1] += l, w[2] += o, w[3] += O, A[0] += M * M, A[1] += M * l, A[2] += M * o, A[3] += M * O, A[5] += l * l, A[6] += l * o, A[7] += l * O, A[10] += o * o, A[11] += o * O, A[15] += O * O;
|
|
2306
|
+
}
|
|
2307
|
+
return A[4] = A[1], A[8] = A[2], A[9] = A[6], A[12] = A[3], A[13] = A[7], A[14] = A[11], {
|
|
2308
|
+
R: A,
|
|
2309
|
+
m: w,
|
|
2310
|
+
N: U
|
|
2311
|
+
};
|
|
2312
|
+
}
|
|
2313
|
+
function m(c) {
|
|
2314
|
+
const { R: f } = c, { m: b } = c, { N: A } = c, w = b[0], U = b[1], v = b[2], M = b[3], l = A == 0 ? 0 : 1 / A, o = [
|
|
2315
|
+
f[0] - w * w * l,
|
|
2316
|
+
f[1] - w * U * l,
|
|
2317
|
+
f[2] - w * v * l,
|
|
2318
|
+
f[3] - w * M * l,
|
|
2319
|
+
f[4] - U * w * l,
|
|
2320
|
+
f[5] - U * U * l,
|
|
2321
|
+
f[6] - U * v * l,
|
|
2322
|
+
f[7] - U * M * l,
|
|
2323
|
+
f[8] - v * w * l,
|
|
2324
|
+
f[9] - v * U * l,
|
|
2325
|
+
f[10] - v * v * l,
|
|
2326
|
+
f[11] - v * M * l,
|
|
2327
|
+
f[12] - M * w * l,
|
|
2328
|
+
f[13] - M * U * l,
|
|
2329
|
+
f[14] - M * v * l,
|
|
2330
|
+
f[15] - M * M * l
|
|
2331
|
+
], O = o, F = C;
|
|
2332
|
+
let B = [
|
|
2333
|
+
Math.random(),
|
|
2334
|
+
Math.random(),
|
|
2335
|
+
Math.random(),
|
|
2336
|
+
Math.random()
|
|
2337
|
+
], X = 0, Q = 0;
|
|
2338
|
+
if (A != 0) for (let N = 0; N < 16 && (B = F.multVec(O, B), Q = Math.sqrt(F.dot(B, B)), B = F.sml(1 / Q, B), !(N != 0 && Math.abs(Q - X) < 1e-9)); N++) X = Q;
|
|
2339
|
+
const q = [
|
|
2340
|
+
w * l,
|
|
2341
|
+
U * l,
|
|
2342
|
+
v * l,
|
|
2343
|
+
M * l
|
|
2344
|
+
];
|
|
2345
|
+
return {
|
|
2346
|
+
Cov: o,
|
|
2347
|
+
q,
|
|
2348
|
+
e: B,
|
|
2349
|
+
L: X,
|
|
2350
|
+
eMq255: F.dot(F.sml(255, q), B),
|
|
2351
|
+
eMq: F.dot(B, q),
|
|
2352
|
+
rgba: (Math.round(255 * q[3]) << 24 | Math.round(255 * q[2]) << 16 | Math.round(255 * q[1]) << 8 | Math.round(255 * q[0]) << 0) >>> 0
|
|
2353
|
+
};
|
|
2354
|
+
}
|
|
2355
|
+
var C = {
|
|
2356
|
+
multVec: (c, f) => [
|
|
2357
|
+
c[0] * f[0] + c[1] * f[1] + c[2] * f[2] + c[3] * f[3],
|
|
2358
|
+
c[4] * f[0] + c[5] * f[1] + c[6] * f[2] + c[7] * f[3],
|
|
2359
|
+
c[8] * f[0] + c[9] * f[1] + c[10] * f[2] + c[11] * f[3],
|
|
2360
|
+
c[12] * f[0] + c[13] * f[1] + c[14] * f[2] + c[15] * f[3]
|
|
2361
|
+
],
|
|
2362
|
+
dot: (c, f) => c[0] * f[0] + c[1] * f[1] + c[2] * f[2] + c[3] * f[3],
|
|
2363
|
+
sml: (c, f) => [
|
|
2364
|
+
c * f[0],
|
|
2365
|
+
c * f[1],
|
|
2366
|
+
c * f[2],
|
|
2367
|
+
c * f[3]
|
|
2368
|
+
]
|
|
2369
|
+
};
|
|
2370
|
+
Z.encode = function(f, b, A, w, U, v, M) {
|
|
2371
|
+
w ??= 0, M ??= !1;
|
|
2372
|
+
const l = r(f, b, A, w, [
|
|
2373
|
+
!1,
|
|
2374
|
+
!1,
|
|
2375
|
+
!1,
|
|
2376
|
+
0,
|
|
2377
|
+
M,
|
|
2378
|
+
!1
|
|
2379
|
+
]);
|
|
2380
|
+
return _(l, -1), p(l, b, A, U, v);
|
|
2381
|
+
}, Z.encodeLL = function(f, b, A, w, U, v, M, l) {
|
|
2382
|
+
const o = {
|
|
2383
|
+
ctype: 0 + (w == 1 ? 0 : 2) + (U == 0 ? 0 : 4),
|
|
2384
|
+
depth: v,
|
|
2385
|
+
frames: []
|
|
2386
|
+
}, O = (w + U) * v, F = O * b;
|
|
2387
|
+
for (let B = 0; B < f.length; B++) o.frames.push({
|
|
2388
|
+
rect: {
|
|
2389
|
+
x: 0,
|
|
2390
|
+
y: 0,
|
|
2391
|
+
width: b,
|
|
2392
|
+
height: A
|
|
2393
|
+
},
|
|
2394
|
+
img: new Uint8Array(f[B]),
|
|
2395
|
+
blend: 0,
|
|
2396
|
+
dispose: 1,
|
|
2397
|
+
bpp: Math.ceil(O / 8),
|
|
2398
|
+
bpl: Math.ceil(F / 8)
|
|
2399
|
+
});
|
|
2400
|
+
return _(o, 0, !0), p(o, b, A, M, l);
|
|
2401
|
+
}, Z.encode.compress = r, Z.encode.dither = a, Z.quantize = E, Z.quantize.getKDtree = S, Z.quantize.getNearest = y;
|
|
2402
|
+
})();
|
|
2403
|
+
const J = {
|
|
2404
|
+
toArrayBuffer(T, R) {
|
|
2405
|
+
const H = T.width, d = T.height, e = H << 2, t = T.getContext("2d").getImageData(0, 0, H, d), u = new Uint32Array(t.data.buffer), a = (32 * H + 31) / 32 << 2, p = a * d, _ = 122 + p, r = new ArrayBuffer(_), i = new DataView(r), n = 1 << 20;
|
|
2406
|
+
let s, h, E, S, y = n, D = 0, L = 0, P = 0;
|
|
2407
|
+
function j(c) {
|
|
2408
|
+
i.setUint16(L, c, !0), L += 2;
|
|
2409
|
+
}
|
|
2410
|
+
function m(c) {
|
|
2411
|
+
i.setUint32(L, c, !0), L += 4;
|
|
2412
|
+
}
|
|
2413
|
+
function C(c) {
|
|
2414
|
+
L += c;
|
|
2415
|
+
}
|
|
2416
|
+
j(19778), m(_), C(4), m(122), m(108), m(H), m(-d >>> 0), j(1), j(32), m(3), m(p), m(2835), m(2835), C(8), m(16711680), m(65280), m(255), m(4278190080), m(1466527264), (function c() {
|
|
2417
|
+
for (; D < d && y > 0;) {
|
|
2418
|
+
for (S = 122 + D * a, s = 0; s < e;) y--, h = u[P++], E = h >>> 24, i.setUint32(S + s, h << 8 | E), s += 4;
|
|
2419
|
+
D++;
|
|
2420
|
+
}
|
|
2421
|
+
P < u.length ? (y = n, setTimeout(c, J._dly)) : R(r);
|
|
2422
|
+
})();
|
|
2423
|
+
},
|
|
2424
|
+
toBlob(T, R) {
|
|
2425
|
+
this.toArrayBuffer(T, ((H) => {
|
|
2426
|
+
R(new Blob([H], { type: "image/bmp" }));
|
|
2427
|
+
}));
|
|
2428
|
+
},
|
|
2429
|
+
_dly: 9
|
|
2430
|
+
};
|
|
2431
|
+
var $ = {
|
|
2432
|
+
CHROME: "CHROME",
|
|
2433
|
+
FIREFOX: "FIREFOX",
|
|
2434
|
+
DESKTOP_SAFARI: "DESKTOP_SAFARI",
|
|
2435
|
+
IE: "IE",
|
|
2436
|
+
IOS: "IOS",
|
|
2437
|
+
ETC: "ETC"
|
|
2438
|
+
}, Fe = {
|
|
2439
|
+
[$.CHROME]: 16384,
|
|
2440
|
+
[$.FIREFOX]: 11180,
|
|
2441
|
+
[$.DESKTOP_SAFARI]: 16384,
|
|
2442
|
+
[$.IE]: 8192,
|
|
2443
|
+
[$.IOS]: 4096,
|
|
2444
|
+
[$.ETC]: 8192
|
|
2445
|
+
};
|
|
2446
|
+
const ae = typeof window < "u", Be = typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope, Ie = ae && window.cordova && window.cordova.require && window.cordova.require("cordova/modulemapper"), te = (ae || Be) && (Ie && Ie.getOriginalSymbol(window, "File") || typeof File < "u" && File), Y = (ae || Be) && (Ie && Ie.getOriginalSymbol(window, "FileReader") || typeof FileReader < "u" && FileReader);
|
|
2447
|
+
function me(T, R, H = Date.now()) {
|
|
2448
|
+
return new Promise(((d) => {
|
|
2449
|
+
const e = T.split(","), t = e[0].match(/:(.*?);/)[1], u = globalThis.atob(e[1]);
|
|
2450
|
+
let a = u.length;
|
|
2451
|
+
const p = new Uint8Array(a);
|
|
2452
|
+
for (; a--;) p[a] = u.charCodeAt(a);
|
|
2453
|
+
const _ = new Blob([p], { type: t });
|
|
2454
|
+
_.name = R, _.lastModified = H, d(_);
|
|
2455
|
+
}));
|
|
2456
|
+
}
|
|
2457
|
+
function pe(T) {
|
|
2458
|
+
return new Promise(((R, H) => {
|
|
2459
|
+
const d = new Y();
|
|
2460
|
+
d.onload = () => R(d.result), d.onerror = (e) => H(e), d.readAsDataURL(T);
|
|
2461
|
+
}));
|
|
2462
|
+
}
|
|
2463
|
+
function Re(T) {
|
|
2464
|
+
return new Promise(((R, H) => {
|
|
2465
|
+
const d = new Image();
|
|
2466
|
+
d.onload = () => R(d), d.onerror = (e) => H(e), d.src = T;
|
|
2467
|
+
}));
|
|
2468
|
+
}
|
|
2469
|
+
function ue() {
|
|
2470
|
+
if (ue.cachedResult !== void 0) return ue.cachedResult;
|
|
2471
|
+
let T = $.ETC;
|
|
2472
|
+
const { userAgent: R } = navigator;
|
|
2473
|
+
return /Chrom(e|ium)/i.test(R) ? T = $.CHROME : /iP(ad|od|hone)/i.test(R) && /WebKit/i.test(R) ? T = $.IOS : /Safari/i.test(R) ? T = $.DESKTOP_SAFARI : /Firefox/i.test(R) ? T = $.FIREFOX : (/MSIE/i.test(R) || document.documentMode) && (T = $.IE), ue.cachedResult = T, ue.cachedResult;
|
|
2474
|
+
}
|
|
2475
|
+
function Pe(T, R) {
|
|
2476
|
+
const H = Fe[ue()];
|
|
2477
|
+
let d = T, e = R, t = d * e;
|
|
2478
|
+
const u = d > e ? e / d : d / e;
|
|
2479
|
+
for (; t > H * H;) {
|
|
2480
|
+
const a = (H + d) / 2, p = (H + e) / 2;
|
|
2481
|
+
a < p ? (e = p, d = p * u) : (e = a * u, d = a), t = d * e;
|
|
2482
|
+
}
|
|
2483
|
+
return {
|
|
2484
|
+
width: d,
|
|
2485
|
+
height: e
|
|
2486
|
+
};
|
|
2487
|
+
}
|
|
2488
|
+
function xe(T, R) {
|
|
2489
|
+
let H, d;
|
|
2490
|
+
try {
|
|
2491
|
+
if (H = new OffscreenCanvas(T, R), d = H.getContext("2d"), d === null) throw new Error("getContext of OffscreenCanvas returns null");
|
|
2492
|
+
} catch {
|
|
2493
|
+
H = document.createElement("canvas"), d = H.getContext("2d");
|
|
2494
|
+
}
|
|
2495
|
+
return H.width = T, H.height = R, [H, d];
|
|
2496
|
+
}
|
|
2497
|
+
function Ce(T, R) {
|
|
2498
|
+
const { width: H, height: d } = Pe(T.width, T.height), [e, t] = xe(H, d);
|
|
2499
|
+
return R && /jpe?g/.test(R) && (t.fillStyle = "white", t.fillRect(0, 0, e.width, e.height)), t.drawImage(T, 0, 0, e.width, e.height), e;
|
|
2500
|
+
}
|
|
2501
|
+
function Je() {
|
|
2502
|
+
return Je.cachedResult !== void 0 || (Je.cachedResult = [
|
|
2503
|
+
"iPad Simulator",
|
|
2504
|
+
"iPhone Simulator",
|
|
2505
|
+
"iPod Simulator",
|
|
2506
|
+
"iPad",
|
|
2507
|
+
"iPhone",
|
|
2508
|
+
"iPod"
|
|
2509
|
+
].includes(navigator.platform) || navigator.userAgent.includes("Mac") && typeof document < "u" && "ontouchend" in document), Je.cachedResult;
|
|
2510
|
+
}
|
|
2511
|
+
function ft(T, R = {}) {
|
|
2512
|
+
return new Promise((function(H, d) {
|
|
2513
|
+
let e, t;
|
|
2514
|
+
var u = function() {
|
|
2515
|
+
try {
|
|
2516
|
+
return t = Ce(e, R.fileType || T.type), H([e, t]);
|
|
2517
|
+
} catch (p) {
|
|
2518
|
+
return d(p);
|
|
2519
|
+
}
|
|
2520
|
+
}, a = function(p) {
|
|
2521
|
+
try {
|
|
2522
|
+
var _ = function(r) {
|
|
2523
|
+
try {
|
|
2524
|
+
throw r;
|
|
2525
|
+
} catch (i) {
|
|
2526
|
+
return d(i);
|
|
2527
|
+
}
|
|
2528
|
+
};
|
|
2529
|
+
try {
|
|
2530
|
+
let r;
|
|
2531
|
+
return pe(T).then((function(i) {
|
|
2532
|
+
try {
|
|
2533
|
+
return r = i, Re(r).then((function(n) {
|
|
2534
|
+
try {
|
|
2535
|
+
return e = n, (function() {
|
|
2536
|
+
try {
|
|
2537
|
+
return u();
|
|
2538
|
+
} catch (s) {
|
|
2539
|
+
return d(s);
|
|
2540
|
+
}
|
|
2541
|
+
})();
|
|
2542
|
+
} catch (s) {
|
|
2543
|
+
return _(s);
|
|
2544
|
+
}
|
|
2545
|
+
}), _);
|
|
2546
|
+
} catch (n) {
|
|
2547
|
+
return _(n);
|
|
2548
|
+
}
|
|
2549
|
+
}), _);
|
|
2550
|
+
} catch (r) {
|
|
2551
|
+
_(r);
|
|
2552
|
+
}
|
|
2553
|
+
} catch (r) {
|
|
2554
|
+
return d(r);
|
|
2555
|
+
}
|
|
2556
|
+
};
|
|
2557
|
+
try {
|
|
2558
|
+
if (Je() || [$.DESKTOP_SAFARI, $.MOBILE_SAFARI].includes(ue())) throw new Error("Skip createImageBitmap on IOS and Safari");
|
|
2559
|
+
return createImageBitmap(T).then((function(p) {
|
|
2560
|
+
try {
|
|
2561
|
+
return e = p, u();
|
|
2562
|
+
} catch {
|
|
2563
|
+
return a();
|
|
2564
|
+
}
|
|
2565
|
+
}), a);
|
|
2566
|
+
} catch {
|
|
2567
|
+
a();
|
|
2568
|
+
}
|
|
2569
|
+
}));
|
|
2570
|
+
}
|
|
2571
|
+
function ct(T, R, H, d, e = 1) {
|
|
2572
|
+
return new Promise((function(t, u) {
|
|
2573
|
+
let a;
|
|
2574
|
+
if (R === "image/png") {
|
|
2575
|
+
let _, r, i;
|
|
2576
|
+
return _ = T.getContext("2d"), {data: r} = _.getImageData(0, 0, T.width, T.height), i = Z.encode([r.buffer], T.width, T.height, 4096 * e), a = new Blob([i], { type: R }), a.name = H, a.lastModified = d, p.call(this);
|
|
2577
|
+
}
|
|
2578
|
+
{
|
|
2579
|
+
let _ = function() {
|
|
2580
|
+
return p.call(this);
|
|
2581
|
+
};
|
|
2582
|
+
if (R === "image/bmp") return new Promise(((r) => J.toBlob(T, r))).then(function(r) {
|
|
2583
|
+
try {
|
|
2584
|
+
return a = r, a.name = H, a.lastModified = d, _.call(this);
|
|
2585
|
+
} catch (i) {
|
|
2586
|
+
return u(i);
|
|
2587
|
+
}
|
|
2588
|
+
}.bind(this), u);
|
|
2589
|
+
{
|
|
2590
|
+
let r = function() {
|
|
2591
|
+
return _.call(this);
|
|
2592
|
+
};
|
|
2593
|
+
if (typeof OffscreenCanvas == "function" && T instanceof OffscreenCanvas) return T.convertToBlob({
|
|
2594
|
+
type: R,
|
|
2595
|
+
quality: e
|
|
2596
|
+
}).then(function(i) {
|
|
2597
|
+
try {
|
|
2598
|
+
return a = i, a.name = H, a.lastModified = d, r.call(this);
|
|
2599
|
+
} catch (n) {
|
|
2600
|
+
return u(n);
|
|
2601
|
+
}
|
|
2602
|
+
}.bind(this), u);
|
|
2603
|
+
{
|
|
2604
|
+
let i;
|
|
2605
|
+
return i = T.toDataURL(R, e), me(i, H, d).then(function(n) {
|
|
2606
|
+
try {
|
|
2607
|
+
return a = n, r.call(this);
|
|
2608
|
+
} catch (s) {
|
|
2609
|
+
return u(s);
|
|
2610
|
+
}
|
|
2611
|
+
}.bind(this), u);
|
|
2612
|
+
}
|
|
2613
|
+
}
|
|
2614
|
+
}
|
|
2615
|
+
function p() {
|
|
2616
|
+
return t(a);
|
|
2617
|
+
}
|
|
2618
|
+
}));
|
|
2619
|
+
}
|
|
2620
|
+
function Le(T) {
|
|
2621
|
+
T.width = 0, T.height = 0;
|
|
2622
|
+
}
|
|
2623
|
+
function Ve() {
|
|
2624
|
+
return new Promise((function(T, R) {
|
|
2625
|
+
let H, d, e, t;
|
|
2626
|
+
return Ve.cachedResult !== void 0 ? T(Ve.cachedResult) : me("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==", "test.jpg", Date.now()).then((function(u) {
|
|
2627
|
+
try {
|
|
2628
|
+
return H = u, ft(H).then((function(a) {
|
|
2629
|
+
try {
|
|
2630
|
+
return d = a[1], ct(d, H.type, H.name, H.lastModified).then((function(p) {
|
|
2631
|
+
try {
|
|
2632
|
+
return e = p, Le(d), ft(e).then((function(_) {
|
|
2633
|
+
try {
|
|
2634
|
+
return t = _[0], Ve.cachedResult = t.width === 1 && t.height === 2, T(Ve.cachedResult);
|
|
2635
|
+
} catch (r) {
|
|
2636
|
+
return R(r);
|
|
2637
|
+
}
|
|
2638
|
+
}), R);
|
|
2639
|
+
} catch (_) {
|
|
2640
|
+
return R(_);
|
|
2641
|
+
}
|
|
2642
|
+
}), R);
|
|
2643
|
+
} catch (p) {
|
|
2644
|
+
return R(p);
|
|
2645
|
+
}
|
|
2646
|
+
}), R);
|
|
2647
|
+
} catch (a) {
|
|
2648
|
+
return R(a);
|
|
2649
|
+
}
|
|
2650
|
+
}), R);
|
|
2651
|
+
}));
|
|
2652
|
+
}
|
|
2653
|
+
function Nt(T) {
|
|
2654
|
+
return new Promise(((R, H) => {
|
|
2655
|
+
const d = new Y();
|
|
2656
|
+
d.onload = (e) => {
|
|
2657
|
+
const t = new DataView(e.target.result);
|
|
2658
|
+
if (t.getUint16(0, !1) != 65496) return R(-2);
|
|
2659
|
+
const u = t.byteLength;
|
|
2660
|
+
let a = 2;
|
|
2661
|
+
for (; a < u;) {
|
|
2662
|
+
if (t.getUint16(a + 2, !1) <= 8) return R(-1);
|
|
2663
|
+
const p = t.getUint16(a, !1);
|
|
2664
|
+
if (a += 2, p == 65505) {
|
|
2665
|
+
if (t.getUint32(a += 2, !1) != 1165519206) return R(-1);
|
|
2666
|
+
const _ = t.getUint16(a += 6, !1) == 18761;
|
|
2667
|
+
a += t.getUint32(a + 4, _);
|
|
2668
|
+
const r = t.getUint16(a, _);
|
|
2669
|
+
a += 2;
|
|
2670
|
+
for (let i = 0; i < r; i++) if (t.getUint16(a + 12 * i, _) == 274) return R(t.getUint16(a + 12 * i + 8, _));
|
|
2671
|
+
} else {
|
|
2672
|
+
if ((65280 & p) != 65280) break;
|
|
2673
|
+
a += t.getUint16(a, !1);
|
|
2674
|
+
}
|
|
2675
|
+
}
|
|
2676
|
+
return R(-1);
|
|
2677
|
+
}, d.onerror = (e) => H(e), d.readAsArrayBuffer(T);
|
|
2678
|
+
}));
|
|
2679
|
+
}
|
|
2680
|
+
function Wt(T, R) {
|
|
2681
|
+
const { width: H } = T, { height: d } = T, { maxWidthOrHeight: e } = R;
|
|
2682
|
+
let t, u = T;
|
|
2683
|
+
return isFinite(e) && (H > e || d > e) && ([u, t] = xe(H, d), H > d ? (u.width = e, u.height = d / H * e) : (u.width = H / d * e, u.height = e), t.drawImage(T, 0, 0, u.width, u.height), Le(T)), u;
|
|
2684
|
+
}
|
|
2685
|
+
function zt(T, R) {
|
|
2686
|
+
const { width: H } = T, { height: d } = T, [e, t] = xe(H, d);
|
|
2687
|
+
switch (R > 4 && R < 9 ? (e.width = d, e.height = H) : (e.width = H, e.height = d), R) {
|
|
2688
|
+
case 2:
|
|
2689
|
+
t.transform(-1, 0, 0, 1, H, 0);
|
|
2690
|
+
break;
|
|
2691
|
+
case 3:
|
|
2692
|
+
t.transform(-1, 0, 0, -1, H, d);
|
|
2693
|
+
break;
|
|
2694
|
+
case 4:
|
|
2695
|
+
t.transform(1, 0, 0, -1, 0, d);
|
|
2696
|
+
break;
|
|
2697
|
+
case 5:
|
|
2698
|
+
t.transform(0, 1, 1, 0, 0, 0);
|
|
2699
|
+
break;
|
|
2700
|
+
case 6:
|
|
2701
|
+
t.transform(0, 1, -1, 0, d, 0);
|
|
2702
|
+
break;
|
|
2703
|
+
case 7:
|
|
2704
|
+
t.transform(0, -1, -1, 0, d, H);
|
|
2705
|
+
break;
|
|
2706
|
+
case 8: t.transform(0, -1, 1, 0, 0, H);
|
|
2707
|
+
}
|
|
2708
|
+
return t.drawImage(T, 0, 0, H, d), Le(T), e;
|
|
2709
|
+
}
|
|
2710
|
+
function Qt(T, R, H = 0) {
|
|
2711
|
+
return new Promise((function(d, e) {
|
|
2712
|
+
let t, u, a, p, _, r, i, n, s, h, E, S, y, D, L, P, j, m, C, c;
|
|
2713
|
+
function f(A = 5) {
|
|
2714
|
+
if (R.signal && R.signal.aborted) throw R.signal.reason;
|
|
2715
|
+
t += A, R.onProgress(Math.min(t, 100));
|
|
2716
|
+
}
|
|
2717
|
+
function b(A) {
|
|
2718
|
+
if (R.signal && R.signal.aborted) throw R.signal.reason;
|
|
2719
|
+
t = Math.min(Math.max(A, t), 100), R.onProgress(t);
|
|
2720
|
+
}
|
|
2721
|
+
return t = H, u = R.maxIteration || 10, a = 1024 * R.maxSizeMB * 1024, f(), ft(T, R).then(function(A) {
|
|
2722
|
+
try {
|
|
2723
|
+
return [, p] = A, f(), _ = Wt(p, R), f(), new Promise((function(w, U) {
|
|
2724
|
+
var v;
|
|
2725
|
+
if (!(v = R.exifOrientation)) return Nt(T).then(function(l) {
|
|
2726
|
+
try {
|
|
2727
|
+
return v = l, M.call(this);
|
|
2728
|
+
} catch (o) {
|
|
2729
|
+
return U(o);
|
|
2730
|
+
}
|
|
2731
|
+
}.bind(this), U);
|
|
2732
|
+
function M() {
|
|
2733
|
+
return w(v);
|
|
2734
|
+
}
|
|
2735
|
+
return M.call(this);
|
|
2736
|
+
})).then(function(w) {
|
|
2737
|
+
try {
|
|
2738
|
+
return r = w, f(), Ve().then(function(U) {
|
|
2739
|
+
try {
|
|
2740
|
+
return i = U ? _ : zt(_, r), f(), n = R.initialQuality || 1, s = R.fileType || T.type, ct(i, s, T.name, T.lastModified, n).then(function(v) {
|
|
2741
|
+
try {
|
|
2742
|
+
{
|
|
2743
|
+
let l = function() {
|
|
2744
|
+
if (u-- && (L > a || L > y)) {
|
|
2745
|
+
let O, F;
|
|
2746
|
+
return O = c ? .95 * C.width : C.width, F = c ? .95 * C.height : C.height, [j, m] = xe(O, F), m.drawImage(C, 0, 0, O, F), n *= s === "image/png" ? .85 : .95, ct(j, s, T.name, T.lastModified, n).then((function(B) {
|
|
2747
|
+
try {
|
|
2748
|
+
return P = B, Le(C), C = j, L = P.size, b(Math.min(99, Math.floor((D - L) / (D - a) * 100))), l;
|
|
2749
|
+
} catch (X) {
|
|
2750
|
+
return e(X);
|
|
2751
|
+
}
|
|
2752
|
+
}), e);
|
|
2753
|
+
}
|
|
2754
|
+
return [1];
|
|
2755
|
+
}, o = function() {
|
|
2756
|
+
return Le(C), Le(j), Le(_), Le(i), Le(p), b(100), d(P);
|
|
2757
|
+
};
|
|
2758
|
+
if (h = v, f(), E = h.size > a, S = h.size > T.size, !E && !S) return b(100), d(h);
|
|
2759
|
+
var M;
|
|
2760
|
+
return y = T.size, D = h.size, L = D, C = i, c = !R.alwaysKeepResolution && E, (M = function(O) {
|
|
2761
|
+
for (; O;) {
|
|
2762
|
+
if (O.then) return void O.then(M, e);
|
|
2763
|
+
try {
|
|
2764
|
+
if (O.pop) {
|
|
2765
|
+
if (O.length) return O.pop() ? o.call(this) : O;
|
|
2766
|
+
O = l;
|
|
2767
|
+
} else O = O.call(this);
|
|
2768
|
+
} catch (F) {
|
|
2769
|
+
return e(F);
|
|
2770
|
+
}
|
|
2771
|
+
}
|
|
2772
|
+
}.bind(this))(l);
|
|
2773
|
+
}
|
|
2774
|
+
} catch (l) {
|
|
2775
|
+
return e(l);
|
|
2776
|
+
}
|
|
2777
|
+
}.bind(this), e);
|
|
2778
|
+
} catch (v) {
|
|
2779
|
+
return e(v);
|
|
2780
|
+
}
|
|
2781
|
+
}.bind(this), e);
|
|
2782
|
+
} catch (U) {
|
|
2783
|
+
return e(U);
|
|
2784
|
+
}
|
|
2785
|
+
}.bind(this), e);
|
|
2786
|
+
} catch (w) {
|
|
2787
|
+
return e(w);
|
|
2788
|
+
}
|
|
2789
|
+
}.bind(this), e);
|
|
2790
|
+
}));
|
|
2791
|
+
}
|
|
2792
|
+
const jn = `
|
|
2793
|
+
let scriptImported = false
|
|
2794
|
+
self.addEventListener('message', async (e) => {
|
|
2795
|
+
const { file, id, imageCompressionLibUrl, options } = e.data
|
|
2796
|
+
options.onProgress = (progress) => self.postMessage({ progress, id })
|
|
2797
|
+
try {
|
|
2798
|
+
if (!scriptImported) {
|
|
2799
|
+
// console.log('[worker] importScripts', imageCompressionLibUrl)
|
|
2800
|
+
self.importScripts(imageCompressionLibUrl)
|
|
2801
|
+
scriptImported = true
|
|
2802
|
+
}
|
|
2803
|
+
// console.log('[worker] self', self)
|
|
2804
|
+
const compressedFile = await imageCompression(file, options)
|
|
2805
|
+
self.postMessage({ file: compressedFile, id })
|
|
2806
|
+
} catch (e) {
|
|
2807
|
+
// console.error('[worker] error', e)
|
|
2808
|
+
self.postMessage({ error: e.message + '\\n' + e.stack, id })
|
|
2809
|
+
}
|
|
2810
|
+
})
|
|
2811
|
+
`;
|
|
2812
|
+
let yt;
|
|
2813
|
+
function Dn(T, R) {
|
|
2814
|
+
return new Promise(((H, d) => {
|
|
2815
|
+
yt || (yt = (function(u) {
|
|
2816
|
+
const a = [];
|
|
2817
|
+
return typeof u == "function" ? a.push(`(${u})()`) : a.push(u), URL.createObjectURL(new Blob(a));
|
|
2818
|
+
})(jn));
|
|
2819
|
+
const e = new Worker(yt);
|
|
2820
|
+
e.addEventListener("message", (function(u) {
|
|
2821
|
+
if (R.signal && R.signal.aborted) e.terminate();
|
|
2822
|
+
else if (u.data.progress === void 0) {
|
|
2823
|
+
if (u.data.error) return d(new Error(u.data.error)), void e.terminate();
|
|
2824
|
+
H(u.data.file), e.terminate();
|
|
2825
|
+
} else R.onProgress(u.data.progress);
|
|
2826
|
+
})), e.addEventListener("error", d), R.signal && R.signal.addEventListener("abort", (() => {
|
|
2827
|
+
d(R.signal.reason), e.terminate();
|
|
2828
|
+
})), e.postMessage({
|
|
2829
|
+
file: T,
|
|
2830
|
+
imageCompressionLibUrl: R.libURL,
|
|
2831
|
+
options: {
|
|
2832
|
+
...R,
|
|
2833
|
+
onProgress: void 0,
|
|
2834
|
+
signal: void 0
|
|
2835
|
+
}
|
|
2836
|
+
});
|
|
2837
|
+
}));
|
|
2838
|
+
}
|
|
2839
|
+
function Ae(T, R) {
|
|
2840
|
+
return new Promise((function(H, d) {
|
|
2841
|
+
let e, t, u, a, p, _;
|
|
2842
|
+
if (e = { ...R }, u = 0, {onProgress: a} = e, e.maxSizeMB = e.maxSizeMB || Number.POSITIVE_INFINITY, p = typeof e.useWebWorker != "boolean" || e.useWebWorker, delete e.useWebWorker, e.onProgress = (s) => {
|
|
2843
|
+
u = s, typeof a == "function" && a(u);
|
|
2844
|
+
}, !(T instanceof Blob || T instanceof te)) return d(new Error("The file given is not an instance of Blob or File"));
|
|
2845
|
+
if (!/^image/.test(T.type)) return d(new Error("The file given is not an image"));
|
|
2846
|
+
if (_ = typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope, !p || typeof Worker != "function" || _) return Qt(T, e).then(function(s) {
|
|
2847
|
+
try {
|
|
2848
|
+
return t = s, n.call(this);
|
|
2849
|
+
} catch (h) {
|
|
2850
|
+
return d(h);
|
|
2851
|
+
}
|
|
2852
|
+
}.bind(this), d);
|
|
2853
|
+
var r = function() {
|
|
2854
|
+
try {
|
|
2855
|
+
return n.call(this);
|
|
2856
|
+
} catch (s) {
|
|
2857
|
+
return d(s);
|
|
2858
|
+
}
|
|
2859
|
+
}.bind(this), i = function(s) {
|
|
2860
|
+
try {
|
|
2861
|
+
return Qt(T, e).then((function(h) {
|
|
2862
|
+
try {
|
|
2863
|
+
return t = h, r();
|
|
2864
|
+
} catch (E) {
|
|
2865
|
+
return d(E);
|
|
2866
|
+
}
|
|
2867
|
+
}), d);
|
|
2868
|
+
} catch (h) {
|
|
2869
|
+
return d(h);
|
|
2870
|
+
}
|
|
2871
|
+
};
|
|
2872
|
+
try {
|
|
2873
|
+
return e.libURL = e.libURL || "https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js", Dn(T, e).then((function(s) {
|
|
2874
|
+
try {
|
|
2875
|
+
return t = s, r();
|
|
2876
|
+
} catch {
|
|
2877
|
+
return i();
|
|
2878
|
+
}
|
|
2879
|
+
}), i);
|
|
2880
|
+
} catch {
|
|
2881
|
+
i();
|
|
2882
|
+
}
|
|
2883
|
+
function n() {
|
|
2884
|
+
try {
|
|
2885
|
+
t.name = T.name, t.lastModified = T.lastModified;
|
|
2886
|
+
} catch {}
|
|
2887
|
+
try {
|
|
2888
|
+
e.preserveExif && T.type === "image/jpeg" && (!e.fileType || e.fileType && e.fileType === T.type) && (t = z(T, t));
|
|
2889
|
+
} catch {}
|
|
2890
|
+
return H(t);
|
|
2891
|
+
}
|
|
2892
|
+
}));
|
|
2893
|
+
}
|
|
2894
|
+
return Ae.getDataUrlFromFile = pe, Ae.getFilefromDataUrl = me, Ae.loadImage = Re, Ae.drawImageInCanvas = Ce, Ae.drawFileInCanvas = ft, Ae.canvasToFile = ct, Ae.getExifOrientation = Nt, Ae.handleMaxWidthOrHeight = Wt, Ae.followExifOrientation = zt, Ae.cleanupCanvasMemory = Le, Ae.isAutoOrientationInBrowser = Ve, Ae.approximateBelowMaximumCanvasSizeOfBrowser = Pe, Ae.copyExifWithoutOrientation = z, Ae.getBrowserName = ue, Ae.version = "2.0.2", Ae;
|
|
2895
|
+
}));
|
|
2896
|
+
})), mn = Ye.__toESM(gn()), vt = (g) => {
|
|
2897
|
+
if (!g) return "image/png";
|
|
2898
|
+
const I = g.toLowerCase();
|
|
2899
|
+
return I.includes("jpeg") || I.includes("jpg") || I.includes("pjpeg") ? "image/jpeg" : I.includes("png") ? "image/png" : I.includes("gif") ? "image/gif" : I.includes("webp") ? "image/webp" : I.includes("svg") ? "image/svg+xml" : "image/png";
|
|
2900
|
+
}, Lt = (g) => {
|
|
2901
|
+
const I = vt(g).split("/")[1];
|
|
2902
|
+
return I === "svg+xml" ? "svg" : I || "png";
|
|
2903
|
+
};
|
|
2904
|
+
function ot(g) {
|
|
2905
|
+
switch (g.trim().split(".").pop()?.toLowerCase()) {
|
|
2906
|
+
case "svg": return "image/svg+xml";
|
|
2907
|
+
case "png": return "image/png";
|
|
2908
|
+
case "jpg":
|
|
2909
|
+
case "jpeg": return "image/jpeg";
|
|
2910
|
+
case "gif": return "image/gif";
|
|
2911
|
+
case "webp": return "image/webp";
|
|
2912
|
+
default: return;
|
|
2913
|
+
}
|
|
2914
|
+
}
|
|
2915
|
+
function Ot(g) {
|
|
2916
|
+
if (g.type?.startsWith?.("image/")) return !0;
|
|
2917
|
+
const I = (g.name ?? "").trim();
|
|
2918
|
+
if (ot(I)) return !0;
|
|
2919
|
+
const k = (g.type ?? "").toLowerCase();
|
|
2920
|
+
return k.includes("svg") ? !0 : k === "text/xml" || k === "application/xml" || k === "text/plain" ? I.toLowerCase().endsWith(".svg") : !1;
|
|
2921
|
+
}
|
|
2922
|
+
var at = {
|
|
2923
|
+
MAX_SIZE_MB: .48,
|
|
2924
|
+
MAX_WIDTH_OR_HEIGHT: 2e3,
|
|
2925
|
+
QUALITY: .8
|
|
2926
|
+
}, pn = ["gif", "svg"];
|
|
2927
|
+
function vn(g) {
|
|
2928
|
+
return !pn.includes(g);
|
|
2929
|
+
}
|
|
2930
|
+
function kt(g, I) {
|
|
2931
|
+
if (g?.compressMaxSize === 0 || g?.compressMaxWidthOrHeight === 0) return !1;
|
|
2932
|
+
const k = I?.trim() ?? "";
|
|
2933
|
+
return k.startsWith("image/") && k !== "image/gif";
|
|
2934
|
+
}
|
|
2935
|
+
function Bt(g) {
|
|
2936
|
+
return {
|
|
2937
|
+
maxSizeMB: g?.compressMaxSize ?? at.MAX_SIZE_MB,
|
|
2938
|
+
maxWidthOrHeight: g?.compressMaxWidthOrHeight ?? at.MAX_WIDTH_OR_HEIGHT
|
|
2939
|
+
};
|
|
2940
|
+
}
|
|
2941
|
+
function jt(g) {
|
|
2942
|
+
if (!g) return null;
|
|
2943
|
+
const I = g.trim();
|
|
2944
|
+
if (I.endsWith("%")) return null;
|
|
2945
|
+
const k = parseFloat(I.replace(/px$/i, ""));
|
|
2946
|
+
return Number.isFinite(k) && k > 0 ? k : null;
|
|
2947
|
+
}
|
|
2948
|
+
function bn(g) {
|
|
2949
|
+
const I = g.match(/<\s*svg\b[\s\S]*?>/i)?.[0] ?? "", k = I.match(/\bwidth\s*=\s*["']([^"']*)["']/i)?.[1], z = I.match(/\bheight\s*=\s*["']([^"']*)["']/i)?.[1], G = jt(k), W = jt(z);
|
|
2950
|
+
if (G != null && W != null) return {
|
|
2951
|
+
width: G,
|
|
2952
|
+
height: W
|
|
2953
|
+
};
|
|
2954
|
+
const V = g.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1];
|
|
2955
|
+
if (V) {
|
|
2956
|
+
const Z = V.trim().split(/[\s,]+/);
|
|
2957
|
+
if (Z.length === 4) {
|
|
2958
|
+
const J = parseFloat(Z[2]), $ = parseFloat(Z[3]);
|
|
2959
|
+
if (Number.isFinite(J) && Number.isFinite($) && J > 0 && $ > 0) return {
|
|
2960
|
+
width: J,
|
|
2961
|
+
height: $
|
|
2962
|
+
};
|
|
2963
|
+
}
|
|
2964
|
+
}
|
|
2965
|
+
return G != null ? {
|
|
2966
|
+
width: G,
|
|
2967
|
+
height: G
|
|
2968
|
+
} : W != null ? {
|
|
2969
|
+
width: W,
|
|
2970
|
+
height: W
|
|
2971
|
+
} : {
|
|
2972
|
+
width: 300,
|
|
2973
|
+
height: 300
|
|
2974
|
+
};
|
|
2975
|
+
}
|
|
2976
|
+
function yn(g, I = 2, k = 4096) {
|
|
2977
|
+
const { width: z, height: G } = bn(g);
|
|
2978
|
+
let W = Math.max(1, Math.round(z * I)), V = Math.max(1, Math.round(G * I));
|
|
2979
|
+
const Z = Math.max(64, k), J = Math.max(W, V);
|
|
2980
|
+
if (J > Z) {
|
|
2981
|
+
const $ = Z / J;
|
|
2982
|
+
W = Math.max(1, Math.round(W * $)), V = Math.max(1, Math.round(V * $));
|
|
2983
|
+
}
|
|
2984
|
+
return {
|
|
2985
|
+
width: W,
|
|
2986
|
+
height: V
|
|
2987
|
+
};
|
|
2988
|
+
}
|
|
2989
|
+
function wn(g) {
|
|
2990
|
+
return new Promise((I, k) => {
|
|
2991
|
+
g.toBlob((z) => {
|
|
2992
|
+
z ? I(z) : k(new Error("canvas.toBlob returned null"));
|
|
2993
|
+
}, "image/png");
|
|
2994
|
+
});
|
|
2995
|
+
}
|
|
2996
|
+
async function An(g, I, k) {
|
|
2997
|
+
const z = new Blob([g], { type: "image/svg+xml;charset=utf-8" }), G = URL.createObjectURL(z);
|
|
2998
|
+
try {
|
|
2999
|
+
const W = new Image();
|
|
3000
|
+
await new Promise((Fe, ae) => {
|
|
3001
|
+
W.onload = () => Fe(), W.onerror = () => ae(new Error("Failed to load SVG image")), W.src = G;
|
|
3002
|
+
});
|
|
3003
|
+
const V = document.createElement("canvas"), Z = Math.max(1, Math.round(I)), J = Math.max(1, Math.round(k));
|
|
3004
|
+
V.width = Z, V.height = J;
|
|
3005
|
+
const $ = V.getContext("2d");
|
|
3006
|
+
if (!$) throw new Error("Canvas 2D context is not available");
|
|
3007
|
+
return $.clearRect(0, 0, Z, J), $.drawImage(W, 0, 0, Z, J), wn(V);
|
|
3008
|
+
} finally {
|
|
3009
|
+
URL.revokeObjectURL(G);
|
|
3010
|
+
}
|
|
3011
|
+
}
|
|
3012
|
+
var _n = 24e3;
|
|
3013
|
+
async function Un(g, I = _n) {
|
|
3014
|
+
const k = Math.min(I, Math.max(0, g.size));
|
|
3015
|
+
return g.slice(0, k).text();
|
|
3016
|
+
}
|
|
3017
|
+
function En(g) {
|
|
3018
|
+
const I = g.trimStart().replace(/^\uFEFF/, "");
|
|
3019
|
+
return I.startsWith("<") ? /<\s*svg[\s>/]/i.test(I) : !1;
|
|
3020
|
+
}
|
|
3021
|
+
async function Fn(g, I = {}) {
|
|
3022
|
+
const k = I.pixelScale ?? 2, z = I.maxLongEdge ?? 4096, G = await g.text(), { width: W, height: V } = yn(G, k, z), Z = await An(G, W, V), J = I.outputFileName ?? g.name, $ = /\.svg$/i.test(J) ? J.replace(/\.svg$/i, ".png") : `${J}.png`;
|
|
3023
|
+
return new File([Z], $, {
|
|
3024
|
+
type: "image/png",
|
|
3025
|
+
lastModified: g.lastModified
|
|
3026
|
+
});
|
|
3027
|
+
}
|
|
3028
|
+
function st(g, I, k, z) {
|
|
3029
|
+
return new File([g], I, {
|
|
3030
|
+
type: k,
|
|
3031
|
+
lastModified: z
|
|
3032
|
+
});
|
|
3033
|
+
}
|
|
3034
|
+
function bt(g, I) {
|
|
3035
|
+
return !I || I === g.name ? g : st(g, I, g.type, g.lastModified);
|
|
3036
|
+
}
|
|
3037
|
+
function In(g, I, k, z) {
|
|
3038
|
+
const G = z ?? I.name;
|
|
3039
|
+
return g instanceof File ? g.type !== k || g.lastModified !== I.lastModified || g.name !== G ? st(g, G, k, I.lastModified) : g : st(g, G, k, I.lastModified);
|
|
3040
|
+
}
|
|
3041
|
+
function Mn(g, I) {
|
|
3042
|
+
const k = I.startsWith(".") ? I.slice(1) : I, z = g.lastIndexOf(".");
|
|
3043
|
+
return z > 0 ? `${g.substring(0, z)}.${k}` : `${g}.${k}`;
|
|
3044
|
+
}
|
|
3045
|
+
function Pn(g) {
|
|
3046
|
+
return g === "image/webp" ? "image/jpeg" : g;
|
|
3047
|
+
}
|
|
3048
|
+
async function Dt(g, I = {}) {
|
|
3049
|
+
const { maxSizeMB: k = at.MAX_SIZE_MB, maxWidthOrHeight: z = at.MAX_WIDTH_OR_HEIGHT, mimeType: G, fileName: W, libURL: V, enableCompression: Z = !0, convertSvgToPng: J = !1 } = I;
|
|
3050
|
+
if (!g || !(g instanceof File)) return g;
|
|
3051
|
+
let $ = g, Fe = !1;
|
|
3052
|
+
if (J) {
|
|
3053
|
+
const ue = ($.type || "").toLowerCase(), Pe = /\.svg$/i.test($.name.trim()), xe = ue.includes("svg");
|
|
3054
|
+
let Ce = !1;
|
|
3055
|
+
if (!xe && !Pe) try {
|
|
3056
|
+
Ce = En(await Un($));
|
|
3057
|
+
} catch {
|
|
3058
|
+
Ce = !1;
|
|
3059
|
+
}
|
|
3060
|
+
if (xe || Pe || Ce) try {
|
|
3061
|
+
$ = await Fn($, {
|
|
3062
|
+
maxLongEdge: z,
|
|
3063
|
+
outputFileName: W ?? $.name
|
|
3064
|
+
}), Fe = !0;
|
|
3065
|
+
} catch {
|
|
3066
|
+
$ = g;
|
|
3067
|
+
}
|
|
3068
|
+
}
|
|
3069
|
+
const ae = vt(($.type && $.type.trim() !== "" ? $.type : ot($.name)) || (Fe ? "image/png" : G) || "image/jpeg"), Be = Fe ? $.name : W ?? $.name;
|
|
3070
|
+
if (!ae.startsWith("image/")) return bt($, Be);
|
|
3071
|
+
const Ie = Pn(ae), te = Lt(ae), Y = Lt(Ie), me = Ie !== ae ? Mn(Be, Y) : Be, pe = Z && vn(te);
|
|
3072
|
+
if (!pe && Ie === ae) return bt($, me);
|
|
3073
|
+
const Re = $.type === ae ? $ : st($, $.name, ae, $.lastModified);
|
|
3074
|
+
try {
|
|
3075
|
+
const ue = {
|
|
3076
|
+
libURL: V,
|
|
3077
|
+
useWebWorker: !0,
|
|
3078
|
+
fileType: Ie
|
|
3079
|
+
};
|
|
3080
|
+
pe ? (ue.maxSizeMB = k, ue.maxWidthOrHeight = z) : (ue.maxSizeMB = Math.max(Re.size / (1024 * 1024) + 1, 1), ue.initialQuality = 1, ue.alwaysKeepResolution = !0);
|
|
3081
|
+
const Pe = await (0, mn.default)(Re, ue);
|
|
3082
|
+
return In(Pe, Re, vt(Pe.type || Ie), me);
|
|
3083
|
+
} catch {
|
|
3084
|
+
try {
|
|
3085
|
+
return bt($, me);
|
|
3086
|
+
} catch {
|
|
3087
|
+
return $;
|
|
3088
|
+
}
|
|
3089
|
+
}
|
|
3090
|
+
}
|
|
3091
|
+
var Sn = "js/browser-image-compression.js";
|
|
3092
|
+
function Ht() {
|
|
3093
|
+
return qt.getBundledHostAssetUrl(Sn);
|
|
3094
|
+
}
|
|
3095
|
+
async function xn(g, I, k = Ht()) {
|
|
3096
|
+
if (!Ot(g)) return g;
|
|
3097
|
+
const { maxSizeMB: z, maxWidthOrHeight: G } = Bt(I), W = g.type?.trim() || ot(g.name) || g.type || "";
|
|
3098
|
+
return Dt(g, {
|
|
3099
|
+
maxSizeMB: z,
|
|
3100
|
+
maxWidthOrHeight: G,
|
|
3101
|
+
mimeType: W || void 0,
|
|
3102
|
+
fileName: g.name,
|
|
3103
|
+
libURL: k,
|
|
3104
|
+
enableCompression: kt(I, W),
|
|
3105
|
+
convertSvgToPng: !0
|
|
3106
|
+
});
|
|
3107
|
+
}
|
|
3108
|
+
async function Cn(g, I) {
|
|
3109
|
+
if (!g || typeof g.findFileByUrl != "function") return null;
|
|
3110
|
+
const k = await g.findFileByUrl(I);
|
|
3111
|
+
if (!k) return null;
|
|
3112
|
+
const z = typeof g.getFileById == "function" && k.id && await g.getFileById(k.id) || k, G = z.url || I, W = z.thumbnailUrl || z.thumbnail || G || (typeof g.getThumbnailUrl == "function" ? await g.getThumbnailUrl(z) : "") || "";
|
|
3113
|
+
return W ? {
|
|
3114
|
+
file: z,
|
|
3115
|
+
previewUrl: W
|
|
3116
|
+
} : null;
|
|
3117
|
+
}
|
|
3118
|
+
function Tn(g) {
|
|
3119
|
+
if (!(g instanceof Blob) || g.size === 0) throw new lt.G("Failed to download file from the URL.", "UploadUrlDownloadFailed");
|
|
3120
|
+
const I = g.type?.split(";")[0]?.trim() || "image/png";
|
|
3121
|
+
if (!I.startsWith("image/")) throw new lt.G("Content type at the URL is not allowed.", "UploadUrlContentTypeNotAllowed");
|
|
3122
|
+
return {
|
|
3123
|
+
blob: g,
|
|
3124
|
+
mimeType: I
|
|
3125
|
+
};
|
|
3126
|
+
}
|
|
3127
|
+
async function Rn(g, I) {
|
|
3128
|
+
const k = await fetch(g, I);
|
|
3129
|
+
if (!k.ok) throw new Error(`Server returned ${k.status}`);
|
|
3130
|
+
return k.blob();
|
|
3131
|
+
}
|
|
3132
|
+
async function Ln(g, I, k) {
|
|
3133
|
+
const z = k ? { signal: k } : void 0, { blob: G } = await lt.Bi(g, {
|
|
3134
|
+
handleFileProxy: async (W) => Ut.pickFileProxyBlobFromFireResults(await I.fireFileProxy(W)) ?? null,
|
|
3135
|
+
handleProxyUrl: async (W) => Ut.pickProxyUrlOverrideFromFireResults(await I.fireProxyUrl(W), W),
|
|
3136
|
+
fetchWithProxy: (W, V, Z) => he.fetchWithResourceProxy(W, {
|
|
3137
|
+
config: I.appConfig,
|
|
3138
|
+
standalone: I.isStandalone,
|
|
3139
|
+
intent: Z?.intent || "downloadBlob",
|
|
3140
|
+
validateBlob: async (J) => !J.type || J.type.startsWith("image/"),
|
|
3141
|
+
init: V
|
|
3142
|
+
})
|
|
3143
|
+
}, (W) => Rn(W, z), Tn, { fetchInit: z });
|
|
3144
|
+
return G;
|
|
3145
|
+
}
|
|
3146
|
+
function On() {
|
|
3147
|
+
const g = he.useAppConfig(), I = he.useIsStandalone(), k = he.useSelector(he.selectProject), { projectId: z } = he.useParams(), G = k?.id !== void 0 ? String(k.id) : z || "", W = he.useEventEmitter(he.events.FILE_PROXY_EVENT_ID), V = he.useEventEmitter(he.events.PROXY_URL_EVENT_ID);
|
|
3148
|
+
return (0, rt.useCallback)(async (Z, J) => Ln(Z, {
|
|
3149
|
+
appConfig: g,
|
|
3150
|
+
isStandalone: I,
|
|
3151
|
+
fireFileProxy: ($) => W.fire({
|
|
3152
|
+
url: $,
|
|
3153
|
+
project: G
|
|
3154
|
+
}),
|
|
3155
|
+
fireProxyUrl: ($) => V.fire({
|
|
3156
|
+
url: $,
|
|
3157
|
+
project: G
|
|
3158
|
+
})
|
|
3159
|
+
}, J), [
|
|
3160
|
+
g,
|
|
3161
|
+
G,
|
|
3162
|
+
I,
|
|
3163
|
+
W,
|
|
3164
|
+
V
|
|
3165
|
+
]);
|
|
3166
|
+
}
|
|
3167
|
+
function kn(g) {
|
|
3168
|
+
return he.getContainer(g).getOrCreateInstance(he.IMAGE_BLOB_RESOLVER_ID, () => hn());
|
|
3169
|
+
}
|
|
3170
|
+
function Bn() {
|
|
3171
|
+
const g = he.useStore();
|
|
3172
|
+
return (0, rt.useMemo)(() => kn(g), [g]);
|
|
3173
|
+
}
|
|
3174
|
+
Object.defineProperty(le, "canonicalImageUrlKey", {
|
|
3175
|
+
enumerable: !0,
|
|
3176
|
+
get: function() {
|
|
3177
|
+
return pt;
|
|
3178
|
+
}
|
|
3179
|
+
}), Object.defineProperty(le, "getAiTariffUpgradeStep", {
|
|
3180
|
+
enumerable: !0,
|
|
3181
|
+
get: function() {
|
|
3182
|
+
return fn;
|
|
3183
|
+
}
|
|
3184
|
+
}), Object.defineProperty(le, "getBrowserImageCompressionLibUrl", {
|
|
3185
|
+
enumerable: !0,
|
|
3186
|
+
get: function() {
|
|
3187
|
+
return Ht;
|
|
3188
|
+
}
|
|
3189
|
+
}), Object.defineProperty(le, "getImageDimensionsFromBlob", {
|
|
3190
|
+
enumerable: !0,
|
|
3191
|
+
get: function() {
|
|
3192
|
+
return ln;
|
|
3193
|
+
}
|
|
3194
|
+
}), Object.defineProperty(le, "inferImageMimeFromFileName", {
|
|
3195
|
+
enumerable: !0,
|
|
3196
|
+
get: function() {
|
|
3197
|
+
return ot;
|
|
3198
|
+
}
|
|
3199
|
+
}), Object.defineProperty(le, "isAiLimitReached", {
|
|
3200
|
+
enumerable: !0,
|
|
3201
|
+
get: function() {
|
|
3202
|
+
return Zt;
|
|
3203
|
+
}
|
|
3204
|
+
}), Object.defineProperty(le, "isAllowedImageUploadFile", {
|
|
3205
|
+
enumerable: !0,
|
|
3206
|
+
get: function() {
|
|
3207
|
+
return Ot;
|
|
3208
|
+
}
|
|
3209
|
+
}), Object.defineProperty(le, "isDisabledExtraFeatureUpsellKind", {
|
|
3210
|
+
enumerable: !0,
|
|
3211
|
+
get: function() {
|
|
3212
|
+
return Tt;
|
|
3213
|
+
}
|
|
3214
|
+
}), Object.defineProperty(le, "normalizeImageFormatForDisplay", {
|
|
3215
|
+
enumerable: !0,
|
|
3216
|
+
get: function() {
|
|
3217
|
+
return cn;
|
|
3218
|
+
}
|
|
3219
|
+
}), Object.defineProperty(le, "prepareImageForEditorUpload", {
|
|
3220
|
+
enumerable: !0,
|
|
3221
|
+
get: function() {
|
|
3222
|
+
return xn;
|
|
3223
|
+
}
|
|
3224
|
+
}), Object.defineProperty(le, "prepareImageForUpload", {
|
|
3225
|
+
enumerable: !0,
|
|
3226
|
+
get: function() {
|
|
3227
|
+
return Dt;
|
|
3228
|
+
}
|
|
3229
|
+
}), Object.defineProperty(le, "require_prop_types", {
|
|
3230
|
+
enumerable: !0,
|
|
3231
|
+
get: function() {
|
|
3232
|
+
return Vt;
|
|
3233
|
+
}
|
|
3234
|
+
}), Object.defineProperty(le, "resolveAutoLimitUpgrade", {
|
|
3235
|
+
enumerable: !0,
|
|
3236
|
+
get: function() {
|
|
3237
|
+
return sn;
|
|
3238
|
+
}
|
|
3239
|
+
}), Object.defineProperty(le, "resolveDataProviderPreview", {
|
|
3240
|
+
enumerable: !0,
|
|
3241
|
+
get: function() {
|
|
3242
|
+
return Cn;
|
|
3243
|
+
}
|
|
3244
|
+
}), Object.defineProperty(le, "resolveImageCompressionLimits", {
|
|
3245
|
+
enumerable: !0,
|
|
3246
|
+
get: function() {
|
|
3247
|
+
return Bt;
|
|
3248
|
+
}
|
|
3249
|
+
}), Object.defineProperty(le, "shouldCountAiUsage", {
|
|
3250
|
+
enumerable: !0,
|
|
3251
|
+
get: function() {
|
|
3252
|
+
return Et;
|
|
3253
|
+
}
|
|
3254
|
+
}), Object.defineProperty(le, "shouldEnableImageCompression", {
|
|
3255
|
+
enumerable: !0,
|
|
3256
|
+
get: function() {
|
|
3257
|
+
return kt;
|
|
3258
|
+
}
|
|
3259
|
+
}), Object.defineProperty(le, "useImageBlobFetch", {
|
|
3260
|
+
enumerable: !0,
|
|
3261
|
+
get: function() {
|
|
3262
|
+
return On;
|
|
3263
|
+
}
|
|
3264
|
+
}), Object.defineProperty(le, "useImageBlobResolver", {
|
|
3265
|
+
enumerable: !0,
|
|
3266
|
+
get: function() {
|
|
3267
|
+
return Bn;
|
|
3268
|
+
}
|
|
3269
|
+
}), Object.defineProperty(le, "useProjectPlanLimitPreflight", {
|
|
3270
|
+
enumerable: !0,
|
|
3271
|
+
get: function() {
|
|
3272
|
+
return tn;
|
|
3273
|
+
}
|
|
3274
|
+
}), Object.defineProperty(le, "useProjectPlanLimits", {
|
|
3275
|
+
enumerable: !0,
|
|
3276
|
+
get: function() {
|
|
3277
|
+
return en;
|
|
3278
|
+
}
|
|
3279
|
+
});
|
|
3280
|
+
});
|