@univerjs/sheets-conditional-formatting 0.1.16 → 0.1.17
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/cjs/index.js +1 -1
- package/lib/es/index.js +188 -191
- package/lib/types/plugin.d.ts +1 -4
- package/lib/umd/index.js +1 -1
- package/package.json +10 -10
package/lib/es/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
var CA = Object.defineProperty;
|
|
2
2
|
var YA = (f, v, e) => v in f ? CA(f, v, { enumerable: !0, configurable: !0, writable: !0, value: e }) : f[v] = e;
|
|
3
|
-
var
|
|
4
|
-
import { Tools as
|
|
5
|
-
import { Inject as J, Injector as
|
|
3
|
+
var D = (f, v, e) => YA(f, typeof v != "symbol" ? v + "" : v, e);
|
|
4
|
+
import { Tools as _, ObjectMatrix as Y, Range as W, CommandType as vA, ICommandService as PA, Disposable as WA, toDisposable as OA, RefAlias as jA, CellValueType as c, BooleanNumber as EA, ColorKit as JA, Rectangle as R, createInterceptorKey as hA, OnLifecycle as UA, LifecycleStages as RA, IUniverInstanceService as MA, IResourceManagerService as VA, afterInitApply as bA, InterceptorManager as FA, UniverInstanceType as NA, Plugin as IA } from "@univerjs/core";
|
|
5
|
+
import { Inject as J, Injector as XA } from "@wendellhu/redi";
|
|
6
6
|
import { SheetInterceptorService as zA, RemoveSheetCommand as qA, ReorderRangeMutation as KA, MoveRangeMutation as yA, MoveColsMutation as xA, MoveRowsMutation as GA, InsertRowMutation as _A, RemoveRowMutation as $A, RemoveColMutation as Av, InsertColMutation as vv, SetRangeValuesMutation as ev } from "@univerjs/sheets";
|
|
7
|
-
import { Subject as
|
|
8
|
-
import { bufferTime as Zv, filter as
|
|
9
|
-
import { IActiveDirtyManagerService as nv, SetFormulaCalculationResultMutation as mv, SetOtherFormulaMutation as Tv, RemoveOtherFormulaMutation as Sv, BooleanValue as
|
|
7
|
+
import { Subject as LA } from "rxjs";
|
|
8
|
+
import { bufferTime as Zv, filter as aA, map as fv } from "rxjs/operators";
|
|
9
|
+
import { IActiveDirtyManagerService as nv, SetFormulaCalculationResultMutation as mv, SetOtherFormulaMutation as Tv, RemoveOtherFormulaMutation as Sv, BooleanValue as uA, LexerTreeBuilder as lv, sequenceNodeType as Nv, deserializeRangeWithSheet as Xv, serializeRange as Lv, generateStringWithSequence as tv, ERROR_TYPE_SET as DA } from "@univerjs/engine-formula";
|
|
10
10
|
import E from "dayjs";
|
|
11
|
-
import { isObject as kv, SpreadsheetExtensionRegistry as
|
|
11
|
+
import { isObject as kv, SpreadsheetExtensionRegistry as iA, SheetExtension as sA, FIX_ONE_PIXEL_BLUR_OFFSET as wv } from "@univerjs/engine-render";
|
|
12
12
|
const oA = "SHEET_CONDITIONAL_FORMATTING_PLUGIN";
|
|
13
|
-
var o = /* @__PURE__ */ ((f) => (f.beginsWith = "beginsWith", f.endsWith = "endsWith", f.containsText = "containsText", f.notContainsText = "notContainsText", f.equal = "equal", f.notEqual = "notEqual", f.containsBlanks = "containsBlanks", f.notContainsBlanks = "notContainsBlanks", f.containsErrors = "containsErrors", f.notContainsErrors = "notContainsErrors", f))(o || {}), g = /* @__PURE__ */ ((f) => (f.today = "today", f.yesterday = "yesterday", f.tomorrow = "tomorrow", f.last7Days = "last7Days", f.thisMonth = "thisMonth", f.lastMonth = "lastMonth", f.nextMonth = "nextMonth", f.thisWeek = "thisWeek", f.lastWeek = "lastWeek", f.nextWeek = "nextWeek", f))(g || {}), H = /* @__PURE__ */ ((f) => (f.greaterThan = "greaterThan", f.greaterThanOrEqual = "greaterThanOrEqual", f.lessThan = "lessThan", f.lessThanOrEqual = "lessThanOrEqual", f.notBetween = "notBetween", f.between = "between", f.equal = "equal", f.notEqual = "notEqual", f))(H || {}), h = /* @__PURE__ */ ((f) => (f.highlightCell = "highlightCell", f.dataBar = "dataBar", f.colorScale = "colorScale", f.iconSet = "iconSet", f))(h || {}),
|
|
13
|
+
var o = /* @__PURE__ */ ((f) => (f.beginsWith = "beginsWith", f.endsWith = "endsWith", f.containsText = "containsText", f.notContainsText = "notContainsText", f.equal = "equal", f.notEqual = "notEqual", f.containsBlanks = "containsBlanks", f.notContainsBlanks = "notContainsBlanks", f.containsErrors = "containsErrors", f.notContainsErrors = "notContainsErrors", f))(o || {}), g = /* @__PURE__ */ ((f) => (f.today = "today", f.yesterday = "yesterday", f.tomorrow = "tomorrow", f.last7Days = "last7Days", f.thisMonth = "thisMonth", f.lastMonth = "lastMonth", f.nextMonth = "nextMonth", f.thisWeek = "thisWeek", f.lastWeek = "lastWeek", f.nextWeek = "nextWeek", f))(g || {}), H = /* @__PURE__ */ ((f) => (f.greaterThan = "greaterThan", f.greaterThanOrEqual = "greaterThanOrEqual", f.lessThan = "lessThan", f.lessThanOrEqual = "lessThanOrEqual", f.notBetween = "notBetween", f.between = "between", f.equal = "equal", f.notEqual = "notEqual", f))(H || {}), h = /* @__PURE__ */ ((f) => (f.highlightCell = "highlightCell", f.dataBar = "dataBar", f.colorScale = "colorScale", f.iconSet = "iconSet", f))(h || {}), i = /* @__PURE__ */ ((f) => (f.uniqueValues = "uniqueValues", f.duplicateValues = "duplicateValues", f.rank = "rank", f.text = "text", f.timePeriod = "timePeriod", f.number = "number", f.average = "average", f.formula = "formula", f))(i || {}), z = /* @__PURE__ */ ((f) => (f.num = "num", f.min = "min", f.max = "max", f.percent = "percent", f.percentile = "percentile", f.formula = "formula", f))(z || {});
|
|
14
14
|
const re = "#fff", He = "#000000", Qe = () => ({
|
|
15
15
|
cfId: void 0,
|
|
16
16
|
ranges: [],
|
|
@@ -57,7 +57,7 @@ const re = "#fff", He = "#000000", Qe = () => ({
|
|
|
57
57
|
return v !== void 0 ? v : 10;
|
|
58
58
|
}
|
|
59
59
|
return "";
|
|
60
|
-
}, Pv = () => `${
|
|
60
|
+
}, Pv = () => `${_.generateRandomId(8)}`, q = (f, v, e) => {
|
|
61
61
|
if (!v)
|
|
62
62
|
return null;
|
|
63
63
|
const A = v.findIndex((Z) => e(Z) === f.id);
|
|
@@ -134,12 +134,12 @@ const re = "#fff", He = "#000000", Qe = () => ({
|
|
|
134
134
|
}
|
|
135
135
|
return null;
|
|
136
136
|
}, Je = (f, v) => f.id === v.id && f.type === v.type;
|
|
137
|
-
class
|
|
137
|
+
class eA {
|
|
138
138
|
constructor() {
|
|
139
139
|
// Map<unitID ,<sheetId ,ObjectMatrix>>
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
140
|
+
D(this, "_model", /* @__PURE__ */ new Map());
|
|
141
|
+
D(this, "_markDirty$", new LA());
|
|
142
|
+
D(this, "markDirty$", this._markDirty$.asObservable());
|
|
143
143
|
}
|
|
144
144
|
_ensureMatrix(v, e) {
|
|
145
145
|
let A = this.getMatrix(v, e);
|
|
@@ -214,13 +214,13 @@ var uv = Object.defineProperty, Dv = Object.getOwnPropertyDescriptor, rv = (f, v
|
|
|
214
214
|
for (var Z = A > 1 ? void 0 : A ? Dv(v, e) : v, n = f.length - 1, m; n >= 0; n--)
|
|
215
215
|
(m = f[n]) && (Z = (A ? m(v, e, Z) : m(Z)) || Z);
|
|
216
216
|
return A && Z && uv(v, e, Z), Z;
|
|
217
|
-
},
|
|
217
|
+
}, rA = (f, v) => (e, A) => v(e, A, f);
|
|
218
218
|
let O = class {
|
|
219
219
|
constructor(f, v) {
|
|
220
220
|
// Map<unitID ,<sheetId ,IConditionFormattingRule[]>>
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
221
|
+
D(this, "_model", /* @__PURE__ */ new Map());
|
|
222
|
+
D(this, "_ruleChange$", new LA());
|
|
223
|
+
D(this, "$ruleChange", this._ruleChange$.asObservable());
|
|
224
224
|
this._conditionalFormattingViewModel = f, this._injector = v;
|
|
225
225
|
}
|
|
226
226
|
_ensureList(f, v) {
|
|
@@ -257,7 +257,7 @@ let O = class {
|
|
|
257
257
|
setRule(f, v, e, A) {
|
|
258
258
|
const Z = this._ensureList(f, v), n = Z.find((m) => m.cfId === A);
|
|
259
259
|
if (n) {
|
|
260
|
-
const m = Z.map((N) => N.cfId).reduce((N, X, k) => (N.set(X, k), N), /* @__PURE__ */ new Map()), T = [...n.ranges], l = this._injector.get(
|
|
260
|
+
const m = Z.map((N) => N.cfId).reduce((N, X, k) => (N.set(X, k), N), /* @__PURE__ */ new Map()), T = [...n.ranges], l = this._injector.get(G);
|
|
261
261
|
Object.assign(n, e);
|
|
262
262
|
const S = l.interceptorManager.intercept(l.interceptorManager.getInterceptPoints().beforeUpdateRuleResult, {
|
|
263
263
|
handler: (N, X, k) => {
|
|
@@ -320,11 +320,11 @@ let O = class {
|
|
|
320
320
|
}
|
|
321
321
|
};
|
|
322
322
|
O = rv([
|
|
323
|
-
|
|
324
|
-
|
|
323
|
+
rA(0, J(eA)),
|
|
324
|
+
rA(1, J(XA))
|
|
325
325
|
], O);
|
|
326
|
-
const
|
|
327
|
-
type:
|
|
326
|
+
const ae = (f, v) => ({ id: dA.id, params: { unitId: v.unitId, subUnitId: v.subUnitId, cfId: v.rule.cfId } }), gA = {
|
|
327
|
+
type: vA.MUTATION,
|
|
328
328
|
id: "sheet.mutation.add-conditional-rule",
|
|
329
329
|
handler(f, v) {
|
|
330
330
|
if (!v)
|
|
@@ -332,8 +332,8 @@ const ie = (f, v) => ({ id: pA.id, params: { unitId: v.unitId, subUnitId: v.subU
|
|
|
332
332
|
const { unitId: e, subUnitId: A, rule: Z } = v;
|
|
333
333
|
return f.get(O).addRule(e, A, Z), !0;
|
|
334
334
|
}
|
|
335
|
-
},
|
|
336
|
-
type:
|
|
335
|
+
}, BA = {
|
|
336
|
+
type: vA.MUTATION,
|
|
337
337
|
id: "sheet.mutation.move-conditional-rule",
|
|
338
338
|
handler(f, v) {
|
|
339
339
|
if (!v)
|
|
@@ -341,14 +341,14 @@ const ie = (f, v) => ({ id: pA.id, params: { unitId: v.unitId, subUnitId: v.subU
|
|
|
341
341
|
const { unitId: e, subUnitId: A, start: Z, end: n } = v;
|
|
342
342
|
return f.get(O).moveRulePriority(e, A, Z, n), !0;
|
|
343
343
|
}
|
|
344
|
-
},
|
|
344
|
+
}, ie = (f) => {
|
|
345
345
|
const { unitId: v, subUnitId: e } = f, A = pv(f.start, f.end);
|
|
346
346
|
if (!A)
|
|
347
347
|
return [];
|
|
348
348
|
const [Z, n] = A;
|
|
349
349
|
return [
|
|
350
350
|
{
|
|
351
|
-
id:
|
|
351
|
+
id: BA.id,
|
|
352
352
|
params: { unitId: v, subUnitId: e, start: Z, end: n }
|
|
353
353
|
}
|
|
354
354
|
];
|
|
@@ -357,7 +357,7 @@ const ie = (f, v) => ({ id: pA.id, params: { unitId: v.unitId, subUnitId: v.subU
|
|
|
357
357
|
if (T > -1) {
|
|
358
358
|
const S = m[T], N = [{
|
|
359
359
|
id: gA.id,
|
|
360
|
-
params: { unitId: A, subUnitId: Z, rule:
|
|
360
|
+
params: { unitId: A, subUnitId: Z, rule: _.deepClone(S) }
|
|
361
361
|
}];
|
|
362
362
|
if (m.splice(T, 1), T !== 0) {
|
|
363
363
|
const X = m[0];
|
|
@@ -371,14 +371,14 @@ const ie = (f, v) => ({ id: pA.id, params: { unitId: v.unitId, subUnitId: v.subU
|
|
|
371
371
|
start: w,
|
|
372
372
|
end: L
|
|
373
373
|
};
|
|
374
|
-
N.push({ id:
|
|
374
|
+
N.push({ id: BA.id, params: t });
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
return N;
|
|
378
378
|
}
|
|
379
379
|
return [];
|
|
380
|
-
},
|
|
381
|
-
type:
|
|
380
|
+
}, dA = {
|
|
381
|
+
type: vA.MUTATION,
|
|
382
382
|
id: "sheet.mutation.delete-conditional-rule",
|
|
383
383
|
handler(f, v) {
|
|
384
384
|
if (!v)
|
|
@@ -387,7 +387,7 @@ const ie = (f, v) => ({ id: pA.id, params: { unitId: v.unitId, subUnitId: v.subU
|
|
|
387
387
|
return f.get(O).deleteRule(e, A, Z), !0;
|
|
388
388
|
}
|
|
389
389
|
}, mA = {
|
|
390
|
-
type:
|
|
390
|
+
type: vA.MUTATION,
|
|
391
391
|
id: "sheet.mutation.conditional-formatting-formula-mark-dirty",
|
|
392
392
|
handler() {
|
|
393
393
|
return !0;
|
|
@@ -397,7 +397,7 @@ var Qv = Object.defineProperty, Wv = Object.getOwnPropertyDescriptor, Ev = (f, v
|
|
|
397
397
|
for (var Z = A > 1 ? void 0 : A ? Wv(v, e) : v, n = f.length - 1, m; n >= 0; n--)
|
|
398
398
|
(m = f[n]) && (Z = (A ? m(v, e, Z) : m(Z)) || Z);
|
|
399
399
|
return A && Z && Qv(v, e, Z), Z;
|
|
400
|
-
},
|
|
400
|
+
}, $ = (f, v) => (e, A) => v(e, A, f), s = /* @__PURE__ */ ((f) => (f[f.NOT_REGISTER = 1] = "NOT_REGISTER", f[f.SUCCESS = 2] = "SUCCESS", f[f.WAIT = 3] = "WAIT", f[f.ERROR = 4] = "ERROR", f))(s || {});
|
|
401
401
|
const Jv = (f) => {
|
|
402
402
|
const v = f && f[0] && f[0][0];
|
|
403
403
|
return (v == null ? void 0 : v.t) === c.BOOLEAN ? v.v === EA.TRUE || v.v === !0 : v ? v.v : !1;
|
|
@@ -405,16 +405,16 @@ const Jv = (f) => {
|
|
|
405
405
|
let M = class extends WA {
|
|
406
406
|
constructor(v, e, A, Z, n) {
|
|
407
407
|
super();
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
408
|
+
D(this, "_formulaMap", /* @__PURE__ */ new Map());
|
|
409
|
+
D(this, "_cache", /* @__PURE__ */ new Map());
|
|
410
|
+
D(this, "_formulaChange$", new LA());
|
|
411
|
+
D(this, "formulaChange$", this._formulaChange$.asObservable());
|
|
412
412
|
this._commandService = v, this._injector = e, this._activeDirtyManagerService = A, this._conditionalFormattingViewModel = Z, this._conditionalFormattingRuleModel = n, this._initFormulaCalculationResultChange(), this._initRuleChange(), this._initCache(), this.disposeWithMe(OA(() => {
|
|
413
413
|
this._cache.clear(), this._formulaMap.clear();
|
|
414
414
|
}));
|
|
415
415
|
}
|
|
416
416
|
_initCache() {
|
|
417
|
-
const v = this._injector.get(
|
|
417
|
+
const v = this._injector.get(G);
|
|
418
418
|
this.disposeWithMe(v.ruleComputeStatus$.subscribe((e) => {
|
|
419
419
|
const { unitId: A, subUnitId: Z, status: n, result: m, cfId: T } = e;
|
|
420
420
|
n === "end" && m && this._ensureCacheMap(A, Z).set(T, m);
|
|
@@ -464,7 +464,7 @@ let M = class extends WA {
|
|
|
464
464
|
};
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
|
-
), this.formulaChange$.pipe(Zv(16),
|
|
467
|
+
), this.formulaChange$.pipe(Zv(16), aA((v) => !!v.length), fv((v) => v.reduce((e, A) => {
|
|
468
468
|
const { unitId: Z, subUnitId: n, formulaId: m, formulaText: T } = A;
|
|
469
469
|
return e[Z] || (e[Z] = {}), e[Z][n] || (e[Z][n] = {}), e[Z][n][m] = { f: T }, e;
|
|
470
470
|
}, {}))).subscribe((v) => {
|
|
@@ -550,15 +550,15 @@ let M = class extends WA {
|
|
|
550
550
|
};
|
|
551
551
|
}
|
|
552
552
|
_createFormulaId(v, e) {
|
|
553
|
-
return `sheet.cf_${v}_${e}_${
|
|
553
|
+
return `sheet.cf_${v}_${e}_${_.generateRandomId(8)}`;
|
|
554
554
|
}
|
|
555
555
|
};
|
|
556
556
|
M = Ev([
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
557
|
+
$(0, J(PA)),
|
|
558
|
+
$(1, J(XA)),
|
|
559
|
+
$(2, J(nv)),
|
|
560
|
+
$(3, J(eA)),
|
|
561
|
+
$(4, J(O))
|
|
562
562
|
], M);
|
|
563
563
|
function TA(f, v) {
|
|
564
564
|
return Math.abs(f - v) < Number.EPSILON;
|
|
@@ -568,11 +568,11 @@ const C = (f) => [void 0, null].includes(f), U = (f) => {
|
|
|
568
568
|
if (!f)
|
|
569
569
|
return null;
|
|
570
570
|
if (f.t === c.BOOLEAN)
|
|
571
|
-
return f.v === EA.TRUE ?
|
|
571
|
+
return f.v === EA.TRUE ? uA.TRUE : uA.FALSE;
|
|
572
572
|
const v = f.v, e = (Z = (A = f.p) == null ? void 0 : A.body) == null ? void 0 : Z.dataStream.replace(/\r\n$/, "");
|
|
573
573
|
return C(v) ? C(e) ? null : e : v;
|
|
574
|
-
},
|
|
575
|
-
function
|
|
574
|
+
}, wA = 86400;
|
|
575
|
+
function av(f, v = !0) {
|
|
576
576
|
if (v && f >= 0) {
|
|
577
577
|
if (f === 0)
|
|
578
578
|
return [1900, 1, 0];
|
|
@@ -591,12 +591,12 @@ function iv(f, v = !0) {
|
|
|
591
591
|
const T = n + 2 - 12 * e;
|
|
592
592
|
return [100 * (A - 49) + Z + e | 0, T | 0, m | 0];
|
|
593
593
|
}
|
|
594
|
-
const
|
|
594
|
+
const iv = (f) => {
|
|
595
595
|
let v = f | 0;
|
|
596
|
-
const e =
|
|
596
|
+
const e = wA * (f - v);
|
|
597
597
|
let A = Math.floor(e);
|
|
598
|
-
e - A > 0.9999 && (A += 1, A ===
|
|
599
|
-
const Z = A < 0 ?
|
|
598
|
+
e - A > 0.9999 && (A += 1, A === wA && (A = 0, v += 1));
|
|
599
|
+
const Z = A < 0 ? wA + A : A, [n, m, T] = av(f, !0), l = Math.floor(Z / 60 / 60) % 60, S = Math.floor(Z / 60) % 60, N = Math.floor(Z) % 60, X = /* @__PURE__ */ new Date(0);
|
|
600
600
|
return X.setUTCFullYear(n, m - 1, T), X.setUTCHours(l, S, N), X.getTime();
|
|
601
601
|
}, SA = (f, v, e) => {
|
|
602
602
|
switch (f.type) {
|
|
@@ -649,7 +649,7 @@ const av = (f) => {
|
|
|
649
649
|
}
|
|
650
650
|
}
|
|
651
651
|
}, se = (f, v, e, A) => {
|
|
652
|
-
const { accessor: Z } = A, n = Z.get(
|
|
652
|
+
const { accessor: Z } = A, n = Z.get(eA), m = new Y();
|
|
653
653
|
return e.ranges.forEach((T) => {
|
|
654
654
|
W.foreach(T, (l, S) => {
|
|
655
655
|
const N = n.getCellCf(f, v, l, S);
|
|
@@ -659,7 +659,7 @@ const av = (f) => {
|
|
|
659
659
|
}
|
|
660
660
|
});
|
|
661
661
|
}), m;
|
|
662
|
-
},
|
|
662
|
+
}, AA = (f, v) => {
|
|
663
663
|
switch (f.operator) {
|
|
664
664
|
case H.between: {
|
|
665
665
|
if (typeof f.value != "object" || !f.value.length)
|
|
@@ -727,7 +727,7 @@ const av = (f) => {
|
|
|
727
727
|
}
|
|
728
728
|
} else
|
|
729
729
|
return f[f.length - 1].color.toRgbString();
|
|
730
|
-
},
|
|
730
|
+
}, tA = (f, v, e) => f.map((A) => {
|
|
731
731
|
if (A.startColumn > e || A.startRow > v)
|
|
732
732
|
return null;
|
|
733
733
|
const Z = { ...A };
|
|
@@ -737,12 +737,12 @@ Object.freeze(K);
|
|
|
737
737
|
const gv = {
|
|
738
738
|
type: h.dataBar,
|
|
739
739
|
handle: async (f, v) => {
|
|
740
|
-
const e = f.rule, A = v.accessor.get(M), { worksheet: Z } = v, n = new Y(), m =
|
|
740
|
+
const e = f.rule, A = v.accessor.get(M), { worksheet: Z } = v, n = new Y(), m = tA(f.ranges, Z.getMaxRows() - 1, Z.getMaxColumns() - 1);
|
|
741
741
|
m.forEach((t) => {
|
|
742
742
|
W.foreach(t, (B, d) => {
|
|
743
|
-
const r = Z == null ? void 0 : Z.getCellRaw(B, d),
|
|
744
|
-
if (!C(
|
|
745
|
-
const p = Number(
|
|
743
|
+
const r = Z == null ? void 0 : Z.getCellRaw(B, d), u = r && r.v;
|
|
744
|
+
if (!C(u) && (r == null ? void 0 : r.t) === c.NUMBER) {
|
|
745
|
+
const p = Number(u);
|
|
746
746
|
!Number.isNaN(p) && n.setValue(B, d, p);
|
|
747
747
|
}
|
|
748
748
|
});
|
|
@@ -773,30 +773,30 @@ const gv = {
|
|
|
773
773
|
if (!(N === X || X < N)) {
|
|
774
774
|
if (N < 0 && X <= 0) {
|
|
775
775
|
const t = X - N, B = 100;
|
|
776
|
-
n.forValue((d, r,
|
|
777
|
-
if (
|
|
776
|
+
n.forValue((d, r, u) => {
|
|
777
|
+
if (u > X)
|
|
778
778
|
return;
|
|
779
|
-
const p = L((X -
|
|
779
|
+
const p = L((X - u) / t * 100);
|
|
780
780
|
T.setValue(d, r, { color: e.config.nativeColor, startPoint: B, value: -p, isGradient: k, isShowValue: w });
|
|
781
781
|
});
|
|
782
782
|
} else if (N < 0 && X > 0) {
|
|
783
783
|
const t = Math.abs(X) + Math.abs(N), B = Math.abs(N) / t * 100;
|
|
784
|
-
n.forValue((d, r,
|
|
785
|
-
if (
|
|
786
|
-
if (
|
|
787
|
-
const p = L(Math.min(
|
|
784
|
+
n.forValue((d, r, u) => {
|
|
785
|
+
if (u)
|
|
786
|
+
if (u > 0) {
|
|
787
|
+
const p = L(Math.min(u / X, 1) * 100);
|
|
788
788
|
T.setValue(d, r, { color: e.config.positiveColor, startPoint: B, value: p, isGradient: k, isShowValue: w });
|
|
789
789
|
} else {
|
|
790
|
-
const p = L(Math.min(Math.abs(
|
|
790
|
+
const p = L(Math.min(Math.abs(u) / Math.abs(N), 1) * 100);
|
|
791
791
|
T.setValue(d, r, { color: e.config.nativeColor, startPoint: B, value: -p, isGradient: k, isShowValue: w });
|
|
792
792
|
}
|
|
793
793
|
});
|
|
794
794
|
} else if (N >= 0 && X > 0) {
|
|
795
795
|
const t = X - N, B = 0;
|
|
796
|
-
n.forValue((d, r,
|
|
797
|
-
if (
|
|
796
|
+
n.forValue((d, r, u) => {
|
|
797
|
+
if (u < N)
|
|
798
798
|
return;
|
|
799
|
-
const p = L((1 - (X -
|
|
799
|
+
const p = L((1 - (X - u) / t) * 100);
|
|
800
800
|
T.setValue(d, r, { color: e.config.positiveColor, startPoint: B, value: p, isGradient: k, isShowValue: w });
|
|
801
801
|
});
|
|
802
802
|
}
|
|
@@ -806,9 +806,9 @@ const gv = {
|
|
|
806
806
|
}, cv = {
|
|
807
807
|
type: h.highlightCell,
|
|
808
808
|
handle: async (f, v) => {
|
|
809
|
-
const e = f.rule, { worksheet: A } = v, Z =
|
|
809
|
+
const e = f.rule, { worksheet: A } = v, Z = tA(f.ranges, A.getMaxRows() - 1, A.getMaxColumns() - 1), m = (() => {
|
|
810
810
|
switch (e.subType) {
|
|
811
|
-
case
|
|
811
|
+
case i.average: {
|
|
812
812
|
let S = 0, N = 0;
|
|
813
813
|
return Z.forEach((X) => {
|
|
814
814
|
W.foreach(X, (k, w) => {
|
|
@@ -817,8 +817,8 @@ const gv = {
|
|
|
817
817
|
});
|
|
818
818
|
}), { average: S / N };
|
|
819
819
|
}
|
|
820
|
-
case
|
|
821
|
-
case
|
|
820
|
+
case i.uniqueValues:
|
|
821
|
+
case i.duplicateValues: {
|
|
822
822
|
const S = /* @__PURE__ */ new Map();
|
|
823
823
|
return Z.forEach((N) => {
|
|
824
824
|
W.foreach(N, (X, k) => {
|
|
@@ -830,7 +830,7 @@ const gv = {
|
|
|
830
830
|
});
|
|
831
831
|
}), { count: S };
|
|
832
832
|
}
|
|
833
|
-
case
|
|
833
|
+
case i.rank: {
|
|
834
834
|
const S = [];
|
|
835
835
|
Z.forEach((k) => {
|
|
836
836
|
W.foreach(k, (w, L) => {
|
|
@@ -841,7 +841,7 @@ const gv = {
|
|
|
841
841
|
const N = f.rule, X = N.isPercent ? Math.round(Math.max(Math.min(N.value, 100), 0) / 100 * S.length) : Math.round(Math.max(Math.min(N.value, S.length), 0));
|
|
842
842
|
return N.isBottom ? { rank: S[S.length - X] } : { rank: S[Math.max(X - 1, 0)] };
|
|
843
843
|
}
|
|
844
|
-
case
|
|
844
|
+
case i.formula: {
|
|
845
845
|
const S = e, N = v.accessor.get(lv), X = S.value, k = N.sequenceNodesBuilder(X);
|
|
846
846
|
return k ? { sequenceNodes: k } : {
|
|
847
847
|
sequenceNodes: null
|
|
@@ -851,14 +851,14 @@ const gv = {
|
|
|
851
851
|
})(), T = (S, N) => {
|
|
852
852
|
const X = A == null ? void 0 : A.getCellRaw(S, N);
|
|
853
853
|
switch (e.subType) {
|
|
854
|
-
case
|
|
854
|
+
case i.number: {
|
|
855
855
|
const k = X && Number(X.v);
|
|
856
856
|
if (C(k) || Number.isNaN(k) || (X == null ? void 0 : X.t) !== c.NUMBER)
|
|
857
857
|
return !1;
|
|
858
858
|
const w = e;
|
|
859
|
-
return
|
|
859
|
+
return AA({ operator: w.operator, value: w.value || 0 }, k || 0);
|
|
860
860
|
}
|
|
861
|
-
case
|
|
861
|
+
case i.text: {
|
|
862
862
|
const k = e, w = U(X), L = w === null ? "" : String(w), t = k.value || "";
|
|
863
863
|
switch (k.operator) {
|
|
864
864
|
case o.beginsWith:
|
|
@@ -868,9 +868,9 @@ const gv = {
|
|
|
868
868
|
case o.notContainsBlanks:
|
|
869
869
|
return !/^\s*$/.test(L);
|
|
870
870
|
case o.containsErrors:
|
|
871
|
-
return
|
|
871
|
+
return DA.has(L);
|
|
872
872
|
case o.notContainsErrors:
|
|
873
|
-
return !
|
|
873
|
+
return !DA.has(L);
|
|
874
874
|
case o.containsText:
|
|
875
875
|
return L.indexOf(t) > -1;
|
|
876
876
|
case o.notContainsText:
|
|
@@ -885,11 +885,11 @@ const gv = {
|
|
|
885
885
|
return !1;
|
|
886
886
|
}
|
|
887
887
|
}
|
|
888
|
-
case
|
|
888
|
+
case i.timePeriod: {
|
|
889
889
|
const k = U(X);
|
|
890
890
|
if (C(k) || Number.isNaN(Number(k)) || (X == null ? void 0 : X.t) !== c.NUMBER)
|
|
891
891
|
return !1;
|
|
892
|
-
const w = e, L =
|
|
892
|
+
const w = e, L = iv(Number(k));
|
|
893
893
|
switch (w.operator) {
|
|
894
894
|
case g.last7Days: {
|
|
895
895
|
const t = E().subtract(7, "day").valueOf(), B = E().valueOf();
|
|
@@ -935,7 +935,7 @@ const gv = {
|
|
|
935
935
|
return !1;
|
|
936
936
|
}
|
|
937
937
|
}
|
|
938
|
-
case
|
|
938
|
+
case i.average: {
|
|
939
939
|
const k = X && X.v, w = Number(k);
|
|
940
940
|
if (C(k) || Number.isNaN(w) || (X == null ? void 0 : X.t) !== c.NUMBER)
|
|
941
941
|
return !1;
|
|
@@ -957,27 +957,27 @@ const gv = {
|
|
|
957
957
|
return !1;
|
|
958
958
|
}
|
|
959
959
|
}
|
|
960
|
-
case
|
|
960
|
+
case i.rank: {
|
|
961
961
|
const k = U(X), w = Number(k);
|
|
962
962
|
if (C(k) || Number.isNaN(w) || (X == null ? void 0 : X.t) !== c.NUMBER)
|
|
963
963
|
return !1;
|
|
964
964
|
const L = m.rank;
|
|
965
965
|
return e.isBottom ? w <= L : w >= L;
|
|
966
966
|
}
|
|
967
|
-
case
|
|
967
|
+
case i.uniqueValues: {
|
|
968
968
|
const k = U(X);
|
|
969
969
|
return C(k) ? !1 : m.count.get(k) === 1;
|
|
970
970
|
}
|
|
971
|
-
case
|
|
971
|
+
case i.duplicateValues: {
|
|
972
972
|
const k = U(X);
|
|
973
973
|
return C(k) ? !1 : m.count.get(k) !== 1;
|
|
974
974
|
}
|
|
975
|
-
case
|
|
975
|
+
case i.formula: {
|
|
976
976
|
if (!(m != null && m.sequenceNodes))
|
|
977
977
|
return !1;
|
|
978
|
-
const { unitId: k, subUnitId: w } = v, L = v.accessor.get(M), t = (p, Q) => ({ startRow: p, endRow: p, startColumn: Q, endColumn: Q }), B = t(f.ranges[0].startRow, f.ranges[0].startColumn), d =
|
|
978
|
+
const { unitId: k, subUnitId: w } = v, L = v.accessor.get(M), t = (p, Q) => ({ startRow: p, endRow: p, startColumn: Q, endColumn: Q }), B = t(f.ranges[0].startRow, f.ranges[0].startColumn), d = _.deepClone(m.sequenceNodes), r = Array.isArray(d) ? d.map((p) => {
|
|
979
979
|
if (typeof p == "object" && p.nodeType === Nv.REFERENCE) {
|
|
980
|
-
const Q = Xv(p.token),
|
|
980
|
+
const Q = Xv(p.token), a = R.getRelativeRange(Q.range, B), j = R.getPositionRange(a, t(S, N), Q.range), y = Lv(j);
|
|
981
981
|
return {
|
|
982
982
|
...p,
|
|
983
983
|
token: y
|
|
@@ -985,15 +985,15 @@ const gv = {
|
|
|
985
985
|
}
|
|
986
986
|
return p;
|
|
987
987
|
}) : d;
|
|
988
|
-
let
|
|
989
|
-
if (
|
|
990
|
-
|
|
991
|
-
const p = L.getFormulaResult(k, w,
|
|
988
|
+
let u = r && tv(r);
|
|
989
|
+
if (u) {
|
|
990
|
+
u = `=${u}`, L.registerFormula(k, w, f.cfId, u);
|
|
991
|
+
const p = L.getFormulaResult(k, w, u);
|
|
992
992
|
if (p && p.status === s.SUCCESS)
|
|
993
993
|
return p.result === !0;
|
|
994
994
|
{
|
|
995
|
-
const Q = L.getCache(k, w, f.cfId),
|
|
996
|
-
return
|
|
995
|
+
const Q = L.getCache(k, w, f.cfId), a = Q == null ? void 0 : Q.getValue(S, N);
|
|
996
|
+
return a && a !== K;
|
|
997
997
|
}
|
|
998
998
|
}
|
|
999
999
|
return !1;
|
|
@@ -1010,7 +1010,7 @@ const gv = {
|
|
|
1010
1010
|
type: h.colorScale,
|
|
1011
1011
|
handle: async (f, v) => {
|
|
1012
1012
|
var X;
|
|
1013
|
-
const e = f.rule, A = v.accessor.get(M), { worksheet: Z } = v, n = new Y(), m =
|
|
1013
|
+
const e = f.rule, A = v.accessor.get(M), { worksheet: Z } = v, n = new Y(), m = tA(f.ranges, Z.getMaxRows() - 1, Z.getMaxColumns() - 1);
|
|
1014
1014
|
m.forEach((k) => {
|
|
1015
1015
|
W.foreach(k, (w, L) => {
|
|
1016
1016
|
const t = Z == null ? void 0 : Z.getCellRaw(w, L), B = t && t.v;
|
|
@@ -1045,7 +1045,7 @@ const gv = {
|
|
|
1045
1045
|
type: h.iconSet,
|
|
1046
1046
|
handle: async (f, v) => {
|
|
1047
1047
|
var k;
|
|
1048
|
-
const e = f.rule, A = v.accessor.get(M), { worksheet: Z } = v, n = new Y(), m =
|
|
1048
|
+
const e = f.rule, A = v.accessor.get(M), { worksheet: Z } = v, n = new Y(), m = tA(f.ranges, Z.getMaxRows() - 1, Z.getMaxColumns() - 1);
|
|
1049
1049
|
m.forEach((w) => {
|
|
1050
1050
|
W.foreach(w, (L, t) => {
|
|
1051
1051
|
const B = Z == null ? void 0 : Z.getCellRaw(L, t), d = B && B.v;
|
|
@@ -1073,15 +1073,15 @@ const gv = {
|
|
|
1073
1073
|
w.push({ ...L, iconId: d.iconId, iconType: d.iconType });
|
|
1074
1074
|
else {
|
|
1075
1075
|
const r = B[t - 1];
|
|
1076
|
-
|
|
1076
|
+
AA(r, L.value) || w.push({ ...L, iconId: d.iconId, iconType: d.iconType });
|
|
1077
1077
|
}
|
|
1078
1078
|
return w;
|
|
1079
1079
|
}, []), X = e.isShowValue === void 0 ? !0 : !!e.isShowValue;
|
|
1080
1080
|
return n.forValue((w, L, t) => {
|
|
1081
1081
|
for (let B = 0; B < N.length; B++) {
|
|
1082
|
-
const d = N[B], r = { ...d },
|
|
1082
|
+
const d = N[B], r = { ...d }, u = { ...d }, { iconId: p, iconType: Q } = d;
|
|
1083
1083
|
if (B === 0) {
|
|
1084
|
-
if (
|
|
1084
|
+
if (AA(d, t)) {
|
|
1085
1085
|
T.setValue(w, L, { iconId: p, iconType: Q, isShowValue: X });
|
|
1086
1086
|
return;
|
|
1087
1087
|
}
|
|
@@ -1089,8 +1089,8 @@ const gv = {
|
|
|
1089
1089
|
T.setValue(w, L, { iconId: p, iconType: Q, isShowValue: X });
|
|
1090
1090
|
return;
|
|
1091
1091
|
} else {
|
|
1092
|
-
const
|
|
1093
|
-
if (
|
|
1092
|
+
const a = N[B - 1];
|
|
1093
|
+
if (u.operator = sv(a.operator), u.value = a.value, AA(r, t) && AA(u, t)) {
|
|
1094
1094
|
T.setValue(w, L, { iconId: p, iconType: Q, isShowValue: X });
|
|
1095
1095
|
return;
|
|
1096
1096
|
}
|
|
@@ -1105,16 +1105,16 @@ var jv = Object.defineProperty, hv = Object.getOwnPropertyDescriptor, Uv = (f, v
|
|
|
1105
1105
|
return A && Z && jv(v, e, Z), Z;
|
|
1106
1106
|
}, I = (f, v) => (e, A) => v(e, A, f);
|
|
1107
1107
|
const Rv = hA("conditional-formatting-before-update-rule-result");
|
|
1108
|
-
let
|
|
1108
|
+
let G = class extends WA {
|
|
1109
1109
|
constructor(v, e, A, Z, n, m, T) {
|
|
1110
1110
|
super();
|
|
1111
|
-
|
|
1111
|
+
D(this, "_afterInitApplyPromise");
|
|
1112
1112
|
// <unitId,<subUnitId,<cfId,IComputeCache>>>
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1113
|
+
D(this, "_ruleCacheMap", /* @__PURE__ */ new Map());
|
|
1114
|
+
D(this, "_ruleComputeStatus$", new LA());
|
|
1115
|
+
D(this, "ruleComputeStatus$", this._ruleComputeStatus$.asObservable());
|
|
1116
|
+
D(this, "interceptorManager", new FA({ beforeUpdateRuleResult: Rv }));
|
|
1117
|
+
D(this, "_calculationUnitMap", /* @__PURE__ */ new Map());
|
|
1118
1118
|
this._conditionalFormattingRuleModel = v, this._injector = e, this._conditionalFormattingViewModel = A, this._univerInstanceService = Z, this._resourceManagerService = n, this._sheetInterceptorService = m, this._commandService = T, this._initCellChange(), this._initCacheManager(), this._initRemoteCalculate(), this._initSnapshot(), this._initSheetChange(), this._registerCalculationUnit(gv), this._registerCalculationUnit(Yv), this._registerCalculationUnit(cv), this._registerCalculationUnit(Ov), this._afterInitApplyPromise = bA(T);
|
|
1119
1119
|
}
|
|
1120
1120
|
composeStyle(v, e, A, Z) {
|
|
@@ -1125,7 +1125,7 @@ let _ = class extends WA {
|
|
|
1125
1125
|
var w;
|
|
1126
1126
|
const X = N.rule.type, k = n.cfList.find((L) => L.cfId === N.cfId);
|
|
1127
1127
|
if (k != null && k.isDirty && this._handleCalculateUnit(v, e, N), X === h.highlightCell)
|
|
1128
|
-
k.ruleCache &&
|
|
1128
|
+
k.ruleCache && _.deepMerge(S, { style: k.ruleCache });
|
|
1129
1129
|
else if (X === h.colorScale) {
|
|
1130
1130
|
const L = k == null ? void 0 : k.ruleCache;
|
|
1131
1131
|
L && (S.style = { ...(w = S.style) != null ? w : {}, bg: { rgb: L } });
|
|
@@ -1159,7 +1159,7 @@ let _ = class extends WA {
|
|
|
1159
1159
|
this.disposeWithMe(
|
|
1160
1160
|
this._resourceManagerService.registerPluginResource({
|
|
1161
1161
|
pluginName: oA,
|
|
1162
|
-
businesses: [
|
|
1162
|
+
businesses: [NA.UNIVER_SHEET],
|
|
1163
1163
|
toJson: (A) => v(A),
|
|
1164
1164
|
parseJson: (A) => e(A),
|
|
1165
1165
|
onUnLoad: (A) => {
|
|
@@ -1194,7 +1194,7 @@ let _ = class extends WA {
|
|
|
1194
1194
|
cfId: l.cfId
|
|
1195
1195
|
};
|
|
1196
1196
|
m.push({
|
|
1197
|
-
id:
|
|
1197
|
+
id: dA.id,
|
|
1198
1198
|
params: S
|
|
1199
1199
|
}), T.push(...Hv(this._injector, S));
|
|
1200
1200
|
}), {
|
|
@@ -1227,7 +1227,7 @@ let _ = class extends WA {
|
|
|
1227
1227
|
_initCacheManager() {
|
|
1228
1228
|
this.disposeWithMe(this._conditionalFormattingViewModel.markDirty$.subscribe((v) => {
|
|
1229
1229
|
this._deleteComputeCache(v.unitId, v.subUnitId, v.rule.cfId);
|
|
1230
|
-
})), this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.pipe(
|
|
1230
|
+
})), this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.pipe(aA((v) => v.type !== "sort")).subscribe((v) => {
|
|
1231
1231
|
this._deleteComputeCache(v.unitId, v.subUnitId, v.rule.cfId);
|
|
1232
1232
|
}));
|
|
1233
1233
|
}
|
|
@@ -1341,21 +1341,21 @@ let _ = class extends WA {
|
|
|
1341
1341
|
this._ruleComputeStatus$.next({ status: "end", unitId: v, subUnitId: e, cfId: A.cfId, result: S });
|
|
1342
1342
|
}
|
|
1343
1343
|
};
|
|
1344
|
-
|
|
1345
|
-
UA(RA.Starting,
|
|
1344
|
+
G = Uv([
|
|
1345
|
+
UA(RA.Starting, G),
|
|
1346
1346
|
I(0, J(O)),
|
|
1347
|
-
I(1, J(
|
|
1348
|
-
I(2, J(
|
|
1347
|
+
I(1, J(XA)),
|
|
1348
|
+
I(2, J(eA)),
|
|
1349
1349
|
I(3, J(MA)),
|
|
1350
1350
|
I(4, J(VA)),
|
|
1351
1351
|
I(5, J(zA)),
|
|
1352
|
-
I(6, J(
|
|
1353
|
-
],
|
|
1354
|
-
const Mv = (f) => f.getCurrentUnitForType(
|
|
1352
|
+
I(6, J(PA))
|
|
1353
|
+
], G);
|
|
1354
|
+
const Mv = (f) => f.getCurrentUnitForType(NA.UNIVER_SHEET).getUnitId(), Vv = (f) => {
|
|
1355
1355
|
var v;
|
|
1356
|
-
return (v = f.getCurrentUnitForType(
|
|
1356
|
+
return (v = f.getCurrentUnitForType(NA.UNIVER_SHEET).getActiveSheet()) == null ? void 0 : v.getSheetId();
|
|
1357
1357
|
}, cA = {
|
|
1358
|
-
type:
|
|
1358
|
+
type: vA.MUTATION,
|
|
1359
1359
|
id: "sheet.mutation.set-conditional-rule",
|
|
1360
1360
|
handler(f, v) {
|
|
1361
1361
|
if (!v)
|
|
@@ -1372,7 +1372,7 @@ const Mv = (f) => f.getCurrentUnitForType(XA.UNIVER_SHEET).getUnitId(), Vv = (f)
|
|
|
1372
1372
|
unitId: A,
|
|
1373
1373
|
subUnitId: Z,
|
|
1374
1374
|
cfId: n,
|
|
1375
|
-
rule:
|
|
1375
|
+
rule: _.deepClone(m)
|
|
1376
1376
|
}
|
|
1377
1377
|
}
|
|
1378
1378
|
] : [];
|
|
@@ -1381,37 +1381,34 @@ var bv = Object.defineProperty, Fv = Object.getOwnPropertyDescriptor, Iv = (f, v
|
|
|
1381
1381
|
for (var Z = A > 1 ? void 0 : A ? Fv(v, e) : v, n = f.length - 1, m; n >= 0; n--)
|
|
1382
1382
|
(m = f[n]) && (Z = (A ? m(v, e, Z) : m(Z)) || Z);
|
|
1383
1383
|
return A && Z && bv(v, e, Z), Z;
|
|
1384
|
-
},
|
|
1385
|
-
let
|
|
1384
|
+
}, HA = (f, v) => (e, A) => v(e, A, f), nA;
|
|
1385
|
+
let QA = (nA = class extends IA {
|
|
1386
1386
|
constructor(f, v, e) {
|
|
1387
|
-
super(), this._injector = v, this._commandService = e
|
|
1387
|
+
super(), this._injector = v, this._commandService = e;
|
|
1388
1388
|
}
|
|
1389
1389
|
onStarting() {
|
|
1390
|
-
|
|
1390
|
+
[
|
|
1391
|
+
[G],
|
|
1392
|
+
[M],
|
|
1393
|
+
[O],
|
|
1394
|
+
[eA]
|
|
1395
|
+
].forEach((f) => {
|
|
1391
1396
|
this._injector.add(f);
|
|
1392
|
-
})
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1397
|
+
}), [
|
|
1398
|
+
gA,
|
|
1399
|
+
dA,
|
|
1400
|
+
cA,
|
|
1401
|
+
BA,
|
|
1402
|
+
mA
|
|
1403
|
+
].forEach((f) => {
|
|
1396
1404
|
this._commandService.registerCommand(f);
|
|
1397
1405
|
});
|
|
1398
1406
|
}
|
|
1399
|
-
},
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
]), u(G, "mutationList", [
|
|
1405
|
-
gA,
|
|
1406
|
-
pA,
|
|
1407
|
-
cA,
|
|
1408
|
-
dA,
|
|
1409
|
-
mA
|
|
1410
|
-
]), G);
|
|
1411
|
-
lA = Iv([
|
|
1412
|
-
QA(1, J(LA)),
|
|
1413
|
-
QA(2, J(BA))
|
|
1414
|
-
], lA);
|
|
1407
|
+
}, D(nA, "pluginName", oA), D(nA, "type", NA.UNIVER_SHEET), nA);
|
|
1408
|
+
QA = Iv([
|
|
1409
|
+
HA(1, J(XA)),
|
|
1410
|
+
HA(2, J(PA))
|
|
1411
|
+
], QA);
|
|
1415
1412
|
const ge = (f) => {
|
|
1416
1413
|
var e;
|
|
1417
1414
|
return ((e = f.body) == null ? void 0 : e.dataStream.replace(/\r\n$/, "")) || "";
|
|
@@ -1431,11 +1428,11 @@ const qv = "sheet-conditional-rule-data-bar", Kv = 34;
|
|
|
1431
1428
|
class yv extends sA {
|
|
1432
1429
|
constructor() {
|
|
1433
1430
|
super(...arguments);
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1431
|
+
D(this, "_paddingRightAndLeft", 2);
|
|
1432
|
+
D(this, "_paddingTopAndBottom", 2);
|
|
1433
|
+
D(this, "uKey", qv);
|
|
1434
|
+
D(this, "Z_INDEX", Kv);
|
|
1435
|
+
D(this, "_radius", 1);
|
|
1439
1436
|
}
|
|
1440
1437
|
draw(e, A, Z, n) {
|
|
1441
1438
|
const { rowHeightAccumulation: m, columnWidthAccumulation: T, worksheet: l, dataMergeCache: S } = Z;
|
|
@@ -1447,26 +1444,26 @@ class yv extends sA {
|
|
|
1447
1444
|
if (!l.getColVisible(X) || !l.getRowRawVisible(N))
|
|
1448
1445
|
return;
|
|
1449
1446
|
const { color: w, value: L, startPoint: t, isGradient: B } = k.dataBar, d = this.getCellIndex(N, X, m, T, S);
|
|
1450
|
-
let { isMerged: r, isMergedMainCell:
|
|
1451
|
-
if (r || (
|
|
1447
|
+
let { isMerged: r, isMergedMainCell: u, mergeInfo: p, startY: Q, endY: a, startX: j, endX: y } = d;
|
|
1448
|
+
if (r || (u && (Q = p.startY, a = p.endY, j = p.startX, y = p.endX), !this.isRenderDiffRangesByCell(p, n)))
|
|
1452
1449
|
return;
|
|
1453
|
-
const
|
|
1450
|
+
const ZA = y - j, kA = a + wv - Q, fA = ZA - this._paddingRightAndLeft * 2, pA = kA - this._paddingTopAndBottom * 2;
|
|
1454
1451
|
if (L > 0) {
|
|
1455
|
-
const x = Math.max(
|
|
1452
|
+
const x = Math.max(fA * (1 - t / 100) * L / 100, 1), V = j + this._paddingRightAndLeft + t / 100 * fA, b = Q + this._paddingTopAndBottom;
|
|
1456
1453
|
if (B) {
|
|
1457
1454
|
const F = e.createLinearGradient(V, b, V + x, b);
|
|
1458
1455
|
F.addColorStop(0, w), F.addColorStop(1, "rgb(255 255 255)"), e.fillStyle = F, e.strokeStyle = w, e.lineWidth = 1;
|
|
1459
1456
|
} else
|
|
1460
1457
|
e.fillStyle = w;
|
|
1461
|
-
this._drawRectWithRoundedCorner(e, V, b, x,
|
|
1458
|
+
this._drawRectWithRoundedCorner(e, V, b, x, pA, !1, !0, !0, !1), B && e.stroke();
|
|
1462
1459
|
} else {
|
|
1463
|
-
const x = Math.max(
|
|
1460
|
+
const x = Math.max(fA * t / 100 * Math.abs(L) / 100, 1), V = j + this._paddingRightAndLeft + t / 100 * fA - x, b = Q + this._paddingTopAndBottom;
|
|
1464
1461
|
if (B) {
|
|
1465
1462
|
const F = e.createLinearGradient(V, b, V + x, b);
|
|
1466
1463
|
F.addColorStop(0, "rgb(255 255 255)"), F.addColorStop(1, w), e.fillStyle = F, e.strokeStyle = w, e.lineWidth = 1;
|
|
1467
1464
|
} else
|
|
1468
1465
|
e.fillStyle = w;
|
|
1469
|
-
this._drawRectWithRoundedCorner(e, V, b, x,
|
|
1466
|
+
this._drawRectWithRoundedCorner(e, V, b, x, pA, !0, !1, !1, !0), B && e.stroke();
|
|
1470
1467
|
}
|
|
1471
1468
|
}
|
|
1472
1469
|
}), e.restore();
|
|
@@ -1476,7 +1473,7 @@ class yv extends sA {
|
|
|
1476
1473
|
!m || !n || (e.beginPath(), e.moveTo(A + X, Z), e.lineTo(A + n - X, Z), l ? e.arcTo(A + n, Z, A + n, Z + X, X) : e.lineTo(A + n, Z), e.lineTo(A + n, Z + m - X), S ? e.arcTo(A + n, Z + m, A + n - X, Z + m, X) : e.lineTo(A + n, Z + m), e.lineTo(A + X, Z + m), N ? e.arcTo(A, Z + m, A, Z + m - X, X) : e.lineTo(A, Z + m), e.lineTo(A, Z + X), T ? e.arcTo(A, Z, A + X, Z, X) : e.lineTo(A, Z), e.closePath(), e.fill());
|
|
1477
1474
|
}
|
|
1478
1475
|
}
|
|
1479
|
-
|
|
1476
|
+
iA.add(yv);
|
|
1480
1477
|
const xv = {
|
|
1481
1478
|
mistake: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4AQGHUXiuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAA/ktL//5fX//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAP5LS//+S0v////////////+S0v//ktL/wAAAAAAAAAAAAAAAAD+S0v//ktL/////////////ktL//5LS/8AAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0vq/ktL//5LS//+S0v//0xMPAAAAAAAAAAAAAAAAAAAAAAA/ktL//5YWP/+S0v//7+///5LS/8AAAAAAAAAAAAAAAAA/ktL//5LS//+WFj//9zc//5LS//+S0v//ktL/wAAAAAAAAAAAP5LS//+S0v//9ra//5WVv/+WFj//ktL//1LS+YAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAP9FRRb+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//1KStcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1LS+f+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///Tk4aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5XV////////lhY//5LS///3Nz///////5LS//+S0v//ktL//9LSy8AAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL///a2v///////lhY//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpK1/5LS//+S0v//7+////////+S0v//ktL//5YWP///////ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TEw8/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKMP5LS//+S0v//UtL5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LS3r+S0v//ktL//5LS//+S0v//0xMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL///u7v/+S0v//ktL//5LS//+S0v//8rK//5LS//+S0v//UpKjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS/////////////5LS//+S0v////////c3P/+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/T08Q/ktL//5LS//+S0v//ktL///////////////////c3P/+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKT/5LS//+S0v//ktL//5LS//+S0v////////////+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v////////d3f////////////5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v////////c3P/+S0v//ktL/////////////ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1LS+7+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0xMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UpK9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UtLvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9Skq1/ktL//5LS///S0tzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LSxH/S0tE/0pKT/9KSjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLXv5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSu//VVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0v7/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0tOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9KSm3+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LS3r+S0v//ktL//5LS//+S0v//ktL///u7v////////////5YWP/+S0v//ktL//5LS//+S0v//ktL///c3P////////////5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lZW//////////////////5YWP/+S0v//9ra/////////////93d//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9Skq1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SUlC/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lZW////////////////////////3d3//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLM/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL///a2v////////////////////////////5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//9ra/////////////93d//5LS//+S0v//lZW//////////////////5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS///S0tzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1BQE/5LS//+S0v//ktL//5LS//+S0v//8rK////////3Nz//ktL//5LS//+S0v//ktL//5LS//+S0v//lhY/////////////ktL//5LS//+S0v//ktL//5LS//9S0v0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/VVUD/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0u7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TExN/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSvUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpKjP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9Skrz/0xMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9KSjD/SkpP/0tLRP9PTxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9ISBX9S0vY/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0t6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/39/Av1KSuz+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0tvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0xMP/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0xMUP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UtL+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKGP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0vpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9MTGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1KSpD+S0v//ktL//5LS//+S0v//ktL///Ly///v7///ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5XV///7u7//l5e//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//////////////c3P/+S0v//ktL//5LS//+S0v//ktL//5YWP/////////////t7f/+S0v//ktL//5LS//+S0v//ktL//9KSngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TEwy/ktL//5LS//+S0v//ktL//5LS//+S0v//9zc/////////////9zc//5LS//+S0v//ktL//5YWP/////////////////+V1f//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpKuP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///2tr/////////////3d3//ktL//5WVv/////////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL///c3P/////////////c3P/////////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///T08QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//9ra///////////////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0tLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//////////////////3d3//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv/////////////////////////////d3f/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///SEgxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0vp/ktL//5LS//+S0v//n9OAxEAACAASURBVEtL//5LS//+S0v//ktL//5WVv/////////////////+WFj//9ra/////////////93d//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLd/5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv/////////////////+WFj//ktL//5LS///2tr/////////////3d3//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//////////////////+WFj//ktL//5LS//+S0v//ktL///c3P////////////+/v//+S0v//ktL//5LS//+S0v//ktL//1LS9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpK8/5LS//+S0v//ktL//5LS//+S0v////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//9zc////////ycn//ktL//5LS//+S0v//ktL//5LS///SEgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9FRRb+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9SkrsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UtLvv5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//39/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9Skr2/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0xMOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1KSvX+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0lJTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpKuf5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0dHGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SEgV/UtL9P5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0uLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKdP1LS+f+S0v//ktL//5LS//+S0v//UtLtP9LSy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LSzP/S0t3/UtLt/1LS+n+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+n9S0u2/0tLdv9MTDIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/01NF/1KSpD9Skr1/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0v0/UtLjv9FRRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9NTRf9S0u7/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSsD/Tk4aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLTv1KSvb+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS/j/SUlTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TEw//UtL9/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSvb/SUk7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9VVQP9S0vB/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS77/f38CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9NTRf9Skrv/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UtL7v9ISBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9QUBP9Skrz/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL///Ly///////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz//////////////////8rK//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0v0/0hIFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9SkrX/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///vr7/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lhY///c3P////////////////////////////++vv/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/S0t3/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr/////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+Vlb//9ra/////////////////////////////93d//5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0pKdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UtL6v5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr/////////////////////////////3d3//lhY//5WVv//2tr/////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLM/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr////////////////////////////////////////////////////////d3f/+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0hIMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9KSk/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr//////////////////////////////////93d//5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SUlC/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr/////////////////////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/09PEP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lhY///c3P/////////////////////////////c3P//3Nz/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0REDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0u3/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+Vlb//9ra////////////////////////7Y/JkwAAEZJJREFU/////93d//5YWP/+S0v//ktL//5WVv//2tr/////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UpKtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0hIMf5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LSy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/S0t6/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///7u7////////////////////////c3P/+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz////////////////////////t7f/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1KSo/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//l5e///Kyv//7e3//729//5XV//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5XV///vr7//+3t///Jyf/+Xl7//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKav5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TU0X/UtL5/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UpK6P9HRxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/S0tO/UtL+/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0v7/0lJTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SUk7/UpK6P5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+b/TEw5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAB/0tLXv1KSuv+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0vu/0tLb/9VVQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9MTBT/Skp4/UtL1f5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0vV/0tLd/9QUBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0RED/9LSy//SUlC/0tLTv9LS07/SUlC/0tLL/9ERA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGKRZfDz6XWsAAAAASUVORK5CYII=",
|
|
1482
1479
|
warn: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4AQGHUXiuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDbq/703//+9N///vTf//7s3PAAAAAAAAAAAAAAAAAAAAAAA/703//+9N////////703//+9N/8AAAAAAAAAAAAAAAAA/703//+9N///vTf///////+9N///vTf//703/wAAAAAAAAAAAP+9N///vTf//703////////vTf//703//+8N+YAAAAAAAAAAAAAAAAA/703//+9N////////703//+9N/8AAAAAAAAAAAAAAAAAAAAAAP+5ORb/vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+8NtcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8N+f/vTf//703//+9N///vTf//788//+9N///vTf//703//+9N///ujoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703////////vTf//703//+9N///vTf//703//+9Ni8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N////////703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w21/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uzc8/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/781MP+9N///vTf//7w35wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nnr/vTf//703//+9N///vTf//78zFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf////////+/P//vTf//703//+9N///vTf//702jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703////////9uT//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/vy8Q/703//+9N///vTf//703//+9N////////+/O//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/742T/+9N///vTf//703//+9N///vTf////////ntv//vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703////////2o7//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nu7/vTf//703//+9N///vTf////////Yif//vTf//703//+9N///vTf//78zFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7039QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDa1/703//+9N///vDdzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/DPBH/uzhE/742T/+/NTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/702Xv+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N+//qlUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDb7/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTdOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9OG3/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N//////////////ouv//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nnr/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/////////////+vD//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//////////////LZ//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDa1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTZC/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N//////////////rwv//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/743M/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/////////////46r//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///CR///2o7//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDdzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7s1E/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///0nj///HV//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qlUD/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//9uT///78v//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTa7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDhN/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/702jP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDbz/78zFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+/NTD/vjZP/7s4RP+/LxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/CPBX/vDfY/703//+9N///vTf//703//+9N///vTf//703//+9N///vDZ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/38AAv+9N+z/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDdvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/744P/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9NukAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w2UP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7w2+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/781GP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+/PP//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTbpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///pvP////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8NWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9NpD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N////vz/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf///rx/////////////703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDgy/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///25f////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3uP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///89n/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//+/O/////////////703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vy8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///rw/////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///57f/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//+Or/////////////703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///uzkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTbp/703//+9N///vTf//+NbBUAAACAASURBVL03//+9N///vTf//703//+9N///vTf//703///aj/////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3d/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//9qO///CR///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w28/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///8dX//9J3//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///wjwVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+5ORb/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///2In/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703vv+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///78v//25L//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//38AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDb2/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s1OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N/X/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3uf+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//8EzGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wjwV/7039P+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDeLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/702dP+8N+f/vTf//703//+9N///vTf//7w3tP+9Ni8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP++NzP/vDd3/702t/+9Nun/vTf//703//+9N///vTf//703//+9N///vTf//703//+9Nun/vTa2/7w2dv+8ODIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3F/+9NpD/vTf1/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf0/7w3jv+5ORYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nxf/vTa7/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8NsD/ujoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703Tv+8Nvb/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9Nvj/vjdTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vjg//7w29/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8Nvb/vjg7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+qVQP/vDfB/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///wkf//+rA///9+v///fr//+q////CRv//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N77/fwACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nxf/vDfv/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf///z2/////////////////////////Pb//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7w27v/CPBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7NRP/vDbz/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///89v////////////////////////z2//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf0/8I8FQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDbX/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///+Ov////////////////////////46v//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9NtYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDd3/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf///Xg////////////////////////9N///703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//702dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w26v+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///x1P////////////////////////HT//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/743M/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///7cj////////////////////////tx///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s5MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP++Nk//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//+m8////////////////////////6bz//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTZC/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///lsf///////////////////////+Wx//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///uzdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/78vEP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///4ab////////////////////////hpf//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7szDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTa3/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N////YRJVQAAEZJJREFUvTf//8JH///46v/////////////46f//wkf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7w2tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7s5Mf+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9Ni8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDZ6/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N4//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//8la///+/P/////////////+/P//yFr//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/743av+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///MZf///////////////////////8xk//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDcX/7w35/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9OP//vTj//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7026P/BMxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTdO/7w2+/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDb7/7s1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vjg7/7026P+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N+b/uzU5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAB/702Xv+8N+v/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDbu/7w3b/+qVQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+/MxT/vTd4/7031f+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTfV/7w3d/+7NRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7szD/+9Ni//vTZC/703Tv+9N07/vTZC/702L/+7Mw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxqRy32EZB6AAAAAASUVORK5CYII=",
|
|
@@ -1636,26 +1633,26 @@ const xv = {
|
|
|
1636
1633
|
}
|
|
1637
1634
|
]
|
|
1638
1635
|
}
|
|
1639
|
-
],
|
|
1636
|
+
], lA = me.reduce((f, v) => {
|
|
1640
1637
|
const { group: e } = v;
|
|
1641
1638
|
for (const A of e)
|
|
1642
1639
|
f[A.name] = A.list;
|
|
1643
1640
|
return f;
|
|
1644
1641
|
}, {});
|
|
1645
|
-
for (const f in
|
|
1646
|
-
const v =
|
|
1642
|
+
for (const f in lA) {
|
|
1643
|
+
const v = lA[f];
|
|
1647
1644
|
Object.freeze(v);
|
|
1648
1645
|
}
|
|
1649
1646
|
const Te = "EMPTY_ICON_TYPE", Se = "sheet-conditional-rule-icon", le = 35, Ne = 15, Xe = 2;
|
|
1650
1647
|
class Le extends sA {
|
|
1651
1648
|
constructor() {
|
|
1652
1649
|
super();
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1650
|
+
D(this, "_paddingRightAndLeft", Xe);
|
|
1651
|
+
D(this, "_width", Ne);
|
|
1652
|
+
D(this, "_imageMap", /* @__PURE__ */ new Map());
|
|
1653
|
+
D(this, "uKey", Se);
|
|
1654
|
+
D(this, "Z_INDEX", le);
|
|
1655
|
+
D(this, "_radius", 1);
|
|
1659
1656
|
this._init();
|
|
1660
1657
|
}
|
|
1661
1658
|
draw(e, A, Z, n) {
|
|
@@ -1674,20 +1671,20 @@ class Le extends sA {
|
|
|
1674
1671
|
if (!t)
|
|
1675
1672
|
return;
|
|
1676
1673
|
const B = this.getCellIndex(N, X, m, T, S);
|
|
1677
|
-
let { isMerged: d, isMergedMainCell: r, mergeInfo:
|
|
1678
|
-
if (d || (r && (p =
|
|
1674
|
+
let { isMerged: d, isMergedMainCell: r, mergeInfo: u, startY: p, endY: Q, startX: a, endX: j } = B;
|
|
1675
|
+
if (d || (r && (p = u.startY, Q = u.endY, a = u.startX, j = u.endX), !this.isRenderDiffRangesByCell(u, n)))
|
|
1679
1676
|
return;
|
|
1680
|
-
const y = j -
|
|
1681
|
-
if (this._width >
|
|
1677
|
+
const y = j - a, ZA = Q - p;
|
|
1678
|
+
if (this._width > ZA || this._width > y + this._paddingRightAndLeft * 2)
|
|
1682
1679
|
return;
|
|
1683
|
-
const
|
|
1684
|
-
e.drawImage(t,
|
|
1680
|
+
const kA = (ZA - this._width) / 2 + p;
|
|
1681
|
+
e.drawImage(t, a + this._paddingRightAndLeft, kA, this._width, this._width);
|
|
1685
1682
|
}
|
|
1686
1683
|
}), e.restore();
|
|
1687
1684
|
}
|
|
1688
1685
|
_init() {
|
|
1689
|
-
for (const e in
|
|
1690
|
-
|
|
1686
|
+
for (const e in lA)
|
|
1687
|
+
lA[e].forEach((Z, n) => {
|
|
1691
1688
|
const m = this._createKey(e, String(n)), T = new Image();
|
|
1692
1689
|
T.onload = () => {
|
|
1693
1690
|
this._imageMap.set(m, T);
|
|
@@ -1698,45 +1695,45 @@ class Le extends sA {
|
|
|
1698
1695
|
return `${e}_${A}`;
|
|
1699
1696
|
}
|
|
1700
1697
|
}
|
|
1701
|
-
|
|
1698
|
+
iA.add(Le);
|
|
1702
1699
|
export {
|
|
1703
1700
|
gA as AddConditionalRuleMutation,
|
|
1704
|
-
|
|
1701
|
+
ae as AddConditionalRuleMutationUndoFactory,
|
|
1705
1702
|
H as CFNumberOperator,
|
|
1706
1703
|
h as CFRuleType,
|
|
1707
|
-
|
|
1704
|
+
i as CFSubRuleType,
|
|
1708
1705
|
o as CFTextOperator,
|
|
1709
1706
|
g as CFTimePeriodOperator,
|
|
1710
1707
|
z as CFValueType,
|
|
1711
1708
|
M as ConditionalFormattingFormulaService,
|
|
1712
1709
|
Le as ConditionalFormattingIcon,
|
|
1713
1710
|
O as ConditionalFormattingRuleModel,
|
|
1714
|
-
|
|
1715
|
-
|
|
1711
|
+
G as ConditionalFormattingService,
|
|
1712
|
+
eA as ConditionalFormattingViewModel,
|
|
1716
1713
|
re as DEFAULT_BG_COLOR,
|
|
1717
1714
|
He as DEFAULT_FONT_COLOR,
|
|
1718
1715
|
Xe as DEFAULT_PADDING,
|
|
1719
1716
|
Ne as DEFAULT_WIDTH,
|
|
1720
1717
|
yv as DataBar,
|
|
1721
|
-
|
|
1718
|
+
dA as DeleteConditionalRuleMutation,
|
|
1722
1719
|
Hv as DeleteConditionalRuleMutationUndoFactory,
|
|
1723
1720
|
Te as EMPTY_ICON_TYPE,
|
|
1724
1721
|
K as EMPTY_STYLE,
|
|
1725
1722
|
s as FormulaResultStatus,
|
|
1726
1723
|
Se as IconUKey,
|
|
1727
|
-
|
|
1728
|
-
|
|
1724
|
+
BA as MoveConditionalRuleMutation,
|
|
1725
|
+
ie as MoveConditionalRuleMutationUndoFactory,
|
|
1729
1726
|
oA as SHEET_CONDITIONAL_FORMATTING_PLUGIN,
|
|
1730
1727
|
cA as SetConditionalRuleMutation,
|
|
1731
|
-
|
|
1728
|
+
QA as SheetsConditionalFormattingPlugin,
|
|
1732
1729
|
pv as anchorUndoFactory,
|
|
1733
|
-
|
|
1730
|
+
AA as compareWithNumber,
|
|
1734
1731
|
Pv as createCfId,
|
|
1735
1732
|
Qe as createDefaultRule,
|
|
1736
1733
|
We as createDefaultValue,
|
|
1737
1734
|
Ee as createDefaultValueByValueType,
|
|
1738
1735
|
qv as dataBarUKey,
|
|
1739
|
-
|
|
1736
|
+
tA as filterRange,
|
|
1740
1737
|
q as findIndexByAnchor,
|
|
1741
1738
|
se as getCacheStyleMatrix,
|
|
1742
1739
|
U as getCellValue,
|
|
@@ -1745,15 +1742,15 @@ export {
|
|
|
1745
1742
|
ge as getStringFromDataStream,
|
|
1746
1743
|
SA as getValueByType,
|
|
1747
1744
|
me as iconGroup,
|
|
1748
|
-
|
|
1745
|
+
lA as iconMap,
|
|
1749
1746
|
Je as isAnchorEqual,
|
|
1750
1747
|
TA as isFloatsEqual,
|
|
1751
1748
|
C as isNullable,
|
|
1752
1749
|
ce as isRangesEqual,
|
|
1753
1750
|
Bv as moveByAnchor,
|
|
1754
1751
|
zv as removeUndefinedAttr,
|
|
1755
|
-
|
|
1752
|
+
iv as serialTimeToTimestamp,
|
|
1756
1753
|
oe as setConditionalRuleMutationUndoFactory,
|
|
1757
|
-
|
|
1754
|
+
av as toYMD_1900,
|
|
1758
1755
|
dv as transformSupportSymmetryAnchor
|
|
1759
1756
|
};
|