@univerjs/sheets-conditional-formatting 0.2.6 → 0.2.8
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 +180 -187
- package/lib/types/base/const.d.ts +0 -1
- package/lib/types/commands/mutations/add-conditional-rule.mutation.d.ts +0 -1
- package/lib/types/commands/mutations/delete-conditional-rule.mutation.d.ts +0 -1
- package/lib/types/commands/mutations/formula-mark-dirty.mutation.d.ts +0 -1
- package/lib/types/commands/mutations/move-conditional-rule.mutation.d.ts +0 -1
- package/lib/types/commands/mutations/set-conditional-rule.mutation.d.ts +0 -1
- package/lib/types/models/conditional-formatting-rule-model.d.ts +4 -5
- package/lib/types/models/conditional-formatting-view-model.d.ts +6 -6
- package/lib/types/models/type.d.ts +0 -1
- package/lib/types/plugin.d.ts +0 -1
- package/lib/types/render/data-bar.render.d.ts +2 -1
- package/lib/types/render/icon.render.d.ts +0 -1
- package/lib/types/render/type.d.ts +0 -1
- package/lib/types/services/__test__/test.util.d.ts +0 -1
- package/lib/types/services/calculate-unit/color-scale.d.ts +0 -1
- package/lib/types/services/calculate-unit/data-bar.d.ts +0 -1
- package/lib/types/services/calculate-unit/highlight-cell.d.ts +0 -1
- package/lib/types/services/calculate-unit/icon-set.d.ts +0 -1
- package/lib/types/services/calculate-unit/type.d.ts +0 -1
- package/lib/types/services/calculate-unit/utils.d.ts +0 -1
- package/lib/types/services/conditional-formatting-formula.service.d.ts +0 -1
- package/lib/types/services/conditional-formatting.service.d.ts +0 -1
- package/lib/types/utils/get-string-from-data-stream.d.ts +0 -1
- package/lib/types/utils/is-ranges-equal.d.ts +0 -1
- package/lib/umd/index.js +1 -1
- package/package.json +14 -14
package/lib/es/index.js
CHANGED
|
@@ -2,13 +2,13 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
|
|
3
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
|
|
5
|
-
import { Tools,
|
|
5
|
+
import { Tools, Inject, Injector, CommandType, ObjectMatrix, Range, ICommandService, Disposable, toDisposable, RefAlias, CellValueType, BooleanNumber, ColorKit, Rectangle, createInterceptorKey, OnLifecycle, LifecycleStages, IUniverInstanceService, IResourceManagerService, InterceptorManager, UniverInstanceType, Plugin } from "@univerjs/core";
|
|
6
6
|
import { SheetInterceptorService, RemoveSheetCommand, ReorderRangeMutation, MoveRangeMutation, MoveColsMutation, MoveRowsMutation, InsertRowMutation, RemoveRowMutation, RemoveColMutation, InsertColMutation, SetRangeValuesMutation } from "@univerjs/sheets";
|
|
7
|
-
import { Subject } from "rxjs";
|
|
7
|
+
import { Subject, Observable } from "rxjs";
|
|
8
8
|
import { bufferTime, filter, map } from "rxjs/operators";
|
|
9
9
|
import { IActiveDirtyManagerService, SetFormulaCalculationResultMutation, SetOtherFormulaMutation, RemoveOtherFormulaMutation, BooleanValue, LexerTreeBuilder, sequenceNodeType, deserializeRangeWithSheet, serializeRange, generateStringWithSequence, ERROR_TYPE_SET } from "@univerjs/engine-formula";
|
|
10
|
+
import { SpreadsheetExtensionRegistry, SheetExtension, FIX_ONE_PIXEL_BLUR_OFFSET, isObject } from "@univerjs/engine-render";
|
|
10
11
|
import dayjs from "dayjs";
|
|
11
|
-
import { isObject, SpreadsheetExtensionRegistry, SheetExtension, FIX_ONE_PIXEL_BLUR_OFFSET } from "@univerjs/engine-render";
|
|
12
12
|
const SHEET_CONDITIONAL_FORMATTING_PLUGIN = "SHEET_CONDITIONAL_FORMATTING_PLUGIN";
|
|
13
13
|
var CFTextOperator = /* @__PURE__ */ ((CFTextOperator2) => (CFTextOperator2.beginsWith = "beginsWith", CFTextOperator2.endsWith = "endsWith", CFTextOperator2.containsText = "containsText", CFTextOperator2.notContainsText = "notContainsText", CFTextOperator2.equal = "equal", CFTextOperator2.notEqual = "notEqual", CFTextOperator2.containsBlanks = "containsBlanks", CFTextOperator2.notContainsBlanks = "notContainsBlanks", CFTextOperator2.containsErrors = "containsErrors", CFTextOperator2.notContainsErrors = "notContainsErrors", CFTextOperator2))(CFTextOperator || {}), CFTimePeriodOperator = /* @__PURE__ */ ((CFTimePeriodOperator2) => (CFTimePeriodOperator2.today = "today", CFTimePeriodOperator2.yesterday = "yesterday", CFTimePeriodOperator2.tomorrow = "tomorrow", CFTimePeriodOperator2.last7Days = "last7Days", CFTimePeriodOperator2.thisMonth = "thisMonth", CFTimePeriodOperator2.lastMonth = "lastMonth", CFTimePeriodOperator2.nextMonth = "nextMonth", CFTimePeriodOperator2.thisWeek = "thisWeek", CFTimePeriodOperator2.lastWeek = "lastWeek", CFTimePeriodOperator2.nextWeek = "nextWeek", CFTimePeriodOperator2))(CFTimePeriodOperator || {}), CFNumberOperator = /* @__PURE__ */ ((CFNumberOperator2) => (CFNumberOperator2.greaterThan = "greaterThan", CFNumberOperator2.greaterThanOrEqual = "greaterThanOrEqual", CFNumberOperator2.lessThan = "lessThan", CFNumberOperator2.lessThanOrEqual = "lessThanOrEqual", CFNumberOperator2.notBetween = "notBetween", CFNumberOperator2.between = "between", CFNumberOperator2.equal = "equal", CFNumberOperator2.notEqual = "notEqual", CFNumberOperator2))(CFNumberOperator || {}), CFRuleType = /* @__PURE__ */ ((CFRuleType2) => (CFRuleType2.highlightCell = "highlightCell", CFRuleType2.dataBar = "dataBar", CFRuleType2.colorScale = "colorScale", CFRuleType2.iconSet = "iconSet", CFRuleType2))(CFRuleType || {}), CFSubRuleType = /* @__PURE__ */ ((CFSubRuleType2) => (CFSubRuleType2.uniqueValues = "uniqueValues", CFSubRuleType2.duplicateValues = "duplicateValues", CFSubRuleType2.rank = "rank", CFSubRuleType2.text = "text", CFSubRuleType2.timePeriod = "timePeriod", CFSubRuleType2.number = "number", CFSubRuleType2.average = "average", CFSubRuleType2.formula = "formula", CFSubRuleType2))(CFSubRuleType || {}), CFValueType = /* @__PURE__ */ ((CFValueType2) => (CFValueType2.num = "num", CFValueType2.min = "min", CFValueType2.max = "max", CFValueType2.percent = "percent", CFValueType2.percentile = "percentile", CFValueType2.formula = "formula", CFValueType2))(CFValueType || {});
|
|
14
14
|
const DEFAULT_BG_COLOR = "#fff", DEFAULT_FONT_COLOR = "#000000", createDefaultRule = /* @__PURE__ */ __name(() => ({
|
|
@@ -133,96 +133,50 @@ const DEFAULT_BG_COLOR = "#fff", DEFAULT_FONT_COLOR = "#000000", createDefaultRu
|
|
|
133
133
|
return [end, { ...start, type: "self" }];
|
|
134
134
|
}
|
|
135
135
|
return null;
|
|
136
|
-
}, "anchorUndoFactory"), isAnchorEqual = /* @__PURE__ */ __name((anchor1, anchor2) => anchor1.id === anchor2.id && anchor1.type === anchor2.type, "isAnchorEqual")
|
|
137
|
-
constructor() {
|
|
138
|
-
// Map<unitID ,<sheetId ,ObjectMatrix>>
|
|
139
|
-
__publicField(this, "_model", /* @__PURE__ */ new Map());
|
|
140
|
-
__publicField(this, "_markDirty$", new Subject());
|
|
141
|
-
__publicField(this, "markDirty$", this._markDirty$.asObservable());
|
|
142
|
-
}
|
|
143
|
-
_ensureMatrix(unitId, subUnitId) {
|
|
144
|
-
let _matrix = this.getMatrix(unitId, subUnitId);
|
|
145
|
-
if (!_matrix) {
|
|
146
|
-
_matrix = new ObjectMatrix();
|
|
147
|
-
let unitModel = this._model.get(unitId);
|
|
148
|
-
unitModel || (unitModel = /* @__PURE__ */ new Map(), this._model.set(unitId, unitModel)), unitModel.set(subUnitId, _matrix);
|
|
149
|
-
}
|
|
150
|
-
return _matrix;
|
|
151
|
-
}
|
|
152
|
-
getMatrix(unitId, subUnitId) {
|
|
153
|
-
var _a5;
|
|
154
|
-
return (_a5 = this._model.get(unitId)) == null ? void 0 : _a5.get(subUnitId);
|
|
155
|
-
}
|
|
156
|
-
getCellCf(unitId, subUnitId, row, col, matrix) {
|
|
157
|
-
const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
|
|
158
|
-
return _matrix ? _matrix.getValue(row, col) : null;
|
|
159
|
-
}
|
|
160
|
-
setCellCfRuleCache(unitId, subUnitId, row, col, cfId, value) {
|
|
161
|
-
const cell2 = this._ensureMatrix(unitId, subUnitId).getValue(row, col), item = cell2 == null ? void 0 : cell2.cfList.find((e) => e.cfId === cfId);
|
|
162
|
-
item && (item.ruleCache = value, item.isDirty = !1);
|
|
163
|
-
}
|
|
164
|
-
deleteCellCf(unitId, subUnitId, row, col, cfId, matrix) {
|
|
165
|
-
const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
|
|
166
|
-
if (_matrix) {
|
|
167
|
-
const cellItem = _matrix.getValue(row, col);
|
|
168
|
-
if (cellItem) {
|
|
169
|
-
const cfList = cellItem.cfList, index = cfList.findIndex((item) => item.cfId === cfId);
|
|
170
|
-
index > -1 && cfList.splice(index, 1), cfList.length || _matrix.realDeleteValue(row, col);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
pushCellCf(unitId, subUnitId, row, col, cfId) {
|
|
175
|
-
const _matrix = this._ensureMatrix(unitId, subUnitId);
|
|
176
|
-
let cellValue = _matrix.getValue(row, col);
|
|
177
|
-
if (!cellValue)
|
|
178
|
-
cellValue = { cfList: [{ cfId, isDirty: !0 }] };
|
|
179
|
-
else {
|
|
180
|
-
const cfIdList = cellValue.cfList;
|
|
181
|
-
if (cfIdList.findIndex((item) => item.cfId === cfId) > -1)
|
|
182
|
-
return;
|
|
183
|
-
cfIdList.push({ cfId, isDirty: !0 });
|
|
184
|
-
}
|
|
185
|
-
_matrix.setValue(row, col, cellValue);
|
|
186
|
-
}
|
|
187
|
-
sortCellCf(unitId, subUnitId, row, col, cfPriorityMap) {
|
|
188
|
-
const cell2 = this.getCellCf(unitId, subUnitId, row, col);
|
|
189
|
-
if (cell2) {
|
|
190
|
-
const sortResult = cell2.cfList.map((cf) => {
|
|
191
|
-
const priority = cfPriorityMap.get(cf.cfId);
|
|
192
|
-
return priority === void 0 ? null : { ...cf, priority };
|
|
193
|
-
}).filter((item) => !!item).sort((a, b) => a.priority - b.priority);
|
|
194
|
-
cell2.cfList = sortResult;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
markRuleDirty(unitId, subUnitId, rule, row, col) {
|
|
198
|
-
const handleCell = /* @__PURE__ */ __name((row2, col2) => {
|
|
199
|
-
const cell2 = this.getCellCf(unitId, subUnitId, row2, col2);
|
|
200
|
-
if (cell2) {
|
|
201
|
-
const ruleItem = cell2.cfList.find((item) => item.cfId === rule.cfId);
|
|
202
|
-
ruleItem && (ruleItem.isDirty = !0);
|
|
203
|
-
}
|
|
204
|
-
}, "handleCell");
|
|
205
|
-
row !== void 0 && col !== void 0 ? (handleCell(row, col), this._markDirty$.next({ rule, unitId, subUnitId })) : (rule.ranges.forEach((range) => {
|
|
206
|
-
Range.foreach(range, (row2, col2) => {
|
|
207
|
-
handleCell(row2, col2);
|
|
208
|
-
});
|
|
209
|
-
}), this._markDirty$.next({ rule, unitId, subUnitId }));
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
__name(_ConditionalFormattingViewModel, "ConditionalFormattingViewModel");
|
|
213
|
-
let ConditionalFormattingViewModel = _ConditionalFormattingViewModel;
|
|
136
|
+
}, "anchorUndoFactory"), isAnchorEqual = /* @__PURE__ */ __name((anchor1, anchor2) => anchor1.id === anchor2.id && anchor1.type === anchor2.type, "isAnchorEqual");
|
|
214
137
|
var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
215
138
|
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
216
139
|
(decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
|
|
217
140
|
return kind && result && __defProp$3(target, key, result), result;
|
|
218
141
|
}, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a;
|
|
219
142
|
let ConditionalFormattingRuleModel = (_a = class {
|
|
220
|
-
constructor(
|
|
143
|
+
constructor(_injector) {
|
|
221
144
|
// Map<unitID ,<sheetId ,IConditionFormattingRule[]>>
|
|
222
145
|
__publicField(this, "_model", /* @__PURE__ */ new Map());
|
|
223
146
|
__publicField(this, "_ruleChange$", new Subject());
|
|
224
|
-
__publicField(this, "$ruleChange", this._ruleChange$.asObservable()
|
|
225
|
-
|
|
147
|
+
__publicField(this, "$ruleChange", this._ruleChange$.asObservable().pipe(
|
|
148
|
+
bufferTime(16),
|
|
149
|
+
filter((list) => !!list.length),
|
|
150
|
+
// Operations for aggregated conditional formatting
|
|
151
|
+
// Adding and then deleting the same conditional format for multiple times will not result in any changes being propagated externally
|
|
152
|
+
// When multiple settings are applied to the same conditional format, only the last setting will be propagated externally.
|
|
153
|
+
(source) => new Observable((observer) => {
|
|
154
|
+
source.subscribe({
|
|
155
|
+
next: /* @__PURE__ */ __name((ruleList) => {
|
|
156
|
+
const createKey = /* @__PURE__ */ __name((item) => `${item.unitId}_${item.subUnitId}_${item.rule.cfId}`, "createKey"), handleCreateAndDelete = /* @__PURE__ */ __name((list) => {
|
|
157
|
+
const createIndex = list.findIndex((rule) => rule.type === "add"), deleteIndex = list.findIndex((rule) => rule.type === "delete");
|
|
158
|
+
createIndex !== -1 && deleteIndex !== -1 && deleteIndex > createIndex && list.splice(createIndex, deleteIndex - createIndex + 1);
|
|
159
|
+
}, "handleCreateAndDelete"), result = ruleList.reduce((a, b, index) => {
|
|
160
|
+
const key = createKey(b);
|
|
161
|
+
return a[key] || (a[key] = []), a[key].push({ ...b, _index: index }), a;
|
|
162
|
+
}, {});
|
|
163
|
+
for (const key in result) {
|
|
164
|
+
const list = result[key];
|
|
165
|
+
list.length >= 2 && handleCreateAndDelete(list);
|
|
166
|
+
}
|
|
167
|
+
Object.keys(result).reduce((a, key) => {
|
|
168
|
+
const list = result[key];
|
|
169
|
+
return a.push(...list), a;
|
|
170
|
+
}, []).sort((a, b) => a._index - b._index).map((item) => item).forEach((item) => {
|
|
171
|
+
observer.next(item);
|
|
172
|
+
});
|
|
173
|
+
}, "next"),
|
|
174
|
+
error: /* @__PURE__ */ __name((err) => observer.error(err), "error"),
|
|
175
|
+
complete: /* @__PURE__ */ __name(() => observer.complete(), "complete")
|
|
176
|
+
});
|
|
177
|
+
})
|
|
178
|
+
));
|
|
179
|
+
this._injector = _injector;
|
|
226
180
|
}
|
|
227
181
|
_ensureList(unitId, subUnitId) {
|
|
228
182
|
let list = this.getSubunitRules(unitId, subUnitId);
|
|
@@ -248,51 +202,19 @@ let ConditionalFormattingRuleModel = (_a = class {
|
|
|
248
202
|
const list = this.getSubunitRules(unitId, subUnitId);
|
|
249
203
|
if (list) {
|
|
250
204
|
const index = list.findIndex((e) => e.cfId === cfId), rule = list[index];
|
|
251
|
-
rule && (list.splice(index, 1),
|
|
252
|
-
Range.foreach(range, (row, col) => {
|
|
253
|
-
this._conditionalFormattingViewModel.deleteCellCf(unitId, subUnitId, row, col, rule.cfId);
|
|
254
|
-
});
|
|
255
|
-
}), this._ruleChange$.next({ rule, subUnitId, unitId, type: "delete" }));
|
|
205
|
+
rule && (list.splice(index, 1), this._ruleChange$.next({ rule, subUnitId, unitId, type: "delete" }));
|
|
256
206
|
}
|
|
257
207
|
}
|
|
258
208
|
setRule(unitId, subUnitId, rule, oldCfId) {
|
|
259
|
-
const
|
|
209
|
+
const oldRule = this._ensureList(unitId, subUnitId).find((item) => item.cfId === oldCfId);
|
|
260
210
|
if (oldRule) {
|
|
261
|
-
const
|
|
262
|
-
Object.assign(oldRule, rule);
|
|
263
|
-
const dispose = conditionalFormattingService.interceptorManager.intercept(conditionalFormattingService.interceptorManager.getInterceptPoints().beforeUpdateRuleResult, {
|
|
264
|
-
handler: /* @__PURE__ */ __name((config, _, next) => {
|
|
265
|
-
if (unitId === (config == null ? void 0 : config.unitId) && subUnitId === config.subUnitId && oldRule.cfId === config.cfId) {
|
|
266
|
-
cloneRange.forEach((range) => {
|
|
267
|
-
Range.foreach(range, (row, col) => {
|
|
268
|
-
this._conditionalFormattingViewModel.deleteCellCf(unitId, subUnitId, row, col, oldRule.cfId);
|
|
269
|
-
});
|
|
270
|
-
}), oldRule.ranges.forEach((range) => {
|
|
271
|
-
Range.foreach(range, (row, col) => {
|
|
272
|
-
this._conditionalFormattingViewModel.pushCellCf(unitId, subUnitId, row, col, oldRule.cfId), this._conditionalFormattingViewModel.sortCellCf(unitId, subUnitId, row, col, cfPriorityMap);
|
|
273
|
-
});
|
|
274
|
-
}), dispose();
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
next(config);
|
|
278
|
-
}, "handler")
|
|
279
|
-
});
|
|
280
|
-
oldRule.ranges.forEach((range) => {
|
|
281
|
-
Range.foreach(range, (row, col) => {
|
|
282
|
-
this._conditionalFormattingViewModel.pushCellCf(unitId, subUnitId, row, col, oldRule.cfId);
|
|
283
|
-
});
|
|
284
|
-
}), this._conditionalFormattingViewModel.markRuleDirty(unitId, subUnitId, oldRule), this._ruleChange$.next({ rule: oldRule, subUnitId, unitId, type: "set" });
|
|
211
|
+
const cloneRule = Tools.deepClone(oldRule);
|
|
212
|
+
Object.assign(oldRule, rule), this._ruleChange$.next({ rule: oldRule, subUnitId, unitId, type: "set", oldRule: cloneRule });
|
|
285
213
|
}
|
|
286
214
|
}
|
|
287
215
|
addRule(unitId, subUnitId, rule) {
|
|
288
216
|
const list = this._ensureList(unitId, subUnitId);
|
|
289
|
-
list.find((item2) => item2.cfId === rule.cfId) || list.unshift(rule);
|
|
290
|
-
const cfPriorityMap = list.map((item2) => item2.cfId).reduce((map2, cur, index) => (map2.set(cur, index), map2), /* @__PURE__ */ new Map());
|
|
291
|
-
rule.ranges.forEach((range) => {
|
|
292
|
-
Range.foreach(range, (row, col) => {
|
|
293
|
-
this._conditionalFormattingViewModel.pushCellCf(unitId, subUnitId, row, col, rule.cfId), this._conditionalFormattingViewModel.sortCellCf(unitId, subUnitId, row, col, cfPriorityMap);
|
|
294
|
-
});
|
|
295
|
-
}), this._conditionalFormattingViewModel.markRuleDirty(unitId, subUnitId, rule), this._ruleChange$.next({ rule, subUnitId, unitId, type: "add" });
|
|
217
|
+
list.find((item2) => item2.cfId === rule.cfId) || list.unshift(rule), this._ruleChange$.next({ rule, subUnitId, unitId, type: "add" });
|
|
296
218
|
}
|
|
297
219
|
/**
|
|
298
220
|
* example [1,2,3,4,5,6],if you move behind 5 to 2, then cfId=5,targetId=2.
|
|
@@ -303,15 +225,7 @@ let ConditionalFormattingRuleModel = (_a = class {
|
|
|
303
225
|
if (targetCfIndex === null || curIndex === null || targetCfIndex === curIndex)
|
|
304
226
|
return;
|
|
305
227
|
const rule = list[curIndex];
|
|
306
|
-
|
|
307
|
-
moveByAnchor(start, end, list, (rule2) => rule2.cfId);
|
|
308
|
-
const cfPriorityMap = list.map((item) => item.cfId).reduce((map2, cur, index) => (map2.set(cur, index), map2), /* @__PURE__ */ new Map());
|
|
309
|
-
rule.ranges.forEach((range) => {
|
|
310
|
-
Range.foreach(range, (row, col) => {
|
|
311
|
-
this._conditionalFormattingViewModel.sortCellCf(unitId, subUnitId, row, col, cfPriorityMap);
|
|
312
|
-
});
|
|
313
|
-
}), this._ruleChange$.next({ rule, subUnitId, unitId, type: "sort" });
|
|
314
|
-
}
|
|
228
|
+
rule && (moveByAnchor(start, end, list, (rule2) => rule2.cfId), this._ruleChange$.next({ rule, subUnitId, unitId, type: "sort" }));
|
|
315
229
|
}
|
|
316
230
|
createCfId(_unitId, _subUnitId) {
|
|
317
231
|
return createCfId();
|
|
@@ -321,8 +235,7 @@ let ConditionalFormattingRuleModel = (_a = class {
|
|
|
321
235
|
}
|
|
322
236
|
}, __name(_a, "ConditionalFormattingRuleModel"), _a);
|
|
323
237
|
ConditionalFormattingRuleModel = __decorateClass$3([
|
|
324
|
-
__decorateParam$3(0, Inject(
|
|
325
|
-
__decorateParam$3(1, Inject(Injector))
|
|
238
|
+
__decorateParam$3(0, Inject(Injector))
|
|
326
239
|
], ConditionalFormattingRuleModel);
|
|
327
240
|
const AddConditionalRuleMutationUndoFactory = /* @__PURE__ */ __name((accessor, param) => ({ id: DeleteConditionalRuleMutation.id, params: { unitId: param.unitId, subUnitId: param.subUnitId, cfId: param.rule.cfId } }), "AddConditionalRuleMutationUndoFactory"), AddConditionalRuleMutation = {
|
|
328
241
|
type: CommandType.MUTATION,
|
|
@@ -387,7 +300,85 @@ const AddConditionalRuleMutationUndoFactory = /* @__PURE__ */ __name((accessor,
|
|
|
387
300
|
const { unitId, subUnitId, cfId } = params;
|
|
388
301
|
return accessor.get(ConditionalFormattingRuleModel).deleteRule(unitId, subUnitId, cfId), !0;
|
|
389
302
|
}
|
|
390
|
-
},
|
|
303
|
+
}, _ConditionalFormattingViewModel = class _ConditionalFormattingViewModel {
|
|
304
|
+
constructor() {
|
|
305
|
+
// Map<unitID ,<sheetId ,ObjectMatrix>>
|
|
306
|
+
__publicField(this, "_model", /* @__PURE__ */ new Map());
|
|
307
|
+
__publicField(this, "_markDirty$", new Subject());
|
|
308
|
+
__publicField(this, "markDirty$", this._markDirty$.asObservable());
|
|
309
|
+
}
|
|
310
|
+
_ensureMatrix(unitId, subUnitId) {
|
|
311
|
+
let _matrix = this.getMatrix(unitId, subUnitId);
|
|
312
|
+
if (!_matrix) {
|
|
313
|
+
_matrix = new ObjectMatrix();
|
|
314
|
+
let unitModel = this._model.get(unitId);
|
|
315
|
+
unitModel || (unitModel = /* @__PURE__ */ new Map(), this._model.set(unitId, unitModel)), unitModel.set(subUnitId, _matrix);
|
|
316
|
+
}
|
|
317
|
+
return _matrix;
|
|
318
|
+
}
|
|
319
|
+
getMatrix(unitId, subUnitId) {
|
|
320
|
+
var _a5;
|
|
321
|
+
return (_a5 = this._model.get(unitId)) == null ? void 0 : _a5.get(subUnitId);
|
|
322
|
+
}
|
|
323
|
+
getCellCf(unitId, subUnitId, row, col, matrix) {
|
|
324
|
+
const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
|
|
325
|
+
return _matrix ? _matrix.getValue(row, col) : null;
|
|
326
|
+
}
|
|
327
|
+
setCellCfRuleCache(unitId, subUnitId, row, col, cfId, value) {
|
|
328
|
+
const cell2 = this._ensureMatrix(unitId, subUnitId).getValue(row, col), item = cell2 == null ? void 0 : cell2.cfList.find((e) => e.cfId === cfId);
|
|
329
|
+
item && (item.ruleCache = value, item.isDirty = !1);
|
|
330
|
+
}
|
|
331
|
+
deleteCellCf(unitId, subUnitId, row, col, cfId, matrix) {
|
|
332
|
+
const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
|
|
333
|
+
if (_matrix) {
|
|
334
|
+
const cellItem = _matrix.getValue(row, col);
|
|
335
|
+
if (cellItem) {
|
|
336
|
+
const cfList = cellItem.cfList, index = cfList.findIndex((item) => item.cfId === cfId);
|
|
337
|
+
index > -1 && cfList.splice(index, 1), cfList.length || _matrix.realDeleteValue(row, col);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
pushCellCf(unitId, subUnitId, row, col, cfId) {
|
|
342
|
+
const _matrix = this._ensureMatrix(unitId, subUnitId);
|
|
343
|
+
let cellValue = _matrix.getValue(row, col);
|
|
344
|
+
if (!cellValue)
|
|
345
|
+
cellValue = { cfList: [{ cfId, isDirty: !0 }] };
|
|
346
|
+
else {
|
|
347
|
+
const cfIdList = cellValue.cfList;
|
|
348
|
+
if (cfIdList.findIndex((item) => item.cfId === cfId) > -1)
|
|
349
|
+
return;
|
|
350
|
+
cfIdList.push({ cfId, isDirty: !0 });
|
|
351
|
+
}
|
|
352
|
+
_matrix.setValue(row, col, cellValue);
|
|
353
|
+
}
|
|
354
|
+
sortCellCf(unitId, subUnitId, row, col, cfPriorityMap) {
|
|
355
|
+
const cell2 = this.getCellCf(unitId, subUnitId, row, col);
|
|
356
|
+
if (cell2) {
|
|
357
|
+
const sortResult = cell2.cfList.map((cf) => {
|
|
358
|
+
const priority = cfPriorityMap.get(cf.cfId);
|
|
359
|
+
return priority === void 0 ? null : { ...cf, priority };
|
|
360
|
+
}).filter((item) => !!item).sort((a, b) => a.priority - b.priority);
|
|
361
|
+
cell2.cfList = sortResult;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
markRuleDirty(unitId, subUnitId, rule, row, col) {
|
|
365
|
+
const handleCell = /* @__PURE__ */ __name((row2, col2) => {
|
|
366
|
+
const cell2 = this.getCellCf(unitId, subUnitId, row2, col2);
|
|
367
|
+
if (cell2) {
|
|
368
|
+
const ruleItem = cell2.cfList.find((item) => item.cfId === rule.cfId);
|
|
369
|
+
ruleItem && (ruleItem.isDirty = !0);
|
|
370
|
+
}
|
|
371
|
+
}, "handleCell");
|
|
372
|
+
row !== void 0 && col !== void 0 ? (handleCell(row, col), this._markDirty$.next({ rule, unitId, subUnitId })) : (rule.ranges.forEach((range) => {
|
|
373
|
+
Range.foreach(range, (row2, col2) => {
|
|
374
|
+
handleCell(row2, col2);
|
|
375
|
+
});
|
|
376
|
+
}), this._markDirty$.next({ rule, unitId, subUnitId }));
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
__name(_ConditionalFormattingViewModel, "ConditionalFormattingViewModel");
|
|
380
|
+
let ConditionalFormattingViewModel = _ConditionalFormattingViewModel;
|
|
381
|
+
const ConditionalFormattingFormulaMarkDirty = {
|
|
391
382
|
type: CommandType.MUTATION,
|
|
392
383
|
id: "sheet.mutation.conditional-formatting-formula-mark-dirty",
|
|
393
384
|
handler() {
|
|
@@ -565,6 +556,57 @@ ConditionalFormattingFormulaService = __decorateClass$2([
|
|
|
565
556
|
__decorateParam$2(3, Inject(ConditionalFormattingViewModel)),
|
|
566
557
|
__decorateParam$2(4, Inject(ConditionalFormattingRuleModel))
|
|
567
558
|
], ConditionalFormattingFormulaService);
|
|
559
|
+
const dataBarUKey = "sheet-conditional-rule-data-bar", defaultDataBarPositiveColor = "#ffbe38", defaultDataBarNativeColor = "#abd91a", EXTENSION_Z_INDEX$1 = 34, _DataBar = class _DataBar extends SheetExtension {
|
|
560
|
+
constructor() {
|
|
561
|
+
super(...arguments);
|
|
562
|
+
__publicField(this, "_paddingRightAndLeft", 2);
|
|
563
|
+
__publicField(this, "_paddingTopAndBottom", 2);
|
|
564
|
+
__publicField(this, "uKey", dataBarUKey);
|
|
565
|
+
__publicField(this, "Z_INDEX", EXTENSION_Z_INDEX$1);
|
|
566
|
+
__publicField(this, "_radius", 1);
|
|
567
|
+
}
|
|
568
|
+
draw(ctx, parentScale, spreadsheetSkeleton, diffRanges) {
|
|
569
|
+
const { rowHeightAccumulation, columnWidthAccumulation, worksheet, dataMergeCache } = spreadsheetSkeleton;
|
|
570
|
+
if (!worksheet)
|
|
571
|
+
return !1;
|
|
572
|
+
ctx.save(), Range.foreach(spreadsheetSkeleton.rowColumnSegment, (row, col) => {
|
|
573
|
+
const cellData = worksheet.getCell(row, col);
|
|
574
|
+
if (cellData && cellData.dataBar) {
|
|
575
|
+
if (!worksheet.getColVisible(col) || !worksheet.getRowRawVisible(row))
|
|
576
|
+
return;
|
|
577
|
+
const { color, value, startPoint, isGradient } = cellData.dataBar, cellInfo = this.getCellIndex(row, col, rowHeightAccumulation, columnWidthAccumulation, dataMergeCache);
|
|
578
|
+
let { isMerged, isMergedMainCell, mergeInfo, startY, endY, startX, endX } = cellInfo;
|
|
579
|
+
if (isMerged || (isMergedMainCell && (startY = mergeInfo.startY, endY = mergeInfo.endY, startX = mergeInfo.startX, endX = mergeInfo.endX), !this.isRenderDiffRangesByCell(mergeInfo, diffRanges)))
|
|
580
|
+
return;
|
|
581
|
+
const borderWidth = endX - startX, borderHeight = endY + FIX_ONE_PIXEL_BLUR_OFFSET - startY, width = borderWidth - this._paddingRightAndLeft * 2, height = borderHeight - this._paddingTopAndBottom * 2;
|
|
582
|
+
if (value > 0) {
|
|
583
|
+
const dataBarWidth = Math.max(width * (1 - startPoint / 100) * value / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width, y0 = startY + this._paddingTopAndBottom;
|
|
584
|
+
if (isGradient) {
|
|
585
|
+
const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
|
|
586
|
+
gradient.addColorStop(0, color), gradient.addColorStop(1, "rgb(255 255 255)"), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
|
|
587
|
+
} else
|
|
588
|
+
ctx.fillStyle = color;
|
|
589
|
+
this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !1, !0, !0, !1), isGradient && ctx.stroke();
|
|
590
|
+
} else {
|
|
591
|
+
const dataBarWidth = Math.max(width * startPoint / 100 * Math.abs(value) / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width - dataBarWidth, y0 = startY + this._paddingTopAndBottom;
|
|
592
|
+
if (isGradient) {
|
|
593
|
+
const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
|
|
594
|
+
gradient.addColorStop(0, "rgb(255 255 255)"), gradient.addColorStop(1, color), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
|
|
595
|
+
} else
|
|
596
|
+
ctx.fillStyle = color;
|
|
597
|
+
this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !0, !1, !1, !0), isGradient && ctx.stroke();
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
}), ctx.restore();
|
|
601
|
+
}
|
|
602
|
+
_drawRectWithRoundedCorner(ctx, x, y, width, height, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius) {
|
|
603
|
+
const radius = this._radius;
|
|
604
|
+
!height || !width || (ctx.beginPath(), ctx.moveTo(x + radius, y), ctx.lineTo(x + width - radius, y), topRightRadius ? ctx.arcTo(x + width, y, x + width, y + radius, radius) : ctx.lineTo(x + width, y), ctx.lineTo(x + width, y + height - radius), bottomRightRadius ? ctx.arcTo(x + width, y + height, x + width - radius, y + height, radius) : ctx.lineTo(x + width, y + height), ctx.lineTo(x + radius, y + height), bottomLeftRadius ? ctx.arcTo(x, y + height, x, y + height - radius, radius) : ctx.lineTo(x, y + height), ctx.lineTo(x, y + radius), topLeftRadius ? ctx.arcTo(x, y, x + radius, y, radius) : ctx.lineTo(x, y), ctx.closePath(), ctx.fill());
|
|
605
|
+
}
|
|
606
|
+
};
|
|
607
|
+
__name(_DataBar, "DataBar");
|
|
608
|
+
let DataBar = _DataBar;
|
|
609
|
+
SpreadsheetExtensionRegistry.add(DataBar);
|
|
568
610
|
function isFloatsEqual(a, b) {
|
|
569
611
|
return Math.abs(a - b) < Number.EPSILON;
|
|
570
612
|
}
|
|
@@ -784,7 +826,7 @@ const dataBarCellCalculateUnit = {
|
|
|
784
826
|
if (value > max)
|
|
785
827
|
return;
|
|
786
828
|
const v = getSafeValue((max - value) / length * 100);
|
|
787
|
-
computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor, startPoint, value: -v, isGradient, isShowValue });
|
|
829
|
+
computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor || defaultDataBarNativeColor, startPoint, value: -v, isGradient, isShowValue });
|
|
788
830
|
});
|
|
789
831
|
} else if (min < 0 && max > 0) {
|
|
790
832
|
const length = Math.abs(max) + Math.abs(min), startPoint = Math.abs(min) / length * 100;
|
|
@@ -795,7 +837,7 @@ const dataBarCellCalculateUnit = {
|
|
|
795
837
|
computeResult.setValue(row, col, { color: ruleConfig.config.positiveColor, startPoint, value: v, isGradient, isShowValue });
|
|
796
838
|
} else {
|
|
797
839
|
const v = getSafeValue(Math.min(Math.abs(value) / Math.abs(min), 1) * 100);
|
|
798
|
-
computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor, startPoint, value: -v, isGradient, isShowValue });
|
|
840
|
+
computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor || defaultDataBarNativeColor, startPoint, value: -v, isGradient, isShowValue });
|
|
799
841
|
}
|
|
800
842
|
});
|
|
801
843
|
} else if (min >= 0 && max > 0) {
|
|
@@ -804,7 +846,7 @@ const dataBarCellCalculateUnit = {
|
|
|
804
846
|
if (value < min)
|
|
805
847
|
return;
|
|
806
848
|
const v = getSafeValue((1 - (max - value) / length) * 100);
|
|
807
|
-
computeResult.setValue(row, col, { color: ruleConfig.config.positiveColor, startPoint, value: v, isGradient, isShowValue });
|
|
849
|
+
computeResult.setValue(row, col, { color: ruleConfig.config.positiveColor || defaultDataBarPositiveColor, startPoint, value: v, isGradient, isShowValue });
|
|
808
850
|
});
|
|
809
851
|
}
|
|
810
852
|
}
|
|
@@ -1447,57 +1489,6 @@ function removeUndefinedAttr(obj) {
|
|
|
1447
1489
|
return result;
|
|
1448
1490
|
}
|
|
1449
1491
|
__name(removeUndefinedAttr, "removeUndefinedAttr");
|
|
1450
|
-
const dataBarUKey = "sheet-conditional-rule-data-bar", EXTENSION_Z_INDEX$1 = 34, _DataBar = class _DataBar extends SheetExtension {
|
|
1451
|
-
constructor() {
|
|
1452
|
-
super(...arguments);
|
|
1453
|
-
__publicField(this, "_paddingRightAndLeft", 2);
|
|
1454
|
-
__publicField(this, "_paddingTopAndBottom", 2);
|
|
1455
|
-
__publicField(this, "uKey", dataBarUKey);
|
|
1456
|
-
__publicField(this, "Z_INDEX", EXTENSION_Z_INDEX$1);
|
|
1457
|
-
__publicField(this, "_radius", 1);
|
|
1458
|
-
}
|
|
1459
|
-
draw(ctx, parentScale, spreadsheetSkeleton, diffRanges) {
|
|
1460
|
-
const { rowHeightAccumulation, columnWidthAccumulation, worksheet, dataMergeCache } = spreadsheetSkeleton;
|
|
1461
|
-
if (!worksheet)
|
|
1462
|
-
return !1;
|
|
1463
|
-
ctx.save(), Range.foreach(spreadsheetSkeleton.rowColumnSegment, (row, col) => {
|
|
1464
|
-
const cellData = worksheet.getCell(row, col);
|
|
1465
|
-
if (cellData && cellData.dataBar) {
|
|
1466
|
-
if (!worksheet.getColVisible(col) || !worksheet.getRowRawVisible(row))
|
|
1467
|
-
return;
|
|
1468
|
-
const { color, value, startPoint, isGradient } = cellData.dataBar, cellInfo = this.getCellIndex(row, col, rowHeightAccumulation, columnWidthAccumulation, dataMergeCache);
|
|
1469
|
-
let { isMerged, isMergedMainCell, mergeInfo, startY, endY, startX, endX } = cellInfo;
|
|
1470
|
-
if (isMerged || (isMergedMainCell && (startY = mergeInfo.startY, endY = mergeInfo.endY, startX = mergeInfo.startX, endX = mergeInfo.endX), !this.isRenderDiffRangesByCell(mergeInfo, diffRanges)))
|
|
1471
|
-
return;
|
|
1472
|
-
const borderWidth = endX - startX, borderHeight = endY + FIX_ONE_PIXEL_BLUR_OFFSET - startY, width = borderWidth - this._paddingRightAndLeft * 2, height = borderHeight - this._paddingTopAndBottom * 2;
|
|
1473
|
-
if (value > 0) {
|
|
1474
|
-
const dataBarWidth = Math.max(width * (1 - startPoint / 100) * value / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width, y0 = startY + this._paddingTopAndBottom;
|
|
1475
|
-
if (isGradient) {
|
|
1476
|
-
const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
|
|
1477
|
-
gradient.addColorStop(0, color), gradient.addColorStop(1, "rgb(255 255 255)"), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
|
|
1478
|
-
} else
|
|
1479
|
-
ctx.fillStyle = color;
|
|
1480
|
-
this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !1, !0, !0, !1), isGradient && ctx.stroke();
|
|
1481
|
-
} else {
|
|
1482
|
-
const dataBarWidth = Math.max(width * startPoint / 100 * Math.abs(value) / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width - dataBarWidth, y0 = startY + this._paddingTopAndBottom;
|
|
1483
|
-
if (isGradient) {
|
|
1484
|
-
const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
|
|
1485
|
-
gradient.addColorStop(0, "rgb(255 255 255)"), gradient.addColorStop(1, color), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
|
|
1486
|
-
} else
|
|
1487
|
-
ctx.fillStyle = color;
|
|
1488
|
-
this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !0, !1, !1, !0), isGradient && ctx.stroke();
|
|
1489
|
-
}
|
|
1490
|
-
}
|
|
1491
|
-
}), ctx.restore();
|
|
1492
|
-
}
|
|
1493
|
-
_drawRectWithRoundedCorner(ctx, x, y, width, height, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius) {
|
|
1494
|
-
const radius = this._radius;
|
|
1495
|
-
!height || !width || (ctx.beginPath(), ctx.moveTo(x + radius, y), ctx.lineTo(x + width - radius, y), topRightRadius ? ctx.arcTo(x + width, y, x + width, y + radius, radius) : ctx.lineTo(x + width, y), ctx.lineTo(x + width, y + height - radius), bottomRightRadius ? ctx.arcTo(x + width, y + height, x + width - radius, y + height, radius) : ctx.lineTo(x + width, y + height), ctx.lineTo(x + radius, y + height), bottomLeftRadius ? ctx.arcTo(x, y + height, x, y + height - radius, radius) : ctx.lineTo(x, y + height), ctx.lineTo(x, y + radius), topLeftRadius ? ctx.arcTo(x, y, x + radius, y, radius) : ctx.lineTo(x, y), ctx.closePath(), ctx.fill());
|
|
1496
|
-
}
|
|
1497
|
-
};
|
|
1498
|
-
__name(_DataBar, "DataBar");
|
|
1499
|
-
let DataBar = _DataBar;
|
|
1500
|
-
SpreadsheetExtensionRegistry.add(DataBar);
|
|
1501
1492
|
const feedback = {
|
|
1502
1493
|
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=",
|
|
1503
1494
|
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=",
|
|
@@ -1759,6 +1750,8 @@ export {
|
|
|
1759
1750
|
createDefaultValue,
|
|
1760
1751
|
createDefaultValueByValueType,
|
|
1761
1752
|
dataBarUKey,
|
|
1753
|
+
defaultDataBarNativeColor,
|
|
1754
|
+
defaultDataBarPositiveColor,
|
|
1762
1755
|
filterRange,
|
|
1763
1756
|
findIndexByAnchor,
|
|
1764
1757
|
getCacheStyleMatrix,
|