easy-email-pro-kit 1.26.1 → 1.26.2
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/lib/index.cjs.js +1 -1
- package/lib/index.es.js +724 -731
- package/package.json +1 -1
package/lib/index.es.js
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
1
|
+
var yn = Object.defineProperty, fn = Object.defineProperties;
|
|
2
|
+
var wn = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var it = Object.getOwnPropertySymbols;
|
|
4
4
|
var kt = Object.prototype.hasOwnProperty, Yt = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var Wt = (e, n, d) => n in e ?
|
|
5
|
+
var Wt = (e, n, d) => n in e ? yn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[n] = d, fe = (e, n) => {
|
|
6
6
|
for (var d in n || (n = {}))
|
|
7
7
|
kt.call(n, d) && Wt(e, d, n[d]);
|
|
8
8
|
if (it)
|
|
9
9
|
for (var d of it(n))
|
|
10
10
|
Yt.call(n, d) && Wt(e, d, n[d]);
|
|
11
11
|
return e;
|
|
12
|
-
}, He = (e, n) =>
|
|
13
|
-
var
|
|
12
|
+
}, He = (e, n) => fn(e, wn(n));
|
|
13
|
+
var ft = (e, n) => {
|
|
14
14
|
var d = {};
|
|
15
|
-
for (var
|
|
16
|
-
kt.call(e,
|
|
15
|
+
for (var p in e)
|
|
16
|
+
kt.call(e, p) && n.indexOf(p) < 0 && (d[p] = e[p]);
|
|
17
17
|
if (e != null && it)
|
|
18
|
-
for (var
|
|
19
|
-
n.indexOf(
|
|
18
|
+
for (var p of it(e))
|
|
19
|
+
n.indexOf(p) < 0 && Yt.call(e, p) && (d[p] = e[p]);
|
|
20
20
|
return d;
|
|
21
21
|
};
|
|
22
|
-
var Se = (e, n, d) => new Promise((
|
|
22
|
+
var Se = (e, n, d) => new Promise((p, f) => {
|
|
23
23
|
var M = (u) => {
|
|
24
24
|
try {
|
|
25
|
-
|
|
25
|
+
a(d.next(u));
|
|
26
26
|
} catch (w) {
|
|
27
27
|
f(w);
|
|
28
28
|
}
|
|
29
29
|
}, m = (u) => {
|
|
30
30
|
try {
|
|
31
|
-
|
|
31
|
+
a(d.throw(u));
|
|
32
32
|
} catch (w) {
|
|
33
33
|
f(w);
|
|
34
34
|
}
|
|
35
|
-
},
|
|
36
|
-
|
|
35
|
+
}, a = (u) => u.done ? p(u.value) : Promise.resolve(u.value).then(M, m);
|
|
36
|
+
a((d = d.apply(e, n)).next());
|
|
37
37
|
});
|
|
38
|
-
import { createCustomBlock as qe, t as X, mergeBlock as $e, ElementCategory as et, NodeUtils as
|
|
39
|
-
import { AttributesPanelWrapper as rt, ResponsiveTabs as
|
|
40
|
-
import { cloneDeep as De, flatMap as
|
|
41
|
-
import
|
|
42
|
-
import { Collapse as ue, Button as
|
|
43
|
-
import { ActiveTabKeys as de, useEditorProps as
|
|
44
|
-
import { useSlate as Et, ReactEditor as
|
|
45
|
-
import { HistoryEditor as
|
|
46
|
-
import { IconLink as
|
|
47
|
-
const
|
|
38
|
+
import { createCustomBlock as qe, t as X, mergeBlock as $e, ElementCategory as et, NodeUtils as Mn, components as qt, ElementPlugin as tt, BlockManager as nt } from "easy-email-pro-core";
|
|
39
|
+
import { AttributesPanelWrapper as rt, ResponsiveTabs as Lt, useEditorContext as Je, CollapseWrapper as Re, AttributeField as R, ResponsiveField as B, previewLoadImage as $t, useElementInteract as xn, ConfigPanelsMap as ot } from "easy-email-pro-theme";
|
|
40
|
+
import { cloneDeep as De, flatMap as Tn, get as en, isEqual as _e, set as Ge, merge as vn } from "lodash";
|
|
41
|
+
import h, { useState as Fe, useEffect as Ue, useRef as zt, useMemo as Sn, useCallback as Ct } from "react";
|
|
42
|
+
import { Collapse as ue, Button as ct, Message as dt, Grid as je, Divider as wt, Radio as Mt, Form as Zn, Space as Nn, InputNumber as Kt } from "@arco-design/web-react";
|
|
43
|
+
import { ActiveTabKeys as de, useEditorProps as ut, useSelectedNode as ke, useEditorState as mt } from "easy-email-pro-editor";
|
|
44
|
+
import { useSlate as Et, ReactEditor as tn } from "slate-react";
|
|
45
|
+
import { HistoryEditor as In } from "slate-history";
|
|
46
|
+
import { IconLink as Cn } from "@arco-design/web-react/icon";
|
|
47
|
+
const Dn = {
|
|
48
48
|
MARKETING_SHOPWINDOW: "marketing-shopwindow",
|
|
49
49
|
MARKETING_COUNTDOWN: "marketing-countdown",
|
|
50
50
|
MARKETING_QR_CODE: "marketing-qr-code"
|
|
51
|
-
},
|
|
51
|
+
}, Gn = {
|
|
52
52
|
COMMON_VIDEO: "common-video",
|
|
53
53
|
COMMON_IMAGE_WITH_TEXT: "common-image-with-text"
|
|
54
|
-
}, Ne = fe(fe({},
|
|
55
|
-
function
|
|
56
|
-
const n = Math.floor(e / at), d = Math.floor((e - n * at) / lt),
|
|
54
|
+
}, Ne = fe(fe({}, Dn), Gn), Dt = 60, lt = 60 * Dt, at = 24 * lt;
|
|
55
|
+
function nn(e) {
|
|
56
|
+
const n = Math.floor(e / at), d = Math.floor((e - n * at) / lt), p = Math.floor((e - n * at - d * lt) / Dt), f = Math.floor(e - n * at - d * lt - p * Dt);
|
|
57
57
|
return {
|
|
58
58
|
day: n < 10 ? "0" + n : n.toString(),
|
|
59
59
|
hour: d < 10 ? "0" + d : d.toString(),
|
|
60
|
-
minute:
|
|
60
|
+
minute: p < 10 ? "0" + p : p.toString(),
|
|
61
61
|
second: f < 10 ? "0" + f : f.toString()
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function Ln(e) {
|
|
65
65
|
const { attributes: n, data: d } = e;
|
|
66
|
-
let
|
|
66
|
+
let p = d.remainingTime;
|
|
67
67
|
switch (d.unit) {
|
|
68
68
|
case "minute":
|
|
69
|
-
|
|
69
|
+
p = 60 * p;
|
|
70
70
|
break;
|
|
71
71
|
case "hour":
|
|
72
|
-
|
|
72
|
+
p = 60 * 60 * p;
|
|
73
73
|
break;
|
|
74
74
|
case "day":
|
|
75
|
-
|
|
75
|
+
p = 60 * 60 * 24 * p;
|
|
76
76
|
}
|
|
77
|
-
const { day: f, hour: M, minute: m, second:
|
|
77
|
+
const { day: f, hour: M, minute: m, second: a } = nn(p), u = [
|
|
78
78
|
{
|
|
79
79
|
unit: "days",
|
|
80
80
|
value: f
|
|
@@ -89,17 +89,17 @@ function En(e) {
|
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
unit: "secs",
|
|
92
|
-
value:
|
|
92
|
+
value: a
|
|
93
93
|
}
|
|
94
94
|
];
|
|
95
|
-
return /* @__PURE__ */
|
|
95
|
+
return /* @__PURE__ */ h.createElement(
|
|
96
96
|
"div",
|
|
97
97
|
{
|
|
98
98
|
style: {
|
|
99
99
|
color: n.color
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
|
-
/* @__PURE__ */
|
|
102
|
+
/* @__PURE__ */ h.createElement("div", null, /* @__PURE__ */ h.createElement(
|
|
103
103
|
"div",
|
|
104
104
|
{
|
|
105
105
|
style: {
|
|
@@ -109,7 +109,7 @@ function En(e) {
|
|
|
109
109
|
paddingBottom: 15
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
|
-
u.map((w, x) => /* @__PURE__ */
|
|
112
|
+
u.map((w, x) => /* @__PURE__ */ h.createElement(
|
|
113
113
|
"div",
|
|
114
114
|
{
|
|
115
115
|
key: w.unit,
|
|
@@ -119,7 +119,7 @@ function En(e) {
|
|
|
119
119
|
justifyContent: "center"
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ h.createElement(
|
|
123
123
|
"div",
|
|
124
124
|
{
|
|
125
125
|
style: {
|
|
@@ -135,9 +135,9 @@ function En(e) {
|
|
|
135
135
|
fontSize: 24
|
|
136
136
|
}
|
|
137
137
|
},
|
|
138
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ h.createElement("div", { style: { height: "100%", overflow: "hidden" } }, /* @__PURE__ */ h.createElement("div", { className: w.unit }, w.value))
|
|
139
139
|
),
|
|
140
|
-
x !== u.length - 1 && /* @__PURE__ */
|
|
140
|
+
x !== u.length - 1 && /* @__PURE__ */ h.createElement(
|
|
141
141
|
"div",
|
|
142
142
|
{
|
|
143
143
|
key: w.unit,
|
|
@@ -146,7 +146,7 @@ function En(e) {
|
|
|
146
146
|
":"
|
|
147
147
|
)
|
|
148
148
|
))
|
|
149
|
-
), /* @__PURE__ */
|
|
149
|
+
), /* @__PURE__ */ h.createElement(
|
|
150
150
|
"div",
|
|
151
151
|
{
|
|
152
152
|
style: {
|
|
@@ -156,7 +156,7 @@ function En(e) {
|
|
|
156
156
|
paddingBottom: 10
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
|
-
u.map((w, x) => /* @__PURE__ */
|
|
159
|
+
u.map((w, x) => /* @__PURE__ */ h.createElement(
|
|
160
160
|
"div",
|
|
161
161
|
{
|
|
162
162
|
key: w.unit,
|
|
@@ -166,7 +166,7 @@ function En(e) {
|
|
|
166
166
|
justifyContent: "center"
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
|
-
/* @__PURE__ */
|
|
169
|
+
/* @__PURE__ */ h.createElement(
|
|
170
170
|
"div",
|
|
171
171
|
{
|
|
172
172
|
key: w.unit,
|
|
@@ -182,7 +182,7 @@ function En(e) {
|
|
|
182
182
|
},
|
|
183
183
|
w.unit
|
|
184
184
|
),
|
|
185
|
-
x !== u.length - 1 && /* @__PURE__ */
|
|
185
|
+
x !== u.length - 1 && /* @__PURE__ */ h.createElement(
|
|
186
186
|
"div",
|
|
187
187
|
{
|
|
188
188
|
style: {
|
|
@@ -197,7 +197,7 @@ function En(e) {
|
|
|
197
197
|
))
|
|
198
198
|
);
|
|
199
199
|
}
|
|
200
|
-
const { SlateNodePlaceholder:
|
|
200
|
+
const { SlateNodePlaceholder: En } = qt, xt = {
|
|
201
201
|
attributes: {
|
|
202
202
|
color: "#ffffff",
|
|
203
203
|
"padding-top": "20px",
|
|
@@ -217,14 +217,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
217
217
|
get name() {
|
|
218
218
|
return X("Countdown");
|
|
219
219
|
},
|
|
220
|
-
defaultData:
|
|
220
|
+
defaultData: xt,
|
|
221
221
|
void: !0,
|
|
222
222
|
type: Ne.MARKETING_COUNTDOWN,
|
|
223
223
|
create: (e) => {
|
|
224
224
|
const n = {
|
|
225
225
|
type: Ne.MARKETING_COUNTDOWN,
|
|
226
|
-
data: fe({},
|
|
227
|
-
attributes: fe({},
|
|
226
|
+
data: fe({}, xt.data),
|
|
227
|
+
attributes: fe({}, xt.attributes),
|
|
228
228
|
children: [
|
|
229
229
|
{
|
|
230
230
|
type: "text",
|
|
@@ -232,7 +232,8 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
232
232
|
attributes: {
|
|
233
233
|
color: "#ffffff",
|
|
234
234
|
"font-size": "32px",
|
|
235
|
-
align: "center"
|
|
235
|
+
align: "center",
|
|
236
|
+
"line-height": "1.2"
|
|
236
237
|
},
|
|
237
238
|
children: [
|
|
238
239
|
{
|
|
@@ -261,34 +262,44 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
261
262
|
},
|
|
262
263
|
category: et.UNKNOWN_CONTENT,
|
|
263
264
|
render(e) {
|
|
264
|
-
const {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
{
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
paddingRight: h["padding-right"],
|
|
274
|
-
fontSize: "0px",
|
|
275
|
-
lineHeight: 1
|
|
276
|
-
}
|
|
277
|
-
},
|
|
278
|
-
/* @__PURE__ */ p.createElement(
|
|
265
|
+
const {
|
|
266
|
+
node: n,
|
|
267
|
+
mode: d,
|
|
268
|
+
context: { content: p },
|
|
269
|
+
displayMode: f
|
|
270
|
+
} = e, { attributes: M, children: m } = n;
|
|
271
|
+
if (d === "testing") {
|
|
272
|
+
const a = parseInt(p.attributes.width || "600"), u = f === "only-mobile" ? 375 / a : 1;
|
|
273
|
+
return /* @__PURE__ */ h.createElement("mj-section", { padding: "0px" }, /* @__PURE__ */ h.createElement("mj-column", { padding: "0px" }, /* @__PURE__ */ h.createElement("div", null, /* @__PURE__ */ h.createElement(
|
|
279
274
|
"div",
|
|
280
275
|
{
|
|
281
276
|
style: {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
277
|
+
backgroundColor: M["background-color"],
|
|
278
|
+
paddingBottom: M["padding-bottom"],
|
|
279
|
+
paddingTop: M["padding-top"],
|
|
280
|
+
paddingLeft: M["padding-left"],
|
|
281
|
+
paddingRight: M["padding-right"],
|
|
282
|
+
fontSize: "0px",
|
|
283
|
+
lineHeight: 1,
|
|
284
|
+
zoom: u
|
|
285
285
|
}
|
|
286
286
|
},
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
287
|
+
/* @__PURE__ */ h.createElement(
|
|
288
|
+
"div",
|
|
289
|
+
{
|
|
290
|
+
style: {
|
|
291
|
+
width: "100%",
|
|
292
|
+
textAlign: "center",
|
|
293
|
+
display: "table"
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
m.map((w, x) => Mn.isElement(w) ? /* @__PURE__ */ h.createElement(En, { key: x, node: w }) : null),
|
|
297
|
+
/* @__PURE__ */ h.createElement("mj-spacer", { height: "20px" }),
|
|
298
|
+
/* @__PURE__ */ h.createElement(Ln, { attributes: n.attributes, data: n.data })
|
|
299
|
+
)
|
|
300
|
+
))));
|
|
301
|
+
}
|
|
302
|
+
return /* @__PURE__ */ h.createElement(
|
|
292
303
|
"mj-image",
|
|
293
304
|
He(fe({}, e.node.attributes), {
|
|
294
305
|
"padding-bottom": "0px",
|
|
@@ -348,18 +359,18 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
348
359
|
render(e) {
|
|
349
360
|
const { node: n } = e, u = n.attributes, {
|
|
350
361
|
"border-enabled": d,
|
|
351
|
-
"border-width":
|
|
362
|
+
"border-width": p,
|
|
352
363
|
"border-style": f,
|
|
353
364
|
"border-color": M
|
|
354
|
-
} = u, m =
|
|
365
|
+
} = u, m = ft(u, [
|
|
355
366
|
"border-enabled",
|
|
356
367
|
"border-width",
|
|
357
368
|
"border-style",
|
|
358
369
|
"border-color"
|
|
359
|
-
]),
|
|
360
|
-
return /* @__PURE__ */
|
|
370
|
+
]), a = d ? `${p || "1px"} ${f || "solid"} ${M || "#AAAAAA"}` : "";
|
|
371
|
+
return /* @__PURE__ */ h.createElement("mj-image", He(fe({}, m), { border: a }));
|
|
361
372
|
}
|
|
362
|
-
}),
|
|
373
|
+
}), Tt = {
|
|
363
374
|
attributes: {
|
|
364
375
|
"dot-color": "#4267b2",
|
|
365
376
|
"dot-color-rotation": 0,
|
|
@@ -393,14 +404,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
393
404
|
get name() {
|
|
394
405
|
return X("QR code");
|
|
395
406
|
},
|
|
396
|
-
defaultData:
|
|
407
|
+
defaultData: Tt,
|
|
397
408
|
void: !0,
|
|
398
409
|
type: Ne.MARKETING_QR_CODE,
|
|
399
410
|
create: (e) => {
|
|
400
411
|
const n = {
|
|
401
412
|
type: Ne.MARKETING_QR_CODE,
|
|
402
|
-
data: fe({},
|
|
403
|
-
attributes: fe({},
|
|
413
|
+
data: fe({}, Tt.data),
|
|
414
|
+
attributes: fe({}, Tt.attributes),
|
|
404
415
|
children: [
|
|
405
416
|
{
|
|
406
417
|
text: ""
|
|
@@ -411,11 +422,11 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
411
422
|
},
|
|
412
423
|
category: et.IMAGE,
|
|
413
424
|
render(e) {
|
|
414
|
-
return /* @__PURE__ */
|
|
425
|
+
return /* @__PURE__ */ h.createElement("mj-image", fe({}, e.node.attributes));
|
|
415
426
|
}
|
|
416
|
-
}),
|
|
417
|
-
const { attributes: n, data: d, scale:
|
|
418
|
-
return /* @__PURE__ */
|
|
427
|
+
}), Wn = (e) => {
|
|
428
|
+
const { attributes: n, data: d, scale: p } = e;
|
|
429
|
+
return /* @__PURE__ */ h.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ h.createElement(
|
|
419
430
|
"img",
|
|
420
431
|
{
|
|
421
432
|
className: "video-thumbnail",
|
|
@@ -423,7 +434,7 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
423
434
|
alt: "",
|
|
424
435
|
style: { width: "100%" }
|
|
425
436
|
}
|
|
426
|
-
), /* @__PURE__ */
|
|
437
|
+
), /* @__PURE__ */ h.createElement(
|
|
427
438
|
"div",
|
|
428
439
|
{
|
|
429
440
|
style: {
|
|
@@ -436,18 +447,18 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
436
447
|
backgroundColor: `rgba(0,0,0, ${d["video-mask-opacity"] / 100})`
|
|
437
448
|
}
|
|
438
449
|
}
|
|
439
|
-
), /* @__PURE__ */
|
|
450
|
+
), /* @__PURE__ */ h.createElement(
|
|
440
451
|
"div",
|
|
441
452
|
{
|
|
442
453
|
style: {
|
|
443
454
|
position: "absolute",
|
|
444
455
|
top: "50%",
|
|
445
456
|
left: "50%",
|
|
446
|
-
transform: `translate(-50%, -50%) scale(${
|
|
457
|
+
transform: `translate(-50%, -50%) scale(${p})`,
|
|
447
458
|
zIndex: 10
|
|
448
459
|
}
|
|
449
460
|
},
|
|
450
|
-
/* @__PURE__ */
|
|
461
|
+
/* @__PURE__ */ h.createElement(
|
|
451
462
|
"img",
|
|
452
463
|
{
|
|
453
464
|
src: d["button-image"],
|
|
@@ -456,7 +467,7 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
456
467
|
}
|
|
457
468
|
)
|
|
458
469
|
));
|
|
459
|
-
},
|
|
470
|
+
}, vt = {
|
|
460
471
|
attributes: {
|
|
461
472
|
src: "https://res.cloudinary.com/djnkpbshx/image/upload/v1695859176/easy-email-pro-test/nshvakptfeftmooxb0as.png",
|
|
462
473
|
"padding-top": "0px",
|
|
@@ -475,14 +486,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
475
486
|
get name() {
|
|
476
487
|
return X("Video");
|
|
477
488
|
},
|
|
478
|
-
defaultData:
|
|
489
|
+
defaultData: vt,
|
|
479
490
|
void: !0,
|
|
480
491
|
type: Ne.COMMON_VIDEO,
|
|
481
492
|
create: (e) => {
|
|
482
493
|
const n = {
|
|
483
494
|
type: Ne.COMMON_VIDEO,
|
|
484
|
-
data: fe({},
|
|
485
|
-
attributes: fe({},
|
|
495
|
+
data: fe({}, vt.data),
|
|
496
|
+
attributes: fe({}, vt.attributes),
|
|
486
497
|
children: []
|
|
487
498
|
};
|
|
488
499
|
return $e(n, e);
|
|
@@ -492,26 +503,26 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
492
503
|
const {
|
|
493
504
|
node: n,
|
|
494
505
|
mode: d,
|
|
495
|
-
context: { content:
|
|
506
|
+
context: { content: p },
|
|
496
507
|
displayMode: f
|
|
497
508
|
} = e, { data: M, attributes: m } = n;
|
|
498
509
|
if (d === "testing") {
|
|
499
|
-
const
|
|
500
|
-
m.width ||
|
|
501
|
-
), u = f === "only-mobile" ? 375 /
|
|
502
|
-
return /* @__PURE__ */
|
|
510
|
+
const a = parseInt(
|
|
511
|
+
m.width || p.attributes.width || "600"
|
|
512
|
+
), u = f === "only-mobile" ? 375 / a : 1;
|
|
513
|
+
return /* @__PURE__ */ h.createElement("mj-section", { padding: "0px" }, /* @__PURE__ */ h.createElement("mj-column", { padding: "0px" }, /* @__PURE__ */ h.createElement("mj-text", { padding: "0px" }, /* @__PURE__ */ h.createElement("div", null, /* @__PURE__ */ h.createElement(
|
|
503
514
|
"div",
|
|
504
515
|
{
|
|
505
516
|
style: {
|
|
506
517
|
width: "100%"
|
|
507
518
|
}
|
|
508
519
|
},
|
|
509
|
-
/* @__PURE__ */
|
|
520
|
+
/* @__PURE__ */ h.createElement(Wn, { attributes: m, data: M, scale: u })
|
|
510
521
|
)))));
|
|
511
522
|
}
|
|
512
|
-
return /* @__PURE__ */
|
|
523
|
+
return /* @__PURE__ */ h.createElement("mj-image", fe({}, m));
|
|
513
524
|
}
|
|
514
|
-
}), { SlateNodePlaceholder: st } =
|
|
525
|
+
}), { SlateNodePlaceholder: st } = qt, St = {
|
|
515
526
|
attributes: {
|
|
516
527
|
"padding-top": "0px",
|
|
517
528
|
"padding-right": "0px",
|
|
@@ -526,14 +537,14 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
526
537
|
get name() {
|
|
527
538
|
return X("Image with text");
|
|
528
539
|
},
|
|
529
|
-
defaultData:
|
|
540
|
+
defaultData: St,
|
|
530
541
|
void: !0,
|
|
531
542
|
type: Ne.COMMON_IMAGE_WITH_TEXT,
|
|
532
543
|
create: (e) => {
|
|
533
544
|
const n = {
|
|
534
545
|
type: Ne.COMMON_IMAGE_WITH_TEXT,
|
|
535
|
-
data: fe({},
|
|
536
|
-
attributes: fe({},
|
|
546
|
+
data: fe({}, St.data),
|
|
547
|
+
attributes: fe({}, St.attributes),
|
|
537
548
|
children: [
|
|
538
549
|
{
|
|
539
550
|
type: "standard-image",
|
|
@@ -569,13 +580,13 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
569
580
|
category: et.SECTION,
|
|
570
581
|
render(e) {
|
|
571
582
|
const { node: n } = e, z = De(n.attributes), {
|
|
572
|
-
"border-enabled":
|
|
583
|
+
"border-enabled": p,
|
|
573
584
|
"border-width": f,
|
|
574
585
|
"border-style": M,
|
|
575
586
|
"border-color": m,
|
|
576
|
-
"vertical-align":
|
|
587
|
+
"vertical-align": a = "top",
|
|
577
588
|
"first-column-width": u = 50
|
|
578
|
-
} = z, w =
|
|
589
|
+
} = z, w = ft(z, [
|
|
579
590
|
"border-enabled",
|
|
580
591
|
"border-width",
|
|
581
592
|
"border-style",
|
|
@@ -584,61 +595,61 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
584
595
|
"first-column-width"
|
|
585
596
|
]);
|
|
586
597
|
w["background-image-enabled"] || (delete w["background-image-enabled"], w["background-url"] = "");
|
|
587
|
-
const x =
|
|
588
|
-
return n.data.stackOnMobile ? /* @__PURE__ */
|
|
598
|
+
const x = p ? `${f || "1px"} ${M || "solid"} ${m || "#AAAAAA"}` : "", Y = n.children[0], G = n.children[1];
|
|
599
|
+
return n.data.stackOnMobile ? /* @__PURE__ */ h.createElement("mj-section", He(fe({}, w), { border: x }), /* @__PURE__ */ h.createElement(
|
|
589
600
|
"mj-column",
|
|
590
601
|
{
|
|
591
602
|
width: u + "%",
|
|
592
|
-
"vertical-align":
|
|
603
|
+
"vertical-align": a
|
|
593
604
|
},
|
|
594
|
-
/* @__PURE__ */
|
|
595
|
-
), /* @__PURE__ */
|
|
605
|
+
/* @__PURE__ */ h.createElement(st, { node: Y })
|
|
606
|
+
), /* @__PURE__ */ h.createElement(
|
|
596
607
|
"mj-column",
|
|
597
608
|
{
|
|
598
609
|
width: 100 - u + "%",
|
|
599
|
-
"vertical-align":
|
|
610
|
+
"vertical-align": a
|
|
600
611
|
},
|
|
601
|
-
/* @__PURE__ */
|
|
602
|
-
)) : /* @__PURE__ */
|
|
612
|
+
/* @__PURE__ */ h.createElement(st, { node: G })
|
|
613
|
+
)) : /* @__PURE__ */ h.createElement("mj-section", He(fe({}, w), { border: x }), /* @__PURE__ */ h.createElement("mj-group", null, /* @__PURE__ */ h.createElement(
|
|
603
614
|
"mj-column",
|
|
604
615
|
{
|
|
605
616
|
width: u + "%",
|
|
606
|
-
"vertical-align":
|
|
617
|
+
"vertical-align": a
|
|
607
618
|
},
|
|
608
|
-
/* @__PURE__ */
|
|
609
|
-
), /* @__PURE__ */
|
|
619
|
+
/* @__PURE__ */ h.createElement(st, { node: Y })
|
|
620
|
+
), /* @__PURE__ */ h.createElement(
|
|
610
621
|
"mj-column",
|
|
611
622
|
{
|
|
612
623
|
width: 100 - u + "%",
|
|
613
|
-
"vertical-align":
|
|
624
|
+
"vertical-align": a
|
|
614
625
|
},
|
|
615
|
-
/* @__PURE__ */
|
|
626
|
+
/* @__PURE__ */ h.createElement(st, { node: G })
|
|
616
627
|
)));
|
|
617
628
|
}
|
|
618
|
-
}), Ae = document.createElement("canvas"), Be = Ae.getContext("2d"),
|
|
629
|
+
}), Ae = document.createElement("canvas"), Be = Ae.getContext("2d"), rn = (e) => Se(void 0, null, function* () {
|
|
619
630
|
const n = new Image();
|
|
620
|
-
return n.src = e, yield new Promise((d,
|
|
621
|
-
n.onload = d, n.onerror =
|
|
631
|
+
return n.src = e, yield new Promise((d, p) => {
|
|
632
|
+
n.onload = d, n.onerror = p;
|
|
622
633
|
}), n;
|
|
623
|
-
}),
|
|
634
|
+
}), kn = (e) => Se(void 0, null, function* () {
|
|
624
635
|
const n = new Image();
|
|
625
|
-
return n.crossOrigin = "anonymous", new Promise((d,
|
|
636
|
+
return n.crossOrigin = "anonymous", new Promise((d, p) => {
|
|
626
637
|
n.onload = () => {
|
|
627
638
|
const f = n.width, M = n.height;
|
|
628
639
|
Ae.width = f, Ae.height = M, Be.clearRect(0, 0, f, M), Be.drawImage(n, 0, 0), d(Ae.toDataURL());
|
|
629
|
-
}, n.onerror =
|
|
640
|
+
}, n.onerror = p, n.src = e.src;
|
|
630
641
|
});
|
|
631
|
-
}),
|
|
632
|
-
const d = e.width,
|
|
633
|
-
Ae.width = d, Ae.height =
|
|
634
|
-
}),
|
|
642
|
+
}), Yn = (e) => new Promise((n) => {
|
|
643
|
+
const d = e.width, p = e.height;
|
|
644
|
+
Ae.width = d, Ae.height = p, Be.clearRect(0, 0, d, p), Be.drawImage(e, 0, 0), Be.transform, Ae.toBlob(n);
|
|
645
|
+
}), zn = Tn(
|
|
635
646
|
["padding", "margin", "border"].map((e) => [
|
|
636
647
|
`${e}-top`,
|
|
637
648
|
`${e}-right`,
|
|
638
649
|
`${e}-bottom`,
|
|
639
650
|
`${e}-left`
|
|
640
651
|
])
|
|
641
|
-
),
|
|
652
|
+
), Kn = [
|
|
642
653
|
"color",
|
|
643
654
|
"width",
|
|
644
655
|
"height",
|
|
@@ -660,37 +671,37 @@ const { SlateNodePlaceholder: Wn } = $t, Tt = {
|
|
|
660
671
|
"opacity",
|
|
661
672
|
"visibility",
|
|
662
673
|
"textTransform",
|
|
663
|
-
...
|
|
674
|
+
...zn
|
|
664
675
|
];
|
|
665
|
-
function
|
|
676
|
+
function on(e) {
|
|
666
677
|
const n = e.cloneNode(!0);
|
|
667
678
|
if (!(n instanceof HTMLElement && e instanceof HTMLElement))
|
|
668
679
|
return n;
|
|
669
680
|
const d = window.getComputedStyle(e);
|
|
670
|
-
return
|
|
671
|
-
n.style.setProperty(
|
|
672
|
-
}), n.childNodes.forEach((
|
|
673
|
-
n.replaceChild(
|
|
681
|
+
return Kn.forEach((p) => {
|
|
682
|
+
n.style.setProperty(p, d.getPropertyValue(p));
|
|
683
|
+
}), n.childNodes.forEach((p, f) => {
|
|
684
|
+
n.replaceChild(on(e.childNodes[f]), p);
|
|
674
685
|
}), n;
|
|
675
686
|
}
|
|
676
|
-
const
|
|
687
|
+
const an = function(d) {
|
|
677
688
|
return Se(this, arguments, function* (e, n = {}) {
|
|
678
|
-
const
|
|
679
|
-
if (
|
|
689
|
+
const p = n.width || e.offsetWidth, f = n.height || e.offsetHeight, { overwrite: M = [], wrapper: m = (x) => x } = n, a = on(e);
|
|
690
|
+
if (a.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"), a.classList.remove("outline"), n.styleText) {
|
|
680
691
|
const x = document.createElement("style");
|
|
681
|
-
x.innerHTML = n.styleText,
|
|
692
|
+
x.innerHTML = n.styleText, a.appendChild(x);
|
|
682
693
|
}
|
|
683
694
|
M.forEach((x) => {
|
|
684
695
|
if (x.selector === "" && x instanceof HTMLElement) {
|
|
685
696
|
const Y = x.style;
|
|
686
697
|
Object.keys(x.style).forEach((G) => {
|
|
687
698
|
Y.setProperty(G, x.style[G]);
|
|
688
|
-
}), x.innerText && (
|
|
689
|
-
|
|
699
|
+
}), x.innerText && (a.innerText = x.innerText), x.innerHTML && (a.innerHTML = x.innerHTML), x.attrs && Object.keys(x.attrs).forEach((G) => {
|
|
700
|
+
a.setAttribute(G, x.attrs[G]);
|
|
690
701
|
});
|
|
691
702
|
}
|
|
692
|
-
|
|
693
|
-
if (
|
|
703
|
+
a.querySelectorAll(x.selector).forEach((Y) => {
|
|
704
|
+
if (en(Y, "nodeType") === 1) {
|
|
694
705
|
const G = Y, z = G.style;
|
|
695
706
|
if (x.style && Object.keys(x.style).forEach((W) => {
|
|
696
707
|
z.setProperty(W, x.style[W]);
|
|
@@ -700,39 +711,39 @@ const sn = function(d) {
|
|
|
700
711
|
}
|
|
701
712
|
});
|
|
702
713
|
}), yield Promise.all(
|
|
703
|
-
[...
|
|
704
|
-
x.src = yield
|
|
714
|
+
[...a.querySelectorAll("img")].map((x) => Se(this, null, function* () {
|
|
715
|
+
x.src = yield kn(x);
|
|
705
716
|
}))
|
|
706
717
|
);
|
|
707
|
-
const u = new XMLSerializer().serializeToString(m(
|
|
708
|
-
let w = 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="' +
|
|
718
|
+
const u = new XMLSerializer().serializeToString(m(a));
|
|
719
|
+
let w = 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="' + p + '" height="' + f + '"><foreignObject x="0" y="0" width="100%" height="100%">' + u + "</foreignObject></svg>";
|
|
709
720
|
return w = w.replace(/\n/g, "").replace(/\t/g, "").replace(/#/g, "%23"), w;
|
|
710
721
|
});
|
|
711
722
|
};
|
|
712
|
-
var
|
|
723
|
+
var Xn = Object.defineProperty, On = Object.defineProperties, Vn = Object.getOwnPropertyDescriptors, Ft = Object.getOwnPropertySymbols, jn = Object.prototype.hasOwnProperty, Pn = Object.prototype.propertyIsEnumerable, Ze = Math.pow, Rt = (e, n, d) => n in e ? Xn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[n] = d, We = (e, n) => {
|
|
713
724
|
for (var d in n || (n = {}))
|
|
714
|
-
|
|
725
|
+
jn.call(n, d) && Rt(e, d, n[d]);
|
|
715
726
|
if (Ft)
|
|
716
727
|
for (var d of Ft(n))
|
|
717
|
-
|
|
728
|
+
Pn.call(n, d) && Rt(e, d, n[d]);
|
|
718
729
|
return e;
|
|
719
|
-
}, Qe = (e, n) =>
|
|
730
|
+
}, Qe = (e, n) => On(e, Vn(n)), Ee = (e, n, d) => new Promise((p, f) => {
|
|
720
731
|
var M = (u) => {
|
|
721
732
|
try {
|
|
722
|
-
|
|
733
|
+
a(d.next(u));
|
|
723
734
|
} catch (w) {
|
|
724
735
|
f(w);
|
|
725
736
|
}
|
|
726
737
|
}, m = (u) => {
|
|
727
738
|
try {
|
|
728
|
-
|
|
739
|
+
a(d.throw(u));
|
|
729
740
|
} catch (w) {
|
|
730
741
|
f(w);
|
|
731
742
|
}
|
|
732
|
-
},
|
|
733
|
-
|
|
743
|
+
}, a = (u) => u.done ? p(u.value) : Promise.resolve(u.value).then(M, m);
|
|
744
|
+
a((d = d.apply(e, n)).next());
|
|
734
745
|
});
|
|
735
|
-
const
|
|
746
|
+
const An = typeof window < "u", ae = 65536 - 1, Pe = ae * ae, Fn = 512 - 1, Zt = [
|
|
736
747
|
0,
|
|
737
748
|
20,
|
|
738
749
|
40,
|
|
@@ -1503,7 +1514,7 @@ const Fn = typeof window < "u", ae = 65536 - 1, Pe = ae * ae, Rn = 512 - 1, Nt =
|
|
|
1503
1514
|
255,
|
|
1504
1515
|
255
|
|
1505
1516
|
];
|
|
1506
|
-
function
|
|
1517
|
+
function Nt(e) {
|
|
1507
1518
|
let n;
|
|
1508
1519
|
if (e <= 0)
|
|
1509
1520
|
return 0;
|
|
@@ -1511,65 +1522,65 @@ function It(e) {
|
|
|
1511
1522
|
return ae;
|
|
1512
1523
|
n = e * (e * (e + -144107) / ae + 132114) / ae + 14379;
|
|
1513
1524
|
for (let d = 0; d < 2; d++) {
|
|
1514
|
-
const
|
|
1515
|
-
n = (n * (2 * e + (
|
|
1525
|
+
const p = n * n * n, f = e + (2 * p + Pe / 2) / Pe;
|
|
1526
|
+
n = (n * (2 * e + (p + Pe / 2) / Pe) + f / 2) / f;
|
|
1516
1527
|
}
|
|
1517
1528
|
return n;
|
|
1518
1529
|
}
|
|
1519
1530
|
function Ce(e, n) {
|
|
1520
1531
|
return (e ^ n) < 0 ? (e - n / 2) / n : (e + n / 2) / n;
|
|
1521
1532
|
}
|
|
1522
|
-
function
|
|
1523
|
-
const n =
|
|
1533
|
+
function sn(e) {
|
|
1534
|
+
const n = Zt[e >> 16 & 255], d = Zt[e >> 8 & 255], p = Zt[e & 255], f = (27015 * n + 35149 * d + 3372 * p + ae / 2) / ae, M = (13887 * n + 44610 * d + 7038 * p + ae / 2) / ae, m = (5787 * n + 18462 * d + 41286 * p + ae / 2) / ae, a = Nt(f), u = Nt(M), w = Nt(m);
|
|
1524
1535
|
return [
|
|
1525
|
-
Ce(13792 *
|
|
1526
|
-
Ce(129628 *
|
|
1527
|
-
Ce(1698 *
|
|
1536
|
+
Ce(13792 * a + 52010 * u - 267 * w, ae),
|
|
1537
|
+
Ce(129628 * a - 159158 * u + 29530 * w, ae),
|
|
1538
|
+
Ce(1698 * a + 51299 * u - 52997 * w, ae)
|
|
1528
1539
|
];
|
|
1529
1540
|
}
|
|
1530
|
-
function
|
|
1541
|
+
function It(e) {
|
|
1531
1542
|
if (e <= 0)
|
|
1532
1543
|
return 0;
|
|
1533
1544
|
if (e >= ae)
|
|
1534
1545
|
return 255;
|
|
1535
1546
|
{
|
|
1536
|
-
const n = e *
|
|
1537
|
-
return (
|
|
1547
|
+
const n = e * Fn, d = ~~(n / ae), p = n % ae, f = Ut[d], M = Ut[d + 1];
|
|
1548
|
+
return (p * (M - f) + ae / 2) / ae + f;
|
|
1538
1549
|
}
|
|
1539
1550
|
}
|
|
1540
|
-
function
|
|
1541
|
-
const n = e[0] + Ce(25974 * e[1], ae) + Ce(14143 * e[2], ae), d = e[0] + Ce(-6918 * e[1], ae) + Ce(-4185 * e[2], ae),
|
|
1542
|
-
return
|
|
1551
|
+
function Rn(e) {
|
|
1552
|
+
const n = e[0] + Ce(25974 * e[1], ae) + Ce(14143 * e[2], ae), d = e[0] + Ce(-6918 * e[1], ae) + Ce(-4185 * e[2], ae), p = e[0] + Ce(-5864 * e[1], ae) + Ce(-84638 * e[2], ae), f = Ze(n, 2) * n / Pe, M = Ze(d, 2) * d / Pe, m = Ze(p, 2) * p / Pe, a = It((267169 * f + -216771 * M + 15137 * m + ae / 2) / ae), u = It((-83127 * f + 171030 * M + -22368 * m + ae / 2) / ae), w = It((-275 * f + -46099 * M + 111909 * m + ae / 2) / ae);
|
|
1553
|
+
return a << 16 | u << 8 | w;
|
|
1543
1554
|
}
|
|
1544
|
-
function
|
|
1545
|
-
const n = { l: 0, a: 1, b: 2 }, d = e[0],
|
|
1546
|
-
return (u, w) => u.oklab[M] - w.oklab[M] || u.oklab[m] - w.oklab[m] || u.oklab[
|
|
1555
|
+
function Un(e) {
|
|
1556
|
+
const n = { l: 0, a: 1, b: 2 }, d = e[0], p = e[1], f = e[2], M = n[d], m = n[p], a = n[f];
|
|
1557
|
+
return (u, w) => u.oklab[M] - w.oklab[M] || u.oklab[m] - w.oklab[m] || u.oklab[a] - w.oklab[a];
|
|
1547
1558
|
}
|
|
1548
|
-
function
|
|
1559
|
+
function Jn(e, n, d) {
|
|
1549
1560
|
return e >= n ? n >= d ? "lab" : e >= d ? "lba" : "bla" : e >= d ? "alb" : n >= d ? "abl" : "bal";
|
|
1550
1561
|
}
|
|
1551
|
-
function
|
|
1562
|
+
function Hn(e) {
|
|
1552
1563
|
return new Promise((n) => {
|
|
1553
1564
|
const d = new Image();
|
|
1554
1565
|
d.decoding = "sync", d.loading = "eager", d.crossOrigin = "anonymous", d.onload = () => n(d), d.onerror = () => n(d), d.src = e;
|
|
1555
1566
|
});
|
|
1556
1567
|
}
|
|
1557
|
-
function
|
|
1568
|
+
function ln(e) {
|
|
1558
1569
|
return e && typeof e == "object" && "__CONTEXT__" in e;
|
|
1559
1570
|
}
|
|
1560
|
-
function
|
|
1561
|
-
return
|
|
1571
|
+
function Qn(e) {
|
|
1572
|
+
return ln(e) ? e : Bn(e);
|
|
1562
1573
|
}
|
|
1563
|
-
function
|
|
1574
|
+
function Bn(e = {}) {
|
|
1564
1575
|
const {
|
|
1565
1576
|
maxColors: n = 256,
|
|
1566
1577
|
statsMode: d = "full",
|
|
1567
|
-
samples:
|
|
1578
|
+
samples: p = [],
|
|
1568
1579
|
skipTransparent: f = !0
|
|
1569
1580
|
} = e;
|
|
1570
1581
|
return {
|
|
1571
1582
|
__CONTEXT__: !0,
|
|
1572
|
-
samples:
|
|
1583
|
+
samples: p,
|
|
1573
1584
|
maxColors: n,
|
|
1574
1585
|
statsMode: d,
|
|
1575
1586
|
skipTransparent: f,
|
|
@@ -1580,71 +1591,71 @@ function _n(e = {}) {
|
|
|
1580
1591
|
finderCache: /* @__PURE__ */ new Map()
|
|
1581
1592
|
};
|
|
1582
1593
|
}
|
|
1583
|
-
function
|
|
1584
|
-
const n =
|
|
1594
|
+
function cn(e) {
|
|
1595
|
+
const n = ln(e) ? e : e.context, {
|
|
1585
1596
|
colorBoxesIndexTree: d,
|
|
1586
|
-
finderCache:
|
|
1597
|
+
finderCache: p
|
|
1587
1598
|
} = n;
|
|
1588
|
-
function f(m,
|
|
1599
|
+
function f(m, a, u) {
|
|
1589
1600
|
const { left: w, right: x, longest: Y, oklab: G, colorBoxIndex: z } = d[m], W = Math.min(
|
|
1590
|
-
Ze(
|
|
1601
|
+
Ze(a[0] - G[0], 2) + Ze(a[1] - G[1], 2) + Ze(a[2] - G[2], 2),
|
|
1591
1602
|
4294967295 - 1
|
|
1592
1603
|
);
|
|
1593
1604
|
W < u.dist && (u.colorBoxIndex = z, u.dist = W);
|
|
1594
1605
|
let T, O;
|
|
1595
1606
|
if (w !== -1 || x !== -1) {
|
|
1596
|
-
const _ =
|
|
1597
|
-
_ <= 0 ? (T = w, O = x) : (T = x, O = w), T !== -1 && f(T,
|
|
1607
|
+
const _ = a[Y] - G[Y];
|
|
1608
|
+
_ <= 0 ? (T = w, O = x) : (T = x, O = w), T !== -1 && f(T, a, u), O !== -1 && Ze(_, 2) < u.dist && f(O, a, u);
|
|
1598
1609
|
}
|
|
1599
1610
|
}
|
|
1600
1611
|
function M(m) {
|
|
1601
|
-
const
|
|
1612
|
+
const a = {
|
|
1602
1613
|
dist: Number.MAX_SAFE_INTEGER,
|
|
1603
1614
|
colorBoxIndex: -1
|
|
1604
1615
|
};
|
|
1605
|
-
return f(0, m,
|
|
1616
|
+
return f(0, m, a), a.colorBoxIndex;
|
|
1606
1617
|
}
|
|
1607
1618
|
return (m) => {
|
|
1608
|
-
const
|
|
1609
|
-
let u =
|
|
1610
|
-
u || (u = /* @__PURE__ */ new Map(),
|
|
1619
|
+
const a = m % 32768;
|
|
1620
|
+
let u = p.get(a);
|
|
1621
|
+
u || (u = /* @__PURE__ */ new Map(), p.set(a, u));
|
|
1611
1622
|
let w = u.get(m);
|
|
1612
|
-
return w !== void 0 || (w = M(
|
|
1623
|
+
return w !== void 0 || (w = M(sn(m)), u.set(m, w)), w;
|
|
1613
1624
|
};
|
|
1614
1625
|
}
|
|
1615
|
-
function
|
|
1616
|
-
const { colorBoxes: d } = e,
|
|
1626
|
+
function _n(e, n) {
|
|
1627
|
+
const { colorBoxes: d } = e, p = d.reduce((m, a) => m + a.weight, 0);
|
|
1617
1628
|
if (!n)
|
|
1618
1629
|
return e.colorBoxes.map((m) => {
|
|
1619
|
-
const { srgb:
|
|
1630
|
+
const { srgb: a, weight: u } = m;
|
|
1620
1631
|
return {
|
|
1621
|
-
value:
|
|
1622
|
-
percentage: u /
|
|
1632
|
+
value: a,
|
|
1633
|
+
percentage: u / p
|
|
1623
1634
|
};
|
|
1624
1635
|
});
|
|
1625
1636
|
const f = [];
|
|
1626
|
-
for (let m = d.length,
|
|
1627
|
-
const { srgb: u, weight: w } = d[
|
|
1637
|
+
for (let m = d.length, a = 0; a < m; a++) {
|
|
1638
|
+
const { srgb: u, weight: w } = d[a];
|
|
1628
1639
|
f.push({
|
|
1629
1640
|
value: [
|
|
1630
1641
|
u >> 16 & 255,
|
|
1631
1642
|
u >> 8 & 255,
|
|
1632
1643
|
u & 255
|
|
1633
1644
|
],
|
|
1634
|
-
percentage: w /
|
|
1645
|
+
percentage: w / p
|
|
1635
1646
|
});
|
|
1636
1647
|
}
|
|
1637
1648
|
let M;
|
|
1638
1649
|
if (n === "buffer") {
|
|
1639
1650
|
M = new Uint8ClampedArray(f.length * 4);
|
|
1640
|
-
for (let m = f.length,
|
|
1641
|
-
const u =
|
|
1651
|
+
for (let m = f.length, a = 0; a < m; a++) {
|
|
1652
|
+
const u = a * 4, w = f[a].value;
|
|
1642
1653
|
M[u] = w[0], M[u + 1] = w[1], M[u + 2] = w[2], M[u + 3] = 255;
|
|
1643
1654
|
}
|
|
1644
1655
|
} else if (n === "hex") {
|
|
1645
1656
|
M = [];
|
|
1646
|
-
for (let m = f.length,
|
|
1647
|
-
const { value: u, percentage: w } = f[
|
|
1657
|
+
for (let m = f.length, a = 0; a < m; a++) {
|
|
1658
|
+
const { value: u, percentage: w } = f[a], x = u[0].toString(16).padStart(2, "0"), Y = u[1].toString(16).padStart(2, "0"), G = u[2].toString(16).padStart(2, "0");
|
|
1648
1659
|
M.push({
|
|
1649
1660
|
value: `#${x}${Y}${G}`,
|
|
1650
1661
|
percentage: w
|
|
@@ -1654,10 +1665,10 @@ function qn(e, n) {
|
|
|
1654
1665
|
M = f;
|
|
1655
1666
|
return M;
|
|
1656
1667
|
}
|
|
1657
|
-
function
|
|
1658
|
-
var
|
|
1668
|
+
function Gt(e, n, d) {
|
|
1669
|
+
var p, f, M, m;
|
|
1659
1670
|
const {
|
|
1660
|
-
getContext2d:
|
|
1671
|
+
getContext2d: a,
|
|
1661
1672
|
previousSample: u,
|
|
1662
1673
|
skipTransparent: w
|
|
1663
1674
|
} = d, {
|
|
@@ -1675,7 +1686,7 @@ function Lt(e, n, d) {
|
|
|
1675
1686
|
const W = [];
|
|
1676
1687
|
for (let T = n.length, O = 0; O < T; O++)
|
|
1677
1688
|
W.push(
|
|
1678
|
-
(
|
|
1689
|
+
(p = n[O][0]) != null ? p : 0,
|
|
1679
1690
|
(f = n[O][1]) != null ? f : 0,
|
|
1680
1691
|
(M = n[O][2]) != null ? M : 0,
|
|
1681
1692
|
(m = n[O][3]) != null ? m : 255
|
|
@@ -1684,21 +1695,21 @@ function Lt(e, n, d) {
|
|
|
1684
1695
|
} else
|
|
1685
1696
|
z = new Uint8ClampedArray(n);
|
|
1686
1697
|
else if (typeof n == "string") {
|
|
1687
|
-
const W =
|
|
1698
|
+
const W = a == null ? void 0 : a();
|
|
1688
1699
|
if (!W)
|
|
1689
1700
|
return;
|
|
1690
1701
|
const T = W.canvas;
|
|
1691
|
-
return
|
|
1702
|
+
return Hn(n).then((O) => (W.clearRect(0, 0, T.width, T.height), T.width = O.width, T.height = O.height, W.drawImage(O, 0, 0, T.width, T.height), Gt(
|
|
1692
1703
|
e,
|
|
1693
1704
|
W.getImageData(0, 0, T.width, T.height).data,
|
|
1694
1705
|
d
|
|
1695
1706
|
)));
|
|
1696
1707
|
} else {
|
|
1697
|
-
const W =
|
|
1708
|
+
const W = a == null ? void 0 : a();
|
|
1698
1709
|
if (!W)
|
|
1699
1710
|
return;
|
|
1700
1711
|
const T = W.canvas;
|
|
1701
|
-
return W.clearRect(0, 0, T.width, T.height), T.width = typeof n.width == "number" ? n.width : n.width.baseVal.value, T.height = typeof n.height == "number" ? n.height : n.height.baseVal.value, W.drawImage(n, 0, 0, T.width, T.height),
|
|
1712
|
+
return W.clearRect(0, 0, T.width, T.height), T.width = typeof n.width == "number" ? n.width : n.width.baseVal.value, T.height = typeof n.height == "number" ? n.height : n.height.baseVal.value, W.drawImage(n, 0, 0, T.width, T.height), Gt(
|
|
1702
1713
|
e,
|
|
1703
1714
|
W.getImageData(0, 0, T.width, T.height).data,
|
|
1704
1715
|
d
|
|
@@ -1719,18 +1730,18 @@ function Lt(e, n, d) {
|
|
|
1719
1730
|
be = Y.push({
|
|
1720
1731
|
alpha: te,
|
|
1721
1732
|
srgb: $,
|
|
1722
|
-
oklab:
|
|
1733
|
+
oklab: sn($),
|
|
1723
1734
|
count: 1
|
|
1724
1735
|
}) - 1, se.set(P, be);
|
|
1725
1736
|
}
|
|
1726
1737
|
return z;
|
|
1727
1738
|
}
|
|
1728
|
-
function
|
|
1729
|
-
const { colorSamples: d } = n, { start:
|
|
1730
|
-
e.length = f -
|
|
1739
|
+
function dn(e, n) {
|
|
1740
|
+
const { colorSamples: d } = n, { start: p, end: f } = e;
|
|
1741
|
+
e.length = f - p, e.weight = 0;
|
|
1731
1742
|
const M = [0, 0, 0];
|
|
1732
|
-
for (let
|
|
1733
|
-
const u = d[
|
|
1743
|
+
for (let a = p; a < f; a++) {
|
|
1744
|
+
const u = d[a];
|
|
1734
1745
|
M[0] += u.oklab[0] * u.count, M[1] += u.oklab[1] * u.count, M[2] += u.oklab[2] * u.count, e.weight += u.count;
|
|
1735
1746
|
}
|
|
1736
1747
|
e.oklab = [
|
|
@@ -1739,11 +1750,11 @@ function un(e, n) {
|
|
|
1739
1750
|
M[2] / e.weight
|
|
1740
1751
|
];
|
|
1741
1752
|
const m = [0, 0, 0];
|
|
1742
|
-
for (let
|
|
1743
|
-
const u = d[
|
|
1753
|
+
for (let a = p; a < f; a++) {
|
|
1754
|
+
const u = d[a];
|
|
1744
1755
|
m[0] += Ze(u.oklab[0] - e.oklab[0], 2) * u.count, m[1] += Ze(u.oklab[1] - e.oklab[1], 2) * u.count, m[2] += Ze(u.oklab[2] - e.oklab[2], 2) * u.count;
|
|
1745
1756
|
}
|
|
1746
|
-
e.sort =
|
|
1757
|
+
e.sort = Jn(m[0], m[1], m[2]), e.score = Math.max(m[0], m[1], m[2]);
|
|
1747
1758
|
}
|
|
1748
1759
|
function Jt(e, n) {
|
|
1749
1760
|
const d = We({
|
|
@@ -1757,14 +1768,14 @@ function Jt(e, n) {
|
|
|
1757
1768
|
srgb: 0,
|
|
1758
1769
|
oklab: [0, 0, 0]
|
|
1759
1770
|
}, e);
|
|
1760
|
-
return
|
|
1771
|
+
return dn(d, n), d;
|
|
1761
1772
|
}
|
|
1762
|
-
function
|
|
1763
|
-
const { colorBoxes: n } = e, d = [],
|
|
1764
|
-
for (let m = -1,
|
|
1773
|
+
function qn(e) {
|
|
1774
|
+
const { colorBoxes: n } = e, d = [], p = /* @__PURE__ */ new Map();
|
|
1775
|
+
for (let m = -1, a = n.length, u = 0; u < a; u++) {
|
|
1765
1776
|
const { srgb: w } = n[u];
|
|
1766
1777
|
if (w === m) {
|
|
1767
|
-
|
|
1778
|
+
p.set(u, !0);
|
|
1768
1779
|
continue;
|
|
1769
1780
|
}
|
|
1770
1781
|
m = w;
|
|
@@ -1774,7 +1785,7 @@ function $n(e) {
|
|
|
1774
1785
|
max: [65535, 65535, 65535]
|
|
1775
1786
|
});
|
|
1776
1787
|
function f(m) {
|
|
1777
|
-
const
|
|
1788
|
+
const a = {
|
|
1778
1789
|
min: [65535, 65535, 65535],
|
|
1779
1790
|
max: [-65535, -65535, -65535]
|
|
1780
1791
|
};
|
|
@@ -1782,7 +1793,7 @@ function $n(e) {
|
|
|
1782
1793
|
const w = [];
|
|
1783
1794
|
for (let W = n.length, T = 0; T < W; T++) {
|
|
1784
1795
|
const { oklab: O } = n[T];
|
|
1785
|
-
|
|
1796
|
+
p.has(T) || O[0] < m.min[0] || O[1] < m.min[1] || O[2] < m.min[2] || O[0] > m.max[0] || O[1] > m.max[1] || O[2] > m.max[2] || (O[0] < a.min[0] && (a.min[0] = O[0]), O[1] < a.min[1] && (a.min[1] = O[1]), O[2] < a.min[2] && (a.min[2] = O[2]), O[0] > a.max[0] && (a.max[0] = O[0]), O[1] > a.max[1] && (a.max[1] = O[1]), O[2] > a.max[2] && (a.max[2] = O[2]), w[u++] = {
|
|
1786
1797
|
oklab: O,
|
|
1787
1798
|
colorBoxIndex: T
|
|
1788
1799
|
});
|
|
@@ -1790,22 +1801,22 @@ function $n(e) {
|
|
|
1790
1801
|
let x = 0;
|
|
1791
1802
|
if (!u)
|
|
1792
1803
|
return { colorBoxIndex: -1, longest: x };
|
|
1793
|
-
const Y =
|
|
1804
|
+
const Y = a.max[0] - a.min[0], G = a.max[1] - a.min[1], z = a.max[2] - a.min[2];
|
|
1794
1805
|
return Y >= G && Y >= z ? x = 0 : z >= Y && z >= G ? x = 2 : G >= Y && G >= z && (x = 1), {
|
|
1795
1806
|
colorBoxIndex: w.sort((W, T) => W.oklab[x] - T.oklab[x])[u >> 1].colorBoxIndex,
|
|
1796
1807
|
longest: x
|
|
1797
1808
|
};
|
|
1798
1809
|
}
|
|
1799
1810
|
function M(m) {
|
|
1800
|
-
const { colorBoxIndex:
|
|
1801
|
-
if (
|
|
1811
|
+
const { colorBoxIndex: a, longest: u } = f(m);
|
|
1812
|
+
if (a < 0)
|
|
1802
1813
|
return -1;
|
|
1803
|
-
const { oklab: w } = n[
|
|
1814
|
+
const { oklab: w } = n[a], x = {
|
|
1804
1815
|
longest: u,
|
|
1805
1816
|
oklab: w,
|
|
1806
|
-
colorBoxIndex:
|
|
1817
|
+
colorBoxIndex: a
|
|
1807
1818
|
}, Y = d.push(x) - 1;
|
|
1808
|
-
|
|
1819
|
+
p.set(a, !0);
|
|
1809
1820
|
const G = { max: [...m.max], min: [...m.min] }, z = { max: [...m.max], min: [...m.min] };
|
|
1810
1821
|
G.max[u] = w[u], z.min[u] = Math.min(w[u] + 1, 65535);
|
|
1811
1822
|
const W = M(G);
|
|
@@ -1814,24 +1825,24 @@ function $n(e) {
|
|
|
1814
1825
|
}
|
|
1815
1826
|
return d;
|
|
1816
1827
|
}
|
|
1817
|
-
function
|
|
1828
|
+
function $n(e, n = {}) {
|
|
1818
1829
|
const {
|
|
1819
1830
|
maxColors: d,
|
|
1820
|
-
colorSamples:
|
|
1831
|
+
colorSamples: p
|
|
1821
1832
|
} = e;
|
|
1822
|
-
if (!
|
|
1833
|
+
if (!p.length)
|
|
1823
1834
|
return;
|
|
1824
1835
|
const {
|
|
1825
1836
|
maxColors: f = d,
|
|
1826
1837
|
clearSamples: M = !0
|
|
1827
1838
|
} = n;
|
|
1828
|
-
let m = Jt({ end:
|
|
1839
|
+
let m = Jt({ end: p.length }, e), a = 1;
|
|
1829
1840
|
const u = [m];
|
|
1830
1841
|
function w() {
|
|
1831
1842
|
let Y = -1, G = -1;
|
|
1832
|
-
if (
|
|
1843
|
+
if (a === f)
|
|
1833
1844
|
return -1;
|
|
1834
|
-
for (let z = 0; z <
|
|
1845
|
+
for (let z = 0; z < a; z++) {
|
|
1835
1846
|
const W = u[z];
|
|
1836
1847
|
W.length >= 2 && W.score > G && (Y = z, G = W.score);
|
|
1837
1848
|
}
|
|
@@ -1843,30 +1854,30 @@ function er(e, n = {}) {
|
|
|
1843
1854
|
end: Y.end,
|
|
1844
1855
|
sorted: Y.sorted
|
|
1845
1856
|
}, e);
|
|
1846
|
-
Y.end -= z.length,
|
|
1857
|
+
Y.end -= z.length, dn(Y, e), u.push(z), a++;
|
|
1847
1858
|
}
|
|
1848
1859
|
for (; m && m.length > 1; ) {
|
|
1849
1860
|
const { start: Y, end: G, sort: z, sorted: W } = m;
|
|
1850
1861
|
if (z !== W) {
|
|
1851
|
-
const te =
|
|
1862
|
+
const te = p.slice(Y, G).sort(Un(z));
|
|
1852
1863
|
for (let $ = te.length, P = 0; P < $; P++)
|
|
1853
|
-
|
|
1864
|
+
p[Y + P] = te[P];
|
|
1854
1865
|
m.sorted = z;
|
|
1855
1866
|
}
|
|
1856
1867
|
const T = m.weight + 1 >> 1;
|
|
1857
1868
|
let O = Y, _ = 0;
|
|
1858
|
-
for (let te = G - 2; O < te && (_ +=
|
|
1869
|
+
for (let te = G - 2; O < te && (_ += p[O].count, !(_ > T)); O++)
|
|
1859
1870
|
;
|
|
1860
1871
|
x(m, O);
|
|
1861
1872
|
const ie = w();
|
|
1862
1873
|
m = ie >= 0 ? u[ie] : null;
|
|
1863
1874
|
}
|
|
1864
1875
|
for (let Y = u.length, G = 0; G < Y; G++)
|
|
1865
|
-
u[G].srgb =
|
|
1866
|
-
e.colorBoxes = u.sort((Y, G) => Y.srgb - G.srgb), e.colorBoxesIndexTree =
|
|
1876
|
+
u[G].srgb = Rn(u[G].oklab);
|
|
1877
|
+
e.colorBoxes = u.sort((Y, G) => Y.srgb - G.srgb), e.colorBoxesIndexTree = qn(e), M && (e.colorSamples = [], e.colorSamplesCache.clear()), e.finderCache.clear();
|
|
1867
1878
|
}
|
|
1868
|
-
function
|
|
1869
|
-
const { colorBoxes:
|
|
1879
|
+
function er(e, n, d) {
|
|
1880
|
+
const { colorBoxes: p } = e;
|
|
1870
1881
|
if (!n)
|
|
1871
1882
|
return;
|
|
1872
1883
|
let f;
|
|
@@ -1886,12 +1897,12 @@ function tr(e, n, d) {
|
|
|
1886
1897
|
const M = n(f);
|
|
1887
1898
|
if (M === void 0)
|
|
1888
1899
|
return;
|
|
1889
|
-
const m =
|
|
1900
|
+
const m = p[M];
|
|
1890
1901
|
if (!m)
|
|
1891
1902
|
return;
|
|
1892
|
-
const { srgb:
|
|
1903
|
+
const { srgb: a } = m;
|
|
1893
1904
|
if (typeof d == "string") {
|
|
1894
|
-
const u = (
|
|
1905
|
+
const u = (a >> 16 & 255).toString(16).padStart(2, "0"), w = (a >> 8 & 255).toString(16).padStart(2, "0"), x = (a & 255).toString(16).padStart(2, "0");
|
|
1895
1906
|
return {
|
|
1896
1907
|
value: `#${u}${w}${x}`,
|
|
1897
1908
|
index: M
|
|
@@ -1899,37 +1910,37 @@ function tr(e, n, d) {
|
|
|
1899
1910
|
} else if (typeof d == "object" && Array.isArray(d))
|
|
1900
1911
|
return {
|
|
1901
1912
|
value: [
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1913
|
+
a >> 16 & 255,
|
|
1914
|
+
a >> 8 & 255,
|
|
1915
|
+
a & 255
|
|
1905
1916
|
],
|
|
1906
1917
|
index: M
|
|
1907
1918
|
};
|
|
1908
1919
|
return {
|
|
1909
|
-
value:
|
|
1920
|
+
value: a,
|
|
1910
1921
|
index: M
|
|
1911
1922
|
};
|
|
1912
1923
|
}
|
|
1913
|
-
function
|
|
1924
|
+
function tr(e) {
|
|
1914
1925
|
e.colorSamples = [], e.colorSamplesCache.clear(), e.colorBoxes = [], e.colorBoxesIndexTree = [], e.finderCache.clear();
|
|
1915
1926
|
}
|
|
1916
1927
|
function Ht(e) {
|
|
1917
|
-
const n =
|
|
1928
|
+
const n = Qn(e), {
|
|
1918
1929
|
statsMode: d,
|
|
1919
|
-
samples:
|
|
1930
|
+
samples: p,
|
|
1920
1931
|
skipTransparent: f
|
|
1921
1932
|
} = n, M = function() {
|
|
1922
1933
|
let w;
|
|
1923
|
-
return () => (!w &&
|
|
1934
|
+
return () => (!w && An && (w = document.createElement("canvas").getContext("2d", {
|
|
1924
1935
|
willReadFrequently: !0
|
|
1925
1936
|
})), w);
|
|
1926
1937
|
}();
|
|
1927
|
-
let m = null,
|
|
1938
|
+
let m = null, a = null;
|
|
1928
1939
|
const u = {
|
|
1929
1940
|
context: n,
|
|
1930
1941
|
addSample: (w) => {
|
|
1931
1942
|
n.colorSamples.length === 0 && (m = null);
|
|
1932
|
-
const x =
|
|
1943
|
+
const x = Gt(n, w, {
|
|
1933
1944
|
getContext2d: M,
|
|
1934
1945
|
previousSample: m,
|
|
1935
1946
|
skipTransparent: f
|
|
@@ -1940,57 +1951,57 @@ function Ht(e) {
|
|
|
1940
1951
|
},
|
|
1941
1952
|
generate(w = {}) {
|
|
1942
1953
|
const { clearSamples: x = !0 } = w;
|
|
1943
|
-
return x && (m = null),
|
|
1954
|
+
return x && (m = null), $n(n, w), this;
|
|
1944
1955
|
},
|
|
1945
|
-
getColors: (w) =>
|
|
1946
|
-
findNearestColor: (w) => (
|
|
1947
|
-
reset: () =>
|
|
1956
|
+
getColors: (w) => _n(n, w),
|
|
1957
|
+
findNearestColor: (w) => (a || (a = cn(n)), er(n, a, w)),
|
|
1958
|
+
reset: () => tr(n)
|
|
1948
1959
|
};
|
|
1949
|
-
return
|
|
1960
|
+
return p.length && (p.forEach((w) => u.addSample(w)), n.samples = []), u;
|
|
1950
1961
|
}
|
|
1951
|
-
const
|
|
1952
|
-
function
|
|
1962
|
+
const ht = "[modern-gif]", nr = "GIF", rr = 44, un = 33, or = 255, ir = 11, ar = 249, sr = 4, lr = 59, cr = (...e) => console.warn(ht, ...e), dr = (...e) => console.debug(ht, ...e), ur = (e) => console.time(`${ht} ${e}`), mr = (e) => console.timeEnd(`${ht} ${e}`);
|
|
1963
|
+
function hr(e) {
|
|
1953
1964
|
const n = new Uint8Array(
|
|
1954
|
-
e.reduce((d,
|
|
1965
|
+
e.reduce((d, p) => d + p.byteLength, 0)
|
|
1955
1966
|
);
|
|
1956
|
-
return e.reduce((d,
|
|
1967
|
+
return e.reduce((d, p) => (n.set(p, d), d + p.byteLength), 0), n;
|
|
1957
1968
|
}
|
|
1958
|
-
function
|
|
1959
|
-
let
|
|
1969
|
+
function pr(e, n, d) {
|
|
1970
|
+
let p;
|
|
1960
1971
|
if (ArrayBuffer.isView(e))
|
|
1961
|
-
|
|
1972
|
+
p = e.buffer;
|
|
1962
1973
|
else if (e instanceof ArrayBuffer)
|
|
1963
|
-
|
|
1974
|
+
p = e;
|
|
1964
1975
|
else {
|
|
1965
|
-
const f = document.createElement("canvas"), { width: M, height: m } = d || {},
|
|
1966
|
-
if (!
|
|
1976
|
+
const f = document.createElement("canvas"), { width: M, height: m } = d || {}, a = f.getContext("2d");
|
|
1977
|
+
if (!a)
|
|
1967
1978
|
throw new Error("Failed to create canvas context2d");
|
|
1968
|
-
f.width = M != null ? M : typeof e.width == "number" ? e.width : e.width.baseVal.value, f.height = m != null ? m : typeof e.height == "number" ? e.height : e.height.baseVal.value,
|
|
1979
|
+
f.width = M != null ? M : typeof e.width == "number" ? e.width : e.width.baseVal.value, f.height = m != null ? m : typeof e.height == "number" ? e.height : e.height.baseVal.value, a.drawImage(e, 0, 0, f.width, f.height), p = a.getImageData(0, 0, f.width, f.height).data.buffer;
|
|
1969
1980
|
}
|
|
1970
1981
|
switch (n) {
|
|
1971
1982
|
case "uint8Array":
|
|
1972
|
-
return new Uint8Array(
|
|
1983
|
+
return new Uint8Array(p);
|
|
1973
1984
|
case "uint8ClampedArray":
|
|
1974
|
-
return new Uint8ClampedArray(
|
|
1985
|
+
return new Uint8ClampedArray(p);
|
|
1975
1986
|
case "dataView":
|
|
1976
|
-
return new DataView(
|
|
1987
|
+
return new DataView(p);
|
|
1977
1988
|
default:
|
|
1978
1989
|
throw new Error("Unsupported output format");
|
|
1979
1990
|
}
|
|
1980
1991
|
}
|
|
1981
|
-
function
|
|
1992
|
+
function br(e) {
|
|
1982
1993
|
const n = new Image();
|
|
1983
1994
|
return n.decoding = "sync", n.loading = "eager", n.crossOrigin = "anonymous", n.src = e, n;
|
|
1984
1995
|
}
|
|
1985
|
-
function
|
|
1996
|
+
function gr(e) {
|
|
1986
1997
|
return new Promise((n, d) => {
|
|
1987
|
-
const
|
|
1988
|
-
|
|
1998
|
+
const p = br(e);
|
|
1999
|
+
p.onload = () => n(p), p.onerror = d;
|
|
1989
2000
|
});
|
|
1990
2001
|
}
|
|
1991
|
-
function
|
|
2002
|
+
function yr(e, n) {
|
|
1992
2003
|
var d;
|
|
1993
|
-
const { top:
|
|
2004
|
+
const { top: p = 0, left: f = 0, width: M, height: m, rawWidth: a, rate: u = 4, callback: w } = n, x = new Uint8ClampedArray(M * m * u), Y = f * u, G = p * u, z = M * u, W = a * u;
|
|
1994
2005
|
for (let T = 0; T < m; T++)
|
|
1995
2006
|
for (let O = 0; O < z; O++) {
|
|
1996
2007
|
const _ = (G + T) * W + (Y + O);
|
|
@@ -1998,36 +2009,36 @@ function fr(e, n) {
|
|
|
1998
2009
|
}
|
|
1999
2010
|
return x;
|
|
2000
2011
|
}
|
|
2001
|
-
function
|
|
2012
|
+
function mn(e = {}) {
|
|
2002
2013
|
const {
|
|
2003
2014
|
chunkSize: n = 4096
|
|
2004
2015
|
} = e;
|
|
2005
|
-
let d = [new Uint8Array(n)],
|
|
2006
|
-
const M = (
|
|
2007
|
-
u ? d[u[0]][u[1]] =
|
|
2008
|
-
}, m = (
|
|
2016
|
+
let d = [new Uint8Array(n)], p = 0, f = 0;
|
|
2017
|
+
const M = (a, u) => {
|
|
2018
|
+
u ? d[u[0]][u[1]] = a : (f >= n && (d[++p] = new Uint8Array(n), f = 0), d[p][f++] = a);
|
|
2019
|
+
}, m = (a) => a.forEach((u) => M(u));
|
|
2009
2020
|
return {
|
|
2010
|
-
getCursor: () => [
|
|
2011
|
-
setCursor: (
|
|
2012
|
-
|
|
2021
|
+
getCursor: () => [p, f],
|
|
2022
|
+
setCursor: (a) => {
|
|
2023
|
+
p = a[0], f = a[1];
|
|
2013
2024
|
},
|
|
2014
|
-
calculateDistance: (
|
|
2025
|
+
calculateDistance: (a) => p * n + f - (a[0] * n + a[1]),
|
|
2015
2026
|
writeByte: M,
|
|
2016
2027
|
writeBytes: m,
|
|
2017
|
-
writeString: (
|
|
2018
|
-
writeUnsigned: (
|
|
2028
|
+
writeString: (a) => a.split("").forEach((u, w) => M(a.charCodeAt(w))),
|
|
2029
|
+
writeUnsigned: (a) => m([a & 255, a >> 8 & 255]),
|
|
2019
2030
|
flush: () => {
|
|
2020
|
-
d[
|
|
2021
|
-
const
|
|
2031
|
+
d[p] = d[p].slice(0, f);
|
|
2032
|
+
const a = new Uint8Array(d.reduce((w, x) => w + x.byteLength, 0));
|
|
2022
2033
|
let u = 0;
|
|
2023
2034
|
return d.forEach((w) => {
|
|
2024
|
-
|
|
2025
|
-
}), d = [new Uint8Array(n)],
|
|
2035
|
+
a.set(w, u), u += w.byteLength;
|
|
2036
|
+
}), d = [new Uint8Array(n)], p = 0, f = 0, a;
|
|
2026
2037
|
}
|
|
2027
2038
|
};
|
|
2028
2039
|
}
|
|
2029
|
-
function
|
|
2030
|
-
var n, d,
|
|
2040
|
+
function fr(e) {
|
|
2041
|
+
var n, d, p;
|
|
2031
2042
|
const f = We({
|
|
2032
2043
|
version: "89a",
|
|
2033
2044
|
looped: !0,
|
|
@@ -2054,46 +2065,46 @@ function wr(e) {
|
|
|
2054
2065
|
if (f.backgroundColorIndex === 0)
|
|
2055
2066
|
throw new Error("Background index explicitly passed as 0.");
|
|
2056
2067
|
}
|
|
2057
|
-
const m =
|
|
2058
|
-
writeByte:
|
|
2068
|
+
const m = mn(), {
|
|
2069
|
+
writeByte: a,
|
|
2059
2070
|
writeBytes: u,
|
|
2060
2071
|
writeUnsigned: w,
|
|
2061
2072
|
writeString: x,
|
|
2062
2073
|
flush: Y
|
|
2063
2074
|
} = m;
|
|
2064
|
-
return x(
|
|
2075
|
+
return x(nr), x(f.version), w(f.width), w(f.height), a(parseInt(`${f.colorTableSize ? 1 : 0}1110${f.colorTableSize.toString(2).padStart(3, "0")}`, 2)), a(f.backgroundColorIndex), a(f.pixelAspectRatio), u((p = (d = f.colorTable) == null ? void 0 : d.flat()) != null ? p : []), f.looped && (a(un), a(or), a(ir), x("NETSCAPE2.0"), a(3), a(1), w(f.loopCount), a(0)), Y();
|
|
2065
2076
|
}
|
|
2066
|
-
function
|
|
2067
|
-
const { writeByte:
|
|
2068
|
-
|
|
2077
|
+
function wr(e, n, d) {
|
|
2078
|
+
const { writeByte: p, getCursor: f, calculateDistance: M } = d;
|
|
2079
|
+
p(e);
|
|
2069
2080
|
let m = f();
|
|
2070
|
-
|
|
2071
|
-
const
|
|
2081
|
+
p(0);
|
|
2082
|
+
const a = 1 << e, u = a - 1, w = a + 1;
|
|
2072
2083
|
let x = w + 1, Y = e + 1, G = 0, z = 0;
|
|
2073
2084
|
function W(P) {
|
|
2074
2085
|
for (; G >= P; )
|
|
2075
|
-
|
|
2086
|
+
p(z & 255), z >>= 8, G -= 8, M(m) === 256 && (p(255, m), m = f(), p(0));
|
|
2076
2087
|
}
|
|
2077
2088
|
function T(P) {
|
|
2078
2089
|
z |= P << G, G += Y, W(8);
|
|
2079
2090
|
}
|
|
2080
2091
|
let O = n[0] & u, _ = {}, ie, te, $;
|
|
2081
|
-
T(
|
|
2092
|
+
T(a);
|
|
2082
2093
|
for (let P = n.length, L = 1; L < P; ++L)
|
|
2083
2094
|
if ($ = n[L] & u, ie = O << 8 | $, te = _[ie], te === void 0) {
|
|
2084
2095
|
for (z |= O << G, G += Y; G >= 8; )
|
|
2085
|
-
|
|
2086
|
-
x === 4096 ? (T(
|
|
2096
|
+
p(z & 255), z >>= 8, G -= 8, M(m) === 256 && (p(255, m), m = f(), p(0));
|
|
2097
|
+
x === 4096 ? (T(a), x = w + 1, Y = e + 1, _ = {}) : (x >= 1 << Y && ++Y, _[ie] = x++), O = $;
|
|
2087
2098
|
} else
|
|
2088
2099
|
O = te;
|
|
2089
|
-
T(O), T(w), W(1), M(m) === 1 ?
|
|
2100
|
+
T(O), T(w), W(1), M(m) === 1 ? p(0, m) : (p(M(m) - 1, m), p(0));
|
|
2090
2101
|
}
|
|
2091
|
-
function
|
|
2092
|
-
var n, d,
|
|
2093
|
-
const f =
|
|
2102
|
+
function Mr(e) {
|
|
2103
|
+
var n, d, p;
|
|
2104
|
+
const f = mn(), {
|
|
2094
2105
|
writeByte: M,
|
|
2095
2106
|
writeBytes: m,
|
|
2096
|
-
writeUnsigned:
|
|
2107
|
+
writeUnsigned: a,
|
|
2097
2108
|
flush: u
|
|
2098
2109
|
} = f, {
|
|
2099
2110
|
left: w = 0,
|
|
@@ -2107,7 +2118,7 @@ function xr(e) {
|
|
|
2107
2118
|
disposal: T = 0
|
|
2108
2119
|
} = e;
|
|
2109
2120
|
const O = (n = e.graphicControl) == null ? void 0 : n.transparent;
|
|
2110
|
-
let _ = (
|
|
2121
|
+
let _ = (p = (d = e.graphicControl) == null ? void 0 : d.transparentIndex) != null ? p : 255;
|
|
2111
2122
|
if (w < 0 || w > 65535)
|
|
2112
2123
|
throw new Error("Left invalid.");
|
|
2113
2124
|
if (x < 0 || x > 65535)
|
|
@@ -2123,37 +2134,37 @@ function xr(e) {
|
|
|
2123
2134
|
for (; te >>= 1; )
|
|
2124
2135
|
++ie;
|
|
2125
2136
|
}
|
|
2126
|
-
return M(
|
|
2137
|
+
return M(un), M(ar), M(sr), O ? T || (T = 2) : _ = 0, M(parseInt(`000${Number(T & 7).toString(2).padStart(3, "0")}0${O ? 1 : 0}`, 2)), a(z / 10), M(_), M(0), M(rr), a(w), a(x), a(Y), a(G), W != null && W.length ? (M(parseInt(`10000${(ie - 1).toString(2).padStart(3, "0")}`, 2)), m(W.flat())) : M(0), wr(ie, e.imageData, f), u();
|
|
2127
2138
|
}
|
|
2128
|
-
function
|
|
2139
|
+
function xr(e) {
|
|
2129
2140
|
const {
|
|
2130
2141
|
frames: n,
|
|
2131
2142
|
palette: d,
|
|
2132
|
-
transparentIndex:
|
|
2133
|
-
} = e, f =
|
|
2143
|
+
transparentIndex: p
|
|
2144
|
+
} = e, f = cn(d);
|
|
2134
2145
|
return n.map(({ imageData: M }) => {
|
|
2135
2146
|
let m = !1;
|
|
2136
|
-
const
|
|
2147
|
+
const a = new Uint8ClampedArray(M.length / 4);
|
|
2137
2148
|
for (let u = M.length, w = 0; w < u; w += 4)
|
|
2138
|
-
M[w + 3] === 0 ? (
|
|
2149
|
+
M[w + 3] === 0 ? (a[w / 4] = p, m = !0) : a[w / 4] = f(
|
|
2139
2150
|
M[w] << 16 | M[w + 1] << 8 | M[w + 2]
|
|
2140
2151
|
);
|
|
2141
2152
|
return {
|
|
2142
|
-
imageData:
|
|
2153
|
+
imageData: a,
|
|
2143
2154
|
transparent: m
|
|
2144
2155
|
};
|
|
2145
2156
|
});
|
|
2146
2157
|
}
|
|
2147
|
-
function
|
|
2158
|
+
function Tr(e) {
|
|
2148
2159
|
const { frames: n, transparentIndex: d } = e;
|
|
2149
|
-
let
|
|
2160
|
+
let p;
|
|
2150
2161
|
return n.map((f, M) => {
|
|
2151
|
-
var m,
|
|
2162
|
+
var m, a;
|
|
2152
2163
|
const {
|
|
2153
2164
|
width: u,
|
|
2154
2165
|
height: w,
|
|
2155
2166
|
imageData: x
|
|
2156
|
-
} = f, Y = f.transparent || ((
|
|
2167
|
+
} = f, Y = f.transparent || ((a = (m = n[M + 1]) == null ? void 0 : m.transparent) != null ? a : !0);
|
|
2157
2168
|
let G = 0, z = 0, W = u - 1, T = w - 1, O;
|
|
2158
2169
|
if (Y) {
|
|
2159
2170
|
for (; z < T; ) {
|
|
@@ -2201,12 +2212,12 @@ function vr(e) {
|
|
|
2201
2212
|
W--;
|
|
2202
2213
|
}
|
|
2203
2214
|
} else {
|
|
2204
|
-
if (
|
|
2215
|
+
if (p) {
|
|
2205
2216
|
for (; z < T; ) {
|
|
2206
2217
|
let $ = !0;
|
|
2207
2218
|
for (let P = 0; P < u; P++) {
|
|
2208
2219
|
const L = u * z + P;
|
|
2209
|
-
if (x[L] !==
|
|
2220
|
+
if (x[L] !== p[L]) {
|
|
2210
2221
|
$ = !1;
|
|
2211
2222
|
break;
|
|
2212
2223
|
}
|
|
@@ -2219,7 +2230,7 @@ function vr(e) {
|
|
|
2219
2230
|
let $ = !0;
|
|
2220
2231
|
for (let P = 0; P < u; P++) {
|
|
2221
2232
|
const L = u * T + P;
|
|
2222
|
-
if (x[L] !==
|
|
2233
|
+
if (x[L] !== p[L]) {
|
|
2223
2234
|
$ = !1;
|
|
2224
2235
|
break;
|
|
2225
2236
|
}
|
|
@@ -2235,7 +2246,7 @@ function vr(e) {
|
|
|
2235
2246
|
let $ = !0;
|
|
2236
2247
|
for (let P = z; P <= T; P++) {
|
|
2237
2248
|
const L = P * u + G;
|
|
2238
|
-
if (x[L] !==
|
|
2249
|
+
if (x[L] !== p[L]) {
|
|
2239
2250
|
$ = !1;
|
|
2240
2251
|
break;
|
|
2241
2252
|
}
|
|
@@ -2248,7 +2259,7 @@ function vr(e) {
|
|
|
2248
2259
|
let $ = !0;
|
|
2249
2260
|
for (let P = z; P <= T; P++) {
|
|
2250
2261
|
const L = P * u + W;
|
|
2251
|
-
if (x[L] !==
|
|
2262
|
+
if (x[L] !== p[L]) {
|
|
2252
2263
|
$ = !1;
|
|
2253
2264
|
break;
|
|
2254
2265
|
}
|
|
@@ -2259,9 +2270,9 @@ function vr(e) {
|
|
|
2259
2270
|
}
|
|
2260
2271
|
}
|
|
2261
2272
|
}
|
|
2262
|
-
O =
|
|
2273
|
+
O = p, p = x;
|
|
2263
2274
|
}
|
|
2264
|
-
const _ = W + 1 - G, ie = T + 1 - z, te =
|
|
2275
|
+
const _ = W + 1 - G, ie = T + 1 - z, te = yr(
|
|
2265
2276
|
x,
|
|
2266
2277
|
{
|
|
2267
2278
|
left: G,
|
|
@@ -2286,67 +2297,67 @@ function vr(e) {
|
|
|
2286
2297
|
};
|
|
2287
2298
|
});
|
|
2288
2299
|
}
|
|
2289
|
-
function
|
|
2300
|
+
function vr(e) {
|
|
2290
2301
|
return {
|
|
2291
|
-
time: (n) => e &&
|
|
2292
|
-
timeEnd: (n) => e &&
|
|
2293
|
-
debug: (...n) => e &&
|
|
2294
|
-
warn: (...n) => e &&
|
|
2302
|
+
time: (n) => e && ur(n),
|
|
2303
|
+
timeEnd: (n) => e && mr(n),
|
|
2304
|
+
debug: (...n) => e && dr(...n),
|
|
2305
|
+
warn: (...n) => e && cr(...n)
|
|
2295
2306
|
};
|
|
2296
2307
|
}
|
|
2297
|
-
function
|
|
2308
|
+
function Sr(e) {
|
|
2298
2309
|
const n = /* @__PURE__ */ new Map(), { workerUrl: d } = e;
|
|
2299
|
-
let { workerNumber:
|
|
2300
|
-
const f = [...new Array(d ?
|
|
2310
|
+
let { workerNumber: p = 1 } = e;
|
|
2311
|
+
const f = [...new Array(d ? p : 0)].map(() => {
|
|
2301
2312
|
try {
|
|
2302
|
-
const
|
|
2303
|
-
return
|
|
2304
|
-
} catch (
|
|
2313
|
+
const a = new Worker(d);
|
|
2314
|
+
return a.onmessage = M, a;
|
|
2315
|
+
} catch (a) {
|
|
2305
2316
|
return null;
|
|
2306
2317
|
}
|
|
2307
2318
|
}).filter(Boolean);
|
|
2308
|
-
|
|
2309
|
-
function M(
|
|
2319
|
+
p = f.length;
|
|
2320
|
+
function M(a) {
|
|
2310
2321
|
var u;
|
|
2311
|
-
const { id: w, data: x } =
|
|
2322
|
+
const { id: w, data: x } = a.data;
|
|
2312
2323
|
(u = n.get(w)) == null || u(x), n.delete(w);
|
|
2313
2324
|
}
|
|
2314
2325
|
const m = function() {
|
|
2315
|
-
let
|
|
2316
|
-
return (u) => f[(u != null ? u :
|
|
2326
|
+
let a = 0;
|
|
2327
|
+
return (u) => f[(u != null ? u : a++) % p];
|
|
2317
2328
|
}();
|
|
2318
2329
|
return {
|
|
2319
2330
|
call: function() {
|
|
2320
|
-
let
|
|
2331
|
+
let a = 0;
|
|
2321
2332
|
return (u, w, x, Y) => new Promise((G) => {
|
|
2322
2333
|
const z = m(Y);
|
|
2323
2334
|
if (!z)
|
|
2324
2335
|
return G(void 0);
|
|
2325
|
-
n.set(
|
|
2336
|
+
n.set(a, G), z.postMessage({ id: a++, type: u, data: w }, { transfer: x });
|
|
2326
2337
|
});
|
|
2327
2338
|
}()
|
|
2328
2339
|
};
|
|
2329
2340
|
}
|
|
2330
|
-
function
|
|
2341
|
+
function Zr(e) {
|
|
2331
2342
|
const {
|
|
2332
2343
|
width: n,
|
|
2333
2344
|
height: d,
|
|
2334
|
-
workerUrl:
|
|
2345
|
+
workerUrl: p,
|
|
2335
2346
|
workerNumber: f = 1,
|
|
2336
2347
|
colorTableSize: M = 256,
|
|
2337
2348
|
backgroundColorIndex: m = M - 1,
|
|
2338
|
-
maxColors:
|
|
2349
|
+
maxColors: a = M - 1,
|
|
2339
2350
|
debug: u = !1
|
|
2340
2351
|
} = e, w = {
|
|
2341
2352
|
width: n,
|
|
2342
2353
|
height: d,
|
|
2343
|
-
maxColors:
|
|
2354
|
+
maxColors: a,
|
|
2344
2355
|
frames: [],
|
|
2345
|
-
log:
|
|
2356
|
+
log: vr(u),
|
|
2346
2357
|
palette: Ht({
|
|
2347
2358
|
skipTransparent: !1
|
|
2348
2359
|
}),
|
|
2349
|
-
worker:
|
|
2360
|
+
worker: Sr({ workerUrl: p, workerNumber: f }),
|
|
2350
2361
|
encodeId: 0,
|
|
2351
2362
|
encode(T) {
|
|
2352
2363
|
return Ee(this, null, function* () {
|
|
@@ -2356,8 +2367,8 @@ function Nr(e) {
|
|
|
2356
2367
|
let { imageData: se } = T;
|
|
2357
2368
|
O.time(`palette:sample-${ie}`);
|
|
2358
2369
|
try {
|
|
2359
|
-
se = typeof se == "string" ? yield
|
|
2360
|
-
const be =
|
|
2370
|
+
se = typeof se == "string" ? yield gr(se) : se;
|
|
2371
|
+
const be = pr(se, "uint8ClampedArray", {
|
|
2361
2372
|
width: P,
|
|
2362
2373
|
height: L
|
|
2363
2374
|
});
|
|
@@ -2414,13 +2425,13 @@ function Nr(e) {
|
|
|
2414
2425
|
})
|
|
2415
2426
|
)));
|
|
2416
2427
|
T.timeEnd("frames:encode"), T.time("output");
|
|
2417
|
-
const we =
|
|
2428
|
+
const we = fr(Qe(We({}, e), {
|
|
2418
2429
|
colorTable: L,
|
|
2419
2430
|
backgroundColorIndex: m,
|
|
2420
2431
|
width: _,
|
|
2421
2432
|
height: ie
|
|
2422
|
-
})), Ye =
|
|
2423
|
-
return k.set(we), k.set(Ye, we.byteLength), k[k.length - 1] =
|
|
2433
|
+
})), Ye = hr(Le), k = new Uint8Array(we.length + Ye.byteLength + 1);
|
|
2434
|
+
return k.set(we), k.set(Ye, we.byteLength), k[k.length - 1] = lr, T.timeEnd("output"), $.reset(), w.frames = [], w.encodeId = 0, k;
|
|
2424
2435
|
});
|
|
2425
2436
|
}
|
|
2426
2437
|
};
|
|
@@ -2449,7 +2460,7 @@ function Nr(e) {
|
|
|
2449
2460
|
return (yield w.worker.call(
|
|
2450
2461
|
"frames:index",
|
|
2451
2462
|
T
|
|
2452
|
-
)) ||
|
|
2463
|
+
)) || xr(T);
|
|
2453
2464
|
});
|
|
2454
2465
|
}
|
|
2455
2466
|
function z(T) {
|
|
@@ -2458,7 +2469,7 @@ function Nr(e) {
|
|
|
2458
2469
|
"frames:crop",
|
|
2459
2470
|
T,
|
|
2460
2471
|
T.frames.map((_) => _.imageData.buffer)
|
|
2461
|
-
)) ||
|
|
2472
|
+
)) || Tr(T);
|
|
2462
2473
|
});
|
|
2463
2474
|
}
|
|
2464
2475
|
function W(T) {
|
|
@@ -2467,62 +2478,62 @@ function Nr(e) {
|
|
|
2467
2478
|
"frame:encode",
|
|
2468
2479
|
T,
|
|
2469
2480
|
[T.imageData.buffer]
|
|
2470
|
-
)) ||
|
|
2481
|
+
)) || Mr(T);
|
|
2471
2482
|
});
|
|
2472
2483
|
}
|
|
2473
2484
|
return w;
|
|
2474
2485
|
}
|
|
2475
|
-
function
|
|
2486
|
+
function Nr(e) {
|
|
2476
2487
|
return Ee(this, null, function* () {
|
|
2477
|
-
const { frames: n } = e, d =
|
|
2478
|
-
for (let
|
|
2488
|
+
const { frames: n } = e, d = Zr(e);
|
|
2489
|
+
for (let p = n.length, f = 0; f < p; f++)
|
|
2479
2490
|
yield d.encode(n[f]);
|
|
2480
2491
|
return yield d.flush();
|
|
2481
2492
|
});
|
|
2482
2493
|
}
|
|
2483
|
-
const Cr = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgZXQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0dD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBCPU1hdGgucG93LHVlPShfLHgsayk9PnggaW4gXz9RZShfLHgse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KTpfW3hdPWsscT0oXyx4KT0+e2Zvcih2YXIgayBpbiB4fHwoeD17fSkpZXQuY2FsbCh4LGspJiZ1ZShfLGsseFtrXSk7aWYoZGUpZm9yKHZhciBrIG9mIGRlKHgpKXR0LmNhbGwoeCxrKSYmdWUoXyxrLHhba10pO3JldHVybiBffTsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y29uc3QgXz10eXBlb2Ygd2luZG93PCJ1Iix4PTY1NTM2LTEsaz14KngsaGU9NTEyLTEsRj1bMCwyMCw0MCw2MCw4MCw5OSwxMTksMTM5LDE1OSwxNzksMTk5LDIxOSwyNDEsMjY0LDI4OCwzMTMsMzQwLDM2NywzOTYsNDI3LDQ1OCw0OTEsNTI2LDU2Miw1OTksNjM3LDY3Nyw3MTgsNzYxLDgwNSw4NTEsODk4LDk0Nyw5OTcsMTA0OCwxMTAxLDExNTYsMTIxMiwxMjcwLDEzMzAsMTM5MSwxNDUzLDE1MTcsMTU4MywxNjUxLDE3MjAsMTc5MCwxODYzLDE5MzcsMjAxMywyMDkwLDIxNzAsMjI1MCwyMzMzLDI0MTgsMjUwNCwyNTkyLDI2ODEsMjc3MywyODY2LDI5NjEsMzA1OCwzMTU3LDMyNTgsMzM2MCwzNDY0LDM1NzAsMzY3OCwzNzg4LDM5MDAsNDAxNCw0MTI5LDQyNDcsNDM2Niw0NDg4LDQ2MTEsNDczNiw0ODY0LDQ5OTMsNTEyNCw1MjU3LDUzOTIsNTUzMCw1NjY5LDU4MTAsNTk1Myw2MDk5LDYyNDYsNjM5NSw2NTQ3LDY3MDAsNjg1Niw3MDE0LDcxNzQsNzMzNSw3NTAwLDc2NjYsNzgzNCw4MDA0LDgxNzcsODM1Miw4NTI4LDg3MDgsODg4OSw5MDcyLDkyNTgsOTQ0NSw5NjM1LDk4MjgsMTAwMjIsMTAyMTksMTA0MTcsMTA2MTksMTA4MjIsMTEwMjgsMTEyMzUsMTE0NDYsMTE2NTgsMTE4NzMsMTIwOTAsMTIzMDksMTI1MzAsMTI3NTQsMTI5ODAsMTMyMDksMTM0NDAsMTM2NzMsMTM5MDksMTQxNDYsMTQzODcsMTQ2MjksMTQ4NzQsMTUxMjIsMTUzNzEsMTU2MjMsMTU4NzgsMTYxMzUsMTYzOTQsMTY2NTYsMTY5MjAsMTcxODcsMTc0NTYsMTc3MjcsMTgwMDEsMTgyNzcsMTg1NTYsMTg4MzcsMTkxMjEsMTk0MDcsMTk2OTYsMTk5ODcsMjAyODEsMjA1NzcsMjA4NzYsMjExNzcsMjE0ODEsMjE3ODcsMjIwOTYsMjI0MDcsMjI3MjEsMjMwMzgsMjMzNTcsMjM2NzgsMjQwMDIsMjQzMjksMjQ2NTgsMjQ5OTAsMjUzMjUsMjU2NjIsMjYwMDEsMjYzNDQsMjY2ODgsMjcwMzYsMjczODYsMjc3MzksMjgwOTQsMjg0NTIsMjg4MTMsMjkxNzYsMjk1NDIsMjk5MTEsMzAyODIsMzA2NTYsMzEwMzMsMzE0MTIsMzE3OTQsMzIxNzksMzI1NjcsMzI5NTcsMzMzNTAsMzM3NDUsMzQxNDMsMzQ1NDQsMzQ5NDgsMzUzNTUsMzU3NjQsMzYxNzYsMzY1OTEsMzcwMDgsMzc0MjksMzc4NTIsMzgyNzgsMzg3MDYsMzkxMzgsMzk1NzIsNDAwMDksNDA0NDksNDA4OTEsNDEzMzcsNDE3ODUsNDIyMzYsNDI2OTAsNDMxNDcsNDM2MDYsNDQwNjksNDQ1MzQsNDUwMDIsNDU0NzMsNDU5NDcsNDY0MjMsNDY5MDMsNDczODUsNDc4NzEsNDgzNTksNDg4NTAsNDkzNDQsNDk4NDEsNTAzNDEsNTA4NDQsNTEzNDksNTE4NTgsNTIzNjksNTI4ODQsNTM0MDEsNTM5MjEsNTQ0NDUsNTQ5NzEsNTU1MDAsNTYwMzIsNTY1NjcsNTcxMDUsNTc2NDYsNTgxOTAsNTg3MzcsNTkyODcsNTk4NDAsNjAzOTYsNjA5NTUsNjE1MTcsNjIwODIsNjI2NTAsNjMyMjEsNjM3OTUsNjQzNzIsNjQ5NTIsNjU1MzVdLFk9WzAsNiwxMywxOCwyMiwyNSwyOCwzMSwzNCwzNiwzOCw0MCw0Miw0NCw0Niw0OCw1MCw1MSw1Myw1NCw1Niw1Nyw1OSw2MCw2MSw2Miw2NCw2NSw2Niw2Nyw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Niw4Nyw4OCw4OSw5MCw5MSw5MSw5Miw5Myw5NCw5NSw5NSw5Niw5Nyw5OCw5OCw5OSwxMDAsMTAxLDEwMSwxMDIsMTAzLDEwMywxMDQsMTA1LDEwNiwxMDYsMTA3LDEwOCwxMDgsMTA5LDExMCwxMTAsMTExLDExMSwxMTIsMTEzLDExMywxMTQsMTE1LDExNSwxMTYsMTE2LDExNywxMTgsMTE4LDExOSwxMTksMTIwLDEyMSwxMjEsMTIyLDEyMiwxMjMsMTIzLDEyNCwxMjUsMTI1LDEyNiwxMjYsMTI3LDEyNywxMjgsMTI4LDEyOSwxMjksMTMwLDEzMCwxMzEsMTMyLDEzMiwxMzMsMTMzLDEzNCwxMzQsMTM1LDEzNSwxMzYsMTM2LDEzNywxMzcsMTM4LDEzOCwxMzksMTM5LDE0MCwxNDAsMTQwLDE0MSwxNDEsMTQyLDE0MiwxNDMsMTQzLDE0NCwxNDQsMTQ1LDE0NSwxNDYsMTQ2LDE0NywxNDcsMTQ3LDE0OCwxNDgsMTQ5LDE0OSwxNTAsMTUwLDE1MSwxNTEsMTUxLDE1MiwxNTIsMTUzLDE1MywxNTQsMTU0LDE1NCwxNTUsMTU1LDE1NiwxNTYsMTU2LDE1NywxNTcsMTU4LDE1OCwxNTksMTU5LDE1OSwxNjAsMTYwLDE2MSwxNjEsMTYxLDE2MiwxNjIsMTYzLDE2MywxNjMsMTY0LDE2NCwxNjUsMTY1LDE2NSwxNjYsMTY2LDE2NiwxNjcsMTY3LDE2OCwxNjgsMTY4LDE2OSwxNjksMTY5LDE3MCwxNzAsMTcxLDE3MSwxNzEsMTcyLDE3MiwxNzIsMTczLDE3MywxNzQsMTc0LDE3NCwxNzUsMTc1LDE3NSwxNzYsMTc2LDE3NiwxNzcsMTc3LDE3NywxNzgsMTc4LDE3OSwxNzksMTc5LDE4MCwxODAsMTgwLDE4MSwxODEsMTgxLDE4MiwxODIsMTgyLDE4MywxODMsMTgzLDE4NCwxODQsMTg0LDE4NSwxODUsMTg1LDE4NiwxODYsMTg2LDE4NywxODcsMTg3LDE4OCwxODgsMTg4LDE4OSwxODksMTg5LDE5MCwxOTAsMTkwLDE5MSwxOTEsMTkxLDE5MiwxOTIsMTkyLDE5MywxOTMsMTkzLDE5MywxOTQsMTk0LDE5NCwxOTUsMTk1LDE5NSwxOTYsMTk2LDE5NiwxOTcsMTk3LDE5NywxOTgsMTk4LDE5OCwxOTgsMTk5LDE5OSwxOTksMjAwLDIwMCwyMDAsMjAxLDIwMSwyMDEsMjAxLDIwMiwyMDIsMjAyLDIwMywyMDMsMjAzLDIwNCwyMDQsMjA0LDIwNCwyMDUsMjA1LDIwNSwyMDYsMjA2LDIwNiwyMDYsMjA3LDIwNywyMDcsMjA4LDIwOCwyMDgsMjA4LDIwOSwyMDksMjA5LDIxMCwyMTAsMjEwLDIxMCwyMTEsMjExLDIxMSwyMTIsMjEyLDIxMiwyMTIsMjEzLDIxMywyMTMsMjE0LDIxNCwyMTQsMjE0LDIxNSwyMTUsMjE1LDIxNSwyMTYsMjE2LDIxNiwyMTcsMjE3LDIxNywyMTcsMjE4LDIxOCwyMTgsMjE4LDIxOSwyMTksMjE5LDIyMCwyMjAsMjIwLDIyMCwyMjEsMjIxLDIyMSwyMjEsMjIyLDIyMiwyMjIsMjIyLDIyMywyMjMsMjIzLDIyNCwyMjQsMjI0LDIyNCwyMjUsMjI1LDIyNSwyMjUsMjI2LDIyNiwyMjYsMjI2LDIyNywyMjcsMjI3LDIyNywyMjgsMjI4LDIyOCwyMjgsMjI5LDIyOSwyMjksMjI5LDIzMCwyMzAsMjMwLDIzMCwyMzEsMjMxLDIzMSwyMzEsMjMyLDIzMiwyMzIsMjMyLDIzMywyMzMsMjMzLDIzMywyMzQsMjM0LDIzNCwyMzQsMjM1LDIzNSwyMzUsMjM1LDIzNiwyMzYsMjM2LDIzNiwyMzcsMjM3LDIzNywyMzcsMjM4LDIzOCwyMzgsMjM4LDIzOSwyMzksMjM5LDIzOSwyMzksMjQwLDI0MCwyNDAsMjQwLDI0MSwyNDEsMjQxLDI0MSwyNDIsMjQyLDI0MiwyNDIsMjQzLDI0MywyNDMsMjQzLDI0MywyNDQsMjQ0LDI0NCwyNDQsMjQ1LDI0NSwyNDUsMjQ1LDI0NiwyNDYsMjQ2LDI0NiwyNDYsMjQ3LDI0NywyNDcsMjQ3LDI0OCwyNDgsMjQ4LDI0OCwyNDksMjQ5LDI0OSwyNDksMjQ5LDI1MCwyNTAsMjUwLDI1MCwyNTEsMjUxLDI1MSwyNTEsMjUxLDI1MiwyNTIsMjUyLDI1MiwyNTMsMjUzLDI1MywyNTMsMjUzLDI1NCwyNTQsMjU0LDI1NCwyNTUsMjU1LDI1NV07ZnVuY3Rpb24gVyhyKXtsZXQgZTtpZihyPD0wKXJldHVybiAwO2lmKHI+PXgpcmV0dXJuIHg7ZT1yKihyKihyKy0xNDQxMDcpL3grMTMyMTE0KS94KzE0Mzc5O2ZvcihsZXQgYT0wO2E8MjthKyspe2NvbnN0IGk9ZSplKmUscz1yKygyKmkray8yKS9rO2U9KGUqKDIqcisoaStrLzIpL2spK3MvMikvc31yZXR1cm4gZX1mdW5jdGlvbiB2KHIsZSl7cmV0dXJuKHJeZSk8MD8oci1lLzIpL2U6KHIrZS8yKS9lfWZ1bmN0aW9uIEoocil7Y29uc3QgZT1GW3I+PjE2JjI1NV0sYT1GW3I+PjgmMjU1XSxpPUZbciYyNTVdLHM9KDI3MDE1KmUrMzUxNDkqYSszMzcyKmkreC8yKS94LGY9KDEzODg3KmUrNDQ2MTAqYSs3MDM4KmkreC8yKS94LG89KDU3ODcqZSsxODQ2MiphKzQxMjg2KmkreC8yKS94LG49VyhzKSx0PVcoZiksbD1XKG8pO3JldHVyblt2KDEzNzkyKm4rNTIwMTAqdC0yNjcqbCx4KSx2KDEyOTYyOCpuLTE1OTE1OCp0KzI5NTMwKmwseCksdigxNjk4Km4rNTEyOTkqdC01Mjk5NypsLHgpXX1mdW5jdGlvbiBLKHIpe2lmKHI8PTApcmV0dXJuIDA7aWYocj49eClyZXR1cm4gMjU1O3tjb25zdCBlPXIqaGUsYT1+fihlL3gpLGk9ZSV4LHM9WVthXSxmPVlbYSsxXTtyZXR1cm4oaSooZi1zKSt4LzIpL3grc319ZnVuY3Rpb24gZ2Uocil7Y29uc3QgZT1yWzBdK3YoMjU5NzQqclsxXSx4KSt2KDE0MTQzKnJbMl0seCksYT1yWzBdK3YoLTY5MTgqclsxXSx4KSt2KC00MTg1KnJbMl0seCksaT1yWzBdK3YoLTU4NjQqclsxXSx4KSt2KC04NDYzOCpyWzJdLHgpLHM9QihlLDIpKmUvayxmPUIoYSwyKSphL2ssbz1CKGksMikqaS9rLG49SygoMjY3MTY5KnMrLTIxNjc3MSpmKzE1MTM3Km8reC8yKS94KSx0PUsoKC04MzEyNypzKzE3MTAzMCpmKy0yMjM2OCpvK3gvMikveCksbD1LKCgtMjc1KnMrLTQ2MDk5KmYrMTExOTA5Km8reC8yKS94KTtyZXR1cm4gbjw8MTZ8dDw8OHxsfWZ1bmN0aW9uIHBlKHIpe2NvbnN0IGU9e2w6MCxhOjEsYjoyfSxhPXJbMF0saT1yWzFdLHM9clsyXSxmPWVbYV0sbz1lW2ldLG49ZVtzXTtyZXR1cm4odCxsKT0+dC5va2xhYltmXS1sLm9rbGFiW2ZdfHx0Lm9rbGFiW29dLWwub2tsYWJbb118fHQub2tsYWJbbl0tbC5va2xhYltuXX1mdW5jdGlvbiBtZShyLGUsYSl7cmV0dXJuIHI+PWU/ZT49YT8ibGFiIjpyPj1hPyJsYmEiOiJibGEiOnI+PWE/ImFsYiI6ZT49YT8iYWJsIjoiYmFsIn1mdW5jdGlvbiB3ZShyKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2NvbnN0IGE9bmV3IEltYWdlO2EuZGVjb2Rpbmc9InN5bmMiLGEubG9hZGluZz0iZWFnZXIiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5vbmxvYWQ9KCk9PmUoYSksYS5vbmVycm9yPSgpPT5lKGEpLGEuc3JjPXJ9KX1mdW5jdGlvbiBRKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJiJfX0NPTlRFWFRfXyJpbiByfWZ1bmN0aW9uIGJlKHIpe3JldHVybiBRKHIpP3I6eGUocil9ZnVuY3Rpb24geGUocj17fSl7Y29uc3R7bWF4Q29sb3JzOmU9MjU2LHN0YXRzTW9kZTphPSJmdWxsIixzYW1wbGVzOmk9W10sc2tpcFRyYW5zcGFyZW50OnM9ITB9PXI7cmV0dXJue19fQ09OVEVYVF9fOiEwLHNhbXBsZXM6aSxtYXhDb2xvcnM6ZSxzdGF0c01vZGU6YSxza2lwVHJhbnNwYXJlbnQ6cyxjb2xvclNhbXBsZXM6W10sY29sb3JTYW1wbGVzQ2FjaGU6bmV3IE1hcCxjb2xvckJveGVzOltdLGNvbG9yQm94ZXNJbmRleFRyZWU6W10sZmluZGVyQ2FjaGU6bmV3IE1hcH19ZnVuY3Rpb24gZWUocil7Y29uc3QgZT1RKHIpP3I6ci5jb250ZXh0LHtjb2xvckJveGVzSW5kZXhUcmVlOmEsZmluZGVyQ2FjaGU6aX09ZTtmdW5jdGlvbiBzKG8sbix0KXtjb25zdHtsZWZ0OmwscmlnaHQ6Zyxsb25nZXN0OmMsb2tsYWI6aCxjb2xvckJveEluZGV4OnB9PWFbb10sYj1NYXRoLm1pbihCKG5bMF0taFswXSwyKStCKG5bMV0taFsxXSwyKStCKG5bMl0taFsyXSwyKSw0Mjk0OTY3Mjk1LTEpO2I8dC5kaXN0JiYodC5jb2xvckJveEluZGV4PXAsdC5kaXN0PWIpO2xldCBkLHU7aWYobCE9PS0xfHxnIT09LTEpe2NvbnN0IEM9bltjXS1oW2NdO0M8PTA/KGQ9bCx1PWcpOihkPWcsdT1sKSxkIT09LTEmJnMoZCxuLHQpLHUhPT0tMSYmQihDLDIpPHQuZGlzdCYmcyh1LG4sdCl9fWZ1bmN0aW9uIGYobyl7Y29uc3Qgbj17ZGlzdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixjb2xvckJveEluZGV4Oi0xfTtyZXR1cm4gcygwLG8sbiksbi5jb2xvckJveEluZGV4fXJldHVybiBvPT57Y29uc3Qgbj1vJTMyNzY4O2xldCB0PWkuZ2V0KG4pO3R8fCh0PW5ldyBNYXAsaS5zZXQobix0KSk7bGV0IGw9dC5nZXQobyk7cmV0dXJuIGwhPT12b2lkIDB8fChsPWYoSihvKSksdC5zZXQobyxsKSksbH19ZnVuY3Rpb24gU2UocixlKXtjb25zdHtjb2xvckJveGVzOmF9PXIsaT1hLnJlZHVjZSgobyxuKT0+bytuLndlaWdodCwwKTtpZighZSlyZXR1cm4gci5jb2xvckJveGVzLm1hcChvPT57Y29uc3R7c3JnYjpuLHdlaWdodDp0fT1vO3JldHVybnt2YWx1ZTpuLHBlcmNlbnRhZ2U6dC9pfX0pO2NvbnN0IHM9W107Zm9yKGxldCBvPWEubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdHtzcmdiOnQsd2VpZ2h0Omx9PWFbbl07cy5wdXNoKHt2YWx1ZTpbdD4+MTYmMjU1LHQ+PjgmMjU1LHQmMjU1XSxwZXJjZW50YWdlOmwvaX0pfWxldCBmO2lmKGU9PT0iYnVmZmVyIil7Zj1uZXcgVWludDhDbGFtcGVkQXJyYXkocy5sZW5ndGgqNCk7Zm9yKGxldCBvPXMubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdCB0PW4qNCxsPXNbbl0udmFsdWU7Zlt0XT1sWzBdLGZbdCsxXT1sWzFdLGZbdCsyXT1sWzJdLGZbdCszXT0yNTV9fWVsc2UgaWYoZT09PSJoZXgiKXtmPVtdO2ZvcihsZXQgbz1zLmxlbmd0aCxuPTA7bjxvO24rKyl7Y29uc3R7dmFsdWU6dCxwZXJjZW50YWdlOmx9PXNbbl0sZz10WzBdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksYz10WzFdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksaD10WzJdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7Zi5wdXNoKHt2YWx1ZTpgIyR7Z30ke2N9JHtofWAscGVyY2VudGFnZTpsfSl9fWVsc2UgZj1zO3JldHVybiBmfWZ1bmN0aW9uIFYocixlLGEpe3ZhciBnLGMsaCxwO2NvbnN0e2dldENvbnRleHQyZDppLHByZXZpb3VzU2FtcGxlOnMsc2tpcFRyYW5zcGFyZW50OmZ9PWEse3N0YXRzTW9kZTpvLGNvbG9yU2FtcGxlczpuLGNvbG9yU2FtcGxlc0NhY2hlOnR9PXI7bGV0IGw7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKWw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUuYnVmZmVyKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilsPW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7Y29uc3QgYj1bXTtmb3IobGV0IGQ9ZS5sZW5ndGgsdT0wO3U8ZDt1KyspYi5wdXNoKChnPWVbdV1bMF0pIT1udWxsP2c6MCwoYz1lW3VdWzFdKSE9bnVsbD9jOjAsKGg9ZVt1XVsyXSkhPW51bGw/aDowLChwPWVbdV1bM10pIT1udWxsP3A6MjU1KTtsPW5ldyBVaW50OENsYW1wZWRBcnJheShiKX1lbHNlIGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCBiPWk9PW51bGw/dm9pZCAwOmkoKTtpZighYilyZXR1cm47Y29uc3QgZD1iLmNhbnZhcztyZXR1cm4gd2UoZSkudGhlbih1PT4oYi5jbGVhclJlY3QoMCwwLGQud2lkdGgsZC5oZWlnaHQpLGQud2lkdGg9dS53aWR0aCxkLmhlaWdodD11LmhlaWdodCxiLmRyYXdJbWFnZSh1LDAsMCxkLndpZHRoLGQuaGVpZ2h0KSxWKHIsYi5nZXRJbWFnZURhdGEoMCwwLGQud2lkdGgsZC5oZWlnaHQpLmRhdGEsYSkpKX1lbHNle2NvbnN0IGI9aT09bnVsbD92b2lkIDA6aSgpO2lmKCFiKXJldHVybjtjb25zdCBkPWIuY2FudmFzO3JldHVybiBiLmNsZWFyUmVjdCgwLDAsZC53aWR0aCxkLmhlaWdodCksZC53aWR0aD10eXBlb2YgZS53aWR0aD09Im51bWJlciI/ZS53aWR0aDplLndpZHRoLmJhc2VWYWwudmFsdWUsZC5oZWlnaHQ9dHlwZW9mIGUuaGVpZ2h0PT0ibnVtYmVyIj9lLmhlaWdodDplLmhlaWdodC5iYXNlVmFsLnZhbHVlLGIuZHJhd0ltYWdlKGUsMCwwLGQud2lkdGgsZC5oZWlnaHQpLFYocixiLmdldEltYWdlRGF0YSgwLDAsZC53aWR0aCxkLmhlaWdodCkuZGF0YSxhKX1mb3IobGV0IGI9bC5sZW5ndGgsZD0wO2Q8YjtkKz00KXtjb25zdCB1PWxbZF0sQz1sW2QrMV0seT1sW2QrMl0sUz1sW2QrM107aWYoZiYmUz09PTB8fG89PT0iZGlmZiImJnMmJnU9PT1zW2RdJiZDPT09c1tkKzFdJiZ5PT09c1tkKzJdJiZTPT09c1tkKzNdKWNvbnRpbnVlO2NvbnN0IHc9dTw8MTZ8Qzw8OHx5LG09UyoxZTgrdyxJPW0lMzI3Njg7bGV0IFQ9dC5nZXQoSSk7VHx8KFQ9bmV3IE1hcCx0LnNldChJLFQpKTtsZXQgQT1ULmdldChtKTtpZihBIT09dm9pZCAwKXtuW0FdLmNvdW50Kys7Y29udGludWV9QT1uLnB1c2goe2FscGhhOlMsc3JnYjp3LG9rbGFiOkoodyksY291bnQ6MX0pLTEsVC5zZXQobSxBKX1yZXR1cm4gbH1mdW5jdGlvbiB0ZShyLGUpe2NvbnN0e2NvbG9yU2FtcGxlczphfT1lLHtzdGFydDppLGVuZDpzfT1yO3IubGVuZ3RoPXMtaSxyLndlaWdodD0wO2NvbnN0IGY9WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07ZlswXSs9dC5va2xhYlswXSp0LmNvdW50LGZbMV0rPXQub2tsYWJbMV0qdC5jb3VudCxmWzJdKz10Lm9rbGFiWzJdKnQuY291bnQsci53ZWlnaHQrPXQuY291bnR9ci5va2xhYj1bZlswXS9yLndlaWdodCxmWzFdL3Iud2VpZ2h0LGZbMl0vci53ZWlnaHRdO2NvbnN0IG89WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07b1swXSs9Qih0Lm9rbGFiWzBdLXIub2tsYWJbMF0sMikqdC5jb3VudCxvWzFdKz1CKHQub2tsYWJbMV0tci5va2xhYlsxXSwyKSp0LmNvdW50LG9bMl0rPUIodC5va2xhYlsyXS1yLm9rbGFiWzJdLDIpKnQuY291bnR9ci5zb3J0PW1lKG9bMF0sb1sxXSxvWzJdKSxyLnNjb3JlPU1hdGgubWF4KG9bMF0sb1sxXSxvWzJdKX1mdW5jdGlvbiBuZShyLGUpe2NvbnN0IGE9cSh7c3RhcnQ6MCxlbmQ6MCxsZW5ndGg6MCxzY29yZTowLHdlaWdodDowLHNvcnQ6ImxhYiIsc29ydGVkOm51bGwsc3JnYjowLG9rbGFiOlswLDAsMF19LHIpO3JldHVybiB0ZShhLGUpLGF9ZnVuY3Rpb24gQ2Uocil7Y29uc3R7Y29sb3JCb3hlczplfT1yLGE9W10saT1uZXcgTWFwO2ZvcihsZXQgbz0tMSxuPWUubGVuZ3RoLHQ9MDt0PG47dCsrKXtjb25zdHtzcmdiOmx9PWVbdF07aWYobD09PW8pe2kuc2V0KHQsITApO2NvbnRpbnVlfW89bH1mKHttaW46Wy02NTUzNSwtNjU1MzUsLTY1NTM1XSxtYXg6WzY1NTM1LDY1NTM1LDY1NTM1XX0pO2Z1bmN0aW9uIHMobyl7Y29uc3Qgbj17bWluOls2NTUzNSw2NTUzNSw2NTUzNV0sbWF4OlstNjU1MzUsLTY1NTM1LC02NTUzNV19O2xldCB0PTA7Y29uc3QgbD1bXTtmb3IobGV0IGI9ZS5sZW5ndGgsZD0wO2Q8YjtkKyspe2NvbnN0e29rbGFiOnV9PWVbZF07aS5oYXMoZCl8fHVbMF08by5taW5bMF18fHVbMV08by5taW5bMV18fHVbMl08by5taW5bMl18fHVbMF0+by5tYXhbMF18fHVbMV0+by5tYXhbMV18fHVbMl0+by5tYXhbMl18fCh1WzBdPG4ubWluWzBdJiYobi5taW5bMF09dVswXSksdVsxXTxuLm1pblsxXSYmKG4ubWluWzFdPXVbMV0pLHVbMl08bi5taW5bMl0mJihuLm1pblsyXT11WzJdKSx1WzBdPm4ubWF4WzBdJiYobi5tYXhbMF09dVswXSksdVsxXT5uLm1heFsxXSYmKG4ubWF4WzFdPXVbMV0pLHVbMl0+bi5tYXhbMl0mJihuLm1heFsyXT11WzJdKSxsW3QrK109e29rbGFiOnUsY29sb3JCb3hJbmRleDpkfSl9bGV0IGc9MDtpZighdClyZXR1cm57Y29sb3JCb3hJbmRleDotMSxsb25nZXN0Omd9O2NvbnN0IGM9bi5tYXhbMF0tbi5taW5bMF0saD1uLm1heFsxXS1uLm1pblsxXSxwPW4ubWF4WzJdLW4ubWluWzJdO3JldHVybiBjPj1oJiZjPj1wP2c9MDpwPj1jJiZwPj1oP2c9MjpoPj1jJiZoPj1wJiYoZz0xKSx7Y29sb3JCb3hJbmRleDpsLnNvcnQoKGIsZCk9PmIub2tsYWJbZ10tZC5va2xhYltnXSlbdD4+MV0uY29sb3JCb3hJbmRleCxsb25nZXN0Omd9fWZ1bmN0aW9uIGYobyl7Y29uc3R7Y29sb3JCb3hJbmRleDpuLGxvbmdlc3Q6dH09cyhvKTtpZihuPDApcmV0dXJuLTE7Y29uc3R7b2tsYWI6bH09ZVtuXSxnPXtsb25nZXN0OnQsb2tsYWI6bCxjb2xvckJveEluZGV4Om59LGM9YS5wdXNoKGcpLTE7aS5zZXQobiwhMCk7Y29uc3QgaD17bWF4OlsuLi5vLm1heF0sbWluOlsuLi5vLm1pbl19LHA9e21heDpbLi4uby5tYXhdLG1pbjpbLi4uby5taW5dfTtoLm1heFt0XT1sW3RdLHAubWluW3RdPU1hdGgubWluKGxbdF0rMSw2NTUzNSk7Y29uc3QgYj1mKGgpO2xldCBkPS0xO3JldHVybiBwLm1pblt0XTw9cC5tYXhbdF0mJihkPWYocCkpLGcubGVmdD1iLGcucmlnaHQ9ZCxjfXJldHVybiBhfWZ1bmN0aW9uIHllKHIsZT17fSl7Y29uc3R7bWF4Q29sb3JzOmEsY29sb3JTYW1wbGVzOml9PXI7aWYoIWkubGVuZ3RoKXJldHVybjtjb25zdHttYXhDb2xvcnM6cz1hLGNsZWFyU2FtcGxlczpmPSEwfT1lO2xldCBvPW5lKHtlbmQ6aS5sZW5ndGh9LHIpLG49MTtjb25zdCB0PVtvXTtmdW5jdGlvbiBsKCl7bGV0IGM9LTEsaD0tMTtpZihuPT09cylyZXR1cm4tMTtmb3IobGV0IHA9MDtwPG47cCsrKXtjb25zdCBiPXRbcF07Yi5sZW5ndGg+PTImJmIuc2NvcmU+aCYmKGM9cCxoPWIuc2NvcmUpfXJldHVybiBjfWZ1bmN0aW9uIGcoYyxoKXtjb25zdCBwPW5lKHtzdGFydDpoKzEsZW5kOmMuZW5kLHNvcnRlZDpjLnNvcnRlZH0scik7Yy5lbmQtPXAubGVuZ3RoLHRlKGMsciksdC5wdXNoKHApLG4rK31mb3IoO28mJm8ubGVuZ3RoPjE7KXtjb25zdHtzdGFydDpjLGVuZDpoLHNvcnQ6cCxzb3J0ZWQ6Yn09bztpZihwIT09Yil7Y29uc3QgUz1pLnNsaWNlKGMsaCkuc29ydChwZShwKSk7Zm9yKGxldCB3PVMubGVuZ3RoLG09MDttPHc7bSsrKWlbYyttXT1TW21dO28uc29ydGVkPXB9Y29uc3QgZD1vLndlaWdodCsxPj4xO2xldCB1PWMsQz0wO2ZvcihsZXQgUz1oLTI7dTxTJiYoQys9aVt1XS5jb3VudCwhKEM+ZCkpO3UrKyk7ZyhvLHUpO2NvbnN0IHk9bCgpO289eT49MD90W3ldOm51bGx9Zm9yKGxldCBjPXQubGVuZ3RoLGg9MDtoPGM7aCsrKXRbaF0uc3JnYj1nZSh0W2hdLm9rbGFiKTtyLmNvbG9yQm94ZXM9dC5zb3J0KChjLGgpPT5jLnNyZ2ItaC5zcmdiKSxyLmNvbG9yQm94ZXNJbmRleFRyZWU9Q2UociksZiYmKHIuY29sb3JTYW1wbGVzPVtdLHIuY29sb3JTYW1wbGVzQ2FjaGUuY2xlYXIoKSksci5maW5kZXJDYWNoZS5jbGVhcigpfWZ1bmN0aW9uIEllKHIsZSxhKXtjb25zdHtjb2xvckJveGVzOml9PXI7aWYoIWUpcmV0dXJuO2xldCBzO2lmKHR5cGVvZiBhPT0ibnVtYmVyIilzPWE7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9YS5yZXBsYWNlKC9eIy8sIiIpLGw9W2Ake3RbMF19JHt0WzFdfWAsYCR7dFsyXX0ke3RbM119YCxgJHt0WzRdfSR7dFs1XX1gXS5tYXAoZz0+cGFyc2VJbnQoZywxNikpO3M9bFswXTw8MTZ8bFsxXTw8OHxsWzJdfWVsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlzPWFbMF08PDE2fGFbMV08PDh8YVsyXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdCIpO2NvbnN0IGY9ZShzKTtpZihmPT09dm9pZCAwKXJldHVybjtjb25zdCBvPWlbZl07aWYoIW8pcmV0dXJuO2NvbnN0e3NyZ2I6bn09bztpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9KG4+PjE2JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxsPShuPj44JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxnPShuJjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm57dmFsdWU6YCMke3R9JHtsfSR7Z31gLGluZGV4OmZ9fWVsc2UgaWYodHlwZW9mIGE9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGEpKXJldHVybnt2YWx1ZTpbbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XSxpbmRleDpmfTtyZXR1cm57dmFsdWU6bixpbmRleDpmfX1mdW5jdGlvbiBrZShyKXtyLmNvbG9yU2FtcGxlcz1bXSxyLmNvbG9yU2FtcGxlc0NhY2hlLmNsZWFyKCksci5jb2xvckJveGVzPVtdLHIuY29sb3JCb3hlc0luZGV4VHJlZT1bXSxyLmZpbmRlckNhY2hlLmNsZWFyKCl9ZnVuY3Rpb24gVGUocil7Y29uc3QgZT1iZShyKSx7c3RhdHNNb2RlOmEsc2FtcGxlczppLHNraXBUcmFuc3BhcmVudDpzfT1lLGY9ZnVuY3Rpb24oKXtsZXQgbDtyZXR1cm4oKT0+KCFsJiZfJiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pKSxsKX0oKTtsZXQgbz1udWxsLG49bnVsbDtjb25zdCB0PXtjb250ZXh0OmUsYWRkU2FtcGxlOmw9PntlLmNvbG9yU2FtcGxlcy5sZW5ndGg9PT0wJiYobz1udWxsKTtjb25zdCBnPVYoZSxsLHtnZXRDb250ZXh0MmQ6ZixwcmV2aW91c1NhbXBsZTpvLHNraXBUcmFuc3BhcmVudDpzfSk7cmV0dXJuKGcgaW5zdGFuY2VvZiBQcm9taXNlP2c6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZykpLnRoZW4oYz0+e2MmJmE9PT0iZGlmZiImJihvPWMpfSksZ30sZ2VuZXJhdGUobD17fSl7Y29uc3R7Y2xlYXJTYW1wbGVzOmc9ITB9PWw7cmV0dXJuIGcmJihvPW51bGwpLHllKGUsbCksdGhpc30sZ2V0Q29sb3JzOmw9PlNlKGUsbCksZmluZE5lYXJlc3RDb2xvcjpsPT4obnx8KG49ZWUoZSkpLEllKGUsbixsKSkscmVzZXQ6KCk9PmtlKGUpfTtyZXR1cm4gaS5sZW5ndGgmJihpLmZvckVhY2gobD0+dC5hZGRTYW1wbGUobCkpLGUuc2FtcGxlcz1bXSksdH1jb25zdCBBZT0iW21vZGVybi1naWZdIixFZT0iR0lGIixCZT1bIjg3YSIsIjg5YSJdLHJlPTQ0LG9lPTMzLF9lPTI1NSx2ZT0xMSxNZT0yNTQsYWU9MjQ5LHNlPTQsTmU9MSxVZT0xLE9lPTU5LGxlPSguLi5yKT0+Y29uc29sZS53YXJuKEFlLC4uLnIpO2Z1bmN0aW9uIFBlKHIpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoci5yZWR1Y2UoKGEsaSk9PmEraS5ieXRlTGVuZ3RoLDApKTtyZXR1cm4gci5yZWR1Y2UoKGEsaSk9PihlLnNldChpLGEpLGEraS5ieXRlTGVuZ3RoKSwwKSxlfWZ1bmN0aW9uIGllKHIsZSxhKXtsZXQgaTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcocikpaT1yLmJ1ZmZlcjtlbHNlIGlmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilpPXI7ZWxzZXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHt3aWR0aDpmLGhlaWdodDpvfT1hfHx7fSxuPXMuZ2V0Q29udGV4dCgiMmQiKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2FudmFzIGNvbnRleHQyZCIpO3Mud2lkdGg9ZiE9bnVsbD9mOnR5cGVvZiByLndpZHRoPT0ibnVtYmVyIj9yLndpZHRoOnIud2lkdGguYmFzZVZhbC52YWx1ZSxzLmhlaWdodD1vIT1udWxsP286dHlwZW9mIHIuaGVpZ2h0PT0ibnVtYmVyIj9yLmhlaWdodDpyLmhlaWdodC5iYXNlVmFsLnZhbHVlLG4uZHJhd0ltYWdlKHIsMCwwLHMud2lkdGgscy5oZWlnaHQpLGk9bi5nZXRJbWFnZURhdGEoMCwwLHMud2lkdGgscy5oZWlnaHQpLmRhdGEuYnVmZmVyfXN3aXRjaChlKXtjYXNlInVpbnQ4QXJyYXkiOnJldHVybiBuZXcgVWludDhBcnJheShpKTtjYXNlInVpbnQ4Q2xhbXBlZEFycmF5IjpyZXR1cm4gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGkpO2Nhc2UiZGF0YVZpZXciOnJldHVybiBuZXcgRGF0YVZpZXcoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQiKX19ZnVuY3Rpb24gRGUocixlKXt2YXIgYjtjb25zdHt0b3A6YT0wLGxlZnQ6aT0wLHdpZHRoOnMsaGVpZ2h0OmYscmF3V2lkdGg6byxyYXRlOm49NCxjYWxsYmFjazp0fT1lLGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHMqZipuKSxnPWkqbixjPWEqbixoPXMqbixwPW8qbjtmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgdT0wO3U8aDt1Kyspe2NvbnN0IEM9KGMrZCkqcCsoZyt1KTtsW2QqaCt1XT0oYj10PT1udWxsP3ZvaWQgMDp0KEMpKSE9bnVsbD9iOnJbQ119cmV0dXJuIGx9ZnVuY3Rpb24gJGUocil7Y29uc3QgZT1pZShyLCJkYXRhVmlldyIpO2xldCBhPTA7Y29uc3QgaT0oKT0+ZS5nZXRVaW50OChhKyspLHM9Zj0+QXJyYXkuZnJvbSh7bGVuZ3RoOmZ9KS5tYXAoaSk7cmV0dXJue2dldEN1cnNvcjooKT0+YSxzZXRDdXJzb3I6Zj0+YT1mLHJlYWRCeXRlOmkscmVhZEJ5dGVzOnMscmVhZFN0cmluZzpmPT5TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMoZikpLHJlYWRVbnNpZ25lZDooKT0+W2UuZ2V0VWludDE2KGEsITApLGErPTJdWzBdLHJlYWRCaXRzOigpPT5lLmdldFVpbnQ4KGErKykudG9TdHJpbmcoMikucGFkU3RhcnQoOCwiMCIpLnNwbGl0KCIiKS5tYXAoTnVtYmVyKSxyZWFkQ29sb3JUYWJsZTpmPT5BcnJheS5mcm9tKHtsZW5ndGg6Zn0sKCk9PkFycmF5LmZyb20ocygzKSkpLHJlYWRTdWJCbG9jazooKT0+e2NvbnN0IGY9W107Zm9yKDs7KXtjb25zdCBvPWkoKTtpZihvPT09MCYmZS5nZXRVaW50OChhKSE9PTApYnJlYWs7Zi5wdXNoKG8pfXJldHVybiBmfX19ZnVuY3Rpb24gWGUocil7Y29uc3QgZT17fSx7Z2V0Q3Vyc29yOmEsc2V0Q3Vyc29yOmkscmVhZEJ5dGU6cyxyZWFkU3RyaW5nOmYscmVhZFVuc2lnbmVkOm8scmVhZEJpdHM6bixyZWFkQ29sb3JUYWJsZTp0LHJlYWRTdWJCbG9jazpsfT0kZShyKSxnPSgpPT4oe2luZGV4OjAsZGVsYXk6MTAwLGRpc3Bvc2FsOjB9KSxjPWYoMyksaD1mKDMpO2lmKGMhPT1FZXx8IUJlLmluY2x1ZGVzKGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyBub3QgYSA4N2EvODlhIEdJRiBkYXRhLiIpO2UudmVyc2lvbj1oLGUud2lkdGg9bygpLGUuaGVpZ2h0PW8oKTtjb25zdCBwPW4oKTtlLmdsb2JhbENvbG9yVGFibGU9ISFwWzBdLGUuY29sb3JSZXNvbHVUaW9uPXBhcnNlSW50KHAuc2xpY2UoMSw0KS5qb2luKCIiKSwyKSsxLGUuY29sb3JUYWJsZVNvcnRlZD0hIXBbNF07Y29uc3QgYj1wYXJzZUludChwLnNsaWNlKDUsOCkuam9pbigiIiksMik7ZS5jb2xvclRhYmxlU2l6ZT1NYXRoLnBvdygyLGIrMSksZS5iYWNrZ3JvdW5kQ29sb3JJbmRleD1zKCksZS5waXhlbEFzcGVjdFJhdGlvPXMoKSxlLmdsb2JhbENvbG9yVGFibGUmJihlLmNvbG9yVGFibGVTaXplP2UuY29sb3JUYWJsZT10KGUuY29sb3JUYWJsZVNpemUpOmwoKSksZS5mcmFtZXM9W107bGV0IGQ9ZygpO2NvbnN0IHU9W10sQz1bXTtmb3IoOzspe2NvbnN0IHk9cygpO2lmKHUucHVzaCh5KSx5PT09cmUpe2QubGVmdD1vKCksZC50b3A9bygpLGQud2lkdGg9bygpLGQuaGVpZ2h0PW8oKTtjb25zdCBTPW4oKTtkLmxvY2FsQ29sb3JUYWJsZT0hIVNbMF0sZC5pbnRlcmxhY2VkPSEhU1sxXSxkLmNvbG9yVGFibGVTb3J0ZWQ9ISFTWzJdLGQucmVzZXJ2ZWQ9cGFyc2VJbnQoUy5zbGljZSgzLDUpLmpvaW4oIiIpLDIpO2NvbnN0IHc9cGFyc2VJbnQoUy5zbGljZSg1LDgpLmpvaW4oIiIpLDIpO2ZvcihkLmNvbG9yVGFibGVTaXplPU1hdGgucG93KDIsdysxKSxkLmxvY2FsQ29sb3JUYWJsZSYmKGQuY29sb3JUYWJsZT10KGQuY29sb3JUYWJsZVNpemUpKSxkLmx6d01pbkNvZGVTaXplPXMoKSxkLmltYWdlRGF0YVBvc2l0aW9ucz1bXTs7KXtjb25zdCBtPXMoKTtpZihtPT09MClicmVhaztjb25zdCBJPWEoKTtkLmltYWdlRGF0YVBvc2l0aW9ucy5wdXNoKFtJLG1dKSxpKEkrbSl9ZS5mcmFtZXMucHVzaChkKSxkPWcoKSxkLmluZGV4PWUuZnJhbWVzLmxlbmd0aDtjb250aW51ZX1pZih5PT09b2Upe2NvbnN0IFM9cygpO2lmKEMucHVzaChTKSxTPT09X2Upe2lmKHMoKSE9PXZlKWNvbnRpbnVlO2NvbnN0IHc9e2lkZW50aWZpZXI6Zig4KSxjb2RlOmYoMyksZGF0YTpbXX07YCR7dy5pZGVudGlmaWVyfSR7dy5jb2RlfWA9PSJORVRTQ0FQRTIuMCImJnMoKT09PTMmJihlLmxvb3BlZD0hIXMoKSxlLmxvb3BDb3VudD1vKCkpLHcuZGF0YT1sKCksZC5hcHBsaWNhdGlvbj13O2NvbnRpbnVlfWlmKFM9PT1NZSl7ZC5jb21tZW50PWwoKS5tYXAodz0+U3RyaW5nLmZyb21DaGFyQ29kZSh3KSkuam9pbigiIik7Y29udGludWV9aWYoUz09PWFlKXtpZihzKCkhPT1zZSljb250aW51ZTtjb25zdCB3PW4oKSxtPXtyZXNlcnZlZDpwYXJzZUludCh3LnNsaWNlKDAsMykuam9pbigiIiksMiksZGlzcG9zYWw6cGFyc2VJbnQody5zbGljZSgzLDYpLmpvaW4oIiIpLDIpLHVzZXJJbnB1dDohIXdbNl0sdHJhbnNwYXJlbnQ6ISF3WzddLGRlbGF5VGltZTpvKCksdHJhbnNwYXJlbnRJbmRleDpzKCl9O2woKSxkLmdyYXBoaWNDb250cm9sPW0sZC5kaXNwb3NhbD1tLmRpc3Bvc2FsLGQuZGVsYXk9KG0uZGVsYXlUaW1lfHwxMCkqMTA7Y29udGludWV9aWYoUz09PU5lKXtpZihzKCkhPT1VZSljb250aW51ZTtkLnBsYWluVGV4dD17bGVmdDpvKCksdG9wOm8oKSx3aWR0aDpvKCksaGVpZ2h0Om8oKSxjZWxsV2lkdGg6cygpLGNlbGxIZWlnaHQ6cygpLGNvbG9ySW5kZXg6cygpLGJhY2tncm91bmRDb2xvckluZGV4OnMoKSxkYXRhOmwoKX07Y29udGludWV9bGUoYFVua25vd24gZXh0ZW5zaW9uIGJsb2NrOiAweCR7Uy50b1N0cmluZygxNil9YCx1LnNsaWNlKDAsdS5sZW5ndGgtMSkubWFwKHc9PmAweCR7dy50b1N0cmluZygxNil9YCksQy5zbGljZSgwLEMubGVuZ3RoLTEpLm1hcCh3PT5gMHgke3cudG9TdHJpbmcoMTYpfWApKTtjb250aW51ZX1pZih5PT09T2UpYnJlYWs7bGUoYFVua25vd24gYmxvY2s6IDB4JHt5LnRvU3RyaW5nKDE2KX1gLHUuc2xpY2UoMCx1Lmxlbmd0aC0xKS5tYXAoUz0+YDB4JHtTLnRvU3RyaW5nKDE2KX1gKSxDLnNsaWNlKDAsQy5sZW5ndGgtMSkubWFwKFM9PmAweCR7Uy50b1N0cmluZygxNil9YCkpfXJldHVybiBlfWZ1bmN0aW9uIFJlKHIsZSxhKXtjb25zdCBmPWE7bGV0IG8sbix0LGwsZyxjLGg7Y29uc3QgcD1uZXcgQXJyYXkoYSksYj1uZXcgQXJyYXkoNDA5NiksZD1uZXcgQXJyYXkoNDA5NiksdT1uZXcgQXJyYXkoNDA5NisxKSxDPXIseT0xPDxDLFM9eSsxO2ZvcihvPXkrMixnPS0xLHQ9QysxLG49KDE8PHQpLTEsYz0wO2M8eTtjKyspYltjXT0wLGRbY109YztsZXQgdyxtLEksVCxBLFA7Zm9yKHc9bT1JPVQ9QT1QPTAsaD0wO2g8Zjspe2lmKFQ9PT0wKXtpZihtPHQpe3crPWVbUF08PG0sbSs9OCxQKys7Y29udGludWV9aWYoYz13Jm4sdz4+PXQsbS09dCxjPm98fGM9PT1TKWJyZWFrO2lmKGM9PT15KXt0PUMrMSxuPSgxPDx0KS0xLG89eSsyLGc9LTE7Y29udGludWV9aWYoZz09PS0xKXt1W1QrK109ZFtjXSxnPWMsST1jO2NvbnRpbnVlfWZvcihsPWMsYz09PW8mJih1W1QrK109SSxjPWcpO2M+eTspdVtUKytdPWRbY10sYz1iW2NdO0k9ZFtjXSYyNTUsdVtUKytdPUksbzw0MDk2JiYoYltvXT1nLGRbb109SSxvKyssIShvJm4pJiZvPDQwOTYmJih0Kyssbis9bykpLGc9bH1ULS0scFtBKytdPXVbVF0saCsrfWZvcihoPUE7aDxmO2grKylwW2hdPTA7cmV0dXJuIHB9ZnVuY3Rpb24gTGUocixlKXtjb25zdCBhPW5ldyBBcnJheShyLmxlbmd0aCksaT1yLmxlbmd0aC9lLHM9WzAsNCwyLDFdLGY9WzgsOCw0LDJdO2xldCBvPTA7Zm9yKGxldCBuPTA7bjw0O24rKylmb3IobGV0IHQ9c1tuXTt0PGk7dCs9ZltuXSlhLnNwbGljZS5hcHBseShhLFt0KmUsZV0uY29uY2F0KHIuc2xpY2UobyplLChvKzEpKmUpKSksbysrO3JldHVybiBhfWZ1bmN0aW9uIHplKHIpe2NvbnN0IGU9bmV3IE1hcCx7d29ya2VyVXJsOmF9PXI7bGV0e3dvcmtlck51bWJlcjppPTF9PXI7Y29uc3Qgcz1bLi4ubmV3IEFycmF5KGE/aTowKV0ubWFwKCgpPT57dHJ5e2NvbnN0IHQ9bmV3IFdvcmtlcihhKTtyZXR1cm4gdC5vbm1lc3NhZ2U9Zix0fWNhdGNoKHQpe3JldHVybiBudWxsfX0pLmZpbHRlcihCb29sZWFuKTtpPXMubGVuZ3RoO2Z1bmN0aW9uIGYodCl7dmFyIGM7Y29uc3R7aWQ6bCxkYXRhOmd9PXQuZGF0YTsoYz1lLmdldChsKSk9PW51bGx8fGMoZyksZS5kZWxldGUobCl9Y29uc3Qgbz1mdW5jdGlvbigpe2xldCB0PTA7cmV0dXJuIGw9PnNbKGwhPW51bGw/bDp0KyspJWldfSgpO3JldHVybntjYWxsOmZ1bmN0aW9uKCl7bGV0IHQ9MDtyZXR1cm4obCxnLGMsaCk9Pm5ldyBQcm9taXNlKHA9Pntjb25zdCBiPW8oaCk7aWYoIWIpcmV0dXJuIHAodm9pZCAwKTtlLnNldCh0LHApLGIucG9zdE1lc3NhZ2Uoe2lkOnQrKyx0eXBlOmwsZGF0YTpnfSx7dHJhbnNmZXI6Y30pfSl9KCl9fWZ1bmN0aW9uIEZlKHIsZSl7Y29uc3QgYT1pZShyLCJ1aW50OEFycmF5Iik7aWYoZSE9bnVsbCYmZS53b3JrZXJVcmwpcmV0dXJuIHplKHt3b3JrZXJVcmw6ZS53b3JrZXJVcmx9KS5jYWxsKCJmcmFtZXM6ZGVjb2RlIixhLFthLmJ1ZmZlcl0pO2NvbnN0e2dpZjppPVhlKHIpLHJhbmdlOnN9PWUhPW51bGw/ZTp7fSx7d2lkdGg6ZixoZWlnaHQ6byxjb2xvclRhYmxlOm4sZnJhbWVzOnR9PWksbD1zP3Quc2xpY2Uoc1swXSxzWzFdKzEpOnQsZz1sLnNvbWUoYj0+Yi5kaXNwb3NhbD09PTMpO2xldCBjPW5ldyBVaW50OENsYW1wZWRBcnJheShmKm8qNCksaCxwPWMuc2xpY2UoKTtyZXR1cm4gbC5tYXAoYj0+e3ZhciBmZTtjb25zdHtsZWZ0OmQsdG9wOnUsd2lkdGg6QyxoZWlnaHQ6eSxpbnRlcmxhY2VkOlMsbG9jYWxDb2xvclRhYmxlOncsY29sb3JUYWJsZTptLGx6d01pbkNvZGVTaXplOkksaW1hZ2VEYXRhUG9zaXRpb25zOlQsZ3JhcGhpY0NvbnRyb2w6QSxkZWxheTpQLGRpc3Bvc2FsOmp9PWIsR2U9dSt5LHt0cmFuc3BhcmVudDpIZSx0cmFuc3BhcmVudEluZGV4OnFlfT1BIT1udWxsP0E6e30sWj13P206bixjZT1IZT9xZTotMSxZZT1QZShULm1hcCgoW0UsRF0pPT5hLnN1YmFycmF5KEUsRStEKSkpO2xldCBYPVJlKEksWWUsQyp5KTtpZihTJiYoWD1MZShYLEMpKSxqPT09MylwJiYoYz1wPT1udWxsP3ZvaWQgMDpwLnNsaWNlKCkpO2Vsc2V7Y29uc3QgRT1oPT1udWxsP3ZvaWQgMDpoLmRpc3Bvc2FsO2lmKEU9PT0wfHxFPT09Mil7Y29uc3R7bGVmdDpELHRvcDokLHdpZHRoOk0saGVpZ2h0OlJ9PWgsRz0kK1I7Zm9yKGxldCBVPSQ7VTxHO1UrKyl7Y29uc3QgSD1VKmYrRCxPPShVLSQpKk07Zm9yKGxldCBMPTA7TDxNO0wrKyl7Y29uc3QgSmU9WFtPK0xdO2lmKEU9PT0yfHxKZSE9PWNlKXtjb25zdCB6PShIK0wpKjQ7Y1t6XT1jW3orMV09Y1t6KzJdPWNbeiszXT0wfX19fX1mb3IobGV0IEU9dTtFPEdlO0UrKyl7Y29uc3QgRD1FKmYrZCwkPShFLXUpKkM7Zm9yKGxldCBNPTA7TTxDO00rKyl7Y29uc3QgUj1YWyQrTV07aWYoUiE9PWNlKXtjb25zdFtHLFUsSF09KGZlPVo9PW51bGw/dm9pZCAwOlpbUl0pIT1udWxsP2ZlOlswLDAsMF0sTz0oRCtNKSo0O2NbT109RyxjW08rMV09VSxjW08rMl09SCxjW08rM109MjU1fX19cmV0dXJuIGcmJihqPT09MHx8aj09PTEpJiYocD1jLnNsaWNlKCkpLGg9Yix7d2lkdGg6ZixoZWlnaHQ6byxkZWxheTpQLGltYWdlRGF0YTpjLnNsaWNlKCl9fSl9ZnVuY3Rpb24gV2UocixlLGEpe2NvbnN0e3dyaXRlQnl0ZTppLGdldEN1cnNvcjpzLGNhbGN1bGF0ZURpc3RhbmNlOmZ9PWE7aShyKTtsZXQgbz1zKCk7aSgwKTtjb25zdCBuPTE8PHIsdD1uLTEsbD1uKzE7bGV0IGc9bCsxLGM9cisxLGg9MCxwPTA7ZnVuY3Rpb24gYihtKXtmb3IoO2g+PW07KWkocCYyNTUpLHA+Pj04LGgtPTgsZihvKT09PTI1NiYmKGkoMjU1LG8pLG89cygpLGkoMCkpfWZ1bmN0aW9uIGQobSl7cHw9bTw8aCxoKz1jLGIoOCl9bGV0IHU9ZVswXSZ0LEM9e30seSxTLHc7ZChuKTtmb3IobGV0IG09ZS5sZW5ndGgsST0xO0k8bTsrK0kpaWYodz1lW0ldJnQseT11PDw4fHcsUz1DW3ldLFM9PT12b2lkIDApe2ZvcihwfD11PDxoLGgrPWM7aD49ODspaShwJjI1NSkscD4+PTgsaC09OCxmKG8pPT09MjU2JiYoaSgyNTUsbyksbz1zKCksaSgwKSk7Zz09PTQwOTY/KGQobiksZz1sKzEsYz1yKzEsQz17fSk6KGc+PTE8PGMmJisrYyxDW3ldPWcrKyksdT13fWVsc2UgdT1TO2QodSksZChsKSxiKDEpLGYobyk9PT0xP2koMCxvKTooaShmKG8pLTEsbyksaSgwKSl9ZnVuY3Rpb24gS2Uocj17fSl7Y29uc3R7Y2h1bmtTaXplOmU9NDA5Nn09cjtsZXQgYT1bbmV3IFVpbnQ4QXJyYXkoZSldLGk9MCxzPTA7Y29uc3QgZj0obix0KT0+e3Q/YVt0WzBdXVt0WzFdXT1uOihzPj1lJiYoYVsrK2ldPW5ldyBVaW50OEFycmF5KGUpLHM9MCksYVtpXVtzKytdPW4pfSxvPW49Pm4uZm9yRWFjaCh0PT5mKHQpKTtyZXR1cm57Z2V0Q3Vyc29yOigpPT5baSxzXSxzZXRDdXJzb3I6bj0+e2k9blswXSxzPW5bMV19LGNhbGN1bGF0ZURpc3RhbmNlOm49PmkqZStzLShuWzBdKmUrblsxXSksd3JpdGVCeXRlOmYsd3JpdGVCeXRlczpvLHdyaXRlU3RyaW5nOm49Pm4uc3BsaXQoIiIpLmZvckVhY2goKHQsbCk9PmYobi5jaGFyQ29kZUF0KGwpKSksd3JpdGVVbnNpZ25lZDpuPT5vKFtuJjI1NSxuPj44JjI1NV0pLGZsdXNoOigpPT57YVtpXT1hW2ldLnNsaWNlKDAscyk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShhLnJlZHVjZSgobCxnKT0+bCtnLmJ5dGVMZW5ndGgsMCkpO2xldCB0PTA7cmV0dXJuIGEuZm9yRWFjaChsPT57bi5zZXQobCx0KSx0Kz1sLmJ5dGVMZW5ndGh9KSxhPVtuZXcgVWludDhBcnJheShlKV0saT0wLHM9MCxufX19ZnVuY3Rpb24gVmUocil7dmFyIEMseSxTO2NvbnN0IGU9S2UoKSx7d3JpdGVCeXRlOmEsd3JpdGVCeXRlczppLHdyaXRlVW5zaWduZWQ6cyxmbHVzaDpmfT1lLHtsZWZ0Om89MCx0b3A6bj0wLHdpZHRoOnQ9MCxoZWlnaHQ6bD0wLGRlbGF5Omc9MTAwLGNvbG9yVGFibGU6Y309cjtsZXR7ZGlzcG9zYWw6aD0wfT1yO2NvbnN0IHA9KEM9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOkMudHJhbnNwYXJlbnQ7bGV0IGI9KFM9KHk9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnRJbmRleCkhPW51bGw/UzoyNTU7aWYobzwwfHxvPjY1NTM1KXRocm93IG5ldyBFcnJvcigiTGVmdCBpbnZhbGlkLiIpO2lmKG48MHx8bj42NTUzNSl0aHJvdyBuZXcgRXJyb3IoIlRvcCBpbnZhbGlkLiIpO2lmKHQ8PTB8fHQ+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJXaWR0aCBpbnZhbGlkLiIpO2lmKGw8PTB8fGw+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJIZWlnaHQgaW52YWxpZC4iKTtsZXQgZD04LHU9Yz9jLmxlbmd0aDowO2lmKHUpe2lmKHU8Mnx8dT4yNTZ8fHUmdS0xKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciB0YWJsZSBsZW5ndGgsIG11c3QgYmUgcG93ZXIgb2YgMiBhbmQgMiAuLiAyNTYuIik7Zm9yKDt1Pj49MTspKytkfXJldHVybiBhKG9lKSxhKGFlKSxhKHNlKSxwP2h8fChoPTIpOmI9MCxhKHBhcnNlSW50KGAwMDAke051bWJlcihoJjcpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDMsIjAiKX0wJHtwPzE6MH1gLDIpKSxzKGcvMTApLGEoYiksYSgwKSxhKHJlKSxzKG8pLHMobikscyh0KSxzKGwpLGMhPW51bGwmJmMubGVuZ3RoPyhhKHBhcnNlSW50KGAxMDAwMCR7KGQtMSkudG9TdHJpbmcoMikucGFkU3RhcnQoMywiMCIpfWAsMikpLGkoYy5mbGF0KCkpKTphKDApLFdlKGQsci5pbWFnZURhdGEsZSksZigpfWZ1bmN0aW9uIGplKHIpe2NvbnN0e2ZyYW1lczplLHBhbGV0dGU6YSx0cmFuc3BhcmVudEluZGV4Oml9PXIscz1lZShhKTtyZXR1cm4gZS5tYXAoKHtpbWFnZURhdGE6Zn0pPT57bGV0IG89ITE7Y29uc3Qgbj1uZXcgVWludDhDbGFtcGVkQXJyYXkoZi5sZW5ndGgvNCk7Zm9yKGxldCB0PWYubGVuZ3RoLGw9MDtsPHQ7bCs9NClmW2wrM109PT0wPyhuW2wvNF09aSxvPSEwKTpuW2wvNF09cyhmW2xdPDwxNnxmW2wrMV08PDh8ZltsKzJdKTtyZXR1cm57aW1hZ2VEYXRhOm4sdHJhbnNwYXJlbnQ6b319KX1mdW5jdGlvbiBaZShyKXtjb25zdHtmcmFtZXM6ZSx0cmFuc3BhcmVudEluZGV4OmF9PXI7bGV0IGk7cmV0dXJuIGUubWFwKChzLGYpPT57dmFyIHksUztjb25zdHt3aWR0aDpvLGhlaWdodDpuLGltYWdlRGF0YTp0fT1zLGw9cy50cmFuc3BhcmVudHx8KChTPSh5PWVbZisxXSk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnQpIT1udWxsP1M6ITApO2xldCBnPTAsYz0wLGg9by0xLHA9bi0xLGI7aWYobCl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypjK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypwK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztwLS19Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2ddIT09YSl7dz0hMTticmVha31pZighdylicmVhaztnKyt9Zm9yKDtoPmc7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2hdIT09YSl7dz0hMTticmVha31pZighdylicmVhaztoLS19fWVsc2V7aWYoaSl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qYyttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qcCttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztwLS19aWYoYz09PXApZz1oO2Vsc2V7Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPD1wO20rKyl7Y29uc3QgST1tKm8rZztpZih0W0ldIT09aVtJXSl7dz0hMTticmVha319aWYoIXcpYnJlYWs7ZysrfWZvcig7aD5nOyl7bGV0IHc9ITA7Zm9yKGxldCBtPWM7bTw9cDttKyspe2NvbnN0IEk9bSpvK2g7aWYodFtJXSE9PWlbSV0pe3c9ITE7YnJlYWt9fWlmKCF3KWJyZWFrO2gtLX19fWI9aSxpPXR9Y29uc3QgZD1oKzEtZyx1PXArMS1jLEM9RGUodCx7bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUscmF3V2lkdGg6byxyYXRlOjEsY2FsbGJhY2s6dz0+e2lmKCFsJiZiJiZ0W3ddPT09Ylt3XSlyZXR1cm4gYX19KTtyZXR1cm57bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUsZGlzcG9zYWw6bD8yOjEsaW1hZ2VEYXRhOkN9fSl9Y29uc3QgTj1UZSh7c2tpcFRyYW5zcGFyZW50OiExfSk7c2VsZi5vbm1lc3NhZ2U9cj0+e2NvbnN0e2lkOmUsdHlwZTphLGRhdGE6aX09ci5kYXRhO2lmKGE9PT0icGFsZXR0ZTphZGRTYW1wbGUiJiZOKXJldHVybiBOLmFkZFNhbXBsZShpKSxzZWxmLnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6YSxkYXRhOiEwfSk7aWYoYT09PSJwYWxldHRlOmdlbmVyYXRlIiYmTil7Ti5nZW5lcmF0ZShpKTtjb25zdCBzPXEoe30sTi5jb250ZXh0KTtyZXR1cm4gTi5yZXNldCgpLHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30pfWlmKGE9PT0iZnJhbWVzOmluZGV4Iil7Y29uc3Qgcz1qZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lczpjcm9wIil7Y29uc3Qgcz1aZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lOmVuY29kZSIpe2NvbnN0IHM9VmUoaSk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30sW3MuYnVmZmVyXSl9aWYoYT09PSJmcmFtZXM6ZGVjb2RlIil7Y29uc3Qgcz1GZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX19fSkoKTsK", pn = (e) => Se(void 0, null, function* () {
|
|
2494
|
+
const Ir = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgZXQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0dD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBCPU1hdGgucG93LHVlPShfLHgsayk9PnggaW4gXz9RZShfLHgse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KTpfW3hdPWsscT0oXyx4KT0+e2Zvcih2YXIgayBpbiB4fHwoeD17fSkpZXQuY2FsbCh4LGspJiZ1ZShfLGsseFtrXSk7aWYoZGUpZm9yKHZhciBrIG9mIGRlKHgpKXR0LmNhbGwoeCxrKSYmdWUoXyxrLHhba10pO3JldHVybiBffTsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y29uc3QgXz10eXBlb2Ygd2luZG93PCJ1Iix4PTY1NTM2LTEsaz14KngsaGU9NTEyLTEsRj1bMCwyMCw0MCw2MCw4MCw5OSwxMTksMTM5LDE1OSwxNzksMTk5LDIxOSwyNDEsMjY0LDI4OCwzMTMsMzQwLDM2NywzOTYsNDI3LDQ1OCw0OTEsNTI2LDU2Miw1OTksNjM3LDY3Nyw3MTgsNzYxLDgwNSw4NTEsODk4LDk0Nyw5OTcsMTA0OCwxMTAxLDExNTYsMTIxMiwxMjcwLDEzMzAsMTM5MSwxNDUzLDE1MTcsMTU4MywxNjUxLDE3MjAsMTc5MCwxODYzLDE5MzcsMjAxMywyMDkwLDIxNzAsMjI1MCwyMzMzLDI0MTgsMjUwNCwyNTkyLDI2ODEsMjc3MywyODY2LDI5NjEsMzA1OCwzMTU3LDMyNTgsMzM2MCwzNDY0LDM1NzAsMzY3OCwzNzg4LDM5MDAsNDAxNCw0MTI5LDQyNDcsNDM2Niw0NDg4LDQ2MTEsNDczNiw0ODY0LDQ5OTMsNTEyNCw1MjU3LDUzOTIsNTUzMCw1NjY5LDU4MTAsNTk1Myw2MDk5LDYyNDYsNjM5NSw2NTQ3LDY3MDAsNjg1Niw3MDE0LDcxNzQsNzMzNSw3NTAwLDc2NjYsNzgzNCw4MDA0LDgxNzcsODM1Miw4NTI4LDg3MDgsODg4OSw5MDcyLDkyNTgsOTQ0NSw5NjM1LDk4MjgsMTAwMjIsMTAyMTksMTA0MTcsMTA2MTksMTA4MjIsMTEwMjgsMTEyMzUsMTE0NDYsMTE2NTgsMTE4NzMsMTIwOTAsMTIzMDksMTI1MzAsMTI3NTQsMTI5ODAsMTMyMDksMTM0NDAsMTM2NzMsMTM5MDksMTQxNDYsMTQzODcsMTQ2MjksMTQ4NzQsMTUxMjIsMTUzNzEsMTU2MjMsMTU4NzgsMTYxMzUsMTYzOTQsMTY2NTYsMTY5MjAsMTcxODcsMTc0NTYsMTc3MjcsMTgwMDEsMTgyNzcsMTg1NTYsMTg4MzcsMTkxMjEsMTk0MDcsMTk2OTYsMTk5ODcsMjAyODEsMjA1NzcsMjA4NzYsMjExNzcsMjE0ODEsMjE3ODcsMjIwOTYsMjI0MDcsMjI3MjEsMjMwMzgsMjMzNTcsMjM2NzgsMjQwMDIsMjQzMjksMjQ2NTgsMjQ5OTAsMjUzMjUsMjU2NjIsMjYwMDEsMjYzNDQsMjY2ODgsMjcwMzYsMjczODYsMjc3MzksMjgwOTQsMjg0NTIsMjg4MTMsMjkxNzYsMjk1NDIsMjk5MTEsMzAyODIsMzA2NTYsMzEwMzMsMzE0MTIsMzE3OTQsMzIxNzksMzI1NjcsMzI5NTcsMzMzNTAsMzM3NDUsMzQxNDMsMzQ1NDQsMzQ5NDgsMzUzNTUsMzU3NjQsMzYxNzYsMzY1OTEsMzcwMDgsMzc0MjksMzc4NTIsMzgyNzgsMzg3MDYsMzkxMzgsMzk1NzIsNDAwMDksNDA0NDksNDA4OTEsNDEzMzcsNDE3ODUsNDIyMzYsNDI2OTAsNDMxNDcsNDM2MDYsNDQwNjksNDQ1MzQsNDUwMDIsNDU0NzMsNDU5NDcsNDY0MjMsNDY5MDMsNDczODUsNDc4NzEsNDgzNTksNDg4NTAsNDkzNDQsNDk4NDEsNTAzNDEsNTA4NDQsNTEzNDksNTE4NTgsNTIzNjksNTI4ODQsNTM0MDEsNTM5MjEsNTQ0NDUsNTQ5NzEsNTU1MDAsNTYwMzIsNTY1NjcsNTcxMDUsNTc2NDYsNTgxOTAsNTg3MzcsNTkyODcsNTk4NDAsNjAzOTYsNjA5NTUsNjE1MTcsNjIwODIsNjI2NTAsNjMyMjEsNjM3OTUsNjQzNzIsNjQ5NTIsNjU1MzVdLFk9WzAsNiwxMywxOCwyMiwyNSwyOCwzMSwzNCwzNiwzOCw0MCw0Miw0NCw0Niw0OCw1MCw1MSw1Myw1NCw1Niw1Nyw1OSw2MCw2MSw2Miw2NCw2NSw2Niw2Nyw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Niw4Nyw4OCw4OSw5MCw5MSw5MSw5Miw5Myw5NCw5NSw5NSw5Niw5Nyw5OCw5OCw5OSwxMDAsMTAxLDEwMSwxMDIsMTAzLDEwMywxMDQsMTA1LDEwNiwxMDYsMTA3LDEwOCwxMDgsMTA5LDExMCwxMTAsMTExLDExMSwxMTIsMTEzLDExMywxMTQsMTE1LDExNSwxMTYsMTE2LDExNywxMTgsMTE4LDExOSwxMTksMTIwLDEyMSwxMjEsMTIyLDEyMiwxMjMsMTIzLDEyNCwxMjUsMTI1LDEyNiwxMjYsMTI3LDEyNywxMjgsMTI4LDEyOSwxMjksMTMwLDEzMCwxMzEsMTMyLDEzMiwxMzMsMTMzLDEzNCwxMzQsMTM1LDEzNSwxMzYsMTM2LDEzNywxMzcsMTM4LDEzOCwxMzksMTM5LDE0MCwxNDAsMTQwLDE0MSwxNDEsMTQyLDE0MiwxNDMsMTQzLDE0NCwxNDQsMTQ1LDE0NSwxNDYsMTQ2LDE0NywxNDcsMTQ3LDE0OCwxNDgsMTQ5LDE0OSwxNTAsMTUwLDE1MSwxNTEsMTUxLDE1MiwxNTIsMTUzLDE1MywxNTQsMTU0LDE1NCwxNTUsMTU1LDE1NiwxNTYsMTU2LDE1NywxNTcsMTU4LDE1OCwxNTksMTU5LDE1OSwxNjAsMTYwLDE2MSwxNjEsMTYxLDE2MiwxNjIsMTYzLDE2MywxNjMsMTY0LDE2NCwxNjUsMTY1LDE2NSwxNjYsMTY2LDE2NiwxNjcsMTY3LDE2OCwxNjgsMTY4LDE2OSwxNjksMTY5LDE3MCwxNzAsMTcxLDE3MSwxNzEsMTcyLDE3MiwxNzIsMTczLDE3MywxNzQsMTc0LDE3NCwxNzUsMTc1LDE3NSwxNzYsMTc2LDE3NiwxNzcsMTc3LDE3NywxNzgsMTc4LDE3OSwxNzksMTc5LDE4MCwxODAsMTgwLDE4MSwxODEsMTgxLDE4MiwxODIsMTgyLDE4MywxODMsMTgzLDE4NCwxODQsMTg0LDE4NSwxODUsMTg1LDE4NiwxODYsMTg2LDE4NywxODcsMTg3LDE4OCwxODgsMTg4LDE4OSwxODksMTg5LDE5MCwxOTAsMTkwLDE5MSwxOTEsMTkxLDE5MiwxOTIsMTkyLDE5MywxOTMsMTkzLDE5MywxOTQsMTk0LDE5NCwxOTUsMTk1LDE5NSwxOTYsMTk2LDE5NiwxOTcsMTk3LDE5NywxOTgsMTk4LDE5OCwxOTgsMTk5LDE5OSwxOTksMjAwLDIwMCwyMDAsMjAxLDIwMSwyMDEsMjAxLDIwMiwyMDIsMjAyLDIwMywyMDMsMjAzLDIwNCwyMDQsMjA0LDIwNCwyMDUsMjA1LDIwNSwyMDYsMjA2LDIwNiwyMDYsMjA3LDIwNywyMDcsMjA4LDIwOCwyMDgsMjA4LDIwOSwyMDksMjA5LDIxMCwyMTAsMjEwLDIxMCwyMTEsMjExLDIxMSwyMTIsMjEyLDIxMiwyMTIsMjEzLDIxMywyMTMsMjE0LDIxNCwyMTQsMjE0LDIxNSwyMTUsMjE1LDIxNSwyMTYsMjE2LDIxNiwyMTcsMjE3LDIxNywyMTcsMjE4LDIxOCwyMTgsMjE4LDIxOSwyMTksMjE5LDIyMCwyMjAsMjIwLDIyMCwyMjEsMjIxLDIyMSwyMjEsMjIyLDIyMiwyMjIsMjIyLDIyMywyMjMsMjIzLDIyNCwyMjQsMjI0LDIyNCwyMjUsMjI1LDIyNSwyMjUsMjI2LDIyNiwyMjYsMjI2LDIyNywyMjcsMjI3LDIyNywyMjgsMjI4LDIyOCwyMjgsMjI5LDIyOSwyMjksMjI5LDIzMCwyMzAsMjMwLDIzMCwyMzEsMjMxLDIzMSwyMzEsMjMyLDIzMiwyMzIsMjMyLDIzMywyMzMsMjMzLDIzMywyMzQsMjM0LDIzNCwyMzQsMjM1LDIzNSwyMzUsMjM1LDIzNiwyMzYsMjM2LDIzNiwyMzcsMjM3LDIzNywyMzcsMjM4LDIzOCwyMzgsMjM4LDIzOSwyMzksMjM5LDIzOSwyMzksMjQwLDI0MCwyNDAsMjQwLDI0MSwyNDEsMjQxLDI0MSwyNDIsMjQyLDI0MiwyNDIsMjQzLDI0MywyNDMsMjQzLDI0MywyNDQsMjQ0LDI0NCwyNDQsMjQ1LDI0NSwyNDUsMjQ1LDI0NiwyNDYsMjQ2LDI0NiwyNDYsMjQ3LDI0NywyNDcsMjQ3LDI0OCwyNDgsMjQ4LDI0OCwyNDksMjQ5LDI0OSwyNDksMjQ5LDI1MCwyNTAsMjUwLDI1MCwyNTEsMjUxLDI1MSwyNTEsMjUxLDI1MiwyNTIsMjUyLDI1MiwyNTMsMjUzLDI1MywyNTMsMjUzLDI1NCwyNTQsMjU0LDI1NCwyNTUsMjU1LDI1NV07ZnVuY3Rpb24gVyhyKXtsZXQgZTtpZihyPD0wKXJldHVybiAwO2lmKHI+PXgpcmV0dXJuIHg7ZT1yKihyKihyKy0xNDQxMDcpL3grMTMyMTE0KS94KzE0Mzc5O2ZvcihsZXQgYT0wO2E8MjthKyspe2NvbnN0IGk9ZSplKmUscz1yKygyKmkray8yKS9rO2U9KGUqKDIqcisoaStrLzIpL2spK3MvMikvc31yZXR1cm4gZX1mdW5jdGlvbiB2KHIsZSl7cmV0dXJuKHJeZSk8MD8oci1lLzIpL2U6KHIrZS8yKS9lfWZ1bmN0aW9uIEoocil7Y29uc3QgZT1GW3I+PjE2JjI1NV0sYT1GW3I+PjgmMjU1XSxpPUZbciYyNTVdLHM9KDI3MDE1KmUrMzUxNDkqYSszMzcyKmkreC8yKS94LGY9KDEzODg3KmUrNDQ2MTAqYSs3MDM4KmkreC8yKS94LG89KDU3ODcqZSsxODQ2MiphKzQxMjg2KmkreC8yKS94LG49VyhzKSx0PVcoZiksbD1XKG8pO3JldHVyblt2KDEzNzkyKm4rNTIwMTAqdC0yNjcqbCx4KSx2KDEyOTYyOCpuLTE1OTE1OCp0KzI5NTMwKmwseCksdigxNjk4Km4rNTEyOTkqdC01Mjk5NypsLHgpXX1mdW5jdGlvbiBLKHIpe2lmKHI8PTApcmV0dXJuIDA7aWYocj49eClyZXR1cm4gMjU1O3tjb25zdCBlPXIqaGUsYT1+fihlL3gpLGk9ZSV4LHM9WVthXSxmPVlbYSsxXTtyZXR1cm4oaSooZi1zKSt4LzIpL3grc319ZnVuY3Rpb24gZ2Uocil7Y29uc3QgZT1yWzBdK3YoMjU5NzQqclsxXSx4KSt2KDE0MTQzKnJbMl0seCksYT1yWzBdK3YoLTY5MTgqclsxXSx4KSt2KC00MTg1KnJbMl0seCksaT1yWzBdK3YoLTU4NjQqclsxXSx4KSt2KC04NDYzOCpyWzJdLHgpLHM9QihlLDIpKmUvayxmPUIoYSwyKSphL2ssbz1CKGksMikqaS9rLG49SygoMjY3MTY5KnMrLTIxNjc3MSpmKzE1MTM3Km8reC8yKS94KSx0PUsoKC04MzEyNypzKzE3MTAzMCpmKy0yMjM2OCpvK3gvMikveCksbD1LKCgtMjc1KnMrLTQ2MDk5KmYrMTExOTA5Km8reC8yKS94KTtyZXR1cm4gbjw8MTZ8dDw8OHxsfWZ1bmN0aW9uIHBlKHIpe2NvbnN0IGU9e2w6MCxhOjEsYjoyfSxhPXJbMF0saT1yWzFdLHM9clsyXSxmPWVbYV0sbz1lW2ldLG49ZVtzXTtyZXR1cm4odCxsKT0+dC5va2xhYltmXS1sLm9rbGFiW2ZdfHx0Lm9rbGFiW29dLWwub2tsYWJbb118fHQub2tsYWJbbl0tbC5va2xhYltuXX1mdW5jdGlvbiBtZShyLGUsYSl7cmV0dXJuIHI+PWU/ZT49YT8ibGFiIjpyPj1hPyJsYmEiOiJibGEiOnI+PWE/ImFsYiI6ZT49YT8iYWJsIjoiYmFsIn1mdW5jdGlvbiB3ZShyKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2NvbnN0IGE9bmV3IEltYWdlO2EuZGVjb2Rpbmc9InN5bmMiLGEubG9hZGluZz0iZWFnZXIiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5vbmxvYWQ9KCk9PmUoYSksYS5vbmVycm9yPSgpPT5lKGEpLGEuc3JjPXJ9KX1mdW5jdGlvbiBRKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJiJfX0NPTlRFWFRfXyJpbiByfWZ1bmN0aW9uIGJlKHIpe3JldHVybiBRKHIpP3I6eGUocil9ZnVuY3Rpb24geGUocj17fSl7Y29uc3R7bWF4Q29sb3JzOmU9MjU2LHN0YXRzTW9kZTphPSJmdWxsIixzYW1wbGVzOmk9W10sc2tpcFRyYW5zcGFyZW50OnM9ITB9PXI7cmV0dXJue19fQ09OVEVYVF9fOiEwLHNhbXBsZXM6aSxtYXhDb2xvcnM6ZSxzdGF0c01vZGU6YSxza2lwVHJhbnNwYXJlbnQ6cyxjb2xvclNhbXBsZXM6W10sY29sb3JTYW1wbGVzQ2FjaGU6bmV3IE1hcCxjb2xvckJveGVzOltdLGNvbG9yQm94ZXNJbmRleFRyZWU6W10sZmluZGVyQ2FjaGU6bmV3IE1hcH19ZnVuY3Rpb24gZWUocil7Y29uc3QgZT1RKHIpP3I6ci5jb250ZXh0LHtjb2xvckJveGVzSW5kZXhUcmVlOmEsZmluZGVyQ2FjaGU6aX09ZTtmdW5jdGlvbiBzKG8sbix0KXtjb25zdHtsZWZ0OmwscmlnaHQ6Zyxsb25nZXN0OmMsb2tsYWI6aCxjb2xvckJveEluZGV4OnB9PWFbb10sYj1NYXRoLm1pbihCKG5bMF0taFswXSwyKStCKG5bMV0taFsxXSwyKStCKG5bMl0taFsyXSwyKSw0Mjk0OTY3Mjk1LTEpO2I8dC5kaXN0JiYodC5jb2xvckJveEluZGV4PXAsdC5kaXN0PWIpO2xldCBkLHU7aWYobCE9PS0xfHxnIT09LTEpe2NvbnN0IEM9bltjXS1oW2NdO0M8PTA/KGQ9bCx1PWcpOihkPWcsdT1sKSxkIT09LTEmJnMoZCxuLHQpLHUhPT0tMSYmQihDLDIpPHQuZGlzdCYmcyh1LG4sdCl9fWZ1bmN0aW9uIGYobyl7Y29uc3Qgbj17ZGlzdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixjb2xvckJveEluZGV4Oi0xfTtyZXR1cm4gcygwLG8sbiksbi5jb2xvckJveEluZGV4fXJldHVybiBvPT57Y29uc3Qgbj1vJTMyNzY4O2xldCB0PWkuZ2V0KG4pO3R8fCh0PW5ldyBNYXAsaS5zZXQobix0KSk7bGV0IGw9dC5nZXQobyk7cmV0dXJuIGwhPT12b2lkIDB8fChsPWYoSihvKSksdC5zZXQobyxsKSksbH19ZnVuY3Rpb24gU2UocixlKXtjb25zdHtjb2xvckJveGVzOmF9PXIsaT1hLnJlZHVjZSgobyxuKT0+bytuLndlaWdodCwwKTtpZighZSlyZXR1cm4gci5jb2xvckJveGVzLm1hcChvPT57Y29uc3R7c3JnYjpuLHdlaWdodDp0fT1vO3JldHVybnt2YWx1ZTpuLHBlcmNlbnRhZ2U6dC9pfX0pO2NvbnN0IHM9W107Zm9yKGxldCBvPWEubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdHtzcmdiOnQsd2VpZ2h0Omx9PWFbbl07cy5wdXNoKHt2YWx1ZTpbdD4+MTYmMjU1LHQ+PjgmMjU1LHQmMjU1XSxwZXJjZW50YWdlOmwvaX0pfWxldCBmO2lmKGU9PT0iYnVmZmVyIil7Zj1uZXcgVWludDhDbGFtcGVkQXJyYXkocy5sZW5ndGgqNCk7Zm9yKGxldCBvPXMubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdCB0PW4qNCxsPXNbbl0udmFsdWU7Zlt0XT1sWzBdLGZbdCsxXT1sWzFdLGZbdCsyXT1sWzJdLGZbdCszXT0yNTV9fWVsc2UgaWYoZT09PSJoZXgiKXtmPVtdO2ZvcihsZXQgbz1zLmxlbmd0aCxuPTA7bjxvO24rKyl7Y29uc3R7dmFsdWU6dCxwZXJjZW50YWdlOmx9PXNbbl0sZz10WzBdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksYz10WzFdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksaD10WzJdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7Zi5wdXNoKHt2YWx1ZTpgIyR7Z30ke2N9JHtofWAscGVyY2VudGFnZTpsfSl9fWVsc2UgZj1zO3JldHVybiBmfWZ1bmN0aW9uIFYocixlLGEpe3ZhciBnLGMsaCxwO2NvbnN0e2dldENvbnRleHQyZDppLHByZXZpb3VzU2FtcGxlOnMsc2tpcFRyYW5zcGFyZW50OmZ9PWEse3N0YXRzTW9kZTpvLGNvbG9yU2FtcGxlczpuLGNvbG9yU2FtcGxlc0NhY2hlOnR9PXI7bGV0IGw7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKWw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUuYnVmZmVyKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilsPW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7Y29uc3QgYj1bXTtmb3IobGV0IGQ9ZS5sZW5ndGgsdT0wO3U8ZDt1KyspYi5wdXNoKChnPWVbdV1bMF0pIT1udWxsP2c6MCwoYz1lW3VdWzFdKSE9bnVsbD9jOjAsKGg9ZVt1XVsyXSkhPW51bGw/aDowLChwPWVbdV1bM10pIT1udWxsP3A6MjU1KTtsPW5ldyBVaW50OENsYW1wZWRBcnJheShiKX1lbHNlIGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCBiPWk9PW51bGw/dm9pZCAwOmkoKTtpZighYilyZXR1cm47Y29uc3QgZD1iLmNhbnZhcztyZXR1cm4gd2UoZSkudGhlbih1PT4oYi5jbGVhclJlY3QoMCwwLGQud2lkdGgsZC5oZWlnaHQpLGQud2lkdGg9dS53aWR0aCxkLmhlaWdodD11LmhlaWdodCxiLmRyYXdJbWFnZSh1LDAsMCxkLndpZHRoLGQuaGVpZ2h0KSxWKHIsYi5nZXRJbWFnZURhdGEoMCwwLGQud2lkdGgsZC5oZWlnaHQpLmRhdGEsYSkpKX1lbHNle2NvbnN0IGI9aT09bnVsbD92b2lkIDA6aSgpO2lmKCFiKXJldHVybjtjb25zdCBkPWIuY2FudmFzO3JldHVybiBiLmNsZWFyUmVjdCgwLDAsZC53aWR0aCxkLmhlaWdodCksZC53aWR0aD10eXBlb2YgZS53aWR0aD09Im51bWJlciI/ZS53aWR0aDplLndpZHRoLmJhc2VWYWwudmFsdWUsZC5oZWlnaHQ9dHlwZW9mIGUuaGVpZ2h0PT0ibnVtYmVyIj9lLmhlaWdodDplLmhlaWdodC5iYXNlVmFsLnZhbHVlLGIuZHJhd0ltYWdlKGUsMCwwLGQud2lkdGgsZC5oZWlnaHQpLFYocixiLmdldEltYWdlRGF0YSgwLDAsZC53aWR0aCxkLmhlaWdodCkuZGF0YSxhKX1mb3IobGV0IGI9bC5sZW5ndGgsZD0wO2Q8YjtkKz00KXtjb25zdCB1PWxbZF0sQz1sW2QrMV0seT1sW2QrMl0sUz1sW2QrM107aWYoZiYmUz09PTB8fG89PT0iZGlmZiImJnMmJnU9PT1zW2RdJiZDPT09c1tkKzFdJiZ5PT09c1tkKzJdJiZTPT09c1tkKzNdKWNvbnRpbnVlO2NvbnN0IHc9dTw8MTZ8Qzw8OHx5LG09UyoxZTgrdyxJPW0lMzI3Njg7bGV0IFQ9dC5nZXQoSSk7VHx8KFQ9bmV3IE1hcCx0LnNldChJLFQpKTtsZXQgQT1ULmdldChtKTtpZihBIT09dm9pZCAwKXtuW0FdLmNvdW50Kys7Y29udGludWV9QT1uLnB1c2goe2FscGhhOlMsc3JnYjp3LG9rbGFiOkoodyksY291bnQ6MX0pLTEsVC5zZXQobSxBKX1yZXR1cm4gbH1mdW5jdGlvbiB0ZShyLGUpe2NvbnN0e2NvbG9yU2FtcGxlczphfT1lLHtzdGFydDppLGVuZDpzfT1yO3IubGVuZ3RoPXMtaSxyLndlaWdodD0wO2NvbnN0IGY9WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07ZlswXSs9dC5va2xhYlswXSp0LmNvdW50LGZbMV0rPXQub2tsYWJbMV0qdC5jb3VudCxmWzJdKz10Lm9rbGFiWzJdKnQuY291bnQsci53ZWlnaHQrPXQuY291bnR9ci5va2xhYj1bZlswXS9yLndlaWdodCxmWzFdL3Iud2VpZ2h0LGZbMl0vci53ZWlnaHRdO2NvbnN0IG89WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07b1swXSs9Qih0Lm9rbGFiWzBdLXIub2tsYWJbMF0sMikqdC5jb3VudCxvWzFdKz1CKHQub2tsYWJbMV0tci5va2xhYlsxXSwyKSp0LmNvdW50LG9bMl0rPUIodC5va2xhYlsyXS1yLm9rbGFiWzJdLDIpKnQuY291bnR9ci5zb3J0PW1lKG9bMF0sb1sxXSxvWzJdKSxyLnNjb3JlPU1hdGgubWF4KG9bMF0sb1sxXSxvWzJdKX1mdW5jdGlvbiBuZShyLGUpe2NvbnN0IGE9cSh7c3RhcnQ6MCxlbmQ6MCxsZW5ndGg6MCxzY29yZTowLHdlaWdodDowLHNvcnQ6ImxhYiIsc29ydGVkOm51bGwsc3JnYjowLG9rbGFiOlswLDAsMF19LHIpO3JldHVybiB0ZShhLGUpLGF9ZnVuY3Rpb24gQ2Uocil7Y29uc3R7Y29sb3JCb3hlczplfT1yLGE9W10saT1uZXcgTWFwO2ZvcihsZXQgbz0tMSxuPWUubGVuZ3RoLHQ9MDt0PG47dCsrKXtjb25zdHtzcmdiOmx9PWVbdF07aWYobD09PW8pe2kuc2V0KHQsITApO2NvbnRpbnVlfW89bH1mKHttaW46Wy02NTUzNSwtNjU1MzUsLTY1NTM1XSxtYXg6WzY1NTM1LDY1NTM1LDY1NTM1XX0pO2Z1bmN0aW9uIHMobyl7Y29uc3Qgbj17bWluOls2NTUzNSw2NTUzNSw2NTUzNV0sbWF4OlstNjU1MzUsLTY1NTM1LC02NTUzNV19O2xldCB0PTA7Y29uc3QgbD1bXTtmb3IobGV0IGI9ZS5sZW5ndGgsZD0wO2Q8YjtkKyspe2NvbnN0e29rbGFiOnV9PWVbZF07aS5oYXMoZCl8fHVbMF08by5taW5bMF18fHVbMV08by5taW5bMV18fHVbMl08by5taW5bMl18fHVbMF0+by5tYXhbMF18fHVbMV0+by5tYXhbMV18fHVbMl0+by5tYXhbMl18fCh1WzBdPG4ubWluWzBdJiYobi5taW5bMF09dVswXSksdVsxXTxuLm1pblsxXSYmKG4ubWluWzFdPXVbMV0pLHVbMl08bi5taW5bMl0mJihuLm1pblsyXT11WzJdKSx1WzBdPm4ubWF4WzBdJiYobi5tYXhbMF09dVswXSksdVsxXT5uLm1heFsxXSYmKG4ubWF4WzFdPXVbMV0pLHVbMl0+bi5tYXhbMl0mJihuLm1heFsyXT11WzJdKSxsW3QrK109e29rbGFiOnUsY29sb3JCb3hJbmRleDpkfSl9bGV0IGc9MDtpZighdClyZXR1cm57Y29sb3JCb3hJbmRleDotMSxsb25nZXN0Omd9O2NvbnN0IGM9bi5tYXhbMF0tbi5taW5bMF0saD1uLm1heFsxXS1uLm1pblsxXSxwPW4ubWF4WzJdLW4ubWluWzJdO3JldHVybiBjPj1oJiZjPj1wP2c9MDpwPj1jJiZwPj1oP2c9MjpoPj1jJiZoPj1wJiYoZz0xKSx7Y29sb3JCb3hJbmRleDpsLnNvcnQoKGIsZCk9PmIub2tsYWJbZ10tZC5va2xhYltnXSlbdD4+MV0uY29sb3JCb3hJbmRleCxsb25nZXN0Omd9fWZ1bmN0aW9uIGYobyl7Y29uc3R7Y29sb3JCb3hJbmRleDpuLGxvbmdlc3Q6dH09cyhvKTtpZihuPDApcmV0dXJuLTE7Y29uc3R7b2tsYWI6bH09ZVtuXSxnPXtsb25nZXN0OnQsb2tsYWI6bCxjb2xvckJveEluZGV4Om59LGM9YS5wdXNoKGcpLTE7aS5zZXQobiwhMCk7Y29uc3QgaD17bWF4OlsuLi5vLm1heF0sbWluOlsuLi5vLm1pbl19LHA9e21heDpbLi4uby5tYXhdLG1pbjpbLi4uby5taW5dfTtoLm1heFt0XT1sW3RdLHAubWluW3RdPU1hdGgubWluKGxbdF0rMSw2NTUzNSk7Y29uc3QgYj1mKGgpO2xldCBkPS0xO3JldHVybiBwLm1pblt0XTw9cC5tYXhbdF0mJihkPWYocCkpLGcubGVmdD1iLGcucmlnaHQ9ZCxjfXJldHVybiBhfWZ1bmN0aW9uIHllKHIsZT17fSl7Y29uc3R7bWF4Q29sb3JzOmEsY29sb3JTYW1wbGVzOml9PXI7aWYoIWkubGVuZ3RoKXJldHVybjtjb25zdHttYXhDb2xvcnM6cz1hLGNsZWFyU2FtcGxlczpmPSEwfT1lO2xldCBvPW5lKHtlbmQ6aS5sZW5ndGh9LHIpLG49MTtjb25zdCB0PVtvXTtmdW5jdGlvbiBsKCl7bGV0IGM9LTEsaD0tMTtpZihuPT09cylyZXR1cm4tMTtmb3IobGV0IHA9MDtwPG47cCsrKXtjb25zdCBiPXRbcF07Yi5sZW5ndGg+PTImJmIuc2NvcmU+aCYmKGM9cCxoPWIuc2NvcmUpfXJldHVybiBjfWZ1bmN0aW9uIGcoYyxoKXtjb25zdCBwPW5lKHtzdGFydDpoKzEsZW5kOmMuZW5kLHNvcnRlZDpjLnNvcnRlZH0scik7Yy5lbmQtPXAubGVuZ3RoLHRlKGMsciksdC5wdXNoKHApLG4rK31mb3IoO28mJm8ubGVuZ3RoPjE7KXtjb25zdHtzdGFydDpjLGVuZDpoLHNvcnQ6cCxzb3J0ZWQ6Yn09bztpZihwIT09Yil7Y29uc3QgUz1pLnNsaWNlKGMsaCkuc29ydChwZShwKSk7Zm9yKGxldCB3PVMubGVuZ3RoLG09MDttPHc7bSsrKWlbYyttXT1TW21dO28uc29ydGVkPXB9Y29uc3QgZD1vLndlaWdodCsxPj4xO2xldCB1PWMsQz0wO2ZvcihsZXQgUz1oLTI7dTxTJiYoQys9aVt1XS5jb3VudCwhKEM+ZCkpO3UrKyk7ZyhvLHUpO2NvbnN0IHk9bCgpO289eT49MD90W3ldOm51bGx9Zm9yKGxldCBjPXQubGVuZ3RoLGg9MDtoPGM7aCsrKXRbaF0uc3JnYj1nZSh0W2hdLm9rbGFiKTtyLmNvbG9yQm94ZXM9dC5zb3J0KChjLGgpPT5jLnNyZ2ItaC5zcmdiKSxyLmNvbG9yQm94ZXNJbmRleFRyZWU9Q2UociksZiYmKHIuY29sb3JTYW1wbGVzPVtdLHIuY29sb3JTYW1wbGVzQ2FjaGUuY2xlYXIoKSksci5maW5kZXJDYWNoZS5jbGVhcigpfWZ1bmN0aW9uIEllKHIsZSxhKXtjb25zdHtjb2xvckJveGVzOml9PXI7aWYoIWUpcmV0dXJuO2xldCBzO2lmKHR5cGVvZiBhPT0ibnVtYmVyIilzPWE7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9YS5yZXBsYWNlKC9eIy8sIiIpLGw9W2Ake3RbMF19JHt0WzFdfWAsYCR7dFsyXX0ke3RbM119YCxgJHt0WzRdfSR7dFs1XX1gXS5tYXAoZz0+cGFyc2VJbnQoZywxNikpO3M9bFswXTw8MTZ8bFsxXTw8OHxsWzJdfWVsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlzPWFbMF08PDE2fGFbMV08PDh8YVsyXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdCIpO2NvbnN0IGY9ZShzKTtpZihmPT09dm9pZCAwKXJldHVybjtjb25zdCBvPWlbZl07aWYoIW8pcmV0dXJuO2NvbnN0e3NyZ2I6bn09bztpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9KG4+PjE2JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxsPShuPj44JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxnPShuJjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm57dmFsdWU6YCMke3R9JHtsfSR7Z31gLGluZGV4OmZ9fWVsc2UgaWYodHlwZW9mIGE9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGEpKXJldHVybnt2YWx1ZTpbbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XSxpbmRleDpmfTtyZXR1cm57dmFsdWU6bixpbmRleDpmfX1mdW5jdGlvbiBrZShyKXtyLmNvbG9yU2FtcGxlcz1bXSxyLmNvbG9yU2FtcGxlc0NhY2hlLmNsZWFyKCksci5jb2xvckJveGVzPVtdLHIuY29sb3JCb3hlc0luZGV4VHJlZT1bXSxyLmZpbmRlckNhY2hlLmNsZWFyKCl9ZnVuY3Rpb24gVGUocil7Y29uc3QgZT1iZShyKSx7c3RhdHNNb2RlOmEsc2FtcGxlczppLHNraXBUcmFuc3BhcmVudDpzfT1lLGY9ZnVuY3Rpb24oKXtsZXQgbDtyZXR1cm4oKT0+KCFsJiZfJiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pKSxsKX0oKTtsZXQgbz1udWxsLG49bnVsbDtjb25zdCB0PXtjb250ZXh0OmUsYWRkU2FtcGxlOmw9PntlLmNvbG9yU2FtcGxlcy5sZW5ndGg9PT0wJiYobz1udWxsKTtjb25zdCBnPVYoZSxsLHtnZXRDb250ZXh0MmQ6ZixwcmV2aW91c1NhbXBsZTpvLHNraXBUcmFuc3BhcmVudDpzfSk7cmV0dXJuKGcgaW5zdGFuY2VvZiBQcm9taXNlP2c6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZykpLnRoZW4oYz0+e2MmJmE9PT0iZGlmZiImJihvPWMpfSksZ30sZ2VuZXJhdGUobD17fSl7Y29uc3R7Y2xlYXJTYW1wbGVzOmc9ITB9PWw7cmV0dXJuIGcmJihvPW51bGwpLHllKGUsbCksdGhpc30sZ2V0Q29sb3JzOmw9PlNlKGUsbCksZmluZE5lYXJlc3RDb2xvcjpsPT4obnx8KG49ZWUoZSkpLEllKGUsbixsKSkscmVzZXQ6KCk9PmtlKGUpfTtyZXR1cm4gaS5sZW5ndGgmJihpLmZvckVhY2gobD0+dC5hZGRTYW1wbGUobCkpLGUuc2FtcGxlcz1bXSksdH1jb25zdCBBZT0iW21vZGVybi1naWZdIixFZT0iR0lGIixCZT1bIjg3YSIsIjg5YSJdLHJlPTQ0LG9lPTMzLF9lPTI1NSx2ZT0xMSxNZT0yNTQsYWU9MjQ5LHNlPTQsTmU9MSxVZT0xLE9lPTU5LGxlPSguLi5yKT0+Y29uc29sZS53YXJuKEFlLC4uLnIpO2Z1bmN0aW9uIFBlKHIpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoci5yZWR1Y2UoKGEsaSk9PmEraS5ieXRlTGVuZ3RoLDApKTtyZXR1cm4gci5yZWR1Y2UoKGEsaSk9PihlLnNldChpLGEpLGEraS5ieXRlTGVuZ3RoKSwwKSxlfWZ1bmN0aW9uIGllKHIsZSxhKXtsZXQgaTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcocikpaT1yLmJ1ZmZlcjtlbHNlIGlmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilpPXI7ZWxzZXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHt3aWR0aDpmLGhlaWdodDpvfT1hfHx7fSxuPXMuZ2V0Q29udGV4dCgiMmQiKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2FudmFzIGNvbnRleHQyZCIpO3Mud2lkdGg9ZiE9bnVsbD9mOnR5cGVvZiByLndpZHRoPT0ibnVtYmVyIj9yLndpZHRoOnIud2lkdGguYmFzZVZhbC52YWx1ZSxzLmhlaWdodD1vIT1udWxsP286dHlwZW9mIHIuaGVpZ2h0PT0ibnVtYmVyIj9yLmhlaWdodDpyLmhlaWdodC5iYXNlVmFsLnZhbHVlLG4uZHJhd0ltYWdlKHIsMCwwLHMud2lkdGgscy5oZWlnaHQpLGk9bi5nZXRJbWFnZURhdGEoMCwwLHMud2lkdGgscy5oZWlnaHQpLmRhdGEuYnVmZmVyfXN3aXRjaChlKXtjYXNlInVpbnQ4QXJyYXkiOnJldHVybiBuZXcgVWludDhBcnJheShpKTtjYXNlInVpbnQ4Q2xhbXBlZEFycmF5IjpyZXR1cm4gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGkpO2Nhc2UiZGF0YVZpZXciOnJldHVybiBuZXcgRGF0YVZpZXcoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQiKX19ZnVuY3Rpb24gRGUocixlKXt2YXIgYjtjb25zdHt0b3A6YT0wLGxlZnQ6aT0wLHdpZHRoOnMsaGVpZ2h0OmYscmF3V2lkdGg6byxyYXRlOm49NCxjYWxsYmFjazp0fT1lLGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHMqZipuKSxnPWkqbixjPWEqbixoPXMqbixwPW8qbjtmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgdT0wO3U8aDt1Kyspe2NvbnN0IEM9KGMrZCkqcCsoZyt1KTtsW2QqaCt1XT0oYj10PT1udWxsP3ZvaWQgMDp0KEMpKSE9bnVsbD9iOnJbQ119cmV0dXJuIGx9ZnVuY3Rpb24gJGUocil7Y29uc3QgZT1pZShyLCJkYXRhVmlldyIpO2xldCBhPTA7Y29uc3QgaT0oKT0+ZS5nZXRVaW50OChhKyspLHM9Zj0+QXJyYXkuZnJvbSh7bGVuZ3RoOmZ9KS5tYXAoaSk7cmV0dXJue2dldEN1cnNvcjooKT0+YSxzZXRDdXJzb3I6Zj0+YT1mLHJlYWRCeXRlOmkscmVhZEJ5dGVzOnMscmVhZFN0cmluZzpmPT5TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMoZikpLHJlYWRVbnNpZ25lZDooKT0+W2UuZ2V0VWludDE2KGEsITApLGErPTJdWzBdLHJlYWRCaXRzOigpPT5lLmdldFVpbnQ4KGErKykudG9TdHJpbmcoMikucGFkU3RhcnQoOCwiMCIpLnNwbGl0KCIiKS5tYXAoTnVtYmVyKSxyZWFkQ29sb3JUYWJsZTpmPT5BcnJheS5mcm9tKHtsZW5ndGg6Zn0sKCk9PkFycmF5LmZyb20ocygzKSkpLHJlYWRTdWJCbG9jazooKT0+e2NvbnN0IGY9W107Zm9yKDs7KXtjb25zdCBvPWkoKTtpZihvPT09MCYmZS5nZXRVaW50OChhKSE9PTApYnJlYWs7Zi5wdXNoKG8pfXJldHVybiBmfX19ZnVuY3Rpb24gWGUocil7Y29uc3QgZT17fSx7Z2V0Q3Vyc29yOmEsc2V0Q3Vyc29yOmkscmVhZEJ5dGU6cyxyZWFkU3RyaW5nOmYscmVhZFVuc2lnbmVkOm8scmVhZEJpdHM6bixyZWFkQ29sb3JUYWJsZTp0LHJlYWRTdWJCbG9jazpsfT0kZShyKSxnPSgpPT4oe2luZGV4OjAsZGVsYXk6MTAwLGRpc3Bvc2FsOjB9KSxjPWYoMyksaD1mKDMpO2lmKGMhPT1FZXx8IUJlLmluY2x1ZGVzKGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyBub3QgYSA4N2EvODlhIEdJRiBkYXRhLiIpO2UudmVyc2lvbj1oLGUud2lkdGg9bygpLGUuaGVpZ2h0PW8oKTtjb25zdCBwPW4oKTtlLmdsb2JhbENvbG9yVGFibGU9ISFwWzBdLGUuY29sb3JSZXNvbHVUaW9uPXBhcnNlSW50KHAuc2xpY2UoMSw0KS5qb2luKCIiKSwyKSsxLGUuY29sb3JUYWJsZVNvcnRlZD0hIXBbNF07Y29uc3QgYj1wYXJzZUludChwLnNsaWNlKDUsOCkuam9pbigiIiksMik7ZS5jb2xvclRhYmxlU2l6ZT1NYXRoLnBvdygyLGIrMSksZS5iYWNrZ3JvdW5kQ29sb3JJbmRleD1zKCksZS5waXhlbEFzcGVjdFJhdGlvPXMoKSxlLmdsb2JhbENvbG9yVGFibGUmJihlLmNvbG9yVGFibGVTaXplP2UuY29sb3JUYWJsZT10KGUuY29sb3JUYWJsZVNpemUpOmwoKSksZS5mcmFtZXM9W107bGV0IGQ9ZygpO2NvbnN0IHU9W10sQz1bXTtmb3IoOzspe2NvbnN0IHk9cygpO2lmKHUucHVzaCh5KSx5PT09cmUpe2QubGVmdD1vKCksZC50b3A9bygpLGQud2lkdGg9bygpLGQuaGVpZ2h0PW8oKTtjb25zdCBTPW4oKTtkLmxvY2FsQ29sb3JUYWJsZT0hIVNbMF0sZC5pbnRlcmxhY2VkPSEhU1sxXSxkLmNvbG9yVGFibGVTb3J0ZWQ9ISFTWzJdLGQucmVzZXJ2ZWQ9cGFyc2VJbnQoUy5zbGljZSgzLDUpLmpvaW4oIiIpLDIpO2NvbnN0IHc9cGFyc2VJbnQoUy5zbGljZSg1LDgpLmpvaW4oIiIpLDIpO2ZvcihkLmNvbG9yVGFibGVTaXplPU1hdGgucG93KDIsdysxKSxkLmxvY2FsQ29sb3JUYWJsZSYmKGQuY29sb3JUYWJsZT10KGQuY29sb3JUYWJsZVNpemUpKSxkLmx6d01pbkNvZGVTaXplPXMoKSxkLmltYWdlRGF0YVBvc2l0aW9ucz1bXTs7KXtjb25zdCBtPXMoKTtpZihtPT09MClicmVhaztjb25zdCBJPWEoKTtkLmltYWdlRGF0YVBvc2l0aW9ucy5wdXNoKFtJLG1dKSxpKEkrbSl9ZS5mcmFtZXMucHVzaChkKSxkPWcoKSxkLmluZGV4PWUuZnJhbWVzLmxlbmd0aDtjb250aW51ZX1pZih5PT09b2Upe2NvbnN0IFM9cygpO2lmKEMucHVzaChTKSxTPT09X2Upe2lmKHMoKSE9PXZlKWNvbnRpbnVlO2NvbnN0IHc9e2lkZW50aWZpZXI6Zig4KSxjb2RlOmYoMyksZGF0YTpbXX07YCR7dy5pZGVudGlmaWVyfSR7dy5jb2RlfWA9PSJORVRTQ0FQRTIuMCImJnMoKT09PTMmJihlLmxvb3BlZD0hIXMoKSxlLmxvb3BDb3VudD1vKCkpLHcuZGF0YT1sKCksZC5hcHBsaWNhdGlvbj13O2NvbnRpbnVlfWlmKFM9PT1NZSl7ZC5jb21tZW50PWwoKS5tYXAodz0+U3RyaW5nLmZyb21DaGFyQ29kZSh3KSkuam9pbigiIik7Y29udGludWV9aWYoUz09PWFlKXtpZihzKCkhPT1zZSljb250aW51ZTtjb25zdCB3PW4oKSxtPXtyZXNlcnZlZDpwYXJzZUludCh3LnNsaWNlKDAsMykuam9pbigiIiksMiksZGlzcG9zYWw6cGFyc2VJbnQody5zbGljZSgzLDYpLmpvaW4oIiIpLDIpLHVzZXJJbnB1dDohIXdbNl0sdHJhbnNwYXJlbnQ6ISF3WzddLGRlbGF5VGltZTpvKCksdHJhbnNwYXJlbnRJbmRleDpzKCl9O2woKSxkLmdyYXBoaWNDb250cm9sPW0sZC5kaXNwb3NhbD1tLmRpc3Bvc2FsLGQuZGVsYXk9KG0uZGVsYXlUaW1lfHwxMCkqMTA7Y29udGludWV9aWYoUz09PU5lKXtpZihzKCkhPT1VZSljb250aW51ZTtkLnBsYWluVGV4dD17bGVmdDpvKCksdG9wOm8oKSx3aWR0aDpvKCksaGVpZ2h0Om8oKSxjZWxsV2lkdGg6cygpLGNlbGxIZWlnaHQ6cygpLGNvbG9ySW5kZXg6cygpLGJhY2tncm91bmRDb2xvckluZGV4OnMoKSxkYXRhOmwoKX07Y29udGludWV9bGUoYFVua25vd24gZXh0ZW5zaW9uIGJsb2NrOiAweCR7Uy50b1N0cmluZygxNil9YCx1LnNsaWNlKDAsdS5sZW5ndGgtMSkubWFwKHc9PmAweCR7dy50b1N0cmluZygxNil9YCksQy5zbGljZSgwLEMubGVuZ3RoLTEpLm1hcCh3PT5gMHgke3cudG9TdHJpbmcoMTYpfWApKTtjb250aW51ZX1pZih5PT09T2UpYnJlYWs7bGUoYFVua25vd24gYmxvY2s6IDB4JHt5LnRvU3RyaW5nKDE2KX1gLHUuc2xpY2UoMCx1Lmxlbmd0aC0xKS5tYXAoUz0+YDB4JHtTLnRvU3RyaW5nKDE2KX1gKSxDLnNsaWNlKDAsQy5sZW5ndGgtMSkubWFwKFM9PmAweCR7Uy50b1N0cmluZygxNil9YCkpfXJldHVybiBlfWZ1bmN0aW9uIFJlKHIsZSxhKXtjb25zdCBmPWE7bGV0IG8sbix0LGwsZyxjLGg7Y29uc3QgcD1uZXcgQXJyYXkoYSksYj1uZXcgQXJyYXkoNDA5NiksZD1uZXcgQXJyYXkoNDA5NiksdT1uZXcgQXJyYXkoNDA5NisxKSxDPXIseT0xPDxDLFM9eSsxO2ZvcihvPXkrMixnPS0xLHQ9QysxLG49KDE8PHQpLTEsYz0wO2M8eTtjKyspYltjXT0wLGRbY109YztsZXQgdyxtLEksVCxBLFA7Zm9yKHc9bT1JPVQ9QT1QPTAsaD0wO2g8Zjspe2lmKFQ9PT0wKXtpZihtPHQpe3crPWVbUF08PG0sbSs9OCxQKys7Y29udGludWV9aWYoYz13Jm4sdz4+PXQsbS09dCxjPm98fGM9PT1TKWJyZWFrO2lmKGM9PT15KXt0PUMrMSxuPSgxPDx0KS0xLG89eSsyLGc9LTE7Y29udGludWV9aWYoZz09PS0xKXt1W1QrK109ZFtjXSxnPWMsST1jO2NvbnRpbnVlfWZvcihsPWMsYz09PW8mJih1W1QrK109SSxjPWcpO2M+eTspdVtUKytdPWRbY10sYz1iW2NdO0k9ZFtjXSYyNTUsdVtUKytdPUksbzw0MDk2JiYoYltvXT1nLGRbb109SSxvKyssIShvJm4pJiZvPDQwOTYmJih0Kyssbis9bykpLGc9bH1ULS0scFtBKytdPXVbVF0saCsrfWZvcihoPUE7aDxmO2grKylwW2hdPTA7cmV0dXJuIHB9ZnVuY3Rpb24gTGUocixlKXtjb25zdCBhPW5ldyBBcnJheShyLmxlbmd0aCksaT1yLmxlbmd0aC9lLHM9WzAsNCwyLDFdLGY9WzgsOCw0LDJdO2xldCBvPTA7Zm9yKGxldCBuPTA7bjw0O24rKylmb3IobGV0IHQ9c1tuXTt0PGk7dCs9ZltuXSlhLnNwbGljZS5hcHBseShhLFt0KmUsZV0uY29uY2F0KHIuc2xpY2UobyplLChvKzEpKmUpKSksbysrO3JldHVybiBhfWZ1bmN0aW9uIHplKHIpe2NvbnN0IGU9bmV3IE1hcCx7d29ya2VyVXJsOmF9PXI7bGV0e3dvcmtlck51bWJlcjppPTF9PXI7Y29uc3Qgcz1bLi4ubmV3IEFycmF5KGE/aTowKV0ubWFwKCgpPT57dHJ5e2NvbnN0IHQ9bmV3IFdvcmtlcihhKTtyZXR1cm4gdC5vbm1lc3NhZ2U9Zix0fWNhdGNoKHQpe3JldHVybiBudWxsfX0pLmZpbHRlcihCb29sZWFuKTtpPXMubGVuZ3RoO2Z1bmN0aW9uIGYodCl7dmFyIGM7Y29uc3R7aWQ6bCxkYXRhOmd9PXQuZGF0YTsoYz1lLmdldChsKSk9PW51bGx8fGMoZyksZS5kZWxldGUobCl9Y29uc3Qgbz1mdW5jdGlvbigpe2xldCB0PTA7cmV0dXJuIGw9PnNbKGwhPW51bGw/bDp0KyspJWldfSgpO3JldHVybntjYWxsOmZ1bmN0aW9uKCl7bGV0IHQ9MDtyZXR1cm4obCxnLGMsaCk9Pm5ldyBQcm9taXNlKHA9Pntjb25zdCBiPW8oaCk7aWYoIWIpcmV0dXJuIHAodm9pZCAwKTtlLnNldCh0LHApLGIucG9zdE1lc3NhZ2Uoe2lkOnQrKyx0eXBlOmwsZGF0YTpnfSx7dHJhbnNmZXI6Y30pfSl9KCl9fWZ1bmN0aW9uIEZlKHIsZSl7Y29uc3QgYT1pZShyLCJ1aW50OEFycmF5Iik7aWYoZSE9bnVsbCYmZS53b3JrZXJVcmwpcmV0dXJuIHplKHt3b3JrZXJVcmw6ZS53b3JrZXJVcmx9KS5jYWxsKCJmcmFtZXM6ZGVjb2RlIixhLFthLmJ1ZmZlcl0pO2NvbnN0e2dpZjppPVhlKHIpLHJhbmdlOnN9PWUhPW51bGw/ZTp7fSx7d2lkdGg6ZixoZWlnaHQ6byxjb2xvclRhYmxlOm4sZnJhbWVzOnR9PWksbD1zP3Quc2xpY2Uoc1swXSxzWzFdKzEpOnQsZz1sLnNvbWUoYj0+Yi5kaXNwb3NhbD09PTMpO2xldCBjPW5ldyBVaW50OENsYW1wZWRBcnJheShmKm8qNCksaCxwPWMuc2xpY2UoKTtyZXR1cm4gbC5tYXAoYj0+e3ZhciBmZTtjb25zdHtsZWZ0OmQsdG9wOnUsd2lkdGg6QyxoZWlnaHQ6eSxpbnRlcmxhY2VkOlMsbG9jYWxDb2xvclRhYmxlOncsY29sb3JUYWJsZTptLGx6d01pbkNvZGVTaXplOkksaW1hZ2VEYXRhUG9zaXRpb25zOlQsZ3JhcGhpY0NvbnRyb2w6QSxkZWxheTpQLGRpc3Bvc2FsOmp9PWIsR2U9dSt5LHt0cmFuc3BhcmVudDpIZSx0cmFuc3BhcmVudEluZGV4OnFlfT1BIT1udWxsP0E6e30sWj13P206bixjZT1IZT9xZTotMSxZZT1QZShULm1hcCgoW0UsRF0pPT5hLnN1YmFycmF5KEUsRStEKSkpO2xldCBYPVJlKEksWWUsQyp5KTtpZihTJiYoWD1MZShYLEMpKSxqPT09MylwJiYoYz1wPT1udWxsP3ZvaWQgMDpwLnNsaWNlKCkpO2Vsc2V7Y29uc3QgRT1oPT1udWxsP3ZvaWQgMDpoLmRpc3Bvc2FsO2lmKEU9PT0wfHxFPT09Mil7Y29uc3R7bGVmdDpELHRvcDokLHdpZHRoOk0saGVpZ2h0OlJ9PWgsRz0kK1I7Zm9yKGxldCBVPSQ7VTxHO1UrKyl7Y29uc3QgSD1VKmYrRCxPPShVLSQpKk07Zm9yKGxldCBMPTA7TDxNO0wrKyl7Y29uc3QgSmU9WFtPK0xdO2lmKEU9PT0yfHxKZSE9PWNlKXtjb25zdCB6PShIK0wpKjQ7Y1t6XT1jW3orMV09Y1t6KzJdPWNbeiszXT0wfX19fX1mb3IobGV0IEU9dTtFPEdlO0UrKyl7Y29uc3QgRD1FKmYrZCwkPShFLXUpKkM7Zm9yKGxldCBNPTA7TTxDO00rKyl7Y29uc3QgUj1YWyQrTV07aWYoUiE9PWNlKXtjb25zdFtHLFUsSF09KGZlPVo9PW51bGw/dm9pZCAwOlpbUl0pIT1udWxsP2ZlOlswLDAsMF0sTz0oRCtNKSo0O2NbT109RyxjW08rMV09VSxjW08rMl09SCxjW08rM109MjU1fX19cmV0dXJuIGcmJihqPT09MHx8aj09PTEpJiYocD1jLnNsaWNlKCkpLGg9Yix7d2lkdGg6ZixoZWlnaHQ6byxkZWxheTpQLGltYWdlRGF0YTpjLnNsaWNlKCl9fSl9ZnVuY3Rpb24gV2UocixlLGEpe2NvbnN0e3dyaXRlQnl0ZTppLGdldEN1cnNvcjpzLGNhbGN1bGF0ZURpc3RhbmNlOmZ9PWE7aShyKTtsZXQgbz1zKCk7aSgwKTtjb25zdCBuPTE8PHIsdD1uLTEsbD1uKzE7bGV0IGc9bCsxLGM9cisxLGg9MCxwPTA7ZnVuY3Rpb24gYihtKXtmb3IoO2g+PW07KWkocCYyNTUpLHA+Pj04LGgtPTgsZihvKT09PTI1NiYmKGkoMjU1LG8pLG89cygpLGkoMCkpfWZ1bmN0aW9uIGQobSl7cHw9bTw8aCxoKz1jLGIoOCl9bGV0IHU9ZVswXSZ0LEM9e30seSxTLHc7ZChuKTtmb3IobGV0IG09ZS5sZW5ndGgsST0xO0k8bTsrK0kpaWYodz1lW0ldJnQseT11PDw4fHcsUz1DW3ldLFM9PT12b2lkIDApe2ZvcihwfD11PDxoLGgrPWM7aD49ODspaShwJjI1NSkscD4+PTgsaC09OCxmKG8pPT09MjU2JiYoaSgyNTUsbyksbz1zKCksaSgwKSk7Zz09PTQwOTY/KGQobiksZz1sKzEsYz1yKzEsQz17fSk6KGc+PTE8PGMmJisrYyxDW3ldPWcrKyksdT13fWVsc2UgdT1TO2QodSksZChsKSxiKDEpLGYobyk9PT0xP2koMCxvKTooaShmKG8pLTEsbyksaSgwKSl9ZnVuY3Rpb24gS2Uocj17fSl7Y29uc3R7Y2h1bmtTaXplOmU9NDA5Nn09cjtsZXQgYT1bbmV3IFVpbnQ4QXJyYXkoZSldLGk9MCxzPTA7Y29uc3QgZj0obix0KT0+e3Q/YVt0WzBdXVt0WzFdXT1uOihzPj1lJiYoYVsrK2ldPW5ldyBVaW50OEFycmF5KGUpLHM9MCksYVtpXVtzKytdPW4pfSxvPW49Pm4uZm9yRWFjaCh0PT5mKHQpKTtyZXR1cm57Z2V0Q3Vyc29yOigpPT5baSxzXSxzZXRDdXJzb3I6bj0+e2k9blswXSxzPW5bMV19LGNhbGN1bGF0ZURpc3RhbmNlOm49PmkqZStzLShuWzBdKmUrblsxXSksd3JpdGVCeXRlOmYsd3JpdGVCeXRlczpvLHdyaXRlU3RyaW5nOm49Pm4uc3BsaXQoIiIpLmZvckVhY2goKHQsbCk9PmYobi5jaGFyQ29kZUF0KGwpKSksd3JpdGVVbnNpZ25lZDpuPT5vKFtuJjI1NSxuPj44JjI1NV0pLGZsdXNoOigpPT57YVtpXT1hW2ldLnNsaWNlKDAscyk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShhLnJlZHVjZSgobCxnKT0+bCtnLmJ5dGVMZW5ndGgsMCkpO2xldCB0PTA7cmV0dXJuIGEuZm9yRWFjaChsPT57bi5zZXQobCx0KSx0Kz1sLmJ5dGVMZW5ndGh9KSxhPVtuZXcgVWludDhBcnJheShlKV0saT0wLHM9MCxufX19ZnVuY3Rpb24gVmUocil7dmFyIEMseSxTO2NvbnN0IGU9S2UoKSx7d3JpdGVCeXRlOmEsd3JpdGVCeXRlczppLHdyaXRlVW5zaWduZWQ6cyxmbHVzaDpmfT1lLHtsZWZ0Om89MCx0b3A6bj0wLHdpZHRoOnQ9MCxoZWlnaHQ6bD0wLGRlbGF5Omc9MTAwLGNvbG9yVGFibGU6Y309cjtsZXR7ZGlzcG9zYWw6aD0wfT1yO2NvbnN0IHA9KEM9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOkMudHJhbnNwYXJlbnQ7bGV0IGI9KFM9KHk9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnRJbmRleCkhPW51bGw/UzoyNTU7aWYobzwwfHxvPjY1NTM1KXRocm93IG5ldyBFcnJvcigiTGVmdCBpbnZhbGlkLiIpO2lmKG48MHx8bj42NTUzNSl0aHJvdyBuZXcgRXJyb3IoIlRvcCBpbnZhbGlkLiIpO2lmKHQ8PTB8fHQ+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJXaWR0aCBpbnZhbGlkLiIpO2lmKGw8PTB8fGw+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJIZWlnaHQgaW52YWxpZC4iKTtsZXQgZD04LHU9Yz9jLmxlbmd0aDowO2lmKHUpe2lmKHU8Mnx8dT4yNTZ8fHUmdS0xKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciB0YWJsZSBsZW5ndGgsIG11c3QgYmUgcG93ZXIgb2YgMiBhbmQgMiAuLiAyNTYuIik7Zm9yKDt1Pj49MTspKytkfXJldHVybiBhKG9lKSxhKGFlKSxhKHNlKSxwP2h8fChoPTIpOmI9MCxhKHBhcnNlSW50KGAwMDAke051bWJlcihoJjcpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDMsIjAiKX0wJHtwPzE6MH1gLDIpKSxzKGcvMTApLGEoYiksYSgwKSxhKHJlKSxzKG8pLHMobikscyh0KSxzKGwpLGMhPW51bGwmJmMubGVuZ3RoPyhhKHBhcnNlSW50KGAxMDAwMCR7KGQtMSkudG9TdHJpbmcoMikucGFkU3RhcnQoMywiMCIpfWAsMikpLGkoYy5mbGF0KCkpKTphKDApLFdlKGQsci5pbWFnZURhdGEsZSksZigpfWZ1bmN0aW9uIGplKHIpe2NvbnN0e2ZyYW1lczplLHBhbGV0dGU6YSx0cmFuc3BhcmVudEluZGV4Oml9PXIscz1lZShhKTtyZXR1cm4gZS5tYXAoKHtpbWFnZURhdGE6Zn0pPT57bGV0IG89ITE7Y29uc3Qgbj1uZXcgVWludDhDbGFtcGVkQXJyYXkoZi5sZW5ndGgvNCk7Zm9yKGxldCB0PWYubGVuZ3RoLGw9MDtsPHQ7bCs9NClmW2wrM109PT0wPyhuW2wvNF09aSxvPSEwKTpuW2wvNF09cyhmW2xdPDwxNnxmW2wrMV08PDh8ZltsKzJdKTtyZXR1cm57aW1hZ2VEYXRhOm4sdHJhbnNwYXJlbnQ6b319KX1mdW5jdGlvbiBaZShyKXtjb25zdHtmcmFtZXM6ZSx0cmFuc3BhcmVudEluZGV4OmF9PXI7bGV0IGk7cmV0dXJuIGUubWFwKChzLGYpPT57dmFyIHksUztjb25zdHt3aWR0aDpvLGhlaWdodDpuLGltYWdlRGF0YTp0fT1zLGw9cy50cmFuc3BhcmVudHx8KChTPSh5PWVbZisxXSk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnQpIT1udWxsP1M6ITApO2xldCBnPTAsYz0wLGg9by0xLHA9bi0xLGI7aWYobCl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypjK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypwK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztwLS19Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2ddIT09YSl7dz0hMTticmVha31pZighdylicmVhaztnKyt9Zm9yKDtoPmc7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2hdIT09YSl7dz0hMTticmVha31pZighdylicmVhaztoLS19fWVsc2V7aWYoaSl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qYyttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qcCttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztwLS19aWYoYz09PXApZz1oO2Vsc2V7Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPD1wO20rKyl7Y29uc3QgST1tKm8rZztpZih0W0ldIT09aVtJXSl7dz0hMTticmVha319aWYoIXcpYnJlYWs7ZysrfWZvcig7aD5nOyl7bGV0IHc9ITA7Zm9yKGxldCBtPWM7bTw9cDttKyspe2NvbnN0IEk9bSpvK2g7aWYodFtJXSE9PWlbSV0pe3c9ITE7YnJlYWt9fWlmKCF3KWJyZWFrO2gtLX19fWI9aSxpPXR9Y29uc3QgZD1oKzEtZyx1PXArMS1jLEM9RGUodCx7bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUscmF3V2lkdGg6byxyYXRlOjEsY2FsbGJhY2s6dz0+e2lmKCFsJiZiJiZ0W3ddPT09Ylt3XSlyZXR1cm4gYX19KTtyZXR1cm57bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUsZGlzcG9zYWw6bD8yOjEsaW1hZ2VEYXRhOkN9fSl9Y29uc3QgTj1UZSh7c2tpcFRyYW5zcGFyZW50OiExfSk7c2VsZi5vbm1lc3NhZ2U9cj0+e2NvbnN0e2lkOmUsdHlwZTphLGRhdGE6aX09ci5kYXRhO2lmKGE9PT0icGFsZXR0ZTphZGRTYW1wbGUiJiZOKXJldHVybiBOLmFkZFNhbXBsZShpKSxzZWxmLnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6YSxkYXRhOiEwfSk7aWYoYT09PSJwYWxldHRlOmdlbmVyYXRlIiYmTil7Ti5nZW5lcmF0ZShpKTtjb25zdCBzPXEoe30sTi5jb250ZXh0KTtyZXR1cm4gTi5yZXNldCgpLHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30pfWlmKGE9PT0iZnJhbWVzOmluZGV4Iil7Y29uc3Qgcz1qZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lczpjcm9wIil7Y29uc3Qgcz1aZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lOmVuY29kZSIpe2NvbnN0IHM9VmUoaSk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30sW3MuYnVmZmVyXSl9aWYoYT09PSJmcmFtZXM6ZGVjb2RlIil7Y29uc3Qgcz1GZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX19fSkoKTsK", hn = (e) => Se(void 0, null, function* () {
|
|
2484
2495
|
const {
|
|
2485
2496
|
perFrameTime: n = 1e3 / 24,
|
|
2486
2497
|
gif: d,
|
|
2487
|
-
images:
|
|
2498
|
+
images: p,
|
|
2488
2499
|
autoSize: f = !0
|
|
2489
2500
|
} = e, M = fe({}, d), m = [];
|
|
2490
2501
|
if (f) {
|
|
2491
|
-
const w = (d == null ? void 0 : d.width) || Math.min(...
|
|
2502
|
+
const w = (d == null ? void 0 : d.width) || Math.min(...p.map((Y) => Y.width)), x = (d == null ? void 0 : d.height) || Math.min(...p.map((Y) => Y.height));
|
|
2492
2503
|
M.width = w, M.height = x;
|
|
2493
2504
|
}
|
|
2494
|
-
|
|
2505
|
+
p.forEach((w) => {
|
|
2495
2506
|
m.push({
|
|
2496
2507
|
imageData: w,
|
|
2497
2508
|
delay: n
|
|
2498
2509
|
});
|
|
2499
2510
|
});
|
|
2500
|
-
const
|
|
2501
|
-
workerUrl:
|
|
2511
|
+
const a = yield Nr({
|
|
2512
|
+
workerUrl: Ir,
|
|
2502
2513
|
width: M.width || 200,
|
|
2503
2514
|
height: M.height || 200,
|
|
2504
2515
|
maxColors: 255,
|
|
2505
2516
|
frames: m
|
|
2506
2517
|
});
|
|
2507
|
-
return new Blob([
|
|
2508
|
-
}),
|
|
2518
|
+
return new Blob([a], { type: "image/gif" });
|
|
2519
|
+
}), Cr = {
|
|
2509
2520
|
formatter(e) {
|
|
2510
2521
|
return !!e;
|
|
2511
2522
|
},
|
|
2512
2523
|
normalize(e) {
|
|
2513
2524
|
return e ? "true" : void 0;
|
|
2514
2525
|
}
|
|
2515
|
-
},
|
|
2516
|
-
|
|
2526
|
+
}, Dr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(
|
|
2527
|
+
Lt,
|
|
2517
2528
|
{
|
|
2518
|
-
desktop: /* @__PURE__ */
|
|
2529
|
+
desktop: /* @__PURE__ */ h.createElement(
|
|
2519
2530
|
Qt,
|
|
2520
2531
|
{
|
|
2521
2532
|
mode: de.DESKTOP,
|
|
2522
2533
|
nodePath: e
|
|
2523
2534
|
}
|
|
2524
2535
|
),
|
|
2525
|
-
mobile: /* @__PURE__ */
|
|
2536
|
+
mobile: /* @__PURE__ */ h.createElement(
|
|
2526
2537
|
Qt,
|
|
2527
2538
|
{
|
|
2528
2539
|
mode: de.MOBILE,
|
|
@@ -2535,7 +2546,7 @@ function Qt({
|
|
|
2535
2546
|
nodePath: e,
|
|
2536
2547
|
mode: n
|
|
2537
2548
|
}) {
|
|
2538
|
-
const { onUpload: d } =
|
|
2549
|
+
const { onUpload: d } = ut(), { setFieldValue: p } = Je(), { selectedNode: f } = ke(), { setLock: M } = mt(), [m, a] = Fe(!1), u = h.useRef();
|
|
2539
2550
|
u.current || (u.current = De(f)), Ue(() => {
|
|
2540
2551
|
var x;
|
|
2541
2552
|
_e((x = u.current) == null ? void 0 : x.data.list, f == null ? void 0 : f.data.list) ? M(!1) : M(!0);
|
|
@@ -2543,16 +2554,16 @@ function Qt({
|
|
|
2543
2554
|
const w = () => Se(this, null, function* () {
|
|
2544
2555
|
if (f)
|
|
2545
2556
|
try {
|
|
2546
|
-
|
|
2557
|
+
a(!0);
|
|
2547
2558
|
const x = yield Promise.all(
|
|
2548
|
-
f.data.list.filter((W) => W.src).map((W) =>
|
|
2549
|
-
), Y = yield
|
|
2559
|
+
f.data.list.filter((W) => W.src).map((W) => $t(W.src))
|
|
2560
|
+
), Y = yield hn({
|
|
2550
2561
|
images: x,
|
|
2551
2562
|
perFrameTime: 1e3
|
|
2552
2563
|
}), G = yield d == null ? void 0 : d(
|
|
2553
2564
|
new File([Y], "shopwindow.gif", { type: "image/gif" })
|
|
2554
2565
|
);
|
|
2555
|
-
|
|
2566
|
+
p(
|
|
2556
2567
|
e,
|
|
2557
2568
|
n === de.DESKTOP ? "attributes.src" : "mobileAttributes.src",
|
|
2558
2569
|
G
|
|
@@ -2564,37 +2575,37 @@ function Qt({
|
|
|
2564
2575
|
G
|
|
2565
2576
|
), u.current = z;
|
|
2566
2577
|
} catch (x) {
|
|
2567
|
-
console.error(x),
|
|
2578
|
+
console.error(x), dt.error(String(x));
|
|
2568
2579
|
} finally {
|
|
2569
|
-
|
|
2580
|
+
a(!1);
|
|
2570
2581
|
}
|
|
2571
2582
|
});
|
|
2572
|
-
return f ? /* @__PURE__ */
|
|
2583
|
+
return f ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
|
|
2573
2584
|
ue.Item,
|
|
2574
2585
|
{
|
|
2575
2586
|
name: "3",
|
|
2576
2587
|
header: X("Image"),
|
|
2577
|
-
extra: /* @__PURE__ */
|
|
2588
|
+
extra: /* @__PURE__ */ h.createElement(ct, { loading: m, type: "primary", onClick: w }, X("Save as gif"))
|
|
2578
2589
|
},
|
|
2579
|
-
/* @__PURE__ */
|
|
2590
|
+
/* @__PURE__ */ h.createElement(
|
|
2580
2591
|
R.EditPanelTabsField,
|
|
2581
2592
|
{
|
|
2582
2593
|
path: e,
|
|
2583
2594
|
tabPosition: "top",
|
|
2584
2595
|
name: "data.list",
|
|
2585
2596
|
label: "",
|
|
2586
|
-
renderItem: (x, Y) => /* @__PURE__ */
|
|
2597
|
+
renderItem: (x, Y) => /* @__PURE__ */ h.createElement(Gr, { index: Y, path: e }),
|
|
2587
2598
|
renderHeader: (x, Y) => x.content || X("Image") + " " + (Y + 1)
|
|
2588
2599
|
}
|
|
2589
2600
|
)
|
|
2590
|
-
), /* @__PURE__ */
|
|
2601
|
+
), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Image settings") }, /* @__PURE__ */ h.createElement(
|
|
2591
2602
|
B,
|
|
2592
2603
|
{
|
|
2593
2604
|
component: R.Link,
|
|
2594
2605
|
path: e,
|
|
2595
2606
|
name: "href"
|
|
2596
2607
|
}
|
|
2597
|
-
), /* @__PURE__ */
|
|
2608
|
+
), /* @__PURE__ */ h.createElement(
|
|
2598
2609
|
B,
|
|
2599
2610
|
{
|
|
2600
2611
|
component: R.TextField,
|
|
@@ -2603,51 +2614,51 @@ function Qt({
|
|
|
2603
2614
|
label: X("Alt text"),
|
|
2604
2615
|
placeholder: X("Brief description of your image")
|
|
2605
2616
|
}
|
|
2606
|
-
), /* @__PURE__ */
|
|
2617
|
+
), /* @__PURE__ */ h.createElement(
|
|
2607
2618
|
B,
|
|
2608
2619
|
{
|
|
2609
2620
|
component: R.SwitchField,
|
|
2610
2621
|
path: e,
|
|
2611
2622
|
name: "fluid-on-mobile",
|
|
2612
2623
|
label: X("Full width on mobile"),
|
|
2613
|
-
formItem:
|
|
2624
|
+
formItem: Cr
|
|
2614
2625
|
}
|
|
2615
|
-
)), /* @__PURE__ */
|
|
2626
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
|
|
2616
2627
|
B,
|
|
2617
2628
|
{
|
|
2618
2629
|
component: R.ImageWidth,
|
|
2619
2630
|
path: e,
|
|
2620
2631
|
name: "width"
|
|
2621
2632
|
}
|
|
2622
|
-
), /* @__PURE__ */
|
|
2633
|
+
), /* @__PURE__ */ h.createElement(
|
|
2623
2634
|
B,
|
|
2624
2635
|
{
|
|
2625
2636
|
component: R.Height,
|
|
2626
2637
|
path: e,
|
|
2627
2638
|
name: "height"
|
|
2628
2639
|
}
|
|
2629
|
-
), /* @__PURE__ */
|
|
2640
|
+
), /* @__PURE__ */ h.createElement(
|
|
2630
2641
|
B,
|
|
2631
2642
|
{
|
|
2632
2643
|
component: R.Padding,
|
|
2633
2644
|
path: e,
|
|
2634
2645
|
name: ""
|
|
2635
2646
|
}
|
|
2636
|
-
)), /* @__PURE__ */
|
|
2647
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Border") }, /* @__PURE__ */ h.createElement(
|
|
2637
2648
|
B,
|
|
2638
2649
|
{
|
|
2639
2650
|
component: R.Border,
|
|
2640
2651
|
path: e,
|
|
2641
2652
|
name: ""
|
|
2642
2653
|
}
|
|
2643
|
-
)), /* @__PURE__ */
|
|
2654
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "4", header: X("Block") }, /* @__PURE__ */ h.createElement(
|
|
2644
2655
|
B,
|
|
2645
2656
|
{
|
|
2646
2657
|
component: R.BackgroundColor,
|
|
2647
2658
|
path: e,
|
|
2648
2659
|
name: "container-background-color"
|
|
2649
2660
|
}
|
|
2650
|
-
), /* @__PURE__ */
|
|
2661
|
+
), /* @__PURE__ */ h.createElement(
|
|
2651
2662
|
B,
|
|
2652
2663
|
{
|
|
2653
2664
|
component: R.TextAlign,
|
|
@@ -2657,33 +2668,15 @@ function Qt({
|
|
|
2657
2668
|
}
|
|
2658
2669
|
))) : null;
|
|
2659
2670
|
}
|
|
2660
|
-
function
|
|
2661
|
-
return /* @__PURE__ */
|
|
2671
|
+
function Gr({ index: e, path: n }) {
|
|
2672
|
+
return /* @__PURE__ */ h.createElement("div", { style: { paddingTop: 20 } }, /* @__PURE__ */ h.createElement(R.ImageUrl, { path: n, name: `data.list.[${e}].src` }));
|
|
2662
2673
|
}
|
|
2663
|
-
const
|
|
2664
|
-
|
|
2665
|
-
{
|
|
2666
|
-
desktop: /* @__PURE__ */ p.createElement(
|
|
2667
|
-
Bt,
|
|
2668
|
-
{
|
|
2669
|
-
mode: de.DESKTOP,
|
|
2670
|
-
nodePath: e
|
|
2671
|
-
}
|
|
2672
|
-
),
|
|
2673
|
-
mobile: /* @__PURE__ */ p.createElement(
|
|
2674
|
-
Bt,
|
|
2675
|
-
{
|
|
2676
|
-
mode: de.MOBILE,
|
|
2677
|
-
nodePath: e
|
|
2678
|
-
}
|
|
2679
|
-
)
|
|
2680
|
-
}
|
|
2681
|
-
));
|
|
2682
|
-
function Bt({
|
|
2674
|
+
const Lr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(Er, { mode: de.DESKTOP, nodePath: e }));
|
|
2675
|
+
function Er({
|
|
2683
2676
|
nodePath: e,
|
|
2684
2677
|
mode: n
|
|
2685
2678
|
}) {
|
|
2686
|
-
const d = Et(), { onUpload:
|
|
2679
|
+
const d = Et(), { onUpload: p } = ut(), { setFieldValue: f } = Je(), { selectedNode: M } = ke(), { setLock: m } = mt(), [a, u] = Fe(!1), w = h.useRef();
|
|
2687
2680
|
w.current || (w.current = De(M)), Ue(() => {
|
|
2688
2681
|
_e(w.current, M) ? m(!1) : m(!0);
|
|
2689
2682
|
}, [M, m]);
|
|
@@ -2691,7 +2684,7 @@ function Bt({
|
|
|
2691
2684
|
if (M)
|
|
2692
2685
|
try {
|
|
2693
2686
|
u(!0);
|
|
2694
|
-
const Y =
|
|
2687
|
+
const Y = tn.toDOMNode(d, M), G = [], z = M.data;
|
|
2695
2688
|
let W = z.remainingTime;
|
|
2696
2689
|
switch (z.unit) {
|
|
2697
2690
|
case "minute":
|
|
@@ -2705,9 +2698,9 @@ function Bt({
|
|
|
2705
2698
|
}
|
|
2706
2699
|
const T = 60 * 2;
|
|
2707
2700
|
for (let te = 0; te < T; te++) {
|
|
2708
|
-
const { day: $, hour: P, minute: L, second: se } =
|
|
2701
|
+
const { day: $, hour: P, minute: L, second: se } = nn(
|
|
2709
2702
|
W -= 1
|
|
2710
|
-
), be = yield
|
|
2703
|
+
), be = yield an(Y, {
|
|
2711
2704
|
wrapper(Le) {
|
|
2712
2705
|
const we = document.createElement("table");
|
|
2713
2706
|
return we.style.width = "100%", we.border = "0", we.cellPadding = "0", we.cellSpacing = "0", we.role = "presentation", we.style.verticalAlign = "top", we.appendChild(Le), we;
|
|
@@ -2731,13 +2724,13 @@ function Bt({
|
|
|
2731
2724
|
innerText: se
|
|
2732
2725
|
}
|
|
2733
2726
|
]
|
|
2734
|
-
}), ve = yield
|
|
2727
|
+
}), ve = yield rn(be);
|
|
2735
2728
|
G.push(ve);
|
|
2736
2729
|
}
|
|
2737
|
-
const O = yield
|
|
2730
|
+
const O = yield hn({
|
|
2738
2731
|
images: G,
|
|
2739
2732
|
perFrameTime: 1e3
|
|
2740
|
-
}), _ = yield
|
|
2733
|
+
}), _ = yield p == null ? void 0 : p(
|
|
2741
2734
|
new File([O], "countdown.gif", { type: "image/gif" })
|
|
2742
2735
|
);
|
|
2743
2736
|
f(
|
|
@@ -2752,19 +2745,19 @@ function Bt({
|
|
|
2752
2745
|
_
|
|
2753
2746
|
), w.current = ie;
|
|
2754
2747
|
} catch (Y) {
|
|
2755
|
-
console.error(Y),
|
|
2748
|
+
console.error(Y), dt.error(String(Y));
|
|
2756
2749
|
} finally {
|
|
2757
2750
|
u(!1);
|
|
2758
2751
|
}
|
|
2759
2752
|
});
|
|
2760
|
-
return M ? /* @__PURE__ */
|
|
2753
|
+
return M ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
|
|
2761
2754
|
ue.Item,
|
|
2762
2755
|
{
|
|
2763
2756
|
name: "0",
|
|
2764
2757
|
header: X("Image"),
|
|
2765
|
-
extra: /* @__PURE__ */
|
|
2758
|
+
extra: /* @__PURE__ */ h.createElement(ct, { loading: a, type: "primary", onClick: x }, X("Save as gif"))
|
|
2766
2759
|
},
|
|
2767
|
-
/* @__PURE__ */
|
|
2760
|
+
/* @__PURE__ */ h.createElement(
|
|
2768
2761
|
B,
|
|
2769
2762
|
{
|
|
2770
2763
|
component: R.ImageUrl,
|
|
@@ -2776,7 +2769,7 @@ function Bt({
|
|
|
2776
2769
|
colSpan: 24
|
|
2777
2770
|
}
|
|
2778
2771
|
)
|
|
2779
|
-
), /* @__PURE__ */
|
|
2772
|
+
), /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Settings") }, /* @__PURE__ */ h.createElement(je.Row, null, /* @__PURE__ */ h.createElement(je.Col, { span: 14, style: { textAlign: "right" } }, /* @__PURE__ */ h.createElement(
|
|
2780
2773
|
R.NumberField,
|
|
2781
2774
|
{
|
|
2782
2775
|
name: "data.remainingTime",
|
|
@@ -2792,7 +2785,7 @@ function Bt({
|
|
|
2792
2785
|
}
|
|
2793
2786
|
}
|
|
2794
2787
|
}
|
|
2795
|
-
)), /* @__PURE__ */
|
|
2788
|
+
)), /* @__PURE__ */ h.createElement(je.Col, { span: 10 }, /* @__PURE__ */ h.createElement(
|
|
2796
2789
|
R.SelectField,
|
|
2797
2790
|
{
|
|
2798
2791
|
name: "data.unit",
|
|
@@ -2817,7 +2810,7 @@ function Bt({
|
|
|
2817
2810
|
}
|
|
2818
2811
|
]
|
|
2819
2812
|
}
|
|
2820
|
-
)))), /* @__PURE__ */
|
|
2813
|
+
)))), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Colors") }, /* @__PURE__ */ h.createElement(
|
|
2821
2814
|
B,
|
|
2822
2815
|
{
|
|
2823
2816
|
component: R.ColorPickerField,
|
|
@@ -2825,7 +2818,7 @@ function Bt({
|
|
|
2825
2818
|
name: "color",
|
|
2826
2819
|
label: X("Text color")
|
|
2827
2820
|
}
|
|
2828
|
-
), /* @__PURE__ */
|
|
2821
|
+
), /* @__PURE__ */ h.createElement(
|
|
2829
2822
|
R.SyncChildrenField,
|
|
2830
2823
|
{
|
|
2831
2824
|
path: e,
|
|
@@ -2833,7 +2826,7 @@ function Bt({
|
|
|
2833
2826
|
name: "color",
|
|
2834
2827
|
childrenFieldName: "color"
|
|
2835
2828
|
}
|
|
2836
|
-
), /* @__PURE__ */
|
|
2829
|
+
), /* @__PURE__ */ h.createElement(
|
|
2837
2830
|
B,
|
|
2838
2831
|
{
|
|
2839
2832
|
component: R.ColorPickerField,
|
|
@@ -2841,7 +2834,7 @@ function Bt({
|
|
|
2841
2834
|
name: "shadow-color",
|
|
2842
2835
|
label: X("Shadow color")
|
|
2843
2836
|
}
|
|
2844
|
-
), /* @__PURE__ */
|
|
2837
|
+
), /* @__PURE__ */ h.createElement(
|
|
2845
2838
|
B,
|
|
2846
2839
|
{
|
|
2847
2840
|
component: R.ColorPickerField,
|
|
@@ -2849,7 +2842,7 @@ function Bt({
|
|
|
2849
2842
|
name: "grid-color",
|
|
2850
2843
|
label: X("Grid color")
|
|
2851
2844
|
}
|
|
2852
|
-
), /* @__PURE__ */
|
|
2845
|
+
), /* @__PURE__ */ h.createElement(
|
|
2853
2846
|
B,
|
|
2854
2847
|
{
|
|
2855
2848
|
component: R.ColorPickerField,
|
|
@@ -2857,7 +2850,7 @@ function Bt({
|
|
|
2857
2850
|
name: "background-color",
|
|
2858
2851
|
label: X("Background color")
|
|
2859
2852
|
}
|
|
2860
|
-
)), /* @__PURE__ */
|
|
2853
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
|
|
2861
2854
|
B,
|
|
2862
2855
|
{
|
|
2863
2856
|
component: R.Padding,
|
|
@@ -2869,16 +2862,16 @@ function Bt({
|
|
|
2869
2862
|
function Wr(e) {
|
|
2870
2863
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
2871
2864
|
}
|
|
2872
|
-
var
|
|
2865
|
+
var pn = { exports: {} };
|
|
2873
2866
|
(function(e, n) {
|
|
2874
|
-
(function(d,
|
|
2875
|
-
e.exports =
|
|
2867
|
+
(function(d, p) {
|
|
2868
|
+
e.exports = p();
|
|
2876
2869
|
})(self, function() {
|
|
2877
2870
|
return (() => {
|
|
2878
2871
|
var d = { 192: (M, m) => {
|
|
2879
|
-
var
|
|
2872
|
+
var a, u, w = function() {
|
|
2880
2873
|
var x = function(k, C) {
|
|
2881
|
-
var D = k, I = O[C], v = null, K = 0, F = null, j = [], U = {}, ge = function(
|
|
2874
|
+
var D = k, I = O[C], v = null, K = 0, F = null, j = [], U = {}, ge = function(s, c) {
|
|
2882
2875
|
v = function(i) {
|
|
2883
2876
|
for (var y = new Array(i), S = 0; S < i; S += 1) {
|
|
2884
2877
|
y[S] = new Array(i);
|
|
@@ -2886,58 +2879,58 @@ var bn = { exports: {} };
|
|
|
2886
2879
|
y[S][V] = null;
|
|
2887
2880
|
}
|
|
2888
2881
|
return y;
|
|
2889
|
-
}(K = 4 * D + 17), Z(0, 0), Z(K - 7, 0), Z(0, K - 7), o(), t(), l(
|
|
2890
|
-
}, Z = function(
|
|
2882
|
+
}(K = 4 * D + 17), Z(0, 0), Z(K - 7, 0), Z(0, K - 7), o(), t(), l(s, c), D >= 7 && r(s), F == null && (F = b(D, I, j)), g(F, c);
|
|
2883
|
+
}, Z = function(s, c) {
|
|
2891
2884
|
for (var i = -1; i <= 7; i += 1)
|
|
2892
|
-
if (!(
|
|
2885
|
+
if (!(s + i <= -1 || K <= s + i))
|
|
2893
2886
|
for (var y = -1; y <= 7; y += 1)
|
|
2894
|
-
c + y <= -1 || K <= c + y || (v[
|
|
2887
|
+
c + y <= -1 || K <= c + y || (v[s + i][c + y] = 0 <= i && i <= 6 && (y == 0 || y == 6) || 0 <= y && y <= 6 && (i == 0 || i == 6) || 2 <= i && i <= 4 && 2 <= y && y <= 4);
|
|
2895
2888
|
}, t = function() {
|
|
2896
|
-
for (var
|
|
2897
|
-
v[
|
|
2889
|
+
for (var s = 8; s < K - 8; s += 1)
|
|
2890
|
+
v[s][6] == null && (v[s][6] = s % 2 == 0);
|
|
2898
2891
|
for (var c = 8; c < K - 8; c += 1)
|
|
2899
2892
|
v[6][c] == null && (v[6][c] = c % 2 == 0);
|
|
2900
2893
|
}, o = function() {
|
|
2901
|
-
for (var
|
|
2902
|
-
for (var i = 0; i <
|
|
2903
|
-
var y =
|
|
2894
|
+
for (var s = _.getPatternPosition(D), c = 0; c < s.length; c += 1)
|
|
2895
|
+
for (var i = 0; i < s.length; i += 1) {
|
|
2896
|
+
var y = s[c], S = s[i];
|
|
2904
2897
|
if (v[y][S] == null)
|
|
2905
2898
|
for (var V = -2; V <= 2; V += 1)
|
|
2906
2899
|
for (var A = -2; A <= 2; A += 1)
|
|
2907
2900
|
v[y + V][S + A] = V == -2 || V == 2 || A == -2 || A == 2 || V == 0 && A == 0;
|
|
2908
2901
|
}
|
|
2909
|
-
}, r = function(
|
|
2902
|
+
}, r = function(s) {
|
|
2910
2903
|
for (var c = _.getBCHTypeNumber(D), i = 0; i < 18; i += 1) {
|
|
2911
|
-
var y = !
|
|
2904
|
+
var y = !s && (c >> i & 1) == 1;
|
|
2912
2905
|
v[Math.floor(i / 3)][i % 3 + K - 8 - 3] = y;
|
|
2913
2906
|
}
|
|
2914
2907
|
for (i = 0; i < 18; i += 1)
|
|
2915
|
-
y = !
|
|
2916
|
-
}, l = function(
|
|
2908
|
+
y = !s && (c >> i & 1) == 1, v[i % 3 + K - 8 - 3][Math.floor(i / 3)] = y;
|
|
2909
|
+
}, l = function(s, c) {
|
|
2917
2910
|
for (var i = I << 3 | c, y = _.getBCHTypeInfo(i), S = 0; S < 15; S += 1) {
|
|
2918
|
-
var V = !
|
|
2911
|
+
var V = !s && (y >> S & 1) == 1;
|
|
2919
2912
|
S < 6 ? v[S][8] = V : S < 8 ? v[S + 1][8] = V : v[K - 15 + S][8] = V;
|
|
2920
2913
|
}
|
|
2921
2914
|
for (S = 0; S < 15; S += 1)
|
|
2922
|
-
V = !
|
|
2923
|
-
v[K - 8][8] = !
|
|
2924
|
-
}, g = function(
|
|
2915
|
+
V = !s && (y >> S & 1) == 1, S < 8 ? v[8][K - S - 1] = V : S < 9 ? v[8][15 - S - 1 + 1] = V : v[8][15 - S - 1] = V;
|
|
2916
|
+
v[K - 8][8] = !s;
|
|
2917
|
+
}, g = function(s, c) {
|
|
2925
2918
|
for (var i = -1, y = K - 1, S = 7, V = 0, A = _.getMaskFunction(c), E = K - 1; E > 0; E -= 2)
|
|
2926
2919
|
for (E == 6 && (E -= 1); ; ) {
|
|
2927
2920
|
for (var J = 0; J < 2; J += 1)
|
|
2928
2921
|
if (v[y][E - J] == null) {
|
|
2929
2922
|
var Q = !1;
|
|
2930
|
-
V <
|
|
2923
|
+
V < s.length && (Q = (s[V] >>> S & 1) == 1), A(y, E - J) && (Q = !Q), v[y][E - J] = Q, (S -= 1) == -1 && (V += 1, S = 7);
|
|
2931
2924
|
}
|
|
2932
2925
|
if ((y += i) < 0 || K <= y) {
|
|
2933
2926
|
y -= i, i = -i;
|
|
2934
2927
|
break;
|
|
2935
2928
|
}
|
|
2936
2929
|
}
|
|
2937
|
-
}, b = function(
|
|
2938
|
-
for (var y = $.getRSBlocks(
|
|
2930
|
+
}, b = function(s, c, i) {
|
|
2931
|
+
for (var y = $.getRSBlocks(s, c), S = P(), V = 0; V < i.length; V += 1) {
|
|
2939
2932
|
var A = i[V];
|
|
2940
|
-
S.put(A.getMode(), 4), S.put(A.getLength(), _.getLengthInBits(A.getMode(),
|
|
2933
|
+
S.put(A.getMode(), 4), S.put(A.getLength(), _.getLengthInBits(A.getMode(), s)), A.write(S);
|
|
2941
2934
|
}
|
|
2942
2935
|
var E = 0;
|
|
2943
2936
|
for (V = 0; V < y.length; V += 1)
|
|
@@ -2974,37 +2967,37 @@ var bn = { exports: {} };
|
|
|
2974
2967
|
return Me;
|
|
2975
2968
|
}(S, y);
|
|
2976
2969
|
};
|
|
2977
|
-
U.addData = function(
|
|
2970
|
+
U.addData = function(s, c) {
|
|
2978
2971
|
var i = null;
|
|
2979
2972
|
switch (c = c || "Byte") {
|
|
2980
2973
|
case "Numeric":
|
|
2981
|
-
i = L(
|
|
2974
|
+
i = L(s);
|
|
2982
2975
|
break;
|
|
2983
2976
|
case "Alphanumeric":
|
|
2984
|
-
i = se(
|
|
2977
|
+
i = se(s);
|
|
2985
2978
|
break;
|
|
2986
2979
|
case "Byte":
|
|
2987
|
-
i = be(
|
|
2980
|
+
i = be(s);
|
|
2988
2981
|
break;
|
|
2989
2982
|
case "Kanji":
|
|
2990
|
-
i = ve(
|
|
2983
|
+
i = ve(s);
|
|
2991
2984
|
break;
|
|
2992
2985
|
default:
|
|
2993
2986
|
throw "mode:" + c;
|
|
2994
2987
|
}
|
|
2995
2988
|
j.push(i), F = null;
|
|
2996
|
-
}, U.isDark = function(
|
|
2997
|
-
if (
|
|
2998
|
-
throw
|
|
2999
|
-
return v[
|
|
2989
|
+
}, U.isDark = function(s, c) {
|
|
2990
|
+
if (s < 0 || K <= s || c < 0 || K <= c)
|
|
2991
|
+
throw s + "," + c;
|
|
2992
|
+
return v[s][c];
|
|
3000
2993
|
}, U.getModuleCount = function() {
|
|
3001
2994
|
return K;
|
|
3002
2995
|
}, U.make = function() {
|
|
3003
2996
|
if (D < 1) {
|
|
3004
|
-
for (var
|
|
3005
|
-
for (var c = $.getRSBlocks(
|
|
2997
|
+
for (var s = 1; s < 40; s++) {
|
|
2998
|
+
for (var c = $.getRSBlocks(s, I), i = P(), y = 0; y < j.length; y++) {
|
|
3006
2999
|
var S = j[y];
|
|
3007
|
-
i.put(S.getMode(), 4), i.put(S.getLength(), _.getLengthInBits(S.getMode(),
|
|
3000
|
+
i.put(S.getMode(), 4), i.put(S.getLength(), _.getLengthInBits(S.getMode(), s)), S.write(i);
|
|
3008
3001
|
}
|
|
3009
3002
|
var V = 0;
|
|
3010
3003
|
for (y = 0; y < c.length; y++)
|
|
@@ -3012,7 +3005,7 @@ var bn = { exports: {} };
|
|
|
3012
3005
|
if (i.getLengthInBits() <= 8 * V)
|
|
3013
3006
|
break;
|
|
3014
3007
|
}
|
|
3015
|
-
D =
|
|
3008
|
+
D = s;
|
|
3016
3009
|
}
|
|
3017
3010
|
ge(!1, function() {
|
|
3018
3011
|
for (var A = 0, E = 0, J = 0; J < 8; J += 1) {
|
|
@@ -3022,43 +3015,43 @@ var bn = { exports: {} };
|
|
|
3022
3015
|
}
|
|
3023
3016
|
return E;
|
|
3024
3017
|
}());
|
|
3025
|
-
}, U.createTableTag = function(
|
|
3026
|
-
|
|
3018
|
+
}, U.createTableTag = function(s, c) {
|
|
3019
|
+
s = s || 2;
|
|
3027
3020
|
var i = "";
|
|
3028
|
-
i += '<table style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: " + (c = c === void 0 ? 4 *
|
|
3021
|
+
i += '<table style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: " + (c = c === void 0 ? 4 * s : c) + "px;", i += '">', i += "<tbody>";
|
|
3029
3022
|
for (var y = 0; y < U.getModuleCount(); y += 1) {
|
|
3030
3023
|
i += "<tr>";
|
|
3031
3024
|
for (var S = 0; S < U.getModuleCount(); S += 1)
|
|
3032
|
-
i += '<td style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: 0px;", i += " width: " +
|
|
3025
|
+
i += '<td style="', i += " border-width: 0px; border-style: none;", i += " border-collapse: collapse;", i += " padding: 0px; margin: 0px;", i += " width: " + s + "px;", i += " height: " + s + "px;", i += " background-color: ", i += U.isDark(y, S) ? "#000000" : "#ffffff", i += ";", i += '"/>';
|
|
3033
3026
|
i += "</tr>";
|
|
3034
3027
|
}
|
|
3035
3028
|
return (i += "</tbody>") + "</table>";
|
|
3036
|
-
}, U.createSvgTag = function(
|
|
3029
|
+
}, U.createSvgTag = function(s, c, i, y) {
|
|
3037
3030
|
var S = {};
|
|
3038
|
-
typeof arguments[0] == "object" && (
|
|
3039
|
-
var V, A, E, J, Q = U.getModuleCount() *
|
|
3040
|
-
for (J = "l" +
|
|
3041
|
-
for (E = A *
|
|
3042
|
-
U.isDark(A, V) && (ee += "M" + (V *
|
|
3031
|
+
typeof arguments[0] == "object" && (s = (S = arguments[0]).cellSize, c = S.margin, i = S.alt, y = S.title), s = s || 2, c = c === void 0 ? 4 * s : c, (i = typeof i == "string" ? { text: i } : i || {}).text = i.text || null, i.id = i.text ? i.id || "qrcode-description" : null, (y = typeof y == "string" ? { text: y } : y || {}).text = y.text || null, y.id = y.text ? y.id || "qrcode-title" : null;
|
|
3032
|
+
var V, A, E, J, Q = U.getModuleCount() * s + 2 * c, ee = "";
|
|
3033
|
+
for (J = "l" + s + ",0 0," + s + " -" + s + ",0 0,-" + s + "z ", ee += '<svg version="1.1" xmlns="http://www.w3.org/2000/svg"', ee += S.scalable ? "" : ' width="' + Q + 'px" height="' + Q + 'px"', ee += ' viewBox="0 0 ' + Q + " " + Q + '" ', ee += ' preserveAspectRatio="xMinYMin meet"', ee += y.text || i.text ? ' role="img" aria-labelledby="' + N([y.id, i.id].join(" ").trim()) + '"' : "", ee += ">", ee += y.text ? '<title id="' + N(y.id) + '">' + N(y.text) + "</title>" : "", ee += i.text ? '<description id="' + N(i.id) + '">' + N(i.text) + "</description>" : "", ee += '<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>', ee += '<path d="', A = 0; A < U.getModuleCount(); A += 1)
|
|
3034
|
+
for (E = A * s + c, V = 0; V < U.getModuleCount(); V += 1)
|
|
3035
|
+
U.isDark(A, V) && (ee += "M" + (V * s + c) + "," + E + J);
|
|
3043
3036
|
return (ee += '" stroke="transparent" fill="black"/>') + "</svg>";
|
|
3044
|
-
}, U.createDataURL = function(
|
|
3045
|
-
|
|
3046
|
-
var i = U.getModuleCount() *
|
|
3037
|
+
}, U.createDataURL = function(s, c) {
|
|
3038
|
+
s = s || 2, c = c === void 0 ? 4 * s : c;
|
|
3039
|
+
var i = U.getModuleCount() * s + 2 * c, y = c, S = i - c;
|
|
3047
3040
|
return Ye(i, i, function(V, A) {
|
|
3048
3041
|
if (y <= V && V < S && y <= A && A < S) {
|
|
3049
|
-
var E = Math.floor((V - y) /
|
|
3042
|
+
var E = Math.floor((V - y) / s), J = Math.floor((A - y) / s);
|
|
3050
3043
|
return U.isDark(J, E) ? 0 : 1;
|
|
3051
3044
|
}
|
|
3052
3045
|
return 1;
|
|
3053
3046
|
});
|
|
3054
|
-
}, U.createImgTag = function(
|
|
3055
|
-
|
|
3056
|
-
var y = U.getModuleCount() *
|
|
3057
|
-
return S += "<img", S += ' src="', S += U.createDataURL(
|
|
3047
|
+
}, U.createImgTag = function(s, c, i) {
|
|
3048
|
+
s = s || 2, c = c === void 0 ? 4 * s : c;
|
|
3049
|
+
var y = U.getModuleCount() * s + 2 * c, S = "";
|
|
3050
|
+
return S += "<img", S += ' src="', S += U.createDataURL(s, c), S += '"', S += ' width="', S += y, S += '"', S += ' height="', S += y, S += '"', i && (S += ' alt="', S += N(i), S += '"'), S + "/>";
|
|
3058
3051
|
};
|
|
3059
|
-
var N = function(
|
|
3060
|
-
for (var c = "", i = 0; i <
|
|
3061
|
-
var y =
|
|
3052
|
+
var N = function(s) {
|
|
3053
|
+
for (var c = "", i = 0; i < s.length; i += 1) {
|
|
3054
|
+
var y = s.charAt(i);
|
|
3062
3055
|
switch (y) {
|
|
3063
3056
|
case "<":
|
|
3064
3057
|
c += "<";
|
|
@@ -3078,8 +3071,8 @@ var bn = { exports: {} };
|
|
|
3078
3071
|
}
|
|
3079
3072
|
return c;
|
|
3080
3073
|
};
|
|
3081
|
-
return U.createASCII = function(
|
|
3082
|
-
if ((
|
|
3074
|
+
return U.createASCII = function(s, c) {
|
|
3075
|
+
if ((s = s || 1) < 2)
|
|
3083
3076
|
return function(ne) {
|
|
3084
3077
|
ne = ne === void 0 ? 2 : ne;
|
|
3085
3078
|
var q, re, Te, me, oe, he = 1 * U.getModuleCount() + 2 * ne, ce = ne, pe = he - ne, ye = { "██": "█", "█ ": "▀", " █": "▄", " ": " " }, Me = { "██": "▀", "█ ": "▀", " █": " ", " ": " " }, xe = "";
|
|
@@ -3091,21 +3084,21 @@ var bn = { exports: {} };
|
|
|
3091
3084
|
}
|
|
3092
3085
|
return he % 2 && ne > 0 ? xe.substring(0, xe.length - he - 1) + Array(he + 1).join("▀") : xe.substring(0, xe.length - 1);
|
|
3093
3086
|
}(c);
|
|
3094
|
-
|
|
3095
|
-
var i, y, S, V, A = U.getModuleCount() *
|
|
3087
|
+
s -= 1, c = c === void 0 ? 2 * s : c;
|
|
3088
|
+
var i, y, S, V, A = U.getModuleCount() * s + 2 * c, E = c, J = A - c, Q = Array(s + 1).join("██"), ee = Array(s + 1).join(" "), le = "", H = "";
|
|
3096
3089
|
for (i = 0; i < A; i += 1) {
|
|
3097
|
-
for (S = Math.floor((i - E) /
|
|
3098
|
-
V = 1, E <= y && y < J && E <= i && i < J && U.isDark(S, Math.floor((y - E) /
|
|
3099
|
-
for (S = 0; S <
|
|
3090
|
+
for (S = Math.floor((i - E) / s), H = "", y = 0; y < A; y += 1)
|
|
3091
|
+
V = 1, E <= y && y < J && E <= i && i < J && U.isDark(S, Math.floor((y - E) / s)) && (V = 0), H += V ? Q : ee;
|
|
3092
|
+
for (S = 0; S < s; S += 1)
|
|
3100
3093
|
le += H + `
|
|
3101
3094
|
`;
|
|
3102
3095
|
}
|
|
3103
3096
|
return le.substring(0, le.length - 1);
|
|
3104
|
-
}, U.renderTo2dContext = function(
|
|
3097
|
+
}, U.renderTo2dContext = function(s, c) {
|
|
3105
3098
|
c = c || 2;
|
|
3106
3099
|
for (var i = U.getModuleCount(), y = 0; y < i; y++)
|
|
3107
3100
|
for (var S = 0; S < i; S++)
|
|
3108
|
-
|
|
3101
|
+
s.fillStyle = U.isDark(y, S) ? "black" : "white", s.fillRect(y * c, S * c, c, c);
|
|
3109
3102
|
}, U;
|
|
3110
3103
|
};
|
|
3111
3104
|
x.stringToBytes = (x.stringToBytesFuncs = { default: function(k) {
|
|
@@ -3507,17 +3500,17 @@ var bn = { exports: {} };
|
|
|
3507
3500
|
return K;
|
|
3508
3501
|
}, Ye = function(k, C, D) {
|
|
3509
3502
|
for (var I = function(Z, t) {
|
|
3510
|
-
var o = Z, r = t, l = new Array(Z * t), g = { setPixel: function(
|
|
3511
|
-
l[c * o +
|
|
3512
|
-
}, write: function(
|
|
3513
|
-
|
|
3503
|
+
var o = Z, r = t, l = new Array(Z * t), g = { setPixel: function(s, c, i) {
|
|
3504
|
+
l[c * o + s] = i;
|
|
3505
|
+
}, write: function(s) {
|
|
3506
|
+
s.writeString("GIF87a"), s.writeShort(o), s.writeShort(r), s.writeByte(128), s.writeByte(0), s.writeByte(0), s.writeByte(0), s.writeByte(0), s.writeByte(0), s.writeByte(255), s.writeByte(255), s.writeByte(255), s.writeString(","), s.writeShort(0), s.writeShort(0), s.writeShort(o), s.writeShort(r), s.writeByte(0);
|
|
3514
3507
|
var c = b(2);
|
|
3515
|
-
|
|
3508
|
+
s.writeByte(2);
|
|
3516
3509
|
for (var i = 0; c.length - i > 255; )
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
} }, b = function(
|
|
3520
|
-
for (var c = 1 <<
|
|
3510
|
+
s.writeByte(255), s.writeBytes(c, i, 255), i += 255;
|
|
3511
|
+
s.writeByte(c.length - i), s.writeBytes(c, i, c.length - i), s.writeByte(0), s.writeString(";");
|
|
3512
|
+
} }, b = function(s) {
|
|
3513
|
+
for (var c = 1 << s, i = 1 + (1 << s), y = s + 1, S = N(), V = 0; V < c; V += 1)
|
|
3521
3514
|
S.add(String.fromCharCode(V));
|
|
3522
3515
|
S.add(String.fromCharCode(c)), S.add(String.fromCharCode(i));
|
|
3523
3516
|
var A, E, J, Q = Le(), ee = (A = Q, E = 0, J = 0, { write: function(q, re) {
|
|
@@ -3537,16 +3530,16 @@ var bn = { exports: {} };
|
|
|
3537
3530
|
}
|
|
3538
3531
|
return ee.write(S.indexOf(H), y), ee.write(i, y), ee.flush(), Q.toByteArray();
|
|
3539
3532
|
}, N = function() {
|
|
3540
|
-
var
|
|
3533
|
+
var s = {}, c = 0, i = { add: function(y) {
|
|
3541
3534
|
if (i.contains(y))
|
|
3542
3535
|
throw "dup key:" + y;
|
|
3543
|
-
|
|
3536
|
+
s[y] = c, c += 1;
|
|
3544
3537
|
}, size: function() {
|
|
3545
3538
|
return c;
|
|
3546
3539
|
}, indexOf: function(y) {
|
|
3547
|
-
return
|
|
3540
|
+
return s[y];
|
|
3548
3541
|
}, contains: function(y) {
|
|
3549
|
-
return
|
|
3542
|
+
return s[y] !== void 0;
|
|
3550
3543
|
} };
|
|
3551
3544
|
return i;
|
|
3552
3545
|
};
|
|
@@ -3579,7 +3572,7 @@ var bn = { exports: {} };
|
|
|
3579
3572
|
g(Z >>> t - 6), t -= 6;
|
|
3580
3573
|
}, l.flush = function() {
|
|
3581
3574
|
if (t > 0 && (g(Z << 6 - t), Z = 0, t = 0), o % 3 != 0)
|
|
3582
|
-
for (var N = 3 - o % 3,
|
|
3575
|
+
for (var N = 3 - o % 3, s = 0; s < N; s += 1)
|
|
3583
3576
|
r += "=";
|
|
3584
3577
|
}, l.toString = function() {
|
|
3585
3578
|
return r;
|
|
@@ -3598,11 +3591,11 @@ var bn = { exports: {} };
|
|
|
3598
3591
|
}
|
|
3599
3592
|
return G;
|
|
3600
3593
|
}(x);
|
|
3601
|
-
}, (u = typeof (
|
|
3594
|
+
}, (u = typeof (a = function() {
|
|
3602
3595
|
return w;
|
|
3603
|
-
}) == "function" ?
|
|
3604
|
-
}, 676: (M, m,
|
|
3605
|
-
|
|
3596
|
+
}) == "function" ? a.apply(m, []) : a) === void 0 || (M.exports = u);
|
|
3597
|
+
}, 676: (M, m, a) => {
|
|
3598
|
+
a.d(m, { default: () => ge });
|
|
3606
3599
|
var u = function() {
|
|
3607
3600
|
return (u = Object.assign || function(Z) {
|
|
3608
3601
|
for (var t, o = 1, r = arguments.length; o < r; o++)
|
|
@@ -3639,7 +3632,7 @@ var bn = { exports: {} };
|
|
|
3639
3632
|
function z(Z) {
|
|
3640
3633
|
return t = this, o = void 0, l = function() {
|
|
3641
3634
|
return function(g, b) {
|
|
3642
|
-
var N,
|
|
3635
|
+
var N, s, c, i, y = { label: 0, sent: function() {
|
|
3643
3636
|
if (1 & c[0])
|
|
3644
3637
|
throw c[1];
|
|
3645
3638
|
return c[1];
|
|
@@ -3654,9 +3647,9 @@ var bn = { exports: {} };
|
|
|
3654
3647
|
throw new TypeError("Generator is already executing.");
|
|
3655
3648
|
for (; y; )
|
|
3656
3649
|
try {
|
|
3657
|
-
if (N = 1,
|
|
3650
|
+
if (N = 1, s && (c = 2 & E[0] ? s.return : E[0] ? s.throw || ((c = s.return) && c.call(s), 0) : s.next) && !(c = c.call(s, E[1])).done)
|
|
3658
3651
|
return c;
|
|
3659
|
-
switch (
|
|
3652
|
+
switch (s = 0, c && (E = [2 & E[0], c.value]), E[0]) {
|
|
3660
3653
|
case 0:
|
|
3661
3654
|
case 1:
|
|
3662
3655
|
c = E;
|
|
@@ -3664,7 +3657,7 @@ var bn = { exports: {} };
|
|
|
3664
3657
|
case 4:
|
|
3665
3658
|
return y.label++, { value: E[1], done: !1 };
|
|
3666
3659
|
case 5:
|
|
3667
|
-
y.label++,
|
|
3660
|
+
y.label++, s = E[1], E = [0];
|
|
3668
3661
|
continue;
|
|
3669
3662
|
case 7:
|
|
3670
3663
|
E = y.ops.pop(), y.trys.pop();
|
|
@@ -3691,7 +3684,7 @@ var bn = { exports: {} };
|
|
|
3691
3684
|
}
|
|
3692
3685
|
E = b.call(g, y);
|
|
3693
3686
|
} catch (J) {
|
|
3694
|
-
E = [6, J],
|
|
3687
|
+
E = [6, J], s = 0;
|
|
3695
3688
|
} finally {
|
|
3696
3689
|
N = c = 0;
|
|
3697
3690
|
}
|
|
@@ -3705,10 +3698,10 @@ var bn = { exports: {} };
|
|
|
3705
3698
|
return [2, new Promise(function(b) {
|
|
3706
3699
|
var N = new XMLHttpRequest();
|
|
3707
3700
|
N.onload = function() {
|
|
3708
|
-
var
|
|
3709
|
-
|
|
3710
|
-
b(
|
|
3711
|
-
},
|
|
3701
|
+
var s = new FileReader();
|
|
3702
|
+
s.onloadend = function() {
|
|
3703
|
+
b(s.result);
|
|
3704
|
+
}, s.readAsDataURL(N.response);
|
|
3712
3705
|
}, N.open("GET", Z), N.responseType = "blob", N.send();
|
|
3713
3706
|
})];
|
|
3714
3707
|
});
|
|
@@ -3720,7 +3713,7 @@ var bn = { exports: {} };
|
|
|
3720
3713
|
b(y);
|
|
3721
3714
|
}
|
|
3722
3715
|
}
|
|
3723
|
-
function
|
|
3716
|
+
function s(i) {
|
|
3724
3717
|
try {
|
|
3725
3718
|
c(l.throw(i));
|
|
3726
3719
|
} catch (y) {
|
|
@@ -3731,7 +3724,7 @@ var bn = { exports: {} };
|
|
|
3731
3724
|
var y;
|
|
3732
3725
|
i.done ? g(i.value) : (y = i.value, y instanceof r ? y : new r(function(S) {
|
|
3733
3726
|
S(y);
|
|
3734
|
-
})).then(N,
|
|
3727
|
+
})).then(N, s);
|
|
3735
3728
|
}
|
|
3736
3729
|
c((l = l.apply(t, o || [])).next());
|
|
3737
3730
|
});
|
|
@@ -3775,8 +3768,8 @@ var bn = { exports: {} };
|
|
|
3775
3768
|
}
|
|
3776
3769
|
g.call(this, { x: t, y: o, size: r, getNeighbor: l });
|
|
3777
3770
|
}, Z.prototype._rotateFigure = function(t) {
|
|
3778
|
-
var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b,
|
|
3779
|
-
(0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," +
|
|
3771
|
+
var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, s = r + g / 2, c = l + g / 2;
|
|
3772
|
+
(0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + s + "," + c + ")");
|
|
3780
3773
|
}, Z.prototype._basicDot = function(t) {
|
|
3781
3774
|
var o = this, r = t.size, l = t.x, g = t.y;
|
|
3782
3775
|
this._rotateFigure(T(T({}, t), { draw: function() {
|
|
@@ -3814,41 +3807,41 @@ var bn = { exports: {} };
|
|
|
3814
3807
|
var o = t.x, r = t.y, l = t.size;
|
|
3815
3808
|
this._basicSquare({ x: o, y: r, size: l, rotation: 0 });
|
|
3816
3809
|
}, Z.prototype._drawRounded = function(t) {
|
|
3817
|
-
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0,
|
|
3810
|
+
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0, i = b + N + s + c;
|
|
3818
3811
|
if (i !== 0)
|
|
3819
|
-
if (i > 2 || b && N ||
|
|
3812
|
+
if (i > 2 || b && N || s && c)
|
|
3820
3813
|
this._basicSquare({ x: o, y: r, size: l, rotation: 0 });
|
|
3821
3814
|
else {
|
|
3822
3815
|
if (i === 2) {
|
|
3823
3816
|
var y = 0;
|
|
3824
|
-
return b &&
|
|
3817
|
+
return b && s ? y = Math.PI / 2 : s && N ? y = Math.PI : N && c && (y = -Math.PI / 2), void this._basicCornerRounded({ x: o, y: r, size: l, rotation: y });
|
|
3825
3818
|
}
|
|
3826
3819
|
if (i === 1)
|
|
3827
|
-
return y = 0,
|
|
3820
|
+
return y = 0, s ? y = Math.PI / 2 : N ? y = Math.PI : c && (y = -Math.PI / 2), void this._basicSideRounded({ x: o, y: r, size: l, rotation: y });
|
|
3828
3821
|
}
|
|
3829
3822
|
else
|
|
3830
3823
|
this._basicDot({ x: o, y: r, size: l, rotation: 0 });
|
|
3831
3824
|
}, Z.prototype._drawExtraRounded = function(t) {
|
|
3832
|
-
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0,
|
|
3825
|
+
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0, i = b + N + s + c;
|
|
3833
3826
|
if (i !== 0)
|
|
3834
|
-
if (i > 2 || b && N ||
|
|
3827
|
+
if (i > 2 || b && N || s && c)
|
|
3835
3828
|
this._basicSquare({ x: o, y: r, size: l, rotation: 0 });
|
|
3836
3829
|
else {
|
|
3837
3830
|
if (i === 2) {
|
|
3838
3831
|
var y = 0;
|
|
3839
|
-
return b &&
|
|
3832
|
+
return b && s ? y = Math.PI / 2 : s && N ? y = Math.PI : N && c && (y = -Math.PI / 2), void this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: y });
|
|
3840
3833
|
}
|
|
3841
3834
|
if (i === 1)
|
|
3842
|
-
return y = 0,
|
|
3835
|
+
return y = 0, s ? y = Math.PI / 2 : N ? y = Math.PI : c && (y = -Math.PI / 2), void this._basicSideRounded({ x: o, y: r, size: l, rotation: y });
|
|
3843
3836
|
}
|
|
3844
3837
|
else
|
|
3845
3838
|
this._basicDot({ x: o, y: r, size: l, rotation: 0 });
|
|
3846
3839
|
}, Z.prototype._drawClassy = function(t) {
|
|
3847
|
-
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0,
|
|
3848
|
-
b + N +
|
|
3840
|
+
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0;
|
|
3841
|
+
b + N + s + c !== 0 ? b || s ? N || c ? this._basicSquare({ x: o, y: r, size: l, rotation: 0 }) : this._basicCornerRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 }) : this._basicCornerRounded({ x: o, y: r, size: l, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 });
|
|
3849
3842
|
}, Z.prototype._drawClassyRounded = function(t) {
|
|
3850
|
-
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0,
|
|
3851
|
-
b + N +
|
|
3843
|
+
var o = t.x, r = t.y, l = t.size, g = t.getNeighbor, b = g ? +g(-1, 0) : 0, N = g ? +g(1, 0) : 0, s = g ? +g(0, -1) : 0, c = g ? +g(0, 1) : 0;
|
|
3844
|
+
b + N + s + c !== 0 ? b || s ? N || c ? this._basicSquare({ x: o, y: r, size: l, rotation: 0 }) : this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 }) : this._basicCornerExtraRounded({ x: o, y: r, size: l, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: o, y: r, size: l, rotation: Math.PI / 2 });
|
|
3852
3845
|
}, Z;
|
|
3853
3846
|
}();
|
|
3854
3847
|
var _ = function() {
|
|
@@ -3879,8 +3872,8 @@ var bn = { exports: {} };
|
|
|
3879
3872
|
}
|
|
3880
3873
|
g.call(this, { x: t, y: o, size: r, rotation: l });
|
|
3881
3874
|
}, Z.prototype._rotateFigure = function(t) {
|
|
3882
|
-
var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b,
|
|
3883
|
-
(0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," +
|
|
3875
|
+
var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, s = r + g / 2, c = l + g / 2;
|
|
3876
|
+
(0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + s + "," + c + ")");
|
|
3884
3877
|
}, Z.prototype._basicDot = function(t) {
|
|
3885
3878
|
var o = this, r = t.size, l = t.x, g = t.y, b = r / 7;
|
|
3886
3879
|
this._rotateFigure(_(_({}, t), { draw: function() {
|
|
@@ -3932,8 +3925,8 @@ var bn = { exports: {} };
|
|
|
3932
3925
|
}
|
|
3933
3926
|
g.call(this, { x: t, y: o, size: r, rotation: l });
|
|
3934
3927
|
}, Z.prototype._rotateFigure = function(t) {
|
|
3935
|
-
var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b,
|
|
3936
|
-
(0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," +
|
|
3928
|
+
var o, r = t.x, l = t.y, g = t.size, b = t.rotation, N = b === void 0 ? 0 : b, s = r + g / 2, c = l + g / 2;
|
|
3929
|
+
(0, t.draw)(), (o = this._element) === null || o === void 0 || o.setAttribute("transform", "rotate(" + 180 * N / Math.PI + "," + s + "," + c + ")");
|
|
3937
3930
|
}, Z.prototype._basicDot = function(t) {
|
|
3938
3931
|
var o = this, r = t.size, l = t.x, g = t.y;
|
|
3939
3932
|
this._rotateFigure(te(te({}, t), { draw: function() {
|
|
@@ -3956,25 +3949,25 @@ var bn = { exports: {} };
|
|
|
3956
3949
|
return new (o || (o = Promise))(function(l, g) {
|
|
3957
3950
|
function b(c) {
|
|
3958
3951
|
try {
|
|
3959
|
-
|
|
3952
|
+
s(r.next(c));
|
|
3960
3953
|
} catch (i) {
|
|
3961
3954
|
g(i);
|
|
3962
3955
|
}
|
|
3963
3956
|
}
|
|
3964
3957
|
function N(c) {
|
|
3965
3958
|
try {
|
|
3966
|
-
|
|
3959
|
+
s(r.throw(c));
|
|
3967
3960
|
} catch (i) {
|
|
3968
3961
|
g(i);
|
|
3969
3962
|
}
|
|
3970
3963
|
}
|
|
3971
|
-
function
|
|
3964
|
+
function s(c) {
|
|
3972
3965
|
var i;
|
|
3973
3966
|
c.done ? l(c.value) : (i = c.value, i instanceof o ? i : new o(function(y) {
|
|
3974
3967
|
y(i);
|
|
3975
3968
|
})).then(b, N);
|
|
3976
3969
|
}
|
|
3977
|
-
|
|
3970
|
+
s((r = r.apply(Z, t || [])).next());
|
|
3978
3971
|
});
|
|
3979
3972
|
}, se = function(Z, t) {
|
|
3980
3973
|
var o, r, l, g, b = { label: 0, sent: function() {
|
|
@@ -3985,7 +3978,7 @@ var bn = { exports: {} };
|
|
|
3985
3978
|
return g = { next: N(0), throw: N(1), return: N(2) }, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
|
|
3986
3979
|
return this;
|
|
3987
3980
|
}), g;
|
|
3988
|
-
function N(
|
|
3981
|
+
function N(s) {
|
|
3989
3982
|
return function(c) {
|
|
3990
3983
|
return function(i) {
|
|
3991
3984
|
if (o)
|
|
@@ -4036,7 +4029,7 @@ var bn = { exports: {} };
|
|
|
4036
4029
|
if (5 & i[0])
|
|
4037
4030
|
throw i[1];
|
|
4038
4031
|
return { value: i[0] ? i[1] : void 0, done: !0 };
|
|
4039
|
-
}([
|
|
4032
|
+
}([s, c]);
|
|
4040
4033
|
};
|
|
4041
4034
|
}
|
|
4042
4035
|
}, be = [[1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1]], ve = [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
|
|
@@ -4052,7 +4045,7 @@ var bn = { exports: {} };
|
|
|
4052
4045
|
return this._element;
|
|
4053
4046
|
}, Z.prototype.drawQR = function(t) {
|
|
4054
4047
|
return L(this, void 0, void 0, function() {
|
|
4055
|
-
var o, r, l, g, b, N,
|
|
4048
|
+
var o, r, l, g, b, N, s, c, i, y, S = this;
|
|
4056
4049
|
return se(this, function(V) {
|
|
4057
4050
|
switch (V.label) {
|
|
4058
4051
|
case 0:
|
|
@@ -4060,7 +4053,7 @@ var bn = { exports: {} };
|
|
|
4060
4053
|
case 1:
|
|
4061
4054
|
if (V.sent(), !this._image)
|
|
4062
4055
|
return [2];
|
|
4063
|
-
N = this._options,
|
|
4056
|
+
N = this._options, s = N.imageOptions, c = N.qrOptions, i = s.imageSize * W[c.errorCorrectionLevel], y = Math.floor(i * o * o), b = function(A) {
|
|
4064
4057
|
var E = A.originalHeight, J = A.originalWidth, Q = A.maxHiddenDots, ee = A.maxHiddenAxisDots, le = A.dotSize, H = { x: 0, y: 0 }, ne = { x: 0, y: 0 };
|
|
4065
4058
|
if (E <= 0 || J <= 0 || Q <= 0 || le <= 0)
|
|
4066
4059
|
return { height: 0, width: 0, hideYDots: 0, hideXDots: 0 };
|
|
@@ -4084,8 +4077,8 @@ var bn = { exports: {} };
|
|
|
4084
4077
|
if (l) {
|
|
4085
4078
|
var b = (t = g.backgroundOptions) === null || t === void 0 ? void 0 : t.gradient, N = (o = g.backgroundOptions) === null || o === void 0 ? void 0 : o.color;
|
|
4086
4079
|
if ((b || N) && this._createColor({ options: b, color: N, additionalRotation: 0, x: 0, y: 0, height: g.height, width: g.width, name: "background-color" }), (r = g.backgroundOptions) === null || r === void 0 ? void 0 : r.round) {
|
|
4087
|
-
var
|
|
4088
|
-
this._backgroundClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._backgroundClipPath.setAttribute("id", "clip-path-background-color"), this._defs.appendChild(this._backgroundClipPath), c.setAttribute("x", String((g.width -
|
|
4080
|
+
var s = Math.min(g.width, g.height), c = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
4081
|
+
this._backgroundClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._backgroundClipPath.setAttribute("id", "clip-path-background-color"), this._defs.appendChild(this._backgroundClipPath), c.setAttribute("x", String((g.width - s) / 2)), c.setAttribute("y", String((g.height - s) / 2)), c.setAttribute("width", String(s)), c.setAttribute("height", String(s)), c.setAttribute("rx", String(s / 2 * g.backgroundOptions.round)), this._backgroundClipPath.appendChild(c);
|
|
4089
4082
|
}
|
|
4090
4083
|
}
|
|
4091
4084
|
}, Z.prototype.drawDots = function(t) {
|
|
@@ -4095,7 +4088,7 @@ var bn = { exports: {} };
|
|
|
4095
4088
|
var g = this._options, b = this._qr.getModuleCount();
|
|
4096
4089
|
if (b > g.width || b > g.height)
|
|
4097
4090
|
throw "The canvas is too small.";
|
|
4098
|
-
var N = Math.min(g.width, g.height) - 2 * g.margin,
|
|
4091
|
+
var N = Math.min(g.width, g.height) - 2 * g.margin, s = g.shape === P ? N / Math.sqrt(2) : N, c = Math.floor(s / b), i = Math.floor((g.width - b * c) / 2), y = Math.floor((g.height - b * c) / 2), S = new O({ svg: this._element, type: g.dotsOptions.type });
|
|
4099
4092
|
this._dotsClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._dotsClipPath.setAttribute("id", "clip-path-dot-color"), this._defs.appendChild(this._dotsClipPath), this._createColor({ options: (o = g.dotsOptions) === null || o === void 0 ? void 0 : o.gradient, color: g.dotsOptions.color, additionalRotation: 0, x: 0, y: 0, height: g.height, width: g.width, name: "dot-color" });
|
|
4100
4093
|
for (var V = function(me) {
|
|
4101
4094
|
for (var oe = function(ce) {
|
|
@@ -4134,43 +4127,43 @@ var bn = { exports: {} };
|
|
|
4134
4127
|
var o = this._element, r = this._options;
|
|
4135
4128
|
if (!o)
|
|
4136
4129
|
throw "Element code is not defined";
|
|
4137
|
-
var l = this._qr.getModuleCount(), g = Math.min(r.width, r.height) - 2 * r.margin, b = r.shape === P ? g / Math.sqrt(2) : g, N = Math.floor(b / l),
|
|
4130
|
+
var l = this._qr.getModuleCount(), g = Math.min(r.width, r.height) - 2 * r.margin, b = r.shape === P ? g / Math.sqrt(2) : g, N = Math.floor(b / l), s = 7 * N, c = 3 * N, i = Math.floor((r.width - l * N) / 2), y = Math.floor((r.height - l * N) / 2);
|
|
4138
4131
|
[[0, 0, 0], [1, 0, Math.PI / 2], [0, 1, -Math.PI / 2]].forEach(function(S) {
|
|
4139
4132
|
var V, A, E, J, Q, ee, le, H, ne, q, re, Te, me = S[0], oe = S[1], he = S[2], ce = i + me * N * (l - 7), pe = y + oe * N * (l - 7), ye = t._dotsClipPath, Me = t._dotsClipPath;
|
|
4140
|
-
if ((!((V = r.cornersSquareOptions) === null || V === void 0) && V.gradient || !((A = r.cornersSquareOptions) === null || A === void 0) && A.color) && ((ye = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-square-color-" + me + "-" + oe), t._defs.appendChild(ye), t._cornersSquareClipPath = t._cornersDotClipPath = Me = ye, t._createColor({ options: (E = r.cornersSquareOptions) === null || E === void 0 ? void 0 : E.gradient, color: (J = r.cornersSquareOptions) === null || J === void 0 ? void 0 : J.color, additionalRotation: he, x: ce, y: pe, height:
|
|
4133
|
+
if ((!((V = r.cornersSquareOptions) === null || V === void 0) && V.gradient || !((A = r.cornersSquareOptions) === null || A === void 0) && A.color) && ((ye = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-square-color-" + me + "-" + oe), t._defs.appendChild(ye), t._cornersSquareClipPath = t._cornersDotClipPath = Me = ye, t._createColor({ options: (E = r.cornersSquareOptions) === null || E === void 0 ? void 0 : E.gradient, color: (J = r.cornersSquareOptions) === null || J === void 0 ? void 0 : J.color, additionalRotation: he, x: ce, y: pe, height: s, width: s, name: "corners-square-color-" + me + "-" + oe })), (Q = r.cornersSquareOptions) === null || Q === void 0 ? void 0 : Q.type) {
|
|
4141
4134
|
var xe = new ie({ svg: t._element, type: r.cornersSquareOptions.type });
|
|
4142
|
-
xe.draw(ce, pe,
|
|
4135
|
+
xe.draw(ce, pe, s, he), xe._element && ye && ye.appendChild(xe._element);
|
|
4143
4136
|
} else
|
|
4144
|
-
for (var ze = new O({ svg: t._element, type: r.dotsOptions.type }),
|
|
4145
|
-
for (var
|
|
4137
|
+
for (var ze = new O({ svg: t._element, type: r.dotsOptions.type }), bn = function(Ie) {
|
|
4138
|
+
for (var bt = function(Oe) {
|
|
4146
4139
|
if (!(!((ee = be[Ie]) === null || ee === void 0) && ee[Oe]))
|
|
4147
4140
|
return "continue";
|
|
4148
|
-
ze.draw(ce + Ie * N, pe + Oe * N, N, function(
|
|
4141
|
+
ze.draw(ce + Ie * N, pe + Oe * N, N, function(gt, yt) {
|
|
4149
4142
|
var Ve;
|
|
4150
|
-
return !!(!((Ve = be[Ie +
|
|
4143
|
+
return !!(!((Ve = be[Ie + gt]) === null || Ve === void 0) && Ve[Oe + yt]);
|
|
4151
4144
|
}), ze._element && ye && ye.appendChild(ze._element);
|
|
4152
4145
|
}, Xe = 0; Xe < be[Ie].length; Xe++)
|
|
4153
|
-
|
|
4146
|
+
bt(Xe);
|
|
4154
4147
|
}, Ke = 0; Ke < be.length; Ke++)
|
|
4155
|
-
|
|
4148
|
+
bn(Ke);
|
|
4156
4149
|
if ((!((le = r.cornersDotOptions) === null || le === void 0) && le.gradient || !((H = r.cornersDotOptions) === null || H === void 0) && H.color) && ((Me = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-dot-color-" + me + "-" + oe), t._defs.appendChild(Me), t._cornersDotClipPath = Me, t._createColor({ options: (ne = r.cornersDotOptions) === null || ne === void 0 ? void 0 : ne.gradient, color: (q = r.cornersDotOptions) === null || q === void 0 ? void 0 : q.color, additionalRotation: he, x: ce + 2 * N, y: pe + 2 * N, height: c, width: c, name: "corners-dot-color-" + me + "-" + oe })), (re = r.cornersDotOptions) === null || re === void 0 ? void 0 : re.type) {
|
|
4157
|
-
var
|
|
4158
|
-
|
|
4150
|
+
var pt = new $({ svg: t._element, type: r.cornersDotOptions.type });
|
|
4151
|
+
pt.draw(ce + 2 * N, pe + 2 * N, c, he), pt._element && Me && Me.appendChild(pt._element);
|
|
4159
4152
|
} else {
|
|
4160
4153
|
ze = new O({ svg: t._element, type: r.dotsOptions.type });
|
|
4161
|
-
var
|
|
4162
|
-
for (var
|
|
4154
|
+
var gn = function(Ie) {
|
|
4155
|
+
for (var bt = function(Oe) {
|
|
4163
4156
|
if (!(!((Te = ve[Ie]) === null || Te === void 0) && Te[Oe]))
|
|
4164
4157
|
return "continue";
|
|
4165
|
-
ze.draw(ce + Ie * N, pe + Oe * N, N, function(
|
|
4158
|
+
ze.draw(ce + Ie * N, pe + Oe * N, N, function(gt, yt) {
|
|
4166
4159
|
var Ve;
|
|
4167
|
-
return !!(!((Ve = ve[Ie +
|
|
4160
|
+
return !!(!((Ve = ve[Ie + gt]) === null || Ve === void 0) && Ve[Oe + yt]);
|
|
4168
4161
|
}), ze._element && Me && Me.appendChild(ze._element);
|
|
4169
4162
|
}, Xe = 0; Xe < ve[Ie].length; Xe++)
|
|
4170
|
-
|
|
4163
|
+
bt(Xe);
|
|
4171
4164
|
};
|
|
4172
4165
|
for (Ke = 0; Ke < ve.length; Ke++)
|
|
4173
|
-
|
|
4166
|
+
gn(Ke);
|
|
4174
4167
|
}
|
|
4175
4168
|
});
|
|
4176
4169
|
}, Z.prototype.loadImage = function() {
|
|
@@ -4186,25 +4179,25 @@ var bn = { exports: {} };
|
|
|
4186
4179
|
}, Z.prototype.drawImage = function(t) {
|
|
4187
4180
|
var o = t.width, r = t.height, l = t.count, g = t.dotSize;
|
|
4188
4181
|
return L(this, void 0, void 0, function() {
|
|
4189
|
-
var b, N,
|
|
4182
|
+
var b, N, s, c, i, y, S, V, A;
|
|
4190
4183
|
return se(this, function(E) {
|
|
4191
4184
|
switch (E.label) {
|
|
4192
4185
|
case 0:
|
|
4193
|
-
return b = this._options, N = Math.floor((b.width - l * g) / 2),
|
|
4186
|
+
return b = this._options, N = Math.floor((b.width - l * g) / 2), s = Math.floor((b.height - l * g) / 2), c = N + b.imageOptions.margin + (l * g - o) / 2, i = s + b.imageOptions.margin + (l * g - r) / 2, y = o - 2 * b.imageOptions.margin, S = r - 2 * b.imageOptions.margin, (V = document.createElementNS("http://www.w3.org/2000/svg", "image")).setAttribute("x", String(c)), V.setAttribute("y", String(i)), V.setAttribute("width", y + "px"), V.setAttribute("height", S + "px"), [4, z(b.image || "")];
|
|
4194
4187
|
case 1:
|
|
4195
4188
|
return A = E.sent(), V.setAttribute("href", A || ""), this._element.appendChild(V), [2];
|
|
4196
4189
|
}
|
|
4197
4190
|
});
|
|
4198
4191
|
});
|
|
4199
4192
|
}, Z.prototype._createColor = function(t) {
|
|
4200
|
-
var o = t.options, r = t.color, l = t.additionalRotation, g = t.x, b = t.y, N = t.height,
|
|
4201
|
-
if (y.setAttribute("x", String(g)), y.setAttribute("y", String(b)), y.setAttribute("height", String(N)), y.setAttribute("width", String(
|
|
4193
|
+
var o = t.options, r = t.color, l = t.additionalRotation, g = t.x, b = t.y, N = t.height, s = t.width, c = t.name, i = s > N ? s : N, y = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
4194
|
+
if (y.setAttribute("x", String(g)), y.setAttribute("y", String(b)), y.setAttribute("height", String(N)), y.setAttribute("width", String(s)), y.setAttribute("clip-path", "url('#clip-path-" + c + "')"), o) {
|
|
4202
4195
|
var S;
|
|
4203
4196
|
if (o.type === "radial")
|
|
4204
|
-
(S = document.createElementNS("http://www.w3.org/2000/svg", "radialGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("fx", String(g +
|
|
4197
|
+
(S = document.createElementNS("http://www.w3.org/2000/svg", "radialGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("fx", String(g + s / 2)), S.setAttribute("fy", String(b + N / 2)), S.setAttribute("cx", String(g + s / 2)), S.setAttribute("cy", String(b + N / 2)), S.setAttribute("r", String(i / 2));
|
|
4205
4198
|
else {
|
|
4206
|
-
var V = ((o.rotation || 0) + l) % (2 * Math.PI), A = (V + 2 * Math.PI) % (2 * Math.PI), E = g +
|
|
4207
|
-
A >= 0 && A <= 0.25 * Math.PI || A > 1.75 * Math.PI && A <= 2 * Math.PI ? (E -=
|
|
4199
|
+
var V = ((o.rotation || 0) + l) % (2 * Math.PI), A = (V + 2 * Math.PI) % (2 * Math.PI), E = g + s / 2, J = b + N / 2, Q = g + s / 2, ee = b + N / 2;
|
|
4200
|
+
A >= 0 && A <= 0.25 * Math.PI || A > 1.75 * Math.PI && A <= 2 * Math.PI ? (E -= s / 2, J -= N / 2 * Math.tan(V), Q += s / 2, ee += N / 2 * Math.tan(V)) : A > 0.25 * Math.PI && A <= 0.75 * Math.PI ? (J -= N / 2, E -= s / 2 / Math.tan(V), ee += N / 2, Q += s / 2 / Math.tan(V)) : A > 0.75 * Math.PI && A <= 1.25 * Math.PI ? (E += s / 2, J += N / 2 * Math.tan(V), Q -= s / 2, ee -= N / 2 * Math.tan(V)) : A > 1.25 * Math.PI && A <= 1.75 * Math.PI && (J += N / 2, E += s / 2 / Math.tan(V), ee -= N / 2, Q -= s / 2 / Math.tan(V)), (S = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient")).setAttribute("id", c), S.setAttribute("gradientUnits", "userSpaceOnUse"), S.setAttribute("x1", String(Math.round(E))), S.setAttribute("y1", String(Math.round(J))), S.setAttribute("x2", String(Math.round(Q))), S.setAttribute("y2", String(Math.round(ee)));
|
|
4208
4201
|
}
|
|
4209
4202
|
o.colorStops.forEach(function(le) {
|
|
4210
4203
|
var H = le.offset, ne = le.color, q = document.createElementNS("http://www.w3.org/2000/svg", "stop");
|
|
@@ -4238,29 +4231,29 @@ var bn = { exports: {} };
|
|
|
4238
4231
|
var t = D({}, Z);
|
|
4239
4232
|
return t.width = Number(t.width), t.height = Number(t.height), t.margin = Number(t.margin), t.imageOptions = D(D({}, t.imageOptions), { hideBackgroundDots: !!t.imageOptions.hideBackgroundDots, imageSize: Number(t.imageOptions.imageSize), margin: Number(t.imageOptions.margin) }), t.margin > Math.min(t.width, t.height) && (t.margin = Math.min(t.width, t.height)), t.dotsOptions = D({}, t.dotsOptions), t.dotsOptions.gradient && (t.dotsOptions.gradient = I(t.dotsOptions.gradient)), t.cornersSquareOptions && (t.cornersSquareOptions = D({}, t.cornersSquareOptions), t.cornersSquareOptions.gradient && (t.cornersSquareOptions.gradient = I(t.cornersSquareOptions.gradient))), t.cornersDotOptions && (t.cornersDotOptions = D({}, t.cornersDotOptions), t.cornersDotOptions.gradient && (t.cornersDotOptions.gradient = I(t.cornersDotOptions.gradient))), t.backgroundOptions && (t.backgroundOptions = D({}, t.backgroundOptions), t.backgroundOptions.gradient && (t.backgroundOptions.gradient = I(t.backgroundOptions.gradient))), t;
|
|
4240
4233
|
}
|
|
4241
|
-
var K =
|
|
4234
|
+
var K = a(192), F = a.n(K), j = function(Z, t, o, r) {
|
|
4242
4235
|
return new (o || (o = Promise))(function(l, g) {
|
|
4243
4236
|
function b(c) {
|
|
4244
4237
|
try {
|
|
4245
|
-
|
|
4238
|
+
s(r.next(c));
|
|
4246
4239
|
} catch (i) {
|
|
4247
4240
|
g(i);
|
|
4248
4241
|
}
|
|
4249
4242
|
}
|
|
4250
4243
|
function N(c) {
|
|
4251
4244
|
try {
|
|
4252
|
-
|
|
4245
|
+
s(r.throw(c));
|
|
4253
4246
|
} catch (i) {
|
|
4254
4247
|
g(i);
|
|
4255
4248
|
}
|
|
4256
4249
|
}
|
|
4257
|
-
function
|
|
4250
|
+
function s(c) {
|
|
4258
4251
|
var i;
|
|
4259
4252
|
c.done ? l(c.value) : (i = c.value, i instanceof o ? i : new o(function(y) {
|
|
4260
4253
|
y(i);
|
|
4261
4254
|
})).then(b, N);
|
|
4262
4255
|
}
|
|
4263
|
-
|
|
4256
|
+
s((r = r.apply(Z, t || [])).next());
|
|
4264
4257
|
});
|
|
4265
4258
|
}, U = function(Z, t) {
|
|
4266
4259
|
var o, r, l, g, b = { label: 0, sent: function() {
|
|
@@ -4271,7 +4264,7 @@ var bn = { exports: {} };
|
|
|
4271
4264
|
return g = { next: N(0), throw: N(1), return: N(2) }, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
|
|
4272
4265
|
return this;
|
|
4273
4266
|
}), g;
|
|
4274
|
-
function N(
|
|
4267
|
+
function N(s) {
|
|
4275
4268
|
return function(c) {
|
|
4276
4269
|
return function(i) {
|
|
4277
4270
|
if (o)
|
|
@@ -4322,7 +4315,7 @@ var bn = { exports: {} };
|
|
|
4322
4315
|
if (5 & i[0])
|
|
4323
4316
|
throw i[1];
|
|
4324
4317
|
return { value: i[0] ? i[1] : void 0, done: !0 };
|
|
4325
|
-
}([
|
|
4318
|
+
}([s, c]);
|
|
4326
4319
|
};
|
|
4327
4320
|
}
|
|
4328
4321
|
};
|
|
@@ -4348,8 +4341,8 @@ var bn = { exports: {} };
|
|
|
4348
4341
|
var r = o._svg, l = new XMLSerializer().serializeToString(r), g = "data:image/svg+xml;base64," + btoa(l), b = new Image();
|
|
4349
4342
|
return new Promise(function(N) {
|
|
4350
4343
|
b.onload = function() {
|
|
4351
|
-
var
|
|
4352
|
-
(c = (
|
|
4344
|
+
var s, c;
|
|
4345
|
+
(c = (s = o._canvas) === null || s === void 0 ? void 0 : s.getContext("2d")) === null || c === void 0 || c.drawImage(b, 0, 0), N();
|
|
4353
4346
|
}, b.src = g;
|
|
4354
4347
|
});
|
|
4355
4348
|
}
|
|
@@ -4428,36 +4421,36 @@ var bn = { exports: {} };
|
|
|
4428
4421
|
});
|
|
4429
4422
|
}, Z;
|
|
4430
4423
|
}();
|
|
4431
|
-
} },
|
|
4424
|
+
} }, p = {};
|
|
4432
4425
|
function f(M) {
|
|
4433
|
-
if (
|
|
4434
|
-
return
|
|
4435
|
-
var m =
|
|
4426
|
+
if (p[M])
|
|
4427
|
+
return p[M].exports;
|
|
4428
|
+
var m = p[M] = { exports: {} };
|
|
4436
4429
|
return d[M](m, m.exports, f), m.exports;
|
|
4437
4430
|
}
|
|
4438
4431
|
return f.n = (M) => {
|
|
4439
4432
|
var m = M && M.__esModule ? () => M.default : () => M;
|
|
4440
4433
|
return f.d(m, { a: m }), m;
|
|
4441
4434
|
}, f.d = (M, m) => {
|
|
4442
|
-
for (var
|
|
4443
|
-
f.o(m,
|
|
4435
|
+
for (var a in m)
|
|
4436
|
+
f.o(m, a) && !f.o(M, a) && Object.defineProperty(M, a, { enumerable: !0, get: m[a] });
|
|
4444
4437
|
}, f.o = (M, m) => Object.prototype.hasOwnProperty.call(M, m), f(676);
|
|
4445
4438
|
})().default;
|
|
4446
4439
|
});
|
|
4447
|
-
})(
|
|
4448
|
-
var kr =
|
|
4449
|
-
const Yr = /* @__PURE__ */ Wr(kr), zr = ({ nodePath: e }) => /* @__PURE__ */
|
|
4450
|
-
|
|
4440
|
+
})(pn);
|
|
4441
|
+
var kr = pn.exports;
|
|
4442
|
+
const Yr = /* @__PURE__ */ Wr(kr), zr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(
|
|
4443
|
+
Lt,
|
|
4451
4444
|
{
|
|
4452
|
-
desktop: /* @__PURE__ */
|
|
4453
|
-
|
|
4445
|
+
desktop: /* @__PURE__ */ h.createElement(
|
|
4446
|
+
Bt,
|
|
4454
4447
|
{
|
|
4455
4448
|
mode: de.DESKTOP,
|
|
4456
4449
|
nodePath: e
|
|
4457
4450
|
}
|
|
4458
4451
|
),
|
|
4459
|
-
mobile: /* @__PURE__ */
|
|
4460
|
-
|
|
4452
|
+
mobile: /* @__PURE__ */ h.createElement(
|
|
4453
|
+
Bt,
|
|
4461
4454
|
{
|
|
4462
4455
|
mode: de.MOBILE,
|
|
4463
4456
|
nodePath: e
|
|
@@ -4465,21 +4458,21 @@ const Yr = /* @__PURE__ */ Wr(kr), zr = ({ nodePath: e }) => /* @__PURE__ */ p.c
|
|
|
4465
4458
|
)
|
|
4466
4459
|
}
|
|
4467
4460
|
));
|
|
4468
|
-
function
|
|
4461
|
+
function Bt({
|
|
4469
4462
|
nodePath: e,
|
|
4470
4463
|
mode: n
|
|
4471
4464
|
}) {
|
|
4472
|
-
const d = Et(), { onUpload:
|
|
4473
|
-
|
|
4465
|
+
const d = Et(), { onUpload: p } = ut(), { setFieldValue: f, getFieldValue: M } = Je(), { selectedNode: m, selectedNodePath: a } = ke(), { setLock: u } = mt(), { isChanged: w } = xn(), [x, Y] = Fe(!1), G = zt(null), z = 600, W = zt(new Yr()), T = a && M(
|
|
4466
|
+
a,
|
|
4474
4467
|
n === de.DESKTOP ? "attributes.dot-color-type" : "mobileAttributes.dot-color-type"
|
|
4475
|
-
) !== "single", O =
|
|
4476
|
-
|
|
4468
|
+
) !== "single", O = a && M(
|
|
4469
|
+
a,
|
|
4477
4470
|
n === de.DESKTOP ? "attributes.corner-dot-color-type" : "mobileAttributes.corner-dot-color-type"
|
|
4478
|
-
) !== "single", _ =
|
|
4479
|
-
|
|
4471
|
+
) !== "single", _ = a && M(
|
|
4472
|
+
a,
|
|
4480
4473
|
n === de.DESKTOP ? "attributes.corner-square-color-type" : "mobileAttributes.corner-square-color-type"
|
|
4481
|
-
) !== "single", ie =
|
|
4482
|
-
const L = n === de.DESKTOP ? m == null ? void 0 : m.attributes :
|
|
4474
|
+
) !== "single", ie = Sn(() => {
|
|
4475
|
+
const L = n === de.DESKTOP ? m == null ? void 0 : m.attributes : vn({}, m == null ? void 0 : m.attributes, m == null ? void 0 : m.mobileAttributes);
|
|
4483
4476
|
if (!L)
|
|
4484
4477
|
return {};
|
|
4485
4478
|
const se = {
|
|
@@ -4569,7 +4562,7 @@ function _t({
|
|
|
4569
4562
|
document.body.appendChild(P), P.style.position = "absolute", P.style.left = "-9999px", W.current.append(P), W.current.getRawData("png").then((L) => Se(this, null, function* () {
|
|
4570
4563
|
if (L) {
|
|
4571
4564
|
const se = window.URL.createObjectURL(L);
|
|
4572
|
-
yield
|
|
4565
|
+
yield $t(se), In.withoutSaving(d, () => {
|
|
4573
4566
|
f(
|
|
4574
4567
|
e,
|
|
4575
4568
|
n === de.DESKTOP ? "attributes.src" : "mobileAttributes.src",
|
|
@@ -4581,7 +4574,7 @@ function _t({
|
|
|
4581
4574
|
P.remove();
|
|
4582
4575
|
});
|
|
4583
4576
|
}, [d, w, n, e, ie, f]);
|
|
4584
|
-
const te =
|
|
4577
|
+
const te = h.useRef();
|
|
4585
4578
|
te.current || (te.current = De(m)), Ue(() => {
|
|
4586
4579
|
_e(te.current, m) ? u(!1) : u(!0);
|
|
4587
4580
|
}, [m, u]);
|
|
@@ -4592,7 +4585,7 @@ function _t({
|
|
|
4592
4585
|
const P = yield W.current.getRawData("png");
|
|
4593
4586
|
if (!P)
|
|
4594
4587
|
return;
|
|
4595
|
-
const L = yield
|
|
4588
|
+
const L = yield p == null ? void 0 : p(P);
|
|
4596
4589
|
f(
|
|
4597
4590
|
e,
|
|
4598
4591
|
n === de.DESKTOP ? "attributes.src" : "mobileAttributes.src",
|
|
@@ -4605,19 +4598,19 @@ function _t({
|
|
|
4605
4598
|
L
|
|
4606
4599
|
), te.current = se;
|
|
4607
4600
|
} catch (P) {
|
|
4608
|
-
console.error(P),
|
|
4601
|
+
console.error(P), dt.error(String(P));
|
|
4609
4602
|
} finally {
|
|
4610
4603
|
Y(!1);
|
|
4611
4604
|
}
|
|
4612
4605
|
});
|
|
4613
|
-
return m ? /* @__PURE__ */
|
|
4606
|
+
return m ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
|
|
4614
4607
|
ue.Item,
|
|
4615
4608
|
{
|
|
4616
4609
|
name: "0",
|
|
4617
4610
|
header: X("Image"),
|
|
4618
|
-
extra: /* @__PURE__ */
|
|
4611
|
+
extra: /* @__PURE__ */ h.createElement(ct, { loading: x, type: "primary", onClick: $ }, X("Save as image"))
|
|
4619
4612
|
},
|
|
4620
|
-
/* @__PURE__ */
|
|
4613
|
+
/* @__PURE__ */ h.createElement(
|
|
4621
4614
|
B,
|
|
4622
4615
|
{
|
|
4623
4616
|
component: R.ImageUrl,
|
|
@@ -4629,23 +4622,23 @@ function _t({
|
|
|
4629
4622
|
colSpan: 10
|
|
4630
4623
|
}
|
|
4631
4624
|
)
|
|
4632
|
-
), /* @__PURE__ */
|
|
4625
|
+
), /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Settings") }, /* @__PURE__ */ h.createElement(
|
|
4633
4626
|
R.TextAreaField,
|
|
4634
4627
|
{
|
|
4635
4628
|
name: "data.text",
|
|
4636
4629
|
path: e,
|
|
4637
4630
|
label: X("Content")
|
|
4638
4631
|
}
|
|
4639
|
-
), /* @__PURE__ */
|
|
4632
|
+
), /* @__PURE__ */ h.createElement(
|
|
4640
4633
|
R.ImageUploaderField,
|
|
4641
4634
|
{
|
|
4642
4635
|
path: e,
|
|
4643
4636
|
name: "data.logo",
|
|
4644
4637
|
label: X("Logo"),
|
|
4645
4638
|
hideInput: !0,
|
|
4646
|
-
uploadHandler:
|
|
4639
|
+
uploadHandler: p
|
|
4647
4640
|
}
|
|
4648
|
-
), /* @__PURE__ */
|
|
4641
|
+
), /* @__PURE__ */ h.createElement(
|
|
4649
4642
|
B,
|
|
4650
4643
|
{
|
|
4651
4644
|
component: R.SliderField,
|
|
@@ -4656,7 +4649,7 @@ function _t({
|
|
|
4656
4649
|
max: 50,
|
|
4657
4650
|
label: X("Margin")
|
|
4658
4651
|
}
|
|
4659
|
-
)), /* @__PURE__ */
|
|
4652
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Colors") }, /* @__PURE__ */ h.createElement(
|
|
4660
4653
|
R.SyncChildrenField,
|
|
4661
4654
|
{
|
|
4662
4655
|
path: e,
|
|
@@ -4664,7 +4657,7 @@ function _t({
|
|
|
4664
4657
|
name: "color",
|
|
4665
4658
|
childrenFieldName: "color"
|
|
4666
4659
|
}
|
|
4667
|
-
), /* @__PURE__ */
|
|
4660
|
+
), /* @__PURE__ */ h.createElement(
|
|
4668
4661
|
B,
|
|
4669
4662
|
{
|
|
4670
4663
|
component: R.SelectField,
|
|
@@ -4698,7 +4691,7 @@ function _t({
|
|
|
4698
4691
|
}
|
|
4699
4692
|
]
|
|
4700
4693
|
}
|
|
4701
|
-
), /* @__PURE__ */
|
|
4694
|
+
), /* @__PURE__ */ h.createElement(
|
|
4702
4695
|
B,
|
|
4703
4696
|
{
|
|
4704
4697
|
component: R.ButtonGroupField,
|
|
@@ -4716,7 +4709,7 @@ function _t({
|
|
|
4716
4709
|
}
|
|
4717
4710
|
]
|
|
4718
4711
|
}
|
|
4719
|
-
), /* @__PURE__ */
|
|
4712
|
+
), /* @__PURE__ */ h.createElement(
|
|
4720
4713
|
B,
|
|
4721
4714
|
{
|
|
4722
4715
|
component: R.ColorPickerField,
|
|
@@ -4724,7 +4717,7 @@ function _t({
|
|
|
4724
4717
|
name: "dot-color",
|
|
4725
4718
|
label: X("Dot color")
|
|
4726
4719
|
}
|
|
4727
|
-
), T && /* @__PURE__ */
|
|
4720
|
+
), T && /* @__PURE__ */ h.createElement(
|
|
4728
4721
|
B,
|
|
4729
4722
|
{
|
|
4730
4723
|
component: R.ColorPickerField,
|
|
@@ -4732,7 +4725,7 @@ function _t({
|
|
|
4732
4725
|
name: "dot-color-2",
|
|
4733
4726
|
label: X("Dot color 2")
|
|
4734
4727
|
}
|
|
4735
|
-
), T && /* @__PURE__ */
|
|
4728
|
+
), T && /* @__PURE__ */ h.createElement(
|
|
4736
4729
|
B,
|
|
4737
4730
|
{
|
|
4738
4731
|
showLimit: !0,
|
|
@@ -4743,7 +4736,7 @@ function _t({
|
|
|
4743
4736
|
max: 360,
|
|
4744
4737
|
label: X("Dot rotation")
|
|
4745
4738
|
}
|
|
4746
|
-
), /* @__PURE__ */
|
|
4739
|
+
), /* @__PURE__ */ h.createElement(wt, null), /* @__PURE__ */ h.createElement(
|
|
4747
4740
|
B,
|
|
4748
4741
|
{
|
|
4749
4742
|
component: R.SelectField,
|
|
@@ -4765,7 +4758,7 @@ function _t({
|
|
|
4765
4758
|
}
|
|
4766
4759
|
]
|
|
4767
4760
|
}
|
|
4768
|
-
), /* @__PURE__ */
|
|
4761
|
+
), /* @__PURE__ */ h.createElement(
|
|
4769
4762
|
B,
|
|
4770
4763
|
{
|
|
4771
4764
|
component: R.ButtonGroupField,
|
|
@@ -4783,7 +4776,7 @@ function _t({
|
|
|
4783
4776
|
}
|
|
4784
4777
|
]
|
|
4785
4778
|
}
|
|
4786
|
-
), /* @__PURE__ */
|
|
4779
|
+
), /* @__PURE__ */ h.createElement(
|
|
4787
4780
|
B,
|
|
4788
4781
|
{
|
|
4789
4782
|
component: R.ColorPickerField,
|
|
@@ -4791,7 +4784,7 @@ function _t({
|
|
|
4791
4784
|
name: "corner-dot-color",
|
|
4792
4785
|
label: X("Corner dot color")
|
|
4793
4786
|
}
|
|
4794
|
-
), O && /* @__PURE__ */
|
|
4787
|
+
), O && /* @__PURE__ */ h.createElement(
|
|
4795
4788
|
B,
|
|
4796
4789
|
{
|
|
4797
4790
|
component: R.ColorPickerField,
|
|
@@ -4799,7 +4792,7 @@ function _t({
|
|
|
4799
4792
|
name: "corner-dot-color-2",
|
|
4800
4793
|
label: X("Corner dot color 2")
|
|
4801
4794
|
}
|
|
4802
|
-
), O && /* @__PURE__ */
|
|
4795
|
+
), O && /* @__PURE__ */ h.createElement(
|
|
4803
4796
|
B,
|
|
4804
4797
|
{
|
|
4805
4798
|
showLimit: !0,
|
|
@@ -4810,7 +4803,7 @@ function _t({
|
|
|
4810
4803
|
max: 360,
|
|
4811
4804
|
label: X("Corner dot rotation")
|
|
4812
4805
|
}
|
|
4813
|
-
), /* @__PURE__ */
|
|
4806
|
+
), /* @__PURE__ */ h.createElement(wt, null), /* @__PURE__ */ h.createElement(
|
|
4814
4807
|
B,
|
|
4815
4808
|
{
|
|
4816
4809
|
component: R.SelectField,
|
|
@@ -4832,7 +4825,7 @@ function _t({
|
|
|
4832
4825
|
}
|
|
4833
4826
|
]
|
|
4834
4827
|
}
|
|
4835
|
-
), /* @__PURE__ */
|
|
4828
|
+
), /* @__PURE__ */ h.createElement(
|
|
4836
4829
|
B,
|
|
4837
4830
|
{
|
|
4838
4831
|
component: R.ButtonGroupField,
|
|
@@ -4850,7 +4843,7 @@ function _t({
|
|
|
4850
4843
|
}
|
|
4851
4844
|
]
|
|
4852
4845
|
}
|
|
4853
|
-
), /* @__PURE__ */
|
|
4846
|
+
), /* @__PURE__ */ h.createElement(
|
|
4854
4847
|
B,
|
|
4855
4848
|
{
|
|
4856
4849
|
component: R.ColorPickerField,
|
|
@@ -4858,7 +4851,7 @@ function _t({
|
|
|
4858
4851
|
name: "corner-square-color",
|
|
4859
4852
|
label: X("Corner Square color")
|
|
4860
4853
|
}
|
|
4861
|
-
), _ && /* @__PURE__ */
|
|
4854
|
+
), _ && /* @__PURE__ */ h.createElement(
|
|
4862
4855
|
B,
|
|
4863
4856
|
{
|
|
4864
4857
|
component: R.ColorPickerField,
|
|
@@ -4866,7 +4859,7 @@ function _t({
|
|
|
4866
4859
|
name: "corner-square-color-2",
|
|
4867
4860
|
label: X("Corner Square color 2")
|
|
4868
4861
|
}
|
|
4869
|
-
), _ && /* @__PURE__ */
|
|
4862
|
+
), _ && /* @__PURE__ */ h.createElement(
|
|
4870
4863
|
B,
|
|
4871
4864
|
{
|
|
4872
4865
|
showLimit: !0,
|
|
@@ -4877,7 +4870,7 @@ function _t({
|
|
|
4877
4870
|
max: 360,
|
|
4878
4871
|
label: X("Corner Square rotation")
|
|
4879
4872
|
}
|
|
4880
|
-
), /* @__PURE__ */
|
|
4873
|
+
), /* @__PURE__ */ h.createElement(wt, null), /* @__PURE__ */ h.createElement(
|
|
4881
4874
|
B,
|
|
4882
4875
|
{
|
|
4883
4876
|
component: R.ColorPickerField,
|
|
@@ -4885,7 +4878,7 @@ function _t({
|
|
|
4885
4878
|
name: "background-color",
|
|
4886
4879
|
label: X("Background color")
|
|
4887
4880
|
}
|
|
4888
|
-
)), /* @__PURE__ */
|
|
4881
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
|
|
4889
4882
|
B,
|
|
4890
4883
|
{
|
|
4891
4884
|
component: R.Padding,
|
|
@@ -4894,12 +4887,12 @@ function _t({
|
|
|
4894
4887
|
}
|
|
4895
4888
|
))) : null;
|
|
4896
4889
|
}
|
|
4897
|
-
const Kr = ({ nodePath: e }) => /* @__PURE__ */
|
|
4890
|
+
const Kr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(Xr, { mode: de.DESKTOP, nodePath: e }));
|
|
4898
4891
|
function Xr({
|
|
4899
4892
|
nodePath: e,
|
|
4900
4893
|
mode: n = de.DESKTOP
|
|
4901
4894
|
}) {
|
|
4902
|
-
const d = Et(), { onUpload:
|
|
4895
|
+
const d = Et(), { onUpload: p } = ut(), { setFieldValue: f } = Je(), { selectedNode: M } = ke(), { setLock: m } = mt(), [a, u] = Fe(!1), w = h.useRef();
|
|
4903
4896
|
w.current || (w.current = De(M)), Ue(() => {
|
|
4904
4897
|
var Y;
|
|
4905
4898
|
_e((Y = w.current) == null ? void 0 : Y.data, M == null ? void 0 : M.data) ? m(!1) : m(!0);
|
|
@@ -4908,9 +4901,9 @@ function Xr({
|
|
|
4908
4901
|
if (M)
|
|
4909
4902
|
try {
|
|
4910
4903
|
u(!0);
|
|
4911
|
-
const Y =
|
|
4904
|
+
const Y = tn.toDOMNode(d, M), G = yield an(Y, {
|
|
4912
4905
|
styleText: '[data-slate-type="common-video"] { width: 600px }'
|
|
4913
|
-
}), z = yield
|
|
4906
|
+
}), z = yield Yn(yield rn(G)), W = yield p == null ? void 0 : p(
|
|
4914
4907
|
new File([z], "video.png", { type: z.type })
|
|
4915
4908
|
);
|
|
4916
4909
|
f(
|
|
@@ -4925,19 +4918,19 @@ function Xr({
|
|
|
4925
4918
|
W
|
|
4926
4919
|
), w.current = T;
|
|
4927
4920
|
} catch (Y) {
|
|
4928
|
-
console.error(Y),
|
|
4921
|
+
console.error(Y), dt.error(String(Y));
|
|
4929
4922
|
} finally {
|
|
4930
4923
|
u(!1);
|
|
4931
4924
|
}
|
|
4932
4925
|
});
|
|
4933
|
-
return M ? /* @__PURE__ */
|
|
4926
|
+
return M ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(
|
|
4934
4927
|
ue.Item,
|
|
4935
4928
|
{
|
|
4936
4929
|
name: "2",
|
|
4937
4930
|
header: X("Video thumbnail"),
|
|
4938
|
-
extra: /* @__PURE__ */
|
|
4931
|
+
extra: /* @__PURE__ */ h.createElement(ct, { loading: a, type: "primary", onClick: x }, X("Save"))
|
|
4939
4932
|
},
|
|
4940
|
-
/* @__PURE__ */
|
|
4933
|
+
/* @__PURE__ */ h.createElement(
|
|
4941
4934
|
R.ImageUrl,
|
|
4942
4935
|
{
|
|
4943
4936
|
path: e,
|
|
@@ -4946,7 +4939,7 @@ function Xr({
|
|
|
4946
4939
|
hideInput: !0
|
|
4947
4940
|
}
|
|
4948
4941
|
),
|
|
4949
|
-
/* @__PURE__ */
|
|
4942
|
+
/* @__PURE__ */ h.createElement(je.Row, null, /* @__PURE__ */ h.createElement(je.Col, { offset: 1, span: 22 }, /* @__PURE__ */ h.createElement(
|
|
4950
4943
|
R.TextField,
|
|
4951
4944
|
{
|
|
4952
4945
|
path: e,
|
|
@@ -4957,7 +4950,7 @@ function Xr({
|
|
|
4957
4950
|
labelCol: { offset: 0 }
|
|
4958
4951
|
}
|
|
4959
4952
|
}
|
|
4960
|
-
), /* @__PURE__ */
|
|
4953
|
+
), /* @__PURE__ */ h.createElement(
|
|
4961
4954
|
R.SliderField,
|
|
4962
4955
|
{
|
|
4963
4956
|
path: e,
|
|
@@ -4972,7 +4965,7 @@ function Xr({
|
|
|
4972
4965
|
label: X("Video mask opacity")
|
|
4973
4966
|
}
|
|
4974
4967
|
)))
|
|
4975
|
-
), /* @__PURE__ */
|
|
4968
|
+
), /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Play Icon") }, /* @__PURE__ */ h.createElement(
|
|
4976
4969
|
R.ImageUrl,
|
|
4977
4970
|
{
|
|
4978
4971
|
size: "small",
|
|
@@ -4981,7 +4974,7 @@ function Xr({
|
|
|
4981
4974
|
formItem: { layout: "vertical" },
|
|
4982
4975
|
hideInput: !0
|
|
4983
4976
|
}
|
|
4984
|
-
), /* @__PURE__ */
|
|
4977
|
+
), /* @__PURE__ */ h.createElement(je.Row, null, /* @__PURE__ */ h.createElement(je.Col, { offset: 1, span: 22 }, /* @__PURE__ */ h.createElement(
|
|
4985
4978
|
R.SliderField,
|
|
4986
4979
|
{
|
|
4987
4980
|
path: e,
|
|
@@ -5004,18 +4997,18 @@ const Or = {
|
|
|
5004
4997
|
normalize(e) {
|
|
5005
4998
|
return e ? "true" : void 0;
|
|
5006
4999
|
}
|
|
5007
|
-
}, Vr = ({ nodePath: e }) => /* @__PURE__ */
|
|
5008
|
-
|
|
5000
|
+
}, Vr = ({ nodePath: e }) => /* @__PURE__ */ h.createElement(rt, null, /* @__PURE__ */ h.createElement(
|
|
5001
|
+
Lt,
|
|
5009
5002
|
{
|
|
5010
|
-
desktop: /* @__PURE__ */
|
|
5011
|
-
|
|
5003
|
+
desktop: /* @__PURE__ */ h.createElement(
|
|
5004
|
+
_t,
|
|
5012
5005
|
{
|
|
5013
5006
|
mode: de.DESKTOP,
|
|
5014
5007
|
nodePath: e
|
|
5015
5008
|
}
|
|
5016
5009
|
),
|
|
5017
|
-
mobile: /* @__PURE__ */
|
|
5018
|
-
|
|
5010
|
+
mobile: /* @__PURE__ */ h.createElement(
|
|
5011
|
+
_t,
|
|
5019
5012
|
{
|
|
5020
5013
|
mode: de.MOBILE,
|
|
5021
5014
|
nodePath: e
|
|
@@ -5023,82 +5016,82 @@ const Or = {
|
|
|
5023
5016
|
)
|
|
5024
5017
|
}
|
|
5025
5018
|
));
|
|
5026
|
-
function
|
|
5019
|
+
function _t({
|
|
5027
5020
|
nodePath: e,
|
|
5028
5021
|
mode: n
|
|
5029
5022
|
}) {
|
|
5030
|
-
const [d,
|
|
5031
|
-
return f ? /* @__PURE__ */
|
|
5023
|
+
const [d, p] = Fe("image"), { selectedNode: f } = ke();
|
|
5024
|
+
return f ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Container") }, /* @__PURE__ */ h.createElement(Ar, { nodePath: e, mode: n }), /* @__PURE__ */ h.createElement(
|
|
5032
5025
|
R.SwitchField,
|
|
5033
5026
|
{
|
|
5034
5027
|
label: X("Stack on mobile"),
|
|
5035
5028
|
name: "data.stackOnMobile",
|
|
5036
5029
|
path: e
|
|
5037
5030
|
}
|
|
5038
|
-
), /* @__PURE__ */
|
|
5031
|
+
), /* @__PURE__ */ h.createElement(
|
|
5039
5032
|
B,
|
|
5040
5033
|
{
|
|
5041
5034
|
component: R.Padding,
|
|
5042
5035
|
path: e,
|
|
5043
5036
|
name: ""
|
|
5044
5037
|
}
|
|
5045
|
-
), /* @__PURE__ */
|
|
5038
|
+
), /* @__PURE__ */ h.createElement(
|
|
5046
5039
|
B,
|
|
5047
5040
|
{
|
|
5048
5041
|
name: "",
|
|
5049
5042
|
component: R.Direction,
|
|
5050
5043
|
path: e
|
|
5051
5044
|
}
|
|
5052
|
-
), /* @__PURE__ */
|
|
5045
|
+
), /* @__PURE__ */ h.createElement(
|
|
5053
5046
|
B,
|
|
5054
5047
|
{
|
|
5055
5048
|
name: "vertical-align",
|
|
5056
5049
|
component: R.VerticalAlign,
|
|
5057
5050
|
path: e
|
|
5058
5051
|
}
|
|
5059
|
-
), /* @__PURE__ */
|
|
5052
|
+
), /* @__PURE__ */ h.createElement(
|
|
5060
5053
|
B,
|
|
5061
5054
|
{
|
|
5062
5055
|
component: R.Border,
|
|
5063
5056
|
path: e,
|
|
5064
5057
|
name: ""
|
|
5065
5058
|
}
|
|
5066
|
-
), /* @__PURE__ */
|
|
5059
|
+
), /* @__PURE__ */ h.createElement(
|
|
5067
5060
|
B,
|
|
5068
5061
|
{
|
|
5069
5062
|
name: "background-color",
|
|
5070
5063
|
component: R.BackgroundColor,
|
|
5071
5064
|
path: e
|
|
5072
5065
|
}
|
|
5073
|
-
)), /* @__PURE__ */
|
|
5066
|
+
)), /* @__PURE__ */ h.createElement(
|
|
5074
5067
|
ue.Item,
|
|
5075
5068
|
{
|
|
5076
5069
|
name: "2",
|
|
5077
5070
|
header: X("Content"),
|
|
5078
5071
|
contentStyle: { padding: 0, paddingBottom: 0 }
|
|
5079
5072
|
},
|
|
5080
|
-
/* @__PURE__ */
|
|
5081
|
-
|
|
5073
|
+
/* @__PURE__ */ h.createElement(
|
|
5074
|
+
Mt.Group,
|
|
5082
5075
|
{
|
|
5083
5076
|
type: "button",
|
|
5084
5077
|
style: { width: "100%", whiteSpace: "nowrap" },
|
|
5085
5078
|
value: d,
|
|
5086
|
-
onChange:
|
|
5079
|
+
onChange: p
|
|
5087
5080
|
},
|
|
5088
|
-
/* @__PURE__ */
|
|
5089
|
-
/* @__PURE__ */
|
|
5081
|
+
/* @__PURE__ */ h.createElement(Mt, { style: { width: "50%", textAlign: "center" }, value: "image" }, "Image"),
|
|
5082
|
+
/* @__PURE__ */ h.createElement(Mt, { style: { width: "50%", textAlign: "center" }, value: "text" }, "Text")
|
|
5090
5083
|
),
|
|
5091
|
-
d === "image" ? /* @__PURE__ */
|
|
5084
|
+
d === "image" ? /* @__PURE__ */ h.createElement(jr, { nodePath: [...e, 0] }) : /* @__PURE__ */ h.createElement(Pr, { nodePath: [...e, 1], mode: n })
|
|
5092
5085
|
)) : null;
|
|
5093
5086
|
}
|
|
5094
5087
|
const jr = ({ nodePath: e }) => {
|
|
5095
|
-
const { selectedNode: n } = ke(), { setFieldValue: d, values:
|
|
5088
|
+
const { selectedNode: n } = ke(), { setFieldValue: d, values: p } = Je(), f = parseInt(p.content.attributes.width || "600") || 600, M = Ct(
|
|
5096
5089
|
(m) => {
|
|
5097
5090
|
m.width < f && d(e, "attributes.width", m.width + "px");
|
|
5098
5091
|
},
|
|
5099
5092
|
[e, f, d]
|
|
5100
5093
|
);
|
|
5101
|
-
return n ? /* @__PURE__ */
|
|
5094
|
+
return n ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2", "3"], hasBottom: !1 }, /* @__PURE__ */ h.createElement(ue.Item, { name: "3", header: X("Image") }, /* @__PURE__ */ h.createElement(
|
|
5102
5095
|
B,
|
|
5103
5096
|
{
|
|
5104
5097
|
component: R.ImageUrl,
|
|
@@ -5107,7 +5100,7 @@ const jr = ({ nodePath: e }) => {
|
|
|
5107
5100
|
onCallbackImageDetail: M,
|
|
5108
5101
|
formItem: { layout: "vertical" }
|
|
5109
5102
|
}
|
|
5110
|
-
)), /* @__PURE__ */
|
|
5103
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Image settings") }, /* @__PURE__ */ h.createElement(
|
|
5111
5104
|
B,
|
|
5112
5105
|
{
|
|
5113
5106
|
component: R.Link,
|
|
@@ -5115,7 +5108,7 @@ const jr = ({ nodePath: e }) => {
|
|
|
5115
5108
|
name: "href",
|
|
5116
5109
|
label: X("Link address")
|
|
5117
5110
|
}
|
|
5118
|
-
), /* @__PURE__ */
|
|
5111
|
+
), /* @__PURE__ */ h.createElement(
|
|
5119
5112
|
B,
|
|
5120
5113
|
{
|
|
5121
5114
|
component: R.TextField,
|
|
@@ -5124,7 +5117,7 @@ const jr = ({ nodePath: e }) => {
|
|
|
5124
5117
|
label: X("Alt text"),
|
|
5125
5118
|
placeholder: X("Brief description of your image")
|
|
5126
5119
|
}
|
|
5127
|
-
), /* @__PURE__ */
|
|
5120
|
+
), /* @__PURE__ */ h.createElement(
|
|
5128
5121
|
B,
|
|
5129
5122
|
{
|
|
5130
5123
|
component: R.SwitchField,
|
|
@@ -5133,28 +5126,28 @@ const jr = ({ nodePath: e }) => {
|
|
|
5133
5126
|
label: X("Full width on mobile"),
|
|
5134
5127
|
formItem: Or
|
|
5135
5128
|
}
|
|
5136
|
-
)), /* @__PURE__ */
|
|
5129
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
|
|
5137
5130
|
B,
|
|
5138
5131
|
{
|
|
5139
5132
|
component: R.ImageWidth,
|
|
5140
5133
|
path: e,
|
|
5141
5134
|
name: "width"
|
|
5142
5135
|
}
|
|
5143
|
-
), /* @__PURE__ */
|
|
5136
|
+
), /* @__PURE__ */ h.createElement(
|
|
5144
5137
|
B,
|
|
5145
5138
|
{
|
|
5146
5139
|
component: R.Height,
|
|
5147
5140
|
path: e,
|
|
5148
5141
|
name: "height"
|
|
5149
5142
|
}
|
|
5150
|
-
), /* @__PURE__ */
|
|
5143
|
+
), /* @__PURE__ */ h.createElement(
|
|
5151
5144
|
B,
|
|
5152
5145
|
{
|
|
5153
5146
|
component: R.Padding,
|
|
5154
5147
|
path: e,
|
|
5155
5148
|
name: ""
|
|
5156
5149
|
}
|
|
5157
|
-
)), /* @__PURE__ */
|
|
5150
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Border") }, /* @__PURE__ */ h.createElement(
|
|
5158
5151
|
B,
|
|
5159
5152
|
{
|
|
5160
5153
|
component: R.Border,
|
|
@@ -5167,21 +5160,21 @@ const jr = ({ nodePath: e }) => {
|
|
|
5167
5160
|
mode: n
|
|
5168
5161
|
}) => {
|
|
5169
5162
|
const { selectedNode: d } = ke();
|
|
5170
|
-
return d ? /* @__PURE__ */
|
|
5163
|
+
return d ? /* @__PURE__ */ h.createElement(Re, { defaultActiveKey: ["0", "1", "2"] }, /* @__PURE__ */ h.createElement(ue.Item, { name: "0", header: X("Dimension") }, /* @__PURE__ */ h.createElement(
|
|
5171
5164
|
B,
|
|
5172
5165
|
{
|
|
5173
5166
|
component: R.Height,
|
|
5174
5167
|
path: e,
|
|
5175
5168
|
name: "height"
|
|
5176
5169
|
}
|
|
5177
|
-
), /* @__PURE__ */
|
|
5170
|
+
), /* @__PURE__ */ h.createElement(
|
|
5178
5171
|
B,
|
|
5179
5172
|
{
|
|
5180
5173
|
component: R.Padding,
|
|
5181
5174
|
path: e,
|
|
5182
5175
|
name: ""
|
|
5183
5176
|
}
|
|
5184
|
-
)), /* @__PURE__ */
|
|
5177
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "1", header: X("Typography") }, n === de.DESKTOP && /* @__PURE__ */ h.createElement(
|
|
5185
5178
|
R.Heading,
|
|
5186
5179
|
{
|
|
5187
5180
|
path: e,
|
|
@@ -5190,7 +5183,7 @@ const jr = ({ nodePath: e }) => {
|
|
|
5190
5183
|
wrapperCol: { span: 14, offset: 0 }
|
|
5191
5184
|
}
|
|
5192
5185
|
}
|
|
5193
|
-
), /* @__PURE__ */
|
|
5186
|
+
), /* @__PURE__ */ h.createElement(
|
|
5194
5187
|
B,
|
|
5195
5188
|
{
|
|
5196
5189
|
mode: n,
|
|
@@ -5199,14 +5192,14 @@ const jr = ({ nodePath: e }) => {
|
|
|
5199
5192
|
name: "",
|
|
5200
5193
|
type: d.type
|
|
5201
5194
|
}
|
|
5202
|
-
)), /* @__PURE__ */
|
|
5195
|
+
)), /* @__PURE__ */ h.createElement(ue.Item, { name: "2", header: X("Block") }, /* @__PURE__ */ h.createElement(
|
|
5203
5196
|
B,
|
|
5204
5197
|
{
|
|
5205
5198
|
component: R.BackgroundColor,
|
|
5206
5199
|
path: e,
|
|
5207
5200
|
name: "container-background-color"
|
|
5208
5201
|
}
|
|
5209
|
-
), /* @__PURE__ */
|
|
5202
|
+
), /* @__PURE__ */ h.createElement(
|
|
5210
5203
|
B,
|
|
5211
5204
|
{
|
|
5212
5205
|
component: R.TextAlign,
|
|
@@ -5218,35 +5211,35 @@ const jr = ({ nodePath: e }) => {
|
|
|
5218
5211
|
nodePath: e,
|
|
5219
5212
|
mode: n
|
|
5220
5213
|
}) => {
|
|
5221
|
-
const { selectedNode: d } = ke(), { setFieldValue:
|
|
5214
|
+
const { selectedNode: d } = ke(), { setFieldValue: p } = Je(), f = en(
|
|
5222
5215
|
d,
|
|
5223
5216
|
n === de.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
|
|
5224
5217
|
50
|
|
5225
|
-
), [M, m] = Fe(f), [
|
|
5218
|
+
), [M, m] = Fe(f), [a, u] = Fe(100 - f);
|
|
5226
5219
|
Ue(() => {
|
|
5227
5220
|
m(f), u(100 - f);
|
|
5228
5221
|
}, [f]);
|
|
5229
|
-
const w =
|
|
5230
|
-
|
|
5222
|
+
const w = Ct(() => {
|
|
5223
|
+
p(
|
|
5231
5224
|
e,
|
|
5232
5225
|
n === de.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
|
|
5233
5226
|
M
|
|
5234
5227
|
);
|
|
5235
|
-
}, [n, e,
|
|
5236
|
-
|
|
5228
|
+
}, [n, e, p, M]), x = Ct(() => {
|
|
5229
|
+
p(
|
|
5237
5230
|
e,
|
|
5238
5231
|
n === de.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
|
|
5239
|
-
100 -
|
|
5232
|
+
100 - a
|
|
5240
5233
|
);
|
|
5241
|
-
}, [n, e,
|
|
5242
|
-
return d ? /* @__PURE__ */
|
|
5243
|
-
|
|
5234
|
+
}, [n, e, p, a]);
|
|
5235
|
+
return d ? /* @__PURE__ */ h.createElement(
|
|
5236
|
+
Zn.Item,
|
|
5244
5237
|
{
|
|
5245
|
-
label: /* @__PURE__ */
|
|
5238
|
+
label: /* @__PURE__ */ h.createElement("span", { style: { textAlign: "right" } }, X("Column widths")),
|
|
5246
5239
|
labelCol: { span: 6, offset: 1 },
|
|
5247
5240
|
wrapperCol: { span: 14, offset: 1 }
|
|
5248
5241
|
},
|
|
5249
|
-
/* @__PURE__ */
|
|
5242
|
+
/* @__PURE__ */ h.createElement(Nn, { align: "center", size: "small" }, /* @__PURE__ */ h.createElement(
|
|
5250
5243
|
Kt,
|
|
5251
5244
|
{
|
|
5252
5245
|
min: 1,
|
|
@@ -5256,12 +5249,12 @@ const jr = ({ nodePath: e }) => {
|
|
|
5256
5249
|
onChange: m,
|
|
5257
5250
|
onBlur: w
|
|
5258
5251
|
}
|
|
5259
|
-
), /* @__PURE__ */
|
|
5252
|
+
), /* @__PURE__ */ h.createElement(Cn, null), /* @__PURE__ */ h.createElement(
|
|
5260
5253
|
Kt,
|
|
5261
5254
|
{
|
|
5262
5255
|
min: 1,
|
|
5263
5256
|
max: 99,
|
|
5264
|
-
value:
|
|
5257
|
+
value: a,
|
|
5265
5258
|
suffix: "%",
|
|
5266
5259
|
onChange: u,
|
|
5267
5260
|
onBlur: x
|
|
@@ -5271,12 +5264,12 @@ const jr = ({ nodePath: e }) => {
|
|
|
5271
5264
|
};
|
|
5272
5265
|
class eo extends tt {
|
|
5273
5266
|
generateElement() {
|
|
5274
|
-
nt.registerBlocks([Vt]), Ge(ot, Vt.type,
|
|
5267
|
+
nt.registerBlocks([Vt]), Ge(ot, Vt.type, Dr);
|
|
5275
5268
|
}
|
|
5276
5269
|
}
|
|
5277
5270
|
class to extends tt {
|
|
5278
5271
|
generateElement() {
|
|
5279
|
-
nt.registerBlocks([Xt]), Ge(ot, Xt.type,
|
|
5272
|
+
nt.registerBlocks([Xt]), Ge(ot, Xt.type, Lr);
|
|
5280
5273
|
}
|
|
5281
5274
|
}
|
|
5282
5275
|
class no extends tt {
|
|
@@ -5295,11 +5288,11 @@ class oo extends tt {
|
|
|
5295
5288
|
}
|
|
5296
5289
|
}
|
|
5297
5290
|
export {
|
|
5298
|
-
|
|
5291
|
+
Gn as CommonType,
|
|
5299
5292
|
to as Countdown,
|
|
5300
5293
|
oo as ImageWithText,
|
|
5301
5294
|
Ne as KitElementType,
|
|
5302
|
-
|
|
5295
|
+
Dn as MarketingType,
|
|
5303
5296
|
no as QRCode,
|
|
5304
5297
|
eo as Shopwindow,
|
|
5305
5298
|
ro as Video
|