@holistics/cli-core 2.3.23 → 2.3.24
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/dist/commands.js +549 -444
- package/package.json +4 -4
package/dist/commands.js
CHANGED
|
@@ -27421,13 +27421,13 @@ var require_ignore = __commonJS((exports2, module2) => {
|
|
|
27421
27421
|
],
|
|
27422
27422
|
[
|
|
27423
27423
|
/((?:\\\\)*?)(\\?\s+)$/,
|
|
27424
|
-
(_4,
|
|
27424
|
+
(_4, m13, m23) => m13 + (m23.indexOf("\\") === 0 ? SPACE : EMPTY)
|
|
27425
27425
|
],
|
|
27426
27426
|
[
|
|
27427
27427
|
/(\\+?)\s/g,
|
|
27428
|
-
(_4,
|
|
27429
|
-
const { length } =
|
|
27430
|
-
return
|
|
27428
|
+
(_4, m13) => {
|
|
27429
|
+
const { length } = m13;
|
|
27430
|
+
return m13.slice(0, length - length % 2) + SPACE;
|
|
27431
27431
|
}
|
|
27432
27432
|
],
|
|
27433
27433
|
[
|
|
@@ -27462,9 +27462,9 @@ var require_ignore = __commonJS((exports2, module2) => {
|
|
|
27462
27462
|
],
|
|
27463
27463
|
[
|
|
27464
27464
|
/(^|[^\\]+)(\\\*)+(?=.+)/g,
|
|
27465
|
-
(_4,
|
|
27465
|
+
(_4, p12, p22) => {
|
|
27466
27466
|
const unescaped = p22.replace(/\\\*/g, "[^\\/]*");
|
|
27467
|
-
return
|
|
27467
|
+
return p12 + unescaped;
|
|
27468
27468
|
}
|
|
27469
27469
|
],
|
|
27470
27470
|
[
|
|
@@ -27489,12 +27489,12 @@ var require_ignore = __commonJS((exports2, module2) => {
|
|
|
27489
27489
|
var MODE_CHECK_IGNORE = "checkRegex";
|
|
27490
27490
|
var UNDERSCORE = "_";
|
|
27491
27491
|
var TRAILING_WILD_CARD_REPLACERS = {
|
|
27492
|
-
[MODE_IGNORE](_4,
|
|
27493
|
-
const prefix =
|
|
27492
|
+
[MODE_IGNORE](_4, p12) {
|
|
27493
|
+
const prefix = p12 ? `${p12}[^/]+` : "[^/]*";
|
|
27494
27494
|
return `${prefix}(?=$|\\/$)`;
|
|
27495
27495
|
},
|
|
27496
|
-
[MODE_CHECK_IGNORE](_4,
|
|
27497
|
-
const prefix =
|
|
27496
|
+
[MODE_CHECK_IGNORE](_4, p12) {
|
|
27497
|
+
const prefix = p12 ? `${p12}[^/]*` : "[^/]*";
|
|
27498
27498
|
return `${prefix}(?=$|\\/$)`;
|
|
27499
27499
|
}
|
|
27500
27500
|
};
|
|
@@ -27799,7 +27799,7 @@ var require_dist3 = __commonJS((exports2) => {
|
|
|
27799
27799
|
exports2.default = deferred;
|
|
27800
27800
|
});
|
|
27801
27801
|
// package.json
|
|
27802
|
-
var version = "2.3.
|
|
27802
|
+
var version = "2.3.24";
|
|
27803
27803
|
|
|
27804
27804
|
// ../../node_modules/.pnpm/@commander-js+extra-typings@13.1.0_commander@13.1.0/node_modules/@commander-js/extra-typings/esm.mjs
|
|
27805
27805
|
var import__ = __toESM(require_extra_typings(), 1);
|
|
@@ -38201,7 +38201,7 @@ import fs from "fs";
|
|
|
38201
38201
|
import os from "os";
|
|
38202
38202
|
import path2 from "path";
|
|
38203
38203
|
|
|
38204
|
-
// ../../node_modules/.pnpm/js-yaml@4.3.
|
|
38204
|
+
// ../../node_modules/.pnpm/js-yaml@4.3.2/node_modules/js-yaml/dist/js-yaml.mjs
|
|
38205
38205
|
function getDefaultExportFromCjs(x) {
|
|
38206
38206
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
38207
38207
|
}
|
|
@@ -39535,16 +39535,21 @@ function requireLoader() {
|
|
|
39535
39535
|
state.result += _result;
|
|
39536
39536
|
}
|
|
39537
39537
|
}
|
|
39538
|
+
function chargeMergeWork(state) {
|
|
39539
|
+
state.totalMergeKeys++;
|
|
39540
|
+
if (state.maxTotalMergeKeys !== -1 && state.totalMergeKeys > state.maxTotalMergeKeys) {
|
|
39541
|
+
throwError(state, "merge keys exceeded maxTotalMergeKeys (" + state.maxTotalMergeKeys + ")");
|
|
39542
|
+
}
|
|
39543
|
+
}
|
|
39538
39544
|
function mergeMappings(state, destination, source, overridableKeys) {
|
|
39539
39545
|
if (!common2.isObject(source)) {
|
|
39540
39546
|
throwError(state, "cannot merge mappings; the provided source object is unacceptable");
|
|
39541
39547
|
}
|
|
39548
|
+
chargeMergeWork(state);
|
|
39542
39549
|
const sourceKeys = Object.keys(source);
|
|
39543
39550
|
for (let index = 0, quantity = sourceKeys.length;index < quantity; index += 1) {
|
|
39544
39551
|
const key = sourceKeys[index];
|
|
39545
|
-
|
|
39546
|
-
throwError(state, "merge keys exceeded maxTotalMergeKeys (" + state.maxTotalMergeKeys + ")");
|
|
39547
|
-
}
|
|
39552
|
+
chargeMergeWork(state);
|
|
39548
39553
|
if (!_hasOwnProperty.call(destination, key)) {
|
|
39549
39554
|
setProperty(destination, key, source[key]);
|
|
39550
39555
|
overridableKeys[key] = true;
|
|
@@ -39572,6 +39577,9 @@ function requireLoader() {
|
|
|
39572
39577
|
}
|
|
39573
39578
|
if (keyTag === "tag:yaml.org,2002:merge") {
|
|
39574
39579
|
if (Array.isArray(valueNode)) {
|
|
39580
|
+
if (valueNode.length > 100) {
|
|
39581
|
+
throwError(state, "abnormal merge sequence size");
|
|
39582
|
+
}
|
|
39575
39583
|
for (let index = 0, quantity = valueNode.length;index < quantity; index += 1) {
|
|
39576
39584
|
mergeMappings(state, _result, valueNode[index], overridableKeys);
|
|
39577
39585
|
}
|
|
@@ -65786,11 +65794,53 @@ Func rel_config(rel: Relationship, active: Boolean, direction: 'one_to_many' | '
|
|
|
65786
65794
|
}
|
|
65787
65795
|
}
|
|
65788
65796
|
|
|
65789
|
-
|
|
65797
|
+
// One column pair beyond the \`from\`/\`to\` pair. Blocks combine with AND.
|
|
65798
|
+
Type RelationshipKey {
|
|
65799
|
+
from: FieldRef
|
|
65800
|
+
to: FieldRef
|
|
65801
|
+
}
|
|
65802
|
+
|
|
65803
|
+
// Each expression must reference columns of exactly one of the two models. It is
|
|
65804
|
+
// emitted into the join condition, not into WHERE, so it restricts the match
|
|
65805
|
+
// without deleting rows from the measure side.
|
|
65806
|
+
Type RelationshipFilter {
|
|
65807
|
+
from (optional): Heredoc['aql']
|
|
65808
|
+
to (optional): Heredoc['aql']
|
|
65809
|
+
}
|
|
65810
|
+
|
|
65811
|
+
Type EqualityRelationship (elem_name_as: 'name') {
|
|
65790
65812
|
type: 'many_to_one' | 'one_to_one'
|
|
65791
65813
|
from: FieldRef
|
|
65792
65814
|
to: FieldRef
|
|
65815
|
+
on (multiple: true, optional): RelationshipKey
|
|
65816
|
+
where (optional): RelationshipFilter
|
|
65817
|
+
}
|
|
65818
|
+
|
|
65819
|
+
// The \`to\` side stores both ends of the range, and \`match\` says which end is
|
|
65820
|
+
// inclusive. \`match\` carries the whole condition, including any equality that
|
|
65821
|
+
// partitions the ranges, so \`from\` and \`to\` are the unique key of each side here
|
|
65822
|
+
// rather than the two sides of an equality. The reverse direction fans out and
|
|
65823
|
+
// dedupes on the \`to\` key. The type claims many to one, so ranges within a
|
|
65824
|
+
// partition must not overlap. Nothing checks that claim.
|
|
65825
|
+
Type RangeRelationship (elem_name_as: 'name') {
|
|
65826
|
+
type: 'range'
|
|
65827
|
+
from: FieldRef
|
|
65828
|
+
to: FieldRef
|
|
65829
|
+
match: Heredoc['aql']
|
|
65830
|
+
where (optional): RelationshipFilter
|
|
65831
|
+
}
|
|
65832
|
+
|
|
65833
|
+
// \`match\` carries the whole condition, so \`from\` and \`to\` are the unique key of
|
|
65834
|
+
// each side here rather than the two sides of an equality. Both ends fan out.
|
|
65835
|
+
Type ManyToManyRelationship (elem_name_as: 'name') {
|
|
65836
|
+
type: 'many_to_many'
|
|
65837
|
+
from: FieldRef
|
|
65838
|
+
to: FieldRef
|
|
65839
|
+
match: Heredoc['aql']
|
|
65840
|
+
where (optional): RelationshipFilter
|
|
65793
65841
|
}
|
|
65842
|
+
|
|
65843
|
+
Type Relationship = EqualityRelationship | RangeRelationship | ManyToManyRelationship
|
|
65794
65844
|
`, "project_settings.aml": `Type ProjectSettings {
|
|
65795
65845
|
viz(optional) {
|
|
65796
65846
|
default_color_palette(optional): ColorPalette
|
|
@@ -76807,18 +76857,18 @@ var TE2 = Xv2({
|
|
|
76807
76857
|
...EE2
|
|
76808
76858
|
});
|
|
76809
76859
|
var {
|
|
76810
|
-
tokenize:
|
|
76860
|
+
tokenize: CM,
|
|
76811
76861
|
parse: BE2,
|
|
76812
76862
|
generate: IE2,
|
|
76813
|
-
lexer:
|
|
76814
|
-
createLexer:
|
|
76863
|
+
lexer: SM,
|
|
76864
|
+
createLexer: EM,
|
|
76815
76865
|
walk: PE2,
|
|
76816
|
-
find:
|
|
76817
|
-
findLast:
|
|
76818
|
-
findAll:
|
|
76819
|
-
toPlainObject:
|
|
76820
|
-
fromPlainObject:
|
|
76821
|
-
fork:
|
|
76866
|
+
find: TM,
|
|
76867
|
+
findLast: BM,
|
|
76868
|
+
findAll: IM,
|
|
76869
|
+
toPlainObject: PM,
|
|
76870
|
+
fromPlainObject: DM,
|
|
76871
|
+
fork: FM
|
|
76822
76872
|
} = TE2;
|
|
76823
76873
|
function DE2(e, t) {
|
|
76824
76874
|
const n = BE2(e, { parseCustomProperty: false });
|
|
@@ -79344,11 +79394,11 @@ var gA2 = [
|
|
|
79344
79394
|
{ label: "Dec 31", format: { pattern: "LLL dd" } },
|
|
79345
79395
|
{ label: "31 Dec", format: { pattern: "dd LLL" } }
|
|
79346
79396
|
];
|
|
79347
|
-
var
|
|
79397
|
+
var NM = [
|
|
79348
79398
|
{ label: "Default", format: { pattern: "LLL dd yyyy" } },
|
|
79349
79399
|
...gA2
|
|
79350
79400
|
];
|
|
79351
|
-
var
|
|
79401
|
+
var MM = [
|
|
79352
79402
|
{ label: "Inherited", format: { pattern: "inherited" } },
|
|
79353
79403
|
...gA2
|
|
79354
79404
|
];
|
|
@@ -79520,7 +79570,17 @@ var jI2 = (e, t) => {
|
|
|
79520
79570
|
throw new Error(`Destination model '${n.rel.to.model}' not found`);
|
|
79521
79571
|
});
|
|
79522
79572
|
};
|
|
79523
|
-
var UI2 = (e
|
|
79573
|
+
var UI2 = (e) => {
|
|
79574
|
+
const t = {};
|
|
79575
|
+
return e.name && (t.name = e.name), (e.type === "many_to_one" || e.type === "one_to_one") && e.on?.length && (t.extra_keys = e.on.map((n) => ({
|
|
79576
|
+
source_field: n.from.field,
|
|
79577
|
+
dest_field: n.to.field
|
|
79578
|
+
}))), (e.type === "range" || e.type === "many_to_many") && (t.match = e.match.content), (e.where?.from || e.where?.to) && (t.where = {
|
|
79579
|
+
...e.where.from ? { source: e.where.from.content } : {},
|
|
79580
|
+
...e.where.to ? { dest: e.where.to.content } : {}
|
|
79581
|
+
}), t;
|
|
79582
|
+
};
|
|
79583
|
+
var KI2 = (e, t) => {
|
|
79524
79584
|
jI2(e, t);
|
|
79525
79585
|
const n = e.map((i) => {
|
|
79526
79586
|
const r2 = t.find((s2) => s2.name === $o3(i.rel.from, i.rel.from.model)), a = t.find((s2) => s2.name === $o3(i.rel.to, i.rel.to.model));
|
|
@@ -79529,7 +79589,8 @@ var UI2 = (e, t) => {
|
|
|
79529
79589
|
link_type: i.rel.type,
|
|
79530
79590
|
source_model_id: r2.name,
|
|
79531
79591
|
dest_model_id: a.name,
|
|
79532
|
-
join_on: `\${SOURCE.${i.rel.from.field}} = \${DEST.${i.rel.to.field}}
|
|
79592
|
+
join_on: `\${SOURCE.${i.rel.from.field}} = \${DEST.${i.rel.to.field}}`,
|
|
79593
|
+
...UI2(i.rel)
|
|
79533
79594
|
};
|
|
79534
79595
|
}), o2 = import_lodash.zipWith(e, n, (i, r2) => {
|
|
79535
79596
|
const {
|
|
@@ -79537,25 +79598,33 @@ var UI2 = (e, t) => {
|
|
|
79537
79598
|
source_model_id: s2,
|
|
79538
79599
|
dest_model_id: l2,
|
|
79539
79600
|
join_on: c3,
|
|
79540
|
-
link_type: u
|
|
79541
|
-
|
|
79601
|
+
link_type: u,
|
|
79602
|
+
name: d2,
|
|
79603
|
+
extra_keys: m3,
|
|
79604
|
+
match: h2,
|
|
79605
|
+
where: f3
|
|
79606
|
+
} = r2, { active: g3, direction: b2, rlp_propagation: x2, nullable: w2 } = i;
|
|
79542
79607
|
return {
|
|
79543
79608
|
join_id: a,
|
|
79544
|
-
active:
|
|
79545
|
-
direction:
|
|
79546
|
-
rlp_propagation:
|
|
79547
|
-
nullable:
|
|
79609
|
+
active: g3,
|
|
79610
|
+
direction: b2,
|
|
79611
|
+
rlp_propagation: x2,
|
|
79612
|
+
nullable: w2,
|
|
79548
79613
|
join: {
|
|
79549
79614
|
source_model: s2,
|
|
79550
79615
|
dest_model: l2,
|
|
79551
79616
|
join_on: c3,
|
|
79552
|
-
link_type: u
|
|
79617
|
+
link_type: u,
|
|
79618
|
+
...d2 ? { name: d2 } : {},
|
|
79619
|
+
...m3 ? { extra_keys: m3 } : {},
|
|
79620
|
+
...h2 ? { match: h2 } : {},
|
|
79621
|
+
...f3 ? { where: f3 } : {}
|
|
79553
79622
|
}
|
|
79554
79623
|
};
|
|
79555
79624
|
});
|
|
79556
79625
|
return { relationships: n, joinConfigs: o2 };
|
|
79557
79626
|
};
|
|
79558
|
-
var
|
|
79627
|
+
var HI2 = (e, t) => ({
|
|
79559
79628
|
name: e,
|
|
79560
79629
|
type: t.type,
|
|
79561
79630
|
mode: t.mode ?? "val",
|
|
@@ -79568,16 +79637,16 @@ var SA2 = (e) => ({
|
|
|
79568
79637
|
label: e.label,
|
|
79569
79638
|
description: e.description,
|
|
79570
79639
|
hidden: e.hidden ?? false,
|
|
79571
|
-
params: Object.entries(e.param ?? {}).map(([t, n]) =>
|
|
79640
|
+
params: Object.entries(e.param ?? {}).map(([t, n]) => HI2(t, n)),
|
|
79572
79641
|
functions: import_lodash.mapValues(e.function ?? {}, SA2),
|
|
79573
79642
|
return_type: e.return_type,
|
|
79574
79643
|
definition: e.definition.content
|
|
79575
79644
|
});
|
|
79576
|
-
var
|
|
79645
|
+
var QI2 = (e) => {
|
|
79577
79646
|
if (e)
|
|
79578
79647
|
return import_lodash.mapValues(e, SA2);
|
|
79579
79648
|
};
|
|
79580
|
-
var
|
|
79649
|
+
var WI2 = (e, t) => {
|
|
79581
79650
|
const {
|
|
79582
79651
|
name: n,
|
|
79583
79652
|
field: o2,
|
|
@@ -79600,7 +79669,7 @@ var QI2 = (e, t) => {
|
|
|
79600
79669
|
};
|
|
79601
79670
|
};
|
|
79602
79671
|
var Pi2 = (e) => {
|
|
79603
|
-
const t = import_lodash.map(e.models, (c3) => Wc2(c3)), { relationships: n, joinConfigs: o2 } =
|
|
79672
|
+
const t = import_lodash.map(e.models, (c3) => Wc2(c3)), { relationships: n, joinConfigs: o2 } = KI2(e.relationships, t), i = bi2(e);
|
|
79604
79673
|
import_lodash.forEach(e.dimension, (c3) => {
|
|
79605
79674
|
const u = bi2(c3.model), d2 = t.find((h2) => h2.name === u), m3 = Rl2(c3, c3.model, "dimension");
|
|
79606
79675
|
d2?.dimensions.push({
|
|
@@ -79611,7 +79680,7 @@ var Pi2 = (e) => {
|
|
|
79611
79680
|
const r2 = import_lodash.map(e.metric, (c3) => $I2(c3));
|
|
79612
79681
|
let a;
|
|
79613
79682
|
e.view?.length && (a = e.view.map((c3) => (yI2(c3, t, r2), bI2(c3))));
|
|
79614
|
-
const s2 = import_lodash.mapValues(e.permission || {}, (c3) =>
|
|
79683
|
+
const s2 = import_lodash.mapValues(e.permission || {}, (c3) => WI2(i, c3)), l2 = {
|
|
79615
79684
|
amlBaseFqn: e.__baseFqn__,
|
|
79616
79685
|
id: i,
|
|
79617
79686
|
name: i,
|
|
@@ -79624,7 +79693,7 @@ var Pi2 = (e) => {
|
|
|
79624
79693
|
data_source_name: Ml2(e.data_source_name),
|
|
79625
79694
|
owner: e.owner || "",
|
|
79626
79695
|
metrics: r2,
|
|
79627
|
-
functions:
|
|
79696
|
+
functions: QI2(e.function),
|
|
79628
79697
|
views: a,
|
|
79629
79698
|
pre_aggregates: e.pre_aggregates || {},
|
|
79630
79699
|
row_level_permission_rules: s2
|
|
@@ -79643,7 +79712,7 @@ var Pi2 = (e) => {
|
|
|
79643
79712
|
}
|
|
79644
79713
|
return e.__decorators__?.tag?.length && (l2.tags = to2(e.__decorators__.tag)), l2;
|
|
79645
79714
|
};
|
|
79646
|
-
function
|
|
79715
|
+
function tP(e, t) {
|
|
79647
79716
|
const n = [], o2 = [];
|
|
79648
79717
|
function i(s2) {
|
|
79649
79718
|
if (s2) {
|
|
@@ -79670,7 +79739,7 @@ function eP(e, t) {
|
|
|
79670
79739
|
throw new Error(`Cannot find dataset ${s2}`);
|
|
79671
79740
|
}), a;
|
|
79672
79741
|
}
|
|
79673
|
-
function
|
|
79742
|
+
function nP(e) {
|
|
79674
79743
|
const { timezone: t } = e, n = !!e.allow_timezone_change, o2 = e.autorun_on_changes === undefined ? undefined : !!e.autorun_on_changes, i = e.show_field_description === undefined ? undefined : !!e.show_field_description;
|
|
79675
79744
|
let r2 = Number(e.cache_duration);
|
|
79676
79745
|
Number.isFinite(r2) ? r2 < 10 && (r2 = 10) : r2 = undefined;
|
|
@@ -79685,7 +79754,7 @@ function tP(e) {
|
|
|
79685
79754
|
show_field_description: i
|
|
79686
79755
|
}, (l2) => l2 === undefined);
|
|
79687
79756
|
}
|
|
79688
|
-
function
|
|
79757
|
+
function oP(e, t) {
|
|
79689
79758
|
const { uname: n, def: o2 } = e;
|
|
79690
79759
|
try {
|
|
79691
79760
|
const i = String(o2.__type__), r2 = o2.__decorators__?.tag?.length ? { tags: to2(o2.__decorators__?.tag) } : {};
|
|
@@ -79796,7 +79865,7 @@ var Ol2 = [
|
|
|
79796
79865
|
"PopBlock",
|
|
79797
79866
|
"DateDrillBlock"
|
|
79798
79867
|
];
|
|
79799
|
-
function
|
|
79868
|
+
function iP(e) {
|
|
79800
79869
|
switch (e.__type__) {
|
|
79801
79870
|
case "StringParamMetadata":
|
|
79802
79871
|
return {
|
|
@@ -79830,10 +79899,10 @@ function oP(e) {
|
|
|
79830
79899
|
};
|
|
79831
79900
|
}
|
|
79832
79901
|
}
|
|
79833
|
-
function
|
|
79902
|
+
function rP(e) {
|
|
79834
79903
|
try {
|
|
79835
79904
|
const t = e?.param;
|
|
79836
|
-
return !t || typeof t != "object" ? {} : Object.values(t).reduce((n, o2) => (n[o2.uname] =
|
|
79905
|
+
return !t || typeof t != "object" ? {} : Object.values(t).reduce((n, o2) => (n[o2.uname] = iP(o2.def), n), {});
|
|
79837
79906
|
} catch {
|
|
79838
79907
|
return {};
|
|
79839
79908
|
}
|
|
@@ -79843,7 +79912,7 @@ function TA2(e) {
|
|
|
79843
79912
|
blockWidth: e.block_width,
|
|
79844
79913
|
blockHeight: e.block_height,
|
|
79845
79914
|
group: e.group,
|
|
79846
|
-
params:
|
|
79915
|
+
params: rP(e.func)
|
|
79847
79916
|
} : {};
|
|
79848
79917
|
}
|
|
79849
79918
|
function BA2(e, t) {
|
|
@@ -79852,7 +79921,7 @@ function BA2(e, t) {
|
|
|
79852
79921
|
field: t
|
|
79853
79922
|
} : t;
|
|
79854
79923
|
}
|
|
79855
|
-
function
|
|
79924
|
+
function aP(e) {
|
|
79856
79925
|
const t = e?.value;
|
|
79857
79926
|
if (!t || typeof t != "object" || Array.isArray(t))
|
|
79858
79927
|
return false;
|
|
@@ -79866,7 +79935,7 @@ function rP(e) {
|
|
|
79866
79935
|
const o2 = t.__type__ ?? t.def?.__type__;
|
|
79867
79936
|
return !!o2 && Ol2.includes(o2);
|
|
79868
79937
|
}
|
|
79869
|
-
function
|
|
79938
|
+
function sP(e) {
|
|
79870
79939
|
const { value: t, fqn: n } = e, o2 = ze3(n) ?? e.name.replace(/::/g, "."), i = t.__decorators__.template, {
|
|
79871
79940
|
funcType: r2,
|
|
79872
79941
|
title: a,
|
|
@@ -79900,10 +79969,10 @@ function aP(e) {
|
|
|
79900
79969
|
metadata: u
|
|
79901
79970
|
};
|
|
79902
79971
|
}
|
|
79903
|
-
var
|
|
79972
|
+
var UM = {
|
|
79904
79973
|
typeName: vt3.BlockTemplate,
|
|
79905
|
-
matches:
|
|
79906
|
-
transform: (e) => ({ ...e, _type: vt3.BlockTemplate, value:
|
|
79974
|
+
matches: aP,
|
|
79975
|
+
transform: (e) => ({ ...e, _type: vt3.BlockTemplate, value: sP(e) })
|
|
79907
79976
|
};
|
|
79908
79977
|
function Yc2(e, t) {
|
|
79909
79978
|
const n = (e.__fqn__ || e.uname).replace(/::/g, ".");
|
|
@@ -79918,78 +79987,78 @@ function Yc2(e, t) {
|
|
|
79918
79987
|
blocks: [],
|
|
79919
79988
|
interactions: [],
|
|
79920
79989
|
views: []
|
|
79921
|
-
}, i =
|
|
79922
|
-
return o2.blocks = r2.map((a) =>
|
|
79990
|
+
}, i = tP(e, t), r2 = mr3(e, "block");
|
|
79991
|
+
return o2.blocks = r2.map((a) => oP(a, i)), o2.interactions = e.explicit_interactions ? gI2(e.explicit_interactions, o2.blocks, i) : fI2(e.interactions || [], o2.blocks, i), e.view && (o2.views = [
|
|
79923
79992
|
mA2(e.view, 0, o2.blocks)
|
|
79924
|
-
]), o2.settings =
|
|
79993
|
+
]), o2.settings = nP(e.settings || {}), o2.theme = OE2(e.theme), o2;
|
|
79925
79994
|
} catch (o2) {
|
|
79926
79995
|
throw new Error(`Dashboard "${n}": ${o2.message}`);
|
|
79927
79996
|
}
|
|
79928
79997
|
}
|
|
79929
|
-
function
|
|
79998
|
+
function NP(e) {
|
|
79930
79999
|
return typeof e != "object" || e === null ? false : oi2.some((t) => (t in e));
|
|
79931
80000
|
}
|
|
79932
80001
|
function bm2(e) {
|
|
79933
80002
|
return typeof e == "string" ? _2(e) : String(e);
|
|
79934
80003
|
}
|
|
79935
|
-
function
|
|
80004
|
+
function MP(e) {
|
|
79936
80005
|
const t = [];
|
|
79937
80006
|
return import_lodash.isNil(e.applyOrder) || t.push(`apply_order: ${e.applyOrder}`), t.push(`direction: ${_2(e.direction)}`), `{
|
|
79938
80007
|
${t.join(`
|
|
79939
80008
|
`)}
|
|
79940
80009
|
}`;
|
|
79941
80010
|
}
|
|
79942
|
-
function
|
|
80011
|
+
function RP(e, t) {
|
|
79943
80012
|
const n = [];
|
|
79944
|
-
return t.label && n.push(`label: ${_2(t.label)}`), n.push(`type: ${_2(t.type)}`), t.sort && n.push(j4("sort",
|
|
80013
|
+
return t.label && n.push(`label: ${_2(t.label)}`), n.push(`type: ${_2(t.type)}`), t.sort && n.push(j4("sort", MP(t.sort))), t.dataType && n.push(`data_type: ${_2(t.dataType)}`), `field ${e} {
|
|
79945
80014
|
${n.join(`
|
|
79946
80015
|
`)}
|
|
79947
80016
|
}`;
|
|
79948
80017
|
}
|
|
79949
|
-
function
|
|
80018
|
+
function OP(e, t) {
|
|
79950
80019
|
const n = [];
|
|
79951
80020
|
return t.label && n.push(`label: ${_2(t.label)}`), n.push(`type: ${_2(t.type)}`), t.options?.length && n.push(`options: [${t.options.map(bm2).join(", ")}]`), import_lodash.isNil(t.defaultValue) || n.push(`default_value: ${bm2(t.defaultValue)}`), `option ${e} {
|
|
79952
80021
|
${n.join(`
|
|
79953
80022
|
`)}
|
|
79954
80023
|
}`;
|
|
79955
80024
|
}
|
|
79956
|
-
function
|
|
80025
|
+
function zP(e) {
|
|
79957
80026
|
return `fields {
|
|
79958
|
-
${import_lodash.sortBy(Object.entries(e), ([, n]) => n.order).map(([n, o2]) =>
|
|
80027
|
+
${import_lodash.sortBy(Object.entries(e), ([, n]) => n.order).map(([n, o2]) => RP(n, o2)).join(`
|
|
79959
80028
|
`)}
|
|
79960
80029
|
}`;
|
|
79961
80030
|
}
|
|
79962
|
-
function
|
|
79963
|
-
const t = import_lodash.sortBy(Object.entries(e ?? {}), ([, n]) => n.order).map(([n, o2]) =>
|
|
80031
|
+
function VP(e) {
|
|
80032
|
+
const t = import_lodash.sortBy(Object.entries(e ?? {}), ([, n]) => n.order).map(([n, o2]) => OP(n, o2));
|
|
79964
80033
|
if (t.length !== 0)
|
|
79965
80034
|
return `options {
|
|
79966
80035
|
${t.join(`
|
|
79967
80036
|
`)}
|
|
79968
80037
|
}`;
|
|
79969
80038
|
}
|
|
79970
|
-
function
|
|
80039
|
+
function GP(e, t) {
|
|
79971
80040
|
const n = rt3(e, { sanitizeHeredocTermination: true });
|
|
79972
80041
|
return `template: @${t ?? "vgl"}
|
|
79973
80042
|
${n}
|
|
79974
80043
|
;;`;
|
|
79975
80044
|
}
|
|
79976
|
-
function
|
|
80045
|
+
function jP(e) {
|
|
79977
80046
|
const t = [];
|
|
79978
|
-
t.push(`label: ${_2(e.label)}`), e.description && t.push(`description: ${_2(e.description)}`), e.icon && t.push(`icon: ${_2(e.icon)}`), t.push(
|
|
79979
|
-
const n =
|
|
79980
|
-
return n && t.push(n), t.push(
|
|
80047
|
+
t.push(`label: ${_2(e.label)}`), e.description && t.push(`description: ${_2(e.description)}`), e.icon && t.push(`icon: ${_2(e.icon)}`), t.push(zP(e.fields));
|
|
80048
|
+
const n = VP(e.options);
|
|
80049
|
+
return n && t.push(n), t.push(GP(e.template, e.templateSyntax)), `{
|
|
79981
80050
|
${t.join(`
|
|
79982
80051
|
`)}
|
|
79983
80052
|
}`;
|
|
79984
80053
|
}
|
|
79985
|
-
function
|
|
80054
|
+
function UP(e, t) {
|
|
79986
80055
|
if (e._id && t)
|
|
79987
80056
|
return e._id;
|
|
79988
|
-
const n =
|
|
80057
|
+
const n = jP(e);
|
|
79989
80058
|
return `CustomChartDef ${e._id ? e._id.split(".").pop() : ""} ${n}`;
|
|
79990
80059
|
}
|
|
79991
80060
|
var Ys2;
|
|
79992
|
-
var
|
|
80061
|
+
var KP = /* @__PURE__ */ new Map([
|
|
79993
80062
|
[0, 65533],
|
|
79994
80063
|
[128, 8364],
|
|
79995
80064
|
[130, 8218],
|
|
@@ -80023,9 +80092,9 @@ var wm2 = (Ys2 = String.fromCodePoint) !== null && Ys2 !== undefined ? Ys2 : (e)
|
|
|
80023
80092
|
let t = "";
|
|
80024
80093
|
return e > 65535 && (e -= 65536, t += String.fromCharCode(e >>> 10 & 1023 | 55296), e = 56320 | e & 1023), t += String.fromCharCode(e), t;
|
|
80025
80094
|
};
|
|
80026
|
-
function
|
|
80095
|
+
function HP(e) {
|
|
80027
80096
|
var t;
|
|
80028
|
-
return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : (t =
|
|
80097
|
+
return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : (t = KP.get(e)) !== null && t !== undefined ? t : e;
|
|
80029
80098
|
}
|
|
80030
80099
|
function $A2(e) {
|
|
80031
80100
|
const t = typeof atob == "function" ? atob(e) : typeof Buffer.from == "function" ? Buffer.from(e, "base64").toString("binary") : new Buffer(e, "base64").toString("binary"), n = t.length & -2, o2 = new Uint16Array(n / 2);
|
|
@@ -80035,8 +80104,8 @@ function $A2(e) {
|
|
|
80035
80104
|
}
|
|
80036
80105
|
return o2;
|
|
80037
80106
|
}
|
|
80038
|
-
var HP = /* @__PURE__ */ $A2("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
80039
|
-
var
|
|
80107
|
+
var QP = /* @__PURE__ */ $A2("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IAAOA12J/c8iFvaxBhAAhOVGFjZGZnbG1vcHFzdHV4owOlA6kDsAO/A8IDxgPNA9ID8gP9AwEEFAQeBCAEJQRHAEphSAA7gNAA0EBjAHUAdABlADuAyQDJQIABYWl5ALYDuQO+A/Ihb24aYXIAYwA7gMoAykAtZG8AdAAWYXIAAOA12AjdcgBhAHYAZQA7gMgAyEDlIm1lbnQAoAgiAAFhcNYD2QNjAHIAEmF0AHkAUwLhAwAAAADpA20lYWxsU3F1YXJlAACg+yVlJ3J5U21hbGxTcXVhcmUAAKCrJQABZ3D2A/kDbwBuABhhZgAA4DXYPN3zImlsb26VY3UAAAFhaQYEDgRsAFSgdSppImxkZQAAoEIi7CNpYnJpdW0AoMwhAAFjaRgEGwRyAACgMCFtAACgcyphAJdjbQBsADuAywDLQAABaXApBC0E8yF0cwCgAyLvJG5lbnRpYWxFAKBHIYACY2Zpb3MAPQQ/BEMEXQRyBHkAJGRyAADgNdgJ3WwibGVkAFMCTAQAAAAAVARtJWFsbFNxdWFyZQAAoPwlZSdyeVNtYWxsU3F1YXJlAACgqiVwA2UEAABpBAAAAABtBGYAAOA12D3dwSFsbACgACLyI2llcnRyZgCgMSFjAPIAcQQABkpUYWJjZGZnb3JzdIgEiwSOBJMElwSkBKcEqwStBLIE5QTqBGMAeQADZDuAPgA+QO0hbWFkoJMD3GNyImV2ZQAeYYABZWl5AJ0EoASjBOQhaWwiYXIAYwAcYRNkbwB0ACBhcgAA4DXYCt0AoNkicABmAADgNdg+3eUiYXRlcgADRUZHTFNUvwTIBM8E1QTZBOAEcSJ1YWwATKBlIuUhc3MAoNsidSRsbEVxdWFsAACgZyJyI2VhdGVyAACgoirlIXNzAKB3IuwkYW50RXF1YWwAoH4qaSJsZGUAAKBzImMAcgAA4DXYotwAoGsiAARBYWNmaW9zdfkE/QQFBQgFCwUTBSIFKwVSIkRjeQAqZAABY3QBBQQFZQBrAMdiXmDpIXJjJGFyAACgDCFsJWJlcnRTcGFjZQAAoAsh8AEYBQAAGwVmAACgDSHpJXpvbnRhbExpbmUAoAAlAAFjdCYFKAXyABIF8iFvayZhbQBwAEQBMQU5BW8AdwBuAEgAdQBtAPAAAAFxInVhbAAAoE8iAAdFSk9hY2RmZ21ub3N0dVMFVgVZBVwFYwVtBXAFcwV6BZAFtgXFBckFzQVjAHkAFWTsIWlnMmFjAHkAAWRjAHUAdABlADuAzQDNQAABaXlnBWwFcgBjADuAzgDOQBhkbwB0ADBhcgAAoBEhcgBhAHYAZQA7gMwAzEAAoREhYXB/BYsFAAFjZ4MFhQVyACphaSNuYXJ5SQAAoEghbABpAGUA8wD6AvQBlQUAAKUFZaAsIgABZ3KaBZ4F8iFhbACgKyLzI2VjdGlvbgCgwiJpI3NpYmxlAAABQ1SsBbEFbyJtbWEAAKBjIGkibWVzAACgYiCAAWdwdAC8Bb8FwwVvAG4ALmFmAADgNdhA3WEAmWNjAHIAAKAQIWkibGRlAChh6wHSBQAA1QVjAHkABmRsADuAzwDPQIACY2Zvc3UA4QXpBe0F8gX9BQABaXnlBegFcgBjADRhGWRyAADgNdgN3XAAZgAA4DXYQd3jAfcFAAD7BXIAAOA12KXc8iFjeQhk6yFjeQRkgANISmFjZm9zAAwGDwYSBhUGHQYhBiYGYwB5ACVkYwB5AAxk8CFwYZpjAAFleRkGHAbkIWlsNmEaZHIAAOA12A7dcABmAADgNdhC3WMAcgAA4DXYptyABUpUYWNlZmxtb3N0AD0GQAZDBl4GawZkB2gHcAd0B80H2gdjAHkACWQ7gDwAPECAAmNtbnByAEwGTwZSBlUGWwb1IXRlOWHiIWRhm2NnAACg6ifsI2FjZXRyZgCgEiFyAACgniGAAWFleQBkBmcGagbyIW9uPWHkIWlsO2EbZAABZnNvBjQHdAAABUFDREZSVFVWYXKABp4GpAbGBssG3AYDByEHwQIqBwABbnKEBowGZyVsZUJyYWNrZXQAAKDoJ/Ihb3cAoZAhQlKTBpcGYQByAACg5CHpJGdodEFycm93AKDGIWUjaWxpbmcAAKAII28A9QGqBgAAsgZiJWxlQnJhY2tldAAAoOYnbgDUAbcGAAC+BmUkZVZlY3RvcgAAoGEp5SJjdG9yQqDDIWEAcgAAoFkpbCJvb3IAAKAKI2kiZ2h0AAABQVbSBtcGciJyb3cAAKCUIeUiY3RvcgCgTikAAWVy4AbwBmUAAKGjIkFW5gbrBnIicm93AACgpCHlImN0b3IAoFopaSNhbmdsZQBCorIi+wYAAAAA/wZhAHIAAKDPKXEidWFsAACgtCJwAIABRFRWAAoHEQcYB+8kd25WZWN0b3IAoFEpZSRlVmVjdG9yAACgYCnlImN0b3JCoL8hYQByAACgWCnlImN0b3JCoLwhYQByAACgUilpAGcAaAB0AGEAcgByAG8A9wDMAnMAAANFRkdMU1Q/B0cHTgdUB1gHXwfxJXVhbEdyZWF0ZXIAoNoidSRsbEVxdWFsAACgZiJyI2VhdGVyAACgdiLlIXNzAKChKuwkYW50RXF1YWwAoH0qaSJsZGUAAKByInIAAOA12A/dZaDYIuYjdGFycm93AKDaIWkiZG90AD9hgAFucHcAege1B7kHZwAAAkxSbHKCB5QHmwerB+UhZnQAAUFSiAeNB3Iicm93AACg9SfpJGdodEFycm93AKD3J+kkZ2h0QXJyb3cAoPYn5SFmdAABYXLcAqEHaQBnAGgAdABhAHIAcgBvAPcA5wJpAGcAaAB0AGEAcgByAG8A9wDuAmYAAOA12EPdZQByAAABTFK/B8YHZSRmdEFycm93AACgmSHpJGdodEFycm93AKCYIYABY2h0ANMH1QfXB/IAWgYAoLAh8iFva0FhAKBqIgAEYWNlZmlvc3XpB+wH7gf/BwMICQgOCBEIcAAAoAUpeQAcZAABZGzyB/kHaSR1bVNwYWNlAACgXyBsI2ludHJmAACgMyFyAADgNdgQ3e4jdXNQbHVzAKATInAAZgAA4DXYRN1jAPIA/gecY4AESmFjZWZvc3R1ACEIJAgoCDUIgQiFCDsKQApHCmMAeQAKZGMidXRlAENhgAFhZXkALggxCDQI8iFvbkdh5CFpbEVhHWSAAWdzdwA7CGEIfQjhInRpdmWAAU1UVgBECEwIWQhlJWRpdW1TcGFjZQAAoAsgaABpAAABY25SCFMIawBTAHAAYQBjAOUASwhlAHIAeQBUAGgAaQDuAFQI9CFlZAABR0xnCHUIcgBlAGEAdABlAHIARwByAGUAYQB0AGUA8gDrBGUAcwBzAEwAZQBzAPMA2wdMImluZQAKYHIAAOA12BHdAAJCbnB0jAiRCJkInAhyImVhawAAoGAgwiZyZWFraW5nU3BhY2WgYGYAAKAVIUOq7CqzCMIIzQgAAOcIGwkAAAAAAAAtCQAAbwkAAIcJAACdCcAJGQoAADQKAAFvdbYIvAjuI2dydWVudACgYiJwIkNhcAAAoG0ibyh1YmxlVmVydGljYWxCYXIAAKAmIoABbHF4ANII1wjhCOUibWVudACgCSL1IWFsVKBgImkibGRlAADgQiI4A2kic3RzAACgBCJyI2VhdGVyAACjbyJFRkdMU1T1CPoIAgkJCQ0JFQlxInVhbAAAoHEidSRsbEVxdWFsAADgZyI4A3IjZWF0ZXIAAOBrIjgD5SFzcwCgeSLsJGFudEVxdWFsAOB+KjgDaSJsZGUAAKB1IvUhbXBEASAJJwnvI3duSHVtcADgTiI4A3EidWFsAADgTyI4A2UAAAFmczEJRgn0JFRyaWFuZ2xlQqLqIj0JAAAAAEIJYQByAADgzyk4A3EidWFsAACg7CJzAICibiJFR0xTVABRCVYJXAlhCWkJcSJ1YWwAAKBwInIjZWF0ZXIAAKB4IuUhc3MA4GoiOAPsJGFudEVxdWFsAOB9KjgDaSJsZGUAAKB0IuUic3RlZAABR0x1CX8J8iZlYXRlckdyZWF0ZXIA4KIqOAPlI3NzTGVzcwDgoSo4A/IjZWNlZGVzAKGAIkVTjwmVCXEidWFsAADgryo4A+wkYW50RXF1YWwAoOAiAAFlaaAJqQl2JmVyc2VFbGVtZW50AACgDCLnJWh0VHJpYW5nbGVCousitgkAAAAAuwlhAHIAAODQKTgDcSJ1YWwAAKDtIgABcXXDCeAJdSNhcmVTdQAAAWJwywnVCfMhZXRF4I8iOANxInVhbAAAoOIi5SJyc2V0ReCQIjgDcSJ1YWwAAKDjIoABYmNwAOYJ8AkNCvMhZXRF4IIi0iBxInVhbAAAoIgi4yJlZWRzgKGBIkVTVAD6CQAKBwpxInVhbAAA4LAqOAPsJGFudEVxdWFsAKDhImkibGRlAADgfyI4A+UicnNldEXggyLSIHEidWFsAACgiSJpImxkZQCAoUEiRUZUACIKJwouCnEidWFsAACgRCJ1JGxsRXF1YWwAAKBHImkibGRlAACgSSJlJXJ0aWNhbEJhcgAAoCQiYwByAADgNdip3GkAbABkAGUAO4DRANFAnWMAB0VhY2RmZ21vcHJzdHV2XgphCmgKcgp2CnoKgQqRCpYKqwqtCrsKyArNCuwhaWdSYWMAdQB0AGUAO4DTANNAAAFpeWwKcQpyAGMAO4DUANRAHmRiImxhYwBQYXIAAOA12BLdcgBhAHYAZQA7gNIA0kCAAWFlaQCHCooKjQpjAHIATGFnAGEAqWNjInJvbgCfY3AAZgAA4DXYRt3lI25DdXJseQABRFGeCqYKbyV1YmxlUXVvdGUAAKAcIHUib3RlAACgGCAAoFQqAAFjbLEKtQpyAADgNdiq3GEAcwBoADuA2ADYQGkAbAHACsUKZABlADuA1QDVQGUAcwAAoDcqbQBsADuA1gDWQGUAcgAAAUJQ0wrmCgABYXLXCtoKcgAAoD4gYQBjAAABZWvgCuIKAKDeI2UAdAAAoLQjYSVyZW50aGVzaXMAAKDcI4AEYWNmaGlsb3JzAP0KAwsFCwkLCwsMCxELIwtaC3IjdGlhbEQAAKACInkAH2RyAADgNdgT3WkApmOgY/Ujc01pbnVzsWAAAWlwFQsgC24AYwBhAHIAZQBwAGwAYQBuAOUACgVmAACgGSGAobsqZWlvACoLRQtJC+MiZWRlc4CheiJFU1QANAs5C0ALcSJ1YWwAAKCvKuwkYW50RXF1YWwAoHwiaSJsZGUAAKB+Im0AZQAAoDMgAAFkcE0LUQv1IWN0AKAPIm8jcnRpb24AYaA3ImwAAKAdIgABY2leC2ILcgAA4DXYq9yoYwACVWZvc2oLbwtzC3cLTwBUADuAIgAiQHIAAOA12BTdcABmAACgGiFjAHIAAOA12KzcAAZCRWFjZWZoaW9yc3WPC5MLlwupC7YL2AvbC90LhQyTDJoMowzhIXJyAKAQKUcAO4CuAK5AgAFjbnIAnQugC6ML9SF0ZVRhZwAAoOsncgB0oKAhbAAAoBYpgAFhZXkArwuyC7UL8iFvblhh5CFpbFZhIGR2oBwhZSJyc2UAAAFFVb8LzwsAAWxxwwvIC+UibWVudACgCyL1JGlsaWJyaXVtAKDLIXAmRXF1aWxpYnJpdW0AAKBvKXIAAKAcIW8AoWPnIWh0AARBQ0RGVFVWYewLCgwQDDIMNwxeDHwM9gIAAW5y8Av4C2clbGVCcmFja2V0AACg6SfyIW93AKGSIUJM/wsDDGEAcgAAoOUhZSRmdEFycm93AACgxCFlI2lsaW5nAACgCSNvAPUBFgwAAB4MYiVsZUJyYWNrZXQAAKDnJ24A1AEjDAAAKgxlJGVWZWN0b3IAAKBdKeUiY3RvckKgwiFhAHIAAKBVKWwib29yAACgCyMAAWVyOwxLDGUAAKGiIkFWQQxGDHIicm93AACgpiHlImN0b3IAoFspaSNhbmdsZQBCorMiVgwAAAAAWgxhAHIAAKDQKXEidWFsAACgtSJwAIABRFRWAGUMbAxzDO8kd25WZWN0b3IAoE8pZSRlVmVjdG9yAACgXCnlImN0b3JCoL4hYQByAACgVCnlImN0b3JCoMAhYQByAACgUykAAXB1iQyMDGYAAKAdIe4kZEltcGxpZXMAoHAp6SRnaHRhcnJvdwCg2yEAAWNongyhDHIAAKAbIQCgsSHsJGVEZWxheWVkAKD0KYAGSE9hY2ZoaW1vcXN0dQC/DMgMzAzQDOIM5gwKDQ0NFA0ZDU8NVA1YDQABQ2PDDMYMyCFjeSlkeQAoZEYiVGN5ACxkYyJ1dGUAWmEAorwqYWVpedgM2wzeDOEM8iFvbmBh5CFpbF5hcgBjAFxhIWRyAADgNdgW3e8hcnQAAkRMUlXvDPYM/QwEDW8kd25BcnJvdwAAoJMhZSRmdEFycm93AACgkCHpJGdodEFycm93AKCSIXAjQXJyb3cAAKCRIechbWGjY+EkbGxDaXJjbGUAoBgicABmAADgNdhK3XICHw0AAAAAIg10AACgGiLhIXJlgKGhJUlTVQAqDTINSg3uJXRlcnNlY3Rpb24AoJMidQAAAWJwNw1ADfMhZXRFoI8icSJ1YWwAAKCRIuUicnNldEWgkCJxInVhbAAAoJIibiJpb24AAKCUImMAcgAA4DXYrtxhAHIAAKDGIgACYmNtcF8Nag2ODZANc6DQImUAdABFoNAicSJ1YWwAAKCGIgABY2huDYkNZSJlZHMAgKF7IkVTVAB4DX0NhA1xInVhbAAAoLAq7CRhbnRFcXVhbACgfSJpImxkZQAAoH8iVABoAGEA9ADHCwCgESIAodEiZXOVDZ8NciJzZXQARaCDInEidWFsAACghyJlAHQAAKDRIoAFSFJTYWNmaGlvcnMAtQ27Db8NyA3ODdsN3w3+DRgOHQ4jDk8AUgBOADuA3gDeQMEhREUAoCIhAAFIY8MNxg1jAHkAC2R5ACZkAAFidcwNzQ0JYKRjgAFhZXkA1A3XDdoN8iFvbmRh5CFpbGJhImRyAADgNdgX3QABZWnjDe4N8gHoDQAA7Q3lImZvcmUAoDQiYQCYYwABY27yDfkNayNTcGFjZQAA4F8gCiDTInBhY2UAoAkg7CFkZYChPCJFRlQABw4MDhMOcSJ1YWwAAKBDInUkbGxFcXVhbAAAoEUiaSJsZGUAAKBIInAAZgAA4DXYS93pI3BsZURvdACg2yAAAWN0Jw4rDnIAAOA12K/c8iFva2Zh4QpFDlYOYA5qDgAAbg5yDgAAAAAAAAAAAAB5DnwOqA6zDgAADg8RDxYPGg8AAWNySA5ODnUAdABlADuA2gDaQHIAb6CfIeMhaXIAoEkpcgDjAVsOAABdDnkADmR2AGUAbGEAAWl5Yw5oDnIAYwA7gNsA20AjZGIibGFjAHBhcgAA4DXYGN1yAGEAdgBlADuA2QDZQOEhY3JqYQABZGl/Dp8OZQByAAABQlCFDpcOAAFhcokOiw5yAF9gYQBjAAABZWuRDpMOAKDfI2UAdAAAoLUjYSVyZW50aGVzaXMAAKDdI28AbgBQoMMi7CF1cwCgjiIAAWdwqw6uDm8AbgByYWYAAOA12EzdAARBREVUYWRwc78O0g7ZDuEOBQPqDvMOBw9yInJvdwDCoZEhyA4AAMwOYQByAACgEilvJHduQXJyb3cAAKDFIW8kd25BcnJvdwAAoJUhcSV1aWxpYnJpdW0AAKBuKWUAZQBBoKUiciJyb3cAAKClIW8AdwBuAGEAcgByAG8A9wAQA2UAcgAAAUxS+Q4AD2UkZnRBcnJvdwAAoJYh6SRnaHRBcnJvdwCglyFpAGyg0gNvAG4ApWPpIW5nbmFjAHIAAOA12LDcaSJsZGUAaGFtAGwAO4DcANxAgAREYmNkZWZvc3YALQ8xDzUPNw89D3IPdg97D4AP4SFzaACgqyJhAHIAAKDrKnkAEmThIXNobKCpIgCg5ioAAWVyQQ9DDwCgwSKAAWJ0eQBJD00Paw9hAHIAAKAWIGmgFiDjIWFsAAJCTFNUWA9cD18PZg9hAHIAAKAjIukhbmV8YGUkcGFyYXRvcgAAoFgnaSJsZGUAAKBAItQkaGluU3BhY2UAoAogcgAA4DXYGd1wAGYAAOA12E3dYwByAADgNdix3GQiYXNoAACgqiKAAmNlZm9zAI4PkQ+VD5kPng/pIXJjdGHkIWdlAKDAInIAAOA12BrdcABmAADgNdhO3WMAcgAA4DXYstwAAmZpb3OqD64Prw+0D3IAAOA12BvdnmNwAGYAAOA12E/dYwByAADgNdiz3IAEQUlVYWNmb3N1AMgPyw/OD9EP2A/gD+QP6Q/uD2MAeQAvZGMAeQAHZGMAeQAuZGMAdQB0AGUAO4DdAN1AAAFpedwP3w9yAGMAdmErZHIAAOA12BzdcABmAADgNdhQ3WMAcgAA4DXYtNxtAGwAeGEABEhhY2RlZm9z/g8BEAUQDRAQEB0QIBAkEGMAeQAWZGMidXRlAHlhAAFheQkQDBDyIW9ufWEXZG8AdAB7YfIBFRAAABwQbwBXAGkAZAB0AOgAVAhhAJZjcgAAoCghcABmAACgJCFjAHIAAOA12LXc4QtCEEkQTRAAAGcQbRByEAAAAAAAAAAAeRCKEJcQ8hD9EAAAGxEhETIROREAAD4RYwB1AHQAZQA7gOEA4UByImV2ZQADYYCiPiJFZGl1eQBWEFkQWxBgEGUQAOA+IjMDAKA/InIAYwA7gOIA4kB0AGUAO4C0ALRAMGRsAGkAZwA7gOYA5kByoGEgAOA12B7dcgBhAHYAZQA7gOAA4EAAAWVwfBCGEAABZnCAEIQQ8yF5bQCgNSHoAIMQaABhALFjAAFhcI0QWwAAAWNskRCTEHIAAWFnAACgPypkApwQAAAAALEQAKInImFkc3ajEKcQqRCuEG4AZAAAoFUqAKBcKmwib3BlAACgWCoAoFoqAKMgImVsbXJzersQvRDAEN0Q5RDtEACgpCllAACgICJzAGQAYaAhImEEzhDQENIQ1BDWENgQ2hDcEACgqCkAoKkpAKCqKQCgqykAoKwpAKCtKQCgrikAoK8pdAB2oB8iYgBkoL4iAKCdKQABcHTpEOwQaAAAoCIixWDhIXJyAKB8IwABZ3D1EPgQbwBuAAVhZgAA4DXYUt0Ao0giRWFlaW9wBxEJEQ0RDxESERQRAKBwKuMhaXIAoG8qAKBKImQAAKBLInMAJ2DyIW94ZaBIIvEADhFpAG4AZwA7gOUA5UCAAWN0eQAmESoRKxFyAADgNdi23CpgbQBwAGWgSCLxAPgBaQBsAGQAZQA7gOMA40BtAGwAO4DkAORAAAFjaUERRxFvAG4AaQBuAPQA6AFuAHQAAKARKgAITmFiY2RlZmlrbG5vcHJzdWQRaBGXEZ8RpxGrEdIR1hErEjASexKKEn0RThNbE3oTbwB0AACg7SoAAWNybBGJEWsAAAJjZXBzdBF4EX0RghHvIW5nAKBMInAjc2lsb24A9mNyImltZQAAoDUgaQBtAGWgPSJxAACgzSJ2AY0RkRFlAGUAAKC9ImUAZABnoAUjZQAAoAUjcgBrAHSgtSPiIXJrAKC2IwABb3mjEaYRbgDnAHcRMWTxIXVvAKAeIIACY21wcnQAtBG5Eb4RwRHFEeEhdXPloDUi5ABwInR5dgAAoLApcwDpAH0RbgBvAPUA6gCAAWFodwDLEcwRzhGyYwCgNiHlIWVuAKBsInIAAOA12B/dZwCAA2Nvc3R1dncA4xHyEQUSEhIhEiYSKRKAAWFpdQDpEesR7xHwAKMFcgBjAACg7yVwAACgwyKAAWRwdAD4EfwRABJvAHQAAKAAKuwhdXMAoAEqaSJtZXMAAKACKnECCxIAAAAADxLjIXVwAKAGKmEAcgAAoAUm8iNpYW5nbGUAAWR1GhIeEu8hd24AoL0lcAAAoLMlcCJsdXMAAKAEKmUA5QBCD+UAkg9hInJvdwAAoA0pgAFha28ANhJoEncSAAFjbjoSZRJrAIABbHN0AEESRxJNEm8jemVuZ2UAAKDrKXEAdQBhAHIA5QBcBPIjaWFuZ2xlgKG0JWRscgBYElwSYBLvIXduAKC+JeUhZnQAoMIlaSJnaHQAAKC4JWsAAKAjJLEBbRIAAHUSsgFxEgAAcxIAoJIlAKCRJTQAAKCTJWMAawAAoIglAAFlb38ShxJx4D0A5SD1IWl2AOBhIuUgdAAAoBAjAAJwdHd4kRKVEpsSnxJmAADgNdhT3XSgpSJvAG0AAKClIvQhaWUAoMgiAAZESFVWYmRobXB0dXayEsES0RLgEvcS+xIKExoTHxMjEygTNxMAAkxSbHK5ErsSvRK/EgCgVyUAoFQlAKBWJQCgUyUAolAlRFVkdckSyxLNEs8SAKBmJQCgaSUAoGQlAKBnJQACTFJsctgS2hLcEt4SAKBdJQCgWiUAoFwlAKBZJQCjUSVITFJobHLrEu0S7xLxEvMS9RIAoGwlAKBjJQCgYCUAoGslAKBiJQCgXyVvAHgAAKDJKQACTFJscgITBBMGEwgTAKBVJQCgUiUAoBAlAKAMJQCiACVEVWR1EhMUExYTGBMAoGUlAKBoJQCgLCUAoDQlaSJudXMAAKCfIuwhdXMAoJ4iaSJtZXMAAKCgIgACTFJsci8TMRMzEzUTAKBbJQCgWCUAoBglAKAUJQCjAiVITFJobHJCE0QTRhNIE0oTTBMAoGolAKBhJQCgXiUAoDwlAKAkJQCgHCUAAWV2UhNVE3YA5QD5AGIAYQByADuApgCmQAACY2Vpb2ITZhNqE24TcgAA4DXYt9xtAGkAAKBPIG0A5aA9IogRbAAAoVwAYmh0E3YTAKDFKfMhdWIAoMgnbAF+E4QTbABloCIgdAAAoCIgcAAAoU4iRWWJE4sTAKCuKvGgTyI8BeEMqRMAAN8TABQDFB8UAAAjFDQUAAAAAIUUAAAAAI0UAAAAANcU4xT3FPsUAACIFQAAlhWAAWNwcgCuE7ET1RP1IXRlB2GAoikiYWJjZHMAuxO/E8QTzhPSE24AZAAAoEQqciJjdXAAAKBJKgABYXXIE8sTcAAAoEsqcAAAoEcqbwB0AACgQCoA4CkiAP4AAWVv2RPcE3QAAKBBIO4ABAUAAmFlaXXlE+8T9RP4E/AB6hMAAO0TcwAAoE0qbwBuAA1hZABpAGwAO4DnAOdAcgBjAAlhcABzAHOgTCptAACgUCpvAHQAC2GAAWRtbgAIFA0UEhRpAGwAO4C4ALhAcCJ0eXYAAKCyKXQAAIGiADtlGBQZFKJAcgBkAG8A9ABiAXIAAOA12CDdgAFjZWkAKBQqFDIUeQBHZGMAawBtoBMn4SFyawCgEyfHY3IAAKPLJUVjZWZtcz8UQRRHFHcUfBSAFACgwykAocYCZWxGFEkUcQAAoFciZQBhAlAUAAAAAGAUciJyb3cAAAFsclYUWhTlIWZ0AKC6IWkiZ2h0AACguyGAAlJTYWNkAGgUaRRrFG8UcxSuYACgyCRzAHQAAKCbIukhcmMAoJoi4SFzaACgnSJuImludAAAoBAqaQBkAACg7yrjIWlyAKDCKfUhYnN1oGMmaQB0AACgYybsApMUmhS2FAAAwxRvAG4AZaA6APGgVCKrAG0CnxQAAAAAoxRhAHSgLABAYAChASJmbKcUqRTuABMNZQAAAW14rhSyFOUhbnQAoAEiZQDzANIB5wG6FAAAwBRkoEUibwB0AACgbSpuAPQAzAGAAWZyeQDIFMsUzhQA4DXYVN1vAOQA1wEAgakAO3MeAdMUcgAAoBchAAFhb9oU3hRyAHIAAKC1IXMAcwAAoBcnAAFjdeYU6hRyAADgNdi43AABYnDuFPIUZaDPKgCg0SploNAqAKDSKuQhb3QAoO8igANkZWxwcnZ3AAYVEBUbFSEVRBVlFYQV4SFycgABbHIMFQ4VAKA4KQCgNSlwAhYVAAAAABkVcgAAoN4iYwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
80108
|
+
var WP = /* @__PURE__ */ $A2("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");
|
|
80040
80109
|
var wt3;
|
|
80041
80110
|
(function(e) {
|
|
80042
80111
|
e[e.VALUE_LENGTH = 49152] = "VALUE_LENGTH", e[e.FLAG13 = 8192] = "FLAG13", e[e.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", e[e.JUMP_TABLE = 127] = "JUMP_TABLE";
|
|
@@ -80049,14 +80118,14 @@ var vm2 = 32;
|
|
|
80049
80118
|
function zl2(e) {
|
|
80050
80119
|
return e >= Ke3.ZERO && e <= Ke3.NINE;
|
|
80051
80120
|
}
|
|
80052
|
-
function
|
|
80121
|
+
function qP(e) {
|
|
80053
80122
|
return e >= Ke3.UPPER_A && e <= Ke3.UPPER_F || e >= Ke3.LOWER_A && e <= Ke3.LOWER_F;
|
|
80054
80123
|
}
|
|
80055
|
-
function
|
|
80124
|
+
function YP(e) {
|
|
80056
80125
|
return e >= Ke3.UPPER_A && e <= Ke3.UPPER_Z || e >= Ke3.LOWER_A && e <= Ke3.LOWER_Z || zl2(e);
|
|
80057
80126
|
}
|
|
80058
|
-
function
|
|
80059
|
-
return e === Ke3.EQUALS ||
|
|
80127
|
+
function JP(e) {
|
|
80128
|
+
return e === Ke3.EQUALS || YP(e);
|
|
80060
80129
|
}
|
|
80061
80130
|
var ot3;
|
|
80062
80131
|
(function(e) {
|
|
@@ -80067,7 +80136,7 @@ var an2;
|
|
|
80067
80136
|
e[e.Legacy = 0] = "Legacy", e[e.Strict = 1] = "Strict", e[e.Attribute = 2] = "Attribute";
|
|
80068
80137
|
})(an2 || (an2 = {}));
|
|
80069
80138
|
|
|
80070
|
-
class
|
|
80139
|
+
class ZP {
|
|
80071
80140
|
constructor(t, n, o2) {
|
|
80072
80141
|
this.decodeTree = t, this.emitCodePoint = n, this.errors = o2, this.state = ot3.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = an2.Strict, this.runConsumed = 0;
|
|
80073
80142
|
}
|
|
@@ -80094,7 +80163,7 @@ class JP {
|
|
|
80094
80163
|
stateNumericHex(t, n) {
|
|
80095
80164
|
for (;n < t.length; ) {
|
|
80096
80165
|
const o2 = t.charCodeAt(n);
|
|
80097
|
-
if (zl2(o2) ||
|
|
80166
|
+
if (zl2(o2) || qP(o2)) {
|
|
80098
80167
|
const i = o2 <= Ke3.NINE ? o2 - Ke3.ZERO : (o2 | vm2) - Ke3.LOWER_A + 10;
|
|
80099
80168
|
this.result = this.result * 16 + i, this.consumed++, n++;
|
|
80100
80169
|
} else
|
|
@@ -80120,7 +80189,7 @@ class JP {
|
|
|
80120
80189
|
this.consumed += 1;
|
|
80121
80190
|
else if (this.decodeMode === an2.Strict)
|
|
80122
80191
|
return 0;
|
|
80123
|
-
return this.emitCodePoint(
|
|
80192
|
+
return this.emitCodePoint(HP(this.result), this.consumed), this.errors && (t !== Ke3.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
|
|
80124
80193
|
}
|
|
80125
80194
|
stateNamedEntity(t, n) {
|
|
80126
80195
|
const { decodeTree: o2 } = this;
|
|
@@ -80149,8 +80218,8 @@ class JP {
|
|
|
80149
80218
|
const a = t.charCodeAt(n);
|
|
80150
80219
|
if (a === Ke3.SEMI && r2 !== 0 && (i & wt3.FLAG13) !== 0)
|
|
80151
80220
|
return this.emitNamedEntityData(this.treeIndex, r2, this.consumed + this.excess);
|
|
80152
|
-
if (this.treeIndex =
|
|
80153
|
-
return this.result === 0 || this.decodeMode === an2.Attribute && (r2 === 0 ||
|
|
80221
|
+
if (this.treeIndex = XP(o2, i, this.treeIndex + Math.max(1, r2), a), this.treeIndex < 0)
|
|
80222
|
+
return this.result === 0 || this.decodeMode === an2.Attribute && (r2 === 0 || JP(a)) ? 0 : this.emitNotTerminatedNamedEntity();
|
|
80154
80223
|
if (i = o2[this.treeIndex], r2 = (i & wt3.VALUE_LENGTH) >> 14, r2 !== 0) {
|
|
80155
80224
|
if (a === Ke3.SEMI)
|
|
80156
80225
|
return this.emitNamedEntityData(this.treeIndex, r2, this.consumed + this.excess);
|
|
@@ -80185,7 +80254,7 @@ class JP {
|
|
|
80185
80254
|
}
|
|
80186
80255
|
}
|
|
80187
80256
|
}
|
|
80188
|
-
function
|
|
80257
|
+
function XP(e, t, n, o2) {
|
|
80189
80258
|
const i = (t & wt3.BRANCH_LENGTH) >> 7, r2 = t & wt3.JUMP_TABLE;
|
|
80190
80259
|
if (i === 0)
|
|
80191
80260
|
return r2 !== 0 && o2 === r2 ? n : -1;
|
|
@@ -80220,7 +80289,7 @@ function hn3(e) {
|
|
|
80220
80289
|
function Zi2(e) {
|
|
80221
80290
|
return e === Q2.Slash || e === Q2.Gt || hn3(e);
|
|
80222
80291
|
}
|
|
80223
|
-
function
|
|
80292
|
+
function eD(e) {
|
|
80224
80293
|
return e >= Q2.LowerA && e <= Q2.LowerZ || e >= Q2.UpperA && e <= Q2.UpperZ;
|
|
80225
80294
|
}
|
|
80226
80295
|
var sn3;
|
|
@@ -80249,9 +80318,9 @@ var Xe3 = {
|
|
|
80249
80318
|
XmpEnd: new Uint8Array([60, 47, 120, 109, 112])
|
|
80250
80319
|
};
|
|
80251
80320
|
|
|
80252
|
-
class
|
|
80321
|
+
class tD {
|
|
80253
80322
|
constructor({ xmlMode: t = false, decodeEntities: n = true }, o2) {
|
|
80254
|
-
this.cbs = o2, this.state = F.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.entityStart = 0, this.baseState = F.Text, this.isSpecial = false, this.running = true, this.offset = 0, this.currentSequence = undefined, this.sequenceIndex = 0, this.xmlMode = t, this.decodeEntities = n, this.entityDecoder = new
|
|
80323
|
+
this.cbs = o2, this.state = F.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.entityStart = 0, this.baseState = F.Text, this.isSpecial = false, this.running = true, this.offset = 0, this.currentSequence = undefined, this.sequenceIndex = 0, this.xmlMode = t, this.decodeEntities = n, this.entityDecoder = new ZP(t ? WP : QP, (i, r2) => this.emitCodePoint(i, r2));
|
|
80255
80324
|
}
|
|
80256
80325
|
reset() {
|
|
80257
80326
|
this.state = F.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = F.Text, this.currentSequence = undefined, this.running = true, this.offset = 0;
|
|
@@ -80309,7 +80378,7 @@ class eD {
|
|
|
80309
80378
|
t === this.currentSequence[this.sequenceIndex] ? ++this.sequenceIndex === this.currentSequence.length && (this.currentSequence === Xe3.CdataEnd ? this.cbs.oncdata(this.sectionStart, this.index, 2) : this.cbs.oncomment(this.sectionStart, this.index, 2), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = F.Text) : this.sequenceIndex === 0 ? this.fastForwardTo(this.currentSequence[0]) && (this.sequenceIndex = 1) : t !== this.currentSequence[this.sequenceIndex - 1] && (this.sequenceIndex = 0);
|
|
80310
80379
|
}
|
|
80311
80380
|
isTagStartChar(t) {
|
|
80312
|
-
return this.xmlMode ? !Zi2(t) :
|
|
80381
|
+
return this.xmlMode ? !Zi2(t) : eD(t);
|
|
80313
80382
|
}
|
|
80314
80383
|
startSpecial(t, n) {
|
|
80315
80384
|
this.isSpecial = true, this.currentSequence = t, this.sequenceIndex = n, this.state = F.SpecialStartSequence;
|
|
@@ -80559,7 +80628,7 @@ var Ie2 = /* @__PURE__ */ new Set(["p"]);
|
|
|
80559
80628
|
var km2 = /* @__PURE__ */ new Set(["thead", "tbody"]);
|
|
80560
80629
|
var xm2 = /* @__PURE__ */ new Set(["dd", "dt"]);
|
|
80561
80630
|
var Cm2 = /* @__PURE__ */ new Set(["rt", "rp"]);
|
|
80562
|
-
var
|
|
80631
|
+
var nD = /* @__PURE__ */ new Map([
|
|
80563
80632
|
["tr", /* @__PURE__ */ new Set(["tr", "th", "td"])],
|
|
80564
80633
|
["th", /* @__PURE__ */ new Set(["th"])],
|
|
80565
80634
|
["td", /* @__PURE__ */ new Set(["thead", "th", "td"])],
|
|
@@ -80608,7 +80677,7 @@ var tD = /* @__PURE__ */ new Map([
|
|
|
80608
80677
|
["tbody", km2],
|
|
80609
80678
|
["tfoot", km2]
|
|
80610
80679
|
]);
|
|
80611
|
-
var
|
|
80680
|
+
var oD = /* @__PURE__ */ new Set([
|
|
80612
80681
|
"area",
|
|
80613
80682
|
"base",
|
|
80614
80683
|
"basefont",
|
|
@@ -80641,12 +80710,12 @@ var Em2 = /* @__PURE__ */ new Set([
|
|
|
80641
80710
|
"desc",
|
|
80642
80711
|
"title"
|
|
80643
80712
|
]);
|
|
80644
|
-
var
|
|
80713
|
+
var iD = /\s|\//;
|
|
80645
80714
|
|
|
80646
|
-
class
|
|
80715
|
+
class rD {
|
|
80647
80716
|
constructor(t, n = {}) {
|
|
80648
80717
|
var o2, i, r2, a, s2, l2;
|
|
80649
|
-
this.options = n, this.startIndex = 0, this.endIndex = 0, this.openTagStart = 0, this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack = [], this.buffers = [], this.bufferOffset = 0, this.writeIndex = 0, this.ended = false, this.cbs = t ?? {}, this.htmlMode = !this.options.xmlMode, this.lowerCaseTagNames = (o2 = n.lowerCaseTags) !== null && o2 !== undefined ? o2 : this.htmlMode, this.lowerCaseAttributeNames = (i = n.lowerCaseAttributeNames) !== null && i !== undefined ? i : this.htmlMode, this.recognizeSelfClosing = (r2 = n.recognizeSelfClosing) !== null && r2 !== undefined ? r2 : !this.htmlMode, this.tokenizer = new ((a = n.Tokenizer) !== null && a !== undefined ? a :
|
|
80718
|
+
this.options = n, this.startIndex = 0, this.endIndex = 0, this.openTagStart = 0, this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack = [], this.buffers = [], this.bufferOffset = 0, this.writeIndex = 0, this.ended = false, this.cbs = t ?? {}, this.htmlMode = !this.options.xmlMode, this.lowerCaseTagNames = (o2 = n.lowerCaseTags) !== null && o2 !== undefined ? o2 : this.htmlMode, this.lowerCaseAttributeNames = (i = n.lowerCaseAttributeNames) !== null && i !== undefined ? i : this.htmlMode, this.recognizeSelfClosing = (r2 = n.recognizeSelfClosing) !== null && r2 !== undefined ? r2 : !this.htmlMode, this.tokenizer = new ((a = n.Tokenizer) !== null && a !== undefined ? a : tD)(this.options, this), this.foreignContext = [!this.htmlMode], (l2 = (s2 = this.cbs).onparserinit) === null || l2 === undefined || l2.call(s2, this);
|
|
80650
80719
|
}
|
|
80651
80720
|
ontext(t, n) {
|
|
80652
80721
|
var o2, i;
|
|
@@ -80658,7 +80727,7 @@ class iD {
|
|
|
80658
80727
|
this.endIndex = n - 1, (i = (o2 = this.cbs).ontext) === null || i === undefined || i.call(o2, wm2(t)), this.startIndex = n;
|
|
80659
80728
|
}
|
|
80660
80729
|
isVoidElement(t) {
|
|
80661
|
-
return this.htmlMode &&
|
|
80730
|
+
return this.htmlMode && oD.has(t);
|
|
80662
80731
|
}
|
|
80663
80732
|
onopentagname(t, n) {
|
|
80664
80733
|
this.endIndex = n;
|
|
@@ -80668,7 +80737,7 @@ class iD {
|
|
|
80668
80737
|
emitOpenTag(t) {
|
|
80669
80738
|
var n, o2, i, r2;
|
|
80670
80739
|
this.openTagStart = this.startIndex, this.tagname = t;
|
|
80671
|
-
const a = this.htmlMode &&
|
|
80740
|
+
const a = this.htmlMode && nD.get(t);
|
|
80672
80741
|
if (a)
|
|
80673
80742
|
for (;this.stack.length > 0 && a.has(this.stack[0]); ) {
|
|
80674
80743
|
const s2 = this.stack.shift();
|
|
@@ -80725,7 +80794,7 @@ class iD {
|
|
|
80725
80794
|
this.endIndex = n, (i = (o2 = this.cbs).onattribute) === null || i === undefined || i.call(o2, this.attribname, this.attribvalue, t === sn3.Double ? '"' : t === sn3.Single ? "'" : t === sn3.NoValue ? undefined : null), this.attribs && !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribvalue = "";
|
|
80726
80795
|
}
|
|
80727
80796
|
getInstructionName(t) {
|
|
80728
|
-
const n = t.search(
|
|
80797
|
+
const n = t.search(iD);
|
|
80729
80798
|
let o2 = n < 0 ? t : t.substr(0, n);
|
|
80730
80799
|
return this.lowerCaseTagNames && (o2 = o2.toLowerCase()), o2;
|
|
80731
80800
|
}
|
|
@@ -80819,7 +80888,7 @@ var ve3;
|
|
|
80819
80888
|
(function(e) {
|
|
80820
80889
|
e.Root = "root", e.Text = "text", e.Directive = "directive", e.Comment = "comment", e.Script = "script", e.Style = "style", e.Tag = "tag", e.CDATA = "cdata", e.Doctype = "doctype";
|
|
80821
80890
|
})(ve3 || (ve3 = {}));
|
|
80822
|
-
function
|
|
80891
|
+
function aD(e) {
|
|
80823
80892
|
return e.type === ve3.Tag || e.type === ve3.Script || e.type === ve3.Style;
|
|
80824
80893
|
}
|
|
80825
80894
|
ve3.Root;
|
|
@@ -80961,42 +81030,42 @@ class OA2 extends Zc2 {
|
|
|
80961
81030
|
}
|
|
80962
81031
|
}
|
|
80963
81032
|
function zA2(e) {
|
|
80964
|
-
return
|
|
81033
|
+
return aD(e);
|
|
80965
81034
|
}
|
|
80966
|
-
function
|
|
81035
|
+
function sD(e) {
|
|
80967
81036
|
return e.type === ve3.CDATA;
|
|
80968
81037
|
}
|
|
80969
|
-
function
|
|
81038
|
+
function lD(e) {
|
|
80970
81039
|
return e.type === ve3.Text;
|
|
80971
81040
|
}
|
|
80972
|
-
function
|
|
81041
|
+
function cD(e) {
|
|
80973
81042
|
return e.type === ve3.Comment;
|
|
80974
81043
|
}
|
|
80975
|
-
function
|
|
81044
|
+
function uD(e) {
|
|
80976
81045
|
return e.type === ve3.Directive;
|
|
80977
81046
|
}
|
|
80978
|
-
function
|
|
81047
|
+
function dD(e) {
|
|
80979
81048
|
return e.type === ve3.Root;
|
|
80980
81049
|
}
|
|
80981
|
-
function
|
|
81050
|
+
function pD(e) {
|
|
80982
81051
|
return Object.prototype.hasOwnProperty.call(e, "children");
|
|
80983
81052
|
}
|
|
80984
81053
|
function VA2(e, t = false) {
|
|
80985
81054
|
let n;
|
|
80986
|
-
if (
|
|
81055
|
+
if (lD(e))
|
|
80987
81056
|
n = new Vl2(e.data);
|
|
80988
|
-
else if (
|
|
81057
|
+
else if (cD(e))
|
|
80989
81058
|
n = new NA2(e.data);
|
|
80990
81059
|
else if (zA2(e)) {
|
|
80991
81060
|
const o2 = t ? Js2(e.children) : [], i = new OA2(e.name, { ...e.attribs }, o2);
|
|
80992
81061
|
o2.forEach((r2) => r2.parent = i), e.namespace != null && (i.namespace = e.namespace), e["x-attribsNamespace"] && (i["x-attribsNamespace"] = { ...e["x-attribsNamespace"] }), e["x-attribsPrefix"] && (i["x-attribsPrefix"] = { ...e["x-attribsPrefix"] }), n = i;
|
|
80993
|
-
} else if (
|
|
81062
|
+
} else if (sD(e)) {
|
|
80994
81063
|
const o2 = t ? Js2(e.children) : [], i = new RA2(o2);
|
|
80995
81064
|
o2.forEach((r2) => r2.parent = i), n = i;
|
|
80996
|
-
} else if (
|
|
81065
|
+
} else if (dD(e)) {
|
|
80997
81066
|
const o2 = t ? Js2(e.children) : [], i = new Gl2(o2);
|
|
80998
81067
|
o2.forEach((r2) => r2.parent = i), e["x-mode"] && (i["x-mode"] = e["x-mode"]), n = i;
|
|
80999
|
-
} else if (
|
|
81068
|
+
} else if (uD(e)) {
|
|
81000
81069
|
const o2 = new MA2(e.name, e.data);
|
|
81001
81070
|
e["x-name"] != null && (o2["x-name"] = e["x-name"], o2["x-publicId"] = e["x-publicId"], o2["x-systemId"] = e["x-systemId"]), n = o2;
|
|
81002
81071
|
} else
|
|
@@ -81015,7 +81084,7 @@ var Tm2 = {
|
|
|
81015
81084
|
xmlMode: false
|
|
81016
81085
|
};
|
|
81017
81086
|
|
|
81018
|
-
class
|
|
81087
|
+
class mD {
|
|
81019
81088
|
constructor(t, n, o2) {
|
|
81020
81089
|
this.dom = [], this.root = new Gl2(this.dom), this.done = false, this.tagStack = [this.root], this.lastNode = null, this.parser = null, typeof n == "function" && (o2 = n, n = Tm2), typeof t == "object" && (n = t, t = undefined), this.callback = t ?? null, this.options = n ?? Tm2, this.elementCB = o2 ?? null;
|
|
81021
81090
|
}
|
|
@@ -81082,7 +81151,7 @@ class pD {
|
|
|
81082
81151
|
this.options.withStartIndices && (t.startIndex = this.parser.startIndex), this.options.withEndIndices && (t.endIndex = this.parser.endIndex), n.children.push(t), o2 && (t.prev = o2, o2.next = t), t.parent = n, this.lastNode = null;
|
|
81083
81152
|
}
|
|
81084
81153
|
}
|
|
81085
|
-
function
|
|
81154
|
+
function hD(e, t) {
|
|
81086
81155
|
const n = [], o2 = [Array.isArray(t) ? t : [t]], i = [0];
|
|
81087
81156
|
for (;; ) {
|
|
81088
81157
|
if (i[0] >= o2[0].length) {
|
|
@@ -81092,47 +81161,47 @@ function mD(e, t) {
|
|
|
81092
81161
|
continue;
|
|
81093
81162
|
}
|
|
81094
81163
|
const r2 = o2[0][i[0]++];
|
|
81095
|
-
zA2(r2) && e(r2) && n.push(r2),
|
|
81164
|
+
zA2(r2) && e(r2) && n.push(r2), pD(r2) && r2.children.length > 0 && (i.unshift(0), o2.unshift(r2.children));
|
|
81096
81165
|
}
|
|
81097
81166
|
}
|
|
81098
|
-
function
|
|
81099
|
-
const n = new
|
|
81100
|
-
return new
|
|
81167
|
+
function fD(e, t) {
|
|
81168
|
+
const n = new mD(undefined, t);
|
|
81169
|
+
return new rD(n, t).end(e), n.root;
|
|
81101
81170
|
}
|
|
81102
|
-
var
|
|
81103
|
-
var
|
|
81104
|
-
function
|
|
81105
|
-
const t =
|
|
81171
|
+
var gD = "h-block";
|
|
81172
|
+
var AD = "name";
|
|
81173
|
+
function _D(e) {
|
|
81174
|
+
const t = fD(e, {
|
|
81106
81175
|
withStartIndices: true,
|
|
81107
81176
|
withEndIndices: true,
|
|
81108
81177
|
recognizeSelfClosing: true,
|
|
81109
81178
|
lowerCaseTags: true,
|
|
81110
81179
|
lowerCaseAttributeNames: true
|
|
81111
81180
|
});
|
|
81112
|
-
return
|
|
81181
|
+
return hD((n) => n.tagName === gD, t).flatMap((n) => {
|
|
81113
81182
|
if (n.startIndex === null || n.endIndex === null)
|
|
81114
81183
|
return [];
|
|
81115
|
-
const o2 = n.attribs[
|
|
81184
|
+
const o2 = n.attribs[AD];
|
|
81116
81185
|
return typeof o2 != "string" || o2.length === 0 ? [] : [{ name: o2, start: n.startIndex, end: n.endIndex + 1 }];
|
|
81117
81186
|
});
|
|
81118
81187
|
}
|
|
81119
81188
|
var { SourceMapEventKind: Xc2 } = PR;
|
|
81120
|
-
function
|
|
81189
|
+
function wD(e, t, n) {
|
|
81121
81190
|
const o2 = e?.amql?.adhoc_fields || [], i = e.adhoc_fields || [], r2 = [...o2, ...i];
|
|
81122
81191
|
if (r2.length)
|
|
81123
81192
|
return VT2(r2, t, n);
|
|
81124
81193
|
}
|
|
81125
|
-
function
|
|
81194
|
+
function vD(e) {
|
|
81126
81195
|
if (!e || !Array.isArray(e))
|
|
81127
81196
|
return "[]";
|
|
81128
81197
|
const t = e.map((n) => n == null ? tc2 : typeof n == "string" ? `${_2(n)}` : n);
|
|
81129
81198
|
return t.length === 1 ? `${t[0]}` : `[${t.join(", ")}]`;
|
|
81130
81199
|
}
|
|
81131
|
-
function
|
|
81200
|
+
function kD(e) {
|
|
81132
81201
|
if (!(!e || typeof e != "string"))
|
|
81133
81202
|
return e;
|
|
81134
81203
|
}
|
|
81135
|
-
function
|
|
81204
|
+
function xD({
|
|
81136
81205
|
options: e,
|
|
81137
81206
|
modifier: t,
|
|
81138
81207
|
operator: n,
|
|
@@ -81151,8 +81220,8 @@ function kD({
|
|
|
81151
81220
|
return [i, r2].filter((s2) => s2).join(`
|
|
81152
81221
|
`);
|
|
81153
81222
|
}
|
|
81154
|
-
function
|
|
81155
|
-
const n = `operator: ${_2(e.operator)}`, o2 = `value: ${
|
|
81223
|
+
function CD(e, t) {
|
|
81224
|
+
const n = `operator: ${_2(e.operator)}`, o2 = `value: ${vD(e.values)}`, i = kD(e.modifier), r2 = i ? `modifier: ${_2(i)}` : "", a = xD({
|
|
81156
81225
|
options: e.options,
|
|
81157
81226
|
modifier: e.modifier,
|
|
81158
81227
|
operator: e.operator,
|
|
@@ -81164,17 +81233,17 @@ function xD(e, t) {
|
|
|
81164
81233
|
`);
|
|
81165
81234
|
}
|
|
81166
81235
|
function GA2(e, t) {
|
|
81167
|
-
const n = `field: ${Ot3(e.path_hash, t)}`, o2 = e.aggregation && e.aggregation !== "custom" ? `aggregation: ${_2(e.aggregation)}` : "", i =
|
|
81236
|
+
const n = `field: ${Ot3(e.path_hash, t)}`, o2 = e.aggregation && e.aggregation !== "custom" ? `aggregation: ${_2(e.aggregation)}` : "", i = CD(e, t);
|
|
81168
81237
|
return [n, o2, i].filter(Boolean).join(`
|
|
81169
81238
|
`);
|
|
81170
81239
|
}
|
|
81171
|
-
function
|
|
81240
|
+
function SD(e, t) {
|
|
81172
81241
|
return e.map((n) => ` filter {
|
|
81173
81242
|
${GA2(n, t)}
|
|
81174
81243
|
}`).join(`
|
|
81175
81244
|
`);
|
|
81176
81245
|
}
|
|
81177
|
-
function
|
|
81246
|
+
function ED(e, t) {
|
|
81178
81247
|
return ` VizFilter {
|
|
81179
81248
|
${GA2(e, t)}
|
|
81180
81249
|
}`;
|
|
@@ -81185,7 +81254,7 @@ function jA2(e, t, n = 0) {
|
|
|
81185
81254
|
const { link: o2, conditions: i } = e;
|
|
81186
81255
|
if (!i.length)
|
|
81187
81256
|
return;
|
|
81188
|
-
const r2 = i.map((s2) => lA2(s2) ? jA2(s2, t, n + 1) :
|
|
81257
|
+
const r2 = i.map((s2) => lA2(s2) ? jA2(s2, t, n + 1) : ED(s2, t)).filter(Boolean);
|
|
81189
81258
|
return ` ${o2 === "and" ? "AndFilters" : "OrFilters"} {
|
|
81190
81259
|
filters: [
|
|
81191
81260
|
${r2.join(`,
|
|
@@ -81193,7 +81262,7 @@ function jA2(e, t, n = 0) {
|
|
|
81193
81262
|
]
|
|
81194
81263
|
}`;
|
|
81195
81264
|
}
|
|
81196
|
-
function
|
|
81265
|
+
function TD(e, t) {
|
|
81197
81266
|
if (!e || !e.length)
|
|
81198
81267
|
return;
|
|
81199
81268
|
const n = e.map((o2) => jA2(o2, t)).filter(Boolean);
|
|
@@ -81266,7 +81335,7 @@ ${[i, r2].join(`
|
|
|
81266
81335
|
}`;
|
|
81267
81336
|
}
|
|
81268
81337
|
}
|
|
81269
|
-
function
|
|
81338
|
+
function BD(e) {
|
|
81270
81339
|
if (!e || !Object.keys(e).length)
|
|
81271
81340
|
return;
|
|
81272
81341
|
const t = `enabled: ${e.enabled ?? true}`, n = `debug_comments: ${e.debug_comments ?? true}`;
|
|
@@ -81279,7 +81348,7 @@ function TD(e) {
|
|
|
81279
81348
|
}`;
|
|
81280
81349
|
}
|
|
81281
81350
|
function _t3(e) {
|
|
81282
|
-
const t =
|
|
81351
|
+
const t = BD(e);
|
|
81283
81352
|
if (t)
|
|
81284
81353
|
return `aggregate_awareness ${t}`;
|
|
81285
81354
|
}
|
|
@@ -81290,7 +81359,7 @@ function yt3(e) {
|
|
|
81290
81359
|
${t}
|
|
81291
81360
|
}` : "";
|
|
81292
81361
|
}
|
|
81293
|
-
function
|
|
81362
|
+
function ID2(e, t) {
|
|
81294
81363
|
const n = Wg2(e), o2 = n.fields.table_fields || [], i = !!import_lodash.get(n, "settings.aggregation.show_average"), r2 = !!import_lodash.get(n, "settings.aggregation.show_total"), a = import_lodash.get(n, "settings.misc.pagination_size", Ft3), s2 = !!import_lodash.get(n, "settings.misc.show_row_number"), l2 = import_lodash.get(n, "settings.misc.show_field_description"), c3 = import_lodash.get(n, "settings.sort", []), u = import_lodash.get(n, "settings.conditional_formatting", []), d2 = import_lodash.get(n, "settings.pop_settings"), m3 = !!import_lodash.get(n, "settings.others.include_empty_children_rows"), h2 = import_lodash.get(n, "settings.misc.column_width.manual_widths", {}), f3 = import_lodash.get(n, "settings.misc.column_freeze"), g3 = import_lodash.get(n, "settings.misc.single_cell_display"), b2 = import_lodash.get(n, "settings.misc.column_alignment"), x2 = import_lodash.get(n, "settings.misc.column_font_color"), w2 = import_lodash.get(n, "settings.misc.column_bg_color"), v2 = ` fields: [${o2.map((Ve3) => Y2(Ve3, t)).join(`,
|
|
81295
81364
|
`)}]`, A = i ? `show_average_row: ${i}` : "", C2 = r2 ? `show_sum_row: ${r2}` : "", B2 = a !== undefined && a !== Ft3 ? `pagination_size: ${a}` : "", P2 = UA2(n.settings), y2 = s2 ? `show_row_number: ${s2}` : "", k2 = import_lodash.isNil(l2) ? "" : `show_field_description: ${!!l2}`, D = m3 ? `show_row_with_no_data: ${m3}` : "", U2 = Po3(c3) ? `sorts: ${Po3(c3)}` : "", G3 = Kg2(u, t), W = G3 ? `conditional_formats: ${G3}` : "", K3 = d2 ? Di2(d2, t) : undefined, te3 = K3 ? `pop ${K3}` : "", H2 = zt3(n.settings), oe2 = H2 ? `row_limit: ${H2}` : "", nt3 = _t3(n.settings.aggregate_awareness), ce3 = import_lodash.isNil(f3) ? "" : `frozen_columns: ${f3}`, ke3 = !import_lodash.isNil(g3) && g3 !== mb2.large ? `single_cell_display: '${g3}'` : "", ue3 = Fg2(b2, w2, x2, h2), Ye3 = $g2(ue3), he3 = yt3([
|
|
81296
81365
|
A,
|
|
@@ -81315,15 +81384,15 @@ function BD(e, t) {
|
|
|
81315
81384
|
].filter(Boolean).join(`
|
|
81316
81385
|
`);
|
|
81317
81386
|
}
|
|
81318
|
-
var
|
|
81319
|
-
var
|
|
81320
|
-
function
|
|
81387
|
+
var PD = "columns";
|
|
81388
|
+
var DD = "last";
|
|
81389
|
+
function FD(e) {
|
|
81321
81390
|
if (!e || !Object.keys(e).length)
|
|
81322
81391
|
return;
|
|
81323
81392
|
let t;
|
|
81324
|
-
e.placement && e.placement !==
|
|
81393
|
+
e.placement && e.placement !== PD && (t = `placement: ${_2(e.placement)}`);
|
|
81325
81394
|
let n;
|
|
81326
|
-
!import_lodash.isNil(e.order) && e.order !==
|
|
81395
|
+
!import_lodash.isNil(e.order) && e.order !== DD && (n = `order: ${typeof e.order == "number" ? e.order : `${_2(e.order)}`}`);
|
|
81327
81396
|
const o2 = [
|
|
81328
81397
|
t,
|
|
81329
81398
|
n
|
|
@@ -81334,12 +81403,12 @@ function DD(e) {
|
|
|
81334
81403
|
${o2}
|
|
81335
81404
|
}`;
|
|
81336
81405
|
}
|
|
81337
|
-
function
|
|
81338
|
-
const t =
|
|
81406
|
+
function $D(e) {
|
|
81407
|
+
const t = FD(e);
|
|
81339
81408
|
if (t)
|
|
81340
81409
|
return `value_labels_position ${t}`;
|
|
81341
81410
|
}
|
|
81342
|
-
function
|
|
81411
|
+
function LD(e) {
|
|
81343
81412
|
const { enabled: t, smart_suggestions_enabled: n } = e || {}, r2 = [
|
|
81344
81413
|
t === false ? "enabled: false" : "",
|
|
81345
81414
|
n === false ? "smart_suggestions_enabled: false" : ""
|
|
@@ -81350,13 +81419,13 @@ function $D(e) {
|
|
|
81350
81419
|
}` : "";
|
|
81351
81420
|
}
|
|
81352
81421
|
function no2(e) {
|
|
81353
|
-
const { view_underlying_data: t, breakdown: n } = e, i = t?.enabled === false ? "view_underlying_data { enabled: false }" : "", r2 =
|
|
81422
|
+
const { view_underlying_data: t, breakdown: n } = e, i = t?.enabled === false ? "view_underlying_data { enabled: false }" : "", r2 = LD(n), a = [i, r2].filter(Boolean).join(`
|
|
81354
81423
|
`);
|
|
81355
81424
|
return a ? ` analysis_interactions {
|
|
81356
81425
|
${a}
|
|
81357
81426
|
}` : "";
|
|
81358
81427
|
}
|
|
81359
|
-
function
|
|
81428
|
+
function ND(e, t) {
|
|
81360
81429
|
return e.map((n) => {
|
|
81361
81430
|
const { metric: o2, views: i } = n, r2 = i.map((a) => {
|
|
81362
81431
|
const s2 = a.fields.map((l2) => Ot3(l2, t)).join(`,
|
|
@@ -81376,13 +81445,13 @@ function LD(e, t) {
|
|
|
81376
81445
|
}).join(`
|
|
81377
81446
|
`);
|
|
81378
81447
|
}
|
|
81379
|
-
function
|
|
81380
|
-
const { metric_views: n } = e || {}, o2 = n ?
|
|
81448
|
+
function MD(e, t) {
|
|
81449
|
+
const { metric_views: n } = e || {}, o2 = n ? ND(n, t) : "";
|
|
81381
81450
|
return o2 ? `underlying_data {
|
|
81382
81451
|
${o2}
|
|
81383
81452
|
}` : "";
|
|
81384
81453
|
}
|
|
81385
|
-
function
|
|
81454
|
+
function RD(e, t) {
|
|
81386
81455
|
return e.map((n) => {
|
|
81387
81456
|
const o2 = n.fields.map((i) => Ot3(i, t)).join(`,
|
|
81388
81457
|
`);
|
|
@@ -81396,21 +81465,21 @@ function MD(e, t) {
|
|
|
81396
81465
|
}).join(`
|
|
81397
81466
|
`);
|
|
81398
81467
|
}
|
|
81399
|
-
function
|
|
81400
|
-
const { groups: n } = e || {}, o2 = n ?
|
|
81468
|
+
function OD(e, t) {
|
|
81469
|
+
const { groups: n } = e || {}, o2 = n ? RD(n, t) : "";
|
|
81401
81470
|
return o2 ? `breakdown {
|
|
81402
81471
|
${o2}
|
|
81403
81472
|
}` : "";
|
|
81404
81473
|
}
|
|
81405
|
-
function
|
|
81406
|
-
const { underlying_data: n, breakdown: o2 } = e, i = n ?
|
|
81474
|
+
function zD(e, t) {
|
|
81475
|
+
const { underlying_data: n, breakdown: o2 } = e, i = n ? MD(n, t) : "", r2 = o2 ? OD(o2, t) : "", a = [i, r2].filter(Boolean).join(`
|
|
81407
81476
|
`);
|
|
81408
81477
|
return a ? ` analysis {
|
|
81409
81478
|
${a}
|
|
81410
81479
|
}` : "";
|
|
81411
81480
|
}
|
|
81412
|
-
function
|
|
81413
|
-
const n = Gc2(e), { rows: o2 = [], columns: i = [], values: r2 = [] } = import_lodash.get(n, "fields.pivot_data", {}), a = import_lodash.get(n, "settings.misc.pagination_size", Ft3), s2 = !!import_lodash.get(n, "settings.misc.convert_null_to_zero"), l2 = !!import_lodash.get(n, "settings.others.include_empty_children_rows"), c3 = !!import_lodash.get(n, "settings.others.row_total"), u = !!import_lodash.get(n, "settings.others.column_total"), d2 = !!import_lodash.get(n, "settings.others.sub_total"), m3 = import_lodash.get(n, "settings.sort"), h2 = import_lodash.get(n, "settings.conditional_formatting", []), f3 = import_lodash.get(n, "settings.pop_settings"), g3 = !!import_lodash.get(n, "settings.misc.freeze_rows", true), b2 = import_lodash.get(n, "settings.misc.column_width.manual_widths", {}), x2 = import_lodash.get(n, "settings.misc.column_freeze"), w2 = import_lodash.get(n, "settings.misc.column_alignment"), v2 = import_lodash.get(n, "settings.misc.column_font_color"), A = import_lodash.get(n, "settings.misc.column_bg_color"), C2 = import_lodash.get(n, "settings.misc.show_field_description"), B2 = o2.length ? `rows: [${o2.map((Ze3) => Y2(Ze3, t))}]` : "", P2 = i.length ? `columns: [${i.map((Ze3) => Y2(Ze3, t))}]` : "", y2 = r2.length ? `values: [${r2.map((Ze3) => Y2(Ze3, t))}]` : "", k2 = UA2(n.settings), D = a !== undefined && a !== Ft3 ? `pagination_size: ${a}` : "", E2 = s2 ? `empty_cell_as_zero: ${s2}` : "", U2 = l2 ? `show_row_with_no_data: ${l2}` : "", G3 = c3 ? `show_row_total: ${c3}` : "", W = u ? `show_column_total: ${u}` : "", K3 = d2 ? `show_sub_total: ${d2}` : "", te3 = import_lodash.isNil(C2) ? "" : `show_field_description: ${!!C2}`, H2 = Kg2(h2, t), oe2 = H2 ? `conditional_formats: ${H2}` : "", ce3 = Po3(m3) ? `sorts: ${Po3(m3)}` : "", ke3 = f3 ? Di2(f3, t) : undefined, ue3 = ke3 ? `pop ${ke3}` : "", Ye3 = zt3(n.settings), he3 = Ye3 ? `row_limit: ${Ye3}` : "", $e3 = g3 ? "" : `freeze_rows: ${g3}`, Ve3 = _t3(n.settings.aggregate_awareness), V = import_lodash.isNil(x2) ? "" : `frozen_columns: ${x2}`, S2 =
|
|
81481
|
+
function VD(e, t) {
|
|
81482
|
+
const n = Gc2(e), { rows: o2 = [], columns: i = [], values: r2 = [] } = import_lodash.get(n, "fields.pivot_data", {}), a = import_lodash.get(n, "settings.misc.pagination_size", Ft3), s2 = !!import_lodash.get(n, "settings.misc.convert_null_to_zero"), l2 = !!import_lodash.get(n, "settings.others.include_empty_children_rows"), c3 = !!import_lodash.get(n, "settings.others.row_total"), u = !!import_lodash.get(n, "settings.others.column_total"), d2 = !!import_lodash.get(n, "settings.others.sub_total"), m3 = import_lodash.get(n, "settings.sort"), h2 = import_lodash.get(n, "settings.conditional_formatting", []), f3 = import_lodash.get(n, "settings.pop_settings"), g3 = !!import_lodash.get(n, "settings.misc.freeze_rows", true), b2 = import_lodash.get(n, "settings.misc.column_width.manual_widths", {}), x2 = import_lodash.get(n, "settings.misc.column_freeze"), w2 = import_lodash.get(n, "settings.misc.column_alignment"), v2 = import_lodash.get(n, "settings.misc.column_font_color"), A = import_lodash.get(n, "settings.misc.column_bg_color"), C2 = import_lodash.get(n, "settings.misc.show_field_description"), B2 = o2.length ? `rows: [${o2.map((Ze3) => Y2(Ze3, t))}]` : "", P2 = i.length ? `columns: [${i.map((Ze3) => Y2(Ze3, t))}]` : "", y2 = r2.length ? `values: [${r2.map((Ze3) => Y2(Ze3, t))}]` : "", k2 = UA2(n.settings), D = a !== undefined && a !== Ft3 ? `pagination_size: ${a}` : "", E2 = s2 ? `empty_cell_as_zero: ${s2}` : "", U2 = l2 ? `show_row_with_no_data: ${l2}` : "", G3 = c3 ? `show_row_total: ${c3}` : "", W = u ? `show_column_total: ${u}` : "", K3 = d2 ? `show_sub_total: ${d2}` : "", te3 = import_lodash.isNil(C2) ? "" : `show_field_description: ${!!C2}`, H2 = Kg2(h2, t), oe2 = H2 ? `conditional_formats: ${H2}` : "", ce3 = Po3(m3) ? `sorts: ${Po3(m3)}` : "", ke3 = f3 ? Di2(f3, t) : undefined, ue3 = ke3 ? `pop ${ke3}` : "", Ye3 = zt3(n.settings), he3 = Ye3 ? `row_limit: ${Ye3}` : "", $e3 = g3 ? "" : `freeze_rows: ${g3}`, Ve3 = _t3(n.settings.aggregate_awareness), V = import_lodash.isNil(x2) ? "" : `frozen_columns: ${x2}`, S2 = $D(n?.settings?.misc?.value_labels_position), xe2 = Fg2(w2, A, v2, b2), Ge2 = $g2(xe2), je2 = n.settings.analysis_interactions ? no2(n.settings.analysis_interactions) : "", T = yt3([
|
|
81414
81483
|
k2,
|
|
81415
81484
|
D,
|
|
81416
81485
|
E2,
|
|
@@ -81444,16 +81513,16 @@ var Lo3 = (e, t) => e.length ? `[
|
|
|
81444
81513
|
}` : "").filter(Boolean).join(`,
|
|
81445
81514
|
`)}
|
|
81446
81515
|
]` : undefined;
|
|
81447
|
-
var
|
|
81448
|
-
function
|
|
81516
|
+
var GD = `${Xn3}.color_palettes`;
|
|
81517
|
+
function jD(e) {
|
|
81449
81518
|
return e._id ? e._id : e.label === undefined ? _2(e.color) : `LabeledColor {
|
|
81450
81519
|
label: ${_2(e.label)}
|
|
81451
81520
|
color: ${_2(e.color)}
|
|
81452
81521
|
}`;
|
|
81453
81522
|
}
|
|
81454
|
-
function
|
|
81523
|
+
function UD(e) {
|
|
81455
81524
|
return e ? e._id ? e._id : !e.colors || e.colors.length === 0 ? undefined : `{
|
|
81456
|
-
colors: ${`[${e.colors.map((n) =>
|
|
81525
|
+
colors: ${`[${e.colors.map((n) => jD(n)).join(", ")}]`}
|
|
81457
81526
|
}` : undefined;
|
|
81458
81527
|
}
|
|
81459
81528
|
function Yr3(e) {
|
|
@@ -81463,14 +81532,14 @@ function Yr3(e) {
|
|
|
81463
81532
|
return e;
|
|
81464
81533
|
const t = [];
|
|
81465
81534
|
e.title && t.push(`title: ${_2(e.title)}`);
|
|
81466
|
-
const n =
|
|
81535
|
+
const n = UD(e.categorical);
|
|
81467
81536
|
if (n && t.push(j4("categorical", n)), t.length !== 0)
|
|
81468
81537
|
return `{
|
|
81469
81538
|
${t.join(`
|
|
81470
81539
|
`)}
|
|
81471
81540
|
}`;
|
|
81472
81541
|
}
|
|
81473
|
-
var
|
|
81542
|
+
var KD = {
|
|
81474
81543
|
"pastel-1": "pastel_1",
|
|
81475
81544
|
"pastel-2": "pastel_2",
|
|
81476
81545
|
categorical: "categorical",
|
|
@@ -81483,7 +81552,7 @@ var UD = {
|
|
|
81483
81552
|
};
|
|
81484
81553
|
function KA2(e) {
|
|
81485
81554
|
const t = Object.entries(lc2).find(([, n]) => n === e);
|
|
81486
|
-
return t ? `${
|
|
81555
|
+
return t ? `${GD}.${KD[t[0]]}` : String(e);
|
|
81487
81556
|
}
|
|
81488
81557
|
function Jr3(e) {
|
|
81489
81558
|
const { palette: t, palette_id: n } = e;
|
|
@@ -81506,11 +81575,11 @@ function Im2(e, t, n) {
|
|
|
81506
81575
|
}
|
|
81507
81576
|
return { lineStyle: o2, lineInterpolation: i };
|
|
81508
81577
|
}
|
|
81509
|
-
function
|
|
81578
|
+
function HD(e) {
|
|
81510
81579
|
const { analytic: t } = e, { type: n } = t || {}, { regression: o2 } = t || {};
|
|
81511
81580
|
return n === "trend" || n === "reference" || n === "moving" && !!o2;
|
|
81512
81581
|
}
|
|
81513
|
-
function
|
|
81582
|
+
function QD(e, t) {
|
|
81514
81583
|
const { x_axis: n, series: o2 } = e.fields, i = import_lodash.get(e, "fields.y_axes", []), r2 = import_lodash.get(e, "settings.y_axes", []), a = import_lodash.get(e, "fields.tooltips", []), s2 = !!import_lodash.get(e, "settings.legend.enabled"), l2 = import_lodash.get(e, "settings.legend.alignment", "bottom"), c3 = !!import_lodash.get(e, "settings.others.always_display_points"), u = !!import_lodash.get(e, "settings.others.include_empty_children_rows"), d2 = !!import_lodash.get(e, "settings.others.connect_discontinuous_points", true), m3 = import_lodash.get(e, "settings.pop_settings"), h2 = import_lodash.get(e, "settings.sort"), f3 = import_lodash.get(e, "settings.x_axis.title"), g3 = import_lodash.get(e, "settings.x_axis.show_null_datetime"), b2 = c3 && ["line_chart", "area_chart", "combination_chart"].includes(e.viz_type) ? `show_data_points: ${c3}` : "", x2 = !d2 && ["line_chart", "area_chart", "combination_chart"].includes(e.viz_type) ? `connect_discontinuous_points: ${d2}` : "", w2 = u ? `show_rows_with_no_data: ${u}` : "", v2 = zt3(e.settings), A = v2 ? `row_limit: ${v2}` : "", C2 = Qg2(h2) || "";
|
|
81515
81584
|
let B2 = "";
|
|
81516
81585
|
s2 ? l2 !== "bottom" && (B2 = `legend_label: ${_2(l2)}`) : B2 = "legend_label: 'hidden'";
|
|
@@ -81549,7 +81618,7 @@ function HD(e, t) {
|
|
|
81549
81618
|
`), M2 = ue3.title ? `label: ${_2(ue3.title)}` : "", le3 = De2 ? ` settings {
|
|
81550
81619
|
${De2}
|
|
81551
81620
|
}` : "", Fe3 = Ye3.map((ye3) => {
|
|
81552
|
-
const Ue3 = ye3.series_settings || {}, $t2 = e.viz_type === "combination_chart" && typeof Ue3.series_type == "string" && Ue3.series_type !== "auto" ? `mark_type: ${_2(Ue3.series_type.split("_")[0])}` : "", fu2 =
|
|
81621
|
+
const Ue3 = ye3.series_settings || {}, $t2 = e.viz_type === "combination_chart" && typeof Ue3.series_type == "string" && Ue3.series_type !== "auto" ? `mark_type: ${_2(Ue3.series_type.split("_")[0])}` : "", fu2 = HD(ye3) ? "line_chart" : Ue3.series_type, { lineStyle: ca2, lineInterpolation: ua2 } = Im2(Ue3, e.viz_type, fu2), da2 = Ue3.color !== undefined && Ue3.color !== "auto" ? Ue3.color : ye3.color, S_ = da2 !== undefined && da2 !== "auto" ? `color: ${_2(da2)}` : "", E_ = ca2 !== undefined && ca2 !== "solid" ? `line_style: ${_2(ca2)}` : "", T_ = ua2 !== undefined && ua2 !== "linear" ? `line_interpolation: ${_2(ua2)}` : "", B_ = Jr3(Ue3);
|
|
81553
81622
|
let gu2 = "";
|
|
81554
81623
|
typeof Ue3.series_hash == "object" && !import_lodash.isEmpty(Ue3.series_hash) && (gu2 = Object.entries(Ue3.series_hash).map(([P_, lo2]) => {
|
|
81555
81624
|
const co2 = Im2(lo2, e.viz_type, fu2), D_ = `value: ${_2(P_)}`, yu2 = lo2.color !== undefined && lo2.color !== "auto" ? `color: ${_2(lo2.color)}` : "", bu2 = co2.lineStyle !== undefined && co2.lineStyle !== "solid" ? `line_style: ${_2(co2.lineStyle)}` : "", wu2 = co2.lineInterpolation !== undefined && co2.lineInterpolation !== "linear" ? `line_interpolation: ${_2(co2.lineInterpolation)}` : "", vu2 = lo2.hidden === true ? `hidden: ${lo2.hidden}` : "", ku2 = [
|
|
@@ -81604,7 +81673,7 @@ function HD(e, t) {
|
|
|
81604
81673
|
].filter(Boolean).join(`
|
|
81605
81674
|
`);
|
|
81606
81675
|
}
|
|
81607
|
-
function
|
|
81676
|
+
function WD(e, t) {
|
|
81608
81677
|
const n = e.fields.series, o2 = import_lodash.get(e, "fields.y_axis.columns", []), i = import_lodash.get(e, "fields.tooltips", []), r2 = !!import_lodash.get(e, "settings.donut_chart.show_donut"), a = !!import_lodash.get(e, "settings.legend.enabled"), s2 = import_lodash.get(e, "settings.legend.alignment", "bottom"), l2 = !!import_lodash.get(e, "settings.other.show_label"), c3 = import_lodash.get(e, "settings.other.label_position"), u = !!import_lodash.get(e, "settings.other.show_percentage"), d2 = !!import_lodash.get(e, "settings.other.show_stack_total"), m3 = !!import_lodash.get(e, "settings.other.group_long_tail"), h2 = Number(import_lodash.get(e, "settings.other.maximum_groups")), f3 = import_lodash.get(e, "settings.sort"), g3 = r2 ? `display_as_donut: ${r2}` : "", b2 = d2 ? `show_total: ${d2}` : "", x2 = zt3(e.settings), w2 = x2 ? `row_limit: ${x2}` : "";
|
|
81609
81678
|
let v2 = "";
|
|
81610
81679
|
!import_lodash.isNil(f3) && !import_lodash.isEmpty(f3.option) && (f3.option.type === "pie" ? v2 = `sort: ${_2(f3.isAscending ? "asc" : "desc")}` : v2 = Qg2(f3) || "");
|
|
@@ -81662,7 +81731,7 @@ function QD(e, t) {
|
|
|
81662
81731
|
].filter(Boolean).join(`
|
|
81663
81732
|
`);
|
|
81664
81733
|
}
|
|
81665
|
-
function
|
|
81734
|
+
function qD(e, t) {
|
|
81666
81735
|
const {
|
|
81667
81736
|
x_col: n,
|
|
81668
81737
|
y_col: o2,
|
|
@@ -81700,7 +81769,7 @@ function WD(e, t) {
|
|
|
81700
81769
|
].filter(Boolean).join(`
|
|
81701
81770
|
`);
|
|
81702
81771
|
}
|
|
81703
|
-
function
|
|
81772
|
+
function YD(e, t) {
|
|
81704
81773
|
const n = import_lodash.get(e, "settings.cohort_settings.percentage", true), o2 = import_lodash.get(e, "settings.cohort_settings.convert_empty", false), i = import_lodash.get(e, "fields.cohort"), r2 = import_lodash.get(e, "fields.cohort_size"), a = import_lodash.get(e, "fields.cohort_duration"), s2 = import_lodash.get(e, "fields.cohort_value"), l2 = ae3(i) ? `cohort: ${Y2(i, t)}` : "", c3 = ae3(r2) ? `cohort_size: ${Y2(r2, t)}` : "", u = ae3(a) ? `cohort_duration: ${Y2(a, t)}` : "", d2 = ae3(s2) ? `cohort_value: ${Y2(s2, t)}` : "", m3 = n ? "" : `display_percentage_values: ${n}`, h2 = o2 ? `convert_empty_to_zero: ${o2}` : "", f3 = _t3(e.settings.aggregate_awareness), g3 = yt3([
|
|
81705
81774
|
m3,
|
|
81706
81775
|
h2,
|
|
@@ -81715,7 +81784,7 @@ function qD(e, t) {
|
|
|
81715
81784
|
].filter(Boolean).join(`
|
|
81716
81785
|
`);
|
|
81717
81786
|
}
|
|
81718
|
-
function
|
|
81787
|
+
function JD(e, t) {
|
|
81719
81788
|
const n = e.fields.x_axis, o2 = import_lodash.get(e, "fields.y_axis.columns", []), i = import_lodash.get(e, "settings.colors", {}), r2 = import_lodash.get(e, "settings.breakdown", {}), a = ae3(n) ? `breakdown_by: ${Y2(n, t)}` : "", s2 = `values: [
|
|
81720
81789
|
${o2.map((w2) => Y2(w2, t)).join(`,
|
|
81721
81790
|
`)}
|
|
@@ -81735,7 +81804,7 @@ function YD(e, t) {
|
|
|
81735
81804
|
].filter(Boolean).join(`
|
|
81736
81805
|
`);
|
|
81737
81806
|
}
|
|
81738
|
-
function
|
|
81807
|
+
function ZD(e, t) {
|
|
81739
81808
|
const n = t.find((d2) => d2.uuid === e), o2 = import_lodash.get(n, "indent", Kt3);
|
|
81740
81809
|
if (!!!import_lodash.get(n, "rowType")) {
|
|
81741
81810
|
const d2 = import_lodash.get(n, "chartType", Kn3);
|
|
@@ -81759,12 +81828,12 @@ function JD(e, t) {
|
|
|
81759
81828
|
].filter(Boolean).join(`
|
|
81760
81829
|
`);
|
|
81761
81830
|
}
|
|
81762
|
-
function
|
|
81831
|
+
function XD(e, t) {
|
|
81763
81832
|
const n = import_lodash.get(e, "settings.max_column", di2), o2 = import_lodash.get(e, "fields.date", {}), i = import_lodash.get(e, "fields.rows", []), r2 = import_lodash.get(e, "settings.customization", []), a = n !== di2 ? `max_column: ${n}` : undefined, s2 = _t3(e.settings.aggregate_awareness), l2 = yt3([
|
|
81764
81833
|
a,
|
|
81765
81834
|
s2
|
|
81766
81835
|
]), c3 = i.map((h2) => {
|
|
81767
|
-
const f3 =
|
|
81836
|
+
const f3 = ZD(h2.uuid, r2), g3 = f3 ? ` settings {
|
|
81768
81837
|
${f3}
|
|
81769
81838
|
}` : "";
|
|
81770
81839
|
return ae3(h2) ? ` MetricSeries {
|
|
@@ -81792,9 +81861,9 @@ function ZD(e, t) {
|
|
|
81792
81861
|
`);
|
|
81793
81862
|
}
|
|
81794
81863
|
var Pm2 = false;
|
|
81795
|
-
var
|
|
81796
|
-
var Dm2 =
|
|
81797
|
-
function
|
|
81864
|
+
var eF = "compare_by_percent";
|
|
81865
|
+
var Dm2 = eF;
|
|
81866
|
+
function tF(e, t) {
|
|
81798
81867
|
let n = "";
|
|
81799
81868
|
const o2 = import_lodash.get(e, "fields.metric_value", {});
|
|
81800
81869
|
if (import_lodash.get(e, "settings.metric_settings.compare_with", "field") === "field") {
|
|
@@ -81820,7 +81889,7 @@ function eF(e, t) {
|
|
|
81820
81889
|
].filter(Boolean).join(`
|
|
81821
81890
|
`);
|
|
81822
81891
|
}
|
|
81823
|
-
function
|
|
81892
|
+
function nF(e, t) {
|
|
81824
81893
|
const n = import_lodash.get(e, "fields.rows"), o2 = import_lodash.get(e, "fields.values"), i = ae3(n) ? `words: ${Y2(n, t)}` : "", r2 = ae3(o2) ? `weight: ${Y2(o2, t)}` : "", a = zt3(e.settings), s2 = a ? `row_limit: ${a}` : "", l2 = _t3(e.settings.aggregate_awareness), c3 = yt3([
|
|
81825
81894
|
s2,
|
|
81826
81895
|
l2
|
|
@@ -81832,7 +81901,7 @@ function tF(e, t) {
|
|
|
81832
81901
|
].filter(Boolean).join(`
|
|
81833
81902
|
`);
|
|
81834
81903
|
}
|
|
81835
|
-
function
|
|
81904
|
+
function oF(e, t) {
|
|
81836
81905
|
const n = import_lodash.get(e, "settings.solid_gauge.title"), o2 = import_lodash.get(e, "settings.solid_gauge.suffix"), i = import_lodash.get(e, "fields.metric_value"), r2 = import_lodash.get(e, "fields.metric_comparison_value"), a = ae3(i) ? `value: ${Y2(i, t)}` : "", s2 = ae3(r2) ? `max_value: ${Y2(r2, t)}` : "", l2 = n ? `label: ${_2(n)}` : "", c3 = o2 ? `suffix: ${_2(o2)}` : "", u = zt3(e.settings), d2 = u ? `row_limit: ${u}` : "", m3 = _t3(e.settings.aggregate_awareness), h2 = e.settings.analysis_interactions ? no2(e.settings.analysis_interactions) : "", f3 = yt3([
|
|
81837
81906
|
l2,
|
|
81838
81907
|
c3,
|
|
@@ -81853,7 +81922,7 @@ var $m2 = "polygon";
|
|
|
81853
81922
|
var Lm2 = "line";
|
|
81854
81923
|
var Nm2 = false;
|
|
81855
81924
|
var Mm2 = true;
|
|
81856
|
-
function
|
|
81925
|
+
function iF(e, t) {
|
|
81857
81926
|
const {
|
|
81858
81927
|
x_axis: n,
|
|
81859
81928
|
legend: o2
|
|
@@ -81908,10 +81977,10 @@ var HA2 = (e) => {
|
|
|
81908
81977
|
}`;
|
|
81909
81978
|
};
|
|
81910
81979
|
var Xs2 = "number";
|
|
81911
|
-
var
|
|
81912
|
-
var
|
|
81980
|
+
var rF = "#C3E8C2";
|
|
81981
|
+
var aF = "#34BA5A";
|
|
81913
81982
|
var el2 = "percentage";
|
|
81914
|
-
var
|
|
81983
|
+
var sF = (e) => {
|
|
81915
81984
|
const t = e.viz_type, n = import_lodash.get(e, "settings.map_settings.tile_provider", ""), o2 = Object.entries(Dn3).find(([, f3]) => f3 === n)?.[0], i = import_lodash.get(e, "settings.map_settings.show_legend", Sg2);
|
|
81916
81985
|
let r2 = import_lodash.get(e, "settings.map_settings.legend_layout", En3).toLowerCase();
|
|
81917
81986
|
const a = HA2(e);
|
|
@@ -81935,10 +82004,10 @@ var aF = (e) => {
|
|
|
81935
82004
|
].filter(Boolean).join(`
|
|
81936
82005
|
`);
|
|
81937
82006
|
};
|
|
81938
|
-
var
|
|
82007
|
+
var lF = (e) => {
|
|
81939
82008
|
const t = e.viz_type, n = import_lodash.get(e, "settings.map_color.value");
|
|
81940
82009
|
if (n) {
|
|
81941
|
-
const o2 = import_lodash.get(n, "min.type"), i = import_lodash.get(n, "max.type"), r2 = import_lodash.get(n, "mid.type"), a = import_lodash.get(n, "min.value"), s2 = import_lodash.get(n, "mid.value"), l2 = import_lodash.get(n, "max.value"), c3 = import_lodash.get(n, "min.color",
|
|
82010
|
+
const o2 = import_lodash.get(n, "min.type"), i = import_lodash.get(n, "max.type"), r2 = import_lodash.get(n, "mid.type"), a = import_lodash.get(n, "min.value"), s2 = import_lodash.get(n, "mid.value"), l2 = import_lodash.get(n, "max.value"), c3 = import_lodash.get(n, "min.color", rF), u = import_lodash.get(n, "mid.color"), d2 = import_lodash.get(n, "max.color", aF), m3 = import_lodash.get(n, "style"), h2 = import_lodash.get(n, "steps"), f3 = m3 !== undefined && m3 !== Pc2 && t === "point_map" ? `style: ${_2(m3)}` : "", g3 = h2 !== undefined && h2 !== Dc2 && t === "point_map" ? `steps: ${h2}` : "", b2 = o2 !== undefined && o2 !== Xs2 ? `type: ${_2(el2)}` : "", x2 = a ? `value: ${a}` : "", w2 = `color: ${_2(c3)}`, v2 = [
|
|
81942
82011
|
b2,
|
|
81943
82012
|
x2,
|
|
81944
82013
|
w2
|
|
@@ -81971,7 +82040,7 @@ var sF = (e) => {
|
|
|
81971
82040
|
}
|
|
81972
82041
|
return "";
|
|
81973
82042
|
};
|
|
81974
|
-
var
|
|
82043
|
+
var cF = (e) => {
|
|
81975
82044
|
if (e) {
|
|
81976
82045
|
const t = import_lodash.get(e, "color"), n = import_lodash.get(e, "colors", {}), o2 = Object.keys(n).map((a) => {
|
|
81977
82046
|
const s2 = `value: ${_2(a)}`, l2 = n[a] ? `color: ${_2(n[a])}` : "";
|
|
@@ -81990,7 +82059,7 @@ var lF = (e) => {
|
|
|
81990
82059
|
}
|
|
81991
82060
|
return "";
|
|
81992
82061
|
};
|
|
81993
|
-
function
|
|
82062
|
+
function uF(e, t) {
|
|
81994
82063
|
const n = e.viz_type, o2 = import_lodash.get(e, "fields.lng"), i = import_lodash.get(e, "fields.lat"), r2 = import_lodash.get(e, "fields.value"), a = ae3(o2) ? `lng: ${Y2(o2, t)}` : "", s2 = ae3(i) ? `lat: ${Y2(i, t)}` : "", l2 = r2 && ae3(r2) ? `value: ${Y2(r2, t)}` : "";
|
|
81995
82064
|
let c3 = "", u = "";
|
|
81996
82065
|
if (n === "point_map") {
|
|
@@ -82002,12 +82071,12 @@ function cF(e, t) {
|
|
|
82002
82071
|
u = A ? `tooltips: ${A}` : "";
|
|
82003
82072
|
}
|
|
82004
82073
|
}
|
|
82005
|
-
const d2 =
|
|
82074
|
+
const d2 = lF(e), m3 = d2 ? ` value_colors {
|
|
82006
82075
|
${d2}
|
|
82007
82076
|
}` : "", h2 = n === "point_map" ? import_lodash.get(e, "settings.map_color.legend") : undefined, f3 = h2 ? ` legend_colors {
|
|
82008
|
-
${
|
|
82077
|
+
${cF(h2)}
|
|
82009
82078
|
}` : "", g3 = _t3(e.settings.aggregate_awareness), b2 = yt3([
|
|
82010
|
-
|
|
82079
|
+
sF(e),
|
|
82011
82080
|
m3,
|
|
82012
82081
|
f3,
|
|
82013
82082
|
g3
|
|
@@ -82022,14 +82091,14 @@ function cF(e, t) {
|
|
|
82022
82091
|
].filter(Boolean).join(`
|
|
82023
82092
|
`);
|
|
82024
82093
|
}
|
|
82025
|
-
var
|
|
82094
|
+
var dF = true;
|
|
82026
82095
|
var tl2 = "number";
|
|
82027
|
-
var
|
|
82028
|
-
var
|
|
82096
|
+
var pF = "#C3E8C2";
|
|
82097
|
+
var mF = "#34BA5A";
|
|
82029
82098
|
var nl2 = "percentage";
|
|
82030
|
-
var
|
|
82031
|
-
var
|
|
82032
|
-
const t = import_lodash.get(e, "settings.map_settings.tile_provider", ""), n = Object.entries(Dn3).find(([, c3]) => c3 === t)?.[0], o2 = import_lodash.get(e, "settings.map_settings.show_legend",
|
|
82099
|
+
var hF = ["country", "city", "continent", "state"];
|
|
82100
|
+
var fF = (e) => {
|
|
82101
|
+
const t = import_lodash.get(e, "settings.map_settings.tile_provider", ""), n = Object.entries(Dn3).find(([, c3]) => c3 === t)?.[0], o2 = import_lodash.get(e, "settings.map_settings.show_legend", dF);
|
|
82033
82102
|
let i = import_lodash.get(e, "settings.map_settings.legend_layout", Io3).toLowerCase();
|
|
82034
82103
|
o2 || (i = "hidden");
|
|
82035
82104
|
const r2 = n !== undefined && n !== un2 ? `map_background: ${_2(n)}` : "", a = i !== Io3 ? `color_scale: ${_2(i)}` : "", s2 = HA2(e);
|
|
@@ -82040,9 +82109,9 @@ var hF = (e) => {
|
|
|
82040
82109
|
].filter(Boolean).join(`
|
|
82041
82110
|
`);
|
|
82042
82111
|
};
|
|
82043
|
-
var
|
|
82112
|
+
var gF = (e) => {
|
|
82044
82113
|
if (e) {
|
|
82045
|
-
const t = import_lodash.get(e, "min.type"), n = import_lodash.get(e, "max.type"), o2 = import_lodash.get(e, "mid.type"), i = import_lodash.get(e, "min.value"), r2 = import_lodash.get(e, "mid.value"), a = import_lodash.get(e, "max.value"), s2 = import_lodash.get(e, "min.color",
|
|
82114
|
+
const t = import_lodash.get(e, "min.type"), n = import_lodash.get(e, "max.type"), o2 = import_lodash.get(e, "mid.type"), i = import_lodash.get(e, "min.value"), r2 = import_lodash.get(e, "mid.value"), a = import_lodash.get(e, "max.value"), s2 = import_lodash.get(e, "min.color", pF), l2 = import_lodash.get(e, "mid.color"), c3 = import_lodash.get(e, "max.color", mF), u = import_lodash.get(e, "style"), d2 = import_lodash.get(e, "steps"), m3 = u !== undefined && u !== Fc2 ? `style: ${_2(u)}` : "", h2 = d2 !== undefined && d2 !== $c2 ? `steps: ${d2}` : "", f3 = t !== undefined && t !== tl2 ? `type: ${_2(nl2)}` : "", g3 = i ? `value: ${i}` : "", b2 = `color: ${_2(s2)}`, x2 = [
|
|
82046
82115
|
f3,
|
|
82047
82116
|
g3,
|
|
82048
82117
|
b2
|
|
@@ -82094,8 +82163,8 @@ var Rm2 = (e) => {
|
|
|
82094
82163
|
}
|
|
82095
82164
|
return "";
|
|
82096
82165
|
};
|
|
82097
|
-
var
|
|
82098
|
-
if (
|
|
82166
|
+
var AF = (e) => {
|
|
82167
|
+
if (hF.includes(e))
|
|
82099
82168
|
return `${_2(e)}`;
|
|
82100
82169
|
const t = /custom_(\d+)_(\w+)/, n = e.match(t);
|
|
82101
82170
|
if (n) {
|
|
@@ -82106,10 +82175,10 @@ var gF = (e) => {
|
|
|
82106
82175
|
}`;
|
|
82107
82176
|
}
|
|
82108
82177
|
};
|
|
82109
|
-
var
|
|
82178
|
+
var _F = (e, t) => {
|
|
82110
82179
|
const n = import_lodash.get(e, "fields.location"), o2 = n.field_to_use;
|
|
82111
82180
|
return n.fields.map((i) => {
|
|
82112
|
-
const r2 = ae3(i) ? `field: ${Y2(i, t)}` : "", a = i.location_type ? `location_type: ${
|
|
82181
|
+
const r2 = ae3(i) ? `field: ${Y2(i, t)}` : "", a = i.location_type ? `location_type: ${AF(i.location_type)}` : "", s2 = i.uuid === o2 ? "primary_field: true" : "", l2 = [
|
|
82113
82182
|
r2,
|
|
82114
82183
|
a,
|
|
82115
82184
|
s2
|
|
@@ -82121,8 +82190,8 @@ var AF = (e, t) => {
|
|
|
82121
82190
|
}).filter(Boolean).join(`
|
|
82122
82191
|
`);
|
|
82123
82192
|
};
|
|
82124
|
-
function
|
|
82125
|
-
const n = import_lodash.get(e, "fields.value"), o2 = import_lodash.get(e, "fields.legend"), i = import_lodash.get(e, "fields.tooltips"), r2 =
|
|
82193
|
+
function yF(e, t) {
|
|
82194
|
+
const n = import_lodash.get(e, "fields.value"), o2 = import_lodash.get(e, "fields.legend"), i = import_lodash.get(e, "fields.tooltips"), r2 = _F(e, t);
|
|
82126
82195
|
let a = "";
|
|
82127
82196
|
n && (a = ae3(n) ? `value: ${Y2(n, t)}` : "");
|
|
82128
82197
|
let s2 = "";
|
|
@@ -82132,14 +82201,14 @@ function _F(e, t) {
|
|
|
82132
82201
|
const v2 = Lo3(i, t);
|
|
82133
82202
|
l2 = v2 ? `tooltips: ${v2}` : "";
|
|
82134
82203
|
}
|
|
82135
|
-
const c3 = import_lodash.get(e, "settings.map_color.value"), u = import_lodash.get(e, "settings.map_color.location"), d2 = import_lodash.get(e, "settings.map_color.legend"), m3 =
|
|
82204
|
+
const c3 = import_lodash.get(e, "settings.map_color.value"), u = import_lodash.get(e, "settings.map_color.location"), d2 = import_lodash.get(e, "settings.map_color.legend"), m3 = gF(c3), h2 = m3 ? ` value_colors {
|
|
82136
82205
|
${m3}
|
|
82137
82206
|
}` : "", f3 = d2 ? ` legend_colors {
|
|
82138
82207
|
${Rm2(d2)}
|
|
82139
82208
|
}` : "", g3 = u ? ` location_colors {
|
|
82140
82209
|
${Rm2(u)}
|
|
82141
82210
|
}` : "", b2 = _t3(e.settings.aggregate_awareness), x2 = yt3([
|
|
82142
|
-
|
|
82211
|
+
fF(e),
|
|
82143
82212
|
h2,
|
|
82144
82213
|
f3,
|
|
82145
82214
|
g3,
|
|
@@ -82154,10 +82223,10 @@ function _F(e, t) {
|
|
|
82154
82223
|
].filter(Boolean).join(`
|
|
82155
82224
|
`);
|
|
82156
82225
|
}
|
|
82157
|
-
function
|
|
82226
|
+
function bF(e, t) {
|
|
82158
82227
|
const { custom_chart_id: n, custom_chart_def: o2 } = e;
|
|
82159
82228
|
let i;
|
|
82160
|
-
o2 ? i = `custom_chart: ${
|
|
82229
|
+
o2 ? i = `custom_chart: ${UP(o2)}` : typeof n == "string" ? i = `custom_chart: ${n}` : i = `custom_chart_id: ${n}`;
|
|
82161
82230
|
const r2 = import_lodash.compact(Object.entries(e.fields).map(([m3, h2]) => ae3(h2) ? `field ${m3}: ${Y2(h2, t)}` : "")).join(`
|
|
82162
82231
|
`), a = zt3(e.settings), s2 = a ? `row_limit: ${a}` : "", l2 = _t3(e.settings._holistics_reserved_?.aggregate_awareness), c3 = import_lodash.compact(Object.entries(e.settings).map(([m3, h2]) => {
|
|
82163
82232
|
if (m3 === "misc" || m3 === "_holistics_reserved_" || import_lodash.isNil(h2))
|
|
@@ -82209,7 +82278,7 @@ function tu2(e) {
|
|
|
82209
82278
|
right: ${tt3(n)}
|
|
82210
82279
|
}`;
|
|
82211
82280
|
}
|
|
82212
|
-
function
|
|
82281
|
+
function wF(e) {
|
|
82213
82282
|
if (!e)
|
|
82214
82283
|
return;
|
|
82215
82284
|
if (e._id)
|
|
@@ -82260,7 +82329,7 @@ function QA2(e) {
|
|
|
82260
82329
|
return e._id;
|
|
82261
82330
|
const t = [], n = tu2(e.border_width);
|
|
82262
82331
|
n && t.push(j4("border_width", n));
|
|
82263
|
-
const o2 =
|
|
82332
|
+
const o2 = wF(e.border_radius);
|
|
82264
82333
|
if (o2 && t.push(j4("border_radius", o2)), e.border_color && t.push(`border_color: ${_2(e.border_color)}`), e.border_style && t.push(`border_style: ${_2(e.border_style)}`), t.length !== 0)
|
|
82265
82334
|
return `{
|
|
82266
82335
|
${t.join(`
|
|
@@ -82301,7 +82370,7 @@ function nu2(e) {
|
|
|
82301
82370
|
`)}
|
|
82302
82371
|
}`;
|
|
82303
82372
|
}
|
|
82304
|
-
function
|
|
82373
|
+
function vF(e) {
|
|
82305
82374
|
if (e) {
|
|
82306
82375
|
if (e._id)
|
|
82307
82376
|
return e._id;
|
|
@@ -82320,7 +82389,7 @@ var Om2 = (e) => {
|
|
|
82320
82389
|
`)}
|
|
82321
82390
|
}`;
|
|
82322
82391
|
};
|
|
82323
|
-
function
|
|
82392
|
+
function kF(e) {
|
|
82324
82393
|
if (!e)
|
|
82325
82394
|
return;
|
|
82326
82395
|
if (e._id)
|
|
@@ -82435,7 +82504,7 @@ function ol2(e) {
|
|
|
82435
82504
|
`)}
|
|
82436
82505
|
}`;
|
|
82437
82506
|
}
|
|
82438
|
-
function
|
|
82507
|
+
function xF(e) {
|
|
82439
82508
|
if (!e)
|
|
82440
82509
|
return;
|
|
82441
82510
|
if (e._id)
|
|
@@ -82478,11 +82547,11 @@ function WA2(e) {
|
|
|
82478
82547
|
return;
|
|
82479
82548
|
if (e._id)
|
|
82480
82549
|
return e._id;
|
|
82481
|
-
const t = [], n =
|
|
82550
|
+
const t = [], n = kF(e.table);
|
|
82482
82551
|
n && t.push(j4("table", n));
|
|
82483
82552
|
const o2 = eu2(e.color);
|
|
82484
82553
|
o2 && t.push(j4("color", o2));
|
|
82485
|
-
const i =
|
|
82554
|
+
const i = xF(e.metric_kpi);
|
|
82486
82555
|
if (i && t.push(j4("metric_kpi", i)), t.length !== 0)
|
|
82487
82556
|
return `{
|
|
82488
82557
|
${t.join(`
|
|
@@ -82502,7 +82571,7 @@ function jl2(e) {
|
|
|
82502
82571
|
o2 && t.push(j4("canvas", o2));
|
|
82503
82572
|
const i = Nn3(e.block);
|
|
82504
82573
|
i && t.push(j4("block", i));
|
|
82505
|
-
const r2 =
|
|
82574
|
+
const r2 = vF(e.custom_css);
|
|
82506
82575
|
r2 && t.push(j4("custom_css", r2));
|
|
82507
82576
|
const a = WA2(e.viz);
|
|
82508
82577
|
a && t.push(j4("viz", a));
|
|
@@ -82516,7 +82585,7 @@ function jl2(e) {
|
|
|
82516
82585
|
function Fi3(e) {
|
|
82517
82586
|
if (!e)
|
|
82518
82587
|
return;
|
|
82519
|
-
if (!
|
|
82588
|
+
if (!NP(e))
|
|
82520
82589
|
return jl2(e);
|
|
82521
82590
|
if (e._id)
|
|
82522
82591
|
return e._id;
|
|
@@ -82530,14 +82599,14 @@ function Fi3(e) {
|
|
|
82530
82599
|
`)}
|
|
82531
82600
|
}`;
|
|
82532
82601
|
}
|
|
82533
|
-
function
|
|
82602
|
+
function CF(e) {
|
|
82534
82603
|
const t = e.filter(Boolean).join(`
|
|
82535
82604
|
`);
|
|
82536
82605
|
return t ? ` context {
|
|
82537
82606
|
${t}
|
|
82538
82607
|
}` : "";
|
|
82539
82608
|
}
|
|
82540
|
-
function
|
|
82609
|
+
function SF(e, t) {
|
|
82541
82610
|
const n = Gc2(e), { rows: o2 = [], columns: i = [], values: r2 = [] } = import_lodash.get(n, "fields.pivot_data", {}), a = import_lodash.get(n, "settings.markdown_content") ?? "", s2 = import_lodash.get(n, "settings.misc.pagination_size", Ft3), l2 = !!import_lodash.get(n, "settings.others.include_empty_children_rows"), c3 = !!import_lodash.get(n, "settings.others.row_total"), u = !!import_lodash.get(n, "settings.others.column_total"), d2 = !!import_lodash.get(n, "settings.others.sub_total"), m3 = import_lodash.get(n, "settings.sort"), h2 = import_lodash.get(n, "settings.pop_settings"), f3 = o2.length ? `rows: [${o2.map((te3) => Y2(te3, t))}]` : "", g3 = i.length ? `columns: [${i.map((te3) => Y2(te3, t))}]` : "", b2 = r2.length ? `values: [${r2.map((te3) => Y2(te3, t))}]` : "", x2 = s2 !== undefined && s2 !== Ft3 ? `pagination_size: ${s2}` : "", w2 = l2 ? `show_row_with_no_data: ${l2}` : "", v2 = c3 ? `show_row_total: ${c3}` : "", A = u ? `show_column_total: ${u}` : "", C2 = d2 ? `show_sub_total: ${d2}` : "", P2 = Po3(m3) ? `sorts: ${Po3(m3)}` : "", y2 = h2 ? Di2(h2, t) : undefined, k2 = y2 ? `pop ${y2}` : "", D = zt3(n.settings), E2 = D ? `row_limit: ${D}` : "", U2 = _t3(n.settings.aggregate_awareness), G3 = n.settings.analysis_interactions ? no2(n.settings.analysis_interactions) : "", W = yt3([
|
|
82542
82611
|
x2,
|
|
82543
82612
|
w2,
|
|
@@ -82563,7 +82632,7 @@ function ou2(e, t, n) {
|
|
|
82563
82632
|
const o2 = t.find((A) => A.id === e.dataset_id || A.name === e.dataset_id);
|
|
82564
82633
|
if (!o2)
|
|
82565
82634
|
throw new Error(`Referencing to an invalid dataset (id: ${e.dataset_id})`);
|
|
82566
|
-
const i = `dataset: ${n?.datasetAsRef ? `${o2.name}` : `${_2(o2.name)}`}`, r2 =
|
|
82635
|
+
const i = `dataset: ${n?.datasetAsRef ? `${o2.name}` : `${_2(o2.name)}`}`, r2 = wD(e.viz_setting, o2, n), a = e.viz_setting.filters?.length ? SD(e.viz_setting.filters, o2) : "", s2 = e.viz_setting.amql?.filters?.length ? TD(e.viz_setting.amql?.filters, o2) : "", l2 = s2 ? `filter_groups: ${s2}` : "", c3 = e.viz_setting.amql?.conditions ?? [], [u, d2] = import_lodash.partition(c3, (A) => A.is_measure_condition), m3 = d2.length ? Bm2(d2) : "", h2 = u.length ? Bm2(u) : "", f3 = WA2(e.theme), g3 = f3 ? j4("theme", f3) : "", b2 = e.viz_setting.context?.analysis ? zD(e.viz_setting.context.analysis, o2) : "", x2 = CF([b2]), w2 = [
|
|
82567
82636
|
i,
|
|
82568
82637
|
r2,
|
|
82569
82638
|
a,
|
|
@@ -82576,7 +82645,7 @@ function ou2(e, t, n) {
|
|
|
82576
82645
|
`), v2 = e.viz_setting.viz_type;
|
|
82577
82646
|
switch (v2) {
|
|
82578
82647
|
case "data_table": {
|
|
82579
|
-
const A =
|
|
82648
|
+
const A = ID2(e.viz_setting, o2);
|
|
82580
82649
|
return ` DataTable {
|
|
82581
82650
|
${[
|
|
82582
82651
|
w2,
|
|
@@ -82586,7 +82655,7 @@ function ou2(e, t, n) {
|
|
|
82586
82655
|
}`;
|
|
82587
82656
|
}
|
|
82588
82657
|
case "pivot_table": {
|
|
82589
|
-
const A =
|
|
82658
|
+
const A = VD(e.viz_setting, o2);
|
|
82590
82659
|
return ` PivotTable {
|
|
82591
82660
|
${[
|
|
82592
82661
|
w2,
|
|
@@ -82600,7 +82669,7 @@ function ou2(e, t, n) {
|
|
|
82600
82669
|
case "column_chart":
|
|
82601
82670
|
case "area_chart":
|
|
82602
82671
|
case "combination_chart": {
|
|
82603
|
-
const A =
|
|
82672
|
+
const A = QD(e.viz_setting, o2), C2 = [
|
|
82604
82673
|
w2,
|
|
82605
82674
|
A
|
|
82606
82675
|
].filter(Boolean).join(`
|
|
@@ -82612,7 +82681,7 @@ function ou2(e, t, n) {
|
|
|
82612
82681
|
case "pie_chart":
|
|
82613
82682
|
case "pyramid_chart":
|
|
82614
82683
|
case "funnel_chart": {
|
|
82615
|
-
const A =
|
|
82684
|
+
const A = WD(e.viz_setting, o2), C2 = [
|
|
82616
82685
|
w2,
|
|
82617
82686
|
A
|
|
82618
82687
|
].filter(Boolean).join(`
|
|
@@ -82623,7 +82692,7 @@ function ou2(e, t, n) {
|
|
|
82623
82692
|
}
|
|
82624
82693
|
case "bubble_chart":
|
|
82625
82694
|
case "scatter_chart": {
|
|
82626
|
-
const A =
|
|
82695
|
+
const A = qD(e.viz_setting, o2), C2 = [
|
|
82627
82696
|
w2,
|
|
82628
82697
|
A
|
|
82629
82698
|
].filter(Boolean).join(`
|
|
@@ -82633,7 +82702,7 @@ function ou2(e, t, n) {
|
|
|
82633
82702
|
}`;
|
|
82634
82703
|
}
|
|
82635
82704
|
case "retention_heatmap": {
|
|
82636
|
-
const A =
|
|
82705
|
+
const A = YD(e.viz_setting, o2), C2 = [
|
|
82637
82706
|
w2,
|
|
82638
82707
|
A
|
|
82639
82708
|
].filter(Boolean).join(`
|
|
@@ -82643,7 +82712,7 @@ function ou2(e, t, n) {
|
|
|
82643
82712
|
}`;
|
|
82644
82713
|
}
|
|
82645
82714
|
case "new_conversion_funnel": {
|
|
82646
|
-
const A =
|
|
82715
|
+
const A = JD(e.viz_setting, o2);
|
|
82647
82716
|
return ` ConversionFunnel {
|
|
82648
82717
|
${[
|
|
82649
82718
|
w2,
|
|
@@ -82653,7 +82722,7 @@ function ou2(e, t, n) {
|
|
|
82653
82722
|
}`;
|
|
82654
82723
|
}
|
|
82655
82724
|
case "metric_sheet": {
|
|
82656
|
-
const A =
|
|
82725
|
+
const A = XD(e.viz_setting, o2);
|
|
82657
82726
|
return ` MetricSheet {
|
|
82658
82727
|
${[
|
|
82659
82728
|
w2,
|
|
@@ -82663,7 +82732,7 @@ function ou2(e, t, n) {
|
|
|
82663
82732
|
}`;
|
|
82664
82733
|
}
|
|
82665
82734
|
case "metric_kpi": {
|
|
82666
|
-
const A =
|
|
82735
|
+
const A = tF(e.viz_setting, o2);
|
|
82667
82736
|
return ` MetricKpi {
|
|
82668
82737
|
${[
|
|
82669
82738
|
w2,
|
|
@@ -82673,7 +82742,7 @@ function ou2(e, t, n) {
|
|
|
82673
82742
|
}`;
|
|
82674
82743
|
}
|
|
82675
82744
|
case "wordcloud": {
|
|
82676
|
-
const A =
|
|
82745
|
+
const A = nF(e.viz_setting, o2);
|
|
82677
82746
|
return ` WordCloud {
|
|
82678
82747
|
${[
|
|
82679
82748
|
w2,
|
|
@@ -82683,7 +82752,7 @@ function ou2(e, t, n) {
|
|
|
82683
82752
|
}`;
|
|
82684
82753
|
}
|
|
82685
82754
|
case "solid_gauge": {
|
|
82686
|
-
const A =
|
|
82755
|
+
const A = oF(e.viz_setting, o2);
|
|
82687
82756
|
return ` GaugeChart {
|
|
82688
82757
|
${[
|
|
82689
82758
|
w2,
|
|
@@ -82693,7 +82762,7 @@ function ou2(e, t, n) {
|
|
|
82693
82762
|
}`;
|
|
82694
82763
|
}
|
|
82695
82764
|
case "radar_chart": {
|
|
82696
|
-
const A =
|
|
82765
|
+
const A = iF(e.viz_setting, o2);
|
|
82697
82766
|
return ` RadarChart {
|
|
82698
82767
|
${[
|
|
82699
82768
|
w2,
|
|
@@ -82704,7 +82773,7 @@ function ou2(e, t, n) {
|
|
|
82704
82773
|
}
|
|
82705
82774
|
case "heatmap":
|
|
82706
82775
|
case "point_map": {
|
|
82707
|
-
const A =
|
|
82776
|
+
const A = uF(e.viz_setting, o2), C2 = [
|
|
82708
82777
|
w2,
|
|
82709
82778
|
A
|
|
82710
82779
|
].filter(Boolean).join(`
|
|
@@ -82714,7 +82783,7 @@ function ou2(e, t, n) {
|
|
|
82714
82783
|
}`;
|
|
82715
82784
|
}
|
|
82716
82785
|
case "filled_map": {
|
|
82717
|
-
const A =
|
|
82786
|
+
const A = yF(e.viz_setting, o2);
|
|
82718
82787
|
return ` FilledMap {
|
|
82719
82788
|
${[
|
|
82720
82789
|
w2,
|
|
@@ -82724,7 +82793,7 @@ function ou2(e, t, n) {
|
|
|
82724
82793
|
}`;
|
|
82725
82794
|
}
|
|
82726
82795
|
case "custom": {
|
|
82727
|
-
const A =
|
|
82796
|
+
const A = bF(e.viz_setting, o2);
|
|
82728
82797
|
return ` CustomChart {
|
|
82729
82798
|
${[
|
|
82730
82799
|
w2,
|
|
@@ -82734,7 +82803,7 @@ function ou2(e, t, n) {
|
|
|
82734
82803
|
}`;
|
|
82735
82804
|
}
|
|
82736
82805
|
case "markdown": {
|
|
82737
|
-
const A =
|
|
82806
|
+
const A = SF(e.viz_setting, o2);
|
|
82738
82807
|
return ` MarkdownViz {
|
|
82739
82808
|
${[
|
|
82740
82809
|
w2,
|
|
@@ -82750,7 +82819,7 @@ function ou2(e, t, n) {
|
|
|
82750
82819
|
function qA2(e) {
|
|
82751
82820
|
return `'${e.uname}'`;
|
|
82752
82821
|
}
|
|
82753
|
-
function
|
|
82822
|
+
function EF(e, t) {
|
|
82754
82823
|
if (import_lodash.isEmpty(e.sources))
|
|
82755
82824
|
throw new Error("CustomDrillthroughSource `sources` must not be empty.");
|
|
82756
82825
|
let n;
|
|
@@ -82776,7 +82845,7 @@ function SF(e, t) {
|
|
|
82776
82845
|
`)}
|
|
82777
82846
|
}`;
|
|
82778
82847
|
}
|
|
82779
|
-
function
|
|
82848
|
+
function TF(e) {
|
|
82780
82849
|
return import_lodash.isEmpty(e.excluded_sources) ? "AutoDrillthroughSource {}" : `AutoDrillthroughSource {
|
|
82781
82850
|
excluded_sources: [
|
|
82782
82851
|
${(e.excluded_sources || []).map((t) => qA2(t)).join(`,
|
|
@@ -82784,7 +82853,7 @@ function EF(e) {
|
|
|
82784
82853
|
]
|
|
82785
82854
|
}`;
|
|
82786
82855
|
}
|
|
82787
|
-
function
|
|
82856
|
+
function BF({
|
|
82788
82857
|
drillthrough: e,
|
|
82789
82858
|
enable_drillthrough: t,
|
|
82790
82859
|
datasets: n
|
|
@@ -82796,9 +82865,9 @@ function TF({
|
|
|
82796
82865
|
throw new Error("Drillthrough: `sources` must not be empty.");
|
|
82797
82866
|
const i = `enabled: ${o2.enabled}`, r2 = o2.sources.map((s2) => {
|
|
82798
82867
|
if (s2.type === "CustomDrillthroughSource")
|
|
82799
|
-
return
|
|
82868
|
+
return EF(s2, n);
|
|
82800
82869
|
if (s2.type === "AutoDrillthroughSource")
|
|
82801
|
-
return
|
|
82870
|
+
return TF(s2);
|
|
82802
82871
|
throw new Error("Invalid Drillthrough source.");
|
|
82803
82872
|
}).join(`,
|
|
82804
82873
|
`), a = import_lodash.isEmpty(r2) ? "sources: []" : `sources: [${r2}]`;
|
|
@@ -82807,10 +82876,10 @@ function TF({
|
|
|
82807
82876
|
`)}
|
|
82808
82877
|
}`;
|
|
82809
82878
|
}
|
|
82810
|
-
function
|
|
82879
|
+
function IF(e) {
|
|
82811
82880
|
return Object.entries(pc2).find(([, t]) => t === e)?.[0];
|
|
82812
82881
|
}
|
|
82813
|
-
function
|
|
82882
|
+
function PF(e) {
|
|
82814
82883
|
return Object.entries(dc2).find(([, t]) => t === e)?.[0];
|
|
82815
82884
|
}
|
|
82816
82885
|
function YA2(e) {
|
|
@@ -82823,7 +82892,7 @@ function JA2(e) {
|
|
|
82823
82892
|
if (!(!e || typeof e != "string"))
|
|
82824
82893
|
return `${_2(e)}`;
|
|
82825
82894
|
}
|
|
82826
|
-
function
|
|
82895
|
+
function DF({
|
|
82827
82896
|
options: e,
|
|
82828
82897
|
modifier: t,
|
|
82829
82898
|
operator: n,
|
|
@@ -82834,8 +82903,8 @@ function PF({
|
|
|
82834
82903
|
if (!(["top", "bottom"].includes(n) && t && typeof t == "object"))
|
|
82835
82904
|
return "";
|
|
82836
82905
|
}
|
|
82837
|
-
function
|
|
82838
|
-
const n = e.operator ? `operator: ${_2(e.operator)}` : "", o2 = `value: ${YA2(e.values)}`, i = JA2(e.modifier), r2 = i ? `modifier: ${i}` : "", a =
|
|
82906
|
+
function FF(e, t) {
|
|
82907
|
+
const n = e.operator ? `operator: ${_2(e.operator)}` : "", o2 = `value: ${YA2(e.values)}`, i = JA2(e.modifier), r2 = i ? `modifier: ${i}` : "", a = DF({
|
|
82839
82908
|
options: e.options,
|
|
82840
82909
|
modifier: e.modifier,
|
|
82841
82910
|
operator: e.operator,
|
|
@@ -82857,7 +82926,7 @@ function Ul2(e, t, n) {
|
|
|
82857
82926
|
filter_source: i,
|
|
82858
82927
|
default_condition: r2,
|
|
82859
82928
|
input_type: a
|
|
82860
|
-
} = e, s2 = i.source_type === "DmFieldFilterSource" ? "field" :
|
|
82929
|
+
} = e, s2 = i.source_type === "DmFieldFilterSource" ? "field" : PF(o2);
|
|
82861
82930
|
if (!s2)
|
|
82862
82931
|
throw new Error(`Invalid filter type: ${o2}`);
|
|
82863
82932
|
const l2 = `type: ${_2(s2)}`;
|
|
@@ -82881,12 +82950,12 @@ function Ul2(e, t, n) {
|
|
|
82881
82950
|
}`);
|
|
82882
82951
|
let u = "";
|
|
82883
82952
|
if (r2 && !import_lodash.isEmpty(r2)) {
|
|
82884
|
-
const v2 =
|
|
82953
|
+
const v2 = FF(r2);
|
|
82885
82954
|
u = v2 ? ` default {
|
|
82886
82955
|
${v2}
|
|
82887
82956
|
}` : "";
|
|
82888
82957
|
}
|
|
82889
|
-
const d2 = n?.hide_label ? `hide_label: ${n.hide_label}` : "", m3 = n?.hide_controls ? `hide_controls: ${n.hide_controls}` : "", h2 = a ?
|
|
82958
|
+
const d2 = n?.hide_label ? `hide_label: ${n.hide_label}` : "", m3 = n?.hide_controls ? `hide_controls: ${n.hide_controls}` : "", h2 = a ? IF(a) : undefined, f3 = h2 ? `input_type: ${_2(h2)}` : "", g3 = BF({ drillthrough: n?.drillthrough, enable_drillthrough: n?.enable_drillthrough, datasets: t }), b2 = g3 ? `drillthrough: ${g3}` : "", x2 = [
|
|
82890
82959
|
d2,
|
|
82891
82960
|
m3,
|
|
82892
82961
|
f3,
|
|
@@ -82931,7 +83000,7 @@ function ru2(e) {
|
|
|
82931
83000
|
if (!(import_lodash.isNil(t) || t === "default"))
|
|
82932
83001
|
return t === "" ? "default: 'none'" : `default: ${_2(String(t).split(" ")[1])}`;
|
|
82933
83002
|
}
|
|
82934
|
-
function
|
|
83003
|
+
function $F(e) {
|
|
82935
83004
|
const t = e?.autorun_on_open;
|
|
82936
83005
|
if (t !== undefined)
|
|
82937
83006
|
return `autorun_on_open: ${!!t}`;
|
|
@@ -82941,7 +83010,7 @@ function FF(e) {
|
|
|
82941
83010
|
function $i3(e) {
|
|
82942
83011
|
if (!e || import_lodash.isEmpty(e))
|
|
82943
83012
|
return;
|
|
82944
|
-
const t =
|
|
83013
|
+
const t = $F(e), n = e?.autorun_on_changes ? `autorun_on_changes: ${!!e.autorun_on_changes}` : "", o2 = e?.show_field_description ? `show_field_description: ${!!e.show_field_description}` : "", i = e?.timezone && _h2.includes(e.timezone) ? `timezone: ${_2(e.timezone)}` : "", r2 = e?.allow_timezone_change ? `allow_timezone_change: ${!!e?.allow_timezone_change}` : "", a = !import_lodash.isNil(e?.cache_duration) && import_lodash.isNumber(e?.cache_duration) && e?.cache_duration >= 10 ? `cache_duration: ${e.cache_duration}` : "";
|
|
82945
83014
|
return [
|
|
82946
83015
|
i,
|
|
82947
83016
|
r2,
|
|
@@ -82963,13 +83032,13 @@ function XA2(e, t) {
|
|
|
82963
83032
|
}
|
|
82964
83033
|
return _2(import_lodash.isNil(t) ? "" : String(t));
|
|
82965
83034
|
}
|
|
82966
|
-
function
|
|
83035
|
+
function LF(e) {
|
|
82967
83036
|
return e == null ? "Unknown" : e?.__type__?.startsWith("Heredoc") ? `Heredoc['${e.name}']` : e?.__type__ === "Dataset" ? "Dataset" : e?.__type__ === "FieldRef" ? "VizFieldRef" : typeof e == "boolean" ? "Boolean" : typeof e == "number" ? "Number" : typeof e == "string" ? "String" : "Unknown";
|
|
82968
83037
|
}
|
|
82969
83038
|
function e_(e) {
|
|
82970
83039
|
if (e == null)
|
|
82971
83040
|
throw new Error("Unexpected undefined/null template argument");
|
|
82972
|
-
const t =
|
|
83041
|
+
const t = LF(e), n = BA2(t, e);
|
|
82973
83042
|
return XA2(t, n);
|
|
82974
83043
|
}
|
|
82975
83044
|
function Br3(e, t) {
|
|
@@ -83158,7 +83227,7 @@ function s_(e) {
|
|
|
83158
83227
|
`)}
|
|
83159
83228
|
}`;
|
|
83160
83229
|
}
|
|
83161
|
-
function
|
|
83230
|
+
function MF(e) {
|
|
83162
83231
|
const t = e.label ? `label: ${_2(e.label)}` : "", n = e.tabs.map((i) => {
|
|
83163
83232
|
const r2 = i.type === "CanvasLayout" ? s_(i) : t_(i);
|
|
83164
83233
|
return `tab ${i.uname}: ${r2}`;
|
|
@@ -83172,7 +83241,7 @@ function NF(e) {
|
|
|
83172
83241
|
function zm2(e, t) {
|
|
83173
83242
|
return `${e}: @html ${rt3(t, { sanitizeHeredocTermination: true, sanitizeTemplateString: true })};;`;
|
|
83174
83243
|
}
|
|
83175
|
-
function
|
|
83244
|
+
function RF(e) {
|
|
83176
83245
|
const t = e.label ? `label: ${_2(e.label)}` : "", n = zm2("content", e.content ?? ""), o2 = typeof e.mobile == "string" ? zm2("mobile", e.mobile) : "";
|
|
83177
83246
|
return ` HTMLLayout {
|
|
83178
83247
|
${[
|
|
@@ -83190,9 +83259,9 @@ function oo2(e) {
|
|
|
83190
83259
|
case "CanvasLayout":
|
|
83191
83260
|
return s_(e);
|
|
83192
83261
|
case "TabLayout":
|
|
83193
|
-
return NF(e);
|
|
83194
|
-
case "HTMLLayout":
|
|
83195
83262
|
return MF(e);
|
|
83263
|
+
case "HTMLLayout":
|
|
83264
|
+
return RF(e);
|
|
83196
83265
|
default:
|
|
83197
83266
|
throw new Error(`Invalid layout: ${e.type}`);
|
|
83198
83267
|
}
|
|
@@ -83205,14 +83274,14 @@ var Vm2 = [
|
|
|
83205
83274
|
"CrossFilterInteraction"
|
|
83206
83275
|
];
|
|
83207
83276
|
var l_ = "$$";
|
|
83208
|
-
var
|
|
83277
|
+
var zF = {
|
|
83209
83278
|
FilterInteraction: "FilterInteraction",
|
|
83210
83279
|
CrossFilterInteraction: "FilterInteraction",
|
|
83211
83280
|
LinkedFilterInteraction: "FilterInteraction",
|
|
83212
83281
|
PopInteraction: "PopInteraction",
|
|
83213
83282
|
DateDrillInteraction: "DateDrillInteraction"
|
|
83214
83283
|
};
|
|
83215
|
-
function
|
|
83284
|
+
function VF(e, t) {
|
|
83216
83285
|
if (import_lodash.isNil(e))
|
|
83217
83286
|
return;
|
|
83218
83287
|
if (typeof e == "string")
|
|
@@ -83222,24 +83291,24 @@ function zF(e, t) {
|
|
|
83222
83291
|
throw new Error(`Referencing to an invalid data model (id: ${e})`);
|
|
83223
83292
|
return n.name;
|
|
83224
83293
|
}
|
|
83225
|
-
function
|
|
83294
|
+
function GF(e, t) {
|
|
83226
83295
|
return e.type === "CrossFilterInteraction" ? {} : {
|
|
83227
83296
|
aggregation: e.type === "FilterInteraction" ? e.aggregation : undefined,
|
|
83228
83297
|
field: gn3({
|
|
83229
83298
|
data_set_id: String(e.field_path.data_set_id),
|
|
83230
|
-
model_id:
|
|
83299
|
+
model_id: VF(e.field_path.model_id, t),
|
|
83231
83300
|
field_name: e.field_path.field_name,
|
|
83232
83301
|
is_metric: e.field_path.is_metric
|
|
83233
83302
|
})
|
|
83234
83303
|
};
|
|
83235
83304
|
}
|
|
83236
|
-
function
|
|
83305
|
+
function jF({ field: e, aggregation: t }) {
|
|
83237
83306
|
return [
|
|
83238
83307
|
e ? `${e.data_set_id}.${e.model_id ?? ""}.${e.field_name}.${e.is_metric ? "metric" : ""}` : "",
|
|
83239
83308
|
t ?? ""
|
|
83240
83309
|
].join(l_);
|
|
83241
83310
|
}
|
|
83242
|
-
function
|
|
83311
|
+
function UF(e, t) {
|
|
83243
83312
|
const n = t.find((o2) => String(o2.id) === e.data_set_id || o2.name === e.data_set_id);
|
|
83244
83313
|
if (n)
|
|
83245
83314
|
return Ot3(e, n);
|
|
@@ -83247,12 +83316,12 @@ function jF(e, t) {
|
|
|
83247
83316
|
throw new Error(`Referencing to an invalid dataset (id: ${e.data_set_id})`);
|
|
83248
83317
|
return `ref(${_2(String(e.model_id))}, ${_2(e.field_name)})`;
|
|
83249
83318
|
}
|
|
83250
|
-
function
|
|
83319
|
+
function KF(e, t, n, { field: o2, aggregation: i }, r2) {
|
|
83251
83320
|
const a = [
|
|
83252
83321
|
`from: ${_2(t)}`,
|
|
83253
83322
|
`to: [${n.map(_2).join(", ")}]`
|
|
83254
83323
|
];
|
|
83255
|
-
return o2 && a.push(`field: ${
|
|
83324
|
+
return o2 && a.push(`field: ${UF(o2, r2)}`), i && a.push(`aggregation: ${_2(i)}`), ` ${e} { ${a.join(" ")} }`;
|
|
83256
83325
|
}
|
|
83257
83326
|
function c_(e) {
|
|
83258
83327
|
return e.type !== "ErrorInteraction";
|
|
@@ -83260,7 +83329,7 @@ function c_(e) {
|
|
|
83260
83329
|
function Zr3(e, t) {
|
|
83261
83330
|
const n = /* @__PURE__ */ new Map;
|
|
83262
83331
|
e.filter((i) => c_(i) && !i.disabled).forEach((i) => {
|
|
83263
|
-
const r2 =
|
|
83332
|
+
const r2 = GF(i, t), a = [i.type, i.from, jF(r2)].join(l_), s2 = n.get(a);
|
|
83264
83333
|
s2 ? s2.targets.push(i.to) : n.set(a, {
|
|
83265
83334
|
type: i.type,
|
|
83266
83335
|
from: i.from,
|
|
@@ -83268,7 +83337,7 @@ function Zr3(e, t) {
|
|
|
83268
83337
|
targets: [i.to]
|
|
83269
83338
|
});
|
|
83270
83339
|
});
|
|
83271
|
-
const o2 = Array.from(n.values()).sort((i, r2) => Vm2.indexOf(i.type) - Vm2.indexOf(r2.type)).map((i) =>
|
|
83340
|
+
const o2 = Array.from(n.values()).sort((i, r2) => Vm2.indexOf(i.type) - Vm2.indexOf(r2.type)).map((i) => KF(zF[i.type], i.from, i.targets, i.props, t));
|
|
83272
83341
|
return o2.length > 0 ? `[
|
|
83273
83342
|
${o2.join(`,
|
|
83274
83343
|
`)}
|
|
@@ -83409,14 +83478,14 @@ var Mi2 = Ce3;
|
|
|
83409
83478
|
var aa2 = Ce3;
|
|
83410
83479
|
var jo2 = Ce3;
|
|
83411
83480
|
var Uo2 = Ce3;
|
|
83412
|
-
var
|
|
83481
|
+
var W$ = {
|
|
83413
83482
|
label: Ni2,
|
|
83414
83483
|
description: ra3,
|
|
83415
83484
|
theme: Vo2,
|
|
83416
83485
|
settings: Go2,
|
|
83417
83486
|
filter: Ae2
|
|
83418
83487
|
};
|
|
83419
|
-
var
|
|
83488
|
+
var q$ = {
|
|
83420
83489
|
label: qe3({ amlPropName: "label", amlPropType: "text" }),
|
|
83421
83490
|
description: qe3({ amlPropName: "description", amlPropType: "text" }),
|
|
83422
83491
|
theme({ diff: e, astPath: t }) {
|
|
@@ -83450,21 +83519,21 @@ var W$ = {
|
|
|
83450
83519
|
}));
|
|
83451
83520
|
}
|
|
83452
83521
|
};
|
|
83453
|
-
var
|
|
83522
|
+
var Y$ = {
|
|
83454
83523
|
label: Mi2,
|
|
83455
83524
|
description: aa2,
|
|
83456
83525
|
theme: jo2,
|
|
83457
83526
|
settings: Uo2,
|
|
83458
83527
|
filter: Ce3
|
|
83459
83528
|
};
|
|
83460
|
-
var
|
|
83529
|
+
var J$ = {
|
|
83461
83530
|
label: Ni2,
|
|
83462
83531
|
description: ra3,
|
|
83463
83532
|
theme: Vo2,
|
|
83464
83533
|
settings: Go2,
|
|
83465
83534
|
viz: Ae2
|
|
83466
83535
|
};
|
|
83467
|
-
var
|
|
83536
|
+
var Z$ = {
|
|
83468
83537
|
label: qe3({ amlPropName: "label", amlPropType: "text" }),
|
|
83469
83538
|
description: qe3({ amlPropName: "description", amlPropType: "text" }),
|
|
83470
83539
|
theme({ diff: e, astPath: t }) {
|
|
@@ -83493,19 +83562,19 @@ var J$ = {
|
|
|
83493
83562
|
})];
|
|
83494
83563
|
}
|
|
83495
83564
|
};
|
|
83496
|
-
var
|
|
83565
|
+
var X$ = {
|
|
83497
83566
|
label: Mi2,
|
|
83498
83567
|
description: aa2,
|
|
83499
83568
|
theme: jo2,
|
|
83500
83569
|
settings: Uo2,
|
|
83501
83570
|
viz: Ce3
|
|
83502
83571
|
};
|
|
83503
|
-
var
|
|
83572
|
+
var eL = {
|
|
83504
83573
|
theme: Vo2,
|
|
83505
83574
|
settings: Go2,
|
|
83506
83575
|
content: Ae2
|
|
83507
83576
|
};
|
|
83508
|
-
var
|
|
83577
|
+
var tL = {
|
|
83509
83578
|
theme({ diff: e, astPath: t }) {
|
|
83510
83579
|
const n = Nn3(e.newValue), o2 = n ? j4("theme", n) : undefined;
|
|
83511
83580
|
return [Te3({
|
|
@@ -83530,19 +83599,19 @@ var eL = {
|
|
|
83530
83599
|
})};;`
|
|
83531
83600
|
})
|
|
83532
83601
|
};
|
|
83533
|
-
var
|
|
83602
|
+
var nL = {
|
|
83534
83603
|
theme: jo2,
|
|
83535
83604
|
settings: Uo2,
|
|
83536
83605
|
content: Ce3
|
|
83537
83606
|
};
|
|
83538
|
-
var
|
|
83607
|
+
var oL = {
|
|
83539
83608
|
label: Ni2,
|
|
83540
83609
|
description: ra3,
|
|
83541
83610
|
theme: Vo2,
|
|
83542
83611
|
settings: Go2,
|
|
83543
83612
|
pop: Ae2
|
|
83544
83613
|
};
|
|
83545
|
-
var
|
|
83614
|
+
var iL = {
|
|
83546
83615
|
label: qe3({ amlPropName: "label", amlPropType: "text" }),
|
|
83547
83616
|
description: qe3({ amlPropName: "description", amlPropType: "text" }),
|
|
83548
83617
|
theme({ diff: e, astPath: t }) {
|
|
@@ -83569,21 +83638,21 @@ var oL = {
|
|
|
83569
83638
|
})];
|
|
83570
83639
|
}
|
|
83571
83640
|
};
|
|
83572
|
-
var
|
|
83641
|
+
var rL = {
|
|
83573
83642
|
label: Mi2,
|
|
83574
83643
|
description: aa2,
|
|
83575
83644
|
theme: jo2,
|
|
83576
83645
|
settings: Uo2,
|
|
83577
83646
|
pop: Ce3
|
|
83578
83647
|
};
|
|
83579
|
-
var
|
|
83648
|
+
var aL = {
|
|
83580
83649
|
label: Ni2,
|
|
83581
83650
|
description: ra3,
|
|
83582
83651
|
theme: Vo2,
|
|
83583
83652
|
settings: Go2,
|
|
83584
83653
|
date_drill: Ae2
|
|
83585
83654
|
};
|
|
83586
|
-
var
|
|
83655
|
+
var sL = {
|
|
83587
83656
|
label: qe3({ amlPropName: "label", amlPropType: "text" }),
|
|
83588
83657
|
description: qe3({ amlPropName: "description", amlPropType: "text" }),
|
|
83589
83658
|
theme({ diff: e, astPath: t }) {
|
|
@@ -83610,28 +83679,28 @@ var aL = {
|
|
|
83610
83679
|
})];
|
|
83611
83680
|
}
|
|
83612
83681
|
};
|
|
83613
|
-
var
|
|
83682
|
+
var lL = {
|
|
83614
83683
|
label: Mi2,
|
|
83615
83684
|
description: aa2,
|
|
83616
83685
|
theme: jo2,
|
|
83617
83686
|
settings: Uo2,
|
|
83618
83687
|
date_drill: Ce3
|
|
83619
83688
|
};
|
|
83620
|
-
var
|
|
83689
|
+
var cL = {
|
|
83621
83690
|
sanitizeHeredocTermination: true,
|
|
83622
83691
|
sanitizeTemplateString: true
|
|
83623
83692
|
};
|
|
83624
|
-
var
|
|
83693
|
+
var uL = {
|
|
83625
83694
|
label: Ni2,
|
|
83626
83695
|
prompt: Ae2,
|
|
83627
83696
|
settings: Go2,
|
|
83628
83697
|
theme: Vo2
|
|
83629
83698
|
};
|
|
83630
|
-
var
|
|
83699
|
+
var dL = {
|
|
83631
83700
|
label: qe3({ amlPropName: "label", amlPropType: "text" }),
|
|
83632
83701
|
prompt: qe3({
|
|
83633
83702
|
amlPropName: "prompt",
|
|
83634
|
-
propDiffToAml: ({ diff: e }) => `@md ${rt3(e.newValue || "",
|
|
83703
|
+
propDiffToAml: ({ diff: e }) => `@md ${rt3(e.newValue || "", cL)};;`
|
|
83635
83704
|
}),
|
|
83636
83705
|
settings({ diff: e, astPath: t }) {
|
|
83637
83706
|
const n = e.newValue, o2 = Mt3(n);
|
|
@@ -83650,7 +83719,7 @@ var uL = {
|
|
|
83650
83719
|
})];
|
|
83651
83720
|
}
|
|
83652
83721
|
};
|
|
83653
|
-
var
|
|
83722
|
+
var pL = {
|
|
83654
83723
|
label: Mi2,
|
|
83655
83724
|
prompt: Ce3,
|
|
83656
83725
|
settings: Uo2,
|
|
@@ -83658,37 +83727,37 @@ var dL = {
|
|
|
83658
83727
|
};
|
|
83659
83728
|
var su2 = {
|
|
83660
83729
|
FilterBlock: {
|
|
83661
|
-
comparator:
|
|
83662
|
-
generator:
|
|
83663
|
-
applicator:
|
|
83730
|
+
comparator: W$,
|
|
83731
|
+
generator: q$,
|
|
83732
|
+
applicator: Y$
|
|
83664
83733
|
},
|
|
83665
83734
|
VizBlock: {
|
|
83666
|
-
comparator:
|
|
83667
|
-
generator:
|
|
83668
|
-
applicator:
|
|
83735
|
+
comparator: J$,
|
|
83736
|
+
generator: Z$,
|
|
83737
|
+
applicator: X$
|
|
83669
83738
|
},
|
|
83670
83739
|
TextBlock: {
|
|
83671
|
-
comparator:
|
|
83672
|
-
generator:
|
|
83673
|
-
applicator:
|
|
83740
|
+
comparator: eL,
|
|
83741
|
+
generator: tL,
|
|
83742
|
+
applicator: nL
|
|
83674
83743
|
},
|
|
83675
83744
|
PopBlock: {
|
|
83676
|
-
comparator:
|
|
83677
|
-
generator:
|
|
83678
|
-
applicator:
|
|
83745
|
+
comparator: oL,
|
|
83746
|
+
generator: iL,
|
|
83747
|
+
applicator: rL
|
|
83679
83748
|
},
|
|
83680
83749
|
DateDrillBlock: {
|
|
83681
|
-
comparator:
|
|
83682
|
-
generator:
|
|
83683
|
-
applicator:
|
|
83750
|
+
comparator: aL,
|
|
83751
|
+
generator: sL,
|
|
83752
|
+
applicator: lL
|
|
83684
83753
|
},
|
|
83685
83754
|
AiBlock: {
|
|
83686
|
-
comparator:
|
|
83687
|
-
generator:
|
|
83688
|
-
applicator:
|
|
83755
|
+
comparator: uL,
|
|
83756
|
+
generator: dL,
|
|
83757
|
+
applicator: pL
|
|
83689
83758
|
}
|
|
83690
83759
|
};
|
|
83691
|
-
var
|
|
83760
|
+
var hL = (e) => {
|
|
83692
83761
|
const { diff: t, astPath: n, context: o2 } = e;
|
|
83693
83762
|
return ro2({
|
|
83694
83763
|
diff: t,
|
|
@@ -83697,7 +83766,7 @@ var mL = (e) => {
|
|
|
83697
83766
|
generator: su2[t.newValue.type].generator
|
|
83698
83767
|
});
|
|
83699
83768
|
};
|
|
83700
|
-
var
|
|
83769
|
+
var AL = ({ diff: e, context: t, astPath: n }) => ia2({
|
|
83701
83770
|
diff: e,
|
|
83702
83771
|
astPath: [...n, "block"],
|
|
83703
83772
|
context: t,
|
|
@@ -83715,14 +83784,14 @@ var gL = ({ diff: e, context: t, astPath: n }) => ia2({
|
|
|
83715
83784
|
text: a ?? ""
|
|
83716
83785
|
})];
|
|
83717
83786
|
}
|
|
83718
|
-
return
|
|
83787
|
+
return hL({
|
|
83719
83788
|
diff: o2,
|
|
83720
83789
|
astPath: i,
|
|
83721
83790
|
context: { ...t, blockDiff: o2 }
|
|
83722
83791
|
});
|
|
83723
83792
|
}
|
|
83724
83793
|
});
|
|
83725
|
-
var
|
|
83794
|
+
var bL = ({ diff: e, astPath: t, context: n }) => {
|
|
83726
83795
|
const o2 = Object.values(e.newValue), i = au2(o2, n.datasets);
|
|
83727
83796
|
return [
|
|
83728
83797
|
Te3({
|
|
@@ -83735,7 +83804,7 @@ var yL = ({ diff: e, astPath: t, context: n }) => {
|
|
|
83735
83804
|
})
|
|
83736
83805
|
];
|
|
83737
83806
|
};
|
|
83738
|
-
var
|
|
83807
|
+
var GL = (e) => ("fieldsDiff" in e.diff) ? ro2({
|
|
83739
83808
|
diff: e.diff,
|
|
83740
83809
|
context: e.context,
|
|
83741
83810
|
astPath: [...e.astPath, "mobile"],
|
|
@@ -83756,7 +83825,7 @@ var VL = (e) => ("fieldsDiff" in e.diff) ? ro2({
|
|
|
83756
83825
|
path: [...e.astPath, "mobile"],
|
|
83757
83826
|
text: n_(e.diff.newValue)
|
|
83758
83827
|
})];
|
|
83759
|
-
var
|
|
83828
|
+
var jL = {
|
|
83760
83829
|
label: qe3({ amlPropName: "label", amlPropType: "text" }),
|
|
83761
83830
|
width: qe3({
|
|
83762
83831
|
amlPropName: "width",
|
|
@@ -83799,7 +83868,7 @@ var GL = {
|
|
|
83799
83868
|
}),
|
|
83800
83869
|
auto_expand_vertically: qe3({ amlPropName: "auto_expand_vertically", amlPropType: "boolean" }),
|
|
83801
83870
|
auto_expand_horizontally: qe3({ amlPropName: "auto_expand_horizontally", amlPropType: "boolean" }),
|
|
83802
|
-
mobile:
|
|
83871
|
+
mobile: GL,
|
|
83803
83872
|
default_zoom: qe3({
|
|
83804
83873
|
amlPropName: "default_zoom",
|
|
83805
83874
|
propDiffToAml: ({ diff: e }) => o_(e.newValue),
|
|
@@ -83810,9 +83879,9 @@ var y_ = ({ diff: e, astPath: t, context: n }) => ro2({
|
|
|
83810
83879
|
diff: e,
|
|
83811
83880
|
astPath: t,
|
|
83812
83881
|
context: n,
|
|
83813
|
-
generator:
|
|
83882
|
+
generator: jL
|
|
83814
83883
|
});
|
|
83815
|
-
var
|
|
83884
|
+
var UL = ({ diff: e, astPath: t, context: n }) => ("fieldsDiff" in e) ? y_({
|
|
83816
83885
|
diff: e,
|
|
83817
83886
|
astPath: t,
|
|
83818
83887
|
context: n
|
|
@@ -83820,7 +83889,7 @@ var jL = ({ diff: e, astPath: t, context: n }) => ("fieldsDiff" in e) ? y_({
|
|
|
83820
83889
|
path: t,
|
|
83821
83890
|
text: `tab ${e.newValue.uname}: ${oo2(e.newValue)}`
|
|
83822
83891
|
})];
|
|
83823
|
-
var
|
|
83892
|
+
var KL = {
|
|
83824
83893
|
label: qe3({
|
|
83825
83894
|
amlPropName: "label",
|
|
83826
83895
|
amlPropType: "text",
|
|
@@ -83832,12 +83901,12 @@ var UL = {
|
|
|
83832
83901
|
astPath: [...t, "tab"],
|
|
83833
83902
|
context: n,
|
|
83834
83903
|
newItemToAmlCode: (o2, i) => `tab ${i}: ${oo2(o2)}`,
|
|
83835
|
-
generateEventsForItemDiff:
|
|
83904
|
+
generateEventsForItemDiff: UL
|
|
83836
83905
|
});
|
|
83837
83906
|
}
|
|
83838
83907
|
};
|
|
83839
|
-
var
|
|
83840
|
-
var
|
|
83908
|
+
var HL = (e) => ro2({ ...e, generator: KL });
|
|
83909
|
+
var QL = ({ diff: e, astPath: t, context: n }) => ("fieldsDiff" in e) ? e.newValue.type === "TabLayout" ? HL({
|
|
83841
83910
|
diff: e,
|
|
83842
83911
|
astPath: [...t, "view"],
|
|
83843
83912
|
context: n
|
|
@@ -83849,7 +83918,7 @@ var HL = ({ diff: e, astPath: t, context: n }) => ("fieldsDiff" in e) ? e.newVal
|
|
|
83849
83918
|
path: [...t, "view"],
|
|
83850
83919
|
text: `view: ${oo2(e.newValue)}`
|
|
83851
83920
|
})];
|
|
83852
|
-
var
|
|
83921
|
+
var qL = {
|
|
83853
83922
|
title: qe3({
|
|
83854
83923
|
amlPropName: "title",
|
|
83855
83924
|
amlPropType: "text"
|
|
@@ -83858,9 +83927,9 @@ var WL = {
|
|
|
83858
83927
|
amlPropName: "description",
|
|
83859
83928
|
propDiffToAml: ({ diff: e }) => qt3(e.newValue)
|
|
83860
83929
|
}),
|
|
83861
|
-
blocks:
|
|
83862
|
-
interactions:
|
|
83863
|
-
views:
|
|
83930
|
+
blocks: AL,
|
|
83931
|
+
interactions: bL,
|
|
83932
|
+
views: QL,
|
|
83864
83933
|
settings: ({ diff: e, astPath: t }) => {
|
|
83865
83934
|
const n = $i3(e.newValue);
|
|
83866
83935
|
return [Te3({
|
|
@@ -83878,7 +83947,7 @@ var WL = {
|
|
|
83878
83947
|
})];
|
|
83879
83948
|
}
|
|
83880
83949
|
};
|
|
83881
|
-
function
|
|
83950
|
+
function hN(e, t, n) {
|
|
83882
83951
|
const o2 = e.symbol(t.id);
|
|
83883
83952
|
if (o2.isErr())
|
|
83884
83953
|
return n;
|
|
@@ -83905,11 +83974,11 @@ function mN(e, t, n) {
|
|
|
83905
83974
|
});
|
|
83906
83975
|
}), s2;
|
|
83907
83976
|
}
|
|
83908
|
-
var
|
|
83977
|
+
var fN = {
|
|
83909
83978
|
name: "UniqueDynamicProp",
|
|
83910
83979
|
hooks: {
|
|
83911
83980
|
typecheck: {
|
|
83912
|
-
handler:
|
|
83981
|
+
handler: hN,
|
|
83913
83982
|
strategy: sr.EXTEND_BUILTIN
|
|
83914
83983
|
}
|
|
83915
83984
|
}
|
|
@@ -83927,7 +83996,7 @@ var vi2 = (e, t) => {
|
|
|
83927
83996
|
const i = e.symbolReference(o2.id);
|
|
83928
83997
|
return i.isOk() && (o2 = i.unwrap()), o2 instanceof _ && o2.declarationId ? e.nodeById(o2.declarationId) : undefined;
|
|
83929
83998
|
};
|
|
83930
|
-
var
|
|
83999
|
+
var gN = (e, t) => {
|
|
83931
84000
|
const n = t.body.exprList.map((o2) => {
|
|
83932
84001
|
const i = vi2(e, o2);
|
|
83933
84002
|
if (i && i instanceof B && i.body instanceof z) {
|
|
@@ -83949,7 +84018,7 @@ var fN = (e, t) => {
|
|
|
83949
84018
|
});
|
|
83950
84019
|
return import_lodash.compact(n);
|
|
83951
84020
|
};
|
|
83952
|
-
var
|
|
84021
|
+
var AN = (e, t) => {
|
|
83953
84022
|
const n = t.map((o2) => {
|
|
83954
84023
|
if (!o2.body || !(o2.body instanceof z))
|
|
83955
84024
|
return;
|
|
@@ -83967,11 +84036,11 @@ var gN = (e, t) => {
|
|
|
83967
84036
|
}) ?? [];
|
|
83968
84037
|
return import_lodash.compact(n);
|
|
83969
84038
|
};
|
|
83970
|
-
var
|
|
83971
|
-
...
|
|
83972
|
-
...
|
|
84039
|
+
var _N = (e, t, n) => [
|
|
84040
|
+
...gN(e, t),
|
|
84041
|
+
...AN(e, n)
|
|
83973
84042
|
];
|
|
83974
|
-
var
|
|
84043
|
+
var yN = (e, t) => {
|
|
83975
84044
|
let n;
|
|
83976
84045
|
if (t instanceof $)
|
|
83977
84046
|
n = t;
|
|
@@ -83987,7 +84056,7 @@ var _N = (e, t) => {
|
|
|
83987
84056
|
let i;
|
|
83988
84057
|
return o2.body instanceof $ ? i = o2.body : i = vi2(e, o2.body), i;
|
|
83989
84058
|
};
|
|
83990
|
-
var
|
|
84059
|
+
var bN = (e, t, n) => {
|
|
83991
84060
|
const o2 = e.split(".");
|
|
83992
84061
|
if (o2.length === 1) {
|
|
83993
84062
|
const s2 = qt(t, e, n, t);
|
|
@@ -84007,17 +84076,17 @@ var yN = (e, t, n) => {
|
|
|
84007
84076
|
if (a instanceof nt)
|
|
84008
84077
|
return a.moduleId.createIdForObjectInScope("").replaceAll("::", ".") + o2.slice(1).join(".");
|
|
84009
84078
|
};
|
|
84010
|
-
var
|
|
84079
|
+
var wN = (e, t, n) => {
|
|
84011
84080
|
const o2 = Gn3(e, "model"), i = Gn3(e, "field");
|
|
84012
84081
|
let r2, a = "", s2;
|
|
84013
|
-
if (o2?.body instanceof Fe && (r2 = o2.body.text().slice(1, -1), a =
|
|
84082
|
+
if (o2?.body instanceof Fe && (r2 = o2.body.text().slice(1, -1), a = bN(r2, t, n) || ""), i?.body instanceof Fe && (s2 = i.body.text().slice(1, -1)), r2 && s2)
|
|
84014
84083
|
return {
|
|
84015
84084
|
modelName: r2,
|
|
84016
84085
|
modelFqn: a,
|
|
84017
84086
|
fieldName: s2
|
|
84018
84087
|
};
|
|
84019
84088
|
};
|
|
84020
|
-
var
|
|
84089
|
+
var vN = (e, t) => !!t.find(({ modelFqn: n, fieldNames: o2 }) => {
|
|
84021
84090
|
const i = o2.includes(e.fieldName) || o2.includes("*");
|
|
84022
84091
|
return n === e.modelFqn && i;
|
|
84023
84092
|
});
|
|
@@ -84028,10 +84097,10 @@ var th2 = ({
|
|
|
84028
84097
|
datasetNode: o2,
|
|
84029
84098
|
db: i
|
|
84030
84099
|
}) => {
|
|
84031
|
-
const r2 =
|
|
84032
|
-
return r2 ?
|
|
84100
|
+
const r2 = wN(e.body, o2, i);
|
|
84101
|
+
return r2 ? vN(r2, t) ? true : w.createForNode(e.id, E.CustomTypeWarning, Dn(n, r2.modelName, r2.fieldName)) : true;
|
|
84033
84102
|
};
|
|
84034
|
-
var
|
|
84103
|
+
var kN = (e, t, n) => {
|
|
84035
84104
|
if (!(t instanceof B || t instanceof $))
|
|
84036
84105
|
return n;
|
|
84037
84106
|
const o2 = e.symbol(t.id);
|
|
@@ -84049,9 +84118,9 @@ var vN = (e, t, n) => {
|
|
|
84049
84118
|
const c3 = Gn3(t, "models");
|
|
84050
84119
|
if (!c3)
|
|
84051
84120
|
return n;
|
|
84052
|
-
const u = b_(t, "dimension") ?? [], d2 =
|
|
84121
|
+
const u = b_(t, "dimension") ?? [], d2 = _N(e, c3, u), m3 = n === m2.WrongKind ? [] : [...n];
|
|
84053
84122
|
return l2.body.exprList.forEach((h2) => {
|
|
84054
|
-
const f3 =
|
|
84123
|
+
const f3 = yN(e, h2);
|
|
84055
84124
|
if (!f3)
|
|
84056
84125
|
return;
|
|
84057
84126
|
const g3 = Gn3(f3, "from");
|
|
@@ -84078,11 +84147,11 @@ var vN = (e, t, n) => {
|
|
|
84078
84147
|
w2 instanceof we && m3.push(w2);
|
|
84079
84148
|
}), m3;
|
|
84080
84149
|
};
|
|
84081
|
-
var
|
|
84150
|
+
var xN = {
|
|
84082
84151
|
name: "RelationshipCheck",
|
|
84083
84152
|
hooks: {
|
|
84084
84153
|
typecheck: {
|
|
84085
|
-
handler:
|
|
84154
|
+
handler: kN,
|
|
84086
84155
|
strategy: sr.EXTEND_BUILTIN
|
|
84087
84156
|
}
|
|
84088
84157
|
}
|
|
@@ -84112,7 +84181,7 @@ function w_(e, t, n, o2) {
|
|
|
84112
84181
|
c3 && s2.members.set("__refFqn__", c3);
|
|
84113
84182
|
}
|
|
84114
84183
|
}
|
|
84115
|
-
function
|
|
84184
|
+
function CN(e, t, n, o2) {
|
|
84116
84185
|
const i = o2.members.get("group"), r2 = i?.members.get("length")?.data || 0;
|
|
84117
84186
|
for (let a = 0;a < r2; a += 1) {
|
|
84118
84187
|
const s2 = i?.data?.[a];
|
|
@@ -84121,17 +84190,17 @@ function xN(e, t, n, o2) {
|
|
|
84121
84190
|
w_(e, t, n, s2);
|
|
84122
84191
|
}
|
|
84123
84192
|
}
|
|
84124
|
-
function
|
|
84193
|
+
function SN(e, t, n, o2) {
|
|
84125
84194
|
const i = o2.members.get("view");
|
|
84126
84195
|
if (i) {
|
|
84127
84196
|
const r2 = i.members.get("length")?.data || 0;
|
|
84128
84197
|
for (let a = 0;a < r2; ++a) {
|
|
84129
84198
|
const s2 = i.data?.[a];
|
|
84130
|
-
w_(e, t, n, s2),
|
|
84199
|
+
w_(e, t, n, s2), CN(e, t, n, s2);
|
|
84131
84200
|
}
|
|
84132
84201
|
}
|
|
84133
84202
|
}
|
|
84134
|
-
function
|
|
84203
|
+
function EN(e, t, n, o2) {
|
|
84135
84204
|
const i = o2.members.get("from")?.members.get("model")?.data, r2 = o2.members.get("to")?.members.get("model")?.data;
|
|
84136
84205
|
if (typeof i != "string" || typeof r2 != "string")
|
|
84137
84206
|
return;
|
|
@@ -84140,7 +84209,7 @@ function SN(e, t, n, o2) {
|
|
|
84140
84209
|
const s2 = Hl2(e, t, n, r2);
|
|
84141
84210
|
s2 && o2.members.get("to")?.members.set("__refFqn__", s2);
|
|
84142
84211
|
}
|
|
84143
|
-
function
|
|
84212
|
+
function TN(e, t, n, o2) {
|
|
84144
84213
|
const i = o2.members.get("relationships");
|
|
84145
84214
|
if (i) {
|
|
84146
84215
|
const r2 = i.members.get("length")?.data || 0;
|
|
@@ -84148,7 +84217,7 @@ function EN(e, t, n, o2) {
|
|
|
84148
84217
|
const s2 = i.data?.[a];
|
|
84149
84218
|
if (s2.type?.kind === x.ProductType && s2.type.name === "RelationshipConfig") {
|
|
84150
84219
|
const l2 = s2.members.get("rel");
|
|
84151
|
-
l2 &&
|
|
84220
|
+
l2 && EN(e, t, n, l2);
|
|
84152
84221
|
}
|
|
84153
84222
|
}
|
|
84154
84223
|
}
|
|
@@ -84157,16 +84226,16 @@ var Ql2 = (e, t, n) => {
|
|
|
84157
84226
|
let i = e.moduleOfFile(l.create(t.id.filepath))?.id?.key ?? "";
|
|
84158
84227
|
return i = i === "::" ? "" : `${i}::`, `${i}${n}`;
|
|
84159
84228
|
};
|
|
84160
|
-
var
|
|
84229
|
+
var BN = (e) => e.replace(/\./g, "::");
|
|
84161
84230
|
var sa2 = (e, t, n) => new re(n, he.Warning, E.CustomTypeWarning.code, l.create(e.id.filepath), t.span().start, t.span().end);
|
|
84162
|
-
var
|
|
84231
|
+
var IN = (e, t, n, o2) => new re(o2, he.Warning, E.CustomTypeWarning.code, l.create(e.id.filepath), t, n);
|
|
84163
84232
|
var uu2 = (e, t) => {
|
|
84164
84233
|
if (!(t instanceof B) || !(t.body instanceof z))
|
|
84165
84234
|
return false;
|
|
84166
84235
|
const n = e.symbol(t.id).chain((i) => e.specificType(i.id));
|
|
84167
84236
|
return !(n.isErr() || n.unwrap()?.name !== "Dataset");
|
|
84168
84237
|
};
|
|
84169
|
-
var
|
|
84238
|
+
var PN = (e, t) => {
|
|
84170
84239
|
if (!(t instanceof B) || !(t.body instanceof z))
|
|
84171
84240
|
return false;
|
|
84172
84241
|
const n = e.symbol(t.id).chain((i) => e.specificType(i.id));
|
|
@@ -84185,19 +84254,19 @@ var _n3 = (e, t) => e.body instanceof z ? e.body.body.filter((o2) => o2 instance
|
|
|
84185
84254
|
node: o2
|
|
84186
84255
|
};
|
|
84187
84256
|
}) : [];
|
|
84188
|
-
var
|
|
84257
|
+
var DN = (e, t) => {
|
|
84189
84258
|
const n = e.symbol(t.id);
|
|
84190
84259
|
if (n.isErr())
|
|
84191
84260
|
return;
|
|
84192
84261
|
const o2 = e.symbolReference(n.unwrap().id);
|
|
84193
84262
|
return o2.isOk() ? o2.unwrap().id.key : n.unwrap().id.key;
|
|
84194
84263
|
};
|
|
84195
|
-
var
|
|
84264
|
+
var FN = (e, t) => {
|
|
84196
84265
|
if (!uu2(e, t))
|
|
84197
84266
|
return [];
|
|
84198
84267
|
const n = [], o2 = /* @__PURE__ */ new Set;
|
|
84199
84268
|
return du2(t).forEach((i) => {
|
|
84200
|
-
const r2 =
|
|
84269
|
+
const r2 = DN(e, i);
|
|
84201
84270
|
if (r2)
|
|
84202
84271
|
if (o2.has(r2)) {
|
|
84203
84272
|
const a = sa2(t, i, `Duplicate model "${i.text()}".`);
|
|
@@ -84206,7 +84275,7 @@ var DN = (e, t) => {
|
|
|
84206
84275
|
o2.add(r2);
|
|
84207
84276
|
}), n;
|
|
84208
84277
|
};
|
|
84209
|
-
function
|
|
84278
|
+
function $N(e, t, n, o2) {
|
|
84210
84279
|
if (!no(e))
|
|
84211
84280
|
return o2;
|
|
84212
84281
|
if (!(e.elementName instanceof I))
|
|
@@ -84217,26 +84286,26 @@ function FN(e, t, n, o2) {
|
|
|
84217
84286
|
if (!i || i.kind !== x.ProductType || i.name !== "Dataset")
|
|
84218
84287
|
return o2;
|
|
84219
84288
|
const { returnVal: r2 } = o2;
|
|
84220
|
-
return
|
|
84289
|
+
return SN(e, t, n, r2), TN(e, t, n, r2), o2;
|
|
84221
84290
|
}
|
|
84222
|
-
var
|
|
84291
|
+
var LN = (e, t, n) => {
|
|
84223
84292
|
const o2 = n === m2.WrongKind ? [] : [...n];
|
|
84224
|
-
return o2.push(...
|
|
84293
|
+
return o2.push(...FN(e, t)), o2;
|
|
84225
84294
|
};
|
|
84226
|
-
var
|
|
84295
|
+
var NN = {
|
|
84227
84296
|
name: "Dataset",
|
|
84228
84297
|
hooks: {
|
|
84229
84298
|
evaluate: {
|
|
84230
|
-
handler:
|
|
84299
|
+
handler: $N,
|
|
84231
84300
|
strategy: sr.EXTEND_BUILTIN
|
|
84232
84301
|
},
|
|
84233
84302
|
typecheck: {
|
|
84234
|
-
handler:
|
|
84303
|
+
handler: LN,
|
|
84235
84304
|
strategy: sr.EXTEND_BUILTIN
|
|
84236
84305
|
}
|
|
84237
84306
|
}
|
|
84238
84307
|
};
|
|
84239
|
-
var
|
|
84308
|
+
var MN = (e, t) => {
|
|
84240
84309
|
if (!uu2(e, t))
|
|
84241
84310
|
return [];
|
|
84242
84311
|
const n = [], o2 = du2(t).map((a) => {
|
|
@@ -84251,16 +84320,16 @@ var NN = (e, t) => {
|
|
|
84251
84320
|
n.push(l2);
|
|
84252
84321
|
}), n;
|
|
84253
84322
|
};
|
|
84254
|
-
var
|
|
84323
|
+
var RN = (e) => _n3(e, "dimension").map((o2) => {
|
|
84255
84324
|
const i = _n3(o2.node, "model")[0];
|
|
84256
84325
|
return {
|
|
84257
84326
|
name: o2.name,
|
|
84258
|
-
modelName: i?.name ?
|
|
84327
|
+
modelName: i?.name ? BN(i.name) : "",
|
|
84259
84328
|
nodeSpan: o2.node.span(),
|
|
84260
84329
|
node: o2.node
|
|
84261
84330
|
};
|
|
84262
84331
|
});
|
|
84263
|
-
var
|
|
84332
|
+
var ON = (e, t) => {
|
|
84264
84333
|
const n = (r2, a) => `${r2}.${a}`, o2 = [], i = /* @__PURE__ */ new Set;
|
|
84265
84334
|
return t.forEach((r2) => {
|
|
84266
84335
|
const a = n(r2.modelName, r2.name);
|
|
@@ -84271,7 +84340,7 @@ var RN = (e, t) => {
|
|
|
84271
84340
|
i.add(a);
|
|
84272
84341
|
}), o2;
|
|
84273
84342
|
};
|
|
84274
|
-
var
|
|
84343
|
+
var zN = (e, t, n) => {
|
|
84275
84344
|
const o2 = [], r2 = du2(t).map((s2) => e.symbol(s2.id)).filter((s2) => s2.isOk()).map((s2) => s2.unwrap()).filter((s2) => s2 instanceof _ && !!s2.declarationId).map((s2) => e.nodeById(s2.declarationId)).filter((s2) => s2 instanceof B), a = {};
|
|
84276
84345
|
return r2.forEach((s2) => {
|
|
84277
84346
|
const l2 = _n3(s2, "dimension").map((d2) => d2.name), c3 = _n3(s2, "measure").map((d2) => d2.name), u = Ql2(e, s2, s2.elementName.text());
|
|
@@ -84283,32 +84352,32 @@ var ON = (e, t, n) => {
|
|
|
84283
84352
|
o2.push(l2);
|
|
84284
84353
|
}), o2;
|
|
84285
84354
|
};
|
|
84286
|
-
var
|
|
84355
|
+
var VN = (e, t) => {
|
|
84287
84356
|
if (!uu2(e, t))
|
|
84288
84357
|
return [];
|
|
84289
|
-
const n = [], o2 =
|
|
84290
|
-
return n.push(...
|
|
84358
|
+
const n = [], o2 = RN(t);
|
|
84359
|
+
return n.push(...ON(t, o2)), n.push(...zN(e, t, o2)), n;
|
|
84291
84360
|
};
|
|
84292
|
-
var
|
|
84361
|
+
var GN = (e, t, n) => {
|
|
84293
84362
|
const o2 = n === m2.WrongKind ? [] : [...n];
|
|
84294
|
-
return o2.push(...
|
|
84363
|
+
return o2.push(...MN(e, t)), o2.push(...VN(e, t)), o2;
|
|
84295
84364
|
};
|
|
84296
|
-
var
|
|
84365
|
+
var jN = {
|
|
84297
84366
|
name: "AqlValidation",
|
|
84298
84367
|
hooks: {
|
|
84299
84368
|
typecheck: {
|
|
84300
|
-
handler:
|
|
84369
|
+
handler: GN,
|
|
84301
84370
|
strategy: sr.EXTEND_BUILTIN
|
|
84302
84371
|
}
|
|
84303
84372
|
}
|
|
84304
84373
|
};
|
|
84305
|
-
var
|
|
84374
|
+
var UN = (e) => {
|
|
84306
84375
|
const t = _n3(e, "template")[0];
|
|
84307
84376
|
if (t && t.node.body instanceof He)
|
|
84308
84377
|
return t.node.body;
|
|
84309
84378
|
};
|
|
84310
|
-
var
|
|
84311
|
-
const t =
|
|
84379
|
+
var KN = (e) => {
|
|
84380
|
+
const t = UN(e);
|
|
84312
84381
|
if (!t)
|
|
84313
84382
|
return [];
|
|
84314
84383
|
const n = t.content.stringText(), o2 = ta2(n);
|
|
@@ -84320,9 +84389,9 @@ var UN = (e) => {
|
|
|
84320
84389
|
];
|
|
84321
84390
|
};
|
|
84322
84391
|
var hl2 = /@\{([a-zA-Z0-9._]+)\}/g;
|
|
84323
|
-
var
|
|
84324
|
-
var
|
|
84325
|
-
var
|
|
84392
|
+
var HN = /* @__PURE__ */ new Set(["name", "type", "format"]);
|
|
84393
|
+
var QN = /* @__PURE__ */ new Set(["value"]);
|
|
84394
|
+
var WN = "Allowed: values, fields.<name>.(name|type|format), options.<name>.value.";
|
|
84326
84395
|
var nh2 = "Allowed: fields.<name>.(name|type|format).";
|
|
84327
84396
|
var oh2 = "Allowed: options.<name>.value.";
|
|
84328
84397
|
var ih2 = (e, t, n) => {
|
|
@@ -84336,26 +84405,26 @@ var ih2 = (e, t, n) => {
|
|
|
84336
84405
|
const i = _n3(o2.node, n);
|
|
84337
84406
|
return new Set(i.map((r2) => r2.name));
|
|
84338
84407
|
};
|
|
84339
|
-
var
|
|
84408
|
+
var qN = (e) => {
|
|
84340
84409
|
const t = _n3(e, "template")[0];
|
|
84341
84410
|
if (t && t.node.body instanceof He)
|
|
84342
84411
|
return t.node.body;
|
|
84343
84412
|
};
|
|
84344
|
-
var
|
|
84413
|
+
var YN = (e, t, n) => {
|
|
84345
84414
|
if (e === "values")
|
|
84346
84415
|
return;
|
|
84347
84416
|
const o2 = e.split("."), [i, r2, a, ...s2] = o2;
|
|
84348
|
-
return i === "fields" ? !r2 || !a || s2.length > 0 ? `Unknown template reference "@{${e}}". ${nh2}` : t.has(r2) ?
|
|
84417
|
+
return i === "fields" ? !r2 || !a || s2.length > 0 ? `Unknown template reference "@{${e}}". ${nh2}` : t.has(r2) ? HN.has(a) ? undefined : `Unknown template reference "@{${e}}". ${nh2}` : `Unknown template reference "@{${e}}". "${r2}" is not a declared field.` : i === "options" ? !r2 || !a || s2.length > 0 ? `Unknown template reference "@{${e}}". ${oh2}` : n.has(r2) ? QN.has(a) ? undefined : `Unknown template reference "@{${e}}". ${oh2}` : `Unknown template reference "@{${e}}". "${r2}" is not a declared option.` : `Unknown template reference "@{${e}}". ${WN}`;
|
|
84349
84418
|
};
|
|
84350
|
-
var
|
|
84351
|
-
const t =
|
|
84419
|
+
var JN = (e) => {
|
|
84420
|
+
const t = qN(e);
|
|
84352
84421
|
if (!t)
|
|
84353
84422
|
return [];
|
|
84354
84423
|
const n = ih2(e, "fields", "field"), o2 = ih2(e, "options", "option"), i = t.content.stringText(), r2 = t.content.span().start, a = l.create(e.id.filepath), s2 = [];
|
|
84355
84424
|
hl2.lastIndex = 0;
|
|
84356
84425
|
let l2 = hl2.exec(i);
|
|
84357
84426
|
for (;l2 !== null; ) {
|
|
84358
|
-
const c3 = l2[1], u =
|
|
84427
|
+
const c3 = l2[1], u = YN(c3, n, o2);
|
|
84359
84428
|
if (u) {
|
|
84360
84429
|
const d2 = r2 + l2.index, m3 = d2 + l2[0].length;
|
|
84361
84430
|
s2.push(new re(u, he.Warning, E.CustomTypeWarning.code, a, d2, m3));
|
|
@@ -84364,20 +84433,20 @@ var YN = (e) => {
|
|
|
84364
84433
|
}
|
|
84365
84434
|
return s2;
|
|
84366
84435
|
};
|
|
84367
|
-
var
|
|
84436
|
+
var ZN = (e, t, n) => {
|
|
84368
84437
|
const o2 = n === m2.WrongKind ? [] : [...n];
|
|
84369
|
-
return
|
|
84438
|
+
return PN(e, t) && (o2.push(...KN(t)), o2.push(...JN(t))), o2;
|
|
84370
84439
|
};
|
|
84371
|
-
var
|
|
84440
|
+
var XN = {
|
|
84372
84441
|
name: "CustomChartTemplateValidation",
|
|
84373
84442
|
hooks: {
|
|
84374
84443
|
typecheck: {
|
|
84375
|
-
handler:
|
|
84444
|
+
handler: ZN,
|
|
84376
84445
|
strategy: sr.EXTEND_BUILTIN
|
|
84377
84446
|
}
|
|
84378
84447
|
}
|
|
84379
84448
|
};
|
|
84380
|
-
function
|
|
84449
|
+
function eM(e, t, n, o2) {
|
|
84381
84450
|
if (!no(e))
|
|
84382
84451
|
return o2;
|
|
84383
84452
|
if (!(e.elementName instanceof I))
|
|
@@ -84395,18 +84464,18 @@ function XN(e, t, n, o2) {
|
|
|
84395
84464
|
l2.members.set("__childIdx__", new Et(s2)), s2++;
|
|
84396
84465
|
}), o2;
|
|
84397
84466
|
}
|
|
84398
|
-
var
|
|
84467
|
+
var tM = {
|
|
84399
84468
|
name: "OrderDictType",
|
|
84400
84469
|
hooks: {
|
|
84401
84470
|
evaluate: {
|
|
84402
|
-
handler:
|
|
84471
|
+
handler: eM,
|
|
84403
84472
|
strategy: sr.EXTEND_BUILTIN
|
|
84404
84473
|
}
|
|
84405
84474
|
}
|
|
84406
84475
|
};
|
|
84407
|
-
function
|
|
84476
|
+
function nM(e, t) {
|
|
84408
84477
|
const n = new Set(t);
|
|
84409
|
-
return
|
|
84478
|
+
return _D(e).filter((o2) => !n.has(o2.name));
|
|
84410
84479
|
}
|
|
84411
84480
|
function v_(e, t) {
|
|
84412
84481
|
return e ? e.body.filter((n) => (n instanceof B || n instanceof $) && n.elementType instanceof I && n.elementType.value.value === t) : [];
|
|
@@ -84414,7 +84483,7 @@ function v_(e, t) {
|
|
|
84414
84483
|
function k_(e, t) {
|
|
84415
84484
|
return v_(e, t)[0];
|
|
84416
84485
|
}
|
|
84417
|
-
function
|
|
84486
|
+
function oM(e) {
|
|
84418
84487
|
const { elements: t } = e.content;
|
|
84419
84488
|
if (t.length !== 1)
|
|
84420
84489
|
return;
|
|
@@ -84427,7 +84496,7 @@ function nM(e) {
|
|
|
84427
84496
|
locate: (i) => o2 + i
|
|
84428
84497
|
};
|
|
84429
84498
|
}
|
|
84430
|
-
function
|
|
84499
|
+
function iM(e, t) {
|
|
84431
84500
|
if (!(t instanceof B))
|
|
84432
84501
|
return false;
|
|
84433
84502
|
const n = e.symbol(t.id);
|
|
@@ -84439,10 +84508,10 @@ function oM(e, t) {
|
|
|
84439
84508
|
const i = e.specificType(o2.id);
|
|
84440
84509
|
return i.isErr() ? false : i.unwrap().name === "Dashboard";
|
|
84441
84510
|
}
|
|
84442
|
-
function
|
|
84511
|
+
function rM(e) {
|
|
84443
84512
|
return v_(e, "block").filter((t) => t instanceof B).map((t) => t.elementName.text());
|
|
84444
84513
|
}
|
|
84445
|
-
function
|
|
84514
|
+
function aM(e) {
|
|
84446
84515
|
const t = e.body;
|
|
84447
84516
|
if (!(t instanceof $))
|
|
84448
84517
|
return [];
|
|
@@ -84461,36 +84530,36 @@ function rM(e) {
|
|
|
84461
84530
|
a instanceof He && o2.push({ field: i, heredocNode: a });
|
|
84462
84531
|
}), o2;
|
|
84463
84532
|
}
|
|
84464
|
-
var
|
|
84465
|
-
if (!
|
|
84533
|
+
var sM = (e, t, n) => {
|
|
84534
|
+
if (!iM(e, t) || !(t.body instanceof z))
|
|
84466
84535
|
return n;
|
|
84467
84536
|
const o2 = k_(t.body, "view");
|
|
84468
84537
|
if (!o2)
|
|
84469
84538
|
return n;
|
|
84470
|
-
const i =
|
|
84539
|
+
const i = aM(o2);
|
|
84471
84540
|
if (i.length === 0)
|
|
84472
84541
|
return n;
|
|
84473
|
-
const r2 =
|
|
84542
|
+
const r2 = rM(t.body), a = n === m2.WrongKind ? [] : [...n], s2 = t.elementName.text();
|
|
84474
84543
|
return i.forEach(({ heredocNode: l2 }) => {
|
|
84475
|
-
const c3 =
|
|
84544
|
+
const c3 = oM(l2);
|
|
84476
84545
|
if (!c3)
|
|
84477
84546
|
return;
|
|
84478
84547
|
const { text: u, locate: d2 } = c3;
|
|
84479
|
-
|
|
84480
|
-
a.push(
|
|
84548
|
+
nM(u, r2).forEach((m3) => {
|
|
84549
|
+
a.push(IN(t, d2(m3.start), d2(m3.end), `Block "${m3.name}" referenced in HTMLLayout does not exist on dashboard "${s2}".`));
|
|
84481
84550
|
});
|
|
84482
84551
|
}), a;
|
|
84483
84552
|
};
|
|
84484
|
-
var
|
|
84553
|
+
var lM = {
|
|
84485
84554
|
name: "HTMLLayoutCheck",
|
|
84486
84555
|
hooks: {
|
|
84487
84556
|
typecheck: {
|
|
84488
|
-
handler:
|
|
84557
|
+
handler: sM,
|
|
84489
84558
|
strategy: sr.EXTEND_BUILTIN
|
|
84490
84559
|
}
|
|
84491
84560
|
}
|
|
84492
84561
|
};
|
|
84493
|
-
function
|
|
84562
|
+
function cM(e) {
|
|
84494
84563
|
return e instanceof J && e.leftExpression instanceof J && (e.leftExpression.leftExpression instanceof I || e.leftExpression.leftExpression instanceof J) && e.leftExpression.rightExpression instanceof I && e.rightExpression instanceof J && (e.rightExpression.leftExpression instanceof I || e.rightExpression.leftExpression instanceof J) && e.rightExpression.rightExpression instanceof I;
|
|
84495
84564
|
}
|
|
84496
84565
|
function rh2(e, t, n) {
|
|
@@ -84503,8 +84572,8 @@ function rh2(e, t, n) {
|
|
|
84503
84572
|
function ah2(e, t) {
|
|
84504
84573
|
return !(e instanceof ve) || e.value.kind !== f2.TRUE_LITERAL && e.value.kind !== f2.FALSE_LITERAL ? [$t(e, E.ExpectedThings, `${t}: boolean value`)] : [];
|
|
84505
84574
|
}
|
|
84506
|
-
function
|
|
84507
|
-
if (!
|
|
84575
|
+
function uM(e, t, n, o2, i) {
|
|
84576
|
+
if (!cM(e) && !(e instanceof I))
|
|
84508
84577
|
return [$t(e, E.ExpectedThings, "relationship expression: $model1.$field1 (>|-) $model2.$field2")];
|
|
84509
84578
|
const r2 = ah2(t, "active");
|
|
84510
84579
|
if (r2.length)
|
|
@@ -84527,7 +84596,7 @@ function cM(e, t, n, o2, i) {
|
|
|
84527
84596
|
return [];
|
|
84528
84597
|
}
|
|
84529
84598
|
var qo2 = ["rel_expr", "active", "direction", "rlp_propagation", "nullable"];
|
|
84530
|
-
function
|
|
84599
|
+
function dM(e, t) {
|
|
84531
84600
|
const n = [], o2 = {};
|
|
84532
84601
|
let i = false;
|
|
84533
84602
|
for (let d2 = 0;d2 < t.length; d2++) {
|
|
@@ -84560,7 +84629,7 @@ function uM(e, t) {
|
|
|
84560
84629
|
}
|
|
84561
84630
|
if (o2.rel_expr || n.push($t(e.callee, E.MissingThings, "argument: rel_expr")), o2.active || n.push($t(e.callee, E.MissingThings, "argument: active")), et(n))
|
|
84562
84631
|
return new it(n);
|
|
84563
|
-
const r2 = o2.rel_expr.typeReferenceExpression || o2.rel_expr.value, a = o2.active.typeReferenceExpression || o2.active.value, s2 = o2.direction?.typeReferenceExpression || o2.direction?.value, l2 = o2.rlp_propagation?.typeReferenceExpression || o2.rlp_propagation?.value, c3 = o2.nullable?.typeReferenceExpression || o2.nullable?.value, u =
|
|
84632
|
+
const r2 = o2.rel_expr.typeReferenceExpression || o2.rel_expr.value, a = o2.active.typeReferenceExpression || o2.active.value, s2 = o2.direction?.typeReferenceExpression || o2.direction?.value, l2 = o2.rlp_propagation?.typeReferenceExpression || o2.rlp_propagation?.value, c3 = o2.nullable?.typeReferenceExpression || o2.nullable?.value, u = uM(r2, a, s2, l2, c3);
|
|
84564
84633
|
return et(u) ? new it(u) : new on({
|
|
84565
84634
|
relExpr: r2,
|
|
84566
84635
|
active: a,
|
|
@@ -84572,7 +84641,7 @@ function uM(e, t) {
|
|
|
84572
84641
|
function sh2(e) {
|
|
84573
84642
|
return e.elements[0].value.value;
|
|
84574
84643
|
}
|
|
84575
|
-
function
|
|
84644
|
+
function pM(e) {
|
|
84576
84645
|
const { relExpr: t, active: n, direction: o2, rlpPropagation: i, nullable: r2 } = e, a = o2 ? `direction: '${sh2(o2)}'` : "", s2 = i ? `rlp_propagation: '${sh2(i)}'` : "", l2 = r2 ? `nullable: ${r2.value.value}` : "";
|
|
84577
84646
|
if (t instanceof I)
|
|
84578
84647
|
return `RelationshipConfig {
|
|
@@ -84603,12 +84672,12 @@ function dM(e) {
|
|
|
84603
84672
|
}
|
|
84604
84673
|
function x_(e) {
|
|
84605
84674
|
return new U((t, ...n) => {
|
|
84606
|
-
const o2 =
|
|
84607
|
-
return o2.isErr() ? new b("", o2.err()) : new b(
|
|
84675
|
+
const o2 = dM(t, n);
|
|
84676
|
+
return o2.isErr() ? new b("", o2.err()) : new b(pM(o2.unwrap()));
|
|
84608
84677
|
});
|
|
84609
84678
|
}
|
|
84610
|
-
var pM = x_;
|
|
84611
84679
|
var mM = x_;
|
|
84680
|
+
var hM = x_;
|
|
84612
84681
|
var pu2 = { "git.aml": `Type Git {
|
|
84613
84682
|
is_production: Slot[Boolean]
|
|
84614
84683
|
current_branch: Slot[String]
|
|
@@ -85881,9 +85950,9 @@ var mu2 = {
|
|
|
85881
85950
|
var C_ = (e) => (e.type in mu2);
|
|
85882
85951
|
var hu2 = "current_user";
|
|
85883
85952
|
var lh2 = (e) => l.create(`/modules/${Xn3}/modules/${hu2}/${e}.aml`);
|
|
85884
|
-
var
|
|
85885
|
-
var
|
|
85886
|
-
var
|
|
85953
|
+
var fM = new Set(Object.keys(pu2).filter((e) => e.startsWith(`modules/${hu2}/`)).map((e) => `/modules/${Xn3}/${e}`));
|
|
85954
|
+
var gM = (e) => e.moduleTree().modules.find((n) => n.name === Xn3)?.modules.find((n) => n.name === hu2)?.amlFiles ?? [];
|
|
85955
|
+
var AM = (e, t = []) => {
|
|
85887
85956
|
const n = t.filter(C_), o2 = new Set(n.map((i) => lh2(i.name).toString()));
|
|
85888
85957
|
return n.forEach((i) => {
|
|
85889
85958
|
const r2 = lh2(i.name), a = mu2[i.type];
|
|
@@ -85891,15 +85960,15 @@ var gM = (e, t = []) => {
|
|
|
85891
85960
|
s2 += `const ${i.name} = create_slot[${a}]({
|
|
85892
85961
|
`, s2 += ` fqn: 'H::current_user::${i.name}'
|
|
85893
85962
|
`, s2 += "})", e.setDefinitionAtPath(r2, s2);
|
|
85894
|
-
}),
|
|
85963
|
+
}), gM(e).filter((i) => !o2.has(i.toString()) && !fM.has(i.toString())).forEach((i) => e.deleteFile(i)), e;
|
|
85895
85964
|
};
|
|
85896
|
-
var
|
|
85897
|
-
var
|
|
85965
|
+
var _M = (e, t = {}) => (t.userAttributes && AM(e, t.userAttributes), e);
|
|
85966
|
+
var m1 = (e, t = {}) => (e.setModuleRootPaths(pI2), e.options.childIdxForDynamicProp = true, e.registerCustomModule(fN), e.registerCustomModule(xN), e.registerCustomModule(NN), e.registerCustomModule(jN), e.registerCustomModule(XN), e.registerCustomModule(tM), e.registerCustomModule(lM), e.registerCustomModule(NR.RefFunction), e.registerCustomModule(NR.RefCallExpression), e.registerCustomModule(NR.RefPropertyAccessExpression), Object.entries(Jl2).forEach(([n, o2]) => {
|
|
85898
85967
|
const i = l.create(`__H_definition__/${n}`);
|
|
85899
85968
|
e.setDefinitionAtPath(i, o2);
|
|
85900
|
-
}), e.addJsFunc("r", kR(e)), e.setMacro("rel",
|
|
85969
|
+
}), e.addJsFunc("r", kR(e)), e.setMacro("rel", mM), e.setMacro("relationship", hM), e.addDecorator(MR.templateDecorator.default), Object.entries(pu2).forEach(([n, o2]) => {
|
|
85901
85970
|
e.setDefinitionAtPath(l.create(`/modules/${Xn3}/${n}`), o2);
|
|
85902
|
-
}),
|
|
85971
|
+
}), _M(e, t), e);
|
|
85903
85972
|
|
|
85904
85973
|
// src/api/amlStudioApi.ts
|
|
85905
85974
|
import os6 from "os";
|
|
@@ -86120,7 +86189,7 @@ function readAmlFiles(rootPath) {
|
|
|
86120
86189
|
}
|
|
86121
86190
|
function initAMLProgram(rootPath, userAttributes) {
|
|
86122
86191
|
program2 = new wI;
|
|
86123
|
-
|
|
86192
|
+
m1(program2, { userAttributes });
|
|
86124
86193
|
try {
|
|
86125
86194
|
const amlFiles = readAmlFiles(rootPath);
|
|
86126
86195
|
amlFiles.forEach(({ filePath, content }) => {
|
|
@@ -101986,11 +102055,11 @@ _f4.pattern = () => /* @__PURE__ */ RegExp("(today|yesterday|tomorrow)", "i"), _
|
|
|
101986
102055
|
end: Ve$1(l3)
|
|
101987
102056
|
});
|
|
101988
102057
|
};
|
|
101989
|
-
var
|
|
102058
|
+
var m12 = (e9) => {
|
|
101990
102059
|
let t = e9.weekday;
|
|
101991
102060
|
return t === 7 ? 0 : t;
|
|
101992
102061
|
};
|
|
101993
|
-
var v1 = (e9, t) => (
|
|
102062
|
+
var v1 = (e9, t) => (m12(e9) - t + 7) % 7;
|
|
101994
102063
|
var Lf4 = (e9, t, n) => t !== "week" || n === zt$1.Monday ? e9.startOf(t) : e9.minus({ days: v1(e9, n) }).startOf("day");
|
|
101995
102064
|
var AD2 = (e9, t, n) => t !== "week" || n === zt$1.Monday ? e9.endOf(t) : e9.minus({ days: v1(e9, n) }).plus({ days: 6 }).endOf("day");
|
|
101996
102065
|
var Wf3 = new ye$1.Parser;
|
|
@@ -102013,7 +102082,7 @@ Wf3.pattern = () => /\b(?:(year|quarter|month|week)-to-date|(ytd|qtd|mtd|wtd))\b
|
|
|
102013
102082
|
};
|
|
102014
102083
|
var $f3 = new ye$1.Parser;
|
|
102015
102084
|
var CD2 = (e9, t) => {
|
|
102016
|
-
let n =
|
|
102085
|
+
let n = m12(e9), r3 = zt$1[t];
|
|
102017
102086
|
return n <= r3 ? r3 - n : r3 + 7 - n;
|
|
102018
102087
|
};
|
|
102019
102088
|
$f3.pattern = () => RegExp(`(${Object.keys(zt$1).join("|")}) (last|this|current|next)( \\d+)? weeks?`, "i"), $f3.extract = (e9, t, n, r3) => {
|
|
@@ -102078,20 +102147,20 @@ var cn$1 = (e9) => kr$1({
|
|
|
102078
102147
|
var $v3 = (e9) => {
|
|
102079
102148
|
e9.imply("hour", 0), e9.imply("minute", 0), e9.imply("second", 0);
|
|
102080
102149
|
};
|
|
102081
|
-
var
|
|
102150
|
+
var bD = (e9) => {
|
|
102082
102151
|
let t = e9.clone(), n = ty2(e9.knownValues) || "millisecond", r3 = {};
|
|
102083
102152
|
return r3[`${n}s`] = 1, t.impliedValues = Ve$1(cn$1(e9).plus(r3)), t.knownValues = {}, t;
|
|
102084
102153
|
};
|
|
102085
|
-
var FD2 = (e9) => ($v3(e9.start), e9.end ? $v3(e9.end) : e9.end =
|
|
102154
|
+
var FD2 = (e9) => ($v3(e9.start), e9.end ? $v3(e9.end) : e9.end = bD(e9.start), e9);
|
|
102086
102155
|
var y1 = new ye$1.Refiner;
|
|
102087
102156
|
y1.refine = (e9, t, n) => t.map((e10) => FD2(e10));
|
|
102088
102157
|
var Uv4 = (e9, t) => {
|
|
102089
102158
|
e9.get("timezone") || e9.imply("timezone", t);
|
|
102090
102159
|
};
|
|
102091
|
-
var
|
|
102092
|
-
|
|
102160
|
+
var p1 = new ye$1.Refiner;
|
|
102161
|
+
p1.refine = (e9, t, { timezone: n }) => t.map((e10) => (Uv4(e10.start, n), e10.end && Uv4(e10.end, n), e10));
|
|
102093
102162
|
var Zn$1 = { exports: {} };
|
|
102094
|
-
var
|
|
102163
|
+
var _D2 = Zn$1.exports;
|
|
102095
102164
|
var Gv3;
|
|
102096
102165
|
function LD2() {
|
|
102097
102166
|
return Gv3 || (Gv3 = 1, function(e9, t) {
|
|
@@ -105684,7 +105753,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
105684
105753
|
}], qp3.prototype.clone = Jp3, qp3.prototype.reverse = Yp3, qp3.prototype.value = Xp2, Q4.prototype.at = GT3, Q4.prototype.chain = KT3, Q4.prototype.commit = qT3, Q4.prototype.next = JT3, Q4.prototype.plant = XT3, Q4.prototype.reverse = ZT3, Q4.prototype.toJSON = Q4.prototype.valueOf = Q4.prototype.value = QT3, Q4.prototype.first = Q4.prototype.head, sd4 && (Q4.prototype[sd4] = YT3), Q4;
|
|
105685
105754
|
}();
|
|
105686
105755
|
Ld4 ? ((Ld4.exports = Rp3)._ = Rp3, Id4._ = Rp3) : Fd4._ = Rp3;
|
|
105687
|
-
}).call(
|
|
105756
|
+
}).call(_D2);
|
|
105688
105757
|
}(Zn$1, Zn$1.exports)), Zn$1.exports;
|
|
105689
105758
|
}
|
|
105690
105759
|
var Kt$1 = LD2();
|
|
@@ -105750,7 +105819,7 @@ var kD2 = {
|
|
|
105750
105819
|
new zn$1.ENMergeDateTimeRefiner,
|
|
105751
105820
|
new zn$1.ENMergeDateRangeRefiner,
|
|
105752
105821
|
new zn$1.ENPrioritizeSpecificDateRefiner,
|
|
105753
|
-
|
|
105822
|
+
p1,
|
|
105754
105823
|
y1,
|
|
105755
105824
|
Rf4
|
|
105756
105825
|
]
|
|
@@ -105936,7 +106005,7 @@ var CheckFlags = /* @__PURE__ */ function(e9) {
|
|
|
105936
106005
|
return e9[e9.Normal = 0] = "Normal", e9[e9.InBizCal = 1] = "InBizCal", e9[e9.SkipPathResolution = 2] = "SkipPathResolution", e9[e9.SkipCheckingRelationshipKey = 4] = "SkipCheckingRelationshipKey", e9[e9.EnableWarningCheck = 8] = "EnableWarningCheck", e9[e9.RecheckCheckedNode = 16] = "RecheckCheckedNode", e9;
|
|
105937
106006
|
}({});
|
|
105938
106007
|
var LinkType = /* @__PURE__ */ function(e9) {
|
|
105939
|
-
return e9.ONE_TO_ONE = "one_to_one", e9.MANY_TO_ONE = "many_to_one", e9;
|
|
106008
|
+
return e9.ONE_TO_ONE = "one_to_one", e9.MANY_TO_ONE = "many_to_one", e9.RANGE = "range", e9.MANY_TO_MANY = "many_to_many", e9;
|
|
105940
106009
|
}({});
|
|
105941
106010
|
var JoinType = /* @__PURE__ */ function(e9) {
|
|
105942
106011
|
return e9.CROSS = "cross", e9.INNER = "inner", e9.LEFT = "left", e9.RIGHT = "right", e9.FULL = "full", e9.SEMI = "semi", e9;
|
|
@@ -106806,7 +106875,11 @@ function createRelationship(e9, t, n = {}) {
|
|
|
106806
106875
|
direction: n.direction ?? FilterDirection.TWOWAY,
|
|
106807
106876
|
nullable: n.nullable ?? true,
|
|
106808
106877
|
rlp_propagation: n.rlpPropagation ?? "inherit",
|
|
106809
|
-
weight: n.weight
|
|
106878
|
+
weight: n.weight,
|
|
106879
|
+
...n.name ? { name: n.name } : {},
|
|
106880
|
+
...n.extraKeys?.length ? { extra_keys: n.extraKeys } : {},
|
|
106881
|
+
...n.match ? { match: n.match } : {},
|
|
106882
|
+
...n.where ? { where: n.where } : {}
|
|
106810
106883
|
};
|
|
106811
106884
|
}
|
|
106812
106885
|
function createDataset({ name: e9, label: t = "", description: n = "", dataSource: r3, models: i = [], relationships: a = [], metrics: s3 = [], publicAliases: c3 }) {
|
|
@@ -110973,15 +111046,36 @@ function modelFromAml(e10, t, n = true) {
|
|
|
110973
111046
|
throw createError(ErrorCode.INVALID_EXPRESSION_0, undefined, ` Object \`${r3.getProp("name")}\` is of type (${r3.type}), need type Model`);
|
|
110974
111047
|
}
|
|
110975
111048
|
}
|
|
111049
|
+
var RELATIONSHIP_TYPE_NAMES = new Set([
|
|
111050
|
+
"EqualityRelationship",
|
|
111051
|
+
"RangeRelationship",
|
|
111052
|
+
"ManyToManyRelationship"
|
|
111053
|
+
]);
|
|
111054
|
+
function heredocContent(e10) {
|
|
111055
|
+
return e10?.data?.content;
|
|
111056
|
+
}
|
|
110976
111057
|
function relationshipFromAml(e10) {
|
|
110977
111058
|
let t = new AmlObjWrapper(e10);
|
|
110978
|
-
if (t.type
|
|
111059
|
+
if (!t.type || !RELATIONSHIP_TYPE_NAMES.has(t.type))
|
|
110979
111060
|
throw Error("Not a Relationship object");
|
|
110980
|
-
let n = new AmlObjWrapper(t.getProp("from")), r3 = new AmlObjWrapper(t.getProp("to")), i = n.getProp("__refFqn__"), a = r3.getProp("__refFqn__"), s3 = i && import_lodash2.isString(i) ? getFqn(i) : n.getProp("model"), c3 = a && import_lodash2.isString(a) ? getFqn(a) : r3.getProp("model")
|
|
111061
|
+
let n = new AmlObjWrapper(t.getProp("from")), r3 = new AmlObjWrapper(t.getProp("to")), i = n.getProp("__refFqn__"), a = r3.getProp("__refFqn__"), s3 = i && import_lodash2.isString(i) ? getFqn(i) : n.getProp("model"), c3 = a && import_lodash2.isString(a) ? getFqn(a) : r3.getProp("model"), l3 = t.getProp("on"), u = l3 ? new AmlObjWrapper(l3).map((e11) => {
|
|
111062
|
+
let t3 = new AmlObjWrapper(e11);
|
|
111063
|
+
return {
|
|
111064
|
+
source_field: new AmlObjWrapper(t3.getProp("from")).getProp("field"),
|
|
111065
|
+
dest_field: new AmlObjWrapper(t3.getProp("to")).getProp("field")
|
|
111066
|
+
};
|
|
111067
|
+
}) : undefined, f3 = t.getProp("where"), p3 = f3 ? new AmlObjWrapper(f3) : undefined, m3 = p3 && heredocContent(p3.getProp("from")), S3 = p3 && heredocContent(p3.getProp("to")), w3 = t.getProp("name"), E3 = heredocContent(t.getProp("match"));
|
|
110981
111068
|
return {
|
|
110982
111069
|
from: createModelFieldReference(s3, n.getProp("field")),
|
|
110983
111070
|
to: createModelFieldReference(c3, r3.getProp("field")),
|
|
110984
|
-
type: t.getProp("type")
|
|
111071
|
+
type: t.getProp("type"),
|
|
111072
|
+
...w3 ? { name: w3 } : {},
|
|
111073
|
+
...u?.length ? { extra_keys: u } : {},
|
|
111074
|
+
...E3 ? { match: E3 } : {},
|
|
111075
|
+
...m3 || S3 ? { where: {
|
|
111076
|
+
...m3 ? { source: m3 } : {},
|
|
111077
|
+
...S3 ? { dest: S3 } : {}
|
|
111078
|
+
} } : {}
|
|
110985
111079
|
};
|
|
110986
111080
|
}
|
|
110987
111081
|
function relationshipConfigFromAml(e10) {
|
|
@@ -111156,7 +111250,11 @@ function relationshipConfigFromModeling(e10) {
|
|
|
111156
111250
|
active: e10.active ?? true,
|
|
111157
111251
|
direction: e10.direction ?? FilterDirection.TWOWAY,
|
|
111158
111252
|
nullable: e10.nullable ?? true,
|
|
111159
|
-
rlp_propagation: e10.rlp_propagation ?? "inherit"
|
|
111253
|
+
rlp_propagation: e10.rlp_propagation ?? "inherit",
|
|
111254
|
+
...e10.join.name ? { name: e10.join.name } : {},
|
|
111255
|
+
...e10.join.extra_keys?.length ? { extra_keys: e10.join.extra_keys } : {},
|
|
111256
|
+
...e10.join.match ? { match: e10.join.match } : {},
|
|
111257
|
+
...e10.join.where ? { where: e10.join.where } : {}
|
|
111160
111258
|
};
|
|
111161
111259
|
}
|
|
111162
111260
|
function datasetFromModeling(e10) {
|
|
@@ -115023,6 +115121,9 @@ function buildApplyFiltersPlan(e10, t, n, r3, i, a = true, s3 = true, c3 = false
|
|
|
115023
115121
|
case LinkType.MANY_TO_ONE:
|
|
115024
115122
|
li3 = true, u.add(t3.from.modelName);
|
|
115025
115123
|
break;
|
|
115124
|
+
case LinkType.RANGE:
|
|
115125
|
+
case LinkType.MANY_TO_MANY:
|
|
115126
|
+
throw createError(ErrorCode.UNSUPPORTED_BEHAVIOR_0, undefined, `A ${t3.type} relationship is not handled yet.`);
|
|
115026
115127
|
default:
|
|
115027
115128
|
t3.type;
|
|
115028
115129
|
break;
|
|
@@ -121583,7 +121684,11 @@ function normalizeConfigForAql(e10) {
|
|
|
121583
121684
|
active: e10.active,
|
|
121584
121685
|
direction: !e10.direction || e10.direction === "two_way" ? "two_way" : "one_way",
|
|
121585
121686
|
nullable: e10.nullable,
|
|
121586
|
-
rlpPropagation: e10.rlp_propagation
|
|
121687
|
+
rlpPropagation: e10.rlp_propagation,
|
|
121688
|
+
name: e10.name,
|
|
121689
|
+
extraKeys: e10.extraKeys,
|
|
121690
|
+
match: e10.match,
|
|
121691
|
+
where: e10.where
|
|
121587
121692
|
});
|
|
121588
121693
|
}
|
|
121589
121694
|
function normalizeDatasetToAqlDataset(e10) {
|