@lodestar/fork-choice 1.41.0-dev.f36ec31497 → 1.41.0-dev.f7a5f4ddda
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/forkChoice/errors.js +6 -3
- package/lib/forkChoice/errors.js.map +1 -1
- package/lib/forkChoice/forkChoice.d.ts +11 -11
- package/lib/forkChoice/forkChoice.d.ts.map +1 -1
- package/lib/forkChoice/forkChoice.js +18 -23
- package/lib/forkChoice/forkChoice.js.map +1 -1
- package/lib/forkChoice/interface.d.ts +11 -11
- package/lib/forkChoice/interface.d.ts.map +1 -1
- package/lib/forkChoice/interface.js +6 -3
- package/lib/forkChoice/interface.js.map +1 -1
- package/lib/forkChoice/safeBlocks.js.map +1 -1
- package/lib/forkChoice/store.d.ts +10 -10
- package/lib/forkChoice/store.d.ts.map +1 -1
- package/lib/forkChoice/store.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/metrics.d.ts.map +1 -1
- package/lib/metrics.js.map +1 -1
- package/lib/protoArray/computeDeltas.js.map +1 -1
- package/lib/protoArray/errors.js +4 -2
- package/lib/protoArray/errors.js.map +1 -1
- package/lib/protoArray/interface.js +4 -2
- package/lib/protoArray/interface.js.map +1 -1
- package/lib/protoArray/protoArray.d.ts +8 -8
- package/lib/protoArray/protoArray.d.ts.map +1 -1
- package/lib/protoArray/protoArray.js +16 -32
- package/lib/protoArray/protoArray.js.map +1 -1
- package/package.json +9 -9
- package/src/forkChoice/forkChoice.ts +33 -33
- package/src/forkChoice/interface.ts +18 -10
- package/src/forkChoice/store.ts +11 -11
- package/src/index.ts +1 -1
- package/src/protoArray/protoArray.ts +24 -35
package/lib/forkChoice/errors.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { LodestarError } from "@lodestar/utils";
|
|
2
|
-
export
|
|
2
|
+
export { InvalidBlockCode };
|
|
3
|
+
var InvalidBlockCode;
|
|
3
4
|
(function (InvalidBlockCode) {
|
|
4
5
|
InvalidBlockCode["UNKNOWN_PARENT"] = "UNKNOWN_PARENT";
|
|
5
6
|
InvalidBlockCode["FUTURE_SLOT"] = "FUTURE_SLOT";
|
|
6
7
|
InvalidBlockCode["FINALIZED_SLOT"] = "FINALIZED_SLOT";
|
|
7
8
|
InvalidBlockCode["NOT_FINALIZED_DESCENDANT"] = "NOT_FINALIZED_DESCENDANT";
|
|
8
9
|
})(InvalidBlockCode || (InvalidBlockCode = {}));
|
|
9
|
-
export
|
|
10
|
+
export { InvalidAttestationCode };
|
|
11
|
+
var InvalidAttestationCode;
|
|
10
12
|
(function (InvalidAttestationCode) {
|
|
11
13
|
/**
|
|
12
14
|
* The attestations aggregation bits were empty when they shouldn't be.
|
|
@@ -51,7 +53,8 @@ export var InvalidAttestationCode;
|
|
|
51
53
|
*/
|
|
52
54
|
InvalidAttestationCode["INVALID_DATA_INDEX"] = "INVALID_DATA_INDEX";
|
|
53
55
|
})(InvalidAttestationCode || (InvalidAttestationCode = {}));
|
|
54
|
-
export
|
|
56
|
+
export { ForkChoiceErrorCode };
|
|
57
|
+
var ForkChoiceErrorCode;
|
|
55
58
|
(function (ForkChoiceErrorCode) {
|
|
56
59
|
ForkChoiceErrorCode["INVALID_ATTESTATION"] = "FORKCHOICE_ERROR_INVALID_ATTESTATION";
|
|
57
60
|
ForkChoiceErrorCode["INVALID_BLOCK"] = "FORKCHOICE_ERROR_INVALID_BLOCK";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/forkChoice/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/forkChoice/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;SAElC,gBAAgB;AAA5B,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,qDAAiC,CAAA;IACjC,+CAA2B,CAAA;IAC3B,qDAAiC,CAAA;IACjC,yEAAqD,CAAA;AAAC,CACxD,EALY,gBAAgB,KAAhB,gBAAgB,QAK3B;SAQW,sBAAsB;AAAlC,IAAY,sBA2CX;AA3CD,WAAY,sBAAsB;IAChC;;OAEG;IACH,mFAAyD,CAAA;IACzD;;OAEG;IACH,mEAAyC,CAAA;IACzC;;;OAGG;IACH,+DAAqC,CAAA;IACrC;;OAEG;IACH,qEAA2C,CAAA;IAC3C;;OAEG;IACH,uDAA6B,CAAA;IAC7B;;OAEG;IACH,mDAAyB,CAAA;IACzB;;OAEG;IACH,2DAAiC,CAAA;IACjC;;OAEG;IACH,6EAAmD,CAAA;IACnD;;;OAGG;IACH,qDAA2B,CAAA;IAC3B;;OAEG;IACH,mEAAyC,CAAA;AAAC,CAC5C,EA3CY,sBAAsB,KAAtB,sBAAsB,QA2CjC;SAcW,mBAAmB;AAA/B,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,mFAA4D,CAAA;IAC5D,uEAAgD,CAAA;IAChD,+EAAwD,CAAA;IACxD,+FAAwE,CAAA;IACxE,+FAAwE,CAAA;IACxE,6EAAsD,CAAA;IACtD,qFAA8D,CAAA;IAC9D,iFAA0D,CAAA;IAC1D,2GAAoF,CAAA;IACpF,2FAAoE,CAAA;IACpE,iHAA0F,CAAA;IAC1F,iFAA0D,CAAA;AAAC,CAC7D,EAbY,mBAAmB,KAAnB,mBAAmB,QAa9B;AAgBD,MAAM,OAAO,eAAgB,SAAQ,aAAkC;CAAG"}
|
|
@@ -6,15 +6,15 @@ import { ForkChoiceMetrics } from "../metrics.js";
|
|
|
6
6
|
import { LVHExecResponse, MaybeValidExecutionStatus, PayloadStatus, ProtoBlock, ProtoNode } from "../protoArray/interface.js";
|
|
7
7
|
import { ProtoArray } from "../protoArray/protoArray.js";
|
|
8
8
|
import { AncestorResult, EpochDifference, IForkChoice, NotReorgedReason, ShouldOverrideForkChoiceUpdateResult } from "./interface.js";
|
|
9
|
-
import {
|
|
9
|
+
import { CheckpointWithPayloadStatus, IForkChoiceStore } from "./store.js";
|
|
10
10
|
export type ForkChoiceOpts = {
|
|
11
11
|
proposerBoost?: boolean;
|
|
12
12
|
proposerBoostReorg?: boolean;
|
|
13
13
|
computeUnrealized?: boolean;
|
|
14
14
|
};
|
|
15
15
|
export declare enum UpdateHeadOpt {
|
|
16
|
-
GetCanonicalHead = "getCanonicalHead"
|
|
17
|
-
GetProposerHead = "getProposerHead"
|
|
16
|
+
GetCanonicalHead = "getCanonicalHead",
|
|
17
|
+
GetProposerHead = "getProposerHead",
|
|
18
18
|
GetPredictedProposerHead = "getPredictedProposerHead"
|
|
19
19
|
}
|
|
20
20
|
export type UpdateAndGetHeadOpt = {
|
|
@@ -189,8 +189,8 @@ export declare class ForkChoice implements IForkChoice {
|
|
|
189
189
|
getHeads(): ProtoBlock[];
|
|
190
190
|
/** This is for the debug API only */
|
|
191
191
|
getAllNodes(): ProtoNode[];
|
|
192
|
-
getFinalizedCheckpoint():
|
|
193
|
-
getJustifiedCheckpoint():
|
|
192
|
+
getFinalizedCheckpoint(): CheckpointWithPayloadStatus;
|
|
193
|
+
getJustifiedCheckpoint(): CheckpointWithPayloadStatus;
|
|
194
194
|
/**
|
|
195
195
|
* Add `block` to the fork choice DAG.
|
|
196
196
|
*
|
|
@@ -302,7 +302,7 @@ export declare class ForkChoice implements IForkChoice {
|
|
|
302
302
|
* Always returns `false` if either input roots are unknown.
|
|
303
303
|
* Still returns `true` if `ancestorRoot===descendantRoot` (and the roots are known)
|
|
304
304
|
*/
|
|
305
|
-
isDescendant(ancestorRoot: RootHex, descendantRoot: RootHex): boolean;
|
|
305
|
+
isDescendant(ancestorRoot: RootHex, ancestorPayloadStatus: PayloadStatus, descendantRoot: RootHex, descendantPayloadStatus: PayloadStatus): boolean;
|
|
306
306
|
/**
|
|
307
307
|
* All indices in votes are relative to proto array so always keep it up to date
|
|
308
308
|
*/
|
|
@@ -312,20 +312,20 @@ export declare class ForkChoice implements IForkChoice {
|
|
|
312
312
|
* Iterates backwards through block summaries, starting from a block root.
|
|
313
313
|
* Return only the non-finalized blocks.
|
|
314
314
|
*/
|
|
315
|
-
iterateAncestorBlocks(blockRoot: RootHex): IterableIterator<ProtoBlock>;
|
|
315
|
+
iterateAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): IterableIterator<ProtoBlock>;
|
|
316
316
|
/**
|
|
317
317
|
* Returns all blocks backwards starting from a block root.
|
|
318
318
|
* Return only the non-finalized blocks.
|
|
319
319
|
*/
|
|
320
|
-
getAllAncestorBlocks(blockRoot: RootHex): ProtoBlock[];
|
|
320
|
+
getAllAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): ProtoBlock[];
|
|
321
321
|
/**
|
|
322
322
|
* The same to iterateAncestorBlocks but this gets non-ancestor nodes instead of ancestor nodes.
|
|
323
323
|
*/
|
|
324
|
-
getAllNonAncestorBlocks(blockRoot: RootHex): ProtoBlock[];
|
|
324
|
+
getAllNonAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): ProtoBlock[];
|
|
325
325
|
/**
|
|
326
326
|
* Returns both ancestor and non-ancestor blocks in a single traversal.
|
|
327
327
|
*/
|
|
328
|
-
getAllAncestorAndNonAncestorBlocks(blockRoot: RootHex): {
|
|
328
|
+
getAllAncestorAndNonAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): {
|
|
329
329
|
ancestors: ProtoBlock[];
|
|
330
330
|
nonAncestors: ProtoBlock[];
|
|
331
331
|
};
|
|
@@ -334,7 +334,7 @@ export declare class ForkChoice implements IForkChoice {
|
|
|
334
334
|
getCanonicalBlockClosestLteSlot(slot: Slot): ProtoBlock | null;
|
|
335
335
|
/** Very expensive function, iterates the entire ProtoArray. TODO: Is this function even necessary? */
|
|
336
336
|
forwarditerateAncestorBlocks(): ProtoBlock[];
|
|
337
|
-
forwardIterateDescendants(blockRoot: RootHex): IterableIterator<ProtoBlock>;
|
|
337
|
+
forwardIterateDescendants(blockRoot: RootHex, payloadStatus: PayloadStatus): IterableIterator<ProtoBlock>;
|
|
338
338
|
/** Very expensive function, iterates the entire ProtoArray. TODO: Is this function even necessary? */
|
|
339
339
|
getBlockSummariesByParentRoot(parentRoot: RootHex): ProtoBlock[];
|
|
340
340
|
/** Very expensive function, iterates the entire ProtoArray. TODO: Is this function even necessary? */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,yBAAyB,EAEzB,sBAAsB,EAUvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,WAAW,EAEX,kBAAkB,EAClB,IAAI,EACJ,OAAO,EACP,IAAI,EAKL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,MAAM,EAA6B,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAGhD,OAAO,EAGL,eAAe,EACf,yBAAyB,EAEzB,aAAa,EACb,UAAU,EACV,SAAS,EAGV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EACL,cAAc,EAEd,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oCAAoC,EACrC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,8 @@ import { ExecutionStatus, HEX_ZERO_HASH, NULL_VOTE_INDEX, PayloadStatus, isGloas
|
|
|
9
9
|
import { ForkChoiceError, ForkChoiceErrorCode, InvalidAttestationCode, InvalidBlockCode } from "./errors.js";
|
|
10
10
|
import { AncestorStatus, NotReorgedReason, } from "./interface.js";
|
|
11
11
|
import { toCheckpointWithPayload } from "./store.js";
|
|
12
|
-
export
|
|
12
|
+
export { UpdateHeadOpt };
|
|
13
|
+
var UpdateHeadOpt;
|
|
13
14
|
(function (UpdateHeadOpt) {
|
|
14
15
|
UpdateHeadOpt["GetCanonicalHead"] = "getCanonicalHead";
|
|
15
16
|
UpdateHeadOpt["GetProposerHead"] = "getProposerHead";
|
|
@@ -891,8 +892,8 @@ export class ForkChoice {
|
|
|
891
892
|
* Always returns `false` if either input roots are unknown.
|
|
892
893
|
* Still returns `true` if `ancestorRoot===descendantRoot` (and the roots are known)
|
|
893
894
|
*/
|
|
894
|
-
isDescendant(ancestorRoot, descendantRoot) {
|
|
895
|
-
return this.protoArray.isDescendant(ancestorRoot, descendantRoot);
|
|
895
|
+
isDescendant(ancestorRoot, ancestorPayloadStatus, descendantRoot, descendantPayloadStatus) {
|
|
896
|
+
return this.protoArray.isDescendant(ancestorRoot, ancestorPayloadStatus, descendantRoot, descendantPayloadStatus);
|
|
896
897
|
}
|
|
897
898
|
/**
|
|
898
899
|
* All indices in votes are relative to proto array so always keep it up to date
|
|
@@ -931,29 +932,29 @@ export class ForkChoice {
|
|
|
931
932
|
* Iterates backwards through block summaries, starting from a block root.
|
|
932
933
|
* Return only the non-finalized blocks.
|
|
933
934
|
*/
|
|
934
|
-
iterateAncestorBlocks(blockRoot) {
|
|
935
|
-
return this.protoArray.iterateAncestorNodes(blockRoot);
|
|
935
|
+
iterateAncestorBlocks(blockRoot, payloadStatus) {
|
|
936
|
+
return this.protoArray.iterateAncestorNodes(blockRoot, payloadStatus);
|
|
936
937
|
}
|
|
937
938
|
/**
|
|
938
939
|
* Returns all blocks backwards starting from a block root.
|
|
939
940
|
* Return only the non-finalized blocks.
|
|
940
941
|
*/
|
|
941
|
-
getAllAncestorBlocks(blockRoot) {
|
|
942
|
-
const blocks = this.protoArray.getAllAncestorNodes(blockRoot);
|
|
942
|
+
getAllAncestorBlocks(blockRoot, payloadStatus) {
|
|
943
|
+
const blocks = this.protoArray.getAllAncestorNodes(blockRoot, payloadStatus);
|
|
943
944
|
// the last node is the previous finalized one, it's there to check onBlock finalized checkpoint only.
|
|
944
945
|
return blocks.slice(0, blocks.length - 1);
|
|
945
946
|
}
|
|
946
947
|
/**
|
|
947
948
|
* The same to iterateAncestorBlocks but this gets non-ancestor nodes instead of ancestor nodes.
|
|
948
949
|
*/
|
|
949
|
-
getAllNonAncestorBlocks(blockRoot) {
|
|
950
|
-
return this.protoArray.getAllNonAncestorNodes(blockRoot);
|
|
950
|
+
getAllNonAncestorBlocks(blockRoot, payloadStatus) {
|
|
951
|
+
return this.protoArray.getAllNonAncestorNodes(blockRoot, payloadStatus);
|
|
951
952
|
}
|
|
952
953
|
/**
|
|
953
954
|
* Returns both ancestor and non-ancestor blocks in a single traversal.
|
|
954
955
|
*/
|
|
955
|
-
getAllAncestorAndNonAncestorBlocks(blockRoot) {
|
|
956
|
-
const { ancestors, nonAncestors } = this.protoArray.getAllAncestorAndNonAncestorNodes(blockRoot);
|
|
956
|
+
getAllAncestorAndNonAncestorBlocks(blockRoot, payloadStatus) {
|
|
957
|
+
const { ancestors, nonAncestors } = this.protoArray.getAllAncestorAndNonAncestorNodes(blockRoot, payloadStatus);
|
|
957
958
|
return {
|
|
958
959
|
// the last node is the previous finalized one, it's there to check onBlock finalized checkpoint only.
|
|
959
960
|
ancestors: ancestors.slice(0, ancestors.length - 1),
|
|
@@ -965,7 +966,7 @@ export class ForkChoice {
|
|
|
965
966
|
if (blockRootHex === this.head.blockRoot) {
|
|
966
967
|
return this.head;
|
|
967
968
|
}
|
|
968
|
-
for (const block of this.protoArray.iterateAncestorNodes(this.head.blockRoot)) {
|
|
969
|
+
for (const block of this.protoArray.iterateAncestorNodes(this.head.blockRoot, this.head.payloadStatus)) {
|
|
969
970
|
if (block.blockRoot === blockRootHex) {
|
|
970
971
|
return block;
|
|
971
972
|
}
|
|
@@ -979,7 +980,7 @@ export class ForkChoice {
|
|
|
979
980
|
if (slot === this.head.slot) {
|
|
980
981
|
return this.head;
|
|
981
982
|
}
|
|
982
|
-
for (const block of this.protoArray.iterateAncestorNodes(this.head.blockRoot)) {
|
|
983
|
+
for (const block of this.protoArray.iterateAncestorNodes(this.head.blockRoot, this.head.payloadStatus)) {
|
|
983
984
|
if (block.slot === slot) {
|
|
984
985
|
return block;
|
|
985
986
|
}
|
|
@@ -990,7 +991,7 @@ export class ForkChoice {
|
|
|
990
991
|
if (slot >= this.head.slot) {
|
|
991
992
|
return this.head;
|
|
992
993
|
}
|
|
993
|
-
for (const block of this.protoArray.iterateAncestorNodes(this.head.blockRoot)) {
|
|
994
|
+
for (const block of this.protoArray.iterateAncestorNodes(this.head.blockRoot, this.head.payloadStatus)) {
|
|
994
995
|
if (slot >= block.slot) {
|
|
995
996
|
return block;
|
|
996
997
|
}
|
|
@@ -1001,21 +1002,15 @@ export class ForkChoice {
|
|
|
1001
1002
|
forwarditerateAncestorBlocks() {
|
|
1002
1003
|
return this.protoArray.nodes;
|
|
1003
1004
|
}
|
|
1004
|
-
|
|
1005
|
-
// also consumer may want PENDING or EMPTY only
|
|
1006
|
-
*forwardIterateDescendants(blockRoot) {
|
|
1005
|
+
*forwardIterateDescendants(blockRoot, payloadStatus) {
|
|
1007
1006
|
const rootsInChain = new Set([blockRoot]);
|
|
1008
|
-
const
|
|
1009
|
-
if (
|
|
1007
|
+
const blockIndex = this.protoArray.getNodeIndexByRootAndStatus(blockRoot, payloadStatus);
|
|
1008
|
+
if (blockIndex === undefined) {
|
|
1010
1009
|
throw new ForkChoiceError({
|
|
1011
1010
|
code: ForkChoiceErrorCode.MISSING_PROTO_ARRAY_BLOCK,
|
|
1012
1011
|
root: blockRoot,
|
|
1013
1012
|
});
|
|
1014
1013
|
}
|
|
1015
|
-
// Find the minimum index among all variants to start iteration
|
|
1016
|
-
const blockIndex = Array.isArray(blockVariants)
|
|
1017
|
-
? Math.min(...blockVariants.filter((idx) => idx !== undefined))
|
|
1018
|
-
: blockVariants;
|
|
1019
1014
|
for (let i = blockIndex + 1; i < this.protoArray.nodes.length; i++) {
|
|
1020
1015
|
const node = this.protoArray.nodes[i];
|
|
1021
1016
|
if (rootsInChain.has(node.parentRoot)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAGL,sBAAsB,EAEtB,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EASL,kBAAkB,EAElB,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,eAAe,EACf,aAAa,EAGb,eAAe,EACf,aAAa,EAIb,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC3G,OAAO,EAEL,cAAc,EAGd,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAmE,uBAAuB,EAAC,MAAM,YAAY,CAAC;SAQzG,aAAa;AAAzB,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;AAAC,CAAC,EAH7C,aAAa,KAAb,aAAa,QAIxB;AAOD,4CAA4C;AAC5C,MAAM,cAAc,GAAS,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAU;IAyDF,MAAM;IACN,OAAO;IAEP,UAAU;IAElB,OAAO;IACC,IAAI;IACJ,MAAM;IA/DzB,kBAAkB,CAAS;IAC3B;;;;;;;;;;OAUG;IACc,kBAAkB,CAAc;IAChC,eAAe,CAAc;IAC7B,aAAa,CAAS;IAEvC;;;;;;OAMG;IACc,kBAAkB,GAAsE,IAAI,MAAM,CACjH,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAClC,CAAC;IAEF;;;OAGG;IACK,8BAA8B,GAAG,CAAC,CAAC;IAE3C,4GAA4G;IAC5G,6FAA6F;IAC7F,uDAAuD;IACvD,0BAA0B;IAE1B,kBAAkB;IACV,IAAI,CAAa;IACzB;;QAEI;IACI,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtD,kEAAkE;IAC1D,iBAAiB,GAAmB,IAAI,CAAC;IACjD,+EAA+E;IACvE,2BAA2B,GAAkB,IAAI,CAAC;IAC1D,qCAAqC;IAC7B,QAAQ,CAA6B;IAC7C;;;;OAIG;IACH,YACmB,MAAuB,EACvB,OAAyB;IAC1C,sDAAsD;IACrC,UAAsB,EACvC,cAAsB,EACb,OAAiC,EACzB,IAAqB,EACrB,MAAe,EAChC;sBARiB,MAAM;uBACN,OAAO;0BAEP,UAAU;uBAElB,OAAO;oBACC,IAAI;sBACJ,MAAM;QAEvB,wEAAwE;QACxE,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,kFAAkF;QAElF,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QAEhD,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/E,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAA,CAC9D,CAAC,CAAC;IAAA,CACJ;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,SAAkB,EAAE,YAAkB,EAAa;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAAA,CAC7D;IAED;;OAEG;IACH,WAAW,GAAY;QACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IAAA,CACjC;IAED;;OAEG;IACH,OAAO,GAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC;IAAA,CAClB;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAwB,EAIvC;QACA,MAAM,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;QAEnB,MAAM,kBAAkB,GAAG,IAAI,KAAK,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,wBAAwB;gBACzC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC;YACzF,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC;gBACnC,MAAM,EACJ,YAAY,EAAE,IAAI,EAClB,YAAY,EACZ,gBAAgB,GACjB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxE,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC;YAChD,CAAC;YACD,KAAK,aAAa,CAAC,gBAAgB;gBACjC,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;YACpC;gBACE,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;QACtC,CAAC;IAAA,CACF;IAED,4HAA4H;IAC5H,+HAA+H;IAC/H,wEAAwE;IACxE,0BAA0B;IAC1B,sEAAsE;IACtE,8BAA8B,CAC5B,SAAqB,EACrB,WAAmB,EACnB,WAAiB,EACqB;QACtC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,iFAAiF;YACjF,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,EAAC,CAAC;QACpF,CAAC;QACD,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,gFAAgF,EAAE;gBACrG,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACzF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QACF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QAExC,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAClF,SAAS,EACT,WAAW,EACX,YAAY,CACb,CAAC;QAEF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,IAAI,gBAAgB,CAAC,OAAO,EAAC,CAAC;QAChG,CAAC;QAED,MAAM,aAAa,GACjB,SAAS,CAAC,IAAI,KAAK,WAAW;YAC9B,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,kDAAkD,EAAE;YACvE,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;IAAA,CAC/C;IAED;;OAEG;IACH,oBAAoB,GAAY;QAC9B,OAAO,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC;IAAA,CAChD;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAqB,EAAE,WAAmB,EAAE,WAAiB,EAAc;QAC7F,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yEAAyE,EAAE;gBAC9F,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAExF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,4EAA4E,EAAE;gBACjG,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;gBAC1C,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,mEAAmE,EAAE;YACxF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IAAA,CAClB;IAED;;;;;;;OAOG;IACH,eAAe,CACb,SAAqB,EACrB,WAAmB,EACnB,IAAU,EAC8E;QACxF,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,YAAY,GAAG,SAAS,CAAC;QAE7B,6DAA6D;QAC7D,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sEAAsE,EAAE;gBAC3F,IAAI;gBACJ,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACrG,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QAEF,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEnH,IAAI,kBAAkB,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,CAAC;QAChF,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC7F,CAAC;QAED,yDAAyD;QACzD,sFAAsF;QACtF,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,kIAAkI;QAClI,0GAA0G;QAC1G,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/E,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B;SAC1D,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACvF,4CAA4C;QAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YAChE,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,EAAC,CAAC;QAC3F,CAAC;QAED,4JAA4J;QAC5J,oGAAoG;QACpG,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAChF,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B;SAC5D,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7F,8CAA8C;QAC9C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YACrE,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,0DAA0D,EAAE;YAC/E,IAAI;YACJ,YAAY,EAAE,WAAW,CAAC,SAAS;YACnC,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,YAAY,GAAG,WAAW,CAAC;QAE3B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC;IAAA,CACrC;IAED;;;;;;;;;;;OAWG;IACH,UAAU,GAAe;QACvB,gDAAgD;QAEhD,qFAAqF;QACrF,mCAAmC;QACnC,EAAE;QACF,0FAA0F;QAC1F,oCAAoC;QAEpC,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC;QAEpE,MAAM,KAAK,GAAG,oBAAoB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,EACJ,MAAM,EACN,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,GAAG,aAAa,CACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAC5B,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,EACpB,WAAW,EACX,WAAW,EACX,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACjC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC;QAEV,oBAAoB,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,oBAAoB,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChF,oBAAoB,EAAE,sBAAsB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC3E,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B;;;WAGG;QACH,IAAI,aAAa,GAA0C,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,kBAAkB,GACtB,IAAI,CAAC,2BAA2B;gBAChC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;oBACxD,aAAa,EAAE,eAAe;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;iBACnD,CAAC,CAAC;YACL,aAAa,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAC,CAAC;YAC1E,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAChC,MAAM;YACN,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;YACxD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;YACtD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO;YACvD,WAAW;SACZ,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE9F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IAAA,CAClB;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAmB,EAAU;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC;IAAA,CAC/E;IAED,wFAAwF;IACxF,QAAQ,GAAiB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAAA,CAC7E;IAED,qCAAqC;IACrC,WAAW,GAAgB;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAAA,CAC9B;IAED,sBAAsB,GAAgC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAAA,CACzC;IAED,sBAAsB,GAAgC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;IAAA,CAC1C;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CACL,KAAkB,EAClB,KAAgC,EAChC,aAAqB,EACrB,WAAiB,EACjB,eAA0C,EAC1C,sBAA8C,EAClC;QACZ,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,mFAAmF;QACnF,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC;YACzE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,uBAAuB;QACvB,EAAE;QACF,0EAA0E;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,WAAW;oBAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2FAA2F;QAC3F,iBAAiB;QACjB,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,aAAa;oBACb,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC1D,IACE,iBAAiB,CAAC,SAAS,KAAK,gBAAgB,CAAC,OAAO;YACxD,iBAAiB,CAAC,aAAa,KAAK,gBAAgB,CAAC,aAAa,EAClE,CAAC;YACD,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,wBAAwB;oBAC/C,aAAa,EAAE,gBAAgB,CAAC,OAAO;oBACvC,aAAa,EAAE,iBAAiB,CAAC,SAAS;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,qDAAqD;QACrD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,IACE,IAAI,CAAC,IAAI,EAAE,aAAa;YACxB,QAAQ;YACR,oCAAoC;YACpC,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAC/B,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,yDAAyD;QACzD,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACzG,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAC;QAC9G,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC;QAEtD,yDAAyD;QACzD,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClG,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;QAEvG,0GAA0G;QAC1G,mCAAmC;QACnC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,EAAE,CACpE,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACjE,CAAC;QAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,iGAAiG;QACjG,uFAAuF;QACvF,mFAAmF;QACnF,sBAAsB;QACtB,EAAE;QACF,sEAAsE;QACtE,oGAAoG;QACpG,yGAAyG;QACzG,EAAE;QACF,uEAAuE;QACvE,oFAAoF;QACpF,wBAAwB;QACxB,IAAI,6BAA0D,CAAC;QAC/D,IAAI,6BAA0D,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;YACjC,IACE,WAAW,CAAC,wBAAwB,KAAK,UAAU;gBACnD,WAAW,CAAC,wBAAwB,GAAG,CAAC,IAAI,UAAU,EACtD,CAAC;gBACD,iFAAiF;gBACjF,yDAAyD;gBACzD,MAAM,gCAAgC,GAAG,0BAA0B,CACjE,KAAK,EACL,WAAW,CAAC,wBAAwB,CACrC,CAAC;gBACF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;oBAC5C,aAAa,EAAE,gCAAgC;iBAChD,CAAC;gBACF,yDAAyD;gBACzD,MAAM,gCAAgC,GAAG,0BAA0B,CACjE,KAAK,EACL,WAAW,CAAC,wBAAwB,CACrC,CAAC;gBACF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;oBAC5C,aAAa,EAAE,gCAAgC;iBAChD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBACvD,yDAAyD;gBACzD,MAAM,gCAAgC,GAAG,0BAA0B,CACjE,KAAK,EACL,UAAU,CAAC,mBAAmB,CAAC,KAAK,CACrC,CAAC;gBACF,6BAA6B,GAAG,uBAAuB,CACrD,UAAU,CAAC,mBAAmB,EAC9B,gCAAgC,CACjC,CAAC;gBACF,yDAAyD;gBACzD,MAAM,gCAAgC,GAAG,0BAA0B,CACjE,KAAK,EACL,UAAU,CAAC,mBAAmB,CAAC,KAAK,CACrC,CAAC;gBACF,6BAA6B,GAAG,uBAAuB,CACrD,UAAU,CAAC,mBAAmB,EAC9B,gCAAgC,CACjC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B,GAAG,mBAAmB,CAAC;YACpD,6BAA6B,GAAG,mBAAmB,CAAC;QACtD,CAAC;QAED,0BAA0B;QAC1B,iEAAiE;QACjE,IAAI,CAAC,2BAA2B,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAClG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QAEF,mGAAmG;QACnG,IAAI,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CACxF,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,yBAAyB,CAAC,CAAC;QAElH,2FAA2F;QAC3F,4EAA4E;QAC5E,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;YACjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,UAAU,EAAE,QAAQ;YAEpB,cAAc,EAAE,mBAAmB;YACnC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAC/D,cAAc,EAAE,mBAAmB,CAAC,KAAK;YACzC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACxD,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAC9D,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAE9D,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC;oBACE,yBAAyB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,+GAA+G;oBACnN,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC7B,uFAAuF;wBACvF,MAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAEvG,mCAAmC;wBACnC,IAAI,WAAW,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;4BACnD,OAAO,CAAC,CAAC;wBACX,CAAC;wBAED,mDAAmD;wBACnD,IAAI,WAAW,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;4BACzC,OAAO,WAAW,CAAC,sBAAsB,CAAC;wBAC5C,CAAC;wBAED,6EAA6E;wBAC7E,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;wBAC1F,IAAI,aAAa,IAAI,aAAa,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;4BACtE,OAAO,aAAa,CAAC,sBAAsB,CAAC;wBAC9C,CAAC;wBACD,+EAA+E;wBAC/E,OAAO,WAAW,CAAC,sBAAsB,CAAC;oBAAA,CAC3C,CAAC,EAAE;oBACJ,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;oBAC7D,sBAAsB;iBACvB;gBACH,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC;oBACvG,CAAC,CAAC;wBACE,yBAAyB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAC3E,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW;wBAC/D,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;wBAC5D,sBAAsB;qBACvB;oBACH,CAAC,CAAC;wBACE,yBAAyB,EAAE,IAAI;wBAC/B,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;wBAC5D,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;qBAC3E,CAAC;YAER,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACrF,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YAC1G,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC;gBACnE,CAAC,CAAC,IAAI;YACR,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEzE,OAAO,UAAU,CAAC;IAAA,CACnB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,WAA+B,EAAE,WAAmB,EAAE,WAAqB,EAAQ;QAC/F,4CAA4C;QAC5C,EAAE;QACF,wFAAwF;QACxF,gFAAgF;QAChF,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,6DAA6D;QAC7D,gDAAgD;QAChD,EAAE;QACF,yFAAyF;QACzF,2FAA2F;QAC3F,iDAAiD;QACjD,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;QACzC,MAAM,EAAC,IAAI,EAAE,eAAe,EAAC,GAAG,eAAe,CAAC;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnG,uCAAuC;QACvC,cAAc;QACd,iCAAiC;QACjC,uEAAuE;QACvE,IAAI,aAA4B,CAAC;QAEjC,uEAAuE;QACvE,oHAAoH;QACpH,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,mFAAmF;YACnF,4EAA4E;YAC5E,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;qBAAM,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBACvC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;4BAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,EAAE;YACF,MAAM;YACN,oEAAoE;YACpE,0EAA0E;YAC1E,MAAM;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzD,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;IAAA,CACF;IAED;;;;OAIG;IACH,kBAAkB,CAAC,gBAAkC,EAAQ;QAC3D,qFAAqF;QACrF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;QAC1E,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;IAAA,CACF;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAAkB,EAAE,UAAoB,EAAE,cAAuB,EAAQ;QACzF,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAAA,CAC1E;IAED;;;;OAIG;IACH,kBAAkB,CAChB,SAAkB,EAClB,yBAAkC,EAClC,sBAA8B,EAC9B,yBAAkC,EAC5B;QACN,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAChC,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,IAAI,CAAC,iBAAiB,CACvB,CAAC;IAAA,CACH;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,WAAiB,EAAQ;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW;YAAE,OAAO;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,sGAAsG;YACtG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;QACxC,uDAAuD;QACvD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;IAAA,CAC5C;IAED,OAAO,GAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAAA,CACjC;IAED,uFAAuF;IACvF,QAAQ,CAAC,SAAe,EAAW;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CAC/C;IACD,+FAA+F;IAC/F,QAAQ,CAAC,SAAe,EAAE,aAA4B,EAAqB;QACzE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;IAAA,CAC9D;IAED,qBAAqB,CAAC,SAAe,EAAqB;QACxD,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CAC5D;IAED;;;OAGG;IACH,WAAW,CAAC,SAAkB,EAAW;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAAA,CAC1D;IAED;;OAEG;IACH,cAAc,CAAC,SAAe,EAAW;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CACrD;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAkB,EAAW;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAAA,CAC5C;IAED;;OAEG;IACH,WAAW,CAAC,SAAkB,EAAE,aAA4B,EAAqB;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;SACR,CAAC;IAAA,CACH;IAED;;;;;;;OAOG;IACH,wBAAwB,CAAC,SAAkB,EAAqB;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACnD;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,SAAkB,EAAqB;QACjF,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAAA,CACtE;IAED,iBAAiB,GAAe;QAC9B,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd;IAED,iBAAiB,GAAe;QAC9B,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd;IAED,0BAA0B,GAAS;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC9D,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAAA,CAChD;IAED;;;;;OAKG;IACH,YAAY,CACV,YAAqB,EACrB,qBAAoC,EACpC,cAAuB,EACvB,uBAAsC,EAC7B;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAAA,CACnH;IAED;;OAEG;IACH,KAAK,CAAC,aAAsB,EAAgB;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAEhD,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;gBACrC,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBAClC,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IAAA,CACpB;IAED,iBAAiB,CAAC,SAAiB,EAAQ;QACzC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC;IAAA,CAC5C;IAED;;;OAGG;IACH,qBAAqB,CAAC,SAAkB,EAAE,aAA4B,EAAgC;QACpG,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACvE;IAED;;;OAGG;IACH,oBAAoB,CAAC,SAAkB,EAAE,aAA4B,EAAgB;QACnF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC7E,sGAAsG;QACtG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAAA,CAC3C;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,aAA4B,EAAgB;QACtF,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACzE;IAED;;OAEG;IACH,kCAAkC,CAChC,SAAkB,EAClB,aAA4B,EAC2B;QACvD,MAAM,EAAC,SAAS,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAE9G,OAAO;YACL,sGAAsG;YACtG,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,YAAY;SACb,CAAC;IAAA,CACH;IAED,uBAAuB,CAAC,SAAe,EAAqB;QAC1D,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IAAA,CACb;IAED,uBAAuB,CAAC,IAAU,EAAqB;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IAAA,CACb;IAED,+BAA+B,CAAC,IAAU,EAAqB;QAC7D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IAAA,CACb;IAED,sGAAsG;IACtG,4BAA4B,GAAiB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAAA,CAC9B;IAED,CAAC,yBAAyB,CAAC,SAAkB,EAAE,aAA4B,EAAgC;QACzG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;IAAA,CACF;IAED,sGAAsG;IACtG,6BAA6B,CAAC,UAAmB,EAAgB;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAAA,CAC/E;IAED,sGAAsG;IACtG,uBAAuB,CAAC,IAAU,EAAgB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IAAA,CACrB;IAED,mGAAmG;IACnG,sBAAsB,CAAC,SAAqB,EAAE,QAAoB,EAAkB;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,YAAY,EAAC,CAAC;QAC7C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5E,oEAAoE;QACpE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,EAAC,CAAC;QAClD,CAAC;QAED,qFAAqF;QACrF,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YACtG,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,UAAU,EAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAC,CAAC;IAAA,CAClH;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAA6B,EAAQ;QACtD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,8BAA8B,EAAE,CAAC;gBACvG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IAAA,CACF;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,KAAiB,EAAE,eAAgC,EAAW;QAC7E,8EAA8E;QAC9E,+FAA+F;QAC/F,8FAA8F;QAC9F,kFAAkF;QAElF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,eAAe,GAAG,eAAe,CAAC;QAEnG,qEAAqE;QACrE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,YAAY,CAAC,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;QACpD,OAAO,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YACnC,yDAAyD;YACzD,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YAED,2EAA2E;YAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YAED,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5F,8DAA8D;YAC9D,oGAAoG;YACpG,0FAA0F;YAC1F,yDAAyD;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,CAAC,2CAA2C,KAAK,CAAC,IAAI,sBAAsB,eAAe,EAAE,CAAC,CAAC;IAAA,CAC3G;IAED;;;OAGG;IACO,aAAa,CAAC,KAAkB,EAAE,aAAqB,EAAW;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,IAAI,uBAAuB,CAAC;IAAA,CAC3E;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB,EAAE,IAAU,EAAW;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO,WAAW,GAAG,IAAI,IAAI,mBAAmB,CAAC;IAAA,CAClD;IAEO,qBAAqB,CAAC,eAA0C,EAA4B;QAClG,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CAAC,iDAAiD,eAAe,CAAC,QAAQ,SAAS,eAAe,EAAE,CAAC,CAAC;QACnH,OAAO,eAAe,CAAC;IAAA,CACxB;IAEO,qBAAqB,CAAC,sBAA8C,EAAkC;QAC5G,IAAI,sBAAsB,KAAK,sBAAsB,CAAC,OAAO;YAC3D,MAAM,KAAK,CACT,4CAA4C,sBAAsB,CAAC,OAAO,SAAS,sBAAsB,EAAE,CAC5G,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAAA,CAC/B;IAEO,qBAAqB,CAC3B,eAA0C,EACO;QACjD,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ,IAAI,eAAe,KAAK,eAAe,CAAC,gBAAgB;YACtG,MAAM,KAAK,CACT,kDAAkD,eAAe,CAAC,OAAO,OAAO,eAAe,CAAC,KAAK,SAAS,eAAe,EAAE,CAChI,CAAC;QACJ,OAAO,eAAe,CAAC;IAAA,CACxB;IAEO,sBAAsB,CAAC,eAA0C,EAAoC;QAC3G,IAAI,eAAe,KAAK,eAAe,CAAC,gBAAgB;YACtD,MAAM,KAAK,CACT,kDAAkD,eAAe,CAAC,gBAAgB,SAAS,eAAe,EAAE,CAC7G,CAAC;QACJ,OAAO,eAAe,CAAC;IAAA,CACxB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,iBAAiB,CACvB,mBAAgD,EAChD,mBAAgD,EAChD,oBAA6C,EACvC;QACN,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAC,CAAC;YAC7F,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YACvD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;IAAA,CACF;IAED;;OAEG;IACK,2BAA2B,CACjC,6BAA0D,EAC1D,6BAA0D,EAC1D,oBAA6C,EACvC;QACN,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG;gBACjC,UAAU,EAAE,6BAA6B;gBACzC,QAAQ,EAAE,oBAAoB,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;YAC3F,IAAI,CAAC,OAAO,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QAC7E,CAAC;IAAA,CACF;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,kBAAsC,EACtC,IAAU,EACV,YAAoB,EACpB,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB,EACf;QACN,gFAAgF;QAChF,kBAAkB;QAClB,EAAE;QACF,wFAAwF;QACxF,kFAAkF;QAClF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,0BAA0B;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACnH,CAAC;IAAA,CACF;IAEO,uBAAuB,CAC7B,eAAuC,EACvC,IAAU,EACV,kBAA0B,EAC1B,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB,EACf;QACN,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,YAAY;oBACzC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,UAAU;oBACvC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;oBAC7C,MAAM,EAAE,WAAW;oBACnB,IAAI;iBACL;aACF,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,EAAE;QACF,qFAAqF;QACrF,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,mBAAmB;oBAChD,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,EAAE;QACF,2FAA2F;QAC3F,iFAAiF;QACjF,2FAA2F;QAC3F,EAAE;QACF,sFAAsF;QACtF,wDAAwD;QACxD,iEAAiE;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;oBAC/C,eAAe,EAAE,kBAAkB;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,2FAA2F;QAC3F,2FAA2F;QAC3F,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAE/G,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,cAAc;oBAC3C,WAAW,EAAE,aAAa;oBAC1B,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC,CAAC;QACL,CAAC;QAED,0FAA0F;QAC1F,4BAA4B;QAC5B,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,uBAAuB;oBACpD,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;oBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAAA,CACjD;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CACtB,cAA8B,EAC9B,QAAc,EACd,QAAiB,EACjB,iBAAgC,EAC1B;QACN,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,uBAAuB,iBAAiB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,gBAAgB,KAAK,cAAc,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/G,6DAA6D;YAC7D,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QAChD,CAAC;QACD,uCAAuC;IADtC,CAEF;IAED;;;OAGG;IACK,uBAAuB,GAAS;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC;oBAC/B,KAAK,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;wBACvE,mDAAmD;wBACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;oBAC3E,CAAC;oBAED,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,8BAA8B,IAAI,cAAc,CAAC,IAAI,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;IAAA,CACF;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,IAAU,EAAQ;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAE9C,IAAI,IAAI,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,YAAY;gBACZ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,wGAAwG;YACxG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAC3C,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAChD,CAAC;IAAA,CACH;IAED;;;;;OAKG;IACK,0BAA0B,CAChC,SAAqB,EACrB,WAAuB,EACvB,IAAU,EACmE;QAC7E,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,mCAAmC;QACnC,0GAA0G;QAC1G,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,6EAA6E;QAC7E,iHAAiH;QACjH,MAAM,iBAAiB,GAAG,IAAI,GAAG,eAAe,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC3F,CAAC;QAED,gEAAgE;QAChE,gHAAgH;QAChH,MAAM,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAC,GAAG,SAAS,CAAC;QACzG,MAAM,EAAC,wBAAwB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAC,GAAG,WAAW,CAAC;QAC/G,MAAM,gBAAgB,GAAG,gBAAgB,KAAK,kBAAkB,IAAI,eAAe,KAAK,iBAAiB,CAAC;QAC1G,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,iFAAiF;QACjF,gHAAgH;QAChH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;QAC/F,MAAM,gBAAgB,GAAG,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC;QACpG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,mBAAmB,EAAC,CAAC;QAC5F,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kCAAkC,EAAC,CAAC;QAC3G,CAAC;QAED,kBAAkB,GAAG,WAAW,CAAC;QAEjC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAAA,CAC7B;CACF;AAED,4HAA4H;AAC5H,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAClC,sCAA8C,EAC9C,MAAyD,EACjD;IACR,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,CACtE;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAgC,EAAE,eAAuB,EAAiB;IACnH,8DAA8D;IAC9D,MAAM,cAAc,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAErD,yBAAyB;IACzB,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,gGAAgG;IAChG,uFAAuF;IACvF,MAAM,UAAU,GAAG,KAA+B,CAAC;IACnD,MAAM,gBAAgB,GAAG,UAAU,CAAC,4BAA4B,CAAC,GAAG,CAAC,cAAc,GAAG,yBAAyB,CAAC,CAAC;IAEjH,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;AAAA,CACpE"}
|
|
@@ -2,7 +2,7 @@ import { CachedBeaconStateAllForks, DataAvailabilityStatus, EffectiveBalanceIncr
|
|
|
2
2
|
import { AttesterSlashing, BeaconBlock, Epoch, IndexedAttestation, Root, RootHex, Slot } from "@lodestar/types";
|
|
3
3
|
import { LVHExecResponse, MaybeValidExecutionStatus, PayloadStatus, ProtoBlock, ProtoNode } from "../protoArray/interface.js";
|
|
4
4
|
import { UpdateAndGetHeadOpt } from "./forkChoice.js";
|
|
5
|
-
import { CheckpointWithHex,
|
|
5
|
+
import { CheckpointWithHex, CheckpointWithPayloadStatus } from "./store.js";
|
|
6
6
|
export type CheckpointHex = {
|
|
7
7
|
epoch: Epoch;
|
|
8
8
|
root: RootHex;
|
|
@@ -12,7 +12,7 @@ export type CheckpointsWithHex = {
|
|
|
12
12
|
finalizedCheckpoint: CheckpointWithHex;
|
|
13
13
|
};
|
|
14
14
|
export type CheckpointWithPayloadAndBalance = {
|
|
15
|
-
checkpoint:
|
|
15
|
+
checkpoint: CheckpointWithPayloadStatus;
|
|
16
16
|
balances: EffectiveBalanceIncrements;
|
|
17
17
|
};
|
|
18
18
|
export type CheckpointWithPayloadAndTotalBalance = CheckpointWithPayloadAndBalance & {
|
|
@@ -52,7 +52,7 @@ export declare enum NotReorgedReason {
|
|
|
52
52
|
ParentBlockNotStrong = "parentBlockNotStrong",
|
|
53
53
|
NotProposingOnTime = "notProposingOnTime",
|
|
54
54
|
NotProposerOfNextSlot = "notProposerOfNextSlot",
|
|
55
|
-
HeadBlockNotAvailable = "headBlockNotAvailable"
|
|
55
|
+
HeadBlockNotAvailable = "headBlockNotAvailable",
|
|
56
56
|
Unknown = "unknown"
|
|
57
57
|
}
|
|
58
58
|
export type ShouldOverrideForkChoiceUpdateResult = {
|
|
@@ -107,8 +107,8 @@ export interface IForkChoice {
|
|
|
107
107
|
* Retrieve all nodes for the debug API.
|
|
108
108
|
*/
|
|
109
109
|
getAllNodes(): ProtoNode[];
|
|
110
|
-
getFinalizedCheckpoint():
|
|
111
|
-
getJustifiedCheckpoint():
|
|
110
|
+
getFinalizedCheckpoint(): CheckpointWithPayloadStatus;
|
|
111
|
+
getJustifiedCheckpoint(): CheckpointWithPayloadStatus;
|
|
112
112
|
/**
|
|
113
113
|
* Add `block` to the fork choice DAG.
|
|
114
114
|
*
|
|
@@ -216,7 +216,7 @@ export interface IForkChoice {
|
|
|
216
216
|
* Always returns `false` if either input roots are unknown.
|
|
217
217
|
* Still returns `true` if `ancestorRoot===descendantRoot` (and the roots are known)
|
|
218
218
|
*/
|
|
219
|
-
isDescendant(ancestorRoot: RootHex, descendantRoot: RootHex): boolean;
|
|
219
|
+
isDescendant(ancestorRoot: RootHex, ancestorPayloadStatus: PayloadStatus, descendantRoot: RootHex, descendantPayloadStatus: PayloadStatus): boolean;
|
|
220
220
|
/**
|
|
221
221
|
* Prune items up to a finalized root.
|
|
222
222
|
*/
|
|
@@ -225,16 +225,16 @@ export interface IForkChoice {
|
|
|
225
225
|
/**
|
|
226
226
|
* Iterates backwards through ancestor block summaries, starting from a block root
|
|
227
227
|
*/
|
|
228
|
-
iterateAncestorBlocks(blockRoot: RootHex): IterableIterator<ProtoBlock>;
|
|
229
|
-
getAllAncestorBlocks(blockRoot: RootHex): ProtoBlock[];
|
|
228
|
+
iterateAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): IterableIterator<ProtoBlock>;
|
|
229
|
+
getAllAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): ProtoBlock[];
|
|
230
230
|
/**
|
|
231
231
|
* The same to iterateAncestorBlocks but this gets non-ancestor nodes instead of ancestor nodes.
|
|
232
232
|
*/
|
|
233
|
-
getAllNonAncestorBlocks(blockRoot: RootHex): ProtoBlock[];
|
|
233
|
+
getAllNonAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): ProtoBlock[];
|
|
234
234
|
/**
|
|
235
235
|
* Returns both ancestor and non-ancestor blocks in a single traversal.
|
|
236
236
|
*/
|
|
237
|
-
getAllAncestorAndNonAncestorBlocks(blockRoot: RootHex): {
|
|
237
|
+
getAllAncestorAndNonAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): {
|
|
238
238
|
ancestors: ProtoBlock[];
|
|
239
239
|
nonAncestors: ProtoBlock[];
|
|
240
240
|
};
|
|
@@ -248,7 +248,7 @@ export interface IForkChoice {
|
|
|
248
248
|
/**
|
|
249
249
|
* Iterates forward descendants of blockRoot. Does not yield blockRoot itself
|
|
250
250
|
*/
|
|
251
|
-
forwardIterateDescendants(blockRoot: RootHex): IterableIterator<ProtoBlock>;
|
|
251
|
+
forwardIterateDescendants(blockRoot: RootHex, payloadStatus: PayloadStatus): IterableIterator<ProtoBlock>;
|
|
252
252
|
getBlockSummariesByParentRoot(parentRoot: RootHex): ProtoBlock[];
|
|
253
253
|
getBlockSummariesAtSlot(slot: Slot): ProtoBlock[];
|
|
254
254
|
/** Returns the distance of common ancestor of nodes to the max of the newNode and the prevNode. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAE,2BAA2B,EAAC,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,mBAAmB,EAAE,iBAAiB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,UAAU,EAAE,2BAA2B,CAAC;IACxC,QAAQ,EAAE,0BAA0B,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG,+BAA+B,GAAG;IACnF,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AAED,oBAAY,cAAc;IACxB,cAAc,IAAA;IACd,UAAU,IAAA;IACV,iBAAiB,IAAA;IACjB,YAAY,IAAA;CACb;AAED,MAAM,MAAM,cAAc,GACtB;IAAC,IAAI,EAAE,cAAc,CAAC,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,GACpD;IAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAA;CAAC,GACjC;IAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,CAAA;CAAC,GACxC;IAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAA;CAAC,CAAC;AAGxC,oBAAY,gBAAgB;IAC1B,iBAAiB,sBAAsB;IACvC,uBAAuB,4BAA4B;IACnD,0BAA0B,+BAA+B;IACzD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,kCAAkC,uCAAuC;IACzE,oBAAoB,yBAAyB;IAC7C,uBAAuB,4BAA4B;IACnD,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,oCAAoC,GAC5C;IAAC,iBAAiB,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,UAAU,CAAA;CAAC,GAClD;IAAC,iBAAiB,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAC,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAE3B;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC;IAC/D;;;;;;;;OAQG;IACH,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,IAAI,UAAU,CAAC;IACtB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG;QAC3C,IAAI,EAAE,UAAU,CAAC;QACjB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;KACrC,CAAC;IACF;;;;OAIG;IACH,8BAA8B,CAC5B,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,IAAI,GAChB,oCAAoC,CAAC;IACxC;;OAEG;IACH,QAAQ,IAAI,UAAU,EAAE,CAAC;IACzB;;OAEG;IACH,WAAW,IAAI,SAAS,EAAE,CAAC;IAC3B,sBAAsB,IAAI,2BAA2B,CAAC;IACtD,sBAAsB,IAAI,2BAA2B,CAAC;IACtD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CACL,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,yBAAyB,EAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,EACjB,eAAe,EAAE,yBAAyB,EAC1C,sBAAsB,EAAE,sBAAsB,GAC7C,UAAU,CAAC;IACd;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjG;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrD;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3F;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAChB,SAAS,EAAE,OAAO,EAClB,yBAAyB,EAAE,OAAO,EAClC,sBAAsB,EAAE,MAAM,EAC9B,yBAAyB,EAAE,OAAO,GACjC,IAAI,CAAC;IACR;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC;IACnC,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IACzC;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC;IACzC,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC;IAC3E,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC;IACjF,qBAAqB,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1D,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;IAChE,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;IACnF,iBAAiB,IAAI,UAAU,CAAC;IAChC,iBAAiB,IAAI,UAAU,CAAC;IAChC,0BAA0B,IAAI,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,CACV,YAAY,EAAE,OAAO,EACrB,qBAAqB,EAAE,aAAa,EACpC,cAAc,EAAE,OAAO,EACvB,uBAAuB,EAAE,aAAa,GACrC,OAAO,CAAC;IACX;;OAEG;IACH,KAAK,CAAC,aAAa,EAAE,OAAO,GAAG,UAAU,EAAE,CAAC;IAC5C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACtG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,UAAU,EAAE,CAAC;IACrF;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,UAAU,EAAE,CAAC;IACxF;;OAEG;IACH,kCAAkC,CAChC,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,aAAa,GAC3B;QAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QAAC,YAAY,EAAE,UAAU,EAAE,CAAA;KAAC,CAAC;IACzD,uBAAuB,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;IAC5D,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;IACvD,+BAA+B,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/D;;OAEG;IACH,4BAA4B,IAAI,UAAU,EAAE,CAAC;IAC7C;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1G,6BAA6B,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,EAAE,CAAC;IACjE,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,CAAC;IAClD,mGAAmG;IACnG,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,cAAc,CAAC;IACpF;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IAExD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC;CAC5E"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { EpochDifference };
|
|
2
|
+
var EpochDifference;
|
|
2
3
|
(function (EpochDifference) {
|
|
3
4
|
EpochDifference[EpochDifference["current"] = 0] = "current";
|
|
4
5
|
EpochDifference[EpochDifference["previous"] = 1] = "previous";
|
|
5
6
|
})(EpochDifference || (EpochDifference = {}));
|
|
6
|
-
export
|
|
7
|
+
export { AncestorStatus };
|
|
8
|
+
var AncestorStatus;
|
|
7
9
|
(function (AncestorStatus) {
|
|
8
10
|
AncestorStatus[AncestorStatus["CommonAncestor"] = 0] = "CommonAncestor";
|
|
9
11
|
AncestorStatus[AncestorStatus["Descendant"] = 1] = "Descendant";
|
|
10
12
|
AncestorStatus[AncestorStatus["NoCommonAncenstor"] = 2] = "NoCommonAncenstor";
|
|
11
13
|
AncestorStatus[AncestorStatus["BlockUnknown"] = 3] = "BlockUnknown";
|
|
12
14
|
})(AncestorStatus || (AncestorStatus = {}));
|
|
15
|
+
export { NotReorgedReason };
|
|
13
16
|
// Reason for not proposer boost reorging
|
|
14
|
-
|
|
17
|
+
var NotReorgedReason;
|
|
15
18
|
(function (NotReorgedReason) {
|
|
16
19
|
NotReorgedReason["HeadBlockIsTimely"] = "headBlockIsTimely";
|
|
17
20
|
NotReorgedReason["ParentBlockNotAvailable"] = "parentBlockNotAvailable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"SAmCY,eAAe;AAA3B,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,2DAAW,CAAA;IACX,6DAAY,CAAA;AAAC,CACf,EAHY,eAAe,KAAf,eAAe,QAG1B;SAEW,cAAc;AAA1B,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uEAAc,CAAA;IACd,+DAAU,CAAA;IACV,6EAAiB,CAAA;IACjB,mEAAY,CAAA;AAAC,CACf,EALY,cAAc,KAAd,cAAc,QAKzB;SASW,gBAAgB;AAD5B,yCAAyC;AACzC,IAAY,gBAgBX;AAhBD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,uEAAmD,CAAA;IACnD,6EAAyD,CAAA;IACzD,6DAAyC,CAAA;IACzC,2DAAuC,CAAA;IACvC,+DAA2C,CAAA;IAC3C,6FAAyE,CAAA;IACzE,iEAA6C,CAAA;IAC7C,uEAAmD,CAAA;IACnD,yDAAqC,CAAA;IACrC,iEAA6C,CAAA;IAC7C,6DAAyC,CAAA;IACzC,mEAA+C,CAAA;IAC/C,mEAA+C,CAAA;IAC/C,uCAAmB,CAAA;AAAC,CAAC,EAfX,gBAAgB,KAAhB,gBAAgB,QAgB3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeBlocks.js","sourceRoot":"","sources":["../../src/forkChoice/safeBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAI/C;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAe;
|
|
1
|
+
{"version":3,"file":"safeBlocks.js","sourceRoot":"","sources":["../../src/forkChoice/safeBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAI/C;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAe,EAAQ;IAC5D,OAAO,EAAE,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC;AAAA,CACzC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAuB,EAAW;IAC1E,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC,yBAAyB,IAAI,aAAa,CAAC;AAAA,CAClF"}
|