@webviz/well-log-viewer 3.0.1 → 3.0.5
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/components/WellLogView.d.ts +56 -0
- package/dist/components/WellLogView.js +73 -22
- package/dist/components/WellLogView.js.map +1 -1
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/utils/generateColor.d.ts +31 -0
- package/dist/utils/generateColor.js +36 -0
- package/dist/utils/generateColor.js.map +1 -1
- package/dist/utils/gradientfill-plot-legend.js +89 -38
- package/dist/utils/gradientfill-plot-legend.js.map +1 -1
- package/dist/utils/htmlEscape.d.ts +6 -0
- package/dist/utils/htmlEscape.js +14 -0
- package/dist/utils/htmlEscape.js.map +1 -0
- package/dist/utils/template.d.ts +5 -1
- package/dist/utils/template.js +15 -11
- package/dist/utils/template.js.map +1 -1
- package/package.json +7 -2
|
@@ -12,6 +12,32 @@ import type { Pattern, PatternsTable } from "../utils/pattern";
|
|
|
12
12
|
import type { Info } from "./InfoTypes";
|
|
13
13
|
import type { WellLogSet } from "./WellLogTypes";
|
|
14
14
|
import type { Template, TemplatePlot, TemplateTrack } from "./WellLogTemplateTypes";
|
|
15
|
+
/**
|
|
16
|
+
* The three label cells rendered for a well pick: the primary depth label,
|
|
17
|
+
* the secondary depth label and the boundary (marker) name.
|
|
18
|
+
*
|
|
19
|
+
* The `horizon` field name mirrors the existing internal `WellPick.horizon`
|
|
20
|
+
* field it is derived from; it is not restricted to stratigraphic horizons —
|
|
21
|
+
* any well pick boundary name is valid here.
|
|
22
|
+
*/
|
|
23
|
+
export interface WellPickLabels {
|
|
24
|
+
primary: string;
|
|
25
|
+
secondary: string;
|
|
26
|
+
horizon: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Source values for a single well pick boundary, passed to
|
|
30
|
+
* `formatWellPickLabel`. An object is used so that new fields can be added
|
|
31
|
+
* without a breaking change.
|
|
32
|
+
*/
|
|
33
|
+
export interface WellPickLabelInput {
|
|
34
|
+
/** The raw boundary (marker) name. */
|
|
35
|
+
horizon: string;
|
|
36
|
+
/** Full-precision primary axis depth. May be undefined or non-finite. */
|
|
37
|
+
vPrimary: number | undefined;
|
|
38
|
+
/** Full-precision secondary axis depth. May be undefined or non-finite. */
|
|
39
|
+
vSecondary: number | undefined;
|
|
40
|
+
}
|
|
15
41
|
export interface WellPickProps {
|
|
16
42
|
wellpick: WellLogSet;
|
|
17
43
|
name: string;
|
|
@@ -21,6 +47,22 @@ export interface WellPickProps {
|
|
|
21
47
|
*/
|
|
22
48
|
colorMapFunctions: ColormapFunction[];
|
|
23
49
|
colorMapFunctionName: string;
|
|
50
|
+
/**
|
|
51
|
+
* Optional callback to override the default well-pick label formatting.
|
|
52
|
+
*
|
|
53
|
+
* It is called exactly once per well pick boundary and receives the
|
|
54
|
+
* boundary name together with the full-precision primary and secondary
|
|
55
|
+
* depth values (either of which may be `undefined` or non-finite).
|
|
56
|
+
*
|
|
57
|
+
* It may return any subset of `{ primary, secondary, horizon }`; keys that
|
|
58
|
+
* are omitted (or `undefined`) keep the default formatting, i.e.
|
|
59
|
+
* `toFixed(0)` for the depths and the raw name for the boundary. Returning
|
|
60
|
+
* nothing at all keeps all defaults.
|
|
61
|
+
*
|
|
62
|
+
* The returned `horizon` label only affects the rendered text: element
|
|
63
|
+
* names, colors, patterns and callbacks always use the raw boundary name.
|
|
64
|
+
*/
|
|
65
|
+
formatWellPickLabel?: (input: WellPickLabelInput) => Partial<WellPickLabels> | undefined | null;
|
|
24
66
|
}
|
|
25
67
|
export declare const WellPickPropsType: PropTypes.Requireable<PropTypes.InferProps<{
|
|
26
68
|
wellpick: PropTypes.Validator<object>;
|
|
@@ -28,6 +70,7 @@ export declare const WellPickPropsType: PropTypes.Requireable<PropTypes.InferPro
|
|
|
28
70
|
md: PropTypes.Requireable<string>;
|
|
29
71
|
colorMapFunctions: PropTypes.Validator<(object | null | undefined)[]>;
|
|
30
72
|
colorMapFunctionName: PropTypes.Validator<string>;
|
|
73
|
+
formatWellPickLabel: PropTypes.Requireable<(...args: any[]) => any>;
|
|
31
74
|
}>>;
|
|
32
75
|
interface WellPick {
|
|
33
76
|
vMD: number;
|
|
@@ -37,6 +80,19 @@ interface WellPick {
|
|
|
37
80
|
color: number[];
|
|
38
81
|
}
|
|
39
82
|
export declare function getWellPicks(wellLogView: WellLogView): WellPick[];
|
|
83
|
+
/**
|
|
84
|
+
* The well-pick labels as rendered when no `formatWellPickLabel` callback is
|
|
85
|
+
* given: depths rounded to whole units via `toFixed(0)` (empty string when the
|
|
86
|
+
* value is not finite) and the raw horizon name.
|
|
87
|
+
*/
|
|
88
|
+
export declare function defaultWellPickLabels(input: WellPickLabelInput): WellPickLabels;
|
|
89
|
+
/**
|
|
90
|
+
* Applies the well-pick label formatting for a single well pick: computes the
|
|
91
|
+
* defaults, calls `formatWellPickLabel` once (when given) and merges the
|
|
92
|
+
* returned partial over the defaults. A callback returning nothing, or fields
|
|
93
|
+
* that are `undefined`, leaves the corresponding defaults in place.
|
|
94
|
+
*/
|
|
95
|
+
export declare function applyWellPickLabelFormatting(input: WellPickLabelInput, formatWellPickLabel: WellPickProps["formatWellPickLabel"]): WellPickLabels;
|
|
40
96
|
export declare function addTrack(parent: HTMLElement, wellLogView: WellLogView, onOK: (templateTrack: TemplateTrack) => void): void;
|
|
41
97
|
export declare function editTrack(parent: HTMLElement, wellLogView: WellLogView, templateTrack: TemplateTrack, onOK: (templateTrack: TemplateTrack) => void): void;
|
|
42
98
|
export interface TrackMouseEvent {
|
|
@@ -12,6 +12,7 @@ import { isEqualRanges } from "../utils/arrays";
|
|
|
12
12
|
import { getPlotType } from "../utils/plots";
|
|
13
13
|
import { addPlotToTrack, createWellLogTracks, editTrackPlot, getScaleTrackNum, getTrackTemplate, isScaleTrack, removeTrackPlot, } from "../utils/tracks";
|
|
14
14
|
import { getStyledTemplateTracks } from "../utils/template";
|
|
15
|
+
import { htmlEscape } from "../utils/htmlEscape";
|
|
15
16
|
import { getDiscreteColorAndName, getDiscreteMeta, getAvailableAxes, getWellLogSetsFromProps, } from "../utils/well-log";
|
|
16
17
|
import { ColorFunctionType, PatternsTableType, PatternsType, TemplateType, } from "./CommonPropTypes";
|
|
17
18
|
import { PlotPropertiesDialog } from "./PlotDialog";
|
|
@@ -221,6 +222,7 @@ export const WellPickPropsType = PropTypes.shape({
|
|
|
221
222
|
md: PropTypes.string,
|
|
222
223
|
colorMapFunctions: PropTypes.arrayOf(ColorFunctionType).isRequired,
|
|
223
224
|
colorMapFunctionName: PropTypes.string.isRequired,
|
|
225
|
+
formatWellPickLabel: PropTypes.func,
|
|
224
226
|
});
|
|
225
227
|
const wpSize = 3; //9;
|
|
226
228
|
const wpOffset = wpSize / 2;
|
|
@@ -356,12 +358,60 @@ function posWellPickTitles(instance, parent) {
|
|
|
356
358
|
}
|
|
357
359
|
}
|
|
358
360
|
}
|
|
361
|
+
function defaultWellPickDepthLabel(value) {
|
|
362
|
+
return Number.isFinite(value) ? value.toFixed(0) : "";
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* The well-pick labels as rendered when no `formatWellPickLabel` callback is
|
|
366
|
+
* given: depths rounded to whole units via `toFixed(0)` (empty string when the
|
|
367
|
+
* value is not finite) and the raw horizon name.
|
|
368
|
+
*/
|
|
369
|
+
export function defaultWellPickLabels(input) {
|
|
370
|
+
return {
|
|
371
|
+
primary: defaultWellPickDepthLabel(input.vPrimary),
|
|
372
|
+
secondary: defaultWellPickDepthLabel(input.vSecondary),
|
|
373
|
+
horizon: input.horizon,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Applies the well-pick label formatting for a single well pick: computes the
|
|
378
|
+
* defaults, calls `formatWellPickLabel` once (when given) and merges the
|
|
379
|
+
* returned partial over the defaults. A callback returning nothing, or fields
|
|
380
|
+
* that are `undefined`, leaves the corresponding defaults in place.
|
|
381
|
+
*/
|
|
382
|
+
export function applyWellPickLabelFormatting(input, formatWellPickLabel) {
|
|
383
|
+
const labels = defaultWellPickLabels(input);
|
|
384
|
+
if (!formatWellPickLabel)
|
|
385
|
+
return labels;
|
|
386
|
+
const overrides = formatWellPickLabel(input);
|
|
387
|
+
if (!overrides)
|
|
388
|
+
return labels;
|
|
389
|
+
for (const key of ["primary", "secondary", "horizon"]) {
|
|
390
|
+
const value = overrides[key];
|
|
391
|
+
if (value !== undefined && value !== null)
|
|
392
|
+
labels[key] = String(value);
|
|
393
|
+
}
|
|
394
|
+
return labels;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Names of the overlay elements of the well pick at `index`.
|
|
398
|
+
*
|
|
399
|
+
* The index, and not the horizon name, identifies the element: `overlay.create()` appends a new
|
|
400
|
+
* element on every call but only keeps the last one created under a given name, and
|
|
401
|
+
* `overlay.remove()` can only reach that one. Naming the elements after the horizon therefore
|
|
402
|
+
* leaks an element for every well pick sharing a name with an earlier one, and a leaked element is
|
|
403
|
+
* never positioned, never hidden and never removed - it stays behind at the top of the track as a
|
|
404
|
+
* pick that no data backs.
|
|
405
|
+
*/
|
|
406
|
+
function wellPickElementNames(index) {
|
|
407
|
+
return { pin: "wp" + index, fill: "wpFill" + index };
|
|
408
|
+
}
|
|
359
409
|
function addWellPickOverlay(instance, parent) {
|
|
360
410
|
{
|
|
361
411
|
/* clear old wellpicks */
|
|
362
412
|
for (const elmName in instance.overlay.elements) {
|
|
363
413
|
if (elmName.substring(0, 2) === "wp")
|
|
364
|
-
// "wpFill" +
|
|
414
|
+
// "wpFill" + index; "wp" + index;
|
|
365
415
|
instance.overlay.remove(elmName); // clear old if exists
|
|
366
416
|
}
|
|
367
417
|
}
|
|
@@ -379,18 +429,23 @@ function addWellPickOverlay(instance, parent) {
|
|
|
379
429
|
const wellpickPatternFill = patternsTable && patterns && parent.props.options?.wellpickPatternFill;
|
|
380
430
|
const patternSize = patternsTable?.patternSize;
|
|
381
431
|
const patternImages = patternsTable?.patternImages;
|
|
382
|
-
|
|
432
|
+
const formatWellPickLabel = wellpick.formatWellPickLabel;
|
|
433
|
+
for (const [index, wp] of wps.entries()) {
|
|
383
434
|
const horizon = wp.horizon;
|
|
384
435
|
const vPrimary = wp.vPrimary;
|
|
385
436
|
const vSecondary = wp.vSecondary;
|
|
386
437
|
const color = wp.color;
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
const
|
|
438
|
+
// Labels are for display only. Color/pattern lookups and callbacks
|
|
439
|
+
// must keep using the raw `horizon` value below.
|
|
440
|
+
const labels = applyWellPickLabelFormatting({ horizon, vPrimary, vSecondary }, formatWellPickLabel);
|
|
441
|
+
// Labels are interpolated into an HTML string below, so they must be
|
|
442
|
+
// escaped: they may contain markup characters, either from the log
|
|
443
|
+
// data or from a consumer supplied `formatWellPickLabel` callback.
|
|
444
|
+
const txtPrimary = htmlEscape(labels.primary);
|
|
445
|
+
// (primaryAxis === "md" ? "TVD:" : "MD:") +
|
|
446
|
+
const txtSecondary = htmlEscape(labels.secondary);
|
|
447
|
+
const txtHorizon = htmlEscape(labels.horizon);
|
|
448
|
+
const elmName = wellPickElementNames(index).pin;
|
|
394
449
|
const pinelm = instance.overlay.create(elmName, {});
|
|
395
450
|
const rgba = "rgba(" + color[0] + "," + color[1] + "," + color[2] + ",0.8)";
|
|
396
451
|
const styleText = "style='background-color:rgba(" +
|
|
@@ -429,7 +484,7 @@ function addWellPickOverlay(instance, parent) {
|
|
|
429
484
|
"<span " +
|
|
430
485
|
styleText +
|
|
431
486
|
">" +
|
|
432
|
-
|
|
487
|
+
txtHorizon +
|
|
433
488
|
"</span>" +
|
|
434
489
|
"</td></tr>" +
|
|
435
490
|
"</table>"
|
|
@@ -452,7 +507,7 @@ function addWellPickOverlay(instance, parent) {
|
|
|
452
507
|
"<span " +
|
|
453
508
|
styleText +
|
|
454
509
|
">" +
|
|
455
|
-
|
|
510
|
+
txtHorizon +
|
|
456
511
|
"</span>" +
|
|
457
512
|
"</td>" +
|
|
458
513
|
"</tr></table>")
|
|
@@ -462,7 +517,7 @@ function addWellPickOverlay(instance, parent) {
|
|
|
462
517
|
.style("background-color", rgba);
|
|
463
518
|
{
|
|
464
519
|
// Filling
|
|
465
|
-
const elmName =
|
|
520
|
+
const elmName = wellPickElementNames(index).fill;
|
|
466
521
|
if (wellpickPatternFill || wellpickColorFill) {
|
|
467
522
|
const pinelm = instance.overlay.create(elmName, {});
|
|
468
523
|
const pin = select(pinelm)
|
|
@@ -1107,25 +1162,21 @@ class WellLogView extends Component {
|
|
|
1107
1162
|
const wps = getWellPicks(this);
|
|
1108
1163
|
if (!wps.length)
|
|
1109
1164
|
return;
|
|
1110
|
-
|
|
1111
|
-
for (const wp of wps) {
|
|
1112
|
-
const horizon = wp.horizon;
|
|
1165
|
+
for (const [index, wp] of wps.entries()) {
|
|
1113
1166
|
const vPrimary = wp.vPrimary;
|
|
1114
|
-
const
|
|
1115
|
-
const pinelm = elements[
|
|
1167
|
+
const { pin, fill } = wellPickElementNames(index);
|
|
1168
|
+
const pinelm = elements[pin];
|
|
1116
1169
|
if (!pinelm)
|
|
1117
1170
|
continue;
|
|
1118
1171
|
showWellPick(pinelm, vPrimary, horizontal, this.logController);
|
|
1119
1172
|
if (this.props.patterns) {
|
|
1120
|
-
const
|
|
1121
|
-
const pinelm1 = elements[elmName1];
|
|
1173
|
+
const pinelm1 = elements[fill];
|
|
1122
1174
|
if (pinelm1) {
|
|
1123
|
-
|
|
1124
|
-
const vPrimary2 =
|
|
1175
|
+
// the fill spans from this pick down to the next one
|
|
1176
|
+
const vPrimary2 = wps[index + 1]?.vPrimary;
|
|
1125
1177
|
fillWellPicks(pinelm1, vPrimary, vPrimary2, horizontal, this.logController);
|
|
1126
1178
|
}
|
|
1127
1179
|
}
|
|
1128
|
-
i++;
|
|
1129
1180
|
}
|
|
1130
1181
|
posWellPickTitles(this.logController, this);
|
|
1131
1182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WellLogView.js","sourceRoot":"","sources":["../../src/components/WellLogView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WellLogView.js","sourceRoot":"","sources":["../../src/components/WellLogView.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAUlD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACH,kBAAkB,EAClB,+BAA+B,EAC/B,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACH,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACH,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAQtD,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,gBAAgB,GAAG,cAAc,GAAG,CAAC,CAAC;AAE5C,SAAS,aAAa,CAClB,KAAkB,EAClB,MAAmB,EACnB,IAAwB,EACxB,IAAwB,EACxB,UAA+B,EAC/B,SAAoB,CAAC,iBAAiB;IAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACnC,OAAO;IACX,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,2BAA2B;QAC3B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACnC,OAAO;IACX,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,gBAAgB,IAAI,CAAC;IACvE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAEnC,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAgC,CAAC;QACxD,IAAI,GAAG,EAAE,GAAG,CAAC;QACb,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtC,GAAG,gBAAgB,IAAI,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpD,GAAG,GAAG,IAAI,CAAC;YACX,GAAG,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1C,GAAG,gBAAgB,IAAI,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAChD,GAAG,GAAG,IAAI,CAAC;YACX,GAAG,GAAG,IAAI,CAAC;QACf,CAAC;QAED,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE3B,MAAM,CAAC,GAAG,GAAG,GAAG,gBAAgB,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,cAAc,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAC7D,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACvC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAmB,EAAE,MAAmB;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE;QACjD,WAAW,EAAE,CAAC,KAA4B,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,aAAa;gBAAE,OAAO;YACjC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBAClB,aAAa,CACT,KAAK,EACL,MAAM,EACN,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,UAAU,EACV,QAAQ,CACX,CAAC;YACN,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC;QACD,WAAW,EAAE,CAAC,KAA4B,EAAE,EAAE;YAC1C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACf,yDAAyD;gBACzD;;;;;;kBAME;YACN,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;SACnB,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,wBAAwB;SACrD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,cAAc,IAAI,CAAC;SAC7D,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;SACjD,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;SAC7C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;SACjD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,gBAAgB,IAAI,CAAC;SAC3D,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAmB,EAAE,MAAmB;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;QACzC,OAAO,EAAE,CAAC,KAAwB,EAAQ,EAAE;YACxC,IACI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB;gBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB;gBAE3C,OAAO;YAEX,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,SAAS,GACX,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW;oBACjD,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACrC,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAClD,CAAC,CACJ,EAAE;oBACL,CAAC,CAAC,GAAG,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YACtC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,CAAC,KAA4B,EAAQ,EAAE;YAChD,IAAI,MAAM,CAAC,aAAa;gBAAE,OAAO;YACjC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAE3C,IAAI,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,UAAU,EAAE,CAAC;oBACb,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW;wBAChC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;wBACtC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;gBAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACrC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACtD,CAAC,CAAC,GAAG,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YACtC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,CAAC,KAA4B,EAAQ,EAAE;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3C,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACpC,CAAC;QACD,SAAS,EAAE,CAAC,KAA0B,EAAQ,EAAE;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC1B,2DAA2D;gBAC3D,mDAAmD;gBACnD,oEAAoE;gBAEpE,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACJ,gBAAgB;oBAChB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;gBACrC,CAAC;YACL,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;IACH,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,wBAAwB;IACjD,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAChC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAmB,EAAE,MAAmB;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC7C,OAAO,EAAE,CAAC,KAAwB,EAAQ,EAAE;YACxC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;wBACxB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;wBAC7B,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAE7C,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;wBACnC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;wBAC7B,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAChC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC5C,IACI,MAAM,CAAC,UAAU,KAAK,SAAS;wBAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB;wBAE1C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;oBAEzC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBACvD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;wBAClB,aAAa,CACT,KAAK,EACL,MAAM,EACN,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,UAAU,EACV,QAAQ,CACX,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;SACrB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,wBAAwB;SAChD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,cAAc,IAAI,CAAC;SAC7D,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;SACjD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;SAC5C,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;SAC7B,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEnC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;SACZ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;SAC7C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;SACjD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,gBAAgB,IAAI,CAAC;SAC3D,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AA2DD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC;IAC7C,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB;IACzE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACjC,EAAE,EAAE,SAAS,CAAC,MAAM;IACpB,iBAAiB,EAAE,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,UAAU;IAClE,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACjD,mBAAmB,EAAE,SAAS,CAAC,IAAI;CACtC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;AACtB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;AAE5B,SAAS,YAAY,CACjB,GAAgB,EAChB,IAAwB,EACxB,UAA+B,EAC/B,SAAoB,CAAC,iBAAiB;IAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAChC,OAAO;IACX,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,2BAA2B;QAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAChC,OAAO;IACX,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,IAAI,CAAC;IAC7D,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAClB,GAAgB,EAChB,IAAwB,EACxB,KAAyB,EACzB,UAA+B,EAC/B,SAAoB,CAAC,iBAAiB;IAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAChC,OAAO;IACX,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,2BAA2B;QAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAChC,OAAO;IACX,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAChC,OAAO;IACX,CAAC;IACD,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,2BAA2B;QAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAChC,OAAO;IACX,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe;IAClE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;IAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAEjC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,sBAAsB,CAAmB,CAAC;IACzE,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,kBAAkB,GACpB,sBAAsB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,kBAAuC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAsB,EAAE,KAAe;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACxE,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACd,CAAC;AAUD,MAAM,UAAU,YAAY,CAAC,WAAwB;IACjD,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC;IAClC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,GAAG,8BAA8B,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;IAClD,MAAM,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAExD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;YAAE,SAAS;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI;gBAAE,SAAS,CAAC,SAAS;YACvC,uDAAuD;YACvD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAA8B,CAAC;YAClD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YAExD,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAW,CAAC;YAC5B,MAAM,QAAQ,GACV,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,UAAU,GACZ,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAEjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CACpD,CAAC,gBAAgB,EAAE,EAAE,CACjB,gBAAgB,CAAC,IAAI,KAAK,QAAQ,CAAC,oBAAoB,CAC9D,CAAC;YAEF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,uBAAuB,CACrC,CAAC,CAAC,CAAC,CAAC,EACJ,gBAAgB,EAChB,IAAI,CACP,CAAC;YAEF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,MAAM;IACV,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAmB,EAAE,MAAmB;IAC/D,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAgB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACnC,MAAM,GAAG,GAAI,KAAe,CAAC,GAAG,CAAC;gBACjC,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;oBACxD,MAAM,EAAE,GAAG,GAAkB,CAAC;oBAC9B,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;oBAC/B,IAAI,UAAU,EAAE,CAAC;wBACb,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;wBACtC,IAAI,GAAG,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC;4BACvB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;4BACpB,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;4BACvB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBACtC,CAAC;6BAAM,CAAC;4BACJ,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;4BACxC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;4BAClB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACzC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,CAAC,EAAE,CAAC;YACR,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAyB;IACxD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACjC,KAAyB;IAEzB,OAAO;QACH,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAClD,SAAS,EAAE,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC;QACtD,OAAO,EAAE,KAAK,CAAC,OAAO;KACzB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CACxC,KAAyB,EACzB,mBAAyD;IAEzD,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,mBAAmB;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IAE9B,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAU,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACvC,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAmB,EAAE,MAAmB;IAChE,CAAC;QACG,yBAAyB;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;gBAChC,kCAAkC;gBAClC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAChE,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvC,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO;IAExB,+CAA+C;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAE3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvC,MAAM,mBAAmB,GACrB,aAAa,IAAI,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAC3E,MAAM,WAAW,GAAG,aAAa,EAAE,WAAW,CAAC;IAC/C,MAAM,aAAa,GAAG,aAAa,EAAE,aAAa,CAAC;IAEnD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IAEzD,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;QACjC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QAEvB,mEAAmE;QACnE,iDAAiD;QACjD,MAAM,MAAM,GAAG,4BAA4B,CACvC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EACjC,mBAAmB,CACtB,CAAC;QACF,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,4CAA4C;QAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,GACN,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnE,MAAM,SAAS,GACX,+BAA+B;YAC/B,KAAK,CAAC,CAAC,CAAC;YACR,GAAG;YACH,KAAK,CAAC,CAAC,CAAC;YACR,GAAG;YACH,KAAK,CAAC,CAAC,CAAC;YACR,SAAS,CAAC;QAEd,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;aACrB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,wBAAwB;aAClD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC;aACrD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;aACjD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;aAC5C,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;aAC7B,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC;aAC/B,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;aACZ,IAAI,CACD,UAAU;YACN,CAAC,CAAC,sBAAsB;gBAClB,6BAA6B;gBAC7B,QAAQ;gBACR,SAAS;gBACT,GAAG;gBACH,UAAU;gBACV,SAAS;gBACT,YAAY;gBACZ,6BAA6B;gBAC7B,QAAQ;gBACR,SAAS;gBACT,GAAG;gBACH,YAAY;gBACZ,SAAS;gBACT,YAAY;gBACZ,sBAAsB;gBACtB,QAAQ;gBACR,SAAS;gBACT,GAAG;gBACH,UAAU;gBACV,SAAS;gBACT,YAAY;gBACZ,UAAU;YAChB,CAAC,CAAC,+DAA+D;gBAC3D,yBAAyB;gBACzB,QAAQ;gBACR,SAAS;gBACT,GAAG;gBACH,UAAU;gBACV,SAAS;gBACT,OAAO;gBACP,yBAAyB;gBACzB,QAAQ;gBACR,SAAS;gBACT,GAAG;gBACH,YAAY;gBACZ,SAAS;gBACT,OAAO;gBACP,mBAAmB;gBACnB,QAAQ;gBACR,SAAS;gBACT,GAAG;gBACH,UAAU;gBACV,SAAS;gBACT,OAAO;gBACP,eAAe,CAC5B;aACA,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;aAC7B,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;aAC7C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;aACjD,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;YACG,UAAU;YACV,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACjD,IAAI,mBAAmB,IAAI,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;qBACrB,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;qBAC7B,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC;qBACrD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC;qBACjD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;qBAC5C,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAClC,IAAI,iBAAiB,EAAE,CAAC;oBACpB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;yBACZ,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,wBAAwB;yBACvD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;yBACtB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;yBACvB,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,mBAAmB,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CACzB,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CACpD,CAAC;oBAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM,YAAY,GAAG,aAAc,CAAC,UAAU,CAAC,CAAC;wBAChD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;6BACZ,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,wBAAwB;6BAC1D,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;6BAC7B,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;6BACpB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;6BACnB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;6BACtB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;6BACvB,KAAK,CACF,iBAAiB,EACjB,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,IAAI,CAC3C;6BACA,KAAK,CACF,kBAAkB,EAClB,OAAO,GAAG,YAAY,GAAG,IAAI,CAChC,CAAC;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,QAAmB,EAAE,MAAmB;IAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,4BAA4B;IAE9E,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAExC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAC1B,aAAwB,EACxB,IAAc,EACd,WAAyB,EAAE,kBAAkB;AAC7C,cAA+B,EAAE,OAAO;AACxC,MAAyB,EACzB,YAA+B,EAC/B,iBAAqC,CAAC,0FAA0F;;IAEhI,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CACrD,WAAW,EACX,IAAI,EACJ,cAAc,EACd,iBAAiB,CACpB,CAAC;IACF,aAAa,CAAC,KAAK,EAAE,CAAC;IAEtB,MAAM,iBAAiB,GAAG,sBAAsB,CAC5C,aAAa;IACb,+EAA+E;IAC/E,WAAW,CAAC,CAAC,CAAC,EACd,IAAI,CACP,CAAC;IAEF,mEAAmE;IACnE,oBAAoB,CAAC,aAAa,EAAE,MAAM,IAAI,iBAAiB,CAAC,CAAC;IACjE,mEAAmE;IACnE,aAAa,CAAC,aAAa,EAAE,YAAY,IAAI,MAAM,IAAI,iBAAiB,CAAC,CAAC;IAE1E,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,SAAS,yBAAyB,CAC9B,IAAuD,EACvD,IAAmD,EACnD,OAAoB,EACpB,KAAY,EACZ,IAAmC;IAEnC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAS,EAAE,EAAE;QACzC,MAAM,IAAI,GAAgB,IAAI,CAAC,CAAC,KAAK;QACrC,IAAI,CAAC;YACD,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;YAChB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,EAAE,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,KAAK,GAA6C;IACpD,aAAa;IACb,OAAO;IACP,UAAU;CACb,CAAC;AACF,MAAM,KAAK,GAAyC;IAChD,OAAO;IACP,QAAQ;IACR,WAAW;CACd,CAAC;AACF,SAAS,0BAA0B,CAC/B,GAAgB,EAChB,KAAY,EACZ,IAAmC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,sBAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC7D,KAAK,MAAM,OAAO,IAAI,QAAQ;YAC1B,KAAK,MAAM,IAAI,IAAI,KAAK;gBACpB,yBAAyB,CACrB,IAAI,EACJ,IAAI,EACJ,OAAsB,EACtB,KAAK,EACL,IAAI,CACP,CAAC;IACd,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CACZ,MAAmB,EACnB,WAAwB,EACxB,KAAY;IAEZ,MAAM,EAAE,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CACjB,KAAC,oBAAoB,IACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GACzD,CACL,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CACrB,aAA4B,EAC5B,IAAU;IAEV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAyB,CAAC;IAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAkC,CAAC,CAAC,+BAA+B;IACpG,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,kBAAkB,GAAG,MAAoC,CAAC,CAAC,+BAA+B;IAChG,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE1C,MAAM,KAAK,GACP,aAAa,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,OAAO;QACH,KAAK,EAAE,SAAS,EAAE,uCAAuC;QACzD,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAChE,IAAI,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;QACrE,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACpD,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;QACxD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;QACrD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACpC,oBAAoB,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,EAAE;QAC1D,2BAA2B,EACvB,OAAO,CAAC,uBAAuB,EAAE,IAAI,IAAI,EAAE;QAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC/C,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CACb,MAAmB,EACnB,WAAwB,EACxB,KAAY,EACZ,YAA0B,EAC1B,IAA0C;IAE1C,MAAM,EAAE,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CACjB,KAAC,oBAAoB,IACjB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,GACZ,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,QAAQ,CACpB,MAAmB,EACnB,WAAwB,EACxB,IAA4C;IAE5C,MAAM,EAAE,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CACjB,KAAC,qBAAqB,IAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAI,CAClE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,SAAS,CACrB,MAAmB,EACnB,WAAwB,EACxB,aAA4B,EAC5B,IAA4C;IAE5C,MAAM,EAAE,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvB,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CACjB,KAAC,qBAAqB,IAClB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,GACZ,CACL,CAAC;AACN,CAAC;AA4CD,MAAM,UAAU,mBAAmB,CAC/B,UAAoC,EACpC,UAA+B;IAE/B,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,UAAoC,CAAC;QACzD,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;QAChD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,aAAa,EAAE,OAAO,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,UAAU,GAAG,UAAU;oBACzB,CAAC,CAAC,MAAM,CAAC,WAAW;oBACpB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC1B,MAAM,CAAC,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,gCAAgC;gBACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,MAAM,UAAU,eAAe,CAC3B,UAAoC,EACpC,UAA+B,EAC/B,KAAa;IAEb,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;QACjE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACL,CAAC;AAsLD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,UAAU,EAAE;QACR,WAAW,EAAE,+CAA+C,EAAE,sBAAsB;KACvF;IACD,OAAO,EAAE;QACL,WAAW,EACP,4FAA4F;KACnG;IACD,WAAW,EAAE;QACT,WAAW,EACP,yJAAyJ;KAChK;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,sCAAsC;KACtD;IACD,iBAAiB,EAAE;QACf,WAAW,EACP,iFAAiF;KACxF;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,iBAAiB;KACjC;IACD,aAAa,EAAE;QACX,WAAW,EAAE,gBAAgB;KAChC;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,8BAA8B;KAC9C;IAED,MAAM,EAAE;QACJ,WAAW,EAAE,2BAA2B;KAC3C;IACD,YAAY,EAAE;QACV,WAAW,EAAE,uBAAuB;KACvC;IACD,SAAS,EAAE;QACP,WAAW,EAAE,wBAAwB;KACxC;IACD,WAAW,EAAE;QACT,WAAW,EAAE,iBAAiB,EAAE,uBAAuB;KAC1D;IACD,UAAU,EAAE;QACR,WAAW,EAAE,wBAAwB;KACxC;IACD,UAAU,EAAE;QACR,WAAW,EAAE,gBAAgB;KAChC;IACD,SAAS,EAAE;QACP,WAAW,EACP,kGAAkG;KACzG;IACD,OAAO,EAAE;QACL,WAAW,EACP,0BAA0B;YAC1B,2DAA2D;YAC3D,+DAA+D;YAC/D,iEAAiE;YACjE,gDAAgD;YAChD,yCAAyC;KAChD;IACD,eAAe;CAClB,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACnC,KAAuB,EACvB,SAA2B;IAE3B,6EAA6E;IAC7E,mCAAmC;IACnC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAEzD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtE,IAAI,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,OAAO,EAAE,cAAc;QACnE,OAAO,IAAI,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,OAAO,EAAE,eAAe;QACrE,OAAO,IAAI,CAAC;IAChB,IACI,KAAK,CAAC,OAAO,EAAE,kBAAkB;QACjC,SAAS,CAAC,OAAO,EAAE,kBAAkB;QAErC,OAAO,IAAI,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,OAAO,EAAE,cAAc;QACnE,OAAO,IAAI,CAAC;IAEhB,IACI,KAAK,CAAC,OAAO,EAAE,mBAAmB;QAClC,SAAS,CAAC,OAAO,EAAE,mBAAmB;QAEtC,OAAO,IAAI,CAAC;IAEhB,IACI,KAAK,CAAC,OAAO,EAAE,iBAAiB;QAChC,SAAS,CAAC,OAAO,EAAE,iBAAiB;QAEpC,OAAO,IAAI,CAAC;IAChB,IACI,KAAK,CAAC,OAAO,EAAE,mBAAmB;QAClC,SAAS,CAAC,OAAO,EAAE,mBAAmB;QAEtC,OAAO,IAAI,CAAC;IAEhB,YAAY;IACZ,cAAc;IAEd,OAAO,KAAK,CAAC;AACjB,CAAC;AASD,MAAM,WACF,SAAQ,SAAkC;IAG1C,8DAA8D;IACvD,MAAM,CAAC,SAAS,CAAsB;IAE7C,WAAW,CAAe;IAC1B,SAAS,CAAe;IACxB,KAAK,CAAe;IACpB,cAAc,CAAiB;IAE/B,aAAa,CAAa;IAC1B,UAAU,CAAqB,CAAC,yBAAyB;IACzD,SAAS,CAAqB,CAAC,kBAAkB;IACjD,aAAa,CAAsB;IAEnC,SAAS,CAAU;IAEnB,QAAQ,CAAW;IAEnB,iBAAiB,CAAgC;IAEjD,QAAQ,CAAU;IAElB,YAAY,KAAuB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACpC,CAAC,OAA8B,EAAQ,EAAE;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxB,0DAA0D;gBAC1D,4DAA4D;gBAE5D,IAAI,IAAI,CAAC,aAAa;oBAClB,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAEhD,IACI,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;oBAC3B,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;oBAE5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;QACL,CAAC,CACJ,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,EAAE;YACR,KAAK,EAAE;gBACH,OAAO,EAAE,EAAE;aACd;YACD,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACb,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAEnC,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,EAAE;YACT,cAAc,EAAE,CAAC;SACpB,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3D,qCAAqC;QACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI;YACnB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE;gBACH,OAAO,EAAE,IAAI;aAChB;YACD,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE;wBACH;4BACI,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,OAAO;4BACd,SAAS,EAAE,KAAK;4BAChB,UAAU,EAAE,KAAK;yBACpB;qBACJ;iBACJ;aACJ;YACD,MAAM,EAAE,EAAE;SACb,CACJ,CAAC,CAAC,4CAA4C;QAE/C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,qBAAqB,CACjB,SAA2B,EAC3B,SAAgB;QAEhB,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhE,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,kBAAkB,CAAC,SAA2B,EAAE,SAAgB;QAC5D,iDAAiD;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACjE,wCAAwC;YACxC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,oBAAoB,GAAa,EAAE,CAAC,CAAC,qBAAqB;QAC9D,IAAI,SAAS,GAA0B,SAAS,CAAC,CAAC,+BAA+B;QACjF,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IACI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;YAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc;gBAC9B,SAAS,CAAC,OAAO,EAAE,cAAc;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe;gBAC/B,SAAS,CAAC,OAAO,EAAE,eAAe;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc;gBAC9B,SAAS,CAAC,OAAO,EAAE,cAAc,EACvC,CAAC;YACC,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IACI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;YACxC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;YAChD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB;gBACnC,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAC5C,CAAC;YACC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACjC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,eAAe,GAAG,IAAI,CAAC;YACvB,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5C,eAAe,GAAG,IAAI,CAAC;YACvB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3C,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC/D,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,eAAe,GAAG,IAAI,CAAC,CAAC,mBAAmB;QAC/C,CAAC;QACD,IACI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;YAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAChD,CAAC;YACC,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACtD,eAAe,GAAG,IAAI,CAAC,CAAC,IAAI;QAChC,CAAC;QACD,IACI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;YAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB;gBACnC,SAAS,CAAC,OAAO,EAAE,mBAAmB;YAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB;gBACjC,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAC1C,CAAC;YACC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB;YACjD,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;YAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,2DAA2D;YACrF,IAAI,SAAS;gBAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;aAAM,IACH,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc;YACtD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB;gBAClC,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAC3C,CAAC;YACC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;QAED,IACI,IAAI,CAAC,KAAK,CAAC,MAAM;YACjB,CAAC,CAAC,SAAS,CAAC,MAAM;gBACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnD,CAAC;YACC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,IACI,IAAI,CAAC,KAAK,CAAC,YAAY;YACvB,CAAC,CAAC,SAAS,CAAC,YAAY;gBACpB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/D,CAAC;YACC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,IACI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,CAAC,CAAC,SAAS,CAAC,SAAS;gBACjB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACzD,CAAC;YACC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,eAAe;QACX,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,uBAAuB;YACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW;YACvC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG;YACnC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,yDAAyD;YAC5F,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,uBAAuB;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,SAAS,CAAC;gBAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;gBACjC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc;gBAC/C,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe;gBAChD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc;gBAC3C,YAAY,EAAE,CAAC,GAAgB,EAAE,KAAY,EAAE,EAAE,CAC7C,0BAA0B,CACtB,GAAG,EACH,KAAK,EACL,IAAI,CAAC,iBAAiB,CACzB;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,oEAAoE;YAEpE,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IACD,WAAW;QACP,4CAA4C;QAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CACnC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CACtD,CAAC;QACF,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE;YACzC,aAAa,EACT,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;gBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc;gBACxC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,6BAA6B;gBACzC,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,EAAE;YACZ,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;SAChC,CAAC;IACN,CAAC;IAED,SAAS,CAAC,WAAqB;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,uDAAuD;QAErG,IAAI,WAAW,EAAE,CAAC;YACd,+BAA+B;YAC/B,IAAI,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;oBAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACpC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CACxC,CAAC;gBACN,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAC1C,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/B,CAAC;YACF,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,8BAA8B;IACrD,CAAC;IAED,aAAa,CAAC,OAAwB;QAClC,OAAO,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,KAAY;YACzD,OAAO,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IACD,iBAAiB;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IACD,sBAAsB;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IACD,wBAAwB;QACpB,MAAM,YAAY,GACd,IAAI,CAAC,KAAK,CAAC,YAAY;YACvB,IAAI,CAAC,KAAK,CAAC,MAAM;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;IACL,CAAC;IAED;;QAEI;IACJ,aAAa;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,aAAa;YAAE,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;IACjC,CAAC;IACD,gBAAgB;QACZ,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,IAAY,MAAM,CAAC,GAAG;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,uBAAuB;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,sBAAsB;QAEvD,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,EAAmB;QACjC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,MAAgB;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,UAAU;IACV,aAAa,CAAC,MAAa;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,eAAe,CAAC,CAAS;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,WAAW,CAAC,IAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,aAAa;QACT,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB;YACvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB;YACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClB,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,UAAU;gBACnB,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,aAAa,CACT,KAAK,EACL,MAAM,EACN,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,UAAU,EACV,IAAI,CAAC,aAAa,CACrB,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YACxB,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,OAAO,EAAE,CAAC;wBACV,qDAAqD;wBACrD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;wBAC3C,aAAa,CACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,IAAI,CAAC,aAAa,CACrB,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IACD,aAAa,CAAC,SAAoB;QAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAChE,OAAO;QACX,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;QAElD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,uCAAuC;IAC9D,CAAC;IAED,oBAAoB,CAAC,MAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,oBAAoB;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,gBAAgB;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IACD,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,GAAG,CAAC;QACpC,OAAO,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IACD,mBAAmB;QACf,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,eAAe,CAAC,KAAa;QACzB,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,eAAe;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,SAAS,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,SAAS;IACT,cAAc;QACV,gBAAgB;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;IAC3D,CAAC;IACD,kBAAkB,CAAC,GAAW;QAC1B,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3C,IAAI,MAAM,GAAG,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,mBAAmB;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAChE,CAAC;IACD,yBAAyB;QACrB,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,WAAW;gBACnB,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,mBAAmB;QACf,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;QACtE,CAAC;IACL,CAAC;IAED,aAAa,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAsB,EAAE,EAAE,CAAC,CAAC;YACvC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CACnC,KAAK,CAAC,cAAc,GAAG,KAAK,CAC/B;SACJ,CAAC,CAAC,CAAC;IACR,CAAC;IAED,aAAa,CAAC,GAAW;QACrB,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAsB,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,cAAc,KAAK,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACjD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC;IACX,CAAC;IACD,iBAAiB;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IACrC,CAAC;IACD,oBAAoB;QAChB,gBAAgB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvD,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC9D,CAAC;IAED,uBAAuB;QACnB,OAAO,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IACD,uBAAuB,CAAC,SAAmB;QACvC,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACvE,IAAI,OAAO;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,UAAU;QACN,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,uCAAuC;IAC3D,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IACxD,CAAC;IAED,cAAc;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACjE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO;YACH,GAAG,IAAI,CAAC,QAAQ;YAChB,MAAM,EAAE,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9C,MAAM,EAAE,EAAE;SACb,CAAC;IACN,CAAC;IAED,WAAW,CAAC,QAAkB,EAAE,MAAgB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C;YAC9E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrB,6BAA6B;YAC7B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,gCAAgC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,YAAY,CAAC,KAAK,CAAC;oBAAE,SAAS;gBAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEvE,yBAAyB;QACzB,IAAI,CAAC,WAAW,CAAC;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE;gBACH,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,oBAAoB;gBAC1D,cAAc,EACV,QAAQ,CAAC,KAAK,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;aACxD;YACD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ,CAAC,MAAM;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,8FAA8F;IAC9F,8FAA8F;IAC9F,SAAS,CAAC,YAAmB,EAAE,aAA4B;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE1D,gEAAgE;QAChE,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE9B,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACtE,oEAAoE;QACpE,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,kBAAkB,CAC/B,IAAI,CAAC,aAAa,EAClB,aAAa,EACb,SAAS,EACT,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAC9B,CAAC;QAEF,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAExC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,oEAAoE;QACpE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,KAAY,EAAE,gBAA+B;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEvD,aAAa,CACT,IAAI,CAAC,aAAa,EAClB,KAAK,EACL,gBAAgB,EAChB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,EAC3B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/B,CAAC;QAEF,IAAI,YAAY;YACZ,2DAA2D;YAC3D,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAErC,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,KAAY;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE1D,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAC5C,CAAC;IAED,eAAe,CAAC,KAAY;QACxB,OAAO,CACH,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CACrE,CAAC;IACN,CAAC;IAED,WAAW,CAAC,KAAY,EAAE,QAAiB;QACvC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,aAAa;YAClB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC7C,yDAAyD;gBACzD,IACI,WAAW,CACP,IAAI,CAAC,aAAa,EAClB,MAAM,EACN,QAAQ,IAAI,KAAK,KAAK,MAAM,CAC/B;oBAED,OAAO,GAAG,IAAI,CAAC;YACvB,CAAC;QACL,IAAI,OAAO;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAErC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,8FAA8F;IAC9F,8FAA8F;IAC9F,YAAY,CAAC,KAAY,EAAE,YAA0B;QACjD,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE1D,cAAc,CACV,KAAK,EACL,YAAY,EACZ,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,EAC3B,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/B,CAAC;QAEF,+BAA+B,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAY,EAAE,IAAU,EAAE,YAA0B;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE1D;;;;UAIE;QAEF,aAAa,CACT,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,EAC3B,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/B,CAAC;QAEF,+BAA+B,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAC5C,CAAC;IAED,eAAe,CAAC,KAAY,EAAE,IAAU;QACpC,IAAI,CAAC,IAAI,CAAC,aAAa;YACnB,OAAO,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE1D,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,+BAA+B,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,gCAAgC,EAAE,CAAC;IAC5C,CAAC;IAED,8FAA8F;IAC9F,8FAA8F;IAC9F,QAAQ,CAAC,MAA0B,EAAE,YAAmB;QACpD,IAAI,MAAM,EAAE,CAAC;YACT,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IACD,SAAS,CAAC,MAA0B,EAAE,KAAY;QAC9C,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9C,SAAS,CACL,MAAM,EACN,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CACpC,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,CAAC,MAA0B,EAAE,KAAY;QAC5C,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,MAA0B,EAAE,KAAY,EAAE,IAAU;QACzD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC3D,QAAQ,CACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAC9C,CAAC;QACN,CAAC;IACL,CAAC;IAED,eAAe,CACX,SAA+C,CAAC,aAAa;;QAE7D,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QACtE,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;QAChE,OAAO,SAAS,CAAC,CAAC,SAAS;IAC/B,CAAC;IAED,MAAM;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,OAAO,CACH,eACI,SAAS,EAAC,aAAa,CAAC,wBAAwB;cAChD,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,aAEtD,SAAS,IAAI,CACV,cACI,SAAS,EACL,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,EAEnD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;wBACR,IAAI,CAAC,KAAK,GAAG,EAAiB,CAAC;oBACnC,CAAC,YAEA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAC9B,CACT,EACD,eAAK,SAAS,EAAC,MAAM,aACjB,cACI,SAAS,EAAC,WAAW,CAAC,wBAAwB;8BAC9C,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;gCACR,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC;4BACvC,CAAC,GACH,EACD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CACrB,cAAK,SAAS,EAAC,OAAO,YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAO,CACtD,IACC,IACJ,CACT,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC;IACnD;;OAEG;IACH,cAAc,EAAE,SAAS,CAAC,MAAM;IAEhC;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC,MAAM;IAEpC;;OAEG;IACH,mBAAmB,EAAE,SAAS,CAAC,IAAI;IAEnC;;OAEG;IACH,cAAc,EAAE,SAAS,CAAC,IAAI;IAE9B;;OAEG;IACH,eAAe,EAAE,SAAS,CAAC,IAAI;IAE/B;;OAEG;IACH,mBAAmB,EAAE,SAAS,CAAC,IAAI;IAEnC;;OAEG;IACH,qBAAqB,EAAE,SAAS,CAAC,IAAI;CACxC,CAAC,CAAC;AAEH,WAAW,CAAC,SAAS,GAAG,qBAAqB,EAAE,CAAC;AAEhD,MAAM,UAAU,qBAAqB;IACjC,OAAO;QACH;;;;WAIG;QACH,EAAE,EAAE,SAAS,CAAC,MAAM;QAEpB;;WAEG;QACH,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc;QAEjF;;;WAGG;QACH,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAEhD;;WAEG;QACH,QAAQ,EAAE,YAAY,CAAC,UAAU;QAEjC;;WAEG;QACH,iBAAiB,EAAE,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,UAAU;QAElE;;WAEG;QACH,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAE/C;;WAEG;QACH,aAAa,EAAE,iBAAiB;QAEhC;;WAEG;QACH,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;QAEzC;;WAEG;QACH,UAAU,EAAE,SAAS,CAAC,IAAI;QAE1B;;WAEG;QACH,WAAW,EAAE,SAAS,CAAC,MAAM;QAE7B;;WAEG;QACH,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,8BAA8B;QAE3D;;WAEG;QACH,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,8BAA8B;QAE3D;;WAEG;QACH,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;YAC3B,SAAS,CAAC,IAAI;YACd,SAAS,CAAC,MAAM;YAChB,SAAS,CAAC,OAAO,CAAC,mBAAmB;SACxC,CAAC;QAEF;;WAEG;QACH,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAE3C;;WAEG;QACH,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAEjD;;WAEG;QACH,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAE9C;;WAEG;QACH,OAAO,EAAE,uBAAuB;KACnC,CAAC;AACN,CAAC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { default as WellLogView, WellPickPropsType } from "./WellLogView";
|
|
2
|
-
export type { TrackMouseEvent, WellLogController, WellLogViewOptions, WellLogViewProps, WellPickProps, } from "./WellLogView";
|
|
1
|
+
export { default as WellLogView, WellPickPropsType, defaultWellPickLabels, applyWellPickLabelFormatting, } from "./WellLogView";
|
|
2
|
+
export type { TrackMouseEvent, WellLogController, WellLogViewOptions, WellLogViewProps, WellPickProps, WellPickLabelInput, WellPickLabels, } from "./WellLogView";
|
|
3
3
|
export { default as WellLogViewWithScroller } from "./WellLogViewWithScroller";
|
|
4
4
|
export type { WellLogViewWithScrollerProps } from "./WellLogViewWithScroller";
|
|
5
5
|
export { default as WellLogSpacer } from "./WellLogSpacer";
|
package/dist/components/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as WellLogView, WellPickPropsType } from "./WellLogView";
|
|
1
|
+
export { default as WellLogView, WellPickPropsType, defaultWellPickLabels, applyWellPickLabelFormatting, } from "./WellLogView";
|
|
2
2
|
export { default as WellLogViewWithScroller } from "./WellLogViewWithScroller";
|
|
3
3
|
export { default as WellLogSpacer } from "./WellLogSpacer";
|
|
4
4
|
export { WellLogLayout } from "./WellLogLayout";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,IAAI,WAAW,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2B3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the next color from a shared 8-entry palette, cycling once
|
|
3
|
+
* exhausted. The palette index is a module-level counter shared by every
|
|
4
|
+
* caller in the process, by design: real apps rendering several
|
|
5
|
+
* `WellLogView`s rely on it to hand out non-colliding default colors across
|
|
6
|
+
* instances.
|
|
7
|
+
*
|
|
8
|
+
* That sharing also means the color any one caller gets depends on how many
|
|
9
|
+
* times `generateColor()` ran before it - unwanted for a caller that needs
|
|
10
|
+
* colors independent of unrelated call order (e.g. Storybook stories). Use
|
|
11
|
+
* {@link createColorGenerator} for that case instead.
|
|
12
|
+
*/
|
|
1
13
|
export declare function generateColor(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Resets {@link generateColor}'s shared counter to the start of the palette.
|
|
16
|
+
*
|
|
17
|
+
* Test-harness-only (see `.storybook/preview.tsx`): resetting mid-session in
|
|
18
|
+
* a real app would break the cross-instance color assignment this counter
|
|
19
|
+
* exists for. Only safe to call immediately before a full story/page
|
|
20
|
+
* remount, never mid-render.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resetColorGenerator(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Creates an independent color generator over the same 8-entry palette as
|
|
25
|
+
* {@link generateColor}, but with its own counter that never reads or
|
|
26
|
+
* advances the shared one - safe for callers that need deterministic colors
|
|
27
|
+
* regardless of unrelated call order (e.g. Storybook stories).
|
|
28
|
+
*
|
|
29
|
+
* @returns A zero-argument function returning the next color each call,
|
|
30
|
+
* cycling once the palette is exhausted.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createColorGenerator(): () => string;
|
|
@@ -9,7 +9,43 @@ const __colors = [
|
|
|
9
9
|
"brown",
|
|
10
10
|
];
|
|
11
11
|
let __iPlotColor = 0;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the next color from a shared 8-entry palette, cycling once
|
|
14
|
+
* exhausted. The palette index is a module-level counter shared by every
|
|
15
|
+
* caller in the process, by design: real apps rendering several
|
|
16
|
+
* `WellLogView`s rely on it to hand out non-colliding default colors across
|
|
17
|
+
* instances.
|
|
18
|
+
*
|
|
19
|
+
* That sharing also means the color any one caller gets depends on how many
|
|
20
|
+
* times `generateColor()` ran before it - unwanted for a caller that needs
|
|
21
|
+
* colors independent of unrelated call order (e.g. Storybook stories). Use
|
|
22
|
+
* {@link createColorGenerator} for that case instead.
|
|
23
|
+
*/
|
|
12
24
|
export function generateColor() {
|
|
13
25
|
return __colors[__iPlotColor++ % __colors.length];
|
|
14
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Resets {@link generateColor}'s shared counter to the start of the palette.
|
|
29
|
+
*
|
|
30
|
+
* Test-harness-only (see `.storybook/preview.tsx`): resetting mid-session in
|
|
31
|
+
* a real app would break the cross-instance color assignment this counter
|
|
32
|
+
* exists for. Only safe to call immediately before a full story/page
|
|
33
|
+
* remount, never mid-render.
|
|
34
|
+
*/
|
|
35
|
+
export function resetColorGenerator() {
|
|
36
|
+
__iPlotColor = 0;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates an independent color generator over the same 8-entry palette as
|
|
40
|
+
* {@link generateColor}, but with its own counter that never reads or
|
|
41
|
+
* advances the shared one - safe for callers that need deterministic colors
|
|
42
|
+
* regardless of unrelated call order (e.g. Storybook stories).
|
|
43
|
+
*
|
|
44
|
+
* @returns A zero-argument function returning the next color each call,
|
|
45
|
+
* cycling once the palette is exhausted.
|
|
46
|
+
*/
|
|
47
|
+
export function createColorGenerator() {
|
|
48
|
+
let iPlotColor = 0;
|
|
49
|
+
return () => __colors[iPlotColor++ % __colors.length];
|
|
50
|
+
}
|
|
15
51
|
//# sourceMappingURL=generateColor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateColor.js","sourceRoot":"","sources":["../../src/utils/generateColor.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IACb,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,OAAO;CACV,CAAC;AACF,IAAI,YAAY,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generateColor.js","sourceRoot":"","sources":["../../src/utils/generateColor.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IACb,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,OAAO;CACV,CAAC;AACF,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,QAAQ,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IAC/B,YAAY,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -3,17 +3,14 @@ import { renderBasicPlotLegend } from "./legend/common"; //import { renderBasicP
|
|
|
3
3
|
import { isFunction } from "./color-function";
|
|
4
4
|
import { getInterpolatedColorString } from "./color-table";
|
|
5
5
|
import { color4ToString } from "./color-table";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
.attr("x2", "100%") //since it's a horizontal linear gradient
|
|
15
|
-
.attr("y1", "0%")
|
|
16
|
-
.attr("y2", "0%");
|
|
6
|
+
/**
|
|
7
|
+
* Builds the gradient's colour stops. Pure: the result depends only on the
|
|
8
|
+
* colormap and the optional logarithmic ratio, never on render order or on
|
|
9
|
+
* how many gradients were built before it. Kept separate from the DOM code
|
|
10
|
+
* so the stops can be hashed into the gradient's id before being appended.
|
|
11
|
+
*/
|
|
12
|
+
function computeGradientStops(colormapFunction, rLogarithmic) {
|
|
13
|
+
const stops = [];
|
|
17
14
|
if (rLogarithmic !== undefined) {
|
|
18
15
|
const yDelta = Math.log(rLogarithmic); // log(max/min)
|
|
19
16
|
const d = rLogarithmic - 1;
|
|
@@ -22,35 +19,89 @@ function createGradient(g, colormapFunction, rLogarithmic) {
|
|
|
22
19
|
const fraction = i / nIntervals;
|
|
23
20
|
const y = 1 + fraction * d;
|
|
24
21
|
const v = Math.log(y) / yDelta;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
stops.push({
|
|
23
|
+
offset: fraction * 100.0 + "%",
|
|
24
|
+
color: getInterpolatedColorString(colormapFunction, v),
|
|
25
|
+
});
|
|
29
26
|
}
|
|
30
27
|
}
|
|
31
|
-
else {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
.style("stop-color", c);
|
|
40
|
-
}
|
|
28
|
+
else if (isFunction(colormapFunction)) {
|
|
29
|
+
const nIntervals = 25; // set some not very big value to smooth filling
|
|
30
|
+
for (let i = 0; i <= nIntervals; i++) {
|
|
31
|
+
const fraction = i / nIntervals;
|
|
32
|
+
stops.push({
|
|
33
|
+
offset: fraction * 100.0 + "%",
|
|
34
|
+
color: getInterpolatedColorString(colormapFunction, fraction),
|
|
35
|
+
});
|
|
41
36
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const table = colormapFunction;
|
|
40
|
+
const colors = table.colors;
|
|
41
|
+
for (let i = 0; i < colors.length; i++) {
|
|
42
|
+
const color = colors[i];
|
|
43
|
+
stops.push({
|
|
44
|
+
offset: color[0] * 100.0 + "%",
|
|
45
|
+
color: color4ToString(color),
|
|
46
|
+
});
|
|
52
47
|
}
|
|
53
48
|
}
|
|
49
|
+
return stops;
|
|
50
|
+
}
|
|
51
|
+
/** FNV-1a, rendered base36. Small, dependency-free and stable across runs. */
|
|
52
|
+
function hashString(text) {
|
|
53
|
+
let hash = 0x811c9dc5;
|
|
54
|
+
for (let i = 0; i < text.length; i++) {
|
|
55
|
+
hash ^= text.charCodeAt(i);
|
|
56
|
+
hash = Math.imul(hash, 0x01000193);
|
|
57
|
+
}
|
|
58
|
+
return (hash >>> 0).toString(36);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Builds the gradient's DOM id from the plot it belongs to plus a hash of
|
|
62
|
+
* the stops themselves, so the id is fully determined by what the gradient
|
|
63
|
+
* *is* rather than by how many gradients happened to be created before it.
|
|
64
|
+
*
|
|
65
|
+
* Both inputs are order-independent: `plot.id` is derived from the template
|
|
66
|
+
* (see `buildPlotConfig`), and the stops come from `computeGradientStops`.
|
|
67
|
+
* Two ids therefore collide only when the plot slot and every stop match -
|
|
68
|
+
* i.e. the gradients are interchangeable, so sharing one definition renders
|
|
69
|
+
* identically.
|
|
70
|
+
*/
|
|
71
|
+
function makeGradientId(plot, idSuffix, stops) {
|
|
72
|
+
const key = stops.map((s) => s.offset + ":" + s.color).join("|");
|
|
73
|
+
// The "grad-" prefix keeps the id a valid NCName even when plot.id
|
|
74
|
+
// starts with a digit, as the template-derived "<set>-<curve>" form does.
|
|
75
|
+
const base = String(plot.id).replace(/[^A-Za-z0-9_-]/g, "-");
|
|
76
|
+
return ("grad-" +
|
|
77
|
+
base +
|
|
78
|
+
(idSuffix ? "-" + idSuffix : "") +
|
|
79
|
+
"-" +
|
|
80
|
+
hashString(key));
|
|
81
|
+
}
|
|
82
|
+
function createGradient(g, colormapFunction, plot, idSuffix, rLogarithmic) {
|
|
83
|
+
const stops = computeGradientStops(colormapFunction, rLogarithmic);
|
|
84
|
+
const id = makeGradientId(plot, idSuffix, stops);
|
|
85
|
+
// Identical gradients share an id, so reuse an existing definition
|
|
86
|
+
// rather than emitting a duplicate. Re-checked on every render because
|
|
87
|
+
// legend groups are cleared and rebuilt on each redraw.
|
|
88
|
+
const svgRoot = g.node()?.ownerSVGElement;
|
|
89
|
+
if (svgRoot?.querySelector(`[id="${id}"]`)) {
|
|
90
|
+
return id;
|
|
91
|
+
}
|
|
92
|
+
const lg = g
|
|
93
|
+
.append("defs")
|
|
94
|
+
.append("linearGradient")
|
|
95
|
+
.attr("id", id) //id of the gradient
|
|
96
|
+
.attr("x1", "0%")
|
|
97
|
+
.attr("x2", "100%") //since it's a horizontal linear gradient
|
|
98
|
+
.attr("y1", "0%")
|
|
99
|
+
.attr("y2", "0%");
|
|
100
|
+
for (const stop of stops) {
|
|
101
|
+
lg.append("stop")
|
|
102
|
+
.attr("offset", stop.offset)
|
|
103
|
+
.style("stop-color", stop.color);
|
|
104
|
+
}
|
|
54
105
|
return id;
|
|
55
106
|
}
|
|
56
107
|
/**
|
|
@@ -79,7 +130,7 @@ export default function renderGradientFillPlotLegend(g, bounds, legendInfo, plot
|
|
|
79
130
|
? options.colorMapFunction
|
|
80
131
|
: options.inverseColorMapFunction;
|
|
81
132
|
if (colormapFunction) {
|
|
82
|
-
const id = createGradient(g, colormapFunction, options.scale === "linear" && options.colorScale === "log"
|
|
133
|
+
const id = createGradient(g, colormapFunction, plot, "a", options.scale === "linear" && options.colorScale === "log"
|
|
83
134
|
? max / min
|
|
84
135
|
: undefined);
|
|
85
136
|
fillNrm = "url(#" + id + ")";
|
|
@@ -89,7 +140,7 @@ export default function renderGradientFillPlotLegend(g, bounds, legendInfo, plot
|
|
|
89
140
|
? options.inverseColorMapFunction
|
|
90
141
|
: options.colorMapFunction;
|
|
91
142
|
if (colormapFunction) {
|
|
92
|
-
const id = createGradient(g, colormapFunction, options.scale === "linear" &&
|
|
143
|
+
const id = createGradient(g, colormapFunction, plot, "b", options.scale === "linear" &&
|
|
93
144
|
(options.inverseColorScale || options.colorScale) === "log"
|
|
94
145
|
? max / min
|
|
95
146
|
: undefined);
|
|
@@ -119,7 +170,7 @@ export default function renderGradientFillPlotLegend(g, bounds, legendInfo, plot
|
|
|
119
170
|
const colormapFunction = options.colorMapFunction;
|
|
120
171
|
if (colormapFunction) {
|
|
121
172
|
const [min, max] = plot.scale.domain();
|
|
122
|
-
const id = createGradient(g, colormapFunction, options.scale === "linear" && options.colorScale === "log"
|
|
173
|
+
const id = createGradient(g, colormapFunction, plot, "", options.scale === "linear" && options.colorScale === "log"
|
|
123
174
|
? max / min
|
|
124
175
|
: undefined);
|
|
125
176
|
fillNrm = "url(#" + id + ")";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradientfill-plot-legend.js","sourceRoot":"","sources":["../../src/utils/gradientfill-plot-legend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC,CAAC,yFAAyF;AAIlJ,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"gradientfill-plot-legend.js","sourceRoot":"","sources":["../../src/utils/gradientfill-plot-legend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escapes the characters that are significant in HTML (`&`, `<`, `>`, `"`,
|
|
3
|
+
* `'`) so that arbitrary text can be safely embedded in an HTML string
|
|
4
|
+
* without being interpreted as markup.
|
|
5
|
+
*/
|
|
6
|
+
export function htmlEscape(text) {
|
|
7
|
+
return text
|
|
8
|
+
.replace(/&/g, "&")
|
|
9
|
+
.replace(/</g, "<")
|
|
10
|
+
.replace(/>/g, ">")
|
|
11
|
+
.replace(/"/g, """)
|
|
12
|
+
.replace(/'/g, "'");
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=htmlEscape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htmlEscape.js","sourceRoot":"","sources":["../../src/utils/htmlEscape.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,IAAI;SACN,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/utils/template.d.ts
CHANGED
|
@@ -6,9 +6,13 @@ import type { WellLogCurve } from "../components/WellLogTypes";
|
|
|
6
6
|
/**
|
|
7
7
|
* Applies styles in a template to it's tracks, adding defaults values for missing fields
|
|
8
8
|
* @param template The log viewer template.
|
|
9
|
+
* @param nextColor Optional color generator used to fill in missing plot
|
|
10
|
+
* colors. Defaults to the shared `generateColor()`; pass an independent
|
|
11
|
+
* generator (e.g. from `createColorGenerator()`) to resolve colors without
|
|
12
|
+
* consuming from (or being affected by) the shared, module-level counter.
|
|
9
13
|
* @returns An array of styled template tracks.
|
|
10
14
|
*/
|
|
11
|
-
export declare function getStyledTemplateTracks(template: Template): TemplateTrack[];
|
|
15
|
+
export declare function getStyledTemplateTracks(template: Template, nextColor?: () => string): TemplateTrack[];
|
|
12
16
|
/**
|
|
13
17
|
* Determines if a template track is a stacked track.
|
|
14
18
|
* @param templateTrack The template track to check.
|
package/dist/utils/template.js
CHANGED
|
@@ -7,21 +7,25 @@ import { elementByName, indexOfElementByName } from "./arrays";
|
|
|
7
7
|
/**
|
|
8
8
|
* Applies styles in a template to it's tracks, adding defaults values for missing fields
|
|
9
9
|
* @param template The log viewer template.
|
|
10
|
+
* @param nextColor Optional color generator used to fill in missing plot
|
|
11
|
+
* colors. Defaults to the shared `generateColor()`; pass an independent
|
|
12
|
+
* generator (e.g. from `createColorGenerator()`) to resolve colors without
|
|
13
|
+
* consuming from (or being affected by) the shared, module-level counter.
|
|
10
14
|
* @returns An array of styled template tracks.
|
|
11
15
|
*/
|
|
12
|
-
export function getStyledTemplateTracks(template) {
|
|
16
|
+
export function getStyledTemplateTracks(template, nextColor = generateColor) {
|
|
13
17
|
if (!template.styles)
|
|
14
18
|
return template.tracks;
|
|
15
|
-
return template.tracks.map((track) => applyStylesToTemplateTrack(track, template.styles));
|
|
19
|
+
return template.tracks.map((track) => applyStylesToTemplateTrack(track, template.styles, nextColor));
|
|
16
20
|
}
|
|
17
|
-
function applyStylesToTemplateTrack(templateTrack, templateStyles) {
|
|
18
|
-
const styledPlots = templateTrack.plots.map((plot) => applyTemplateStyle(plot, templateStyles));
|
|
21
|
+
function applyStylesToTemplateTrack(templateTrack, templateStyles, nextColor) {
|
|
22
|
+
const styledPlots = templateTrack.plots.map((plot) => applyTemplateStyle(plot, templateStyles, nextColor));
|
|
19
23
|
return {
|
|
20
24
|
...templateTrack,
|
|
21
25
|
plots: styledPlots,
|
|
22
26
|
};
|
|
23
27
|
}
|
|
24
|
-
function applyTemplateStyle(templatePlot, templateStyles) {
|
|
28
|
+
function applyTemplateStyle(templatePlot, templateStyles, nextColor) {
|
|
25
29
|
const styledTemplate = applyStyleToTemplatePlot(templatePlot, templateStyles);
|
|
26
30
|
if (!styledTemplate.type)
|
|
27
31
|
styledTemplate.type = DEFAULT_PLOT_TYPE;
|
|
@@ -35,28 +39,28 @@ function applyTemplateStyle(templatePlot, templateStyles) {
|
|
|
35
39
|
}
|
|
36
40
|
if (styledTemplate.type !== "stacked") {
|
|
37
41
|
if (!styledTemplate.color)
|
|
38
|
-
styledTemplate.color =
|
|
42
|
+
styledTemplate.color = nextColor();
|
|
39
43
|
}
|
|
40
44
|
if (styledTemplate.type === "area") {
|
|
41
45
|
if (!styledTemplate.fill) {
|
|
42
|
-
//styledTemplate.fill =
|
|
46
|
+
//styledTemplate.fill = nextColor();
|
|
43
47
|
styledTemplate.fillOpacity = 0.25;
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
else if (styledTemplate.type === "gradientfill") {
|
|
47
51
|
if (!styledTemplate.colorMapFunctionName) {
|
|
48
|
-
//styledTemplate.fill =
|
|
52
|
+
//styledTemplate.fill = nextColor();
|
|
49
53
|
styledTemplate.fillOpacity = 0.25;
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
else if (styledTemplate.type === "differential") {
|
|
53
57
|
// "differential" plot
|
|
54
58
|
if (!styledTemplate.fill)
|
|
55
|
-
styledTemplate.fill =
|
|
59
|
+
styledTemplate.fill = nextColor();
|
|
56
60
|
if (!styledTemplate.color2)
|
|
57
|
-
styledTemplate.color2 =
|
|
61
|
+
styledTemplate.color2 = nextColor();
|
|
58
62
|
if (!styledTemplate.fill2)
|
|
59
|
-
styledTemplate.fill2 =
|
|
63
|
+
styledTemplate.fill2 = nextColor();
|
|
60
64
|
}
|
|
61
65
|
return styledTemplate;
|
|
62
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webviz/well-log-viewer",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.5",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/equinor/webviz-subsurface-components.git",
|
|
10
|
+
"directory": "typescript/packages/well-log-viewer"
|
|
11
|
+
},
|
|
7
12
|
"description": "",
|
|
8
13
|
"main": "dist/index.js",
|
|
9
14
|
"types": "dist/index.d.ts",
|
|
@@ -27,7 +32,7 @@
|
|
|
27
32
|
"dependencies": {
|
|
28
33
|
"@emerson-eps/color-tables": "^1.1.0",
|
|
29
34
|
"@equinor/videx-wellog": "^0.11.3",
|
|
30
|
-
"@webviz/wsc-common": "2.0.
|
|
35
|
+
"@webviz/wsc-common": "2.0.4",
|
|
31
36
|
"convert-units": "^2.3.4",
|
|
32
37
|
"d3": "^7.8.2"
|
|
33
38
|
},
|